dc3dd-7.1.614/0000755000175000017500000000000011613550425012441 5ustar amedicoamedicodc3dd-7.1.614/.x-po-check0000644000175000017500000000007111023311746014372 0ustar amedicoamedicoChangeLog(-[0-9]+)?$ ^old/ ^src/c99-to-c98\.diff$ ^gl/.* dc3dd-7.1.614/GNUmakefile0000644000175000017500000000625211064230667014523 0ustar amedicoamedico# Having a separate GNUmakefile lets me `include' the dynamically # generated rules created via cfg.mk (package-local configuration) # as well as maint.mk (generic maintainer rules). # This makefile is used only if you run GNU Make. # It is necessary if you want to build targets usually of interest # only to the maintainer. # Copyright (C) 2001, 2003, 2006-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Systems where /bin/sh is not the default shell need this. The $(shell) # command below won't work with e.g. stock DOS/Windows shells. ifeq ($(wildcard /bin/s[h]),/bin/sh) SHELL = /bin/sh else # will be used only with the next shell-test line, then overwritten # by a configured-in value SHELL = sh endif # If the user runs GNU make but has not yet run ./configure, # give them a diagnostic. _have-Makefile := $(shell test -f Makefile && echo yes) ifeq ($(_have-Makefile),yes) # Make tar archive easier to reproduce. export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner include Makefile # Some projects override e.g., _autoreconf here. -include $(srcdir)/cfg.mk include $(srcdir)/maint.mk # Allow cfg.mk to override these. _build-aux ?= build-aux _autoreconf ?= autoreconf # Ensure that $(VERSION) is up to date for dist-related targets, but not # for others: rerunning autoreconf and recompiling everything isn't cheap. _have-git-version-gen := \ $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes) ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL)) _is-dist-target = $(filter-out %clean, \ $(filter maintainer-% dist% alpha beta major,$(MAKECMDGOALS))) ifneq (,$(_is-dist-target)) _curr-ver := $(shell cd $(srcdir) && ./$(_build-aux)/git-version-gen \ $(srcdir)/.tarball-version) ifneq ($(_curr-ver),$(VERSION)) $(info INFO: running autoreconf for new version string: $(_curr-ver)) _dummy := $(shell cd $(srcdir) && rm -rf autom4te.cache .version \ && $(_autoreconf)) endif endif endif else .DEFAULT_GOAL := abort-due-to-no-makefile srcdir = . # The package can override .DEFAULT_GOAL to run actions like autoreconf. -include ./cfg.mk include ./maint.mk ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) $(MAKECMDGOALS): abort-due-to-no-makefile endif abort-due-to-no-makefile: @echo There seems to be no Makefile in this directory. 1>&2 @echo "You must run ./configure before running \`make'." 1>&2 @exit 1 endif # Tell version 3.79 and up of GNU make to not build goals in this # directory in parallel. This is necessary in case someone tries to # build multiple targets on one command line. .NOTPARALLEL: dc3dd-7.1.614/.version0000644000175000017500000000001011613550425014116 0ustar amedicoamedico7.1.614 dc3dd-7.1.614/maint.mk0000644000175000017500000006566011064230667014122 0ustar amedicoamedico# -*-Makefile-*- # This Makefile fragment tries to be general-purpose enough to be # used by at least coreutils, idutils, CPPI, Bison, and Autoconf. ## Copyright (C) 2001-2008 Free Software Foundation, Inc. ## ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . # This is reported not to work with make-3.79.1 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) ME := maint.mk # Do not save the original name or timestamp in the .tar.gz file. # Use --rsyncable if available. gzip_rsyncable := \ $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null && echo --rsyncable) GZIP_ENV = '--no-name --best $(gzip_rsyncable)' GIT = git VC = $(GIT) VC-tag = git tag -s -m '$(VERSION)' VC_LIST = build-aux/vc-list-files VC_LIST_EXCEPT = \ $(VC_LIST) | if test -f .x-$@; then grep -vEf .x-$@; else grep -v ChangeLog; fi ifeq ($(origin prev_version_file), undefined) prev_version_file = $(srcdir)/.prev-version endif PREV_VERSION := $(shell cat $(prev_version_file)) VERSION_REGEXP = $(subst .,\.,$(VERSION)) PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION)) ifeq ($(VC),$(GIT)) this-vc-tag = v$(VERSION) this-vc-tag-regexp = v$(VERSION_REGEXP) else tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]') tag-this-version = $(subst .,_,$(VERSION)) this-vc-tag = $(tag-package)-$(tag-this-version) this-vc-tag-regexp = $(this-vc-tag) endif my_distdir = $(PACKAGE)-$(VERSION) # Old releases are stored here. release_archive_dir ?= ../release # Prevent programs like 'sort' from considering distinct strings to be equal. # Doing it here saves us from having to set LC_ALL elsewhere in this file. export LC_ALL = C ## --------------- ## ## Sanity checks. ## ## --------------- ## # Collect the names of rules starting with `sc_'. syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \ $(srcdir)/$(ME)) .PHONY: $(syntax-check-rules) local-checks-available = \ po-check copyright-check m4-check author_mark_check \ patch-check strftime-check $(syntax-check-rules) \ makefile_path_separator_check \ makefile-check check-AUTHORS .PHONY: $(local-checks-available) local-check := $(filter-out $(local-checks-to-skip), $(local-checks-available)) syntax-check: $(local-check) # @grep -nE '# *include <(limits|std(def|arg|bool))\.h>' \ # $$(find -type f -name '*.[chly]') && \ # { echo '$(ME): found conditional include' 1>&2; \ # exit 1; } || : # grep -nE '^# *include <(string|stdlib)\.h>' \ # $(srcdir)/{lib,src}/*.[chy] && \ # { echo '$(ME): FIXME' 1>&2; \ # exit 1; } || : # FIXME: don't allow `#include .strings\.h' anywhere sc_avoid_if_before_free: @$(srcdir)/build-aux/useless-if-before-free \ $(useless_free_options) \ $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): found useless "if" before "free" above' 1>&2; \ exit 1; } || : sc_cast_of_argument_to_free: @grep -nE '\&2; \ exit 1; } || : sc_cast_of_x_alloc_return_value: @grep -nE '\*\) *x(m|c|re)alloc\>' $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): don'\''t cast x*alloc return value' 1>&2; \ exit 1; } || : sc_cast_of_alloca_return_value: @grep -nE '\*\) *alloca\>' $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): don'\''t cast alloca return value' 1>&2; \ exit 1; } || : sc_space_tab: @grep -n '[ ] ' $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \ 1>&2; exit 1; } || : # Don't use *scanf or the old ato* functions in `real' code. # They provide no error checking mechanism. # Instead, use strto* functions. sc_prohibit_atoi_atof: @grep -nE '\<([fs]?scanf|ato([filq]|ll))\>' $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): do not use *scan''f, ato''f, ato''i, ato''l, ato''ll, ato''q, or ss''canf' \ 1>&2; exit 1; } || : # Use STREQ rather than comparing strcmp == 0, or != 0. sc_prohibit_strcmp: @grep -nE '! *str''cmp *\(|\&2; exit 1; } || : # Using EXIT_SUCCESS as the first argument to error is misleading, # since when that parameter is 0, error does not exit. Use `0' instead. sc_error_exit_success: @grep -nF 'error (EXIT_SUCCESS,' \ $$(find -type f -name '*.[chly]') && \ { echo '$(ME): found error (EXIT_SUCCESS' 1>&2; \ exit 1; } || : sc_file_system: @grep -ni 'file''system' $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): found use of "file''system";' \ 'rewrite to use "file system"' 1>&2; \ exit 1; } || : # Don't use cpp tests of this symbol. All code assumes config.h is included. sc_no_have_config_h: @grep -n '^# *if.*HAVE''_CONFIG_H' $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): found use of HAVE''_CONFIG_H; remove' \ 1>&2; exit 1; } || : # Nearly all .c files must include . sc_require_config_h: @if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \ grep -L '^# *include ' \ $$($(VC_LIST_EXCEPT) | grep '\.c$$') \ | grep . && \ { echo '$(ME): the above files do not include ' \ 1>&2; exit 1; } || :; \ else :; \ fi # To use this "command" macro, you must first define two shell variables: # h: the header, enclosed in <> or "" # re: a regular expression that matches IFF something provided by $h is used. define _header_without_use h_esc=`echo "$$h"|sed 's/\./\\./'`; \ if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \ files=$$(grep -l '^# *include '"$$h_esc" \ $$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \ grep -LE "$$re" $$files | grep . && \ { echo "$(ME): the above files include $$h but don't use it" \ 1>&2; exit 1; } || :; \ else :; \ fi endef # Prohibit the inclusion of assert.h without an actual use of assert. sc_prohibit_assert_without_use: @h='' re='\' \ $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): do not use HAVE''_FCNTL_H or O''_NDELAY' \ 1>&2; exit 1; } || : # FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ # Each nonempty line must start with a year number, or a TAB. sc_changelog: @grep -n '^[^12 ]' $$(find . -maxdepth 2 -name ChangeLog) && \ { echo '$(ME): found unexpected prefix in a ChangeLog' 1>&2; \ exit 1; } || : # Ensure that dd's definition of LONGEST_SYMBOL stays in sync # with the strings from the two affected variables. dd_c = $(srcdir)/src/dd.c sc_dd_max_sym_length: ifneq ($(wildcard $(dd_c)),) @len=$$( (sed -n '/conversions\[\] =$$/,/^};/p' $(dd_c);\ sed -n '/flags\[\] =$$/,/^};/p' $(dd_c) ) \ |sed -n '/"/s/^[^"]*"\([^"]*\)".*/\1/p' \ | wc --max-line-length); \ max=$$(sed -n '/^#define LONGEST_SYMBOL /s///p' $(dd_c) \ |tr -d '"' | wc --max-line-length); \ if test "$$len" = "$$max"; then :; else \ echo 'dd.c: LONGEST_SYMBOL is not longest' 1>&2; \ exit 1; \ fi endif # Many m4 macros names once began with `jm_'. # On 2004-04-13, they were all changed to start with gl_ instead. # Make sure that none are inadvertently reintroduced. sc_prohibit_jm_in_m4: @grep -nE 'jm_[A-Z]' \ $$($(VC_LIST) m4 |grep '\.m4$$'; echo /dev/null) && \ { echo '$(ME): do not use jm_ in m4 macro names' \ 1>&2; exit 1; } || : # Ensure that each root-requiring test is run via the "check-root" rule. sc_root_tests: @if test -d tests \ && grep check-root tests/Makefile.am>/dev/null 2>&1; then \ t1=sc-root.expected; t2=sc-root.actual; \ grep -nl '^require_root_$$' \ $$($(VC_LIST) tests) |sed s,tests/,, |sort > $$t1; \ sed -n '/^root_tests =[ ]*\\$$/,/[^\]$$/p' \ $(srcdir)/tests/Makefile.am \ | sed 's/^ *//;/^root_tests =/d' \ | tr -s '\012\\' ' ' | fmt -1 | sort > $$t2; \ diff -u $$t1 $$t2 || diff=1; \ rm -f $$t1 $$t2; \ test "$$diff" \ && { echo 'tests/Makefile.am: missing check-root action'>&2; \ exit 1; } || :; \ fi headers_with_interesting_macro_defs = \ exit.h \ fcntl_.h \ fnmatch_.h \ intprops.h \ inttypes_.h \ lchown.h \ openat.h \ stat-macros.h \ stdint_.h # Create a list of regular expressions matching the names # of macros that are guaranteed by parts of gnulib to be defined. .re-defmac: @(cd $(srcdir)/lib; \ for f in $(headers_with_interesting_macro_defs); do \ test -f $$f && \ sed -n '/^# *define \([^_ (][^ (]*\)[ (].*/s//\1/p' $$f; \ done; \ ) | sort -u \ | grep -Ev 'ATTRIBUTE_NORETURN|SIZE_MAX' \ | sed 's/^/^# *define /' \ > $@-t @mv $@-t $@ # Don't define macros that we already get from gnulib header files. sc_always_defined_macros: .re-defmac @if test -f $(srcdir)/src/system.h; then \ trap 'rc=$$?; rm -f .re-defmac; exit $$rc' 0 1 2 3 15; \ grep -f .re-defmac $$($(VC_LIST)) \ && { echo '$(ME): define the above via some gnulib .h file' \ 1>&2; exit 1; } || :; \ fi # Create a list of regular expressions matching the names # of files included from system.h. Exclude a couple. .re-list: @sed -n '/^# *include /s///p' $(srcdir)/src/system.h \ | grep -Ev 'sys/(param|file)\.h' \ | sed 's/ .*//;;s/^["<]/^# *include [<"]/;s/\.h[">]$$/\\.h[">]/' \ > $@-t @mv $@-t $@ # Files in src/ should not include directly any of # the headers already included via system.h. sc_system_h_headers: .re-list @if test -f $(srcdir)/src/system.h; then \ trap 'rc=$$?; rm -f .re-list; exit $$rc' 0 1 2 3 15; \ grep -nE -f .re-list \ $$($(VC_LIST) src | \ grep -Ev '((copy|system)\.h|parse-gram\.c)$$') \ && { echo '$(ME): the above are already included via system.h'\ 1>&2; exit 1; } || :; \ fi # Require that the final line of each test-lib.sh-using test be this one: # (exit $fail); exit $fail # Note: this test requires GNU grep's --label= option. sc_require_test_exit_idiom: @if test -f $(srcdir)/tests/test-lib.sh; then \ die=0; \ for i in $$(grep -l -F /../test-lib.sh $$($(VC_LIST) tests)); do \ tail -n1 $$i | grep '^(exit \$$fail); exit \$$fail$$' > /dev/null \ && : || { die=1; echo $$i; } \ done; \ test $$die = 1 && \ { echo 1>&2 '$(ME): the final line in each of the above is not:'; \ echo 1>&2 '(exit $$fail); exit $$fail'; \ exit 1; } || :; \ fi sc_sun_os_names: @grep -nEi \ 'solaris[^[:alnum:]]*2\.(7|8|9|[1-9][0-9])|sunos[^[:alnum:]][6-9]' \ $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): found misuse of Sun OS version numbers' 1>&2; \ exit 1; } || : sc_the_the: @grep -ni '\' $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): found use of "the ''the";' 1>&2; \ exit 1; } || : sc_tight_scope: $(MAKE) -C src $@ sc_trailing_blank: @grep -n '[ ]$$' $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): found trailing blank(s)' \ 1>&2; exit 1; } || : # Match lines like the following, but where there is only one space # between the options and the description: # -D, --all-repeated[=delimit-method] print all duplicate lines\n longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? sc_two_space_separator_in_usage: @grep -nE '^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ $$($(VC_LIST_EXCEPT)) && \ { echo "$(ME): help2man requires at least two spaces between"; \ echo "$(ME): an option and its description"; \ 1>&2; exit 1; } || : # Look for diagnostics that aren't marked for translation. # This won't find any for which error's format string is on a separate line. sc_unmarked_diagnostics: @grep -nE \ '\&2; \ exit 1; } || : # Avoid useless parentheses like those in this example: # #if defined (SYMBOL) || defined (SYM2) sc_useless_cpp_parens: @grep -n '^# *if .*defined *(' $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): found useless parentheses in cpp directive' \ 1>&2; exit 1; } || : # Require the latest GPL. sc_GPL_version: @grep -n 'either ''version [^3]' $$($(VC_LIST_EXCEPT)) && \ { echo '$(ME): GPL vN, N!=3' 1>&2; exit 1; } || : exec_perl_re = \ exec \$$PERL -w -I\$$top_srcdir/tests -MCoreutils \ -M"CuTmpdir qw(\$$me)" -- - <<\\EOF # Ensure that each test invoking $PERL with -MCoreutils uses the same line. sc_perl_coreutils_test: @if test -f $(srcdir)/tests/Coreutils.pm; then \ die=0; \ for i in $$(grep -l '^exec *\$$PERL.*MCoreutils' \ $$($(VC_LIST) tests)); do \ grep '$(exec_perl_re)' $$i > /dev/null \ && : || { die=1; echo $$i; } \ done; \ test $$die = 1 && \ { echo 1>&2 '$(ME): each of the above execs PERL differently:'; \ echo 1>&2 '(exit $$fail); exit $$fail'; \ exit 1; } || :; \ fi NEWS_hash = \ $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p' \ $(srcdir)/NEWS | md5sum -) # Ensure that we don't accidentally insert an entry into an old NEWS block. sc_immutable_NEWS: @if test -f $(srcdir)/NEWS; then \ test "$(NEWS_hash)" = '$(old_NEWS_hash)' && : || \ { echo '$(ME): you have modified old NEWS' 1>&2; exit 1; }; \ fi # Update the hash stored above. Do this after each release and # for any corrections to old entries. update-NEWS-hash: NEWS perl -pi -e 's/^(old_NEWS_hash = ).*/$${1}'"$(NEWS_hash)/" \ $(srcdir)/cfg.mk # Ensure that the c99-to-c89 patch applies cleanly. patch-check: rm -rf src-c89 $@.1 $@.2 cp -a src src-c89 (cd src-c89; patch -p1 -V never --fuzz=0) < src/c99-to-c89.diff \ > $@.1 2>&1 if test "$$REGEN_PATCH" = yes; then \ diff -upr src src-c89 | sed 's,src-c89/,src/,' \ | grep -v '^Only in' > new-diff || : ; fi grep -v '^patching file ' $@.1 > $@.2 || : msg=ok; test -s $@.2 && msg='fuzzy patch' || : ; \ rm -f src-c89/*.o || msg='rm failed'; \ $(MAKE) -C src-c89 CFLAGS='-Wdeclaration-after-statement -Werror' \ || msg='compile failure with extra options'; \ test "$$msg" = ok && rm -rf src-c89 $@.1 $@.2 || echo "$$msg" 1>&2; \ test "$$msg" = ok # Ensure that date's --help output stays in sync with the info # documentation for GNU strftime. The only exception is %N, # which date accepts but GNU strftime does not. extract_char = sed 's/^[^%][^%]*%\(.\).*/\1/' strftime-check: if test -f $(srcdir)/src/date.c; then \ grep '^ %. ' $(srcdir)/src/date.c | sort \ | $(extract_char) > $@-src; \ { echo N; \ info libc date calendar format | grep '^ `%.'\' \ | $(extract_char); } | sort > $@-info; \ diff -u $@-src $@-info || exit 1; \ rm -f $@-src $@-info; \ fi check-AUTHORS: $(MAKE) -C src $@ # Ensure that we use only the standard $(VAR) notation, # not @...@ in Makefile.am, now that we can rely on automake # to emit a definition for each substituted variable. makefile-check: grep -nE '@[A-Z_0-9]+@' `find . -name Makefile.am` \ && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || : news-date-check: NEWS today=`date +%Y-%m-%d`; \ if head NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \ >/dev/null; then \ :; \ else \ echo "version or today's date is not in NEWS" 1>&2; \ exit 1; \ fi changelog-check: if head ChangeLog | grep 'Version $(VERSION_REGEXP)\.$$' \ >/dev/null; then \ :; \ else \ echo "$(VERSION) not in ChangeLog" 1>&2; \ exit 1; \ fi m4-check: @grep -n 'AC_DEFUN([^[]' m4/*.m4 \ && { echo '$(ME): quote the first arg to AC_DEFUN' 1>&2; \ exit 1; } || : # Verify that all source files using _() are listed in po/POTFILES.in. # FIXME: don't hard-code file names below; use a more general mechanism. po-check: if test -f po/POTFILES.in; then \ grep -E -v '^(#|$$)' po/POTFILES.in \ | grep -v '^src/false\.c$$' | sort > $@-1; \ files=; \ for file in $$($(VC_LIST_EXCEPT)) lib/*.[ch]; do \ case $$file in \ djgpp/* | man/*) continue;; \ */c99-to-c89.diff) continue;; \ esac; \ case $$file in \ *.[ch]) \ base=`expr " $$file" : ' \(.*\)\..'`; \ { test -f $$base.l || test -f $$base.y; } && continue;; \ esac; \ files="$$files $$file"; \ done; \ grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files \ | sort -u > $@-2; \ diff -u $@-1 $@-2 || exit 1; \ rm -f $@-1 $@-2; \ fi # In a definition of #define AUTHORS "... and ..." where the RHS contains # the English word `and', the string must be marked with `N_ (...)' so that # gettext recognizes it as a string requiring translation. author_mark_check: @grep -n '^# *define AUTHORS "[^"]* and ' src/*.c |grep -v ' N_ (' && \ { echo '$(ME): enclose the above strings in N_ (...)' 1>&2; \ exit 1; } || : # Sometimes it is useful to change the PATH environment variable # in Makefiles. When doing so, it's better not to use the Unix-centric # path separator of `:', but rather the automake-provided `@PATH_SEPARATOR@'. # It'd be better to use `find -print0 ...|xargs -0 ...', but less portable, # and there probably aren't many projects with so many Makefile.am files # that we'd have to worry about limits on command line length. msg = '$(ME): Do not use `:'\'' above; use @PATH_SEPARATOR@ instead' makefile_path_separator_check: @grep -n 'PATH=.*:' `find $(srcdir) -name Makefile.am` \ && { echo $(msg) 1>&2; exit 1; } || : # Check that `make alpha' will not fail at the end of the process. writable-files: if test -d $(release_archive_dir); then :; else \ for file in $(distdir).tar.gz \ $(release_archive_dir)/$(distdir).tar.gz; do \ test -e $$file || continue; \ test -w $$file \ || { echo ERROR: $$file is not writable; fail=1; }; \ done; \ test "$$fail" && exit 1 || : ; \ fi v_etc_file = lib/version-etc.c sample-test = tests/sample-test texi = doc/$(PACKAGE).texi # Make sure that the copyright date in $(v_etc_file) is up to date. # Do the same for the $(sample-test) and the main doc/.texi file. copyright-check: @if test -f $(v_etc_file); then \ grep 'enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' $(v_etc_file) \ >/dev/null \ || { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \ exit 1; }; \ fi @if test -f $(sample-test); then \ grep '# Copyright (C) '$$(date +%Y)' Free' $(sample-test) \ >/dev/null \ || { echo 'out of date copyright in $(sample-test); update it' 1>&2; \ exit 1; }; \ fi @if test -f $(texi); then \ grep 'Copyright @copyright{} .*'$$(date +%Y)' Free' $(texi) \ >/dev/null \ || { echo 'out of date copyright in $(texi); update it' 1>&2; \ exit 1; }; \ fi vc-diff-check: $(VC) diff > vc-diffs || : if test -s vc-diffs; then \ cat vc-diffs; \ echo "Some files are locally modified:" 1>&2; \ exit 1; \ else \ rm vc-diffs; \ fi cvs-check: vc-diff-check maintainer-distcheck: $(MAKE) distcheck $(MAKE) my-distcheck # Don't make a distribution if checks fail. # Also, make sure the NEWS file is up-to-date. vc-dist: $(local-check) cvs-check maintainer-distcheck $(MAKE) dist # Use this to make sure we don't run these programs when building # from a virgin tgz file, below. null_AM_MAKEFLAGS = \ ACLOCAL=false \ AUTOCONF=false \ AUTOMAKE=false \ AUTOHEADER=false \ MAKEINFO=false built_programs = $$(cd src && MAKEFLAGS= $(MAKE) -s built_programs.list) warn_cflags = -Dlint -O -Werror -Wall -Wformat -Wshadow -Wpointer-arith bin=bin-$$$$ write_loser = printf '\#!%s\necho $$0: bad path 1>&2; exit 1\n' '$(SHELL)' TMPDIR ?= /tmp t=$(TMPDIR)/$(PACKAGE)/test pfx=$(t)/i # Verify that a twisted use of --program-transform-name=PROGRAM works. define install-transform-check rm -rf $(pfx); \ $(MAKE) program_transform_name='s/.*/zyx/' \ prefix=$(pfx) install \ && test "$$(echo $(pfx)/bin/*)" = "$(pfx)/bin/zyx" \ && test "$$(echo $(pfx)/share/man/man1/*)" = \ "$(pfx)/share/man/man1/zyx.1" endef # Install, then verify that all binaries and man pages are in place. # Note that neither the binary, ginstall, nor the ].1 man page is installed. define my-instcheck $(MAKE) prefix=$(pfx) install \ && test ! -f $(pfx)/bin/ginstall \ && { fail=0; \ for i in $(built_programs); do \ test "$$i" = ginstall && i=install; \ for j in "$(pfx)/bin/$$i" \ "$(pfx)/share/man/man1/$$i.1"; do \ case $$j in *'[.1') continue;; esac; \ test -f "$$j" && : \ || { echo "$$j not installed"; fail=1; }; \ done; \ done; \ test $$fail = 1 && exit 1 || :; \ } endef # Use -Wformat -Werror to detect format-string/arg-list mismatches. # Also, check for shadowing problems with -Wshadow, and for pointer # arithmetic problems with -Wpointer-arith. # These CFLAGS are pretty strict. If you build this target, you probably # have to have a recent version of gcc and glibc headers. # The hard-linking for-loop below ensures that there is a bin/ directory # full of all of the programs under test (except the ones that are required # for basic Makefile rules), all symlinked to the just-built "false" program. # This is to ensure that if ever a test neglects to make PATH include # the build srcdir, these always-failing programs will run. # Otherwise, it is too easy to test the wrong programs. # Note that "false" itself is a symlink to true, so it too will malfunction. my-distcheck: $(DIST_ARCHIVES) $(local-check) check -rm -rf $(t) mkdir -p $(t) GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz cd $(t)/$(distdir) \ && ./configure --disable-nls \ && $(MAKE) CFLAGS='$(warn_cflags)' \ AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)' \ && $(MAKE) dvi \ && $(install-transform-check) \ && $(my-instcheck) \ && mkdir $(bin) \ && ($(write_loser)) > $(bin)/loser \ && chmod a+x $(bin)/loser \ && for i in $(built_programs); do \ case $$i in \ rm|expr|basename|echo|sort|ls|tr);; \ cat|dirname|mv|wc);; \ *) ln $(bin)/loser $(bin)/$$i;; \ esac; \ done \ && ln -sf ../src/true $(bin)/false \ && PATH=`pwd`/$(bin):$$PATH $(MAKE) -C tests check \ && { test -d gnulib-tests \ && $(MAKE) -C gnulib-tests check \ || :; } \ && rm -rf $(bin) \ && $(MAKE) distclean (cd $(t) && mv $(distdir) $(distdir).old \ && $(AMTAR) -zxf - ) < $(distdir).tar.gz diff -ur $(t)/$(distdir).old $(t)/$(distdir) if test -f $(srcdir)/src/c99-to-c89.diff; then \ cd $(t)/$(distdir) \ && (cd src && patch -V never --fuzz=0 $$md5_tmp; \ md5sum -c $$md5_tmp < $$tarz rel-files = $(DIST_ARCHIVES) gnulib-version = $$(cd $(gnulib_dir) && git describe) announcement: NEWS ChangeLog $(rel-files) @./build-aux/announce-gen \ --release-type=$(RELEASE_TYPE) \ --package=$(PACKAGE) \ --prev=$(PREV_VERSION) \ --curr=$(VERSION) \ --gpg-key-id=$(gpg_key_ID) \ --news=NEWS \ --bootstrap-tools=autoconf,automake,bison,gnulib \ --gnulib-version=$(gnulib-version) \ $(addprefix --url-dir=, $(url_dir_list)) ## ---------------- ## ## Updating files. ## ## ---------------- ## ftp-gnu = ftp://ftp.gnu.org/gnu www-gnu = http://www.gnu.org # Use mv, if you don't have/want move-if-change. move_if_change ?= move-if-change emit_upload_commands: @echo ===================================== @echo ===================================== @echo "$(srcdir)/build-aux/gnupload $(GNUPLOADFLAGS) \\" @echo " --to $(gnu_rel_host):$(PACKAGE) \\" @echo " $(rel-files)" @echo '# send the /tmp/announcement e-mail' @echo ===================================== @echo ===================================== .PHONY: alpha beta major alpha beta major: $(local-check) writable-files test $@ = major \ && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \ || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\ || : $(MAKE) vc-dist $(MAKE) news-date-check $(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir) if test -d $(release_archive_dir); then \ ln $(rel-files) $(release_archive_dir); \ chmod a-w $(rel-files); \ fi $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@ echo $(VERSION) > $(prev_version_file) $(VC) commit -m \ '$(prev_version_file): Record previous version: $(VERSION).' \ $(prev_version_file) dc3dd-7.1.614/THANKS0000644000175000017500000007613511064230667013373 0ustar amedicoamedicoThese people have contributed to the GNU coreutils (formerly, the fileutils, textutils, and/or sh-utils packages). Some have reported problems, others have contributed improvements to the documentation, actual code, and even complete programs. Those contributions are described in the ChangeLog files. If your name has been left out, if you'd rather not be listed, or if you'd prefer a different address be used, please send a note to the bug-report mailing list (as seen on last line of e.g., cp --help). ??? kytek@cybercomm.net A Costa agcosta@gis.net Aaron Hawley ashawley@uvm.edu Achim Blumensath blume@corona.oche.de Adam Klein aklein@debian.org Adrian Bunk bunk@stusta.de AIDA Shinra shinra@j10n.org Akim Demaille demaille@inf.enst.fr Alain Magloire alain@qnx.com Alan Iwi iwi@atm.ox.ac.uk Albert Chin-A-Young china@thewrittenword.com Albert Hopkins ahopkins@dynacare.com Alberto Accomazzi alberto@cfa0.harvard.edu aldomel aldomel@ix.netcom.com Alen Muzinic zveki@fly.cc.fer.hr Allen Hewes allen@decisiv.net Axel Dörfler axeld@pinc-software.de Alexandre Duret-Lutz duret_g@epita.fr Alexey Solovyov alekso@math.uu.se Alexey Vyskubov alexey@pippuri.mawhrin.net Alfred M. Szmidt ams@kemisten.nu Andi Kleen freitag@alancoxonachip.com Andre Novaes Cunha Andre.Cunha@br.global-one.net Andreas Frische andreasfrische@gmail.com Andreas Gruenbacher ag@bestbits.at Andreas Jaeger jaeger@gnu.org Andreas Luik luik@isa.de Andreas Schwab schwab@suse.de Andreas Stolcke stolcke@ICSI.Berkeley.EDU Andrei Gaponenko andr@triumf.ca Andres Soolo andres@soolo.matti.ee Andrew Burgess aab@cichlid.com Andrew Dalke dalke@bioreason.com Andrew Fabbro andrew@fabbro.org Andrew Pham andpha@us.ibm.com Andrew Tridgell tridge@samba.org Andrey Borzenkov arvidjaar@mail.ru Andries Brouwer Andries.Brouwer@cwi.nl Andy Longton alongton@metamark.com Anthony Thyssen anthony@griffith.edu.au Antonio Rendas ajrendas@yahoo.com Ariel Faigon ariel@cthulhu.engr.sgi.com Arne H. Juul arnej@solan.unit.no Arne Henrik Juul arnej@imf.unit.no Arnold Robbins arnold@skeeve.com Arthur Pool pool@commerce.uq.edu.au Arun Sharma arun.sharma@intel.com Arvind Autar Autar022@planet.nl Augey Mikus mikus@dqc.org Aurelien Jarno aurel32@debian.org Austin Donnelly Austin.Donnelly@cl.cam.ac.uk Axel Kittenberger Anshil@gmx.net Bauke Jan Douma bjdouma@xs4all.nl Ben Elliston bje@air.net.au Ben Harris bjh21@netbsd.org Benjamin Cutler cutlerbc@simla.colostate.edu Bengt Martensson bengt@mathematik.uni-Bremen.de Bernard Giroud bernard.giroud@creditlyonnais.ch Bernd Eckenfels ecki@debian.org Bernd Leibing bernd.leibing@rz.uni-ulm.de Bernd Melchers melchers@cis.fu-berlin.de Bernhard Baehr bernhard.baehr@gmx.de Bernhard Gabler bernhard@uni-koblenz.de Bernhard Rosenkraenzer bero@redhat.de Bert Deknuydt Bert.Deknuydt@esat.kuleuven.ac.be Bert Wesarg bert.wesarg@googlemail.com Bill Peters peters@gaffel.as.arizona.edu Bjorn Helgaas helgaas@rsn.hp.com Bob McCracken kerouac@ravenet.com Bob Proulx rwp@fc.hp.com Branden Robinson branden@necrotic.deadbeast.net Brendan O'Dea bod@compusol.com.au Brian Kimball bfk@footbag.org Brian Youmans 3diff@gnu.org Bruce Korb bkorb@veritas.com Bruce Robertson brucer@theodolite.dyndns.org Bruno Haible haible@clisp.cons.org Carl Johnson carlj@cjlinux.home.org Carl Lowenstein cdl@mpl.UCSD.EDU Carlos Canau Carlos.Canau@relay.puug.pt Charles Karney karney@pppl.gov Charles Randall crandall@matchlogic.com Chip Salzenberg chip@valinux.com Chris Faylor cgf@cygnus.com Chris J. Bednar cjb@AdvancedDataSolutions.com Chris Lesniewski ctl@mit.edu Chris Sylvain csylvain@umm.edu Chris Yeo cyeo@biking.org Christi Alice Scarborough christi@chiark.greenend.org.uk Christian Harkort christian.harkort@web.de Christian Krackowizer ckrackowiz@std.schuler-ag.com Christian Rose menthos@menthos.com Christian von Roques roques@pond.sub.org Christophe LYON christophe.lyon@st.com Chuck Hedrick hedrick@klinzhai.rutgers.edu Clark Morgan cmorgan@aracnet.com Clement Wang clem.wang@overture.com Colin Plumb colin@nyx.net Colin Watson cjw44@riva.ucam.org Collin Rogowski collin@rogowski.de Cray-Cyber Project http://www.cray-cyber.org Cristian Cadar cristic@stanford.edu Cyril Bouthors cyril@bouthors.org Dale Scheetz dwarf@polaris.net Dan Hagerty hag@gnu.ai.it.edu Dan Jacobson http://www.geocities.com/jidani Dan Pascu dan@services.iiruc.ro Daniel Bergstrom noa@melody.se Daniel Dunbar ddunbar@stanford.edu Daniel P. Berrangé berrange@redhat.com Dániel Varga danielv@axelero.hu Danny Levinson danny.levinson@overture.com Darrel Francis d.francis@cheerful.com Darren Salt ds@youmustbejoking.demon.co.uk Dave Beckett dajobe@dajobe.org David Alan Gilbert gilbertd@treblig.org David Dyck dcd@tc.fluke.COM David Eisner cradle@umd.edu David Flynn dav@chess.plus.com David Godfrey dave@delta.demon.co.uk David Luyer david_luyer@pacific.net.au David Madore david.madore@ens.fr David Malone dwmalone@cnri.dit.ie Dawson Engler engler@stanford.edu Dean Gaudet dean-savannah@arctic.org Deepak Goel deego@gnufans.org Dennis Henriksen opus@flamingo.osrl.dk Dennis Smit ds@nerds-incorporated.org Derek Clegg dclegg@next.com Dick Streefland dick_streefland@tasking.com Dirk Lattermann dlatt@t-online.de Dirk-Jan Faber djfaber@snow.nl Dmitry Rutsky rutsky@school.ioffe.rssi.ru Dmitry V. Levin ldv@altlinux.org Don Parsons dparsons@synapse.kent.edu Donni Erpel donald@appc11.gsi.de Doug Coleman coleman@iarc1.ece.utexas.edu Doug McLaren dougmc@comco.com Dragos Harabor dharabor@us.oracle.com Duncan Roe duncanr@optimation.com.au Ed Avis ed@membled.com Edward Welbourne eddy@opera.com Edzer Pebesma Edzer.Pebesma@rivm.nl Egmont Koblinger egmont@uhulinux.hu Eirik Fuller eirik@hackrat.com Eivind eivindt@multinet.no Elbert Pol elbert.pol@gmail.com Eli Zaretskii eliz@is.elta.co.il Elias Pipping pipping@gentoo.org Emile LeBlanc leblanc@math.toronto.edu Eric Backus ericb@lsid.hp.com Eric Blake ebb9@byu.net Eric G. Miller egm2@jps.net Eric Pemente pemente@northpark.edu Eric S. Raymond esr@snark.thyrsus.com Erik Bennett bennett@cvo.oneworld.com Erik Corry erik@kroete2.freinet.de Evan Hunt ethanol@armory.com Felix Lee flee@teleport.com Felix Rauch Valenti frauch@cse.unsw.edu.au Ferdinand fw@scenic.mine.nu Fletcher Mattox fletcher@cs.utexas.edu Florent Bayle florent@sarcelle.net Florin Iucha fiucha@hsys.mic.ro Francesco Montorsi fr_m@hotmail.com François Pinard pinard@iro.umontreal.ca Frank Adler fadler@allesklar.de Frank T Lofaro ftlofaro@snooks.Egr.UNLV.EDU Fred Fish fnf@ninemoons.com Frédéric L. W. Meunier 0@pervalidus.net Frederik Eaton frederik@caltech.edu Gabor Z. Papp gzp@gzp.org.hu Gaël Quéri gqueri@mail.dotcom.fr Galen Hazelwood galenh@micron.net Gary Anderson ganderson@clark.net Gary V. Vaughan gary@gnu.org Gaute Hvoslef Kvalnes gaute@verdsveven.com Geoff Collyer geoff at collyer.net Geoff Kuenning geoff@cs.hmc.edu Geoff Odhner geoff@franklin.com Geoff Whale geoffw@cse.unsw.EDU.AU Gerald Pfeifer gerald@pfeifer.com Gerhard Poul gpoul@gnu.org Germano Leichsenring germano@jedi.cs.kobe-u.ac.jp Göran Uddeborg goeran@uddeborg.pp.se Guochun Shi gshi@ncsa.uiuc.edu GOTO Masanori gotom@debian.or.jp Greg Louis glouis@dynamicro.on.ca Greg McGary gkm@gnu.org Greg Schafer gschafer@zip.com.au Greg Troxel gdt@bbn.com Greg Wooledge gawooledge@sherwin.com Gregory Leblanc gleblanc@cu-portland.edu Guido Leenders guido.leenders@invantive.com Guntram Blohm Extern.Guntram.Blohm@AUDI.DE H. J. Lu hjl@valinux.com Hans Ginzel hans@matfyz.cz Hans Lermen lermen@fgan.de Hans Verkuil hans@wyst.hobby.nl Harald Dunkel harald.dunkel@t-online.de Harry Liu rliu@lek.ugcs.caltech.edu Harti Brandt brandt@fokus.fraunhofer.de Harvey Eneman Harvey.Eneman@oracle.com Helen Faulkner helen_ml_faulkner@yahoo.co.uk Herbert Xu herbert@gondor.apana.org.au Holger Berger hberger@ess.nec.de Hon-Yin Kok hkok@yoda.unl.edu Hugh Daniel hugh@xanadu.com Ian Bruce ian.bruce@myrealbox.com Iain Calder ic56@rogers.com Ian Jackson ijackson@chiark.greenend.org.uk Ian Lance Taylor ian@cygnus.com Ian Turner vectro@pipeline.com Iida Yosiaki iida@gnu.org Ingo Saitz ingo@debian.org Ivo Timmermans ivo@debian.org James james@albion.glarp.com James Antill jmanti%essex.ac.uk@seralph21.essex.ac.uk James Lemley James.Lemley@acxiom.com James Hunt jamesodhunt@hotmail.com James Ralston ralston@pobox.com James Sneeringer jvs@ocslink.com James Tanis jtt@soscorp.com James Youngman james+usenet@free-lunch.demon.co.uk Jamie Lokier jamie@imbolc.ucc.ie Jamie McClelland jm@mayfirst.org Jan Fedak J.Fedak@sh.cvut.cz Jan Moringen jan.moringen@uni-bielefeld.de Jan Nieuwenhuizen janneke@gnu.org Janos Farkas chexum@shadow.banki.hu Jarkko Hietaniemi jhi@epsilon.hut.fi Jean Charles Delepine delepine@u-picardie.fr Jeff Moore jbm@mordor.com Jeff Sheinberg jeff@bsrd.net Jens Elkner elkner@imsgroup.de Jens Schmidt jms@jsds.hamburg.com Jeremy Maitin-Shepard jbms@cmu.edu Jerome Abela abela@hsc.fr Jérôme Zago bug-coreutils-ml@agt-the-walker.net Jesse Kornblum kornblum@usna.edu Jesse Thilo jgt2@eecs.lehigh.edu Jie Xu xuj@iag.net Jim Blandy jimb@cyclic.com Jim Dennis jimd@starshine.org Joakim Rosqvist dvljrt@cs.umu.se Jochen Hein jochen@jochen.org Joe Orton joe@manyfish.co.uk Joerg Sonnenberger joerg@britannica.bec.de Joey Hess joeyh@debian.org Johan Boule bohan@bohan.dyndns.org Johan Danielsson joda@pdc.kth.se John Bley jbb6@acpub.duke.edu John David Anglin dave.anglin@nrc.ca John Gatewood Ham zappaman@alphabox.compsci.buu.ac.th John Gotts jgotts@umich.edu John Kendall kendall@capps.com John Kodis kodis@acm.org John Murphy jam@philabs.research.philips.com John Roll john@panic.harvard.edu John Salmon johns@mullet.anu.edu.au John Summerfield summer@OS2.ami.com.au Jon Peatfield J.S.Peatfield@damtp.cam.ac.uk Joost van Baal joostvb@xs4all.nl Jorge Stolfi stolfi@ic.unicamp.br Joseph S. Myers jsm28@cam.ac.uk Joshua Hudson joshudson@gmail.com Josselin Mouette joss@debian.org Juan F. Codagnone juam@arnet.com.ar Juan M. Guerrero st001906@hrz1.hrz.tu-darmstadt.de Jungshik Shin jshin@pantheon.yale.edu Jürgen Fluk louis@dachau.marco.de Jurriaan thunder7@xs4all.nl Justin Pryzby justinpryzby@users.sourceforge.net jvogel jvogel@linkny.com Kai Henningsen kai@debian.org Kai-Uwe Rommel rommel@informatik.tu-muenchen.de Kalle Olavi Niemitalo kon@iki.fi Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu Karl Eichwalder keichwa@gmx.net Karl Heuer kwzh@gnu.org Karl-Michael Schneider schneide@phil.uni-passau.de Karsten Thygesen karthy@kom.auc.dk Kaveh R. Ghazi ghazi@caip.rutgers.edu Keith M. Briggs keith.briggs@bt.com Keith Owens kaos@audio.apana.org.au Keith Thompson kst@cts.com Ken Pizzini kenp@halcyon.com Kevin Mudrick kmudrick@healthmarketscience.com Kirk Kelsey kirk.kelsey@0x4b.net Kristin E Thomas kristint@us.ibm.com Kjetil Torgrim Homme kjetilho@ifi.uio.no Kristoffer Rose kris@diku.dk Larry McVoy lm@sgi.com Lars Hecking lhecking@nmrc.ucc.ie Leah Q eequor@earthlink.net Lehti Rami rammer@cs.tut.fi Leonard N. Zubkoff lnz@dandelion.com Leonardo Milano lmilano@udel.edu Lorne Baker lbaker@nitro.avint.net Luke Hassell lukehassell@yahoo.com Luke Kendall lukekendall@optushome.com.au M. P. Suzuki mpsuzuki@hiroshima-u.ac.jp Maciej Kwapulinski pikpok@univ.gda.pl Manas Garg manas@cygsoft.com Manfred Hollstein manfred@s-direktnet.de Marc Boucher marc@mbsi.ca Marc Haber mh+debian-bugs@zugschlus.de Marc Lehman schmorp@schmorp.de Marc Olzheim marcolz@stack.nl Marco Franzen Marco.Franzen@Thyron.com Marcus Brinkmann http://www.marcus-brinkmann.de Marcus Daniels marcus@ee.pdx.edu Mark A. Thomas thommark@access.digex.net Mark Conty Mark_Conty@cargill.com Mark D. Roth roth@uiuc.edu Mark Funkenhauser mfunkenhauser@rogers.com Mark Harris mark@monitor.designacc.com Mark Hewitt mhewitt@armature.com Mark Hounschell markh@compro.net Mark Hubbart discord@mac.com Mark Kettenis kettenis@phys.uva.nl Mark Melahn mmelahn@gmail.com Mark Nudelman marknu@flash.net Mark W. Eichin eichin@cygnus.com Markus Demleitner msdemlei@auriga.ari.uni-heidelberg.de Martin martin@dresden.nacamar.de Martin Buck martin.buck@ascom.ch Martin Gallant martyg@goodbit.net Martin Hippe martin.hippe@schlund.de Martin Michlmayr tbm@cyrius.com Martin Mitchell martin@debian.org Martin P.J. Zinser zinser@decus.de Marty Leisner leisner@sdsp.mc.xerox.com Masami Takikawa takikawm@CS.ORST.EDU Mate Wierdl mw@moni.msci.memphis.edu Matej Vela mvela@public.srce.hr Matt Kraai kraai@ftbfs.org Matt Perry matt@primefactor.com Matt Schalit mschalit@pacbell.net Matt Swift swift@alum.mit.edu Matthew Arnison maffew@cat.org.au Matthew M. Boedicker matthewm@boedicker.org Matthew Braun matthew@ans.net Matthew Clarke Matthew_Clarke@mindlink.bc.ca Matthew S. Levine mslevine@theory.lcs.mit.edu Matthew Smith matts@bluesguitar.org Matthew Swift swift@alum.mit.edu Matthew Woehlke mw_triad@users.sourceforge.net Matthias Urlichs smurf@noris.de Matti Aarnio matti.aarnio@zmailer.org Mattias Wadenstein maswan@acc.umu.se Meelis Roos mroos@tartu.cyber.ee Michael michael@aplatform.com Michael ??? michael@roka.net Michael Bacarella mbac@netgraft.com> Michael Deutschmann michael@talamasca.ocis.net Michael Elizabeth Chastain mec.gnu@mindspring.com Michael Gaughen mgaughen@polyserve.com Michael Hasselberg mikelh@zonta.ping.de Michael Hohn hohn@math.utah.edu Michael J. Croghan mcroghan@usatoday.com Michael McFarland sidlon@yahoo.com Michael McLagan mmclagan@invlogic.com Michael Piefel piefel@informatik.hu-berlin.de Michael Steffens michael.steffens@s.netic.de Michael Stone mstone@debian.org Michael Stutz stutz@dsl.org Michael van Elst mlelstv@dev.de.cw.net Michael Veksler mveksler@techunix.technion.ac.il Michail Litvak mci@owl.openwall.com Michal Politowski mpol@charybda.icm.edu.pl Michal Svec msvec@suse.cz Michel Robitaille robitail@IRO.UMontreal.CA Michiel Bacchiani bacchian@raven.bu.edu Mike Castle dalgoda@ix.netcom.com Mike Coleman mkc@mathdogs.com Mike Jetzer mjetzer@mke.catalystwms.com Mike Frysinger vapier@gentoo.org Mikko Tuumanen m@sorvankyla.yok.utu.fi Mikulas Patocka mikulas@artax.karlin.mff.cuni.cz Miles Bader miles@gnu.ai.mit.edu Minh Tran-Le tranle@intellicorp.com Morten Welinder terra@diku.dk Neal H Walfield neal@cs.uml.edu Neil Brown neilb@cse.unsw.edu.au Nelson H. F. Beebe beebe@math.utah.edu Nick Estes debian@nickstoys.com Nick Lawes nlawes@silverplatter.com Nickolai Zeldovich nickolai@cs.stanford.edu Nicolas François nicolas.francois@centraliens.net Niklas Edmundsson nikke@acc.umu.se Nikola Milutinovic Nikola.Milutinovic@ev.co.yu Noah Friedman friedman@splode.com Noel Cragg noel@red-bean.com Norbert Kiesel nkiesel@tbdnetworks.com Olatunji Oluwabukunmi Ruwase tjruwase@stanford.edu Olav Morkrid olav@funcom.com Ole Laursen olau@hardworking.dk Oliver Kiddle okiddle@yahoo.co.uk Ørn E. Hansen oehansen@daimi.aau.dk Oskar Liljeblad osk@hem.passagen.se Pádraig Brady P@draigBrady.com Patrick Mauritz oxygene@studentenbude.ath.cx Paul Eggert eggert@twinsun.com Paul Ghaleb paul.ghaleb@st.com Paul Jarc prj@po.cwru.edu Paul Nevai nevai@ops.mps.ohio-state.edu Paul Sauer paul@alexa.com Paul Slootman paul@debian.org Paul Townsend aab@purdue.edu Paul Worrall paul@basilisk.uklinux.net Pawel Prokop pablo@wizard.ae.krakow.pl Per Cederqvist ceder@lysator.liu.se Per Kristian Hove perhov@math.ntnu.no Per Starbäck starback@stp.lingfil.uu.se Peter Breitenlohner peb@mppmu.mpg.de Peter Dyballa peter_dyballa@web.de Peter Eriksson peter@ifm.liu.se Peter Fales psfales@lucent.com Peter Horst peter@ointment.org Peter Moulder reiter@netspace.net.au Peter O'Gorman bug-coreutils@mlists.thewrittenword.com Peter Samuelson psamuels@sampo.creighton.edu Peter Seebach seebs@taniemarie.solon.com Petter Reinholdtsen pere@hungry.com Phelippe Neveu pneveu@pcigeomatics.com Phil Richards phil.richards@vf.vodafone.co.uk Philippe De Muyter phdm@macqel.be Philippe Schnoebelen Philippe.Schnoebelen@imag.fr Phillip Jones mouse@datastacks.com Piergiorgio Sartor sartor@sony.de Pieter Bowman bowman@math.utah.edu Piotr Kwapulinski kwap@univ.gda.pl Prashant TR tr@eth.net Rainer Orth ro@TechFak.Uni-Bielefeld.DE Ralf W. Stephan stephan@tmt.de Ralf Wildenhues Ralf.Wildenhues@gmx.de Ralph Loader loader@maths.ox.ac.uk Raul Miller moth@magenta.com Raúl Núñez de Arenas Coronado raul@pleyades.net Reuben Thomas rrt@sc3d.org Richard A Downing richard.downing@bcs.org.uk Richard Braakman dark@xs4all.nl Richard Dawe rich@phekda.freeserve.co.uk Richard J. Rauenzahn rrauenza@hairball.cup.hp.com Richard Neill rn214@hermes.cam.ac.uk Richard Sharman rsharman@magmacom.com Rick Sladkey jrs@world.std.com Rik Faith faith@cs.unc.edu Risto Kankkunen kankkune@lingsoft.fi Robert H. de Vries robert@and.nl Robert Lindgren robert@orcafat.com Robert Millan zeratul2@wanadoo.es Rogier Wolff R.E.Wolff@BitWizard.nl Roland Huebner ro-huebner@gmx.de Roland Turner raz.tah.bet@raz.cx Ronald F. Guilmette rfg@netcom.com Ross Alexander r.alexander@auckland.ac.nz Ross Paterson rap@doc.ic.ac.uk Ross Ridge rridge@calum.csclub.uwaterloo.ca Rudolf Kastl rkastl@redhat.com Sami Farin sfarin@ratol.fi Samuel Tardieu sam@rfc1149.net Samuel Thibault samuel.thibault@ens-lyon.org Samuli Karkkainen Samuli.Karkkainen@hut.fi Sander van Malssen svm@kozmix.ow.nl Santiago Vila Doncel sanvila@unex.es Savochkin Andrey Vladimirovich saw@msu.ru Scott Lurndal slurn@griffin.engr.sgi.com Sébastien Maret smaret@umich.edu Shing-Shong Shei shei@cs.indiana.edu Soeren Sonnenburg sonnenburg@informatik.hu-berlin.de Solar Designer solar@owl.openwall.com Stanislav Ievlev inger@altlinux.ru Stavros Passas stabat@ics.forth.gr Stéphane Chazelas Stephane_CHAZELAS@yahoo.fr Stephen Depooter sbdep@myrealbox.com Stephen Eglen eglen@pcg.wustl.edu Stephen Gildea gildea@stop.mail-abuse.org Stephen Smoogen smooge@mindspring.com Steve McConnel steve@acadcomp.sil.org Steve McIntyre steve@einval.com Steve Ward planet36@gmail.com Steven G. Johnson stevenj@alum.mit.edu Steven Mocking ufo@quicknet.nl Steven P Watson steven@magelico.net Stuart Kemp skemp@peter.bmc.com Sven Joachim svenjoac@gmx.de Szakacsits Szabolcs szaka@sienet.hu Tadayoshi Funaba tadf@kt.rim.or.jp TAKAI Kousuke takai@vlsi.kuee.kyoto-u.ac.jp Theodore Ts'o tytso@rsts-11.mit.edu The Wanderer inverseparadox@comcast.net Theodoros V. Kalamatianos nyb@users.sourceforge.net Thomas Bushnell thomas@gnu.ai.mit.edu Thomas Goerlich thomas@schnappmatik.de Thomas Hood jdthood@yahoo.co.uk Thomas Luzat thomas@luzat.com Thomas M.Ott thmo-13@gmx.de Thomas Quinot thomas@Cuivre.FR.EU.ORG Thomas Schwinge tschwinge@gnu.org Thomas Wolff mined@towo.net Tim J. Robbins tjr@FreeBSD.org Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu Tim Smithers mouse@dmouse.com.au Tim Waugh twaugh@redhat Toby Peterson toby@opendarwin.org Todd A. Jacobs tjacobs@codegnome.org Tom Haynes thomas@netapp.com Tom Quinn trq@dionysos.thphys.ox.ac.uk Tomas Pospisek tpo@sourcepole.ch Tommi Kyntola tkyntola@cc.hut.fi Ton Hospel thospel@mail.dma.be Ton Nijkes ton@murphy.nl Tony Kocurko akocurko@mun.ca Tony Leneis tony@plaza.ds.adp.com Tony Robinson ajr@eng.cam.ac.uk Toralf Förster toralf.foerster@gmx.de Torbjorn Granlund tege@nada.kth.se Torbjorn Lindgren tl@funcom.no Torsten Landschoff torsten@pclab.ifg.uni-kiel.de Tristan Miller psychonaut@nothingisreal.com Ulrich Drepper drepper@gnu.org Ulrich Hermisson ulrich_hermisson@hotmail.com Urs Thuermann urs@isnogud.escape.de Uwe H. Steinfeld usteinfeld@gmx.net Vesselin Atanasov vesselin@bgnet.bg Vin Shelton acs@alumni.princeton.edu Vineet Chadha chadha@acis.ufl.edu Vitaly A. Ostanin vyt@altlinux.org Vlada Macek tuttle@bbs.fsik.cvut.cz Volker Borchert bt@teknon.de Volker Paul vpaul@dohle.com Wartan Hachaturow wart@tepkom.ru Wayne Stewart wstewa@atl.com Wenjun Zheng zwj@yahoo.com Werner Almesberger Werner.Almesberger@epfl.ch Wichert Akkerman wichert@cistron.nl Will Edgington wedgingt@acm.org William Bader william@nscs.fast.net William Dowling will@franklin.com William Lewis wiml@omnigroup.com wiregauze wiregauze@yahoo.com Wis Macomson wis.macomson@intel.com Wojciech Purczynski cliph@isec.pl Wolfram Kleff kleff@cs.uni-bonn.de Won-kyu Park wkpark@chem.skku.ac.kr Yann Dirson dirson@debian.org Zvi Har'El rl@math.technion.ac.il ;; Local Variables: ;; coding: utf-8 ;; End: dc3dd-7.1.614/.x-sc_require_config_h0000644000175000017500000000104211023311746016675 0ustar amedicoamedico^lib/at-func\.c$ ^lib/bcopy\.c$ ^lib/buffer-lcm\.c$ ^lib/c-strtold\.c$ ^lib/fnmatch_loop\.c$ ^lib/full-read\.c$ ^lib/imaxtostr\.c$ ^lib/mempcpy\.c$ ^lib/memset\.c$ ^lib/offtostr\.c$ ^lib/regcomp\.c$ ^lib/regex_internal\.c$ ^lib/regexec\.c$ ^lib/safe-write\.c$ ^lib/strtoll\.c$ ^lib/strtoul\.c$ ^lib/strtoull\.c$ ^lib/strtoumax\.c$ ^lib/umaxtostr\.c$ ^lib/xstrtold\.c$ ^lib/xstrtoul\.c$ ^src/false\.c$ ^src/lbracket\.c$ ^src/ls-dir\.c$ ^src/ls-ls\.c$ ^src/ls-vdir\.c$ ^src/rand-isaac\.c$ ^src/tac-pipe\.c$ ^src/uname-arch\.c$ ^src/uname-uname\.c$ dc3dd-7.1.614/m4/0000755000175000017500000000000011613550423012757 5ustar amedicoamedicodc3dd-7.1.614/m4/inttypes-pri.m40000644000175000017500000000215211022023316015656 0ustar amedicoamedico# inttypes-pri.m4 serial 4 (gettext-0.16) dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.52) # Define PRI_MACROS_BROKEN if exists and defines the PRI* # macros to non-string values. This is the case on AIX 4.3.3. AC_DEFUN([gt_INTTYPES_PRI], [ AC_CHECK_HEADERS([inttypes.h]) if test $ac_cv_header_inttypes_h = yes; then AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], gt_cv_inttypes_pri_broken, [ AC_TRY_COMPILE([#include #ifdef PRId32 char *p = PRId32; #endif ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) ]) fi if test "$gt_cv_inttypes_pri_broken" = yes; then AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, [Define if exists and defines unusable PRI* macros.]) PRI_MACROS_BROKEN=1 else PRI_MACROS_BROKEN=0 fi AC_SUBST([PRI_MACROS_BROKEN]) ]) dc3dd-7.1.614/m4/fcntl-safer.m40000644000175000017500000000053511022023316015416 0ustar amedicoamedico#serial 5 dnl Copyright (C) 2005-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FCNTL_SAFER], [ AC_LIBOBJ([open-safer]) AC_LIBOBJ([creat-safer]) ]) dc3dd-7.1.614/m4/mbswidth.m40000644000175000017500000000251511022023316015033 0ustar amedicoamedico# mbswidth.m4 serial 14 dnl Copyright (C) 2000-2002, 2004, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl autoconf tests required for use of mbswidth.c dnl From Bruno Haible. AC_DEFUN([gl_MBSWIDTH], [ AC_CHECK_HEADERS_ONCE([wchar.h]) AC_CHECK_FUNCS_ONCE([isascii mbsinit]) gl_FUNC_MBRTOWC dnl UnixWare 7.1.1 has a declaration of a function mbswidth() dnl that clashes with ours. AC_CACHE_CHECK([whether mbswidth is declared in ], ac_cv_have_decl_mbswidth, [AC_TRY_COMPILE([ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ], [ char *p = (char *) mbswidth; return !p; ], ac_cv_have_decl_mbswidth=yes, ac_cv_have_decl_mbswidth=no)]) if test $ac_cv_have_decl_mbswidth = yes; then ac_val=1 else ac_val=0 fi AC_DEFINE_UNQUOTED(HAVE_DECL_MBSWIDTH_IN_WCHAR_H, $ac_val, [Define to 1 if you have a declaration of mbswidth() in , and to 0 otherwise.]) AC_TYPE_MBSTATE_T ]) dc3dd-7.1.614/m4/sig2str.m40000644000175000017500000000073311022023316014607 0ustar amedicoamedico#serial 5 dnl Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SIG2STR], [ AC_REPLACE_FUNCS(sig2str) if test $ac_cv_func_sig2str = no; then gl_PREREQ_SIG2STR fi ]) # Prerequisites of lib/sig2str.c. AC_DEFUN([gl_PREREQ_SIG2STR], [ : ]) dc3dd-7.1.614/m4/extensions.m40000644000175000017500000000561111064230667015430 0ustar amedicoamedico# serial 5 -*- Autoconf -*- # Enable extensions on systems that normally disable them. # Copyright (C) 2003, 2006-2008 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS # Autoconf. Perhaps we can remove this once we can assume Autoconf # 2.62 or later everywhere, but since CVS Autoconf mutates rapidly # enough in this area it's likely we'll need to redefine # AC_USE_SYSTEM_EXTENSIONS for quite some time. # AC_USE_SYSTEM_EXTENSIONS # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. # Remember that #undef in AH_VERBATIM gets replaced with #define by # AC_DEFINE. The goal here is to define all known feature-enabling # macros, then, if reports of conflicts are made, disable macros that # cause problems on some platforms (such as __EXTENSIONS__). AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl AC_BEFORE([$0], [AC_RUN_IFELSE])dnl AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) if test "$MINIX" = yes; then AC_DEFINE([_POSIX_SOURCE], [1], [Define to 1 if you need to in order for `stat' and other things to work.]) AC_DEFINE([_POSIX_1_SOURCE], [2], [Define to 2 if the system does not provide POSIX.1 features except with this defined.]) AC_DEFINE([_MINIX], [1], [Define to 1 if on MINIX.]) fi AH_VERBATIM([__EXTENSIONS__], [/* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif ]) AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], [ac_cv_safe_to_define___extensions__], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[ # define __EXTENSIONS__ 1 ]AC_INCLUDES_DEFAULT])], [ac_cv_safe_to_define___extensions__=yes], [ac_cv_safe_to_define___extensions__=no])]) test $ac_cv_safe_to_define___extensions__ = yes && AC_DEFINE([__EXTENSIONS__]) AC_DEFINE([_ALL_SOURCE]) AC_DEFINE([_GNU_SOURCE]) AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) AC_DEFINE([_TANDEM_SOURCE]) ])# AC_USE_SYSTEM_EXTENSIONS # gl_USE_SYSTEM_EXTENSIONS # ------------------------ # Enable extensions on systems that normally disable them, # typically due to standards-conformance issues. AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])]) dc3dd-7.1.614/m4/wctype.m40000644000175000017500000000435011064230667014543 0ustar amedicoamedico# wctype.m4 serial 2 dnl A placeholder for ISO C99 , for platforms that lack it. dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_WCTYPE_H], [ AC_REQUIRE([AC_PROG_CC]) AC_CHECK_FUNCS_ONCE([iswcntrl]) if test $ac_cv_func_iswcntrl = yes; then HAVE_ISWCNTRL=1 else HAVE_ISWCNTRL=0 fi AC_SUBST([HAVE_ISWCNTRL]) AC_CHECK_HEADERS_ONCE([wctype.h]) AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gt_TYPE_WINT_T]) if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi AC_SUBST([HAVE_WINT_T]) WCTYPE_H=wctype.h if test $ac_cv_header_wctype_h = yes; then if test $ac_cv_func_iswcntrl = yes; then dnl Linux libc5 has an iswprint function that returns 0 for all arguments. dnl The other functions are likely broken in the same way. AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works], [ AC_TRY_RUN([#include #include #include #include #include int main () { return iswprint ('x') == 0; }], [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no], [AC_TRY_COMPILE([#include #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. #endif], [], [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no]) ]) ]) if test $gl_cv_func_iswcntrl_works = yes; then WCTYPE_H= fi fi dnl Compute NEXT_WCTYPE_H even if WCTYPE_H is empty, dnl for the benefit of builds from non-distclean directories. gl_CHECK_NEXT_HEADERS([wctype.h]) HAVE_WCTYPE_H=1 else HAVE_WCTYPE_H=0 fi AC_SUBST([HAVE_WCTYPE_H]) AC_SUBST([WCTYPE_H]) if test "$gl_cv_func_iswcntrl_works" = no; then REPLACE_ISWCNTRL=1 else REPLACE_ISWCNTRL=0 fi AC_SUBST([REPLACE_ISWCNTRL]) ]) dc3dd-7.1.614/m4/inttypes_h.m40000644000175000017500000000164411022023316015402 0ustar amedicoamedico# inttypes_h.m4 serial 7 dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([gl_AC_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1; return !i;], gl_cv_header_inttypes_h=yes, gl_cv_header_inttypes_h=no)]) if test $gl_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) dc3dd-7.1.614/m4/canonicalize.m40000644000175000017500000000103511022023316015645 0ustar amedicoamedico#serial 12 # Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. AC_DEFUN([AC_FUNC_CANONICALIZE_FILE_NAME], [ AC_LIBOBJ([canonicalize]) AC_CHECK_HEADERS_ONCE([sys/param.h]) AC_CHECK_DECLS_ONCE([canonicalize_file_name]) AC_CHECK_FUNCS_ONCE([canonicalize_file_name resolvepath]) ]) dc3dd-7.1.614/m4/putenv.m40000644000175000017500000000225611064230667014554 0ustar amedicoamedico# putenv.m4 serial 15 dnl Copyright (C) 2002-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. dnl dnl Check whether putenv ("FOO") removes FOO from the environment. dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that. AC_DEFUN([gl_FUNC_PUTENV], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CACHE_CHECK([for putenv compatible with GNU and SVID], [gl_cv_func_svid_putenv], [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],[[ /* Put it in env. */ if (putenv ("CONFTEST_putenv=val")) return 1; /* Try to remove it. */ if (putenv ("CONFTEST_putenv")) return 1; /* Make sure it was deleted. */ if (getenv ("CONFTEST_putenv") != 0) return 1; return 0; ]])], gl_cv_func_svid_putenv=yes, gl_cv_func_svid_putenv=no, dnl When crosscompiling, assume putenv is broken. gl_cv_func_svid_putenv=no) ]) if test $gl_cv_func_svid_putenv = no; then REPLACE_PUTENV=1 AC_LIBOBJ(putenv) fi ]) dc3dd-7.1.614/m4/wint_t.m40000644000175000017500000000170711022023316014520 0ustar amedicoamedico# wint_t.m4 serial 2 (gettext-0.17) dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether has the 'wint_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WINT_T], [ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, [AC_TRY_COMPILE([ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include wint_t foo = (wchar_t)'\0';], , gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) if test $gt_cv_c_wint_t = yes; then AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) fi ]) dc3dd-7.1.614/m4/mbscasecmp.m40000644000175000017500000000067511022023316015334 0ustar amedicoamedico# mbscasecmp.m4 serial 1 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBSCASECMP], [ gl_PREREQ_MBSCASECMP ]) # Prerequisites of lib/mbscasecmp.c. AC_DEFUN([gl_PREREQ_MBSCASECMP], [ AC_REQUIRE([gl_FUNC_MBRTOWC]) : ]) dc3dd-7.1.614/m4/atexit.m40000644000175000017500000000072311022023316014507 0ustar amedicoamedico# atexit.m4 serial 2 dnl Copyright (C) 2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ATEXIT], [ AC_REPLACE_FUNCS(atexit) if test $ac_cv_func_atexit = no; then gl_PREREQ_ATEXIT fi ]) # Prerequisites of lib/atexit.c. AC_DEFUN([gl_PREREQ_ATEXIT], [ : ]) dc3dd-7.1.614/m4/gettime.m40000644000175000017500000000074211022023316014650 0ustar amedicoamedico# gettime.m4 serial 6 dnl Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_GETTIME], [ AC_LIBOBJ([gettime]) dnl Prerequisites of lib/gettime.c. AC_REQUIRE([gl_CLOCK_TIME]) AC_REQUIRE([gl_TIMESPEC]) AC_CHECK_FUNCS_ONCE(gettimeofday nanotime) ]) dc3dd-7.1.614/m4/ldexpl.m40000644000175000017500000000517511022023316014507 0ustar amedicoamedico# ldexpl.m4 serial 2 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LDEXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) LDEXPL_LIBM= AC_CACHE_CHECK([whether ldexpl() can be used without linking with libm], [gl_cv_func_ldexpl_no_libm], [ AC_TRY_LINK([#include long double x;], [return ldexpl (x, -1) > 0;], [gl_cv_func_ldexpl_no_libm=yes], [gl_cv_func_ldexpl_no_libm=no]) ]) if test $gl_cv_func_ldexpl_no_libm = no; then AC_CACHE_CHECK([whether ldexpl() can be used with libm], [gl_cv_func_ldexpl_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_TRY_LINK([#include long double x;], [return ldexpl (x, -1) > 0;], [gl_cv_func_ldexpl_in_libm=yes], [gl_cv_func_ldexpl_in_libm=no]) LIBS="$save_LIBS" ]) if test $gl_cv_func_ldexpl_in_libm = yes; then LDEXPL_LIBM=-lm fi fi if test $gl_cv_func_ldexpl_no_libm = yes \ || test $gl_cv_func_ldexpl_in_libm = yes; then save_LIBS="$LIBS" LIBS="$LIBS $LDEXPL_LIBM" gl_FUNC_LDEXPL_WORKS LIBS="$save_LIBS" case "$gl_cv_func_ldexpl_works" in *yes) gl_func_ldexpl=yes ;; *) gl_func_ldexpl=no; REPLACE_LDEXPL=1; LDEXPL_LIBM= ;; esac else gl_func_ldexpl=no fi if test $gl_func_ldexpl = yes; then AC_DEFINE([HAVE_LDEXPL], 1, [Define if the ldexpl() function is available.]) dnl Also check whether it's declared. dnl MacOS X 10.3 has ldexpl() in libc but doesn't declare it in . AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [#include ]) else HAVE_DECL_LDEXPL=0 AC_LIBOBJ([ldexpl]) fi AC_SUBST([LDEXPL_LIBM]) ]) dnl Test whether ldexpl() works on finite numbers (this fails on AIX 5.1). AC_DEFUN([gl_FUNC_LDEXPL_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether ldexpl works], [gl_cv_func_ldexpl_works], [ AC_TRY_RUN([ #include extern long double ldexpl (long double, int); int main() { volatile long double x = 1.0; volatile long double y = ldexpl (x, -1); return (y != 0.5L); }], [gl_cv_func_ldexpl_works=yes], [gl_cv_func_ldexpl_works=no], [case "$host_os" in aix*) gl_cv_func_ldexpl_works="guessing no";; *) gl_cv_func_ldexpl_works="guessing yes";; esac ]) ]) ]) dc3dd-7.1.614/m4/progtest.m40000644000175000017500000000555011022023316015063 0ustar amedicoamedico# progtest.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ(2.50) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) dc3dd-7.1.614/m4/fcntl_h.m40000644000175000017500000000535311022023316014632 0ustar amedicoamedico# Configure fcntl.h. dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_FCNTL_H], [ AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) AC_CACHE_CHECK([for working fcntl.h], gl_cv_header_working_fcntl_h, [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include #include #ifndef O_NOATIME #define O_NOATIME 0 #endif #ifndef O_NOFOLLOW #define O_NOFOLLOW 0 #endif static int const constants[] = { O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY }; ]], [[ int status = !constants; { static char const sym[] = "conftest.sym"; if (symlink (".", sym) != 0 || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) status |= 32; } { static char const file[] = "confdefs.h"; int fd = open (file, O_RDONLY | O_NOATIME); char c; struct stat st0, st1; if (fd < 0 || fstat (fd, &st0) != 0 || sleep (1) != 0 || read (fd, &c, 1) != 1 || close (fd) != 0 || stat (file, &st1) != 0 || st0.st_atime != st1.st_atime) status |= 64; } return status;]])], [gl_cv_header_working_fcntl_h=yes], [case $? in #( 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( *) gl_cv_header_working_fcntl_h='no';; esac], [gl_cv_header_working_fcntl_h=cross-compiling])]) case $gl_cv_header_working_fcntl_h in #( *O_NOATIME* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val], [Define to 1 if O_NOATIME works.]) case $gl_cv_header_working_fcntl_h in #( *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val], [Define to 1 if O_NOFOLLOW works.]) gl_CHECK_NEXT_HEADERS([fcntl.h]) FCNTL_H='fcntl.h' AC_SUBST([FCNTL_H]) ]) AC_DEFUN([gl_FCNTL_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_FCNTL_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_FCNTL_H_DEFAULTS], [ GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN]) dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_OPEN=0; AC_SUBST([REPLACE_OPEN]) ]) dc3dd-7.1.614/m4/mbrtowc.m40000644000175000017500000000212511022023316014664 0ustar amedicoamedico# mbrtowc.m4 serial 8 dnl Copyright (C) 2001-2002, 2004-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert dnl This file can be removed, and gl_FUNC_MBRTOWC replaced with dnl AC_FUNC_MBRTOWC, when autoconf 2.60 can be assumed everywhere. AC_DEFUN([gl_FUNC_MBRTOWC], [ dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60. AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared], gl_cv_func_mbrtowc, [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[wchar_t wc; char const s[] = ""; size_t n = 1; mbstate_t state; return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));]])], gl_cv_func_mbrtowc=yes, gl_cv_func_mbrtowc=no)]) if test $gl_cv_func_mbrtowc = yes; then AC_DEFINE([HAVE_MBRTOWC], 1, [Define to 1 if mbrtowc and mbstate_t are properly declared.]) fi ]) dc3dd-7.1.614/m4/getndelim2.m40000644000175000017500000000121211064230667015254 0ustar amedicoamedico# getndelim2.m4 serial 6 dnl Copyright (C) 2003, 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_GETNDELIM2], [ AC_LIBOBJ(getndelim2) gl_PREREQ_GETNDELIM2 AC_CHECK_FUNCS_ONCE([flockfile]) AC_CHECK_FUNCS_ONCE([funlockfile]) ]) # Prerequisites of lib/getndelim2.h and lib/getndelim2.c. AC_DEFUN([gl_PREREQ_GETNDELIM2], [ dnl Prerequisites of lib/getndelim2.h. AC_REQUIRE([gt_TYPE_SSIZE_T]) dnl No prerequisites of lib/getndelim2.c. ]) dc3dd-7.1.614/m4/stdlib_h.m40000644000175000017500000000376211064230667015026 0ustar amedicoamedico# stdlib_h.m4 serial 7 dnl Copyright (C) 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDLIB_H], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([stdlib.h]) ]) AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_STDLIB_H_DEFAULTS], [ GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX]) GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX]) GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX]) GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT]) GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP]) GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP]) GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV]) GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH]) GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX]) HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX]) HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX]) HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH]) HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV]) REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) VOID_UNSETENV=0; AC_SUBST([VOID_UNSETENV]) ]) dc3dd-7.1.614/m4/md5.m40000644000175000017500000000066711064230667013724 0ustar amedicoamedico# md5.m4 serial 10 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MD5], [ AC_LIBOBJ([md5]) dnl Prerequisites of lib/md5.c. AC_REQUIRE([AC_C_BIGENDIAN]) AC_REQUIRE([AC_C_INLINE]) : ]) dc3dd-7.1.614/m4/autobuild.m40000644000175000017500000000200011022023316015167 0ustar amedicoamedico# autobuild.m4 serial 5 dnl Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Simon Josefsson # Usage: AB_INIT([MODE]). AC_DEFUN([AB_INIT], [ AC_REQUIRE([AC_CANONICAL_BUILD]) AC_REQUIRE([AC_CANONICAL_HOST]) if test -z "$AB_PACKAGE"; then AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} fi AC_MSG_NOTICE([autobuild project... $AB_PACKAGE]) if test -z "$AB_VERSION"; then AB_VERSION=${PACKAGE_VERSION:-$VERSION} fi AC_MSG_NOTICE([autobuild revision... $AB_VERSION]) hostname=`hostname` if test "$hostname"; then AC_MSG_NOTICE([autobuild hostname... $hostname]) fi ifelse([$1],[],,[AC_MSG_NOTICE([autobuild mode... $1])]) date=`date +%Y%m%d-%H%M%S` if test "$?" != 0; then date=`date` fi if test "$date"; then AC_MSG_NOTICE([autobuild timestamp... $date]) fi ]) dc3dd-7.1.614/m4/gnu-make.m40000644000175000017500000000112711022023316014714 0ustar amedicoamedico# Determine whether recent-enough GNU Make is being used. # Copyright (C) 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. # Set GNU_MAKE if we are using a recent-enough version of GNU make. # Use --version AND trailing junk, because SGI Make doesn't fail on --version. AC_DEFUN([gl_GNU_MAKE], [ AM_CONDITIONAL([GNU_MAKE], [${MAKE-make} --version /cannot/make/this >/dev/null 2>&1]) ]) dc3dd-7.1.614/m4/strtoll.m40000644000175000017500000000127111022023316014713 0ustar amedicoamedico# strtoll.m4 serial 4 dnl Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOLL], [ dnl We don't need (and can't compile) the replacement strtoll dnl unless the type 'long long int' exists. AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) if test "$ac_cv_type_long_long_int" = yes; then AC_REPLACE_FUNCS(strtoll) if test $ac_cv_func_strtoll = no; then gl_PREREQ_STRTOLL fi fi ]) # Prerequisites of lib/strtoll.c. AC_DEFUN([gl_PREREQ_STRTOLL], [ : ]) dc3dd-7.1.614/m4/mkdir-slash.m40000644000175000017500000000262311064230667015447 0ustar amedicoamedico#serial 6 # Copyright (C) 2001, 2003, 2004, 2006, 2008 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # On some systems, mkdir ("foo/", 0700) fails because of the trailing slash. # On such systems, arrange to use a wrapper function that removes any # trailing slashes. AC_DEFUN([gl_FUNC_MKDIR_TRAILING_SLASH], [dnl AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) AC_CHECK_HEADERS_ONCE(unistd.h) AC_CACHE_CHECK([whether mkdir fails due to a trailing slash], gl_cv_func_mkdir_trailing_slash_bug, [ # Arrange for deletion of the temporary directory this test might create. ac_clean_files="$ac_clean_files confdir-slash" AC_TRY_RUN([ # include # include # include # ifdef HAVE_UNISTD_H # include # endif int main () { rmdir ("confdir-slash"); exit (mkdir ("confdir-slash/", 0700)); } ], gl_cv_func_mkdir_trailing_slash_bug=no, gl_cv_func_mkdir_trailing_slash_bug=yes, gl_cv_func_mkdir_trailing_slash_bug=yes ) ] ) if test $gl_cv_func_mkdir_trailing_slash_bug = yes; then REPLACE_MKDIR=1 AC_LIBOBJ(mkdir) gl_PREREQ_MKDIR fi ]) # Prerequisites of lib/mkdir.c. AC_DEFUN([gl_PREREQ_MKDIR], [:]) dc3dd-7.1.614/m4/ls-mntd-fs.m40000644000175000017500000002573211022023316015204 0ustar amedicoamedico#serial 26 # How to list mounted file systems. # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. dnl dnl This is not pretty. I've just taken the autoconf code and wrapped dnl it in an AC_DEFUN and made some other fixes. dnl # Replace Autoconf's AC_FUNC_GETMNTENT to work around a bug in Autoconf # through Autoconf 2.59. We can remove this once we assume Autoconf 2.60 # or later. AC_DEFUN([AC_FUNC_GETMNTENT], [# getmntent is in the standard C library on UNICOS, in -lsun on Irix 4, # -lseq on Dynix/PTX, -lgen on Unixware. AC_SEARCH_LIBS(getmntent, [sun seq gen]) AC_CHECK_FUNCS(getmntent) ]) # gl_LIST_MOUNTED_FILE_SYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) AC_DEFUN([gl_LIST_MOUNTED_FILE_SYSTEMS], [ AC_CHECK_FUNCS(listmntent getmntinfo) AC_CHECK_HEADERS_ONCE(sys/param.h sys/statvfs.h) # We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses # NGROUPS (as the array dimension for a struct member) without a definition. AC_CHECK_HEADERS(sys/ucred.h, [], [], [#include ]) AC_CHECK_HEADERS(sys/mount.h, [], [], [AC_INCLUDES_DEFAULT [#if HAVE_SYS_PARAM_H #include #endif]]) AC_CHECK_HEADERS(mntent.h sys/fs_types.h) getfsstat_includes="\ $ac_includes_default #if HAVE_SYS_PARAM_H # include /* needed by powerpc-apple-darwin1.3.7 */ #endif #if HAVE_SYS_UCRED_H # include /* needed for definition of NGROUPS */ # include /* needed by powerpc-apple-darwin1.3.7 */ #endif #if HAVE_SYS_MOUNT_H # include #endif #if HAVE_SYS_FS_TYPES_H # include /* needed by powerpc-apple-darwin1.3.7 */ #endif " AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes]) # Determine how to get the list of mounted file systems. ac_list_mounted_fs= # If the getmntent function is available but not in the standard library, # make sure LIBS contains the appropriate -l option. AC_FUNC_GETMNTENT # This test must precede the ones for getmntent because Unicos-9 is # reported to have the getmntent function, but its support is incompatible # with other getmntent implementations. # NOTE: Normally, I wouldn't use a check for system type as I've done for # `CRAY' below since that goes against the whole autoconf philosophy. But # I think there is too great a chance that some non-Cray system has a # function named listmntent to risk the false positive. if test -z "$ac_list_mounted_fs"; then # Cray UNICOS 9 AC_MSG_CHECKING([for listmntent of Cray/Unicos-9]) AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent, [fu_cv_sys_mounted_cray_listmntent=no AC_EGREP_CPP(yes, [#ifdef _CRAY yes #endif ], [test $ac_cv_func_listmntent = yes \ && fu_cv_sys_mounted_cray_listmntent=yes] ) ] ) AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent) if test $fu_cv_sys_mounted_cray_listmntent = yes; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_LISTMNTENT, 1, [Define if there is a function named listmntent that can be used to list all mounted file systems. (UNICOS)]) fi fi if test -z "$ac_list_mounted_fs"; then # AIX. AC_MSG_CHECKING([for mntctl function and struct vmount]) AC_CACHE_VAL(fu_cv_sys_mounted_vmount, [AC_TRY_CPP([#include ], fu_cv_sys_mounted_vmount=yes, fu_cv_sys_mounted_vmount=no)]) AC_MSG_RESULT($fu_cv_sys_mounted_vmount) if test $fu_cv_sys_mounted_vmount = yes; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_VMOUNT, 1, [Define if there is a function named mntctl that can be used to read the list of mounted file systems, and there is a system header file that declares `struct vmount.' (AIX)]) fi fi if test $ac_cv_func_getmntent = yes; then # This system has the getmntent function. # Determine whether it's the one-argument variant or the two-argument one. if test -z "$ac_list_mounted_fs"; then # 4.3BSD, SunOS, HP-UX, Dynix, Irix AC_MSG_CHECKING([for one-argument getmntent function]) AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1, [AC_TRY_COMPILE([ /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */ #include #include #if !defined MOUNTED # if defined _PATH_MOUNTED /* GNU libc */ # define MOUNTED _PATH_MOUNTED # endif # if defined MNT_MNTTAB /* HP-UX. */ # define MOUNTED MNT_MNTTAB # endif # if defined MNTTABNAME /* Dynix. */ # define MOUNTED MNTTABNAME # endif #endif ], [ struct mntent *mnt = 0; char *table = MOUNTED; if (sizeof mnt && sizeof table) return 0;], fu_cv_sys_mounted_getmntent1=yes, fu_cv_sys_mounted_getmntent1=no)]) AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1) if test $fu_cv_sys_mounted_getmntent1 = yes; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_GETMNTENT1, 1, [Define if there is a function named getmntent for reading the list of mounted file systems, and that function takes a single argument. (4.3BSD, SunOS, HP-UX, Dynix, Irix)]) fi fi if test -z "$ac_list_mounted_fs"; then # SVR4 AC_MSG_CHECKING([for two-argument getmntent function]) AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2, [AC_EGREP_HEADER(getmntent, sys/mnttab.h, fu_cv_sys_mounted_getmntent2=yes, fu_cv_sys_mounted_getmntent2=no)]) AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2) if test $fu_cv_sys_mounted_getmntent2 = yes; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_GETMNTENT2, 1, [Define if there is a function named getmntent for reading the list of mounted file systems, and that function takes two arguments. (SVR4)]) AC_CHECK_FUNCS(hasmntopt) fi fi fi if test -z "$ac_list_mounted_fs"; then # DEC Alpha running OSF/1, and Apple Darwin 1.3. # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h AC_MSG_CHECKING([for getfsstat function]) AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat, [AC_TRY_LINK([ #include #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME # define FS_TYPE(Ent) ((Ent).f_fstypename) #else # define FS_TYPE(Ent) mnt_names[(Ent).f_type] #endif ]$getfsstat_includes , [struct statfs *stats; int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); char *t = FS_TYPE (*stats); ], fu_cv_sys_mounted_getfsstat=yes, fu_cv_sys_mounted_getfsstat=no)]) AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat) if test $fu_cv_sys_mounted_getfsstat = yes; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_GETFSSTAT, 1, [Define if there is a function named getfsstat for reading the list of mounted file systems. (DEC Alpha running OSF/1)]) fi fi if test -z "$ac_list_mounted_fs"; then # SVR3 AC_MSG_CHECKING([for FIXME existence of three headers]) AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp, [AC_TRY_CPP([ #include #include #include ], fu_cv_sys_mounted_fread_fstyp=yes, fu_cv_sys_mounted_fread_fstyp=no)]) AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp) if test $fu_cv_sys_mounted_fread_fstyp = yes; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_FREAD_FSTYP, 1, [Define if (like SVR2) there is no specific function for reading the list of mounted file systems, and your system has these header files: and . (SVR3)]) fi fi if test -z "$ac_list_mounted_fs"; then # 4.4BSD and DEC OSF/1. AC_MSG_CHECKING([for getmntinfo function]) AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo, [ test "$ac_cv_func_getmntinfo" = yes \ && fu_cv_sys_mounted_getmntinfo=yes \ || fu_cv_sys_mounted_getmntinfo=no ]) AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo) if test $fu_cv_sys_mounted_getmntinfo = yes; then AC_MSG_CHECKING([whether getmntinfo returns statvfs structures]) AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo2, [ AC_TRY_COMPILE([ #if HAVE_SYS_PARAM_H # include #endif #include #if HAVE_SYS_MOUNT_H # include #endif #if HAVE_SYS_STATVFS_H # include #endif extern int getmntinfo (struct statfs **, int); ], [], [fu_cv_sys_mounted_getmntinfo2=no], [fu_cv_sys_mounted_getmntinfo2=yes]) ]) AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo2]) if test $fu_cv_sys_mounted_getmntinfo2 = no; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_GETMNTINFO, 1, [Define if there is a function named getmntinfo for reading the list of mounted file systems and it returns an array of 'struct statfs'. (4.4BSD, Darwin)]) else ac_list_mounted_fs=found AC_DEFINE(MOUNTED_GETMNTINFO2, 1, [Define if there is a function named getmntinfo for reading the list of mounted file systems and it returns an array of 'struct statvfs'. (NetBSD 3.0)]) fi fi fi if test -z "$ac_list_mounted_fs"; then # Ultrix AC_MSG_CHECKING([for getmnt function]) AC_CACHE_VAL(fu_cv_sys_mounted_getmnt, [AC_TRY_CPP([ #include #include ], fu_cv_sys_mounted_getmnt=yes, fu_cv_sys_mounted_getmnt=no)]) AC_MSG_RESULT($fu_cv_sys_mounted_getmnt) if test $fu_cv_sys_mounted_getmnt = yes; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_GETMNT, 1, [Define if there is a function named getmnt for reading the list of mounted file systems. (Ultrix)]) fi fi if test -z "$ac_list_mounted_fs"; then # BeOS AC_CHECK_FUNCS(next_dev fs_stat_dev) AC_CHECK_HEADERS(fs_info.h) AC_MSG_CHECKING([for BEOS mounted file system support functions]) if test $ac_cv_header_fs_info_h = yes \ && test $ac_cv_func_next_dev = yes \ && test $ac_cv_func_fs_stat_dev = yes; then fu_result=yes else fu_result=no fi AC_MSG_RESULT($fu_result) if test $fu_result = yes; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_FS_STAT_DEV, 1, [Define if there are functions named next_dev and fs_stat_dev for reading the list of mounted file systems. (BeOS)]) fi fi if test -z "$ac_list_mounted_fs"; then # SVR2 AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab]) AC_CACHE_VAL(fu_cv_sys_mounted_fread, [AC_TRY_CPP([#include ], fu_cv_sys_mounted_fread=yes, fu_cv_sys_mounted_fread=no)]) AC_MSG_RESULT($fu_cv_sys_mounted_fread) if test $fu_cv_sys_mounted_fread = yes; then ac_list_mounted_fs=found AC_DEFINE(MOUNTED_FREAD, 1, [Define if there is no specific function for reading the list of mounted file systems. fread will be used to read /etc/mnttab. (SVR2) ]) fi fi if test -z "$ac_list_mounted_fs"; then AC_MSG_ERROR([could not determine how to read list of mounted file systems]) # FIXME -- no need to abort building the whole package # Can't build mountlist.c or anything that needs its functions fi AS_IF([test $ac_list_mounted_fs = found], [$1], [$2]) ]) dc3dd-7.1.614/m4/jm-winsz1.m40000644000175000017500000000317611022023316015055 0ustar amedicoamedico#serial 9 # Copyright (C) 1996, 1999, 2001, 2002, 2004, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering and Paul Eggert. AC_DEFUN([gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H], [AC_REQUIRE([AC_SYS_POSIX_TERMIOS]) AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h], gl_cv_sys_tiocgwinsz_needs_termios_h, [gl_cv_sys_tiocgwinsz_needs_termios_h=no if test $ac_cv_sys_posix_termios = yes; then AC_EGREP_CPP([yes], [#include # include # ifdef TIOCGWINSZ yes # endif ], gl_cv_sys_tiocgwinsz_needs_termios_h=yes) fi ]) ]) AC_DEFUN([gl_WINSIZE_IN_PTEM], [AC_REQUIRE([AC_SYS_POSIX_TERMIOS]) AC_CACHE_CHECK([whether use of struct winsize requires sys/ptem.h], gl_cv_sys_struct_winsize_needs_sys_ptem_h, [gl_cv_sys_struct_winsize_needs_sys_ptem_h=yes if test $ac_cv_sys_posix_termios = yes; then AC_TRY_COMPILE([#include ], [struct winsize x; if (sizeof x > 0) return 0;], [gl_cv_sys_struct_winsize_needs_sys_ptem_h=no]) fi if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then AC_TRY_COMPILE([#include ], [struct winsize x; if (sizeof x > 0) return 0;], [], [gl_cv_sys_struct_winsize_needs_sys_ptem_h=no]) fi]) if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then AC_DEFINE([WINSIZE_IN_PTEM], 1, [Define if sys/ptem.h is required for struct winsize.]) fi]) dc3dd-7.1.614/m4/lchown.m40000644000175000017500000000114211022023316014477 0ustar amedicoamedico#serial 12 # Determine whether we need the lchown wrapper. dnl Copyright (C) 1998, 2001, 2003, 2004, 2005, 2006, 2007 Free dnl Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. dnl Provide lchown on systems that lack it. AC_DEFUN([gl_FUNC_LCHOWN], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_CHOWN]) AC_REPLACE_FUNCS(lchown) if test $ac_cv_func_lchown = no; then REPLACE_LCHOWN=1 fi ]) dc3dd-7.1.614/m4/vfprintf-posix.m40000644000175000017500000000747011064230667016234 0ustar amedicoamedico# vfprintf-posix.m4 serial 11 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VFPRINTF_POSIX], [ AC_REQUIRE([gl_PRINTF_SIZES_C99]) AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) AC_REQUIRE([gl_PRINTF_INFINITE]) AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_N]) AC_REQUIRE([gl_PRINTF_POSITIONS]) AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) AC_REQUIRE([gl_PRINTF_PRECISION]) AC_REQUIRE([gl_PRINTF_ENOMEM]) gl_cv_func_vfprintf_posix=no case "$gl_cv_func_printf_sizes_c99" in *yes) case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) case "$gl_cv_func_printf_directive_a" in *yes) case "$gl_cv_func_printf_directive_f" in *yes) case "$gl_cv_func_printf_directive_n" in *yes) case "$gl_cv_func_printf_positions" in *yes) case "$gl_cv_func_printf_flag_grouping" in *yes) case "$gl_cv_func_printf_flag_leftadjust" in *yes) case "$gl_cv_func_printf_flag_zero" in *yes) case "$gl_cv_func_printf_precision" in *yes) case "$gl_cv_func_printf_enomem" in *yes) # vfprintf exists and is # already POSIX compliant. gl_cv_func_vfprintf_posix=yes ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac if test $gl_cv_func_vfprintf_posix = no; then gl_PREREQ_VASNPRINTF_LONG_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE gl_PREREQ_VASNPRINTF_DIRECTIVE_A gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_PREREQ_VASNPRINTF_FLAG_GROUPING gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST gl_PREREQ_VASNPRINTF_FLAG_ZERO gl_PREREQ_VASNPRINTF_PRECISION gl_PREREQ_VASNPRINTF_ENOMEM gl_REPLACE_VASNPRINTF gl_REPLACE_VFPRINTF fi ]) AC_DEFUN([gl_REPLACE_VFPRINTF], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_LIBOBJ([vfprintf]) REPLACE_VFPRINTF=1 gl_PREREQ_VFPRINTF ]) AC_DEFUN([gl_PREREQ_VFPRINTF], [:]) dc3dd-7.1.614/m4/ssize_t.m40000644000175000017500000000136211022023316014671 0ustar amedicoamedico# ssize_t.m4 serial 4 (gettext-0.15) dnl Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether ssize_t is defined. AC_DEFUN([gt_TYPE_SSIZE_T], [ AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t], [AC_TRY_COMPILE([#include ], [int x = sizeof (ssize_t *) + sizeof (ssize_t); return !x;], [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])]) if test $gt_cv_ssize_t = no; then AC_DEFINE([ssize_t], [int], [Define as a signed type of the same size as size_t.]) fi ]) dc3dd-7.1.614/m4/iconv.m40000644000175000017500000001375311022023316014336 0ustar amedicoamedico# iconv.m4 serial AM6 (gettext-0.17) dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) dc3dd-7.1.614/m4/perl.m40000644000175000017500000000254611022023316014160 0ustar amedicoamedico#serial 8 dnl From Jim Meyering. dnl Find a new-enough version of Perl. # Copyright (C) 1998-2001, 2003, 2004, 2007 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_PERL], [ dnl FIXME: don't hard-code 5.005 AC_MSG_CHECKING([for perl5.005 or newer]) if test "${PERL+set}" = set; then # `PERL' is set in the user's environment. candidate_perl_names="$PERL" perl_specified=yes else candidate_perl_names='perl perl5' perl_specified=no fi found=no AC_SUBST(PERL) PERL="$am_missing_run perl" for perl in $candidate_perl_names; do # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. if ( $perl -e 'require 5.005; use File::Compare' ) > /dev/null 2>&1; then PERL=$perl found=yes break fi done AC_MSG_RESULT($found) test $found = no && AC_MSG_WARN([ WARNING: You don't seem to have perl5.005 or newer installed, or you lack a usable version of the Perl File::Compare module. As a result, you may be unable to run a few tests or to regenerate certain files if you modify the sources from which they are derived. ] ) ]) dc3dd-7.1.614/m4/malloc.m40000644000175000017500000000267511022023316014470 0ustar amedicoamedico# malloc.m4 serial 8 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # gl_FUNC_MALLOC_POSIX # -------------------- # Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace malloc if it is not. AC_DEFUN([gl_FUNC_MALLOC_POSIX], [ AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then HAVE_MALLOC_POSIX=1 AC_DEFINE([HAVE_MALLOC_POSIX], 1, [Define if the 'malloc' function is POSIX compliant.]) else AC_LIBOBJ([malloc]) HAVE_MALLOC_POSIX=0 fi AC_SUBST([HAVE_MALLOC_POSIX]) ]) # Test whether malloc, realloc, calloc are POSIX compliant, # Set gl_cv_func_malloc_posix to yes or no accordingly. AC_DEFUN([gl_CHECK_MALLOC_POSIX], [ AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant], [gl_cv_func_malloc_posix], [ dnl It is too dangerous to try to allocate a large amount of memory: dnl some systems go to their knees when you do that. So assume that dnl all Unix implementations of the function are POSIX compliant. AC_TRY_COMPILE([], [#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ choke me #endif ], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no]) ]) ]) dc3dd-7.1.614/m4/vasnprintf.m40000644000175000017500000001662711064230667015434 0ustar amedicoamedico# vasnprintf.m4 serial 25 dnl Copyright (C) 2002-2004, 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VASNPRINTF], [ AC_CHECK_FUNCS_ONCE([vasnprintf]) if test $ac_cv_func_vasnprintf = no; then gl_REPLACE_VASNPRINTF fi ]) AC_DEFUN([gl_REPLACE_VASNPRINTF], [ AC_CHECK_FUNCS_ONCE([vasnprintf]) AC_LIBOBJ([vasnprintf]) AC_LIBOBJ([printf-args]) AC_LIBOBJ([printf-parse]) AC_LIBOBJ([asnprintf]) if test $ac_cv_func_vasnprintf = yes; then AC_DEFINE([REPLACE_VASNPRINTF], 1, [Define if vasnprintf exists but is overridden by gnulib.]) fi gl_PREREQ_PRINTF_ARGS gl_PREREQ_PRINTF_PARSE gl_PREREQ_VASNPRINTF gl_PREREQ_ASNPRINTF ]) # Prequisites of lib/printf-args.h, lib/printf-args.c. AC_DEFUN([gl_PREREQ_PRINTF_ARGS], [ AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) ]) # Prequisites of lib/printf-parse.h, lib/printf-parse.c. AC_DEFUN([gl_PREREQ_PRINTF_PARSE], [ AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) AC_REQUIRE([AC_TYPE_SIZE_T]) AC_CHECK_TYPE([ptrdiff_t], , [AC_DEFINE([ptrdiff_t], [long], [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) ]) AC_REQUIRE([gt_AC_TYPE_INTMAX_T]) ]) # Prerequisites of lib/vasnprintf.c. AC_DEFUN([gl_PREREQ_VASNPRINTF], [ AC_REQUIRE([AC_FUNC_ALLOCA]) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) AC_CHECK_FUNCS(snprintf wcslen) dnl Use the _snprintf function only if it is declared (because on NetBSD it dnl is defined as a weak alias of snprintf; we prefer to use the latter). AC_CHECK_DECLS([_snprintf], , , [#include ]) ]) # Extra prerequisites of lib/vasnprintf.c for supporting 'long double' # arguments. AC_DEFUN([gl_PREREQ_VASNPRINTF_LONG_DOUBLE], [ AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) case "$gl_cv_func_printf_long_double" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1, [Define if the vasnprintf implementation needs special code for 'long double' arguments.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting infinite 'double' # arguments. AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE], [ AC_REQUIRE([gl_PRINTF_INFINITE]) case "$gl_cv_func_printf_infinite" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_INFINITE_DOUBLE], 1, [Define if the vasnprintf implementation needs special code for infinite 'double' arguments.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting infinite 'long double' # arguments. AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE], [ AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) dnl There is no need to set NEED_PRINTF_INFINITE_LONG_DOUBLE if dnl NEED_PRINTF_LONG_DOUBLE is already set. AC_REQUIRE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE]) case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_INFINITE_LONG_DOUBLE], 1, [Define if the vasnprintf implementation needs special code for infinite 'long double' arguments.]) ;; esac ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the 'a' directive. AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A], [ AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) case "$gl_cv_func_printf_directive_a" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1, [Define if the vasnprintf implementation needs special code for the 'a' and 'A' directives.]) AC_CHECK_FUNCS([nl_langinfo]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the 'F' directive. AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_F], [ AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) case "$gl_cv_func_printf_directive_f" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], 1, [Define if the vasnprintf implementation needs special code for the 'F' directive.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the ' flag. AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING], [ AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) case "$gl_cv_func_printf_flag_grouping" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_FLAG_GROUPING], 1, [Define if the vasnprintf implementation needs special code for the ' flag.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the '-' flag. AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST], [ AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) case "$gl_cv_func_printf_flag_leftadjust" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_FLAG_LEFTADJUST], 1, [Define if the vasnprintf implementation needs special code for the '-' flag.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting the 0 flag. AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO], [ AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) case "$gl_cv_func_printf_flag_zero" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_FLAG_ZERO], 1, [Define if the vasnprintf implementation needs special code for the 0 flag.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for supporting large precisions. AC_DEFUN([gl_PREREQ_VASNPRINTF_PRECISION], [ AC_REQUIRE([gl_PRINTF_PRECISION]) case "$gl_cv_func_printf_precision" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_UNBOUNDED_PRECISION], 1, [Define if the vasnprintf implementation needs special code for supporting large precisions without arbitrary bounds.]) AC_DEFINE([NEED_PRINTF_DOUBLE], 1, [Define if the vasnprintf implementation needs special code for 'double' arguments.]) AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1, [Define if the vasnprintf implementation needs special code for 'long double' arguments.]) ;; esac ]) # Extra prerequisites of lib/vasnprintf.c for surviving out-of-memory # conditions. AC_DEFUN([gl_PREREQ_VASNPRINTF_ENOMEM], [ AC_REQUIRE([gl_PRINTF_ENOMEM]) case "$gl_cv_func_printf_enomem" in *yes) ;; *) AC_DEFINE([NEED_PRINTF_ENOMEM], 1, [Define if the vasnprintf implementation needs special code for surviving out-of-memory conditions.]) AC_DEFINE([NEED_PRINTF_DOUBLE], 1, [Define if the vasnprintf implementation needs special code for 'double' arguments.]) AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1, [Define if the vasnprintf implementation needs special code for 'long double' arguments.]) ;; esac ]) # Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance. AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_EXTRAS], [ AC_REQUIRE([gl_PREREQ_VASNPRINTF]) gl_PREREQ_VASNPRINTF_LONG_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE gl_PREREQ_VASNPRINTF_DIRECTIVE_A gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_PREREQ_VASNPRINTF_FLAG_GROUPING gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST gl_PREREQ_VASNPRINTF_FLAG_ZERO gl_PREREQ_VASNPRINTF_PRECISION gl_PREREQ_VASNPRINTF_ENOMEM ]) # Prerequisites of lib/asnprintf.c. AC_DEFUN([gl_PREREQ_ASNPRINTF], [ ]) dc3dd-7.1.614/m4/gettext.m40000644000175000017500000003463511022023316014706 0ustar amedicoamedico# gettext.m4 serial 60 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) AC_DEFUN([gl_LOCK_EARLY], []) dc3dd-7.1.614/m4/locale-zh.m40000644000175000017500000001027011064230667015104 0ustar amedicoamedico# locale-zh.m4 serial 4 dnl Copyright (C) 2003, 2005-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Determine the name of a chinese locale with GB18030 encoding. AC_DEFUN([gt_LOCALE_ZH_CN], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a transitional chinese locale], gt_cv_locale_zh_CN, [ macosx= changequote(,)dnl case "$host_os" in darwin[56]*) ;; darwin*) macosx=yes;; esac changequote([,])dnl if test -n "$macosx"; then # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8 # encodings, but the kernel does not support them. The documentation # says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # See the comments in config.charset. Therefore we bypass the test. gt_cv_locale_zh_CN=none else AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi ]) LOCALE_ZH_CN=$gt_cv_locale_zh_CN AC_SUBST([LOCALE_ZH_CN]) ]) dc3dd-7.1.614/m4/stdbool.m40000644000175000017500000000722211022023316014660 0ustar amedicoamedico# Check for stdbool.h that conforms to C99. dnl Copyright (C) 2002-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Prepare for substituting if it is not supported. AC_DEFUN([AM_STDBOOL_H], [ AC_REQUIRE([AC_HEADER_STDBOOL]) # Define two additional variables used in the Makefile substitution. if test "$ac_cv_header_stdbool_h" = yes; then STDBOOL_H='' else STDBOOL_H='stdbool.h' fi AC_SUBST([STDBOOL_H]) if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 else HAVE__BOOL=0 fi AC_SUBST([HAVE__BOOL]) ]) # AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) # This macro is only needed in autoconf <= 2.59. Newer versions of autoconf # have this macro built-in. AC_DEFUN([AC_HEADER_STDBOOL], [AC_CACHE_CHECK([for stdbool.h that conforms to C99], [ac_cv_header_stdbool_h], [AC_TRY_COMPILE( [ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; bool e = &s; char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; #if defined __xlc__ || defined __GNUC__ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 reported by James Lemley on 2005-10-05; see http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html This test is not quite right, since xlc is allowed to reject this program, as the initializer for xlcbug is not one of the forms that C requires support for. However, doing the test right would require a run-time test, and that would make cross-compilation harder. Let us hope that IBM fixes the xlc bug, and also adds support for this kind of constant expression. In the meantime, this test will reject xlc, which is OK, since our stdbool.h substitute should suffice. We also test this with GCC, where it should work, to detect more quickly whether someone messes up the test in the future. */ char digs[] = "0123456789"; int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); #endif /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; ], [ *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ], [ac_cv_header_stdbool_h=yes], [ac_cv_header_stdbool_h=no])]) AC_CHECK_TYPES([_Bool]) if test $ac_cv_header_stdbool_h = yes; then AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.]) fi]) dc3dd-7.1.614/m4/iconv_open.m40000644000175000017500000002054411022023316015353 0ustar amedicoamedico# iconv_open.m4 serial 3 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ICONV_OPEN], [ AC_REQUIRE([AM_ICONV]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_ICONV_H_DEFAULTS]) if test "$am_cv_func_iconv" = yes; then dnl Test whether iconv_open accepts standardized encoding names. dnl We know that GNU libiconv and GNU libc do. AC_EGREP_CPP([gnu_iconv], [ #include #if defined _LIBICONV_VERSION || defined __GLIBC__ gnu_iconv #endif ], [gl_func_iconv_gnu=yes], [gl_func_iconv_gnu=no]) if test $gl_func_iconv_gnu = no; then iconv_flavor= case "$host_os" in aix*) iconv_flavor=ICONV_FLAVOR_AIX ;; irix*) iconv_flavor=ICONV_FLAVOR_IRIX ;; hpux*) iconv_flavor=ICONV_FLAVOR_HPUX ;; osf*) iconv_flavor=ICONV_FLAVOR_OSF ;; esac if test -n "$iconv_flavor"; then AC_DEFINE_UNQUOTED([ICONV_FLAVOR], [$iconv_flavor], [Define to a symbolic name denoting the flavor of iconv_open() implementation.]) gl_REPLACE_ICONV_OPEN fi fi fi ]) AC_DEFUN([gl_REPLACE_ICONV_OPEN], [ REPLACE_ICONV_OPEN=1 AC_LIBOBJ([iconv_open]) ICONV_H='iconv.h' ]) AC_DEFUN([gl_FUNC_ICONV_OPEN_UTF], [ AC_REQUIRE([gl_FUNC_ICONV_OPEN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_ICONV_H_DEFAULTS]) if test "$am_cv_func_iconv" = yes; then if test -n "$am_cv_proto_iconv_arg1"; then ICONV_CONST="const" else ICONV_CONST= fi AC_SUBST([ICONV_CONST]) AC_CACHE_CHECK([whether iconv supports conversion between UTF-8 and UTF-{16,32}{BE,LE}], [gl_cv_func_iconv_supports_utf], [ save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_RUN([ #include #include #include #include #include #define ASSERT(expr) if (!(expr)) return 1; int main () { /* Test conversion from UTF-8 to UTF-16BE with no errors. */ { static const char input[] = "Japanese (\346\227\245\346\234\254\350\252\236) [\360\235\224\215\360\235\224\236\360\235\224\255]"; static const char expected[] = "\000J\000a\000p\000a\000n\000e\000s\000e\000 \000(\145\345\147\054\212\236\000)\000 \000[\330\065\335\015\330\065\335\036\330\065\335\055\000]"; iconv_t cd; char buf[100]; const char *inptr; size_t inbytesleft; char *outptr; size_t outbytesleft; size_t res; cd = iconv_open ("UTF-16BE", "UTF-8"); ASSERT (cd != (iconv_t)(-1)); inptr = input; inbytesleft = sizeof (input) - 1; outptr = buf; outbytesleft = sizeof (buf); res = iconv (cd, (ICONV_CONST char **) &inptr, &inbytesleft, &outptr, &outbytesleft); ASSERT (res == 0 && inbytesleft == 0); ASSERT (outptr == buf + (sizeof (expected) - 1)); ASSERT (memcmp (buf, expected, sizeof (expected) - 1) == 0); ASSERT (iconv_close (cd) == 0); } /* Test conversion from UTF-8 to UTF-16LE with no errors. */ { static const char input[] = "Japanese (\346\227\245\346\234\254\350\252\236) [\360\235\224\215\360\235\224\236\360\235\224\255]"; static const char expected[] = "J\000a\000p\000a\000n\000e\000s\000e\000 \000(\000\345\145\054\147\236\212)\000 \000[\000\065\330\015\335\065\330\036\335\065\330\055\335]\000"; iconv_t cd; char buf[100]; const char *inptr; size_t inbytesleft; char *outptr; size_t outbytesleft; size_t res; cd = iconv_open ("UTF-16LE", "UTF-8"); ASSERT (cd != (iconv_t)(-1)); inptr = input; inbytesleft = sizeof (input) - 1; outptr = buf; outbytesleft = sizeof (buf); res = iconv (cd, (ICONV_CONST char **) &inptr, &inbytesleft, &outptr, &outbytesleft); ASSERT (res == 0 && inbytesleft == 0); ASSERT (outptr == buf + (sizeof (expected) - 1)); ASSERT (memcmp (buf, expected, sizeof (expected) - 1) == 0); ASSERT (iconv_close (cd) == 0); } /* Test conversion from UTF-8 to UTF-32BE with no errors. */ { static const char input[] = "Japanese (\346\227\245\346\234\254\350\252\236) [\360\235\224\215\360\235\224\236\360\235\224\255]"; static const char expected[] = "\000\000\000J\000\000\000a\000\000\000p\000\000\000a\000\000\000n\000\000\000e\000\000\000s\000\000\000e\000\000\000 \000\000\000(\000\000\145\345\000\000\147\054\000\000\212\236\000\000\000)\000\000\000 \000\000\000[\000\001\325\015\000\001\325\036\000\001\325\055\000\000\000]"; iconv_t cd; char buf[100]; const char *inptr; size_t inbytesleft; char *outptr; size_t outbytesleft; size_t res; cd = iconv_open ("UTF-32BE", "UTF-8"); ASSERT (cd != (iconv_t)(-1)); inptr = input; inbytesleft = sizeof (input) - 1; outptr = buf; outbytesleft = sizeof (buf); res = iconv (cd, (ICONV_CONST char **) &inptr, &inbytesleft, &outptr, &outbytesleft); ASSERT (res == 0 && inbytesleft == 0); ASSERT (outptr == buf + (sizeof (expected) - 1)); ASSERT (memcmp (buf, expected, sizeof (expected) - 1) == 0); ASSERT (iconv_close (cd) == 0); } /* Test conversion from UTF-8 to UTF-32LE with no errors. */ { static const char input[] = "Japanese (\346\227\245\346\234\254\350\252\236) [\360\235\224\215\360\235\224\236\360\235\224\255]"; static const char expected[] = "J\000\000\000a\000\000\000p\000\000\000a\000\000\000n\000\000\000e\000\000\000s\000\000\000e\000\000\000 \000\000\000(\000\000\000\345\145\000\000\054\147\000\000\236\212\000\000)\000\000\000 \000\000\000[\000\000\000\015\325\001\000\036\325\001\000\055\325\001\000]\000\000\000"; iconv_t cd; char buf[100]; const char *inptr; size_t inbytesleft; char *outptr; size_t outbytesleft; size_t res; cd = iconv_open ("UTF-32LE", "UTF-8"); ASSERT (cd != (iconv_t)(-1)); inptr = input; inbytesleft = sizeof (input) - 1; outptr = buf; outbytesleft = sizeof (buf); res = iconv (cd, (ICONV_CONST char **) &inptr, &inbytesleft, &outptr, &outbytesleft); ASSERT (res == 0 && inbytesleft == 0); ASSERT (outptr == buf + (sizeof (expected) - 1)); ASSERT (memcmp (buf, expected, sizeof (expected) - 1) == 0); ASSERT (iconv_close (cd) == 0); } /* Test conversion from UTF-16BE to UTF-8 with no errors. This test fails on NetBSD 3.0. */ { static const char input[] = "\000J\000a\000p\000a\000n\000e\000s\000e\000 \000(\145\345\147\054\212\236\000)\000 \000[\330\065\335\015\330\065\335\036\330\065\335\055\000]"; static const char expected[] = "Japanese (\346\227\245\346\234\254\350\252\236) [\360\235\224\215\360\235\224\236\360\235\224\255]"; iconv_t cd; char buf[100]; const char *inptr; size_t inbytesleft; char *outptr; size_t outbytesleft; size_t res; cd = iconv_open ("UTF-8", "UTF-16BE"); ASSERT (cd != (iconv_t)(-1)); inptr = input; inbytesleft = sizeof (input) - 1; outptr = buf; outbytesleft = sizeof (buf); res = iconv (cd, (ICONV_CONST char **) &inptr, &inbytesleft, &outptr, &outbytesleft); ASSERT (res == 0 && inbytesleft == 0); ASSERT (outptr == buf + (sizeof (expected) - 1)); ASSERT (memcmp (buf, expected, sizeof (expected) - 1) == 0); ASSERT (iconv_close (cd) == 0); } return 0; }], [gl_cv_func_iconv_supports_utf=yes], [gl_cv_func_iconv_supports_utf=no], [ dnl We know that GNU libiconv, GNU libc, and Solaris >= 9 do. dnl OSF/1 5.1 has these encodings, but inserts a BOM in the "to" dnl direction. gl_cv_func_iconv_supports_utf=no if test $gl_func_iconv_gnu = yes; then gl_cv_func_iconv_supports_utf=yes else changequote(,)dnl case "$host_os" in solaris2.9 | solaris2.1[0-9]) gl_cv_func_iconv_supports_utf=yes ;; esac changequote([,])dnl fi ]) LIBS="$save_LIBS" ]) if test $gl_cv_func_iconv_supports_utf = no; then REPLACE_ICONV_UTF=1 AC_DEFINE([REPLACE_ICONV_UTF], 1, [Define if the iconv() functions are enhanced to handle the UTF-{16,32}{BE,LE} encodings.]) REPLACE_ICONV=1 gl_REPLACE_ICONV_OPEN AC_LIBOBJ([iconv]) AC_LIBOBJ([iconv_close]) fi fi ]) dc3dd-7.1.614/m4/mbchar.m40000644000175000017500000000064011022023316014443 0ustar amedicoamedico# mbchar.m4 serial 7 dnl Copyright (C) 2005-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl autoconf tests required for use of mbchar.m4 dnl From Bruno Haible. AC_DEFUN([gl_MBCHAR], [ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) ]) dc3dd-7.1.614/m4/hash.m40000644000175000017500000000061411022023316014133 0ustar amedicoamedico# hash.m4 serial 6 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HASH], [ AC_LIBOBJ([hash]) dnl Prerequisites of lib/hash.c. AC_REQUIRE([AM_STDBOOL_H]) ]) dc3dd-7.1.614/m4/strpbrk.m40000644000175000017500000000104011022023316014671 0ustar amedicoamedico# strpbrk.m4 serial 4 dnl Copyright (C) 2002-2003, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRPBRK], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REPLACE_FUNCS(strpbrk) if test $ac_cv_func_strpbrk = no; then HAVE_STRPBRK=0 gl_PREREQ_STRPBRK fi ]) # Prerequisites of lib/strpbrk.c. AC_DEFUN([gl_PREREQ_STRPBRK], [:]) dc3dd-7.1.614/m4/jm-macros.m40000644000175000017500000001076211022023316015105 0ustar amedicoamedico#serial 106 -*- autoconf -*- dnl Misc type-related macros for coreutils. # Copyright (C) 1998, 2000-2007 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering. AC_DEFUN([coreutils_MACROS], [ AM_MISSING_PROG(HELP2MAN, help2man) AC_SUBST(MAN) dnl This macro actually runs replacement code. See isc-posix.m4. AC_REQUIRE([AC_ISC_POSIX])dnl gl_CHECK_ALL_TYPES AC_REQUIRE([gl_CHECK_DECLS]) AC_REQUIRE([gl_PREREQ]) AC_REQUIRE([AC_FUNC_FSEEKO]) # By default, argmatch should fail calling usage (1). AC_DEFINE(ARGMATCH_DIE, [usage (1)], [Define to the function xargmatch calls on failures.]) AC_DEFINE(ARGMATCH_DIE_DECL, [void usage ()], [Define to the declaration of the xargmatch failure function.]) # used by ls AC_REQUIRE([gl_CLOCK_TIME]) # used by shred AC_CHECK_FUNCS_ONCE(directio) AC_CHECK_FUNCS_ONCE( \ endgrent \ endpwent \ fchown \ fchmod \ ftruncate \ iswspace \ mkfifo \ mbrlen \ setgroups \ sethostname \ siginterrupt \ sync \ sysctl \ sysinfo \ tcgetpgrp \ ) dnl This can't use AC_REQUIRE; I'm not quite sure why. cu_PREREQ_STAT_PROG # for dd.c and shred.c coreutils_saved_libs=$LIBS AC_SEARCH_LIBS([fdatasync], [rt posix4], [test "$ac_cv_search_fdatasync" = "none required" || LIB_FDATASYNC=$ac_cv_search_fdatasync]) AC_SUBST([LIB_FDATASYNC]) AC_CHECK_FUNCS(fdatasync) LIBS=$coreutils_saved_libs # See if linking `seq' requires -lm. # It does on nearly every system. The single exception (so far) is # BeOS which has all the math functions in the normal runtime library # and doesn't have a separate math library. AC_SUBST(SEQ_LIBM) ac_seq_body=' static double x, y; x = floor (x); x = rint (x); x = modf (x, &y);' AC_TRY_LINK([#include ], $ac_seq_body, , [ac_seq_save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_TRY_LINK([#include ], $ac_seq_body, SEQ_LIBM=-lm) LIBS="$ac_seq_save_LIBS" ]) AC_REQUIRE([AM_LANGINFO_CODESET]) ]) AC_DEFUN([gl_CHECK_ALL_HEADERS], [ AC_CHECK_HEADERS_ONCE( \ hurd.h \ paths.h \ priv.h \ stropts.h \ sys/ioctl.h \ sys/param.h \ sys/resource.h \ sys/systeminfo.h \ sys/time.h \ sys/wait.h \ syslog.h \ termios.h \ ) AC_CHECK_HEADERS(sys/sysctl.h, [], [], [AC_INCLUDES_DEFAULT [#if HAVE_SYS_PARAM_H #include #endif]]) ]) # This macro must be invoked before any tests that run the compiler. AC_DEFUN([gl_CHECK_ALL_TYPES], [ dnl This test must come as early as possible after the compiler configuration dnl tests, because the choice of the file model can (in principle) affect dnl whether functions and headers are available, whether they work, etc. AC_REQUIRE([AC_SYS_LARGEFILE]) dnl This test must precede tests of compiler characteristics like dnl that for the inline keyword, since it may change the degree to dnl which the compiler supports such features. AC_REQUIRE([AM_C_PROTOTYPES]) dnl Checks for typedefs, structures, and compiler characteristics. AC_REQUIRE([AC_C_BIGENDIAN]) AC_REQUIRE([AC_C_VOLATILE]) AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_C_LONG_DOUBLE]) AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) AC_REQUIRE([gl_CHECK_ALL_HEADERS]) AC_CHECK_MEMBERS( [struct stat.st_author],,, [$ac_includes_default #include ]) AC_REQUIRE([AC_STRUCT_ST_BLOCKS]) AC_REQUIRE([AC_TYPE_GETGROUPS]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_REQUIRE([AC_TYPE_MODE_T]) AC_REQUIRE([AC_TYPE_OFF_T]) AC_REQUIRE([AC_TYPE_PID_T]) AC_REQUIRE([AC_TYPE_SIZE_T]) AC_REQUIRE([AC_TYPE_UID_T]) AC_CHECK_TYPE(ino_t, unsigned long int) dnl This relies on the fact that Autoconf's implementation of dnl AC_CHECK_TYPE checks includes unistd.h. AC_CHECK_TYPE(major_t, unsigned int) AC_CHECK_TYPE(minor_t, unsigned int) AC_REQUIRE([AC_HEADER_MAJOR]) ]) dc3dd-7.1.614/m4/boottime.m40000644000175000017500000000377411022023316015044 0ustar amedicoamedico# boottime.m4 serial 3 # Determine whether this system has infrastructure for obtaining the boot time. # Copyright (C) 1996, 2000, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) * ---------------------------------------------------------- AC_DEFUN([GNULIB_BOOT_TIME], [ AC_CHECK_FUNCS(sysctl) AC_CHECK_HEADERS_ONCE(sys/param.h) AC_CHECK_HEADERS(sys/sysctl.h, [], [], [AC_INCLUDES_DEFAULT [#if HAVE_SYS_PARAM_H #include #endif]]) AC_CHECK_HEADERS_ONCE(utmp.h utmpx.h OS.h) AC_CACHE_CHECK( [whether we can get the system boot time], [gnulib_cv_have_boot_time], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H # if HAVE_SYS_PARAM_H # include /* needed for OpenBSD 3.0 */ # endif # include #endif #if HAVE_UTMPX_H # include #elif HAVE_UTMP_H # include #endif #if HAVE_OS_H # include #endif ], [[ #if defined BOOT_TIME || (defined CTL_KERN && defined KERN_BOOTTIME) || HAVE_OS_H /* your system *does* have the infrastructure to determine boot time */ #else please_tell_us_how_to_determine_boot_time_on_your_system #endif ]])], gnulib_cv_have_boot_time=yes, gnulib_cv_have_boot_time=no) ]) AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2]) ]) dc3dd-7.1.614/m4/dos.m40000644000175000017500000000454611022023316014005 0ustar amedicoamedico#serial 10 -*- autoconf -*- # Define some macros required for proper operation of code in lib/*.c # on MSDOS/Windows systems. # Copyright (C) 2000, 2001, 2004, 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # From Jim Meyering. AC_DEFUN([gl_AC_DOS], [ AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos], [ AC_TRY_COMPILE([], [#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__ neither MSDOS nor Windows #endif], [ac_cv_win_or_dos=yes], [ac_cv_win_or_dos=no]) ]) if test x"$ac_cv_win_or_dos" = xyes; then ac_fs_accepts_drive_letter_prefix=1 ac_fs_backslash_is_file_name_separator=1 AC_CACHE_CHECK([whether drive letter can start relative path], [ac_cv_drive_letter_can_be_relative], [ AC_TRY_COMPILE([], [#if defined __CYGWIN__ drive letters are always absolute #endif], [ac_cv_drive_letter_can_be_relative=yes], [ac_cv_drive_letter_can_be_relative=no]) ]) if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then ac_fs_drive_letter_can_be_relative=1 else ac_fs_drive_letter_can_be_relative=0 fi else ac_fs_accepts_drive_letter_prefix=0 ac_fs_backslash_is_file_name_separator=0 ac_fs_drive_letter_can_be_relative=0 fi AC_DEFINE_UNQUOTED([FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX], $ac_fs_accepts_drive_letter_prefix, [Define on systems for which file names may have a so-called `drive letter' prefix, define this to compute the length of that prefix, including the colon.]) AH_VERBATIM(ISSLASH, [#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR # define ISSLASH(C) ((C) == '/' || (C) == '\\') #else # define ISSLASH(C) ((C) == '/') #endif]) AC_DEFINE_UNQUOTED([FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR], $ac_fs_backslash_is_file_name_separator, [Define if the backslash character may also serve as a file name component separator.]) AC_DEFINE_UNQUOTED([FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE], $ac_fs_drive_letter_can_be_relative, [Define if a drive letter prefix denotes a relative path if it is not followed by a file name component separator.]) ]) dc3dd-7.1.614/m4/strtoul.m40000644000175000017500000000052211022023316014722 0ustar amedicoamedico# strtoul.m4 serial 3 dnl Copyright (C) 2002, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOUL], [ AC_REPLACE_FUNCS(strtoul) ]) dc3dd-7.1.614/m4/freading.m40000644000175000017500000000052611022023316014771 0ustar amedicoamedico# freading.m4 serial 1 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREADING], [ AC_CHECK_FUNCS_ONCE([__freading]) ]) dc3dd-7.1.614/m4/double-slash-root.m40000644000175000017500000000270211064230667016572 0ustar amedicoamedico# double-slash-root.m4 serial 3 -*- Autoconf -*- dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_DOUBLE_SLASH_ROOT], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([whether // is distinct from /], [gl_cv_double_slash_root], [ if test x"$cross_compiling" = xyes ; then # When cross-compiling, there is no way to tell whether // is special # short of a list of hosts. However, the only known hosts to date # that have a distinct // are Apollo DomainOS (too old to port to), # Cygwin, and z/OS. If anyone knows of another system for which // has # special semantics and is distinct from /, please report it to # . case $host in *-cygwin | i370-ibm-openedition) gl_cv_double_slash_root=yes ;; *) # Be optimistic and assume that / and // are the same when we # don't know. gl_cv_double_slash_root='unknown, assuming no' ;; esac else set x `ls -di / // 2>/dev/null` if test "$[2]" = "$[4]" && wc //dev/null >/dev/null 2>&1; then gl_cv_double_slash_root=no else gl_cv_double_slash_root=yes fi fi]) if test "$gl_cv_double_slash_root" = yes; then AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], 1, [Define to 1 if // is a file system root distinct from /.]) fi ]) dc3dd-7.1.614/m4/sleep.m40000644000175000017500000000103211064230667014332 0ustar amedicoamedico# sleep.m4 serial 1 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SLEEP], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([sleep]) if test $ac_cv_func_sleep = no; then HAVE_SLEEP=0 AC_LIBOBJ([sleep]) gl_PREREQ_SLEEP fi ]) # Prerequisites of lib/sleep.c. AC_DEFUN([gl_PREREQ_SLEEP], [:]) dc3dd-7.1.614/m4/nanosleep.m40000644000175000017500000000600411022023316015173 0ustar amedicoamedico#serial 23 dnl From Jim Meyering. dnl Check for the nanosleep function. dnl If not found, use the supplied replacement. dnl # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free # Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_NANOSLEEP], [ dnl Persuade glibc and Solaris to declare nanosleep. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) AC_REQUIRE([gl_CLOCK_TIME]) AC_CHECK_HEADERS_ONCE(sys/time.h) nanosleep_save_libs=$LIBS # Solaris 2.5.1 needs -lposix4 to get the nanosleep function. # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. AC_SEARCH_LIBS([nanosleep], [rt posix4], [test "$ac_cv_search_nanosleep" = "none required" || LIB_NANOSLEEP=$ac_cv_search_nanosleep]) AC_CACHE_CHECK([for working nanosleep], [gl_cv_func_nanosleep], [ AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include #include #include #if HAVE_SYS_TIME_H #include #endif #include #include #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) #define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) static void check_for_SIGALRM (int sig) { if (sig != SIGALRM) _exit (1); } int main () { static struct timespec ts_sleep; static struct timespec ts_remaining; static struct sigaction act; if (! nanosleep) return 1; act.sa_handler = check_for_SIGALRM; sigemptyset (&act.sa_mask); sigaction (SIGALRM, &act, NULL); ts_sleep.tv_sec = 0; ts_sleep.tv_nsec = 1; alarm (1); if (nanosleep (&ts_sleep, NULL) != 0) return 1; ts_sleep.tv_sec = TYPE_MAXIMUM (time_t); ts_sleep.tv_nsec = 999999999; alarm (1); if (nanosleep (&ts_sleep, &ts_remaining) == -1 && errno == EINTR && TYPE_MAXIMUM (time_t) - 10 < ts_remaining.tv_sec) return 0; return 119; }]])], [gl_cv_func_nanosleep=yes], [case $? in dnl ( 119) gl_cv_func_nanosleep='no (mishandles large arguments)';; dnl ( *) gl_cv_func_nanosleep=no;; esac], [gl_cv_func_nanosleep=cross-compiling]) ]) if test "$gl_cv_func_nanosleep" = yes; then REPLACE_NANOSLEEP=0 else REPLACE_NANOSLEEP=1 if test "$gl_cv_func_nanosleep" = 'no (mishandles large arguments)'; then AC_DEFINE([HAVE_BUG_BIG_NANOSLEEP], 1, [Define to 1 if nanosleep mishandles large arguments.]) for ac_lib in $LIB_CLOCK_GETTIME; do case " $LIB_NANOSLEEP " in *" $ac_lib "*) ;; *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";; esac done fi AC_LIBOBJ(nanosleep) gl_PREREQ_NANOSLEEP fi AC_SUBST([LIB_NANOSLEEP]) LIBS=$nanosleep_save_libs ]) # Prerequisites of lib/nanosleep.c. AC_DEFUN([gl_PREREQ_NANOSLEEP], [ AC_CHECK_FUNCS_ONCE(siginterrupt) AC_CHECK_HEADERS_ONCE(sys/select.h) ]) dc3dd-7.1.614/m4/mbiter.m40000644000175000017500000000105311022023316014470 0ustar amedicoamedico# mbiter.m4 serial 2 dnl Copyright (C) 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl autoconf tests required for use of mbiter.h dnl From Bruno Haible. AC_DEFUN([gl_MBITER], [ AC_REQUIRE([AC_TYPE_MBSTATE_T]) dnl The following line is that so the user can test HAVE_MBRTOWC before dnl #include "mbiter.h" or "mbuiter.h". AC_REQUIRE([gl_FUNC_MBRTOWC]) : ]) dc3dd-7.1.614/m4/d-ino.m40000644000175000017500000000222411022023316014215 0ustar amedicoamedico#serial 10 dnl From Jim Meyering. dnl dnl Check whether struct dirent has a member named d_ino. dnl # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2006, 2007 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO], [AC_CACHE_CHECK([for d_ino member in directory struct], gl_cv_struct_dirent_d_ino, [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include ]], [[DIR *dp = opendir ("."); struct dirent *e; struct stat st; if (! dp) return 1; e = readdir (dp); return ! (e && stat (e->d_name, &st) == 0 && e->d_ino == st.st_ino);]])], [gl_cv_struct_dirent_d_ino=yes], [gl_cv_struct_dirent_d_ino=no], [gl_cv_struct_dirent_d_ino=no])]) if test $gl_cv_struct_dirent_d_ino = yes; then AC_DEFINE(D_INO_IN_DIRENT, 1, [Define if struct dirent has a member d_ino that actually works.]) fi ] ) dc3dd-7.1.614/m4/strtoumax.m40000644000175000017500000000205611022023316015260 0ustar amedicoamedico# strtoumax.m4 serial 6 dnl Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOUMAX], [ dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. AC_REQUIRE([AC_PROG_CPP]) AC_REQUIRE([AC_PROG_EGREP]) AC_CACHE_CHECK([whether defines strtoumax as a macro], gl_cv_func_strtoumax_macro, [AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include #ifdef strtoumax inttypes_h_defines_strtoumax #endif], gl_cv_func_strtoumax_macro=yes, gl_cv_func_strtoumax_macro=no)]) if test "$gl_cv_func_strtoumax_macro" != yes; then AC_REPLACE_FUNCS(strtoumax) if test $ac_cv_func_strtoumax = no; then gl_PREREQ_STRTOUMAX fi fi ]) # Prerequisites of lib/strtoumax.c. AC_DEFUN([gl_PREREQ_STRTOUMAX], [ AC_CHECK_DECLS(strtoull) AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) ]) dc3dd-7.1.614/m4/cloexec.m40000644000175000017500000000050211022023316014626 0ustar amedicoamedico#serial 6 dnl Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CLOEXEC], [ AC_LIBOBJ([cloexec]) ]) dc3dd-7.1.614/m4/gethrxtime.m40000644000175000017500000000423111064230667015406 0ustar amedicoamedico# gethrxtime.m4 serial 7 dnl Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_GETHRXTIME], [ AC_REQUIRE([gl_ARITHMETIC_HRTIME_T]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_XTIME]) AC_CHECK_DECLS([gethrtime], [], [], [#include ]) case $ac_cv_have_decl_gethrtime,$gl_cv_arithmetic_hrtime_t in yes,yes) ;; *) AC_LIBOBJ([gethrxtime]) gl_PREREQ_GETHRXTIME;; esac ]) # Test whether hrtime_t is an arithmetic type. # It is not arithmetic in older Solaris c89 (which insists on # not having a long long int type). AC_DEFUN([gl_ARITHMETIC_HRTIME_T], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CACHE_CHECK([for arithmetic hrtime_t], gl_cv_arithmetic_hrtime_t, [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[hrtime_t x = 0; return x/x;]])], [gl_cv_arithmetic_hrtime_t=yes], [gl_cv_arithmetic_hrtime_t=no])]) if test $gl_cv_arithmetic_hrtime_t = yes; then AC_DEFINE([HAVE_ARITHMETIC_HRTIME_T], 1, [Define if you have an arithmetic hrtime_t type.]) fi ]) # Prerequisites of lib/xtime.h. AC_DEFUN([gl_XTIME], [ AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) : ]) # Prerequisites of lib/gethrxtime.c. AC_DEFUN([gl_PREREQ_GETHRXTIME], [ AC_REQUIRE([gl_CLOCK_TIME]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE(microuptime nanouptime) if test $ac_cv_func_nanouptime != yes; then LIB_GETHRXTIME= AC_CACHE_CHECK([whether CLOCK_MONOTONIC or CLOCK_REALTIME is defined], gl_cv_have_clock_gettime_macro, [AC_EGREP_CPP([have_clock_gettime_macro], [ # include # if defined CLOCK_MONOTONIC || defined CLOCK_REALTIME have_clock_gettime_macro # endif ], gl_cv_have_clock_gettime_macro=yes, gl_cv_have_clock_gettime_macro=no)]) if test $gl_cv_have_clock_gettime_macro = yes; then LIB_GETHRXTIME=$LIB_CLOCK_GETTIME fi AC_SUBST([LIB_GETHRXTIME]) fi ]) dc3dd-7.1.614/m4/memchr.m40000644000175000017500000000077011022023316014466 0ustar amedicoamedico# memchr.m4 serial 4 dnl Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MEMCHR], [ AC_REPLACE_FUNCS(memchr) if test $ac_cv_func_memchr = no; then gl_PREREQ_MEMCHR fi ]) # Prerequisites of lib/memchr.c. AC_DEFUN([gl_PREREQ_MEMCHR], [ AC_CHECK_HEADERS(bp-sym.h) ]) dc3dd-7.1.614/m4/eoverflow.m40000644000175000017500000000446611022023316015231 0ustar amedicoamedico# eoverflow.m4 serial 2 dnl Copyright (C) 2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. # The EOVERFLOW errno value ought to be defined in , according to # POSIX. But some systems (like AIX 3) don't define it, and some systems # (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined. # Define EOVERFLOW as a C macro and as a substituted macro in such a way that # 1. on all systems, after inclusion of , EOVERFLOW is usable, # 2. on systems where EOVERFLOW is defined elsewhere, we use the same numeric # value. AC_DEFUN([gl_EOVERFLOW], [ AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for EOVERFLOW], ac_cv_decl_EOVERFLOW, [ AC_EGREP_CPP(yes,[ #include #ifdef EOVERFLOW yes #endif ], have_eoverflow=1) if test -n "$have_eoverflow"; then dnl EOVERFLOW exists in . Don't need to define EOVERFLOW ourselves. ac_cv_decl_EOVERFLOW=yes else AC_EGREP_CPP(yes,[ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef EOVERFLOW yes #endif ], have_eoverflow=1) if test -n "$have_eoverflow"; then dnl EOVERFLOW exists but is hidden. dnl Define it to the same value. AC_COMPUTE_INT([ac_cv_decl_EOVERFLOW], [EOVERFLOW], [ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include ]) else dnl EOVERFLOW isn't defined by the system. Define EOVERFLOW ourselves, but dnl don't define it as EINVAL, because snprintf() callers want to dnl distinguish EINVAL and EOVERFLOW. ac_cv_decl_EOVERFLOW=E2BIG fi fi ]) if test "$ac_cv_decl_EOVERFLOW" != yes; then AC_DEFINE_UNQUOTED([EOVERFLOW], [$ac_cv_decl_EOVERFLOW], [Define as good substitute value for EOVERFLOW.]) EOVERFLOW="$ac_cv_decl_EOVERFLOW" AC_SUBST(EOVERFLOW) fi ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) dc3dd-7.1.614/m4/vasprintf-posix.m40000644000175000017500000000751311064230667016410 0ustar amedicoamedico# vasprintf-posix.m4 serial 12 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VASPRINTF_POSIX], [ AC_REQUIRE([gl_PRINTF_SIZES_C99]) AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) AC_REQUIRE([gl_PRINTF_INFINITE]) AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_N]) AC_REQUIRE([gl_PRINTF_POSITIONS]) AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) AC_REQUIRE([gl_PRINTF_PRECISION]) AC_REQUIRE([gl_PRINTF_ENOMEM]) gl_cv_func_vasprintf_posix=no AC_CHECK_FUNCS([vasprintf]) case "$gl_cv_func_printf_sizes_c99" in *yes) case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) case "$gl_cv_func_printf_directive_a" in *yes) case "$gl_cv_func_printf_directive_f" in *yes) case "$gl_cv_func_printf_directive_n" in *yes) case "$gl_cv_func_printf_positions" in *yes) case "$gl_cv_func_printf_flag_grouping" in *yes) case "$gl_cv_func_printf_flag_leftadjust" in *yes) case "$gl_cv_func_printf_flag_zero" in *yes) case "$gl_cv_func_printf_precision" in *yes) case "$gl_cv_func_printf_enomem" in *yes) if test $ac_cv_func_vasprintf = yes; then # vasprintf exists and is # already POSIX compliant. gl_cv_func_vasprintf_posix=yes fi ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac if test $gl_cv_func_vasprintf_posix = no; then gl_PREREQ_VASNPRINTF_LONG_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE gl_PREREQ_VASNPRINTF_DIRECTIVE_A gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_PREREQ_VASNPRINTF_FLAG_GROUPING gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST gl_PREREQ_VASNPRINTF_FLAG_ZERO gl_PREREQ_VASNPRINTF_PRECISION gl_PREREQ_VASNPRINTF_ENOMEM gl_REPLACE_VASNPRINTF gl_REPLACE_VASPRINTF fi ]) dc3dd-7.1.614/m4/fprintftime.m40000644000175000017500000000050411022023316015535 0ustar amedicoamedico#serial 2 dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FPRINTFTIME], [ AC_LIBOBJ([fprintftime]) ]) dc3dd-7.1.614/m4/lib-ld.m40000644000175000017500000000653111022023316014357 0ustar amedicoamedico# lib-ld.m4 serial 3 (gettext-0.13) dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) dc3dd-7.1.614/m4/strndup.m40000644000175000017500000000312411064230667014725 0ustar amedicoamedico# strndup.m4 serial 15 dnl Copyright (C) 2002-2003, 2005-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRNDUP], [ dnl Persuade glibc to declare strndup(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([strndup]) if test $ac_cv_have_decl_strndup = no; then HAVE_DECL_STRNDUP=0 fi # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. AC_CACHE_CHECK([for working strndup], gl_cv_func_strndup, [AC_RUN_IFELSE([ AC_LANG_PROGRAM([[#include #include ]], [[ #ifndef HAVE_DECL_STRNDUP extern char *strndup (const char *, size_t); #endif char *s; s = strndup ("some longer string", 15); free (s); s = strndup ("shorter string", 13); return s[13] != '\0';]])], [gl_cv_func_strndup=yes], [gl_cv_func_strndup=no], [AC_CHECK_FUNC([strndup], [AC_EGREP_CPP([too risky], [ #ifdef _AIX too risky #endif ], [gl_cv_func_strndup=no], [gl_cv_func_strndup=yes])], [gl_cv_func_strndup=no])])]) if test $gl_cv_func_strndup = yes; then AC_DEFINE([HAVE_STRNDUP], 1, [Define if you have the strndup() function and it works.]) else HAVE_STRNDUP=0 AC_LIBOBJ([strndup]) gl_PREREQ_STRNDUP fi ]) # Prerequisites of lib/strndup.c. AC_DEFUN([gl_PREREQ_STRNDUP], [:]) dc3dd-7.1.614/m4/fseeko.m40000644000175000017500000000167411064230667014512 0ustar amedicoamedico# fseeko.m4 serial 4 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FSEEKO], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) dnl Persuade glibc to declare fseeko(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CACHE_CHECK([for fseeko], [gl_cv_func_fseeko], [ AC_TRY_LINK([#include ], [fseeko (stdin, 0, 0);], [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no]) ]) if test $gl_cv_func_fseeko = no; then HAVE_FSEEKO=0 gl_REPLACE_FSEEKO elif test $gl_cv_var_stdin_large_offset = no; then gl_REPLACE_FSEEKO fi ]) AC_DEFUN([gl_REPLACE_FSEEKO], [ AC_LIBOBJ([fseeko]) AC_REQUIRE([gl_STDIO_H_DEFAULTS]) REPLACE_FSEEKO=1 ]) dc3dd-7.1.614/m4/getline.m40000644000175000017500000000446211022023316014644 0ustar amedicoamedico# getline.m4 serial 18 dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007 Free dnl Software Foundation, Inc. dnl dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_PREREQ([2.59]) dnl See if there's a working, system-supplied version of the getline function. dnl We can't just do AC_REPLACE_FUNCS(getline) because some systems dnl have a function by that name in -linet that doesn't have anything dnl to do with the function we need. AC_DEFUN([gl_FUNC_GETLINE], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) dnl Persuade glibc to declare getline(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_DECLS_ONCE([getline]) gl_getline_needs_run_time_check=no AC_CHECK_FUNC(getline, dnl Found it in some library. Verify that it works. gl_getline_needs_run_time_check=yes, am_cv_func_working_getline=no) if test $gl_getline_needs_run_time_check = yes; then AC_CACHE_CHECK([for working getline function], am_cv_func_working_getline, [echo fooN |tr -d '\012'|tr N '\012' > conftest.data AC_TRY_RUN([ # include # include # include int main () { /* Based on a test program from Karl Heuer. */ char *line = NULL; size_t siz = 0; int len; FILE *in = fopen ("./conftest.data", "r"); if (!in) return 1; len = getline (&line, &siz, in); exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1); } ], am_cv_func_working_getline=yes dnl The library version works. , am_cv_func_working_getline=no dnl The library version does NOT work. , dnl We're cross compiling. Assume it works on glibc2 systems. [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) Lucky GNU user #endif #endif ], [am_cv_func_working_getline=yes], [am_cv_func_working_getline=no])] )]) fi if test $ac_cv_have_decl_getline = no; then HAVE_DECL_GETLINE=0 fi if test $am_cv_func_working_getline = no; then REPLACE_GETLINE=1 AC_LIBOBJ([getline]) gl_PREREQ_GETLINE fi ]) # Prerequisites of lib/getline.c. AC_DEFUN([gl_PREREQ_GETLINE], [ gl_FUNC_GETDELIM ]) dc3dd-7.1.614/m4/getcwd-abort-bug.m40000644000175000017500000000555711022023316016360 0ustar amedicoamedico#serial 1 # Determine whether getcwd aborts when the length of the working directory # name is unusually large. Any length between 4k and 16k trigger the bug # when using glibc-2.4.90-9 or older. # Copyright (C) 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # From Jim Meyering # gl_FUNC_GETCWD_ABORT_BUG([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG], [ AC_CHECK_DECLS_ONCE(getcwd) AC_CHECK_FUNCS(getpagesize) AC_CACHE_CHECK([whether getcwd aborts when 4k < cwd_length < 16k], gl_cv_func_getcwd_abort_bug, [# Remove any remnants of a previous test. rm -rf confdir-14B--- # Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir-14B---" AC_RUN_IFELSE( [AC_LANG_SOURCE( [[ #include #include #include #include #include /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir #ifndef S_IRWXU # define S_IRWXU 0700 #endif /* FIXME: skip the run-test altogether on systems without getpagesize. */ #if ! HAVE_GETPAGESIZE # define getpagesize() 0 #endif /* This size is chosen to be larger than PATH_MAX (4k), yet smaller than the 16kB pagesize on ia64 linux. Those conditions make the code below trigger a bug in glibc's getcwd implementation before 2.4.90-10. */ #define TARGET_LEN (5 * 1024) int main () { char const *dir_name = "confdir-14B---"; char *cwd; size_t initial_cwd_len; int fail = 0; size_t desired_depth; size_t d; /* The bug is triggered when PATH_MAX < getpagesize (), so skip this relative expensive and invasive test if that's not true. */ if (getpagesize () <= PATH_MAX) return 0; cwd = getcwd (NULL, 0); if (cwd == NULL) return 0; initial_cwd_len = strlen (cwd); free (cwd); desired_depth = ((TARGET_LEN - 1 - initial_cwd_len) / (1 + strlen (dir_name))); for (d = 0; d < desired_depth; d++) { if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0) { fail = 3; /* Unable to construct deep hierarchy. */ break; } } /* If libc has the bug in question, this invocation of getcwd results in a failed assertion. */ cwd = getcwd (NULL, 0); if (cwd == NULL) fail = 4; /* getcwd failed. This is ok, and expected. */ free (cwd); /* Call rmdir first, in case the above chdir failed. */ rmdir (dir_name); while (0 < d--) { if (chdir ("..") < 0) break; rmdir (dir_name); } return 0; } ]])], [gl_cv_func_getcwd_abort_bug=no], [gl_cv_func_getcwd_abort_bug=yes], [gl_cv_func_getcwd_abort_bug=yes]) ]) AS_IF([test $gl_cv_func_getcwd_abort_bug = yes], [$1], [$2]) ]) dc3dd-7.1.614/m4/safe-write.m40000644000175000017500000000072111022023316015255 0ustar amedicoamedico# safe-write.m4 serial 3 dnl Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SAFE_WRITE], [ AC_LIBOBJ([safe-write]) gl_PREREQ_SAFE_WRITE ]) # Prerequisites of lib/safe-write.c. AC_DEFUN([gl_PREREQ_SAFE_WRITE], [ gl_PREREQ_SAFE_READ ]) dc3dd-7.1.614/m4/utime.m40000644000175000017500000000143111022023316014331 0ustar amedicoamedico#serial 7 dnl From Jim Meyering dnl Replace the utime function on systems that need it. # Copyright (C) 1998, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl FIXME AC_DEFUN([gl_FUNC_UTIME], [ AC_REQUIRE([AC_FUNC_UTIME_NULL]) if test $ac_cv_func_utime_null = no; then AC_LIBOBJ(utime) AC_DEFINE(utime, rpl_utime, [Define to rpl_utime if the replacement function should be used.]) gl_PREREQ_UTIME fi ]) # Prerequisites of lib/utime.c. AC_DEFUN([gl_PREREQ_UTIME], [ AC_CHECK_HEADERS_ONCE(utime.h) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_UTIMBUF]) gl_FUNC_UTIMES_NULL ]) dc3dd-7.1.614/m4/isnan.m40000644000175000017500000001065011022023316014321 0ustar amedicoamedico# isnan.m4 serial 2 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check how to get or define isnan() without linking with libm. AC_DEFUN([gl_FUNC_ISNAN_NO_LIBM], [ AC_CACHE_CHECK([whether isnan(double) can be used without linking with libm], [gl_cv_func_isnan_no_libm], [ AC_TRY_LINK([#include double x;], [return isnan (x);], [gl_cv_func_isnan_no_libm=yes], [gl_cv_func_isnan_no_libm=no]) ]) if test $gl_cv_func_isnan_no_libm = yes; then AC_DEFINE([HAVE_ISNAN_IN_LIBC], 1, [Define if the isnan(double) function is available in libc.]) else AC_LIBOBJ([isnan]) gl_DOUBLE_EXPONENT_LOCATION fi ]) AC_DEFUN([gl_DOUBLE_EXPONENT_LOCATION], [ AC_CACHE_CHECK([where to find the exponent in a 'double'], [gl_cv_cc_double_expbit0], [ AC_TRY_RUN([ #include #include #include #include #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (double x) { memory_double m; size_t i; /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ memset (&m, 0, sizeof (memory_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25); add_to_ored_words (0.5); add_to_ored_words (1.0); add_to_ored_words (2.0); add_to_ored_words (4.0); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } ], [gl_cv_cc_double_expbit0=`cat conftest.out`], [gl_cv_cc_double_expbit0="unknown"], [ dnl On ARM, there are two 'double' floating-point formats, used by dnl different sets of instructions: The older FPA instructions assume dnl that they are stored in big-endian word order, while the words dnl (like integer types) are stored in little-endian byte order. dnl The newer VFP instructions assume little-endian order consistenly. AC_EGREP_CPP([mixed_endianness], [ #if defined arm || defined __arm || defined __arm__ mixed_endianness #endif ], [gl_cv_cc_double_expbit0="unknown"], [ pushdef([AC_MSG_CHECKING],[:])dnl pushdef([AC_MSG_RESULT],[:])dnl pushdef([AC_MSG_RESULT_UNQUOTED],[:])dnl AC_C_BIGENDIAN( [gl_cv_cc_double_expbit0="word 0 bit 20"], [gl_cv_cc_double_expbit0="word 1 bit 20"], [gl_cv_cc_double_expbit0="unknown"]) popdef([AC_MSG_RESULT_UNQUOTED])dnl popdef([AC_MSG_RESULT])dnl popdef([AC_MSG_CHECKING])dnl ]) ]) rm -f conftest.out ]) case "$gl_cv_cc_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` AC_DEFINE_UNQUOTED([DBL_EXPBIT0_WORD], [$word], [Define as the word index where to find the exponent of 'double'.]) AC_DEFINE_UNQUOTED([DBL_EXPBIT0_BIT], [$bit], [Define as the bit index in the word where to find bit 0 of the exponent of 'double'.]) ;; esac ]) dc3dd-7.1.614/m4/memxfrm.m40000644000175000017500000000067311022023316014670 0ustar amedicoamedicodnl Copyright (C) 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MEMXFRM], [ AC_LIBSOURCES([memxfrm.c, memxfrm.h]) AC_LIBOBJ([memxfrm]) AC_REQUIRE([AC_C_RESTRICT]) dnl Prerequisites of lib/memcoll.c. AC_CHECK_FUNCS_ONCE([strxfrm]) ]) dc3dd-7.1.614/m4/isnanf.m40000644000175000017500000001363011064230667014507 0ustar amedicoamedico# isnanf.m4 serial 6 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check how to get or define isnanf() without linking with libm. AC_DEFUN([gl_FUNC_ISNANF_NO_LIBM], [ gl_HAVE_ISNANF_NO_LIBM if test $gl_cv_func_isnanf_no_libm = yes; then gl_ISNANF_WORKS fi if test $gl_cv_func_isnanf_no_libm = yes \ && { case "$gl_cv_func_isnanf_works" in *yes) true;; *) false;; esac }; then AC_DEFINE([HAVE_ISNANF_IN_LIBC], 1, [Define if the isnan(float) function is available in libc.]) else AC_LIBOBJ([isnanf]) gl_FLOAT_EXPONENT_LOCATION fi ]) dnl Test whether isnanf() can be used without libm. AC_DEFUN([gl_HAVE_ISNANF_NO_LIBM], [ AC_CACHE_CHECK([whether isnan(float) can be used without linking with libm], [gl_cv_func_isnanf_no_libm], [ AC_TRY_LINK([#include #if __GNUC__ >= 4 # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) #elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) #endif float x;], [return isnanf (x);], [gl_cv_func_isnanf_no_libm=yes], [gl_cv_func_isnanf_no_libm=no]) ]) ]) dnl Test whether isnanf() rejects Infinity (this fails on Solaris 2.5.1), dnl recognizes a NaN (this fails on IRIX 6.5 with cc), and recognizes a NaN dnl with in-memory representation 0x7fbfffff (this fails on IRIX 6.5). AC_DEFUN([gl_ISNANF_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_FLOAT_EXPONENT_LOCATION]) AC_CACHE_CHECK([whether isnan(float) works], [gl_cv_func_isnanf_works], [ AC_TRY_RUN([ #include #if __GNUC__ >= 4 # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) #elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) #endif /* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ #ifdef __DECC static float NaN () { static float zero = 0.0f; return zero / zero; } #else # define NaN() (0.0f / 0.0f) #endif #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { unsigned int word[NWORDS]; float value; } memory_float; int main() { memory_float m; if (isnanf (1.0f / 0.0f)) return 1; if (!isnanf (NaN ())) return 1; #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT /* The isnanf function should be immune against changes in the sign bit and in the mantissa bits. The xor operation twiddles a bit that can only be a sign bit or a mantissa bit. */ if (FLT_EXPBIT0_WORD == 0 && FLT_EXPBIT0_BIT > 0) { m.value = NaN (); /* Set the bits below the exponent to 01111...111. */ m.word[0] &= -1U << FLT_EXPBIT0_BIT; m.word[0] |= 1U << (FLT_EXPBIT0_BIT - 1) - 1; if (!isnanf (m.value)) return 1; } #endif return 0; }], [gl_cv_func_isnanf_works=yes], [gl_cv_func_isnanf_works=no], [case "$host_os" in irix* | solaris*) gl_cv_func_isnanf_works="guessing no";; *) gl_cv_func_isnanf_works="guessing yes";; esac ]) ]) ]) AC_DEFUN([gl_FLOAT_EXPONENT_LOCATION], [ AC_CACHE_CHECK([where to find the exponent in a 'float'], [gl_cv_cc_float_expbit0], [ AC_TRY_RUN([ #include #include #include #include #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (float x) { memory_float m; size_t i; /* Clear it first, in case sizeof (float) < sizeof (memory_float). */ memset (&m, 0, sizeof (memory_float)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25f); add_to_ored_words (0.5f); add_to_ored_words (1.0f); add_to_ored_words (2.0f); add_to_ored_words (4.0f); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } ], [gl_cv_cc_float_expbit0=`cat conftest.out`], [gl_cv_cc_float_expbit0="unknown"], [gl_cv_cc_float_expbit0="word 0 bit 23"]) rm -f conftest.out ]) case "$gl_cv_cc_float_expbit0" in word*bit*) word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` AC_DEFINE_UNQUOTED([FLT_EXPBIT0_WORD], [$word], [Define as the word index where to find the exponent of 'float'.]) AC_DEFINE_UNQUOTED([FLT_EXPBIT0_BIT], [$bit], [Define as the bit index in the word where to find bit 0 of the exponent of 'float'.]) ;; esac ]) dc3dd-7.1.614/m4/ftello.m40000644000175000017500000000166711064230667014525 0ustar amedicoamedico# ftello.m4 serial 4 dnl Copyright (C) 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FTELLO], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) dnl Persuade glibc to declare fseeko(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CACHE_CHECK([for ftello], [gl_cv_func_ftello], [ AC_TRY_LINK([#include ], [ftello (stdin);], [gl_cv_func_ftello=yes], [gl_cv_func_ftello=no]) ]) if test $gl_cv_func_ftello = no; then HAVE_FTELLO=0 gl_REPLACE_FTELLO elif test $gl_cv_var_stdin_large_offset = no; then gl_REPLACE_FTELLO fi ]) AC_DEFUN([gl_REPLACE_FTELLO], [ AC_LIBOBJ([ftello]) AC_REQUIRE([gl_STDIO_H_DEFAULTS]) REPLACE_FTELLO=1 ]) dc3dd-7.1.614/m4/openat.m40000644000175000017500000000534211064230667014520 0ustar amedicoamedico#serial 16 # See if we need to use our replacement for Solaris' openat et al functions. dnl Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. AC_DEFUN([gl_FUNC_OPENAT], [ AC_LIBOBJ([openat-proc]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([lchmod]) AC_CHECK_FUNCS_ONCE([fdopendir]) AC_REPLACE_FUNCS([fchmodat mkdirat openat]) AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) case $ac_cv_func_openat+$ac_cv_func_lstat_dereferences_slashed_symlink in yes+yes) ;; yes+*) AC_LIBOBJ([fstatat]);; *) AC_DEFINE([__OPENAT_PREFIX], [[rpl_]], [Define to rpl_ if the openat replacement function should be used.]) gl_PREREQ_OPENAT;; esac gl_FUNC_FCHOWNAT ]) # gl_FUNC_FCHOWNAT_DEREF_BUG([ACTION-IF-BUGGY[, ACTION-IF-NOT_BUGGY]]) AC_DEFUN([gl_FUNC_FCHOWNAT_DEREF_BUG], [ AC_CACHE_CHECK([whether fchownat works with AT_SYMLINK_NOFOLLOW], gl_cv_func_fchownat_nofollow_works, [ gl_dangle=conftest.dangle # Remove any remnants of a previous test. rm -f $gl_dangle # Arrange for deletion of the temporary file this test creates. ac_clean_files="$ac_clean_files $gl_dangle" ln -s conftest.no-such $gl_dangle AC_RUN_IFELSE( [AC_LANG_SOURCE( [[ #include #include #include #include #include int main () { return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), AT_SYMLINK_NOFOLLOW) != 0 && errno == ENOENT); } ]])], [gl_cv_func_fchownat_nofollow_works=yes], [gl_cv_func_fchownat_nofollow_works=no], [gl_cv_func_fchownat_nofollow_works=no], ) ]) AS_IF([test $gl_cv_func_fchownat_nofollow_works = no], [$1], [$2]) ]) # If we have the fchownat function, and it has the bug (in glibc-2.4) # that it dereferences symlinks even with AT_SYMLINK_NOFOLLOW, then # use the replacement function. # Also use the replacement function if fchownat is simply not available. AC_DEFUN([gl_FUNC_FCHOWNAT], [ # Assume we'll use the replacement function. # The only case in which we won't is when we have fchownat, and it works. use_replacement_fchownat=yes AC_CHECK_FUNC([fchownat], [have_fchownat=yes], [have_fchownat=no]) if test $have_fchownat = yes; then gl_FUNC_FCHOWNAT_DEREF_BUG([], [use_replacement_fchownat=no]) fi if test $use_replacement_fchownat = yes; then AC_LIBOBJ(fchownat) AC_DEFINE(fchownat, rpl_fchownat, [Define to rpl_fchownat if the replacement function should be used.]) fi ]) AC_DEFUN([gl_PREREQ_OPENAT], [ : ]) dc3dd-7.1.614/m4/unlink-busy.m40000644000175000017500000000163311022023316015472 0ustar amedicoamedico#serial 11 dnl From J. David Anglin. dnl HPUX and other systems can't unlink shared text that is being executed. # Copyright (C) 2000, 2001, 2004, 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_UNLINK_BUSY_TEXT], [dnl AC_CACHE_CHECK([whether a running program can be unlinked], gl_cv_func_unlink_busy_text, [ AC_RUN_IFELSE( [AC_LANG_SOURCE( [AC_INCLUDES_DEFAULT[ int main (int argc, char **argv) { return !argc || unlink (argv[0]) != 0; }]])], gl_cv_func_unlink_busy_text=yes, gl_cv_func_unlink_busy_text=no, gl_cv_func_unlink_busy_text=no ) ] ) if test $gl_cv_func_unlink_busy_text = no; then INSTALL=$ac_install_sh fi ]) dc3dd-7.1.614/m4/sha1.m40000644000175000017500000000067211064230667014067 0ustar amedicoamedico# sha1.m4 serial 8 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SHA1], [ AC_LIBOBJ([sha1]) dnl Prerequisites of lib/sha1.c. AC_REQUIRE([AC_C_BIGENDIAN]) AC_REQUIRE([AC_C_INLINE]) : ]) dc3dd-7.1.614/m4/rename-dest-slash.m40000644000175000017500000000252511022023316016527 0ustar amedicoamedico#serial 2 # Copyright (C) 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Derived from rename.m4. # A rename wrapper to make tools like mv -- that would normally # rely on the underlying rename syscall -- work more consistently. AC_DEFUN([gl_FUNC_RENAME_TRAILING_DEST_SLASH], [ AC_CACHE_CHECK([whether rename is broken with respect to destination slashes], gl_cv_func_rename_trailing_dest_slash_bug, [ rm -rf conftest.d1 conftest.d2 mkdir conftest.d1 || AC_MSG_ERROR([cannot create temporary directory]) AC_TRY_RUN([ # include int main () { return (rename ("conftest.d1", "conftest.d2/") ? 1 : 0); } ], gl_cv_func_rename_trailing_dest_slash_bug=no, gl_cv_func_rename_trailing_dest_slash_bug=yes, dnl When crosscompiling, assume rename is broken. gl_cv_func_rename_trailing_dest_slash_bug=yes) rm -rf conftest.d1 conftest.d2 ]) if test $gl_cv_func_rename_trailing_dest_slash_bug = yes; then AC_LIBOBJ(rename-dest-slash) AC_DEFINE(rename, rpl_rename_dest_slash, [Define to rpl_rename_dest_slash if the replacement function should be used.]) fi ]) dc3dd-7.1.614/m4/safe-read.m40000644000175000017500000000073311022023316015041 0ustar amedicoamedico# safe-read.m4 serial 5 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SAFE_READ], [ AC_LIBOBJ([safe-read]) gl_PREREQ_SAFE_READ ]) # Prerequisites of lib/safe-read.c. AC_DEFUN([gl_PREREQ_SAFE_READ], [ AC_REQUIRE([gt_TYPE_SSIZE_T]) ]) dc3dd-7.1.614/m4/dup2.m40000644000175000017500000000070111022023316014057 0ustar amedicoamedico#serial 5 dnl Copyright (C) 2002, 2005, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_DUP2], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([dup2]) if test $ac_cv_func_dup2 = no; then HAVE_DUP2=0 AC_LIBOBJ([dup2]) fi ]) dc3dd-7.1.614/m4/chown.m40000644000175000017500000000427111022023316014331 0ustar amedicoamedico#serial 17 # Determine whether we need the chown wrapper. dnl Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2007 Free dnl Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # chown should accept arguments of -1 for uid and gid, and it should # dereference symlinks. If it doesn't, arrange to use the replacement # function. # From Jim Meyering. AC_DEFUN([gl_FUNC_CHOWN], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_TYPE_UID_T]) AC_REQUIRE([AC_FUNC_CHOWN]) AC_REQUIRE([gl_FUNC_CHOWN_FOLLOWS_SYMLINK]) if test $ac_cv_func_chown_works = no; then AC_DEFINE(CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE, 1, [Define if chown is not POSIX compliant regarding IDs of -1.]) fi # If chown has either of the above problems, then we need the wrapper. if test $ac_cv_func_chown_works$gl_cv_func_chown_follows_symlink = yesyes; then : # no wrapper needed else REPLACE_CHOWN=1 AC_LIBOBJ(chown) gl_PREREQ_CHOWN fi ]) # Determine whether chown follows symlinks (it should). AC_DEFUN([gl_FUNC_CHOWN_FOLLOWS_SYMLINK], [ AC_CACHE_CHECK( [whether chown(2) dereferences symlinks], gl_cv_func_chown_follows_symlink, [ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include #include int main () { char const *dangling_symlink = "conftest.dangle"; unlink (dangling_symlink); if (symlink ("conftest.no-such", dangling_symlink)) abort (); /* Exit successfully on a conforming system, i.e., where chown must fail with ENOENT. */ exit ( ! (chown (dangling_symlink, getuid (), getgid ()) != 0 && errno == ENOENT)); } ]])], [gl_cv_func_chown_follows_symlink=yes], [gl_cv_func_chown_follows_symlink=no], [gl_cv_func_chown_follows_symlink=yes] ) ] ) if test $gl_cv_func_chown_follows_symlink = no; then AC_DEFINE(CHOWN_MODIFIES_SYMLINK, 1, [Define if chown modifies symlinks.]) fi ]) # Prerequisites of lib/chown.c. AC_DEFUN([gl_PREREQ_CHOWN], [ AC_CHECK_FUNC([fchown], , [AC_LIBOBJ(fchown-stub)]) ]) dc3dd-7.1.614/m4/netinet_in_h.m40000644000175000017500000000176511064230667015702 0ustar amedicoamedico# netinet_in_h.m4 serial 4 dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HEADER_NETINET_IN], [ AC_CACHE_CHECK([whether is self-contained], [gl_cv_header_netinet_in_h_selfcontained], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[]])], [gl_cv_header_netinet_in_h_selfcontained=yes], [gl_cv_header_netinet_in_h_selfcontained=no]) ]) if test $gl_cv_header_netinet_in_h_selfcontained = yes; then NETINET_IN_H='' else NETINET_IN_H='netinet/in.h' AC_CHECK_HEADERS([netinet/in.h]) gl_CHECK_NEXT_HEADERS([netinet/in.h]) if test $ac_cv_header_netinet_in_h = yes; then HAVE_NETINET_IN_H=1 else HAVE_NETINET_IN_H=0 fi AC_SUBST([HAVE_NETINET_IN_H]) fi AC_SUBST([NETINET_IN_H]) ]) dc3dd-7.1.614/m4/locale-tr.m40000644000175000017500000000742211022023316015076 0ustar amedicoamedico# locale-tr.m4 serial 5 dnl Copyright (C) 2003, 2005-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Determine the name of a turkish locale with UTF-8 encoding. AC_DEFUN([gt_LOCALE_TR_UTF8], [ AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a turkish Unicode locale], gt_cv_locale_tr_utf8, [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. But BeOS does not implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the eighth month, the second character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f) return 1; /* Check whether the upper-/lowercase mappings are as expected for Turkish. */ if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i' || towupper(0x0131) != 'I' || towlower ('I') != 0x0131) return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr.UTF-8 else # None found. gt_cv_locale_tr_utf8=none fi fi fi else gt_cv_locale_tr_utf8=none fi rm -fr conftest* ]) LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8 AC_SUBST([LOCALE_TR_UTF8]) ]) dc3dd-7.1.614/m4/utimbuf.m40000644000175000017500000000227411022023316014667 0ustar amedicoamedico#serial 8 # Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2007 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared -- dnl usually in . dnl Some systems have utime.h but don't declare the struct anywhere. AC_DEFUN([gl_CHECK_TYPE_STRUCT_UTIMBUF], [ AC_CHECK_HEADERS_ONCE(sys/time.h utime.h) AC_CACHE_CHECK([for struct utimbuf], [gl_cv_sys_struct_utimbuf], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#if HAVE_SYS_TIME_H #include #endif #include #ifdef HAVE_UTIME_H #include #endif ]], [[static struct utimbuf x; x.actime = x.modtime;]])], [gl_cv_sys_struct_utimbuf=yes], [gl_cv_sys_struct_utimbuf=no])]) if test $gl_cv_sys_struct_utimbuf = yes; then AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1, [Define if struct utimbuf is declared -- usually in . Some systems have utime.h but don't declare the struct anywhere. ]) fi ]) dc3dd-7.1.614/m4/save-cwd.m40000644000175000017500000000062611022023316014724 0ustar amedicoamedico#serial 8 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SAVE_CWD], [ AC_LIBOBJ([save-cwd]) dnl Prerequisites for lib/save-cwd.c. AC_CHECK_FUNCS_ONCE(fchdir) ]) dc3dd-7.1.614/m4/exclude.m40000644000175000017500000000052411022023316014641 0ustar amedicoamedico# exclude.m4 serial 7 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_EXCLUDE], [ AC_LIBOBJ([exclude]) ]) dc3dd-7.1.614/m4/xalloc.m40000644000175000017500000000105511022023316014472 0ustar amedicoamedico# xalloc.m4 serial 16 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XALLOC], [ AC_LIBOBJ([xmalloc]) gl_PREREQ_XALLOC gl_PREREQ_XMALLOC ]) # Prerequisites of lib/xalloc.h. AC_DEFUN([gl_PREREQ_XALLOC], [ AC_REQUIRE([gl_INLINE]) : ]) # Prerequisites of lib/xmalloc.c. AC_DEFUN([gl_PREREQ_XMALLOC], [ : ]) dc3dd-7.1.614/m4/getcwd.m40000644000175000017500000000271611022023316014472 0ustar amedicoamedico# getcwd.m4 - check for working getcwd that is compatible with glibc # Copyright (C) 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. AC_DEFUN([gl_FUNC_GETCWD_NULL], [ AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result], [gl_cv_func_getcwd_null], [AC_TRY_RUN( [ # include # include # ifndef getcwd char *getcwd (); # endif int main () { if (chdir ("/") != 0) exit (1); else { char *f = getcwd (NULL, 0); exit (! (f && f[0] == '/' && !f[1])); } }], [gl_cv_func_getcwd_null=yes], [gl_cv_func_getcwd_null=no], [gl_cv_func_getcwd_null=no])]) ]) AC_DEFUN([gl_FUNC_GETCWD], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_GETCWD_NULL]) gl_abort_bug=no case $gl_cv_func_getcwd_null in yes) gl_FUNC_GETCWD_PATH_MAX gl_FUNC_GETCWD_ABORT_BUG([gl_abort_bug=yes]);; esac case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_path_max,$gl_abort_bug in yes,yes,no) ;; *) REPLACE_GETCWD=1 AC_LIBOBJ([getcwd]) gl_PREREQ_GETCWD;; esac ]) # Prerequisites of lib/getcwd.c. AC_DEFUN([gl_PREREQ_GETCWD], [ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO]) : ]) dc3dd-7.1.614/m4/cycle-check.m40000644000175000017500000000054611022023316015366 0ustar amedicoamedico#serial 5 dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CYCLE_CHECK], [ AC_REQUIRE([AC_C_INLINE]) AC_LIBOBJ([cycle-check]) ]) dc3dd-7.1.614/m4/quote.m40000644000175000017500000000060011022023316014340 0ustar amedicoamedico# quote.m4 serial 5 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_QUOTE], [ AC_LIBOBJ([quote]) dnl Prerequisites of lib/quote.c. dnl (none) ]) dc3dd-7.1.614/m4/unicodeio.m40000644000175000017500000000054311022023316015167 0ustar amedicoamedico# unicodeio.m4 serial 2 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_UNICODEIO], [ dnl No prerequisites of lib/unicodeio.c. : ]) dc3dd-7.1.614/m4/modechange.m40000644000175000017500000000053511022023316015304 0ustar amedicoamedico# modechange.m4 serial 6 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MODECHANGE], [ AC_LIBOBJ([modechange]) ]) dc3dd-7.1.614/m4/wcwidth.m40000644000175000017500000000455611022023316014672 0ustar amedicoamedico# wcwidth.m4 serial 13 dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_WCWIDTH], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) dnl Persuade glibc to declare wcwidth(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) AC_CHECK_HEADERS_ONCE([wchar.h]) AC_CHECK_FUNCS_ONCE([wcwidth]) AC_CHECK_DECLS([wcwidth], [], [], [ /* AIX 3.2.5 declares wcwidth in . */ #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include ]) if test $ac_cv_have_decl_wcwidth != yes; then HAVE_DECL_WCWIDTH=0 fi if test $ac_cv_func_wcwidth = no; then REPLACE_WCWIDTH=1 else dnl On MacOS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1. dnl On OSF/1 5.1, wcwidth(0x200B) (ZERO WIDTH SPACE) returns 1. dnl This leads to bugs in 'ls' (coreutils). AC_CACHE_CHECK([whether wcwidth works reasonably in UTF-8 locales], [gl_cv_func_wcwidth_works], [ AC_TRY_RUN([ #include /* AIX 3.2.5 declares wcwidth in . */ #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include #if !HAVE_DECL_WCWIDTH extern # ifdef __cplusplus "C" # endif int wcwidth (int); #endif int main () { if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL) if (wcwidth (0x0301) > 0 || wcwidth (0x200B) > 0) return 1; return 0; }], [gl_cv_func_wcwidth_works=yes], [gl_cv_func_wcwidth_works=no], [gl_cv_func_wcwidth_works="guessing no"]) ]) case "$gl_cv_func_wcwidth_works" in *yes) ;; *no) REPLACE_WCWIDTH=1 ;; esac fi if test $REPLACE_WCWIDTH = 1; then AC_LIBOBJ([wcwidth]) fi if test $REPLACE_WCWIDTH = 1 || test $HAVE_DECL_WCWIDTH = 0; then WCHAR_H=wchar.h fi ]) dc3dd-7.1.614/m4/glibc21.m40000644000175000017500000000144511022023316014436 0ustar amedicoamedico# glibc21.m4 serial 3 dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. AC_DEFUN([gl_GLIBC21], [ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, ac_cv_gnu_library_2_1, [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif ], ac_cv_gnu_library_2_1=yes, ac_cv_gnu_library_2_1=no) ] ) AC_SUBST(GLIBC21) GLIBC21="$ac_cv_gnu_library_2_1" ] ) dc3dd-7.1.614/m4/stat-time.m40000644000175000017500000000562211022023316015123 0ustar amedicoamedico# Checks for stat-related time functions. # Copyright (C) 1998, 1999, 2001, 2003, 2005, 2006, 2007 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # st_atim.tv_nsec - Linux, Solaris, Cygwin # st_atimespec.tv_nsec - FreeBSD, NetBSD, if ! defined _POSIX_SOURCE # st_atimensec - FreeBSD, NetBSD, if defined _POSIX_SOURCE # st_atim.st__tim.tv_nsec - UnixWare (at least 2.1.2 through 7.1) # st_birthtimespec - FreeBSD, NetBSD (hidden on OpenBSD 3.9, anyway) # st_birthtim - Cygwin 1.7.0+ AC_DEFUN([gl_STAT_TIME], [ AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) AC_CHECK_MEMBERS([struct stat.st_atim.tv_nsec], [AC_CACHE_CHECK([whether struct stat.st_atim is of type struct timespec], [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec], [AC_TRY_COMPILE( [ #include #include #if HAVE_SYS_TIME_H # include #endif #include struct timespec ts; struct stat st; ], [ st.st_atim = ts; ], [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes], [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no])]) if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then AC_DEFINE([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], 1, [Define to 1 if the type of the st_atim member of a struct stat is struct timespec.]) fi], [AC_CHECK_MEMBERS([struct stat.st_atimespec.tv_nsec], [], [AC_CHECK_MEMBERS([struct stat.st_atimensec], [], [AC_CHECK_MEMBERS([struct stat.st_atim.st__tim.tv_nsec], [], [], [#include #include ])], [#include #include ])], [#include #include ])], [#include #include ]) ]) # Check for st_birthtime, a feature from UFS2 (FreeBSD, NetBSD, OpenBSD, etc.) # and NTFS (Cygwin). # There was a time when this field was named st_createtime (21 June # 2002 to 16 July 2002) But that window is very small and applied only # to development code, so systems still using that configuration are # not supported. See revisions 1.10 and 1.11 of FreeBSD's # src/sys/ufs/ufs/dinode.h. # AC_DEFUN([gl_STAT_BIRTHTIME], [ AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE([sys/time.h]) AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec], [], [AC_CHECK_MEMBERS([struct stat.st_birthtimensec], [], [AC_CHECK_MEMBERS([struct stat.st_birthtim.tv_nsec], [], [], [#include #include ])], [#include #include ])], [#include #include ]) ]) dc3dd-7.1.614/m4/sys_time_h.m40000644000175000017500000000311611022023316015353 0ustar amedicoamedico# Configure a replacement for . # Copyright (C) 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert and Martin Lambers. AC_DEFUN([gl_HEADER_SYS_TIME_H], [ dnl Use AC_REQUIRE here, so that the REPLACE_GETTIMEOFDAY=0 statement dnl below is expanded once only, before all REPLACE_GETTIMEOFDAY=1 dnl statements that occur in other macros. AC_REQUIRE([gl_HEADER_SYS_TIME_H_BODY]) ]) AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY], [ AC_REQUIRE([AC_C_RESTRICT]) gl_CHECK_NEXT_HEADERS([sys/time.h]) if test $ac_cv_header_sys_time_h = yes; then HAVE_SYS_TIME_H=1 else HAVE_SYS_TIME_H=0 fi AC_SUBST([HAVE_SYS_TIME_H]) AC_CACHE_CHECK([for struct timeval], [gl_cv_sys_struct_timeval], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#if HAVE_SYS_TIME_H #include #endif #include ]], [[static struct timeval x; x.tv_sec = x.tv_usec;]])], [gl_cv_sys_struct_timeval=yes], [gl_cv_sys_struct_timeval=no])]) if test $gl_cv_sys_struct_timeval = yes; then HAVE_STRUCT_TIMEVAL=1 else HAVE_STRUCT_TIMEVAL=0 fi AC_SUBST([HAVE_STRUCT_TIMEVAL]) dnl Assume POSIX behavior unless another module says otherwise. REPLACE_GETTIMEOFDAY=0 AC_SUBST([REPLACE_GETTIMEOFDAY]) if test $HAVE_SYS_TIME_H = 0 || test $HAVE_STRUCT_TIMEVAL = 0; then SYS_TIME_H=sys/time.h else SYS_TIME_H= fi AC_SUBST([SYS_TIME_H]) ]) dc3dd-7.1.614/m4/uptime.m40000644000175000017500000000145711022023316014521 0ustar amedicoamedico#serial 7 # Copyright (C) 1996, 1999, 2000, 2001, 2004 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_PREREQ(2.13) AC_DEFUN([gl_SYS_PROC_UPTIME], [ dnl Require AC_PROG_CC to see if we're cross compiling. AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([for /proc/uptime], gl_cv_have_proc_uptime, [gl_cv_have_proc_uptime=no test -f /proc/uptime \ && test "$cross_compiling" = no \ && cat < /proc/uptime >/dev/null 2>/dev/null \ && gl_cv_have_proc_uptime=yes]) if test $gl_cv_have_proc_uptime = yes; then AC_DEFINE(HAVE_PROC_UPTIME, 1, [ Define if your system has the /proc/uptime special file.]) fi ]) dc3dd-7.1.614/m4/vprintf-posix.m40000644000175000017500000000113311022023316016035 0ustar amedicoamedico# vprintf-posix.m4 serial 1 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VPRINTF_POSIX], [ AC_REQUIRE([gl_FUNC_VFPRINTF_POSIX]) if test $gl_cv_func_vfprintf_posix = no; then gl_REPLACE_VPRINTF fi ]) AC_DEFUN([gl_REPLACE_VPRINTF], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_LIBOBJ([vprintf]) REPLACE_VPRINTF=1 gl_PREREQ_VPRINTF ]) AC_DEFUN([gl_PREREQ_VPRINTF], [:]) dc3dd-7.1.614/m4/longlong.m40000644000175000017500000001010111022023316015017 0ustar amedicoamedico# longlong.m4 serial 13 dnl Copyright (C) 1999-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_LONG_LONG_INT if 'long long int' works. # This fixes a bug in Autoconf 2.61, but can be removed once we # assume 2.62 everywhere. # Note: If the type 'long long int' exists but is only 32 bits large # (as on some very old compilers), HAVE_LONG_LONG_INT will not be # defined. In this case you can treat 'long long int' like 'long int'. AC_DEFUN([AC_TYPE_LONG_LONG_INT], [ AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], [AC_LINK_IFELSE( [_AC_TYPE_LONG_LONG_SNIPPET], [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. dnl If cross compiling, assume the bug isn't important, since dnl nobody cross compiles for this platform as far as we know. AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[@%:@include @%:@ifndef LLONG_MAX @%:@ define HALF \ (1LL << (sizeof (long long int) * CHAR_BIT - 2)) @%:@ define LLONG_MAX (HALF - 1 + HALF) @%:@endif]], [[long long int n = 1; int i; for (i = 0; ; i++) { long long int m = n << i; if (m >> i != n) return 1; if (LLONG_MAX / 2 < m) break; } return 0;]])], [ac_cv_type_long_long_int=yes], [ac_cv_type_long_long_int=no], [ac_cv_type_long_long_int=yes])], [ac_cv_type_long_long_int=no])]) if test $ac_cv_type_long_long_int = yes; then AC_DEFINE([HAVE_LONG_LONG_INT], 1, [Define to 1 if the system has the type `long long int'.]) fi ]) # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. # This fixes a bug in Autoconf 2.61, but can be removed once we # assume 2.62 everywhere. # Note: If the type 'unsigned long long int' exists but is only 32 bits # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT # will not be defined. In this case you can treat 'unsigned long long int' # like 'unsigned long int'. AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], [ AC_CACHE_CHECK([for unsigned long long int], [ac_cv_type_unsigned_long_long_int], [AC_LINK_IFELSE( [_AC_TYPE_LONG_LONG_SNIPPET], [ac_cv_type_unsigned_long_long_int=yes], [ac_cv_type_unsigned_long_long_int=no])]) if test $ac_cv_type_unsigned_long_long_int = yes; then AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, [Define to 1 if the system has the type `unsigned long long int'.]) fi ]) # Expands to a C program that can be used to test for simultaneous support # of 'long long' and 'unsigned long long'. We don't want to say that # 'long long' is available if 'unsigned long long' is not, or vice versa, # because too many programs rely on the symmetry between signed and unsigned # integer types (excluding 'bool'). AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], [ AC_LANG_PROGRAM( [[/* For now, do not test the preprocessor; as of 2007 there are too many implementations with broken preprocessors. Perhaps this can be revisited in 2012. In the meantime, code should not expect #if to work with literals wider than 32 bits. */ /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63;]], [[/* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull));]]) ]) dc3dd-7.1.614/m4/closein.m40000644000175000017500000000055511022023316014650 0ustar amedicoamedico# closein.m4 serial 1 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CLOSEIN], [ AC_LIBOBJ([closein]) dnl Prerequisites of lib/closein.c. : ]) dc3dd-7.1.614/m4/codeset.m40000644000175000017500000000136611022023316014643 0ustar amedicoamedico# codeset.m4 serial 2 (gettext-0.16) dnl Copyright (C) 2000-2002, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(CODESET); return !cs;], am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=no) ]) if test $am_cv_langinfo_codeset = yes; then AC_DEFINE(HAVE_LANGINFO_CODESET, 1, [Define if you have and nl_langinfo(CODESET).]) fi ]) dc3dd-7.1.614/m4/userspec.m40000644000175000017500000000063511022023316015044 0ustar amedicoamedico#serial 9 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_USERSPEC], [ AC_LIBOBJ([userspec]) dnl Prerequisites of lib/userspec.c. AC_CHECK_HEADERS_ONCE(sys/param.h) ]) dc3dd-7.1.614/m4/getpagesize.m40000644000175000017500000000147411022023316015524 0ustar amedicoamedico# getpagesize.m4 serial 7 dnl Copyright (C) 2002, 2004-2005, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_GETPAGESIZE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_FUNCS([getpagesize]) if test $ac_cv_func_getpagesize = no; then HAVE_GETPAGESIZE=0 AC_CHECK_HEADERS([OS.h]) if test $ac_cv_header_OS_h = yes; then HAVE_OS_H=1 fi AC_CHECK_HEADERS([sys/param.h]) if test $ac_cv_header_sys_param_h = yes; then HAVE_SYS_PARAM_H=1 fi fi case "$host_os" in mingw*) REPLACE_GETPAGESIZE=1 AC_LIBOBJ([getpagesize]) ;; esac ]) dc3dd-7.1.614/m4/dirname.m40000644000175000017500000000106211022023316014625 0ustar amedicoamedico#serial 7 -*- autoconf -*- dnl Copyright (C) 2002-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_DIRNAME], [ AC_LIBOBJ([basename]) AC_LIBOBJ([dirname]) AC_LIBOBJ([stripslash]) dnl Prerequisites of lib/dirname.h. AC_REQUIRE([gl_AC_DOS]) AC_REQUIRE([gl_DOUBLE_SLASH_ROOT]) dnl No prerequisites of lib/basename.c, lib/dirname.c, lib/stripslash.c. ]) dc3dd-7.1.614/m4/xsize.m40000644000175000017500000000064511022023316014356 0ustar amedicoamedico# xsize.m4 serial 3 dnl Copyright (C) 2003-2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XSIZE], [ dnl Prerequisites of lib/xsize.h. AC_REQUIRE([gl_SIZE_MAX]) AC_REQUIRE([AC_C_INLINE]) AC_CHECK_HEADERS(stdint.h) ]) dc3dd-7.1.614/m4/time_r.m40000644000175000017500000000254711064230667014515 0ustar amedicoamedicodnl Reentrant time functions like localtime_r. dnl Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_TIME_R], [ dnl Persuade glibc and Solaris to declare localtime_r. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) AC_REQUIRE([AC_C_RESTRICT]) AC_CACHE_CHECK([whether localtime_r is compatible with its POSIX signature], [gl_cv_time_r_posix], [AC_TRY_COMPILE( [#include ], [/* We don't need to append 'restrict's to the argument types, even though the POSIX signature has the 'restrict's, since C99 says they can't affect type compatibility. */ struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; if (ptr) return 0; /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */ *localtime_r (0, 0);], [gl_cv_time_r_posix=yes], [gl_cv_time_r_posix=no])]) if test $gl_cv_time_r_posix = yes; then REPLACE_LOCALTIME_R=0 else REPLACE_LOCALTIME_R=1 AC_LIBOBJ([time_r]) gl_PREREQ_TIME_R fi ]) # Prerequisites of lib/time_r.c. AC_DEFUN([gl_PREREQ_TIME_R], [ : ]) dc3dd-7.1.614/m4/utimes-null.m40000644000175000017500000000224411022023316015467 0ustar amedicoamedico#serial 7 # Copyright (C) 1998, 1999, 2001, 2003, 2004, 2006 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl Shamelessly cloned from acspecific.m4's AC_FUNC_UTIME_NULL, dnl then do case-insensitive s/utime/utimes/. AC_DEFUN([gl_FUNC_UTIMES_NULL], [AC_CACHE_CHECK(whether utimes accepts a null argument, ac_cv_func_utimes_null, [rm -f conftest.data; > conftest.data AC_TRY_RUN([ /* In case stat has been defined to rpl_stat, undef it here. */ #undef stat #include #include #include int main () { struct stat s, t; return ! (stat ("conftest.data", &s) == 0 && utimes ("conftest.data", 0) == 0 && stat ("conftest.data", &t) == 0 && t.st_mtime >= s.st_mtime && t.st_mtime - s.st_mtime < 120)); }], ac_cv_func_utimes_null=yes, ac_cv_func_utimes_null=no, ac_cv_func_utimes_null=no) rm -f core core.* *.core]) if test $ac_cv_func_utimes_null = yes; then AC_DEFINE(HAVE_UTIMES_NULL, 1, [Define if utimes accepts a null argument]) fi ] ) dc3dd-7.1.614/m4/fchdir.m40000644000175000017500000000136611022023316014454 0ustar amedicoamedico# fchdir.m4 serial 4 dnl Copyright (C) 2006-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FCHDIR], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([fchdir]) if test $ac_cv_func_fchdir = no; then REPLACE_FCHDIR=1 AC_LIBOBJ([fchdir]) gl_PREREQ_FCHDIR AC_DEFINE([FCHDIR_REPLACEMENT], 1, [Define if gnulib's fchdir() replacement is used.]) gl_CHECK_NEXT_HEADERS([dirent.h]) DIRENT_H='dirent.h' else DIRENT_H= fi AC_SUBST([DIRENT_H]) ]) # Prerequisites of lib/fchdir.c. AC_DEFUN([gl_PREREQ_FCHDIR], [:]) dc3dd-7.1.614/m4/tm_gmtoff.m40000644000175000017500000000101611022023316015167 0ustar amedicoamedico# tm_gmtoff.m4 serial 2 dnl Copyright (C) 2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_TM_GMTOFF], [ AC_CHECK_MEMBER([struct tm.tm_gmtoff], [AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if struct tm has the tm_gmtoff member.])], , [#include ]) ]) dc3dd-7.1.614/m4/alloca.m40000644000175000017500000000305511022023316014445 0ustar amedicoamedico# alloca.m4 serial 8 dnl Copyright (C) 2002-2004, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ALLOCA], [ dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. AC_REQUIRE([AC_PROG_CPP]) AC_REQUIRE([AC_PROG_EGREP]) AC_REQUIRE([AC_FUNC_ALLOCA]) if test $ac_cv_func_alloca_works = no; then gl_PREREQ_ALLOCA fi # Define an additional variable used in the Makefile substitution. if test $ac_cv_working_alloca_h = yes; then AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [ AC_EGREP_CPP([Need own alloca], [ #if defined __GNUC__ || defined _AIX || defined _MSC_VER Need own alloca #endif ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no]) ]) if test $gl_cv_rpl_alloca = yes; then dnl OK, alloca can be implemented through a compiler built-in. AC_DEFINE([HAVE_ALLOCA], 1, [Define to 1 if you have 'alloca' after including , a header that may be supplied by this distribution.]) ALLOCA_H=alloca.h else dnl alloca exists as a library function, i.e. it is slow and probably dnl a memory leak. Don't define HAVE_ALLOCA in this case. ALLOCA_H= fi else ALLOCA_H=alloca.h fi AC_SUBST([ALLOCA_H]) ]) # Prerequisites of lib/alloca.c. # STACK_DIRECTION is already handled by AC_FUNC_ALLOCA. AC_DEFUN([gl_PREREQ_ALLOCA], [:]) dc3dd-7.1.614/m4/getopt.m40000644000175000017500000000470311064230667014534 0ustar amedicoamedico# getopt.m4 serial 14 dnl Copyright (C) 2002-2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # The getopt module assume you want GNU getopt, with getopt_long etc, # rather than vanilla POSIX getopt. This means your code should # always include for the getopt prototypes. AC_DEFUN([gl_GETOPT_SUBSTITUTE], [ AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) gl_GETOPT_SUBSTITUTE_HEADER gl_PREREQ_GETOPT ]) AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], [ GETOPT_H=getopt.h AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], [Define to rpl_ if the getopt replacement functions and variables should be used.]) AC_SUBST([GETOPT_H]) ]) AC_DEFUN([gl_GETOPT_CHECK_HEADERS], [ if test -z "$GETOPT_H"; then AC_CHECK_HEADERS([getopt.h], [], [GETOPT_H=getopt.h]) fi if test -z "$GETOPT_H"; then AC_CHECK_FUNCS([getopt_long_only], [], [GETOPT_H=getopt.h]) fi dnl BSD getopt_long uses an incompatible method to reset option processing, dnl and (as of 2004-10-15) mishandles optional option-arguments. if test -z "$GETOPT_H"; then AC_CHECK_DECL([optreset], [GETOPT_H=getopt.h], [], [#include ]) fi dnl Solaris 10 getopt doesn't handle `+' as a leading character in an dnl option string (as of 2005-05-05). if test -z "$GETOPT_H"; then AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt], [AC_RUN_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[ char *myargv[3]; myargv[0] = "conftest"; myargv[1] = "-+"; myargv[2] = 0; return getopt (2, myargv, "+a") != '?'; ]])], [gl_cv_func_gnu_getopt=yes], [gl_cv_func_gnu_getopt=no], [dnl cross compiling - pessimistically guess based on decls dnl Solaris 10 getopt doesn't handle `+' as a leading character in an dnl option string (as of 2005-05-05). AC_CHECK_DECL([getopt_clip], [gl_cv_func_gnu_getopt=no], [gl_cv_func_gnu_getopt=yes], [#include ])])]) if test "$gl_cv_func_gnu_getopt" = "no"; then GETOPT_H=getopt.h fi fi ]) AC_DEFUN([gl_GETOPT_IFELSE], [ AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) AS_IF([test -n "$GETOPT_H"], [$1], [$2]) ]) AC_DEFUN([gl_GETOPT], [gl_GETOPT_IFELSE([gl_GETOPT_SUBSTITUTE])]) # Prerequisites of lib/getopt*. AC_DEFUN([gl_PREREQ_GETOPT], [ AC_CHECK_DECLS_ONCE([getenv]) ]) dc3dd-7.1.614/m4/dirfd.m40000644000175000017500000000412411022023316014300 0ustar amedicoamedico#serial 14 -*- Autoconf -*- dnl Find out how to get the file descriptor associated with an open DIR*. # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering AC_DEFUN([gl_FUNC_DIRFD], [ dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. AC_REQUIRE([AC_PROG_CPP]) AC_REQUIRE([AC_PROG_EGREP]) AC_CHECK_FUNCS(dirfd) AC_CHECK_DECLS([dirfd], , , [#include #include ]) AC_CACHE_CHECK([whether dirfd is a macro], gl_cv_func_dirfd_macro, [AC_EGREP_CPP([dirent_header_defines_dirfd], [ #include #include #ifdef dirfd dirent_header_defines_dirfd #endif], gl_cv_func_dirfd_macro=yes, gl_cv_func_dirfd_macro=no)]) # Use the replacement only if we have no function, macro, # or declaration with that name. if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$gl_cv_func_dirfd_macro \ = no,no,no; then AC_REPLACE_FUNCS([dirfd]) AC_CACHE_CHECK( [how to get the file descriptor associated with an open DIR*], gl_cv_sys_dir_fd_member_name, [ dirfd_save_CFLAGS=$CFLAGS for ac_expr in d_fd dd_fd; do CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" AC_TRY_COMPILE( [#include #include ], [DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;], dir_fd_found=yes ) CFLAGS=$dirfd_save_CFLAGS test "$dir_fd_found" = yes && break done test "$dir_fd_found" = yes || ac_expr=no_such_member gl_cv_sys_dir_fd_member_name=$ac_expr ] ) if test $gl_cv_sys_dir_fd_member_name != no_such_member; then AC_DEFINE_UNQUOTED(DIR_FD_MEMBER_NAME, $gl_cv_sys_dir_fd_member_name, [the name of the file descriptor member of DIR]) fi AH_VERBATIM(DIR_TO_FD, [#ifdef DIR_FD_MEMBER_NAME # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME) #else # define DIR_TO_FD(Dir_p) -1 #endif ]) fi ]) dc3dd-7.1.614/m4/sha256.m40000644000175000017500000000064611064230667014244 0ustar amedicoamedico# sha256.m4 serial 3 dnl Copyright (C) 2005, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SHA256], [ AC_LIBOBJ([sha256]) dnl Prerequisites of lib/sha256.c. AC_REQUIRE([AC_C_BIGENDIAN]) AC_REQUIRE([AC_C_INLINE]) ]) dc3dd-7.1.614/m4/stdio_h.m40000644000175000017500000000746711064230667014675 0ustar amedicoamedico# stdio_h.m4 serial 10 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDIO_H], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([stdio.h]) ]) AC_DEFUN([gl_STDIO_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDIO_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_STDIO_H_DEFAULTS], [ GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX]) GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX]) GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF]) GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX]) GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX]) GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX]) GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF]) GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX]) GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF]) GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN]) GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN]) GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK]) GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO]) GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL]) GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO]) GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH]) GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF]) REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF]) REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF]) REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF]) HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF]) HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF]) REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF]) HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF]) REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF]) REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO]) REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO]) REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK]) HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO]) REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO]) REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL]) REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE]) ]) dnl Code shared by fseeko and ftello. Determine if large files are supported, dnl but stdin does not start as a large file by default. AC_DEFUN([gl_STDIN_LARGE_OFFSET], [ AC_CACHE_CHECK([whether stdin defaults to large file offsets], [gl_cv_var_stdin_large_offset], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[#if defined __SL64 && defined __SCLE /* cygwin */ /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and it is easier to do a version check than building a runtime test. */ # include # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) choke me # endif #endif]])], [gl_cv_var_stdin_large_offset=yes], [gl_cv_var_stdin_large_offset=no])]) ]) dc3dd-7.1.614/m4/posixtm.m40000644000175000017500000000060211022023316014710 0ustar amedicoamedico# posixtm.m4 serial 6 dnl Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_POSIXTM], [ AC_LIBOBJ(posixtm) dnl No prerequisites of lib/posixtm.c. ]) dc3dd-7.1.614/m4/flexmember.m40000644000175000017500000000274111022023316015341 0ustar amedicoamedico# serial 1 # Check for flexible array member support. # Copyright (C) 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. AC_DEFUN([AC_C_FLEXIBLE_ARRAY_MEMBER], [ AC_CACHE_CHECK([for flexible array member], ac_cv_c_flexmember, [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include struct s { int n; double d[]; };]], [[int m = getchar (); struct s *p = malloc (offsetof (struct s, d) + m * sizeof (double)); p->d[0] = 0.0; return p->d != (double *) NULL;]])], [ac_cv_c_flexmember=yes], [ac_cv_c_flexmember=no])]) if test $ac_cv_c_flexmember = yes; then AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [], [Define to nothing if C supports flexible array members, and to 1 if it does not. That way, with a declaration like `struct s { int n; double d@<:@FLEXIBLE_ARRAY_MEMBER@:>@; };', the struct hack can be used with pre-C99 compilers. When computing the size of such an object, don't use 'sizeof (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)' instead. Don't use 'offsetof (struct s, d@<:@0@:>@)', as this doesn't work with MSVC and with C++ compilers.]) else AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], 1) fi ]) dc3dd-7.1.614/m4/nls.m40000644000175000017500000000226611022023316014011 0ustar amedicoamedico# nls.m4 serial 3 (gettext-0.15) dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) dc3dd-7.1.614/m4/memset.m40000644000175000017500000000072311022023316014503 0ustar amedicoamedico# memset.m4 serial 2 dnl Copyright (C) 2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MEMSET], [ AC_REPLACE_FUNCS(memset) if test $ac_cv_func_memset = no; then gl_PREREQ_MEMSET fi ]) # Prerequisites of lib/memset.c. AC_DEFUN([gl_PREREQ_MEMSET], [ : ]) dc3dd-7.1.614/m4/printf.m40000644000175000017500000014442511064230667014542 0ustar amedicoamedico# printf.m4 serial 23 dnl Copyright (C) 2003, 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Test whether the *printf family of functions supports the 'j', 'z', 't', dnl 'L' size specifiers. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_sizes_c99. AC_DEFUN([gl_PRINTF_SIZES_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports size specifiers as in C99], [gl_cv_func_printf_sizes_c99], [ AC_TRY_RUN([ #include #include #include #include #if HAVE_STDINT_H_WITH_UINTMAX # include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX # include #endif static char buf[100]; int main () { #if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX buf[0] = '\0'; if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 || strcmp (buf, "12345671 33") != 0) return 1; #endif buf[0] = '\0'; if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 || strcmp (buf, "12345672 33") != 0) return 1; buf[0] = '\0'; if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 || strcmp (buf, "12345673 33") != 0) return 1; buf[0] = '\0'; if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 || strcmp (buf, "1.5 33") != 0) return 1; return 0; }], [gl_cv_func_printf_sizes_c99=yes], [gl_cv_func_printf_sizes_c99=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) gl_cv_func_printf_sizes_c99="guessing no";; openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on Solaris >= 2.10. solaris2.[0-9]*) gl_cv_func_printf_sizes_c99="guessing no";; solaris*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_sizes_c99="guessing no";; netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_sizes_c99="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports 'long double' dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_long_double. AC_DEFUN([gl_PRINTF_LONG_DOUBLE], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports 'long double' arguments], [gl_cv_func_printf_long_double], [ AC_TRY_RUN([ #include #include static char buf[10000]; int main () { buf[0] = '\0'; if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.750000 33") != 0) return 1; buf[0] = '\0'; if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.750000e+00 33") != 0) return 1; buf[0] = '\0'; if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.75 33") != 0) return 1; return 0; }], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no], [ changequote(,)dnl case "$host_os" in beos*) gl_cv_func_printf_long_double="guessing no";; mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; *) gl_cv_func_printf_long_double="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports infinite and NaN dnl 'double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_infinite. AC_DEFUN([gl_PRINTF_INFINITE], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports infinite 'double' arguments], [gl_cv_func_printf_infinite], [ AC_TRY_RUN([ #include #include static int strisnan (const char *string, size_t start_index, size_t end_index) { if (start_index < end_index) { if (string[start_index] == '-') start_index++; if (start_index + 3 <= end_index && memcmp (string + start_index, "nan", 3) == 0) { start_index += 3; if (start_index == end_index || (string[start_index] == '(' && string[end_index - 1] == ')')) return 1; } } return 0; } static char buf[10000]; static double zero = 0.0; int main () { if (sprintf (buf, "%f", 1.0 / 0.0) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%f", -1.0 / 0.0) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%f", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%e", 1.0 / 0.0) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%e", -1.0 / 0.0) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%e", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%g", 1.0 / 0.0) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%g", -1.0 / 0.0) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%g", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; return 0; }], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; darwin*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; hpux*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_infinite="guessing no";; netbsd*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_infinite="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_infinite="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports infinite and NaN dnl 'long double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_infinite_long_double. AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE], [ AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_C_BIGENDIAN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl The user can set or unset the variable gl_printf_safe to indicate dnl that he wishes a safe handling of non-IEEE-754 'long double' values. if test -n "$gl_printf_safe"; then AC_DEFINE([CHECK_PRINTF_SAFE], 1, [Define if you wish *printf() functions that have a safe handling of non-IEEE-754 'long double' values.]) fi case "$gl_cv_func_printf_long_double" in *yes) AC_CACHE_CHECK([whether printf supports infinite 'long double' arguments], [gl_cv_func_printf_infinite_long_double], [ AC_TRY_RUN([ ]GL_NOCRASH[ #include #include #include static int strisnan (const char *string, size_t start_index, size_t end_index) { if (start_index < end_index) { if (string[start_index] == '-') start_index++; if (start_index + 3 <= end_index && memcmp (string + start_index, "nan", 3) == 0) { start_index += 3; if (start_index == end_index || (string[start_index] == '(' && string[end_index - 1] == ')')) return 1; } } return 0; } static char buf[10000]; static long double zeroL = 0.0L; int main () { nocrash_init(); if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%Le", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; #if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } # else # define LDBL80_WORDS(exponent,manthi,mantlo) \ { mantlo, manthi, exponent } # endif { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Signalling NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Pseudo-NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Pseudo-Infinity. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Pseudo-Zero. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Unnormalized number. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Pseudo-Denormal. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } #endif return 0; }], [gl_cv_func_printf_infinite_long_double=yes], [gl_cv_func_printf_infinite_long_double=no], [ changequote(,)dnl case "$host_cpu" in # Guess no on ia64, x86_64, i386. ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; *) case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_infinite_long_double="guessing no";; darwin*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_infinite_long_double="guessing no";; netbsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_infinite_long_double="guessing no";; esac ;; esac changequote([,])dnl ]) ]) ;; *) gl_cv_func_printf_infinite_long_double="irrelevant" ;; esac ]) dnl Test whether the *printf family of functions supports the 'a' and 'A' dnl conversion specifier for hexadecimal output of floating-point numbers. dnl (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_directive_a. AC_DEFUN([gl_PRINTF_DIRECTIVE_A], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives], [gl_cv_func_printf_directive_a], [ AC_TRY_RUN([ #include #include static char buf[100]; int main () { if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 || (strcmp (buf, "0x1.922p+1 33") != 0 && strcmp (buf, "0x3.244p+0 33") != 0 && strcmp (buf, "0x6.488p-1 33") != 0 && strcmp (buf, "0xc.91p-2 33") != 0)) return 1; if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 || (strcmp (buf, "-0X1.922P+1 33") != 0 && strcmp (buf, "-0X3.244P+0 33") != 0 && strcmp (buf, "-0X6.488P-1 33") != 0 && strcmp (buf, "-0XC.91P-2 33") != 0)) return 1; /* This catches a FreeBSD 6.1 bug: it doesn't round. */ if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 || (strcmp (buf, "0x1.83p+0 33") != 0 && strcmp (buf, "0x3.05p-1 33") != 0 && strcmp (buf, "0x6.0ap-2 33") != 0 && strcmp (buf, "0xc.14p-3 33") != 0)) return 1; /* This catches a FreeBSD 6.1 bug. See */ if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0 || buf[0] == '0') return 1; /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */ if (sprintf (buf, "%.1a", 1.999) < 0 || (strcmp (buf, "0x1.0p+1") != 0 && strcmp (buf, "0x2.0p+0") != 0 && strcmp (buf, "0x4.0p-1") != 0 && strcmp (buf, "0x8.0p-2") != 0)) return 1; /* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a glibc 2.4 bug . */ if (sprintf (buf, "%.1La", 1.999L) < 0 || (strcmp (buf, "0x1.0p+1") != 0 && strcmp (buf, "0x2.0p+0") != 0 && strcmp (buf, "0x4.0p-1") != 0 && strcmp (buf, "0x8.0p-2") != 0)) return 1; return 0; }], [gl_cv_func_printf_directive_a=yes], [gl_cv_func_printf_directive_a=no], [ case "$host_os" in # Guess yes on glibc >= 2.5 systems. *-gnu*) AC_EGREP_CPP([BZ2908], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2) BZ2908 #endif #endif ], [gl_cv_func_printf_directive_a="guessing yes"], [gl_cv_func_printf_directive_a="guessing no"]) ;; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_a="guessing no";; esac ]) ]) ]) dnl Test whether the *printf family of functions supports the %F format dnl directive. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_directive_f. AC_DEFUN([gl_PRINTF_DIRECTIVE_F], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the 'F' directive], [gl_cv_func_printf_directive_f], [ AC_TRY_RUN([ #include #include static char buf[100]; int main () { if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 || strcmp (buf, "1234567.000000 33") != 0) return 1; if (sprintf (buf, "%F", 1.0 / 0.0) < 0 || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) return 1; /* This catches a Cygwin 2007 bug. */ if (sprintf (buf, "%.F", 1234.0) < 0 || strcmp (buf, "1234") != 0) return 1; return 0; }], [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; darwin*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on Solaris >= 2.10. solaris2.[0-9]*) gl_cv_func_printf_directive_f="guessing no";; solaris*) gl_cv_func_printf_directive_f="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_f="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports the %n format dnl directive. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_directive_n. AC_DEFUN([gl_PRINTF_DIRECTIVE_N], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the 'n' directive], [gl_cv_func_printf_directive_n], [ AC_TRY_RUN([ #include #include static char fmtstring[10]; static char buf[100]; int main () { int count = -1; /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) support %n in format strings in read-only memory but not in writable memory. */ strcpy (fmtstring, "%d %n"); if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0 || strcmp (buf, "123 ") != 0 || count != 4) return 1; return 0; }], [gl_cv_func_printf_directive_n=yes], [gl_cv_func_printf_directive_n=no], [ changequote(,)dnl case "$host_os" in *) gl_cv_func_printf_directive_n="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports POSIX/XSI format dnl strings with positions. (POSIX:2001) dnl Result is gl_cv_func_printf_positions. AC_DEFUN([gl_PRINTF_POSITIONS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with positions], [gl_cv_func_printf_positions], [ AC_TRY_RUN([ #include #include /* The string "%2$d %1$d", with dollar characters protected from the shell's dollar expansion (possibly an autoconf bug). */ static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; static char buf[100]; int main () { sprintf (buf, format, 33, 55); return (strcmp (buf, "55 33") != 0); }], [gl_cv_func_printf_positions=yes], [gl_cv_func_printf_positions=no], [ changequote(,)dnl case "$host_os" in netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) gl_cv_func_printf_positions="guessing no";; beos*) gl_cv_func_printf_positions="guessing no";; mingw* | pw*) gl_cv_func_printf_positions="guessing no";; *) gl_cv_func_printf_positions="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports POSIX/XSI format dnl strings with the ' flag for grouping of decimal digits. (POSIX:2001) dnl Result is gl_cv_func_printf_flag_grouping. AC_DEFUN([gl_PRINTF_FLAG_GROUPING], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the grouping flag], [gl_cv_func_printf_flag_grouping], [ AC_TRY_RUN([ #include #include static char buf[100]; int main () { if (sprintf (buf, "%'d %d", 1234567, 99) < 0 || buf[strlen (buf) - 1] != '9') return 1; return 0; }], [gl_cv_func_printf_flag_grouping=yes], [gl_cv_func_printf_flag_grouping=no], [ changequote(,)dnl case "$host_os" in cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; *) gl_cv_func_printf_flag_grouping="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports the - flag correctly. dnl (ISO C99.) See dnl dnl Result is gl_cv_func_printf_flag_leftadjust. AC_DEFUN([gl_PRINTF_FLAG_LEFTADJUST], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly], [gl_cv_func_printf_flag_leftadjust], [ AC_TRY_RUN([ #include #include static char buf[100]; int main () { /* Check that a '-' flag is not annihilated by a negative width. */ if (sprintf (buf, "a%-*sc", -3, "b") < 0 || strcmp (buf, "ab c") != 0) return 1; return 0; }], [gl_cv_func_printf_flag_leftadjust=yes], [gl_cv_func_printf_flag_leftadjust=no], [ changequote(,)dnl case "$host_os" in # Guess yes on HP-UX 11. hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; # Guess no on HP-UX 10 and older. hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; # Guess yes otherwise. *) gl_cv_func_printf_flag_leftadjust="guessing yes";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports padding of non-finite dnl values with the 0 flag correctly. (ISO C99 + TC1 + TC2.) See dnl dnl Result is gl_cv_func_printf_flag_zero. AC_DEFUN([gl_PRINTF_FLAG_ZERO], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports the zero flag correctly], [gl_cv_func_printf_flag_zero], [ AC_TRY_RUN([ #include #include static char buf[100]; int main () { if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0 || (strcmp (buf, " inf") != 0 && strcmp (buf, " infinity") != 0)) return 1; return 0; }], [gl_cv_func_printf_flag_zero=yes], [gl_cv_func_printf_flag_zero=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_flag_zero="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_flag_zero="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions supports large precisions. dnl On mingw, precisions larger than 512 are treated like 512, in integer, dnl floating-point or pointer output. On BeOS, precisions larger than 1044 dnl crash the program. dnl Result is gl_cv_func_printf_precision. AC_DEFUN([gl_PRINTF_PRECISION], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf supports large precisions], [gl_cv_func_printf_precision], [ AC_TRY_RUN([ #include #include static char buf[5000]; int main () { #ifdef __BEOS__ /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ return 1; #endif if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) return 1; return 0; }], [gl_cv_func_printf_precision=yes], [gl_cv_func_printf_precision=no], [ changequote(,)dnl case "$host_os" in # Guess no only on native Win32 and BeOS systems. mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; beos*) gl_cv_func_printf_precision="guessing no" ;; *) gl_cv_func_printf_precision="guessing yes" ;; esac changequote([,])dnl ]) ]) ]) dnl Test whether the *printf family of functions recovers gracefully in case dnl of an out-of-memory condition, or whether it crashes the entire program. dnl Result is gl_cv_func_printf_enomem. AC_DEFUN([gl_PRINTF_ENOMEM], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether printf survives out-of-memory conditions], [gl_cv_func_printf_enomem], [ if test "$cross_compiling" = no; then AC_LANG_CONFTEST([AC_LANG_SOURCE([ ]GL_NOCRASH[ changequote(,)dnl #include #include #include #include #include int main() { struct rlimit limit; int ret; nocrash_init (); /* Some printf implementations allocate temporary space with malloc. */ /* On BSD systems, malloc() is limited by RLIMIT_DATA. */ #ifdef RLIMIT_DATA if (getrlimit (RLIMIT_DATA, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_DATA, &limit) < 0) return 77; #endif /* On Linux systems, malloc() is limited by RLIMIT_AS. */ #ifdef RLIMIT_AS if (getrlimit (RLIMIT_AS, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_AS, &limit) < 0) return 77; #endif /* Some printf implementations allocate temporary space on the stack. */ #ifdef RLIMIT_STACK if (getrlimit (RLIMIT_STACK, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_STACK, &limit) < 0) return 77; #endif ret = printf ("%.5000000f", 1.0); return !(ret == 5000002 || (ret < 0 && errno == ENOMEM)); } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then (./conftest result=$? if test $result != 0 && test $result != 77; then result=1; fi exit $result ) >/dev/null 2>/dev/null case $? in 0) gl_cv_func_printf_enomem="yes" ;; 77) gl_cv_func_printf_enomem="guessing no" ;; *) gl_cv_func_printf_enomem="no" ;; esac else gl_cv_func_printf_enomem="guessing no" fi rm -fr conftest* else changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on Solaris. solaris*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on AIX. aix*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on HP-UX/hppa. hpux*) case "$host_cpu" in hppa*) gl_cv_func_printf_enomem="guessing yes";; *) gl_cv_func_printf_enomem="guessing no";; esac ;; # Guess yes on IRIX. irix*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on OSF/1. osf*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_enomem="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_enomem="guessing no";; esac changequote([,])dnl fi ]) ]) dnl Test whether the snprintf function exists. (ISO C99, POSIX:2001) dnl Result is ac_cv_func_snprintf. AC_DEFUN([gl_SNPRINTF_PRESENCE], [ AC_CHECK_FUNCS_ONCE([snprintf]) ]) dnl Test whether the string produced by the snprintf function is always NUL dnl terminated. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_snprintf_truncation_c99. AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether snprintf truncates the result as in C99], [gl_cv_func_snprintf_truncation_c99], [ AC_TRY_RUN([ #include #include static char buf[100]; int main () { strcpy (buf, "ABCDEF"); snprintf (buf, 3, "%d %d", 4567, 89); if (memcmp (buf, "45\0DEF", 6) != 0) return 1; return 0; }], [gl_cv_func_snprintf_truncation_c99=yes], [gl_cv_func_snprintf_truncation_c99=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";; darwin*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) gl_cv_func_snprintf_truncation_c99="guessing no";; openbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on Solaris >= 2.6. solaris2.[0-5]*) gl_cv_func_snprintf_truncation_c99="guessing no";; solaris*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on AIX >= 4. aix[1-3]*) gl_cv_func_snprintf_truncation_c99="guessing no";; aix*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_snprintf_truncation_c99="guessing no";; hpux*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on IRIX >= 6.5. irix6.5) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on OSF/1 >= 5. osf[3-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";; osf*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_snprintf_truncation_c99="guessing no";; netbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_snprintf_truncation_c99="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the return value of the snprintf function is the number dnl of bytes (excluding the terminating NUL) that would have been produced dnl if the buffer had been large enough. (ISO C99, POSIX:2001) dnl For example, this test program fails on IRIX 6.5: dnl --------------------------------------------------------------------- dnl #include dnl int main() dnl { dnl static char buf[8]; dnl int retval = snprintf (buf, 3, "%d", 12345); dnl return retval >= 0 && retval < 3; dnl } dnl --------------------------------------------------------------------- dnl Result is gl_cv_func_snprintf_retval_c99. AC_DEFUN([gl_SNPRINTF_RETVAL_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether snprintf returns a byte count as in C99], [gl_cv_func_snprintf_retval_c99], [ AC_TRY_RUN([ #include #include static char buf[100]; int main () { strcpy (buf, "ABCDEF"); if (snprintf (buf, 3, "%d %d", 4567, 89) != 7) return 1; return 0; }], [gl_cv_func_snprintf_retval_c99=yes], [gl_cv_func_snprintf_retval_c99=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";; darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) gl_cv_func_snprintf_retval_c99="guessing no";; openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on Solaris >= 2.6. solaris2.[0-5]*) gl_cv_func_snprintf_retval_c99="guessing no";; solaris*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on AIX >= 4. aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";; aix*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_snprintf_retval_c99="guessing no";; netbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_retval_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_snprintf_retval_c99="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the snprintf function supports the %n format directive dnl also in truncated portions of the format string. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_snprintf_directive_n. AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive], [gl_cv_func_snprintf_directive_n], [ AC_TRY_RUN([ #include #include static char fmtstring[10]; static char buf[100]; int main () { int count = -1; /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) support %n in format strings in read-only memory but not in writable memory. */ strcpy (fmtstring, "%d %n"); snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55); if (count != 6) return 1; return 0; }], [gl_cv_func_snprintf_directive_n=yes], [gl_cv_func_snprintf_directive_n=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";; darwin*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on Solaris >= 2.6. solaris2.[0-5]*) gl_cv_func_snprintf_directive_n="guessing no";; solaris*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on AIX >= 4. aix[1-3]*) gl_cv_func_snprintf_directive_n="guessing no";; aix*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on IRIX >= 6.5. irix6.5) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on OSF/1 >= 5. osf[3-4]*) gl_cv_func_snprintf_directive_n="guessing no";; osf*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_snprintf_directive_n="guessing no";; netbsd*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_snprintf_directive_n="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_snprintf_directive_n="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl Test whether the snprintf function, when passed a size = 1, writes any dnl output without bounds in this case, behaving like sprintf. This is the dnl case on Linux libc5. dnl Result is gl_cv_func_snprintf_size1. AC_DEFUN([gl_SNPRINTF_SIZE1], [ AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([whether snprintf respects a size of 1], [gl_cv_func_snprintf_size1], [ AC_TRY_RUN([ #include int main() { static char buf[8] = "DEADBEEF"; snprintf (buf, 1, "%d", 12345); return buf[1] != 'E'; }], [gl_cv_func_snprintf_size1=yes], [gl_cv_func_snprintf_size1=no], [gl_cv_func_snprintf_size1="guessing yes"]) ]) ]) dnl Test whether the vsnprintf function, when passed a zero size, produces no dnl output. (ISO C99, POSIX:2001) dnl For example, snprintf nevertheless writes a NUL byte in this case dnl on OSF/1 5.1: dnl --------------------------------------------------------------------- dnl #include dnl int main() dnl { dnl static char buf[8] = "DEADBEEF"; dnl snprintf (buf, 0, "%d", 12345); dnl return buf[0] != 'D'; dnl } dnl --------------------------------------------------------------------- dnl And vsnprintf writes any output without bounds in this case, behaving like dnl vsprintf, on HP-UX 11 and OSF/1 5.1: dnl --------------------------------------------------------------------- dnl #include dnl #include dnl static int my_snprintf (char *buf, int size, const char *format, ...) dnl { dnl va_list args; dnl int ret; dnl va_start (args, format); dnl ret = vsnprintf (buf, size, format, args); dnl va_end (args); dnl return ret; dnl } dnl int main() dnl { dnl static char buf[8] = "DEADBEEF"; dnl my_snprintf (buf, 0, "%d", 12345); dnl return buf[0] != 'D'; dnl } dnl --------------------------------------------------------------------- dnl Result is gl_cv_func_vsnprintf_zerosize_c99. AC_DEFUN([gl_VSNPRINTF_ZEROSIZE_C99], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99], [gl_cv_func_vsnprintf_zerosize_c99], [ AC_TRY_RUN([ #include #include static int my_snprintf (char *buf, int size, const char *format, ...) { va_list args; int ret; va_start (args, format); ret = vsnprintf (buf, size, format, args); va_end (args); return ret; } int main() { static char buf[8] = "DEADBEEF"; my_snprintf (buf, 0, "%d", 12345); return buf[0] != 'D'; }], [gl_cv_func_vsnprintf_zerosize_c99=yes], [gl_cv_func_vsnprintf_zerosize_c99=no], [ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on Cygwin. cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on Solaris >= 2.6. solaris2.[0-5]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on AIX >= 4. aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; aix*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on IRIX >= 6.5. irix6.5) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; netbsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on mingw. mingw* | pw*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; esac changequote([,])dnl ]) ]) ]) dnl The results of these tests on various platforms are: dnl dnl 1 = gl_PRINTF_SIZES_C99 dnl 2 = gl_PRINTF_LONG_DOUBLE dnl 3 = gl_PRINTF_INFINITE dnl 4 = gl_PRINTF_INFINITE_LONG_DOUBLE dnl 5 = gl_PRINTF_DIRECTIVE_A dnl 6 = gl_PRINTF_DIRECTIVE_F dnl 7 = gl_PRINTF_DIRECTIVE_N dnl 8 = gl_PRINTF_POSITIONS dnl 9 = gl_PRINTF_FLAG_GROUPING dnl 10 = gl_PRINTF_FLAG_LEFTADJUST dnl 11 = gl_PRINTF_FLAG_ZERO dnl 12 = gl_PRINTF_PRECISION dnl 13 = gl_PRINTF_ENOMEM dnl 14 = gl_SNPRINTF_PRESENCE dnl 15 = gl_SNPRINTF_TRUNCATION_C99 dnl 16 = gl_SNPRINTF_RETVAL_C99 dnl 17 = gl_SNPRINTF_DIRECTIVE_N dnl 18 = gl_SNPRINTF_SIZE1 dnl 19 = gl_VSNPRINTF_ZEROSIZE_C99 dnl dnl 1 = checking whether printf supports size specifiers as in C99... dnl 2 = checking whether printf supports 'long double' arguments... dnl 3 = checking whether printf supports infinite 'double' arguments... dnl 4 = checking whether printf supports infinite 'long double' arguments... dnl 5 = checking whether printf supports the 'a' and 'A' directives... dnl 6 = checking whether printf supports the 'F' directive... dnl 7 = checking whether printf supports the 'n' directive... dnl 8 = checking whether printf supports POSIX/XSI format strings with positions... dnl 9 = checking whether printf supports the grouping flag... dnl 10 = checking whether printf supports the left-adjust flag correctly... dnl 11 = checking whether printf supports the zero flag correctly... dnl 12 = checking whether printf supports large precisions... dnl 13 = checking whether printf survives out-of-memory conditions... dnl 14 = checking for snprintf... dnl 15 = checking whether snprintf truncates the result as in C99... dnl 16 = checking whether snprintf returns a byte count as in C99... dnl 17 = checking whether snprintf fully supports the 'n' directive... dnl 18 = checking whether snprintf respects a size of 1... dnl 19 = checking whether vsnprintf respects a zero size as in C99... dnl dnl . = yes, # = no. dnl dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . dnl FreeBSD 5.4, 6.1 . . . . # . . . . . # . # . . . . . . dnl MacOS X 10.3.9 . . . . # . . . . . # . # . . . . . . dnl OpenBSD 3.9, 4.0 . . # # # # . . # . # . # . . . . . . dnl Cygwin 2007 (= Cygwin 1.5.24) . . . . # # . . . ? # ? ? . . . . . . dnl Cygwin 2006 (= Cygwin 1.5.19) # . . . # # . . # ? # ? ? . . . . . . dnl Solaris 10 . . # # # . . . . . # . . . . . . . . dnl Solaris 2.6 ... 9 # . # # # # . . . . # . . . . . . . . dnl Solaris 2.5.1 # . # # # # . . . . # . . # # # # # # dnl AIX 5.2 . . # # # . . . . . # . . . . . . . . dnl AIX 4.3.2, 5.1 # . # # # # . . . . # . . . . . . . . dnl HP-UX 11.31 . . . . # . . . . . # . . . . # # . . dnl HP-UX 11.{00,11,23} # . . . # # . . . . # . . . . # # . # dnl HP-UX 10.20 # . . . # # . . . # # . . . . # # ? # dnl IRIX 6.5 # . # # # # . . . . # . . . . # . . . dnl OSF/1 5.1 # . # # # # . . . . # . . . . # . . # dnl OSF/1 4.0d # . # # # # . . . . # . . # # # # # # dnl NetBSD 4.0 . ? ? ? ? ? . . ? ? ? ? ? . . . ? ? ? dnl NetBSD 3.0 . . . . # # . # # ? # . # . . . . . . dnl BeOS # # . # # # . # . ? . # ? . . . . . . dnl mingw # # # # # # . # # . # # ? . # # # . . dc3dd-7.1.614/m4/fileblocks.m40000644000175000017500000000113311022023316015322 0ustar amedicoamedico# fileblocks.m4 serial 4 dnl Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FILEBLOCKS], [ AC_STRUCT_ST_BLOCKS dnl Note: AC_STRUCT_ST_BLOCKS does AC_LIBOBJ(fileblocks). if test $ac_cv_member_struct_stat_st_blocks = no; then gl_PREREQ_FILEBLOCKS fi ]) # Prerequisites of lib/fileblocks.c. AC_DEFUN([gl_PREREQ_FILEBLOCKS], [ AC_CHECK_HEADERS_ONCE(sys/param.h) : ]) dc3dd-7.1.614/m4/long-options.m40000644000175000017500000000061711022023316015643 0ustar amedicoamedico# long-options.m4 serial 5 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_LONG_OPTIONS], [ AC_LIBOBJ([long-options]) dnl Prerequisites of lib/long-options.c. ]) dc3dd-7.1.614/m4/include-exclude-prog.m40000644000175000017500000000613511022023316017233 0ustar amedicoamedico#serial 2 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. # Usage: gl_ADD_PROG([prog_list_var_name], [prog_name]) AC_DEFUN([gl_ADD_PROG], [{ if test -z "$$1"; then $1=$2 else $1="$$1 $2" fi }]) # Usage: gl_REMOVE_PROG([prog_list_var_name], [prog_name]) AC_DEFUN([gl_REMOVE_PROG], [{ $1=`for gl_rem_i in $$1; do test "$gl_rem_i" = "$2" || echo "$gl_rem_i" done | tr '\012' ' ' | sed 's/ $//'; echo` }]) # Given the name of a variable containing a space-separated list of # install-by-default programs and the list of do-not-install-by-default # programs, modify the former variable to reflect "no-install" and # "do-install" requests. The names in the latter list should be comma- # separated. # # Usage: gl_INCLUDE_EXCLUDE_PROG([prog_list_var_name], [no_inst_prog_list]) AC_DEFUN([gl_INCLUDE_EXCLUDE_PROG], [{ gl_no_install_progs_default=`echo '$2'|sed 's/,/ /g'` AC_ARG_ENABLE([install-program], [AS_HELP_STRING([--enable-install-program=PROG_LIST], [install the programs in PROG_LIST (comma-separated, default: none)])], [gl_do_install_prog=$enableval], [gl_do_install_prog=] ) # If you want to refrain from installing programs A and B, # use --enable-no-install-program=A,B AC_ARG_ENABLE([no-install-program], [AS_HELP_STRING([--enable-no-install-program=PROG_LIST], [do NOT install the programs in PROG_LIST (comma-separated, default: $2)])], [gl_no_install_prog=$enableval], [gl_no_install_prog=] ) # Convert to space separated lists. gl_do_install_prog=`echo "$gl_do_install_prog"|tr -s , ' '` gl_no_install_prog=`echo "$gl_no_install_prog"|tr -s , ' '` # For each not-to-be-installed program name, ensure that it's a # valid name, remove it from the list of programs to build/install, # as well as from the list of man pages to install. for gl_i in $gl_no_install_prog; do # Fail upon a request to install and not-install the same program. case " $gl_do_install_prog " in *" $gl_i "*) AC_MSG_ERROR(['$gl_i' is both included and excluded]) ;; esac gl_msg= # Warn about a request not to install a program that is not being # built (which may be because the systems lacks a required interface). case " $$1 " in *" $gl_i "*) gl_REMOVE_PROG([$1], $gl_i) ;; *) gl_msg="'$gl_i' is already not being installed" ;; esac if test "$gl_msg" = ''; then # Warn about a request not to install a program that is # already on the default-no-install list. case " $gl_no_install_progs_default " in *" $gl_i "*) gl_msg="by default, '$gl_i' is not installed" ;; esac fi test "$gl_msg" != '' && AC_MSG_WARN([$gl_msg]) done for gl_i in $gl_do_install_prog; do case " $gl_no_install_progs_default " in *" $gl_i "*) gl_ADD_PROG([$1], $gl_i) ;; *) AC_MSG_WARN(['$gl_i' is not an optionally-installable program]) ;; esac done }]) dc3dd-7.1.614/m4/unistd_h.m40000644000175000017500000000474011064230667015050 0ustar amedicoamedico# unistd_h.m4 serial 11 dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Simon Josefsson, Bruno Haible. AC_DEFUN([gl_UNISTD_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([unistd.h]) AC_CHECK_HEADERS_ONCE([unistd.h]) if test $ac_cv_header_unistd_h = yes; then HAVE_UNISTD_H=1 else HAVE_UNISTD_H=0 fi AC_SUBST([HAVE_UNISTD_H]) ]) AC_DEFUN([gl_UNISTD_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_UNISTD_H_DEFAULTS], [ GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON]) GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR]) GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE]) GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD]) GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R]) GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE]) GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN]) GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR]) REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) ]) dc3dd-7.1.614/m4/bison.m40000644000175000017500000000174211022023316014325 0ustar amedicoamedico#serial 4 # Copyright (C) 2002, 2005 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_BISON], [ # getdate.y works with bison only. : ${YACC='bison -y'} dnl dnl Declaring YACC & YFLAGS precious will not be necessary after GNULIB dnl requires an Autoconf greater than 2.59c, but it will probably still be dnl useful to override the description of YACC in the --help output, re dnl getdate.y assuming `bison -y'. AC_ARG_VAR(YACC, [The `Yet Another C Compiler' implementation to use. Defaults to `bison -y'. Values other than `bison -y' will most likely break on most systems.])dnl AC_ARG_VAR(YFLAGS, [YFLAGS contains the list arguments that will be passed by default to Bison. This script will default YFLAGS to the empty string to avoid a default value of `-d' given by some make applications.])dnl ]) dc3dd-7.1.614/m4/time_h.m40000644000175000017500000000500011022023316014447 0ustar amedicoamedico# Configure a more-standard replacement for . # Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert and Jim Meyering. AC_DEFUN([gl_HEADER_TIME_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_HEADER_TIME_H_BODY]) ]) AC_DEFUN([gl_HEADER_TIME_H_BODY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([time.h]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) ]) AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS], [ dnl If another module says to replace or to not replace, do that. dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK; dnl this lets maintainers check for portability. REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R]) REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) REPLACE_STRPTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRPTIME]) REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) ]) dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared dnl in time.h or sys/time.h. AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC], [ AC_CHECK_HEADERS_ONCE([sys/time.h]) AC_CACHE_CHECK([for struct timespec in ], [gl_cv_sys_struct_timespec_in_time_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], [gl_cv_sys_struct_timespec_in_time_h=yes], [gl_cv_sys_struct_timespec_in_time_h=no])]) TIME_H_DEFINES_STRUCT_TIMESPEC=0 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 if test $gl_cv_sys_struct_timespec_in_time_h = yes; then TIME_H_DEFINES_STRUCT_TIMESPEC=1 else AC_CACHE_CHECK([for struct timespec in ], [gl_cv_sys_struct_timespec_in_sys_time_h], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[static struct timespec x; x.tv_sec = x.tv_nsec;]])], [gl_cv_sys_struct_timespec_in_sys_time_h=yes], [gl_cv_sys_struct_timespec_in_sys_time_h=no])]) if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 fi fi AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC]) AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) ]) dc3dd-7.1.614/m4/math_h.m40000644000175000017500000001013711064230667014470 0ustar amedicoamedico# math_h.m4 serial 13 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MATH_H], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([math.h]) AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], [[/* Solaris 10 has a broken definition of NAN. Other platforms fail to provide NAN, or provide it only in C99 mode; this test only needs to fail when NAN is provided but wrong. */ float f = 1.0f; #ifdef NAN f = NAN; #endif return f == 0;]])], [gl_cv_header_math_nan_works=yes], [gl_cv_header_math_nan_works=no])]) if test $gl_cv_header_math_nan_works = no; then REPLACE_NAN=1 fi AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], [[/* Solaris 10 has a broken definition of HUGE_VAL. */ double d = HUGE_VAL; return d == 0;]])], [gl_cv_header_math_huge_val_works=yes], [gl_cv_header_math_huge_val_works=no])]) if test $gl_cv_header_math_huge_val_works = no; then REPLACE_HUGE_VAL=1 fi ]) AC_DEFUN([gl_MATH_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_MATH_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_MATH_H_DEFAULTS], [ GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF]) GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL]) GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF]) GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL]) GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL]) GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE]) GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) GNULIB_MATHL=0; AC_SUBST([GNULIB_MATHL]) GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF]) GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL]) GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT]) GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC]) GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL]) HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL]) HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL]) HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL]) HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL]) HAVE_DECL_SINL=1; AC_SUBST([HAVE_DECL_SINL]) HAVE_DECL_SQRTL=1; AC_SUBST([HAVE_DECL_SQRTL]) HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL]) HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC]) HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF]) REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF]) REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL]) REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF]) REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL]) REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP]) REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL]) REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL]) REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE]) REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL]) REPLACE_NAN=0; AC_SUBST([REPLACE_NAN]) REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND]) REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF]) REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL]) REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT]) REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC]) REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL]) ]) dc3dd-7.1.614/m4/fpending.m40000644000175000017500000000460211064230667015022 0ustar amedicoamedico#serial 13 # Copyright (C) 2000, 2001, 2004, 2005, 2006, 2007, 2008 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering dnl Using code from emacs, based on suggestions from Paul Eggert dnl and Ulrich Drepper. dnl Find out how to determine the number of pending output bytes on a stream. dnl glibc (2.1.93 and newer) and Solaris provide __fpending. On other systems, dnl we have to grub around in the FILE struct. AC_DEFUN([gl_FUNC_FPENDING], [ AC_CHECK_HEADERS_ONCE(stdio_ext.h) AC_CHECK_FUNCS_ONCE([__fpending]) fp_headers=' # include # if HAVE_STDIO_EXT_H # include # endif ' AC_CHECK_DECLS([__fpending], , , $fp_headers) if test $ac_cv_func___fpending = no; then AC_CACHE_CHECK( [how to determine the number of pending output bytes on a stream], ac_cv_sys_pending_output_n_bytes, [ for ac_expr in \ \ '# glibc2' \ 'fp->_IO_write_ptr - fp->_IO_write_base' \ \ '# traditional Unix' \ 'fp->_ptr - fp->_base' \ \ '# BSD' \ 'fp->_p - fp->_bf._base' \ \ '# SCO, Unixware' \ '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ \ '# QNX' \ '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ \ '# old glibc?' \ 'fp->__bufp - fp->__buffer' \ \ '# old glibc iostream?' \ 'fp->_pptr - fp->_pbase' \ \ '# emx+gcc' \ 'fp->_ptr - fp->_buffer' \ \ '# VMS' \ '(*fp)->_ptr - (*fp)->_base' \ \ '# e.g., DGUX R4.11; the info is not available' \ 1 \ ; do # Skip each embedded comment. case "$ac_expr" in '#'*) continue;; esac AC_TRY_COMPILE( [#include ], [FILE *fp = stdin; (void) ($ac_expr);], fp_done=yes ) test "$fp_done" = yes && break done ac_cv_sys_pending_output_n_bytes=$ac_expr ] ) AC_DEFINE_UNQUOTED(PENDING_OUTPUT_N_BYTES, $ac_cv_sys_pending_output_n_bytes, [the number of pending output bytes on stream `fp']) AC_LIBOBJ([fpending]) fi ]) dc3dd-7.1.614/m4/prereq.m40000644000175000017500000000246511064230667014533 0ustar amedicoamedico#serial 75 dnl We use gl_ for non Autoconf macros. m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl # These are the prerequisite macros for files in the lib/ # directory of the coreutils package. # Copyright (C) 1998, 2000, 2001, 2003-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering. AC_DEFUN([gl_PREREQ], [ # gnulib settings. # We don't use c-stack.c. # AC_REQUIRE([gl_C_STACK]) # Invoke macros of modules that may migrate into gnulib. # There's no need to list gnulib modules here, since gnulib-tool # handles that; see ../bootstrap.conf. AC_REQUIRE([gl_FD_REOPEN]) AC_REQUIRE([gl_MEMXFRM]) AC_REQUIRE([gl_STRINTCMP]) AC_REQUIRE([gl_STRNUMCMP]) ]) dc3dd-7.1.614/m4/tzset.m40000644000175000017500000000321711022023316014363 0ustar amedicoamedico#serial 3 # Copyright (C) 2003, 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # See if we have a working tzset function. # If so, arrange to compile the wrapper function. # For at least Solaris 2.5.1 and 2.6, this is necessary # because tzset can clobber the contents of the buffer # used by localtime. # Written by Paul Eggert and Jim Meyering. AC_DEFUN([gl_FUNC_TZSET_CLOBBER], [ AC_REQUIRE([gl_HEADER_SYS_TIME_H]) AC_CACHE_CHECK([whether tzset clobbers localtime buffer], gl_cv_func_tzset_clobber, [ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include int main () { time_t t1 = 853958121; struct tm *p, s; putenv ("TZ=GMT0"); p = localtime (&t1); s = *p; putenv ("TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"); tzset (); return (p->tm_year != s.tm_year || p->tm_mon != s.tm_mon || p->tm_mday != s.tm_mday || p->tm_hour != s.tm_hour || p->tm_min != s.tm_min || p->tm_sec != s.tm_sec); } ]])], [gl_cv_func_tzset_clobber=no], [gl_cv_func_tzset_clobber=yes], [gl_cv_func_tzset_clobber=yes])]) AC_DEFINE(HAVE_RUN_TZSET_TEST, 1, [Define to 1 if you have run the test for working tzset.]) if test $gl_cv_func_tzset_clobber = yes; then gl_GETTIMEOFDAY_REPLACE_LOCALTIME AC_DEFINE(tzset, rpl_tzset, [Define to rpl_tzset if the wrapper function should be used.]) AC_DEFINE([TZSET_CLOBBERS_LOCALTIME], 1, [Define if tzset clobbers localtime's static buffer.]) fi ]) dc3dd-7.1.614/m4/readutmp.m40000644000175000017500000000471611064230667015057 0ustar amedicoamedico# readutmp.m4 serial 15 dnl Copyright (C) 2002-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_READUTMP], [ dnl Persuade utmpx.h to declare utmpxname AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS_ONCE(utmp.h utmpx.h) if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then AC_LIBOBJ([readutmp]) dnl Prerequisites of lib/readutmp.h and lib/readutmp.c. AC_REQUIRE([AC_C_INLINE]) AC_CHECK_FUNCS_ONCE(utmpname utmpxname) AC_CHECK_DECLS(getutent,,,[ #ifdef HAVE_UTMP_H # include #endif ]) utmp_includes="\ $ac_includes_default #ifdef HAVE_UTMPX_H # include #endif #ifdef HAVE_UTMP_H # if defined _THREAD_SAFE && defined UTMP_DATA_INIT /* When including both utmp.h and utmpx.h on AIX 4.3, with _THREAD_SAFE defined, work around the duplicate struct utmp_data declaration. */ # define utmp_data gl_aix_4_3_workaround_utmp_data # endif # include #endif " AC_CHECK_MEMBERS([struct utmpx.ut_user],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_user],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_name],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_name],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_type],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_type],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_pid],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_pid],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_id],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_id],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_exit.e_exit],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_exit.ut_termination],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_exit.ut_termination],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmpx.ut_exit.e_termination],,,[$utmp_includes]) AC_CHECK_MEMBERS([struct utmp.ut_exit.e_termination],,,[$utmp_includes]) fi ]) dc3dd-7.1.614/m4/readtokens.m40000644000175000017500000000061311022023316015346 0ustar amedicoamedico# readtokens.m4 serial 5 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_READTOKENS], [ AC_LIBOBJ([readtokens]) dnl Prerequisites of lib/readtokens.c. : ]) dc3dd-7.1.614/m4/config-h.m40000644000175000017500000000104411022023316014700 0ustar amedicoamedico# Say that -DHAVE_CONFIG_H is not needed. dnl Copyright (C) 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. # This package's source files all include config.h unconditionally, # so there's no need to pass -DHAVE_CONFIG_H to the compiler. AC_DEFUN([gl_CONFIG_H], [AC_CONFIG_COMMANDS_PRE([test "X$DEFS" = X-DHAVE_CONFIG_H && DEFS=])]) dc3dd-7.1.614/m4/link-follow.m40000644000175000017500000000351011022023316015443 0ustar amedicoamedico#serial 9 dnl Run a program to determine whether link(2) follows symlinks. dnl Set LINK_FOLLOWS_SYMLINKS accordingly. # Copyright (C) 1999, 2000, 2001, 2004, 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_AC_FUNC_LINK_FOLLOWS_SYMLINK], [dnl AC_CACHE_CHECK( [whether link(2) dereferences a symlink specified with a trailing slash], gl_ac_cv_func_link_follows_symlink, [ # Create a regular file. echo > conftest.file AC_TRY_RUN( [ # include # include # include # include # define SAME_INODE(Stat_buf_1, Stat_buf_2) \ ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev) int main () { const char *file = "conftest.file"; const char *sym = "conftest.sym"; const char *hard = "conftest.hard"; struct stat sb_file, sb_hard; /* Create a symlink to the regular file. */ if (symlink (file, sym)) abort (); /* Create a hard link to that symlink. */ if (link (sym, hard)) abort (); if (lstat (hard, &sb_hard)) abort (); if (lstat (file, &sb_file)) abort (); /* If the dev/inode of hard and file are the same, then the link call followed the symlink. */ return SAME_INODE (sb_hard, sb_file) ? 0 : 1; } ], gl_ac_cv_func_link_follows_symlink=yes, gl_ac_cv_func_link_follows_symlink=no, gl_ac_cv_func_link_follows_symlink=yes dnl We're cross compiling. ) ]) if test $gl_ac_cv_func_link_follows_symlink = yes; then AC_DEFINE(LINK_FOLLOWS_SYMLINKS, 1, [Define if `link(2)' dereferences symbolic links.]) fi ]) dc3dd-7.1.614/m4/stpcpy.m40000644000175000017500000000133011022023316014526 0ustar amedicoamedico# stpcpy.m4 serial 6 dnl Copyright (C) 2002, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STPCPY], [ dnl Persuade glibc to declare stpcpy(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl The stpcpy() declaration in lib/string.in.h uses 'restrict'. AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REPLACE_FUNCS(stpcpy) if test $ac_cv_func_stpcpy = no; then HAVE_STPCPY=0 gl_PREREQ_STPCPY fi ]) # Prerequisites of lib/stpcpy.c. AC_DEFUN([gl_PREREQ_STPCPY], [ : ]) dc3dd-7.1.614/m4/clock_time.m40000644000175000017500000000245511022023316015326 0ustar amedicoamedico# clock_time.m4 serial 8 dnl Copyright (C) 2002-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Check for clock_gettime and clock_settime, and set LIB_CLOCK_GETTIME. # For a program named, say foo, you should add a line like the following # in the corresponding Makefile.am file: # foo_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) AC_DEFUN([gl_CLOCK_TIME], [ dnl Persuade glibc and Solaris to declare these functions. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* # programs in the package would end up linked with that potentially-shared # library, inducing unnecessary run-time overhead. gl_saved_libs=$LIBS AC_SEARCH_LIBS(clock_gettime, [rt posix4], [test "$ac_cv_search_clock_gettime" = "none required" || LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime]) AC_SUBST([LIB_CLOCK_GETTIME]) AC_CHECK_FUNCS(clock_gettime clock_settime) LIBS=$gl_saved_libs ]) dc3dd-7.1.614/m4/memcmp.m40000644000175000017500000000221311064230667014502 0ustar amedicoamedico# memcmp.m4 serial 13 dnl Copyright (C) 2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MEMCMP], [ if test $cross_compiling != no; then # AC_FUNC_MEMCMP as of 2.62 defaults to 'no' when cross compiling. # We default to yes if memcmp appears to exist, which works # better for MinGW. AC_CACHE_CHECK([whether cross-compiling target has memcmp], [ac_cv_func_memcmp_working], [AC_LINK_IFELSE([ AC_LANG_PROGRAM([[#include ]], [[int ret = memcmp ("foo", "bar", 0);]])], [ac_cv_func_memcmp_working=yes], [ac_cv_func_memcmp_working=no])]) fi AC_FUNC_MEMCMP dnl Note: AC_FUNC_MEMCMP does AC_LIBOBJ(memcmp). if test $ac_cv_func_memcmp_working = no; then AC_DEFINE(memcmp, rpl_memcmp, [Define to rpl_memcmp if the replacement function should be used.]) gl_PREREQ_MEMCMP fi ]) # Prerequisites of lib/memcmp.c. AC_DEFUN([gl_PREREQ_MEMCMP], [:]) dc3dd-7.1.614/m4/lseek.m40000644000175000017500000000277211022023316014322 0ustar amedicoamedico# lseek.m4 serial 4 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LSEEK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe], [if test $cross_compiling = no; then AC_LINK_IFELSE([ #include /* for off_t */ #include /* for SEEK_CUR */ #include int main () { /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; }], [if test -s conftest$ac_exeext \ && ./conftest$ac_exeext < conftest.$ac_ext \ && { echo hi | ./conftest$ac_exeext; test $? = 1; }; then gl_cv_func_lseek_pipe=yes else gl_cv_func_lseek_pipe=no fi], [gl_cv_func_lseek_pipe=no]) else AC_COMPILE_IFELSE([ #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ /* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ Choke me. #endif], [gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no]) fi]) if test $gl_cv_func_lseek_pipe = no; then gl_REPLACE_LSEEK fi ]) AC_DEFUN([gl_REPLACE_LSEEK], [ AC_LIBOBJ([lseek]) AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) REPLACE_LSEEK=1 AC_DEFINE([LSEEK_PIPE_BROKEN], [1], [Define to 1 if lseek does not detect pipes.]) ]) dc3dd-7.1.614/m4/lib-ignore.m40000644000175000017500000000321011022023316015232 0ustar amedicoamedico# If possible, ignore libraries that are not depended on. dnl Copyright (C) 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_IGNORE_UNUSED_LIBRARIES], [ AC_CACHE_CHECK([for flag to ignore unused libraries], [gl_cv_ignore_unused_libraries], [gl_cv_ignore_unused_libraries=none gl_saved_ldflags=$LDFLAGS gl_saved_libs=$LIBS # Link with -lm to detect binutils 2.16 bug with --as-needed; see # . LIBS="$LIBS -lm" # Use long option sequences like '-z ignore' to test for the feature, # to forestall problems with linkers that have -z, -i, -g, -n, etc. flags. # GCC + binutils likes '-Wl,--as-needed'. # GCC + Solaris ld likes '-Wl,-z,ignore'. # Sun C likes '-z ignore'. # Don't try bare '--as-needed'; nothing likes it and the HP-UX 11.11 # native cc issues annoying warnings and then ignores it, # which would cause us to incorrectly conclude that it worked. for gl_flags in \ '-Wl,--as-needed' \ '-Wl,-z,ignore' \ '-z ignore' do LDFLAGS="$gl_flags $LDFLAGS" AC_LINK_IFELSE([AC_LANG_PROGRAM()], [gl_cv_ignore_unused_libraries=$gl_flags]) LDFLAGS=$gl_saved_ldflags test "$gl_cv_ignore_unused_libraries" != none && break done LIBS=$gl_saved_libs]) test "$gl_cv_ignore_unused_libraries" != none && LDFLAGS="$LDFLAGS $gl_cv_ignore_unused_libraries" ]) dc3dd-7.1.614/m4/free.m40000644000175000017500000000253111022023316014131 0ustar amedicoamedico# Check whether free (NULL) is supposed to work. # Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. # We can't test for free (NULL) even at runtime, since it might # happen to "work" for our test program, but not in general. So, be # conservative and use feature tests for relatively modern hosts, # where free (NULL) is known to work. This costs a bit of # performance on some older hosts, but we can fix that later if # needed. AC_DEFUN([gl_FUNC_FREE], [ AC_CACHE_CHECK([whether free (NULL) is known to work], [gl_cv_func_free], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[@%:@include ]], [[@%:@if _POSIX_VERSION < 199009L && \ (defined unix || defined _unix || defined _unix_ \ || defined __unix || defined __unix__) @%:@error "'free (NULL)' is not known to work" @%:@endif]])], [gl_cv_func_free=yes], [gl_cv_func_free=no])]) if test $gl_cv_func_free = no; then AC_LIBOBJ(free) AC_DEFINE(free, rpl_free, [Define to rpl_free if the replacement function should be used.]) fi ]) # Prerequisites of lib/free.c. AC_DEFUN([gl_PREREQ_FREE], [:]) dc3dd-7.1.614/m4/lib-check.m40000644000175000017500000000351011022023316015027 0ustar amedicoamedico#serial 10 dnl Misc lib-related macros for coreutils. # Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 2001, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering. AC_DEFUN([cu_LIB_CHECK], [ # Check for libypsec.a on Dolphin M88K machines. AC_CHECK_LIB(ypsec, main) # m88k running dgux 5.4 needs this AC_CHECK_LIB(ldgc, main) # The -lsun library is required for YP support on Irix-4.0.5 systems. # m88k/svr3 DolphinOS systems using YP need -lypsec for id. AC_SEARCH_LIBS(yp_match, [sun ypsec]) # SysV needs -lsec, older versions of Linux need -lshadow for # shadow passwords. UnixWare 7 needs -lgen. AC_SEARCH_LIBS(getspnam, [shadow sec gen]) AC_CHECK_HEADERS(shadow.h) # Requirements for su.c. shadow_includes="\ $ac_includes_default #if HAVE_SHADOW_H # include #endif " AC_CHECK_MEMBERS([struct spwd.sp_pwdp],,,[$shadow_includes]) AC_CHECK_FUNCS(getspnam) # SCO-ODT-3.0 is reported to need -lufc for crypt. # NetBSD needs -lcrypt for crypt. cu_saved_libs="$LIBS" AC_SEARCH_LIBS(crypt, [ufc crypt], [test "$ac_cv_search_crypt" = "none required" || LIB_CRYPT="$ac_cv_search_crypt"]) LIBS="$cu_saved_libs" AC_SUBST(LIB_CRYPT) ]) dc3dd-7.1.614/m4/isapipe.m40000644000175000017500000000443411022023316014646 0ustar amedicoamedico# Test whether a file descriptor is a pipe. dnl Copyright (C) 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_ISAPIPE], [ # OpenVMS has isapipe already, so check for it. AC_REPLACE_FUNCS(isapipe) if test $ac_cv_func_isapipe = no; then gl_PREREQ_ISAPIPE fi ]) # Prerequisites of lib/isapipe.c. AC_DEFUN([gl_PREREQ_ISAPIPE], [ AC_CACHE_CHECK([whether pipes are FIFOs (and for their link count)], [gl_cv_pipes_are_fifos], [AC_RUN_IFELSE( [AC_LANG_SOURCE( [[#include #include #include #include #ifndef S_ISFIFO #define S_ISFIFO(m) 0 #endif #ifndef S_ISSOCK #define S_ISSOCK(m) 0 #endif int main (int argc, char **argv) { int fd[2]; struct stat st; if (pipe (fd) != 0 || fstat (fd[0], &st) != 0) return 1; if (2 <= argc && argv[1][0] == '-') { char const *yesno = (S_ISFIFO (st.st_mode) ? "yes" : "no"); if (st.st_nlink <= 1) { long int i = st.st_nlink; if (i != st.st_nlink) return 1; printf ("%s (%ld)\n", yesno, i); } else { unsigned long int i = st.st_nlink; if (i != st.st_nlink) return 1; printf ("%s (%lu)\n", yesno, i); } } else { if (! S_ISFIFO (st.st_mode) && ! S_ISSOCK (st.st_mode)) return 1; } return 0; }]])], [gl_cv_pipes_are_fifos=`./conftest$ac_exeext -` test -z "$gl_cv_pipes_are_fifos" && gl_cv_pipes_are_fifos=no], [gl_cv_pipes_are_fifos=unknown], [gl_cv_pipes_are_fifos=cross-compiling])]) case $gl_cv_pipes_are_fifos in #( 'yes ('*')') AC_DEFINE([HAVE_FIFO_PIPES], 1, [Define to 1 if pipes are FIFOs, 0 if sockets. Leave undefined if not known.]);; #( 'no ('*')') AC_DEFINE([HAVE_FIFO_PIPES], 0);; esac case $gl_cv_pipes_are_fifos in #( *'('*')') AC_DEFINE_UNQUOTED([PIPE_LINK_COUNT_MAX], [`expr "$gl_cv_pipes_are_fifos" : '.*\((.*)\)'`], [Define to the maximum link count that a true pipe can have.]);; esac ]) dc3dd-7.1.614/m4/quotearg.m40000644000175000017500000000071411022023316015040 0ustar amedicoamedico# quotearg.m4 serial 6 dnl Copyright (C) 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_QUOTEARG], [ AC_LIBOBJ([quotearg]) dnl Prerequisites of lib/quotearg.c. AC_CHECK_FUNCS_ONCE([mbsinit]) AC_TYPE_MBSTATE_T gl_FUNC_MBRTOWC ]) dc3dd-7.1.614/m4/memcoll.m40000644000175000017500000000061511022023316014641 0ustar amedicoamedico# memcoll.m4 serial 7 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MEMCOLL], [ AC_LIBOBJ([memcoll]) dnl Prerequisites of lib/memcoll.c. AC_FUNC_STRCOLL ]) dc3dd-7.1.614/m4/rmdir-errno.m40000644000175000017500000000310111022023316015442 0ustar amedicoamedico#serial 8 # Copyright (C) 2000, 2001, 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # When rmdir fails because the specified directory is not empty, it sets # errno to some value, usually ENOTEMPTY. However, on some AIX systems, # ENOTEMPTY is mistakenly defined to be EEXIST. To work around this, and # in general, to avoid depending on the use of any particular symbol, this # test runs a test to determine the actual numeric value. AC_DEFUN([gl_FUNC_RMDIR_NOTEMPTY], [dnl AC_CHECK_HEADERS_ONCE(unistd.h) AC_CACHE_CHECK([for rmdir-not-empty errno value], gl_cv_func_rmdir_errno_not_empty, [ # Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir2" mkdir confdir2; : > confdir2/file AC_TRY_RUN([ #include #include #ifdef HAVE_UNISTD_H # include #endif int main () { FILE *s; int val; rmdir ("confdir2"); val = errno; s = fopen ("confdir2/errno", "w"); fprintf (s, "%d\n", val); return 0; } ], gl_cv_func_rmdir_errno_not_empty=`cat confdir2/errno`, gl_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4', gl_cv_func_rmdir_errno_not_empty=ENOTEMPTY ) ] ) AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY], $gl_cv_func_rmdir_errno_not_empty, [the value to which errno is set when rmdir fails on a nonempty directory]) ]) dc3dd-7.1.614/m4/localcharset.m40000644000175000017500000000104711022023316015655 0ustar amedicoamedico# localcharset.m4 serial 5 dnl Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_LOCALCHARSET], [ dnl Prerequisites of lib/localcharset.c. AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CHECK_DECLS_ONCE(getc_unlocked) dnl Prerequisites of the lib/Makefile.am snippet. AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([gl_GLIBC21]) ]) dc3dd-7.1.614/m4/ChangeLog0000644000175000017500000052226311064230667014550 0ustar amedicoamedico2008-03-02 Jim Meyering * prereq.m4: Don't require gl_SHA256 or gl_SHA512. 2007-08-30 Eric Blake * jm-macros.m4 (coreutils_MACROS): Remove GNU_PACKAGE. 2007-04-25 Jim Meyering * autobuild.m4: Remove file. Now, provided by gnulib. 2007-01-19 Jim Meyering * .cvsignore, .gitignore: Add more bootstrap-inserted file names. 2006-12-12 Jim Meyering * jm-macros.m4: Remove AC_FUNC_SETVBUF_REVERSED, now that it's a no-op. 2006-10-14 Paul Eggert * sha512.m4 (gl_SHA512): Add u64.h to AC_LIBSOURCES. 2006-10-12 Jim Meyering * jm-macros.m4 (coreutils_MACROS): Rename from gl_MACROS, now that most of the gnulib macros have migrated into gnulib. Don't call gl_INIT here (now it's called from configure.ac, directly). 2006-10-07 Jim Meyering * jm-macros.m4 (gl_MACROS): Remove use of AC_CONFIG_LIBOBJ_DIR(lib). It is no longer needed, and was causing dependencies to appear in lib/lib/.deps, which provoked a "make distcheck" failure. 2006-09-29 Jim Meyering * readdir.m4: Remove file once again. * jm-macros.m4: Remove reference to gl_FUNC_READDIR. 2006-09-28 Jim Meyering * jm-macros.m4: Require the new macro. * readdir.m4 (gl_FUNC_READDIR): Rename from GL_FUNC_READDIR. Increment serial number. * readdir.m4: Revivify this file. We need it to work around a bug on Darwin 0.7.x. 2006-09-01 Paul Eggert * .cvsignore: Add fcntl_h.m4, getloadavg.m4, inttypes-h.m4, inttypes-prio.m4, inttypes.m,4 isapipe.m4. * jm-macros.m4 (gl_MACROS): Call cu_PREREQ_STAT_PROG rather than AC_REQUIREing, so that sys/mount.h isn't tested for after the test result. I'm not sure why this fix is needed, but it works. * stat-prog.m4 (cu_PREREQ_STAT_PROG): Revamp to reflect better what stat.c actually needs. 2006-08-29 Paul Eggert * stat-prog.m4 (cu_PREREQ_STAT_PROG): Check for __val versus val components of fsid. Omit some checks that stat.c doesn't care about. 2006-08-26 Paul Eggert * .cvsignore: Add config-h.m4. 2006-08-22 Paul Eggert * .cvsignore: Remove Makefile, dev-ino.m4, glibc2.m4, intdiv0.m4, inttypes-h.m4, inttypes-pri.m4, jm-glibc-io.m4, lcmessage.m4, lock.m4, printf-posix.m4, same-inode.m4, size_max.m4, uintmax_t.m4, ulonglong.m4, visibility.m4, xsize.m4. Many of these are put in automatically by ../bootstrap, but that's a bootstrap bug that I plan to fix shortly. 2006-08-22 Bruno Haible BeOS portability. * boottime.m4 (GNULIB_BOOT_TIME): Test also for utmp.h, utmpx.h, OS.h. Don't require to have utmp.h or utmpx.h. Enable boottime support if is found. 2006-08-22 Jim Meyering * .cvsignore: Add files that are now generated by ../bootstrap. 2006-08-21 Paul Eggert * argmatch.m4: Remove from CVS, since ../bootstrap generates it automatically. 2006-08-20 Paul Eggert Add a bootstrap procedure, so that the CVS version contains fewer files and we bootstrap the rest from gnulib, gettext, etc. * check-decl.m4 (gl_CHECK_DECLS): Don't include stdio.h, string.h, stdlib.h, unistd.h, sys/time.h, time.h. Use AC_CHECK_DECLS_ONCE for free, getenv, geteuid, getlogin, getuid, lseek, malloc, memchr, realloc. Don't check for getutent, memrchr, nanosleep, stpcpy, strndup, strnlen, strstr, strtoul, strtoull. (_gl_DECL_HEADERS): Remove; all uses removed. * jm-macros.m4 (gl_MACROS): Move AC_PREREQ into configure.ac for the benefit of gnulib-tool. Call gl_INIT. Do not call or require the following, since gnulib now does this: gl_HOST_OS, gl_ASSERT, gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE, gl_CHECK_TYPE_STRUCT_DIRENT_D_INO, gl_FUNC_DIRFD, AC_FUNC_ACL, gl_FUNC_LCHMOD, gl_FUNC_LCHOWN, gl_FUNC_RMDIR_NOTEMPTY, gl_FUNC_CHOWN, AC_FUNC_LSTAT, AC_FUNC_STRERROR_R, gl_FUNC_GROUP_MEMBER, gl_AC_FUNC_LINK_FOLLOWS_SYMLINK, gl_FUNC_FPENDING, gt_INTTYPES_PRI, gl_ULLONG_MAX, gl_FUNC_GETGROUPS, AC_FUNC_ALLOCA, AC_FUNC_GETLOADAVG, gl_SYS_PROC_UPTIME, gl_FUNC_FTRUNCATE, AC_REPLACE_FUNCS(raise), AC_CHECK_FUNCS_ONCE(gettimeofday), AC_FUNC_GETTIMEOFDAY_CLOBBER, AC_FUNC_CLOSEDIR_VOID, AC_FUNC_STRTOD, gl_GLIBC21, AM_ICONV, gl_FUNC_UNLINK_BUSY_TEXT, gl_FSUSAGE, gl_MOUNTLIST, gl_AC_DOS, AC_FUNC_CANONICALIZE_FILE_NAME, gl_FUNC_FREE, gl_FUNC_CHDIR_LONG, gl_FUNC_XFTS, gl_ROOT_DEV_INO, gl_VERSION_ETC, gl_DIACRIT, gl_TYPE_SOCKLEN_T, gl_FPRINTFTIME, gl_CHDIR_SAFER. Don't check for fchmod, hasmntopt, isascii, lchown, listmntent, mempcpy, realpath, wcrtomb, tzset. (gl_CHECK_ALL_HEADERS): Don't check for sys/statvfs.h, sys/vfs.h, sys/mount.h. (gl_CHECK_ALL_TYPES): Require AC_TYPE_UNSIGNED_LONG_LONG_INT. Don't check for struct stat.st_blksize. Don't require AC_STRUCT_ST_DM_MODE, gt_TYPE_SSIZE_T, gl_AC_TYPE_UINT32_T, gl_AC_TYPE_UINTMAX_T, gl_AC_TYPE_UINTPTR_T, gl_AC_TYPE_UNSIGNED_LONG_LONG. * prereq.m4 (gl_PREREQ): Require gl_FUNC_XFTS, gl_ROOT_DEV_INO. Don't require AM_STDBOOL_H, gl_ALLOCSA, gl_BACKUPFILE, gl_BASENAME, gl_C_STRTOD, gl_C_STRTOLD, gl_CANON_HOST, gl_CLOEXEC, gl_CLOSE_STREAM, gl_CLOSEOUT, gl_DIRNAME, gl_ERROR, gl_EXCLUDE, gl_EXITFAIL, gl_FCNTL_SAFER, gl_FILEBLOCKS, gl_FILEMODE, gl_FILE_NAME_CONCAT, gl_FILE_TYPE, gl_FSUSAGE, gl_FOPEN_SAFER, gl_FUNC_ALLOCA, gl_FUNC_ATEXIT, gl_FUNC_DUP2, gl_FUNC_FNMATCH_GNU, gl_FUNC_GETHOSTNAME, gl_FUNC_GETLINE, AC_FUNC_GETLOADAVG, gl_FUNC_GETPASS_GNU, gl_FUNC_GETUSERSHELL, gl_FUNC_LSTAT, gl_FUNC_MEMCHR, gl_FUNC_MEMCPY, gl_FUNC_MEMMOVE, gl_FUNC_MEMPCPY, gl_FUNC_MEMRCHR, gl_FUNC_MEMSET, gl_FUNC_MKDIR_TRAILING_SLASH, gl_FUNC_MKTIME, gl_FUNC_MKSTEMP, gl_FUNC_READLINK, gl_FUNC_RMDIR, gl_FUNC_RPMATCH, gt_FUNC_SETENV, gl_FUNC_SIG2STR, gl_FUNC_SNPRINTF, gl_FUNC_STPCPY, gl_FUNC_STRCSPN, gl_FUNC_STRDUP, gl_FUNC_STRNDUP, gl_FUNC_STRNLEN, gl_FUNC_STRPBRK, gl_FUNC_STRSTR, gl_FUNC_STRTOD, gl_FUNC_STRTOIMAX, gl_FUNC_STRTOLL, gl_FUNC_STRTOL, gl_FUNC_STRTOULL, gl_FUNC_STRTOUL, gl_FUNC_STRTOUMAX, gl_FUNC_STRVERSCMP, gl_FUNC_TZSET_CLOBBER, gl_FUNC_VASNPRINTF, gl_FUNC_VASPRINTF, gl_FUNC_WCWIDTH, gl_GETADDRINFO, gl_GETDATE, gl_GETHRXTIME, gl_GETNDELIM2, gl_GETOPT, gl_GETPAGESIZE, gl_GETTIME, gl_GETUGROUPS, gl_HARD_LOCALE, gl_HASH, gl_HASH_PJW, gl_HEADER_ARPA_INET, gl_HEADER_NETINET_IN, gl_HEADER_SYS_SOCKET, gl_HUMAN, gl_IDCACHE, gl_INET_NTOP, gl_INTTOSTR, gl_LINEBUFFER, gl_LOCALCHARSET, gl_LONG_OPTIONS, gl_MBCHAR, gl_MBITER, gl_MBSWIDTH, gl_MD5, gl_MEMCOLL, gl_MKANCESDIRS, gl_MKDIR_PARENTS, gl_MODECHANGE, gl_MOUNTLIST, gl_OBSTACK, gl_PATHMAX, gl_PHYSMEM, gl_POSIXTM, gl_POSIXVER, gl_QUOTEARG, gl_QUOTE, gl_READTOKENS, gl_READUTMP, gl_REGEX, gl_SAFE_READ, gl_SAFE_WRITE, gl_SAME, gl_SAVEDIR, gl_SAVE_CWD, gl_SETTIME, gl_SHA1, gl_STAT_MACROS, gl_STAT_TIME, gl_STDARG_H, gl_STDINT_H, gl_STDLIB_SAFER, gl_STRCASE, gl_STRIPSLASH, gl_TIMESPEC, gl_TIME_R, gl_TYPE_SOCKLEN_T, gl_UNICODEIO, gl_UNISTD_SAFER, gl_UNLINKDIR, gl_USERSPEC, gl_UTIMECMP, gl_UTIMENS, gl_XALLOC, gl_XGETCWD, gl_XNANOSLEEP, gl_XREADLINK, gl_XSTRTOD, gl_XSTRTOL, gl_XSTRTOLD, gl_YESNO, AC_FUNC_CALLOC, gl_FUNC_GLIBC_UNLOCKED_IO, gl_FUNC_GNU_STRFTIME, AC_FUNC_MALLOC, gl_FUNC_MEMCMP, gl_FUNC_NANOSLEEP, gl_FUNC_PUTENV, AC_FUNC_REALLOC, gl_FUNC_UTIME, gl_XSTRTOIMAX, gl_XSTRTOUMAX, vb_FUNC_RENAME, gl_FUNC_FTS, gl_MEMCASECMP, gl_STRIPSLASH, gl_LINEBUFFER, gl_ARGMATCH, gl_CYCLE_CHECK, gl_EUIDACCESS_STAT, since gnulib handles this. * stat-prog.m4 (cu_PREREQ_STAT_PROG): Don't check for sys/sysmacros.h. Don't check for statvfs. Use AC_CHECK_HEADERS_ONCE for netinet/in.h, nfs/nfs_clnt.h, nfs/vfs.h. Don't require gl_AC_TYPE_LONG_LONG, gt_HEADER_INTTYPES_H. * absolute-header.m4, acl.m4, alloca.m4, allocsa.m4, arpa_inet_h.m4: * assert.m4, atexit.m4, backupfile.m4, basename.m4, bison.m4: * c-strtod.m4, c.m4, calloc.m4, canon-host.m4, canonicalize.m4: * chdir-long.m4, chdir-safer.m4, chown.m4, clock_time.m4: * cloexec.m4, close-stream.m4, closeout.m4, codeset.m4: * cycle-check.m4, d-ino.m4, d-type.m4, dev-ino.m4, diacrit.m4: * dirfd.m4, dirname.m4, dos.m4, double-slash-root.m4, dup2.m4: * eealloc.m4, eoverflow.m4, error.m4, euidaccess.m4, exclude.m4: * exitfail.m4, extensions.m4, fcntl-safer.m4, file-type.m4: * fileblocks.m4, filemode.m4, filenamecat.m4, fnmatch.m4: * fpending.m4, fprintftime.m4, free.m4, fstypename.m4, fsusage.m4: * ftruncate.m4, fts.m4, getaddrinfo.m4, getcwd-abort-bug.m4: * getcwd-path-max.m4, getcwd.m4, getdate.m4, getdelim.m4: * getgroups.m4, gethostname.m4, gethrxtime.m4, getline.m4: * getndelim2.m4, getopt.m4, getpagesize.m4, getpass.m4, gettext.m4: * gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4: * glibc21.m4, group-member.m4, hard-locale.m4, hash-pjw.m4, hash.m4: * host-os.m4, human.m4, iconv.m4, idcache.m4, inet_ntop.m4: * intmax_t.m4, inttostr.m4, inttypes-h.m4, inttypes-pri.m4: * inttypes.m4, inttypes_h.m4, isc-posix.m4, jm-winsz1.m4: * jm-winsz2.m4, lchmod.m4, lchown.m4, lib-ignore.m4, lib-ld.m4: * lib-link.m4, lib-prefix.m4, linebuffer.m4, link-follow.m4: * localcharset.m4, long-options.m4, longdouble.m4, longlong.m4: * ls-mntd-fs.m4, lstat.m4, mbchar.m4, mbiter.m4, mbrtowc.m4: * mbstate_t.m4, mbswidth.m4, md5.m4, memcasecmp.m4, memchr.m4: * memcmp.m4, memcoll.m4, memcpy.m4, memmove.m4, mempcpy.m4: * memrchr.m4, memset.m4, mkancesdirs.m4, mkdir-p.m4, mkdir-slash.m4: * mkstemp.m4, mktime.m4, modechange.m4, mountlist.m4, nanosleep.m4: * netinet_in_h.m4, nls.m4, obstack.m4, openat.m4, pathmax.m4: * perl.m4, physmem.m4, po.m4, posixtm.m4, posixver.m4, progtest.m4: * putenv.m4, quote.m4, quotearg.m4, readlink.m4, readtokens.m4: * readutmp.m4, regex.m4, rename.m4, rmdir-errno.m4, rmdir.m4: * rpmatch.m4, safe-read.m4, safe-write.m4, same-inode.m4, same.m4: * save-cwd.m4, savedir.m4, setenv.m4, settime.m4, sha1.m4: * sig2str.m4, signed.m4, snprintf.m4, socklen.m4, sockpfaf.m4: * ssize_t.m4, st_dm_mode.m4, stat-macros.m4, stat-time.m4: * stdarg.m4, stdbool.m4, stdint.m4, stdint_h.m4, stdio-safer.m4: * stdlib-safer.m4, stpcpy.m4, strcase.m4, strcspn.m4, strdup.m4: * strftime.m4, stripslash.m4, strndup.m4, strnlen.m4, strpbrk.m4: * strstr.m4, strtod.m4, strtoimax.m4, strtol.m4, strtoll.m4: * strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4: * sys_socket_h.m4, time_r.m4, timespec.m4, tm_gmtoff.m4, tzset.m4: * uint32_t.m4, uintmax_t.m4, uintptr_t.m4, ullong_max.m4: * ulonglong.m4, unicodeio.m4, unistd-safer.m4, unlink-busy.m4: * unlinkdir.m4, unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4: * utime.m4, utimecmp.m4, utimens.m4, utimes-null.m4, utimes.m4: * vasnprintf.m4, vasprintf.m4, version-etc.m4, wchar_t.m4: * wcwidth.m4, wint_t.m4, xalloc.m4, xgetcwd.m4, xnanosleep.m4: * xreadlink.m4, xstrtod.m4, xstrtoimax.m4, xstrtol.m4: * xstrtoumax.m4, yesno.m4: Remove from CVS, since ../bootstrap generates them automatically. 2006-08-18 Bruno Haible * ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for sys/statvfs.h. When getmntinfo was found, check its declaration and set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it. * stat-prog.m4 (cu_PREREQ_STAT_PROG): Test also for f_fstypename in struct statvfs. 2006-08-18 Jim Meyering * gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via gettime.c. Gabor Z. Papp reported that gethrxtime-using programs failed to link due to unresolved clock_gettime on a linux-2.4.x system. 2006-08-17 Paul Eggert * ChangeLog: Add copyright notice. * check-decl.m4: Likewise. 2006-08-15 Jim Meyering * openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES. 2006-08-10 Jim Meyering Update from gnulib. * cycle-check.m4 (gl_CYCLE_CHECK): Don't mention same-inode.h. Require gl_STRUCT_DEV_INO and gl_SAME_INODE. * dev-ino.m4, same-inode.m4: New files. 2006-08-10 Paul Eggert Accommodate new getaddrinfo implementation in gnulib. * arpa_inet_h.m4, inet_ntop.m4, netinet_in_h.m4, snprintf.m4: New files, from gnulib. * prereq.m4 (gl_PREREQ): Require gl_FUNC_SNPRINTF, gl_GETADDRINFO, gl_HEADER_ARPA_INET, gl_HEADER_NETINET_IN, gl_HEADER_SYS_SOCKET, gl_INET_NTOP, gl_TYPE_SOCKEN_T. 2006-08-09 Paul Eggert * inttypes-h.m4, stdarg.m4: New files, from gnulib. * prereq.m4 (gl_PREREQ): Require gl_STDARG_H. Require gl_FOPEN_SAFER rather than gl_STDIO_SAFER (due to renaming). * getline.m4, gettext.m4, inttypes-pri.m4, lib-link.m4, localcharset.m4: * mbchar.m4, nls.m4, po.m4, stdint.m4, stdio-safer.m4, unistd-safer.m4: * wcwidth.m4: Update from gnulib. 2006-08-08 Paul Eggert * memxfrm.m4, randint.m4, randperm.m4, randread.m4: New files. * prereq.m4 (gl_PREREQ): Require gl_MEMXFRM, gl_RANDINT, gl_RANDPERM, gl_RANDREAD. * restrict.m4: Remove, now that we assume Autoconf 2.58 or later. All uses of gl_C_RESTRICT changed to AC_C_RESTRICT. 2006-07-22 Paul Eggert * close-stream.m4: New file. * prereq.m4 (gl_PREREQ): Require gl_CLOSE_STREAM. 2006-07-16 Paul Eggert * mkancesdirs.m4: New file. * afs.m4: Remove; no longer needed. * jm-macros.m4 (gl_MACROS): Remove gl_AFS. * mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c, dirchownmod.h. Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER; no longer needed. Require gl_FUNC_LCHOWN, since dirchownmod.c needs it. * prereq.m4 (gl_PREREQ): Require gl_MKANCESDIRS. 2006-07-11 Eric Blake * absolute-header.m4: Fix comments to match recent change. 2006-07-10 Derek R. Price and Paul Eggert * backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4: * savedir.m4: Ignore the obsolescent !HAVE_DIRENT_H case. Consolidate NAMLEN macros into the GNU _D_EXACT_NAMLEN. 2006-07-10 Paul Eggert * stdint.m4 (gl_STDINT_H): Like yesterday's change to absolute-header.m4. Also, set ABSOLUTE_STDINT_H to a string "no/such/file/stdint.h" when there is no such file, so that the resulting C code can be parsed by dodgy compilers. Problems reported by Bob Proulx. 2006-07-09 Paul Eggert * absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <> around the absolute name, to work around a problem with the HP-UX 11.23 native C compiler, reported by Bob Proulx. Update from gnulib, as follows: 2006-07-06 Derek R. Price and Paul Eggert * backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead of invoking obsolescent AC_HEADER_DIRENT macro. * d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise. * d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise. * dirfd.m4 (gl_FUNC_DIRFD): Likewise. * fts.m4 (gl_FUNC_FTS_CORE): Likewise. * getcwd.m4 (gl_PREREQ_GETCWD): Likewise. * savedir.m4 (gl_SAVEDIR): Likewise. 2006-07-06 Ralf Wildenhues * fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may expand to nothing, so add a shell command to avoid syntax error. * getpass.m4 (gl_PREREQ_GETPASS): Likewise. 2006-07-06 Paul Eggert * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl; no longer needed. Check for isblank decl. * mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl. * regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead of existence. 2006-07-05 Paul Eggert * xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE rather than AC_CHECK_DECLS for strtoimax and strtoumax. * getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer needed. All uses removed. * strtol.m4 (gl_PREREQ_STRTOL): Likewise. * strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. * exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer needed. * getdate.m4 (gl_GETDATE): Likewise. * getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. * memcasecmp.m4 (gl_MEMCASECMP): Likewise. * strtod.m4 (gl_FUNC_STRTOD): Likewise. * strtol.m4 (gl_PREREQ_STRTOL): Likewise. * strtoul.m4 (gl_PREREQ_STRTOUL): Likewise. * xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. * exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer needed. 2006-07-05 Derek R. Price * calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC; no longer needed. * exclude.m4 (gl_EXCLUDE): Likewise. * getdate.m4 (gl_GETDATE): Likewise. * getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise. * memcasecmp.m4 (gl_MEMCASECMP): Likewise. * strtod.m4 (gl_FUNC_STRTOD): Likewise. * strtol.m4 (gl_PREREQ_STRTOL): Likewise. * xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. 2006-07-05 Eric Blake * sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET to avoid 'header present but could not be compiled' on cygwin. 2006-07-03 Bruno Haible * strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether the function exists, before testing against AIX. Reported by Martin Lambers . 2006-07-04 Paul Eggert * absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes to the absolute name, not just one, to bypass Sun C 5.8's "warning: #include of /usr/include/... may be non-portable". 2006-07-03 Paul Eggert * absolute-header.m4: Renamed from full-header-path.m4. This is to keep the terminology clean; POSIX talks about "absolute pathnames", not "full pathnames", but the GNU Coding Standards say to use "path" for something else; so use "absolute" to keep both sides happy. (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH. Set gl_absolute_header, not gl_full_header_path. Set gl_cv_absolute_
, not gl_full_path_
. Define ABSOLUTE_
, not FULL_PATH_
. All uses changed. 2006-07-08 Jim Meyering * link-follow.m4: Remove one of two adjacent "whether"s in a comment. * getopt.m4: Remove one of two adjacent "your"s in a comment. * autobuild.m4: Remove one of two adjacent "can"s in a comment. * regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a comment. 2006-07-03 Paul Eggert * prereq.m4 (gl_PREREQ): Require gl_FUNC_WCWIDTH, to accommodate changes mentioned below. * setenv.m4 (gt_FUNC_SETENV): Undo private change that added an AC_LIBSOURCES line here, since Bruno didn't buy it back. Instead, update ../lib/Makefile.am to mention the files explicitly. Sync from gnulib. 2006-06-28 Simon Josefsson * getaddrinfo.m4: Look for getnameinfo prototypes too. 2006-06-28 Eric Blake * mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here... * wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file. 2006-06-22 Simon Josefsson * sockpfaf.m4: Include winsock2.h too, to make it work under MinGW. 2006-06-21 Simon Josefsson * getaddrinfo.m4: Don't define WINVER. Look for gethostbyname in -lws2_32 too. Fixes getaddrinfo on Windows 2000, with the price of using the (limited) gnulib implementation on Windows XP. 2006-06-17 Bruno Haible * setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test whether errno is declared. Assume declares errno. 2006-06-16 Eric Blake * rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares errno. 2006-06-15 Eric Blake * ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror. 2006-04-20 Bruno Haible * getpass.m4 (gl_PREREQ_GETPASS): Don't call AC_CHECK_DECLS_ONCE with more than one argument, so that the code will be portable to Autoconf 2.60. * unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise. 2006-03-15 Eric Blake * dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT. 2006-07-03 Jim Meyering * ftruncate.m4 (gl_FUNC_FTRUNCATE): Adjust diagnostic to recommend ./configure SKIP_FTRUNCATE_CHECK=yes, rather than env ... ./configure. Suggestion from Ralf Wildenhues. 2006-07-02 Paul Eggert * stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for test cases, so that config.log is a bit easier to follow. 2006-07-02 Jim Meyering * full-header-path.m4: New file, from gnulib. Required by stdint.m4. 2006-07-02 Paul Eggert * longlong.m4: Sync from gnulib. * stdint.m4: Likewise. * ulonglong.m4: Likewise. 2006-06-30 Paul Eggert * c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES. Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't want to require the building of c-strtod.o. * lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer needs -lm directly. * prereq.m4 (gl_PREREQ): Require gl_C_STRTOD and gl_XSTRTOLD. * xstrtod.m4 (gl_XSTRTOLD): New macro. 2006-06-29 Derek R. Price * strftime.m4: Don't call AC_FUNC_STRFTIME. 2006-06-28 Paul Eggert * jm-macros.m4 (jl_MACROS): Require 2.60, not 2.59d. * jm-macros.m4 (gl_CHECK_ALL_TYPES): Don't require AC_C_CONST, since it's obsolete. 2006-06-28 Derek R. Price * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since it's obsolete. * strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise. * savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement. 2006-06-19 Paul Eggert * lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's --as-needed option if available. Problem reported by Albert Chin in . However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11 cc merely issues a bunch of annoying warnings for --as-needed (this problem was reported by Bob Proulx). Also, try linking with -lm to detect a bug in binutils 2.16 (this problem was reported by Ralf Wildenhues). 2006-06-18 Jim Meyering Test for a bug that causes glibc's getcwd to suffer a failed assertion. * getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and macro. * getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null, also check for glibc-2.4's abort-inducing bug. * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo. Low-probability clean-up should be to use rmdir to get rid of the just-created directory, not unlink. * ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make configure fail, and request a bug report to inform us about it. Add a comment that, barring reports to the contrary, in 2007 we'll assume ftruncate is universally available. 2006-06-10 Jim Meyering Apply this change from gnulib: 2006-05-30 Ralf Wildenhues Bruno Haible * strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a check for the declaration of strnlen and a run test that exposes the AIX 5.1 strnlen bug. In the failure case, #define strndup to rpl_strndup. 2006-05-28 Ralf Wildenhues * c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a compile test, for Tru64 4.0D. 2006-05-24 Jim Meyering * jm-macros.m4: Require autoconf-2.59d, for its fixed version of AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. 2006-05-19 Paul Eggert * nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use gl_ rather than jm_. Link, don't run, so that cross-compiles are allowed. Check that resulting type is arithmetic. Move AC_REQUIRE and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're not really conditional on the cache. (gl_PREREQ_NANOSLEEP): Check for sys/select.h. 2006-05-14 Paul Eggert * stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky test for C99 conformance; (bool) 0.5 is an integer constant expression, but (bool) -0.5 is not. Problem reported by Fedor Sergeev in . 2006-02-17 Eric Blake Sync from gnulib. * getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error. 2006-04-24 Paul Eggert * unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype to define main with arguments, for C++. Reported by Eric Blake. * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. * fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type for 'main', for C99 and C++. 2006-04-24 Paul Eggert * fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit. Don't assume that exit status -1 is valid. * nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. * putenv.m4 (gl_FUNC_PUTENV): Likewise. * rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise. * readdir.m4 (GL_FUNC_READDIR): Include . * rename.m4 (vb_FUNC_RENAME): Likewise. * unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE, not AC_TRY_RUN. Use return, not exit. Don't assume that functions can be used without declaring them, or that you can exit with status -1. * utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise. 2006-04-17 Paul Eggert * filemode.m4 (gl_FILEMODE): Check for strmode declaration. 2006-04-12 Paul Eggert * jm-macros.m4 (gl_MACROS): Check for setgroups and sync, since they are not in Interix. 2006-04-11 Paul Eggert * time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and time_r.h. 2006-04-09 Paul Eggert * regex.m4 (gl_REGEX): Check for new glibc interface to translation table. 2006-03-11 Eric Blake * double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT. * dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT. * dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h. (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define. 2006-03-25 Paul Eggert * regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP, REG_SYNTAX_EMACS, and REG_IGNORE_CASE. Settle for the traditional glibc names. Even if glibc is changed to conform to POSIX, the traditional names will be available anyway, since regex depends on the extensions module. Also, fix a longstanding typo in the implementation of Spencer ERE test #75 from grep 2.3. Problems reported by Emanuele Giaquinta. Also, change sense of cached variable, so that the message makes sense. 2006-03-17 Jim Meyering * regex.m4 (gl_REGEX): Fix typo in last change: s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/. 2006-03-16 Paul Eggert * regex.m4 (gl_REGEX): Don't check for off_t, since the code no longer needs it. Instead, check that regoff_t is as least as wide as ptrdiff_t. Don't define _REGEX_WIDE_OFFSETS unless using the included regex, so that our regex.h stays compatible with the installed regex. This is helpful for installers who configure --without-included-regex. Problem reported by Emanuele Giaquinta. 2006-03-12 Jim Meyering * chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list. * cycle-check.m4 (gl_CYCLE_CHECK): Likewise. * same.m4 (gl_SAME): Likewise. * root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise. 2006-03-12 Paul Eggert * prereq.m4 (gl_PREREQ): Require gl_TIME_R. * time_r.m4: New file, from gnulib. 2006-03-01 Paul Eggert * clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS, not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled pedantically. * nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. * timespec.m4 (gl_TIMESPEC): Likewise. * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test", not "==". Reported by Ralf Wildenhues. 2006-02-22 Ralf Wildenhues * mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and gl_CHDIR_SAFER. 2006-02-16 Eric Blake Sync from gnulib. * sys_socket_h.m4: New file. Solves 'present but cannot compile' warnings on cygwin, which cannot use ws2tcpip.h. * socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET. Don't use ws2tcpip.h if sys/socket.h works. * getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET. (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present. 2006-02-14 Simon Josefsson Sync from gnulib. * getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and -lws2_32. Protect sys/socket.h and netdb.h #include's. Include ws2tcpip.h with WINVER=0x0501. All for mingw32. * socklen.m4: Look in ws2tcpip.h too, for mingw32. 2006-02-05 Paul Eggert * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define __EXTENSIONS__ if this causes compilation to fail. Problem reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7 c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED. 2006-01-26 Paul Eggert * stdbool.m4 (AC_HEADER_STDBOOL): Sync from gnulib. Use 'defined __GNUC__' rather than __GNUC__. 2006-01-25 Paul Eggert * stdbool.m4: Merge from gnulib; we still don't quite match exactly, but we're getting closer. (AC_HEADER_STDBOOL): Add some comments. 2006-01-24 Jim Meyering * openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]). Reported by Mark D. Baushke. 2006-01-23 Paul Eggert * getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl. 2006-01-20 Paul Eggert * lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore rather than -Xlinker -z -Xlinker ignore, as it's more portable. Suggested by Bruno Haible. 2006-01-17 Jim Meyering * fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT. 2006-01-16 Paul Eggert * lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as it's not portable and it doesn't work with cross-compiles. Problem reported by Bruno Haible. Fix missing-$ typo in 'test "gl_cv_ignore_unused_libraries" ...' that prevented -zignore from being used with Sun's C compiler. 2006-01-13 Jim Meyering * ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke AC_CHECK_FUNCS(getmntent) unconditionally so that tests of $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not double-quote uses of that variable, to accommodate the rare case in which getmntent is available in none of the libraries checked. This happens at least on FreeBSD 5.0. 2006-01-11 Paul Eggert * prereq.m4 (gl_PREREQ): Require gl_STDINT_H. * stdint.m4: New file, from gnulib. 2006-01-11 Jim Meyering * openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c. Check for the lchmod function. 2006-01-10 Paul Eggert * argmatch.m4 (gl_ARGMATCH): Don't require gl_FUNC_MEMCMP, for the sake of packages that don't want to worry about ancient systems. * getaddrinfo.m4, localcharset.m4, md5.m4, memcoll.m4: Sync from gnulib. 2006-01-10 Jim Meyering * fpending.m4: Also include , for Dragonfly. Patch by Joerg Sonnenberger. 2006-01-06 Paul Eggert * lib-ignore.m4: New file. 2006-01-01 Paul Eggert * chmod-safer.m4: Remove. * lchmod.m4: New file. * jm-macros.m4 (gl_MACROS): Require gl_FUNC_LCHMOD. Don't require gl_CHDIR_SAFER. 2005-12-21 Jim Meyering * chdir-safer.m4: New file. * jm-macros.m4: Require gl_CHDIR_SAFER. 2005-12-05 Andreas Gruenbacher * acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests. 2005-12-14 Jim Meyering * fprintftime.m4: New file. * jm-macros.m4: Require gl_FPRINTFTIME. 2005-12-13 Paul Eggert * stdbool.m4 (AM_STDBOOL_H): Substitute HAVE__BOOL again, reverting 2005-11-25 change. (AC_HEADER_STDBOOL): Check for buggy compiler that has _Bool but mishandles _Bool |= _Bool. 2005-12-07 Paul Eggert * stat-time.m4 (gl_STAT_TIME): Add check for TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 porting problem reported by Georg Schwarz in . 2005-12-02 Paul Eggert * socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T. Use implementation from Albert Chin, with some comments/corrections by Stepan Kasal and myself. * jm-macros.m4 (gl_MACROS): Adjust to renaming. 2005-12-01 Paul Eggert * regex.m4 (gl_REGEX): Check whether off_t can be used in a switch statement, to work around an HP-UX 10.20 compiler bug reported by Peter O'Gorman. 2005-12-01 Bruno Haible Import from gnulib. * mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't compile mbchar.c if they are not both present. * mbiter.m4 (gl_MBITER): Likewise. * strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE. * strcase.m4 (gl_PREREQ_STRCASECMP): Likewise. 2005-11-30 Jim Meyering * openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c. Require openat-priv.h. 2005-11-25 Paul Eggert * stdbool.m4 (AM_STDBOOL_H): Don't bother substituting HAVE__BOOL; no longer needed. (gl_STDBOOL_H): New macro, from gnulib. (AC_HEADER_STDBOOL): Sync with gnulib. 2005-11-20 Jim Meyering * c.m4: Remove spurious space-before-TAB. * euidaccess-stat.m4 (gl_EUIDACCESS_STAT): New file/macro. * prereq.m4: Require gl_EUIDACCESS_STAT. 2005-11-18 Paul Eggert * c.m4: New file, to work around bugs in AIX cc. Problem reported by James Lemley. This file can go away after Autoconf 2.60 comes out. 2005-11-10 Paul Eggert * gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME or gettimeofday; no longer needed. 2005-10-30 Paul Eggert * chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local variables to suggest the intended function of the PATH_MAX check. 2005-10-30 Kean Johnston Trivial changes to support SCO systems. * chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well as PATH_MAX. * fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems, where __ptr is null when no I/O is pending. 2005-08-27 David Madore * sha256.m4, sha512.m4: New files. * prereq.m4: Add gl_SHA256 and gl_SHA512. 2005-10-07 Paul Eggert * stdbool.m4 (AC_HEADER_STDBOOL): Add an "#ifdef __xlc__" test, since yesterday's attempt didn't work. 2005-10-06 Paul Eggert * stdbool.m4 (AC_HEADER_STDBOOL): Check that bool promotes to int, not unsigned int, to catch the AIX 5.3 compiler bug. 2005-10-02 Alfred M. Szmidt * chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path... against `yes', rather than just testing for nonempty. 2005-10-01 Simon Josefsson * getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD and Darwin. 2005-10-01 Simon Josefsson * getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use AC_GNU_SOURCE, GNU declares only getaddrinfo as an (POSIX) extension. Check for sys/types.h, sys/socket.h, and netdb.h too, needed by getaddrinfo.h. Check if getaddrinfo, freeaddrinfo and gai_strerror are declared by the POSIX headers. Check if struct addrinfo is declared. 2005-10-01 Jim Meyering * getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these libraries [inet nsl socket xnet]. Nelson Beebe reported that with native cc on Solaris 7, getaddrinfo.c requires -lsocket. 2005-09-29 Paul Eggert * openat.m4 (gl_FUNC_OPENAT): Check for fdopendir. 2005-09-28 Paul Eggert * ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely defines ULONG_MAX_LT_ULLONG_MAX. Thomas M.Ott reports that ULLONG_MAX doesn't work with 2.7.2.1. 2005-09-26 Jim Meyering * utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes from glibc-2.2.5 that fails for read-only files. 2005-09-24 Paul Eggert * jm-macros.m4 (gl_MACROS): Check for fchmod and fchown. * mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h, and don't compile mbchar.c unless both headers exist. See . 2005-09-24 Jim Meyering * getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname in the inet and nsl libraries. Required on Solaris 5.7. 2005-09-23 Paul Eggert * regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp, and similarly for the other external symbols. Problem reported by James Gallager. * fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux bug reported by Jim Meyering. * jm-macros.m4 (gl_MACROS): Don't require gl_CHECK_TYPE_STRUCT_UTIMBUF. (gl_CHECK_ALL_HEADERS): Don't check for utime.h. * utimens.m4 (gl_UTIMENS): Check for futimesat (Solaris 10). * getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change; not needed, since socklen is a prerequisite module. 2005-09-23 Jim Meyering * jm-macros.m4 (gl_MACROS): AC_REQUIRE([gl_SOCKLEN_T]) here, now that it's no longer required by getaddrinfo.m4. Correct build failure (socklen_t not defined) on at least mips-sgi-irix6.5 and alphaev67-dec-osf5.1. * getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T. * socklen.m4: New file, from gnulib. 2005-09-22 Paul Eggert * getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h. 2005-09-21 Paul Eggert * check-decl.m4 (_gl_DECL_HEADERS): Don't bother checking for standard C headers, or for headers we no longer use. * jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_XANSTRFTIME; no longer needed. (gl_CHECK_ALL_HEADERS): Don't check for memory.h, mntent.h, mnttab.h, netdb.h, stdlib.h, stdint.h, string.h, sys/filsys.h, sys/fs/s5param.h, sys/fs_types.h, sys/fstyp.h, sys/mntent.h, sys/socket.h, sys/stafs.h, sys/timeb.h, unistd.h. No longer needed. * prereq.m4 (gl_PREREQ): Require gl_FUNC_GETLINE rather than AM_FUNC_GETLINE. Require gl_FUNC_GETPASS_GNU rather than gl_FUNC_GETPASS. Require gl_MBCHAR and gl_MBITER. * xanstrftime.m4: Remove; no longer used. * getaddrinfo.m4, getdelim.m4, mbchar.m4, mbiter.m4, sockpfaf.m4: New files, from gnulib. * backupfile.m4, bison.m4, calloc.m4: * canonicalize.m4, chown.m4, cloexec.m4, dup2.m4: * fileblocks.m4, free.m4, ftruncate.m4, fts.m4: * getcwd.m4, getopt.m4, getpagesize.m4, getpass.m4: * getugroups.m4, group-member.m4, idcache.m4: * lib-link.m4, lib-prefix.m4, link-follow.m4: * mkdir-p.m4, mkstemp.m4, mktime.m4, mountlist.m4: * nanosleep.m4, onceonly_2_57.m4, pathmax.m4: * physmem.m4, posixver.m4, putenv.m4, safe-read.m4: * same.m4, save-cwd.m4, stdio-safer.m4, strndup.m4: * strnlen.m4, unistd-safer.m4, unlinkdir.m4: * userspec.m4, xreadlink.m4, xstrtod.m4: Sync from gnulib. * canon-host.m4, getline.m4, mbrtowc.m4, strcase.m4, strstr.m4: Nontrivial sync from gnulib. 2005-09-16 Paul Eggert * jm-macros.m4 (gl_CHECK_ALL_TYPES): Do not require AC_STRUCT_ST_MTIM_NSEC; it's obsolete. * prereq.m4 (gl_PREREQ): Require gl_STAT_TIME. Import from gnulib. * st_mtim.m4: Remove. Superseded by... * stat-time.m4: New file. * timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE. Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed. 2005-09-13 Jim Meyering * autobuild.m4: New file, from autobuild. 2005-09-09 Paul Eggert * regex.m4: Import from gnulib, to fix some 64-bit bugs. 2005-09-01 Jim Meyering * lchown.m4: Require gl_FUNC_CHOWN, for the definition of CHOWN_MODIFIES_SYMLINK, which is used by lchown.c. Require gl_STAT_MACROS, too. 2005-08-27 Jim Meyering * fcntl-safer.m4, stdio-safer.m4, unistd-safer.m4: Sync from gnulib. 2005-08-01 Jim Meyering * xanstrftime.m4 (gl_FUNC_XANSTRFTIME): New file/macro. * jm-macros.m4: Require gl_FUNC_XANSTRFTIME. 2005-07-25 Paul Eggert * regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_ELSE instead of the obsolescent AC_TRY_RUN. Include the default includes files, for 'exit'. 2005-07-21 Paul Eggert * getdate.m4 (gl_C_COMPOUND_LITERALS): New macro. (gl_GETDATE): Use it. 2005-07-13 Paul Eggert * lib-check.m4 (cu_LIB_CHECK): Remove no-longer-necessary check for fesetround. 2005-07-08 Paul Eggert * jm-macros.m4 (gl_CHECK_ALL_HEADERS): Check for stropts.h. 2005-07-07 Paul Eggert * backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on pathconf. * same.m4 (gl_SAME): Likewise. Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase. Switch to Isamu Hasegawa's implementation of regex, which is now in gnulib. * regex.m4: Import from gnulib. 2005-07-04 Paul Eggert * prereq.m4 (gl_PREREQ): Don't require gl_TYPEOF; no longer needed. * typeof.m4: Remove; no longer needed. 2005-07-03 Paul Eggert Remove the dependency of the strftime module on the tzset module. * strftime.m4 (gl_FUNC_STRFTIME): Don't require gl_FUNC_TZSET_CLOBBER. * prereq.m4 (gl_PREREQ): Add gl_FUNC_TZSET_CLOBBER. 2005-07-03 Jim Meyering * lstat.m4 (gl_FUNC_LSTAT): New file, from gnulib. Use AC_LIBSOURCES to require lstat.c and lstat.h. Remove obsolete comment. 2005-07-03 Paul Eggert * fts.m4 (gl_FUNC_FTS_CORE): Don't require AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat module's job. * jm-macros.m4 (gl_MACROS): Likewise. * prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT. 2005-07-03 Jim Meyering * fcntl-safer.m4 (gl_FCNTL_SAFER): Add fcntl--.h to the list. * stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h to the list. * stdlib-safer.m4 (gl_STDLIB_SAFER): Add stdlib--.h to the list. * unistd-safer.m4 (gl_UNISTD_SAFER): Add unistd--.h to the list. 2005-07-02 Paul Eggert Cleanup to isolate "safer" functions to a small part of the code. * fcntl-safer.m4, fd-reopen.m4, stdlib-safer.m4: New files. * prereq.m4 (gl_PREREQ): Require gl_FCNTL_SAFER, gl_FD_REOPEN, gl_STDLIB_SAFER. 2005-07-02 Jim Meyering * check-decl.m4, chown.m4, free.m4, getcwd.m4, link-follow.m4: * mktime.m4: Assume HAVE_UNISTD_H, i.e., that works. 2005-07-01 Jim Meyering * chown.m4, cloexec.m4, dup2.m4, fsusage.m4, getcwd.m4, jm-macros.m4: * mkstemp.m4, mountlist.m4, save-cwd.m4, unistd-safer.m4: Don't check for fcntl.h anymore. Now we assume it exists and is usable. * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Assume HAVE_FCNTL_H (i.e., include unconditionally, and don't check for fcntl.h). 2005-06-30 Jim Meyering * stdopen.m4 (gl_STDOPEN): New file/macro. * jm-macros.m4: Require it. 2005-06-26 Jim Meyering * diacrit.m4 (gl_DIACRIT): New file/macro. * jm-macros.m4: Require it. 2005-06-25 Jim Meyering * version-etc.m4 (gl_VERSION_ETC): New file/macro. * jm-macros.m4: Require it. * root-dev-ino.m4 (gl_ROOT_DEV_INO): New file/macro. * jm-macros.m4: Require it. 2005-06-23 Jim Meyering * xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ. * xstrtod.m4: Likewise. 2005-06-19 Jim Meyering * xgetcwd.m4 (gl_XGETCWD): Add `AC_LIBOBJ([xgetcwd])'. Register xgetcwd.c and xgetcwd.h via AC_LIBSOURCES. * xfts.m4 (gl_FUNC_XFTS): New file/macro. * jm-macros.m4: Require it. 2005-06-13 Jim Meyering * openat.m4 (gl_FUNC_OPENAT): Add openat-die.c. 2005-06-02 Paul Eggert * extensions.m4: Sync from gnulib; this defines _POSIX_PTHREAD_SEMANTICS for the benefit of Solaris. 2005-06-01 Paul Eggert * mkdir-p.m4: Renamed from makepath.m4. (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH. All uses changed. Rename files from makepath.c to mkdir-p.c, and from makepath.h to mkdir-p.h. * filenamecat.m4: Renamed from path-concat.m4. (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT. All uses changed. Rename files from path-concat.c to filenamecat.c, and from path-concat.h to filenamecat.h. * getcwd-path-max.m4: Don't use "path" or "filename" to mean "file name" in local variables or comments. * rename.m4: Likewise. 2005-05-30 Paul Eggert * jm-macros.m4 (gl_CHECK_ALL_HEADERS): Check for priv.h. 2005-05-27 Paul Eggert * fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h, and don't require gt_INTTYPES_PRI. * prereq.m4 (gl_PREREQ): Require gl_STRINTCMP, gl_STRNUMCMP. * strnumcmp.m4: New file. 2005-05-20 Paul Eggert * fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS. (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros. 2005-05-20 Eric Blake (tiny change) * chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs of -1. 2005-05-18 Paul Eggert * canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]): Don't check for stddef.h. * fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we don't use its results. Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h, since we include them unconditionally. Don't require AM_STDBOOL_H, since stdbool is a prerequisite. Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t since we assume C89 or better. Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT, as we don't use their results. Don't check for fchdir, memmove, memset, strrchr, as we use them unconditionally. * gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it. * jm-macros.m4 (gl_MACROS): Require AC_FUNC_LSTAT. Don't check for memcpy, strchr, strerror, strrchr, float.h. Use AC_REQUIRE on AM_LANGINFO_CODESET and gl_GLIBC21 rather than invoking them directly. (gl_CHECK_ALL_HEADERS): Don't check for errno.h, float.h, limits.h, stddef.h, since we assume C89 now. * lib-check.m4: Add copyright notice. (cu_LIB_CHECK): Renamed from gl_LIB_CHECK. Don't check for sqrt; factor no longer needs it. Revamp tests for floor, modf, rint, to define SEQ_LIBM. Redo tests for fesetround to act like the other wons. Use "cu_saved_libs" for local var name, not "ac_su_saved_lib". * prereq.m4: Add copyright notice. (gl_PREREQ): Add gl_LOCALCHARSET. * localcharset.m4: New file, from gnulib. 2005-05-16 Jim Meyering * fts.m4 (gl_FUNC_FTS): Don't require AC_FUNC_MALLOC or AC_FUNC_REALLOC. They are not needed. 2005-05-14 Jim Meyering * unlinkdir.m4: Register unlinkdir.c and unlinkdir.h via AC_LIBSOURCES. Add `AC_LIBOBJ([unlinkdir])'. 2005-05-14 Paul Eggert * prereqs.m4 (gl_PREREQ): Require gl_UNLINKDIR. * unlinkdir.m4: New file. 2005-05-13 Jim Meyering * prereq.m4: Don't require gl_FUNC_STAT or gl_FUNC_LSTAT. * stat.m4: Remove unnecessary file. * lstat.m4: Remove unnecessary file. * readdir.m4 (GL_FUNC_READDIR): Remove, now that remove.c no longer needs it. * jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_READDIR. 2005-05-10 Derek Price * getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when possible. 2005-05-05 Paul Eggert * getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid needless checks. 2005-05-01 Paul Eggert * getpass.m4, gettext.m4: Sync from gnulib. 2005-04-28 Paul Eggert * euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require AC_HEADER_STAT. * jm-macros.m4 (gl_CHECK_ALL_TYPES): Likewise. * lchown.m4 (gl_FUNC_CHOWN): Likewise. (gl_PREREQ_CHOWN): Remove. * lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling it. Don't require AC_HEADER_STAT. (gl_PREREQ_LSTAT): Remove. * mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once. Don't require AC_HEADER_STAT. * prereq.m4 (gl_PREREQ): Require gl_STAT_MACROS. * rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT. (gl_PREREQ_RMDIR): Remove. 2005-04-27 Paul Eggert * stat-macros.m4: New file, from gnulib, except that gl_STAT_MACROS also requires AC_HEADER_STAT. * canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't mention stat-macros.h or AC_HEADER_STAT, since we'll make the stat-macros module a prerequisite. * file-type.m4 (gl_FILE_TYPE): Likewise. * filemode.m4 (gl_FILEMODE): Likewise. * makepath.m4 (gl_MAKEPATH): Likewise. * modechange.m4 (gl_MODECHANGE): Likewise. 2005-04-18 Paul Eggert * clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for variable names. * jm-macros.m4 (gl_MACROS): Use gl_ or coreutils_ rather than fetish_ for prefixes. * rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from fetish_FUNC_RMDIR_NOTEMPTY. All uses changed. Use gl_ for variable prefixes. 2005-04-11 Paul Eggert Add bulletproofing for cases where stdin, stdout, or stderr are closed. * fcntl-safer.m4: Remove. * stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ. * unistd-safer.m4 (gl_UNISTD_SAFER): Likewise. Invoke gl_PREREQ_FD_SAFER. (gl_PREREQ_FD_SAFER): New macro. * prereq.m4 (gl_PREREQ): Don't require gl_FCNTL_SAFER. 2005-04-08 Paul Eggert * jm-macros.m4 (gl_MACROS): Check for siginterrupt. * nanosleep.m4 (gl_PREREQ_NANOSLEEP): Likewise. * jm-macros.m4 (gl_CHECK_ALL_TYPES): Do not require AC_TYPE_SIGNAL. 2005-03-30 Paul Eggert * readutmp.m4 (gl_READUTMP): Require AC_C_INLINE. Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible. Remove duplicate call to AC_LIBOBJ(readutmp). (gl_PREREQ_READUTMP): Remove. All uses inlined. 2005-03-28 Eric Blake (tiny change) * getcwd-path-max.m4: Return success on systems such as Cygwin where no absolute path name can be longer than PATH_MAX. 2005-03-21 Paul Eggert * canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Add stat-macros.h to AC_LIBSOURCES. * file-type.m4 (gl_FILE_TYPE): Likewise. * filemode.m4 (gl_FILEMODE): Likewise. * makepath.m4 (gl_MAKEPATH): Likewise. * xstrtol.m4 (gl_XSTRTOL): Add xstrtoul.c to AC_LIBSOURCES. Add xstrtoul to AC_LIBOBJ. * onceonly.m4: Remove. * onceonly_2_57.m4: Add. This change shrinks "configure" by over 300 kB. Another change imported from gnulib. * memcasecmp.m4 (gl_MEMCASECMP): Renamed from gl_FUNC_MEMCASECMP. All uses changed. Require AC_HEADER_STDC instead of invoking it. Remove check for stddef.h, size_t, const, since we now assume C89 or better. 2005-03-20 Paul Eggert * gettext.m4, inttypes.m4, isc-posix.m4, lib-link.m4, nls.m4, onceonly.m4, po.m4: Sync from gnulib. 2005-03-17 Jim Meyering * typeof.m4 (gl_TYPEOF): New file/macro. * prereq.m4 (gl_PREREQ): Require gl_TYPEOF. 2005-03-10 Jim Meyering * save-cwd.m4 (gl_SAVE_CWD): Check for fchdir. * human.m4 (gl_HUMAN): Add intprops.h. * inttostr.m4 (gl_INTTOSTR): Likewise * sig2str.m4 (gl_FUNC_SIG2STR): Likewise. * userspec.m4 (gl_USERSPEC): Likewise. * utimecmp.m4 (gl_UTIMECMP): Likewise. * xnanosleep.m4 (gl_XNANOSLEEP): Likewise. * xstrtol.m4 (gl_XSTRTOL): Use AC_LIBSOURCES and AC_LIBOBJ to list the required files. 2005-03-09 Jim Meyering * argmatch.m4, cycle-check.m4: New files. * prereq.m4: Require their macros. 2005-03-01 Paul Eggert * xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting to detect nanosleep bug. 2005-02-25 Paul Eggert * gettext.m4, inttypes-pri.m4, lib-link.m4, lib-prefix.m4, nls.m4, po.m4, progtest.m4: Sync from gnulib. 2005-02-23 Jim Meyering * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's change. Thanks to Bruno Haible for catching it. 2005-02-22 Jim Meyering * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo: s/ifndef/ifdef/. 2005-02-21 Paul Eggert * xnanosleep.m4: New file. * gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Require gl_CLOCK_TIME, gl_USE_SYSTEM_EXTENSIONS. Check whether CLOCK_MONOTONIC is defined, and set LIB_GETHRXTIME accordingly. This is needed for newer GNU/Linux systems that have clock_gettime, so that they link in the appropriate library for it when needed. * prereq.m4 (gl_PREREQ): Require gl_XNANOSLEEP. 2005-02-20 Paul Eggert * gethrxtime.m4: New file. * gettime.m4 (gl_GETTIME): Check for nanotime. * jm-macros.m4 (gl_MACROS): Don't check for gethrtime. * prereq.m4 (gl_PREREQ): Require gl_GETHRXTIME. 2005-02-20 Jim Meyering * stripslash.m4: New file. * linebuffer.m4: New file. * prereq.m4 (gl_PREREQ): Require gl_STRIPSLASH and gl_LINEBUFFER. 2005-02-11 Jim Meyering * inttostr.m4 (gl_INTTOSTR): Use AC_LIBSOURCES to list the required source files. 2005-02-09 Jim Meyering * getcwd.m4 (gl_FUNC_GETCWD_NULL): Use AC_LIBSOURCES to list the required source files. 2005-02-08 Jim Meyering * memcasecmp.m4 (gl_FUNC_MEMCASECMP): New file and macro. * prereq.m4: Require gl_FUNC_MEMCASECMP. 2005-02-07 Jim Meyering * fts.m4 (gl_FUNC_FTS): New file and macro. * prereq.m4: Require gl_FUNC_FTS. 2005-02-06 Jim Meyering * memrchr.m4 (gl_FUNC_MEMRCHR): Check for declaration of memrchr. * chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Depend on gl_FUNC_MEMRCHR. 2005-02-03 Paul Eggert * memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h. 2005-01-29 Jim Meyering Use AC_LIBSOURCES to list corresponding source (.c, .h, .y) files so that automake automatically knows to distribute those files. Use AC_LIBOBJ to ensure that automake automatically knows the names of always-compiled source files. Automake already knows the names of conditionally compiled ones, e.g., due to preexisting uses of AC_LIBOBJ and AC_REPLACE_FUNCS. [This is a start. Many still remain to be fixed...] * acl.m4, backupfile.m4, c-strtod.m4, canon-host.m4: * canonicalize.m4, cloexec.m4, closeout.m4, dirfd.m4, dirname.m4: * exclude.m4, exitfail.m4, file-type.m4, filemode.m4, fpending.m4: * fsusage.m4, getdate.m4, getline.m4, getpagesize.m4, getpass.m4: * gettime.m4, getugroups.m4, group-member.m4, hard-locale.m4: * hash.m4, human.m4, idcache.m4, long-options.m4, makepath.m4: * md5.m4, memcoll.m4, modechange.m4, mountlist.m4, nanosleep.m4: * path-concat.m4, pathmax.m4, physmem.m4, posixtm.m4, posixver.m4: * quote.m4, quotearg.m4, readtokens.m4, readutmp.m4, safe-read.m4: * safe-write.m4, same.m4, savedir.m4, setenv.m4, settime.m4: * sha1.m4, sig2str.m4, strdup.m4, strftime.m4, strndup.m4: * strverscmp.m4, timespec.m4, unlocked-io.m4, userspec.m4: * utimecmp.m4, utimens.m4, xalloc.m4, yesno.m4: 2005-01-27 Jim Meyering * hash-pjw.m4 (gl_HASH_PJW): New file/macro. * basename.m4 (gl_BASENAME): New file/macro. * prereq.m4: Require gl_HASH_PJW and gl_BASENAME. 2005-01-23 Paul Eggert Sync from gnulib. * acl.m4, afs.m4, alloca.m4, assert.m4, atexit.m4, backupfile.m4, bison.m4, c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4, clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4, dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4, exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4, file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4, free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getcwd-path-max.m4, getcwd.m4, getdate.m4, getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4, getopt.m4, getpagesize.m4, getpass.m4, gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4, group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4, idcache.m4, inttostr.m4, jm-winsz1.m4, jm-winsz2.m4, link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4, makepath.m4, md5.m4, memchr.m4, memcmp.m4, memcoll.m4, memcpy.m4, memmove.m4, memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4, modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4, path-concat.m4, pathmax.m4, perl.m4, physmem.m4, posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4, readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4, restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4, savedir.m4, settime.m4, sha1.m4, sig2str.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdio-safer.m4, strdup.m4, strftime.m4, strndup.m4, strnlen.m4, strtod.m4, strtoimax.m4, strtol.m4, strtoll.m4, strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, timespec.m4, tm_gmtoff.m4, tzset.m4, uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4, unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4, utimecmp.m4, utimens.m4, utimes-null.m4, xalloc.m4, xgetcwd.m4, xreadlink.m4, xstrtod.m4, xstrtoimax.m4, xstrtol.m4, xstrtoumax.m4, yesno.m4: Use an all-permissive copyright notice, recommended by RMS. 2005-01-21 Bruno Haible Sync from gnulib. * allocsa.m4, chdir-long.m4, chown.m4, codeset.m4, eealloc.m4, eoverflow.m4, glibc21.m4, iconv.m4, intmax_t.m4, inttypes_h.m4, lchown.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4, longdouble.m4, longlong.m4, mbrtowc.m4, mbstate_t.m4, mbswidth.m4, mempcpy.m4, openat.m4, readlink.m4, safe-read.m4, safe-write.m4, setenv.m4, signed.m4, ssize_t.m4, stdbool.m4, stdint_h.m4, stpcpy.m4, strcase.m4, strcspn.m4, strpbrk.m4, strstr.m4, uintmax_t.m4, ullong_max.m4, ulonglong.m4, unicodeio.m4, utimes.m4, vasnprintf.m4, vasprintf.m4, wchar_t.m4, wint_t.m4: Use an all-permissive copyright notice, recommended by RMS. 2005-01-20 Paul Eggert * save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume it. 2005-01-14 Jim Meyering * utimes.m4: Work around tests/touch/empty-file failure on a system (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes' NULL-means-set-to-current-time semantics. Remove temporary file immediately, rather than waiting for configure's at-exit trap code to do it. 2005-01-04 Jim Meyering * chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown is sane and DOES follow symlinks. Besides, testing 20 different systems found no broken chown implementations. Prompted by a change in rsync's copy of this macro. 2005-01-03 Paul Eggert * ullong_max.m4: New file. * jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX. 2005-01-03 Jim Meyering * mkstemp.m4 (gl_FUNC_MKSTEMP): Don't `cd' into the temporary subdirectory. That would make the subsequent AC_TRY_RUN macro fail, for lack of the ./confdefs.h file. Instead, use the temporary directory name as a prefix on the template string. Include for the declaration of close. Remove `.tmp' suffix; mkstemp requires that XXXXXX be a suffix. 2004-12-23 Paul Eggert * getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA. 2004-12-21 Jim Meyering * mkstemp.m4 (gl_FUNC_MKSTEMP): Remove temporary directory right away, rather than waiting for configure's at-exit trap code to do it. Suggestion from Stepan Kasal. 2004-12-20 Jim Meyering * mkstemp.m4: Do the `cd' in a subshell. * mkstemp.m4: Rather than using "conftestXXXXXX" as the mkstemp template, use a temporary directory and an 8.3-friendly template to avoid trouble on systems like DJGPP. Reported by Juan M. Guerrero via Stepan Kasal. 2004-12-19 Paul Eggert * c-strtod.m4 (gl_C99_STRTOLD): New macro. (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold). 2004-12-10 Jim Meyering * chdir-long.m4 (gl_FUNC_CHDIR_LONG: Arrange to compile chdir-long.c only on systems that define PATH_MAX. 2004-12-07 Paul Eggert * ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change: spurious "-l"s. Problem reported by Stepan Kasal. 2004-12-06 Paul Eggert * ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug in Autoconf 2.59. Problem reported by Mark D. Baushke. 2004-12-06 Jim Meyering * save-cwd.m4 (gl_SAVE_CWD): Use AC_LIBSOURCES. Use AC_LIBOBJ(save-cwd). * chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use AC_LIBSOURCES. Use AC_LIBOBJ(chdir-long). * mempcpy.m4 (gl_FUNC_MEMPCPY): Use AC_LIBSOURCES. * lchown.m4 (gl_FUNC_LCHOWN): Likewise. * openat.m4 (gl_FUNC_OPENAT): Likewise. (gl_PREREQ_GETCWD): Use AC_REQUIRE. 2004-12-02 Paul Eggert * openat.m4: Add copyright notice. (gl_FUNC_OPENAT): Require gl_USE_SYSTEM_EXTENSIONS, since Solaris requires __EXTENSIONS__ to be defined when compiling pedantically, if you want AT_FDCWD. 2004-12-01 Paul Eggert * hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale exist. * human.m4 (gl_HUMAN): Assume locale.h and localeconv exist. * jm-macros.m4 (gl_MACROS): Assume localeconv exists. 2004-11-30 Paul Eggert * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working. * readutmp.m4 (gl_READUTMP): Don't check for sys/param.h. 2004-11-30 Jim Meyering * chdir-long.m4: Rename from chdir.m4. * jm-macros.m4 (gl_MACROS): Reflect renaming. 2004-11-28 Jim Meyering * chdir.m4: New file. * openat.m4: New file. * jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR. 2004-11-25 Paul Eggert * mempcpy.m4: New file, taken from gnulib. * getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from GL_FUNC_GETCWD_PATH_MAX for consistency. All uses changed. Use the _ONCE methods, for efficiency. Check for fcntl.h. In test program, include and if available. Remove old K&R cruft from test program. Check for common errors in GNU/Linux, OpenBSD, and Solaris. Just set gl_cv_func_getcwd_path_max; don't do AC_LIBOBJ, as that's getcwd.m4's job. * getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from AC_FUNC_GETCWD_NULL. All used changed. Change cache variable name accordingly. (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros. Revamp to accommodate new getcwd.c. * jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX. * prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY. * xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since that's all we need now. 2004-11-23 Paul Eggert * utimens.m4 (gl_UTIMENS): Check for futimes function. 2004-11-23 Sergey Poznyakoff * getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in order not to spoil the result of an eventual previous invocation of gl_GETOPT_SUBSTITUTE. 2004-11-17 Paul Eggert * calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc implementations that mishandle size_t overflow. 2004-11-16 Paul Eggert * canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo. 2004-11-13 Jim Meyering * jm-macros.m4: Do require gl_FUNC_FPENDING. * fpending.m4: Restore file. 2004-11-11 Paul Eggert * getopt.m4: Sync from gnulib. 2004-11-06 Jim Meyering * jm-macros.m4: Don't require gl_FUNC_FPENDING. * fpending.m4: Remove file. 2004-11-03 Paul Eggert * setenv.m4: New file, from gnulib. * prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV. * uint32_t.m4: Sync from gnulib. 2004-11-02 Paul Eggert * getpass.m4: Sync from gnulib. 2004-10-29 Paul Eggert * getpagesize.m4: Sync from gnulib. 2004-10-17 Paul Eggert * jm-macros.m4 (gl_MACROS): Check for mbrlen, for pathchk. (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk. Sync from gnulib. * getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD implementation of getopt_long. 2004-10-04 Paul Eggert Sync from gnulib. * xalloc.m4 (gl_PREREQ_XSTRDUP): Remove. All uses removed. * unlocked-io.m4: Add copyright notice. (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO. 2004-10-03 Paul Eggert Sync from gnulib. * mbswidth.m4: Add copyright notice. * vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW. * eoverflow.m4: New file. 2004-08-19 Paul Eggert * getopt.m4: Sync from gnulib. 2004-08-11 Paul Eggert * obstack.m4 (gl_PREREQ_OBSTACK): Require gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T. * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy. 2004-08-09 Paul Eggert * sha1.m4: Renamed from sha.m4. (gl_SHA1): Renamed from gl_SHA. All uses changed. 2004-08-08 Simon Josefsson * getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Check getpass declaration. 2004-08-07 Paul Eggert * canonicalize.m4, getcwd-path-max.m4, strdup.m4: Merge from gnulib. 2004-08-05 Paul Eggert Merge from gnulib. * alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always, for backward compatibility with older code. We need our own alloca.h if _AIX is defined. Define HAVE_ALLOCA if we discover it under some other name, and our alloca.h will define it. * backupfile.m4, calloc.m4, strtoimax.m4, strtoumax.m4: Bump serial number only. * dirfd.m4, intmax_t.m4, inttypes_h.m4, mbrtowc.m4, stdint_h.m4, uintmax_t.m4: Finish renaming jm_ to gl_. * dos.m4 (gl_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__. * host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g. * prereq.m4 (gl_PREREQ): Add gl_GETTIME, AC_FUNC_CALLOC. * gettime.m4: New file. * settime.m4: Require gl_TIMESPEC; check for settimeofday, stime. * unlocked-io.m4: Remove -*- autoconf -*-. * xalloc.m4: No longer require AC_FUNC_CALLOC, AC_FUNC_MALLOC, AC_FUNC_REALLOC. 2004-08-04 Paul Eggert OpenBSD porting fixes. * boottime.m4: Add copyright notice. (GNULIB_BOOT_TIME): Include sys/param.h before testing for sys/sysctl.h. * fsusage.m4: Add copyright notice. (gl_FSUSAGE): Include sys/param.h before checking for sys/mount.h. * jm-macros.m4: Include copyright notice. (gl_MACROS): Use the _ONCE variants when appropriate. Include sys/param.h before testing for sys/sysctl.h and sys/mount.h. * ls-mntd-fs.m4: Include copyright notice. (gl_LIST_MOUNTED_FILE_SYSTEMS): Include sys/param.h before testing for sys/mount.h. * stat-prog.m4: Include copyright notice. (cu_PREREQ_STAT_PROG): Use the _ONCE variants when appropriate. Include sys/param.h before testing for sys/mount.h. 2004-08-01 Paul Eggert * jm-macros.m4 (gl_CHECK_ALL_TYPES): Require gl_AC_TYPE_UINTPTR_T instead of using AC_CHECK_TYPE on uintptr_t. Require gl_AC_TYPE_UINT32_T. * md5.m4 (gl_MD5): Require gl_AC_TYPE_UINT32_T. * uint32_t.m4, uintptr_t.m4: New files. 2004-07-28 Paul Eggert * md5.m4 (gl_MD5): Do not require AC_C_INLINE, since it doesn't use inline any more. Require AC_C_BIGENDIAN, though. * sha.m4 (gl_SHA): Require AC_C_BIGENDIAN. 2004-07-27 Paul Eggert * euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't bother checking for unistd.h, as autoconf does this for us. Check for libgen.h. Also look for eaccess within -lgen, which is where it is in Solaris. Set LIB_EACCESS accordingly. * backupfile.m4 (gl_BACKUPFILE): AC_REQUIRE gl_CHECK_TYPE_STRUCT_DIRENT_D_INO instead of invoking it directly. Do not require AC_FUNC_CLOSEDIR_VOID. 2004-07-25 Paul Eggert * jm-macros.m4 (gl_MACROS): Remove test for setreuid and setregid, as test.c no longer uses them directly. * euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS): New macro. (gl_FUNC_EUIDACCESS): Use AC_CHECK_DECLS_ONCE, not AC_CHECK_DECLS. (gl_PREREQ_EUIDACCESS): Check for eaccess and setregid decls. Require AC_HEADER_STAT. * prereq.m4 (gl_PREREQ): Invoke gl_FUNC_NONREENTRANT_EUIDACCESS, not gl_FUNC_EUIDACCESS. 2004-07-23 Paul Eggert * prereq.m4 (gl_PREREQ): Add gl_FCNTL_SAFER. * fcntl-safer.m4: New file. 2004-07-12 Paul Eggert * c-strtod.m4 (gl_C_STRTOD): Add gl_USE_SYSTEM_EXTENSIONS. 2004-07-11 Paul Eggert * c-strtod.m4: New file. * prereq.m4 (gl_PREREQ): Add gl_C_STRTOLD. 2004-04-03 Dmitry V. Levin * canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Do not add canonicalize.c here. 2004-07-02 Paul Eggert * path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the prerequisite modules now handle the DOS stuff. Don't check for unistd.h. 2004-06-30 Paul Eggert * dos.m4 (gl_AC_DOS): Define FILE_SYSTEM_PREFIX_LEN, not FILESYSTEM_PREFIX_LEN. Generate FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX, not FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX. Generate FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR, not FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR. * ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Renamed from gl_LIST_MOUNTED_FILESYSTEMS. All uses changed. 2004-06-25 Jim Meyering * afs.m4 (gl_AFS): Use AC_ARG_WITH instead of ancient, hard-coded AC_MSG_CHECKING/AC_MSG_RESULT etc. From Tim Waugh. 2004-06-15 Paul Eggert * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): Fix typo: getcwd was being replaced when it shouldn't have been, and vice versa. 2004-06-09 Jim Meyering * calloc.m4 (AC_FUNC_CALLOC): Remove use of AN_FUNCTION. 2004-06-07 Jim Meyering * jm-macros.m4 (gl_MACROS): Check for the directio function. 2004-06-01 Jim Meyering * stdbool.m4: Update from gnulib. 2004-05-29 Jim Meyering * xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_FUNC_CALLOC. * calloc.m4 (AC_FUNC_CALLOC, _AC_FUNC_CALLOC_IF): New file/macros. 2004-05-21 Jim Meyering * free.m4: Update from gnulib (fix reversed test). 2004-05-03 Jim Meyering Temporary work-around for the problem reported here: http://sources.redhat.com/ml/bug-automake/2004/msg00339.html * gettext.m4 (AM_GNU_GETTEXT): Don't require AM_INTL_SUBDIR. (AM_INTL_SUBDIR): Comment out definition. 2004-05-01 Jim Meyering * jm-mktime.m4: Remove file. This is now part of mktime.m4. * glibc.m4, c-stack.m4, xsize.m4, size_max.m4: Remove unused files. * printf-posix.m4, lcmessage.m4: Likewise. * gettextext.m4, intdiv0.m4, intmax.m4: Likewise. * jm-macros.m4 (gl_MACROS): Move fchown-checking code to chown.m4. * chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h. See if we need an fchown replacement. (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro. (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK, and use the replacement function if we detect either defect. 2004-04-22 Paul Eggert * jm-macros.m4 (gl_MACROS): Check for tcgetpgrp. 2004-04-23 Jim Meyering * jm-macros.m4: Don't check for values.h; it's no longer used. 2004-04-20 Jim Meyering Change UTILS_ to gl_ in AC_DEFINE'd names. Change utils_- and jm_-prefixed variables, too. * mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from UTILS_FUNC_MKDIR_TRAILING_SLASH. * mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP. * host-os.m4 (gl_HOST_OS): Renamed from UTILS_HOST_OS. * dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD. Don't emit trailing blanks. Also rename jm_-prefixed variables to have gl_ prefix. * jm-macros.m4: Reflect the renamings. * prereq.m4: Likewise. 2004-04-19 Jim Meyering * readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE, now that readutmp.c may call `free (0)'. 2004-04-14 Jim Meyering * Makefile.am: Remove file. With automake-1.8.3, it's no longer needed. * Makefile.am.in: Likewise. * Makefile.in: Likewise. * stat-prog.m4 (cu_PREREQ_STAT_PROG): Don't use AC_CHECK_HEADERS to check for inttypes.h. Instead, require gt_HEADER_INTTYPES_H. * jm-macros.m4: Require cu_PREREQ_STAT_PROG. * prereq.m4: Move prerequisite function for src/stat.c to ... * stat-prog.m4 (cu_PREREQ_STAT_PROG): New file. Contents from prereq.m4. 2004-04-13 Jim Meyering Change `jm_' in AC_DEFINE'd names to `gl_'. Update all uses. * afs.m4, allocsa.m4, assert.m4, backupfile.m4, bison.m4: * check-decl.m4, chown.m4, d-ino.m4, d-type.m4, dirname.m4: * dos.m4, error.m4, fpending.m4, fstypename.m4, fsusage.m4: * ftruncate.m4, getdate.m4, getgroups.m4, gettext.m4, glibc21.m4: * group-member.m4, human.m4, intmax.m4, intmax_t.m4, inttostr.m4: * inttypes_h.m4, jm-macros.m4, jm-mktime.m4, jm-winsz1.m4: * jm-winsz2.m4, lchown.m4, lib-check.m4, link-follow.m4, longlong.m4: * ls-mntd-fs.m4, lstat.m4, makepath.m4, mbrtowc.m4, mbswidth.m4: * memchr.m4, memcmp.m4, mkstemp.m4, mountlist.m4, nanosleep.m4: * path-concat.m4, perl.m4, prereq.m4, putenv.m4, quotearg.m4: * regex.m4, stat.m4, stdint_h.m4, strftime.m4, strtoimax.m4: * strtoll.m4, strtoull.m4, strtoumax.m4, timespec.m4, uintmax_t.m4: * ulonglong.m4, unlink-busy.m4, unlocked-io.m4, uptime.m4, utimbuf.m4: * utime.m4, utimens.m4, utimes-null.m4, vasnprintf.m4, xstrtoimax.m4: * xstrtol.m4, xstrtoumax.m4: Change jm_ to gl_ in AC_DEFINE'd names. 2004-03-27 Paul Eggert * utimecmp.m4: New file. * prereq.m4 (jm_PREREQ): Require gl_UTIMECMP. 2004-04-07 Paul Eggert * jm-macros.m4 (jm_MACROS): Check for fdatasync within -lrt and -lposix4, so that it can be used in Solaris 2.5.1 and later. 2004-03-30 Paul Eggert * c-stack.m4, getline.m4, getndelim2.m4, mbswidth.m4, po.m4, strdup.m4, xsize.m4: Sync from gnulib. * allocsa.m4, cloexec.m4, eealloc.m4, inttostr.m4, mbstate_t.m4: New files, from gnulib. * prereq.m4 (jm_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR. 2004-03-31 Jim Meyering * prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC. Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC. * xalloc.m4: Likewise. * realloc.m4: Remove file, since now it does no more than AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via the `configure.ac' section of module/realloc. * malloc.m4: Likewise, but for AC_FUNC_MALLOC. 2004-02-29 Paul Eggert * clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE. * getdate.m4 (gl_GETDATE): Remove time-related stuff. Require AM_STDBOOL_H and gl_TIMESPEC instead. Require gl_CLOCK_TIME. 2004-03-07 Paul Eggert * Makefile.am.in (Makefile.am): Don't use $<, as it doesn't work with Solaris make. 2004-01-29 Jim Meyering Avoid a configure-time warning about sys/ucred.h on OSF V4.0. * ls-mntd-fs.m4: Test for sys/ucred.h separately, since on some systems one must include before it. Reported by Christian Krackowizer. 2004-01-16 Jim Meyering * onceonly.m4: Sync with version from gettext-0.13.1. 2003-10-08 Paul Eggert Merge from gnulib. * getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h. 2003-08-26 Bruno Haible Merge from gnulib. * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here. This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch' followed by '#define fnmatch fnmatch_posix' gives an error. 2004-01-14 Paul Eggert * posixv.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION. 2004-01-13 Jim Meyering * gettext.m4, lib-ld.m4, lib-prefix.m4, nls.m4, po.m4: Update from gettext-0.13.1. * intmax.m4, isc-posix.m4, printf-posix.m4, size_max.m4, xsize.m4: New files. From gettext-0.13.1. 2004-01-11 Paul Eggert * posixver.m4 (gl_DEFAULT_POSIX2_VERSION): Move the documentation from 'configure' into 'config.hin', so that 'configure --help' isn't burdened by it and we don't have to worry about its formatting there. Reword the documentation so that it's more succinct and can be run together into a single paragraph. 2004-01-12 Jim Meyering * posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro. 2003-12-20 Jim Meyering * jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX. * open-max.m4 (UTILS_SYS_OPEN_MAX): Remove file. No longer used. * lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the value, $ac_cv_search_crypt, if it's "none required". 2003-12-19 Jim Meyering * clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME if no library is required. 2003-12-18 Jim Meyering * search-libs.m4 (AC_SEARCH_LIBS): Remove file/macro, now that this replacement is no longer needed. Besides, this macro has no effect with autoconf-2.58, since `undefine' in package-supplied .m4 files is no longer honored. Reported by Andreas Schwab. Remove now-unnecessary (and unused) files. They also used `undefine'. * isc-posix.m4 (AC_ISC_POSIX): Remove file. * getloadavg.m4 (gl_FUNC_GETLOADAVG): Remove file. * prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG, not gl_FUNC_GETLOADAVG. 2003-11-08 Jim Meyering * inttypes.m4: Sync from gnulib (this file was previously empty, to work around some sort of problem). 2003-11-08 Alexandre Duret-Lutz * nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the value, $ac_cv_search_nanosleep, if it's "none required". 2003-11-05 Paul Eggert * jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t. 2003-11-05 Jim Meyering * jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE. * free.m4: New file, from gnulib. * exitfail.m4, host-os.m4, strndup.m4: Update from gnulib. * jm-macros.m4 (jm_MACROS): Require autoconf-2.58. (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58. 2003-10-13 Paul Eggert * xalloc.m4: Import latest version from gnulib. 2003-10-06 Jim Meyering * ftw.m4: Remove now-unused file. 2003-10-05 Jim Meyering * jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW. 2003-09-17 Paul Eggert Update from gnulib. * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first, to avoid spurious warnings like "AC_RUN_IFELSE was called before gl_USE_SYSTEM_EXTENSIONS" from autoreconf. 2003-09-12 Paul Eggert More patches to assume C89 or better. * mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C headers. * strdup.m4 (gl_PREREQ_STRDUP): Likewise. * userspec.m4 (gl_USERSPEC): Likewise. * xalloc.m4 (gl_PREREQ_XMALLOC): Likewise. * xstrtod.m4 (gl_XSTRTOD): Likewise. * xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise. * strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h, memcpy, memset. (jm_FUNC_GNU_STRFTIME): Don't require standard C headers. * strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h. * strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h, strtol. * strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h. * userspec.m4 (gl_USERSPEC): Do not check for string.h. * xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol, strtoul. 2003-09-12 Paul Eggert * error.m4 (gl_ERROR): Don't check for vprintf. Require AC_FUNC_STRERROR_R rather than invoking it. 2003-09-12 Paul Eggert * check-decl.m4 (jm_CHECK_DECLS): Include , unconditionally. * closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h. * gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Include , unconditionally. * lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free. * readdir.m4 (GL_FUNC_READDIR): Don't check for string.h. * readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C headers or for string.h. * strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlb.h or strtoul. * extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX and AC_MINIX, too, so that their extensions are available. * prereq.m4 (jm_PREREQ_ADDEXT): Remove. All uses removed. This macro has been superseded by gl_BACKUPFILE. 2003-09-12 Jim Meyering * prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH, gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS. * readtokens.m4: New file, from gnulib * md5.m4: Likewise. * makepath.m4: Likewise. * long-options.m4: Likewise. * idcache.m4: Likewise. * getugroups.m4: Likewise. 2003-09-11 Paul Eggert More patches to assume C89 or better. * strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check. * strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h, string.h, memchr, STDC_HEADERS. 2003-09-10 Bruno Haible * strcspn.m4 (gl_PREREQ_STRCSPN): Remove check. * strpbrk.m4 (gl_PREREQ_STRPBRK): Remove check. * strstr.m4 (gl_PREREQ_STRSTR): Remove check. * unicodeio.m4 (gl_UNICODEIO): Remove check. * xreadlink.m4 (gl_XREADLINK): Remove check. * yesno.m4 (gl_YESNO): Remove check. 2003-09-09 Paul Eggert * getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h. * getopt.m4 (gl_GETOPT): Don't check for string.h. * getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for stdlib.h. * group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard C headers. * hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h, string.h. * hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free. * human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv. * sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy. * memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h. * memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h. * memcoll.m4 (gl_MEMCOLL): Likewise. * memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h. * mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h, string.h, free. * mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers. * modechange.m4 (gl_MODECHANGE): Don't check for standard C headers. * mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard C headers, or for string.h. * obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h. (gl_PREREQ_OBSTACK): Don't check for stdlib.h. * path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C headers, memory.h, stdlib.h, string.h, strings.h. * posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h. * posixver.m4 (gl_POSIXVER): Don't check for getenv. * putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy, strchr. * regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h. * rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h, free. * rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C headers. * save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers. * savedir.m4 (gl_SAVEDIR): Don't check for standard C headers. * xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h. 2003-09-09 Derek Robert Price * getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the C89 spec. 2003-09-08 Paul Eggert Assume C89 or better; remove K&R cruft. * alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h. * backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h, string.h, getenv, malloc. * dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard headers. * canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h. * error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and do not check for strerror. * exclude.m4: Do not check for stdlib.h, string.h, strings.h. * exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h. * fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove. All uses removed. * getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h. 2003-08-27 Jim Meyering * mkstemp.m4: Require that the system mkstemp be able to create 70 temporary files, not just 30. Tru64 V4.0F's mkstemp function would fail after 32. Reported by Danny Levinson. Details here: http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html 2003-08-19 Jim Meyering * lib-ld.m4: Revert yesterday's change, per Bruno's request here: http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html 2003-08-18 Paul Eggert * same.m4 (gl_SAME): Do not check for stdlib.h or string.h or free. Check for pathconf. 2003-08-18 Jim Meyering * getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB). * lib-ld.m4: Likewise. * po.m4: Likewise. 2003-08-18 Paul Eggert and Jim Meyering It turns out that we need AM_NLS and AM_PO_SUBDIRS after all; otherwise po/POTFILES and po/Makefile aren't built by 'configure'. I'm not sure why I didn't catch this earlier; most likely some leftover build files. Sorry about that. * gettextext.m4 (AM_NLS, AM_PO_SUBDIRS): Remove definitions. * nls.m4, po.m4: New files, taken from gnulib / gettext. 2003-08-16 Paul Eggert Sync with gnulib. * gettextext.m4: New file. * atexit.m4, backupfile.m4, canon-host.m4, clock_time.m4, closeout.m4, dirname.m4, dup2.m4, euidaccess.m4, exclude.m4, exitfail.m4, file-type.m4, fileblocks.m4, filemode.m4, getdate.m4, gethostname.m4, getloadavg.m4, getopt.m4, getpagesize.m4, getpass.m4, getusershell.m4, hard-locale.m4, hash.m4, malloc.m4, memchr.m4, memcpy.m4, memmove.m4, memrchr.m4, memset.m4, modechange.m4, mountlist.m4, obstack.m4, path-concat.m4, pathmax.m4, physmem.m4, posixtm.m4, posixver.m4, quote.m4, quotearg.m4, readlink.m4, readutmp.m4, realloc.m4, rmdir.m4, rpmatch.m4, safe-read.m4, safe-write.m4, same.m4, save-cwd.m4, savedir.m4, settime.m4, sha.m4, sig2str.m4, stdio-safer.m4, stpcpy.m4, strcase.m4, strcspn.m4, strdup.m4, strndup.m4, strnlen.m4, strpbrk.m4, strstr.m4, strtod.m4, strtoimax.m4, strtol.m4, strtoll.m4, strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, ulonglong.m4, unicodeio.m4, unistd-safer.m4, userspec.m4, xalloc.m4, xgetcwd.m4, xreadlink.m4, xstrtod.m4, xstrtol.m4, yesno.m4: New files, from gnulib. * acl.m4, check-decl.m4, chown.m4, c-stack.m4, d-ino.m4, d-type.m4, fileblocks.m4, fsusage.m4, ftruncate.m4, getcwd.m4, getgroups.m4, getline.m4, getndelim2.m4, gettext.m4, gettimeofday.m4, group-member.m4, host-os.m4, iconv.m4, intmax_t.m4, inttypes-pri.m4, jm-macros.m4, lchown.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4, longdouble.m4, longlong.m4, ls-mntd-fs.m4, lstat.m4, mbrtowc.m4, mbswidth.m4, memcmp.m4, mkdir-slash.m4, mkstemp.m4, nanosleep.m4, onceonly.m4, prereq.m4, progtest.m4, putenv.m4, readdir.m4, rename.m4, stat.m4, tzset.m4, utimbuf.m4, utime.m4, vasnprintf.m4, xstrtoimax.m4, xstrtoumax.m4: Sync with gnulib. 2003-08-15 Jim Meyering * utimes.m4 (gl_FUNC_UTIMES): Use `conftest.utimes' as the test file name, not `x'. The former will be removed automatically. 2003-08-13 Jim Meyering * README: Remove file. * Makefile.am.in: Simplify. (Makefile.am): Remove README. 2003-08-10 Jim Meyering * utimes.m4 (gl_FUNC_UTIMES): New file. * utimens.m4: Require gl_FUNC_UTIMES. Don't check for utime or utimes. * utimes.m4: Removed. * utimes-null.m4: Renamed from utimes.m4. 2003-08-06 Paul Eggert * prereq.m4 (jm_PREREQ): Require gl_UTIMENS. * utimens.m4: New file. 2003-08-08 Paul Eggert * vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Solaris 2.5.1 needs -lw to get the wcslen function. 2003-08-08 Paul Eggert Use new gnulib 'extensions' module. * extensions.m4, unlocked-io.m4: New files, from gnulib. * gnu-source.m4, jm-glibc-io.m4: Remove. * timespec.m4: Merge from gnulib. 2003-08-08 Paul Eggert * jm-macros.m4 (jm_MACROS): Replace jm_INCLUDED_REGEX([lib/regex.c]) with gl_REGEX. Replace jm_FUNC_MKTIME with gl_FUNC_MKTIME. Remove redundant AC_FUNC_FNMATCH_GNU, jm_FUNC_MKTIME. Remove AC_FUNC_VPRINTF. Add gl_ERROR. 2003-08-05 Paul Eggert * jm-macros.m4 (jm_MACROS): Use gl_GETNDELIM2 rather than checking for getdelim. (jm_CHECK_ALL_TYPES): Use gt_TYPE_SSIZE_T for ssize_t rather than rolling our own. Merge getline from gnulib. * getline.m4: Merge from gnulib. * getndelim2.m4, ssize_t.m4: New files, from gnulib. 2003-08-04 Paul Eggert * regex.m4: Merge with gnulib. (gl_REGEX): New macro. (jm_INCLUDED_REGEX): Don't assume Latin-1 encoding of source code. * restrict.m4: Merge with gnulib. (gl_C_RESTRICT): Renamed from ACX_C_RESTRICT. All uses changed. Rename cache vars to gl_cv_*. Incorporate latest Autoconf CVS tricks. 2003-08-05 Paul Eggert * gnu-source.m4: New file, taken from gnulib, with support added for __EXTENSIONS__ a la Solaris. * jm-macros.m4 (jm_CHECK_ALL_TYPES): Call gl_TIMESPEC rather than jm_CHECK_TYPE_STRUCT_TIMESPEC. * st_mtim.m4: Sync with gnulib (white space change only). * timespec.m4: Sync with gnulib, except also require AC_GNU_SOURCE. 2003-08-05 Paul Eggert * prereq.m4 (jm_PREREQ_PHYSMEM, jm_PREREQ_STAT): Ignore headers that are present but cannot be compiled. This avoids spurious warnings on Solaris 9 sparc with Forte Developer 7 C 5.4. 2003-08-04 Paul Eggert Merge fnmatch module from gnulib. * fnmatch.m4: New file, from gnulib. * jm-macros.m4 (jm_MACROS): Require gl_FUNC_FNMATCH_GNU instead of AC_FUNC_ERROR_AT_LINE. 2003-08-04 Paul Eggert * error.m4: Sync from gnulib. 2003-07-23 Jim Meyering * lstat.m4, mkstemp.m4, regex.m4, stat.m4: Normalize naming of Sun operating systems in comments, e.g., SunOS4 -> SunOS 4, Solaris5.9 -> Solaris 9. From Paul Eggert. 2003-07-18 Paul Eggert * jm-macros.m4 (jm_MACROS): Invoke gl_MEMCOLL. * memcoll.m4: New file, from gnulib. Based on a patch from Andreas Schwab. 2003-07-14 Jim Meyering * Makefile.am.in: Correct comment on first line. 2003-07-12 Jim Meyering * jm-macros.m4 (OPTIONAL_BIN_ZCRIPTS): Remove unused variable. 2003-07-10 Jim Meyering * jm-macros.m4 (jm_MACROS): Require gl_FUNC_VASPRINTF and gl_FUNC_VASNPRINTF. * longdouble.m4, signed.m4, vasnprintf.m4, vasprintf.m4, wchar_t.m4: * wint_t.m4: New files, in support of new asprintf use. From gnulib. * stdint_h.m4: New file. * inttypes_h.m4: New file. * uintmax_t.m4: New file. * intmax_t.m4: New file. * inttypes.m4: Remove file. Use intmax_t.m4 and uintmax_t.m4 from gnulib, instead. 2003-06-09 Jim Meyering * tzset.m4 (gl_FUNC_TZSET_CLOBBER): Also define gmtime. * gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Likewise. Suggestion from Paul Eggert. 2003-06-08 Jim Meyering * tzset.m4 (gl_FUNC_TZSET_CLOBBER): New file/macro. Used by strftime.m4. * strftime.m4 (_jm_STRFTIME_PREREQS): Require gl_FUNC_TZSET_CLOBBER. 2003-06-07 Jim Meyering * strftime.m4: Update from gnulib. * tm_gmtoff.m4: New file, used by strftime.m4. * mktime.m4: New file. From gnulib. 2003-06-06 Jim Meyering * jm-macros.m4: Require gl_FUNC_ALLOCA. * alloca.m4: New file, from gnulib. * stdbool.m4: Update from gnulib. 2003-06-04 Paul Eggert Merge human.c etc. from gnulib. * human.m4: New file, from gnulib. * prereq.m4 (jm_PREREQ): Use gl_HUMAN, not jm_PREREQ_HUMAN. (jm_prereq_HUMAN): Remove. 2003-06-02 Jim Meyering * jm-macros.m4 (jm_MACROS): Require AM_STDBOOL_H. 2003-05-26 Jim Meyering * dirfd.m4 (UTILS_FUNC_DIRFD): Merge in change from gnulib, fixing an M4 quoting bug. * lib-ld.m4 (AC_LIB_PROG_LD_GNU): Use TAB-SP, not SP-TAB when setting IFS. * progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. 2003-05-06 Jim Meyering * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): Check for the declaration of getcwd *before* checking for the getcwd kernel bug. Otherwise, configure-time `checking ...' messages would be intermixed. 2003-05-02 Jim Meyering * readdir.m4 (GL_FUNC_READDIR): Revive dead file. Change name to have GL_ (not jm_) prefix. Adjust cache variables similarly. Create 500 rather than just 300 files, to exercise bug on Darwin6.5, too. * jm-macros.m4 (jm_MACROS): Require GL_FUNC_READDIR. 2003-04-25 Jim Meyering * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): If PATH_MAX is not defined, don't run the test, and don't use the wrapper. Otherwise, on the Hurd, it would take a long time to create and remove a hierarchy about 4000 levels deep. Based on a patch from Robert Millan. 2003-04-22 Jim Meyering Aesthetics. * gettext.m4: Change an occurrence of [ \t] to [\t ]. 2003-04-07 Jim Meyering * prereq.m4 (jm_PREREQ_STAT): Add prerequisites and #includes for Ultrix 4.4. 2003-04-02 Jim Meyering * perl.m4 (jm_PERL): Use $am_missing_run, not undefined $missing_dir. 2003-03-19 Jim Meyering * ftw.m4 (AC_FUNC_FTW): Require AC_HEADER_STAT. 2003-03-17 Richard Dawe * jm-macros.m4 (jm_MACROS): Include $(EXEEXT) in DF_PROG's program name, since automake only adds $(EXEEXT) to programs in its *_PROGRAMS. Arrange to compile the corresponding stub function if fchdir is missing. 2003-03-18 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since otherwise, AIX 5.1 systems would end up using the latter. MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting whether a file system is remote doesn't work 2) the MOUNTED_VMOUNT code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1 code reports merely /MOUNT_POINT. Reported by Mike Jetzer. 2003-03-17 Jim Meyering * dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one that is guaranteed to be `no'. Use `no_such_member' to indicate that condition, rather than `-1' which is slightly misleading. Change the name of the cache variable to have the gl_ prefix. Prompted by a patch from Richard Dawe for DJGPP. 2003-03-14 Jim Meyering * prereq.m4 (jm_PREREQ): Also forbid the gl_[A-Z] prefix. Don't require jm_PREREQ_C_STACK. 2003-03-13 Paul Eggert [from gnulib] * onceonly.m4 (m4_quote): New macro. (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly. 2003-03-13 Jim Meyering * jm-macros.m4 (jm_MACROS): Arrange to compile the corresponding stub function if any of the following is missing: fchown, lstat, readlink. From Richard Dawe. 2003-03-07 Jim Meyering * jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define using the latest version from cvs. This avoids problems with #line directives using a vendor (Sun) compiler. * jm-macros.m4: Don't require AC_SYS_MMAP_STACK. * mmap-stack.m4 (AC_SYS_MMAP_STACK): Remove file. 2003-03-06 Jim Meyering * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): Check for declaration of getcwd. 2003-03-04 Jim Meyering * getcwd-path-max.m4 (GL_FUNC_GETCWD_PATH_MAX): New macro. * jm-macros.m4: Require GL_FUNC_GETCWD_PATH_MAX. `df /some/mount-point' no longer hangs when an unrelated hard-mount is unavailable * fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point in /proc/mounts until it finds one with matching device number. This is unnecessary when the FILE argument *is* a mount point. No stat call is necessary in that case. So, disable the statvfs-testing code on systems with GNU libc. Reported by Andrei Gaponenko via Tim Waugh as RedHat bug# 84846. 2003-02-27 Jim Meyering * prereq.m4 (jm_PREREQ_PHYSMEM): Also check for `table' function. Reported by Kaveh Ghazi. * prereq.m4 (gl_SYS__SYSTEM_CONFIGURATION): New function. (jm_PREREQ_PHYSMEM): Check for new headers and functions. Use gl_SYS__SYSTEM_CONFIGURATION. With suggestions from Kaveh Ghazi. 2003-02-19 Jim Meyering * c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size to 1MB, so as not to render systems with no stack size limit (e.g., linux-2.2.x) unusable. Suggestion and code from Bruno Haible. 2003-02-17 Jim Meyering * prereq.m4 (jm_PREREQ_PHYSMEM): Undo last change, since Kaveh Ghazi found a better way to get the required information. Add check for sys/sysmp.h. 2003-02-15 Jim Meyering * mmap-stack.m4: New file. * jm-macros.m4: Require AC_SYS_MMAP_STACK. Add Irix6 support to physmem.c. * prereq.m4 (jm_PREREQ_PHYSMEM): Also check for sys/sysget.h and sys/sysinfo.h. Also check for sysget. Reported by Kaveh Ghazi. 2003-02-12 Jim Meyering * restrict.m4 (ACX_C_RESTRICT): Remove #ifndef -- so now this macro also checks for support when using a C++ compiler. Also, remove the test for SGI's __restrict. Suggested by Steven G. Johnson. * regex.m4 (jm_PREREQ_REGEX): Require ACX_C_RESTRICT. * restrict.m4 (ACX_C_RESTRICT): Minor syntactic changes: Split long lines, use AC_COMPILE_IFELSE, indent, use `case' instead of nested `if's, remove unnecessary quotes. * restrict.m4 (ACX_C_RESTRICT): New macro. Copied directly from the URL in the comments. By Steven G. Johnson. 2003-02-09 Jim Meyering * check-decl.m4 (jm_CHECK_DECLS): Add euidaccess. 2003-02-03 Jim Meyering * c-stack.m4: Include . On some systems, it is required for the definition of _SC_PAGESIZE. 2003-02-02 Jim Meyering * onceonly.m4: New file. From gnulib. * regex.m4 (jm_PREREQ_REGEX): New function, from gnulib. (jm_INCLUDED_REGEX): Use it. * prereq.m4 (jm_PREREQ_REGEX): Remove. 2003-01-31 Jim Meyering * open-max.m4 (UTILS_SYS_OPEN_MAX): New file/macro. * jm-macros.m4 (jm_MACROS): Require UTILS_SYS_OPEN_MAX. 2003-01-29 Jim Meyering * regex.m4: Detect broken re_search in e.g. glibc-2.2.93. 2003-01-23 Jim Meyering * dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this from working on systems without dirfd (at least Irix and OSF1/Tru64). Merge in change by Bruno Haible from gnulib. * dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP requirements. 2003-01-16 Jim Meyering * regex.m4: The `regex' struct is both input and output. Initialize it before each use. Patch by Tim Waugh. 2003-01-15 Jim Meyering * jm-macros.m4: Require AC_FUNC_FTW. 2003-01-12 Jim Meyering * ftw.m4: New file. 2003-01-11 Jim Meyering * canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): New file and macro. * jm-macros.m4: Require AC_FUNC_CANONICALIZE_FILE_NAME. (jm_MACROS): No longer check for resolvepath or canonicalize_file_name. 2002-12-15 Jim Meyering * jm-glibc-io.m4n: Remove now-unused file. * Makefile.am.in (Makefile.am): Remove jm-glibc-io.m4 and jm-glibc-io.m4n. 2002-12-11 Jim Meyering * jm-glibc-io.m4: Maintain this file manually rather than generating it. Generating it caused too much trouble. From gnulib. 2002-11-19 Jim Meyering * jm-macros.m4: Require Autoconf-2.56. 2002-09-30 Akim Demaille * prereq.m4: Use AC_REQUIRE everywhere it is possible. (jm_PREREQ_CANON_HOST): Remove duplicates. 2002-11-10 Jim Meyering * jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(raise). 2002-10-30 Paul Eggert * getgroups.m4 (jm_FUNC_GETGROUPS): Fix typo: cv_func_getgroups_works -> ac_cv_func_getgroups_works. 2002-10-07 Paul Eggert * prereq.m4 (jm_PREREQ_HUMAN): Check for locale.h, localeconv, AC_HEADER_STDBOOL. No need to check for limits.h since it's in freestanding C89. No need to check for stdlib.h or string.h since autoconf does this now. 2002-10-12 Paul Eggert * jm-macros.m4 (jm_CHECK_ALL_HEADERS): Remove fenv.h. 2002-09-29 Jim Meyering * gettext.m4 (AM_INTL_SUBDIR): Don't require gt_HEADER_INTTYPES_H. It's not necessary with autoconf-2.54. 2002-09-28 Jim Meyering * getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB. * jm-macros.m4 (jm_MACROS): Don't set GETGROUPS_LIB here; now it's done via getgroups.m4's wrapper function. * strerror_r.m4: Remove file -- now it's part of autoconf-2.54. Reported by Akim Demaille. 2002-09-25 Jim Meyering * gettext.m4: Upgrade to gettext-0.11.5. 2002-09-07 Bruno Haible * host-os.m4 (UTILS_HOST_OS): Add a case for freebsd*-gnu*. 2002-09-17 Jim Meyering * jm-macros.m4 (jm_MACROS): Require gt_INTTYPES_PRI. * inttypes-pri.m4 (gt_INTTYPES_PRI): New file, mostly from gettext. 2002-09-16 Jim Meyering * prereq.m4: Forbid symbols matching ^jm_[A-Z]. (jm_PREREQ_QUOTEARG): Add jm_FUNC_MEMCMP. From Akim Demaille. * error.m4 (jm_PREREQ_ERROR): Check for libintl.h. Reported by Akim Demaille. 2002-09-13 Jim Meyering * jm-macros.m4 (jm_MACROS): Require autoconf-2.54. 2002-09-09 Jim Meyering * getloadavg.m4: Remove file -- now it's part of autoconf-2.53c. * jm-macros.m4: Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new AC_FUNC_GETLOADAVG where to find getloadavg.c. 2002-09-03 Jim Meyering * gnu-source.m4: Remove file -- now it's part of autoconf-2.53c. * mbstate_t.m4: Likewise. * fnmatch.m4: Likewise. 2002-08-05 Jim Meyering * jm-winsz1.m4: Also change use of $am_cv_sys_posix_termios to $ac_cv_sys_posix_termios. Reported by Andreas Schwab. 2002-08-03 Jim Meyering * jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not AM_SYS_POSIX_TERMIOS. Reported by mkc@mathdogs.com. 2002-08-01 Jim Meyering * prereq.m4 (jm_PREREQ_TEMPNAME): lib/tempname.c may use uintmax_t, so require jm_AC_TYPE_UINTMAX_T. Patch by Joe Orton. 2002-07-28 Jim Meyering * jm-macros.m4: Don't require jm_FUNC_READDIR. * readdir.m4 (jm_FUNC_READDIR): Remove file/macro. No longer needed. 2002-07-27 Jim Meyering * prereq.m4 (jm_PREREQ_READUTMP): Don't check just `struct utmpx.ut_exit' and `struct utmp.ut_exit'. Instead, check all combinations of utmp/utmpx and ut_termination/e_termination and ut_exit/e_exit. 2002-07-23 Jim Meyering * c-bs-a.m4 (AC_C_BACKSLASH_A): Remove file, now that autoconf provides this macro. 2002-07-20 Jim Meyering * intdiv0.m4: New file. From gettex-0.11.3. * jm-macros.m4: Require autoconf-2.53b. Use new macros AC_FUNC_MALLOC and AC_FUNC_REALLOC, in place of jm_-prefixed ones. Thanks, Akim! * malloc.m4: Remove file, now that autoconf provides this macro. * realloc.m4: Likewise. 2002-07-18 gettextize * gettext.m4: Upgrade to gettext-0.11.3. * iconv.m4: Upgrade to gettext-0.11.3. * isc-posix.m4: Upgrade to gettext-0.11.3. * lcmessage.m4: Upgrade to gettext-0.11.3. * lib-link.m4: Upgrade to gettext-0.11.3. 2002-07-17 Jim Meyering * boottime.m4: New file. Extracted from sh-utils' configure.ac and extended to work also with *BSD systems. 2002-07-15 Jim Meyering FreeBSD support for uname and uptime. * jm-macros.m4 (jm_MACROS): Check for the sysctl function. (jm_CHECK_ALL_HEADERS): Check for sys/sysctl.h. Suggestion from Bruno Haible. 2002-06-11 Paul Eggert * fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc. 2002-06-22 Jim Meyering * c-stack.m4: New file, from diffutils-2.8.2. * prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK. * jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE, now that configure.ac uses AC_GNU_SOURCE. (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU. * prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH. Update to latest tools. Suggestions from Paul Eggert. * stdbool.m4: New file, from diffutils-2.8.2. * gnu-source.m4: Update from diffutils-2.8.2. * fnmatch.m4: Likewise. * prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h) to AC_HEADER_STDBOOL 2002-06-21 Jim Meyering * c-bs-a.m4: Add comment, from diffutils-2.8.2. * mbrtowc.m4: Likewise. * mbstate_t.m4: Update from diffutils-2.8.2. * mbswidth.m4: Reflect name change: s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T. * prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. * lib-link.m4: Update from gettext-0.11.2. * gettext.m4: Likewise. * jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h. From Alfred M. Szmidt. 2002-05-19 Paul Eggert * jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author. 2002-06-07 Jim Meyering * prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h. They're needed at least for NetBSD 1.5.2. ($statxfs_includes): Include those same headers. ($statxfs_includes): Include sys/vfs.h if available. ($statxfs_includes): Likewise for sys/statvfs.h. Check for the following members in both structs statfs and statvfs: f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen. 2002-06-01 Jim Meyering * d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro: s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/. 2002-05-28 Jim Meyering * readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'. Reported by Volker Borchert. 2002-05-27 Jim Meyering * gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace localtime. * readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to use the replacement function; it wouldn't resolve at link time. Reported by Volker Borchert. 2002-04-30 Jim Meyering * prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT. 2002-04-29 Paul Eggert * prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h. Do not check for alloca.h (no longer used) or stdbool.h (was never used?). Add AM_C_PROTOTYPES since hard-locale.h uses it. 2002-04-28 Paul Eggert * prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed. 2002-04-29 Jim Meyering * jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN. * prereq.m4: Add jm_PREREQ_STRNLEN. Use AC_FUNC_STRNLEN here instead. * jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]). With autoconf-2.53a, it's part of AC_PROG_CC. 2002-04-28 Paul Eggert * jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str). * prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR. 2002-04-24 Jim Meyering * prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro. (jm_PREREQ): Use it. * getloadavg.m4: Check for these headers: locale.h unistd.h mach/mach.h fcntl.h. Check for this function: setlocale. 2002-04-16 Jim Meyering * prereq.m4 (jm_PREREQ_READUTMP): Also check for these members: ut_pid, ut_id, ut_exit. 2002-04-12 Jim Meyering * ls-mntd-fs.m4 (checking for getmntinfo function...): Remove now-bogus check for f_type in sys/mount.h. Instead, just test for the existence of the getmntinfo function. Needed for Darwin 5.3. * dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro. This is necessary at least on Darwin 5.3. * jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use AC_FUNC_STRNLEN. Otherwise, we'd end up putting two copies of strnlen.o in the library, and that makes some versions of ranlib object. 2002-04-09 Jim Meyering * malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message to be more precise. Rather than saying we're checking whether the function `works', say what we're testing. * realloc.m4 (jm_FUNC_REALLOC): Likewise. Reported by Bruno Haible. 2002-02-27 Paul Eggert * jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used. Check for clock_settime. 2002-02-25 Paul Eggert * acl.m4: New file. * jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL. Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now. 2002-02-16 gettextize * codeset.m4: Upgrade to gettext-0.11. * gettext.m4: Upgrade to gettext-0.11. * glibc21.m4: Upgrade to gettext-0.11. * iconv.m4: Upgrade to gettext-0.11. * isc-posix.m4: Upgrade to gettext-0.11. * lcmessage.m4: Upgrade to gettext-0.11. * lib-ld.m4: New file, from gettext-0.11. * lib-link.m4: New file, from gettext-0.11. * lib-prefix.m4: New file, from gettext-0.11. * progtest.m4: Upgrade to gettext-0.11. 2002-02-15 Paul Eggert * prereq.m4 (jm_PREREQ_POSIXVER): New macro. (jm_PREREQ): Use it. 2002-01-26 Jim Meyering * jm-macros.m4 (jm_MACROS): Require autoconf-2.52g. * strnlen.m4: Remove file, now that it's part of autoconf. 2002-01-22 Paul Eggert * jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO. 2002-01-19 Jim Meyering * jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN. Remove useless quotes: DF_PROG="df". * strnlen.m4: New file. 2001-12-14 Jim Meyering * jm-macros.m4 (jm_MACROS): Check for iswspace. Suggestion from Bruno Haible. 2001-11-20 Jim Meyering * mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that SunOS 4.1.4 and Solaris 2.5.1 lose, too. 2001-11-19 Jim Meyering * mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary directory. Use "conftestXXXXXX" as the template. Suggestion from Paul Eggert. * mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor immediately, so the test doesn't mistakenly hit the max-open-files limit. 2001-11-18 Jim Meyering * prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv. 2001-11-17 Jim Meyering * mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro. Prompted by a report from Bob Proulx. * jm-macros.m4 (jm_MACROS): Don't test for mkstemp here. Instead, require UTILS_FUNC_MKSTEMP. 2001-11-11 Jim Meyering * jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM. Now, that's done as part of AC_FUNC_STRTOD. 2001-10-22 Paul Eggert * jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define WINSIZE_IN_PTEM if defines struct winsize. 2001-11-10 Jim Meyering * prereq.m4 (jm_PREREQ_PHYSMEM): New function. (jm_PREREQ): Use it. 2001-11-09 Jim Meyering * jm-macros.m4: Require autoconf-2.52f. (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD): Use these AC_-prefixed names, not the AM_-prefixed ones. * afs.m4 (jm_AFS): Quote the body. Patch by Akim Demaille. 2001-11-04 Jim Meyering * fpending.m4: Remove unused cruft that saved, set, and restored $DEFS. 2001-11-03 Jim Meyering * jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg of AC_DEFUN. * dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to know the name of the variable in the macro definition. 2001-11-01 Jim Meyering * dirfd.m4 (UTILS_FUNC_DIRFD): New macro. * jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD. 2001-10-20 Paul Eggert * error.m4 (jm_PREREQ_ERROR): Do not invoke AC_CHECK_FUNCS with strerror_r, as AC_FUNC_STRERROR_R does that. Check for strerror declaration. * strerror_r.m4: Add copyright notice, as nontrivial m4 files are supposed to have them these days. (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached. Merge changes from latest Autoconf CVS. Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p, and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since POSIX decided to standardize on the int flavor of strerror_r. 2001-09-30 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if `struct fsstat' has the `f_fstypename' member. Use that to define FS_TYPE, which is now used to make the getfsstat link test tighter. 2001-09-29 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS) [one-argument getmntent function]): Include stdio.h before mntent.h. SunOS 4.1.x needs it for the declaration of `FILE'. Patch by Volker Borchert. * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS) Check for these headers: sys/param.h sys/ucred.h sys/mount.h sys/fs_types.h, and make the link-test for getfsstat guard #include directives with appropriate #if HAVE_*_H tests so that we can detect getfsstat on Apple Darwin1.3.7 systems. Reported by Nelson Beebe. Fix harmless typo in cache variable name: s/getsstat/getfsstat/. 2001-09-28 Paul Eggert Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which #defines strtoimax. Also treat the other strto* functions like strtoimax. * xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for strtoul and strtoumax, as those declarations are made even in the signed case. * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise, for strtol and strtoimax. 2001-09-24 Jim Meyering * gettext.m4: Use the version from gettext-0.10.40, not CVS. 2001-09-23 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test instead of the mere test for existence of mntent.h. The latter would get a false-positive on AIX 3.4 systems. In the outer getmntent if-block, don't die if neither of the getmntent tests succeeds. Instead, just fall through and continue with the remaining tests. 2001-09-22 Jim Meyering * gettext.m4: New file. From gettext. * lcmessage.m4: Sync with gettext -- this changes only comments. * progtest.m4: Likewise * isc-posix.m4: Decrement serial number to sync with gettext. * glibc21.m4: Likewise. * libintl.m4: Remove. No longer used. 2001-09-20 Jim Meyering * xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of strtoimax. * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of strtoumax. 2001-09-17 Jim Meyering * chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4, * jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4, * nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4, * st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4, * utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED, whenever the right hand side need not be expanded by the shell. 2001-09-16 Paul Eggert * fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C library. It's not correct, as some older glibcs are buggy. fnmatch wasn't fixed until glibc 2.2. Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no special shell magic here. 2001-09-16 Jim Meyering * mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro. * jm-macros.m4: Require it. 2001-09-15 Jim Meyering * jm-macros.m4: Check for help2man. 2001-09-11 Jim Meyering * host-os.m4 (UTILS_HOST_OS): New file/macro. The body, by Paul Eggert, was moved here from configure.in. * jm-macros.m4: Require UTILS_HOST_OS. 2001-09-04 Paul Eggert * prereq.m4 (jm_PREREQ_XREADLINK): New macro. (jm_PREREQ): Use it. 2001-09-03 Paul Eggert * prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and sys/param.h, as pathmax.h includes them. 2001-09-03 Paul Eggert * prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD. (jm_PREREQ_XGETCWD): New macro. * getcwd.m4: New file. 2001-09-01 Jim Meyering * jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name. Used by df. 2001-08-30 Paul Eggert Simplify code, partly by assuming autoconf 2.52 semantics. * Makefile.am (EXTRA_DIST): Remove uintmax_t.m4. * inttypes.m4 (AC_PREREQ): Bump to 2.52. (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52. All uses removed. (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T): Move AC_REQUIRE to next-to-top level, to avoid confusion. Use 2.52's AC_CHECK_TYPE instead of merely looking for the header. * prereq.m4 (jm_PREREQ_HUMAN): Don't require jm_AC_HEADER_INTTYPES_H. * jm-macros.m4 (jm_MACROS): Likewise. * uintmax_t.m4: Remove, as it duplicates inttypes.m4. * xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Quote first arg of AC_DEFUN. Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG since they are needed to parse the include file even if we need only xstrtoimax. Simplify logic behind the args to AC_REPLACE. * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise, but with opposite signedness. 2001-08-30 Paul Eggert * prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE. (jm_PREREQ_EXCLUDE): New macro. 2001-08-26 Jim Meyering * jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX. * xstrtoimax.m4: New file. * xstrtoumax.m4: Add comments explaining why we AC_REPLACE_FUNCS(strtol). 2001-06-20 Paul Eggert * inttypes.m4: Add AC_PREREQ(2.13). (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too. (jm_AC_TYPE_INTMAX_T): New macro. (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4. * longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro. * longlong.m4: Renamed from ulonglong.m4. * inttypes.m4: Renamed from inttypes_h.m4. * uintmax_t.m4: Removed. 2001-08-12 Jim Meyering * afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4, d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4, group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4, jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4, link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4, mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4, prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4, rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4, utime.m4, utimes.m4, xstrtoumax.m4: Quote the first argument in each use of AC_DEFUN. 2001-08-05 Jim Meyering * jm-macros.m4: Require autoconf-2.52. 2001-08-03 Paul Eggert The following changes are from gettext 0.10.39 as maintained by Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ. * codeset.m4: Upgrade to serial AM1. (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET; all uses changed. Quote first arg of AC_DEFUN. (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset. * iconv.m4: Upgrade to serial AM2. (AM_ICONV): Renamed from jm_ICONV; all uses changed. Add --with-libconv-prefix. Quote first arg of AC_DEFUN. Add description for ICONV_CONST. (am_cv_func_iconv): Renamed from jm_cv_func_iconv. (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv. (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv. * jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings. * c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN. * getline.m4 (AM_FUNC_GETLINE): Likewise. * glibc21.m4 (jm_GLIBC21): Likewise. * inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise. * isc-posix.m4 (AC_ISC_POSIX): Likewise. * lcmessage.m4 (AM_LC_MESSAGES): Likewise. * progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. * uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise. * ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise. * getline.m4 (AM_FUNC_GETLINE): Don't bother checking for string.h any more. * progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no", not the default value. 2001-06-25 Bruno Haible * mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES. Also check for mbsinit. Needed for SCO 3.2v5.0.2. Also include ; this is where AIX 3.2.5 declares wcwidth. Also check for iswcntrl, used for wcwidth fallback. Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability to Autoconf 2.13. 2001-08-03 Jim Meyering * mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include', as it was in the original. Reported by Paul Eggert. 2001-07-16 Jim Meyering * gettimeofday.m4: New file. Prompted by a report from Bernhard Baehr. 2001-07-15 Jim Meyering * Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h stuff. Now it's in ../Makefile.cfg. 2001-07-04 Jim Meyering * Makefile.am.in (glibc-io.struct): New target. Rework the code that generates jm-glibc-io.m4 so that it doesn't trigger any make distcheck failure. 2001-07-02 Jim Meyering The following changes were prompted by suggestions from Bruno Haible. * jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4 is now generated. * Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted definition of EXTRA_DIST. (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to ensure that the generated file is created/updated whenever the list of $(unlocked_functions) is changed. (jm-glibc-io.m4): New rule. (unlocked-io.h): New rule -- currently unused. 2001-06-24 Jim Meyering * regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an unmatched right bracket, rather than kludging it with an extra, falsely-matching quote in a comment. Patch by Akim Demaille. 2001-05-27 Jim Meyering * prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx. Check for ut_type in struct utmp. 2001-05-22 Jim Meyering * strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime), now that we use the package-supplied version unconditionally. (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason. 2001-05-21 Jim Meyering * regex.m4: Change a couple backticks to single quotes to avoid shell syntax errors. 2001-05-19 Alexandre Duret-Lutz * dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__. 2001-05-11 Paul Eggert * strftime.m4 (jm_FUNC_GNU_STRFTIME): Don't bother to check library strftime, since we'll be using our own my_strftime function anyway. Define my_strftime instead of strftime. 2001-05-15 Jim Meyering * regex.m4: Use proper quoting so brackets appear in the test program. Reported by, and with help from, Bruno Haible. 2001-05-13 Jim Meyering * jm-macros.m4 (major_t, minor_t): Define to unsigned int if undefined. 2000-11-26 Paul Eggert * jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used. 2001-04-21 Jim Meyering * rmdir-errno.m4: Write to a new file, so that a restrictive umask doesn't interfere. 2001-04-21 Alexandre Duret-Lutz * ftruncate.m4: Check for chsize. Link with ftruncate.o unconditionally if ftruncate is missing. This was required when cross-compiling to i586-mingw32msvc. 2001-03-24 Jim Meyering * jm-macros.m4: Require autoconf-2.49d. 2001-03-20 Bruno Haible * iconv.m4 (jm_ICONV): Recommend GNU libiconv. 2001-03-17 Jim Meyering * memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP, now that the version in autoconf is equivalent. (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP. * error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R. Suggestion from Akim Demaille. * prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME. (jm_PREREQ_TEMPNAME): New function. 2001-02-25 Paul Eggert * jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system lacks mkstemp. Compile our own tempname.c if we compile our own mkstemp.c, as mkstemp relies on tempname. 2001-03-01 Jim Meyering * dos.m4 (jm_AC_DOS): Remove extra backslashes, now that AH_VERBATIM really does output its argument verbatim. 2001-02-18 Paul Eggert * jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h. 2001-02-17 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on UnixWare 7.1.1. * mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc., rather than AC_CACHE_VAL. 2001-02-17 Paul Eggert * mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC. * mbswidth.m4 (jm_PREREQ_MBSWIDTH): Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc). * prereq.m4 (jm_PREREQ_QUOTEARG): Likewise. 2001-02-07 Jim Meyering * regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug. 2001-02-05 Jim Meyering * jm-macros.m4: Require autoconf-2.14d (not yet released), because it includes the patch required for `large file' support with at least HP-UX's 10.20 /bin/cc. 2001-02-03 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of AS_IF, now that it works once again (mysteriously). * fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise. 2001-01-30 Jim Meyering Don't use filenames that are 8.3-equivalent to "conftest" on DOS. * chown.m4: Rename conftestchown to conftest.chown. * rename.m4: s/conftestdir/conftest.d1/ and s/conftestdir2/conftest.d2/. * utimes.m4: s/conftestdata/conftest.data/ Inspired by Pavel Roskin's change in autoconf. 2001-01-27 Jim Meyering * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was a use of AS_IF. * fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise. 2001-01-26 Jim Meyering * prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that quotearg.c includes it. 2001-01-15 Bruno Haible * iconv.m4 (jm_ICONV): Also check whether the iconv declaration has const. 2001-01-20 Jim Meyering Be sure that headers are checked before used in code compiled for the type checks. * jm-macros.m4 (jm_MACROS): Remove all header checks. In place of that, invoke jm_CHECK_ALL_TYPES. (jm_CHECK_ALL_HEADERS): New functions with the above checks. (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS. Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES; The check for ssize_t was mistakenly run before the test for unistd.h. The configure-time check for stdbool.h was missing. * prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH. (jm_PREREQ_HASH): New function. 2001-01-17 Jim Meyering * fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE, for autoconf-2.49c. * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise. 2001-01-14 Jim Meyering * rename.m4: Use temporary directories named conftestdir{,2}, not foo and bar. Create conftestdir/ in the script, not in the C code. Remove directories in the script, not in the C code. Remove conftestdir{,2} before trying to create the directory. Make the entire configure script fail if the mkdir fails. 2001-01-02 Volker Borchert * rename.m4: New file. * jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME. 2001-01-01 Alexandre Duret-Lutz * libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN, so `make install' also works in VPATH builds. 2001-01-01 Jim Meyering * prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available), even on systems with utmpx.h. It's necessary for the declaration of utmp's ut_user member. Reported by Andreas Jaeger. * check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if available. They are required for the declarations of getgrgid and getpwuid resp. (_jm_DECL_HEADERS): Check for grp.h and pwd.h. Reported by Andreas Jaeger. 2000-12-25 Alexandre Duret-Lutz * libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR, prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it can be used in subdirectories. 2000-12-26 Jim Meyering * dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work better with autoheader. 2000-12-17 Jim Meyering * dos.m4 (jm_AC_DOS): New file and macro. * jm-macros.m4 (jm_MACROS): Require jm_AC_DOS. 2000-12-06 Paul Eggert * off_t-format.m4: Remove this file. * jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT. 2000-12-06 Jim Meyering * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the replacement strtoull, we may well need the replacement strtoul, too. Check for declarations of strtoul and strtoull. Check for strtol. Mainly as a cue to cause automake to include strtol.c -- that file is included by each of strtoul.c and strtoull.c. Check for limits.h -- strtol.c needs it. 2000-12-02 Jim Meyering * off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro. * jm-macros.m4 (jm_MACROS): require it. 2000-11-30 Jim Meyering * jm-macros.m4 (jm_MACROS): Check for stdint.h. 2000-11-30 Jim Meyering * getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf. 2000-11-03 Bruno Haible * jm-macros.m4 (jm_MACROS): Add test for wcrtomb. 2000-11-04 Jim Meyering * regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'. 2000-10-29 Jim Meyering * fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf renaming. * ls-mntd-fs.m4: Likewise 2000-10-28 Jim Meyering * prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR. (jm_PREREQ_MEMCHR): New function. 2000-10-21 Jim Meyering * check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr. * prereq.m4 (jm_PREREQ_DIRNAME): New macro. * jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr. 2000-09-18 Jim Meyering * getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of LIBS. Otherwise, everyone ends up linking with -lelf for some configurations. Reported by Mike Stone. 2000-08-26 Jim Meyering * jm-macros.m4: Use jm_FUNC_FPENDING. * fpending.m4: New file. 2000-08-20 Jim Meyering * check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than `#if !HAVE_UTMPX_H'. The latter would lose on systems with neither utmp.h nor utmpx.h. Reported by Eli Zaretskii. 2000-08-11 J. David Anglin Improve fileutils installation on systems where running programs (like install) can't be unlinked. * unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro. * jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT. 2000-08-06 Paul Eggert * mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int, not char, for compatibility with glibc 2.1.3 strftime.c. 2000-07-23 Paul Eggert * mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration. 2000-07-23 Jim Meyering * check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these, too: getgrgid, getpwuid, getuid. 2000-07-16 Bruno Haible * mbswidth.m4: New file. * prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH. 2000-07-14 Jim Meyering * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require jm_AC_TYPE_UINTMAX_T. 2000-07-10 Paul Eggert From a suggestion by Bruno Haible. * mbstate_t.m4 (AC_MBSTATE_T): Renamed from AC_MBSTATE_T_OBJECT. All uses changed. Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT and mbstate_t, to a single-part test that simply defines mbstate_t. * prereq.m4 (jm_PREREQ_QUOTEARG): s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/. 2000-07-10 Jim Meyering * strerror_r.m4: Mirror the correction made in autoconf. * gnu-source.m4: Output to confdefs.h directly. Suggestion from Akim Demaille. 2000-07-09 Jim Meyering * jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required to link seq. If so, set SEQ_LIBM to -lm. From Bruno Haible. * gnu-source.m4 (AC__GNU_SOURCE): New file/macro. * jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it. 2000-07-05 Bruno Haible * strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer to strerror_r. Include for use of isalpha. 2000-07-05 Paul Eggert and Bruno Haible * mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t only if the test for an object-type mbstate_t fails. This prevents us from mistakenly reporting that mbstate_t is a system object type after we "#define mbstate_t int" to work around its lack. 2000-07-04 Jim Meyering * fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead of the deprecated AC_CHECKING. 2000-07-03 Jim Meyering * check-decl.m4 (AC_CHECK_DECLS): Add strnlen. 2000-07-03 Paul Eggert * mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13. Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H. 2000-07-02 Jim Meyering * mbstate_t.m4: Also define mbstate_t, if necessary. * chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with AC_LIBOBJ(function_name). * chown.m4: Likewise. * fnmatch.m4: Likewise. * ftruncate.m4: Likewise. * getgroups.m4: Likewise. * getline.m4: Likewise. * group-member.m4: Likewise. * jm-macros.m4: Likewise. * lstat.m4: Likewise. * malloc.m4: Likewise. * memcmp.m4: Likewise. * nanosleep.m4: Likewise. * putenv.m4: Likewise. * realloc.m4: Likewise. * regex.m4: Likewise. * stat.m4: Likewise. * strftime.m4: Likewise. 2000-07-01 Jim Meyering * ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated problem. 2000-06-17 Bruno Haible * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV. 2000-07-01 Jim Meyering * uptime.m4: Put double quotes around use of $cross_compiling. 2000-06-28 Jim Meyering * mbstate_t.m4: Use stdlib.h, not stdio.h. The latter is not included by quotearg.c, for which we perform this test. From Bruno Haible. 2000-06-17 Bruno Haible * check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well. * prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either or exists, put readutmp.o into LIBOBJS. 2000-06-25 Jim Meyering * mbstate_t.m4: Include stdio.h before wchar.h to work around Linux header bug when _XOPEN_SOURCE is defined to 500. 2000-06-24 Jim Meyering * strerror_r.m4: Revive this file -- to try out an experimental version of AC_FUNC_STRERROR_R that may work even on BeOS, a system for which strerror does return char*, but which lacks a conveniently accessible declaration of the function. If the compile-test says strerror_r doesn't work, then resort to a `run'-test that works on BeOS and segfaults on DEC Unix. 2000-06-19 Paul Eggert * mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT. * prereq.m4 (jm_PREREQ_QUOTEARG): Use it. Add check for iswprint. 2000-06-23 Jim Meyering * afs.m4: Add missing AC_MSG_RESULT. Reported by Bruno Haible. * fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/. Suggestion from Bruno Haible. 2000-06-21 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass. 2000-06-18 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir. * link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the `checking whether...' message to be consistent with that of the lstat test. 2000-06-16 Bruno Haible * glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C. 2000-06-12 Jim Meyering * getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an optional argument. * jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply the optional argument, `lib'. 2000-06-08 Jim Meyering * largefile.m4: Remove file (now that it's part of autoconf). 2000-06-04 Paul Eggert Rewrite largefile configuration so that we don't need to run getconf and don't need AC_CANONICAL_HOST. [I'm leaving the use of AC_CANONICAL_HOST in configure.in -- jmm] * largefile.m4 (AC_SYS_LARGEFILE_FLAGS, AC_SYS_LARGEFILE_SPACE_APPEND): Remove. (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro. (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY. All uses changed. Instead of inspecting the output of getconf, try to compile the test program without and with the macro definition. (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check for getconf. Instead, check for the needed flags by compiling test programs. 2000-06-03 Jim Meyering * prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that. * jm-glibc-io.m4: Add a kludge to make autoheader emit the required #undefs. E.g., #undef HAVE_DECL_FERROR_UNLOCKED. Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that. 2000-05-26 Bruno Haible * glibc21.m4: New file. * jm-macros.m4 (jm_MACROS): Call jm_GLIBC21. 2000-05-28 Jim Meyering * jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. * stat.m4: Likewise. * lstat.m4: Likewise. * lstat-slash.m4: Remove file (absorbed into autoconf). * jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R. * strerror_r.m4: Remove file (absorbed into autoconf). 2000-05-26 Jim Meyering * uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'. 2000-05-24 Jim Meyering * prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that autoconf requires that. * lib-check.m4: Likewise. * jm-macros.m4: Likewise. * strftime.m4: Likewise. * check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that. 2000-05-22 Jim Meyering * stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. * lstat.m4: Likewise. 2000-05-20 Jim Meyering * prereq.m4 (jm_PREREQ_HUMAN): New macro. (jm_PREREQ): Use it. 2000-05-09 Jim Meyering * gettext.m4: Rename this... * libintl.m4: ...to this. 2000-05-06 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit. (AC_REPLACE_FUNCS): Add strnlen. * rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file. * jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY. * nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around AC_SEARCH_LIBS call for nanosleep. (LIB_NANOSLEEP): Set and AC_SUBST. 2000-05-03 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to be 500, instead of _GNU_SOURCE to be 1, to work around glibc 2.1.3 bug. This avoids a clash when files like regex.c define _GNU_SOURCE. 2000-05-05 Jim Meyering * jm-macros.m4 (jm_MACROS): Save and restore LIBS around AC_SEARCH_LIBS call for clock_gettime. (LIB_CLOCK_GETTIME): Set and AC_SUBST. * search-libs.m4: Update from autoconf. su doesn't work on Solaris 2.6. * lib-check.m4: When checking for struct spwd.sp_pwdp, also include . Reported by Dragos Harabor. 2000-05-03 Jim Meyering * check-decl.m4 (AC_CHECK_DECLS): Add strndup. 2000-05-02 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if this is needed to make ftello visible (e.g. glibc 2.1.3). Use compile-time test, rather than inspecting host and OS, to decide whether to define _LARGEFILE_SOURCE. 2000-05-01 Jim Meyering * fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING. * ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support. Based on a patch from Bruno Haible. 2000-04-18 Jim Meyering * prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro. (jm_PREREQ): Use it. 2000-04-17 Jim Meyering Get it right :-) * jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the actual #define via AH_VERBATIM. Don't need separate AC_DEFINE. Suggestion from Akim Demaille. 2000-04-14 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg form of AC_DEFINE. Otherwise, the #ifndef in AH_VERBATIM gets clobbered. 2000-04-13 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new AH_VERBATIM to insert required #ifndef into config.h.in. Suggestion from Akim Demaille. 2000-04-12 Jim Meyering * getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not `AC_CHECK_HEADER' to check for locale.h. Thanks to a report from Christian Krackowizer. More code moved from ../configure.in into (jm_CHECK_ALL_TYPES). * jm-macros.m4 (_GNU_SOURCE): Define. (AC_SYS_LARGEFILE): Require. (AM_C_PROTOTYPES): Require. 2000-04-05 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on IRIX if the installer said otherwise. 2000-04-05 Jim Meyering Portability tweaks required for ultrix4.3. * check-decl.m4 [!HAVE_UTMPX_H] (headers): Include . (jm_CHECK_DECLS): Add getutent to the list of functions. (_jm_DECL_HEADERS): Add utmpx.h. From John David Anglin. * strftime.m4: Back out the 2000-04-02 change. Instead of that change, simply undefine putenv in the test program. 2000-04-03 Jim Meyering * gettext.m4: Fix typo in comment. * codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from textutils/configure.in). Suggestion from Paul Eggert. (AC_CHECK_FUNCS): Add nl_langinfo. (also from textutils/configure.in) 2000-04-02 Paul Eggert * strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment variable in the shell rather than using putenv, which isn't portable. This avoids the configure-time inter-test dependency on the potentially-renamed putenv function. 2000-03-30 Paul Eggert * jm-macros.m4 (jm_CHECK_ALL_TYPES): Include before checking struct stat.st_blksize, so that HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly. 2000-03-29 Paul Eggert * strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime, since strftime.c uses HAVE_STRFTIME to decide whether to use the underlying strftime. 2000-03-10 Jim Meyering * lib-check.m4: Look for getspnam in -lgen, too. From Marco Franzen. 2000-02-02 Bruno Haible * codeset.m4: New file. * iconv.m4: New file. * jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV. 2000-03-04 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE, for lib/localcharset.c. 2000-03-03 Jim Meyering * regex.m4: Make sure re_compile_pattern accepts patterns like `{1'. 2000-03-02 Jim Meyering * timespec.m4: Require AC_HEADER_TIME before the cache check so the messages come out on separate lines. * jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS, rather than jm_CHECK_DECLARATIONS. * decl.m4: Remove now-unused file. * check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and geteuid. 2000-02-27 Jim Meyering * check-decl.m4: Add getenv to the list. 2000-02-23 Jim Meyering * check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it in place of my hack. 2000-02-10 Jim Meyering * nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from gnu_nanosleep to rpl_nanosleep. 2000-02-09 Jim Meyering * lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in struct spwd, rather than in struct passwd. Reported by Gaël Quéri. 2000-02-08 Akim Demaille * largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with `[' and `]' and remove uses of `changequote'. (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise. (AC_SYS_LARGEFILE): Likewise. * gettext.m4 (AM_GNU_GETTEXT): Likewise. * strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use of changequote. * regex.m4 (jm_INCLUDED_REGEX): Likewise. * readdir.m4 (jm_FUNC_READDIR): Likewise * memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main. * getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise. 2000-02-05 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros. Remove explicit use of AC_HEADER_TIME. It is required by jm_CHECK_TYPE_STRUCT_TIMESPEC. Using AC_HEADER_TIME and `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but in autoconf whereby the expansion of the latter ended up preceding the expansion of its prerequisite, AC_HEADER_TIME. Reported by Volker Borchert. 2000-02-03 Jim Meyering * prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname. 2000-02-02 Jim Meyering * prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/. Reported by Eli Zaretskii. 2000-01-31 Jim Meyering * check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of functions. Add the time.h and sys/time.h headers along with the AC_REQUIRE'ment of AC_HEADER_TIME. 2000-01-30 Jim Meyering * lib-check.m4: Clean up some kludgy old shadow password tests. * prereq.m4 (utmp_includes): Define. Check for ut_user and ut_name members in both struct utmpx and struct utmp. 2000-01-29 Jim Meyering * lib-check.m4: New file containing library-related checks from fileutils and sh-utils (textutils had none). 2000-01-28 Jim Meyering * perl.m4: Change format of warning message to look more like that from the missing script. Suggestion from François Pinard. 2000-01-25 Jim Meyering * timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as well as time.h in the compile check. * nanosleep.m4: Require AC_HEADER_TIME rather than simply using it. Fix typo in cross-compiling case: s/yes/no/. 2000-01-23 Jim Meyering * jm-macros.m4: Move df-related tests here from fileutils/configure.in * ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/ (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters. * fsusage.m4: New file. Extracted from fileutils/configure.in. s/space/ac_fsusage_space/. (jm_FILE_SYSTEM_USAGE): Take two parameters. * ftruncate.m4: New file (derived from part of fileutils/configure.in). * jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it. (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT. * jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN): AC_SUBST these here, rather than just in sh-util/configure.in, so that the now-shared-by-fileutils-and-textutils lib/Makefile.am are all the same. (AM_FUNC_OBSTACK): Add (from fileutils/configure.in). (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils. (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in). (AC_SUBST(POW_LIBM)): Likewise. (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in. 2000-01-22 Jim Meyering * jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST. * prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h. * jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils' configure.in (AC_CHECK_HEADERS): Likewise for sh-utils. (AC_CHECK_HEADERS): Likewise for textutils. Merge the three lists of headers. * prereq.m4 (jm_PREREQ_ADDEXT): New macro. Parts moved here from fileutils' configure.in. * decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)' code. Moved tests into their own function (_jm_DECL_HEADERS) in check-decl.m4. * check-decl.m4: Use #if rather than #ifdef. Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL. (jm_CHECK_DECLARATIONS): Add strtoul strtoull. (_jm_DECL_HEADERS): Define new function. (jm_CHECK_DECLARATIONS): Require it. 2000-01-19 Jim Meyering * nanosleep.m4 (jm_FUNC_NANOSLEEP): Include , too. Use AC_HEADER_TIME. Volker Borchert reported that OpenBSD-2.3/sparc defines `struct timespec' in * c-bs-a.m4: Remove uses of changequote altogether. Thanks to Akim for explaining. 2000-01-16 Jim Meyering * jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV, AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME, jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA, AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME. 2000-01-16 Jim Meyering * c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )' because the latter didn't work. 2000-01-15 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell. (AC_REPLACE_FUNCS): Add memcpy and memset. Add these, too: stime strcspn stpcpy strstr strtol strtoul. Add strpbrk. Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp. 2000-01-12 Jim Meyering * prereq.m4 (jm_PREREQ_CANON_HOST): New macro. (jm_PREREQ): Use it. (jm_PREREQ_READUTMP): New macro. (jm_PREREQ): Use it. 2000-01-11 Paul Eggert Quote multibyte characters correctly. * c-bs-a.m4: New file. * prereq.m4 (jm_PREREQ_QUOTEARG): New macro. (jm_PREREQ): Use it. 2000-01-11 Paul Eggert * uintmax_t.m4: Port to autoconf 2.13. 2000-01-08 Jim Meyering * strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro. * jm-macros.m4 (jm_FUNC_STRERROR_R): Require it. 2000-01-04 Jim Meyering * d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from jm_STRUCT_DIRENT_D_TYPE. * d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from jm_STRUCT_DIRENT_D_INO. * utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from jm_STRUCT_UTIMBUF. * jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/ renamings. * utime.m4: Likewise. * timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro. * jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it. 2000-01-03 Paul Eggert * nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt (for Solaris 7) and in -lposix4 (for Solaris 2.5.1). 2000-01-02 Jim Meyering * search-libs.m4: Escape `$' in $3 of dnl comment. I no longer remember if this is necessary. 1999-12-26 Jim Meyering * jm-macros.m4: Use it here. * nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro. 1999-12-23 Jim Meyering * jm-macros.m4: Check for clock_gettime (moved from fileutils/configure.in) Check for gettimeofday. 1999-12-20 Jim Meyering * strftime.m4: Remove kludge, now that I'm using the fixed autoconf-2.14a-1999-12-20. 1999-12-19 Jim Meyering * lstat-slash.m4: New file. * jm-macros.m4: Use the new macro: jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. 1999-12-07 Jim Meyering * perl.m4: Require that File::Compare be available, too. Too many systems seem to lack it. * strftime.m4: Add checks for most of the cpp macros tested in GNU's strftime.c. Prompted by a patch from Paul Eggert. 1999-11-18 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a problem with the QNX 4.25 shell, which doesn't propagate exit status of failed commands inside shell assignments. 1999-11-17 Jim Meyering * gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES. 1999-11-07 Jim Meyering * getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE. 1999-11-06 Jim Meyering * link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro. * jm-macros.m4 (jm_MACROS): Use it here. 1999-11-05 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from configure.in of textutils, fileutils, and sh-utils into this one (shared between those packages) file. Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated AC_STRUCT_ST_BLKSIZE. 1999-11-03 Jim Meyering * ssize_t.m4: Remove file. No longer needed since the new version of AC_CHECK_TYPE checks includes unistd.h. * jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'. Suggestion from Akim Demaille. 1999-10-30 Jim Meyering * uintmax_t.m4: Require 2.14a. Remove backslash before backtick in m4-quoted string. * ls-mntd-fs.m4: Likewise. * jm-macros.m4: Likewise. Also, use AC_TYPE_SSIZE_T instead * jm-winsz1.m4: Likewise. * const.m4: Remove file, since the fix made it into the experimental version of autoconf. * mktime.m4: Likewise. * check-type.m4: Remove file, now that the latest version of AC_CHECK_TYPE takes a third arg to specify additional #includes. * ssize_t.m4: New file, requires experimental version of autoconf. * jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked AC_CHECK_TYPE. 1999-10-04 Jim Meyering * jm-macros.m4: Don't require autoconf-2.14.1. 1999-09-22 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC 2.95.1 bug with HP-UX 10.20. 1999-09-17 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup. Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3 due to missing strdup (against sh-utils-2.0). 1999-08-29 Jim Meyering * jm-macros.m4: Require jm_BISON. * bison.m4: New file. 1999-08-17 Paul Eggert * largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20. 1999-08-05 Jim Meyering * getline.m4: Rename test file from conftestdata to conftest.data to avoid conflicts with `conftest' on 8+3 filesystems. Suggestion from Eli Zaretskii. 1999-08-04 Jim Meyering * jm-macros.m4: Move a 4-line block of code from the configure.in of fileutils and sh-utils (textutils's getline test was inadequate). (AM_FUNC_GETLINE): Run this test. (AC_CHECK_FUNCS): Check for getdelim. Reported by Bob Proulx. 1999-08-02 Jim Meyering * jm-macros.m4: Add a comment. 1999-08-01 Jim Meyering * mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from m4. 1999-08-01 Paul Eggert * lfs.m4: Remove this file. * largefile.m4: New file. It contains the old contents of lfs.m4, except that all names with prefix AC_LFS have been changed to use the prefix AC_SYS_LARGEFILE instead, to be compatible with future autoconf versions. Also, some minor m4 quoting problems have been fixed. 1999-07-16 Paul Eggert * ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure that we can shift, multiply and divide unsigned long long values; Ultrix cc can't do it. 1999-07-14 Paul Eggert * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether defines strtoumax as a macro (and not as a function). 1999-07-05 Paul Eggert * gettext.m4 (AM_WITH_NLS): Remove unnecessary lines. Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl. (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting, and simplify the shell code. 1999-07-03 Paul Eggert * mktime.m4: New file, which is a preview of what should appear in the next public autoconf release. 1999-07-20 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove. 1999-07-15 Jim Meyering * jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize. 1999-05-22 Jim Meyering * jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr. 1999-05-20 Jim Meyering * search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine. Add a colon after each `then' in case $4 is empty. 1999-05-16 Jim Meyering * search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS. 1999-05-10 Jim Meyering * jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME. * jm-macros.m4: Require 2.14.1, since we use newly-renamed AC_FUNC_MKTIME. 1999-05-10 Andreas Schwab * jm-mktime.m4, putenv.m4: Fix typos in config.h comments. 1999-05-04 Paul Eggert * lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS, not CPPFLAGS, so that linking works correctly in IRIX. 1999-04-30 Paul Eggert * jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2. 1999-04-20 Jim Meyering * xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG. AC_REPLACE xstroull if necessary. From Paul Eggert. (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq. 1999-04-20 Paul Eggert * uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro. * jm-macros.m4 (jm_CHECK_ALL_TYPES): Require jm_AC_TYPE_UNSIGNED_LONG_LONG. * ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro. * lfs.m4: Port to AIX and HP-UX. Support cross-compilation. 1999-04-18 Jim Meyering * xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro. * jm-macros.m4: Use it. 1999-04-06 Jim Meyering * strftime.m4: Remove test for %f. 1999-03-29 Jim Meyering * jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the superset of the AC_TYPE_* checks in the textutils, fileutils, and sh-utils, plus AC_TYPE_PID_T. Paul Eggert suggested adding AC_TYPE_PID_T. 1999-03-28 Jim Meyering * jm-macros.m4: Define GNU_PACKAGE here. Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is replaced e.g., in the *.sh files of the sh-utils. 1999-03-20 Jim Meyering * jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/. * regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX. Don't depend on AM_GLIBC. Suggestions from Alain Magloire. 1999-03-19 Jim Meyering * jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro. 1999-03-12 Jim Meyering * jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED. 1999-03-07 Jim Meyering * jm-glibc-io.m4: Use only those *_unlocked macros that are declared. 1999-02-17 Jim Meyering * gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of brackets in macro definition. From Eli Zaretskii and Alain Magloire. 1999-02-07 Jim Meyering * group-member.m4: New file -- extracted from sh-utils' configure.in. 1999-02-05 Eli Zaretskii * gettext.m4: Support DOS-style d:/foo/bar absolute file names. 1999-02-06 Jim Meyering * chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS. * fnmatch.m4: Likewise. * getgroups.m4: Likewise. * lstat.m4: Likewise. * malloc.m4: Likewise. * putenv.m4: Likewise. * realloc.m4: Likewise. * regex.m4: Likewise. * stat.m4: Likewise. * strftime.m4: Likewise. Suggestion from Alain Magloire. * chown.m4: Use `.$ac_objext', not `.o'. * fnmatch.m4: Likewise. * getgroups.m4: Likewise. * getline.m4: Likewise. * lstat.m4: Likewise. * malloc.m4: Likewise. * memcmp.m4: Likewise. * putenv.m4: Likewise. * realloc.m4: Likewise. * regex.m4: Likewise. * stat.m4: Likewise. * strftime.m4: Likewise. Suggestion from Alain Magloire. * jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires an argument. * regex.m4: Add a run-time Test for proper operation of re_compile_pattern. 1999-01-31 Jim Meyering * getloadavg.m4: Check for locale.h and the function, setlocale. 1999-01-30 Jim Meyering * check-type.m4: Use 3-arg form of AC_DEFINE. * jm-mktime.m4: Make this a wrapper around the official AM_FUNC_MKTIME rather than my private copy, now that the official one is up to date. * mktime.m4: Remove file. * getloadavg.m4: Use 3-arg form of AC_DEFINE. * uptime.m4: Likewise. * uintmax_t.m4: Likewise. 1999-01-28 Jim Meyering * jm-macros.m4: Use jm_AFS. * afs.m4: New file (from fileutils' configure.in). * assert.m4: Use the 3-argument forms of AC_DEFINE* macros. * chown.m4: Likewise. * d-ino.m4: Likewise. * d-type.m4: Likewise. * fnmatch.m4: Likewise. * getgroups.m4: Likewise. * gettext.m4: Likewise. * jm-mktime.m4: Likewise. * jm-winsz2.m4: Likewise. * lcmessage.m4: Likewise. * ls-mntd-fs.m4: Likewise. * malloc.m4: Likewise. * memcmp.m4: Likewise. * putenv.m4: Likewise. * realloc.m4: Likewise. * st_mtim.m4: Likewise. * strftime.m4: Likewise. 1999-01-16 Jim Meyering * jm-macros.m4 (ARGMATCH_DIE): Define. (ARGMATCH_DIE_DECL): Define. 1999-01-12 Jim Meyering * Makefile.am.in: Rewrite to avoid using fmt. Reported by Lars Hecking. 1999-01-10 Jim Meyering * fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my gross kludge. * inttypes_h.m4: Likewise. * lstat.m4: Likewise. * malloc.m4: Likewise. * readdir.m4: Likewise. * realloc.m4: Likewise. * st_dm_mode.m4: Likewise. * stat.m4: Likewise. * utimbuf.m4: Likewise. * utimes.m4: Likewise. * check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the AC_CHECK_FUNCS hack. Now, it's still a hack, but at least the comments in config.h.in are meaningful. * jm-macros.m4: Require autoconf-2.13 here. * regex.m4: By default, don't use the included regex.c on systems with glibc 2. Suggestion from Uli Drepper. 1999-01-02 Jim Meyering * jm-macros.m4: Replace strcasecmp and strncasecmp. 1998-12-18 Jim Meyering * Makefile.am.in (Makefile.am): Simplify rule. Based on a suggestion from Lars Hecking. 1998-11-16 Jim Meyering * lfs.m4: Double-quote the `uname...` expression. 1998-11-16 Paul Eggert * lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11. 1998-11-14 Jim Meyering * lstat.m4: Correct comment. POSIX does not permit it to succeed. * stat.m4: Likewise. 1998-11-03 Jim Meyering * stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG. * lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG. 1998-10-18 Jim Meyering * check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro. 1998-10-17 Jim Meyering * decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to include, though we still hard-code the `require'-like AC_CHECK_HEADERS calls for those previously hard-coded headers. Instead, take a new parameter. (jm_CHECK_DECLARATIONS): Reflect interface change. * check-decl.m4 (jm_CHECK_DECLS): Likewise. (jm_CHECK_DECL_LOCALTIME_R): New macro. * mktime.m4: Test for spring-forward gap before long-running test. 1998-10-14 Jim Meyering * mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver". From Paul Eggert. 1998-10-11 Jim Meyering * mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro. This adds a test for a recently added compatibility fix for mktime.c. * jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME. 1998-09-27 Jim Meyering * jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH. * fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro. Extracted from ../configure.in, including a change from Gordon Matzigkeit to allow cross-compiling for the Hurd. * glibc.m4: New file/macro to test for the GNU C Library versions 1 and 2. From Gordon Matzigkeit. Indent. 1998-09-21 Jim Meyering * chown.m4: Declare locals: before, after. From Andries Brouwer. 1998-08-18 Paul Eggert Port nanosecond-resolution times to UnixWare 2.1.2 and pedantic Solaris 2.6. * st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from AC_STRUCT_ST_MTIM. * st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Generate name of ns member, instead of just 1 or undef. Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode. 1998-08-15 Jim Meyering * ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file. * check-type.m4: New file. Replacement for AC_CHECK_TYPE. * jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int) instead of jm_TYPE_SSIZE_T. 1998-08-12 Jim Meyering * st_dm_mode.m4: New file. From Johan Danielsson. 1998-08-02 Jim Meyering * st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM in acconfig.h manually. 1998-07-31 Paul Eggert * st_mtim.m4: New file. 1998-07-28 Jim Meyering * utimes.m4: Undef stat. 1998-07-25 Jim Meyering * utime.m4 (jm_FUNC_UTIME): New file and macro. * utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro. 1998-07-09 Manfred Hollstein * chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the uid and gid actually remain unchanged. 1998-07-07 Jim Meyering * jm-glibc-io.m4: Remove fclose_unlocked. 1998-07-04 Jim Meyering * regex.m4: Use syscmd, ifelse, and sysval. Mainly as an exercise to prove that this macro can be used in packages without regex.c. 1998-07-02 Andreas Schwab * gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if is to be used. 1998-07-03 Jim Meyering * gettext.m4: Add -lintl if it's found to be necessary. * gettext.m4: New file -- from gettext-0.10.35. * lcmessage.m4: Likewise. * progtest.m4: Likewise. * regex.m4 (jm_WITH_REGEX): New file and macro. * jm-macros.m4: Require the new macro. 1998-06-29 Jim Meyering * fstypename.m4: Include sys/param.h. NetBSD 1.3.1 requires this for the definition of NGROUPS (used in a system header included by sys/mount.h). 1998-06-28 Jim Meyering * ls-mntd-fs.m4: New file. * fstypename.m4: New file. * jm-macros.m4: Require the new macro. * jm-glibc-io.m4: New file. 1998-05-19 Jim Meyering * jm-macros.m4: Add jm_FUNC_LCHOWN. * lchown.m4: New file. * Makefile.am.in: New file. * Makefile.am (Makefile.am): Depend on Makefile.am.in. 1998-05-14 Jim Meyering * Makefile.am (EXTRA_DIST): Add them. * jm-macros.m4: New file. * utimbuf.m4: New file. 1998-05-12 Jim Meyering * Makefile.am (EXTRA_DIST): Add isc-posix.m4. 1998-05-11 Jim Meyering * isc-posix.m4: New file. 1998-05-10 Jim Meyering * jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date. 1998-05-09 Jim Meyering * Makefile.am (EXTRA_DIST): Add ssize_t.m4. (EXTRA_DIST): Remove mktime.m4, now that the new version is included with automake. * ssize_t.m4: New file. * mktime.m4: Remove file -- the new automake has this now. 1998-04-26 Jim Meyering * assert.m4: New file. * Makefile.am (EXTRA_DIST): Add assert.m4. 1998-04-05 Jim Meyering * prereq.m4 (jm_PREREQ_REGEX): New macro. (jm_PREREQ): Use it here. 1998-03-23 Jim Meyering * inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H in acconfig.h. 1998-03-15 Jim Meyering * prereq.m4: New file. * error.m4: New file. * Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4. 1998-02-07 Jim Meyering * getline.m4: Don't set am_cv_func_working_getline before the cache-check for the same variable -- that defeated the purpose of the test; the test program was never run. This was a problem only on systems with losing getline functions -- HP-UX 10.20 is one. Reported by Bjorn Helgaas. 1998-02-06 Jim Meyering * Makefile.am (EXTRA_DIST): Add perl.m4. 1998-01-10 Jim Meyering * Makefile.am (EXTRA_DIST): Add const.m4. * const.m4: New file. Use an initializer in this declaration typedef int charset[2]; const charset x; Reported by Bob Glickstein. 1997-12-21 Jim Meyering * chown.m4: Fix reversed types on -1 args to chown. From Kaveh Ghazi. 1997-12-14 Jim Meyering * check-decl.m4: s/DECLARATION_/DECL_/g. Add lseek and memchr. * decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g. T.E.Dickey said that some older preprocessors have a 20-character limit on names. 1997-11-30 Jim Meyering * inttypes_h.m4: New file. * uintmax_t.m4: New file. * Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4. ----- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. dc3dd-7.1.614/m4/close-stream.m40000644000175000017500000000056511022023316015613 0ustar amedicoamedico#serial 3 dnl Copyright (C) 2006-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CLOSE_STREAM], [ AC_LIBOBJ([close-stream]) dnl Prerequisites of lib/close-stream.c. : ]) dc3dd-7.1.614/m4/realloc.m40000644000175000017500000000141611022023316014632 0ustar amedicoamedico# realloc.m4 serial 8 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # gl_FUNC_REALLOC_POSIX # --------------------- # Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace realloc if it is not. AC_DEFUN([gl_FUNC_REALLOC_POSIX], [ AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then HAVE_REALLOC_POSIX=1 AC_DEFINE([HAVE_REALLOC_POSIX], 1, [Define if the 'realloc' function is POSIX compliant.]) else AC_LIBOBJ([realloc]) HAVE_REALLOC_POSIX=0 fi AC_SUBST([HAVE_REALLOC_POSIX]) ]) dc3dd-7.1.614/m4/fsusage.m40000644000175000017500000001753411022023316014656 0ustar amedicoamedico#serial 23 # Obtaining file system usage information. # Copyright (C) 1997, 1998, 2000, 2001, 2003-2007 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. AC_DEFUN([gl_FSUSAGE], [ AC_CHECK_HEADERS_ONCE(sys/param.h) AC_CHECK_HEADERS_ONCE(sys/vfs.h sys/fs_types.h) AC_CHECK_HEADERS(sys/mount.h, [], [], [AC_INCLUDES_DEFAULT [#if HAVE_SYS_PARAM_H #include #endif]]) gl_FILE_SYSTEM_USAGE([gl_cv_fs_space=yes], [gl_cv_fs_space=no]) if test $gl_cv_fs_space = yes; then AC_LIBOBJ(fsusage) gl_PREREQ_FSUSAGE_EXTRA fi ]) # Try to determine how a program can obtain file system usage information. # If successful, define the appropriate symbol (see fsusage.c) and # execute ACTION-IF-FOUND. Otherwise, execute ACTION-IF-NOT-FOUND. # # gl_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) AC_DEFUN([gl_FILE_SYSTEM_USAGE], [ AC_MSG_NOTICE([checking how to get file system space usage]) ac_fsusage_space=no # Perform only the link test since it seems there are no variants of the # statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs) # because that got a false positive on SCO OSR5. Adding the declaration # of a `struct statvfs' causes this test to fail (as it should) on such # systems. That system is reported to work fine with STAT_STATFS4 which # is what it gets when this test fails. if test $ac_fsusage_space = no; then # SVR4 AC_CACHE_CHECK([for statvfs function (SVR4)], fu_cv_sys_stat_statvfs, [AC_TRY_LINK([#include #if defined __GLIBC__ && !defined __BEOS__ Do not use statvfs on systems with GNU libc, because that function stats all preceding entries in /proc/mounts, and that makes df hang if even one of the corresponding file systems is hard-mounted, but not available. statvfs in GNU libc on BeOS operates differently: it only makes a system call. #endif #ifdef __osf__ "Do not use Tru64's statvfs implementation" #endif #include ], [struct statvfs fsd; statvfs (0, &fsd);], fu_cv_sys_stat_statvfs=yes, fu_cv_sys_stat_statvfs=no)]) if test $fu_cv_sys_stat_statvfs = yes; then ac_fsusage_space=yes AC_DEFINE(STAT_STATVFS, 1, [ Define if there is a function named statvfs. (SVR4)]) fi fi if test $ac_fsusage_space = no; then # DEC Alpha running OSF/1 AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1, [AC_TRY_RUN([ #include #include #include int main () { struct statfs fsd; fsd.f_fsize = 0; return statfs (".", &fsd, sizeof (struct statfs)) != 0; }], fu_cv_sys_stat_statfs3_osf1=yes, fu_cv_sys_stat_statfs3_osf1=no, fu_cv_sys_stat_statfs3_osf1=no)]) AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1) if test $fu_cv_sys_stat_statfs3_osf1 = yes; then ac_fsusage_space=yes AC_DEFINE(STAT_STATFS3_OSF1, 1, [ Define if statfs takes 3 args. (DEC Alpha running OSF/1)]) fi fi if test $ac_fsusage_space = no; then # AIX AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl member (AIX, 4.3BSD)]) AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize, [AC_TRY_RUN([ #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif #ifdef HAVE_SYS_VFS_H #include #endif int main () { struct statfs fsd; fsd.f_bsize = 0; return statfs (".", &fsd) != 0; }], fu_cv_sys_stat_statfs2_bsize=yes, fu_cv_sys_stat_statfs2_bsize=no, fu_cv_sys_stat_statfs2_bsize=no)]) AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize) if test $fu_cv_sys_stat_statfs2_bsize = yes; then ac_fsusage_space=yes AC_DEFINE(STAT_STATFS2_BSIZE, 1, [ Define if statfs takes 2 args and struct statfs has a field named f_bsize. (4.3BSD, SunOS 4, HP-UX, AIX PS/2)]) fi fi if test $ac_fsusage_space = no; then # SVR3 AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) AC_CACHE_VAL(fu_cv_sys_stat_statfs4, [AC_TRY_RUN([#include #include int main () { struct statfs fsd; return statfs (".", &fsd, sizeof fsd, 0) != 0; }], fu_cv_sys_stat_statfs4=yes, fu_cv_sys_stat_statfs4=no, fu_cv_sys_stat_statfs4=no)]) AC_MSG_RESULT($fu_cv_sys_stat_statfs4) if test $fu_cv_sys_stat_statfs4 = yes; then ac_fsusage_space=yes AC_DEFINE(STAT_STATFS4, 1, [ Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin)]) fi fi if test $ac_fsusage_space = no; then # 4.4BSD and NetBSD AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl member (4.4BSD and NetBSD)]) AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize, [AC_TRY_RUN([#include #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif int main () { struct statfs fsd; fsd.f_fsize = 0; return statfs (".", &fsd) != 0; }], fu_cv_sys_stat_statfs2_fsize=yes, fu_cv_sys_stat_statfs2_fsize=no, fu_cv_sys_stat_statfs2_fsize=no)]) AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize) if test $fu_cv_sys_stat_statfs2_fsize = yes; then ac_fsusage_space=yes AC_DEFINE(STAT_STATFS2_FSIZE, 1, [ Define if statfs takes 2 args and struct statfs has a field named f_fsize. (4.4BSD, NetBSD)]) fi fi if test $ac_fsusage_space = no; then # Ultrix AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) AC_CACHE_VAL(fu_cv_sys_stat_fs_data, [AC_TRY_RUN([#include #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif #ifdef HAVE_SYS_FS_TYPES_H #include #endif int main () { struct fs_data fsd; /* Ultrix's statfs returns 1 for success, 0 for not mounted, -1 for failure. */ return statfs (".", &fsd) != 1; }], fu_cv_sys_stat_fs_data=yes, fu_cv_sys_stat_fs_data=no, fu_cv_sys_stat_fs_data=no)]) AC_MSG_RESULT($fu_cv_sys_stat_fs_data) if test $fu_cv_sys_stat_fs_data = yes; then ac_fsusage_space=yes AC_DEFINE(STAT_STATFS2_FS_DATA, 1, [ Define if statfs takes 2 args and the second argument has type struct fs_data. (Ultrix)]) fi fi if test $ac_fsusage_space = no; then # SVR2 AC_TRY_CPP([#include ], AC_DEFINE(STAT_READ_FILSYS, 1, [Define if there is no specific function for reading file systems usage information and you have the header file. (SVR2)]) ac_fsusage_space=yes) fi AS_IF([test $ac_fsusage_space = yes], [$1], [$2]) ]) # Check for SunOS statfs brokenness wrt partitions 2GB and larger. # If exists and struct statfs has a member named f_spare, # enable the work-around code in fsusage.c. AC_DEFUN([gl_STATFS_TRUNCATES], [ AC_MSG_CHECKING([for statfs that truncates block counts]) AC_CACHE_VAL(fu_cv_sys_truncating_statfs, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #if !defined(sun) && !defined(__sun) choke -- this is a workaround for a Sun-specific problem #endif #include #include ]], [[struct statfs t; long c = *(t.f_spare); if (c) return 0;]])], [fu_cv_sys_truncating_statfs=yes], [fu_cv_sys_truncating_statfs=no])]) if test $fu_cv_sys_truncating_statfs = yes; then AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1, [Define if the block counts reported by statfs may be truncated to 2GB and the correct values may be stored in the f_spare array. (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. SunOS 4.1.1 seems not to be affected.)]) fi AC_MSG_RESULT($fu_cv_sys_truncating_statfs) ]) # Prerequisites of lib/fsusage.c not done by gl_FILE_SYSTEM_USAGE. AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA], [ AC_CHECK_HEADERS(dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h) gl_STATFS_TRUNCATES ]) dc3dd-7.1.614/m4/frexp.m40000644000175000017500000000747211022023316014345 0ustar amedicoamedico# frexp.m4 serial 5 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREXP], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) FREXP_LIBM= AC_CACHE_CHECK([whether frexp() can be used without linking with libm], [gl_cv_func_frexp_no_libm], [ AC_TRY_LINK([#include double x;], [int e; return frexp (x, &e) > 0;], [gl_cv_func_frexp_no_libm=yes], [gl_cv_func_frexp_no_libm=no]) ]) if test $gl_cv_func_frexp_no_libm = no; then AC_CACHE_CHECK([whether frexp() can be used with libm], [gl_cv_func_frexp_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_TRY_LINK([#include double x;], [int e; return frexp (x, &e) > 0;], [gl_cv_func_frexp_in_libm=yes], [gl_cv_func_frexp_in_libm=no]) LIBS="$save_LIBS" ]) if test $gl_cv_func_frexp_in_libm = yes; then FREXP_LIBM=-lm fi fi if test $gl_cv_func_frexp_no_libm = yes \ || test $gl_cv_func_frexp_in_libm = yes; then save_LIBS="$LIBS" LIBS="$LIBS $FREXP_LIBM" gl_FUNC_FREXP_WORKS LIBS="$save_LIBS" case "$gl_cv_func_frexp_works" in *yes) gl_func_frexp=yes ;; *) gl_func_frexp=no; REPLACE_FREXP=1; FREXP_LIBM= ;; esac else gl_func_frexp=no fi if test $gl_func_frexp = yes; then AC_DEFINE([HAVE_FREXP], 1, [Define if the frexp() function is available and works.]) else AC_LIBOBJ([frexp]) fi AC_SUBST([FREXP_LIBM]) ]) AC_DEFUN([gl_FUNC_FREXP_NO_LIBM], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) AC_CACHE_CHECK([whether frexp() can be used without linking with libm], [gl_cv_func_frexp_no_libm], [ AC_TRY_LINK([#include double x;], [int e; return frexp (x, &e) > 0;], [gl_cv_func_frexp_no_libm=yes], [gl_cv_func_frexp_no_libm=no]) ]) if test $gl_cv_func_frexp_no_libm = yes; then gl_FUNC_FREXP_WORKS case "$gl_cv_func_frexp_works" in *yes) gl_func_frexp_no_libm=yes ;; *) gl_func_frexp_no_libm=no; REPLACE_FREXP=1 ;; esac else gl_func_frexp_no_libm=no dnl Set REPLACE_FREXP here because the system may have frexp in libm. REPLACE_FREXP=1 fi if test $gl_func_frexp_no_libm = yes; then AC_DEFINE([HAVE_FREXP_IN_LIBC], 1, [Define if the frexp() function is available in libc.]) else AC_LIBOBJ([frexp]) fi ]) dnl Test whether frexp() works also on denormalized numbers (this fails e.g. on dnl NetBSD 3.0) and on infinite numbers (this fails e.g. on IRIX 6.5 and mingw). AC_DEFUN([gl_FUNC_FREXP_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether frexp works], [gl_cv_func_frexp_works], [ AC_TRY_RUN([ #include #include int main() { int i; volatile double x; /* Test on denormalized numbers. */ for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) ; if (x > 0.0) { int exp; double y = frexp (x, &exp); /* On machines with IEEE754 arithmetic: x = 1.11254e-308, exp = -1022. On NetBSD: y = 0.75. Correct: y = 0.5. */ if (y != 0.5) return 1; } /* Test on infinite numbers. */ x = 1.0 / 0.0; { int exp; double y = frexp (x, &exp); if (y != x) return 1; } return 0; }], [gl_cv_func_frexp_works=yes], [gl_cv_func_frexp_works=no], [case "$host_os" in netbsd* | irix* | mingw*) gl_cv_func_frexp_works="guessing no";; *) gl_cv_func_frexp_works="guessing yes";; esac ]) ]) ]) dc3dd-7.1.614/m4/unlocked-io.m40000644000175000017500000000306711022023316015426 0ustar amedicoamedico# unlocked-io.m4 serial 14 # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. dnl dnl See if the glibc *_unlocked I/O macros or functions are available. dnl Use only those *_unlocked macros or functions that are declared dnl (because some of them were declared in Solaris 2.5.1 but were removed dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run dnl on Solaris 2.6). AC_DEFUN([gl_FUNC_GLIBC_UNLOCKED_IO], [ AC_DEFINE([USE_UNLOCKED_IO], 1, [Define to 1 if you want getc etc. to use unlocked I/O if available. Unlocked I/O can improve performance in unithreaded apps, but it is not safe for multithreaded apps.]) dnl Persuade glibc and Solaris to declare dnl fgets_unlocked(), fputs_unlocked() etc. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_DECLS_ONCE([clearerr_unlocked]) AC_CHECK_DECLS_ONCE([feof_unlocked]) AC_CHECK_DECLS_ONCE([ferror_unlocked]) AC_CHECK_DECLS_ONCE([fflush_unlocked]) AC_CHECK_DECLS_ONCE([fgets_unlocked]) AC_CHECK_DECLS_ONCE([fputc_unlocked]) AC_CHECK_DECLS_ONCE([fputs_unlocked]) AC_CHECK_DECLS_ONCE([fread_unlocked]) AC_CHECK_DECLS_ONCE([fwrite_unlocked]) AC_CHECK_DECLS_ONCE([getc_unlocked]) AC_CHECK_DECLS_ONCE([getchar_unlocked]) AC_CHECK_DECLS_ONCE([putc_unlocked]) AC_CHECK_DECLS_ONCE([putchar_unlocked]) ]) dc3dd-7.1.614/m4/nocrash.m40000644000175000017500000000703311022023316014647 0ustar amedicoamedico# nocrash.m4 serial 1 dnl Copyright (C) 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Based on libsigsegv, from Bruno Haible and Paolo Bonzini. AC_PREREQ(2.13) dnl Expands to some code for use in .c programs that will cause the configure dnl test to exit instead of crashing. This is useful to avoid triggering dnl action from a background debugger and to avoid core dumps. dnl Usage: ... dnl ]GL_NOCRASH[ dnl ... dnl int main() { nocrash_init(); ... } AC_DEFUN([GL_NOCRASH],[[ #include #if defined __MACH__ && defined __APPLE__ /* Avoid a crash on MacOS X. */ #include #include #include #include #include #include /* The exception port on which our thread listens. */ static mach_port_t our_exception_port; /* The main function of the thread listening for exceptions of type EXC_BAD_ACCESS. */ static void * mach_exception_thread (void *arg) { /* Buffer for a message to be received. */ struct { mach_msg_header_t head; mach_msg_body_t msgh_body; char data[1024]; } msg; mach_msg_return_t retval; /* Wait for a message on the exception port. */ retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); if (retval != MACH_MSG_SUCCESS) abort (); exit (1); } static void nocrash_init (void) { mach_port_t self = mach_task_self (); /* Allocate a port on which the thread shall listen for exceptions. */ if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) == KERN_SUCCESS) { /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ if (mach_port_insert_right (self, our_exception_port, our_exception_port, MACH_MSG_TYPE_MAKE_SEND) == KERN_SUCCESS) { /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting for us. */ exception_mask_t mask = EXC_MASK_BAD_ACCESS; /* Create the thread listening on the exception port. */ pthread_attr_t attr; pthread_t thread; if (pthread_attr_init (&attr) == 0 && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { pthread_attr_destroy (&attr); /* Replace the exception port info for these exceptions with our own. Note that we replace the exception port for the entire task, not only for a particular thread. This has the effect that when our exception port gets the message, the thread specific exception port has already been asked, and we don't need to bother about it. See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ task_set_exception_ports (self, mask, our_exception_port, EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); } } } } #else /* Avoid a crash on POSIX systems. */ #include /* A POSIX signal handler. */ static void exception_handler (int sig) { exit (1); } static void nocrash_init (void) { #ifdef SIGSEGV signal (SIGSEGV, exception_handler); #endif #ifdef SIGBUS signal (SIGBUS, exception_handler); #endif } #endif ]]) dc3dd-7.1.614/m4/gethostname.m40000644000175000017500000000101211022023316015517 0ustar amedicoamedico# gethostname.m4 serial 2 dnl Copyright (C) 2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_GETHOSTNAME], [ AC_REPLACE_FUNCS(gethostname) if test $ac_cv_func_gethostname = no; then gl_PREREQ_GETHOSTNAME fi ]) # Prerequisites of lib/gethostname.c. AC_DEFUN([gl_PREREQ_GETHOSTNAME], [ AC_CHECK_FUNCS(uname) ]) dc3dd-7.1.614/m4/closeout.m40000644000175000017500000000060311022023316015043 0ustar amedicoamedico# closeout.m4 serial 5 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CLOSEOUT], [ AC_LIBOBJ([closeout]) dnl Prerequisites of lib/closeout.c. : ]) dc3dd-7.1.614/m4/fstypename.m40000644000175000017500000000112311022023316015357 0ustar amedicoamedico#serial 6 dnl From Jim Meyering. dnl dnl See if struct statfs has the f_fstypename member. dnl If so, define HAVE_STRUCT_STATFS_F_FSTYPENAME. dnl # Copyright (C) 1998, 1999, 2001, 2004, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FSTYPENAME], [ AC_CHECK_MEMBERS([struct statfs.f_fstypename],,, [ #include #include #include ]) ]) dc3dd-7.1.614/m4/fnmatch.m40000644000175000017500000001102111022023316014622 0ustar amedicoamedico# Check for fnmatch - serial 2. # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Autoconf defines AC_FUNC_FNMATCH, but that is obsolescent. # New applications should use the macros below instead. # _AC_FUNC_FNMATCH_IF(STANDARD = GNU | POSIX, CACHE_VAR, IF-TRUE, IF-FALSE) # ------------------------------------------------------------------------- # If a STANDARD compliant fnmatch is found, run IF-TRUE, otherwise # IF-FALSE. Use CACHE_VAR. AC_DEFUN([_AC_FUNC_FNMATCH_IF], [AC_CACHE_CHECK( [for working $1 fnmatch], [$2], [dnl Some versions of Solaris, SCO, and the GNU C Library dnl have a broken or incompatible fnmatch. dnl So we run a test program. If we are cross-compiling, take no chance. dnl Thanks to John Oleynick, François Pinard, and Paul Eggert for this test. AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include static int y (char const *pattern, char const *string, int flags) { return fnmatch (pattern, string, flags) == 0; } static int n (char const *pattern, char const *string, int flags) { return fnmatch (pattern, string, flags) == FNM_NOMATCH; } ]], [[char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]"; char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]"; static char const A_1[] = { 'A' - 1, 0 }; static char const A01[] = { 'A' + 1, 0 }; static char const a_1[] = { 'a' - 1, 0 }; static char const a01[] = { 'a' + 1, 0 }; static char const bs_1[] = { '\\\\' - 1, 0 }; static char const bs01[] = { '\\\\' + 1, 0 }; return !(n ("a*", "", 0) && y ("a*", "abc", 0) && n ("d*/*1", "d/s/1", FNM_PATHNAME) && y ("a\\\\bc", "abc", 0) && n ("a\\\\bc", "abc", FNM_NOESCAPE) && y ("*x", ".x", 0) && n ("*x", ".x", FNM_PERIOD) && y (Apat, "\\\\", 0) && y (Apat, "A", 0) && y (apat, "\\\\", 0) && y (apat, "a", 0) && n (Apat, A_1, 0) == ('A' < '\\\\') && n (apat, a_1, 0) == ('a' < '\\\\') && y (Apat, A01, 0) == ('A' < '\\\\') && y (apat, a01, 0) == ('a' < '\\\\') && y (Apat, bs_1, 0) == ('A' < '\\\\') && y (apat, bs_1, 0) == ('a' < '\\\\') && n (Apat, bs01, 0) == ('A' < '\\\\') && n (apat, bs01, 0) == ('a' < '\\\\') && ]m4_if([$1], [GNU], [y ("xxXX", "xXxX", FNM_CASEFOLD) && y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH) && n ("d*/*1", "d/s/1", FNM_FILE_NAME) && y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR) && y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR) && y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)], 1))[;]])], [$2=yes], [$2=no], [$2=cross])]) AS_IF([test $$2 = yes], [$3], [$4]) ])# _AC_FUNC_FNMATCH_IF # _AC_LIBOBJ_FNMATCH # ------------------ # Prepare the replacement of fnmatch. AC_DEFUN([_AC_LIBOBJ_FNMATCH], [AC_REQUIRE([AC_FUNC_ALLOCA])dnl AC_REQUIRE([AC_TYPE_MBSTATE_T])dnl AC_CHECK_DECLS([isblank], [], [], [#include ]) AC_CHECK_FUNCS_ONCE([btowc isblank iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy]) AC_CHECK_HEADERS_ONCE([wctype.h]) AC_LIBOBJ([fnmatch]) FNMATCH_H=fnmatch.h ])# _AC_LIBOBJ_FNMATCH AC_DEFUN([gl_FUNC_FNMATCH_POSIX], [ FNMATCH_H= _AC_FUNC_FNMATCH_IF([POSIX], [ac_cv_func_fnmatch_posix], [rm -f lib/fnmatch.h], [_AC_LIBOBJ_FNMATCH]) if test $ac_cv_func_fnmatch_posix != yes; then dnl We must choose a different name for our function, since on ELF systems dnl a broken fnmatch() in libc.so would override our fnmatch() if it is dnl compiled into a shared library. AC_DEFINE([fnmatch], [posix_fnmatch], [Define to a replacement function name for fnmatch().]) fi AC_SUBST([FNMATCH_H]) ]) AC_DEFUN([gl_FUNC_FNMATCH_GNU], [ dnl Persuade glibc to declare FNM_CASEFOLD etc. AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) FNMATCH_H= _AC_FUNC_FNMATCH_IF([GNU], [ac_cv_func_fnmatch_gnu], [rm -f lib/fnmatch.h], [_AC_LIBOBJ_FNMATCH]) if test $ac_cv_func_fnmatch_gnu != yes; then dnl We must choose a different name for our function, since on ELF systems dnl a broken fnmatch() in libc.so would override our fnmatch() if it is dnl compiled into a shared library. AC_DEFINE([fnmatch], [gnu_fnmatch], [Define to a replacement function name for fnmatch().]) fi AC_SUBST([FNMATCH_H]) ]) dc3dd-7.1.614/m4/socklen.m40000644000175000017500000000400311022023316014642 0ustar amedicoamedico# socklen.m4 serial 6 dnl Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Albert Chin, Windows fixes from Simon Josefsson. dnl Check for socklen_t: historically on BSD it is an int, and in dnl POSIX 1g it is a type of its own, but some platforms use different dnl types for the argument to getsockopt, getpeername, etc. So we dnl have to test to find something that will work. dnl On mingw32, socklen_t is in ws2tcpip.h ('int'), so we try to find dnl it there first. That file is included by gnulib's sys_socket.in.h, which dnl all users of this module should include. Cygwin must not include dnl ws2tcpip.h. AC_DEFUN([gl_TYPE_SOCKLEN_T], [AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl AC_CHECK_TYPE([socklen_t], , [AC_MSG_CHECKING([for socklen_t equivalent]) AC_CACHE_VAL([gl_cv_socklen_t_equiv], [# Systems have either "struct sockaddr *" or # "void *" as the second argument to getpeername gl_cv_socklen_t_equiv= for arg2 in "struct sockaddr" void; do for t in int size_t "unsigned int" "long int" "unsigned long int"; do AC_TRY_COMPILE( [#include #include int getpeername (int, $arg2 *, $t *);], [$t len; getpeername (0, 0, &len);], [gl_cv_socklen_t_equiv="$t"]) test "$gl_cv_socklen_t_equiv" != "" && break done test "$gl_cv_socklen_t_equiv" != "" && break done ]) if test "$gl_cv_socklen_t_equiv" = ""; then AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) fi AC_MSG_RESULT([$gl_cv_socklen_t_equiv]) AC_DEFINE_UNQUOTED([socklen_t], [$gl_cv_socklen_t_equiv], [type to use in place of socklen_t if not defined])], [#include #if HAVE_SYS_SOCKET_H # include #elif HAVE_WS2TCPIP_H # include #endif])]) dc3dd-7.1.614/m4/strtoimax.m40000644000175000017500000000204411022023316015241 0ustar amedicoamedico# strtoimax.m4 serial 6 dnl Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOIMAX], [ dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. AC_REQUIRE([AC_PROG_CPP]) AC_REQUIRE([AC_PROG_EGREP]) AC_CACHE_CHECK([whether defines strtoimax as a macro], gl_cv_func_strtoimax_macro, [AC_EGREP_CPP([inttypes_h_defines_strtoimax], [#include #ifdef strtoimax inttypes_h_defines_strtoimax #endif], gl_cv_func_strtoimax_macro=yes, gl_cv_func_strtoimax_macro=no)]) if test "$gl_cv_func_strtoimax_macro" != yes; then AC_REPLACE_FUNCS(strtoimax) if test $ac_cv_func_strtoimax = no; then gl_PREREQ_STRTOIMAX fi fi ]) # Prerequisites of lib/strtoimax.c. AC_DEFUN([gl_PREREQ_STRTOIMAX], [ AC_CHECK_DECLS(strtoll) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) ]) dc3dd-7.1.614/m4/timespec.m40000644000175000017500000000063311022023316015022 0ustar amedicoamedico#serial 14 # Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free Software # Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering AC_DEFUN([gl_TIMESPEC], [ dnl Prerequisites of lib/timespec.h. AC_REQUIRE([AC_C_INLINE]) ]) dc3dd-7.1.614/m4/readlink.m40000644000175000017500000000136111022023316015001 0ustar amedicoamedico# readlink.m4 serial 4 dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_READLINK], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([readlink]) if test $ac_cv_func_readlink = no; then HAVE_READLINK=0 AC_LIBOBJ(readlink) gl_PREREQ_READLINK fi ]) # Like gl_FUNC_READLINK, except prepare for separate compilation (no AC_LIBOBJ). AC_DEFUN([gl_FUNC_READLINK_SEPARATE], [ AC_CHECK_FUNCS_ONCE([readlink]) gl_PREREQ_READLINK ]) # Prerequisites of lib/readlink.c. AC_DEFUN([gl_PREREQ_READLINK], [ : ]) dc3dd-7.1.614/m4/mktime.m40000644000175000017500000001337011022023316014501 0ustar amedicoamedico#serial 13 dnl Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. # Redefine AC_FUNC_MKTIME, to fix a bug in Autoconf 2.61a and earlier. # This redefinition can be removed once a new version of Autoconf is assumed. # The redefinition is taken from # . # AC_FUNC_MKTIME # -------------- AC_DEFUN([AC_FUNC_MKTIME], [AC_CHECK_HEADERS_ONCE(unistd.h) AC_CHECK_FUNCS_ONCE(alarm) AC_CACHE_CHECK([for working mktime], ac_cv_func_working_mktime, [AC_RUN_IFELSE([AC_LANG_SOURCE( [[/* Test program from Paul Eggert and Tony Leneis. */ #include #include #include #ifdef HAVE_UNISTD_H # include #endif #ifndef HAVE_ALARM # define alarm(X) /* empty */ #endif /* Work around redefinition to rpl_putenv by other config tests. */ #undef putenv static time_t time_t_max; static time_t time_t_min; /* Values we'll use to set the TZ environment variable. */ static char *tz_strings[] = { (char *) 0, "TZ=GMT0", "TZ=JST-9", "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" }; #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) /* Return 0 if mktime fails to convert a date in the spring-forward gap. Based on a problem report from Andreas Jaeger. */ static int spring_forward_gap () { /* glibc (up to about 1998-10-07) failed this test. */ struct tm tm; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); tm.tm_year = 98; tm.tm_mon = 3; tm.tm_mday = 5; tm.tm_hour = 2; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; return mktime (&tm) != (time_t) -1; } static int mktime_test1 (now) time_t now; { struct tm *lt; return ! (lt = localtime (&now)) || mktime (lt) == now; } static int mktime_test (now) time_t now; { return (mktime_test1 (now) && mktime_test1 ((time_t) (time_t_max - now)) && mktime_test1 ((time_t) (time_t_min + now))); } static int irix_6_4_bug () { /* Based on code from Ariel Faigon. */ struct tm tm; tm.tm_year = 96; tm.tm_mon = 3; tm.tm_mday = 0; tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; mktime (&tm); return tm.tm_mon == 2 && tm.tm_mday == 31; } static int bigtime_test (j) int j; { struct tm tm; time_t now; tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; now = mktime (&tm); if (now != (time_t) -1) { struct tm *lt = localtime (&now); if (! (lt && lt->tm_year == tm.tm_year && lt->tm_mon == tm.tm_mon && lt->tm_mday == tm.tm_mday && lt->tm_hour == tm.tm_hour && lt->tm_min == tm.tm_min && lt->tm_sec == tm.tm_sec && lt->tm_yday == tm.tm_yday && lt->tm_wday == tm.tm_wday && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) return 0; } return 1; } static int year_2050_test () { /* The correct answer for 2050-02-01 00:00:00 in Pacific time, ignoring leap seconds. */ unsigned long int answer = 2527315200UL; struct tm tm; time_t t; tm.tm_year = 2050 - 1900; tm.tm_mon = 2 - 1; tm.tm_mday = 1; tm.tm_hour = tm.tm_min = tm.tm_sec = 0; tm.tm_isdst = -1; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); t = mktime (&tm); /* Check that the result is either a failure, or close enough to the correct answer that we can assume the discrepancy is due to leap seconds. */ return (t == (time_t) -1 || (0 < t && answer - 120 <= t && t <= answer + 120)); } int main () { time_t t, delta; int i, j; /* This test makes some buggy mktime implementations loop. Give up after 60 seconds; a mktime slower than that isn't worth using anyway. */ alarm (60); for (;;) { t = (time_t_max << 1) + 1; if (t <= time_t_max) break; time_t_max = t; } time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max; delta = time_t_max / 997; /* a suitable prime number */ for (i = 0; i < N_STRINGS; i++) { if (tz_strings[i]) putenv (tz_strings[i]); for (t = 0; t <= time_t_max - delta; t += delta) if (! mktime_test (t)) return 1; if (! (mktime_test ((time_t) 1) && mktime_test ((time_t) (60 * 60)) && mktime_test ((time_t) (60 * 60 * 24)))) return 1; for (j = 1; ; j <<= 1) if (! bigtime_test (j)) return 1; else if (INT_MAX / 2 < j) break; if (! bigtime_test (INT_MAX)) return 1; } return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ()); }]])], [ac_cv_func_working_mktime=yes], [ac_cv_func_working_mktime=no], [ac_cv_func_working_mktime=no])]) if test $ac_cv_func_working_mktime = no; then AC_LIBOBJ([mktime]) fi ])# AC_FUNC_MKTIME AC_DEFUN([gl_FUNC_MKTIME], [ AC_FUNC_MKTIME dnl Note: AC_FUNC_MKTIME does AC_LIBOBJ(mktime). if test $ac_cv_func_working_mktime = no; then AC_DEFINE(mktime, rpl_mktime, [Define to rpl_mktime if the replacement function should be used.]) gl_PREREQ_MKTIME fi ]) # Prerequisites of lib/mktime.c. AC_DEFUN([gl_PREREQ_MKTIME], [ AC_REQUIRE([AC_C_INLINE]) ]) dc3dd-7.1.614/m4/sys_socket_h.m40000644000175000017500000000472111064230667015727 0ustar amedicoamedico# sys_socket_h.m4 serial 6 dnl Copyright (C) 2005-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Simon Josefsson. AC_DEFUN([gl_HEADER_SYS_SOCKET], [ AC_REQUIRE([AC_C_INLINE]) AC_CACHE_CHECK([whether is self-contained], [gl_cv_header_sys_socket_h_selfcontained], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[]])], [gl_cv_header_sys_socket_h_selfcontained=yes], [gl_cv_header_sys_socket_h_selfcontained=no]) ]) if test $gl_cv_header_sys_socket_h_selfcontained = yes; then SYS_SOCKET_H='' dnl If the shutdown function exists, should define dnl SHUT_RD, SHUT_WR, SHUT_RDWR. AC_CHECK_FUNCS([shutdown]) if test $ac_cv_func_shutdown = yes; then AC_CACHE_CHECK([whether defines the SHUT_* macros], [gl_cv_header_sys_socket_h_shut], [ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };]])], [gl_cv_header_sys_socket_h_shut=yes], [gl_cv_header_sys_socket_h_shut=no]) ]) if test $gl_cv_header_sys_socket_h_shut = no; then SYS_SOCKET_H='sys/socket.h' fi fi else SYS_SOCKET_H='sys/socket.h' fi if test -n "$SYS_SOCKET_H"; then dnl Check prerequisites of the replacement. gl_CHECK_NEXT_HEADERS([sys/socket.h]) if test $ac_cv_header_sys_socket_h = yes; then HAVE_SYS_SOCKET_H=1 HAVE_WINSOCK2_H=0 HAVE_WS2TCPIP_H=0 else HAVE_SYS_SOCKET_H=0 dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make dnl the check for those headers unconditional; yet cygwin reports dnl that the headers are present but cannot be compiled (since on dnl cygwin, all socket information should come from sys/socket.h). AC_CHECK_HEADERS([winsock2.h ws2tcpip.h]) if test $ac_cv_header_winsock2_h = yes; then HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi if test $ac_cv_header_ws2tcpip_h = yes; then HAVE_WS2TCPIP_H=1 else HAVE_WS2TCPIP_H=0 fi fi AC_SUBST([HAVE_SYS_SOCKET_H]) AC_SUBST([HAVE_WINSOCK2_H]) AC_SUBST([HAVE_WS2TCPIP_H]) fi AC_SUBST([SYS_SOCKET_H]) ]) dc3dd-7.1.614/m4/savedir.m40000644000175000017500000000052411022023316014645 0ustar amedicoamedico# savedir.m4 serial 9 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SAVEDIR], [ AC_LIBOBJ([savedir]) ]) dc3dd-7.1.614/m4/posix-shell.m40000644000175000017500000000303511022023316015457 0ustar amedicoamedico# Find a POSIX-conforming shell. # Copyright (C) 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. # If a POSIX-conforming shell can be found, set POSIX_SHELL and # PREFERABLY_POSIX_SHELL to it. If not, set POSIX_SHELL to the # empty string and PREFERABLY_POSIX_SHELL to '/bin/sh'. AC_DEFUN([gl_POSIX_SHELL], [ AC_CACHE_CHECK([for a shell that conforms to POSIX], [gl_cv_posix_shell], [gl_test_POSIX_SHELL=' func_return () { (exit [$]1) } func_success () { func_return 0 } func_failure () { func_return 1 } func_ret_success () { return 0 } func_ret_failure () { return 1 } test "[$](echo foo)" = foo && func_success && ! func_failure && func_ret_success && ! func_ret_failure && (set x && func_ret_success y && test x = "[$]1") ' for gl_cv_posix_shell in \ "$CONFIG_SHELL" "$SHELL" /bin/sh /bin/bash /bin/ksh /bin/sh5 no; do case $gl_cv_posix_shell in /*) "$gl_cv_posix_shell" -c "$gl_test_POSIX_shell" 2>/dev/null && break;; esac done]) if test "$gl_cv_posix_shell" != no; then POSIX_SHELL=$gl_cv_posix_shell PREFERABLY_POSIX_SHELL=$POSIX_SHELL else POSIX_SHELL= PREFERABLY_POSIX_SHELL=/bin/sh fi AC_SUBST([POSIX_SHELL]) AC_SUBST([PREFERABLY_POSIX_SHELL]) ]) dc3dd-7.1.614/m4/lib-link.m40000644000175000017500000007452711064230667014746 0ustar amedicoamedico# lib-link.m4 serial 15 (gettext-0.18) dnl Copyright (C) 2001-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.54) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes popdef([NAME]) popdef([Name]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= LIB[]NAME[]_PREFIX= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) popdef([NAME]) popdef([Name]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_FROMPACKAGE(name, package) dnl declares that libname comes from the given package. The configure file dnl will then not have a --with-libname-prefix option but a dnl --with-package-prefix option. Several libraries can come from the same dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar dnl macro call that searches for libname. AC_DEFUN([AC_LIB_FROMPACKAGE], [ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_frompackage_]NAME, [$2]) popdef([NAME]) pushdef([PACK],[$2]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_libsinpackage_]PACKUP, m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) popdef([PACKUP]) popdef([PACK]) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) dnl Autoconf >= 2.61 supports dots in --with options. pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH(P_A_C_K[-prefix], [[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIB[]NAME[]_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) popdef([NAME]) ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) dc3dd-7.1.614/m4/memmove.m40000644000175000017500000000073211022023316014656 0ustar amedicoamedico# memmove.m4 serial 2 dnl Copyright (C) 2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MEMMOVE], [ AC_REPLACE_FUNCS(memmove) if test $ac_cv_func_memmove = no; then gl_PREREQ_MEMMOVE fi ]) # Prerequisites of lib/memmove.c. AC_DEFUN([gl_PREREQ_MEMMOVE], [ : ]) dc3dd-7.1.614/m4/rename.m40000644000175000017500000000317411022023316014463 0ustar amedicoamedico#serial 10 # Copyright (C) 2001, 2003, 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Volker Borchert. dnl Determine whether rename works for source file names with a trailing slash. dnl The rename from SunOS 4.1.1_U1 doesn't. dnl dnl If it doesn't, then define RENAME_TRAILING_SLASH_BUG and arrange dnl to compile the wrapper function. dnl AC_DEFUN([gl_FUNC_RENAME], [ AC_CACHE_CHECK([whether rename is broken], gl_cv_func_rename_trailing_slash_bug, [ rm -rf conftest.d1 conftest.d2 mkdir conftest.d1 || AC_MSG_ERROR([cannot create temporary directory]) AC_TRY_RUN([ # include # include int main () { exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0); } ], gl_cv_func_rename_trailing_slash_bug=no, gl_cv_func_rename_trailing_slash_bug=yes, dnl When crosscompiling, assume rename is broken. gl_cv_func_rename_trailing_slash_bug=yes) rm -rf conftest.d1 conftest.d2 ]) if test $gl_cv_func_rename_trailing_slash_bug = yes; then AC_LIBOBJ(rename) AC_DEFINE(rename, rpl_rename, [Define to rpl_rename if the replacement function should be used.]) AC_DEFINE(RENAME_TRAILING_SLASH_BUG, 1, [Define if rename does not work for source file names with a trailing slash, like the one from SunOS 4.1.1_U1.]) gl_PREREQ_RENAME fi ]) # Prerequisites of lib/rename.c. AC_DEFUN([gl_PREREQ_RENAME], [:]) dc3dd-7.1.614/m4/arpa_inet_h.m40000644000175000017500000000303611064230667015501 0ustar amedicoamedico# arpa_inet_h.m4 serial 4 dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Simon Josefsson and Bruno Haible AC_DEFUN([gl_HEADER_ARPA_INET], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) AC_CHECK_HEADERS_ONCE([arpa/inet.h]) if test $ac_cv_header_arpa_inet_h = yes; then HAVE_ARPA_INET_H=1 else ARPA_INET_H='arpa/inet.h' HAVE_ARPA_INET_H=0 fi AC_SUBST([HAVE_ARPA_INET_H]) dnl Execute this unconditionally, because ARPA_INET_H may be set by other dnl modules, after this code is executed. gl_CHECK_NEXT_HEADERS([arpa/inet.h]) ]) AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_ARPA_INET_H_DEFAULTS], [ GNULIB_INET_NTOP=0; AC_SUBST([GNULIB_INET_NTOP]) GNULIB_INET_PTON=0; AC_SUBST([GNULIB_INET_PTON]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_INET_NTOP=1; AC_SUBST([HAVE_DECL_INET_NTOP]) HAVE_DECL_INET_PTON=1; AC_SUBST([HAVE_DECL_INET_PTON]) ARPA_INET_H=''; AC_SUBST([ARPA_INET_H]) ]) dc3dd-7.1.614/m4/unlinkdir.m40000644000175000017500000000221011022023316015201 0ustar amedicoamedico#serial 5 # Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. AC_DEFUN([gl_UNLINKDIR], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_HEADERS_ONCE(priv.h) AC_LIBOBJ([unlinkdir]) # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later, # and Cygwin never let anyone (even root) unlink directories. # If anyone knows of another system for which unlink can never # remove a directory, please report it to . # Unfortunately this is difficult to test for, since it requires root access # and might create garbage in the file system, # so the code below simply relies on the kernel name and version number. case $host in *-*-gnu[[0-9]]* | \ *-*-linux-* | *-*-linux | \ *-*-freebsd2.2* | *-*-freebsd[[3-9]]* | *-*-freebsd[[1-9]][[0-9]]* | \ *-cygwin) AC_DEFINE([UNLINK_CANNOT_UNLINK_DIR], 1, [Define to 1 if unlink (dir) cannot possibly succeed.]);; esac ]) dc3dd-7.1.614/m4/utimecmp.m40000644000175000017500000000062511022023316015035 0ustar amedicoamedico#serial 3 dnl Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_UTIMECMP], [ AC_LIBOBJ([utimecmp]) dnl Prerequisites of lib/utimecmp.c. AC_REQUIRE([gl_FUNC_UTIMES]) : ]) dc3dd-7.1.614/m4/stat-prog.m40000644000175000017500000000574211022023316015137 0ustar amedicoamedico# stat-prog.m4 serial 5 # Record the prerequisites of src/stat.c from the coreutils package. # Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering. AC_DEFUN([cu_PREREQ_STAT_PROG], [ AC_REQUIRE([gl_FSUSAGE]) AC_REQUIRE([gl_FSTYPENAME]) AC_CHECK_HEADERS_ONCE([OS.h netinet/in.h sys/param.h sys/vfs.h]) dnl Check for vfs.h first, since this avoids a warning with nfs_client.h dnl on Solaris 8. test $ac_cv_header_sys_param_h = yes && test $ac_cv_header_sys_mount_h = yes && AC_CHECK_HEADERS([nfs/vfs.h], [AC_CHECK_HEADERS([nfs/nfs_client.h])]) statvfs_includes="\ AC_INCLUDES_DEFAULT #include " statfs_includes="\ AC_INCLUDES_DEFAULT #if HAVE_SYS_VFS_H # include #elif HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H # include # include # if HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H # include # include # include # endif #elif HAVE_OS_H # include #endif " dnl Keep this long conditional in sync with the USE_STATVFS conditional dnl in ../src/stat.c. if test "$fu_cv_sys_stat_statvfs" = yes && { AC_CHECK_MEMBERS([struct statvfs.f_basetype],,, [$statvfs_includes]) test $ac_cv_member_struct_statvfs_f_basetype = yes || { AC_CHECK_MEMBERS([struct statvfs.f_fstypename],,, [$statvfs_includes]) test $ac_cv_member_struct_statvfs_f_fstypename = yes || { test $ac_cv_member_struct_statfs_f_fstypename != yes && { AC_CHECK_MEMBERS([struct statvfs.f_type],,, [$statvfs_includes]) test $ac_cv_member_struct_statvfs_f_type = yes; }; }; }; } then AC_CHECK_MEMBERS([struct statvfs.f_namemax],,, [$statvfs_includes]) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [$statvfs_includes], [static statvfs s; return (s.s_fsid ^ 0) == 0;])], [AC_DEFINE([STRUCT_STATVFS_F_FSID_IS_INTEGER], 1, [Define to 1 if the f_fsid member of struct statvfs is an integer.])]) else AC_CHECK_MEMBERS([struct statfs.f_namelen, struct statfs.f_type],,, [$statfs_includes]) if test $ac_cv_header_OS_h != yes; then AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [$statfs_includes], [static statfs s; return (s.s_fsid ^ 0) == 0;])], [AC_DEFINE([STRUCT_STATFS_F_FSID_IS_INTEGER], 1, [Define to 1 if the f_fsid member of struct statfs is an integer.])]) fi fi ]) dc3dd-7.1.614/m4/fd-reopen.m40000644000175000017500000000067511022023316015076 0ustar amedicoamedico# Invoke open, but return either a desired file descriptor or -1. dnl Copyright (C) 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_FD_REOPEN], [ AC_LIBSOURCES([fd-reopen.c, fd-reopen.h]) AC_LIBOBJ([fd-reopen]) ]) dc3dd-7.1.614/m4/rpmatch.m40000644000175000017500000000202711064230667014665 0ustar amedicoamedico# rpmatch.m4 serial 7 dnl Copyright (C) 2002-2003, 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_RPMATCH], [ dnl Persuade glibc to declare rpmatch(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REPLACE_FUNCS(rpmatch) if test $ac_cv_func_rpmatch = no; then HAVE_RPMATCH=0 gl_PREREQ_RPMATCH fi ]) # Prerequisites of lib/rpmatch.c. AC_DEFUN([gl_PREREQ_RPMATCH], [ AC_CACHE_CHECK([for nl_langinfo and YESEXPR], gl_cv_langinfo_yesexpr, [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(YESEXPR); return !cs;], [gl_cv_langinfo_yesexpr=yes], [gl_cv_langinfo_yesexpr=no]) ]) if test $gl_cv_langinfo_yesexpr = yes; then AC_DEFINE([HAVE_LANGINFO_YESEXPR], 1, [Define if you have and nl_langinfo(YESEXPR).]) fi ]) dc3dd-7.1.614/m4/hard-locale.m40000644000175000017500000000062111022023316015361 0ustar amedicoamedico# hard-locale.m4 serial 7 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl No prerequisites of lib/hard-locale.c. AC_DEFUN([gl_HARD_LOCALE], [ AC_LIBOBJ([hard-locale]) ]) dc3dd-7.1.614/m4/host-os.m40000644000175000017500000000501411022023316014603 0ustar amedicoamedico#serial 6 # Copyright (C) 2001, 2003, 2004, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. dnl From Paul Eggert. # Define HOST_OPERATING_SYSTEM to a name for the host operating system. AC_DEFUN([gl_HOST_OS], [ AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([host operating system], gl_cv_host_operating_system, [[case $host_os in # These operating system names do not use the default heuristic below. # They are in reverse order, so that more-specific prefixes come first. winnt*) os='Windows NT';; vos*) os='VOS';; sysv*) os='Unix System V';; superux*) os='SUPER-UX';; sunos*) os='SunOS';; stop*) os='STOP';; sco*) os='SCO Unix';; riscos*) os='RISC OS';; riscix*) os='RISCiX';; qnx*) os='QNX';; pw32*) os='PW32';; ptx*) os='ptx';; plan9*) os='Plan 9';; osf*) os='Tru64';; os2*) os='OS/2';; openbsd*) os='OpenBSD';; nsk*) os='NonStop Kernel';; nonstopux*) os='NonStop-UX';; netbsd*-gnu*) os='GNU/NetBSD';; # NetBSD kernel+libc, GNU userland netbsd*) os='NetBSD';; knetbsd*-gnu) os='GNU/kNetBSD';; # NetBSD kernel, GNU libc+userland kfreebsd*-gnu) os='GNU/kFreeBSD';; # FreeBSD kernel, GNU libc+userland msdosdjgpp*) os='DJGPP';; mpeix*) os='MPE/iX';; mint*) os='MiNT';; mingw*) os='MinGW';; lynxos*) os='LynxOS';; linux*) os='GNU/Linux';; hpux*) os='HP-UX';; hiux*) os='HI-UX';; gnu*) os='GNU';; freebsd*) os='FreeBSD';; dgux*) os='DG/UX';; bsdi*) os='BSD/OS';; bsd*) os='BSD';; beos*) os='BeOS';; aux*) os='A/UX';; atheos*) os='AtheOS';; amigaos*) os='Amiga OS';; aix*) os='AIX';; # The default heuristic takes the initial alphabetic string # from $host_os, but capitalizes its first letter. [A-Za-z]*) os=` expr "X$host_os" : 'X\([A-Za-z]\)' | tr '[a-z]' '[A-Z]' `` expr "X$host_os" : 'X.\([A-Za-z]*\)' ` ;; # If $host_os does not start with an alphabetic string, use it unchanged. *) os=$host_os;; esac gl_cv_host_operating_system=$os]]) AC_DEFINE_UNQUOTED(HOST_OPERATING_SYSTEM, "$gl_cv_host_operating_system", [The host operating system.]) ]) dc3dd-7.1.614/m4/file-type.m40000644000175000017500000000052411022023316015106 0ustar amedicoamedico# file-type.m4 serial 6 dnl Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FILE_TYPE], [ AC_LIBOBJ([file-type]) ]) dc3dd-7.1.614/m4/strtod.m40000644000175000017500000000430511064230667014547 0ustar amedicoamedico# strtod.m4 serial 9 dnl Copyright (C) 2002, 2003, 2006, 2007, 2008 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOD], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_FUNC_STRTOD dnl Note: AC_FUNC_STRTOD does AC_LIBOBJ(strtod). if test $ac_cv_func_strtod = no; then HAVE_STRTOD=0 REPLACE_STRTOD=1 gl_PREREQ_STRTOD else AC_CACHE_CHECK([whether strtod obeys C99], [gl_cv_func_strtod_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include /* Compare two numbers with ==. This is a separate function because IRIX 6.5 "cc -O" miscompiles an 'x == x' test. */ static int numeric_equal (double x, double y) { return x == y; } ]], [[ { /* Older glibc and Cygwin mis-parse "-0x". */ const char *string = "-0x"; char *term; double value = strtod (string, &term); double zero = 0.0; if (1.0 / value != -1.0 / zero || term != (string + 2)) return 1; } { /* Many platforms do not parse hex floats. */ const char *string = "0XaP+1"; char *term; double value = strtod (string, &term); if (value != 20.0 || term != (string + 6)) return 1; } { /* Many platforms do not parse infinities. */ const char *string = "inf"; char *term; double value = strtod (string, &term); if (value != HUGE_VAL || term != (string + 3)) return 1; } { /* glibc 2.7 and cygwin 1.5.24 misparse "nan()". */ const char *string = "nan()"; char *term; double value = strtod (string, &term); if (numeric_equal (value, value) || term != (string + 5)) return 1; } ]])], [gl_cv_func_strtod_works=yes], [gl_cv_func_strtod_works=no], [gl_cv_func_strtod_works="guessing no"])]) if test "$gl_cv_func_strtod_works" != yes; then REPLACE_STRTOD=1 gl_PREREQ_STRTOD dnl Use undocumented macro to set POW_LIB correctly. _AC_LIBOBJ_STRTOD fi fi ]) # Prerequisites of lib/strtod.c. # The need for pow() is already handled by AC_FUNC_STRTOD. AC_DEFUN([gl_PREREQ_STRTOD], [:]) dc3dd-7.1.614/m4/base64.m40000644000175000017500000000070511022023316014275 0ustar amedicoamedico# base64.m4 serial 3 dnl Copyright (C) 2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_BASE64], [ gl_PREREQ_BASE64 ]) # Prerequisites of lib/base64.c. AC_DEFUN([gl_PREREQ_BASE64], [ AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_C_RESTRICT]) ]) dc3dd-7.1.614/m4/memcasecmp.m40000644000175000017500000000050211022023316015316 0ustar amedicoamedico#serial 5 dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MEMCASECMP], [ AC_LIBOBJ([memcasecmp]) ]) dc3dd-7.1.614/m4/strcspn.m40000644000175000017500000000073311022023316014706 0ustar amedicoamedico# strcspn.m4 serial 2 dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRCSPN], [ AC_REPLACE_FUNCS(strcspn) if test $ac_cv_func_strcspn = no; then gl_PREREQ_STRCSPN fi ]) # Prerequisites of lib/strcspn.c. AC_DEFUN([gl_PREREQ_STRCSPN], [:]) dc3dd-7.1.614/m4/strnlen.m40000644000175000017500000000200011022023316014664 0ustar amedicoamedico# strnlen.m4 serial 9 dnl Copyright (C) 2002-2003, 2005-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRNLEN], [ dnl Persuade glibc to declare strnlen(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([strnlen]) if test $ac_cv_have_decl_strnlen = no; then HAVE_DECL_STRNLEN=0 fi AC_FUNC_STRNLEN if test $ac_cv_func_strnlen_working = no; then # This is necessary because automake-1.6.1 doesn't understand # that the above use of AC_FUNC_STRNLEN means we may have to use # lib/strnlen.c. #AC_LIBOBJ(strnlen) AC_DEFINE(strnlen, rpl_strnlen, [Define to rpl_strnlen if the replacement function should be used.]) gl_PREREQ_STRNLEN fi ]) # Prerequisites of lib/strnlen.c. AC_DEFUN([gl_PREREQ_STRNLEN], [:]) dc3dd-7.1.614/m4/inline.m40000644000175000017500000000313711022023316014471 0ustar amedicoamedico# inline.m4 serial 3 dnl Copyright (C) 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Test for the 'inline' keyword or equivalent. dnl Define 'inline' to a supported equivalent, or to nothing if not supported, dnl like AC_C_INLINE does. Also, define HAVE_INLINE if 'inline' or an dnl equivalent is effectively supported, i.e. if the compiler is likely to dnl drop unused 'static inline' functions. AC_DEFUN([gl_INLINE], [ AC_REQUIRE([AC_C_INLINE]) AC_CACHE_CHECK([whether the compiler generally respects inline], [gl_cv_c_inline_effective], [if test $ac_cv_c_inline = no; then gl_cv_c_inline_effective=no else dnl GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is dnl specified. dnl Use AC_COMPILE_IFELSE here, not AC_EGREP_CPP, because the result dnl depends on optimization flags, which can be in CFLAGS. dnl (AC_EGREP_CPP looks only at the CPPFLAGS.) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[#ifdef __NO_INLINE__ #error "inline is not effective" #endif]])], [gl_cv_c_inline_effective=yes], [gl_cv_c_inline_effective=no]) fi ]) if test $gl_cv_c_inline_effective = yes; then AC_DEFINE([HAVE_INLINE], 1, [Define to 1 if the compiler supports one of the keywords 'inline', '__inline__', '__inline' and effectively inlines functions marked as such.]) fi ]) dc3dd-7.1.614/m4/mkstemp.m40000644000175000017500000000315411022023316014672 0ustar amedicoamedico#serial 17 # Copyright (C) 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a # silly limit that it can create no more than 26 files from a given template. # Other systems lack mkstemp altogether. # On OSF1/Tru64 V4.0F, the system-provided mkstemp function can create # only 32 files per process. # On systems like the above, arrange to use the replacement function. AC_DEFUN([gl_FUNC_MKSTEMP], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_REQUIRE([AC_SYS_LARGEFILE]) AC_CACHE_CHECK([for working mkstemp], [gl_cv_func_working_mkstemp], [ mkdir conftest.mkstemp AC_RUN_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT], [[int i; off_t large = (off_t) 4294967295u; if (large < 0) large = 2147483647; for (i = 0; i < 70; i++) { char templ[] = "conftest.mkstemp/coXXXXXX"; int (*mkstemp_function) (char *) = mkstemp; int fd = mkstemp_function (templ); if (fd < 0 || lseek (fd, large, SEEK_SET) != large) return 1; close (fd); } return 0;]])], [gl_cv_func_working_mkstemp=yes], [gl_cv_func_working_mkstemp=no], [gl_cv_func_working_mkstemp=no]) rm -rf conftest.mkstemp ]) if test $gl_cv_func_working_mkstemp != yes; then REPLACE_MKSTEMP=1 AC_LIBOBJ([mkstemp]) gl_PREREQ_MKSTEMP fi ]) # Prerequisites of lib/mkstemp.c. AC_DEFUN([gl_PREREQ_MKSTEMP], [ ]) dc3dd-7.1.614/m4/filenamecat.m40000644000175000017500000000066511022023316015466 0ustar amedicoamedico# filenamecat.m4 serial 8 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FILE_NAME_CONCAT], [ AC_LIBOBJ([filenamecat]) dnl Prerequisites of lib/filenamecat.c. AC_CHECK_FUNCS_ONCE(mempcpy) ]) dc3dd-7.1.614/m4/malloca.m40000644000175000017500000000106211022023316014616 0ustar amedicoamedico# malloca.m4 serial 1 dnl Copyright (C) 2003-2004, 2006-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MALLOCA], [ dnl Use the autoconf tests for alloca(), but not the AC_SUBSTed variables dnl @ALLOCA@ and @LTALLOCA@. dnl gl_FUNC_ALLOCA dnl Already brought in by the module dependencies. AC_REQUIRE([gl_EEMALLOC]) AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) ]) dc3dd-7.1.614/m4/argmatch.m40000644000175000017500000000047611022023316015004 0ustar amedicoamedico#serial 3 dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_ARGMATCH], [ AC_LIBOBJ([argmatch]) ]) dc3dd-7.1.614/m4/stdarg.m40000644000175000017500000000506111064230667014514 0ustar amedicoamedico# stdarg.m4 serial 2 dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Provide a working va_copy in combination with . AC_DEFUN([gl_STDARG_H], [ STDARG_H=''; AC_SUBST([STDARG_H]) NEXT_STDARG_H=''; AC_SUBST([NEXT_STDARG_H]) AC_MSG_CHECKING([for va_copy]) AC_CACHE_VAL([gl_cv_func_va_copy], [ AC_TRY_COMPILE([#include ], [ #ifndef va_copy void (*func) (va_list, va_list) = va_copy; #endif ], [gl_cv_func_va_copy=yes], [gl_cv_func_va_copy=no])]) AC_MSG_RESULT([$gl_cv_func_va_copy]) if test $gl_cv_func_va_copy = no; then dnl Provide a substitute. dnl Usually a simple definition in is enough. Not so on AIX 5 dnl with some versions of the /usr/vac/bin/cc compiler. It has an dnl which does '#undef va_copy', leading to a missing va_copy symbol. For dnl this platform, we use an substitute. But we cannot use this dnl approach on other platforms, because often defines only dnl preprocessor macros and gl_ABSOLUTE_HEADER, gl_CHECK_NEXT_HEADERS do dnl not work in this situation. AC_EGREP_CPP([vaccine], [#if defined _AIX && !defined __GNUC__ AIX vaccine #endif ], [gl_aixcc=yes], [gl_aixcc=no]) if test $gl_aixcc = yes; then dnl Provide a substitute file. STDARG_H=stdarg.h gl_CHECK_NEXT_HEADERS([stdarg.h]) dnl Fallback for the case when contains only macro definitions. if test "$gl_cv_next_stdarg_h" = '""'; then gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' NEXT_STDARG_H="$gl_cv_next_stdarg_h" fi else dnl Provide a substitute in , either __va_copy or as a simple dnl assignment. AC_CACHE_VAL([gl_cv_func___va_copy], [ AC_TRY_COMPILE([#include ], [ #ifndef __va_copy error, bail out #endif ], [gl_cv_func___va_copy=yes], [gl_cv_func___va_copy=no])]) if test $gl_cv_func___va_copy = yes; then AC_DEFINE([va_copy], [__va_copy], [Define as a macro for copying va_list variables.]) else AH_VERBATIM([gl_VA_COPY], [/* A replacement for va_copy, if needed. */ #define gl_va_copy(a,b) ((a) = (b))]) AC_DEFINE([va_copy], [gl_va_copy], [Define as a macro for copying va_list variables.]) fi fi fi ]) dc3dd-7.1.614/m4/signbit.m40000644000175000017500000002110311064230667014662 0ustar amedicoamedico# signbit.m4 serial 3 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SIGNBIT], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) AC_CACHE_CHECK([for signbit macro], [gl_cv_func_signbit], [ AC_TRY_RUN([ #include /* If signbit is defined as a function, don't use it, since calling it for 'float' or 'long double' arguments would involve conversions. If signbit is not declared at all but exists as a library function, don't use it, since the prototype may not match. If signbit is not declared at all but exists as a compiler built-in, don't use it, since it's preferable to use __builtin_signbit* (no warnings, no conversions). */ #ifndef signbit # error "signbit should be a macro" #endif #include ]gl_SIGNBIT_TEST_PROGRAM , [gl_cv_func_signbit=yes], [gl_cv_func_signbit=no], [gl_cv_func_signbit="guessing no"]) ]) dnl GCC 4.0 and newer provides three built-ins for signbit. dnl They can be used without warnings, also in C++, regardless of . dnl But they may expand to calls to functions, which may or may not be in dnl libc. AC_CACHE_CHECK([for signbit compiler built-ins], [gl_cv_func_signbit_gcc], [ AC_TRY_RUN([ #if __GNUC__ >= 4 # define signbit(x) \ (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ __builtin_signbitf (x)) #else # error "signbit should be three compiler built-ins" #endif #include ]gl_SIGNBIT_TEST_PROGRAM , [gl_cv_func_signbit_gcc=yes], [gl_cv_func_signbit_gcc=no], [gl_cv_func_signbit_gcc="guessing no"]) ]) dnl Use the compiler built-ins whenever possible, because they are more dnl efficient than the system library functions (if they exist). if test "$gl_cv_func_signbit_gcc" = yes; then REPLACE_SIGNBIT_USING_GCC=1 else if test "$gl_cv_func_signbit" != yes; then REPLACE_SIGNBIT=1 AC_LIBOBJ([signbitf]) AC_LIBOBJ([signbitd]) AC_LIBOBJ([signbitl]) gl_FLOAT_SIGN_LOCATION gl_DOUBLE_SIGN_LOCATION gl_LONG_DOUBLE_SIGN_LOCATION if test "$gl_cv_cc_float_signbit" = unknown; then dnl Test whether copysignf() is declared. AC_CHECK_DECLS([copysignf], , , [#include ]) if test "$ac_cv_have_decl_copysignf" = yes; then dnl Test whether copysignf() can be used without libm. AC_CACHE_CHECK([whether copysignf can be used without linking with libm], [gl_cv_func_copysignf_no_libm], [ AC_TRY_LINK([#include float x, y;], [return copysignf (x, y) < 0;], [gl_cv_func_copysignf_no_libm=yes], [gl_cv_func_copysignf_no_libm=no]) ]) if test $gl_cv_func_copysignf_no_libm = yes; then AC_DEFINE([HAVE_COPYSIGNF_IN_LIBC], 1, [Define if the copysignf function is declared in and available in libc.]) fi fi fi if test "$gl_cv_cc_double_signbit" = unknown; then dnl Test whether copysign() is declared. AC_CHECK_DECLS([copysign], , , [#include ]) if test "$ac_cv_have_decl_copysign" = yes; then dnl Test whether copysign() can be used without libm. AC_CACHE_CHECK([whether copysign can be used without linking with libm], [gl_cv_func_copysign_no_libm], [ AC_TRY_LINK([#include double x, y;], [return copysign (x, y) < 0;], [gl_cv_func_copysign_no_libm=yes], [gl_cv_func_copysign_no_libm=no]) ]) if test $gl_cv_func_copysign_no_libm = yes; then AC_DEFINE([HAVE_COPYSIGN_IN_LIBC], 1, [Define if the copysign function is declared in and available in libc.]) fi fi fi if test "$gl_cv_cc_long_double_signbit" = unknown; then dnl Test whether copysignl() is declared. AC_CHECK_DECLS([copysignl], , , [#include ]) if test "$ac_cv_have_decl_copysignl" = yes; then dnl Test whether copysignl() can be used without libm. AC_CACHE_CHECK([whether copysignl can be used without linking with libm], [gl_cv_func_copysignl_no_libm], [ AC_TRY_LINK([#include long double x, y;], [return copysignl (x, y) < 0;], [gl_cv_func_copysignl_no_libm=yes], [gl_cv_func_copysignl_no_libm=no]) ]) if test $gl_cv_func_copysignl_no_libm = yes; then AC_DEFINE([HAVE_COPYSIGNL_IN_LIBC], 1, [Define if the copysignl function is declared in and available in libc.]) fi fi fi fi fi ]) AC_DEFUN([gl_SIGNBIT_TEST_PROGRAM], [ float p0f = 0.0f; float m0f = -0.0f; double p0d = 0.0; double m0d = -0.0; long double p0l = 0.0L; long double m0l = -0.0L; int main () { { float plus_inf = 1.0f / p0f; float minus_inf = -1.0f / p0f; if (!(!signbit (255.0f) && signbit (-255.0f) && !signbit (p0f) && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f)) && !signbit (plus_inf) && signbit (minus_inf))) return 1; } { double plus_inf = 1.0 / p0d; double minus_inf = -1.0 / p0d; if (!(!signbit (255.0) && signbit (-255.0) && !signbit (p0d) && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d)) && !signbit (plus_inf) && signbit (minus_inf))) return 1; } { long double plus_inf = 1.0L / p0l; long double minus_inf = -1.0L / p0l; if (!(!signbit (255.0L) && signbit (-255.0L) && !signbit (p0l) && (memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l)) && !signbit (plus_inf) && signbit (minus_inf))) return 1; } return 0; } ]) AC_DEFUN([gl_FLOAT_SIGN_LOCATION], [ gl_FLOATTYPE_SIGN_LOCATION([float], [gl_cv_cc_float_signbit], [f], [FLT]) ]) AC_DEFUN([gl_DOUBLE_SIGN_LOCATION], [ gl_FLOATTYPE_SIGN_LOCATION([double], [gl_cv_cc_double_signbit], [], [DBL]) ]) AC_DEFUN([gl_LONG_DOUBLE_SIGN_LOCATION], [ gl_FLOATTYPE_SIGN_LOCATION([long double], [gl_cv_cc_long_double_signbit], [L], [LDBL]) ]) AC_DEFUN([gl_FLOATTYPE_SIGN_LOCATION], [ AC_CACHE_CHECK([where to find the sign bit in a '$1'], [$2], [ AC_TRY_RUN([ #include #include #define NWORDS \ ((sizeof ($1) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { $1 value; unsigned int word[NWORDS]; } memory_float; static memory_float plus = { 1.0$3 }; static memory_float minus = { -1.0$3 }; int main () { size_t j, k, i; unsigned int m; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; /* Find the different bit. */ k = 0; m = 0; for (j = 0; j < NWORDS; j++) { unsigned int x = plus.word[j] ^ minus.word[j]; if ((x & (x - 1)) || (x && m)) { /* More than one bit difference. */ fprintf (fp, "unknown"); return 1; } if (x) { k = j; m = x; } } if (m == 0) { /* No difference. */ fprintf (fp, "unknown"); return 1; } /* Now m = plus.word[k] ^ ~minus.word[k]. */ if (plus.word[k] & ~minus.word[k]) { /* Oh? The sign bit is set in the positive and cleared in the negative numbers? */ fprintf (fp, "unknown"); return 1; } for (i = 0; ; i++) if ((m >> i) & 1) break; fprintf (fp, "word %d bit %d", (int) k, (int) i); return (fclose (fp) != 0); } ], [$2=`cat conftest.out`], [$2="unknown"], [ dnl When cross-compiling, we don't know. It depends on the dnl ABI and compiler version. There are too many cases. $2="unknown" ]) rm -f conftest.out ]) case "$]$2[" in word*bit*) word=`echo "$]$2[" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$]$2[" | sed -e 's/word.*bit //'` AC_DEFINE_UNQUOTED([$4][_SIGNBIT_WORD], [$word], [Define as the word index where to find the sign of '$1'.]) AC_DEFINE_UNQUOTED([$4][_SIGNBIT_BIT], [$bit], [Define as the bit index in the word where to find the sign of '$1'.]) ;; esac ]) dc3dd-7.1.614/m4/frexpl.m40000644000175000017500000001336511064230667014536 0ustar amedicoamedico# frexpl.m4 serial 8 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FREXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) FREXPL_LIBM= AC_CACHE_CHECK([whether frexpl() can be used without linking with libm], [gl_cv_func_frexpl_no_libm], [ AC_TRY_LINK([#include long double x;], [int e; return frexpl (x, &e) > 0;], [gl_cv_func_frexpl_no_libm=yes], [gl_cv_func_frexpl_no_libm=no]) ]) if test $gl_cv_func_frexpl_no_libm = no; then AC_CACHE_CHECK([whether frexpl() can be used with libm], [gl_cv_func_frexpl_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_TRY_LINK([#include long double x;], [int e; return frexpl (x, &e) > 0;], [gl_cv_func_frexpl_in_libm=yes], [gl_cv_func_frexpl_in_libm=no]) LIBS="$save_LIBS" ]) if test $gl_cv_func_frexpl_in_libm = yes; then FREXPL_LIBM=-lm fi fi if test $gl_cv_func_frexpl_no_libm = yes \ || test $gl_cv_func_frexpl_in_libm = yes; then save_LIBS="$LIBS" LIBS="$LIBS $FREXPL_LIBM" gl_FUNC_FREXPL_WORKS LIBS="$save_LIBS" case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl=yes ;; *) gl_func_frexpl=no; REPLACE_FREXPL=1; FREXPL_LIBM= ;; esac else gl_func_frexpl=no fi if test $gl_func_frexpl = yes; then AC_DEFINE([HAVE_FREXPL], 1, [Define if the frexpl() function is available.]) dnl Also check whether it's declared. dnl MacOS X 10.3 has frexpl() in libc but doesn't declare it in . AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include ]) else HAVE_DECL_FREXPL=0 AC_LIBOBJ([frexpl]) fi AC_SUBST([FREXPL_LIBM]) ]) AC_DEFUN([gl_FUNC_FREXPL_NO_LIBM], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) AC_CACHE_CHECK([whether frexpl() can be used without linking with libm], [gl_cv_func_frexpl_no_libm], [ AC_TRY_LINK([#include long double x;], [int e; return frexpl (x, &e) > 0;], [gl_cv_func_frexpl_no_libm=yes], [gl_cv_func_frexpl_no_libm=no]) ]) if test $gl_cv_func_frexpl_no_libm = yes; then gl_FUNC_FREXPL_WORKS case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl_no_libm=yes ;; *) gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;; esac else gl_func_frexpl_no_libm=no dnl Set REPLACE_FREXPL here because the system may have frexpl in libm. REPLACE_FREXPL=1 fi if test $gl_func_frexpl_no_libm = yes; then AC_DEFINE([HAVE_FREXPL_IN_LIBC], 1, [Define if the frexpl() function is available in libc.]) dnl Also check whether it's declared. dnl MacOS X 10.3 has frexpl() in libc but doesn't declare it in . AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include ]) else HAVE_DECL_FREXPL=0 AC_LIBOBJ([frexpl]) fi ]) dnl Test whether frexpl() works on finite numbers (this fails on dnl MacOS X 10.4/PowerPC, on AIX 5.1, and on BeOS), on denormalized numbers dnl (this fails on MacOS X 10.5/i386), and also on infinite numbers (this dnl fails e.g. on IRIX 6.5 and mingw). AC_DEFUN([gl_FUNC_FREXPL_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether frexpl works], [gl_cv_func_frexpl_works], [ AC_TRY_RUN([ #include #include /* Override the values of , like done in float.in.h. */ #if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) #endif extern long double frexpl (long double, int *); int main() { volatile long double x; /* Test on finite numbers that fails on AIX 5.1. */ x = 16.0L; { int exp = -9999; frexpl (x, &exp); if (exp != 5) return 1; } /* Test on finite numbers that fails on MacOS X 10.4, because its frexpl function returns an invalid (incorrectly normalized) value: it returns y = { 0x3fe028f5, 0xc28f5c28, 0x3c9eb851, 0xeb851eb8 } but the correct result is 0.505L = { 0x3fe028f5, 0xc28f5c29, 0xbc547ae1, 0x47ae1480 } */ x = 1.01L; { int exp = -9999; long double y = frexpl (x, &exp); if (!(exp == 1 && y == 0.505L)) return 1; } /* Test on large finite numbers. This fails on BeOS at i = 16322, while LDBL_MAX_EXP = 16384. In the loop end test, we test x against Infinity, rather than comparing i with LDBL_MAX_EXP, because BeOS has a wrong LDBL_MAX_EXP. */ { int i; for (i = 1, x = 1.0L; x != x + x; i++, x *= 2.0L) { int exp = -9999; frexpl (x, &exp); if (exp != i) return 1; } } /* Test on denormalized numbers. */ { int i; for (i = 1, x = 1.0L; i >= LDBL_MIN_EXP; i--, x *= 0.5L) ; if (x > 0.0L) { int exp; long double y = frexpl (x, &exp); /* On machines with IEEE854 arithmetic: x = 1.68105e-4932, exp = -16382, y = 0.5. On MacOS X 10.5: exp = -16384, y = 0.5. */ if (exp != LDBL_MIN_EXP - 1) return 1; } } /* Test on infinite numbers. */ x = 1.0L / 0.0L; { int exp; long double y = frexpl (x, &exp); if (y != x) return 1; } return 0; }], [gl_cv_func_frexpl_works=yes], [gl_cv_func_frexpl_works=no], [case "$host_os" in aix* | beos* | darwin* | irix* | mingw* | pw*) gl_cv_func_frexpl_works="guessing no";; *) gl_cv_func_frexpl_works="guessing yes";; esac ]) ]) ]) dc3dd-7.1.614/m4/root-dev-ino.m40000644000175000017500000000057511022023316015540 0ustar amedicoamedico#serial 3 dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_ROOT_DEV_INO], [ AC_LIBOBJ([root-dev-ino]) dnl Prerequisites AC_REQUIRE([AC_FUNC_LSTAT]) : ]) dc3dd-7.1.614/m4/snprintf.m40000644000175000017500000000203411064230667015070 0ustar amedicoamedico# snprintf.m4 serial 5 dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SNPRINTF], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_cv_func_snprintf_usable=no AC_CHECK_FUNCS([snprintf]) if test $ac_cv_func_snprintf = yes; then gl_SNPRINTF_SIZE1 case "$gl_cv_func_snprintf_size1" in *yes) gl_cv_func_snprintf_usable=yes ;; esac fi if test $gl_cv_func_snprintf_usable = no; then gl_REPLACE_SNPRINTF fi AC_CHECK_DECLS_ONCE([snprintf]) if test $ac_cv_have_decl_snprintf = no; then HAVE_DECL_SNPRINTF=0 fi ]) AC_DEFUN([gl_REPLACE_SNPRINTF], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_LIBOBJ([snprintf]) if test $ac_cv_func_snprintf = yes; then REPLACE_SNPRINTF=1 fi gl_PREREQ_SNPRINTF ]) # Prerequisites of lib/snprintf.c. AC_DEFUN([gl_PREREQ_SNPRINTF], [:]) dc3dd-7.1.614/m4/calloc.m40000644000175000017500000000420311064230667014462 0ustar amedicoamedico# calloc.m4 serial 8 # Copyright (C) 2004-2008 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. # Determine whether calloc (N, S) returns non-NULL when N*S is zero, # and returns NULL when N*S overflows. # If so, define HAVE_CALLOC. Otherwise, define calloc to rpl_calloc # and arrange to use a calloc wrapper function that does work in that case. # _AC_FUNC_CALLOC_IF(IF-WORKS, IF-NOT) # ------------------------------------- # If `calloc (0, 0)' is properly handled, run IF-WORKS, otherwise, IF-NOT. AC_DEFUN([_AC_FUNC_CALLOC_IF], [AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_CACHE_CHECK([for GNU libc compatible calloc], ac_cv_func_calloc_0_nonnull, [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], [[exit (!calloc (0, 0) || calloc ((size_t) -1 / 8 + 1, 8));]])], [ac_cv_func_calloc_0_nonnull=yes], [ac_cv_func_calloc_0_nonnull=no], [ac_cv_func_calloc_0_nonnull=no])]) AS_IF([test $ac_cv_func_calloc_0_nonnull = yes], [$1], [$2]) ])# AC_FUNC_CALLOC # AC_FUNC_CALLOC # --------------- # Report whether `calloc (0, 0)' is properly handled, and replace calloc if # needed. AC_DEFUN([AC_FUNC_CALLOC], [_AC_FUNC_CALLOC_IF( [AC_DEFINE([HAVE_CALLOC], 1, [Define to 1 if your system has a GNU libc compatible `calloc' function, and to 0 otherwise.])], [AC_DEFINE([HAVE_CALLOC], 0) AC_LIBOBJ([calloc]) AC_DEFINE([calloc], [rpl_calloc], [Define to rpl_calloc if the replacement function should be used.])]) ])# AC_FUNC_CALLOC # gl_FUNC_CALLOC_POSIX # -------------------- # Test whether 'calloc' is POSIX compliant (sets errno to ENOMEM when it # fails), and replace calloc if it is not. AC_DEFUN([gl_FUNC_CALLOC_POSIX], [ AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) if test $gl_cv_func_malloc_posix = yes; then HAVE_CALLOC_POSIX=1 AC_DEFINE([HAVE_CALLOC_POSIX], 1, [Define if the 'calloc' function is POSIX compliant.]) else AC_LIBOBJ([calloc]) HAVE_CALLOC_POSIX=0 fi AC_SUBST([HAVE_CALLOC_POSIX]) ]) dc3dd-7.1.614/m4/getloadavg.m40000644000175000017500000001244111064230667015345 0ustar amedicoamedico# Check for getloadavg. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2003, # 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Autoconf defines AC_FUNC_GETLOADAVG, but that is obsolescent. # New applications should use gl_GETLOADAVG instead. # gl_GETLOADAVG(LIBOBJDIR) # ------------------------ AC_DEFUN([gl_GETLOADAVG], [gl_have_func=no # yes means we've found a way to get the load average. # Make sure getloadavg.c is where it belongs, at configure-time. test -f "$srcdir/$1/getloadavg.c" || AC_MSG_ERROR([$srcdir/$1/getloadavg.c is missing]) gl_save_LIBS=$LIBS # Check for getloadavg, but be sure not to touch the cache variable. (AC_CHECK_FUNC(getloadavg, exit 0, exit 1)) && gl_have_func=yes # On HPUX9, an unprivileged user can get load averages through this function. AC_CHECK_FUNCS(pstat_getdynamic) # Solaris has libkstat which does not require root. AC_CHECK_LIB(kstat, kstat_open) test $ac_cv_lib_kstat_kstat_open = yes && gl_have_func=yes # AIX has libperfstat which does not require root AC_CHECK_LIB(perfstat, perfstat_cpu_total) test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_have_func=yes # Some systems with -lutil have (and need) -lkvm as well, some do not. # On Solaris, -lkvm requires nlist from -lelf, so check that first # to get the right answer into the cache. # For kstat on solaris, we need libelf to force the definition of SVR4 below. if test $gl_have_func = no; then AC_CHECK_LIB(elf, elf_begin, LIBS="-lelf $LIBS") fi if test $gl_have_func = no; then AC_CHECK_LIB(kvm, kvm_open, LIBS="-lkvm $LIBS") # Check for the 4.4BSD definition of getloadavg. AC_CHECK_LIB(util, getloadavg, [LIBS="-lutil $LIBS" gl_have_func=yes gl_cv_func_getloadavg_setgid=yes]) fi if test $gl_have_func = no; then # There is a commonly available library for RS/6000 AIX. # Since it is not a standard part of AIX, it might be installed locally. gl_getloadavg_LIBS=$LIBS LIBS="-L/usr/local/lib $LIBS" AC_CHECK_LIB(getloadavg, getloadavg, [LIBS="-lgetloadavg $LIBS"], [LIBS=$gl_getloadavg_LIBS]) fi # Make sure it is really in the library, if we think we found it, # otherwise set up the replacement function. AC_CHECK_FUNCS(getloadavg, [], [gl_PREREQ_GETLOADAVG]) # Some definitions of getloadavg require that the program be installed setgid. AC_CACHE_CHECK(whether getloadavg requires setgid, gl_cv_func_getloadavg_setgid, [AC_EGREP_CPP([Yowza Am I SETGID yet], [#define CONFIGURING_GETLOADAVG #include "$srcdir/$1/getloadavg.c" #ifdef LDAV_PRIVILEGED Yowza Am I SETGID yet #endif ], gl_cv_func_getloadavg_setgid=yes, gl_cv_func_getloadavg_setgid=no)]) if test $gl_cv_func_getloadavg_setgid = yes; then NEED_SETGID=true AC_DEFINE(GETLOADAVG_PRIVILEGED, 1, [Define to 1 if the `getloadavg' function needs to be run setuid or setgid.]) else NEED_SETGID=false fi AC_SUBST(NEED_SETGID)dnl if test $gl_cv_func_getloadavg_setgid = yes; then AC_CACHE_CHECK(group of /dev/kmem, gl_cv_group_kmem, [ # On Solaris, /dev/kmem is a symlink. Get info on the real file. ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null` # If we got an error (system does not support symlinks), try without -L. test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem` gl_cv_group_kmem=`echo $ac_ls_output \ | sed -ne ['s/[ ][ ]*/ /g s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/ / /s/.* //;p']` ]) AC_SUBST(KMEM_GROUP, $gl_cv_group_kmem)dnl fi if test "x$gl_save_LIBS" = x; then GETLOADAVG_LIBS=$LIBS else GETLOADAVG_LIBS=`echo "$LIBS" | sed "s!$gl_save_LIBS!!"` fi LIBS=$gl_save_LIBS AC_SUBST(GETLOADAVG_LIBS)dnl ])# gl_GETLOADAVG # gl_PREREQ_GETLOADAVG # -------------------- # Set up the AC_LIBOBJ replacement of `getloadavg'. AC_DEFUN([gl_PREREQ_GETLOADAVG], [AC_LIBOBJ(getloadavg) AC_DEFINE(C_GETLOADAVG, 1, [Define to 1 if using `getloadavg.c'.]) # Figure out what our getloadavg.c needs. gl_have_func=no AC_CHECK_HEADER(sys/dg_sys_info.h, [gl_have_func=yes AC_DEFINE(DGUX, 1, [Define to 1 for DGUX with .]) AC_CHECK_LIB(dgc, dg_sys_info)]) # We cannot check for , because Solaris 2 does not use dwarf (it # uses stabs), but it is still SVR4. We cannot check for because # Irix 4.0.5F has the header but not the library. if test $gl_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes; then gl_have_func=yes AC_DEFINE(SVR4, 1, [Define to 1 on System V Release 4.]) fi if test $gl_have_func = no; then AC_CHECK_HEADER(inq_stats/cpustats.h, [gl_have_func=yes AC_DEFINE(UMAX, 1, [Define to 1 for Encore UMAX.]) AC_DEFINE(UMAX4_3, 1, [Define to 1 for Encore UMAX 4.3 that has instead of .])]) fi if test $gl_have_func = no; then AC_CHECK_HEADER(sys/cpustats.h, [gl_have_func=yes; AC_DEFINE(UMAX)]) fi if test $gl_have_func = no; then AC_CHECK_HEADERS(mach/mach.h) fi AC_CHECK_HEADERS(nlist.h, [AC_CHECK_MEMBERS([struct nlist.n_un.n_name], [AC_DEFINE(NLIST_NAME_UNION, 1, [Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend on `HAVE_STRUCT_NLIST_N_UN_N_NAME])], [], [@%:@include ]) ])dnl ])# gl_PREREQ_GETLOADAVG dc3dd-7.1.614/m4/strftime.m40000644000175000017500000000156311022023316015051 0ustar amedicoamedico#serial 29 # Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, # 2006, 2007 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Jim Meyering and Paul Eggert. AC_DEFUN([gl_FUNC_GNU_STRFTIME], [ gl_FUNC_STRFTIME ]) # These are the prerequisite macros for GNU's strftime.c replacement. AC_DEFUN([gl_FUNC_STRFTIME], [ AC_LIBOBJ([strftime]) # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. AC_REQUIRE([AC_STRUCT_TIMEZONE]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_REQUIRE([gl_TM_GMTOFF]) AC_CHECK_FUNCS_ONCE(mblen mbrlen mempcpy tzset) AC_CHECK_HEADERS_ONCE(wchar.h) AC_DEFINE([my_strftime], [nstrftime], [Define to the name of the strftime replacement function.]) ]) dc3dd-7.1.614/m4/gnulib-common.m40000644000175000017500000000666611064230667016012 0ustar amedicoamedico# gnulib-common.m4 serial 5 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # gl_COMMON # is expanded unconditionally through gnulib-tool magic. AC_DEFUN([gl_COMMON], [ dnl Use AC_REQUIRE here, so that the code is expanded once only. AC_REQUIRE([gl_COMMON_BODY]) ]) AC_DEFUN([gl_COMMON_BODY], [ AH_VERBATIM([isoc99_inline], [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. __APPLE__ && __MACH__ test for MacOS X. __APPLE_CC__ tests for the Apple compiler and its version. __STDC_VERSION__ tests for the C99 mode. */ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif]) ]) # gl_MODULE_INDICATOR([modulename]) # defines a C macro indicating the presence of the given module. AC_DEFUN([gl_MODULE_INDICATOR], [ AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], [Define to 1 when using the gnulib module ]$1[.]) ]) # m4_foreach_w # is a backport of autoconf-2.59c's m4_foreach_w. # Remove this macro when we can assume autoconf >= 2.60. m4_ifndef([m4_foreach_w], [m4_define([m4_foreach_w], [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) # AC_PROG_MKDIR_P # is a backport of autoconf-2.60's AC_PROG_MKDIR_P. # Remove this macro when we can assume autoconf >= 2.60. m4_ifdef([AC_PROG_MKDIR_P], [], [ AC_DEFUN([AC_PROG_MKDIR_P], [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake MKDIR_P='$(mkdir_p)' AC_SUBST([MKDIR_P])])]) # AC_C_RESTRICT # This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, # so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ # works. # This definition can be removed once autoconf >= 2.62 can be assumed. AC_DEFUN([AC_C_RESTRICT], [AC_CACHE_CHECK([for C/C++ restrict keyword], ac_cv_c_restrict, [ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { return ip[0]; }]], [[int s[1]; int * $ac_kw t = s; t[0] = 0; return foo(t)]])], [ac_cv_c_restrict=$ac_kw]) test "$ac_cv_c_restrict" != no && break done ]) AH_VERBATIM([restrict], [/* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict /* Work around a bug in Sun C++: it does not support _Restrict, even though the corresponding Sun C compiler does, which causes "#define restrict _Restrict" in the previous line. Perhaps some future version of Sun C++ will work with _Restrict; if so, it'll probably define __RESTRICT, just as Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict #endif]) case $ac_cv_c_restrict in restrict) ;; no) AC_DEFINE([restrict], []) ;; *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; esac ]) dc3dd-7.1.614/m4/stpncpy.m40000644000175000017500000000446411022023316014717 0ustar amedicoamedico# stpncpy.m4 serial 9 dnl Copyright (C) 2002-2003, 2005-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STPNCPY], [ dnl Persuade glibc to declare stpncpy(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl The stpncpy() declaration in lib/string.in.h uses 'restrict'. AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) dnl Both glibc and AIX (4.3.3, 5.1) have an stpncpy() function dnl declared in . Its side effects are the same as those dnl of strncpy(): dnl stpncpy (dest, src, n) dnl overwrites dest[0..n-1], min(strlen(src),n) bytes coming from src, dnl and the remaining bytes being NULs. However, the return value is dnl in glibc: dest + min(strlen(src),n) dnl in AIX: dest + max(0,n-1) dnl Only the glibc return value is useful in practice. AC_CACHE_CHECK([for working stpncpy], gl_cv_func_stpncpy, [ AC_TRY_RUN([ #include #include /* for strcpy */ /* The stpncpy prototype is missing in on AIX 4. */ extern char *stpncpy (char *dest, const char *src, size_t n); int main () { const char *src = "Hello"; char dest[10]; /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+1 here. */ strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 2) != dest + 2) exit(1); /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+4 here. */ strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 5) != dest + 5) exit(1); /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+6 here. */ strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 7) != dest + 5) exit(1); exit(0); } ], gl_cv_func_stpncpy=yes, gl_cv_func_stpncpy=no, [AC_EGREP_CPP([Thanks for using GNU], [ #include #ifdef __GNU_LIBRARY__ Thanks for using GNU #endif ], gl_cv_func_stpncpy=yes, gl_cv_func_stpncpy=no)])]) if test $gl_cv_func_stpncpy = yes; then AC_DEFINE(HAVE_STPNCPY, 1, [Define if you have the stpncpy() function and it works.]) else HAVE_STPNCPY=0 AC_LIBOBJ([stpncpy]) gl_PREREQ_STPNCPY fi ]) # Prerequisites of lib/stpncpy.c. AC_DEFUN([gl_PREREQ_STPNCPY], [ : ]) dc3dd-7.1.614/m4/wchar_t.m40000644000175000017500000000132611022023316014640 0ustar amedicoamedico# wchar_t.m4 serial 1 (gettext-0.12) dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether has the 'wchar_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WCHAR_T], [ AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, [AC_TRY_COMPILE([#include wchar_t foo = (wchar_t)'\0';], , gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) if test $gt_cv_c_wchar_t = yes; then AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) fi ]) dc3dd-7.1.614/m4/mbsstr.m40000644000175000017500000000065111064230667014542 0ustar amedicoamedico# mbsstr.m4 serial 1 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBSSTR], [ gl_PREREQ_MBSSTR ]) # Prerequisites of lib/mbsstr.c. AC_DEFUN([gl_PREREQ_MBSSTR], [ AC_REQUIRE([gl_FUNC_MBRTOWC]) : ]) dc3dd-7.1.614/m4/mpsort.m40000644000175000017500000000054711022023316014541 0ustar amedicoamedico# Sort a vector of pointers to data. # Copyright (C) 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MPSORT], [ AC_REQUIRE([AC_C_RESTRICT]) AC_LIBOBJ([mpsort]) ]) dc3dd-7.1.614/m4/fpurge.m40000644000175000017500000000064511022023316014504 0ustar amedicoamedico# fpurge.m4 serial 2 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FPURGE], [ AC_CHECK_FUNCS_ONCE([fpurge]) AC_CHECK_FUNCS_ONCE([__fpurge]) AC_CHECK_DECLS([fpurge], , , [#include ]) ]) dc3dd-7.1.614/m4/intmax_t.m40000644000175000017500000000377611022023316015047 0ustar amedicoamedico# intmax_t.m4 serial 6 dnl Copyright (C) 1997-2004, 2006-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. AC_PREREQ(2.13) # Define intmax_t to 'long' or 'long long' # if it is not already defined in or . AC_DEFUN([gl_AC_TYPE_INTMAX_T], [ dnl For simplicity, we assume that a header file defines 'intmax_t' if and dnl only if it defines 'uintmax_t'. AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) test $ac_cv_type_long_long_int = yes \ && ac_type='long long' \ || ac_type='long' AC_DEFINE_UNQUOTED(intmax_t, $ac_type, [Define to long or long long if and don't define.]) else AC_DEFINE(HAVE_INTMAX_T, 1, [Define if you have the 'intmax_t' type in or .]) fi ]) dnl An alternative would be to explicitly test for 'intmax_t'. AC_DEFUN([gt_AC_TYPE_INTMAX_T], [ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, [AC_TRY_COMPILE([ #include #include #if HAVE_STDINT_H_WITH_UINTMAX #include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX #include #endif ], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) if test $gt_cv_c_intmax_t = yes; then AC_DEFINE(HAVE_INTMAX_T, 1, [Define if you have the 'intmax_t' type in or .]) else AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) test $ac_cv_type_long_long_int = yes \ && ac_type='long long' \ || ac_type='long' AC_DEFINE_UNQUOTED(intmax_t, $ac_type, [Define to long or long long if and don't define.]) fi ]) dc3dd-7.1.614/m4/po.m40000644000175000017500000004460611022023316013637 0ustar amedicoamedico# po.m4 serial 15 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" < static long double (*p) (char const *, char **) = strtold; static long double test (char const *nptr, char **endptr) { long double r; r = strtold (nptr, endptr); return r; }]], [[return test ("1.0", NULL) != 1 || p ("1.0", NULL) != 1;]])], [gl_cv_func_c99_strtold=yes], [gl_cv_func_c99_strtold=no])]) if test $gl_cv_func_c99_strtold = yes; then AC_DEFINE([HAVE_C99_STRTOLD], 1, [Define to 1 if strtold conforms to C99.]) fi ]) AC_DEFUN([gl_C_STRTOD], [ AC_LIBOBJ([c-strtod]) dnl Prerequisites of lib/c-strtod.c. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) : ]) AC_DEFUN([gl_C_STRTOLD], [ AC_LIBOBJ([c-strtold]) dnl Prerequisites of lib/c-strtold.c. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_C99_STRTOLD]) : ]) dc3dd-7.1.614/m4/stdio-safer.m40000644000175000017500000000061211022023316015426 0ustar amedicoamedico#serial 10 dnl Copyright (C) 2002, 2005-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FOPEN_SAFER], [ AC_LIBOBJ([fopen-safer]) ]) AC_DEFUN([gl_TMPFILE_SAFER], [ AC_LIBOBJ([tmpfile-safer]) ]) dc3dd-7.1.614/m4/eealloc.m40000644000175000017500000000170411022023316014615 0ustar amedicoamedico# eealloc.m4 serial 1 dnl Copyright (C) 2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_EEALLOC], [ AC_REQUIRE([gl_EEMALLOC]) AC_REQUIRE([gl_EEREALLOC]) AC_REQUIRE([AC_C_INLINE]) ]) AC_DEFUN([gl_EEMALLOC], [ _AC_FUNC_MALLOC_IF( [gl_cv_func_malloc_0_nonnull=1], [gl_cv_func_malloc_0_nonnull=0]) AC_DEFINE_UNQUOTED([MALLOC_0_IS_NONNULL], $gl_cv_func_malloc_0_nonnull, [If malloc(0) is != NULL, define this to 1. Otherwise define this to 0.]) ]) AC_DEFUN([gl_EEREALLOC], [ _AC_FUNC_REALLOC_IF( [gl_cv_func_realloc_0_nonnull=1], [gl_cv_func_realloc_0_nonnull=0]) AC_DEFINE_UNQUOTED([REALLOC_0_IS_NONNULL], $gl_cv_func_realloc_0_nonnull, [If realloc(NULL,0) is != NULL, define this to 1. Otherwise define this to 0.]) ]) dc3dd-7.1.614/m4/memcpy.m40000644000175000017500000000072311022023316014503 0ustar amedicoamedico# memcpy.m4 serial 2 dnl Copyright (C) 2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MEMCPY], [ AC_REPLACE_FUNCS(memcpy) if test $ac_cv_func_memcpy = no; then gl_PREREQ_MEMCPY fi ]) # Prerequisites of lib/memcpy.c. AC_DEFUN([gl_PREREQ_MEMCPY], [ : ]) dc3dd-7.1.614/m4/mbstate_t.m40000644000175000017500000000200211064230667015202 0ustar amedicoamedico# mbstate_t.m4 serial 10 dnl Copyright (C) 2000-2002, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # From Paul Eggert. # BeOS 5 has but does not define mbstate_t, # so you can't declare an object of that type. # Check for this incompatibility with Standard C. # AC_TYPE_MBSTATE_T # ----------------- AC_DEFUN([AC_TYPE_MBSTATE_T], [AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t, [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT[ # include ]], [[mbstate_t x; return sizeof x;]])], [ac_cv_type_mbstate_t=yes], [ac_cv_type_mbstate_t=no])]) if test $ac_cv_type_mbstate_t = yes; then AC_DEFINE([HAVE_MBSTATE_T], 1, [Define to 1 if declares mbstate_t.]) else AC_DEFINE([mbstate_t], int, [Define to a type if does not define.]) fi]) dc3dd-7.1.614/m4/chdir-long.m40000644000175000017500000000231011022023316015231 0ustar amedicoamedico#serial 10 # Use Gnulib's robust chdir function. # It can handle arbitrarily long directory names, which means # that when it is given the name of an existing directory, it # never fails with ENAMETOOLONG. # Arrange to compile chdir-long.c only on systems that define PATH_MAX. dnl Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Written by Jim Meyering. AC_DEFUN([gl_FUNC_CHDIR_LONG], [ AC_CACHE_CHECK([whether this system has an arbitrary file name length limit], gl_cv_have_arbitrary_file_name_length_limit, [AC_EGREP_CPP([have_arbitrary_file_name_length_limit], [#include #include #if defined PATH_MAX || defined MAXPATHLEN have_arbitrary_file_name_length_limit #endif], gl_cv_have_arbitrary_file_name_length_limit=yes, gl_cv_have_arbitrary_file_name_length_limit=no)]) if test $gl_cv_have_arbitrary_file_name_length_limit = yes; then AC_LIBOBJ([chdir-long]) gl_PREREQ_CHDIR_LONG fi ]) AC_DEFUN([gl_PREREQ_CHDIR_LONG], [ : ]) dc3dd-7.1.614/m4/strtoull.m40000644000175000017500000000133411022023316015100 0ustar amedicoamedico# strtoull.m4 serial 4 dnl Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOULL], [ dnl We don't need (and can't compile) the replacement strtoull dnl unless the type 'unsigned long long int' exists. AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) if test "$ac_cv_type_unsigned_long_long_int" = yes; then AC_REPLACE_FUNCS(strtoull) if test $ac_cv_func_strtoull = no; then gl_PREREQ_STRTOULL fi fi ]) # Prerequisites of lib/strtoull.c. AC_DEFUN([gl_PREREQ_STRTOULL], [ : ]) dc3dd-7.1.614/m4/tempname.m40000644000175000017500000000111111022023316015007 0ustar amedicoamedico#serial 3 # Copyright (C) 2006-2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # glibc provides __gen_tempname as a wrapper for mk[ds]temp. Expose # it as a public API, and provide it on systems that are lacking. AC_DEFUN([gl_FUNC_GEN_TEMPNAME], [ AC_REQUIRE([AC_SYS_LARGEFILE]) AC_LIBOBJ([tempname]) gl_PREREQ_TEMPNAME ]) # Prerequisites of lib/tempname.c. AC_DEFUN([gl_PREREQ_TEMPNAME], [ : ]) dc3dd-7.1.614/m4/mbslen.m40000644000175000017500000000065111064230667014510 0ustar amedicoamedico# mbslen.m4 serial 1 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBSLEN], [ gl_PREREQ_MBSLEN ]) # Prerequisites of lib/mbslen.c. AC_DEFUN([gl_PREREQ_MBSLEN], [ AC_REQUIRE([gl_FUNC_MBRTOWC]) : ]) dc3dd-7.1.614/m4/same.m40000644000175000017500000000065711022023316014144 0ustar amedicoamedico#serial 8 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SAME], [ AC_LIBOBJ([same]) dnl Prerequisites of lib/same.c. AC_REQUIRE([AC_SYS_LONG_FILE_NAMES]) AC_CHECK_FUNCS_ONCE([pathconf]) ]) dc3dd-7.1.614/m4/include_next.m40000644000175000017500000000742711064230667015721 0ustar amedicoamedico# include_next.m4 serial 6 dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert and Derek Price. AC_DEFUN([gl_INCLUDE_NEXT], [ AC_LANG_PREPROC_REQUIRE() AC_CACHE_CHECK([whether the preprocessor supports include_next], [gl_cv_have_include_next], [rm -rf conftestd1 conftestd2 mkdir conftestd1 conftestd2 cat < conftestd1/conftest.h #define DEFINED_IN_CONFTESTD1 #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd2/conftest.h #ifndef DEFINED_IN_CONFTESTD1 #error "include_next test doesn't work" #endif #define DEFINED_IN_CONFTESTD2 EOF save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2" AC_COMPILE_IFELSE([#include ], [gl_cv_have_include_next=yes], [gl_cv_have_include_next=no]) CPPFLAGS="$save_CPPFLAGS" rm -rf conftestd1 conftestd2 ]) if test $gl_cv_have_include_next = yes; then dnl FIXME: Remove HAVE_INCLUDE_NEXT and update everything that uses it dnl to use @INCLUDE_NEXT@ instead. AC_DEFINE([HAVE_INCLUDE_NEXT], 1, [Define if your compiler supports the #include_next directive.]) INCLUDE_NEXT=include_next else INCLUDE_NEXT=include fi AC_SUBST([INCLUDE_NEXT]) ]) # gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) # ------------------------------------------ # For each arg foo.h, if #include_next works, define NEXT_FOO_H to be # ''; otherwise define it to be # '"///usr/include/foo.h"', or whatever other absolute file name is suitable. # That way, a header file with the following line: # #@INCLUDE_NEXT@ @NEXT_FOO_H@ # behaves (after sed substitution) as if it contained # #include_next # even if the compiler does not support include_next. # The three "///" are to pacify Sun C 5.8, which otherwise would say # "warning: #include of /usr/include/... may be non-portable". # Use `""', not `<>', so that the /// cannot be confused with a C99 comment. # Note: This macro assumes that the header file is not empty after # preprocessing, i.e. it does not only define preprocessor macros but also # provides some type/enum definitions or function/variable declarations. AC_DEFUN([gl_CHECK_NEXT_HEADERS], [ AC_REQUIRE([gl_INCLUDE_NEXT]) AC_CHECK_HEADERS_ONCE([$1]) m4_foreach_w([gl_HEADER_NAME], [$1], [AS_VAR_PUSHDEF([gl_next_header], [gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME]))) if test $gl_cv_have_include_next = yes; then AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) else AC_CACHE_CHECK( [absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>], m4_quote(m4_defn([gl_next_header])), [AS_VAR_PUSHDEF([gl_header_exists], [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME]))) if test AS_VAR_GET(gl_header_exists) = yes; then AC_LANG_CONFTEST( [AC_LANG_SOURCE( [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] )]) dnl eval is necessary to expand ac_cpp. dnl Ultrix and Pyramid sh refuse to redirect output of eval, dnl so use subshell. AS_VAR_SET([gl_next_header], ['"'`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{ s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1# s#^/[^/]#//&# p q }'`'"']) else AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) fi AS_VAR_POPDEF([gl_header_exists])]) fi AC_SUBST( AS_TR_CPP([NEXT_]m4_quote(m4_defn([gl_HEADER_NAME]))), [AS_VAR_GET([gl_next_header])]) AS_VAR_POPDEF([gl_next_header])]) ]) dc3dd-7.1.614/m4/gettimeofday.m40000644000175000017500000000562711022023316015702 0ustar amedicoamedico#serial 11 # Copyright (C) 2001, 2002, 2003, 2005, 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. AC_DEFUN([gl_FUNC_GETTIMEOFDAY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_SYS_TIME_H]) AC_CHECK_FUNCS_ONCE([gettimeofday]) AC_CACHE_CHECK([for gettimeofday with POSIX signature], [gl_cv_func_gettimeofday_posix_signature], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include struct timeval c; ]], [[ int (*f) (struct timeval *restrict, void *restrict) = gettimeofday; int x = f (&c, 0); return !(x | c.tv_sec | c.tv_usec); ]])], [gl_cv_func_gettimeofday_posix_signature=yes], [gl_cv_func_gettimeofday_posix_signature=no])]) gl_FUNC_GETTIMEOFDAY_CLOBBER if test $gl_cv_func_gettimeofday_posix_signature != yes; then REPLACE_GETTIMEOFDAY=1 SYS_TIME_H=sys/time.h if test $gl_cv_func_gettimeofday_clobber != yes; then AC_LIBOBJ(gettimeofday) gl_PREREQ_GETTIMEOFDAY fi fi ]) dnl See if gettimeofday clobbers the static buffer that localtime uses dnl for its return value. The gettimeofday function from Mac OS X 10.0.4 dnl (i.e., Darwin 1.3.7) has this problem. dnl dnl If it does, then arrange to use gettimeofday and localtime only via dnl the wrapper functions that work around the problem. AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER], [ AC_REQUIRE([gl_HEADER_SYS_TIME_H]) AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer], [gl_cv_func_gettimeofday_clobber], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include #include #include ]], [[ time_t t = 0; struct tm *lt; struct tm saved_lt; struct timeval tv; lt = localtime (&t); saved_lt = *lt; gettimeofday (&tv, NULL); return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; ]])], [gl_cv_func_gettimeofday_clobber=no], [gl_cv_func_gettimeofday_clobber=yes], dnl When crosscompiling, assume it is broken. [gl_cv_func_gettimeofday_clobber=yes])]) if test $gl_cv_func_gettimeofday_clobber = yes; then REPLACE_GETTIMEOFDAY=1 SYS_TIME_H=sys/time.h gl_GETTIMEOFDAY_REPLACE_LOCALTIME AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], 1, [Define if gettimeofday clobbers the localtime buffer.]) fi ]) AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [ AC_LIBOBJ(gettimeofday) gl_PREREQ_GETTIMEOFDAY AC_DEFINE([gmtime], [rpl_gmtime], [Define to rpl_gmtime if the replacement function should be used.]) AC_DEFINE([localtime], [rpl_localtime], [Define to rpl_localtime if the replacement function should be used.]) ]) # Prerequisites of lib/gettimeofday.c. AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [ AC_CHECK_HEADERS([sys/timeb.h]) AC_CHECK_FUNCS([_ftime]) ]) dc3dd-7.1.614/m4/human.m40000644000175000017500000000056411022023316014324 0ustar amedicoamedico#serial 10 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HUMAN], [ AC_LIBOBJ([human]) dnl Prerequisites of lib/human.c. : ]) dc3dd-7.1.614/m4/isnanl.m40000644000175000017500000002412411064230667014515 0ustar amedicoamedico# isnanl.m4 serial 7 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_ISNANL], [ ISNANL_LIBM= gl_HAVE_ISNANL_NO_LIBM if test $gl_cv_func_isnanl_no_libm = no; then gl_HAVE_ISNANL_IN_LIBM if test $gl_cv_func_isnanl_in_libm = yes; then ISNANL_LIBM=-lm fi fi if test $gl_cv_func_isnanl_no_libm = yes \ || test $gl_cv_func_isnanl_in_libm = yes; then save_LIBS="$LIBS" LIBS="$LIBS $ISNANL_LIBM" gl_FUNC_ISNANL_WORKS LIBS="$save_LIBS" case "$gl_cv_func_isnanl_works" in *yes) gl_func_isnanl=yes ;; *) gl_func_isnanl=no; ISNANL_LIBM= ;; esac else gl_func_isnanl=no fi if test $gl_func_isnanl = yes; then AC_DEFINE([HAVE_ISNANL], 1, [Define if the isnan(long double) function is available.]) else AC_LIBOBJ([isnanl]) gl_LONG_DOUBLE_EXPONENT_LOCATION fi AC_SUBST([ISNANL_LIBM]) ]) AC_DEFUN([gl_FUNC_ISNANL_NO_LIBM], [ gl_HAVE_ISNANL_NO_LIBM gl_func_isnanl_no_libm=$gl_cv_func_isnanl_no_libm if test $gl_func_isnanl_no_libm = yes; then gl_FUNC_ISNANL_WORKS case "$gl_cv_func_isnanl_works" in *yes) ;; *) gl_func_isnanl_no_libm=no ;; esac fi if test $gl_func_isnanl_no_libm = yes; then AC_DEFINE([HAVE_ISNANL_IN_LIBC], 1, [Define if the isnan(long double) function is available in libc.]) else AC_LIBOBJ([isnanl]) gl_LONG_DOUBLE_EXPONENT_LOCATION fi ]) dnl Test whether isnanl() can be used without libm. AC_DEFUN([gl_HAVE_ISNANL_NO_LIBM], [ AC_CACHE_CHECK([whether isnan(long double) can be used without linking with libm], [gl_cv_func_isnanl_no_libm], [ AC_TRY_LINK([#include #if __GNUC__ >= 4 # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) #elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) #endif long double x;], [return isnanl (x);], [gl_cv_func_isnanl_no_libm=yes], [gl_cv_func_isnanl_no_libm=no]) ]) ]) dnl Test whether isnanl() can be used with libm. AC_DEFUN([gl_HAVE_ISNANL_IN_LIBM], [ AC_CACHE_CHECK([whether isnan(long double) can be used with libm], [gl_cv_func_isnanl_in_libm], [ save_LIBS="$LIBS" LIBS="$LIBS -lm" AC_TRY_LINK([#include #if __GNUC__ >= 4 # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) #elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) #endif long double x;], [return isnanl (x);], [gl_cv_func_isnanl_in_libm=yes], [gl_cv_func_isnanl_in_libm=no]) LIBS="$save_LIBS" ]) ]) dnl Test whether isnanl() recognizes all numbers which are neither finite nor dnl infinite. This test fails e.g. on NetBSD/i386 and on glibc/ia64. dnl Also, the GCC >= 4.0 built-in __builtin_isnanl does not pass the tests dnl - for pseudo-denormals on i686 and x86_64, dnl - for pseudo-zeroes, unnormalized numbers, and pseudo-denormals on ia64. AC_DEFUN([gl_FUNC_ISNANL_WORKS], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_C_BIGENDIAN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether isnanl works], [gl_cv_func_isnanl_works], [ AC_TRY_RUN([ #include #include #include #if __GNUC__ >= 4 # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) #elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) #endif #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { unsigned int word[NWORDS]; long double value; } memory_long_double; int main () { memory_long_double m; unsigned int i; /* gcc-3.4.3 on IRIX 6.5 appears to have a problem with this. */ if (!isnanl (0.0L / 0.0L)) return 1; /* The isnanl function should be immune against changes in the sign bit and in the mantissa bits. The xor operation twiddles a bit that can only be a sign bit or a mantissa bit (since the exponent never extends to bit 31). */ m.value = 0.0L / 0.0L; m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); for (i = 0; i < NWORDS; i++) m.word[i] |= 1; if (!isnanl (m.value)) return 1; #if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } # else # define LDBL80_WORDS(exponent,manthi,mantlo) \ { mantlo, manthi, exponent } # endif { /* Quiet NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; if (!isnanl (x.value)) return 1; } { /* Signalling NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; if (!isnanl (x.value)) return 1; } /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in Intel IA-64 Architecture Software Developer's Manual, Volume 1: Application Architecture. Table 5-2 "Floating-Point Register Encodings" Figure 5-6 "Memory to Floating-Point Register Data Translation" */ { /* Pseudo-NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; if (!isnanl (x.value)) return 1; } { /* Pseudo-Infinity. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; if (!isnanl (x.value)) return 1; } { /* Pseudo-Zero. */ static memory_long_double x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; if (!isnanl (x.value)) return 1; } { /* Unnormalized number. */ static memory_long_double x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; if (!isnanl (x.value)) return 1; } { /* Pseudo-Denormal. */ static memory_long_double x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; if (!isnanl (x.value)) return 1; } #endif return 0; }], [gl_cv_func_isnanl_works=yes], [gl_cv_func_isnanl_works=no], [case "$host_cpu" in # Guess no on ia64, x86_64, i386. ia64 | x86_64 | i*86) gl_cv_func_isnanl_works="guessing no";; *) case "$host_os" in netbsd*) gl_cv_func_isnanl_works="guessing no";; *) gl_cv_func_isnanl_works="guessing yes";; esac ;; esac ]) ]) ]) AC_DEFUN([gl_LONG_DOUBLE_EXPONENT_LOCATION], [ AC_REQUIRE([AC_C_BIGENDIAN]) AC_CACHE_CHECK([where to find the exponent in a 'long double'], [gl_cv_cc_long_double_expbit0], [ AC_TRY_RUN([ #include #include #include #include #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { long double value; unsigned int word[NWORDS]; } memory_long_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (long double x) { memory_long_double m; size_t i; /* Clear it first, in case sizeof (long double) < sizeof (memory_long_double). */ memset (&m, 0, sizeof (memory_long_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25L); add_to_ored_words (0.5L); add_to_ored_words (1.0L); add_to_ored_words (2.0L); add_to_ored_words (4.0L); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } ], [gl_cv_cc_long_double_expbit0=`cat conftest.out`], [gl_cv_cc_long_double_expbit0="unknown"], [ dnl When cross-compiling, we don't know. It depends on the dnl ABI and compiler version. There are too many cases. gl_cv_cc_long_double_expbit0="unknown" ]) rm -f conftest.out ]) case "$gl_cv_cc_long_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'` AC_DEFINE_UNQUOTED([LDBL_EXPBIT0_WORD], [$word], [Define as the word index where to find the exponent of 'long double'.]) AC_DEFINE_UNQUOTED([LDBL_EXPBIT0_BIT], [$bit], [Define as the bit index in the word where to find bit 0 of the exponent of 'long double'.]) ;; esac ]) dc3dd-7.1.614/m4/stdint.m40000644000175000017500000003221711064230667014540 0ustar amedicoamedico# stdint.m4 serial 31 dnl Copyright (C) 2001-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert and Bruno Haible. dnl Test whether is supported or must be substituted. AC_DEFUN([gl_STDINT_H], [ AC_PREREQ(2.59)dnl dnl Check for long long int and unsigned long long int. AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) if test $ac_cv_type_long_long_int = yes; then HAVE_LONG_LONG_INT=1 else HAVE_LONG_LONG_INT=0 fi AC_SUBST([HAVE_LONG_LONG_INT]) AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) if test $ac_cv_type_unsigned_long_long_int = yes; then HAVE_UNSIGNED_LONG_LONG_INT=1 else HAVE_UNSIGNED_LONG_LONG_INT=0 fi AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) dnl Check for . dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi AC_SUBST([HAVE_INTTYPES_H]) dnl Check for . dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h. if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 fi AC_SUBST([HAVE_SYS_TYPES_H]) gl_CHECK_NEXT_HEADERS([stdint.h]) if test $ac_cv_header_stdint_h = yes; then HAVE_STDINT_H=1 else HAVE_STDINT_H=0 fi AC_SUBST([HAVE_STDINT_H]) dnl Now see whether we need a substitute . if test $ac_cv_header_stdint_h = yes; then AC_CACHE_CHECK([whether stdint.h conforms to C99], [gl_cv_header_working_stdint_h], [gl_cv_header_working_stdint_h=no AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ #if !(defined WCHAR_MIN && defined WCHAR_MAX) #error "WCHAR_MIN, WCHAR_MAX not defined in " #endif ] gl_STDINT_INCLUDES [ #ifdef INT8_MAX int8_t a1 = INT8_MAX; int8_t a1min = INT8_MIN; #endif #ifdef INT16_MAX int16_t a2 = INT16_MAX; int16_t a2min = INT16_MIN; #endif #ifdef INT32_MAX int32_t a3 = INT32_MAX; int32_t a3min = INT32_MIN; #endif #ifdef INT64_MAX int64_t a4 = INT64_MAX; int64_t a4min = INT64_MIN; #endif #ifdef UINT8_MAX uint8_t b1 = UINT8_MAX; #else typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif #ifdef UINT16_MAX uint16_t b2 = UINT16_MAX; #endif #ifdef UINT32_MAX uint32_t b3 = UINT32_MAX; #endif #ifdef UINT64_MAX uint64_t b4 = UINT64_MAX; #endif int_least8_t c1 = INT8_C (0x7f); int_least8_t c1max = INT_LEAST8_MAX; int_least8_t c1min = INT_LEAST8_MIN; int_least16_t c2 = INT16_C (0x7fff); int_least16_t c2max = INT_LEAST16_MAX; int_least16_t c2min = INT_LEAST16_MIN; int_least32_t c3 = INT32_C (0x7fffffff); int_least32_t c3max = INT_LEAST32_MAX; int_least32_t c3min = INT_LEAST32_MIN; int_least64_t c4 = INT64_C (0x7fffffffffffffff); int_least64_t c4max = INT_LEAST64_MAX; int_least64_t c4min = INT_LEAST64_MIN; uint_least8_t d1 = UINT8_C (0xff); uint_least8_t d1max = UINT_LEAST8_MAX; uint_least16_t d2 = UINT16_C (0xffff); uint_least16_t d2max = UINT_LEAST16_MAX; uint_least32_t d3 = UINT32_C (0xffffffff); uint_least32_t d3max = UINT_LEAST32_MAX; uint_least64_t d4 = UINT64_C (0xffffffffffffffff); uint_least64_t d4max = UINT_LEAST64_MAX; int_fast8_t e1 = INT_FAST8_MAX; int_fast8_t e1min = INT_FAST8_MIN; int_fast16_t e2 = INT_FAST16_MAX; int_fast16_t e2min = INT_FAST16_MIN; int_fast32_t e3 = INT_FAST32_MAX; int_fast32_t e3min = INT_FAST32_MIN; int_fast64_t e4 = INT_FAST64_MAX; int_fast64_t e4min = INT_FAST64_MIN; uint_fast8_t f1 = UINT_FAST8_MAX; uint_fast16_t f2 = UINT_FAST16_MAX; uint_fast32_t f3 = UINT_FAST32_MAX; uint_fast64_t f4 = UINT_FAST64_MAX; #ifdef INTPTR_MAX intptr_t g = INTPTR_MAX; intptr_t gmin = INTPTR_MIN; #endif #ifdef UINTPTR_MAX uintptr_t h = UINTPTR_MAX; #endif intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; #include /* for CHAR_BIT */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) struct s { int check_PTRDIFF: PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; /* Detect bug in FreeBSD 6.0 / ia64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) ? 1 : -1; int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; int check_WCHAR: WCHAR_MIN == TYPE_MINIMUM (wchar_t) && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) ? 1 : -1; /* Detect bug in mingw. */ int check_WINT: WINT_MIN == TYPE_MINIMUM (wint_t) && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -1; /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ int check_UINT8_C: (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; int check_UINT16_C: (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; /* Detect bugs in OpenBSD 3.9 stdint.h. */ #ifdef UINT8_MAX int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; #endif #ifdef UINT16_MAX int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; #endif #ifdef UINT32_MAX int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; #endif #ifdef UINT64_MAX int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; #endif int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; }; ]])], [gl_cv_header_working_stdint_h=yes])]) fi if test "$gl_cv_header_working_stdint_h" = yes; then STDINT_H= else dnl Check for , and for dnl (used in Linux libc4 >= 4.6.7 and libc5). AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) if test $ac_cv_header_sys_inttypes_h = yes; then HAVE_SYS_INTTYPES_H=1 else HAVE_SYS_INTTYPES_H=0 fi AC_SUBST([HAVE_SYS_INTTYPES_H]) if test $ac_cv_header_sys_bitypes_h = yes; then HAVE_SYS_BITYPES_H=1 else HAVE_SYS_BITYPES_H=0 fi AC_SUBST([HAVE_SYS_BITYPES_H]) dnl Check for (missing in Linux uClibc when built without wide dnl character support). AC_CHECK_HEADERS_ONCE([wchar.h]) gl_STDINT_TYPE_PROPERTIES STDINT_H=stdint.h fi AC_SUBST(STDINT_H) ]) dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) dnl Determine the size of each of the given types in bits. AC_DEFUN([gl_STDINT_BITSIZEOF], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), [Define to the number of bits in type ']gltype['.])]) for gltype in $1 ; do AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}], [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT], [$2 #include ], [result=unknown]) eval gl_cv_bitsizeof_${gltype}=\$result ]) eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then dnl Use a nonempty default, because some compilers, such as IRIX 5 cc, dnl do a syntax check even on unused #if conditions and give an error dnl on valid C code like this: dnl #if 0 dnl # if > 32 dnl # endif dnl #endif result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) eval BITSIZEOF_${GLTYPE}=\$result done m4_foreach_w([gltype], [$1], [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) ]) dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES) dnl Determine the signedness of each of the given types. dnl Define HAVE_SIGNED_TYPE if type is signed. AC_DEFUN([gl_CHECK_TYPES_SIGNED], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), [Define to 1 if ']gltype[' is a signed integer type.])]) for gltype in $1 ; do AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([$2[ int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])], result=yes, result=no) eval gl_cv_type_${gltype}_signed=\$result ]) eval result=\$gl_cv_type_${gltype}_signed GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` if test "$result" = yes; then AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], 1) eval HAVE_SIGNED_${GLTYPE}=1 else eval HAVE_SIGNED_${GLTYPE}=0 fi done m4_foreach_w([gltype], [$1], [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) ]) dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES) dnl Determine the suffix to use for integer constants of the given types. dnl Define t_SUFFIX for each such type. AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], [ dnl Use a shell loop, to avoid bloating configure, and dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into dnl config.h.in, dnl - extra AC_SUBST calls, so that the right substitutions are made. m4_foreach_w([gltype], [$1], [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], [Define to l, ll, u, ul, ull, etc., as suitable for constants of type ']gltype['.])]) for gltype in $1 ; do AC_CACHE_CHECK([for $gltype integer literal suffix], [gl_cv_type_${gltype}_suffix], [eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([$2[ extern $gltype foo; extern $gltype1 foo;]])], [eval gl_cv_type_${gltype}_suffix=\$glsuf]) eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done]) GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], $result) done m4_foreach_w([gltype], [$1], [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) ]) dnl gl_STDINT_INCLUDES AC_DEFUN([gl_STDINT_INCLUDES], [[ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif ]]) dnl gl_STDINT_TYPE_PROPERTIES dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t dnl of interest to stdint.in.h. AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], [ gl_STDINT_BITSIZEOF([ptrdiff_t sig_atomic_t size_t wchar_t wint_t], [gl_STDINT_INCLUDES]) gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], [gl_STDINT_INCLUDES]) gl_cv_type_ptrdiff_t_signed=yes gl_cv_type_size_t_signed=no gl_INTEGER_TYPE_SUFFIX([ptrdiff_t sig_atomic_t size_t wchar_t wint_t], [gl_STDINT_INCLUDES]) ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) # Hey Emacs! # Local Variables: # indent-tabs-mode: nil # End: dc3dd-7.1.614/m4/sha512.m40000644000175000017500000000065411064230667014236 0ustar amedicoamedico# sha512.m4 serial 4 dnl Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SHA512], [ AC_LIBOBJ([sha512]) dnl Prerequisites of lib/sha512.c. AC_REQUIRE([AC_C_BIGENDIAN]) AC_REQUIRE([AC_C_INLINE]) ]) dc3dd-7.1.614/m4/getgroups.m40000644000175000017500000000144711022023316015234 0ustar amedicoamedico#serial 10 dnl From Jim Meyering. dnl A wrapper around AC_FUNC_GETGROUPS. # Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004 Free # Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_GETGROUPS], [ AC_REQUIRE([AC_FUNC_GETGROUPS]) if test $ac_cv_func_getgroups_works = no; then AC_LIBOBJ(getgroups) AC_DEFINE(getgroups, rpl_getgroups, [Define as rpl_getgroups if getgroups doesn't work right.]) gl_PREREQ_GETGROUPS fi test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS" ]) # Prerequisites of lib/getgroups.c. AC_DEFUN([gl_PREREQ_GETGROUPS], [ AC_REQUIRE([AC_TYPE_GETGROUPS]) ]) dc3dd-7.1.614/m4/xstrtol.m40000644000175000017500000000061611022023316014731 0ustar amedicoamedico#serial 10 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XSTRTOL], [ AC_LIBOBJ([xstrtol]) AC_LIBOBJ([xstrtoul]) AC_LIBOBJ([xstrtol-error]) ]) dc3dd-7.1.614/m4/idcache.m40000644000175000017500000000052411022023316014570 0ustar amedicoamedico# idcache.m4 serial 6 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_IDCACHE], [ AC_LIBOBJ([idcache]) ]) dc3dd-7.1.614/m4/gnulib-comp.m40000644000175000017500000007514011064230667015451 0ustar amedicoamedico# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! #line 1 # DO NOT EDIT! GENERATED AUTOMATICALLY! # Copyright (C) 2002-2008 Free Software Foundation, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. # # This file represents the compiled summary of the specification in # gnulib-cache.m4. It lists the computed macro invocations that need # to be invoked from configure.ac. # In projects using CVS, this file can be treated like other built files. # This macro should be invoked from ./configure.ac, in the section # "Checks for programs", right after AC_PROG_CC, and certainly before # any checks for libraries, header files, types and library functions. AC_DEFUN([gl_EARLY], [ m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace m4_pattern_allow([^gl_ES$])dnl a valid locale name m4_pattern_allow([^gl_LIBOBJS$])dnl a variable m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable AC_REQUIRE([AC_PROG_RANLIB]) AC_REQUIRE([AM_PROG_CC_C_O]) AC_REQUIRE([AC_GNU_SOURCE]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([AC_FUNC_FSEEKO]) AC_REQUIRE([gl_FP_IEEE]) AC_REQUIRE([AC_FUNC_FSEEKO]) AC_REQUIRE([AC_FUNC_FSEEKO]) dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode dnl for the builtin va_copy to work. With Autoconf 2.60 or later, dnl AC_PROG_CC_STDC arranges for this. With older Autoconf AC_PROG_CC_STDC dnl shouldn't hurt, though installers are on their own to set c99 mode. AC_REQUIRE([AC_PROG_CC_STDC]) ]) # This macro should be invoked from ./configure.ac, in the section # "Check for header files, types and library functions". AC_DEFUN([gl_INIT], [ AM_CONDITIONAL([GL_COND_LIBTOOL], [false]) gl_cond_libtool=false gl_libdeps= gl_ltlibdeps= m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ])) m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS])) m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) m4_pushdef([gl_LIBSOURCES_LIST], []) m4_pushdef([gl_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='lib' gl_EOVERFLOW gl_FUNC_ALLOCA gl_ARGMATCH gl_HEADER_ARPA_INET AC_PROG_MKDIR_P gl_ASSERT gl_FUNC_ATEXIT AB_INIT gl_FUNC_BASE64 gl_C_STRTOD gl_C_STRTOLD AC_FUNC_CALLOC gl_FUNC_CALLOC_POSIX gl_STDLIB_MODULE_INDICATOR([calloc-posix]) AC_FUNC_CANONICALIZE_FILE_NAME gl_MODULE_INDICATOR([canonicalize]) gl_FUNC_CHDIR_LONG gl_FUNC_CHOWN gl_UNISTD_MODULE_INDICATOR([chown]) gl_CLOCK_TIME gl_CLOEXEC gl_CLOSE_STREAM gl_MODULE_INDICATOR([close-stream]) gl_CLOSEIN gl_CLOSEOUT gl_CONFIG_H gl_MD5 gl_SHA1 gl_SHA256 gl_SHA512 gl_CYCLE_CHECK gl_CHECK_TYPE_STRUCT_DIRENT_D_INO gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE gl_FUNC_DIRFD gl_DIRNAME gl_DOUBLE_SLASH_ROOT gl_FUNC_DUP2 gl_UNISTD_MODULE_INDICATOR([dup2]) gl_ENVIRON gl_UNISTD_MODULE_INDICATOR([environ]) gl_ERROR m4_ifdef([AM_XGETTEXT_OPTION], [AM_XGETTEXT_OPTION([--flag=error:3:c-format]) AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) gl_EXCLUDE gl_EXITFAIL gl_FUNC_FCHDIR gl_UNISTD_MODULE_INDICATOR([fchdir]) gl_FCNTL_H gl_FCNTL_SAFER gl_MODULE_INDICATOR([fcntl-safer]) gl_FUNC_FFLUSH gl_STDIO_MODULE_INDICATOR([fflush]) gl_FILE_TYPE gl_FILEBLOCKS gl_FILEMODE gl_FILE_NAME_CONCAT AC_C_FLEXIBLE_ARRAY_MEMBER gl_FLOAT_H # No macro. You should also use one of fnmatch-posix or fnmatch-gnu. gl_FUNC_FNMATCH_GNU gl_FOPEN_SAFER gl_MODULE_INDICATOR([fopen-safer]) gl_FUNC_FPENDING gl_FPRINTFTIME gl_FUNC_FPURGE gl_FUNC_FREADING AC_REQUIRE([AC_C_INLINE]) gl_FUNC_FREXP_NO_LIBM gl_MATH_MODULE_INDICATOR([frexp]) gl_FUNC_FREXPL_NO_LIBM gl_MATH_MODULE_INDICATOR([frexpl]) gl_FUNC_FSEEKO gl_STDIO_MODULE_INDICATOR([fseeko]) gl_FSUSAGE gl_FUNC_FTELLO gl_STDIO_MODULE_INDICATOR([ftello]) gl_FUNC_FTRUNCATE gl_UNISTD_MODULE_INDICATOR([ftruncate]) gl_FUNC_GETCWD gl_UNISTD_MODULE_INDICATOR([getcwd]) gl_GETDATE gl_FUNC_GETDELIM gl_STDIO_MODULE_INDICATOR([getdelim]) gl_FUNC_GETGROUPS gl_FUNC_GETHOSTNAME gl_GETHRXTIME gl_FUNC_GETLINE gl_STDIO_MODULE_INDICATOR([getline]) gl_GETLOADAVG([lib]) gl_GETNDELIM2 gl_GETOPT gl_FUNC_GETPAGESIZE gl_UNISTD_MODULE_INDICATOR([getpagesize]) gl_FUNC_GETPASS_GNU dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. AM_GNU_GETTEXT_VERSION([0.17]) AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) gl_GETTIME gl_FUNC_GETTIMEOFDAY gl_GNU_MAKE # Autoconf 2.61a.99 and earlier don't support linking a file only # in VPATH builds. But since GNUmakefile is for maintainer use # only, it does not matter if we skip the link with older autoconf. # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH # builds, so use a shell variable to bypass this. GNUmakefile=GNUmakefile m4_if(m4_version_compare([2.61a.100], m4_defn([m4_PACKAGE_VERSION])), [1], [], [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], [GNUmakefile=$GNUmakefile])]) gl_HARD_LOCALE gl_HASH gl_HOST_OS gl_HUMAN AM_ICONV gl_ICONV_H gl_FUNC_ICONV_OPEN gl_IDCACHE gl_ARPA_INET_MODULE_INDICATOR([inet_ntop]) gl_INLINE gl_INTTOSTR gl_INTTYPES_H gl_ISAPIPE gl_FUNC_ISNAND_NO_LIBM gl_FUNC_ISNANF_NO_LIBM gl_FUNC_ISNANL_NO_LIBM gl_FUNC_LCHMOD gl_FUNC_LCHOWN gl_UNISTD_MODULE_INDICATOR([lchown]) gl_IGNORE_UNUSED_LIBRARIES gl_AC_FUNC_LINK_FOLLOWS_SYMLINK gl_LOCALCHARSET LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) gl_LONG_OPTIONS gl_FUNC_LSEEK gl_UNISTD_MODULE_INDICATOR([lseek]) gl_FUNC_LSTAT AC_FUNC_MALLOC AC_DEFINE([GNULIB_MALLOC_GNU], 1, [Define to indicate the 'malloc' module.]) gl_FUNC_MALLOC_POSIX gl_STDLIB_MODULE_INDICATOR([malloc-posix]) gl_MALLOCA gl_MATH_H gl_MBCHAR gl_MBITER gl_FUNC_MBSCASECMP gl_STRING_MODULE_INDICATOR([mbscasecmp]) gl_FUNC_MBSLEN gl_STRING_MODULE_INDICATOR([mbslen]) gl_FUNC_MBSSTR gl_STRING_MODULE_INDICATOR([mbsstr]) gl_MBSWIDTH gl_MBITER gl_MEMCASECMP gl_FUNC_MEMCHR gl_FUNC_MEMCMP gl_MEMCOLL gl_FUNC_MEMCPY gl_FUNC_MEMMOVE gl_FUNC_MEMPCPY gl_STRING_MODULE_INDICATOR([mempcpy]) gl_FUNC_MEMRCHR gl_STRING_MODULE_INDICATOR([memrchr]) gl_FUNC_MEMSET gl_MKANCESDIRS gl_FUNC_MKDIR_TRAILING_SLASH gl_MKDIR_PARENTS gl_FUNC_MKSTEMP gl_STDLIB_MODULE_INDICATOR([mkstemp]) gl_FUNC_MKTIME gl_MODECHANGE gl_MOUNTLIST gl_MPSORT gl_FUNC_NANOSLEEP gl_HEADER_NETINET_IN AC_PROG_MKDIR_P AC_FUNC_OBSTACK dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]). gl_FUNC_OPENAT gl_PATHMAX gl_PERL gl_POSIX_SHELL gl_POSIXTM gl_POSIXVER gl_FUNC_PRINTF_FREXP gl_FUNC_PRINTF_FREXPL m4_divert_text([INIT_PREPARE], [gl_printf_safe=yes]) m4_ifdef([AM_XGETTEXT_OPTION], [AM_XGETTEXT_OPTION([--keyword='proper_name:1,\"This is a proper name. See the gettext manual, section Names.\"']) AM_XGETTEXT_OPTION([--keyword='proper_name_utf8:1,\"This is a proper name. See the gettext manual, section Names.\"'])]) gl_FUNC_PUTENV gl_STDLIB_MODULE_INDICATOR([putenv]) gl_QUOTE gl_QUOTEARG AC_REPLACE_FUNCS(raise) gl_FUNC_READLINK gl_UNISTD_MODULE_INDICATOR([readlink]) gl_READTOKENS gl_READUTMP AC_FUNC_REALLOC AC_DEFINE([GNULIB_REALLOC_GNU], 1, [Define to indicate the 'realloc' module.]) gl_FUNC_REALLOC_POSIX gl_STDLIB_MODULE_INDICATOR([realloc-posix]) gl_REGEX gl_FUNC_RENAME gl_FUNC_RENAME_TRAILING_DEST_SLASH gl_FUNC_RMDIR gl_FUNC_RMDIR_NOTEMPTY gl_ROOT_DEV_INO gl_FUNC_RPMATCH gl_STDLIB_MODULE_INDICATOR([rpmatch]) gl_SAFE_READ gl_SAFE_WRITE gl_SAME gl_SAVE_CWD gl_SAVEDIR gl_SAVEWD gl_FUNC_SETENV gl_STDLIB_MODULE_INDICATOR([setenv]) gl_SETTIME gl_FUNC_SIG2STR gl_SIGNBIT gl_MATH_MODULE_INDICATOR([signbit]) gl_SIZE_MAX gl_FUNC_SNPRINTF gl_STDIO_MODULE_INDICATOR([snprintf]) gl_TYPE_SOCKLEN_T gt_TYPE_SSIZE_T gl_STAT_TIME gl_STAT_BIRTHTIME gl_STDARG_H AM_STDBOOL_H gl_STDINT_H gl_STDIO_H gl_STDLIB_H gl_STDLIB_SAFER gl_FUNC_STPCPY gl_STRING_MODULE_INDICATOR([stpcpy]) gl_FUNC_STPNCPY gl_STRING_MODULE_INDICATOR([stpncpy]) gl_FUNC_STRCSPN gl_FUNC_STRDUP gl_STRING_MODULE_INDICATOR([strdup]) gl_FUNC_STRERROR gl_STRING_MODULE_INDICATOR([strerror]) gl_FUNC_GNU_STRFTIME if test $gl_cond_libtool = false; then gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV" gl_libdeps="$gl_libdeps $LIBICONV" fi gl_HEADER_STRING_H gl_FUNC_STRNDUP gl_STRING_MODULE_INDICATOR([strndup]) gl_FUNC_STRNLEN gl_STRING_MODULE_INDICATOR([strnlen]) gl_FUNC_STRPBRK gl_STRING_MODULE_INDICATOR([strpbrk]) gl_FUNC_STRTOD gl_STDLIB_MODULE_INDICATOR([strtod]) gl_FUNC_STRTOIMAX gl_INTTYPES_MODULE_INDICATOR([strtoimax]) gl_FUNC_STRTOL gl_FUNC_STRTOLL gl_FUNC_STRTOUL gl_FUNC_STRTOULL gl_FUNC_STRTOUMAX gl_INTTYPES_MODULE_INDICATOR([strtoumax]) gl_FUNC_STRVERSCMP gl_HEADER_SYS_SOCKET AC_PROG_MKDIR_P gl_HEADER_SYS_STAT_H AC_PROG_MKDIR_P gl_HEADER_SYS_TIME_H AC_PROG_MKDIR_P gl_FUNC_GEN_TEMPNAME gl_HEADER_TIME_H gl_TIME_R gl_TIMESPEC gl_FUNC_MBRTOWC gl_FUNC_TZSET_CLOBBER gl_UNICODEIO gl_UNISTD_H gl_UNISTD_SAFER gl_FUNC_UNLINK_BUSY_TEXT gl_UNLINKDIR gl_FUNC_GLIBC_UNLOCKED_IO gl_FUNC_UNSETENV gl_STDLIB_MODULE_INDICATOR([unsetenv]) gl_SYS_PROC_UPTIME gl_USERSPEC gl_FUNC_UTIME gl_UTIMECMP gl_UTIMENS gl_FUNC_VASNPRINTF gl_FUNC_VASPRINTF gl_STDIO_MODULE_INDICATOR([vasprintf]) m4_ifdef([AM_XGETTEXT_OPTION], [AM_XGETTEXT_OPTION([--flag=asprintf:2:c-format]) AM_XGETTEXT_OPTION([--flag=vasprintf:2:c-format])]) gl_FUNC_VASPRINTF_POSIX gl_FUNC_VFPRINTF_POSIX gl_STDIO_MODULE_INDICATOR([vfprintf-posix]) gl_FUNC_VPRINTF_POSIX gl_STDIO_MODULE_INDICATOR([vprintf-posix]) gl_WCHAR_H gl_WCTYPE_H gl_FUNC_WCWIDTH gl_WCHAR_MODULE_INDICATOR([wcwidth]) gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H gl_WINSIZE_IN_PTEM gl_WRITE_ANY_FILE gl_XALLOC gl_XGETCWD gl_XNANOSLEEP m4_ifdef([AM_XGETTEXT_OPTION], [AM_XGETTEXT_OPTION([--flag=xprintf:1:c-format]) AM_XGETTEXT_OPTION([--flag=xvprintf:1:c-format]) AM_XGETTEXT_OPTION([--flag=xfprintf:2:c-format]) AM_XGETTEXT_OPTION([--flag=xvfprintf:2:c-format])]) gl_XSIZE gl_XSTRNDUP gl_XSTRTOD gl_XSTRTOL gl_XSTRTOLD m4_ifval(gl_LIBSOURCES_LIST, [ m4_syscmd([test ! -d ]gl_LIBSOURCES_DIR[ || for gl_file in ]gl_LIBSOURCES_LIST[ ; do if test ! -r ]gl_LIBSOURCES_DIR[/$gl_file ; then echo "missing file ]gl_LIBSOURCES_DIR[/$gl_file" >&2 exit 1 fi done])dnl m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) ]) m4_popdef([gl_LIBSOURCES_DIR]) m4_popdef([gl_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) m4_popdef([AC_REPLACE_FUNCS]) m4_popdef([AC_LIBOBJ]) AC_CONFIG_COMMANDS_PRE([ gl_libobjs= gl_ltlibobjs= if test -n "$gl_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do gl_libobjs="$gl_libobjs $i.$ac_objext" gl_ltlibobjs="$gl_ltlibobjs $i.lo" done fi AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) ]) gltests_libdeps= gltests_ltlibdeps= m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ])) m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS])) m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) m4_pushdef([gltests_LIBSOURCES_LIST], []) m4_pushdef([gltests_LIBSOURCES_DIR], []) gl_COMMON gl_source_base='gnulib-tests' gt_LOCALE_FR gt_LOCALE_TR_UTF8 gl_DOUBLE_EXPONENT_LOCATION gl_FLOAT_EXPONENT_LOCATION gl_LONG_DOUBLE_EXPONENT_LOCATION gt_LOCALE_TR_UTF8 gt_LOCALE_FR_UTF8 gt_LOCALE_ZH_CN AC_REQUIRE([gl_FLOAT_EXPONENT_LOCATION]) AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION]) AC_REQUIRE([gl_LONG_DOUBLE_EXPONENT_LOCATION]) gl_FUNC_SLEEP gl_UNISTD_MODULE_INDICATOR([sleep]) gt_TYPE_WCHAR_T gt_TYPE_WINT_T AC_CHECK_FUNCS([shutdown]) abs_aux_dir=`cd "$ac_aux_dir"; pwd` AC_SUBST([abs_aux_dir]) m4_ifval(gltests_LIBSOURCES_LIST, [ m4_syscmd([test ! -d ]gltests_LIBSOURCES_DIR[ || for gl_file in ]gltests_LIBSOURCES_LIST[ ; do if test ! -r ]gltests_LIBSOURCES_DIR[/$gl_file ; then echo "missing file ]gltests_LIBSOURCES_DIR[/$gl_file" >&2 exit 1 fi done])dnl m4_if(m4_sysval, [0], [], [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) ]) m4_popdef([gltests_LIBSOURCES_DIR]) m4_popdef([gltests_LIBSOURCES_LIST]) m4_popdef([AC_LIBSOURCES]) m4_popdef([AC_REPLACE_FUNCS]) m4_popdef([AC_LIBOBJ]) AC_CONFIG_COMMANDS_PRE([ gltests_libobjs= gltests_ltlibobjs= if test -n "$gltests_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" done fi AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) ]) LIBCOREUTILS_LIBDEPS="$gl_libdeps" AC_SUBST([LIBCOREUTILS_LIBDEPS]) LIBCOREUTILS_LTLIBDEPS="$gl_ltlibdeps" AC_SUBST([LIBCOREUTILS_LTLIBDEPS]) LIBTESTS_LIBDEPS="$gltests_libdeps" AC_SUBST([LIBTESTS_LIBDEPS]) ]) # Like AC_LIBOBJ, except that the module name goes # into gl_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gl_LIBOBJ], [ AS_LITERAL_IF([$1], [gl_LIBSOURCES([$1.c])])dnl gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext" ]) # Like AC_REPLACE_FUNCS, except that the module name goes # into gl_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gl_REPLACE_FUNCS], [ m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl AC_CHECK_FUNCS([$1], , [gl_LIBOBJ($ac_func)]) ]) # Like AC_LIBSOURCES, except the directory where the source file is # expected is derived from the gnulib-tool parameterization, # and alloca is special cased (for the alloca-opt module). # We could also entirely rely on EXTRA_lib..._SOURCES. AC_DEFUN([gl_LIBSOURCES], [ m4_foreach([_gl_NAME], [$1], [ m4_if(_gl_NAME, [alloca.c], [], [ m4_define([gl_LIBSOURCES_DIR], [lib]) m4_append([gl_LIBSOURCES_LIST], _gl_NAME, [ ]) ]) ]) ]) # Like AC_LIBOBJ, except that the module name goes # into gltests_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gltests_LIBOBJ], [ AS_LITERAL_IF([$1], [gltests_LIBSOURCES([$1.c])])dnl gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext" ]) # Like AC_REPLACE_FUNCS, except that the module name goes # into gltests_LIBOBJS instead of into LIBOBJS. AC_DEFUN([gltests_REPLACE_FUNCS], [ m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl AC_CHECK_FUNCS([$1], , [gltests_LIBOBJ($ac_func)]) ]) # Like AC_LIBSOURCES, except the directory where the source file is # expected is derived from the gnulib-tool parameterization, # and alloca is special cased (for the alloca-opt module). # We could also entirely rely on EXTRA_lib..._SOURCES. AC_DEFUN([gltests_LIBSOURCES], [ m4_foreach([_gl_NAME], [$1], [ m4_if(_gl_NAME, [alloca.c], [], [ m4_define([gltests_LIBSOURCES_DIR], [gnulib-tests]) m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ]) ]) ]) ]) # This macro records the list of files which have been installed by # gnulib-tool and may be removed by future gnulib-tool invocations. AC_DEFUN([gl_FILE_LIST], [ build-aux/announce-gen build-aux/config.rpath build-aux/git-version-gen build-aux/gitlog-to-changelog build-aux/gnupload build-aux/link-warning.h build-aux/useless-if-before-free build-aux/vc-list-files doc/fdl.texi doc/getdate.texi lib/alloca.c lib/alloca.in.h lib/areadlink-with-size.c lib/areadlink.h lib/argmatch.c lib/argmatch.h lib/arpa_inet.in.h lib/asnprintf.c lib/asprintf.c lib/at-func.c lib/atexit.c lib/base64.c lib/base64.h lib/basename.c lib/c-ctype.c lib/c-ctype.h lib/c-strcase.h lib/c-strcasecmp.c lib/c-strncasecmp.c lib/c-strtod.c lib/c-strtod.h lib/c-strtold.c lib/calloc.c lib/canonicalize.c lib/canonicalize.h lib/chdir-long.c lib/chdir-long.h lib/chown.c lib/cloexec.c lib/cloexec.h lib/close-stream.c lib/close-stream.h lib/closein.c lib/closein.h lib/closeout.c lib/closeout.h lib/config.charset lib/copy-acl.c lib/creat-safer.c lib/cycle-check.c lib/cycle-check.h lib/dev-ino.h lib/diacrit.c lib/diacrit.h lib/dirchownmod.c lib/dirchownmod.h lib/dirent.in.h lib/dirfd.c lib/dirfd.h lib/dirname.c lib/dirname.h lib/dup-safer.c lib/dup2.c lib/error.c lib/error.h lib/exclude.c lib/exclude.h lib/exitfail.c lib/exitfail.h lib/fchdir.c lib/fchmodat.c lib/fchown-stub.c lib/fchownat.c lib/fcntl--.h lib/fcntl-safer.h lib/fcntl.in.h lib/fd-safer.c lib/fflush.c lib/file-set.c lib/file-set.h lib/file-type.c lib/file-type.h lib/fileblocks.c lib/filemode.c lib/filemode.h lib/filenamecat.c lib/filenamecat.h lib/float+.h lib/float.in.h lib/fnmatch.c lib/fnmatch.in.h lib/fnmatch_loop.c lib/fopen-safer.c lib/fpending.c lib/fpending.h lib/fprintftime.c lib/fprintftime.h lib/fpucw.h lib/fpurge.c lib/fpurge.h lib/freadahead.c lib/freadahead.h lib/freading.c lib/freading.h lib/freadptr.c lib/freadptr.h lib/freadseek.c lib/freadseek.h lib/frexp.c lib/frexpl.c lib/fseeko.c lib/fseterr.c lib/fseterr.h lib/fstatat.c lib/fsusage.c lib/fsusage.h lib/ftello.c lib/ftruncate.c lib/full-read.c lib/full-read.h lib/full-write.c lib/full-write.h lib/getcwd.c lib/getdate.h lib/getdate.y lib/getdelim.c lib/getgroups.c lib/gethostname.c lib/gethrxtime.c lib/gethrxtime.h lib/getline.c lib/getloadavg.c lib/getndelim2.c lib/getndelim2.h lib/getopt.c lib/getopt.in.h lib/getopt1.c lib/getopt_int.h lib/getpagesize.c lib/getpass.c lib/getpass.h lib/gettext.h lib/gettime.c lib/gettimeofday.c lib/hard-locale.c lib/hard-locale.h lib/hash-pjw.c lib/hash-pjw.h lib/hash-triple.c lib/hash-triple.h lib/hash.c lib/hash.h lib/human.c lib/human.h lib/iconv.in.h lib/iconv_open-aix.gperf lib/iconv_open-hpux.gperf lib/iconv_open-irix.gperf lib/iconv_open-osf.gperf lib/iconv_open.c lib/idcache.c lib/idcache.h lib/imaxtostr.c lib/intprops.h lib/inttostr.c lib/inttostr.h lib/inttypes.in.h lib/isapipe.c lib/isapipe.h lib/isnan.c lib/isnand.c lib/isnand.h lib/isnanf.c lib/isnanf.h lib/isnanl-nolibm.h lib/isnanl.c lib/lchmod.h lib/lchown.c lib/linebuffer.c lib/linebuffer.h lib/localcharset.c lib/localcharset.h lib/long-options.c lib/long-options.h lib/lseek.c lib/lstat.c lib/lstat.h lib/malloc.c lib/malloca.c lib/malloca.h lib/malloca.valgrind lib/math.in.h lib/mbchar.c lib/mbchar.h lib/mbiter.h lib/mbscasecmp.c lib/mbslen.c lib/mbsstr.c lib/mbswidth.c lib/mbswidth.h lib/mbuiter.h lib/md5.c lib/md5.h lib/memcasecmp.c lib/memcasecmp.h lib/memchr.c lib/memchr2.c lib/memchr2.h lib/memcmp.c lib/memcoll.c lib/memcoll.h lib/memcpy.c lib/memmove.c lib/mempcpy.c lib/memrchr.c lib/memset.c lib/mkancesdirs.c lib/mkancesdirs.h lib/mkdir-p.c lib/mkdir-p.h lib/mkdir.c lib/mkdirat.c lib/mkstemp-safer.c lib/mkstemp.c lib/mktime.c lib/modechange.c lib/modechange.h lib/mountlist.c lib/mountlist.h lib/mpsort.c lib/mpsort.h lib/nanosleep.c lib/netinet_in.in.h lib/obstack.c lib/obstack.h lib/offtostr.c lib/open-safer.c lib/openat-die.c lib/openat-priv.h lib/openat-proc.c lib/openat.c lib/openat.h lib/pathmax.h lib/pipe-safer.c lib/posixtm.c lib/posixtm.h lib/posixver.c lib/posixver.h lib/printf-args.c lib/printf-args.h lib/printf-frexp.c lib/printf-frexp.h lib/printf-frexpl.c lib/printf-frexpl.h lib/printf-parse.c lib/printf-parse.h lib/propername.c lib/propername.h lib/putenv.c lib/quote.c lib/quote.h lib/quotearg.c lib/quotearg.h lib/raise.c lib/rand-isaac.c lib/rand-isaac.h lib/randint.c lib/randint.h lib/randperm.c lib/randperm.h lib/randread.c lib/randread.h lib/readlink.c lib/readtokens.c lib/readtokens.h lib/readtokens0.c lib/readtokens0.h lib/readutmp.c lib/readutmp.h lib/realloc.c lib/ref-add.sin lib/ref-del.sin lib/regcomp.c lib/regex.c lib/regex.h lib/regex_internal.c lib/regex_internal.h lib/regexec.c lib/rename-dest-slash.c lib/rename.c lib/rmdir.c lib/root-dev-ino.c lib/root-dev-ino.h lib/rpmatch.c lib/safe-read.c lib/safe-read.h lib/safe-write.c lib/safe-write.h lib/same-inode.h lib/same.c lib/same.h lib/save-cwd.c lib/save-cwd.h lib/savedir.c lib/savedir.h lib/savewd.c lib/savewd.h lib/set-mode-acl.c lib/setenv.c lib/settime.c lib/sha1.c lib/sha1.h lib/sha256.c lib/sha256.h lib/sha512.c lib/sha512.h lib/sig2str.c lib/sig2str.h lib/signbitd.c lib/signbitf.c lib/signbitl.c lib/size_max.h lib/snprintf.c lib/stat-macros.h lib/stat-time.h lib/stdarg.in.h lib/stdbool.in.h lib/stdint.in.h lib/stdio--.h lib/stdio-impl.h lib/stdio-safer.h lib/stdio.in.h lib/stdlib--.h lib/stdlib-safer.h lib/stdlib.in.h lib/stpcpy.c lib/stpncpy.c lib/str-kmp.h lib/strcspn.c lib/strdup.c lib/streq.h lib/strerror.c lib/strftime.c lib/strftime.h lib/striconv.c lib/striconv.h lib/string.in.h lib/stripslash.c lib/strndup.c lib/strnlen.c lib/strnlen1.c lib/strnlen1.h lib/strpbrk.c lib/strtod.c lib/strtoimax.c lib/strtol.c lib/strtoll.c lib/strtoul.c lib/strtoull.c lib/strtoumax.c lib/strverscmp.c lib/strverscmp.h lib/sys_socket.in.h lib/sys_stat.in.h lib/sys_time.in.h lib/tempname.c lib/tempname.h lib/time.in.h lib/time_r.c lib/timespec.h lib/trim.c lib/trim.h lib/u64.h lib/uinttostr.c lib/umaxtostr.c lib/unicodeio.c lib/unicodeio.h lib/unistd--.h lib/unistd-safer.h lib/unistd.in.h lib/unitypes.h lib/uniwidth.h lib/uniwidth/cjk.h lib/uniwidth/width.c lib/unlinkdir.c lib/unlinkdir.h lib/unlocked-io.h lib/unsetenv.c lib/userspec.c lib/userspec.h lib/utime.c lib/utimecmp.c lib/utimecmp.h lib/utimens.c lib/utimens.h lib/vasnprintf.c lib/vasnprintf.h lib/vasprintf.c lib/verify.h lib/version-etc-fsf.c lib/version-etc.c lib/version-etc.h lib/vfprintf.c lib/vprintf.c lib/wchar.in.h lib/wctype.in.h lib/wcwidth.c lib/write-any-file.c lib/write-any-file.h lib/xalloc-die.c lib/xalloc.h lib/xgetcwd.c lib/xgetcwd.h lib/xmalloc.c lib/xmemcoll.c lib/xmemcoll.h lib/xnanosleep.c lib/xnanosleep.h lib/xprintf.c lib/xprintf.h lib/xsize.h lib/xstriconv.c lib/xstriconv.h lib/xstrndup.c lib/xstrndup.h lib/xstrtod.c lib/xstrtod.h lib/xstrtoimax.c lib/xstrtol-error.c lib/xstrtol.c lib/xstrtol.h lib/xstrtold.c lib/xstrtoul.c lib/xstrtoumax.c lib/xtime.h m4/alloca.m4 m4/argmatch.m4 m4/arpa_inet_h.m4 m4/assert.m4 m4/atexit.m4 m4/autobuild.m4 m4/base64.m4 m4/bison.m4 m4/c-strtod.m4 m4/calloc.m4 m4/canonicalize.m4 m4/chdir-long.m4 m4/chown.m4 m4/clock_time.m4 m4/cloexec.m4 m4/close-stream.m4 m4/closein.m4 m4/closeout.m4 m4/codeset.m4 m4/config-h.m4 m4/cycle-check.m4 m4/d-ino.m4 m4/d-type.m4 m4/dirfd.m4 m4/dirname.m4 m4/dos.m4 m4/double-slash-root.m4 m4/dup2.m4 m4/eealloc.m4 m4/environ.m4 m4/eoverflow.m4 m4/error.m4 m4/exclude.m4 m4/exitfail.m4 m4/extensions.m4 m4/fchdir.m4 m4/fcntl-safer.m4 m4/fcntl_h.m4 m4/fflush.m4 m4/file-type.m4 m4/fileblocks.m4 m4/filemode.m4 m4/filenamecat.m4 m4/flexmember.m4 m4/float_h.m4 m4/fnmatch.m4 m4/fpending.m4 m4/fpieee.m4 m4/fprintftime.m4 m4/fpurge.m4 m4/freading.m4 m4/frexp.m4 m4/frexpl.m4 m4/fseeko.m4 m4/fstypename.m4 m4/fsusage.m4 m4/ftello.m4 m4/ftruncate.m4 m4/getcwd-abort-bug.m4 m4/getcwd-path-max.m4 m4/getcwd.m4 m4/getdate.m4 m4/getdelim.m4 m4/getgroups.m4 m4/gethostname.m4 m4/gethrxtime.m4 m4/getline.m4 m4/getloadavg.m4 m4/getndelim2.m4 m4/getopt.m4 m4/getpagesize.m4 m4/getpass.m4 m4/gettext.m4 m4/gettime.m4 m4/gettimeofday.m4 m4/glibc2.m4 m4/glibc21.m4 m4/gnu-make.m4 m4/gnulib-common.m4 m4/hard-locale.m4 m4/hash.m4 m4/host-os.m4 m4/human.m4 m4/iconv.m4 m4/iconv_h.m4 m4/iconv_open.m4 m4/idcache.m4 m4/include_next.m4 m4/inline.m4 m4/intdiv0.m4 m4/intl.m4 m4/intldir.m4 m4/intlmacosx.m4 m4/intmax.m4 m4/intmax_t.m4 m4/inttostr.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 m4/isapipe.m4 m4/isnand.m4 m4/isnanf.m4 m4/isnanl.m4 m4/jm-winsz1.m4 m4/jm-winsz2.m4 m4/lchmod.m4 m4/lchown.m4 m4/lcmessage.m4 m4/ldexpl.m4 m4/lib-ignore.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/link-follow.m4 m4/localcharset.m4 m4/locale-fr.m4 m4/locale-tr.m4 m4/locale-zh.m4 m4/lock.m4 m4/long-options.m4 m4/longlong.m4 m4/ls-mntd-fs.m4 m4/lseek.m4 m4/lstat.m4 m4/malloc.m4 m4/malloca.m4 m4/math_h.m4 m4/mbchar.m4 m4/mbiter.m4 m4/mbrtowc.m4 m4/mbscasecmp.m4 m4/mbslen.m4 m4/mbsstr.m4 m4/mbstate_t.m4 m4/mbswidth.m4 m4/md5.m4 m4/memcasecmp.m4 m4/memchr.m4 m4/memcmp.m4 m4/memcoll.m4 m4/memcpy.m4 m4/memmove.m4 m4/mempcpy.m4 m4/memrchr.m4 m4/memset.m4 m4/mkancesdirs.m4 m4/mkdir-p.m4 m4/mkdir-slash.m4 m4/mkstemp.m4 m4/mktime.m4 m4/modechange.m4 m4/mountlist.m4 m4/mpsort.m4 m4/nanosleep.m4 m4/netinet_in_h.m4 m4/nls.m4 m4/nocrash.m4 m4/openat.m4 m4/pathmax.m4 m4/perl.m4 m4/po.m4 m4/posix-shell.m4 m4/posixtm.m4 m4/posixver.m4 m4/printf-frexp.m4 m4/printf-frexpl.m4 m4/printf-posix.m4 m4/printf.m4 m4/progtest.m4 m4/putenv.m4 m4/quote.m4 m4/quotearg.m4 m4/readlink.m4 m4/readtokens.m4 m4/readutmp.m4 m4/realloc.m4 m4/regex.m4 m4/rename-dest-slash.m4 m4/rename.m4 m4/rmdir-errno.m4 m4/rmdir.m4 m4/root-dev-ino.m4 m4/rpmatch.m4 m4/safe-read.m4 m4/safe-write.m4 m4/same.m4 m4/save-cwd.m4 m4/savedir.m4 m4/savewd.m4 m4/setenv.m4 m4/settime.m4 m4/sha1.m4 m4/sha256.m4 m4/sha512.m4 m4/sig2str.m4 m4/signbit.m4 m4/size_max.m4 m4/sleep.m4 m4/snprintf.m4 m4/socklen.m4 m4/sockpfaf.m4 m4/ssize_t.m4 m4/st_dm_mode.m4 m4/stat-time.m4 m4/stdarg.m4 m4/stdbool.m4 m4/stdint.m4 m4/stdint_h.m4 m4/stdio-safer.m4 m4/stdio_h.m4 m4/stdlib-safer.m4 m4/stdlib_h.m4 m4/stpcpy.m4 m4/stpncpy.m4 m4/strcspn.m4 m4/strdup.m4 m4/strerror.m4 m4/strftime.m4 m4/string_h.m4 m4/strndup.m4 m4/strnlen.m4 m4/strpbrk.m4 m4/strtod.m4 m4/strtoimax.m4 m4/strtol.m4 m4/strtoll.m4 m4/strtoul.m4 m4/strtoull.m4 m4/strtoumax.m4 m4/strverscmp.m4 m4/sys_socket_h.m4 m4/sys_stat_h.m4 m4/sys_time_h.m4 m4/tempname.m4 m4/time_h.m4 m4/time_r.m4 m4/timespec.m4 m4/tm_gmtoff.m4 m4/tzset.m4 m4/uintmax_t.m4 m4/unicodeio.m4 m4/unistd-safer.m4 m4/unistd_h.m4 m4/unlink-busy.m4 m4/unlinkdir.m4 m4/unlocked-io.m4 m4/uptime.m4 m4/userspec.m4 m4/utimbuf.m4 m4/utime.m4 m4/utimecmp.m4 m4/utimens.m4 m4/utimes-null.m4 m4/utimes.m4 m4/vasnprintf.m4 m4/vasprintf-posix.m4 m4/vasprintf.m4 m4/vfprintf-posix.m4 m4/visibility.m4 m4/vprintf-posix.m4 m4/wchar.m4 m4/wchar_t.m4 m4/wctype.m4 m4/wcwidth.m4 m4/wint_t.m4 m4/write-any-file.m4 m4/xalloc.m4 m4/xgetcwd.m4 m4/xnanosleep.m4 m4/xsize.m4 m4/xstrndup.m4 m4/xstrtod.m4 m4/xstrtol.m4 tests/nan.h tests/test-EOVERFLOW.c tests/test-alloca-opt.c tests/test-argmatch.c tests/test-arpa_inet.c tests/test-atexit.c tests/test-atexit.sh tests/test-base64.c tests/test-binary-io.c tests/test-binary-io.sh tests/test-c-ctype.c tests/test-c-strcase.sh tests/test-c-strcasecmp.c tests/test-c-strncasecmp.c tests/test-canonicalize.c tests/test-canonicalize.sh tests/test-closein.c tests/test-closein.sh tests/test-dirname.c tests/test-environ.c tests/test-fcntl.c tests/test-fflush.c tests/test-fflush2.c tests/test-fflush2.sh tests/test-filenamecat.c tests/test-fpending.c tests/test-fpending.sh tests/test-fprintf-posix.h tests/test-fpurge.c tests/test-freadahead.c tests/test-freadahead.sh tests/test-freading.c tests/test-freadptr.c tests/test-freadptr.sh tests/test-freadptr2.c tests/test-freadptr2.sh tests/test-freadseek.c tests/test-freadseek.sh tests/test-frexp.c tests/test-frexpl.c tests/test-fseeko.c tests/test-fseeko.sh tests/test-fseterr.c tests/test-ftello.c tests/test-ftello.sh tests/test-getdelim.c tests/test-gethostname.c tests/test-getline.c tests/test-getndelim2.c tests/test-gettimeofday.c tests/test-iconv.c tests/test-inttypes.c tests/test-isnand.c tests/test-isnanf.c tests/test-isnanl-nolibm.c tests/test-isnanl.h tests/test-lseek.c tests/test-lseek.sh tests/test-malloca.c tests/test-math.c tests/test-mbscasecmp.c tests/test-mbscasecmp.sh tests/test-mbsstr1.c tests/test-mbsstr2.c tests/test-mbsstr2.sh tests/test-mbsstr3.c tests/test-mbsstr3.sh tests/test-md5.c tests/test-memchr.c tests/test-memchr2.c tests/test-memcmp.c tests/test-memrchr.c tests/test-netinet_in.c tests/test-printf-frexp.c tests/test-printf-frexpl.c tests/test-printf-posix.h tests/test-printf-posix.output tests/test-quotearg.c tests/test-sha1.c tests/test-signbit.c tests/test-sleep.c tests/test-snprintf.c tests/test-stat-time.c tests/test-stdbool.c tests/test-stdint.c tests/test-stdio.c tests/test-stdlib.c tests/test-strerror.c tests/test-striconv.c tests/test-string.c tests/test-strtod.c tests/test-sys_socket.c tests/test-sys_stat.c tests/test-sys_time.c tests/test-time.c tests/test-unistd.c tests/test-vasnprintf.c tests/test-vasprintf-posix.c tests/test-vasprintf.c tests/test-vc-list-files-cvs.sh tests/test-vc-list-files-git.sh tests/test-vfprintf-posix.c tests/test-vfprintf-posix.sh tests/test-vprintf-posix.c tests/test-vprintf-posix.sh tests/test-wchar.c tests/test-wctype.c tests/test-wcwidth.c tests/test-xfprintf-posix.c tests/test-xprintf-posix.c tests/test-xprintf-posix.sh tests/test-xstrtoimax.c tests/test-xstrtoimax.sh tests/test-xstrtol.c tests/test-xstrtol.sh tests/test-xstrtoul.c tests/test-xstrtoumax.c tests/test-xstrtoumax.sh tests/uniwidth/test-uc_width.c tests=lib/binary-io.h tests=lib/progname.c tests=lib/progname.h tests=lib/sleep.c top/GNUmakefile ]) dc3dd-7.1.614/m4/write-any-file.m40000644000175000017500000000063311022023316016045 0ustar amedicoamedico# Determine whether we can write any file. # Copyright (C) 2007 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. AC_DEFUN([gl_WRITE_ANY_FILE], [ AC_CHECK_HEADERS_ONCE(priv.h) AC_LIBOBJ([write-any-file]) ]) dc3dd-7.1.614/m4/float_h.m40000644000175000017500000000100111022023316014613 0ustar amedicoamedico# float_h.m4 serial 3 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FLOAT_H], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) FLOAT_H= case "$host_os" in beos* | openbsd*) FLOAT_H=float.h gl_CHECK_NEXT_HEADERS([float.h]) ;; esac AC_SUBST([FLOAT_H]) ]) dc3dd-7.1.614/m4/pathmax.m40000644000175000017500000000061011022023316014646 0ustar amedicoamedico# pathmax.m4 serial 6 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_PATHMAX], [ dnl Prerequisites of lib/pathmax.h. AC_CHECK_HEADERS_ONCE(sys/param.h) ]) dc3dd-7.1.614/m4/lchmod.m40000644000175000017500000000063511022023316014461 0ustar amedicoamedico#serial 2 dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. dnl Provide a replacement for lchmod on hosts that lack it. AC_DEFUN([gl_FUNC_LCHMOD], [ AC_CHECK_FUNCS_ONCE([lchmod]) ]) dc3dd-7.1.614/m4/error.m40000644000175000017500000000103411022023316014336 0ustar amedicoamedico#serial 11 # Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_ERROR], [ AC_FUNC_ERROR_AT_LINE dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]). gl_PREREQ_ERROR ]) # Prerequisites of lib/error.c. AC_DEFUN([gl_PREREQ_ERROR], [ AC_REQUIRE([AC_FUNC_STRERROR_R]) : ]) dc3dd-7.1.614/m4/setenv.m40000644000175000017500000000333111064230667014532 0ustar amedicoamedico# setenv.m4 serial 10 dnl Copyright (C) 2001-2004, 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_SETENV], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([setenv]) if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 AC_LIBOBJ([setenv]) gl_PREREQ_SETENV fi ]) # Like gl_FUNC_SETENV, except prepare for separate compilation (no AC_LIBOBJ). AC_DEFUN([gl_FUNC_SETENV_SEPARATE], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CHECK_FUNCS_ONCE([setenv]) if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 fi gl_PREREQ_SETENV ]) AC_DEFUN([gl_FUNC_UNSETENV], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) AC_CHECK_FUNCS([unsetenv]) if test $ac_cv_func_unsetenv = no; then HAVE_UNSETENV=0 AC_LIBOBJ([unsetenv]) gl_PREREQ_UNSETENV else AC_CACHE_CHECK([for unsetenv() return type], gt_cv_func_unsetenv_ret, [AC_TRY_COMPILE([#include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) int unsetenv (const char *name); #else int unsetenv(); #endif ], , gt_cv_func_unsetenv_ret='int', gt_cv_func_unsetenv_ret='void')]) if test $gt_cv_func_unsetenv_ret = 'void'; then VOID_UNSETENV=1 fi fi ]) # Prerequisites of lib/setenv.c. AC_DEFUN([gl_PREREQ_SETENV], [ AC_REQUIRE([AC_FUNC_ALLOCA]) AC_REQUIRE([gl_ENVIRON]) AC_CHECK_HEADERS_ONCE(unistd.h) AC_CHECK_HEADERS(search.h) AC_CHECK_FUNCS(tsearch) ]) # Prerequisites of lib/unsetenv.c. AC_DEFUN([gl_PREREQ_UNSETENV], [ AC_REQUIRE([gl_ENVIRON]) AC_CHECK_HEADERS_ONCE(unistd.h) ]) dc3dd-7.1.614/m4/sys_stat_h.m40000644000175000017500000000321611064230667015410 0ustar amedicoamedico# sys_stat_h.m4 serial 8 -*- Autoconf -*- dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Eric Blake. dnl Test whether contains lstat and mkdir or must be substituted. AC_DEFUN([gl_HEADER_SYS_STAT_H], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) dnl Check for lstat. Systems that lack it (mingw) also lack symlinks, so dnl stat is a good replacement. AC_CHECK_FUNCS_ONCE([lstat]) if test $ac_cv_func_lstat = yes; then HAVE_LSTAT=1 else HAVE_LSTAT=0 fi AC_SUBST([HAVE_LSTAT]) dnl For the mkdir substitute. AC_REQUIRE([AC_C_INLINE]) dnl Check for broken stat macros. AC_REQUIRE([AC_HEADER_STAT]) gl_CHECK_NEXT_HEADERS([sys/stat.h]) SYS_STAT_H='sys/stat.h' AC_SUBST([SYS_STAT_H]) dnl Define types that are supposed to be defined in or dnl . AC_CHECK_TYPE([nlink_t], [], [AC_DEFINE([nlink_t], [int], [Define to the type of st_nlink in struct stat, or a supertype.])], [#include #include ]) ]) # gl_HEADER_SYS_STAT_H AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], [ dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR]) ]) dc3dd-7.1.614/m4/settime.m40000644000175000017500000000073711022023316014670 0ustar amedicoamedico# settime.m4 serial 5 dnl Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SETTIME], [ AC_LIBOBJ([settime]) dnl Prerequisites of lib/settime.c. AC_REQUIRE([gl_CLOCK_TIME]) AC_REQUIRE([gl_TIMESPEC]) AC_CHECK_FUNCS_ONCE(settimeofday stime) ]) dc3dd-7.1.614/m4/hdparm.m40000644000175000017500000000260511141664564014507 0ustar amedicoamedico# hdparm.m4 serial 0 dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Andrew Medico , 2008. AC_PREREQ(2.50) AC_DEFUN([DC3_HDPARM], [ AC_MSG_CHECKING([whether hdparm support is requested]) dnl Default is disabled AC_ARG_ENABLE(hdparm, [ --enable-hdparm use hdparm code to check for HPA/DCO on ATA drives], USE_HDPARM=$enableval, USE_HDPARM=no) AM_CONDITIONAL([COND_USE_HDPARM], [test x$USE_HDPARM == xyes]) AC_MSG_RESULT($USE_HDPARM) AC_SUBST(USE_HDPARM) ]) AC_DEFUN([DC3_HDPARM_SET], [ if test "$USE_HDPARM" = "yes"; then AC_DEFINE(USE_HDPARM, 1, [Define if hdparm is requested for detecting HPA/DCO.]) fi ]) dc3dd-7.1.614/m4/inttypes.m40000644000175000017500000002204211064230667015105 0ustar amedicoamedico# inttypes.m4 serial 12 dnl Copyright (C) 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Derek Price, Bruno Haible. dnl Test whether is supported or must be substituted. AC_DEFUN([gl_INTTYPES_H], [ AC_REQUIRE([gl_STDINT_H]) AC_REQUIRE([gt_INTTYPES_PRI]) AC_CHECK_DECLS_ONCE([imaxabs]) AC_CHECK_DECLS_ONCE([imaxdiv]) AC_CHECK_DECLS_ONCE([strtoimax]) AC_CHECK_DECLS_ONCE([strtoumax]) dnl Now see if we need a substitute . dnl A complete requires dnl - a complete , dnl - the existence of an , dnl - that imaxabs, imaxdiv, strtoimax, strtoumax are declared, dnl - some additional tests. AC_CACHE_CHECK([whether inttypes.h conforms to C99], [gl_cv_header_working_inttypes_h], [gl_cv_header_working_inttypes_h=no if test "$gl_cv_header_working_stdint_h" = yes \ && test $ac_cv_header_inttypes_h = yes \ && test "$ac_cv_have_decl_imaxabs" = yes \ && test "$ac_cv_have_decl_imaxdiv" = yes \ && test "$ac_cv_have_decl_strtoimax" = yes \ && test "$ac_cv_have_decl_strtoumax" = yes; then AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ #include #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_FORMAT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* work if build isn't clean */ #include /* No need to duplicate the tests of stdint.m4; they are subsumed by $gl_cv_header_working_stdint_h = yes. */ /* Tests for macros supposed to be defined in inttypes.h. */ const char *k = /* implicit string concatenation */ #ifdef INT8_MAX PRId8 PRIi8 #endif #ifdef UINT8_MAX PRIo8 PRIu8 PRIx8 PRIX8 #endif #ifdef INT16_MAX PRId16 PRIi16 #endif #ifdef UINT16_MAX PRIo16 PRIu16 PRIx16 PRIX16 #endif #ifdef INT32_MAX PRId32 PRIi32 #endif #ifdef UINT32_MAX PRIo32 PRIu32 PRIx32 PRIX32 #endif #ifdef INT64_MAX PRId64 PRIi64 #endif #ifdef UINT64_MAX PRIo64 PRIu64 PRIx64 PRIX64 #endif PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8 PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16 PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32 PRIdLEAST64 PRIiLEAST64 PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64 PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8 PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16 PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32 PRIdFAST64 PRIiFAST64 PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64 PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX #ifdef INTPTR_MAX PRIdPTR PRIiPTR #endif #ifdef UINTPTR_MAX PRIoPTR PRIuPTR PRIxPTR PRIXPTR #endif ; const char *l = /* implicit string concatenation */ #ifdef INT8_MAX SCNd8 SCNi8 #endif #ifdef UINT8_MAX SCNo8 SCNu8 SCNx8 #endif #ifdef INT16_MAX SCNd16 SCNi16 #endif #ifdef UINT16_MAX SCNo16 SCNu16 SCNx16 #endif #ifdef INT32_MAX SCNd32 SCNi32 #endif #ifdef UINT32_MAX SCNo32 SCNu32 SCNx32 #endif #ifdef INT64_MAX SCNd64 SCNi64 #endif #ifdef UINT64_MAX SCNo64 SCNu64 SCNx64 #endif SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8 SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16 SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32 SCNdLEAST64 SCNiLEAST64 SCNoLEAST64 SCNuLEAST64 SCNxLEAST64 SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8 SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16 SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32 SCNdFAST64 SCNiFAST64 SCNoFAST64 SCNuFAST64 SCNxFAST64 SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX #ifdef INTPTR_MAX SCNdPTR SCNiPTR #endif #ifdef UINTPTR_MAX SCNoPTR SCNuPTR SCNxPTR #endif ; ]])], [gl_cv_header_working_inttypes_h=yes]) fi]) dnl Override always, so that the portability warnings work. if false && test $gl_cv_header_working_inttypes_h = yes; then dnl Use the existing . INTTYPES_H='' else AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([inttypes.h]) dnl Ensure that defines the limit macros, since gnulib's dnl relies on them. This macro is only needed when a dnl C++ compiler is in use; it has no effect for a C compiler. dnl Also be careful to define __STDC_LIMIT_MACROS only when gnulib's dnl is going to be created, and to avoid redefinition warnings dnl if the __STDC_LIMIT_MACROS is already defined through the CPPFLAGS. AC_DEFINE([GL_TRIGGER_STDC_LIMIT_MACROS], 1, [Define to make the limit macros in visible.]) AH_VERBATIM([__STDC_LIMIT_MACROS_ZZZ], [/* Ensure that defines the limit macros, since gnulib's relies on them. */ #if defined __cplusplus && !defined __STDC_LIMIT_MACROS && GL_TRIGGER_STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS 1 #endif ]) PRIPTR_PREFIX= if test -n "$STDINT_H"; then dnl Using the gnulib . It always defines intptr_t to 'long'. PRIPTR_PREFIX='"l"' else dnl Using the system's . for glpfx in '' l ll I64; do case $glpfx in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; I64) gltype1='__int64';; esac AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include extern intptr_t foo; extern $gltype1 foo;]])], [PRIPTR_PREFIX='"'$glpfx'"']) test -n "$PRIPTR_PREFIX" && break done fi AC_SUBST([PRIPTR_PREFIX]) if test "$ac_cv_have_decl_imaxabs" = yes; then HAVE_DECL_IMAXABS=1 else HAVE_DECL_IMAXABS=0 fi if test "$ac_cv_have_decl_imaxdiv" = yes; then HAVE_DECL_IMAXDIV=1 else HAVE_DECL_IMAXDIV=0 fi if test "$ac_cv_have_decl_strtoimax" = yes; then HAVE_DECL_STRTOIMAX=1 else HAVE_DECL_STRTOIMAX=0 fi if test "$ac_cv_have_decl_strtoumax" = yes; then HAVE_DECL_STRTOUMAX=1 else HAVE_DECL_STRTOUMAX=0 fi gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [INT32_MAX_LT_INTMAX_MAX], [defined INT32_MAX && defined INTMAX_MAX], [INT32_MAX < INTMAX_MAX], [sizeof (int) < sizeof (long long int)]) gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [INT64_MAX_EQ_LONG_MAX], [defined INT64_MAX], [INT64_MAX == LONG_MAX], [sizeof (long long int) == sizeof (long int)]) gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [UINT32_MAX_LT_UINTMAX_MAX], [defined UINT32_MAX && defined UINTMAX_MAX], [UINT32_MAX < UINTMAX_MAX], [sizeof (unsigned int) < sizeof (unsigned long long int)]) gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION( [UINT64_MAX_EQ_ULONG_MAX], [defined UINT64_MAX], [UINT64_MAX == ULONG_MAX], [sizeof (unsigned long long int) == sizeof (unsigned long int)]) INTTYPES_H='inttypes.h' fi AC_SUBST(INTTYPES_H) ]) # Define the symbol $1 to be 1 if the condition is true, 0 otherwise. # If $2 is true, the condition is $3; otherwise if long long int is supported # approximate the condition with $4; otherwise, assume the condition is false. # The condition should work on all C99 platforms; the approximations should be # good enough to work on all practical pre-C99 platforms. # $2 is evaluated by the C preprocessor, $3 and $4 as compile-time constants. AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION], [ AC_CACHE_CHECK([whether $3], [gl_cv_test_$1], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[/* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if $2 #define CONDITION ($3) #elif HAVE_LONG_LONG_INT #define CONDITION ($4) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1];]])], [gl_cv_test_$1=yes], [gl_cv_test_$1=no])]) if test $gl_cv_test_$1 = yes; then $1=1; else $1=0; fi AC_SUBST([$1]) ]) AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_INTTYPES_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_INTTYPES_H_DEFAULTS], [ GNULIB_IMAXABS=0; AC_SUBST([GNULIB_IMAXABS]) GNULIB_IMAXDIV=0; AC_SUBST([GNULIB_IMAXDIV]) GNULIB_STRTOIMAX=0; AC_SUBST([GNULIB_STRTOIMAX]) GNULIB_STRTOUMAX=0; AC_SUBST([GNULIB_STRTOUMAX]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_IMAXABS=1; AC_SUBST([HAVE_DECL_IMAXABS]) HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV]) HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) ]) dc3dd-7.1.614/m4/inttostr.m40000644000175000017500000000161411022023316015077 0ustar amedicoamedico#serial 7 dnl Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_INTTOSTR], [ AC_LIBOBJ([imaxtostr]) AC_LIBOBJ([offtostr]) AC_LIBOBJ([umaxtostr]) AC_LIBOBJ([uinttostr]) gl_PREREQ_INTTOSTR gl_PREREQ_IMAXTOSTR gl_PREREQ_OFFTOSTR gl_PREREQ_UMAXTOSTR gl_PREREQ_UINTTOSTR ]) # Prerequisites of lib/inttostr.h. AC_DEFUN([gl_PREREQ_INTTOSTR], [ AC_REQUIRE([AC_TYPE_OFF_T]) : ]) # Prerequisites of lib/imaxtostr.c. AC_DEFUN([gl_PREREQ_IMAXTOSTR], [:]) # Prerequisites of lib/offtostr.c. AC_DEFUN([gl_PREREQ_OFFTOSTR], [:]) # Prerequisites of lib/umaxtostr.c. AC_DEFUN([gl_PREREQ_UMAXTOSTR], [:]) # Prerequisites of lib/uinttostr.c. AC_DEFUN([gl_PREREQ_UINTTOSTR], [:]) dc3dd-7.1.614/m4/lib-prefix.m40000644000175000017500000001503611022023316015255 0ustar amedicoamedico# lib-prefix.m4 serial 5 (gettext-0.15) dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing dnl the basename of the libdir, either "lib" or "lib64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. The current dnl practice is that on a system supporting 32-bit and 64-bit instruction dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit dnl libraries go under $prefix/lib. We determine the compiler's default dnl mode by looking at the compiler's library search path. If at least dnl of its elements ends in /lib64 or points to a directory whose absolute dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the dnl default, namely "lib". acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ]) dc3dd-7.1.614/m4/getdelim.m40000644000175000017500000000144711022023316015007 0ustar amedicoamedico# getdelim.m4 serial 5 dnl Copyright (C) 2005, 2006, 2007 Free Software dnl Foundation, Inc. dnl dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_PREREQ([2.59]) AC_DEFUN([gl_FUNC_GETDELIM], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) dnl Persuade glibc to declare getdelim(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REPLACE_FUNCS([getdelim]) AC_CHECK_DECLS_ONCE([getdelim]) if test $ac_cv_func_getdelim = no; then gl_PREREQ_GETDELIM fi if test $ac_cv_have_decl_getdelim = no; then HAVE_DECL_GETDELIM=0 fi ]) # Prerequisites of lib/getdelim.c. AC_DEFUN([gl_PREREQ_GETDELIM], [ AC_CHECK_FUNCS([flockfile funlockfile]) ]) dc3dd-7.1.614/m4/printf-frexp.m40000644000175000017500000000266511022023316015644 0ustar amedicoamedico# printf-frexp.m4 serial 2 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check how to define printf_frexp() without linking with libm. AC_DEFUN([gl_FUNC_PRINTF_FREXP], [ AC_CACHE_CHECK([whether frexp can be used without linking with libm], [gl_cv_func_frexp_no_libm], [ AC_TRY_LINK([#include double x; int y;], [return frexp (x, &y) < 1;], [gl_cv_func_frexp_no_libm=yes], [gl_cv_func_frexp_no_libm=no]) ]) if test $gl_cv_func_frexp_no_libm = yes; then gl_FUNC_FREXP_WORKS case "$gl_cv_func_frexp_works" in *yes) AC_DEFINE([HAVE_FREXP_IN_LIBC], 1, [Define if the frexp function is available in libc.]) ;; esac fi AC_CACHE_CHECK([whether ldexp can be used without linking with libm], [gl_cv_func_ldexp_no_libm], [ AC_TRY_LINK([#include double x; int y;], [return ldexp (x, y) < 1;], [gl_cv_func_ldexp_no_libm=yes], [gl_cv_func_ldexp_no_libm=no]) ]) if test $gl_cv_func_ldexp_no_libm = yes; then AC_DEFINE([HAVE_LDEXP_IN_LIBC], 1, [Define if the ldexp function is available in libc.]) fi ]) dc3dd-7.1.614/m4/wchar.m40000644000175000017500000000326311022023316014317 0ustar amedicoamedicodnl A placeholder for ISO C99 , for platforms that have issues. dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Eric Blake. # wchar.m4 serial 4 AC_DEFUN([gl_WCHAR_H], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_CACHE_CHECK([whether is standalone], [gl_cv_header_wchar_h_standalone], [AC_COMPILE_IFELSE([[#include wchar_t w;]], [gl_cv_header_wchar_h_standalone=yes], [gl_cv_header_wchar_h_standalone=no])]) if test $gl_cv_header_wchar_h_standalone != yes; then WCHAR_H=wchar.h fi dnl Prepare for creating substitute . dnl Do it always: WCHAR_H may be empty here but can be set later. dnl Check for (missing in Linux uClibc when built without wide dnl character support). AC_CHECK_HEADERS_ONCE([wchar.h]) if test $ac_cv_header_wchar_h = yes; then HAVE_WCHAR_H=1 else HAVE_WCHAR_H=0 fi AC_SUBST([HAVE_WCHAR_H]) gl_CHECK_NEXT_HEADERS([wchar.h]) ]) AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_WCHAR_H_DEFAULTS], [ GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) WCHAR_H= AC_SUBST([WCHAR_H]) ]) dc3dd-7.1.614/m4/st_dm_mode.m40000644000175000017500000000136611022023316015327 0ustar amedicoamedico#serial 4 # Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Define HAVE_ST_DM_MODE if struct stat has an st_dm_mode member. AC_DEFUN([AC_STRUCT_ST_DM_MODE], [AC_CACHE_CHECK([for st_dm_mode in struct stat], ac_cv_struct_st_dm_mode, [AC_TRY_COMPILE([#include #include ], [struct stat s; s.st_dm_mode;], ac_cv_struct_st_dm_mode=yes, ac_cv_struct_st_dm_mode=no)]) if test $ac_cv_struct_st_dm_mode = yes; then AC_DEFINE(HAVE_ST_DM_MODE, 1, [Define if struct stat has an st_dm_mode member. ]) fi ] ) dc3dd-7.1.614/m4/memrchr.m40000644000175000017500000000134711022023316014651 0ustar amedicoamedico# memrchr.m4 serial 8 dnl Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MEMRCHR], [ dnl Persuade glibc to declare memrchr(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CHECK_DECLS_ONCE([memrchr]) if test $ac_cv_have_decl_memrchr = no; then HAVE_DECL_MEMRCHR=0 fi AC_REPLACE_FUNCS(memrchr) if test $ac_cv_func_memrchr = no; then gl_PREREQ_MEMRCHR fi ]) # Prerequisites of lib/memrchr.c. AC_DEFUN([gl_PREREQ_MEMRCHR], [:]) dc3dd-7.1.614/m4/strverscmp.m40000644000175000017500000000114411022023316015417 0ustar amedicoamedico# strverscmp.m4 serial 5 dnl Copyright (C) 2002, 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRVERSCMP], [ dnl Persuade glibc to declare strverscmp(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REPLACE_FUNCS(strverscmp) if test $ac_cv_func_strverscmp = no; then gl_PREREQ_STRVERSCMP fi ]) # Prerequisites of lib/strverscmp.c. AC_DEFUN([gl_PREREQ_STRVERSCMP], [ : ]) dc3dd-7.1.614/m4/iconv_h.m40000644000175000017500000000163611022023316014642 0ustar amedicoamedico# iconv_h.m4 serial 3 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_ICONV_H], [ AC_REQUIRE([gl_ICONV_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([iconv.h]) ICONV_H= AC_SUBST([ICONV_H]) ]) AC_DEFUN([gl_ICONV_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_ICONV_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_ICONV_H_DEFAULTS], [ dnl Assume proper GNU behavior unless another module says otherwise. REPLACE_ICONV=0; AC_SUBST([REPLACE_ICONV]) REPLACE_ICONV_OPEN=0; AC_SUBST([REPLACE_ICONV_OPEN]) REPLACE_ICONV_UTF=0; AC_SUBST([REPLACE_ICONV_UTF]) ]) dc3dd-7.1.614/m4/size_max.m40000644000175000017500000000513311022023316015030 0ustar amedicoamedico# size_max.m4 serial 6 dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([gl_SIZE_MAX], [ AC_CHECK_HEADERS(stdint.h) dnl First test whether the system already has SIZE_MAX. AC_MSG_CHECKING([for SIZE_MAX]) AC_CACHE_VAL([gl_cv_size_max], [ gl_cv_size_max= AC_EGREP_CPP([Found it], [ #include #if HAVE_STDINT_H #include #endif #ifdef SIZE_MAX Found it #endif ], gl_cv_size_max=yes) if test -z "$gl_cv_size_max"; then dnl Define it ourselves. Here we assume that the type 'size_t' is not wider dnl than the type 'unsigned long'. Try hard to find a definition that can dnl be used in a preprocessor #if, i.e. doesn't contain a cast. AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], [#include #include ], size_t_bits_minus_1=) AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], [#include ], fits_in_uint=) if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then if test $fits_in_uint = 1; then dnl Even though SIZE_MAX fits in an unsigned int, it must be of type dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. AC_TRY_COMPILE([#include extern size_t foo; extern unsigned long foo; ], [], fits_in_uint=0) fi dnl We cannot use 'expr' to simplify this expression, because 'expr' dnl works only with 'long' integers in the host environment, while we dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. if test $fits_in_uint = 1; then gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" else gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" fi else dnl Shouldn't happen, but who knows... gl_cv_size_max='((size_t)~(size_t)0)' fi fi ]) AC_MSG_RESULT([$gl_cv_size_max]) if test "$gl_cv_size_max" != yes; then AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], [Define as the maximum value of type 'size_t', if the system doesn't define it.]) fi ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) dc3dd-7.1.614/m4/locale-fr.m40000644000175000017500000002000711022023316015052 0ustar amedicoamedico# locale-fr.m4 serial 8 dnl Copyright (C) 2003, 2005-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Determine the name of a french locale with traditional encoding. AC_DEFUN([gt_LOCALE_FR], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a traditional french locale], gt_cv_locale_fr, [ macosx= changequote(,)dnl case "$host_os" in darwin[56]*) ;; darwin*) macosx=yes;; esac changequote([,])dnl if test -n "$macosx"; then # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8 # encodings, but the kernel does not support them. The documentation # says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # See the comments in config.charset. Therefore we bypass the test. gt_cv_locale_fr=none else AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* fi ]) LOCALE_FR=$gt_cv_locale_fr AC_SUBST([LOCALE_FR]) ]) dnl Determine the name of a french locale with UTF-8 encoding. AC_DEFUN([gt_LOCALE_FR_UTF8], [ AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a french Unicode locale], gt_cv_locale_fr_utf8, [ AC_LANG_CONFTEST([AC_LANG_SOURCE([ changequote(,)dnl #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !defined(__BEOS__) /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } changequote([,])dnl ])]) if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi fi rm -fr conftest* ]) LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 AC_SUBST([LOCALE_FR_UTF8]) ]) dc3dd-7.1.614/m4/strdup.m40000644000175000017500000000112711022023316014531 0ustar amedicoamedico# strdup.m4 serial 9 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRDUP], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REPLACE_FUNCS(strdup) AC_CHECK_DECLS_ONCE(strdup) if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi gl_PREREQ_STRDUP ]) # Prerequisites of lib/strdup.c. AC_DEFUN([gl_PREREQ_STRDUP], [:]) dc3dd-7.1.614/m4/xnanosleep.m40000644000175000017500000000053711022023316015370 0ustar amedicoamedico#serial 4 dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_XNANOSLEEP], [ AC_LIBOBJ([xnanosleep]) ]) dc3dd-7.1.614/m4/stdlib-safer.m40000644000175000017500000000053011022023316015564 0ustar amedicoamedico# stdlib-safer.m4 serial 2 dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_STDLIB_SAFER], [ AC_LIBOBJ([mkstemp-safer]) ]) dc3dd-7.1.614/m4/vasprintf.m40000644000175000017500000000206111022023316015222 0ustar amedicoamedico# vasprintf.m4 serial 6 dnl Copyright (C) 2002-2003, 2006-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VASPRINTF], [ AC_CHECK_FUNCS([vasprintf]) if test $ac_cv_func_vasprintf = no; then gl_REPLACE_VASPRINTF fi ]) AC_DEFUN([gl_REPLACE_VASPRINTF], [ AC_LIBOBJ([vasprintf]) AC_LIBOBJ([asprintf]) AC_REQUIRE([gl_STDIO_H_DEFAULTS]) if test $ac_cv_func_vasprintf = yes; then REPLACE_VASPRINTF=1 else HAVE_VASPRINTF=0 fi gl_PREREQ_VASPRINTF_H gl_PREREQ_VASPRINTF gl_PREREQ_ASPRINTF ]) # Prerequisites of the vasprintf portion of lib/stdio.h. AC_DEFUN([gl_PREREQ_VASPRINTF_H], [ dnl Persuade glibc to declare asprintf() and vasprintf(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) ]) # Prerequisites of lib/vasprintf.c. AC_DEFUN([gl_PREREQ_VASPRINTF], [ ]) # Prerequisites of lib/asprintf.c. AC_DEFUN([gl_PREREQ_ASPRINTF], [ ]) dc3dd-7.1.614/m4/xgetcwd.m40000644000175000017500000000055611022023316014662 0ustar amedicoamedico#serial 6 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XGETCWD], [ AC_LIBOBJ([xgetcwd]) AC_REQUIRE([gl_FUNC_GETCWD]) ]) dc3dd-7.1.614/m4/filemode.m40000644000175000017500000000062711022023316015000 0ustar amedicoamedico# filemode.m4 serial 7 dnl Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FILEMODE], [ AC_REQUIRE([AC_STRUCT_ST_DM_MODE]) AC_LIBOBJ([filemode]) AC_CHECK_DECLS_ONCE([strmode]) ]) dc3dd-7.1.614/m4/mountlist.m40000644000175000017500000000137511022023316015253 0ustar amedicoamedico#serial 9 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MOUNTLIST], [ gl_LIST_MOUNTED_FILE_SYSTEMS([gl_cv_list_mounted_fs=yes], [gl_cv_list_mounted_fs=no]) if test $gl_cv_list_mounted_fs = yes; then AC_LIBOBJ(mountlist) gl_PREREQ_MOUNTLIST_EXTRA fi ]) # Prerequisites of lib/mountlist.c not done by gl_LIST_MOUNTED_FILE_SYSTEMS. AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA], [ dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h. AC_CHECK_HEADERS(sys/mntent.h) gl_FSTYPENAME ]) dc3dd-7.1.614/m4/jm-winsz2.m40000644000175000017500000000166611022023316015060 0ustar amedicoamedico#serial 6 # Copyright (C) 1996, 1999, 2001, 2004 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL], [AC_REQUIRE([gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H]) AC_CACHE_CHECK([whether use of TIOCGWINSZ requires sys/ioctl.h], gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h, [gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no; then AC_EGREP_CPP([yes], [#include # include # ifdef TIOCGWINSZ yes # endif ], gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes) fi ]) if test $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then AC_DEFINE(GWINSZ_IN_SYS_IOCTL, 1, [Define if your system defines TIOCGWINSZ in sys/ioctl.h.]) fi ]) dc3dd-7.1.614/m4/getdate.m40000644000175000017500000000205211022023316014623 0ustar amedicoamedico# getdate.m4 serial 12 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_C_COMPOUND_LITERALS], [ AC_CACHE_CHECK([for compound literals], gl_cv_compound_literals, [AC_TRY_COMPILE([struct s { int i, j; }; struct s s = (struct s) { 1, 2 };], [struct s t = (struct s) { 3, 4 }; if (t.i != 0) return 0;], gl_cv_compound_literals=yes, gl_cv_compound_literals=no)]) if test $gl_cv_compound_literals = yes; then AC_DEFINE(HAVE_COMPOUND_LITERALS, 1, [Define if you have compound literals.]) fi ]) AC_DEFUN([gl_GETDATE], [ dnl Prerequisites of lib/getdate.h. AC_REQUIRE([AM_STDBOOL_H]) AC_REQUIRE([gl_TIMESPEC]) dnl Prerequisites of lib/getdate.y. AC_REQUIRE([gl_BISON]) AC_REQUIRE([gl_C_COMPOUND_LITERALS]) AC_STRUCT_TIMEZONE AC_REQUIRE([gl_CLOCK_TIME]) AC_REQUIRE([gl_TM_GMTOFF]) ]) dc3dd-7.1.614/m4/printf-frexpl.m40000644000175000017500000000442411022023316016013 0ustar amedicoamedico# printf-frexpl.m4 serial 5 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check how to define printf_frexpl() without linking with libm. AC_DEFUN([gl_FUNC_PRINTF_FREXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) dnl Subset of gl_FUNC_FREXPL_NO_LIBM. AC_CACHE_CHECK([whether frexpl can be used without linking with libm], [gl_cv_func_frexpl_no_libm], [ AC_TRY_LINK([#include long double x; int y;], [return frexpl (x, &y) < 1;], [gl_cv_func_frexpl_no_libm=yes], [gl_cv_func_frexpl_no_libm=no]) ]) if test $gl_cv_func_frexpl_no_libm = yes; then gl_FUNC_FREXPL_WORKS case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl_no_libm=yes ;; *) gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;; esac else gl_func_frexpl_no_libm=no dnl Set REPLACE_FREXPL here because the system may have frexpl in libm. REPLACE_FREXPL=1 fi if test $gl_func_frexpl_no_libm = yes; then AC_DEFINE([HAVE_FREXPL_IN_LIBC], 1, [Define if the frexpl function is available in libc.]) dnl Also check whether it's declared. dnl MacOS X 10.3 has frexpl() in libc but doesn't declare it in . AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include ]) fi AC_CACHE_CHECK([whether ldexpl can be used without linking with libm], [gl_cv_func_ldexpl_no_libm], [ AC_TRY_LINK([#include long double x; int y;], [return ldexpl (x, y) < 1;], [gl_cv_func_ldexpl_no_libm=yes], [gl_cv_func_ldexpl_no_libm=no]) ]) if test $gl_cv_func_ldexpl_no_libm = yes; then gl_FUNC_LDEXPL_WORKS case "$gl_cv_func_ldexpl_works" in *yes) AC_DEFINE([HAVE_LDEXPL_IN_LIBC], 1, [Define if the ldexpl function is available in libc.]) dnl Also check whether it's declared. dnl MacOS X 10.3 has ldexpl() in libc but doesn't declare it in . AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [#include ]) ;; esac fi ]) dc3dd-7.1.614/m4/mempcpy.m40000644000175000017500000000135611022023316014666 0ustar amedicoamedico# mempcpy.m4 serial 9 dnl Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MEMPCPY], [ dnl Persuade glibc to declare mempcpy(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl The mempcpy() declaration in lib/string.in.h uses 'restrict'. AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_REPLACE_FUNCS(mempcpy) if test $ac_cv_func_mempcpy = no; then HAVE_MEMPCPY=0 gl_PREREQ_MEMPCPY fi ]) # Prerequisites of lib/mempcpy.c. AC_DEFUN([gl_PREREQ_MEMPCPY], [ : ]) dc3dd-7.1.614/m4/lstat.m40000644000175000017500000000074311022023316014342 0ustar amedicoamedico#serial 16 # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Jim Meyering. AC_DEFUN([gl_FUNC_LSTAT], [ AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK dnl Note: AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK does AC_LIBOBJ(lstat). : ]) dc3dd-7.1.614/m4/strerror.m40000644000175000017500000000264211064230667015114 0ustar amedicoamedico# strerror.m4 serial 8 dnl Copyright (C) 2002, 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRERROR], [ AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE]) if test $gl_cv_func_working_strerror = no; then AC_LIBOBJ([strerror]) AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR], [Define this to 1 if strerror is broken.]) fi ]) # Like gl_FUNC_STRERROR, except prepare for separate compilation (no AC_LIBOBJ). AC_DEFUN([gl_FUNC_STRERROR_SEPARATE], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) AC_CACHE_CHECK([for working strerror function], [gl_cv_func_working_strerror], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[return !*strerror (-2);]])], [gl_cv_func_working_strerror=yes], [gl_cv_func_working_strerror=no], [dnl Assume crossbuild works if it compiles. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[return !*strerror (-2);]])], [gl_cv_func_working_strerror=yes], [gl_cv_func_working_strerror=no])])]) if test $gl_cv_func_working_strerror = no ; then REPLACE_STRERROR=1 gl_PREREQ_STRERROR fi ]) # Prerequisites of lib/strerror.c. AC_DEFUN([gl_PREREQ_STRERROR], [ AC_CHECK_DECLS([strerror]) ]) dc3dd-7.1.614/m4/check-decl.m40000644000175000017500000000222611022023316015173 0ustar amedicoamedico#serial 23 # Check declarations for this package. dnl Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006 dnl Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl This is just a wrapper function to encapsulate this kludge. dnl Putting it in a separate file like this helps share it between dnl different packages. AC_DEFUN([gl_CHECK_DECLS], [ AC_REQUIRE([AC_HEADER_TIME]) AC_CHECK_HEADERS_ONCE(grp.h pwd.h) headers=' #include #include #if HAVE_GRP_H # include #endif #if HAVE_PWD_H # include #endif ' AC_CHECK_DECLS([ getgrgid, getpwuid, ttyname], , , $headers) AC_CHECK_DECLS([isblank], [], [], [#include ]) AC_CHECK_DECLS_ONCE([free]) AC_CHECK_DECLS_ONCE([getenv]) AC_CHECK_DECLS_ONCE([geteuid]) AC_CHECK_DECLS_ONCE([getlogin]) AC_CHECK_DECLS_ONCE([getuid]) AC_CHECK_DECLS_ONCE([lseek]) AC_CHECK_DECLS_ONCE([malloc]) AC_CHECK_DECLS_ONCE([memchr]) AC_CHECK_DECLS_ONCE([realloc]) ]) dc3dd-7.1.614/m4/strnumcmp.m40000644000175000017500000000124011022023316015234 0ustar amedicoamedico# Compare numeric strings. dnl Copyright (C) 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Paul Eggert. AC_DEFUN([gl_STRINTCMP], [ AC_LIBSOURCES([strintcmp.c, strnumcmp.h, strnumcmp-in.h]) AC_LIBOBJ([strintcmp]) dnl Prerequisites of lib/strintcmp.c. AC_REQUIRE([AC_INLINE]) ]) AC_DEFUN([gl_STRNUMCMP], [ AC_LIBSOURCES([strnumcmp.c, strnumcmp.h, strnumcmp-in.h]) AC_LIBOBJ([strnumcmp]) dnl Prerequisites of lib/strnumcmp.c. AC_REQUIRE([AC_INLINE]) ]) dc3dd-7.1.614/m4/d-type.m40000644000175000017500000000167311022023316014420 0ustar amedicoamedico#serial 9 dnl From Jim Meyering. dnl dnl Check whether struct dirent has a member named d_type. dnl # Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software # Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE], [AC_CACHE_CHECK([for d_type member in directory struct], gl_cv_struct_dirent_d_type, [AC_TRY_LINK(dnl [ #include #include ], [struct dirent dp; dp.d_type = 0;], gl_cv_struct_dirent_d_type=yes, gl_cv_struct_dirent_d_type=no) ] ) if test $gl_cv_struct_dirent_d_type = yes; then AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE, 1, [Define if there is a member named d_type in the struct describing directory headers.]) fi ] ) dc3dd-7.1.614/m4/exitfail.m40000644000175000017500000000060611022023316015016 0ustar amedicoamedico# exitfail.m4 serial 6 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_EXITFAIL], [ AC_LIBOBJ([exitfail]) dnl No prerequisites of lib/exitfail.c. : ]) dc3dd-7.1.614/m4/intlmacosx.m40000644000175000017500000000456511022023316015402 0ustar amedicoamedico# intlmacosx.m4 serial 1 (gettext-0.17) dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], gt_cv_func_CFPreferencesCopyAppValue, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) dc3dd-7.1.614/m4/xstrtod.m40000644000175000017500000000070311022023316014716 0ustar amedicoamedico#serial 6 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Prerequisites of lib/xstrtod.c. AC_DEFUN([gl_XSTRTOD], [ AC_LIBOBJ([xstrtod]) ]) # Prerequisites of lib/xstrtold.c. AC_DEFUN([gl_XSTRTOLD], [ AC_LIBOBJ([xstrtold]) ]) dc3dd-7.1.614/m4/unistd-safer.m40000644000175000017500000000063111022023316015613 0ustar amedicoamedico#serial 8 dnl Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_UNISTD_SAFER], [ AC_CHECK_FUNCS_ONCE([pipe]) AC_LIBOBJ([dup-safer]) AC_LIBOBJ([fd-safer]) AC_LIBOBJ([pipe-safer]) ]) dc3dd-7.1.614/m4/utimes.m40000644000175000017500000000452111022023316014517 0ustar amedicoamedico# Detect some bugs in glibc's implementation of utimes. dnl Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # See if we need to work around bugs in glibc's implementation of # utimes from 2003-07-12 to 2003-09-17. # First, there was a bug that would make utimes set mtime # and atime to zero (1970-01-01) unconditionally. # Then, there was code to round rather than truncate. # Then, there was an implementation (sparc64, Linux-2.4.28, glibc-2.3.3) # that didn't honor the NULL-means-set-to-current-time semantics. # Finally, there was also a version of utimes that failed on read-only # files, while utime worked fine (linux-2.2.20, glibc-2.2.5). # # From Jim Meyering, with suggestions from Paul Eggert. AC_DEFUN([gl_FUNC_UTIMES], [ AC_CACHE_CHECK([determine whether the utimes function works], gl_cv_func_working_utimes, [ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include #include #include #include #include #include #include #include int main () { static struct timeval timeval[2] = {{9, 10}, {999999, 999999}}; struct stat sbuf; char const *file = "conftest.utimes"; FILE *f; time_t now; int fd; int ok = ((f = fopen (file, "w")) && fclose (f) == 0 && utimes (file, timeval) == 0 && lstat (file, &sbuf) == 0 && sbuf.st_atime == timeval[0].tv_sec && sbuf.st_mtime == timeval[1].tv_sec); unlink (file); if (!ok) exit (1); ok = ((f = fopen (file, "w")) && fclose (f) == 0 && time (&now) != (time_t)-1 && utimes (file, NULL) == 0 && lstat (file, &sbuf) == 0 && now - sbuf.st_atime <= 2 && now - sbuf.st_mtime <= 2); unlink (file); if (!ok) exit (1); ok = (0 <= (fd = open (file, O_WRONLY|O_CREAT, 0444)) && close (fd) == 0 && utimes (file, NULL) == 0); unlink (file); exit (!ok); } ]])], [gl_cv_func_working_utimes=yes], [gl_cv_func_working_utimes=no], [gl_cv_func_working_utimes=no])]) if test $gl_cv_func_working_utimes = yes; then AC_DEFINE([HAVE_WORKING_UTIMES], 1, [Define if utimes works properly. ]) fi ]) dc3dd-7.1.614/m4/assert.m40000644000175000017500000000113211022023316014505 0ustar amedicoamedico#serial 5 # Copyright (C) 1998, 1999, 2001, 2004 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl based on code from Eleftherios Gkioulekas AC_DEFUN([gl_ASSERT], [ AC_MSG_CHECKING(whether to enable assertions) AC_ARG_ENABLE(assert, [ --disable-assert turn off assertions], [ AC_MSG_RESULT(no) AC_DEFINE(NDEBUG,1,[Define to 1 if assertions should be disabled.]) ], [ AC_MSG_RESULT(yes) ] ) ]) dc3dd-7.1.614/m4/isnand.m40000644000175000017500000001132111064230667014500 0ustar amedicoamedico# isnand.m4 serial 2 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Check how to get or define isnand() without linking with libm. AC_DEFUN([gl_FUNC_ISNAND_NO_LIBM], [ AC_CACHE_CHECK([whether isnan(double) can be used without linking with libm], [gl_cv_func_isnand_no_libm], [ AC_TRY_LINK([#include #if __GNUC__ >= 4 # undef isnand # define isnand(x) __builtin_isnan ((double)(x)) #else # undef isnand # define isnand(x) isnan ((double)(x)) #endif double x;], [return isnand (x);], [gl_cv_func_isnand_no_libm=yes], [gl_cv_func_isnand_no_libm=no]) ]) if test $gl_cv_func_isnand_no_libm = yes; then AC_DEFINE([HAVE_ISNAND_IN_LIBC], 1, [Define if the isnan(double) function is available in libc.]) else AC_LIBOBJ([isnand]) gl_DOUBLE_EXPONENT_LOCATION fi ]) AC_DEFUN([gl_DOUBLE_EXPONENT_LOCATION], [ AC_CACHE_CHECK([where to find the exponent in a 'double'], [gl_cv_cc_double_expbit0], [ AC_TRY_RUN([ #include #include #include #include #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (double x) { memory_double m; size_t i; /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ memset (&m, 0, sizeof (memory_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25); add_to_ored_words (0.5); add_to_ored_words (1.0); add_to_ored_words (2.0); add_to_ored_words (4.0); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } ], [gl_cv_cc_double_expbit0=`cat conftest.out`], [gl_cv_cc_double_expbit0="unknown"], [ dnl On ARM, there are two 'double' floating-point formats, used by dnl different sets of instructions: The older FPA instructions assume dnl that they are stored in big-endian word order, while the words dnl (like integer types) are stored in little-endian byte order. dnl The newer VFP instructions assume little-endian order consistenly. AC_EGREP_CPP([mixed_endianness], [ #if defined arm || defined __arm || defined __arm__ mixed_endianness #endif ], [gl_cv_cc_double_expbit0="unknown"], [ pushdef([AC_MSG_CHECKING],[:])dnl pushdef([AC_MSG_RESULT],[:])dnl pushdef([AC_MSG_RESULT_UNQUOTED],[:])dnl AC_C_BIGENDIAN( [gl_cv_cc_double_expbit0="word 0 bit 20"], [gl_cv_cc_double_expbit0="word 1 bit 20"], [gl_cv_cc_double_expbit0="unknown"]) popdef([AC_MSG_RESULT_UNQUOTED])dnl popdef([AC_MSG_RESULT])dnl popdef([AC_MSG_CHECKING])dnl ]) ]) rm -f conftest.out ]) case "$gl_cv_cc_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` AC_DEFINE_UNQUOTED([DBL_EXPBIT0_WORD], [$word], [Define as the word index where to find the exponent of 'double'.]) AC_DEFINE_UNQUOTED([DBL_EXPBIT0_BIT], [$bit], [Define as the bit index in the word where to find bit 0 of the exponent of 'double'.]) ;; esac ]) dc3dd-7.1.614/m4/fflush.m40000644000175000017500000000363211064230667014521 0ustar amedicoamedico# fflush.m4 serial 6 # Copyright (C) 2007-2008 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Eric Blake dnl Find out how to obey POSIX semantics of fflush(stdin) discarding dnl unread input on seekable streams, rather than C99 undefined semantics. AC_DEFUN([gl_FUNC_FFLUSH], [ AC_CACHE_CHECK([whether fflush works on input streams], [gl_cv_func_fflush_stdin], [echo hello world > conftest.txt AC_RUN_IFELSE([AC_LANG_PROGRAM( [[ #include #include ]], [[FILE *f = fopen ("conftest.txt", "r"); char buffer[10]; int fd; if (f == NULL) return 1; fd = fileno (f); if (fd < 0 || fread (buffer, 1, 5, f) != 5) return 2; /* For deterministic results, ensure f read a bigger buffer. */ if (lseek (fd, 0, SEEK_CUR) == 5) return 3; /* POSIX requires fflush-fseek to set file offset of fd. */ if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0) return 4; if (lseek (fd, 0, SEEK_CUR) != 5) return 5; /* TODO: Verify behaviour of fflush after ungetc, see . */ return 0; ]])], [gl_cv_func_fflush_stdin=yes], [gl_cv_func_fflush_stdin=no], [dnl Pessimistically assume fflush is broken. This is wrong for dnl at least glibc and cygwin; but lib/fflush.c takes this into account. gl_cv_func_fflush_stdin=no]) rm conftest.txt ]) if test $gl_cv_func_fflush_stdin = no; then gl_REPLACE_FFLUSH fi ]) AC_DEFUN([gl_REPLACE_FFLUSH], [ AC_LIBOBJ([fflush]) AC_LIBOBJ([fseeko]) AC_REQUIRE([gl_STDIO_H_DEFAULTS]) REPLACE_FFLUSH=1 REPLACE_FSEEKO=1 gl_PREREQ_FFLUSH ]) # Prerequisites of lib/fflush.c. AC_DEFUN([gl_PREREQ_FFLUSH], [ AC_REQUIRE([AC_C_INLINE]) : ]) dc3dd-7.1.614/m4/utimens.m40000644000175000017500000000107311064230667014713 0ustar amedicoamedicodnl Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl serial 2 AC_DEFUN([gl_UTIMENS], [ AC_LIBOBJ([utimens]) dnl Prerequisites of lib/utimens.c. AC_REQUIRE([gl_FUNC_UTIMES]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_UTIMBUF]) AC_CHECK_FUNCS_ONCE([futimes futimesat futimens utimensat]) ]) dc3dd-7.1.614/m4/stdint_h.m40000644000175000017500000000161411022023316015025 0ustar amedicoamedico# stdint_h.m4 serial 6 dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_STDINT_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([gl_AC_HEADER_STDINT_H], [ AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1; return !i;], gl_cv_header_stdint_h=yes, gl_cv_header_stdint_h=no)]) if test $gl_cv_header_stdint_h = yes; then AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) dc3dd-7.1.614/m4/mkancesdirs.m40000644000175000017500000000053211022023316015512 0ustar amedicoamedico# Make a file's ancestor directories. dnl Copyright (C) 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MKANCESDIRS], [ AC_LIBOBJ([mkancesdirs]) ]) dc3dd-7.1.614/m4/environ.m40000644000175000017500000000221111064230667014702 0ustar amedicoamedico# environ.m4 serial 1 dnl Copyright (C) 2001-2004, 2006-2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_ENVIRON], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade glibc to declare environ. AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) gt_CHECK_VAR_DECL([#include ], environ) if test $gt_cv_var_environ_declaration != yes; then HAVE_DECL_ENVIRON=0 fi ]) # Check if a variable is properly declared. # gt_CHECK_VAR_DECL(includes,variable) AC_DEFUN([gt_CHECK_VAR_DECL], [ define([gt_cv_var], [gt_cv_var_]$2[_declaration]) AC_MSG_CHECKING([if $2 is properly declared]) AC_CACHE_VAL(gt_cv_var, [ AC_TRY_COMPILE([$1 extern struct { int foo; } $2;], [$2.foo = 1;], gt_cv_var=no, gt_cv_var=yes)]) AC_MSG_RESULT($gt_cv_var) if test $gt_cv_var = yes; then AC_DEFINE([HAVE_]translit($2, [a-z], [A-Z])[_DECL], 1, [Define if you have the declaration of $2.]) fi undefine([gt_cv_var]) ]) dc3dd-7.1.614/m4/posixver.m40000644000175000017500000000375011022023316015073 0ustar amedicoamedico# posixver.m4 serial 9 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_POSIXVER], [ AC_LIBOBJ([posixver]) AC_REQUIRE([gl_DEFAULT_POSIX2_VERSION]) ]) # Set the default level of POSIX conformance at configure-time. # Build with `./configure DEFAULT_POSIX2_VERSION=199209 ...' to # support the older version, thus preserving portability with # scripts that use sort +1, tail +32, etc. # Note however, that this breaks tools that might run commands # like `sort +some-file' that conform with the newer standard. AC_DEFUN([gl_DEFAULT_POSIX2_VERSION], [ AC_MSG_CHECKING([for desired default level of POSIX conformance]) gl_default_posix2_version=none-specified if test -n "$ac_cv_env_DEFAULT_POSIX2_VERSION_set"; then gl_default_posix2_version=$ac_cv_env_DEFAULT_POSIX2_VERSION_value AC_DEFINE_UNQUOTED(DEFAULT_POSIX2_VERSION, $gl_default_posix2_version, [Define the default level of POSIX conformance. The value is of the form YYYYMM, specifying the year and month the standard was adopted. If not defined here, it defaults to the value of _POSIX2_VERSION in . Define to 199209 to default to POSIX 1003.2-1992, which makes standard programs like `head', `tail', and `sort' accept obsolete options like `+10' and `-10'. Define to 200112 to default to POSIX 1003.1-2001, which makes these standard programs treat leading-`+' operands as file names and require modern usages like `-n 10' instead of `-10'. Whether defined here or not, the default can be overridden at run time via the _POSIX2_VERSION environment variable.]) fi AC_MSG_RESULT($gl_default_posix2_version) AC_ARG_VAR( [DEFAULT_POSIX2_VERSION], [POSIX version to default to; see 'config.hin'.]) ]) dc3dd-7.1.614/m4/mkdir-p.m40000644000175000017500000000100511022023316014546 0ustar amedicoamedico# mkdir-p.m4 serial 13 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_MKDIR_PARENTS], [ AC_LIBOBJ([dirchownmod]) AC_LIBOBJ([mkdir-p]) dnl Prerequisites of lib/dirchownmod.c. AC_REQUIRE([gl_FUNC_LCHMOD]) AC_REQUIRE([gl_FUNC_LCHOWN]) AC_CHECK_FUNCS_ONCE([fchmod]) ]) dc3dd-7.1.614/m4/fpieee.m40000644000175000017500000000402711022023316014447 0ustar amedicoamedico# fpieee.m4 serial 1 dnl Copyright (C) 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl IEEE 754 standardized three items: dnl - The formats of single-float and double-float - nowadays commonly dnl available as 'float' and 'double' in C and C++. dnl No autoconf test needed. dnl - The overflow and division by zero behaviour: The result are values dnl '±Inf' and 'NaN', rather than exceptions as it was before. dnl This file provides an autoconf macro for ensuring this behaviour of dnl floating-point operations. dnl - A set of conditions (overflow, underflow, inexact, etc.) which can dnl be configured to trigger an exception. dnl This cannot be done in a portable way: it depends on the compiler, dnl libc, kernel, and CPU. No autoconf macro is provided for this. dnl Ensure non-trapping behaviour of floating-point overflow and dnl floating-point division by zero. dnl (For integer overflow, see gcc's -ftrapv option; for integer division by dnl zero, see the autoconf macro in intdiv0.m4.) AC_DEFUN([gl_FP_IEEE], [ AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) # IEEE behaviour is the default on all CPUs except Alpha and SH # (according to the test results of Bruno Haible's ieeefp/fenv_default.m4 # and the GCC 4.1.2 manual). case "$host_cpu" in alpha*) # On Alpha systems, a compiler option provides the behaviour. # See the ieee(3) manual page, also available at # if test -n "$GCC"; then # GCC has the option -mieee. CPPFLAGS="$CPPFLAGS -mieee" else # Compaq (ex-DEC) C has the option -ieee. CPPFLAGS="$CPPFLAGS -ieee" fi ;; sh*) if test -n "$GCC"; then # GCC has the option -mieee. CPPFLAGS="$CPPFLAGS -mieee" fi ;; esac ]) dc3dd-7.1.614/m4/getcwd-path-max.m40000644000175000017500000001161711022023316016207 0ustar amedicoamedico#serial 13 # Check for several getcwd bugs with long file names. # If so, arrange to compile the wrapper function. # This is necessary for at least GNU libc on linux-2.4.19 and 2.4.20. # I've heard that this is due to a Linux kernel bug, and that it has # been fixed between 2.4.21-pre3 and 2.4.21-pre4. */ # Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # From Jim Meyering AC_DEFUN([gl_FUNC_GETCWD_PATH_MAX], [ AC_CHECK_DECLS_ONCE(getcwd) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CACHE_CHECK([whether getcwd handles long file names properly], gl_cv_func_getcwd_path_max, [# Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir3" AC_RUN_IFELSE( [AC_LANG_SOURCE( [[ #include #include #include #include #include #include #include #include #ifndef AT_FDCWD # define AT_FDCWD 0 #endif #ifdef ENAMETOOLONG # define is_ENAMETOOLONG(x) ((x) == ENAMETOOLONG) #else # define is_ENAMETOOLONG(x) 0 #endif /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir #ifndef S_IRWXU # define S_IRWXU 0700 #endif /* The length of this name must be 8. */ #define DIR_NAME "confdir3" #define DIR_NAME_LEN 8 #define DIR_NAME_SIZE (DIR_NAME_LEN + 1) /* The length of "../". */ #define DOTDOTSLASH_LEN 3 /* Leftover bytes in the buffer, to work around library or OS bugs. */ #define BUF_SLOP 20 int main () { #ifndef PATH_MAX /* The Hurd doesn't define this, so getcwd can't exhibit the bug -- at least not on a local file system. And if we were to start worrying about remote file systems, we'd have to enable the wrapper function all of the time, just to be safe. That's not worth the cost. */ exit (0); #elif ((INT_MAX / (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) \ - DIR_NAME_SIZE - BUF_SLOP) \ <= PATH_MAX) /* FIXME: Assuming there's a system for which this is true, this should be done in a compile test. */ exit (0); #else char buf[PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) + DIR_NAME_SIZE + BUF_SLOP]; char *cwd = getcwd (buf, PATH_MAX); size_t initial_cwd_len; size_t cwd_len; int fail = 0; size_t n_chdirs = 0; if (cwd == NULL) exit (1); cwd_len = initial_cwd_len = strlen (cwd); while (1) { size_t dotdot_max = PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN); char *c = NULL; cwd_len += DIR_NAME_SIZE; /* If mkdir or chdir fails, it could be that this system cannot create any file with an absolute name longer than PATH_MAX, such as cygwin. If so, leave fail as 0, because the current working directory can't be too long for getcwd if it can't even be created. For other errors, be pessimistic and consider that as a failure, too. */ if (mkdir (DIR_NAME, S_IRWXU) < 0 || chdir (DIR_NAME) < 0) { if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) fail = 2; break; } if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE) { c = getcwd (buf, PATH_MAX); if (!c && errno == ENOENT) { fail = 1; break; } if (c || ! (errno == ERANGE || is_ENAMETOOLONG (errno))) { fail = 2; break; } } if (dotdot_max <= cwd_len - initial_cwd_len) { if (dotdot_max + DIR_NAME_SIZE < cwd_len - initial_cwd_len) break; c = getcwd (buf, cwd_len + 1); if (!c) { if (! (errno == ERANGE || errno == ENOENT || is_ENAMETOOLONG (errno))) { fail = 2; break; } if (AT_FDCWD || errno == ERANGE || errno == ENOENT) { fail = 1; break; } } } if (c && strlen (c) != cwd_len) { fail = 2; break; } ++n_chdirs; } /* Leaving behind such a deep directory is not polite. So clean up here, right away, even though the driving shell script would also clean up. */ { size_t i; /* Try rmdir first, in case the chdir failed. */ rmdir (DIR_NAME); for (i = 0; i <= n_chdirs; i++) { if (chdir ("..") < 0) break; if (rmdir (DIR_NAME) != 0) break; } } exit (fail); #endif } ]])], [gl_cv_func_getcwd_path_max=yes], [case $? in 1) gl_cv_func_getcwd_path_max='no, but it is partly working';; *) gl_cv_func_getcwd_path_max=no;; esac], [gl_cv_func_getcwd_path_max=no]) ]) case $gl_cv_func_getcwd_path_max in no,*) AC_DEFINE([HAVE_PARTLY_WORKING_GETCWD], 1, [Define to 1 if getcwd works, except it sometimes fails when it shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT. If __GETCWD_PREFIX is not defined, it doesn't matter whether HAVE_PARTLY_WORKING_GETCWD is defined.]);; esac ]) dc3dd-7.1.614/m4/sockpfaf.m40000644000175000017500000000350311022023316015004 0ustar amedicoamedico# sockpfaf.m4 serial 5 dnl Copyright (C) 2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Test for some common socket protocol families (PF_INET, PF_INET6, ...) dnl and some common address families (AF_INET, AF_INET6, ...). dnl This test assumes that a system supports an address family if and only if dnl it supports the corresponding protocol family. dnl From Bruno Haible. AC_DEFUN([gl_SOCKET_FAMILIES], [ AC_REQUIRE([gl_HEADER_SYS_SOCKET]) AC_CHECK_HEADERS_ONCE([netinet/in.h]) AC_MSG_CHECKING(for IPv4 sockets) AC_CACHE_VAL(gl_cv_socket_ipv4, [AC_TRY_COMPILE([#include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_WINSOCK2_H #include #endif], [int x = AF_INET; struct in_addr y; struct sockaddr_in z; if (&x && &y && &z) return 0;], gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) AC_MSG_RESULT($gl_cv_socket_ipv4) if test $gl_cv_socket_ipv4 = yes; then AC_DEFINE(HAVE_IPV4, 1, [Define to 1 if defines AF_INET.]) fi AC_MSG_CHECKING(for IPv6 sockets) AC_CACHE_VAL(gl_cv_socket_ipv6, [AC_TRY_COMPILE([#include #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_WINSOCK2_H #include #endif], [int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; if (&x && &y && &z) return 0;], gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) AC_MSG_RESULT($gl_cv_socket_ipv6) if test $gl_cv_socket_ipv6 = yes; then AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if defines AF_INET6.]) fi ]) dc3dd-7.1.614/m4/regex.m40000644000175000017500000001764011064230667014350 0ustar amedicoamedico#serial 52 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl Initially derived from code in GNU grep. dnl Mostly written by Jim Meyering. AC_PREREQ([2.50]) AC_DEFUN([gl_REGEX], [ AC_CHECK_HEADERS_ONCE([locale.h]) AC_ARG_WITH([included-regex], [AS_HELP_STRING([--without-included-regex], [don't compile regex; this is the default on 32-bit systems with recent-enough versions of the GNU C Library (use with caution on other systems). On systems with 64-bit ptrdiff_t and 32-bit int, --with-included-regex is the default, in case regex functions operate on very long strings (>2GB)])]) case $with_included_regex in #( yes|no) ac_use_included_regex=$with_included_regex ;; '') # If the system regex support is good enough that it passes the # following run test, then default to *not* using the included regex.c. # If cross compiling, assume the test would fail and use the included # regex.c. AC_CACHE_CHECK([for working re_compile_pattern], [gl_cv_func_re_compile_pattern_working], [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [AC_INCLUDES_DEFAULT[ #if HAVE_LOCALE_H #include #endif #include #include ]], [[static struct re_pattern_buffer regex; unsigned char folded_chars[UCHAR_MAX + 1]; int i; const char *s; struct re_registers regs; #if HAVE_LOCALE_H /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html This test needs valgrind to catch the bug on Debian GNU/Linux 3.1 x86, but it might catch the bug better on other platforms and it shouldn't hurt to try the test here. */ if (setlocale (LC_ALL, "en_US.UTF-8")) { static char const pat[] = "insert into"; static char const data[] = "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) return 1; if (re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, ®s) != -1) return 1; if (! setlocale (LC_ALL, "C")) return 1; } #endif /* This test is from glibc bug 3957, reported by Andrew Mackey. */ re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[^x]b", 6, ®ex); if (s) return 1; /* This should fail, but succeeds for glibc-2.5. */ if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) return 1; /* This regular expression is from Spencer ere test number 75 in grep-2.3. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP); memset (®ex, 0, sizeof regex); for (i = 0; i <= UCHAR_MAX; i++) folded_chars[i] = i; regex.translate = folded_chars; s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex); /* This should fail with _Invalid character class name_ error. */ if (!s) return 1; /* This should succeed, but does not for glibc-2.1.3. */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("{1", 2, ®ex); if (s) return 1; /* The following example is derived from a problem report against gawk from Jorge Stolfi . */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[an\371]*n", 7, ®ex); if (s) return 1; /* This should match, but does not for glibc-2.2.1. */ if (re_match (®ex, "an", 2, 0, ®s) != 2) return 1; memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) return 1; /* glibc-2.2.93 does not work with a negative RANGE argument. */ if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) return 1; /* The version of regex.c in older versions of gnulib ignored RE_ICASE. Detect that problem too. */ re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) return 1; if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) return 1; /* Catch a bug reported by Vin Shelton in http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html */ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); if (s) return 1; /* REG_STARTEND was added to glibc on 2004-01-15. Reject older versions. */ if (! REG_STARTEND) return 1; /* Reject hosts whose regoff_t values are too narrow. These include glibc 2.3.5 on hosts with 64-bit ptrdiff_t and 32-bit int. */ if (sizeof (regoff_t) < sizeof (ptrdiff_t) || sizeof (regoff_t) < sizeof (ssize_t)) return 1; return 0;]])], [gl_cv_func_re_compile_pattern_working=yes], [gl_cv_func_re_compile_pattern_working=no], dnl When crosscompiling, assume it is not working. [gl_cv_func_re_compile_pattern_working=no])]) case $gl_cv_func_re_compile_pattern_working in #( yes) ac_use_included_regex=no;; #( no) ac_use_included_regex=yes;; esac ;; *) AC_MSG_ERROR([Invalid value for --with-included-regex: $with_included_regex]) ;; esac if test $ac_use_included_regex = yes; then AC_DEFINE([_REGEX_LARGE_OFFSETS], 1, [Define if you want regoff_t to be at least as wide POSIX requires.]) AC_DEFINE([re_syntax_options], [rpl_re_syntax_options], [Define to rpl_re_syntax_options if the replacement should be used.]) AC_DEFINE([re_set_syntax], [rpl_re_set_syntax], [Define to rpl_re_set_syntax if the replacement should be used.]) AC_DEFINE([re_compile_pattern], [rpl_re_compile_pattern], [Define to rpl_re_compile_pattern if the replacement should be used.]) AC_DEFINE([re_compile_fastmap], [rpl_re_compile_fastmap], [Define to rpl_re_compile_fastmap if the replacement should be used.]) AC_DEFINE([re_search], [rpl_re_search], [Define to rpl_re_search if the replacement should be used.]) AC_DEFINE([re_search_2], [rpl_re_search_2], [Define to rpl_re_search_2 if the replacement should be used.]) AC_DEFINE([re_match], [rpl_re_match], [Define to rpl_re_match if the replacement should be used.]) AC_DEFINE([re_match_2], [rpl_re_match_2], [Define to rpl_re_match_2 if the replacement should be used.]) AC_DEFINE([re_set_registers], [rpl_re_set_registers], [Define to rpl_re_set_registers if the replacement should be used.]) AC_DEFINE([re_comp], [rpl_re_comp], [Define to rpl_re_comp if the replacement should be used.]) AC_DEFINE([re_exec], [rpl_re_exec], [Define to rpl_re_exec if the replacement should be used.]) AC_DEFINE([regcomp], [rpl_regcomp], [Define to rpl_regcomp if the replacement should be used.]) AC_DEFINE([regexec], [rpl_regexec], [Define to rpl_regexec if the replacement should be used.]) AC_DEFINE([regerror], [rpl_regerror], [Define to rpl_regerror if the replacement should be used.]) AC_DEFINE([regfree], [rpl_regfree], [Define to rpl_regfree if the replacement should be used.]) AC_LIBOBJ([regex]) gl_PREREQ_REGEX fi ]) # Prerequisites of lib/regex.c and lib/regex_internal.c. AC_DEFUN([gl_PREREQ_REGEX], [ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_CHECK_HEADERS([libintl.h]) AC_CHECK_FUNCS_ONCE([isblank iswctype mbrtowc wcrtomb wcscoll]) AC_CHECK_DECLS([isblank], [], [], [#include ]) ]) dc3dd-7.1.614/m4/savewd.m40000644000175000017500000000057111022023316014503 0ustar amedicoamedico# Save and restore the working directory, possibly using a child process. dnl Copyright (C) 2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_SAVEWD], [AC_REQUIRE([AC_C_INLINE])]) dc3dd-7.1.614/m4/getpass.m40000644000175000017500000000307211022023316014657 0ustar amedicoamedico# getpass.m4 serial 10 dnl Copyright (C) 2002-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Provide a getpass() function if the system doesn't have it. AC_DEFUN([gl_FUNC_GETPASS], [ AC_REPLACE_FUNCS(getpass) AC_CHECK_DECLS_ONCE(getpass) if test $ac_cv_func_getpass = no; then gl_PREREQ_GETPASS fi ]) # Provide the GNU getpass() implementation. It supports passwords of # arbitrary length (not just 8 bytes as on HP-UX). AC_DEFUN([gl_FUNC_GETPASS_GNU], [ AC_CHECK_DECLS_ONCE(getpass) dnl TODO: Detect when GNU getpass() is already found in glibc. AC_LIBOBJ(getpass) gl_PREREQ_GETPASS dnl We must choose a different name for our function, since on ELF systems dnl an unusable getpass() in libc.so would override our getpass() if it is dnl compiled into a shared library. AC_DEFINE([getpass], [gnu_getpass], [Define to a replacement function name for getpass().]) ]) # Prerequisites of lib/getpass.c. AC_DEFUN([gl_PREREQ_GETPASS], [ AC_CHECK_HEADERS_ONCE(stdio_ext.h termios.h) AC_CHECK_FUNCS_ONCE(__fsetlocking tcgetattr tcsetattr) AC_CHECK_DECLS([__fsetlocking],,, [#include #if HAVE_STDIO_EXT_H #include #endif]) AC_CHECK_DECLS_ONCE([fflush_unlocked]) AC_CHECK_DECLS_ONCE([flockfile]) AC_CHECK_DECLS_ONCE([fputs_unlocked]) AC_CHECK_DECLS_ONCE([funlockfile]) AC_CHECK_DECLS_ONCE([putc_unlocked]) : ]) dc3dd-7.1.614/m4/rmdir.m40000644000175000017500000000051411022023316014324 0ustar amedicoamedico# rmdir.m4 serial 3 dnl Copyright (C) 2002, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_RMDIR], [ AC_REPLACE_FUNCS(rmdir) ]) dc3dd-7.1.614/m4/ftruncate.m40000644000175000017500000000310711022023316015203 0ustar amedicoamedico#serial 13 # See if we need to emulate a missing ftruncate function using fcntl or chsize. # Copyright (C) 2000, 2001, 2003-2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # FIXME: remove this macro, along with all uses of HAVE_FTRUNCATE in 2010, # if the check below provokes no more reports. So far, the only report # arose from a test build of this gnulib module, cross-compiling to mingw: # AC_DEFUN([gl_FUNC_FTRUNCATE], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_CHECK_FUNCS_ONCE([ftruncate]) if test $ac_cv_func_ftruncate = no; then HAVE_FTRUNCATE=0 AC_LIBOBJ([ftruncate]) gl_PREREQ_FTRUNCATE case "$host_os" in mingw*) # Yes, we know mingw lacks ftruncate. ;; *) # If someone lacks ftruncate, make configure fail, and request # a bug report to inform us about it. if test x"$SKIP_FTRUNCATE_CHECK" != xyes; then AC_MSG_FAILURE([Your system lacks the ftruncate function. Please report this, along with the output of "uname -a", to the bug-coreutils@gnu.org mailing list. To continue past this point, rerun configure with SKIP_FTRUNCATE_CHECK=yes. E.g., ./configure SKIP_FTRUNCATE_CHECK=yes]) fi esac fi ]) # Prerequisites of lib/ftruncate.c. AC_DEFUN([gl_PREREQ_FTRUNCATE], [ AC_CHECK_FUNCS(chsize) ]) dc3dd-7.1.614/m4/xstrndup.m40000644000175000017500000000061611022023316015101 0ustar amedicoamedico# xstrndup.m4 serial 2 dnl Copyright (C) 2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XSTRNDUP], [ gl_PREREQ_XSTRNDUP ]) # Prerequisites of lib/xstrndup.c. AC_DEFUN([gl_PREREQ_XSTRNDUP], [ : ]) dc3dd-7.1.614/m4/string_h.m40000644000175000017500000000731011064230667015044 0ustar amedicoamedico# Configure a GNU-like replacement for . # Copyright (C) 2007, 2008 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # Written by Paul Eggert. AC_DEFUN([gl_HEADER_STRING_H], [ dnl Use AC_REQUIRE here, so that the default behavior below is expanded dnl once only, before all statements that occur in other macros. AC_REQUIRE([gl_HEADER_STRING_H_BODY]) ]) AC_DEFUN([gl_HEADER_STRING_H_BODY], [ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) gl_CHECK_NEXT_HEADERS([string.h]) ]) AC_DEFUN([gl_STRING_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 ]) AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], [ GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) GNULIB_RAWMEMCHR=0; AC_SUBST([GNULIB_RAWMEMCHR]) GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP]) HAVE_STRNDUP=1; AC_SUBST([HAVE_STRNDUP]) HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP]) HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN]) HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK]) HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR]) HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) ]) dc3dd-7.1.614/m4/strtol.m40000644000175000017500000000052511022023316014540 0ustar amedicoamedico# strtol.m4 serial 4 dnl Copyright (C) 2002, 2003, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRTOL], [ AC_REPLACE_FUNCS(strtol) ]) dc3dd-7.1.614/.x-sc_prohibit_strcmp0000644000175000017500000000003111023311746016572 0ustar amedicoamedico^src/system\.h ChangeLog dc3dd-7.1.614/.x-sc_trailing_blank0000644000175000017500000000001311023311746016342 0ustar amedicoamedico^tests/pr/ dc3dd-7.1.614/.x-sc_GPL_version0000644000175000017500000000002611023311746015555 0ustar amedicoamedico^build-aux/check\.mk$ dc3dd-7.1.614/.prev-version0000644000175000017500000000000611457124713015100 0ustar amedicoamedico7.0.0 dc3dd-7.1.614/Makefile.cfg0000644000175000017500000000307511023311746014640 0ustar amedicoamedico# Customize Makefile.maint. -*- makefile -*- # Copyright (C) 2003-2007 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Use alpha.gnu.org for alpha and beta releases. # Use ftp.gnu.org for major releases. gnu_ftp_host-alpha = alpha.gnu.org gnu_ftp_host-beta = alpha.gnu.org gnu_ftp_host-major = ftp.gnu.org gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE)) url_dir_list = \ ftp://$(gnu_rel_host)/gnu/coreutils # The GnuPG ID of the key used to sign the tarballs. gpg_key_ID = B9AB9A16 # Tests not to run as part of "make distcheck". # Exclude changelog-check here so that there's less churn in ChangeLog # files -- otherwise, you'd need to have the upcoming version number # at the top of the file for each `make distcheck' run. local-checks-to-skip = changelog-check strftime-check # The local directory containing the checked-out copy of gnulib used in # this release. Used solely to get a date for the "announcement" target. gnulib_dir = /gnulib dc3dd-7.1.614/bootstrap.conf0000644000175000017500000001127111064230667015332 0ustar amedicoamedico# Bootstrap configuration. # Copyright (C) 2006-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # We don't need these modules, even though gnulib-tool mistakenly # includes them because of gettext and fchdir dependencies. avoided_gnulib_modules=' --avoid=lock --avoid=canonicalize-lgpl ' # These modules are obsolete and can probably be removed soon, # but leave them in for now to minimize changes. obsolete_gnulib_modules=' atexit memchr memcmp memcpy memmove memset rename strcspn strtod strtol utime ' # gnulib modules used by this package. gnulib_modules=" $avoided_gnulib_modules $obsolete_gnulib_modules acl alloca announce-gen argmatch assert autobuild backupfile base64 c-strcase c-strtod c-strtold calloc canonicalize chown cloexec config-h configmake closein closeout crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 cycle-check d-ino d-type diacrit dirfd dirname dup2 error exclude exitfail fchdir fcntl fcntl-safer fdl file-type fileblocks filemode filenamecat fnmatch-gnu fopen-safer fprintftime fseeko fsusage ftruncate ftello fts getdate getgroups gethrxtime getline getloadavg getndelim2 getopt getpagesize getpass-gnu gettext gettime gettimeofday git-version-gen gitlog-to-changelog gnu-make gnumakefile gnupload hard-locale hash hash-pjw host-os human idcache inttostr inttypes isapipe lchmod lchown lib-ignore linebuffer link-follow long-options lstat malloc mbswidth memcasecmp mempcpy memrchr mkancesdirs mkdir mkdir-p mkstemp mktime modechange mountlist mpsort obstack pathmax perl posix-shell posixtm posixver propername putenv quote quotearg raise readlink areadlink-with-size randint randperm readtokens readtokens0 readutmp realloc rename-dest-slash rmdir rmdir-errno root-dev-ino rpmatch safe-read same save-cwd savedir savewd settime sig2str ssize_t stat-macros stat-time stdbool stdlib-safer stpcpy stpncpy strftime strpbrk strtoimax strtoumax strverscmp sys_stat timespec tzset unicodeio unistd-safer unlink-busy unlinkdir unlocked-io uptime useless-if-before-free userspec utimecmp utimens vasprintf-posix vc-list-files verify version-etc-fsf wcwidth winsz-ioctl winsz-termios write-any-file xalloc xgetcwd xmemcoll xnanosleep xprintf xprintf-posix xstrtod xstrtoimax xstrtol xstrtold xstrtoumax " # Other locale categories that need message catalogs. EXTRA_LOCALE_CATEGORIES=LC_TIME # Additional xgettext options to use. Use "\\\newline" to break lines. XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\ --from-code=UTF-8\\\ --flag=asprintf:2:c-format\\\ --flag=asnprintf:3:c-format\\\ --flag=error:3:c-format\\\ --flag=error_at_line:5:c-format\\\ --flag=vasprintf:2:c-format\\\ --flag=vasnprintf:3:c-format\\\ --flag=wrapf:1:c-format\\\ --flag=xasprintf:1:c-format\\\ --flag=xfprintf:2:c-format\\\ --flag=xprintf:1:c-format\\\ ' # Append these, since we use the propername module. see_manual='"This is a proper name. See the gettext manual, section Names."' see_manual=\'"$see_manual"\' XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\ --keyword=proper_name:1,'"$see_manual"'\\\ --keyword=proper_name_utf8:1,'"$see_manual"'\\\ ' # If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]" # appears in configure.ac, exclude some unnecessary files. # Without grep's -E option (not portable enough, pre-configure), # the following test is ugly. Also, this depends on the existence # of configure.ac, not the obsolescent-named configure.in. But if # you're using this infrastructure, you should care about such things. gettext_external=0 grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null && gettext_external=1 grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null && gettext_external=1 if test $gettext_external = 1; then # Gettext supplies these files, but we don't need them since # we don't have an intl subdirectory. excluded_files=' m4/glibc2.m4 m4/intdiv0.m4 m4/lcmessage.m4 m4/lock.m4 m4/uintmax_t.m4 m4/ulonglong.m4 m4/visibility.m4 ' fi gnulib_tool_option_extras="--tests-base=$bt/gnulib-tests --with-tests" # Automake requires that ChangeLog exist. touch ChangeLog dc3dd-7.1.614/.x-sc_sun_os_names0000644000175000017500000000004211023311746016055 0ustar amedicoamedicoconfig-log build-aux/config.guess dc3dd-7.1.614/THANKS-to-translators0000644000175000017500000000411511064230667016352 0ustar amedicoamedicoThe following teams have translated the many diagnostics of this package into many different languages. Thank you! --- http://www.iro.umontreal.ca/contrib/po/HTML/team-af.html http://www.iro.umontreal.ca/contrib/po/HTML/team-be.html http://www.iro.umontreal.ca/contrib/po/HTML/team-bg.html http://www.iro.umontreal.ca/contrib/po/HTML/team-ca.html http://www.iro.umontreal.ca/contrib/po/HTML/team-cs.html http://www.iro.umontreal.ca/contrib/po/HTML/team-da.html http://www.iro.umontreal.ca/contrib/po/HTML/team-de.html http://www.iro.umontreal.ca/contrib/po/HTML/team-el.html http://www.iro.umontreal.ca/contrib/po/HTML/team-es.html http://www.iro.umontreal.ca/contrib/po/HTML/team-et.html http://www.iro.umontreal.ca/contrib/po/HTML/team-eu.html http://www.iro.umontreal.ca/contrib/po/HTML/team-fi.html http://www.iro.umontreal.ca/contrib/po/HTML/team-fr.html http://www.iro.umontreal.ca/contrib/po/HTML/team-ga.html http://www.iro.umontreal.ca/contrib/po/HTML/team-gl.html http://www.iro.umontreal.ca/contrib/po/HTML/team-hu.html http://www.iro.umontreal.ca/contrib/po/HTML/team-it.html http://www.iro.umontreal.ca/contrib/po/HTML/team-ja.html http://www.iro.umontreal.ca/contrib/po/HTML/team-ko.html http://www.iro.umontreal.ca/contrib/po/HTML/team-lt.html http://www.iro.umontreal.ca/contrib/po/HTML/team-ms.html http://www.iro.umontreal.ca/contrib/po/HTML/team-nb.html http://www.iro.umontreal.ca/contrib/po/HTML/team-nl.html http://www.iro.umontreal.ca/contrib/po/HTML/team-pl.html http://www.iro.umontreal.ca/contrib/po/HTML/team-pt.html http://www.iro.umontreal.ca/contrib/po/HTML/team-pt_BR.html http://www.iro.umontreal.ca/contrib/po/HTML/team-ru.html http://www.iro.umontreal.ca/contrib/po/HTML/team-sk.html http://www.iro.umontreal.ca/contrib/po/HTML/team-sl.html http://www.iro.umontreal.ca/contrib/po/HTML/team-sv.html http://www.iro.umontreal.ca/contrib/po/HTML/team-tr.html http://www.iro.umontreal.ca/contrib/po/HTML/team-uk.html http://www.iro.umontreal.ca/contrib/po/HTML/team-vi.html http://www.iro.umontreal.ca/contrib/po/HTML/team-zh_CN.html http://www.iro.umontreal.ca/contrib/po/HTML/team-zh_TW.html dc3dd-7.1.614/Options_Reference.txt0000644000175000017500000002313611457124713016623 0ustar amedicoamedico------ usage: ------ ./dc3dd [OPTION 1] [OPTION 2] ... [OPTION N] *or* ./dc3dd [HELP OPTION] where each OPTION is selected from the basic or advanced options listed below, or HELP OPTION is selected from the help options listed below. -------------- basic options: -------------- if=DEVICE or FILE Read input from a device or a file (see note #1 below for how to read from standard input). This option can only be used once and cannot be combined with ifs=, pat=, or tpat=. ifs=BASE.FMT Read input from a set of files with base name BASE and sequential file name extensions conforming to the format specifier FMT (see note #4 below for how to specify FMT). This option can only be used once and cannot be combined with if=, pat=, or tpat=. of=FILE or DEVICE Write output to a file or device (see note #2 below for how to write to standard output). This option can be used more than once (see note #3 below for how to generate multiple outputs). hof=FILE or DEVICE Write output to a file or device, hash the output file or device, and verify by comparing the output hash(es) to the input hash(es). This option can be used more than once (see note #3 below for how to generate multiple outputs). ofs=BASE.FMT Write output to a set of files with base name BASE and sequential file name extensions generated from the format specifier FMT (see note #4 below for how to specify FMT). This option can be used more than once (see note #3 below for how to generate multiple outputs). Specify the maximum size of each file in the set using ofsz=. hofs=BASE.FMT Write output to a set of files with base name BASE and sequential file name extensions generated from the format specifier FMT (see note #4 below for how to specify FMT). Hash the output files and verify by comparing the output hash(es) to the input hash(es). This option can be used more than once (see note #3 below for how to generate multiple outputs). Specify the maximum size of each file in the set using ofsz=. ofsz=BYTES Set the maximum size of each file in the sets of files specified using ofs= or hofs= to BYTES (see note #5 below). A default value for this option may be set at compile time using -DDEFAULT_OUTPUT_FILE_SIZE followed by the desired value in BYTES. hash=ALGORITHM Compute an ALGORITHM hash of the input and also of any outputs specified using hof=, hofs=, phod=, or fhod=, where ALGORITHM is one of md5, sha1, sha256, or sha512. This option may be used once for each supported ALGORITHM. Alternatively, hashing can be activated at compile time using one or more of -DDEFAULT_HASH_MD5,-DDEFAULT_HASH_SHA1, -DDEFAULT_HASH_SHA256, and -DDEFAULT_HASH_SHA512. log=FILE Log I/O statistcs, diagnostics, and total hashes of input and output to FILE. If hlog= is not specified, piecewise hashes of multiple file input and output are also logged to FILE. This option can be used more than once to generate multiple logs. hlog=FILE Log total hashes and piecewise hashes to FILE. This option can be used more than once to generate multiple logs. ----------------- advanced options: ----------------- phod=DEVICE The same as hof=DEVICE, except only the bytes written to DEVICE by dc3dd are verified. This option can be used more than once (see note #3 below for how to generate multiple outputs). fhod=DEVICE The same as phod=DEVICE, with additional hashing of the entire output DEVICE. This option can be used more than once (see note #3 below for how to generate multiple outputs). rec=off By default, zeros are written to the output(s) in place of bad sectors when the input is a device. Use this option to cause the program to instead exit when a bad sector is encountered. wipe=DEVICE Wipe DEVICE by writing zeros (default) or a pattern specified by pat= or tpat=. hwipe=DEVICE Wipe DEVICE by writing zeros (default) or a pattern specified by pat= or tpat=. Verify DEVICE after writing it by hashing it and comparing the hash(es) to the input hash(es). pat=HEX Use pattern as input, writing HEX to every byte of the output. This option can only be used once and cannot be combined with if=, ifs=, or tpat=. tpat=TEXT Use text pattern as input, writing the string TEXT repeatedly to the output. This option can only be used once and cannot be combined with if=, ifs=, or pat=. cnt=SECTORS Read only SECTORS input sectors. Must be used with pat= or tpat= if not using the pattern with wipe= or hwipe= to wipe a device. iskip=SECTORS Skip SECTORS sectors at start of the input device or file. oskip=SECTORS Skip SECTORS sectors at start of the output file. Specifying oskip= automatically sets app=on. app=on Do not overwrite an output file specified with of= if it already exists, appending output instead. ssz=BYTES Unconditionally use BYTES (see note #5 below) bytes for sector size. If ssz= is not specified, sector size is determined by probing the device; if the probe fails or the target is not a device, a sector size of 512 bytes is assumed. bufsz=BYTES Set the size of the internal byte buffers to BYTES (see note #5 below). This effectively sets the maximum number of bytes that may be read at a time from the input. BYTES must be a multiple of sector size. Use this option to fine-tune performance. verb=on Activate verbose reporting, where sectors in/out are reported for each file in sets of files specified using ifs=, ofs=, or hofs=. Alternatively, verbose reporting may be activated at compile time using -DDEFAULT_VERBOSE_REPORTING. nwspc=on Activate compact reporting, where the use of white space to divide log output into logical sections is suppressed. Alternatively, compact reporting may be activated at compile time using -DDEFAULT_COMPACT_REPORTING. b10=on Activate base 10 bytes reporting, where the progress display reports 1000 bytes instead of 1024 bytes as 1 KB. Alternatively, base 10 bytes reporting may be activated at compile time using -DDEFAULT_BASE_TEN_BYTES_REPORTING. corruptoutput=on For verification testing and demonstration purposes, corrupt the output file(s) with extra bytes so a hash mismatch is guaranteed. ------------- help options: ------------- --help display this help and exit --version output version information and exit --flags display compile-time flags and exit ------ notes: ------ 1. To read from stdin, do not specify if=, ifs=, pat=, or tpat=. 2. To write to stdout, do not specify of=, hof=, ofs=, hofs=, phod=, fhod=, wipe=, or hwipe=. 3. To write to multiple outputs specify more than one of of=, hof=, ofs=, hofs=, phod=, or fhod=, in any combination. 4. FMT is a pattern for a sequence of file extensions that can be numerical starting at zero, numerical starting at one, or alphabetical. Specify FMT by using a series of zeros, ones, or a's, respectively. The number of characters used indicates the desired length of the extensions. For example, a FMT specifier of 1111 indicates four character numerical extensions starting with 0000. 5. BYTES may be followed by the following multiplicative suffixes: c (1), w (2), b (512), kB (1000), K (1024), MB (1000*1000), M (1024*1024), GB (1000*1000*1000), G (1024*1024*1024), and so on for T, P, E, Z, and Y. 6. Consider using cnt=, iskip= and oskip= to work around unreadable sectors if error recovery fails. 7. Sending an interrupt (e.g., CTRL+C) to dc3dd will cause the program to report the work completed at the time the interrupt is received and then exit. Report bugs to . dc3dd-7.1.614/configure0000755000175000017500000640016711613550425014366 0ustar amedicoamedico#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for dc3dd 7.1.614. # # Report bugs to . # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='dc3dd' PACKAGE_TARNAME='dc3dd' PACKAGE_VERSION='7.1.614' PACKAGE_STRING='dc3dd 7.1.614' PACKAGE_BUGREPORT='dc3dd@dc3.mil' ac_unique_file="src/dc3dd.c" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_header_list= ac_func_list= gt_needs= ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP GREP EGREP RANLIB LN_S build build_cpu build_vendor build_os host host_cpu host_vendor host_os GL_COND_LIBTOOL_TRUE GL_COND_LIBTOOL_FALSE EOVERFLOW ALLOCA ALLOCA_H GNULIB_INET_NTOP GNULIB_INET_PTON HAVE_DECL_INET_NTOP HAVE_DECL_INET_PTON ARPA_INET_H HAVE_ARPA_INET_H INCLUDE_NEXT NEXT_ARPA_INET_H HAVE_CALLOC_POSIX GNULIB_MALLOC_POSIX GNULIB_REALLOC_POSIX GNULIB_CALLOC_POSIX GNULIB_GETSUBOPT GNULIB_MKDTEMP GNULIB_MKSTEMP GNULIB_PUTENV GNULIB_RPMATCH GNULIB_SETENV GNULIB_STRTOD GNULIB_UNSETENV HAVE_GETSUBOPT HAVE_MALLOC_POSIX HAVE_MKDTEMP HAVE_REALLOC_POSIX HAVE_RPMATCH HAVE_SETENV HAVE_STRTOD HAVE_UNSETENV REPLACE_MKSTEMP REPLACE_PUTENV REPLACE_STRTOD VOID_UNSETENV GNULIB_CHOWN GNULIB_DUP2 GNULIB_ENVIRON GNULIB_FCHDIR GNULIB_FTRUNCATE GNULIB_GETCWD GNULIB_GETLOGIN_R GNULIB_GETPAGESIZE GNULIB_LCHOWN GNULIB_LSEEK GNULIB_READLINK GNULIB_SLEEP HAVE_DUP2 HAVE_FTRUNCATE HAVE_GETPAGESIZE HAVE_READLINK HAVE_SLEEP HAVE_DECL_ENVIRON HAVE_DECL_GETLOGIN_R HAVE_OS_H HAVE_SYS_PARAM_H REPLACE_CHOWN REPLACE_FCHDIR REPLACE_GETCWD REPLACE_GETPAGESIZE REPLACE_LCHOWN REPLACE_LSEEK LIB_CLOCK_GETTIME NEXT_DIRENT_H DIRENT_H GNULIB_OPEN REPLACE_OPEN NEXT_FCNTL_H FCNTL_H GNULIB_FPRINTF_POSIX GNULIB_PRINTF_POSIX GNULIB_SNPRINTF GNULIB_SPRINTF_POSIX GNULIB_VFPRINTF_POSIX GNULIB_VPRINTF_POSIX GNULIB_VSNPRINTF GNULIB_VSPRINTF_POSIX GNULIB_VASPRINTF GNULIB_FOPEN GNULIB_FREOPEN GNULIB_FSEEK GNULIB_FSEEKO GNULIB_FTELL GNULIB_FTELLO GNULIB_FFLUSH GNULIB_GETDELIM GNULIB_GETLINE REPLACE_FPRINTF REPLACE_VFPRINTF REPLACE_PRINTF REPLACE_VPRINTF REPLACE_SNPRINTF HAVE_DECL_SNPRINTF REPLACE_VSNPRINTF HAVE_DECL_VSNPRINTF REPLACE_SPRINTF REPLACE_VSPRINTF HAVE_VASPRINTF REPLACE_VASPRINTF REPLACE_FOPEN REPLACE_FREOPEN HAVE_FSEEKO REPLACE_FSEEKO REPLACE_FSEEK HAVE_FTELLO REPLACE_FTELLO REPLACE_FTELL REPLACE_FFLUSH HAVE_DECL_GETDELIM HAVE_DECL_GETLINE REPLACE_GETLINE NEXT_FLOAT_H FLOAT_H FNMATCH_H GNULIB_CEILF GNULIB_CEILL GNULIB_FLOORF GNULIB_FLOORL GNULIB_FREXP GNULIB_FREXPL GNULIB_ISFINITE GNULIB_LDEXPL GNULIB_MATHL GNULIB_ROUND GNULIB_ROUNDF GNULIB_ROUNDL GNULIB_SIGNBIT GNULIB_TRUNC GNULIB_TRUNCF GNULIB_TRUNCL HAVE_DECL_ACOSL HAVE_DECL_ASINL HAVE_DECL_ATANL HAVE_DECL_COSL HAVE_DECL_EXPL HAVE_DECL_FREXPL HAVE_DECL_LDEXPL HAVE_DECL_LOGL HAVE_DECL_SINL HAVE_DECL_SQRTL HAVE_DECL_TANL HAVE_DECL_TRUNC HAVE_DECL_TRUNCF REPLACE_CEILF REPLACE_CEILL REPLACE_FLOORF REPLACE_FLOORL REPLACE_FREXP REPLACE_FREXPL REPLACE_HUGE_VAL REPLACE_ISFINITE REPLACE_LDEXPL REPLACE_NAN REPLACE_ROUND REPLACE_ROUNDF REPLACE_ROUNDL REPLACE_SIGNBIT REPLACE_SIGNBIT_USING_GCC REPLACE_TRUNCL STDBOOL_H HAVE__BOOL YACC YFLAGS LIB_GETHRXTIME NEED_SETGID KMEM_GROUP GETLOADAVG_LIBS GETOPT_H LIBINTL LTLIBINTL NEXT_SYS_TIME_H HAVE_SYS_TIME_H HAVE_STRUCT_TIMEVAL REPLACE_GETTIMEOFDAY SYS_TIME_H GNU_MAKE_TRUE GNU_MAKE_FALSE LIBICONV LTLIBICONV REPLACE_ICONV REPLACE_ICONV_OPEN REPLACE_ICONV_UTF NEXT_ICONV_H ICONV_H HAVE_LONG_LONG_INT HAVE_UNSIGNED_LONG_LONG_INT HAVE_INTTYPES_H HAVE_SYS_TYPES_H NEXT_STDINT_H HAVE_STDINT_H HAVE_SYS_INTTYPES_H HAVE_SYS_BITYPES_H BITSIZEOF_PTRDIFF_T BITSIZEOF_SIG_ATOMIC_T BITSIZEOF_SIZE_T BITSIZEOF_WCHAR_T BITSIZEOF_WINT_T HAVE_SIGNED_SIG_ATOMIC_T HAVE_SIGNED_WCHAR_T HAVE_SIGNED_WINT_T PTRDIFF_T_SUFFIX SIG_ATOMIC_T_SUFFIX SIZE_T_SUFFIX WCHAR_T_SUFFIX WINT_T_SUFFIX STDINT_H PRI_MACROS_BROKEN GNULIB_IMAXABS GNULIB_IMAXDIV GNULIB_STRTOIMAX GNULIB_STRTOUMAX HAVE_DECL_IMAXABS HAVE_DECL_IMAXDIV HAVE_DECL_STRTOIMAX HAVE_DECL_STRTOUMAX NEXT_INTTYPES_H PRIPTR_PREFIX INT32_MAX_LT_INTMAX_MAX INT64_MAX_EQ_LONG_MAX UINT32_MAX_LT_UINTMAX_MAX UINT64_MAX_EQ_ULONG_MAX INTTYPES_H GLIBC21 LOCALCHARSET_TESTS_ENVIRONMENT NEXT_MATH_H GNULIB_MEMMEM GNULIB_MEMPCPY GNULIB_MEMRCHR GNULIB_RAWMEMCHR GNULIB_STPCPY GNULIB_STPNCPY GNULIB_STRCHRNUL GNULIB_STRDUP GNULIB_STRNDUP GNULIB_STRNLEN GNULIB_STRPBRK GNULIB_STRSEP GNULIB_STRSTR GNULIB_STRCASESTR GNULIB_STRTOK_R GNULIB_MBSLEN GNULIB_MBSNLEN GNULIB_MBSCHR GNULIB_MBSRCHR GNULIB_MBSSTR GNULIB_MBSCASECMP GNULIB_MBSNCASECMP GNULIB_MBSPCASECMP GNULIB_MBSCASESTR GNULIB_MBSCSPN GNULIB_MBSPBRK GNULIB_MBSSPN GNULIB_MBSSEP GNULIB_MBSTOK_R GNULIB_STRERROR GNULIB_STRSIGNAL HAVE_DECL_MEMMEM HAVE_MEMPCPY HAVE_DECL_MEMRCHR HAVE_RAWMEMCHR HAVE_STPCPY HAVE_STPNCPY HAVE_STRCHRNUL HAVE_DECL_STRDUP HAVE_STRNDUP HAVE_DECL_STRNDUP HAVE_DECL_STRNLEN HAVE_STRPBRK HAVE_STRSEP HAVE_STRCASESTR HAVE_DECL_STRTOK_R HAVE_DECL_STRERROR HAVE_DECL_STRSIGNAL REPLACE_STRERROR REPLACE_STRSIGNAL REPLACE_MEMMEM REPLACE_STRCASESTR REPLACE_STRSTR REPLACE_MKDIR REPLACE_LOCALTIME_R REPLACE_NANOSLEEP REPLACE_STRPTIME REPLACE_TIMEGM LIB_NANOSLEEP NEXT_NETINET_IN_H HAVE_NETINET_IN_H NETINET_IN_H PERL POSIX_SHELL PREFERABLY_POSIX_SHELL DEFAULT_POSIX2_VERSION NEXT_SYS_SOCKET_H HAVE_SYS_SOCKET_H HAVE_WINSOCK2_H HAVE_WS2TCPIP_H SYS_SOCKET_H STDARG_H NEXT_STDARG_H NEXT_STDIO_H NEXT_STDLIB_H NEXT_STRING_H POW_LIB HAVE_LSTAT NEXT_SYS_STAT_H SYS_STAT_H NEXT_TIME_H TIME_H_DEFINES_STRUCT_TIMESPEC SYS_TIME_H_DEFINES_STRUCT_TIMESPEC NEXT_UNISTD_H HAVE_UNISTD_H GNULIB_WCWIDTH HAVE_DECL_WCWIDTH REPLACE_WCWIDTH WCHAR_H HAVE_WCHAR_H NEXT_WCHAR_H HAVE_ISWCNTRL HAVE_WINT_T NEXT_WCTYPE_H HAVE_WCTYPE_H WCTYPE_H REPLACE_ISWCNTRL LOCALE_FR LOCALE_TR_UTF8 LOCALE_FR_UTF8 LOCALE_ZH_CN abs_aux_dir LIBCOREUTILS_LIBDEPS LIBCOREUTILS_LTLIBDEPS LIBTESTS_LIBDEPS HELP2MAN MAN U ANSI2KNR LIBOBJS LIB_FDATASYNC SEQ_LIBM COND_USE_HDPARM_TRUE COND_USE_HDPARM_FALSE USE_HDPARM LIB_CRYPT INSTALL_SU OPTIONAL_BIN_PROGS NO_INSTALL_PROGS_DEFAULT CONFIG_STATUS_DEPENDENCIES USE_NLS GETTEXT_MACRO_VERSION MSGFMT GMSGFMT MSGFMT_015 GMSGFMT_015 XGETTEXT XGETTEXT_015 MSGMERGE XGETTEXT_EXTRA_OPTIONS INTL_MACOSX_LIBS INTLLIBS POSUB LTLIBOBJS gl_LIBOBJS gl_LTLIBOBJS gltests_LIBOBJS gltests_LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP YACC YFLAGS DEFAULT_POSIX2_VERSION' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures dc3dd 7.1.614 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/dc3dd] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of dc3dd 7.1.614:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-assert turn off assertions --disable-rpath do not hardcode runtime library paths --disable-largefile omit support for large files --enable-hdparm use hdparm code to check for HPA/DCO on ATA drives --disable-nls do not use Native Language Support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --without-included-regex don't compile regex; this is the default on 32-bit systems with recent-enough versions of the GNU C Library (use with caution on other systems). On systems with 64-bit ptrdiff_t and 32-bit int, --with-included-regex is the default, in case regex functions operate on very long strings (>2GB) --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor YACC The `Yet Another C Compiler' implementation to use. Defaults to `bison -y'. Values other than `bison -y' will most likely break on most systems. YFLAGS YFLAGS contains the list arguments that will be passed by default to Bison. This script will default YFLAGS to the empty string to avoid a default value of `-d' given by some make applications. DEFAULT_POSIX2_VERSION POSIX version to default to; see 'config.hin'. Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF dc3dd configure 7.1.614 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by dc3dd $as_me 7.1.614, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi ac_header_list="$ac_header_list arpa/inet.h" ac_header_list="$ac_header_list sys/param.h" ac_func_list="$ac_func_list canonicalize_file_name" ac_func_list="$ac_func_list resolvepath" ac_func_list="$ac_func_list dup2" ac_func_list="$ac_func_list fchdir" ac_header_list="$ac_header_list dirent.h" ac_header_list="$ac_header_list fcntl.h" ac_func_list="$ac_func_list mempcpy" ac_header_list="$ac_header_list float.h" ac_func_list="$ac_func_list btowc" ac_func_list="$ac_func_list isblank" ac_func_list="$ac_func_list iswctype" ac_func_list="$ac_func_list mbsrtowcs" ac_func_list="$ac_func_list wmemchr" ac_func_list="$ac_func_list wmemcpy" ac_func_list="$ac_func_list wmempcpy" ac_header_list="$ac_header_list wctype.h" ac_header_list="$ac_header_list stdio_ext.h" ac_func_list="$ac_func_list __fpending" ac_func_list="$ac_func_list fpurge" ac_func_list="$ac_func_list __fpurge" ac_func_list="$ac_func_list __freading" ac_header_list="$ac_header_list sys/vfs.h" ac_header_list="$ac_header_list sys/fs_types.h" ac_func_list="$ac_func_list ftruncate" ac_func_list="$ac_func_list microuptime" ac_func_list="$ac_func_list nanouptime" ac_func_list="$ac_func_list flockfile" ac_func_list="$ac_func_list funlockfile" ac_header_list="$ac_header_list termios.h" ac_func_list="$ac_func_list __fsetlocking" ac_func_list="$ac_func_list tcgetattr" ac_func_list="$ac_func_list tcsetattr" ac_func_list="$ac_func_list gettimeofday" ac_func_list="$ac_func_list nanotime" ac_header_list="$ac_header_list sys/time.h" ac_header_list="$ac_header_list iconv.h" ac_header_list="$ac_header_list stdint.h" ac_header_list="$ac_header_list wchar.h" ac_header_list="$ac_header_list inttypes.h" ac_func_list="$ac_func_list lchmod" ac_header_list="$ac_header_list math.h" ac_func_list="$ac_func_list isascii" ac_func_list="$ac_func_list mbsinit" ac_header_list="$ac_header_list unistd.h" ac_func_list="$ac_func_list fchmod" ac_func_list="$ac_func_list alarm" ac_header_list="$ac_header_list sys/statvfs.h" ac_func_list="$ac_func_list siginterrupt" ac_header_list="$ac_header_list sys/select.h" ac_header_list="$ac_header_list netinet/in.h" ac_func_list="$ac_func_list fdopendir" gl_printf_safe=yes ac_func_list="$ac_func_list readlink" ac_header_list="$ac_header_list utmp.h" ac_header_list="$ac_header_list utmpx.h" ac_func_list="$ac_func_list utmpname" ac_func_list="$ac_func_list utmpxname" ac_header_list="$ac_header_list locale.h" ac_func_list="$ac_func_list mbrtowc" ac_func_list="$ac_func_list wcrtomb" ac_func_list="$ac_func_list wcscoll" ac_func_list="$ac_func_list pathconf" ac_func_list="$ac_func_list setenv" ac_func_list="$ac_func_list settimeofday" ac_func_list="$ac_func_list stime" ac_header_list="$ac_header_list sys/socket.h" ac_header_list="$ac_header_list stdarg.h" ac_header_list="$ac_header_list stdio.h" ac_header_list="$ac_header_list stdlib.h" ac_func_list="$ac_func_list mblen" ac_func_list="$ac_func_list mbrlen" ac_func_list="$ac_func_list tzset" ac_header_list="$ac_header_list string.h" ac_func_list="$ac_func_list lstat" ac_header_list="$ac_header_list sys/stat.h" ac_header_list="$ac_header_list time.h" ac_func_list="$ac_func_list pipe" ac_header_list="$ac_header_list priv.h" ac_header_list="$ac_header_list utime.h" ac_func_list="$ac_func_list futimes" ac_func_list="$ac_func_list futimesat" ac_func_list="$ac_func_list futimens" ac_func_list="$ac_func_list utimensat" ac_func_list="$ac_func_list vasnprintf" ac_func_list="$ac_func_list iswcntrl" ac_func_list="$ac_func_list wcwidth" ac_func_list="$ac_func_list sleep" ac_header_list="$ac_header_list hurd.h" ac_header_list="$ac_header_list paths.h" ac_header_list="$ac_header_list stropts.h" ac_header_list="$ac_header_list sys/ioctl.h" ac_header_list="$ac_header_list sys/resource.h" ac_header_list="$ac_header_list sys/systeminfo.h" ac_header_list="$ac_header_list sys/wait.h" ac_header_list="$ac_header_list syslog.h" ac_header_list="$ac_header_list grp.h" ac_header_list="$ac_header_list pwd.h" ac_func_list="$ac_func_list strxfrm" ac_func_list="$ac_func_list directio" ac_func_list="$ac_func_list endgrent" ac_func_list="$ac_func_list endpwent" ac_func_list="$ac_func_list fchown" ac_func_list="$ac_func_list iswspace" ac_func_list="$ac_func_list mkfifo" ac_func_list="$ac_func_list setgroups" ac_func_list="$ac_func_list sethostname" ac_func_list="$ac_func_list sync" ac_func_list="$ac_func_list sysctl" ac_func_list="$ac_func_list sysinfo" ac_func_list="$ac_func_list tcgetpgrp" ac_header_list="$ac_header_list OS.h" gt_needs="$gt_needs need-formatstring-macros" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in build-aux "$srcdir"/build-aux; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&5 echo "$as_me: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ac_config_headers="$ac_config_headers lib/config.h:lib/config.hin" am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='dc3dd' VERSION='7.1.614' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi case $ac_cv_prog_cc_stdc in no) ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; *) { echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5 echo $ECHO_N "checking for $CC option to accept ISO C99... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c99+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c99=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #include // Check varargs macros. These examples are taken from C99 6.10.3.5. #define debug(...) fprintf (stderr, __VA_ARGS__) #define showlist(...) puts (#__VA_ARGS__) #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) static void test_varargs_macros (void) { int x = 1234; int y = 5678; debug ("Flag"); debug ("X = %d\n", x); showlist (The first, second, and third items.); report (x>y, "x is %d but y is %d", x, y); } // Check long long types. #define BIG64 18446744073709551615ull #define BIG32 4294967295ul #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) #if !BIG_OK your preprocessor is broken; #endif #if BIG_OK #else your preprocessor is broken; #endif static long long int bignum = -9223372036854775807LL; static unsigned long long int ubignum = BIG64; struct incomplete_array { int datasize; double data[]; }; struct named_init { int number; const wchar_t *name; double average; }; typedef const char *ccp; static inline int test_restrict (ccp restrict text) { // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\0'; ++i) continue; return 0; } // Check varargs and va_copy. static void test_varargs (const char *format, ...) { va_list args; va_start (args, format); va_list args_copy; va_copy (args_copy, args); const char *str; int number; float fnumber; while (*format) { switch (*format++) { case 's': // string str = va_arg (args_copy, const char *); break; case 'd': // int number = va_arg (args_copy, int); break; case 'f': // float fnumber = va_arg (args_copy, double); break; default: break; } } va_end (args_copy); va_end (args); } int main () { // Check bool. _Bool success = false; // Check restrict. if (test_restrict ("String literal") == 0) success = true; char *restrict newvar = "Another string"; // Check varargs. test_varargs ("s, d' f .", "string", 65, 34.234); test_varargs_macros (); // Check flexible array members. struct incomplete_array *ia = malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; // Check named initializers. struct named_init ni = { .number = 34, .name = L"Test wide string", .average = 543.34343, }; ni.number = 58; int dynamic_array[ni.number]; dynamic_array[ni.number - 1] = 543; // work around unused variable warnings return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' || dynamic_array[ni.number - 1] != 543); ; return 0; } _ACEOF for ac_arg in '' -std=gnu99 -c99 -qlanglvl=extc99 do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c99=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c99" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c99" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c99" >&6; } ;; esac if test "x$ac_cv_prog_cc_c99" != xno; then ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 else { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 else ac_cv_prog_cc_stdc=no fi fi ;; esac { echo "$as_me:$LINENO: checking for $CC option to accept ISO Standard C" >&5 echo $ECHO_N "checking for $CC option to accept ISO Standard C... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi case $ac_cv_prog_cc_stdc in no) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; '') { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; *) { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6; } ;; esac if test "x$CC" != xcc; then { echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6; } fi set dummy $CC; ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -f conftest2.$ac_objext && { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -f conftest2.$ac_objext && { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } cat >>confdefs.h <<\_ACEOF #define NO_MINUS_C_MINUS_O 1 _ACEOF fi # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" if test $ac_cv_c_compiler_gnu = yes; then { echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6; } if test "${ac_cv_prog_gcc_traditional+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_pattern="Autoconf.*'x'" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no fi rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi { echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6; } if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" fi fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi cat >>confdefs.h <<\_ACEOF #define _GNU_SOURCE 1 _ACEOF { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_minix_config_h+set}" = set; then { echo "$as_me:$LINENO: checking for minix/config.h" >&5 echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6; } if test "${ac_cv_header_minix_config_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking minix/config.h usability" >&5 echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking minix/config.h presence" >&5 echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for minix/config.h" >&5 echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6; } if test "${ac_cv_header_minix_config_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_minix_config_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6; } fi if test $ac_cv_header_minix_config_h = yes; then MINIX=yes else MINIX= fi if test "$MINIX" = yes; then cat >>confdefs.h <<\_ACEOF #define _POSIX_SOURCE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _POSIX_1_SOURCE 2 _ACEOF cat >>confdefs.h <<\_ACEOF #define _MINIX 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5 echo $ECHO_N "checking whether it is safe to define __EXTENSIONS__... $ECHO_C" >&6; } if test "${ac_cv_safe_to_define___extensions__+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # define __EXTENSIONS__ 1 $ac_includes_default int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_safe_to_define___extensions__=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_safe_to_define___extensions__=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5 echo "${ECHO_T}$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && cat >>confdefs.h <<\_ACEOF #define __EXTENSIONS__ 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _ALL_SOURCE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _GNU_SOURCE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _POSIX_PTHREAD_SEMANTICS 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define _TANDEM_SOURCE 1 _ACEOF { echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5 echo $ECHO_N "checking for _LARGEFILE_SOURCE value needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_largefile_source+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_sys_largefile_source=no; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _LARGEFILE_SOURCE 1 #include int main () { return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_sys_largefile_source=1; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_cv_sys_largefile_source=unknown break done fi { echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_source" >&6; } case $ac_cv_sys_largefile_source in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source _ACEOF ;; esac rm -f conftest* # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug # in glibc 2.1.3, but that breaks too many other things. # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. if test $ac_cv_sys_largefile_source != unknown; then cat >>confdefs.h <<\_ACEOF #define HAVE_FSEEKO 1 _ACEOF fi # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # IEEE behaviour is the default on all CPUs except Alpha and SH # (according to the test results of Bruno Haible's ieeefp/fenv_default.m4 # and the GCC 4.1.2 manual). case "$host_cpu" in alpha*) # On Alpha systems, a compiler option provides the behaviour. # See the ieee(3) manual page, also available at # if test -n "$GCC"; then # GCC has the option -mieee. CPPFLAGS="$CPPFLAGS -mieee" else # Compaq (ex-DEC) C has the option -ieee. CPPFLAGS="$CPPFLAGS -ieee" fi ;; sh*) if test -n "$GCC"; then # GCC has the option -mieee. CPPFLAGS="$CPPFLAGS -mieee" fi ;; esac # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { echo "$as_me:$LINENO: checking for working alloca.h" >&5 echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6; } if test "${ac_cv_working_alloca_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_working_alloca_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_working_alloca_h=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 echo "${ECHO_T}$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA_H 1 _ACEOF fi { echo "$as_me:$LINENO: checking for alloca" >&5 echo $ECHO_N "checking for alloca... $ECHO_C" >&6; } if test "${ac_cv_func_alloca_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include # define alloca _alloca # else # ifdef HAVE_ALLOCA_H # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); if (p) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_alloca_works=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_alloca_works=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 echo "${ECHO_T}$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA 1 _ACEOF else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=\${LIBOBJDIR}alloca.$ac_objext cat >>confdefs.h <<\_ACEOF #define C_ALLOCA 1 _ACEOF { echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6; } if test "${ac_cv_os_cray+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 echo "${ECHO_T}$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi { echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6; } if test "${ac_cv_c_stack_direction+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_c_stack_direction=0 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int find_stack_direction () { static char *addr = 0; auto char dummy; if (addr == 0) { addr = &dummy; return find_stack_direction (); } else return (&dummy > addr) ? 1 : -1; } int main () { return find_stack_direction () < 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_stack_direction=1 else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_stack_direction=-1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 echo "${ECHO_T}$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi GNULIB_INET_NTOP=0; GNULIB_INET_PTON=0; HAVE_DECL_INET_NTOP=1; HAVE_DECL_INET_PTON=1; ARPA_INET_H=''; for ac_header in $ac_header_list do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether the preprocessor supports include_next" >&5 echo $ECHO_N "checking whether the preprocessor supports include_next... $ECHO_C" >&6; } if test "${gl_cv_have_include_next+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -rf conftestd1 conftestd2 mkdir conftestd1 conftestd2 cat < conftestd1/conftest.h #define DEFINED_IN_CONFTESTD1 #include_next #ifdef DEFINED_IN_CONFTESTD2 int foo; #else #error "include_next doesn't work" #endif EOF cat < conftestd2/conftest.h #ifndef DEFINED_IN_CONFTESTD1 #error "include_next test doesn't work" #endif #define DEFINED_IN_CONFTESTD2 EOF save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2" cat >conftest.$ac_ext <<_ACEOF #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_have_include_next=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_have_include_next=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$save_CPPFLAGS" rm -rf conftestd1 conftestd2 fi { echo "$as_me:$LINENO: result: $gl_cv_have_include_next" >&5 echo "${ECHO_T}$gl_cv_have_include_next" >&6; } if test $gl_cv_have_include_next = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_INCLUDE_NEXT 1 _ACEOF INCLUDE_NEXT=include_next else INCLUDE_NEXT=include fi { echo "$as_me:$LINENO: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6; } if test "${ac_cv_c_inline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_inline=$ac_kw else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac { echo "$as_me:$LINENO: checking for C/C++ restrict keyword" >&5 echo $ECHO_N "checking for C/C++ restrict keyword... $ECHO_C" >&6; } if test "${ac_cv_c_restrict+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { return ip[0]; } int main () { int s[1]; int * $ac_kw t = s; t[0] = 0; return foo(t) ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_restrict=$ac_kw else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_restrict" != no && break done fi { echo "$as_me:$LINENO: result: $ac_cv_c_restrict" >&5 echo "${ECHO_T}$ac_cv_c_restrict" >&6; } case $ac_cv_c_restrict in restrict) ;; no) cat >>confdefs.h <<\_ACEOF #define restrict _ACEOF ;; *) cat >>confdefs.h <<_ACEOF #define restrict $ac_cv_c_restrict _ACEOF ;; esac { echo "$as_me:$LINENO: checking whether strtold conforms to C99" >&5 echo $ECHO_N "checking whether strtold conforms to C99... $ECHO_C" >&6; } if test "${gl_cv_func_c99_strtold+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* On HP-UX before 11.23, strtold returns a struct instead of long double. Reject implementations like that, by requiring compatibility with the C99 prototype. */ #include static long double (*p) (char const *, char **) = strtold; static long double test (char const *nptr, char **endptr) { long double r; r = strtold (nptr, endptr); return r; } int main () { return test ("1.0", NULL) != 1 || p ("1.0", NULL) != 1; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_c99_strtold=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_c99_strtold=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_c99_strtold" >&5 echo "${ECHO_T}$gl_cv_func_c99_strtold" >&6; } if test $gl_cv_func_c99_strtold = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_C99_STRTOLD 1 _ACEOF fi { echo "$as_me:$LINENO: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6; } if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef size_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_size_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6; } if test $ac_cv_type_size_t = yes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { echo "$as_me:$LINENO: checking whether malloc, realloc, calloc are POSIX compliant" >&5 echo $ECHO_N "checking whether malloc, realloc, calloc are POSIX compliant... $ECHO_C" >&6; } if test "${gl_cv_func_malloc_posix+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_func_malloc_posix=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_malloc_posix=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_malloc_posix" >&5 echo "${ECHO_T}$gl_cv_func_malloc_posix" >&6; } GNULIB_MALLOC_POSIX=0; GNULIB_REALLOC_POSIX=0; GNULIB_CALLOC_POSIX=0; GNULIB_GETSUBOPT=0; GNULIB_MKDTEMP=0; GNULIB_MKSTEMP=0; GNULIB_PUTENV=0; GNULIB_RPMATCH=0; GNULIB_SETENV=0; GNULIB_STRTOD=0; GNULIB_UNSETENV=0; HAVE_CALLOC_POSIX=1; HAVE_GETSUBOPT=1; HAVE_MALLOC_POSIX=1; HAVE_MKDTEMP=1; HAVE_REALLOC_POSIX=1; HAVE_RPMATCH=1; HAVE_SETENV=1; HAVE_STRTOD=1; HAVE_UNSETENV=1; REPLACE_MKSTEMP=0; REPLACE_PUTENV=0; REPLACE_STRTOD=0; VOID_UNSETENV=0; { echo "$as_me:$LINENO: checking whether canonicalize_file_name is declared" >&5 echo $ECHO_N "checking whether canonicalize_file_name is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_canonicalize_file_name+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef canonicalize_file_name (void) canonicalize_file_name; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_canonicalize_file_name=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_canonicalize_file_name=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_canonicalize_file_name" >&5 echo "${ECHO_T}$ac_cv_have_decl_canonicalize_file_name" >&6; } if test $ac_cv_have_decl_canonicalize_file_name = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_CANONICALIZE_FILE_NAME 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_CANONICALIZE_FILE_NAME 0 _ACEOF fi for ac_func in $ac_func_list do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done GNULIB_CHOWN=0; GNULIB_DUP2=0; GNULIB_ENVIRON=0; GNULIB_FCHDIR=0; GNULIB_FTRUNCATE=0; GNULIB_GETCWD=0; GNULIB_GETLOGIN_R=0; GNULIB_GETPAGESIZE=0; GNULIB_LCHOWN=0; GNULIB_LSEEK=0; GNULIB_READLINK=0; GNULIB_SLEEP=0; HAVE_DUP2=1; HAVE_FTRUNCATE=1; HAVE_GETPAGESIZE=1; HAVE_READLINK=1; HAVE_SLEEP=1; HAVE_DECL_ENVIRON=1; HAVE_DECL_GETLOGIN_R=1; HAVE_OS_H=0; HAVE_SYS_PARAM_H=0; REPLACE_CHOWN=0; REPLACE_FCHDIR=0; REPLACE_GETCWD=0; REPLACE_GETPAGESIZE=0; REPLACE_LCHOWN=0; REPLACE_LSEEK=0; { echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6; } if test "${ac_cv_type_uid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "uid_t" >/dev/null 2>&1; then ac_cv_type_uid_t=yes else ac_cv_type_uid_t=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 echo "${ECHO_T}$ac_cv_type_uid_t" >&6; } if test $ac_cv_type_uid_t = no; then cat >>confdefs.h <<\_ACEOF #define uid_t int _ACEOF cat >>confdefs.h <<\_ACEOF #define gid_t int _ACEOF fi for ac_header in unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for working chown" >&5 echo $ECHO_N "checking for working chown... $ECHO_C" >&6; } if test "${ac_cv_func_chown_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_chown_works=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include int main () { char *f = "conftest.chown"; struct stat before, after; if (creat (f, 0600) < 0) return 1; if (stat (f, &before) < 0) return 1; if (chown (f, (uid_t) -1, (gid_t) -1) == -1) return 1; if (stat (f, &after) < 0) return 1; return ! (before.st_uid == after.st_uid && before.st_gid == after.st_gid); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_chown_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_chown_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.chown fi { echo "$as_me:$LINENO: result: $ac_cv_func_chown_works" >&5 echo "${ECHO_T}$ac_cv_func_chown_works" >&6; } if test $ac_cv_func_chown_works = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_CHOWN 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether chown(2) dereferences symlinks" >&5 echo $ECHO_N "checking whether chown(2) dereferences symlinks... $ECHO_C" >&6; } if test "${gl_cv_func_chown_follows_symlink+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_chown_follows_symlink=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { char const *dangling_symlink = "conftest.dangle"; unlink (dangling_symlink); if (symlink ("conftest.no-such", dangling_symlink)) abort (); /* Exit successfully on a conforming system, i.e., where chown must fail with ENOENT. */ exit ( ! (chown (dangling_symlink, getuid (), getgid ()) != 0 && errno == ENOENT)); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_chown_follows_symlink=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_chown_follows_symlink=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_chown_follows_symlink" >&5 echo "${ECHO_T}$gl_cv_func_chown_follows_symlink" >&6; } if test $gl_cv_func_chown_follows_symlink = no; then cat >>confdefs.h <<\_ACEOF #define CHOWN_MODIFIES_SYMLINK 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } if test "${ac_cv_c_bigendian+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_bigendian=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # It does not; compile a test program. if test "$cross_compiling" = yes; then # try to guess the endianness by grepping values into an object file ac_cv_c_bigendian=unknown cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } int main () { _ascii (); _ebcdic (); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in yes) cat >>confdefs.h <<\_ACEOF #define WORDS_BIGENDIAN 1 _ACEOF ;; no) ;; *) { { echo "$as_me:$LINENO: error: unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" >&5 echo "$as_me: error: unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} { (exit 1); exit 1; }; } ;; esac { echo "$as_me:$LINENO: checking whether system is Windows or MSDOS" >&5 echo $ECHO_N "checking whether system is Windows or MSDOS... $ECHO_C" >&6; } if test "${ac_cv_win_or_dos+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__ neither MSDOS nor Windows #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_win_or_dos=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_win_or_dos=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_win_or_dos" >&5 echo "${ECHO_T}$ac_cv_win_or_dos" >&6; } if test x"$ac_cv_win_or_dos" = xyes; then ac_fs_accepts_drive_letter_prefix=1 ac_fs_backslash_is_file_name_separator=1 { echo "$as_me:$LINENO: checking whether drive letter can start relative path" >&5 echo $ECHO_N "checking whether drive letter can start relative path... $ECHO_C" >&6; } if test "${ac_cv_drive_letter_can_be_relative+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #if defined __CYGWIN__ drive letters are always absolute #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_drive_letter_can_be_relative=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_drive_letter_can_be_relative=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_drive_letter_can_be_relative" >&5 echo "${ECHO_T}$ac_cv_drive_letter_can_be_relative" >&6; } if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then ac_fs_drive_letter_can_be_relative=1 else ac_fs_drive_letter_can_be_relative=0 fi else ac_fs_accepts_drive_letter_prefix=0 ac_fs_backslash_is_file_name_separator=0 ac_fs_drive_letter_can_be_relative=0 fi cat >>confdefs.h <<_ACEOF #define FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX $ac_fs_accepts_drive_letter_prefix _ACEOF cat >>confdefs.h <<_ACEOF #define FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR $ac_fs_backslash_is_file_name_separator _ACEOF cat >>confdefs.h <<_ACEOF #define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE $ac_fs_drive_letter_can_be_relative _ACEOF { echo "$as_me:$LINENO: checking whether // is distinct from /" >&5 echo $ECHO_N "checking whether // is distinct from /... $ECHO_C" >&6; } if test "${gl_cv_double_slash_root+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test x"$cross_compiling" = xyes ; then # When cross-compiling, there is no way to tell whether // is special # short of a list of hosts. However, the only known hosts to date # that have a distinct // are Apollo DomainOS (too old to port to), # Cygwin, and z/OS. If anyone knows of another system for which // has # special semantics and is distinct from /, please report it to # . case $host in *-cygwin | i370-ibm-openedition) gl_cv_double_slash_root=yes ;; *) # Be optimistic and assume that / and // are the same when we # don't know. gl_cv_double_slash_root='unknown, assuming no' ;; esac else set x `ls -di / // 2>/dev/null` if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then gl_cv_double_slash_root=no else gl_cv_double_slash_root=yes fi fi fi { echo "$as_me:$LINENO: result: $gl_cv_double_slash_root" >&5 echo "${ECHO_T}$gl_cv_double_slash_root" >&6; } if test "$gl_cv_double_slash_root" = yes; then cat >>confdefs.h <<\_ACEOF #define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether strerror_r is declared" >&5 echo $ECHO_N "checking whether strerror_r is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strerror_r+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strerror_r (void) strerror_r; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strerror_r=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strerror_r=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror_r" >&5 echo "${ECHO_T}$ac_cv_have_decl_strerror_r" >&6; } if test $ac_cv_have_decl_strerror_r = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR_R 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR_R 0 _ACEOF fi for ac_func in strerror_r do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether strerror_r returns char *" >&5 echo $ECHO_N "checking whether strerror_r returns char *... $ECHO_C" >&6; } if test "${ac_cv_func_strerror_r_char_p+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_func_strerror_r_char_p=no if test $ac_cv_have_decl_strerror_r = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { char buf[100]; char x = *strerror_r (0, buf, sizeof buf); char *p = strerror_r (0, buf, sizeof buf); return !p || x; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_func_strerror_r_char_p=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else # strerror_r is not declared. Choose between # systems that have relatively inaccessible declarations for the # function. BeOS and DEC UNIX 4.0 fall in this category, but the # former has a strerror_r that returns char*, while the latter # has a strerror_r that returns `int'. # This test should segfault on the DEC system. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default extern char *strerror_r (); int main () { char buf[100]; char x = *strerror_r (0, buf, sizeof buf); return ! isalpha (x); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_strerror_r_char_p=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_strerror_r_char_p" >&5 echo "${ECHO_T}$ac_cv_func_strerror_r_char_p" >&6; } if test $ac_cv_func_strerror_r_char_p = yes; then cat >>confdefs.h <<\_ACEOF #define STRERROR_R_CHAR_P 1 _ACEOF fi XGETTEXT_EXTRA_OPTIONS= GNULIB_OPEN=0; REPLACE_OPEN=0; GNULIB_FPRINTF_POSIX=0; GNULIB_PRINTF_POSIX=0; GNULIB_SNPRINTF=0; GNULIB_SPRINTF_POSIX=0; GNULIB_VFPRINTF_POSIX=0; GNULIB_VPRINTF_POSIX=0; GNULIB_VSNPRINTF=0; GNULIB_VSPRINTF_POSIX=0; GNULIB_VASPRINTF=0; GNULIB_FOPEN=0; GNULIB_FREOPEN=0; GNULIB_FSEEK=0; GNULIB_FSEEKO=0; GNULIB_FTELL=0; GNULIB_FTELLO=0; GNULIB_FFLUSH=0; GNULIB_GETDELIM=0; GNULIB_GETLINE=0; REPLACE_FPRINTF=0; REPLACE_VFPRINTF=0; REPLACE_PRINTF=0; REPLACE_VPRINTF=0; REPLACE_SNPRINTF=0; HAVE_DECL_SNPRINTF=1; REPLACE_VSNPRINTF=0; HAVE_DECL_VSNPRINTF=1; REPLACE_SPRINTF=0; REPLACE_VSPRINTF=0; HAVE_VASPRINTF=1; REPLACE_VASPRINTF=0; REPLACE_FOPEN=0; REPLACE_FREOPEN=0; HAVE_FSEEKO=1; REPLACE_FSEEKO=0; REPLACE_FSEEK=0; HAVE_FTELLO=1; REPLACE_FTELLO=0; REPLACE_FTELL=0; REPLACE_FFLUSH=0; HAVE_DECL_GETDELIM=1; HAVE_DECL_GETLINE=1; REPLACE_GETLINE=0; { echo "$as_me:$LINENO: checking for st_dm_mode in struct stat" >&5 echo $ECHO_N "checking for st_dm_mode in struct stat... $ECHO_C" >&6; } if test "${ac_cv_struct_st_dm_mode+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { struct stat s; s.st_dm_mode; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_struct_st_dm_mode=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_struct_st_dm_mode=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_struct_st_dm_mode" >&5 echo "${ECHO_T}$ac_cv_struct_st_dm_mode" >&6; } if test $ac_cv_struct_st_dm_mode = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ST_DM_MODE 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether strmode is declared" >&5 echo $ECHO_N "checking whether strmode is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strmode+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strmode (void) strmode; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strmode=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strmode=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strmode" >&5 echo "${ECHO_T}$ac_cv_have_decl_strmode" >&6; } if test $ac_cv_have_decl_strmode = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRMODE 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRMODE 0 _ACEOF fi { echo "$as_me:$LINENO: checking for mbstate_t" >&5 echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6; } if test "${ac_cv_type_mbstate_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default # include int main () { mbstate_t x; return sizeof x; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_mbstate_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_mbstate_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_mbstate_t" >&5 echo "${ECHO_T}$ac_cv_type_mbstate_t" >&6; } if test $ac_cv_type_mbstate_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MBSTATE_T 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define mbstate_t int _ACEOF fi GNULIB_CEILF=0; GNULIB_CEILL=0; GNULIB_FLOORF=0; GNULIB_FLOORL=0; GNULIB_FREXP=0; GNULIB_FREXPL=0; GNULIB_ISFINITE=0; GNULIB_LDEXPL=0; GNULIB_MATHL=0; GNULIB_ROUND=0; GNULIB_ROUNDF=0; GNULIB_ROUNDL=0; GNULIB_SIGNBIT=0; GNULIB_TRUNC=0; GNULIB_TRUNCF=0; GNULIB_TRUNCL=0; HAVE_DECL_ACOSL=1; HAVE_DECL_ASINL=1; HAVE_DECL_ATANL=1; HAVE_DECL_COSL=1; HAVE_DECL_EXPL=1; HAVE_DECL_FREXPL=1; HAVE_DECL_LDEXPL=1; HAVE_DECL_LOGL=1; HAVE_DECL_SINL=1; HAVE_DECL_SQRTL=1; HAVE_DECL_TANL=1; HAVE_DECL_TRUNC=1; HAVE_DECL_TRUNCF=1; REPLACE_CEILF=0; REPLACE_CEILL=0; REPLACE_FLOORF=0; REPLACE_FLOORL=0; REPLACE_FREXP=0; REPLACE_FREXPL=0; REPLACE_HUGE_VAL=0; REPLACE_ISFINITE=0; REPLACE_LDEXPL=0; REPLACE_NAN=0; REPLACE_ROUND=0; REPLACE_ROUNDF=0; REPLACE_ROUNDL=0; REPLACE_SIGNBIT=0; REPLACE_SIGNBIT_USING_GCC=0; REPLACE_TRUNCL=0; { echo "$as_me:$LINENO: checking whether stdin defaults to large file offsets" >&5 echo $ECHO_N "checking whether stdin defaults to large file offsets... $ECHO_C" >&6; } if test "${gl_cv_var_stdin_large_offset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #if defined __SL64 && defined __SCLE /* cygwin */ /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making fseeko/ftello needlessly fail. This bug was fixed in 1.5.25, and it is easier to do a version check than building a runtime test. */ # include # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25) choke me # endif #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_var_stdin_large_offset=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_var_stdin_large_offset=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_var_stdin_large_offset" >&5 echo "${ECHO_T}$gl_cv_var_stdin_large_offset" >&6; } { echo "$as_me:$LINENO: checking whether getcwd (NULL, 0) allocates memory for result" >&5 echo $ECHO_N "checking whether getcwd (NULL, 0) allocates memory for result... $ECHO_C" >&6; } if test "${gl_cv_func_getcwd_null+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_getcwd_null=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include # include # ifndef getcwd char *getcwd (); # endif int main () { if (chdir ("/") != 0) exit (1); else { char *f = getcwd (NULL, 0); exit (! (f && f[0] == '/' && !f[1])); } } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_getcwd_null=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_getcwd_null=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_getcwd_null" >&5 echo "${ECHO_T}$gl_cv_func_getcwd_null" >&6; } { echo "$as_me:$LINENO: checking whether getcwd is declared" >&5 echo $ECHO_N "checking whether getcwd is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getcwd+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getcwd (void) getcwd; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getcwd=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getcwd=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getcwd" >&5 echo "${ECHO_T}$ac_cv_have_decl_getcwd" >&6; } if test $ac_cv_have_decl_getcwd = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETCWD 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETCWD 0 _ACEOF fi { echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 echo $ECHO_N "checking for stdbool.h that conforms to C99... $ECHO_C" >&6; } if test "${ac_cv_header_stdbool_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; bool e = &s; char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; #if defined __xlc__ || defined __GNUC__ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 reported by James Lemley on 2005-10-05; see http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html This test is not quite right, since xlc is allowed to reject this program, as the initializer for xlcbug is not one of the forms that C requires support for. However, doing the test right would require a run-time test, and that would make cross-compilation harder. Let us hope that IBM fixes the xlc bug, and also adds support for this kind of constant expression. In the meantime, this test will reject xlc, which is OK, since our stdbool.h substitute should suffice. We also test this with GCC, where it should work, to detect more quickly whether someone messes up the test in the future. */ char digs[] = "0123456789"; int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); #endif /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; int main () { *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdbool_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdbool_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6; } { echo "$as_me:$LINENO: checking for _Bool" >&5 echo $ECHO_N "checking for _Bool... $ECHO_C" >&6; } if test "${ac_cv_type__Bool+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef _Bool ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type__Bool=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type__Bool=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 echo "${ECHO_T}$ac_cv_type__Bool" >&6; } if test $ac_cv_type__Bool = yes; then cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 _ACEOF fi if test $ac_cv_header_stdbool_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STDBOOL_H 1 _ACEOF fi # Define two additional variables used in the Makefile substitution. if test "$ac_cv_header_stdbool_h" = yes; then STDBOOL_H='' else STDBOOL_H='stdbool.h' fi if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 else HAVE__BOOL=0 fi # getdate.y works with bison only. : ${YACC='bison -y'} { echo "$as_me:$LINENO: checking for compound literals" >&5 echo $ECHO_N "checking for compound literals... $ECHO_C" >&6; } if test "${gl_cv_compound_literals+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ struct s { int i, j; }; struct s s = (struct s) { 1, 2 }; int main () { struct s t = (struct s) { 3, 4 }; if (t.i != 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_compound_literals=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_compound_literals=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_compound_literals" >&5 echo "${ECHO_T}$gl_cv_compound_literals" >&6; } if test $gl_cv_compound_literals = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_COMPOUND_LITERALS 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6; } if test "${ac_cv_struct_tm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_struct_tm=time.h else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 echo "${ECHO_T}$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then cat >>confdefs.h <<\_ACEOF #define TM_IN_SYS_TIME 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct tm.tm_gmtoff" >&5 echo $ECHO_N "checking for struct tm.tm_gmtoff... $ECHO_C" >&6; } if test "${ac_cv_member_struct_tm_tm_gmtoff+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static struct tm ac_aggr; if (ac_aggr.tm_gmtoff) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_tm_tm_gmtoff=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static struct tm ac_aggr; if (sizeof ac_aggr.tm_gmtoff) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_tm_tm_gmtoff=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_tm_tm_gmtoff=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_gmtoff" >&5 echo "${ECHO_T}$ac_cv_member_struct_tm_tm_gmtoff" >&6; } if test $ac_cv_member_struct_tm_tm_gmtoff = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_TM_GMTOFF 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether getdelim is declared" >&5 echo $ECHO_N "checking whether getdelim is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getdelim+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getdelim (void) getdelim; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getdelim=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getdelim=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getdelim" >&5 echo "${ECHO_T}$ac_cv_have_decl_getdelim" >&6; } if test $ac_cv_have_decl_getdelim = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETDELIM 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETDELIM 0 _ACEOF fi { echo "$as_me:$LINENO: checking type of array argument to getgroups" >&5 echo $ECHO_N "checking type of array argument to getgroups... $ECHO_C" >&6; } if test "${ac_cv_type_getgroups+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_type_getgroups=cross else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Thanks to Mike Rendell for this test. */ $ac_includes_default #define NGID 256 #undef MAX #define MAX(x, y) ((x) > (y) ? (x) : (y)) int main () { gid_t gidset[NGID]; int i, n; union { gid_t gval; long int lval; } val; val.lval = -1; for (i = 0; i < NGID; i++) gidset[i] = val.gval; n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1, gidset); /* Exit non-zero if getgroups seems to require an array of ints. This happens when gid_t is short int but getgroups modifies an array of ints. */ return n > 0 && gidset[n] != val.gval; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_getgroups=gid_t else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_type_getgroups=int fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_type_getgroups = cross; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then ac_cv_type_getgroups=gid_t else ac_cv_type_getgroups=int fi rm -f conftest* fi fi { echo "$as_me:$LINENO: result: $ac_cv_type_getgroups" >&5 echo "${ECHO_T}$ac_cv_type_getgroups" >&6; } cat >>confdefs.h <<_ACEOF #define GETGROUPS_T $ac_cv_type_getgroups _ACEOF { echo "$as_me:$LINENO: checking for getgroups" >&5 echo $ECHO_N "checking for getgroups... $ECHO_C" >&6; } if test "${ac_cv_func_getgroups+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define getgroups to an innocuous variant, in case declares getgroups. For example, HP-UX 11i declares gettimeofday. */ #define getgroups innocuous_getgroups /* System header to define __stub macros and hopefully few prototypes, which can conflict with char getgroups (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef getgroups /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getgroups (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_getgroups || defined __stub___getgroups choke me #endif int main () { return getgroups (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_getgroups=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_getgroups=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_getgroups" >&5 echo "${ECHO_T}$ac_cv_func_getgroups" >&6; } # If we don't yet have getgroups, see if it's in -lbsd. # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1. ac_save_LIBS=$LIBS if test $ac_cv_func_getgroups = no; then { echo "$as_me:$LINENO: checking for getgroups in -lbsd" >&5 echo $ECHO_N "checking for getgroups in -lbsd... $ECHO_C" >&6; } if test "${ac_cv_lib_bsd_getgroups+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getgroups (); int main () { return getgroups (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_bsd_getgroups=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_bsd_getgroups=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_getgroups" >&5 echo "${ECHO_T}$ac_cv_lib_bsd_getgroups" >&6; } if test $ac_cv_lib_bsd_getgroups = yes; then GETGROUPS_LIB=-lbsd fi fi # Run the program to test the functionality of the system-supplied # getgroups function only if there is such a function. if test $ac_cv_func_getgroups = yes; then { echo "$as_me:$LINENO: checking for working getgroups" >&5 echo $ECHO_N "checking for working getgroups... $ECHO_C" >&6; } if test "${ac_cv_func_getgroups_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_getgroups_works=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* On Ultrix 4.3, getgroups (0, 0) always fails. */ return getgroups (0, 0) == -1; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_getgroups_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_getgroups_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_getgroups_works" >&5 echo "${ECHO_T}$ac_cv_func_getgroups_works" >&6; } if test $ac_cv_func_getgroups_works = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_GETGROUPS 1 _ACEOF fi fi LIBS=$ac_save_LIBS { echo "$as_me:$LINENO: checking for arithmetic hrtime_t" >&5 echo $ECHO_N "checking for arithmetic hrtime_t... $ECHO_C" >&6; } if test "${gl_cv_arithmetic_hrtime_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { hrtime_t x = 0; return x/x; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_arithmetic_hrtime_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_arithmetic_hrtime_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_arithmetic_hrtime_t" >&5 echo "${ECHO_T}$gl_cv_arithmetic_hrtime_t" >&6; } if test $gl_cv_arithmetic_hrtime_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ARITHMETIC_HRTIME_T 1 _ACEOF fi { echo "$as_me:$LINENO: checking for long long int" >&5 echo $ECHO_N "checking for long long int... $ECHO_C" >&6; } if test "${ac_cv_type_long_long_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* For now, do not test the preprocessor; as of 2007 there are too many implementations with broken preprocessors. Perhaps this can be revisited in 2012. In the meantime, code should not expect #if to work with literals wider than 32 bits. */ /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63; int main () { /* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull)); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then if test "$cross_compiling" = yes; then ac_cv_type_long_long_int=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifndef LLONG_MAX # define HALF \ (1LL << (sizeof (long long int) * CHAR_BIT - 2)) # define LLONG_MAX (HALF - 1 + HALF) #endif int main () { long long int n = 1; int i; for (i = 0; ; i++) { long long int m = n << i; if (m >> i != n) return 1; if (LLONG_MAX / 2 < m) break; } return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long_long_int=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_type_long_long_int=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_long_long_int" >&5 echo "${ECHO_T}$ac_cv_type_long_long_int" >&6; } if test $ac_cv_type_long_long_int = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LONG_LONG_INT 1 _ACEOF fi : { echo "$as_me:$LINENO: checking whether getline is declared" >&5 echo $ECHO_N "checking whether getline is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getline (void) getline; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getline=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getline=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getline" >&5 echo "${ECHO_T}$ac_cv_have_decl_getline" >&6; } if test $ac_cv_have_decl_getline = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETLINE 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETLINE 0 _ACEOF fi { echo "$as_me:$LINENO: checking for ssize_t" >&5 echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; } if test "${gt_cv_ssize_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int x = sizeof (ssize_t *) + sizeof (ssize_t); return !x; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_ssize_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_ssize_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_ssize_t" >&5 echo "${ECHO_T}$gt_cv_ssize_t" >&6; } if test $gt_cv_ssize_t = no; then cat >>confdefs.h <<\_ACEOF #define ssize_t int _ACEOF fi if test -z "$GETOPT_H"; then for ac_header in getopt.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF else GETOPT_H=getopt.h fi done fi if test -z "$GETOPT_H"; then for ac_func in getopt_long_only do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else GETOPT_H=getopt.h fi done fi if test -z "$GETOPT_H"; then { echo "$as_me:$LINENO: checking whether optreset is declared" >&5 echo $ECHO_N "checking whether optreset is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_optreset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef optreset (void) optreset; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_optreset=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_optreset=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_optreset" >&5 echo "${ECHO_T}$ac_cv_have_decl_optreset" >&6; } if test $ac_cv_have_decl_optreset = yes; then GETOPT_H=getopt.h fi fi if test -z "$GETOPT_H"; then { echo "$as_me:$LINENO: checking for working GNU getopt function" >&5 echo $ECHO_N "checking for working GNU getopt function... $ECHO_C" >&6; } if test "${gl_cv_func_gnu_getopt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then { echo "$as_me:$LINENO: checking whether getopt_clip is declared" >&5 echo $ECHO_N "checking whether getopt_clip is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getopt_clip+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef getopt_clip (void) getopt_clip; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getopt_clip=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getopt_clip=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getopt_clip" >&5 echo "${ECHO_T}$ac_cv_have_decl_getopt_clip" >&6; } if test $ac_cv_have_decl_getopt_clip = yes; then gl_cv_func_gnu_getopt=no else gl_cv_func_gnu_getopt=yes fi else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { char *myargv[3]; myargv[0] = "conftest"; myargv[1] = "-+"; myargv[2] = 0; return getopt (2, myargv, "+a") != '?'; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_gnu_getopt=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_gnu_getopt=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_gnu_getopt" >&5 echo "${ECHO_T}$gl_cv_func_gnu_getopt" >&6; } if test "$gl_cv_func_gnu_getopt" = "no"; then GETOPT_H=getopt.h fi fi { echo "$as_me:$LINENO: checking whether getenv is declared" >&5 echo $ECHO_N "checking whether getenv is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getenv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getenv (void) getenv; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getenv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getenv=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5 echo "${ECHO_T}$ac_cv_have_decl_getenv" >&6; } if test $ac_cv_have_decl_getenv = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETENV 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETENV 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether getpass is declared" >&5 echo $ECHO_N "checking whether getpass is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getpass+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getpass (void) getpass; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getpass=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getpass=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getpass" >&5 echo "${ECHO_T}$ac_cv_have_decl_getpass" >&6; } if test $ac_cv_have_decl_getpass = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETPASS 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETPASS 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether fflush_unlocked is declared" >&5 echo $ECHO_N "checking whether fflush_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_fflush_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef fflush_unlocked (void) fflush_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_fflush_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_fflush_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_fflush_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_fflush_unlocked" >&6; } if test $ac_cv_have_decl_fflush_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FFLUSH_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FFLUSH_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether flockfile is declared" >&5 echo $ECHO_N "checking whether flockfile is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_flockfile+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef flockfile (void) flockfile; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_flockfile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_flockfile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_flockfile" >&5 echo "${ECHO_T}$ac_cv_have_decl_flockfile" >&6; } if test $ac_cv_have_decl_flockfile = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FLOCKFILE 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FLOCKFILE 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether fputs_unlocked is declared" >&5 echo $ECHO_N "checking whether fputs_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_fputs_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef fputs_unlocked (void) fputs_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_fputs_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_fputs_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputs_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_fputs_unlocked" >&6; } if test $ac_cv_have_decl_fputs_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPUTS_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPUTS_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether funlockfile is declared" >&5 echo $ECHO_N "checking whether funlockfile is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_funlockfile+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef funlockfile (void) funlockfile; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_funlockfile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_funlockfile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_funlockfile" >&5 echo "${ECHO_T}$ac_cv_have_decl_funlockfile" >&6; } if test $ac_cv_have_decl_funlockfile = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FUNLOCKFILE 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FUNLOCKFILE 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether putc_unlocked is declared" >&5 echo $ECHO_N "checking whether putc_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_putc_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef putc_unlocked (void) putc_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_putc_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_putc_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_putc_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_putc_unlocked" >&6; } if test $ac_cv_have_decl_putc_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PUTC_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PUTC_UNLOCKED 0 _ACEOF fi if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_time_h='<'sys/time.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_sys_time_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_sys_time_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_sys_time_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/sys/time.h#{ s#.*"\(.*/sys/time.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_sys_time_h='<'sys/time.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_sys_time_h" >&5 echo "${ECHO_T}$gl_cv_next_sys_time_h" >&6; } fi NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h if test $ac_cv_header_sys_time_h = yes; then HAVE_SYS_TIME_H=1 else HAVE_SYS_TIME_H=0 fi { echo "$as_me:$LINENO: checking for struct timeval" >&5 echo $ECHO_N "checking for struct timeval... $ECHO_C" >&6; } if test "${gl_cv_sys_struct_timeval+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_SYS_TIME_H #include #endif #include int main () { static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_sys_struct_timeval=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_sys_struct_timeval=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_sys_struct_timeval" >&5 echo "${ECHO_T}$gl_cv_sys_struct_timeval" >&6; } if test $gl_cv_sys_struct_timeval = yes; then HAVE_STRUCT_TIMEVAL=1 else HAVE_STRUCT_TIMEVAL=0 fi REPLACE_GETTIMEOFDAY=0 if test $HAVE_SYS_TIME_H = 0 || test $HAVE_STRUCT_TIMEVAL = 0; then SYS_TIME_H=sys/time.h else SYS_TIME_H= fi if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by GCC" >&5 echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${acl_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { echo "$as_me:$LINENO: result: $LD" >&5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${acl_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { echo "$as_me:$LINENO: checking for shared library run path origin" >&5 echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6; } if test "${acl_cv_rpath+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 echo "${ECHO_T}$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBICONV= LTLIBICONV= INCICONV= LIBICONV_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIBICONV_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi REPLACE_ICONV=0; REPLACE_ICONV_OPEN=0; REPLACE_ICONV_UTF=0; { echo "$as_me:$LINENO: checking for off_t" >&5 echo $ECHO_N "checking for off_t... $ECHO_C" >&6; } if test "${ac_cv_type_off_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef off_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_off_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_off_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 echo "${ECHO_T}$ac_cv_type_off_t" >&6; } if test $ac_cv_type_off_t = yes; then : else cat >>confdefs.h <<_ACEOF #define off_t long int _ACEOF fi { echo "$as_me:$LINENO: checking for unsigned long long int" >&5 echo $ECHO_N "checking for unsigned long long int... $ECHO_C" >&6; } if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* For now, do not test the preprocessor; as of 2007 there are too many implementations with broken preprocessors. Perhaps this can be revisited in 2012. In the meantime, code should not expect #if to work with literals wider than 32 bits. */ /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63; int main () { /* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull)); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_type_unsigned_long_long_int=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_unsigned_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long_int" >&5 echo "${ECHO_T}$ac_cv_type_unsigned_long_long_int" >&6; } if test $ac_cv_type_unsigned_long_long_int = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_UNSIGNED_LONG_LONG_INT 1 _ACEOF fi if test $ac_cv_type_long_long_int = yes; then HAVE_LONG_LONG_INT=1 else HAVE_LONG_LONG_INT=0 fi if test $ac_cv_type_unsigned_long_long_int = yes; then HAVE_UNSIGNED_LONG_LONG_INT=1 else HAVE_UNSIGNED_LONG_LONG_INT=0 fi if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_stdint_h='<'stdint.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_stdint_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_stdint_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_stdint_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdint.h#{ s#.*"\(.*/stdint.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdint_h='<'stdint.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_stdint_h" >&5 echo "${ECHO_T}$gl_cv_next_stdint_h" >&6; } fi NEXT_STDINT_H=$gl_cv_next_stdint_h if test $ac_cv_header_stdint_h = yes; then HAVE_STDINT_H=1 else HAVE_STDINT_H=0 fi if test $ac_cv_header_stdint_h = yes; then { echo "$as_me:$LINENO: checking whether stdint.h conforms to C99" >&5 echo $ECHO_N "checking whether stdint.h conforms to C99... $ECHO_C" >&6; } if test "${gl_cv_header_working_stdint_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_header_working_stdint_h=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ #if !(defined WCHAR_MIN && defined WCHAR_MAX) #error "WCHAR_MIN, WCHAR_MAX not defined in " #endif /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #ifdef INT8_MAX int8_t a1 = INT8_MAX; int8_t a1min = INT8_MIN; #endif #ifdef INT16_MAX int16_t a2 = INT16_MAX; int16_t a2min = INT16_MIN; #endif #ifdef INT32_MAX int32_t a3 = INT32_MAX; int32_t a3min = INT32_MIN; #endif #ifdef INT64_MAX int64_t a4 = INT64_MAX; int64_t a4min = INT64_MIN; #endif #ifdef UINT8_MAX uint8_t b1 = UINT8_MAX; #else typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif #ifdef UINT16_MAX uint16_t b2 = UINT16_MAX; #endif #ifdef UINT32_MAX uint32_t b3 = UINT32_MAX; #endif #ifdef UINT64_MAX uint64_t b4 = UINT64_MAX; #endif int_least8_t c1 = INT8_C (0x7f); int_least8_t c1max = INT_LEAST8_MAX; int_least8_t c1min = INT_LEAST8_MIN; int_least16_t c2 = INT16_C (0x7fff); int_least16_t c2max = INT_LEAST16_MAX; int_least16_t c2min = INT_LEAST16_MIN; int_least32_t c3 = INT32_C (0x7fffffff); int_least32_t c3max = INT_LEAST32_MAX; int_least32_t c3min = INT_LEAST32_MIN; int_least64_t c4 = INT64_C (0x7fffffffffffffff); int_least64_t c4max = INT_LEAST64_MAX; int_least64_t c4min = INT_LEAST64_MIN; uint_least8_t d1 = UINT8_C (0xff); uint_least8_t d1max = UINT_LEAST8_MAX; uint_least16_t d2 = UINT16_C (0xffff); uint_least16_t d2max = UINT_LEAST16_MAX; uint_least32_t d3 = UINT32_C (0xffffffff); uint_least32_t d3max = UINT_LEAST32_MAX; uint_least64_t d4 = UINT64_C (0xffffffffffffffff); uint_least64_t d4max = UINT_LEAST64_MAX; int_fast8_t e1 = INT_FAST8_MAX; int_fast8_t e1min = INT_FAST8_MIN; int_fast16_t e2 = INT_FAST16_MAX; int_fast16_t e2min = INT_FAST16_MIN; int_fast32_t e3 = INT_FAST32_MAX; int_fast32_t e3min = INT_FAST32_MIN; int_fast64_t e4 = INT_FAST64_MAX; int_fast64_t e4min = INT_FAST64_MIN; uint_fast8_t f1 = UINT_FAST8_MAX; uint_fast16_t f2 = UINT_FAST16_MAX; uint_fast32_t f3 = UINT_FAST32_MAX; uint_fast64_t f4 = UINT_FAST64_MAX; #ifdef INTPTR_MAX intptr_t g = INTPTR_MAX; intptr_t gmin = INTPTR_MIN; #endif #ifdef UINTPTR_MAX uintptr_t h = UINTPTR_MAX; #endif intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; #include /* for CHAR_BIT */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) struct s { int check_PTRDIFF: PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; /* Detect bug in FreeBSD 6.0 / ia64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) ? 1 : -1; int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; int check_WCHAR: WCHAR_MIN == TYPE_MINIMUM (wchar_t) && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) ? 1 : -1; /* Detect bug in mingw. */ int check_WINT: WINT_MIN == TYPE_MINIMUM (wint_t) && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -1; /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ int check_UINT8_C: (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; int check_UINT16_C: (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; /* Detect bugs in OpenBSD 3.9 stdint.h. */ #ifdef UINT8_MAX int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; #endif #ifdef UINT16_MAX int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; #endif #ifdef UINT32_MAX int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; #endif #ifdef UINT64_MAX int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; #endif int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; }; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_working_stdint_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_working_stdint_h" >&5 echo "${ECHO_T}$gl_cv_header_working_stdint_h" >&6; } fi if test "$gl_cv_header_working_stdint_h" = yes; then STDINT_H= else for ac_header in sys/inttypes.h sys/bitypes.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_sys_inttypes_h = yes; then HAVE_SYS_INTTYPES_H=1 else HAVE_SYS_INTTYPES_H=0 fi if test $ac_cv_header_sys_bitypes_h = yes; then HAVE_SYS_BITYPES_H=1 else HAVE_SYS_BITYPES_H=0 fi for gltype in ptrdiff_t sig_atomic_t size_t wchar_t wint_t ; do { echo "$as_me:$LINENO: checking for bit size of $gltype" >&5 echo $ECHO_N "checking for bit size of $gltype... $ECHO_C" >&6; } if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) result=$ac_lo;; '') result=unknown ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include static long int longval () { return sizeof ($gltype) * CHAR_BIT; } static unsigned long int ulongval () { return sizeof ($gltype) * CHAR_BIT; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if ((sizeof ($gltype) * CHAR_BIT) < 0) { long int i = longval (); if (i != (sizeof ($gltype) * CHAR_BIT)) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != (sizeof ($gltype) * CHAR_BIT)) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then result=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) result=unknown fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val eval gl_cv_bitsizeof_${gltype}=\$result fi ac_res=`eval echo '${'gl_cv_bitsizeof_${gltype}'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` cat >>confdefs.h <<_ACEOF #define BITSIZEOF_${GLTYPE} $result _ACEOF eval BITSIZEOF_${GLTYPE}=\$result done for gltype in sig_atomic_t wchar_t wint_t ; do { echo "$as_me:$LINENO: checking whether $gltype is signed" >&5 echo $ECHO_N "checking whether $gltype is signed... $ECHO_C" >&6; } if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then result=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 result=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval gl_cv_type_${gltype}_signed=\$result fi ac_res=`eval echo '${'gl_cv_type_${gltype}_signed'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } eval result=\$gl_cv_type_${gltype}_signed GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` if test "$result" = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_SIGNED_${GLTYPE} 1 _ACEOF eval HAVE_SIGNED_${GLTYPE}=1 else eval HAVE_SIGNED_${GLTYPE}=0 fi done gl_cv_type_ptrdiff_t_signed=yes gl_cv_type_size_t_signed=no for gltype in ptrdiff_t sig_atomic_t size_t wchar_t wint_t ; do { echo "$as_me:$LINENO: checking for $gltype integer literal suffix" >&5 echo $ECHO_N "checking for $gltype integer literal suffix... $ECHO_C" >&6; } if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif extern $gltype foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval gl_cv_type_${gltype}_suffix=\$glsuf else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done fi ac_res=`eval echo '${'gl_cv_type_${gltype}_suffix'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result cat >>confdefs.h <<_ACEOF #define ${GLTYPE}_SUFFIX $result _ACEOF done STDINT_H=stdint.h fi for ac_header in inttypes.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_inttypes_h = yes; then { echo "$as_me:$LINENO: checking whether the inttypes.h PRIxNN macros are broken" >&5 echo $ECHO_N "checking whether the inttypes.h PRIxNN macros are broken... $ECHO_C" >&6; } if test "${gt_cv_inttypes_pri_broken+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef PRId32 char *p = PRId32; #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_inttypes_pri_broken=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_inttypes_pri_broken=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_inttypes_pri_broken" >&5 echo "${ECHO_T}$gt_cv_inttypes_pri_broken" >&6; } fi if test "$gt_cv_inttypes_pri_broken" = yes; then cat >>confdefs.h <<_ACEOF #define PRI_MACROS_BROKEN 1 _ACEOF PRI_MACROS_BROKEN=1 else PRI_MACROS_BROKEN=0 fi { echo "$as_me:$LINENO: checking whether imaxabs is declared" >&5 echo $ECHO_N "checking whether imaxabs is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_imaxabs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef imaxabs (void) imaxabs; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_imaxabs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_imaxabs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_imaxabs" >&5 echo "${ECHO_T}$ac_cv_have_decl_imaxabs" >&6; } if test $ac_cv_have_decl_imaxabs = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_IMAXABS 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_IMAXABS 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether imaxdiv is declared" >&5 echo $ECHO_N "checking whether imaxdiv is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_imaxdiv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef imaxdiv (void) imaxdiv; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_imaxdiv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_imaxdiv=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_imaxdiv" >&5 echo "${ECHO_T}$ac_cv_have_decl_imaxdiv" >&6; } if test $ac_cv_have_decl_imaxdiv = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_IMAXDIV 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_IMAXDIV 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether strtoimax is declared" >&5 echo $ECHO_N "checking whether strtoimax is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strtoimax+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strtoimax (void) strtoimax; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strtoimax=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strtoimax=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoimax" >&5 echo "${ECHO_T}$ac_cv_have_decl_strtoimax" >&6; } if test $ac_cv_have_decl_strtoimax = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOIMAX 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOIMAX 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether strtoumax is declared" >&5 echo $ECHO_N "checking whether strtoumax is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strtoumax+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strtoumax (void) strtoumax; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strtoumax=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strtoumax=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoumax" >&5 echo "${ECHO_T}$ac_cv_have_decl_strtoumax" >&6; } if test $ac_cv_have_decl_strtoumax = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOUMAX 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOUMAX 0 _ACEOF fi GNULIB_IMAXABS=0; GNULIB_IMAXDIV=0; GNULIB_STRTOIMAX=0; GNULIB_STRTOUMAX=0; HAVE_DECL_IMAXABS=1; HAVE_DECL_IMAXDIV=1; HAVE_DECL_STRTOIMAX=1; HAVE_DECL_STRTOUMAX=1; { echo "$as_me:$LINENO: checking where to find the exponent in a 'float'" >&5 echo $ECHO_N "checking where to find the exponent in a 'float'... $ECHO_C" >&6; } if test "${gl_cv_cc_float_expbit0+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_cc_float_expbit0="word 0 bit 23" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (float x) { memory_float m; size_t i; /* Clear it first, in case sizeof (float) < sizeof (memory_float). */ memset (&m, 0, sizeof (memory_float)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25f); add_to_ored_words (0.5f); add_to_ored_words (1.0f); add_to_ored_words (2.0f); add_to_ored_words (4.0f); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_cc_float_expbit0=`cat conftest.out` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_cc_float_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.out fi { echo "$as_me:$LINENO: result: $gl_cv_cc_float_expbit0" >&5 echo "${ECHO_T}$gl_cv_cc_float_expbit0" >&6; } case "$gl_cv_cc_float_expbit0" in word*bit*) word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_BIT $bit _ACEOF ;; esac { echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5 echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6; } if test "${am_cv_langinfo_codeset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { char* cs = nl_langinfo(CODESET); return !cs; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then am_cv_langinfo_codeset=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 am_cv_langinfo_codeset=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5 echo "${ECHO_T}$am_cv_langinfo_codeset" >&6; } if test $am_cv_langinfo_codeset = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LANGINFO_CODESET 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5 echo $ECHO_N "checking whether getc_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getc_unlocked (void) getc_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getc_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getc_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_getc_unlocked" >&6; } if test $ac_cv_have_decl_getc_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2.1 or newer" >&5 echo $ECHO_N "checking whether we are using the GNU C Library 2.1 or newer... $ECHO_C" >&6; } if test "${ac_cv_gnu_library_2_1+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then ac_cv_gnu_library_2_1=yes else ac_cv_gnu_library_2_1=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5 echo "${ECHO_T}$ac_cv_gnu_library_2_1" >&6; } GLIBC21="$ac_cv_gnu_library_2_1" for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6; } if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_malloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_malloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then gl_cv_func_malloc_0_nonnull=1 else gl_cv_func_malloc_0_nonnull=0 fi cat >>confdefs.h <<_ACEOF #define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull _ACEOF { echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5 echo $ECHO_N "checking whether mbrtowc and mbstate_t are properly declared... $ECHO_C" >&6; } if test "${gl_cv_func_mbrtowc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { wchar_t wc; char const s[] = ""; size_t n = 1; mbstate_t state; return ! (sizeof state && (mbrtowc) (&wc, s, n, &state)); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_mbrtowc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_mbrtowc=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc" >&5 echo "${ECHO_T}$gl_cv_func_mbrtowc" >&6; } if test $gl_cv_func_mbrtowc = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MBRTOWC 1 _ACEOF fi GNULIB_MEMMEM=0; GNULIB_MEMPCPY=0; GNULIB_MEMRCHR=0; GNULIB_RAWMEMCHR=0; GNULIB_STPCPY=0; GNULIB_STPNCPY=0; GNULIB_STRCHRNUL=0; GNULIB_STRDUP=0; GNULIB_STRNDUP=0; GNULIB_STRNLEN=0; GNULIB_STRPBRK=0; GNULIB_STRSEP=0; GNULIB_STRSTR=0; GNULIB_STRCASESTR=0; GNULIB_STRTOK_R=0; GNULIB_MBSLEN=0; GNULIB_MBSNLEN=0; GNULIB_MBSCHR=0; GNULIB_MBSRCHR=0; GNULIB_MBSSTR=0; GNULIB_MBSCASECMP=0; GNULIB_MBSNCASECMP=0; GNULIB_MBSPCASECMP=0; GNULIB_MBSCASESTR=0; GNULIB_MBSCSPN=0; GNULIB_MBSPBRK=0; GNULIB_MBSSPN=0; GNULIB_MBSSEP=0; GNULIB_MBSTOK_R=0; GNULIB_STRERROR=0; GNULIB_STRSIGNAL=0; HAVE_DECL_MEMMEM=1; HAVE_MEMPCPY=1; HAVE_DECL_MEMRCHR=1; HAVE_RAWMEMCHR=1; HAVE_STPCPY=1; HAVE_STPNCPY=1; HAVE_STRCHRNUL=1; HAVE_DECL_STRDUP=1; HAVE_STRNDUP=1; HAVE_DECL_STRNDUP=1; HAVE_DECL_STRNLEN=1; HAVE_STRPBRK=1; HAVE_STRSEP=1; HAVE_STRCASESTR=1; HAVE_DECL_STRTOK_R=1; HAVE_DECL_STRERROR=1; HAVE_DECL_STRSIGNAL=1; REPLACE_STRERROR=0; REPLACE_STRSIGNAL=0; REPLACE_MEMMEM=0; REPLACE_STRCASESTR=0; REPLACE_STRSTR=0; { echo "$as_me:$LINENO: checking whether memrchr is declared" >&5 echo $ECHO_N "checking whether memrchr is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_memrchr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef memrchr (void) memrchr; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_memrchr=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_memrchr=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_memrchr" >&5 echo "${ECHO_T}$ac_cv_have_decl_memrchr" >&6; } if test $ac_cv_have_decl_memrchr = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MEMRCHR 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MEMRCHR 0 _ACEOF fi REPLACE_MKDIR=0; # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_largefile_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_largefile_CC=' -n32'; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_file_offset_bits+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_file_offset_bits=no; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_file_offset_bits=64; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF ;; esac rm -f conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; } if test "${ac_cv_sys_large_files+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_large_files=no; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _LARGE_FILES 1 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_large_files=1; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 echo "${ECHO_T}$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF ;; esac rm -f conftest* fi fi REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; REPLACE_NANOSLEEP=GNULIB_PORTCHECK; REPLACE_STRPTIME=GNULIB_PORTCHECK; REPLACE_TIMEGM=GNULIB_PORTCHECK; { echo "$as_me:$LINENO: checking for desired default level of POSIX conformance" >&5 echo $ECHO_N "checking for desired default level of POSIX conformance... $ECHO_C" >&6; } gl_default_posix2_version=none-specified if test -n "$ac_cv_env_DEFAULT_POSIX2_VERSION_set"; then gl_default_posix2_version=$ac_cv_env_DEFAULT_POSIX2_VERSION_value cat >>confdefs.h <<_ACEOF #define DEFAULT_POSIX2_VERSION $gl_default_posix2_version _ACEOF fi { echo "$as_me:$LINENO: result: $gl_default_posix2_version" >&5 echo "${ECHO_T}$gl_default_posix2_version" >&6; } { echo "$as_me:$LINENO: checking whether lstat accepts an empty string" >&5 echo $ECHO_N "checking whether lstat accepts an empty string... $ECHO_C" >&6; } if test "${ac_cv_func_lstat_empty_string_bug+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_lstat_empty_string_bug=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; return lstat ("", &sbuf) == 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_lstat_empty_string_bug=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_lstat_empty_string_bug=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_lstat_empty_string_bug" >&5 echo "${ECHO_T}$ac_cv_func_lstat_empty_string_bug" >&6; } if test $ac_cv_func_lstat_empty_string_bug = yes; then gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext" cat >>confdefs.h <<_ACEOF #define HAVE_LSTAT_EMPTY_STRING_BUG 1 _ACEOF fi { echo "$as_me:$LINENO: checking for long file names" >&5 echo $ECHO_N "checking for long file names... $ECHO_C" >&6; } if test "${ac_cv_sys_long_file_names+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_sys_long_file_names=yes # Test for long file names in all the places we know might matter: # . the current directory, where building will happen # $prefix/lib where we will be installing things # $exec_prefix/lib likewise # $TMPDIR if set, where it might want to write temporary files # /tmp where it might want to write temporary files # /var/tmp likewise # /usr/tmp likewise for ac_dir in . "$TMPDIR" /tmp /var/tmp /usr/tmp "$prefix/lib" "$exec_prefix/lib"; do # Skip $TMPDIR if it is empty or bogus, and skip $exec_prefix/lib # in the usual case where exec_prefix is '${prefix}'. case $ac_dir in #( . | /* | ?:[\\/]*) ;; #( *) continue;; esac test -w "$ac_dir/." || continue # It is less confusing to not echo anything here. ac_xdir=$ac_dir/cf$$ (umask 077 && mkdir "$ac_xdir" 2>/dev/null) || continue ac_tf1=$ac_xdir/conftest9012345 ac_tf2=$ac_xdir/conftest9012346 touch "$ac_tf1" 2>/dev/null && test -f "$ac_tf1" && test ! -f "$ac_tf2" || ac_cv_sys_long_file_names=no rm -f -r "$ac_xdir" 2>/dev/null test $ac_cv_sys_long_file_names = no && break done fi { echo "$as_me:$LINENO: result: $ac_cv_sys_long_file_names" >&5 echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6; } if test $ac_cv_sys_long_file_names = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LONG_FILE_NAMES 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether snprintf is declared" >&5 echo $ECHO_N "checking whether snprintf is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_snprintf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef snprintf (void) snprintf; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_snprintf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_snprintf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_snprintf" >&5 echo "${ECHO_T}$ac_cv_have_decl_snprintf" >&6; } if test $ac_cv_have_decl_snprintf = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SNPRINTF 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SNPRINTF 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether is self-contained" >&5 echo $ECHO_N "checking whether is self-contained... $ECHO_C" >&6; } if test "${gl_cv_header_sys_socket_h_selfcontained+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_sys_socket_h_selfcontained=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_sys_socket_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 echo "${ECHO_T}$gl_cv_header_sys_socket_h_selfcontained" >&6; } if test $gl_cv_header_sys_socket_h_selfcontained = yes; then SYS_SOCKET_H='' for ac_func in shutdown do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_shutdown = yes; then { echo "$as_me:$LINENO: checking whether defines the SHUT_* macros" >&5 echo $ECHO_N "checking whether defines the SHUT_* macros... $ECHO_C" >&6; } if test "${gl_cv_header_sys_socket_h_shut+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_sys_socket_h_shut=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_sys_socket_h_shut=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_sys_socket_h_shut" >&5 echo "${ECHO_T}$gl_cv_header_sys_socket_h_shut" >&6; } if test $gl_cv_header_sys_socket_h_shut = no; then SYS_SOCKET_H='sys/socket.h' fi fi else SYS_SOCKET_H='sys/socket.h' fi if test -n "$SYS_SOCKET_H"; then if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_socket_h='<'sys/socket.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_sys_socket_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_sys_socket_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_sys_socket_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/sys/socket.h#{ s#.*"\(.*/sys/socket.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_sys_socket_h='<'sys/socket.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_sys_socket_h" >&5 echo "${ECHO_T}$gl_cv_next_sys_socket_h" >&6; } fi NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h if test $ac_cv_header_sys_socket_h = yes; then HAVE_SYS_SOCKET_H=1 HAVE_WINSOCK2_H=0 HAVE_WS2TCPIP_H=0 else HAVE_SYS_SOCKET_H=0 for ac_header in winsock2.h ws2tcpip.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_winsock2_h = yes; then HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi if test $ac_cv_header_ws2tcpip_h = yes; then HAVE_WS2TCPIP_H=1 else HAVE_WS2TCPIP_H=0 fi fi fi { echo "$as_me:$LINENO: checking whether strdup is declared" >&5 echo $ECHO_N "checking whether strdup is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strdup+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strdup (void) strdup; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strdup=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strdup=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strdup" >&5 echo "${ECHO_T}$ac_cv_have_decl_strdup" >&6; } if test $ac_cv_have_decl_strdup = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRDUP 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRDUP 0 _ACEOF fi { echo "$as_me:$LINENO: checking for working strerror function" >&5 echo $ECHO_N "checking for working strerror function... $ECHO_C" >&6; } if test "${gl_cv_func_working_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return !*strerror (-2); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_func_working_strerror=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_working_strerror=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return !*strerror (-2); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_working_strerror=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_working_strerror=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_working_strerror" >&5 echo "${ECHO_T}$gl_cv_func_working_strerror" >&6; } if test $gl_cv_func_working_strerror = no ; then REPLACE_STRERROR=1 { echo "$as_me:$LINENO: checking whether strerror is declared" >&5 echo $ECHO_N "checking whether strerror is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strerror (void) strerror; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strerror=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strerror=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror" >&5 echo "${ECHO_T}$ac_cv_have_decl_strerror" >&6; } if test $ac_cv_have_decl_strerror = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR 0 _ACEOF fi fi if test $gl_cv_have_include_next = yes; then gl_cv_next_string_h='<'string.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_string_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_string_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_string_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/string.h#{ s#.*"\(.*/string.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_string_h='<'string.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_string_h" >&5 echo "${ECHO_T}$gl_cv_next_string_h" >&6; } fi NEXT_STRING_H=$gl_cv_next_string_h { echo "$as_me:$LINENO: checking whether strndup is declared" >&5 echo $ECHO_N "checking whether strndup is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strndup+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strndup (void) strndup; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strndup=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strndup=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strndup" >&5 echo "${ECHO_T}$ac_cv_have_decl_strndup" >&6; } if test $ac_cv_have_decl_strndup = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRNDUP 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRNDUP 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether strnlen is declared" >&5 echo $ECHO_N "checking whether strnlen is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strnlen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strnlen (void) strnlen; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strnlen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strnlen=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strnlen" >&5 echo "${ECHO_T}$ac_cv_have_decl_strnlen" >&6; } if test $ac_cv_have_decl_strnlen = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRNLEN 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRNLEN 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether stat file-mode macros are broken" >&5 echo $ECHO_N "checking whether stat file-mode macros are broken... $ECHO_C" >&6; } if test "${ac_cv_header_stat_broken+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if defined S_ISBLK && defined S_IFDIR extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; #endif #if defined S_ISBLK && defined S_IFCHR extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; #endif #if defined S_ISLNK && defined S_IFREG extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; #endif #if defined S_ISSOCK && defined S_IFREG extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; #endif _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stat_broken=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stat_broken=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_header_stat_broken" >&5 echo "${ECHO_T}$ac_cv_header_stat_broken" >&6; } if test $ac_cv_header_stat_broken = yes; then cat >>confdefs.h <<\_ACEOF #define STAT_MACROS_BROKEN 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct timespec in " >&5 echo $ECHO_N "checking for struct timespec in ... $ECHO_C" >&6; } if test "${gl_cv_sys_struct_timespec_in_time_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_sys_struct_timespec_in_time_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_sys_struct_timespec_in_time_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 echo "${ECHO_T}$gl_cv_sys_struct_timespec_in_time_h" >&6; } TIME_H_DEFINES_STRUCT_TIMESPEC=0 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 if test $gl_cv_sys_struct_timespec_in_time_h = yes; then TIME_H_DEFINES_STRUCT_TIMESPEC=1 else { echo "$as_me:$LINENO: checking for struct timespec in " >&5 echo $ECHO_N "checking for struct timespec in ... $ECHO_C" >&6; } if test "${gl_cv_sys_struct_timespec_in_sys_time_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_sys_struct_timespec_in_sys_time_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_sys_struct_timespec_in_sys_time_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 echo "${ECHO_T}$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 fi fi if test $gl_cv_have_include_next = yes; then gl_cv_next_time_h='<'time.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_time_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_time_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_time_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/time.h#{ s#.*"\(.*/time.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_time_h='<'time.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_time_h" >&5 echo "${ECHO_T}$gl_cv_next_time_h" >&6; } fi NEXT_TIME_H=$gl_cv_next_time_h { echo "$as_me:$LINENO: checking whether clearerr_unlocked is declared" >&5 echo $ECHO_N "checking whether clearerr_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_clearerr_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef clearerr_unlocked (void) clearerr_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_clearerr_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_clearerr_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_clearerr_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_clearerr_unlocked" >&6; } if test $ac_cv_have_decl_clearerr_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_CLEARERR_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_CLEARERR_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether feof_unlocked is declared" >&5 echo $ECHO_N "checking whether feof_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_feof_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef feof_unlocked (void) feof_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_feof_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_feof_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_feof_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_feof_unlocked" >&6; } if test $ac_cv_have_decl_feof_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FEOF_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FEOF_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether ferror_unlocked is declared" >&5 echo $ECHO_N "checking whether ferror_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_ferror_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef ferror_unlocked (void) ferror_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_ferror_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_ferror_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_ferror_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_ferror_unlocked" >&6; } if test $ac_cv_have_decl_ferror_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FERROR_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FERROR_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether fgets_unlocked is declared" >&5 echo $ECHO_N "checking whether fgets_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_fgets_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef fgets_unlocked (void) fgets_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_fgets_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_fgets_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_fgets_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_fgets_unlocked" >&6; } if test $ac_cv_have_decl_fgets_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FGETS_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FGETS_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether fputc_unlocked is declared" >&5 echo $ECHO_N "checking whether fputc_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_fputc_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef fputc_unlocked (void) fputc_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_fputc_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_fputc_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_fputc_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_fputc_unlocked" >&6; } if test $ac_cv_have_decl_fputc_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPUTC_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPUTC_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether fread_unlocked is declared" >&5 echo $ECHO_N "checking whether fread_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_fread_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef fread_unlocked (void) fread_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_fread_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_fread_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_fread_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_fread_unlocked" >&6; } if test $ac_cv_have_decl_fread_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FREAD_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FREAD_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether fwrite_unlocked is declared" >&5 echo $ECHO_N "checking whether fwrite_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_fwrite_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef fwrite_unlocked (void) fwrite_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_fwrite_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_fwrite_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_fwrite_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_fwrite_unlocked" >&6; } if test $ac_cv_have_decl_fwrite_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FWRITE_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FWRITE_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether getchar_unlocked is declared" >&5 echo $ECHO_N "checking whether getchar_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getchar_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getchar_unlocked (void) getchar_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getchar_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getchar_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getchar_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_getchar_unlocked" >&6; } if test $ac_cv_have_decl_getchar_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETCHAR_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETCHAR_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether putchar_unlocked is declared" >&5 echo $ECHO_N "checking whether putchar_unlocked is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_putchar_unlocked+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef putchar_unlocked (void) putchar_unlocked; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_putchar_unlocked=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_putchar_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_putchar_unlocked" >&5 echo "${ECHO_T}$ac_cv_have_decl_putchar_unlocked" >&6; } if test $ac_cv_have_decl_putchar_unlocked = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PUTCHAR_UNLOCKED 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_PUTCHAR_UNLOCKED 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether utime accepts a null argument" >&5 echo $ECHO_N "checking whether utime accepts a null argument... $ECHO_C" >&6; } if test "${ac_cv_func_utime_null+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -f conftest.data; >conftest.data # Sequent interprets utime(file, 0) to mean use start of epoch. Wrong. if test "$cross_compiling" = yes; then ac_cv_func_utime_null=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #ifdef HAVE_UTIME_H # include #endif int main () { struct stat s, t; return ! (stat ("conftest.data", &s) == 0 && utime ("conftest.data", 0) == 0 && stat ("conftest.data", &t) == 0 && t.st_mtime >= s.st_mtime && t.st_mtime - s.st_mtime < 120); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_utime_null=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_utime_null=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_utime_null" >&5 echo "${ECHO_T}$ac_cv_func_utime_null" >&6; } if test $ac_cv_func_utime_null = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_UTIME_NULL 1 _ACEOF fi rm -f conftest.data { echo "$as_me:$LINENO: checking for struct utimbuf" >&5 echo $ECHO_N "checking for struct utimbuf... $ECHO_C" >&6; } if test "${gl_cv_sys_struct_utimbuf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_SYS_TIME_H #include #endif #include #ifdef HAVE_UTIME_H #include #endif int main () { static struct utimbuf x; x.actime = x.modtime; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_sys_struct_utimbuf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_sys_struct_utimbuf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_sys_struct_utimbuf" >&5 echo "${ECHO_T}$gl_cv_sys_struct_utimbuf" >&6; } if test $gl_cv_sys_struct_utimbuf = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STRUCT_UTIMBUF 1 _ACEOF fi { echo "$as_me:$LINENO: checking determine whether the utimes function works" >&5 echo $ECHO_N "checking determine whether the utimes function works... $ECHO_C" >&6; } if test "${gl_cv_func_working_utimes+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_working_utimes=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #include #include #include #include #include int main () { static struct timeval timeval[2] = {{9, 10}, {999999, 999999}}; struct stat sbuf; char const *file = "conftest.utimes"; FILE *f; time_t now; int fd; int ok = ((f = fopen (file, "w")) && fclose (f) == 0 && utimes (file, timeval) == 0 && lstat (file, &sbuf) == 0 && sbuf.st_atime == timeval[0].tv_sec && sbuf.st_mtime == timeval[1].tv_sec); unlink (file); if (!ok) exit (1); ok = ((f = fopen (file, "w")) && fclose (f) == 0 && time (&now) != (time_t)-1 && utimes (file, NULL) == 0 && lstat (file, &sbuf) == 0 && now - sbuf.st_atime <= 2 && now - sbuf.st_mtime <= 2); unlink (file); if (!ok) exit (1); ok = (0 <= (fd = open (file, O_WRONLY|O_CREAT, 0444)) && close (fd) == 0 && utimes (file, NULL) == 0); unlink (file); exit (!ok); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_working_utimes=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_working_utimes=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_working_utimes" >&5 echo "${ECHO_T}$gl_cv_func_working_utimes" >&6; } if test $gl_cv_func_working_utimes = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WORKING_UTIMES 1 _ACEOF fi { echo "$as_me:$LINENO: checking for wchar_t" >&5 echo $ECHO_N "checking for wchar_t... $ECHO_C" >&6; } if test "${gt_cv_c_wchar_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include wchar_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_c_wchar_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_c_wchar_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_c_wchar_t" >&5 echo "${ECHO_T}$gt_cv_c_wchar_t" >&6; } if test $gt_cv_c_wchar_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WCHAR_T 1 _ACEOF fi { echo "$as_me:$LINENO: checking for wint_t" >&5 echo $ECHO_N "checking for wint_t... $ECHO_C" >&6; } if test "${gt_cv_c_wint_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include wint_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_c_wint_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_c_wint_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_c_wint_t" >&5 echo "${ECHO_T}$gt_cv_c_wint_t" >&6; } if test $gt_cv_c_wint_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WINT_T 1 _ACEOF fi { echo "$as_me:$LINENO: checking for inttypes.h" >&5 echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6; } if test "${gl_cv_header_inttypes_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { uintmax_t i = (uintmax_t) -1; return !i; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_inttypes_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_inttypes_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_inttypes_h" >&5 echo "${ECHO_T}$gl_cv_header_inttypes_h" >&6; } if test $gl_cv_header_inttypes_h = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_INTTYPES_H_WITH_UINTMAX 1 _ACEOF fi { echo "$as_me:$LINENO: checking for stdint.h" >&5 echo $ECHO_N "checking for stdint.h... $ECHO_C" >&6; } if test "${gl_cv_header_stdint_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { uintmax_t i = (uintmax_t) -1; return !i; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_stdint_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_stdint_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_stdint_h" >&5 echo "${ECHO_T}$gl_cv_header_stdint_h" >&6; } if test $gl_cv_header_stdint_h = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H_WITH_UINTMAX 1 _ACEOF fi { echo "$as_me:$LINENO: checking for intmax_t" >&5 echo $ECHO_N "checking for intmax_t... $ECHO_C" >&6; } if test "${gt_cv_c_intmax_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if HAVE_STDINT_H_WITH_UINTMAX #include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX #include #endif int main () { intmax_t x = -1; return !x; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_c_intmax_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_c_intmax_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_c_intmax_t" >&5 echo "${ECHO_T}$gt_cv_c_intmax_t" >&6; } if test $gt_cv_c_intmax_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_INTMAX_T 1 _ACEOF else test $ac_cv_type_long_long_int = yes \ && ac_type='long long' \ || ac_type='long' cat >>confdefs.h <<_ACEOF #define intmax_t $ac_type _ACEOF fi { echo "$as_me:$LINENO: checking whether printf supports size specifiers as in C99" >&5 echo $ECHO_N "checking whether printf supports size specifiers as in C99... $ECHO_C" >&6; } if test "${gl_cv_func_printf_sizes_c99+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";; darwin*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on OpenBSD >= 3.9. openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*) gl_cv_func_printf_sizes_c99="guessing no";; openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on Solaris >= 2.10. solaris2.[0-9]*) gl_cv_func_printf_sizes_c99="guessing no";; solaris*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_sizes_c99="guessing no";; netbsd*) gl_cv_func_printf_sizes_c99="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_sizes_c99="guessing no";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #if HAVE_STDINT_H_WITH_UINTMAX # include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX # include #endif static char buf[100]; int main () { #if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX buf[0] = '\0'; if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0 || strcmp (buf, "12345671 33") != 0) return 1; #endif buf[0] = '\0'; if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0 || strcmp (buf, "12345672 33") != 0) return 1; buf[0] = '\0'; if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0 || strcmp (buf, "12345673 33") != 0) return 1; buf[0] = '\0'; if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0 || strcmp (buf, "1.5 33") != 0) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_sizes_c99=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_sizes_c99=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_sizes_c99" >&5 echo "${ECHO_T}$gl_cv_func_printf_sizes_c99" >&6; } { echo "$as_me:$LINENO: checking whether printf supports 'long double' arguments" >&5 echo $ECHO_N "checking whether printf supports 'long double' arguments... $ECHO_C" >&6; } if test "${gl_cv_func_printf_long_double+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in beos*) gl_cv_func_printf_long_double="guessing no";; mingw* | pw*) gl_cv_func_printf_long_double="guessing no";; *) gl_cv_func_printf_long_double="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include static char buf[10000]; int main () { buf[0] = '\0'; if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.750000 33") != 0) return 1; buf[0] = '\0'; if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.750000e+00 33") != 0) return 1; buf[0] = '\0'; if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0 || strcmp (buf, "1.75 33") != 0) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_long_double=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_long_double=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_long_double" >&5 echo "${ECHO_T}$gl_cv_func_printf_long_double" >&6; } { echo "$as_me:$LINENO: checking whether printf supports infinite 'double' arguments" >&5 echo $ECHO_N "checking whether printf supports infinite 'double' arguments... $ECHO_C" >&6; } if test "${gl_cv_func_printf_infinite+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";; darwin*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";; hpux*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_infinite="guessing no";; netbsd*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_infinite="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_infinite="guessing no";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include static int strisnan (const char *string, size_t start_index, size_t end_index) { if (start_index < end_index) { if (string[start_index] == '-') start_index++; if (start_index + 3 <= end_index && memcmp (string + start_index, "nan", 3) == 0) { start_index += 3; if (start_index == end_index || (string[start_index] == '(' && string[end_index - 1] == ')')) return 1; } } return 0; } static char buf[10000]; static double zero = 0.0; int main () { if (sprintf (buf, "%f", 1.0 / 0.0) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%f", -1.0 / 0.0) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%f", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%e", 1.0 / 0.0) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%e", -1.0 / 0.0) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%e", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%g", 1.0 / 0.0) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%g", -1.0 / 0.0) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%g", zero / zero) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_infinite=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_infinite=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_infinite" >&5 echo "${ECHO_T}$gl_cv_func_printf_infinite" >&6; } if test -n "$gl_printf_safe"; then cat >>confdefs.h <<\_ACEOF #define CHECK_PRINTF_SAFE 1 _ACEOF fi case "$gl_cv_func_printf_long_double" in *yes) { echo "$as_me:$LINENO: checking whether printf supports infinite 'long double' arguments" >&5 echo $ECHO_N "checking whether printf supports infinite 'long double' arguments... $ECHO_C" >&6; } if test "${gl_cv_func_printf_infinite_long_double+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_cpu" in # Guess no on ia64, x86_64, i386. ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";; *) case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_infinite_long_double="guessing no";; darwin*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on HP-UX >= 11. hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";; hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on NetBSD >= 3. netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*) gl_cv_func_printf_infinite_long_double="guessing no";; netbsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_infinite_long_double="guessing no";; esac ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if defined __MACH__ && defined __APPLE__ /* Avoid a crash on MacOS X. */ #include #include #include #include #include #include /* The exception port on which our thread listens. */ static mach_port_t our_exception_port; /* The main function of the thread listening for exceptions of type EXC_BAD_ACCESS. */ static void * mach_exception_thread (void *arg) { /* Buffer for a message to be received. */ struct { mach_msg_header_t head; mach_msg_body_t msgh_body; char data[1024]; } msg; mach_msg_return_t retval; /* Wait for a message on the exception port. */ retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); if (retval != MACH_MSG_SUCCESS) abort (); exit (1); } static void nocrash_init (void) { mach_port_t self = mach_task_self (); /* Allocate a port on which the thread shall listen for exceptions. */ if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) == KERN_SUCCESS) { /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ if (mach_port_insert_right (self, our_exception_port, our_exception_port, MACH_MSG_TYPE_MAKE_SEND) == KERN_SUCCESS) { /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting for us. */ exception_mask_t mask = EXC_MASK_BAD_ACCESS; /* Create the thread listening on the exception port. */ pthread_attr_t attr; pthread_t thread; if (pthread_attr_init (&attr) == 0 && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { pthread_attr_destroy (&attr); /* Replace the exception port info for these exceptions with our own. Note that we replace the exception port for the entire task, not only for a particular thread. This has the effect that when our exception port gets the message, the thread specific exception port has already been asked, and we don't need to bother about it. See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ task_set_exception_ports (self, mask, our_exception_port, EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); } } } } #else /* Avoid a crash on POSIX systems. */ #include /* A POSIX signal handler. */ static void exception_handler (int sig) { exit (1); } static void nocrash_init (void) { #ifdef SIGSEGV signal (SIGSEGV, exception_handler); #endif #ifdef SIGBUS signal (SIGBUS, exception_handler); #endif } #endif #include #include #include static int strisnan (const char *string, size_t start_index, size_t end_index) { if (start_index < end_index) { if (string[start_index] == '-') start_index++; if (start_index + 3 <= end_index && memcmp (string + start_index, "nan", 3) == 0) { start_index += 3; if (start_index == end_index || (string[start_index] == '(' && string[end_index - 1] == ')')) return 1; } } return 0; } static char buf[10000]; static long double zeroL = 0.0L; int main () { nocrash_init(); if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%Lf", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%Le", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0 || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0)) return 1; if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0 || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0)) return 1; if (sprintf (buf, "%Lg", zeroL / zeroL) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; #if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } # else # define LDBL80_WORDS(exponent,manthi,mantlo) \ { mantlo, manthi, exponent } # endif { /* Quiet NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Signalling NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Pseudo-NaN. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Pseudo-Infinity. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Pseudo-Zero. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Unnormalized number. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } { /* Pseudo-Denormal. */ static union { unsigned int word[4]; long double value; } x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; if (sprintf (buf, "%Lf", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Le", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; if (sprintf (buf, "%Lg", x.value) < 0 || !strisnan (buf, 0, strlen (buf))) return 1; } #endif return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_infinite_long_double=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_infinite_long_double=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_infinite_long_double" >&5 echo "${ECHO_T}$gl_cv_func_printf_infinite_long_double" >&6; } ;; *) gl_cv_func_printf_infinite_long_double="irrelevant" ;; esac { echo "$as_me:$LINENO: checking whether printf supports the 'a' and 'A' directives" >&5 echo $ECHO_N "checking whether printf supports the 'a' and 'A' directives... $ECHO_C" >&6; } if test "${gl_cv_func_printf_directive_a+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in # Guess yes on glibc >= 2.5 systems. *-gnu*) cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2) BZ2908 #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "BZ2908" >/dev/null 2>&1; then gl_cv_func_printf_directive_a="guessing yes" else gl_cv_func_printf_directive_a="guessing no" fi rm -f conftest* ;; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_a="guessing no";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include static char buf[100]; int main () { if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0 || (strcmp (buf, "0x1.922p+1 33") != 0 && strcmp (buf, "0x3.244p+0 33") != 0 && strcmp (buf, "0x6.488p-1 33") != 0 && strcmp (buf, "0xc.91p-2 33") != 0)) return 1; if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0 || (strcmp (buf, "-0X1.922P+1 33") != 0 && strcmp (buf, "-0X3.244P+0 33") != 0 && strcmp (buf, "-0X6.488P-1 33") != 0 && strcmp (buf, "-0XC.91P-2 33") != 0)) return 1; /* This catches a FreeBSD 6.1 bug: it doesn't round. */ if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 || (strcmp (buf, "0x1.83p+0 33") != 0 && strcmp (buf, "0x3.05p-1 33") != 0 && strcmp (buf, "0x6.0ap-2 33") != 0 && strcmp (buf, "0xc.14p-3 33") != 0)) return 1; /* This catches a FreeBSD 6.1 bug. See */ if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0 || buf[0] == '0') return 1; /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */ if (sprintf (buf, "%.1a", 1.999) < 0 || (strcmp (buf, "0x1.0p+1") != 0 && strcmp (buf, "0x2.0p+0") != 0 && strcmp (buf, "0x4.0p-1") != 0 && strcmp (buf, "0x8.0p-2") != 0)) return 1; /* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a glibc 2.4 bug . */ if (sprintf (buf, "%.1La", 1.999L) < 0 || (strcmp (buf, "0x1.0p+1") != 0 && strcmp (buf, "0x2.0p+0") != 0 && strcmp (buf, "0x4.0p-1") != 0 && strcmp (buf, "0x8.0p-2") != 0)) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_directive_a=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_directive_a=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_directive_a" >&5 echo "${ECHO_T}$gl_cv_func_printf_directive_a" >&6; } { echo "$as_me:$LINENO: checking whether printf supports the 'F' directive" >&5 echo $ECHO_N "checking whether printf supports the 'F' directive... $ECHO_C" >&6; } if test "${gl_cv_func_printf_directive_f+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on MacOS X >= 10.3. darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";; darwin*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on Solaris >= 2.10. solaris2.[0-9]*) gl_cv_func_printf_directive_f="guessing no";; solaris*) gl_cv_func_printf_directive_f="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_f="guessing no";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include static char buf[100]; int main () { if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 || strcmp (buf, "1234567.000000 33") != 0) return 1; if (sprintf (buf, "%F", 1.0 / 0.0) < 0 || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) return 1; /* This catches a Cygwin 2007 bug. */ if (sprintf (buf, "%.F", 1234.0) < 0 || strcmp (buf, "1234") != 0) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_directive_f=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_directive_f=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_directive_f" >&5 echo "${ECHO_T}$gl_cv_func_printf_directive_f" >&6; } { echo "$as_me:$LINENO: checking whether printf supports the 'n' directive" >&5 echo $ECHO_N "checking whether printf supports the 'n' directive... $ECHO_C" >&6; } if test "${gl_cv_func_printf_directive_n+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in *) gl_cv_func_printf_directive_n="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include static char fmtstring[10]; static char buf[100]; int main () { int count = -1; /* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2) support %n in format strings in read-only memory but not in writable memory. */ strcpy (fmtstring, "%d %n"); if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0 || strcmp (buf, "123 ") != 0 || count != 4) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_directive_n=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_directive_n=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_directive_n" >&5 echo "${ECHO_T}$gl_cv_func_printf_directive_n" >&6; } { echo "$as_me:$LINENO: checking whether printf supports POSIX/XSI format strings with positions" >&5 echo $ECHO_N "checking whether printf supports POSIX/XSI format strings with positions... $ECHO_C" >&6; } if test "${gl_cv_func_printf_positions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) gl_cv_func_printf_positions="guessing no";; beos*) gl_cv_func_printf_positions="guessing no";; mingw* | pw*) gl_cv_func_printf_positions="guessing no";; *) gl_cv_func_printf_positions="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include /* The string "%2$d %1$d", with dollar characters protected from the shell's dollar expansion (possibly an autoconf bug). */ static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; static char buf[100]; int main () { sprintf (buf, format, 33, 55); return (strcmp (buf, "55 33") != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_positions=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_positions=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_positions" >&5 echo "${ECHO_T}$gl_cv_func_printf_positions" >&6; } { echo "$as_me:$LINENO: checking whether printf supports the grouping flag" >&5 echo $ECHO_N "checking whether printf supports the grouping flag... $ECHO_C" >&6; } if test "${gl_cv_func_printf_flag_grouping+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in cygwin*) gl_cv_func_printf_flag_grouping="guessing no";; netbsd*) gl_cv_func_printf_flag_grouping="guessing no";; mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";; *) gl_cv_func_printf_flag_grouping="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include static char buf[100]; int main () { if (sprintf (buf, "%'d %d", 1234567, 99) < 0 || buf[strlen (buf) - 1] != '9') return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_flag_grouping=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_flag_grouping=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_flag_grouping" >&5 echo "${ECHO_T}$gl_cv_func_printf_flag_grouping" >&6; } { echo "$as_me:$LINENO: checking whether printf supports the left-adjust flag correctly" >&5 echo $ECHO_N "checking whether printf supports the left-adjust flag correctly... $ECHO_C" >&6; } if test "${gl_cv_func_printf_flag_leftadjust+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in # Guess yes on HP-UX 11. hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";; # Guess no on HP-UX 10 and older. hpux*) gl_cv_func_printf_flag_leftadjust="guessing no";; # Guess yes otherwise. *) gl_cv_func_printf_flag_leftadjust="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include static char buf[100]; int main () { /* Check that a '-' flag is not annihilated by a negative width. */ if (sprintf (buf, "a%-*sc", -3, "b") < 0 || strcmp (buf, "ab c") != 0) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_flag_leftadjust=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_flag_leftadjust=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_flag_leftadjust" >&5 echo "${ECHO_T}$gl_cv_func_printf_flag_leftadjust" >&6; } { echo "$as_me:$LINENO: checking whether printf supports the zero flag correctly" >&5 echo $ECHO_N "checking whether printf supports the zero flag correctly... $ECHO_C" >&6; } if test "${gl_cv_func_printf_flag_zero+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_flag_zero="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_flag_zero="guessing no";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include static char buf[100]; int main () { if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0 || (strcmp (buf, " inf") != 0 && strcmp (buf, " infinity") != 0)) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_flag_zero=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_flag_zero=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_flag_zero" >&5 echo "${ECHO_T}$gl_cv_func_printf_flag_zero" >&6; } { echo "$as_me:$LINENO: checking whether printf supports large precisions" >&5 echo $ECHO_N "checking whether printf supports large precisions... $ECHO_C" >&6; } if test "${gl_cv_func_printf_precision+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in # Guess no only on native Win32 and BeOS systems. mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;; beos*) gl_cv_func_printf_precision="guessing no" ;; *) gl_cv_func_printf_precision="guessing yes" ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include static char buf[5000]; int main () { #ifdef __BEOS__ /* On BeOS, this would crash and show a dialog box. Avoid the crash. */ return 1; #endif if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_printf_precision=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_printf_precision=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_precision" >&5 echo "${ECHO_T}$gl_cv_func_printf_precision" >&6; } { echo "$as_me:$LINENO: checking whether printf survives out-of-memory conditions" >&5 echo $ECHO_N "checking whether printf survives out-of-memory conditions... $ECHO_C" >&6; } if test "${gl_cv_func_printf_enomem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if defined __MACH__ && defined __APPLE__ /* Avoid a crash on MacOS X. */ #include #include #include #include #include #include /* The exception port on which our thread listens. */ static mach_port_t our_exception_port; /* The main function of the thread listening for exceptions of type EXC_BAD_ACCESS. */ static void * mach_exception_thread (void *arg) { /* Buffer for a message to be received. */ struct { mach_msg_header_t head; mach_msg_body_t msgh_body; char data1024; } msg; mach_msg_return_t retval; /* Wait for a message on the exception port. */ retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); if (retval != MACH_MSG_SUCCESS) abort (); exit (1); } static void nocrash_init (void) { mach_port_t self = mach_task_self (); /* Allocate a port on which the thread shall listen for exceptions. */ if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) == KERN_SUCCESS) { /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ if (mach_port_insert_right (self, our_exception_port, our_exception_port, MACH_MSG_TYPE_MAKE_SEND) == KERN_SUCCESS) { /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting for us. */ exception_mask_t mask = EXC_MASK_BAD_ACCESS; /* Create the thread listening on the exception port. */ pthread_attr_t attr; pthread_t thread; if (pthread_attr_init (&attr) == 0 && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { pthread_attr_destroy (&attr); /* Replace the exception port info for these exceptions with our own. Note that we replace the exception port for the entire task, not only for a particular thread. This has the effect that when our exception port gets the message, the thread specific exception port has already been asked, and we don't need to bother about it. See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ task_set_exception_ports (self, mask, our_exception_port, EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); } } } } #else /* Avoid a crash on POSIX systems. */ #include /* A POSIX signal handler. */ static void exception_handler (int sig) { exit (1); } static void nocrash_init (void) { #ifdef SIGSEGV signal (SIGSEGV, exception_handler); #endif #ifdef SIGBUS signal (SIGBUS, exception_handler); #endif } #endif #include #include #include #include #include int main() { struct rlimit limit; int ret; nocrash_init (); /* Some printf implementations allocate temporary space with malloc. */ /* On BSD systems, malloc() is limited by RLIMIT_DATA. */ #ifdef RLIMIT_DATA if (getrlimit (RLIMIT_DATA, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_DATA, &limit) < 0) return 77; #endif /* On Linux systems, malloc() is limited by RLIMIT_AS. */ #ifdef RLIMIT_AS if (getrlimit (RLIMIT_AS, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_AS, &limit) < 0) return 77; #endif /* Some printf implementations allocate temporary space on the stack. */ #ifdef RLIMIT_STACK if (getrlimit (RLIMIT_STACK, &limit) < 0) return 77; if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000) limit.rlim_max = 5000000; limit.rlim_cur = limit.rlim_max; if (setrlimit (RLIMIT_STACK, &limit) < 0) return 77; #endif ret = printf ("%.5000000f", 1.0); return !(ret == 5000002 || (ret < 0 && errno == ENOMEM)); } _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest$ac_exeext; then (./conftest result=$? if test $result != 0 && test $result != 77; then result=1; fi exit $result ) >/dev/null 2>/dev/null case $? in 0) gl_cv_func_printf_enomem="yes" ;; 77) gl_cv_func_printf_enomem="guessing no" ;; *) gl_cv_func_printf_enomem="no" ;; esac else gl_cv_func_printf_enomem="guessing no" fi rm -fr conftest* else case "$host_os" in # Guess yes on glibc systems. *-gnu*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on Solaris. solaris*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on AIX. aix*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on HP-UX/hppa. hpux*) case "$host_cpu" in hppa*) gl_cv_func_printf_enomem="guessing yes";; *) gl_cv_func_printf_enomem="guessing no";; esac ;; # Guess yes on IRIX. irix*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on OSF/1. osf*) gl_cv_func_printf_enomem="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_enomem="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_enomem="guessing no";; esac fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_printf_enomem" >&5 echo "${ECHO_T}$gl_cv_func_printf_enomem" >&6; } GNULIB_WCWIDTH=0; HAVE_DECL_WCWIDTH=1; REPLACE_WCWIDTH=0; WCHAR_H= { echo "$as_me:$LINENO: checking POSIX termios" >&5 echo $ECHO_N "checking POSIX termios... $ECHO_C" >&6; } if test "${ac_cv_sys_posix_termios+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { /* SunOS 4.0.3 has termios.h but not the library calls. */ tcgetattr(0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_sys_posix_termios=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_sys_posix_termios=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_sys_posix_termios" >&5 echo "${ECHO_T}$ac_cv_sys_posix_termios" >&6; } { echo "$as_me:$LINENO: checking whether use of TIOCGWINSZ requires termios.h" >&5 echo $ECHO_N "checking whether use of TIOCGWINSZ requires termios.h... $ECHO_C" >&6; } if test "${gl_cv_sys_tiocgwinsz_needs_termios_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_sys_tiocgwinsz_needs_termios_h=no if test $ac_cv_sys_posix_termios = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include # include # ifdef TIOCGWINSZ yes # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_sys_tiocgwinsz_needs_termios_h=yes fi rm -f conftest* fi fi { echo "$as_me:$LINENO: result: $gl_cv_sys_tiocgwinsz_needs_termios_h" >&5 echo "${ECHO_T}$gl_cv_sys_tiocgwinsz_needs_termios_h" >&6; } if false; then GL_COND_LIBTOOL_TRUE= GL_COND_LIBTOOL_FALSE='#' else GL_COND_LIBTOOL_TRUE='#' GL_COND_LIBTOOL_FALSE= fi gl_cond_libtool=false gl_libdeps= gl_ltlibdeps= gl_source_base='lib' { echo "$as_me:$LINENO: checking for EOVERFLOW" >&5 echo $ECHO_N "checking for EOVERFLOW... $ECHO_C" >&6; } if test "${ac_cv_decl_EOVERFLOW+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef EOVERFLOW yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then have_eoverflow=1 fi rm -f conftest* if test -n "$have_eoverflow"; then ac_cv_decl_EOVERFLOW=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include #ifdef EOVERFLOW yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then have_eoverflow=1 fi rm -f conftest* if test -n "$have_eoverflow"; then if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EOVERFLOW) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EOVERFLOW) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EOVERFLOW) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include int main () { static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_decl_EOVERFLOW=$ac_lo;; '') ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE_EXTENDED 1 #include /* The following two lines are a workaround against an autoconf-2.52 bug. */ #include #include static long int longval () { return EOVERFLOW; } static unsigned long int ulongval () { return EOVERFLOW; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if ((EOVERFLOW) < 0) { long int i = longval (); if (i != (EOVERFLOW)) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != (EOVERFLOW)) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_decl_EOVERFLOW=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val else ac_cv_decl_EOVERFLOW=E2BIG fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_decl_EOVERFLOW" >&5 echo "${ECHO_T}$ac_cv_decl_EOVERFLOW" >&6; } if test "$ac_cv_decl_EOVERFLOW" != yes; then cat >>confdefs.h <<_ACEOF #define EOVERFLOW $ac_cv_decl_EOVERFLOW _ACEOF EOVERFLOW="$ac_cv_decl_EOVERFLOW" fi if test $ac_cv_func_alloca_works = no; then : fi # Define an additional variable used in the Makefile substitution. if test $ac_cv_working_alloca_h = yes; then { echo "$as_me:$LINENO: checking for alloca as a compiler built-in" >&5 echo $ECHO_N "checking for alloca as a compiler built-in... $ECHO_C" >&6; } if test "${gl_cv_rpl_alloca+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined __GNUC__ || defined _AIX || defined _MSC_VER Need own alloca #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Need own alloca" >/dev/null 2>&1; then gl_cv_rpl_alloca=yes else gl_cv_rpl_alloca=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $gl_cv_rpl_alloca" >&5 echo "${ECHO_T}$gl_cv_rpl_alloca" >&6; } if test $gl_cv_rpl_alloca = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA 1 _ACEOF ALLOCA_H=alloca.h else ALLOCA_H= fi else ALLOCA_H=alloca.h fi gl_LIBOBJS="$gl_LIBOBJS argmatch.$ac_objext" if test $ac_cv_header_arpa_inet_h = yes; then HAVE_ARPA_INET_H=1 else ARPA_INET_H='arpa/inet.h' HAVE_ARPA_INET_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_arpa_inet_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_arpa_inet_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_arpa_inet_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/arpa/inet.h#{ s#.*"\(.*/arpa/inet.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_arpa_inet_h='<'arpa/inet.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_arpa_inet_h" >&5 echo "${ECHO_T}$gl_cv_next_arpa_inet_h" >&6; } fi NEXT_ARPA_INET_H=$gl_cv_next_arpa_inet_h { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } { echo "$as_me:$LINENO: checking whether to enable assertions" >&5 echo $ECHO_N "checking whether to enable assertions... $ECHO_C" >&6; } # Check whether --enable-assert was given. if test "${enable_assert+set}" = set; then enableval=$enable_assert; { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } cat >>confdefs.h <<\_ACEOF #define NDEBUG 1 _ACEOF else { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } fi for ac_func in atexit do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_atexit = no; then : fi if test -z "$AB_PACKAGE"; then AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} fi { echo "$as_me:$LINENO: autobuild project... $AB_PACKAGE" >&5 echo "$as_me: autobuild project... $AB_PACKAGE" >&6;} if test -z "$AB_VERSION"; then AB_VERSION=${PACKAGE_VERSION:-$VERSION} fi { echo "$as_me:$LINENO: autobuild revision... $AB_VERSION" >&5 echo "$as_me: autobuild revision... $AB_VERSION" >&6;} hostname=`hostname` if test "$hostname"; then { echo "$as_me:$LINENO: autobuild hostname... $hostname" >&5 echo "$as_me: autobuild hostname... $hostname" >&6;} fi date=`date +%Y%m%d-%H%M%S` if test "$?" != 0; then date=`date` fi if test "$date"; then { echo "$as_me:$LINENO: autobuild timestamp... $date" >&5 echo "$as_me: autobuild timestamp... $date" >&6;} fi gl_LIBOBJS="$gl_LIBOBJS c-strtod.$ac_objext" : gl_LIBOBJS="$gl_LIBOBJS c-strtold.$ac_objext" : { echo "$as_me:$LINENO: checking for GNU libc compatible calloc" >&5 echo $ECHO_N "checking for GNU libc compatible calloc... $ECHO_C" >&6; } if test "${ac_cv_func_calloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_calloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { exit (!calloc (0, 0) || calloc ((size_t) -1 / 8 + 1, 8)); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_calloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_calloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_calloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_calloc_0_nonnull" >&6; } if test $ac_cv_func_calloc_0_nonnull = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_CALLOC 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_CALLOC 0 _ACEOF gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext" cat >>confdefs.h <<\_ACEOF #define calloc rpl_calloc _ACEOF fi if test $gl_cv_func_malloc_posix = yes; then HAVE_CALLOC_POSIX=1 cat >>confdefs.h <<\_ACEOF #define HAVE_CALLOC_POSIX 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS calloc.$ac_objext" HAVE_CALLOC_POSIX=0 fi GNULIB_CALLOC_POSIX=1 gl_LIBOBJS="$gl_LIBOBJS canonicalize.$ac_objext" cat >>confdefs.h <<\_ACEOF #define GNULIB_CANONICALIZE 1 _ACEOF { echo "$as_me:$LINENO: checking whether this system has an arbitrary file name length limit" >&5 echo $ECHO_N "checking whether this system has an arbitrary file name length limit... $ECHO_C" >&6; } if test "${gl_cv_have_arbitrary_file_name_length_limit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if defined PATH_MAX || defined MAXPATHLEN have_arbitrary_file_name_length_limit #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "have_arbitrary_file_name_length_limit" >/dev/null 2>&1; then gl_cv_have_arbitrary_file_name_length_limit=yes else gl_cv_have_arbitrary_file_name_length_limit=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $gl_cv_have_arbitrary_file_name_length_limit" >&5 echo "${ECHO_T}$gl_cv_have_arbitrary_file_name_length_limit" >&6; } if test $gl_cv_have_arbitrary_file_name_length_limit = yes; then gl_LIBOBJS="$gl_LIBOBJS chdir-long.$ac_objext" : fi if test $ac_cv_func_chown_works = no; then cat >>confdefs.h <<\_ACEOF #define CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE 1 _ACEOF fi # If chown has either of the above problems, then we need the wrapper. if test $ac_cv_func_chown_works$gl_cv_func_chown_follows_symlink = yesyes; then : # no wrapper needed else REPLACE_CHOWN=1 gl_LIBOBJS="$gl_LIBOBJS chown.$ac_objext" { echo "$as_me:$LINENO: checking for fchown" >&5 echo $ECHO_N "checking for fchown... $ECHO_C" >&6; } if test "${ac_cv_func_fchown+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define fchown to an innocuous variant, in case declares fchown. For example, HP-UX 11i declares gettimeofday. */ #define fchown innocuous_fchown /* System header to define __stub macros and hopefully few prototypes, which can conflict with char fchown (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef fchown /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char fchown (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_fchown || defined __stub___fchown choke me #endif int main () { return fchown (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_fchown=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_fchown=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_fchown" >&5 echo "${ECHO_T}$ac_cv_func_fchown" >&6; } if test $ac_cv_func_fchown = yes; then : else gl_LIBOBJS="$gl_LIBOBJS fchown-stub.$ac_objext" fi fi GNULIB_CHOWN=1 # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* # programs in the package would end up linked with that potentially-shared # library, inducing unnecessary run-time overhead. gl_saved_libs=$LIBS { echo "$as_me:$LINENO: checking for library containing clock_gettime" >&5 echo $ECHO_N "checking for library containing clock_gettime... $ECHO_C" >&6; } if test "${ac_cv_search_clock_gettime+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char clock_gettime (); int main () { return clock_gettime (); ; return 0; } _ACEOF for ac_lib in '' rt posix4; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_clock_gettime=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_clock_gettime+set}" = set; then break fi done if test "${ac_cv_search_clock_gettime+set}" = set; then : else ac_cv_search_clock_gettime=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_clock_gettime" >&5 echo "${ECHO_T}$ac_cv_search_clock_gettime" >&6; } ac_res=$ac_cv_search_clock_gettime if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_clock_gettime" = "none required" || LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime fi for ac_func in clock_gettime clock_settime do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done LIBS=$gl_saved_libs gl_LIBOBJS="$gl_LIBOBJS cloexec.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS close-stream.$ac_objext" : cat >>confdefs.h <<\_ACEOF #define GNULIB_CLOSE_STREAM 1 _ACEOF gl_LIBOBJS="$gl_LIBOBJS closein.$ac_objext" : gl_LIBOBJS="$gl_LIBOBJS closeout.$ac_objext" : gl_LIBOBJS="$gl_LIBOBJS md5.$ac_objext" : gl_LIBOBJS="$gl_LIBOBJS sha1.$ac_objext" : gl_LIBOBJS="$gl_LIBOBJS sha256.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS sha512.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS cycle-check.$ac_objext" { echo "$as_me:$LINENO: checking for d_ino member in directory struct" >&5 echo $ECHO_N "checking for d_ino member in directory struct... $ECHO_C" >&6; } if test "${gl_cv_struct_dirent_d_ino+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_struct_dirent_d_ino=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { DIR *dp = opendir ("."); struct dirent *e; struct stat st; if (! dp) return 1; e = readdir (dp); return ! (e && stat (e->d_name, &st) == 0 && e->d_ino == st.st_ino); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_struct_dirent_d_ino=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_struct_dirent_d_ino=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_struct_dirent_d_ino" >&5 echo "${ECHO_T}$gl_cv_struct_dirent_d_ino" >&6; } if test $gl_cv_struct_dirent_d_ino = yes; then cat >>confdefs.h <<\_ACEOF #define D_INO_IN_DIRENT 1 _ACEOF fi { echo "$as_me:$LINENO: checking for d_type member in directory struct" >&5 echo $ECHO_N "checking for d_type member in directory struct... $ECHO_C" >&6; } if test "${gl_cv_struct_dirent_d_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { struct dirent dp; dp.d_type = 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_struct_dirent_d_type=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_struct_dirent_d_type=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_struct_dirent_d_type" >&5 echo "${ECHO_T}$gl_cv_struct_dirent_d_type" >&6; } if test $gl_cv_struct_dirent_d_type = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STRUCT_DIRENT_D_TYPE 1 _ACEOF fi for ac_func in dirfd do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether dirfd is declared" >&5 echo $ECHO_N "checking whether dirfd is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_dirfd+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { #ifndef dirfd (void) dirfd; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_dirfd=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_dirfd=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_dirfd" >&5 echo "${ECHO_T}$ac_cv_have_decl_dirfd" >&6; } if test $ac_cv_have_decl_dirfd = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_DIRFD 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_DIRFD 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether dirfd is a macro" >&5 echo $ECHO_N "checking whether dirfd is a macro... $ECHO_C" >&6; } if test "${gl_cv_func_dirfd_macro+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #ifdef dirfd dirent_header_defines_dirfd #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "dirent_header_defines_dirfd" >/dev/null 2>&1; then gl_cv_func_dirfd_macro=yes else gl_cv_func_dirfd_macro=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $gl_cv_func_dirfd_macro" >&5 echo "${ECHO_T}$gl_cv_func_dirfd_macro" >&6; } # Use the replacement only if we have no function, macro, # or declaration with that name. if test $ac_cv_func_dirfd,$ac_cv_have_decl_dirfd,$gl_cv_func_dirfd_macro \ = no,no,no; then for ac_func in dirfd do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done { echo "$as_me:$LINENO: checking how to get the file descriptor associated with an open DIR*" >&5 echo $ECHO_N "checking how to get the file descriptor associated with an open DIR*... $ECHO_C" >&6; } if test "${gl_cv_sys_dir_fd_member_name+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else dirfd_save_CFLAGS=$CFLAGS for ac_expr in d_fd dd_fd; do CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then dir_fd_found=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$dirfd_save_CFLAGS test "$dir_fd_found" = yes && break done test "$dir_fd_found" = yes || ac_expr=no_such_member gl_cv_sys_dir_fd_member_name=$ac_expr fi { echo "$as_me:$LINENO: result: $gl_cv_sys_dir_fd_member_name" >&5 echo "${ECHO_T}$gl_cv_sys_dir_fd_member_name" >&6; } if test $gl_cv_sys_dir_fd_member_name != no_such_member; then cat >>confdefs.h <<_ACEOF #define DIR_FD_MEMBER_NAME $gl_cv_sys_dir_fd_member_name _ACEOF fi fi gl_LIBOBJS="$gl_LIBOBJS basename.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS dirname.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS stripslash.$ac_objext" { echo "$as_me:$LINENO: checking whether // is distinct from /" >&5 echo $ECHO_N "checking whether // is distinct from /... $ECHO_C" >&6; } if test "${gl_cv_double_slash_root+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test x"$cross_compiling" = xyes ; then # When cross-compiling, there is no way to tell whether // is special # short of a list of hosts. However, the only known hosts to date # that have a distinct // are Apollo DomainOS (too old to port to), # Cygwin, and z/OS. If anyone knows of another system for which // has # special semantics and is distinct from /, please report it to # . case $host in *-cygwin | i370-ibm-openedition) gl_cv_double_slash_root=yes ;; *) # Be optimistic and assume that / and // are the same when we # don't know. gl_cv_double_slash_root='unknown, assuming no' ;; esac else set x `ls -di / // 2>/dev/null` if test "$2" = "$4" && wc //dev/null >/dev/null 2>&1; then gl_cv_double_slash_root=no else gl_cv_double_slash_root=yes fi fi fi { echo "$as_me:$LINENO: result: $gl_cv_double_slash_root" >&5 echo "${ECHO_T}$gl_cv_double_slash_root" >&6; } if test "$gl_cv_double_slash_root" = yes; then cat >>confdefs.h <<\_ACEOF #define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 _ACEOF fi if test $ac_cv_func_dup2 = no; then HAVE_DUP2=0 gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext" fi GNULIB_DUP2=1 { echo "$as_me:$LINENO: checking if environ is properly declared" >&5 echo $ECHO_N "checking if environ is properly declared... $ECHO_C" >&6; } if test "${gt_cv_var_environ_declaration+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include extern struct { int foo; } environ; int main () { environ.foo = 1; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_var_environ_declaration=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_var_environ_declaration=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_var_environ_declaration" >&5 echo "${ECHO_T}$gt_cv_var_environ_declaration" >&6; } if test $gt_cv_var_environ_declaration = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ENVIRON_DECL 1 _ACEOF fi if test $gt_cv_var_environ_declaration != yes; then HAVE_DECL_ENVIRON=0 fi GNULIB_ENVIRON=1 { echo "$as_me:$LINENO: checking for error_at_line" >&5 echo $ECHO_N "checking for error_at_line... $ECHO_C" >&6; } if test "${ac_cv_lib_error_at_line+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { error_at_line (0, 0, "", 0, "an error occurred"); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_error_at_line=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_error_at_line=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5 echo "${ECHO_T}$ac_cv_lib_error_at_line" >&6; } if test $ac_cv_lib_error_at_line = no; then gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext" fi : XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format" gl_LIBOBJS="$gl_LIBOBJS exclude.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS exitfail.$ac_objext" : if test $ac_cv_func_fchdir = no; then REPLACE_FCHDIR=1 gl_LIBOBJS="$gl_LIBOBJS fchdir.$ac_objext" : cat >>confdefs.h <<\_ACEOF #define FCHDIR_REPLACEMENT 1 _ACEOF if test $gl_cv_have_include_next = yes; then gl_cv_next_dirent_h='<'dirent.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_dirent_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_dirent_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_dirent_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/dirent.h#{ s#.*"\(.*/dirent.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_dirent_h='<'dirent.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_dirent_h" >&5 echo "${ECHO_T}$gl_cv_next_dirent_h" >&6; } fi NEXT_DIRENT_H=$gl_cv_next_dirent_h DIRENT_H='dirent.h' else DIRENT_H= fi GNULIB_FCHDIR=1 { echo "$as_me:$LINENO: checking for working fcntl.h" >&5 echo $ECHO_N "checking for working fcntl.h... $ECHO_C" >&6; } if test "${gl_cv_header_working_fcntl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_header_working_fcntl_h=cross-compiling else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #ifndef O_NOATIME #define O_NOATIME 0 #endif #ifndef O_NOFOLLOW #define O_NOFOLLOW 0 #endif static int const constants[] = { O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND, O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY }; int main () { int status = !constants; { static char const sym[] = "conftest.sym"; if (symlink (".", sym) != 0 || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0) status |= 32; } { static char const file[] = "confdefs.h"; int fd = open (file, O_RDONLY | O_NOATIME); char c; struct stat st0, st1; if (fd < 0 || fstat (fd, &st0) != 0 || sleep (1) != 0 || read (fd, &c, 1) != 1 || close (fd) != 0 || stat (file, &st1) != 0 || st0.st_atime != st1.st_atime) status |= 64; } return status; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_header_working_fcntl_h=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) case $? in #( 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #( 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #( 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #( *) gl_cv_header_working_fcntl_h='no';; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_header_working_fcntl_h" >&5 echo "${ECHO_T}$gl_cv_header_working_fcntl_h" >&6; } case $gl_cv_header_working_fcntl_h in #( *O_NOATIME* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac cat >>confdefs.h <<_ACEOF #define HAVE_WORKING_O_NOATIME $ac_val _ACEOF case $gl_cv_header_working_fcntl_h in #( *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #( *) ac_val=1;; esac cat >>confdefs.h <<_ACEOF #define HAVE_WORKING_O_NOFOLLOW $ac_val _ACEOF if test $gl_cv_have_include_next = yes; then gl_cv_next_fcntl_h='<'fcntl.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_fcntl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_fcntl_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_fcntl_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/fcntl.h#{ s#.*"\(.*/fcntl.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_fcntl_h='<'fcntl.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_fcntl_h" >&5 echo "${ECHO_T}$gl_cv_next_fcntl_h" >&6; } fi NEXT_FCNTL_H=$gl_cv_next_fcntl_h FCNTL_H='fcntl.h' gl_LIBOBJS="$gl_LIBOBJS open-safer.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS creat-safer.$ac_objext" cat >>confdefs.h <<\_ACEOF #define GNULIB_FCNTL_SAFER 1 _ACEOF { echo "$as_me:$LINENO: checking whether fflush works on input streams" >&5 echo $ECHO_N "checking whether fflush works on input streams... $ECHO_C" >&6; } if test "${gl_cv_func_fflush_stdin+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else echo hello world > conftest.txt if test "$cross_compiling" = yes; then gl_cv_func_fflush_stdin=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { FILE *f = fopen ("conftest.txt", "r"); char buffer[10]; int fd; if (f == NULL) return 1; fd = fileno (f); if (fd < 0 || fread (buffer, 1, 5, f) != 5) return 2; /* For deterministic results, ensure f read a bigger buffer. */ if (lseek (fd, 0, SEEK_CUR) == 5) return 3; /* POSIX requires fflush-fseek to set file offset of fd. */ if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0) return 4; if (lseek (fd, 0, SEEK_CUR) != 5) return 5; /* TODO: Verify behaviour of fflush after ungetc, see . */ return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_fflush_stdin=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_fflush_stdin=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm conftest.txt fi { echo "$as_me:$LINENO: result: $gl_cv_func_fflush_stdin" >&5 echo "${ECHO_T}$gl_cv_func_fflush_stdin" >&6; } if test $gl_cv_func_fflush_stdin = no; then gl_LIBOBJS="$gl_LIBOBJS fflush.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" REPLACE_FFLUSH=1 REPLACE_FSEEKO=1 : fi GNULIB_FFLUSH=1 gl_LIBOBJS="$gl_LIBOBJS file-type.$ac_objext" { echo "$as_me:$LINENO: checking for struct stat.st_blocks" >&5 echo $ECHO_N "checking for struct stat.st_blocks... $ECHO_C" >&6; } if test "${ac_cv_member_struct_stat_st_blocks+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static struct stat ac_aggr; if (ac_aggr.st_blocks) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_blocks=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static struct stat ac_aggr; if (sizeof ac_aggr.st_blocks) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_blocks=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_stat_st_blocks=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blocks" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_blocks" >&6; } if test $ac_cv_member_struct_stat_st_blocks = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BLOCKS 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_ST_BLOCKS 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS fileblocks.$ac_objext" fi if test $ac_cv_member_struct_stat_st_blocks = no; then : fi gl_LIBOBJS="$gl_LIBOBJS filemode.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS filenamecat.$ac_objext" { echo "$as_me:$LINENO: checking for flexible array member" >&5 echo $ECHO_N "checking for flexible array member... $ECHO_C" >&6; } if test "${ac_cv_c_flexmember+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include struct s { int n; double d[]; }; int main () { int m = getchar (); struct s *p = malloc (offsetof (struct s, d) + m * sizeof (double)); p->d[0] = 0.0; return p->d != (double *) NULL; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_flexmember=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_flexmember=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_flexmember" >&5 echo "${ECHO_T}$ac_cv_c_flexmember" >&6; } if test $ac_cv_c_flexmember = yes; then cat >>confdefs.h <<\_ACEOF #define FLEXIBLE_ARRAY_MEMBER _ACEOF else cat >>confdefs.h <<\_ACEOF #define FLEXIBLE_ARRAY_MEMBER 1 _ACEOF fi FLOAT_H= case "$host_os" in beos* | openbsd*) FLOAT_H=float.h if test $gl_cv_have_include_next = yes; then gl_cv_next_float_h='<'float.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_float_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_float_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_float_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/float.h#{ s#.*"\(.*/float.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_float_h='<'float.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_float_h" >&5 echo "${ECHO_T}$gl_cv_next_float_h" >&6; } fi NEXT_FLOAT_H=$gl_cv_next_float_h ;; esac # No macro. You should also use one of fnmatch-posix or fnmatch-gnu. FNMATCH_H= { echo "$as_me:$LINENO: checking for working GNU fnmatch" >&5 echo $ECHO_N "checking for working GNU fnmatch... $ECHO_C" >&6; } if test "${ac_cv_func_fnmatch_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_fnmatch_gnu=cross else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include static int y (char const *pattern, char const *string, int flags) { return fnmatch (pattern, string, flags) == 0; } static int n (char const *pattern, char const *string, int flags) { return fnmatch (pattern, string, flags) == FNM_NOMATCH; } int main () { char const *Apat = 'A' < '\\\\' ? "[A-\\\\\\\\]" : "[\\\\\\\\-A]"; char const *apat = 'a' < '\\\\' ? "[a-\\\\\\\\]" : "[\\\\\\\\-a]"; static char const A_1[] = { 'A' - 1, 0 }; static char const A01[] = { 'A' + 1, 0 }; static char const a_1[] = { 'a' - 1, 0 }; static char const a01[] = { 'a' + 1, 0 }; static char const bs_1[] = { '\\\\' - 1, 0 }; static char const bs01[] = { '\\\\' + 1, 0 }; return !(n ("a*", "", 0) && y ("a*", "abc", 0) && n ("d*/*1", "d/s/1", FNM_PATHNAME) && y ("a\\\\bc", "abc", 0) && n ("a\\\\bc", "abc", FNM_NOESCAPE) && y ("*x", ".x", 0) && n ("*x", ".x", FNM_PERIOD) && y (Apat, "\\\\", 0) && y (Apat, "A", 0) && y (apat, "\\\\", 0) && y (apat, "a", 0) && n (Apat, A_1, 0) == ('A' < '\\\\') && n (apat, a_1, 0) == ('a' < '\\\\') && y (Apat, A01, 0) == ('A' < '\\\\') && y (apat, a01, 0) == ('a' < '\\\\') && y (Apat, bs_1, 0) == ('A' < '\\\\') && y (apat, bs_1, 0) == ('a' < '\\\\') && n (Apat, bs01, 0) == ('A' < '\\\\') && n (apat, bs01, 0) == ('a' < '\\\\') && y ("xxXX", "xXxX", FNM_CASEFOLD) && y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH) && n ("d*/*1", "d/s/1", FNM_FILE_NAME) && y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR) && y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR) && y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_fnmatch_gnu=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_fnmatch_gnu=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_fnmatch_gnu" >&5 echo "${ECHO_T}$ac_cv_func_fnmatch_gnu" >&6; } if test $ac_cv_func_fnmatch_gnu = yes; then rm -f lib/fnmatch.h else { echo "$as_me:$LINENO: checking whether isblank is declared" >&5 echo $ECHO_N "checking whether isblank is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_isblank+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef isblank (void) isblank; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_isblank=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_isblank=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_isblank" >&5 echo "${ECHO_T}$ac_cv_have_decl_isblank" >&6; } if test $ac_cv_have_decl_isblank = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISBLANK 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISBLANK 0 _ACEOF fi gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext" FNMATCH_H=fnmatch.h fi if test $ac_cv_func_fnmatch_gnu != yes; then cat >>confdefs.h <<\_ACEOF #define fnmatch gnu_fnmatch _ACEOF fi gl_LIBOBJS="$gl_LIBOBJS fopen-safer.$ac_objext" cat >>confdefs.h <<\_ACEOF #define GNULIB_FOPEN_SAFER 1 _ACEOF fp_headers=' # include # if HAVE_STDIO_EXT_H # include # endif ' { echo "$as_me:$LINENO: checking whether __fpending is declared" >&5 echo $ECHO_N "checking whether __fpending is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl___fpending+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $fp_headers int main () { #ifndef __fpending (void) __fpending; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl___fpending=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl___fpending=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl___fpending" >&5 echo "${ECHO_T}$ac_cv_have_decl___fpending" >&6; } if test $ac_cv_have_decl___fpending = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL___FPENDING 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL___FPENDING 0 _ACEOF fi if test $ac_cv_func___fpending = no; then { echo "$as_me:$LINENO: checking how to determine the number of pending output bytes on a stream" >&5 echo $ECHO_N "checking how to determine the number of pending output bytes on a stream... $ECHO_C" >&6; } if test "${ac_cv_sys_pending_output_n_bytes+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else for ac_expr in \ \ '# glibc2' \ 'fp->_IO_write_ptr - fp->_IO_write_base' \ \ '# traditional Unix' \ 'fp->_ptr - fp->_base' \ \ '# BSD' \ 'fp->_p - fp->_bf._base' \ \ '# SCO, Unixware' \ '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ \ '# QNX' \ '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ \ '# old glibc?' \ 'fp->__bufp - fp->__buffer' \ \ '# old glibc iostream?' \ 'fp->_pptr - fp->_pbase' \ \ '# emx+gcc' \ 'fp->_ptr - fp->_buffer' \ \ '# VMS' \ '(*fp)->_ptr - (*fp)->_base' \ \ '# e.g., DGUX R4.11; the info is not available' \ 1 \ ; do # Skip each embedded comment. case "$ac_expr" in '#'*) continue;; esac cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { FILE *fp = stdin; (void) ($ac_expr); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then fp_done=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$fp_done" = yes && break done ac_cv_sys_pending_output_n_bytes=$ac_expr fi { echo "$as_me:$LINENO: result: $ac_cv_sys_pending_output_n_bytes" >&5 echo "${ECHO_T}$ac_cv_sys_pending_output_n_bytes" >&6; } cat >>confdefs.h <<_ACEOF #define PENDING_OUTPUT_N_BYTES $ac_cv_sys_pending_output_n_bytes _ACEOF gl_LIBOBJS="$gl_LIBOBJS fpending.$ac_objext" fi gl_LIBOBJS="$gl_LIBOBJS fprintftime.$ac_objext" { echo "$as_me:$LINENO: checking whether fpurge is declared" >&5 echo $ECHO_N "checking whether fpurge is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_fpurge+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef fpurge (void) fpurge; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_fpurge=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_fpurge=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_fpurge" >&5 echo "${ECHO_T}$ac_cv_have_decl_fpurge" >&6; } if test $ac_cv_have_decl_fpurge = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPURGE 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FPURGE 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether frexp() can be used without linking with libm" >&5 echo $ECHO_N "checking whether frexp() can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_frexp_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include double x; int main () { int e; return frexp (x, &e) > 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_frexp_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_frexp_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_frexp_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_frexp_no_libm" >&6; } if test $gl_cv_func_frexp_no_libm = yes; then { echo "$as_me:$LINENO: checking whether frexp works" >&5 echo $ECHO_N "checking whether frexp works... $ECHO_C" >&6; } if test "${gl_cv_func_frexp_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in netbsd* | irix* | mingw*) gl_cv_func_frexp_works="guessing no";; *) gl_cv_func_frexp_works="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main() { int i; volatile double x; /* Test on denormalized numbers. */ for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) ; if (x > 0.0) { int exp; double y = frexp (x, &exp); /* On machines with IEEE754 arithmetic: x = 1.11254e-308, exp = -1022. On NetBSD: y = 0.75. Correct: y = 0.5. */ if (y != 0.5) return 1; } /* Test on infinite numbers. */ x = 1.0 / 0.0; { int exp; double y = frexp (x, &exp); if (y != x) return 1; } return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_frexp_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_frexp_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_frexp_works" >&5 echo "${ECHO_T}$gl_cv_func_frexp_works" >&6; } case "$gl_cv_func_frexp_works" in *yes) gl_func_frexp_no_libm=yes ;; *) gl_func_frexp_no_libm=no; REPLACE_FREXP=1 ;; esac else gl_func_frexp_no_libm=no REPLACE_FREXP=1 fi if test $gl_func_frexp_no_libm = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_FREXP_IN_LIBC 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS frexp.$ac_objext" fi GNULIB_FREXP=1 { echo "$as_me:$LINENO: checking whether frexpl() can be used without linking with libm" >&5 echo $ECHO_N "checking whether frexpl() can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_frexpl_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include long double x; int main () { int e; return frexpl (x, &e) > 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_frexpl_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_frexpl_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_frexpl_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_frexpl_no_libm" >&6; } if test $gl_cv_func_frexpl_no_libm = yes; then { echo "$as_me:$LINENO: checking whether frexpl works" >&5 echo $ECHO_N "checking whether frexpl works... $ECHO_C" >&6; } if test "${gl_cv_func_frexpl_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in aix* | beos* | darwin* | irix* | mingw* | pw*) gl_cv_func_frexpl_works="guessing no";; *) gl_cv_func_frexpl_works="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include /* Override the values of , like done in float.in.h. */ #if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) #endif extern long double frexpl (long double, int *); int main() { volatile long double x; /* Test on finite numbers that fails on AIX 5.1. */ x = 16.0L; { int exp = -9999; frexpl (x, &exp); if (exp != 5) return 1; } /* Test on finite numbers that fails on MacOS X 10.4, because its frexpl function returns an invalid (incorrectly normalized) value: it returns y = { 0x3fe028f5, 0xc28f5c28, 0x3c9eb851, 0xeb851eb8 } but the correct result is 0.505L = { 0x3fe028f5, 0xc28f5c29, 0xbc547ae1, 0x47ae1480 } */ x = 1.01L; { int exp = -9999; long double y = frexpl (x, &exp); if (!(exp == 1 && y == 0.505L)) return 1; } /* Test on large finite numbers. This fails on BeOS at i = 16322, while LDBL_MAX_EXP = 16384. In the loop end test, we test x against Infinity, rather than comparing i with LDBL_MAX_EXP, because BeOS has a wrong LDBL_MAX_EXP. */ { int i; for (i = 1, x = 1.0L; x != x + x; i++, x *= 2.0L) { int exp = -9999; frexpl (x, &exp); if (exp != i) return 1; } } /* Test on denormalized numbers. */ { int i; for (i = 1, x = 1.0L; i >= LDBL_MIN_EXP; i--, x *= 0.5L) ; if (x > 0.0L) { int exp; long double y = frexpl (x, &exp); /* On machines with IEEE854 arithmetic: x = 1.68105e-4932, exp = -16382, y = 0.5. On MacOS X 10.5: exp = -16384, y = 0.5. */ if (exp != LDBL_MIN_EXP - 1) return 1; } } /* Test on infinite numbers. */ x = 1.0L / 0.0L; { int exp; long double y = frexpl (x, &exp); if (y != x) return 1; } return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_frexpl_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_frexpl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_frexpl_works" >&5 echo "${ECHO_T}$gl_cv_func_frexpl_works" >&6; } case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl_no_libm=yes ;; *) gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;; esac else gl_func_frexpl_no_libm=no REPLACE_FREXPL=1 fi if test $gl_func_frexpl_no_libm = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_FREXPL_IN_LIBC 1 _ACEOF { echo "$as_me:$LINENO: checking whether frexpl is declared" >&5 echo $ECHO_N "checking whether frexpl is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_frexpl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef frexpl (void) frexpl; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_frexpl=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_frexpl=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_frexpl" >&5 echo "${ECHO_T}$ac_cv_have_decl_frexpl" >&6; } if test $ac_cv_have_decl_frexpl = yes; then : else HAVE_DECL_FREXPL=0 fi else HAVE_DECL_FREXPL=0 gl_LIBOBJS="$gl_LIBOBJS frexpl.$ac_objext" fi GNULIB_FREXPL=1 { echo "$as_me:$LINENO: checking for fseeko" >&5 echo $ECHO_N "checking for fseeko... $ECHO_C" >&6; } if test "${gl_cv_func_fseeko+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { fseeko (stdin, 0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_fseeko=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_fseeko=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_fseeko" >&5 echo "${ECHO_T}$gl_cv_func_fseeko" >&6; } if test $gl_cv_func_fseeko = no; then HAVE_FSEEKO=0 gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" REPLACE_FSEEKO=1 elif test $gl_cv_var_stdin_large_offset = no; then gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext" REPLACE_FSEEKO=1 fi GNULIB_FSEEKO=1 for ac_header in sys/mount.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #if HAVE_SYS_PARAM_H #include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking how to get file system space usage" >&5 echo "$as_me: checking how to get file system space usage" >&6;} ac_fsusage_space=no # Perform only the link test since it seems there are no variants of the # statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs) # because that got a false positive on SCO OSR5. Adding the declaration # of a `struct statvfs' causes this test to fail (as it should) on such # systems. That system is reported to work fine with STAT_STATFS4 which # is what it gets when this test fails. if test $ac_fsusage_space = no; then # SVR4 { echo "$as_me:$LINENO: checking for statvfs function (SVR4)" >&5 echo $ECHO_N "checking for statvfs function (SVR4)... $ECHO_C" >&6; } if test "${fu_cv_sys_stat_statvfs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if defined __GLIBC__ && !defined __BEOS__ Do not use statvfs on systems with GNU libc, because that function stats all preceding entries in /proc/mounts, and that makes df hang if even one of the corresponding file systems is hard-mounted, but not available. statvfs in GNU libc on BeOS operates differently: it only makes a system call. #endif #ifdef __osf__ "Do not use Tru64's statvfs implementation" #endif #include int main () { struct statvfs fsd; statvfs (0, &fsd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then fu_cv_sys_stat_statvfs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fu_cv_sys_stat_statvfs=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $fu_cv_sys_stat_statvfs" >&5 echo "${ECHO_T}$fu_cv_sys_stat_statvfs" >&6; } if test $fu_cv_sys_stat_statvfs = yes; then ac_fsusage_space=yes cat >>confdefs.h <<\_ACEOF #define STAT_STATVFS 1 _ACEOF fi fi if test $ac_fsusage_space = no; then # DEC Alpha running OSF/1 { echo "$as_me:$LINENO: checking for 3-argument statfs function (DEC OSF/1)" >&5 echo $ECHO_N "checking for 3-argument statfs function (DEC OSF/1)... $ECHO_C" >&6; } if test "${fu_cv_sys_stat_statfs3_osf1+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then fu_cv_sys_stat_statfs3_osf1=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { struct statfs fsd; fsd.f_fsize = 0; return statfs (".", &fsd, sizeof (struct statfs)) != 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then fu_cv_sys_stat_statfs3_osf1=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) fu_cv_sys_stat_statfs3_osf1=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $fu_cv_sys_stat_statfs3_osf1" >&5 echo "${ECHO_T}$fu_cv_sys_stat_statfs3_osf1" >&6; } if test $fu_cv_sys_stat_statfs3_osf1 = yes; then ac_fsusage_space=yes cat >>confdefs.h <<\_ACEOF #define STAT_STATFS3_OSF1 1 _ACEOF fi fi if test $ac_fsusage_space = no; then # AIX { echo "$as_me:$LINENO: checking for two-argument statfs with statfs.bsize member (AIX, 4.3BSD)" >&5 echo $ECHO_N "checking for two-argument statfs with statfs.bsize member (AIX, 4.3BSD)... $ECHO_C" >&6; } if test "${fu_cv_sys_stat_statfs2_bsize+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then fu_cv_sys_stat_statfs2_bsize=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif #ifdef HAVE_SYS_VFS_H #include #endif int main () { struct statfs fsd; fsd.f_bsize = 0; return statfs (".", &fsd) != 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then fu_cv_sys_stat_statfs2_bsize=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) fu_cv_sys_stat_statfs2_bsize=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $fu_cv_sys_stat_statfs2_bsize" >&5 echo "${ECHO_T}$fu_cv_sys_stat_statfs2_bsize" >&6; } if test $fu_cv_sys_stat_statfs2_bsize = yes; then ac_fsusage_space=yes cat >>confdefs.h <<\_ACEOF #define STAT_STATFS2_BSIZE 1 _ACEOF fi fi if test $ac_fsusage_space = no; then # SVR3 { echo "$as_me:$LINENO: checking for four-argument statfs (AIX-3.2.5, SVR3)" >&5 echo $ECHO_N "checking for four-argument statfs (AIX-3.2.5, SVR3)... $ECHO_C" >&6; } if test "${fu_cv_sys_stat_statfs4+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then fu_cv_sys_stat_statfs4=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { struct statfs fsd; return statfs (".", &fsd, sizeof fsd, 0) != 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then fu_cv_sys_stat_statfs4=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) fu_cv_sys_stat_statfs4=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $fu_cv_sys_stat_statfs4" >&5 echo "${ECHO_T}$fu_cv_sys_stat_statfs4" >&6; } if test $fu_cv_sys_stat_statfs4 = yes; then ac_fsusage_space=yes cat >>confdefs.h <<\_ACEOF #define STAT_STATFS4 1 _ACEOF fi fi if test $ac_fsusage_space = no; then # 4.4BSD and NetBSD { echo "$as_me:$LINENO: checking for two-argument statfs with statfs.fsize member (4.4BSD and NetBSD)" >&5 echo $ECHO_N "checking for two-argument statfs with statfs.fsize member (4.4BSD and NetBSD)... $ECHO_C" >&6; } if test "${fu_cv_sys_stat_statfs2_fsize+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then fu_cv_sys_stat_statfs2_fsize=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif int main () { struct statfs fsd; fsd.f_fsize = 0; return statfs (".", &fsd) != 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then fu_cv_sys_stat_statfs2_fsize=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) fu_cv_sys_stat_statfs2_fsize=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $fu_cv_sys_stat_statfs2_fsize" >&5 echo "${ECHO_T}$fu_cv_sys_stat_statfs2_fsize" >&6; } if test $fu_cv_sys_stat_statfs2_fsize = yes; then ac_fsusage_space=yes cat >>confdefs.h <<\_ACEOF #define STAT_STATFS2_FSIZE 1 _ACEOF fi fi if test $ac_fsusage_space = no; then # Ultrix { echo "$as_me:$LINENO: checking for two-argument statfs with struct fs_data (Ultrix)" >&5 echo $ECHO_N "checking for two-argument statfs with struct fs_data (Ultrix)... $ECHO_C" >&6; } if test "${fu_cv_sys_stat_fs_data+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then fu_cv_sys_stat_fs_data=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif #ifdef HAVE_SYS_FS_TYPES_H #include #endif int main () { struct fs_data fsd; /* Ultrix's statfs returns 1 for success, 0 for not mounted, -1 for failure. */ return statfs (".", &fsd) != 1; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then fu_cv_sys_stat_fs_data=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) fu_cv_sys_stat_fs_data=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $fu_cv_sys_stat_fs_data" >&5 echo "${ECHO_T}$fu_cv_sys_stat_fs_data" >&6; } if test $fu_cv_sys_stat_fs_data = yes; then ac_fsusage_space=yes cat >>confdefs.h <<\_ACEOF #define STAT_STATFS2_FS_DATA 1 _ACEOF fi fi if test $ac_fsusage_space = no; then # SVR2 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then cat >>confdefs.h <<\_ACEOF #define STAT_READ_FILSYS 1 _ACEOF ac_fsusage_space=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_ext fi if test $ac_fsusage_space = yes; then gl_cv_fs_space=yes else gl_cv_fs_space=no fi if test $gl_cv_fs_space = yes; then gl_LIBOBJS="$gl_LIBOBJS fsusage.$ac_objext" for ac_header in dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for statfs that truncates block counts" >&5 echo $ECHO_N "checking for statfs that truncates block counts... $ECHO_C" >&6; } if test "${fu_cv_sys_truncating_statfs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if !defined(sun) && !defined(__sun) choke -- this is a workaround for a Sun-specific problem #endif #include #include int main () { struct statfs t; long c = *(t.f_spare); if (c) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then fu_cv_sys_truncating_statfs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fu_cv_sys_truncating_statfs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $fu_cv_sys_truncating_statfs = yes; then cat >>confdefs.h <<\_ACEOF #define STATFS_TRUNCATES_BLOCK_COUNTS 1 _ACEOF fi { echo "$as_me:$LINENO: result: $fu_cv_sys_truncating_statfs" >&5 echo "${ECHO_T}$fu_cv_sys_truncating_statfs" >&6; } fi { echo "$as_me:$LINENO: checking for ftello" >&5 echo $ECHO_N "checking for ftello... $ECHO_C" >&6; } if test "${gl_cv_func_ftello+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ftello (stdin); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_ftello=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_ftello=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_ftello" >&5 echo "${ECHO_T}$gl_cv_func_ftello" >&6; } if test $gl_cv_func_ftello = no; then HAVE_FTELLO=0 gl_LIBOBJS="$gl_LIBOBJS ftello.$ac_objext" REPLACE_FTELLO=1 elif test $gl_cv_var_stdin_large_offset = no; then gl_LIBOBJS="$gl_LIBOBJS ftello.$ac_objext" REPLACE_FTELLO=1 fi GNULIB_FTELLO=1 if test $ac_cv_func_ftruncate = no; then HAVE_FTRUNCATE=0 gl_LIBOBJS="$gl_LIBOBJS ftruncate.$ac_objext" for ac_func in chsize do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done case "$host_os" in mingw*) # Yes, we know mingw lacks ftruncate. ;; *) # If someone lacks ftruncate, make configure fail, and request # a bug report to inform us about it. if test x"$SKIP_FTRUNCATE_CHECK" != xyes; then { { echo "$as_me:$LINENO: error: Your system lacks the ftruncate function. Please report this, along with the output of \"uname -a\", to the bug-coreutils@gnu.org mailing list. To continue past this point, rerun configure with SKIP_FTRUNCATE_CHECK=yes. E.g., ./configure SKIP_FTRUNCATE_CHECK=yes See \`config.log' for more details." >&5 echo "$as_me: error: Your system lacks the ftruncate function. Please report this, along with the output of \"uname -a\", to the bug-coreutils@gnu.org mailing list. To continue past this point, rerun configure with SKIP_FTRUNCATE_CHECK=yes. E.g., ./configure SKIP_FTRUNCATE_CHECK=yes See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi esac fi GNULIB_FTRUNCATE=1 gl_abort_bug=no case $gl_cv_func_getcwd_null in yes) { echo "$as_me:$LINENO: checking whether getcwd handles long file names properly" >&5 echo $ECHO_N "checking whether getcwd handles long file names properly... $ECHO_C" >&6; } if test "${gl_cv_func_getcwd_path_max+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir3" if test "$cross_compiling" = yes; then gl_cv_func_getcwd_path_max=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #include #include #include #include #ifndef AT_FDCWD # define AT_FDCWD 0 #endif #ifdef ENAMETOOLONG # define is_ENAMETOOLONG(x) ((x) == ENAMETOOLONG) #else # define is_ENAMETOOLONG(x) 0 #endif /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir #ifndef S_IRWXU # define S_IRWXU 0700 #endif /* The length of this name must be 8. */ #define DIR_NAME "confdir3" #define DIR_NAME_LEN 8 #define DIR_NAME_SIZE (DIR_NAME_LEN + 1) /* The length of "../". */ #define DOTDOTSLASH_LEN 3 /* Leftover bytes in the buffer, to work around library or OS bugs. */ #define BUF_SLOP 20 int main () { #ifndef PATH_MAX /* The Hurd doesn't define this, so getcwd can't exhibit the bug -- at least not on a local file system. And if we were to start worrying about remote file systems, we'd have to enable the wrapper function all of the time, just to be safe. That's not worth the cost. */ exit (0); #elif ((INT_MAX / (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) \ - DIR_NAME_SIZE - BUF_SLOP) \ <= PATH_MAX) /* FIXME: Assuming there's a system for which this is true, this should be done in a compile test. */ exit (0); #else char buf[PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN + 1) + DIR_NAME_SIZE + BUF_SLOP]; char *cwd = getcwd (buf, PATH_MAX); size_t initial_cwd_len; size_t cwd_len; int fail = 0; size_t n_chdirs = 0; if (cwd == NULL) exit (1); cwd_len = initial_cwd_len = strlen (cwd); while (1) { size_t dotdot_max = PATH_MAX * (DIR_NAME_SIZE / DOTDOTSLASH_LEN); char *c = NULL; cwd_len += DIR_NAME_SIZE; /* If mkdir or chdir fails, it could be that this system cannot create any file with an absolute name longer than PATH_MAX, such as cygwin. If so, leave fail as 0, because the current working directory can't be too long for getcwd if it can't even be created. For other errors, be pessimistic and consider that as a failure, too. */ if (mkdir (DIR_NAME, S_IRWXU) < 0 || chdir (DIR_NAME) < 0) { if (! (errno == ERANGE || is_ENAMETOOLONG (errno))) fail = 2; break; } if (PATH_MAX <= cwd_len && cwd_len < PATH_MAX + DIR_NAME_SIZE) { c = getcwd (buf, PATH_MAX); if (!c && errno == ENOENT) { fail = 1; break; } if (c || ! (errno == ERANGE || is_ENAMETOOLONG (errno))) { fail = 2; break; } } if (dotdot_max <= cwd_len - initial_cwd_len) { if (dotdot_max + DIR_NAME_SIZE < cwd_len - initial_cwd_len) break; c = getcwd (buf, cwd_len + 1); if (!c) { if (! (errno == ERANGE || errno == ENOENT || is_ENAMETOOLONG (errno))) { fail = 2; break; } if (AT_FDCWD || errno == ERANGE || errno == ENOENT) { fail = 1; break; } } } if (c && strlen (c) != cwd_len) { fail = 2; break; } ++n_chdirs; } /* Leaving behind such a deep directory is not polite. So clean up here, right away, even though the driving shell script would also clean up. */ { size_t i; /* Try rmdir first, in case the chdir failed. */ rmdir (DIR_NAME); for (i = 0; i <= n_chdirs; i++) { if (chdir ("..") < 0) break; if (rmdir (DIR_NAME) != 0) break; } } exit (fail); #endif } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_getcwd_path_max=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) case $? in 1) gl_cv_func_getcwd_path_max='no, but it is partly working';; *) gl_cv_func_getcwd_path_max=no;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_getcwd_path_max" >&5 echo "${ECHO_T}$gl_cv_func_getcwd_path_max" >&6; } case $gl_cv_func_getcwd_path_max in no,*) cat >>confdefs.h <<\_ACEOF #define HAVE_PARTLY_WORKING_GETCWD 1 _ACEOF ;; esac for ac_func in getpagesize do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether getcwd aborts when 4k < cwd_length < 16k" >&5 echo $ECHO_N "checking whether getcwd aborts when 4k < cwd_length < 16k... $ECHO_C" >&6; } if test "${gl_cv_func_getcwd_abort_bug+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Remove any remnants of a previous test. rm -rf confdir-14B--- # Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir-14B---" if test "$cross_compiling" = yes; then gl_cv_func_getcwd_abort_bug=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #include /* Don't get link errors because mkdir is redefined to rpl_mkdir. */ #undef mkdir #ifndef S_IRWXU # define S_IRWXU 0700 #endif /* FIXME: skip the run-test altogether on systems without getpagesize. */ #if ! HAVE_GETPAGESIZE # define getpagesize() 0 #endif /* This size is chosen to be larger than PATH_MAX (4k), yet smaller than the 16kB pagesize on ia64 linux. Those conditions make the code below trigger a bug in glibc's getcwd implementation before 2.4.90-10. */ #define TARGET_LEN (5 * 1024) int main () { char const *dir_name = "confdir-14B---"; char *cwd; size_t initial_cwd_len; int fail = 0; size_t desired_depth; size_t d; /* The bug is triggered when PATH_MAX < getpagesize (), so skip this relative expensive and invasive test if that's not true. */ if (getpagesize () <= PATH_MAX) return 0; cwd = getcwd (NULL, 0); if (cwd == NULL) return 0; initial_cwd_len = strlen (cwd); free (cwd); desired_depth = ((TARGET_LEN - 1 - initial_cwd_len) / (1 + strlen (dir_name))); for (d = 0; d < desired_depth; d++) { if (mkdir (dir_name, S_IRWXU) < 0 || chdir (dir_name) < 0) { fail = 3; /* Unable to construct deep hierarchy. */ break; } } /* If libc has the bug in question, this invocation of getcwd results in a failed assertion. */ cwd = getcwd (NULL, 0); if (cwd == NULL) fail = 4; /* getcwd failed. This is ok, and expected. */ free (cwd); /* Call rmdir first, in case the above chdir failed. */ rmdir (dir_name); while (0 < d--) { if (chdir ("..") < 0) break; rmdir (dir_name); } return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_getcwd_abort_bug=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_getcwd_abort_bug=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_getcwd_abort_bug" >&5 echo "${ECHO_T}$gl_cv_func_getcwd_abort_bug" >&6; } if test $gl_cv_func_getcwd_abort_bug = yes; then gl_abort_bug=yes fi ;; esac case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_path_max,$gl_abort_bug in yes,yes,no) ;; *) REPLACE_GETCWD=1 gl_LIBOBJS="$gl_LIBOBJS getcwd.$ac_objext" : ;; esac GNULIB_GETCWD=1 { echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5 echo $ECHO_N "checking for struct tm.tm_zone... $ECHO_C" >&6; } if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include <$ac_cv_struct_tm> int main () { static struct tm ac_aggr; if (ac_aggr.tm_zone) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_tm_tm_zone=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include <$ac_cv_struct_tm> int main () { static struct tm ac_aggr; if (sizeof ac_aggr.tm_zone) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_tm_tm_zone=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_tm_tm_zone=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5 echo "${ECHO_T}$ac_cv_member_struct_tm_tm_zone" >&6; } if test $ac_cv_member_struct_tm_tm_zone = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_TM_TM_ZONE 1 _ACEOF fi if test "$ac_cv_member_struct_tm_tm_zone" = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_TM_ZONE 1 _ACEOF else { echo "$as_me:$LINENO: checking whether tzname is declared" >&5 echo $ECHO_N "checking whether tzname is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_tzname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef tzname (void) tzname; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_tzname=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_tzname=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_tzname" >&5 echo "${ECHO_T}$ac_cv_have_decl_tzname" >&6; } if test $ac_cv_have_decl_tzname = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_TZNAME 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_TZNAME 0 _ACEOF fi { echo "$as_me:$LINENO: checking for tzname" >&5 echo $ECHO_N "checking for tzname... $ECHO_C" >&6; } if test "${ac_cv_var_tzname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if !HAVE_DECL_TZNAME extern char *tzname[]; #endif int main () { return tzname[0][0]; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_var_tzname=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_var_tzname=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5 echo "${ECHO_T}$ac_cv_var_tzname" >&6; } if test $ac_cv_var_tzname = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_TZNAME 1 _ACEOF fi fi for ac_func in getdelim do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_getdelim = no; then for ac_func in flockfile funlockfile do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi if test $ac_cv_have_decl_getdelim = no; then HAVE_DECL_GETDELIM=0 fi GNULIB_GETDELIM=1 if test $ac_cv_func_getgroups_works = no; then gl_LIBOBJS="$gl_LIBOBJS getgroups.$ac_objext" cat >>confdefs.h <<\_ACEOF #define getgroups rpl_getgroups _ACEOF fi test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS" for ac_func in gethostname do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_gethostname = no; then for ac_func in uname do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi { echo "$as_me:$LINENO: checking whether gethrtime is declared" >&5 echo $ECHO_N "checking whether gethrtime is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_gethrtime+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef gethrtime (void) gethrtime; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_gethrtime=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_gethrtime=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_gethrtime" >&5 echo "${ECHO_T}$ac_cv_have_decl_gethrtime" >&6; } if test $ac_cv_have_decl_gethrtime = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETHRTIME 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETHRTIME 0 _ACEOF fi case $ac_cv_have_decl_gethrtime,$gl_cv_arithmetic_hrtime_t in yes,yes) ;; *) gl_LIBOBJS="$gl_LIBOBJS gethrxtime.$ac_objext" if test $ac_cv_func_nanouptime != yes; then LIB_GETHRXTIME= { echo "$as_me:$LINENO: checking whether CLOCK_MONOTONIC or CLOCK_REALTIME is defined" >&5 echo $ECHO_N "checking whether CLOCK_MONOTONIC or CLOCK_REALTIME is defined... $ECHO_C" >&6; } if test "${gl_cv_have_clock_gettime_macro+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include # if defined CLOCK_MONOTONIC || defined CLOCK_REALTIME have_clock_gettime_macro # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "have_clock_gettime_macro" >/dev/null 2>&1; then gl_cv_have_clock_gettime_macro=yes else gl_cv_have_clock_gettime_macro=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $gl_cv_have_clock_gettime_macro" >&5 echo "${ECHO_T}$gl_cv_have_clock_gettime_macro" >&6; } if test $gl_cv_have_clock_gettime_macro = yes; then LIB_GETHRXTIME=$LIB_CLOCK_GETTIME fi fi ;; esac gl_getline_needs_run_time_check=no { echo "$as_me:$LINENO: checking for getline" >&5 echo $ECHO_N "checking for getline... $ECHO_C" >&6; } if test "${ac_cv_func_getline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define getline to an innocuous variant, in case declares getline. For example, HP-UX 11i declares gettimeofday. */ #define getline innocuous_getline /* System header to define __stub macros and hopefully few prototypes, which can conflict with char getline (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef getline /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getline (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_getline || defined __stub___getline choke me #endif int main () { return getline (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_getline=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_getline=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_getline" >&5 echo "${ECHO_T}$ac_cv_func_getline" >&6; } if test $ac_cv_func_getline = yes; then gl_getline_needs_run_time_check=yes else am_cv_func_working_getline=no fi if test $gl_getline_needs_run_time_check = yes; then { echo "$as_me:$LINENO: checking for working getline function" >&5 echo $ECHO_N "checking for working getline function... $ECHO_C" >&6; } if test "${am_cv_func_working_getline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else echo fooN |tr -d '\012'|tr N '\012' > conftest.data if test "$cross_compiling" = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then am_cv_func_working_getline=yes else am_cv_func_working_getline=no fi rm -f conftest* else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include # include # include int main () { /* Based on a test program from Karl Heuer. */ char *line = NULL; size_t siz = 0; int len; FILE *in = fopen ("./conftest.data", "r"); if (!in) return 1; len = getline (&line, &siz, in); exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_func_working_getline=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) am_cv_func_working_getline=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $am_cv_func_working_getline" >&5 echo "${ECHO_T}$am_cv_func_working_getline" >&6; } fi if test $ac_cv_have_decl_getline = no; then HAVE_DECL_GETLINE=0 fi if test $am_cv_func_working_getline = no; then REPLACE_GETLINE=1 gl_LIBOBJS="$gl_LIBOBJS getline.$ac_objext" for ac_func in getdelim do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_getdelim = no; then for ac_func in flockfile funlockfile do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi if test $ac_cv_have_decl_getdelim = no; then HAVE_DECL_GETDELIM=0 fi fi GNULIB_GETLINE=1 gl_have_func=no # yes means we've found a way to get the load average. # Make sure getloadavg.c is where it belongs, at configure-time. test -f "$srcdir/lib/getloadavg.c" || { { echo "$as_me:$LINENO: error: $srcdir/lib/getloadavg.c is missing" >&5 echo "$as_me: error: $srcdir/lib/getloadavg.c is missing" >&2;} { (exit 1); exit 1; }; } gl_save_LIBS=$LIBS # Check for getloadavg, but be sure not to touch the cache variable. ({ echo "$as_me:$LINENO: checking for getloadavg" >&5 echo $ECHO_N "checking for getloadavg... $ECHO_C" >&6; } if test "${ac_cv_func_getloadavg+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define getloadavg to an innocuous variant, in case declares getloadavg. For example, HP-UX 11i declares gettimeofday. */ #define getloadavg innocuous_getloadavg /* System header to define __stub macros and hopefully few prototypes, which can conflict with char getloadavg (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef getloadavg /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getloadavg (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_getloadavg || defined __stub___getloadavg choke me #endif int main () { return getloadavg (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_getloadavg=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_getloadavg=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_getloadavg" >&5 echo "${ECHO_T}$ac_cv_func_getloadavg" >&6; } if test $ac_cv_func_getloadavg = yes; then exit 0 else exit 1 fi ) && gl_have_func=yes # On HPUX9, an unprivileged user can get load averages through this function. for ac_func in pstat_getdynamic do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # Solaris has libkstat which does not require root. { echo "$as_me:$LINENO: checking for kstat_open in -lkstat" >&5 echo $ECHO_N "checking for kstat_open in -lkstat... $ECHO_C" >&6; } if test "${ac_cv_lib_kstat_kstat_open+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lkstat $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char kstat_open (); int main () { return kstat_open (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_kstat_kstat_open=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_kstat_kstat_open=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_kstat_kstat_open" >&5 echo "${ECHO_T}$ac_cv_lib_kstat_kstat_open" >&6; } if test $ac_cv_lib_kstat_kstat_open = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBKSTAT 1 _ACEOF LIBS="-lkstat $LIBS" fi test $ac_cv_lib_kstat_kstat_open = yes && gl_have_func=yes # AIX has libperfstat which does not require root { echo "$as_me:$LINENO: checking for perfstat_cpu_total in -lperfstat" >&5 echo $ECHO_N "checking for perfstat_cpu_total in -lperfstat... $ECHO_C" >&6; } if test "${ac_cv_lib_perfstat_perfstat_cpu_total+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lperfstat $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char perfstat_cpu_total (); int main () { return perfstat_cpu_total (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_perfstat_perfstat_cpu_total=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_perfstat_perfstat_cpu_total=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_perfstat_perfstat_cpu_total" >&5 echo "${ECHO_T}$ac_cv_lib_perfstat_perfstat_cpu_total" >&6; } if test $ac_cv_lib_perfstat_perfstat_cpu_total = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBPERFSTAT 1 _ACEOF LIBS="-lperfstat $LIBS" fi test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_have_func=yes # Some systems with -lutil have (and need) -lkvm as well, some do not. # On Solaris, -lkvm requires nlist from -lelf, so check that first # to get the right answer into the cache. # For kstat on solaris, we need libelf to force the definition of SVR4 below. if test $gl_have_func = no; then { echo "$as_me:$LINENO: checking for elf_begin in -lelf" >&5 echo $ECHO_N "checking for elf_begin in -lelf... $ECHO_C" >&6; } if test "${ac_cv_lib_elf_elf_begin+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lelf $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char elf_begin (); int main () { return elf_begin (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_elf_elf_begin=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_elf_elf_begin=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_elf_elf_begin" >&5 echo "${ECHO_T}$ac_cv_lib_elf_elf_begin" >&6; } if test $ac_cv_lib_elf_elf_begin = yes; then LIBS="-lelf $LIBS" fi fi if test $gl_have_func = no; then { echo "$as_me:$LINENO: checking for kvm_open in -lkvm" >&5 echo $ECHO_N "checking for kvm_open in -lkvm... $ECHO_C" >&6; } if test "${ac_cv_lib_kvm_kvm_open+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lkvm $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char kvm_open (); int main () { return kvm_open (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_kvm_kvm_open=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_kvm_kvm_open=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_kvm_kvm_open" >&5 echo "${ECHO_T}$ac_cv_lib_kvm_kvm_open" >&6; } if test $ac_cv_lib_kvm_kvm_open = yes; then LIBS="-lkvm $LIBS" fi # Check for the 4.4BSD definition of getloadavg. { echo "$as_me:$LINENO: checking for getloadavg in -lutil" >&5 echo $ECHO_N "checking for getloadavg in -lutil... $ECHO_C" >&6; } if test "${ac_cv_lib_util_getloadavg+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lutil $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getloadavg (); int main () { return getloadavg (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_util_getloadavg=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_util_getloadavg=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_util_getloadavg" >&5 echo "${ECHO_T}$ac_cv_lib_util_getloadavg" >&6; } if test $ac_cv_lib_util_getloadavg = yes; then LIBS="-lutil $LIBS" gl_have_func=yes gl_cv_func_getloadavg_setgid=yes fi fi if test $gl_have_func = no; then # There is a commonly available library for RS/6000 AIX. # Since it is not a standard part of AIX, it might be installed locally. gl_getloadavg_LIBS=$LIBS LIBS="-L/usr/local/lib $LIBS" { echo "$as_me:$LINENO: checking for getloadavg in -lgetloadavg" >&5 echo $ECHO_N "checking for getloadavg in -lgetloadavg... $ECHO_C" >&6; } if test "${ac_cv_lib_getloadavg_getloadavg+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgetloadavg $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getloadavg (); int main () { return getloadavg (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_getloadavg_getloadavg=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_getloadavg_getloadavg=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_getloadavg_getloadavg" >&5 echo "${ECHO_T}$ac_cv_lib_getloadavg_getloadavg" >&6; } if test $ac_cv_lib_getloadavg_getloadavg = yes; then LIBS="-lgetloadavg $LIBS" else LIBS=$gl_getloadavg_LIBS fi fi # Make sure it is really in the library, if we think we found it, # otherwise set up the replacement function. for ac_func in getloadavg do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS getloadavg.$ac_objext" cat >>confdefs.h <<\_ACEOF #define C_GETLOADAVG 1 _ACEOF # Figure out what our getloadavg.c needs. gl_have_func=no if test "${ac_cv_header_sys_dg_sys_info_h+set}" = set; then { echo "$as_me:$LINENO: checking for sys/dg_sys_info.h" >&5 echo $ECHO_N "checking for sys/dg_sys_info.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_dg_sys_info_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_dg_sys_info_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_dg_sys_info_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking sys/dg_sys_info.h usability" >&5 echo $ECHO_N "checking sys/dg_sys_info.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking sys/dg_sys_info.h presence" >&5 echo $ECHO_N "checking sys/dg_sys_info.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: sys/dg_sys_info.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: sys/dg_sys_info.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: sys/dg_sys_info.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: sys/dg_sys_info.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: sys/dg_sys_info.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: sys/dg_sys_info.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/dg_sys_info.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: sys/dg_sys_info.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: sys/dg_sys_info.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for sys/dg_sys_info.h" >&5 echo $ECHO_N "checking for sys/dg_sys_info.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_dg_sys_info_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_sys_dg_sys_info_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_dg_sys_info_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_dg_sys_info_h" >&6; } fi if test $ac_cv_header_sys_dg_sys_info_h = yes; then gl_have_func=yes cat >>confdefs.h <<\_ACEOF #define DGUX 1 _ACEOF { echo "$as_me:$LINENO: checking for dg_sys_info in -ldgc" >&5 echo $ECHO_N "checking for dg_sys_info in -ldgc... $ECHO_C" >&6; } if test "${ac_cv_lib_dgc_dg_sys_info+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldgc $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dg_sys_info (); int main () { return dg_sys_info (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dgc_dg_sys_info=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dgc_dg_sys_info=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dgc_dg_sys_info" >&5 echo "${ECHO_T}$ac_cv_lib_dgc_dg_sys_info" >&6; } if test $ac_cv_lib_dgc_dg_sys_info = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBDGC 1 _ACEOF LIBS="-ldgc $LIBS" fi fi # We cannot check for , because Solaris 2 does not use dwarf (it # uses stabs), but it is still SVR4. We cannot check for because # Irix 4.0.5F has the header but not the library. if test $gl_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes; then gl_have_func=yes cat >>confdefs.h <<\_ACEOF #define SVR4 1 _ACEOF fi if test $gl_have_func = no; then if test "${ac_cv_header_inq_stats_cpustats_h+set}" = set; then { echo "$as_me:$LINENO: checking for inq_stats/cpustats.h" >&5 echo $ECHO_N "checking for inq_stats/cpustats.h... $ECHO_C" >&6; } if test "${ac_cv_header_inq_stats_cpustats_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_inq_stats_cpustats_h" >&5 echo "${ECHO_T}$ac_cv_header_inq_stats_cpustats_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking inq_stats/cpustats.h usability" >&5 echo $ECHO_N "checking inq_stats/cpustats.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking inq_stats/cpustats.h presence" >&5 echo $ECHO_N "checking inq_stats/cpustats.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: inq_stats/cpustats.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: inq_stats/cpustats.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: inq_stats/cpustats.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: inq_stats/cpustats.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: inq_stats/cpustats.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: inq_stats/cpustats.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: inq_stats/cpustats.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: inq_stats/cpustats.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: inq_stats/cpustats.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for inq_stats/cpustats.h" >&5 echo $ECHO_N "checking for inq_stats/cpustats.h... $ECHO_C" >&6; } if test "${ac_cv_header_inq_stats_cpustats_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_inq_stats_cpustats_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_inq_stats_cpustats_h" >&5 echo "${ECHO_T}$ac_cv_header_inq_stats_cpustats_h" >&6; } fi if test $ac_cv_header_inq_stats_cpustats_h = yes; then gl_have_func=yes cat >>confdefs.h <<\_ACEOF #define UMAX 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define UMAX4_3 1 _ACEOF fi fi if test $gl_have_func = no; then if test "${ac_cv_header_sys_cpustats_h+set}" = set; then { echo "$as_me:$LINENO: checking for sys/cpustats.h" >&5 echo $ECHO_N "checking for sys/cpustats.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_cpustats_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_cpustats_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_cpustats_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking sys/cpustats.h usability" >&5 echo $ECHO_N "checking sys/cpustats.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking sys/cpustats.h presence" >&5 echo $ECHO_N "checking sys/cpustats.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: sys/cpustats.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: sys/cpustats.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: sys/cpustats.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: sys/cpustats.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: sys/cpustats.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: sys/cpustats.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/cpustats.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: sys/cpustats.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: sys/cpustats.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for sys/cpustats.h" >&5 echo $ECHO_N "checking for sys/cpustats.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_cpustats_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_sys_cpustats_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_cpustats_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_cpustats_h" >&6; } fi if test $ac_cv_header_sys_cpustats_h = yes; then gl_have_func=yes; cat >>confdefs.h <<\_ACEOF #define UMAX 1 _ACEOF fi fi if test $gl_have_func = no; then for ac_header in mach/mach.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done fi for ac_header in nlist.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF { echo "$as_me:$LINENO: checking for struct nlist.n_un.n_name" >&5 echo $ECHO_N "checking for struct nlist.n_un.n_name... $ECHO_C" >&6; } if test "${ac_cv_member_struct_nlist_n_un_n_name+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static struct nlist ac_aggr; if (ac_aggr.n_un.n_name) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_nlist_n_un_n_name=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static struct nlist ac_aggr; if (sizeof ac_aggr.n_un.n_name) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_nlist_n_un_n_name=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_nlist_n_un_n_name=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_nlist_n_un_n_name" >&5 echo "${ECHO_T}$ac_cv_member_struct_nlist_n_un_n_name" >&6; } if test $ac_cv_member_struct_nlist_n_un_n_name = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_NLIST_N_UN_N_NAME 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define NLIST_NAME_UNION 1 _ACEOF fi fi done fi done # Some definitions of getloadavg require that the program be installed setgid. { echo "$as_me:$LINENO: checking whether getloadavg requires setgid" >&5 echo $ECHO_N "checking whether getloadavg requires setgid... $ECHO_C" >&6; } if test "${gl_cv_func_getloadavg_setgid+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define CONFIGURING_GETLOADAVG #include "$srcdir/lib/getloadavg.c" #ifdef LDAV_PRIVILEGED Yowza Am I SETGID yet #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Yowza Am I SETGID yet" >/dev/null 2>&1; then gl_cv_func_getloadavg_setgid=yes else gl_cv_func_getloadavg_setgid=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $gl_cv_func_getloadavg_setgid" >&5 echo "${ECHO_T}$gl_cv_func_getloadavg_setgid" >&6; } if test $gl_cv_func_getloadavg_setgid = yes; then NEED_SETGID=true cat >>confdefs.h <<\_ACEOF #define GETLOADAVG_PRIVILEGED 1 _ACEOF else NEED_SETGID=false fi if test $gl_cv_func_getloadavg_setgid = yes; then { echo "$as_me:$LINENO: checking group of /dev/kmem" >&5 echo $ECHO_N "checking group of /dev/kmem... $ECHO_C" >&6; } if test "${gl_cv_group_kmem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # On Solaris, /dev/kmem is a symlink. Get info on the real file. ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null` # If we got an error (system does not support symlinks), try without -L. test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem` gl_cv_group_kmem=`echo $ac_ls_output \ | sed -ne 's/[ ][ ]*/ /g s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/ / /s/.* //;p'` fi { echo "$as_me:$LINENO: result: $gl_cv_group_kmem" >&5 echo "${ECHO_T}$gl_cv_group_kmem" >&6; } KMEM_GROUP=$gl_cv_group_kmem fi if test "x$gl_save_LIBS" = x; then GETLOADAVG_LIBS=$LIBS else GETLOADAVG_LIBS=`echo "$LIBS" | sed "s!$gl_save_LIBS!!"` fi LIBS=$gl_save_LIBS gl_LIBOBJS="$gl_LIBOBJS getndelim2.$ac_objext" if test -n "$GETOPT_H"; then gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" GETOPT_H=getopt.h cat >>confdefs.h <<\_ACEOF #define __GETOPT_PREFIX rpl_ _ACEOF fi for ac_func in getpagesize do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_getpagesize = no; then HAVE_GETPAGESIZE=0 for ac_header in OS.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_OS_h = yes; then HAVE_OS_H=1 fi for ac_header in sys/param.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_sys_param_h = yes; then HAVE_SYS_PARAM_H=1 fi fi case "$host_os" in mingw*) REPLACE_GETPAGESIZE=1 gl_LIBOBJS="$gl_LIBOBJS getpagesize.$ac_objext" ;; esac GNULIB_GETPAGESIZE=1 gl_LIBOBJS="$gl_LIBOBJS getpass.$ac_objext" { echo "$as_me:$LINENO: checking whether __fsetlocking is declared" >&5 echo $ECHO_N "checking whether __fsetlocking is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl___fsetlocking+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if HAVE_STDIO_EXT_H #include #endif int main () { #ifndef __fsetlocking (void) __fsetlocking; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl___fsetlocking=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl___fsetlocking=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl___fsetlocking" >&5 echo "${ECHO_T}$ac_cv_have_decl___fsetlocking" >&6; } if test $ac_cv_have_decl___fsetlocking = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL___FSETLOCKING 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL___FSETLOCKING 0 _ACEOF fi : cat >>confdefs.h <<\_ACEOF #define getpass gnu_getpass _ACEOF gl_LIBOBJS="$gl_LIBOBJS gettime.$ac_objext" { echo "$as_me:$LINENO: checking for gettimeofday with POSIX signature" >&5 echo $ECHO_N "checking for gettimeofday with POSIX signature... $ECHO_C" >&6; } if test "${gl_cv_func_gettimeofday_posix_signature+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include struct timeval c; int main () { int (*f) (struct timeval *restrict, void *restrict) = gettimeofday; int x = f (&c, 0); return !(x | c.tv_sec | c.tv_usec); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_func_gettimeofday_posix_signature=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_gettimeofday_posix_signature=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_gettimeofday_posix_signature" >&5 echo "${ECHO_T}$gl_cv_func_gettimeofday_posix_signature" >&6; } { echo "$as_me:$LINENO: checking whether gettimeofday clobbers localtime buffer" >&5 echo $ECHO_N "checking whether gettimeofday clobbers localtime buffer... $ECHO_C" >&6; } if test "${gl_cv_func_gettimeofday_clobber+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_gettimeofday_clobber=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { time_t t = 0; struct tm *lt; struct tm saved_lt; struct timeval tv; lt = localtime (&t); saved_lt = *lt; gettimeofday (&tv, NULL); return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_gettimeofday_clobber=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_gettimeofday_clobber=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_gettimeofday_clobber" >&5 echo "${ECHO_T}$gl_cv_func_gettimeofday_clobber" >&6; } if test $gl_cv_func_gettimeofday_clobber = yes; then REPLACE_GETTIMEOFDAY=1 SYS_TIME_H=sys/time.h gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" for ac_header in sys/timeb.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in _ftime do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done cat >>confdefs.h <<\_ACEOF #define gmtime rpl_gmtime _ACEOF cat >>confdefs.h <<\_ACEOF #define localtime rpl_localtime _ACEOF cat >>confdefs.h <<\_ACEOF #define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1 _ACEOF fi if test $gl_cv_func_gettimeofday_posix_signature != yes; then REPLACE_GETTIMEOFDAY=1 SYS_TIME_H=sys/time.h if test $gl_cv_func_gettimeofday_clobber != yes; then gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" for ac_header in sys/timeb.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in _ftime do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi fi if ${MAKE-make} --version /cannot/make/this >/dev/null 2>&1; then GNU_MAKE_TRUE= GNU_MAKE_FALSE='#' else GNU_MAKE_TRUE='#' GNU_MAKE_FALSE= fi # Autoconf 2.61a.99 and earlier don't support linking a file only # in VPATH builds. But since GNUmakefile is for maintainer use # only, it does not matter if we skip the link with older autoconf. # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH # builds, so use a shell variable to bypass this. GNUmakefile=GNUmakefile gl_LIBOBJS="$gl_LIBOBJS hard-locale.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS hash.$ac_objext" { echo "$as_me:$LINENO: checking host operating system" >&5 echo $ECHO_N "checking host operating system... $ECHO_C" >&6; } if test "${gl_cv_host_operating_system+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $host_os in # These operating system names do not use the default heuristic below. # They are in reverse order, so that more-specific prefixes come first. winnt*) os='Windows NT';; vos*) os='VOS';; sysv*) os='Unix System V';; superux*) os='SUPER-UX';; sunos*) os='SunOS';; stop*) os='STOP';; sco*) os='SCO Unix';; riscos*) os='RISC OS';; riscix*) os='RISCiX';; qnx*) os='QNX';; pw32*) os='PW32';; ptx*) os='ptx';; plan9*) os='Plan 9';; osf*) os='Tru64';; os2*) os='OS/2';; openbsd*) os='OpenBSD';; nsk*) os='NonStop Kernel';; nonstopux*) os='NonStop-UX';; netbsd*-gnu*) os='GNU/NetBSD';; # NetBSD kernel+libc, GNU userland netbsd*) os='NetBSD';; knetbsd*-gnu) os='GNU/kNetBSD';; # NetBSD kernel, GNU libc+userland kfreebsd*-gnu) os='GNU/kFreeBSD';; # FreeBSD kernel, GNU libc+userland msdosdjgpp*) os='DJGPP';; mpeix*) os='MPE/iX';; mint*) os='MiNT';; mingw*) os='MinGW';; lynxos*) os='LynxOS';; linux*) os='GNU/Linux';; hpux*) os='HP-UX';; hiux*) os='HI-UX';; gnu*) os='GNU';; freebsd*) os='FreeBSD';; dgux*) os='DG/UX';; bsdi*) os='BSD/OS';; bsd*) os='BSD';; beos*) os='BeOS';; aux*) os='A/UX';; atheos*) os='AtheOS';; amigaos*) os='Amiga OS';; aix*) os='AIX';; # The default heuristic takes the initial alphabetic string # from $host_os, but capitalizes its first letter. [A-Za-z]*) os=` expr "X$host_os" : 'X\([A-Za-z]\)' | tr '[a-z]' '[A-Z]' `` expr "X$host_os" : 'X.\([A-Za-z]*\)' ` ;; # If $host_os does not start with an alphabetic string, use it unchanged. *) os=$host_os;; esac gl_cv_host_operating_system=$os fi { echo "$as_me:$LINENO: result: $gl_cv_host_operating_system" >&5 echo "${ECHO_T}$gl_cv_host_operating_system" >&6; } cat >>confdefs.h <<_ACEOF #define HOST_OPERATING_SYSTEM "$gl_cv_host_operating_system" _ACEOF gl_LIBOBJS="$gl_LIBOBJS human.$ac_objext" : am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { echo "$as_me:$LINENO: checking for iconv" >&5 echo $ECHO_N "checking for iconv... $ECHO_C" >&6; } if test "${am_cv_func_iconv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then am_cv_lib_iconv=yes am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 echo "${ECHO_T}$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { echo "$as_me:$LINENO: checking for working iconv" >&5 echo $ECHO_N "checking for working iconv... $ECHO_C" >&6; } if test "${am_cv_func_iconv_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_func_iconv_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi LIBS="$am_save_LIBS" fi { echo "$as_me:$LINENO: result: $am_cv_func_iconv_works" >&5 echo "${ECHO_T}$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ICONV 1 _ACEOF fi if test "$am_cv_lib_iconv" = yes; then { echo "$as_me:$LINENO: checking how to link with libiconv" >&5 echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $LIBICONV" >&5 echo "${ECHO_T}$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi if test "$am_cv_func_iconv" = yes; then { echo "$as_me:$LINENO: checking for iconv declaration" >&5 echo $ECHO_N "checking for iconv declaration... $ECHO_C" >&6; } if test "${am_cv_proto_iconv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then am_cv_proto_iconv_arg1="" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 am_cv_proto_iconv_arg1="const" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` { echo "$as_me:$LINENO: result: ${ac_t:- }$am_cv_proto_iconv" >&5 echo "${ECHO_T}${ac_t:- }$am_cv_proto_iconv" >&6; } cat >>confdefs.h <<_ACEOF #define ICONV_CONST $am_cv_proto_iconv_arg1 _ACEOF fi if test $gl_cv_have_include_next = yes; then gl_cv_next_iconv_h='<'iconv.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_iconv_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_iconv_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_iconv_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/iconv.h#{ s#.*"\(.*/iconv.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_iconv_h='<'iconv.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_iconv_h" >&5 echo "${ECHO_T}$gl_cv_next_iconv_h" >&6; } fi NEXT_ICONV_H=$gl_cv_next_iconv_h ICONV_H= if test "$am_cv_func_iconv" = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if defined _LIBICONV_VERSION || defined __GLIBC__ gnu_iconv #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gnu_iconv" >/dev/null 2>&1; then gl_func_iconv_gnu=yes else gl_func_iconv_gnu=no fi rm -f conftest* if test $gl_func_iconv_gnu = no; then iconv_flavor= case "$host_os" in aix*) iconv_flavor=ICONV_FLAVOR_AIX ;; irix*) iconv_flavor=ICONV_FLAVOR_IRIX ;; hpux*) iconv_flavor=ICONV_FLAVOR_HPUX ;; osf*) iconv_flavor=ICONV_FLAVOR_OSF ;; esac if test -n "$iconv_flavor"; then cat >>confdefs.h <<_ACEOF #define ICONV_FLAVOR $iconv_flavor _ACEOF REPLACE_ICONV_OPEN=1 gl_LIBOBJS="$gl_LIBOBJS iconv_open.$ac_objext" ICONV_H='iconv.h' fi fi fi gl_LIBOBJS="$gl_LIBOBJS idcache.$ac_objext" GNULIB_INET_NTOP=1 { echo "$as_me:$LINENO: checking whether the compiler generally respects inline" >&5 echo $ECHO_N "checking whether the compiler generally respects inline... $ECHO_C" >&6; } if test "${gl_cv_c_inline_effective+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_c_inline = no; then gl_cv_c_inline_effective=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifdef __NO_INLINE__ #error "inline is not effective" #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_c_inline_effective=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_c_inline_effective=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_c_inline_effective" >&5 echo "${ECHO_T}$gl_cv_c_inline_effective" >&6; } if test $gl_cv_c_inline_effective = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_INLINE 1 _ACEOF fi gl_LIBOBJS="$gl_LIBOBJS imaxtostr.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS offtostr.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS umaxtostr.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS uinttostr.$ac_objext" : : : : : { echo "$as_me:$LINENO: checking whether inttypes.h conforms to C99" >&5 echo $ECHO_N "checking whether inttypes.h conforms to C99... $ECHO_C" >&6; } if test "${gl_cv_header_working_inttypes_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_header_working_inttypes_h=no if test "$gl_cv_header_working_stdint_h" = yes \ && test $ac_cv_header_inttypes_h = yes \ && test "$ac_cv_have_decl_imaxabs" = yes \ && test "$ac_cv_have_decl_imaxdiv" = yes \ && test "$ac_cv_have_decl_strtoimax" = yes \ && test "$ac_cv_have_decl_strtoumax" = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_FORMAT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* work if build isn't clean */ #include /* No need to duplicate the tests of stdint.m4; they are subsumed by $gl_cv_header_working_stdint_h = yes. */ /* Tests for macros supposed to be defined in inttypes.h. */ const char *k = /* implicit string concatenation */ #ifdef INT8_MAX PRId8 PRIi8 #endif #ifdef UINT8_MAX PRIo8 PRIu8 PRIx8 PRIX8 #endif #ifdef INT16_MAX PRId16 PRIi16 #endif #ifdef UINT16_MAX PRIo16 PRIu16 PRIx16 PRIX16 #endif #ifdef INT32_MAX PRId32 PRIi32 #endif #ifdef UINT32_MAX PRIo32 PRIu32 PRIx32 PRIX32 #endif #ifdef INT64_MAX PRId64 PRIi64 #endif #ifdef UINT64_MAX PRIo64 PRIu64 PRIx64 PRIX64 #endif PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8 PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16 PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32 PRIdLEAST64 PRIiLEAST64 PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64 PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8 PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16 PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32 PRIdFAST64 PRIiFAST64 PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64 PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX #ifdef INTPTR_MAX PRIdPTR PRIiPTR #endif #ifdef UINTPTR_MAX PRIoPTR PRIuPTR PRIxPTR PRIXPTR #endif ; const char *l = /* implicit string concatenation */ #ifdef INT8_MAX SCNd8 SCNi8 #endif #ifdef UINT8_MAX SCNo8 SCNu8 SCNx8 #endif #ifdef INT16_MAX SCNd16 SCNi16 #endif #ifdef UINT16_MAX SCNo16 SCNu16 SCNx16 #endif #ifdef INT32_MAX SCNd32 SCNi32 #endif #ifdef UINT32_MAX SCNo32 SCNu32 SCNx32 #endif #ifdef INT64_MAX SCNd64 SCNi64 #endif #ifdef UINT64_MAX SCNo64 SCNu64 SCNx64 #endif SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8 SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16 SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32 SCNdLEAST64 SCNiLEAST64 SCNoLEAST64 SCNuLEAST64 SCNxLEAST64 SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8 SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16 SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32 SCNdFAST64 SCNiFAST64 SCNoFAST64 SCNuFAST64 SCNxFAST64 SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX #ifdef INTPTR_MAX SCNdPTR SCNiPTR #endif #ifdef UINTPTR_MAX SCNoPTR SCNuPTR SCNxPTR #endif ; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_working_inttypes_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_header_working_inttypes_h" >&5 echo "${ECHO_T}$gl_cv_header_working_inttypes_h" >&6; } if false && test $gl_cv_header_working_inttypes_h = yes; then INTTYPES_H='' else if test $gl_cv_have_include_next = yes; then gl_cv_next_inttypes_h='<'inttypes.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_inttypes_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_inttypes_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_inttypes_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/inttypes.h#{ s#.*"\(.*/inttypes.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_inttypes_h='<'inttypes.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_inttypes_h" >&5 echo "${ECHO_T}$gl_cv_next_inttypes_h" >&6; } fi NEXT_INTTYPES_H=$gl_cv_next_inttypes_h cat >>confdefs.h <<\_ACEOF #define GL_TRIGGER_STDC_LIMIT_MACROS 1 _ACEOF PRIPTR_PREFIX= if test -n "$STDINT_H"; then PRIPTR_PREFIX='"l"' else for glpfx in '' l ll I64; do case $glpfx in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; I64) gltype1='__int64';; esac cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include extern intptr_t foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then PRIPTR_PREFIX='"'$glpfx'"' else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test -n "$PRIPTR_PREFIX" && break done fi if test "$ac_cv_have_decl_imaxabs" = yes; then HAVE_DECL_IMAXABS=1 else HAVE_DECL_IMAXABS=0 fi if test "$ac_cv_have_decl_imaxdiv" = yes; then HAVE_DECL_IMAXDIV=1 else HAVE_DECL_IMAXDIV=0 fi if test "$ac_cv_have_decl_strtoimax" = yes; then HAVE_DECL_STRTOIMAX=1 else HAVE_DECL_STRTOIMAX=0 fi if test "$ac_cv_have_decl_strtoumax" = yes; then HAVE_DECL_STRTOUMAX=1 else HAVE_DECL_STRTOUMAX=0 fi { echo "$as_me:$LINENO: checking whether INT32_MAX < INTMAX_MAX" >&5 echo $ECHO_N "checking whether INT32_MAX < INTMAX_MAX... $ECHO_C" >&6; } if test "${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if defined INT32_MAX && defined INTMAX_MAX #define CONDITION (INT32_MAX < INTMAX_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (int) < sizeof (long long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5 echo "${ECHO_T}$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; } if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then INT32_MAX_LT_INTMAX_MAX=1; else INT32_MAX_LT_INTMAX_MAX=0; fi { echo "$as_me:$LINENO: checking whether INT64_MAX == LONG_MAX" >&5 echo $ECHO_N "checking whether INT64_MAX == LONG_MAX... $ECHO_C" >&6; } if test "${gl_cv_test_INT64_MAX_EQ_LONG_MAX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if defined INT64_MAX #define CONDITION (INT64_MAX == LONG_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (long long int) == sizeof (long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_test_INT64_MAX_EQ_LONG_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5 echo "${ECHO_T}$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; } if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then INT64_MAX_EQ_LONG_MAX=1; else INT64_MAX_EQ_LONG_MAX=0; fi { echo "$as_me:$LINENO: checking whether UINT32_MAX < UINTMAX_MAX" >&5 echo $ECHO_N "checking whether UINT32_MAX < UINTMAX_MAX... $ECHO_C" >&6; } if test "${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if defined UINT32_MAX && defined UINTMAX_MAX #define CONDITION (UINT32_MAX < UINTMAX_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5 echo "${ECHO_T}$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; } if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then UINT32_MAX_LT_UINTMAX_MAX=1; else UINT32_MAX_LT_UINTMAX_MAX=0; fi { echo "$as_me:$LINENO: checking whether UINT64_MAX == ULONG_MAX" >&5 echo $ECHO_N "checking whether UINT64_MAX == ULONG_MAX... $ECHO_C" >&6; } if test "${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Work also in C++ mode. */ #define __STDC_LIMIT_MACROS 1 /* Work if build is not clean. */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H #include #if HAVE_STDINT_H #include #endif #if defined UINT64_MAX #define CONDITION (UINT64_MAX == ULONG_MAX) #elif HAVE_LONG_LONG_INT #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int)) #else #define CONDITION 0 #endif int test[CONDITION ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5 echo "${ECHO_T}$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; } if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then UINT64_MAX_EQ_ULONG_MAX=1; else UINT64_MAX_EQ_ULONG_MAX=0; fi INTTYPES_H='inttypes.h' fi # OpenVMS has isapipe already, so check for it. for ac_func in isapipe do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_isapipe = no; then { echo "$as_me:$LINENO: checking whether pipes are FIFOs (and for their link count)" >&5 echo $ECHO_N "checking whether pipes are FIFOs (and for their link count)... $ECHO_C" >&6; } if test "${gl_cv_pipes_are_fifos+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_pipes_are_fifos=cross-compiling else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #ifndef S_ISFIFO #define S_ISFIFO(m) 0 #endif #ifndef S_ISSOCK #define S_ISSOCK(m) 0 #endif int main (int argc, char **argv) { int fd[2]; struct stat st; if (pipe (fd) != 0 || fstat (fd[0], &st) != 0) return 1; if (2 <= argc && argv[1][0] == '-') { char const *yesno = (S_ISFIFO (st.st_mode) ? "yes" : "no"); if (st.st_nlink <= 1) { long int i = st.st_nlink; if (i != st.st_nlink) return 1; printf ("%s (%ld)\n", yesno, i); } else { unsigned long int i = st.st_nlink; if (i != st.st_nlink) return 1; printf ("%s (%lu)\n", yesno, i); } } else { if (! S_ISFIFO (st.st_mode) && ! S_ISSOCK (st.st_mode)) return 1; } return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_pipes_are_fifos=`./conftest$ac_exeext -` test -z "$gl_cv_pipes_are_fifos" && gl_cv_pipes_are_fifos=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_pipes_are_fifos=unknown fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_pipes_are_fifos" >&5 echo "${ECHO_T}$gl_cv_pipes_are_fifos" >&6; } case $gl_cv_pipes_are_fifos in #( 'yes ('*')') cat >>confdefs.h <<\_ACEOF #define HAVE_FIFO_PIPES 1 _ACEOF ;; #( 'no ('*')') cat >>confdefs.h <<\_ACEOF #define HAVE_FIFO_PIPES 0 _ACEOF ;; esac case $gl_cv_pipes_are_fifos in #( *'('*')') cat >>confdefs.h <<_ACEOF #define PIPE_LINK_COUNT_MAX `expr "$gl_cv_pipes_are_fifos" : '.*\((.*)\)'` _ACEOF ;; esac fi { echo "$as_me:$LINENO: checking whether isnan(double) can be used without linking with libm" >&5 echo $ECHO_N "checking whether isnan(double) can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_isnand_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if __GNUC__ >= 4 # undef isnand # define isnand(x) __builtin_isnan ((double)(x)) #else # undef isnand # define isnand(x) isnan ((double)(x)) #endif double x; int main () { return isnand (x); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_isnand_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_isnand_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_isnand_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_isnand_no_libm" >&6; } if test $gl_cv_func_isnand_no_libm = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ISNAND_IN_LIBC 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS isnand.$ac_objext" { echo "$as_me:$LINENO: checking where to find the exponent in a 'double'" >&5 echo $ECHO_N "checking where to find the exponent in a 'double'... $ECHO_C" >&6; } if test "${gl_cv_cc_double_expbit0+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined arm || defined __arm || defined __arm__ mixed_endianness #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "mixed_endianness" >/dev/null 2>&1; then gl_cv_cc_double_expbit0="unknown" else : if test "${ac_cv_c_bigendian+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_bigendian=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # It does not; compile a test program. if test "$cross_compiling" = yes; then # try to guess the endianness by grepping values into an object file ac_cv_c_bigendian=unknown cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } int main () { _ascii (); _ebcdic (); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi : case $ac_cv_c_bigendian in yes) gl_cv_cc_double_expbit0="word 0 bit 20" ;; no) gl_cv_cc_double_expbit0="word 1 bit 20" ;; *) gl_cv_cc_double_expbit0="unknown" ;; esac fi rm -f conftest* else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (double x) { memory_double m; size_t i; /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ memset (&m, 0, sizeof (memory_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25); add_to_ored_words (0.5); add_to_ored_words (1.0); add_to_ored_words (2.0); add_to_ored_words (4.0); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_cc_double_expbit0=`cat conftest.out` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_cc_double_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.out fi { echo "$as_me:$LINENO: result: $gl_cv_cc_double_expbit0" >&5 echo "${ECHO_T}$gl_cv_cc_double_expbit0" >&6; } case "$gl_cv_cc_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define DBL_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define DBL_EXPBIT0_BIT $bit _ACEOF ;; esac fi { echo "$as_me:$LINENO: checking whether isnan(float) can be used without linking with libm" >&5 echo $ECHO_N "checking whether isnan(float) can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_isnanf_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if __GNUC__ >= 4 # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) #elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) #endif float x; int main () { return isnanf (x); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_isnanf_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_isnanf_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_isnanf_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_isnanf_no_libm" >&6; } if test $gl_cv_func_isnanf_no_libm = yes; then { echo "$as_me:$LINENO: checking whether isnan(float) works" >&5 echo $ECHO_N "checking whether isnan(float) works... $ECHO_C" >&6; } if test "${gl_cv_func_isnanf_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in irix* | solaris*) gl_cv_func_isnanf_works="guessing no";; *) gl_cv_func_isnanf_works="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if __GNUC__ >= 4 # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) #elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) #endif /* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ #ifdef __DECC static float NaN () { static float zero = 0.0f; return zero / zero; } #else # define NaN() (0.0f / 0.0f) #endif #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { unsigned int word[NWORDS]; float value; } memory_float; int main() { memory_float m; if (isnanf (1.0f / 0.0f)) return 1; if (!isnanf (NaN ())) return 1; #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT /* The isnanf function should be immune against changes in the sign bit and in the mantissa bits. The xor operation twiddles a bit that can only be a sign bit or a mantissa bit. */ if (FLT_EXPBIT0_WORD == 0 && FLT_EXPBIT0_BIT > 0) { m.value = NaN (); /* Set the bits below the exponent to 01111...111. */ m.word[0] &= -1U << FLT_EXPBIT0_BIT; m.word[0] |= 1U << (FLT_EXPBIT0_BIT - 1) - 1; if (!isnanf (m.value)) return 1; } #endif return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_isnanf_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_isnanf_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_isnanf_works" >&5 echo "${ECHO_T}$gl_cv_func_isnanf_works" >&6; } fi if test $gl_cv_func_isnanf_no_libm = yes \ && { case "$gl_cv_func_isnanf_works" in *yes) true;; *) false;; esac }; then cat >>confdefs.h <<\_ACEOF #define HAVE_ISNANF_IN_LIBC 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS isnanf.$ac_objext" { echo "$as_me:$LINENO: checking where to find the exponent in a 'float'" >&5 echo $ECHO_N "checking where to find the exponent in a 'float'... $ECHO_C" >&6; } if test "${gl_cv_cc_float_expbit0+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_cc_float_expbit0="word 0 bit 23" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (float x) { memory_float m; size_t i; /* Clear it first, in case sizeof (float) < sizeof (memory_float). */ memset (&m, 0, sizeof (memory_float)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25f); add_to_ored_words (0.5f); add_to_ored_words (1.0f); add_to_ored_words (2.0f); add_to_ored_words (4.0f); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_cc_float_expbit0=`cat conftest.out` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_cc_float_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.out fi { echo "$as_me:$LINENO: result: $gl_cv_cc_float_expbit0" >&5 echo "${ECHO_T}$gl_cv_cc_float_expbit0" >&6; } case "$gl_cv_cc_float_expbit0" in word*bit*) word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_BIT $bit _ACEOF ;; esac fi { echo "$as_me:$LINENO: checking whether isnan(long double) can be used without linking with libm" >&5 echo $ECHO_N "checking whether isnan(long double) can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_isnanl_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if __GNUC__ >= 4 # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) #elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) #endif long double x; int main () { return isnanl (x); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_isnanl_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_isnanl_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_isnanl_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_isnanl_no_libm" >&6; } gl_func_isnanl_no_libm=$gl_cv_func_isnanl_no_libm if test $gl_func_isnanl_no_libm = yes; then { echo "$as_me:$LINENO: checking whether isnanl works" >&5 echo $ECHO_N "checking whether isnanl works... $ECHO_C" >&6; } if test "${gl_cv_func_isnanl_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_cpu" in # Guess no on ia64, x86_64, i386. ia64 | x86_64 | i*86) gl_cv_func_isnanl_works="guessing no";; *) case "$host_os" in netbsd*) gl_cv_func_isnanl_works="guessing no";; *) gl_cv_func_isnanl_works="guessing yes";; esac ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #if __GNUC__ >= 4 # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) #elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) #endif #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { unsigned int word[NWORDS]; long double value; } memory_long_double; int main () { memory_long_double m; unsigned int i; /* gcc-3.4.3 on IRIX 6.5 appears to have a problem with this. */ if (!isnanl (0.0L / 0.0L)) return 1; /* The isnanl function should be immune against changes in the sign bit and in the mantissa bits. The xor operation twiddles a bit that can only be a sign bit or a mantissa bit (since the exponent never extends to bit 31). */ m.value = 0.0L / 0.0L; m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1); for (i = 0; i < NWORDS; i++) m.word[i] |= 1; if (!isnanl (m.value)) return 1; #if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) /* Representation of an 80-bit 'long double' as an initializer for a sequence of 'unsigned int' words. */ # ifdef WORDS_BIGENDIAN # define LDBL80_WORDS(exponent,manthi,mantlo) \ { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \ ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16), \ (unsigned int) (mantlo) << 16 \ } # else # define LDBL80_WORDS(exponent,manthi,mantlo) \ { mantlo, manthi, exponent } # endif { /* Quiet NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) }; if (!isnanl (x.value)) return 1; } { /* Signalling NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) }; if (!isnanl (x.value)) return 1; } /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in Intel IA-64 Architecture Software Developer's Manual, Volume 1: Application Architecture. Table 5-2 "Floating-Point Register Encodings" Figure 5-6 "Memory to Floating-Point Register Data Translation" */ { /* Pseudo-NaN. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) }; if (!isnanl (x.value)) return 1; } { /* Pseudo-Infinity. */ static memory_long_double x = { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) }; if (!isnanl (x.value)) return 1; } { /* Pseudo-Zero. */ static memory_long_double x = { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) }; if (!isnanl (x.value)) return 1; } { /* Unnormalized number. */ static memory_long_double x = { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) }; if (!isnanl (x.value)) return 1; } { /* Pseudo-Denormal. */ static memory_long_double x = { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) }; if (!isnanl (x.value)) return 1; } #endif return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_isnanl_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_isnanl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_isnanl_works" >&5 echo "${ECHO_T}$gl_cv_func_isnanl_works" >&6; } case "$gl_cv_func_isnanl_works" in *yes) ;; *) gl_func_isnanl_no_libm=no ;; esac fi if test $gl_func_isnanl_no_libm = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ISNANL_IN_LIBC 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS isnanl.$ac_objext" { echo "$as_me:$LINENO: checking where to find the exponent in a 'long double'" >&5 echo $ECHO_N "checking where to find the exponent in a 'long double'... $ECHO_C" >&6; } if test "${gl_cv_cc_long_double_expbit0+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_cc_long_double_expbit0="unknown" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { long double value; unsigned int word[NWORDS]; } memory_long_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (long double x) { memory_long_double m; size_t i; /* Clear it first, in case sizeof (long double) < sizeof (memory_long_double). */ memset (&m, 0, sizeof (memory_long_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25L); add_to_ored_words (0.5L); add_to_ored_words (1.0L); add_to_ored_words (2.0L); add_to_ored_words (4.0L); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_cc_long_double_expbit0=`cat conftest.out` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_cc_long_double_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.out fi { echo "$as_me:$LINENO: result: $gl_cv_cc_long_double_expbit0" >&5 echo "${ECHO_T}$gl_cv_cc_long_double_expbit0" >&6; } case "$gl_cv_cc_long_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define LDBL_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define LDBL_EXPBIT0_BIT $bit _ACEOF ;; esac fi for ac_func in lchown do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_lchown = no; then REPLACE_LCHOWN=1 fi GNULIB_LCHOWN=1 { echo "$as_me:$LINENO: checking for flag to ignore unused libraries" >&5 echo $ECHO_N "checking for flag to ignore unused libraries... $ECHO_C" >&6; } if test "${gl_cv_ignore_unused_libraries+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_ignore_unused_libraries=none gl_saved_ldflags=$LDFLAGS gl_saved_libs=$LIBS # Link with -lm to detect binutils 2.16 bug with --as-needed; see # . LIBS="$LIBS -lm" # Use long option sequences like '-z ignore' to test for the feature, # to forestall problems with linkers that have -z, -i, -g, -n, etc. flags. # GCC + binutils likes '-Wl,--as-needed'. # GCC + Solaris ld likes '-Wl,-z,ignore'. # Sun C likes '-z ignore'. # Don't try bare '--as-needed'; nothing likes it and the HP-UX 11.11 # native cc issues annoying warnings and then ignores it, # which would cause us to incorrectly conclude that it worked. for gl_flags in \ '-Wl,--as-needed' \ '-Wl,-z,ignore' \ '-z ignore' do LDFLAGS="$gl_flags $LDFLAGS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_ignore_unused_libraries=$gl_flags else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$gl_saved_ldflags test "$gl_cv_ignore_unused_libraries" != none && break done LIBS=$gl_saved_libs fi { echo "$as_me:$LINENO: result: $gl_cv_ignore_unused_libraries" >&5 echo "${ECHO_T}$gl_cv_ignore_unused_libraries" >&6; } test "$gl_cv_ignore_unused_libraries" != none && LDFLAGS="$LDFLAGS $gl_cv_ignore_unused_libraries" { echo "$as_me:$LINENO: checking whether link(2) dereferences a symlink specified with a trailing slash" >&5 echo $ECHO_N "checking whether link(2) dereferences a symlink specified with a trailing slash... $ECHO_C" >&6; } if test "${gl_ac_cv_func_link_follows_symlink+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Create a regular file. echo > conftest.file if test "$cross_compiling" = yes; then gl_ac_cv_func_link_follows_symlink=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include # include # include # include # define SAME_INODE(Stat_buf_1, Stat_buf_2) \ ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev) int main () { const char *file = "conftest.file"; const char *sym = "conftest.sym"; const char *hard = "conftest.hard"; struct stat sb_file, sb_hard; /* Create a symlink to the regular file. */ if (symlink (file, sym)) abort (); /* Create a hard link to that symlink. */ if (link (sym, hard)) abort (); if (lstat (hard, &sb_hard)) abort (); if (lstat (file, &sb_file)) abort (); /* If the dev/inode of hard and file are the same, then the link call followed the symlink. */ return SAME_INODE (sb_hard, sb_file) ? 0 : 1; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_ac_cv_func_link_follows_symlink=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_ac_cv_func_link_follows_symlink=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_ac_cv_func_link_follows_symlink" >&5 echo "${ECHO_T}$gl_ac_cv_func_link_follows_symlink" >&6; } if test $gl_ac_cv_func_link_follows_symlink = yes; then cat >>confdefs.h <<\_ACEOF #define LINK_FOLLOWS_SYMLINKS 1 _ACEOF fi LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\"" gl_LIBOBJS="$gl_LIBOBJS long-options.$ac_objext" { echo "$as_me:$LINENO: checking whether lseek detects pipes" >&5 echo $ECHO_N "checking whether lseek detects pipes... $ECHO_C" >&6; } if test "${gl_cv_func_lseek_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $cross_compiling = no; then cat >conftest.$ac_ext <<_ACEOF #include /* for off_t */ #include /* for SEEK_CUR */ #include int main () { /* Exit with success only if stdin is seekable. */ return lseek (0, (off_t)0, SEEK_CUR) < 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then if test -s conftest$ac_exeext \ && ./conftest$ac_exeext < conftest.$ac_ext \ && { echo hi | ./conftest$ac_exeext; test $? = 1; }; then gl_cv_func_lseek_pipe=yes else gl_cv_func_lseek_pipe=no fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_lseek_pipe=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF #if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) || defined __BEOS__ /* mingw and BeOS mistakenly return 0 when trying to seek on pipes. */ Choke me. #endif _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_func_lseek_pipe=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_lseek_pipe=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_lseek_pipe" >&5 echo "${ECHO_T}$gl_cv_func_lseek_pipe" >&6; } if test $gl_cv_func_lseek_pipe = no; then gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext" REPLACE_LSEEK=1 cat >>confdefs.h <<\_ACEOF #define LSEEK_PIPE_BROKEN 1 _ACEOF fi GNULIB_LSEEK=1 { echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5 echo $ECHO_N "checking whether lstat dereferences a symlink specified with a trailing slash... $ECHO_C" >&6; } if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -f conftest.sym conftest.file echo >conftest.file if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then if test "$cross_compiling" = yes; then ac_cv_func_lstat_dereferences_slashed_symlink=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; /* Linux will dereference the symlink and fail. That is better in the sense that it means we will not have to compile and use the lstat wrapper. */ return lstat ("conftest.sym/", &sbuf) == 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_lstat_dereferences_slashed_symlink=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi else # If the `ln -s' command failed, then we probably don't even # have an lstat function. ac_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f conftest.sym conftest.file fi { echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 echo "${ECHO_T}$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && cat >>confdefs.h <<_ACEOF #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 _ACEOF if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext" fi : for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6; } if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_malloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_malloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC 0 _ACEOF gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" cat >>confdefs.h <<\_ACEOF #define malloc rpl_malloc _ACEOF fi cat >>confdefs.h <<\_ACEOF #define GNULIB_MALLOC_GNU 1 _ACEOF if test $gl_cv_func_malloc_posix = yes; then HAVE_MALLOC_POSIX=1 cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC_POSIX 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext" HAVE_MALLOC_POSIX=0 fi GNULIB_MALLOC_POSIX=1 if test $gl_cv_have_include_next = yes; then gl_cv_next_math_h='<'math.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_math_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_math_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_math_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/math.h#{ s#.*"\(.*/math.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_math_h='<'math.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_math_h" >&5 echo "${ECHO_T}$gl_cv_next_math_h" >&6; } fi NEXT_MATH_H=$gl_cv_next_math_h { echo "$as_me:$LINENO: checking whether NAN macro works" >&5 echo $ECHO_N "checking whether NAN macro works... $ECHO_C" >&6; } if test "${gl_cv_header_math_nan_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { /* Solaris 10 has a broken definition of NAN. Other platforms fail to provide NAN, or provide it only in C99 mode; this test only needs to fail when NAN is provided but wrong. */ float f = 1.0f; #ifdef NAN f = NAN; #endif return f == 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_math_nan_works=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_math_nan_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_math_nan_works" >&5 echo "${ECHO_T}$gl_cv_header_math_nan_works" >&6; } if test $gl_cv_header_math_nan_works = no; then REPLACE_NAN=1 fi { echo "$as_me:$LINENO: checking whether HUGE_VAL works" >&5 echo $ECHO_N "checking whether HUGE_VAL works... $ECHO_C" >&6; } if test "${gl_cv_header_math_huge_val_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { /* Solaris 10 has a broken definition of HUGE_VAL. */ double d = HUGE_VAL; return d == 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_math_huge_val_works=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_math_huge_val_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_math_huge_val_works" >&5 echo "${ECHO_T}$gl_cv_header_math_huge_val_works" >&6; } if test $gl_cv_header_math_huge_val_works = no; then REPLACE_HUGE_VAL=1 fi : : GNULIB_MBSCASECMP=1 : GNULIB_MBSLEN=1 : GNULIB_MBSSTR=1 { echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5 echo $ECHO_N "checking whether mbrtowc and mbstate_t are properly declared... $ECHO_C" >&6; } if test "${gl_cv_func_mbrtowc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { wchar_t wc; char const s[] = ""; size_t n = 1; mbstate_t state; return ! (sizeof state && (mbrtowc) (&wc, s, n, &state)); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_mbrtowc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_mbrtowc=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc" >&5 echo "${ECHO_T}$gl_cv_func_mbrtowc" >&6; } if test $gl_cv_func_mbrtowc = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MBRTOWC 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether mbswidth is declared in " >&5 echo $ECHO_N "checking whether mbswidth is declared in ... $ECHO_C" >&6; } if test "${ac_cv_have_decl_mbswidth+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { char *p = (char *) mbswidth; return !p; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_mbswidth=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_mbswidth=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_mbswidth" >&5 echo "${ECHO_T}$ac_cv_have_decl_mbswidth" >&6; } if test $ac_cv_have_decl_mbswidth = yes; then ac_val=1 else ac_val=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MBSWIDTH_IN_WCHAR_H $ac_val _ACEOF { echo "$as_me:$LINENO: checking for mbstate_t" >&5 echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6; } if test "${ac_cv_type_mbstate_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default # include int main () { mbstate_t x; return sizeof x; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_mbstate_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_mbstate_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_mbstate_t" >&5 echo "${ECHO_T}$ac_cv_type_mbstate_t" >&6; } if test $ac_cv_type_mbstate_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MBSTATE_T 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define mbstate_t int _ACEOF fi : gl_LIBOBJS="$gl_LIBOBJS memcasecmp.$ac_objext" for ac_func in memchr do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_memchr = no; then for ac_header in bp-sym.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done fi if test $cross_compiling != no; then # AC_FUNC_MEMCMP as of 2.62 defaults to 'no' when cross compiling. # We default to yes if memcmp appears to exist, which works # better for MinGW. { echo "$as_me:$LINENO: checking whether cross-compiling target has memcmp" >&5 echo $ECHO_N "checking whether cross-compiling target has memcmp... $ECHO_C" >&6; } if test "${ac_cv_func_memcmp_working+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int ret = memcmp ("foo", "bar", 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_memcmp_working=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_memcmp_working=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6; } fi { echo "$as_me:$LINENO: checking for working memcmp" >&5 echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6; } if test "${ac_cv_func_memcmp_working+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_memcmp_working=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* Some versions of memcmp are not 8-bit clean. */ char c0 = '\100', c1 = '\200', c2 = '\201'; if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) return 1; /* The Next x86 OpenStep bug shows up only when comparing 16 bytes or more and with at least one buffer not starting on a 4-byte boundary. William Lewis provided this test program. */ { char foo[21]; char bar[21]; int i; for (i = 0; i < 4; i++) { char *a = foo + i; char *b = bar + i; strcpy (a, "--------01111111"); strcpy (b, "--------10000000"); if (memcmp (a, b, 16) >= 0) return 1; } return 0; } ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_memcmp_working=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_memcmp_working=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6; } test $ac_cv_func_memcmp_working = no && gl_LIBOBJS="$gl_LIBOBJS memcmp.$ac_objext" if test $ac_cv_func_memcmp_working = no; then cat >>confdefs.h <<\_ACEOF #define memcmp rpl_memcmp _ACEOF : fi gl_LIBOBJS="$gl_LIBOBJS memcoll.$ac_objext" { echo "$as_me:$LINENO: checking for working strcoll" >&5 echo $ECHO_N "checking for working strcoll... $ECHO_C" >&6; } if test "${ac_cv_func_strcoll_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_strcoll_works=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { return (strcoll ("abc", "def") >= 0 || strcoll ("ABC", "DEF") >= 0 || strcoll ("123", "456") >= 0) ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_strcoll_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_strcoll_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_strcoll_works" >&5 echo "${ECHO_T}$ac_cv_func_strcoll_works" >&6; } if test $ac_cv_func_strcoll_works = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STRCOLL 1 _ACEOF fi for ac_func in memcpy do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_memcpy = no; then : fi for ac_func in memmove do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_memmove = no; then : fi for ac_func in mempcpy do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_mempcpy = no; then HAVE_MEMPCPY=0 : fi GNULIB_MEMPCPY=1 if test $ac_cv_have_decl_memrchr = no; then HAVE_DECL_MEMRCHR=0 fi for ac_func in memrchr do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_memrchr = no; then : fi GNULIB_MEMRCHR=1 for ac_func in memset do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_memset = no; then : fi gl_LIBOBJS="$gl_LIBOBJS mkancesdirs.$ac_objext" { echo "$as_me:$LINENO: checking whether mkdir fails due to a trailing slash" >&5 echo $ECHO_N "checking whether mkdir fails due to a trailing slash... $ECHO_C" >&6; } if test "${gl_cv_func_mkdir_trailing_slash_bug+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Arrange for deletion of the temporary directory this test might create. ac_clean_files="$ac_clean_files confdir-slash" if test "$cross_compiling" = yes; then gl_cv_func_mkdir_trailing_slash_bug=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include # include # include # ifdef HAVE_UNISTD_H # include # endif int main () { rmdir ("confdir-slash"); exit (mkdir ("confdir-slash/", 0700)); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_mkdir_trailing_slash_bug=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_mkdir_trailing_slash_bug=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_mkdir_trailing_slash_bug" >&5 echo "${ECHO_T}$gl_cv_func_mkdir_trailing_slash_bug" >&6; } if test $gl_cv_func_mkdir_trailing_slash_bug = yes; then REPLACE_MKDIR=1 gl_LIBOBJS="$gl_LIBOBJS mkdir.$ac_objext" : fi gl_LIBOBJS="$gl_LIBOBJS dirchownmod.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS mkdir-p.$ac_objext" { echo "$as_me:$LINENO: checking for working mkstemp" >&5 echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6; } if test "${gl_cv_func_working_mkstemp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else mkdir conftest.mkstemp if test "$cross_compiling" = yes; then gl_cv_func_working_mkstemp=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { int i; off_t large = (off_t) 4294967295u; if (large < 0) large = 2147483647; for (i = 0; i < 70; i++) { char templ[] = "conftest.mkstemp/coXXXXXX"; int (*mkstemp_function) (char *) = mkstemp; int fd = mkstemp_function (templ); if (fd < 0 || lseek (fd, large, SEEK_SET) != large) return 1; close (fd); } return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_working_mkstemp=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_working_mkstemp=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -rf conftest.mkstemp fi { echo "$as_me:$LINENO: result: $gl_cv_func_working_mkstemp" >&5 echo "${ECHO_T}$gl_cv_func_working_mkstemp" >&6; } if test $gl_cv_func_working_mkstemp != yes; then REPLACE_MKSTEMP=1 gl_LIBOBJS="$gl_LIBOBJS mkstemp.$ac_objext" fi GNULIB_MKSTEMP=1 { echo "$as_me:$LINENO: checking for working mktime" >&5 echo $ECHO_N "checking for working mktime... $ECHO_C" >&6; } if test "${ac_cv_func_working_mktime+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_working_mktime=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Test program from Paul Eggert and Tony Leneis. */ #include #include #include #ifdef HAVE_UNISTD_H # include #endif #ifndef HAVE_ALARM # define alarm(X) /* empty */ #endif /* Work around redefinition to rpl_putenv by other config tests. */ #undef putenv static time_t time_t_max; static time_t time_t_min; /* Values we'll use to set the TZ environment variable. */ static char *tz_strings[] = { (char *) 0, "TZ=GMT0", "TZ=JST-9", "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" }; #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) /* Return 0 if mktime fails to convert a date in the spring-forward gap. Based on a problem report from Andreas Jaeger. */ static int spring_forward_gap () { /* glibc (up to about 1998-10-07) failed this test. */ struct tm tm; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); tm.tm_year = 98; tm.tm_mon = 3; tm.tm_mday = 5; tm.tm_hour = 2; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; return mktime (&tm) != (time_t) -1; } static int mktime_test1 (now) time_t now; { struct tm *lt; return ! (lt = localtime (&now)) || mktime (lt) == now; } static int mktime_test (now) time_t now; { return (mktime_test1 (now) && mktime_test1 ((time_t) (time_t_max - now)) && mktime_test1 ((time_t) (time_t_min + now))); } static int irix_6_4_bug () { /* Based on code from Ariel Faigon. */ struct tm tm; tm.tm_year = 96; tm.tm_mon = 3; tm.tm_mday = 0; tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; mktime (&tm); return tm.tm_mon == 2 && tm.tm_mday == 31; } static int bigtime_test (j) int j; { struct tm tm; time_t now; tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; now = mktime (&tm); if (now != (time_t) -1) { struct tm *lt = localtime (&now); if (! (lt && lt->tm_year == tm.tm_year && lt->tm_mon == tm.tm_mon && lt->tm_mday == tm.tm_mday && lt->tm_hour == tm.tm_hour && lt->tm_min == tm.tm_min && lt->tm_sec == tm.tm_sec && lt->tm_yday == tm.tm_yday && lt->tm_wday == tm.tm_wday && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) return 0; } return 1; } static int year_2050_test () { /* The correct answer for 2050-02-01 00:00:00 in Pacific time, ignoring leap seconds. */ unsigned long int answer = 2527315200UL; struct tm tm; time_t t; tm.tm_year = 2050 - 1900; tm.tm_mon = 2 - 1; tm.tm_mday = 1; tm.tm_hour = tm.tm_min = tm.tm_sec = 0; tm.tm_isdst = -1; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); t = mktime (&tm); /* Check that the result is either a failure, or close enough to the correct answer that we can assume the discrepancy is due to leap seconds. */ return (t == (time_t) -1 || (0 < t && answer - 120 <= t && t <= answer + 120)); } int main () { time_t t, delta; int i, j; /* This test makes some buggy mktime implementations loop. Give up after 60 seconds; a mktime slower than that isn't worth using anyway. */ alarm (60); for (;;) { t = (time_t_max << 1) + 1; if (t <= time_t_max) break; time_t_max = t; } time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max; delta = time_t_max / 997; /* a suitable prime number */ for (i = 0; i < N_STRINGS; i++) { if (tz_strings[i]) putenv (tz_strings[i]); for (t = 0; t <= time_t_max - delta; t += delta) if (! mktime_test (t)) return 1; if (! (mktime_test ((time_t) 1) && mktime_test ((time_t) (60 * 60)) && mktime_test ((time_t) (60 * 60 * 24)))) return 1; for (j = 1; ; j <<= 1) if (! bigtime_test (j)) return 1; else if (INT_MAX / 2 < j) break; if (! bigtime_test (INT_MAX)) return 1; } return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ()); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_working_mktime=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_working_mktime=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_working_mktime" >&5 echo "${ECHO_T}$ac_cv_func_working_mktime" >&6; } if test $ac_cv_func_working_mktime = no; then gl_LIBOBJS="$gl_LIBOBJS mktime.$ac_objext" fi if test $ac_cv_func_working_mktime = no; then cat >>confdefs.h <<\_ACEOF #define mktime rpl_mktime _ACEOF fi gl_LIBOBJS="$gl_LIBOBJS modechange.$ac_objext" for ac_func in listmntent getmntinfo do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses # NGROUPS (as the array dimension for a struct member) without a definition. for ac_header in sys/ucred.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/mount.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #if HAVE_SYS_PARAM_H #include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in mntent.h sys/fs_types.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done getfsstat_includes="\ $ac_includes_default #if HAVE_SYS_PARAM_H # include /* needed by powerpc-apple-darwin1.3.7 */ #endif #if HAVE_SYS_UCRED_H # include /* needed for definition of NGROUPS */ # include /* needed by powerpc-apple-darwin1.3.7 */ #endif #if HAVE_SYS_MOUNT_H # include #endif #if HAVE_SYS_FS_TYPES_H # include /* needed by powerpc-apple-darwin1.3.7 */ #endif " { echo "$as_me:$LINENO: checking for struct fsstat.f_fstypename" >&5 echo $ECHO_N "checking for struct fsstat.f_fstypename... $ECHO_C" >&6; } if test "${ac_cv_member_struct_fsstat_f_fstypename+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $getfsstat_includes int main () { static struct fsstat ac_aggr; if (ac_aggr.f_fstypename) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_fsstat_f_fstypename=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $getfsstat_includes int main () { static struct fsstat ac_aggr; if (sizeof ac_aggr.f_fstypename) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_fsstat_f_fstypename=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_fsstat_f_fstypename=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_fsstat_f_fstypename" >&5 echo "${ECHO_T}$ac_cv_member_struct_fsstat_f_fstypename" >&6; } if test $ac_cv_member_struct_fsstat_f_fstypename = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_FSSTAT_F_FSTYPENAME 1 _ACEOF fi # Determine how to get the list of mounted file systems. ac_list_mounted_fs= # If the getmntent function is available but not in the standard library, # make sure LIBS contains the appropriate -l option. # getmntent is in the standard C library on UNICOS, in -lsun on Irix 4, # -lseq on Dynix/PTX, -lgen on Unixware. { echo "$as_me:$LINENO: checking for library containing getmntent" >&5 echo $ECHO_N "checking for library containing getmntent... $ECHO_C" >&6; } if test "${ac_cv_search_getmntent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getmntent (); int main () { return getmntent (); ; return 0; } _ACEOF for ac_lib in '' sun seq gen; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_getmntent=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_getmntent+set}" = set; then break fi done if test "${ac_cv_search_getmntent+set}" = set; then : else ac_cv_search_getmntent=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_getmntent" >&5 echo "${ECHO_T}$ac_cv_search_getmntent" >&6; } ac_res=$ac_cv_search_getmntent if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi for ac_func in getmntent do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # This test must precede the ones for getmntent because Unicos-9 is # reported to have the getmntent function, but its support is incompatible # with other getmntent implementations. # NOTE: Normally, I wouldn't use a check for system type as I've done for # `CRAY' below since that goes against the whole autoconf philosophy. But # I think there is too great a chance that some non-Cray system has a # function named listmntent to risk the false positive. if test -z "$ac_list_mounted_fs"; then # Cray UNICOS 9 { echo "$as_me:$LINENO: checking for listmntent of Cray/Unicos-9" >&5 echo $ECHO_N "checking for listmntent of Cray/Unicos-9... $ECHO_C" >&6; } if test "${fu_cv_sys_mounted_cray_listmntent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else fu_cv_sys_mounted_cray_listmntent=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef _CRAY yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then test $ac_cv_func_listmntent = yes \ && fu_cv_sys_mounted_cray_listmntent=yes fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $fu_cv_sys_mounted_cray_listmntent" >&5 echo "${ECHO_T}$fu_cv_sys_mounted_cray_listmntent" >&6; } if test $fu_cv_sys_mounted_cray_listmntent = yes; then ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_LISTMNTENT 1 _ACEOF fi fi if test -z "$ac_list_mounted_fs"; then # AIX. { echo "$as_me:$LINENO: checking for mntctl function and struct vmount" >&5 echo $ECHO_N "checking for mntctl function and struct vmount... $ECHO_C" >&6; } if test "${fu_cv_sys_mounted_vmount+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then fu_cv_sys_mounted_vmount=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fu_cv_sys_mounted_vmount=no fi rm -f conftest.err conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $fu_cv_sys_mounted_vmount" >&5 echo "${ECHO_T}$fu_cv_sys_mounted_vmount" >&6; } if test $fu_cv_sys_mounted_vmount = yes; then ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_VMOUNT 1 _ACEOF fi fi if test $ac_cv_func_getmntent = yes; then # This system has the getmntent function. # Determine whether it's the one-argument variant or the two-argument one. if test -z "$ac_list_mounted_fs"; then # 4.3BSD, SunOS, HP-UX, Dynix, Irix { echo "$as_me:$LINENO: checking for one-argument getmntent function" >&5 echo $ECHO_N "checking for one-argument getmntent function... $ECHO_C" >&6; } if test "${fu_cv_sys_mounted_getmntent1+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */ #include #include #if !defined MOUNTED # if defined _PATH_MOUNTED /* GNU libc */ # define MOUNTED _PATH_MOUNTED # endif # if defined MNT_MNTTAB /* HP-UX. */ # define MOUNTED MNT_MNTTAB # endif # if defined MNTTABNAME /* Dynix. */ # define MOUNTED MNTTABNAME # endif #endif int main () { struct mntent *mnt = 0; char *table = MOUNTED; if (sizeof mnt && sizeof table) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then fu_cv_sys_mounted_getmntent1=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fu_cv_sys_mounted_getmntent1=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $fu_cv_sys_mounted_getmntent1" >&5 echo "${ECHO_T}$fu_cv_sys_mounted_getmntent1" >&6; } if test $fu_cv_sys_mounted_getmntent1 = yes; then ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_GETMNTENT1 1 _ACEOF fi fi if test -z "$ac_list_mounted_fs"; then # SVR4 { echo "$as_me:$LINENO: checking for two-argument getmntent function" >&5 echo $ECHO_N "checking for two-argument getmntent function... $ECHO_C" >&6; } if test "${fu_cv_sys_mounted_getmntent2+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "getmntent" >/dev/null 2>&1; then fu_cv_sys_mounted_getmntent2=yes else fu_cv_sys_mounted_getmntent2=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $fu_cv_sys_mounted_getmntent2" >&5 echo "${ECHO_T}$fu_cv_sys_mounted_getmntent2" >&6; } if test $fu_cv_sys_mounted_getmntent2 = yes; then ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_GETMNTENT2 1 _ACEOF for ac_func in hasmntopt do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi fi fi if test -z "$ac_list_mounted_fs"; then # DEC Alpha running OSF/1, and Apple Darwin 1.3. # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h { echo "$as_me:$LINENO: checking for getfsstat function" >&5 echo $ECHO_N "checking for getfsstat function... $ECHO_C" >&6; } if test "${fu_cv_sys_mounted_getfsstat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME # define FS_TYPE(Ent) ((Ent).f_fstypename) #else # define FS_TYPE(Ent) mnt_names[(Ent).f_type] #endif $getfsstat_includes int main () { struct statfs *stats; int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); char *t = FS_TYPE (*stats); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then fu_cv_sys_mounted_getfsstat=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fu_cv_sys_mounted_getfsstat=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $fu_cv_sys_mounted_getfsstat" >&5 echo "${ECHO_T}$fu_cv_sys_mounted_getfsstat" >&6; } if test $fu_cv_sys_mounted_getfsstat = yes; then ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_GETFSSTAT 1 _ACEOF fi fi if test -z "$ac_list_mounted_fs"; then # SVR3 { echo "$as_me:$LINENO: checking for FIXME existence of three headers" >&5 echo $ECHO_N "checking for FIXME existence of three headers... $ECHO_C" >&6; } if test "${fu_cv_sys_mounted_fread_fstyp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then fu_cv_sys_mounted_fread_fstyp=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fu_cv_sys_mounted_fread_fstyp=no fi rm -f conftest.err conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $fu_cv_sys_mounted_fread_fstyp" >&5 echo "${ECHO_T}$fu_cv_sys_mounted_fread_fstyp" >&6; } if test $fu_cv_sys_mounted_fread_fstyp = yes; then ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_FREAD_FSTYP 1 _ACEOF fi fi if test -z "$ac_list_mounted_fs"; then # 4.4BSD and DEC OSF/1. { echo "$as_me:$LINENO: checking for getmntinfo function" >&5 echo $ECHO_N "checking for getmntinfo function... $ECHO_C" >&6; } if test "${fu_cv_sys_mounted_getmntinfo+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else test "$ac_cv_func_getmntinfo" = yes \ && fu_cv_sys_mounted_getmntinfo=yes \ || fu_cv_sys_mounted_getmntinfo=no fi { echo "$as_me:$LINENO: result: $fu_cv_sys_mounted_getmntinfo" >&5 echo "${ECHO_T}$fu_cv_sys_mounted_getmntinfo" >&6; } if test $fu_cv_sys_mounted_getmntinfo = yes; then { echo "$as_me:$LINENO: checking whether getmntinfo returns statvfs structures" >&5 echo $ECHO_N "checking whether getmntinfo returns statvfs structures... $ECHO_C" >&6; } if test "${fu_cv_sys_mounted_getmntinfo2+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_SYS_PARAM_H # include #endif #include #if HAVE_SYS_MOUNT_H # include #endif #if HAVE_SYS_STATVFS_H # include #endif extern int getmntinfo (struct statfs **, int); int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then fu_cv_sys_mounted_getmntinfo2=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fu_cv_sys_mounted_getmntinfo2=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $fu_cv_sys_mounted_getmntinfo2" >&5 echo "${ECHO_T}$fu_cv_sys_mounted_getmntinfo2" >&6; } if test $fu_cv_sys_mounted_getmntinfo2 = no; then ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_GETMNTINFO 1 _ACEOF else ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_GETMNTINFO2 1 _ACEOF fi fi fi if test -z "$ac_list_mounted_fs"; then # Ultrix { echo "$as_me:$LINENO: checking for getmnt function" >&5 echo $ECHO_N "checking for getmnt function... $ECHO_C" >&6; } if test "${fu_cv_sys_mounted_getmnt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then fu_cv_sys_mounted_getmnt=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fu_cv_sys_mounted_getmnt=no fi rm -f conftest.err conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $fu_cv_sys_mounted_getmnt" >&5 echo "${ECHO_T}$fu_cv_sys_mounted_getmnt" >&6; } if test $fu_cv_sys_mounted_getmnt = yes; then ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_GETMNT 1 _ACEOF fi fi if test -z "$ac_list_mounted_fs"; then # BeOS for ac_func in next_dev fs_stat_dev do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in fs_info.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for BEOS mounted file system support functions" >&5 echo $ECHO_N "checking for BEOS mounted file system support functions... $ECHO_C" >&6; } if test $ac_cv_header_fs_info_h = yes \ && test $ac_cv_func_next_dev = yes \ && test $ac_cv_func_fs_stat_dev = yes; then fu_result=yes else fu_result=no fi { echo "$as_me:$LINENO: result: $fu_result" >&5 echo "${ECHO_T}$fu_result" >&6; } if test $fu_result = yes; then ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_FS_STAT_DEV 1 _ACEOF fi fi if test -z "$ac_list_mounted_fs"; then # SVR2 { echo "$as_me:$LINENO: checking whether it is possible to resort to fread on /etc/mnttab" >&5 echo $ECHO_N "checking whether it is possible to resort to fread on /etc/mnttab... $ECHO_C" >&6; } if test "${fu_cv_sys_mounted_fread+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then fu_cv_sys_mounted_fread=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fu_cv_sys_mounted_fread=no fi rm -f conftest.err conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $fu_cv_sys_mounted_fread" >&5 echo "${ECHO_T}$fu_cv_sys_mounted_fread" >&6; } if test $fu_cv_sys_mounted_fread = yes; then ac_list_mounted_fs=found cat >>confdefs.h <<\_ACEOF #define MOUNTED_FREAD 1 _ACEOF fi fi if test -z "$ac_list_mounted_fs"; then { { echo "$as_me:$LINENO: error: could not determine how to read list of mounted file systems" >&5 echo "$as_me: error: could not determine how to read list of mounted file systems" >&2;} { (exit 1); exit 1; }; } # FIXME -- no need to abort building the whole package # Can't build mountlist.c or anything that needs its functions fi if test $ac_list_mounted_fs = found; then gl_cv_list_mounted_fs=yes else gl_cv_list_mounted_fs=no fi if test $gl_cv_list_mounted_fs = yes; then gl_LIBOBJS="$gl_LIBOBJS mountlist.$ac_objext" for ac_header in sys/mntent.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for struct statfs.f_fstypename" >&5 echo $ECHO_N "checking for struct statfs.f_fstypename... $ECHO_C" >&6; } if test "${ac_cv_member_struct_statfs_f_fstypename+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { static struct statfs ac_aggr; if (ac_aggr.f_fstypename) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statfs_f_fstypename=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { static struct statfs ac_aggr; if (sizeof ac_aggr.f_fstypename) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statfs_f_fstypename=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_statfs_f_fstypename=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_statfs_f_fstypename" >&5 echo "${ECHO_T}$ac_cv_member_struct_statfs_f_fstypename" >&6; } if test $ac_cv_member_struct_statfs_f_fstypename = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATFS_F_FSTYPENAME 1 _ACEOF fi fi gl_LIBOBJS="$gl_LIBOBJS mpsort.$ac_objext" nanosleep_save_libs=$LIBS # Solaris 2.5.1 needs -lposix4 to get the nanosleep function. # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. { echo "$as_me:$LINENO: checking for library containing nanosleep" >&5 echo $ECHO_N "checking for library containing nanosleep... $ECHO_C" >&6; } if test "${ac_cv_search_nanosleep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char nanosleep (); int main () { return nanosleep (); ; return 0; } _ACEOF for ac_lib in '' rt posix4; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_nanosleep=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_nanosleep+set}" = set; then break fi done if test "${ac_cv_search_nanosleep+set}" = set; then : else ac_cv_search_nanosleep=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_nanosleep" >&5 echo "${ECHO_T}$ac_cv_search_nanosleep" >&6; } ac_res=$ac_cv_search_nanosleep if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_nanosleep" = "none required" || LIB_NANOSLEEP=$ac_cv_search_nanosleep fi { echo "$as_me:$LINENO: checking for working nanosleep" >&5 echo $ECHO_N "checking for working nanosleep... $ECHO_C" >&6; } if test "${gl_cv_func_nanosleep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_nanosleep=cross-compiling else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #if HAVE_SYS_TIME_H #include #endif #include #include #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) #define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) static void check_for_SIGALRM (int sig) { if (sig != SIGALRM) _exit (1); } int main () { static struct timespec ts_sleep; static struct timespec ts_remaining; static struct sigaction act; if (! nanosleep) return 1; act.sa_handler = check_for_SIGALRM; sigemptyset (&act.sa_mask); sigaction (SIGALRM, &act, NULL); ts_sleep.tv_sec = 0; ts_sleep.tv_nsec = 1; alarm (1); if (nanosleep (&ts_sleep, NULL) != 0) return 1; ts_sleep.tv_sec = TYPE_MAXIMUM (time_t); ts_sleep.tv_nsec = 999999999; alarm (1); if (nanosleep (&ts_sleep, &ts_remaining) == -1 && errno == EINTR && TYPE_MAXIMUM (time_t) - 10 < ts_remaining.tv_sec) return 0; return 119; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_nanosleep=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) case $? in 119) gl_cv_func_nanosleep='no (mishandles large arguments)';; *) gl_cv_func_nanosleep=no;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_nanosleep" >&5 echo "${ECHO_T}$gl_cv_func_nanosleep" >&6; } if test "$gl_cv_func_nanosleep" = yes; then REPLACE_NANOSLEEP=0 else REPLACE_NANOSLEEP=1 if test "$gl_cv_func_nanosleep" = 'no (mishandles large arguments)'; then cat >>confdefs.h <<\_ACEOF #define HAVE_BUG_BIG_NANOSLEEP 1 _ACEOF for ac_lib in $LIB_CLOCK_GETTIME; do case " $LIB_NANOSLEEP " in *" $ac_lib "*) ;; *) LIB_NANOSLEEP="$LIB_NANOSLEEP $ac_lib";; esac done fi gl_LIBOBJS="$gl_LIBOBJS nanosleep.$ac_objext" fi LIBS=$nanosleep_save_libs { echo "$as_me:$LINENO: checking whether is self-contained" >&5 echo $ECHO_N "checking whether is self-contained... $ECHO_C" >&6; } if test "${gl_cv_header_netinet_in_h_selfcontained+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_netinet_in_h_selfcontained=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_netinet_in_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_netinet_in_h_selfcontained" >&5 echo "${ECHO_T}$gl_cv_header_netinet_in_h_selfcontained" >&6; } if test $gl_cv_header_netinet_in_h_selfcontained = yes; then NETINET_IN_H='' else NETINET_IN_H='netinet/in.h' for ac_header in netinet/in.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $gl_cv_have_include_next = yes; then gl_cv_next_netinet_in_h='<'netinet/in.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_netinet_in_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_netinet_in_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_netinet_in_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/netinet/in.h#{ s#.*"\(.*/netinet/in.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_netinet_in_h='<'netinet/in.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_netinet_in_h" >&5 echo "${ECHO_T}$gl_cv_next_netinet_in_h" >&6; } fi NEXT_NETINET_IN_H=$gl_cv_next_netinet_in_h if test $ac_cv_header_netinet_in_h = yes; then HAVE_NETINET_IN_H=1 else HAVE_NETINET_IN_H=0 fi fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } { echo "$as_me:$LINENO: checking for obstacks" >&5 echo $ECHO_N "checking for obstacks... $ECHO_C" >&6; } if test "${ac_cv_func_obstack+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include "obstack.h" int main () { struct obstack mem; #define obstack_chunk_alloc malloc #define obstack_chunk_free free obstack_init (&mem); obstack_free (&mem, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_obstack=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_obstack=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_obstack" >&5 echo "${ECHO_T}$ac_cv_func_obstack" >&6; } if test $ac_cv_func_obstack = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_OBSTACK 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext" fi gl_LIBOBJS="$gl_LIBOBJS openat-proc.$ac_objext" for ac_func in fchmodat mkdirat openat do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done case $ac_cv_func_openat+$ac_cv_func_lstat_dereferences_slashed_symlink in yes+yes) ;; yes+*) gl_LIBOBJS="$gl_LIBOBJS fstatat.$ac_objext" ;; *) cat >>confdefs.h <<\_ACEOF #define __OPENAT_PREFIX rpl_ _ACEOF : ;; esac # Assume we'll use the replacement function. # The only case in which we won't is when we have fchownat, and it works. use_replacement_fchownat=yes { echo "$as_me:$LINENO: checking for fchownat" >&5 echo $ECHO_N "checking for fchownat... $ECHO_C" >&6; } if test "${ac_cv_func_fchownat+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define fchownat to an innocuous variant, in case declares fchownat. For example, HP-UX 11i declares gettimeofday. */ #define fchownat innocuous_fchownat /* System header to define __stub macros and hopefully few prototypes, which can conflict with char fchownat (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef fchownat /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char fchownat (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_fchownat || defined __stub___fchownat choke me #endif int main () { return fchownat (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_fchownat=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_fchownat=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_fchownat" >&5 echo "${ECHO_T}$ac_cv_func_fchownat" >&6; } if test $ac_cv_func_fchownat = yes; then have_fchownat=yes else have_fchownat=no fi if test $have_fchownat = yes; then { echo "$as_me:$LINENO: checking whether fchownat works with AT_SYMLINK_NOFOLLOW" >&5 echo $ECHO_N "checking whether fchownat works with AT_SYMLINK_NOFOLLOW... $ECHO_C" >&6; } if test "${gl_cv_func_fchownat_nofollow_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_dangle=conftest.dangle # Remove any remnants of a previous test. rm -f $gl_dangle # Arrange for deletion of the temporary file this test creates. ac_clean_files="$ac_clean_files $gl_dangle" ln -s conftest.no-such $gl_dangle if test "$cross_compiling" = yes; then gl_cv_func_fchownat_nofollow_works=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #include int main () { return (fchownat (AT_FDCWD, "$gl_dangle", -1, getgid (), AT_SYMLINK_NOFOLLOW) != 0 && errno == ENOENT); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_fchownat_nofollow_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_fchownat_nofollow_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_fchownat_nofollow_works" >&5 echo "${ECHO_T}$gl_cv_func_fchownat_nofollow_works" >&6; } if test $gl_cv_func_fchownat_nofollow_works = no; then : else use_replacement_fchownat=no fi fi if test $use_replacement_fchownat = yes; then gl_LIBOBJS="$gl_LIBOBJS fchownat.$ac_objext" cat >>confdefs.h <<\_ACEOF #define fchownat rpl_fchownat _ACEOF fi { echo "$as_me:$LINENO: checking for perl5.005 or newer" >&5 echo $ECHO_N "checking for perl5.005 or newer... $ECHO_C" >&6; } if test "${PERL+set}" = set; then # `PERL' is set in the user's environment. candidate_perl_names="$PERL" perl_specified=yes else candidate_perl_names='perl perl5' perl_specified=no fi found=no PERL="$am_missing_run perl" for perl in $candidate_perl_names; do # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. if ( $perl -e 'require 5.005; use File::Compare' ) > /dev/null 2>&1; then PERL=$perl found=yes break fi done { echo "$as_me:$LINENO: result: $found" >&5 echo "${ECHO_T}$found" >&6; } test $found = no && { echo "$as_me:$LINENO: WARNING: WARNING: You don't seem to have perl5.005 or newer installed, or you lack a usable version of the Perl File::Compare module. As a result, you may be unable to run a few tests or to regenerate certain files if you modify the sources from which they are derived. " >&5 echo "$as_me: WARNING: WARNING: You don't seem to have perl5.005 or newer installed, or you lack a usable version of the Perl File::Compare module. As a result, you may be unable to run a few tests or to regenerate certain files if you modify the sources from which they are derived. " >&2;} { echo "$as_me:$LINENO: checking for a shell that conforms to POSIX" >&5 echo $ECHO_N "checking for a shell that conforms to POSIX... $ECHO_C" >&6; } if test "${gl_cv_posix_shell+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_test_POSIX_SHELL=' func_return () { (exit $1) } func_success () { func_return 0 } func_failure () { func_return 1 } func_ret_success () { return 0 } func_ret_failure () { return 1 } test "$(echo foo)" = foo && func_success && ! func_failure && func_ret_success && ! func_ret_failure && (set x && func_ret_success y && test x = "$1") ' for gl_cv_posix_shell in \ "$CONFIG_SHELL" "$SHELL" /bin/sh /bin/bash /bin/ksh /bin/sh5 no; do case $gl_cv_posix_shell in /*) "$gl_cv_posix_shell" -c "$gl_test_POSIX_shell" 2>/dev/null && break;; esac done fi { echo "$as_me:$LINENO: result: $gl_cv_posix_shell" >&5 echo "${ECHO_T}$gl_cv_posix_shell" >&6; } if test "$gl_cv_posix_shell" != no; then POSIX_SHELL=$gl_cv_posix_shell PREFERABLY_POSIX_SHELL=$POSIX_SHELL else POSIX_SHELL= PREFERABLY_POSIX_SHELL=/bin/sh fi gl_LIBOBJS="$gl_LIBOBJS posixtm.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS posixver.$ac_objext" { echo "$as_me:$LINENO: checking whether frexp can be used without linking with libm" >&5 echo $ECHO_N "checking whether frexp can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_frexp_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include double x; int y; int main () { return frexp (x, &y) < 1; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_frexp_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_frexp_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_frexp_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_frexp_no_libm" >&6; } if test $gl_cv_func_frexp_no_libm = yes; then { echo "$as_me:$LINENO: checking whether frexp works" >&5 echo $ECHO_N "checking whether frexp works... $ECHO_C" >&6; } if test "${gl_cv_func_frexp_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in netbsd* | irix* | mingw*) gl_cv_func_frexp_works="guessing no";; *) gl_cv_func_frexp_works="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main() { int i; volatile double x; /* Test on denormalized numbers. */ for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5) ; if (x > 0.0) { int exp; double y = frexp (x, &exp); /* On machines with IEEE754 arithmetic: x = 1.11254e-308, exp = -1022. On NetBSD: y = 0.75. Correct: y = 0.5. */ if (y != 0.5) return 1; } /* Test on infinite numbers. */ x = 1.0 / 0.0; { int exp; double y = frexp (x, &exp); if (y != x) return 1; } return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_frexp_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_frexp_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_frexp_works" >&5 echo "${ECHO_T}$gl_cv_func_frexp_works" >&6; } case "$gl_cv_func_frexp_works" in *yes) cat >>confdefs.h <<\_ACEOF #define HAVE_FREXP_IN_LIBC 1 _ACEOF ;; esac fi { echo "$as_me:$LINENO: checking whether ldexp can be used without linking with libm" >&5 echo $ECHO_N "checking whether ldexp can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_ldexp_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include double x; int y; int main () { return ldexp (x, y) < 1; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_ldexp_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_ldexp_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_ldexp_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_ldexp_no_libm" >&6; } if test $gl_cv_func_ldexp_no_libm = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LDEXP_IN_LIBC 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether frexpl can be used without linking with libm" >&5 echo $ECHO_N "checking whether frexpl can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_frexpl_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include long double x; int y; int main () { return frexpl (x, &y) < 1; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_frexpl_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_frexpl_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_frexpl_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_frexpl_no_libm" >&6; } if test $gl_cv_func_frexpl_no_libm = yes; then { echo "$as_me:$LINENO: checking whether frexpl works" >&5 echo $ECHO_N "checking whether frexpl works... $ECHO_C" >&6; } if test "${gl_cv_func_frexpl_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in aix* | beos* | darwin* | irix* | mingw* | pw*) gl_cv_func_frexpl_works="guessing no";; *) gl_cv_func_frexpl_works="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include /* Override the values of , like done in float.in.h. */ #if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) #endif extern long double frexpl (long double, int *); int main() { volatile long double x; /* Test on finite numbers that fails on AIX 5.1. */ x = 16.0L; { int exp = -9999; frexpl (x, &exp); if (exp != 5) return 1; } /* Test on finite numbers that fails on MacOS X 10.4, because its frexpl function returns an invalid (incorrectly normalized) value: it returns y = { 0x3fe028f5, 0xc28f5c28, 0x3c9eb851, 0xeb851eb8 } but the correct result is 0.505L = { 0x3fe028f5, 0xc28f5c29, 0xbc547ae1, 0x47ae1480 } */ x = 1.01L; { int exp = -9999; long double y = frexpl (x, &exp); if (!(exp == 1 && y == 0.505L)) return 1; } /* Test on large finite numbers. This fails on BeOS at i = 16322, while LDBL_MAX_EXP = 16384. In the loop end test, we test x against Infinity, rather than comparing i with LDBL_MAX_EXP, because BeOS has a wrong LDBL_MAX_EXP. */ { int i; for (i = 1, x = 1.0L; x != x + x; i++, x *= 2.0L) { int exp = -9999; frexpl (x, &exp); if (exp != i) return 1; } } /* Test on denormalized numbers. */ { int i; for (i = 1, x = 1.0L; i >= LDBL_MIN_EXP; i--, x *= 0.5L) ; if (x > 0.0L) { int exp; long double y = frexpl (x, &exp); /* On machines with IEEE854 arithmetic: x = 1.68105e-4932, exp = -16382, y = 0.5. On MacOS X 10.5: exp = -16384, y = 0.5. */ if (exp != LDBL_MIN_EXP - 1) return 1; } } /* Test on infinite numbers. */ x = 1.0L / 0.0L; { int exp; long double y = frexpl (x, &exp); if (y != x) return 1; } return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_frexpl_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_frexpl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_frexpl_works" >&5 echo "${ECHO_T}$gl_cv_func_frexpl_works" >&6; } case "$gl_cv_func_frexpl_works" in *yes) gl_func_frexpl_no_libm=yes ;; *) gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;; esac else gl_func_frexpl_no_libm=no REPLACE_FREXPL=1 fi if test $gl_func_frexpl_no_libm = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_FREXPL_IN_LIBC 1 _ACEOF { echo "$as_me:$LINENO: checking whether frexpl is declared" >&5 echo $ECHO_N "checking whether frexpl is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_frexpl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef frexpl (void) frexpl; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_frexpl=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_frexpl=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_frexpl" >&5 echo "${ECHO_T}$ac_cv_have_decl_frexpl" >&6; } if test $ac_cv_have_decl_frexpl = yes; then : else HAVE_DECL_FREXPL=0 fi fi { echo "$as_me:$LINENO: checking whether ldexpl can be used without linking with libm" >&5 echo $ECHO_N "checking whether ldexpl can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_ldexpl_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include long double x; int y; int main () { return ldexpl (x, y) < 1; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_ldexpl_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_ldexpl_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_ldexpl_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_ldexpl_no_libm" >&6; } if test $gl_cv_func_ldexpl_no_libm = yes; then { echo "$as_me:$LINENO: checking whether ldexpl works" >&5 echo $ECHO_N "checking whether ldexpl works... $ECHO_C" >&6; } if test "${gl_cv_func_ldexpl_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then case "$host_os" in aix*) gl_cv_func_ldexpl_works="guessing no";; *) gl_cv_func_ldexpl_works="guessing yes";; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include extern long double ldexpl (long double, int); int main() { volatile long double x = 1.0; volatile long double y = ldexpl (x, -1); return (y != 0.5L); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_ldexpl_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_ldexpl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_ldexpl_works" >&5 echo "${ECHO_T}$gl_cv_func_ldexpl_works" >&6; } case "$gl_cv_func_ldexpl_works" in *yes) cat >>confdefs.h <<\_ACEOF #define HAVE_LDEXPL_IN_LIBC 1 _ACEOF { echo "$as_me:$LINENO: checking whether ldexpl is declared" >&5 echo $ECHO_N "checking whether ldexpl is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_ldexpl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef ldexpl (void) ldexpl; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_ldexpl=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_ldexpl=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_ldexpl" >&5 echo "${ECHO_T}$ac_cv_have_decl_ldexpl" >&6; } if test $ac_cv_have_decl_ldexpl = yes; then : else HAVE_DECL_LDEXPL=0 fi ;; esac fi XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --keyword='proper_name:1,\"This is a proper name. See the gettext manual, section Names.\"'" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --keyword='proper_name_utf8:1,\"This is a proper name. See the gettext manual, section Names.\"'" { echo "$as_me:$LINENO: checking for putenv compatible with GNU and SVID" >&5 echo $ECHO_N "checking for putenv compatible with GNU and SVID... $ECHO_C" >&6; } if test "${gl_cv_func_svid_putenv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_svid_putenv=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* Put it in env. */ if (putenv ("CONFTEST_putenv=val")) return 1; /* Try to remove it. */ if (putenv ("CONFTEST_putenv")) return 1; /* Make sure it was deleted. */ if (getenv ("CONFTEST_putenv") != 0) return 1; return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_svid_putenv=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_svid_putenv=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_svid_putenv" >&5 echo "${ECHO_T}$gl_cv_func_svid_putenv" >&6; } if test $gl_cv_func_svid_putenv = no; then REPLACE_PUTENV=1 gl_LIBOBJS="$gl_LIBOBJS putenv.$ac_objext" fi GNULIB_PUTENV=1 gl_LIBOBJS="$gl_LIBOBJS quote.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS quotearg.$ac_objext" { echo "$as_me:$LINENO: checking for mbstate_t" >&5 echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6; } if test "${ac_cv_type_mbstate_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default # include int main () { mbstate_t x; return sizeof x; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_mbstate_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_mbstate_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_mbstate_t" >&5 echo "${ECHO_T}$ac_cv_type_mbstate_t" >&6; } if test $ac_cv_type_mbstate_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MBSTATE_T 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define mbstate_t int _ACEOF fi { echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5 echo $ECHO_N "checking whether mbrtowc and mbstate_t are properly declared... $ECHO_C" >&6; } if test "${gl_cv_func_mbrtowc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { wchar_t wc; char const s[] = ""; size_t n = 1; mbstate_t state; return ! (sizeof state && (mbrtowc) (&wc, s, n, &state)); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_mbrtowc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_mbrtowc=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc" >&5 echo "${ECHO_T}$gl_cv_func_mbrtowc" >&6; } if test $gl_cv_func_mbrtowc = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MBRTOWC 1 _ACEOF fi for ac_func in raise do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_readlink = no; then HAVE_READLINK=0 gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" : fi GNULIB_READLINK=1 gl_LIBOBJS="$gl_LIBOBJS readtokens.$ac_objext" : if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then gl_LIBOBJS="$gl_LIBOBJS readutmp.$ac_objext" { echo "$as_me:$LINENO: checking whether getutent is declared" >&5 echo $ECHO_N "checking whether getutent is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getutent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef HAVE_UTMP_H # include #endif int main () { #ifndef getutent (void) getutent; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getutent=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getutent=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getutent" >&5 echo "${ECHO_T}$ac_cv_have_decl_getutent" >&6; } if test $ac_cv_have_decl_getutent = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETUTENT 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETUTENT 0 _ACEOF fi utmp_includes="\ $ac_includes_default #ifdef HAVE_UTMPX_H # include #endif #ifdef HAVE_UTMP_H # if defined _THREAD_SAFE && defined UTMP_DATA_INIT /* When including both utmp.h and utmpx.h on AIX 4.3, with _THREAD_SAFE defined, work around the duplicate struct utmp_data declaration. */ # define utmp_data gl_aix_4_3_workaround_utmp_data # endif # include #endif " { echo "$as_me:$LINENO: checking for struct utmpx.ut_user" >&5 echo $ECHO_N "checking for struct utmpx.ut_user... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmpx_ut_user+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (ac_aggr.ut_user) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_user=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (sizeof ac_aggr.ut_user) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_user=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmpx_ut_user=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmpx_ut_user" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmpx_ut_user" >&6; } if test $ac_cv_member_struct_utmpx_ut_user = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_USER 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmp.ut_user" >&5 echo $ECHO_N "checking for struct utmp.ut_user... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmp_ut_user+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (ac_aggr.ut_user) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_user=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (sizeof ac_aggr.ut_user) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_user=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmp_ut_user=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_user" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_user" >&6; } if test $ac_cv_member_struct_utmp_ut_user = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_USER 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmpx.ut_name" >&5 echo $ECHO_N "checking for struct utmpx.ut_name... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmpx_ut_name+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (ac_aggr.ut_name) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_name=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (sizeof ac_aggr.ut_name) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_name=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmpx_ut_name=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmpx_ut_name" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmpx_ut_name" >&6; } if test $ac_cv_member_struct_utmpx_ut_name = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_NAME 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmp.ut_name" >&5 echo $ECHO_N "checking for struct utmp.ut_name... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmp_ut_name+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (ac_aggr.ut_name) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_name=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (sizeof ac_aggr.ut_name) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_name=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmp_ut_name=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_name" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_name" >&6; } if test $ac_cv_member_struct_utmp_ut_name = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_NAME 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmpx.ut_type" >&5 echo $ECHO_N "checking for struct utmpx.ut_type... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmpx_ut_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (ac_aggr.ut_type) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_type=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (sizeof ac_aggr.ut_type) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_type=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmpx_ut_type=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmpx_ut_type" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmpx_ut_type" >&6; } if test $ac_cv_member_struct_utmpx_ut_type = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_TYPE 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmp.ut_type" >&5 echo $ECHO_N "checking for struct utmp.ut_type... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmp_ut_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (ac_aggr.ut_type) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_type=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (sizeof ac_aggr.ut_type) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_type=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmp_ut_type=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_type" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_type" >&6; } if test $ac_cv_member_struct_utmp_ut_type = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_TYPE 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmpx.ut_pid" >&5 echo $ECHO_N "checking for struct utmpx.ut_pid... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmpx_ut_pid+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (ac_aggr.ut_pid) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_pid=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (sizeof ac_aggr.ut_pid) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_pid=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmpx_ut_pid=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmpx_ut_pid" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmpx_ut_pid" >&6; } if test $ac_cv_member_struct_utmpx_ut_pid = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_PID 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmp.ut_pid" >&5 echo $ECHO_N "checking for struct utmp.ut_pid... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmp_ut_pid+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (ac_aggr.ut_pid) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_pid=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (sizeof ac_aggr.ut_pid) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_pid=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmp_ut_pid=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_pid" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_pid" >&6; } if test $ac_cv_member_struct_utmp_ut_pid = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_PID 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmpx.ut_id" >&5 echo $ECHO_N "checking for struct utmpx.ut_id... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmpx_ut_id+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (ac_aggr.ut_id) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_id=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (sizeof ac_aggr.ut_id) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_id=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmpx_ut_id=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmpx_ut_id" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmpx_ut_id" >&6; } if test $ac_cv_member_struct_utmpx_ut_id = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_ID 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmp.ut_id" >&5 echo $ECHO_N "checking for struct utmp.ut_id... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmp_ut_id+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (ac_aggr.ut_id) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_id=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (sizeof ac_aggr.ut_id) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_id=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmp_ut_id=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_id" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_id" >&6; } if test $ac_cv_member_struct_utmp_ut_id = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_ID 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmpx.ut_exit" >&5 echo $ECHO_N "checking for struct utmpx.ut_exit... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmpx_ut_exit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (ac_aggr.ut_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (sizeof ac_aggr.ut_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmpx_ut_exit=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmpx_ut_exit" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmpx_ut_exit" >&6; } if test $ac_cv_member_struct_utmpx_ut_exit = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_EXIT 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmp.ut_exit" >&5 echo $ECHO_N "checking for struct utmp.ut_exit... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmp_ut_exit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (ac_aggr.ut_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (sizeof ac_aggr.ut_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmp_ut_exit=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_exit" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_exit" >&6; } if test $ac_cv_member_struct_utmp_ut_exit = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_EXIT 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmpx.ut_exit.ut_exit" >&5 echo $ECHO_N "checking for struct utmpx.ut_exit.ut_exit... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmpx_ut_exit_ut_exit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (ac_aggr.ut_exit.ut_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_exit_ut_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (sizeof ac_aggr.ut_exit.ut_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_exit_ut_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmpx_ut_exit_ut_exit=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmpx_ut_exit_ut_exit" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmpx_ut_exit_ut_exit" >&6; } if test $ac_cv_member_struct_utmpx_ut_exit_ut_exit = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_EXIT_UT_EXIT 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmp.ut_exit.ut_exit" >&5 echo $ECHO_N "checking for struct utmp.ut_exit.ut_exit... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmp_ut_exit_ut_exit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (ac_aggr.ut_exit.ut_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_exit_ut_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (sizeof ac_aggr.ut_exit.ut_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_exit_ut_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmp_ut_exit_ut_exit=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_exit_ut_exit" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_exit_ut_exit" >&6; } if test $ac_cv_member_struct_utmp_ut_exit_ut_exit = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_EXIT_UT_EXIT 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmpx.ut_exit.e_exit" >&5 echo $ECHO_N "checking for struct utmpx.ut_exit.e_exit... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmpx_ut_exit_e_exit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (ac_aggr.ut_exit.e_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_exit_e_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (sizeof ac_aggr.ut_exit.e_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_exit_e_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmpx_ut_exit_e_exit=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmpx_ut_exit_e_exit" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmpx_ut_exit_e_exit" >&6; } if test $ac_cv_member_struct_utmpx_ut_exit_e_exit = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_EXIT_E_EXIT 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmp.ut_exit.e_exit" >&5 echo $ECHO_N "checking for struct utmp.ut_exit.e_exit... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmp_ut_exit_e_exit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (ac_aggr.ut_exit.e_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_exit_e_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (sizeof ac_aggr.ut_exit.e_exit) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_exit_e_exit=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmp_ut_exit_e_exit=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_exit_e_exit" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_exit_e_exit" >&6; } if test $ac_cv_member_struct_utmp_ut_exit_e_exit = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_EXIT_E_EXIT 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmpx.ut_exit.ut_termination" >&5 echo $ECHO_N "checking for struct utmpx.ut_exit.ut_termination... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmpx_ut_exit_ut_termination+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (ac_aggr.ut_exit.ut_termination) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_exit_ut_termination=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (sizeof ac_aggr.ut_exit.ut_termination) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_exit_ut_termination=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmpx_ut_exit_ut_termination=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmpx_ut_exit_ut_termination" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmpx_ut_exit_ut_termination" >&6; } if test $ac_cv_member_struct_utmpx_ut_exit_ut_termination = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_EXIT_UT_TERMINATION 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmp.ut_exit.ut_termination" >&5 echo $ECHO_N "checking for struct utmp.ut_exit.ut_termination... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmp_ut_exit_ut_termination+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (ac_aggr.ut_exit.ut_termination) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_exit_ut_termination=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (sizeof ac_aggr.ut_exit.ut_termination) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_exit_ut_termination=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmp_ut_exit_ut_termination=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_exit_ut_termination" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_exit_ut_termination" >&6; } if test $ac_cv_member_struct_utmp_ut_exit_ut_termination = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_EXIT_UT_TERMINATION 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmpx.ut_exit.e_termination" >&5 echo $ECHO_N "checking for struct utmpx.ut_exit.e_termination... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmpx_ut_exit_e_termination+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (ac_aggr.ut_exit.e_termination) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_exit_e_termination=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmpx ac_aggr; if (sizeof ac_aggr.ut_exit.e_termination) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmpx_ut_exit_e_termination=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmpx_ut_exit_e_termination=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmpx_ut_exit_e_termination" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmpx_ut_exit_e_termination" >&6; } if test $ac_cv_member_struct_utmpx_ut_exit_e_termination = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMPX_UT_EXIT_E_TERMINATION 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct utmp.ut_exit.e_termination" >&5 echo $ECHO_N "checking for struct utmp.ut_exit.e_termination... $ECHO_C" >&6; } if test "${ac_cv_member_struct_utmp_ut_exit_e_termination+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (ac_aggr.ut_exit.e_termination) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_exit_e_termination=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $utmp_includes int main () { static struct utmp ac_aggr; if (sizeof ac_aggr.ut_exit.e_termination) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_utmp_ut_exit_e_termination=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_utmp_ut_exit_e_termination=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_utmp_ut_exit_e_termination" >&5 echo "${ECHO_T}$ac_cv_member_struct_utmp_ut_exit_e_termination" >&6; } if test $ac_cv_member_struct_utmp_ut_exit_e_termination = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UTMP_UT_EXIT_E_TERMINATION 1 _ACEOF fi fi for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for GNU libc compatible realloc" >&5 echo $ECHO_N "checking for GNU libc compatible realloc... $ECHO_C" >&6; } if test "${ac_cv_func_realloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_realloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *realloc (); #endif int main () { return ! realloc (0, 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_realloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_realloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_realloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_realloc_0_nonnull" >&6; } if test $ac_cv_func_realloc_0_nonnull = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_REALLOC 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_REALLOC 0 _ACEOF gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" cat >>confdefs.h <<\_ACEOF #define realloc rpl_realloc _ACEOF fi cat >>confdefs.h <<\_ACEOF #define GNULIB_REALLOC_GNU 1 _ACEOF if test $gl_cv_func_malloc_posix = yes; then HAVE_REALLOC_POSIX=1 cat >>confdefs.h <<\_ACEOF #define HAVE_REALLOC_POSIX 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext" HAVE_REALLOC_POSIX=0 fi GNULIB_REALLOC_POSIX=1 # Check whether --with-included-regex was given. if test "${with_included_regex+set}" = set; then withval=$with_included_regex; fi case $with_included_regex in #( yes|no) ac_use_included_regex=$with_included_regex ;; '') # If the system regex support is good enough that it passes the # following run test, then default to *not* using the included regex.c. # If cross compiling, assume the test would fail and use the included # regex.c. { echo "$as_me:$LINENO: checking for working re_compile_pattern" >&5 echo $ECHO_N "checking for working re_compile_pattern... $ECHO_C" >&6; } if test "${gl_cv_func_re_compile_pattern_working+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_re_compile_pattern_working=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #if HAVE_LOCALE_H #include #endif #include #include int main () { static struct re_pattern_buffer regex; unsigned char folded_chars[UCHAR_MAX + 1]; int i; const char *s; struct re_registers regs; #if HAVE_LOCALE_H /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html This test needs valgrind to catch the bug on Debian GNU/Linux 3.1 x86, but it might catch the bug better on other platforms and it shouldn't hurt to try the test here. */ if (setlocale (LC_ALL, "en_US.UTF-8")) { static char const pat[] = "insert into"; static char const data[] = "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK"; re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) return 1; if (re_search (®ex, data, sizeof data - 1, 0, sizeof data - 1, ®s) != -1) return 1; if (! setlocale (LC_ALL, "C")) return 1; } #endif /* This test is from glibc bug 3957, reported by Andrew Mackey. */ re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("a[^x]b", 6, ®ex); if (s) return 1; /* This should fail, but succeeds for glibc-2.5. */ if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1) return 1; /* This regular expression is from Spencer ere test number 75 in grep-2.3. */ re_set_syntax (RE_SYNTAX_POSIX_EGREP); memset (®ex, 0, sizeof regex); for (i = 0; i <= UCHAR_MAX; i++) folded_chars[i] = i; regex.translate = folded_chars; s = re_compile_pattern ("a[[:]:]]b\n", 11, ®ex); /* This should fail with _Invalid character class name_ error. */ if (!s) return 1; /* This should succeed, but does not for glibc-2.1.3. */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("{1", 2, ®ex); if (s) return 1; /* The following example is derived from a problem report against gawk from Jorge Stolfi . */ memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[an\371]*n", 7, ®ex); if (s) return 1; /* This should match, but does not for glibc-2.2.1. */ if (re_match (®ex, "an", 2, 0, ®s) != 2) return 1; memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) return 1; /* glibc-2.2.93 does not work with a negative RANGE argument. */ if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1) return 1; /* The version of regex.c in older versions of gnulib ignored RE_ICASE. Detect that problem too. */ re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("x", 1, ®ex); if (s) return 1; if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0) return 1; /* Catch a bug reported by Vin Shelton in http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html */ re_set_syntax (RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES); memset (®ex, 0, sizeof regex); s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex); if (s) return 1; /* REG_STARTEND was added to glibc on 2004-01-15. Reject older versions. */ if (! REG_STARTEND) return 1; /* Reject hosts whose regoff_t values are too narrow. These include glibc 2.3.5 on hosts with 64-bit ptrdiff_t and 32-bit int. */ if (sizeof (regoff_t) < sizeof (ptrdiff_t) || sizeof (regoff_t) < sizeof (ssize_t)) return 1; return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_re_compile_pattern_working=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_re_compile_pattern_working=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_re_compile_pattern_working" >&5 echo "${ECHO_T}$gl_cv_func_re_compile_pattern_working" >&6; } case $gl_cv_func_re_compile_pattern_working in #( yes) ac_use_included_regex=no;; #( no) ac_use_included_regex=yes;; esac ;; *) { { echo "$as_me:$LINENO: error: Invalid value for --with-included-regex: $with_included_regex" >&5 echo "$as_me: error: Invalid value for --with-included-regex: $with_included_regex" >&2;} { (exit 1); exit 1; }; } ;; esac if test $ac_use_included_regex = yes; then cat >>confdefs.h <<\_ACEOF #define _REGEX_LARGE_OFFSETS 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define re_syntax_options rpl_re_syntax_options _ACEOF cat >>confdefs.h <<\_ACEOF #define re_set_syntax rpl_re_set_syntax _ACEOF cat >>confdefs.h <<\_ACEOF #define re_compile_pattern rpl_re_compile_pattern _ACEOF cat >>confdefs.h <<\_ACEOF #define re_compile_fastmap rpl_re_compile_fastmap _ACEOF cat >>confdefs.h <<\_ACEOF #define re_search rpl_re_search _ACEOF cat >>confdefs.h <<\_ACEOF #define re_search_2 rpl_re_search_2 _ACEOF cat >>confdefs.h <<\_ACEOF #define re_match rpl_re_match _ACEOF cat >>confdefs.h <<\_ACEOF #define re_match_2 rpl_re_match_2 _ACEOF cat >>confdefs.h <<\_ACEOF #define re_set_registers rpl_re_set_registers _ACEOF cat >>confdefs.h <<\_ACEOF #define re_comp rpl_re_comp _ACEOF cat >>confdefs.h <<\_ACEOF #define re_exec rpl_re_exec _ACEOF cat >>confdefs.h <<\_ACEOF #define regcomp rpl_regcomp _ACEOF cat >>confdefs.h <<\_ACEOF #define regexec rpl_regexec _ACEOF cat >>confdefs.h <<\_ACEOF #define regerror rpl_regerror _ACEOF cat >>confdefs.h <<\_ACEOF #define regfree rpl_regfree _ACEOF gl_LIBOBJS="$gl_LIBOBJS regex.$ac_objext" for ac_header in libintl.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether isblank is declared" >&5 echo $ECHO_N "checking whether isblank is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_isblank+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef isblank (void) isblank; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_isblank=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_isblank=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_isblank" >&5 echo "${ECHO_T}$ac_cv_have_decl_isblank" >&6; } if test $ac_cv_have_decl_isblank = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISBLANK 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISBLANK 0 _ACEOF fi fi { echo "$as_me:$LINENO: checking whether rename is broken" >&5 echo $ECHO_N "checking whether rename is broken... $ECHO_C" >&6; } if test "${gl_cv_func_rename_trailing_slash_bug+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -rf conftest.d1 conftest.d2 mkdir conftest.d1 || { { echo "$as_me:$LINENO: error: cannot create temporary directory" >&5 echo "$as_me: error: cannot create temporary directory" >&2;} { (exit 1); exit 1; }; } if test "$cross_compiling" = yes; then gl_cv_func_rename_trailing_slash_bug=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include # include int main () { exit (rename ("conftest.d1/", "conftest.d2") ? 1 : 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_rename_trailing_slash_bug=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_rename_trailing_slash_bug=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -rf conftest.d1 conftest.d2 fi { echo "$as_me:$LINENO: result: $gl_cv_func_rename_trailing_slash_bug" >&5 echo "${ECHO_T}$gl_cv_func_rename_trailing_slash_bug" >&6; } if test $gl_cv_func_rename_trailing_slash_bug = yes; then gl_LIBOBJS="$gl_LIBOBJS rename.$ac_objext" cat >>confdefs.h <<\_ACEOF #define rename rpl_rename _ACEOF cat >>confdefs.h <<\_ACEOF #define RENAME_TRAILING_SLASH_BUG 1 _ACEOF : fi { echo "$as_me:$LINENO: checking whether rename is broken with respect to destination slashes" >&5 echo $ECHO_N "checking whether rename is broken with respect to destination slashes... $ECHO_C" >&6; } if test "${gl_cv_func_rename_trailing_dest_slash_bug+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -rf conftest.d1 conftest.d2 mkdir conftest.d1 || { { echo "$as_me:$LINENO: error: cannot create temporary directory" >&5 echo "$as_me: error: cannot create temporary directory" >&2;} { (exit 1); exit 1; }; } if test "$cross_compiling" = yes; then gl_cv_func_rename_trailing_dest_slash_bug=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ # include int main () { return (rename ("conftest.d1", "conftest.d2/") ? 1 : 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_rename_trailing_dest_slash_bug=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_rename_trailing_dest_slash_bug=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -rf conftest.d1 conftest.d2 fi { echo "$as_me:$LINENO: result: $gl_cv_func_rename_trailing_dest_slash_bug" >&5 echo "${ECHO_T}$gl_cv_func_rename_trailing_dest_slash_bug" >&6; } if test $gl_cv_func_rename_trailing_dest_slash_bug = yes; then gl_LIBOBJS="$gl_LIBOBJS rename-dest-slash.$ac_objext" cat >>confdefs.h <<\_ACEOF #define rename rpl_rename_dest_slash _ACEOF fi for ac_func in rmdir do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done { echo "$as_me:$LINENO: checking for rmdir-not-empty errno value" >&5 echo $ECHO_N "checking for rmdir-not-empty errno value... $ECHO_C" >&6; } if test "${gl_cv_func_rmdir_errno_not_empty+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir2" mkdir confdir2; : > confdir2/file if test "$cross_compiling" = yes; then gl_cv_func_rmdir_errno_not_empty=ENOTEMPTY else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #ifdef HAVE_UNISTD_H # include #endif int main () { FILE *s; int val; rmdir ("confdir2"); val = errno; s = fopen ("confdir2/errno", "w"); fprintf (s, "%d\n", val); return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_rmdir_errno_not_empty=`cat confdir2/errno` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4' fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_rmdir_errno_not_empty" >&5 echo "${ECHO_T}$gl_cv_func_rmdir_errno_not_empty" >&6; } cat >>confdefs.h <<_ACEOF #define RMDIR_ERRNO_NOT_EMPTY $gl_cv_func_rmdir_errno_not_empty _ACEOF gl_LIBOBJS="$gl_LIBOBJS root-dev-ino.$ac_objext" : for ac_func in rpmatch do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_rpmatch = no; then HAVE_RPMATCH=0 { echo "$as_me:$LINENO: checking for nl_langinfo and YESEXPR" >&5 echo $ECHO_N "checking for nl_langinfo and YESEXPR... $ECHO_C" >&6; } if test "${gl_cv_langinfo_yesexpr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { char* cs = nl_langinfo(YESEXPR); return !cs; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_langinfo_yesexpr=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_langinfo_yesexpr=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_langinfo_yesexpr" >&5 echo "${ECHO_T}$gl_cv_langinfo_yesexpr" >&6; } if test $gl_cv_langinfo_yesexpr = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LANGINFO_YESEXPR 1 _ACEOF fi fi GNULIB_RPMATCH=1 gl_LIBOBJS="$gl_LIBOBJS safe-read.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS safe-write.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS same.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS save-cwd.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS savedir.$ac_objext" if test $ac_cv_func_setenv = no; then HAVE_SETENV=0 gl_LIBOBJS="$gl_LIBOBJS setenv.$ac_objext" for ac_header in search.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in tsearch do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi GNULIB_SETENV=1 gl_LIBOBJS="$gl_LIBOBJS settime.$ac_objext" for ac_func in sig2str do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_sig2str = no; then : fi { echo "$as_me:$LINENO: checking for signbit macro" >&5 echo $ECHO_N "checking for signbit macro... $ECHO_C" >&6; } if test "${gl_cv_func_signbit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_signbit="guessing no" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* If signbit is defined as a function, don't use it, since calling it for 'float' or 'long double' arguments would involve conversions. If signbit is not declared at all but exists as a library function, don't use it, since the prototype may not match. If signbit is not declared at all but exists as a compiler built-in, don't use it, since it's preferable to use __builtin_signbit* (no warnings, no conversions). */ #ifndef signbit # error "signbit should be a macro" #endif #include float p0f = 0.0f; float m0f = -0.0f; double p0d = 0.0; double m0d = -0.0; long double p0l = 0.0L; long double m0l = -0.0L; int main () { { float plus_inf = 1.0f / p0f; float minus_inf = -1.0f / p0f; if (!(!signbit (255.0f) && signbit (-255.0f) && !signbit (p0f) && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f)) && !signbit (plus_inf) && signbit (minus_inf))) return 1; } { double plus_inf = 1.0 / p0d; double minus_inf = -1.0 / p0d; if (!(!signbit (255.0) && signbit (-255.0) && !signbit (p0d) && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d)) && !signbit (plus_inf) && signbit (minus_inf))) return 1; } { long double plus_inf = 1.0L / p0l; long double minus_inf = -1.0L / p0l; if (!(!signbit (255.0L) && signbit (-255.0L) && !signbit (p0l) && (memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l)) && !signbit (plus_inf) && signbit (minus_inf))) return 1; } return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_signbit=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_signbit=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_signbit" >&5 echo "${ECHO_T}$gl_cv_func_signbit" >&6; } { echo "$as_me:$LINENO: checking for signbit compiler built-ins" >&5 echo $ECHO_N "checking for signbit compiler built-ins... $ECHO_C" >&6; } if test "${gl_cv_func_signbit_gcc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_signbit_gcc="guessing no" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if __GNUC__ >= 4 # define signbit(x) \ (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ __builtin_signbitf (x)) #else # error "signbit should be three compiler built-ins" #endif #include float p0f = 0.0f; float m0f = -0.0f; double p0d = 0.0; double m0d = -0.0; long double p0l = 0.0L; long double m0l = -0.0L; int main () { { float plus_inf = 1.0f / p0f; float minus_inf = -1.0f / p0f; if (!(!signbit (255.0f) && signbit (-255.0f) && !signbit (p0f) && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f)) && !signbit (plus_inf) && signbit (minus_inf))) return 1; } { double plus_inf = 1.0 / p0d; double minus_inf = -1.0 / p0d; if (!(!signbit (255.0) && signbit (-255.0) && !signbit (p0d) && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d)) && !signbit (plus_inf) && signbit (minus_inf))) return 1; } { long double plus_inf = 1.0L / p0l; long double minus_inf = -1.0L / p0l; if (!(!signbit (255.0L) && signbit (-255.0L) && !signbit (p0l) && (memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l)) && !signbit (plus_inf) && signbit (minus_inf))) return 1; } return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_signbit_gcc=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_signbit_gcc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_signbit_gcc" >&5 echo "${ECHO_T}$gl_cv_func_signbit_gcc" >&6; } if test "$gl_cv_func_signbit_gcc" = yes; then REPLACE_SIGNBIT_USING_GCC=1 else if test "$gl_cv_func_signbit" != yes; then REPLACE_SIGNBIT=1 gl_LIBOBJS="$gl_LIBOBJS signbitf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS signbitd.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS signbitl.$ac_objext" { echo "$as_me:$LINENO: checking where to find the sign bit in a 'float'" >&5 echo $ECHO_N "checking where to find the sign bit in a 'float'... $ECHO_C" >&6; } if test "${gl_cv_cc_float_signbit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_cc_float_signbit="unknown" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; static memory_float plus = { 1.0f }; static memory_float minus = { -1.0f }; int main () { size_t j, k, i; unsigned int m; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; /* Find the different bit. */ k = 0; m = 0; for (j = 0; j < NWORDS; j++) { unsigned int x = plus.word[j] ^ minus.word[j]; if ((x & (x - 1)) || (x && m)) { /* More than one bit difference. */ fprintf (fp, "unknown"); return 1; } if (x) { k = j; m = x; } } if (m == 0) { /* No difference. */ fprintf (fp, "unknown"); return 1; } /* Now m = plus.word[k] ^ ~minus.word[k]. */ if (plus.word[k] & ~minus.word[k]) { /* Oh? The sign bit is set in the positive and cleared in the negative numbers? */ fprintf (fp, "unknown"); return 1; } for (i = 0; ; i++) if ((m >> i) & 1) break; fprintf (fp, "word %d bit %d", (int) k, (int) i); return (fclose (fp) != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_cc_float_signbit=`cat conftest.out` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_cc_float_signbit="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.out fi { echo "$as_me:$LINENO: result: $gl_cv_cc_float_signbit" >&5 echo "${ECHO_T}$gl_cv_cc_float_signbit" >&6; } case "$gl_cv_cc_float_signbit" in word*bit*) word=`echo "$gl_cv_cc_float_signbit" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_float_signbit" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define FLT_SIGNBIT_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define FLT_SIGNBIT_BIT $bit _ACEOF ;; esac { echo "$as_me:$LINENO: checking where to find the sign bit in a 'double'" >&5 echo $ECHO_N "checking where to find the sign bit in a 'double'... $ECHO_C" >&6; } if test "${gl_cv_cc_double_signbit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_cc_double_signbit="unknown" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_float; static memory_float plus = { 1.0 }; static memory_float minus = { -1.0 }; int main () { size_t j, k, i; unsigned int m; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; /* Find the different bit. */ k = 0; m = 0; for (j = 0; j < NWORDS; j++) { unsigned int x = plus.word[j] ^ minus.word[j]; if ((x & (x - 1)) || (x && m)) { /* More than one bit difference. */ fprintf (fp, "unknown"); return 1; } if (x) { k = j; m = x; } } if (m == 0) { /* No difference. */ fprintf (fp, "unknown"); return 1; } /* Now m = plus.word[k] ^ ~minus.word[k]. */ if (plus.word[k] & ~minus.word[k]) { /* Oh? The sign bit is set in the positive and cleared in the negative numbers? */ fprintf (fp, "unknown"); return 1; } for (i = 0; ; i++) if ((m >> i) & 1) break; fprintf (fp, "word %d bit %d", (int) k, (int) i); return (fclose (fp) != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_cc_double_signbit=`cat conftest.out` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_cc_double_signbit="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.out fi { echo "$as_me:$LINENO: result: $gl_cv_cc_double_signbit" >&5 echo "${ECHO_T}$gl_cv_cc_double_signbit" >&6; } case "$gl_cv_cc_double_signbit" in word*bit*) word=`echo "$gl_cv_cc_double_signbit" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_double_signbit" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define DBL_SIGNBIT_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define DBL_SIGNBIT_BIT $bit _ACEOF ;; esac { echo "$as_me:$LINENO: checking where to find the sign bit in a 'long double'" >&5 echo $ECHO_N "checking where to find the sign bit in a 'long double'... $ECHO_C" >&6; } if test "${gl_cv_cc_long_double_signbit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_cc_long_double_signbit="unknown" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { long double value; unsigned int word[NWORDS]; } memory_float; static memory_float plus = { 1.0L }; static memory_float minus = { -1.0L }; int main () { size_t j, k, i; unsigned int m; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; /* Find the different bit. */ k = 0; m = 0; for (j = 0; j < NWORDS; j++) { unsigned int x = plus.word[j] ^ minus.word[j]; if ((x & (x - 1)) || (x && m)) { /* More than one bit difference. */ fprintf (fp, "unknown"); return 1; } if (x) { k = j; m = x; } } if (m == 0) { /* No difference. */ fprintf (fp, "unknown"); return 1; } /* Now m = plus.word[k] ^ ~minus.word[k]. */ if (plus.word[k] & ~minus.word[k]) { /* Oh? The sign bit is set in the positive and cleared in the negative numbers? */ fprintf (fp, "unknown"); return 1; } for (i = 0; ; i++) if ((m >> i) & 1) break; fprintf (fp, "word %d bit %d", (int) k, (int) i); return (fclose (fp) != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_cc_long_double_signbit=`cat conftest.out` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_cc_long_double_signbit="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.out fi { echo "$as_me:$LINENO: result: $gl_cv_cc_long_double_signbit" >&5 echo "${ECHO_T}$gl_cv_cc_long_double_signbit" >&6; } case "$gl_cv_cc_long_double_signbit" in word*bit*) word=`echo "$gl_cv_cc_long_double_signbit" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_long_double_signbit" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define LDBL_SIGNBIT_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define LDBL_SIGNBIT_BIT $bit _ACEOF ;; esac if test "$gl_cv_cc_float_signbit" = unknown; then { echo "$as_me:$LINENO: checking whether copysignf is declared" >&5 echo $ECHO_N "checking whether copysignf is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_copysignf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef copysignf (void) copysignf; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_copysignf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_copysignf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_copysignf" >&5 echo "${ECHO_T}$ac_cv_have_decl_copysignf" >&6; } if test $ac_cv_have_decl_copysignf = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_COPYSIGNF 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_COPYSIGNF 0 _ACEOF fi if test "$ac_cv_have_decl_copysignf" = yes; then { echo "$as_me:$LINENO: checking whether copysignf can be used without linking with libm" >&5 echo $ECHO_N "checking whether copysignf can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_copysignf_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include float x, y; int main () { return copysignf (x, y) < 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_copysignf_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_copysignf_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_copysignf_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_copysignf_no_libm" >&6; } if test $gl_cv_func_copysignf_no_libm = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_COPYSIGNF_IN_LIBC 1 _ACEOF fi fi fi if test "$gl_cv_cc_double_signbit" = unknown; then { echo "$as_me:$LINENO: checking whether copysign is declared" >&5 echo $ECHO_N "checking whether copysign is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_copysign+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef copysign (void) copysign; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_copysign=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_copysign=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_copysign" >&5 echo "${ECHO_T}$ac_cv_have_decl_copysign" >&6; } if test $ac_cv_have_decl_copysign = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_COPYSIGN 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_COPYSIGN 0 _ACEOF fi if test "$ac_cv_have_decl_copysign" = yes; then { echo "$as_me:$LINENO: checking whether copysign can be used without linking with libm" >&5 echo $ECHO_N "checking whether copysign can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_copysign_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include double x, y; int main () { return copysign (x, y) < 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_copysign_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_copysign_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_copysign_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_copysign_no_libm" >&6; } if test $gl_cv_func_copysign_no_libm = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_COPYSIGN_IN_LIBC 1 _ACEOF fi fi fi if test "$gl_cv_cc_long_double_signbit" = unknown; then { echo "$as_me:$LINENO: checking whether copysignl is declared" >&5 echo $ECHO_N "checking whether copysignl is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_copysignl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef copysignl (void) copysignl; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_copysignl=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_copysignl=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_copysignl" >&5 echo "${ECHO_T}$ac_cv_have_decl_copysignl" >&6; } if test $ac_cv_have_decl_copysignl = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_COPYSIGNL 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_COPYSIGNL 0 _ACEOF fi if test "$ac_cv_have_decl_copysignl" = yes; then { echo "$as_me:$LINENO: checking whether copysignl can be used without linking with libm" >&5 echo $ECHO_N "checking whether copysignl can be used without linking with libm... $ECHO_C" >&6; } if test "${gl_cv_func_copysignl_no_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include long double x, y; int main () { return copysignl (x, y) < 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_copysignl_no_libm=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_copysignl_no_libm=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_copysignl_no_libm" >&5 echo "${ECHO_T}$gl_cv_func_copysignl_no_libm" >&6; } if test $gl_cv_func_copysignl_no_libm = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_COPYSIGNL_IN_LIBC 1 _ACEOF fi fi fi fi fi GNULIB_SIGNBIT=1 for ac_header in stdint.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for SIZE_MAX" >&5 echo $ECHO_N "checking for SIZE_MAX... $ECHO_C" >&6; } if test "${gl_cv_size_max+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_size_max= cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if HAVE_STDINT_H #include #endif #ifdef SIZE_MAX Found it #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Found it" >/dev/null 2>&1; then gl_cv_size_max=yes fi rm -f conftest* if test -z "$gl_cv_size_max"; then if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static int test_array [1 - 2 * !((sizeof (size_t) * CHAR_BIT - 1) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) size_t_bits_minus_1=$ac_lo;; '') size_t_bits_minus_1= ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include static long int longval () { return sizeof (size_t) * CHAR_BIT - 1; } static unsigned long int ulongval () { return sizeof (size_t) * CHAR_BIT - 1; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if ((sizeof (size_t) * CHAR_BIT - 1) < 0) { long int i = longval (); if (i != (sizeof (size_t) * CHAR_BIT - 1)) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != (sizeof (size_t) * CHAR_BIT - 1)) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then size_t_bits_minus_1=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) size_t_bits_minus_1= fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { static int test_array [1 - 2 * !((sizeof (size_t) <= sizeof (unsigned int)) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) fits_in_uint=$ac_lo;; '') fits_in_uint= ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include static long int longval () { return sizeof (size_t) <= sizeof (unsigned int); } static unsigned long int ulongval () { return sizeof (size_t) <= sizeof (unsigned int); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if ((sizeof (size_t) <= sizeof (unsigned int)) < 0) { long int i = longval (); if (i != (sizeof (size_t) <= sizeof (unsigned int))) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != (sizeof (size_t) <= sizeof (unsigned int))) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then fits_in_uint=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) fits_in_uint= fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then if test $fits_in_uint = 1; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include extern size_t foo; extern unsigned long foo; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then fits_in_uint=0 else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $fits_in_uint = 1; then gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" else gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" fi else gl_cv_size_max='((size_t)~(size_t)0)' fi fi fi { echo "$as_me:$LINENO: result: $gl_cv_size_max" >&5 echo "${ECHO_T}$gl_cv_size_max" >&6; } if test "$gl_cv_size_max" != yes; then cat >>confdefs.h <<_ACEOF #define SIZE_MAX $gl_cv_size_max _ACEOF fi gl_cv_func_snprintf_usable=no for ac_func in snprintf do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_snprintf = yes; then { echo "$as_me:$LINENO: checking whether snprintf respects a size of 1" >&5 echo $ECHO_N "checking whether snprintf respects a size of 1... $ECHO_C" >&6; } if test "${gl_cv_func_snprintf_size1+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_snprintf_size1="guessing yes" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main() { static char buf[8] = "DEADBEEF"; snprintf (buf, 1, "%d", 12345); return buf[1] != 'E'; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_snprintf_size1=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_snprintf_size1=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_snprintf_size1" >&5 echo "${ECHO_T}$gl_cv_func_snprintf_size1" >&6; } case "$gl_cv_func_snprintf_size1" in *yes) gl_cv_func_snprintf_usable=yes ;; esac fi if test $gl_cv_func_snprintf_usable = no; then gl_LIBOBJS="$gl_LIBOBJS snprintf.$ac_objext" if test $ac_cv_func_snprintf = yes; then REPLACE_SNPRINTF=1 fi : fi if test $ac_cv_have_decl_snprintf = no; then HAVE_DECL_SNPRINTF=0 fi GNULIB_SNPRINTF=1 { echo "$as_me:$LINENO: checking for socklen_t" >&5 echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6; } if test "${ac_cv_type_socklen_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if HAVE_SYS_SOCKET_H # include #elif HAVE_WS2TCPIP_H # include #endif typedef socklen_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_socklen_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_socklen_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5 echo "${ECHO_T}$ac_cv_type_socklen_t" >&6; } if test $ac_cv_type_socklen_t = yes; then : else { echo "$as_me:$LINENO: checking for socklen_t equivalent" >&5 echo $ECHO_N "checking for socklen_t equivalent... $ECHO_C" >&6; } if test "${gl_cv_socklen_t_equiv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Systems have either "struct sockaddr *" or # "void *" as the second argument to getpeername gl_cv_socklen_t_equiv= for arg2 in "struct sockaddr" void; do for t in int size_t "unsigned int" "long int" "unsigned long int"; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int getpeername (int, $arg2 *, $t *); int main () { $t len; getpeername (0, 0, &len); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_socklen_t_equiv="$t" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$gl_cv_socklen_t_equiv" != "" && break done test "$gl_cv_socklen_t_equiv" != "" && break done fi if test "$gl_cv_socklen_t_equiv" = ""; then { { echo "$as_me:$LINENO: error: Cannot find a type to use in place of socklen_t" >&5 echo "$as_me: error: Cannot find a type to use in place of socklen_t" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $gl_cv_socklen_t_equiv" >&5 echo "${ECHO_T}$gl_cv_socklen_t_equiv" >&6; } cat >>confdefs.h <<_ACEOF #define socklen_t $gl_cv_socklen_t_equiv _ACEOF fi { echo "$as_me:$LINENO: checking for ssize_t" >&5 echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; } if test "${gt_cv_ssize_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int x = sizeof (ssize_t *) + sizeof (ssize_t); return !x; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_ssize_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_ssize_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_ssize_t" >&5 echo "${ECHO_T}$gt_cv_ssize_t" >&6; } if test $gt_cv_ssize_t = no; then cat >>confdefs.h <<\_ACEOF #define ssize_t int _ACEOF fi { echo "$as_me:$LINENO: checking for struct stat.st_atim.tv_nsec" >&5 echo $ECHO_N "checking for struct stat.st_atim.tv_nsec... $ECHO_C" >&6; } if test "${ac_cv_member_struct_stat_st_atim_tv_nsec+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (ac_aggr.st_atim.tv_nsec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_atim_tv_nsec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (sizeof ac_aggr.st_atim.tv_nsec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_atim_tv_nsec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_stat_st_atim_tv_nsec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atim_tv_nsec" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_atim_tv_nsec" >&6; } if test $ac_cv_member_struct_stat_st_atim_tv_nsec = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 _ACEOF { echo "$as_me:$LINENO: checking whether struct stat.st_atim is of type struct timespec" >&5 echo $ECHO_N "checking whether struct stat.st_atim is of type struct timespec... $ECHO_C" >&6; } if test "${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if HAVE_SYS_TIME_H # include #endif #include struct timespec ts; struct stat st; int main () { st.st_atim = ts; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5 echo "${ECHO_T}$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; } if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then cat >>confdefs.h <<\_ACEOF #define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1 _ACEOF fi else { echo "$as_me:$LINENO: checking for struct stat.st_atimespec.tv_nsec" >&5 echo $ECHO_N "checking for struct stat.st_atimespec.tv_nsec... $ECHO_C" >&6; } if test "${ac_cv_member_struct_stat_st_atimespec_tv_nsec+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (ac_aggr.st_atimespec.tv_nsec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_atimespec_tv_nsec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (sizeof ac_aggr.st_atimespec.tv_nsec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_atimespec_tv_nsec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_stat_st_atimespec_tv_nsec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atimespec_tv_nsec" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_atimespec_tv_nsec" >&6; } if test $ac_cv_member_struct_stat_st_atimespec_tv_nsec = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1 _ACEOF else { echo "$as_me:$LINENO: checking for struct stat.st_atimensec" >&5 echo $ECHO_N "checking for struct stat.st_atimensec... $ECHO_C" >&6; } if test "${ac_cv_member_struct_stat_st_atimensec+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (ac_aggr.st_atimensec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_atimensec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (sizeof ac_aggr.st_atimensec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_atimensec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_stat_st_atimensec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atimensec" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_atimensec" >&6; } if test $ac_cv_member_struct_stat_st_atimensec = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 _ACEOF else { echo "$as_me:$LINENO: checking for struct stat.st_atim.st__tim.tv_nsec" >&5 echo $ECHO_N "checking for struct stat.st_atim.st__tim.tv_nsec... $ECHO_C" >&6; } if test "${ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (ac_aggr.st_atim.st__tim.tv_nsec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (sizeof ac_aggr.st_atim.st__tim.tv_nsec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" >&6; } if test $ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1 _ACEOF fi fi fi fi { echo "$as_me:$LINENO: checking for struct stat.st_birthtimespec.tv_nsec" >&5 echo $ECHO_N "checking for struct stat.st_birthtimespec.tv_nsec... $ECHO_C" >&6; } if test "${ac_cv_member_struct_stat_st_birthtimespec_tv_nsec+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (ac_aggr.st_birthtimespec.tv_nsec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_birthtimespec_tv_nsec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (sizeof ac_aggr.st_birthtimespec.tv_nsec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_birthtimespec_tv_nsec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_stat_st_birthtimespec_tv_nsec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" >&6; } if test $ac_cv_member_struct_stat_st_birthtimespec_tv_nsec = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1 _ACEOF else { echo "$as_me:$LINENO: checking for struct stat.st_birthtimensec" >&5 echo $ECHO_N "checking for struct stat.st_birthtimensec... $ECHO_C" >&6; } if test "${ac_cv_member_struct_stat_st_birthtimensec+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (ac_aggr.st_birthtimensec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_birthtimensec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (sizeof ac_aggr.st_birthtimensec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_birthtimensec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_stat_st_birthtimensec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_birthtimensec" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_birthtimensec" >&6; } if test $ac_cv_member_struct_stat_st_birthtimensec = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1 _ACEOF else { echo "$as_me:$LINENO: checking for struct stat.st_birthtim.tv_nsec" >&5 echo $ECHO_N "checking for struct stat.st_birthtim.tv_nsec... $ECHO_C" >&6; } if test "${ac_cv_member_struct_stat_st_birthtim_tv_nsec+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (ac_aggr.st_birthtim.tv_nsec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_birthtim_tv_nsec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { static struct stat ac_aggr; if (sizeof ac_aggr.st_birthtim.tv_nsec) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_birthtim_tv_nsec=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_stat_st_birthtim_tv_nsec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_birthtim_tv_nsec" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_birthtim_tv_nsec" >&6; } if test $ac_cv_member_struct_stat_st_birthtim_tv_nsec = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 1 _ACEOF fi fi fi STDARG_H=''; NEXT_STDARG_H=''; { echo "$as_me:$LINENO: checking for va_copy" >&5 echo $ECHO_N "checking for va_copy... $ECHO_C" >&6; } if test "${gl_cv_func_va_copy+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef va_copy void (*func) (va_list, va_list) = va_copy; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_func_va_copy=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_va_copy=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_va_copy" >&5 echo "${ECHO_T}$gl_cv_func_va_copy" >&6; } if test $gl_cv_func_va_copy = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined _AIX && !defined __GNUC__ AIX vaccine #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "vaccine" >/dev/null 2>&1; then gl_aixcc=yes else gl_aixcc=no fi rm -f conftest* if test $gl_aixcc = yes; then STDARG_H=stdarg.h if test $gl_cv_have_include_next = yes; then gl_cv_next_stdarg_h='<'stdarg.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_stdarg_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_stdarg_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_stdarg_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdarg.h#{ s#.*"\(.*/stdarg.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdarg_h='<'stdarg.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_stdarg_h" >&5 echo "${ECHO_T}$gl_cv_next_stdarg_h" >&6; } fi NEXT_STDARG_H=$gl_cv_next_stdarg_h if test "$gl_cv_next_stdarg_h" = '""'; then gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' NEXT_STDARG_H="$gl_cv_next_stdarg_h" fi else if test "${gl_cv_func___va_copy+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef __va_copy error, bail out #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_func___va_copy=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func___va_copy=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $gl_cv_func___va_copy = yes; then cat >>confdefs.h <<\_ACEOF #define va_copy __va_copy _ACEOF else cat >>confdefs.h <<\_ACEOF #define va_copy gl_va_copy _ACEOF fi fi fi # Define two additional variables used in the Makefile substitution. if test "$ac_cv_header_stdbool_h" = yes; then STDBOOL_H='' else STDBOOL_H='stdbool.h' fi if test "$ac_cv_type__Bool" = yes; then HAVE__BOOL=1 else HAVE__BOOL=0 fi if test $ac_cv_type_long_long_int = yes; then HAVE_LONG_LONG_INT=1 else HAVE_LONG_LONG_INT=0 fi if test $ac_cv_type_unsigned_long_long_int = yes; then HAVE_UNSIGNED_LONG_LONG_INT=1 else HAVE_UNSIGNED_LONG_LONG_INT=0 fi if test $ac_cv_header_inttypes_h = yes; then HAVE_INTTYPES_H=1 else HAVE_INTTYPES_H=0 fi if test $ac_cv_header_sys_types_h = yes; then HAVE_SYS_TYPES_H=1 else HAVE_SYS_TYPES_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_stdint_h='<'stdint.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_stdint_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_stdint_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_stdint_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdint.h#{ s#.*"\(.*/stdint.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdint_h='<'stdint.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_stdint_h" >&5 echo "${ECHO_T}$gl_cv_next_stdint_h" >&6; } fi NEXT_STDINT_H=$gl_cv_next_stdint_h if test $ac_cv_header_stdint_h = yes; then HAVE_STDINT_H=1 else HAVE_STDINT_H=0 fi if test $ac_cv_header_stdint_h = yes; then { echo "$as_me:$LINENO: checking whether stdint.h conforms to C99" >&5 echo $ECHO_N "checking whether stdint.h conforms to C99... $ECHO_C" >&6; } if test "${gl_cv_header_working_stdint_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_header_working_stdint_h=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ #include /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ #if !(defined WCHAR_MIN && defined WCHAR_MAX) #error "WCHAR_MIN, WCHAR_MAX not defined in " #endif /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #ifdef INT8_MAX int8_t a1 = INT8_MAX; int8_t a1min = INT8_MIN; #endif #ifdef INT16_MAX int16_t a2 = INT16_MAX; int16_t a2min = INT16_MIN; #endif #ifdef INT32_MAX int32_t a3 = INT32_MAX; int32_t a3min = INT32_MIN; #endif #ifdef INT64_MAX int64_t a4 = INT64_MAX; int64_t a4min = INT64_MIN; #endif #ifdef UINT8_MAX uint8_t b1 = UINT8_MAX; #else typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; #endif #ifdef UINT16_MAX uint16_t b2 = UINT16_MAX; #endif #ifdef UINT32_MAX uint32_t b3 = UINT32_MAX; #endif #ifdef UINT64_MAX uint64_t b4 = UINT64_MAX; #endif int_least8_t c1 = INT8_C (0x7f); int_least8_t c1max = INT_LEAST8_MAX; int_least8_t c1min = INT_LEAST8_MIN; int_least16_t c2 = INT16_C (0x7fff); int_least16_t c2max = INT_LEAST16_MAX; int_least16_t c2min = INT_LEAST16_MIN; int_least32_t c3 = INT32_C (0x7fffffff); int_least32_t c3max = INT_LEAST32_MAX; int_least32_t c3min = INT_LEAST32_MIN; int_least64_t c4 = INT64_C (0x7fffffffffffffff); int_least64_t c4max = INT_LEAST64_MAX; int_least64_t c4min = INT_LEAST64_MIN; uint_least8_t d1 = UINT8_C (0xff); uint_least8_t d1max = UINT_LEAST8_MAX; uint_least16_t d2 = UINT16_C (0xffff); uint_least16_t d2max = UINT_LEAST16_MAX; uint_least32_t d3 = UINT32_C (0xffffffff); uint_least32_t d3max = UINT_LEAST32_MAX; uint_least64_t d4 = UINT64_C (0xffffffffffffffff); uint_least64_t d4max = UINT_LEAST64_MAX; int_fast8_t e1 = INT_FAST8_MAX; int_fast8_t e1min = INT_FAST8_MIN; int_fast16_t e2 = INT_FAST16_MAX; int_fast16_t e2min = INT_FAST16_MIN; int_fast32_t e3 = INT_FAST32_MAX; int_fast32_t e3min = INT_FAST32_MIN; int_fast64_t e4 = INT_FAST64_MAX; int_fast64_t e4min = INT_FAST64_MIN; uint_fast8_t f1 = UINT_FAST8_MAX; uint_fast16_t f2 = UINT_FAST16_MAX; uint_fast32_t f3 = UINT_FAST32_MAX; uint_fast64_t f4 = UINT_FAST64_MAX; #ifdef INTPTR_MAX intptr_t g = INTPTR_MAX; intptr_t gmin = INTPTR_MIN; #endif #ifdef UINTPTR_MAX uintptr_t h = UINTPTR_MAX; #endif intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; #include /* for CHAR_BIT */ #define TYPE_MINIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) #define TYPE_MAXIMUM(t) \ ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) struct s { int check_PTRDIFF: PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) ? 1 : -1; /* Detect bug in FreeBSD 6.0 / ia64. */ int check_SIG_ATOMIC: SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) ? 1 : -1; int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; int check_WCHAR: WCHAR_MIN == TYPE_MINIMUM (wchar_t) && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) ? 1 : -1; /* Detect bug in mingw. */ int check_WINT: WINT_MIN == TYPE_MINIMUM (wint_t) && WINT_MAX == TYPE_MAXIMUM (wint_t) ? 1 : -1; /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ int check_UINT8_C: (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; int check_UINT16_C: (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; /* Detect bugs in OpenBSD 3.9 stdint.h. */ #ifdef UINT8_MAX int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; #endif #ifdef UINT16_MAX int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; #endif #ifdef UINT32_MAX int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; #endif #ifdef UINT64_MAX int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; #endif int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; }; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_working_stdint_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_working_stdint_h" >&5 echo "${ECHO_T}$gl_cv_header_working_stdint_h" >&6; } fi if test "$gl_cv_header_working_stdint_h" = yes; then STDINT_H= else for ac_header in sys/inttypes.h sys/bitypes.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_sys_inttypes_h = yes; then HAVE_SYS_INTTYPES_H=1 else HAVE_SYS_INTTYPES_H=0 fi if test $ac_cv_header_sys_bitypes_h = yes; then HAVE_SYS_BITYPES_H=1 else HAVE_SYS_BITYPES_H=0 fi for gltype in ptrdiff_t sig_atomic_t size_t wchar_t wint_t ; do { echo "$as_me:$LINENO: checking for bit size of $gltype" >&5 echo $ECHO_N "checking for bit size of $gltype... $ECHO_C" >&6; } if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include int main () { static int test_array [1 - 2 * !((sizeof ($gltype) * CHAR_BIT) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) result=$ac_lo;; '') result=unknown ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif #include static long int longval () { return sizeof ($gltype) * CHAR_BIT; } static unsigned long int ulongval () { return sizeof ($gltype) * CHAR_BIT; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if ((sizeof ($gltype) * CHAR_BIT) < 0) { long int i = longval (); if (i != (sizeof ($gltype) * CHAR_BIT)) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != (sizeof ($gltype) * CHAR_BIT)) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then result=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) result=unknown fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val eval gl_cv_bitsizeof_${gltype}=\$result fi ac_res=`eval echo '${'gl_cv_bitsizeof_${gltype}'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } eval result=\$gl_cv_bitsizeof_${gltype} if test $result = unknown; then result=0 fi GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` cat >>confdefs.h <<_ACEOF #define BITSIZEOF_${GLTYPE} $result _ACEOF eval BITSIZEOF_${GLTYPE}=\$result done for gltype in sig_atomic_t wchar_t wint_t ; do { echo "$as_me:$LINENO: checking whether $gltype is signed" >&5 echo $ECHO_N "checking whether $gltype is signed... $ECHO_C" >&6; } if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then result=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 result=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval gl_cv_type_${gltype}_signed=\$result fi ac_res=`eval echo '${'gl_cv_type_${gltype}_signed'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } eval result=\$gl_cv_type_${gltype}_signed GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` if test "$result" = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_SIGNED_${GLTYPE} 1 _ACEOF eval HAVE_SIGNED_${GLTYPE}=1 else eval HAVE_SIGNED_${GLTYPE}=0 fi done gl_cv_type_ptrdiff_t_signed=yes gl_cv_type_size_t_signed=no for gltype in ptrdiff_t sig_atomic_t size_t wchar_t wint_t ; do { echo "$as_me:$LINENO: checking for $gltype integer literal suffix" >&5 echo $ECHO_N "checking for $gltype integer literal suffix... $ECHO_C" >&6; } if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval gl_cv_type_${gltype}_suffix=no eval result=\$gl_cv_type_${gltype}_signed if test "$result" = yes; then glsufu= else glsufu=u fi for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do case $glsuf in '') gltype1='int';; l) gltype1='long int';; ll) gltype1='long long int';; i64) gltype1='__int64';; u) gltype1='unsigned int';; ul) gltype1='unsigned long int';; ull) gltype1='unsigned long long int';; ui64)gltype1='unsigned __int64';; esac cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #if HAVE_WCHAR_H # include # include # include #endif extern $gltype foo; extern $gltype1 foo; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval gl_cv_type_${gltype}_suffix=\$glsuf else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext eval result=\$gl_cv_type_${gltype}_suffix test "$result" != no && break done fi ac_res=`eval echo '${'gl_cv_type_${gltype}_suffix'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` eval result=\$gl_cv_type_${gltype}_suffix test "$result" = no && result= eval ${GLTYPE}_SUFFIX=\$result cat >>confdefs.h <<_ACEOF #define ${GLTYPE}_SUFFIX $result _ACEOF done STDINT_H=stdint.h fi if test $gl_cv_have_include_next = yes; then gl_cv_next_stdio_h='<'stdio.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_stdio_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_stdio_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_stdio_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdio.h#{ s#.*"\(.*/stdio.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdio_h='<'stdio.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_stdio_h" >&5 echo "${ECHO_T}$gl_cv_next_stdio_h" >&6; } fi NEXT_STDIO_H=$gl_cv_next_stdio_h if test $gl_cv_have_include_next = yes; then gl_cv_next_stdlib_h='<'stdlib.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_stdlib_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_stdlib_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_stdlib_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/stdlib.h#{ s#.*"\(.*/stdlib.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_stdlib_h='<'stdlib.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_stdlib_h" >&5 echo "${ECHO_T}$gl_cv_next_stdlib_h" >&6; } fi NEXT_STDLIB_H=$gl_cv_next_stdlib_h gl_LIBOBJS="$gl_LIBOBJS mkstemp-safer.$ac_objext" for ac_func in stpcpy do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_stpcpy = no; then HAVE_STPCPY=0 : fi GNULIB_STPCPY=1 { echo "$as_me:$LINENO: checking for working stpncpy" >&5 echo $ECHO_N "checking for working stpncpy... $ECHO_C" >&6; } if test "${gl_cv_func_stpncpy+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ Thanks for using GNU #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Thanks for using GNU" >/dev/null 2>&1; then gl_cv_func_stpncpy=yes else gl_cv_func_stpncpy=no fi rm -f conftest* else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include /* for strcpy */ /* The stpncpy prototype is missing in on AIX 4. */ extern char *stpncpy (char *dest, const char *src, size_t n); int main () { const char *src = "Hello"; char dest[10]; /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+1 here. */ strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 2) != dest + 2) exit(1); /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+4 here. */ strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 5) != dest + 5) exit(1); /* AIX 4.3.3 and AIX 5.1 stpncpy() returns dest+6 here. */ strcpy (dest, "\377\377\377\377\377\377"); if (stpncpy (dest, src, 7) != dest + 5) exit(1); exit(0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_stpncpy=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_stpncpy=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_stpncpy" >&5 echo "${ECHO_T}$gl_cv_func_stpncpy" >&6; } if test $gl_cv_func_stpncpy = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STPNCPY 1 _ACEOF else HAVE_STPNCPY=0 gl_LIBOBJS="$gl_LIBOBJS stpncpy.$ac_objext" : fi GNULIB_STPNCPY=1 for ac_func in strcspn do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_strcspn = no; then : fi for ac_func in strdup do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi : GNULIB_STRDUP=1 if test $gl_cv_func_working_strerror = no; then gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext" cat >>confdefs.h <<_ACEOF #define REPLACE_STRERROR $REPLACE_STRERROR _ACEOF fi GNULIB_STRERROR=1 gl_LIBOBJS="$gl_LIBOBJS strftime.$ac_objext" # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. cat >>confdefs.h <<\_ACEOF #define my_strftime nstrftime _ACEOF if test $gl_cond_libtool = false; then gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV" gl_libdeps="$gl_libdeps $LIBICONV" fi if test $ac_cv_have_decl_strndup = no; then HAVE_DECL_STRNDUP=0 fi # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'. { echo "$as_me:$LINENO: checking for working strndup" >&5 echo $ECHO_N "checking for working strndup... $ECHO_C" >&6; } if test "${gl_cv_func_strndup+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then { echo "$as_me:$LINENO: checking for strndup" >&5 echo $ECHO_N "checking for strndup... $ECHO_C" >&6; } if test "${ac_cv_func_strndup+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define strndup to an innocuous variant, in case declares strndup. For example, HP-UX 11i declares gettimeofday. */ #define strndup innocuous_strndup /* System header to define __stub macros and hopefully few prototypes, which can conflict with char strndup (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef strndup /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char strndup (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_strndup || defined __stub___strndup choke me #endif int main () { return strndup (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_strndup=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_strndup=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_strndup" >&5 echo "${ECHO_T}$ac_cv_func_strndup" >&6; } if test $ac_cv_func_strndup = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef _AIX too risky #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "too risky" >/dev/null 2>&1; then gl_cv_func_strndup=no else gl_cv_func_strndup=yes fi rm -f conftest* else gl_cv_func_strndup=no fi else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { #ifndef HAVE_DECL_STRNDUP extern char *strndup (const char *, size_t); #endif char *s; s = strndup ("some longer string", 15); free (s); s = strndup ("shorter string", 13); return s[13] != '\0'; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_strndup=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_strndup=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_strndup" >&5 echo "${ECHO_T}$gl_cv_func_strndup" >&6; } if test $gl_cv_func_strndup = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STRNDUP 1 _ACEOF else HAVE_STRNDUP=0 gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext" : fi GNULIB_STRNDUP=1 if test $ac_cv_have_decl_strnlen = no; then HAVE_DECL_STRNLEN=0 fi { echo "$as_me:$LINENO: checking for working strnlen" >&5 echo $ECHO_N "checking for working strnlen... $ECHO_C" >&6; } if test "${ac_cv_func_strnlen_working+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_strnlen_working=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #define S "foobar" #define S_LEN (sizeof S - 1) /* At least one implementation is buggy: that of AIX 4.3 would give strnlen (S, 1) == 3. */ int i; for (i = 0; i < S_LEN + 1; ++i) { int expected = i <= S_LEN ? i : S_LEN; if (strnlen (S, i) != expected) return 1; } return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_strnlen_working=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_strnlen_working=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_strnlen_working" >&5 echo "${ECHO_T}$ac_cv_func_strnlen_working" >&6; } test $ac_cv_func_strnlen_working = no && gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext" if test $ac_cv_func_strnlen_working = no; then # This is necessary because automake-1.6.1 doesn't understand # that the above use of AC_FUNC_STRNLEN means we may have to use # lib/strnlen.c. #AC_LIBOBJ(strnlen) cat >>confdefs.h <<\_ACEOF #define strnlen rpl_strnlen _ACEOF : fi GNULIB_STRNLEN=1 for ac_func in strpbrk do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_strpbrk = no; then HAVE_STRPBRK=0 : fi GNULIB_STRPBRK=1 { echo "$as_me:$LINENO: checking for working strtod" >&5 echo $ECHO_N "checking for working strtod... $ECHO_C" >&6; } if test "${ac_cv_func_strtod+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_strtod=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #ifndef strtod double strtod (); #endif int main() { { /* Some versions of Linux strtod mis-parse strings with leading '+'. */ char *string = " +69"; char *term; double value; value = strtod (string, &term); if (value != 69 || term != (string + 4)) return 1; } { /* Under Solaris 2.4, strtod returns the wrong value for the terminating character under some conditions. */ char *string = "NaN"; char *term; strtod (string, &term); if (term != string && *(term - 1) == 0) return 1; } return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_strtod=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_strtod=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_strtod" >&5 echo "${ECHO_T}$ac_cv_func_strtod" >&6; } if test $ac_cv_func_strtod = no; then gl_LIBOBJS="$gl_LIBOBJS strtod.$ac_objext" { echo "$as_me:$LINENO: checking for pow" >&5 echo $ECHO_N "checking for pow... $ECHO_C" >&6; } if test "${ac_cv_func_pow+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define pow to an innocuous variant, in case declares pow. For example, HP-UX 11i declares gettimeofday. */ #define pow innocuous_pow /* System header to define __stub macros and hopefully few prototypes, which can conflict with char pow (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef pow /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pow (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_pow || defined __stub___pow choke me #endif int main () { return pow (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_pow=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_pow=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_pow" >&5 echo "${ECHO_T}$ac_cv_func_pow" >&6; } if test $ac_cv_func_pow = no; then { echo "$as_me:$LINENO: checking for pow in -lm" >&5 echo $ECHO_N "checking for pow in -lm... $ECHO_C" >&6; } if test "${ac_cv_lib_m_pow+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pow (); int main () { return pow (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_m_pow=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_m_pow=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_m_pow" >&5 echo "${ECHO_T}$ac_cv_lib_m_pow" >&6; } if test $ac_cv_lib_m_pow = yes; then POW_LIB=-lm else { echo "$as_me:$LINENO: WARNING: cannot find library containing definition of pow" >&5 echo "$as_me: WARNING: cannot find library containing definition of pow" >&2;} fi fi fi if test $ac_cv_func_strtod = no; then HAVE_STRTOD=0 REPLACE_STRTOD=1 : else { echo "$as_me:$LINENO: checking whether strtod obeys C99" >&5 echo $ECHO_N "checking whether strtod obeys C99... $ECHO_C" >&6; } if test "${gl_cv_func_strtod_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_strtod_works="guessing no" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include /* Compare two numbers with ==. This is a separate function because IRIX 6.5 "cc -O" miscompiles an 'x == x' test. */ static int numeric_equal (double x, double y) { return x == y; } int main () { { /* Older glibc and Cygwin mis-parse "-0x". */ const char *string = "-0x"; char *term; double value = strtod (string, &term); double zero = 0.0; if (1.0 / value != -1.0 / zero || term != (string + 2)) return 1; } { /* Many platforms do not parse hex floats. */ const char *string = "0XaP+1"; char *term; double value = strtod (string, &term); if (value != 20.0 || term != (string + 6)) return 1; } { /* Many platforms do not parse infinities. */ const char *string = "inf"; char *term; double value = strtod (string, &term); if (value != HUGE_VAL || term != (string + 3)) return 1; } { /* glibc 2.7 and cygwin 1.5.24 misparse "nan()". */ const char *string = "nan()"; char *term; double value = strtod (string, &term); if (numeric_equal (value, value) || term != (string + 5)) return 1; } ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_strtod_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_strtod_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_strtod_works" >&5 echo "${ECHO_T}$gl_cv_func_strtod_works" >&6; } if test "$gl_cv_func_strtod_works" != yes; then REPLACE_STRTOD=1 : gl_LIBOBJS="$gl_LIBOBJS strtod.$ac_objext" { echo "$as_me:$LINENO: checking for pow" >&5 echo $ECHO_N "checking for pow... $ECHO_C" >&6; } if test "${ac_cv_func_pow+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define pow to an innocuous variant, in case declares pow. For example, HP-UX 11i declares gettimeofday. */ #define pow innocuous_pow /* System header to define __stub macros and hopefully few prototypes, which can conflict with char pow (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef pow /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pow (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_pow || defined __stub___pow choke me #endif int main () { return pow (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_pow=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_pow=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_pow" >&5 echo "${ECHO_T}$ac_cv_func_pow" >&6; } if test $ac_cv_func_pow = no; then { echo "$as_me:$LINENO: checking for pow in -lm" >&5 echo $ECHO_N "checking for pow in -lm... $ECHO_C" >&6; } if test "${ac_cv_lib_m_pow+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pow (); int main () { return pow (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_m_pow=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_m_pow=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_m_pow" >&5 echo "${ECHO_T}$ac_cv_lib_m_pow" >&6; } if test $ac_cv_lib_m_pow = yes; then POW_LIB=-lm else { echo "$as_me:$LINENO: WARNING: cannot find library containing definition of pow" >&5 echo "$as_me: WARNING: cannot find library containing definition of pow" >&2;} fi fi fi fi GNULIB_STRTOD=1 { echo "$as_me:$LINENO: checking whether defines strtoimax as a macro" >&5 echo $ECHO_N "checking whether defines strtoimax as a macro... $ECHO_C" >&6; } if test "${gl_cv_func_strtoimax_macro+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef strtoimax inttypes_h_defines_strtoimax #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "inttypes_h_defines_strtoimax" >/dev/null 2>&1; then gl_cv_func_strtoimax_macro=yes else gl_cv_func_strtoimax_macro=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $gl_cv_func_strtoimax_macro" >&5 echo "${ECHO_T}$gl_cv_func_strtoimax_macro" >&6; } if test "$gl_cv_func_strtoimax_macro" != yes; then for ac_func in strtoimax do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_strtoimax = no; then { echo "$as_me:$LINENO: checking whether strtoll is declared" >&5 echo $ECHO_N "checking whether strtoll is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strtoll+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strtoll (void) strtoll; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strtoll=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strtoll=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoll" >&5 echo "${ECHO_T}$ac_cv_have_decl_strtoll" >&6; } if test $ac_cv_have_decl_strtoll = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOLL 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOLL 0 _ACEOF fi fi fi GNULIB_STRTOIMAX=1 for ac_func in strtol do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test "$ac_cv_type_long_long_int" = yes; then for ac_func in strtoll do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_strtoll = no; then : fi fi for ac_func in strtoul do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test "$ac_cv_type_unsigned_long_long_int" = yes; then for ac_func in strtoull do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_strtoull = no; then : fi fi { echo "$as_me:$LINENO: checking whether defines strtoumax as a macro" >&5 echo $ECHO_N "checking whether defines strtoumax as a macro... $ECHO_C" >&6; } if test "${gl_cv_func_strtoumax_macro+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef strtoumax inttypes_h_defines_strtoumax #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "inttypes_h_defines_strtoumax" >/dev/null 2>&1; then gl_cv_func_strtoumax_macro=yes else gl_cv_func_strtoumax_macro=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $gl_cv_func_strtoumax_macro" >&5 echo "${ECHO_T}$gl_cv_func_strtoumax_macro" >&6; } if test "$gl_cv_func_strtoumax_macro" != yes; then for ac_func in strtoumax do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_strtoumax = no; then { echo "$as_me:$LINENO: checking whether strtoull is declared" >&5 echo $ECHO_N "checking whether strtoull is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strtoull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef strtoull (void) strtoull; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strtoull=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strtoull=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoull" >&5 echo "${ECHO_T}$ac_cv_have_decl_strtoull" >&6; } if test $ac_cv_have_decl_strtoull = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOULL 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRTOULL 0 _ACEOF fi fi fi GNULIB_STRTOUMAX=1 for ac_func in strverscmp do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF else gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext" fi done if test $ac_cv_func_strverscmp = no; then : fi { echo "$as_me:$LINENO: checking whether is self-contained" >&5 echo $ECHO_N "checking whether is self-contained... $ECHO_C" >&6; } if test "${gl_cv_header_sys_socket_h_selfcontained+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_sys_socket_h_selfcontained=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_sys_socket_h_selfcontained=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_sys_socket_h_selfcontained" >&5 echo "${ECHO_T}$gl_cv_header_sys_socket_h_selfcontained" >&6; } if test $gl_cv_header_sys_socket_h_selfcontained = yes; then SYS_SOCKET_H='' for ac_func in shutdown do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_shutdown = yes; then { echo "$as_me:$LINENO: checking whether defines the SHUT_* macros" >&5 echo $ECHO_N "checking whether defines the SHUT_* macros... $ECHO_C" >&6; } if test "${gl_cv_header_sys_socket_h_shut+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR }; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_sys_socket_h_shut=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_sys_socket_h_shut=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_sys_socket_h_shut" >&5 echo "${ECHO_T}$gl_cv_header_sys_socket_h_shut" >&6; } if test $gl_cv_header_sys_socket_h_shut = no; then SYS_SOCKET_H='sys/socket.h' fi fi else SYS_SOCKET_H='sys/socket.h' fi if test -n "$SYS_SOCKET_H"; then if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_socket_h='<'sys/socket.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_sys_socket_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_sys_socket_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_sys_socket_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/sys/socket.h#{ s#.*"\(.*/sys/socket.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_sys_socket_h='<'sys/socket.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_sys_socket_h" >&5 echo "${ECHO_T}$gl_cv_next_sys_socket_h" >&6; } fi NEXT_SYS_SOCKET_H=$gl_cv_next_sys_socket_h if test $ac_cv_header_sys_socket_h = yes; then HAVE_SYS_SOCKET_H=1 HAVE_WINSOCK2_H=0 HAVE_WS2TCPIP_H=0 else HAVE_SYS_SOCKET_H=0 for ac_header in winsock2.h ws2tcpip.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_winsock2_h = yes; then HAVE_WINSOCK2_H=1 else HAVE_WINSOCK2_H=0 fi if test $ac_cv_header_ws2tcpip_h = yes; then HAVE_WS2TCPIP_H=1 else HAVE_WS2TCPIP_H=0 fi fi fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } if test $ac_cv_func_lstat = yes; then HAVE_LSTAT=1 else HAVE_LSTAT=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_sys_stat_h='<'sys/stat.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_sys_stat_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_sys_stat_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_sys_stat_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/sys/stat.h#{ s#.*"\(.*/sys/stat.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_sys_stat_h='<'sys/stat.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_sys_stat_h" >&5 echo "${ECHO_T}$gl_cv_next_sys_stat_h" >&6; } fi NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h SYS_STAT_H='sys/stat.h' { echo "$as_me:$LINENO: checking for nlink_t" >&5 echo $ECHO_N "checking for nlink_t... $ECHO_C" >&6; } if test "${ac_cv_type_nlink_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include typedef nlink_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_nlink_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_nlink_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_nlink_t" >&5 echo "${ECHO_T}$ac_cv_type_nlink_t" >&6; } if test $ac_cv_type_nlink_t = yes; then : else cat >>confdefs.h <<\_ACEOF #define nlink_t int _ACEOF fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } gl_LIBOBJS="$gl_LIBOBJS tempname.$ac_objext" : { echo "$as_me:$LINENO: checking whether localtime_r is compatible with its POSIX signature" >&5 echo $ECHO_N "checking whether localtime_r is compatible with its POSIX signature... $ECHO_C" >&6; } if test "${gl_cv_time_r_posix+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { /* We don't need to append 'restrict's to the argument types, even though the POSIX signature has the 'restrict's, since C99 says they can't affect type compatibility. */ struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; if (ptr) return 0; /* Check the return type is a pointer. On HP-UX 10 it is 'int'. */ *localtime_r (0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_time_r_posix=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_time_r_posix=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_time_r_posix" >&5 echo "${ECHO_T}$gl_cv_time_r_posix" >&6; } if test $gl_cv_time_r_posix = yes; then REPLACE_LOCALTIME_R=0 else REPLACE_LOCALTIME_R=1 gl_LIBOBJS="$gl_LIBOBJS time_r.$ac_objext" : fi { echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5 echo $ECHO_N "checking whether mbrtowc and mbstate_t are properly declared... $ECHO_C" >&6; } if test "${gl_cv_func_mbrtowc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { wchar_t wc; char const s[] = ""; size_t n = 1; mbstate_t state; return ! (sizeof state && (mbrtowc) (&wc, s, n, &state)); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gl_cv_func_mbrtowc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_mbrtowc=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_func_mbrtowc" >&5 echo "${ECHO_T}$gl_cv_func_mbrtowc" >&6; } if test $gl_cv_func_mbrtowc = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MBRTOWC 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether tzset clobbers localtime buffer" >&5 echo $ECHO_N "checking whether tzset clobbers localtime buffer... $ECHO_C" >&6; } if test "${gl_cv_func_tzset_clobber+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_tzset_clobber=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { time_t t1 = 853958121; struct tm *p, s; putenv ("TZ=GMT0"); p = localtime (&t1); s = *p; putenv ("TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"); tzset (); return (p->tm_year != s.tm_year || p->tm_mon != s.tm_mon || p->tm_mday != s.tm_mday || p->tm_hour != s.tm_hour || p->tm_min != s.tm_min || p->tm_sec != s.tm_sec); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_tzset_clobber=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_tzset_clobber=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_tzset_clobber" >&5 echo "${ECHO_T}$gl_cv_func_tzset_clobber" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_RUN_TZSET_TEST 1 _ACEOF if test $gl_cv_func_tzset_clobber = yes; then gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" for ac_header in sys/timeb.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in _ftime do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done cat >>confdefs.h <<\_ACEOF #define gmtime rpl_gmtime _ACEOF cat >>confdefs.h <<\_ACEOF #define localtime rpl_localtime _ACEOF cat >>confdefs.h <<\_ACEOF #define tzset rpl_tzset _ACEOF cat >>confdefs.h <<\_ACEOF #define TZSET_CLOBBERS_LOCALTIME 1 _ACEOF fi : if test $gl_cv_have_include_next = yes; then gl_cv_next_unistd_h='<'unistd.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_unistd_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_unistd_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_unistd_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/unistd.h#{ s#.*"\(.*/unistd.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_unistd_h='<'unistd.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_unistd_h" >&5 echo "${ECHO_T}$gl_cv_next_unistd_h" >&6; } fi NEXT_UNISTD_H=$gl_cv_next_unistd_h if test $ac_cv_header_unistd_h = yes; then HAVE_UNISTD_H=1 else HAVE_UNISTD_H=0 fi gl_LIBOBJS="$gl_LIBOBJS dup-safer.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS fd-safer.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS pipe-safer.$ac_objext" { echo "$as_me:$LINENO: checking whether a running program can be unlinked" >&5 echo $ECHO_N "checking whether a running program can be unlinked... $ECHO_C" >&6; } if test "${gl_cv_func_unlink_busy_text+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_unlink_busy_text=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main (int argc, char **argv) { return !argc || unlink (argv[0]) != 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_unlink_busy_text=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_unlink_busy_text=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_unlink_busy_text" >&5 echo "${ECHO_T}$gl_cv_func_unlink_busy_text" >&6; } if test $gl_cv_func_unlink_busy_text = no; then INSTALL=$ac_install_sh fi gl_LIBOBJS="$gl_LIBOBJS unlinkdir.$ac_objext" # The Hurd, the Linux kernel, the FreeBSD kernel version 2.2 and later, # and Cygwin never let anyone (even root) unlink directories. # If anyone knows of another system for which unlink can never # remove a directory, please report it to . # Unfortunately this is difficult to test for, since it requires root access # and might create garbage in the file system, # so the code below simply relies on the kernel name and version number. case $host in *-*-gnu[0-9]* | \ *-*-linux-* | *-*-linux | \ *-*-freebsd2.2* | *-*-freebsd[3-9]* | *-*-freebsd[1-9][0-9]* | \ *-cygwin) cat >>confdefs.h <<\_ACEOF #define UNLINK_CANNOT_UNLINK_DIR 1 _ACEOF ;; esac cat >>confdefs.h <<\_ACEOF #define USE_UNLOCKED_IO 1 _ACEOF for ac_func in unsetenv do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_unsetenv = no; then HAVE_UNSETENV=0 gl_LIBOBJS="$gl_LIBOBJS unsetenv.$ac_objext" else { echo "$as_me:$LINENO: checking for unsetenv() return type" >&5 echo $ECHO_N "checking for unsetenv() return type... $ECHO_C" >&6; } if test "${gt_cv_func_unsetenv_ret+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) int unsetenv (const char *name); #else int unsetenv(); #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_func_unsetenv_ret='int' else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_unsetenv_ret='void' fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_func_unsetenv_ret" >&5 echo "${ECHO_T}$gt_cv_func_unsetenv_ret" >&6; } if test $gt_cv_func_unsetenv_ret = 'void'; then VOID_UNSETENV=1 fi fi GNULIB_UNSETENV=1 { echo "$as_me:$LINENO: checking for /proc/uptime" >&5 echo $ECHO_N "checking for /proc/uptime... $ECHO_C" >&6; } if test "${gl_cv_have_proc_uptime+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_have_proc_uptime=no test -f /proc/uptime \ && test "$cross_compiling" = no \ && cat < /proc/uptime >/dev/null 2>/dev/null \ && gl_cv_have_proc_uptime=yes fi { echo "$as_me:$LINENO: result: $gl_cv_have_proc_uptime" >&5 echo "${ECHO_T}$gl_cv_have_proc_uptime" >&6; } if test $gl_cv_have_proc_uptime = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_PROC_UPTIME 1 _ACEOF fi gl_LIBOBJS="$gl_LIBOBJS userspec.$ac_objext" if test $ac_cv_func_utime_null = no; then gl_LIBOBJS="$gl_LIBOBJS utime.$ac_objext" cat >>confdefs.h <<\_ACEOF #define utime rpl_utime _ACEOF { echo "$as_me:$LINENO: checking whether utimes accepts a null argument" >&5 echo $ECHO_N "checking whether utimes accepts a null argument... $ECHO_C" >&6; } if test "${ac_cv_func_utimes_null+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else rm -f conftest.data; > conftest.data if test "$cross_compiling" = yes; then ac_cv_func_utimes_null=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* In case stat has been defined to rpl_stat, undef it here. */ #undef stat #include #include #include int main () { struct stat s, t; return ! (stat ("conftest.data", &s) == 0 && utimes ("conftest.data", 0) == 0 && stat ("conftest.data", &t) == 0 && t.st_mtime >= s.st_mtime && t.st_mtime - s.st_mtime < 120)); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_utimes_null=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_utimes_null=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f core core.* *.core fi { echo "$as_me:$LINENO: result: $ac_cv_func_utimes_null" >&5 echo "${ECHO_T}$ac_cv_func_utimes_null" >&6; } if test $ac_cv_func_utimes_null = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_UTIMES_NULL 1 _ACEOF fi fi gl_LIBOBJS="$gl_LIBOBJS utimecmp.$ac_objext" : gl_LIBOBJS="$gl_LIBOBJS utimens.$ac_objext" if test $ac_cv_func_vasnprintf = no; then gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext" if test $ac_cv_func_vasnprintf = yes; then cat >>confdefs.h <<\_ACEOF #define REPLACE_VASNPRINTF 1 _ACEOF fi { echo "$as_me:$LINENO: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6; } if test "${ac_cv_type_ptrdiff_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef ptrdiff_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_ptrdiff_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_ptrdiff_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6; } if test $ac_cv_type_ptrdiff_t = yes; then : else cat >>confdefs.h <<\_ACEOF #define ptrdiff_t long _ACEOF fi for ac_func in snprintf wcslen do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether _snprintf is declared" >&5 echo $ECHO_N "checking whether _snprintf is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl__snprintf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef _snprintf (void) _snprintf; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl__snprintf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl__snprintf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl__snprintf" >&5 echo "${ECHO_T}$ac_cv_have_decl__snprintf" >&6; } if test $ac_cv_have_decl__snprintf = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNPRINTF 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNPRINTF 0 _ACEOF fi fi for ac_func in vasprintf do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_vasprintf = no; then gl_LIBOBJS="$gl_LIBOBJS vasprintf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS asprintf.$ac_objext" if test $ac_cv_func_vasprintf = yes; then REPLACE_VASPRINTF=1 else HAVE_VASPRINTF=0 fi fi GNULIB_VASPRINTF=1 XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=asprintf:2:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=vasprintf:2:c-format" gl_cv_func_vasprintf_posix=no for ac_func in vasprintf do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done case "$gl_cv_func_printf_sizes_c99" in *yes) case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) case "$gl_cv_func_printf_directive_a" in *yes) case "$gl_cv_func_printf_directive_f" in *yes) case "$gl_cv_func_printf_directive_n" in *yes) case "$gl_cv_func_printf_positions" in *yes) case "$gl_cv_func_printf_flag_grouping" in *yes) case "$gl_cv_func_printf_flag_leftadjust" in *yes) case "$gl_cv_func_printf_flag_zero" in *yes) case "$gl_cv_func_printf_precision" in *yes) case "$gl_cv_func_printf_enomem" in *yes) if test $ac_cv_func_vasprintf = yes; then # vasprintf exists and is # already POSIX compliant. gl_cv_func_vasprintf_posix=yes fi ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac if test $gl_cv_func_vasprintf_posix = no; then case "$gl_cv_func_printf_long_double" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_LONG_DOUBLE 1 _ACEOF ;; esac case "$gl_cv_func_printf_infinite" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_INFINITE_DOUBLE 1 _ACEOF ;; esac case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_INFINITE_LONG_DOUBLE 1 _ACEOF ;; esac ;; esac case "$gl_cv_func_printf_directive_a" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_DIRECTIVE_A 1 _ACEOF for ac_func in nl_langinfo do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done ;; esac case "$gl_cv_func_printf_directive_f" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_DIRECTIVE_F 1 _ACEOF ;; esac case "$gl_cv_func_printf_flag_grouping" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_FLAG_GROUPING 1 _ACEOF ;; esac case "$gl_cv_func_printf_flag_leftadjust" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_FLAG_LEFTADJUST 1 _ACEOF ;; esac case "$gl_cv_func_printf_flag_zero" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_FLAG_ZERO 1 _ACEOF ;; esac case "$gl_cv_func_printf_precision" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_UNBOUNDED_PRECISION 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_DOUBLE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_LONG_DOUBLE 1 _ACEOF ;; esac case "$gl_cv_func_printf_enomem" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_ENOMEM 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_DOUBLE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_LONG_DOUBLE 1 _ACEOF ;; esac gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext" if test $ac_cv_func_vasnprintf = yes; then cat >>confdefs.h <<\_ACEOF #define REPLACE_VASNPRINTF 1 _ACEOF fi { echo "$as_me:$LINENO: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6; } if test "${ac_cv_type_ptrdiff_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef ptrdiff_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_ptrdiff_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_ptrdiff_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6; } if test $ac_cv_type_ptrdiff_t = yes; then : else cat >>confdefs.h <<\_ACEOF #define ptrdiff_t long _ACEOF fi for ac_func in snprintf wcslen do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether _snprintf is declared" >&5 echo $ECHO_N "checking whether _snprintf is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl__snprintf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef _snprintf (void) _snprintf; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl__snprintf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl__snprintf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl__snprintf" >&5 echo "${ECHO_T}$ac_cv_have_decl__snprintf" >&6; } if test $ac_cv_have_decl__snprintf = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNPRINTF 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNPRINTF 0 _ACEOF fi gl_LIBOBJS="$gl_LIBOBJS vasprintf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS asprintf.$ac_objext" if test $ac_cv_func_vasprintf = yes; then REPLACE_VASPRINTF=1 else HAVE_VASPRINTF=0 fi fi gl_cv_func_vfprintf_posix=no case "$gl_cv_func_printf_sizes_c99" in *yes) case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) case "$gl_cv_func_printf_directive_a" in *yes) case "$gl_cv_func_printf_directive_f" in *yes) case "$gl_cv_func_printf_directive_n" in *yes) case "$gl_cv_func_printf_positions" in *yes) case "$gl_cv_func_printf_flag_grouping" in *yes) case "$gl_cv_func_printf_flag_leftadjust" in *yes) case "$gl_cv_func_printf_flag_zero" in *yes) case "$gl_cv_func_printf_precision" in *yes) case "$gl_cv_func_printf_enomem" in *yes) # vfprintf exists and is # already POSIX compliant. gl_cv_func_vfprintf_posix=yes ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac ;; esac if test $gl_cv_func_vfprintf_posix = no; then case "$gl_cv_func_printf_long_double" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_LONG_DOUBLE 1 _ACEOF ;; esac case "$gl_cv_func_printf_infinite" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_INFINITE_DOUBLE 1 _ACEOF ;; esac case "$gl_cv_func_printf_long_double" in *yes) case "$gl_cv_func_printf_infinite_long_double" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_INFINITE_LONG_DOUBLE 1 _ACEOF ;; esac ;; esac case "$gl_cv_func_printf_directive_a" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_DIRECTIVE_A 1 _ACEOF for ac_func in nl_langinfo do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done ;; esac case "$gl_cv_func_printf_directive_f" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_DIRECTIVE_F 1 _ACEOF ;; esac case "$gl_cv_func_printf_flag_grouping" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_FLAG_GROUPING 1 _ACEOF ;; esac case "$gl_cv_func_printf_flag_leftadjust" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_FLAG_LEFTADJUST 1 _ACEOF ;; esac case "$gl_cv_func_printf_flag_zero" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_FLAG_ZERO 1 _ACEOF ;; esac case "$gl_cv_func_printf_precision" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_UNBOUNDED_PRECISION 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_DOUBLE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_LONG_DOUBLE 1 _ACEOF ;; esac case "$gl_cv_func_printf_enomem" in *yes) ;; *) cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_ENOMEM 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_DOUBLE 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define NEED_PRINTF_LONG_DOUBLE 1 _ACEOF ;; esac gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext" if test $ac_cv_func_vasnprintf = yes; then cat >>confdefs.h <<\_ACEOF #define REPLACE_VASNPRINTF 1 _ACEOF fi { echo "$as_me:$LINENO: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6; } if test "${ac_cv_type_ptrdiff_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef ptrdiff_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_ptrdiff_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_ptrdiff_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6; } if test $ac_cv_type_ptrdiff_t = yes; then : else cat >>confdefs.h <<\_ACEOF #define ptrdiff_t long _ACEOF fi for ac_func in snprintf wcslen do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether _snprintf is declared" >&5 echo $ECHO_N "checking whether _snprintf is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl__snprintf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef _snprintf (void) _snprintf; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl__snprintf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl__snprintf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl__snprintf" >&5 echo "${ECHO_T}$ac_cv_have_decl__snprintf" >&6; } if test $ac_cv_have_decl__snprintf = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNPRINTF 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNPRINTF 0 _ACEOF fi gl_LIBOBJS="$gl_LIBOBJS vfprintf.$ac_objext" REPLACE_VFPRINTF=1 : fi GNULIB_VFPRINTF_POSIX=1 if test $gl_cv_func_vfprintf_posix = no; then gl_LIBOBJS="$gl_LIBOBJS vprintf.$ac_objext" REPLACE_VPRINTF=1 : fi GNULIB_VPRINTF_POSIX=1 { echo "$as_me:$LINENO: checking whether is standalone" >&5 echo $ECHO_N "checking whether is standalone... $ECHO_C" >&6; } if test "${gl_cv_header_wchar_h_standalone+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #include wchar_t w; _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_header_wchar_h_standalone=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_header_wchar_h_standalone=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gl_cv_header_wchar_h_standalone" >&5 echo "${ECHO_T}$gl_cv_header_wchar_h_standalone" >&6; } if test $gl_cv_header_wchar_h_standalone != yes; then WCHAR_H=wchar.h fi if test $ac_cv_header_wchar_h = yes; then HAVE_WCHAR_H=1 else HAVE_WCHAR_H=0 fi if test $gl_cv_have_include_next = yes; then gl_cv_next_wchar_h='<'wchar.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_wchar_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_wchar_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_wchar_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/wchar.h#{ s#.*"\(.*/wchar.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_wchar_h='<'wchar.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_wchar_h" >&5 echo "${ECHO_T}$gl_cv_next_wchar_h" >&6; } fi NEXT_WCHAR_H=$gl_cv_next_wchar_h if test $ac_cv_func_iswcntrl = yes; then HAVE_ISWCNTRL=1 else HAVE_ISWCNTRL=0 fi if test $gt_cv_c_wint_t = yes; then HAVE_WINT_T=1 else HAVE_WINT_T=0 fi WCTYPE_H=wctype.h if test $ac_cv_header_wctype_h = yes; then if test $ac_cv_func_iswcntrl = yes; then { echo "$as_me:$LINENO: checking whether iswcntrl works" >&5 echo $ECHO_N "checking whether iswcntrl works... $ECHO_C" >&6; } if test "${gl_cv_func_iswcntrl_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if __GNU_LIBRARY__ == 1 Linux libc5 i18n is broken. #endif int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_func_iswcntrl_works=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_func_iswcntrl_works=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #include int main () { return iswprint ('x') == 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_iswcntrl_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_iswcntrl_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_iswcntrl_works" >&5 echo "${ECHO_T}$gl_cv_func_iswcntrl_works" >&6; } if test $gl_cv_func_iswcntrl_works = yes; then WCTYPE_H= fi fi if test $gl_cv_have_include_next = yes; then gl_cv_next_wctype_h='<'wctype.h'>' else { echo "$as_me:$LINENO: checking absolute name of " >&5 echo $ECHO_N "checking absolute name of ... $ECHO_C" >&6; } if test "${gl_cv_next_wctype_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test $ac_cv_header_wctype_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF gl_cv_next_wctype_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | sed -n '\#/wctype.h#{ s#.*"\(.*/wctype.h\)".*#\1# s#^/[^/]#//&# p q }'`'"' else gl_cv_next_wctype_h='<'wctype.h'>' fi fi { echo "$as_me:$LINENO: result: $gl_cv_next_wctype_h" >&5 echo "${ECHO_T}$gl_cv_next_wctype_h" >&6; } fi NEXT_WCTYPE_H=$gl_cv_next_wctype_h HAVE_WCTYPE_H=1 else HAVE_WCTYPE_H=0 fi if test "$gl_cv_func_iswcntrl_works" = no; then REPLACE_ISWCNTRL=1 else REPLACE_ISWCNTRL=0 fi { echo "$as_me:$LINENO: checking whether wcwidth is declared" >&5 echo $ECHO_N "checking whether wcwidth is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_wcwidth+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* AIX 3.2.5 declares wcwidth in . */ #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include int main () { #ifndef wcwidth (void) wcwidth; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_wcwidth=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_wcwidth=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_wcwidth" >&5 echo "${ECHO_T}$ac_cv_have_decl_wcwidth" >&6; } if test $ac_cv_have_decl_wcwidth = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_WCWIDTH 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_WCWIDTH 0 _ACEOF fi if test $ac_cv_have_decl_wcwidth != yes; then HAVE_DECL_WCWIDTH=0 fi if test $ac_cv_func_wcwidth = no; then REPLACE_WCWIDTH=1 else { echo "$as_me:$LINENO: checking whether wcwidth works reasonably in UTF-8 locales" >&5 echo $ECHO_N "checking whether wcwidth works reasonably in UTF-8 locales... $ECHO_C" >&6; } if test "${gl_cv_func_wcwidth_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_func_wcwidth_works="guessing no" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* AIX 3.2.5 declares wcwidth in . */ #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include #if !HAVE_DECL_WCWIDTH extern # ifdef __cplusplus "C" # endif int wcwidth (int); #endif int main () { if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL) if (wcwidth (0x0301) > 0 || wcwidth (0x200B) > 0) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_func_wcwidth_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_func_wcwidth_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_func_wcwidth_works" >&5 echo "${ECHO_T}$gl_cv_func_wcwidth_works" >&6; } case "$gl_cv_func_wcwidth_works" in *yes) ;; *no) REPLACE_WCWIDTH=1 ;; esac fi if test $REPLACE_WCWIDTH = 1; then gl_LIBOBJS="$gl_LIBOBJS wcwidth.$ac_objext" fi if test $REPLACE_WCWIDTH = 1 || test $HAVE_DECL_WCWIDTH = 0; then WCHAR_H=wchar.h fi GNULIB_WCWIDTH=1 { echo "$as_me:$LINENO: checking whether use of TIOCGWINSZ requires sys/ioctl.h" >&5 echo $ECHO_N "checking whether use of TIOCGWINSZ requires sys/ioctl.h... $ECHO_C" >&6; } if test "${gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include # include # ifdef TIOCGWINSZ yes # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes fi rm -f conftest* fi fi { echo "$as_me:$LINENO: result: $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h" >&5 echo "${ECHO_T}$gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h" >&6; } if test $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then cat >>confdefs.h <<\_ACEOF #define GWINSZ_IN_SYS_IOCTL 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether use of TIOCGWINSZ requires termios.h" >&5 echo $ECHO_N "checking whether use of TIOCGWINSZ requires termios.h... $ECHO_C" >&6; } if test "${gl_cv_sys_tiocgwinsz_needs_termios_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_sys_tiocgwinsz_needs_termios_h=no if test $ac_cv_sys_posix_termios = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include # include # ifdef TIOCGWINSZ yes # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_sys_tiocgwinsz_needs_termios_h=yes fi rm -f conftest* fi fi { echo "$as_me:$LINENO: result: $gl_cv_sys_tiocgwinsz_needs_termios_h" >&5 echo "${ECHO_T}$gl_cv_sys_tiocgwinsz_needs_termios_h" >&6; } { echo "$as_me:$LINENO: checking whether use of struct winsize requires sys/ptem.h" >&5 echo $ECHO_N "checking whether use of struct winsize requires sys/ptem.h... $ECHO_C" >&6; } if test "${gl_cv_sys_struct_winsize_needs_sys_ptem_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_sys_struct_winsize_needs_sys_ptem_h=yes if test $ac_cv_sys_posix_termios = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_sys_struct_winsize_needs_sys_ptem_h=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_sys_struct_winsize_needs_sys_ptem_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&5 echo "${ECHO_T}$gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&6; } if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then cat >>confdefs.h <<\_ACEOF #define WINSIZE_IN_PTEM 1 _ACEOF fi gl_LIBOBJS="$gl_LIBOBJS write-any-file.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS xmalloc.$ac_objext" : : gl_LIBOBJS="$gl_LIBOBJS xgetcwd.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS xnanosleep.$ac_objext" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xprintf:1:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xvprintf:1:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xfprintf:2:c-format" XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=xvfprintf:2:c-format" for ac_header in stdint.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done : gl_LIBOBJS="$gl_LIBOBJS xstrtod.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS xstrtol.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS xstrtoul.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS xstrtol-error.$ac_objext" gl_LIBOBJS="$gl_LIBOBJS xstrtold.$ac_objext" gltests_libdeps= gltests_ltlibdeps= gl_source_base='gnulib-tests' { echo "$as_me:$LINENO: checking for a traditional french locale" >&5 echo $ECHO_N "checking for a traditional french locale... $ECHO_C" >&6; } if test "${gt_cv_locale_fr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else macosx= case "$host_os" in darwin[56]*) ;; darwin*) macosx=yes;; esac if test -n "$macosx"; then # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8 # encodings, but the kernel does not support them. The documentation # says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # See the comments in config.charset. Therefore we bypass the test. gt_cv_locale_fr=none else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* fi fi { echo "$as_me:$LINENO: result: $gt_cv_locale_fr" >&5 echo "${ECHO_T}$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr { echo "$as_me:$LINENO: checking for a turkish Unicode locale" >&5 echo $ECHO_N "checking for a turkish Unicode locale... $ECHO_C" >&6; } if test "${gt_cv_locale_tr_utf8+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. But BeOS does not implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the eighth month, the second character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f) return 1; /* Check whether the upper-/lowercase mappings are as expected for Turkish. */ if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i' || towupper(0x0131) != 'I' || towlower ('I') != 0x0131) return 1; return 0; } _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr.UTF-8 else # None found. gt_cv_locale_tr_utf8=none fi fi fi else gt_cv_locale_tr_utf8=none fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $gt_cv_locale_tr_utf8" >&5 echo "${ECHO_T}$gt_cv_locale_tr_utf8" >&6; } LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8 { echo "$as_me:$LINENO: checking where to find the exponent in a 'double'" >&5 echo $ECHO_N "checking where to find the exponent in a 'double'... $ECHO_C" >&6; } if test "${gl_cv_cc_double_expbit0+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined arm || defined __arm || defined __arm__ mixed_endianness #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "mixed_endianness" >/dev/null 2>&1; then gl_cv_cc_double_expbit0="unknown" else : if test "${ac_cv_c_bigendian+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_bigendian=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # It does not; compile a test program. if test "$cross_compiling" = yes; then # try to guess the endianness by grepping values into an object file ac_cv_c_bigendian=unknown cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } int main () { _ascii (); _ebcdic (); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi : case $ac_cv_c_bigendian in yes) gl_cv_cc_double_expbit0="word 0 bit 20" ;; no) gl_cv_cc_double_expbit0="word 1 bit 20" ;; *) gl_cv_cc_double_expbit0="unknown" ;; esac fi rm -f conftest* else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { double value; unsigned int word[NWORDS]; } memory_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (double x) { memory_double m; size_t i; /* Clear it first, in case sizeof (double) < sizeof (memory_double). */ memset (&m, 0, sizeof (memory_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25); add_to_ored_words (0.5); add_to_ored_words (1.0); add_to_ored_words (2.0); add_to_ored_words (4.0); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_cc_double_expbit0=`cat conftest.out` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_cc_double_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.out fi { echo "$as_me:$LINENO: result: $gl_cv_cc_double_expbit0" >&5 echo "${ECHO_T}$gl_cv_cc_double_expbit0" >&6; } case "$gl_cv_cc_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define DBL_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define DBL_EXPBIT0_BIT $bit _ACEOF ;; esac { echo "$as_me:$LINENO: checking where to find the exponent in a 'float'" >&5 echo $ECHO_N "checking where to find the exponent in a 'float'... $ECHO_C" >&6; } if test "${gl_cv_cc_float_expbit0+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_cc_float_expbit0="word 0 bit 23" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { float value; unsigned int word[NWORDS]; } memory_float; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (float x) { memory_float m; size_t i; /* Clear it first, in case sizeof (float) < sizeof (memory_float). */ memset (&m, 0, sizeof (memory_float)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25f); add_to_ored_words (0.5f); add_to_ored_words (1.0f); add_to_ored_words (2.0f); add_to_ored_words (4.0f); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_cc_float_expbit0=`cat conftest.out` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_cc_float_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.out fi { echo "$as_me:$LINENO: result: $gl_cv_cc_float_expbit0" >&5 echo "${ECHO_T}$gl_cv_cc_float_expbit0" >&6; } case "$gl_cv_cc_float_expbit0" in word*bit*) word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define FLT_EXPBIT0_BIT $bit _ACEOF ;; esac { echo "$as_me:$LINENO: checking where to find the exponent in a 'long double'" >&5 echo $ECHO_N "checking where to find the exponent in a 'long double'... $ECHO_C" >&6; } if test "${gl_cv_cc_long_double_expbit0+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then gl_cv_cc_long_double_expbit0="unknown" else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include #define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { long double value; unsigned int word[NWORDS]; } memory_long_double; static unsigned int ored_words[NWORDS]; static unsigned int anded_words[NWORDS]; static void add_to_ored_words (long double x) { memory_long_double m; size_t i; /* Clear it first, in case sizeof (long double) < sizeof (memory_long_double). */ memset (&m, 0, sizeof (memory_long_double)); m.value = x; for (i = 0; i < NWORDS; i++) { ored_words[i] |= m.word[i]; anded_words[i] &= m.word[i]; } } int main () { size_t j; FILE *fp = fopen ("conftest.out", "w"); if (fp == NULL) return 1; for (j = 0; j < NWORDS; j++) anded_words[j] = ~ (unsigned int) 0; add_to_ored_words (0.25L); add_to_ored_words (0.5L); add_to_ored_words (1.0L); add_to_ored_words (2.0L); add_to_ored_words (4.0L); /* Remove bits that are common (e.g. if representation of the first mantissa bit is explicit). */ for (j = 0; j < NWORDS; j++) ored_words[j] &= ~anded_words[j]; /* Now find the nonzero word. */ for (j = 0; j < NWORDS; j++) if (ored_words[j] != 0) break; if (j < NWORDS) { size_t i; for (i = j + 1; i < NWORDS; i++) if (ored_words[i] != 0) { fprintf (fp, "unknown"); return (fclose (fp) != 0); } for (i = 0; ; i++) if ((ored_words[j] >> i) & 1) { fprintf (fp, "word %d bit %d", (int) j, (int) i); return (fclose (fp) != 0); } } fprintf (fp, "unknown"); return (fclose (fp) != 0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gl_cv_cc_long_double_expbit0=`cat conftest.out` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) gl_cv_cc_long_double_expbit0="unknown" fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.out fi { echo "$as_me:$LINENO: result: $gl_cv_cc_long_double_expbit0" >&5 echo "${ECHO_T}$gl_cv_cc_long_double_expbit0" >&6; } case "$gl_cv_cc_long_double_expbit0" in word*bit*) word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'` bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'` cat >>confdefs.h <<_ACEOF #define LDBL_EXPBIT0_WORD $word _ACEOF cat >>confdefs.h <<_ACEOF #define LDBL_EXPBIT0_BIT $bit _ACEOF ;; esac { echo "$as_me:$LINENO: checking for a turkish Unicode locale" >&5 echo $ECHO_N "checking for a turkish Unicode locale... $ECHO_C" >&6; } if test "${gt_cv_locale_tr_utf8+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. But BeOS does not implement the Turkish upper-/lowercase mappings. Therefore, let this program return 1 on BeOS. */ /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the eighth month, the second character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f) return 1; /* Check whether the upper-/lowercase mappings are as expected for Turkish. */ if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i' || towupper(0x0131) != 'I' || towlower ('I') != 0x0131) return 1; return 0; } _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr_TR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_tr_utf8=tr.UTF-8 else # None found. gt_cv_locale_tr_utf8=none fi fi fi else gt_cv_locale_tr_utf8=none fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $gt_cv_locale_tr_utf8" >&5 echo "${ECHO_T}$gt_cv_locale_tr_utf8" >&6; } LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8 { echo "$as_me:$LINENO: checking for a french Unicode locale" >&5 echo $ECHO_N "checking for a french Unicode locale... $ECHO_C" >&6; } if test "${gt_cv_locale_fr_utf8+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* On BeOS, locales are not implemented in libc. Rather, libintl imitates locale dependent behaviour by looking at the environment variables, and all locales use the UTF-8 encoding. */ #if !defined(__BEOS__) /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ # if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } # endif # ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; # endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is two bytes long, with UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 4 || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v') return 1; #endif /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr_FR.UTF-8 else # Test for the Solaris 7 locale name. if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr_utf8=fr.UTF-8 else # None found. gt_cv_locale_fr_utf8=none fi fi fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $gt_cv_locale_fr_utf8" >&5 echo "${ECHO_T}$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 { echo "$as_me:$LINENO: checking for a transitional chinese locale" >&5 echo $ECHO_N "checking for a transitional chinese locale... $ECHO_C" >&6; } if test "${gt_cv_locale_zh_CN+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else macosx= case "$host_os" in darwin[56]*) ;; darwin*) macosx=yes;; esac if test -n "$macosx"; then # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8 # encodings, but the kernel does not support them. The documentation # says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # See the comments in config.charset. Therefore we bypass the test. gt_cv_locale_zh_CN=none else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { const char *p; /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in a month name, no byte in the range 0x80..0x9F occurs. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1; for (p = buf; *p != '\0'; p++) if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0) return 1; /* Check whether a typical GB18030 multibyte sequence is recognized as a single wide character. This excludes the GB2312 and GBK encodings. */ if (mblen ("\203\062\332\066", 5) != 4) return 1; return 0; } _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the locale name without encoding suffix. if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN else # Test for the locale name with explicit encoding suffix. if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=zh_CN.GB18030 else # None found. gt_cv_locale_zh_CN=none fi fi else # If there was a link error, due to mblen(), the system is so old that # it certainly doesn't have a chinese locale. gt_cv_locale_zh_CN=none fi rm -fr conftest* fi fi { echo "$as_me:$LINENO: result: $gt_cv_locale_zh_CN" >&5 echo "${ECHO_T}$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN if test $ac_cv_func_sleep = no; then HAVE_SLEEP=0 gltests_LIBOBJS="$gltests_LIBOBJS sleep.$ac_objext" : fi GNULIB_SLEEP=1 { echo "$as_me:$LINENO: checking for wchar_t" >&5 echo $ECHO_N "checking for wchar_t... $ECHO_C" >&6; } if test "${gt_cv_c_wchar_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include wchar_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_c_wchar_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_c_wchar_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_c_wchar_t" >&5 echo "${ECHO_T}$gt_cv_c_wchar_t" >&6; } if test $gt_cv_c_wchar_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WCHAR_T 1 _ACEOF fi { echo "$as_me:$LINENO: checking for wint_t" >&5 echo $ECHO_N "checking for wint_t... $ECHO_C" >&6; } if test "${gt_cv_c_wint_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include wint_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gt_cv_c_wint_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_c_wint_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gt_cv_c_wint_t" >&5 echo "${ECHO_T}$gt_cv_c_wint_t" >&6; } if test $gt_cv_c_wint_t = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WINT_T 1 _ACEOF fi for ac_func in shutdown do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done abs_aux_dir=`cd "$ac_aux_dir"; pwd` LIBCOREUTILS_LIBDEPS="$gl_libdeps" LIBCOREUTILS_LTLIBDEPS="$gl_ltlibdeps" LIBTESTS_LIBDEPS="$gltests_libdeps" { echo "$as_me:$LINENO: checking for library containing strerror" >&5 echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; } if test "${ac_cv_search_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char strerror (); int main () { return strerror (); ; return 0; } _ACEOF for ac_lib in '' cposix; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_strerror=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_strerror+set}" = set; then break fi done if test "${ac_cv_search_strerror+set}" = set; then : else ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 echo "${ECHO_T}$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi { echo "$as_me:$LINENO: checking for function prototypes" >&5 echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6; } if test "$ac_cv_prog_cc_c89" != no; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } cat >>confdefs.h <<\_ACEOF #define PROTOTYPES 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define __PROTOTYPES 1 _ACEOF else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "$ac_cv_prog_cc_stdc" != no; then U= ANSI2KNR= else U=_ ANSI2KNR=./ansi2knr fi # Ensure some checks needed by ansi2knr itself. for ac_header in string.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for working volatile" >&5 echo $ECHO_N "checking for working volatile... $ECHO_C" >&6; } if test "${ac_cv_c_volatile+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { volatile int x; int * volatile y = (int *) 0; return !x && !y; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_volatile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_volatile" >&5 echo "${ECHO_T}$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then cat >>confdefs.h <<\_ACEOF #define volatile _ACEOF fi { echo "$as_me:$LINENO: checking for long double with more range or precision than double" >&5 echo $ECHO_N "checking for long double with more range or precision than double... $ECHO_C" >&6; } if test "${ac_cv_type_long_double_wider+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include long double const a[] = { 0.0L, DBL_MIN, DBL_MAX, DBL_EPSILON, LDBL_MIN, LDBL_MAX, LDBL_EPSILON }; long double f (long double x) { return ((x + (unsigned long int) 10) * (-1 / x) + a[0] + (x ? f (x) : 'c')); } int main () { static int test_array [1 - 2 * !((0 < ((DBL_MAX_EXP < LDBL_MAX_EXP) + (DBL_MANT_DIG < LDBL_MANT_DIG) - (LDBL_MAX_EXP < DBL_MAX_EXP) - (LDBL_MANT_DIG < DBL_MANT_DIG))) && (int) LDBL_EPSILON == 0 )]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_long_double_wider=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_long_double_wider=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_long_double_wider" >&5 echo "${ECHO_T}$ac_cv_type_long_double_wider" >&6; } if test $ac_cv_type_long_double_wider = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LONG_DOUBLE_WIDER 1 _ACEOF fi ac_cv_c_long_double=$ac_cv_type_long_double_wider if test $ac_cv_c_long_double = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LONG_DOUBLE 1 _ACEOF fi for ac_header in sys/sysctl.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #if HAVE_SYS_PARAM_H #include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for mode_t" >&5 echo $ECHO_N "checking for mode_t... $ECHO_C" >&6; } if test "${ac_cv_type_mode_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef mode_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_mode_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_mode_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 echo "${ECHO_T}$ac_cv_type_mode_t" >&6; } if test $ac_cv_type_mode_t = yes; then : else cat >>confdefs.h <<_ACEOF #define mode_t int _ACEOF fi { echo "$as_me:$LINENO: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; } if test "${ac_cv_type_pid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef pid_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_pid_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_pid_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6; } if test $ac_cv_type_pid_t = yes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi { echo "$as_me:$LINENO: checking whether sys/types.h defines makedev" >&5 echo $ECHO_N "checking whether sys/types.h defines makedev... $ECHO_C" >&6; } if test "${ac_cv_header_sys_types_h_makedev+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return makedev(0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_header_sys_types_h_makedev=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_sys_types_h_makedev=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_types_h_makedev" >&5 echo "${ECHO_T}$ac_cv_header_sys_types_h_makedev" >&6; } if test $ac_cv_header_sys_types_h_makedev = no; then if test "${ac_cv_header_sys_mkdev_h+set}" = set; then { echo "$as_me:$LINENO: checking for sys/mkdev.h" >&5 echo $ECHO_N "checking for sys/mkdev.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_mkdev_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_mkdev_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_mkdev_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking sys/mkdev.h usability" >&5 echo $ECHO_N "checking sys/mkdev.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking sys/mkdev.h presence" >&5 echo $ECHO_N "checking sys/mkdev.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: sys/mkdev.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: sys/mkdev.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: sys/mkdev.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: sys/mkdev.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: sys/mkdev.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: sys/mkdev.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: sys/mkdev.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: sys/mkdev.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: sys/mkdev.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: sys/mkdev.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: sys/mkdev.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: sys/mkdev.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: sys/mkdev.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/mkdev.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: sys/mkdev.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: sys/mkdev.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for sys/mkdev.h" >&5 echo $ECHO_N "checking for sys/mkdev.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_mkdev_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_sys_mkdev_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_mkdev_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_mkdev_h" >&6; } fi if test $ac_cv_header_sys_mkdev_h = yes; then cat >>confdefs.h <<\_ACEOF #define MAJOR_IN_MKDEV 1 _ACEOF fi if test $ac_cv_header_sys_mkdev_h = no; then if test "${ac_cv_header_sys_sysmacros_h+set}" = set; then { echo "$as_me:$LINENO: checking for sys/sysmacros.h" >&5 echo $ECHO_N "checking for sys/sysmacros.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_sysmacros_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_sysmacros_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_sysmacros_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking sys/sysmacros.h usability" >&5 echo $ECHO_N "checking sys/sysmacros.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking sys/sysmacros.h presence" >&5 echo $ECHO_N "checking sys/sysmacros.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: sys/sysmacros.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: sys/sysmacros.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: sys/sysmacros.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: sys/sysmacros.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: sys/sysmacros.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: sys/sysmacros.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/sysmacros.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: sys/sysmacros.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: sys/sysmacros.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for sys/sysmacros.h" >&5 echo $ECHO_N "checking for sys/sysmacros.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_sysmacros_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_sys_sysmacros_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_sysmacros_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_sysmacros_h" >&6; } fi if test $ac_cv_header_sys_sysmacros_h = yes; then cat >>confdefs.h <<\_ACEOF #define MAJOR_IN_SYSMACROS 1 _ACEOF fi fi fi { echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; } if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_time=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then cat >>confdefs.h <<\_ACEOF #define TIME_WITH_SYS_TIME 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether free is declared" >&5 echo $ECHO_N "checking whether free is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_free+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef free (void) free; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_free=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_free=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_free" >&5 echo "${ECHO_T}$ac_cv_have_decl_free" >&6; } if test $ac_cv_have_decl_free = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FREE 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FREE 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether geteuid is declared" >&5 echo $ECHO_N "checking whether geteuid is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_geteuid+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef geteuid (void) geteuid; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_geteuid=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_geteuid=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_geteuid" >&5 echo "${ECHO_T}$ac_cv_have_decl_geteuid" >&6; } if test $ac_cv_have_decl_geteuid = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETEUID 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETEUID 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether getlogin is declared" >&5 echo $ECHO_N "checking whether getlogin is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getlogin+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getlogin (void) getlogin; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getlogin=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getlogin=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getlogin" >&5 echo "${ECHO_T}$ac_cv_have_decl_getlogin" >&6; } if test $ac_cv_have_decl_getlogin = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETLOGIN 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETLOGIN 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether getuid is declared" >&5 echo $ECHO_N "checking whether getuid is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getuid+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef getuid (void) getuid; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getuid=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getuid=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getuid" >&5 echo "${ECHO_T}$ac_cv_have_decl_getuid" >&6; } if test $ac_cv_have_decl_getuid = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETUID 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETUID 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether lseek is declared" >&5 echo $ECHO_N "checking whether lseek is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_lseek+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef lseek (void) lseek; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_lseek=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_lseek=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_lseek" >&5 echo "${ECHO_T}$ac_cv_have_decl_lseek" >&6; } if test $ac_cv_have_decl_lseek = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_LSEEK 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_LSEEK 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether malloc is declared" >&5 echo $ECHO_N "checking whether malloc is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_malloc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef malloc (void) malloc; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_malloc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_malloc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_malloc" >&5 echo "${ECHO_T}$ac_cv_have_decl_malloc" >&6; } if test $ac_cv_have_decl_malloc = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MALLOC 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MALLOC 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether memchr is declared" >&5 echo $ECHO_N "checking whether memchr is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_memchr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef memchr (void) memchr; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_memchr=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_memchr=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_memchr" >&5 echo "${ECHO_T}$ac_cv_have_decl_memchr" >&6; } if test $ac_cv_have_decl_memchr = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MEMCHR 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_MEMCHR 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether realloc is declared" >&5 echo $ECHO_N "checking whether realloc is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_realloc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { #ifndef realloc (void) realloc; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_realloc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_realloc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_realloc" >&5 echo "${ECHO_T}$ac_cv_have_decl_realloc" >&6; } if test $ac_cv_have_decl_realloc = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_REALLOC 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_REALLOC 0 _ACEOF fi headers=' #include #include #if HAVE_GRP_H # include #endif #if HAVE_PWD_H # include #endif ' { echo "$as_me:$LINENO: checking whether getgrgid is declared" >&5 echo $ECHO_N "checking whether getgrgid is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getgrgid+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $headers int main () { #ifndef getgrgid (void) getgrgid; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getgrgid=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getgrgid=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getgrgid" >&5 echo "${ECHO_T}$ac_cv_have_decl_getgrgid" >&6; } if test $ac_cv_have_decl_getgrgid = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETGRGID 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETGRGID 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether getpwuid is declared" >&5 echo $ECHO_N "checking whether getpwuid is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_getpwuid+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $headers int main () { #ifndef getpwuid (void) getpwuid; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_getpwuid=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_getpwuid=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_getpwuid" >&5 echo "${ECHO_T}$ac_cv_have_decl_getpwuid" >&6; } if test $ac_cv_have_decl_getpwuid = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETPWUID 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETPWUID 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether ttyname is declared" >&5 echo $ECHO_N "checking whether ttyname is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_ttyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $headers int main () { #ifndef ttyname (void) ttyname; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_ttyname=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_ttyname=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_ttyname" >&5 echo "${ECHO_T}$ac_cv_have_decl_ttyname" >&6; } if test $ac_cv_have_decl_ttyname = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_TTYNAME 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_TTYNAME 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether isblank is declared" >&5 echo $ECHO_N "checking whether isblank is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_isblank+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef isblank (void) isblank; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_isblank=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_isblank=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_isblank" >&5 echo "${ECHO_T}$ac_cv_have_decl_isblank" >&6; } if test $ac_cv_have_decl_isblank = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISBLANK 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_ISBLANK 0 _ACEOF fi case " $LIBOBJS " in *" fd-reopen.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS fd-reopen.$ac_objext" ;; esac case " $LIBOBJS " in *" memxfrm.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS memxfrm.$ac_objext" ;; esac { echo "$as_me:$LINENO: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6; } if test "${ac_cv_c_inline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_inline=$ac_kw else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac case " $LIBOBJS " in *" strintcmp.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS strintcmp.$ac_objext" ;; esac case " $LIBOBJS " in *" strnumcmp.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS strnumcmp.$ac_objext" ;; esac # gnulib settings. # We don't use c-stack.c. # AC_REQUIRE([gl_C_STACK]) # Invoke macros of modules that may migrate into gnulib. # There's no need to list gnulib modules here, since gnulib-tool # handles that; see ../bootstrap.conf. HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"} { echo "$as_me:$LINENO: checking for struct stat.st_author" >&5 echo $ECHO_N "checking for struct stat.st_author... $ECHO_C" >&6; } if test "${ac_cv_member_struct_stat_st_author+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include int main () { static struct stat ac_aggr; if (ac_aggr.st_author) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_author=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include int main () { static struct stat ac_aggr; if (sizeof ac_aggr.st_author) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_stat_st_author=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_stat_st_author=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_author" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_author" >&6; } if test $ac_cv_member_struct_stat_st_author = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_AUTHOR 1 _ACEOF fi { echo "$as_me:$LINENO: checking for ino_t" >&5 echo $ECHO_N "checking for ino_t... $ECHO_C" >&6; } if test "${ac_cv_type_ino_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef ino_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_ino_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_ino_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_ino_t" >&5 echo "${ECHO_T}$ac_cv_type_ino_t" >&6; } if test $ac_cv_type_ino_t = yes; then : else cat >>confdefs.h <<_ACEOF #define ino_t unsigned long int _ACEOF fi { echo "$as_me:$LINENO: checking for major_t" >&5 echo $ECHO_N "checking for major_t... $ECHO_C" >&6; } if test "${ac_cv_type_major_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef major_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_major_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_major_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_major_t" >&5 echo "${ECHO_T}$ac_cv_type_major_t" >&6; } if test $ac_cv_type_major_t = yes; then : else cat >>confdefs.h <<_ACEOF #define major_t unsigned int _ACEOF fi { echo "$as_me:$LINENO: checking for minor_t" >&5 echo $ECHO_N "checking for minor_t... $ECHO_C" >&6; } if test "${ac_cv_type_minor_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef minor_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_minor_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_minor_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_minor_t" >&5 echo "${ECHO_T}$ac_cv_type_minor_t" >&6; } if test $ac_cv_type_minor_t = yes; then : else cat >>confdefs.h <<_ACEOF #define minor_t unsigned int _ACEOF fi # By default, argmatch should fail calling usage (1). cat >>confdefs.h <<\_ACEOF #define ARGMATCH_DIE usage (1) _ACEOF cat >>confdefs.h <<\_ACEOF #define ARGMATCH_DIE_DECL void usage () _ACEOF # used by ls # used by shred test $ac_cv_header_sys_param_h = yes && test $ac_cv_header_sys_mount_h = yes && for ac_header in nfs/vfs.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF for ac_header in nfs/nfs_client.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done fi done statvfs_includes="\ $ac_includes_default #include " statfs_includes="\ $ac_includes_default #if HAVE_SYS_VFS_H # include #elif HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H # include # include # if HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H # include # include # include # endif #elif HAVE_OS_H # include #endif " if test "$fu_cv_sys_stat_statvfs" = yes && { { echo "$as_me:$LINENO: checking for struct statvfs.f_basetype" >&5 echo $ECHO_N "checking for struct statvfs.f_basetype... $ECHO_C" >&6; } if test "${ac_cv_member_struct_statvfs_f_basetype+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statvfs_includes int main () { static struct statvfs ac_aggr; if (ac_aggr.f_basetype) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statvfs_f_basetype=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statvfs_includes int main () { static struct statvfs ac_aggr; if (sizeof ac_aggr.f_basetype) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statvfs_f_basetype=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_statvfs_f_basetype=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_statvfs_f_basetype" >&5 echo "${ECHO_T}$ac_cv_member_struct_statvfs_f_basetype" >&6; } if test $ac_cv_member_struct_statvfs_f_basetype = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATVFS_F_BASETYPE 1 _ACEOF fi test $ac_cv_member_struct_statvfs_f_basetype = yes || { { echo "$as_me:$LINENO: checking for struct statvfs.f_fstypename" >&5 echo $ECHO_N "checking for struct statvfs.f_fstypename... $ECHO_C" >&6; } if test "${ac_cv_member_struct_statvfs_f_fstypename+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statvfs_includes int main () { static struct statvfs ac_aggr; if (ac_aggr.f_fstypename) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statvfs_f_fstypename=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statvfs_includes int main () { static struct statvfs ac_aggr; if (sizeof ac_aggr.f_fstypename) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statvfs_f_fstypename=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_statvfs_f_fstypename=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_statvfs_f_fstypename" >&5 echo "${ECHO_T}$ac_cv_member_struct_statvfs_f_fstypename" >&6; } if test $ac_cv_member_struct_statvfs_f_fstypename = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATVFS_F_FSTYPENAME 1 _ACEOF fi test $ac_cv_member_struct_statvfs_f_fstypename = yes || { test $ac_cv_member_struct_statfs_f_fstypename != yes && { { echo "$as_me:$LINENO: checking for struct statvfs.f_type" >&5 echo $ECHO_N "checking for struct statvfs.f_type... $ECHO_C" >&6; } if test "${ac_cv_member_struct_statvfs_f_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statvfs_includes int main () { static struct statvfs ac_aggr; if (ac_aggr.f_type) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statvfs_f_type=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statvfs_includes int main () { static struct statvfs ac_aggr; if (sizeof ac_aggr.f_type) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statvfs_f_type=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_statvfs_f_type=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_statvfs_f_type" >&5 echo "${ECHO_T}$ac_cv_member_struct_statvfs_f_type" >&6; } if test $ac_cv_member_struct_statvfs_f_type = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATVFS_F_TYPE 1 _ACEOF fi test $ac_cv_member_struct_statvfs_f_type = yes; }; }; }; } then { echo "$as_me:$LINENO: checking for struct statvfs.f_namemax" >&5 echo $ECHO_N "checking for struct statvfs.f_namemax... $ECHO_C" >&6; } if test "${ac_cv_member_struct_statvfs_f_namemax+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statvfs_includes int main () { static struct statvfs ac_aggr; if (ac_aggr.f_namemax) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statvfs_f_namemax=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statvfs_includes int main () { static struct statvfs ac_aggr; if (sizeof ac_aggr.f_namemax) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statvfs_f_namemax=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_statvfs_f_namemax=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_statvfs_f_namemax" >&5 echo "${ECHO_T}$ac_cv_member_struct_statvfs_f_namemax" >&6; } if test $ac_cv_member_struct_statvfs_f_namemax = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATVFS_F_NAMEMAX 1 _ACEOF fi cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statvfs_includes int main () { static statvfs s; return (s.s_fsid ^ 0) == 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then cat >>confdefs.h <<\_ACEOF #define STRUCT_STATVFS_F_FSID_IS_INTEGER 1 _ACEOF else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else { echo "$as_me:$LINENO: checking for struct statfs.f_namelen" >&5 echo $ECHO_N "checking for struct statfs.f_namelen... $ECHO_C" >&6; } if test "${ac_cv_member_struct_statfs_f_namelen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statfs_includes int main () { static struct statfs ac_aggr; if (ac_aggr.f_namelen) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statfs_f_namelen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statfs_includes int main () { static struct statfs ac_aggr; if (sizeof ac_aggr.f_namelen) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statfs_f_namelen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_statfs_f_namelen=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_statfs_f_namelen" >&5 echo "${ECHO_T}$ac_cv_member_struct_statfs_f_namelen" >&6; } if test $ac_cv_member_struct_statfs_f_namelen = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATFS_F_NAMELEN 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct statfs.f_type" >&5 echo $ECHO_N "checking for struct statfs.f_type... $ECHO_C" >&6; } if test "${ac_cv_member_struct_statfs_f_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statfs_includes int main () { static struct statfs ac_aggr; if (ac_aggr.f_type) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statfs_f_type=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statfs_includes int main () { static struct statfs ac_aggr; if (sizeof ac_aggr.f_type) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_statfs_f_type=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_statfs_f_type=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_statfs_f_type" >&5 echo "${ECHO_T}$ac_cv_member_struct_statfs_f_type" >&6; } if test $ac_cv_member_struct_statfs_f_type = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STATFS_F_TYPE 1 _ACEOF fi if test $ac_cv_header_OS_h != yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $statfs_includes int main () { static statfs s; return (s.s_fsid ^ 0) == 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then cat >>confdefs.h <<\_ACEOF #define STRUCT_STATFS_F_FSID_IS_INTEGER 1 _ACEOF else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi # for dd.c and shred.c coreutils_saved_libs=$LIBS { echo "$as_me:$LINENO: checking for library containing fdatasync" >&5 echo $ECHO_N "checking for library containing fdatasync... $ECHO_C" >&6; } if test "${ac_cv_search_fdatasync+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char fdatasync (); int main () { return fdatasync (); ; return 0; } _ACEOF for ac_lib in '' rt posix4; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_fdatasync=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_fdatasync+set}" = set; then break fi done if test "${ac_cv_search_fdatasync+set}" = set; then : else ac_cv_search_fdatasync=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_fdatasync" >&5 echo "${ECHO_T}$ac_cv_search_fdatasync" >&6; } ac_res=$ac_cv_search_fdatasync if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_fdatasync" = "none required" || LIB_FDATASYNC=$ac_cv_search_fdatasync fi for ac_func in fdatasync do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done LIBS=$coreutils_saved_libs # See if linking `seq' requires -lm. # It does on nearly every system. The single exception (so far) is # BeOS which has all the math functions in the normal runtime library # and doesn't have a separate math library. ac_seq_body=' static double x, y; x = floor (x); x = rint (x); x = modf (x, &y);' cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { $ac_seq_body ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_seq_save_LIBS="$LIBS" LIBS="$LIBS -lm" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { $ac_seq_body ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then SEQ_LIBM=-lm else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$ac_seq_save_LIBS" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext { echo "$as_me:$LINENO: checking whether hdparm support is requested" >&5 echo $ECHO_N "checking whether hdparm support is requested... $ECHO_C" >&6; } # Check whether --enable-hdparm was given. if test "${enable_hdparm+set}" = set; then enableval=$enable_hdparm; USE_HDPARM=$enableval else USE_HDPARM=no fi if test x$USE_HDPARM == xyes; then COND_USE_HDPARM_TRUE= COND_USE_HDPARM_FALSE='#' else COND_USE_HDPARM_TRUE='#' COND_USE_HDPARM_FALSE= fi { echo "$as_me:$LINENO: result: $USE_HDPARM" >&5 echo "${ECHO_T}$USE_HDPARM" >&6; } for ac_header in vfork.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in fork vfork do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test "x$ac_cv_func_fork" = xyes; then { echo "$as_me:$LINENO: checking for working fork" >&5 echo $ECHO_N "checking for working fork... $ECHO_C" >&6; } if test "${ac_cv_func_fork_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_fork_works=cross else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* By Ruediger Kuhlmann. */ return fork () < 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_fork_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_fork_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5 echo "${ECHO_T}$ac_cv_func_fork_works" >&6; } else ac_cv_func_fork_works=$ac_cv_func_fork fi if test "x$ac_cv_func_fork_works" = xcross; then case $host in *-*-amigaos* | *-*-msdosdjgpp*) # Override, as these systems have only a dummy fork() stub ac_cv_func_fork_works=no ;; *) ac_cv_func_fork_works=yes ;; esac { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} fi ac_cv_func_vfork_works=$ac_cv_func_vfork if test "x$ac_cv_func_vfork" = xyes; then { echo "$as_me:$LINENO: checking for working vfork" >&5 echo $ECHO_N "checking for working vfork... $ECHO_C" >&6; } if test "${ac_cv_func_vfork_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_vfork_works=cross else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Thanks to Paul Eggert for this test. */ $ac_includes_default #include #ifdef HAVE_VFORK_H # include #endif /* On some sparc systems, changes by the child to local and incoming argument registers are propagated back to the parent. The compiler is told about this with #include , but some compilers (e.g. gcc -O) don't grok . Test for this by using a static variable whose address is put into a register that is clobbered by the vfork. */ static void #ifdef __cplusplus sparc_address_test (int arg) # else sparc_address_test (arg) int arg; #endif { static pid_t child; if (!child) { child = vfork (); if (child < 0) { perror ("vfork"); _exit(2); } if (!child) { arg = getpid(); write(-1, "", 0); _exit (arg); } } } int main () { pid_t parent = getpid (); pid_t child; sparc_address_test (0); child = vfork (); if (child == 0) { /* Here is another test for sparc vfork register problems. This test uses lots of local variables, at least as many local variables as main has allocated so far including compiler temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should reuse the register of parent for one of the local variables, since it will think that parent can't possibly be used any more in this routine. Assigning to the local variable will thus munge parent in the parent process. */ pid_t p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); /* Convince the compiler that p..p7 are live; otherwise, it might use the same hardware register for all 8 local variables. */ if (p != p1 || p != p2 || p != p3 || p != p4 || p != p5 || p != p6 || p != p7) _exit(1); /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent from child file descriptors. If the child closes a descriptor before it execs or exits, this munges the parent's descriptor as well. Test for this by closing stdout in the child. */ _exit(close(fileno(stdout)) != 0); } else { int status; struct stat st; while (wait(&status) != child) ; return ( /* Was there some problem with vforking? */ child < 0 /* Did the child fail? (This shouldn't happen.) */ || status /* Did the vfork/compiler bug occur? */ || parent != getpid() /* Did the file descriptor bug occur? */ || fstat(fileno(stdout), &st) != 0 ); } } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_vfork_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_vfork_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5 echo "${ECHO_T}$ac_cv_func_vfork_works" >&6; } fi; if test "x$ac_cv_func_fork_works" = xcross; then ac_cv_func_vfork_works=$ac_cv_func_vfork { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} fi if test "x$ac_cv_func_vfork_works" = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WORKING_VFORK 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define vfork fork _ACEOF fi if test "x$ac_cv_func_fork_works" = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WORKING_FORK 1 _ACEOF fi optional_bin_progs= for ac_func in uname do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF { if test -z "$optional_bin_progs"; then optional_bin_progs=uname else optional_bin_progs="$optional_bin_progs uname" fi } fi done for ac_func in chroot do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF { if test -z "$optional_bin_progs"; then optional_bin_progs=chroot else optional_bin_progs="$optional_bin_progs chroot" fi } fi done for ac_func in gethostid do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF { if test -z "$optional_bin_progs"; then optional_bin_progs=hostid else optional_bin_progs="$optional_bin_progs hostid" fi } fi done { echo "$as_me:$LINENO: checking whether use of struct winsize requires sys/ptem.h" >&5 echo $ECHO_N "checking whether use of struct winsize requires sys/ptem.h... $ECHO_C" >&6; } if test "${gl_cv_sys_struct_winsize_needs_sys_ptem_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_sys_struct_winsize_needs_sys_ptem_h=yes if test $ac_cv_sys_posix_termios = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_sys_struct_winsize_needs_sys_ptem_h=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_sys_struct_winsize_needs_sys_ptem_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&5 echo "${ECHO_T}$gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&6; } if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then cat >>confdefs.h <<\_ACEOF #define WINSIZE_IN_PTEM 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether localtime caches TZ" >&5 echo $ECHO_N "checking whether localtime caches TZ... $ECHO_C" >&6; } if test "${utils_cv_localtime_cache+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test x$ac_cv_func_tzset = xyes; then if test "$cross_compiling" = yes; then # If we have tzset, assume the worst when cross-compiling. utils_cv_localtime_cache=yes else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if STDC_HEADERS # include #endif extern char **environ; void unset_TZ (void) { char **from, **to; for (to = from = environ; (*to = *from); from++) if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '=')) to++; } int main() { time_t now = time ((time_t *) 0); int hour_GMT0, hour_unset; if (putenv ("TZ=GMT0") != 0) exit (1); hour_GMT0 = localtime (&now)->tm_hour; unset_TZ (); hour_unset = localtime (&now)->tm_hour; if (putenv ("TZ=PST8") != 0) exit (1); if (localtime (&now)->tm_hour == hour_GMT0) exit (1); unset_TZ (); if (localtime (&now)->tm_hour != hour_unset) exit (1); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then utils_cv_localtime_cache=no else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) utils_cv_localtime_cache=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi else # If we lack tzset, report that localtime does not cache TZ, # since we can't invalidate the cache if we don't have tzset. utils_cv_localtime_cache=no fi fi { echo "$as_me:$LINENO: result: $utils_cv_localtime_cache" >&5 echo "${ECHO_T}$utils_cv_localtime_cache" >&6; } if test $utils_cv_localtime_cache = yes; then cat >>confdefs.h <<\_ACEOF #define LOCALTIME_CACHE 1 _ACEOF fi # SCO-ODT-3.0 is reported to need -los to link programs using initgroups for ac_func in initgroups do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_initgroups = no; then { echo "$as_me:$LINENO: checking for initgroups in -los" >&5 echo $ECHO_N "checking for initgroups in -los... $ECHO_C" >&6; } if test "${ac_cv_lib_os_initgroups+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-los $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char initgroups (); int main () { return initgroups (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_os_initgroups=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_os_initgroups=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_os_initgroups" >&5 echo "${ECHO_T}$ac_cv_lib_os_initgroups" >&6; } if test $ac_cv_lib_os_initgroups = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBOS 1 _ACEOF LIBS="-los $LIBS" fi fi for ac_func in syslog do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_func_syslog = no; then # syslog is not in the default libraries. See if it's in some other. for lib in bsd socket inet; do as_ac_Lib=`echo "ac_cv_lib_$lib''_syslog" | $as_tr_sh` { echo "$as_me:$LINENO: checking for syslog in -l$lib" >&5 echo $ECHO_N "checking for syslog in -l$lib... $ECHO_C" >&6; } if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l$lib $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char syslog (); int main () { return syslog (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_Lib=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Lib=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi ac_res=`eval echo '${'$as_ac_Lib'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Lib'}'` = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_SYSLOG 1 _ACEOF LIBS="$LIBS -l$lib"; break fi done fi { echo "$as_me:$LINENO: checking for 3-argument setpriority function" >&5 echo $ECHO_N "checking for 3-argument setpriority function... $ECHO_C" >&6; } if test "${utils_cv_func_setpriority+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { setpriority (0, 0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then utils_cv_func_setpriority=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 utils_cv_func_setpriority=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $utils_cv_func_setpriority" >&5 echo "${ECHO_T}$utils_cv_func_setpriority" >&6; } if test $utils_cv_func_setpriority = no; then for ac_func in nice do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi case $utils_cv_func_setpriority,$ac_cv_func_nice in *yes*) { if test -z "$optional_bin_progs"; then optional_bin_progs=nice else optional_bin_progs="$optional_bin_progs nice" fi } esac if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then { if test -z "$optional_bin_progs"; then optional_bin_progs=who else optional_bin_progs="$optional_bin_progs who" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=users else optional_bin_progs="$optional_bin_progs users" fi } { if test -z "$optional_bin_progs"; then optional_bin_progs=pinky else optional_bin_progs="$optional_bin_progs pinky" fi } fi { echo "$as_me:$LINENO: checking ut_host in struct utmp" >&5 echo $ECHO_N "checking ut_host in struct utmp... $ECHO_C" >&6; } if test "${su_cv_func_ut_host_in_utmp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { struct utmp ut; return !sizeof ut.ut_host; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then su_cv_func_ut_host_in_utmp=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 su_cv_func_ut_host_in_utmp=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $su_cv_func_ut_host_in_utmp" >&5 echo "${ECHO_T}$su_cv_func_ut_host_in_utmp" >&6; } if test $su_cv_func_ut_host_in_utmp = yes; then have_ut_host=1 cat >>confdefs.h <<\_ACEOF #define HAVE_UT_HOST 1 _ACEOF fi if test -z "$have_ut_host"; then { echo "$as_me:$LINENO: checking ut_host in struct utmpx" >&5 echo $ECHO_N "checking ut_host in struct utmpx... $ECHO_C" >&6; } if test "${su_cv_func_ut_host_in_utmpx+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { struct utmpx ut; return !sizeof ut.ut_host; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then su_cv_func_ut_host_in_utmpx=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 su_cv_func_ut_host_in_utmpx=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $su_cv_func_ut_host_in_utmpx" >&5 echo "${ECHO_T}$su_cv_func_ut_host_in_utmpx" >&6; } if test $su_cv_func_ut_host_in_utmpx = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_UTMPX_H 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_UT_HOST 1 _ACEOF fi fi for ac_func in sysctl do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/sysctl.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #if HAVE_SYS_PARAM_H #include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking whether we can get the system boot time" >&5 echo $ECHO_N "checking whether we can get the system boot time... $ECHO_C" >&6; } if test "${gnulib_cv_have_boot_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H # if HAVE_SYS_PARAM_H # include /* needed for OpenBSD 3.0 */ # endif # include #endif #if HAVE_UTMPX_H # include #elif HAVE_UTMP_H # include #endif #if HAVE_OS_H # include #endif int main () { #if defined BOOT_TIME || (defined CTL_KERN && defined KERN_BOOTTIME) || HAVE_OS_H /* your system *does* have the infrastructure to determine boot time */ #else please_tell_us_how_to_determine_boot_time_on_your_system #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gnulib_cv_have_boot_time=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gnulib_cv_have_boot_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $gnulib_cv_have_boot_time" >&5 echo "${ECHO_T}$gnulib_cv_have_boot_time" >&6; } if test $gnulib_cv_have_boot_time = yes; then { if test -z "$optional_bin_progs"; then optional_bin_progs=uptime else optional_bin_progs="$optional_bin_progs uptime" fi } fi { echo "$as_me:$LINENO: checking POSIX termios" >&5 echo $ECHO_N "checking POSIX termios... $ECHO_C" >&6; } if test "${ac_cv_sys_posix_termios+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { /* SunOS 4.0.3 has termios.h but not the library calls. */ tcgetattr(0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_sys_posix_termios=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_sys_posix_termios=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_sys_posix_termios" >&5 echo "${ECHO_T}$ac_cv_sys_posix_termios" >&6; } { echo "$as_me:$LINENO: checking whether use of TIOCGWINSZ requires sys/ioctl.h" >&5 echo $ECHO_N "checking whether use of TIOCGWINSZ requires sys/ioctl.h... $ECHO_C" >&6; } if test "${gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=no if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include # include # ifdef TIOCGWINSZ yes # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h=yes fi rm -f conftest* fi fi { echo "$as_me:$LINENO: result: $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h" >&5 echo "${ECHO_T}$gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h" >&6; } if test $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h = yes; then cat >>confdefs.h <<\_ACEOF #define GWINSZ_IN_SYS_IOCTL 1 _ACEOF fi if test $ac_cv_sys_posix_termios = yes; then { if test -z "$optional_bin_progs"; then optional_bin_progs=stty else optional_bin_progs="$optional_bin_progs stty" fi } { echo "$as_me:$LINENO: checking whether termios.h needs _XOPEN_SOURCE" >&5 echo $ECHO_N "checking whether termios.h needs _XOPEN_SOURCE... $ECHO_C" >&6; } if test "${su_cv_sys_termios_needs_xopen_source+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef IUCLC yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then su_cv_sys_termios_needs_xopen_source=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _XOPEN_SOURCE #include #ifdef IUCLC yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then su_cv_sys_termios_needs_xopen_source=yes else su_cv_sys_termios_needs_xopen_source=no fi rm -f conftest* fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $su_cv_sys_termios_needs_xopen_source" >&5 echo "${ECHO_T}$su_cv_sys_termios_needs_xopen_source" >&6; } test $su_cv_sys_termios_needs_xopen_source = yes && cat >>confdefs.h <<\_ACEOF #define TERMIOS_NEEDS_XOPEN_SOURCE 1 _ACEOF { echo "$as_me:$LINENO: checking c_line in struct termios" >&5 echo $ECHO_N "checking c_line in struct termios... $ECHO_C" >&6; } if test "${su_cv_sys_c_line_in_termios+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if TERMIOS_NEEDS_XOPEN_SOURCE #define _XOPEN_SOURCE #endif #include #include int main () { struct termios t; return !sizeof t.c_line; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then su_cv_sys_c_line_in_termios=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 su_cv_sys_c_line_in_termios=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $su_cv_sys_c_line_in_termios" >&5 echo "${ECHO_T}$su_cv_sys_c_line_in_termios" >&6; } test $su_cv_sys_c_line_in_termios = yes \ && cat >>confdefs.h <<\_ACEOF #define HAVE_C_LINE 1 _ACEOF fi # FIXME: note that this macro appears above, too. # I'm leaving it here for now. This whole thing needs to be modernized... { echo "$as_me:$LINENO: checking whether use of struct winsize requires sys/ptem.h" >&5 echo $ECHO_N "checking whether use of struct winsize requires sys/ptem.h... $ECHO_C" >&6; } if test "${gl_cv_sys_struct_winsize_needs_sys_ptem_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_sys_struct_winsize_needs_sys_ptem_h=yes if test $ac_cv_sys_posix_termios = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then gl_cv_sys_struct_winsize_needs_sys_ptem_h=no else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { struct winsize x; if (sizeof x > 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gl_cv_sys_struct_winsize_needs_sys_ptem_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&5 echo "${ECHO_T}$gl_cv_sys_struct_winsize_needs_sys_ptem_h" >&6; } if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then cat >>confdefs.h <<\_ACEOF #define WINSIZE_IN_PTEM 1 _ACEOF fi { echo "$as_me:$LINENO: checking whether use of TIOCGWINSZ requires termios.h" >&5 echo $ECHO_N "checking whether use of TIOCGWINSZ requires termios.h... $ECHO_C" >&6; } if test "${gl_cv_sys_tiocgwinsz_needs_termios_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gl_cv_sys_tiocgwinsz_needs_termios_h=no if test $ac_cv_sys_posix_termios = yes; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include # include # ifdef TIOCGWINSZ yes # endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then gl_cv_sys_tiocgwinsz_needs_termios_h=yes fi rm -f conftest* fi fi { echo "$as_me:$LINENO: result: $gl_cv_sys_tiocgwinsz_needs_termios_h" >&5 echo "${ECHO_T}$gl_cv_sys_tiocgwinsz_needs_termios_h" >&6; } if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no && \ test $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h = no; then { echo "$as_me:$LINENO: checking TIOCGWINSZ in sys/pty.h" >&5 echo $ECHO_N "checking TIOCGWINSZ in sys/pty.h... $ECHO_C" >&6; } if test "${su_cv_sys_tiocgwinsz_in_sys_pty_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifdef WINSIZE_IN_PTEM # include # include #endif #include #include #include int main () { int x = TIOCGWINSZ; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then su_cv_sys_tiocgwinsz_in_sys_pty_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 su_cv_sys_tiocgwinsz_in_sys_pty_h=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $su_cv_sys_tiocgwinsz_in_sys_pty_h" >&5 echo "${ECHO_T}$su_cv_sys_tiocgwinsz_in_sys_pty_h" >&6; } test $su_cv_sys_tiocgwinsz_in_sys_pty_h = yes \ && cat >>confdefs.h <<\_ACEOF #define GWINSZ_IN_SYS_PTY 1 _ACEOF fi # For src/kill.c. { echo "$as_me:$LINENO: checking whether strsignal is declared" >&5 echo $ECHO_N "checking whether strsignal is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_strsignal+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include int main () { #ifndef strsignal (void) strsignal; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_strsignal=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_strsignal=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_strsignal" >&5 echo "${ECHO_T}$ac_cv_have_decl_strsignal" >&6; } if test $ac_cv_have_decl_strsignal = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRSIGNAL 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRSIGNAL 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether sys_siglist is declared" >&5 echo $ECHO_N "checking whether sys_siglist is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl_sys_siglist+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include int main () { #ifndef sys_siglist (void) sys_siglist; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl_sys_siglist=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl_sys_siglist=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl_sys_siglist" >&5 echo "${ECHO_T}$ac_cv_have_decl_sys_siglist" >&6; } if test $ac_cv_have_decl_sys_siglist = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SYS_SIGLIST 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL_SYS_SIGLIST 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether _sys_siglist is declared" >&5 echo $ECHO_N "checking whether _sys_siglist is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl__sys_siglist+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include int main () { #ifndef _sys_siglist (void) _sys_siglist; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl__sys_siglist=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl__sys_siglist=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl__sys_siglist" >&5 echo "${ECHO_T}$ac_cv_have_decl__sys_siglist" >&6; } if test $ac_cv_have_decl__sys_siglist = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SYS_SIGLIST 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SYS_SIGLIST 0 _ACEOF fi { echo "$as_me:$LINENO: checking whether __sys_siglist is declared" >&5 echo $ECHO_N "checking whether __sys_siglist is declared... $ECHO_C" >&6; } if test "${ac_cv_have_decl___sys_siglist+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include int main () { #ifndef __sys_siglist (void) __sys_siglist; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_have_decl___sys_siglist=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_decl___sys_siglist=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_decl___sys_siglist" >&5 echo "${ECHO_T}$ac_cv_have_decl___sys_siglist" >&6; } if test $ac_cv_have_decl___sys_siglist = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_DECL___SYS_SIGLIST 1 _ACEOF else cat >>confdefs.h <<_ACEOF #define HAVE_DECL___SYS_SIGLIST 0 _ACEOF fi # Check for libypsec.a on Dolphin M88K machines. { echo "$as_me:$LINENO: checking for main in -lypsec" >&5 echo $ECHO_N "checking for main in -lypsec... $ECHO_C" >&6; } if test "${ac_cv_lib_ypsec_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lypsec $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_ypsec_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_ypsec_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_ypsec_main" >&5 echo "${ECHO_T}$ac_cv_lib_ypsec_main" >&6; } if test $ac_cv_lib_ypsec_main = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBYPSEC 1 _ACEOF LIBS="-lypsec $LIBS" fi # m88k running dgux 5.4 needs this { echo "$as_me:$LINENO: checking for main in -lldgc" >&5 echo $ECHO_N "checking for main in -lldgc... $ECHO_C" >&6; } if test "${ac_cv_lib_ldgc_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lldgc $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_ldgc_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_ldgc_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_ldgc_main" >&5 echo "${ECHO_T}$ac_cv_lib_ldgc_main" >&6; } if test $ac_cv_lib_ldgc_main = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBLDGC 1 _ACEOF LIBS="-lldgc $LIBS" fi # The -lsun library is required for YP support on Irix-4.0.5 systems. # m88k/svr3 DolphinOS systems using YP need -lypsec for id. { echo "$as_me:$LINENO: checking for library containing yp_match" >&5 echo $ECHO_N "checking for library containing yp_match... $ECHO_C" >&6; } if test "${ac_cv_search_yp_match+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char yp_match (); int main () { return yp_match (); ; return 0; } _ACEOF for ac_lib in '' sun ypsec; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_yp_match=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_yp_match+set}" = set; then break fi done if test "${ac_cv_search_yp_match+set}" = set; then : else ac_cv_search_yp_match=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_yp_match" >&5 echo "${ECHO_T}$ac_cv_search_yp_match" >&6; } ac_res=$ac_cv_search_yp_match if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi # SysV needs -lsec, older versions of Linux need -lshadow for # shadow passwords. UnixWare 7 needs -lgen. { echo "$as_me:$LINENO: checking for library containing getspnam" >&5 echo $ECHO_N "checking for library containing getspnam... $ECHO_C" >&6; } if test "${ac_cv_search_getspnam+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getspnam (); int main () { return getspnam (); ; return 0; } _ACEOF for ac_lib in '' shadow sec gen; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_getspnam=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_getspnam+set}" = set; then break fi done if test "${ac_cv_search_getspnam+set}" = set; then : else ac_cv_search_getspnam=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_getspnam" >&5 echo "${ECHO_T}$ac_cv_search_getspnam" >&6; } ac_res=$ac_cv_search_getspnam if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi for ac_header in shadow.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------- ## ## Report this to dc3dd@dc3.mil ## ## ---------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # Requirements for su.c. shadow_includes="\ $ac_includes_default #if HAVE_SHADOW_H # include #endif " { echo "$as_me:$LINENO: checking for struct spwd.sp_pwdp" >&5 echo $ECHO_N "checking for struct spwd.sp_pwdp... $ECHO_C" >&6; } if test "${ac_cv_member_struct_spwd_sp_pwdp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $shadow_includes int main () { static struct spwd ac_aggr; if (ac_aggr.sp_pwdp) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_spwd_sp_pwdp=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $shadow_includes int main () { static struct spwd ac_aggr; if (sizeof ac_aggr.sp_pwdp) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_member_struct_spwd_sp_pwdp=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_member_struct_spwd_sp_pwdp=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_member_struct_spwd_sp_pwdp" >&5 echo "${ECHO_T}$ac_cv_member_struct_spwd_sp_pwdp" >&6; } if test $ac_cv_member_struct_spwd_sp_pwdp = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SPWD_SP_PWDP 1 _ACEOF fi for ac_func in getspnam do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # SCO-ODT-3.0 is reported to need -lufc for crypt. # NetBSD needs -lcrypt for crypt. cu_saved_libs="$LIBS" { echo "$as_me:$LINENO: checking for library containing crypt" >&5 echo $ECHO_N "checking for library containing crypt... $ECHO_C" >&6; } if test "${ac_cv_search_crypt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char crypt (); int main () { return crypt (); ; return 0; } _ACEOF for ac_lib in '' ufc crypt; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_search_crypt=$ac_res else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_crypt+set}" = set; then break fi done if test "${ac_cv_search_crypt+set}" = set; then : else ac_cv_search_crypt=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_crypt" >&5 echo "${ECHO_T}$ac_cv_search_crypt" >&6; } ac_res=$ac_cv_search_crypt if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" test "$ac_cv_search_crypt" = "none required" || LIB_CRYPT="$ac_cv_search_crypt" fi LIBS="$cu_saved_libs" # Build df only if there's a point to it. if test $gl_cv_list_mounted_fs = yes && test $gl_cv_fs_space = yes; then { if test -z "$optional_bin_progs"; then optional_bin_progs=df else optional_bin_progs="$optional_bin_progs df" fi } fi ############################################################################ mk="$srcdir/src/Makefile.am" # Extract all literal names from the definition of $(EXTRA_PROGRAMS) # in $mk but don't expand the variable references. # Append each literal name to $optional_bin_progs. v=EXTRA_PROGRAMS for gl_i in `sed -n '/^'$v' =/,/[^\]$/p' $mk \ | sed 's/^ *//;/^\$.*/d;/^'$v' =/d' \ | tr -s '\\015\\012\\\\' ' '`; do { if test -z "$optional_bin_progs"; then optional_bin_progs=$gl_i else optional_bin_progs="$optional_bin_progs $gl_i" fi } done # As above, extract literal names from the definition of $(no_install__progs) # in $mk but don't expand the variable references. v=no_install__progs t=`sed -n '/^'$v' =/,/[^\]$/p' $mk \ | sed 's/^ *//;/^\$.*/d;/^'$v' =/d' \ | tr -s '\\015\\012\\\\' ' '` # Remove any trailing space. no_install_progs_default=`echo "$t"|sed 's/ $//'` # Unfortunately, due to the way autoconf's AS_HELP_STRING works, the list # of default-not-installed programs, "arch hostname su", must appear in two # places: in this file below, and in $mk. Using "$no_install_progs_default" # below cannot work. And we can't substitute the names into $mk because # automake needs the literals, too. # The compromise is to ensure that the space-separated list extracted # above matches the literal 2nd argument below. c="$srcdir/configure.ac" re='^g''l_INCLUDE_EXCLUDE_PROG(.* \[\(.*\)\])' t=`sed -n '/'"$re"'/{s/'"$re"'/\1/;s/,/ /gp }' $c` case $t in $no_install_progs_default) ;; *) { { echo "$as_me:$LINENO: error: internal error: g'l_INCLUDE_EXCLUDE_PROG's 2nd arg, $t, does not match the list of default-not-installed programs ($no_install_progs_default) also recorded in $mk" >&5 echo "$as_me: error: internal error: g'l_INCLUDE_EXCLUDE_PROG's 2nd arg, $t, does not match the list of default-not-installed programs ($no_install_progs_default) also recorded in $mk" >&2;} { (exit 1); exit 1; }; } ;; esac # Given the name of a variable containing a space-separated list of # install-by-default programs and the actual list do-not-install-by-default # programs, modify the former variable to reflect any "do-install" and # "don't-install" requests. # I.e., add any program name specified via --enable-install-program=..., and # remove any program name specified via --enable-no-install-program=... # Note how the second argument below is a literal, with "," separators. # That is required due to the way the macro works, and since the # corresponding ./configure option argument is comma-separated on input. #gl_INCLUDE_EXCLUDE_PROG([optional_bin_progs], [arch,hostname,su]) # Set INSTALL_SU if su installation has been requested via # --enable-install-program=su. case " $optional_bin_progs " in *' su '*) INSTALL_SU=yes ;; *) INSTALL_SU=no ;; esac MAN=`echo "$optional_bin_progs "|sed 's/ /.1 /g;s/ $//'|tr -d '\\015\\012'` # Change ginstall.1 to "install.h" in $MAN. MAN=`for m in $MAN; do test $m = ginstall.1 && m=install.1; echo $m; done \ | tr '\015\012' ' '; echo` # Remove [.1, since writing a portable rule for it in man/Makefile.am # is not practical. The sed LHS below uses the autoconf quadrigraph # representing '['. MAN=`echo "$MAN"|sed 's/\[\.1//'` OPTIONAL_BIN_PROGS=`echo "$optional_bin_progs "|sed 's/ /\$(EXEEXT) /g;s/ $//'` NO_INSTALL_PROGS_DEFAULT=$no_install_progs_default # Arrange to rerun configure whenever the file, src/Makefile.am, # containing the list of program names changes. CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/src/Makefile.am' ############################################################################ { echo "$as_me:$LINENO: checking whether NLS is requested" >&5 echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { echo "$as_me:$LINENO: result: $USE_NLS" >&5 echo "${ECHO_T}$USE_NLS" >&6; } GETTEXT_MACRO_VERSION=0.17 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { echo "$as_me:$LINENO: result: $MSGFMT" >&5 echo "${ECHO_T}$MSGFMT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GMSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 echo "${ECHO_T}$GMSGFMT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_XGETTEXT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 echo "${ECHO_T}$XGETTEXT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MSGMERGE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { echo "$as_me:$LINENO: result: $MSGMERGE" >&5 echo "${ECHO_T}$MSGMERGE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= ac_config_commands="$ac_config_commands po-directories" { echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 echo $ECHO_N "checking for CFPreferencesCopyAppValue... $ECHO_C" >&6; } if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gt_cv_func_CFPreferencesCopyAppValue=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 echo "${ECHO_T}$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_CFPREFERENCESCOPYAPPVALUE 1 _ACEOF fi { echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 echo $ECHO_N "checking for CFLocaleCopyCurrent... $ECHO_C" >&6; } if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gt_cv_func_CFLocaleCopyCurrent=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 echo "${ECHO_T}$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_CFLOCALECOPYCURRENT 1 _ACEOF fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6; } if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$gt_func_gnugettext_libc=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$gt_func_gnugettext_libc'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { echo "$as_me:$LINENO: checking for iconv" >&5 echo $ECHO_N "checking for iconv... $ECHO_C" >&6; } if test "${am_cv_func_iconv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then am_cv_lib_iconv=yes am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 echo "${ECHO_T}$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { echo "$as_me:$LINENO: checking for working iconv" >&5 echo $ECHO_N "checking for working iconv... $ECHO_C" >&6; } if test "${am_cv_func_iconv_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_func_iconv_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi LIBS="$am_save_LIBS" fi { echo "$as_me:$LINENO: result: $am_cv_func_iconv_works" >&5 echo "${ECHO_T}$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ICONV 1 _ACEOF fi if test "$am_cv_lib_iconv" = yes; then { echo "$as_me:$LINENO: checking how to link with libiconv" >&5 echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $LIBICONV" >&5 echo "${ECHO_T}$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBINTL= LTLIBINTL= INCINTL= LIBINTL_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIBINTL_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6; } if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$gt_func_gnugettext_libintl=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi ac_res=`eval echo '${'$gt_func_gnugettext_libintl'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then cat >>confdefs.h <<\_ACEOF #define ENABLE_NLS 1 _ACEOF else USE_NLS=no fi fi { echo "$as_me:$LINENO: checking whether to use NLS" >&5 echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $USE_NLS" >&5 echo "${ECHO_T}$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { echo "$as_me:$LINENO: result: $gt_source" >&5 echo "${ECHO_T}$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { echo "$as_me:$LINENO: checking how to link with libintl" >&5 echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $LIBINTL" >&5 echo "${ECHO_T}$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi cat >>confdefs.h <<\_ACEOF #define HAVE_GETTEXT 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_DCGETTEXT 1 _ACEOF fi POSUB=po fi INTLLIBS="$LIBINTL" if test "$USE_HDPARM" = "yes"; then cat >>confdefs.h <<\_ACEOF #define USE_HDPARM 1 _ACEOF fi # For a test of uniq: it uses the $LOCALE_FR envvar. { echo "$as_me:$LINENO: checking for a traditional french locale" >&5 echo $ECHO_N "checking for a traditional french locale... $ECHO_C" >&6; } if test "${gt_cv_locale_fr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else macosx= case "$host_os" in darwin[56]*) ;; darwin*) macosx=yes;; esac if test -n "$macosx"; then # On Darwin 7 (MacOS X), the libc supports some locales in non-UTF-8 # encodings, but the kernel does not support them. The documentation # says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # See the comments in config.charset. Therefore we bypass the test. gt_cv_locale_fr=none else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if HAVE_LANGINFO_CODESET # include #endif #include #include struct tm t; char buf[16]; int main () { /* Check whether the given locale name is recognized by the system. */ if (setlocale (LC_ALL, "") == NULL) return 1; /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646". On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET) is empty, and the behaviour of Tcl 8.4 in this locale is not useful. On OpenBSD 4.0, when an unsupported locale is specified, setlocale() succeeds but then nl_langinfo(CODESET) is "646". In this situation, some unit tests fail. */ #if HAVE_LANGINFO_CODESET { const char *cs = nl_langinfo (CODESET); if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0) return 1; } #endif #ifdef __CYGWIN__ /* On Cygwin, avoid locale names without encoding suffix, because the locale_charset() function relies on the encoding suffix. Note that LC_ALL is set on the command line. */ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1; #endif /* Check whether in the abbreviation of the second month, the second character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only one byte long. This excludes the UTF-8 encoding. */ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4; if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1; /* Check whether the decimal separator is a comma. On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point are nl_langinfo(RADIXCHAR) are both ".". */ if (localeconv () ->decimal_point[0] != ',') return 1; return 0; } _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest$ac_exeext; then # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the # configure script would override the LC_ALL setting. Likewise for # LC_CTYPE, which is also set at the beginning of the configure script. # Test for the usual locale name. if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR else # Test for the locale name with explicit encoding suffix. if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO-8859-1 else # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name. if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.ISO8859-1 else # Test for the HP-UX locale name. if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr_FR.iso88591 else # Test for the Solaris 7 locale name. if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=fr else # None found. gt_cv_locale_fr=none fi fi fi fi fi fi rm -fr conftest* fi fi { echo "$as_me:$LINENO: result: $gt_cv_locale_fr" >&5 echo "${ECHO_T}$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr ac_config_files="$ac_config_files Makefile lib/Makefile man/Makefile po/Makefile.in src/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"GL_COND_LIBTOOL\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"GL_COND_LIBTOOL\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi test "X$DEFS" = X-DHAVE_CONFIG_H && DEFS= if test -z "${GNU_MAKE_TRUE}" && test -z "${GNU_MAKE_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"GNU_MAKE\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"GNU_MAKE\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi gl_libobjs= gl_ltlibobjs= if test -n "$gl_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do gl_libobjs="$gl_libobjs $i.$ac_objext" gl_ltlibobjs="$gl_ltlibobjs $i.lo" done fi gl_LIBOBJS=$gl_libobjs gl_LTLIBOBJS=$gl_ltlibobjs gltests_libobjs= gltests_ltlibobjs= if test -n "$gltests_LIBOBJS"; then # Remove the extension. sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" done fi gltests_LIBOBJS=$gltests_libobjs gltests_LTLIBOBJS=$gltests_ltlibobjs if test -z "${COND_USE_HDPARM_TRUE}" && test -z "${COND_USE_HDPARM_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"COND_USE_HDPARM\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"COND_USE_HDPARM\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by dc3dd $as_me 7.1.614, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ dc3dd config.status 7.1.614 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "lib/config.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/config.h:lib/config.hin" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CPP!$CPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim RANLIB!$RANLIB$ac_delim LN_S!$LN_S$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim GL_COND_LIBTOOL_TRUE!$GL_COND_LIBTOOL_TRUE$ac_delim GL_COND_LIBTOOL_FALSE!$GL_COND_LIBTOOL_FALSE$ac_delim EOVERFLOW!$EOVERFLOW$ac_delim ALLOCA!$ALLOCA$ac_delim ALLOCA_H!$ALLOCA_H$ac_delim GNULIB_INET_NTOP!$GNULIB_INET_NTOP$ac_delim GNULIB_INET_PTON!$GNULIB_INET_PTON$ac_delim HAVE_DECL_INET_NTOP!$HAVE_DECL_INET_NTOP$ac_delim HAVE_DECL_INET_PTON!$HAVE_DECL_INET_PTON$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF ARPA_INET_H!$ARPA_INET_H$ac_delim HAVE_ARPA_INET_H!$HAVE_ARPA_INET_H$ac_delim INCLUDE_NEXT!$INCLUDE_NEXT$ac_delim NEXT_ARPA_INET_H!$NEXT_ARPA_INET_H$ac_delim HAVE_CALLOC_POSIX!$HAVE_CALLOC_POSIX$ac_delim GNULIB_MALLOC_POSIX!$GNULIB_MALLOC_POSIX$ac_delim GNULIB_REALLOC_POSIX!$GNULIB_REALLOC_POSIX$ac_delim GNULIB_CALLOC_POSIX!$GNULIB_CALLOC_POSIX$ac_delim GNULIB_GETSUBOPT!$GNULIB_GETSUBOPT$ac_delim GNULIB_MKDTEMP!$GNULIB_MKDTEMP$ac_delim GNULIB_MKSTEMP!$GNULIB_MKSTEMP$ac_delim GNULIB_PUTENV!$GNULIB_PUTENV$ac_delim GNULIB_RPMATCH!$GNULIB_RPMATCH$ac_delim GNULIB_SETENV!$GNULIB_SETENV$ac_delim GNULIB_STRTOD!$GNULIB_STRTOD$ac_delim GNULIB_UNSETENV!$GNULIB_UNSETENV$ac_delim HAVE_GETSUBOPT!$HAVE_GETSUBOPT$ac_delim HAVE_MALLOC_POSIX!$HAVE_MALLOC_POSIX$ac_delim HAVE_MKDTEMP!$HAVE_MKDTEMP$ac_delim HAVE_REALLOC_POSIX!$HAVE_REALLOC_POSIX$ac_delim HAVE_RPMATCH!$HAVE_RPMATCH$ac_delim HAVE_SETENV!$HAVE_SETENV$ac_delim HAVE_STRTOD!$HAVE_STRTOD$ac_delim HAVE_UNSETENV!$HAVE_UNSETENV$ac_delim REPLACE_MKSTEMP!$REPLACE_MKSTEMP$ac_delim REPLACE_PUTENV!$REPLACE_PUTENV$ac_delim REPLACE_STRTOD!$REPLACE_STRTOD$ac_delim VOID_UNSETENV!$VOID_UNSETENV$ac_delim GNULIB_CHOWN!$GNULIB_CHOWN$ac_delim GNULIB_DUP2!$GNULIB_DUP2$ac_delim GNULIB_ENVIRON!$GNULIB_ENVIRON$ac_delim GNULIB_FCHDIR!$GNULIB_FCHDIR$ac_delim GNULIB_FTRUNCATE!$GNULIB_FTRUNCATE$ac_delim GNULIB_GETCWD!$GNULIB_GETCWD$ac_delim GNULIB_GETLOGIN_R!$GNULIB_GETLOGIN_R$ac_delim GNULIB_GETPAGESIZE!$GNULIB_GETPAGESIZE$ac_delim GNULIB_LCHOWN!$GNULIB_LCHOWN$ac_delim GNULIB_LSEEK!$GNULIB_LSEEK$ac_delim GNULIB_READLINK!$GNULIB_READLINK$ac_delim GNULIB_SLEEP!$GNULIB_SLEEP$ac_delim HAVE_DUP2!$HAVE_DUP2$ac_delim HAVE_FTRUNCATE!$HAVE_FTRUNCATE$ac_delim HAVE_GETPAGESIZE!$HAVE_GETPAGESIZE$ac_delim HAVE_READLINK!$HAVE_READLINK$ac_delim HAVE_SLEEP!$HAVE_SLEEP$ac_delim HAVE_DECL_ENVIRON!$HAVE_DECL_ENVIRON$ac_delim HAVE_DECL_GETLOGIN_R!$HAVE_DECL_GETLOGIN_R$ac_delim HAVE_OS_H!$HAVE_OS_H$ac_delim HAVE_SYS_PARAM_H!$HAVE_SYS_PARAM_H$ac_delim REPLACE_CHOWN!$REPLACE_CHOWN$ac_delim REPLACE_FCHDIR!$REPLACE_FCHDIR$ac_delim REPLACE_GETCWD!$REPLACE_GETCWD$ac_delim REPLACE_GETPAGESIZE!$REPLACE_GETPAGESIZE$ac_delim REPLACE_LCHOWN!$REPLACE_LCHOWN$ac_delim REPLACE_LSEEK!$REPLACE_LSEEK$ac_delim LIB_CLOCK_GETTIME!$LIB_CLOCK_GETTIME$ac_delim NEXT_DIRENT_H!$NEXT_DIRENT_H$ac_delim DIRENT_H!$DIRENT_H$ac_delim GNULIB_OPEN!$GNULIB_OPEN$ac_delim REPLACE_OPEN!$REPLACE_OPEN$ac_delim NEXT_FCNTL_H!$NEXT_FCNTL_H$ac_delim FCNTL_H!$FCNTL_H$ac_delim GNULIB_FPRINTF_POSIX!$GNULIB_FPRINTF_POSIX$ac_delim GNULIB_PRINTF_POSIX!$GNULIB_PRINTF_POSIX$ac_delim GNULIB_SNPRINTF!$GNULIB_SNPRINTF$ac_delim GNULIB_SPRINTF_POSIX!$GNULIB_SPRINTF_POSIX$ac_delim GNULIB_VFPRINTF_POSIX!$GNULIB_VFPRINTF_POSIX$ac_delim GNULIB_VPRINTF_POSIX!$GNULIB_VPRINTF_POSIX$ac_delim GNULIB_VSNPRINTF!$GNULIB_VSNPRINTF$ac_delim GNULIB_VSPRINTF_POSIX!$GNULIB_VSPRINTF_POSIX$ac_delim GNULIB_VASPRINTF!$GNULIB_VASPRINTF$ac_delim GNULIB_FOPEN!$GNULIB_FOPEN$ac_delim GNULIB_FREOPEN!$GNULIB_FREOPEN$ac_delim GNULIB_FSEEK!$GNULIB_FSEEK$ac_delim GNULIB_FSEEKO!$GNULIB_FSEEKO$ac_delim GNULIB_FTELL!$GNULIB_FTELL$ac_delim GNULIB_FTELLO!$GNULIB_FTELLO$ac_delim GNULIB_FFLUSH!$GNULIB_FFLUSH$ac_delim GNULIB_GETDELIM!$GNULIB_GETDELIM$ac_delim GNULIB_GETLINE!$GNULIB_GETLINE$ac_delim REPLACE_FPRINTF!$REPLACE_FPRINTF$ac_delim REPLACE_VFPRINTF!$REPLACE_VFPRINTF$ac_delim REPLACE_PRINTF!$REPLACE_PRINTF$ac_delim REPLACE_VPRINTF!$REPLACE_VPRINTF$ac_delim REPLACE_SNPRINTF!$REPLACE_SNPRINTF$ac_delim HAVE_DECL_SNPRINTF!$HAVE_DECL_SNPRINTF$ac_delim REPLACE_VSNPRINTF!$REPLACE_VSNPRINTF$ac_delim HAVE_DECL_VSNPRINTF!$HAVE_DECL_VSNPRINTF$ac_delim REPLACE_SPRINTF!$REPLACE_SPRINTF$ac_delim REPLACE_VSPRINTF!$REPLACE_VSPRINTF$ac_delim HAVE_VASPRINTF!$HAVE_VASPRINTF$ac_delim REPLACE_VASPRINTF!$REPLACE_VASPRINTF$ac_delim REPLACE_FOPEN!$REPLACE_FOPEN$ac_delim REPLACE_FREOPEN!$REPLACE_FREOPEN$ac_delim HAVE_FSEEKO!$HAVE_FSEEKO$ac_delim REPLACE_FSEEKO!$REPLACE_FSEEKO$ac_delim REPLACE_FSEEK!$REPLACE_FSEEK$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF HAVE_FTELLO!$HAVE_FTELLO$ac_delim REPLACE_FTELLO!$REPLACE_FTELLO$ac_delim REPLACE_FTELL!$REPLACE_FTELL$ac_delim REPLACE_FFLUSH!$REPLACE_FFLUSH$ac_delim HAVE_DECL_GETDELIM!$HAVE_DECL_GETDELIM$ac_delim HAVE_DECL_GETLINE!$HAVE_DECL_GETLINE$ac_delim REPLACE_GETLINE!$REPLACE_GETLINE$ac_delim NEXT_FLOAT_H!$NEXT_FLOAT_H$ac_delim FLOAT_H!$FLOAT_H$ac_delim FNMATCH_H!$FNMATCH_H$ac_delim GNULIB_CEILF!$GNULIB_CEILF$ac_delim GNULIB_CEILL!$GNULIB_CEILL$ac_delim GNULIB_FLOORF!$GNULIB_FLOORF$ac_delim GNULIB_FLOORL!$GNULIB_FLOORL$ac_delim GNULIB_FREXP!$GNULIB_FREXP$ac_delim GNULIB_FREXPL!$GNULIB_FREXPL$ac_delim GNULIB_ISFINITE!$GNULIB_ISFINITE$ac_delim GNULIB_LDEXPL!$GNULIB_LDEXPL$ac_delim GNULIB_MATHL!$GNULIB_MATHL$ac_delim GNULIB_ROUND!$GNULIB_ROUND$ac_delim GNULIB_ROUNDF!$GNULIB_ROUNDF$ac_delim GNULIB_ROUNDL!$GNULIB_ROUNDL$ac_delim GNULIB_SIGNBIT!$GNULIB_SIGNBIT$ac_delim GNULIB_TRUNC!$GNULIB_TRUNC$ac_delim GNULIB_TRUNCF!$GNULIB_TRUNCF$ac_delim GNULIB_TRUNCL!$GNULIB_TRUNCL$ac_delim HAVE_DECL_ACOSL!$HAVE_DECL_ACOSL$ac_delim HAVE_DECL_ASINL!$HAVE_DECL_ASINL$ac_delim HAVE_DECL_ATANL!$HAVE_DECL_ATANL$ac_delim HAVE_DECL_COSL!$HAVE_DECL_COSL$ac_delim HAVE_DECL_EXPL!$HAVE_DECL_EXPL$ac_delim HAVE_DECL_FREXPL!$HAVE_DECL_FREXPL$ac_delim HAVE_DECL_LDEXPL!$HAVE_DECL_LDEXPL$ac_delim HAVE_DECL_LOGL!$HAVE_DECL_LOGL$ac_delim HAVE_DECL_SINL!$HAVE_DECL_SINL$ac_delim HAVE_DECL_SQRTL!$HAVE_DECL_SQRTL$ac_delim HAVE_DECL_TANL!$HAVE_DECL_TANL$ac_delim HAVE_DECL_TRUNC!$HAVE_DECL_TRUNC$ac_delim HAVE_DECL_TRUNCF!$HAVE_DECL_TRUNCF$ac_delim REPLACE_CEILF!$REPLACE_CEILF$ac_delim REPLACE_CEILL!$REPLACE_CEILL$ac_delim REPLACE_FLOORF!$REPLACE_FLOORF$ac_delim REPLACE_FLOORL!$REPLACE_FLOORL$ac_delim REPLACE_FREXP!$REPLACE_FREXP$ac_delim REPLACE_FREXPL!$REPLACE_FREXPL$ac_delim REPLACE_HUGE_VAL!$REPLACE_HUGE_VAL$ac_delim REPLACE_ISFINITE!$REPLACE_ISFINITE$ac_delim REPLACE_LDEXPL!$REPLACE_LDEXPL$ac_delim REPLACE_NAN!$REPLACE_NAN$ac_delim REPLACE_ROUND!$REPLACE_ROUND$ac_delim REPLACE_ROUNDF!$REPLACE_ROUNDF$ac_delim REPLACE_ROUNDL!$REPLACE_ROUNDL$ac_delim REPLACE_SIGNBIT!$REPLACE_SIGNBIT$ac_delim REPLACE_SIGNBIT_USING_GCC!$REPLACE_SIGNBIT_USING_GCC$ac_delim REPLACE_TRUNCL!$REPLACE_TRUNCL$ac_delim STDBOOL_H!$STDBOOL_H$ac_delim HAVE__BOOL!$HAVE__BOOL$ac_delim YACC!$YACC$ac_delim YFLAGS!$YFLAGS$ac_delim LIB_GETHRXTIME!$LIB_GETHRXTIME$ac_delim NEED_SETGID!$NEED_SETGID$ac_delim KMEM_GROUP!$KMEM_GROUP$ac_delim GETLOADAVG_LIBS!$GETLOADAVG_LIBS$ac_delim GETOPT_H!$GETOPT_H$ac_delim LIBINTL!$LIBINTL$ac_delim LTLIBINTL!$LTLIBINTL$ac_delim NEXT_SYS_TIME_H!$NEXT_SYS_TIME_H$ac_delim HAVE_SYS_TIME_H!$HAVE_SYS_TIME_H$ac_delim HAVE_STRUCT_TIMEVAL!$HAVE_STRUCT_TIMEVAL$ac_delim REPLACE_GETTIMEOFDAY!$REPLACE_GETTIMEOFDAY$ac_delim SYS_TIME_H!$SYS_TIME_H$ac_delim GNU_MAKE_TRUE!$GNU_MAKE_TRUE$ac_delim GNU_MAKE_FALSE!$GNU_MAKE_FALSE$ac_delim LIBICONV!$LIBICONV$ac_delim LTLIBICONV!$LTLIBICONV$ac_delim REPLACE_ICONV!$REPLACE_ICONV$ac_delim REPLACE_ICONV_OPEN!$REPLACE_ICONV_OPEN$ac_delim REPLACE_ICONV_UTF!$REPLACE_ICONV_UTF$ac_delim NEXT_ICONV_H!$NEXT_ICONV_H$ac_delim ICONV_H!$ICONV_H$ac_delim HAVE_LONG_LONG_INT!$HAVE_LONG_LONG_INT$ac_delim HAVE_UNSIGNED_LONG_LONG_INT!$HAVE_UNSIGNED_LONG_LONG_INT$ac_delim HAVE_INTTYPES_H!$HAVE_INTTYPES_H$ac_delim HAVE_SYS_TYPES_H!$HAVE_SYS_TYPES_H$ac_delim NEXT_STDINT_H!$NEXT_STDINT_H$ac_delim HAVE_STDINT_H!$HAVE_STDINT_H$ac_delim HAVE_SYS_INTTYPES_H!$HAVE_SYS_INTTYPES_H$ac_delim HAVE_SYS_BITYPES_H!$HAVE_SYS_BITYPES_H$ac_delim BITSIZEOF_PTRDIFF_T!$BITSIZEOF_PTRDIFF_T$ac_delim BITSIZEOF_SIG_ATOMIC_T!$BITSIZEOF_SIG_ATOMIC_T$ac_delim BITSIZEOF_SIZE_T!$BITSIZEOF_SIZE_T$ac_delim BITSIZEOF_WCHAR_T!$BITSIZEOF_WCHAR_T$ac_delim BITSIZEOF_WINT_T!$BITSIZEOF_WINT_T$ac_delim HAVE_SIGNED_SIG_ATOMIC_T!$HAVE_SIGNED_SIG_ATOMIC_T$ac_delim HAVE_SIGNED_WCHAR_T!$HAVE_SIGNED_WCHAR_T$ac_delim HAVE_SIGNED_WINT_T!$HAVE_SIGNED_WINT_T$ac_delim PTRDIFF_T_SUFFIX!$PTRDIFF_T_SUFFIX$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SIG_ATOMIC_T_SUFFIX!$SIG_ATOMIC_T_SUFFIX$ac_delim SIZE_T_SUFFIX!$SIZE_T_SUFFIX$ac_delim WCHAR_T_SUFFIX!$WCHAR_T_SUFFIX$ac_delim WINT_T_SUFFIX!$WINT_T_SUFFIX$ac_delim STDINT_H!$STDINT_H$ac_delim PRI_MACROS_BROKEN!$PRI_MACROS_BROKEN$ac_delim GNULIB_IMAXABS!$GNULIB_IMAXABS$ac_delim GNULIB_IMAXDIV!$GNULIB_IMAXDIV$ac_delim GNULIB_STRTOIMAX!$GNULIB_STRTOIMAX$ac_delim GNULIB_STRTOUMAX!$GNULIB_STRTOUMAX$ac_delim HAVE_DECL_IMAXABS!$HAVE_DECL_IMAXABS$ac_delim HAVE_DECL_IMAXDIV!$HAVE_DECL_IMAXDIV$ac_delim HAVE_DECL_STRTOIMAX!$HAVE_DECL_STRTOIMAX$ac_delim HAVE_DECL_STRTOUMAX!$HAVE_DECL_STRTOUMAX$ac_delim NEXT_INTTYPES_H!$NEXT_INTTYPES_H$ac_delim PRIPTR_PREFIX!$PRIPTR_PREFIX$ac_delim INT32_MAX_LT_INTMAX_MAX!$INT32_MAX_LT_INTMAX_MAX$ac_delim INT64_MAX_EQ_LONG_MAX!$INT64_MAX_EQ_LONG_MAX$ac_delim UINT32_MAX_LT_UINTMAX_MAX!$UINT32_MAX_LT_UINTMAX_MAX$ac_delim UINT64_MAX_EQ_ULONG_MAX!$UINT64_MAX_EQ_ULONG_MAX$ac_delim INTTYPES_H!$INTTYPES_H$ac_delim GLIBC21!$GLIBC21$ac_delim LOCALCHARSET_TESTS_ENVIRONMENT!$LOCALCHARSET_TESTS_ENVIRONMENT$ac_delim NEXT_MATH_H!$NEXT_MATH_H$ac_delim GNULIB_MEMMEM!$GNULIB_MEMMEM$ac_delim GNULIB_MEMPCPY!$GNULIB_MEMPCPY$ac_delim GNULIB_MEMRCHR!$GNULIB_MEMRCHR$ac_delim GNULIB_RAWMEMCHR!$GNULIB_RAWMEMCHR$ac_delim GNULIB_STPCPY!$GNULIB_STPCPY$ac_delim GNULIB_STPNCPY!$GNULIB_STPNCPY$ac_delim GNULIB_STRCHRNUL!$GNULIB_STRCHRNUL$ac_delim GNULIB_STRDUP!$GNULIB_STRDUP$ac_delim GNULIB_STRNDUP!$GNULIB_STRNDUP$ac_delim GNULIB_STRNLEN!$GNULIB_STRNLEN$ac_delim GNULIB_STRPBRK!$GNULIB_STRPBRK$ac_delim GNULIB_STRSEP!$GNULIB_STRSEP$ac_delim GNULIB_STRSTR!$GNULIB_STRSTR$ac_delim GNULIB_STRCASESTR!$GNULIB_STRCASESTR$ac_delim GNULIB_STRTOK_R!$GNULIB_STRTOK_R$ac_delim GNULIB_MBSLEN!$GNULIB_MBSLEN$ac_delim GNULIB_MBSNLEN!$GNULIB_MBSNLEN$ac_delim GNULIB_MBSCHR!$GNULIB_MBSCHR$ac_delim GNULIB_MBSRCHR!$GNULIB_MBSRCHR$ac_delim GNULIB_MBSSTR!$GNULIB_MBSSTR$ac_delim GNULIB_MBSCASECMP!$GNULIB_MBSCASECMP$ac_delim GNULIB_MBSNCASECMP!$GNULIB_MBSNCASECMP$ac_delim GNULIB_MBSPCASECMP!$GNULIB_MBSPCASECMP$ac_delim GNULIB_MBSCASESTR!$GNULIB_MBSCASESTR$ac_delim GNULIB_MBSCSPN!$GNULIB_MBSCSPN$ac_delim GNULIB_MBSPBRK!$GNULIB_MBSPBRK$ac_delim GNULIB_MBSSPN!$GNULIB_MBSSPN$ac_delim GNULIB_MBSSEP!$GNULIB_MBSSEP$ac_delim GNULIB_MBSTOK_R!$GNULIB_MBSTOK_R$ac_delim GNULIB_STRERROR!$GNULIB_STRERROR$ac_delim GNULIB_STRSIGNAL!$GNULIB_STRSIGNAL$ac_delim HAVE_DECL_MEMMEM!$HAVE_DECL_MEMMEM$ac_delim HAVE_MEMPCPY!$HAVE_MEMPCPY$ac_delim HAVE_DECL_MEMRCHR!$HAVE_DECL_MEMRCHR$ac_delim HAVE_RAWMEMCHR!$HAVE_RAWMEMCHR$ac_delim HAVE_STPCPY!$HAVE_STPCPY$ac_delim HAVE_STPNCPY!$HAVE_STPNCPY$ac_delim HAVE_STRCHRNUL!$HAVE_STRCHRNUL$ac_delim HAVE_DECL_STRDUP!$HAVE_DECL_STRDUP$ac_delim HAVE_STRNDUP!$HAVE_STRNDUP$ac_delim HAVE_DECL_STRNDUP!$HAVE_DECL_STRNDUP$ac_delim HAVE_DECL_STRNLEN!$HAVE_DECL_STRNLEN$ac_delim HAVE_STRPBRK!$HAVE_STRPBRK$ac_delim HAVE_STRSEP!$HAVE_STRSEP$ac_delim HAVE_STRCASESTR!$HAVE_STRCASESTR$ac_delim HAVE_DECL_STRTOK_R!$HAVE_DECL_STRTOK_R$ac_delim HAVE_DECL_STRERROR!$HAVE_DECL_STRERROR$ac_delim HAVE_DECL_STRSIGNAL!$HAVE_DECL_STRSIGNAL$ac_delim REPLACE_STRERROR!$REPLACE_STRERROR$ac_delim REPLACE_STRSIGNAL!$REPLACE_STRSIGNAL$ac_delim REPLACE_MEMMEM!$REPLACE_MEMMEM$ac_delim REPLACE_STRCASESTR!$REPLACE_STRCASESTR$ac_delim REPLACE_STRSTR!$REPLACE_STRSTR$ac_delim REPLACE_MKDIR!$REPLACE_MKDIR$ac_delim REPLACE_LOCALTIME_R!$REPLACE_LOCALTIME_R$ac_delim REPLACE_NANOSLEEP!$REPLACE_NANOSLEEP$ac_delim REPLACE_STRPTIME!$REPLACE_STRPTIME$ac_delim REPLACE_TIMEGM!$REPLACE_TIMEGM$ac_delim LIB_NANOSLEEP!$LIB_NANOSLEEP$ac_delim NEXT_NETINET_IN_H!$NEXT_NETINET_IN_H$ac_delim HAVE_NETINET_IN_H!$HAVE_NETINET_IN_H$ac_delim NETINET_IN_H!$NETINET_IN_H$ac_delim PERL!$PERL$ac_delim POSIX_SHELL!$POSIX_SHELL$ac_delim PREFERABLY_POSIX_SHELL!$PREFERABLY_POSIX_SHELL$ac_delim DEFAULT_POSIX2_VERSION!$DEFAULT_POSIX2_VERSION$ac_delim NEXT_SYS_SOCKET_H!$NEXT_SYS_SOCKET_H$ac_delim HAVE_SYS_SOCKET_H!$HAVE_SYS_SOCKET_H$ac_delim HAVE_WINSOCK2_H!$HAVE_WINSOCK2_H$ac_delim HAVE_WS2TCPIP_H!$HAVE_WS2TCPIP_H$ac_delim SYS_SOCKET_H!$SYS_SOCKET_H$ac_delim STDARG_H!$STDARG_H$ac_delim NEXT_STDARG_H!$NEXT_STDARG_H$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-4.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF NEXT_STDIO_H!$NEXT_STDIO_H$ac_delim NEXT_STDLIB_H!$NEXT_STDLIB_H$ac_delim NEXT_STRING_H!$NEXT_STRING_H$ac_delim POW_LIB!$POW_LIB$ac_delim HAVE_LSTAT!$HAVE_LSTAT$ac_delim NEXT_SYS_STAT_H!$NEXT_SYS_STAT_H$ac_delim SYS_STAT_H!$SYS_STAT_H$ac_delim NEXT_TIME_H!$NEXT_TIME_H$ac_delim TIME_H_DEFINES_STRUCT_TIMESPEC!$TIME_H_DEFINES_STRUCT_TIMESPEC$ac_delim SYS_TIME_H_DEFINES_STRUCT_TIMESPEC!$SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$ac_delim NEXT_UNISTD_H!$NEXT_UNISTD_H$ac_delim HAVE_UNISTD_H!$HAVE_UNISTD_H$ac_delim GNULIB_WCWIDTH!$GNULIB_WCWIDTH$ac_delim HAVE_DECL_WCWIDTH!$HAVE_DECL_WCWIDTH$ac_delim REPLACE_WCWIDTH!$REPLACE_WCWIDTH$ac_delim WCHAR_H!$WCHAR_H$ac_delim HAVE_WCHAR_H!$HAVE_WCHAR_H$ac_delim NEXT_WCHAR_H!$NEXT_WCHAR_H$ac_delim HAVE_ISWCNTRL!$HAVE_ISWCNTRL$ac_delim HAVE_WINT_T!$HAVE_WINT_T$ac_delim NEXT_WCTYPE_H!$NEXT_WCTYPE_H$ac_delim HAVE_WCTYPE_H!$HAVE_WCTYPE_H$ac_delim WCTYPE_H!$WCTYPE_H$ac_delim REPLACE_ISWCNTRL!$REPLACE_ISWCNTRL$ac_delim LOCALE_FR!$LOCALE_FR$ac_delim LOCALE_TR_UTF8!$LOCALE_TR_UTF8$ac_delim LOCALE_FR_UTF8!$LOCALE_FR_UTF8$ac_delim LOCALE_ZH_CN!$LOCALE_ZH_CN$ac_delim abs_aux_dir!$abs_aux_dir$ac_delim LIBCOREUTILS_LIBDEPS!$LIBCOREUTILS_LIBDEPS$ac_delim LIBCOREUTILS_LTLIBDEPS!$LIBCOREUTILS_LTLIBDEPS$ac_delim LIBTESTS_LIBDEPS!$LIBTESTS_LIBDEPS$ac_delim HELP2MAN!$HELP2MAN$ac_delim MAN!$MAN$ac_delim U!$U$ac_delim ANSI2KNR!$ANSI2KNR$ac_delim LIBOBJS!$LIBOBJS$ac_delim LIB_FDATASYNC!$LIB_FDATASYNC$ac_delim SEQ_LIBM!$SEQ_LIBM$ac_delim COND_USE_HDPARM_TRUE!$COND_USE_HDPARM_TRUE$ac_delim COND_USE_HDPARM_FALSE!$COND_USE_HDPARM_FALSE$ac_delim USE_HDPARM!$USE_HDPARM$ac_delim LIB_CRYPT!$LIB_CRYPT$ac_delim INSTALL_SU!$INSTALL_SU$ac_delim OPTIONAL_BIN_PROGS!$OPTIONAL_BIN_PROGS$ac_delim NO_INSTALL_PROGS_DEFAULT!$NO_INSTALL_PROGS_DEFAULT$ac_delim CONFIG_STATUS_DEPENDENCIES!$CONFIG_STATUS_DEPENDENCIES$ac_delim USE_NLS!$USE_NLS$ac_delim GETTEXT_MACRO_VERSION!$GETTEXT_MACRO_VERSION$ac_delim MSGFMT!$MSGFMT$ac_delim GMSGFMT!$GMSGFMT$ac_delim MSGFMT_015!$MSGFMT_015$ac_delim GMSGFMT_015!$GMSGFMT_015$ac_delim XGETTEXT!$XGETTEXT$ac_delim XGETTEXT_015!$XGETTEXT_015$ac_delim MSGMERGE!$MSGMERGE$ac_delim XGETTEXT_EXTRA_OPTIONS!$XGETTEXT_EXTRA_OPTIONS$ac_delim INTL_MACOSX_LIBS!$INTL_MACOSX_LIBS$ac_delim INTLLIBS!$INTLLIBS$ac_delim POSUB!$POSUB$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim gl_LIBOBJS!$gl_LIBOBJS$ac_delim gl_LTLIBOBJS!$gl_LTLIBOBJS$ac_delim gltests_LIBOBJS!$gltests_LIBOBJS$ac_delim gltests_LTLIBOBJS!$gltests_LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 65; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-5.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" | sed -f "$tmp/subs-4.sed" | sed -f "$tmp/subs-5.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_arg=$ac_file _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi dc3dd-7.1.614/po/0000755000175000017500000000000011613550425013057 5ustar amedicoamedicodc3dd-7.1.614/po/Makevars0000644000175000017500000000502611064230667014561 0ustar amedicoamedico# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! #line 1 # Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ \ \ --flag=_:1:pass-c-format\ --flag=N_:1:pass-c-format\ --flag=error:3:c-format --flag=error_at_line:5:c-format\ \ --from-code=UTF-8\ --flag=asprintf:2:c-format\ --flag=asnprintf:3:c-format\ --flag=error:3:c-format\ --flag=error_at_line:5:c-format\ --flag=vasprintf:2:c-format\ --flag=vasnprintf:3:c-format\ --flag=wrapf:1:c-format\ --flag=xasprintf:1:c-format\ --flag=xfprintf:2:c-format\ --flag=xprintf:1:c-format\ \ --keyword=proper_name:1,'"This is a proper name. See the gettext manual, section Names."'\ --keyword=proper_name_utf8:1,'"This is a proper name. See the gettext manual, section Names."'\ $${end_of_xgettext_options+} # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Free Software Foundation, Inc. # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = bug-coreutils@gnu.org # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = LC_TIME dc3dd-7.1.614/po/rw.gmo0000644000175000017500000000074111022023316014201 0ustar amedicoamedico$,89Project-Id-Version: coreutils 5.3.0 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2008-02-12 10:06-0500 PO-Revision-Date: 2005-04-04 10:55-0700 Last-Translator: Steven Michael Murphy Language-Team: Kinyarwanda MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); dc3dd-7.1.614/po/uk.po0000644000175000017500000143307011233346647014055 0ustar amedicoamedico# Ukrainian translation for coreutils. # Copyright (C) 2006 Free Software Foundation, Inc. # This file is put in the public domain. # Maxim Dziumanenko , 2007 # msgid "" msgstr "" "Project-Id-Version: coreutils 6.9.91\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2007-12-17 15:12+0300\n" "Last-Translator: Maxim V. Dziumanenko \n" "Language-Team: Ukrainian \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "неможливо створити процес для %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Спробуйте `%s --help' для одержання додаткової інформації.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Використання: %s [ОПЕРАНД]...\n" " або: %s КЛЮЧ\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Копіює файл, перетворює та форматує у залежності від операндів.\n" "\n" " bs=ЧИСЛО примусово використовувати ibs=ЧИСЛО та obs=ЧИСЛО\n" " cbs=ЧИСЛО перетворювати вказане ЧИСЛУ байт за раз\n" " conv=СПИСОК перетворювати файл відповідно до СПИСКУ символів,\n" " елементи перераховуються через кому\n" " count=ЧИСЛО копіювати лише вказане ЧИСЛО вхідних блоків\n" " ibs=ЧИСЛО читати вказане ЧИСЛО байт за раз\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=ФАЙЛ читати ФАЙЛ, а не стандартний ввід\n" " iflag=СПИСОК читати відповідно до СПИСКУ символів,\n" " елементи перераховуються через кому\n" " obs=ЧИСЛО записувати вказане ЧИСЛО байт за раз\n" " of=ФАЙЛ записувати у ФАЙЛ, а не на стандартний вивід\n" " oflag=СПИСОК записувати відповідно до списку символів,\n" " елементи перераховуються через кому\n" " seek=ЧИСЛО пропустити з початку виводу ЧИСЛО блоків розміром obs\n" " skip=ЧИСЛО пропустити з початку вводу ЧИСЛО блоків розміром ibs\n" " status=noxfer не виводити статистику передачі\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Після ЧИСЛА блоків та байт може стоять один з множників:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB\n" "1000*1000*1000, G 1024*1024*1024 та таке інше для T, P, E, Z, Y.\n" "\n" "Кожен елемент СПИСКУ для conv може бути:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat не створювати файл виводу\n" " excl завершаться помилкою, якщо файл виводу уже існує\n" " notrunc не обрізати файл виводу\n" " ucase змінювати регістр з нижнього на верхній\n" " swab міняти місцями кожну пару вхідних байтів\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror продовжувати після помилок читання\n" " sync доповнювати кожен вхідний блок нулями до розміру ibs; якщо\n" " вживається разом з block або unblock, доповнювати пробілами\n" " fdatasync фізично записати файл виводу перед завершенням\n" " fsync аналогічно, але записати також метадані\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Символ-ОЗНАКА може бути таким:\n" "\n" " append режим додавання (має сенс для виводу; рекомендується " "conv=notrunc)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct використовувати прямий ввід/вивід для даних\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory помилка, якщо не є каталогом\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync використовувати синхронізований ввід/вивід для даних\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync те саме, але також для метаданих\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock використовувати ввід/вивід без блокування\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime не оновлювати час останнього доступу\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty не призначати керуючий термінал з файлу\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow не слідувати за символьним посиланням\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks помилка, якщо знайдено декілька посилань\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary використовувати двійковий ввід/вивід для даних\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text використовувати текстовий ввід/вивід для даних\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Якщо надіслати запущеному процесу `dd' сигнал %s, він виведе на\n" "стандартний потік помилок статистику вводу/виводу та продовжить\n" "копіювання.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 вхідних записів\n" " 18335302+0 вихідних записів\n" " 9387674624 байта (9.4 GB) скопійовано, 34.6279 секунди, 271 Мб/с\n" "\n" "Ключі:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Невідома системна помилка" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% записів прочитано\n" "%+% записів записано\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] " скопійовано % байт (%s)" msgstr[1] " скопійовано % байти (%s)" msgstr[2] " скопійовано % байтів (%s)" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Нескінченість" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g с, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g с, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "закриття вхідного файлу %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "закриття файлу виводу %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Вичерпані суфікси для вихідних файлів" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "відкриття %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "ПОМИЛКА" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "операнд %s не розпізнаний" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "неправильна дата %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "неправильний формат дати %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "неправильний формат дати %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "неправильний формат дати %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "неприпустиме перетворення: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "неприпустима ознака входу: %s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "неприпустимий ознака виводу: %s" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "неприпустимий ознака статусу: %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "неправильний номер %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "не можна одночасно використовувати excl та nocreat" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "не можна одночасно використовувати ключі -e та -i" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "не можна одночасно використовувати ключі -e та -i" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "не можна одночасно використовувати ключі -e та -i" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "не можна одночасно використовувати ключі -e та -i" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "не можна одночасно використовувати ключі -e та -i" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "попередження: обходиться помилка lseek у ядрі для файлу (%s)\n" " mt_type=0x%0lx -- см. для списку типів" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "читання %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: не вдається зсунути вказівник файлу" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "переповнення зсуву при читанні файлу %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "попередження: некоректний зсув файлу після помилки читання" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "не вдається обійти помилку ядра" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "встановлення ознак для %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "читання каталогу %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "читання каталогу %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "запис у %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "операція fdatasync для %s завершилась помилкою" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "операція fsync для %s завершилась помилкою" #: src/dc3dd.c:3907 msgid "standard input" msgstr "стандартний ввід" #: src/dc3dd.c:3938 msgid "standard output" msgstr "стандартний вивід" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "зсув надто великий: не вдається обрізати до величини seek=% (%lu-" "байтних) блоків" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "не вдається виконати fstat для %s" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "відсікання на % байт у файлі виводу %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii з EBCDIC на ASCII\n" #~ " ebcdic з ASCII на EBCDIC\n" #~ " ibm з ASCII на альтернативну EBCDIC\n" #~ " block заповнювати записи, що закінчуються переносом рядка, " #~ "пробілами\n" #~ " до розміру cbs\n" #~ " unblock замінювати кінцеві пробіли у записах з розміром cbs переносом " #~ "рядка\n" #~ " lcase змінювати регістр з верхнього на нижній\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% обрізаний запис\n" #~ msgstr[1] "% обрізані записи\n" #~ msgstr[2] "% обрізаних записів\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "" #~ "не можна одночасно використовувати будь-які два з {ascii,ebcdic,ibm}" #~ msgid "cannot combine block and unblock" #~ msgstr "не можна одночасно використовувати block та unblock" #~ msgid "cannot combine lcase and ucase" #~ msgstr "не можна одночасно використовувати lcase та ucase" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "попередження: некоректний зсув файлу після помилки читання" #~ msgid "error writing %s" #~ msgstr "помилка запису %s" #~ msgid "invalid argument %s for %s" #~ msgstr "неправильний аргумент %s для %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "неоднозначний аргумент %s для %s" #~ msgid "Valid arguments are:" #~ msgstr "Допустимі аргументи:" #~ msgid "error closing file" #~ msgstr "помилка при закритті файлу" #~ msgid "write error" #~ msgstr "помилка запису" #~ msgid "preserving permissions for %s" #~ msgstr "збереження прав доступу для %s" #~ msgid "cannot stat %s" #~ msgstr "не вдається виконати stat для %s" #~ msgid "regular empty file" #~ msgstr "звичайний порожній файл" #~ msgid "regular file" #~ msgstr "звичайний файл" #~ msgid "directory" #~ msgstr "каталог" #~ msgid "block special file" #~ msgstr "файл блочного пристрою" #~ msgid "character special file" #~ msgstr "файл символьного пристрою" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "символічне посилання" #~ msgid "socket" #~ msgstr "сокет" #~ msgid "message queue" #~ msgstr "черга повідомлень" #~ msgid "semaphore" #~ msgstr "семафор" #~ msgid "shared memory object" #~ msgstr "об'єкт спільній пам'яті" #~ msgid "typed memory object" #~ msgstr "об'єкт типізованої пам'яті" #~ msgid "weird file" #~ msgstr "дивний файл" #~ msgid "Address family for hostname not supported" #~ msgstr "Сімейство адрес не підтримується для цього вузла" #~ msgid "Temporary failure in name resolution" #~ msgstr "Тимчасова помилка розв'язання назв" #~ msgid "Bad value for ai_flags" #~ msgstr "Неправильне значення ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Критична помилка при розв'язанні назв" #~ msgid "ai_family not supported" #~ msgstr "ai_family не підтримується" #~ msgid "Memory allocation failure" #~ msgstr "Помилка виділення пам'яті" #~ msgid "No address associated with hostname" #~ msgstr "З даною назвою вузла не пов'язано жодної адреси" #~ msgid "Name or service not known" #~ msgstr "Невідома назва чи сервіс" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Servname не підтримується для ai_socktype" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype не підтримується" #~ msgid "System error" #~ msgstr "Системна помилка" #~ msgid "Argument buffer too small" #~ msgstr "Буфер аргументів надто малий" #~ msgid "Processing request in progress" #~ msgstr "Триває обробка запиту" #~ msgid "Request canceled" #~ msgstr "Запит скасовано" #~ msgid "Request not canceled" #~ msgstr "Запит не скасовано" #~ msgid "All requests done" #~ msgstr "Всі запити завершені" #~ msgid "Interrupted by a signal" #~ msgstr "Перервано за сигналом" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Неправильно закодований рядок параметрів" #~ msgid "Unknown error" #~ msgstr "Невідома помилка" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: неоднозначний ключ `%s'\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: ключ `--%s' має використовуватись без аргументу\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: ключ `%c%s' має використовуватись без аргументів\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: ключ `%s' має використовуватись з аргументом\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: невідомий ключ `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: невідомий ключ `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: неправильний ключ -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: неправильний ключ -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: ключ -- %c має використовуватись з аргументом\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: неоднозначний ключ `-W %s'\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: ключ `-W %s' має використовуватись без аргументу\n" #~ msgid "cannot change permissions of %s" #~ msgstr "Не вдається змінити права доступу до %s" #~ msgid "cannot create directory %s" #~ msgstr "Не вдається створити каталог %s" #~ msgid "memory exhausted" #~ msgstr "пам'ять вичерпано" # c-format #~ msgid "unable to record current working directory" #~ msgstr "не вдається зберегти поточний робочій каталог" #~ msgid "failed to return to initial working directory" #~ msgstr "не вдається повернутись до початкового робочого каталогу" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #~ msgid "%s: end of file" #~ msgstr "%s: кінець файлу" #~ msgid "Success" #~ msgstr "Виконано" #~ msgid "No match" #~ msgstr "Немає збігів" #~ msgid "Invalid regular expression" #~ msgstr "Неправильний регулярний вираз" #~ msgid "Invalid collation character" #~ msgstr "Неправильний символ порівняння" #~ msgid "Invalid character class name" #~ msgstr "Некоректна назва класу символу" #~ msgid "Trailing backslash" #~ msgstr "Зворотна коса риска наприкінці" #~ msgid "Invalid back reference" #~ msgstr "Неправильне зворотне посилання" #~ msgid "Unmatched [ or [^" #~ msgstr "Непарна [ чи [^" #~ msgid "Unmatched ( or \\(" #~ msgstr "Непарна ( чи \\(" #~ msgid "Unmatched \\{" #~ msgstr "Непарна \\{" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Неприпустимий вміст \\{\\}" #~ msgid "Invalid range end" #~ msgstr "Неправильний кінець діапазону" #~ msgid "Memory exhausted" #~ msgstr "Скінчилась пам'ять" #~ msgid "Invalid preceding regular expression" #~ msgstr "Некоректний попередній регулярний вираз" #~ msgid "Premature end of regular expression" #~ msgstr "Передчасний кінець регулярного виразу" #~ msgid "Regular expression too big" #~ msgstr "Розмір виразу надто великий" #~ msgid "Unmatched ) or \\)" #~ msgstr "Непарна ) чи \\)" #~ msgid "No previous regular expression" #~ msgstr "Відсутній попередній регулярний вираз" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "небезпечно рекурсивно обробляти %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "небезпечно рекурсивно обробляти %s (те ж саме, що й %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "" #~ "використовуйте --no-preserve-root, щоб скасувати попередження про " #~ "небезпеку" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "встановлення прав доступу для %s" #~ msgid "iconv function not usable" #~ msgstr "функцію iconv неможливо використати" #~ msgid "iconv function not available" #~ msgstr "функція iconv недоступна" #~ msgid "character out of range" #~ msgstr "символ поза діапазоном" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "неможливо перетворити U+%04X у локальне кодування" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "неможливо перетворити U+%04X у локальне кодування: %s" #~ msgid "invalid user" #~ msgstr "неправильний користувач" #~ msgid "invalid group" #~ msgstr "неправильна група" #~ msgid "invalid spec" #~ msgstr "неправильна специфікація" #~ msgid "(C)" #~ msgstr "(C)" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ліцензія GPLv3+: GNU GPL версії 3 або старша \n" #~ "Ця програма є вільною: ви вільні змінювати чи розповсюджувати її.\n" #~ "ВІДСУТНЯ ГАРАНТІЯ у дозволених законом межах.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Автор програми %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Автор програми %s та %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Автор програми %s, %s та %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Автор програми %s, %s, %s\n" #~ "та %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Автор програми %s, %s, %s.\n" #~ "%s та %s\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Автор програми %s, %s, %s.\n" #~ "%s, %s та %s\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Автор програми %s, %s, %s.\n" #~ "%s, %s, %s та %s\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Автор програми %s, %s, %s.\n" #~ "%s, %s, %s, %s та %s\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Автор програми %s, %s, %s.\n" #~ "%s, %s, %s, %s\n" #~ "%s та %s\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Автор програми %s, %s, %s.\n" #~ "%s, %s, %s, %s\n" #~ "%s, %s та інші.\n" #~ msgid "invalid argument: %s" #~ msgstr "Неправильний аргумент: %s" #~ msgid "string comparison failed" #~ msgstr "помилка порівняння рядків" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Щоб обійти цю проблему, встановіть LC_ALL='C'" #~ msgid "The strings compared were %s and %s." #~ msgstr "Помилка порівняння рядків %s та %s." #~ msgid "string transformation failed" #~ msgstr "помилка перетворення рядків" #~ msgid "The untransformed string was %s." #~ msgstr "Рядок до перетворення %s." #~ msgid "cannot perform formatted output" #~ msgstr "не вдається виконати форматований вивід" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "неправильний %s%s аргумент `%s'" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "неправильний суфікс у %s%s аргументі `%s'" #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s%s аргумент `%s' занадто великий" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ] [ФАЙЛ]\n" #~ "Кодування чи декодування файлу чи стандартного потоку вводу у форматі\n" #~ "Base64, і запис у стандартний потік виводу.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=СИМВ переносити рядки після СИМВ символів (типово " #~ "76).\n" #~ " Вкажіть 0 для вимикання переносу рядків.\n" #~ "\n" #~ " -d, --decode декодувати дані.\n" #~ " -i, --ignore-garbage при декодуванні, ігнорувати не-алфавітні " #~ "символи.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Вивести цю довідку та завершити роботу.\n" #~ " --version Вивести інформацію про версію та завершити " #~ "роботу.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Якщо вхідний файл не вказаний, або якщо вказано символ -,\n" #~ "використовується стандартний ввід.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Дані закодовані символами з алфавіту base64, відповідно до RFC 3548. При\n" #~ "декодуванні ввід може містити також переведення рядків окрім байтів\n" #~ "формального алфавіту base64. Вказуйте ключ --ignore-garbage, щоб\n" #~ "спробувати ігнорувати неалфавітні знаки в закодованому потоці.\n" #~ msgid "read error" #~ msgstr "помилка читання" #~ msgid "invalid input" #~ msgstr "неправильні вхідні дані" #~ msgid "invalid wrap size: %s" #~ msgstr "неправильна величина переносу: %s" #~ msgid "extra operand %s" #~ msgstr "зайвий операнд %s" #~ msgid "closing standard input" #~ msgstr "закривається стандартний потік вводу" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s НАЗВА [СУФІКС]\n" #~ " чи: %s КЛЮЧ\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Вивести НАЗВУ з видаленням компоненту каталогу на початку рядка.\n" #~ "Також видалити завершальний СУФІКС (якщо вказано).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Приклади:\n" #~ " %s /usr/bin/sort Виводить \"sort\".\n" #~ " %s include/stdio.h .h Виводить \"stdio\".\n" #~ msgid "missing operand" #~ msgstr "відсутній операнд" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Використання: %s [ПАРАМЕТР] [ФАЙЛ]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Конкатенація файлів, чи стандартного вводу, у стандартний потік виводу.\n" #~ "\n" #~ " -A, --show-all еквівалент -vET\n" #~ " -b, --number-nonblank кількість непорожніх рядків виводу\n" #~ " -e еквівалент -vE\n" #~ " -E, --show-ends відображати $ наприкінці кожного рядка\n" #~ " -n, --number кількість усіх рядків виводу\n" #~ " -s, --squeeze-blank не більше ніж один порожній рядок\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t еквівалент -vT\n" #~ " -T, --show-tabs відображати символи табуляцій як ^I\n" #~ " -u (ігнорується)\n" #~ " -v, --show-nonprinting використовувати нотацію ^ та M-, за винятком\n" #~ " переведення рядка та табуляції\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Приклади:\n" #~ " %s f - g Виводить вміст f, потім стандартний потік вводу, потім вміст " #~ "g.\n" #~ " %s Копіює дані зі стандартного потоку вводу у стандартний " #~ "вивід.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "помилка ioctl на %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: вхідний файл є файлом виводу" #~ msgid "failed to create security context: %s" #~ msgstr "не вдається створити контексту безпеки: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "не вдається встановити %s контекст безпеки компоненту %s" #~ msgid "failed to get security context of %s" #~ msgstr "не вдається встановити контекст безпеки %s" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "" #~ "не вдається застосувати частковий контекст для непозначеного файлу %s" #~ msgid "failed to change context of %s to %s" #~ msgstr "не вдається змінити контекст %s на %s" #~ msgid "cannot access %s" #~ msgstr "не вдається отримати доступ до %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "не вдається прочитати каталог %s" #~ msgid "changing security context of %s" #~ msgstr "зміна контексту безпеки для %s" #~ msgid "fts_read failed" #~ msgstr "помилка при операції fts_read" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... КОНТЕКСТ ФАЙЛ\n" #~ " або: %s [КЛЮЧ]... [-u КОРИСТУВАЧ] [-r РОЛЬ] [-l ДІАПАЗОН] [-t " #~ "ТИП] ФАЙЛ...\n" #~ " або: %s [КЛЮЧ]... --reference=ЗФАЙЛ ФАЙЛ...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Змінює контекст безпеки кожного файлу ФАЙЛ на КОНТЕКСТ.\n" #~ "З ключем --reference, змінює контекст безпеки кожного ФАЙЛУ на контекст " #~ "ЗФАЙЛУ.\n" #~ "\n" #~ " -c, --changes як і verbose, але виводити лише при змінах\n" #~ " --dereference впливає на ціль кожного символічного посилання,\n" #~ " а не на саме символічне посилання (лише на " #~ "системах,\n" #~ " які це підтримують)\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=ЗФАЙЛУ використовувати контекст ЗФАЙЛУ замість явного\n" #~ " вказування КОНТЕКСТ\n" #~ " -R, --recursive рекурсивно обробляти файли та каталоги\n" #~ " -v, --verbose виводити діагностичні повідомлення для кожного " #~ "файлу\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=КОРИСТУВАЧ встановити користувача КОРИСТУВАЧ у цільовому " #~ "контексті безпеки\n" #~ " -r, --role=РОЛЬ встановити роль РОЛЬ у цільовому контексті " #~ "безпеки\n" #~ " -t, --type=ТИП встановити тип ТИП у цільовому контексті " #~ "безпеки\n" #~ " -l, --range=ДІАПАЗОН встановити діапазон ДІАПАЗОН у цільовому " #~ "контексті безпеки\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Наступні ключі впливають на спосіб обходу ієрархії каталогів при\n" #~ "заданому ключі -R. Якщо вказано декілька цих ключів, діє\n" #~ "лише останній.\n" #~ "\n" #~ " -H якщо аргумент командного рядка є символьним\n" #~ " посиланням на каталог, перейти за ним\n" #~ " -L переходити за кожним символьним посиланням на\n" #~ " каталог\n" #~ " -P не переходити за символьними посиланнями " #~ "(типово)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "Для комбінація ключів -R --dereference треба вказати -H або -L" #~ msgid "-R -h requires -P" #~ msgstr "при вказуванні -R -h потрібно вказати -P" #~ msgid "missing operand after %s" #~ msgstr "пропущений операнд після %s" #~ msgid "invalid context: %s" #~ msgstr "неправильний контекст: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "вказано конфліктуючі специфікатори контексту безпеки" #~ msgid "failed to get attributes of %s" #~ msgstr "помилка отримання атрибутів %s" #~ msgid "invalid group: %s" #~ msgstr "неправильна група: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... ГРУПА ФАЙЛ...\n" #~ " чи: %s [КЛЮЧ]... --reference=ЗФАЙЛУ ФАЙЛ...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Змінює групу власника кожного файлу ФАЙЛ на ГРУПА.\n" #~ "З ключем --reference, змінює групу кожного ФАЙЛУ на групу ЗФАЙЛУ.\n" #~ "\n" #~ " -c, --changes як і verbose, але виводити лише при змінах\n" #~ " --dereference впливає на ціль кожного символічного посилання\n" #~ " (типово), а не на саме символічне посилання\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference впливає на символічне посилання, а не на файл,\n" #~ " на який вказує (діє лише на системі з " #~ "підтримкою\n" #~ " зміни прав власності символічних посилань)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root не трактувати `/' особливим чином (типово)\n" #~ " --preserve-root перешкоджати рекурсивному виконанню на `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet не виводити більшість повідомлень про помилки\n" #~ " --reference=ЗФАЙЛУ використовувати групу ЗФАЙЛУ замість явного\n" #~ " вказування ГРУПИ\n" #~ " -R, --recursive рекурсивно обробляти файли та каталоги\n" #~ " -v, --verbose виводити діагностичні повідомлення для кожного " #~ "файлу\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Приклади:\n" #~ " %s staff /u Змінює групу /u на \"staff\".\n" #~ " %s -hR staff /u Змінює групу /u та вкладених файлів на \"staff\".\n" #~ msgid "getting new attributes of %s" #~ msgstr "отримуються нові атрибути %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "" #~ "ані символьне посилання %s, ані об'єкт на який воно вказує, не були " #~ "змінені\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "права доступу %s змінені на %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "помилка зміни прав доступу %s на %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "права доступу %s залишені як %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "обробка небезпечного символьного посилання %s неможлива" #~ msgid "changing permissions of %s" #~ msgstr "зміна прав доступу для %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: нові права доступу %s, а не %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... РЕЖИМ[,РЕЖИМ]... ФАЙЛ\n" #~ " або: %s [КЛЮЧ]... ВІСІМК-РЕЖИМ ФАЙЛ...\n" #~ " або: %s [КЛЮЧ]... --reference=ЗФАЙЛ ФАЙЛ...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Змінює режим кожного ФАЙЛУ на вказаний РЕЖИМ.\n" #~ "\n" #~ " -c, --changes як verbose, але повідомляти, лише якщо справді\n" #~ " внесена зміна\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root не обробляти `/' особливим чином (типово)\n" #~ " --preserve-root не обробляти рекурсивно `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet не виводити більшість повідомлень про помилки\n" #~ " -v, --verbose виводити діагностичні повідомлення для усіх " #~ "файлів\n" #~ " --reference=ЗФАЙЛ режим ЗФАЙЛУ замість явного вказування РЕЖИМУ\n" #~ " -R, --recursive рекурсивно обробляти файли та каталоги\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "РЕЖИМ вказується у формі `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "не можна використовувати разом ключі режиму та --reference" #~ msgid "invalid mode: %s" #~ msgstr "неправильний режим: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "змінено власника %s на %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "змінена група %s на %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "не змінений власник %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "не вдається змінити власника %s на %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "помилка зміни групи %s на %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "не вдається змінити власника %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "власник %s залишений як %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "група %s залишена як %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "власник %s залишений без змін\n" #~ msgid "cannot dereference %s" #~ msgstr "не вдається перейти за символьним посиланням %s" #~ msgid "changing ownership of %s" #~ msgstr "зміна власника %s" #~ msgid "changing group of %s" #~ msgstr "зміна групи для %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... [ВЛАСНИК][:[ГРУПА]] ФАЙЛ...\n" #~ " або: %s [КЛЮЧ]... --reference=ЗФАЙЛ ФАЙЛ...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Змінює власника та/або групу кожного ФАЙЛУ на ВЛАСНИКА та/або ГРУПУ.\n" #~ "З ключем --reference, змінює власника та групу кожного ФАЙЛУ на власника " #~ "та\n" #~ "групу ЗФАЙЛУ.\n" #~ "\n" #~ " -c, --change те саме що й --verbose, але повідомляє лише " #~ "коли\n" #~ " були внесені зміни\n" #~ " --dereference змінювати файл, на який вказує символьне\n" #~ " посилання, а не саме посилання (типово)\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " змінює власника та/або групу кожного файлу\n" #~ " лише якщо поточний власник та/або група\n" #~ " відповідає вказаному виразу.\n" #~ " Як група, так і власник можуть бути опущені,\n" #~ " у цьому випадку відповідність для даного " #~ "атрибута\n" #~ " не обов'язкова.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet не виводити більшість повідомлень про помилки\n" #~ " --reference=ЗФАЙЛ використовувати власника та групу ЗФАЙЛУ " #~ "замість\n" #~ " явного вказування ВЛАСНИКА:ГРУПИ\n" #~ " -R, --recursive рекурсивно обробляти файли та каталоги\n" #~ " -v, --verbose виводити діагностичні повідомлення для кожного " #~ "файлу\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Власник не змінюється, якщо він не вказаний у аргументі. Група також не\n" #~ "змінюється, якщо не вказана; але якщо після символьного ВЛАСНИКА стоїть\n" #~ "знак `:', вважається зміна групи на основну групу поточного\n" #~ "користувача.\n" #~ "ВЛАСНИК та ГРУПА можуть бути як числовими, так і символьними.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Приклади:\n" #~ " %s root /u Змінює власника /u на \"root\".\n" #~ " %s root:staff /u То же, але ще міняє групу на \"staff\".\n" #~ " %s -hR root /u Змінює власника /u та вкладених файлів на \"root\".\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s КАТАЛОГ [КОМАНДА...]\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Виконує КОМАНДУ з вказаним кореневим каталогом.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Якщо команда не вказана, виконує ``${SHELL} -i'' (типово: /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "не вдається змінити кореневий каталог на %s" #~ msgid "cannot chdir to root directory" #~ msgstr "не вдається перейти до кореневого каталогу" #~ msgid "cannot run command %s" #~ msgstr "не вдається виконати команду %s" #~ msgid "%s: file too long" #~ msgstr "%s: файл надто великий" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Використання: %s [ФАЙЛ]...\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Виводить контрольну суму (CRC) та число байт для кожного ФАЙЛУ.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Використання: %s [КЛЮЧ]... ФАЙЛ1 ФАЙЛ2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Порівнює сортовані файли ФАЙЛ1 та ФАЙЛ2 по рядках.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Якщо запущений без ключів виводить результат у три стовпчики. Перший\n" #~ "стовпчик містить рядки, унікальні для ФАЙЛУ1, другий -- унікальні для\n" #~ "ФАЙЛУ2, а третій -- спільні для обох файлів рядки.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 не виводити рядки, унікальні для ФАЙЛУ1\n" #~ " -2 не виводити рядки, унікальні для ФАЙЛУ2\n" #~ " -3 не виводити рядки, що зустрічаються у обох файлах\n" #~ msgid "clearing permissions for %s" #~ msgstr "очищення прав доступу для %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "не вдається зберегти власника %s" #~ msgid "failed to lookup file %s" #~ msgstr "не вдається найти файл %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "не вдається зберегти автора %s" #~ msgid "cannot open %s for reading" #~ msgstr "не вдається відкрити %s для читання" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "пропущено файл %s, оскільки він був замінений під час копіювання" #~ msgid "failed to get file system create context" #~ msgstr "не вдається отримати контекст файлової системи для створення файлів" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "не вдається встановити контекст безпеки %s на %s" #~ msgid "cannot remove %s" #~ msgstr "не вдається видалити %s" #~ msgid "removed %s\n" #~ msgstr "видалено %s\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "запис через через висяче символьне посилання %s не виконується" #~ msgid "cannot create regular file %s" #~ msgstr "не вдається створити звичайний файл %s" #~ msgid "cannot lseek %s" #~ msgstr "не вдається виконати lseek для %s" #~ msgid "writing %s" #~ msgstr "запис %s" #~ msgid "preserving times for %s" #~ msgstr "збереження відмітки про час %s" #~ msgid "closing %s" #~ msgstr "закриття %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "" #~ "%s: намагатись переписати %s, незважаючи на права доступу %04lo (%s)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: переписати %s? " #~ msgid " (backup: %s)" #~ msgstr " (резервна копія: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "помилка при відновленні типового контексту при створенні файлу" #~ msgid "omitting directory %s" #~ msgstr "пропуск каталогу %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "попередження: вхідний файл %s вказаний більше одного разу" #~ msgid "%s and %s are the same file" #~ msgstr "%s та %s - один і той самий файл" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "не можна перезаписати файл %s, що не є каталогом, каталогом %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "не переписується щойно створений %s %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "не можна перезаписувати каталог %s файлом, що не є каталогом" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "не можна перейменувати каталог на файл, що не є каталогом: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "збереження запасної копії %s знищить оригінал; %s не перенесений" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "збереження запасної копії %s знищить оригінал; %s не скопійовано" #~ msgid "cannot backup %s" #~ msgstr "не вдається створити резервну копію для %s" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "не буде копіюватися %s через щойно створене символьне посилання %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "не вдається скопіювати каталог, %s, у самого себе, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "жорстке посилання %s на каталог %s не буде створено" #~ msgid "cannot create hard link %s to %s" #~ msgstr "не вдається створити жорстке посилання %s на %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "не вдається перенести %s у свій власний підкаталог, %s" #~ msgid "cannot move %s to %s" #~ msgstr "не вдається перемістити %s у %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "помилка при переміщенні з пристрою %s на пристрій %s: не вдається " #~ "видалити цільовий файл" #~ msgid "failed to set default file creation context to %s" #~ msgstr "помилка встановлення типового контексту для створення файлів %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "не вдається скопіювати циклічне символьне посилання %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: відносні символьні посилання можна створювати лише у поточному " #~ "каталозі" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "не вдається створити символьне посилання %s на %s" #~ msgid "cannot create link %s" #~ msgstr "не вдається створити посилання %s" #~ msgid "cannot create fifo %s" #~ msgstr "не вдається створити чергу %s" #~ msgid "cannot create special file %s" #~ msgstr "не вдається створити спеціальній файл %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "не вдається прочитати символьне посилання %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "не вдається створити символьне посилання %s" #~ msgid "%s has unknown file type" #~ msgstr "%s має невідомий тип файлу" #~ msgid "cannot un-backup %s" #~ msgstr "не вдається відновити %s з резервної копії" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (відновлення)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... [-T] ДЖЕРЕЛО ЦІЛЬ\n" #~ " або: %s [КЛЮЧ]... ДЖЕРЕЛО... КАТАЛОГ\n" #~ " або: %s [КЛЮЧ]... -t КАТАЛОГ ДЖЕРЕЛО...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Копіює ДЖЕРЕЛО у ЦІЛЬ, або декілька ДЖЕРЕЛ у КАТАЛОГ.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Аргументи, що обов'язкові для довгих ключів, є обов'язковими та для " #~ "коротких.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive те саме що та -dpR\n" #~ " --backup[=CONTROL] створити резервну копію перед видаленням\n" #~ " -b те саме, що й --backup, але без аргументу\n" #~ " --copy-contents копіює зміст спеціальних файлів, при\n" #~ " рекурсивному використанні\n" #~ " -d те саме, що й --no-dereference --" #~ "preserve=link\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force якщо не можна відкрити існуючий файл,\n" #~ " видалити його та спробувати ще раз\n" #~ " -i, --interactive запитувати підтвердження перед переписом\n" #~ " -H слідувати за символьним посиланням у " #~ "ДЖЕРЕЛО\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link створювати жорсткі посилання, а не " #~ "копіювати\n" #~ " -L, --dereference завжди слідувати за символьним посиланням " #~ "у ДЖЕРЕЛО\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference не слідувати за символьним посиланням у " #~ "ДЖЕРЕЛО\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p те саме, що й --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=СПИС_АТТР] зберігати вказані атрибути (типово:\n" #~ " mode,ownership,timestamps), якщо " #~ "можливо\n" #~ " додаткові атрибути: context, links, all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=СПИС_АТТР не зберігати вказані атрибути\n" #~ " --parents добавить вихідний шлях до КАТАЛОГУ\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive копіювати каталоги рекурсивно\n" #~ " --remove-destination видаляти кожен цільовий файл перш ніж,\n" #~ " копіювати його (протилежність до --" #~ "force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=КОЛИ керує створенням розряджених файлів\n" #~ " --strip-trailing-slashes видаляє усі кінцеві косі риски з кожного\n" #~ " аргументу ДЖЕРЕЛО\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link створювати символьні посилання а не " #~ "копіювати\n" #~ " -S, --suffix=СУФІКС використовувати для запасних копій " #~ "вказаний СУФІКС\n" #~ " --target-directory=КАТАЛОГ скопіювати всі ДЖЕРЕЛА у КАТАЛОГ\n" #~ " -T, --no-target-directory вважати ЦІЛЬ звичайним файлом\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update копіювати лише тоді коли вихідний файл\n" #~ " новіший ніж цільовий файл, або коли\n" #~ " цільовий файл відсутній\n" #~ " -v, --verbose пояснювати що зроблено\n" #~ " -x, --one-file-system залишатись у межах однієї файлової " #~ "системи\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Типово `sparse' SOURCE розпізнається за допомогою грубої\n" #~ "евристичної процедури та відповідно створюється `sparse' DEST.\n" #~ "Автоматичне визначення можна також вказати за допомогою ключа --" #~ "sparse=auto.\n" #~ "З ключем --sparse=always SOURCE завжди створюється `sparse' незалежно\n" #~ "від того чи містить SOURCE довгі послідовності нульових байтів.\n" #~ "Використовуйте ключ --sparse=never для заборони створення `sparse' " #~ "файлів.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Типовий суфікс для запасних копій ~, якщо не встановлена\n" #~ "змінна оточення SIMPLE_BACKUP_SUFFIX або ключ --suffix. Спосіб контролю\n" #~ "версій може бути заданий за допомогою ключа --backup або змінної\n" #~ "оточення VERSION_CONTROL. Можливі значення:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off ніколи не створювати резервних копій (навіть якщо\n" #~ " вказаний ключ --backup)\n" #~ " numbered, t створювати нумеровані копії\n" #~ " existing, nil якщо існують нумеровані копії, то створювати\n" #~ " нумеровані інакше створювати прості\n" #~ " simple. never завжди створювати прості копії\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Коли вказані ключі -f та -b, та SOURCE збігається з DEST cp створює\n" #~ "резервну копію DEST.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "не вдається зберегти мітки часу для %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "не вдається зберегти права доступу для %s" #~ msgid "cannot make directory %s" #~ msgstr "не вдається створити каталог %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s існує, але не є каталогом" #~ msgid "accessing %s" #~ msgstr "звернення до %s" #~ msgid "missing file operand" #~ msgstr "пропущений операнд, що вказує файл" #~ msgid "missing destination file operand after %s" #~ msgstr "після %s пропущений операнд, що вказує цільовий файл" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Не можна використовувати водночас --target-directory (-t) та --no-target-" #~ "directory (-T)" #~ msgid "target %s is not a directory" #~ msgstr "вказана ціль %s не є каталогом" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "при заданому --parents ціль повинна бути каталогом" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "ключ --reply застарів, натомість використовуйте -i або -f" #~ msgid "multiple target directories specified" #~ msgstr "вказано декілька цільових каталогів" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "не можна створювати жорстке та символьне посилання одночасно" #~ msgid "backup type" #~ msgstr "тип резервної копії" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "не можна зберігати контекст безпеки, якщо ядро не підтримує SELinux" #~ msgid "input disappeared" #~ msgstr "ввід став недоступний" #~ msgid "%s: line number out of range" #~ msgstr "%s: номер рядка поза допустимими межами" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: номер рядка поза допустимими межами" #~ msgid " on repetition %s\n" #~ msgstr " при повторі %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: відповідність не знайдено" #~ msgid "error in regular expression search" #~ msgstr "помилка пошуку регулярного виразу" #~ msgid "write error for %s" #~ msgstr "помилка запису для %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: після розділювача очікується ціле число" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: при вказуванні числа повторів необхідна `}'" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s: між `{' та `}' повинно бути ціле число" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: пропущений закривний розділювач `%c'" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: неприпустимий регулярний вираз: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: неприпустимий шаблон" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: номер рядка повинен бути більше нуля" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "номер рядка %s менше номеру попереднього рядка, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "попередження: номер рядка %s дорівнює попередньому номеру рядка" #~ msgid "invalid format width" #~ msgstr "неправильна ширина у форматі" #~ msgid "invalid format precision" #~ msgstr "неправильна точність у форматі" #~ msgid "missing conversion specifier in suffix" #~ msgstr "пропущений специфікатор перетворення у суфіксі" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "неправильний специфікатор перетворення у суфіксі: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "неправильний специфікатор перетворення у суфіксі: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "надто багато описів перетворення (%%) у суфіксі" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "пропущено опис перетворення (%%) у суфіксі" #~ msgid "%s: invalid number" #~ msgstr "%s: неприпустимий число" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Використання: %s [КЛЮЧ]... ФАЙЛ ШАБЛОН...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Виводить частини ФАЙЛУ, розділені ШАБЛОНОМ (ШАБЛОНАМИ), у файли `xx00',\n" #~ "`xx01', ... та виводить число байт у кожній частині на стандартний " #~ "вивід.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=ФОРМАТ використовувати ФОРМАТ як у sprintf замість %" #~ "02d\n" #~ " -f, --prefix=ПРЕФІКС використовувати ПРЕФІКС замість `xx'\n" #~ " -k, --keep-files не видаляти файли виводу при помилках\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=ЦИФРИ використовувати вказане число ЦИФР замість " #~ "2\n" #~ " -s, --quiet, --silent не виводити розміри вихідних файлів\n" #~ " -z, --elide-empty-files видаляти порожні файли виводу\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Якщо ФАЙЛ вказаний як -, читає стандартний ввід. ШАБЛОН вказується\n" #~ "наступним чином:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " ЦІЛЕ копіювати до рядка з вказаним номером, але не " #~ "включно\n" #~ " /REGEXP/[ЗСУВ] копіювати до відповідного рядка, але не включно\n" #~ " %%REGEXP%%[ЗСУВ] пропустити до відповідного рядка, але не включно\n" #~ " {ЦІЛЕ} повторити попередній шаблон вказане число раз\n" #~ " {*} повторити попередній шаблон максимальну кількість " #~ "разів\n" #~ "\n" #~ "Додатковий ЗСУВ рядків -- це обов'язковий символ `+' або `-' з " #~ "попереднім\n" #~ "додатнім цілим числом.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "поля та позиції нумеруються з 1" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Використання: %s КЛЮЧ... [ФАЙЛ]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Виводить вибрані частини рядків з кожного ФАЙЛУ на стандартний вивід.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=СПИСОК вибрати лише вказані байти\n" #~ " -c, --characters=СПИСОК вибрати лише вказані знаки\n" #~ " -d, --delimiter=РОЗДІЛЮВАЧ використовувати РОЗДІЛЮВАЧ для " #~ "розділення\n" #~ " полів замість табуляції\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=СПИСОК вибрати лише вказані поля; також " #~ "виводити\n" #~ " всі рядки, що не містять розділювачів,\n" #~ " якщо не вказаний ключ -s\n" #~ " -n (ігнорується)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement доповнити множину вибраних байтів, знаків " #~ "або полів.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited не виводити рядки, що не містять " #~ "розділювачів\n" #~ " --output-delimiter=РЯДОК використовувати РЯДОК для розділення " #~ "полів\n" #~ " при виводі, типово використовується\n" #~ " розділювач для вводу\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Використовуйте один, і лише один, з ключів -b, -c чи -f. Кожен СПИСОК\n" #~ "складається з одного діапазону, або кількох діапазонів, розділених " #~ "комами.\n" #~ "Вибрані частини вхідного файлу виводяться у тому порядку, у якому вони,\n" #~ "з'являються на вході, та виводяться рівно один раз.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Діапазони вказуються наступним чином:\n" #~ "\n" #~ " Н Н-ний байт, знак або поле; рахуючи від 1\n" #~ " Н- від Н-го байту, знаку або поля до кінця рядка\n" #~ " Н-М від Н-го до М-го (включно) байту, знаку або поля\n" #~ " -М від першого до М-го (включно) байту, знаку або поля\n" #~ "\n" #~ "Якщо ФАЙЛ не вказаний або вказаний як -, читає стандартний ввід.\n" #~ msgid "invalid byte or field list" #~ msgstr "неправильний список байтів або полів" #~ msgid "invalid range with no endpoint: -" #~ msgstr "неправильний діапазон без кінцевого значення: -" #~ msgid "invalid decreasing range" #~ msgstr "неприпустимий спадаючий діапазон" #~ msgid "byte offset %s is too large" #~ msgstr "байтовий зсув %s надто великий" #~ msgid "field number %s is too large" #~ msgstr "номер поля %s надто великий" #~ msgid "only one type of list may be specified" #~ msgstr "можна вказати лише один тип списку" #~ msgid "the delimiter must be a single character" #~ msgstr "розділювач повинен бути одним символом" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "треба вказати список байт, символів або полів" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "розділювач для вхідних даних можна вказувати лише при обробці полів" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "заборона виводу рядків, що не містять розділювачів,\n" #~ "має сенс лише при роботі з полями" #~ msgid "missing list of fields" #~ msgstr "відсутній список полів" #~ msgid "missing list of positions" #~ msgstr "відсутній список позицій" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... [+ФОРМАТ]\n" #~ " або: %s [-u|--utc|--universal] [ММДДррхх[[СС]РР][.сс]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Виводить поточний час у заданому ФОРМАТІ, або встановлює системний час.\n" #~ "\n" #~ " -d, --date=РЯДОК показати не поточний час, а час, що " #~ "описується\n" #~ " вказаним РЯДКОМ\n" #~ " -f, --file=ФАЙЛ відповідає застосуванню --date для кожного\n" #~ " рядка ФАЙЛУ\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=ФАЙЛ показати час останньої зміни ФАЙЛу\n" #~ " -R, --rfc-2822 виводити час відповідно до RFC-2822\n" #~ " Приклад: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339[=СПЕЦ] вивести дату/час у форматі RFC 3339\n" #~ " СПЕЦ=`date', `seconds' або `ns' для " #~ "отримання\n" #~ " дати та часу з вказаною точністю.\n" #~ " -s, --set=РЯДОК встановити час, що описується РЯДКОМ\n" #~ " -u, --utc, --universal показати або встановити універсальний\n" #~ " координований час\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "ФОРМАТ керує виводом. Єдиний ключ, припустимий для другої\n" #~ "форми, задає координований універсальний час. Приймаються\n" #~ "наступні послідовності:\n" #~ "\n" #~ " %% знак %\n" #~ " %a місцева скорочена назва дня тижня (напр., тиж)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A місцева повна назва дня тижня (напр., понеділок)\n" #~ " %b місцева скорочена назва місяця (напр., січ)\n" #~ " %B місцева повна назва місяця (напр., січень)\n" #~ " %c місцевий час та дата (напр., Чтв 3 Мар 23:05:25 2005)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C століття; як %Y, але без двох останніх цифр (напр., 21)\n" #~ " %d день місяця (напр., 01)\n" #~ " %D дата; аналогічно %m/%d/%y\n" #~ " %e день місяця, доповнений пробілами; аналогічно %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F повна дата; еквівалентно %Y-%m-%d\n" #~ " %g останні дві цифри року для номера тижня ISO (см. %G)\n" #~ " %G рік для номера тижня ISO (см. %V); звичайно буває корисно лише з %" #~ "V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h те саме, що й %b\n" #~ " %H час (00..23)\n" #~ " %I час (01..12)\n" #~ " %j номер дня у році (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k час ( 0..23)\n" #~ " %l час ( 1..12)\n" #~ " %m місяць (01..12)\n" #~ " %M хвилини (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n новий рядок\n" #~ " %N наносекунди (000000000..999999999)\n" #~ " %p місцевий еквівалент AM або PM; пропускається якщо невідомо\n" #~ " %P як %p, але малими літерами\n" #~ " %r час відповідно до локалі, 12-годинний формат (напр., 11:11:04 PM)\n" #~ " %R години та хвилини відповідно до локалі, 24-годинний формат; аналог " #~ "%H:%M\n" #~ " %s число секунд, що минули з 1970-01-01 00:00:00 UTC\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S секунди (00..60)\n" #~ " %t табуляція\n" #~ " %T час, аналог %H:%M:%S\n" #~ " %u день тижня (1..7); 1 означає понеділок\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U номер тижня у році, якщо перший день тижня -- неділя (00..53)\n" #~ " %V номер тижня по ISO, якщо перший день тижня -- понеділок (01..52)\n" #~ " %w день тижня (0..6), 0 означає неділю\n" #~ " %W номер тижня у році, якщо перший день тижня -- понеділок (00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x місцеве представлення дати (напр., дд/мм/рр)\n" #~ " %X місцеве представлення часу (напр., 23:13:48)\n" #~ " %y останні дві цифри року (00..99)\n" #~ " %Y рік\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z +ггхх годинний пояс (напр., -0400)\n" #~ " %:z +гг:хх годинний пояс (напр., -04:00)\n" #~ " %::z +гг:хх:сс годинний пояс (напр., -04:00:00)\n" #~ " %:::z годинний пояс з достатньою кількістю двокрапок (напр., -04, " #~ "+05:30)\n" #~ " %Z алфавітне скорочення часового поясу (напр., EDT)\n" #~ "\n" #~ "Типово date доповнює числові поля нулями.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Після `%' можуть йти наступні необов'язкові ознаки:\n" #~ "\n" #~ " - (дефіс) не доповнювати це поле\n" #~ " _ (підкреслення) доповнювати пробілами\n" #~ " 0 (нуль) доповнювати нулями\n" #~ " ^ використовувати верхній регістр, якщо можливо\n" #~ " # використовувати протилежний регістр, якщо можливо\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Після будь-якої з ознак йде необов'язкова ширина поля у вигляді " #~ "десяткового;\n" #~ "числа потім необов'язковий модифікатор, один з наступних:\n" #~ "E -- якщо можливо, вживати альтернативне представлення для поточної " #~ "локалі\n" #~ "O -- якщо можливо, використовувати альтернативні числові символи локалі.\n" #~ msgid "multiple output formats specified" #~ msgstr "задано декілька вихідних форматів" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "ключі для виводу дати взаємно виключають друг друга" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "ключі для встановлення та для відображення часу не можуть застосовуватись " #~ "разом" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "аргумент %s не починається зі знаку `+';\n" #~ "При вказуванні дати, кожен аргумент, що не є ключем, повинен мати\n" #~ "символьний формат та починатись зі знаку `+'." #~ msgid "cannot set date" #~ msgstr "не вдається встановити дату" #~ msgid "time %s is out of range" #~ msgstr "час %s поза допустимим діапазоном" #~ msgid "Filesystem Type" #~ msgstr "Ф. система Тип " #~ msgid "Filesystem " #~ msgstr "Файлова система " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " І-вузлів Викор Вільн Викор %%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Розм Вик Дост Вик%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Розм Вик Дост Вик%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-блоків Вик Доступно Всього" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-блоків Вик Доступно Вик%%" #~ msgid " Mounted on\n" #~ msgstr " змонтований на\n" #~ msgid "cannot get current directory" #~ msgstr "поточний каталог недоступний" #~ msgid "cannot change to directory %s" #~ msgstr "не вдається змінити каталог на %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "не вдається виконати stat для поточного каталогу (наразі %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Використання: %s [КЛЮЧ]... [ФАЙЛ]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Показати інформацію про файлову систему, на якій розташований кожен\n" #~ "з ФАЙЛІВ, або, типово, про усі файлові системи.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all включати віртуальні файлові системи\n" #~ " -B, --block-size=РОЗМІР використовувати блоки вказаного РОЗМІРУ\n" #~ " -h, --human-readable виводити розміри у зручному для людини вигляді\n" #~ " (наприклад, 1K 234M 2G)\n" #~ " -H, --si те саме, але використовувати ступені 1000, а не " #~ "1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes вивести інформацію про індексні дескриптори, а не " #~ "про\n" #~ " використання блоків\n" #~ " -k аналог --block-size=1K\n" #~ " -l, --local перерахувати лише локальні файлові системи\n" #~ " --no-sync не викликати sync перед отриманням інформації " #~ "про\n" #~ " використання блоків (типово)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability виводити у форматі POSIX\n" #~ " --sync викликати sync перед отриманням інформації про\n" #~ " використання блоків\n" #~ " -t, --type=ТИП перерахувати лише файлові системи вказаного ТИПУ\n" #~ " -T, --print-type виводити тип файлової системи\n" #~ " -x, --exclude-type=ТИП виключати файлові системи вказаного ТИПУ\n" #~ " -v (ігнорується)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "РОЗМІР може бути таким (або це може бути ціле число, за яким\n" #~ "може слідувати одне з переліченого): kB 1000, K 1024,\n" #~ "MB 1000*1000, M 1024*1024 та так далі для G, T, P, E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "файлова система типа %s і вибрана, і виключена" #~ msgid "Warning: " #~ msgstr "Попередження: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "%помилка при читані змонтованих файлових систем" #~ msgid "no file systems processed" #~ msgstr "не вказана жодна файлова система" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Використання: %s [КЛЮЧ]... [ФАЙЛ]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Видає команди для встановлення змінної оточення LS_COLORS.\n" #~ "\n" #~ "Вказати формат виводу:\n" #~ " -b, --sh, --bourne-shell вивести код для встановлення LS_COLORS у\n" #~ " Bourne shell\n" #~ " -c, --csh, --c-shell вивести код для встановлення LS_COLORS у C " #~ "shell\n" #~ " -p, --print-database вивести типові параметри\n" #~ " --help показати довідку та вийти\n" #~ " --version вивести інформацію про версію та вийти\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Якщо вказаний FILE, то читати його щоб дізнатись які кольори яким\n" #~ "розширенням призначені. Інакше використовувати типову базу даних. Для\n" #~ "докладнішого опису формату FILE запустите dircolors --print-database.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: неправильний рядок; пропущена друга лексема" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu ключове слово %s не розпізнано" #~ msgid "" #~ msgstr "<внутрішній>" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "ключі для виводу внутрішньої бази даних dircolors та ключі для вибору\n" #~ "синтаксису оболонки взаємно виключають друг друга" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "" #~ "Операнди-файли не можна одночасно використовувати з --print-database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "або змінна оточення SHELL відсутня, або не вказаний тип інтерпретатору" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s НАЗВА\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Виводить НАЗВУ, видаляючи компоненту справа від останньої косої риски; " #~ "якщо\n" #~ "НАЗВА не містить косої риски, виводить `.' (тобто поточний каталог).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Приклади:\n" #~ " %s /usr/bin/sort Виводить \"/usr/bin\".\n" #~ " %s stdio.h Виводить \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... [ФАЙЛ]...\n" #~ " або: %s [КЛЮЧ]... --files0-from=Ф\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Сумарне використання дискового простору кожного ФАЙЛУ, з каталогами.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all виводить обсяг для усіх файлів, а не лише " #~ "каталогів\n" #~ " --apparent-size виводить дійсні розміри, а не зайнятий дисковий\n" #~ " простір; хоча справжній розмір звичайно " #~ "менший,\n" #~ " іноді він може бути більшим через дірки у " #~ "файлах,\n" #~ " внутрішньої фрагментації, непрямих блоків та т." #~ "і.\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=РОЗМІР використовувати блоки вказаного РОЗМІРУ\n" #~ " -b, --bytes еквівалент `--apparent-size --block-size=1'\n" #~ " -c, --total підбивати підсумок\n" #~ " -D, --dereference-args розіменовувати символьні посилання у командному " #~ "рядку\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=Ф вивести звіт про файли, чиї назви (завершені\n" #~ " нулем) перераховані у файлі Ф\n" #~ " -H як --si, але видає попередження; скоро сенс " #~ "цього\n" #~ " ключа буде змінено, та він стане еквівалентним\n" #~ " ключу --dereference-args (-D)\n" #~ " -h, --human-readable виводити розміри у зручному для людини вигляді\n" #~ " (наприклад, 1K 234M 2G)\n" #~ " --si як -h, але використовувати ступені 1000, а не " #~ "1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k як --block-size=1K\n" #~ " -l, --count-links прочитати кожне жорстке посилання як окремий " #~ "файл\n" #~ " -m як --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference розіменовувати символьні посилання\n" #~ " -P, --no-dereference не слідувати за символьним посиланням (типово)\n" #~ " -0, --null завершувати рядок виводу нулем, а не переносом " #~ "рядка\n" #~ " -S, --separate-dirs не включати розмір каталогів\n" #~ " -s, --summarize виводити лише зведення для кожного аргументу\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system пропускати каталоги на інших файлових системах\n" #~ " -X ФАЙЛ, --exclude-from=ФАЙЛ виключати файли, що збігаються з якимось\n" #~ " шаблоном з ФАЙЛУ\n" #~ " --exclude=ШАБЛОН виключати файли, що збігаються з ШАБЛОНОМ\n" #~ " --max-depth=N виводити зведення про каталог (або файл, з --" #~ "all),\n" #~ " лише якщо він на N або менше рівнів нижче,\n" #~ " ніж аргумент командного рядка; --max-depth=0\n" #~ " еквівалентно --summarize\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time виводити час останньої зміни будь-якого файлу у\n" #~ " каталозі або усіх його підкаталогів\n" #~ " --time=СЛОВО виводити вказаний у СЛОВО час, а не час \n" #~ " зміни: atime, access, use, ctime або status\n" #~ " --time-style=СТИЛЬ виводити час, використовуючи СТИЛЬ:\n" #~ " full-iso, long-iso, iso, +ФОРМАТ\n" #~ " ФОРМАТ інтерпретується як у `date'\n" #~ msgid "total" #~ msgstr "загалом" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "ПОПЕРЕДЖЕННЯ: використовуйте --si, а не -H; сенс ключа -H скоро буде\n" #~ "змінено та стане таким же як у --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "неприпустима максимальна глибина %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "ключ --megabytes застарів, натомість використовуйте -m" #~ msgid "cannot both summarize and show all entries" #~ msgstr "не можна одночасно підбивати зведення та виводити всі елементи" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "попередження: підбиття зведення це те ж саме, що й --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "попередження: підбиття зведення конфліктує з --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Операнди-файли не можна одночасно використовувати з --files0-from." #~ msgid "cannot read file names from %s" #~ msgstr "не вдається прочитати назви файлів з %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "при читанні імен файлів з stdin, не допускаються назви файлів %s" #~ msgid "invalid zero-length file name" #~ msgstr "неправильна назва файлу нульової довжини" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Використання: %s [КЛЮЧ]... [РЯДОК]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Виводить РЯДОК(РЯДКА) на стандартний вивід.\n" #~ "\n" #~ " -n не виводити завершальне переведення рядка\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e інтерпретувати керуючі послідовності (типово)\n" #~ " -E не інтерпретувати керуючі послідовності\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Якщо діє ключ -e, розпізнаються наступні послідовності:\n" #~ "\n" #~ " \\0ННН знак з вісімковим ASCII-кодом ННН\n" #~ " \\\\ зворотна похила риска\n" #~ " \\a звуковий сигнал (BEL)\n" #~ " \\b забиття\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c не виводити завершальний символ нового рядка\n" #~ " \\f нова сторінка\n" #~ " \\n новий рядок\n" #~ " \\r переведення каретки\n" #~ " \\t горизонтальна табуляція\n" #~ " \\v вертикальна табуляція\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... [-] [НАЗВА=ЗНАЧЕННЯ]... [КОМАНДА [АРГ]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Встановлює кожній НАЗВІ відповідне ЗНАЧЕННЯ та запускає КОМАНДУ у цьому\n" #~ "середовищі.\n" #~ "\n" #~ " -i, --ignore-environment почати з порожнім оточенням\n" #~ " -u, --unset=НАЗВА видалити з оточення НАЗВИ\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Просто `-' -- синонім для `-i'. Якщо не вказана КОМАНДА, виводить " #~ "отримане\n" #~ "оточення.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Перетворює знаки табуляції у кожному ФАЙЛІ на пробіли та виводить на\n" #~ "стандартний вивід. Якщо ФАЙЛ не вказаний або вказаний як -, читає.\n" #~ "стандартний ввід\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial не перетворювати знаки табуляції після знаків " #~ "пробілів\n" #~ " -t, --tabs=ЧИСЛО встановлює ширину табуляції, типово 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=СПИСОК використовувати розділений комами список позицій " #~ "табуляції\n" #~ msgid "tab stop is too large %s" #~ msgstr "розмір табуляції надто великий %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "розмір табуляції містить неприпустимий знак (знаки): %s" #~ msgid "tab size cannot be 0" #~ msgstr "розмір табуляції не може дорівнювати нулю" #~ msgid "tab sizes must be ascending" #~ msgstr "номера позицій табуляції повинні зростати" #~ msgid "input line is too long" #~ msgstr "вхідний рядок надто великий" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s ВИРАЗ\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Виводить значення ВИРАЗУ на стандартний вивід. Нижче порожніми рядками\n" #~ "розділені групи за зростанням пріоритету. Можливі ВИРАЗИ:\n" #~ "\n" #~ " АРГ1 | АРГ2 АРГ1, якщо він відмінний від нуля, інакше АРГ2\n" #~ "\n" #~ " АРГ1 & АРГ2 АРГ1, якщо обидва відмінні від нуля, інакше 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " АРГ1 < АРГ2 АРГ1 менше АРГ2\n" #~ " АРГ1 <= АРГ2 АРГ1 менше або дорівнює АРГ2\n" #~ " АРГ1 = АРГ2 АРГ1 дорівнює АРГ2\n" #~ " АРГ1 != АРГ2 АРГ1 не дорівнює АРГ2\n" #~ " АРГ1 >= АРГ2 АРГ1 більше або дорівнює АРГ2\n" #~ " АРГ1 > АРГ2 АРГ1 більше АРГ2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " АРГ1 + АРГ2 арифметична сума АРГ1 та АРГ2\n" #~ " АРГ1 - АРГ2 арифметична різниця АРГ1 та АРГ2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " АРГ1 * АРГ2 арифметичний добуток АРГ1 та АРГ2\n" #~ " АРГ1 / АРГ2 арифметична частка від АРГ1 та АРГ2\n" #~ " АРГ1 % AРГ2 арифметичний залишок від ділення АРГ1 на АРГ2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " РЯДОК : REGEXP перевірка відповідності REGEXP початку або кінцю " #~ "РЯДКА\n" #~ "\n" #~ " match РЯДОК REGEXP те саме, що та РЯДОК : REGEXP\n" #~ " substr РЯДОК ПОЗ ДОВЖИНА частина РЯДКА, позиція відраховується від 1\n" #~ " index РЯДОК СИМВОЛИ позиція у РЯДКУ, де першим знайдений будь-" #~ "який\n" #~ " з СИМВОЛІВ, інакше 0\n" #~ " length РЯДОК довжина РЯДКА\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + ЛЕКСЕМА сприймати ЛЕКСЕМУ як рядок, навіть якщо це\n" #~ " ключове слово, як `match', або оператор, як " #~ "`/'\n" #~ "\n" #~ " ( ВИРАЗ ) значення ВИРАЗУ\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Пам'ятайте, що при використанні у оболонці деякі оператори повинні бути\n" #~ "взяті у дужки. Якщо обидва аргументу АРГ є числами, то виконується\n" #~ "арифметичний порівняння, інакше вони порівнюються як рядки. При " #~ "відповідності\n" #~ "шаблону повертається відповідний рядок рядок між \\( та \\) або порожній " #~ "рядок;\n" #~ "якщо \\( та \\) не використовуються, то повертається кількість " #~ "відповідних символів.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Статус завершення дорівнює 0, якщо ВИРАЗ не порожній та не 0; 1, якщо\n" #~ "ВИРАЗ порожній або 0; 2, якщо ВИРАЗ синтаксично неправильний; та 3,\n" #~ "якщо виникла помилка.\n" #~ msgid "syntax error" #~ msgstr "синтаксична помилка" #~ msgid "error in regular expression matcher" #~ msgstr "помилка у механізмі відповідності регулярних виразів" #~ msgid "non-numeric argument" #~ msgstr "не числовий аргумент" #~ msgid "division by zero" #~ msgstr "ділення на нуль" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s [ЧИСЛО]...\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Виводить прості множники кожного ЧИСЛА.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Виводить прості множники для кожного вказаного цілого ЧИСЛА. Якщо\n" #~ "аргументи не вказані, читає числа зі стандартного вводу.\n" #~ msgid "%s is too large" #~ msgstr "%s надто велике" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s не є правильним цілим додатнім числом" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Використання: %s [-ЦИФРИ] [КЛЮЧ]... [ФАЙЛ]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Переформатує кожен абзац у ФАЙЛІ(ах) та виводить на стандартний вивід.\n" #~ "Якщо ФАЙЛ не вказаний або вказаний як -, читає стандартний ввід.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin зберігати відступи двох перших рядків\n" #~ " -p, --prefix=РЯДОК форматувати лише рядки, що починаються з " #~ "РЯДОК,\n" #~ " зберігаючи при цьому префікс рядків\n" #~ " -s, --split-only розбивати довгі рядки, але не заповнювати\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph відступ першого рядка відмінний від другого\n" #~ " -u, --uniform-spacing один пробіл після слова, два після речення\n" #~ " -w, --width=ЧИСЛО максимальна ширина рядка (типово 75 " #~ "стовпчиків)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "неправильний ключ -- %c; -ШИРИНА розпізнається, лише якщо це перший\n" #~ "аргумент, у іншому випадку вказуйте -w N" #~ msgid "invalid width: %s" #~ msgstr "неприпустима ширина: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Розбиває рядки у ФАЙЛІ(ах) (типово читає стандартний ввід) та виводить\n" #~ "на стандартний вивід.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes прочитати байти, а не стовпчики\n" #~ " -s, --spaces розбивати лише на пробілах\n" #~ " -w, --width=ЧИСЛО використовувати вказане ЧИСЛО стовпчиків, а не 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "неправильне число стовпчиків: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "помилка при отриманні груп користувачів %s" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "помилка при отриманні груп користувачів %s" #~ msgid "cannot find name for group ID %lu" #~ msgstr "не вдається визначити назву групи для ID %lu" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Використання: %s [КЛЮЧ]... [КОРИСТУВАЧ]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Такого користувача немає" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Виводити перші 10 рядків кожного ФАЙЛУ на стандартний вивід.\n" #~ "Якщо задано декілька ФАЙЛІВ, спочатку виводити заголовок з назвою файлу.\n" #~ "Якщо ФАЙЛ не вказаний або вказаний як -, читає стандартний ввід.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N вивести перші N байт кожного файлу;\n" #~ " якщо перед N стоїть `-', вивести всі, крім " #~ "N\n" #~ " останніх байт кожного файлу\n" #~ " -n, --lines=[-]N вивести перші N рядків кожного файлу, а не " #~ "10;\n" #~ " якщо перед N стоїть `-', вивести всі, крім " #~ "N\n" #~ " останніх рядків кожного файлу\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent не виводити заголовки з назвами файлів\n" #~ " -v, --verbose завжди виводити заголовки з назвами файлів\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Після ЧИСЛА блоків та байт може стоять один з множників:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ " GB 1000*1000*1000, G 1024*1024*1024 та таке інше для T, P, E, Z, Y.\n" #~ msgid "error reading %s" #~ msgstr "помилка читання %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: файл надто скоротився" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: число байт надто великий" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "ю%s: не вдається вернуть вказівник файлу на початкову позицію" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: не вдається перейти до позиції %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "не вдається перемістити вказівник файлу для %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s настільки великий, що його неможливо машинно представити" #~ msgid "number of lines" #~ msgstr "число рядків" #~ msgid "number of bytes" #~ msgstr "число байт" #~ msgid "invalid number of lines" #~ msgstr "неправильна кількість рядків" #~ msgid "invalid number of bytes" #~ msgstr "неправильна кількість байт" #~ msgid "invalid trailing option -- %c" #~ msgstr "неправильний завершальний ключ -- `%c'" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Використання: %s\n" #~ " або: %s КЛЮЧ\n" #~ "Виводить числовий ідентифікатор (шістнадцятковий) поточної машини.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Використання: %s [НАЗВА]\n" #~ " або: %s КЛЮЧ\n" #~ "Виводить або встановлює назву цієї системи.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "не вдається встановити назву у %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "не вдається встановити основну назву -- ця система не має такої функції" #~ msgid "cannot determine hostname" #~ msgstr "не вдається визначити назву машини" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Виводить відомості про КОРИСТУВАЧА, або про поточного користувача.\n" #~ "\n" #~ " -a ігнорується, введено лише для сумісності\n" #~ " -Z, --context виводити лише контекст безпеки поточного користувача\n" #~ " -g, --group виводити лише ID групи\n" #~ " -G, --groups виводити лише додаткові групи\n" #~ " -n, --name виводити назва замість номера, для ключів -ugG\n" #~ " -r, --real виводити дійсні, а не ефективні ID, для ключів -ugG\n" #~ " -u, --user виводити лише ID користувача\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Якщо КЛЮЧІ не вказані, виводить стандартний набір корисних відомостей.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "--context (-Z) працює, якщо ядро має підтримку SELinux" #~ msgid "cannot print security context when user specified" #~ msgstr "не можна виводити контекст безпеки, коли вказано користувача" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "не можна відображати контекст, якщо не увімкнено selinux або при " #~ "відображенні\n" #~ "ідентифікатора іншого користувача" #~ msgid "can't get process context" #~ msgstr "не можна отримати контекст процесу" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "не можна виводити \"only\" для більш ніж одного варіанту" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "не можна виводити лише назви або дійсні ID у типовому форматі" #~ msgid "cannot find name for user ID %lu" #~ msgstr "не вдається визначити ім'я користувача для ID %lu" #~ msgid " groups=" #~ msgstr " групи=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "попередження: %s: не вдається змінити контекст у %s" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Попередження: --preserve-context ігнорується; ядро не містить підтримки " #~ "SELinux." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "" #~ "Попередження: --context (-Z) ігнорується; ядро не містить підтримки " #~ "SELinux." #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "при встановленні каталогу не можна вживати ключ strip" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "при встановленні каталогу не можна вказувати цільовий каталог" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "не можна примусово вказувати контекст та %s зберігати його " #~ msgid "invalid mode %s" #~ msgstr "неправильний режим %s" #~ msgid "cannot change ownership of %s" #~ msgstr "не вдається змінити власника %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "не вдається встановити мітки часу для %s" #~ msgid "fork system call failed" #~ msgstr "системний виклик fork завершився помилкою" #~ msgid "cannot run strip" #~ msgstr "не вдається запустити strip" #~ msgid "waiting for strip" #~ msgstr "очікування strip" #~ msgid "strip process terminated abnormally" #~ msgstr "процес strip завершився помилкою" #~ msgid "invalid user %s" #~ msgstr "неправильний користувач %s" #~ msgid "invalid group %s" #~ msgstr "неправильна група %s" #~ msgid "creating directory %s" #~ msgstr "створення каталогу %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... [-T] ДЖЕРЕЛО ЦІЛЬ\n" #~ " або: %s [КЛЮЧ]... ДЖЕРЕЛО... КАТАЛОГ\n" #~ " або: %s [КЛЮЧ]... -t КАТАЛОГ ДЖЕРЕЛО...\n" #~ " або: %s [КЛЮЧ]... -d КАТАЛОГ...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "У перших трьох формах копіює ДЖЕРЕЛО у ЦІЛЬ або декілька\n" #~ "ДЖЕРЕЛ у існуючий КАТАЛОГ, встановлюючи режими доступу та\n" #~ "власника/групу. В четвертій формі створює всі компоненти вказаних\n" #~ "КАТАЛОГІВ.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTROL] створити резервну копію перед видаленням\n" #~ " -b те саме, що та --backup, але без аргументу\n" #~ " -c (ігнорується)\n" #~ " -d, --directory вважати всі аргументи каталогами; створювати всі\n" #~ " компоненти вказаних каталогів\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D створювати всі початкові складові ЦІЛІ крім\n" #~ " останньої, потім копіювати ДЖЕРЕЛО у ЦІЛЬ\n" #~ " -g, --group=ГРУПА встановлювати ГРУПУ, а не групу поточного процесу\n" #~ " -m, --mode=РЕЖИМ встановлювати РЕЖИМ (як chmod), а не rwxr-xr-x\n" #~ " -o, --owner=ВЛАСНИК встановлювати ВЛАСНИКА (лише для суперкористувача)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps встановлювати цільовим файлам час\n" #~ " доступу/зміни як у їх файлів-ДЖЕРЕЛ\n" #~ " -s, --strip видаляти таблиці символів\n" #~ " -S, --suffix=СУФІКС використовувати для резервних копій заданий СУФІКС\n" #~ " -t, --target-directory=КАТАЛОГ копіювати всі аргументи-ДЖЕРЕЛА у " #~ "КАТАЛОГ\n" #~ " -T, --no-target-directory вважати ЦІЛЬ звичайним файлом\n" #~ " -v, --verbose виводити назву кожного створюваного каталогу\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context зберегти контекст безпеки SELinux\n" #~ " -Z, --context=CONTEXT встановити контекст безпеки SELinux для файлів " #~ "та каталогів\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Типовий суфікс для запасних копій ~, лише якщо не встановлена\n" #~ "змінна оточення SIMPLE_BACKUP_SUFFIX або ключ --suffix. Спосіб контролю\n" #~ "версій можна вказати ключем --backup або змінною оточення\n" #~ "VERSION_CONTROL. Можливі значення:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Для кожної пари вхідних рядків з однаковими спільними полями виводить " #~ "рядок\n" #~ "на стандартний вивід. Типово спільне поле вважається першим, поля\n" #~ "розділюються знаками пробілів. Якщо один з ФАЙЛІВ вказаний як -, читає\n" #~ "стандартний потік вводу.\n" #~ "\n" #~ " -a НОМЕР виводити рядки що не мають пари з файлу з вказаним\n" #~ " номером (1 або 2)\n" #~ " -e РЯДОК замінювати при виводі порожні рядки вказаним РЯДКОМ\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case ігнорувати регістр літер при порівнянні полів\n" #~ " -j ПОЛЕ еквівалентно `-1 ПОЛЕ -2 ПОЛЕ'\n" #~ " -o ФОРМАТ виводити відповідно до ФОРМАТУ\n" #~ " -t ЗНАК використовувати ЗНАК розділення полів вводу та " #~ "виводу\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v НОМЕР як -а НОМЕР, але не виводити наявні пари рядків\n" #~ " -1 ПОЛЕ вважати спільним вказане ПОЛЕ файлу 1\n" #~ " -2 ПОЛЕ вважати спільним вказане ПОЛЕ файлу 2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Якщо не вказаний -t ЗНАК, початкові знаки пробілів розділюють поля та\n" #~ "ігноруються, у іншому випадку поля розділюються ЗНАКОМ. ПОЛЕ -- це\n" #~ "номер поля, що відраховується від 1. ФОРМАТ -- це один або декілька\n" #~ "розділених комами або знаками пробілів описів формату у вигляді\n" #~ "`НОМЕР_ФАЙЛУ.ПОЛЕ' або `0'. Типово ФОРМАТ виводить спільне поле,\n" #~ "інші поля з ФАЙЛУ1 та інші поля з ФАЙЛУ2, розділені\n" #~ "ЗНАКОМ.\n" #~ "\n" #~ "Важно: ФАЙЛ1 та ФАЙЛ2 повинні бути сортовані за спільними полями.\n" #~ msgid "invalid field number: %s" #~ msgstr "неправильний номер поля: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "неправильна специфікація поля: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "неправильний номер файлу у специфікації поля: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "поля об'єднання %lu, %lu несумісні" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "конфліктуючі рядки заміни для порожнього поля" #~ msgid "empty tab" #~ msgstr "порожня табуляція" #~ msgid "multi-character tab %s" #~ msgstr "багатознакова табуляція %s" #~ msgid "incompatible tabs" #~ msgstr "несумісна табуляція" #~ msgid "both files cannot be standard input" #~ msgstr "замість обох файлів не можна вказувати одночасно стандартний ввід" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Використання: %s [-s СИГНАЛ | -СИГНАЛ] PID...\n" #~ " або: %s -l [СИГНАЛ]...\n" #~ " або: %s -t [СИГНАЛ]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Надсилає процесам сигнали або виводить сигнали.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=СИГНАЛ, -СИГНАЛ\n" #~ " вказує назву або номер сигналу, що надсилається\n" #~ " -l, --list виводить назви сигналів або переводить назви у номери та " #~ "назад\n" #~ " -t, --table виводить таблицю з інформацією про сигнали\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "СИГНАЛ може бути назвою сигналу, як `HUP' або номером сигналу, як\n" #~ "`1', або вихідним значенням процесу, перерваного сигналом.\n" #~ "PID є цілим числом; якщо воно є від'ємним, то означає групу\n" #~ "процесів.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: неправильний сигнал" #~ msgid "%s: invalid process id" #~ msgstr "%s: неправильний ідентифікатор процесу" #~ msgid "invalid option -- %c" #~ msgstr "неправильний ключ -- `%c'" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: задано декілька сигналів" #~ msgid "multiple -l or -t options specified" #~ msgstr "задано декілька ключів -l або -t" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "не можна об'єднувати сигнал з -l або -t" #~ msgid "no process ID specified" #~ msgstr "не вказаний ідентифікатор процесу" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s ФАЙЛ1 ФАЙЛ2\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Викликає функцію link для створення посилання з назвою ФАЙЛ2 на існуючий " #~ "ФАЙЛ1.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "не вдається створити посилання %s на %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: попередження: створення жорсткого посилання на символьне посилання\n" #~ "не всюди працює" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: не допускається створювати жорсткі посилання на каталоги" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: не вдається перезаписати каталог" #~ msgid "%s: replace %s? " #~ msgstr "%s: замінити %s? " #~ msgid "creating symbolic link %s" #~ msgstr "створюється символьного посилання %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "створюється символьне посилання %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "створюється жорстке посилання на %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "створюється жорстке посилання %s" #~ msgid "creating hard link %s => %s" #~ msgstr "створюється жорстке посилання %s => %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... [-T] ЦІЛЬ НАЗВА_ПОСИЛАННЯ (1-а форма)\n" #~ " або: %s [КЛЮЧ]... ЦІЛЬ (2-а форма)\n" #~ " або: %s [КЛЮЧ]... ЦІЛЬ... КАТАЛОГ (3-я форма)\n" #~ " або: %s [КЛЮЧ]... -t КАТАЛОГ ЦІЛЬ... (4-а форма)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "У першій формі створюється посилання на ЦІЛЬ з вказаною " #~ "НАЗВОЮ_ПОСИЛАННЯ.\n" #~ "У другий формі створюється посилання на ЦІЛЬ у поточному каталозі.\n" #~ "У третій та четвертій формах створюється посилання на кожну ЦІЛЬ у " #~ "вказаному\n" #~ "КАТАЛОЗІ. Звичайно створюються жорсткі посилання, а з ключем --symbolic " #~ "-\n" #~ "символьні. При створення жорстких посилань кожна ЦІЛЬ повинна існувати.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=КОНТРОЛЬ] робити резервну копію кожного цільового " #~ "файлу\n" #~ " -b те ж, що й --backup, але не приймає " #~ "аргумент\n" #~ " -d, -F, --directory дозволяє суперкористувачу створювати " #~ "жорсткі\n" #~ " посилання на каталоги (примітка: ймовірно, " #~ "це\n" #~ " не вийде через системні обмеження, навіть " #~ "для\n" #~ " суперкористувача)\n" #~ " -f, --force видаляти існуючі цільові файли\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference вважати символьне посилання звичайним " #~ "файлом\n" #~ " -i, --interactive запитувати підтвердження перед переписом\n" #~ " -s, --symbolic створювати символьні посилання\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=СУФІКС вказує СУФІКС для резервних копій\n" #~ " -t, --target-directory=КАТАЛОГ вказує КАТАЛОГ, у якому створювати\n" #~ " посилання\n" #~ " -T, --no-target-directory вважати НАЗВУ_ПОСИЛАННЯ звичайним файлом\n" #~ " -v, --verbose виводити назву кожного файлу перед " #~ "створенням посилання\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "" #~ "Не можна одночасно використовувати --target-directory та --no-target-" #~ "directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Використання: %s [КЛЮЧ]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Виводить ім'я поточного користувача.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "реєстраційне ім'я відсутнє" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "проігноровано неправильне значення змінної оточення QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "проігноровано неправильну ширину змінної оточення COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "проігноровано неправильний розмір табуляції змінної оточення TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "неправильна ширина рядка: %s" #~ msgid "invalid tab size: %s" #~ msgstr "неправильний розмір табуляції: %s" #~ msgid "invalid time style format %s" #~ msgstr "неправильний формат часу %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "не розпізнаний префікс: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "незрозуміле значення змінної оточення LS_COLORS" #~ msgid "cannot open directory %s" #~ msgstr "не вдається відкрити каталог %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "не вдається визначити пристрій та inode для %s" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: пропущено вже перелічений каталогу" #~ msgid "closing directory %s" #~ msgstr "закриття каталогу %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "не вдається порівняти назви файлів %s та %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Видає інформацію про ФАЙЛИ (типово у поточному каталозі).\n" #~ "Сортує у алфавітному порядку, якщо не вказано ані --sort, ані один з\n" #~ "ключів -cftuSUX.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all не приховувати файли, що починаються з .\n" #~ " -A, --almost-all не виводити неявні . та ..\n" #~ " --author разом з -l, виводити автора кожного файлу\n" #~ " -b, --escape виводити вісімкові escape-послідовності\n" #~ " замість неграфічних знаків\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=SIZE використовувати блоки розміром SIZE байт\n" #~ " -B, --ignore-backups не виводити файли, що закінчуються на ~\n" #~ " -c з -lt: сортувати за часом зміни; з -l:\n" #~ " виводити час зміни та сортувати за назвою,\n" #~ " у іншому випадку сортувати за часом зміни\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C виводити список у декілька колонок\n" #~ " --color[=КОЛИ] вказує, чи виділяти типи файлів кольором.\n" #~ " КОЛИ може бути `never' (не виділяти),\n" #~ " `always' (виділяти) або `auto' (залежить " #~ "від\n" #~ " терміналу)\n" #~ " -d, --directory виводити назви каталогів, а не їх зміст, а\n" #~ " також не слідувати за символьним " #~ "посиланням\n" #~ " -D, --dired генерувати вивід для режиму Emacs Dired\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f не сортувати, вмикає -aU, вимикає -lst\n" #~ " -F, --classify додавати до назви індикатор (один з */=>@|)\n" #~ " --file-type аналогічно, але не додавати `*'\n" #~ " --format=СЛОВО across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time виводити повну дату та час\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g як і -l, але не виводити власника\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group у довгому списку, не виводити назви груп\n" #~ " -h, --human-readable виводити розміри у зручному для людини " #~ "вигляді\n" #~ " (наприклад, 1K 234M 2G)\n" #~ " -H, --si те саме, але виводити ступені 1000, а не " #~ "1024\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " слідувати за символьними посиланнями у " #~ "командному\n" #~ " рядку\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " слідувати за усіма символьними посиланнями " #~ "у\n" #~ " командному рядку, які вказують на каталог\n" #~ " --hide=ШАБЛОН не виводити файли, що відповідають ШАБЛОНУ\n" #~ " оболонки (скасовується ключами -a або -A)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=СТИЛЬ додавати до назв елементів індикатор з\n" #~ " вказаним СТИЛЕМ: none (типово), slash (-" #~ "p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode з -l, виводити номер i-вузла кожного файлу\n" #~ " -I, --ignore=ШАБЛОН не виводити файли, що відповідають ШАБЛОНУ\n" #~ " -k те саме, що й --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l використовувати широкий формат\n" #~ " -L, --dereference показувати інформацію про символьні " #~ "посилання,\n" #~ " виводити інформацію про файл, на який\n" #~ " посилається посилання\n" #~ " -m виводити список на всю ширину через кому\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid як -l, але виводити числові UID та GID\n" #~ " -N, --literal виводити назви як є (не обробляти особливим\n" #~ " чином, наприклад, керуючі знаки)\n" #~ " -o як -l, але не виводити інформацію про групу\n" #~ " -p, --indicator-style=slash додавати індикатор / до каталогів\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars виводити ? замість не графічних символів\n" #~ " --show-control-chars виводити недруковані символи (типово\n" #~ " якщо програма не `ls' та вивід йде не на\n" #~ " термінал).\n" #~ " -Q, --quote-name взяти назву файлу у дужки\n" #~ " --quoting-style=СЛОВО використовувати вид оточення дужками СЛОВО:\n" #~ " literal, shell, shell-always, c, escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse зворотний порядок сортування\n" #~ " -R, --recursive рекурсивно виводити каталоги\n" #~ " -s, --size c -l, виводити розмір кожного файлу, у " #~ "блоках\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S сортувати за розміром файлу\n" #~ " --sort=СЛОВО extension -X, none -U, size -S, time -t,\n" #~ " version -v, status -c, time -t, atime -u,\n" #~ " access -u, use -u\n" #~ " --time=СЛОВО з -l, виводити замість часу зміни час,\n" #~ " вказаний СЛОВОМ: atime, access, use, ctime " #~ "або\n" #~ " status; якщо --sort=time, використовувати\n" #~ " вказаний час як ключ сортування\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=СТИЛЬ з -l, виводити час використовуючи СТИЛЬ:\n" #~ " full-iso, long-iso, iso, locale, +ФОРМАТ.\n" #~ " ФОРМАТ інтерпретується як у `date'; якщо\n" #~ " ФОРМАТ - це ФОРМАТ1<переведення-" #~ "рядка>ФОРМАТ2,\n" #~ " ФОРМАТ1 застосовується до старих файлів, а\n" #~ " ФОРМАТ2 до нових; якщо до СТИЛЮ доданий " #~ "префікс\n" #~ " `posix-', то він діє лише не у POSIX локалі\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t сортувати за часом зміни\n" #~ " -T, --tabsize=ЧИСЛО крок табуляції дорівнює ЧИСЛУ замість 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u з -lt: сортувати та виводити час доступу\n" #~ " c -l: виводити час доступу та сортувати за " #~ "назвою\n" #~ " інакше: сортувати за часом доступу\n" #~ " -U не сортувати; виводити відповідно до\n" #~ " фізичного розташування\n" #~ " -v сортувати за версією\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=ЧИСЛО задає ширину екрану замість поточного " #~ "значення\n" #~ " -x вивід списку рядками, а не стовпчиками\n" #~ " -X сортувати за розширенням у алфавітному " #~ "порядку\n" #~ " -Z, --context виводити контекст безпеки SELinux для " #~ "кожного файлу\n" #~ " -1 виводити по одному файлу у рядку\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Типово колір не використовується для розрізнення файлів. Це\n" #~ "еквівалентно використанню --color=none. Використання ключа --color\n" #~ "без необов'язкового аргументу КОЛИ еквівалентно --color=always. З\n" #~ "ключем --color=auto, коди кольорів будуть виводитись, лише якщо\n" #~ "стандартний вивід підключений до терміналу (tty). На кольори може " #~ "впливати\n" #~ "змінна оточення LS_COLORS; її можна легко встановити за допомогою\n" #~ "команди dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Статус завершення дорівнює 0 у випадку нормального завершення, 1 у " #~ "випадку\n" #~ "невеликих проблем та 2, якщо виникла критична проблема.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ] [ФАЙЛ]...\n" #~ "Виводить або перевіряє контрольні суми %s (%d-бітні).\n" #~ "Якщо ФАЙЛ не вказаний або вказаний як -, читає стандартний ввід.\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary читати у двійковому режимі (типово, якщо\n" #~ " читається не термінальний ввід)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary читати у двійковому режимі\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr " -c, --check читає суми %s з ФАЙЛІВ та порівнює їх\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text читати у текстовому режимі (типово, якщо\n" #~ " читається термінальний ввід)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text читати у текстовому режимі (типово)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Два наступних ключа використовуються лише при перевірці контрольних сум:\n" #~ " --status не виконувати вивід, код завершення показує\n" #~ " успіх перевірки\n" #~ " -w, --warn попереджувати про неправильно сформовані рядки " #~ "у\n" #~ " списку контрольних сум\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Метод обчислення контрольних сум описаний у %s. Вхідними даними при\n" #~ "перевірці повинні бути отримані раніше дані виводу цієї програми.\n" #~ "Типово виводить рядок з контрольною сумою, знак, що відображає\n" #~ "тип файлу (`*' для двійкових, ` ' для текстових), та назва кожного " #~ "ФАЙЛУ.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: надто багато рядків контрольних сум" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: неправильно складений рядок контрольної суми %s" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: не вдається відкрити або прочитати\n" #~ msgid "OK" #~ msgstr "Гаразд" #~ msgid "%s: read error" #~ msgstr "%s: помилка читання" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: не знайдено правильно складених рядків контрольних сум %s" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "ПОПЕРЕДЖЕННЯ: не вдається прочитати % вказаний файл з %" #~ msgstr[1] "" #~ "ПОПЕРЕДЖЕННЯ: не вдається прочитати % вказані файли з %" #~ msgstr[2] "" #~ "ПОПЕРЕДЖЕННЯ: не вдається прочитати % вказаних файлів з %" #~ "" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "ПОПЕРЕДЖЕННЯ: НЕ збіглась % обчислена контрольна сума з %" #~ "" #~ msgstr[1] "" #~ "ПОПЕРЕДЖЕННЯ: НЕ збіглись % обчислені контрольні суми з %" #~ "" #~ msgstr[2] "" #~ "ПОПЕРЕДЖЕННЯ: НЕ збіглись % обчислених контрольних сум з %" #~ "" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "ключі --binary та --text не мають сенсу при перевірці контрольних сум" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "ключ --status має сенс лише при перевірці контрольних сум" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "ключ --warn має сенс лише при перевірці контрольних сум" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Використання: %s [КЛЮЧ] КАТАЛОГ...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Створює DIRECTORY, якщо він ще не існує.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MODE встановити код доступу (як у chmod)\n" #~ " -p, --parents не виводити помилок якщо каталог існує,\n" #~ " при потребі створювати батьківські каталоги\n" #~ " -v, --verbose виводити повідомлення про кожен створений каталог\n" #~ " -Z, --context=CTX встановити контекст безпеки SELinux кожного " #~ "створеного\n" #~ " каталогу на CTX\n" #~ msgid "created directory %s" #~ msgstr "створений каталог %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Використання: %s [КЛЮЧ] НАЗВА...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Створює іменовані канали (FIFO) для вказаного NAME.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=КОН встановити контекст безпеки SELinux для кожної НАЗВИ " #~ "у КОН\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MODE встановити права доступу (як у chmod). Всі біти крім\n" #~ " a=rw ігноруються\n" #~ msgid "invalid mode" #~ msgstr "неправильний режим" #~ msgid "mode must specify only file permission bits" #~ msgstr "режим повинен визначати лише біти прав доступу до файлу" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Використання: %s [КЛЮЧ]... НАЗВА ТИП [ОСНОВНИЙ ДРУГОРЯДНИЙ]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Створює спеціальній файл з назвою NAME та типом TYPE.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=КОН встановити контекст безпеки SELinux для НАЗВА у КОН\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Якщо ТИП -- це b, c або u, необхідно вказувати як ОСНОВНИЙ, так і\n" #~ "ДРУГОРЯДНИЙ, а якщо ТИП дорівнює p, їх не можна вказувати. Якщо " #~ "ОСНОВНИЙ\n" #~ "або ДРУГОРЯДНИЙ починаються з 0x або 0X, вони інтерпретуються як\n" #~ "шістнадцяткові числа; якщо починаються з 0 - як вісімкові;\n" #~ "інакше як десяткові. ТИП може приймати наступні значення:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b створити файл блочного пристрою (буферизований)\n" #~ " c, u створити файл символьного пристрою (не буферизований)\n" #~ " p створити іменований канал\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Для спеціального файлу повинні бути вказані основний та другорядний " #~ "номери пристрою." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "У файлів-черг немає основного та другорядного числа пристрою." #~ msgid "block special files not supported" #~ msgstr "блочні спеціальні файли не підтримуються" #~ msgid "character special files not supported" #~ msgstr "знакові спеціальні файли не підтримуються" #~ msgid "invalid major device number %s" #~ msgstr "неправильне основне число пристрою %s" #~ msgid "invalid minor device number %s" #~ msgstr "неправильне другорядне число пристрою %s" #~ msgid "invalid device %s %s" #~ msgstr "неправильний пристрій %s %s" #~ msgid "invalid device type %s" #~ msgstr "неправильний тип пристрою %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Використання: %s [КЛЮЧ]... [ШАБЛОН]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Створити безпечним способом тимчасовий файл чи каталог, та вивести його " #~ "назву.\n" #~ "Якщо TEMPLATE не вказано, використовується tmp.XXXXXXXXXX.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory створити каталог, а не файл\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet не виводити діагностичні повідомлення про помилки " #~ "створення файлу/каталогу\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run нічого не створювати; просто вивести назву " #~ "(небезпечно)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=КАТ] інтерпретувати ШАБЛОН відносно КАТ. Якщо КАТ не\n" #~ " вказано, використовується $TMPDIR, якщо значення не\n" #~ " задане використовується /tmp., ШАБЛОН не має бути.\n" #~ " абсолютною назвою. На відміну від -t, ШАБЛОН може " #~ "містити\n" #~ " косі риски, але навіть при цьому, mktemp створює " #~ "лише\n" #~ " останній компонент.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p КАТ використовувати КАТ як префікс; неявно вказується -t " #~ "[застаріло]\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t вважати ШАБЛОН одиночним компонентом назви файлу,\n" #~ " відносно каталогу: $TMPDIR, якщо встановлено; у " #~ "іншому\n" #~ " разі каталог вказується у -p; інакше /tmp " #~ "[застаріло]\n" #~ msgid "too many templates" #~ msgstr "надто багато шаблонів" #~ msgid "too few X's in template %s" #~ msgstr "надто мало символів X у шаблоні %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "неправильний шаблон, %s, містить символ розділення каталогів" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "неправильний шаблон, %s; з --tmpdir, він не може бути абсолютним" #~ msgid "failed to create directory via template %s" #~ msgstr "не вдається створити каталог через шаблон %s" #~ msgid "failed to create file via template %s" #~ msgstr "не вдається створити файл через шаблон %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Перейменовує SOURCE у DEST, або переміщує SOURCE(ы) у DIRECTORY.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=КОНТРОЛЬ] створювати резервні копії цільових файлів\n" #~ " -b те саме, що та --backup, але без " #~ "аргументу\n" #~ " -f, --force переписувати існуючі файли без " #~ "підтвердження\n" #~ " -i, --interactive запитувати підтвердження перш ніж " #~ "переписувати\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes видаляє всі кінцеві косі риски з кожного\n" #~ " аргументу ДЖЕРЕЛО\n" #~ " -S, --suffix=СУФІКС перевизначає суфікс для резервних копій\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=КАТАЛОГ перемістити всі ДЖЕРЕЛА у КАТАЛОГ\n" #~ " -T, --no-target-directory вважати ЦІЛЬ звичайним файлом\n" #~ " -u, --update переміщувати лише тоді коли файл ДЖЕРЕЛО\n" #~ " новіший ніж цільовий файл, або коли\n" #~ " цільовий файл відсутній\n" #~ " -v, --verbose пояснювати виконувані дії\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Використання: %s [КЛЮЧ] [КОМАНДА [АРГ]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Запускає КОМАНДУ зі зміненим значенням nice, що впливає на пріоритет\n" #~ "для планувальника. Якщо КОМАНДА не вказана, виводиться поточне значення\n" #~ "nice. Допустимі межі від %d (найбільший пріоритет) до %d\n" #~ "(найменший).\n" #~ "\n" #~ " -n, --adjustment=N збільшити nice на ціле число N (типово 10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "неправильна поправка %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "якщо вказана поправка, треба вказати команду" #~ msgid "cannot get niceness" #~ msgstr "не вдається дізнатись значення nice" #~ msgid "cannot set niceness" #~ msgstr "не вдається встановити значення nice" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Виводить кожен ФАЙЛ на стандартний вивід, додаючи номери рядків.\n" #~ "Якщо ФАЙЛ не вказаний або вказаний як -, читається стандартний ввід.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=СТИЛЬ використовувати СТИЛЬ нумерації рядків " #~ "тіла\n" #~ " -d, --section-delimiter=СС використовувати СС для розділення\n" #~ " логічних сторінок\n" #~ " -f, --footer-numbering=СТИЛЬ використовувати СТИЛЬ нумерації рядків\n" #~ " нижнього колонтитулу\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=СТИЛЬ використовувати СТИЛЬ нумерації рядків\n" #~ " верхнього колонтитула\n" #~ " -i, --page-increment=ЧИСЛО крок збільшення номерів рядків\n" #~ " -l, --join-blank-lines=ЧИСЛО вказане ЧИСЛО порожніх рядків вважати " #~ "одним\n" #~ " -n, --number-format=ФОРМАТ використовувати ФОРМАТ для номерів " #~ "рядків\n" #~ " -p, --no-renumber не починати нумерацію з початку після\n" #~ " кожної логічної сторінки\n" #~ " -s, --number-separator=РЯДОК додавати РЯДОК після номера\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=ЧИСЛО перший номер рядка для кожної логічної\n" #~ " сторінки\n" #~ " -w, --number-width=ЧИСЛО використовувати вказане ЧИСЛО " #~ "стовпчиків\n" #~ " для номерів рядків\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Типово використовуються -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. СС - це " #~ "два\n" #~ "знаки, що розділяють логічні сторінки; якщо вказаний лише один, то я " #~ "якості\n" #~ "іншого використовується :. Вводьте \\\\ щоб отримати \\. СТИЛЬ " #~ "вказується\n" #~ "як один з наступних:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a нумерувати всі рядки\n" #~ " t нумерувати лише не порожні рядки\n" #~ " n не нумерувати рядки\n" #~ " pБРВ нумерувати лише рядки, частина яких збігається з базовим\n" #~ " регулярним виразом БРВ\n" #~ "\n" #~ "ФОРМАТ вказується як один з наступних:\n" #~ "\n" #~ " ln вирівнювати по лівому краю, не виводити початкові нулі\n" #~ " rn вирівнювати по правому краю, не виводити початкові нулі\n" #~ " rz вирівнювати по правому краю, виводити початкові нулі\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "переповнення номера рядка" #~ msgid "invalid header numbering style: %s" #~ msgstr "неправильний стиль нумерації заголовка: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "неправильний стиль нумерації тіла: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "неправильний стиль нумерації нижнього колонтитула: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "неправильний номер початкового рядка: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "неправильний приріст номеру рядка: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "неправильна кількість порожніх рядків: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "неправильна ширина поля для номера рядка: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "неправильний формат нумерації рядків: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s КОМАНДА [АРГУМЕНТ]...\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Виконує КОМАНДУ ігноруючи сигнали обриву термінальної лінії.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Якщо стандартний ввід відбувається з терміналу, перенаправте його з /dev/" #~ "null.\n" #~ "Якщо стандартний вивід відбувається на термінал, якщо можливо, " #~ "перенаправте\n" #~ " його на додавання до `nohup.out', ц іному разі др `$HOME/nohup.out'.\n" #~ "Якщо стандартний потік помилок виводиться на екран, перенаправте його у\n" #~ "стандартний потік виводу. Щоб зберегти вивід у ФАЙЛ, вкажіть `%s КОМАНДА " #~ "> ФАЙЛ'.\n" #~ msgid "ignoring input" #~ msgstr "всі аргументи проігноровані" #~ msgid "failed to open %s" #~ msgstr "не вдається відкрити %s" #~ msgid "ignoring input and appending output to %s" #~ msgstr "вивід додається у %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "" #~ "не вдається зробити так, щоб копія стандартного потоку помилок закрилась " #~ "на початку виконання" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "ігнорується ввід та перенаправлення stderr на stdout" #~ msgid "failed to redirect standard error" #~ msgstr "не вдається перенаправити стандартний потік помилок" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... [ФАЙЛ]...\n" #~ " або: %s [-abcdfilosx]... [ФАЙЛ] [[+]ЗСУВ[.][b]]\n" #~ " або: %s --traditional [КЛЮЧ]... [ФАЙЛ] [[+]ЗСУВ[.][b] [+][МІТКА]" #~ "[.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Виводить однозначне (типово байтове вісімкове) представлення ФАЙЛУ\n" #~ "на стандартний вивід. Якщо ФАЙЛ не вказаний або вказаний як -, " #~ "читається\n" #~ "стандартний ввід.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Всі аргументи для довгих ключів є обов'язковими для коротких.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=ОСНОВА виводити зсув у файлах використовуючи\n" #~ " вказану систему числення\n" #~ " -j, --skip-bytes=Н пропустить перші Н байт\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=Н читати лише Н байт у кожному файлі\n" #~ " -s, --strings[=Н] виводити рядки довжиною принаймні Н\n" #~ " графічних знаків\n" #~ " -t, --format=ТИП вибір формату або форматів виводу\n" #~ " -v, --output-duplicates не позначати знаком * рядки, що не " #~ "виводяться\n" #~ " -w, --width[=Н] виводити Н байт у кожному рядку виводу\n" #~ " --traditional приймати аргументи у традиційній формі\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Традиційні специфікації формату можна змішувати, вони акумулюються:\n" #~ " -a синонім -t a, іменовані знаки\n" #~ " -b синонім -t o1, вісімкові байти\n" #~ " -c синонім -t c, ASCII-знаки або керуючі послідовності з `\\'\n" #~ " -d синонім -t u2, беззнакові десяткові двобайтові одиниці\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f синонім -t fF, числа з плаваючою комою\n" #~ " -i синонім -t dI, десяткові цілі\n" #~ " -l синонім -t dL, десяткові довгі цілі\n" #~ " -o синонім -t o2, вісімкові двобайтові одиниці\n" #~ " -s синонім -t d2, десяткові двобайтові одиниці\n" #~ " -x синонім -t x2, шістнадцяткові двобайтові одиниці\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Якщо застосовуються й перша, й друга форми виклику, вважається друга\n" #~ "форма, якщо останній операнд починається на + або (якщо вказані два\n" #~ "операнда) на цифру. Операнд ЗСУВ означає -j ЗСУВ. МІТКА --\n" #~ "це псевдоадреса першого виведеного байту, збільшується у процесі\n" #~ "виводу. Префікс 0x або 0X задає ЗСУВ або МІТКУ як\n" #~ "шістнадцяткові числа, суфікс . -- як вісімкові, а суфікс b\n" #~ "помножує на 512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "ТИП може складатись з одного або більше наступних описів:\n" #~ "\n" #~ " a іменований знак\n" #~ " c ASCII-знак або керуюча послідовність з `\\'\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[ЧИСЛО] знакове десяткове ціле розміром вказане ЧИСЛО байт\n" #~ " f[ЧИСЛО] число з плаваючою точкою розміром вказане ЧИСЛО байт\n" #~ " o[ЧИСЛО] вісімкове ціле розміром вказане ЧИСЛО байт\n" #~ " u[ЧИСЛО] беззнакове десяткове ціле розміром вказане ЧИСЛО байт\n" #~ " x[ЧИСЛО] шістнадцяткове ціле розміром вказане ЧИСЛО байт\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "Якщо ФОРМАТ -- одне з [doux], ЧИСЛО можна вказувати як C (char), S " #~ "(short),\n" #~ "I (int) або L (long), якщо ФОРМАТ дорівнює f, то ЧИСЛО може бути F " #~ "(float),\n" #~ "D (double) або L (long double).\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "ОСНОВА може бути d (десятковою), o (вісімковою), x (шістнадцятковою) або\n" #~ "n (не виводити зсув). Н з префіксом 0x або 0X сприймається як\n" #~ "шістнадцяткове, з суфіксом b множиться на 512, з суфіксом kB - 1000, K - " #~ "1024,\n" #~ "MB - 1000*1000, M - 1024*1024, GB - 1000*1000*1000, G - 1024*1024*1024, " #~ "та т.і.\n" #~ " для T, P, E, Z, Y. Якщо додати до будь-якого формату суфікс z, то\n" #~ "наприкінці кожного рядка будуть виводитись друковані символи." #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string без параметра означає 3, --width означає 32.\n" #~ " Типово використовуються ключі -A o -t d2 -w 16.\n" #~ msgid "invalid type string %s" #~ msgstr "неправильний рядок типу %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "неправильно вказаний рядок типу %s;\n" #~ "ця система не підтримує %lu-байтове цілого типу" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "неправильно вказаний тип %s;\n" #~ "ця система не підтримує %lu-байтове типу з плаваючою комою" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "неправильний знак `%c' у рядку типу %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "неможливо перейти за межу останнього вхідного файлу" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "неправильно вказана основа системи числення `%c', повинна бути одним з " #~ "символів [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "при дампі рядків не можна вказувати тип" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "у режимі сумісності підтримується не більше одного файлу." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "значення skip-bytes + read-bytes надто велике" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "попередження: неправильна ширина %lu; буде використана %d" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: формам=\"%s\" ширина=%d\n" #~ msgid "standard input is closed" #~ msgstr "стандартний ввід закритий" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Виводить на стандартний вивід рядки, складені з відповідних рядків\n" #~ "вхідних ФАЙЛІВ, що розділяються табуляцією.\n" #~ "Якщо ФАЙЛ не вказаний або вказаний як -, читається стандартний ввід.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=СПИСОК використовувати замість табуляції знаки зі " #~ "СПИСКУ\n" #~ " -s, --serial обробляти файли послідовно\n" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Використання: %s [КЛЮЧ]... НАЗВА...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Діагностує непереносні конструкції у ІМЕНІ.\n" #~ "\n" #~ " -p перевірка для більшості POSIX-систем\n" #~ " -P перевірка на порожні назви та початковий \"-\"\n" #~ " --portability перевірка для усіх POSIX-систем (еквівалентно -p -" #~ "P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "початковий `-' у компоненті назві файлу %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "непереносний знак %s у назві файлу %s" #~ msgid "empty file name" #~ msgstr "порожня назва файлу" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: не вдається визначити максимальну довжину назви файлу" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "межу %lu перевищено довжиною %lu у назві файлу %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "перевищено обмеження %lu довжиною %lu у компоненті імені файлу %s" #~ msgid "Login name: " #~ msgstr "Реєстраційна назва: " #~ msgid "In real life: " #~ msgstr "У реальному житті: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Каталог: " #~ msgid "Shell: " #~ msgstr "Оболонка: " #~ msgid "Project: " #~ msgstr "Проект: " #~ msgid "Plan:\n" #~ msgstr "План:\n" #~ msgid "Login" #~ msgstr "Реєстраційне ім'я'" #~ msgid "Name" #~ msgstr "Назва" #~ msgid " TTY" #~ msgstr " Термінал" #~ msgid "Idle" #~ msgstr "Неактивний" #~ msgid "When" #~ msgstr "Коли" #~ msgid "Where" #~ msgstr "Де" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Використання: %s [КЛЮЧ]... [КОРИСТУВАЧ]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l використовувати докладний формат виводу\n" #~ " -b опустити у докладному форматі початковий каталог та\n" #~ " оболонку цього користувача\n" #~ " -h опустити у докладному форматі файл проекту цього\n" #~ " користувача\n" #~ " -p опустити у докладному форматі файл плану цього\n" #~ " користувача\n" #~ " -s короткий формат виводу, типово використовується\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f опустити у короткому форматі рядок з заголовками " #~ "колонок\n" #~ " -w опустити у короткому форматі повне ім'я користувача\n" #~ " -i опустити у короткому форматі повне ім'я користувача та\n" #~ " назву віддаленої машини\n" #~ " -q опустити у короткому форматі повне ім'я користувача,\n" #~ " назву віддаленої машини та час неактивності\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Спрощена програма `finger'; виводить відомості про користувача.\n" #~ "У складі файлу utmp буде використовуватися %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "не вказано ім'я користувача; при використанні ключа -l треба вказати хоча " #~ "б одне" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=ПЕРША_СТОР[:ОСТАННЯ_СТОР]' пропущений аргумент" #~ msgid "Invalid page range %s" #~ msgstr "Неправильний діапазон сторінок %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l ДОВЖИНА_СТОРІНКИ' неправильна кількість рядків: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N НОМЕР' неправильний номер початкового рядка: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o ПОЛЕ' неправильна зсув: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w ШИРИНА_СТОРІНКИ' неправильна кількість знаків: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W ШИРИНА_СТОРІНКИ' неправильна кількість знаків: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Неможливо вказати кількість стовпчиків при паралельному друці." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Не можна одночасно вказувати друк в ширину та паралельно." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c' зайві знаки або неправильне число у аргументі: %s" #~ msgid "page width too narrow" #~ msgstr "сторінка надто вузька" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "номер початкової сторінки % перевищує загальну кількість " #~ "сторінок %" #~ msgid "Page number overflow" #~ msgstr "Переповнення номеру сторінки" #~ msgid "Page %" #~ msgstr "Сторінка %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Розбиває ФАЙЛ(ы) на сторінки або колонки для друку.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +ПЕРША_СТОРІНКА[:ОСТАННЯ_СТОРІНКА], --pages=ПЕРША_СТОРІНКА[:" #~ "ОСТАННЯ_СТОРІНКА]\n" #~ " почати [завершити] друк на ПЕРШІЙ_[ОСТАННІЙ_]" #~ "СТОРІНЦІ\n" #~ " -ЧИСЛО, --columns=КІЛЬКІСТЬ\n" #~ " виводити вказану КІЛЬКІСТЬ колонок та виводити їх " #~ "вниз,\n" #~ " лише коли не вказаний ключ -a. Балансувати " #~ "кількість\n" #~ " рядків у колонці на кожній сторінці.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across виводити колонки поперек, а не вниз; " #~ "використовується\n" #~ " разом з ключем -ЧИСЛО\n" #~ " -c, --show-control-chars\n" #~ " використовувати запис з шапочкою (^G) або зворотною\n" #~ " косою рискою (та вісімковим кодом)\n" #~ " -d, --double-space\n" #~ " вставляти порожній рядок після кожного виведеного " #~ "рядка\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=ФОРМАТ\n" #~ " використовувати для дати у заголовку вказаний ФОРМАТ\n" #~ " -e[ЗНАК[ЧИСЛО]], --expand-tabs[=ЗНАК[ЧИСЛО]]\n" #~ " перетворювати вхідні ЗНАКИ (табуляцію) у вказане " #~ "ЧИСЛО\n" #~ " пробілів (8)\n" #~ " -F, -f, --form-feed\n" #~ " для розділення сторінок вживати знак переносу " #~ "сторінки,\n" #~ " а не нового рядка (з трьохрядковим заголовком, якщо " #~ "є\n" #~ " ключ -F, та п'ятирядковим заголовком та кінцівкою, " #~ "якщо\n" #~ " ключ -F не вказаний)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h ЗАГОЛОВОК, --header=ЗАГОЛОВОК\n" #~ " використовувати для сторінок центрований ЗАГОЛОВОК, а " #~ "не\n" #~ " назву файлу; -h \"\" виводить порожній рядок; не\n" #~ " використовуйте -h \"\"\n" #~ " -i[ЗНАК[ШИРИНА]], --output-tabs[=ЗНАК[ШИРИНА]]\n" #~ " замінити пробіли ЗНАКАМИ (табуляцію) вказаної ШИРИНИ " #~ "(8)\n" #~ " -J, --join-lines об'єднувати повні рядки, вимкнути урізання рядків (-" #~ "W),\n" #~ " не вирівнювати колонки, --sep-string[=РЯДОК]\n" #~ " задає розділювачі\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l ДОВЖИНА_СТОРІНКИ, --length=ДОВЖИНА_СТОРІНКИ\n" #~ " встановити ДОВЖИНУ_СТОРІНКИ (66)\n" #~ " (типово число рядків тексту рівно 56, а з -F -- 63)\n" #~ " -m, --merge виводити всі файли паралельно, по одному у колонці,\n" #~ " урізати рядка, але з'єднувати повні рядка при -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[РОЗД[ЧИСЛО]], --number-lines[=РОЗД[ЧИСЛО]]\n" #~ " нумерувати рядка, використовуючи вказане ЧИСЛО (5) " #~ "цифр\n" #~ " та РОЗДілювач (табуляцію); типово нумерація " #~ "починається\n" #~ " з першого вхідного рядку\n" #~ " -N НОМЕР, --first-line-number=НОМЕР\n" #~ " почати нумерацію з НОМЕРА з першого рядку першої\n" #~ " сторінки, що виводиться (дивіться +ПЕРША_СТОРІНКА)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o ПОЛЕ, --indent=ПОЛЕ\n" #~ " зсувати кожен рядок на ПОЛЕ (нуль) пробілів (не " #~ "впливає\n" #~ " на -w або -W); ПОЛЕ додається до ШИРИНА_СТОРІНКИ\n" #~ " -r, --no-file-warnings\n" #~ " не попереджувати про неможливість відкриття файлу\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[ЗНАК],--separator[=ЗНАК]\n" #~ " розділювати колонки одним знаком, типово ЗНАК " #~ "дорівнює\n" #~ " табуляції, без ключа -w, та порожній, якщо є ключ -w\n" #~ " -s[ЗНАК] вимикає урізання рядків для усіх трьох " #~ "ключів\n" #~ " для колонок (-ЧИСЛО |-a -ЧИСЛО|-m), якщо немає ключа -" #~ "w\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -S[РЯДОК], --sep-string[=РЯДОК]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " розділяти колонки необов'язковим РЯДКОМ, не вживайте\n" #~ " -S \"РЯДОК\"; лише -S: не використовувати " #~ "розділювач;\n" #~ " без -S: розділювач типово -- табуляція, якщо " #~ "вказаний\n" #~ " ключ -J, інакше пробіл (те саме, що -S\"\"); не " #~ "впливає\n" #~ " на ключі для колонок\n" #~ " -t, --omit-header не виводити заголовки\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " не виводити заголовки та ігнорувати символи " #~ "перекладу\n" #~ " сторінки у вхідних файлах\n" #~ " -v, --show-nonprinting\n" #~ " використовувати запис з `\\' та вісімковим кодом\n" #~ " -w ШИРИНА_СТОРІНКИ, --width=ШИРИНА_СТОРІНКИ\n" #~ " встановити ШИРИНУ_СТОРІНКИ (72) у стовпчиках для\n" #~ " виводу у декілька колонок, -s[знак] вимикає (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W ШИРИНА_СТРАНИЦЫ, --page-width=ШИРИНА_СТОРІНКИ\n" #~ " встановити ШИРИНУ_СТОРІНКИ (72) символи, усікати " #~ "рядки,\n" #~ " якщо не вказаний ключ -J; не змінюється ключами -S чи " #~ "-s\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "вважається -t, якщо PAGE_LENGTH <= 10. Якщо ФАЙЛ не вказаний\n" #~ "або вказаний як -, читає стандартний ввід.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Використання: %s [ЗМІННА]...\n" #~ " або: %s КЛЮЧ\n" #~ "Якщо не вказана ЗМІННА оточення, виводить їх всі.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "попередження: %s: знаки, наступні за знаковою константою, проігноровані" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s ФОРМАТ [АРГУМЕНТ]...\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Виводить АРГУМЕНТ(и) відповідно до ФОРМАТ, або або виконати відповідно до " #~ "OPTION:\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "ФОРМАТ керує виводом так же, як у C-функції printf.\n" #~ "Приймаються наступні послідовності:\n" #~ "\n" #~ " \\\" подвійна дужка\n" #~ " \\0ННН знак з вісімковим кодом ННН (від 1 до 3 цифр)\n" #~ " \\\\ зворотна похила риска\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a звуковий сигнал\n" #~ " \\b забиття\n" #~ " \\c придушувати наступний вивід\n" #~ " \\f переведення сторінки\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n новий рядок\n" #~ " \\r переведення каретки\n" #~ " \\t горизонтальна табуляція\n" #~ " \\v вертикальна табуляція\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xНН байт з шістнадцятковим кодом НН (від 1 до 2 цифр)\n" #~ " \\uНННН знак Unicode (ISO/IEC 10646) з шістнадцятковим кодом НННН (4 " #~ "цифри)\n" #~ " \\UНННННННН знак Unicode з шістнадцятковим кодом НННННННН (8 цифр)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% один знак %\n" #~ " %b інтерпретувати escape-послідовності у АРГУМЕНТІ,\n" #~ " крім вісімкових у формі \\0 або \\0ННН\n" #~ "\n" #~ "а також всі специфікації формату у стилі C, що закінчуються одним з\n" #~ "знаків diouxXfeEgGcs; АРГУМЕНТ приводиться до відповідного типу.\n" #~ "Обробляються також знаки змінної ширини.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: очікується числове значення" #~ msgid "%s: value not completely converted" #~ msgstr "%s: значення перетворене не повністю" #~ msgid "missing hexadecimal number in escape" #~ msgstr "неправильна шістнадцяткове число у escape-послідовності" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "неправильна універсальна назва знаку \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "неправильна ширина поля: %s" #~ msgid "invalid precision: %s" #~ msgstr "неправильна точність: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: неправильна специфікація перетворення" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "попередження: зайві аргументи проігноровані, починаючи з %s" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "Ф. Пінард" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (для регулярного виразу %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... [ВХІД]... (без -G)\n" #~ " або: %s -G [КЛЮЧ]... [ВХІД [ВИХІД]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Виводить переставлений алфавітний вказівник слів вхідних файлів, " #~ "включаючи контекст.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference виводити автоматично згенеровані " #~ "посилання\n" #~ " -G, --traditional увімкнути режим сумісності з System V\n" #~ " -F, --flag-truncation=РЯДОК використовувати РЯДОК для позначення " #~ "обрізаних рядків\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=РЯДОК назва макросу, яку слід використовувати\n" #~ " замість `xx'\n" #~ " -O, --format=roff генерувати вивід у вигляді директив " #~ "roff\n" #~ " -R, --right-side-refs поміщати посилання справа, не діє при -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP для кінця рядків або кінця речень\n" #~ " -T, --format=tex генерувати вивід у вигляді директив TeX\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP регулярний вираз для ключових слів\n" #~ " -b, --break-file=ФАЙЛ ФАЙЛ з символами-розділювачами слів\n" #~ " -f, --ignore-case перетворювати до верхнього регістру при\n" #~ " сортуванні\n" #~ " -g, --gap-size=ЧИСЛО розмір проміжку між полями виводу,\n" #~ " виражений у стовпчиках\n" #~ " -i, --ignore-file=ФАЙЛ прочитати перелік ігнорованих слів з " #~ "ФАЙЛУ\n" #~ " -o, --only-file=ФАЙЛ лише прочитати список слів з заданого " #~ "ФАЙЛУ\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references перше поле у кожній рядку є посиланням\n" #~ " -t, --typeset-mode - не реалізовано -\n" #~ " -w, --width=ЧИСЛО ширина виводу у стовпчиках, без " #~ "урахування посилань\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Якщо ФАЙЛ не вказаний або вказаний як -, читає стандартний ввід.\n" #~ "Типово вважається вказаним `-F /'.\n" #~ msgid "invalid gap width: %s" #~ msgstr "неправильна ширина дірки: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Виводить повну назву поточного робочого каталогу.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "помилка зміни каталогу на %s" #~ msgid "failed to stat %s" #~ msgstr "помилка отримання атрибутів %s" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "у %s не знайдено запис каталогу з відповідним i-node" #~ msgid "ignoring non-option arguments" #~ msgstr "аргументи, що не є ключами проігноровані" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Використання: %s [КЛЮЧ]... [ФАЙЛ]\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Виводить значення символьним посилання на стандартний вивід.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize отримати канонічну назву файлу шляхом\n" #~ " рекурсивного слідування по усім " #~ "символьним\n" #~ " посиланням в усіх компонентах шляху;\n" #~ " всі компоненти пути, крім останнього,\n" #~ " повинні існувати\n" #~ " -e, --canonicalize-existing отримати канонічну назву файлу шляхом\n" #~ " рекурсивного слідування по усім " #~ "символьним\n" #~ " посиланням у кожній компоненті вказаного " #~ "пути;\n" #~ " всі компоненти шляху повинні існувати\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing отримати канонічну назва файлу шляхом\n" #~ " рекурсивного слідування по усім " #~ "символьним\n" #~ " посиланням в усіх компонентах шляху;\n" #~ " компоненти не обов'язково мають існувати\n" #~ " -n, --no-newline не виводити завершальне переведення " #~ "рядка\n" #~ " -q, --quiet,\n" #~ " -s, --silent не виводити повідомлення про помилки\n" #~ " -v, --verbose повідомляти про помилки\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "ПОМИЛКА: не вдається закрити каталог %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "ПОМИЛКА: не вдається .. з %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "ПОМИЛКА: не вдається перевірити безпечність %s (повернення через ..)" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "ПОМИЛКА: каталог %s змінив dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "ПОМИЛКА: не вдається увійти в каталог %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "ПОМИЛКА: щойно змінений каталог %s змінив dev/ino" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "УВАГА: Зациклення у структурі каталогу.\n" #~ "Швидше за все, це означає, що ваша файлова система пошкоджена.\n" #~ "ПОВІДОМТЕ ВАШОГО СИСТЕМНОГО АДМІНІСТРАТОРА.\n" #~ "Наступний каталог є частиною циклу:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: спуститься у захищений від запису каталог %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: спуститься у каталог %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: видалити захищений від запису %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: видалити %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "видалено каталог: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "помилка при закритті каталогу %s" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "припущено %s, оскільки він розташований на іншому пристрої" #~ msgid "cannot remove directory %s" #~ msgstr "не вдається видалити каталог %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "ПОМИЛКА: не вдається повернутися до .. з %s" #~ msgid "cannot remove root directory %s" #~ msgstr "не вдається видалити кореневий каталог %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "не вдається видалити відносний каталог %s" #~ msgid "cannot restore current working directory" #~ msgstr "не вдається відновити поточний робочий каталог" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Спробуйте `%s ./%s', щоб видалити файл %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Використання: %s [КЛЮЧ]... ФАЙЛ...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Видалення (unlink) ФАЙЛУ(s).\n" #~ "\n" #~ " -f, --force ігнорувати не існуючі файли, ніколи не питати\n" #~ " -i питати перед кожним видаленням\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I питати перед видаленням більш ніж трьох файлів, " #~ "або\n" #~ " при рекурсивному видаленні. Менш набридливий " #~ "ніж\n" #~ " -i, хоча забезпечує захист від більшості " #~ "помилок\n" #~ " --interactive[=КОЛИ] питати КОЛИ: never, once (-I), \n" #~ " always (-i). Без значення КОЛИ - питати " #~ "завжди\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system при видаленні ієрархії рекурсивно, пропускати\n" #~ " каталоги, що лежать на інших файлових " #~ "системах,\n" #~ " ніж вказані аргументами командного рядку\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root не обробляти `/' особливим чином (типово)\n" #~ " --preserve-root відмовлятись рекурсивно обробляти `/'\n" #~ " -r, -R, --recursive рекурсивно видаляти каталоги та їх зміст\n" #~ " -v, --verbose пояснювати дії, що виконуються\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Зазвичай rm не видаляє каталоги. Використовуйте ключ --recursive (-r\n" #~ "або -R), щоб видалити всі перелічені каталоги разом з їх\n" #~ "змістом.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Для видалення файлу, що починається з `-' (наприклад: `-foo'),\n" #~ "використовуйте одну з наступних команд:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Зауважте, що при використанні rm для видалення файлу його зміст\n" #~ "звичайно можна відновити. Використовуйте shred, якщо необхідна більша\n" #~ "впевненість у неможливості відновлення змісту.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: видалити усі аргументи рекурсивно? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: видалити усі аргументи? " #~ msgid "removing directory, %s" #~ msgstr "видалення каталогу, %s" #~ msgid "failed to remove directory %s" #~ msgstr "помилка при видаленні каталогу %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Використання: %s [КЛЮЧ]... КАТАЛОГ...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Видаляє КАТАЛОГ, якщо він порожній.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ігнорувати всі помилки, коли каталог не порожній\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents Видалити КАТАЛОГ з предками. Наприклад, `rmdir -p a/b/" #~ "c'\n" #~ " робить те ж саме, що й `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose виводити повідомлення для кожного обробленого каталогу\n" #~ msgid "failed to remove %s" #~ msgstr "не вдається видалити %s" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Використання: %s CONTEXT КОМАНДА [аргументів]\n" #~ " або: %s [ -c ] [-u КОРИСТУВАЧ] [-r РОЛЬ] [-t ТИП] [-l ДІАПАЗОН] " #~ "КОМАНДА [аргументи]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Запустити програму з іншим контекстом безпеки.\n" #~ "якщо не вказано КОНТЕКСТ ані КОМАНДА, виводиться поточний контекст " #~ "безпеки.\n" #~ "\n" #~ " КОНТЕКСТ Повний контекст безпеки\n" #~ " -c, --compute обчислити процес переходу контексту перед зміною\n" #~ " -t, --type=ТИП тип (для тієї ж ролі, що й у батьківському)\n" #~ " -u, --user=КОРИСИТУВАЧ користувач\n" #~ " -r, --role=РОЛЬ роль\n" #~ " -l, --range=ДІАПАЗОН діапазон рівня\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "множинні ролей" #~ msgid "multiple types" #~ msgstr "множинні типи" #~ msgid "multiple users" #~ msgstr "множинні користувачі" #~ msgid "multiple levelranges" #~ msgstr "множинні діапазони" #~ msgid "failed to get current context" #~ msgstr "помилка при отриманні поточного контексту" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "слід вказати -c, -t, -u, -l, -r, або контекст" #~ msgid "no command specified" #~ msgstr "не вказано команду" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "runcon має використовуватися лише коли ядро має підтримку SELinux" #~ msgid "failed to compute a new context" #~ msgstr "помилка при обчисленні нового контексту" #~ msgid "failed to set new user %s" #~ msgstr "помилка при встановленні нового користувача %s" #~ msgid "failed to set new type %s" #~ msgstr "помилка при встановленні нового типу %s" #~ msgid "failed to set new range %s" #~ msgstr "помилка при встановленні нового діапазону %s" #~ msgid "failed to set new role %s" #~ msgstr "помилка при встановленні нової ролі %s" #~ msgid "unable to set security context %s" #~ msgstr "не вдається встановити контекст безпеки %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... ОСТАННЄ\n" #~ " або: %s [КЛЮЧ]... ПЕРШЕ ОСТАННЄ\n" #~ " або: %s [КЛЮЧ]... ПЕРШЕ ПРИРІСТ ОСТАННЄ\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Виводить числа від ПЕРШОГО до ОСТАННЬОГО з кроком ПРИРІСТ.\n" #~ "\n" #~ " -f, --format ФОРМАТ використовувати ФОРМАТ у стилі printf\n" #~ " -s, --separator РЯДОК використовувати РЯДОК як розділювач (типово " #~ "\\n)\n" #~ " -w, --equal-width вирівнювати по ширині, додаючи на початок " #~ "нулі\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Якщо не вказані ПЕРШЕ або ПРИРІСТ, типово використовується 1. Тобто\n" #~ "ПРИРІСТ типово приймається за 1, навіть якщо ОСТАННІЙ менше\n" #~ "ПЕРШОГО. ПЕРШИЙ, ОСТАННІЙ та ПРИРІСТ вважаються числами з рухомою\n" #~ "комою. ПРИРІСТ повинен бути додатнім, якщо ПЕРШИЙ менше\n" #~ "ОСТАННЬОГО, та від'ємним у іншому випадку.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "ФОРМАТ повинен бути придатний для друку одного аргументу типу `double';\n" #~ "типове значення %.PRECf якщо ПЕРШЕ, ПРИРІСТ, та ОСТАННЄ є числами \n" #~ "з плаваючою комою з максимальною точністю ТОЧН, та %g у іншому випадку.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "неправильний аргумент з плаваючою комою: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "неправильний рядок формату: %s" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "надто багато описів перетворення (%%) у суфіксі" #~ msgid "invalid format string: %s" #~ msgstr "неправильний рядок формату: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "при виводі рядків однакової ширини формат можна не вказувати" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s КЛЮЧ ІМ'Я_КОРИСТУВАЧА КОМАНДА [АРГУМЕНТ]...\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Скидає всі додаткові групи, встановлює ідентифікатори\n" #~ "користувача та групи як у вказаного КОРИСТУВАЧА та запускає КОМАНДУ\n" #~ "з вказаними АРГУМЕНТАМИ. Завершується зі статусом 111, якщо \n" #~ "не вдається встановити потрібні ідентифікатори користувача та групи. У\n" #~ "іншому випадку повертається вихідний статус КОМАНДИ. Ця програма\n" #~ "має сенс лише для root (UID=0).\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] також встановити головний ідентифікатор групи у " #~ "значення GID, та\n" #~ " (якщо вказано) ідентифікатори додаткових груп ID у " #~ "GID1, ...\n" #~ msgid "unknown user-ID: %s" #~ msgstr "невідомий ідентифікатор користувача: %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "" #~ "для використання ідентифікатора користувача %s слід використовувати -g too" #~ msgid "failed to set supplemental group(s)" #~ msgstr "не вдається встановити додаткові групи" #~ msgid "cannot set group-ID to %lu" #~ msgstr "не вдається встановити ідентифікатор групи рівним %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "не вдається встановити ідентифікатор користувача рівним %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Використання: %s [КЛЮЧІ] ФАЙЛ [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Перезаписує декілька раз вказані файли, щоб ускладнити відновлення\n" #~ "навіть з використанням дуже коштовного обладнання.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force змінювати права,дозволяючи запис, якщо необхідно\n" #~ " -n, --iterations=N переписати N раз замість (%d) типово\n" #~ " --random-source=ФАЙЛ брати випадкові дані з ФАЙЛУ (типово /dev/" #~ "urandom)\n" #~ " -s, --size=N очистити N байт (можливі суфікси виду K, M, G)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove обрізати та видаляти файл після перезаписи\n" #~ " -v, --verbose виводити поступ\n" #~ " -x, --exact не округляти розміри файлів до наступного цілого блоку;\n" #~ " типово для незвичних файлів\n" #~ " -z, --zero перезаписати у конці нулями, щоб сховати змішування\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Якщо ФАЙЛ вказаний як -, змішувати стандартний вивід.\n" #~ "\n" #~ "Видаляє ФАЙЛ(ы), якщо вказаний --remove (-u). Типово файли не\n" #~ "видаляються, оскільки часто обробляються файли-пристрої на зразок\n" #~ "/dev/hda, а такі файли не треба видаляти. При обробці звичайних\n" #~ "файлів більшість людей використовує ключ --remove.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "УВАГА: Пам'ятайте, що shred покладається на дуже важливе припущення:\n" #~ "що ваша файлова система перезаписує файли \"на місці\".\n" #~ "Зазвичай це так, але багато сучасних файлових системи\n" #~ "не задовольняють цьому припущенню. Ось приклади файлових систем, на\n" #~ "яких shred не ефективний або не дає гарантії ефективності в усіх\n" #~ "режимах файлової системи:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* файлові системи з журналом, наприклад які йдуть у комплекті\n" #~ " AIX та Solaris (та JFS, ReiserFS, XFS, Ext3 та ін.)\n" #~ "\n" #~ "* файлові системи, які записують надлишкові дані та зберігають\n" #~ " працездатність навіть якщо виникають невдалі записи, наприклад\n" #~ " файлові системи, що побудовані на технології RAID\n" #~ "\n" #~ "* файлові системи, які створюють копії стану, наприклад\n" #~ " NFS-сервер від Network Appliance\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* файлові системи, які кешують файли у тимчасових сховищах, наприклад \n" #~ " клієнти NFS версії 3\n" #~ "\n" #~ "* стиснені файлові системи\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "В випадку файлових систем ext3 наведене вище обмеження вірне (тож,\n" #~ "shred не такий ефективний), лише у режимі\n" #~ "data=journal, коли окрім метаданих у журнал заносяться також самі дані\n" #~ "файлів. В режимах data=ordered (типово) та data=writeback\n" #~ "програма shred працює у звичайному режимі. Режими журналу ext3 можна\n" #~ "змінити, додавши ключ data=щось до параметрів підключення\n" #~ "конкретної файлової системи у файлі /etc/fstab, згідно документації на\n" #~ "сторінці man для mount (man mount).\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Окрім того, резервні копії та видалені дзеркала файлової системи можуть\n" #~ "містити копії файлу, які не можна видалити, та які пізніше дозволять\n" #~ "відновити знищений файл.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: операція fdatasync завершилась невдало" #~ msgid "%s: fsync failed" #~ msgstr "%s: операція fsync завершилась невдало" #~ msgid "%s: cannot rewind" #~ msgstr "%s: не вдається відкотитись" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: прохід %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: помилка записи за зсувом %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: операція lseek завершилась помилкою" #~ msgid "%s: file too large" #~ msgstr "%s: файл надто великий" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: прохід %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: прохід %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: операція fstat завершилась помилкою" #~ msgid "%s: invalid file type" #~ msgstr "%s: неправильний тип файлу" #~ msgid "%s: file has negative size" #~ msgstr "%s: файл має від'ємний розмір" #~ msgid "%s: error truncating" #~ msgstr "%s: помилка при скороченні" #~ msgid "%s: fcntl failed" #~ msgstr "%s: операція fcntl завершилась помилкою" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "" #~ "%s: не вдається нарізати файловий дескриптор з лише з правом додавання" #~ msgid "%s: removing" #~ msgstr "%s: видалення" #~ msgid "%s: renamed to %s" #~ msgstr "%s: перейменований на %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: не вдається видалити" #~ msgid "%s: removed" #~ msgstr "%s: видалено" #~ msgid "%s: failed to close" #~ msgstr "%s: не вдається закрити" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: не вдається відкрити для читання" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: неправильна кількість проходів" #~ msgid "multiple random sources specified" #~ msgstr "вказано декілька форматів виводу" #~ msgid "%s: invalid file size" #~ msgstr "%s: неправильний розмір файлу" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ]... [ФАЙЛ]\n" #~ " або: %s -e [КЛЮЧ]... [АРГУМЕНТ]...\n" #~ " або: %s -i НИЖ-ВИЩ [КЛЮЧ]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Виводить випадково переставлені вхідні рядки на стандартний вивід.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo вважати кожен АРГУМЕНТ вхідним рядком\n" #~ " -i, --input-range=НИЖ-ВИЩ вважати числа від НИЖ до ВИЩ вхідним рядком\n" #~ " -n, --head-lines=РЯДКІВ виводити принаймні кількість РЯДКІВ\n" #~ " -o, --output=ФАЙЛ вивести результат у ФАЙЛ, а не стандартний " #~ "вивід\n" #~ " --random-source=ФАЙЛ випадкові дані з ФАЙЛУ (типово, з /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated завершувати рядки нульовим байтом, а не " #~ "символом\n" #~ " нового рядку\n" #~ msgid "multiple -i options specified" #~ msgstr "задано декілька ключів -i" #~ msgid "invalid input range %s" #~ msgstr "неприпустимий вхідний діапазон %s" #~ msgid "invalid line count %s" #~ msgstr "неправильна кількість рядків %s" #~ msgid "multiple output files specified" #~ msgstr "задано декілька файлів для виводу" #~ msgid "extra operand %s\n" #~ msgstr "зайвий операнд %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Використання: %s ЧИСЛО[СУФІКС]\n" #~ " або: %s КЛЮЧ\n" #~ "Призупиняє виконання на вказане ЧИСЛО секунд. СУФІКС може\n" #~ "приймати значення `s', що означає секунди (типове значення),\n" #~ "`m' -- хвилини, `h' -- години та `d' -- дні. На відміну від\n" #~ "інших реалізацій, які вимагають, щоб ЧИСЛО було цілим, тут воно\n" #~ "може бути довільним числом з плаваючою комою.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "неправильний інтервал часу %s" #~ msgid "cannot read realtime clock" #~ msgstr "не вдається прочитати значення таймеру реального часу" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Вивести сортоване сполучення усіх ФАЙЛ(ів) на стандартний вивід.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Ключі, що вказують порядок:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ігнорувати початкові пробіли\n" #~ " -d, --dictionary-order розглядати лише пропуски, літери та цифри\n" #~ " -f, --ignore-case ігнорувати регістр літер\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort порівнювати числа у загальному вигляді\n" #~ " -i, --ignore-nonprinting розглядати лише друковані знаки\n" #~ " -M, --month-sort порівнювати (невідомо) < `JAN' < ... < " #~ "`DEC'\n" #~ " -n, --numeric-sort порівнювати числові значення рядків\n" #~ " -R, --random-sort сортувати за випадковими хешами ключів\n" #~ " --random-source=FILE випадкові дані з ФАЙЛУ (типово з /dev/" #~ "urandom)\n" #~ " -r, --reverse зворотний порядок сортування\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Решта ключів:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first перевіряти, чи сортовані вхідні\n" #~ " файли; не сортувати\n" #~ " -C, --check=quiet, --check=silent як -c, але не повідомляти про перший\n" #~ " поганий рядок\n" #~ " --compress-program=ПРОГ стискати тимчасові файли командою ПРОГ;\n" #~ " розтискати командою ПРОГ -d\n" #~ " -k, --key=ПОЗ1[,ПОЗ2]\n" #~ " почати ключ в ПОЗ1 та завершити на ПОЗ2 (відлік від " #~ "1)\n" #~ " -m, --merge об'єднувати вже сортовані файли, не сортувати\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=ФАЙЛ виводити у ФАЙЛ, а не на стандартний вивід\n" #~ " -s, --stable стабілізувати сортування, виключивши перевірку на " #~ "рівність\n" #~ " -S, --buffer-size=РОЗМІР\n" #~ " використовувати в пам'яті буфер вказаного РОЗМІРУ\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=РОЗДІЛЮВАЧ\n" #~ " використовувати при пошуку ключових полів РОЗДІЛЮВАЧ, " #~ "а не\n" #~ " перехід від непробільних знаків до пробільних\n" #~ " -T, --temporary-directory=КАТАЛОГ\n" #~ " використовувати для тимчасових файлів КАТАЛОГ, а не " #~ "$TMPDIR\n" #~ " або %s; декілька таких ключів задають декілька " #~ "каталогів\n" #~ " -u, --unique з -c, суворо перевіряти порядок;\n" #~ " без -c, виводити лише перше серед кількох рівних\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated завершувати рядки нульовим байтом, а не " #~ "символом нового рядка\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "ПОЗиція вказується як П[.З][КЛЮЧ], де П -- номер поля, а З -- позиція\n" #~ "знаку у цьому поле. КЛЮЧ складається з однієї або кількох літер,\n" #~ "що вказують порядок сортування; він скасовує відповідні глобальні\n" #~ "ключі для цього ключового поля. Якщо ключове поле не вказано, у\n" #~ "якості ключа використовується цілий рядок.\n" #~ "\n" #~ "Після РОЗМІРУ можна вказувати наступні суфікси-мультиплікатори:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% пам'яті, b 1, k 1024 (типово), та так далі для M, G, T, P, E, Z, Y.\n" #~ "\n" #~ "Якщо ФАЙЛ не вказаний або вказаний як -, читає стандартний ввід.\n" #~ "\n" #~ "*** ПОПЕРЕДЖЕННЯ ***\n" #~ "Встановлена в середовищі локаль впливає на порядок сортування.\n" #~ "Щоб отримати традиційний порядок, що використовує системні значення " #~ "байт,\n" #~ "встановіть LC_ALL=C.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "очікування %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] аварійно завершений" #~ msgid "cannot create temporary file" #~ msgstr "не вдається створити тимчасовий файл" #~ msgid "open failed" #~ msgstr "операція відкриття завершилась помилкою" #~ msgid "fflush failed" #~ msgstr "операція fflush завершилась помилкою" #~ msgid "close failed" #~ msgstr "помилка закриття" #~ msgid "dup2 failed" #~ msgstr "помилка dup2" #~ msgid "couldn't execute %s" #~ msgstr "неможливо виконати %s" #~ msgid "couldn't create temporary file" #~ msgstr "не вдається створити тимчасовий файл" #~ msgid "couldn't open temporary file" #~ msgstr "не вдається відкрити тимчасовий файл" #~ msgid "couldn't execute %s -d" #~ msgstr "неможливо виконати %s -d" #~ msgid "write failed" #~ msgstr "запис завершився помилкою" #~ msgid "warning: cannot remove: %s" #~ msgstr "попередження, не вдається видалити: %s" #~ msgid "stat failed" #~ msgstr "операція stat завершилась помилкою" #~ msgid "read failed" #~ msgstr "помилка читання" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: неправильний порядок: " #~ msgid "standard error" #~ msgstr "стандартна помилка" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: неправильна специфікація поля %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "несумісні параметри `-%s'" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: неправильний лічильник на початку %s" #~ msgid "invalid number after `-'" #~ msgstr "неправильне число після `-'" #~ msgid "invalid number after `.'" #~ msgstr "неправильне число після `.'" #~ msgid "stray character in field spec" #~ msgstr "зайвий знак у специфікації поля" #~ msgid "multiple compress programs specified" #~ msgstr "вказано декілька програм стискання" #~ msgid "invalid number at field start" #~ msgstr "неправильне число на початку поля" #~ msgid "field number is zero" #~ msgstr "нульовий номер поля" #~ msgid "character offset is zero" #~ msgstr "нульовий знаковий зсув" #~ msgid "invalid number after `,'" #~ msgstr "неправильне число після `,'" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "додатковий операнд %s не припустимий з -%c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Використання: %s [КЛЮЧ] [ВХІД [ПРЕФІКС]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Виводить фіксовані за розміром частини ФАЙЛУ у файли ПРЕФІКСaa,\n" #~ "ПРЕФІКСab, ...; типово розмір частини дорівнює 1000 рядків, а ПРЕФІКС\n" #~ "дорівнює `x'. Якщо ФАЙЛ не вказаний або вказаний як -, читає " #~ "стандартний\n" #~ "ввід.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=Н використовувати суфікси довжини Н (типово %d)\n" #~ " -b, --bytes=ЧИСЛО записувати у кожен файл виводу вказане ЧИСЛО " #~ "байт\n" #~ " -C, --line-bytes=ЧИСЛО записувати не більше вказаного ЧИСЛА байт з " #~ "рядка\n" #~ " -d, --numeric-suffixes використовувати числові, а не алфавітні " #~ "суфікси\n" #~ " -l, --lines=ЧИСЛО записувати у кожен файл виводу вказане ЧИСЛО " #~ "рядків\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose виводити повідомлення у стандартний потік " #~ "помилок\n" #~ " перед відкриттям чергового файлу виводу\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Після РОЗМІР може стоять один з множників:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, та таке інше для T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "створюється файл %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "не можна розбивати одразу кількома методами" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: неправильна довжина суфіксу" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: неправильна кількість байт" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: неправильна кількість рядків" #~ msgid "line count option -%s%c... is too large" #~ msgstr "ключ кількості рядків -%s%c... надто великий" #~ msgid "invalid number of lines: 0" #~ msgstr "неправильна кількість рядків: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "попередження: керуюча послідовність `\\%c' не розпізнана" #~ msgid "%s: invalid directive" #~ msgstr "%s: неправильна директива" #~ msgid "warning: backslash at end of format" #~ msgstr "попередження: зворотна похила риска наприкінці формату" #~ msgid "cannot read file system information for %s" #~ msgstr "не вдається прочитати інформацію файлової системи для %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Використання: %s [КЛЮЧ] ФАЙЛ...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Відображає стан файлу або файлової системи.\n" #~ "\n" #~ " -L, --dereference слідувати за посиланням\n" #~ " -f, --file-system показати стан файлової системи, а не файлу\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=ФОРМАТ використовувати вказаний ФОРМАТ, а не типовий;\n" #~ " переводити рядок після кожного використання " #~ "ФОРМАТУ\n" #~ " --printf=FORMAT як --format, але інтерпретувати керуючі\n" #~ " послідовності та не переводити рядок " #~ "наприкінці.\n" #~ " Якщо потрібно переведення рядка, вставте у " #~ "ФОРМАТ \\n.\n" #~ " -t, --terse виводити інформацію у компактній формі\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Можливі форматні послідовності для файлів (без --file-system):\n" #~ "\n" #~ " %a Права доступу у вісімковій формі\n" #~ " %A Права доступу у текстовій формі\n" #~ " %b Число виділених блоків (дивіться %B)\n" #~ " %B Розмір блоку, що повідомляється %b, у байтах\n" #~ " %C рядок з контекстом безпеки SELinux\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Номер пристрою, десятковий\n" #~ " %D Номер пристрою, шістнадцятковий\n" #~ " %f Низькорівневий режим, шістнадцятковий\n" #~ " %F Тип файлу\n" #~ " %g ID групи-власника\n" #~ " %G Назва групи-власника\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Число жорстких посилань\n" #~ " %i Число Inode\n" #~ " %n Назва файлу\n" #~ " %N Екранована назва файлу, символьні посилання розіменовуються\n" #~ " %o Розмір блоку вводу/виводу\n" #~ " %s Повний розмір, у байтах\n" #~ " %t Основний тип пристрою, шістнадцятковий\n" #~ " %T Другорядний тип пристрою, шістнадцятковий\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u ID користувача-власника\n" #~ " %U Ім'я користувача-власника\n" #~ " %x Час останньої доступу\n" #~ " %X Час останньої доступу у секундах з початку Епохи\n" #~ " %y Час останньої зміни\n" #~ " %Y Час останньої зміни у секундах з початку Епохи\n" #~ " %z Час останньої зміни\n" #~ " %Z Час останньої зміни у секундах з початку Епохи\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Можливі форматні послідовності для файлових систем:\n" #~ "\n" #~ " %a Число вільних блоків, доступних для звичайного користувача\n" #~ " %b Повне число блоків даних у файловій системі\n" #~ " %c Повне число вузлів у файловій системі\n" #~ " %d Число вільних файлових вузлів у файловій системі\n" #~ " %f Число вільних блоків у файловій системі\n" #~ " %C рядок з контекстом безпеки SELinux\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Ідентифікатор файлової системи, шістнадцятковий\n" #~ " %l Максимальна довжина назви файлу\n" #~ " %n Назва файлу\n" #~ " %s Розмір блоку (для швидшої передачі)\n" #~ " %S Фундаментальний розмір блоку (для обліку блоків)\n" #~ " %t Тип, шістнадцятковий\n" #~ " %T Тип у текстовій формі\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Використання: %s [-F ПРИСТРІЙ] [--file=ПРИСТРІЙ] [ПАРАМЕТР]...\n" #~ " або: %s [-F ПРИСТРІЙ] [--file=ПРИСТРІЙ] [-a|--all]\n" #~ " або: %s [-F ПРИСТРІЙ] [--file=ПРИСТРІЙ] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Виводить або змінює встановлення терміналу.\n" #~ "\n" #~ " -a, --all вивести поточні параметри у текстовій формі\n" #~ " -g, --save вивести поточні параметри у формі, що зрозуміла " #~ "програмі\n" #~ " stty\n" #~ " -F, --file=ПРИСТРІЙ\n" #~ " відкрити та використовувати вказаний пристрій замість\n" #~ " стандартного вводу\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Необов'язковий знак мінус перед ПАРАМЕТРом означає зміну знаку. " #~ "Зірочкою\n" #~ "позначені параметри, не описані у стандарті POSIX. Доступність того чи\n" #~ "іншого параметру визначається системою, що використовується.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Спеціальні символи:\n" #~ "* dsusp СИМВОЛ СИМВОЛ буде надсилати терміналу сигнал зупинки при\n" #~ " завершенні вводу\n" #~ " eof СИМВОЛ СИМВОЛ буде означати кінець файлу (припинення вводу)\n" #~ " eol СИМВОЛ СИМВОЛ буде означати кінець рядка\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ "* eol2 СИМВОЛ інший СИМВОЛ для кінця рядка\n" #~ " erase СИМВОЛ СИМВОЛ буде стирати останній введений до нього\n" #~ " intr СИМВОЛ СИМВОЛ буде надсилати сигнал переривання\n" #~ " kill СИМВОЛ СИМВОЛ буде стирати поточний рядок\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ "* lnext СИМВОЛ СИМВОЛ буде вводити наступний символ, скасовуючи його\n" #~ " спеціальну дію\n" #~ " quit СИМВОЛ СИМВОЛ буде надсилати сигнал виходу\n" #~ "* rprnt СИМВОЛ СИМВОЛ буде перерисовувати поточний рядок\n" #~ " start СИМВОЛ СИМВОЛ буде відновлювати ввід\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop СИМВОЛ СИМВОЛ буде призупиняти ввід\n" #~ " susp СИМВОЛ СИМВОЛ буде надсилати терміналу сигнал зупинки\n" #~ "* swtch СИМВОЛ СИМВОЛ буде перемикати рівень складності оболонки\n" #~ "* werase СИМВОЛ СИМВОЛ буде стирати останнє введене слово\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Спеціальні параметри:\n" #~ "\n" #~ " Н встановити швидкість вводу та виводу у Н бод\n" #~ "* cols Н повідомити ядру, що термінал має Н стовпчиків\n" #~ "* columns Н синонім cols\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed Н встановити швидкість вводу\n" #~ "* line Н використовувати протокол лінії Н\n" #~ " min Н використовується з -icanon, встановити Н мінімальним " #~ "числом\n" #~ " символів для завершення операції читання\n" #~ " ospeed Н встановити швидкість виводу\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "* rows Н повідомити ядру, що термінал має Н рядків\n" #~ "* size вивести числа стовпчиків та рядків, відомі ядру\n" #~ " speed вивести швидкість терміналу\n" #~ " time Н використовується з -icanon, встановити часову межу для\n" #~ " операції читання рівним Н десятим секунди\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Параметри керування:\n" #~ " [-]clocal скасувати керуючі сигнали модему\n" #~ " [-]cread дозволити ввід\n" #~ "* [-]crtscts дозволити керування потоком з підтвердженням готовності\n" #~ " csН встановити розмір символу рівним Н біт, Н від 5 до 8\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb два біти розділення у символі (один, якщо з `-')\n" #~ " [-]hup надсилати сигнал обриву термінальної лінії, коли " #~ "останній\n" #~ " процес закриває термінал\n" #~ " [-]hupcl синонім [-]hup\n" #~ " [-]parenb генерувати при виводі біт парності та очікувати біт " #~ "парності\n" #~ " на вводі\n" #~ " [-]parodd встановити перевірку на парність (навіть з `-')\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Параметри вводу:\n" #~ " [-]brkint символ break буде викликати сигнал переривання\n" #~ " [-]icrnl перетворювати переведення каретки у переведення рядка\n" #~ " [-]ignbrk ігнорувати символи переривання\n" #~ " [-]igncr ігнорувати символи переведення каретки\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar ігнорувати символи з помилками парності\n" #~ "* [-]imaxbel при переповненні буферу вводу подавати звуковий сигнал " #~ "та\n" #~ " не скидати буфер, ігноруючи подальший ввід\n" #~ " [-]inlcr перетворювати переведення рядка у переведення каретки\n" #~ " [-]inpck використовувати перевірку парності вводу\n" #~ " [-]istrip очищати старший (восьмий) біт символів, що вводяться\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr " * [-]iutf8 вважати, що вхідні знаки у кодуванні UTF-8\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "* [-]iuclc перетворювати великі літери на малі\n" #~ "* [-]ixany дозволити будь-якому символу відновити ввід\n" #~ " [-]ixoff дозволити надсилання символів призупинення/відновлення\n" #~ " [-]ixon дозволити керування потоком даних\n" #~ " [-]parmrk відмічати помилки парності (послідовністю з 255 нулів)\n" #~ " [-]tandem синонім [-]xioff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Параметри виводу:\n" #~ "* bsН пауза після забою, діапазон Н [0..1]\n" #~ "* crН пауза після переведення каретки, діапазон Н [0..3]\n" #~ "* ffН пауза після переведення сторінки, діапазон Н [0..1]\n" #~ "* nlН пауза після нового рядка, діапазон Н [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "* [-]ocrnl перетворювати переведення каретки у переведення рядка\n" #~ "* [-]ofdel заповнювати символами затирання замість нулів\n" #~ "* [-]ofill використовувати символи заповнення для затримок\n" #~ "* [-]olcuc перетворювати маленькі літери на великі\n" #~ "* [-]onlcr перетворювати переведення рядка у переведення каретки\n" #~ "* [-]onlret переведення рядка призводить до переведення каретки\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ "* [-]onocr не виводити переведення каретки у першому стовпчику\n" #~ " [-]opost форматувати вивід\n" #~ "* tabН значення паузи після горизонтальної табуляції,\n" #~ " допустимі Н [0..3]\n" #~ "* tabs синонім tab0\n" #~ "* -tabs синонім tab3\n" #~ "* vtН пауза після вертикальної табуляції, діапазон Н [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Локальні параметри:\n" #~ " [-]crterase стирати символи як забиття-пробіл-забиття\n" #~ "* crtkill стирати весь рядок, згідно з параметрами echoprt та " #~ "echoe\n" #~ "* -crtkill стирати весь рядок, згідно з параметрами echoctl та " #~ "echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ "* [-]ctlecho відображати керуючі символи з шапкою (`^c')\n" #~ " [-]echo відображати символи, що вводяться\n" #~ "* [-]echoctl синонім [-]ctlecho\n" #~ " [-]echoe синонім [-]crterase\n" #~ " [-]echok відображати переведення рядка після символу знищення\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ "* [-]echoke синонім [-]crtkill\n" #~ " [-]echonl відображати переведення рядка, навіть якщо інші символи " #~ "не\n" #~ " відображаються\n" #~ "* [-]echoprt виводити стерті символи у зворотному порядку, між `\\` та " #~ "'/'\n" #~ " [-]icanon використовувати спецсимволи erase, kill, werase, та " #~ "rprnt\n" #~ " [-]iexten використовувати спецсимволи, не описані у стандарті " #~ "POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig використовувати спецсимволи interrupt, quit, та suspend\n" #~ " [-]noflsh заборонити скидання буферу після прийому спецсимволів\n" #~ " interrupt та quit\n" #~ "* [-]prterase синонім [-]echoprt\n" #~ "* [-]tostop призупиняти фонові програми, що намагаються виконати " #~ "запис\n" #~ " на термінал\n" #~ "* [-]xcase відображати `\\' для великих літер, вживається з icanon\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Об'єднані параметри:\n" #~ "* [-]LCASE синонім [-]lcase\n" #~ " cbreak синонім -icanon\n" #~ " -cbreak синонім icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked синонім brkint ignpar istrip icrnl ixon opost isig " #~ "icanon,\n" #~ " символи eof та eol мають типове значення\n" #~ " -cooked синонім raw\n" #~ " crt синонім echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec синонім echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ "* [-]decctlq синонім [-]ixany\n" #~ " ek встановити типові значення для символів erase та kill\n" #~ " evenp синонім parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp синонім -parenb cs8\n" #~ "* [-]lcase синонім xcase iuclc olcuc\n" #~ " litout синонім -parenb -istrip -opost cs8\n" #~ " -litout синонім parenb istrip opost cs7\n" #~ " nl синонім -icrnl -onlcr\n" #~ " -nl синонім icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp синонім parenb parodd cs7\n" #~ " -oddp синонім -parenb cs8\n" #~ " [-]parity синонім [-]evenp\n" #~ " pass8 синонім -parenb -istrip cs8\n" #~ " -pass8 синонім parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw синонім -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw синонім cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane синонім cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, всі спецсимволи\n" #~ " мають типове значення\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Керує термінальною лінією, що підключена до стандартного вводу. " #~ "Запущена\n" #~ "без аргументів, виводить швидкість передачі інформації, line discipline " #~ "та\n" #~ "відмінності від звичайних параметрів. В параметрах, СИМВОЛИ трактуються\n" #~ "буквально або вказуються у як ^c, 0x37, 0177 або 127; для скасування\n" #~ "спеціальних символів служать значення ^- та undef.\n" #~ msgid "only one device may be specified" #~ msgstr "можна вказати лише одне пристрій" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "ключі для виводу у текстовому та виводі, зрозумілому програмі stty,\n" #~ "виключають один одного" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "при вказуванні стилю виводу не можна встановлювати режим" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: не вдається переініціалізувати неблокуючий режим" #~ msgid "invalid argument %s" #~ msgstr "неправильний аргумент %s" #~ msgid "missing argument to %s" #~ msgstr "пропущений аргумент для %s" #~ msgid "invalid line discipline %s" #~ msgstr "неправильна line discipline %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: не вдається виконати всі запитані дії" #~ msgid "new_mode: mode\n" #~ msgstr "новий_режим: режим\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: для цього пристрою немає відомостей про розмір" #~ msgid "invalid integer argument %s" #~ msgstr "неправильний цілий аргумент %s" #~ msgid "Password:" #~ msgstr "Пароль:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: не вдається відкрити /dev/tty" #~ msgid "cannot set groups" #~ msgstr "не вдається встановити групи" #~ msgid "cannot set group id" #~ msgstr "не вдається встановити груповий id" #~ msgid "cannot set user id" #~ msgstr "не вдається встановити id користувача" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Використання: %s [КЛЮЧ]... [-] [КОРИСТУВАЧ [АРГ]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Встановлює ефективні id користувача та групи як у КОРИСТУВАЧА.\n" #~ "\n" #~ " -, -l, --login використовувати оболонку як оболонку " #~ "входу\n" #~ " -c, --command=КОМАНДА передати оболонці КОМАНДУ за допомогою -c\n" #~ " -f, --fast передати оболонці -f (для csh або tcsh)\n" #~ " -m, --preserve-environment не перевстановлювати змінні оточення\n" #~ " -p синонім для -m\n" #~ " -s, --shell=ОБОЛОНКА запустити ОБОЛОНКУ, якщо дозволяє /etc/" #~ "shells\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Просто знак мінус означає -l. Якщо КОРИСТУВАЧ не вказаний,\n" #~ "вважається root.\n" #~ msgid "user %s does not exist" #~ msgstr "користувач %s не існує" #~ msgid "incorrect password" #~ msgstr "неправильний пароль" #~ msgid "using restricted shell %s" #~ msgstr "використовується обмежена оболонка %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "попередження: не вдається змінити каталог на %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Виводить контрольну суму та число блоків для кожного ФАЙЛУ.\n" #~ "\n" #~ " -r використовувати метод обчислення контрольних сум BSD,\n" #~ " розмір блоку 1K\n" #~ " -s, --sysv використовувати метод обчислення контрольних сум System " #~ "V,\n" #~ " розмір блоку 512 байт\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Записує змінені блоки на диск, оновлює суперблок\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "всі аргументи проігноровані" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "ПРИМІТКА: ваша оболонка може надавати свою версію %s, яка\n" #~ "звичайно перекриває версію, описану тут. Зверніться до\n" #~ "документації з вашої оболонки, щоб дізнатись, які ключі вона\n" #~ "підтримує.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help показати цю довідку та вийти\n" #~ msgid " --version output version information and exit\n" #~ msgstr "" #~ " --version показати інформацію про версію та вийти\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Звіти про помилки надсилайте до <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Виводить ФАЙЛИ на стандартний вивід, починаючи з останньої рядка.\n" #~ "Якщо ФАЙЛ не вказаний або вказаний як -, читає стандартний ввід.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before приєднати розділювач до початку, а не до " #~ "кінця\n" #~ " -r, --regex сприймати розділювач як регулярний вираз\n" #~ " -s, --separator=РЯДОК вказати розділювачем РЯДОК, а не знак `\\n'\n" #~ msgid "%s: seek failed" #~ msgstr "%s: помилка переміщення по файлу" #~ msgid "record too large" #~ msgstr "запис надто великий" #~ msgid "cannot create temporary file %s" #~ msgstr "не вдається створити тимчасовий файл %s" #~ msgid "cannot open %s for writing" #~ msgstr "не вдається відкрити %s для запису" #~ msgid "%s: write error" #~ msgstr "%s: помилка запису" #~ msgid "separator cannot be empty" #~ msgstr "розділювач не може бути порожнім" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Виводить останні %d рядків кожного з ФАЙЛІВ на стандартний вивід.\n" #~ "Якщо задано декілька ФАЙЛІВ, спочатку виводить заголовок з назвою файлу.\n" #~ "Якщо ФАЙЛ не вказаний або вказаний як -, читає стандартний ввід.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry продовжувати спроби відкриття файлу, навіть " #~ "якщо\n" #~ " він недоступний під час запуску коли tail, або " #~ "якщо\n" #~ " він став недоступний пізніше; корисно лише " #~ "при\n" #~ " стеженні за назвою, наприклад, при --" #~ "follow=назва\n" #~ " -c, --bytes=Н виводити останні Н байт, або користуйтесь +N " #~ "для\n" #~ " виводу байтів, що починаються з N-ї кожного " #~ "файлу\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " виводити дані, що надходять, при зростанні " #~ "файлу;\n" #~ " -f, --follow та --follow=descriptor " #~ "еквівалентні\n" #~ " -F еквівалент --follow=name --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=Н виводити останні Н рядків, а не останні %d\n" #~ " --max-unchanged-stats=Н\n" #~ " c ключем --follow=name, повторно відкривати\n" #~ " ФАЙЛ, який не змінився останні Н (типово %d)\n" #~ " ітерацій, щоб перевірити, чи не був він " #~ "видалений\n" #~ " або перейменований (таке звичайно буває при\n" #~ " ротації системних протокольних файлів)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID з ключем -f, перерватися, коли процес PID\n" #~ " завершує роботу\n" #~ " -q, --quiet, --silent не виводити заголовки з назвами файлів\n" #~ " -s, --sleep-interval=З з ключем -f, перевіряти отримання нових даних\n" #~ " приблизно кожні З секунд (типово 1)\n" #~ " -v, --verbose завжди виводити заголовки з назвами файлів\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Якщо першим знаком у Н (числі байт або рядків) є `+', то виводити\n" #~ "з Н-ного байту (або рядка) від початку кожного файлу, інакше виводити\n" #~ "останні Н байт (або рядків). Н може мати суфікс-множник: b 512, kB 1000, " #~ "K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, та таке інше для T, P, E, Z, Y.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "З ключем --follow (-f), tail типово слідує за дескриптором файлу, що\n" #~ "означає, що навіть якщо файл перейменований, tail буде та далі " #~ "слідкувати\n" #~ "за його кінцем." #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Така типова поведінка небажана, якщо ви насправді хочете слідкувати\n" #~ "за справжньою назвою файлу, а не за дескриптором (приклад -\n" #~ "-- ротація протокольних файлів). У такому випадку використовуйте\n" #~ "--follow=name. Це змусить tail слідувати за вказаним файлом, повторно\n" #~ "відкриваючи його періодично, щоб дізнатись, чи не був він видалений та\n" #~ "заново створений іншою програмою.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "закриття %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: не вдається перемістити вказівник позиції на %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: не вдається перемістити вказівник позиції на %s відносно кінця" #~ msgid "%s has become inaccessible" #~ msgstr "%s став недоступний" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s був замінений файлом, для якого tail незастосовний; кінець виводу для " #~ "цієї назви" #~ msgid "%s has become accessible" #~ msgstr "%s став доступний" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s з'явився; початий вивід для нового файлу" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s був заміщений; вивід продовжується для нового файлу" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: не вдається змінити неблокуючий режим" #~ msgid "%s: file truncated" #~ msgstr "%s: файл обрізаний" #~ msgid "no files remaining" #~ msgstr "більше немає файлів" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: не можна стежити за кінцем файлу такого типу; вивід продовжується для " #~ "нового файлу" #~ msgid "number in %s is too large" #~ msgstr "число у %s надто велике" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: неправильна максимальна кількість не змінених параметрів між " #~ "відкриттями" #~ msgid "%s: invalid PID" #~ msgstr "%s: неправильний PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: неправильне число секунд" #~ msgid "option used in invalid context -- %c" #~ msgstr "параметр використовує неправильний контекст -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "попередження: ключ --retry корисний лише при слідуванні за назвою файлу" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "попередження: PID ігнорований; ключ --pid=PID корисний лише при слідуванні" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "попередження: --pid=PID не підтримується на цій системі" #~ msgid "cannot follow %s by name" #~ msgstr "не вдається слідувати за %s за назвою" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "" #~ "попередження: нескінченне стеження за стандартним вводом неефективне" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Копіює стандартний ввід у кожен ФАЙЛ, а також у стандартний вивід.\n" #~ "\n" #~ " -a, --append дописати у вказані ФАЙЛИ\n" #~ " -i, --ignore-interrupts ігнорувати сигнали переривання\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Якщо ФАЙЛ вказаний як -, копіює знову у стандартний вивід.\n" #~ msgid "missing argument after %s" #~ msgstr "пропущений аргумент після %s" #~ msgid "invalid integer %s" #~ msgstr "неправильне ціле число %s" #~ msgid "')' expected" #~ msgstr "очікується `)'" #~ msgid "')' expected, found %s" #~ msgstr "очікується `)', виявлено %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: очікується унарний оператор" #~ msgid "-nt does not accept -l" #~ msgstr "-nt не допускає -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef не допускає -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot не допускає -l" #~ msgid "unknown binary operator" #~ msgstr "невідомий двійковий оператор" #~ msgid "%s: binary operator expected" #~ msgstr "%s: очікується двійковий оператор" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Використання: test ВИРАЗ\n" #~ " або: test\n" #~ " або: [ ВИРАЗ ]\n" #~ " або: [ ]\n" #~ " або: [ КЛЮЧ\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "Вихідний статус визначається ВИРАЗОМ.\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Якщо ВИРАЗ не вказаний, він вважається хибним. У іншому випадку\n" #~ "ВИРАЗ може бути істинним або хибним; він встановлює статус\n" #~ "завершення програми. Код завершення визначається наступним образом:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( ВИРАЗ ) ВИРАЗ істинний\n" #~ " ! ВИРАЗ ВИРАЗ хибний\n" #~ " ВИРАЗ1 -a ВИРАЗ2 ВИРАЗ1 та ВИРАЗ2 обидва істинні\n" #~ " ВИРАЗ1 -o ВИРАЗ2 ВИРАЗ1 або ВИРАЗ2 істинний\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n РЯДОК довжина РЯДКА відмінна від нуля\n" #~ " РЯДОК еквівалентно -n РЯДОК\n" #~ " -z РЯДОК довжина РЯДКА дорівнює нулю\n" #~ " РЯДОК1 = РЯДОК2 рядки еквівалентні\n" #~ " РЯДОК1 != РЯДОК2 рядки не еквівалентні\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ЦІЛЕ1 -eq ЦІЛЕ2 ЦІЛЕ1 дорівнює ЦІЛОМУ2\n" #~ " ЦІЛЕ1 -ge ЦІЛЕ2 ЦІЛЕ1 більше або дорівнює ЦІЛОМУ2\n" #~ " ЦІЛЕ1 -gt ЦІЛЕ2 ЦІЛЕ1 більше ЦІЛОГО2\n" #~ " ЦІЛЕ1 -le ЦІЛЕ2 ЦІЛЕ1 менше або дорівнює ЦІЛОМУ2\n" #~ " ЦІЛЕ1 -lt ЦІЛЕ2 ЦІЛЕ1 менше ЦІЛОГО2\n" #~ " ЦІЛЕ1 -ne ЦІЛЕ2 ЦІЛЕ1 відмінне від ЦІЛОГО2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " ФАЙЛ1 -ef ФАЙЛ2 ФАЙЛ1 та ФАЙЛ2 мають одинакові пристрої та номери " #~ "inode\n" #~ " ФАЙЛ1 -nt ФАЙЛ2 ФАЙЛ1 змінювався пізніше ніж ФАЙЛ2\n" #~ " ФАЙЛ1 -ot ФАЙЛ2 ФАЙЛ1 створений пізніше ніж ФАЙЛ2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b ФАЙЛ ФАЙЛ існує та є спеціальним з блочним доступом\n" #~ " -c ФАЙЛ ФАЙЛ існує та є спеціальним з символьним доступом\n" #~ " -d ФАЙЛ ФАЙЛ існує та є каталогом\n" #~ " -e ФАЙЛ ФАЙЛ існує\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f ФАЙЛ ФАЙЛ існує та є звичайним файлом\n" #~ " -g ФАЙЛ ФАЙЛ існує та має ознака set-group-ID\n" #~ " -G ФАЙЛ ФАЙЛ існує та належить поточної ефективній групі\n" #~ " -h ФАЙЛ ФАЙЛ існує та є символьним посиланням (еквівалент -L)\n" #~ " -k ФАЙЛ ФАЙЛ існує та має ознака sticky\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L ФАЙЛ ФАЙЛ існує та є символьним посиланням (еквівалент -h)\n" #~ " -O ФАЙЛ ФАЙЛ існує та належить поточному ефективному користувачу\n" #~ " -p ФАЙЛ ФАЙЛ існує та є іменованим каналом\n" #~ " -r ФАЙЛ ФАЙЛ існує доступний для читання\n" #~ " -s ФАЙЛ ФАЙЛ існує та має ненульовий розмір\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S ФАЙЛ ФАЙЛ існує та є сокетом\n" #~ " -t [ДФ] дескриптор файлу ДФ відкритий на терміналі\n" #~ " -u ФАЙЛ ФАЙЛ існує та має ознака set-user-ID\n" #~ " -w ФАЙЛ ФАЙЛ існує та доступний для запису\n" #~ " -x ФАЙЛ ФАЙЛ існує та є виконуваним\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Всі тести, що відносяться до ФАЙЛУ, крім -h та -L розіменовують\n" #~ "символьні посилання. Пам'ятайте, що ви повинні скасувати спеціальне\n" #~ "значення дужок для командного інтерпретатора (наприклад, за допомогою\n" #~ "знаку `\\'). ЦІЛЕ може також бути вказане як \"-l РЯДОК\", при цьому\n" #~ "воно приймає значення довжини РЯДКА.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "ПРИМІТКА: [ притримується параметрів --help та --version options, але " #~ "тест - ні.\n" #~ "інтерпретує кожен з цих параметрів як будь-який непорожній рядок.\n" #~ msgid "test and/or [" #~ msgstr "test та/або [" #~ msgid "missing `]'" #~ msgstr "пропущена `]'" #~ msgid "extra argument %s" #~ msgstr "зайвий аргумент %s" #~ msgid "creating %s" #~ msgstr "створюється %s" #~ msgid "cannot touch %s" #~ msgstr "не вдається виконати touch для %s" #~ msgid "setting times of %s" #~ msgstr "встановлення тимчасових позначок %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Оновити час доступу та час зміни кожного ФАЙЛУ у поточний час.\n" #~ "\n" #~ "Аргумент ФАЙЛ, що не існує створюється як порожній.\n" #~ "\n" #~ "Якщо у аргументі ФАЙЛ вказано символ - він обробляється особливим чином\n" #~ "та призводить до зміни кількості файлів, пов'язаних зі стандартним " #~ "потоком виводу.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a змінювати лише час доступу\n" #~ " -c, --no-create не створювати файлів\n" #~ " -d, --date=STRING проаналізувати STRING та використовувати " #~ "замість\n" #~ " поточного часу\n" #~ " -f (ігнорується)\n" #~ " -m змінювати лише час зміни\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=ФАЙЛ використовувати час ФАЙЛУ замість поточного\n" #~ " -t Час використовувати [[ВВ]РР]ММДДггхх[.сс] замість\n" #~ " поточного часу\n" #~ " --time=СЛОВО змінити вказаний час:\n" #~ " СЛОВО access, atime, use еквівалентно -a\n" #~ " СЛОВО modify, mtime еквівалентно -m\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Зауважте, що ключі -d та -t сприймають різні формати дати та часу.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "не вдається вказати час з кількох джерел" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "попередження: `touch %s' застарів; використовуйте `touch -t %04ld%02d%02d%" #~ "02d%02d.%02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Використання: %s [КЛЮЧ]... НАБІР1 [НАБІР2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Перетворює, ущільнює та/або видаляє знаки зі стандартного вводу та\n" #~ "виводить на стандартний вивід.\n" #~ "\n" #~ " -c, -C, --complement спочатку отримати доповнення ТАБЛИЦІ1\n" #~ " -d, --delete видаляти знаки з ТАБЛИЦІ1, не перетворювати\n" #~ " -s, --squeeze-repeats заміщати послідовності знаків, що повторюються, " #~ "з\n" #~ " перелічених у ТАБЛИЦІ1 на єдиний такий знак\n" #~ " -t, --truncate-set1 спочатку скоротити ТАБЛИЦЮ1 до розміру " #~ "ТАБЛИЦІ2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "ТАБЛИЦі вказуються як символьні рядки. У багатьох випадках символи\n" #~ "представляють самі себе. Приймаються наступні послідовності:\n" #~ "\n" #~ " \\ННН знак з вісімковим кодом ННН (від 1 до 3 цифр)\n" #~ " \\\\ зворотна похила риска\n" #~ " \\a звуковий сигнал\n" #~ " \\b забиття\n" #~ " \\f переведення сторінки\n" #~ " \\n новий рядок\n" #~ " \\r переведення каретки\n" #~ " \\t горизонтальна табуляція\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v вертикальна табуляція\n" #~ " ЗНАК1-ЗНАК2 всі знаки від ЗНАК1 до ЗНАК2 у порядку зростання\n" #~ " [ЗНАК*] ЗНАК заповнює ТАБЛИЦЮ2 до довжини ТАБЛИЦІ1\n" #~ " [ЗНАК*ЧИСЛО] вказане ЧИСЛО однакових ЗНАКІВ; ЧИСЛО вісімкових, якщо\n" #~ " починається з 0\n" #~ " [:alnum:] всі літери та цифри\n" #~ " [:alpha:] всі літери\n" #~ " [:blank:] всі горизонтальні пробільні символи\n" #~ " [:cntrl:] всі керуючі знаки\n" #~ " [:digit:] всі цифри\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] всі друковані знаки, за винятком пробілу\n" #~ " [:lower:] всі маленькі літери\n" #~ " [:print:] всі друковані знаки, включно з пробілом\n" #~ " [:punct:] всі знаки пунктуації\n" #~ " [:space:] всі вертикальні або горизонтальні пробільні знаки\n" #~ " [:upper:] всі великі літери\n" #~ " [:xdigit:] всі шістнадцяткові цифри\n" #~ " [=ЗНАК=] всі знаки, еквівалентні ЗНАКУ\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Якщо вказані обидві ТАБЛИЦі, та не вказаний -d, виконується " #~ "перетворення. Ключ -t\n" #~ "може використовуватись лише при перетворенні. ТАБЛИЦЯ2 розширюється до\n" #~ "розміру ТАБЛИЦІ1 шляхом повторення останньої знаку. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Надлишкові знаки\n" #~ "ТАБЛИЦІ2 ігноруються. Лише [:lower:] та [:upper:] гарантовано сортовані " #~ "у\n" #~ "порядку зростання, їх можна використовувати лише парно, для позначення\n" #~ "зміни регістру. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "Якщо не вказано ані перетворення, ані видалення, ключ -s використовує\n" #~ "ТАБЛИЦЮ1, інакше при ущільненні використовується ТАБЛИЦЯ2. Ущільнення " #~ "виконується\n" #~ "після перетворення або видалення.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "попередження: неоднозначна вісімкова послідовність \\%c%c%c трактується\n" #~ "як двобайтова послідовність \\0%c%c, %c" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "попередження: неекранована зворотна похила риска наприкінці формату не є " #~ "переносимою" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "неправильний порядок меж діапазону `%s-%s'" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "неправильно вказана кількість повторів %s у конструкції [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "пропущено назву класу знаків `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "пропущений знак класу еквівалентності `[==]'" #~ msgid "invalid character class %s" #~ msgstr "неправильний клас знаків %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "" #~ "%s: потрібно вказати один символ, що визначає клас еквівалентних йому" #~ msgid "too many characters in set" #~ msgstr "надто багато знаків у таблиці" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "конструкція [c*] не може використовуватись у ТАБЛИЦІ1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "у ТАБЛИЦІ2 може використовуватись лише одна конструкція [c*]" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "вираз [=c=] не може використовуватись у ТАБЛИЦІ2 при перетворенні" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "" #~ "якщо частина таблиці1 не відкидається, таблиця2 не повинна бути порожньою" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "при перетворенні з доповненням класів символів, ТАБЛИЦЯ2 повинна\n" #~ "ставити у відповідність всім символам доповнення рівно один символ" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "при перетворенні, у ТАБЛИЦІ2 можуть використовуватись лише\n" #~ "класи `upper' та `lower'" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "" #~ "конструкція [c*] може використовуватись у ТАБЛИЦІ2 лише при перетворенні" #~ msgid "Two strings must be given when translating." #~ msgstr "При перетворенні потрібно вказати дві таблиці." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "При видаленні без ущільнення повторів можна вказати дві лише одну таблицю." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "непарні конструкції [:upper:] та/або [:lower:]" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s [ аргументи командного рядка, що ігноруються ]\n" #~ " або: %s КЛЮЧ\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Завершення з успішним статусом." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Використання: %s [КЛЮЧ] [ФАЙЛ]\n" #~ "Виводити повністю сортований список, що відповідає частковому сортуванню\n" #~ "у заданому ФАЙЛІ. Якщо ФАЙЛ не вказаний або вказаний як -, читається\n" #~ "стандартний ввід.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: на вході міститься непарна кількість лексем" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: на вході міститься цикл:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Використання: %s [КЛЮЧ]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Виводить назву файлу для терміналу, що приєднаний до стандартному вводу.\n" #~ "\n" #~ " -s, --silent, --quiet не виводити, лише повернути код завершення\n" #~ msgid "not a tty" #~ msgstr "не tty" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Виводить певні відомості про систему. Якщо КЛЮЧ не вказаний,\n" #~ "вважається -s.\n" #~ "\n" #~ " -a, --all вивести всю інформацію, у наступному порядку,\n" #~ " крім -p та -i, якщо вони невідомі:\n" #~ " -s, --kernel-name вивести назву ядра\n" #~ " -n, --nodename вивести назву машини у мережі\n" #~ " -r, --release вивести номер випуску операційної системи\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version вивести версію ядра\n" #~ " -m, --machine вивести тип обладнання машини\n" #~ " -p, --processor вивести тип процесора або \"невідомо\"\n" #~ " -i, --hardware-platform вивести тип апаратної платформи або \"невідомо" #~ "\"\n" #~ " -o, --operating-system вивести назву операційної системи\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Вивести архітектуру машини.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "не вдається дізнатись назву системи" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Перетворює пробіли у ФАЙЛАХ у знаки табуляції та виводить на\n" #~ "стандартний вивід. Якщо ФАЙЛ не вказаний або вказаний як -, читається\n" #~ "стандартний ввід.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all перетворювати всі пробільні знаки, а не лише " #~ "початкові\n" #~ " --first-only перетворювати лише початкові пробільні знаки\n" #~ " (перекриває-a)\n" #~ " -t, --tabs=ЧИСЛО вживати табуляцію вказаної ширини, а не 8 (включає -" #~ "a)\n" #~ " -t, --tabs=СПИСОК використовувати заданий СПИСОК (розділених комами)\n" #~ " позицій табуляції (включає -a)\n" #~ msgid "tabs are too far apart" #~ msgstr "позиції табуляції надто далеко одна від одної" #~ msgid "tab stop value is too large" #~ msgstr "розмір табуляції надто великий" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Використання: %s [КЛЮЧ]... [ВХІД [ВИХІД]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Видаляє всі рядки, що повторюються, окрім одного рядка з ВХІД (або\n" #~ "стандартного вводу) та виводить на ВИХІД (або на стандартний вивід).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count виводити число повторів на початку кожного рядка\n" #~ " -d, --repeated виводити лише рядки, що повторюються\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=delimit-method] вивести всі рядки, що повторюються\n" #~ " delimit-method={none(типово),prepend,separate)}\n" #~ " Розділення виконується за порожніми рядками.\n" #~ " -f, --skip-fields=Н не порівнювати перші Н полів\n" #~ " -i, --ignore-case ігнорувати при порівнянні регістр\n" #~ " -s, --skip-chars=Н не порівнювати перші Н знаків\n" #~ " -u, --unique виводити лише рядки, що не повторюються\n" #~ " -z, --zero-terminated кінцеві рядки з 0 байту, без символу нового " #~ "рядка\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=Н порівнювати перші Н знаків рядків\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Полем вважається послідовність пробільних знаків, за якою\n" #~ "йдуть не пробільні знаки. Спочатку пропускаються поля, потім знаки.\n" #~ msgid "too many repeated lines" #~ msgstr "надто багато рядків, що повторюються" #~ msgid "invalid number of fields to skip" #~ msgstr "неправильна кількість полів, що пропускаються" #~ msgid "invalid number of bytes to skip" #~ msgstr "неправильна кількість байт, що пропускаються" #~ msgid "invalid number of bytes to compare" #~ msgstr "неправильна кількість байт, що порівнюються" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "вивід усіх рядків, що повторюються та числа повторів не має сенсу" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s ФАЙЛ\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Викликає функцію unlink для видалення вказаного ФАЙЛУ.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "не вдається видалити посилання %s" #~ msgid "couldn't get boot time" #~ msgstr "не вдається дізнатись час початкового завантаження" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s включений " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? включений " #~ msgid "???? days ??:??, " #~ msgstr "???? днів ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld день" #~ msgstr[1] "%ld дні" #~ msgstr[2] "%ld днів" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu користувач" #~ msgstr[1] "%lu користувачі" #~ msgstr[2] "%lu користувачів" #~ msgid ", load average: %.2f" #~ msgstr ", середня завантаженість: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Використання: %s [КЛЮЧ]... [ ФАЙЛ ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Виводить поточний час, спільний час безперервної роботи системи, число\n" #~ "користувачів у системі та середнє число завдань у черзі запуску за\n" #~ "останні 1, 5 та 15 хвилин.\n" #~ "Якщо ФАЙЛ не вказаний, використовується %s. Часто як ФАЙЛ вказують %s.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Виводить список підключених користувачів відповідно до ФАЙЛУ.\n" #~ "Якщо ФАЙЛ не вказаний, використовується %s. Часто у якості ФАЙЛУ\n" #~ "вказують %s.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Виводить число переведень рядків, слів та байт для кожного ФАЙЛУ та\n" #~ "сумарний рядок, якщо було вказано декілька ФАЙЛІВ. Якщо ФАЙЛ не\n" #~ "вказаний або вказаний як -, читає стандартний ввід.\n" #~ " -c, --bytes вивести число байт\n" #~ " -m, --chars вивести число знаків\n" #~ " -l, --lines вивести число переведень рядків\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=F читати вхід з файлів, вказаних\n" #~ " назвами, що завершують символом NUL у файлі F\n" #~ " -L, --max-line-length вивести довжину найбільшого рядка\n" #~ " -w, --words вивести число слів\n" #~ msgid " old " #~ msgstr "давно" #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "термінал=" #~ msgid "exit=" #~ msgstr "вихід=" #~ msgid "clock change" #~ msgstr "зміна часу" #~ msgid "run-level" #~ msgstr "рівень виконання" #~ msgid "last=" #~ msgstr "попередній=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "число користувачів=%lu\n" #~ msgid "NAME" #~ msgstr "НАЗВА" #~ msgid "LINE" #~ msgstr "ЛІНІЯ" #~ msgid "TIME" #~ msgstr "Час" #~ msgid "IDLE" #~ msgstr "НЕАКТИВНИЙ" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "КОМЕНТАР" #~ msgid "EXIT" #~ msgstr "ВИХІД" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Використання: %s [КЛЮЧ]... [ ФАЙЛ | АРГ1 АРГ2]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all еквівалент -b -d --login -p -r -t -T -u\n" #~ " -b, --boot час останнього звантаження системи\n" #~ " -d, --dead виводити мертві процеси\n" #~ " -H, --heading виводити рядок з заголовками стовпчиків\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login виводити процеси входу у систему\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup намагатись канонізувати назви вузлів через DNS\n" #~ " -m лише назва вузлі та користувач, пов'язані з\n" #~ " стандартним вводом\n" #~ " -p, --process виводити активні процеси, які породжені init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count всі назви та кількість підключених користувачів\n" #~ " -r, --runlevel виводити поточний рівень виконання\n" #~ " -s, --short виводити лише назву, лінію та час (приймається " #~ "типово)\n" #~ " -t, --time виводити останню зміна системного часу\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg додавати статус отримання повідомлень як +, - або ?\n" #~ " -u, --users перерахувати підключених користувачів\n" #~ " --message еквівалент -T\n" #~ " --writable еквівалент -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Якщо ФАЙЛ не вказаний, використовується %s. Часто як ФАЙЛ вказують %s.\n" #~ "Якщо вказані АРГ1 та АРГ2, вважається використання -m: наприклад `am i'\n" #~ "та `mom likes'.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Вивести ім'я користувача, що відповідає поточному ефективному id\n" #~ "користувача. Аналогічно виклику id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: не вдається визначити ім'я користувача для ID %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Використання: %s [РЯДОК]...\n" #~ " або: %s КЛЮЧ\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Безперервно виводити вказаний РЯДОК (РЯДКИ) або, якщо РЯДОК не вказано, " #~ "`y'.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Використання: %s КЛЮЧ ІМ'Я_КОРИСТУВАЧА КОМАНДА [АРГУМЕНТ]...\n" #~ " або: %s КЛЮЧ\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "операнд %s=%s не розпізнаний" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " групувати каталоги перед файлами\n" dc3dd-7.1.614/po/fr.gmo0000644000175000017500000001250111233346647014200 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  C {? 8 8 3-<a0IZ0t'+8:2m  3*,B2b!!"<Oi:"* !)( " %  $#' & % BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils-6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-05-31 11:33+0200 Last-Translator: kerb Language-Team: French MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: KBabel 1.11.4 BLOCS et BYTES peuvent être suivis d'un des suffixes multiplicatifs suivant:, xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 et ainsi de suite pour T, P, E, Z, Y. Chaque mot CLÉ peut être: Chaque symbole FLAG peut être : append mode d'accolage (n'a de sens que pour la sortie ; conv=notrunc suggéré) binaire utiliser les E/S binaires pour les données direct utiliser les E/S directes pour les données échec de répertoire à moins qu'un répertoire dsync utilise une E/S synchronisée pour les données noatime ne met pas à jour la date d'accès noctty ne pas assigner de terminal contrôleur à partir du fichier noerror continue même après des erreurs de lecture sync remplit chaque bloc lu par des nuls jusqu'à concurrence de la taille « ibs » ; avec block ou unblock, remplit avec des espaces au lieu de nuls fdatasync écrit physiquement les données en sortie avant la fin fsync pareil, mais écrit les métadonnées nofollow ne pas suivre les liens symboliques nolinks échoue si multiply-linked nonblock utiliser une E/S non bloquante sync identique mais aussi pour les métadonnées text utiliser les E/S textuelles pour les données %s: ne peut retrouver, %g s, %s/s Infinité BPour en savoir davantage, faites: « %s --help ». Erreur système inconnueUsage: %s [OPÉRANDE]... ou: %s OPTION ne peut combiner les options excl et nocreatne peut évaluer par fstat() %sne peut après tout contrer une anomalie du kernelfermeture du fichier d'entrée %sfermeture du fichier de sortie %sfdatasync a échoué pour %sfsync a échoue pour %sconversion invalidefanion d'entrée invalidenombre invalide %sfanion de sortie invalidefanion d'état invalidedébordement du décalage lors de la lecture du fichier %souverture de %sinitialisation des fanions pour %sentrée standardsortie standardopérande non reconnue %sAVERTISSEMENT: arrangement pour contourner bug de lseek dans le kernel pour le fichier (%s) de type mt_type=0x%0lx -- voir pour la liste des typesécriture vers %sPRIuMAXtruncating at % bytes in output file %stroncation à % octets dans le fichier de sortie %sdc3dd-7.1.614/po/eu.gmo0000644000175000017500000000176611233346647014215 0ustar amedicoamedico d &3 JUd t6'^w   Try `%s --help' for more information. Unknown system errorclosing input file %sclosing output file %sopening %sstandard inputstandard outputwriting to %sProject-Id-Version: coreutils-5.2.1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2005-01-04 20:27+0100 Last-Translator: Mikel Olasagasti Language-Team: Basque MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Saiatu `%s --help' erabiltzen informazio gehiagorako. Sistema-errore ezezaguna%s sarrera fitxategia itxitzen%s irteera fitxategia itxitzen%s irekitzensarrera estandarrairteera estandarra%s-ra idaztendc3dd-7.1.614/po/zh_CN.po0000644000175000017500000042055611233346647014443 0ustar amedicoamedico# simplified Chinese translation of fileutils. # Copyright (C) 1998, 2002 Free Software Foundation, Inc. # Yip Chi Lap , 1998. # Abel Cheung , 2002. # Anthony Fok , 2002. # Funda Wang , 2004, 2005. # msgid "" msgstr "" "Project-Id-Version: coreutils 6.1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2006-08-24 23:38+0800\n" "Last-Translator: Funda Wang \n" "Language-Team: Chinese (simplified) \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "无法创建目录 %s" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "请尝试执行“%s --help”来获取更多信息。\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "用法:%s [操作符]...\n" " 或:%s 选项\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "复制文件,并根据以下的选项将数据转换和格式化。\n" "\n" " bs=字节 强迫 ibs=<字节> 及 obs=<字节>\n" " cbs=字节 每次转换指定的<字节>\n" " conv=关键字 根据以逗号分隔的关键字表示的方式来转换文件\n" " count=块数目 只复制指定<块数目>的输入数据\n" " ibs=字节 每次读取指定的<字节>\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=文件 读取<文件>内容而非标准输入的数据\n" " iflag=标志 按照逗号分隔的符号列表读取\n" " obs=字节 每次写入指定的<字节>\n" " of=文件 将数据写入<文件>而不在标准输出显示\n" " oflag=标志 按照逗号分隔的符号列表写入\n" " seek=块数目 先略过以 obs 为单位的指定<块数目>的输出数据\n" " skip=块数目 先略过以 ibs 为单位的指定<块数目>的输入数据\n" " status=noxfer 禁止传送统计\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 #, fuzzy msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "<块数目>和<字节>可以加上以下的单位:\n" "xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,\n" "GB=1000000000,G=1073741824,还有 T、P、E、Z、Y 如此类推。\n" "每个<关键字>可以是:\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " notrunc 不截断输出文件\n" " ucase 将小写字符转换为大写\n" " swab 交换每一对输入数据字节\n" " noerror 读取数据发生错误后仍然继续\n" " sync 将每个输入数据块以 NUL 字符填满至 ibs 的大小;当配合 block\n" " 或 unblock 时,会以空格代替 NUL 字符填充\n" #: src/dc3dd.c:1174 #, fuzzy msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " notrunc 不截断输出文件\n" " ucase 将小写字符转换为大写\n" " swab 交换每一对输入数据字节\n" " noerror 读取数据发生错误后仍然继续\n" " sync 将每个输入数据块以 NUL 字符填满至 ibs 的大小;当配合 block\n" " 或 unblock 时,会以空格代替 NUL 字符填充\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "安装目录时不能用 strip 选项" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "未知的系统错误" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "无穷 B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ",%g 秒,%s/秒\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ",%g 秒,%s/秒\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "正在关闭输入文件 %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "正在关闭输出文件 %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 msgid "Split extensions exhausted" msgstr "" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "打开 %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 msgid "Verify FAILED" msgstr "" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "无法识别的操作数 %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "无效的日期 %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "日期格式 %s 无效" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "日期格式 %s 无效" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "日期格式 %s 无效" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "转换无效:%s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "无效的输入标志:%s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "无效的输出标志:%s" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "日期格式 %s 无效" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "无效的号码 %s" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "无法决定 %s 所在的设备及 inode" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "无法决定 %s 所在的设备及 inode" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "无法决定 %s 所在的设备及 inode" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "无法决定 %s 所在的设备及 inode" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "无法决定 %s 所在的设备及 inode" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "无法决定 %s 所在的设备及 inode" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "警告:暂时避免有关文件 (%s) 的 lseek 核心错误,文件的 mt_type=0x%0lx --\n" " 有关 mt_type 类型的列表请参考 " #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "读入 %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s:无法搜索" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "警告:指定来源文件%s多于一次" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "设置 %s 的时间" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "读取目录 %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "读取目录 %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "正在写入 %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, fuzzy, c-format msgid "fsync failed for %s" msgstr "无法保留%s的时间" #: src/dc3dd.c:3907 msgid "standard input" msgstr "标准输入" #: src/dc3dd.c:3938 msgid "standard output" msgstr "标准输出" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "无法 fstat %s" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "略过输出文件 %2$s 的最初 %1$s 个字节" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii 由 EBCDIC 转换至 ASCII\n" #~ " ebcdic 由 ASCII 转换至 EBCDIC\n" #~ " ibm 由 ASCII 转换至 alternated EBCDIC\n" #~ " block 将以 newline 作为结束字符的块的 newline 换成空格,直至空格\n" #~ " 填满 cbs 表示的大小\n" #~ " unblock 会将 cbs 大小的块中所有结束的空格删除,并转换为一个 newline 字" #~ "符\n" #~ " lcase 将大写字符转换为小写\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% 个被截断了的块\n" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "不可同时省略用户和所属组" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "无法比较文件名 %s 和 %s" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "警告:指定来源文件%s多于一次" #~ msgid "error writing %s" #~ msgstr "写入 %s 出错" #~ msgid "invalid argument %s for %s" #~ msgstr "%2$s 的参数 %1$s 无效" #~ msgid "ambiguous argument %s for %s" #~ msgstr "%2$s 的参数 %1$s 不明确" #~ msgid "Valid arguments are:" #~ msgstr "有效的参数为:" #, fuzzy #~ msgid "error closing file" #~ msgstr "正在关闭输入文件 %s" #~ msgid "write error" #~ msgstr "写入错误" #~ msgid "preserving permissions for %s" #~ msgstr "%s 的保留权限" #~ msgid "cannot stat %s" #~ msgstr "无法 stat %s" #~ msgid "regular empty file" #~ msgstr "普通空文件" #~ msgid "regular file" #~ msgstr "普通文件" #~ msgid "directory" #~ msgstr "目录" #~ msgid "block special file" #~ msgstr "块特殊文件" #~ msgid "character special file" #~ msgstr "字符特殊文件" #~ msgid "fifo" #~ msgstr "先进先出" #~ msgid "symbolic link" #~ msgstr "符号链接" #~ msgid "socket" #~ msgstr "套接字" #~ msgid "message queue" #~ msgstr "消息队列" #~ msgid "semaphore" #~ msgstr "信号量" #~ msgid "shared memory object" #~ msgstr "共享内存对象" #, fuzzy #~ msgid "typed memory object" #~ msgstr "共享内存对象" #~ msgid "weird file" #~ msgstr "古怪文件" #~ msgid "Address family for hostname not supported" #~ msgstr "主机名的地址家族不支持" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "名称解析有不可恢复的失败" #~ msgid "ai_family not supported" #~ msgstr "不支持 ai_family" #~ msgid "Memory allocation failure" #~ msgstr "内存分配失败" #~ msgid "No address associated with hostname" #~ msgstr "没有与主机名关联的地址" #~ msgid "Name or service not known" #~ msgstr "名称或服务未知" #~ msgid "ai_socktype not supported" #~ msgstr "不支持 ai_socktype" #~ msgid "System error" #~ msgstr "系统错误" #~ msgid "Processing request in progress" #~ msgstr "正在处理请求" #~ msgid "Request canceled" #~ msgstr "请求已取消" #~ msgid "Request not canceled" #~ msgstr "请求未取消" #~ msgid "All requests done" #~ msgstr "全部请求已完成" #~ msgid "Interrupted by a signal" #~ msgstr "被信号中断" #~ msgid "Parameter string not correctly encoded" #~ msgstr "参数字符串编码不正确" #~ msgid "Unknown error" #~ msgstr "未知错误" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s:选项“%s”不明确\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s:选项“--%s”不允许参数\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s:选项“%c%s”不允许参数\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s:选项“%s”需要参数\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s:无法识别的选项“--%s”\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s:无法识别的选项“%c%s”\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s:非法选项 -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s:无效选项 -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s:选项需要参数 -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s:选项“-W %s”不明确\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s:选项“-W %s”不允许参数\n" #~ msgid "cannot change permissions of %s" #~ msgstr "无法更改 %s 的权限" #~ msgid "cannot create directory %s" #~ msgstr "无法创建目录 %s" #~ msgid "memory exhausted" #~ msgstr "内存用尽" #~ msgid "unable to record current working directory" #~ msgstr "无法记录目前的工作目录" #~ msgid "failed to return to initial working directory" #~ msgstr "返回到初始工作目录失败" #~ msgid "`" #~ msgstr "“" #~ msgid "'" #~ msgstr "”" #~ msgid "%s: end of file" #~ msgstr "%s:文件结束" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "转换无效:%s" #, fuzzy #~ msgid "Invalid collation character" #~ msgstr "权限模式字符串 %2$s 中出现无效的字符 %1$s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "权限模式字符串 %2$s 中出现无效的字符 %1$s" #, fuzzy #~ msgid "Invalid back reference" #~ msgstr "权限模式字符串无效:%s " #, fuzzy #~ msgid "Invalid range end" #~ msgstr "权限模式字符串无效:%s " #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "内存用尽" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "转换无效:%s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "转换无效:%s" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "转换无效:%s" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "转换无效:%s" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "在 %s 进行递归操作十分危险" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "在 %s 进行递归操作十分危险(与 %s 相同)" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "设定 %s 的权限" #~ msgid "iconv function not usable" #~ msgstr "iconv 函数无法使用" #~ msgid "iconv function not available" #~ msgstr "iconv 函数不存在" #~ msgid "character out of range" #~ msgstr "字符值超出可接受的范围以外" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "无法将 U+%04X 转换至用户的字符集" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "无法将 U+%04X 转换至用户的字符集:%s" #~ msgid "invalid user" #~ msgstr "无效的用户" #~ msgid "invalid group" #~ msgstr "无效的组" #~ msgid "invalid spec" #~ msgstr "无效的 spec" #~ msgid "(C)" #~ msgstr "(C)" #~ msgid "Written by %s.\n" #~ msgstr "由 %s 编写。\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "由 %s 和 %s 编写。\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "由 %s、%s 和 %s 编写。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "由 %s、%s、%s 和\n" #~ "%s 编写。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "由 %s、%s、%s、\n" #~ "%s 和 %s 编写。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "由 %s、%s、%s、\n" #~ "%s、%s 和 %s 编写。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "由 %s、%s、%s、\n" #~ "%s、%s、%s 和 %s 编写。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "由 %s、%s、%s、\n" #~ "%s、%s、%s、%s\n" #~ "和 %s 编写。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "由 %s、%s、%s、\n" #~ "%s、%s、%s、%s、\n" #~ "%s、和 %s 编写。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "由 %s、%s、%s、\n" #~ "%s、%s、%s、%s、\n" #~ "%s、%s、和其他人编写。\n" #~ msgid "invalid argument: %s" #~ msgstr "无效的参数:%s" #~ msgid "string comparison failed" #~ msgstr "字符串比较出现错误" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "请设定 LC_ALL='C' 避免问题出现。" #~ msgid "The strings compared were %s and %s." #~ msgstr "要比较的字符串为 %s 和 %s。" #~ msgid "string transformation failed" #~ msgstr "字符串转换失败" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "无效参数 %s" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "无效的浮点参数:%s" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s:文件过大" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help 显示此帮助并退出。\n" #~ " --version 输出版本信息并退出\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "如果[文件]缺省,或者[文件]为 - ,则读取标准输入。\n" #~ msgid "read error" #~ msgstr "读取错误" #~ msgid "invalid input" #~ msgstr "无效的输入" #~ msgid "invalid wrap size: %s" #~ msgstr "无效的换行字符数:%s" #~ msgid "extra operand %s" #~ msgstr "额外的操作数 %s" #~ msgid "closing standard input" #~ msgstr "关闭标准输入" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 名称 [后缀]\n" #~ " 或:%s 选项\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "去掉前导的目录部分后打印“名称”。\n" #~ "如果指定的话,还会去掉尾随的“后缀”。\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "示例:\n" #~ " %s /usr/bin/sort 输出“sort”。\n" #~ " %s include/stdio.h .h 输出“stdio”。\n" #~ msgid "missing operand" #~ msgstr "缺少操作数" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "用法:%s [选项] [文件]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "将[文件]或标准输入组合输出到标准输出。\n" #~ "\n" #~ " -A, --show-all 等价于 -vET\n" #~ " -b, --number-nonblank 对非空输出行编号\n" #~ " -e 等价于 -vE\n" #~ " -E, --show-ends 在每行结束处显示 $\n" #~ " -n, --number 对输出的所有行编号\n" #~ " -s, --squeeze-blank 不输出多行空行\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t 与 -vT 等价\n" #~ " -T, --show-tabs 将跳格字符显示为 ^I\n" #~ " -u (被忽略)\n" #~ " -v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "示例:\n" #~ " %s f - g 先输出 f 的内容,然后输出标准输入的内容,最后输出 g 的内容。\n" #~ " %s 将标准输入的内容复制到标准输出。\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "无法在 %s 上执行 ioctrl" #~ msgid "%s: input file is output file" #~ msgstr "%s:输入文件是输出文件" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "更改 %s 的所有者为失败\n" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "无法取得 %s 的属性" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "无法更改 %s 的所有者为 %s\n" #~ msgid "cannot access %s" #~ msgstr "无法访问 %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "无法读取目录 %s" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "更改 %s 的权限" #~ msgid "fts_read failed" #~ msgstr "fts_read 失败" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "用法:%s [选项]... 模式[,模式]... 文件...\n" #~ " 或:%s [选项]... 八进制模式 文件...\n" #~ " 或:%s [选项]... --reference=参考文件 文件...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "将每个[文件]的所属组设定为[组]。\n" #~ "如果使用 --reference,则将每个[文件]的所属组设定为与[参考文件]相同。\n" #~ "\n" #~ " -c, --changes 像 --verbose,但只在有更改时才显示结果\n" #~ " --dereference 会影响符号链接所指示的对象,而非符号链接本身(默认" #~ "值)\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的错误信息\n" #~ " --reference=参考文件 使用<参考文件>的所属组,而非指定的<组>\n" #~ " -R, --recursive 递归处理所有的文件及子目录\n" #~ " -v, --verbose 处理任何文件都会显示信息\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference 需要 -H 或 -L 其中之一" #~ msgid "-R -h requires -P" #~ msgstr "-R -h 需要 -P" #~ msgid "missing operand after %s" #~ msgstr "%s 后缺少操作数" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "无效模式:%s" #~ msgid "failed to get attributes of %s" #~ msgstr "无法取得 %s 的属性" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "无效的组 %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "用法:%s [选项]... 组 文件...\n" #~ " 或:%s [选项]... --reference=参考文件 文件...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "将每个[文件]的所属组设定为[组]。\n" #~ "如果使用 --reference,则将每个[文件]的所属组设定为与[参考文件]相同。\n" #~ "\n" #~ " -c, --changes 像 --verbose,但只在有更改时才显示结果\n" #~ " --dereference 会影响符号链接所指示的对象,而非符号链接本身(默认" #~ "值)\n" #, fuzzy #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地\n" #~ " (当系统支持更改符号链接的所有者,此选项才有效)\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root 不特殊对待“/”(默认值)\n" #~ " --preserve-root 不允许在“/”上递归操作\n" #~ " -r, -R, --recursive 递归删除目录及其内容\n" #~ " -v, --verbose 详细显示进行的步骤\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的错误信息\n" #~ " --reference=参考文件 使用<参考文件>的所属组,而非指定的<组>\n" #~ " -R, --recursive 递归处理所有的文件及子目录\n" #~ " -v, --verbose 处理任何文件都会显示信息\n" #~ msgid "getting new attributes of %s" #~ msgstr "检查 %s 的新属性" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "符号链接 %s 和该链接所指示的对象都没有更改\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "%s 的权限模式已更改为 %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "无法将 %s 的权限模式更改为 %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "%s 的权限模式保留为 %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "无法创建符号链接 %s" #~ msgid "changing permissions of %s" #~ msgstr "更改 %s 的权限" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s:新的权限为 %s,而非 %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "用法:%s [选项]... 模式[,模式]... 文件...\n" #~ " 或:%s [选项]... 八进制模式 文件...\n" #~ " 或:%s [选项]... --reference=参考文件 文件...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "将每个[文件]的模式更改为[模式]。\n" #~ "\n" #~ " -c, --changes 类似 --verbose,但只在有更改时才显示结果\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的错误信息\n" #~ " -v, --verbose 处理任何文件都会显示信息\n" #~ " --reference=参考文件 使用[参考文件]的模式,而非自行指定权限模式\n" #~ " -R, --recursive 以递归方式更改所有的文件及子目录\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "无法组合使用 mode 和 --reference 选项" #~ msgid "invalid mode: %s" #~ msgstr "无效模式:%s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "%s 的所有者已更改为 %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "%s 的所属组已更改为 %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "%s 的归属关系未更改\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "无法更改 %s 的所有者为 %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "无法更改 %s 的所属组为 %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "更改 %s 的所有者为失败\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "%s 的所有者已保留为 %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "%s 的所属组已保留为 %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "%s 的所有者已保留\n" #~ msgid "cannot dereference %s" #~ msgstr "无法取消 %s 的引用" #~ msgid "changing ownership of %s" #~ msgstr "正在更改 %s 的所有者" #~ msgid "changing group of %s" #~ msgstr "正在更改 %s 的所属组" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "用法:%s [选项]... [所有者][:[组]] 文件...\n" #~ " 或:%s [选项]... --reference=参考文件 文件...\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "更改每个 <文件> 的 <所有者> 和/或 <所属组>。\n" #~ "\n" #~ " -c, --changes 类似 verbose,但只在有更改时才显示结果\n" #~ " --dereference 受影响的是符号链接所指示的对象,而非符号链接本" #~ "身\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=目前所有者:目前组\n" #~ " 只当每个文件的所有者和组符合选项所指定的,\n" #~ " 才会更改所有者和组。其中一个可以省略,这时\n" #~ " 已省略的属性就不需要符合原有的属性。\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的错误信息\n" #~ " --reference=参考文件 使用<参考文件>的所属组,而非指定的<组>\n" #~ " -R, --recursive 递归处理所有的文件及子目录\n" #~ " -v, --verbose 处理任何文件都会显示信息\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "如果没有指定<所有者>,则不会更改。<组>若没有指定也不会更改,但当加上\n" #~ "“:”时<组>会更改为指定所有者的主要组。<所有者>和<组>可以是数字\n" #~ "或名称。\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 新根用户 [命令...]\n" #~ " 或:%s 选项\n" #~ msgid "cannot change root directory to %s" #~ msgstr "无法将根目录切换到 %s" #~ msgid "cannot chdir to root directory" #~ msgstr "无法切换到根目录" #~ msgid "cannot run command %s" #~ msgstr "无法运行命令 %s" #~ msgid "%s: file too long" #~ msgstr "%s:文件太长" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "用法:%s [文件]...\n" #~ " 或:%s [选项]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "打印每个文件的 CRC 校验和及字节统计。\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "用法:%s [选项]... 文件1 文件2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "逐行比较已排序的文件[文件1]和[文件2]。\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "设定 %s 的权限" #~ msgid "failed to preserve ownership for %s" #~ msgstr "保留 %s 的所有者失败" #~ msgid "failed to lookup file %s" #~ msgstr "查阅文件 %s 失败" #~ msgid "failed to preserve authorship for %s" #~ msgstr "保留 %s 的作者失败" #~ msgid "cannot open %s for reading" #~ msgstr "无法打开 %s 读取数据" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "跳过文件 %s,因为准备复制时它已被其它文件替代" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "无法更改 %s 的所属组为 %s\n" #~ msgid "cannot remove %s" #~ msgstr "无法删除 %s" #~ msgid "removed %s\n" #~ msgstr "已删除%s\n" #~ msgid "cannot create regular file %s" #~ msgstr "无法创建普通文件%s" #~ msgid "cannot lseek %s" #~ msgstr "无法 lseek %s" #~ msgid "writing %s" #~ msgstr "写入 %s" #~ msgid "preserving times for %s" #~ msgstr "保留 %s 的时间" #~ msgid "closing %s" #~ msgstr "关闭 %s" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s:是否覆盖 %s,而不理会权限模式 %04lo?" #~ msgid "%s: overwrite %s? " #~ msgstr "%s:是否覆盖%s? " #~ msgid " (backup: %s)" #~ msgstr " (备份:%s)" #~ msgid "omitting directory %s" #~ msgstr "略过目录 %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "警告:指定来源文件 %s 多于一次" #~ msgid "%s and %s are the same file" #~ msgstr "%s 及 %s 为同一文件" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "无法以目录 %2$s 来覆盖非目录 %1$s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "不会以 %2$s 覆盖刚创建的 %1$s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "无法以非目录来覆盖目录 %s" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "无法将目录移动至非目录:%s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "备份 %s 会破坏源文件;未移动 %s" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "备份 %s 会破坏源文件;未复制 %s" #~ msgid "cannot backup %s" #~ msgstr "无法备份 %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "不会以 %2$s 覆盖刚创建的 %1$s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "无法将目录 %s 复制到自己 %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "不会创建指向目录 %2$s 的硬链接 %1$s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "无法创建指向 %2$s 的硬链接 %1$s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "无法将目录 %s 移动至自身的子目录 %s 下" #~ msgid "cannot move %s to %s" #~ msgstr "无法将 %s 移动至 %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "无法进行跨设备的移动:%s 至 %s;无法删除目标" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "无法取得 %s 的属性" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "无法复制循环的符号链接 %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s:只能于当前目录中创建相对的符号链接" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "无法创建指向 %2$s 的符号链接 %1$s" #~ msgid "cannot create link %s" #~ msgstr "无法创建链接 %s" #~ msgid "cannot create fifo %s" #~ msgstr "无法创建先进先出文件 %s" #~ msgid "cannot create special file %s" #~ msgstr "无法创建特殊文件 %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "无法读取符号链接 %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "无法创建符号链接 %s" #~ msgid "%s has unknown file type" #~ msgstr "%s 的文件类型不详" #~ msgid "cannot un-backup %s" #~ msgstr "无法将 %s 的备份还原" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (还原备份)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "用法:%s [选项]... [-T] 源 目的\n" #~ " 或:%s [选项]... 源... 目录\n" #~ " 或:%s [选项]... -t 目录 源...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "将<源>文件复制至<目的>,或将多个<源>复制至<目录>。\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "长选项必须用的参数在使用短选项时也是必需的。\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive 等于 -dpPR\n" #~ " --backup[=CONTROL] 为每个已存在的目的地文件创建备份文件\n" #~ " -b 类似 --backup,但不接受任何参数\n" #~ " --copy-contents 当使用递归模式时复制特殊文件的内容\n" #~ " -d 等于 --no-dereference --preserve=link\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force 如果无法打开已存在的文件,会删除该文件并" #~ "再\n" #~ " 尝试打开\n" #~ " -i, --interactive 覆盖文件前需要确认\n" #~ " -H 使用命令列中的符号链接指示的真正目的地\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link 链接文件而不复制\n" #~ " -L, --dereference 总是跟随符号链接\n" #, fuzzy #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr " -P, --no-dereference 从不跟随符号链接\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p 等于 --preserve=mode,ownership,timestamps\n" #~ " --preserve[=ATTR_LIST] 若可能,保留指定的文件属性\n" #~ " (默认值为:mode,ownership,timestamps)\n" #~ " 额外的属性有:links、all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --sno-preserve=ATTR_LIST 不保留指定的文件属性\n" #~ " --parents 复制前先在<目录>创建来源文件路径中的所有目" #~ "录\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive 复制目录及目录内的所有项目\n" #~ " --remove-destination 尝试打开目的地文件前先删除已存在的目的地\n" #~ " 文件 (与 --force 选项作对比)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=WHEN 控制创建 sparse 文件的方式\n" #~ " --strip-trailing-slashes 删除参数中所有<源>文件/目录末端的斜杠\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link 只创建符号链接而不是复制文件\n" #~ " -S, --suffix=后缀 自行指定备份文件的<后缀>\n" #~ " -t, --target-directory=目录 将所有参数指定的<源>文件/目录复制至<目录>\n" #~ " -T, --no-target-directory 将目标当作普通文件\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update 只在<源>文件比目的地文件新,或目的地文件\n" #~ " 不存在时才进行复制\n" #~ " -v, --verbose 详细显示进行的步骤\n" #~ " -x, --one-file-system 不会跨越文件系统进行操作\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "默认使用模式中,<源>文件是否 sparse 文件会由一种粗略的方式决定,而且相应\n" #~ "的<目的地>文件也会是 sparse 文件。此方式等于使用 --sparse=auto 选项。指" #~ "定\n" #~ "--sparse=always 则只要<源>文件含有足够长的 0 字节都会产生 sparse 的\n" #~ "<目的地>文件。\n" #~ "使用 --sparse=never 会禁止产生 sparse 文件。\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "备份文件的后缀为“~”,除非以 --suffix 选项或是 SIMPLE_BACKUP_SUFFIX\n" #~ "环境变量指定。版本控制的方式可透过 --backup 选项或 VERSION_CONTROL 环境\n" #~ "变量来选择。以下是可用的变量值:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off 不会进行备份 (即使使用了 --backup 选项)\n" #~ " numbered, t 备份文件会加上数字\n" #~ " existing, nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备" #~ "份\n" #~ " simple, never 永远使用普通方式备份\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "有一个特别情况:如果同时指定 --force 和 --backup 选项,而且<源>和<目的地" #~ ">\n" #~ "是同一个已存在的普通文件的话,cp 会将<源>文件备份。\n" #~ msgid "failed to preserve times for %s" #~ msgstr "无法保留%s的时间" #~ msgid "failed to preserve permissions for %s" #~ msgstr "保留 %s 的权限失败" #~ msgid "cannot make directory %s" #~ msgstr "无法创建目录 %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s 存在但并非目录" #~ msgid "accessing %s" #~ msgstr "访问 %s" #~ msgid "missing file operand" #~ msgstr "缺少了文件操作数" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "缺少了目的地文件" #~ msgid "target %s is not a directory" #~ msgstr "目标 %s 不是目录" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "当保留路径时,目的地必须是目录" #, fuzzy #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "" #~ "警告:--version-control (-V) 选项已经过时;将来的版本随时可能不再支持\n" #~ "此选项。请使用 --backup=%s。" #~ msgid "multiple target directories specified" #~ msgstr "指定了多个目标目录" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "无法同时创建实际及符号链接" #~ msgid "backup type" #~ msgstr "备份方式" #~ msgid "input disappeared" #~ msgstr "输入消失" #~ msgid "%s: line number out of range" #~ msgstr "%s:行数超出范围" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s:%s:行数超出范围" #~ msgid "%s: %s: match not found" #~ msgstr "%s:%s:无匹配" #, fuzzy #~ msgid "write error for %s" #~ msgstr "写入时发生错误" #, fuzzy #~ msgid "%s: invalid regular expression: %s" #~ msgstr "转换无效:%s" #, fuzzy #~ msgid "%s: invalid pattern" #~ msgstr "%s:文件类型无效" #, fuzzy #~ msgid "invalid format width" #~ msgstr "日期格式 %s 无效" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "权限模式字符串无效:%s " #, fuzzy #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "转换无效:%s" #, fuzzy #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "转换无效:%s" #~ msgid "%s: invalid number" #~ msgstr "%s:无效数字" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "用法:%s [选项]... 文件 模式...\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "如果<文件>为 -,则读取标准输入。每个<模式>都可以是:\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "用法:%s [选项]... [文件]...\n" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -w, --width=COLS 自行指定萤幕宽度而不使用目前的数值\n" #~ " -x 逐行列出项目而不是逐栏列出\n" #~ " -X 根据扩展名排序\n" #~ " -1 每行只列出一个文件\n" #, fuzzy #~ msgid "invalid byte or field list" #~ msgstr "日期格式 %s 无效" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "无效的行宽:%s" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "无效的行宽数值:%s" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "%s:文件过大" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "missing list of fields" #~ msgstr "缺少了目的地文件" #, fuzzy #~ msgid "missing list of positions" #~ msgstr "缺少了目的地文件" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "用法:%s [选项]... [+格式]\n" #~ " 或:%s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgid "multiple output formats specified" #~ msgstr "指定了多种输出格式" #, fuzzy #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "" #~ "显示 dircolors 内部数据库的选项和选择 shell 语法的选项\n" #~ "是互相抵触的" #~ msgid "cannot set date" #~ msgstr "无法设定日期" #~ msgid "time %s is out of range" #~ msgstr "时间 %s 超出范围" #~ msgid "Filesystem Type" #~ msgstr "文件系统 类型" #~ msgid "Filesystem " #~ msgstr "文件系统 " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inode (I)已用 (I)可用 (I)已用%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " 容量 已用 可用 已用%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " 容量 已用 可用 已用%%" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %4d-块 已用 可用 容量" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-块 已用 可用 已用%%" #~ msgid " Mounted on\n" #~ msgstr " 挂载点\n" #~ msgid "cannot get current directory" #~ msgstr "无法获得当前目录" #~ msgid "cannot change to directory %s" #~ msgstr "无法进入目录 %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "无法 stat 当前目录(现在是 %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "用法:%s [选项]... [文件]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 包括大小为 0 个块的文件系统\n" #~ " -B, --block-size=大小 块以指定<大小>的字节为单位\n" #~ " -h, --human-readable 以容易理解的格式印出文件系统大小 (例如 1K 234M " #~ "2G)\n" #~ " -H, --si 类似 -h,但取 1000 的次方而不是 1024\n" #, fuzzy #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes 显示 inode 信息而非块使用量\n" #~ " -k 即 --block-size=1K\n" #~ " -l, --local 只显示本机的文件系统\n" #~ " --no-sync 取得使用量数据前不进行 sync 动作 (默认)\n" #, fuzzy #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability 使用 POSIX 输出格式\n" #~ " --sync 取得使用量数据前先进行 sync 动作\n" #~ " -t, --type=类型 只印出指定<类型>的文件系统信息\n" #~ " -T, --print-type 印出文件系统类型\n" #~ " -x, --exclude-type=类型 只印出不是指定<类型>的文件系统信息\n" #~ " -v (此选项不作处理)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "[大小]可以是以下的单位(单位前可加上整数):\n" #~ "kB 1000,K 1024,MB 1000000,M 1048576,还有 G、T、P、E、Z、Y。\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "不能同时选择和排除文件系统类型 %s" #~ msgid "Warning: " #~ msgstr "警告:" #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%s无法读取已挂上的文件系统的目录" #~ msgid "no file systems processed" #~ msgstr "未处理文件系统" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "用法:%s [选项]... [文件]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "输出用来设定 LS_COLORS 环境变量的命令。\n" #~ "\n" #~ "指定输出的规格:\n" #~ " -b, --sh, --bourne-shell 输出设定 LS_COLORS 的 Bourne shell 命令\n" #~ " -c, --csh, --c-shell 输出设定 LS_COLORS 的 C shell 命令\n" #~ " -p, --print-database 输出默认的色彩设置\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "如果指定<文件>,则读取该文件的数据来决定文件类型及扩展名相应的颜色。\n" #~ "否则,会使用一个默认的数据库。如要了解此文件格式的细节,请执行\n" #~ "“dircolors --print-database”。\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu:此行无效;缺少了第二栏数据" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu:无法识别的关键字 %s" #~ msgid "" #~ msgstr "<内部数据>" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "显示 dircolors 内部数据库的选项和选择 shell 语法的选项\n" #~ "是互相抵触的" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "文件操作数无法与 --print-database (-p) 组合使用。" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "没有设定 SHELL 环境变量,也没有指定 shell 类型的选项" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 名称\n" #~ " 或:%s 选项\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "用法:%s [选项]... [文件]...\n" #~ " 或:%s [选项]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "总结每个<文件>的磁盘用量,目录则取总用量。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -h, --human-readable 以容易理解的格式印出文件大小 (例如 1K 234M 2G)\n" #~ " -H, --si 类似 -h,但取 1000 的次方而不是 1024\n" #~ " -k 即 --block-size=1K\n" #~ " -l, --count-links 连硬链接的大小也计算在内\n" #, fuzzy #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference 找出任何符号链接指示的真正目的地\n" #~ " -S, --separate-dirs 不包括子目录的占用量\n" #~ " -s, --summarize 只分别计算命令列中每个参数所占的总用量\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system 略过属于其他文件系统的目录\n" #~ " -X 文件, --exclude-from=文件 由<文件>读取应排除的文件的样式\n" #~ " --exclude=PAT 排除符合指定<样式>的文件\n" #~ " --max-depth=N 只显示参数指定的目录 N 层或以内的子目录的总用量\n" #~ " (若使用 --all 选项,也会显示文件的占用量);\n" #~ " --max-depth=0 的效果等于 --summarize\n" #, fuzzy #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " -S 根据文件大小排序\n" #~ " --sort=WORD 以下是可选用的 WORD 和它们代表的相应选项:\n" #~ " extension -X status -c\n" #~ " none -U time -t\n" #~ " size -S atime -u\n" #~ " time -t access -u\n" #~ " version -v use -u\n" #~ " --time=WORD 和 -l 同时使用时显示 WORD 所代表的时间而非修" #~ "改时\n" #~ " 间:atime、access、use、ctime 或 status;加" #~ "上\n" #~ " --sort=time 选项时会以指定时间作为排序关键" #~ "字\n" #~ msgid "total" #~ msgstr "总计" #~ msgid "invalid maximum depth %s" #~ msgstr "目录最大深度 %s 无效" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "--megabytes 选项已被弃用;请换用 -m" #~ msgid "cannot both summarize and show all entries" #~ msgstr "不能只显示总用量,同时又显示每个项目" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "警告:显示总用量等于使用 --max-depth=0" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "警告:显示总用量的选项和 --max-depth=%d 互相抵触" #~ msgid "cannot read file names from %s" #~ msgstr "无法从 %s 读取文件名" #~ msgid "invalid zero-length file name" #~ msgstr "无效零长度文件名" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "用法:%s [选项]... [字符串]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "将[字符串]回显到标准输出。\n" #~ "\n" #~ " -n 不输出为岁的换行\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "用法:%s [选项]... [-] [名称=值]... [命令 [参数]...]\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "单纯的 - 意味着 -i。如果没有命令,则打印结果环境。\n" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "%s:文件过大" #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "权限模式字符串 %2$s 中出现无效的字符 %1$s" #~ msgid "input line is too long" #~ msgstr "输入行太长" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 表达式\n" #~ " 或:%s 选项\n" #~ msgid "syntax error" #~ msgstr "语法错误" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "转换无效:%s" #~ msgid "non-numeric argument" #~ msgstr "非数值参数" #~ msgid "division by zero" #~ msgstr "被零除" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s [数值]...\n" #~ " 或:%s 选项\n" #~ msgid "%s is too large" #~ msgstr "%s 太大" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s 不是有效的正整数" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "用法:%s [-DIGITS] [选项]... [文件]...\n" #~ msgid "invalid width: %s" #~ msgstr "无效的宽度:%s" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "无法更改 %s 的所属组为 %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "无法更改 %s 的所属组为 %s\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "无法更改%s的所有者及/或组" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "用法:%s [选项]... [用户名]\n" #~ msgid "%s: No such user" #~ msgstr "%s:无此用户" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "<块数目>和<字节>可以加上以下的单位:\n" #~ "xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,\n" #~ "GB=1000000000,G=1073741824,还有 T、P、E、Z、Y 如此类推。\n" #~ "每个<关键字>可以是:\n" #~ msgid "error reading %s" #~ msgstr "读入 %s 出错" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "%s:覆盖次数无效" #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "无法创建 fifo 文件%s" #, fuzzy #~ msgid "%s: cannot seek to offset %s" #~ msgstr "无法 lseek%s" #, fuzzy #~ msgid "cannot reposition file pointer for %s" #~ msgstr "无法取得 %s 的时间标记" #~ msgid "number of lines" #~ msgstr "行数" #~ msgid "number of bytes" #~ msgstr "字节数" #~ msgid "invalid number of lines" #~ msgstr "无效的行数" #~ msgid "invalid number of bytes" #~ msgstr "无效的字节数" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "%s:无效的选项 -- %c\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "无法设定 %s 的时间标记" #~ msgid "cannot determine hostname" #~ msgstr "无法确定主机名" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "无法按多种方式拆分" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "无法更改%s的所有者及/或组" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "无法进入目录 %s" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "安装目录时不能用 strip 选项" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "安装目录时不能用 strip 选项" #~ msgid "invalid mode %s" #~ msgstr "无效模式 %s" #~ msgid "cannot change ownership of %s" #~ msgstr "无法更改 %s 的所有者" #~ msgid "cannot set time stamps for %s" #~ msgstr "无法设定 %s 的时间标记" #~ msgid "fork system call failed" #~ msgstr "fork 系统进程出现错误" #~ msgid "cannot run strip" #~ msgstr "无法执行 strip 命令" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "正在写入 %s" #~ msgid "invalid user %s" #~ msgstr "无效的用户 %s" #~ msgid "invalid group %s" #~ msgstr "无效的组 %s" #~ msgid "creating directory %s" #~ msgstr "正在创建目录%s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "用法:%s [选项]... [-T] 来源 目的地\n" #~ " 或:%s [选项]... 来源... 目录\n" #~ " 或:%s [选项]... -t 目录 来源...\n" #~ " 或:%s [选项]... -d 目录...\n" #, fuzzy #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "在最初两种格式中,会将<源>复制至<目的地>或将多个<源>文件复制至已存在的\n" #~ "<目录>,同时设定权限模式及所有者/所属组。在第三种格式中,会创建所有\n" #~ "指定的目录及它们的主目录。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTROL] 为每个已存在的目的地文件进行备份\n" #~ " -b 类似 --backup,但不接受任何参数\n" #~ " -c (此选项不作处理)\n" #~ " -d, --directory 所有参数都作为目录处理;而且会创建指定目录的所有主目" #~ "录\n" #, fuzzy #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D 创建<目的地>前的所有主目录,然后将<源>复制至\n" #~ " <目的地>;在第一种使用格式中有用\n" #~ " -g, --group=组 自行设定所属组,而不是进程目前的所属组\n" #~ " -m, --mode=模式 自行设定权限模式 (像 chmod),而不是 rwxr-xr-x\n" #~ " -o, --owner=所有者 自行设定所有者 (只适用于超级用户)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps 以<源>文件的访问/修改时间作为相应的目的\n" #~ " 地文件的时间属性\n" #~ " -s, --strip 用 strip 命令删除 symbol table,只适用于第一及第二" #~ "种\n" #~ " 使用格式\n" #~ " -S, --suffix=后缀 自行指定备份文件的<后缀>\n" #~ " -v, --verbose 处理每个文件/目录时印出名称\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "备份文件的后缀为“~”,除非以 --suffix 选项或是 SIMPLE_BACKUP_SUFFIX\n" #~ "环境变量指定。版本控制的方式可透过 --backup 选项或 VERSION_CONTROL 环境\n" #~ "变量来选择。以下是可用的变量值:\n" #~ "\n" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "无效的 tab 字符定位值:%s" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "权限模式字符串 %2$s 中出现无效的字符 %1$s" #, fuzzy #~ msgid "%s: invalid signal" #~ msgstr "%s:文件类型无效" #, fuzzy #~ msgid "%s: invalid process id" #~ msgstr "%s:文件大小无效" #, fuzzy #~ msgid "invalid option -- %c" #~ msgstr "%s:无效的选项 -- %c\n" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 文件1 文件2\n" #~ " 或:%s 选项\n" #~ msgid "cannot create link %s to %s" #~ msgstr "无法创建指向%2$s的链接%1$s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "%s:警告:将硬链接指向符号链接是不通用的功能" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: 不允许将硬链接指向目录" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s:无法覆盖目录" #~ msgid "%s: replace %s? " #~ msgstr "%s:是否置换%s? " #~ msgid "creating symbolic link %s" #~ msgstr "创建符号链接 %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "创建符号链接 %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "创建硬链接 %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "创建硬链接 %s" #~ msgid "creating hard link %s => %s" #~ msgstr "创建硬链接 %s => %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "用法:%s [选项]... [-T] 目标 链接名称 (第一种格式)\n" #~ " 或:%s [选项]... 目标 (第二种格式)\n" #~ " 或:%s [选项]... 目标... 目录 (第三种格式)\n" #~ " 或:%s [选项]... -t 目录 目标... (第四种格式)\n" #, fuzzy #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "创建指向指定<目标>的链接,并可选择性指定<链接名>。\n" #~ "如果没有指定<链接名>,会在目前的目录中创建一个和<目标>名称一样的链接。\n" #~ "当使用第二种格式而<目标>多于一个时,最后的参数必须是目录;这样会在指定的\n" #~ "<目录>中分别创建指向每个<目标>的链接。默认会创建硬链接,若\n" #~ "使用 --symbolic 选项则创建符号链接。当创建硬链接时,每个<目标>都必须存\n" #~ "在。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTROL] 为每个已存在的目的地文件创建备份文件\n" #~ " -b 类似 --backup,但不接受任何参数\n" #~ " -d, -F, --directory 创建指向目录的硬链接 (只适用于超级用户)\n" #~ " -f, --force 强迫删除任何已存在的目的地文件\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference 如果目的地是一个链接至某目录的符号链接,会" #~ "将\n" #~ " 该符号链接当作普通文件处理,先将该已存在的\n" #~ " 链接备份或删除\n" #~ " -i, --interactive 确认是否删除目的地文件\n" #~ " -s, --symbolic 创建符号链接而不是硬链接\n" #, fuzzy #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=后缀 自行指定备份文件的<后缀>\n" #~ " -t, --target-directory=目录 在指定<目录>中创建链接\n" #~ " -T, --no-target-directory 将链接名称当作普通文件\n" #~ " -v, --verbose 链接前先列出每个文件的名称\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "无法组合使用 --target-directory 和 --no-target-directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "用法:%s [选项]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "打印当前用户的名称。\n" #~ "\n" #~ msgid "no login name" #~ msgstr "无登录名" #~ msgid "%b %e %Y" #~ msgstr "%Y-%m-%d" #~ msgid "%b %e %H:%M" #~ msgstr "%m-%d %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "忽略无效的环境变量 QUOTING_STYLE 的变量值:%s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "忽略无效的环境变量 COLUMNS 的宽度数值:%s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "忽略无效的环境变量 TABSIZE 的 tab 字符定位值:%s" #~ msgid "invalid line width: %s" #~ msgstr "无效的行宽:%s" #~ msgid "invalid tab size: %s" #~ msgstr "无效的制表位大小:%s" #~ msgid "invalid time style format %s" #~ msgstr "无效的日期时间格式 %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "无法识别的前缀:%s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "LS_COLORS 环境变量中存在无法分析的值" #~ msgid "cannot open directory %s" #~ msgstr "无法打开目录 %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "无法决定 %s 所在的设备及 inode" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s:不会再列出已经列出的目录" #~ msgid "closing directory %s" #~ msgstr "关闭目录 %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "无法比较文件名 %s 和 %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "列出<文件>的信息 (默认为目前的目录)。\n" #~ "如果不指定 -cftuvSUX 或 --sort 任何一个选项,则根据字母大小排序。\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all 不隐藏任何以 . 字符开始的项目\n" #~ " -A, --almost-all 列出除了 . 及 .. 以外的任何项目\n" #~ " --author 和 -l 同时使用时列出每个文件的作者\n" #~ " -b, --escape 以八进制溢出序列表示不可打印的字符\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=大小 块以指定<大小>的字节为单位\n" #~ " -B, --ignore-backups 不列出任何以 ~ 字符结束的项目\n" #~ " -c 配合 -lt:根据 ctime 排序及显示 ctime (文件\n" #~ " 状态最后更改的时间)\n" #~ " 配合 -l:显示 ctime 但根据名称排序\n" #~ " 否则:根据 ctime 排序\n" #, fuzzy #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C 每栏由上至下列出项目\n" #~ " --color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是\n" #~ " “never”、“always”或“auto”其中之一\n" #~ " -d, --directory 当遇到目录时列出目录本身而非目录内的文件\n" #~ " -D, --dired 产生适合 Emacs 的 dired 模式使用的结果\n" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f 不进行排序,-aU 选项生效,-lst 选项失效\n" #~ " -F, --classify 加上文件类型的指示符号 (*/=@| 其中一个)\n" #~ " --format=关键字 across -x,commas -m,horizontal -x,long -" #~ "l,\n" #~ " single-column -1,verbose -l,vertical -C\n" #~ " --full-time 即 -l --time-style=full-iso\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 包括大小为 0 个块的文件系统\n" #~ " -B, --block-size=大小 块以指定<大小>的字节为单位\n" #~ " -h, --human-readable 以容易理解的格式印出文件系统大小 (例如 1K 234M " #~ "2G)\n" #~ " -H, --si 类似 -h,但取 1000 的次方而不是 1024\n" #, fuzzy #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -g 类似 -l,但不列出所有者\n" #~ " -G, --no-group 不列出任何有关组的信息\n" #~ " -h, --human-readable 以容易理解的格式印出文件大小 (例如 1K 234M " #~ "2G)\n" #~ " --si 类似 -h,但取 1000 的次方而不是 1024\n" #~ " -H, --dereference-command-line 使用命令列中的符号链接指示的真正目的" #~ "地\n" #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:\n" #~ " none (默认),classify (-F),file-type (-" #~ "p)\n" #~ " -i, --inode 印出每个文件的 inode 号\n" #~ " -I, --ignore=样式 不印出任何符合 shell 万用字符<样式>的项目\n" #~ " -k 即 --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l 使用较长格式列出信息\n" #~ " -L, --dereference 当显示符号链接的文件信息时,显示符号链接所指" #~ "示\n" #~ " 的对象而并非符号链接本身的信息\n" #~ " -m 所有项目以逗号分隔,并填满整行行宽\n" #, fuzzy #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid 类似 -l,但列出 UID 及 GID 号\n" #~ " -N, --literal 印出未经处理的项目名称 (例如不特别处理控制字" #~ "符)\n" #~ " -o 类似 -l,但不列出有关组的信息\n" #~ " -p, --file-type 加上文件类型的指示符号 (/=@| 其中一个)\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars 以 ? 字符代替无法打印的字符\n" #~ " --show-control-chars 直接显示无法打印的字符 (这是默认方式,除非调" #~ "用\n" #~ " 的程序名称是“ls”而且是在终端机画面输出结" #~ "果)\n" #~ " -Q, --quote-name 将项目名称括上双引号\n" #~ " --quoting-style=方式 使用指定的 quoting <方式>显示项目的名称:\n" #~ " literal、locale、shell、shell-always、c、" #~ "escape\n" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse 逆序排序\n" #~ " -R, --recursive 递归列出所有子目录\n" #~ " -s, --size 和 -l 同时使用时以块为单位列出每个文件的大" #~ "小\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S 根据文件大小排序\n" #~ " --sort=WORD 以下是可选用的 WORD 和它们代表的相应选项:\n" #~ " extension -X status -c\n" #~ " none -U time -t\n" #~ " size -S atime -u\n" #~ " time -t access -u\n" #~ " version -v use -u\n" #~ " --time=WORD 和 -l 同时使用时显示 WORD 所代表的时间而非修" #~ "改时\n" #~ " 间:atime、access、use、ctime 或 status;加" #~ "上\n" #~ " --sort=time 选项时会以指定时间作为排序关键" #~ "字\n" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STYLE 和 -l 同时使用时根据 STYLE 代表的格式显示时" #~ "间:\n" #~ " full-iso、iso、locale、posix-iso、" #~ "+FORMAT。\n" #~ " FORMAT 即是“date”所用的时间格式;如果 " #~ "FORMAT\n" #~ " 是 FORMAT1<新行>FORMAT2,FORMAT1 适用于较旧\n" #~ " 的文件而 FORMAT2 适用于较新的文件;如果 " #~ "STYLE\n" #~ " 以“posix-”开头,则 STYLE 仅在 POSIX 语系之" #~ "外\n" #~ " 生效。\n" #~ " -t 根据修改时间排序\n" #~ " -T, --tabsize=宽度 自行指定 tab 的<宽度>,而非 8 个字符\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u 配合 -lt:显示访问时间而且依访问时间排序\n" #~ " 配合 -l:显示访问时间但根据名称排序\n" #~ " 否则:根据访问时间排序\n" #~ " -U 不进行排序;依文件系统原有的次序列出项目\n" #~ " -v 根据版本进行排序\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=COLS 自行指定萤幕宽度而不使用目前的数值\n" #~ " -x 逐行列出项目而不是逐栏列出\n" #~ " -X 根据扩展名排序\n" #~ " -1 每行只列出一个文件\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "默认是不会使用色彩来区别文件的。此方式等于使用了 --color=none 选项。若使" #~ "用\n" #~ "--color 选项但不指定 WHEN 参数等于 --color=always。当使用 --color=auto " #~ "时,\n" #~ "只当输出至终端机画面 (tty) 时才会显示色彩。\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary 使用二进制写入到控制台设备。\n" #~ "\n" #, fuzzy #~ msgid "%s: read error" #~ msgstr "%s:名称已更改为 %s" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "用法:%s [选项] 目录...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "若目录不是已经存在则创建目录。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=模式 设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 " #~ "umask\n" #~ " -p, --parents 需要时创建上层目录,如目录早已存在则不当作错误\n" #~ " -v, --verbose 每次创建新目录都显示信息\n" #~ msgid "created directory %s" #~ msgstr "已创建目录 %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "用法:%s [选项] 名称...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "以指定的<名称>创建 named pipe (FIFO)。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=模式 指定权限模式 (类似 chmod),而不是 a=rw 减 umask\n" #~ msgid "invalid mode" #~ msgstr "权限模式无效" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "用法:%s [选项]... 名称 类型 [MAJOR MINOR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "创建指定<类型>和<名称>的特殊文件。\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ "当<类型>为 p 时不可指定 MAJOR 及 MINOR,否则它们是必须指定的。\n" #~ "<类型>可以是:\n" #~ "\n" #~ " b 创建(有缓冲的)区块特殊文件\n" #~ " c, u 创建(没有缓冲的)字符特殊文件\n" #~ " p 创建 FIFO 特殊文件\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "创建区块特殊文件时,必需指定 major 和 minor 设备号" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "无效的 minor 设备号 %s" #~ msgid "block special files not supported" #~ msgstr "本系统不支持区块特殊文件" #~ msgid "character special files not supported" #~ msgstr "本系统不支持字符特殊文件" #~ msgid "invalid major device number %s" #~ msgstr "无效的 major 设备号 %s" #~ msgid "invalid minor device number %s" #~ msgstr "无效的 minor 设备号 %s" #~ msgid "invalid device %s %s" #~ msgstr "设备文件 %s %s 无效" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "设备文件 %s %s 无效" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "用法:%s [选项]... [文件]\n" #, fuzzy #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr "安装目录时不能用 strip 选项" #, fuzzy #~ msgid "too many templates" #~ msgstr "重复行太多" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "无法保留%s的时间" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "将<源>名称重命名为<目的地>名称,或将<源>文件移动至<目录>。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=CONTROL] 为每个已存在的目的地文件创建备份文件\n" #~ " -b 类似 --backup,但不接受任何参数\n" #~ " -f, --force 覆盖文件前不会进行确认,等于 --reply=yes\n" #~ " -i, --interactive 覆盖文件前必须先确认,等于 --reply=query\n" #, fuzzy #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --reply={yes,no,query} 指定如何处理已存在的目的地文件\n" #~ " --strip-trailing-slashes 删除参数中所有<源>文件/目录末端的斜杠\n" #~ " -S, --suffix=后缀 自行指定备份文件的<后缀>\n" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=目录 将所有参数指定的<源>文件/目录移动至<目录>\n" #~ " -u, --update 只在<源>文件比目的地文件新,或目的地文件\n" #~ " 不存在时才会移动\n" #~ " -v, --verbose 详细显示进行的步骤\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "用法:%s [选项] [命令 [参数]...]\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "%2$s 的参数 %1$s 无效" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "无法创建链接 %s" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "stat%s失败" #, fuzzy #~ msgid "line number overflow" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "无效的 major 设备号 %s" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "无效的行宽数值:%s" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "%s:覆盖次数无效" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "无效的行宽数值:%s" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "无效的行宽数值:%s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 命令 [参数]...\n" #~ " 或:%s 选项\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "忽略全部参数" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "ignoring input and appending output to %s" #~ msgstr "正在更改 %s 的所属组" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "用法:%s [选项]... 组 文件...\n" #~ " 或:%s [选项]... --reference=参考文件 文件...\n" #, fuzzy #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "长选项必须用的参数在使用短选项时也是必须的。\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "权限模式字符串无效:%s " #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "权限模式字符串 %2$s 中出现无效的字符 %1$s" #, fuzzy #~ msgid "standard input is closed" #~ msgstr "标准输入" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "用法:%s [选项]... 名称...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "权限模式字符串 %2$s 中出现无效的字符 %1$s" #~ msgid "empty file name" #~ msgstr "空文件名" #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "目录:" #~ msgid "Shell: " #~ msgstr "Shell:" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "用法:%s [选项]... [用户]...\n" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "权限模式字符串无效:%s " #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "无效的 minor 设备号 %s" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "无效的行宽数值:%s" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "%s:覆盖次数无效" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "%s:覆盖次数无效" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "如果[文件]缺省,或者[文件]为 - ,则读取标准输入。\n" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 格式 [参数]...\n" #~ " 或:%s 选项\n" #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "无效的行宽数值:%s" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "转换无效:%s" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s:文件大小无效" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "无效的行宽数值:%s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "打印当前工作目录的完整文件名。\n" #~ "\n" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "忽略任何参数" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "用法:%s [选项]... 文件\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "无法打开目录 %s" #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "%s 的 dev/ino 变了" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "无法创建目录 %s" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ " 警告:发现循环的目录架构。\n" #~ "这几乎可以肯定文件系统已经损坏。\n" #~ "** 请告诉系统管理员。**\n" #~ "以下的目录是循环的一部份:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s:是否进入有写保护的目录%s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s:是否进入目录 %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s:是否删除有写保护的 %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s:是否删除 %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "已删除目录:%s\n" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "无法保留%s的时间" #~ msgid "cannot remove directory %s" #~ msgstr "无法删除目录%s" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "无法删除目录%s" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "无法删除目录%s" #~ msgid "cannot restore current working directory" #~ msgstr "无法恢复当前工作目录" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "请使用“%s ./%s”删除文件 %s。\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "用法:%s [选项]... 文件...\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root 不特殊对待“/”(默认值)\n" #~ " --preserve-root 不允许在“/”上递归操作\n" #~ " -r, -R, --recursive 递归删除目录及其内容\n" #~ " -v, --verbose 详细显示进行的步骤\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "默认情况下,rm 不删除目录。使用 --recursive (-r 或 -R)选项可以删除每个列出" #~ "的\n" #~ "目录及其下面的内容。\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "要删除第一个字符为“-”的文件 (例如“-foo”),请使用以下其中一种方法:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "请注意,如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证\n" #~ "该文件的内容无法还原,请考虑使用 shred。\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s:是否删除 %s %s? " #~ msgid "removing directory, %s" #~ msgstr "删除目录,%s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "无法保留%s的时间" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "用法:%s [选项]... 目录...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "如果<目录>没有数据则删除该目录。\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " 忽略任何因目录仍有数据而造成的错误\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents 删除<目录>,然后尝试删除指定路径中的所有上层目录。例" #~ "如:\n" #~ " “rmdir -p a/b/c”的效果等于“rmdir a/b/c a/b a”。\n" #~ " -v, --verbose 处理每个目录时都显示信息\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "无法取得 %s 的属性" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "无法保留%s的时间" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "用法:%s [选项]... 来源 目的地\n" #~ " 或:%s [选项]... 来源... 目录\n" #~ " 或:%s [选项]... --target-directory=目录 来源...\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "无效的浮点参数:%s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "无效的格式字符串:%s " #~ msgid "invalid format string: %s" #~ msgstr "无效的格式字符串:%s " #, fuzzy #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "安装目录时不能用 strip 选项" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 用户名 命令 [参数]...\n" #~ " 或:%s 选项\n" #~ msgid "unknown user-ID: %s" #~ msgstr "未知的用户 ID:%s" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "无法改变所属组至没有名称的组" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "无法改变所属组至没有名称的组" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "stat%s失败" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "用法:%s [选项] 文件 [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "重复覆盖<文件>,使得即使是昂贵的硬件探测仪器也难以将数据复原。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force 有需要时强迫程序可写入文件\n" #~ " -n, --iterations=N 自行指定重复覆盖的次数 (默认为 %d 次)\n" #~ " -s, --size=N 覆盖指定的字节数目 (可接受 K、M、G 等等的单位)\n" #, fuzzy #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove 覆盖后会截断及删除该文件\n" #~ " -v, --verbose 显示进度\n" #~ " -x, --exact 不将文件大小增加至最接近的块大小\n" #~ " -z, --zero 最后一次会使用 0 字节进行覆盖来隐藏覆盖动作\n" #~ " - 覆盖标准输出的数据\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "如果加上 --remove (-u) 选项表示删除<文件>。默认的方式是不删除文件,因为\n" #~ "覆盖像 /dev/hda 等的设备文件是很普遍的,而这些文件通常不应删除。当覆盖\n" #~ "普通文件时,绝大多数人都会使用 --remove 选项。\n" #, fuzzy #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "警告:请注意使用 shred 时有一个很重要的条件:\n" #~ "文件系统会在原来的位置覆盖指定的数据。传统的文件系统符合此条件,但许多现" #~ "代\n" #~ "的文件系统都不符合条件。以下是会令 shred 无效的文件系统的例子:\n" #~ "\n" #, fuzzy #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* 有纪录结构或是日志式文件系统,像 AIX 及 Solaris 使用的文件系统 (以及\n" #~ " JFS、ReiserFS、XFS、Ext3 等等)\n" #~ "\n" #~ "* 会重复写入数据,及即使一部份写入动作失败后仍可继续的文件系统,像使用\n" #~ " RAID 的文件系统\n" #~ "\n" #~ "* 会不时进行快照纪录的文件系统,像 Network Applicance 的 NFS 服务器\n" #~ "\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "strip 出现错误" #, fuzzy #~ msgid "%s: fsync failed" #~ msgstr "strip 出现错误" #~ msgid "%s: cannot rewind" #~ msgstr "%s:无法向后搜寻" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%1$s:%3$lu 次之第 %2$lu 次 (%4$s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s:在位置 %s 写入时出现错误 " #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "strip 出现错误" #~ msgid "%s: file too large" #~ msgstr "%s:文件过大" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%1$s:%3$lu 次之第 %2$lu 次 (%4$s)...%5$s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%1$s:%3$lu 次之第 %2$lu 次 (%4$s)...%5$s/%6$s %7$d%%" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "strip 出现错误" #~ msgid "%s: invalid file type" #~ msgstr "%s:文件类型无效" #~ msgid "%s: file has negative size" #~ msgstr "%s:文件的大小为负数" #~ msgid "%s: error truncating" #~ msgstr "%s:截断文件时出现错误" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "strip 出现错误" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "" #~ "%s:不能将只可加上数据的文件描述符 (file descriptor) 进行 shred 动作" #~ msgid "%s: removing" #~ msgstr "%s:删除中" #~ msgid "%s: renamed to %s" #~ msgstr "%s:已重命名为 %s" #~ msgid "%s: failed to remove" #~ msgstr "%s:删除失败" #~ msgid "%s: removed" #~ msgstr "%s:已删除" #~ msgid "%s: failed to close" #~ msgstr "%s:关闭失败" #~ msgid "%s: failed to open for writing" #~ msgstr "%s:打开写入失败" #~ msgid "%s: invalid number of passes" #~ msgstr "%s:覆盖次数无效" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "正在关闭输出文件 %s" #~ msgid "%s: invalid file size" #~ msgstr "%s:文件大小无效" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "用法:%s [选项]... 来源 目的地\n" #~ " 或:%s [选项]... 来源... 目录\n" #~ " 或:%s [选项]... --target-directory=目录 来源...\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "正在关闭输出文件 %s" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "无效的行宽数值:%s" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "无效的行宽:%s" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "正在关闭输出文件 %s" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "额外的操作数 %s" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "无效的日期时间格式 %s" #, fuzzy #~ msgid "cannot read realtime clock" #~ msgstr "无法创建链接%s" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "顺序选项:\n" #~ "\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "正在写入 %s" #~ msgid "cannot create temporary file" #~ msgstr "无法创建临时文件" #~ msgid "open failed" #~ msgstr "打开失败" #, fuzzy #~ msgid "fflush failed" #~ msgstr "strip 出现错误" #~ msgid "close failed" #~ msgstr "关闭失败" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "打开失败" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "无法创建临时文件" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "无法创建临时文件" #~ msgid "write failed" #~ msgstr "写入失败" #~ msgid "warning: cannot remove: %s" #~ msgstr "警告:无法删除:%s" #, fuzzy #~ msgid "stat failed" #~ msgstr "strip 出现错误" #~ msgid "read failed" #~ msgstr "读取失败" #~ msgid "standard error" #~ msgstr "标准错误" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s:文件大小无效" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s:覆盖次数无效" #, fuzzy #~ msgid "invalid number after `-'" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "invalid number after `.'" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "stray character in field spec" #~ msgstr "字符特殊文件" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "指定了多种输出格式" #, fuzzy #~ msgid "invalid number at field start" #~ msgstr "无效的号码 %s" #~ msgid "field number is zero" #~ msgstr "字段编号为零" #~ msgid "character offset is zero" #~ msgstr "字符偏移为零" #, fuzzy #~ msgid "invalid number after `,'" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "额外的操作数 %s" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "用法:%s [选项] [输入 [前缀]]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "<块数目>和<字节>可以加上以下的单位:\n" #~ "xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,\n" #~ "GB=1000000000,G=1073741824,还有 T、P、E、Z、Y 如此类推。\n" #~ "每个<关键字>可以是:\n" #~ msgid "creating file %s\n" #~ msgstr "创建文件 %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "无法按多种方式拆分" #~ msgid "%s: invalid suffix length" #~ msgstr "%s:无效的后缀长度" #, fuzzy #~ msgid "%s: invalid number of bytes" #~ msgstr "%s:覆盖次数无效" #, fuzzy #~ msgid "%s: invalid number of lines" #~ msgstr "%s:覆盖次数无效" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "%s:文件过大" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "无效的号码 %s" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s:无法识别的选项“%c%s”\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s:文件类型无效" #, fuzzy #~ msgid "cannot read file system information for %s" #~ msgstr "无法创建 fifo 文件%s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "用法:%s [选项] 文件...\n" #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "显示 dircolors 内部数据库的选项和选择 shell 语法的选项\n" #~ "是互相抵触的" #~ msgid "invalid argument %s" #~ msgstr "无效参数 %s" #~ msgid "missing argument to %s" #~ msgstr "缺少 %s 的参数" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "无效的 tab 字符定位值:%s" #~ msgid "invalid integer argument %s" #~ msgstr "无效的整数参数 %s" #~ msgid "Password:" #~ msgstr "密码:" #, fuzzy #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "无法打开目录%s" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "stat%s失败" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "无法改变所属组至没有名称的组" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "stat%s失败" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "用法:%s [选项]... [-] [用户 [参数]...]\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "单独的 - 代表 -l。如果未给出[用户],则假定为 root。\n" #~ msgid "user %s does not exist" #~ msgstr "用户 %s 不存在" #~ msgid "incorrect password" #~ msgstr "密码不正确" #~ msgid "using restricted shell %s" #~ msgstr "使用被限制的 shell %s" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "无法进入目录 %s" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "强迫将已更改的数据写入磁盘,并更新 super block。\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "忽略全部参数" #~ msgid " --help display this help and exit\n" #~ msgstr " --help 显示此帮助信息并退出\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version 输出版本信息并退出\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "请向 <%s> 报告错误。\n" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "strip 出现错误" #~ msgid "record too large" #~ msgstr "记录太大" #~ msgid "cannot create temporary file %s" #~ msgstr "无法创建临时文件 %s" #~ msgid "cannot open %s for writing" #~ msgstr "无法打开 %s 写入" #~ msgid "%s: write error" #~ msgstr "%s:写入错误" #~ msgid "separator cannot be empty" #~ msgstr "分隔符不能为空" #, fuzzy #~ msgid "closing %s (fd=%d)" #~ msgstr "正在关闭%s" #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "无法创建 fifo 文件%s" #, fuzzy #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "无法创建 fifo 文件%s" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "无法更改为空组" #, fuzzy #~ msgid "%s: file truncated" #~ msgstr "%s:截断文件时出现错误" #, fuzzy #~ msgid "no files remaining" #~ msgstr "缺少了文件参数" #~ msgid "number in %s is too large" #~ msgstr "%s 中的数字太大" #, fuzzy #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s:覆盖次数无效" #, fuzzy #~ msgid "%s: invalid PID" #~ msgstr "%s:文件大小无效" #, fuzzy #~ msgid "%s: invalid number of seconds" #~ msgstr "%s:覆盖次数无效" #, fuzzy #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "此系统并不支持符号链接" #~ msgid "missing argument after %s" #~ msgstr "%s 后缺少参数" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "无效的整数 %s\n" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "未知的系统错误" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "未知的系统错误" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "用法:%s 文件\n" #~ " 或:%s 选项\n" #, fuzzy #~ msgid "missing `]'" #~ msgstr "缺少操作数" #~ msgid "extra argument %s" #~ msgstr "额外参数 %s" #~ msgid "creating %s" #~ msgstr "创建 %s" #~ msgid "cannot touch %s" #~ msgstr "无法触碰 %s" #~ msgid "setting times of %s" #~ msgstr "设置 %s 的时间" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a 只更改访问时间\n" #~ " -c, --no-create 不创建任何文件\n" #~ " -d, --date=字符串 使用<字符串>表示的时间而不是目前的时间\n" #~ " -f (此选项不作处理)\n" #~ " -m 只更改修改时间\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=文件 使用指定<文件>的时间属性而非目前的时间\n" #~ " -t STAMP 使用 [[CC]YY]MMDDhhmm[.ss] 格式的时间而非目前的时" #~ "间\n" #~ " --time=WORD 使用 WORD 指定的时间:access、atime、use 都等于 -" #~ "a\n" #~ " 选项的效果,而 modify、mtime 等于 -m 选项的效" #~ "果\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "请注意,-d 和 -t 选项可接受不同的时间/日期格式。\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "无法由多于一种的来源来指定时间" #, fuzzy #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "警告:“touch %s”已经过时;请使用“touch -t %04d%02d%02d%02d%02d.%02d”" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "用法:%s [选项]... 集合1 [集合2]\n" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "%s:警告:将硬链接指向符号链接是不通用的功能" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "权限模式字符串 %2$s 中出现无效的字符 %1$s" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "字符特殊文件" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s [忽略的命令行开关]\n" #~ " 或:%s 选项\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s:覆盖次数无效" #~ msgid "%s: input contains a loop:" #~ msgstr "%s:输入包含循环:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "用法:%s [选项]...\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "%s:文件过大" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "用法:%s [选项]... [输入 [输出]]\n" #~ msgid "too many repeated lines" #~ msgstr "重复行太多" #, fuzzy #~ msgid "invalid number of fields to skip" #~ msgstr "%s:覆盖次数无效" #~ msgid "invalid number of bytes to skip" #~ msgstr "要跳过的字节数无效" #~ msgid "invalid number of bytes to compare" #~ msgstr "要比较的字节数无效" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "打印所有重复行和重复计数毫无意义" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 文件\n" #~ " 或:%s 选项\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "调用 unlink 函数以便删除指定的[文件]。\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "无法解除 %s 的链接" #~ msgid "couldn't get boot time" #~ msgstr "无法获得启动时间" #~ msgid "???? days ??:??, " #~ msgstr "???? 天 ??:??," #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld 天" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu 个用户" #~ msgid ", load average: %.2f" #~ msgstr ",平均负载:%.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "用法:%s [选项]... [文件]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "打印当前时间、系统已经运行的时间、系统的用户数、以及刚才一分钟、五\n" #~ "分钟、十五分钟内运行队列中的平均任务数。\n" #~ "如果未指定[文件],则使用 %s。%s 作为文件很常见。\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "用法:%s [选项]... [文件|参数1 参数2]\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login 打印系统登录进程\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "打印与当前生效的用户 ID 关联的用户名。\n" #~ "与 id -un 相同。\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s:找不到 ID %lu 的用户名\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s [字符串]...\n" #~ " 或:%s 选项\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "重复输出一行指定的<字符串>,或者重复“y”。\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "用法:%s 用户名 命令 [参数]...\n" #~ " 或:%s 选项\n" #~ msgid "block size" #~ msgstr "块大小" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License .\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "这是自由软件。您可以按照 GNU GPL 协议 的条款再发布此软件的副本,但我们无法保证相关法律不对这一情形进行限" #~ "制。\n" #~ "\n" #~ msgid "symbolic links are not supported on this system" #~ msgstr "此系统并不支持符号链接" #, fuzzy #~ msgid "unrecognized operand %s=%s" #~ msgstr "无法识别的选项 %s=%s" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "--kilobytes 选项已经被弃用,请使用 -k" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "不可同时省略用户和所属组" #, fuzzy #~ msgid "cannot get supplemental group list" #~ msgstr "无法改变所属组至没有名称的组" #~ msgid "strip failed" #~ msgstr "strip 出现错误" #~ msgid "fifo files not supported" #~ msgstr "不支持 FIFO 文件" #, fuzzy #~ msgid "skip argument" #~ msgstr "缺少了文件参数" #, fuzzy #~ msgid "limit argument" #~ msgstr "有效的参数为:" #, fuzzy #~ msgid "page range" #~ msgstr "权限模式字符串无效:%s " #, fuzzy #~ msgid "the --copyright option is deprecated; use --version instead" #~ msgstr "" #~ "警告:--version-control (-V) 选项已经过时;将来的版本随时可能不再支持\n" #~ "此选项。请使用 --backup=%s。" #~ msgid "cannot remove `.' or `..'" #~ msgstr "无法删除“.”或“..”" #~ msgid "sort size" #~ msgstr "排序大小" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "将每个<文件>的访问及修改时间都更新为目前时间。\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "警告:-i 即将在未来的版本删除;请换用 -u" dc3dd-7.1.614/po/pl.gmo0000644000175000017500000001172111233346647014207 0ustar amedicoamedico%0X5T\`iz$$ $.*S&~9#$ !E,g"  &(Ee'u% . 9 N ] m t  N - 4= 'r 6 , D YC44).1.` //&Ls'!-:@ {| a"   %  ! $#mdxu BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid number %soffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.9.92 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-01-12 17:30+0100 Last-Translator: Rafał Maszkowski Language-Team: Polish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); BLOKI i BAJTY mogą mieć następujące przyrostki mnożące: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, itd. dla T, P, E, Z, Y. Każde SŁOWO_KL może być: Do FLAG należą: append tryb dopisywania (ma sens tylko dla wyjścia) binary użycie binarnego I/O dla danych direct dane zapisywane przez bezpośrednie I/O directory błąd jeżeli nie katalog dsync dane zapisywane przez synchronizowane I/O noatime bez aktualizacji czasu dostępu noctty bez przyporządkowywania terminala sterującego - pliku noerror kontynuowanie mimo błędów czytania sync dopełnienie każdego bloku wejściowego zerami do rozmiaru ibs, jeżeli użyte z block albo unblock, dopełnienie spacjami zamiast NULami fdatasync wymuszenie fizycznego zapisu danych przed zakończeniem fsync jak fdatasync, ale też dla metadanych nofollow bez rozwijania dowiązań symbolicznych nolinks błąd jeżeli wielokrotnie dołączony nonblock użycie nie blokującego I/O sync podobnie, ale też dla metadanych text użycie tekstowego I/O dla danych %s: nie można ustawić pozycji, %g s, %s/s nieskończenie wiele BSpróbuj `%s --help' dla uzyskania informacji. Nieznany błąd systemuSkładnia: %s [ARGUMENT]... albo: %s OPCJA nie można użyć razem excl i nocreatnie można wykonać fstat na %snie udało się obejść błędu jądrazamykanie pliku wejściowego %szamknięcie pliku wyjściowego %snieudany fdatasync dla %snieudany fsync dla %sbłędna liczba %sprzepełnienie licznika pozycji w czasie czytanie pliku %sotwieranie %sustawienie flag dla %sstandardowe wejściestandardowe wyjścienierozpoznany argument %suwaga: ominięcie błędu działania lseek w jądrze dla pliku (%s) o mt_type=0x%0lx - zobacz listę typów w zapis do %sPRIuMAXtruncating at % bytes in output file %sobcięcie pliku do % bajtów w pliku wyjściowym %sdc3dd-7.1.614/po/sk.gmo0000644000175000017500000001103111233346647014203 0ustar amedicoamedico#4/L i$`$*&96#S$w!,"  ,&7^(s' #7%I ozt ; I | ,U * 4 7 9 3T -;'*,Er  20** U+v- 0<Tg|{   "    !# BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing output file %sfdatasync failed for %sfsync failed for %sinvalid number %soffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.10 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-04-04 10:01+0100 Last-Translator: Ivan Masár Language-Team: Slovak MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2); Po BLOKOV a BAJTOV môže byť uvedená jedna z nasledovných prípon: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 atď pre T, P, E, Z, Y. Každý symbol KONV môže byť: Každý symbol PRÍZN môže byť: append režim pridávania (zmysluplné iba pre výstup; navrhuje sa conv=notrunc) binary použiť pre dáta binárny V/V direct použiť pre dáta priamy V/V dsync použiť pre dáta synchronizovaný V/V noatime neaktualizovať čas posledného prístupu noctty nepriraďovať zo súboru riadiaci terminál noerror pokračovať aj pri chybách pri čítaní sync vyplniť každý blok znakom NULL na veľkosť ibs; keď sa použije s block alebo unblock, vyplniť medzerami namiesto NULL fdatasync pred ukončením fyzicky zapísať údaje fsync podobne, ale zapísať aj metadáta nofollow nenasledovať symbolické odkazy nolinks skončiť neúspešne pri viacnásobnom odkaze nonblock použiť neblokoujúci V/V sync podobne, ale aj pre metadáta text použiť pre dáta textový V/V %s: nie je možné vyhľadať, %g s, %s/s nekonečno BViac informácií získate príkazom `%s --help'. Neznáma systémová chybaPoužitie: %s [SÚBOR]... alebo: %s [VOĽBA] nie je možné skombinovať excl a nocreatnie je možné vykonať fstat %snakoniec nie je možné obísť chybu jadrazatváram výstupný súbor %sfdatasync zlyhalo na %sfsync zlyhalo na %sneplatné číslo %spretečenie pozície pri čítaní súboru %sotváram %snastavujem príznaky %sštandardný vstupštandardný výstupneznámy operand %supozornenie: obchádza sa chyba jadra vo funkcii lseek v súbore (%s) mt_type=0x%0lx -- pozri zoznam typov v zápis do %sdc3dd-7.1.614/po/ru.po0000644000175000017500000142056011233346647014064 0ustar amedicoamedico# Локализация GNU coreutils # Copyright (C) 1999, 2000, 2005, 2006 Free Software Foundation, Inc. # Denis Perchine , 1997-2002. # Oleg Tihonov , 1999-2007. # msgid "" msgstr "" "Project-Id-Version: coreutils 6.9\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2007-03-27 08:06+0400\n" "Last-Translator: Oleg S. Tihonov \n" "Language-Team: Russian \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "невозможно создать процесс для %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Попробуйте `%s --help' для получения более подробного описания.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Использование: %s [ОПЕРАНД]...\n" " или: %s КЛЮЧ\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Копирует файл, преобразует и форматирует в зависимости от операндов.\n" "\n" " bs=ЧИСЛО принудительно использовать ibs=ЧИСЛО и obs=ЧИСЛО\n" " cbs=ЧИСЛО преобразовывать заданное ЧИСЛУ байт за раз\n" " conv=СПИСОК преобразовывать файл в соответствии со СПИСКОМ символов,\n" " элементы перечисляются через запятую\n" " count=ЧИСЛО копировать только заданное ЧИСЛО входных блоков\n" " ibs=ЧИСЛО считывать заданное ЧИСЛО байт за раз\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=ФАЙЛ читать ФАЙЛ, а не стандартный ввод\n" " iflag=СПИСОК читать в соответствии со СПИСКОМ символов,\n" " элементы перечисляются через запятую\n" " obs=ЧИСЛО записывать заданное ЧИСЛО байт за раз\n" " of=ФАЙЛ записывать в ФАЙЛ, а не на стандартный вывод\n" " oflag=СПИСОК записывать в соответствии со списком символов,\n" " элементы перечисляются через запятую\n" " seek=ЧИСЛО пропустить до начала вывода заданное ЧИСЛО блоков размера " "obs\n" " skip=ЧИСЛО пропустить с начала ввода заданное ЧИСЛО блоков размера " "ibs\n" " status=noxfer не выводить статистику передачи\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "После ЧИСЛА блоков и байт может стоять один из умножающий суффиксов:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB\n" "1000*1000*1000, G 1024*1024*1024 и так далее для T, P, E, Z, Y.\n" "\n" "Каждый элемент СПИСКА для conv может быть:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat не создавать выходной файл\n" " excl завершаться неуспехом, если выходной файл уже существует\n" " notrunc не обрезать выходной файл\n" " ucase изменять регистр с нижнего на верхний\n" " swab менять местами каждую пару входных байтов\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror продолжать после ошибок чтения\n" " sync дополнять каждый входной блок нулями до размера ibs; если\n" " используется вместе с block или unblock, дополнять пробелами\n" " fdatasync физически записать выходной файл перед завершением\n" " fsync аналогично, но записать также метаданные\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Символ ФЛАГ может быть таким:\n" "\n" " append режим добавления (имеет смысл для вывода; рекомендуется " "conv=notrunc)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct использовать прямой ввод/вывод для данных\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory выдавать ошибку, если это не каталог\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync использовать синхронизированный ввод/вывод для данных\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync то же, но так же и для метаданных\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock использовать неблокирующий ввод/вывод\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime не обновлять время последнего доступа\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty не назначать управляющий терминал из файла\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow не следовать по символьным ссылкам\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks выдавать ошибку, если найдено несколько ссылок\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary использовать бинарный ввод/вывод для данных\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text использовать текстовый ввод/вывод для данных\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Если послать работающему процессу `dd' сигнал %s, он напечатает на\n" "стандартный поток ошибок статистику ввода/вывода и продолжит\n" "копирование.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 входных записей\n" " 18335302+0 выходных записей\n" " 9387674624 байта (9.4 GB) скопировано, 34.6279 секунды, 271 MB/s\n" "\n" "Ключи:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Неизвестная системная ошибка" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% записей считано\n" "%+% записей написано\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] " скопирован % байт (%s)" msgstr[1] " скопировано % байта (%s)" msgstr[2] " скопировано % байт (%s)" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Бесконечность" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g c, %s/c\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g c, %s/c\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "закрытие входного файла %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "закрытие выходного файла %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Исчерпаны суффиксы для выходных файлов" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "открытие %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "НЕУСПЕШНО" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "операнд %s не распознан" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "неверная дата %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "неверный формат даты %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "неверный формат даты %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "неверный формат даты %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "недопустимое преобразование: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "недопустимый флаг входа: %s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "недопустимый флаг выхода: %s" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "недопустимый флаг статуса: %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "неверный номер %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "нельзя совмещать excl и nocreat" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "нельзя сочетать ключи -e и -i" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "нельзя сочетать ключи -e и -i" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "нельзя сочетать ключи -e и -i" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "нельзя сочетать ключи -e и -i" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "нельзя сочетать ключи -e и -i" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "внимание: обходим ошибку lseek в ядре для файла (%s)\n" " mt_type=0x%0lx -- см. для списка типов" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "чтение %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: невозможно сместить указатель файла" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "переполнение сдвига при чтении файла %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "предупреждение: смещение файла стало неверным после ошибки чтения" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "невозможно обойти ошибку ядра" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "установка флагов для %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "чтение каталога %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "чтение каталога %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "запись в %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "операция fdatasync для %s неуспешна" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "операция fsync для %s неуспешна" #: src/dc3dd.c:3907 msgid "standard input" msgstr "стандартный ввод" #: src/dc3dd.c:3938 msgid "standard output" msgstr "стандартный вывод" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "смещение слишком велико: невозможно обрезать до величины seek=% (%" "lu-байтных) блоков" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "невозможно выполнить fstat для %s" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "отсечение на % байт в выходном файле %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii из EBCDIC в ASCII\n" #~ " ebcdic из ASCII в EBCDIC\n" #~ " ibm из ASCII в альтернативную EBCDIC\n" #~ " block заполнять записи, заканчивающиеся переводом строки, пробелами " #~ "до\n" #~ " размера cbs\n" #~ " unblock заменять завершающие пробелы в записях размера cbs на перевод " #~ "строки\n" #~ " lcase изменять регистр с верхнего на нижний\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% усеченная запись\n" #~ msgstr[1] "% усеченные записи\n" #~ msgstr[2] "% усеченных записей\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "нельзя сочетать любые два из {ascii,ebcdic,ibm}" #~ msgid "cannot combine block and unblock" #~ msgstr "нельзя совмещать block и unblock" #~ msgid "cannot combine lcase and ucase" #~ msgstr "нельзя совмещать lcase и ucase" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "предупреждение: смещение файла стало неверным после ошибки чтения" #~ msgid "error writing %s" #~ msgstr "ошибка записи %s" #~ msgid "invalid argument %s for %s" #~ msgstr "неверный аргумент %s для %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "неоднозначный аргумент %s для %s" #~ msgid "Valid arguments are:" #~ msgstr "Верные аргументы:" #, fuzzy #~ msgid "error closing file" #~ msgstr "закрытие входного файла %s" #~ msgid "write error" #~ msgstr "ошибка записи" #~ msgid "preserving permissions for %s" #~ msgstr "сохранение прав доступа для %s" #~ msgid "cannot stat %s" #~ msgstr "невозможно выполнить stat для %s" #~ msgid "regular empty file" #~ msgstr "пустой обычный файл" #~ msgid "regular file" #~ msgstr "обычный файл" #~ msgid "directory" #~ msgstr "Каталог" #~ msgid "block special file" #~ msgstr "блочный специальный файл" #~ msgid "character special file" #~ msgstr "знаковый специальный файл" #~ msgid "fifo" #~ msgstr "файл-очередь" #~ msgid "symbolic link" #~ msgstr "символьная ссылка" #~ msgid "socket" #~ msgstr "сокет" #~ msgid "message queue" #~ msgstr "очередь сообщений" #~ msgid "semaphore" #~ msgstr "семафор" #~ msgid "shared memory object" #~ msgstr "объект разделяемой памяти" #~ msgid "typed memory object" #~ msgstr "объект типизированной памяти" #~ msgid "weird file" #~ msgstr "странный файл" #~ msgid "Address family for hostname not supported" #~ msgstr "Семейство адресов не поддерживается для этого хоста" #~ msgid "Temporary failure in name resolution" #~ msgstr "Временный сбой разрешения имен" #~ msgid "Bad value for ai_flags" #~ msgstr "Неверное значение для ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Невосстановимый сбой разрешения имен" #~ msgid "ai_family not supported" #~ msgstr "ai_family не поддерживается" #~ msgid "Memory allocation failure" #~ msgstr "Ошибка выделения памяти" #~ msgid "No address associated with hostname" #~ msgstr "С данным именем хоста не ассоциирован адрес" #~ msgid "Name or service not known" #~ msgstr "Неизвестное имя или сервис" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Servname не поддерживается для ai_socktype" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype не поддерживается" #~ msgid "System error" #~ msgstr "Системная ошибка" #~ msgid "Argument buffer too small" #~ msgstr "Буфер аргументов слишком мал" #~ msgid "Processing request in progress" #~ msgstr "Идет обработка запроса" #~ msgid "Request canceled" #~ msgstr "Запрос отменен" #~ msgid "Request not canceled" #~ msgstr "Запрос не отменен" #~ msgid "All requests done" #~ msgstr "Все запросы завершены" #~ msgid "Interrupted by a signal" #~ msgstr "Прервано по сигналу" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Неправильно закодирована строка параметров" #~ msgid "Unknown error" #~ msgstr "Неизвестная ошибка" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: неоднозначный ключ `%s'\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: ключ `--%s' должен использоваться без аргумента\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: ключ `%c%s' должен использоваться без аргумента\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: ключ `%s' должен использоваться с аргументом\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: ключ `--%s' не распознан\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: ключ `%c%s' не распознан\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: недопустимый ключ -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: неверный ключ -- `%c'\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: ключ должен использоваться с аргументом -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: неоднозначный ключ `-W %s'\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: ключ `-W %s' должен использоваться без аргумента\n" #~ msgid "cannot change permissions of %s" #~ msgstr "невозможно изменить права доступа %s" #~ msgid "cannot create directory %s" #~ msgstr "невозможно создать каталог %s" #~ msgid "memory exhausted" #~ msgstr "память исчерпана" #~ msgid "unable to record current working directory" #~ msgstr "невозможно сохранить текущий рабочий каталог" #~ msgid "failed to return to initial working directory" #~ msgstr "не удалось вернуться в первоначальный рабочий каталог" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #~ msgid "%s: end of file" #~ msgstr "%s: конец файла" #~ msgid "Success" #~ msgstr "Успех" #~ msgid "No match" #~ msgstr "Нет соответствия" #~ msgid "Invalid regular expression" #~ msgstr "Недопустимое регулярное выражение" #~ msgid "Invalid collation character" #~ msgstr "Неверный знак сортировки" #~ msgid "Invalid character class name" #~ msgstr "Неверное имя класса знаков" #~ msgid "Trailing backslash" #~ msgstr "Обратная косая черта в конце выражения" #~ msgid "Invalid back reference" #~ msgstr "Неверная обратная ссылка" #~ msgid "Unmatched [ or [^" #~ msgstr "Непарная [ или [^" #~ msgid "Unmatched ( or \\(" #~ msgstr "Непарная ( или \\(" #~ msgid "Unmatched \\{" #~ msgstr "Непарная \\{" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Неверное содержимое \\{\\}" #~ msgid "Invalid range end" #~ msgstr "Неверный конец диапазона" #~ msgid "Memory exhausted" #~ msgstr "Память исчерпана" #~ msgid "Invalid preceding regular expression" #~ msgstr "Неверное предшествующее регулярное выражение" #~ msgid "Premature end of regular expression" #~ msgstr "Преждевременный конец регулярного выражения" #~ msgid "Regular expression too big" #~ msgstr "Регулярное выражение слишком велико" #~ msgid "Unmatched ) or \\)" #~ msgstr "Непарная ) или \\)" #~ msgid "No previous regular expression" #~ msgstr "Нет предшествующего регулярного выражения" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "опасно рекурсивно обрабатывать %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "опасно рекурсивно обрабатывать %s (то же, что %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "" #~ "используйте --no-preserve-root, чтобы отменить предупреждение об опасности" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "установка прав доступа для %s" #~ msgid "iconv function not usable" #~ msgstr "функция iconv неприменима" #~ msgid "iconv function not available" #~ msgstr "функция iconv недоступна" #~ msgid "character out of range" #~ msgstr "знак вне допустимого диапазона" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "невозможно преобразовать U+%04X к локальной кодировке" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "невозможно преобразовать U+%04X к локальной кодировке: %s" #~ msgid "invalid user" #~ msgstr "неверный пользователь" #~ msgid "invalid group" #~ msgstr "неверная группа" #~ msgid "invalid spec" #~ msgstr "неверный спецификатор" #~ msgid "(C)" #~ msgstr "(C)" #~ msgid "Written by %s.\n" #~ msgstr "Автор программы -- %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Авторы программы -- %s и %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Авторы программы -- %s, %s и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Авторы программы -- %s, %s, %s\n" #~ "и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Авторы программы -- %s, %s, %s,\n" #~ "%s и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Авторы программы -- %s, %s, %s,\n" #~ "%s, %s и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Авторы программы -- %s, %s, %s,\n" #~ "%s, %s, %s и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Авторы программы -- %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Авторы программы -- %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Авторы программы -- %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s и другие.\n" #~ msgid "invalid argument: %s" #~ msgstr "неверный аргумент: %s" #~ msgid "string comparison failed" #~ msgstr "сравнение строк неуспешно" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Чтобы обойти эту проблему, установите LC_ALL='C'." #~ msgid "The strings compared were %s and %s." #~ msgstr "Сравнивались строки %s %s." #~ msgid "string transformation failed" #~ msgstr "преобразование строк неуспешно" #~ msgid "The untransformed string was %s." #~ msgstr "Нетрансформированная строка была %s." #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "неверный аргумент %s" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "неверный аргумент с плавающей точкой: %s" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s `%s'слишком велик" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ] [ФАЙЛ]\n" #~ "Кодирует или декодирует в/из base64 ФАЙЛ, или стандартный ввод на " #~ "стандартный \n" #~ "вывод.\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=СТОЛБЕЦ Переносить закодированные строки после заданного " #~ "СТОЛБЦА\n" #~ " (по умолчанию 76). Задайте 0, чтобы выключить " #~ "перенос.\n" #~ "\n" #~ " -d, --decode Декодировать данные.\n" #~ " -i, --ignore-garbage При декодировании игнорировать неалфавитные " #~ "знаки.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Показать эту справку и выйти.\n" #~ " --version Показать информацию о версии и выйти.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Данные кодируются как описано для алфавита base64 в RFC 3548. При\n" #~ "декодировании ввод может содержать также переводы строк помимо байтов\n" #~ "формального алфавита base64. Используйте ключ --ignore-garbage, чтобы\n" #~ "попытаться проигнорировать неалфавитные знаки в закодированном потоке.\n" #~ msgid "read error" #~ msgstr "ошибка чтения" #~ msgid "invalid input" #~ msgstr "неверный ввод" #~ msgid "invalid wrap size: %s" #~ msgstr "неверный размер переноса: %s" #~ msgid "extra operand %s" #~ msgstr "лишний операнд %s" #~ msgid "closing standard input" #~ msgstr "закрытие стандартного ввода" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s ИМЯ [СУФФИКС]\n" #~ " или: %s КЛЮЧ\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Выводит ИМЯ без предшествующих названий каталогов.\n" #~ "Если указано, удаляет также завершающий СУФФИКС.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Примеры:\n" #~ " %s /usr/bin/sort Выводит \"sort\".\n" #~ " %s include/stdio.h .h Выводит \"stdio\".\n" #~ msgid "missing operand" #~ msgstr "пропущен операнд" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Использование: %s [КЛЮЧ] [ФАЙЛ]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Сцепляет ФАЙЛ(ы) или стандартный ввод на стандартный вывод.\n" #~ "\n" #~ " -A, --show-all синоним -vET\n" #~ " -b, --number-nonblank нумеровать непустые строки при выводе\n" #~ " -e синоним -vE\n" #~ " -E, --show-ends показывать $ в конце каждой строки\n" #~ " -n, --number нумеровать все строки при выводе\n" #~ " -s, --squeeze-blank выводить не более одной пустой строки\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t синоним -vT\n" #~ " -T, --show-tabs показывать знаки табуляции как ^I\n" #~ " -u (игнорируется)\n" #~ " -v, --show-nonprinting использовать запись с ^ и M-, за исключением " #~ "знаков\n" #~ " перевода строки и табуляции\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Примеры:\n" #~ " %s f - g Выводит содержимое f, потом стандартный ввод, потом g.\n" #~ " %s Копирует стандартный ввод на стандартный вывод.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "невозможно выполнить ioctl для %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: ввод и вывод в один файл" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "невозможно изменить владельца %s\n" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "ошибка получения атрибутов %s" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "невозможно изменить владельца %s на %s\n" #~ msgid "cannot access %s" #~ msgstr "невозможно получить доступ к %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "невозможно считать каталог %s" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "изменение прав доступа для %s" #~ msgid "fts_read failed" #~ msgstr "операция fts_read неуспешна" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... РЕЖИМ[,РЕЖИМ]... ФАЙЛ\n" #~ " или: %s [КЛЮЧ]... ВОСЬМ-РЕЖИМ ФАЙЛ...\n" #~ " или: %s [КЛЮЧ]... --reference=ОФАЙЛ ФАЙЛ...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Изменяет принадлежность группе каждого ФАЙЛА на ГРУППУ.\n" #~ "С ключом --reference, изменяет группу каждого ФАЙЛА на группу ОФАЙЛА.\n" #~ "\n" #~ " -c, --changes то же что и verbose, но только если произошло " #~ "изменение\n" #~ " --dereference изменять файл, на который указывает символьная\n" #~ " ссылка, а не саму ссылку (по умолчанию)\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet подавлять большинство сообщений об ошибках\n" #~ " --reference=ОФАЙЛ использовать группу ОФАЙЛА вместо явного " #~ "указания ГРУППЫ\n" #~ " -R, --recursive рекурсивно обрабатывать файлы и каталоги\n" #~ " -v, --verbose выводить диагностические сообщения для каждого " #~ "файла\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Следующие ключи влияют на способ обхода иерархии каталогов при\n" #~ "заданном ключе -R. Если указано несколько этих ключей, действует\n" #~ "только последний.\n" #~ "\n" #~ " -H если аргумент командной строки является " #~ "символьной\n" #~ " ссылкой на каталог, перейти по ней\n" #~ " -L переходить по любой встреченной символьной " #~ "ссылке на\n" #~ " каталог\n" #~ " -P не переходить по символьным ссылкам (по " #~ "умолчанию)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "Комбинация ключей -R --dereference требует указать -H либо -L" #~ msgid "missing operand after %s" #~ msgstr "пропущен операнд после %s" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "неверный режим: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "ошибка получения атрибутов %s" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "неверная группа %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... ГРУППА ФАЙЛ...\n" #~ " или: %s [КЛЮЧ]... --reference=ОФАЙЛ ФАЙЛ...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Изменяет принадлежность группе каждого ФАЙЛА на ГРУППУ.\n" #~ "С ключом --reference, изменяет группу каждого ФАЙЛА на группу ОФАЙЛА.\n" #~ "\n" #~ " -c, --changes то же что и verbose, но только если произошло " #~ "изменение\n" #~ " --dereference изменять файл, на который указывает символьная\n" #~ " ссылка, а не саму ссылку (по умолчанию)\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference изменяет символьные ссылки, а не файлы, на " #~ "которые\n" #~ " они ссылаются (имеет смысл только на системах, " #~ "где\n" #~ " можно изменять владельца символьной ссылки)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root не обрабатывать `/' особо (по умолчанию)\n" #~ " --preserve-root отказываться рекурсивно обрабатывать `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet подавлять большинство сообщений об ошибках\n" #~ " --reference=ОФАЙЛ использовать группу ОФАЙЛА вместо явного " #~ "указания ГРУППЫ\n" #~ " -R, --recursive рекурсивно обрабатывать файлы и каталоги\n" #~ " -v, --verbose выводить диагностические сообщения для каждого " #~ "файла\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Примеры:\n" #~ " %s staff /u Меняет группу /u на \"staff\".\n" #~ " %s -hR staff /u Меняет группу /u и вложенных файлов на \"staff\".\n" #~ msgid "getting new attributes of %s" #~ msgstr "получаю новые атрибуты %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "" #~ "ни символьная ссылка %s, ни то но что она указывает не были изменены\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "права доступа %s изменены на %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "ошибка изменения прав доступа %s на %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "права доступа %s оставлены как %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "невозможно создать символьную ссылку %s" #~ msgid "changing permissions of %s" #~ msgstr "изменение прав доступа для %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: новые права доступа %s, а не %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... РЕЖИМ[,РЕЖИМ]... ФАЙЛ\n" #~ " или: %s [КЛЮЧ]... ВОСЬМ-РЕЖИМ ФАЙЛ...\n" #~ " или: %s [КЛЮЧ]... --reference=ОФАЙЛ ФАЙЛ...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Изменяет режим каждого ФАЙЛА на указанный РЕЖИМ.\n" #~ "\n" #~ " -c, --changes как verbose, но сообщать, только если сделано\n" #~ " действительное изменение\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root не обрабатывать `/' особо (по умолчанию)\n" #~ " --preserve-root отказываться рекурсивно обрабатывать `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet подавлять большинство сообщений об ошибках\n" #~ " -v, --verbose выводить диагностические сообщения для каждого " #~ "файла\n" #~ " --reference=ОФАЙЛ использовать режим ОФАЙЛА вместо явного " #~ "указания РЕЖИМА\n" #~ " -R, --recursive рекурсивно обрабатывать файлы и каталоги\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "РЕЖИМ задается в форме `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "нельзя сочетать ключи режима и --reference" #~ msgid "invalid mode: %s" #~ msgstr "неверный режим: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "изменен владелец %s на %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "изменена группа %s на %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "не изменен владелец %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "невозможно изменить владельца %s на %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "ошибка изменения группы %s на %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "невозможно изменить владельца %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "владелец %s оставлен как %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "группа %s оставлена как %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "владелец %s оставлен без изменений\n" #~ msgid "cannot dereference %s" #~ msgstr "невозможно перейти по символьной ссылке %s" #~ msgid "changing ownership of %s" #~ msgstr "изменение владельца %s" #~ msgid "changing group of %s" #~ msgstr "изменение группы для %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... [ВЛАДЕЛЕЦ][:[ГРУППА]] ФАЙЛ...\n" #~ " или: %s [КЛЮЧ]... --reference=ОФАЙЛ ФАЙЛ...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Изменяет владельца и/или группу каждого ФАЙЛА на ВЛАДЕЛЬЦА и/или ГРУППУ.\n" #~ "С ключом --reference, изменяет владельца и группу каждого ФАЙЛА на " #~ "владельца и\n" #~ "группу ОФАЙЛА.\n" #~ "\n" #~ " -c, --change тоже что и verbose, но сообщает только когда\n" #~ " были произведены изменения\n" #~ " --dereference изменять файл, на который указывает символьная\n" #~ " ссылка, а не саму ссылку (по умолчанию)\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " изменяет владельца и/или группу каждого файла\n" #~ " только если текущий владелец и/или группа\n" #~ " совпадает с CURRENT_OWNER::CURRENT_GROUP.\n" #~ " Как группа, так и владелец могут быть опущены,\n" #~ " в этом случае совпадение для данного атрибута\n" #~ " не обязательно.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet подавлять большинство сообщений об ошибках\n" #~ " --reference=ОФАЙЛ использовать владельца и группу ОФАЙЛА вместо " #~ "явного\n" #~ " указания ВЛАДЕЛЬЦА:ГРУППЫ\n" #~ " -R, --recursive рекурсивно обрабатывать файлы и каталоги\n" #~ " -v, --verbose выводить диагностические сообщения для каждого " #~ "файла\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Владелец не изменяется, если он не задан в аргументе. Группа также не\n" #~ "изменяется, если не задана; но если после символьного ВЛАДЕЛЬЦА стоит\n" #~ "знак `:', подразумевается изменение группы на основную группу текущего\n" #~ "пользователя.\n" #~ "ВЛАДЕЛЕЦ и ГРУППА могут быть как числовыми, так и символьными.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Примеры:\n" #~ " %s root /u Меняет владельца /u на \"root\".\n" #~ " %s root:staff /u То же, но еще меняет группу на \"staff\".\n" #~ " %s -hR root /u Меняет владельца /u и вложенных файлов на \"root\".\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s КАТАЛОГ [КОМАНДА...]\n" #~ " или: %s КЛЮЧ\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Выполняет КОМАНДУ с указанным корневым каталогом.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Если команда не задана, выполняет ``${SHELL} -i'' (по умолчанию: /bin/" #~ "sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "невозможно сменить корневой каталог на %s" #~ msgid "cannot chdir to root directory" #~ msgstr "невозможно перейти к корневому каталогу" #~ msgid "cannot run command %s" #~ msgstr "невозможно выполнить команду %s" #~ msgid "%s: file too long" #~ msgstr "%s: файл слишком велик" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Использование: %s [ФАЙЛ]...\n" #~ " или: %s КЛЮЧ\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Печатает контрольную сумму (CRC) и число байт для каждого ФАЙЛА.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Использование: %s [КЛЮЧ]... ФАЙЛ1 ФАЙЛ2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Сравнивает сортированные файлы ФАЙЛ1 и ФАЙЛ2 построчно.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "При запуске без ключей выдает результат в три столбца. Первый столбец\n" #~ "содержит строки, уникальные для ФАЙЛА1, второй -- уникальные для\n" #~ "ФАЙЛА2, а третий -- общие для обоих файлов строки.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 не показывать строки, уникальные для ФАЙЛА1\n" #~ " -2 не показывать строки, уникальные для ФАЙЛА2\n" #~ " -3 не показывать строки, встреченные в обоих файлах\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "установка прав доступа для %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "не удалось сохранить владельца %s" #~ msgid "failed to lookup file %s" #~ msgstr "не удалось найти файл %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "не удалось сохранить автора %s" #~ msgid "cannot open %s for reading" #~ msgstr "невозможно открыть %s для чтения" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "пропускаю файл %s, так как он был заменен во время копирования" #, fuzzy #~ msgid "failed to get file system create context" #~ msgstr "" #~ "не удалось сделать так, чтобы копия стандартного потока ошибок закрылась " #~ "при начале выполнения" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "ошибка изменения группы %s на %s\n" #~ msgid "cannot remove %s" #~ msgstr "невозможно удалить %s" #~ msgid "removed %s\n" #~ msgstr "удален %s\n" #~ msgid "cannot create regular file %s" #~ msgstr "невозможно создать обычный файл %s" #~ msgid "cannot lseek %s" #~ msgstr "невозможно выполнить lseek для %s" #~ msgid "writing %s" #~ msgstr "запись %s" #~ msgid "preserving times for %s" #~ msgstr "сохранение временной отметки %s" #~ msgid "closing %s" #~ msgstr "закрытие %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "" #~ "%s: попытаться перезаписать %s, несмотря на права доступа %04lo (%s)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: переписать %s? " #~ msgid " (backup: %s)" #~ msgstr " (резервная копия: %s)" #~ msgid "omitting directory %s" #~ msgstr "пропуск каталога %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "внимание: входной файл %s указан более одного раза" #~ msgid "%s and %s are the same file" #~ msgstr "%s и %s - один и тот же файл" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "" #~ "невозможно перезаписать поверх файла %s, не являющегося каталогом, " #~ "каталог %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "не переписываю только что созданный %s %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "невозможно перезаписать каталог %s файлом, не являющимся каталогом" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "" #~ "невозможно переименовать каталог в файл, не являющийся каталогом: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "сохранение запасной копии %s уничтожит оригинал; %s не перенесен" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "сохранение запасной копии %s уничтожит оригинал; %s не скопирован" #~ msgid "cannot backup %s" #~ msgstr "невозможно создать резервную копию для %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "не переписываю только что созданный %s %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "невозможно скопировать каталог, %s, в самого себя, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "жесткая ссылка %s на каталог %s не будет создана" #~ msgid "cannot create hard link %s to %s" #~ msgstr "невозможно создать жесткую ссылку %s на %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "невозможно перенести %s в свой собственный подкаталог, %s" #~ msgid "cannot move %s to %s" #~ msgstr "невозможно переместить %s в %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "перемещение с устройства %s на устройство %s неуспешно: невозможно " #~ "удалить целевое" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "ошибка получения атрибутов %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "невозможно скопировать циклическую символьную ссылку %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: относительные символьные ссылки можно создавать только в текущем " #~ "каталоге" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "невозможно создать символьную ссылку %s на %s" #~ msgid "cannot create link %s" #~ msgstr "невозможно создать ссылку %s" #~ msgid "cannot create fifo %s" #~ msgstr "невозможно создать очередь %s" #~ msgid "cannot create special file %s" #~ msgstr "невозможно создать специальный файл %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "невозможно считать символьную ссылку %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "невозможно создать символьную ссылку %s" #~ msgid "%s has unknown file type" #~ msgstr "тип файла %s неизвестен" #~ msgid "cannot un-backup %s" #~ msgstr "невозможно восстановить %s из резервной копии" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (восстановление)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... [-T] ИСТОЧНИК НАЗНАЧЕНИЕ\n" #~ " или: %s [КЛЮЧ]... ИСТОЧНИК... КАТАЛОГ\n" #~ " или: %s [КЛЮЧ]... -t КАТАЛОГ ИСТОЧНИК...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Копирует ИСТОЧНИК в НАЗНАЧЕНИЕ, или несколько ИСТОЧНИКОВ в КАТАЛОГ.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Аргументы, обязательные для длинных ключей, обязательны и для коротких.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive тоже что и -dpPR\n" #~ " --backup[=КОГДА] создавать резервную копию каждого целевого " #~ "файла\n" #~ " -b то же, что и --backup, но без аргумента\n" #~ " --copy-contents копировать содержимое специальных файлов " #~ "при\n" #~ " рекурсивной обработке\n" #~ " -d то же, что и --no-dereference --" #~ "preserve=link\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force если нельзя открыть существующий файл,\n" #~ " удалить его и попробовать еще раз\n" #~ " -i, --interactive спрашивать перед тем как переписывать\n" #~ " -H следовать по символьным ссылкам в " #~ "командной строке\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link создавать жесткие ссылки вместо " #~ "копирования\n" #~ " -L, --dereference всегда следовать символьным ссылкам\n" #, fuzzy #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr " -P, --no-dereference не следовать символьным ссылкам\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p то же, что и --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=СПИС_АТТР] сохранять указанные атрибуты (по " #~ "умолчанию:\n" #~ " mode,ownership,timestamps), если " #~ "возможно\n" #~ " дополнительные атрибуты: links, all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=СПИС_АТТР не сохранять указанные атрибуты\n" #~ " --parents добавить исходный путь к КАТАЛОГУ\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive копировать рекурсивно каталоги\n" #~ " --remove-destination удалять каждый файл назначения перед тем,\n" #~ " как попыткой скопировать его (обратно к " #~ "--force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=КОГДА управляет созданием разряженных файлов\n" #~ " --strip-trailing-slashes удалять все конечные косые черты из " #~ "каждого\n" #~ " аргумента ИСТОЧНИК\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link создавать символьные ссылки вместо " #~ "копирования\n" #~ " -S, --suffix=СУФФИКС использовать для запасных копий заданный " #~ "СУФФИКС\n" #~ " --target-directory=КАТАЛОГ скопировать все ИСТОЧНИКИ в КАТАЛОГ\n" #~ " -T, --no-target-directory считать НАЗНАЧЕНИЕ обычным файлом\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update копировать только тогда когда исходный " #~ "файл\n" #~ " новее чем файл назначения, или когда " #~ "файл\n" #~ " назначения отсутствует\n" #~ " -v, --verbose пояснять что будет сделано\n" #~ " -x, --one-file-system оставаться в пределах одной файловой " #~ "системы\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "По умолчанию `sparse' SOURCE распознается при помощи грубой\n" #~ "эвристической процедуры и соответственно создается `sparse' DEST.\n" #~ "Автоматическое определение можно также задать при помощи ключа --" #~ "sparse=auto.\n" #~ "С ключом --sparse=always SOURCE всегда создается `sparse' вне " #~ "зависимости\n" #~ "от того содержит ли SOURCE длинные последовательности нулевых байтов.\n" #~ "Используйте ключ --sparse=never для запрещения создания `sparse' файлов.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "По умолчанию суффикс для запасных копий ~, если только не установлена\n" #~ "переменная окружения SIMPLE_BACKUP_SUFFIX или ключ --suffix. Способ " #~ "контроля\n" #~ "версий может быть установлен при помощи ключа --backup или переменной\n" #~ "окружения VERSION_CONTROL. Допустимые значения:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off никогда не создавать резервных копий (даже если\n" #~ " указан ключ --backup)\n" #~ " numbered, t создавать нумерованные копии\n" #~ " existing, nil если существуют нумерованные копии, то создавать\n" #~ " нумерованные иначе создавать простые\n" #~ " simple. never всегда создавать простые копии\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Когда заданы ключи -f и -b, и SOURCE совпадает с DEST cp создает " #~ "резервную\n" #~ "копию DEST.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "не удалось сохранить временные метки для %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "не удалось сохранить права доступа для %s" #~ msgid "cannot make directory %s" #~ msgstr "невозможно создать каталог %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s существует, но не является каталогом" #~ msgid "accessing %s" #~ msgstr "обращение к %s" #~ msgid "missing file operand" #~ msgstr "пропущен операнд, задающий файл" #~ msgid "missing destination file operand after %s" #~ msgstr "после %s пропущен операнд, задающий целевой файл" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Нельзя сочетать --target-directory (-t) и --no-target-directory (-T)" #~ msgid "target %s is not a directory" #~ msgstr "указанная цель %s не является каталогом" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "при заданном --parents назначение должно быть каталогом" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "ключ --reply устарел, используйте вместо него -i или -f" #~ msgid "multiple target directories specified" #~ msgstr "задано несколько целевых каталогов" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "невозможно создать жесткую и символьную ссылку одновременно" #~ msgid "backup type" #~ msgstr "тип резервной копии" #~ msgid "input disappeared" #~ msgstr "ввод стал недоступен" #~ msgid "%s: line number out of range" #~ msgstr "%s: номер строки вне допустимых пределов" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: номер строки вне допустимых пределов" #~ msgid " on repetition %s\n" #~ msgstr " при повторе %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: совпадение не найдено" #~ msgid "error in regular expression search" #~ msgstr "ошибка поиска регулярного выражения" #~ msgid "write error for %s" #~ msgstr "ошибка записи для %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: после разделителя ожидается целое число" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: при задании числа повторов необходима `}'" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s: между `{' и `}' должно быть целое число" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: пропущен закрывающий разделитель `%c'" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: недопустимое регулярное выражение: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: недопустимый образец" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: номер строки должен быть больше нуля" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "номер строки %s меньше номера предыдущей строки, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "предупреждение: номер строки %s равен предыдущему номеру строки" #~ msgid "invalid format width" #~ msgstr "неверная ширина в формате" #~ msgid "invalid format precision" #~ msgstr "неверная точность в формате" #~ msgid "missing conversion specifier in suffix" #~ msgstr "пропущен описатель преобразования в суффиксе" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "неверный описатель преобразования в суффиксе: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "неверный описатель преобразования в суффиксе: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "слишком много описаний преобразования (%%) в суффиксе" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "пропущено описание преобразования (%%) в суффиксе" #~ msgid "%s: invalid number" #~ msgstr "%s: недопустимое число" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Использование: %s [КЛЮЧ]... ФАЙЛ ОБРАЗЕЦ...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Выводит части ФАЙЛА, разделенные ОБРАЗЦОМ (ОБРАЗЦАМИ), в файлы `xx00',\n" #~ "`xx01', ... и печатает число байт в каждой части на стандартный вывод.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=ФОРМАТ использовать ФОРМАТ как в sprintf вместо %" #~ "02d\n" #~ " -f, --prefix=ПРЕФИКС использовать ПРЕФИКС вместо `xx'\n" #~ " -k, --keep-files не удалять выходные файлы при ошибке\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=ЦИФРЫ использовать заданное число ЦИФР вместо " #~ "двух\n" #~ " -s, --quiet, --silent не печатать размеры выходных файлов\n" #~ " -z, --elide-empty-files удалять пустые выходные файлы\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Если ФАЙЛ задан как -, читает стандартный ввод. ОБРАЗЕЦ задается " #~ "следующим\n" #~ "образом:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " ЦЕЛОЕ копировать до строки с заданным номером, но не " #~ "включительно\n" #~ " /REGEXP/[СДВИГ] копировать до совпавшей строки, но не включительно\n" #~ " %%REGEXP%%[СДВИГ] пропустить до совпавшей строки, но не включительно\n" #~ " {ЦЕЛОЕ} повторить предыдущий образец заданное число раз\n" #~ " {*} повторить предыдущий образец наибольшее возможное " #~ "число раз\n" #~ "\n" #~ "Дополнительный СДВИГ строк -- это обязательный символ `+' или `-' с " #~ "последующим\n" #~ "положительным целым числом.\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Использование: %s [КЛЮЧ]... [ФАЙЛ]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Печатает выбранные части строк из каждого ФАЙЛА на стандартный вывод.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=СПИСОК выбрать только заданные байты\n" #~ " -c, --characters=СПИСОК выбрать только заданные знаки\n" #~ " -d, --delimiter=РАЗДЕЛИТЕЛЬ использовать для разделения полей " #~ "РАЗДЕЛИТЕЛЬ\n" #~ " вместо табуляции\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=СПИСОК выбрать только заданные поля; также " #~ "печатать\n" #~ " все строки, не содержащие разделителей, " #~ "если\n" #~ " только не задан ключ -s\n" #~ " -n (игнорируется)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement дополнить множество выбранных байт, знаков или " #~ "полей.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited не печатать строки, не содержащие " #~ "разделителей\n" #~ " --output-delimiter=СТРОКА использовать СТРОКУ для разделения полей " #~ "при\n" #~ " выводе, по умолчанию используется " #~ "разделитель\n" #~ " для ввода\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Используйте один и только один из ключей -b, -c или -f. СПИСКИ\n" #~ "состоят из диапазона или нескольких диапазонов, разделенных запятыми.\n" #~ "Выбранные части входного файла печатаются в том порядке, в котором они\n" #~ "появляются на входе, и печатаются ровно один раз.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Диапазоны задаются следующим образом:\n" #~ "\n" #~ " Н Н-ный байт, знак или поле; отсчитывается от 1\n" #~ " Н- от Н-ного байта, знака или поля до конца строки\n" #~ " Н-М от Н-ного до М-ного (включительно) байта, знака или поля\n" #~ " -М от первого до М-ного (включительно) байта, знака или поля\n" #~ "\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ msgid "invalid byte or field list" #~ msgstr "неправильный список байтов или полей" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "Неверный конец диапазона" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "недопустимый входной диапазон %s" #~ msgid "byte offset %s is too large" #~ msgstr "байтовое смещение %s слишком велико" #~ msgid "field number %s is too large" #~ msgstr "номер поля %s слишком велик" #~ msgid "only one type of list may be specified" #~ msgstr "можно задать только один тип списка" #~ msgid "the delimiter must be a single character" #~ msgstr "разделитель должен быть одним символом" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "вы должны задать список байт, символов или полей" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "разделитель для входных данных можно задавать только при обработке полей" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "запрещение вывода строк, не содержащих разделителей,\n" #~ "имеет смысл только при работе с полями" #~ msgid "missing list of fields" #~ msgstr "отсутствует список полей" #~ msgid "missing list of positions" #~ msgstr "отсутствует список позиций" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... [+ФОРМАТ]\n" #~ " или: %s [-u|--utc|--universal] [ММДДччмм[[ВВ]ГГ][.сс]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Выводит текущее время в заданном ФОРМАТЕ, или устанавливает системное " #~ "время.\n" #~ "\n" #~ " -d, --date=СТРОКА показать не текущее время, а время, " #~ "описанное\n" #~ " заданной СТРОКОЙ\n" #~ " -f, --file=ФАЙЛ соответствует применению --date для каждой\n" #~ " строки ФАЙЛА\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=ФАЙЛ показать время последнего изменения ФАЙЛА\n" #~ " -R, --rfc-2822 выводить время в соответствии с RFC-2822\n" #~ " Пример: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=СПЕЦ вывести дату/время в формате RFC 3339\n" #~ " СПЕЦ=`date', `seconds' или `ns' для " #~ "получения\n" #~ " даты и времени с указанной точностью.\n" #~ " Компоненты даты и времени разделяются одним\n" #~ " пробелом: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=СТРОКА установить время, описанное СТРОКОЙ\n" #~ " -u, --utc, --universal показать или установить универсальное\n" #~ " координированное время\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "ФОРМАТ управляет выводом. Единственный ключ, допустимый для второй\n" #~ "формы, задает координированное универсальное время. Воспринимаются\n" #~ "следующие последовательности:\n" #~ "\n" #~ " %% знак %\n" #~ " %a местное сокращенное название дня недели (напр., вск)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A местное полное название дня недели (напр., понедельник)\n" #~ " %b местное сокращенное название месяца (напр., янв)\n" #~ " %B местное полное название месяца (напр., январь)\n" #~ " %c местное время и дата (напр., Чтв 3 Мар 23:05:25 2005)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C век; как %Y, но опускаются две последние цифры (напр., 21)\n" #~ " %d день месяца (напр., 01)\n" #~ " %D дата; аналогично %m/%d/%y\n" #~ " %e день месяца, дополненный пробелами; аналогично %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F полная дата; эквивалентно %Y-%m-%d\n" #~ " %g последние две цифры года для номера недели ISO (см. %G)\n" #~ " %G год для номера недели ISO (см. %V); обычно бывает полезно только с " #~ "%V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h то же, что и %b\n" #~ " %H час (00..23)\n" #~ " %I час (01..12)\n" #~ " %j номер дня в году (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k час ( 0..23)\n" #~ " %l час ( 1..12)\n" #~ " %m месяц (01..12)\n" #~ " %M минуты (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n новая строка\n" #~ " %N наносекунды (000000000..999999999)\n" #~ " %p местный эквивалент AM или PM; пусто если неизвестно\n" #~ " %P как %p, но строчными буквами\n" #~ " %r время по локали, 12-часовой формат (напр., 11:11:04 PM)\n" #~ " %R часы и минуты по локали, 24-часовой формат; аналог %H:%M\n" #~ " %s число секунд, истекших с 1970-01-01 00:00:00 UTC\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S секунды (00..60)\n" #~ " %t табуляция\n" #~ " %T время, аналог %H:%M:%S\n" #~ " %u день недели (1..7); 1 обозначает понедельник\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U номер недели в году, если первый день недели -- воскресенье " #~ "(00..53)\n" #~ " %V номер недели по ISO, если первый день недели -- понедельник " #~ "(01..52)\n" #~ " %w день недели (0..6), 0 означает воскресенье\n" #~ " %W номер недели в году, если первый день недели -- понедельник " #~ "(00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x местное представление даты (напр., дд/мм/гг)\n" #~ " %X местное представление времени (напр., 23:13:48)\n" #~ " %y последние две цифры года (00..99)\n" #~ " %Y год\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z +ччмм часовой пояс (напр., -0400)\n" #~ " %:z +чч:мм часовой пояс (напр., -04:00)\n" #~ " %::z +чч:мм:сс часовой пояс (напр., -04:00:00)\n" #~ " %:::z часовой пояс с достаточным количеством двоеточий (напр., -04, " #~ "+05:30)\n" #~ " %Z алфавитное сокращение часового пояса (напр., EDT)\n" #~ "\n" #~ "По умолчанию date дополняет числовые поля нулями.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "После `%' могут идти следующие необязательные флаги:\n" #~ "\n" #~ " - (дефис) не дополнять это поле\n" #~ " _ (подчерк) дополнять пробелами\n" #~ " 0 (ноль) дополнять нулями\n" #~ " ^ использовать верхний регистр, если возможно\n" #~ " # использовать противоположный регистр, если возможно\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "После любого из флагов идет необязательная ширина поля в виде десятичного " #~ "числа;\n" #~ "затем необязательный модификатор, один из следующих:\n" #~ "E -- если возможно, использовать альтернативное представление для текущей " #~ "локали\n" #~ "O -- если возможно, использовать альтернативные числовые символы локали.\n" #~ msgid "multiple output formats specified" #~ msgstr "задано несколько выходных форматов" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "ключи для вывода даты взаимно исключают друг друга" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "ключи для установки и для отображения времени не могут применяться вместе" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "аргумент %s не начинается со знака `+';\n" #~ "При задании даты, каждый аргумент, не являющийся ключом, должен быть " #~ "строкой\n" #~ "формата и начинаться знаком `+'." #~ msgid "cannot set date" #~ msgstr "невозможно установить дату" #~ msgid "time %s is out of range" #~ msgstr "время %s вне допустимого диапазона" #~ msgid "Filesystem Type" #~ msgstr "Ф. система Тип " #~ msgid "Filesystem " #~ msgstr "Файловая система " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Инодов Испол Своб Исп %%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Разм Исп Дост Исп%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Разм Исп Дост Исп%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-блоков Исп Доступно Всего" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-блоков Исп Доступно Исп%%" #~ msgid " Mounted on\n" #~ msgstr " смонтирована на\n" #~ msgid "cannot get current directory" #~ msgstr "текущий каталог недоступен" #~ msgid "cannot change to directory %s" #~ msgstr "невозможно сменить каталог на %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "невозможно выполнить stat для текущего каталога (сейчас %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Использование: %s [КЛЮЧ]... [ФАЙЛ]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Показать информацию о файловой системе, на которой расположен каждый\n" #~ "из ФАЙЛОВ, или, по умолчанию, обо всех файловых системах.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all включать виртуальные файловые системы\n" #~ " -B, --block-size=РАЗМЕР использовать блоки указанного РАЗМЕРА (в " #~ "байтах)\n" #~ " -h, --human-readable печатать размеры в удобном для человека виде\n" #~ " (например, 1K 234M 2G)\n" #~ " -H, --si то же, но использовать степени 1000, а не 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes вывести информацию об индексных дескрипторах, а " #~ "не об\n" #~ " использовании блоков\n" #~ " -k аналог --block-size=1K\n" #~ " -l, --local перечислить только локальные файловые системы\n" #~ " --no-sync не вызывать sync перед получением информации об\n" #~ " использовании блоков (по умолчанию)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability выводить в формате POSIX\n" #~ " --sync вызывать sync перед получением информации об\n" #~ " использовании блоков\n" #~ " -t, --type=ТИП перечислить только файловые системы указанного " #~ "ТИПА\n" #~ " -T, --print-type печатать тип файловой системы\n" #~ " -x, --exclude-type=ТИП исключить файловые системы указанного ТИПА\n" #~ " -v (игнорируется)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "РАЗМЕР может быть таким (или это может быть целое число, за которым\n" #~ "может следовать одно из перечисленного): kB 1000, K 1024,\n" #~ "MB 1000*1000, M 1024*1024 и так далее для G, T, P, E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "файловая система типа %s и выбрана, и исключена" #~ msgid "Warning: " #~ msgstr "Предупреждение: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%sошибка чтения таблицы смонтированных файловых систем" #~ msgid "no file systems processed" #~ msgstr "не обработано ни одной файловой системы" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Использование: %s [КЛЮЧ]... [ФАЙЛ]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Выдает команды для установки переменной окружения LS_COLORS.\n" #~ "\n" #~ "Задать формат вывода:\n" #~ " -b, --sh, --bourne-shell вывести код для установки LS_COLORS в\n" #~ " Bourne shell\n" #~ " -c, --csh, --c-shell вывести код для установки LS_COLORS в C " #~ "shell\n" #~ " -p, --print-database вывести установки по умолчанию\n" #~ " --help показать помощь и выйти\n" #~ " --version вывести информацию о версии и выйти\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Если указан FILE, то читать его чтобы узнать какие цвета каким " #~ "расширениям\n" #~ "сопоставлены. Иначе использовать базу данных по умолчанию. Для более\n" #~ "детального описания формата FILE запустите dircolors --print-database.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: неправильная строка; пропущена вторая лексема" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu ключевое слово %s не распознано" #~ msgid "" #~ msgstr "<внутренний>" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "ключи для вывода внутренней базы данных dircolors и ключи для выбора\n" #~ "синтаксиса оболочки взаимно исключают друг друга" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "Операнды-файлы нельзя сочетать с --print-database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "либо переменная окружения SHELL отсутствует, либо не задан тип " #~ "интерпретатора" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s ИМЯ\n" #~ " или: %s КЛЮЧ\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Выводит ИМЯ, удалив компоненту справа от последней косой черты; если ИМЯ " #~ "не\n" #~ "содержит косой черты, выводит `.' (то есть текущий каталог).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Примеры:\n" #~ " %s /usr/bin/sort Выводит \"/usr/bin\".\n" #~ " %s stdio.h Выводит \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... [ФАЙЛ]...\n" #~ " или: %s [КЛЮЧ]... --files0-from=Ф\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Суммирует использование дискового пространства каждого FILE, с " #~ "каталогами.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all печатать объем для всех файлов, а не только " #~ "каталогов\n" #~ " --apparent-size печатать действительные размеры, а не занимаемое " #~ "на\n" #~ " диске место; хотя действительный размер " #~ "обычно\n" #~ " меньше, иногда он может быть больше из-за дыр " #~ "в\n" #~ " файлах, внутренней фрагментации, косвенных " #~ "блоков и\n" #~ " тому подобного\n" #, fuzzy #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=РАЗМЕР использовать блоки указанного РАЗМЕРА (в " #~ "байтах)\n" #~ " -b, --bytes эквивалентно `--apparent-size --block-size=1'\n" #~ " -c, --total печатать общий итог\n" #~ " -D, --dereference-args следовать по символьным ссылкам\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=Ф вывести отчет о файлах, чьи имена (завершенные " #~ "нулем)\n" #~ " перечислены в файле Ф\n" #~ " -H как --si, но выдает предупреждение; скоро смысл " #~ "этого\n" #~ " ключа будет изменен, и он станет эквивалентен\n" #~ " ключу --dereference-args (-D)\n" #~ " -h, --human-readable печатать размеры в удобном для человека виде\n" #~ " (например, 1K 234M 2G)\n" #~ " --si как -h, но использовать степени 1000, а не 1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k синоним --block-size=1K\n" #~ " -l, --count-links складывать размеры, если есть несколько жестких " #~ "ссылок\n" #~ " -m синоним --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference разыменовывать символьные ссылки\n" #~ " -P, --no-dereference не следовать по символьным ссылкам (по " #~ "умолчанию)\n" #~ " -0, --null завершать выходную строку нулем, а не переводом " #~ "строки\n" #~ " -S, --separate-dirs не включать размер каталогов\n" #~ " -s, --summarize показывать только итог для каждого аргумента\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system пропускать каталоги на других файловых системах\n" #~ " -X ФАЙЛ, --exclude-from=ФАЙЛ исключать файлы, совпадающие с каким-" #~ "либо\n" #~ " образцом из ФАЙЛА\n" #~ " --exclude=ОБРАЗЕЦ исключать файлы, соответствующие ОБРАЗЦУ\n" #~ " --max-depth=N подводить итог для каталога (или файла, с --" #~ "all),\n" #~ " только если он на N или меньше уровней ниже,\n" #~ " чем аргумент командной строки; --max-depth=0\n" #~ " эквивалентно --summarize\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time показывать время последней модификации всех " #~ "файлов в\n" #~ " каталоге или всех его подкаталогов\n" #~ " --time=СЛОВО показывать указанное СЛОВОМ время, а не время \n" #~ " модификации: atime, access, use, ctime или " #~ "status\n" #~ " --time-style=СТИЛЬ показывать время, используя СТИЛЬ:\n" #~ " full-iso, long-iso, iso, +ФОРМАТ\n" #~ " ФОРМАТ интерпретируется как в `date'\n" #~ msgid "total" #~ msgstr "итого" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "ПРЕДУПРЕЖДЕНИЕ: используйте --si, а не -H; смысл ключа -H скоро будет\n" #~ "изменен и станет таким же как у --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "недопустимая максимальная глубина %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "ключ --megabytes устарел, используйте вместо него -m" #~ msgid "cannot both summarize and show all entries" #~ msgstr "невозможно одновременно подводить итог и показывать все элементы" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "" #~ "предупреждение: подведение итога это то же самое, что и --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "предупреждение: подведение итога конфликтует с --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Операнды-файлы нельзя сочетать с --files0-from." #~ msgid "cannot read file names from %s" #~ msgstr "невозможно прочитать имена файлов из %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "при чтении имен файлов со стандартного ввода, имя файла %s не допускается" #~ msgid "invalid zero-length file name" #~ msgstr "неверное имя файла нулевой длины" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Использование: %s [КЛЮЧ]... [СТРОКА]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Печатает СТРОКУ(СТРОКИ) на стандартный вывод.\n" #~ "\n" #~ " -n не печатать завершающий перевод строки\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e интерпретировать управляющие последовательности (по " #~ "умолчанию)\n" #~ " -E не интерпретировать управляющие последовательности\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Если действует ключ -e, распознаются следующие последовательности:\n" #~ "\n" #~ " \\0ННН знак с восьмеричным ASCII-кодом ННН\n" #~ " \\\\ обратная косая черта\n" #~ " \\a звуковой сигнал (BEL)\n" #~ " \\b забой\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c подавить завершающий символ новой строки\n" #~ " \\f новая страница\n" #~ " \\n новая строка\n" #~ " \\r возврат каретки\n" #~ " \\t горизонтальная табуляция\n" #~ " \\v вертикальная табуляция\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... [-] [ИМЯ=ЗНАЧЕНИЕ]... [КОМАНДА [АРГ]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Присваивает каждому ИМЕНИ соответствующее ЗНАЧЕНИЕ и запускает КОМАНДУ в " #~ "этой\n" #~ "среде.\n" #~ "\n" #~ " -i, --ignore-environment начать с пустой средой\n" #~ " -u, --unset=ИМЯ удалить из среды ИМЯ\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Просто `-' -- синоним для `-i'. Если не задана КОМАНДА, печатает " #~ "получившуюся\n" #~ "среду.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Преобразует знаки табуляции в каждом ФАЙЛЕ в пробелы и печатает на " #~ "стандартный\n" #~ "вывод. Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial не преобразовывать знаки табуляции после пробельных " #~ "знаков\n" #~ " -t, --tabs=ЧИСЛО устанавливает ширину табуляции, по умолчанию 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=СПИСОК использовать разделенный запятыми список позиций " #~ "табуляции\n" #~ msgid "tab stop is too large %s" #~ msgstr "размер табуляции слишком велик %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "размер табуляции содержит недопустимый знак (знаки): %s" #~ msgid "tab size cannot be 0" #~ msgstr "размер табуляции не может быть равен нулю" #~ msgid "tab sizes must be ascending" #~ msgstr "номера позиций табуляции должны возрастать" #~ msgid "input line is too long" #~ msgstr "входная строка слишком велика" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s ВЫРАЖЕНИЕ\n" #~ " или: %s КЛЮЧ\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Печатает значение ВЫРАЖЕНИЯ на стандартный вывод. Ниже пустыми строками\n" #~ "разделены группы по возрастанию приоритета. Допустимые ВЫРАЖЕНИЯ:\n" #~ "\n" #~ " АРГ1 | АРГ2 АРГ1, если он отличен от нуля, иначе АРГ2\n" #~ "\n" #~ " АРГ1 & АРГ2 АРГ1, если оба отличны от нуля, иначе 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " АРГ1 < АРГ2 АРГ1 меньше АРГ2\n" #~ " АРГ1 <= АРГ2 АРГ1 меньше или равен АРГ2\n" #~ " АРГ1 = АРГ2 АРГ1 равен АРГ2\n" #~ " АРГ1 != АРГ2 АРГ1 не равен АРГ2\n" #~ " АРГ1 >= АРГ2 АРГ1 больше или равен АРГ2\n" #~ " АРГ1 > АРГ2 АРГ1 больше АРГ2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " АРГ1 + АРГ2 арифметическая сумма АРГ1 и АРГ2\n" #~ " АРГ1 - АРГ2 арифметическая разность АРГ1 и АРГ2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " АРГ1 * АРГ2 арифметическое произведение АРГ1 и АРГ2\n" #~ " АРГ1 / АРГ2 арифметическое частное АРГ1 и АРГ2\n" #~ " АРГ1 % AРГ2 арифметический остаток от деления АРГ1 на АРГ2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " СТРОКА : REGEXP проверка совпадения REGEXP с началом или концом " #~ "СТРОКИ\n" #~ "\n" #~ " match СТРОКА REGEXP то же, что и СТРОКА : REGEXP\n" #~ " substr СТРОКА ПОЗ ДЛИНА подстрока СТРОКИ, позиция отсчитывается от " #~ "1\n" #~ " index СТРОКА СИМВОЛЫ позиция в СТРОКЕ, где первым найден любой " #~ "из\n" #~ " СИМВОЛОВ, иначе 0\n" #~ " length СТРОКА длина СТРОКИ\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + ЛЕКСЕМА воспринимать ЛЕКСЕМУ как строку, даже если " #~ "это\n" #~ " ключевое слово, как `match', или оператор, " #~ "как `/'\n" #~ "\n" #~ " ( ВЫРАЖЕНИЕ ) значение ВЫРАЖЕНИЯ\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Помните, что при использовании в оболочке некоторые операторы должны быть " #~ "взяты\n" #~ "в кавычки. Если оба аргумента АРГ являются числами, то производится\n" #~ "арифметическое сравнение, иначе они сравниваются как строки. " #~ "Сопоставления с\n" #~ "образцом возвращают совпавшую строку между \\( и \\) или пустую строку;\n" #~ "если \\( и \\) не использованы, то возвращается число совпавших " #~ "символов.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Выходной статус равен 0, если ВЫРАЖЕНИЕ не пустое и не 0; 1, если\n" #~ "ВЫРАЖЕНИЕ пусто или 0; 2, если ВЫРАЖЕНИЕ синтаксически неверно; и 3,\n" #~ "если случится ошибка.\n" #~ msgid "syntax error" #~ msgstr "синтаксическая ошибка" #~ msgid "error in regular expression matcher" #~ msgstr "ошибка в сопоставителе регулярных выражений" #~ msgid "non-numeric argument" #~ msgstr "нечисловой аргумент" #~ msgid "division by zero" #~ msgstr "деление на ноль" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s [ЧИСЛО]...\n" #~ " или: %s КЛЮЧ\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Печатает простые множители каждого ЧИСЛА.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Печатает простые множители для каждого заданного целого ЧИСЛА. Если\n" #~ "аргументы не заданы, читает числа со стандартного ввода.\n" #~ msgid "%s is too large" #~ msgstr "%s слишком велик" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s не является верным целым положительным числом" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Использование: %s [-ЦИФРЫ] [КЛЮЧ]... [ФАЙЛ]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Переформатирует каждый абзац в ФАЙЛЕ(ах) и печатает на стандартный " #~ "вывод.\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin сохранять отступы двух первых строк\n" #~ " -p, --prefix=СТРОКА форматировать только строки, начинающиеся со " #~ "СТРОКИ,\n" #~ " сохраняя при этом префикс строк\n" #~ " -s, --split-only разбивать длинные строки, но не заполнять\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph отступ первой строки отличен от отступа " #~ "второй\n" #~ " -u, --uniform-spacing один пробел после слова, два после " #~ "предложения\n" #~ " -w, --width=ЧИСЛО максимальная ширина строки (по умолчанию 75 " #~ "столбцов)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "неверный ключ -- %c; -ШИРИНА распознается, только если это первый\n" #~ "аргумент, в противном случае пишите -w N" #~ msgid "invalid width: %s" #~ msgstr "недопустимая ширина: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Разбивает строки в ФАЙЛЕ(ах) (по умолчанию читает стандартный ввод) и " #~ "печатает\n" #~ "на стандартный вывод.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes считать байты, а не столбцы\n" #~ " -s, --spaces разбивать только на пробелах\n" #~ " -w, --width=ЧИСЛО использовать указанное ЧИСЛО столбцов, а не 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "неверное число столбцов: %s" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "ошибка изменения группы %s на %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "ошибка изменения группы %s на %s\n" #~ msgid "cannot find name for group ID %lu" #~ msgstr "невозможно определить имя группы для ID %lu" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Использование: %s [КЛЮЧ]... [ПОЛЬЗОВАТЕЛЬ]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Такого пользователя нет" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Печатает первые 10 строк каждого ФАЙЛА на стандартный вывод.\n" #~ "Если задано несколько ФАЙЛОВ, сначала печатает заголовок с именем файла.\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N напечатать первые N байт каждого файла;\n" #~ " если перед N стоит `-', напечатать все, " #~ "кроме N\n" #~ " последних байт каждого файла\n" #~ " -n, --lines=[-]N напечатать первые N строк каждого файла, а не " #~ "10;\n" #~ " если перед N стоит `-', напечатать все, " #~ "кроме N\n" #~ " последних строк каждого файла\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent не печатать заголовки с именами файлов\n" #~ " -v, --verbose всегда печатать заголовки с именами файлов\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "После ЧИСЛА блоков и байт может стоять один из умножающий суффиксов:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB\n" #~ "1000*1000*1000, G 1024*1024*1024 и так далее для T, P, E, Z, Y.\n" #~ "\n" #~ "Каждый элемент СПИСКА для conv может быть:\n" #~ "\n" #~ msgid "error reading %s" #~ msgstr "ошибка чтения %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: файл слишком сократился" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: число байт слишком велико" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: невозможно вернуть указатель файла на первоначальную позицию" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: невозможно сместиться к позиции %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "невозможно переместить указатель файла для %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s настолько велико, что его невозможно машинно представить" #~ msgid "number of lines" #~ msgstr "число строк" #~ msgid "number of bytes" #~ msgstr "число байт" #~ msgid "invalid number of lines" #~ msgstr "неверное число строк" #~ msgid "invalid number of bytes" #~ msgstr "неверный число байт" #~ msgid "invalid trailing option -- %c" #~ msgstr "неверный завершающий ключ -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Использование: %s\n" #~ " или: %s КЛЮЧ\n" #~ "Печатает числовой идентификатор (шестнадцатеричный) текущей машины.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Использование: %s [ИМЯ]\n" #~ " или: %s КЛЮЧ\n" #~ "Печатает или устанавливает имя данной системы.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "невозможно установить имя в значение %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "невозможно установить основное имя -- эта система не обладает такой " #~ "способностью" #~ msgid "cannot determine hostname" #~ msgstr "невозможно определить имя машины" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Печатает сведения о ПОЛЬЗОВАТЕЛЕ, или о текущем пользователе.\n" #~ "\n" #~ " -a игнорируется, введено только для совместимости\n" #~ " -g, --group печатать только ID группы\n" #~ " -G, --groups печатать только дополнительные группы\n" #~ " -n, --name печатать имя вместо номера, для ключей -ugG\n" #~ " -r, --real печатать действительные, а не эффективные ID, для " #~ "ключей -ugG\n" #~ " -u, --user печатать только ID пользователя\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Если КЛЮЧИ не заданы, печатает некоторый стандартный набор полезных " #~ "сведений.\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "невозможно разбивать несколькими методами сразу" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "невозможно напечатать только имена или действительные ID в формате по " #~ "умолчанию" #~ msgid "cannot find name for user ID %lu" #~ msgstr "невозможно определить имя пользователя для ID %lu" #~ msgid " groups=" #~ msgstr " группы=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "предупреждение: невозможно сменить каталог на %s" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "при установке каталога нельзя применять ключ strip" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "при установке каталога нельзя задавать целевой каталог" #~ msgid "invalid mode %s" #~ msgstr "неверный режим %s" #~ msgid "cannot change ownership of %s" #~ msgstr "невозможно изменить владельца %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "невозможно установить временные отметки для %s" #~ msgid "fork system call failed" #~ msgstr "системный вызов fork завершился неуспехом" #~ msgid "cannot run strip" #~ msgstr "невозможно запустить strip" #~ msgid "waiting for strip" #~ msgstr "ожидание strip" #~ msgid "strip process terminated abnormally" #~ msgstr "процесс strip завершился неуспешно" #~ msgid "invalid user %s" #~ msgstr "неверный пользователь %s" #~ msgid "invalid group %s" #~ msgstr "неверная группа %s" #~ msgid "creating directory %s" #~ msgstr "создание каталога %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... [-T] ИСТОЧНИК НАЗНАЧЕНИЕ\n" #~ " или: %s [КЛЮЧ]... ИСТОЧНИК... КАТАЛОГ\n" #~ " или: %s [КЛЮЧ]... -t КАТАЛОГ ИСТОЧНИК...\n" #~ " или: %s [КЛЮЧ]... -d КАТАЛОГ...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "В первых трех формах копирует ИСТОЧНИК в НАЗНАЧЕНИЕ или несколько\n" #~ "ИСТОЧНИКОВ в существующий КАТАЛОГ, устанавливая режимы доступа и\n" #~ "владельца/группу. В четвертой форме создает все компоненты указанных\n" #~ "КАТАЛОГОВ.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=КОНТРОЛЬ] создавать резервные копии целевых файлов\n" #~ " -b то же, что и --backup, но без аргумента\n" #~ " -c (игнорируется)\n" #~ " -d, --directory рассматривать все аргументы как каталоги; создавать " #~ "все\n" #~ " компоненты указанных каталогов\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D создавать все начальные составляющие НАЗНАЧЕНИЯ " #~ "кроме\n" #~ " последнего, затем копировать ИСТОЧНИК в " #~ "НАЗНАЧЕНИЕ\n" #~ " -g, --group=ГРУППА устанавливать ГРУППУ, а не группу текущего " #~ "процесса\n" #~ " -m, --mode=РЕЖИМ устанавливать РЕЖИМ (как chmod), а не rwxr-xr-x\n" #~ " -o, --owner=ВЛАДЕЛЕЦ устанавливать ВЛАДЕЛЬЦА (только для " #~ "суперпользователя)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps устанавливать целевым файлам времена\n" #~ " доступа/изменения как у их файлов-ИСТОЧНИКОВ\n" #~ " -s, --strip удалять таблицы символов\n" #~ " -S, --suffix=СУФФИКС использовать для резервных копий заданный СУФФИКС\n" #~ " -t, --target-directory=КАТАЛОГ копировать все аргументы-ИСТОЧНИКИ в " #~ "КАТАЛОГ\n" #~ " -T, --no-target-directory считать НАЗНАЧЕНИЕ обычным файлом\n" #~ " -v, --verbose выводить название каждого создаваемого каталога\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "По умолчанию суффикс для запасных копий ~, если только не установлена\n" #~ "переменная окружения SIMPLE_BACKUP_SUFFIX или ключ --suffix. Способ " #~ "контроля\n" #~ "версий может быть установлен при помощи ключа --backup или переменной\n" #~ "окружения VERSION_CONTROL. Допустимые значения:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Для каждой пары входных строк с одинаковыми общими полями выводит строку " #~ "на\n" #~ "стандартный вывод. По умолчанию общее поле считается первым, поля " #~ "разделяются\n" #~ "пробельными знаками. Если один из ФАЙЛОВ задан как -, читает " #~ "стандартный\n" #~ "ввод.\n" #~ "\n" #~ " -a НОМЕР печатать не имеющие пары строки из файла с заданным\n" #~ " номером (1 или 2)\n" #~ " -e СТРОКА замещать при выводе пустые строки указанной СТРОКОЙ\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case игнорировать регистр букв при сравнении полей\n" #~ " -j ПОЛЕ эквивалентно `-1 ПОЛЕ -2 ПОЛЕ'\n" #~ " -o ФОРМАТ выводить в соответствии с ФОРМАТОМ\n" #~ " -t ЗНАК использовать ЗНАК как разделитель полей ввода и " #~ "вывода\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v НОМЕР как -а НОМЕР, но не печатать имеющие пары строки\n" #~ " -1 ПОЛЕ считать общим заданное ПОЛЕ файла 1\n" #~ " -2 ПОЛЕ считать общим заданное ПОЛЕ файла 2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Если не задан -t ЗНАК, начальные пробельные знаки разделяют поля и\n" #~ "игнорируются, в противном случае поля разделяются ЗНАКОМ. ПОЛЕ -- это\n" #~ "номер поля, отсчитываемый от 1. ФОРМАТ -- это одно или несколько\n" #~ "разделяемых запятыми или пробельными знаками описаний формата в виде\n" #~ "`НОМЕР_ФАЙЛА.ПОЛЕ' или `0'. По умолчанию ФОРМАТ выводит общее поле,\n" #~ "остальные поля из ФАЙЛА1 и остальные поля из ФАЙЛА2, разделенные\n" #~ "ЗНАКОМ.\n" #~ "\n" #~ "Важно: ФАЙЛ1 и ФАЙЛ2 должны быть отсортированы по общим полям.\n" #~ "Например, используйте `sort -k 1b,1', если у `join' нет ключей.\n" #~ msgid "invalid field number: %s" #~ msgstr "неверный номер поля: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "неверная спецификация поля: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "неверный номер файла в спецификации поля: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "поля объединения %lu, %lu несовместимы" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "конфликтующие строки замены для пустого поля" #~ msgid "empty tab" #~ msgstr "пустая табуляция" #~ msgid "multi-character tab %s" #~ msgstr "многознаковая табуляция %s" #~ msgid "incompatible tabs" #~ msgstr "несовместимая табуляция" #~ msgid "both files cannot be standard input" #~ msgstr "оба файла не могут быть стандартным вводом" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Использование: %s [-s СИГНАЛ | -СИГНАЛ] PID...\n" #~ " или: %s -l [СИГНАЛ]...\n" #~ " или: %s -t [СИГНАЛ]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Посылает процессам сигналы или перечисляет сигналы.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=СИГНАЛ, -СИГНАЛ\n" #~ " задает имя или номер посылаемого сигнала\n" #~ " -l, --list перечисляет имена сигналов или переводит имена в номера и " #~ "наоборот\n" #~ " -t, --table печатает таблицу с информацией о сигналах\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "СИГНАЛ может быть именем сигнала, как `HUP' или номером сигнала, как\n" #~ "`1', или выходным значением процесса, прерванного сигналом.\n" #~ "PID является целым числом; если оно отрицательно, то обозначает группу\n" #~ "процессов.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: неверный сигнал" #~ msgid "%s: invalid process id" #~ msgstr "%s: неверный идентификатор процесса" #~ msgid "invalid option -- %c" #~ msgstr "неверный ключ -- `%c'" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: задано несколько сигналов" #~ msgid "multiple -l or -t options specified" #~ msgstr "задано несколько ключей -l или -t" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "нельзя объединять сигнал с -l или -t" #~ msgid "no process ID specified" #~ msgstr "не задан идентификатор процесса" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s ФАЙЛ1 ФАЙЛ2\n" #~ " или: %s КЛЮЧ\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Вызывает функцию link для создания ссылки с именем ФАЙЛ2 на существующий " #~ "ФАЙЛ1.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "невозможно создать ссылку %s на %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: осторожно: создание жесткой ссылки на символьную ссылку работает\n" #~ "не везде" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: не допускается создавать жесткие ссылки на каталоги" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: невозможно перезаписать каталог" #~ msgid "%s: replace %s? " #~ msgstr "%s: заменить %s? " #~ msgid "creating symbolic link %s" #~ msgstr "создание символьной ссылки %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "создание символьной ссылки %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "создание жесткой ссылки на %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "создание жесткой ссылки %s" #~ msgid "creating hard link %s => %s" #~ msgstr "создание жесткой ссылки %s => %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... [-T] ЦЕЛЬ ИМЯ_ССЫЛКИ (1-ая форма)\n" #~ " или: %s [КЛЮЧ]... ЦЕЛЬ (2-ая форма)\n" #~ " или: %s [КЛЮЧ]... ЦЕЛЬ... КАТАЛОГ (3-я форма)\n" #~ " или: %s [КЛЮЧ]... -t КАТАЛОГ ЦЕЛЬ... (4-ая форма)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "В первой форме создает ссылку на ЦЕЛЬ с указанным ИМЕНЕМ_ССЫЛКИ.\n" #~ "Во второй форме создает ссылку на ЦЕЛЬ в текущем каталоге.\n" #~ "В третьей и четвертой формах создает ссылки на каждую ЦЕЛЬ в указанном " #~ "КАТАЛОГЕ.\n" #~ "По умолчанию создает жесткие ссылки, а с ключом --symbolic -- " #~ "символьные.\n" #~ "При создании жестких ссылок каждая ЦЕЛЬ должна существовать.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=КОНТРОЛЬ] создавать резервную копию для каждого целевого " #~ "файла\n" #~ " -b то же, что и --backup, но не принимает " #~ "аргумент\n" #~ " -d, -F, --directory позволить суперпользователю создавать жесткие " #~ "ссылки\n" #~ " на каталоги (замечание: вероятно, это не " #~ "получится\n" #~ " из-за системных ограничений, даже для\n" #~ " суперпользователя)\n" #~ " -f, --force удалять существующие целевые файлы\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference рассматривать символьную ссылку как " #~ "нормальный\n" #~ " файл\n" #~ " -i, --interactive спрашивать перед тем как переписывать\n" #~ " -s, --symbolic создавать символьные ссылки\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=СУФФИКС переопределяет обычный суффикс резервных " #~ "копий\n" #~ " -t, --target-directory=КАТАЛОГ указывает КАТАЛОГ, в котором создавать\n" #~ " ссылки\n" #~ " -T, --no-target-directory считать ИМЯ_ССЫЛКИ обычным файлом\n" #~ " -v, --verbose печатать имя каждого файла при создании " #~ "ссылки\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "Нельзя сочетать --target-directory и --no-target-directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Использование: %s [КЛЮЧ]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Печатает имя текущего пользователя.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "регистрационное имя отсутствует" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "проигнорировано неверное значение переменной окружения QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "проигнорирована неверная ширина в переменной окружения COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "проигнорирован неверный размер табуляции в переменной окружения TABSIZE: %" #~ "s" #~ msgid "invalid line width: %s" #~ msgstr "неверная ширина строки: %s" #~ msgid "invalid tab size: %s" #~ msgstr "неверный размер табуляции: %s" #~ msgid "invalid time style format %s" #~ msgstr "неверный формат времени %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "не распознан префикс: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "не анализируемое значение в переменной окружения LS_COLORS" #~ msgid "cannot open directory %s" #~ msgstr "невозможно открыть каталог %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "невозможно определить устройство и inode для %s" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: пропуск уже перечисленного каталога" #~ msgid "closing directory %s" #~ msgstr "закрытие каталога %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "невозможно сравнить имена файлов %s и %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Выдает информацию о ФАЙЛАХ (по умолчанию о текущем каталоге).\n" #~ "Сортирует в алфавитном порядке, если не задан ни --sort, ни один из\n" #~ "ключей -cftuvSUX.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all не скрывать файлы начинающиеся с .\n" #~ " -A, --almost-all не выдавать подразумеваемые . и ..\n" #~ " --author вместе с -l, печатать автора каждого файла\n" #~ " -b, --escape печатать восьмеричные escape-" #~ "последовательности\n" #~ " вместо неграфических знаков\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=SIZE использовать блоки размером SIZE байт\n" #~ " -B, --ignore-backups не выдавать файлы оканчивающиеся на ~\n" #~ " -c с -lt: сортировать по времени изменения; с -" #~ "l:\n" #~ " выдавать время изменения и сортировать по " #~ "имени,\n" #~ " иначе сортировать по времени изменения\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C выдавать список в несколько колонок\n" #~ " --color[=КОГДА] указывает, нужно ли выделять типы файлов " #~ "цветом.\n" #~ " КОГДА может быть `never' (не выделять), " #~ "`always'\n" #~ " (выделять) или `auto' (зависит от " #~ "терминала)\n" #~ " -d, --directory выдавать имена каталогов, а не их " #~ "содержимое, а\n" #~ " также не следовать по символьным ссылкам\n" #~ " -D, --dired генерировать вывод для режима Emacs Dired\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f не сортировать, включает -aU, выключает -ls " #~ "--color\n" #~ " -F, --classify добавлять к имени файла индикатор (один из */" #~ "=>@|)\n" #~ " --file-type аналогично, но не добавлять `*'\n" #~ " --format=СЛОВО across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time синоним -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g как -l, но не выводить владельца\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group в длинном формате не печатать имена групп\n" #~ " -h, --human-readable c -l, печатать размеры в удобном для " #~ "человека виде\n" #~ " (например, 1K 234M 2G)\n" #~ " --si то же, но использовать степени 1000, а не " #~ "1024\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " следовать по символьным ссылкам в командной " #~ "строке\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " следовать по всем символьным ссылкам в " #~ "командной\n" #~ " строке, которые указывают на каталог\n" #~ " --hide=ШАБЛОН не показывать файлы, соответствующие ШАБЛОНУ " #~ "оболочки\n" #~ " (отменяется ключами -a или -A)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=СТИЛЬ добавлять к именам элементов индикатор с\n" #~ " указанным СТИЛЕМ: none (пусто, по " #~ "умолчанию), \n" #~ " slash (косая черта, -p), \n" #~ " file-type (тип файла, --file-type), \n" #~ " classify (определяется видом файла, -F)\n" #~ " -i, --inode печатать индекс каждого файла\n" #~ " -I, --ignore=ШАБЛОН не показывать файлы, соответствующие ШАБЛОНУ " #~ "оболочки\n" #~ " -k то же, что и --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l использовать широкий формат\n" #~ " -L, --dereference показывая информацию для символьной ссылке,\n" #~ " показывать информацию о файле, на который " #~ "ссылка\n" #~ " ссылается\n" #~ " -m выдавать список на всю ширину через запятую\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid как -l, но выдавать числовые UID и GID\n" #~ " -N, --literal печатать имена как есть (не обрабатывать " #~ "особо, \n" #~ " например, управляющие знаки)\n" #~ " -o как -l, но не выводить информацию о группе\n" #~ " -p, --indicator-style=slash добавлять индикатор / к каталогам\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars печатать ? вместо не графических символов\n" #~ " --show-control-chars показывать непечатаемые символы (по " #~ "умолчанию\n" #~ " если программа не `ls' и вывод идет не на\n" #~ " терминал).\n" #~ " -Q, --quote-name заключать имя файла в кавычки\n" #~ " --quoting-style=WORD использовать тип заключения в кавычки WORD:\n" #~ " literal, shell, shell-always, c, escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse обратный порядок сортировки\n" #~ " -R, --recursive рекурсивно показывать каталоги\n" #~ " -s, --size печатать размер каждого файла, в блоках\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S сортировать по размеру файла\n" #~ " --sort=СЛОВО сортировать по СЛОВУ, а не по имени: \n" #~ " none (без сортировки) -U, \n" #~ " extension (расширение) -X, size (размер) -" #~ "S,\n" #~ " time (время) -t, version (версия) -v\n" #~ " --time=СЛОВО с ключом -l, показывать вместо времени " #~ "изменения \n" #~ " время, заданное СЛОВОМ: \n" #~ " atime -u, access -u, use -u (время " #~ "доступа),\n" #~ " ctime -c или status -c (время изменения " #~ "статуса);\n" #~ " если --sort=time, использовать указанное\n" #~ " время в качестве ключа сортировки\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=СТИЛЬ с -l, показывать время используя указанный " #~ "СТИЛЬ:\n" #~ " full-iso, long-iso, iso, locale, +ФОРМАТ.\n" #~ " ФОРМАТ интерпретируется как в `date'; если " #~ "ФОРМАТ\n" #~ " -- это ФОРМАТ1<перевод-строки>ФОРМАТ2, " #~ "ФОРМАТ1\n" #~ " применяется к старым файлам, а ФОРМАТ2 к " #~ "новым;\n" #~ " если к СТИЛЮ добавлен префикс `posix-', то " #~ "он\n" #~ " действует только в локали, отличной от " #~ "POSIX\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t сортировать по времени изменения\n" #~ " -T, --tabsize=РАЗМЕР использовать табуляцию указанного РАЗМЕРА, а " #~ "не 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u с -lt: сортировать и показывать время " #~ "доступа\n" #~ " c -l: показывать время доступа и " #~ "сортировать по имени\n" #~ " иначе: сортировать по времени доступа\n" #~ " -U не сортировать; печатать в соответствии с\n" #~ " физическим расположением\n" #~ " -v сортировать по версии\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=ЧИСЛО задает ширину экрана вместо текущего " #~ "значения\n" #~ " -x перечисляет вхождения по строкам, а не по " #~ "столбцам\n" #~ " -X сортировать по расширению в алфавитном " #~ "порядке\n" #~ " -1 перечислять по одному файлу на строке\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "По умолчанию цвет не используется для различения файлов. Это\n" #~ "эквивалентно использованию --color=none. Использование ключа --color\n" #~ "без необязательного аргумента КОГДА эквивалентно --color=always. С\n" #~ "ключом --color=auto, коды цвета будут выдаваться, только если\n" #~ "стандартный вывод подключен к терминалу (tty). На цвета может влиять\n" #~ "переменная среды LS_COLORS; ее можно легко установить с помощью\n" #~ "команды dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Выходной статус равен 0 в случае нормального завершения, 1 в случае\n" #~ "небольших проблем и 2, если возникла серьезная проблема.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ] [ФАЙЛ]...\n" #~ "Печатает или проверяет контрольные суммы %s (%d-битные).\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary читать в двоичном режиме (по умолчанию, если " #~ "читается\n" #~ " не терминальный ввод)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ " -b, --binary читать в двоичном режиме\n" #~ "\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr " -c, --check читает суммы %s из ФАЙЛОВ и сверяет их\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text читать в текстовом режиме (по умолчанию, если " #~ "читается\n" #~ " терминальный ввод)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr "" #~ " -t, --text читать в текстовом режиме (по умолчанию)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Два следующих ключа используются только при проверке контрольных сумм:\n" #~ " --status не производить вывод, выходное значение " #~ "показывает\n" #~ " успех проверки\n" #~ " -w, --warn предупреждать о неправильно составленных " #~ "строках в\n" #~ " списке контрольных сумм\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Метод вычисления контрольных сумм описан в %s. Входными данными при\n" #~ "проверке должны быть полученные ранее выходные данные этой программы.\n" #~ "По умолчанию печатает строку с контрольной суммой, знак, показывающий\n" #~ "тип файла (`*' для двоичных, ` ' для текстовых), и имя каждого ФАЙЛА.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: слишком много строк контрольных сумм" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "" #~ "%s: %: неправильно составленная строка контрольной суммы %s" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: невозможно открыть или прочитать\n" #~ msgid "OK" #~ msgstr "Успех" #~ msgid "%s: read error" #~ msgstr "%s: ошибка чтения" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: не найдено верно составленных строк контрольных сумм %s" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "ПРЕДУПРЕЖДЕНИЕ: не удалось прочитать % перечисленный файл из %" #~ "" #~ msgstr[1] "" #~ "ПРЕДУПРЕЖДЕНИЕ: не удалось прочитать % перечисленных файла из %" #~ "" #~ msgstr[2] "" #~ "ПРЕДУПРЕЖДЕНИЕ: не удалось прочитать % перечисленных файлов из %" #~ "" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "ПРЕДУПРЕЖДЕНИЕ: НЕ совпала % вычисленная контрольная сумма из %" #~ "" #~ msgstr[1] "" #~ "ПРЕДУПРЕЖДЕНИЕ: НЕ совпали % вычисленные контрольные суммы из %" #~ "" #~ msgstr[2] "" #~ "ПРЕДУПРЕЖДЕНИЕ: НЕ совпали % вычисленных контрольных сумм из %" #~ "" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "ключи --binary и --text бессмысленны при проверке контрольных сумм" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "ключ --status имеет смысл только при проверке контрольных сумм" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "ключ --warn имеет смысл только при проверке контрольных сумм" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Использование: %s [КЛЮЧ] КАТАЛОГ...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Создает DIRECTORY, если она еще не существует.\n" #~ "\n" # not a=rwx - umask ??? что за бред #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MODE установить код доступа (как в chmod)\n" #~ " -p, --parents не выдавать ошибок если существует, создавать\n" #~ " родительские каталоги если необходимо\n" #~ " -v, --verbose печатать сообщение о каждом созданном каталоге\n" #~ msgid "created directory %s" #~ msgstr "создан каталог %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Использование: %s [КЛЮЧ] ИМЯ...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Создает именованные каналы (FIFO) для заданного NAME.\n" #~ "\n" # not a=rwx - umask ??? что за бред #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr " -m, --mode=РЕЖИМ установить биты разрешений для файла в РЕЖИМ\n" #~ msgid "invalid mode" #~ msgstr "неверный режим" #~ msgid "mode must specify only file permission bits" #~ msgstr "режим должен задавать только биты разрешений для файла" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Использование: %s [КЛЮЧ]... ИМЯ ТИП [ОСНОВНОЙ ВТОРОСТЕПЕННЫЙ]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Создает специальный файл с именем NAME и типом TYPE.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Если ТИП -- это b, c или u, необходимо задавать как ОСНОВНОЙ, так и\n" #~ "ВТОРОСТЕПЕННЫЙ, а если ТИП равен p, их нельзя задавать. Если ОСНОВНОЙ\n" #~ "или ВТОРОСТЕПЕННЫЙ начинаются на 0x или 0X, они интерпретируются как\n" #~ "шестнадцатеричные числа; если начинаются на 0, то как восьмеричные;\n" #~ "иначе как десятичные. ТИП может принимать следующие значения:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b создать файл блочного устройства (буферизованный)\n" #~ " c, u создать файл символьного устройства (небуферизованный)\n" #~ " p создать именованный канал\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Для специального файла должны быть указаны основной и второстепенный " #~ "номера устройства." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "У файлов-очередей нет основного и второстепенного числа устройства." #~ msgid "block special files not supported" #~ msgstr "блочные специальные файлы не поддерживаются" #~ msgid "character special files not supported" #~ msgstr "знаковые специальные файлы не поддерживаются" #~ msgid "invalid major device number %s" #~ msgstr "неверное основное число устройства %s" #~ msgid "invalid minor device number %s" #~ msgstr "неверное второстепенное число устройства %s" #~ msgid "invalid device %s %s" #~ msgstr "неверное устройство %s %s" #~ msgid "invalid device type %s" #~ msgstr "неверный тип устройства %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Использование: %s [КЛЮЧ]... [ФАЙЛ]\n" #, fuzzy #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " directory выдавать ошибку, если это не каталог\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "слишком много повторяющихся строк" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "невозможно закрыть каталог %s" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "не удалось сохранить временные метки для %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Переименовывает SOURCE в DEST, или переносит SOURCE(ы) в DIRECTORY.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=КОНТРОЛЬ] создавать резервные копии целевых файлов\n" #~ " -b то же, что и --backup, но без аргумента\n" #~ " -f, --force переписывать существующие файлы не " #~ "спрашивая\n" #~ " -i, --interactive спрашивать перед тем как переписывать\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes удаляет все конечные косые черты из " #~ "каждого\n" #~ " аргумента ИСТОЧНИК\n" #~ " -S, --suffix=СУФФИКС перекрывает обычный суффикс для резервных " #~ "копий\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=КАТАЛОГ переместить все ИСТОЧНИКИ в КАТАЛОГ\n" #~ " -T, --no-target-directory считать НАЗНАЧЕНИЕ обычным файлом\n" #~ " -u, --update перемещать только тогда когда ИСТОЧНИК\n" #~ " новее чем файл назначения, или когда " #~ "файл\n" #~ " назначения отсутствует\n" #~ " -v, --verbose пояснять производимые действия\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Использование: %s [КЛЮЧ] [КОМАНДА [АРГ]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Запускает КОМАНДУ с измененным значением nice, что влияет на приоритет\n" #~ "для планировщика. Если КОМАНДА не задана, печатает текущее значение\n" #~ "nice. Допустимы пределы от %d (наибольший приоритет) до %d\n" #~ "(наименьший).\n" #~ "\n" #~ " -n, --adjustment=N увеличить nice на целое число N (по умолчанию 10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "неверная поправка %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "если задана поправка, должна быть указана команда" #~ msgid "cannot get niceness" #~ msgstr "невозможно узнать значение nice" #~ msgid "cannot set niceness" #~ msgstr "невозможно установить значение nice" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Печатает каждый ФАЙЛ на стандартный вывод, добавляя номера строк.\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=СТИЛЬ использовать СТИЛЬ нумерования строк " #~ "тела\n" #~ " -d, --section-delimiter=СС использовать СС для разделения " #~ "логических\n" #~ " страниц\n" #~ " -f, --footer-numbering=СТИЛЬ использовать СТИЛЬ нумерования строк " #~ "нижнего\n" #~ " колонтитула\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=СТИЛЬ использовать СТИЛЬ нумерования строк " #~ "верхнего\n" #~ " колонтитула\n" #~ " -i, --page-increment=ЧИСЛО шаг увеличения номеров строк\n" #~ " -l, --join-blank-lines=ЧИСЛО заданное ЧИСЛО пустых строк считать " #~ "одной\n" #~ " -n, --number-format=ФОРМАТ использовать ФОРМАТ для номеров строк\n" #~ " -p, --no-renumber не начинать нумерацию заново после " #~ "каждой\n" #~ " логической страницы\n" #~ " -s, --number-separator=СТРОКА добавлять СТРОКУ после номера\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=ЧИСЛО первый номер строки для каждой " #~ "логической\n" #~ " страницы\n" #~ " -w, --number-width=ЧИСЛО использовать заданное ЧИСЛО столбцов " #~ "для\n" #~ " номеров строк\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "По умолчанию используются -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. СС -- " #~ "это два\n" #~ "знака, разделяющие логические страницы; если задан только один, то в " #~ "качестве\n" #~ "второго используется :. Вводите \\\\ чтобы получить \\. СТИЛЬ задается " #~ "как один\n" #~ "из следующих:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a нумеровать все строки\n" #~ " t нумеровать только непустые строки\n" #~ " n не нумеровать строки\n" #~ " pБРВ нумеровать только строки, часть которых совпадает с базовым\n" #~ " регулярным выражением БРВ\n" #~ "\n" #~ "ФОРМАТ задается как один из следующих:\n" #~ "\n" #~ " ln выравнивать по левому краю, не выводить начальные нули\n" #~ " rn выравнивать по правому краю, не выводить начальные нули\n" #~ " rz выравнивать по правому краю, выводить начальные нули\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "переполнение номера строки" #~ msgid "invalid header numbering style: %s" #~ msgstr "неверный стиль нумерования заголовка: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "неверный стиль нумерования тела: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "неверный стиль нумерования нижнего колонтитула: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "неверный номер начальной строки: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "неверное приращение номера строки: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "неверное число пустых строк: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "неверная ширина поля для номера строки: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "неверный формат нумерации строк: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s КОМАНДА [АРГУМЕНТ]...\n" #~ " или: %s КЛЮЧ\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Выполняет КОМАНДУ игнорируя сигналы обрыва терминальной линии.\n" #~ "\n" #~ msgid "ignoring input" #~ msgstr "ввод игнорируется" #~ msgid "failed to open %s" #~ msgstr "не удалось открыть %s" #~ msgid "ignoring input and appending output to %s" #~ msgstr "ввод игнорируется, вывод добавляется в %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "" #~ "не удалось сделать так, чтобы копия стандартного потока ошибок закрылась " #~ "при начале выполнения" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "" #~ "ввод игнорируется, поток ошибок перенаправляются на стандартный вывод" #~ msgid "failed to redirect standard error" #~ msgstr "не удалось перенаправить стандартный поток ошибок" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... [ФАЙЛ]...\n" #~ " или: %s [-abcdfilosx]... [ФАЙЛ] [[+]СМЕЩЕНИЕ[.][b]]\n" #~ " или: %s --traditional [КЛЮЧ]... [ФАЙЛ] [[+]СМЕЩЕНИЕ[.][b] [+]" #~ "[МЕТКА][.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Печатает однозначное (по умолчанию байтовое восьмеричное) представление " #~ "ФАЙЛА\n" #~ "на стандартный вывод. Если ФАЙЛ не задан или задан как -, читает " #~ "стандартный\n" #~ "ввод.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Все аргументы для длинных ключей обязательны для коротких.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=ОСНОВАНИЕ выводить смещения в файлах в заданной " #~ "системе\n" #~ " счисления\n" #~ " -j, --skip-bytes=Н пропустить первые Н байт\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=Н считывать только Н байт в каждом файле\n" #~ " -s, --strings[=Н] выводить строки длиной по меньшей мере " #~ "Н\n" #~ " графических знаков\n" #~ " -t, --format=ТИП выбирает формат или форматы вывода\n" #~ " -v, --output-duplicates не помечать знаком * невыводимые строки\n" #~ " -w, --width[=Н] выводить Н байт в каждой выходной " #~ "строке\n" #~ " --traditional принимать аргументы в традиционной " #~ "форме\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Традиционные спецификации формата можно писать вперемешку, они " #~ "аккумулируются:\n" #~ " -a синоним -t a, именованные знаки, старший бит игнорируется\n" #~ " -b синоним -t o1, восьмеричные байты\n" #~ " -c синоним -t c, ASCII-знаки или управляющие последовательности с `" #~ "\\'\n" #~ " -d синоним -t u2, беззнаковые десятичные двухбайтовые единицы\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f синоним -t fF, числа с плавающей точкой\n" #~ " -i синоним -t dI, десятичные целые\n" #~ " -l синоним -t dL, десятичные длинные целые\n" #~ " -o синоним -t o2, восьмеричные двухбайтовые единицы\n" #~ " -s синоним -t d2, десятичные двухбайтовые единицы\n" #~ " -x синоним -t x2, шестнадцатеричные двухбайтовые единицы\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Если применимы и первая, и вторая формы вызова, предполагается вторая\n" #~ "форма, если последний операнд начинается на + или (если заданы два\n" #~ "операнда) на цифру. Операнд СМЕЩЕНИЕ означает -j СМЕЩЕНИЕ. МЕТКА --\n" #~ "это псевдоадрес первого напечатанного байта; она увеличивается в " #~ "процессе\n" #~ "вывода. Префикс 0x или 0X задает СМЕЩЕНИЕ или МЕТКУ как\n" #~ "шестнадцатеричные числа, суффикс . -- как восьмеричные, а суффикс b\n" #~ "умножает на 512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "ТИП составляется из одного или нескольких следующих спецификаций:\n" #~ "\n" #~ " a именованный знак, старший бит игнорируется\n" #~ " c ASCII-знак или управляющая последовательность\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[ЧИСЛО] знаковое десятичное целое размером заданное ЧИСЛО байт\n" #~ " f[ЧИСЛО] число с плавающей точкой размером заданное ЧИСЛО байт\n" #~ " o[ЧИСЛО] восьмеричное целое размером заданное ЧИСЛО байт\n" #~ " u[ЧИСЛО] беззнаковое десятичное целое размером заданное ЧИСЛО байт\n" #~ " x[ЧИСЛО] шестнадцатеричное целое размером заданное ЧИСЛО байт\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "Если ФОРМАТ -- одно из [doux], ЧИСЛО может задаваться как C (char), S " #~ "(short),\n" #~ "I (int) или L (long), если ФОРМАТ равен f, то ЧИСЛО также может быть F " #~ "(float),\n" #~ "D (double) или L (long double).\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "ОСНОВАНИЕ может быть d (десятичным), o (восьмеричным), x " #~ "(шестнадцатеричным) или\n" #~ "n (не выводить смещения). Н с префиксом 0x или 0X воспринимается как\n" #~ "шестнадцатеричное, с суффиксом b умножается на 512, с суффиксом k -- на " #~ "1024 и\n" #~ "суффиксом m -- на 1048576. Если добавить к любому формату суффикс z, то " #~ "в конце\n" #~ "каждой строки будут выводиться печатные символы. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string без числа подразумевает 3. --width без числа подразумевает\n" #~ "32. По умолчанию od использует ключи -A o -t d2 -w16.\n" #~ msgid "invalid type string %s" #~ msgstr "неверная строка типа %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "неверно задана строка типа %s;\n" #~ "данная система не предоставляет %lu-байтного целого типа" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "неверно задан тип %s;\n" #~ "данная система не предоставляет %lu-байтного типа с плавающей точкой" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "неверный знак `%c' в строке типа %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "невозможно сместиться за предел последнего входного файла" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "неверно задано основание системы счисления `%c',\n" #~ "должно быть одним из символов [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "при дампе строк нельзя задавать тип" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "в режиме совместимости поддерживается не более одного файла." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "значение skip-bytes + read-bytes слишком велико" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "предупреждение: неверная ширина %lu; будет использована %d" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: формам=\"%s\" ширина=%d\n" #~ msgid "standard input is closed" #~ msgstr "стандартный ввод закрыт" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Печатает на стандартный вывод строки, составленные из соответствующих " #~ "строк\n" #~ "входных ФАЙЛОВ, разделенных табуляцией.\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=СПИСОК использовать вместо табуляции знаки из " #~ "СПИСКА\n" #~ " -s, --serial обрабатывать файлы последовательно\n" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Использование: %s [КЛЮЧ]... ИМЯ...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Диагностирует непереносимые конструкции в ИМЕНИ.\n" #~ "\n" #~ " -p проверка для большинства POSIX-систем\n" #~ " -P проверка на пустые имена и начальный \"-\"\n" #~ " --portability проверка для всех POSIX-систем (эквивалентно -p -" #~ "P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "начальный `-' в компоненте имени файла %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "непереносимый знак %s в имени файла %s" #~ msgid "empty file name" #~ msgstr "пустое имя файла" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: невозможно определить максимальную длину имени файла" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "предел в %lu превышен длиной в %lu в имени файла %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "предел в %lu превышен длиной в %lu в компоненте имени файла %s" #~ msgid "Login name: " #~ msgstr "Регистрационное имя: " #~ msgid "In real life: " #~ msgstr "В реальной жизни: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Каталог: " #~ msgid "Shell: " #~ msgstr "Оболочка: " #~ msgid "Project: " #~ msgstr "Проект: " #~ msgid "Plan:\n" #~ msgstr "План:\n" #~ msgid "Login" #~ msgstr "Имя" #~ msgid "Name" #~ msgstr "Имя" #~ msgid " TTY" #~ msgstr " Терминал" #~ msgid "Idle" #~ msgstr "Неактивен" #~ msgid "When" #~ msgstr "Когда" #~ msgid "Where" #~ msgstr "Где" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Использование: %s [КЛЮЧ]... [ПОЛЬЗОВАТЕЛЬ]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l использовать подробный формат вывода\n" #~ " -b опустить в подробном формате начальный каталог и " #~ "оболочку\n" #~ " этого пользователя\n" #~ " -h опустить в подробном формате файл проекта этого " #~ "пользователя\n" #~ " -p опустить в подробном формате файл плана этого " #~ "пользователя\n" #~ " -s использовать краткий формат вывода, принимается по " #~ "умолчанию\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f опустить в кратком формате строку с заголовками " #~ "колонок\n" #~ " -w опустить в кратком формате полное имя пользователя\n" #~ " -i опустить в кратком формате полное имя пользователя и " #~ "имя\n" #~ " удаленной машины\n" #~ " -q опустить в кратком формате полное имя пользователя, " #~ "имя\n" #~ " удаленной машины и время неактивности\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Упрощенная программа `finger'; печатает сведения о пользователе.\n" #~ "В качестве файла utmp будет использоваться %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "не задано имя пользователя; при использовании ключа -l нужно задать хотя " #~ "бы одно" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=ПЕРВАЯ_СТР[:ПОСЛЕДНЯЯ_СТР]' пропущен аргумент" #~ msgid "Invalid page range %s" #~ msgstr "Неверный диапазон страниц %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l ДЛИНА_СТРАНИЦЫ' неверное число строк: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N НОМЕР' неверный номер начальной строки: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o ПОЛЕ' неверное смещение: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w ШИРИНА_СТРАНИЦЫ' неверное число знаков: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W ШИРИНА_СТРАНИЦЫ' неверное число знаков: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Невозможно задать число столбцов при параллельной печати." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Невозможно одновременно печатать вдоль и параллельно." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c' лишние знаки или неверное число в аргументе: %s" #~ msgid "page width too narrow" #~ msgstr "страница слишком узкая" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "номер начальной страницы % превосходит общее число страниц %" #~ "" #~ msgid "Page number overflow" #~ msgstr "Переполнение номера страницы" #~ msgid "Page %" #~ msgstr "Страница %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Разбивает ФАЙЛ(ы) на страницы или колонки для печати.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +ПЕРВАЯ_СТРАНИЦА[:ПОСЛЕДНЯЯ_СТРАНИЦА], --pages=ПЕРВАЯ_СТРАНИЦА[:" #~ "ПОСЛЕДНЯЯ_СТРАНИЦА]\n" #~ " начать [завершить] печать на ПЕРВОЙ_[ПОСЛЕДНЕЙ_]" #~ "СТРАНИЦЕ\n" #~ " -ЧИСЛО, --columns=ЧИСЛО\n" #~ " выводить заданное ЧИСЛО колонок и печатать их вниз, " #~ "если\n" #~ " только не указан ключ -a. Балансировать число строк " #~ "в\n" #~ " колонке на каждой странице.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across выводить колонки вдоль, а не вниз; используется " #~ "вместе с\n" #~ " ключом -ЧИСЛО\n" #~ " -c, --show-control-chars\n" #~ " использовать запись с шапочкой (^G) или обратной " #~ "косой\n" #~ " чертой (и восьмеричным кодом)\n" #~ " -d, --double-space\n" #~ " вставлять пустую строку после каждой выходной строки\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=ФОРМАТ\n" #~ " использовать для даты в заголовке указанный ФОРМАТ\n" #~ " -e[ЗНАК[ЧИСЛО]], --expand-tabs[=ЗНАК[ЧИСЛО]]\n" #~ " преобразовывать входные ЗНАКИ (табуляцию) в заданное " #~ "ЧИСЛО\n" #~ " пробелов (8)\n" #~ " -F, -f, --form-feed\n" #~ " использовать для разделения страниц знак перевода " #~ "страницы,\n" #~ " а не новой строки (с трехстрочным заголовком, если " #~ "есть\n" #~ " ключ -F, и пятистрочным заголовком и завершителем, " #~ "если\n" #~ " ключ -F не задан)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h ЗАГОЛОВОК, --header=ЗАГОЛОВОК\n" #~ " использовать для страниц центрированный ЗАГОЛОВОК, а " #~ "не\n" #~ " имя файла; -h \"\" выводит пустую строку; не " #~ "используйте -h \"\"\n" #~ " -i[ЗНАК[ШИРИНА]], --output-tabs[=ЗНАК[ШИРИНА]]\n" #~ " заменить пробелы на ЗНАКИ (табуляцию) заданной ШИРИНЫ " #~ "(8)\n" #~ " -J, --join-lines объединять полные строки, отключить усечение строк (-" #~ "W), не\n" #~ " выравнивать колонки, --sep-string[=СТРОКА] задает " #~ "разделители\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l ДЛИНА_СТРАНИЦЫ, --length=ДЛИНА_СТРАНИЦЫ\n" #~ " установить ДЛИНУ_СТРАНИЦЫ (66)\n" #~ " (по умолчанию число строк текста равно 56, а с -F -- " #~ "63)\n" #~ " -m, --merge печатать все файлы параллельно, по одному в колонке,\n" #~ " усекать строки, но соединять полные строки при -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[РАЗД[ЧИСЛО]], --number-lines[=РАЗД[ЧИСЛО]]\n" #~ " нумеровать строки, используя заданное ЧИСЛО (5) цифр " #~ "и\n" #~ " РАЗДелитель (табуляцию); по умолчанию нумерация " #~ "начинается\n" #~ " с первой входной строки\n" #~ " -N НОМЕР, --first-line-number=НОМЕР\n" #~ " начать нумерацию с НОМЕРА с первой строки первой " #~ "выводимой\n" #~ " страницы (смотри +ПЕРВАЯ_СТРАНИЦА)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o ПОЛЕ, --indent=ПОЛЕ\n" #~ " сдвигать каждую строку на ПОЛЕ (нуль) пробелов (не " #~ "влияет\n" #~ " на -w или -W); ПОЛЕ добавляется к ШИРИНЕ_СТРАНИЦЫ\n" #~ " -r, --no-file-warnings\n" #~ " не предупреждать о невозможности открытия файла\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[ЗНАК],--separator[=ЗНАК]\n" #~ " разделять колонки одним знаком, по умолчанию ЗНАК " #~ "равен\n" #~ " табуляции, если нет ключа -w, и пуст, если есть ключ -" #~ "w\n" #~ " -s[ЗНАК] выключает усечение строк для всех трех " #~ "ключей для\n" #~ " колонок (-ЧИСЛО |-a -ЧИСЛО|-m), если только нет ключа " #~ "-w\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -S[СТРОКА], --sep-string[=СТРОКА]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " разделять колонки СТРОКОЙ,\n" #~ " если -S не задан: разделитель по умолчанию -- " #~ "табуляция, \n" #~ " если использован ключ -J, иначе пробел (то же, что -S" #~ "\" \"); \n" #~ " не влияет на ключи для колонок\n" #~ " -t, --omit-header не выводить заголовки страниц\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " не выводить заголовки и игнорировать символы " #~ "перевода\n" #~ " страницы во входных файлах\n" #~ " -v, --show-nonprinting\n" #~ " использовать запись с `\\' и восьмеричным кодом\n" #~ " -w ШИРИНА_СТРАНИЦЫ, --width=ШИРИНА_СТРАНИЦЫ\n" #~ " установить ШИРИНУ_СТРАНИЦЫ (72) в столбцах для\n" #~ " вывода в несколько колонок, -s[знак] выключает (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W ШИРИНА_СТРАНИЦЫ, --page-width=ШИРИНА_СТРАНИЦЫ\n" #~ " установить ШИРИНУ_СТРАНИЦЫ (72) в столбцах, усекать " #~ "строки,\n" #~ " если только нет ключа -J; не затрагивается ключами -S " #~ "или -s\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-T подразумевается при заданном ключе -l нн, где нн <= 10 или <= 3, если " #~ "есть\n" #~ "ключ -F. Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Использование: %s [ПЕРЕМЕННАЯ]...\n" #~ " или: %s КЛЮЧ\n" #~ "Если не задана ПЕРЕМЕННАЯ среды, печатает их все.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "предупреждение: %s: знаки, следующие за знаковой константой, " #~ "проигнорированы" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s ФОРМАТ [АРГУМЕНТ]...\n" #~ " или: %s КЛЮЧ\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Печатает АРГУМЕНТ(ы) в заданном ФОРМАТЕ.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "ФОРМАТ управляет выводом так же, как в C-функции printf.\n" #~ "Воспринимаются следующие последовательности:\n" #~ "\n" #~ " \\\" двойная кавычка\n" #~ " \\0ННН знак с восьмеричным кодом ННН (от 1 до 3 цифр)\n" #~ " \\\\ обратная косая черта\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a звуковой сигнал\n" #~ " \\b забой\n" #~ " \\c подавить последующий вывод\n" #~ " \\f перевод страницы\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n новая строка\n" #~ " \\r возврат каретки\n" #~ " \\t горизонтальная табуляция\n" #~ " \\v вертикальная табуляция\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xНН байт с шестнадцатеричным кодом НН (от 1 до 2 цифр)\n" #~ " \\uНННН знак Unicode (ISO/IEC 10646) с шестнадцатеричным кодом НННН (4 " #~ "цифры)\n" #~ " \\UНННННННН знак Unicode с шестнадцатеричным кодом НННННННН (8 цифр)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% один знак %\n" #~ " %b АРГУМЕНТ в виде строки с интерпретированными\n" #~ " escape-последовательностями, начинающимися с \\\\;\n" #~ " восьмеричные последовательности в форме \\0 или \\0ННН\n" #~ "\n" #~ "а также все спецификации формата в стиле C, заканчивающиеся одним из\n" #~ "знаков diouxXfeEgGcs; АРГУМЕНТ приводится к соответствующему типу.\n" #~ "Обрабатываютcя также аргументы переменной ширины.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: ожидается числовое значение" #~ msgid "%s: value not completely converted" #~ msgstr "%s: значение преобразовано не полностью" #~ msgid "missing hexadecimal number in escape" #~ msgstr "неверное шестнадцатеричное число в escape-последовательности" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "неверное универсальное имя знака \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "неверная ширина поля: %s" #~ msgid "invalid precision: %s" #~ msgstr "неверная точность: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: неверная спецификация преобразования" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "предупреждение: избыточные аргументы проигнорированы, начиная с %s" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "Ф. Пинард" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (для регулярного выражения %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... [ВХОД]... (без -G)\n" #~ " или: %s -G [КЛЮЧ]... [ВХОД [ВЫХОД]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Печатает перемешанный алфавитный указатель слов входных файлов, включая " #~ "контекст.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference выводить автоматически сгенерированные " #~ "ссылки\n" #~ " -G, --traditional работать в режиме большей совместимости " #~ "с\n" #~ " программой `ptx' из System V\n" #~ " -F, --flag-truncation=СТРОКА использовать СТРОКУ для пометки усечения " #~ "строк\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=СТРОКА имя макро, которое следует использовать\n" #~ " вместо `xx'\n" #~ " -O, --format=roff генерировать вывод в виде директив roff\n" #~ " -R, --right-side-refs помещать ссылки справа, не учитывается " #~ "при -w\n" #~ " -S, --sentence-regexp=REGEXP для конца строк или конца предложений\n" #~ " -T, --format=tex генерировать вывод в виде директив TeX\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP регулярное выражение для ключевых слов\n" #~ " -b, --break-file=ФАЙЛ ФАЙЛ с символами-разделителями слов\n" #~ " -f, --ignore-case преобразовывать к верхнему регистру при\n" #~ " сортировке\n" #~ " -g, --gap-size=ЧИСЛО размер промежутка между полями вывода,\n" #~ " выраженный в столбцах\n" #~ " -i, --ignore-file=ФАЙЛ считать перечень игнорируемых слов из " #~ "ФАЙЛА\n" #~ " -o, --only-file=ФАЙЛ только считать список слов из заданного " #~ "ФАЙЛА\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references первое поле в каждой строке является " #~ "ссылкой\n" #~ " -t, --typeset-mode - не реализовано -\n" #~ " -w, --width=ЧИСЛО ширина вывода в столбцах, не считая " #~ "ссылки\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ "По умолчанию предполагается `-F /'.\n" #~ msgid "invalid gap width: %s" #~ msgstr "неверная ширина дырки: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Печатает полное имя текущего рабочего каталога.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "ошибка изменения каталога на %s" #~ msgid "failed to stat %s" #~ msgstr "ошибка получения атрибутов %s" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "в %s не найдена запись каталога с соответствующим i-node" #~ msgid "ignoring non-option arguments" #~ msgstr "не являющиеся ключами аргументы проигнорированы" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Использование: %s [КЛЮЧ]... [ФАЙЛ]\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Печатает значение символьной ссылки на стандартный вывод.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize получить каноническое имя файла путем\n" #~ " рекурсивного следования по всем " #~ "символьным\n" #~ " ссылкам в каждом компоненте заданного " #~ "пути;\n" #~ " все компоненты пути, кроме последнего,\n" #~ " должны существовать\n" #~ " -e, --canonicalize-existing получить каноническое имя файла путем\n" #~ " рекурсивного следования по всем " #~ "символьным\n" #~ " ссылкам в каждом компоненте заданного " #~ "пути;\n" #~ " все компоненты пути должны существовать\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing получить каноническое имя файла путем\n" #~ " рекурсивного следования по всем " #~ "символьным\n" #~ " ссылкам в каждом компоненте заданного " #~ "пути;\n" #~ " компоненты пути не обязаны существовать\n" #~ " -n, --no-newline не выводить завершающий перевод строки\n" #~ " -q, --quiet,\n" #~ " -s, --silent подавлять вывод большинства сообщений об " #~ "ошибках\n" #~ " -v, --verbose сообщать об ошибках\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "ФАТАЛЬНАЯ ОШИБКА: невозможно закрыть каталог %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "ФАТАЛЬНАЯ ОШИБКА: невозможно открыть каталог .. из %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "ФАТАЛЬНАЯ ОШИБКА: невозможно убедиться в безопасности %s (куда вернулись " #~ "через ..)" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "ФАТАЛЬНАЯ ОШИБКА: каталог %s сменил dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "ФАТАЛЬНАЯ ОШИБКА: невозможно перейти в каталог %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "ФАТАЛЬНАЯ ОШИБКА: каталог %s, в который только что перешли, сменил dev/ino" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "ВНИМАНИЕ: Циклическая структура каталога.\n" #~ "Скорее всего, это означает, что ваша файловая система повреждена.\n" #~ "УВЕДОМИТЕ ВАШЕГО СИСТЕМНОГО АДМИНИСТРАТОРА.\n" #~ "Следующий каталог является частью цикла:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: спуститься в защищенный от записи каталог %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: спуститься в каталог %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: удалить защищенный от записи %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: удалить %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "удален каталог: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "невозможно закрыть каталог %s" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "пропускается %s, поскольку он находится на другом устройстве" #~ msgid "cannot remove directory %s" #~ msgstr "невозможно удалить каталог %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "ФАТАЛЬНАЯ ОШИБКА: невозможно вернуться к .. из %s" #~ msgid "cannot remove root directory %s" #~ msgstr "невозможно удалить корневой каталог %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "невозможно удалить %s с относительным именем" #~ msgid "cannot restore current working directory" #~ msgstr "не удалось восстановить текущий рабочий каталог" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Попробуйте `%s ./%s', чтобы удалить файл %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Использование: %s [КЛЮЧ]... ФАЙЛ...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Удаляет (ссылки на) ФАЙЛ(ы).\n" #~ "\n" #~ " -f, --force игнорировать несуществующие файлы, ни о чем не " #~ "спрашивать\n" #~ " -i запрашивать подтверждение перед каждым удалением\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I запрашивать подтверждение один раз перед удалением " #~ "более\n" #~ " чем трех файлов или перед рекурсивным удалением. " #~ "Не так\n" #~ " назойливо, как -i, но все же предоставляет защиту " #~ "от\n" #~ " большинства ошибок.\n" #~ " --interactive[=КОГДА] запрашивать подтверждение, КОГДА указано: " #~ "never \n" #~ " (никогда), once (-I, один раз) или always (-i, " #~ "всегда).\n" #~ " Если КОГДА не задано, запрашивать всегда.\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system при рекурсивном удалении иерархии, пропускать " #~ "все \n" #~ " каталоги, находящиеся не на той же файловой " #~ "системе,\n" #~ " что и соответствующий аргумент командной " #~ "строки\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root не обрабатывать `/' особо\n" #~ " --preserve-root отказываться рекурсивно обрабатывать `/'\n" #~ " (по умолчанию)\n" #~ " -r, -R, --recursive рекурсивно удалять каталоги и их содержимое\n" #~ " -v, --verbose пояснять производимые действия\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "По умолчанию rm не удаляет каталоги. Используйте ключ --recursive (-r\n" #~ "или -R), чтобы удалить все перечисленные каталоги вместе с их\n" #~ "содержимым.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Для удаления файла, начинающегося с `-' (например: `-foo'),\n" #~ "используйте одну из следующих команд:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Имейте в виду, что при использовании rm для удаления файла его " #~ "содержимое\n" #~ "обычно можно восстановить. Используйте shred, если Вам необходима " #~ "большая\n" #~ "уверенность в невозможности восстановления содержимого.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: удалить все аргументы рекурсивно? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: удалить все аргументы? " #~ msgid "removing directory, %s" #~ msgstr "удаление каталога, %s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "невозможно закрыть каталог %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Использование: %s [КЛЮЧ]... КАТАЛОГ...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Удаляет DIRECTORY, если они пусты.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " игнорировать все ошибки, которые возникают из-за того, " #~ "что\n" #~ " каталог не пуст\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents Удалить КАТАЛОГ и его потомков. Например, `rmdir -p a/" #~ "b/c'\n" #~ " делает то же, что и `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose выводить сообщение для каждого обработанного каталога\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "не удалось открыть %s" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "ошибка получения атрибутов %s" #, fuzzy #~ msgid "no command specified" #~ msgstr "не задан идентификатор процесса" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "не удалось открыть %s" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "не удалось открыть %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "ошибка получения атрибутов %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "ошибка получения атрибутов %s" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "не удалось открыть %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... ПОСЛЕДНИЙ\n" #~ " или: %s [КЛЮЧ]... ПЕРВЫЙ ПОСЛЕДНИЙ\n" #~ " или: %s [КЛЮЧ]... ПЕРВЫЙ ПРИРОСТ ПОСЛЕДНИЙ\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Печатает числа от ПЕРВОГО до ПОСЛЕДНЕГО с шагом ПРИРОСТ.\n" #~ "\n" #~ " -f, --format=ФОРМАТ использовать для дробных чисел ФОРМАТ в стиле " #~ "printf\n" #~ " -s, --separator=СТРОКА использовать СТРОКУ как разделитель (по " #~ "умолчанию \\n)\n" #~ " -w, --equal-width выравнивать по ширине, добавляя в начало нули\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Если не заданы ПЕРВЫЙ или ПРИРОСТ, по умолчанию используется 1. То\n" #~ "есть ПРИРОСТ по умолчанию принимается за 1, даже если ПОСЛЕДНИЙ меньше\n" #~ "ПЕРВОГО. ПЕРВЫЙ, ПОСЛЕДНИЙ и ПРИРОСТ интерпретируются как числа с\n" #~ "плавающей точкой. ПРИРОСТ обычно положителен, если ПЕРВЫЙ меньше\n" #~ "ПОСЛЕДНЕГО, и отрицателен, если ПЕРВЫЙ больше ПОСЛЕДНЕГО.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "ФОРМАТ должен подходить для печати одного аргумента типа `double';\n" #~ "по умолчанию он принимается за %.PRECf, если ПЕРВЫЙ, ПРИРОСТ и\n" #~ "ПОСЛЕДНИЙ все являются десятичными числами с фиксированной точкой с\n" #~ "максимальной точностью PREC, и %g в противном случае.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "неверный аргумент с плавающей точкой: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "неверная строка формата: %s" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "слишком много описаний преобразования (%%) в суффиксе" #~ msgid "invalid format string: %s" #~ msgstr "неверная строка формата: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "при выводе строк одинаковой ширины формат можно не указывать" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s ИМЯ_ПОЛЬЗОВАТЕЛЯ КОМАНДА [АРГУМЕНТ]...\n" #~ " или: %s КЛЮЧ\n" #, fuzzy #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Сбрасывает все дополнительные группы, устанавливает идентификаторы\n" #~ "пользователя и группы как у заданного ПОЛЬЗОВАТЕЛЯ и запускает КОМАНДУ\n" #~ "с указанными АРГУМЕНТАМИ. Завершается со статусом 111, если оказалось\n" #~ "невозможно установить нужные идентификаторы пользователя и группы. В\n" #~ "противном случае возвращается выходной статус КОМАНДЫ. Эта программа\n" #~ "имеет смысл только для root (UID=0).\n" #~ "\n" #~ msgid "unknown user-ID: %s" #~ msgstr "неизвестный идентификатор пользователя: %s" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "невозможно установить дополнительную группу" #~ msgid "cannot set group-ID to %lu" #~ msgstr "невозможно установить идентификатор группы равным %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "невозможно установить идентификатор пользователя равным %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Использование: %s [КЛЮЧИ] ФАЙЛ [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Переписывает несколько раз указанные файлы для того, чтобы сделать более\n" #~ "сложным восстановление даже с использованием очень дорогого " #~ "оборудования.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force изменять права, разрешая запись, если необходимо\n" #~ " -n, --iterations=N переписать N раз вместо (%d) по умолчанию\n" #~ " --random-source=ФАЙЛ получать случайные числа из ФАЙЛА\n" #~ " (по умолчанию /dev/urandom)\n" #~ " -s, --size=N очистить N байт (возможны суффиксы вида K, M, G)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove обрезать и удалять файл после перезаписи\n" #~ " -v, --verbose показывать прогресс\n" #~ " -x, --exact не округлять размеры файлов до следующего целого блока;\n" #~ " по умолчанию для необычных файлов\n" #~ " -z, --zero перезаписать в конце нулями, чтобы скрыть перемешивание\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Если ФАЙЛ задан как -, перемешивать стандартный вывод.\n" #~ "\n" #~ "Удаляет ФАЙЛ(ы), если указан --remove (-u). По умолчанию файлы не\n" #~ "удаляются, так как часто обрабатываются файлы-устройства вроде\n" #~ "/dev/hda, а такие файлы не надо удалять. При обработке обычных файлов\n" #~ "большинство людей используют ключ --remove.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "ВНИМАНИЕ: Помните, что shred полагается на очень важное предположение:\n" #~ "что ваша файловая система перезаписывает файлы \"на месте\".\n" #~ "Традиционно это так и делается, но многие современные файловые системы\n" #~ "не удовлетворяют этому предположению. Вот примеры файловых систем, на\n" #~ "которых shred не эффективен или не дает гарантии эффективности во всех\n" #~ "режимах файловой системы:\n" #~ "\n" # log-structured??? #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* журналирующие файловые системы, например которые идут в комплекте\n" #~ " AIX и Solaris (и JFS, ReiserFS, XFS, Ext3 и др.)\n" #~ "\n" #~ "* файловые системы, которые записывают избыточные данные и сохраняют\n" #~ " работоспособность, даже если случаются неудачные записи, например\n" #~ " файловые системы, основанные на технологии RAID\n" #~ "\n" #~ "* файловые системы, которые создают снимки состояния, например\n" #~ " NFS-сервер от Network Appliance\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* файловые системы, которые кэшируют файлы во временных хранилищах,\n" #~ "например клиенты NFS версии 3\n" #~ "\n" #~ "* сжатые файловые системы\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "В случае файловых систем ext3 упомянутое выше ограничение верно (и\n" #~ "shred, следовательно, не так эффективен), только в режиме\n" #~ "data=journal, когда кроме метаданных журналируются также и сами данные\n" #~ "файлов. В режимах data=ordered (по умолчанию) и data=writeback\n" #~ "программа shred работает как обычно. Режимы журналирования ext3 можно\n" #~ "изменить, добавив ключ data=что-то к параметрам монтирования для\n" #~ "конкретной файловой системы в файле /etc/fstab, как документировано в\n" #~ "странице man для mount (man mount).\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Кроме того, резервные копии и удаленные зеркала файловой системы могут\n" #~ "содержать копии файла, которые нельзя удалить, и которые позволят\n" #~ "впоследствии восстановить уничтоженный файл.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: операция fdatasync завершилась неуспехом" #~ msgid "%s: fsync failed" #~ msgstr "%s: операция fsync завершилась неуспешно" #~ msgid "%s: cannot rewind" #~ msgstr "%s: невозможно откатиться" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: проход %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: ошибка записи по смещению %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: операция lseek неуспешна" #~ msgid "%s: file too large" #~ msgstr "%s: файл слишком велик" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: проход %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: проход %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: операция fstat завершилась неуспехом" #~ msgid "%s: invalid file type" #~ msgstr "%s: неверный тип файла" #~ msgid "%s: file has negative size" #~ msgstr "%s: у файла отрицательный размер" #~ msgid "%s: error truncating" #~ msgstr "%s: ошибка при усечении" #~ msgid "%s: fcntl failed" #~ msgstr "%s: операция fcntl завершилась неуспехом" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "" #~ "%s: невозможно нарезать файловый дескриптор с только с правом добавления" #~ msgid "%s: removing" #~ msgstr "%s: удаление" #~ msgid "%s: renamed to %s" #~ msgstr "%s: переименован в %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: не удалось удалить" #~ msgid "%s: removed" #~ msgstr "%s: удален" #~ msgid "%s: failed to close" #~ msgstr "%s: не удалось закрыть" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: не удалось открыть для чтения" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: неверное число проходов" #~ msgid "multiple random sources specified" #~ msgstr "задано несколько источников случайных чисел" #~ msgid "%s: invalid file size" #~ msgstr "%s: неверный размер файла" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ]... [ФАЙЛ]\n" #~ " или: %s -e [КЛЮЧ]... [АРГ]...\n" #~ " или: %s -l ОТ-ДО [КЛЮЧ]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Печатает случайную перестановку входных строк на стандартный вывод.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo считать каждый АРГ входной строкой\n" #~ " -i, --input-range=ОТ-ДО считать числа ОТ и ДО входными строками\n" #~ " -n, --head-lines=ЧИСЛО выводить не более заданного ЧИСЛА строк\n" #~ " -o, --output=ФАЙЛ записать результат в ФАЙЛ, а не на " #~ "стандартный вывод\n" #~ " --random-source=ФАЙЛ получать случайные числа из ФАЙЛА \n" #~ " (по умолчанию /dev/urandom)\n" #~ " -z, --zero-terminated завершать строки нулем, а не переводом " #~ "строки\n" #~ msgid "multiple -i options specified" #~ msgstr "задано несколько ключей -i" #~ msgid "invalid input range %s" #~ msgstr "недопустимый входной диапазон %s" #~ msgid "invalid line count %s" #~ msgstr "неверное число строк: %s" #~ msgid "multiple output files specified" #~ msgstr "задано несколько выходных файлов" #~ msgid "extra operand %s\n" #~ msgstr "лишний операнд %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Использование: %s ЧИСЛО[СУФФИКС]...\n" #~ " или: %s КЛЮЧ\n" #~ "Приостанавливает выполнение на заданное ЧИСЛО секунд. СУФФИКС может\n" #~ "принимать значение `s', что означает секунды (применяется по\n" #~ "умолчанию), `m' -- минуты, `h' -- часы и `d' -- дни. В отличие от\n" #~ "других реализаций, которые требуют, чтобы ЧИСЛО было целым, здесь оно\n" #~ "может быть произвольным числом с плавающей запятой. Если задано " #~ "несколько\n" #~ "аргументов, приостанавливает на период, равный сумме их значений.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "неверный временной интервал %s" #~ msgid "cannot read realtime clock" #~ msgstr "невозможно прочитать таймер реального времени" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Печатает сортированное слияние всех ФАЙЛ(ов) на стандартный вывод.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Ключи, задающие порядок:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks игнорировать начальные пропуски\n" #~ " -d, --dictionary-order рассматривать только пропуски, буквы и " #~ "цифры\n" #~ " -f, --ignore-case игнорировать регистр букв\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort сравнивать в соответствии с общим числовым " #~ "значением\n" #~ " -i, --ignore-nonprinting рассматривать только печатные знаки\n" #~ " -M, --month-sort сравнивать (неизвестно) < `JAN' < ... < " #~ "`DEC'\n" #~ " -n, --numeric-sort сравнивать числовые значения строк\n" #~ " -R, --random-sort сортировать по случайным хэш-числам ключей\n" #~ " --random-source=ФАЙЛ брать случайные числа из ФАЙЛА \n" #~ " (по умолчанию /dev/urandom)\n" #~ " -r, --reverse обратить результаты сравнения\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Остальные ключи:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first проверять, сортированы ли входные " #~ "файлы;\n" #~ " не сортировать\n" #~ " -C, --check=quiet, --check=silent как -c, но не сообщать о первой " #~ "плохой строке\n" #~ " --compress-program=ПРОГ сжимать временные файлы командой ПРОГ;\n" #~ " разжимать их командой ПРОГ -d\n" #~ " -k, --key=ПОЗ1[,ПОЗ2]\n" #~ " начинать ключ в ПОЗ1 и завершать на ПОЗ2 (отсчет от " #~ "1)\n" #~ " -m, --merge объединять уже сортированные файлы, не сортировать\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=ФАЙЛ выводить в ФАЙЛ, а не на стандартный вывод\n" #~ " -s, --stable стабилизировать сортировку, исключив проверку на " #~ "равенство\n" #~ " -S, --buffer-size=РАЗМЕР\n" #~ " использовать в основной памяти буфер указанного " #~ "РАЗМЕРА\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=РАЗДЕЛИТЕЛЬ\n" #~ " использовать при поиске ключевых полей РАЗДЕЛИТЕЛЬ, а " #~ "не\n" #~ " переход от непробельных знаков к пробельным\n" #~ " -T, --temporary-directory=КАТАЛОГ\n" #~ " использовать для временных файлов КАТАЛОГ, а не " #~ "$TMPDIR\n" #~ " или %s; несколько таких ключей задают несколько " #~ "каталогов\n" #~ " -u, --unique с -c, проверять порядок строго;\n" #~ " без -c, выводить только первое среди нескольких " #~ "равных\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated завершать строки нулевым байтом, а не новой " #~ "строкой\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "ПОЗ задается как П[.З][КЛЮЧ], где П -- номер поля, а З -- позиция\n" #~ "знака в этом поле, оба отсчитываются от 1. Если не заданы ключи -t\n" #~ "или -b, знаки в поле отсчитываются от начала предшествующих пробельных\n" #~ "знаков. КЛЮЧ составляется из одной или нескольких букв, задающих\n" #~ "порядок сортировки; он отменяет соответствующие глобальные ключи для\n" #~ "данного ключевого поля. Если ключевое поле не задано, в качестве\n" #~ "ключа используется строка целиком.\n" #~ "\n" #~ "После РАЗМЕРА можно писать следующие суффиксы-мультипликаторы:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% памяти, b 1, k 1024 (по умолчанию), и так далее для M, G, T, P, E, " #~ "Z, Y.\n" #~ "\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ "\n" #~ "*** ПРЕДУПРЕЖДЕНИЕ ***\n" #~ "Установленная в среде локаль влияет на порядок сортировки.\n" #~ "Чтобы получить традиционный порядок, использующий системные значения " #~ "байт,\n" #~ "установите LC_ALL=C.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "ожидание %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] завершился неуспешно" #~ msgid "cannot create temporary file" #~ msgstr "невозможно создать временный файл" #~ msgid "open failed" #~ msgstr "операция открытия завершилась неуспехом" #~ msgid "fflush failed" #~ msgstr "операция fflush завершилась неуспешно" #~ msgid "close failed" #~ msgstr "закрытие неуспешно" #~ msgid "dup2 failed" #~ msgstr "dup2 неуспешна" #~ msgid "couldn't execute %s" #~ msgstr "невозможно выполнить %s" #~ msgid "couldn't create temporary file" #~ msgstr "невозможно создать временный файл" #~ msgid "couldn't open temporary file" #~ msgstr "невозможно открыть временный файл" #~ msgid "couldn't execute %s -d" #~ msgstr "невозможно выполнить %s -d" #~ msgid "write failed" #~ msgstr "запись неуспешна" #~ msgid "warning: cannot remove: %s" #~ msgstr "предупреждение, невозможно удалить: %s" #~ msgid "stat failed" #~ msgstr "операция stat завершилась неуспехом" #~ msgid "read failed" #~ msgstr "чтение неуспешно" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: неправильный порядок: " #~ msgid "standard error" #~ msgstr "стандартная ошибка" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: неверная спецификация поля %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "ключи `-%s' несовместимы" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: неверный счетчик в начале %s" #~ msgid "invalid number after `-'" #~ msgstr "неверное число после `-'" #~ msgid "invalid number after `.'" #~ msgstr "неверное число после `.'" #~ msgid "stray character in field spec" #~ msgstr "лишний знак в спецификации поля" #~ msgid "multiple compress programs specified" #~ msgstr "заданы несколько программ сжатия" #~ msgid "invalid number at field start" #~ msgstr "неверное число в начале поля" #~ msgid "field number is zero" #~ msgstr "нулевой номер поля" #~ msgid "character offset is zero" #~ msgstr "нулевой знаковый сдвиг" #~ msgid "invalid number after `,'" #~ msgstr "неверное число после `,'" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "дополнительный операнд %s не допустим с -%c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Использование: %s [КЛЮЧ] [ВХОД [ПРЕФИКС]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Выводит фиксированного размера части ФАЙЛА в файлы ПРЕФИКСaa,\n" #~ "ПРЕФИКСab, ...; по умолчанию размер части равен 1000 строк, а ПРЕФИКС\n" #~ "равен `x'. Если ФАЙЛ не задан или задан как -, читает стандартный\n" #~ "ввод.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=Н использовать суффиксы длины Н (по умолчанию %" #~ "d)\n" #~ " -b, --bytes=ЧИСЛО записывать в каждый выходной файл заданное " #~ "ЧИСЛО байт\n" #~ " -C, --line-bytes=ЧИСЛО записывать не более заданного ЧИСЛА байт из " #~ "строки\n" #~ " -d, --numeric-suffixes использовать числовые, а не алфавитные " #~ "суффиксы\n" #~ " -l, --lines=ЧИСЛО записывать в каждый выходной файл заданное " #~ "ЧИСЛО строк\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose печатать сообщение в стандартный поток ошибок " #~ "перед\n" #~ " открытием очередного выходного файла\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "После ЧИСЛА блоков и байт может стоять один из умножающий суффиксов:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB\n" #~ "1000*1000*1000, G 1024*1024*1024 и так далее для T, P, E, Z, Y.\n" #~ "\n" #~ "Каждый элемент СПИСКА для conv может быть:\n" #~ "\n" #~ msgid "creating file %s\n" #~ msgstr "создание файла %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "невозможно разбивать несколькими методами сразу" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: неверная длина суффикса" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: неверное число байт" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: неверное число строк" #~ msgid "line count option -%s%c... is too large" #~ msgstr "ключ числа строк -%s%c... слишком велик" #~ msgid "invalid number of lines: 0" #~ msgstr "неверное число строк: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "предупреждение: управляющая последовательность `\\%c' не распознана" #~ msgid "%s: invalid directive" #~ msgstr "%s: неверная директива" #~ msgid "warning: backslash at end of format" #~ msgstr "предупреждение: обратная косая черта в конце формата" #~ msgid "cannot read file system information for %s" #~ msgstr "невозможно считать информацию файловой системы для %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Использование: %s [КЛЮЧ] ФАЙЛ...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Отображает состояние файла или файловой системы.\n" #~ "\n" #~ " -L, --dereference следовать по ссылкам\n" #~ " -f, --file-system показать состояние файловой системы, а не файла\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=ФОРМАТ использовать указанный ФОРМАТ, а не принимаемый " #~ "по умолчанию;\n" #~ " переводить строку после каждого использования " #~ "ФОРМАТА\n" #~ " --printf=FORMAT как --format, но интерпретировать управляющие\n" #~ " последовательности и не переводить строку в " #~ "конце.\n" #~ " Если вам нужен перевод строки, вставьте в " #~ "ФОРМАТ \\n.\n" #~ " -t, --terse выводить информацию в компактной форме\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Допустимые форматные последовательности для файлов (без --file-system):\n" #~ "\n" #~ " %a Права доступа в восьмеричной форме\n" #~ " %A Права доступа в читаемой форме\n" #~ " %b Число выделенных блоков (смотрите %B)\n" #~ " %B Размер блока, сообщаемого %b, в байтах\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Номер устройства, десятичный\n" #~ " %D Номер устройства, шестнадцатиричный\n" #~ " %f Низкоуровневый режим, шестнадцатиричный\n" #~ " %F Тип файла\n" #~ " %g ID группы-владельца\n" #~ " %G Имя группы-владельца\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Число жестких ссылок\n" #~ " %i Число Inode\n" #~ " %n Имя файла\n" #~ " %N Экранированное имя файла, символьная ссылкы разыменовывается\n" #~ " %o Размер блока ввода/вывода\n" #~ " %s Полный размер, в байтах\n" #~ " %t Основной тип устройства, шестнадцатиричный\n" #~ " %T Второстепенный тип устройства, шестнадцатиричный\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u ID пользователя-владельца\n" #~ " %U Имя пользователя-владельца\n" #~ " %x Время последнего доступа\n" #~ " %X Время последнего доступа в секундах с начала Эпохи\n" #~ " %y Время последней модификации\n" #~ " %Y Время последней модификации в секундах с начала Эпохи\n" #~ " %z Время последнего изменения\n" #~ " %Z Время последнего изменения в секундах с начала Эпохи\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Допустимые форматные последовательности для файловых систем:\n" #~ "\n" #~ " %a Число свободных блоков, доступных для обычного пользователя\n" #~ " %b Полное число блоков данных в файловой системе\n" #~ " %c Полное число нод в файловой системе\n" #~ " %d Число свободных файловых нод в файловой системе\n" #~ " %f Число свободных блоков в файловой системе\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Идентификатор файловой системы, шестнадцатиричный\n" #~ " %l Максимальная длина имени файла\n" #~ " %n Имя файла\n" #~ " %s Размер блока (для быстрейшей передачи)\n" #~ " %S Фундаментальный размер блока (для подсчета блоков)\n" #~ " %t Тип, шестнадцатиричный\n" #~ " %T Тип в читаемой форме\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Использование: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [УСТАНОВКА]...\n" #~ " или: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-a|--all]\n" #~ " или: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Печатает или изменяет установки терминала.\n" #~ "\n" #~ " -a, --all напечатать все текущие установки в форме, понятной " #~ "человеку\n" #~ " -g, --save напечатать все текущие установки в форме, понятной " #~ "программе\n" #~ " stty\n" #~ " -F, --file=УСТРОЙСТВО\n" #~ " открыть и использовать указанное устройство вместо\n" #~ " стандартного ввода\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Необязательный знак минус перед УСТАНОВКОЙ означает отрицание. " #~ "Звездочкой\n" #~ "отмечены установки, не описанные в стандарте POSIX. Доступность той или " #~ "иной\n" #~ "установки определяется используемой системой.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Специальные символы:\n" #~ "* dsusp СИМВОЛ СИМВОЛ будет посылать терминалу сигнал останова при " #~ "завершении\n" #~ " ввода\n" #~ " eof СИМВОЛ СИМВОЛ будет означать конец файла (прекращать ввод)\n" #~ " eol СИМВОЛ СИМВОЛ будет означать конец строки\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ "* eol2 СИМВОЛ другой СИМВОЛ для конца строки\n" #~ " erase СИМВОЛ СИМВОЛ будет стирать последний введенный до него\n" #~ " intr СИМВОЛ СИМВОЛ будет посылать сигнал прерывания\n" #~ " kill СИМВОЛ СИМВОЛ будет стирать текущую строку\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ "* lnext СИМВОЛ СИМВОЛ будет вводить следующий символ, отменяя его " #~ "специальное\n" #~ " действие\n" #~ " quit СИМВОЛ СИМВОЛ будет посылать сигнал выхода\n" #~ "* rprnt СИМВОЛ СИМВОЛ будет перерисовывать текущую строку\n" #~ " start СИМВОЛ СИМВОЛ будет возобновлять ввод\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop СИМВОЛ СИМВОЛ будет приостанавливать ввод\n" #~ " susp СИМВОЛ СИМВОЛ будет посылать терминалу сигнал останова\n" #~ "* swtch СИМВОЛ СИМВОЛ будет переключать уровень вложенности оболочки\n" #~ "* werase СИМВОЛ СИМВОЛ стирать последние введенное слово\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Специальные установки:\n" #~ "\n" #~ " Н установить скорости ввода и вывода равными Н бод\n" #~ "* cols Н сообщить ядру, что терминал имеет Н столбцов\n" #~ "* columns Н синоним cols\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed Н установить скорость ввода\n" #~ "* line Н использовать протокол линии Н\n" #~ " min Н используется с -icanon, установить Н минимальным числом " #~ "символов\n" #~ " для завершения операции чтения\n" #~ " ospeed Н установить скорость вывода\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "* rows Н сообщить ядру, что терминал имеет Н строк\n" #~ "* size напечатать числа столбцов и строк, известные ядру\n" #~ " speed напечатать скорость терминала\n" #~ " time Н используется с -icanon, установить временной предел для " #~ "операции\n" #~ " чтения равным Н десятым секунды\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Установки управления:\n" #~ " [-]clocal отменить управляющие сигналы модема\n" #~ " [-]cread разрешить ввод\n" #~ "* [-]crtscts разрешить управление потоком данных с подтверждением " #~ "готовности\n" #~ " csН установить размер символа равным Н бит, Н от 5 до 8\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb использовать два разделяющих бита на символ (один, если с " #~ "`-')\n" #~ " [-]hup посылать сигнал обрыва терминальной линии, когда " #~ "последний\n" #~ " процесс закрывает терминал\n" #~ " [-]hupcl синоним [-]hup\n" #~ " [-]parenb генерировать при выводе бит четности и ожидать бит " #~ "четности на\n" #~ " вводе\n" #~ " [-]parodd установить проверку на нечетность (даже с `-')\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Установки ввода:\n" #~ " [-]brkint символ break будет вызывать сигнал прерывания\n" #~ " [-]icrnl преобразовывать возврат каретки в перевод строки\n" #~ " [-]ignbrk игнорировать символы прерывания\n" #~ " [-]igncr игнорировать символы возврата каретки\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar игнорировать символы с ошибками четности\n" #~ "* [-]imaxbel при переполненном буфере ввода подавать звуковой сигнал и " #~ "не\n" #~ " сбрасывать буфер, игнорируя дальнейший ввод\n" #~ " [-]inlcr преобразовывать перевод строки в возврат каретки\n" #~ " [-]inpck использовать проверку четности ввода\n" #~ " [-]istrip очищать старший (восьмой) бит вводимых символов\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "" #~ " * [-]iutf8 предполагать, что входные знаки в кодировке UTF-8\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "* [-]iuclc преобразовывать заглавные буквы в строчные\n" #~ "* [-]ixany позволить любому символу возобновить ввод\n" #~ " [-]ixoff разрешить посылку символов приостановки/возобновления\n" #~ " [-]ixon разрешить управление потоком данных\n" #~ " [-]parmrk отмечать ошибки четности (последовательностью из 255 " #~ "нулей)\n" #~ " [-]tandem синоним [-]xioff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Установки вывода:\n" #~ "* bsН значение паузы после забоя, допустимые Н [0..1]\n" #~ "* crН значение паузы после возврата каретки, допустимые Н " #~ "[0..3]\n" #~ "* ffН значение паузы после перевода страницы, допустимые Н " #~ "[0..1]\n" #~ "* nlН значение паузы после новой строки, допустимые Н [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "* [-]ocrnl преобразовывать возврат каретки в перевод строки\n" #~ "* [-]ofdel использовать символы стирания вместо нулей для " #~ "заполнения\n" #~ "* [-]ofill использовать символы заполнения для задержек\n" #~ "* [-]olcuc преобразовывать строчные буквы в заглавные\n" #~ "* [-]onlcr преобразовывать перевод строки в возврат каретки и новую " #~ "строку\n" #~ "* [-]onlret перевод строки производит возврат каретки\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ "* [-]onocr не печатать возврат каретки в первом столбце\n" #~ " [-]opost форматировать вывод\n" #~ "* tabН значение паузы после горизонтальной табуляции,\n" #~ " допустимые Н [0..3]\n" #~ "* tabs синоним tab0\n" #~ "* -tabs синоним tab3\n" #~ "* vtН значение паузы после вертикальной табуляции, допустимые Н " #~ "[0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Локальные установки:\n" #~ " [-]crterase стирать символы как забой-пробел-забой\n" #~ "* crtkill стирать всю строку, подчиняясь установкам echoprt и " #~ "echoe\n" #~ "* -crtkill стирать всю строку, подчиняясь установкам echoctl и " #~ "echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ "* [-]ctlecho отображать управляющие символы с шапочкой (`^c')\n" #~ " [-]echo отображать вводимые символы\n" #~ "* [-]echoctl синоним [-]ctlecho\n" #~ " [-]echoe синоним [-]crterase\n" #~ " [-]echok отображать перевод строки после символа уничтожения\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ "* [-]echoke синоним [-]crtkill\n" #~ " [-]echonl отображать перевод строки, даже если другие символы не\n" #~ " отображаются\n" #~ "* [-]echoprt выводить стираемые символы в обратном порядке, между `\\` " #~ "и '/'\n" #~ " [-]icanon использовать специальные символы erase, kill, werase, и " #~ "rprnt\n" #~ " [-]iexten использовать специальные символы, не описанные в " #~ "стандарте POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig использовать специальные символы interrupt, quit, и " #~ "suspend\n" #~ " [-]noflsh запретить сброс буфера после приема специальных символов " #~ "interrupt\n" #~ " и quit\n" #~ "* [-]prterase синоним [-]echoprt\n" #~ "* [-]tostop приостанавливать фоновые программе, пытающиеся произвести " #~ "запись\n" #~ " на терминал\n" #~ "* [-]xcase отображать `\\' для заглавных букв, используется с " #~ "icanon\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Объединенные установки:\n" #~ "* [-]LCASE синоним [-]lcase\n" #~ " cbreak синоним -icanon\n" #~ " -cbreak синоним icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked синоним brkint ignpar istrip icrnl ixon opost isig " #~ "icanon,\n" #~ " символы eof and eol имеют значения по умолчанию\n" #~ " -cooked синоним raw\n" #~ " crt синоним echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec синоним echoe echoctl echoke -ixany intr ^c erase 0177 " #~ "kill ^u\n" #~ "* [-]decctlq синоним [-]ixany\n" #~ " ek установить для символов erase and kill значения по " #~ "умолчанию\n" #~ " evenp синоним parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp синоним -parenb cs8\n" #~ "* [-]lcase синоним xcase iuclc olcuc\n" #~ " litout синоним -parenb -istrip -opost cs8\n" #~ " -litout синоним parenb istrip opost cs7\n" #~ " nl синоним -icrnl -onlcr\n" #~ " -nl синоним icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp синоним parenb parodd cs7\n" #~ " -oddp синоним -parenb cs8\n" #~ " [-]parity синоним [-]evenp\n" #~ " pass8 синоним -parenb -istrip cs8\n" #~ " -pass8 синоним parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw синоним -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw синоним cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane синоним cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, все специальные " #~ "знаки\n" #~ " имеют значения по умолчанию\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Управляет терминальной линией, подключенной к стандартному вводу. " #~ "Запущенная\n" #~ "без аргументов, печатает скорость передачи информации, line discipline и\n" #~ "отличия от обычных установок. При установке, СИМВОЛЫ трактуются " #~ "буквально\n" #~ "или задаются в как ^c, 0x37, 0177 или 127; для отмены специальных " #~ "символов\n" #~ "служат значения ^- и undef.\n" #~ msgid "only one device may be specified" #~ msgstr "можно задать только одно устройство" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "ключи для вывода в виде, читаемом человеком и читаемом программой stty,\n" #~ "взаимоисключающие" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "при задании стиля вывода нельзя устанавливать режим" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: невозможно переинициализировать неблокирующий режим" #~ msgid "invalid argument %s" #~ msgstr "неверный аргумент %s" #~ msgid "missing argument to %s" #~ msgstr "пропущен аргумент для %s" #~ msgid "invalid line discipline %s" #~ msgstr "неверная line discipline %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: невозможно произвести все запрошенные действия" #~ msgid "new_mode: mode\n" #~ msgstr "новый_режим: режим\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: для этого устройства нет сведений о размерах" #~ msgid "invalid integer argument %s" #~ msgstr "неверный целый аргумент %s" #~ msgid "Password:" #~ msgstr "Пароль:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: невозможно открыть /dev/tty" #~ msgid "cannot set groups" #~ msgstr "невозможно установить группы" #~ msgid "cannot set group id" #~ msgstr "невозможно установить групповой id" #~ msgid "cannot set user id" #~ msgstr "невозможно установить пользовательский id" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Использование: %s [КЛЮЧ]... [-] [ПОЛЬЗОВАТЕЛЬ [АРГ]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Устанавливает эффективные идентификаторы пользователя и группы как у " #~ "ПОЛЬЗОВАТЕЛЯ.\n" #~ "\n" #~ " -, -l, --login использовать оболочку как оболочку входа\n" #~ " -c, --command=КОМАНДА передать оболочке КОМАНДУ с помощью -c\n" #~ " -f, --fast передать оболочке -f (для csh или tcsh)\n" #~ " -m, --preserve-environment не сбрасывать переменные среды\n" #~ " -p синоним для -m\n" #~ " -s, --shell=ОБОЛОЧКА запустить ОБОЛОЧКУ, если позволяет /etc/" #~ "shells\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Просто знак минус подразумевает -l. Если ПОЛЬЗОВАТЕЛЬ не задан,\n" #~ "подразумевается root.\n" #~ msgid "user %s does not exist" #~ msgstr "пользователь %s не существует" #~ msgid "incorrect password" #~ msgstr "неправильный пароль" #~ msgid "using restricted shell %s" #~ msgstr "используется ограниченная оболочка %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "предупреждение: невозможно сменить каталог на %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Печатает контрольную сумму и число блоков для каждого ФАЙЛА.\n" #~ "\n" #~ " -r использовать метод вычисления контрольных сумм как в " #~ "BSD,\n" #~ " размер блока 1K\n" #~ " -s, --sysv использовать метод вычисления контрольных сумм как в " #~ "System V,\n" #~ " размер блока 512 байт\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Записывает измененные блоки на диск, обновляет суперблок\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "все аргументы проигнорированы" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "ЗАМЕЧАНИЕ: ваша оболочка может предоставлять свою версию %s, которая\n" #~ "обычно перекрывает версию, описанную здесь. Пожалуйста, обращайтесь к\n" #~ "документации по вашей оболочке, чтобы узнать, какие ключи она\n" #~ "поддерживает.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help показать эту справку и выйти\n" #~ msgid " --version output version information and exit\n" #~ msgstr "" #~ " --version показать информацию о версии и выйти\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Об ошибках сообщайте по адресу <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Печатает ФАЙЛЫ на стандартный вывод, начиная с последней строки.\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before присоединять разделитель к началу, а не к " #~ "концу\n" #~ " -r, --regex воспринимать разделитель как регулярное " #~ "выражение\n" #~ " -s, --separator=СТРОКА использовать как разделитель СТРОКУ, а не знак " #~ "`\\n'\n" #~ msgid "%s: seek failed" #~ msgstr "%s: перемещение по файлу неуспешно" #~ msgid "record too large" #~ msgstr "запись слишком велика" #~ msgid "cannot create temporary file %s" #~ msgstr "невозможно создать временный файл %s" #~ msgid "cannot open %s for writing" #~ msgstr "невозможно открыть %s для записи" #~ msgid "%s: write error" #~ msgstr "%s: ошибка записи" #~ msgid "separator cannot be empty" #~ msgstr "разделитель не может быть пустым" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Печатает последние %d строк каждого из ФАЙЛОВ на стандартный вывод.\n" #~ "Если задано несколько ФАЙЛОВ, сначала печатает заголовок с именем файла.\n" #~ "Если ФАЙЛ не задан или задан как -, читает стандартный ввод.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry продолжать попытки открытия файла, даже если " #~ "он\n" #~ " недоступен, когда tail запускается, или если " #~ "он\n" #~ " стал недоступен позднее; полезно при " #~ "наблюдении\n" #~ " по имени, например, при --follow=имя\n" #~ " -c, --bytes=Н выводить последние Н байт; или используйте +Н, " #~ "чтобы\n" #~ " вывести у каждого файла все байты, начиная с Н-" #~ "ного\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " выводить поступающие данные по мере роста " #~ "файла;\n" #~ " -f, --follow и --follow=descriptor " #~ "эквивалентны\n" #~ " -F эквивалент --follow=name --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=Н выводить последние Н строк, а не последние %" #~ "d;\n" #~ " или используйте +Н для вывода строк, начиная с " #~ "Н-ной\n" #~ " --max-unchanged-stats=Н\n" #~ " c ключом --follow=name, повторно открывать " #~ "ФАЙЛ,\n" #~ " который не изменялся последние Н (по умолчанию " #~ "%d)\n" #~ " итераций, чтобы проверить, не был ли он удален " #~ "или\n" #~ " переименован (такое обычно бывает при ротации\n" #~ " системных протокольных файлов)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID с ключом -f, прерваться, когда процесс PID\n" #~ " завершает работу\n" #~ " -q, --quiet, --silent не выводить заголовки с именами файлов\n" #~ " -s, --sleep-interval=С с ключом -f, спать между итерациями примерно С " #~ "секунд\n" #~ " (по умолчанию 1.0)\n" #~ " -v, --verbose всегда выводить заголовки с именами файлов\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Если первым знаком в Н (числе байт или строк) является `+', то выводит\n" #~ "с Н-ного байта (или строки) от начала каждого файла, иначе выводит\n" #~ "последние Н байт (или строк). Н может иметь суффикс-множитель: b\n" #~ "означает 512, k -- 1024, m -- 1024*1024.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "С ключом --follow (-f), tail по умолчанию следует за дескриптором файла, " #~ "что\n" #~ "означает, что даже если файл переименован, tail будет и далее следить за " #~ "его\n" #~ "концом. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Это поведение, принимаемое по умолчанию, нежелательно, если вы на\n" #~ "самом деле хотите следить за действительным именем файла, а не за " #~ "дескриптором\n" #~ "(пример -- вращение протокольных файлов). В таком случае используйте\n" #~ "--follow=name. Это заставит tail следовать за указанным файлом, " #~ "повторно\n" #~ "открывая его периодически, чтобы узнать, не был ли он удален и заново " #~ "создан\n" #~ "какой-то другой программой.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "закрытие %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: невозможно переместить указатель позиции на %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "" #~ "%s: невозможно переместить указатель позиции на %s относительно конца" #~ msgid "%s has become inaccessible" #~ msgstr "%s стал недоступен" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s был замещен файлом, для которого tail неприменим; конец вывода для " #~ "этого имени" #~ msgid "%s has become accessible" #~ msgstr "%s стал доступен" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s появился; начат вывод для нового файла" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s был замещен; вывод продолжается для нового файла" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: невозможно изменить неблокирующий режим" #~ msgid "%s: file truncated" #~ msgstr "%s: файл усечен" #~ msgid "no files remaining" #~ msgstr "больше нет файлов" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: невозможно следить за концом файла такого типа; вывод продолжается " #~ "для нового файла" #~ msgid "number in %s is too large" #~ msgstr "число в %s слишком велико" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: неверное максимальное число неизменявшихся параметров между открытиями" #~ msgid "%s: invalid PID" #~ msgstr "%s: неверный PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: неверное число секунд" #~ msgid "option used in invalid context -- %c" #~ msgstr "ключ использован в неверном контексте -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "внимание: ключ --retry обычно полезен при следовании по имени файла" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "внимание: PID игнорирован; ключ --pid=PID полезен только при следовании" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "предупреждение: --pid=PID не поддерживается на этой системе" #~ msgid "cannot follow %s by name" #~ msgstr "невозможно следовать за %s по имени" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "" #~ "предупреждение: бесконечное слежение за стандартным вводом неэффективно" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Копирует стандартный ввод в каждый ФАЙЛ, а также в стандартный вывод.\n" #~ "\n" #~ " -a, --append дописать в заданные ФАЙЛЫ\n" #~ " -i, --ignore-interrupts игнорировать сигналы прерывания\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Если ФАЙЛ задан как -, копирует обратно на стандартный вывод.\n" #~ msgid "missing argument after %s" #~ msgstr "пропущен аргумент после %s" #~ msgid "invalid integer %s" #~ msgstr "неверное целое число %s" #~ msgid "')' expected" #~ msgstr "ожидается `)'" #~ msgid "')' expected, found %s" #~ msgstr "ожидается `)', встречено %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: ожидается унарный оператор" #~ msgid "-nt does not accept -l" #~ msgstr "-nt не допускает -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef не допускает -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot не допускает -l" #~ msgid "unknown binary operator" #~ msgstr "неизвестный бинарный оператор" #~ msgid "%s: binary operator expected" #~ msgstr "%s: ожидается бинарный оператор" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Использование: test ВЫРАЖЕНИЕ\n" #~ " или: test\n" #~ " или: [ ВЫРАЖЕНИЕ ]\n" #~ " или: [ ]\n" #~ " или: [ КЛЮЧ\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "Выходной статус определяется ВЫРАЖЕНИЕМ.\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Если ВЫРАЖЕНИЕ не задано, оно считается ложным. В противном случае\n" #~ "ВЫРАЖЕНИЕ может быть истинным либо ложным; оно устанавливает выходной\n" #~ "статус программы. Выходное значение определяется следующим образом:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( ВЫРАЖЕНИЕ ) ВЫРАЖЕНИЕ истинно\n" #~ " ! ВЫРАЖЕНИЕ ВЫРАЖЕНИЕ ложно\n" #~ " ВЫРАЖЕНИЕ1 -a ВЫРАЖЕНИЕ2 ВЫРАЖЕНИЕ1 и ВЫРАЖЕНИЕ2 оба истинны\n" #~ " ВЫРАЖЕНИЕ1 -o ВЫРАЖЕНИЕ2 ВЫРАЖЕНИЕ1 или ВЫРАЖЕНИЕ2 истинно\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n СТРОКА длина СТРОКИ отлична от нуля\n" #~ " СТРОКА эквивалентно -n СТРОКА\n" #~ " -z СТРОКА длина СТРОКИ равна нулю\n" #~ " СТРОКА1 = СТРОКА2 строки равны\n" #~ " СТРОКА1 != СТРОКА2 строки не равны\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ЦЕЛОЕ1 -eq ЦЕЛОЕ2 ЦЕЛОЕ1 равно ЦЕЛОМУ2\n" #~ " ЦЕЛОЕ1 -ge ЦЕЛОЕ2 ЦЕЛОЕ1 больше или равно ЦЕЛОМУ2\n" #~ " ЦЕЛОЕ1 -gt ЦЕЛОЕ2 ЦЕЛОЕ1 больше ЦЕЛОГО2\n" #~ " ЦЕЛОЕ1 -le ЦЕЛОЕ2 ЦЕЛОЕ1 меньше или равно ЦЕЛОМУ2\n" #~ " ЦЕЛОЕ1 -lt ЦЕЛОЕ2 ЦЕЛОЕ1 меньше ЦЕЛОГО2\n" #~ " ЦЕЛОЕ1 -ne ЦЕЛОЕ2 ЦЕЛОЕ1 отлично от ЦЕЛОГО2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " ФАЙЛ1 -ef ФАЙЛ2 ФАЙЛ1 и ФАЙЛ2 имеют одинаковые устройства и номера " #~ "inode\n" #~ " ФАЙЛ1 -nt ФАЙЛ2 ФАЙЛ1 изменялся позже, чем ФАЙЛ2\n" #~ " ФАЙЛ1 -ot ФАЙЛ2 ФАЙЛ1 был создан позже, чем ФАЙЛ2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b ФАЙЛ ФАЙЛ существует и является специальным с поблочным " #~ "доступом\n" #~ " -c ФАЙЛ ФАЙЛ существует и является специальным с посимвольным " #~ "доступом\n" #~ " -d ФАЙЛ ФАЙЛ существует и является каталогом\n" #~ " -e ФАЙЛ ФАЙЛ существует\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f ФАЙЛ ФАЙЛ существует и является обычным файлом\n" #~ " -g ФАЙЛ ФАЙЛ существует и имеет флаг set-group-ID\n" #~ " -G ФАЙЛ ФАЙЛ существует и принадлежит текущей эффективной группе\n" #~ " -h ФАЙЛ ФАЙЛ существует и является символьной ссылкой (эквивалент -" #~ "L)\n" #~ " -k ФАЙЛ ФАЙЛ существует и имеет флаг sticky\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L ФАЙЛ ФАЙЛ существует и является символьной ссылкой (эквивалент -" #~ "h)\n" #~ " -O ФАЙЛ ФАЙЛ существует и принадлежит текущему эффективному " #~ "пользователю\n" #~ " -p ФАЙЛ ФАЙЛ существует и является именованным каналом\n" #~ " -r ФАЙЛ ФАЙЛ существует доступен для чтения\n" #~ " -s ФАЙЛ ФАЙЛ существует и имеет ненулевой размер\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S ФАЙЛ ФАЙЛ существует и является сокетом\n" #~ " -t [ДФ] дескриптор файла ДФ открыт на терминале\n" #~ " -u ФАЙЛ ФАЙЛ существует и имеет флаг set-user-ID\n" #~ " -w ФАЙЛ ФАЙЛ существует и доступен для записи\n" #~ " -x ФАЙЛ ФАЙЛ существует и является исполняемым\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Все тесты, относящиеся к ФАЙЛУ, кроме -h и -L разыменовывают\n" #~ "символьные ссылки. Помните, что вы должны отменить специальное\n" #~ "значение скобок для командного интерпретатора (например, с помощью\n" #~ "знака `\\'). ЦЕЛОЕ может также быть задано как \"-l СТРОКА\", при этом\n" #~ "оно принимает значение длины СТРОКИ.\n" #~ msgid "test and/or [" #~ msgstr "test и/или [" #~ msgid "missing `]'" #~ msgstr "пропущена `]'" #~ msgid "extra argument %s" #~ msgstr "излишний аргумент %s" #~ msgid "creating %s" #~ msgstr "создание %s" #~ msgid "cannot touch %s" #~ msgstr "невозможно выполнить touch для %s" #~ msgid "setting times of %s" #~ msgstr "установка временных отметок %s" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a изменять только время доступа\n" #~ " -c, --no-create не создавать файлов\n" #~ " -d, --date=STRING проанализировать STRING и использовать вместо\n" #~ " текущего времени\n" #~ " -f (игнорируется)\n" #~ " -m изменять только время изменения\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=ФАЙЛ использовать время ФАЙЛА вместо текущего\n" #~ " -t ВРЕМЯ использовать [[ВВ]ГГ]ММДДччмм[.сс] вместо\n" #~ " текущего времени\n" #~ " --time=СЛОВО изменить указанное время:\n" #~ " СЛОВО access, atime, use эквивалентно -a\n" #~ " СЛОВО modify, mtime эквивалентно -m\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Заметьте, что ключи -d и -t воспринимают разные форматы даты и времени.\n" #~ "\n" #~ "Если ФАЙЛ задан как -, обновляет стандартный ввод.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "невозможно задать время из нескольких источников" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "предупреждение: `touch %s' устарел; используйте `touch -t %04ld%02d%02d%" #~ "02d%02d.%02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Использование: %s [КЛЮЧ]... НАБОР1 [НАБОР2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Преобразует, уплотняет и/или удаляет знаки со стандартного ввода и\n" #~ "печатает на стандартный вывод.\n" #~ "\n" #~ " -c, -C, --complement сначала получить дополнение ТАБЛИЦЫ1\n" #~ " -d, --delete удалять знаки из ТАБЛИЦЫ1, не преобразовывать\n" #~ " -s, --squeeze-repeats замещать последовательности повторяющихся " #~ "знаков из\n" #~ " перечисленных в ТАБЛИЦЕ1 на единственный " #~ "такой знак\n" #~ " -t, --truncate-set1 сначала сократить ТАБЛИЦУ1 до размера ТАБЛИЦЫ2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "ТАБЛИЦы задаются как знаковые строки. Во многих случаях знаки " #~ "представляют\n" #~ "сами себя. Воспринимаются следующие последовательности:\n" #~ "\n" #~ " \\ННН знак с восьмеричным кодом ННН (от 1 до 3 цифр)\n" #~ " \\\\ обратная косая черта\n" #~ " \\a звуковой сигнал\n" #~ " \\b забой\n" #~ " \\f перевод страницы\n" #~ " \\n новая строка\n" #~ " \\r возврат каретки\n" #~ " \\t горизонтальная табуляция\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v вертикальная табуляция\n" #~ " ЗНАК1-ЗНАК2 все знаки от ЗНАК1 до ЗНАК2 в порядке возрастания\n" #~ " [ЗНАК*] ЗНАК заполняет ТАБЛИЦУ2 до длины ТАБЛИЦЫ1\n" #~ " [ЗНАК*ЧИСЛО] заданное ЧИСЛО одинаковых ЗНАКОВ; ЧИСЛО восьмеричное, " #~ "если\n" #~ " начинается с 0\n" #~ " [:alnum:] все буквы и цифры\n" #~ " [:alpha:] все буквы\n" #~ " [:blank:] все горизонтальные пробельные знаки\n" #~ " [:cntrl:] все управляющие знаки\n" #~ " [:digit:] все цифры\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] все печатные знаки, исключая пробел\n" #~ " [:lower:] все строчные буквы\n" #~ " [:print:] все печатные знаки, включая пробел\n" #~ " [:punct:] все знаки препинания\n" #~ " [:space:] все вертикальные или горизонтальные пробельные знаки\n" #~ " [:upper:] все заглавные буквы\n" #~ " [:xdigit:] все шестнадцатеричные цифры\n" #~ " [=ЗНАК=] все знаки, эквивалентные ЗНАКУ\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Если заданы обе ТАБЛИЦы, и не указан -d, производится преобразование. " #~ "Ключ -t\n" #~ "может быть использован только при преобразовании. ТАБЛИЦА2 расширяется " #~ "до\n" #~ "размера ТАБЛИЦЫ1 путем повторения последнего знака. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Избыточные знаки\n" #~ "ТАБЛИЦЫ2 игнорируются. Только [:lower:] и [:upper:] гарантировано " #~ "сортированы в\n" #~ "порядке возрастания, их можно использовать только парно, для обозначения " #~ "смены\n" #~ "регистра. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "Если не запрошено ни преобразование, ни удаление, ключ -s использует\n" #~ "ТАБЛИЦУ1, иначе при уплотнении используется ТАБЛИЦА2. Уплотнение " #~ "производится\n" #~ "после преобразования или удаления.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "предупреждение: неоднозначная восьмеричная последовательность \\%c%c%c " #~ "трактуется\n" #~ "как двухбайтная последовательность \\0%c%c, %c" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "предупреждение: обратная косая черта в конце формата" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "неверный порядок границ диапазона `%s-%s'" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "неверно задано число повторов %s в конструкции [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "пропущено имя класса знаков `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "пропущен знак класса эквивалентности `[==]'" #~ msgid "invalid character class %s" #~ msgstr "неверный класс знаков %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "" #~ "%s: необходимо задать один символ, определяющий класс эквивалентных ему" #~ msgid "too many characters in set" #~ msgstr "слишком много знаков в таблице" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "конструкция [c*] не может быть использована в ТАБЛИЦЕ1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "в ТАБЛИЦЕ2 может быть использована только одна конструкция [c*]" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "" #~ "выражение [=c=] не может быть использовано в ТАБЛИЦЕ2 при преобразовании" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "если часть таблицы1 не отбрасывается, таблица2 должна быть непустой" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "при преобразовании с дополнением классов символов, ТАБЛИЦА2 должна\n" #~ "ставить в соответствие всем символам дополнения ровно один символ" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "при преобразовании, в ТАБЛИЦЕ2 могут быть использованы только\n" #~ "классы `upper' и `lower'" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "" #~ "конструкция [c*] может быть использована в ТАБЛИЦЕ2 только при " #~ "преобразовании" #~ msgid "Two strings must be given when translating." #~ msgstr "При преобразовании необходимо задать две таблицы." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "При удалении без уплотнения повторов можно задать две только одну таблицу." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "непарные конструкции [:upper:] и/или [:lower:]" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s [ игнорируемые аргументы командной строки ]\n" #~ " или: %s КЛЮЧ\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Выходит с успешным статусом." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Использование: %s [КЛЮЧ] [ФАЙЛ]\n" #~ "Печатает полностью сортированный список, соответствующий частичной " #~ "сортировке\n" #~ "в заданном ФАЙЛЕ. Если ФАЙЛ не задан или задан как -, читает стандартный " #~ "ввод.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: на входе содержится нечетное число лексем" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: на входе содержится цикл:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Использование: %s [КЛЮЧ]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Печатает имя файла для терминала, присоединенного к стандартному вводу.\n" #~ "\n" #~ " -s, --silent, --quiet не печатать, только вернуть выходное значение\n" #~ msgid "not a tty" #~ msgstr "не телетайп" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Печатает определенные сведения о системе. Если КЛЮЧ не задан,\n" #~ "подразумевается -s.\n" #~ "\n" #~ " -a, --all напечатать всю информацию, в следующем порядке,\n" #~ " кроме -p и -i, если они неизвестны:\n" #~ " -s, --kernel-name напечатать имя ядра\n" #~ " -n, --nodename напечатать имя машины в сети\n" #~ " -r, --release напечатать номер выпуска операционной системы\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version напечатать версию ядра\n" #~ " -m, --machine напечатать тип оборудования машины\n" #~ " -p, --processor напечатать тип процессора или \"неизвестно\"\n" #~ " -i, --hardware-platform напечатать тип аппаратной платформы или " #~ "\"неизвестно\"\n" #~ " -o, --operating-system напечатать имя операционной системы\n" #~ msgid "cannot get system name" #~ msgstr "невозможно узнать название системы" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Преобразует пробелы в ФАЙЛАХ в знаки табуляции и печатает на\n" #~ "стандартный вывод. Если ФАЙЛ не задан или задан как -, читает\n" #~ "стандартный ввод.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all преобразовывать все пробельные знаки, а не только " #~ "начальные\n" #~ " --first-only преобразовывать только начальные пробельные знаки\n" #~ " (перекрывает -a)\n" #~ " -t, --tabs=ЧИСЛО использовать табуляцию заданной ширины, а не 8 " #~ "(включает -a)\n" #~ " -t, --tabs=СПИСОК использовать заданный СПИСОК (разделенный запятыми) " #~ "позиций\n" #~ " табуляции (включает -a)\n" #~ msgid "tabs are too far apart" #~ msgstr "позиции табуляции слишком далеко друг от друга" #~ msgid "tab stop value is too large" #~ msgstr "размер табуляции слишком велик" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Использование: %s [КЛЮЧ]... [ВХОД [ВЫХОД]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Удаляет все кроме одной повторяющиеся строки ВХОДА (или стандартного " #~ "ввода) и\n" #~ "печатает на ВЫХОД (или на стандартный вывод).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count выводить число повторов в начале каждой строки\n" #~ " -d, --repeated выводить только повторяющиеся строки\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=delimit-method] напечатать все повторяющиеся " #~ "строки\n" #~ " delimit-method={none(по умолчанию),prepend," #~ "separate)}\n" #~ " Разделение делается пустыми строками.\n" #~ " -f, --skip-fields=N не сравнивать первые N полей\n" #~ " -i, --ignore-case игнорировать при сравнении регистр\n" #~ " -s, --skip-chars=N не сравнивать первые N знаков\n" #~ " -u, --unique выводить только неповторяющиеся строки\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=Н сравнивать первые Н знаков строк\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Полем считается последовательность пробельных знаков, за которой\n" #~ "следуют непробельные знаки. Сначала пропускаются поля, потом знаки.\n" #~ msgid "too many repeated lines" #~ msgstr "слишком много повторяющихся строк" #~ msgid "invalid number of fields to skip" #~ msgstr "неверное число пропускаемых полей" #~ msgid "invalid number of bytes to skip" #~ msgstr "неверное число пропускаемых байт" #~ msgid "invalid number of bytes to compare" #~ msgstr "неверное число сравниваемых байт" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "печать всех повторяющихся сток и числа повторений бессмысленна" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s ФАЙЛ\n" #~ " или: %s КЛЮЧ\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Вызывает функцию unlink для удаления указанного ФАЙЛА.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "невозможно удалить ссылку %s" #~ msgid "couldn't get boot time" #~ msgstr "невозможно узнать время первоначальной загрузки" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s включен " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? включен " #~ msgid "???? days ??:??, " #~ msgstr "???? дней ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld день" #~ msgstr[1] "%ld дня" #~ msgstr[2] "%ld дней" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu пользователь" #~ msgstr[1] "%lu пользователя" #~ msgstr[2] "%lu пользователей" #~ msgid ", load average: %.2f" #~ msgstr ", средняя загруженность: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Использование: %s [КЛЮЧ]... [ ФАЙЛ ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Выводит текущее время, общее время непрерывной работы системы, число\n" #~ "пользователей в системе и среднее число заданий в очереди запуска за\n" #~ "последние 1, 5 и 15 минут.\n" #~ "Если ФАЙЛ не задан, используется %s. Часто в качестве ФАЙЛА задают %s.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Выводит список подключенных пользователей в соответствии с ФАЙЛОМ.\n" #~ "Если ФАЙЛ не задан, используется %s. Часто в качестве ФАЙЛА\n" #~ "задают %s.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Печатает число переводов строк, слов и байт для каждого ФАЙЛА и\n" #~ "итоговую строку, если было задано несколько ФАЙЛОВ. Если ФАЙЛ не\n" #~ "задан или задан как -, читает стандартный ввод.\n" #~ " -c, --bytes напечатать число байт\n" #~ " -m, --chars напечатать число знаков\n" #~ " -l, --lines напечатать число переводов строк\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=ФАЙЛ брать ввод из файлов, перечисленных через NUL в " #~ "ФАЙЛЕ\n" #~ " -L, --max-line-length напечатать длину наибольшей строки\n" #~ " -w, --words напечатать число слов\n" #~ msgid " old " #~ msgstr "давно" #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "терминал=" #~ msgid "exit=" #~ msgstr "выход=" #~ msgid "clock change" #~ msgstr "изменение времени" #~ msgid "run-level" #~ msgstr "уровень выполнения" #~ msgid "last=" #~ msgstr "предыдущий=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "число пользователей=%lu\n" #~ msgid "NAME" #~ msgstr "ИМЯ" #~ msgid "LINE" #~ msgstr "ЛИНИЯ" #~ msgid "TIME" #~ msgstr "ВРЕМЯ" #~ msgid "IDLE" #~ msgstr "НЕАКТИВЕН" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "КОММЕНТАРИЙ" #~ msgid "EXIT" #~ msgstr "ВЫХОД" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Использование: %s [КЛЮЧ]... [ ФАЙЛ | АРГ1 АРГ2]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all эквивалент -b -d --login -p -r -t -T -u\n" #~ " -b, --boot время последней загрузки системы\n" #~ " -d, --dead печатать мертвые процессы\n" #~ " -H, --heading печатать строку с заголовками столбцов\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login печатать процессы входа в систему\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup пытаться канонизировать имена хостов через DNS\n" #~ " -m только имя хоста и пользователь, связанные со\n" #~ " стандартным вводом\n" #~ " -p, --process печатать активные процессы, которые породил init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count все имена и число подключенных пользователей\n" #~ " -r, --runlevel печатать текущий уровень выполнения\n" #~ " -s, --short печатать только имя, линию и время (принимается по " #~ "умолчанию)\n" #~ " -t, --time печатать последнее изменение системного времени\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg добавлять статус приема сообщений как +, - или ?\n" #~ " -u, --users перечислить подключенных пользователей\n" #~ " --message эквивалент -T\n" #~ " --writable эквивалент -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Если ФАЙЛ не задан, используется %s. Часто в качестве ФАЙЛА задают %" #~ "s.\n" #~ "Если заданы АРГ1 и АРГ2, полагается использование -m: например `am i'\n" #~ "и `mom likes'.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Напечатать имя пользователя, соответствующее текущему эффективному id\n" #~ "пользователя. Аналогично вызову id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: невозможно определить имя пользователя для ID %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Использование: %s [СТРОКА]...\n" #~ " или: %s КЛЮЧ\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Непрерывно печатает заданную СТРОКУ (СТРОКИ) или, если СТРОК не задано, " #~ "`y'.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Использование: %s ИМЯ_ПОЛЬЗОВАТЕЛЯ КОМАНДА [АРГУМЕНТ]...\n" #~ " или: %s КЛЮЧ\n" #~ msgid "block size" #~ msgstr "размер блока" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License .\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Это свободная программа. Вы можете распространять ее копии при\n" #~ "соблюдении условий Универсальной Общественной Лицензии GNU\n" #~ ". Не предоставляется НИКАКИХ\n" #~ "ГАРАНТИЙ, в установленных законом пределах.\n" #~ "\n" #~ msgid "invalid %s `%s'" #~ msgstr "неверный %s `%s'" #~ msgid "invalid character following %s in `%s'" #~ msgstr "неверный знак после %s в `%s'" #~ msgid "unrecognized operand %s=%s" #~ msgstr "операнд %s=%s не распознан" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "ключ --kilobytes устарел, используйте вместо него -k" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N может иметь суффикс-множитель: b 512, k 1024, m 1024*1024.\n" #~ msgid "cannot print only user and only group" #~ msgstr "невозможно напечатать только пользователя и только группу" #~ msgid "cannot get supplemental group list" #~ msgstr "невозможно получить список дополнительных групп" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " группировать каталоги перед файлами\n" #~ msgid "skip argument" #~ msgstr "аргумент, задающий пропуск," #~ msgid "limit argument" #~ msgstr "аргумент, задающий ограничение," #~ msgid "minimum string length" #~ msgstr "минимальная длина строки" #~ msgid "width specification" #~ msgstr "задание ширины" #~ msgid "page range" #~ msgstr "диапазон страниц" #~ msgid "the --copyright option is deprecated; use --version instead" #~ msgstr "ключ --copyright устарел, используйте вместо него --version" #~ msgid "sort size" #~ msgstr "размер сортировки" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "При задании ЧИСЛА байт можно использовать суффикс: b означает 512b, k -- " #~ "1kb,\n" #~ "m -- 1Mb.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Обновить времена доступа и модификации каждого файла до текущего времени\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Предупреждение: ключ -i будет удален в будущем выпуске; используйте\n" #~ "вместо него -u" dc3dd-7.1.614/po/af.gmo0000644000175000017500000000204711233346647014163 0ustar amedicoamedico t&8M]s  V(+Tj  Try `%s --help' for more information. Unknown system errorcannot fstat %sclosing input file %sclosing output file %sinvalid number %sopening %sstandard inputstandard outputwriting to %sProject-Id-Version: coreutils 5.2.1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2004-03-17 11:58+0200 Last-Translator: Petri Jooste Language-Team: Afrikaans MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Probeer `%s --help' vir meer inligting. Onbekende stelselfoutkan nie fstat op %s uitvoer nietoevoerlêer %s word toegemaakafvoerlêer %s word toegemaakongeldige nommer %s%s word oopgemaakstandaardtoevoerstandaard-afvoerbesig om te skryf na %sdc3dd-7.1.614/po/vi.gmo0000644000175000017500000001303311233346647014210 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  ^ \ 84:3o81Sb.01CIu7  M,z<)9Rq" $4/Y    !)( " %  $#' &% BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-04-23 17:47+0930 Last-Translator: Clytie Siddall Language-Team: Vietnamese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: LocFactoryEditor 1.7b3 Theo sau KHỐI và BYTES có thể đặt các hậu tố nhân sau : xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, và tương tự với T, P, E, Z, Y. Mỗi ký hiệu CONV có thể là: Mỗi ký hiệu CỜ có thể là: append chế độ phụ thêm (chỉ có ích cho kết quả ra; cũng đề nghị « conv=notrunc ») binary sử dụng V/R nhị phân cho dữ liệu direct sử dụng V/R thẳng cho dữ liệu directory lỗi nếu không phải thư mục dsync dùng V/R đã đồng bộ cho dữ liệu noatime không cập nhật giờ truy cập noctty không ấn định thiết bị cuối điều khiển từ tập tin noerror tiếp tục sau khi gặp lỗi đọc sync thêm mọi khối đầu vào với NUL đến kích thước ibs; khi sử dụng với block hoặc unblock, thêm bằng khoảng trắng fdatasync ghi vật lý dữ liệu tập tin kết quả lên đĩa trước khi thoát fsync như trên, nhưng đồng thời ghi cả siêu dữ liệu nofollow không đi theo liên kết mềm nolinks lỗi nếu có nhiều liên kết nonblock sử dụng V/R không đặt khối sync như trên, nhưng đồng thời cho cả siêu dữ liệu text sử dụng V/R văn bản cho dữ liệu %s: không thể tìm nơi, %g s, %s/s B vô cùngHãy thử lệnh trợ giúp « %s --help » để biết thêm thông tin. Lỗi hệ thống không rõSử dụng: %s [TOÁN_HẠNG]... hoặc: %s TÙY_CHỌN không thể kết hợp excl và nocreatkhông fstat được %svậy không làm việc được với lỗi của nhânđang đóng tập tin vào %sđang đóng tập tin ra %sfdatasync bị lỗi cho %sfsync bị lỗi cho %ssai chuyển đổicờ đầu vào không hợp lệsố không hợp lệ %scờ đầu ra không hợp lệcờ trạng thái không hợp lệvùng hiệu bị tràn khi đọc tập tin %sđang mở %sđang thiết lập cờ cho %sđầu vào tiêu chuẩnđầu ra tiêu chuẩntoán hạng không nhận ra %scảnh báo : đang gỡ rối lỗi nhân lseek cho tập tin (%s) có mt_type=0x%0lx -- xem để biết danh sách các dạngđang ghi tới %sPRIuMAXtruncating at % bytes in output file %sđang cắt ngắn ở % byte trong tập tin kết quả %sdc3dd-7.1.614/po/it.gmo0000644000175000017500000000250711233346647014212 0ustar amedicoamedico | &!H]m t K~Y.%B`t7   Try `%s --help' for more information. Unknown system errorcannot fstat %sclosing input file %sclosing output file %sinvalid number %sopening %sstandard inputstandard outputwarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 4.5.1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2002-07-24 18:12+0200 Last-Translator: Marco d'Itri Language-Team: Italian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=2; plural=(n != 1); Usare `%s --help' per ulteriori informazioni. Errore di sistema sconosciutoimpossibile fare fstat di %schiusura del file di input %schiusura del file di output %snumero %s non validoapertura di %sstandard inputstandard outputwarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typesscrittura di %sdc3dd-7.1.614/po/ca.po0000644000175000017500000133465711233346647014034 0ustar amedicoamedico# Catalan messages for GNU coreutils. # Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Ivan Vilata i Balaguer , 1999. # Jordi Mallach , 2001, 2002. # Ernest Adrogué Calveras , 2002. # Ivan Vilata i Balaguer , 2002, 2003, 2004, 2005, 2006, 2007, 2008. # # No em decideixo entre destí i destinació. jm # Destí és correcte i més curt, ho passe tot a destí. ivb # # Sóc Ivan, aquestes són les convencions que adopte per a la 4.5.1: # * Sempre que es puga s’usaran els caràcters adequats per al text en català: # l’apòstrof (’), ela geminada (ŀ, Ŀ), cometes («, », “, ”, ‘, ’, en aquest # ordre de d’aparició), guionet (‐), guionet dur (‑), guió (—) i punts # suspensius (…). Compte, perquè *cap*, repetesc, *CAP* dels anteriors és # el caràcter que s’obté teclejant directament; vegeu # http://www.selidor.net/~ivan/blog/bits/20060304T0023-ortotipografia.html. # * Use 2 espais després d'un punt. # * Missatges d'ajuda: # * Forma d'ús: ... # o bé: ... # * ARGUMENT_COMPOST, però ARGCOMP # * FILE(s) -> cada FITXER (si és possible) # * Cada línia de descripció d'una opció comença en la columna 24, i # sempre es manté com a mínim a 4 espais del nom de l'opció. Quan # l'opció arriba a la columna 24, la descripció comença en la línia # inferior. Les descripcions que no caben en una línia es parteixen i # continuen en la columna 24 de la línia següent. # * Les descripcions d'ítems que no són opcions es mantenen alineades a # 4 espais de l'ítem més llarg del bloc. Les que no caben en una línia # es parteixen i continuen en la mateixa columna on comencen. # * Errors i avisos: # * no és igual «no es pot obrir» que «no s'ha pogut obrir» # * no és igual «s'està obrint X» que «en obrir X» (error) # * «avís:» comença amb minúscula, la cadena següent també # * sempre van en una sola línia, a no ser que els retorns importen; en # aquest cas, les noves línies comencen amb un caràcter de tabulació # * VARIABLE_ENTORN, però «valor de variable» # * Noms de funció: printf() # * Noms de fitxer: «fitxer» # * Noms d'opcions: «--opció=ARGUMENT» # * El text com a molt arriba a la columna 78, amb el caràcter de nova línia # en la 79. Les línies es parteixen de forma automàtica (no per a que quede # bonic, excepte quan quede realment horrend o porte a confusió). msgid "" msgstr "" "Project-Id-Version: coreutils 6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-05-03 21:10+0200\n" "Last-Translator: Ivan Vilata i Balaguer \n" "Language-Team: Catalan \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" # No usa quote() (afortunadament). ivb #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "no s’ha pogut crear el procés «%s -d»" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Proveu «%s --help» per a obtenir més informació.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Forma d’ús: %s [OPERAND]…\n" " o bé: %s OPCIÓ\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Còpia un fitxer, convertint i formatant les dades d’acord amb els operands.\n" "\n" " bs=OCTETS Fa que «ibs=OCTETS» i «obs=OCTETS».\n" " cbs=OCTETS Converteix aquest nombre d’OCTETS alhora.\n" " conv=CONVERSIONS Converteix el fitxer d’acord amb la llista de símbols\n" " separats per comes.\n" " count=BLOCS Només còpia aquest nombre de BLOCS de l’entrada.\n" " ibs=OCTETS Llegeix aquest nombre d’OCTETS alhora.\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=FITXER Llegeix del FITXER en lloc de fer‐ho de l’entrada\n" " estàndard.\n" " iflag=SENYALADOR Llegeix d’acord amb la llista de símbols separats per\n" " comes.\n" " obs=OCTETS Escriu aquest nombre d’OCTETS alhora.\n" " of=FITXER Escriu al FITXER en lloc de fer‐ho a l’eixida " "estàndard.\n" " oflag=SENYALADOR Escriu d’acord amb la llista de símbols separats per\n" " comes.\n" " seek=BLOCS Salta aquest nombre de BLOCS de mida «obs» al " "principi\n" " de l’eixida.\n" " skip=BLOCS Salta aquest nombre de BLOCS de mida «ibs» al " "principi\n" " de l’entrada.\n" " status=noxfer No mostra l’estadística de la tranferència.\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCS i OCTETS poden estar seguits dels sufixos multiplicatius següents\n" "(prefix valor): xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000,\n" "M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, Z, " "Y.\n" "\n" "Cada símbol de CONVERSIONS pot ser:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat No crea el fitxer d’eixida.\n" " excl Falla si el fitxer d’eixida ja existeix.\n" " notrunc No trunca el fitxer d’eixida.\n" " ucase Transforma les minúscules en majúscules.\n" " swab Intercanvia cada parell d’octets de l’entrada.\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror Continua després d’un error de lectura.\n" " sync Emplena cada bloc d’entrada amb NUL fins a la mida «ibs»; " "quan\n" " s’empra amb «block» o «unblock», emplena els blocs amb " "espais\n" " en lloc de NUL.\n" " fdatasync Escriu físicament les dades del fitxer d’eixida abans de\n" " finalitzar.\n" " fsync El mateix, però també n’escriu les metadades.\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Cada símbol SENYALADOR pot ser:\n" "\n" " append Mode de només addició (només té sentit per a l’eixida, es\n" " suggereix emprar «conv=notrunc»).\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct Empra E/S directa per a les dades.\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory Falla si no és un directori.\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync Empra E/S sincronitzada per a les dades.\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync El mateix, però també per a les metadades.\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock Empra E/S no blocadora.\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime No actualitza la data d’accés.\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty No assigna el fitxer com a terminal de control.\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow No segueix els enllaços simbòlics.\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks Falla si el fitxer té més d’un enllaç.\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary Empra E/S binària per a les dades.\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text Empra E/S textual per a les dades.\n" # La substitució pot ser «USR1» o «INFO». ivb #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Enviar un senyal %s a un procés «dd» en marxa fa que mostre una estadística\n" "d’entrada/eixida a l’eixida estàndard d’errors, i que després continue\n" "copiant.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 registres llegits\n" " 18335302+0 registres escrits\n" " 9387674624 octets (9,4 GB) copiats, 34,6279 segons, 271 MB/s\n" "\n" "Les opcions són:\n" "\n" # Amb el mateix format que els errors de la libc. ivb #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Error desconegut del sistema" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% registres llegits\n" "%+% registres escrits\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% octet (%s) copiat" msgstr[1] "% octets (%s) copiats" # Es refereix a octets per segon. ivb #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Infinits B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" # Usa quote(). ivb # Condició d'error. ivb #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "en tancar el fitxer d’entrada %s" # Usa quote(). ivb # Condició d'error. ivb #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "en tancar el fitxer d’eixida %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "s’han esgotat els sufixs per als fitxers de sortida" # Usa quote(). ivb # Condició d'error. ivb #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "en obrir %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "INCORRECTE" # Usa quote(). ivb #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "l’operand %s no és reconegut" # Ambdues usen quote(). ivb #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "la data %s no és vàlida" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "el format de data «%s» no és vàlid" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "el format de data «%s» no és vàlid" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "el format de data «%s» no és vàlid" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "la conversió no és vàlida" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "el senyalador d’entrada no és vàlid" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "el senyalador d’eixida no és vàlid" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "el senyalador d’estat no és vàlid" # Usa quote(). ivb #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "el número %s no és vàlid" # Són noms de senyaladors. ivb #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "no es poden combinar «excl» i «nocreat»" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "no es poden combinar les opcions «-e» i «-i»" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "no es poden combinar les opcions «-e» i «-i»" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "no es poden combinar les opcions «-e» i «-i»" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "no es poden combinar les opcions «-e» i «-i»" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "no es poden combinar les opcions «-e» i «-i»" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "avís: s’evita un error del nucli en lseek() per al fitxer «%s» de tipus " "mt_type=0x%0lx —vegeu per a la llista de tipus" # Els 3 usen quote(). ivb #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "s’està llegint %s" # El primer hauria de ser «no *es pot* desplaçar». ivb #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: no s’ha pogut desplaçar" # Usa quote(). ivb #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "s’ha desbordat el desplaçament en llegir el fitxer %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "" "avís: després de la lectura fallada el desplaçament de fitxer no és vàlid" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "al final no s’ha pogut evitar l’error del nucli" # Usa quote(). ivb # Condició d'error. ivb #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "en establir els senyaladors de %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" # Els 2 usen quote(). ivb # Indica condició d'error. ivb #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "en llegir el directori %s" # Els 2 usen quote(). ivb # Indica condició d'error. ivb #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "en llegir el directori %s" # Usa quote(). ivb # Condició d'error. ivb #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "en escriure %s" # Usa quote. ivb #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "ha fallat fdatasync() sobre %s" # Usa quote(). ivb #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "ha fallat fsync() sobre %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "entrada estàndard" #: src/dc3dd.c:3938 msgid "standard output" msgstr "eixida estàndard" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "el desplaçament és massa gran: no es pot truncar a una longitud de %" " blocs de %lu octets" # Els 4 usen quote(). ivb #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "ha fallat fstat() sobre %s" # Usa quote(). ivb # Condició d'error. ivb #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "en truncar a % octets al fitxer d’eixida %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii D’EBCDIC a ASCII.\n" #~ " ebcdic D’ASCII a EBCDIC.\n" #~ " ibm D’ASCII a EBCDIC alternat.\n" #~ " block Emplena amb espais cada registre acabat en nova línia fins " #~ "que\n" #~ " tinga la mida «cbs».\n" #~ " unblock Substitueix els espais del final de cada registre de mida " #~ "«cbs»\n" #~ " per un caràcter de nova línia.\n" #~ " lcase Transforma les majúscules en minúscules.\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% registre truncat\n" #~ msgstr[1] "% registres truncats\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "no es poden combinar «ascii», «ebcdic» o «ibm»" # Són noms de senyaladors. ivb #~ msgid "cannot combine block and unblock" #~ msgstr "no es poden combinar «block» i «unblock»" # Són noms de senyaladors. ivb #~ msgid "cannot combine lcase and ucase" #~ msgstr "no es poden combinar «lcase» i «ucase»" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "" #~ "avís: després de la lectura fallada el desplaçament de fitxer no és vàlid" # uniq no usa quote(). ivb #~ msgid "error writing %s" #~ msgstr "error en escriure %s" # Usa quote() en els 2 args. ivb #~ msgid "invalid argument %s for %s" #~ msgstr "l’argument %s no és vàlid per a %s" # Usa quote() en els 2 args. ivb #~ msgid "ambiguous argument %s for %s" #~ msgstr "l’argument %s és ambigu per a %s" #~ msgid "Valid arguments are:" #~ msgstr "Els arguments vàlids són:" # Condició d'error. ivb #~ msgid "error closing file" #~ msgstr "error en tancar el fitxer" #~ msgid "write error" #~ msgstr "error d’escriptura" # Usa quote(). ivb # Indica condició d'error. ivb #~ msgid "preserving permissions for %s" #~ msgstr "en preservar els permisos de %s" # Els 3 usen quote(). ivb #~ msgid "cannot stat %s" #~ msgstr "ha fallat stat() sobre %s" #~ msgid "regular empty file" #~ msgstr "fitxer ordinari buit" #~ msgid "regular file" #~ msgstr "fitxer ordinari" #~ msgid "directory" #~ msgstr "directori" #~ msgid "block special file" #~ msgstr "fitxer especial de blocs" #~ msgid "character special file" #~ msgstr "fitxer especial de caràcters" #~ msgid "fifo" #~ msgstr "cua FIFO" #~ msgid "symbolic link" #~ msgstr "enllaç simbòlic" #~ msgid "socket" #~ msgstr "connector" #~ msgid "message queue" #~ msgstr "cua de missatges" #~ msgid "semaphore" #~ msgstr "semàfor" #~ msgid "shared memory object" #~ msgstr "objecte de memòria compartida" #~ msgid "typed memory object" #~ msgstr "objecte de memòria amb tipus" #~ msgid "weird file" #~ msgstr "fitxer estrany" #~ msgid "Address family for hostname not supported" #~ msgstr "La família d’adreces del nom d’estació no és permesa" #~ msgid "Temporary failure in name resolution" #~ msgstr "Fallada temporal a la resolució de noms" #~ msgid "Bad value for ai_flags" #~ msgstr "El valor d’«ai_flags» no és vàlid" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Fallada irrecuperable a la resolució de noms" #~ msgid "ai_family not supported" #~ msgstr "El valor d’«ai_family» no és permés" #~ msgid "Memory allocation failure" #~ msgstr "No s’ha pogut reservar memòria" #~ msgid "No address associated with hostname" #~ msgstr "No hi ha cap adreça associada amb el nom d’estació" #~ msgid "Name or service not known" #~ msgstr "El nom o servei no és conegut" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "El servei per a aquest valor d’«ai_socktype» no és permés" #~ msgid "ai_socktype not supported" #~ msgstr "El valor d’«ai_socktype» no és permés" #~ msgid "System error" #~ msgstr "Error del sistema" #~ msgid "Argument buffer too small" #~ msgstr "La memòria intermèdia d’arguments és massa menuda" #~ msgid "Processing request in progress" #~ msgstr "S’està processant la petició" #~ msgid "Request canceled" #~ msgstr "La petició ha estat canceŀlada" #~ msgid "Request not canceled" #~ msgstr "La petició no ha estat canceŀlada" #~ msgid "All requests done" #~ msgstr "S’han completat totes les peticions" #~ msgid "Interrupted by a signal" #~ msgstr "Interromput per un senyal" #~ msgid "Parameter string not correctly encoded" #~ msgstr "La codificació del paràmetre cadena no és correcta" #~ msgid "Unknown error" #~ msgstr "Error desconegut" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: l’opció «%s» és ambigua\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: l’opció «--%s» no admet arguments\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: l’opció «%c%s» no admet arguments\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: l’opció «%s» necessita un argument\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: l’opció «--%s» no és reconeguda\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: l’opció «%c%s» no és reconeguda\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: no es permet l’opció «%c»\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: l’opció «%c» no és vàlida\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: l’opció «%c» necessita un argument\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: l’opció «-W %s» és ambigua\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: l’opció «-W %s» no admet arguments\n" # Els 2 usen quote(). ivb #~ msgid "cannot change permissions of %s" #~ msgstr "no s’han pogut canviar els permisos de %s" # Els 3 usen quote(). ivb #~ msgid "cannot create directory %s" #~ msgstr "no s’ha pogut crear el directori %s" #~ msgid "memory exhausted" #~ msgstr "la memòria s’ha exhaurit" #~ msgid "unable to record current working directory" #~ msgstr "no s’ha pogut registrar el directori de treball actual" #~ msgid "failed to return to initial working directory" #~ msgstr "no s’ha pogut tornar al directori inicial de treball" #~ msgid "`" #~ msgstr "«" #~ msgid "'" #~ msgstr "»" # Indica error, usa quote(). ivb #~ msgid "%s: end of file" #~ msgstr "%s: s’ha trobat el final del fitxer" #~ msgid "Success" #~ msgstr "Èxit" #~ msgid "No match" #~ msgstr "No hi ha cap coincidència" #~ msgid "Invalid regular expression" #~ msgstr "L’expressió regular no és vàlida" # Usa quote(). ivb #~ msgid "Invalid collation character" #~ msgstr "El caràcter d’ordenació no és vàlid" # Usa quote(). ivb #~ msgid "Invalid character class name" #~ msgstr "El nom de la classe de caràcters no és vàlid" #~ msgid "Trailing backslash" #~ msgstr "Hi ha una barra invertida sobrant al final" # Usa quote(). ivb #~ msgid "Invalid back reference" #~ msgstr "La referència cap enrere no és vàlida" #~ msgid "Unmatched [ or [^" #~ msgstr "«[» o «[^» desaparellat" #~ msgid "Unmatched ( or \\(" #~ msgstr "«(» o «\\(» desaparellat" #~ msgid "Unmatched \\{" #~ msgstr "«\\{» desaparellat" #~ msgid "Invalid content of \\{\\}" #~ msgstr "El contingut de «\\{\\}» no és vàlid" # Usa quote(). ivb #~ msgid "Invalid range end" #~ msgstr "El final del rang no és vàlid" #~ msgid "Memory exhausted" #~ msgstr "La memòria s’ha exhaurit" #~ msgid "Invalid preceding regular expression" #~ msgstr "L’expressió regular precedent és incorrecta" #~ msgid "Premature end of regular expression" #~ msgstr "Fi prematura de l’expressió regular" #~ msgid "Regular expression too big" #~ msgstr "L’expressió regular és massa llarga" #~ msgid "Unmatched ) or \\)" #~ msgstr "«)» o «\\)» desaparellat" #~ msgid "No previous regular expression" #~ msgstr "No hi ha expressió regular prèvia" # Usa quote(). ivb #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "és perillós operar recursivament sobre %s" # Els 2 usen quote(). ivb #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "és perillós operar recursivament sobre %s (com sobre %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "useu «--no-preserve-root» per a evitar aquesta comprovació" #~ msgid "^[yY]" #~ msgstr "^[sS]" #~ msgid "^[nN]" #~ msgstr "^[nN]" # Usa quote(). ivb # Indica condició d'error. ivb #~ msgid "setting permissions for %s" #~ msgstr "en establir els permisos de %s" #~ msgid "iconv function not usable" #~ msgstr "la funció iconv() no és útil" #~ msgid "iconv function not available" #~ msgstr "la funció iconv() no es troba disponible" #~ msgid "character out of range" #~ msgstr "el caràcter es troba fora del rang" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "no s’ha pogut convertir U+%04X al joc de caràcters local" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "no s’ha pogut convertir U+%04X al joc de caràcters local: %s" #~ msgid "invalid user" #~ msgstr "l’usuari no és vàlid" #~ msgid "invalid group" #~ msgstr "el grup no és vàlid" #~ msgid "invalid spec" #~ msgstr "l’especificació no és vàlida" #~ msgid "(C)" #~ msgstr "©" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "GPLv3+: llicència GNU GPL ver. 3 o posterior \n" #~ "Aquest és programari lliure: podeu modificar‐lo i redistribuir‐lo si " #~ "voleu.\n" #~ "No hi ha CAP GARANTIA, en la mesura que ho permeta la llei.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Escrit per %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Escrit per %s i %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Escrit per %s, %s i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Escrit per %s, %s, %s\n" #~ "i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Escrit per %s, %s, %s,\n" #~ "%s i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Escrit per %s, %s, %s,\n" #~ "%s, %s i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Escrit per %s, %s, %s,\n" #~ "%s, %s, %s i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Escrit per %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Escrit per %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Escrit per %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s i d’altres.\n" #~ msgid "invalid argument: %s" #~ msgstr "l’argument no és vàlid: %s" #~ msgid "string comparison failed" #~ msgstr "ha fallat la comparació de cadenes" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Establiu la variable LC_ALL a «C» per a evitar el problema." # Usa quote() en les 2. ivb #~ msgid "The strings compared were %s and %s." #~ msgstr "Les cadenes comparades eren %s i %s." #~ msgid "string transformation failed" #~ msgstr "ha fallat la transformació de la cadena" # Usa quote(). ivb #~ msgid "The untransformed string was %s." #~ msgstr "La cadena sense transformar era %s." #~ msgid "cannot perform formatted output" #~ msgstr "no s’ha pogut crear l’eixida formatada" # La substitució «%s%s» és «--opció». ivb #~ msgid "invalid %s%s argument `%s'" #~ msgstr "l’argument «%3$s» de l’opció «%1$s%2$s» no és vàlid" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "el sufix de l’argument «%3$s» de l’opció «%1$s%2$s» no és vàlid" #~ msgid "%s%s argument `%s' too large" #~ msgstr "l’argument «%3$s» de l’opció «%1$s%2$s» és massa gran" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ] [FITXER]\n" #~ "Codifica o descodifica el FITXER (o l’entrada estàndard) emprant base 64, " #~ "i\n" #~ "escriu el resultat en l’eixida estàndard.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=COLS Ajusta la longitud de les línies codificades al " #~ "valor\n" #~ " indicat (76 per defecte). Useu 0 per a no " #~ "ajustar.\n" #~ "\n" #~ " -d, --decode Descodifica les dades.\n" #~ " -i, --ignore-garbage En descodificar, passa per alt els caràcters " #~ "no\n" #~ " alfabètics.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Mostra aquesta ajuda i surt.\n" #~ " --version Mostra informació sobre la versió i surt.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Sense cap FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Les dades són codificades seguint l’alfabet base 64 de l’RFC 3548. En\n" #~ "descodificar, l’entrada pot contenir caràcters de nova línia a banda " #~ "dels\n" #~ "octets de l’alfabet base 64 formal. Useu «--ignore-garbage» per a provar " #~ "de\n" #~ "tolerar altres octets no alfabètics en el flux codificat.\n" #~ msgid "read error" #~ msgstr "error de lectura" #~ msgid "invalid input" #~ msgstr "l’entrada no és vàlida" #~ msgid "invalid wrap size: %s" #~ msgstr "la longitud d’ajustament no és vàlida: %s" # Usa quote(). ivb #~ msgid "extra operand %s" #~ msgstr "sobra l’operand %s" # Indica la situació d'un missatge d'error. ivb #~ msgid "closing standard input" #~ msgstr "en tancar l’entrada estàndard" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s NOM [SUFIX]\n" #~ " o bé: %s OPCIÓ\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Mostra NOM eliminant qualsevol component directori que tinga al davant. " #~ "Si\n" #~ "s’especifica, també s’elimina el SUFIX del darrere.\n" #~ "\n" # Esperem que el «%s» no empente la línia més enllà de la columna 78. ivb #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Exemples:\n" #~ " «%s /usr/bin/sort» produeix «sort».\n" #~ " «%s include/stdio.h .h» produeix «stdio».\n" #~ msgid "missing operand" #~ msgstr "manca un operand" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ] [FITXER]…\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Concatena els FITXERs o l’entrada estàndard, i escriu el resultat a la\n" #~ "sortida estàndard.\n" #~ "\n" #~ " -A, --show-all Equival a «-vET».\n" #~ " -b, --number-nonblank Enumera les línies que no estan en blanc.\n" #~ " -e, Equival a «-vE».\n" #~ " -E, --show-ends Escriu un caràcter «$» al final de cada línia.\n" #~ " -n, --number Enumera totes les línies.\n" #~ " -s, --squeeze-blank No mostra més d’una línia en blanc seguida.\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t Equival a «-vT».\n" #~ " -T, --show-tabs Mostra els caràcters de tabulació com a «^I».\n" #~ " -u (No es té en compte.)\n" #~ " -v, --show-nonprinting\n" #~ " Empra la notació «^» i «M-», excepte per als " #~ "caràcters\n" #~ " de nova línia i per a les tabulacions.\n" # Esperem que el «%s» no empente la línia més enllà de la columna 78. ivb # Aquest arranjament funciona bé per a «%s = cat», el més comú. ivb #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Exemples:\n" #~ " «%s f - g» Mostra el contingut d’«f», de l’entrada estàndard, i " #~ "en\n" #~ " acabant el contingut de «g».\n" #~ " «%s» Còpia l’entrada estàndard a l’eixida estàndard.\n" # Usa quote(). ivb #~ msgid "cannot do ioctl on %s" #~ msgstr "ha fallat ioctl() sobre %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: el fitxer d’entrada i el de sortida són el mateix" # Usa quote(). ivb #~ msgid "failed to create security context: %s" #~ msgstr "no s’ha pogut crear el context de seguretat: %s" # Crec que la primera no usa quote(); la segona sí. ivb #~ msgid "failed to set %s security context component to %s" #~ msgstr "" #~ "no s’ha pogut establir el component «%s» del context de seguretat a %s" # Els 5 usen quote(). ivb #~ msgid "failed to get security context of %s" #~ msgstr "no s’ha pogut obtenir el context de seguretat de %s" # Usa quote(). ivb # L’error sempre es dóna amb un fitxer no etiquetat. ivb #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "no es pot aplicar un context parcial al fitxer sense context %s" # Usa quote() en els dos args. ivb #~ msgid "failed to change context of %s to %s" #~ msgstr "no s’ha pogut canviar el context de %s a %s" # Usa quote(). ivb #~ msgid "cannot access %s" #~ msgstr "no s’ha pogut accedir a %s" # En les 3 és nom de fitxer amb quote(). ivb #~ msgid "%s" #~ msgstr "%s" # Usa quote(). ivb #~ msgid "cannot read directory %s" #~ msgstr "no s’ha pogut llegir el directori %s" # Usa quote(). ivb # Missatge informatiu. ivb #~ msgid "changing security context of %s" #~ msgstr "s’està canviant el context de seguretat de %s" # És una funció. ivb #~ msgid "fts_read failed" #~ msgstr "ha fallat fts_read()" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… CONTEXT FITXER…\n" #~ " o bé: %s [OPCIÓ]… [-u USUARI] [-r ROL] [-l RANG] [-t TIPUS] " #~ "FITXER…\n" #~ " o bé: %s [OPCIÓ]… --reference=FITXREF FITXER…\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Canvia el context de seguretat de cada FITXER a CONTEXT.\n" #~ "Amb «--reference», canvia el context de seguretat de cada FITXER a aquell " #~ "de\n" #~ "FITXREF.\n" #~ "\n" #~ " -c, --changes Com «--verbose», però només informa quan es fa un\n" #~ " canvi.\n" #~ " -h, --no-dereference Afecta cadascun dels enllaços simbòlics en lloc " #~ "dels\n" #~ " fitxers apuntats.\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=FITXREF\n" #~ " Empra el context de seguretat del fitxer FITXREF " #~ "en lloc\n" #~ " del valor especificat de CONTEXT.\n" #~ " -R, --recursive Opera recursivament sobre fitxers i directoris.\n" #~ " -v, --verbose Mostra un missatge per cada fitxer processat.\n" #~ "\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=USUARI Estableix l’USUARI del context de seguretat del " #~ "destí.\n" #~ " -r, --role=ROL Estableix el ROL del context de seguretat del " #~ "destí.\n" #~ " -t, --type=TIPUS Estableix el TIPUS del context de seguretat del " #~ "destí.\n" #~ " -l, --range=RANG Estableix el RANG del context de seguretat del " #~ "destí.\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Les opcions següents modifiquen la forma de recórrer una jerarquia quan " #~ "s’haja\n" #~ "especificat també l’opció «-R». Si se n’especifica més d’una, només la\n" #~ "darrera d’elles tindrà efecte.\n" #~ "\n" #~ " -H Si un argument de la línia d’ordres és un ellaç\n" #~ " simbòlic cap a un directori, aquest serà " #~ "recorregut.\n" #~ " -L Es seguirà qualsevol enllaç que es trobe que " #~ "apunte\n" #~ " cap a un directori.\n" #~ " -P No es seguirà cap enllaç simbòlic (per defecte).\n" #~ "\n" # -H i -L es reemplacen però no són incompatibles. ivb #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "«-R --dereference» necessita «-H» o «-L»" #~ msgid "-R -h requires -P" #~ msgstr "«-R -h» necessita «-P»" # Usa quote(). ivb #~ msgid "missing operand after %s" #~ msgstr "manca un operand després de %s" #~ msgid "invalid context: %s" #~ msgstr "el context no és vàlid: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "s’han proporcionat diverses especificacions de context de seguretat" # Els 9 usen quote(). ivb #~ msgid "failed to get attributes of %s" #~ msgstr "no s’han pogut obtenir els atributs de %s" # Usa quote(). ivb #~ msgid "invalid group: %s" #~ msgstr "el grup no és vàlid: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… GRUP FITXER…\n" #~ " o bé: %s [OPCIÓ]… --reference=FITXREF FITXER…\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Canvia la pertinença de grup de cada FITXER a GRUP.\n" #~ "Amb «--reference», canvia el grup de cada FITXER a aquell de FITXREF.\n" #~ "\n" #~ " -c, --changes Com «--verbose», però només informa quan es fa un\n" #~ " canvi.\n" #~ " --dereference Afecta el fitxer apuntat per cada enllaç simbòlic " #~ "(per\n" #~ " defecte), en lloc del propi enllaç simbòlic.\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference Afecta cadascun dels enllaços simbòlics en lloc " #~ "dels\n" #~ " fitxers apuntats (disponible només en sistemes " #~ "que\n" #~ " puguen canviar el propietari d’un enllaç " #~ "simbòlic).\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root\n" #~ " No tracta «/» de forma especial (per defecte).\n" #~ " --preserve-root Falla en operar recursivament sobre «/».\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet No mostra la majoria de missatges d’error.\n" #~ " --reference=FITXREF\n" #~ " Empra el grup del fitxer FITXREF en lloc del " #~ "valor\n" #~ " especificat de GRUP.\n" #~ " -R, --recursive Opera recursivament sobre fitxers i directoris.\n" #~ " -v, --verbose Mostra un missatge per cada fitxer processat.\n" #~ "\n" # Esperem que el «%s» no empente la línia més enllà de la columna 78. ivb # Aquest arranjament funciona bé per a «%s = chgrp», el més comú. ivb #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Exemples:\n" #~ " «%s staff /u» Canvia el grup de «/u» a «staff».\n" #~ " «%s -hR staff /u» Canvia el grup de «/u» i descendents a «staff».\n" # Usa quote(). ivb # Indica situació d'error. ivb #~ msgid "getting new attributes of %s" #~ msgstr "en obtenir els nous atributs de %s" # Usa quote(). ivb #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "no s’han canviat ni l’enllaç simbòlic %s ni el fitxer apuntat\n" # Usa quote() en el 1r arg. El 3r és un mode «rwxrwxrwx». ivb #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "s’ha canviat el mode de %s a %04lo (%s)\n" # Usa quote() en el 1r arg. El 3r és un mode «rwxrwxrwx». ivb #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "no s’ha pogut canviar el mode de %s a %04lo (%s)\n" # Usa quote() en el 1r arg. El 3r és un mode «rwxrwxrwx». ivb #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "el mode de %s es manté en %04lo (%s)\n" # Usa quote(). ivb #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "no es pot emprar l’enllaç simbòlic trencat %s" # Usa quote(). ivb # Indica una condició d'error. ivb #~ msgid "changing permissions of %s" #~ msgstr "en canviar els permisos de %s" # No usa quote(), però són números. ivb #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: els nous permisos són %s, no %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… MODE[,MODE]… FITXER…\n" #~ " o bé: %s [OPCIÓ]… MODE_OCTAL FITXER…\n" #~ " o bé: %s [OPCIÓ]… --reference=FITXREF FITXER…\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Canvia el mode de cada FITXER a MODE.\n" #~ "\n" #~ " -c, --changes Com «--verbose», però només informa quan es " #~ "produeix un\n" #~ " canvi.\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root\n" #~ " No tracta «/» de forma especial (per defecte).\n" #~ " --preserve-root Falla en operar recursivament sobre «/».\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet No mostra la majoria dels missatges d’error.\n" #~ " -v, --verbose Mostra un missatge per cada fitxer processat.\n" #~ " --reference=FITXREF\n" #~ " Empra el mode de FITXREF en lloc dels valors de " #~ "MODE.\n" #~ " -R, --recursive Canvia recursivament fitxers i directoris.\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Cada MODE té la forma «[ugoa]*([-+=]([rwxXst]*|[ugo]))+».\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "no es poden combinar el mode i l’opció «--reference»" #~ msgid "invalid mode: %s" #~ msgstr "el mode no és vàlid: %s" # Usa quote() en el 1r arg. ivb #~ msgid "changed ownership of %s to %s\n" #~ msgstr "s’ha canviat el propietari de %s a «%s»\n" # Usa quote en el 1r arg. ivb #~ msgid "changed group of %s to %s\n" #~ msgstr "s’ha canviat el grup de %s a «%s»\n" # Usa quote(). ivb #~ msgid "no change to ownership of %s\n" #~ msgstr "no s’ha canviat el propietari de %s\n" # Usa quote() en el 1r arg. ivb #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "no s’ha pogut canviar el propietari de %s a «%s»\n" # Usa quote() en el 1r arg. ivb #~ msgid "failed to change group of %s to %s\n" #~ msgstr "no s’ha pogut canviar el grup de %s a «%s»\n" # Usa quote(). ivb #~ msgid "failed to change ownership of %s\n" #~ msgstr "no s’ha pogut canviar el propietari de %s\n" # Usa quote() en el 1r arg. ivb #~ msgid "ownership of %s retained as %s\n" #~ msgstr "el propietari de %s es manté en «%s»\n" # Usa quote() en el 1r arg. ivb #~ msgid "group of %s retained as %s\n" #~ msgstr "el grup de %s es manté en «%s»\n" # Usa quote(). ivb #~ msgid "ownership of %s retained\n" #~ msgstr "el propietari de %s es manté\n" # Usa quote(). ivb #~ msgid "cannot dereference %s" #~ msgstr "no s’ha pogut seguir %s" # Usa quote(). ivb #~ msgid "changing ownership of %s" #~ msgstr "s’està canviant el propietari de %s" # Usa quote(). ivb #~ msgid "changing group of %s" #~ msgstr "s’està canviant el grup de %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… [PROPIETARI][:[GRUP]] FITXER…\n" #~ " o bé: %s [OPCIÓ]… --reference=FITXREF FITXER…\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Canvia el propietari o grup de cada FITXER a PROPIETARI o GRUP.\n" #~ "Amb «--reference», canvia el propietari i grup de cada FITXER a aquell " #~ "de\n" #~ "FITXREF.\n" #~ "\n" #~ " -c, --changes Com «--verbose», però només informa quan es fa un\n" #~ " canvi.\n" #~ " --dereference Afecta el fitxer apuntat per cada enllaç simbòlic " #~ "(per\n" #~ " defecte), en lloc del propi enllaç simbòlic.\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=PROPIETARI_ACTUAL:GRUP_ACTUAL\n" #~ " Canvia el propietari o grup de cada fitxer només " #~ "si el\n" #~ " seu propietari o grup actual coincideixen amb " #~ "aquests.\n" #~ " Es pot ometre qualsevol dels dos; en aqueix cas " #~ "no\n" #~ " caldrà que hi haja coincidència amb l’atribut " #~ "omés.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet No mostra la majoria de missatges d’error.\n" #~ " --reference=FITXREF\n" #~ " Empra el propietari i grup del fitxer FITXERF en " #~ "lloc\n" #~ " dels valors especificats de PROPIETARI:GRUP.\n" #~ " -R, --recursive Opera recursivament sobre fitxers i directoris.\n" #~ " -v, --verbose Mostra un missatge per cada fitxer processat.\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "El propietari es manté si no s’especifica. El grup també es manté si no\n" #~ "s’especifica, però és canviat al grup d’entrada si s’indica un «:» " #~ "darrere del\n" #~ "PROPIETARI simbòlic. El PROPIETARI i el GRUP poden ser tant numèrics " #~ "com\n" #~ "simbòlics.\n" # Esperem que el «%s» no empente la línia més enllà de la columna 78. ivb # Aquest arranjament funciona bé per a «%s = chown», el més comú. ivb #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Exemples:\n" #~ " «%s root /u» Canvia el propietari de «/u» a «root».\n" #~ " «%s root:staff /u» El mateix, però també canvia el seu grup a\n" #~ " «staff».\n" #~ " «%s -hR root /u» Canvia el propietari de «/u» i descendents a\n" #~ " «root».\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s NOU_ARREL [ORDRE…]\n" #~ " o bé: %s OPCIÓ\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Executa l’ORDRE establint‐hi el directori arrel a NOU_ARREL.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Si no s’especifica cap ordre s’executa «${SHELL} -i» (per defecte: /bin/" #~ "sh).\n" # No usa quote(). ivb #~ msgid "cannot change root directory to %s" #~ msgstr "no s’ha pogut canviar el directori arrel a «%s»" #~ msgid "cannot chdir to root directory" #~ msgstr "no s’ha pogut canviar al directori arrel" # Els 2 usen quote(). ivb #~ msgid "cannot run command %s" #~ msgstr "no s’ha pogut executar l’ordre %s" #~ msgid "%s: file too long" #~ msgstr "%s: el fitxer és massa gran" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Forma d’ús: %s [FITXER]…\n" #~ " o bé: %s [OPCIÓ]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Mostra la suma CRC i la mida en octets de cada FITXER.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… FITXER1 FITXER2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Compara els fitxers ordenats FITXER1 i FITXER2 línia per línia.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Sense opcions, produeix una eixida amb tres columnes. La primera conté " #~ "les\n" #~ "línies que només es troben al FITXER1, la segona les que només es troben " #~ "al\n" #~ "FITXER2, i la tercera les línies comunes a ambdós fitxers.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 Elimina aquelles línies que només apareixen al " #~ "FITXER1.\n" #~ " -2 Elimina aquelles línies que només apareixen al " #~ "FITXER2.\n" #~ " -3 Elimina aquelles línies que apareixen en ambdós\n" #~ " fitxers.\n" # Usa quote(). ivb # Indica condició d'error. ivb # Fallada en establir permisos segurs abans de canviar propietari/grup. ivb #~ msgid "clearing permissions for %s" #~ msgstr "en assegurar els permisos de %s" # Els 3 usen quote(). ivb #~ msgid "failed to preserve ownership for %s" #~ msgstr "no s’ha pogut preservar el propietari de %s" # Usa quote(). ivb #~ msgid "failed to lookup file %s" #~ msgstr "no s’ha pogut cercar el fitxer %s" # Usa quote(). ivb #~ msgid "failed to preserve authorship for %s" #~ msgstr "no s’ha pogut preservar l’autoria de %s" # Usa quote(). ivb #~ msgid "cannot open %s for reading" #~ msgstr "no s’ha pogut obrir %s per a llegir" # Usa quote(). ivb #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "es salta el fitxer %s, que va ser reemplaçat en ser copiat" #~ msgid "failed to get file system create context" #~ msgstr "no s’ha pogut obtenir el context de creació del sistema de fitxers" # Usa quote() en el ambdós args. ivb #~ msgid "failed to set the security context of %s to %s" #~ msgstr "no s’ha pogut establir el context de seguretat de %s a %s" # Els 6 usen quote(). ivb #~ msgid "cannot remove %s" #~ msgstr "no s’ha pogut eliminar %s" # Usa quote(). ivb # Missatge informatiu. ivb #~ msgid "removed %s\n" #~ msgstr "s’ha eliminat %s\n" # Usa quote. ivb # Missatge d’error. ivb #~ msgid "not writing through dangling symlink %s" #~ msgstr "no es copiarà a través de l’enllaç simbòlic trencat %s" # Usa quote(). ivb #~ msgid "cannot create regular file %s" #~ msgstr "no s’ha pogut crear el fitxer ordinari %s" # Usa quote(). ivb #~ msgid "cannot lseek %s" #~ msgstr "ha fallat lseek() sobre %s" # Els 4 usen quote(). ivb # En els 4 indica condició d'error. ivb #~ msgid "writing %s" #~ msgstr "en escriure %s" # Usa quote(). ivb # Indica condició d'error. ivb #~ msgid "preserving times for %s" #~ msgstr "en preservar les dates de %s" # Els 2 usen quote(). ivb # En els 2 indica condició d'error. ivb #~ msgid "closing %s" #~ msgstr "en tancar %s" # Ací tinc un diff de la Debian 2.0 on insisteix bastant en posar «(s/n)» # al final d'aquestes qüestions (un diff d'es.po) iv # Creus que fa falta ficar (s/n)? De moment ho he llevat, però torna # a ficar-ho si vols. Quin luser contestaria «a» vegades, i no «s» o «n»? # (nota per a la posteritat) Debian 3.0 ja fa 2 mesos que "ja està # a punt" :) I encara no tindrà fileutils traduït... jm # Aiii senyor, com passa el temps, ja ni hi ha fileutils (2003-1). ivb # Usa quote() en el 1r arg. ivb # Entre parèntesi va una cadena estil «-rwxr-xr-x». ivb #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: voleu sobreescriure %s, reemplaçant el mode %04lo (%s)? " # Usa quote(). ivb #~ msgid "%s: overwrite %s? " #~ msgstr "%s: voleu sobreescriure %s? " # Usa quote(). ivb #~ msgid " (backup: %s)" #~ msgstr " (còpia de seguretat: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "" #~ "no s’ha pogut restaurar el context per defecte de creació de fitxers" # Usa quote(). ivb #~ msgid "omitting directory %s" #~ msgstr "es descarta el directori %s" # Usa quote(). ivb #~ msgid "warning: source file %s specified more than once" #~ msgstr "avís: s’ha especificat el fitxer origen %s més d’una vegada" # Els 2 usen quote() en els 2 args. ivb #~ msgid "%s and %s are the same file" #~ msgstr "%s i %s són el mateix fitxer" # Usa quote() en els 2 args. ivb #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "no es pot sobreescriure el no‐directori %s amb el directori %s" # Usa quote() en els 2 args. ivb #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "no es sobreescriurà %s, tot just creat, amb %s" # Usa quote(). ivb #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "no es pot sobreescriure el directori %s amb un no‐directori" # Usa quote() en els 2 args. ivb #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "no es pot moure un directori sobre un no-directori: %s -> %s" # Usa quote() en els 2 args. ivb #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "" #~ "una còpia de seguretat de %s destruiria el fitxer origen; no es mou %s" # Usa quote() en els 2 args. ivb #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "" #~ "una còpia de seguretat de %s destruiria el fitxer origen; no es còpia %s" # Els 2 usen quote(). ivb #~ msgid "cannot backup %s" #~ msgstr "no sha pogut crear una còpia de seguretat de %s" # Usa quote() en els 2 args. ivb #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "no es copiarà %s a través de l’enllaç simbòlic tot just creat %s" # Usa quote() en els 2 args. ivb #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "no es pot copiar un directori, %s, dins d’ell mateix, %s" # Un quote() en els 2 args. ivb #~ msgid "will not create hard link %s to directory %s" #~ msgstr "no es crearà l’enllaç fort %s cap al directori %s" # Usa quote() en els 2 args. ivb #~ msgid "cannot create hard link %s to %s" #~ msgstr "no s’ha pogut crear l’enllaç fort %s cap a %s" # Usa quote() en els 2 args. ivb #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "no es pot moure %s a un subdirectori d’ell mateix, %s" # Usa quote() en els dos args. ivb #~ msgid "cannot move %s to %s" #~ msgstr "no s’ha pogut moure %s a %s" # Usa quote() en es 2 args. ivb #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "no s’ha pogut moure entre dispositius: %s a %s; no s’ha pogut eliminar el " #~ "destí" # Els 5 usen quote(). ivb #~ msgid "failed to set default file creation context to %s" #~ msgstr "" #~ "no s’ha pogut establir el context per defecte de creació de fitxers a %s" # Usa quote(). ivb #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "no es pot copiar l’enllaç simbòlic cíclic %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: només es poden fer enllaços simbòlics relatius en el directori actual" # Usa quote() en els 2 arguments. ivb #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "no s’ha pogut crear l’enllaç simbòlic %s cap a %s" # Usa quote(). ivb #~ msgid "cannot create link %s" #~ msgstr "no s’ha pogut crear l’enllaç %s" # Els 2 usen quote(). ivb #~ msgid "cannot create fifo %s" #~ msgstr "no s’ha pogut crear la cua FIFO %s" # Usa quote(). ivb #~ msgid "cannot create special file %s" #~ msgstr "no s’ha pogut crear el fitxer especial %s" # Els 3 usen quote(). ivb #~ msgid "cannot read symbolic link %s" #~ msgstr "no s’ha pogut llegir l’enllaç simbòlic %s" # Usa quote(). ivb #~ msgid "cannot create symbolic link %s" #~ msgstr "no s’ha pogut crear l’enllaç simbòlic %s" # Usa quote(). ivb #~ msgid "%s has unknown file type" #~ msgstr "%s és d’un tipus de fitxer desconegut" # Els 2 usen quote(). ivb # L'argument és el nom original. ivb #~ msgid "cannot un-backup %s" #~ msgstr "no s’ha pogut recuperar la còpia de seguretat de %s" # Usa quote() en els 2 args. ivb #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (recuperació de la còpia de seguretat)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… [-T] ORIGEN DESTÍ\n" #~ " o bé: %s [OPCIÓ]… ORIGEN… DIRECTORI\n" #~ " o bé: %s [OPCIÓ]… -t DIRECTORI ORIGEN…\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Còpia ORIGEN a DESTÍ, o múltiples ORIGENs a un DIRECTORI.\n" #~ "\n" # Agafat més o menys de libc. ivb #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Els arguments obligatoris per a les opcions llargues també ho són per a " #~ "les\n" #~ "opcions curtes corresponents.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive Equival a «-dpR».\n" #~ " --backup[=CONTROL]\n" #~ " Crea una còpia de seguretat de cada fitxer destí\n" #~ " existent.\n" #~ " -b Com «--backup», però no accepta cap argument.\n" #~ " --copy-contents Còpia el contingut dels fitxers especials quan " #~ "actua\n" #~ " recursivament.\n" #~ " -d Equival a «--no-dereference --preserve=link».\n" # FIXME: Ugly description of -f: you need to know how cp works internally! ivb #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force Si no es pot obrir un fitxer destí existent, " #~ "l’elimina\n" #~ " i torna a provar.\n" #~ " -i, --interactive Pregunta abans de sobreescriure.\n" #~ " -H Segueix els enllaços simbòlics que es troben a " #~ "l’ORIGEN.\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link Enllaça els fitxers en lloc de copiar‐los.\n" #~ " -L, --dereference Segueix sempre els enllaços simbòlics que es " #~ "troben a\n" #~ " l’ORIGEN.\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference No segueix mai els enllaços simbòlics que es " #~ "troben a\n" #~ " l’ORIGEN.\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p Equival a «--preserve=mode,ownership,timestamps».\n" #~ " --preserve[=LLISTA_ATRIBUTS]\n" #~ " Preserva els atributs indicats, si és possible " #~ "(per\n" #~ " defecte «mode», «ownership» (propietari) i " #~ "«timestamps»\n" #~ " (dates); atributs addicionals: «context», «links»\n" #~ " (enllaços), «all» (tots).\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=LLISTA_ATRIBUTS\n" #~ " No preserva els atributs indicats.\n" #~ " --parents Crea el camí complet del fitxer origen sota el\n" #~ " directori destí.\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive Còpia recursivament els directoris.\n" #~ " --remove-destination\n" #~ " Elimina cada fitxer destí existent abans " #~ "d’intentar\n" #~ " obrir‐lo (no després, com fa «--force»).\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=QUAN Controla la creació de fitxers dispersos.\n" #~ " --strip-trailing-slashes\n" #~ " Elimina la barra final (si n’hi ha) de cada " #~ "argument\n" #~ " ORIGEN.\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link Crea enllaços simbòlics en lloc de copiar.\n" #~ " -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de\n" #~ " seguretat.\n" #~ " --target-directory=DIRECTORI\n" #~ " Còpia tots els arguments ORIGEN al DIRECTORI.\n" #~ " -T, --no-target-directory\n" #~ " Tracta el DESTÍ com a un fitxer normal.\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update Només còpia quan el fitxer ORIGEN és més nou que " #~ "el\n" #~ " fitxer destí o quan aquest darrer no existeix.\n" #~ " -v, --verbose Explica què s’està fent.\n" #~ " -x, --one-file-system Es manté dins d’aquest sistema de fitxers.\n" # ivb: # «Sparse» són fitxers amb blocs seguits de caràcters nuls. Com es pareix # molt al concepte de «matriu dispersa» he aprofitat la traducció (que a més # és la que dóna el diccionari). Mireu «perforate(1)». #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Per defecte, els fitxers ORIGEN dispersos es detecten amb una heurística\n" #~ "simple i els fitxers DESTÍ corresponents són creats dispersos. Aquest és " #~ "el\n" #~ "comportament indicat per «--sparse=auto». Amb «--sparse=always» es " #~ "crearà un\n" #~ "fitxer DESTÍ dispers sempre que el fitxer ORIGEN continga una seqüència\n" #~ "suficientment llarga d’octets zero. Useu «--sparse=never» per a evitar " #~ "la\n" #~ "creació de fitxers dispersos.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "El sufix de còpia de seguretat és «~», si no s’estableix amb «--suffix» o " #~ "amb\n" #~ "la variable d’entorn SIMPLE_BACKUP_SUFFIX. El mètode de control de " #~ "versions\n" #~ "es pot establir amb l’opció «--backup» o fent servir la variable " #~ "d’entorn\n" #~ "VERSION_CONTROL. Es poden emprar aquests valors:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off Mai fa còpies de seguretat (ni especificant «--" #~ "backup»).\n" #~ " numbered, t Fa còpies de seguretat numerades.\n" #~ " existing, nil Fa còpies de seguretat numerades si ja n’existeixen, " #~ "les fa\n" #~ " simples en cas contrari.\n" #~ " simple, never Fa còpies de seguretat simples sempre.\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Com a cas especial, «cp» fa una còpia de seguretat d’ORIGEN quan les " #~ "opcions\n" #~ "«--force» i «--backup» són actives i ORIGEN i DESTÍ són el mateix nom " #~ "d’un\n" #~ "fitxer ordinari existent.\n" # Usa quote(). ivb #~ msgid "failed to preserve times for %s" #~ msgstr "no s’han pogut preservar les dates de %s" # Usa quote(). ivb #~ msgid "failed to preserve permissions for %s" #~ msgstr "no s’han pogut preservar els permisos de %s" # Usa quote(). ivb #~ msgid "cannot make directory %s" #~ msgstr "no s’ha pogut crear el directori %s" # Els 4 usen quote(). ivb #~ msgid "%s exists but is not a directory" #~ msgstr "%s existeix però no és un directori" # Els 5 usen quote(). ivb # Indica condició d'error. ivb #~ msgid "accessing %s" #~ msgstr "en accedir a %s" #~ msgid "missing file operand" #~ msgstr "manca un operand fitxer" # Usa quote(). ivb #~ msgid "missing destination file operand after %s" #~ msgstr "manca un operand fitxer destí després de %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "no es poden combinar «--target-directory» (-t) i «--no-target-" #~ "directory» (-T)" # Usa quote(). ivb #~ msgid "target %s is not a directory" #~ msgstr "el destí %s no és un directori" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "en emprar «--parents», el destí ha de ser un directori" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "l’opció «--reply» està desaprovada; useu «-i» o «-f» al seu lloc" #~ msgid "multiple target directories specified" #~ msgstr "s’han especificat múltiples directoris destí" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "no es poden fer enllaços forts i simbòlics alhora" #~ msgid "backup type" #~ msgstr "tipus de còpia de seguretat" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "" #~ "no es poden preservar els contexts de seguretat sota un nucli sense " #~ "SELinux" #~ msgid "input disappeared" #~ msgstr "l’entrada ha desaparegut" #~ msgid "%s: line number out of range" #~ msgstr "%s: el número de línia està fora de rang" # Usa quote(). ivb #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: el número de línia està fora de rang" #~ msgid " on repetition %s\n" #~ msgstr " a la %sa repetició\n" # Usa quote(). ivb #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: no s’ha trobat cap coincidència" #~ msgid "error in regular expression search" #~ msgstr "error a la cerca de l’expressió regular" # Usa quote(). ivb #~ msgid "write error for %s" #~ msgstr "error en escriure %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: s’esperava un número enter després del delimitador" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: cal «}» al nombre de repeticions" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: cal especificar un número enter entre «{» i «}»" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: manca el delimitador «%c» de tancament" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: l’expressió regular no és vàlida: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: el patró no és vàlid" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: el número de línia ha de ser major que zero" # Usa quote() en ambdues. ivb #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "el número de línia %s és menor que el número anterior, %s" # Usa quote(). ivb #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "avís: el número de línia %s és el mateix que el número anterior" # Es refereix al modificador d'amplada en una cadena de format C (-b). ivb #~ msgid "invalid format width" #~ msgstr "l’especificació d’amplada del format no és vàlida" # Es refereix al modificador de precisió en una cadena de format C (-b). ivb #~ msgid "invalid format precision" #~ msgstr "l’especificació de precisió del format no és vàlida" #~ msgid "missing conversion specifier in suffix" #~ msgstr "manca l’especificació de conversió al sufix" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "l’especificació de conversió al sufix no és vàlida: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "l’especificació de conversió al sufix no és vàlida: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "sobren especificacions de conversió «%%» al sufix" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "manca l’especificació de conversió «%%» al sufix" #~ msgid "%s: invalid number" #~ msgstr "%s: el número no és vàlid" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… FITXER PATRÓ…\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Divideix el FITXER en fragments separats pels patrons (PATRÓ) indicats, " #~ "i\n" #~ "escriu els fragments en fitxers anomenats «xx00», «xx01»… indicant a " #~ "l’eixida\n" #~ "estàndard la mida en octets de cadascun d’ells.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMAT\n" #~ " Empra aquest FORMAT d’sprintf() en lloc de «%" #~ "02d».\n" #~ " -f, --prefix=PREFIX Empra aquest PREFIX en lloc de «xx».\n" #~ " -k, --keep-files No elimina els fitxer generats, en cas d’error.\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=DIGITS Empra el nombre de dígits especificat en lloc de " #~ "2.\n" #~ " -s, --quiet, --silent No mostra la mida dels fitxers resultants.\n" #~ " -z, --elide-empty-files\n" #~ " Elimina els fitxers resultants que estan buits.\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Si FITXER és «-», llegeix l’entrada estàndard. Cada PATRÓ pot ser:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " ENTER Copia fins a (però sense incloure) la línia " #~ "especificada.\n" #~ " /EXPREG/[DESPL] Copia fins a (però sense incloure) la línia " #~ "coincident.\n" #~ " %EXPREG%[DESPL] Salta fins a (però sense incloure) la línia " #~ "coincident.\n" #~ " {ENTER} Repeteix el patró anterior el nombre de vegades\n" #~ " especificat.\n" #~ " {*} Repeteix el patró anterior tants cops com sigui " #~ "possible.\n" #~ "\n" #~ "Un desplaçament de línia (DESPL) és un «+» o «-» seguit d’un número " #~ "enter\n" #~ "positiu.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "els camps i les posicions compten des d’1" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Forma d’ús: %s OPCIÓ… [FITXER]…\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Escriu parts seleccionades de les línies de cada FITXER a la sortida\n" #~ "estàndard.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LLISTA Només selecciona aquests octets.\n" #~ " -c, --characters=LLISTA\n" #~ " Només selecciona aquests caràcters.\n" #~ " -d, --delimiter=DELIM Empra DELIM en lloc de la tabulació com a\n" #~ " delimitador de camp.\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LLISTA Només selecciona aquests camps; també escriu " #~ "totes les\n" #~ " línies que no continguen el caràcter delimitador, " #~ "tret\n" #~ " que s’especifique l’opció «-s».\n" #~ " -n (No es té en compte.)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement Complementa el conjunt d’octets, caràcters o " #~ "camps\n" #~ " escollits.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited No escriu les línies que no continguen el " #~ "caràcter\n" #~ " delimitador.\n" #~ " --output-delimiter=CADENA\n" #~ " Empra la CADENA com a delimitador de sortida; per\n" #~ " defecte s’utilitza el delimitador d’entrada.\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Useu exactament una de les opcions «-b», «-c» o «-f». Cada LLISTA " #~ "consta\n" #~ "d’un interval, o de diversos intervals separats per comes. L’entrada que " #~ "és\n" #~ "seleccionada és escrita en el mateix ordre en què és llegida, i és " #~ "escrita una\n" #~ "sola volta, exactament.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Cada interval pot ser un de:\n" #~ "\n" #~ " N L’octet, caràcter o camp N, comptant des d’1.\n" #~ " N- Des de l’octet, caràcter o camp N fins al final de la línia.\n" #~ " N-M Des de l’octet, caràcter o camp N fins a l’M (inclòs).\n" #~ " -M Des del principi fins a l’octet, caràcter o camp M (inclòs).\n" #~ "\n" #~ "Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #~ msgid "invalid byte or field list" #~ msgstr "la llista d’octets o camps no és vàlida" #~ msgid "invalid range with no endpoint: -" #~ msgstr "l’interval sense punt final no és vàlid: -" #~ msgid "invalid decreasing range" #~ msgstr "l’interval decreixent no és vàlid" # És un enter correcte però massa gran. ivb # Usa quote(). ivb #~ msgid "byte offset %s is too large" #~ msgstr "el desplaçament en octets %s és massa gran" # És un enter correcte però massa gran. ivb # Usa quote(). ivb #~ msgid "field number %s is too large" #~ msgstr "el número de camp %s és massa gran" #~ msgid "only one type of list may be specified" #~ msgstr "només es pot especificar un únic tipus de llista" #~ msgid "the delimiter must be a single character" #~ msgstr "el delimitador ha de ser un únic caràcter" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "cal que especifiqueu una llista d’octets, caràcters o camps" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "només es pot especificar un delimitador d’entrada quan s’opere amb camps" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "eliminar les línies no delimitades només té sentit quan s’opera amb camps" #~ msgid "missing list of fields" #~ msgstr "manca la llista de camps" #~ msgid "missing list of positions" #~ msgstr "manca la llista de posicions" # CC és de «century», així que S de «segle»... iv # Nopes, la centúria és el segle menys 1 (com hauria de ser!). ivb #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… [+FORMAT]\n" #~ " o bé: %s [-u|--utc|--universal] [MMDDhhmm[[CC]AA][.ss]]\n" # Sembla que date no accepta «ara»... No anirà al locale... iv # No, en efecte, és cosa de getdate.y, que no té i18 iv # Hm. Ivan, revisa -I. Cal traduir les coses entrecomillades? jm # No, són arguments literals de -I, i no tenen traducció. ivb #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Mostra la data actual en el FORMAT indicat, o estableix la data del " #~ "sistema.\n" #~ "\n" #~ " -d, --date=CADENA Mostra la data descrita a la CADENA en lloc de la " #~ "data\n" #~ " actual («now», ara).\n" #~ " -f, --file=FITXER_DATES\n" #~ " Com aplicar «--date» una volta per cada línia de\n" #~ " FITXER_DATES.\n" # «-R» no mostra la data traduïda. ivb #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=FITXER\n" #~ " Mostra la data de la darrera modificació del " #~ "FITXER.\n" #~ " -R, --rfc-2822 Mostra la data conforme a l’RFC 2822. Per " #~ "exemple:\n" #~ " Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=PRECISIÓ\n" #~ " Mostra la data conforme a l’RFC 3339, fins a la\n" #~ " PRECISIÓ indicada: «date» (data), " #~ "«seconds» (segons) o\n" #~ " «ns» (nanosegons). La data i l’hora estan " #~ "separats per\n" #~ " un sol espai: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=CADENA Estableix la data descrita a la CADENA.\n" #~ " -u, --utc, --universal\n" #~ " Mostra o estableix el Temps Universal Coordinat.\n" # Les descr. han de començar en la 12a. columna (per «%:::z»). ivb #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "FORMAT controla l’eixida. L’única opció vàlida a la segona forma " #~ "especifica\n" #~ "el Temps Universal Coordinat. Les seqüències interpretades són:\n" #~ "\n" #~ " %% Un «%» literal.\n" #~ " %a Dia de la setmana abreujat del locale, p. ex. «dg».\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A Dia de la setmana complet del locale, p. ex. «diumenge».\n" #~ " %b Dia del mes abreujat del locale, p. ex. «gen».\n" #~ " %B Dia del mes complet del locale, p. ex. «gener».\n" #~ " %c Data i hora del locale, p. ex. «dj 03 mar 2005 23:05:25 CET».\n" # No pose «segle» pq no ho és exactament, així llegiran l'explicació. ivb # A més, pose «20» en lloc de «21» per a no marejar el personal. ivb #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C Centúria, com «%Y» però sense els dos darrers dígits, p. ex. " #~ "«20».\n" #~ " %d Dia del mes, p. ex. «01».\n" #~ " %D Format de data equivalent a «%m/%d/%y».\n" #~ " %e Dia del mes reomplit amb blancs, equival a «%_d».\n" # Ja sé que sona estrany però és el que vol dir. info date. ivb #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F Data completa, equival a «%Y-%m-%d».\n" #~ " %g Darrers dos dígits de l’any, segons el número ISO de la " #~ "setmana\n" #~ " (vegeu «%G»).\n" #~ " %G Any, segons el número ISO de la setmana (vegeu «%V»); a " #~ "sovint\n" #~ " només és útil amb «%V».\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h Equival a «%b».\n" #~ " %H Hora (00..23).\n" #~ " %I Hora (01..12).\n" #~ " %j Dia de l’any (001..366).\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k Hora ( 0..23).\n" #~ " %l Hora ( 1..12).\n" #~ " %m Mes (01..12).\n" #~ " %M Minut (00..59).\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n Un caràcter de nova línia.\n" #~ " %N Nanosegons (000000000..999999999).\n" #~ " %p L’equivalent d’AM o PM del locale, buit si es desconeix.\n" #~ " %P Com «%p», però en minúscules.\n" #~ " %r Hora del rellotge de 12 hores del locale, p. ex. «11:11:04 PM» " #~ "al\n" #~ " locale C.\n" #~ " %R Hora i minuts del rellotge de 24 hores, equival a «%H:%M».\n" #~ " %s Segons des de l’1 de gener de 1970 a les 00:00:00 UTC.\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S Segon (00..60).\n" #~ " %t Un caràcter de tabulació.\n" #~ " %T Hora, equival a «%H:%M:%S».\n" #~ " %u Dia de la setmana (1..7), on 1 és el dilluns.\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U Número de la setmana dins l’any, amb el diumenge com a primer " #~ "dia\n" #~ " de la setmana (00..53).\n" #~ " %V Número ISO de la setmana, amb el dilluns com a primer dia de " #~ "la\n" #~ " setmana (01..53).\n" #~ " %w Dia de la setmana (0..6), on 0 és el diumenge.\n" #~ " %W Número de la setmana dins l’any, amb el dilluns com a primer " #~ "dia de\n" #~ " la setmana (00..53).\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x Representació de la data del locale, p. ex. «31/12/99».\n" #~ " %X Representació de l’hora del locale, p. ex. «23:13:48».\n" #~ " %y Darrers dos dígits de l’any (00..99).\n" #~ " %Y Any.\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z Zona horària numèrica «+hhmm», p. ex. «-0400».\n" #~ " %:z Zona horària numèrica «+hh:mm», p. ex. «-04:00».\n" #~ " %::z Zona horària numèrica «+hh:mm:ss», p. ex. «-04:00:00».\n" #~ " %:::z Zona horària numèrica amb els «:» imprescindibles, p.ex. «-04» " #~ "o\n" #~ " «+05:30».\n" #~ " %Z Abreviatura alfanumèrica de la zona horària, p. ex. «EDT».\n" #~ "\n" #~ "Per defecte, «date» reomple els camps numèrics amb zeros.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Els senyaladors opcionals següents poden ser emprats al darrere de «%»:\n" #~ "\n" #~ " «-» (menys) No reomple el camp.\n" #~ " «_» (subratllat) Reomple el camp amb espais.\n" #~ " «0» (zero) Reomple el camp amb zeros.\n" #~ " «^» Empra majúscules, si és possible.\n" #~ " «#» Intercanvia majúscules i minúscules, si és " #~ "possible.\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Després dels senyaladors es pot indicar l’amplada del camp com a un " #~ "número\n" #~ "decimal; després es pot incloure el modificador opcional «E», per a " #~ "emprar les\n" #~ "representacions alternatives del locale (si n’hi ha), o «O», per a emprar " #~ "els\n" #~ "símbols numèrics alternatius del locale (si n’hi ha).\n" #~ msgid "multiple output formats specified" #~ msgstr "s’han especificat múltiples formats d’eixida" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "" #~ "les opcions per a especificar dates a mostrar són mútuament excloents" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "no es poden emprar alhora les opcions per a mostrar i per a establir dates" # Usa quote(). ivb #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "manca un «+» al davant de l’argument %s; Quan useu una opció per a " #~ "especificar dates, cal que qualsevol argument no‐opció siga una cadena de " #~ "format que comence per «+»." #~ msgid "cannot set date" #~ msgstr "no s’ha pogut establir la data" #~ msgid "time %s is out of range" #~ msgstr "la data %s està fora de rang" # FIXME: This arrangement is extremely language-dependent. ivb # Ehemmm... AARGHHFSSS!! ivb #~ msgid "Filesystem Type" #~ msgstr "S. fitxers Tipus" #~ msgid "Filesystem " #~ msgstr "S. fitxers " # Informació sobre inodes. ivb #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Nodes‐i En ús Lliures %%Ús" # Format humà 2. ivb #~ msgid " Size Used Avail Use%%" #~ msgstr " Mida En ús Lliure %%Ús" # Format humà 1. ivb #~ msgid " Size Used Avail Use%%" #~ msgstr " Mida En ús Lliure %%Ús" # Format portable 1. ivb #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " Blocs %s En ús Lliures Cabuda" # Format habitual. ivb #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " Blocs %4s En ús Lliures %%Ús" #~ msgid " Mounted on\n" #~ msgstr " Muntat a\n" #~ msgid "cannot get current directory" #~ msgstr "no s’ha pogut obtenir el directori actual" #~ msgid "cannot change to directory %s" #~ msgstr "no s’ha pogut canviar al directori %s" # Usa quote(). ivb #~ msgid "cannot stat current directory (now %s)" #~ msgstr "ha fallat stat() sobre el directori actual (ara %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… [FITXER]…\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Mostra informació sobre el sistema de fitxers on resideix cada FITXER, o " #~ "(per\n" #~ "defecte) informació sobre tots els sistemes de fitxers.\n" #~ "\n" # Crec que «virtual» capta millor el significat de «dummy». ivb #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all Inclou els sistemes de fitxers virtuals.\n" #~ " -B, --block-size=MIDA Empra blocs de MIDA octets.\n" #~ " -h, --human-readable Mostra les mides en un format llegible per als\n" #~ " humans (per exemple: 1K 234M 2G).\n" #~ " -H, --si El mateix, però empra potències de 1000, no de " #~ "1024.\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes Llista informació sobre els nodes índex en lloc " #~ "de\n" #~ " sobre l’ús de blocs.\n" #~ " -k Equival a «--block-size=1K».\n" #~ " -l, --local Limita el llistat als sistemes de fitxers locals.\n" #~ " --no-sync No invoca sync() abans d’obtenir la informació " #~ "sobre\n" #~ " l’ús (per defecte).\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability Empra el format d’eixida POSIX.\n" #~ " --sync Invoca sync() abans d’obtenir la informació sobre " #~ "l’ús.\n" #~ " -t, --type=TIPUS Limita el llistat als sistemes de fitxers del " #~ "TIPUS\n" #~ " especificat.\n" #~ " -T, --print-type Mostra el tipus de sistema de fitxers.\n" #~ " -x, --exclude-type=TIPUS\n" #~ " Limita el llistat als sistemes de fitxers que no " #~ "siguen\n" #~ " del TIPUS especificat.\n" #~ " -v (No es té en compte.)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "MIDA pot ser una de les següents: kB 1000, K 1024, MB 1000*1000, M " #~ "1024*1024,\n" #~ "i així per a G, T, P, E, Z, Y. També poden anar precedides d’un número " #~ "enter.\n" # Usa quote(). ivb #~ msgid "file system type %s both selected and excluded" #~ msgstr "s’ha seleccionat i exclós alhora el tipus de sistema de fitxers %s" #~ msgid "Warning: " #~ msgstr "avís: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "no s’ha pogut llegir la taula de sistemes de fitxers muntats" #~ msgid "no file systems processed" #~ msgstr "no s’ha processat cap sistema de fitxers" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Foma d’ús: %s [OPCIÓ]… [FITXER]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Produeix ordres per a establir la variable d’entorn LS_COLORS.\n" #~ "\n" #~ "Opcions per a determinar el format de l’eixida:\n" #~ " -b, --sh, --bourne-shell\n" #~ " Produeix codi destinat a l’intèrpret Bourne per\n" #~ " establir LS_COLORS.\n" #~ " -c, --csh, --c-shell Produeix codi destinat a l’intèrpret C per\n" #~ " establir LS_COLORS.\n" #~ " -p, --print-database Mostra els valors per defecte.\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Si s’especifica un FITXER, aquest es llegeix per a determinar quins " #~ "colors\n" #~ "emprar per a quins tipus de fitxer i extensions. Altrament, s’empra una " #~ "base\n" #~ "de dades precompilada. Proveu «dircolors --print-database» per a " #~ "obtenir\n" #~ "detalls sobre el format d’aquests fitxers.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: la línia no és vàlida; manca el segon component" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: la paraula clau «%s» no és reconeguda" # Es refereix a la base de dades interna de dircolors. ivb #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "l’opció que mostra la base de dades interna de «dircolors» i la que " #~ "selecciona una sintaxi d’intèrpret són mútuament excloents" # Açò s'imprimeix després d'un missatge d'error. ivb # Només es pot admetre un operand fitxer. ivb #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "No es pot combinar un operand fitxer amb «--print-database» (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "no hi ha variable d’entorn SHELL ni s’ha indicat cap opció de tipus " #~ "d’intèrpret" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s NOM\n" #~ " o bé: %s OPCIÓ\n" # FIXME: This is not true: `dirname foo/' prints `.'. ivb #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Mostra el NOM sense el «/component» final; si el NOM no conté cap «/», " #~ "mostra\n" #~ "«.» (indicant així el directori actual).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Exemples:\n" #~ " «%s /usr/bin/sort» Mostra «/usr/bin».\n" #~ " «%s stdio.h» Mostra «.».\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… [FITXER]…\n" #~ " o bé: %s [OPCIÓ]… --files0-from=FITXER\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Resumeix l’ús de disc de cada FITXER, de forma recursiva per als " #~ "directoris.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all Mostra recomptes per a tots els fitxers, no només " #~ "per\n" #~ " als directoris.\n" #~ " --apparent-size Mostra les mides aparents en lloc de l’ús de " #~ "disc;\n" #~ " tot i que la mida aparent sol ser menor, pot ser " #~ "major\n" #~ " pels forats dels fitxers dispersos, per " #~ "fragmentació\n" #~ " interna, blocs indirectes…\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=MIDA Empra blocs de MIDA octets.\n" #~ " -b, --bytes Equival a «--apparent-size --block-size=1».\n" #~ " -c, --total Produeix un recompte total.\n" #~ " -D, --dereference-args\n" #~ " Segueix els enllaços simbòlics que es troben a la " #~ "línia\n" #~ " d’ordres.\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=FITXER\n" #~ " Resumeix l’ús de disc dels fitxers els noms dels " #~ "quals\n" #~ " es troben llistats al FITXER, acabats pel caràcter " #~ "NUL.\n" #~ " -H Com «--si», però mostra un avís; aviat serà " #~ "equivalent\n" #~ " a «--dereference-args» (-D).\n" #~ " -h, --human-readable Mostra les mides en un format llegible per als\n" #~ " humans (per exemple: 1K 234M 2G).\n" #~ " --si Com «-h», però empra potències de 1000, no de " #~ "1024.\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k Equival a «--block-size=1K».\n" #~ " -l, --count-links Compta les mides més d’una volta al cas " #~ "d’enllaços\n" #~ " forts.\n" #~ " -m Equival a «--block-size=1M».\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference Segueix tots els enllaços simbòlics.\n" #~ " -P, --no-dereference No segueix cap enllaç simbòlic (per defecte).\n" #~ " -0, --null Acaba cada línia d’eixida amb un octet 0 en lloc " #~ "d’un\n" #~ " caràcter de nova línia.\n" #~ " -S, --separate-dirs No inclou la mida dels subdirectoris.\n" #~ " -s, --summarize Només mostra un total per cada argument.\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system Exclou els directoris que es troben en altres\n" #~ " sistemes de fitxers diferents.\n" #~ " -X FITXER, --exclude-from=FITXER\n" #~ " Exclou aquells fitxers que coincideixen amb algun " #~ "dels\n" #~ " patrons continguts al FITXER.\n" #~ " --exclude=PATRÓ Exclou aquells fitxers que coincideixen amb el " #~ "PATRÓ.\n" #~ " --max-depth=N Només mostra el total d’un directori (o fitxer, " #~ "amb\n" #~ " «--all») si es troba N nivells o menys per sota " #~ "de\n" #~ " l’argument de la línia d’ordres; «--max-depth=0»\n" #~ " equival a «--summarize».\n" # «du» significa «disc usage», què OO tenen a veure aquestes opcions? ivb # More creeping featurism. ivb #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time Mostra la data de modificació més recent de tots " #~ "els\n" #~ " fitxers del directori i subdirectoris.\n" #~ " --time=DATA Mostra la DATA indicada en lloc de la de " #~ "modificació:\n" #~ " accés (amb «atime», «access» o «use») o canvi " #~ "d’estat\n" #~ " (amb «ctime» o «status»).\n" #~ " --time-style=ESTIL\n" #~ " Mostra les dates emprant l’ESTIL indicat: full-" #~ "iso,\n" #~ " long-iso, iso, +FORMAT; FORMAT s’interpreta com " #~ "en\n" #~ " «date».\n" # Els 3 fan el mateix ús. ivb #~ msgid "total" #~ msgstr "total" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "avís: useu «--si», no «-H»; el significat de l’opció «-H» canviarà aviat " #~ "al mateix que «--dereference-args» (-D)" # Usa quote(). ivb #~ msgid "invalid maximum depth %s" #~ msgstr "la profunditat màxima %s no és vàlida" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "l’opció «--megabytes» està desaprovada; useu «-m» al seu lloc" #~ msgid "cannot both summarize and show all entries" #~ msgstr "no es pot resumir les entrades i mostrar‐ne els continguts alhora" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "avís: resumir equival a utilitzar «--max-depth=0»" # conflicts -> no compatible? jm #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "avís: resumir no és compatible amb «--max-depth=%lu»" # Açò s'imprimeix després d'un missatge d'error. ivb #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "No es poden combinar els operands fitxer amb «--files0-from»." # Usa quote(). ivb #~ msgid "cannot read file names from %s" #~ msgstr "no s’han pogut llegir els noms de fitxer de %s" # Usa quote(). ivb #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "no es permet %s entre els noms de fitxer llegits per l’entrada estàndard" # Usa quote(). ivb #~ msgid "invalid zero-length file name" #~ msgstr "el nom buit de fitxer no és vàlid" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… [CADENA]…\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Fa eco de cada CADENA a l’eixida estàndard.\n" #~ "\n" #~ " -n No genera el caràcter final de nova línia.\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e Habilita la interpretació de seqüències d’escapada " #~ "amb\n" #~ " barra invertida (per defecte).\n" #~ " -E Inhabilita la interpretació de seqüències " #~ "d’escapada\n" #~ " amb barra invertida.\n" # \0NNN és l'entrada més llarga. ivb #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Si s’especifica «-e» es reconeixen les seqüències següents:\n" #~ "\n" #~ " \\0NNN El caràcter el codi ASCII del qual és NNN (en octal).\n" #~ " \\\\ Barra invertida.\n" #~ " \\a Alarma (BEL).\n" #~ " \\b Retrocés.\n" # \0NNN és l'entrada més llarga. ivb #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c Elimina el caràcter final de nova línia.\n" #~ " \\f Salt de pàgina.\n" #~ " \\n Nova línia.\n" #~ " \\r Retorn de carro.\n" #~ " \\t Tabulació horitzontal.\n" #~ " \\v Tabulació vertical.\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… [-] [NOM=VALOR]… [ORDRE [ARG]…]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Estableix cada NOM a VALOR a l’entorn i executa l’ORDRE.\n" #~ "\n" #~ " -i, --ignore-environment\n" #~ " Parteix d’un entorn buit.\n" #~ " -u, --unset=NOM Elimina la variable NOM de l’entorn.\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Un «-» a soles implica «-i». Si no s’indica l’ORDRE, mostra l’entorn\n" #~ "resultant.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Converteix els caràcters de tabulació de cada FITXER a espais, i escriu " #~ "el\n" #~ "resultat a la sortida estàndard. Sense FITXER, o quan FITXER és «-», " #~ "llegeix\n" #~ "l’entrada estàndard.\n" #~ "\n" # Hau! ivb # L'explicació d'«--initial» vé de la plana info. ivb #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial Només converteix les tabulacions que es troben a\n" #~ " prinicipi de línia.\n" #~ " -t, --tabs=NÚMERO Tabula a una distància de NÚMERO caràcters, en " #~ "lloc\n" #~ " de 8.\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LLISTA Especifica una llista de posicions explícites per " #~ "cada\n" #~ " tabulació, separades per comes.\n" # És un enter correcte però massa gran. ivb # Usa quote(). ivb #~ msgid "tab stop is too large %s" #~ msgstr "la distància de tabulació %s és massa gran" # Usa quote(). ivb #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "la distància de tabulació conté caràcters no vàlids: %s" #~ msgid "tab size cannot be 0" #~ msgstr "la distància de tabulació no pot ser 0" #~ msgid "tab sizes must be ascending" #~ msgstr "les distàncies de tabulació han de ser ascendents" #~ msgid "input line is too long" #~ msgstr "la línia d’entrada és massa llarga" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s EXPRESSIÓ\n" #~ " o bé: %s OPCIÓ\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Mostra el valor de l’EXPRESSIÓ a l’eixida estàndard. A sota, una línia " #~ "en\n" #~ "blanc separa grups amb precedència creixent. L’EXPRESSIÓ pot ser:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 si no és nul ni 0, ARG2 altrament.\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 si cap argument és nul ni 0, 0 " #~ "altrament.\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 és menor que ARG2.\n" #~ " ARG1 <= ARG2 ARG1 és menor o igual que ARG2.\n" #~ " ARG1 = ARG2 ARG1 és igual a ARG2.\n" #~ " ARG1 != ARG2 ARG1 no és igual a ARG2.\n" #~ " ARG1 >= ARG2 ARG1 és major o igual que ARG2.\n" #~ " ARG1 > ARG2 ARG1 és major que ARG2.\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 Suma aritmètica d’ARG1 i ARG2.\n" #~ " ARG1 - ARG2 Resta aritmètica d’ARG1 i ARG2.\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 Producte aritmètic d’ARG1 i ARG2.\n" #~ " ARG1 / ARG2 Quocient aritmètic d’ARG1 entre ARG2.\n" #~ " ARG1 % ARG2 Residu aritmètic d’ARG1 entre ARG2.\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " CADENA : EXPREG Resultat d’aplicar l’expressió regular " #~ "EXPREG\n" #~ " sobre la CADENA.\n" #~ "\n" #~ " match CADENA EXPREG Equival a «CADENA : EXPREG».\n" #~ " substr CADENA POS LONGITUD Sub‐cadena de CADENA, comptant POS des " #~ "d’1.\n" #~ " index CADENA CARÀCTERS Índex de CADENA on hi ha algun CARÀCTER, " #~ "o 0.\n" #~ " length STRING Longitud de la CADENA.\n" # El més llarg és «substr CADENA POS LONGITUD». ivb #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + COMPONENT Interpreta el COMPONENT com a una " #~ "cadena,\n" #~ " encara que siga una paraula clau com " #~ "«match»\n" #~ " o un operador com «/».\n" #~ " ( EXPRESSIÓ ) Valor de l’EXPRESSIÓ.\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Teniu en compte que molts operadors han de ser escapats o entrecometats " #~ "als\n" #~ "intèrprets d’ordres. Les comparacions són aritmètiques entre números,\n" #~ "lexicogràfiques en altre cas. Les comparacions amb patrons retornen la " #~ "cadena\n" #~ "coincident entre «\\(» i «\\)» o la cadena buida; si no s’empra «\\(» i " #~ "«\\)»,\n" #~ "retornen el nombre de caràcters coincidents o 0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "L’estat d’eixida és 0 si l’expressió no és nuŀla ni 0; 1 si l’expressió " #~ "és\n" #~ "nuŀla o 0; 2 si l’EXPRESSIÓ no és vàlida sintàcticament; 3 si ocorre un " #~ "error.\n" #~ msgid "syntax error" #~ msgstr "error de sintaxi" #~ msgid "error in regular expression matcher" #~ msgstr "error al cercador d’expressions regulars" # És un missatge d'error (expr a + 3). ivb #~ msgid "non-numeric argument" #~ msgstr "l’argument no és numèric" #~ msgid "division by zero" #~ msgstr "divisió entre zero" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s [NÚMERO]…\n" #~ " o bé: %s OPCIÓ\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Mostra els factors primers de cada NÚMERO.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Mostra els factors primers de cada NÚMERO enter especificat. Si no " #~ "s’indica\n" #~ "cap argument a la línia d’ordres, es llegiran de l’entrada estàndard.\n" # És un enter correcte però massa gran. ivb #~ msgid "%s is too large" #~ msgstr "%s és massa gran" # Usa quote(). ivb #~ msgid "%s is not a valid positive integer" #~ msgstr "%s no és un número enter positiu vàlid" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Forma d’ús: %s [-DÍGITS] [OPCIÓ]… [FITXER]…\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Reformata els paràgrafs de cada FITXER, i escriu a la sortida estàndard.\n" #~ "Sense FITXER, o si el FITXER és «-», llegeix l’entrada estàndard.\n" #~ "\n" # buscar una traducció per refill # Així queda prou clar, d'acord amb l'info. ivb #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin Preserva la indentació de les dues primeres " #~ "línies.\n" #~ " -p, --prefix=CADENA Només combina les línies que tenen la CADENA com " #~ "a\n" #~ " prefix, tornant‐la a posar al principi de les " #~ "línies\n" #~ " reformatades.\n" #~ " -s, --split-only Només separa les línies llargues, no combina les " #~ "línies\n" #~ " curtes.\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph\n" #~ " La indentació de la primera línia és diferent de " #~ "la de\n" #~ " la segona.\n" #~ " -u, --uniform-spacing Un espai entre paraules, dos entre frases.\n" #~ " -w, --width=AMPLADA Indica l’AMPLADA màxima de la línia (per defecte " #~ "75\n" #~ " columnes).\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "l’opció «%c» no és vàlida; «-AMPLADA» només es reconeix quan és la " #~ "primera\n" #~ "opció; useu «-w AMPLADA» al seu lloc" # Usa quote(). ivb #~ msgid "invalid width: %s" #~ msgstr "l’amplada no és vàlida: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Ajusta les línies de cada FITXER (per defecte l’entrada estàndard), i " #~ "escriu\n" #~ "a la sortida estàndard.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes Compta octets, i no columnes.\n" #~ " -s, --spaces Només parteix les línies als espais.\n" #~ " -w, --width=AMPLADA Indica el nombre de columnes, en lloc de 80.\n" # Usa quote(). ivb #~ msgid "invalid number of columns: %s" #~ msgstr "el nombre de columnes no és vàlid: %s" # Usa quote(). ivb #~ msgid "failed to get groups for user %s" #~ msgstr "no s’han pogut obtenir els grups de l’usuari %s" #~ msgid "failed to get groups for the current process" #~ msgstr "no s’han pogut obtenir els grups del procés actual" #~ msgid "cannot find name for group ID %lu" #~ msgstr "no s’ha pogut trobar el nom de l’ID de grup %lu" # FIXME: groups seems to allow several USERNAMEs, should use [USERNAME...] ivb #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… [NOM_USUARI]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "Mostra la llista de grups de cada NOM_USUARI o, si no se n’indica cap, " #~ "del\n" #~ "procés actual (la informació pot diferir si la base de dades de grups ha\n" #~ "canviat).\n" #~ msgid "%s: No such user" #~ msgstr "%s: l’usuari no existeix" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escriu les 10 primeres línies de cada FITXER a la sortida estàndard. Amb " #~ "més\n" #~ "d’un fitxer, els precedeix amb una capçalera amb el nom del fitxer. " #~ "Sense cap\n" #~ "FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N Escriu els N primers octets de cada fitxer; amb un " #~ "«-»\n" #~ " al davant, escriu tots els octets de cada fitxer\n" #~ " exceptuant‐ne els darrers N.\n" #~ " -n, --lines=[-]N Escriu les primeres N línies en lloc de les " #~ "primeres\n" #~ " 10; amb un «-» al davant, escriu totes les línies " #~ "de\n" #~ " cada fitxer exceptuant‐ne les darreres N.\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent Omet les capçaleres amb els noms dels " #~ "fitxers.\n" #~ " -v, --verbose Sempre escriu les capçaleres amb els noms dels " #~ "fitxers.\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Cada valor d’N pot estar seguit d’un dels sufixos multiplicatius " #~ "següents\n" #~ "(prefix valor): xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000,\n" #~ "M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, " #~ "Z, Y.\n" # uniq no usa quote(). ivb #~ msgid "error reading %s" #~ msgstr "error en llegir %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: el fitxer ha minvat massa" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: el nombre d’octets és massa gran" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: no s’ha pogut desplaçar fins a la posició original" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: no s’ha pogut moure fins al desplaçament %s" # Usa quote(). ivb #~ msgid "cannot reposition file pointer for %s" #~ msgstr "no s’ha pogut recoŀlocar el punter del fitxer de %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s és tan gran que no es pot representar" #~ msgid "number of lines" #~ msgstr "el nombre de línies" #~ msgid "number of bytes" #~ msgstr "el nombre d’octets" #~ msgid "invalid number of lines" #~ msgstr "el nombre de línies no és vàlid" #~ msgid "invalid number of bytes" #~ msgstr "el nombre d’octets no és vàlid" # Per a invocacions com ``head -10x``. ivb #~ msgid "invalid trailing option -- %c" #~ msgstr "l’opció final «%c» no és vàlida" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Forma d’ús: %s\n" #~ " o bé: %s OPCIÓ\n" #~ "Mostra l’identificador numèric (en hexadecimal) de l’estació actual.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Forma d’ús: %s [NOM]\n" #~ " o bé: %s OPCIÓ\n" #~ "Mostra o estableix el nom d’estació del sistema actual.\n" #~ "\n" # Usa quote(). ivb #~ msgid "cannot set name to %s" #~ msgstr "no s’ha pogut establir el nom a %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "no es pot establir el nom d’estació; el sistema no ho admet" #~ msgid "cannot determine hostname" #~ msgstr "no s’ha pogut determinar el nom d’estació" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Mostra informació sobre NOM_USUARI, o sobre l’usuari actual.\n" #~ "\n" #~ " -a No es té en compte, s’accepta per compatibilitat " #~ "amb\n" #~ " altres versions.\n" #~ " -Z, --context Només mostra el context de seguretat de l’usuari\n" #~ " actual.\n" #~ " -g, --group Només mostra l’identificador efectiu de grup.\n" #~ " -G, --groups Mostra tots els identificadors de grup.\n" #~ " -n, --name Mostra un nom en lloc d’un número, per a «-ugG».\n" #~ " -r, --real Mostra l’identificador real en lloc de l’efectiu, " #~ "per a\n" #~ " «-ugG».\n" #~ " -u, --user Només mostra l’identificador efectiu d’usuari.\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Sense cap OPCIÓ, mostra un conjunt útil d’informació d’identificació.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "«--context» (-Z) només funciona sota un nucli amb SELinux" #~ msgid "cannot print security context when user specified" #~ msgstr "no es pot mostrar el context de seguretat quan s’indica un usuari" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "no es por mostrar el context sota un nucli sense SELinux o en mostrar la " #~ "informació d’un altre usuari" #~ msgid "can't get process context" #~ msgstr "no s’ha pogut obtenir el context del procés" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "tan sols es pot usar una de les opcions que només mostren un valor" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "no es pot mostrar només noms o ID reals al format per defecte" #~ msgid "cannot find name for user ID %lu" #~ msgstr "no s’ha pogut trobar el nom de l’ID d’usuari %lu" #~ msgid " groups=" #~ msgstr " grups=" # Usa quote() en el 1r. argument, però no en el 2n. ivb #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "avís: %s: no s’ha pogut canviar el context a «%s»" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "avís: es descarta «--preserve-context» sota aquest nucli sense SELinux" #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "avís: es descarta «--context» (-Z) sota aquest nucli sense SELinux" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "no es pot emprar l’opció «--strip» en instaŀlar un directori" # Es refereix a especificar l'opció «--target-directory». ivb #~ msgid "target directory not allowed when installing a directory" #~ msgstr "no es pot especificar el directori destí en instaŀlar un directori" # Usa quote(). ivb #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "no es pot canviar a %s el context del destí i preservar‐lo alhora" # Els 2 usen quote(). ivb #~ msgid "invalid mode %s" #~ msgstr "el mode %s no és vàlid" # Usa quote(). ivb #~ msgid "cannot change ownership of %s" #~ msgstr "no s’ha pogut canviar el propietari de %s" # Usa quote(). ivb #~ msgid "cannot set time stamps for %s" #~ msgstr "no s’han pogut establir les dates de %s" #~ msgid "fork system call failed" #~ msgstr "ha fallat la crida al sistema fork()" #~ msgid "cannot run strip" #~ msgstr "no s’ha pogut executar «strip»" # Usa quote(). ivb # Condició d'error. ivb #~ msgid "waiting for strip" #~ msgstr "en esperar la finalització d’«strip»" #~ msgid "strip process terminated abnormally" #~ msgstr "el procés «strip» ha finalitzat de forma anormal" # Usa quote(). ivb #~ msgid "invalid user %s" #~ msgstr "l’usuari %s no és vàlid" # Usa quote(). ivb #~ msgid "invalid group %s" #~ msgstr "el grup %s no és vàlid" # Els 2 usen quote(). ivb # És un missatge informatiu. ivb #~ msgid "creating directory %s" #~ msgstr "s’està creant el directori %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… [-T] ORIGEN DESTÍ\n" #~ " o bé: %s [OPCIÓ]… ORIGEN… DIRECTORI\n" #~ " o bé: %s [OPCIÓ]… -t DIRECTORI ORIGEN…\n" #~ " o bé: %s [OPCIÓ]… -d DIRECTORI…\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Als tres primers formats es còpia un ORIGEN a un DESTÍ o diversos ORIGENs " #~ "al\n" #~ "DIRECTORI existent, i se n’estableixen els permisos i el propietari o " #~ "grup.\n" #~ "Al quart format es creen tots els components de cada DIRECTORI indicat.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTROL]\n" #~ " Crea una còpia de seguretat de cada fitxer destí\n" #~ " existent.\n" #~ " -b Com «--backup», però no accepta cap argument.\n" #~ " -c (No es té en compte.)\n" #~ " -d, --directory Tracta tots els arguments com a noms de directori; " #~ "crea\n" #~ " tots els components de cada directori " #~ "especificat.\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D Crea tots els components que porten al DESTÍ " #~ "excepte\n" #~ " el darrer, i còpia ORIGEN a DESTÍ.\n" #~ " -g, --group=GRUP Estableix la propietat de grup a GRUP, en comptes\n" #~ " d’emprar el grup actual del procés.\n" #~ " -m, --mode=MODE Estableix els permisos a MODE (com fa «chmod»), en " #~ "lloc\n" #~ " d’emprar «rwxr-xr-x».\n" #~ " -o, --owner=OWNER Estableix el propietari (només per al " #~ "superusuari).\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps\n" #~ " Aplica les dates d’accés i modificació dels " #~ "fitxers\n" #~ " ORIGEN als fitxers destí corresponents.\n" #~ " -s, --strip Elimina les taules de símbols.\n" #~ " -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de\n" #~ " seguretat.\n" #~ " -t, --target-directory=DIRECTORI\n" #~ " Còpia cada ORIGEN al DIRECTORI.\n" #~ " -T, --no-target-directory\n" #~ " Tracta el DESTÍ com a un fitxer normal.\n" #~ " -v, --verbose Mostra el nom de cada directori segons es van " #~ "creant.\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context\n" #~ " Preserva el context de seguretat de SELinux.\n" #~ " -Z, --context=CONTEXT Estableix el context de seguretat de SELinux " #~ "dels\n" #~ " fitxers i directoris.\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "El sufix de còpia de seguretat és «~», si no s’estableix amb «--suffix» o " #~ "amb\n" #~ "la variable SIMPLE_BACKUP_SUFFIX. El mètode de control de versions es " #~ "pot\n" #~ "establir amb l’opció «--backup» o fent servir la variable d’entorn\n" #~ "VERSION_CONTROL. Es poden emprar aquests valors:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Escriu una línia a la sortida estàndard per cada parell de línies de " #~ "l’entrada\n" #~ "que continguin idèntics camps d’unió. El camp per defecte és el primer,\n" #~ "delimitat per espais en blanc. Si o FITXER1 o FITXER2 (no els dos) és " #~ "«-»,\n" #~ "llegeix l’entrada estàndard.\n" #~ "\n" #~ " -a NUMFITXER Escriu les línies desaparellades del fitxer " #~ "NUMFITXER,\n" #~ " «1» per al FITXER1 o «2» per al FITXER2.\n" #~ " -e CADENA Reemplaça els camps que manquen amb CADENA.\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case No té en compte les majúscules i minúscules en " #~ "comparar\n" #~ " els camps.\n" #~ " -j CAMP Equival a «-1 CAMP -2 CAMP».\n" #~ " -o FORMAT Empra el FORMAT per a construir la línia de " #~ "sortida.\n" #~ " -t CARÀCTER Empra el CARÀCTER com a separador dels camps " #~ "d’entrada\n" #~ " i de sortida.\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v NUMFITXER Com «-a NUMFITXER», però elimina les línies\n" #~ " emparellades.\n" #~ " -1 CAMP Uneix respecte aquest CAMP del fitxer 1.\n" #~ " -2 CAMP Uneix respecte aquest CAMP del fitxer 2.\n" #~ " --check-order Comprova si l’entrada es troba correctament " #~ "ordenada,\n" #~ " fins i tot si se’n poden emparellar totes les " #~ "línies.\n" #~ " --nocheck-order No comprova si l’entrada es troba correctament\n" #~ " ordenada.\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Tret que especifiqueu «-t CARÀCTER», els separadors de camp són espais " #~ "en\n" #~ "blanc i no es tenen en compte; si no el separador és el CARÀCTER. Cada " #~ "CAMP\n" #~ "s’identifica amb un número, comptant des de 1. FORMAT és una " #~ "especifiació, o\n" #~ "diverses separades per espais o comes, del tipus «NUMFITXER.CAMP» o «0». " #~ "El\n" #~ "FORMAT per defecte escriu el camp d’unió, els camps restants del FITXER1 " #~ "i els\n" #~ "camps restants del FITXER2, tots separats pel CARÀCTER.\n" #~ "\n" #~ "Important: FITXER1 i FITXER2 han d’estar ordenats per llurs camps " #~ "d’unió. Per\n" #~ "exemple, empreu «sort -k 1b,1» si «join» no rep cap opció. Si l’entrada " #~ "no es\n" #~ "troba ordenada i no es poden emparellar algunes línies, es mostrarà un\n" #~ "missatge d’avís.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "el fitxer número %d no està ordenat" #~ msgid "invalid field number: %s" #~ msgstr "el número de camp «%s» no és vàlid" # Ambdues usen quote(). ivb #~ msgid "invalid field specifier: %s" #~ msgstr "l’especificació de camp %s no és vàlida" # Usa quote(). ivb # No ho pose al davant pq tb hi apareix el número de camp. ivb #~ msgid "invalid file number in field spec: %s" #~ msgstr "el número de fitxer a l’especificació de camp no és vàlid: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "els camps d’unió %lu i %lu no són compatibles" # Hau! ivb # I damunt no descriu bé l'error. ivb #~ msgid "conflicting empty-field replacement strings" #~ msgstr "" #~ "s’han indicat dues cadenes distintes per a reemplaçar els camps mancants" # No és necessàriament una tabulació, ho diu info. ivb #~ msgid "empty tab" #~ msgstr "el separador és buit" # Ambdues usen quote(). ivb # No és necessàriament una tabulació, ho diu info. ivb #~ msgid "multi-character tab %s" #~ msgstr "%s és un separador multicaràcter" # No és necessàriament una tabulació, ho diu info. ivb #~ msgid "incompatible tabs" #~ msgstr "els separadors no són compatibles" #~ msgid "both files cannot be standard input" #~ msgstr "ambdós fitxers no poden ser l’entrada estàndard" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Forma d’ús: %s [-s SENYAL | -SENYAL] PID…\n" #~ " o bé: %s -l [SENYAL]…\n" #~ " o bé: %s -t [SENYAL]…\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Envia senyals als processos, o llista els senyals.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SENYAL, -SENYAL\n" #~ " Especifica el nom o número del senyal a enviar.\n" #~ " -l, --list Llista els noms dels senyals, o converteix els " #~ "noms de\n" #~ " senyals a números i a la inversa.\n" #~ " -t, --table Mostra una taula amb informació sobre els " #~ "senyals.\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SENYAL pot ser un nom de senyal com «HUP», un número de senyal com «1», " #~ "o\n" #~ "l’estat d’eixida d’un procés finalitzat per un senyal. PID és un número\n" #~ "enter; si és negatiu identifica un grup de processos.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: el senyal no és vàlid" #~ msgid "%s: invalid process id" #~ msgstr "%s: l’identificador de procés no és vàlid" #~ msgid "invalid option -- %c" #~ msgstr "l’opció «%c» no és vàlida" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: s’han especificat múltiples senyals" #~ msgid "multiple -l or -t options specified" #~ msgstr "s’han especificat múltiples opcions «-l» o «-t»" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "no es pot combinar un senyal amb «-l» o «-t»" #~ msgid "no process ID specified" #~ msgstr "no s’ha especificat cap identificador de procés" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s FITXER1 FITXER2\n" #~ " o bé: %s OPCIÓ\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Crida la funció link() per a crear un enllaç anomenat FITXER2 que apunte " #~ "cap a\n" #~ "un FITXER1 existent.\n" #~ "\n" # Usa quote() en els 2 args. ivb #~ msgid "cannot create link %s to %s" #~ msgstr "no s’ha pogut crear l’enllaç %s cap a %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: avís: fer un enllaç fort cap a un enllaç simbòlic no és portable" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: no es permet l’enllaç fort cap al directori" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: no es pot sobreescriure un directori" # Usa quote(). ivb #~ msgid "%s: replace %s? " #~ msgstr "%s: voleu reemplaçar %s? " # Usa quote(). ivb # És un missatge d'error. ivb #~ msgid "creating symbolic link %s" #~ msgstr "en crear l’enllaç simbòlic %s" # Usa quote() en els 2 args. ivb # És un missatge d'error. ivb #~ msgid "creating symbolic link %s -> %s" #~ msgstr "en crear l’enllaç simbòlic %s -> %s" # Usa quote() en els 2 args. ivb # Indica condició d'error. ivb # La primera substitució es «menja» la cadena. ivb #~ msgid "creating hard link to %.0s%s" #~ msgstr "en crear l’enllaç fort a %.0s%s" # Usa quote(). ivb # Indica condició d'error. ivb #~ msgid "creating hard link %s" #~ msgstr "en crear l’enllaç fort %s" # Usa quote() en els 2 args. ivb # Indica condició d'error. ivb #~ msgid "creating hard link %s => %s" #~ msgstr "en crear l’enllaç fort %s => %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… [-T] DESTÍ NOM_ENLLAÇ (1a forma)\n" #~ " o bé: %s [OPCIÓ]… DESTÍ (2a forma)\n" #~ " o bé: %s [OPCIÓ]… DESTÍ… DIRECTORI (3a forma)\n" #~ " o bé: %s [OPCIÓ]… -t DIRECTORI DESTÍ… (4a forma)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "A la 1a forma crea un enllaç anomenat NOM_ENLLAÇ que apunta al DESTÍ. A " #~ "la 2a\n" #~ "forma crea un enllaç al directori actual que apunta al DESTÍ. A les " #~ "formes 3a\n" #~ "i 4a crea enllaços al DIRECTORI a cada DESTÍ. Per defecte es creen " #~ "enllaços\n" #~ "forts; es creen simbòlics fent servir «--symbolic». En crear enllaços " #~ "forts,\n" #~ "cal que existesca cadascun dels fitxers DESTÍ.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTROL]\n" #~ " Crea una còpia de seguretat de cada fitxer destí\n" #~ " existent.\n" #~ " -b Com «--backup», però no accepta cap argument.\n" #~ " -d, -F, --directory Crea enllaços forts cap als directoris (només per " #~ "al\n" #~ " superusuari).\n" #~ " -d, -F, --directory Permet al superusuari provar de crear enllaços " #~ "forts\n" #~ " cap a directoris (nota: probablement fallarà fins " #~ "i tot\n" #~ " per al superusuari a causa de restriccions del\n" #~ " sistema).\n" #~ " -f, --force Elimina els fitxers destí existents.\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference Tracta un destí que siga un enllaç simbòlic a " #~ "un\n" #~ " directori com si fóra un fitxer normal.\n" #~ " -i, --interactive Pregunta si cal eliminar algun destí.\n" #~ " -s, --symbolic Crea enllaços simbòlics en lloc de forts.\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de\n" #~ " seguretat.\n" #~ " -t, --target-directory=DIRECTORI\n" #~ " Especifica el DIRECTORI on crear els enllaços.\n" #~ " -T, --no-target-directory\n" #~ " Tracta NOM_ENLLAÇ com a un fitxer normal.\n" #~ " -v, --verbose Mostra el nom de cada fitxer enllaçat.\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "no es poden combinar «--target-directory» i «--no-target-directory»" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Mostra el nom de l’usuari actual.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "no hi ha nom d’entrada" # Data de fitxers antics (p.ex. «15 gen 2003»). Ocupa igual que l'altra. ivb #~ msgid "%b %e %Y" #~ msgstr "%e %b %Y" # Data de fitxers nous (p.ex. «15 gen 11:53»). Ocupa igual que l'altra. ivb #~ msgid "%b %e %H:%M" #~ msgstr "%e %b %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "es descarta el valor no vàlid de la variable d’entorn QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "es descarta l’amplària no vàlida a la variable d’entorn COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "es descarta l’amplària no vàlida de tabulació a la variable d’entorn " #~ "TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "l’amplària de línia no és vàlida: %s" #~ msgid "invalid tab size: %s" #~ msgstr "l’amplària de tabulació no és vàlida: %s" #~ msgid "invalid time style format %s" #~ msgstr "l’estil de data «%s» no és vàlid" #~ msgid "unrecognized prefix: %s" #~ msgstr "el prefix no és reconegut: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "el valor de la variable d’entorn LS_COLORS no és interpretable" # Usa quote(). ivb #~ msgid "cannot open directory %s" #~ msgstr "no s’ha pogut obrir el directori %s" # Usa quote(). ivb #~ msgid "cannot determine device and inode of %s" #~ msgstr "no es poden determinar el dispositiu i node índex de %s" # Usa quote(). ivb #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: no es llista el directori ja llistat" # Usa quote(). ivb # És un missatge d'error. ivb #~ msgid "closing directory %s" #~ msgstr "en tancar el directori %s" # Usa quote() en els 2 args. ivb #~ msgid "cannot compare file names %s and %s" #~ msgstr "no es poden comparar els noms de fitxer %s i %s" # Traduint tot açò s'entenen tres coses: # 1.- Què significa que l'ls pateix el «second system effect» # 2.- Com és d'important el principi KISS # 3.- Com és de _vital_ el moviment cap enrere de la pantalla de text # (Déu els compila i ells s'enllacen!) ivb #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Llista informació sobre cada FITXER (per defecte sobre el directori " #~ "actual).\n" #~ "Ordena les entrades alfabèticament si no s’indica cap de les opcions\n" #~ "«-cftuvSUX» o «--sort».\n" #~ "\n" # Amb «implied» vol dir que no han estat indicats explícitament com a args. ivb #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all No passa per alt les entrades que comencen amb " #~ "«.».\n" #~ " -A, --almost-all No llista els directoris implícits «.» i «..».\n" #~ " --author Amb «-l», mostra l’autor de cada fitxer.\n" #~ " -b, --escape Mostra seqüències d’escapada octals per als " #~ "caràcters\n" #~ " no gràfics.\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " -B, --ignore-backups No mostra les entrades implícites acabades en " #~ "«~».\n" #~ " -c Amb «-lt», ordena per (i mostra) la data de canvi\n" #~ " (moment de la darrera modificació de la " #~ "informació\n" #~ " d’estat del fitxer).\n" #~ " Amb «-l», mostra la data de canvi i ordena pel " #~ "nom.\n" #~ " Altrament, ordena per la data de canvi.\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C Llista les entrades en columnes.\n" #~ " --color[=QUAN] Controla quan s’empren colors per a distingir " #~ "tipus de\n" #~ " fitxers. QUAN pot ser «never», «always» o " #~ "«auto» (mai,\n" #~ " sempre o automàtic).\n" #~ " -d, --directory Llista les entrades dels directoris en lloc de " #~ "llurs\n" #~ " continguts, i no segueix els enllaços simbòlics.\n" #~ " -D, --dired Genera eixida preparada per al mode «dired» " #~ "d’Emacs.\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f No ordena, activa «-aU» i desactiva «-ls --" #~ "color».\n" #~ " -F, --classify Afegeix un caràcter identificador del tipus " #~ "d’entrada\n" #~ " (un de «*/=>@|»).\n" #~ " --file-type Similar a l’anterior, però no afegeix «*».\n" #~ " --format=PARAULA Cada PARAULA equival a l’(opció): across (-x),\n" #~ " commas (-m), horizontal (-x), long (-l),\n" #~ " single-column (-1), verbose (-l), vertical (-C).\n" #~ " --full-time Equival a «-l --time-style=full-iso».\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g Com «-l», però no mostra el propietari.\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " Agrupa els directoris abans dels fitxers. " #~ "Accepta\n" #~ " l’opció «--sort», però «--sort=none» (-U) " #~ "inhabilita\n" #~ " l’agrupament.\n" # Crec que «virtual» capta millor el significat de «dummy». ivb #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group Amb «-l», no mostra els noms de grup.\n" #~ " -h, --human-readable Amb «-l», mostra les mides en un format " #~ "llegible per\n" #~ " als humans (per exemple: 1K 234M 2G).\n" #~ " --si El mateix, però empra potències de 1000, no de " #~ "1024.\n" # «--dereference-command-line-symlink-to-dir» /**/ ivb # «--hide», encara una altra opció! O_O ivb #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " Segueix els enllaços simbòlics que es troben a la " #~ "línia\n" #~ " d’ordres.\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " Segueix els enllaços simbòlics que es troben a la " #~ "línia\n" #~ " d’ordres i apunten cap a un directori.\n" #~ " --hide=PATRÓ No mostra les entrades implícites que coincideixen " #~ "amb\n" #~ " el PATRÓ d’intèrpret indicat (inhabilitada per " #~ "les\n" #~ " opcions «-a» i «A»).\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=PARAULA\n" #~ " Afegeix un indicador amb l’estil PARAULA als noms " #~ "de\n" #~ " les entrades: none (per defecte), slash (-p),\n" #~ " file-type (--file-type), classify (-F).\n" #~ " -i, --inode Mostra el número de node índex de cada fitxer.\n" #~ " -I, --ignore=PATRÓ No llista les entrades implícites que " #~ "coincideixen amb\n" #~ " el PATRÓ d’intèrpret indicat.\n" #~ " -k Equival a «--block-size=1K».\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l Empra un format de llistat llarg.\n" #~ " -L, --dereference En mostrar la informació de fitxer d’un enllaç\n" #~ " simbòlic, mostra la informació del fitxer referit " #~ "en\n" #~ " lloc de la del propi fitxer.\n" #~ " -m Plena a l’ample amb una llista d’entrades " #~ "separades per\n" #~ " comes.\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid Com «-l», però llista els UID i GID " #~ "numèricament.\n" #~ " -N, --literal Mostra els noms de les entrades en brut (per " #~ "exemple,\n" #~ " sense tractar especialment els caràcters de " #~ "control).\n" #~ " -o Com «-l», però no mostra la informació de grup.\n" #~ " -p, --indicator-style=slash\n" #~ " Afegeix l’indicador «/» als directoris.\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars\n" #~ " Mostra «?» en lloc dels caràcters no gràfics.\n" #~ " --show-control-chars\n" #~ " Mostra els caràcters no gràfics tal qual (per " #~ "defecte,\n" #~ " a no ser que el programa siga «ls» i l’eixida siga " #~ "un\n" #~ " terminal).\n" #~ " -Q, --quote-name Tanca els noms de les entrades entre cometes " #~ "dobles.\n" #~ " --quote-style=ESTIL\n" #~ " Empra l’ESTIL indicat per a citar les paraules:\n" #~ " literal, locale, shell, shell-always, c, escape.\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse Inverteix l’ordre.\n" #~ " -R, --recursive Llista recursivament els subdirectoris.\n" #~ " -s, --size Mostra la mida en blocs de cada fitxer.\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S Ordena les entrades per la seua mida.\n" #~ " --sort=CLAU Ordena en base a la CLAU indicada en lloc d’usar " #~ "el\n" #~ " nom: none (-U), extension (-X), size (-S), time (-" #~ "t),\n" #~ " version (-v).\n" #~ " --time=DATA Amb «-l», mostra la DATA indicada en lloc de la " #~ "de\n" #~ " modificació: atime (-u), access (-u), use (-u), " #~ "ctime\n" #~ " (-c) o status (-c); amb «--sort=time» s’ordenarà " #~ "en\n" #~ " base a aquesta data.\n" # ls, your next programming language for the shell... ivb #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=ESTIL\n" #~ " Amb «-l», mostra les dates emprant l’ESTIL " #~ "indicat:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT; FORMAT\n" #~ " s’interpreta com en «date»; si FORMAT és\n" #~ " «FORMAT1FORMAT2», FORMAT1 s’aplica " #~ "als\n" #~ " fitxers no recents i FORMAT2 als recents; si es " #~ "prefixa\n" #~ " l’ESTIL amb «posix-», només s’empra l’ESTIL si el\n" #~ " locale POSIX no es troba actiu.\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t Ordena per la data de modificació.\n" #~ " -T, --tabsize=COLUMNES\n" #~ " Indica les COLUMNES entre tabulacions, en lloc de " #~ "8.\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u Amb «-lt», ordena per (i mostra) la data d’accés.\n" #~ " Amb «-l», mostra la data d’accés i ordena pel " #~ "nom.\n" #~ " Altrament, ordena per la data d’accés.\n" #~ " -U No ordena, mostra les entrades en l’ordre en què " #~ "es\n" #~ " troben al directori.\n" #~ " -v Ordena per la versió.\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=COLS Assumeix un altre ample de pantalla en lloc del " #~ "valor\n" #~ " actual.\n" #~ " -x Llista les entrades en línies en lloc d’en " #~ "columnes.\n" #~ " -X Ordena alfabèticament segons l’extensió de cada\n" #~ " entrada.\n" #~ " -Z, --context Mostra el context de seguretat de SELinux de cada\n" #~ " fitxer.\n" #~ " -1 Llista un fitxer per línia.\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Per defecte no s’empren colors per a distingir tipus de fitxers. Açò " #~ "equival\n" #~ "a emprar «--color=none» (cap). Emprar l’opció «--color» sense " #~ "l’argument\n" #~ "opcional QUAN equival a emprar «--color=always» (sempre). Amb «--" #~ "color=auto»,\n" #~ "només es generen codis de color si l’eixida està connectada amb un " #~ "terminal\n" #~ "(tty). Es poden alterar els colors emprant la variable d’entorn " #~ "LS_COLORS,\n" #~ "que pot ser establerta de forma senzilla emprant l’ordre «dircolors».\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "L’estat d’eixida és 0 si tot va bé, 1 si hi ha problemes menors, 2 si hi " #~ "ha\n" #~ "problemes greus.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ] [FITXER]…\n" #~ "Escriu o comprova sumes de verificació %s (de %d bits).\n" #~ "Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #~ "\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary Llegeix en mode binari (per defecte, excepte quan " #~ "es\n" #~ " llegeix l’entrada estàndard d’un terminal).\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary Llegeix en mode binari.\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check Llegeix i comprova la suma %s de cada FITXER.\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text Llegeix en mode text (per defecte quan es llegeix\n" #~ " l’entrada estàndard d’un terminal).\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text Llegeix en mode text (per defecte).\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Les dues opcions següents només són útils per a la comprovació de sumes:\n" #~ " --status No escriu res, el codi d’estat indica el " #~ "resultat.\n" #~ " -w, --warn Avisa de les línies de suma amb un format " #~ "incorrecte.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "El càlcul de les sumes es realitza com es descriu al document %s.\n" #~ "A les comprovacions, l’entrada hauria de ser una sortida anterior " #~ "d’aquest\n" #~ "mateix programa. Per defecte escriu una línia amb la suma de " #~ "verificació, un\n" #~ "caràcter indicant el tipus («*» per a binari, « » per a text), i el nom " #~ "de\n" #~ "cada FITXER.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: hi ha massa línies de suma" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: la línia de suma %s està mal formatada" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: no s’ha pogut obrir o llegir\n" #~ msgid "OK" #~ msgstr "CORRECTE" #~ msgid "%s: read error" #~ msgstr "%s: error de lectura" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: no s’ha trobat cap línia de suma %s ben formatada" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "avís: % de % fitxer llistat no s’ha pogut llegir" #~ msgstr[1] "" #~ "avís: % de % fitxers llistats no s’han pogut llegir" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "avís: % de % suma calculada NO coincideix" #~ msgstr[1] "avís: % de % sumes calculades NO coincideixen" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "les opcions «--binary» i «--text» no tenen sentit a la comprovació de " #~ "sumes" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "l’opció «--status» només té sentit a la comprovació sumes" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "l’opció «--warn» només té sentit a la comprovació de sumes" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ] DIRECTORI…\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Crea cada DIRECTORI indicat, si no existeix ja.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MODE Estableix els permisos al MODE (com amb «chmod»), " #~ "en\n" #~ " lloc de «a=rwx - umask».\n" #~ " -p, --parents Crea els directoris pare necessaris, sense " #~ "mostrar\n" #~ " errors si aquests ja existeixen.\n" #~ " --verbose Mostra un missatge per cada directori creat.\n" #~ " -Z, --context=CTX Estableix el context de seguretat de SELinux de " #~ "cada\n" #~ " directori creat a CTX.\n" # Usa quote(). ivb #~ msgid "created directory %s" #~ msgstr "s’ha creat el directori %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ] NOM…\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Crea les canonades amb nom (FIFO) indicades pels seus NOMs.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=CTX Estableix el context de seguretat de SELinux de " #~ "cada\n" #~ " canonada NOM a CTX.\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MODE Estableix els permisos al MODE (com amb «chmod»), " #~ "en\n" #~ " lloc de «a=rw - umask».\n" #~ msgid "invalid mode" #~ msgstr "el mode no és vàlid" #~ msgid "mode must specify only file permission bits" #~ msgstr "el mode només ha d’especificar bits de permisos de fitxer" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… NOM TIPUS [MAJOR MENOR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Crea el fitxer especial NOM, del TIPUS especificat.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=CTX Estableix el context de seguretat de SELinux de " #~ "cada\n" #~ " fitxer NOM a CTX.\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Cal que especifiqueu MAJOR i MENOR quan el TIPUS siga «b», «c» o «u»; " #~ "cal\n" #~ "ometre’ls quan aquest siga «p». Si MAJOR o MENOR comença per «0x» o " #~ "«0X»,\n" #~ "s’interpreta com a hexadecimal; si comença per «0», com a octal; " #~ "altrament\n" #~ "s’interpreta com a decimal. El TIPUS pot ser:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b Crea un fitxer especial de blocs (amb memòria intermèdia).\n" #~ " c, u Crea un fitxer especial de caràcters (sense memòria " #~ "intermèdia).\n" #~ " p Crea una cua FIFO.\n" # Açò s'imprimeix després d'un missatge d'error. ivb #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Els fitxers especials requereixen números major i menor de dispositiu." # Açò s'imprimeix després d'un missatge d'error. ivb #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Les cues FIFO no tenen números major i menor de dispositiu." #~ msgid "block special files not supported" #~ msgstr "aquest sistema no permet fitxers especials de blocs" #~ msgid "character special files not supported" #~ msgstr "aquest sistema no permet fitxers especials de caràcters" # Usa quote(). ivb #~ msgid "invalid major device number %s" #~ msgstr "el número major de dispositiu %s no és vàlid" # Usa quote(). ivb #~ msgid "invalid minor device number %s" #~ msgstr "el número menor de dispositiu %s no és vàlid" # No crec que calguen cometes. ivb #~ msgid "invalid device %s %s" #~ msgstr "el dispositiu %s %s no és vàlid" # Usa quote(). ivb #~ msgid "invalid device type %s" #~ msgstr "el tipus de dispositiu %s no és vàlid" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Foma d’ús: %s [OPCIÓ]… [PLANTILLA]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Crea un fitxer o directori temporal de forma segura i en mostra el nom. " #~ "Si no\n" #~ "s’indica la PLANTILLA s’empra «tmp.XXXXXXXXXX».\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory Crea un directori en lloc d’un fitxer.\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet No mostra els missatges d’error durant la creació " #~ "del\n" #~ " fitxer o directori.\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run No crea res, només mostra un nom (insegur).\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=DIRECTORI]\n" #~ " Interpreta la PLANTILLA com a relativa al " #~ "DIRECTORI.\n" #~ " Si aquest no s’indica, empra $TMPDIR si està\n" #~ " establerta, o «/tmp» altrament. Si empreu " #~ "aquesta\n" #~ " opció no cal que la PLANTILLA siga un camí " #~ "absolut. A\n" #~ " diferència de «-t», la PLANTILLA pot contenir " #~ "barres,\n" #~ " però en aquest cas «mktemp» només en crea el " #~ "component\n" #~ " final.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p DIRECTORI Empra el DIRECTORI com a prefix; implica «-t»\n" #~ " (opció desaprovada).\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t Interpreta la PLANTILLA com a un únic component de " #~ "nom\n" #~ " de fitxer relatiu al directori $TMPDIR, si està\n" #~ " establerta, al directori indicat per «-p», o " #~ "altrament\n" #~ " a «/tmp» (opció desaprovada).\n" #~ msgid "too many templates" #~ msgstr "s’han indicat massa plantilles" # Usa quote(). ivb #~ msgid "too few X's in template %s" #~ msgstr "la plantilla %s conté massa pocs caràcters «X»" # Usa quote(). ivb #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "" #~ "la plantilla %s no és vàlida perquè conté un separador de directoris" # Usa quote(). ivb #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "" #~ "la plantilla %s no és vàlida perquè és absoluta i esteu emprant «--tmpdir»" # Usa quote(). ivb #~ msgid "failed to create directory via template %s" #~ msgstr "no s’ha pogut crear el directori emprant la plantilla %s" # Usa quote(). ivb #~ msgid "failed to create file via template %s" #~ msgstr "no s’ha pogut crear el fitxer emprant la plantilla %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Canvia el nom d’ORIGEN a DESTÍ, o mou cada ORIGEN al DIRECTORI.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=CONTROL]\n" #~ " Crea una còpia de seguretat de cada fitxer destí\n" #~ " existent.\n" #~ " -b Com «--backup», però no accepta cap argument.\n" #~ " -f, --force No pregunta abans de sobreescriure.\n" #~ " -i, --interactive Pregunta abans de sobreescriure.\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes\n" #~ " Elimina la barra final (si n’hi ha) de cada " #~ "argument\n" #~ " ORIGEN.\n" #~ " -S, --suffix=SUFIX Reemplaça el sufix habitual de les còpies de\n" #~ " seguretat.\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=DIRECTORI\n" #~ " Mou cada argument ORIGEN al DIRECTORI.\n" #~ " -T, --no-target-directory\n" #~ " Tracta DESTÍ com a un fitxer normal.\n" #~ " -u, --update Només mou quan el fitxer ORIGEN és més nou que el\n" #~ " fitxer destí o quan el fitxer destí no hi és.\n" #~ " -v, --verbose Explica què s’està fent.\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ] [ORDRE [ARG]…]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Executa l’ORDRE amb un valor de prioritat ajustat, cosa que afecta la\n" #~ "planificació del procés. Sense l’ORDRE, mostra el valor actual de " #~ "prioritat.\n" #~ "Els valors de prioritat van des de %d (planificació més favorable) a %d\n" #~ "(planificació menys favorable).\n" #~ "\n" #~ " -n, --adjustment=N Afegeix l’enter N al valor de prioritat (10 per\n" #~ " defecte).\n" # Usa quote(). ivb #~ msgid "invalid adjustment %s" #~ msgstr "l’ajust %s no és vàlid" #~ msgid "a command must be given with an adjustment" #~ msgstr "cal que especifiqueu una ordre juntament amb l’ajustament" #~ msgid "cannot get niceness" #~ msgstr "no s’ha pogut obtenir la prioritat" #~ msgid "cannot set niceness" #~ msgstr "no s’ha pogut establir la prioritat" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escriu cada FITXER a la sortida estàndard, amb les línies numerades. " #~ "Sense\n" #~ "FITXER, o quan fitxer és «-», llegeix l’entrada estàndard.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=ESTIL\n" #~ " Enumera les línies del cos segons l’ESTIL.\n" #~ " -d, --section-delimiter=CC\n" #~ " Empra CC per a separar les pàgines lògiques.\n" #~ " -f, --footer-numbering=ESTIL\n" #~ " Enumera les línies del peu segons ESTIL.\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=ESTIL\n" #~ " Enumera les línies de la capçalera segons " #~ "l’ESTIL.\n" #~ " -i, --page-increment=NÚMERO\n" #~ " Increment que es produeix per cada línia al compte " #~ "de\n" #~ " línies.\n" #~ " -l, --join-blank-lines=NÚMERO\n" #~ " Compta NÚMERO línies en blanc com a una.\n" #~ " -n, --number-format=FORMAT\n" #~ " Inserta els números de línia segons el FORMAT.\n" #~ " -p, --no-renumber No reinicia el compte en cada pàgina lògica.\n" #~ " -s, --number-separator=CADENA\n" #~ " Escriu la CADENA al darrere del possible número " #~ "de\n" #~ " línia.\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NÚMERO\n" #~ " Primer NÚMERO de línia de cada pàgina lògica.\n" #~ " -w, --number-width=NÚMERO\n" #~ " Empra NÚMERO columnes per cada número de línia.\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Les opcions per defecte són «-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn». CC " #~ "són\n" #~ "dos caràcters delimitadors per a separar les pàgines lògiques, on " #~ "l’absència\n" #~ "del segon caràcter implica «:». Escriviu «\\\\» per a «\\». ESTIL pot " #~ "ser:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a Numera totes les línies.\n" #~ " t Numera totes les línies que no estan en blanc.\n" #~ " n No numera cap línia.\n" #~ " pEXPREG Només numera les línies que contenen una ocurrència de\n" #~ " l’expressió regular bàsica EXPREG.\n" #~ "\n" #~ "El FORMAT pot ser:\n" #~ "\n" #~ " ln Alineat a l’esquerra, sense zeros de replé.\n" #~ " rn Alineat a la dreta, sense zeros de replé.\n" #~ " rz Alineat a la dreta, reomplit amb zeros.\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "el comptador de línies s’ha desbordat" # Usa quote(). ivb #~ msgid "invalid header numbering style: %s" #~ msgstr "l’estil de numeració de capçalera no és vàlid: %s" # Usa quote(). ivb #~ msgid "invalid body numbering style: %s" #~ msgstr "l’estil de numeració de cos no és vàlid: %s" # Usa quote(). ivb #~ msgid "invalid footer numbering style: %s" #~ msgstr "l’estil de numeració de peu no és vàlid: «%s»" # Usa quote(). ivb #~ msgid "invalid starting line number: %s" #~ msgstr "el número inicial de línia no és vàlid: %s" # Usa quote(). ivb #~ msgid "invalid line number increment: %s" #~ msgstr "l’increment del número de línia no és vàlid: %s" # Usa quote(). ivb #~ msgid "invalid number of blank lines: %s" #~ msgstr "el número de línies en blanc no és vàlid: %s" # Usa quote(). ivb #~ msgid "invalid line number field width: %s" #~ msgstr "l’amplada del camp de números de línia no és vàlida: %s" # Usa quote(). ivb #~ msgid "invalid line numbering format: %s" #~ msgstr "l’estil de numeració de línia no és vàlid: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s ORDRE [ARGUMENT]…\n" #~ " o bé: %s OPCIÓ\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Executa l’ORDRE descartant els senyals de penjat.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Si l’entrada estàndard és un terminal, la redirigeix des de «/dev/null». " #~ "Si\n" #~ "l’eixida estàndard és un terminal, afegeix l’eixida si pot a «nohup.out», " #~ "o a\n" #~ "«$HOME/nohup.out» altrament. Si l’eixida estàndard d’errors és un " #~ "terminal,\n" #~ "la redirigeix cap a l’eixida estàndard. Per a capturar l’eixida en un " #~ "FITXER,\n" #~ "empreu «%s ORDRE > FITXER».\n" # Missatge informatiu. ivb #~ msgid "ignoring input" #~ msgstr "es descarta l’entrada" # Els 2 usen quote(). ivb #~ msgid "failed to open %s" #~ msgstr "no s’ha pogut obrir %s" # Missatge informatiu. ivb # Usa quote(). ivb #~ msgid "ignoring input and appending output to %s" #~ msgstr "es descarta l’entrada i s’afegeix l’eixida a %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "" #~ "no s’ha pogut preparar la còpia de l’eixida estàndard d’errors per a que " #~ "es tanque en fer exec()" # Missatge informatiu. ivb #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "" #~ "es descarta l’entrada i es redirigeixen els errors a l’eixida estàndard" #~ msgid "failed to redirect standard error" #~ msgstr "no s’ha pogut redirigir l’eixida estàndard d’errors" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… [FITXER]…\n" #~ " o bé: %s [-abcdfilosx]… [FITXER] [[+]DESPLAÇAMENT[.][b]]\n" #~ " o bé: %s --traditional [OPC]… [FITX] [[+]DESPL[.][b] [+][ETIQ][.]" #~ "[b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Escriu una representació inequívoca, d’octets en octal per defecte, del " #~ "FITXER\n" #~ "a la sortida estàndard. Amb diversos arguments FITXER, els concatena en\n" #~ "l’ordre especificat per a formar l’entrada. Sense FITXER, o quan FITXER " #~ "és\n" #~ "«-», llegeix l’entrada estàndard.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Els arguments obligatoris per a les opcions llargues també ho són per a " #~ "les\n" #~ "opcions curtes corresponents.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=BASE\n" #~ " Indica la BASE amb què es mostraran els " #~ "desplaçaments.\n" #~ " -j, --skip-bytes=OCTETS\n" #~ " Salta aquest nombre d’OCTETS al principi de " #~ "l’entrada.\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=OCTETS\n" #~ " Limita la transcripció a aquest nombre d’OCTETS\n" #~ " d’entrada.\n" #~ " -S, --strings[=OCTETS]\n" #~ " Escriu cadenes d’almenys OCTETS caràcters " #~ "gràfics.\n" #~ " -t, --format=TIPUS Especifica el format (o formats) de sortida.\n" #~ " -v, --output-duplicates\n" #~ " No empra «*» per a marcar la supressió de línies.\n" #~ " -w, --width[=OCTETS] Escriu aquest nombre d’OCTETS per línia.\n" #~ " --traditional Accepta arguments en la forma tradicional.\n" # buscar una traducció per `named characters' i `shorts' # Crec que així va bé. ivb #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Les especificacions en format tradicional poden estar mesclades, " #~ "acumulant‐se;\n" #~ "són les següents:\n" #~ " -a Equival a «-t a», nom dels caràcters, descartant el bit alt.\n" #~ " -b Equival a «-t o1», octets en octal.\n" #~ " -c Equival a «-t c», caràcters ASCII o seqüències d’escapada amb " #~ "barra\n" #~ " invertida.\n" #~ " -d Equival a «-t u2», enters de 2 octets sense signe en decimal.\n" # buscar traduccions pels diferents tipus # Crec que així va bé. ivb #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f Equival a «-t fF», números reals en coma flotant.\n" #~ " -i Equival a «-t dI», enters en decimal.\n" #~ " -l Equival a «-t dL», enters llargs en decimal.\n" #~ " -o Equival a «-t o2», enters de 2 octets en octal.\n" #~ " -s Equival a «-t d2», enters de 2 octets en decimal.\n" #~ " -x Equival a «-t x2», enters de 2 octets en hexadecimal.\n" # El més llarg és «x[MIDA]». ivb #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Si tant la primera com la segona formes d’ús són aplicables, s’assumeix " #~ "la\n" #~ "segona forma si el darrer operand comença per «+» o (si hi ha dos " #~ "operands)\n" #~ "per un dígit. Un operand DESPLAÇAMENT significa «-j DESPLAÇAMENT». " #~ "ETIQUETA\n" #~ "és la pseudoadreça del primer octet escrit, que s’incrementa a mesura que " #~ "va\n" #~ "progressant la transcripció. En DESPLAÇAMENT i ETIQUETA, un prefix «0x» " #~ "o\n" #~ "«0X» indica hexadecimal. Els sufixs poden ser «.» per a octal i «b» com " #~ "a\n" #~ "multiplicació per 512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "TIPUS està format per una o diverses de les següents especificacions:\n" #~ "\n" #~ " a Nom del caràcter, sense tenir en compte el bit alt.\n" #~ " c Caràcter ASCII o seqüència d’escapada amb barra invertida.\n" # El més llarg és «x[MIDA]». ivb # «SIZE bytes per integer»->«tindira MIDA octets si fóra un enter», crec. ivb #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[MIDA] Decimal amb signe, de MIDA octets com a enter.\n" #~ " f[MIDA] Número real en coma flotant, de MIDA octets com a enter.\n" #~ " o[MIDA] Octal, de MIDA octets com a enter.\n" #~ " u[MIDA] Decimal sense signe, de MIDA octets com a enter.\n" #~ " x[MIDA] Hexadecimal, de MIDA bytes com a enter.\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "MIDA és un número. Als TIPUS «doux», MIDA també pot ser «C» per a\n" #~ "«sizeof(char)», «S» per a «sizeof(short)», «I» per a «sizeof(int)» o «L» " #~ "per a\n" #~ "«sizeof(long)». Si el TIPUS és «f», la MIDA pot ser també «F» per a\n" #~ "«sizeof(float)», «D» per a «sizeof(double)» o bé «L» per a\n" #~ "«sizeof(long double)».\n" # Aquesta cadena continua. ivb #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "BASE és «d» per a decimal, «o» per a octal, «x» per a hexadecimal, o bé " #~ "«n»\n" #~ "per a cap. OCTETS és hexadecimal si té el prefix «0x» o «0X», i pot " #~ "portar un\n" #~ "sufix multiplicador: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, Z, Y. Afegint " #~ "el\n" #~ "sufix «z» a qualsevol dels tipus, mostra també els caràcters imprimibles " #~ "al\n" #~ "final de cada línia d’eixida. " # aquesta entrada va junta amb l'anterior # Cal estar pendent del final de la primera línia. ivb #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "«--string» sense cap número implica 3.\n" #~ "«--width» sense número implica 32. Per defecte, s’utilitzen les opcions\n" #~ "«-A o -t d2 -w 16».\n" # Ambdues usen quote(). ivb #~ msgid "invalid type string %s" #~ msgstr "la cadena de tipus no és vàlida: %s" # Usa quote(). ivb #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "la cadena de tipus no és vàlida: %s; aquest sistema no proporciona un " #~ "tipus enter de %lu octets" # Usa quote(). ivb #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "la cadena de tipus no és vàlida: %s; aquest sistema no proporciona un " #~ "tipus de coma flotant de %lu octets" # Usa quote() en la segona. ivb #~ msgid "invalid character `%c' in type string %s" #~ msgstr "el caràcter «%c» de la cadena de tipus %s no és vàlid" #~ msgid "cannot skip past end of combined input" #~ msgstr "no es pot saltar més enllà del final de l’entrada combinada" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "la base «%c» del desplaçament no és vàlida; ha de ser un caràcter de " #~ "[doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "no es pot especificar cap tipus quan es transcriuen cadenes" # Açò s'imprimeix després d'un missatge d'error. ivb #~ msgid "Compatibility mode supports at most one file." #~ msgstr "El mode de compatibilitat permet com a màxim un fitxer." # Són noms d'opcions. ivb #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "«skip-bytes» + «read-bytes» és massa gran" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "atenció: l’amplada %lu no és vàlida; s’emprarà %d" # És una cadena de depuració. ivb #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" amplada=%d\n" #~ msgid "standard input is closed" #~ msgstr "l’entrada estàndard està tancada" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escriu línies consistents en les línies corresponents seqüencialment de " #~ "cada\n" #~ "FITXER, separades per caràcters de tabulació, a la sortida estàndard. " #~ "Sense\n" #~ "FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LLISTA\n" #~ " Empra els caràcters de la LLISTA, en lloc de\n" #~ " tabulacions.\n" #~ " -s, --serial Processa cada fitxer de cop, i no en paraŀlel.\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "" #~ "la llista de delimitadors acaba en una barra invertida sense escapada: %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… NOM…\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Comprova si hi ha construccions no portables al NOM.\n" #~ "\n" #~ " -p Prova amb la majoria de sistemes POSIX.\n" #~ " -P Comprova els noms buits o que comencen per «-».\n" #~ " --portability Prova amb tots els sistemes POSIX (equival a «-p -" #~ "P»).\n" # Usa quote(). ivb #~ msgid "leading `-' in a component of file name %s" #~ msgstr "un dels components del nom de fitxer %s comença per «-»" # Usa quote() en els 2. ivb #~ msgid "nonportable character %s in file name %s" #~ msgstr "el nom de fitxer %2$s conté el caràcter no portable %1$s" #~ msgid "empty file name" #~ msgstr "el nom de fitxer és buit" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: no s’ha pogut determinar la longitud màxima dels noms de fitxer" # Usa quote(). ivb #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "s’ha excedit el límit %lu per la longitud %lu del nom de fitxer %s" # Usa quote(). ivb #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "" #~ "s’ha excedit el límit %lu per la longitud %lu del component de nom de " #~ "fitxer %s" # FIXME: This way of arranging output is language dependent. ivb #~ msgid "Login name: " #~ msgstr "Nom d’entrada: " #~ msgid "In real life: " #~ msgstr "A la vida real: " # Un nom real desconegut. ivb #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Directori: " # Compensa els 3 caràcters que «Nom d'entrada» desplaça «A la vida real». ivb #~ msgid "Shell: " #~ msgstr " Intèrpret d’ordres: " #~ msgid "Project: " #~ msgstr "Projecte: " #~ msgid "Plan:\n" #~ msgstr "Pla:\n" # FIXME: This way of arranging output is language dependent. ivb # No es passa de 8, ok. ivb #~ msgid "Login" #~ msgstr "Entrada" #~ msgid "Name" #~ msgstr "Nom" #~ msgid " TTY" #~ msgstr " TTY" # Hauria de ser «Inactiu», però té més de 6 caràcters. ivb #~ msgid "Idle" #~ msgstr "Ociós" #~ msgid "When" #~ msgstr "Quan" #~ msgid "Where" #~ msgstr "On" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… [USUARI]…\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l Genera una eixida amb format llarg per cada " #~ "USUARI.\n" #~ " -b Omet el directori personal i intèrpret de l’usuari " #~ "al\n" #~ " format llarg.\n" #~ " -h Omet el fitxer de projecte de l’usuari al format " #~ "llarg.\n" #~ " -p Omet el fitxer de pla de l’usuari al format " #~ "llarg.\n" #~ " -s Genera una eixida amb format curt (per defecte).\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f Omet la línia de capçaleres de columna al format " #~ "curt.\n" #~ " -w Omet el nom complet de l’usuari al format curt.\n" #~ " -i Omet el nom complet i l’estació remota de l’usuari " #~ "al\n" #~ " format curt.\n" #~ " -q Omet el nom complet, l’estació remota i el temps\n" #~ " d’inactivitat (ociós) al format curt.\n" # No usa quote(). ivb #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Un programa de «finger» lleuger; mostra informació sobre els usuaris. " #~ "El\n" #~ "fitxer «utmp» serà «%s».\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "no s’ha indicat cap nom d’usuari; n’heu d’indicar almenys un si useu «-l»" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "--pages=PRIM_PÀG[:ÚLT_PÀG]: manca un argument" # Usa quote(). ivb #~ msgid "Invalid page range %s" #~ msgstr "el rang de pàgines no és vàlid: %s" # Usa quote(). ivb #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "-l LLARG_PÀG: el nombre de línies no és vàlid: %s" # Usa quote(). ivb #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "-N NÚMERO: el número inicial de línia no és vàlid: %s" # Usa quote(). ivb #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "-o MARGE: el desplaçament de línia no és vàlid: %s" # Usa quote(). ivb #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "-w AMPLADA_PÀG: el nombre de caràcters no és vàlid: %s" # Usa quote(). ivb #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "-W AMPLADA_PÀG: el nombre de caràcters no és vàlid: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "" #~ "no es pot especificar el nombre de columnes quan s’imprimeix en paraŀlel" #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "no es pot especificar impressió en paraŀlel i de través alhora" # Usa quote() en la segona. ivb #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "-%c: sobren caràcters o el número de l’argument no és vàlid: %s" #~ msgid "page width too narrow" #~ msgstr "l’amplada de pàgina és insuficient" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "el número de pàgina inicial % excedeix el comptador de pàgines %" #~ "" #~ msgid "Page number overflow" #~ msgstr "el comptador de pàgines s’ha desbordat" # Açò és el text per a numerar les pàgines. ivb #~ msgid "Page %" #~ msgstr "Pàgina %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Arranja el(s) FITXER(s) en pàgines o columnes per a imprimir.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +PRIM_PÀG[:ÚLT_PÀG], --pages=PRIM_PÀG[:ÚLT_PÀG] \n" #~ " Comença [i acaba] la paginació en PRIM_PÀG [i " #~ "ÚLT_PÀG].\n" #~ " -COLUMNES, --columns=COLUMNES\n" #~ " Disposa el text en les COLUMNES indicades i les " #~ "escriu\n" #~ " en vertical, tret que especifiqueu «-a». Iguala " #~ "el\n" #~ " nombre de línies de les columnes de cada pàgina.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across Escriu les columnes de través en lloc de " #~ "verticalment,\n" #~ " emprat juntament amb -COLUMNES.\n" #~ " -c, --show-control-chars\n" #~ " Empra la notació «^G» i la notació de seqüència\n" #~ " d’escapada en octal amb barra invertida.\n" #~ " -d, --double-space Escriu el text amb espaiat doble.\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMAT\n" #~ " Formata la data de la capçalera emprant aquest " #~ "FORMAT.\n" #~ " -e[CARÀCTER[NÚMERO]], --expand-tabs[=CARÀCTER[NÚMERO]]\n" #~ " Converteix cada CARÀCTER de l’entrada en NÚMERO " #~ "espais\n" #~ " a l’eixida (per defecte CARÀCTER és la tabulació " #~ "i\n" #~ " NÚMERO és 8).\n" #~ " -F, -f, --form-feed Empra un salt de pàgina, en lloc de caràcters de " #~ "nova\n" #~ " línia, per a separar cada pàgina (es separen amb " #~ "una\n" #~ " capçalera de 3 línies amb l’opció «-F»; amb 5 " #~ "línies de\n" #~ " capçalera i 5 de cua sense «-F»).\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h CAPÇALERA, --header=CAPÇALERA\n" #~ " Escriu una CAPÇALERA centrada de pàgina, en lloc " #~ "del\n" #~ " nom del fitxer; «-h \"\"» escriu una línia en " #~ "blanc, no\n" #~ " useu «-h\"\"».\n" #~ " -i[CARÀCTER[NÚMERO], --output-tabs[=CARÀCTER[NÚMERO]]\n" #~ " Converteix cada grup de NÚMERO espais consecutius " #~ "de\n" #~ " l’entrada en un CARÀCTER a l’eixida (per defecte\n" #~ " CARÀCTER és la tabulació i NÚMERO és 8).\n" #~ " -J, --join-lines Ajunta les línies senceres, inhabilita el " #~ "truncament de\n" #~ " línies de l’opció «-W», no hi ha alineament de " #~ "columna,\n" #~ " i «--sep-string[=CADENA]» defineix els " #~ "separadors.\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l LLARG_PÀG, --length=LLARG_PÀG\n" #~ " Defineix la llargada de pàgina en LLARG_PÀG (66) " #~ "línies\n" #~ " (per defecte hi ha 56 línies de text, 63 amb «-" #~ "F»).\n" #~ " -m, --merge Escriu els fitxers en paraŀlel, un en cada " #~ "columna,\n" #~ " amb truncament de línies, però ajuntant les que " #~ "ocupen\n" #~ " una línia sencera si s’empra l’opció «-J».\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEPARADOR[DÍGITS]], --number-lines[=SEPARADOR[DÍGITS]]\n" #~ " Numera les línies emprant DÍGITS dígits i un " #~ "SEPARADOR\n" #~ " a continuació, comptant per defecte des de la 1a " #~ "línia\n" #~ " del text (per defecte SEPARADOR és la tabulació i\n" #~ " DÍGITS és 5).\n" #~ " -N NÚMERO, --first-line-number=NÚMERO\n" #~ " Comença la numeració amb NÚMERO a la 1a línia de " #~ "la\n" #~ " primera pàgina escrita (vegeu «+PRIM_PÀG»).\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARGE, --indent=MARGE\n" #~ " Desplaça cada línia MARGE espais, sense afectar " #~ "les\n" #~ " opcions «-w» o «-W» en ús; el MARGE s’afegeix a\n" #~ " AMPLADA_PÀG (per defecte MARGE és 0).\n" #~ " -r, --no-file-warnings\n" #~ " No avisa quan un fitxer no es pot obrir.\n" # Aaalaaa, ni punts ni res! ivb #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[CARÀCTER], --separator[=CARÀCTER]\n" #~ " Separa les columnes amb un únic CARÀCTER; aquest " #~ "és per\n" #~ " defecte una tabulació si no s’empra «-w» i cap " #~ "caràcter\n" #~ " quan s’empra «-w». «-s[CARÀCTER]» inhabilita el\n" #~ " truncament de línia de totes les opcions de " #~ "columna\n" #~ " («-COLUMNES», «-a -COLUMNES» i «-m») tret que\n" #~ " especifiqueu «-w».\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SCADENA, --sep-string[=CADENA]\n" # Eeeeinnn?? Beneït info! ivb #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " Separa les columnes amb aquesta CADENA; si no " #~ "s’empra\n" #~ " «-S» i sí s’empra «-J» el separador per defecte és " #~ "la\n" #~ " tabulació, altrament és l’espai (equival a «-S\" " #~ "\"»).\n" #~ " Aquesta opció no té efecte sobre les opcions de\n" #~ " columna.\n" #~ " -t, --omit-header Omet les capçaleres i cues de pàgina.\n" # FIXME: suggest using `just take a look at info, man!' for some option descriptions. ivb # revisar l'opció -w # Hau! ivb #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination Omet les capçaleres i cues de pàgina, i " #~ "elimina\n" #~ " tota paginació amb salts de pàgina que es trobe " #~ "als\n" #~ " fitxers de l’entrada.\n" #~ " -v, --show-nonprinting\n" #~ " Empra la notació de seqüència d’escapada en octal " #~ "amb\n" #~ " barra invertida.\n" #~ " -w AMPLADA_PÀG, --width=AMPLADA_PÀG\n" #~ " Defineix l’amplada de pàgina a AMPLADA_PÀG " #~ "caràcters\n" #~ " només per a la paginació per columnes (per " #~ "defecte\n" #~ " AMPLADA_PÀG és 72); l’opció «-s[CARÀCTER]» " #~ "inhabilita\n" #~ " l’amplada de pàgina per defecte.\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W AMPLADA_PÀG, --page-width=AMPLADA_PÀG\n" #~ " Defineix l’amplada de pàgina a AMPLADA_PÀG " #~ "caràcters\n" #~ " sempre, truncant les línies excepte si useu " #~ "l’opció\n" #~ " «-J»; no interfereix amb les opcions «-S» o «-s».\n" # Acaba pr i encara estic viu! Vaig a prendre una aspirina... ivb #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "L’opció «-t» és implícita quan LLARG_PÀG és menor o igual que 10. Sense\n" #~ "FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Forma d’ús: %s [VARIABLE]…\n" #~ " o bé: %s OPCIÓ\n" #~ "Si no s’especifica cap VARIABLE d’entorn, les mostra totes.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "avís: %s: s’han descartat els caràcters que segueixen la constant caràcter" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s FORMAT [ARGUMENT]…\n" #~ " o bé: %s OPCIÓ\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Mostra cada ARGUMENT seguint el FORMAT indicat, o s’executa d’acord amb\n" #~ "l’OPCIÓ indicada.\n" #~ "\n" # El més llarg és «UHHHHHHHH». ivb #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "FORMAT controla l’eixida com fa printf() en C. S’interpreten les " #~ "seqüències:\n" #~ "\n" #~ " \\\" Cometes dobles.\n" #~ " \\NNN Caràcter amb valor octal NNN (de 1 a 3 dígits).\n" #~ " \\\\ Barra invertida.\n" # El més llarg és «UHHHHHHHH». ivb #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a Alarma (BEL).\n" #~ " \\b Retrocés.\n" #~ " \\c No produeix més eixida.\n" #~ " \\f Salt de pàgina.\n" # El més llarg és «UHHHHHHHH». ivb #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n Nova línia.\n" #~ " \\r Retorn de carro.\n" #~ " \\t Tabulació horitzontal.\n" #~ " \\v Tabulació vertical.\n" # El més llarg és «UHHHHHHHH». ivb #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH Octet amb valor hexadecimal HH (d’1 a 2 dígits).\n" #~ " \\uHHHH Caràcter Unicode (ISO/IEC 10646) amb valor hexadecimal " #~ "HHHH\n" #~ " (4 dígits).\n" #~ " \\UHHHHHHHH Caràcter Unicode amb valor hexadecimal HHHHHHHH (8 " #~ "dígits).\n" # El més llarg és «UHHHHHHHH». ivb #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% Un sol «%».\n" #~ " %b L’ARGUMENT com a una cadena on s’interpreten les " #~ "seqüències\n" #~ " d’escapada amb barra invertida; tanmateix, les " #~ "seqüències\n" #~ " d’escapada octals hi tenen la forma «\\0» o «\\0NNN».\n" #~ "\n" #~ "i totes les especificacions de format C que acaben en un dels caràcters\n" #~ "«diouxXfeEgGcs», on cada ARGUMENT serà convertit al tipus adequat. " #~ "S’admeten\n" #~ "les amplàries variables.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: cal un valor numèric" #~ msgid "%s: value not completely converted" #~ msgstr "%s: no s’ha convertit completament el valor" #~ msgid "missing hexadecimal number in escape" #~ msgstr "manca un número hexadecimal a la seqüència d’escapada" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "el nom de caràcter universal «\\%c%0*x» no és vàlid" #~ msgid "invalid field width: %s" #~ msgstr "l’amplària de camp no és vàlida: %s" #~ msgid "invalid precision: %s" #~ msgstr "la precisió no és vàlida: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: l’especifiació de conversió no és vàlida" # Usa quote(). ivb #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "avís: es descarten els arguments sobrants, començant per %s" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" # La primera és un missatge d'error. ivb # Usa quote() en la segona. ivb #~ msgid "%s (for regexp %s)" #~ msgstr "%s (a l’expressió regular %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… [ENTRADA]… (sense «-G»)\n" #~ " o bé: %s -G [OPCIÓ]… [ENTRADA [SORTIDA]]\n" # Escriu les paraules del text seguides, començant cada colta per una. ivb #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Escriu un índex permutat, incloent el context, amb les paraules dels " #~ "fitxers\n" #~ "que formen l’entrada.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference Escriu les referències generades " #~ "automàticament.\n" #~ " -G, --traditional Es comporta com el «ptx» de System V.\n" #~ " -F, --flag-truncation=CADENA\n" #~ " Empra la CADENA per a senyalar els truncaments de\n" #~ " línia.\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=CADENA\n" #~ " Nom del macro a emprar en lloc de «xx».\n" #~ " -O, --format=roff Genera la sortida com a directives de «roff».\n" #~ " -R, --right-side-refs Posa les referències a la dreta, i «-w» no les " #~ "té\n" #~ " en compte.\n" #~ " -S, --sentence-regexp=EXPREG\n" #~ " Identifica els finals de línia o de frase fent " #~ "servir\n" #~ " l’expressió regular indicada.\n" #~ " -T, --format=tex Genera la sortida com a directives de TeX.\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=EXPREG\n" #~ " Identifica les paraules clau fent servir " #~ "l’expressió\n" #~ " regular idicada.\n" #~ " -b, --break-file=FITXER\n" #~ " El FITXER conté els caràcters separadors de les\n" #~ " paraules clau.\n" #~ " -f, --ignore-case Passa a majúscules per a ordenar.\n" #~ " -g, --gap-size=NÚMERO Mida (en columnes) de la separació entre els " #~ "camps\n" #~ " de la sortida.\n" #~ " -i, --ignore-file=FITXER\n" #~ " El FITXER conté una llista de paraules que mai " #~ "seran\n" #~ " preses com a paraules clau.\n" #~ " -o, --only-file=FITXER\n" #~ " El FITXER conté una llista de les úniques paraules " #~ "que\n" #~ " seran preses com a paraules clau.\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references Pren el primer camp de cada línia com a una " #~ "referència.\n" #~ " -t, --typeset-mode (No es troba implementada.)\n" #~ " -w, --width=NÚMERO Amplada (en columnes) de la sortida (excloent‐ne " #~ "la\n" #~ " referència).\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Sense cap FITXER o si FITXER és «-», llegeix l’entrada estàndard. Per " #~ "defecte\n" #~ "s’empra «-F /».\n" # Usa quote(). ivb #~ msgid "invalid gap width: %s" #~ msgstr "la mida de la separació no és vàlida: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Mostra el nom de fitxer complet del directori de treball actual.\n" #~ "\n" # Usa quote(). ivb #~ msgid "failed to chdir to %s" #~ msgstr "no s’ha pogut canviar al directori %s" # Usa quote(). ivb #~ msgid "failed to stat %s" #~ msgstr "ha fallat stat() sobre %s" # Usa quote(). ivb #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "" #~ "no s’ha pogut trobar una entrada de directori en %s amb un node índex " #~ "coincident" #~ msgid "ignoring non-option arguments" #~ msgstr "es descarten els arguments no‐opció" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Foma d’ús: %s [OPCIÓ]… FITXER\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Mostra el valor d’un enllaç simbòlic a l’eixida estàndard.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize Prova de trobar el nom canònic seguint " #~ "recursivament\n" #~ " cada enllaç simbòlic de cada component del camí\n" #~ " indicat; cal que existesquen tots els components " #~ "del\n" #~ " camí excepte el darrer.\n" #~ " -e, --canonicalize-existing\n" #~ " Prova de trobar el nom canònic seguint " #~ "recursivament\n" #~ " cada enllaç simbòlic de cada component del camí\n" #~ " indicat; cal que existesquen tots els components " #~ "del\n" #~ " camí.\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing\n" #~ " Prova de trobar el nom canònic seguint " #~ "recursivament\n" #~ " cada enllaç simbòlic de cada component del camí\n" #~ " indicat; no cal que existesquen els components " #~ "del\n" #~ " camí.\n" #~ " -n, --no-newline No escriu un caràcter de nova línia al final.\n" #~ " -q, --quiet,\n" #~ " -s, --silent No mostra la majoria de missatges d’error.\n" #~ " -v, --verbose Mostra els missatges d’error.\n" # Usa quote(). ivb #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAL: no s’ha pogut tancar el directori %s" # Usa quote(). ivb #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAL: no s’ha pogut obrir «..» des de %s" # Usa quote(). ivb # Es refereix a un directori, masculí. ivb #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "FATAL: no es pot assegurar que %s (on es torna via «..») siga segur" # Usa quote(). ivb #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATAL: el directori %s ha canviat de dispositiu o node‐i" # Usa quote(). ivb #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAL: no s’ha pogut entrar al directori %s" # Usa quote(). ivb #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "FATAL: el directori %s (on s’acaba d’entrar) ha canviat de dispositiu o " #~ "node‐i" # Usa quote(). ivb #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "avís: Estructura de directoris circular.\n" #~ "\tAçò indica quasi amb certesa que el sistema de fitxers és corrupte.\n" #~ "\tAVISEU L’ADMINISTRADOR DEL SISTEMA.\n" #~ "\tEl següent directori és part del cicle:\n" #~ "\t %s\n" # Usa quote(9. ivb #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: voleu descendir al directori protegit contra escriptura %s? " # Usa quote(). ivb #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: voleu descendir al directori %s? " # FIXME: Language-dependent. ivb # Usa quote() en els 2 args. ivb #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: voleu eliminar el %s protegit contra escriptura %s? " # FIXME: Language-dependent. ivb # Usa quote() en els 2 args. ivb #~ msgid "%s: remove %s %s? " #~ msgstr "%s: voleu eliminar el %s %s? " # Els 2 usen quote(). ivb # Missatge informatiu. ivb #~ msgid "removed directory: %s\n" #~ msgstr "s’ha eliminat el directori: %s\n" # Usa quote(). ivb #~ msgid "failed to close directory %s" #~ msgstr "no s’ha pogut tancar el directori %s" # Usa quote(). ivb #~ msgid "skipping %s, since it's on a different device" #~ msgstr "es salta %s perquè es troba en un altre dispositiu" # Els 2 usen quote(). ivb #~ msgid "cannot remove directory %s" #~ msgstr "no s’ha pogut eliminar el directori %s" # Usa quote(). ivb #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAL: no s’ha pogut tornar a «..» des de %s" # Usa quote(). ivb #~ msgid "cannot remove root directory %s" #~ msgstr "no s’ha pogut eliminar el directori arrel %s" # Usa quote(). ivb # No sé si és molt bona traducció, però ``rm`` elimina noms al cap i a la fi. ivb #~ msgid "cannot remove relative-named %s" #~ msgstr "no s’ha pogut eliminar el nom relatiu %s" #~ msgid "cannot restore current working directory" #~ msgstr "no s’ha pogut recuperar el directori de treball" # La tercera usa quote(). ivb #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Proveu amb «%s ./%s» per a eliminar el fitxer %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… FITXER…\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Elimina (deslliga) cada FITXER.\n" #~ "\n" #~ " -f, --force Descarta els fitxers inexistents, i mai no " #~ "pregunta.\n" #~ " -i Pregunta abans de cada eliminació.\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I Pregunta una volta abans d’eliminar més de tres\n" #~ " fitxers, en eliminar recursivament. No tan " #~ "molesta com\n" #~ " «-i», continua protegint contra la majoria dels " #~ "errors.\n" #~ " --interactive[=QUAN]\n" #~ " Pregunta d’acord amb el QUAN, que pot ser " #~ "«never»,\n" #~ " «once» o «always» (mai, una volta com a «-I» o " #~ "sempre\n" #~ " com a «-i»). Si no s’indica, pregunta sempre.\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system En eliminar una jerarquia recursivament, evita " #~ "els\n" #~ " directoris que estan en un sistema de fitxers " #~ "diferent\n" #~ " al de l’argument corresponent de la línia " #~ "d’ordres.\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root\n" #~ " No tracta «/» de forma especial.\n" #~ " --preserve-root No elimina «/» (per defecte).\n" #~ " -r, -R, --recursive Elimina recursivament els directoris i llurs\n" #~ " continguts.\n" #~ " -v, --verbose Explica què s’està fent.\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Per defecte, «rm» no elimina els directoris. Useu l’opció «--" #~ "recursive» («-r»\n" #~ "o «-R») per a eliminar també cadascun dels directoris llistats, juntament " #~ "amb\n" #~ "el seu contingut.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Per a eliminar un fitxer amb un nom que comence per «-», per exemple «-" #~ "mec»,\n" #~ "useu una d’aquestes ordres:\n" #~ " %s -- -mec\n" #~ "\n" #~ " %s ./-mec\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Tingueu en compte que si useu «rm» per a eliminar un fitxer, normalment " #~ "és\n" #~ "possible recuperar‐ne els continguts. Si voleu estar més segurs de que " #~ "els\n" #~ "continguts esdevinguen realment irrecuperables, considereu emprar " #~ "«shred».\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: voleu eliminar tots els arguments recursivament? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: voleu eliminar tots els arguments? " # Cap dels 2 usa quote(). ivb # Missatge informatiu. ivb #~ msgid "removing directory, %s" #~ msgstr "s’està eliminant el directori «%s»" # Usa quote(). ivb #~ msgid "failed to remove directory %s" #~ msgstr "no s’ha pogut eliminar el directori %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… DIRECTORI…\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Elimina cada DIRECTORI, si es troba buit.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " No té en compte els errors originats només perquè " #~ "un\n" #~ " directori no es troba buit.\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents Elimina el DIRECTORI i els seus ascendents. Per\n" #~ " exemple, l’ordre «rmdir -p a/b/c» és similar a " #~ "l’ordre\n" #~ " «rmdir a/b/c a/b a».\n" #~ " -v, --verbose Mostra un missatge per cada directori processat.\n" # Usa quote(). ivb #~ msgid "failed to remove %s" #~ msgstr "no s’ha pogut eliminar %s" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Forma d’ús: %s CONTEXT ORDRE [ARG…]\n" #~ " o bé: %s [-c] [-u USUARI] [-r ROL] [-t TIPUS] [-l RANG] ORDRE " #~ "[ARG…]\n" # (process transition) context ivb #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Executa una ORDRE sota un context de seguretat diferent. Si no s’indica " #~ "un\n" #~ "CONTEXT ni una ORDRE, mostra el context de seguretat actual.\n" #~ "\n" #~ " CONTEXT El nou context de seguritat complet.\n" #~ " -c, --compute Calcula el context de transició entre processos " #~ "abans\n" #~ " de modificar‐lo.\n" #~ " -t, --type=TIPUS Nou TIPUS (per al mateix rol que el pare).\n" #~ " -u, --user=USUARI Nova identitat d’USUARI.\n" #~ " -r, --role=ROL Nou ROL.\n" #~ " -l, --range=RANG Nou RANG de nivells.\n" #~ msgid "multiple roles" #~ msgstr "s’han especificat múltiples rols" #~ msgid "multiple types" #~ msgstr "s’han especificat múltiples tipus" #~ msgid "multiple users" #~ msgstr "s’han especificat múltiples usuaris" #~ msgid "multiple levelranges" #~ msgstr "s’han especificat múltiples rangs de nivells" #~ msgid "failed to get current context" #~ msgstr "no s’ha pogut obtenir el context actual" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "" #~ "cal que empreu les opcions «-c», «-t», «-u», «-l», «-r» o que " #~ "especifiqueu un context" #~ msgid "no command specified" #~ msgstr "no s’ha especificat cap ordre" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "només podeu executar «runcon» sota un nucli amb SELinux" #~ msgid "failed to compute a new context" #~ msgstr "no s’ha pogut calcular un nou context" # No usa quote(). ivb #~ msgid "failed to set new user %s" #~ msgstr "no s’ha pogut establir el nou usuari «%s»" # No usa quote(). ivb #~ msgid "failed to set new type %s" #~ msgstr "no s’ha pogut establir el nou tipus «%s»" # No usa quote(). ivb #~ msgid "failed to set new range %s" #~ msgstr "no s’ha pogut establir el nou rang «%s»" # No usa quote(). ivb #~ msgid "failed to set new role %s" #~ msgstr "no s’ha pogut establir el nou rol «%s»" # No usa quote(). ivb #~ msgid "unable to set security context %s" #~ msgstr "no s’ha pogut establir el context de seguretat «%s»" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… DARRER\n" #~ " o bé: %s [OPCIÓ]… PRIMER DARRER\n" #~ " o bé: %s [OPCIÓ]… PRIMER INCREMENT DARRER\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Mostra els números del PRIMER al DARRER, amb pas INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT Empra el FORMAT indicat de coma flotat d’estil\n" #~ " printf().\n" #~ " -s, --separator=CADENA Empra aquesta CADENA per a separar els " #~ "números\n" #~ " (per defecte «\\n»).\n" #~ " -w, --equal-width Iguala l’amplària reomplint amb zeros al davant.\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Si s’omet PRIMER o INCREMENT, es pren 1 per defecte. És a dir, un " #~ "INCREMENT\n" #~ "omés pren un valor per defecte d’1, fins i tot quan DARRER és menor que\n" #~ "PRIMER. PRIMER, INCREMENT i DARRER s’interpreten com a valors reals en " #~ "coma\n" #~ "flotant. INCREMENT sol ser positiu si PRIMER és menor que DARRER, i sol " #~ "ser\n" #~ "negatiu si PRIMER és major que DARRER.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "El FORMAT ha de ser adequat per a imprimir un argument de tipus «double»; " #~ "per\n" #~ "defecte val «%.PRECISIÓf» si el PRIMER, INCREMENT i DARRER valors són " #~ "tots\n" #~ "números decimals de coma fixa amb una PRECISIÓ màxima, «%g» en cas " #~ "contrari.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "l’argument de coma flotant no és vàlid: «%s»" # Usa quote(). ivb #~ msgid "no %% directive in format string %s" #~ msgstr "la cadena de format %s no té una directiva «%%»" # Usa quote(). ivb #~ msgid "too many %% directives in format string %s" #~ msgstr "la cadena de format %s té massa directives «%%»" # Usa quote(). ivb #~ msgid "invalid format string: %s" #~ msgstr "la cadena de format no és vàlida: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "no s’ha d’indicar una cadena de format quan s’empren amplàries igualades" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s USUARI ORDRE [ARGUMENT]…\n" #~ " o bé: %s OPCIÓ\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Abandona els grups suplementaris, assumeix els identificadors d’usuari i " #~ "grup\n" #~ "de l’USUARI indicat (per número o per nom), i executa l’ORDRE amb els\n" #~ "ARGUMENTs especificats. Ix amb codi 111 si no pot assumir els " #~ "identificadors\n" #~ "d’usuari o grup requerits. En cas contrari ix amb el codi d’eixida de\n" #~ "l’ORDRE. Aquest programa només és d’utilitat quan l’executa root (que " #~ "té\n" #~ "identificador d’usuari 0).\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID,[GID1,GID2…] Estableix també el grup primari al GID numèric " #~ "i, si\n" #~ " s’indiquen, els grups suplementaris a GID1, GID2…\n" # Usa quote(). ivb #~ msgid "unknown user-ID: %s" #~ msgstr "l’identificador d’usuari no és conegut: %s" # Usa quote(). ivb #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "" #~ "per a emprar l’identificador d’usuari %s també heu d’emprar l’opció «-g»" #~ msgid "failed to set supplemental group(s)" #~ msgstr "no s’han pogut establir els grups suplementaris" #~ msgid "cannot set group-ID to %lu" #~ msgstr "no s’ha pogut establir l’identificador de grup a %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "no s’ha pogut establir l’identificador d’usuari %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Forma d’ús: %s [OPCIONS] FITXER […]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Sobreescriu cada FITER repetidament, per tal de fer més difícil recuperar " #~ "les\n" #~ "dades, fins i tot per sondejos de maquinari molt cars.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force Canvia, si cal, els permisos per a permetre\n" #~ " l’escriptura.\n" #~ " -n, --iterations=N Sobreescriu N voltes en lloc del nombre per " #~ "defecte\n" #~ " (%d).\n" #~ " --random-source=FITXER\n" #~ " Obté octets aleatoris del FITXER (per defecte\n" #~ " «/dev/urandom»).\n" #~ " -s, --size=N Sobreescriu aquest nombre d’octets (s’accepten " #~ "sufixos\n" #~ " com «K», «M» i «G»).\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove Trunca i elimina el fitxer després de " #~ "sobreescriure’l.\n" #~ " -v, --verbose Mostra com progressa el procés.\n" #~ " -x, --exact No arrodoneix les mides de fitxer al següent bloc\n" #~ " complet; aquest és el comportament per defecte per " #~ "als\n" #~ " fitxers no ordinaris.\n" #~ " -z, --zero Afegeix una passada final de sobreescriptura amb " #~ "zeros\n" #~ " per amagar la destrucció de les dades.\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Si el FITXER és «-», sobreescriu l’eixida estàndard.\n" #~ "\n" #~ "Si s’especifica «--remove» (-u) s’elimina cada FITXER. Per defecte no\n" #~ "s’eliminen aquests perquè és comú operar sobre fitxers dispositiu com\n" #~ "«/dev/hda», i normalment aquests fitxers no s’haurien d’eliminar. Quan\n" #~ "s’opera sobre fitxers ordinaris la majoria de la gent empra l’opció\n" #~ "«--remove».\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "COMPTE: Teniu en compte que «shred» confia en una assumpció molt " #~ "important:\n" #~ "que el sistema de fitxers sobreescriu les dades al mateix lloc. Aquesta " #~ "és la\n" #~ "foma tradicional de fer les coses, però molts sistemes de fitxers moderns " #~ "no\n" #~ "satisfan aquesta assumpció. Aquests són exemples de sistemes de fitxers " #~ "sobre\n" #~ "els quals «shred» no és efectiu, o no garanteix l’efectivitat a tots els " #~ "modes\n" #~ "del sistema de fitxers:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* Sistemes de fitxers transaccionals o que empren diari, com els que es " #~ "troben\n" #~ " en AIX i Solaris (i JFS, ReiserFS, XFS, Ext3, etc.).\n" #~ "\n" #~ "* Sistemes de fitxers que escriuen dades redundants i continuen fins i " #~ "tot en\n" #~ " fallar algunes escriptures, com els sistemes de fitxers basats en " #~ "RAID.\n" #~ "\n" #~ "* Sistemes de fitxers que creen instantànies, com el servidor NFS de " #~ "Network\n" #~ " Appliances.\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* Sistemes de fitxers que empren ubicacions temporals com a memòria cau\n" #~ " (cache), com els clients d’NFS versió 3.\n" #~ "\n" #~ "* Sistemes de fitxers amb compressió.\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "La nota anterior també és aplicable (i per tant «shred» hi té una " #~ "efectivitat\n" #~ "limitada) al cas dels sistemes de fitxers Ext3 muntats en mode " #~ "«data=journal»,\n" #~ "que no només empra el diari per a les metadades, sinò també per a les " #~ "dades.\n" #~ "Als modes «data=ordered» (mode per defecte) i «data=writeback», «shred»\n" #~ "funciona normalment. Podeu canviar el mode de diari d’un sistema de " #~ "fitxers\n" #~ "Ext3 afegint l’opció «data=MODE» a les seues opcions de muntatge al " #~ "fitxer\n" #~ "«/etc/fstab», com s’indica al manual de «mount» (executeu «man mount»).\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "A més a més, les còpies de seguretat i les rèpliques remotes dels " #~ "sistemes de\n" #~ "fitxers poden contenir còpies del fitxer que no poden ser eliminades, i " #~ "que\n" #~ "podrien permetre recuperar més endavant el fitxer destruït.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: ha fallat fdatasync()" #~ msgid "%s: fsync failed" #~ msgstr "%s: ha fallat fsync()" #~ msgid "%s: cannot rewind" #~ msgstr "%s: no s’ha pogut rebobinar" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: passada %lu/%lu (%s)…" #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: error en escriure al desplaçament %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: ha fallat lseek()" #~ msgid "%s: file too large" #~ msgstr "%s: el fitxer és massa gran" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: passada %lu/%lu (%s)…%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: passada %lu/%lu (%s)…%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: ha fallat fstat()" #~ msgid "%s: invalid file type" #~ msgstr "%s: el tipus del fitxer no és vàlid" #~ msgid "%s: file has negative size" #~ msgstr "%s: el fitxer té una mida negativa" #~ msgid "%s: error truncating" #~ msgstr "%s: error en truncar" #~ msgid "%s: fcntl failed" #~ msgstr "%s: ha fallat fcntl()" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "" #~ "%s: no es pot destruir el fitxer d’un descriptor obert només per afegir" # Missatge informatiu, es refereix al nom, no a les dades. ivb #~ msgid "%s: removing" #~ msgstr "%s: inici de l’eliminació" # No usa quote(). ivb #~ msgid "%s: renamed to %s" #~ msgstr "%s: s’ha reanomenat a «%s»" #~ msgid "%s: failed to remove" #~ msgstr "%s: no s’ha pogut eliminar" #~ msgid "%s: removed" #~ msgstr "%s: ha estat eliminat" #~ msgid "%s: failed to close" #~ msgstr "%s: no s’ha pogut tancar" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: no s’ha pogut obrir per a escriure" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: el nombre de passades no és vàlid" #~ msgid "multiple random sources specified" #~ msgstr "s’han especificat múltiples fonts d’aleatorietat" #~ msgid "%s: invalid file size" #~ msgstr "%s: la mida del fitxer no és vàlida" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ]… [FITXER]\n" #~ " o bé: %s -e [OPCIÓ]… [ARGUMENT]…\n" #~ " o bé: %s -i INF-SUP [OPCIÓ]…\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Escriu una permutació aleatòria de les línies d’entrada a l’eixida " #~ "estàndard.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo Tracta cada argument com a una línia d’entrada.\n" #~ " -i, --input-range=INF-SUP\n" #~ " Tracta cada número des d’INF fins a SUP com a una " #~ "línia\n" #~ " d’entrada.\n" #~ " -n, --head-lines=LÍNIES\n" #~ " Escriu com a molt tantes LÍNIES com s’indica.\n" #~ " -o, --output=FITXER Escriu el resultat al FITXER en lloc de " #~ "l’eixida\n" #~ " estàndard.\n" #~ " --random-source=FITXER\n" #~ " Obté octets aleatoris del FITXER («/dev/urandom» " #~ "per\n" #~ " defecte).\n" #~ " -z, --zero-terminated Escriu un octet 0 en lloc de cada caràcter de " #~ "nova\n" #~ " línia.\n" #~ msgid "multiple -i options specified" #~ msgstr "s’han especificat múltiples opcions «-i»" #~ msgid "invalid input range %s" #~ msgstr "el rang d’entrada no és vàlid: %s" #~ msgid "invalid line count %s" #~ msgstr "el nombre de línies no és vàlid: %s" #~ msgid "multiple output files specified" #~ msgstr "s’han especificat múltiples fitxers d’eixida" # Usa quote(). ivb #~ msgid "extra operand %s\n" #~ msgstr "sobra l’operand %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Forma d’ús: %s NÚMERO[SUFIX]…\n" #~ " o bé: %s OPCIÓ\n" #~ "Fa una pausa per NÚMERO segons. SUFIX pot ser «s» per a segons (per " #~ "defecte),\n" #~ "«m» per a minuts, «h» per a hores o «d» per a dies. Al contrari que la\n" #~ "majoria de les implementacions, que requereixen que NÚMERO siga un enter, " #~ "ací\n" #~ "NÚMERO pot ser un número real en coma flotant qualsevol. Si s’indiquen\n" #~ "diversos arguments, la pausa dura el temps resultant de sumar‐ne els " #~ "valors.\n" #~ "\n" # Usa quote(). ivb #~ msgid "invalid time interval %s" #~ msgstr "l’interval de temps %s no és vàlid" #~ msgid "cannot read realtime clock" #~ msgstr "no s’ha pogut llegir el rellotge de temps real" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Escriu la concatenació ordenada de tots els FITXERs a la sortida " #~ "estàndard.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Opcions d’ordenació:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks\n" #~ " No té en compte els espais en blanc inicials.\n" #~ " -d, --dictionary-order\n" #~ " Només té en compte els espais en blanc i els " #~ "caràcters\n" #~ " alfanumèrics.\n" #~ " -f, --ignore-case Converteix a majúscules.\n" # L’ordenació per mesos no és sensible al locale. ivb #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort\n" #~ " Ordena segons el valor numèric general.\n" #~ " -i, --ignore-nonprinting\n" #~ " Només té en compte els caràcters imprimibles.\n" #~ " -M, --month-sort Ordena per mesos en anglés:\n" #~ " (desconegut) < JAN < … < DEC.\n" #~ " -n, --numeric-sort Ordena segons el valor numèric de la cadena.\n" #~ " -R, --random-sort Ordena de forma aleatòria.\n" #~ " --random-source=FITXER\n" #~ " Obté octets aleatoris del FITXER («/dev/urandom» " #~ "per\n" #~ " defecte).\n" #~ " --sort=PARAULA Ordena d’acord amb la PARAULA (equival a l’opció\n" #~ " indicada): general-numeric (-g), month (-M), " #~ "numeric\n" #~ " (-n), random (-R).\n" #~ " -r, --reverse Inverteix el resultat de l’ordenació.\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Altres opcions:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first\n" #~ " Comprova si l’entrada està ordenada; no ordena.\n" #~ " -C, --check=quiet, --check=silent\n" #~ " Com «-c», però no informa de la primera línia que " #~ "es\n" #~ " troba fora d’ordre.\n" #~ " --compress-program=PROGRAMA\n" #~ " Comprimeix els fitxers temporals amb el PROGRAMA,\n" #~ " els descomprimeix amb «PROGRAMA -d».\n" #~ " -k, --key=POS1[,POS2] Defineix com a clau d’ordenació allò que es " #~ "troba\n" #~ " entre POS1 i POS2 (començant per 1).\n" #~ " -m, --merge Mescla fitxers prèviament ordenats; no ordena.\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=FITXER Escriu el resultat al FITXER i no a l’eixida\n" #~ " estàndard.\n" #~ " -s, --stable Dóna per acabada cada ordenació sense passar per " #~ "la\n" #~ " comparació emprada com a darrer recurs.\n" #~ " -S, --buffer-size=MIDA\n" #~ " Defineix la MIDA de la memòria intermèdia " #~ "principal.\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP\n" #~ " Empra SEP com a separador de camp, en lloc de la\n" #~ " transició de caràcter no blanc a blanc.\n" #~ " -T, --temporary-directory=DIR\n" #~ " Empra DIR com a directori temporal, en lloc de " #~ "$TMPDIR\n" #~ " o «%s»; se’n poden indicar més repetint l’opció.\n" #~ " -u, --unique Amb «-c», comprova que l’ordenació és estricta; en " #~ "cas\n" #~ " contrari només escriu la primera d’aquelles " #~ "entrades\n" #~ " que resulten iguals.\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated Escriu un octet 0 en lloc de cada caràcter de " #~ "nova\n" #~ " línia.\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS és F[.C][OPCS], on F és el número del camp i C la posició del " #~ "caràcter al\n" #~ "camp, ambdues comptant des d’1. Si no s’indica «-t» ni «-b», els " #~ "caràcters\n" #~ "d’un camp es compten des de l’inici de l’espai en blanc que el " #~ "precedeix.\n" #~ "OPCS és una més opcions d’ordenació, d’una única lletra, que tenen " #~ "preferència\n" #~ "sobre les opcions globals d’ordenació per a aquesta clau. Si no\n" #~ "s’especifica cap clau, s’empra la línia sencera com a clau.\n" #~ "\n" #~ "La MIDA pot anar seguida dels següent sufixs multiplicadors:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% de memòria, b 1, K 1024 (per defecte), i així per a M, G, T, P, E, " #~ "Z, Y.\n" #~ "\n" #~ "Sense FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #~ "\n" #~ "*** AVÍS ***\n" #~ "El locale especificat a l’entorn afecta l’ordenació. Establiu LC_ALL a " #~ "«C»\n" #~ "per a obtenir l’ordenació tradicional que empra el valor numèric dels\n" #~ "caràcters.\n" # No usa quote() (afortunadament). ivb # Condició d'error. ivb #~ msgid "waiting for %s [-d]" #~ msgstr "en esperar la finalització de «%s [-d]»" # No usa quote() (afortunadament). ivb #~ msgid "%s [-d] terminated abnormally" #~ msgstr "«%s [-d]» ha finalitzat de forma anormal" # Va seguit del nom del fitxer. ivb #~ msgid "cannot create temporary file" #~ msgstr "no s’ha pogut crear el fitxer temporal" #~ msgid "open failed" #~ msgstr "no s’ha pogut obrir" #~ msgid "fflush failed" #~ msgstr "ha fallat fflush()" #~ msgid "close failed" #~ msgstr "no s’ha pogut tancar" #~ msgid "dup2 failed" #~ msgstr "ha fallat dup2()" # No usa quote(). ivb #~ msgid "couldn't execute %s" #~ msgstr "no s’ha pogut executar «%s»" # Va seguit del nom del fitxer. ivb #~ msgid "couldn't create temporary file" #~ msgstr "no s’ha pogut crear el fitxer temporal" # Va seguit del nom del fitxer. ivb #~ msgid "couldn't open temporary file" #~ msgstr "no s’ha pogut obrir el fitxer temporal" # No usa quote(). ivb #~ msgid "couldn't execute %s -d" #~ msgstr "no s’ha pogut executar «%s -d»" #~ msgid "write failed" #~ msgstr "no s’ha pogut escriure" # No usa quote(). ivb #~ msgid "warning: cannot remove: %s" #~ msgstr "avís: no s’ha pogut eliminar: %s" #~ msgid "stat failed" #~ msgstr "ha fallat stat()" #~ msgid "read failed" #~ msgstr "no s’ha pogut llegir" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: fora d’ordre: " #~ msgid "standard error" #~ msgstr "eixida estàndard d’errors" # Usa quote(). ivb #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: l’especifiació de camp no és vàlida: %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "les opcions «%s» no són compatibles" # Usa quote(). ivb #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: el comptador a l’inici de %s no és vàlid" #~ msgid "invalid number after `-'" #~ msgstr "el número després de «-» no és vàlid" #~ msgid "invalid number after `.'" #~ msgstr "el número després de «.» no és vàlid" #~ msgid "stray character in field spec" #~ msgstr "l’especificació de camp conté un caràcter extraviat" #~ msgid "multiple compress programs specified" #~ msgstr "s’han especificat múltiples programes de compressió" #~ msgid "invalid number at field start" #~ msgstr "el número a l’inici del camp no és vàlid" #~ msgid "field number is zero" #~ msgstr "el número de camp és zero" #~ msgid "character offset is zero" #~ msgstr "el desplaçament de caràcter és zero" #~ msgid "invalid number after `,'" #~ msgstr "el número després de «,» no és vàlid" # Usa quote(). ivb #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "no es permet l’operand extra %s en emprar l’opció «-%c»" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ] [ENTRADA [PREFIX]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escriu fragments de mida fixa de l’ENTRADA en fitxers «PREFIXaa», " #~ "«PREFIXab»…\n" #~ "La mida per defecte és de 1000 línies, i el PREFIX per defecte és «x». " #~ "Sense\n" #~ "ENTRADA, o quan ENTRADA és «-», llegeix l’entrada estàndard.\n" #~ "\n" # corregir l'opció -C # Ein? ivb #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N Empra sufixs de longitud N (per defecte %d).\n" #~ " -b, --bytes=MIDA Escriu MIDA octets per fitxer.\n" #~ " -C, --line-bytes=MIDA Escriu com a molt MIDA octets de línies " #~ "senceres\n" #~ " per cada fitxer d’eixida.\n" #~ " -d, --numeric-suffixes\n" #~ " Empra sufixs numèrics en lloc d’alfabètics.\n" #~ " -l, --lines=NOMBRE Escriu aquest NOMBRE de línies per fitxer.\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose Mostra un missatge abans d’obrir cada fitxer de\n" #~ " sortida.\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "MIDA pot portar un sufix multiplicador: b 512, kB 1000, K 1024, MB " #~ "1000*1000,\n" #~ "M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, " #~ "Z, Y.\n" # Usa quote(). ivb # Missatge informatiu. ivb #~ msgid "creating file %s\n" #~ msgstr "s’està creant el fitxer %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "només es pot partir el fitxer d’una manera" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: la longitud del sufix no és vàlida" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: el nombre d’octets no és vàlid" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: el nombre de línies no és vàlid" #~ msgid "line count option -%s%c... is too large" #~ msgstr "l’opció de nombre de línies «-%s%c…» és massa gran" #~ msgid "invalid number of lines: 0" #~ msgstr "el nombre de línies no és vàlid: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "avís: la seqüència d’escapada «\\%c» no és reconeguda" #~ msgid "%s: invalid directive" #~ msgstr "%s: la directiva no és vàlida" #~ msgid "warning: backslash at end of format" #~ msgstr "avís: hi ha una barra invertida al final de la línia" # Usa quote(). ivb #~ msgid "cannot read file system information for %s" #~ msgstr "no s’ha pogut llegir la informació de sistema de fitxers de %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ] FITXER…\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Mostra l’estat d’un fitxer o sistema de fitxers.\n" #~ "\n" #~ " -L, --dereference Segueix els enllaços simbòlics.\n" #~ " -f, --file-system Mostra l’estat del sistema de fitxers en lloc de\n" #~ " l’estat del fitxer.\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c, --format=FORMAT Empra el FORMAT especificat en lloc de l’emprat " #~ "per\n" #~ " defecte, i afegeix un caràcter de nova línia " #~ "després de\n" #~ " cada ús del FORMAT.\n" #~ " --printf=FORMAT Com «--format», però interpreta les seqüències\n" #~ " d’escapada amb barres invertides, i no afegeix un\n" #~ " caràcter de nova línia al final. Si en voleu un,\n" #~ " incloeu «\\n» al FORMAT.\n" #~ " -t, --terse Mostra la informació de forma pelada.\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Seqüències de format vàlides per als fitxers (és a dir, sense\n" #~ "«--file-system»):\n" #~ "\n" #~ " %a Permisos d’accés en octal.\n" #~ " %A Permisos d’accés en un format llegible per als humans.\n" #~ " %b Nombre de blocs reservats (vegeu «%B»).\n" #~ " %B Mida en octets de cada bloc mostrat per «%b».\n" #~ " %C Cadena de context de seguretat de SELinux.\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Número del dispositiu en decimal.\n" #~ " %D Número del dispositiu en hexadecimal.\n" #~ " %f Mode en brut, en hexadecimal.\n" #~ " %F Tipus del fitxer.\n" #~ " %g Identificador del grup del propietari.\n" #~ " %G Nom del grup del propietari.\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Nombre d’enllaços forts.\n" #~ " %i Número del node índex.\n" #~ " %n Nom del fitxer.\n" #~ " %N Nom entrecometat del fitxer, o del fitxer apuntat al cas d’un " #~ "enllaç\n" #~ " simbòlic.\n" #~ " %o Mida del bloc d’E/S.\n" #~ " %s Mida total, en octets.\n" #~ " %t Número major de dispositiu, en hexadecimal.\n" #~ " %T Número menor de dispositiu, en hexadecimal.\n" # Indique «de les dades» i «del node índex», queda més clar. ivb #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u Identificador d’usuari del propietari.\n" #~ " %U Nom d’usuari del propietari.\n" #~ " %x Data del darrer accés.\n" #~ " %X Data del darrer accés, en segons des de l’Època.\n" #~ " %y Data de la darrera modificació de les dades.\n" #~ " %Y Data de la darrera modificació de les dades, en segons des de " #~ "l’Època.\n" #~ " %z Data del darrer canvi al node índex.\n" #~ " %Z Data del darrer canvi al node índex, en segons des de l’Època.\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Seqüències de format vàlides per als sistemes de fitxers:\n" #~ "\n" #~ " %a Nombre de blocs lliures disponibles per als usuaris normals.\n" #~ " %b Nombre total de blocs de dades del sistema de fitxers.\n" #~ " %c Nombre total de nodes índex del sistema de fitxers.\n" #~ " %d Nombre de nodes índex lliures del sistema de fitxers.\n" #~ " %f Nombre de blocs de dades lliures del sistema de fitxers.\n" #~ " %C Cadena de context de seguretat de SELinux.\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Identificador del sistema de fitxers en hexadecimal.\n" #~ " %l Longitud màxima dels noms de fitxer.\n" #~ " %n Nom del fitxer.\n" #~ " %s Mida del bloc (per a transferències més ràpides).\n" #~ " %S Mida del bloc fonamental (per a recomptes de blocs).\n" #~ " %t Tipus del sistema de fitxers en hexadecimal.\n" #~ " %T Tipus del sistema de fitxers en un format llegible per als " #~ "humans.\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Forma d’ús: %s [-F DISPOSITIU] [--file=DISPOSITIU] [PROPIETAT]…\n" #~ " o bé: %s [-F DISPOSITIU] [--file=DISPOSITIU] [-a|--all]\n" #~ " o bé: %s [-F DISPOSITIU] [--file=DISPOSITIU] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Mostra o canvia les característiques del terminal.\n" #~ "\n" #~ " -a, --all Mostra totes les propietats actuals de forma " #~ "llegible\n" #~ " per als humans.\n" #~ " -g, --save Mostra totes les propietats actuals de forma " #~ "llegible\n" #~ " per «stty».\n" #~ " -F, --file=DISPOSITIU Obre i empra el DISPOSITIU especificat en lloc " #~ "de\n" #~ " l’entrada estàndard.\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Un «-» opcional davant d’una PROPIETAT la nega. Un «*» marca les " #~ "propietats\n" #~ "no‐POSIX. Les propietats disponibles venen determinades pel sistema " #~ "subjaent.\n" # El més llarg és «werase CAR». ivb #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Caràcters especials:\n" #~ " * dsusp CAR El caràcter CAR enviarà un senyal d’aturada de terminal " #~ "una\n" #~ " volta s’haja buidat l’entrada.\n" #~ " eof CAR CAR enviarà un final de fitxer (que acaba l’entrada).\n" #~ " eol CAR CAR acabarà la línia.\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 CAR CAR indica un caràcter alternatiu d’acabament de línia.\n" #~ " erase CAR CAR esborrarà el darrer caràcter escrit.\n" #~ " intr CAR CAR enviarà un senyal d’interrupció.\n" #~ " kill CAR CAR esborrarà la línia actual.\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext CAR CAR entrarà el caràcter següent entrecometat.\n" #~ " quit CAR CAR enviarà un senyal d’eixir.\n" #~ " * rprnt CAR CAR redibuixarà la línia actual.\n" #~ " start CAR CAR reiniciarà l’eixida després d’haver‐la aturat.\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop CAR CAR aturarà l’eixida.\n" #~ " susp CAR CAR enviarà un senyal d’aturada de terminal.\n" #~ " * swtch CAR CAR canviarà a una capa d’intèrpret diferent.\n" #~ " * werase CAR CAR esborrarà la darrera paraula escrita.\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Propietats especials:\n" #~ " N Estableix la velocitat d’entrada i eixida a N bauds.\n" #~ " * cols N Anuncia al nucli que el terminal té N columnes.\n" #~ " * columns N Equival a «cols N».\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N Estableix la velocitat d’entrada a N bauds.\n" #~ " * line N Empra la disciplina de línia N.\n" #~ " min N Amb «-icanon», caldran almenys N caràcters per a fer " #~ "una\n" #~ " lectura completa.\n" #~ " ospeed N Estableix la velocitat d’eixida a N bauds.\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N Anucia al nucli que el terminal té N files.\n" #~ " * size Mostra el nombre de files i columnes d’acord amb el " #~ "nucli.\n" #~ " speed Mostra la velocitat del terminal.\n" #~ " time N Amb «-icanon», l’expiració de la lectura esdevé d’N " #~ "dècimes\n" #~ " de segon.\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Propietats de control:\n" #~ " [-]clocal Inhabilita els senyals de control del mòdem.\n" #~ " [-]cread Permet rebre entrada.\n" #~ " * [-]crtscts Habilita l’establiment de connexió amb RTS/CTS.\n" #~ " csN Estableix la mida de caràcter a N bits [5..8].\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb Empra dos bits d’aturada per caràcter (només un amb " #~ "«-»).\n" #~ " [-]hup S’envia un senyal de penjat quan el darrer procés tanque " #~ "el\n" #~ " terminal.\n" #~ " [-]hupcl Equival a «[-]hup».\n" #~ " [-]parenb Genera un bit de paritat a l’eixida i n’espera un a\n" #~ " l’entrada.\n" #~ " [-]parodd Empra paritat senar (parella amb «-»).\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Propietats de l’entrada:\n" #~ " [-]brkint Fa que les interrupcions de teclat generen senyals\n" #~ " d’interrupció.\n" #~ " [-]icrnl Tradueix els retorns de carro a noves línies.\n" #~ " [-]ignbrk Descarta els caràcters d’interrupció.\n" #~ " [-]igncr Descarta els retorns de carro.\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar Descarta els caràcters amb error de paritat.\n" #~ " * [-]imaxbel Xiula i no buida un bloc de memòria intermèdia d’entrada " #~ "ple\n" #~ " quan arriba un caràcter.\n" #~ " [-]inlcr Tradueix les noves línies en retorns de carro.\n" #~ " [-]inpck Habilita la comprovació de paritat de l’entrada.\n" #~ " [-]istrip Posa a zero el bit alt (8é) dels caràcters d’entrada.\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "" #~ " * [-]iutf8 Assumeix que els caràcters d’entrada estan codificats " #~ "fent\n" #~ " servir UTF‑8.\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc Tradueix els caràcters en majúscula a minúscula.\n" #~ " * [-]ixany Permet que qualsevol caràcter reinicie l’eixida, no " #~ "només el\n" #~ " caràcter definit amb «start».\n" #~ " [-]ixoff Habilita l’enviament de caràcters d’inici/aturada.\n" #~ " [-]ixon Habilita el control de flux amb XON/XOFF.\n" #~ " [-]parmrk Marca els errors de paritat (amb la seqüència de " #~ "caràcters\n" #~ " 255‐0‐caràcter).\n" #~ " [-]tandem Equival a «[-]ixoff»\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Propietats de l’eixida:\n" #~ " * bsN Estil del retard del retrocés, N en [0..1].\n" #~ " * crN Estil del retard del retorn de carro, N en [0..3].\n" #~ " * ffN Estil del retard del salt de pàgina, N en [0..1].\n" #~ " * nlN Estil del retard de la nova línia, N en [0..1].\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl Tradueix els retorns de carro a noves línies.\n" #~ " * [-]ofdel Empra per a reomplir caràcters d’esborrat en lloc de " #~ "nuls.\n" #~ " * [-]ofill Reomple amb caràcters en lloc d’esperar durant els " #~ "retards.\n" #~ " * [-]olcuc Tradueix els caràcters en minúscula a majúscula.\n" #~ " * [-]onlcr Tradueix les noves línies a retorn de carro i nova " #~ "línia.\n" #~ " * [-]onlret Fa que la nova línia provoque un retorn de carro.\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr No imprimeix retorns de carro a la primera columna.\n" #~ " [-]opost Postprocessa l’eixida.\n" #~ " * tabN Estil del retard de la tabulació horitzontal, N en " #~ "[0..3].\n" #~ " * tabs Equival a «tab0».\n" #~ " * -tabs Equival a «tab3».\n" #~ " * vtN Estil del retard de la tabulació vertical, N en [0..1].\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Propietats locals:\n" #~ " [-]crterase Mostra els caràcters de retrocés com a\n" #~ " retrocés‐espai‐retrocés.\n" #~ " * crtkill Esborra totes les línies d’acord amb «echoprt» i " #~ "«echoe».\n" #~ " * -crtkill Esborra totes les línies d’acord amb «echoctl» i " #~ "«echok».\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho Mostra els caràcters de control amb notació d’accent\n" #~ " circumflex («^c»).\n" #~ " [-]echo Mostra els caràcters de l’entrada.\n" #~ " * [-]echoctl Equival a «[-]ctlecho».\n" #~ " [-]echoe Equival a «[-]crterase».\n" #~ " [-]echok Mostra una nova línia després del caràcter d’esborrar " #~ "línia.\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke Equival a «[-]crtkill».\n" #~ " [-]echonl Mostra les noves línies encara que no es mostren la " #~ "resta\n" #~ " dels caràcters.\n" #~ " * [-]echoprt Mostra entre «\\\\» i «/» els caràcters esborrats amb " #~ "el\n" #~ " retrocés.\n" #~ " [-]icanon Habilita els caràcters especials d’esborrar, esborrar " #~ "línia,\n" #~ " esborrar paraula i redibuixar.\n" #~ " [-]iexten Habilita els caràcters especials no‐POSIX.\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig Habilita els caràcters especials d’interrupció, eixida " #~ "i\n" #~ " aturada de terminal.\n" #~ " [-]noflsh Inhabilita el buidat després d’haver rebut els " #~ "caràcters\n" #~ " especials d’interrupció i eixida.\n" #~ " * [-]prterase Equival a «[-]echoprt».\n" #~ " * [-]tostop Para els processos de fons que intenten escriure al " #~ "terminal.\n" #~ " * [-]xcase Amb «icanon», escapa amb «\\\\» les majúscules.\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Propietats combinades:\n" #~ " * [-]LCASE Equival a «[-]lcase».\n" #~ " cbreak Equival a «-icanon».\n" #~ " -cbreak Equival a «icanon».\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked Posa a llurs valors per defecte els caràcters: brkint " #~ "ignpar\n" #~ " istrip icrnl ixon opost isig icanon eof eol.\n" #~ " -cooked Equival a «raw».\n" #~ " crt Equival a «echoe echoctl echoke».\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec Equival a «echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u».\n" #~ " * [-]decctlq Equival a «[-]ixany».\n" #~ " ek Posa a llurs valors per defecte els caràcters «kill» i\n" #~ " «erase».\n" #~ " evenp Equival a «parenb -parodd cs7».\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp Equival a «-parenb cs8».\n" #~ " * [-]lcase Equival a «xcase iuclc olcuc».\n" #~ " litout Equival a «-parenb -istrip -opost cs8».\n" #~ " -litout Equival a «parenb istrip opost cs7».\n" #~ " nl Equival a «-icrnl -onlcr».\n" #~ " -nl Equival a «icrnl -inlcr -igncr onlcr -ocrnl -onlret».\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp Equival a «parenb parodd cs7».\n" #~ " -oddp Equival a «-parenb cs8».\n" #~ " [-]parity Equival a «[-]evenp».\n" #~ " pass8 Equival a «-parenb -istrip cs8».\n" #~ " -pass8 Equival a «parenb istrip cs7».\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw Equival a «-ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -" #~ "imaxbel\n" #~ " -opost -isig -icanon -xcase min 1 time 0»\n" #~ " -raw Equival a «cooked».\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane Equival a «cread -ignbrk brkint -inlcr -igncr icrnl -" #~ "iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -" #~ "onocr\n" #~ " -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig " #~ "icanon\n" #~ " iexten echo echoe echok -echonl -noflsh -xcase -tostop\n" #~ " -echoprt echoctl echoke», posant tots els caràcters " #~ "especials\n" #~ " a llurs valors per defecte.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Controla la línia tty connectada a l’entrada estàndard. Sense " #~ "arguments,\n" #~ "mostra la velocitat en bauds, la disciplina de línia i les diferències " #~ "amb\n" #~ "«stty sane». En indicar propietats, el caràcter CAR ha de ser literal, " #~ "o\n" #~ "codificat com «^c», «0x37», «0177» o «127»; els valors especials «^-» i\n" #~ "«undef» s’empren per a inhabilitar caràcters especials.\n" #~ msgid "only one device may be specified" #~ msgstr "només es pot especificar un dispositiu" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "les opcions per a mostrar les propietats de forma llegible per humans i " #~ "per «stty» són mútuament excloents" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "no es poden establir modes en especificar un estil d’eixida" # Realment el desactiva, no reinicia. ivb #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: no s’ha pogut desactivar el mode no blocador" # Ambdues usen quote(). ivb #~ msgid "invalid argument %s" #~ msgstr "l’argument %s no és vàlid" # Totes sis usen quote(). ivb #~ msgid "missing argument to %s" #~ msgstr "manca un argument per a %s" # Usa quote(). ivb #~ msgid "invalid line discipline %s" #~ msgstr "la disciplina de línia %s no és vàlida" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: no s’han pogut realitzar totes les operacions requerides" # Missatge de depuració. ivb #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mode\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: aquest dispositiu no té informació de mida" # Usa quote(). ivb #~ msgid "invalid integer argument %s" #~ msgstr "l’argument enter %s no és vàlid" #~ msgid "Password:" #~ msgstr "Contrasenya:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: no s’ha pogut obrir «/dev/tty»" #~ msgid "cannot set groups" #~ msgstr "no s’han pogut establir els grups" #~ msgid "cannot set group id" #~ msgstr "no s’ha pogut establir l’identificador de grup" #~ msgid "cannot set user id" #~ msgstr "no s’ha pogut establir l’identificador d’usuari" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… [-] [USUARI [ARG]…]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Canvia els identificadors efectius d’usuari i grup als de l’USUARI.\n" #~ "\n" #~ " -, -l, --login Fa servir un intèrpret d’entrada.\n" #~ " -c, --command=ORDRE Passa una ORDRE a l’intèrpret amb «-c».\n" #~ " -f, --fast Passa «-f» a l’intèrpret (per a «csh» o «tcsh»).\n" #~ " -m, --preserve-environment\n" #~ " No reinicia les variables d’entorn.\n" #~ " -p Equival a «-m».\n" #~ " -s, --shell=INTÈRPRET Executa l’INTÈRPRET si «/etc/shells» ho " #~ "permet.\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Un «-» simple implica «-l». Si no s’indica cap USUARI, s’assumeix " #~ "«root».\n" #~ msgid "user %s does not exist" #~ msgstr "l’usuari «%s» no existeix" #~ msgid "incorrect password" #~ msgstr "la contrasenya no és correcta" # No usa quote(). ivb # Missatge informatiu. ivb #~ msgid "using restricted shell %s" #~ msgstr "s’empra l’intèrpret restringit «%s»" # No usa quote(). ivb #~ msgid "warning: cannot change directory to %s" #~ msgstr "avís: no s’ha pogut canviar al directori «%s»" # Això de «defeat» és que el darrer té preferència. ivb #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Mostra la suma de verificació i el nombre de blocs de cada FITXER.\n" #~ "\n" #~ " -r Empra l’algorisme de suma de BSD, amb blocs de 1 " #~ "kB.\n" #~ " -s, --sysv Empra l’algorisme de suma de System V, amb blocs " #~ "de 512\n" #~ " octets.\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Bolca els blocs modificats al disc i actualitza el superbloc.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "es descarten tots els arguments" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "NOTA: Potser el vostre intèrpret d’ordres té la seua pròpia versió de «%" #~ "s»,\n" #~ "que preval sobre la descrita ací. Per favor, consulteu a la documentació " #~ "del\n" #~ "vostre intèrpret quines opcions admet.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help Mostra aquesta ajuda i surt.\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version Mostra informació sobre la versió i surt.\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Informeu dels errors a <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escriu cada FITXER a la sortida estàndard, invertint l’ordre de les " #~ "línies.\n" #~ "Sense cap FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before Posa el separador abans, i no després.\n" #~ " -r, --regexp Interpreta el separador com a una expressió " #~ "regular.\n" #~ " -s, --separator=CADENA\n" #~ " Empra la CADENA com a separador en lloc del " #~ "caràcter de\n" #~ " nova línia.\n" #~ msgid "%s: seek failed" #~ msgstr "%s: ha fallat el desplaçament" #~ msgid "record too large" #~ msgstr "el registre és massa gran" # Usa quote(). ivb #~ msgid "cannot create temporary file %s" #~ msgstr "no s’ha pogut crear el fitxer temporal %s" # Usa quote(). ivb #~ msgid "cannot open %s for writing" #~ msgstr "no s’ha pogut obrir %s per a escriure" #~ msgid "%s: write error" #~ msgstr "%s: error d’escriptura" #~ msgid "separator cannot be empty" #~ msgstr "el separador no pot ser buit" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escriu les darreres %d línies de cada FITXER a la sortida estàndard. Amb " #~ "més\n" #~ "d’un FITXER, les precedeix amb una capçalera amb el nom del fitxer. " #~ "Sense cap\n" #~ "FITXER, o quan FITXER és «-», llegeix l’entrada estàndard.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry Continua intentant obrir un fitxer fins i tot si " #~ "és\n" #~ " inaccessible al principi, o si després es torna\n" #~ " inaccessible; només és útil en seguir la pista " #~ "d’un\n" #~ " nom, és a dir, amb «--follow=NOM».\n" #~ " -c, --bytes=N Escriu els darrers N octets; també podeu usar +N " #~ "per a\n" #~ " mostrar els octets a partir de l’octet N‐èsim de " #~ "cada\n" #~ " fitxer.\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --folow[={NOM|DESCRIPTOR}]\n" #~ " Escriu les dades a mesura que el fitxer creix; «-" #~ "f»,\n" #~ " «--follow», i «--follow=DESCRIPTOR» són " #~ "equivalents.\n" #~ " -F Equival a «--follow=NOM --retry».\n" # «-n» cap pq per defecte és 10. ivb #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N Escriu les darreres N línies, i no les darreres %" #~ "d;\n" #~ " també podeu usar +N per a mostrar les línies a " #~ "partir\n" #~ " de la línia N‐èsima.\n" #~ " --max-unchanged-stats=N\n" #~ " Amb «--follow=NOM», reobre el FITXER que no ha " #~ "canviat\n" #~ " de mida després d’N iteracions (per defecte %d), " #~ "per\n" #~ " veure si ha estat eliminat o reanomenat (com és el " #~ "cas\n" #~ " habitual dels fitxers de registre en ser rotats).\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID Amb «-f», finalitza després que el procés " #~ "identificat\n" #~ " per aquest PID mori.\n" #~ " -q, --quiet, --silent Omet les capçaleres amb els noms dels " #~ "fitxers.\n" #~ " -s, --sleep-interval=S\n" #~ " Amb «-f», cada iteració dura aproximadament S " #~ "segons\n" #~ " (per defecte 1.0).\n" #~ " -v, --verbose Sempre escriu els noms dels fitxers.\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Si el primer caràcter d’N (nombre d’octets o línies) és un «+», escriu " #~ "cada\n" #~ "fitxer començant pel seu Nè element, comptant des de l’inici; en altre " #~ "cas,\n" #~ "escriu els darrers N elements del fitxer. N pot portar un sufix\n" #~ "multiplicador: GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, " #~ "Z,\n" #~ "Y.\n" #~ "\n" # atenció: dues entrades seguides # Xanxullo horrend perquè la traducció acaba amb la línia! ivb # El xanxullo inclou canviar el dialecte d'un verb! Aargh! XP ivb #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Amb «--follow» (-f), es segueix per defecte el descriptor de fitxer, de " #~ "manera\n" #~ "que encara que el fitxer siga reanomenat, es continuarà seguint el seu " #~ "final." # aquesta entrada va junta amb l'anterior # Xanxullo horrend perquè la traducció comença amb la línia! ivb #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ " \n" #~ "Aquest comportament no és desitjable si el que voleu realment és seguir " #~ "el\n" #~ "nom del fitxer, i no el seu descriptor (per exemple, durant la rotació " #~ "d’un\n" #~ "registre). Useu «--follow=NOM» en aquest cas. Això fa que s’òbriga\n" #~ "periòdicament el fitxer en qüestió per a veure si ha estat eliminat i " #~ "recreat\n" #~ "per algun altre programa.\n" # No usa quote(). ivb # Missatge d'error. ivb #~ msgid "closing %s (fd=%d)" #~ msgstr "en tancar «%s» (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: no s’ha pogut moure dins el desplaçament relatiu %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: no s’ha pogut moure fins al desplaçament relatiu al final %s" # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #~ msgid "%s has become inaccessible" #~ msgstr "%s ha esdevingut inaccessible" # tailable = cuable? ;) # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s ha estat substituït per un fitxer no seguible; s’abandona la pista " #~ "d’aquest nom" # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #~ msgid "%s has become accessible" #~ msgstr "%s ha esdevingut accessible" # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s ha aparegut; es segueix el final del nou fitxer" # Usa quote(). ivb # FIXME: pretty_name() lacks i18n. ivb #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s ha estat substituït; es segueix el final del nou fitxer" # Realment el desactiva, no reinicia. ivb #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: no s’ha pogut desactivar el mode no blocador" # FIXME: pretty_name() lacks i18n. ivb #~ msgid "%s: file truncated" #~ msgstr "%s: el fitxer ha estat truncat" #~ msgid "no files remaining" #~ msgstr "no resta cap fitxer" # FIXME: pretty_name() lacks i18n. ivb #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: no es pot seguir el final d’aquest tipus de fitxer; s’abandona la " #~ "pista d’aquest nom" # És un enter correcte però massa gran. ivb # Usa quote(). ivb #~ msgid "number in %s is too large" #~ msgstr "el número %s és massa gran" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: el nombre màxim d’iteracions sense alteracions entre obertures no és " #~ "vàlid" #~ msgid "%s: invalid PID" #~ msgstr "%s: el PID no és vàlid" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: el nombre de segons no és vàlid" #~ msgid "option used in invalid context -- %c" #~ msgstr "l’opció «%c» no és vàlida en aquest context" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "avís: «--retry» sol ser útil només quan es segueix la pista d’un nom" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "avís: es descarta el PID; «--pid=PID» només és útil en fer seguiments" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "avís: aquest sistema no permet l’opció «--pid=PID»" # Usa quote(). ivb #~ msgid "cannot follow %s by name" #~ msgstr "no es pot seguir %s pel nom" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "avís: seguir indefinidament l’entrada estàndard no és efectiu" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Còpia l’entrada estàndard a cada FITXER, i també a l’eixida estàndard.\n" #~ "\n" #~ " -a, --append Afegeix a cada FITXER indicat, no el sobreescriu.\n" #~ " -i, --ignore-interrupts\n" #~ " Descarta els senyals d’interrupció.\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Si un dels FITXER és «-», el torna a copiar sobre l’eixida estàndard.\n" # Usa quote(). ivb #~ msgid "missing argument after %s" #~ msgstr "manca un argument després de %s" # Usa quote(). ivb #~ msgid "invalid integer %s" #~ msgstr "el número enter %s no és vàlid" #~ msgid "')' expected" #~ msgstr "cal «)»" # No usa quote(). ivb #~ msgid "')' expected, found %s" #~ msgstr "cal «)», s’ha trobat «%s»" #~ msgid "%s: unary operator expected" #~ msgstr "%s: cal un operador unari" #~ msgid "-nt does not accept -l" #~ msgstr "«-nt» no admet «-l»" #~ msgid "-ef does not accept -l" #~ msgstr "«-ef» no admet «-l»" #~ msgid "-ot does not accept -l" #~ msgstr "«-ot» no admet «-l»" #~ msgid "unknown binary operator" #~ msgstr "l’operador binari no és conegut" #~ msgid "%s: binary operator expected" #~ msgstr "%s: cal un operador binari" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Forma d’ús: test EXPRESSIÓ\n" #~ " o bé: test\n" #~ " o bé: [ EXPRESSIÓ ]\n" #~ " o bé: [ ]\n" #~ " o bé: [ OPCIÓ\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Ix amb un estat determinat per l’EXPRESSIÓ.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Una EXPRESSIÓ omesa és per defecte falsa. Altrament, l’EXPRESSIÓ és " #~ "certa o\n" #~ "falsa i estableix l’estat d’eixida. És una de:\n" # El més llarg és «EXPRESSIÓ1 -a EXPRESSIÓ2». ivb #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( EXPRESSIÓ ) L’EXPRESSIÓ és certa.\n" #~ " ! EXPRESSIÓ L’EXPRESSIÓ és falsa.\n" #~ " EXPRESSIÓ1 -a EXPRESSIÓ2 L’EXPRESSIÓ1 i l’EXPRESSIÓ2 són certes.\n" #~ " EXPRESSIÓ1 -o EXPRESSIÓ2 L’EXPRESSIÓ1 o l’EXPRESSIÓ2 és certa.\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " [-n] CADENA La longitud de la CADENA no és zero.\n" #~ " CADENA Equival a «-n CADENA».\n" #~ " -z CADENA La longitud de la CADENA és zero.\n" #~ " CADENA1 = CADENA2 Les cadenes són iguals.\n" #~ " CADENA1 != CADENA2 Les cadenes no són iguals.\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ENTER1 -eq ENTER2 L’ENTER1 és igual a l’ENTER2.\n" #~ " ENTER1 -ge ENTER2 L’ENTER1 és major o igual que l’ENTER2.\n" #~ " ENTER1 -gt ENTER2 L’ENTER1 és major que l’ENTER2.\n" #~ " ENTER1 -le ENTER2 L’ENTER1 és menor o igual que l’ENTER2.\n" #~ " ENTER1 -lt ENTER2 L’ENTER1 és menor que l’ENTER2.\n" #~ " ENTER1 -ne ENTER2 L’ENTER1 no és igual que l’ENTER2.\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " FITXER1 -ef FITXER2 El FITXER1 i el FITXER2 tenen els mateixos\n" #~ " números de dispositiu i node índex.\n" #~ " FITXER1 -nt FITXER2 El FITXER1 és més nou (data de modificació) " #~ "que\n" #~ " el FITXER2.\n" #~ " FITXER1 -ot FITXER2 El FITXER1 és més antic que el FITXER2.\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b FITXER El FITXER existeix i és un dispositiu de " #~ "blocs.\n" #~ " -c FITXER El FITXER existeix i és un dispositiu de\n" #~ " caràcters.\n" #~ " -d FITXER El FITXER existeix i és un directori.\n" #~ " -e FITXER El FITXER existeix.\n" # En «-G» no és necessari posar «ID». ivb #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f FITXER El FITXER existeix i és un fitxer " #~ "ordinari.\n" #~ " -g FITXER El FITXER existeix i té activat el bit\n" #~ " d’establiment de l’ID de grup.\n" #~ " -G FITXER El FITXER existeix i pertany al grup " #~ "efectiu.\n" #~ " -h FITXER El FITXER existeix i és un enllaç simbòlic\n" #~ " (equival a «-L»).\n" #~ " -k FITXER El FITXER existeix i té activat el bit de\n" #~ " permanença.\n" # En «-O» no és necessari posar ID. ivb #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L FITXER El FITXER existeix i és un enllaç simbòlic\n" #~ " (equival a «-h»).\n" #~ " -O FITXER El FITXER existeix i pertany a l’usuari " #~ "efectiu.\n" #~ " -p FITXER El FITXER existeix i és una canonada amb " #~ "nom.\n" #~ " -r FITXER El FITXER existeix i té permís de lectura.\n" #~ " -s FITXER El FITXER existeix i la seua mida és major " #~ "que\n" #~ " zero.\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S FITXER El FITXER existeix i és un connector.\n" #~ " -t DF El descriptor de fitxer DF és obert en un\n" #~ " terminal.\n" #~ " -u FITXER El FITXER existeix i té activat el bit\n" #~ " d’establiment de l’ID d’usuari.\n" #~ " -w FITXER El FITXER existeix i té permís " #~ "d’escriptura.\n" #~ " -x FITXER El FITXER existeix i té permís d’execució " #~ "(o de\n" #~ " cerca).\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Excepte «-h» i «-L», totes les comprovacions sobre un FITXER segueixen " #~ "els\n" #~ "enllaços simbòlics. Teniu en compte que cal que els parèntesis siguen\n" #~ "escapats (per exemple, amb barres invertides) als intèrprets d’ordres. " #~ "ENTER\n" #~ "també pot ser «-l CADENA», que s’avalua a la longitud de la CADENA.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "NOTA: «[» té en compte les opcions «--help» i «--version», però «test» " #~ "no.\n" #~ "«test» les tracta com qualsevol altra CADENA no buida.\n" # FIXME: The way this integrates in the message about builtins is language-dependent. ivb # Quin xanxullo!!! ivb #~ msgid "test and/or [" #~ msgstr "test» o «[" #~ msgid "missing `]'" #~ msgstr "manca «]»" # Usa quote(). ivb #~ msgid "extra argument %s" #~ msgstr "sobra l’argument %s" # Els 3 usen quote(). ivb # Condició d'error. ivb #~ msgid "creating %s" #~ msgstr "en crear %s" # Usa quote(). ivb # En el codi font diu que no val la pena distingir el tipus d'error. ivb #~ msgid "cannot touch %s" #~ msgstr "no s’han pogut canviar les dates de %s" # Usa quote(). ivb # Condició d'error. ivb #~ msgid "setting times of %s" #~ msgstr "en establir les dates de %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Actualitza les dates d’accés i modificació de cada FITXER a la data " #~ "actual.\n" #~ "\n" #~ "Si el FITXER no existeix és creat buit.\n" #~ "\n" #~ "Si el FITXER és «-», «touch» el tracta de forma especial, canviant les " #~ "dates\n" #~ "del fitxer associat amb l’entrada estàndard.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a Només canvia la data d’accés.\n" #~ " -c, --no-create No crea cap fitxer.\n" #~ " -d, --date=CADENA Interpreta la CADENA i l’empra en lloc de la data\n" #~ " actual.\n" #~ " -f (No es té en compte.)\n" #~ " -m Només canvia la data de modificació de les dades.\n" # Què té aquesta gent en contra de les cometes? ivb #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=FITXER\n" #~ " Empra les dates d’aquest FITXER en lloc de la " #~ "data\n" #~ " actual.\n" #~ " -t DATA Empra la data [[CC]AA]MMDDhhmm[.ss] en lloc de la " #~ "data\n" #~ " actual.\n" #~ " --time=PARAULA Modifica la data indicada per la PARAULA: la " #~ "d’accés\n" #~ " amb «access», «atime» o «use» (equivalen a «-a»); " #~ "la de\n" #~ " modificació amb «modify» o «mtime» (equivalen a «-" #~ "m»).\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Teniu en compte que les opcions «-d» i «-t» accepten formats de data i " #~ "hora\n" #~ "distints.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "no es poden especificar dates de més d’un origen" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "avís: «touch %s» és obsoleta; useu «touch -t %04ld%02d%02d%02d%02d.%02d»" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… JOC1 [JOC2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Tradueix, redueix, o suprimeix caràcters de l’entrada estàndard, i escriu " #~ "el\n" #~ "resultat a la sortida estàndard.\n" #~ "\n" #~ " -c, -C, --complement Complementa primer el JOC1.\n" #~ " -d, --delete Suprimeix els caràcters del JOC1, no tradueix.\n" #~ " -s, --squeeze-repeats Substitueix cada seqüència de repeticions " #~ "d’un\n" #~ " caràcter de JOC1 per una única ocurrència del " #~ "caràcter.\n" #~ " -t, --truncate-set1 Trunca primer el JOC1 a la llargada del JOC2.\n" # El més llag és «[:xdigit:]». ivb #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "Cada JOC s’especifica com a una cadena de caràcters. La majoria d’ells " #~ "es\n" #~ "representen literalment. Les seqüències que s’interpreten són:\n" #~ "\n" #~ " \\NNN Caràcter amb valor octal NNN (d’1 a 3 dígits octals).\n" #~ " \\\\ Barra invertida.\n" #~ " \\a Alarma (BEL).\n" #~ " \\b Retrocés.\n" #~ " \\f Salt de pàgina.\n" #~ " \\n Nova línia.\n" #~ " \\r Retorn de carro.\n" #~ " \\t Tabulació horitzontal.\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v Tabulació vertical.\n" #~ " CAR1-CAR2 Tots els caràcters en ordre ascendent entre CAR1 i CAR2.\n" #~ " [CAR*] Al JOC2, còpies de CAR fins a arribar a la llargada de " #~ "JOC1.\n" #~ " [CAR*REP] REP còpies de CAR; REP és octal si comença amb 0.\n" #~ " [:alnum:] Totes les lletres i dígits.\n" #~ " [:alpha:] Totes les lletres.\n" #~ " [:blank:] Tots els espais en blanc horitzontals.\n" #~ " [:cntrl:] Tots els caràcters de control.\n" #~ " [:digit:] Tots els dígits.\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] Tots els caràcters imprimibles, excepte l’espai.\n" #~ " [:lower:] Totes les lletres minúscules.\n" #~ " [:print:] Tots els caràcters imprimibles, incloent l’espai.\n" #~ " [:punct:] Tots els caràcters de puntuació.\n" #~ " [:space:] Tots els espais en blanc verticals o horitzontals.\n" #~ " [:upper:] Totes les lletres majúscules.\n" #~ " [:xdigit:] Tots els dígits hexadecimals.\n" #~ " [=CAR=] Tots els caràcters equivalents a CAR.\n" # Les tres següents entrades van juntes !! #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "La traducció es produeix si no s’indica «-d» i ambdós JOC1 i JOC2 " #~ "apareixen.\n" #~ "Només es pot emprar «-t» quan es tradueix. El JOC2 s’expandeix a la " #~ "llargada\n" #~ "de JOC1 repetint el darrer caràcter tant com sigui necessari. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Els caràcters\n" #~ "sobrants del JOC2 es descarten. Només s’assegura una expansió ascendent " #~ "per\n" #~ "les seqüències «[:lower:]» i «[:upper:]»; quan s’empren en JOC2 i " #~ "s’estiga\n" #~ "traduint, només es poden utilitzar en parelles respecte JOC1, " #~ "especificant\n" #~ "conversió de majúscules a minúscules (o a la inversa). " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "«-s» empra el JOC1 si no\n" #~ "s’està traduint ni suprimint; a la reducció s’empra el JOC2 i aquesta es\n" #~ "produeix després de traduïr o suprimir.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "avís: la seqüència ambígua d’escapada en octal «\\%c%c%c» s’interpreta " #~ "com la seqüència de 2 octets «\\0%c%c», «%c»" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "avís: no és portable emprar una barra invertida sense escapada al final " #~ "de la línia" # que coi significa `cotejar'??? #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "els extrems del rang «%s-%s» es troben en ordre invers" # Usa quote(). ivb #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "el nombre de repeticions %s de la construcció «[c*n]» no és vàlid" #~ msgid "missing character class name `[::]'" #~ msgstr "manca el nom de la classe de caràcters: «[::]»" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "manca el caràcter de la classe d’equivalència: «[==]»" # Usa quote(). ivb #~ msgid "invalid character class %s" #~ msgstr "la classe de caràcters %s no és vàlida" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "" #~ "%s: l’operand de la classe d’equivalència ha de ser un únic caràcter" #~ msgid "too many characters in set" #~ msgstr "el conjunt conté massa caràcters" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "" #~ "la construcció de repetició «[c*]» no pot aparèixer a la primera cadena" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "" #~ "només pot aparèixer una construcció de repetició «[c*]» a la segona cadena" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "" #~ "en traduir, les expressions «[=c=]» no poden aparèixer a la segona cadena" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "si no es trunca el primer joc, la segona cadena no pot ser nuŀla" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "en traduir amb classes de caràcters complementàries, la segona cadena ha " #~ "d’assignar tots els caràcters del domini a un de sol" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "en traduir, les úniques classes de caràcters que poden aparèixer a la " #~ "segona cadena són «upper» i «lower»" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "" #~ "en traduir, la construcció «[c*]» només pot aparèxier a la segona cadena" # Açò s'imprimeix després d'un missatge d'error. ivb #~ msgid "Two strings must be given when translating." #~ msgstr "En traduir, cal especificar les dues cadenes." # Açò s'imprimeix després d'un missatge d'error. ivb #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "En eliminar sense reduir repeticions, només es pot especificar una cadena." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "la construcció «[:upper:]» o «[:lower:]» està desalineada" # no estic molt content amb aquesta. jm # Retoque un poc la forma d'ús, queda un poc més clar. ivb # Un retoc més i ja pareix més un nom d'opció. ivb #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s [arguments de la línia d’ordres que seran descartats]\n" #~ " o bé: %s OPCIÓ\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Ix amb un codi d’estat que indica èxit." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Forma d’ús: %s [OPCIÓ] [FITXER]\n" #~ "Escriu una llista totalment ordenada d’acord amb l’ordenació parcial " #~ "descrita\n" #~ "en FITXER. Sense FITXER, o quan FITXER és «-», llegeix l’entrada " #~ "estàndard.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: l’entrada conté un nombre senar de components" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: l’entrada conté un cicle:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]…\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Mostra el nom de fitxer del terminal connectat a l’entrada estàndard.\n" #~ "\n" #~ " -s, --silent, --quiet No mostra res, només retorna un estat " #~ "d’eixida.\n" #~ msgid "not a tty" #~ msgstr "no és un tty" # On deia «sistema operatiu» en una traducció antiga ara diu «nucli» ;) ivb #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Mostra alguna informació sobre el sistema. Si no s’indica cap OPCIÓ, fa " #~ "el\n" #~ "mateix que amb «-s».\n" #~ "\n" #~ " -a, --all Mostra tota la informació (excepte la de «-p» i «-" #~ "i» si\n" #~ " és desconeguda), en l’ordre següent:\n" #~ " -s, --kernel-name Mostra el nom del nucli.\n" #~ " -n, --nodename Mostra el nom de l’estació a la xarxa.\n" #~ " -r, --kernel-release Mostra el llançament del nucli.\n" # FIXME: “unknown” in ``uname.c`` lacks i18n. ivb #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version Mostra la versió del nucli.\n" #~ " -m, --machine Mostra el tipus del maquinari.\n" #~ " -p, --processor Mostra el tipus del processador («unknown» si es\n" #~ " desconeix).\n" #~ " -i, --hardware-platform\n" #~ " Mostra la plataforma del maquinari («unknown» si " #~ "es\n" #~ " desconeix).\n" #~ " -o, --operating-system\n" #~ " Mostra el sistema operatiu.\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Mostra l’arquitectura de la màquina.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "no s’ha pogut obtenir el nom del sistema" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Converteix els espais en blanc a tabulacions per cada FITXER, i escriu a " #~ "la\n" #~ "sortida estàndard. Sense FITXER, o quan FITXER és «-», llegeix " #~ "l’entrada\n" #~ "estàndard.\n" #~ "\n" # mirar la traducció del expand #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all Converteix tots els espais en blanc, no només els " #~ "que\n" #~ " es troben a principi de línia.\n" #~ " --first-only Només converteix les seqüències d’espais en blanc " #~ "que\n" #~ " es troben a principi de la línia (inhabilita «-" #~ "a»).\n" #~ " -t, --tabs=NÚMERO Tabula a una distància de NÚMERO caràcters, en " #~ "lloc de\n" #~ " 8 (habilita «-a»).\n" #~ " -t, --tabs=LLISTA Especifica una llista de posicions explícites per " #~ "cada\n" #~ " tabulació, separades per comes (habilita «-a»).\n" #~ msgid "tabs are too far apart" #~ msgstr "els tabuladors es troben massa separats" # És un enter correcte però massa gran. ivb #~ msgid "tab stop value is too large" #~ msgstr "la distància de tabulació és massa gran" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… [ENTRADA [SORTIDA]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Descarta totes tret d’una de successives línies idèntiques de l’ENTRADA " #~ "(o de\n" #~ "l’entrada estàndard) i escriu a la SORTIDA (o a la sortida estàndard).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count Prefixa cada línia amb el nombre d’ocurrències.\n" #~ " -d, --repeated Només escriu les línies duplicades.\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=MÈTODE_DELIMITACIÓ]\n" #~ " Escriu totes les línies duplicades, delimitant " #~ "els\n" #~ " grups segons el MÈTODE: «none» (per defecte) no " #~ "els\n" #~ " separa; «prepend» els prefixa i «separate» els " #~ "separa\n" #~ " amb una línia buida.\n" #~ " -f, --skip-fields=N Evita la comparació dels primers N camps.\n" #~ " -i, --ignore-case No té en compte les diferències entre majúscules " #~ "i\n" #~ " minúscules.\n" #~ " -s, --skip-chars=N Evita la comparació dels primers N caràcters.\n" #~ " -u, --unique Només escriu les línies que són úniques.\n" #~ " -z, --zero-terminated Escriu un octet 0 en lloc de cada caràcter de " #~ "nova\n" #~ " línia.\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N No compara més d’N caràcters per línia.\n" # Hau! ivb #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Un camp és una sèrie d’espais en blanc, seguit de caràcters no en blanc.\n" #~ "En emprar «--skip-fields» i «--skip-chars», primer es salten els camps i\n" #~ "després els caràcters.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "NOTA: «uniq» no detecta les línies repetides, a no ser que vagen " #~ "seguides.\n" #~ "Potser desitgeu ordenar primer l’entrada, o emprar «sort -u» sense " #~ "«uniq».\n" #~ msgid "too many repeated lines" #~ msgstr "hi ha massa línies repetides" #~ msgid "invalid number of fields to skip" #~ msgstr "el nombre de camps a saltar no és vàlid" #~ msgid "invalid number of bytes to skip" #~ msgstr "el nombre d’octets a saltar no és vàlid" #~ msgid "invalid number of bytes to compare" #~ msgstr "el nombre d’octets a comparar no és vàlid" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "escriure totes les línies duplicades i el nombre de repeticions és absurd" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s FITXER\n" #~ " o bé: %s OPCIÓ\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Crida la funció unlink() per a eliminar el FITXER especificat.\n" #~ "\n" # Usa quote(). ivb #~ msgid "cannot unlink %s" #~ msgstr "no s’ha pogut deslligar %s" #~ msgid "couldn't get boot time" #~ msgstr "no s’ha pogut obtenir l’hora d’arrencada" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s en marxa " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? en marxa " #~ msgid "???? days ??:??, " #~ msgstr "???? dies ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld dia" #~ msgstr[1] "%ld dies" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu usuari" #~ msgstr[1] "%lu usuaris" #~ msgid ", load average: %.2f" #~ msgstr ", càrrega mitjana: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… [FITXER]\n" # Dubte sobre lo de uptime. jm # Ein? ivb # No usa quote() en cap dels 2 args. ivb #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Mostra l’hora actual, quant temps ha estat el sistema en marxa, el " #~ "nombre\n" #~ "d’usuaris al sistema i la mitjana de treballs a la cua d’execució durant " #~ "els\n" #~ "darrers 1, 5 i 15 minuts. Si no s’indica el FITXER, s’empra «%s».\n" #~ "És comú emprar «%s» com a FITXER.\n" #~ "\n" # No usa quote() en cap dels dos args. ivb #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Mostra qui està connectat actualment, d’acord amb el contingut del " #~ "FITXER. Si\n" #~ "no s’indica el FITXER, s’empra «%s». És comú emprar «%s»\n" #~ "com a FITXER.\n" #~ "\n" # afegir una línia en blanc entre la descripció i les opcions # Ja està. ivb #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Escriu el nombre de caràcters de nova línia, paraules i octets de cada " #~ "FITXER,\n" #~ "i una línia de totals si especifiqueu més d’un FITXER. Sense FITXER, o " #~ "quan\n" #~ "FITXER és «-», llegeix l’entrada estàndard.\n" #~ "\n" #~ " -c, --bytes Escriu el nombre d’octets.\n" #~ " -m, --chars Escriu el nombre de caràcters.\n" #~ " -l, --lines Escriu el nombre de caràcters de nova línia.\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=FITXER\n" #~ " Llegeix l’entrada dels fitxers els noms dels quals " #~ "es\n" #~ " troben llistats al FITXER, acabats pel caràcter " #~ "NUL.\n" #~ " -L, --max-line-length Escriu la longitud de la línia més llarga.\n" #~ " -w, --words Escriu el nombre de paraules.\n" # Ull, usar el mateix terme d'«antic» que baix. ivb # XXX: S'entén com a sessió i és femení? ivb # 6 caràcters. ivb #~ msgid " old " #~ msgstr "antic" # Identificador d'una tasca d'init. ivb #~ msgid "id=" #~ msgstr "id=" # Codi de finalització. ivb #~ msgid "term=" #~ msgstr "fin=" # Codi d'eixida. ivb #~ msgid "exit=" #~ msgstr "eixida=" # 12 caràcters. ivb #~ msgid "clock change" #~ msgstr "canvi rlltge" # 10 caràcters. ivb #~ msgid "run-level" #~ msgstr "nivll exec" # Últim nivell d'execució. ivb #~ msgid "last=" #~ msgstr "darrer=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "nombre d’usuaris=%lu\n" # FIXME: This arrangement is language-dependent because of width. ivb # Nom d'un usuari del sistema. ivb #~ msgid "NAME" #~ msgstr "NOM" #~ msgid "LINE" #~ msgstr "LÍNIA" # Hora d'entrada d'un usuari al sistema. ivb #~ msgid "TIME" #~ msgstr "HORA" # Temps ociós d'un usuari. ivb #~ msgid "IDLE" #~ msgstr "OCIÓS" #~ msgid "PID" #~ msgstr "PID" # 8 caràcters. ivb #~ msgid "COMMENT" #~ msgstr "COMENT." # Codis de finalització i eixida del procés. ivb #~ msgid "EXIT" #~ msgstr "EIXIDA" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Forma d’ús: %s [OPCIÓ]… [FITXER | ARG1 ARG2]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all Equival a «-b -d --login -p -r -t -T -u».\n" #~ " -b, --boot Moment de la darrera arrencada del sistema.\n" #~ " -d, --dead Mostra els processos morts.\n" #~ " -H, --heading Mostra una línia de capçaleres de columna.\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login Mostra els processos d’entrada al sistema.\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " -l, --lookup Prova de fer canònics els noms d’estació via DNS.\n" #~ " -m Només mostra el nom d’estació i usuari associats " #~ "amb\n" #~ " l’entrada estàndard.\n" #~ " -p, --process Mostra els processos actius llançats per «init».\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count Mostra els noms i el nombre total d’usuaris " #~ "connectats.\n" #~ " -r, --runlevel Mostra el nivell d’execució actual.\n" #~ " -s, --short Només mostra el nom, línia i hora (per defecte).\n" #~ " -t, --time Mostra el moment del darrer canvi del rellotge " #~ "del\n" #~ " sistema.\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg Inclou l’estat de missatges dels usuaris com a " #~ "«+», «-»\n" #~ " o «?».\n" #~ " -u, --users Llista els usuaris connectats.\n" #~ " --message Equival a «-T».\n" #~ " --writable Equival a «-T».\n" # No usa quote() en cap dels 2 args. ivb #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Si no s’indica el FITXER, s’empra «%s». És comú emprar «%s»\n" #~ "com a FITXER. Si s’especifiquen ARG1 i ARG2, és com emprar «-m»: és " #~ "habitual\n" #~ "emprar «am i» o «és genial».\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Mostra el nom d’usuari associat amb l’identificador d’usuari efectiu\n" #~ "actualment. Equival a «id -un».\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: no s’ha pogut trobar el nom de l’ID d’usuari %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Forma d’ús: %s [CADENA]…\n" #~ " o bé: %s OPCIÓ\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Mostra repetidament una línia amb totes les cadenes indicades, o «y».\n" #~ "\n" dc3dd-7.1.614/po/nb.gmo0000644000175000017500000000125311233346647014172 0ustar amedicoamedicoDl&m-R  Try `%s --help' for more information. Unknown system errorstandard inputstandard outputProject-Id-Version: GNU textutils 2.0.20 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2002-01-27 21:35+0100 Last-Translator: Eivind Tagseth Language-Team: Norwegian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Prøv med «%s --help» for mer informasjon. Ukjent systemfeilstandard innstandard utdc3dd-7.1.614/po/fi.gmo0000644000175000017500000000405011233346647014167 0ustar amedicoamedico hi&V}( $4tL h)Jt/'!: Q ]j      BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Try `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot fstat %sclosing input file %sclosing output file %sinvalid number %sopening %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.9.91 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-01-03 21:02+0200 Last-Translator: Lauri Nurmi Language-Team: Finnish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); LOHKOT- ja TAVUT-arvoihin voidaan liittää perään seuraavat kertoimet: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000², M 1024², GB 1000³, G 1024³, ja niin edelleen kertoimet T, P, E, Z, Y. Kukin MUUNNOS voi olla: Lisätietoja komennolla ”%s --help”. Tuntematon järjestelmävirheKäyttö: %s [OPERANDI]... tai: %s VALITSIN tiedoston %s tilan lukeminen ei onnistusuljetaan syötetiedosto %ssuljetaan tulostiedosto %svirheellinen määrä %stiedoston %s avaaminenvakiosyötevakiotulostetunnistamaton operandi %svaroitus: ohitetaan ytimen lseek-ohjelmistovika tiedostolle (%s) mt_type=0x%0lx -- katso tyyppien luettelo tiedostosta kirjoitettaessa tiedostoon %sdc3dd-7.1.614/po/quot.sed0000644000175000017500000000023111022023316014524 0ustar amedicoamedicos/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g dc3dd-7.1.614/po/sl.po0000644000175000017500000127223511233346647014060 0ustar amedicoamedico# -*- mode: po; coding: utf-8; -*- Slovenian message catalog for GNU coreutils. # Copyright (C) 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Primož Peterlin , 1996, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2008. # $Id: coreutils-6.11.sl.po,v 1.2 2008/04/23 07:26:18 peterlin Exp $ # msgid "" msgstr "" "Project-Id-Version: GNU coreutils 6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-04-23 09:26+0200\n" "Last-Translator: Primož Peterlin \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" "%100==4 ? 3 : 0);\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin in David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "ni mogoče ustvariti procesa za %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Poskusite »%s --help« za izčrpnejša navodila\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Uporaba: %s [OPERAND]...\n" " ali: %s IZBIRA\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Prepiši datoteko in jo pretvori in preoblikuj glede na izbire.\n" "\n" " bs=BAJTOV zahtevamo ibs=BAJTOV in obs=BAJTOV\n" " cbs=BAJTOV pretvori zahtevano število BAJTOV naenkrat\n" " conv=PRETVORBA pretvori datoteko, kot zahteva PRETVORBA (seznam gesel,\n" " ločen z vejicami)\n" " count=BLOKOV pretvori samo zahtevano število vhodnik BLOKOV\n" " ibs=BAJTOV beri po zahtevano število BAJTOV naenkrat\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=DATOTEKA beri z navedene DATOTEKE namesto s standardnega vhoda\n" " iflag=ZASTAVICA beri kot z vejicami ločen seznam simbolov\n" " obs=BAJTOV piši po zahtevano število BAJTOV naenkrat\n" " of=DATOTEKA piši na navedeno DATOTEKA namesto na standardni izhod\n" " oflag=ZASTAVICA piši kot z vejicami ločen seznam simbolov\n" " seek=BLOKOV na začetku pisanja preskoči zahtevano število BLOKOV\n" " dolžine obs\n" " skip=BLOKOV na začetku branja preskoči zahtevano število BLOKOV\n" " dolžine ibs\n" " status=noxfer brez statistike prenosa\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Število BAJTOV in BLOKOV lahko okrajšamo s priponami za množenje: xM za\n" "množenje z M, c za množenje z 1, w za množenje z 2, b za množenje s 512,\n" "kB za množenje s 1000, K za množenje s 1024. MB = 1000×1000, M = 1024×1024,\n" "GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y.\n" "PRETVORBA je lahko (več izbir ločimo z vejico):\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat ne zapiši izhodne datoteke\n" " excl prenehaj z delom, če izhodna datoteka že obstaja\n" " notrunc ne poreži izhodne datoteke\n" " ucase male črke zamenjaj z velikimi\n" " swab paroma zamenjaj bajte na vhodu\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror nadaljuj po napaki pri branju\n" " sync vsak vhodni blok zapolni z znaki NUL dolžine ibs; če smo podali\n" " tudi block ali unblock, zapolni s presledki namesto z znaki " "NUL\n" " fdatasync fizično zapiši izhodno datoteko pred zaključkom dela\n" " fsync enako, vendar zapiši tudi metapodatke \n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "ZASTAVICA je lahko:\n" "\n" " append dodajanje na konec datoteke (smiselno le pri izhodu; " "priporočeno\n" " conv=notrunc)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct uporabi neposredne vhodno-izhodne funkcije za podatke\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory opusti, razen če je imenik\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" " dsync uporabi sinhronizirane vhodno-izhodne funkcije za podatke\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync enako, a tudi za metapodatke\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock uporabi neblokirne vhodno-izhodne funkcije\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime ne ažuriraj časa zadnjega dostopa\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty ne določaj krmilnega terminala iz datoteke\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow ne sledi simbolnim povezavam\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks opusti, če je datoteka večkratno povezana\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary uporabi binarne vhodno-izhodne funkcije za podatke\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text uporabi besedilne vhodno-izhodne funkcije za podatke\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Če pošljemo tekočemu procesu »dd« signal %s, ta izpiše vhodno-izhodne\n" "statistike na standardni izhod za napake in nadaljuje z delom.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Izbire so:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Neznana sistemska napaka" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% zapisov na vhodu\n" "%+% zapisov na izhodu\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% bajtov (%s) prepisanih" msgstr[1] "% bajt (%s) prepisan" msgstr[2] "% bajta (%s) prepisana" msgstr[3] "% bajti (%s) prepisani" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "neskončno B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "zapiramo vhodno datoteko %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "zapiramo izhodno datoteko %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Pripone izhodnih datotek so izčrpane" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "odpiramo %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "NAPAKA" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "neprepoznan operand %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "neveljavni datum %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "neveljavna oblika datuma %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "neveljavna oblika datuma %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "neveljavna oblika datuma %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "neveljavna pretvorba" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "neveljavna vhodna zastavica" # ! INEXACT #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "neveljavno izhodna zastavica" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "neveljavna statusna zastavica" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "neveljavno število %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "pretvorbi excl in nocreat se medsebojno izključujeta" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "izbir -e in -i ni mogoče kombinirati" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "izbir -e in -i ni mogoče kombinirati" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "izbir -e in -i ni mogoče kombinirati" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "izbir -e in -i ni mogoče kombinirati" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "izbir -e in -i ni mogoče kombinirati" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "opozorilo: obvoz okoli napake lseek v jedru za datoteko (%s)\n" " vrste mt_type=0x%0lx -- glejte za seznam zvrsti" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "beremo %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: premik s »seek« ni mogoč" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "prekoračitev odmika pri branju datoteke %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "opozorilo: neveljavni odmik datoteke po napaki pri branju" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "napake v jedru ni bilo mogoče zaobiti" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "nastavljamo zastavice za %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "beremo imenik %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "beremo imenik %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "pišemo na %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync ni uspel za %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "fsync ni uspel za %s<" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standardni vhod" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standardni izhod" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "odmik prevelik: ni moč odrezati na dolžino seek=% (%lu-bajtnih) " "blokov" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "statusa %s ni moč ugotoviti s fstat" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "napredovali smo prek % bajtov v izhodni datoteki %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii iz EBCDIC v ASCII\n" #~ " ebcdic iz ASCII v EBCDIC\n" #~ " ibm iz ASCII v »alternate EBCDIC«\n" #~ " block zapise terminirane z NEWLINE zapolni z presledki do dolžine " #~ "cbs\n" #~ " unblock sledilne presledke v zapisu dolžine cbs nadomesti z NEWLINE\n" #~ " lcase velike črke zamenjaj z malimi\n" # ! INEXACT #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% odrezanih zapisov\n" #~ msgstr[1] "% odrezan zapis\n" #~ msgstr[2] "% odrezana zapisa\n" #~ msgstr[3] "% odrezani zapisi\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "pretvorbe ascii, ebcdic in ibm se medsebojno izključujejo" #~ msgid "cannot combine block and unblock" #~ msgstr "pretvorbi block in unblock se medsebojno izključujeta" # ! INEXACT #~ msgid "cannot combine lcase and ucase" #~ msgstr "pretvorbi lcase in ucase se medsebojno izključujeta" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "opozorilo: neveljavni odmik datoteke po napaki pri branju" #~ msgid "error writing %s" #~ msgstr "napaka pri pisanju na %s" #~ msgid "invalid argument %s for %s" #~ msgstr "neveljavni argument %s za %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "dvoumni argument %s za %s" #~ msgid "Valid arguments are:" #~ msgstr "Veljavni argumenti so:" #~ msgid "error closing file" #~ msgstr "napaka pri zapiranji datoteke" #~ msgid "write error" #~ msgstr "napaka pri pisanju" #~ msgid "preserving permissions for %s" #~ msgstr "ohranjena dovoljenja za %s" #~ msgid "cannot stat %s" #~ msgstr "statusa %s ni moč ugotoviti s stat" #~ msgid "regular empty file" #~ msgstr "navadna prazna datoteka" #~ msgid "regular file" #~ msgstr "navadna datoteka" #~ msgid "directory" #~ msgstr "imenik" #~ msgid "block special file" #~ msgstr "bločna enota" #~ msgid "character special file" #~ msgstr "znakovna enota" #~ msgid "fifo" #~ msgstr "FIFO" # ! INEXACT #~ msgid "symbolic link" #~ msgstr "simbolna povezava" #~ msgid "socket" #~ msgstr "vtičnica" #~ msgid "message queue" #~ msgstr "vrsta sporočil" #~ msgid "semaphore" #~ msgstr "semafor" #~ msgid "shared memory object" #~ msgstr "deljen pomnilniški predmet" #~ msgid "typed memory object" #~ msgstr "tipiziran pomnilniški predmet" #~ msgid "weird file" #~ msgstr "čudna datoteka" #~ msgid "Address family for hostname not supported" #~ msgstr "Družina naslovov za ime gostitelja ni podprta" #~ msgid "Temporary failure in name resolution" #~ msgstr "Razreševanje imena začasno ni uspelo" #~ msgid "Bad value for ai_flags" #~ msgstr "Slaba vrednost ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Nepopravljiv neuspeh pri razreševanju imena" #~ msgid "ai_family not supported" #~ msgstr "ai_family ni podprt" #~ msgid "Memory allocation failure" #~ msgstr "Dodelitev pomnilnika ni uspela" #~ msgid "No address associated with hostname" #~ msgstr "Z imenom gostitelja ni povezan noben naslov" #~ msgid "Name or service not known" #~ msgstr "Ime ali storitev ni poznana" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Servname ni podprt za ai_socktype" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype ni podprt" #~ msgid "System error" #~ msgstr "Sistemska napaka" #~ msgid "Argument buffer too small" #~ msgstr "Medpomnilnik za argumente premajhen" #~ msgid "Processing request in progress" #~ msgstr "Obdelava zahtevka v teku" #~ msgid "Request canceled" #~ msgstr "Zahtevek preklican" #~ msgid "Request not canceled" #~ msgstr "Zahtevek ni preklican" #~ msgid "All requests done" #~ msgstr "Vsi zahtevki obdelani" #~ msgid "Interrupted by a signal" #~ msgstr "Prekinjeno s signalom" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Parametrični niz nepravilno kodiran" #~ msgid "Unknown error" #~ msgstr "Neznana napaka" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: izbira »%s« je dvoumna\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: izbira »--%s« ne dovoljuje argumenta\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: izbira »%c%s« ne dovoljuje argumenta\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: izbira »%s« zahteva argument\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: neprepoznana izbira »--%s«\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: neprepoznana izbira »%c%s«\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: nedovoljena izbira -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: neveljavna izbira -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: izbira zahteva argument -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: izbira »-W %s« je dvoumna\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: izbira »-W %s« ne dovoljuje argumenta\n" #~ msgid "cannot change permissions of %s" #~ msgstr "dovoljenj %s ni mogoče spremeniti" #~ msgid "cannot create directory %s" #~ msgstr "imenika %s ni mogoče ustvariti" # ! INEXACT #~ msgid "memory exhausted" #~ msgstr "zmanjkalo pomnilnika" #~ msgid "unable to record current working directory" #~ msgstr "ni mogoče zabeležiti trenutnega delovnega imenika" #~ msgid "failed to return to initial working directory" #~ msgstr "vrnitev v začetni delovni imenik ni uspela" #~ msgid "`" #~ msgstr "»" #~ msgid "'" #~ msgstr "«" #~ msgid "%s: end of file" #~ msgstr "%s: konec datoteke" #~ msgid "Success" #~ msgstr "Uspešno" #~ msgid "No match" #~ msgstr "Brez zadetkov" #~ msgid "Invalid regular expression" #~ msgstr "Neveljaven regularni izraz" #~ msgid "Invalid collation character" #~ msgstr "Neveljaven razvrščevalni znak" #~ msgid "Invalid character class name" #~ msgstr "Neveljavno ime razreda znakov" #~ msgid "Trailing backslash" #~ msgstr "Zaključna obratna poševnica" #~ msgid "Invalid back reference" #~ msgstr "Neveljaven povratni sklic" #~ msgid "Unmatched [ or [^" #~ msgstr "Uklepaj [ ali [^ brez para" #~ msgid "Unmatched ( or \\(" #~ msgstr "Uklepaj ( ali \\( brez para" #~ msgid "Unmatched \\{" #~ msgstr "Uklepaj \\{ brez para" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Neveljavna vsebina \\{\\}" #~ msgid "Invalid range end" #~ msgstr "Neveljaven konec razpona" # ! INEXACT #~ msgid "Memory exhausted" #~ msgstr "Pomnilnik izčrpan" #~ msgid "Invalid preceding regular expression" #~ msgstr "Neveljaven predhodni regularni izraz" #~ msgid "Premature end of regular expression" #~ msgstr "Predčasen zaključek regularnega izraza" #~ msgid "Regular expression too big" #~ msgstr "Regularni izraz je preobsežen" #~ msgid "Unmatched ) or \\)" #~ msgstr "Zaklepaj ) ali \\) brez para" #~ msgid "No previous regular expression" #~ msgstr "Prejšnjega regularnega izraza ni" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "rekurzivno delovanje na %s je nevarno" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "rekurzivno delovanje na %s (isto kot %s) je nevarno" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "uporabite --no-preserve-root, da zaobidete to varovalko" #~ msgid "^[yY]" #~ msgstr "^[jJdD]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "nastavljena dovoljenja za %s" #~ msgid "iconv function not usable" #~ msgstr "funkcija iconv ne deluje" #~ msgid "iconv function not available" #~ msgstr "funkcija iconv ni na voljo" #~ msgid "character out of range" #~ msgstr "koda znaka izven obsega" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "znaka s kodo U+%04X ni mogoče pretvoriti v lokalni nabor znakov" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "znaka s kodo U+%04X ni moč pretvoriti v lokalni nabor znakov: %s" #~ msgid "invalid user" #~ msgstr "neveljavno uporabniško ime" #~ msgid "invalid group" #~ msgstr "neveljavno ime skupine" #~ msgid "invalid spec" #~ msgstr "neveljavna specifikacija" #~ msgid "(C)" #~ msgstr "©" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "GPLv3+: GNU GPL, 3. izdaja ali poznejša \n" #~ "To je prosto programje; lahko ga redistribuirate in/ali spreminjate.\n" #~ "Za izdelek ni NOBENEGA JAMSTVA, do z zakonom dovoljene meje.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Avtor(ica): %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Avtorja: %s in %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Avtorji: %s, %s in %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Avtorji: %s, %s, %s\n" #~ "in %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Avtorji: %s, %s, %s,\n" #~ "%s in %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Avtorji: %s, %s, %s,\n" #~ "%s, %s in %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Avtorji: %s, %s, %s,\n" #~ "%s, %s, %s in %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Avtorji: %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "in %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Avtorji: %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s in %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Avtorji: %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s in drugi.\n" #~ msgid "invalid argument: %s" #~ msgstr "neveljavni argument: %s" #~ msgid "string comparison failed" #~ msgstr "primerjanje nizov ni uspelo" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Nastavite LC_ALL='C', da bi odpravili težavo." #~ msgid "The strings compared were %s and %s." #~ msgstr "Primerjana niza sta bila %s in %s." #~ msgid "string transformation failed" #~ msgstr "pretvorba niza ni uspela" #~ msgid "The untransformed string was %s." #~ msgstr "Nepretvorjeni niz je bil %s." #~ msgid "cannot perform formatted output" #~ msgstr "oblikovanega izpisa ni mogoče izvesti" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "neveljavni %s%s argument »%s«" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "neveljavna pripona pri %s%s argumentu »%s«" #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s%s: argument »%s« je prevelik" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA] [DATOTEKA]\n" #~ "Base64 kodira ali dekodira DATOTEKO ali standardni vhod na standardni " #~ "izhod.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=ŠIRINA Vrstice prelomi tako, da so široke največ ŠIRINA " #~ "znakov\n" #~ " (privzeto 76). Vrednost ŠIRINA=0 onemogoči " #~ "prelom.\n" #~ "\n" #~ " -d, --decode Dekodiraj podatke.\n" #~ " -i, --ignore-garbage Pri dekodiranju ne upoštevaj nealfanumeričnih " #~ "znakov.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Ta navodila\n" #~ " --version Različica programa\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Če DATOTEKA ni podana, ali pa je enaka -, beremo s standardnega vhoda.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Podatki so kodirani skladno z abecedo base64, opisano v priporočilu RFC " #~ "3548.\n" #~ "Dekodiranje ob znakih abecede base64 tolerira znake za nove vrstice. " #~ "Uporabite\n" #~ "--ignore-garbage za poskus rekonstrukcije kodiranega toka, ki vsebuje še " #~ "druge\n" #~ "znake izven abecede base64.\n" #~ msgid "read error" #~ msgstr "napaka pri branju" #~ msgid "invalid input" #~ msgstr "neveljavni vhod" #~ msgid "invalid wrap size: %s" #~ msgstr "neveljavna širina: %s" #~ msgid "extra operand %s" #~ msgstr "odvečni operand %s" #~ msgid "closing standard input" #~ msgstr "zapiramo standardni vhod" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s IME [PRIPONA]\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Izpišemo IME datoteke brez celotne poti do nje. Če je podana PRIPONA,\n" #~ "izpišemo ime datoteke brez pripone.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Zgleda:\n" #~ " %s /usr/bin/sort Izhod: »sort«.\n" #~ " %s include/stdio.h .h Izhod: »stdin«.\n" #~ msgid "missing operand" #~ msgstr "manjkajoč operand" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjorn Granlund in Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Uporaba: %s [IZBIRA] [DATOTEKA]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Prepišemo DATOTEKO, več DATOTEK ali standardni vhod na standardni izhod.\n" #~ "\n" #~ " -A, --show-all enakovredno sestavljeni izbiri -vET\n" #~ " -b, --number-nonblank oštevilči neprazne izpisane vrstice\n" #~ " -e enakovredno sestavljeni izbiri -vE\n" #~ " -E, --show-ends izpiši $ na koncu vsake vrstice\n" #~ " -n, --number oštevilči vse izpisane vrstice\n" #~ " -s, --squeeze-blank zaporedje več praznih vrstic skrči v eno\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t enakovredno sestavljeni izbiri -vT\n" #~ " -T, --show-tabs prikaži znake TAB kot ^I\n" #~ " -u (se ne upošteva)\n" #~ " -v, --show-nonprinting krmilne znake razen LF in TAB izpiši kot ^ and " #~ "M-\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Zgleda:\n" #~ " %s f - g Izpiše vsebino datoteke »f«, zatem standardni vhod, zatem " #~ "vsebino »g«.\n" #~ " %s Prepiši vsebino standardnega vhoda na standardni izhod.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "ioctl na »%s« ni mogoč" #~ msgid "%s: input file is output file" #~ msgstr "%s: vhodna in izhodna datoteka sta isti" #, fuzzy #~ msgid "Jim Meyering" #~ msgstr "Jim Meyering in Paul Eggert" #~ msgid "failed to create security context: %s" #~ msgstr "ustvarjenje varnostnega konteksta ni uspelo: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "nastavitev %s varnostnega konteksta na %s ni bila uspešna" #~ msgid "failed to get security context of %s" #~ msgstr "branje varnostnega konteksta %s ni uspelo" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "delnega konteksta ni mogoče uporabiti na neoznačeni datoteki %s" #~ msgid "failed to change context of %s to %s" #~ msgstr "zamenava konteksta %s na %s ni uspela" #~ msgid "cannot access %s" #~ msgstr "dostop do %s ni mogoč" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "imenika %s ni mogoče prebrati" #~ msgid "changing security context of %s" #~ msgstr "spreminjamo varnostni kontekst %s" #~ msgid "fts_read failed" #~ msgstr "fts_read ni uspel" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... KONTEKST DATOTEKA...\n" #~ " ali: %s [IZBIRA]... [-u UPORABNIK] [-r VLOGA] [-l OBSEG] [-t TIP] " #~ "DATOTEKA...\n" #~ " ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA...\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Navedenim DATOTEKAM spremenimo varnostni kontekst v KONTEKST.\n" #~ "Z izbiro --reference, spremenimo vsem DATOTEKAM varnostni kontekst v " #~ "istega,\n" #~ "kot ga ima ZGLED.\n" #~ "\n" #~ " -c, --changes kot »verbose«, a samo ob spremembah\n" #~ " -h, --no-deferefence deluje na simbolne povezave, ne na ciljne " #~ "datoteke\n" #~ " (le v sistemih, kjer je na voljo klic lchown" #~ "(2))\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=ZGLED namesto izrecno navedenega KONTEKSTA tega " #~ "nastavimo\n" #~ " enako, kot ga ima nastavljen ZGLED\n" #~ " -R, --recursive rekurzivno obdelamo imenike in datoteke\n" #~ " -v, --verbose z diagnostiko za vsako obdelano datoteko\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=UPORABNIK nastavi UPORABNIKA v ciljnem varnostnem " #~ "kontekstu\n" #~ " -r, --role=VLOGA nastavi VLOGO v ciljnem varnostnem kontekstu\n" #~ " -t, --type=TIP nastavi TIP v ciljnem varnostnem kontekstu\n" #~ " -l, --range=OBSEG nastavi OBSEG v ciljnem varnostnem kontekstu\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Naslednje izbire vplivajo na to, kako je pri podani izbiri -R prečesano \n" #~ "datotečno drevo. Če je navedena več kot ena od naštetih izbir, se " #~ "upošteva\n" #~ "le zadnja.\n" #~ "\n" #~ " -H če je argument ukazne vrstice simbolna povezava " #~ "na\n" #~ " imenik, prečeši ta imenik\n" #~ " -L prečeši vse simbolne povezave na imenike, na " #~ "katere\n" #~ " naletiš\n" #~ " -P ne prečeši nobene simbolne povezave (privzeto)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference zahteva bodisi -H, bodisi -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h zahteva -P" #~ msgid "missing operand after %s" #~ msgstr "manjkajoč operand za %s" #~ msgid "invalid context: %s" #~ msgstr "neveljavni kontekst: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "podana določila varnostnega konteksta si nasprotujejo" #~ msgid "failed to get attributes of %s" #~ msgstr "branje prilastkov (atributov) %s ni uspelo" #~ msgid "invalid group: %s" #~ msgstr "neveljavna skupina: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... SKUPINA DATOTEKA...\n" #~ " ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Vsem DATOTEKAM spremenimo članstvo v navedeno SKUPINO.\n" #~ "Z izbiro --reference spremenimo vsem DATOTEKAM skupino v isto skupino,\n" #~ "kot jo ima ZGLED.\n" #~ "\n" #~ " -c, --changes kot »verbose«, a samo ob spremembah\n" #~ " --deferefence deluje na ciljne datoteke (privzeto), ne na \n" #~ " simbolne povezave\n" #~ " \n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference deluje na simbolne povezave, ne na ciljne " #~ "datoteke\n" #~ " (uporabno samo na sistemih, ki dovoljujejo " #~ "spremembo\n" #~ " lastništva simbolne povezave)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root imenika »/« ne obravnavamo posebej (privzeto)\n" #~ " --preserve-root ne dovoli rekurzivnega dela na »/«\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet brez večine opozoril o napakah\n" #~ " --reference=ZGLED namesto izrecno navedene SKUPINE jo nastavi \n" #~ " enako, kot jo ima ZGLED\n" #~ " -R, --recursive rekurzivno obdelaj imenike in datoteke\n" #~ " -v, --verbose z diagnostiko za vsako obdelano datoteko\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Zgleda:\n" #~ "\n" #~ " %s staff /u Spremeni skupino podimenika »/u« v »staff«.\n" #~ " %s -hR staff /u Spremeni skupino podimenika »/u« s podimeniki v " #~ "»staff«.\n" #~ msgid "getting new attributes of %s" #~ msgstr "beremo nove prilastke (atribute) %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "" #~ "tako simbolna povezava %s kot sklicevana datoteka/imenik sta " #~ "nespremenjena\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "zaščita datoteke %s spremenjena v %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "poskus spremembe zaščite datoteke %s v %04lo (%s) ni uspel\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "zaščita datoteke %s ohranjena kot %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "delovanje na obviseni simbolni povezavi %s ni mogoče" #~ msgid "changing permissions of %s" #~ msgstr "spreminjamo dovoljenja %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: nova dovoljenja so %s, ne %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... ZAŠČITA[,ZAŠČITA]... DATOTEKA...\n" #~ " ali: %s [IZBIRA]... OKTALNA_KODA DATOTEKA...\n" #~ " ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Spremenimo ZAŠČITO za DATOTEKO.\n" #~ "\n" #~ " -c, --changes kot »verbose«, a samo ob izvedenih spremembah\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root imenika »/« ne obravnavamo posebej (privzeto)\n" #~ " --preserve-root ne dovoli rekurzivnega dela na »/«\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet brez večine opozoril o napakah\n" #~ " -v, --verbose z diagnostiko za vsako obdelano datoteko\n" #~ " --reference=ZGLED namesto, da izrecno navedemo ZAŠČITO, to " #~ "nastavi\n" #~ " enako, kot jo ima ZGLED\n" #~ " -R, --recursive rekurzivno obdelaj imenike in datoteke\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Vsaka ZAŠČITA ima obliko »[ugoa]*([-+=]([rwxXst]*|[ugo]))+«.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "ni moč podati izbire --reference in še izrecno navesti ZAŠČITE" #~ msgid "invalid mode: %s" #~ msgstr "neveljavni način: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "zamenava lastništva %s na %s ni uspela\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "skupina %s spremenjena na %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "brez spremembe lastništva %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "zamenava lastništva %s na %s ni uspela\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "zamenjava skupine %s na %s ni uspela\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "zamenava lastništva %s ni uspela\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "lastnik datoteke %s ostaja %s\n" # ! INEXACT #~ msgid "group of %s retained as %s\n" #~ msgstr "skupina datoteke %s ohranjena kot %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "lastništvo datoteke %s nespremenjeno\n" #~ msgid "cannot dereference %s" #~ msgstr "ni mogoče slediti povezavi %s" #~ msgid "changing ownership of %s" #~ msgstr "spreminjamo lastništvo %s" #~ msgid "changing group of %s" #~ msgstr "spreminjamo skupino %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... [LASTNIK][:[SKUPINA]] DATOTEKA...\n" #~ " ali: %s [IZBIRA]... --reference=ZGLED DATOTEKA...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Spremeni LASTNIKA in/ali SKUPINO vsake navedene DATOTEKE na podani " #~ "vrednosti.\n" #~ "Pri podani izbiri --reference spremeni lastnika in/ali skupino na " #~ "vrednosti,\n" #~ "kot jih ima datoteka ZGLED.\n" #~ "\n" #~ " -c, --changes informativna obvestila ob spremembah\n" #~ " --dereference deluje na ciljne datoteke simbolnih povezav\n" #~ " (privzeto), ne pa na same simbolne povezave\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=TRENUTNI_LASTNIK:TRENUTNA_SKUPINA\n" #~ " lastnika in/ali skupino zamenjamo samo pri " #~ "tistih\n" #~ " datotekah, pri katerih trenutni lastnik in " #~ "skupina\n" #~ " ustrezata navedenima. Če lastnika ali skupino \n" #~ " izpustimo, ujemanje tega ni več pogoj.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet brez večine obvestil o napakah\n" #~ " --reference=ZGLED lastnika/skupino spremenimo na vrednost, kot " #~ "jo\n" #~ " ima ZGLED, namesto da podamo par LASTNIK:" #~ "SKUPINA\n" #~ " -R, --recursive rekurzivno obdelamo imenike in datoteke\n" #~ " -v, --verbose z izpisom diagnostike ob vsaki obdelani " #~ "datoteki\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Če ni podan, lastnik datoteke ostane isti. Skupina se ohrani, če ni " #~ "podana,\n" #~ "spremeni pa v skupino lastnika, če lastniku sledi dvopičje (:). LASTNIK " #~ "in\n" #~ "SKUPINA sta lahko podana s simbolno ali numerično vrednostjo.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Zgledi:\n" #~ " %s root /u Spremeni lastnika imenika »/u« v »root«.\n" #~ " %s root:staff /u Podobno, a obenem spremeni še njegovo skupino v " #~ "»staff«.\n" #~ " %s -hR root /u Spremeni lastnika imenika »/u« in podimenikov v " #~ "»root«.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s [NOVI_KOREN] [UKAZ...]\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Izvedemo UKAZ tako, da korenski imenik postavimo na KOREN.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Če UKAZ ni podan, izvedemo »${SHELL} -i« (privzeto /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "korenskega imenika ni mogoče prestaviti na %s" #~ msgid "cannot chdir to root directory" #~ msgstr "korenski imenik ni dosegljiv s chdir" #~ msgid "cannot run command %s" #~ msgstr "ukaza %s ni mogoče izvesti" #~ msgid "%s: file too long" #~ msgstr "%s: datoteka je predolga" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Uporaba: %s [DATOTEKA]...\n" #~ " ali: %s [IZBIRA]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Izpišemo nadzorno vsoto in dolžino v bajtih za vsako DATOTEKO.\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman in David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Uporaba: %s [IZBIRA]... DATOTEKA1 DATOTEKA2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "" #~ "Urejeni datoteki DATOTEKA1 in DATOTEKA2 primerjamo vrstico za vrstico.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Brez podanih izbir program izpiše tri stolpce. V prvem stolpcu so " #~ "vrstice,\n" #~ "ki se pojavijo le v DATOTEKI1, v drugem vrstice, ki se pojavijo le v " #~ "DATOTEKI2,\n" #~ "v tretjem pa vrstice, skupne obema datotekama.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 izpusti vrstice, ki se pojavijo samo v prvi datoteki\n" #~ " -2 izpusti vrstice, ki se pojavijo samo v drugi datoteki\n" #~ " -3 izpusti vrstice, ki se pojavijo v obeh datotekah\n" #~ msgid "clearing permissions for %s" #~ msgstr "brišemo dovoljenja za %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "lastništvo za %s ni bilo ohranjeno" #~ msgid "failed to lookup file %s" #~ msgstr "vpogled v datoteko %s ni mogoč" #~ msgid "failed to preserve authorship for %s" #~ msgstr "avtorstvo datoteke %s ni bilo ohranjeno" #~ msgid "cannot open %s for reading" #~ msgstr "datotek %s ni mogoče odpreti za branje" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "datoteko %s izpustimo, ker je bila med prepisom zamenjana" #~ msgid "failed to get file system create context" #~ msgstr "branje konteksta ustvarjenja datotečnega sistema ni uspelo" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "nastavitev varnostnega konteksta %s na %s ni uspela" #~ msgid "cannot remove %s" #~ msgstr "ni mogoče odstraniti %s" #~ msgid "removed %s\n" #~ msgstr "odstranjena %s\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "ne pišemo prek obvisene simbolne povezave %s" #~ msgid "cannot create regular file %s" #~ msgstr "ni mogoče ustvariti navadne datoteke %s" #~ msgid "cannot lseek %s" #~ msgstr "premikanje z lseek po %s ni mogoče" #~ msgid "writing %s" #~ msgstr "zapisujemo %s" #~ msgid "preserving times for %s" #~ msgstr "ohranjeni časi za %s" #~ msgid "closing %s" #~ msgstr "zapiramo %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: naj pišemo prek %s navzlic zaščiti %04lo (%s)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: naj pišemo prek %s? " #~ msgid " (backup: %s)" #~ msgstr " (varnostna kopija: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "povrnitev privzetega konteksta ustvarjenja datoteke ni uspela" #~ msgid "omitting directory %s" #~ msgstr "izpuščamo imenik %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "opozorilo: izvorna datoteka %s je podana več kot enkrat" #~ msgid "%s and %s are the same file" #~ msgstr "%s in %s sta ena in ista datoteka" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "prek ne-imenika %s ne moremo pisati imenika %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "prek pravkar ustvarjene datoteke %s ne moremo zapisati %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "prek imenika %s ne moremo zapisati ne-imenika" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "imenika ne moremo premakniti v ne-imenik: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "varnostna kopija %s bi uničila izvirnik; %s ni premaknjen" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "varnostna kopija %s bi uničila izvirnik; %s ni prepisan" #~ msgid "cannot backup %s" #~ msgstr "ni mogoče izdelati varnostne kopije %s" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "ne bomo prepisali %s prek pravkar ustvarjene simbolne povezave %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "imenika %s se ne da prepisati vase, v %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "ni mogoče ustvariti trde povezave %s na imenik %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "ni mogoče ustvariti trde povezave %s na %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "imenika %s se ne da premakniti v %s, ki je podimenik prvega" #~ msgid "cannot move %s to %s" #~ msgstr "ni mogoče premakniti %s v %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "premik med enotami ni uspel: %s v %s; cilja ni moč odstraniti" #~ msgid "failed to set default file creation context to %s" #~ msgstr "nastavitev privzetega konteksta datoteke na %s ni uspela" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "ni mogoče prepisati ciklične simbolne povezave %s" # ! INEXACT #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s: relativne simbolne povezave so mogoče samo znotraj imenika" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "ni mogoče ustvariti simbolne povezave %s na %s" #~ msgid "cannot create link %s" #~ msgstr "ni mogoče ustvariti povezave %s" #~ msgid "cannot create fifo %s" #~ msgstr "ni mogoče ustvariti FIFO %s" #~ msgid "cannot create special file %s" #~ msgstr "ni mogoče ustvariti posebne datoteke %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "ni mogoče prebrati simbolne povezave %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "ni mogoče ustvariti simbolne povezave %s" #~ msgid "%s has unknown file type" #~ msgstr "%s ima neznan tip datoteke" #~ msgid "cannot un-backup %s" #~ msgstr "ni mogoče odstraniti varnostne kopije %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (brez varnostne kopije)\n" # ! INEXACT #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... [-T] IZVOR CILJ\n" #~ " ali: %s [IZBIRA]... IZVOR... IMENIK\n" #~ " ali: %s [IZBIRA]... --target-directory=IMENIK IZVOR...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Prepišemo IZVOR v CILJ, ali več IZVOROV v IMENIK.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Obvezni argumenti, navedeni pri dolgi obliki izbire, veljajo tudi za " #~ "kratko.\n" # ! INEXACT #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive isto kot -dpPR\n" #~ " --backup[=TIP] pred pisanjem prek obstoječe ciljne " #~ "datoteke \n" #~ " izdelamo varnostno kopijo podanega TIPA\n" #~ " -b enako kot --backup, vendar ne sprejema " #~ "argumenta\n" #~ " --copy-contents pri rekurzivnem prepisovanju prepišemo " #~ "vsebino\n" #~ " posebnih datotek\n" #~ " -d isto kot --no-dereference --" #~ "preserve=links\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force če ciljne datoteke ni mogoče odpreti, jo\n" #~ " odstranimo in poskusimo znova\n" #~ " -i, --interactive pred vsakim pisanjem prek obstoječe " #~ "datoteko\n" #~ " zahtevamo potrditev\n" #~ " -H sledimo simbolnim povezavam v VIRU\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link ustvarimo trde povezave namesto kopij " #~ "datotek\n" #~ " -L, --dereference vedno sledimo simbolnim povezavam v VIRU\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference ne sledimo simbolnim povezavam v VIRU\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p isto kot --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=SEZN_PRIL] če je mogoče, ohranimo navedene prilastke\n" #~ " (atribute) datotek (privzeto: mode, " #~ "ownership,\n" #~ " timestamps; dodatno: context, links, " #~ "all)\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=SEZN_PRIL ne ohranimo navedenih prilastkov\n" #~ " --parents pot do vira dodaj v IMENIK\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive imenike prepišemo rekurzivno\n" #~ " --remove-destination vsako ciljno datoteko vedno odstranimo " #~ "pred\n" #~ " poskusom pisanja vanjo (prim. --force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=KDAJ kdaj ustvarimo razpršene datoteke\n" #~ " --strip-trailing-slashes odstrani zaključne poševnice iz vseh " #~ "podanih\n" #~ " IZVOROV\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link ustvari simbolne povezave namesto kopij\n" #~ " -S, --suffix=PRIPONA pripona varnostne kopije naj bo PRIPONA\n" #~ " --target-directory=IMENIK vse IZVORE premakni v IMENIK\n" #~ " -T, --no-target-directory obravnavaj CILJ kot navadno datoteko\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update prepiši samo. če je IZVOR novejši od CILJA " #~ "ali\n" #~ " kadar CILJ še ne obstaja\n" #~ " -v, --verbose z razlago poteka\n" #~ " -x, --one-file-system samo krajevni datotečni sistem\n" # ! INEXACT #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Po privzeti izbiri razpršene IZVORE ugotovimo z grobo hevristiko, " #~ "ustrezni\n" #~ "CILJI pa bodo tudi razpršeni. Isto dosežemo tudi z izbiro --sparse=auto.\n" #~ "Z izbiro --sparse=always bo CILJ razpršen vedno, kadar IZVOR vsebuje " #~ "dovolj\n" #~ "dolgo zaporedje znakov nič. Izbira --sparse=never vedno prepreči " #~ "ustvarjanje\n" #~ "razpršenih datotek.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Varnostna kopija ima pripono »~«, razen če ni z izbiro --suffix ali\n" #~ "spremenljivko SIMPLE_BACKUP_SUFFIX nastavljeno drugače. Vrsto varnostnih\n" #~ "kopij lahko nastavimo z izbiro --backup ali spremenljivko\n" #~ "VERSION_CONTROL. Možnosti so:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off nikoli ne delamo varnostne kopije, niti z izbiro --" #~ "backup\n" #~ " numbered, t oštevilčene varnostne kopije\n" #~ " existing, nil oštevilčene varnostne kopije, če take že obstajajo,\n" #~ " sicer enostavne\n" #~ " simple, never vedno enostavne varnostne kopije\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "V posebnem primeru napravi cp varnostno kopijo IZVORa, kadar sta podani " #~ "izbiri\n" #~ "--force in --backup, IZVOR in CILJ pa sta isto ime za obstoječo navadno\n" #~ "datoteko.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "časi za %s niso bili ohranjeni" #~ msgid "failed to preserve permissions for %s" #~ msgstr "dovoljenja datoteke %s niso ohranjena" #~ msgid "cannot make directory %s" #~ msgstr "ni mogoče ustvariti imenika %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s obstaja, vendar ni imenik" #~ msgid "accessing %s" #~ msgstr "dostopamo do %s" #~ msgid "missing file operand" #~ msgstr "manjkajoč operand datoteke" #~ msgid "missing destination file operand after %s" #~ msgstr "manjkajoč operand ciljne datoteke za %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Izbiri --target-directory (-t) in --no-target-directory (-T) se " #~ "izključujeta" #~ msgid "target %s is not a directory" #~ msgstr "cilj %s ni imenik" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "pri izbiri --parents mora biti cilj imenik" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "izbira --reply je odsvetovana; namesto nje uporabite -i ali -f" #~ msgid "multiple target directories specified" #~ msgstr "podanih je več ciljnih imenikov" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "hkratne trde in simbolne povezave niso mogoče" #~ msgid "backup type" #~ msgstr "vrsta varnostne kopije" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "" #~ "ohranitev varnostnega konteksta brez jedra s podporo SELinux ni mogoča" #~ msgid "input disappeared" #~ msgstr "vhod je izginil" #~ msgid "%s: line number out of range" #~ msgstr "%s: številka vrstice izven razpona" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: številka vrstice izven razpona" #~ msgid " on repetition %s\n" #~ msgstr " pri ponovitvi %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: ujemanja ni" #~ msgid "error in regular expression search" #~ msgstr "napaka pri iskanju z regularnimi izrazi" #~ msgid "write error for %s" #~ msgstr "napaka pri pisanju za %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: za razmejilnikom pričakovano celo število" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: pri ponovitvah je zahtevan »}«" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: med »{« in »}« je zahtevano celo število" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: manjkajoč zaključni razmejilnik »%c«" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: neveljavni regularni izraz: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: neveljavni vzorec" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: število vrstice mora biti pozitivno" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "številka vrstice %s je nižja od številke vrstice pred njo, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "opozorilo: številka vrstice %s je ista kot tista pred njo" #~ msgid "invalid format width" #~ msgstr "neveljavna širina oblike" #~ msgid "invalid format precision" #~ msgstr "neveljavna natančnost oblike" #~ msgid "missing conversion specifier in suffix" #~ msgstr "manjkajoče določilo pretvorbe v priponi" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "neveljavno določilo pretvorbe v priponi: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "neveljavno določilo pretvorbe v priponi: \\\\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "preveč določil pretvorbe %% v priponi" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "manjkajoče določilo pretvorbe %% v priponi" #~ msgid "%s: invalid number" #~ msgstr "%s: neveljavno število" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Uporaba: %s [IZBIRA]... DATOTEKA VZOREC...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Izpišemo kose DATOTEKE, ločene z VZORCEM in zapišemo v datoteke »xx01«, " #~ "»xx02«...,\n" #~ "število bajtov v vsakem posamičnem kosu pa izpišemo na standardni izhod.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=OBLIKA uporabi OBLIKO spritntf namesto %02d\n" #~ " -f, --prefix=PREDPONA uporabi podano PREDPONO namesto »xx«\n" #~ " -k, --keep-files ob napaki ne odstrani nepopolno zapisanih " #~ "datotek\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=ŠTEVKE uporabi navedeno število števk namesto " #~ "privzetih 2\n" #~ " -s, --quiet, --silent brez izpisa velikosti na standardni izhod\n" #~ " -z, --elide-empty-files odstrani prazne izhodne datoteke\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Če je DATOTEKA -, beremo s standardnega vhoda. VZOREC je lahko eden od:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " CELO_ŠTEVILO prepiši do navedene vrstice, ne vštevši te vrstice\n" #~ " /REGIZR/[ODMIK] prepiši do ODMIKA, ne vštevši ujemajoče se vrstice\n" #~ " %%REGIZR%%[ODMIK] preskoči na ODMIK, ne vštevši ujemajoče se " #~ "vrstice\n" #~ " {CELO_ŠTEVILO} ponovi prejšnji regularni izraz navedenokrat\n" #~ " {*} ponovi prejšnji regularni izraz, kolikorkrat gre\n" #~ "\n" #~ "Zapis vrstice ODMIKA je znak »+« ali »-«, ki mu sledi pozitivno celo " #~ "število.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "polja in pozicije se štejejo od 1 dalje" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Uporaba: %s IZBIRA... [DATOTEKA]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Izbrane dele vrstic iz vsake od navedenih DATOTEK izpišemo na standardni " #~ "izhod.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=SEZNAM izpiši samo navedene bajte\n" #~ " -c, --characters=SEZNAM izpiši samo navedene znake\n" #~ " -d, --delimiter=RAZMEJ polja so razmejena z znakom RAZMEJ namesto s " #~ "TAB\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=SEZNAM izpiši samo navedena polja; izpiši tudi vse " #~ "vrstice,\n" #~ " ki ne vsebujejo razmejilnika, razen če je " #~ "podana\n" #~ " izbira -s\n" #~ " -n (se ne upošteva)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement komplement množice izbranih bajtov, znakov ali " #~ "polj.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited ne izpiši vrstic, ki ne vsebujejo razmejilnika\n" #~ " --output-delimiter=NIZ naj bo NIZ razmejilnik na izhodu\n" #~ " privzeti izhodni razmejilnik je enak " #~ "vhodnemu\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Izbire -b, -c in -f se medsebojno izključujejo. Vsak SEZNAM lahko " #~ "sestavlja en\n" #~ "ali več razponov, ki so med seboj ločeni z vejico. Izbrani vhod je " #~ "zapisan v\n" #~ "istem vrstnem redu, kot je bil prebran, in je zapisan natanko enkrat.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Vsak razpon ima lahko obliko:\n" #~ "\n" #~ " N N-ti bajt, znak ali polje, šteto od 1 dalje\n" #~ " N- od N-tega bajta, znaka ali polja do konca vrstice\n" #~ " N-M od N-tega do vključno M-tega bajta, znaka ali polja\n" #~ " -M od prvega do vključno M-tega bajta, znaka ali polja\n" #~ "\n" #~ "Če DATOTEKA ni podana, ali če je enaka - (minusu), se bere standardni " #~ "vhod.\n" #~ msgid "invalid byte or field list" #~ msgstr "neveljavni seznam bajtov ali polj" #~ msgid "invalid range with no endpoint: -" #~ msgstr "neveljavni razpon brez končne točke: -" #~ msgid "invalid decreasing range" #~ msgstr "neveljavni padajoči razpon" #~ msgid "byte offset %s is too large" #~ msgstr "odmik %s (v bajtih) je prevelik" #~ msgid "field number %s is too large" #~ msgstr "številka polja %s je prevelika" #~ msgid "only one type of list may be specified" #~ msgstr "določen je lahko samo en tip seznama" #~ msgid "the delimiter must be a single character" #~ msgstr "razmejilnik mora biti en sam znak" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "podati je treba seznam bajtov, znakov ali polj" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "vhodni razmejilnik se sme določiti le, kadar delamo s polji" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "neizpisovanje vrstic, ki ne vsebujejo razmejilnika\n" #~ "\tje smiselno le, kadar delamo s polji" #~ msgid "missing list of fields" #~ msgstr "seznam polj manjka" #~ msgid "missing list of positions" #~ msgstr "seznam položajev manjka" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... [+OBLIKA]\n" #~ " ali: %s [-u|--utc|--universal] [MMDDuumm[[SS]LL][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Izpišemo trenutni čas v podani OBLIKI, ali pa nastavimo sistemski čas.\n" #~ "\n" #~ " -d, --date=NIZ izpiši čas podan v NIZU namesto trenutnega\n" #~ " -f, --file=DATOTEKA enako kot --date za vsako vrstico v DATOTEKI\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=DATOTEKA izpiši čas zadnje spremembe za navedeno " #~ "DATOTEKO\n" #~ " -R, --rfc-2822 čas izpiši skladno s priporočilom RFC-2822\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=DOLOČILO datum v obliki, skladni s priporočilom RFC-" #~ "3339\n" #~ " DOLOČILO je lahko »date«, »seconds« ali »ns«\n" #~ " za datum in uro v navedeni natančnosti.\n" #~ " -s, --set=NIZ nastavi čas na v NIZU podano vrednost\n" #~ " -u, --utc, --universal izpis ali nastavitev časa v UTC namesto v " #~ "lokalnem\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "Izpis določa izbrana OBLIKA. Edina veljavna izbira pri drugi obliki " #~ "ukaza\n" #~ "določa čas v UTC. Tolmač razume naslednja zaporedja:\n" #~ "\n" #~ " %% dobesedni znak za procent %%\n" #~ " %a lokalizirano okrajšano ime dneva v tednu (npr. ned)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A lokalizirano polno ime dneva v tednu, spremen. širine (npr. " #~ "nedelja)\n" #~ " %b lokalizirano okrajšano ime meseca (npr. jan)\n" #~ " %B lokalizirano polno ime meseca, spremenljive širine (npr. januar)\n" #~ " %c lokaliziran izpis datuma in ure (sob 04 nov 1989 12:02:33 CET)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C stoletje; kot %Y, vendar brez zadnjih dveh števk (npr. 21)\n" #~ " %d dan v mesecu (npr. 01)\n" #~ " %D datum; isto kot %m/%d/%y\n" #~ " %e dan v mesecu, dopolnjen s presledki; isto kot %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F poln datum; isto kot %Y-%m-%d\n" #~ " %g dvoštevilčno leto, ustrezajoče številki tedna ISO (glejte %G)\n" #~ " %G štirištevilčno leto, ustrezajoče številki tedna ISO (glejte %V);\n" #~ " praviloma uporabno le v kombinaciji z %V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h isto kot %b\n" #~ " %H ura (00..23)\n" #~ " %I ura (01..12)\n" #~ " %j dan v letu (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k ura ( 0..23)\n" #~ " %l ura ( 1..12)\n" #~ " %m mesec (01..12)\n" #~ " %M minuta (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n nova vrstica\n" #~ " %N nanosekunde (000000000..999999999)\n" #~ " %p lokalizirana oznaka za dopoldanske (AM) ali popoldanske (PM) ure\n" #~ " %P isto kot %P, a z malimi črkami\n" #~ " %r čas v lokaliziranem 12-urnem zapisu (npr. 11:11:04 PM)\n" #~ " %R čas v 24-urnem zapisu; isto kot %H:%M\n" #~ " %s sekunde od 00:00:00, 1970-01-01 UTC\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S sekunde (00..60) (60 samo v primeru prestopne sekunde)\n" #~ " %t vodoravni tabulator\n" #~ " %T čas v 24-urnem zapisu; isto kot %H:%M:%S\n" #~ " %u dan v tednu (1..7); 1 je ponedeljek\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U številka tedna v letu z nedeljo kot prvim dnevom v tednu (00..53)\n" #~ " %V številka tedna ISO, s ponedeljkom kot prvim dnevom v tednu " #~ "(01..53)\n" #~ " %w dan v tednu (0..6); 0 predstavlja nedeljo\n" #~ " %W številka tedna v letu s ponedeljkom kot prvim dnevom v tednu " #~ "(00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x lokaliziran zapis datuma (npr. 21/31/99)\n" #~ " %X lokaliziran zapis ure (npr. 23:13:48)\n" #~ " %y zadnji dve števki leta (00..99)\n" #~ " %Y leto\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z časovni pas v številčnem zapisu +hhmm (npr. +0100)\n" #~ " %:z časovni pas v številčnem zapisu +hh:mm (npr. +01:00)\n" #~ " %::z časovni pas v številčnem zapisu +hh:mm:ss (npr. +01:00:00)\n" #~ " %:::z časovni pas v številčnem zapisu; število dvopičij ustreza " #~ "zahtevani\n" #~ " natančnosti (npr. +04, +05:30)\n" #~ " %Z alfanumerična okrajšava časovnega pasu (npr. CET)\n" #~ "\n" #~ "Privzeto so številčna polja v datumu do polne dolžine polja dopolnjena\n" #~ "z ničlami.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Naslednja neobvezna določila lahko sledijo znaku »%«:\n" #~ "\n" #~ " »-« (minus) ne dopolnjuj polja\n" #~ " »_« (podčrtaj) dopolni polje s presledki\n" #~ " »0« (ničla) dopolni polje z ničlami\n" #~ " »^« če je mogoče, uporabi velike črke\n" #~ " »#« če je mogoče, uporabi nasprotne črke\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Vsaki izbiri sledi neobvezna širina polja, navedena kot desetiško " #~ "število,\n" #~ "zatem neobvezni modifikator, ki je nekaj od naslednjega:\n" #~ "»E« za lokalizirano alternativno predstavitev, če je ta na voljo, ali\n" #~ "»O« za lokalizirane alternativne številčne simbole, če so ti na voljo.\n" #~ msgid "multiple output formats specified" #~ msgstr "podana je več kot ena oblika izhoda" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "izbire pri določanju datumov za izpis se medsebojno izključujejo" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "izbiri za izpis in nastavitev datuma se medsebojno izključujeta" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "argumentu %s manjka vodilni »+«;\n" #~ "Kadar določamo datum, morajo biti vsi argumenti, ki niso izbire,\n" #~ "določitelji oblike datuma in se morajo začeti s »+«." #~ msgid "cannot set date" #~ msgstr "datuma ni mogoče nastaviti" #~ msgid "time %s is out of range" #~ msgstr "čas %s je izven razpona" #~ msgid "Filesystem Type" #~ msgstr "Dat. sist. Tip" #~ msgid "Filesystem " #~ msgstr "Dat. sist. " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inodov IUpor IPros IUpo%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Vel. Upor Prost Upo%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Vel. Upor. Prost Upo%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-blokov Upor. Na voljo Kapacit." #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-blokov Upor. Na voljo Upo%%" #~ msgid " Mounted on\n" #~ msgstr " Priklopljeno na\n" #~ msgid "cannot get current directory" #~ msgstr "trenutnega imenika ni mogoče ugotoviti" #~ msgid "cannot change to directory %s" #~ msgstr "imenik %s ni dosegljiv" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "statistike trenutnega imenika (zdaj %s) ni moč ugotoviti" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Uporaba: %s [IZBIRA]... [DATOTEKA]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Izpišemo informacije o datotečnem sistemu, na katerem se nahaja " #~ "DATOTEKA,\n" #~ "ali (privzeto) o vseh datotečnih sistemih.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all vključno s praznimi datotečnimi sistemi\n" #~ " -B, --block-size=VELIKOST uporabljamo VELIKOST bajtov velike bloke\n" #~ " -h, --human-readable velikosti v človeku umljivi obliki (npr. 1K 234M " #~ "2G)\n" #~ " -H, --si podobno kot -h, vendar z bazo 1000 namesto 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes izpis informacije o inode namesto o porabi " #~ "blokov\n" #~ " -k isto kot --block-size=1K\n" #~ " -l, --local omejimo seznam na lokalni datotečni sistem\n" #~ " --no-sync brez klica sync() pred izpisom porabe (privzeto)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability izhodni format POSIX\n" #~ " --sync klic sync() pred izpisom porabe\n" #~ " -t, --type=TIP samo datotečni sistemi tipa TIP\n" #~ " -T, --print-type izpis datotečnega sistem\n" #~ " -x, --exclude-type=TIP brez datotečnih sistemov tipa TIP\n" #~ " -v (se ne upošteva)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST je ena od naslednjih oznak (ali pa celo število, ki mu lahko " #~ "sledi\n" #~ "ena od naslednjih oznak): kB 1000, K 1024, MB 1000×1000, M 1024×1024 in " #~ "tako\n" #~ "dalje za G, T, P, E, Z in Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "tip datotečnega sistema %s je obenem izbran in izločen" #~ msgid "Warning: " #~ msgstr "Opozorilo: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "tabele priklopljenih datotečnih sistemov ni moč prebrati" #~ msgid "no file systems processed" #~ msgstr "obdelan ni bil noben datotečni sistem" # ! INEXACT #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Uporaba: %s [IZBIRA]... [DATOTEKA]...\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Izpis ukazov za nastavitev spremenljivke LS_COLORS.\n" #~ "\n" #~ "Določitev oblike izhoda:\n" #~ " -b, --sh, --bourne-shell oblika Bournove ukazne lupine za " #~ "nastavitev \n" #~ " spremenljivke LS_COLORS\n" #~ " -c, --csh, --c-shell oblika ukazne lupine C za nastavitev " #~ "LS_COLORS\n" #~ " -p, --print-database izpis privzeth vrednosti\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Če je DATOTEKA podana, iz nje preberemo, katero barvo uporabimo za kateri " #~ "tip\n" #~ "datotek oziroma pripon. Sicer se uporabi vgrajena tabela. Za podrobnosti " #~ "o \n" #~ "skladnji datoteke poženite »dircolors --print-database«.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: neveljavna vrstica; manjka drugi element" # ! INEXACT #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: neprepoznana ključna beseda %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "izpis privzetih vrednosti (izbira --print-data-base, -p) ni združljiv\n" #~ "z izbiro sintakse ukazne lupine" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "" #~ "Datotečnih operandov ne moremo kombinirati z izbiro --print-database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "spremenljivka SHELL ni nastavljena, niti ni podan tip ukazne lupine" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s IME\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Izpišemo IME brez elementa za zadnjo poševnico (/); če IME ne vsebuje\n" #~ "poševnic, izpišemo ».« (pomeni trenutni imenik).\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Zgleda:\n" #~ " %s /usr/bin/sort Izhod: »/usr/bin«.\n" #~ " %s stdio.h Izhod: ».«.\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... [DATOTEKA]...\n" #~ " ali: %s [IZBIRA]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Povzetek porabe diska za datoteko DATOTEKA, rekurzivno po podimenikih.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all izpis za vse datoteke, ne le za imenike\n" #~ " --apparent-size izpis navidezne dolžine namesto porabe diska; " #~ "slednja \n" #~ " je navadno večja, v določenih primerih " #~ "(razpršene\n" #~ " datoteke, notranja fragmentiranost, indirektni " #~ "bloki\n" #~ " ipd.) pa je lahko tudi manjša\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=VELIKOST štejemo v VELIKOST bajtov velikih blokih\n" #~ " -b, --bytes isto kot »--apparent-size --block-size=1«\n" #~ " -c, --total skupni povzetek\n" #~ " -D, --dereference-args razrešimo le simbolne povezave, navedene v " #~ "ukazni vrstici\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=S poraba diska za datoteke, navedene v datoteki S;\n" #~ " datoteke v seznamu morajo biti ločene z znakom " #~ "NUL\n" #~ " -H podobno kot --si, a z dodatnim opozorilom; izbira " #~ "se bo\n" #~ " kmalu spremenila v sopomenko --dereference-args " #~ "(-D)\n" #~ " -h, --human-readable velikosti v človeku berljivem zapisu (npr. 1K " #~ "234M 2G)\n" #~ " --si podobno kot -h, vendar v bazi 1000 namesto 1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k isto kot --block-size=1K\n" #~ " -l, --count-links trde povezeva štejemo po večkrat\n" #~ " -m isto kot --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference sledimo vsem simbolnim povezavam, štejemo ciljne " #~ "datoteke\n" #~ " -P, --no-dereference ne sledimo nobeni simbolni povezavi (privzeto)\n" #~ " -O, --null vsako izhodno vrstico zaključimo z znakom NUL " #~ "namesto NL\n" #~ " -S, --separate-dirs brez velikosti podimenikov\n" #~ " -s, --summarize za vsak argument samo povzetek\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system brez imenikov na ostalih datotečnih sistemih\n" #~ " -X DATOTEKA, --exclude-from=DATOTEKA brez datotek, ki jih pokriva " #~ "vzorec, \n" #~ " podan v DATOTEKI\n" #~ " --exclude=VZOREC brez datotek, ki jih pokriva podani VZOREC\n" #~ " --max-depth=N razčlenjeni izpis samo za imenike (in datoteke " #~ "pri\n" #~ " izbiri --all), ki so N ali manj ravni pod v " #~ "ukazni \n" #~ " lupini navedenim imenikom; --max-depth=0 je isto " #~ "kot\n" #~ " --summarize\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time prikaži čas zadnje spremembe katerekoli datoteke " #~ "v\n" #~ " imeniku ali kateregakoli od podimenikov\n" #~ " --time=BESEDA prikaži čas kot BESEDA namesto časa zadnje " #~ "spremembe:\n" #~ " atime, access, use, ctime ali status\n" #~ " --time-style=SLOG prikaži čas z uporabo navedenega SLOGA\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT se tolmači kot pri ukazu »date«\n" #~ msgid "total" #~ msgstr "skupno" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "OPOZORILO: uporabljajte --si, ne -H; pomen izbire -H se bo kmalu " #~ "spremenil\n" #~ "in postal sopomenka za --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "neveljavna največja globina %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "izbira --megabytes je odsvetovana; namesto nje uporabite -m" #~ msgid "cannot both summarize and show all entries" #~ msgstr "možnosti se izključujeta - ali izpis vseh, ali povzetek" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "opozorilo: povzetek je isto kot izbira --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "opozorilo: povzetek se izključuje z --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Datotečnih operandov ne moremo kombinirati z izbiro --files0-from." # POZOR!!! Razisci, kaj program res tu pocne! # ! INEXACT #~ msgid "cannot read file names from %s" #~ msgstr "ni mogoče prebrati imen datotek iz %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "Pri branju imen datotek s standardnega vhoda ime %s ni dovoljeno." # ! INEXACT #~ msgid "invalid zero-length file name" #~ msgstr "neveljavno ime (dolžina nič) datoteke" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Uporaba: %s [IZBIRA]... [NIZ]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Izpišemo NIZ ali več NIZOV na standardni izhod.\n" #~ "\n" #~ " -n ne izpisuj končnega znaka za novo vrstico\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e pri izpisu tolmači spodaj navedena ubežna zaporedja " #~ "(privzeto)\n" #~ " -E onemogoči tolmačenje ubežnih zaporedij v NIZIH\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Če je veljavna izbira -e, pri izpisu prepoznamo in tolmačimo naslednja\n" #~ "ubežna zaporedja:\n" #~ "\n" #~ " \\ONNN znak s kodo NNN (osmiško) v trenutnem kodnem naboru\n" #~ " \\\\ nagibnica\n" #~ " \\a zvonček (BEL)\n" #~ " \\b pomik za znak nazaj\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c ne izpiši končnega znaka za skok v novo vrstico\n" #~ " \\f skok na novo stran\n" #~ " \\n skok v novo vrstico\n" #~ " \\r povratek na začetek vrstice\n" #~ " \\t horizontalni tabulator\n" #~ " \\v vertikalni tabulator\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Mlynarik in David MacKenzie" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... [-] [IME=VREDNOST]... [UKAZ [ARGUMENT]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Določi VREDNOST spremenljivki okolja z danim IMENOM in poženi UKAZ.\n" #~ "\n" #~ " -i, --ignore-environment začni iz praznega okolja\n" #~ " -u, --unset=IME odstrani spremenljivko z navedenim IMENOM iz " #~ "okolja\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Sam - implicira -i. Če UKAZ ni podan, izpišemo spremenljivke okolja.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Tabulatorje v vsaki od DATOTEK nadomestimo s presledki in rezultat " #~ "izpišemo\n" #~ "na standardni izhod. Če DATOTEKA ni podana, ali če je enaka - (minus), " #~ "beremo\n" #~ "s standardnega vhoda.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial nadomesti samo tabulatorje, ki sledijo praznim " #~ "znakom\n" #~ " -t, --tabs=ŠIRINA ŠIRINA tabulatorja naj bo navedeno namesto 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=SEZNAM uporabi z vejicami ločen SEZNAM eksplicitnih " #~ "tabulatorjev\n" #~ msgid "tab stop is too large %s" #~ msgstr "tabulator je prevelik %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "širina tabulatorja vsebuje neveljavni(-e) znak(e): %s" #~ msgid "tab size cannot be 0" #~ msgstr "širina tabulatorja ne more biti 0" #~ msgid "tab sizes must be ascending" #~ msgstr "seznam tabulatorjev mora biti naraščajoč" #~ msgid "input line is too long" #~ msgstr "vhodna vrstica je predolga" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Mike Haertel in Paul Eggert" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s IZRAZ\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Ovrednoten IZRAZ izpišemo na standardni izhod. Operatorji v spodnjem\n" #~ "seznamu so razvrščeni po naraščajoči prednosti, prazna vrstica loči\n" #~ "skupine z isto prednostjo. Vrednost IZRAZA je lahko:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1, če ta ni prazen ali enak 0, sicer ARG2\n" #~ " \n" #~ " ARG1 & ARG2 ARG1, če ni noben argumentov prazen ali enak 0, sicer " #~ "0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 je manjši od ARG2\n" #~ " ARG1 <= ARG2 ARG1 je manjši ali enak ARG2\n" #~ " ARG1 = ARG2 ARG1 je enak ARG2\n" #~ " ARG1 != ARG2 ARG1 ni enak ARG2\n" #~ " ARG1 >= ARG2 ARG1 je večji ali enak ARG2\n" #~ " ARG1 > ARG2 ARG1 je večji od ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 aritmetična vsota ARG1 in ARG2\n" #~ " ARG1 - ARG2 aritmetična razlika ARG1 in ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 aritmetični produkt ARG1 in ARG2\n" #~ " ARG1 / ARG2 aritmetični količnik pri deljenju ARG1 z ARG2\n" #~ " ARG1 % ARG2 aritmetični ostanek pri deljenju ARG1 z ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " NIZ : REGIZR ujemanje NIZA s sidranim regularnim izrazom REGIZR\n" #~ "\n" #~ " match STRING REGIZR isto kot NIZ : REGIZR\n" #~ " substr NIZ POLOŽAJ DOLŽINA podniz NIZA, POLOŽAJ se šteje od 1 " #~ "dalje \n" #~ " index NIZ ZNAKI mesto v NIZU, kjer se nahajajo ZNAKI, " #~ "sicer 0\n" #~ " length NIZ dožina NIZA\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + SIMBOL ravnaj s SIMBOLOM, kot da je NIZ, čeprav " #~ "je\n" #~ " ključna beseda kot »match« ali operator " #~ "kot »/«\n" #~ "\n" #~ " ( IZRAZ ) vrednost IZRAZA\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Pazite na to, da morajo mnogi operatorji biti zavarovani z nagibnico \\\n" #~ "ali narekovaji, da jih ne interpretira ukazna lupina. Primerjave so\n" #~ "aritmetične, če sta oba argumenta števili, sicer leksikografske. " #~ "Ujemanje\n" #~ "vzorcev vrne niz med oklepajema \\( in \\) ali pa prazen niz; če \\( in " #~ "\\)\n" #~ "nista podana, vrne število znakov, ki se ujemajo, ali 0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Izhodni status je 0, če IZRAZ ni prazen ali enak 0; 1, če je IZRAZ prazen " #~ "ali 0;\n" #~ "2, če IZRAZ ni skladenjsko pravilen; 3, če je prišlo do napake.\n" #~ msgid "syntax error" #~ msgstr "napaka v skladnji" #~ msgid "error in regular expression matcher" #~ msgstr "napaka v ujemalniku z regularnimi izrazi" #~ msgid "non-numeric argument" #~ msgstr "ne-številčni argument" #~ msgid "division by zero" #~ msgstr "deljenje z nič" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s [ŠTEVILO]...\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Vsa podana ŠTEVILA razstavimo na prafaktorje in slednje izpišemo.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Izpiše prafaktorje za vsa podana cela ŠTEVILA. Če niso podana kot\n" #~ "argument v ukazni vrstici, jih beremo s standardnega vhoda.\n" #~ msgid "%s is too large" #~ msgstr "%s je preveliko" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s ni veljavno pozitivno celo število" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Uporaba: %s [-ŠTEVKE] [IZBIRA]... [DATOTEKA]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vsak odstavek v DATOTEKI(-ah) preoblikujemo in izpišemo na standardni " #~ "izhod.\n" #~ "Če DATOTEKA ni podana ali je enaka »-« (minus), beremo s standardnega " #~ "vhoda.\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin ohrani zamik prvih dveh vrstic\n" #~ " -p, --prefix=NIZ preoblikuj samo vrstice, ki se začno z " #~ "NIZOM,\n" #~ " tega pridaj oblikovanim vrsticam\n" #~ " -s, --split-only poreži predolge vrstice, a brez poravnave\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph zamik prve vrstice v odstavku je različen od " #~ "druge\n" #~ " -u, --uniform-spacing en presledek med besedami, dva za piko\n" #~ " -w, --width=ŠIRINA največja širina vrstice (privzeto 75 znakov)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "neveljavna izbira -- %c; -WIDTH je prepoznana le, če je navedena kot " #~ "prva\n" #~ "izbira; namesto tega uporabite -w N" #~ msgid "invalid width: %s" #~ msgstr "neveljavna širina: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Vrstice v vsaki DATOTEKI na vhodu (privzet je standardni vhod) prelomimo\n" #~ "in rezultat izpišemo na standardni izhod.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes štejemo bajte namesto znakov\n" #~ " -s, --spaces prelom na presledkih\n" #~ " -w, --width=ŠIRINA nastavimo ŠIRINO vrstic (privzeto 80)\n" #~ msgid "invalid number of columns: %s" #~ msgstr "neveljavno število stoplcev: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "branje skupine za uporabnika %s ni uspelo" #~ msgid "failed to get groups for the current process" #~ msgstr "branje skupine za trenutni proces ni uspelo" #~ msgid "cannot find name for group ID %lu" #~ msgstr "ime skupine za GID %lu ni ugotovljivo" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Uporaba: %s [IZBIRA]... [UPORABNIK]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "Izpiše podatke za UPORABNIKA, ali, če UPORABNIK ni podan, za \n" #~ "trenutni proces (ki je drugačen, če se je baza groups vmes spremenila).\n" #~ msgid "%s: No such user" #~ msgstr "%s: Uporabnik ne obstaja" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Izpišemo prvih 10 vrstic vsake od DATOTEK na standardni izhod.\n" #~ "Če je podana več kot ena DATOTEKA, pred vsebino izpišemo še ime " #~ "datoteke.\n" #~ "Če DATOTEKA ni podana, ali če je enaka -, beremo s standardnega vhoda.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N izpiši prvih N bajtov vsake datoteke;\n" #~ " če številu predhodi »-«, izpiši vse razen " #~ "zadnjih\n" #~ " N bajtov vsake datoteke\n" #~ " -n, --lines=[-]N izpiši prvih N vrstic vsake datoteke namesto " #~ "prvih 10;\n" #~ " če številu predhodi »-«, izpiši vse razen " #~ "zadnjih\n" #~ " N vrstic vsake datoteke\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent vedno brez izpisa imena datoteke\n" #~ " -v, --verbose vedno izpišemo še ime datoteke\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "N ima lahko množiteljsko pripono:\n" #~ "b za množenje s 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024,\n" #~ "GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y.\n" #~ msgid "error reading %s" #~ msgstr "napaka pri branju %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: datoteka se je preveč skrčila" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: število bajtov je preveliko" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: premik na začetni položaj ni mogoč" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: premik na odmik %s ni mogoč" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "ni mogoče premakniti datotečnega kazalca za %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s je tako veliko, da ni predstavljivo" #~ msgid "number of lines" #~ msgstr "število vrstic" #~ msgid "number of bytes" #~ msgstr "število bajtov" #~ msgid "invalid number of lines" #~ msgstr "neveljavno število vrstic" #~ msgid "invalid number of bytes" #~ msgstr "neveljavno število bajtov" #~ msgid "invalid trailing option -- %c" #~ msgstr "neveljavna zaključna izbira -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s\n" #~ " ali: %s IZBIRA\n" #~ "Izpišemo (šestnajstiško) identifikacijsko številko trenutnega " #~ "računalnika.\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s [IME]\n" #~ " ali: %s IZBIRA\n" #~ "Izpišemo ali nastavimo gostiteljsko ime trenutnega sistema.\n" #~ msgid "cannot set name to %s" #~ msgstr "imena ni moč nastaviti na %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "na tem sistemu imena računalnika ni mogoče nastavljati" #~ msgid "cannot determine hostname" #~ msgstr "imena računalnika ni mogoče ugotoviti" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Izpišemo informacije o navedenem UPORABNIKU ali pa o trenutnem " #~ "uporabniku.\n" #~ "\n" #~ " -a (se ne upošteva, združljivost z ostalimi različicami)\n" #~ " -Z, --context izpiši le varnostni kontekst danega uporabnika\n" #~ " -g, --group izpiši le efektivno številko skupine (GID)\n" #~ " -G, --groups izpiši številke vseh skupin\n" #~ " -n, --name pri izbirah -ugG izpiši ime uporabnika namesto " #~ "številke\n" #~ " -r, --real izpiši pravi ID namesto efektivnega, skupaj z -ugG\n" #~ " -u, --user izpiši le efektivno številko uporabnika (UID)\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Brez navedene IZBIRE izpišemo nekaj uporabnih identifikacijskih " #~ "informacij.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "--context (-Z) deluje samo pri jedru s podporo SELinux" #~ msgid "cannot print security context when user specified" #~ msgstr "izpis varnostnega konteksta ni mogoč ob podanem uporabniku" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "izpis varnostnega konteksta ni mogoč, če ni omogočen SELinux ali ob\n" #~ "izpisu ID za drugega uporabnika" #~ msgid "can't get process context" #~ msgstr "konteksta procesa ni mogoče pridobiti" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "ni mogoče izpisati le nečesa, če je podanih več možnosti" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "v privzeti obliki ni možen izpis samo imen ali realnih ID" #~ msgid "cannot find name for user ID %lu" #~ msgstr "uporabniško ime za UID %lu ni ugotovljivo" #~ msgid " groups=" #~ msgstr " skupine=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "opozorilo: %s: sprememba konteksta na %s ni uspela" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Opozorilo: določilo --preserve-context ni upoštevano; jedro ne podpira " #~ "SELinux." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "" #~ "Opozorilo: izbira --context (-Z) ni upoštevana; jedro ne podpira SELinux" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "opcija »strip« ni dovoljena pri namestitvi imenika" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "navedba ciljnega imenika ni dovoljena pri namestitvi imenika" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "konteksta ni mogoče nastaviti na %s in ga obenem ohraniti" #~ msgid "invalid mode %s" #~ msgstr "neveljavni način %s" #~ msgid "cannot change ownership of %s" #~ msgstr "lastništva %s ni mogoče spremeniti" #~ msgid "cannot set time stamps for %s" #~ msgstr "datoteke %s ni moč časovno označiti" #~ msgid "fork system call failed" #~ msgstr "vejitev ni mogoča" #~ msgid "cannot run strip" #~ msgstr "ni mogoče pognati »strip«" #~ msgid "waiting for strip" #~ msgstr "čakamo na »strip«" #~ msgid "strip process terminated abnormally" #~ msgstr "proces »strip« se je zaključil nenormalno" #~ msgid "invalid user %s" #~ msgstr "neveljavno ime uporabnika %s" #~ msgid "invalid group %s" #~ msgstr "neveljavno ime skupine %s" #~ msgid "creating directory %s" #~ msgstr "ustvarjamo imenik %s" # ! INEXACT #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... [-T] IZVOR CILJ\n" #~ " ali: %s [IZBIRA]... IZVOR... IMENIK\n" #~ " ali: %s [IZBIRA]... -t IMENIK IZVOR...\n" #~ " ali: %s [IZBIRA]... -d IMENIK...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "V prvih treh oblikah prepišemo IZVOR na CILJ ali več IZVOROV v IMENIK\n" #~ "ter obenem nastavimo zaščito, lastnika in skupino. V četrti obliki\n" #~ "ustvarimo nov IMENIK ali več IMENIKOV s podanimi lastnostmi.\n" #~ "\n" # ! INEXACT #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=TIP] pred pisanjem prek obstoječe ciljne datoteke \n" #~ " izdelamo varnostno kopijo podanega TIPA\n" #~ " -b enako kot --backup, vendar ne sprejema argumenta\n" #~ " -c (se ne upošteva)\n" #~ " -d, --directory vse argumente obravnavamo kot imena imenikov; " #~ "ustvarimo\n" #~ " vse komponente podanih imenikov\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D ustvarimo vse vodilne komponente CILJA razen " #~ "zadnje,\n" #~ " zatem prepišemo IZVOR na CILJ\n" #~ " -g, --group=SKUPINA uporabniška skupina, namesto skupine trenutnega " #~ "procesa\n" #~ " -m, --mode=ZAŠČITA zaščita (kot v chmod), namesto privzete rwxr-xr-x\n" #~ " -o, --owner=LASTNIK lastnik (samo superuporabnik)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps ohranimo čas dostopa/spremembe, kot jih ima " #~ "IZVOR\n" #~ " -s, --strip ogulimo simbolne tabele\n" #~ " -S, --suffix=PRIPONA izrecno navedemo pripono varnostnih kopij\n" #~ " -t, --target-directory=IMENIK prepiši vse IZVORE v IMENIK\n" #~ " -T, --no-target-directory obravnavaj CILJ kot navadno datoteko\n" #~ " -v, --verbose z izpisom imen vseh ustvarjenih imenikov\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context ohrani varnostni kontekst SELinux\n" #~ " -Z, --context=KONTEKST nastavi varnostni kontekst SELinux datotek in " #~ "imenikov\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Varnostna kopija ima pripono »~«, razen če ni z izbiro --suffix ali\n" #~ "spremenljivko SIMPLE_BACKUP_SUFFIX nastavljeno drugače. Vrsto varnostnih\n" #~ "kopij lahko nastavimo z izbiro --backup ali spremenljivko\n" #~ "VERSION_CONTROL. Možnosti so:\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Mike Haertel in Paul Eggert" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Za vsak par vrstic na vhodu z enakimi združitvenimi polji izpišemo " #~ "vrstico\n" #~ "na standardni izhod. Privzeto združitveno polje je prvo, ločeno s " #~ "praznim\n" #~ "prostorom. Če sta DATOTEKA1 ali DATOTEKA2 (ne pa obe hkrati) enaki -, " #~ "beremo\n" #~ "s standardnega vhoda.\n" #~ "\n" #~ " -a DATOTEKA izpišemo vrstice brez para, ki izvirajo iz navedene \n" #~ " DATOTEKE (spremenljivka DATOTEKA lahko zavzame " #~ "vrednosti\n" #~ " 1 ali 2, kar ustreza DATOTEKI1 in DATOTEKI2)\n" #~ " -e PRAZNO manjkajoče vhodno polje nadomestimo z nizom PRAZNO\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case pri primerjanju obravnavamo velike in male črke " #~ "enako\n" #~ " -j POLJE isto kot »-1 POLJE -2 POLJE«\n" #~ " -o OBLIKA pri izpisu uporabimo predpisano OBLIKO\n" #~ " -t ZNAK navedeni ZNAK naj bo ločilo med polji na vhodu in " #~ "izhodu\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v DATOTEKA isto kot -a DATOTEKA, vendar brez združenih izhodnih " #~ "vrstic\n" #~ " -1 POLJE združujemo glede na navedeno POLJE v prvi datoteki\n" #~ " -2 POLJE združujemo glede na navedeno POLJE v drugi datoteki\n" #~ " --check-order preveri, ali je vhod pravilno urejen, četudi so\n" #~ " vse vhodne vrstice s pari\n" #~ " --nocheck-order ne preverjaj, ali je vhod pravilno urejen\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Če izbira -t ZNAK ni podana, vodilni presledki ločujejo polja in se ne\n" #~ "upoštevajo, sicer pa ločuje polja ZNAK. POLJE je številka polja, šteto od " #~ "1\n" #~ "dalje. OBLIKA je eno ali več z vejico ali presledkom ločenih določil, " #~ "vsako \n" #~ "od njih je oblike »DATOTEKA.POLJE« ali »0«. Privzeta OBLIKA izpiše " #~ "združitveno\n" #~ "polje, vsa preostala polja iz DATOTEKE1, in zatem še vsa preostala polja " #~ "iz\n" #~ "DATOTEKE2; ločilo med polji je ZNAK.\n" #~ "\n" #~ "Pomembno: DATOTEKA1 in DATOTEKA2 morata biti urejeni po polju, po " #~ "katerem\n" #~ "ju združujemo. Če »join« ne podamo izbir npr. uporabimo »sort -k 1b,1«.\n" #~ "Če vhod ni urejen in nekaterih vrstic ni mogoče združiti, bo izpisano\n" #~ "opozorilno sporočilo.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "Datoteka %d ni urejena" #~ msgid "invalid field number: %s" #~ msgstr "neveljavna številka polja: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "neveljavno določilo polja: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "neveljavna številka datoteke v določilu polja: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "nezdružljivi združevalni polji %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "nasprotujoča si niza za nadomestitev praznega polja" #~ msgid "empty tab" #~ msgstr "prazen tabulator" #~ msgid "multi-character tab %s" #~ msgstr "večznakovni tabulator %s" #~ msgid "incompatible tabs" #~ msgstr "nezdružljivi tabulatorji" #~ msgid "both files cannot be standard input" #~ msgstr "obeh datotek ne moremo hkrati brati s standardnega vhoda" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Uporaba: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " ali: %s -l [SIGNAL]...\n" #~ " ali: %s -t [SIGNAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Procesom pošljemo signale, ali pa izpišemo signale.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " določimo ime ali številko signala, ki ga želimo " #~ "poslati\n" #~ " -l, --list izpišemo imena signalov, ali pretvorimo številko " #~ "signala\n" #~ " v ime (ali obratno)\n" #~ " -t, --table izpišemo tabelo signalnih informacij\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SIGNAL lahko podamo z imenom (npr. HUP) ali številko (npr. 1),\n" #~ "ali pa z izhodno statusno kodo procesa, ustavljenega s signalom.\n" #~ "PID (identifikacijska številkoa uporabnika) je celo število; negativna \n" #~ "vrednost določa identifikacijko številko skupine.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: neveljavni signal" #~ msgid "%s: invalid process id" #~ msgstr "%s: neveljavna identifikacijska številka procesa" #~ msgid "invalid option -- %c" #~ msgstr "neveljavna izbira -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: podan več kot en signal" #~ msgid "multiple -l or -t options specified" #~ msgstr "hkrati sta podani izbiri -l in -t" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "signala ni moč kombinirati z izbirama -l ali -t" #~ msgid "no process ID specified" #~ msgstr "številka procesa (PID) ni določena" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s DATOTEKA1 DATOTEKA2\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "S klicem funkcije link(2) ustvarimo povezavo med povezavo DATOTEKO2 in\n" #~ "obstoječo DATOTEKO1.\n" #~ msgid "cannot create link %s to %s" #~ msgstr "ni mogoče ustvariti povezave %s na %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "%s: opozorilo: trda povezava na simbolno povezavo ni prenosljiva" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: trda pozezava ni dovoljena za imenik" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: ni mogoče pisati prek imenika" #~ msgid "%s: replace %s? " #~ msgstr "%s: naj nadomestimo %s? " #~ msgid "creating symbolic link %s" #~ msgstr "ustvarjamo simbolno povezavo %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "ustvarjamo simbolno povezavo %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "ustvarjamo trdo povezavo %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "ustvarjamo trdo povezavo %s" #~ msgid "creating hard link %s => %s" #~ msgstr "ustvarjamo trdo povezavo %s => %s" # ! INEXACT #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... [-T] CILJ POVEZAVA (prva oblika)\n" #~ " ali: %s [IZBIRA]... CILJ (druga oblika)\n" #~ " ali: %s [IZBIRA]... CILJ... IMENIK (tretja oblika)\n" #~ " ali: %s [IZBIRA]... -t IMENIK CILJ (četrta oblika)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "V prvi obliki ustvarimo povezavo do določenega CILJA z imenom POVEZAVE.\n" #~ "V drugi obliki se ustvari povezava do CILJA v trenutnem imeniku.\n" #~ "V tretji in četrti povezavi ustvarimo povezavo do vsakega CILJA v " #~ "navedenem\n" #~ "IMENIKU. Privzeti tip povezav so trde povezave; simbolne zahtevamo\n" #~ "z izbiro --symbolic. Pri ustvarjanju trdih povezav morajo CILJI " #~ "obstajati.\n" #~ "\n" # ! INEXACT #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=TIP] pred pisanjem prek obstoječe ciljne " #~ "datoteke\n" #~ " izdelamo varnostno kopijo podanega TIPA\n" #~ " -b enako kot --backup, vendar ne sprejema " #~ "argumenta\n" #~ " -d, -F, --directory trde povezave imenikov (samo " #~ "naduporabnik;\n" #~ " zaradi sistemskih omejitev izbira morda " #~ "ni\n" #~ " mogoča)\n" #~ " -f, --force odstranimo morebitne obstoječe ciljne " #~ "datoteke\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference obravnavaj simbolne povezave na imenik " #~ "kot\n" #~ " navadne datoteke\n" #~ " -i, --interactive zahtevaj potrditev pred odstranitvijo " #~ "datoteke\n" #~ " -s, --symbolic simbolne povezave namesto trdih\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=PRIPONA izrecno določena pripona varnostne kopije\n" #~ " -t, --target-directory=IMENIK izrecna navedba IMENIKA, v katerem " #~ "ustvari\n" #~ " povezave\n" #~ " -T, --no-target-directory obravnavaj POVEZAVO kot navadno datoteko\n" #~ " -v, --verbose z izpisom imen datotek, ki jih povezujemo\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "Izbiri --target-directory in --no-target-directory se izključujeta" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Uporaba: %s [IZBIRA]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Izpišemo uporabniško ime trenutnega uporabnika.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "uporabniško ime manjka" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" # ! INEXACT #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "ne upoštevamo neveljavne vrednosti spremenljivke QUOTING_STYLE: %s" # ! INEXACT #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "ne upoštevamo neveljavne širine v spremenljivki COLUMNS: %s" # ! INEXACT #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "ne upoštevamo neveljavnega tabulatorja v spremenljivki TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "neveljavna širina vrstice: %s" #~ msgid "invalid tab size: %s" #~ msgstr "neveljavni tabulator: %s" #~ msgid "invalid time style format %s" #~ msgstr "neveljavna oblika ure %s" # ! INEXACT #~ msgid "unrecognized prefix: %s" #~ msgstr "neprepoznana predpona: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "vrednosti v spremenljivki LS_COLORS ni moč raztolmačiti" #~ msgid "cannot open directory %s" #~ msgstr "imenika %s ni mogoče odpreti" #~ msgid "cannot determine device and inode of %s" #~ msgstr "ni mogoče ugotoviti enote in inoda datoteke %s" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: že izpisanega imenika ne podvajamo" #~ msgid "closing directory %s" #~ msgstr "zapiramo imenik %s" # ! INEXACT #~ msgid "cannot compare file names %s and %s" #~ msgstr "ni mogoče primerjati imen datotek %s in %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Izpis informacij o DATOTEKAH (privzeto vse datoteke v trenutnem " #~ "imeniku),\n" #~ "urejenih po abecedi, če ni podana nobena od izbir -cftuvSUX ali --sort.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all tudi imena, ki se začnejo s piko\n" #~ " -A, --almost-all tudi imena, ki se začnejo s piko, a brez ».« " #~ "in »..«\n" #~ " --author skupaj z -l: izpis avtorja datoteke\n" #~ " -b, --escape izpis osmiške kode za neizpisljive znake\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=VELIKOST merjeno v VELIKOST bajtov velikih blokih\n" #~ " -B, --ignore-backups ne izpisuj varnostnih kopij, ki se končajo z " #~ "~\n" #~ " -c razvrščeno po datumu zadnje spremembe;\n" #~ " skupaj z -lt: prikaži čas zadnje spremembe " #~ "stanja\n" #~ " (ctime) in uredi po njem;\n" #~ " skupaj z -l: prikaži ctime, urejeno po " #~ "imenih;\n" #~ " sicer: urejeno po ctime\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C imena izpišemo v stolpcih\n" #~ " --color[=KDAJ] kdaj se uporabijo barve za označitev tipa " #~ "datoteke\n" #~ " Možnosti so »never«, »always« in »auto«\n" #~ " -d, --directory izpis imen imenika(-ov) namesto njihove " #~ "vsebine,\n" #~ " brez sledenja simbolnim povezavam\n" #~ " -D, --dired izpis primeren za način »dired« v Emacsu\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f brez razvrščanja; omogoči -aU, onemogoči -ls " #~ "--color\n" #~ " -F, --classify s pripono (*/=@|) označi tip datoteke\n" #~ " --file-type podobno, vendar ne pripenja »*«\n" #~ " --format=BESEDA across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time kot -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g kot -l, vendar brez izpisa lastnika\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " združi imenike pred datotekami\n" #~ " mogoča je dopolnitev z izbiro --sort, " #~ "raba\n" #~ " --sort=none (-U) onemogoči združevanje\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group kot -l, vendar brez izpisa skupine\n" #~ " -h, --human-readable skupaj z -l izpiši velikost v človeku " #~ "umljivem\n" #~ " zapisu (npr.1K 234M 2G)\n" #~ " --si podobno kot -h, vendar v bazi 1000 namesto " #~ "1024\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line sledimo simbolnim povezavam v ukazni " #~ "vrstici\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " sledimo vsem simbolnim povezavam v ukazni " #~ "vrstici,\n" #~ " ki kažejo na imenike\n" #~ " --hide=VZOREC brez impliciranih vnosov, opisanih z " #~ "VZORCEM\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=BESEDA imenom datotek pripnemo indikator: BESEDA " #~ "sme\n" #~ " biti »none« (privzeto), »slash« (-p), " #~ "»file-type«\n" #~ " (--file-type) ali »classify« (-F)\n" #~ " -i, --inode izpis inoda pri vsaki datoteki\n" #~ " -I, --ignore=VZOREC pri izpisu izpusti imena, ki ustrezajo " #~ "VZORCU\n" #~ " -k isto kot --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l dolga oblika izpisa\n" #~ " -L, --dereference izpis imen datotek, na katere kažejo " #~ "simbolne\n" #~ " povezave, namesto simbolnih povezav\n" #~ " -m z vejicami ločena imena prek celotne širine " #~ "vrstice\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid številčne vrednosti UID in GID namesto imen\n" #~ " -N, --literal izpis imen v neobdelani obliki (npr. " #~ "krmilnih\n" #~ " znakov ne obravnavamo posebno)\n" #~ " -o dolga oblika izpisa brez uporabniške " #~ "skupine\n" #~ " -p, --indicator-style=slash imenike označimo s pripono »/«\n" # ! INEXACT #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars namesto krmilnih znakov izpišemo vprašaje " #~ "(?)\n" #~ " --show-control-chars neobdelan izpis krmilnih znakov (privzeta " #~ "izbira,\n" #~ " razen pri ukazu »ls« in izhodu na " #~ "terminal)\n" #~ " -Q, --quote-name imena izpišemo v dvojnih narekovajih\n" #~ " --quoting-style=BESEDA slog izpisa; BESEDA je lahko »literal«, " #~ "»locale«,\n" #~ " »shell«, »shell-always«, »c« ali »escape«\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse razvrstitev po obrnjenem vrstnem redu\n" #~ " -R, --recursive rekurziven izpis podimenikov\n" #~ " -s, --size izpis velikosti datotek (v blokih)\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S datoteke uredi po velikosti\n" #~ " --sort=BESEDA namesto po imenu uredi po: brez urejanja \n" #~ " (BESEDA=none), priponi (extension), času " #~ "nastanka\n" #~ " (time) ali različici (version)\n" #~ " --time=BESEDA skupaj z -l: namesto časa zadnje spremembe " #~ "prikaži\n" #~ " čas nastanka (BESEDA=ctime ali status) ali " #~ "čas\n" #~ " zadnjega dostopa (atime, access ali use); " #~ "skupaj\n" #~ " z izbiro --sort=time tudi uredi po " #~ "izbranem času\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=SLOG skupaj z -l: čas prikaži glede na slog, " #~ "podan s \n" #~ " SLOGOM: full-iso, iso, locale, posix-iso, " #~ "+OBLIKA\n" #~ " OBLIKO tolmačimo kot pri ukazu »date«; če " #~ "je\n" #~ " OBLIKA enaka OBLIKA1OBLIKA2, " #~ "velja\n" #~ " prva za stare datoteke, druga pa za nove;\n" #~ " če se SLOG začne s predpono »posix-«, " #~ "velja\n" #~ " podani slog samo izven krajevnega okolja " #~ "POSIX\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t ureditev po datumu zadnje modifikacije\n" #~ " -T, --tabsize=STOLPCEV tabulator nastavljen na STOLPCEV namesto na " #~ "8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u ureditev po datumu zadnjega dostopa;\n" #~ " skupaj z -l: pokaži datum zadnjega " #~ "dostopa\n" #~ " -U brez urejanja; kot so v imeniku\n" #~ " -v urejanje po številki različice\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=STOLPCEV širina zaslova STOLPCEV namesto trenutne " #~ "vrednosti\n" #~ " -x izpis urejen v vrstice namesto v stolpce\n" #~ " -X abecedna ureditev po priponah\n" #~ " -Z, --context izpis varnostnega konteksta SELinux za vsako " #~ "datoteko\n" #~ " -1 izpis po eno datoteko v vrstici\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Privzeto se barve ne uporabljajo za označevanje vrste datoteke. To je\n" #~ "enakovredno izbiri --color=none. Izbira --color brez argumenta KDAJ je\n" #~ "enakovredna --color=always. Pri izbiri --color=auto se barve uporabijo " #~ "samo,\n" #~ "kadar je standardni izhod terminal (tty). Na rabo barv vpliva lupinska\n" #~ "spremenljivka LS_COLORS, ki jo lahko nastavljamo z ukazom »dircolors«.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Izhodni status je enak 0, če je vse v redu; 1, če je prišlo do manjših " #~ "težav;\n" #~ "2, če je prišlo do večjih težav.\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper in Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Paul Rubin in David MacKenzie" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA] [DATOTEKA]...\n" #~ "Izpiše ali preveri nadzorne vsote %s (%d-bitne).\n" #~ "Če DATOTEKA ni podana ali če je enaka -, se bere s standardnega vhoda.\n" #~ "\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary beri binarno (privzeto, razen pri branju s " #~ "terminala)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary beri binarno\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check preberi %s vsot iz DATOTEK in jih preveri\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text beri besedilno (privzeto pri branju s " #~ "terminala)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text beri besedilno (privzeto)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Naslednji dve izbiri sta uporabni le pri preverjanju nadzornih vsot:\n" #~ " --status brez izpisa, izhodna statusna koda kaže uspeh\n" #~ " -w, --warn z opozorili pri nepravilno oblikovanih " #~ "vrsticah\n" #~ " z nadzornimi vsotami MD5\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Izračun nadzornih vsot je opisan v %s. Pri preverjanju mora biti " #~ "datoteka\n" #~ "z vrednostmi v enaki obliki kot izpis programa. Privzet način je izpis\n" #~ "vrstice z nadzorno vsoto, statusnim znakom (»*« za binarne, » « za " #~ "besedilne\n" #~ "datoteke) in imenom DATOTEKE, za katero je bila izračunana nadzorna " #~ "vsota.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: preveč vrstic z nadzorno vsoto" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: nepravilno oblikovana vrstica z nadzorno vsoto %s" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: NAPAKA pri odpiranju ali branju\n" #~ msgid "OK" #~ msgstr "V REDU" #~ msgid "%s: read error" #~ msgstr "%s: napaka pri branju" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: nobene pravilno oblikovane vrstice z nadzorno vsoto %s ni najti" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "OPOZORILO: % od % navedenih datotek se ne da prebrati" #~ msgstr[1] "" #~ "OPOZORILO: % od % navedene datoteke se ne da prebrati" #~ msgstr[2] "" #~ "OPOZORILO: % od % navedenih datotek se ne da prebrati" #~ msgstr[3] "" #~ "OPOZORILO: % od % navedenih datotek se ne da prebrati" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "OPOZORILO: % od % nadzornih vsot se NE ujema." #~ msgstr[1] "OPOZORILO: % od % nadzorne vsote se NE ujema." #~ msgstr[2] "OPOZORILO: % od % nadzornih vsot se NE ujema." #~ msgstr[3] "OPOZORILO: % od % nadzornih vsot se NE ujema." #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "izbiri --binary in --text nista smiselni pri preverjanju nadzornih vsot" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "izbira --status je smiselna samo pri preverjanju nadzornih vsot" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "izbira --warn je smiselna samo pri preverjanju nadzornih vsot" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Uporaba: %s [IZBIRA] IMENIK...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Ustvari IMENIK (ali več imenikov), če ta še ne obstaja.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=ZAŠČITA nastavi zaščito (kot pri chmod) namesto privzete\n" #~ " a=rwx - umask\n" #~ " -p, --parents brez opozorila če imenik obstaja; po potrebi ustvari\n" #~ " še starševske imenike\n" #~ " -v, --verbose z obvestilom o vsakem ustvarjenem imeniku\n" #~ " -Z, --context=KONTEKST nastavi varnostni kontekst za vsak ustvarjeni " #~ "imenik\n" #~ " na KONTEKST\n" #~ msgid "created directory %s" #~ msgstr "ustvarjen imenik %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Uporaba: %s [IZBIRA] IME...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Ustvarimo poimenovano cev (FIFO) z navedenim IMENOM.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=CTX za vsako IME nastavi varnostni kontekst SELinux na " #~ "CTX\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=ZAŠČITA nastavi bite ZAŠČITE namesto privzete a=rw - umask\n" #~ msgid "invalid mode" #~ msgstr "napačna zaščita" #~ msgid "mode must specify only file permission bits" #~ msgstr "način mora določiti le bite dovoljenja za dostop do datoteke" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Uporaba: %s [IZBIRA]... IME TIP [GLAVNO POMOŽNO]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Ustvarimo posebno datoteko navedenega TIPA z navedenim IMENOM.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=CTX nastavi varnostni kontekst SELinux za IME na CTX\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "GLAVNO in POMOŽNO število moramo vedno navesti za TIP b, c ali u, ne " #~ "smemo pa\n" #~ "ju navesti pri TIPU p. Če se GLAVNO ali POMOŽNO število začne z 0x ali " #~ "0X, se\n" #~ "ga tolmači kot šestnajstiško število; če se začne z vodilno ničko, kot " #~ "osmiško,\n" #~ "sicer pa kot desetiško število. TIP je lahko:\n" # ! INEXACT #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b ustvarimo bločno enoto (z medpomnilnikom)\n" #~ " c, u ustvarimo znakovno enoto (brez medpomnilnika)\n" #~ " p ustvarimo FIFO\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Posebne datoteke zahtevajo, da sta podani glavno in pomožno število " #~ "naprave" #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Poimenovane cevi nimajo glavnih in pomožnih števil naprave" #~ msgid "block special files not supported" #~ msgstr "bločne enote niso podprte" #~ msgid "character special files not supported" #~ msgstr "znakovne enote niso podprte" #~ msgid "invalid major device number %s" #~ msgstr "neveljavno GLAVNO število enote %s" #~ msgid "invalid minor device number %s" #~ msgstr "neveljavno POMOŽNO število enote %s" #~ msgid "invalid device %s %s" #~ msgstr "neveljavna enota %s %s" #~ msgid "invalid device type %s" #~ msgstr "neveljavna vrsta naprave %s" # ! INEXACT #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Uporaba: %s [IZBIRA]... [PREDLOGA]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Varno ustvari začasno datoteko ali imenik in izpiši njeno ime.\n" #~ "Če PREDLOGA ni podana, uporabi tmp.XXXXXXXXXX.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory ustvari imenik, ne datoteke\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet brez poročila o neuspelem ustvarjanju datoteke/" #~ "imenika\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr " -u, --dry-run ne ustvari ničesar, le izpiše ime (ni varno)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=IMENIK] tolmači PREDLOGO relativno glede na IMENIK. Če " #~ "IMENIK ni\n" #~ " določen, uporabi $TMPDIR, in če ta ni nastavljen, /" #~ "tmp.\n" #~ " Pri tej izbiri PREDLOGA ne sme biti absolutna pot.\n" #~ " Za razliko od -t lahko PREDLOGA vsebuje poševnice, " #~ "toda\n" #~ " tudi tu mktemp ustvari samo zadnjo komponento.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p IMENIK uporabi IMENIK kot predpono; implicira -t " #~ "(odsvetovano)\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t tolmači PREDLOGO kot eno samo komponento imena " #~ "datoteke,\n" #~ " relativno glede na imenik: $TMPDIR, če je " #~ "nastavljen;\n" #~ " imenik, določen s -p; ali /tmp (odsvetovano).\n" #~ msgid "too many templates" #~ msgstr "preveč predlog" #~ msgid "too few X's in template %s" #~ msgstr "premalo mest (X) v predlogi %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "neveljavna predloga, %s, vsebuje ločilnike imenikov" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "neveljavna predloga, %s; pri izbiri --tmpdir ne sme biti absolutna" #~ msgid "failed to create directory via template %s" #~ msgstr "ustvarjenje imenika s predlogo %s ni uspelo" #~ msgid "failed to create file via template %s" #~ msgstr "ustvarjenje datoteke s predlogo %s ni uspelo" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Preimenujemo IZVOR v CILJ, ali več IZVOROV v IMENIK.\n" #~ "\n" # ! INEXACT #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=TIP] pred pisanjem prek obstoječe ciljne " #~ "datoteke \n" #~ " izdelaj varnostno kopijo podanega TIPA\n" #~ " -b enako kot --backup, vendar ne sprejema " #~ "argumenta\n" #~ " -f, --force brez vprašanj piši prek obstoječih CILJEV\n" #~ " -i, --interactive zahtevaj potrditev pred pisanjem prek " #~ "obstoječega\n" #~ " CILJA\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes odstrani zaključne poševnice iz vseh " #~ "podanih\n" #~ " IZVOROV\n" #~ " -S, --suffix=PRIPONA izrecno navedena PRIPONA varnostnih kopij\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=IMENIK vse IZVORE premakni v navedeni IMENIK\n" #~ " -T, --no-target-directory obravnavaj CILJ kot navadno datoteko\n" #~ " -u, --update datoteko premakni samo, če je novejša od\n" #~ " obstoječe ciljne ali če ciljna ne " #~ "obstaja\n" #~ " -v, --verbose z razlago poteka\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Uporaba: %s [IZBIRA]... [UKAZ [ARGUMENT]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Požene UKAZ s spremenjeno vrednost »nice«, kar vpliva na prioriteto " #~ "izvajanja.\n" #~ "Če UKAZ ni podan, izpiše trenutno raven prioritete. Vrednosti »nice« so " #~ "med \n" #~ "%d (najvišja prioriteta) in %d (najnižja).\n" #~ "\n" #~ " -n, --adjustment=POPRAVEK povečaj raven za POPRAVEK (privzeto 10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "neveljavni popravek %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "ob podanem popravku ravni moramo podati tudi ukaz" #~ msgid "cannot get niceness" #~ msgstr "prioriteta izvajanja ni ugotovljiva" #~ msgid "cannot set niceness" #~ msgstr "prioritete izvajanja ni mogoče nastaviti" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vsako od DATOTEK prepišemo na standardni izhod in spotoma oštevilčimo " #~ "vrstice.\n" #~ "Če DATOTEKA ni podana, ali če je enaka -, beremo s standardnega vhoda.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=SLOG uporabi SLOG pri oštevilčenju vrstic " #~ "telesa\n" #~ " -d, --section-delimiter=CC uporabi CC pri ločitvi logičnih strani\n" #~ " -f, --footer-numbering=SLOG uporabi SLOG pri oštevilčenju znožja " #~ "strani\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=SLOG uporabi SLOG pri oštevilčenju zglavja " #~ "strani\n" #~ " -i, --page-increment=ŠTEVILO številke vrstic inkrementiraj po " #~ "ŠTEVILO\n" #~ " -l, --join-blank-lines=ŠTEVILO skupino ŠTEVILA praznih vrstic štej kot " #~ "eno\n" #~ " -n, --number-format=OBLIKA številke vrstic vrini glede na OBLIKO\n" #~ " -p, --no-renumber oštevilčenje vrstic naj teče prek log. " #~ "strani\n" #~ " -s, --number-separator=NIZ pripni NIZ (možni) številki vrstice\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=ŠTEVILO številka prve vrstice na novi logični " #~ "strani\n" #~ " -w, --number-width=ŠTEVILO ŠTEVILO znakov širine za oštevilčenje\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Privzete so izbire -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC sta dva " #~ "ločitvena\n" #~ "znaka za ločevanje logičnih strani; če je drugi znak izpuščen, se " #~ "privzame :.\n" #~ "Uporabite \\\\\\\\ za \\\\. SLOG je nekaj od naštetega:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a oštevilči vse vrstice\n" #~ " t oštevilči samo polne vrstice, praznih ne\n" #~ " n ne oštevilči nobene vrstice\n" #~ " pREGIZR oštevilči samo vrstice, ki se ujemajo z osnovnim regularnim\n" #~ " izrazom REGIZR\n" #~ "\n" #~ "OBLIKA je nekaj od naštetega:\n" #~ "\n" #~ " ln levo poravnano, brez vodilnih ničel\n" #~ " rn desno poravnano, brez vodilnih ničel\n" #~ " rz desno poravnano, z vodilnimi ničlami\n" #~ msgid "line number overflow" #~ msgstr "prekoračitev številke vrstice" #~ msgid "invalid header numbering style: %s" #~ msgstr "neveljavni slog oštevilčenja glave: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "neveljavni slog oštevilčenja telesa: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "neveljavni slog oštevilčenja noge: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "neveljavna začetna številka vrstice: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "neveljavni vrstični inkrement: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "neveljavno število praznih vrstic: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "neveljavna širina polja s številko vrstice: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "neveljavna oblika oštevilčenja vrstic: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s UKAZ [ARGUMENT]...\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Poženemo UKAZ, pri čemer ne upoštevamo signalov za prekinitev.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Če je standardni vhod terminal, ga preusmerimo z /dev/null.\n" #~ "Če je standardni izhod terminal, dodajamo izhod na »nohup.out«, če je " #~ "mogoče,\n" #~ "sicer pa na »$HOME/nohup.out«.\n" #~ "Če je standardni izhod za napake terminal, ga preusmerimo na standardni " #~ "izhod.\n" #~ "Izhod preusmerimo na DATOTEKO z ukazom »%s UKAZ > DATOTEKA«.\n" #~ msgid "ignoring input" #~ msgstr "ne upoštevamo vhoda" #~ msgid "failed to open %s" #~ msgstr "odpiranje %s ni uspelo" #~ msgid "ignoring input and appending output to %s" #~ msgstr "ne upoštevamo vhoda; izhod dodajamo na konec %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "nastavitev, da se kopija stderr zapre ob koncu izvajanja, ni uspela" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "" #~ "ne upoštevamo vhoda; standardni izhod za napake preusmerimo na standardni " #~ "izhod" #~ msgid "failed to redirect standard error" #~ msgstr "preusmeritev standardnega izhoda za napake ni uspela" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... [DATOTEKA]...\n" #~ " ali: %s [-abcdfilosx]... [DATOTEKA] [[+]ODMIK[.][b]]\n" #~ " ali: %s --traditional [IZBIRA] [DATOTEKA] [[+]ODMIK[.][b] [[+]OZNAKA]" #~ "[.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Na standardni izhod zapišemo enoznačno predstavitev DATOTEKE, privzeto\n" #~ "osmiški zapis bajtov. Če je navedenih več DATOTEK, jih na vhodu\n" #~ "zlepimo v zaporedje. Če DATOTEKA ni podana ali je enaka -, beremo s\n" #~ "standardnega vhoda.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Vsi argumenti pri dolgi obliki izbire so obvezni tudi pri kratki.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=OSNOVA OSNOVA pri izpisu odmikov v datoteki " #~ "(doxn)\n" #~ " -j, --skip-bytes=ŠTEVILO pri vsaki datoteki preskočimo prvih ŠTEVILO " #~ "bajtov\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=ŠTEVILO izpis omejim na ŠTEVILO bajtov v vsaki " #~ "datoteki\n" #~ " -s, --strings[=ŠTEVILO] zaporedje, dolgo vsaj ŠTEVILO bajtov, " #~ "izpiši\n" #~ " kot niz\n" #~ " -t, --format=TIP določi obliko ali oblike izpisov\n" #~ " -v, --output-duplicates ne uporabi * za oznako izpuščenih vrstic\n" #~ " -w, --width[=ŠTEVILO] v vsaki vrstici izpiši ŠTEVILO bajtov\n" #~ " --traditional sprejemi argumente v tradicionalni obliki\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Določila v tradicionalni obliki lahko kombiniramo in se sestavljajo:\n" #~ " -a isto kot -t a, poimenovani znaki, brez osmega bita\n" #~ " -b isto kot -t o1, osmiški izpis bajtov\n" #~ " -c isto kot -t c, ASCII; neizpisljive znake uvedi z nagibnico\n" #~ " -d isto kot -t u2, desetiški izpis dvobajtnih nepredznačenih enot\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f isto kot -t fF, izpis števil s plavajočo vejico\n" #~ " -i isto kot -t dI, desetiški izpis dvobajtnih predznačenih celih " #~ "števil\n" #~ " -l isto kot -t dL, desetiški izpis štiribajtnih predznačenih celih " #~ "števil\n" #~ " -o isto kot -t o2, osmiški izpis dvobajtnih enot\n" #~ " -s isto kot -t d2, desetiški izpis dvobajtnih enot\n" #~ " -x isto kot -t x2, šestnajstiški izpis dvobajtnih enot\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Če sta uporabljena tako prva kot druga oblika klica, se upošteva druga,\n" #~ "kadar se zadnji operand začne s + ali (kadar sta dva operanda) s števko.\n" #~ "Operand ODMIK pomeni izbiro -j ODMIK. OZNAKA je psevdonaslov prvega\n" #~ "izpisanega bajta in se prišteje odmiku pri izpisu. Pri ODMIKU in OZNAKI\n" #~ "predpona 0x ali 0X naznanja šestnajstiški zapis. Pripone so lahko . za\n" #~ "osmiški zapis ali b za množenje s 512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "TIP je lahko eno ali več določil s seznama:\n" #~ "\n" #~ " a poimenovani znaki\n" #~ " c znaki ASCII; neizpisljivi znaki uvedeni z nagibnico\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[VELIKOST] predznačeno desetiško celo število dolžine VELIKOST " #~ "bajtov\n" #~ " f[VELIKOST] število v plavajoči vejici dolžine VELIKOST bajtov\n" #~ " o[VELIKOST] osmiško število dolžine VELIKOST bajtov\n" #~ " u[VELIKOST] nepredznačeno desetiško celo število dolžine VELIKOST " #~ "bajtov\n" #~ " x[VELIKOST] šestnajstiško število dolžine VELIKOST bajtov\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "VELIKOST je številka. Za TIPE d,o,u ali x je VELIKOST lahko tudi C, kar\n" #~ "pomeni dolžino tipa char, S (dolžina tipa short), I (dolžina tipa int) " #~ "ali\n" #~ "L (dolžina tipa long). Če je TIP f, je lahko VELIKOST tudi F za dolžino\n" #~ "tipa float, D (dolžina tipa double) ali L (dolžina tipa long double).\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "OSNOVA je lahko d (desetiška), o (osmiška), x (šestnajstiška) ali n " #~ "(nobena).\n" #~ "Če ima ŠTEVILO predpono 0x ali 0X, se tolmači kot šestnajstiška " #~ "vrednost.\n" #~ "Množiteljske pripone: b pomeni množenje s 512, kB 1000, K 1024, MB " #~ "1000×1000,\n" #~ "M 1024×1024, GB 1000×1000×1000, G 1024×1024×1024 itn. za T, P, E, Z in " #~ "Y.\n" #~ "Pripona z pri kateremkoli tipu doda prikaz izpisljivih znakov na koncu " #~ "vsake\n" #~ "vrstice." #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "Izbira --string brez argumenta privzame vrednost 3. Izbira --width brez\n" #~ "argumenta privzame vrednost 32. Privzete vrednosti, ki jih uporablja " #~ "»od«,\n" #~ "so: -A o -t d2 -w 16.\n" #~ msgid "invalid type string %s" #~ msgstr "neveljavna oznaka tipa %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "neveljavna oznaka tip %s;\n" #~ "ta sistem ne omogoča %lu-bajtnega celoštevilčnega tipa" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "neveljavna oznaka tip %s;\n" #~ "ta sistem ne omogoča %lu-bajtnega zapisa v plavajoči vejici" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "neveljavni znak %c v oznaki tipa %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "ni mogoče prek konca kombiniranega vhoda" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "neveljavna osnova naslovov »%c«; veljavne so možnosti d, o, x in n" #~ msgid "no type may be specified when dumping strings" #~ msgstr "tip ne sme biti določen, kadar iznašamo nize" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Združljivostni način podpira največ eno datoteko." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "vsota preskočenih in prebranih bajtov je prevelika" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "opozorilo: neveljavna širina %lu; namesto nje jemljemo %d" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" width?%d\n" #~ msgid "standard input is closed" #~ msgstr "standardni vhod je zaprt" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vsaki od vrstic iz prve DATOTEKE s tabulatorjem na konec pridružimo " #~ "istoležno\n" #~ "vrstico iz druge DATOTEKE, in tako naprej do konca seznama DATOTEK. Če\n" #~ "DATOTEKA ni podana ali je enaka -, beremo s standardnega vhoda.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=SEZNAM za ločitev uporabimo znake s SEZNAMA namesto " #~ "TAB\n" #~ " -s, --serial datoteke združujemo zaporedno namesto " #~ "vzporedno\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "seznam razmejilnikov se konča z nezavarovano nagibnico: %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Uporaba: %s [IZBIRA]... IME...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Diagnosticira neprenosljive konstrukte v IMENU.\n" #~ "\n" #~ " -p preveri za večino sistemov POSIX\n" #~ " -P preveri za prazna imena in vodilne »-« v imenih\n" #~ " --portability preveri za vse sisteme POSIX (enakovredno -p -P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "vodilni »-« v delu imena datoteke %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "neprenosljiv znak %s v imenu datoteke %s" #~ msgid "empty file name" #~ msgstr "prazno ime datoteke" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: največje dovoljene dolžine imena datoteke ni moč ugotoviti" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "meja %lu presežena za dolžino %lu pri imenu datoteke %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "meja %lu presežena za dolžino %lu pri delu imena datoteke %s" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Joseph Arceneaux in David MacKenzie" #~ msgid "Login name: " #~ msgstr "Uporabniško ime: " #~ msgid "In real life: " #~ msgstr "Pravo ime: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Imenik: " #~ msgid "Shell: " #~ msgstr "Ukazna lupina: " #~ msgid "Project: " #~ msgstr "Projekt: " #~ msgid "Plan:\n" #~ msgstr "Načrt:\n" #~ msgid "Login" #~ msgstr "Login" #~ msgid "Name" #~ msgstr " Ime" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Neak" #~ msgid "When" #~ msgstr "Kdaj" #~ msgid "Where" #~ msgstr "Kje" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Uporaba: %s [IZBIRA]... [UPORABNIK]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l dolga oblika izpisa\n" #~ " -b v dolgi obliki izpusti domači imenik in ukazno lupino\n" #~ " -h v dolgi obliki izpusti uporabnikovo datoteko .project\n" #~ " -p v dolgi obliki izpusti uporabnikovo datoteko .plan\n" #~ " -s kratka oblika izpisa (privzeto)\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f v kratki obliki izpusti legendo k stolpcem\n" #~ " -w v kratki obliki izpusti polno ime uporabnika\n" #~ " -i v kratki obliki izpusti polno ime uporabnika in ime " #~ "računalnika\n" #~ " -q v kratki obliki izpusti polno ime uporabnika, ime " #~ "računalnika\n" #~ " in čas neaktivnosti\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Poenostavljeni program »finger«: izpis informacij o uporbnikih.\n" #~ "Datoteka UTMP bo %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "uporabniško ime ni podano; pri izbiri -l mora biti podano vsaj eno" #, fuzzy #~ msgid "Roland Huebner" #~ msgstr "Pete TerMaat in Roland Huebner" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr ",--pages=PRVA_STRAN[:ZADNJA_STRAN]`: manjkajoči argument" #~ msgid "Invalid page range %s" #~ msgstr "Neveljavni razpon strani %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "»-l DOLŽINA_STRANI« nedovoljeno število vrstic: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "»-N ŠTEVILKA« nedovoljena številka začetne vrstice: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "»-o ROB« nedovoljeni odmik od levega roba: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "»-w ŠIRINA_STRANI« neveljavno število znakov: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "»-W ŠIRINA_STRANI« neveljavno število znakov: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Pri vzporednem izpisu ni mogoče določiti števila stolpcev" #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Možnosti izpisa počez in vzporednega izpisa se izključujeta" #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "»-%c« dodatni znaki ali neveljavno število v argumentu: %s" #~ msgid "page width too narrow" #~ msgstr "širina strani premajhna" #~ msgid "starting page number % exceeds page count %" #~ msgstr "začetna stran % presega skupno število strani %" #~ msgid "Page number overflow" #~ msgstr "Prekoračitev števila strani" #~ msgid "Page %" #~ msgstr "Stran %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Oštevilčimo strani ali poravnamo besedilo v DATOTEKI v stolpce za izpis.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +PRVA_STRAN[:ZADNJA_STRAN], --pages=PRVA_STRAN[:ZADNJA_STRAN]\n" #~ " tiskanje začnemo na PRVI in končamo na ZADNJI STRANI\n" #~ " -STOLPCI, --columns=STOLPCI\n" #~ " izpis v danem številu STOLPCEV, ki tečejo od zgoraj " #~ "navzdol\n" #~ " razen če je izbrano -a. Število vrstic v stolpcih na " #~ "strani\n" #~ " je uravnoteženo.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across skupaj s -STOLPCI; stolpce tiskamo poprek prek " #~ "strani\n" #~ " namesto navzdol.\n" #~ " -c, --show-control-chars\n" #~ " uporabimo zapis ^G in osmiški zapis z uvodno " #~ "nagibnico\n" #~ " -d, --double-space\n" #~ " izpis z dvojnim razmakom\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=OBLIKA\n" #~ " izpis datuma v glavi v navedeni OBLIKI\n" #~ " -e[ZNAK[ŠIRINA]], --expand-tabs[=ZNAK[ŠIRINA]]\n" #~ " ZNAKE (privzeto TAB) na vhodu razširimo v tabulator\n" #~ " dane ŠIRINE (privzeto 8)\n" #~ " -F, -f, --form-feed\n" #~ " strani ločimo z znaki za skok na novo stran namesto " #~ "s\n" #~ " praznimi vrsticami (s 3-vrstičnim zglavjem z izbiro -" #~ "F\n" #~ " ali 5-vrstičnim zglavjem in znožjem brez -F)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h ZGLAVJE, --header=ZGLAVJE\n" #~ " uporabimo navedeno osredinjeno ZGLAVJE namesto imena\n" #~ " datoteke; -h \\\"\\\" izpiše prazno vrstica; ne " #~ "uporabljajte -h\\\"\\\"\n" #~ " -i[ZNAK[ŠIRINA]], --output-tabs[=ZNAK[ŠIRINA]]\n" #~ " presledke skrčimo v ZNAK (privzeto TAB) do ŠIRINE\n" #~ " tabulatorja (privzeto 8)\n" #~ " -J, --join-lines združujemo cele vrstice, brez rezanja vrstic z -W, " #~ "brez\n" #~ " poravnave stolpcev, --sep-string[=NIZ] nastavi " #~ "ločila\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l DOLŽINA_STRANI, --length=DOLŽINA_STRANI\n" #~ " določimo DOLŽINO STRANI, v vrsticah (privzeto 66)\n" #~ " (privzeto število vrstic besedila je 56, z -F 63)\n" #~ " -m, --merge datoteke izpisujemo vzporedno, po eno v stolpec. " #~ "Predolge\n" #~ " vrstice porežemo, razen z izbiro -J, kjer združimo " #~ "celotne\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[LOČ[ŠTEVILO]], --number-lines[=LOČ[ŠTEVILO]]\n" #~ " vrstice oštevilčimo, širina polja je ŠTEVILO " #~ "(privzeto 5)\n" #~ " znakov, sledi LOČ (privzeto TAB). Oštevilčenje gre " #~ "od prve\n" #~ " vrstice vhodne datoteke.\n" #~ " -N ŠTEVILO, --first-line-number=ŠTEVILO\n" #~ " oštevilčenje začnemo z navedenim ŠTEVILOM v prvi " #~ "vrstici na\n" #~ " prvi natisnjeni strani (glej +PRVA_STRAN)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o ROB, --indent=ROB\n" #~ " vrstice zamaknemo za ROB znakov od levega roba; ne " #~ "vpliva\n" #~ " na -w in -W; ROB se prišteje ŠIRINI_STRANI.\n" #~ " -r, --no-file-warnings\n" #~ " brez opozoril, kadar ni mogoče odpreti datoteke\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[ZNAK], --separator[=ZNAK]\n" #~ " stolpce ločimo z navedenim ZNAKOM (privzeto TAB) " #~ "namesto s\n" #~ " presledki.\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SNIZ, --sep-string[=NIZ]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " stolpce ločimo z navedenim NIZOM\n" #~ " Brez -S: privzeto ločilo (TAB pri -J, presledki sicer " #~ "-\n" #~ " isto kot -S\" \"), brez učinka na nastavitve " #~ "stolpcev\n" #~ " -t, --omit-header brez zglavja in repa\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " brez zglavja in repa; brez oštevilčenja strani, ki " #~ "jih\n" #~ " povzročijo znaki za skok na novo stran v vhodni " #~ "datoteki\n" #~ " -v, --show-nonprinting\n" #~ " z uporabo osmiških vrednosti z ubežnimi zaporedji\n" #~ " -w ŠIRINA_STRANI, --width=ŠIRINA_STRANI\n" #~ " ŠIRINO STRANI nastavimo na dano število znakov " #~ "(privz. 72);\n" #~ " samo besedilo v več stolpcih; -s[znak] izklopi\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W ŠIRINA_STRANI, --page-width=ŠIRINA_STRANI\n" #~ " ŠIRINO STRANI nastavimo na dano število znakov " #~ "(privz. 72);\n" #~ " predolge vrstice porežemo razen z izbiro -J; ne " #~ "vpliva na\n" #~ " izbiri -s in -S\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Če je DOLŽINA_STRANI <= 10, se privzame izbira -t. Kadar DATOTEKA ni " #~ "podana\n" #~ "ali je enaka -, se bere standardni vhod.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s [SPREMENLJIVKA]...\n" #~ " ali: %s IZBIRA\n" #~ "Če SPREMENLJIVKA ni podana, izpiši vrednosti vseh spremenljivke.\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "opozorilo: %s: znak(i), sledeči znakovni konstanti, niso bili upoštevani" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s OBLIKA [ARGUMENT]...\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Izpišemo ARGUMENT(E) v navedeni OBLIKI, ali izvedemo glede na IZBIRO:\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "OBLIKA nazdira izpis enako kot pri funkciji printf v C. Tolmačena " #~ "zaporedja so:\n" #~ "\n" #~ " \\\" dvojni narekovaj\n" #~ " \\0NNN znak z osmiško kodo NNN (1 do 3 števke)\n" #~ " \\\\ nagibnica\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a zvonček (BEL)\n" #~ " \\b pomik za znak nazaj\n" #~ " \\c ne izpisuj ničesar več\n" #~ " \\f skok na novo stran\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n skok v novo vrstico\n" #~ " \\r vrnitev na začetek vrstice\n" #~ " \\t horizontalni tabulator\n" #~ " \\v vertikalni tabulator\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xNN bajt s šestnajstiško kodo NN (1 ali 2 števki)\n" #~ " \\uNNNN znak Unicode (ISO/IEC 10646) s šestnajstiško kodo NNNN (4 " #~ "števke)\n" #~ " \\UNNNNNNNN znak Unicode s šestnajstiško kodo NNNNNNNN (8 števk)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% znak za odstotek\n" #~ " %b ARGUMENT kot niz z raztolmačenimi znaki, ki jih uvajajo " #~ "obratne\n" #~ " poševnice; osmiška zaporedja so v obliki \\O ali \\ONNN\n" #~ "\n" #~ "Vsa oblikovna določila iz C, ki se končajo na diouxXfeEgGcs so\n" #~ "raztolmačena, če je ARGUMENT prej pretvorjen v pravilen podatkovni\n" #~ "tip. Spremenljive širine se obravnavajo pravilno.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: pričakovana je številčna vrednost" #~ msgid "%s: value not completely converted" #~ msgstr "%s: vrednost nepopolno pretvorjena" #~ msgid "missing hexadecimal number in escape" #~ msgstr "v ubežnem zaporedju manjka šestnajstiško število" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "neveljavno univerzalno ime znaka \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "neveljavna širina polja: %s" #~ msgid "invalid precision: %s" #~ msgstr "neveljavna natančnost: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: neveljavna določitev pretvorbe" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "opozorilo: odvečni argumenti začenši s %s niso bili upoštevani" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (za regularni izraz %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... [VHOD]... (brez -G)\n" #~ " ali: %s -G [IZBIRA]... [VHOD [IZHOD]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Izpis permutiranega kazala gesel v vhodnih datotekah, skupaj s " #~ "kontekstom.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference izpis samodejno generiranih vnosov\n" #~ " -G, --traditional obnašanje kot »ptx« v sistemu System V\n" #~ " -F, --flag-truncation=NIZ za označevanje okrajšanih vrstic uporabi " #~ "NIZ\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=NIZ uporabi podano ime makroukaza (privzeto " #~ "»xx«)\n" #~ " -O, --format=roff izpis v obliki stavnega jezika roff\n" #~ " -R, --right-side-refs sklici ob desnem robu (niso všteti v -" #~ "w)\n" #~ " -S, --sentence-regexp=REGIZR za konce vrstic ali konce stavkov\n" #~ " -T, --format=tex izpis v obliki stavnega jezika tex\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGIZR uporabi REGIZR za lovljenje besed\n" #~ " -b, --break-file=DATOTEKA znake v podani DATOTEKI razlomi po " #~ "besedah\n" #~ " -f, --ignore-case pri urejanju obravnavaj male in velike " #~ "črke \n" #~ " enako\n" #~ " -g, --gap-size=ŠTEVILO širina razmaka v znakih med polji v " #~ "izpisu\n" #~ " -i, --ignore-file=DATOTEKA seznam neupoštevanih besed preberi iz " #~ "DATOTEKE\n" #~ " -o, --only-file=FILE preberi le seznam besed iz navedene " #~ "DATOTEKE\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references prvo polje v vsaki vrstici je sklic\n" #~ " -t, --typeset-mode - ni izvedeno -\n" #~ " -w, --width=ŠTEVILO širina izhoda v znakih, brez sklicev\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Kadar DATOTEKA ni podana ali je enaka -, se bere standardni vhod. " #~ "Privzeto\n" #~ "označevanje okrajšanih vrstic je »-F /«.\n" #~ msgid "invalid gap width: %s" #~ msgstr "neveljavna širina razmaka: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Izpišemo celotno pot trenutnega delovnega imenika.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "menjava imenika v %s ni uspela" #~ msgid "failed to stat %s" #~ msgstr "branje statistike %s ni uspelo" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "imeniškega vnosa z ujemajočim inodom v %s ni moč najti" #~ msgid "ignoring non-option arguments" #~ msgstr "ne-izbirnih argumentov ne upoštevamo" # ! INEXACT #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Uporaba: %s [IZBIRA]... DATOTEKA\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Izpiši cilj simbolne povezave na standardni izhod.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize kanoniziran izpis vsake komponente vsake " #~ "simbolne\n" #~ " povezave z rekurzivnim sledenjem povezav; " #~ "vse\n" #~ " razen zadnje komponente poti morajo " #~ "obstajati\n" #~ " -e, --canonicalize-existing kanoniziran izpis vsake komponente vsake " #~ "simbolne\n" #~ " povezave z rekurzivnim sledenjem povezav; " #~ "vse\n" #~ " komponente poti morajo obstajati\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing kanoniziran izpis vsake komponente vsake " #~ "simbolne\n" #~ " povezave z rekurzivnim sledenjem povezav; " #~ "brez\n" #~ " pogojev glede obstoja\n" #~ " -n, --no-newline brez izpisa sledilnih znakov za novo " #~ "vrstico\n" #~ " -q, --quiet,\n" #~ " -s, --silent brez izpisa večine poročil o napakah\n" #~ " -v, --verbose z poročili o napakah\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "USODNA NAPAKA: zapiranje imenika %s ni uspelo" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "USODNA NAPAKA: ni mogoče odpreti .. iz %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "USODNA NAPAKA: ni mogoče zagotoviti varnosti %s (vrnjeno prek ..)" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "USODNA NAPAKA: imenik %s ima spremenjen dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "USODNA NAPAKA: imenika %s ni mogoče doseči" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "USODNA NAPAKA: imenik %s, ki smo ga ravno začeli obdelovati, je spremenil " #~ "dev/ino" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "POZOR: Cirkularna struktura imenikov.\n" #~ "To skoraj gotovo pomeni resno napako v datotečnem sistemu.\n" #~ "OBVESTITE UPRAVITELJA SISTEMA.\n" #~ "Naslednja dva imenika imata isto število inode:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: naj se spustimo v imenik %s, ki je zavarovan proti pisanju? " # POZOR!!! Razisci, kaj je misljeno! #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: naj se spustimo v podimenik %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: naj se odstrani %s %s, ki je zavarovana proti pisanju? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: naj se odstrani %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "odstranjen imenik: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "zapiranje imenika %s ni uspelo" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "preskakujemo %s, ker je na drugi napravi" #~ msgid "cannot remove directory %s" #~ msgstr "imenika %s ni mogoče odstraniti" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "USODNA NAPAKA: iz imenika %s ni dosegljiv imenik .." #~ msgid "cannot remove root directory %s" #~ msgstr "korenskega imenika %s ni mogoče odstraniti" #~ msgid "cannot remove relative-named %s" #~ msgstr "relativno poimenovanega %s ni mogoče odstraniti" #~ msgid "cannot restore current working directory" #~ msgstr "trenutnega imenika ni mogoče povrniti" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Poskusite »%s ./%s«, da bi odstranili datoteko %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Uporaba: %s [IZBIRA]... DATOTEKA...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Odstranimo navedene DATOTEKE.\n" #~ "\n" #~ " -f, --force brez opozoril o neobstoječih datotekah, brez " #~ "vprašanj\n" #~ " -i zahtevamo potrditev pred vsakim brisanjem\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I zahtevamo potrditev pred brisanjem treh ali več " #~ "datotek,\n" #~ " ali pri rekurzivnem brisanju. Manj moteče kot -i, " #~ "vseeno\n" #~ " pa varuje pred večino napak.\n" #~ " --interactive[=KDAJ] potrditev glede na KDAJ: never (nikoli), " #~ "once \n" #~ " (enkrat, isto kot -I), always (vedno, isto kot -" #~ "i,\n" #~ " privzeto)\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system pri hierarhičnem odstranjevanju imenikov " #~ "preskoči\n" #~ " vse imenike na datotečnem sistemu, drugem od " #~ "tistega,\n" #~ " ki pripada argumentu ukazne vrstice\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root imenika »/« ne obravnavamo posebej (privzeto)\n" #~ " --preserve-root ne dovoli rekurzivnega dela na »/«\n" #~ " -r, -R, --recursive rekurzivno brisanje vsebine imenika s podimeniki " #~ "vred\n" #~ " -v, --verbose z razlago poteka\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Privzeto ukaz »rm« ne odstrani imenikov. Z izbiro --recursive (-r ali -" #~ "R)\n" #~ "pa odstrani tudi vse navedene imenike z njihovo vsebino vred.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Datoteko, katere ime se začne z minusom (npr. »-bla«) lahko odstranimo z " #~ "enim\n" #~ "od naslednjih dveh ukazov:\n" #~ " %s -- -bla\n" #~ "\n" #~ " %s ./-bla\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Vsebino datotek, izbrisanih z ukazom rm, je navadno mogoče (čeravno ne\n" #~ "enostavno) rekonstruirati. Če želite to preprečiti, razmislite o " #~ "uporabi \n" #~ "ukaza shred.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: naj vse argumente rekurzivno odstranimo? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: naj se odstranijo vsi argumenti? " #~ msgid "removing directory, %s" #~ msgstr "odstranjujemo imenik, %s" #~ msgid "failed to remove directory %s" #~ msgstr "odstranitev imenika %s ni uspela" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Uporaba: %s [IZBIRA]... IMENIK...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Odstrani IMENIK ali IMENIKE, če so prazni.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " nadaljujemo kljub napaki, če je do te prišlo zgolj " #~ "zato, ker\n" #~ " kakšen od navedenih imenikov ni prazen\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents odstranimo tudi IMENIKE nad navedenim, če so prazni.\n" #~ " Zgled: »rmdir -p a/b/c« naredi isto kot »rmdir a/b/c " #~ "a/b a«\n" #~ " -v, --verbose z diagnostičnim sporočilom za vsak obdelan imenik\n" #~ msgid "failed to remove %s" #~ msgstr "odstranitev %s ni uspela" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Uporaba: %s KONTEKST UKAZ [argumenti]\n" #~ " ali: %s [ -c ] [-u UPORABNIK] [-r VLOGA] [-t TIP] [-l OBSEG] UKAZ " #~ "[argumenti]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Požene program v drugem varnostnem kontekstu.\n" #~ "Če ni podan ne KONTEKST, ne UKAZ, izpiše trenutni varnostni kontekst.\n" #~ "\n" #~ " CONTEXT popoln varnostni kontekst\n" #~ " -c, --compute pred spremembo izračunaj prehodni kontekst procesa\n" #~ " -t, --type=TIP tip (v enaki vlogi kot starš)\n" #~ " -u, --user=UPORABNIK uporabnik\n" #~ " -r, --role=VLOGA vloga\n" #~ " -l, --range=OBSEG obseg ravni\n" #~ msgid "multiple roles" #~ msgstr "več vlog" #~ msgid "multiple types" #~ msgstr "več tipov" #~ msgid "multiple users" #~ msgstr "več uporabnikov" #~ msgid "multiple levelranges" #~ msgstr "več obsegov" #~ msgid "failed to get current context" #~ msgstr "branje trenutnega konteksta ni uspelo" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "podati morate -c, -t, -u, -l, -r ali kontekst" #~ msgid "no command specified" #~ msgstr "ukaz ni določen" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "runcon lahko uporabite le z jedrom SELinux" #~ msgid "failed to compute a new context" #~ msgstr "izračun novega konteksta ni uspel" #~ msgid "failed to set new user %s" #~ msgstr "nastavitev novega uporabnika %s ni uspela" #~ msgid "failed to set new type %s" #~ msgstr "nastavitev novega tipa %s ni uspela" #~ msgid "failed to set new range %s" #~ msgstr "nastavitev novega obsega %s ni uspela" #~ msgid "failed to set new role %s" #~ msgstr "nastavitev nove vloge %s ni uspela" #~ msgid "unable to set security context %s" #~ msgstr "varnostnega konteksta %s ni mogoče nastaviti" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... ZADNJE\n" #~ " ali: %s [IZBIRA]... PRVO ZADNJE\n" #~ " ali: %s [IZBIRA]... PRVO KORAK ZADNJE\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Izpišemo števila od PRVEGA do ZADNJEGA s podanim KORAKOM.\n" #~ "\n" #~ " -f, --format DOLOČILO uporabi oblikovno DOLOČILO kot v printf(3)\n" #~ " -s, --separator NIZ uporabi NIZ kot ločilo med števili (privzeto: " #~ "\\n)\n" #~ " -w, --equal-width polja dopolni do enake širine z vodilnimi " #~ "ničlami\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Če sta bodisi PRVO bodisi KORAK izpuščena, se zanju uporabi privzeta\n" #~ "vrednost 1; izpuščeni KORAK zavzame vrednost 1 celo takrat, kot je\n" #~ "ZADNJE manjše od PRVEGA. PRVO, KORAK in ZADNJE so tolmačena kot\n" #~ "števila s plavajočo vejico. KORAK je navadno pozitiven, če je PRVO\n" #~ "število manjše od ZADNJEGA, sicer pa negativen.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "Podano oblikovno DOLOČILO mora biti primerno za izpis enega argumenta " #~ "tipa\n" #~ "»double«; privzeto je %.PRECf, če so PRVO, KORAK in ZADNJE decimalna " #~ "števila\n" #~ "predstavljena v fiksni natančnosti PREC, sicer pa %g.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "argument ni neveljavno število v plavajoči vejici: %s" #~ msgid "no %% directive in format string %s" #~ msgstr "manjkajoče določilo pretvorbe %% v oblikovnem nizu %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "preveč določil pretvorbe %% v oblikovnem nizu %s" #~ msgid "invalid format string: %s" #~ msgstr "neveljavno oblikovno določilo: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "pri izpisu polj enake širine ni dovoljeno podati oblikovnega določila" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s IZBIRA UPORABNIK UKAZ [ARGUMENT]...\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Izpusti vse dodatne skupine, privzame številki uporabnika in skupine " #~ "(UID \n" #~ "in GID) navedenega UPORABNIKA ter požene UKAZ z vsemi podanimi " #~ "ARGUMENTI.\n" #~ "Ob izhodu vrne statusno kodo 111, če ni bilo mogoče privzeti zahtevanih " #~ "UID\n" #~ "in GID, sicer pa vrne izhodno statusno kodo UKAZA.\n" #~ "Program je uporaben le, kadar ga poganja superuporabnik (UID=0).\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] nastavi tudi primarni ID skupine na številčni GID, " #~ "ter\n" #~ " (če je podano) dodatni ID skupine na GID1...\n" #~ msgid "unknown user-ID: %s" #~ msgstr "neznana številka uporabnika (UID): %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "za uporabo user-ID %s morate uporabiti tudi -g" #~ msgid "failed to set supplemental group(s)" #~ msgstr "dodatne skupine ni mogoče nastaviti" #~ msgid "cannot set group-ID to %lu" #~ msgstr "nastavitev GID na %lu ni mogoča" #~ msgid "cannot set user-ID to %lu" #~ msgstr "nastavitev UID na %lu ni mogoča" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Uporaba: %s [IZBIRE]... DATOTEKA [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Vsebino navedene DATOTEKE uničimo tako, da prek nje večkrat zapišemo\n" #~ "drugo vsebino.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force po potrebi dovolimo pisanje na datoteko/enoto\n" #~ " -n, --iterations=N prek datoteke pišeno N-krat namesto privzetega (%" #~ "d)\n" #~ " --random-source=DATOTEKA preberi naključne bajte iz DATOTEKE\n" #~ " (privzeto /dev/urandom)\n" #~ " -s, --size=N uničimo podano število bajtov (dovoljene pripone K, M, " #~ "G...)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove datoteko po uničenju vsebine skrajšaj in odstrani\n" #~ " -v, --verbose s prikazom napredka med delom\n" #~ " -x, --exact brez zaokroževanja velikosti datotek do polnega bloka\n" #~ " (privzeto za predmete, ki niso navadne datoteke)\n" #~ " -z, --zero na koncu zapiši prek datoteke ničle, da se prikrije " #~ "uničenje\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Če je DATOTEKA »-«, uniči vsebino, prebrano s standardnega vhoda.\n" #~ "\n" #~ "DATOTEKE odstranimo le, če je podana izbira --remove (-u). Privzeto " #~ "datoteke\n" #~ "ne odstranimo, kar je primerneje za delo z napravami (npr. /dev/hda). Pri " #~ "delu \n" #~ "z navadnimi datotekami večina uporablja izbiro --remove.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "OPOZORILO: Delovanje programa »shred« temelji na zelo pomembni " #~ "predpostavki,\n" #~ "da datotečni sistem piše prek starih podatkov. Vsi tradicionalni " #~ "datotečni\n" #~ "sistemi so res taki, številne sodobne zasnove datotečnih sistemov pa ne.\n" #~ "Navedeni so zgledi datotečnih sistemov, na katerih program »shred« ne bo\n" #~ "učinkovit, ali pa njegova učinkovitost ni zajamčena v vseh načinih " #~ "delovanja\n" #~ "datotečnega sistema:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* datotečni sistemi s strukturiranim dnevnikom ali z dnevnikom sprememb, " #~ "kot\n" #~ " jih uporabljata AIX in Solaris (tudi JFS, ReiserFS, XFS, Ext3 itn.)\n" #~ "\n" #~ "* datotečni sistemi, ki podatke zapisujejo redundantno in lahko " #~ "nadaljujejo\n" #~ " z delom, čeprav vsa pisanja niso bila uspešna (npr. RAID)\n" #~ "\n" #~ "* datotečni sistemi, ki shranjujejo trenutne slike stanja diska, npr.\n" #~ " strežnik NFS podjetja Network Appliace\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* datotečni sistemi, ki hranijo medpomnilnik na začasnih lokacijah, npr.\n" #~ " odjemniki NFS verzije 3\n" #~ "\n" #~ "* stisnjeni datotečni sistemi\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "V primeru datotečnih sistemov ext3 velja gornje opozorilo o " #~ "neučinkovitosti\n" #~ "programa shred le v načinu »data=journal«, ki zapisuje dnevnik sprememb\n" #~ "podatkov v datotekah, ne le podatkov o datotekah. V načinih " #~ "»data=ordered«\n" #~ "(kar je privzeti način) ter »data=writeback« deluje shred kot običajno.\n" #~ "Načine dnevniškega beleženja sprememb pri ext3 določimo z izbiro " #~ "»data=nekaj«\n" #~ "pri priklopu določenega datotečnega sistema v datoteki /etc/fstab,\n" #~ "kot je opisano v priročniku ukaza »mount« (glejte »man mount«).\n" #~ "\n" #~ "Poleg tega lahko izvodi datoteke obstajajo tudi na varnostnih kopijah\n" #~ "in oddaljenih zrcalih. Teh izvodov ne moremo odstraniti in iz njih je\n" #~ "mogoče rekonstruirati uničeno datoteko.\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Poleg tega lahko izvodi datoteke obstajajo tudi na varnostnih kopijah\n" #~ "in oddaljenih zrcalih. Teh izvodov ne moremo odstraniti in iz njih je\n" #~ "mogoče rekonstruirati uničeno datoteko.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: klic fdatasync ni uspel" #~ msgid "%s: fsync failed" #~ msgstr "%s: fsync ni uspel" #~ msgid "%s: cannot rewind" #~ msgstr "%s: ni mogoče previti na začetek" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: prehod %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: napaka med pisanjem pri odmiku %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: klic lseek ni uspel" #~ msgid "%s: file too large" #~ msgstr "%s: datoteka prevelika" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: prehod %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: prehod %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: klic fstat ni uspel" #~ msgid "%s: invalid file type" #~ msgstr "%s: neveljavni tip datoteke" #~ msgid "%s: file has negative size" #~ msgstr "%s: velikost datoteke negativna" #~ msgid "%s: error truncating" #~ msgstr "%s: napaka pri krajšanju" #~ msgid "%s: fcntl failed" #~ msgstr "%s: klic fcntl ni uspel" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: ni mogoče uničiti datoteke, v katero smemo le dodajati" #~ msgid "%s: removing" #~ msgstr "%s: odstranjujemo" #~ msgid "%s: renamed to %s" #~ msgstr "%s: preimenovano v %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: ni mogoče odstraniti" #~ msgid "%s: removed" #~ msgstr "%s: odstranjeno" #~ msgid "%s: failed to close" #~ msgstr "%s: ni mogoče zapreti" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: ni mogoče odpreti za pisanje" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: neveljavno število prehodov" #~ msgid "multiple random sources specified" #~ msgstr "naveden je več kot en izvor naključnih števil" #~ msgid "%s: invalid file size" #~ msgstr "%s: neveljavna velikost datoteke" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... [DATOTEKA]\n" #~ " ali: %s [IZBIRA]... [ARGUMENT]...\n" #~ " ali: %s -i SP-ZG [IZBIRA]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Naključno permutacijo vrstic na vhodu zapišemo na standardni izhod.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo obravnavaj vsak ARG kot vhodno vrstico\n" #~ " -i, --input-range=SP-ZG obravnavaj vsako število SP..ZG kot vhodno " #~ "vrstico\n" #~ " -n, --head-lines=VRSTICE izpiši največ navedeno število VRSTIC\n" #~ " -o, --output=DATOTEKA zapiši rezultat na DATOTEKO namesto na std. " #~ "izhod\n" #~ " --random-source=DATOTEKA preberi naključne bajte iz datoteke " #~ "(privzeto\n" #~ " /dev/urandom)\n" #~ " -z, --zero-terminated zaključi vrstice z \\0, ne z znakom za novo " #~ "vrstico\n" #~ msgid "multiple -i options specified" #~ msgstr "podanih je več izbir -i" #~ msgid "invalid input range %s" #~ msgstr "neveljavni vhodni razpon %s" #~ msgid "invalid line count %s" #~ msgstr "neveljavno število vrstic %s" #~ msgid "multiple output files specified" #~ msgstr "podana je več kot ena izhodna datoteka" #~ msgid "extra operand %s\n" #~ msgstr "odvečni operand %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s ŠTEVILO[PRIPONA]\n" #~ " ali: %s IZBIRA\n" #~ "Premor za ŠTEVILO sekund. PRIPONA je lahko »s« za sekunde (privzeto),\n" #~ "»m« za minute, »h« za ure ali »d« za dneve. Za razliko od večine\n" #~ "drugih izvedb, ki zahtevajo, da je ŠTEVILO celo število, je tu lahko\n" #~ "poljubno število v zapisu s plavajočo vejico. Če je podanih več " #~ "argumentov,\n" #~ "velja premor za vsoto njihovih vrednosti.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "neveljavni časovni interval %s" #~ msgid "cannot read realtime clock" #~ msgstr "ure s stvarnim časom ni moč prebrati" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Vsebino vseh DATOTEK na vhodu združimo, uredimo, in izpišemo na standarni " #~ "izhod.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Izbire pri urejanju:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ne upoštevaj vodilnih presledkov\n" #~ " -d, --dictionary-order upoštevaj samo črke, števke in presledke\n" #~ " -f, --ignore-case male in velike črke so enakovredne\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort primerjaj po splošni številski vrednosti\n" #~ " -i, --ignore-nonprinting v ključih upoštevaj samo izpisljive znake\n" #~ " -M, --month-sort ključe uredi: (neznano) < »jan« < ... < " #~ "»dec«\n" #~ " -n, --numeric-sort primerjaj po številski vrednosti nizov\n" #~ " -R, --random-sort uredi po naključnem ključu\n" #~ " --random-source=DATOTEKA beri naključne bajte iz DATOTEKE\n" #~ " (privzeto /dev/urandom)\n" #~ " --sort=BESEDA uredi glede na BESEDO: splošno-številčno -" #~ "g,\n" #~ " mesec -M, številčno -n, naključno -R\n" #~ " -r, --reverse izpis v obrnjenem vrstnem redu\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Druge izbire:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first če je datoteka urejena, je ne " #~ "urejaj znova\n" #~ " -C, --check=quiet, --check=silent kot -c, le brez poročila o prvi " #~ "slabi vrstici\n" #~ " -k, --key=POZ1[,POZ2] ključ se začne v stolpcu POZ1 in konča v " #~ "stolpcu\n" #~ " POZ2. Stolpci se štejejo od 1 dalje.\n" #~ " -m, --merge že urejene datoteke združi brez ponovnega " #~ "urejanja\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=DATOTEKA izhod zapiši na DATOTEKO namesto na " #~ "standardni izhod\n" #~ " -s, --stable urejanje stabiliziraj z onemogočenjem " #~ "skrajnih\n" #~ " primerjav\n" #~ " -S, --buffer-size=VELIKOST določi VELIKOST medpomnilnika\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=LOČILO LOČILO namesto prehodov med znaki in " #~ "presledki\n" #~ " -T, --temporary-directory=IMENIK \n" #~ " uporabi IMENIK za začasne datoteke namesto " #~ "$TMPDIR\n" #~ " ali %s; večtere izbire določajo več " #~ "imenikov\n" #~ " -u, --unique skupaj z -c: preveri za strogo urejenost;\n" #~ " sicer izpiši samo prve od zaporednih enakih " #~ "vrstic\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated vrstice naj se zaključijo z znakom NUL, ne " #~ "LF\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POZ ima obliko P[.Z][IZBIRE], kjer je P številka polja in Z položaj " #~ "znaka\n" #~ "znotraj polja, oboje šteto od 1 dalje. Če ni podana nobena od izbir -t " #~ "ali -b,\n" #~ "se znaki v polju štejejo od začetka predhodnega presledka. IZBIRE so " #~ "lahko ena\n" #~ "ali več od enočrkovnih izbir urejanja, kar prevlada nad globalnimi " #~ "nastavitvami\n" #~ "za ta ključ. Če ključ ni podan, se kot ključ uporabi celotna vrstica.\n" #~ "\n" #~ "VELIKOSTI lahko sledi ena od naslednji multiplikativnih pripon:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% pomnilnika, b 1, k 1024 (privzeto), itn. za M, G, T, P, E, Z, Y.\n" #~ "\n" #~ "Če DATOTEKA ni podana ali je enaka -, beremo s standardnega vhoda.\n" #~ "\n" #~ "***OPOZORILO***\n" #~ "Krajevne prilagoditve vplivajo na urejanje. Če želite tradicionalno " #~ "obnašanje\n" #~ "(urejanje po številski vrednosti bajtov), uporabite LC_ALL=C.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "čakamo na %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] se je zaključil nenormalno" #~ msgid "cannot create temporary file" #~ msgstr "začasne datoteke ni mogoče ustvariti" #~ msgid "open failed" #~ msgstr "odpiranje ni uspelo" #~ msgid "fflush failed" #~ msgstr "klic fflush ni uspel" #~ msgid "close failed" #~ msgstr "zapiranje ni uspelo" #~ msgid "dup2 failed" #~ msgstr "klic dup2 ni uspel" #~ msgid "couldn't execute %s" #~ msgstr "ni mogoče izvesti %s" #~ msgid "couldn't create temporary file" #~ msgstr "začasne datoteke ni mogoče ustvariti" #~ msgid "couldn't open temporary file" #~ msgstr "začasne datoteke ni mogoče odpreti" #~ msgid "couldn't execute %s -d" #~ msgstr "ni mogoče izvesti %s -d" #~ msgid "write failed" #~ msgstr "pisanje ni uspelo" #~ msgid "warning: cannot remove: %s" #~ msgstr "opozorilo: ni moč odstraniti %s" #~ msgid "stat failed" #~ msgstr "poizvedba po statusu ni uspela" #~ msgid "read failed" #~ msgstr "branje ni uspelo" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: neurejenost: " #~ msgid "standard error" #~ msgstr "standardna napaka" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: neveljavno določilo polja: %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "izbire »-%s« so nezdružljive" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: neveljavni števec na začetku %s" #~ msgid "invalid number after `-'" #~ msgstr "neveljavno število za »-«" #~ msgid "invalid number after `.'" #~ msgstr "neveljavno število za ».«" #~ msgid "stray character in field spec" #~ msgstr "zablodeli znak v določilu polja" #~ msgid "multiple compress programs specified" #~ msgstr "podan je več kot en program za stiskanje" #~ msgid "invalid number at field start" #~ msgstr "neveljavno število začetka polja" #~ msgid "field number is zero" #~ msgstr "številka polja je nič" #~ msgid "character offset is zero" #~ msgstr "znakovni zamik je nič" #~ msgid "invalid number after `,'" #~ msgstr "neveljavno število za »,«" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "dodatni operand %s pri izbiri -%c ni dovoljen" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Uporaba: %s [IZBIRA] [VHOD [PREDPONA]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Datoteko VHOD razrežemo na kose enake dolžine, poimenovane PREDPONAaa,\n" #~ "PREDPONAab...; privzeta dolžina je 1000 vrstic, privzeta PREDPONA pa " #~ "»x«.\n" #~ "Če VHOD ni podan ali je enak -, se bere s standardnega vhoda.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N uporabi pripone dolžine N (privzeto %d)\n" #~ " -b, --bytes=VELIKOST določimo VELIKOST (v bajtih) izhodnih datotek\n" #~ " -C, --line-bytes=VELIKOST velikost izhodnih datotek je navzgor omejena " #~ "na\n" #~ " VELIKOST (v bajtih)\n" #~ " -d, --numeric-suffixes uporabi številčne pripone namesto črkovnih\n" #~ " -l, --lines=ŠTEVILO določimo ŠTEVILO vrstic v izhodni datoteki\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose z izpisom diagnostike tik\n" #~ " preden odpremo posamično datoteko\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST ima lahko množiteljsko pripono:\n" #~ "b za množenje s 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024,\n" #~ "GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "ustvarjamo datoteko %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "razcep na več kot en način ni mogoč" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: neveljavno dolžina pripone" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: neveljavno število bajtov" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: neveljavno število vrstic" #~ msgid "line count option -%s%c... is too large" #~ msgstr "števec vrstic -%s%c... je prevelik" #~ msgid "invalid number of lines: 0" #~ msgstr "neveljavno število vrstic: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "opozorilo: neprepoznana izbira »\\%c«" #~ msgid "%s: invalid directive" #~ msgstr "%s: neveljavna direktiva" #~ msgid "warning: backslash at end of format" #~ msgstr "opozorilo: nagibnica na koncu formatnega določila" #~ msgid "cannot read file system information for %s" #~ msgstr "ni mogoče prebrati datotečnega sistema %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Uporaba: %s [IZBIRA] DATOTEKA...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Izpis statusa datoteke ali datotečnega sistema.\n" #~ "\n" #~ " -L, --dereference s sledenjem povezav\n" #~ " -f, --file-system izpis statusa datotečnega sistema, ne statusa " #~ "datoteke\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c, --format=OBLIKA namesto privzete uporabi podano OBLIKO;\n" #~ " nova vrstica za vsako uporabo OBLIKE\n" #~ " --printf=OBLIKA podobno kot --format, vendar s tolmačenjem " #~ "ubežnih\n" #~ " zaporedij in brez izpisa obvezne zaključne " #~ "nove \n" #~ " verstice; če jo želite, dodajte \\n v OBLIKO.\n" #~ " -t, --terse izpis podatkov v zgoščeni obliki\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Veljavna oblikovna zaporedja za datoteke (brez --file-system):\n" #~ "\n" #~ " %a - Osmiški zapis pravic do dostopa\n" #~ " %A - Pravice do dostopa zapisane v človeku umljivi obliki\n" #~ " %b - Število dodeljenih blokov (glej %B)\n" #~ " %B - Velikost v bajtih za vsak blok, ki ga javi »%b«\n" #~ " %C - niz z varnostnim kontekstom SELinux\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d - Številka naprave v desetiškem zapisu\n" #~ " %D - Številka naprave v šestnajstiškem zapisu\n" #~ " %f - Surov šestnajstiški način\n" #~ " %F - Zvrst datoteke\n" #~ " %g - Številka skupine (GID) lastnika\n" #~ " %G - Ime skupine lastnika\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h - Število trdih povezav\n" #~ " %i - Številka inoda\n" #~ " %n - Ime datoteke\n" #~ " %N - Ime datoteke (ciljne datoteke, če gre za simbolno povezavo)\n" #~ " %o - Velikost V/I bloka\n" #~ " %s - Skupna velikost v bajtih\n" #~ " %t - Glavna številka zvrsti enote, šestnajstiško\n" #~ " %T - Pomožna številka zvrsti enote, šestnajstiško\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u - Uporabniška številka (UID) lastnika\n" #~ " %U - Uporabniško ime lastnika\n" #~ " %x - Čas zadnjega dostopa\n" #~ " %X - Čas zadnjega dostopa, v sekundah od 1970-01-01\n" #~ " %y - Čas zadnje spremembe\n" #~ " %Y - Čas zadnje spremembe, v sekundah od 1970-01-01\n" #~ " %z - Čas zadnje spremembe inoda\n" #~ " %Z - Čas zadnje spremembe inoda, v sekundah od 1970-01-01\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Veljavna formatna zaporedja za datotečne sisteme:\n" #~ "\n" #~ " %a - Število prostih blokov, dostopnih za uporabnike\n" #~ " %b - Skupno število blokov v datotečnem sistemu\n" #~ " %c - Skupno število inodov v datotečnem sistemu\n" #~ " %d - Število prostih inodov v datotečnem sistemu\n" #~ " %f - Število prostih blokov v datotečnem sistemu\n" #~ " %C - niz z varnostnim kontekstom SELinux\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i - Identifikacijska številka datotečnega sistema, šestnajstiško\n" #~ " %l - Največja dovoljena dolžina imen datotek\n" #~ " %n - Ime datoteke\n" #~ " %s - Optimalna velikost bloka za prenos\n" #~ " %S - Osnovna velikost bloka (za štetje blokov)\n" #~ " %t - Zvrst v šestnajstiškem zapisu\n" #~ " %T - Zvrst v človeku umljivi obliki\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Uporaba: %s [-F ENOTA] [--file=ENOTA] [NASTAVITEV]...\n" #~ " ali: %s [-F ENOTA] [--file=ENOTA] [-a|-all]\n" #~ " ali: %s [-F ENOTA] [--file=ENOTA] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Izpišemo ali spremenimo lastnosti terminala.\n" #~ "\n" #~ " -a, --all izpiši vse trenutne nastavitve v človeku berljivi " #~ "obliki\n" #~ " -g, --save izpiši vse trenutne nastavitve v obliki, ki jo bere " #~ "stty\n" #~ " -F, --file=ENOTA odpri in uporabi navedeno ENOTO namesto standardnega " #~ "vhoda\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Neobvezni minus (-) pred NASTAVITVIJO pomeni njen izklop. Zvezdica (*)\n" #~ "označuje nastavitve, ki so razširitve standarda POSIX. Dejansko\n" #~ "dostopne nastavitve so odvisne od sistema.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Posebni znaki:\n" #~ "* dsusp ZNAK ZNAK bo, ko počisti vhodni medpomnilnik, poslal signal " #~ "za\n" #~ " ustavitev terminala\n" #~ " eof ZNAK ZNAK bo zaključil datoteko (končal vhod)\n" #~ " eol ZNAK ZNAK bo zaključil vrstico\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ "* eol2 ZNAK alternativni ZNAK za zaključek vrstice\n" #~ " erase ZNAK ZNAK bo pobrisal nazadnje vneseni znak\n" #~ " intr ZNAK ZNAK bo poslal signal za prekinitev\n" #~ " kill ZNAK ZNAK bo pobrisal trenutno vrstico\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ "* lnext ZNAK ZNAK bo vnesel naslednji navedeni znak\n" #~ " quit ZNAK ZNAK bo poslal signal za končanje\n" #~ "* rprnt ZNAK ZNAK bo obnovil (ponovno izrisal) trenutno vrstico\n" #~ " start ZNAK ZNAK bo ponovno pognal ustavljeni izhod\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop ZNAK ZNAK bo ustavil izhod\n" #~ " susp ZNAK ZNAK bo poslal signal za ustavitev terminala\n" #~ "* swtch ZNAK ZNAK bo preklopil v drugo plast lupine\n" #~ "* werase ZNAK ZNAK bo pobrisal nazadnje vneseno besedo\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Posebne nastavitve:\n" #~ "\n" #~ " N hitrosti vhoda in izhoda nastavi na N bitov/s\n" #~ "* cols N sporoči jedru, da uporabljamo terminal z N stolpci\n" #~ "* columns N isto kot cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N vhodno hitrost nastavimo na N bitov/s\n" #~ "* line N uporabi komunikacijski protokol N\n" #~ " min N z -icanon; naj bo N znakov minimum pri branju\n" #~ " ospeed N izhodno hitrost nastavimo na N bitov/s\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "* rows N sporoči jedru, da uporabljamo terminal z N vrsticami\n" #~ "* size izpiši podatke iz jedra o številu stolpcev in vrstic\n" #~ " speed izpiši hitrost terminala\n" #~ " time N z -icanon, nastavi iztek časa pri branju na N desetink " #~ "sekunde\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Krmilne nastavitve:\n" #~ " [-]clocal onemogoči modemske krmilne signale\n" #~ " [-]cread omogoči sprejem vhoda\n" #~ "* [-]crtscts omogoči usklajevanje RTS/CTS\n" #~ " csN nastavi velikost znaka v bitih na N; N je v intervalu " #~ "[5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb dva končna bita za znak (pri »-« je en sam)\n" #~ " [-]hup pošlji signal za odložitev, ko zadnji proces zapre " #~ "terminal\n" #~ " [-]hupcl isto kot [-]hup\n" #~ " [-]parenb pošiljaj paritetni bit na izhodu in ga pričakuj na vhodu\n" #~ " [-]parodd izberi liho pariteto (pri »-« je soda)\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Vhodne nastavitve:\n" #~ " [-]brkint prekinitve sprožijo signal za prekinitev\n" #~ " [-]icrnl pretvori znak CR v NL\n" #~ " [-]ignbrk ne upoštevaj prekinitvenih znakov\n" #~ " [-]igncr ne upoštevaj znaka za pomik na levi rob\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar ne upoštevaj znakov z napačno pariteto\n" #~ "* [-]imaxbel zapiskaj in ne izprazni polnega medpomnilnika na znaku\n" #~ " [-]inlcr pretvori znak NL v CR\n" #~ " [-]inpck omogoči preverjanje paritete na vhodu\n" #~ " [-]istrip najvišji (osmi) bit znakov vedno postavi na nič\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "" #~ " * [-]iutf8 privzemi, da znaki na vhodu uporabljajo kodiranje UTF-8\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "* [-]iuclc pretvori velike črke v male\n" #~ "* [-]ixany omogoči, da katerikoli znak, ne le XON, ponovno požene " #~ "izpis\n" #~ " [-]ixoff omogoči pošiljanje znakov XON in XOFF\n" #~ " [-]ixon omogoči uskladitev z znaki XON/XOFF\n" #~ " [-]parmrk označi napako v pariteti z zaporedjem 255-0-ZNAK\n" #~ " [-]tandem isto kot [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Izhodne nastavitve:\n" #~ "* bsN slog zakasnitve pri brisalki; N je v intervalu [0..1]\n" #~ "* crN slog zakasnitve pri pomiku na začetek vrste; N je v " #~ "[0..3]\n" #~ "* ffN slog zakasnitve pri pomiku na naslednjo stran; N je v " #~ "[0..1]\n" #~ "* nlN slog zakasnitve pri skoku v naslednjo vrsto; N je v " #~ "[0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "* [-]ocrnl pretvori znake CR v NL\n" #~ "* [-]ofdel zapolnjuj z znaki za brisanje namesto z znaki NUL\n" #~ "* [-]ofill uporabi znake za zapolnjevanje namesto časovnih " #~ "zakasnitev\n" #~ "* [-]olcuc pretvori male črke v velike\n" #~ "* [-]onlcr pretvori znake NL v CR\n" #~ "* [-]onlret znak NL opravi še pomik na začetek vrste\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ "* [-]onocr ne izpisuj znakov CR v prvem stolpcu\n" #~ " [-]opost dodatna obdelava izhoda\n" #~ "* tabN slog zakasnitve pri tabulatorju; N je v intervalu [0..1]\n" #~ "* tabs isto kot tab0\n" #~ "* -tabs isto kot tab3\n" #~ "* vtN slog zakasnitve pri vertikalnem tabulatorju; N je v " #~ "[0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Lokalne nastavitve:\n" #~ " [-]crterase izpisuj znak za brisanje kot brisanje-presledek-brisanje\n" #~ "* crtkill pobriši celotno vrstico ob upoštevanju echoprt in echoe\n" #~ "* -crtkill pobriši celotno vrstico ob upoštevanju echoctl in echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ "* [-]ctlecho krmilne znake izpisuj v zapisu s strešico (npr. »^C«)\n" #~ " [-]echo izpisuj vnesene znake\n" #~ "* [-]echoctl isto kot [-]ctlecho\n" #~ " [-]echoe isti kot [-]crterase\n" #~ " [-]echok izpiši znak za novo vrstico po brisanju vrstice\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ "* [-]echoke isto kot [-]crtkill\n" #~ " [-]echonl izpisuj znak za novo vrstico, četudi ostalih ne\n" #~ "* [-]echoprt izpisuj pobrisane znake nazaj, med »\\« in »/«\n" #~ " [-]icanon omogoči posebne znake erase, kill, werase in rprnt\n" #~ " [-]iexten omogoči posebne znake, ki niso del priporočila POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig omogoči posebne znake interrupt, quit in suspend\n" #~ " [-]noflsh onemogoči izpraznitev medpomnilnika po znakih interrupt " #~ "in quit\n" #~ "* [-]prterase isto kot [-]echoprt\n" #~ "* [-]tostop ustavi vsa opravila v ozadju, ki poskušajo pisati na " #~ "terminal\n" #~ "* [-]xcase skupaj z icanon, predhodi vse velike črke z nagibnico " #~ "»\\«\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Kombinacijske nastavitve:\n" #~ "* [-]LCASE isto kot [-]lcase\n" #~ " cbreak isto kot -icanon\n" #~ " -cbreak isto kot icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked isto kot brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, znaka eof in eol na njuni privzeti vrednosti\n" #~ " -cooked isto kot raw\n" #~ " crt isto kot echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec isto kot echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ "* [-]decctlq isto kot [-]ixany\n" #~ " ek znaka erase in kill na njuni privzeti vrednosti\n" #~ " evenp isto kot parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp isto kot -parenb cs8\n" #~ "* [-]lcase isto kot xcase iuclc olcuc\n" #~ " litout isto kot -parenb -istrip -opost cs8\n" #~ " -litout isto kot parenb istrip opost cs7\n" #~ " nl isto kot -icrnl -onlcr\n" #~ " -nl isto kot icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp isto kot parenb parodd cs7\n" #~ " -oddp isto kot -parenb cs8\n" #~ " [-]parity isto kot [-]evenp\n" #~ " pass8 isto kot -parenb -istrip cs8\n" #~ " -pass8 isto kot parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw isto kot -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw isto kot cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane isto kot cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, vsi posebni " #~ "znaki\n" #~ " na njihove privzete vrednosti.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Upravljaj s terminalskim vodom, povezanim s standardnim vhodom. Brez\n" #~ "argumentov izpiše hitrost, komunikacijski protokol in vse spremembe\n" #~ "glede na stty sane. Pri nastavitvah je ZNAK mogoče podati dobesedno,\n" #~ "ali pa v notacijah ^c, 0x37, 0177 ali 127; s posebnimi vrednostmi ^-\n" #~ "in undef prekličemo nastavitve posebnih znakov.\n" #~ msgid "only one device may be specified" #~ msgstr "navedena je lahko samo ena enota" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "izbiri za izpis v človeku berljivi obliki ter obliki, ki jo lahko " #~ "prebere\n" #~ "stty, sta si nasprotujoči" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "pri določanju sloga izhoda ni mogoče nastavljati načinov" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: ne-blokirnega načina ni mogoče ponovno zagnati" #~ msgid "invalid argument %s" #~ msgstr "neveljavni argument %s" #~ msgid "missing argument to %s" #~ msgstr "izbiri %s manjka argument" #~ msgid "invalid line discipline %s" #~ msgstr "neveljavni komunikacijski protokol %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: vseh zahtevanih operacij se ni dalo izvesti" #~ msgid "new_mode: mode\n" #~ msgstr "nov_način: način\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: ni podatka o velikosti te enote" #~ msgid "invalid integer argument %s" #~ msgstr "neveljavni celoštevilčni argument %s" #~ msgid "Password:" #~ msgstr "Geslo:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: ni mogoče odpreti /dev/tty" #~ msgid "cannot set groups" #~ msgstr "nastavitev skupin ni mogoča" #~ msgid "cannot set group id" #~ msgstr "nastavitev GID ni mogoča" #~ msgid "cannot set user id" #~ msgstr "nastavitev UID ni mogoča" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Uporaba: %s [IZBIRA]... [-] [UPORABNIK [ARGUMENT]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Aktivno uporabniško in skupinsko identiteto spremenimo na identiteto\n" #~ "navedenega UPORABNIKA.\n" #~ "\n" #~ " -, -l, --login naj bo ukazna lupina prijavna lupina\n" #~ " -c, --command=UKAZ ukazni lupini podamo en sam navedeni UKAZ " #~ "s -c\n" #~ " -f, --fast ukazni lupini podamo izbiro -f (samo csh " #~ "in tcsh)\n" #~ " -m, --preserve-environment brez spreminjanja nastavitev okolja\n" #~ " -p isto kot -m\n" #~ " -s, --shell=LUPINA poženemo navedeno LUPINO (če jo /etc/" #~ "shells dovoli)\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Minus - brez česarkoli pomeni isto kot -l. Če UPORABNIK ni naveden, se\n" #~ "privzame naduporabnik.\n" #~ msgid "user %s does not exist" #~ msgstr "uporabnik %s ne obstaja" #~ msgid "incorrect password" #~ msgstr "napačno geslo" #~ msgid "using restricted shell %s" #~ msgstr "z omejeno ukazno lupino %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "opozorilo: imenik %s ni dosegljiv" #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Kayvan Aghaiepour in David MacKenzie" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Za vsako podano DATOTEKO izračunamo nadzorno vsoto in izpišemo število " #~ "blokov.\n" #~ "\n" #~ " -r prekličemo -s; algoritem BSD, velikost blokov 1 KB\n" #~ " -s, --sysv računanje vsote z algoritmom System V, velikost blokov " #~ "512 B\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "Stanje na disku uskladimo s stanjem v diskovnem medpomnilniku.\n" #~ msgid "ignoring all arguments" #~ msgstr "ne upoštevamo nobenih argumentov" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "OPOZORILO: vaša ukazna lupina ima lahko vgrajeno vrednost %s, ki navadno\n" #~ "prevlada nad tu opisano različico. Prosimo, obrnite se na dokumentacijo\n" #~ "vaše ukazne lupine za podrobnosti o podprtih izbirah.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help ta navodila\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version različica programa\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Poročila o napakah javite na <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vsako od DATOTEK prepišemo na standardni izhod v obratnem vrstnem redu, " #~ "od\n" #~ "zadnje vrstice proti prvi. Če DATOTEKA ni podana ali je enaka -, beremo " #~ "s\n" #~ "standardnega vhoda.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before ločilo dodamo pred, ne za izpisano vrstico\n" #~ " -r, --regex ločila obravnavamo kot regularne izraze\n" #~ " -s, --separator=NIZ vrstice naj ločuje NIZ, ne znak za novo " #~ "vrstico\n" #~ msgid "%s: seek failed" #~ msgstr "%s: klic seek ni uspel" #~ msgid "record too large" #~ msgstr "zapis je prevelik" #~ msgid "cannot create temporary file %s" #~ msgstr "začasne datoteke %s ni mogoče ustvariti" #~ msgid "cannot open %s for writing" #~ msgstr "%s ni mogoče odpreti za pisanje" #~ msgid "%s: write error" #~ msgstr "%s: napaka pri pisanju" #~ msgid "separator cannot be empty" #~ msgstr "ločilo ne more biti prazno" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Zadnjih %d vrstic vsake od podanih DATOTEK izpišemo na standardni izhod.\n" #~ "Če je podana več kot ena DATOTEKA, izpišemo pred tem še glavo z imenom\n" #~ "datoteke. Če DATOTEKA ni podana ali je enaka -, beremo s standardnega " #~ "vhoda.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry datoteko poskušaj odpreti, četudi ni dostopna " #~ "v\n" #~ " trenutku, ko poženemo tail ali pa postane\n" #~ " nedostopna kasneje -- uporabno skupaj s " #~ "sledenjem\n" #~ " imena (izbira --follow-name)\n" #~ " -c, --bytes=N izpiši zadnjih N bajtov datoteke; uporabite +N " #~ "za\n" #~ " izpis bajtov od N-tega dalje v vsaki " #~ "datoteki\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}] pri datotekah, ki rastejo, sledimo\n" #~ " trenutnemu koncu datoteke; -f, --follow in\n" #~ " --follow=descriptor so sopomenke\n" #~ " -F isto kot --follow=name --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N izpišemo zadnjih N vrstic namesto privzetih %" #~ "d;\n" #~ " uporabite +N za izpis vrstic začenši z N-to\n" #~ " --max-unchanged-stats=N\n" #~ " skupaj z --follow=name, ponovno odpri " #~ "DATOTEKO, ki\n" #~ " se ni spremenila v zadnjih N (privzeto %d) " #~ "branjih;\n" #~ " s tem preverimo, ali vmes ni bila izbrisana " #~ "ali\n" #~ " preimenovana (uporabno pri dnevniških " #~ "datotekah)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID skupaj z -f, proces zaključimo, ko PID ugasne\n" #~ " -q, --quiet, --silent vedno brez izpisa glave z imenom datoteke\n" #~ " -s, --sleep-interval=S skupaj z -f; premor S sekund (privzeto 1 " #~ "sekunda)\n" #~ " med ponovitvami\n" #~ " -v, --verbose vedno z izpisom glave z imenom datoteke\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Če je število N (število vrstic ali bajtov) predznačeno z znakom " #~ "»+« (plus),\n" #~ "izpisujemo vrstice od N-te vrstice (N-tega bajta) dalje namesto zadnjih " #~ "N\n" #~ "vrstic (bajtov). N ima lahko množiteljsko pripono:\n" #~ "b za množenje s 512, kB = 1000, K = 1024, MB = 1000×1000, M = 1024×1024,\n" #~ "GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y.\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Z izbiro --follow (-f) tail privzeto sledi deskriptorju datoteke, kar " #~ "pomeni,\n" #~ "da konec datoteke sledimo tudi, če je ta vmes preimenovana. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Privzeti način ni uporaben, če želimo spremljati samo datoteko z danim\n" #~ "imenom (npr. dnevniški zapisi). V tem primeru uporabimo --follow=name. V " #~ "tem\n" #~ "načinu tail periodično poskusi odpreti datoteko in tako preverja, ali ta " #~ "še\n" #~ "obstaja, ali pa je bila vmes zbrisana ter ponovno ustvarjena.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "zapiramo %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: premik na relativni odmik %s ni mogoč" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: premik na odmik %s (relativno od konca) ni mogoč" #~ msgid "%s has become inaccessible" #~ msgstr "%s je postala nedostopna" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s je bila nadomeščena z datoteko, kateri ni moč slediti konca; opuščamo" #~ msgid "%s has become accessible" #~ msgstr "%s je postala dostopna" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s se je pojavila; sledimo konec nove datoteka" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s je bila zamenjana; sledimo konec nove datoteke" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: ne-blokirnega načina ni mogoče spremeniti" #~ msgid "%s: file truncated" #~ msgstr "%s: datoteka je porezana" #~ msgid "no files remaining" #~ msgstr "nobene datoteke ni več" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: koncu te zvrsti datoteke ni mogoče slediti; s tem imenom odnehamo" #~ msgid "number in %s is too large" #~ msgstr "število v %s je preveliko" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: neveljavno največje število nespremenjenih statusov med odpiranji" #~ msgid "%s: invalid PID" #~ msgstr "%s: neveljavna številka procesa (PID)" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: neveljavno število sekund" #~ msgid "option used in invalid context -- %c" #~ msgstr "izbira je uporabljena v neveljavnem kontekstu -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "opozorilo: izbira --retry je večinoma uporabna le, kadar ji sledi ime" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "opozorilo: PID ni upoštevan; --pid=PID je uporabno samo pri sledenju" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "opozorilo: izbira --pid=PID na tem sistemu ni podprta" #~ msgid "cannot follow %s by name" #~ msgstr "sledenje %s po imenu ni mogoče" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "opozorilo: sledenje standardnemu vhodu za vekomaj ni učinkovito" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Standarni vhod prepišemo na standardni izhod in še na vse navedene " #~ "DATOTEKE.\n" #~ "\n" #~ " -a, --append dodajaj na konec datoteke, namesto da pišeš " #~ "prek\n" #~ " -i, --ignore-interrupts ne upoštevaj signalov za prekinitev\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Če je DATOTEKA enaka -, prepišemo nazaj na standardni izhod.\n" #~ msgid "missing argument after %s" #~ msgstr "manjkajoč argument za %s" #~ msgid "invalid integer %s" #~ msgstr "neveljavno celo število %s" #~ msgid "')' expected" #~ msgstr "pričakuje se »)«" #~ msgid "')' expected, found %s" #~ msgstr "pričakuje se »)«, naleteli na %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: pričakuje se unarni operator" #~ msgid "-nt does not accept -l" #~ msgstr "-nt ne sprejema -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef ne sprejema -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot ne sprejema -l" #~ msgid "unknown binary operator" #~ msgstr "neznan binarni operator" #~ msgid "%s: binary operator expected" #~ msgstr "%s: pričakuje se binarni operator" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Uporaba: test IZRAZ\n" #~ " ali: test\n" #~ " ali: [ IZRAZ ]\n" #~ " ali: [ ]\n" #~ " ali: [ IZBIRA\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Ovrednoti IZRAZ in rezultat vrne kot izhodno kodo.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Rezultat ovrednotenja IZRAZA je lahko resnično (true) ali neresnično " #~ "(false).\n" #~ "Izpuščen IZRAZ se privzeto ovrednoti kot neresnično. IZRAZ je eden od:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( IZRAZ ) IZRAZ je pravilen\n" #~ " ! IZRAZ IZRAZ ni pravilen\n" #~ " IZRAZ1 -a IZRAZ2 IZRAZ1 in IZRAZ2 sta oba pravilna\n" #~ " IZRAZ1 -o IZRAZ2 IZRAZ1 ali IZRAZ2 sta pravilna\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " [-n] NIZ dolžina NIZA je večja od nič\n" #~ " NIZ isto kot -n NIZ\n" #~ " -z NIZ dolžina NIZA je enaka nič\n" #~ " NIZ1 = NIZ2 niza sta enaka\n" #~ " NIZ1 != NIZ2 niza se razlikujeta\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ŠTEVILO1 -eq ŠTEVILO2 celo ŠTEVILO1 je enako celemu ŠTEVILU2\n" #~ " ŠTEVILO1 -ge ŠTEVILO2 celo ŠTEVILO1 je večje ali enako od celega " #~ "ŠTEVILU2\n" #~ " ŠTEVILO1 -gt ŠTEVILO2 celo ŠTEVILO1 je večje od celega ŠTEVILU2\n" #~ " ŠTEVILO1 -le ŠTEVILO2 celo ŠTEVILO1 je manjše ali enako od celega " #~ "ŠTEVILU2\n" #~ " ŠTEVILO1 -lt ŠTEVILO2 celo ŠTEVILO1 je manjše od celega ŠTEVILU2\n" #~ " ŠTEVILO1 -ne ŠTEVILO2 celo ŠTEVILO1 ni enako celemu ŠTEVILU2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " DATOTEKA1 -ef DATOTEKA2 datoteki imata isto številko naprave in inoda\n" #~ " DATOTEKA1 -nt DATOTEKA2 DATOTEKA1 je bila spremenjena kasneje kot " #~ "DATOTEKA2\n" #~ " DATOTEKA1 -ot DATOTEKA2 DATOTEKA1 je bila spremenjena prej kot " #~ "DATOTEKA2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b DATOTEKA DATOTEKA obstaja in je bločna posebna enota\n" #~ " -c DATOTEKA DATOTEKA obstaja in je znakovna posebna enota\n" #~ " -d DATOTEKA DATOTEKA obstaja in je imenik\n" #~ " -e DATOTEKA DATOTEKA obstaja\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f DATOTEKA DATOTEKA obstaja in je navadna datoteka\n" #~ " -g DATOTEKA DATOTEKA obstaja in ima postavljen bit SGID\n" #~ " -G DATOTEKA DATOTEKA obstaja in pripada isti skupini\n" #~ " -h DATOTEKA DATOTEKA obstaja in je simbolna povezava (isto kot -L)\n" #~ " -k DATOTEKA DATOTEKA obstaja in ima postavljen lepljivi bit\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L DATOTEKA DATOTEKA obstaja in je simbolna povezava (isto kot -h)\n" #~ " -O DATOTEKA DATOTEKA obstaja in pripada istemu uporabniku\n" #~ " -p DATOTEKA DATOTEKA obstaja in je poimenovana cev\n" #~ " -r DATOTEKA DATOTEKA obstaja in jo smemo brati\n" #~ " -s DATOTEKA DATOTEKA obstaja in ni prazna (dolžina > 0)\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S DATOTEKA DATOTEKA obstaja in je vtičnica\n" #~ " -t DATOTEKA deskriptor DATOTEKE (navadno standarni izhod) je odprt na " #~ "terminalu\n" #~ " -u DATOTEKA DATOTEKA obstaja in ima postavljen bit SUID\n" #~ " -w DATOTEKA DATOTEKA obstaja in nanjo smemo pisati\n" #~ " -x DATOTEKA DATOTEKA obstaja in jo smemo izvajati ali iskati\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Razen pri izbirah -h in -L se pri vseh testih v zvezi z datotekami\n" #~ "sledi simbolnim povezavam. Pazite na to, da je potrebno oklepaje\n" #~ "opremiti z nagibnicami, da jih ne tolmači ukazna lupina. Celo ŠTEVILO\n" #~ "je lahko tudi -l NIZ, ki se ovrednoti na dolžino NIZA.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "Pomnite: [ upošteva izbiri --help in --version, »test« pa ne.\n" #~ "»test« tudi ta niza obravnava enako kot druge neprazne NIZE.\n" #~ msgid "test and/or [" #~ msgstr "test in/ali [" #~ msgid "missing `]'" #~ msgstr "manjkajoč »]«" #~ msgid "extra argument %s" #~ msgstr "odvečen argument %s" #, fuzzy #~ msgid "Jim Kingdon" #~ msgstr "Jim Meyering in Paul Eggert" #~ msgid "creating %s" #~ msgstr "ustvarjamo %s" #~ msgid "cannot touch %s" #~ msgstr "%s ni dosegljiv" #~ msgid "setting times of %s" #~ msgstr "nastavljamo čase %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Čas zadnjega dostopa in spremembe vsake DATOTEKE postavimo na trenutni " #~ "čas.\n" #~ "\n" #~ "Če DATOTEKA ne obstaja, se ustvari prazna datoteka.\n" #~ "\n" #~ "DATOTEKA, enaka »-«, se obravnava posebej in povzroči spremembo časov " #~ "pri\n" #~ "datoteki, povezani s standardnim izhodom.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a spremeni samo čas zadnjega dostopa\n" #~ " -c, --no-create brez ustvarjanja novih datotek\n" #~ " -d, --date=NIZ razčleni NIZ in uporabi ta čas namesto " #~ "trenutnega\n" #~ " -f (se ne upošteva)\n" #~ " -m spremeni samo čas zadnje spremembe\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=DATOTEKA uporabi čas podane DATOTEKE namesto " #~ "trenutnega\n" #~ " -t ŽIG uporabi [[CC]YY]MMDDhhmm[.ss] namesto trenutnega " #~ "časa\n" #~ " --time=BESEDA nastavimo čas, podan z BESEDO: \n" #~ " čas dostopa: access, atime, use (isto kot -a)\n" #~ " čas spremembe: mtime, modify (isto kot -m)\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Pazita na to, da izbiri -d in -t sprejemata različna zapisa datuma in " #~ "časa.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "hkrati lahko navedemo samo en vir" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "opozorilo: »touch %s« je opuščeno; uporabite »touch -t %04ld%02d%02d%02d%" #~ "02d.%02d«" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Uporaba: %s [IZBIRA]... MNOŽICA1 [MNOŽICA2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Prevedemo, stisnemo ali pobrišemo znake iz toka podatkov na standardnem \n" #~ "vhodu ter rezultat pišemo na standardni izhod.\n" #~ "\n" #~ " -c, -C, --complement komplement MNOŽICE 1.\n" #~ " -d, --delete pobrišemo znake, navedene v MNOŽICI 1.\n" #~ " -s, --squeeze-repeats sosledje enakih znakov, navedeno v MNOŽICI 1,\n" #~ " nadomestimo z enim samim znakom\n" #~ " -t, --truncate-set1 MNOŽICO 1 najprej skrčimo na velikost MNOŽICE " #~ "2.\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "MNOŽICE določajo nizi znakov. Večinoma predstavljajo sebe, posebej pa se\n" #~ "tolmačijo naslednja zaporedja:\n" #~ "\n" #~ " \\\\NNN znak z osmiško kodo NNN (dolžina 1, 2 ali 3 osmiške " #~ "števke)\n" #~ " \\\\\\\\ nagibnica\n" #~ " \\\\a zvonček\n" #~ " \\\\b pomik za en znak v levo\n" #~ " \\\\f skok na novo stran\n" #~ " \\\\n skok v novo vrstico\n" #~ " \\\\r pomik na levi rob\n" #~ " \\\\t vodoravni tabulator\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\\\v navpični tabulator\n" #~ " ZNAK1-ZNAK2 naraščajoče zaporedje znakov od ZNAKA1 do ZNAKA2\n" #~ " [ZNAK1-ZNAK2] isto kot ZNAK1-ZNAK2, če to uporabljata obe množici\n" #~ " [ZNAK*] v MNOŽICI 2; toliko ponovitev ZNAKA kot v MNOŽICI 1\n" #~ " [ZNAK*N] N ponovitev znaka; osmiška vrednost, če se N začne z " #~ "ničlo\n" #~ " [:alnum:] vse črke in števke\n" #~ " [:alpha:] vse črke\n" #~ " [:blank:] vsi vodoravni prazni znaki\n" #~ " [:cntrl:] vsi krmilni znaki\n" #~ " [:digit:] vse števke\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] vsi izpisljivi znaki razen presledka\n" #~ " [:lower:] vse male črke\n" #~ " [:print:] vsi izpisljivi znaki s presledkom vred\n" #~ " [:punct:] vsa ločila\n" #~ " [:space:] vsi prazni znaki, vodoravni in navpični\n" #~ " [:upper:] vse velike črke\n" #~ " [:xdigit:] vse šestnajstiške števke\n" #~ " [=ZNAK=] vsi znaki, ki so enakovredni navedenemu ZNAKU\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Če izbira -d ni podana in sta navedeni tako MNOŽICA1 kot MNOŽICA2, se " #~ "privzame\n" #~ "prevedba. Izbira -t se sme uporabiti samo ob prevedbi. Če je MNOŽICA 2 " #~ "krajša\n" #~ "od MNOŽICE 1, se privzame ponovitev zadnjega znaka v MNOŽICI 2 do " #~ "dolžine\n" #~ "MNOŽICE 1. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Znaki, ki v MNOŽICI 2 segajo prek dolžine MNOŽICE 1, se ne upoštevajo.\n" #~ "Edino razreda [:lower:] in [:upper:] se zajamčeno razširita v " #~ "naraščajočem\n" #~ "vrstnem redu. Če je kateri od njiju naveden v MNOŽICI 2, ju lahko " #~ "uporabimo\n" #~ "le za pretvorbo med velikimi in malimi črkami. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "Izbira -s uporablja MNOŽICO 1,\n" #~ "kadar ne prevajamo ali brišemo, sicer pa stiskanje uporablja MNOŽICO 2 in " #~ "se\n" #~ "izvede po prevajanju in brisanju.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "opozorilo: dvoumno osmiško ubežno zaporedje \\%c%c%c \n" #~ "\ttolmačimo kot dvobajtno zaporedje \\0%c%c, %c" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "opozorilo: nezavarovana nagibnica na koncu niza ni prenosljiva" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "meji razpona »%s-%s« nista navedeni v naraščajočem abecednem redu" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "neveljavno število ponavljanj %s v konstruktu [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "manjkajoče ime razreda znakov »[::]«" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "manjkajoč znak za ekvivalenco razredov »[==]«" #~ msgid "invalid character class %s" #~ msgstr "neveljavni razred znakov %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: operand ekvivalentnih razredov sme biti en sam znak" #~ msgid "too many characters in set" #~ msgstr "preveč znakov v množici" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "konstrukt ponovitev znaka [c*] se ne sme pojaviti v nizu 1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "kvečjemu en konstrukt ponovitev znaka [c*] se sme pojaviti v nizu 2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "izrazi [=c=] se pri prevedbi ne smejo pojavljati v nizu 2" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "kadar ne krajšamo niza 1, mora biti niz 2 neprazen" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "pri prevedbi s komplementi znakovnih razredov mora\n" #~ "niz 2 preslikati vse znake iz domene v enega" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "edina razreda znakov, ki se smeta pri prevedbi pojaviti v nizu 2,\n" #~ "sta »upper« in »lower«" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "konstrukt [c*] se sme pojaviti v nizu 2 le pri prevedbi" #~ msgid "Two strings must be given when translating." #~ msgstr "Pri prevedbi morata biti podana dva niza." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Kadar brišemo brez večkratnega stiskanja, sme biti podan samo en niz." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "neporavnana konstrukta [:upper:] in/ali [:lower:]" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s [neupoštevani argumenti ukazne vrstice]\n" #~ " ali: %s IZBIRA\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Zaključi s statusno kodo, ki kaže uspeh." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA] [DATOTEKA]\n" #~ "Zapišemo povsem urejen seznam, usklajen z delno ureditvijo v DATOTEKI.\n" #~ "Če DATOTEKA ni podana ali je enaka -, beremo s standardnega vhoda.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: liho število vnosov na vhodu" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: zanka na vhodu:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Uporaba: %s [IZBIRA]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Izpišemo ime enote terminala, s katere beremo standardni vhod.\n" #~ "\n" #~ " -s, --silent, --quiet ničesar ne izpiši, samo vrni izhodni status\n" #~ msgid "not a tty" #~ msgstr "ni terminal" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Izpišemo različne sistemske podatke. Brez IZBIRE je isto kot -s.\n" #~ "\n" #~ " -a, --all izpiši vse podatke v naslednjem vrstnem redu;\n" #~ " z izjemo -p in -i, če nista znana\n" #~ " -r, --kernel-name izpiši ime jedra operacijskega sistema\n" #~ " -n, --nodename izpiši omrežno ime računalnika\n" #~ " -r, --kernel-release izpiši izdajo jedra operacijskega sistema\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version izpiši različico jedra operacijskega sistema\n" #~ " -m, --machine izpiši podatke o strojni opremi\n" #~ " -p, --processor izpiši vrsto procesorja ali »unknown«\n" #~ " -i, --hardware-platform izpiši podatke o strojnem okolju ali " #~ "»unknown«\n" #~ " -o, --operating-system izpiši ime operacijskega sistema\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Izpiši arhitekturo sistema.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "ime sistema ni ugotovljivo" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Presledke v vsaki DATOTEKI nadomestimo s tabulatorji in rezultat zapišemo " #~ "na\n" #~ "standardni izhod. Če DATOTEKA ni podana ali je enaka -, beremo s " #~ "standardnega\n" #~ "vhoda.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all pretvorimo vse prazne prostore, ne le vodilnih\n" #~ " --first-only navzlic izbiri -a pretvorimo samo vodilne " #~ "presledke\n" #~ " -t, --tabs=ŠTEVILO tabulatorji naj bodo ŠTEVILO znakov narazen " #~ "namesto\n" #~ " privzetih 8 (omogoči -a)\n" #~ " -t, --tabs=SEZNAM z vejicami ločen seznam eksplicitnih položajev " #~ "tabulatorja\n" #~ " (omogoči -a)\n" #~ msgid "tabs are too far apart" #~ msgstr "razmik med tabulatorji je prevelik" #~ msgid "tab stop value is too large" #~ msgstr "vrednost tabulatorja je prevelika" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Uporaba: %s [IZBIRA]... [VHOD [IZHOD]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Sosledje enakih vrstic na VHODU (ali standardnem vhodu) nadomestimo z " #~ "eno\n" #~ "samo in rezultat zapišemo na IZHOD (standardni izhod).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count na začetku vsake vrstice izpišemo tudi število " #~ "ponovitev\n" #~ " -d, --repeated izpišemo samo podvojene vrstice\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=RAZMEJITEV] izpišemo vse podvojene vrstice\n" #~ " RAZMEJITEV={none (privzeto), prepend, separate}\n" #~ " Izpise razmejujejo prazne vrstice.\n" #~ " -f, --skip-fields=N pri primerjanju izpustimo prvih N polj\n" #~ " -i, --ignore-case male in velike črke obravnavamo enakovredno\n" #~ " -s, --skip-chars=N pri primerjanju izpustimo prvih N znakov\n" #~ " -u, --unique izpišemo samo nepodvojene vrstice\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N primerjamo prvih N znakov v vrstici\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Polje je zaporedje praznih znakov, ki mu sledi zaporedje nepraznih " #~ "znakov.\n" #~ "Najprej preskočimo polja, potem znake.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Pomnite: »uniq« ne zazna ponovljenih vrstic, če te niso v sosledju.\n" #~ "Vhod je treba najprej urediti, ali uporabiti »sort -u« brez »uniq«.\n" #~ msgid "too many repeated lines" #~ msgstr "preveč ponovljenih vrstic" #~ msgid "invalid number of fields to skip" #~ msgstr "neveljavno število preskočenih polj" #~ msgid "invalid number of bytes to skip" #~ msgstr "neveljavno število preskočenih bajtov" #~ msgid "invalid number of bytes to compare" #~ msgstr "neveljavno število primerjanih bajtov" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "izpis vseh podvojenih vrstic skupaj s številom ponovitev ni smiseln" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s DATOTEKA\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Odstranitev navedene DATOTEKE s klicem funkcije unlink(2).\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "s klicem unlink ni mogoče odstraniti %s" #~ msgid "couldn't get boot time" #~ msgstr "čas od zagona ni ugotovljiv" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s v teku " #~ msgid "am" #~ msgstr "A.M." #~ msgid "pm" #~ msgstr "P.M." #~ msgid " ??:???? up " #~ msgstr " ??:???? pokonci " #~ msgid "???? days ??:??, " #~ msgstr "???? dni ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld dni" #~ msgstr[1] "%ld dan" #~ msgstr[2] "%ld dneva" #~ msgstr[3] "%ld dnevi" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu uporabnikov" #~ msgstr[1] "%lu uporabnik" #~ msgstr[2] "%lu uporabnika" #~ msgstr[3] "%lu uporabniki" #~ msgid ", load average: %.2f" #~ msgstr ", povpr. obremenitev %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Uporaba: %s [IZBIRA]... [ DATOTEKA ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Izpišemo trenutni čas, čas, ki je pretekel od zagona računalnika, " #~ "število\n" #~ "trenutno prijavljenih uporabnikov in povprečno število opravil v čakalni " #~ "vrsti\n" #~ "v zadnji minuti, petih minutah in 15 minutah.\n" #~ "Če DATOTEKA ni navedena, uporabimo %s. Običajno je DATOTEKA %s.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Seznam trenutno prijavljenih uporabnikov zapišemo na DATOTEKO.\n" #~ "Če DATOTEKA ni navedena, uporabimo %s. Običajno je DATOTEKA %s.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Izpišemo število bajtov, besed in vrstic v vsaki od podanih DATOTEK, ter\n" #~ "skupne vrednosti, če je bila podana več kot ena DATOTEKA. Če DATOTEKA " #~ "ni \n" #~ "podana ali je enaka -, se bere s standardnega vhoda.\n" #~ "\n" #~ " -c, --bytes izpis števila bajtov\n" #~ " -m, --chars izpis števila znakov\n" #~ " -l, --lines izpis števila vrstic\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=DATOTEKA preberi imena datotek s seznama\n" #~ " z \\0 zaključenih imen v navedeni DATOTEKI\n" #~ " -L, --max-line-length izpiši dolžino najdaljše vrstice\n" #~ " -w, --words izpiši število besed\n" #~ msgid " old " #~ msgstr " staro " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "exit=" #~ msgid "clock change" #~ msgstr "sprem. ure" #~ msgid "run-level" #~ msgstr "run-level" #~ msgid "last=" #~ msgstr "last=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "Št. up.=%lu\n" #~ msgid "NAME" #~ msgstr "IME" #~ msgid "LINE" #~ msgstr "LINIJA" #~ msgid "TIME" #~ msgstr "ČAS" #~ msgid "IDLE" #~ msgstr "NEAKT." #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "KOMENTAR" #~ msgid "EXIT" #~ msgstr "IZH." #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Uporaba: %s [IZBIRA]... [ DATOTEKA | ARGUMENT1 ARGUMENT2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all isto kot -b -d --login -p -r -t -T -u\n" #~ " -b, --boot čas zadnjega zagona\n" #~ " -d, --dead izpis mrtvih procesov\n" #~ " -H, --heading izpiši vrstico z legendo\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login izpiši prijavne procese sistema\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup uporabi DNS za poizvedbo o kanoničnih imenih " #~ "računalnikov\n" #~ " -m samo imena računalnikov ter uporabnik, povezan s\n" #~ " standardnim vhodom\n" #~ " -p, --process izpišemo aktivne procese, ki jih je zagnal init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count vsi uporabniki in število vseh prijavljenih " #~ "uporabnikov\n" #~ " -r, --runlevel izpišemo trenutni nivo teka sistema\n" #~ " -s, --short izpišemo le uporabniško ime, linijo in čas prijave " #~ "(privzeto)\n" #~ " -t, --time izpišemo zadnjo spremembo sistemske ure\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg navedi možnost pošiljanja sporočil kot +, - ali ?\n" #~ " -u, --users seznam vseh prijavljenih uporabnikov\n" #~ " --message isto kot -T\n" #~ " --writable isto kot -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Če DATOTEKA ni navedena, pišemo na %s. Običajno je DATOTEKA %s.\n" #~ "Če sta podana ARGUMENT1 in ARGUMENT2, uporabi -m; običajno sta argumenta\n" #~ "»am i« ali »mom likes«.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Izpiše ime uporabnika, povezanega s trenutno dejavno uporabniško " #~ "identiteto.\n" #~ "Isto kot »id -un«.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: uporabniško ime za UID %lu ni ugotovljivo\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uporaba: %s [NIZ]...\n" #~ " ali: %s IZBIRA\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Ponavljaje izpisujemo vrstico s podanim NIZOM (privzeto »y«).\n" #~ "\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "neprepoznan operand %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " najprej imeniki, zatem datoteke\n" #~ msgid "block size" #~ msgstr "velikost bloka" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License .\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ta program je prosta programska oprema; lahko ga redistribuirate in/ali\n" #~ "spreminjate po pogojih, določenih v »GNU General Public License«, \n" #~ ". Za izdelek ni NOBENEGA JAMSTVA, " #~ "do\n" #~ "z zakonom dovoljene meje.\n" #~ msgid "invalid %s `%s'" #~ msgstr "neveljaven %s »%s«" #~ msgid "invalid character following %s in `%s'" #~ msgstr "neveljaven znak sledi %s v »%s«" #~ msgid "%s `%s' too large" #~ msgstr "%s »%s« je preveliko" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "izbira --kilobytes je odsvetovana; namesto nje uporabite -k" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST ima lahko pripono b za množenje s 512, k za 1024 ali m za " #~ "1024×1024.\n" #~ msgid "cannot print only user and only group" #~ msgstr "izbiri »le uporabnik« in »le skupina« se izključujeta" #~ msgid "cannot get supplemental group list" #~ msgstr "dodaten seznam skupin ni na voljo" #~ msgid "skip argument" #~ msgstr "preskoči argument" #~ msgid "limit argument" #~ msgstr "omeji argument" #~ msgid "minimum string length" #~ msgstr "najmanjša dolžina niza" #~ msgid "width specification" #~ msgstr "določilo širine" #~ msgid "page range" #~ msgstr "razpon strani" #~ msgid "the --copyright option is deprecated; use --version instead" #~ msgstr "izbira --copyright je odsvetovana; namesto nje uporabite --version" #~ msgid "sort size" #~ msgstr "velikost urejanja" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST ima lahko pripono b za množenje s 512, k za 1024 ali m za " #~ "1048576.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Čas zadnjega dostopa in spremembe DATOTEKE postavimo na trenutni čas.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "Opozorilo: izbira -i bo v prihodnjih izdajah ukinjena; uporabite -u" #~ msgid "strip failed" #~ msgstr "»strip« ni uspel" #~ msgid "value %s is so large that it is not representable" #~ msgstr "vrednost %s je tolikšna, da ni strojno predstavljiva" # ! INEXACT #~ msgid "cannot change owner and/or group of %s" #~ msgstr "lastnika in/ali skupine %s ni mogoče spremeniti" #~ msgid "cannot chdir to directory %s" #~ msgstr "dostop do imenika %s ni mogoč" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "imena skupine, ki pripada številčnemu UID, ni mogoče ugotoviti" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root imenika »/« ne obravnavamo posebej (privzeto)\n" #~ " --preserve-root ne dovoli rekurzivnega dela na »/«\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "ni mogoče pisati prek imenika %s" #~ msgid "symbolic links are not supported on this system" #~ msgstr "ta sistem ne podpira simbolnih povezav" #~ msgid "" #~ " -e enable interpretation of backslash escapes\n" #~ " -E disable interpretation of backslash escapes (default)\n" #~ msgstr "" #~ " -e pri izpisu tolmači spodaj navedene ubežna zaporedja\n" #~ " -E onemogoči tolmačenje ubežnih zaporedij v NIZIH " #~ "(privzeto)\n" #~ msgid "" #~ "warning: unportable BRE: %s: using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "opozorilo: neprenosljiv osnovni regularni izraz: %s : uporaba »^« kot\n" #~ "prvega znaka v osnovnem regularnem izrazu ni prenosljiva, ignorirano" #~ msgid "unrecognized option `-%c'" #~ msgstr "neprepoznana izbira »-%c«" #~ msgid "cannot return to working directory" #~ msgstr "vrnitev v delovni imenik ni mogoča" #~ msgid "cannot return to current directory" #~ msgstr "vrnitev v trenutni imenik ni mogoča" #~ msgid "create symbolic link %s to %s" #~ msgstr "simbolna povezava %s na %s" #~ msgid "create hard link %s to %s" #~ msgstr "trda povezava %s na %s" #~ msgid "cannot set permissions of directory %s" #~ msgstr "ni mogoče spremeniti dovoljenj za imenik %s" #~ msgid "fifo files not supported" #~ msgstr "datoteke FIFO niso podprte" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "ni mogoče spremeniti dovoljenj za FIFO %s" #~ msgid "cannot set permissions of %s" #~ msgstr "ni mogoče nastaviti dovoljenj za %s" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Ta program je prosta programska oprema; lahko ga redistribuirate in/ali\n" #~ "spreminjate po pogojih, določenih v »GNU General Public License«, izdani\n" #~ "pri Free Software Foundation; 2. izdaja (ali novejša, če razpolagate z " #~ "njo).\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Ta program se razširja v upanju, da je koristen, vendar BREZ " #~ "KAKRŠNEGAKOLI\n" #~ "JAMSTVA, niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA UPORABO. " #~ "Za\n" #~ "podrobnosti si oglejte »GNU General Public License«.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #~ msgstr "" #~ "Izvod »GNU General Public License« bi moral biti priložen temu programu;\n" #~ "če ni, pišite Free Software Foundation, Inc., 51 Franklin Street, Fifth\n" #~ "Floor, Boston, MA 02110-1301, ZDA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "sprememba imenika iz %s v .. ni mogoča" #~ msgid "cannot lstat `.' in %s" #~ msgstr "klic lstat trenutnega imenika v %s ni mogoč" #~ msgid "cannot lstat %s" #~ msgstr "statusa %s ni moč ugotoviti z lstat" #~ msgid "cannot chdir from %s to %s" #~ msgstr "premik iz imenika %s v %s ni mogoč" #~ msgid "cannot remove `.' or `..'" #~ msgstr "ni mogoče odstraniti imenikov ».« ali »..«" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Odstranimo navedene DATOTEKE.\n" #~ "\n" #~ " -d, --directory brisanje imenikov, vključno s polnimi (samo super-" #~ "user)\n" #~ " -f, --force brez opozoril o neobstoječih datotekah, brez " #~ "vprašanj\n" #~ " -i, --interactive zahtevamo potrditev pred vsakim brisanjem\n" #~ msgid "Exit with a status code indicating failure." #~ msgstr "Zaključi s statusno kodo, ki kaže neuspeh." #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Izpis statusa datoteke ali datotečnega sistema.\n" #~ "\n" #~ " -f, --file-system izpis statusa datotečnega sistema, ne statusa " #~ "datoteke\n" #~ " -c, --format=OBLIKA namesto privzete uporabi podano OBLIKO\n" #~ " -L, --dereference s sledenjem povezav\n" #~ " -t, --terse izpis podatkov v zgoščeni obliki\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Opozorilo: izbira »-l« je odsvetovana; uporabite »-L«" #~ msgid "the --allow-missing option is deprecated; use --retry instead" #~ msgstr "" #~ "izbira --allow-missing je odsvetovana; namesto nje uporabite --retry" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle dodaj čas neaktivnosti z v obliki URE:MINUTE, . ali " #~ "star\n" #~ " (opuščena oblika; uporabite -u)\n" #~ " -l, --login izpis sistemskih prijavnih procesov\n" #~ " (enakovredno SUS -l)\n" #~ msgid "openat: unable to restore working directory" #~ msgstr "openat: povrnitev delovnega imenika ni mogoča" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "To je prost program; pogoji, pod katerimi ga lahko razmnožujete in\n" #~ "razširjate so navedeni v izvorni kodi. Za program ni NOBENEGA jamstva,\n" #~ "niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA UPORABO.\n" #~ msgid "closing standard output" #~ msgstr "zapiramo standardni izhod" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "ZAŠČITA je ena ali več črk iz »ugoa«, eden od znakov +-= in\n" #~ "ena ali več črk iz »rwxXstugo«.\n" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "opozorilo: --version-control (-V) je zastarela oblika izbire, ki bo v\n" #~ "eni od naslednjih izdaj odpravljena. Uporabljajte --backup=%s." #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z zapis časovnega pasu skladno z RFC-2822 (-0500) (nestandardna " #~ "razširitev)\n" #~ " %Z časovni pas (npr. CET); prazno, če časovni pas ni določen\n" #~ "\n" #~ "Privzeto so številčna polja v datumu do polne dolžine polja dopolnjena\n" #~ "z ničlami. GNU date pozna še naslednji določili med znakom »%%« in\n" #~ "numeričnim določilom:\n" #~ "\n" #~ " »-« (minus) ne dopolnjuj polja\n" #~ " »_« (podčrtaj) dopolni polje s presledki\n" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "pri izbiri --rfc-822 (-R) ni dovoljeno podati oblikovnega niza" #~ msgid "undefined" #~ msgstr "nedoločeno" #~ msgid "cannot get time of day" #~ msgstr "ni mogoče izvedeti trenutnega časa" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s zapisov na vhodu\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s zapisov na izhodu\n" # ! INEXACT #~ msgid "truncated records" #~ msgstr "odrezani zapisi" #~ msgid "file offset out of range" #~ msgstr "odmik izven območja" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "»-LIST« je opuščena oblika; uporabite »-t LIST«" #~ msgid "`%s' is too large" #~ msgstr "»%s« je preveliko" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s [morebitni argumeni v ukazni vrstici se ne upoštevajo]\n" #~ " ali: %s IZBIRA\n" #~ "Končamo z izhodno kodo, ki signalizira napako.\n" #~ "\n" #~ "Navedeni izbiri nimata kratke oblike.\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "»%s« je opuščena oblika; uporabite »%s«" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: število bajtov je preveliko" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "»-%s« je opuščena oblika; uporabite »-%c %.*s%.*s%s«" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "časovne oznake %s ni moč najti" #~ msgid "invalid field number: `%s'" #~ msgstr "neveljavna številka polja: »%s«" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "neveljavna številka polja za prvo datoteko: »%s«" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "neveljavna številka polja za drugo datoteko: »%s«" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary datoteke beremo v binarnem načinu (privzeto v\n" #~ " okoljih DOS/Windows)\n" #~ " -c, --check izračunane nadzorne vsote %s primerjamo z " #~ "vrednostmi\n" #~ " v navedeni datoteki\n" #~ " -t, --text datoteke beremo v besedilnem načinu (privzeto)\n" #~ "\n" #~ msgid "Only one operand may be specified when using --check." #~ msgstr "pri izbiri --check sme biti določen samo en operand" #~ msgid "cannot get priority" #~ msgstr "ni mogoče izvedeti prioritete" #~ msgid "cannot set priority" #~ msgstr "prioritete ni mogoče nastaviti" #~ msgid "failed to redirect standard output" #~ msgstr "preusmeritev standardnega izhoda ni uspela" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Diagnosticiramo neprenosljive konstrukte v IMENU.\n" #~ "\n" #~ " -p, --portability preveri za vse sisteme POSIX, ne le za tega\n" #~ msgid "column count too large" #~ msgstr "število stolpcev preveliko" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "»--columns=STOLPCI« neveljavno število stolpcev: »%s«" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "»-%s« je opuščena oblika; uporabite »-l %s«" #~ msgid "stdin: read error" #~ msgstr "stdin: napaka pri branju" #~ msgid "`%s' option is obsolete; use `%s-%c %'" #~ msgstr "»%s« je opuščena oblika; uporabite »%s-%c %«" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: pričakuje se celoštevilčni izraz\n" #~ msgid "before -lt" #~ msgstr "pred -lt" #~ msgid "after -lt" #~ msgstr "po -lt" #~ msgid "before -le" #~ msgstr "pred -le" #~ msgid "after -le" #~ msgstr "po -le" #~ msgid "before -gt" #~ msgstr "pred -gt" #~ msgid "after -gt" #~ msgstr "po -gt" #~ msgid "before -ge" #~ msgstr "pred -ge" #~ msgid "after -ge" #~ msgstr "po -ge" #~ msgid "before -ne" #~ msgstr "pred -ne" #~ msgid "after -ne" #~ msgstr "po -ne" #~ msgid "before -eq" #~ msgstr "pred -eq" #~ msgid "after -eq" #~ msgstr "po -eq" #~ msgid "after -t" #~ msgstr "po -t" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: test IZRAZ\n" #~ " ali: test\n" #~ " ali: [ IZRAZ ]\n" #~ " ali: [ ]\n" #~ " ali: [ IZBIRA\n" #~ "Ovrednotimo IZRAZ; rezultat vrnemo kot izhodni status. \n" #~ "\n" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uporaba: %s [morebitni argumenti v ukazni vrstici se ne upoštevajo]\n" #~ " ali: %s IZBIRA\n" #~ "Končamo z izhodno kodo, ki signalizira uspeh.\n" #~ "\n" #~ "Navedeni izbiri nimata kratke oblike.\n" #~ "\n" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "»-SEZNAM« je opuščena oblika; uporabite »--first-only -t SEZNAM«" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "»-%lu« je opuščena oblika; uporabite »-f %lu«" #~ msgid "%s: cannot find username for UID %lu\n" #~ msgstr "%s: uporabniško ume za UID %lu ni ugotovljivo\n" #~ msgid "program error" #~ msgstr "napaka v programu" #~ msgid "stack overflow" #~ msgstr "prekoračitev sklada" #~ msgid "too few arguments" #~ msgstr "premalo argumentov" # Je to res v redu? # ! INEXACT #~ msgid "cannot change to null group" #~ msgstr "ni mogoče spremeniti na skupino nič" #~ msgid "group number" #~ msgstr "član skupine" # ! INEXACT #~ msgid "invalid group number %s" #~ msgstr "neveljavna številka skupine %s" #~ msgid "invalid mode string: %s" #~ msgstr "neveljaven način %s" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Uporaba: %s [IZBIRA]... LEVA DESNA\n" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie in Jim Meyering" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: navedeni cilj ni imenik" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "prepisujemo več datotek, vendar zadnji argument %s ni imenik" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp in David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: po razmejilniku pričakovana ,*` ali ,-`" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie in Jim Meyering" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "preveč ne-izbirnih argumentov: %s%s" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie in Stuart Kemp" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "samo eno od {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, {unblock," #~ "sync}" #~ msgid "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgstr "Torbjorn Granlund, David MacKenzie, Larry McVoy in Paul Eggert" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "pri izpisu privzetih vrednosti (izbira --print-data-base, -p) ni " #~ "dovoljeno\n" #~ "podati argumenta DATOTEKA" #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie in Jim Meyering" #~ msgid "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgstr "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert in Jim " #~ "Meyerling" #~ msgid "cannot change to parent of directory %s" #~ msgstr "imenik nad imenikom %s ni dosegljiv" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Izpišemo NIZ ali več NIZOV na standardni izhod.\n" #~ "\n" #~ " -n ne izpisuj končnega znaka za novo vrstico\n" #~ " -e pri izpisu tolmači spodaj navedene ubežne sekvence\n" #~ " -E onemogoči tolmačenje ubežnih sekvenc v NIZIH\n" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "Izbiro -wŠTEVILO lahko uporabimo tudi v obliki -ŠTEVILO.\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=VELIKOST izpišemo prvih VELIKOST bajtov z začetka " #~ "datoteke\n" #~ " -n, --lines=ŠTEVILO izpišemo dano ŠTEVILO vrstic namesto prvih 10\n" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins in David MacKenzie" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "nameščamo več datotek, vendar zadnji argument %s ni imenik" #~ msgid "%s is a directory" #~ msgstr "%s je imenik" #~ msgid "too many non-option arguments" #~ msgstr "preveč neizbirnih argumentov" #~ msgid "too few non-option arguments" #~ msgstr "premalo neizbirnih argumentov" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker in David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: Datoteka obstaja" # ! INEXACT #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Uporaba: %s [IZBIRA]... CILJ [POVEZAVA]\n" #~ " ali: %s [IZBIRA]... CILJ... IMENIK\n" #~ " ali: %s [IZBIRA]... --target-directory=IMENIK CILJ...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "pri večih povezavah mora biti zadnji argument imenik" #~ msgid "file" #~ msgstr "naštete datoteke" #~ msgid "files" #~ msgstr "naštetih datotek" #~ msgid "checksum" #~ msgstr "izračunane nadzorne vsote" #~ msgid "checksums" #~ msgstr "izračunanih nadzornih vsot" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "izbiri --string in --check se medsebojno izključujeta" #~ msgid "no files may be specified when using --string" #~ msgstr "pri izbiri --string ne sme biti podana nobena datoteka" #~ msgid "wrong number of arguments" #~ msgstr "napačno število argumentov" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "niti glavno niti pomožno število ne sme biti podano za FIFO" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie in Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "pri premikanju večih datotek mora biti zadnji argument imenik" #~ msgid "invalid option `%s'" #~ msgstr "neveljavna izbira ,%s`" #~ msgid "invalid priority `%s'" #~ msgstr "neveljavna prioriteta ,%s`" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram in David MacKenzie" #~ msgid "old-style offset" #~ msgstr "odmik v starem slogu" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "neveljaven drugi operand v združljivostnem načinu ,%s`" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "v združljivostnem načinu morata biti zadnja dva argumenta odmika" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat in David MacKenzie" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "pot ,%s` vsebuje neprenosljiv znak ,%c`" #~ msgid "`%s' is not a directory" #~ msgstr ",%s` ni imenik" #~ msgid "directory `%s' is not searchable" #~ msgstr "imenik ,%s` ni berljiv" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "dolžina imena ,%s` je %ld; presega mejo %ld" #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "dolžina poti ,%s` je %d; presega mejo %ld" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie in Kaveh Ghazi" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr ",--pages` neveljavni obseg številk strani: ,%s`" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr ",--pages` neveljavna začetna številka strani: ,%s`" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr ",--pages` neveljavna končna številka strani: ,%s`" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr ",--pages` začetna številka strani je višja od končne" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "začetna stran je višja od celotnega števila strani: ,%d`" #~ msgid "Page %d" #~ msgstr "Str. %d" #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David MacKenzie in Richard Mlynarik" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: neveljaven ubežni znak" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Uporaba: %s oblika [argument...]\n" #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Richard Stallman in Jim Meyering" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "Če je začetna vrednost manjša kot meja, mora biti\n" #~ "korak negativen" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "če je začetna vrednost manjša kot meja, mora biti\n" #~ "korak pozitiven" #~ msgid "invalid number" #~ msgstr "neveljavno število" #~ msgid "*** invalid date/time ***" #~ msgstr "*** neveljavni datum/čas ***" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau in David MacKenzie" #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Ian Lance Taylor in Jim Meyering" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: neveljavna enoznakovna pripona pri zastareli izbiri" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "preveč argumentov: Pri stari skladnji izbir (%s) lahko podamo kot " #~ "argument le\n" #~ "eno datoteko. Namesto tega uporabite izbiri -n ali -c." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Opozorilo: pri uporabi stare skladnje (%s) navedba dveh ali več datotek\n" #~ "ni prenosljiva. Namesto nje uporabite izbiri -n ali -c." #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s presega največjo dovoljeno velikost datoteke na tem sistemu" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: neveljavno največje število zaporednih sprememb velikosti" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman in David MacKenzie" #~ msgid "argument expected\n" #~ msgstr "pričakuje se argument\n" #~ msgid "too many arguments\n" #~ msgstr "preveč argumentov\n" #~ msgid "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith" #~ msgstr "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie in Randy Smith" #~ msgid "file arguments missing" #~ msgstr "datoteka ni podana" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "neveljavno ubežno zaporedje ,\\%c`" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "ob hkratnem večkratnem brisanju in stiskanju morata biti podana dva niza" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "vsaj en niz mora biti podan pri stiskanju več znakov" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "neveljavna identična preslikava: pri prevedbi mora biti vsak konstrukt [:" #~ "upper:]\n" #~ "ali [:lower:] v nizu 1 poravnan z ustreznim konstruktom (torej [:lower:] " #~ "ali\n" #~ "[:upper:]) v nizu 2" #~ msgid "only one argument may be specified" #~ msgstr "dovoljen je le en argument" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie in Michael Stone" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Opozorilo: pomen izbire -l se bo v prihodnji izdaji spremenil, tako da " #~ "bo\n" #~ "skladen s POSIX" #~ msgid "warning: unable to use large stack" #~ msgstr "opozorilo: uporaba velikega sklada ni mogoča" #~ msgid " Type" #~ msgstr " Vrsta" #~ msgid "missing file arguments" #~ msgstr "datoteka ni podana" dc3dd-7.1.614/po/es.po0000644000175000017500000137670011233346647014053 0ustar amedicoamedico# Mensajes en español para GNU coreutils. # Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. # Santiago Vila Doncel , 2002, 2003, 2004. # # La primera versión de esta traducción se hizo combinando las traducciones # existentes de fileutils, textutils y sh-utils, en las cuales también # colaboraron Enrique Melero Gómez y Cristian Othón Martínez Vera. # msgid "" msgstr "" "Project-Id-Version: GNU coreutils 5.2.1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2004-11-05 01:11+0100\n" "Last-Translator: Santiago Vila Doncel \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "no se puede asignar espacio de almacenamiento para %lu pasos" #: src/dc3dd.c:538 src/dc3dd.c:546 #, fuzzy msgid "Unable to allocate space for thread buffer" msgstr "no se puede asignar espacio de almacenamiento para %lu pasos" #: src/dc3dd.c:556 #, fuzzy msgid "Unable to allocate space for lock/signals" msgstr "no se puede asignar espacio de almacenamiento para %lu pasos" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 #, fuzzy msgid "Unable to allocate space for hashes" msgstr "no se puede asignar espacio de almacenamiento para %lu pasos" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 #, fuzzy msgid "Unable to allocate space for threads" msgstr "no se puede asignar espacio de almacenamiento para %lu pasos" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pruebe `%s --help' para más información.\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Modo de empleo: %s [NÚMERO]...\n" " o bien: %s OPCIÓN\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Copia un fichero, convirtiendo y dándole formato de acuerdo con las " "opciones.\n" "\n" " bs=BYTES establece ibs=BYTES y obs=BYTES\n" " cbs=BYTES convierte BYTES bytes cada vez\n" " conv=PALABRAS convierte el fichero según la lista de palabras clave\n" " separadas por comas\n" " count=BLOQUES copia solamente BLOQUES bloques de entrada\n" " ibs=BYTES lee BYTES bytes cada vez\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=FICHERO lee del FICHERO en lugar de la entrada estándar (stdin)\n" " obs=BYTES escribe BYTES bytes cada vez\n" " of=FICHERO escribe en FICHERO en lugar de la salida estándar\n" " seek=BLOQUES se salta BLOQUES bloques de tamaño obs al comienzo del\n" " resultado\n" " skip=BLOQUES se salta BLOQUES bloques de tamaño ibs al comienzo de la\n" " entrada\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 #, fuzzy msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOQUES y BYTES pueden estar seguidos por los siguientes sufijos\n" "multiplicativos:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, y así sucesivamente para T, P, E, Z, " "Y.\n" "Cada PALABRA puede ser:\n" "\n" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s: el directorio objetivo especificado no es un directorio" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Tenga en cuenta que enviar la señal SIGUSR1 a un proceso `dd' en marcha\n" "hace que muestre en la salida de error estándar el número de registros\n" "leídos y escritos hasta el momento, y luego continúa con la copia.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -USR1 $pid; sleep 1; kill $pid\n" " 10899206+0 registros leídos\n" " 10899206+0 registros escritos\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Error del sistema desconocido" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "cerrando el fichero de entrada %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "cerrando el fichero de salida %s" #: src/dc3dd.c:2399 #, fuzzy msgid "Unable to allocate filename" msgstr "no se puede asignar espacio de almacenamiento para %lu pasos" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Se han agotado los sufijos para los ficheros de salida" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "abriendo %s" #: src/dc3dd.c:2462 #, fuzzy msgid "Unable to allocate memory" msgstr "no se puede asignar espacio de almacenamiento para %lu pasos" # Puestos a simplificar, a lo mejor podrías poner simplemente # "coincide" o "no coincide". Cualquiera que use el programa sabe # perfectamente qué es lo que coincide y lo que no. sv+ #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "La suma no coincide" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "opción no reconocida %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "fecha inválida `%s'" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "formato de fecha inválido %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "formato de fecha inválido %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "formato de fecha inválido %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "conversión inválida: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "número inválido al comienzo del campo" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "grupo inválido" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "usuario inválido %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "número inválido %s" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "no se puede combinar la señal con -l o -t" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "no se puede combinar la señal con -l o -t" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "no se puede combinar la señal con -l o -t" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "no se puede combinar la señal con -l o -t" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "no se puede combinar la señal con -l o -t" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "no se puede combinar la señal con -l o -t" # Se admiten sugerencias. #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "atención: solucionando provisionalmente un bicho del núcleo\n" "relacionado con lseek para el fichero (%s) de mt_type=0x%0lx;\n" "consulte la lista de tipos en " #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "leyendo %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: no se puede borrar" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "atención: ancho %lu inválido; se usará %d en su lugar" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "estableciendo la fecha de %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "leyendo el directorio %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "leyendo el directorio %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "escribiendo en %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, fuzzy, c-format msgid "fsync failed for %s" msgstr "No se puede abrir %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "entrada estándar" #: src/dc3dd.c:3938 msgid "standard output" msgstr "salida estándar" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "no se puede efectuar `fstat' sobre %s" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "avanzando %s bytes pasados en el fichero de salida %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "Unable to allocate hashing buffer" #~ msgstr "no se puede asignar espacio de almacenamiento para %lu pasos" #, fuzzy #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii de EBCDIC a ASCII\n" #~ " ebcdic de ASCII a EBCDIC\n" #~ " ibm de ASCII a EBCDIC alternado\n" #~ " block rellena los registros terminados en nueva línea con espacios " #~ "hasta\n" #~ " el tamaño de cbs\n" #~ " unblock sustituye los espacios que sobran en los registros de tamaño " #~ "cbs\n" #~ " con un carácter de nueva línea\n" #~ " lcase cambia las mayúsculas a minúsculas\n" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "registro truncado" #~ msgstr[1] "registro truncado" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "no se puede omitir tanto el usuario como el grupo" # Lo mismo de antes. #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "no se pueden comparar los nombres de fichero %s y %s" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "atención: ancho %lu inválido; se usará %d en su lugar" #~ msgid "error writing %s" #~ msgstr "error al escribir en %s" #~ msgid "invalid argument %s for %s" #~ msgstr "argumento %s inválido para %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "argumento %s ambiguo para %s" #~ msgid "Valid arguments are:" #~ msgstr "Los argumentos válidos son:" #, fuzzy #~ msgid "error closing file" #~ msgstr "actualizando el fichero" #~ msgid "write error" #~ msgstr "error de escritura" #~ msgid "preserving permissions for %s" #~ msgstr "se conservan los permisos de %s" #~ msgid "cannot stat %s" #~ msgstr "no se puede efectuar `stat' sobre %s" #~ msgid "regular empty file" #~ msgstr "fichero regular vacío" #~ msgid "regular file" #~ msgstr "fichero regular" #~ msgid "directory" #~ msgstr "directorio" #~ msgid "block special file" #~ msgstr "fichero especial de bloques" #~ msgid "character special file" #~ msgstr "fichero especial de caracteres" #~ msgid "fifo" #~ msgstr "`fifo'" #~ msgid "symbolic link" #~ msgstr "enlace simbólico" #~ msgid "socket" #~ msgstr "`socket'" #~ msgid "message queue" #~ msgstr "cola de mensajes" #~ msgid "semaphore" #~ msgstr "semáforo" #~ msgid "shared memory object" #~ msgstr "objeto de memoria compartida" #, fuzzy #~ msgid "typed memory object" #~ msgstr "objeto de memoria compartida" #~ msgid "weird file" #~ msgstr "fichero extraño" # Pues fifo file es precisamente lo mismo que un named pipe, mira # por donde :) , así que ya sabes, a tomar una determinación em # # Por regla general suelo respetar el original todo lo que puedo. # Si en inglés existe "fifo file" y "named pipe" y son sinónimos, no veo nada # malo en que en español exista "fichero `fifo'" y # "tubería con nombre (named pipe)", como sinónimos. sv # #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "los ficheros `fifo' no están soportados" # Pues fifo file es precisamente lo mismo que un named pipe, mira # por donde :) , así que ya sabes, a tomar una determinación em # # Por regla general suelo respetar el original todo lo que puedo. # Si en inglés existe "fifo file" y "named pipe" y son sinónimos, no veo nada # malo en que en español exista "fichero `fifo'" y # "tubería con nombre (named pipe)", como sinónimos. sv # #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "los ficheros `fifo' no están soportados" # FIXME: Decirle al autor que lo ponga como en fork. #, fuzzy #~ msgid "Memory allocation failure" #~ msgstr "falló la llamada al sistema `malloc'" # Pues fifo file es precisamente lo mismo que un named pipe, mira # por donde :) , así que ya sabes, a tomar una determinación em # # Por regla general suelo respetar el original todo lo que puedo. # Si en inglés existe "fifo file" y "named pipe" y son sinónimos, no veo nada # malo en que en español exista "fichero `fifo'" y # "tubería con nombre (named pipe)", como sinónimos. sv # #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "los ficheros `fifo' no están soportados" #, fuzzy #~ msgid "System error" #~ msgstr "error de escritura" #, fuzzy #~ msgid "Unknown error" #~ msgstr "Error del sistema desconocido" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: la opción `%s' es ambigua\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: la opción `--%s' no admite ningún argumento\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: la opción `%c%s' no admite ningún argumento\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: la opción `%s' requiere un argumento\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: opción no reconocida `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: opción no reconocida `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opción ilegal -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: opción inválida -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: la opción requiere un argumento -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: la opción `-W %s' es ambigua\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: la opción `-W %s' no admite ningún argumento\n" #~ msgid "cannot change permissions of %s" #~ msgstr "no se pueden cambiar los permisos de %s" #~ msgid "cannot create directory %s" #~ msgstr "no se puede crear el directorio %s" #~ msgid "memory exhausted" #~ msgstr "memoria agotada" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "no se puede volver al directorio de trabajo inicial" #~ msgid "failed to return to initial working directory" #~ msgstr "no se puede volver al directorio de trabajo inicial" # Vamos a probar con el símbolo de cita tradicional en español, # a ver qué tal queda la cosa. #~ msgid "`" #~ msgstr "«" #~ msgid "'" #~ msgstr "»" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: seek falló" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: la expresión regular no es válida: %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "clase de carácter inválido `%s'" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "memoria agotada" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: la expresión regular no es válida: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "error en la búsqueda de la expresión regular" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "error en la búsqueda de la expresión regular" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "error en la búsqueda de la expresión regular" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "es peligroso operar recursivamente sobre %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "es peligroso operar recursivamente sobre %s (igual que %s)" # Traducción libérrima, pero creo que se entiende. #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "utilice --no-preserve-root para saltarse esta medida de seguridad" # Esto es para responder "sí" cuando nos pregunte. #~ msgid "^[yY]" #~ msgstr "^[sS]" # Y esto es para responder "no" cuando nos pregunte. #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "estableciendo los permisos de %s" #~ msgid "iconv function not usable" #~ msgstr "la función iconv no es utilizable" #~ msgid "iconv function not available" #~ msgstr "la función iconv no está disponible" #~ msgid "character out of range" #~ msgstr "carácter fuera de rango" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "no se puede convertir U+%04X al conjunto de caracteres local" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "no se puede convertir U+%04X al conjunto de caracteres local: %s" # Me niego a considerar "inválido" como palabra "políticamente incorrecta". # Si algún "impedido físico" lee este mensaje y se molesta por ello, entonces # es que además de impedido físico es tonto, pues todo el mundo sabe que, # *en el contexto informático*, inválido e ilegal significan # "no permitido por la causa que sea". # Luego, que unas veces sea inválido y otras ilegal, son matices que el # original tiene y creo necesario respetar en la traducción. # # [ Tomás Bautista sugiere "inexistente", y también para grupo ] # # FIXME: # Eso sí, un día tendré que preguntar a los de GNU en qué se diferencia # "invalid" de "not allowed" de "not recognized" y todo eso... sv # #~ msgid "invalid user" #~ msgstr "usuario inválido" #~ msgid "invalid group" #~ msgstr "grupo inválido" # Me niego a considerar "inválido" como palabra "políticamente incorrecta". # Si algún "impedido físico" lee este mensaje y se molesta por ello, entonces # es que además de impedido físico es tonto, pues todo el mundo sabe que, # *en el contexto informático*, inválido e ilegal significan # "no permitido por la causa que sea". # Luego, que unas veces sea inválido y otras ilegal, son matices que el # original tiene y creo necesario respetar en la traducción. # # [ Tomás Bautista sugiere "inexistente", y también para grupo ] # # FIXME: # Eso sí, un día tendré que preguntar a los de GNU en qué se diferencia # "invalid" de "not allowed" de "not recognized" y todo eso... sv # #, fuzzy #~ msgid "invalid spec" #~ msgstr "usuario inválido" #~ msgid "Written by %s.\n" #~ msgstr "Escrito por %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Escrito por %s y %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Escrito por %s, %s, y %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "y %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, y %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, %s, y %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, %s, %s, y %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "y %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, y %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, y otros.\n" #~ msgid "invalid argument: %s" #~ msgstr "argumento inválido: %s" #~ msgid "string comparison failed" #~ msgstr "la comparación de cadenas falló" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "" #~ "Establezca LC_ALL='C' para solucionar este problema de forma temporal." #~ msgid "The strings compared were %s and %s." #~ msgstr "Las cadenas comparadas eran %s y %s." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "la comparación de cadenas falló" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "argumento inválido `%s'" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "argumento entero inválido `%s'" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: contador `%.*s' demasiado grande" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version informa de la versión y finaliza\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Sin FICHERO, o cuando FICHERO es -, lee la entrada estándar.\n" #~ msgid "read error" #~ msgstr "error de lectura" #, fuzzy #~ msgid "invalid input" #~ msgstr "número inválido" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "tamaño del `tab' inválido: %s" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "operando extra `%s'" #~ msgid "closing standard input" #~ msgstr "cierre de la entrada estándar" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s NOMBRE [SUFIJO]\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Muestra NOMBRE eliminando cualquier componente de directorio que lo " #~ "preceda.\n" #~ "Si se especifica, también elimina un SUFIJO final.\n" #~ "\n" #, fuzzy #~ msgid "missing operand" #~ msgstr "falta un operando después de `%s'" # ¿? Duro o fuerte, según se mire. # FIXME (pendiente). #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "enlace duro" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN] [FICHERO]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Concatena FICHERO(s), o la entrada estándar, en la salida estándar.\n" #~ "\n" #~ " -A, --show-all lo mismo que -vET\n" #~ " -b, --number-nonblank numera las líneas que no están vacías\n" #~ " -e lo mismo que -vE\n" #~ " -E, --show-ends muestra un $ al final de cada línea\n" #~ " -n, --number numera todas las líneas\n" #~ " -s, --squeeze-blank nunca muestra más de una línea vacía,\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t equivalente a -vT\n" #~ " -T, --show-tabs muestra los caracteres de tabulación como ^I\n" #~ " -u (sin efecto)\n" #~ " -v, --show-nonprinting utiliza la notación ^ y M-, salvo para LFD y " #~ "TAB\n" # Al igual que en fileutils donde también se hace mención a alguna llamada # del sistema, creo que se debería traducir por algo así como: # "No se puede realizar la llamada de sistema "ioctl" sobre..." # creo que es más "self-explanatory" # Sí, tienes razón em+ # FIXME: Comunicar al autor. sv #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "no se puede ejecutar la función `ioctl' sobre `%s'" #~ msgid "%s: input file is output file" #~ msgstr "%s: los ficheros de entrada y salida son el mismo" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "fallo al obtener los permisos de %s" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "fallo al obtener los permisos de %s" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "fallo al cambiar el propietario de %s a %s\n" #~ msgid "cannot access %s" #~ msgstr "no se puede acceder a %s" # FIXME: Me lo explique. #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "no se puede leer el directorio %s" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "cambiando los permisos de %s" #~ msgid "fts_read failed" #~ msgstr "fts_read falló" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... PROPIETARIO[:[GRUPO]] FICHERO...\n" #~ " o bien: %s [OPCIÓN]... :[GRUPO] FICHERO...\n" #~ " o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Cambia el grupo de cada FICHERO a GRUPO.\n" #~ "\n" #~ " -c, --changes como `verbose' pero informa sólo de los cambios\n" #~ " --dereference afecta al referente de cada enlace simbólico, en " #~ "lugar\n" #~ " de al propio enlace simbólico\n" # He traducido "diagnostic" por "mensaje". ¿Alguna idea mejor? # `diagnóstico' ... ¿no? ipg # # Rotundamente no. En español esa palabra solamente se usa en el # ámbito médico. "a nivel de hospitales" :-) sv # # pero en este caso, queda mejor (a mi parecer) `mensaje' ipg # # Menos mal :-) sv # # Y a mí que no me gusta `mensaje'... pero no encuentro alternativa. Quizá # `muestra lo realizado para/con/sobre cada fichero' tb # # Aunque prefiero mensaje, dejaré aquí tu sugerencia. # (Creo que es la mejor que me han hecho al respecto). sv # # sugiero que se especificara qué tipo de mensaje se muestra ya que un # "diagnostic" no es un mensaje cualquiera... uac # # Bueno, en este caso, por el contexto creo que no hace falta ser más # explícito, si dice "muestra un mensaje" y la opción se llama "verbose", # está claro que no es un mensaje de correo electrónico. sv #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet suprime la mayoría de los mensajes de error\n" #~ " --reference=FICH_R utiliza el grupo de FICH_R en lugar de " #~ "especificar\n" #~ " un valor para GRUPO\n" #~ " -R, --recursive opera sobre ficheros y directorios " #~ "recursivamente\n" #~ " -v, --verbose muestra un mensaje por cada fichero procesado\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Las siguientes opciones modifican cómo se atraviesa una jerarquía cuando\n" #~ "se especifica también la opción -R. Si se especifica más de una, " #~ "solamente\n" #~ "tiene efecto la última.\n" #~ "\n" #~ " -H si un argumento de la línea de órdenes es un " #~ "enlace\n" #~ " simbólico a un directorio, lo atraviesa\n" #~ " -L atraviesa cualquier enlace simólico a un " #~ "directorio\n" #~ " que se encuentre\n" #~ " -P no atraviesa ningún enlace simbólico " #~ "(predeterminado)\n" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "falta un operando después de `%s'" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "conversión inválida: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "fallo al obtener los permisos de %s" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "grupo inválido %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... GRUPO FICHERO...\n" #~ " o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Cambia el grupo de cada FICHERO a GRUPO.\n" #~ "\n" #~ " -c, --changes como `verbose' pero informa sólo de los cambios\n" #~ " --dereference afecta al referente de cada enlace simbólico, en " #~ "lugar\n" #~ " de al propio enlace simbólico\n" # ¿? ¿Existe el verbo "referenciar"? ¿Habría que poner referir? # # Sí, que yo sepa ... :) (yo me referencio, tu te referencias ... :). ipg # # Muy bueno :-) Ahora sí que lo veo claro. Ya lo he cambiado en todas # partes, excepto en algunos sitios donde busco una alternativa mejor. sv # # Yo creo que referido != referenciado, y este último es el que debería de # ponerse según lo que pienso... uac # # Pues Iñaky me convenció de que referenciado era un "palabro" (palabra # que no existe, inventada). ¿Estás seguro de que existe? # (Esto me recuerda el palabro "influenciar", a mucha gente se le olvida # que se dice *influir*). sv #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference afecta a cada enlace simbólico en lugar de a " #~ "los\n" #~ " ficheros referidos (solamente es útil en " #~ "sistemas\n" #~ " que pueden cambiar el propietario de un enlace\n" #~ " simbólico)\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root no trata `/' de forma especial " #~ "(predeterminado)\n" #~ " --preserve-root no opera recursivamente sobre `/'\n" # He traducido "diagnostic" por "mensaje". ¿Alguna idea mejor? # `diagnóstico' ... ¿no? ipg # # Rotundamente no. En español esa palabra solamente se usa en el # ámbito médico. "a nivel de hospitales" :-) sv # # pero en este caso, queda mejor (a mi parecer) `mensaje' ipg # # Menos mal :-) sv # # Y a mí que no me gusta `mensaje'... pero no encuentro alternativa. Quizá # `muestra lo realizado para/con/sobre cada fichero' tb # # Aunque prefiero mensaje, dejaré aquí tu sugerencia. # (Creo que es la mejor que me han hecho al respecto). sv # # sugiero que se especificara qué tipo de mensaje se muestra ya que un # "diagnostic" no es un mensaje cualquiera... uac # # Bueno, en este caso, por el contexto creo que no hace falta ser más # explícito, si dice "muestra un mensaje" y la opción se llama "verbose", # está claro que no es un mensaje de correo electrónico. sv #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet suprime la mayoría de los mensajes de error\n" #~ " --reference=FICH_R utiliza el grupo de FICH_R en lugar de " #~ "especificar\n" #~ " un valor para GRUPO\n" #~ " -R, --recursive opera sobre ficheros y directorios " #~ "recursivamente\n" #~ " -v, --verbose muestra un mensaje por cada fichero procesado\n" #~ "\n" #~ msgid "getting new attributes of %s" #~ msgstr "obteniendo nuevos permisos de %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "ni el enlace simbólico %s ni su referente ha cambiado\n" # ¿Y "el modo de... se cambió a..."? tb # Eso me da la impresión de que no es chmod quien los ha cambiado. # quiero decir, que así parece que "se cambió solo". # (aunque sea meramente un matiz). sv # # A mí también me parece más adecuado "se cambió a", aunque me gusta más # "se ha cambiado a" o "ha cambiado a"... uac # # Pensaré esto sincronizadamente con los otros. sv # #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "el modo de %s cambia a %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "fallo al cambiar el modo de %s a %04lo (%s)\n" # al igual que con chgrp y por coherencia me parece más adecuado: # "ha permanecido"... uac # #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "el modo de %s permanece como %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "no se puede crear el enlace simbólico %s" #~ msgid "changing permissions of %s" #~ msgstr "cambiando los permisos de %s" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "estableciendo los permisos de %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... MODO[,MODO]... FICHERO...\n" #~ " o bien: %s [OPCIÓN]... MODO-OCTAL FICHERO...\n" #~ " o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Cambia el modo de cada FICHERO a MODO.\n" #~ "\n" #~ " -c, --changes como `verbose' pero sólo informa de los " #~ "cambios\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root no trata `/' de forma especial " #~ "(predeterminado)\n" #~ " --preserve-root no opera recursivamente sobre `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet suprime la mayoría de los mensajes de error\n" #~ " -v, --verbose muestra un mensaje por cada fichero procesado\n" #~ " --reference=FICH_R utiliza el modo de FICH_R en lugar del valor " #~ "MODO\n" #~ " -R, --recursive cambia ficheros y directorios recursivamente\n" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "modo inválido %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "cambiado el propietario de %s a %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "cambiado el grupo de %s a %s\n" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "no se puede cambiar el propietario de %s" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "fallo al cambiar el propietario de %s a %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "fallo al cambiar el grupo de %s a %s\n" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "fallo al cambiar el propietario de %s a %s\n" # No sé si sería mejor "se mantiene como propietario de %s a " tb # No está mal. Lo pensaré. sv # # al igual que con el msgid anterior esta propuesta me parece mejor... uac # ¿Alguien más? :-) sv #~ msgid "ownership of %s retained as %s\n" #~ msgstr "el propietario de %s permanece como %s\n" # por la misma razón que en el msgid anterior, creo que debería ser algo así # como "ha permanecido" o algo similar... uac # Siguiendo con lo anterior, en este caso me parece que queda mucho más feo # en pasado que en presente (razón para dejarlos los dos en presente). # De todas formas, tendré que pensarlo un poco más despacio. sv #~ msgid "group of %s retained as %s\n" #~ msgstr "el grupo de %s permanece como %s\n" # No sé si sería mejor "se mantiene como propietario de %s a " tb # No está mal. Lo pensaré. sv # # al igual que con el msgid anterior esta propuesta me parece mejor... uac # ¿Alguien más? :-) sv #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "el propietario de %s permanece como %s\n" #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "no se puede ejecutar %s" #~ msgid "changing ownership of %s" #~ msgstr "cambiando el propietario de %s" #~ msgid "changing group of %s" #~ msgstr "cambiando el grupo de %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... GRUPO FICHERO...\n" #~ " o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO...\n" # La línea del "verbose", "da detalles de lo que va haciendo" es # realmente sosa, ¿alguna sugerencia que la mejore? # (¿o quizá no hay mucho que mejorar?) # # Opera verbosamente (ya sé que es pero ... pero es lo que se # me ocurrió a mí) :) ipg # # Con sinceridad, "verbosamente" me parece un "palabro". sv # # ¿Y "muestra en detalle los cambios" ? em # # Eso tiene el problema siguiente: "Lo que va haciendo" puede ser # cambiar unas cosas sí y otras no. No son sólo los cambios. sv # # ¿más sugerencias? sv+ # "muestra mensajes sólo cuando hay algún cambio" tb # Vale. Aceptado. Es casi igual pero un poquito mejor. sv # #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Cambia el propietario y/o grupo de cada FICHERO a PROPIETARIO y/o GRUPO.\n" #~ "Con --reference, cambia el propietario y el grupo de cada FICHERO a los\n" #~ "que tenga FICHERO-R\n" #~ "\n" #~ " -c, --changes como verbose pero informa solamente cuando se " #~ "efectúa\n" #~ " un cambio\n" #~ " --dereference afecta al referente al que apunta cada enlace\n" #~ " simbólico, en vez de al propio enlace simbólico\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=PROPIETARIO_ACTUAL:GRUPO_ACTUAL\n" #~ " cambia el propietario y/o el grupo de cada " #~ "fichero\n" #~ " solamente si su propietario y/o grupo actual " #~ "coinciden\n" #~ " con los especificados aquí. Se puede omitir " #~ "cualquiera\n" #~ " de los dos, en cuyo caso no se requiere " #~ "coincidencia\n" #~ " para el atributo omitido.\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet suprime la mayoría de los mensajes de error\n" #~ " --reference=FICH_R utiliza el propietario y el grupo de FICH_R en " #~ "lugar\n" #~ " de especificar valores PROPIETARIO:GRUPO\n" #~ " -R, --recursive opera sobre ficheros y directorios " #~ "recursivamente\n" #~ " -v, --verbose muestra un mensaje por cada fichero procesado\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "El propietario no cambia si se omite. El grupo no cambia si se omite, " #~ "pero\n" #~ "cambia al grupo de login implícitamente con `:'. PROPIETARIO y GRUPO " #~ "pueden ser\n" #~ "numéricos o simbólicos.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s NUEVO_RAÍZ [ORDEN...]\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "Ejecuta ORDEN siendo NUEVO_RAÍZ el directorio raíz.\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Si no se especifica ninguna orden, ejecuta ``${SHELL} -i''\n" #~ "(por omisión: /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "no se puede cambiar el directorio raíz a %s" #~ msgid "cannot chdir to root directory" #~ msgstr "no se puede cambiar al directorio raíz" #~ msgid "cannot run command %s" #~ msgstr "no se puede ejecutar la orden %s" #~ msgid "%s: file too long" #~ msgstr "%s: fichero demasiado largo" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Modo de empleo: %s [FICHERO]...\n" #~ " o bien: %s [OPCIÓN]\n" # ¿¿?? ¿¿Porqué has reformateado para que tengan la misma longitud? ipg # Me parece que queda más bonito, después de instalar el .po y ver # un par de mensajes tal y como aparecían creí necesario formatearlo # un poco. Todavía no hay una regla de formateo oficial para GNU, pero # es de esperar que dentro de poco la haya. em+ # # A mí, la verdad, se me hace harto difícil leer con más de un espacio # entre medias ... *lo odio* ;). ipg # # A ver qué os parece la siguiente regla, nunca la había escrito, pero no # me la acabo de inventar, creo que es la regla implícita que he estado # usando desde el principio: # # Regla de formateo: Ninguna línea excederá de 80 columnas. Cuando haya un # especificador de formato (tal y como %s) se debe tener en cuenta que # resultará sustituido por una palabra cuya longitud habrá que estimar. # # Hay algunas que pueden ser más largas aposta, porque sean reformateadas # a pelo. Además, en muchos casos será casi imposible hacer una estimación. # ipg # # En los textos que explican para qué sirve cada opción, se respetará en la # medida de lo posible la distancia de tabulación del original. Solamente está # justificado cambiar dicha distancia cuando haya dificultad en respetar # el límite de 80 columnas. # # Ok. ipg # # De acuerdo con la regla, *no* está justificado disminuir la distancia # en la siguiente cadena, así que la dejo como el original. sv #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Muestra la suma de comprobación CRC y el número de bytes de cada " #~ "FICHERO.\n" #~ "\n" # ¿? Duro o fuerte, según se mire. # FIXME (pendiente). #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "enlace duro" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO1 FICHERO2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "" #~ "Compara los ficheros ordenados FICHERO1 y FICHERO2 línea por línea.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Sin ninguna opción, produce un resultado en tres columnas. La columna\n" #~ "uno contiene las líneas únicas al FICHERO1, la columna dos contiene\n" #~ "las líneas únicas al FICHERO2, y la columna tres contiene las líneas\n" #~ "comunes a ambos ficheros.\n" # ¿¿cómo se puede explicar esto mejor?? # A mí me parece que está bien ... :-? ipg #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 suprime las líneas que sólo están en FICHERO1\n" #~ " -2 suprime las líneas que sólo están en FICHERO2\n" #~ " -3 suprime las líneas que aparecen en los dos\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "estableciendo los permisos de %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "fallo al conservar el propietario de %s" #~ msgid "failed to lookup file %s" #~ msgstr "fallo al buscar el fichero %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "fallo al conservar el autor de %s" #~ msgid "cannot open %s for reading" #~ msgstr "no se puede abrir %s para lectura" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "saltando el fichero %s, ya que fue reemplazado mientras se copiaba" #, fuzzy #~ msgid "failed to get file system create context" #~ msgstr "" #~ "fallo al establecer que la copia de stderr se cierre al hacer `exec'" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "fallo al cambiar el grupo de %s a %s\n" #~ msgid "cannot remove %s" #~ msgstr "no se puede borrar %s" #~ msgid "removed %s\n" #~ msgstr "%s borrado\n" #~ msgid "cannot create regular file %s" #~ msgstr "no se puede crear el fichero regular %s" #~ msgid "cannot lseek %s" #~ msgstr "no se puede efectuar `lseek' sobre %s" #~ msgid "writing %s" #~ msgstr "escribiendo %s" #~ msgid "preserving times for %s" #~ msgstr "se conserva las fechas de %s" #~ msgid "closing %s" #~ msgstr "cerrando %s" # SIoNO #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: ¿sobreescribir %s, sustituyendo el modo %04lo? (s/n) " # SIoNO #~ msgid "%s: overwrite %s? " #~ msgstr "%s: ¿sobreescribir %s? (s/n) " #~ msgid " (backup: %s)" #~ msgstr " (respaldo: %s)" #~ msgid "omitting directory %s" #~ msgstr "se omite el directorio %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "atención: se ha especificado el fichero origen %s más de una vez" #~ msgid "%s and %s are the same file" #~ msgstr "%s y %s son el mismo fichero" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "no se puede sobreescribir el no directorio %s con el directorio %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "no se sobreescribirá el fichero %s recién creado con %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "no se puede sobreescribir el directorio %s con un no directorio" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "" #~ "no se puede sobreescribir un directorio con un no directorio: %s -> %s" # Nota: Este backing up *no* es un gerundio. #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "respaldar %s destruiría el original; %s no se mueve" # Nota: Este backing up *tampoco* es un gerundio. #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "respaldar %s destruiría el original; %s no se copia" #~ msgid "cannot backup %s" #~ msgstr "no se puede respaldar %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "no se sobreescribirá el fichero %s recién creado con %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "no se puede copiar un directorio, %s, dentro de sí mismo, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "no se crea el enlace duro %s al directorio %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "crea el enlace duro %s a %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "no se puede mover %s a un directorio de sí mismo, %s" #~ msgid "cannot move %s to %s" #~ msgstr "no se puede mover %s a %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "falló el movimiento entre distintos dispositivos: de %s a %s;\n" #~ "no se puede borrar el objetivo" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "fallo al obtener los permisos de %s" # Nota: Pongo "el" y no "un" porque no todos los enlaces simbólicos # cíclicos son imposibles de copiar, por ejemplo: # ln -s bb bb # mkdir aa # cp -d bb aa # ls -l aa #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "no se puede copiar el enlace simbólico cíclico %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: solamente se pueden crear enlaces simbólicos relativos\n" #~ "en el directorio actual" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "no se puede crear el enlace simbólico %s a %s" #~ msgid "cannot create link %s" #~ msgstr "no se puede crear el enlace %s" # Dudo mucho que exista traducción de `fifo', pero si a alguien se le ocurre # alguna, por favor, que me diga en qué libro aparece y cuánta gente lo usa # (el término, no el libro). # # FIFO es un acrónimo (First-In, First-Out) ... Primero-que-Entra, # Primero-que-Sale (PEPS) ... no queda muy bien ¿no? :) ipg # # Lo sé, lo sé, pero no está el horno para bollos de inventarse # acrónimos en español que nadie usaría (*ni siquiera nosotros*). sv # # Lo que sí te digo es que es 'la' fifo. Y ya puestos, yo usaría, en todo # caso, 'pila fifo' em # # Es que no es "el fifo" ni "la fifo" sino "el [fichero] fifo" # Es un tipo especial de fichero. # Para que te quedes tranquilo, añado la palabra "fichero". sv+ # # Ya... y `fifo' no es un fichero, sino una `cola'. tb # # Creo que se refiere a un "named pipe", de los que se crean con mkfifo. # Y es un fichero sólo en tanto que está en un determinado directorio, # como los dispositivos en /dev. # ¿Debo entender que propones eliminar fichero? # (¿y poner además "la cola"?). sv # # No exactamente. Quiero decir que `fifo' es una cola ---lo decía por toda # la discusión anterior---, pero como esta cola está construida sobre un # fichero, pues... Y me temo que "fichero para `fifo'" sería ya demasiado. # Más vale que lo dejes como está. tb # # Por una vez, y sin que sirva de precedente, Santiago, me pongo de # tu lado :) Déjalo como está :D ipg # # Gracias a los dos. sv #~ msgid "cannot create fifo %s" #~ msgstr "no se puede crear el fichero `fifo' %s" #~ msgid "cannot create special file %s" #~ msgstr "no se puede crear el fichero especial %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "no se puede leer el enlace simbólico %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "no se puede crear el enlace simbólico %s" #~ msgid "%s has unknown file type" #~ msgstr "%s tiene un tipo de fichero desconocido" # Nota: Asegurarse de que significa eso. # Probablemente quiera decir que "no se puede recuperar `%s'" de la copia # de seguridad. tb #~ msgid "cannot un-backup %s" #~ msgstr "no se puede restaurar %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (restauración)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... ORIGEN DESTINO\n" #~ " o bien: %s [OPCIÓN]... ORIGEN... DIRECTORIO\n" #~ " o bien: %s [OPCIÓN]... --target-directory=DIRECTORIO ORIGEN...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Copia ORIGEN a DESTINO, o varios ORIGEN(es) a DIRECTORIO.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Los argumentos obligatorios para las opciones largas son también " #~ "obligatorios\n" #~ "para las opciones cortas.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive lo mismo que -dpR\n" #~ " --backup[=CONTROL] crea una copia de seguridad de cada " #~ "fichero de\n" #~ " destino que exista\n" #~ " -b como --backup pero no acepta ningún " #~ "argumento\n" #~ " --copy-contents copia el contenido de los ficheros " #~ "especiales\n" #~ " cuando opera recursivamente\n" #~ " -d lo mismo que --no-dereference --" #~ "preserve=link\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " --no-dereference no sigue los enlaces simbólicos\n" #~ " -f, --force borra los destinos que ya existan, sin " #~ "preguntar\n" #~ " -i, --interactive pide confirmación antes de sobreescribir\n" #~ " -H sigue los enlaces simbólicos de la línea\n" #~ " de órdenes\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -l, --link enlaza ficheros en lugar de copiarlos\n" #~ " -L, --dereference sigue siempre los enlaces simbólicos\n" #~ " -p igual que --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=LISTA_ATTR] conserva si puede los atributos " #~ "especificados,\n" #~ " (por omisión: mode,ownership," #~ "timestamps)\n" #~ " atributos adicionales: links, all\n" #, fuzzy #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=LISTA_ATTR no conserva los atributos especificados\n" #~ " --parents añade el directorio de origen a " #~ "DIRECTORIO\n" #~ " -P lo mismo que `--no-dereference'\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive copia recursivamente, los no directorios " #~ "como\n" #~ " ficheros\n" #~ " --remove-destination borra cada fichero de destino que exista " #~ "antes\n" #~ " de intentar abrirlo (compárese con --" #~ "force).\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --reply={yes,no,query} especifica cómo tratar la pregunta acerca " #~ "de\n" #~ " un fichero de destino que ya exista\n" #~ " --sparse=CUÁNDO controla la creación de ficheros " #~ "dispersos\n" #~ " --strip-trailing-slashes elimina todas las barras finales de cada\n" #~ " argumento ORIGEN\n" #, fuzzy #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link crea enlaces simbólicos en lugar de " #~ "copiarlos\n" #~ " -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual\n" #~ " --target-directory=DIRECTORIO mueve todos los argumentos ORIGEN " #~ "al\n" #~ " directorio DIRECTORIO\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update copia solamente cuando el fichero ORIGEN " #~ "es\n" #~ " más moderno que el fichero de destino,\n" #~ " o cuando falta el fichero de destino\n" #~ " -v, --verbose da detalles sobre lo que se va haciendo\n" #~ " -x, --one-file-system permanece en este sistema de ficheros\n" # ¿"crude" es simple o sencillo? # # `a lo bruto' o `simple'. # Yo prefiero `simple'. ipg # - - - - - - - - - - - - - - - - - # Nota sobre la traducción de "backup": # "backup" es sustantivo y verbo, y tiene dos posibles traducciones. # # La "verborreica": # "backup" -> copia de seguridad # "to backup" -> crear una copia de seguridad # # La "corta": # "backup" -> respaldo # "to backup" -> respaldar # (esta traducción aparece en algún programa de Hewlett Packard). # # Dado que la "verborreica" queda muy larga (sobre todo cuando es un verbo), # he decidido usar unas veces una y otras veces la otra, según el caso. # # Nota: Los ficheros `sparse' son una especie de # ficheros con "huecos" (trozos con muchos ceros seguidos). # Parece ser que hay un sistema que se encarga de acordarse # en dónde están los huecos para no tener que almacenar tantos bytes. sv+ # # "same as" -> "igual que". "Lo mismo que" no termina de convencerme. tb # es que en inglés también hay "equal to". sv # Ya. Pero la cuestión no es cómo se dice en inglés, sino cómo se expresa # la misma idea en español normalmente. tb # Bueno, yo le digo "lo mismo que"... sv # # -x: tampoco me gusta cómo se explica, aunque en el manual sí que lo deja # bien claro... yo lo pondría algo parecido a: # # "no lee [sobre] más de un sistema de ficheros" o # más parecido al manual: "evita subdirectorios en otros sistemas de ficheros" # uac # # La traducción me parece correcta y fiel. # Si de verdad te parece que está mal explicado, se lo digo al autor. sv # #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Por omisión, los ficheros ORIGEN `sparse' se detectan mediante una " #~ "simple\n" #~ "heurística y los correspondientes ficheros DESTINO se crean también " #~ "`sparse'.\n" #~ "Este es el comportamiento con --sparse=auto. Al especificar --" #~ "sparse=always se\n" #~ "crea un fichero DESTINO `sparse' cuando el fichero ORIGEN contiene una " #~ "sucesión\n" #~ "de bytes cero suficientemente larga.\n" #~ "Utilice --sparse=never para inhibir la creación de ficheros `sparse'.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "El sufijo de respaldo es `~', a menos que se establezca con --suffix o " #~ "con\n" #~ "SIMPLE_BACKUP_SUFFIX. El método de control de versión se puede " #~ "seleccionar\n" #~ "con la opción --backup o a través de la variable de entorno " #~ "VERSION_CONTROL.\n" #~ "Estos son los valores:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off nunca realiza copias de seguridad (incluso si se da la\n" #~ " opción --backup)\n" #~ " numbered, t crea copias de seguridad numeradas\n" #~ " existing, nil numeradas si existen copias de seguridad numeradas,\n" #~ " simples en caso contrario\n" #~ " simple, never siempre crea copias de seguridad simples\n" # Revisar esto un poco. Especialmente la última línea. #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Como caso especial, cp crea una copia de seguridad de ORIGEN cuando se " #~ "utilizan\n" #~ "las opciones `force' y `backup', y ORIGEN y DESTINO tienen el mismo " #~ "nombre para\n" #~ "un nombre de fichero regular existente.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "fallo al conservar la fecha de %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "fallo al conservar los permisos de %s" #~ msgid "cannot make directory %s" #~ msgstr "no se puede crear el directorio %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s existe pero no es un directorio" #~ msgid "accessing %s" #~ msgstr "accediendo a %s" #, fuzzy #~ msgid "missing file operand" #~ msgstr "falta un fichero como argumento" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "falta el fichero de destino" # FIXME: Falta una coma en el original. sv #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "el objetivo especificado, %s, no es un directorio" # Nota: Mejor no traducir "path" y "directory" de la misma forma dentro # de la misma frase. #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "" #~ "cuando se conservan rutas de acceso, el destino debe ser un directorio" #, fuzzy #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "la opción --allow-missing está obsoleta; use --retry en su lugar" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "se han especificado varias ficheros de salida" # ¿? HARD ¿duro o fuerte? # # Yo lo dejaría en duro ... (queda más heavy :) ipg # # Me inclino por fuerte. em # # ¿bibliografía? # (¿en qué libros os basáis?) sv+ #~ msgid "cannot make both hard and symbolic links" #~ msgstr "" #~ "no se puede crear un enlace que sea duro y simbólico al mismo tiempo" #~ msgid "backup type" #~ msgstr "tipo de respaldo" #~ msgid "input disappeared" #~ msgstr "la entrada dejó de existir" #~ msgid "%s: line number out of range" #~ msgstr "%s: número de línea fuera de rango" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: `%s': número de línea fuera de rango" # ??? #~ msgid " on repetition %s\n" #~ msgstr " repetido %s\n" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: `%s': ocurrencia no encontrada" #~ msgid "error in regular expression search" #~ msgstr "error en la búsqueda de la expresión regular" # %s debe de ser un fichero, ¿no? si es así a mí me parece "más natural": # "en %s" e incluso quizás "sobre %s"... o quizás no... ahí queda eso # Lo cambio em+ #, fuzzy #~ msgid "write error for %s" #~ msgstr "error al escribir `%s'" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: se esperaba un número entero después del delimitador" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: se requiere un `}' después del número de repeticiones" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: entre `{' y `}' debe especificarse un número entero" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: falta el delimitador de cierre `%c'" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: la expresión regular no es válida: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: plantilla inválida" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: el número de línea debe ser mayor que cero" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "" #~ "el número de línea `%s' es menor que el número de línea anterior, %s" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "atención: el número de línea `%s' es el mismo que el anterior" #~ msgid "invalid format width" #~ msgstr "formato de ancho inválido" #~ msgid "invalid format precision" #~ msgstr "formato de precisión inválido" #~ msgid "missing conversion specifier in suffix" #~ msgstr "falta el especificador de conversión en el sufijo" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "" #~ "el especificador de conversión indicado en el sufijo no es válido: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "" #~ "el especificador de conversión indicado en el sufijo no es válido: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "demasiados especificadores de conversión %% en el sufijo" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "falta el especificador de conversión %% en el sufijo" #~ msgid "%s: invalid number" #~ msgstr "%s: número inválido" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO PLANTILLA...\n" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Escribe los trozos de FICHERO que estén separados por PLANTILLA(s) en " #~ "ficheros\n" #~ "`xx01', `xx02' y muestra el tamaño de cada trozo en la salida estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMATO usa sprintf con FORMATO en vez de %02d\n" #~ " -f, --prefix=PREFIJO usa PREFIJO en vez de `xx'\n" #~ " -k, --keep-files no borra los ficheros de salida si hay " #~ "errores\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=DÍGITOS usa el número especificado de DÍGITOS\n" #~ " en vez de 2\n" #~ " -s, --quiet, --silent no muestra el tamaño de los ficheros " #~ "creados\n" #~ " -z, --elide-empty-files borra los ficheros de salida vacíos\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Lee la entrada estándar si FICHERO es `-'. Cada PLANTILLA puede ser:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " NÚMERO_LÍNEA copia a partir de este número de línea excluida " #~ "ella\n" #~ " /EXPREG/[DESPLAZ] copia sin incluir las líneas que coincidan con " #~ "EXPREG\n" #~ " %%EXPREG%%[DESPLAZ] comienza a partir de la línea que coincida con " #~ "EXPREG\n" #~ " {NÚMERO ENTERO} repite la plantilla especificada un número de veces\n" #~ " {*} repite la plantilla especificada todas las veces " #~ "posibles\n" #~ "\n" #~ "Un DESPLAZamiento de línea es un número entero precedido de `+' o de " #~ "`-'.\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [FICHERO]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Extrae las partes seleccionadas de cada FICHERO en la salida estándar:\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LISTA muestra solamente estos bytes\n" #~ " -c, --characters=LISTA muestra solamente estos caracteres\n" #~ " -d, --delimiter=DELIM usa DELIM en vez de caracteres de tabulación\n" #~ " para delimitar los campos\n" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LISTA muestra solamente estos campos; también " #~ "muestra\n" #~ " cualquier línea que no tenga un carácter\n" #~ " delimitador, a menos que se especifique la\n" #~ " opción -s\n" #~ " -n (no tiene efecto)\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited no muestra las líneas que no contienen\n" #~ " delimitadores\n" #~ " --output-delimiter=CADENA utiliza CADENA como el delimitador del\n" #~ " resultado. Por omisión se utiliza el\n" #~ " delimitador de la entrada\n" # Pregunta: ¿por qué se ha eliminado lo de "N-ésimo byte..."? ¿Por espacio? # Respuesta: en la posicion N = enésimo em+ #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Utilice una y sólo una de las opciones -b, -c ó -f. Cada LISTA se " #~ "compone\n" #~ "de uno o de más rangos separados por comas. Los rangos pueden ser:\n" #~ "\n" #~ " N El byte, carácter o campo en la posición N contado desde 1\n" #~ " N- A partir del byte, carácter o campo en la posición N, hasta el " #~ "final\n" #~ " de la línea\n" #~ " N-M Desde el byte, carácter o campo que ocupa la posición N hasta el " #~ "de\n" #~ " la posición M\n" #~ " -M desde el primero hasta el byte, carácter o campo de la posición " #~ "M\n" #~ "\n" #~ "Lee la entrada estándar si no se especifica FICHERO o es `-'.\n" #~ msgid "invalid byte or field list" #~ msgstr "la lista de bytes o campos no es válida" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "opción de ancho inválida: %s" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "cadena de modo inválida %s" #~ msgid "byte offset %s is too large" #~ msgstr "el desplazamiento de bytes %s es demasiado grande" #~ msgid "field number %s is too large" #~ msgstr "el número de campo %s es demasiado grande" #~ msgid "only one type of list may be specified" #~ msgstr "solamente se puede especificar un tipo de lista" #~ msgid "the delimiter must be a single character" #~ msgstr "el delimitador debe ser un sólo carácter" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "se debe indicar una lista de bytes, caracteres o campos" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "sólo se puede especificar un delimitador de entrada cuando se procesan " #~ "campos" # FIXME: Comunicar al autor lo de los tabs. sv+ #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "suprimir las líneas no delimitadas solamente tiene sentido\n" #~ "cuando se procesan campos" #~ msgid "missing list of fields" #~ msgstr "falta la lista de campos" #~ msgid "missing list of positions" #~ msgstr "falta la lista de posiciones" # Pongo AA en vez de YY. sv # Pongo SS de siglo en vez de CC. sv #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... [+FORMATO]\n" #~ " o bien: %s [-u|--utc|--universal] [MMDDhhmm[[SS]AA][.ss]]\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=FICHERO muestra la fecha de última modificación de " #~ "FICHERO\n" #~ " -R, --rfc-2822 muestra la cadena de fecha que cumple con RFC-" #~ "2822\n" #~ " -s, --set=CADENA establece la hora descrita por CADENA\n" #~ " -u, --utc, --universal muestra o establece el Tiempo Universal " #~ "Coordinado\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "FORMATO controla la salida. La única opción válida para la segunda forma\n" #~ "especifica Tiempo Universal Coordinado. Las secuencias interpretadas " #~ "son:\n" #~ "\n" #~ " %% un % literal\n" #~ " %a el nombre local abreviado de la semana (Dom..Sáb)\n" #, fuzzy #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A el nombre local completo de la semana, de longitud variable\n" #~ " (Domingo..Sábado)\n" #~ " %b el nombre local abreviado del mes (Ene..Dic)\n" #~ " %B el nombre local completo del mes, de longitud variable\n" #~ " (Enero..Diciembre)\n" #~ " %c la fecha y hora local (Sab Nov 04 12:02:33 EST 1989)\n" #, fuzzy #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C siglo (año dividido por 100 y truncado a entero) [00-99]\n" #~ " %d el día del mes (01..31)\n" #~ " %D la fecha (mm/dd/aa)\n" #~ " %e el día del mes, completado con espacios ( 1..31)\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h igual que %b\n" #~ " %H la hora (00..23)\n" #~ " %I la hora (01..12)\n" #~ " %j el día del año (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k la hora ( 0..23)\n" #~ " %l la hora ( 1..12)\n" #~ " %m el mes (01..12)\n" #~ " %M los minutos (00..59)\n" #, fuzzy #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n un carácter de nueva línea\n" #~ " %N nanosegundos (000000000..999999999)\n" #~ " %p AM o PM local en mayúsculas (blanco en muchos locales)\n" #~ " %P am o pm local en minúsculas (blanco en muchos locales)\n" #~ " %r la hora, en formato de 12 horas (hh:mm:ss [AP]M)\n" #~ " %R la hora, en formato de 24 horas (hh:mm:ss [AP]M)\n" #~ " %s los segundos desde `00:00:00 1970-01-01 UTC' (una extensión de " #~ "GNU)\n" #, fuzzy #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S los segundos (00..60); el 60 es necesario para los segundos " #~ "intercalares\n" #~ " %t un tabulador horizontal\n" #~ " %T la hora, en formato de 24 horas (hh:mm:ss)\n" #~ " %u día de la semana (1..7); 1 representa lunes\n" # ¿Es realmente correcta la W? Casi coincide con %V #, fuzzy #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U el número de la semana del año con Domingo como primer día de la\n" #~ " semana (00..53)\n" #~ " %V el número de la semana del año con Lunes como primer día de la\n" #~ " semana (01..53)\n" #~ " %w el día de la semana (0..6); 0 representa Domingo\n" #~ " %W el número de la semana en el año con lunes como primer día de\n" #~ " la semana (00..53)\n" #, fuzzy #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x la representación local de la fecha (dd/mm/aa)\n" #~ " %X la representación local de la hora (%H:%M:%S)\n" #~ " %y los últimos dos dígitos del año (00..99)\n" #~ " %Y el año (1970...)\n" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "se han especificado varias ficheros de salida" # Cualquier cosa menos poner "fechas a imprimir". #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "las opciones para especificar la fecha son mutuamente excluyentes" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "las opciones para mostrar y establecer la hora no se pueden utilizar a la " #~ "vez" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "el argumento `%s' carece del signo `+' inicial;\n" #~ "cuando se utiliza una opción para especificar fecha(s), cualquier " #~ "argumento\n" #~ "que no sea una opción debe ser una cadena de formato que comience con `+'." #~ msgid "cannot set date" #~ msgstr "no se puede establecer la fecha" #~ msgid "time %s is out of range" #~ msgstr "la fecha %s está fuera de rango" #~ msgid "Filesystem Type" #~ msgstr "S.ficheros Tipo" #~ msgid "Filesystem " #~ msgstr "S.ficheros " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Nodos-i NUsados NLibres NUso%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Tamaño Usado Disp Uso%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Tamaño Usado Disp Uso%%" # Nota: %-4s es para que justifique a la izquierda. # El espacio inicial es necesario para que la palabra Bloques no aparezca # pegada a la palabra Tipo cuando se usa df -T. #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " Bloques de %-4s Usado Dispon Ocupado" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " Bloques de %-4s Usado Dispon Uso%%" #~ msgid " Mounted on\n" #~ msgstr " Montado en\n" #~ msgid "cannot get current directory" #~ msgstr "no se puede obtener el directorio actual" #~ msgid "cannot change to directory %s" #~ msgstr "no se puede cambiar al directorio %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "no se puede efectuar `stat' sobre el directorio actual (ahora %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [FICHERO]...\n" #, fuzzy #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Muestra información sobre el sistema de ficheros en el que reside cada " #~ "FICHERO,\n" #~ "o por omisión sobre todos los sistemas de ficheros.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all incluye los sistemas de ficheros con 0 bloques\n" #~ " -B, --block-size=TAM utiliza bloques de TAM bytes\n" #~ " -h, --human-readable imprime los tamaños en formato legible (p.e. 1K " #~ "234M 2G)\n" #~ " -H, --si análogo, pero utiliza potencias de 1000 y no de " #~ "1024\n" #, fuzzy #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes muestra la información de nodos-i en lugar del " #~ "uso\n" #~ " de bloques\n" #~ " -k como --block-size=1K\n" #~ " -l, --local limita el listado a los sistemas de ficheros " #~ "locales\n" #~ " --no-sync no llama a sync antes de obtener el modo de " #~ "empleo\n" #~ " (por defecto)\n" #, fuzzy #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability utiliza el formato POSIX para el resultado\n" #~ " --sync llama a sync antes de obtener el modo de empleo\n" #~ " -t, --type=TIPO restringe el listado a sistemas de ficheros de " #~ "tipo TIPO\n" #~ " -T, --print-type muestra el tipo del sistema de ficheros\n" #~ " -x, --exclude-type=TIPO restringe el listado a los sistemas de " #~ "ficheros que\n" #~ " no son del tipo TIPO\n" #~ " -v (no tiene efecto)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO puede ser (o puede ser un entero seguido opcionalmente por) uno\n" #~ "de los siguientes: kB 1000, K 1024, MB 1000*1000, M 1024*1024, y así\n" #~ "en adelante para G, T, P, E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "" #~ "el sistema de ficheros %s está simultánemente seleccionado y excluido" #~ msgid "Warning: " #~ msgstr "Atención: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%sno se puede leer la tabla de sistemas de ficheros montados" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [FICHERO]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Produce órdenes para establecer la variable de entorno LS_COLORS.\n" #~ "\n" #~ "Para determinar el formato del resultado:\n" #~ " -b, --sh, --bourne-shell produce código en Bourne shell para\n" #~ " establecer LS_COLORS\n" #~ " -c, --csh, --c-shell produce código en C-shell para\n" #~ " establecer LS_COLORS\n" #~ " -p, --print-database muestra los valores por defecto\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Si se especifica FICHERO, se lee para determinar qué colores usar para " #~ "cuáles\n" #~ "tipos de ficheros y extensiones. En caso contrario, se utiliza una base " #~ "de\n" #~ "datos precompilada. Para más información acerca del formato de estos " #~ "ficheros,\n" #~ "ejecute `dircolors --print-database'.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: línea inválida; falta el segundo elemento" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: palabra clave no reconocida %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "las opciones para mostrar la base de datos interna de dircolors y\n" #~ "para seleccionar una sintaxis para el shell son mutuamente excluyentes" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "no hay variable de entorno SHELL, y no se ha especificado la opción\n" #~ "del tipo de shell" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s NOMBRE\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Muestra NOMBRE con sus /componentes finales eliminados; si NOMBRE no " #~ "tiene\n" #~ "/'s, el resultado es `.' (representando el directorio actual).\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... GRUPO FICHERO...\n" #~ " o bien: %s [OPCIÓN]... --reference=FICHERO-R FICHERO...\n" # La palabra "desreferencia" es horrenda. Dudo incluso de que exista. # ¿Sugerencias? # "Deja de referenciar", "Elimina referencia/s a" (Sólo es sugerencia) tb # La consevaremos, a ver si junto varias. sv # # ¿Por qué no algo tan simple y comprensible como "no hace referencia a"? uac # # Lo pensaré despacito. sv #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Muestra un resumen del uso de disco para cada FICHERO, recursivamente " #~ "para\n" #~ "directorios.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all muestra resultados para todos los ficheros, no " #~ "sólo\n" #~ " para los directorios\n" #~ " --apparent-size muestra los tamaños aparentes, en lugar del uso " #~ "de\n" #~ " disco; el tamaño aparente es normalmente más " #~ "pequeño,\n" #~ " puede ser más grande debido a agujeros en " #~ "ficheros\n" #~ " dispersos, fragmentación interna, etc.\n" #~ " -B, --block-size=TAM utiliza bloques de TAM bytes\n" #~ " -b, --bytes equivalente a `--apparent-size --block-size=1'\n" #~ " -c, --total produce un \"total\"\n" #~ " -D, --dereference-args desreferencia los FICHEROs que son enlaces " #~ "simbólicos\n" # prefiero enlaces duros a fuertes em # # En esto no os ponéis de acuerdo. # Creo que lo acabaremos preguntando en "spanglish". sv+ #, fuzzy #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -H como --si, pero además da un aviso; dentro de " #~ "poco\n" #~ " cambiará para ser equivalente a --dereference-" #~ "args (-D)\n" #~ " -h, --human-readable muestra los tamaños de forma legible\n" #~ " (p.ej., 1K 234M 2G)\n" #~ " --si como -h, pero utiliza potencias de 1000 y no de " #~ "1024\n" #~ " -k como --block-size=1K\n" #~ " -l, --count-links cuenta los tamaños varias veces si hay enlaces " #~ "fuertes\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference desreferencia todos los enlaces simbólicos\n" #~ " -P, --no-dereference no sigue ningún enlace simbólico " #~ "(predeterminado)\n" #~ " -0, --null termina cada línea por un byte 0 en vez de nueva " #~ "línea\n" #~ " -S, --separate-dirs no incluye el tamaño de los subdirectorios\n" #~ " -s, --summarize muestra solamente un total para cada argumento\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system se salta los directorios de otros sistemas de " #~ "ficheros\n" #~ " -X FICH, --exclude-from=FICH Excluye los ficheros que coinciden con\n" #~ " cualquier patrón en FICH.\n" #~ " --exclude=PATRÓN Excluye los ficheros que coinciden con PATRÓN.\n" #~ " --max-depth=N muestra el total para un directorio (o fichero,\n" #~ " con --all) solamente si está N o menos niveles " #~ "por\n" #~ " debajo del argumento de la línea de órdenes;\n" #~ " --max-depth=0 es lo mismo que --summarize\n" #~ msgid "total" #~ msgstr "total" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "ATENCIÓN: Utilice --si, no -H; el significado de la opción -H cambiará\n" #~ "pronto y será el mismo que el de --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "profundidad máxima inválida %s" #, fuzzy #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "la opción --allow-missing está obsoleta; use --retry en su lugar" #~ msgid "cannot both summarize and show all entries" #~ msgstr "no se puede al mismo tiempo resumir y mostrar todas las entradas" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "atención: resumir es lo mismo que usar --max-depth=0" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "atención: resumir entra en conflicto con --max-depth=%d" # Lo mismo de antes. #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "no se pueden comparar los nombres de fichero %s y %s" #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "nombre de grupo inválido %s" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [CADENA]...\n" # alerta (BEL) -> pitido audible (BEL) em+ # Vale que no es alerta, pero yo creo que debería ser campana. sv+ # #, fuzzy #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Sin -E, las siguientes secuencias son reconocidas e intercaladas:\n" #~ "\n" #~ " \\NNN el carácter cuyo código es NNN (octal)\n" #~ " \\\\ barra invertida\n" #~ " \\a campana (BEL)\n" #~ " \\b retroceso\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c suprime los caracteres de nueva línea finales\n" #~ " \\f avance de página (form feed)\n" #~ " \\n nueva línea\n" #~ " \\r retorno de carro\n" #~ " \\t tabulador horizontal\n" #~ " \\v tabulador vertical\n" # ¿? Duro o fuerte, según se mire. # FIXME (pendiente). #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "enlace duro" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... [-] [NOMBRE=VALOR]... [ORDEN " #~ "[ARGUMENTO]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Asigna a cada NOMBRE el VALOR en el entorno y ejecuta ORDEN.\n" #~ "\n" #~ " -i, --ignore-environment comienza con un entorno vacío\n" #~ " -u, --unset=NOMBRE borra la variable del entorno\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Un simple - implica -i. Si no hay ORDEN, muestra el entorno resultante.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Convierte las tabulaciones de cada FICHERO en espacios, escribiendo el\n" #~ "resultado en la salida estándar. Si no se especifica FICHERO o FICHERO\n" #~ "es `-', lee la entrada estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial sólo convierte las tabulaciones iniciales de cada " #~ "línea\n" #~ " -t, --tabs=NÚMERO usa N espacios en cada tabulación, en vez de 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LISTA usa la LISTA de posiciones separadas por comas " #~ "para\n" #~ " definir las posiciones de tabulación\n" #~ msgid "tab stop is too large %s" #~ msgstr "la parada de tabulación es demasiado grande %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "" #~ "el tamaño de tabulación contiene uno o varios caracteres inválidos: %s" #~ msgid "tab size cannot be 0" #~ msgstr "el tamaño de tabulación no puede ser 0" # ??? Mejor que el original, lo estoy dejando :-) #~ msgid "tab sizes must be ascending" #~ msgstr "las posiciones de tabulación deben ir en orden creciente" #, fuzzy #~ msgid "input line is too long" #~ msgstr "Nombre de grupo demasiado largo" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s EXPRESIÓN\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Muestra el valor de la EXPRESIÓN en la salida estándar. Una línea en " #~ "blanco\n" #~ "debajo separa los grupos de prioridad creciente. La EXPRESIÓN puede ser:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 si no es nulo ni 0, de otra manera ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 si ningún argumento es nulo o 0, de otra manera " #~ "0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 es menor que ARG2\n" #~ " ARG1 <= ARG2 ARG1 es menor o igual que ARG2\n" #~ " ARG1 = ARG2 ARG1 es igual a ARG2\n" #~ " ARG1 != ARG2 ARG1 es distinto de ARG2\n" #~ " ARG1 >= ARG2 ARG1 es mayor o igual que ARG2\n" #~ " ARG1 > ARG2 ARG1 es mayor que ARG2\n" #~ "\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 suma aritmética de ARG1 y ARG2\n" #~ " ARG1 - ARG2 diferencia aritmética de ARG1 y ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 producto aritmético de ARG1 y ARG2\n" #~ " ARG1 / ARG2 cociente aritmético de ARG1 dividido entre ARG2\n" #~ " ARG1 % ARG2 residuo aritmético de ARG1 dividido entre ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " CADENA : EXPREG búsqueda de expresiones regulares REGEXP en CADENA\n" #~ "\n" #~ " match CADENA EXPREG igual que CADENA : EXPREG\n" #~ " substr CADENA POS LONG subcadena de CADENA, POS se cuenta partiendo " #~ "de 1\n" #~ " index CADENA CARacteres índice en CADENA donde cualquier CARácter " #~ "es\n" #~ " encontrado, ó 0\n" #~ " length CADENA longitud de CADENA\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + TOKEN interpreta TOKEN como una cadena, incluso si " #~ "es\n" #~ " una palabra clave como `match' o un " #~ "operador\n" #~ " como `/'\n" #~ "\n" #~ " ( EXPRESIÓN ) valor de EXPRESIÓN\n" # Aquí no estoy muy conforme con quoted -> colocado entre comillas # ¿Acaso no sería mejor comentado? cfuga # Bueno, realmente sería "citado". Comentado se aplica más bien a estas # líneas que tienen un "#" al principio. # me parece mejor lo que hay ahora que comentado. sv # Sugerencia: emparejada -> que coincide con. cfuga # Por mí, bien. Se trata de "string matching", es decir que una cadena # coincide (en el sentido de que "encaja") con una determinada expresión # regular. Lo de match-emparejada lo solemos usar para llaves o comillas # que deben estar por parejas (una al principio y otra al final). sv # # ¿¿Escapados?? = colocados entre secuencias de escape. # No sería exacto, porque así das a entender que debe haber una secuencia # de escape antes y otra después. # # ¿No habría que poner "shell" entre comillas: `shell', ya que no lo # traducimos por "concha" (para los argentinos y otros: xoxo) ni # "caparazón" o "envoltorio"? (Conste que he visto estas palabras en # libros) Ya que es una palabra inglesa con traducción española, si # bien algo inconveniente quizá. gerardo # Es un neologismo. Creo que en español lo mejor es llamarle también shell. # No conozco ninguna traducción que haya prosperado. # Piensa en que tampoco ponemos entre comillas hardware ni software. sv # Es distinto. Las traducciones de hardware ("cacharrería") y # software ("logical") son demasiado forzadas. No hay traducción # aceptable. De "shell" sí hay, aunque la verdad es que a mí no me # gustan tampoco. En fin, tú mandas. Aquí me rindo. gerardo # Gracias. Si se te ocurre alguna ingeniosa traducción de shell, que nos # guste a los dos, *y que estés dispuesta a usarla en tu lenguaje cotidiano* # me avisas. No creo que suceda. sv #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Advierta que muchos operadores necesitan ser escritos con secuencias de " #~ "escape\n" #~ "o encerrados entre comillas para los shells.\n" #~ "Las comparaciones son aritméticas si ambos ARGs son números, de otra " #~ "manera\n" #~ "son lexicográficas.\n" #~ "Las coincidencias de expresiones regulares devuelven la cadena " #~ "emparejada\n" #~ "entre \\( y \\) o nulo; si no se utilizan \\( y \\), devuelven el número " #~ "de\n" #~ "caracteres coincidentes ó 0.\n" #~ msgid "syntax error" #~ msgstr "error de sintaxis" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "error en la búsqueda de la expresión regular" #~ msgid "non-numeric argument" #~ msgstr "argumento no numérico" #~ msgid "division by zero" #~ msgstr "división por cero" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s [NÚMERO]...\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Muestra los factores de cada NÚMERO.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " Muestra los factores primos de cada NÚMERO entero especificado. Si\n" #~ " no se especifican argumentos en la línea de órdenes, se leen de la\n" #~ " entrada estándar.\n" #~ msgid "%s is too large" #~ msgstr "%s es demasiado grande" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "`%s' no es un entero positivo válido" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Modo de empleo: %s [-DÍGITOS] [OPCIÓN]... [FICHERO]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Reformatea cada párrafo de FICHERO(s), escribiendo en la salida " #~ "estándar.\n" #~ "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin mantiene la sangría en las dos primeras " #~ "líneas\n" #~ " -p, --prefix=CADENA junta sólo las líneas que comiencen con " #~ "CADENA\n" #~ " -s, --split-only divide las líneas largas de manera que " #~ "quepan\n" #~ " en el ancho especificado, pero no junta " #~ "líneas\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph establece la sangría de la primera línea " #~ "diferente\n" #~ " de la segunda línea\n" #~ " -u, --uniform-spacing pone un espacio entre palabras, dos entre " #~ "frases\n" #~ " -w, --width=ANCHO establece el ancho de línea máximo (por " #~ "defecto,\n" #~ " 75 columnas)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "opción inválida -- %c; -ANCHO solamente se reconoce cuando es la primera\n" #~ "opción; utilice -w N en su lugar" #~ msgid "invalid width: %s" #~ msgstr "ancho inválido: %s" # Sugerencia: "Ajusta ... de cada FICHERO, o de la entrada ..." sv # A mí me gusta como está. ipg #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Ajusta el ancho de las líneas en cada FICHERO (por omisión la entrada\n" #~ "estándar), y escribe el resultado en la salida estándar\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes cuenta bytes en vez de columnas\n" #~ " -s, --spaces corta la línea por los espacios\n" #~ " -w, --width=ANCHO utiliza ANCHO columnas en vez de 80\n" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "el número de columnas no es válido `%s'" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "fallo al cambiar el grupo de %s a %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "fallo al cambiar el grupo de %s a %s\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "no se puede encontrar el nombre para el grupo con ID %u" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [USUARIO]\n" #~ msgid "%s: No such user" #~ msgstr "%s: No existe ese usuario" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Muestra las primeras 10 líneas de cada FICHERO en la salida estándar.\n" #~ "Si se especifican varios FICHERO(s), se muestra el nombre de cada uno.\n" #~ "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N muestra los primeros N bytes de cada fichero;\n" #~ " con el `-' inicial, muestra todos menos los\n" #~ " últimos N bytes de cada fichero\n" #~ " -n, --lines=[-]M muestra las primeras N líneas en lugar de las\n" #~ " primeras 10; con el `-' inicial, muestra " #~ "todas\n" #~ " menos las últimas N líneas de cada fichero\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent no muestra las cabeceras con el nombre del " #~ "fichero\n" #~ " -v, --verbose muestra siempre las cabeceras con el nombre " #~ "del\n" #~ " fichero\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BLOQUES y BYTES pueden estar seguidos por los siguientes sufijos\n" #~ "multiplicativos:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, y así sucesivamente para T, P, E, Z, " #~ "Y.\n" #~ "Cada PALABRA puede ser:\n" #~ "\n" #~ msgid "error reading %s" #~ msgstr "error al leer %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: el fichero ha encogido demasiado" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: el número de bytes es demasiado grande" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: no se puede efectuar `lseek' hasta la posición original" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: no se puede desplazar a la posición %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "no se puede reposicionar el puntero a fichero para %s" # Eso de "representable" no me suena muy bien, ¿podrías explicar a qué se # refiere?, incluso me parecen dos mensajes distintos... # # Pues un número, es un concepto abstracto, y su representación son # cosas como 1, 2 3i em+ #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s es tan grande que no es representable" #~ msgid "number of lines" #~ msgstr "número de líneas" #~ msgid "number of bytes" #~ msgstr "número de bytes" #~ msgid "invalid number of lines" #~ msgstr "el número de líneas no es válido" #~ msgid "invalid number of bytes" #~ msgstr "el número de bytes no es válido" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "opción inválida -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: %s\n" #~ " o bien: %s OPCIÓN\n" #~ "Muestra el identificador numérico (en hexadecimal) del `host' actual.\n" #~ "\n" # Host = huésped (vale, vale, no me peguéi má, me retracto, ab # renuncio: gerardo :-) # # Pues no te lo vas a creer, pero en el libro de Infovía de Telefónica # ponen anfitrión y se quedan tan anchos. # Esto no lo tengo claro del todo todavía. sv # # ¿Y por qué no? "Huésped" en español se refiere tanto al hospedador # como al hospedado. En nuestro caso "host" es el ordenador u/o/y # cacharro informático que hospeda en su seno un servicio, programa o # lo que sea. El anfitrión, para distinguir. Como he dicho otras # veces, "los angloparlantes dicen _anfitrión_ o _huésped_ en su # idioma. ¿Por qué nosotros no en el nuestro?" # gerardo # # ¿Porque siempre dudamos entre anfitrión o huésped? # (Como el asno de Buridán) # ¿O tal vez porque nadie se ha atrevido jamás? # A mí me da miedo ser el primero. sv #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: %s [NOMBRE]\n" #~ " o bien: %s OPCIÓN\n" #~ "Muestra o establece el nombre del `host' del sistema actual.\n" #~ "\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "no se puede establecer el nombre del `host' en `%s'" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "no se puede cambiar el nombre de `host'; este sistema carece de esa " #~ "capacidad" #~ msgid "cannot determine hostname" #~ msgstr "no se puede determinar el nombre del `host'" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Muestra información del USUARIO, o del usuario actual.\n" #~ " -a sin efecto, para compatibilidad con otras versiones\n" #~ " -g, --group muestra sólo el ID de grupo\n" #~ " -G, --groups muestra sólo los grupos suplementarios\n" #~ " -n, --name muestra un nombre en lugar de un número, para -ugG\n" #~ " -r, --real muestra el ID real en lugar del ID efectivo, para -ugG\n" #~ " -u, --user muestra sólo el ID del usuario\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Sin ninguna OPCIÓN, muestra un conjunto útil de información sobre la " #~ "identidad.\n" #, fuzzy #~ msgid "can't get process context" #~ msgstr "no se puede obtener el tipo de procesador" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "no se puede trocear de varias formas distintas" # Cambio un poco este mensaje. Si el anterior habla en singular, prefiero # que este también lo haga. Después de todo la orden id solamente # acepta un usuario. #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "no se puede imprimir solamente el nombre o el ID real en el formato\n" #~ "predeterminado" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "no se puede encontrar el nombre para el usuario con ID %u" #~ msgid " groups=" #~ msgstr " grupos=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "atención: no se puede cambiar al directorio %s" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "la opción strip no se puede usar cuando se instala un directorio" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "la opción strip no se puede usar cuando se instala un directorio" #~ msgid "invalid mode %s" #~ msgstr "modo inválido %s" #~ msgid "cannot change ownership of %s" #~ msgstr "no se puede cambiar el propietario de %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "no se puede establecer la fecha de %s" # Esta generó en su día una gran discusión, pues el original no era tan # explicativo. Finalmente, el autor (Jim Meyering) accedió amablemente a # cambiar el msgid original a como está ahora. # (Antes decía simplemente "cannot fork"). # Gracias a este cambio, tanto el original como la traducción son claros # y precisos, pero sin llegar a ser verborreicos. #~ msgid "fork system call failed" #~ msgstr "falló la llamada al sistema `fork'" #~ msgid "cannot run strip" #~ msgstr "no se puede ejecutar strip" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "escribiendo en %s" #~ msgid "invalid user %s" #~ msgstr "usuario inválido %s" #~ msgid "invalid group %s" #~ msgstr "grupo inválido %s" #~ msgid "creating directory %s" #~ msgstr "creando el directorio %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... ORIGEN DESTINO\n" #~ " o bien: %s [OPCIÓN]... ORIGEN... DIRECTORIO\n" #~ " o bien: %s [OPCIÓN]... --target-directory=DIRECTORIO ORIGEN...\n" #, fuzzy #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "En las dos primeras formas, copia ORIGEN a DESTINO o varios ORIGEN(es) " #~ "al\n" #~ "DIRECTORIO existente, mientras se establecen los permisos y el\n" #~ "propietario/grupo. En la tercera forma, crea todos los componentes\n" #~ "del/de los DIRECTORIO(s) dado(s).\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTROL] crea una copia de seguridad de cada fichero de\n" #~ " destino que exista\n" #~ " -b como --backup pero no acepta ningún argumento\n" #~ " -c (sin efecto)\n" #~ " -d, --directory trata todos los argumentos como nombres de " #~ "directorios\n" #~ " crea todos los componentes de los directorios\n" #~ " especificados\n" # FIXME: El "create all" está un poco descolocado. # # "given DIRECTORY" -> "DIRECTORIO que se indica" o "indicado" tb # Bueno, dejaré la sugerencia. Me gusta más "dado" porque es más corto # y si no tendría que usar otra línea más. sv # # Estoy con tb, creo que "indicado" explica mejor... uac # Lo pensaré. ¿Alguien más? sv #, fuzzy #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D crea todos los componentes iniciales de " #~ "DESTINO\n" #~ " excepto el último, y entonces copia ORIGEN a " #~ "DESTINO\n" #~ " útil en la 1ª forma\n" #~ " -g, --group=GRUPO establece la propiedad de grupo, en lugar del " #~ "grupo\n" #~ " actual del proceso\n" #~ " -m, --mode=MODO establece los permisos (como en chmod), en " #~ "lugar\n" #~ " de rwxr-xr-x\n" #~ " -o, --owner=PROPIETARIO establece la propiedad (sólo superusuario)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps aplica las fechas de acceso/modificación de " #~ "los\n" #~ " ficheros ORIGEN a los ficheros de destino\n" #~ " correspondientes\n" #~ " -s, --strip elimina las tablas de símbolos, sólo para las\n" #~ " formas 1ª y 2ª\n" #~ " -v, --verbose muestra el nombre de cada directorio conforme " #~ "se\n" #~ " van creando\n" #~ " -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "El sufijo de respaldo es `~', a menos que se establezca con --suffix o " #~ "con\n" #~ "SIMPLE_BACKUP_SUFFIX. El método de control de versión se puede " #~ "seleccionar\n" #~ "con la opción --backup o a través de la variable de entorno " #~ "VERSION_CONTROL.\n" #~ "Estos son los valores:\n" #~ "\n" # Sugerencia: no los dos a la vez -> pero no ambos. sv # ¿Pero no ambos a la vez? em # Eso es repetir el "both". sv # En lugar de `no los dos a la vez' ¿`nunca los dos a la vez'? ipg # Eso está mucho mejor em #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Muestra una línea en la salida estándar por cada par de líneas que " #~ "contengan\n" #~ "campos idénticos. El campo a comparar por defecto es el primero, " #~ "delimitado\n" #~ "por un espacio en blanco. Si FICHERO1 o FICHERO2 es `-' (nunca dos a la " #~ "vez),\n" #~ "lee la entrada estándar.\n" #~ "\n" #~ " -a NUMFICH muestra una línea por cada línea no emparejable del\n" #~ " fichero NUMFICH, donde NUMFICH es 1 o 2, " #~ "correspondiendo\n" #~ " a FICHERO1 o FICHERO2\n" #~ " -e VACÍO reemplaza los campos inexistentes por VACÍO\n" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case no atiende a las diferencias entre mayúsculas y " #~ "minúsculas\n" #~ " -j CAMPO equivalente a '-1 CAMPO -2 CAMPO'\n" #~ " -o FORMATO utiliza FORMATO para mostrar las líneas de salida\n" #~ " -t CARÁCTER Usa CARÁCTER como delimitador de campos, en la " #~ "entrada y en\n" #~ " la salida\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v NUMFICH Como -a NUMFICH, pero no muestra las líneas " #~ "emparejadas\n" #~ " -1 CAMPO usa este campo del fichero 1\n" #~ " -2 CAMPO usa este campo del fichero 2\n" # Creo que "si no, los campos se separan con CARÁCTER" es redundante, # por supuesto al igual que en la versión english. #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "A menos que se especifique -t CARÁCTER, los espacios en blanco separan " #~ "campos\n" #~ "y son pasados por alto, si no, los campos se separan con CARÁCTER. CAMPO " #~ "es el\n" #~ "número de campo contado a partir de 1. FORMATO es una lista de elementos " #~ "de la\n" #~ "forma `NUMFICH.CAMPO' ó `0', separada por comas o por espacios en blanco. " #~ "El\n" #~ "FORMATO por defecto muestra el campo que empareja, los restantes campos " #~ "de\n" #~ "FICHERO1 y los de FICHERO2, todos separados por CARÁCTER.\n" #~ "\n" #~ "Importante: FICHERO1 y FICHERO2 deben estar ordenados en los campos de " #~ "unión\n" #~ msgid "invalid field number: %s" #~ msgstr "número de campo inválido: %s" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "la especificación del campo no es válida: `%s'" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "número de fichero inválido en la especificación del campo: `%s'" #~ msgid "empty tab" #~ msgstr "tabulación vacía" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "tab multicarácter `%s'" #~ msgid "incompatible tabs" #~ msgstr "tabulaciones incompatibles" # Me refiero a que si sabe la causa exacta del error, ¿por qué ofrece # el error de sistema: "No such device"? # ¿¿Acaso hay sistemas con stdin1 y stdin2?? :-) # # Eso es lo de menos :) em+ #~ msgid "both files cannot be standard input" #~ msgstr "los dos ficheros no pueden ser a la vez la entrada estándar" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Modo de empleo: %s [-s SEÑAL | -SEÑAL ] PID...\n" #~ " o bien: %s -l [SEÑAL]...\n" #~ " o bien: %s -t [SEÑAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Envía señales a los procesos, o lista señales.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SEÑAL, -SEÑAL \n" #~ " especifica el nombre o ek número de la señal que se " #~ "enviará\n" #~ " -l, --list lista los nombres de las señales, o convierte nombres " #~ "de\n" #~ " señales en números o viceversa\n" #~ " -t, --table muestra una tabla de información sobre señales\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SEÑAL puede ser un nombre de señal como `HUP', o un número de señal como " #~ "`1',\n" #~ "o un estado de salida de un proceso terminado por una señal.\n" #~ "PID es un entero; si es negativo identifica al grupo de un proceso.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: señal inválida" #~ msgid "%s: invalid process id" #~ msgstr "%s: identificador de proceso inválido" #~ msgid "invalid option -- %c" #~ msgstr "opción inválida -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: se han especificado varias señales" #~ msgid "multiple -l or -t options specified" #~ msgstr "se han especificado varias opciones -l o -t" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "no se puede combinar la señal con -l o -t" #~ msgid "no process ID specified" #~ msgstr "no se ha especificado ningún ID de proceso" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s FICHERO1 FICHERO2\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Llama a la función link para crear un enlace llamado FICHERO2 a un " #~ "FICHERO1\n" #~ "que ya exista.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "no se puede crear el enlace duro %s a %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: atención: crear un enlace duro a un enlace simbólico\n" #~ "no es transportable" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: no se permiten enlaces fuertes para directorios" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: no se puede sobreescribir un directorio" # SIoNO #~ msgid "%s: replace %s? " #~ msgstr "%s: ¿reemplazar %s? (s/n) " #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "creando el enlace simbólico %s a %s" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "creando el enlace simbólico %s a %s" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "creando el enlace duro %s a %s" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "creando el enlace duro %s a %s" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "creando el enlace duro %s a %s" # Aprovecho que en iso-8859-1 existen 1º y 1ª ... #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... ORIGEN DESTINO (1ª forma)\n" #~ " o bien: %s [OPCIÓN]... ORIGEN... DIRECTORIO (2ª forma)\n" #~ " o bien: %s -d [OPCIÓN]... DIRECTORIO... (3ª forma)\n" # ... y de lo de poner la coletilla "y finaliza" en # las opciones --version y --help :) ipg # Si convences a Enrique de que la coletilla se puede quitar, te apoyo. sv #, fuzzy #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Crea un enlace al OBJETIVO especificado con el NOMBRE_DEL_ENLACE " #~ "opcional.\n" #~ "Si se omite NOMBRE_DEL_ENLACE, se crea un enlace en el directorio actual\n" #~ "con el mismo nombre base que el OBJETIVO. Cuando se utiliza la segunda " #~ "forma\n" #~ "con más de un OBJETIVO, el último argumento debe ser un directorio; crea\n" #~ "enlaces en DIRECTORIO para cada OBJETIVO. Por omisión, se crean enlaces " #~ "duros.\n" #~ "Con --symbolic se crean enlaces simbólicos. Cuando se crean enlaces " #~ "duros,\n" #~ "todos los OBJETIVOs deben existir.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTROL] crea una copia de seguridad de cada fichero " #~ "de\n" #~ " destino que ya exista\n" #~ " -b como --backup pero no acepta ningún " #~ "argumento\n" #~ " -d, -F, --directory permite al superusuario intentar crear un " #~ "enlace\n" #~ " duro entre directorios (note: puede que " #~ "falle\n" #~ " por restricciones del sistema, incluso " #~ "para\n" #~ " el superusuario)\n" #~ " -f, --force borra los ficheros destino que ya existan\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference trata un destino que sea un enlace " #~ "simbólico a\n" #~ " un directorio como si fuera un fichero " #~ "normal\n" #~ " -i, --interactive pregunta si se borran los destinos\n" #~ " -s, --symbolic crea enlaces simbólicos en vez de enlaces " #~ "duros\n" #, fuzzy #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual\n" #~ " --target-directory=DIRECTORIO especifica el DIRECTORIO en el que " #~ "se\n" #~ " crearán los enlaces\n" #~ " -v, --verbose imprime el nombre de cada fichero antes\n" #~ " de crear el enlace\n" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s: el directorio objetivo especificado no es un directorio" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Muestra el nombre del usuario actual.\n" #~ "\n" # login name = nombre de usuario ? # login = [registro de] entrada ? "login" viene de "to log" # (registrar) y de "in"; es el procedimiento que usan en edificios # importantes con guardia de seguridad cuando uno para entrar tiene que # identificarse, firmar, acreditarse, y te dan una tarjetita para la # solapa. Todo ello trasladado al mundo informático, donde uno se # acredita con el nombre de usuario y la clave. Pero bueno, si creéis # que es mejor dejar la palabra en inglés, me callo. gerardo # No me parece mal del todo. Lo pensaré. sv #~ msgid "no login name" #~ msgstr "no hay ningún nombre de `login'" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "se descarta el valor inválido de la variable de entorno QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "se descarta el ancho inválido de la variable de entorno COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "se descarta el tamaño de `tab' inválido de la variable de entorno " #~ "TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "ancho de línea inválido: %s" #~ msgid "invalid tab size: %s" #~ msgstr "tamaño del `tab' inválido: %s" #~ msgid "invalid time style format %s" #~ msgstr "formato de estilo de fecha inválido %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "prefijo no reconocido: %s" # Según el Collins, to parse = analizar (en un contexto gramático, como es el # caso). # "valor para la variable de entorno LS_COLORS no analizable" # --> y dos letras menos... # # sinceramente, no creo que después de LS_COLORS, /bin/ls se vaya a leer el # Quijote... # # Es que sí es perfectamente analizable. Lo que pasa es que el resultado # del análisis es que no entiende lo que quiere decir, por eso # es ininteligible... (Si de verdad no fuera analizable, no daría # error, sino que produciría un "core dump" o algo así). sv # #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "valor ininteligible para la variable de entorno LS_COLORS" #~ msgid "cannot open directory %s" #~ msgstr "no se puede abrir el directorio %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "no se puede determinar el dispositivo y el nodo-i de %s" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "no se muestra el directorio ya mostrado: %s" #~ msgid "closing directory %s" #~ msgstr "cerrando el directorio %s" # Lo mismo de antes. #~ msgid "cannot compare file names %s and %s" #~ msgstr "no se pueden comparar los nombres de fichero %s y %s" # Yo dejaría verbose en verbosamente. ipg # # Eso es un "palabro". sv # # He cambiado la última línea ( muestra la fecha completa y la hora completa ) # además ahora cabe en 80 cols em # # Vale, pues ahora me entra una duda (que antes no salió a relucir) # ¿"la fecha y la hora completa" o "la fecha y la hora completas"? # De momento he puesto lo segundo. sv+ # # Si dices la primera puede llegar a entender que la hora es la única # completa... mientras que la segunda no. uac # # (Efectivamente. sv) # # Creo que correctas son las dos # pero para lo que aquí se quiere decir le toca la segunda... ¿no? uac # # Eso es lo que me parece. Gracias. sv #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Muestra información acerca de los FICHEROs (del directorio actual por " #~ "defecto).\n" #~ "Ordena las entradas alfabéticamente si no se especifica ninguna de las\n" #~ "opciones -cftuSUX ni --sort.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all no oculta las entradas que comienzan con .\n" #~ " -A, --almost-all no muestra las entradas . y .. implícitas\n" #~ " --author imprime el autor de cada fichero\n" #~ " -b, --escape imprime escapes octales para los caracteres " #~ "no\n" #~ " gráficos\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=TAMAÑO utiliza bloques de TAMAÑO bytes\n" #~ " -B, --ignore-backups no muestra la entradas que terminan con ~\n" #~ " -c con -lt: ordena por ctime y muestra ctime " #~ "(fecha\n" #~ " de última modificación del fichero)\n" #~ " con -l: muestra ctime y ordena por nombre\n" #~ " en cualquier otro caso: ordena por ctime\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C muestra las entradas por columnas\n" #~ " --color[=CUÁNDO] especifica si se usará color para distinguir " #~ "los\n" #~ " tipos de ficheros. CUÁNDO puede ser " #~ "`never',\n" #~ " `always' o `auto'\n" #~ " -d, --directory muestra las entradas de los directorios en " #~ "lugar\n" #~ " de sus contenidos, y no sigue los enlaces\n" #~ " simbólicos\n" #~ " -D, --dired genera el resultado para el modo `dired' de " #~ "Emacs\n" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f no ordena, utiliza -aU, no utiliza -lst\n" #~ " -F, --classify añade un indicador (uno de */=@|) a las " #~ "entradas\n" #~ " --format=PALABRA across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time como -l --time-style=full-iso\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all incluye los sistemas de ficheros con 0 bloques\n" #~ " -B, --block-size=TAM utiliza bloques de TAM bytes\n" #~ " -h, --human-readable imprime los tamaños en formato legible (p.e. 1K " #~ "234M 2G)\n" #~ " -H, --si análogo, pero utiliza potencias de 1000 y no de " #~ "1024\n" #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=PALABRA añade un indicador con estilo PALABRA a " #~ "los\n" #~ " nombres de las entradas: none " #~ "(predeterminado),\n" #~ " classify (-F), file-type (-p)\n" #~ " -i, --inode muestra el número de nodo-i de cada fichero\n" #~ " -I, --ignore=PATRÓN no lista las entradas que coincidan " #~ "(encajen)\n" #~ " con PATRÓN de shell\n" #~ " -k como --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l utiliza un formato de listado largo\n" #~ " -L, --dereference al mostrar la información de un fichero para " #~ "un\n" #~ " enlace simbólico, muestra la información " #~ "del\n" #~ " fichero al que apunta el enlace en lugar " #~ "de la\n" #~ " del propio enlace\n" #~ " -m rellena el ancho con una lista de entradas\n" #~ " separadas por comas\n" #, fuzzy #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid como -l, pero muestra los UIDs y GIDs " #~ "numéricos\n" #~ " -N, --literal muestra los nombres literalmente (no trata p." #~ "ej.\n" #~ " los caracteres de control de forma " #~ "especial)\n" #~ " -o como -l, pero no muestra el grupo\n" #~ " -p --file-type añade un indicador (uno de /=@|) a las " #~ "entradas\n" # La opción "-r, --reverse" literalmente hubiera sido # "invierte el orden al ordenar", pero eso sería muy "reflunflante". # # "utiliza el formato de listado largo sin el grupo"--> # "...sin el campo grupo", no sé por qué te sabe mal ser más explícito # cuando no se alarga mucho el mensaje. Como tú mismo dices... uac # # Lo dejo así por estética. Una palabra más me obligaría a usar # una línea más, y quedaría más feo. Si digo "sin el grupo", queda # claro que el grupo no sale. sv # #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars imprime ? en lugar de los caracteres no " #~ "gráficos\n" #~ " --show-control-chars muestra los caracteres no gráficos tal y " #~ "como\n" #~ " son (predeterminado a menos que el programa " #~ "sea\n" #~ " `ls' y la salida sea un terminal)\n" #~ " -Q, --quote-name encierra los nombres de las entradas entre\n" #~ " comillas\n" #~ " --quoting-style=PALABRA utiliza el estilo de cita PALABRA para " #~ "los\n" #~ " nombres de las entradas:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse invierte el orden, en su caso\n" #~ " -R, --recursive muestra los subdirectorios recursivamente\n" #~ " -s, --size muestra el tamaño de cada fichero, en " #~ "bloques\n" # Nota: ctime, extension, none, etc. son posibles "WORD"s, # por lo tanto, *no* deben traducirse, o de lo contrario el programa # no las reconocería. #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S ordena los ficheros por tamaño\n" #~ " --sort=PALABRA extension -X, none -U, size -S, time -t, " #~ "version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=PALABRA muestra la fecha según PALABRA, en lugar de " #~ "la\n" #~ " fecha de modificación:\n" #~ " atime, access, use, ctime ó status; " #~ "utiliza\n" #~ " la fecha especificada como clave de " #~ "ordenación\n" #~ " si --sort=time\n" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=ESTILO muestra la fecha utilizando el estilo " #~ "ESTILO:\n" #~ " full-iso, long-iso, iso, locale, +FORMATO\n" #~ " FORMATO se interpreta como en `date'; si " #~ "FORMATO\n" #~ " es FORMATO1FORMATO2, FORMATO1 " #~ "se\n" #~ " aplica a los ficheros no recientes y " #~ "FORMATO2\n" #~ " a los ficheros recientes; si ESTILO está " #~ "precedido\n" #~ " por `posix-', ESTILO surte efecto solamente " #~ "fuera\n" #~ " del local POSIX\n" #~ " -t ordena por la fecha de modificación\n" #~ " -T, --tabsize=COLS establece los topes de tabulación a cada " #~ "COLS\n" #~ " en lugar de 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u con -lt: ordena por atime y muestra atime " #~ "(fecha\n" #~ " de último acceso al fichero)\n" #~ " con -l: muestra atime y ordena por nombre\n" #~ " en cualquier otro caso: ordena por atime\n" #~ " -U no ordena; muestra las entradas en el orden " #~ "del\n" #~ " directorio\n" #~ " -v ordena por versión\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=COLS establece el ancho de la pantalla en lugar " #~ "del\n" #~ " valor actual\n" #~ " -x muestra las entradas por líneas en vez de " #~ "por\n" #~ " columnas\n" #~ " -X ordena alfabéticamente por la extensión de " #~ "la\n" #~ " entrada\n" #~ " -1 muestra un fichero por cada línea\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Por defecto, no se emplea color para distinguir los tipos de ficheros. " #~ "Esto\n" #~ "equivale a usar --color=none. Usar la opción --color sin el argumento " #~ "opcional\n" #~ "CUÁNDO equivale a usar --color=always. Con --color=auto, sólo se " #~ "muestran\n" #~ "los códigos de color si la salida estándar está conectada a un terminal " #~ "(tty).\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN] [FICHERO]...\n" #~ " o bien: %s [OPCIÓN] --check [FICHERO]\n" #~ "\n" #~ "Muestra o comprueba sumas de comprobación %s (de %d bits).\n" #~ "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary usa escrituras binarias al dispositivo de " #~ "consola.\n" #~ "\n" # Creo que no es fiel decir: # "no muestra nada, el valor de retorno indica el estado\n" # y que sería mejor decir algo así como: # "...el resultado [del chequeo | comprobación]..." #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "Las siguientes dos opciones son útiles al verificar sumas de " #~ "comprobación:\n" #~ " --status no muestra nada, el valor de retorno indica el\n" #~ " resultado\n" #~ " -w, --warn avisa de las líneas de comprobación de sumas\n" #~ " que no están correctamente formateadas\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Las sumas se calculan tal y como se describe en %s. Al comprobar, la\n" #~ "entrada debe ser un resultado anterior de llamar a este programa. Por " #~ "defecto\n" #~ "se muestra una línea con la suma de comprobación, un carácter indicando " #~ "el tipo\n" #~ "de fichero (`*' para binario, ` ' para texto), y el nombre de cada " #~ "FICHERO.\n" # Me pregunto y no me contesto: ¿Qué podrá ser el segundo %s? #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "" #~ "%s: no se encontraron líneas de suma de comprobación %s con formato " #~ "correcto" # ¡¡Jau!! Yo venir en son de paz y aceptar propuesta de rostro pálido :). # ¿Tu fumar pipa de la paz? Yo tener maría de la buena X'D (ya quisiera...) ipg # # ¡¡Jau²!! Yo hacer otra propuesta, mía propuesta no ser formateada # propuesta, yo tener pánico a verborreicos como este... # "...de comprobación MD5 con formato erróneo." # # ipg: ¿y crece por allí? ¡con el frío que hace! }:-) #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %lu: línea de suma de comprobación %s con formato erróneo" # Sí, ( no hace falta leerse los coding standards para saberlo, aunque ahí lo # puedes encontrar también ) %s es el nombre del programa. em #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: FALLO al abrir o leer\n" # Yo estoy en contra de utilizar el Ok, por otra parte ahí va mi propuesta # que se parece mucho a la de Santiago: # Correcto/incorrecto, o sea no se refieren al resultado de la suma sino # a la comprobación.... es simple y corto... como el mensaje original.... # #~ msgid "OK" #~ msgstr "La suma coincide" #~ msgid "%s: read error" #~ msgstr "%s: error de lectura" # Me pregunto y no me contesto: ¿Qué podrá ser el segundo %s? #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "" #~ "%s: no se encontraron líneas de suma de comprobación %s con formato " #~ "correcto" #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "ATENCIÓN: no se pudieron leer %d de %d %s listados" #~ msgstr[1] "ATENCIÓN: no se pudieron leer %d de %d %s listados" #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "ATENCIÓN: %d de las %d %s calculada(s) NO coincidieron" #~ msgstr[1] "ATENCIÓN: %d de las %d %s calculada(s) NO coincidieron" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "las opciones --binary y --text no tienen sentido cuando se verifican " #~ "sumas\n" #~ "de comprobación" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "" #~ "la opción --status sólo tiene sentido cuando se verifican sumas de " #~ "comprobación" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "" #~ "la opción --warn sólo tiene sentido cuando se verifican sumas de " #~ "comprobación" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN] DIRECTORIO...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Crea los DIRECTORIO(s), si no existen ya.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ "Crea el/los DIRECTORIO(s), si no existen ya.\n" #~ "\n" #~ " -m, --mode=MODE establece los permisos (como en chmod), en lugar\n" #~ " de rwxrwxrwx - umask\n" #~ " -p, --parents no hay error si existen, crea los directorios padres " #~ "en\n" #~ " caso necesario\n" #~ " -v, --verbose muestra un mensaje por cada directorio creado\n" #~ msgid "created directory %s" #~ msgstr "se ha creado el directorio %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN] NOMBRE...\n" # ¿"pipe" es lo mismo que "named pipe"?. # ¿Algún experto en Unix que me lo sepa decir? # # Yo mismo me lo contesto después de hacer el siguiente experimento: # # mkfifo furufú # ls > furufú # (se queda esperando). # Si ahora hacemos (en otra sesión) cat < furufú, ¡sorpresa! # Sale el resultado del ls, y se "desbloquea" la otra sesión. # # Esto es una "named pipe". Aparece un fichero cuyo primer atributo # es la letra p. Además, con DIRCOLORS sale de color rojito, y con la opción # -F de ls sale una barrita vertical al final |. # # ¿Cómo se llama en español? Y si nadie le ha puesto nombre, ¿cómo # debería llamarse? ¿tubería nombrada? ¿tubería con nombre? # Me inclino por lo segundo, de momento. # # Tiiiiio ... ¡¡es como querer traducir socket!! ipg # # [ ¿y qué hay de malo en ello? ] sv # # Me horroriza. Espero que uses el convenio de poner el original entre # comillas. Tubería nombrada tampoco me gusta, pero no se me ocurre # nada em # *Ya* está FIFO entre paréntesis. No hay posibilidad de confusión. sv+ # # Sólo para que lo tengáis en cuenta: # DNS= Domain Named Service --> Servicio de Dominios Nombrado. # --> Servicio Nombrado de Dominios. # Tanto monta, monta tanto... # Nunca lo he visto como lo ponéis aquí. uac # # Supongo que te refieres al "named" del "named pipe". # Habrá que pensarlo bastante, me temo. sv #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Crea tuberías con nombre (FIFOs) con los NOMBREs dados.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MODO establece los permisos (como en chmod), en lugar\n" #~ " de a=rw - umask\n" # Utilizo "inválido" en lugar de "no válido", porque la palabra existe, # y no usarla es empobrecer el idioma. # # Si a alguien le parece más natural "no válido", deberíamos discutir # esto al mismo tiempo que la "retroreferencia" de Iñaky. # #~ msgid "invalid mode" #~ msgstr "modo inválido" # Nota: El que no sepa que major y minor es principal y secundario # es que no sabe inglés. Esto viene hasta en el Collins de bolsillo. #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... NOMBRE TIPO [PRINCIPAL SECUNDARIO]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Crea el fichero especial NOMBRE del TIPO dado.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Deben especificarse tanto PRINCIPAL como SECUNDARIO cuando el TIPO es b, " #~ "c ó u,\n" #~ "y debe omitirse cuando el TIPO es p. Si PRINCIPAL o SECUNDARIO comienzan " #~ "con 0x\n" #~ "o 0X, se interpreta como hexadecimal; en caso contrario, si comienza con " #~ "0,\n" #~ "como octal, en caso contrario, como decimal. TIPO puede ser:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b crea un fichero especial de bloques (buffered)\n" #~ " c, u crea un fichero especial de caracteres (unbuffered)\n" #~ " p crea un `FIFO'\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "cuando se crean ficheros especiales, se deben especificar los\n" #~ "números de dispositivo principal y secundario" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "número secundario de dispositivo inválido %s" #~ msgid "block special files not supported" #~ msgstr "los ficheros especiales de bloques no están soportados" #~ msgid "character special files not supported" #~ msgstr "los ficheros especiales de caracteres no están soportados" #~ msgid "invalid major device number %s" #~ msgstr "número principal de dispositivo inválido %s" #~ msgid "invalid minor device number %s" #~ msgstr "número secundario de dispositivo inválido %s" #~ msgid "invalid device %s %s" #~ msgstr "dispositivo inválido %s %s" #~ msgid "invalid device type %s" #~ msgstr "tipo de dispositivo inválido %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [FICHERO]\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "demasiados argumentos" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "no se puede crear el directorio %s" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "fallo al conservar la fecha de %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Renombra ORIGEN a DESTINO, o mueve ORIGEN(es) a DIRECTORIO.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=CONTROL] crea una copia de seguridad antes de " #~ "borrar\n" #~ " -b como --backup pero no acepta ningún " #~ "argumento\n" #~ " -f, --force no pregunta nunca antes de sobreescribir\n" #~ " (equivalente a --reply=yes)\n" #~ " -i, --interactive pide confirmación antes de sobreescribir\n" #~ " (equivalente a --reply=query)\n" #, fuzzy #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --reply={yes,no,query} especifica cómo tratar la pregunta acerca " #~ "de\n" #~ " un fichero de destino que ya exista\n" #~ " --strip-trailing-slashes elimina todas las barras finales de cada\n" #~ " argumento ORIGEN\n" #~ " -S, --suffix=SUFIJO reemplaza el sufijo de respaldo habitual\n" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=DIRECTORIO mueve todos los argumentos ORIGEN " #~ "al\n" #~ " directorio DIRECTORIO\n" #~ " -u, --update mueve solamente cuando el fichero " #~ "ORIGEN\n" #~ " es más moderno que el fichero de " #~ "destino,\n" #~ " o cuando falta el fichero de " #~ "destino\n" #~ " -v, --verbose da detalles de lo que va haciendo\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN] [ORDEN [ARG]...]\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "argumento inválido: %s" # Me parece mejor: "Con un ajuste debe darse una orden" # Lo consideraré. Esta frase es realmente fea. sv # Vale, lo cambio, pero añado una coma. # (Antes decía: debe darse una orden con un ajuste). #~ msgid "a command must be given with an adjustment" #~ msgstr "con un ajuste, debe darse una orden" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "no se puede obtener el nombre del sistema" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "no se puede establecer la fecha" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escribe cada FICHERO en la salida estándar, con las líneas numeradas.\n" #~ "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=ESTILO usa ESTILO para la numeración de las " #~ "líneas\n" #~ " -d, --section-delimiter=CC usa CC para separar páginas\n" #~ " -f, --footer-numbering=ESTILO usa ESTILO para numerar las líneas " #~ "finales\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=ESTILO usa ESTILO para numerar las líneas de " #~ "cabecera\n" #~ " -i, --page-increment=NÚMERO incrementa en NÚMERO el número de línea " #~ "en\n" #~ " cada línea\n" #~ " -l, --join-blank-lines=NÚMERO un grupo de NÚMERO líneas vacías se " #~ "cuentan\n" #~ " como una sola\n" #~ " -n, --number-format=FORMATO inserta los números de línea con FORMATO\n" #~ " -p, --no-renumber no reinicializa el número de líneas para " #~ "cada\n" #~ " página\n" #~ " -s, --number-separator=CADENA añade CADENA despúes del número de línea\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NÚMERO primer número de línea para cada página\n" #~ " -w, --number-width=ANCHO usa ANCHO columnas para los números de " #~ "línea\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Por omisión es `-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn'. `CC' son dos\n" #~ "caracteres delimitadores para separar páginas; si sólo se especifica uno\n" #~ "de ellos, el otro se supone:`.'\n" #~ "Utilícese \\\\ para obtener \\. ESTILO puede ser uno de lo siguientes:\n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a numera todas las líneas\n" #~ " t numera sólo las líneas no vacías\n" #~ " n no numera ninguna línea\n" #~ " pEXPREG numera sólo las líneas que coinciden con la expresión regular " #~ "REGEXP\n" #~ "\n" #~ "FORMATO es uno de los siguientes:\n" #~ "\n" #~ " ln justificación a la izquierda, sin ceros a la izquierda\n" #~ " rn justificación a la derecha, sin ceros a la izquierda\n" #~ " rz justificación a la derecha, con ceros a la izquierda\n" #~ "\n" #, fuzzy #~ msgid "line number overflow" #~ msgstr "el número de campo es cero" #~ msgid "invalid header numbering style: %s" #~ msgstr "estilo de numeración de cabecera inválido: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "estilo de numeración de cuerpo inválido: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "estilo de numeración de pie inválido: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "número de comienzo de línea inválido: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "incremento de línea inválido: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "número de líneas vacías inválido: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "ancho para el número de línea inválido: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "formato de numeración de líneas inválido: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s ORDEN [ARGUMENTO]...\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Ejecuta ORDEN, descartando las señales de colgar.\n" #~ "\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "no se tendrá en cuenta ningún argumento" #~ msgid "failed to open %s" #~ msgstr "No se puede abrir %s" #, fuzzy #~ msgid "ignoring input and appending output to %s" #~ msgstr "se añade la salida a %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "" #~ "fallo al establecer que la copia de stderr se cierre al hacer `exec'" #~ msgid "failed to redirect standard error" #~ msgstr "fallo al redireccionar la salida de error estándar" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... [FICHERO]...\n" #~ " o bien: %s --traditional [FICHERO] [[+]DESPLAZAMIENTO [[+]" #~ "ETIQUETA]\n" # Creo que si pones `-' en vez de -, deberías consultarlo primero con # el autor. Además, no lo has cambiado en todas partes. sv+ #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Escribe una representación inequívoca, por defecto en base ocho, de " #~ "FICHERO\n" #~ "en la salida estándar. Si no se especifica FICHERO o FICHERO es `-', lee " #~ "la\n" #~ "entrada estándar.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Todos los argumentos para las opciones largas son obligatorios para las\n" #~ "opciones cortas.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=BASE indica cómo se han de mostrar las " #~ "posiciones\n" #~ " del fichero\n" #~ " -j, --skip-bytes=BYTES descarta los primeros BYTES bytes de cada " #~ "fichero\n" #, fuzzy #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BYTES restringe la salida a BYTES bytes por " #~ "fichero\n" #~ " -s, --strings[=BYTES] muestra cadenas de caracteres de al menos " #~ "BYTES\n" #~ " caracteres gráficos\n" #~ " -t, --format=TIPO selecciona el formato o formatos de salida\n" #~ " -v, --output-duplicates no usa * para indicar líneas repetidas\n" #~ " -w, --width[=BYTES] muestra BYTES bytes por línea de salida\n" #~ " --traditional acepta los argumentos en formato " #~ "tradicional\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Las especificaciones de formato tradicionales pueden estar mezcladas y\n" #~ "se acumulan:\n" #~ " -a lo mismo que -t a, selecciona los caracteres nombrados\n" #~ " -b lo mismo que -t oC, selecciona bytes en base octal\n" #~ " -c lo mismo que -t c, selecciona caracteres ASCII o secuencias de " #~ "escape\n" #~ " -d lo mismo que -t u2, selecciona decimales cortos sin signo\n" #, fuzzy #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f lo mismo que -t fF, selecciona números en coma flotante\n" #~ " -h lo mismo que -t x2, selecciona hexadecimales cortos\n" #~ " -i lo mismo que -t d2, selecciona decimales cortos\n" #~ " -l lo mismo que -t d4, selecciona decimales largos\n" #~ " -o lo mismo que -t o2, selecciona octales cortos\n" #~ " -x lo mismo que -t x2, selecciona hexadecimales cortos\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "En la sintaxis antigua, DESPLAZAMIENTO significa -j DESPLAZAMIENTO. " #~ "ETIQUETA\n" #~ "es la pseudodirección del primer byte mostrado, que se incrementa a la " #~ "vez\n" #~ "que se va procesando el volcado. Para DESPLAZAMIENTO y ETIQUETA, el " #~ "prefijo\n" #~ "0x ó 0X indica hexadecimal, los sufijos pueden ser `.' para octal y `b' " #~ "para\n" #~ "bloques de 512 bytes.\n" #~ "\n" #~ "TIPO se construye con una o más de las siguientes especificaciones:\n" #~ "\n" #~ " a un determinado carácter\n" #~ " c carácter ASCII o secuencia de escape (\\999)\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[TAMAÑO] decimal con signo, TAMAÑO bytes por cada entero\n" #~ " f[TAMAÑO] coma flotante, TAMAÑO bytes por cada entero\n" #~ " o[TAMAÑO] octal, TAMAÑO bytes por cada entero\n" #~ " u[TAMAÑO] decimal sin signo, TAMAÑO bytes por cada entero\n" #~ " x[TAMAÑO] hexadecimal, TAMAÑO bytes por cada entero\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO es un número. Para los TIPOs d, o, u ó x, TAMAÑO puede ser " #~ "también:\n" #~ "C para `sizeof(char)', S para `sizeof(short)', I para `sizeof(int)' ó L " #~ "para\n" #~ "`sizeof(long)'. Si TIPO es f, TAMAÑO puede ser también F para `sizeof" #~ "(float)',\n" #~ " D para `sizeof(double)' ó L para `sizeof(long double)'.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "BASE es d para decimal, o para octal, x para hexadecimal o n para " #~ "ninguna.\n" #~ "BYTES es hexadecimal con 0x ó 0X como prefijo, se multiplica por 512 si " #~ "el\n" #~ "sufijo es b, por 1024 si es k y por 1048576 si es m. Si se añade el " #~ "sufijo\n" #~ "z a cualquier tipo, se añade un visor de caracteres imprimibles al final " #~ "de\n" #~ "cada línea del resultado. " #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string sin ningún número implica 3. --width sin ningún número implica " #~ "32.\n" #~ "Por omisión, od usa `-A o -t d2 -w 16'.\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "tipo de cadena inválido `%s'" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "tipo de cadena inválido `%s';\n" #~ "este sistema no posee el tipo de entero de %lu bytes" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "tipo de cadena inválido `%s';\n" #~ "este sistema no dispone de un tipo de coma flotante de %lu bytes" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "carácter inválido `%c' en la cadena de tipo `%s'" #~ msgid "cannot skip past end of combined input" #~ msgstr "" #~ "no se puede saltar a un punto que está más allá de la entrada combinada" # `set' -> [set] ... no deberíamos cambiar la terminología original, so pena # de hacernos la picha un lío ... (opino, vamos :) ipg #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "la base de la dirección de salida no es válida `%c'; debe ser uno de " #~ "[doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "no se puede especificar tipo cuando se vuelcan cadenas" #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "el modo de compatibilidad admite como mucho tres argumentos" #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "skip-bytes + read-bytes es demasiado grande" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "atención: ancho %lu inválido; se usará %d en su lugar" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" ancho=%d\n" #~ msgid "standard input is closed" #~ msgstr "la entrada estándar está cerrada" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escribe secuencialmente en la salida estándar cada línea de los FICHEROs\n" #~ "especificados, separadas por tabuladores.\n" #~ "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, delimiters=LISTA usa los caracteres indicados en LISTA en lugar " #~ "de\n" #~ " tabuladores\n" #~ " -s, --serial usa un fichero cada vez, en lugar de hacerlo en\n" #~ " paralelo\n" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [NOMBRE]...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "carácter %s inválido en la cadena de modo %s" #, fuzzy #~ msgid "empty file name" #~ msgstr "fichero regular vacío" #~ msgid "Login name: " #~ msgstr "Nombre de usuario: " #~ msgid "In real life: " #~ msgstr "En la vida real: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Directorio: " #~ msgid "Shell: " #~ msgstr "Shell: " #~ msgid "Project: " #~ msgstr "Proyecto: " #~ msgid "Plan:\n" #~ msgstr "Plan:\n" # FIXME: Sin el contexto es difícil. #~ msgid "Login" #~ msgstr "Login" #~ msgid "Name" #~ msgstr "Nombre" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Inactivo" #~ msgid "When" #~ msgstr "Cuándo" #~ msgid "Where" #~ msgstr "Dónde" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [USUARIO]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l usa el formato ancho para el resultado\n" #~ " -b omite el directorio inicial y shell del usuario en " #~ "formato\n" #~ " ancho\n" #~ " -h omite el fichero project del usuario en formato largo\n" #~ " -p omite el fichero plan del usuario en formato largo\n" #~ " -s usa el formato corto (este es el predeterminado)\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f omite la línea de cabeceras de columnas en formato " #~ "corto\n" #~ " -w omite el nombre completo del usuario en formato corto\n" #~ " -i omite el nombre completo del usuario y el `host' " #~ "remoto\n" #~ " en formato corto\n" #~ " -q omite el nombre completo del usuario, el `host' remoto\n" #~ " y el tiempo inactivo en formato corto\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Un programa `finger' sencillo; muestra información del usuario.\n" #~ "El fichero utmp será %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "no se ha especificado ningún nombre de usuario, hay que especificar al\n" #~ "menos uno cuando se usa -l" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=PRIMERA_PÁGINA[:ÚLTIMA_PÁGINA]' falta un argumento" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "tipo de cadena inválido `%s'" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l LONGITUD_PÁGINA' el número de líneas no es válido: `%s'" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N NÚMERO' número de comienzo de línea inválido: `%s'" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o MARGEN' el desplazamiento de línea no es válido: `%s'" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w ANCHO_PÁGINA' número inválido de caracteres: `%s'" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W ANCHO_PÁGINA' número de caracteres inválido: `%s'" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "" #~ "No se puede especificar un número de columnas cuando se escribe en " #~ "paralelo." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "" #~ "No se puede especificar a la vez impresión en paralelo y transversalmente." #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c' sobran caracteres, o número inválido en el argumento: `%s'" #~ msgid "page width too narrow" #~ msgstr "ancho de página demasiado estrecho" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "el número de campo es cero" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Pagina o encolumna FICHERO(s) para su impresión.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +PRIMERA_PAGINA[:ÚLTIMA_PAGINA], --pages=PRIMERA_PAGINA[:" #~ "ÚLTIMA_PAGINA]\n" #~ " comienza [termina] a imprimir por PRIMERA_[ÚLTIMA_]" #~ "PÁGINA\n" #~ " -COLUMNAS, --columns=COLUMNAS\n" #~ " muestra una salida en COLUMNAS columnas e imprime " #~ "las\n" #~ " columnas, a menos que se especifique -a. Equilibra " #~ "el\n" #~ " número de líneas de cada columna en cada página.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across crea las columnas transversalmente en lugar de en " #~ "paralelo,\n" #~ " se utiliza junto con -COLUMNAS\n" #~ " -c, --show-control-chars\n" #~ " muestra los caracteres de control con notación\n" #~ " gorro (^G) o secuencias de escape octales\n" #~ " -d, --double-space\n" #~ " salida con espaciado doble\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMATO\n" #~ " utiliza FORMATO para la fecha de la cabecera\n" #~ " -e[CARÁCTER[ANCHO]], --expand-tabs[CARÁCTER[ANCHO]]\n" #~ " sustituye el carácter de tabulación (o el CARÁCTER) " #~ "por\n" #~ " ANCHO (8) espacios\n" #~ " -F, -f, --form-feed\n" #~ " utiliza saltos de página en lugar de caracteres de " #~ "nueva\n" #~ " línea para separar páginas (con una cabecera de " #~ "página de 3\n" #~ " líneas con -f o una cabecera y una cola de 5 líneas " #~ "sin -F)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h CABECERA, --header=CABECERA\n" #~ " utiliza una CABECERA centrada en lugar del nombre " #~ "del\n" #~ " fichero en la cabecera de la página, -h \"\" muestra\n" #~ " una línea en blanco. No usar -h\"\"\n" #~ " -i[CARÁCTER[ANCHO]], --output-tabs[CARÁCTER[ANCHO]]\n" #~ " reemplaza los espacios con tabulaciones (o con " #~ "CARÁCTER)\n" #~ " de ancho ANCHO (8)\n" #~ " -J, --join-lines mezcla líneas completas, desactiva el truncamiento " #~ "de\n" #~ " líneas -W, no alinea las columnas, --sep-string" #~ "[=CADENA]\n" #~ " establece los separadores\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l LONG_PÁGINA, --length=LONG_PÁGINA\n" #~ " establece la longitud de la página en el número " #~ "indicado\n" #~ " por defecto 66, o 56 si se especifica -f 63\n" #~ " -m, --merge muestra todos los ficheros en paralelo, uno en cada " #~ "columna,\n" #~ " trunca líneas, pero une líneas de longitud completa " #~ "con -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEP[DÍGITOS]], --number-lines[=SEP[DÍGITOS]]\n" #~ " numera las líneas, utiliza DÍGITOS (5) dígitos, luego " #~ "SEP\n" #~ " (TAB), la cuenta predeterminada comienza con la " #~ "primera\n" #~ " línea del fichero de entrada\n" #~ " -N NÚMERO, --first-line-number=NÚMERO\n" #~ " comienza a contar con NÚMERO en la primera línea de " #~ "la\n" #~ " primera página impresa (véase +PRIMERA_PÁGINA)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARGEN, --indent=MARGEN\n" #~ " desplaza cada línea con MARGEN (cero) espacios, no " #~ "afecta\n" #~ " a -w ni a -W, MARGEN será añadido a ANCHO_PÁGINA\n" #~ " -r, --no-file-warnings\n" #~ " omite el aviso cuando no se puede abrir un fichero\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[CAR], --separator[=CAR]\n" #~ " separa las columnas mediante un solo carácter, el " #~ "valor\n" #~ " predeterminado de CAR es el carácter de sin -w " #~ "y\n" #~ " 'ningún carácter' con -w. La opción -s[CAR] desactiva " #~ "el\n" #~ " truncamiento de líneas de las 3 opciones de columnas\n" #~ " (-COLUMN|-a -COLUMN|-m) excepto si se usa -w.\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SCADENA, --sep-string[=CADENA]\n" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " separa las columnas mediante CADENA,\n" #~ " sin -S: El separador predeterminado es con -J\n" #~ " y en caso contrario (lo mismo que -S\" " #~ "\"), \n" #~ " no hay ningún efecto en las opciones de columnas\n" #~ " -t, --omit-header no muestra cabeceras ni colas\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " no muestra cabeceras ni colas, descarta cualquier\n" #~ " formato de página establecido con saltos de página " #~ "en\n" #~ " los ficheros de entrada\n" #~ " -v, --show-nonprinting\n" #~ " usa la notación octal de barra invertida\n" #~ " -w ANCHO_PÁGINA, --width=ANCHO_PÁGINA\n" #~ " establece el ancho de página en ANCHO_PÁGINA " #~ "caracteres\n" #~ " (por omisión, 72) solamente para salida de texto en " #~ "varias\n" #~ " columnas, -s[car] lo desactiva (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W ANCHO_PÁGINA, --page-width=ANCHO_PÁGINA\n" #~ " establece el ancho de página siempre en ANCHO_PÁGINA\n" #~ " caracteres (por omisión 72), trunca las líneas, " #~ "excepto si\n" #~ " se usa la opción -J, no interfiere con las opciones -" #~ "S o -s\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-l nn implica -T cuando nn <= 10 ( ó <= 3 con -F). Si no se especifica " #~ "ningún\n" #~ "FICHERO, o cuando FICHERO es -, lee la entrada estándar.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: %s [VARIABLE]...\n" #~ " o bien: %s OPCIÓN\n" #~ "Si no se especifica ninguna VARIABLE de entorno, las muestra todas.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "atención: %s: los caracteres que siguen a la constante de caracteres\n" #~ "no se han tenido en cuenta" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s FORMATO [ARGUMENTO]...\n" #~ " o bien: %s OPCIÓN\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Muestra ARGUMENTO(s) de acuerdo a FORMATO.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "FORMATO controla la salida como la función printf de C. Las secuencias\n" #~ "interpretadas son:\n" #~ "\n" #~ " \\\" dobles comillas\n" #~ " \\NNN el carácter con valor octal NNN (1 a 3 dígitos)\n" #~ " \\\\ barra invertida\n" # alerta (BEL) ? mejor, pitido audible (BEL) em+ # campana. sv+ # ¿Manejada? . ¿Qué te parece 'Se considera el ancho variable' em # A ver si te gusta lo que he puesto. sv+ #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a campana (BEL)\n" #~ " \\b carácter de retroceso (backspace)\n" #~ " \\c no produce más salida\n" #~ " \\f avance de página (form feed)\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n nueva línea\n" #~ " \\r retorno de carro\n" #~ " \\t tabulador horizontal\n" #~ " \\v tabulador vertical\n" #, fuzzy #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xNN el byte con valor hexadecimal NN (de 1 a 2 dígitos)\n" #~ "\n" #~ " \\uNNNN el carácter con valor hexadecimal NNNN (4 dígitos)\n" #~ " \\UNNNNNNNN el carácter con valor hexadecimal NNNNNNNN (8 dígitos)\n" #, fuzzy #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% un sólo %\n" #~ " %b ARGUMENTO como una cadena con secuencias de escape `\\' " #~ "interpretadas,\n" #~ " excepto que los escapes octales son de la forma \\0 o \\0NNN\n" #~ "\n" #~ "\n" #~ "En todas las especificaciones de formato en C que terminan con un " #~ "miembro\n" #~ "de diouxXfeEgGcs, los ARGUMENTOs se convierten al tipo adecuado primero.\n" #~ "Se admiten anchuras variables.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: se esperaba un valor numérico" #~ msgid "%s: value not completely converted" #~ msgstr "%s: valor no completamente convertido" #~ msgid "missing hexadecimal number in escape" #~ msgstr "falta un número hexadecimal en la secuencia de escape" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "el nombre de carácter universal \\%c%0*x es inválido" #~ msgid "invalid field width: %s" #~ msgstr "ancho de campo inválido: %s" #~ msgid "invalid precision: %s" #~ msgstr "precisión inválida: %s" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: especificación de campo inválida `%s'" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "" #~ "atención: se descartan los argumentos que sobran, comenzando por `%s'" # FIXME: Un comentario del autor para el traductor no estaría de más. # Me imagino que este nombre es una excepción porque "ç" no existe en ASCII. #, fuzzy #~ msgid "F. Pinard" #~ msgstr "François Pinard" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (para la expresión regular `%s')" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... [ENTRADA]... (sin -G)\n" #~ " o bien: %s -G [OPCIÓN]... [ENTRADA [SALIDA]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Muestra un índice permutado, incluyendo contexto, de las palabras\n" #~ "de los ficheros de entrada.\n" # Usaría 'se comporta' en vez de 'comportarse' em+ # Sentence = frase em # Ok a los dos :) ipg # 'genera salida' lo cambiaría por 'genera' o 'muestra' em+ # Pongo `genera el resultado con' ipg # Por último, 'da información' me resulta antipático, me inclino # por 'informa' em+ # Ya, esa se me pasó ... yastá :) ipg # Perdón, pero lo de 'leer de' no me gusta , prefiero 'leer' a secas em+ # ok ipg # # Sugerencia: usa -> utiliza. sv # Hmmm ... prefiero `usa', es más corto e igual de explicativo. Tampoco # es en exceso coloquial como para no parecer medianamente serio ;) ipg # # ¡Pero en mkid me aceptaste la sugerencia! ¿Por qué aquí no? :-) sv # No sabría decirte ... por el contexto, quizá ... ipg # # Bien, pues razóname por qué un contexto es más apropiado para usa # y el otro es más apropiado para utiliza. sv # # ¡Psche! ... es cuestión muy psicológica. Si te fijas, a mí me parece # un contexto de PM (Persona Mayor, malpensao ;) para ello, y a tí # no. Creo que no hay por qué darle muchas vueltas ... # # Sugerencia (en -F) marcar las líneas -> señalar las líneas. sv # Prefiero marcar, para mi señala se refiere más a una acción activa, # `señalar' algún objeto, apuntar a él, no ser un objeto pasivo que # hace que te fijes en el objeto, que es lo que será la cadena. ipg # # He cambiado un poco lo de "Los argumentos obligatorios...". sv # aunque todavía no es igual que el que tenía yo... # Vale gracias :) me gusta más. Dile a Enrique que los revise en # textutils. ipg # # Sugerencia: directivas TeX -> instrucciones TeX. sv # Aquí prefiero ser fiel al original, ya que hay una traducción # exacta e unívoca de una a otro (¡¡la función buena persona!! ;). ipg # ... salvo que "directiva" me recuerda cantidad a las # "directivas de la Unión Europea" sv # A las que ni Cristo hace puto caso :) ipg # # Propongo: "Considera las minúsculas como mayúsculas para ordenar". sv # # Ahí estás considerando que convierte todo a mayúsculas ... ipg # # En absoluto: Estamos diciendo que las *considera como*, no que las # convierta, y sólo *para ordenar*. Léelo bien, hombre. sv # ¿qué tal `No distingue entre mayúsculas y minúsculas al ordenar'? # (la pongo por ahora en espera de críticas ;) ipg # # No está mal, pero lo que yo proponía da más detalles sobre lo que # hace internamente. Por ejemplo, ¿cómo sabes en qué lugar quedan los códigos # que hay entre los de las mayúsculas y las minúsculas si solamente dices # que "considera iguales las mayúsculas y las minúsculas"? sv # # Perdona Santiago, pero eso yo lo veo innecesario. Al usuario le da # *igual* (o al menos le debería) cómo funcione internamente el hecho # de considerar iguales las mayúsculas y las minúsculas, y el cómo se # ordene, además de que dependerá del LOCALE, es casi irrelevante, porque # creo (y digo creo) que las funciones de ordenación (strcoll && friends) # siempre usan una secuencia de ordenación definida. En mi sistema # usan la de ascii, pero porque yo no tengo definida la secuencia de # ordenación para el castellano. Resumiendo: creo que la razón de # `la posición de los códigos que hay entre mayúsculas y minúsculas' # no es siempre aplicable. # Uso mi frase, ¿ok? :) ipg # # Bueno, no es tan importante, pero me intriga por qué el autor # quiso indicar eso dando más información de la que tú das # en la traducción. sv # Emoción, intriga, dolor de barriga :) ipg #, fuzzy #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference muestra automáticamente las referencias\n" #~ " generadas\n" #~ " -C, --copyright muestra el Copyright y las condiciones\n" #~ " de copia\n" #~ " -G, --traditional se comporta como el `ptx' de System V\n" #~ " -F, --flag-truncation=CADENA usa CADENA para marcar las líneas " #~ "truncadas\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=CADENA usa CADENA como nombre de macro en " #~ "lugar\n" #~ " de `xx'\n" #~ " -O, --format=roff genera el resultado con directivas roff\n" #~ " -R, --right-side-refs pone las referencias a la derecha,\n" #~ " sin contarlas en -w\n" #~ " -S, --sentence-regexp=EXPR-REG para finales de línea o frase\n" #~ " -T, --format=tex genera salida como directivas TeX\n" # ¿Alquien sabe qué coño es gap? No lo he encontrado en el diccionario .. ipg # Pues gap suele ser una especie de desplazamiento o desajuste, # lo traduciría aquí como separación em+ # Gracias. ipg #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=EXPR-REG usa EXPR-REG para encontrar las palabras " #~ "clave\n" #~ " -b, --break-file=ARCHIVO toma de ARCHIVO los caracteres que " #~ "definen\n" #~ " las palabras\n" #~ " -f, --ignore-case no distingue entre mayúsculas y " #~ "minúsculas\n" #~ " al ordenar\n" #~ " -g, --gap-size=NÚMERO separación en columnas entre campos de " #~ "salida\n" #~ " -i, --ignore-file=ARCHIVO lee la lista de palabras a pasar por\n" #~ " alto de ARCHIVO\n" #~ " -o, --only-file=ARCHIVO lee la lista de palabras a mantener de\n" #~ " ARCHIVO\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references el primer campo de la línea es una " #~ "referencia\n" #~ " -t, --typeset-mode - no implementado -\n" #~ " -w, --width=NÚMERO anchura de la salida en columnas,\n" #~ " excluyendo referencias\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Si no se especifica ARCHIVO o ARCHIVO es `-', lee de la entrada " #~ "estándar.\n" #~ "Se toma `-F /' por defecto.\n" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "ancho inválido: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Muestra el nombre de fichero completo del directorio de trabajo actual.\n" #~ "\n" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "No se puede abrir %s" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "No se puede abrir %s" #~ msgid "ignoring non-option arguments" #~ msgstr "los argumentos que no son opciones no serán tenidos en cuenta" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Muestra el valor de un enlace simbólico en la salida estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -f, --canonicalize canonicaliza siguiendo cada enlace simbólico\n" #~ " de cada componente del camino dado " #~ "recursivamente\n" #~ " -n, --no-newline no muestra la nueva línea final\n" #~ " -q, --quiet,\n" #~ " -s, --silent suprime la mayoría de los mensajes de error\n" #~ " -v, --verbose informa de los errores\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "cerrando el directorio %s" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "no se puede abrir el directorio %s" # FIXME: ¿Por qué el original no dice inode, si es que es eso lo que quiere # decir? #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "%s ha cambiado dev/nodo-i" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "no se puede crear el directorio %s" # "Esto quiere decir que seguramente el sistema..." tb # Eso sería "This means that almost certainly you have..." sv # Me gusta más tal y como está ahora. sv # Creo que tienes razón. Esta es un poco difícil. Es que parece que quiere # indicar que "esto muy probablemente indique que" o "con casi total # seguridad esto se debe a que tiene un sistema de ficheros corrupto". # Pero... tb # Lo pensaré. sv #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "ATENCIÓN: Estructura de directorios circular.\n" #~ "Esto quiere decir seguramente que el sistema de ficheros está corrupto.\n" #~ "COMUNÍQUELO AL ADMINISTRADOR DEL SISTEMA.\n" #~ "El siguiente directorio es parte del ciclo:\n" #~ " %s\n" # SIoNO #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: ¿descender al directorio protegido contra escritura %s? (s/n) " # SIoNO #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: ¿descender al directorio %s? (s/n) " # SIoNO #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: ¿borrar el %s %s protegido contra escritura? (s/n) " # Convendría saber qué son los `%s'. Ver el código fuente. # El segundo es el nombre del fichero que se va a borrar, pero # ¿y el primero? # # SIoNO #~ msgid "%s: remove %s %s? " #~ msgstr "%s: ¿borrar el %s %s? (s/n) " #~ msgid "removed directory: %s\n" #~ msgstr "directorio borrado: %s\n" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "cerrando el directorio %s" #~ msgid "cannot remove directory %s" #~ msgstr "no se puede borrar el directorio %s" #, fuzzy #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "no se puede cambiar a `..' desde el directorio %s" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "no se puede borrar el directorio %s" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "no se puede borrar el directorio %s" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "no se puede obtener el directorio actual" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO...\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root no trata `/' de forma especial (predeterminado)" #~ "\\n\"\n" #~ " --preserve-root no opera recursivamente sobre `/'\\n\"\n" #~ " -r, -R, --recursive borra los contenidos de los directorios " #~ "recursivamente\n" #~ " -v, --verbose explica lo que va haciendo\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Para borrar un fichero cuyo nombre comience con un `-', por ejemplo `-" #~ "fu',\n" #~ "utilice una de las siguientes órdenes:\n" #~ " %s -- -fu\n" #~ "\n" #~ " %s ./-fu\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Tenga en cuenta que si utiliza rm para borrar un fichero, normalmente es\n" #~ "posible recuperar el contenido de ese fichero. Si quiere mayor seguridad\n" #~ "de que el contenido es realmente irrecuperable, considere utilizar " #~ "shred.\n" # Convendría saber qué son los `%s'. Ver el código fuente. # El segundo es el nombre del fichero que se va a borrar, pero # ¿y el primero? # # SIoNO #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: ¿borrar el %s %s? (s/n) " #~ msgid "removing directory, %s" #~ msgstr "borrando el directorio, %s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "no se puede borrar el directorio %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... DIRECTORIO...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Borra el/los DIRECTORIO(s), si están vacíos.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " no tiene en cuenta los fallos que se producen " #~ "únicamente\n" #~ " porque un directorio no está vacío\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents borra DIRECTORIO, y luego intenta borrar cada " #~ "componente\n" #~ " de directorio de ese camino. P. ej. `rmdir -p a/b/c' " #~ "es\n" #~ " similar a `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose muestra un mensaje por cada directorio procesado\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "No se puede abrir %s" # FIXME # Esto sería "tipo de fecha", # pero como forma parte de un mensaje más largo que *no* # está todavía internacionalizado, para evitar que, por ejemplo, # "ls --time=ñ" dé como resultado "invalid tipo de fecha `ñ'" # lo dejo de momento en inglés, para no mezclar. #, fuzzy #~ msgid "multiple types" #~ msgstr "time type" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "fallo al obtener los permisos de %s" #, fuzzy #~ msgid "no command specified" #~ msgstr "no se ha especificado ningún ID de proceso" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "No se puede abrir %s" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "No se puede abrir %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "No se puede abrir %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "No se puede abrir %s" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "No se puede abrir %s" #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "no se pueden restablecer los permisos de %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... ÚLTIMO\n" #~ " o bien: %s [OPCIÓN]... PRIMERO ÚLTIMO\n" #~ " o bien: %s [OPCIÓN]... PRIMERO INCREMENTO ÚLTIMO\n" #, fuzzy #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Muestra los números desde PRIMERO hasta ÚLTIMO, en incrementos de " #~ "INCREMENTO.\n" #~ "\n" #~ " -f, --format=FORMATO utiliza un FORMATO de estilo printf(3)\n" #~ " (por omisión: %g)\n" #~ " -s, --separador=CADENA utiliza CADENA para separar los números\n" #~ " (por omisión: \\n)\n" #~ " -w, --equal-width iguala el ancho rellenando con ceros\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Si se omiten PRIMERO o INCREMENTO, el valor predeterminado es 1. Es " #~ "decir,\n" #~ "un INCREMENTO omitido tiene un valor predeterminado de 1 incluso cuando " #~ "ÚLTIMO\n" #~ "es más pequeño que PRIMERO. PRIMERO, INCREMENTO y ÚLTIMO se interpretan " #~ "como\n" #~ "valores de coma flotante. INCREMENTO es normalmente positivo si PRIMERO " #~ "es\n" #~ "menor que ÚLTIMO, y es normalmente negativo si PRIMERO es mayor que " #~ "ÚLTIMO.\n" #~ "Cuando se da el argumento FORMATO, debe contener exactamente uno de\n" #~ "los formatos estilo printf para coma flotante %e, %f, o %g\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "argumento de coma flotante inválido: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "cadena de formato inválida: `%s'" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "demasiados especificadores de conversión %% en el sufijo" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "cadena de formato inválida: `%s'" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "la cadena de formato no debe especificarse cuando se muestran\n" #~ "cadenas de la misma anchura" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s USUARIO ORDEN [ARGUMENTO]...\n" #~ " o bien: %s OPCIÓN\n" #, fuzzy #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Abandona cualquier grupo suplementario, asume el ID de usuario y el ID\n" #~ "de grupo del USUARIO especificado, y ejecuta ORDEN con cualesquiera\n" #~ "ARGUMENTOs especificados. Termina con estado 111 si es incapaz de asumir\n" #~ "los UID y GID necesarios. En caso contrario, termina con el estado de " #~ "salida\n" #~ "de ORDEN. Este programa solamente es útil cuando lo ejecuta root " #~ "(UID=0).\n" #~ msgid "unknown user-ID: %s" #~ msgstr "ID de usuario desconocido: %s" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "no se puede establecer el grupo suplementario" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "no se puede establecer el ID del grupo a %ld" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "no se puede establecer el ID del usuario a %ld" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Modo de empleo: %s [OPCIONES] FICHERO [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Sobreescribe los FICHERO(s) especificados repetidamente, para hacer más " #~ "difícil\n" #~ "la recuperación de los datos incluso utilizando hardware muy costoso.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force cambia los permisos para permitir la escritura si es " #~ "necesario\n" #~ " -n, --iterations=N sobreescribe N veces en vez de lo predeterminado (%" #~ "d)\n" #~ " -s, --size=N efectúa el `shred' sobre este número de bytes\n" #~ " (se permiten los sufijos K, M y G)\n" #, fuzzy #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove trunca y borra el fichero después de sobreescribirlo\n" #~ " -v, --verbose muestra el progreso\n" #~ " -x, --exact no redondea hacia arriba los tamaños de los ficheros " #~ "hasta el\n" #~ " siguiente bloque completo; este es el comportamiento\n" #~ " predeterminado para los ficheros no regulares\n" #~ " -z, --zero añade una sobreescritura final con ceros para ocultar " #~ "la\n" #~ " acción de esta orden\n" #~ " - efectúa shred en la salida estándar\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Borra los FICHERO(s) si se especifica --remove (-u). La acción " #~ "predeterminada\n" #~ "es no borrar los ficheros porque es habitual operar sobre ficheros de\n" #~ "dispositivo como /dev/hda, y dichos ficheros normalmente no se deben " #~ "borrar.\n" #~ "Cuando se opera sobre ficheros regulares, la mayor parte de la gente " #~ "utiliza la\n" #~ "opción --remove.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "PRECAUCIÓN: Tenga en cuenta que shred se basa en una importante " #~ "suposición:\n" #~ "que el sistema de ficheros sobreescribe los datos en el mismo sitio. Esta " #~ "es\n" #~ "la forma tradicional de hacer las cosas, pero muchos diseños modernos de\n" #~ "sistemas de ficheros no satisfacen esta suposición. Los siguientes son " #~ "ejemplos\n" #~ "de sistemas de ficheros en los que shred no es efectivo:\n" #~ "\n" #, fuzzy #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* sistemas de ficheros con estructura de registro o con versiones, como\n" #~ " los que suministran AIX y Solaris (y JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* sistemas de ficheros que escriben datos redundantes y siguen adelante\n" #~ " incluso si algunas escrituras fallan, tales como los sistemas de " #~ "ficheros\n" #~ " basados en RAID\n" #~ "\n" #~ "* sistemas de ficheros que hacen `snapshots', tales como el servidor NFS " #~ "de\n" #~ " Network Appliance\n" #~ "\n" #, fuzzy #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "* sistemas de ficheros que hacen caché en sitios temporales, tales como\n" #~ " los clientes de NFS versión 3\n" #~ "\n" #~ "* sistemas de ficheros comprimidos\n" #~ "\n" #~ "Además, respaldos del sistema de ficheros y espejos remotos pueden " #~ "contener\n" #~ "copias del fichero que no se pueden borrar, y eso permite recuperar " #~ "después un\n" #~ "fichero al que se le haya hecho shred.\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "%s: seek falló" #, fuzzy #~ msgid "%s: fsync failed" #~ msgstr "%s: seek falló" #~ msgid "%s: cannot rewind" #~ msgstr "%s: no se puede rebobinar" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: paso %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: error al escribir en el desplazamiento %s" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "%s: seek falló" #~ msgid "%s: file too large" #~ msgstr "%s: fichero demasiado grande" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: paso %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: paso %lu/%lu (%s)...%s/%s %d%%" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "fallo en `stat'" #~ msgid "%s: invalid file type" #~ msgstr "%s: tipo de fichero inválido" #~ msgid "%s: file has negative size" #~ msgstr "%s: el fichero tiene un tamaño negativo" #~ msgid "%s: error truncating" #~ msgstr "%s: error al truncar" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "%s: seek falló" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "" #~ "%s: no se puede efectuar shred un descriptor de fichero de sólo añadir" #~ msgid "%s: removing" #~ msgstr "%s: borrando" #~ msgid "%s: renamed to %s" #~ msgstr "%s: renombrado a %s" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s: fichero demasiado grande" #~ msgid "%s: removed" #~ msgstr "%s: borrado" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s: fichero demasiado largo" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s: fichero demasiado largo" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: número inválido de pasos" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "se han especificado varias ficheros de salida" #~ msgid "%s: invalid file size" #~ msgstr "%s: tamaño de fichero inválido" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... ÚLTIMO\n" #~ " o bien: %s [OPCIÓN]... PRIMERO ÚLTIMO\n" #~ " o bien: %s [OPCIÓN]... PRIMERO INCREMENTO ÚLTIMO\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Extrae las partes seleccionadas de cada FICHERO en la salida estándar:\n" #~ "\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "se han especificado varias opciones -l o -t" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "número inválido %s" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "ancho de línea inválido: %s" #~ msgid "multiple output files specified" #~ msgstr "se han especificado varias ficheros de salida" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "operando extra `%s'" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: %s NÚMERO[SUFIJO]...\n" #~ " o bien: %s OPCIÓN\n" #~ "Hace una pausa de NÚMERO segundos. El SUFIJO puede ser `s' para segundos\n" #~ "(predeterminado), `m' para minutos, `h' para horas o `d' para días.\n" #~ "Al contrario de la mayoría de las implementaciones que exigen que NÚMERO " #~ "sea\n" #~ "un entero, aquí NÚMERO puede ser un número de coma flotante arbitrario.\n" #~ "\n" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "intervalo de tiempo inválido `%s'" #~ msgid "cannot read realtime clock" #~ msgstr "no se puede leer el reloj de tiempo real" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Muestra la concatenación ordenada de todos los FICHERO(s) en la salida\n" #~ "estándar.\n" #~ "\n" #~ "Opciones de ordenación:\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks descarta los espacios en blanco al " #~ "principio\n" #~ " -d, --dictionary-order considera sólo los caracteres " #~ "alfanuméricos\n" #~ " y los espacios\n" #~ " -f, --ignore-case convierte las minúsculas en mayúsculas\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort compara de acuerdo con el valor numérico\n" #~ " -i, --ignore-nonprinting considera sólo los caracteres imprimibles\n" #~ " -M, --month-sort compara (desconocido) < 'JAN' < ... < " #~ "`DEC'\n" #~ " -n, --numeric-sort compara de acuerdo con el valor numérico " #~ "de\n" #~ " la cadena\n" #~ " -r, --reverse invierte el resultado de las comparaciones\n" #~ "\n" # Sugerencia para la -c: # comprueba si los ficheros ya están ordenados, pero no los ordena. # Si lo que buscas es algo corto, sugiero cambiar "y no ordena" # por "pero no ordena", o bien "sin ordenar[los]". sv+ #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "Otras opciones:\n" #~ "\n" #~ " -c, --check comprueba si la entrada están ordenada; no " #~ "ordena\n" #~ " -k, --key=POS1[,POS2] comienza una clave en POS1 y la termina en " #~ "POS2\n" #~ " (origen 1)\n" #~ " -m, --merge mezcla ficheros que ya están ordenados, no " #~ "ordena\n" #~ " -o, --output=FICHERO escribe el resultado en FICHERO, en lugar de " #~ "la\n" #~ " salida estándar\n" #~ " -s, --stable estabiliza la ordenación desactivando la\n" #~ " comparación de último recurso\n" #~ " -S, --buffer-size=TAMAÑO utiliza TAMAÑO para el búfer de memoria " #~ "principal\n" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP usa SEP en lugar de la transición de un\n" #~ " no espacio a un espacio\n" #~ " -T, --temporary-directory=DIR usa DIR para los ficheros temporales,\n" #~ " no $TMPDIR ni %s; varias opciones\n" #~ " especifican varios directorios\n" #~ " -u, --unique con -c, comprueba estrictamente el orden;\n" #~ " sin -c; muestra solamente la primera de\n" #~ " una tanda igual\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated termina las líneas con el byte 0, no con nueva " #~ "línea\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS es F[.C][OPCIONES], donde F es el número de campo y C la posición " #~ "del\n" #~ "carácter en el campo. OPCIONES se compone de una o más de las opciones " #~ "de\n" #~ "ordenación de una letra, lo cual deshabilita las opciones de ordenación\n" #~ "global para esa clave. Si no se da ninguna clave, usa la línea entera\n" #~ "como clave.\n" #~ "\n" #~ "TAMAÑO puede estar seguido por lo siguientes sufijos multiplicativos:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% de memoria, b 1, K 1024 (predeterminado), etc con M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "Si no se especifica ningún FICHERO o FICHERO es `-', lee la entrada\n" #~ "estándar.\n" #~ "\n" #~ "*** ATENCIÓN ***\n" #~ "El locale especificado en el entorno afecta a la forma de ordenación.\n" #~ "Establezca LC_ALL=C para obtener la forma de ordenación tradicional que\n" #~ "utiliza los valores de los bytes originales.\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "escribiendo en %s" #~ msgid "cannot create temporary file" #~ msgstr "no se puede crear un fichero temporal" #~ msgid "open failed" #~ msgstr "fallo al abrir" #, fuzzy #~ msgid "fflush failed" #~ msgstr "actualizando el fichero" #~ msgid "close failed" #~ msgstr "error al cerrar" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "fallo al abrir" #, fuzzy #~ msgid "couldn't execute %s" #~ msgstr "no se puede ejecutar %s" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "no se puede crear un fichero temporal" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "no se puede crear un fichero temporal" #, fuzzy #~ msgid "couldn't execute %s -d" #~ msgstr "no se puede ejecutar %s" #, fuzzy #~ msgid "couldn't create process for %s -d" #~ msgstr "no se puede crear el directorio %s" #~ msgid "write failed" #~ msgstr "error al escribir" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "no se puede borrar %s" #~ msgid "stat failed" #~ msgstr "fallo en `stat'" #~ msgid "read failed" #~ msgstr "fallo al leer" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: fuera de secuencia: " #~ msgid "standard error" #~ msgstr "salida de error estándar" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: especificación de campo inválida `%s'" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: contador inválido al comienzo de `%s'" #~ msgid "invalid number after `-'" #~ msgstr "número inválido después de`-'" #~ msgid "invalid number after `.'" #~ msgstr "número inválido después de `.'" # No estoy muy seguro. Comprobar. #~ msgid "stray character in field spec" #~ msgstr "carácter extraño en el especificador de campo" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "se han especificado varias opciones -l o -t" #~ msgid "invalid number at field start" #~ msgstr "número inválido al comienzo del campo" #~ msgid "field number is zero" #~ msgstr "el número de campo es cero" #~ msgid "character offset is zero" #~ msgstr "el desplazamiento de caracteres es cero" #~ msgid "invalid number after `,'" #~ msgstr "número inválido después de `,'" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "el operando extra `%s' no está permitido con -c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN] [FICHERO [PREFIJO]]\n" #, fuzzy #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Corta FICHERO en trozos de tamaño fijo y los vuelca en PREFIJOaa, " #~ "PREFIJOab...\n" #~ "El prefijo por defecto es `x'. Si no se especifica FICHERO, o fichero es " #~ "`-',\n" #~ "lee la entrada estándar.\n" #~ "\n" # FIXME: ¿Ahora dos espacios es el estándar para mensajes de continuación? # (before each output file...) #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N utiliza sufijos de longitud N (por omisión %d)\n" #~ " -b, --bytes=TAMAÑO escribe TAMAÑO bytes en cada fichero de salida\n" #~ " -C, --line-bytes=BYTES escribe un máximo de BYTES bytes sin cortar " #~ "líneas\n" #~ " -d, --numeric-suffixes utiliza sufijos numéricos en vez de " #~ "alfabéticos\n" #~ " -l, --lines=NÚMERO pone NÚMERO de líneas en cada fichero de " #~ "salida\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose muestra un diagnóstico en la salida de error\n" #~ " estándar antes de que cada fichero sea " #~ "abierto\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BLOQUES y BYTES pueden estar seguidos por los siguientes sufijos\n" #~ "multiplicativos:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, y así sucesivamente para T, P, E, Z, " #~ "Y.\n" #~ "Cada PALABRA puede ser:\n" #~ "\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "creando fichero `%s'\n" #~ msgid "cannot split in more than one way" #~ msgstr "no se puede trocear de varias formas distintas" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: longitud del sufijo inválida" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: número de bytes inválido" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: número de líneas inválido" #~ msgid "line count option -%s%c... is too large" #~ msgstr "opción de contador de líneas -%s%c... demasiado grande" #~ msgid "invalid number of lines: 0" #~ msgstr "número de líneas inválido: 0" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: opción no reconocida `%c%s'\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%%%c: directiva inválida" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "secuencia de escape inválida al final de la cadena" #~ msgid "cannot read file system information for %s" #~ msgstr "no se puede leer la información del sistema de ficheros para %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN] FICHERO...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Formatos válidos para ficheros (sin --filesystem)\n" #~ "\n" #~ " %A Derechos de acceso en forma legible\n" #~ " %a Derechos de acceso en octal\n" #~ " %B El tamaño en bytes de cada bloque indicado por `%b'\n" #~ " %b Número de bloques asignados (véase %B)\n" #, fuzzy #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %D Número de dispositivo en hexadecimal\n" #~ " %d Número de dispositivo en decimal\n" #~ " %F Tipo de fichero\n" #~ " %f Modo en hexadecimal\n" #~ " %G Nombre de grupo del propietario\n" #~ " %g ID del grupo del propietario\n" #, fuzzy #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Número de enlaces duros\n" #~ " %i Número de nodo-i\n" #~ " %N Nombre de fichero entrecomillado desreferenciado si era un enlace\n" #~ " simbólico\n" #~ " %n Nombre del fichero\n" #~ " %o tamaño del bloque de E/S\n" #~ " %s Tamaño total, en bytes\n" #~ " %T Tipo de dispositivo secundario en hexadecimal\n" #~ " %t Tipo de dispositivo principal en hexadecimal\n" #, fuzzy #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %U Nombre de usuario del propietario\n" #~ " %u ID de usuario del propietario\n" #~ " %X Fecha de último acceso como segundos desde la Época\n" #~ " %x Fecha de último acceso\n" #~ " %Y Fecha de última modificación como segundos desde la Época\n" #~ " %y Fecha de última modificación\n" #~ " %Z Fecha de último cambio como segundos desde la Época\n" #~ " %z Fecha de último cambio\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Formatos válidos para sistemas de ficheros:\n" #~ "\n" #~ " %a Bloques libres disponibles para el no superusuario\n" #~ " %b Total de bloques de datos en el sistema de ficheros\n" #~ " %c Total de nodos de ficheros en el sistema de ficheros\n" #~ " %d Nodos de ficheros libres en el sistema de ficheros\n" #~ " %f Bloques libres en el sistema de ficheros\n" #, fuzzy #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i id del sistema de ficheros en hexadecimal\n" #~ " %l Longitud máxima de los nombres de ficheros\n" #~ " %n Nombre del fichero\n" #~ " %s Tamaño de bloque de transferencia óptima\n" #~ " %T Tipo de forma legible\n" #~ " %t Tipo en hexadecimal\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Modo de empleo: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [OPCIONES]...\n" #~ " o bien: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-a|--all]\n" #~ " o bien: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-g|--save]\n" # Eso de los "humanos" en español suena un poco raro. ¿no? sv # Por acuerdo, usamos 'el' terminal em+ # Añado comillas en '-' em+ # FIXME. Comunicar primero al autor. sv+ # Sistema subyacente ?? , mejor dejar 'sistema' a secas em+ # Depende, ¿qué ocurre con los compiladores cruzados? #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Muestra o establece las características de la terminal\n" #~ "\n" #~ " -a, --all muestra todos los valores actuales en forma legible " #~ "para\n" #~ " humanos\n" #~ " -g, --save muestra todos los valores actuales en forma legible " #~ "para\n" #~ " ttys\n" #~ " -F, --file=DISP abre y utiliza el DISPositivo especificado en lugar de " #~ "la\n" #~ " entrada estándar\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Un - opcional antes de VALOR indica negación. Un * marca valores no " #~ "POSIX.\n" #~ "El sistema subyacente define qué valores están disponibles.\n" # Contexto del shell ? , ¿qué es eso? em+ #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Caracteres especiales:\n" #~ " * dsusp CAR el CARácter enviará una señal de alto a la terminal una " #~ "vez\n" #~ " que se haya limpiado la entrada\n" #~ " eof CAR el CARácter enviará un fin de línea (termina la " #~ "entrada)\n" #~ " eol CAR el CARácter terminará la línea\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 CAR CARácter alternativo para terminar la línea\n" #~ " erase CAR el CARácter borrará el último carácter tecleado\n" #~ " intr CAR el CARácter enviará una señal de interrupción\n" #~ " kill CAR el CARácter borrará la línea actual\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext CAR el CARácter introducirá el siguiente carácter comentado\n" #~ " quit CAR el CARácter enviará una señal de salida\n" #~ " * rprnt CAR el CARácter redibujará la línea actual\n" #~ " start CAR el CARácter reiniciará la salida después de haberla " #~ "detenido\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop CAR el CARácter detendrá la salida\n" #~ " susp CAR el CARácter enviará una señal de alto a la terminal\n" #~ " * swtch CAR el CARácter establecerá un contexto diferente de shell\n" #~ " * werase CAR el CARácter borrará la última palabra tecleada\n" # FIXME: Falta un espacio ¿? #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Valores especiales:\n" #~ " N establece la velocidad de entrada y salida a N baudios\n" #~ " * cols N dice al núcleo que la terminal tiene N columnas\n" #~ " * columns N igual que cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N establece la velocidad de entrada a N\n" #~ " * line N utiliza la disciplina de línea N\n" #~ " min N con -icanon, establece a N caracteres como mínimo para " #~ "una\n" #~ " lectura completada\n" #~ " ospeed N establece la velocidad de salida a N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N dice al núcleo que la terminal tiene N líneas\n" #~ " * size muestra el número de líneas y columnas de acuerdo con el " #~ "núcleo\n" #~ " speed muestra la velocidad de la terminal\n" #~ " time N con -icanon, establece el tiempo fuera de lectura en N\n" #~ " décimas de segundo\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Valores de control:\n" #~ " [-]clocal desactiva las señales de control del módem\n" #~ " [-]cread permite que se reciba entrada\n" #~ " * [-]crtscts permite negociación RTS/CTS\n" #~ " csN establece el tamaño del carácter en N bits, N en [5..8]\n" # ## en -cread -> permite que se reciba entrada # ## vale. #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb utiliza dos bits de paro por carácter (uno con `-')\n" #~ " [-]hup manda una señal de colgar cuando el último proceso " #~ "cierra\n" #~ " la tty\n" #~ " [-]hupcl igual que [-]hup\n" #~ " [-]parenb genera un bit de paridad en la salida y espera un bit " #~ "de\n" #~ " paridad en la entrada\n" #~ " [-]parodd establece paridad impar (incluso con `-')\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Valores de entrada:\n" #~ " [-]brkint `breaks' causan una señal de interrupción\n" #~ " [-]icrnl traduce el retorno de carro a nueva línea\n" #~ " [-]ignbrk descarta los caracteres de `break'\n" #~ " [-]igncr descarta los retornos de carro\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar descarta los caracteres con error de paridad\n" #~ " * [-]imaxbel emite un pitido y no limpia un búfer de entrada lleno " #~ "con un\n" #~ " carácter\n" #~ " [-]inlcr traduce nueva línea a retorno de carro\n" #~ " [-]inpck permite la revisión de paridad de entrada\n" #~ " [-]istrip borra el bit alto (8º) de los caracteres de entrada\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc traduce de caracteres en mayúscula a minúscula\n" #~ " * [-]ixany deja que cualquier carácter reinicie la entrada, no " #~ "sólo\n" #~ " el carácter de inicio\n" #~ " [-]ixoff permite el envío de caracteres de inicio/alto\n" #~ " [-]ixon permite el control de flujo XON/XOFF\n" #~ " [-]parmrk marca errores de paridad (con la secuencia de caracteres " #~ "255-0)\n" #~ " [-]tandem igual que [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Valores de salida:\n" #~ " * bsN estilo de retardo de retroceso, N en [0..1]\n" #~ " * crN estilo de retardo de retorno de carro, N en [0..3]\n" #~ " * ffN estilo de retardo de salto de página, N en [0..1]\n" #~ " * nlN estilo de retardo de nueva línea, N in [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl traduce retorno de carro a nueva línea\n" #~ " * [-]ofdel utiliza caracteres de borrado para relleno en lugar de\n" #~ " caracteres nulos\n" #~ " * [-]ofill utiliza caracteres de relleno en lugar de tiempo para " #~ "retardos\n" #~ " * [-]olcuc traduce caracteres en minúscula a mayúscula\n" #~ " * [-]onlcr traduce nueva línea a retorno de carro-nueva línea\n" #~ " * [-]onlret nueva línea realiza un retorno de carro\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr no muestra retornos de carro en la primera columna\n" #~ " [-]opost postprocesa salida\n" #~ " * tabN estilo de retardo de tabulador horizontal, N en [0..3]\n" #~ " * tabs igual que tab0\n" #~ " * -tabs igual que tab3\n" #~ " * vtN estilo de retardo de tabulador vertical, N en [0..1]\n" # lo del carácter de matar es un poco fuerte, ¿no? sv # echo = muestra, mejor que repite, aquí, creo. gerardo # perdería parte del significado. sv #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Valores locales:\n" #~ " [-]crterase repite los caracteres de borrado como\n" #~ " retroceso-espacio-retroceso\n" #~ " * crtkill mata toda la línea obedeciendo los valores echoprt y " #~ "echoe\n" #~ " * -crtkill mata toda la línea obedeciendo los valores echoctl y " #~ "echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho repite los caracteres de control en notación gorro " #~ "(`^c')\n" #~ " [-]echo repite los caracteres de entrada\n" #~ " * [-]echoctl igual que [-]ctlecho\n" #~ " [-]echoe igual que [-]crterase\n" #~ " [-]echok repite una nueva línea después de un carácter de matar\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke igual que [-]crtkill\n" #~ " [-]echonl repite nueva línea aún si no está repitiendo otros " #~ "caracteres\n" #~ " * [-]echoprt repite los caracteres borrados en orden inverso, entre\n" #~ " `\\' y '/'\n" #~ " [-]icanon permite los caracteres especiales erase, kill, werase,\n" #~ " y rprnt\n" #~ " [-]iexten permite caracteres especiales no-POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig permite los caracteres especiales interrupt, quit, y " #~ "suspend\n" #~ " [-]noflsh no permite limpieza después de los caracteres " #~ "especiales\n" #~ " interrupt y quit\n" #~ " * [-]prterase igual que [-]echoprt\n" #~ " * [-]tostop detiene trabajos en `background' que tratan de escribir " #~ "a\n" #~ " la terminal\n" #~ " * [-]xcase con icanon, escapa con `\\' para caracteres en " #~ "mayúscula\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Valores de combinación:\n" #~ " * [-]LCASE igual que [-]lcase\n" #~ " cbreak igual que -icanon\n" #~ " -cbreak igual que icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked igual que caracteres brkint ignpar istrip icrnl ixon\n" #~ " opost isig icanon, eof y eol a sus valores por omisión\n" #~ " -cooked igual que raw\n" #~ " crt igual que echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec igual que echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ " * [-]decctlq igual que [-]ixany\n" #~ " ek caracteres erase y kill a sus valores por omisión\n" #~ " evenp igual que parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp igual que -parenb cs8\n" #~ " * [-]lcase igual que xcase iuclc olcuc\n" #~ " litout igual que -parenb -istrip -opost cs8\n" #~ " -litout igual que parenb istrip opost cs7\n" #~ " nl igual que -icrnl -onlcr\n" #~ " -nl igual que icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp igual que parenb parodd cs7\n" #~ " -oddp igual que -parenb cs8\n" #~ " [-]parity igual que [-]evenp\n" #~ " pass8 igual que -parenb -istrip cs8\n" #~ " -pass8 igual que parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw igual que -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw igual que cooked\n" #, fuzzy #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane igual que cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, y todos los\n" #~ " caracteres especiales a sus valores por omisión.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Maneja la línea tty conectada a la entrada estándar. Sin argumentos,\n" #~ "muestra la tasa de baudios, la disciplina de línea, y desviaciones con\n" #~ "respecto de `stty sane'. En valores, el CARácter es tomado literalmente,\n" #~ "o codificado como en ^c, 0x37, 0177 ó 127; los valores especiales ^- o\n" #~ "undef son utilizados para no permitir caracteres especiales.\n" #~ msgid "only one device may be specified" #~ msgstr "sólo se puede especificar un dispositivo" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "las opciones para estilos de salida explícitos y legibles para terminal " #~ "son\n" #~ "mutuamente excluyentes" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "" #~ "cuando se especifica un estilo de salida, no se pueden establecer los " #~ "modos" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: no se pudo reiniciar el modo `non-blocking'" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "argumento inválido: %s" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "falta el argumento de `%s'" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "ancho de línea inválido: %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: no se pudieron realizar todas las operaciones solicitadas" # Me temo que new_mode no se puede traducir. sv #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: modo\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: no hay información sobre tamaño para este dispositivo" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "argumento entero inválido `%s'" #~ msgid "Password:" #~ msgstr "Contraseña:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: no se puede abrir /dev/tty" # Aquí habla de "groups", en plural. No se pueden establecer los # grupos. gerardo # Cierto, eso es literalmente, pero: ¿"su" puede cambiar a varios grupos # o a uno cada vez? sv #~ msgid "cannot set groups" #~ msgstr "no se puede establecer el grupo" #~ msgid "cannot set group id" #~ msgstr "no se puede establecer el id del grupo" #~ msgid "cannot set user id" #~ msgstr "no se puede establecer el id del usuario" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [-] [USUARIO [ARG]...]\n" # login shell no lo traduciría em+ # Caparazón de entrada. Bueno, vale, `shell' de entrada. gerardo # Si acaso shell de inicio. Pero sólo si acaso. sv #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Cambia el identificador efectivo de usuario y de grupo al del USUARIO.\n" #~ "\n" #~ " -, -l, --login hace al shell un shell de `login'\n" #~ " -c, --command=ORDEN pasa una sola ORDEN al shell con -c\n" #~ " -f, --fast pasa -f al shell (para csh o tcsh)\n" #~ " -m, --preserve-environment no borra las variables de entorno\n" #~ " -p igual que -m\n" #~ " -s, --shell=SHELL ejecuta SHELL si /etc/shells lo permite\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Un simple - implica -l. Si no se da el USUARIO, se supone root.\n" #~ msgid "user %s does not exist" #~ msgstr "el usuario %s no existe" #~ msgid "incorrect password" #~ msgstr "contraseña incorrecta" #~ msgid "using restricted shell %s" #~ msgstr "usando el shell restringido %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "atención: no se puede cambiar al directorio %s" # usa bloques -> con bloques ... así no se repite tanto :) ipg # Creo que está bien así em+ #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Muestra la suma de comprobación y el número de bloques para cada " #~ "FICHERO.\n" #~ "\n" #~ " -r incompatible con -s, usa el algoritmo de BSD, con bloques " #~ "de 1K\n" #~ " -s, --sysv usa el algoritmo de System V, con bloques de 512 bytes\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Guarda los bloques cambiados en el disco, actualiza el superbloque.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "no se tendrá en cuenta ningún argumento" # ¿Qué tal poner --help y --version como los puse yo en diff y find? # --help Muestra esta ayuda., # -v --version Da información sobre la versión del programa. # Lo digo por aquello que hablamos que el `y finaliza' sobra, ya # que es el comportamiento que se define. ipg # # Vale, si convences a Enrique... sv # # Apúntame a la propuesta. tb # # Pues entonces ya somos tres. Habría que hablarlo seriamente... sv # # Aunque ya lo hemos puesto así en todos sitios ... casi podríamos # dejarlo (daño no hace, eso sí es verdad) ipg # # Lo dejaremos para otra ocasión. Ya os avisaré. sv #~ msgid " --help display this help and exit\n" #~ msgstr " --help muestra esta ayuda y finaliza\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version informa de la versión y finaliza\n" # Véase la excelente película "A bug's life". #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Comunicar bichos a <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escribe cada FICHERO en la salida estándar comenzando por la última " #~ "línea\n" #~ "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before añade el separador antes de cada línea, en " #~ "lugar\n" #~ " de añadirlo después\n" #~ " -r, --regex interpreta el separador como una expresión " #~ "regular\n" #~ " -s, --separator=CADENA usa CADENA como separador, en lugar de un salto " #~ "de\n" #~ " línea\n" #~ msgid "%s: seek failed" #~ msgstr "%s: seek falló" #, fuzzy #~ msgid "record too large" #~ msgstr "%s: fichero demasiado grande" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "no se puede crear un fichero temporal" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "no se puede abrir %s para lectura" #, fuzzy #~ msgid "%s: write error" #~ msgstr "error de escritura" # "la cadena" ¿de dónde sale eso? sv # Bueno, siempre he traducido array por cadena, cuando # he tenido que hacerlo. Lo siento # ¿Qué pongo? ¿secuencia de caracteres nula? em+ # ¿Y "el separador no puede ser vacío"? sv # La única cosa que es vacía de la que he oido hablar es el famoso # conjunto ese. Las demás cosas o están vacías o no están, pero # no 'son' vacías em # Yo pondría `el separador no puede ser nulo'. No es muy ortodoxo, # pero no queda mal. ipg # Por mí de acuerdo, lo cambio em #~ msgid "separator cannot be empty" #~ msgstr "el separador no puede ser nulo" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Muestra las últimas %d líneas de cada FICHERO en la salida estándar.\n" #~ "Con más de un FICHERO, precede a cada grupo de líneas con una cabecera.\n" #~ "Si no se especifica FICHERO o FICHERO es `-', lee la entrada estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry sigue intentando abrir un fichero incluso si " #~ "es\n" #~ " inaccesible cuando tail comienza o si se " #~ "vuelve\n" #~ " inaccesible más tarde -- útil solamente con -" #~ "f\n" #~ " -c, --bytes=N muestra los últimos N bytes\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}] muestra a medida que el fichero " #~ "crece;\n" #~ " -f, --follow, y --follow=descriptor son\n" #~ " equivalentes\n" #~ " -F lo mismo que --follow=name --retry\n" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines muestra las últimas N líneas en lugar de %d\n" #~ " --max-unchanged-stats=N\n" #~ " con --follow=name, reabre un FICHERO que no " #~ "ha\n" #~ " cambiado de tamaño después de N (por omisión %" #~ "d)\n" #~ " iteraciones, para ver si ha sido borrado o\n" #~ " renombrado (este es el caso usual para " #~ "ficheros\n" #~ " de registro que rotan)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID con -f, termina después de que el ID del " #~ "proceso,\n" #~ " PID, muere\n" #~ " -q, --quiet, --silent no presenta cabeceras para cada fichero\n" #~ " -s, --sleep-interval=S con -f, espera aproximadamente S segundos " #~ "entre\n" #~ " iteraciones (por omisión 1.0)\n" #~ " -v, --verbose presenta siempre las cabeceras para cada " #~ "fichero\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Si el primer carácter de N (el número de bytes o líneas) es un `+',\n" #~ "comienza a mostrar en el elemento N-ésimo contando desde el principio\n" #~ "de cada fichero, en otro caso, muestra los últimos N elementos del\n" #~ "fichero. N puede tener diferentes sufijos que indican un factor:\n" #~ "b 512, k 1024, m 1024*1024.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Con --follow (-f), tail de forma predeterminada seguirá el descriptor " #~ "del\n" #~ "fichero, lo que significa que si se renombra un fichero al que se le hace " #~ "tail\n" #~ "tail continuará siguiendo su final. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Este comportamiento predeterminado no es\n" #~ "deseable cuando lo que de verdad quiere seguir es el nombre real del " #~ "fichero,\n" #~ "no el descriptor del fichero (p.ej: rotación de ficheros de registro). " #~ "Utilice\n" #~ "--follow=nombre en tal caso. Esto hace que tail siga el fichero " #~ "mencionado\n" #~ "reabriéndolo periódicamente para ver si ha sido borrado o recreado por " #~ "algún\n" #~ "otro programa.\n" # df=descriptor de fichero, por supuesto... sv #~ msgid "closing %s (fd=%d)" #~ msgstr "cerrando %s (df=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: no se puede desplazar a la posición relativa %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: no se puede desplazar a la posición relativa al final %s" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "`%s' se ha vuelto inaccesible" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "`%s' ha sido reemplazado por un fichero al que no se le puede hacer " #~ "tail;\n" #~ "abandono con este nombre" #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "`%s' se ha vuelto accesible" #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "`%s' ha aparecido; siguiendo el final del nuevo fichero" #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "`%s' ha sido reemplazado; siguiendo el final del nuevo fichero" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: no se pudo reiniciar el modo `non-blocking'" #~ msgid "%s: file truncated" #~ msgstr "%s: fichero truncado" #~ msgid "no files remaining" #~ msgstr "no queda ningún fichero" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: no se puede seguir el final de este tipo de fichero; abandono\n" #~ "con este nombre" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "el número de campo %s es demasiado grande" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: número máximo de stats entre aperturas inválido" #~ msgid "%s: invalid PID" #~ msgstr "%s: PID inválido" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: número de segundos inválido" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "atención: --retry solamente es útil cuando se sigue por nombre" # FIXME: "when following"? when following by what? sv #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "atención: PID descartado; --pid=PID solamente es útil cuando se sigue" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "atención: no se admite --pid=PID en este sistema" #~ msgid "cannot follow %s by name" #~ msgstr "no se puede seguir %s por el nombre" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "atención: seguir la entrada estándar indefinidamente no es efectivo" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Copia la entrada estándar a cada FICHERO, y también a salida estándar.\n" #~ "\n" #~ " -a, --append añade a los FICHEROs dados, no los " #~ "sobreescribe\n" #~ " -i, --ignore-interrupts no hace caso a las señales de interrupción\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Sin FICHERO, o cuando FICHERO es -, lee la entrada estándar.\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "falta el argumento de `%s'" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "número inválido %s" #, fuzzy #~ msgid "')' expected" #~ msgstr "se esperaba ')'\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "se esperaba ')', se encontró %s\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: se esperaba un operador unario\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt no acepta -l\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef no acepta -l\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-ot no acepta -l\n" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "operador binario desconocido\n" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: se esperaba un operador binario\n" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Modo de empleo: test EXPRESIÓN\n" #~ " o bien: [ EXPRESIÓN ]\n" #~ " o bien: [ OPCIÓN\n" #~ "Termina con el estado determinado por EXPRESIÓN.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: test EXPRESIÓN\n" #~ " o bien: [ EXPRESIÓN ]\n" #~ " o bien: [ OPCIÓN\n" #~ "Termina con el estado determinado por EXPRESIÓN.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "La EXPRESIÓN es verdadera o falsa y determina el estado de salida. Es una " #~ "de:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( EXPRESIÓN ) la EXPRESIÓN es verdadera\n" #~ " ! EXPRESIÓN la EXPRESIÓN es falsa\n" #~ " EXPRESIÓN1 -a EXPRESIÓN2 la EXPRESIÓN1 y la EXPRESIÓN2 son " #~ "verdaderas\n" #~ " EXPRESIÓN1 -o EXPRESIÓN2 la EXPRESIÓN1 o la EXPRESIÓN2 es " #~ "verdadera\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " [-n] CADENA la longitud de la CADENA es distinta de cero\n" #~ " -z CADENA la longitud de la CADENA es igual a cero\n" #~ " CADENA1 = CADENA2 las cadenas son iguales\n" #~ " CADENA1 != CADENA2 las cadenas no son iguales\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ENTERO1 -eq ENTERO2 el ENTERO1 es igual a ENTERO2\n" #~ " ENTERO1 -ge ENTERO2 el ENTERO1 es mayor o igual que ENTERO2\n" #~ " ENTERO1 -gt ENTERO2 el ENTERO1 es mayor que ENTERO2\n" #~ " ENTERO1 -le ENTERO2 el ENTERO1 es menor o igual que ENTERO2\n" #~ " ENTERO1 -lt ENTERO2 el ENTERO1 es menor que ENTERO2\n" #~ " ENTERO1 -ne ENTERO2 el ENTERO1 no es igual a ENTERO2\n" # named pipe -> no lo traduciría em+ # Yo sí, pero pongo named pipe entre paréntesis. sv+ # mayor a -> mayor 'que' em+ # nodo-i -> nodo-í (con acento, porque es de índice) gerardo # No, es el i que se pone por ejemplo en $a_i$ (para que me entiendas :-) # ¿Tú crees? Yo diría que "inode numbers" es "números de # nodo-índice", o "número-í". gerardo # # Además en el Kernighan y Ritchie viene nodo-i. # Bueno... y "ligar", y "header", y... (malditas traducciones) # # La letra "i" se utiliza muchísimo como índice (soy matemático). # Pero jamás la he visto acentuada por ese motivo yendo sola. # # bit sticky -> bit pegajoso (sugerencia: gerardo) # Esto es demasiado fuerte... sv # # Ouh yeahh!! ¿Y por qué no? Es un juego de palabras entre "S(ave) T(ext) # I(mage)"-cky y la palabra "pegajoso", pues el código se queda # "pegado" en la memoria. (O se quedaba, hoy día esto no vale para # nada.) Iron Maiden # # ¡Al fin, alguien me lo explica! No está nada mal. # Entonces ¿se podría decir el "bit STI"? # Ya sabes que cuando uno intenta traducir un juego de palabras, lo que # suele suceder es que se lo carga (o bien traduce solamente el juego # de palabras perdiendo su verdadero significado). # # En cambio sí traducís el bit SUID/SGID # por-una-cosa-muy-larga. Sugiero dejar las siglas SUID o SGID. gerardo # ¿Quieres decir que propones traducir "set-group-ID" por "SGID"? # Esto me parecería una buena solución. # # socket = enchufe. gerardo # Este también es un poco fuerte. ¿Conoces a alguien (además de a tí mismo) # que utilice este término y se quede tan ancho? # ¿Por qué enchufe y no (por ejemplo) conector? sv #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " FICHERO1 -ef FICHERO2 el FICHERO1 y FICHERO2 tienen los mismos " #~ "números de\n" #~ " dispositivo y de nodo-i\n" #~ " FICHERO1 -nt FICHERO2 el FICHERO1 es más moderno (fecha de " #~ "modificación)\n" #~ " que FICHERO2\n" #~ " FICHERO1 -ot FICHERO2 el FICHERO1 es más antiguo que FICHERO2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b FICHERO el FICHERO existe y es un fichero especial de bloques\n" #~ " -c FICHERO el FICHERO existe y es un fichero especial de caracteres\n" #~ " -d FICHERO el FICHERO existe y es un directorio\n" #~ " -e FICHERO el FICHERO existe\n" #, fuzzy #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f FICHERO el FICHERO existe y es un fichero regular\n" #~ " -g FICHERO el FICHERO existe y tiene cambio-de-ID-de-grupo\n" #~ " -G FICHERO el FICHERO existe y su propietario es el ID efectivo de " #~ "grupo\n" #~ " -k FICHERO el FICHERO existe y tiene activo su bit `sticky'\n" #, fuzzy #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L FICHERO el FICHERO existe y es un enlace simbólico\n" #~ " -O FICHERO el FICHERO existe y su propietario es el ID efectivo de " #~ "usuario\n" #~ " -p FICHERO el FICHERO existe y es una tubería nombrada (named pipe)\n" #~ " -r FICHERO el FICHERO existe y puede leerse\n" #~ " -s FICHERO el FICHERO existe y tiene un tamaño mayor a cero\n" #, fuzzy #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S FICHERO el FICHERO existe y es un `socket'\n" #~ " -t [DA] el descriptor de fichero DA (salida estándar por omisión)\n" #~ " está abierto en una terminal\n" #~ " -u FICHERO el FICHERO existe y su bit de cambio-de-ID-de-usuario está " #~ "activo\n" #~ " -w FICHERO el FICHERO existe y puede escribirse\n" #~ " -x FICHERO el FICHERO existe y puede ejecutarse\n" # No me acaba de gustar el "Advierta". Se admiten sugerencias. #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Advierta que los paréntesis deben ser precedidos por caracteres de " #~ "escape\n" #~ "(p.e. barras invertidas) para los shells.\n" #~ "ENTERO también puede ser -l CADENA, que evalúa la longitud de la CADENA.\n" #, fuzzy #~ msgid "missing `]'" #~ msgstr "falta un `]'\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "argumento inválido: %s" #~ msgid "creating %s" #~ msgstr "creando %s" #~ msgid "cannot touch %s" #~ msgstr "no se puede efectuar `touch' sobre %s" #~ msgid "setting times of %s" #~ msgstr "estableciendo la fecha de %s" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a cambia solamente la fecha de acceso\n" #~ " -c, --no-create no crea ningún fichero\n" #~ " -d, --date=CADENA examina y utiliza CADENA en lugar de la fecha " #~ "actual\n" #~ " -f (no tiene efecto)\n" #~ " -m cambia solamente la fecha de modificación\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=FICHERO utiliza la fecha de este FICHERO en lugar de la " #~ "fecha\n" #~ " actual\n" #~ " -t FECHA utiliza [[SS]AA]MMDDhhmm[.ss] en lugar de la " #~ "fecha\n" #~ " actual\n" #~ " --time=PALABRA establece la fecha dada por PALABRA:\n" #~ " access atime use (lo mismo que -a)\n" #~ " modify mtime (lo mismo que -m)\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Tenga en cuenta que las opciones -d y -t aceptan formatos de\n" #~ "hora-fecha distintos.\n" # (em) Nota: Este mensaje sale, por ejemplo, al escribir # "touch logo -r . -t 10101010". #~ msgid "cannot specify times from more than one source" #~ msgstr "no se puede especificar la fecha de dos formas distintas" #, fuzzy #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "atención `touch %s' está obsoleto, use `touch -t %04d%02d%02d%02d%02d.%" #~ "02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... CONJUNTO1 [CONJUNTO2]\n" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Traduce, comprime y/o borra caracteres de la entrada estándar, " #~ "escribiendo\n" #~ "el resultado en la salida estándar.\n" #~ "\n" #~ " -c, --complement opera sobre el complemento (sobre cada " #~ "carácter\n" #~ " que no coincida)\n" #~ " -d, --delete borra caracteres de CONJUNTO1, no traduce\n" #~ " -s, --squeeze-repeats remplaza cada sucesión de entrada de un " #~ "carácter\n" #~ " repetido listado en CONJUNTO1 por una sola\n" #~ " aparición de dicho carácter\n" #~ " -t, --truncate-set1 trunca CONJUNTO1 a la longitud de CONJUNTO2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "Los CONJUNTOs se especifican como cadenas de caracteres. La mayoría se\n" #~ "representan a sí mismos.\n" #~ "Las secuencias válidas son las siguientes:\n" #~ "\n" #~ " \\NNN carácter con valor octal NNN (de uno a tres dígitos)\n" #~ " \\\\ barra invertida\n" #~ " \\a pitido audible (BEL)\n" #~ " \\b espacio hacia atrás\n" #~ " \\f salto de página\n" #~ " \\n salto de línea\n" #~ " \\r retorno de carro\n" #~ " \\t tabulación horizontal\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v tabulación vertical\n" #~ " CAR1-CAR2 todos los caracteres comprendidos entre CAR1 y CAR2 " #~ "contados\n" #~ " en orden ascendente\n" #~ " [CAR*] en CONJUNTO2, copias de CAR hasta que se alcance la " #~ "longitud\n" #~ " de CONJUNTO1\n" #~ " [CAR*REPITE] copia REPITE veces CAR; REPITE es octal si comienza con " #~ "0\n" #~ " [:alnum:] todas las letras y dígitos\n" #~ " [:alpha:] todas las letras\n" #~ " [:blank:] todos los espacios en blanco horizontales\n" #~ " [:cntrl:] todos los caracteres de control\n" #~ " [:digit:] todos los dígitos\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] todos los caracteres imprimibles, sin incluir el " #~ "espacio\n" #~ " [:lower:] todas las letras minúsculas\n" #~ " [:print:] todos los caracteres imprimibles, incluyendo el " #~ "espacio\n" #~ " [:punct:] todos los caracteres de puntuación\n" #~ " [:space:] todos los espacios en blanco horizontales y verticales\n" #~ " [:upper:] todas las letras mayúsculas\n" #~ " [:xdigit:] todos los números hexadecimales\n" #~ " [=CAR=] todos los caracteres que son igual que CAR\n" # squeezing -> la compresión; lo has usado tú antes :) ipg # se me pasó em+ #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Se produce la traducción si no se especifican CONJUNTO1 y CONJUNTO2, " #~ "siempre\n" #~ "y cuando no aparezca la opción -d. -t se puede usar sólo al traducir.\n" #~ "CONJUNTO2 se expande a la longitud de CONJUNTO1, repitiendo su último\n" #~ "carácter tantas veces como sea necesario. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Los caracteres que sobran en\n" #~ "CONJUNTO2 no se tienen en cuenta. Solamente se garantiza que [:lower:]\n" #~ "y [:upper:] sean expandidos en orden ascendente; si se usa en\n" #~ "CONJUNTO2 al traducir, sólo se pueden usar en parejas, para\n" #~ "especificar conversión a mayúsculas. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s usa CONJUNTO1 si no se está\n" #~ "traduciendo ni borrando; si no, la compresión usa CONJUNTO2 después de\n" #~ "la traducción o el borrado.\n" # Me alegro de que te hayas comido el \t. Creo que lo mismo se puede hacer # en otro msgstr que hay mucho más atrás. sv #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "atención: la secuencia de escape octal ambigua \\%c%c%c\n" #~ "se interpreta como la secuencia de 2 bytes \\0%c%c, `%c'" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "%s: atención: crear un enlace duro a un enlace simbólico\n" #~ "no es transportable" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "los extremos del rango en `%s-%s' están en orden inverso" # También necesito aquí ayuda em # Yo creo que queda bien. ipg #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "número de repeticiones `%s' inválido en la especificación [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "falta el nombre de la clase de caracteres `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "falta el carácter de clase de equivalencia `[==]'" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "clase de carácter inválido `%s'" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: el operador de equivalencia de clase debe ser un sólo carácter" # No estoy muy seguro. Comprobar. #, fuzzy #~ msgid "too many characters in set" #~ msgstr "carácter extraño en el especificador de campo" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "el operador de repetición [c*] no puede aparecer en cadena1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "en cadena2 sólo puede aparecer un operador de repetición [c*]" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "las expresiones [=c=] no pueden aparecer en cadena2 al traducir" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "si no se está truncando conjunto1, cadena2 debe ser no vacía" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "cuando se traducen con clases de caracteres complementarias (que no " #~ "coinciden),\n" #~ "cadena2 debe hacer corresponder todos los caracteres del dominio a uno " #~ "solo" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "cuando se traduce, las únicas clases de caracteres que pueden aparecer " #~ "en\n" #~ "cadena2 son 'upper' y 'lower'" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "las expresiones [c*] sólo pueden aparecer en cadena2 al traducir" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "se deben proporcionar dos cadenas al traducir" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "cuando se borra sin comprimir repeticiones sólo se puede especificar una " #~ "cadena" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "las construcciones [:upper:] y/o [:lower:] están desalinedas" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s NOMBRE\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN] [FICHERO]\n" #~ "Escribe una lista completamente ordenada consistente con el orden parcial " #~ "en\n" #~ "FICHERO. Sin ningún FICHERO, o cuando FICHERO es -, lee la entrada " #~ "estándar.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: la entrada contiene un número impar de elementos" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: la entrada contiene un bucle:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Muestra el nombre de fichero de la terminal conectada a la salida " #~ "estándar.\n" #~ "\n" #~ " -s, --silent, --quiet no muestra nada, sólo devuelve un valor de " #~ "salida\n" # "No es una terminal", ¿no se entendería mejor? gerardo # Depende. La terminal se refiere a la terminal física, mientras que # tty se refiere al dispositivo "lógico". Es como cuando envías # el resultado a una tubería o a un tty. ¿Qué opinas? sv # # Bueno, fale. Pero ¿es "un tty" o "una tty"? gerardo # # Depende: ¿Sabes como averiguar si una tortuga es macho o hembra? # Se le hacen cosquillas en la barriga, si se pone contento es # macho, y si se pone contenta es hembra :-) # En este caso yo diría que es así: "no es un [dispositivo] tty" sv #~ msgid "not a tty" #~ msgstr "no es un `tty'" # Nota: En Linux, uname -r da como resultado la versión del `kernel' # mientras que uname -v de como resultado la fecha de compilación. # (una especie de sub-versión). # # Por sugerencia de Gerardo, pongo distribución para uname -r. # # Aquí parece que hay algo de confusión entre -v que da la versión del # S.O. y --version, que da la versión del POGRAMA uname. ¿No # deberíamos especificarlo un poco? Por ejemplo: # --version Informa sobre la versión de este programa y finaliza. # Finalizo: gerardo # Piensa, piensa... Resumiendo: # --version informa de la versión de este programa y acaba\n # # No creo que sea necesario, las opciones --help y --version van siempre # al final y son obligatorias de acuerdo con las # "normas de programación de GNU" (GNU coding standards). # Por cierto, ¿te parece apropiada esta traducción de los "coding standards"? # (La verdad es que nunca se me había ocurrido traducirlo hasta ahora mismo). # # Aunque es cierto que --release da lo que nosotros llamaríamos # "versión" (p. ej.: 2.0.0) y -v da la sub-versión (con guión, # efectivamente :-). Lo mismo observo en Digital UNIX. gerardo # # ¿Podrías decirme lo que observas en Digital UNIX exactamente? #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Muestra cierta información del sistema. Sin ninguna OPCIÓN, igual que -" #~ "s.\n" #~ "\n" #~ " -a, --all muestra toda la información\n" #~ " -s, --sysname muestra el nombre del sistema operativo\n" #~ " -n, --nodename muestra el nombre de `host' del nodo de red de la " #~ "máquina\n" #~ " -r, --release muestra la distribución del sistema operativo\n" #, fuzzy #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v muestra la versión del sistema operativo\n" #~ " -m, --machine muestra el tipo de máquina (hardware)\n" #~ " -p, --processor muestra el tipo de procesador\n" #~ " -i, --hardware-platfrom muestra la plataforma de hardware\n" #~ " -o, --operating-system muestra el sistema operativo\n" #~ msgid "cannot get system name" #~ msgstr "no se puede obtener el nombre del sistema" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Convierte los espacios de cada FICHERO en tabulaciones, escribiendo el\n" #~ "resultado en la salida estándar. Si no se especifica FICHERO o FICHERO\n" #~ "es `-', lee la entrada estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all convierte todos los espacios en blanco, no solo los\n" #~ " iniciales\n" #~ " --first-only convierte solamente los espacios en blanco iniciales\n" #~ " (deshabilita -a)\n" #~ " -t, --tabs=N usa N espacios en cada tabulación, en vez de 8 " #~ "(activa -a)\n" #~ " -t, --tabs=LISTA usa la LISTA de posiciones separadas por comas para\n" #~ " definir las posiciones de tabulación (activa -a)\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "la parada de tabulación es demasiado grande %s" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [ENTRADA [SALIDA]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Descarta todas las líneas sucesivas idénticas, menos una. de ENTRADA (o\n" #~ "entrada estándar), escribiendo en SALIDA (o en la salida estándar).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count precede a las líneas con el número de " #~ "ocurrencias\n" #~ " -d, --repeated muestra sólo las líneas duplicadas\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=método] muestra todas las líneas duplicadas\n" #~ " método={none(predeterminado),prepend,separate}\n" #~ " La delimitación se hace con líneas en blanco.\n" #~ " -f, --skip-fields=N pasa por alto la comparación de los primeros N " #~ "campos\n" #~ " -i, --ignore-case pasa por alto las diferencias entra mayúsculas y\n" #~ " minúsculas\n" #~ " -s, --skip-chars=N pasa por alto la comparación de los primeros N " #~ "caracteres\n" #~ " -u, --unique muestra sólo las líneas que son únicas\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N sólo compara los primeros N caracteres de la " #~ "línea\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Un campo es cada conjunto de caracteres separados por espacios.\n" #~ "Se pasan por alto los campos y después los caracteres.\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "demasiados argumentos" #~ msgid "invalid number of fields to skip" #~ msgstr "el número de campos que se deben saltar es inválido" #~ msgid "invalid number of bytes to skip" #~ msgstr "el número de bytes que se deben saltar es inválido" #~ msgid "invalid number of bytes to compare" #~ msgstr "el número de bytes que hay que comparar es inválido" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "mostrar todas las líneas duplicadas y los contadores de repetición\n" #~ "no tiene sentido" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s FICHERO\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Llama a la función unlink para borrar el FICHERO especificado.\n" #~ "\n" # Otra posibilidad sería "no se puede borrar el enlace `%s'". # Mirarlo con calma. sv # # recordatorio: un fichero es _siempre_ un nodo-i que es enlazado por # entrada/s en directorios, cuando se desenlaza el último enlace que une una # entrada de directorio con el fichero, entonces y sólo entonces se borra # físicamente.... uac # # Lo sé, lo sé. # En este caso habría que investigar las causas por las que no se puede # deshacer el tal enlace. Habrá que buscar al menos un ejemplo en el que # aparezca este mensaje. sv # #~ msgid "cannot unlink %s" #~ msgstr "no se puede deshacer el enlace %s" #~ msgid "couldn't get boot time" #~ msgstr "no se puede obtener la fecha de arranque" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s funcionando " # Por indicación de Gerardo Aburruzaga, lo pongo con mayúsculas. #~ msgid "am" #~ msgstr "AM" #~ msgid "pm" #~ msgstr "PM" #~ msgid " ??:???? up " #~ msgstr " ??:???? arriba " #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%d día" #~ msgstr[1] "%d días" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%d usuario" #~ msgstr[1] "%d usuarios" #~ msgid ", load average: %.2f" #~ msgstr ", carga promedio: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [FICHERO]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Muestra la fecha/hora actual, el lapso de tiempo que el sistema lleva " #~ "arriba,\n" #~ "el número de usuarios en el sistema, y el número medio de trabajos\n" #~ "en la cola de ejecución en los últimos 1, 5 y 15 minutos.\n" #~ "Si no se especifica ningún FICHERO, se utiliza %s. Habitualmente,\n" #~ "FICHERO es %s\n" #~ "\n" # Nota: El primer %s era /etc/utmp y el segundo /etc/wtmp. #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Muestra quién esta actualmente conectado de acuerdo con FICHERO.\n" #~ "Si no se especifica ningún FICHERO, se utiliza %s. Habitualmente,\n" #~ "FICHERO es %s\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Muestra el número de nuevas líneas, palabras y bytes para cada FICHERO, y " #~ "una\n" #~ "línea con el total si se especifica más de un FICHERO. Si no se " #~ "especifica\n" #~ "ningún FICHERO, o si FICHERO es -, lee la entrada estándar.\n" #~ " -c, --bytes muestra el número de bytes\n" #~ " -m, --chars muestra el número de caracteres\n" #~ " -l, --lines muestra el número de líneas\n" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length muestra la longitud de la línea más larga\n" #~ " -w, --words muestra el número de palabras\n" #~ msgid " old " #~ msgstr " antiguo " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "salida=" #~ msgid "clock change" #~ msgstr "cambio de reloj" # Se admiten sugerencias #~ msgid "run-level" #~ msgstr "`run-level'" #~ msgid "last=" #~ msgstr "último=" #, fuzzy #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "Nº de usuarios=%u\n" # Estas palabrejas en mayúsculas son para la CABECERA de who. Yo que # tú lo probaba, porque me temo que va a salir fatal, tendría que # tener la traducción la misma longitud que el original. Habría que # abreviar, aunque quizá acabemos de forma que no se entenderá # nada. gerardo # # Si sale mal, nos quejaremos amargamente al autor. # Quien mantiene esto actualmente (Jim Meyering) me ha hecho caso # otras veces (si miras el ChangeLog de fileutils podrás comprobarlo) # y es bastante comprensivo. #~ msgid "NAME" #~ msgstr "NOMBRE" #~ msgid "LINE" #~ msgstr "LÍNEA" #~ msgid "TIME" #~ msgstr "TIEMPO" # Va a haber problemas por la longitud de la cadena... # INACTIVO es más corto. VAGO mas aún (ouaahhh -bostezo-) gerardo # Me gusta la idea, pero ¿es INACTIVO o INACTIVA? sv # Como USUARIO, que también puede ser USUARIA. Si quieres ponerlo # "políticamente c." (c.= correcto? carajote?): INACTIV@ gerardo :-) # Odio la correción política. Lo dejaré en género "neutro", o sea # en masculino (ya que en español, coinciden, que es lo que a muchos # les cuesta digerir). # De todas formas, ¿INACTIVO no es [TIEMPO] INACTIVO? sv #~ msgid "IDLE" #~ msgstr "INACTIVO" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "COMENTARIO" #~ msgid "EXIT" #~ msgstr "SALIDA" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... [ FICHERO | ARG1 ARG2 ]\n" # Nota: El primer %s era /etc/utmp y el segundo /etc/wtmp. # Hay una ó con tilde que no debiera, pues no va entre cifras. gerardo # Va entre cosas que no son letras. sv # # Que yo sepa, la RAE dice que la conjunción "o" debe llevar tilde # cuando va entre guarismos, para que no se confunda con un cero. Si # no hay ambigüedad puede omitirse, aunque se recomienda ponerlo. # No tiene que ir entre "cosas que no son letras", sino entre cifras # numéricas. Según la RAE. Cuando yo estudié Lingüística/Literatura, # hace ya unos pocos años :-( gerardo # # Ya, pero me temo que la RAE no contemplaba (cuando dijo eso) # otra cosa que no sean cifras o letras ¿o sí? sv # # ¿Al haber un signo menos a su izquierda no tiene la "o" posibilidad de ser # confundida con un cero? sv #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all lo mismo que -b -d --login -p -r -t -T -u\n" #~ " -b, --boot tiempo del último inicio del sistema\n" #~ " -d, --dead muestra los procesos muertos\n" #~ " -H, --heading muestra la línea de encabezados de columnas\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup intenta canonicalizar los nombres de `host' a través " #~ "del DNS\n" #~ " -m sólo el nombre del `host' y de usuario asociado con\n" #~ " la entrada estándar\n" #~ " -p, --process muestra los procesos activos lanzados por init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count todos los nombres de entrada y número de usuarios\n" #~ " conectados\n" #~ " -r, --runlevel muestra el `runlevel' actual\n" #~ " -s, --short muestra sólo el nombre, línea y tiempo " #~ "(predeterminado)\n" #~ " -t, --time muestra el último cambio en el reloj del sistema\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg añade el estado de mensajes del usuario como\n" #~ " +, - ó ?\n" #~ " -u, --users muestra los usuarios conectados\n" #~ " --message igual que -T\n" #~ " --writable igual que -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Si no se especifica ningún FICHERO, se utiliza %s. Habitualmente,\n" #~ "FICHERO es %s. Si se dan ARG1 y ARG2, se supone -m: habitualmente\n" #~ "`am i' o `mom likes'.\n" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Muestra el nombre de usuario asociado con el identificador efectivo de\n" #~ "usuario actual. Equivalente a id -un.\n" #~ "\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "no se puede encontrar el nombre para el usuario con ID %u" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Modo de empleo: %s [CADENA]...\n" #~ " o bien: %s OPCIÓN\n" # Se aceptan sugerencias para `repetidamente'. cfuga # (pues a mí no me disgusta). sv # Es curioso que el 'y' esté compilado en "yes". En mi Digital UNIX, # también internacionalizado y traducido, "yes" produce repetidamente # "sí" para LANG=es_ES.ISO8859-1. Concretamente LC_MESSAGES. gerardo # Curioso, ¿no romperá ningun `script'? sv # Para lo poco que se usa "yes"... (me pasé dos años sin saber para # qué c~%&# servía, y aún ahora creo que no sirve para nada). gerardo # # Sirve para hacer prácticas con la redirección de la salida... ( > ) # # Creo que es mejor dejarlo así. Con el programa "hello" pasa lo mismo: # escribes "hello" y te responde "hola", lo cual no es lógico :-) # Si no hay oportunidad de escribir "sí", para que salga una tira de # eses, mejor olvidarse. sv #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Muestra repetidamente una línea con todas las CADENA(s) especificadas, o " #~ "`y'.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Modo de empleo: %s USUARIO ORDEN [ARGUMENTO]...\n" #~ " o bien: %s OPCIÓN\n" #~ msgid "block size" #~ msgstr "tamaño del bloque" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "no se puede cambiar el propietario y/o el grupo de %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "no se puede cambiar al directorio %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "no se puede obtener el grupo de login de un UID numérico" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Esto es software libre; vea el código fuente para las condiciones de " #~ "copia.\n" #~ "No hay NINGUNA garantía; ni siquiera de COMERCIABILIDAD o IDONEIDAD PARA " #~ "UN\n" #~ "FIN DETERMINADO.\n" #~ msgid "too few arguments" #~ msgstr "número de argumentos insuficiente" #~ msgid "closing standard output" #~ msgstr "cierre de la salida estándar" # Nota: se refiere al grupo número 0. # La convención nulo=cero también existe en español, al menos en el # lenguaje matemático. Por eso he preferido respetar el matiz. #~ msgid "cannot change to null group" #~ msgstr "no se puede cambiar al grupo nulo" #~ msgid "group number" #~ msgstr "número de grupo" #~ msgid "invalid group number %s" #~ msgstr "número de grupo inválido %s" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root no trata `/' de forma especial (predeterminado)" #~ "<\n" #~ " --preserve-root no opera recursivamente sobre `/'\n" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Cada MODO es una o más de las letras ugoa, uno de los símbolos +-= y\n" #~ "una o más de las letras rwxXstugo.\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "no se puede sobreescribir el directorio %s" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: el directorio objetivo especificado no existe" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: el objetivo especificado no es un directorio" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "se copian varios ficheros, pero el último argumento %s\n" #~ "no es un directorio" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "atención: --version-control (-V) está obsoleta; su soporte será " #~ "eliminado\n" #~ "en alguna versión posterior. Utilice --backup=%s en su lugar." #~ msgid "symbolic links are not supported on this system" #~ msgstr "este sistema no admite enlaces simbólicos" # UTC = Tiempo Universal Coordinado, antiguo GMT (Greenwich Mean Time, # Hora Media de Greenwich). gerardo #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] output date/time in ISO 8601 " #~ "format.\n" #~ " TIMESPEC=`date' for date only,\n" #~ " `hours', `minutes', or `seconds' for date " #~ "and\n" #~ " time to the indicated precision.\n" #~ " --iso-8601 without TIMESPEC defaults to " #~ "`date'.\n" #~ msgstr "" #~ "Muestra la hora actual en el FORMATO dado, o establece la fecha del " #~ "sistema.\n" #~ "\n" #~ " -d, --date=CADENA muestra la hora descrita por CADENA, no " #~ "`now'\n" #~ " -f, --file=FICHERO_FECHA igual que --date por cada línea de " #~ "FICHERO_FECHA\n" #~ " -IE_TIEMPO, --iso-8601[=E_TIEMPO] muestra una cadena de fecha/hora " #~ "según la norma\n" #~ " ISO-8601. E_TIEMPO=`fecha' (o nada) para la " #~ "fecha\n" #~ " solamente, `horas', `minutos', o `segundos'\n" #~ " para la fecha y la hora con la precisión " #~ "indicada\n" #~ " --iso-8601 sin E_TIEMPO significa usar " #~ "`date'\n" #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F lo mismo que %Y-%m-%d\n" #~ " %g el año de 2 dígitos que corresponde a la semana %V\n" #~ " %G el año de 4 dígitos que corresponde a la semana %V\n" #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z la zona horaria numérica estilo RFC-2822 (-0500)\n" #~ " (una extensión no estándar)\n" #~ " %Z la zona horaria (p.e., EDT), o nada si no es determinable la\n" #~ " zona horaria\n" #~ "\n" #~ "Por omisión, date rellena los campos numéricos con ceros. GNU date\n" #~ "reconoce los siguientes modificadores entre `%%' y una directiva " #~ "numérica.\n" #~ "\n" #~ " `-' (guión) no rellena el campo\n" #~ " `_' (subrayado) rellena el campo con espacios\n" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "demasiados argumentos que no son opciones: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "no se puede especificar una cadena de formato cuando se usa\n" #~ "la opción --rfc-2822 (-R)" # Nota: Se refiere con toda probabilidad a una fecha o a una hora. #~ msgid "undefined" #~ msgstr "no definida" #~ msgid "cannot get time of day" #~ msgstr "no se puede obtener la hora del día" #~ msgid "" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ " notrunc no trunca el fichero de salida\n" #~ " ucase cambia las minúsculas a mayúsculas\n" #~ " swab intercambia cada pareja de bytes de entrada\n" #~ " noerror continúa después de los errores de lectura\n" #~ " sync rellena cada bloque de entrada con NULs hasta el tamaño de " #~ "ibs;\n" #~ " cuando se utiliza con block o unblock, rellena con " #~ "espacios\n" #~ " en lugar de con NULos\n" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s registros leídos\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s registros escritos\n" #~ msgid "truncated records" #~ msgstr "registros truncados" #~ msgid "unrecognized option %s=%s" #~ msgstr "opción no reconocida %s=%s" # Nota: El `conv' es el mismo que aparece más adelante como # "conv=KEYWORD", por lo tanto *no* se debe traducir. #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "" #~ " sólo una `conv' en {ascii,ebcdic,ibm}, {lcase,ucase}, {block," #~ "unblock},\n" #~ "{unblock,sync}" # No me acaba de sonar bien lo de fuera de rango. # Se admiten sugerencias. sv #~ msgid "file offset out of range" #~ msgstr "desplazamiento de fichero fuera de rango" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "no se pueden usar argumentos de tipo FICHERO con la opción para mostrar\n" #~ "la base de datos interna de dircolors" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Repite la(s) CADENA(s) por la salida estándar.\n" #~ "\n" #~ " -n no muestra el carácter final de nueva línea\n" #~ " -e activa la interpretación de caracteres escapados con " #~ "una\n" #~ " barra invertida que se listan más abajo\n" #~ " -E desactiva la interpretación de esas secuencias en " #~ "CADENAs\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "la opción `-LISTA' está obsoleta; utilice `-t LISTA'" # Portable = transportable (sugerencia: gerardo) # Me gusta más "portable". sv # # A mí no, pero como el traductor eres tú... :-( ¿Tú dices por # ejemplo: "voy a portar un mueble de una habitación a otra"? "¡Hay # que ver lo de la huelga de portes y camioneros...!" "Este televisor # es muy grande para ser de 14'', es incómodo de portar"... etc... # gerardo # # No te niego que son buenos tus ejemplos. Pero dime: # ¿De verdad dirías que DJGPP es un "transporte" de GNU CC a MS-DOS? # (Erosión, transporte y sedimentación). # # Al final me convenciste. Ahora estoy intrigado: # ¿Aparecerá en algún sitio más? sv #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "atención: ERB no transportable: `%s': utilizar `^' como el primer " #~ "carácter\n" #~ "de la expresión regular básica no es transportable; no se tendrá en cuenta" #~ msgid "`%s' is too large" #~ msgstr "`%s' es demasiado grande" # FIXME: There options ... abbreviated: <- ¿no faltan los dos puntos? sv #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: %s [argumentos que no se tienen en cuenta]\n" #~ " o bien: %s OPCIÓN\n" #~ "Sale con un código de estado que indica fallo.\n" #~ "\n" #~ "Estos nombres de opciones no se pueden abreviar:\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "la opción `%s' está obsoleta; utilice `%s'" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N puede tener un sufijo multiplicador: b 512, k 1024, m 1024*1024.\n" # FIXME: just "large" or "too large"? #~ msgid "%s: number of bytes is large" #~ msgstr "%s: el número de bytes es demasiado grande" #~ msgid "unrecognized option `-%c'" #~ msgstr "opción no reconocida '-%c'" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "la opción `-%s' está obsoleta; utilice `-%c %.*s%.*s%s'" # No se puedeN imprimir ... en plural, que son varias cosas las que no # se pueden imprimir. gerardo # Precisamente, lo que dice el mensaje es que es una sola cosa # la que se imprime, sin quedar claro cuál de las dos (usuario o grupo) # es esa única cosa. sv # En cualquier caso, el "no se puede" se refiere a un *hecho*: # "imprimir solamente el usuario y solamente el grupo" sv #~ msgid "cannot print only user and only group" #~ msgstr "no se puede imprimir solamente el usuario y solamente el grupo" #~ msgid "cannot get supplemental group list" #~ msgstr "no se puede obtener la lista de grupos suplementarios" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "se instalan varios ficheros, pero el último argumento %s\n" #~ "no es un directorio" #~ msgid "%s is a directory" #~ msgstr "%s es un directorio" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "no se puede obtener la fecha de %s" #~ msgid "strip failed" #~ msgstr "strip falló" #~ msgid "value %s is so large that it is not representable" #~ msgstr "el valor %s es tan grande que no es representable" # No sé en qué caso se muestra este mensaje pero creo que es _muy_ ambiguo... # creo que la solución que se adopta en el siguiente mensaje sería más # apropiada... # # Ahora sí lo has arreglado... # Decía "número de argumentos insuficiente". # Pongo "demasiados argumentos". # Con esto ya están "igualados" este y el siguiente. sv # # El único problema ahora es que te comes lo de "non-option", ese matiz # se pierde en la traducción. sv+ #~ msgid "too many non-option arguments" #~ msgstr "demasiados argumentos" #~ msgid "invalid field number: `%s'" #~ msgstr "número de campo inválido: `%s'" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "número de campo inválido para el fichero 1: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "número de campo inválido para el fichero 2: `%s'" #~ msgid "too few non-option arguments" #~ msgstr "número de argumentos insuficiente" #~ msgid "%s: File exists" #~ msgstr "%s: El fichero existe" #~ msgid "create symbolic link %s to %s" #~ msgstr "crea el enlace simbólico %s a %s" #~ msgid "create hard link %s to %s" #~ msgstr "crea el enlace duro %s a %s" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... OBJETIVO [NOMBRE_DEL_ENLACE]\n" #~ " o bien: %s [OPCIÓN]... OBJETIVO... DIRECTORIO\n" #~ " o bien: %s [OPCIÓN]... --target-directory=DIRECTORIO OBJETIVO...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "cuando se crean varios enlaces, el último argumento debe ser un directorio" #~ msgid "User name too long" #~ msgstr "Nombre de usuario demasiado largo" #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ msgstr "" #~ " -g como -l, pero no muestra el propietario\n" #~ " -G, --no-group no muestra la información del grupo\n" #~ " -h, --human-readable muestra los tamaños de forma legible\n" #~ " (p.e. 1K 234M 2G)\n" #~ " --si análogo, pero utilizando potencias de 1000,\n" #~ " no de 1024\n" #~ " -H, --dereference-command-line\n" #~ " sigue los enlaces simbólicos en la línea de\n" #~ " órdenes\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " sigue cada enlace simbólico en la línea de\n" #~ " órdenes que apunte a un directorio\n" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary lee los ficheros en modo binario (por omisión " #~ "en\n" #~ " DOS/Windows)\n" #~ " -c, --check comprueba las sumas %s con la lista dada\n" #~ " -t, --text lee los ficheros en modo de texto (por defecto)\n" #~ "\n" #~ msgid "file" #~ msgstr "fichero" #~ msgid "files" #~ msgstr "ficheros" #~ msgid "checksum" #~ msgstr "suma de comprobación" #~ msgid "checksums" #~ msgstr "sumas de comprobación" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "las opciones --string y --check son mutuamente excluyentes" #~ msgid "no files may be specified when using --string" #~ msgstr "no se puede especificar FICHERO cuando se usa --string" #~ msgid "only one argument may be specified when using --check" #~ msgstr "cuando se utiliza --check sólo se puede especificar un argumento" #~ msgid "cannot set permissions of directory %s" #~ msgstr "no se pueden establecer los permisos del directorio %s" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "no se pueden establecer los permisos del fichero `fifo' %s" #~ msgid "wrong number of arguments" #~ msgstr "número incorrecto de argumentos" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "los números de dispositivo principal y secundario no se pueden " #~ "especificar\n" #~ "para ficheros `fifo'" #~ msgid "cannot set permissions of %s" #~ msgstr "no se pueden establecer los permisos de %s" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "al mover varios ficheros, el último argumento debe ser un directorio" # scheduling priority -> prioridad de ejecución # ¿Hay algo mejor? cfuga # prioridad de planificación. Aunque quizá "ejecución", si no tan # ajustado y exacto, se entienda mejor. gerardo # Vale. Me quedo con ejecución, pero dejo aquí la otra posibilidad. sv #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Ejecuta ORDEN con una prioridad de ejecución ajustada.\n" #~ "Si no hay ORDEN, muestra la prioridad de ejecución actual. AJUSTE es 10\n" #~ "por omisión. El rango abarca desde -20 (mayor prioridad) hasta 19 " #~ "(menor).\n" #~ "\n" #~ " -n, --adjustment=AJUSTE incrementa la prioridad primero por AJUSTE\n" #~ msgid "invalid option `%s'" #~ msgstr "opción inválida `%s'" #~ msgid "invalid priority `%s'" #~ msgstr "prioridad inválida `%s'" #~ msgid "cannot get priority" #~ msgstr "no se puede obtener la prioridad" #~ msgid "cannot set priority" #~ msgstr "no se puede establecer la prioridad" #~ msgid "failed to redirect standard output" #~ msgstr "fallo al redireccionar la salida estándar" #~ msgid "old-style offset" #~ msgstr "desplazamiento al estilo antiguo" #~ msgid "skip argument" #~ msgstr "pasando por alto este argumento" # ¿Tiene sentido? ¿No sería `argumento límite'? (no tengo las fuentes, # sorry O:) ipg # No lo sé, yo tengo las fuentes, pero a primera vista no concluyo em+ # # a ver si te acuerdas la próxima vez y "pegas" el trocito de código donde esté, # así podremos discutir sobre ello.... # FIXME: Asegurarse de que significa eso. sv+ #~ msgid "limit argument" #~ msgstr "limitando este argumento" # ¿longitud mínima de cadena? Es que si no, me suena a spanglish :) ipg # ok em+ #~ msgid "minimum string length" #~ msgstr "longitud mínima de cadena" #~ msgid "width specification" #~ msgstr "especificación de ancho" # aunque con "operando no válido" se pueda llegar a la misma conclusión, # creo que lo que propongo es mucho más claro... # Creo que está bien así y de la otra forma, a mí me suena igual em+ #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "segundo operando inválido en el modo de compatibilidad `%s'" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "en el modo de compatibilidad, los dos últimos argumentos deben ser\n" #~ "desplazamientos" # Sugerencia: "no sólo este"-> "no sólo éste" gerardo # ¿Estás seguro? sv # ¡¡SÍ!! Observa: "todos los sistemas... no sólo este sistema" # "todos los sistemas... no sólo éste." # En el primer caso, "este" es adjetivo, y en el 2º, adverbio. # La RAE dice que la tilde es optativa si no hay ambigüedad posible. # Yo creo que es mejor ponerla siempre. # # Yo prefiero no ponerla si no hay ambigüedad... sv #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Diagnostica construcciones no portables en NOMBRE\n" #~ "\n" #~ " -p, --portability comprueba para todos los sistemas POSIX, no sólo " #~ "este\n" # Aquí también pongo transportable. #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "la ruta de acceso `%s' contiene el carácter no transportable `%c'" #~ msgid "`%s' is not a directory" #~ msgstr "`%s' no es un directorio" #~ msgid "directory `%s' is not searchable" #~ msgstr "el directorio `%s' es inaccesible" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "el nombre `%s' tiene longitud %ld; excede el límite de %ld" #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "la ruta de acceso `%s' tiene longitud %lu; excede el límite de %ld" # FIXME: El original es horrible. #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' rango de número de páginas inválido: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' número de página de comienzo inválido: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' número de página final inválido: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' el número de página de comienzo es mayor que el número de " #~ "página final" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=COLUMNAS' número de columnas inválido: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "" #~ "el número de página de comienzo es mayor que el número total de páginas: `" #~ "%d'" # ¿Y cómo se asegura uno de esto?, pregunto. sv #~ msgid "Page %d" #~ msgstr "Página %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Modo de empleo: %s formato [argumento...]\n" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Este programa es software libre; puede ser redistribuido y/o\n" #~ "modificado bajo los términos de la Licencia Pública General de\n" #~ "GNU tal y como se publica por la Free Software Foundation; bien\n" #~ "en su versión 2, o (a su elección) cualquier versión posterior.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Este programa se distribuye con la esperanza de que sea útil,\n" #~ "pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de\n" #~ "COMERCIABILIDAD o IDONEIDAD PARA UN FIN DETERMINADO. Véase la\n" #~ "Licencia Pública General de GNU para más detalles.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Usted debería haber recibido una copia de la Licencia Pública\n" #~ "General de GNU junto con este programa; en caso contrario, escriba\n" #~ "a la Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n" #~ "Boston, MA 02111-1307, EE.UU.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "no se puede cambiar de %s a .." #~ msgid "cannot lstat `.' in %s" #~ msgstr "no se puede efectuar `lstat' sobre `.' en %s" #~ msgid "cannot lstat %s" #~ msgstr "no se puede efectuar `lstat' sobre %s" #~ msgid "cannot chdir from %s to %s" #~ msgstr "no se puede cambiar del directorio %s al %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "no se puede borrar `.' o `..'" # prompt es "preguntar" o "pedir confirmación". # No me gusta nada cómo me ha quedado el verbose. Se admiten sugerencias. # # ¿Por qué no utilizar la forma que has utilizado anteriormente en este caso? # "da detalles...", creo que explicar no pega ni con cola... # # ¿Y en inglés sí te pega? sv # #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Borra (desenlaza) el/los FICHERO(s).\n" #~ "\n" #~ " -d, --directory desenlaza FICHERO, incluso si es un directorio no " #~ "vacío\n" #~ " (solamente superusuario; esto solamente " #~ "funciona\n" #~ " si el sistema admite `unlink' para directorios\n" #~ " no vacíos).\n" #~ " -f, --force descarta los ficheros que no existan, sin " #~ "preguntar\n" #~ " -i, --interactive pide confirmación antes de borrar\n" # ¿Es esto correcto? ¿Qué significa? #~ msgid "sort size" #~ msgstr "tamaño de la ordenación" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO puede tener un factor indicado con el sufijo: b para 512, k para " #~ "1K,\n" #~ "m para 1Meg\n" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "la opción `-%s' está obsoleta; utilice `-l %s'" #~ msgid "" #~ "Display file or filesystem status.\n" #~ "\n" #~ " -f, --filesystem display filesystem status instead of file status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Muestra el estado del fichero o del sistema de ficheros.\n" #~ "\n" #~ " -f, --filesystem muestra el estado del sistema de ficheros en " #~ "lugar del\n" #~ " estado del fichero\n" #~ " -c --format=FORMATO utiliza el FORMATO especificado en lugar del\n" #~ " predeterminado\n" #~ " -L, --dereference sigue los enlaces\n" #~ " -t, --terse muestra la información de manera escueta\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "atención: `-l' está obsoleto; utilice `-L' en su lugar" #~ msgid "stdin: read error" #~ msgstr "stdin: error de lectura" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: el sufijo es inválido en una opción obsoleta" # FIXME: Es muy raro que después de ; se use mayúscula. #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "demasiados argumentos; Cuando se utiliza la opción de sintaxis obsoleta " #~ "de\n" #~ "tail (%s) no puede haber más de un fichero como argumento. Utilice la " #~ "opción\n" #~ "equivalente -n ó -c en su lugar." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Atención: no es transportable usar dos o más ficheros como argumentos con " #~ "la\n" #~ "opción de sintaxis obsoleta (%s). Utilice la opción equivalente -n ó -c\n" #~ "en su lugar." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "la opción `%s' está obsoleta; utilice `%s-%c %.*s'" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: número máximo de cambios de tamaño consecutivos inválido" #~ msgid "argument expected\n" #~ msgstr "se esperaba un argumento\n" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: se esperaba una expresión entera\n" #~ msgid "before -lt" #~ msgstr "antes de -lt" #~ msgid "after -lt" #~ msgstr "después de -lt" #~ msgid "before -le" #~ msgstr "antes de -le" #~ msgid "after -le" #~ msgstr "después de -le" #~ msgid "before -gt" #~ msgstr "antes de -gt" #~ msgid "after -gt" #~ msgstr "después de -gt" #~ msgid "before -ge" #~ msgstr "antes de -ge" #~ msgid "after -ge" #~ msgstr "después de -ge" #~ msgid "before -ne" #~ msgstr "antes de -ne" #~ msgid "after -ne" #~ msgstr "después de -ne" #~ msgid "before -eq" #~ msgstr "antes de -eq" #~ msgid "after -eq" #~ msgstr "después de -eq" #~ msgid "after -t" #~ msgstr "después de -t" #~ msgid "too many arguments\n" #~ msgstr "demasiados argumentos\n" # En este texto de ayuda, para no estar repitiendo siempre "fecha/hora", he # decidido llamar simplemente "fecha" a la "combinación de la fecha y la hora". # (o sea, "time stamp" -> fecha) # Por el contexto, no creo que haya confusión. #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Actualiza la fecha de acceso y modificación de cada FICHERO a la\n" #~ "fecha actual.\n" #~ "\n" # Esto salió parecido en wdiff y hubo que pensarlo bastante... # # A mí me parece más que correcto, otra opción, aunque a mí no me gustan más: # "faltan ficheros como argumentos" -> no claro # "faltan argumentos de tipo fichero/FICHERO" uac # # Creo que exactamente esas dos posibilidades aparecen # en wdiff como "finalistas" :-) sv # #~ msgid "file arguments missing" #~ msgstr "faltan argumentos (ficheros)" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "secuencia de escape inválida `\\%c'" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "cuando se borra y se comprimen repeticiones se deben proporcionar dos " #~ "cadenas" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "cuando se comprimen repeticiones se debe especificar al menos una cadena" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "correspondencia inválida; cuando se traduce, cualquier construcción [:" #~ "lower] o\n" #~ "[:upper:] en la cadena1 debe de estar alineada con la correpondiente\n" #~ "construcción ([:upper:] o [:lower:], respectivamente) en cadena2" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Modo de empleo: %s [argumentos que no se tienen en cuenta]\n" #~ " o bien: %s OPCIÓN\n" #~ "Sale con un código de estado que indica éxito.\n" #~ "\n" #~ "Los nombres de estas opciones no se pueden abreviar:\n" #~ "\n" #~ msgid "only one argument may be specified" #~ msgstr "sólo se puede especificar un argumento" #~ msgid "tab size contains an invalid character" #~ msgstr "el tamaño de tabulación contiene un carácter inválido" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "la opción `-LISTA' está obsoleta; utilice `--first-only -t LISTA'" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "la opción `-%lu' está obsoleta; utilice `-f %lu'" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle añade el tiempo inactivo del usuario como\n" #~ " HORAS:MINUTOS, . o antiguo (obsoleto, use -u)\n" #~ " -l, --login muestra procesos de entrada en el sistema\n" #~ " (equivalente al -l de SUS)\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Atención: -i será eliminado en versiones futuras; utilice -u en su lugar" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: no se puede encontrar el nombre de usuario para el UID %u\n" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... FICHERO1 FICHERO2\n" #~ msgid "*** invalid date/time ***" #~ msgstr "*** fecha/hora inválida ***" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: se esperaba un `+' ó un `-' después del delimitador" #~ msgid "cannot change to parent of directory %s" #~ msgstr "no se puede cambiar al directorio padre de %s" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "cuando el valor inicial es mayor que el límite,\n" #~ "el incremento debe ser negativo" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "cuando el valor inicial es menor que el límite,\n" #~ "el incremento debe ser positivo" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Atención: el significado de `-l' cambiará en una versión futura para\n" #~ "estar de acuerdo con POSIX" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "En `-wNÚMERO' se puede omitir la letra `w'.\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=TAMAÑO muestra los primeros TAMAÑO bytes\n" #~ " -n, --lines=N muestra las N primeras líneas en vez de 10\n" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s es más grande que el tamaño máximo de fichero para este sistema" #~ msgid "program error" #~ msgstr "error del programa" #~ msgid "stack overflow" #~ msgstr "desbordamiento de pila" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: secuencia de escape inválida" #~ msgid "warning: unable to use large stack" #~ msgstr "atención: no se puede usar una pila grande" #~ msgid "missing file arguments" #~ msgstr "faltan argumentos (ficheros)" #~ msgid "cannot lstat `.'" #~ msgstr "no se puede efectuar `lstat' sobre `.'" # SIoNO #~ msgid "%s: remove directory %s? " #~ msgstr "%s: ¿borrar el directorio %s? (s/n) " # SIoNO #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "" #~ "%s: el directorio %s está protegido contra escritura;\n" #~ "¿descender en él, a pesar de todo? (s/n) " #~ msgid "removing all entries of directory %s\n" #~ msgstr "borrando todas las entradas del directorio %s\n" #~ msgid "directory %s was replaced before being removed" #~ msgstr "el directorio %s ha sido reemplazado antes de ser borrado" #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "no se puede volver al directorio %s a través de `..'" #~ msgid "subdirectory of %s was moved while being removed" #~ msgstr "un subdirectorio de %s fue movido mientras era borrado" # SIoNO #~ msgid "%s: remove directory %s%s? " #~ msgstr "%s: ¿borrar el directorio %s%s? (s/n) " #~ msgid " (might be nonempty)" #~ msgstr " (podría no estar vacío)" #~ msgid "removing the directory itself: %s\n" #~ msgstr "se borró el propio directorio: %s\n" #~ msgid "cannot remove current directory %s" #~ msgstr "no se puede borrar el directorio actual %s" # SIoNO #~ msgid "continue? " #~ msgstr "¿seguir? (s/n) " #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "ERROR: el fichero origen %s inicialmente tenía números de dispositivo/" #~ "nodo-i\n" #~ "%lu/%lu, pero ahora (después de abrirlo), los números son %lu/%lu.\n" #~ "Esto quiere decir que mientras este programa estaba funcionando, el " #~ "fichero\n" #~ "ha sido reemplazado por otro. Nos saltamos este fichero." # FIXME: ¿Por qué no "fork system call failed", como antes? #~ msgid "cannot fork" #~ msgstr "falló la llamada al sistema `fork'" #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "ERROR: el directorio %s inicialmente tenía números de dispositivo/nodo-i\n" #~ "%lu/%lu, pero ahora (después de un chdir dentro de él), los números para " #~ "`.'\n" #~ "son %lu/%lu. Esto quiere decir que mientras rm estaba funcionando,\n" #~ "el directorio ha sido reemplazado por otro directorio o por un enlace a " #~ "otro\n" #~ "directorio." # Esta traducción me ha sorprendido verla, creo que "changed" debería # traducirse como "ha cambiado". Además cuando estos mensajes "de # diagnóstico" aparecen, la operación ya se ha realizado... uac # # Si solamente fuera por el modo verbal empleado en el original, # estaría de acuerdo contigo. # Sin duda esto es un mensaje de "diagnóstico" o "verbose", y como tal # debe tratarse. # La cosa está en si esos mensajes deben decirnos "lo que va ocurriendo" # o "lo que ha ocurrido". En este mensaje concreto (no en general), me # parece más apropiado que el programa nos diga "lo que va ocurriendo" # y por eso utilizo el modo presente. # Tal vez tengo la impresión de que al original le falta un "is": # "group of %s is changed to %s". sv #~ msgid "group of %s changed to %s\n" #~ msgstr "el grupo de %s cambia a %s\n" # Normas de la casa: # "El programa hablará al usuario de usted y no de tú". sv #~ msgid "you are not a member of group `%s'" #~ msgstr "usted no es miembro del grupo `%s'" #~ msgid "%s: invalid group number" #~ msgstr "%s: número de grupo inválido" # Ya sé que no te gustará: "%s se cedió a " # o "el propietario de %s es ahora " tb # El segundo me gusta mucho más que el primero, pero a pesar de todo, prefiero # usar el verbo cambiar, decir "es ahora" no da a entender tan claramente # que se produce un cambio. sv # # A mí me gusta también "el propietario de %s es ahora", ¿por qué traducciones # tan literales, si se pueden poner de una forma corta y más clara? uac # # En este caso, "es ahora" es menos claro que "cambia a" # De la primera forma, te dice cómo queda pero te quedas con la duda # de si antes estaba también así o no. # Con "cambia a" te dice cómo queda y además sabes que antes estaba de otra # forma distinta. sv #~ msgid "owner of %s changed to " #~ msgstr "el propietario de %s cambia a " #~ msgid "cannot change permissions for %s" #~ msgstr "no se pueden cambiar los permisos de %s" #~ msgid "`%s' and `%s' are the same file" #~ msgstr "`%s' y `%s' son el mismo fichero" #~ msgid "cannot backup `%s'" #~ msgstr "no se puede respaldar `%s'" #~ msgid "cannot remove `%s'" #~ msgstr "no se puede borrar `%s'" # Nota: Asegurarse de que significa eso. # Probablemente quiera decir que "no se puede recuperar `%s'" de la copia # de seguridad. tb #~ msgid "cannot un-backup `%s'" #~ msgstr "no se puede restaurar `%s'" #~ msgid "invalid mode `%s'" #~ msgstr "modo inválido `%s'" #~ msgid "cannot create directory `%s'" #~ msgstr "no se puede crear el directorio `%s'" #~ msgid "cannot make fifo `%s'" #~ msgstr "No se puede crear el `fifo' `%s'" # El primer %s es "hardlink" o "symlink". # Mantengo el "de" y toco madera. #~ msgid "create %s %s to %s" #~ msgstr "crea %s de %s a %s" #~ msgid "link" #~ msgstr "enlace" #~ msgid "starting directory" #~ msgstr "directorio de comienzo" #~ msgid "%s -> %s (backup)\n" #~ msgstr "%s -> %s (copia de seguridad)\n" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... OBJETIVO [NOMBRE_DEL_ENLACE]\n" #~ " o bien: %s [OPCIÓN]... OBJETIVO... DIRECTORIO\n" #~ msgid "" #~ "Usage: %s [OPTION]... SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ msgstr "" #~ "Modo de empleo: %s [OPCIÓN]... ORIGEN DESTINO\n" #~ " o bien: %s [OPCIÓN]... ORIGEN... DIRECTORIO\n" #~ msgid "--no-dereference (-h) is not supported on this system" #~ msgstr "--no-dereference (-h) no está disponible en este sistema" #~ msgid "Usage: %s [OPTION]... EXISTING_DIR NEW_DIR\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... DIR_EXISTENTE NUEVO_DIR\n" #~ msgid "cannot rename `.' or `..'" #~ msgstr "no se puede renombrar `.' o `..'" # ¿ancestro? # # Sip :) Es la traducción. ipg # # Supongo que será un directorio que abarca a uno dado em+ # No sé como te las apaqanas aquí, pero lo de ancestro no lo dejes, porfa # # ¿Sugerencias? sv+ # ¿Qué es un ancestro? ¿Un predecesor? tb # Ni idea. sv # # ancestro es un familiar ascendiente en el árbol genealógico (recordad que # normalmente los árboles se dibujan de arriba hacia abajo) uac # # Si te digo la verdad, nunca me ha hecho gracia eso de que los árboles # crezcan hacia abajo... sv # # Aunque ancestro creo que no estará mal, antecesor estará igual de bien y # mucho más claro, ¿o no? uac # # Si no os han aclarado las ideas mis explicaciones, recordad cuando # utilizáis el NOTESCAPES para ftpear y veis: "upper directory"= ".." uac # # Bueno, esto sería el "directorio superior", lo cual indica que en # Netscape Communications Inc., los árboles también crecen al revés... :-) sv # # Bueno, vale. De momento lo cambio. Antes decía ancestro. #~ msgid "`%s' is an ancestor of `%s'" #~ msgstr "`%s' es un antecesor de `%s'" #~ msgid "%s is closed" #~ msgstr "%s está cerrado" #~ msgid "out of memory" #~ msgstr "memoria agotada" #~ msgid "%s: pass %lu/%lu (%s)...%lu/%lu K" #~ msgstr "%s: paso %lu/%lu (%s)...%lu/%lu K" #~ msgid "%s: pass %lu/%lu (%s)...%lu K" #~ msgstr "%s: paso %lu/%lu (%s)...%lu K" #~ msgid "%s: not a regular file; use -D to enable operations on devices" #~ msgstr "" #~ "%s: no es un fichero regular; utilice -D para activar las operaciones\n" #~ "sobre dispositivos" #~ msgid "%s: cannot shred read-only file descriptor" #~ msgstr "" #~ "%s: no se puede ejecutar shred sobre un descriptor de fichero de sólo " #~ "lectura" #~ msgid "%s: can't wipe stdout and print verbose messages to it" #~ msgstr "" #~ "%s: no se puede cepillar la salida estándar e imprimir mensajes " #~ "explicativos" #~ msgid "Can't fstat file `%s'" #~ msgstr "No se puede ejecutar fstat sobre el fichero `%s'" # Un fichero `sparse' es un fichero que contiene muchos ceros seguidos, y # que en algunos casos, el sistema operativo trata de forma especial. # ¿tiene traducción? # # Creo que finalmente me decidiré por traducirlo como "disperso". # (creo que Federico Rivas ya lo ha hecho así en tar). # Tal vez añadiendo el sparse al final, para que todo el mundo se entere. sv # O sea: tipo disperso (sparse). # De momento lo dejo en `sparse'. # FIXME. #~ msgid "sparse type" #~ msgstr "tipo `sparse'" # FIXME # Esto sería "tipo de ordenación", # pero como forma parte de un mensaje más largo que *no* # está todavía internacionalizado, para evitar que, por ejemplo # "ls --sort=ñ" dé como resultado "invalid tipo de ordenación `ñ'" # lo dejo de momento en inglés, para no mezclar. #~ msgid "sort type" #~ msgstr "sort type" # FIXME # Esto sería "tipo de formato", # pero como forma parte de un mensaje más largo que *no* # está todavía internacionalizado, para evitar que, por ejemplo, # "ls --format=ñ" dé como resultado "invalid tipo de formato `ñ'" # lo dejo de momento en inglés, para no mezclar. #~ msgid "format type" #~ msgstr "format type" # Del diccionario de María Moliner: # Colorear: Colorar. Teñir. Dar [Dar un] color a cierta cosa. # Coloración: Acción de colorear. #~ msgid "colorization criterion" #~ msgstr "criterio de coloración" # De este no estoy muy seguro. #~ msgid "indicator style" #~ msgstr "estilo de indicación" # De este tampoco... #~ msgid "quoting style" #~ msgstr "estilo de cita" # FIXME # o igual es hora, o tiempo, vaya usted a saber. Mirarlo bien. #~ msgid "time selector" #~ msgstr "selector de fecha" #~ msgid "" #~ "the option for counting 1MB blocks may not be used\n" #~ "with the portable output format" #~ msgstr "" #~ "la opción para contar bloques de 1MB no se puede usar\n" #~ "con el formato de salida portable" # ¿adaptive es adaptable? # ¿eh? # # Yo lo he mirado en el Collins y no está, por otra parte adaptable= adaptable # (inglis= castellano)... uac # # Una cosa creo que está clara, se refiere a las opciones para especificar # diferentes unidades de capacidad... y _creo_ que si pensamos en este sentido # la traducción no es muy coherente... al menos en castellano... uac # # Yo lo cambiaría a algo como: # "la opción para imprimir con unidades específicas no se puede usar..." uac # # Este tengo que pensarlo despacio. sv #~ msgid "" #~ "the option for printing with adaptive units may not be used\n" #~ "with the portable output format" #~ msgstr "" #~ "la opción para imprimir con unidades adaptables no se puede usar\n" #~ "con el formato de salida portable" #~ msgid "removing non-directory %s\n" #~ msgstr "se borró el no directorio %s\n" # ¿Tal vez la interrogación de apertura va justo después de la coma? ipg # # Excelente pregunta. Esto parece el referéndum de la OTAN: # Creo que el programa nos pregunta si queremos reemplazar un fichero # por otro, para que contestemos que sí o que no. # Al mismo tiempo, nos advierte de que, de llevarse a cabo el reemplazo # de un fichero por otro, también el modo resultaría sustituído. # # Si esto es así, ¿dónde habría que poner la interrogación? # O incluso: ¿Está bien el original? # # Creo que tal y como está, está bien. sv # SIoNO # #~ msgid "%s: replace `%s', overriding mode %04o? " #~ msgstr "%s: ¿reemplazar `%s', sustituyendo el modo %04o? (s/n) " # Yo no traduciría "regular file" literalmente... a mi entender en el Collins # salen acepciones mucho mejores, como: # fichero normal # fichero corriente # y esta que me la invento yo: fichero genérico. uac # # ¿Y una expresión regular? sv # # Aunque a decir verdad, eso de "normal" no me parece mal del todo, # habrá que pensarlo seriamente. sv # FIXME. #~ msgid "cannot move `%s' across filesystems: Not a regular file" #~ msgstr "" #~ "no se puede mover `%s' de un sistema de ficheros a otro:\n" #~ "No es un fichero regular" #~ msgid "Usage: %s [OPTION]... GROUP FILE...\n" #~ msgstr "Modo de empleo: %s [OPCIÓN]... GRUPO FICHERO...\n" # Este overriding no es como el de "mv". # ¿Tal vez el original no tiene sentido? # (lo digo porque para borrar, el modo que importa es el del directorio, # donde está lo que se va a borrar) # # overriding es pasar por alto em # # En general no, solamente en este caso. # ¿Quieres decir que sugieres poner # "..., pasando por alto el modo %04o"? sv+ # #~ msgid "%s: remove %s`%s', overriding mode %04o? " #~ msgstr "%s: ¿borrar %s`%s', sustituyendo el modo %04o? (s/n) " # Este tendré que estudiarlo más. # De momento lo dejo así. # SIoNO #~ msgid "%s: descend directory `%s', overriding mode %04o? " #~ msgstr "" #~ "%s: ¿descender al directorio `%s', sustituyendo el modo %04o? (s/n) " # SIoNO #~ msgid "%s: remove directory `%s' (might be nonempty)? " #~ msgstr "%s: ¿borrar el directorio `%s'? (podría no estar vacío) (s/n) " # [ Antes decía "...el punto de montaje para %s" ] # No me gusta punto "de montaje". ¿Sugerencias? # # Como se monta en un directorio, se podría decir `directorio de montaje' # De todas maneras, punto de montaje no queda tan mal ... :) ipg # # Esta es dura, nunca se me ocurrió pensar que habría que traducirlo # un día. ... ¿Qué tal ... "lugar para montar" o "directorio en # el que montar"? em # # Algo mejor. Pero no estoy seguro. Tengo que pensarlo. sv # # "No se puede encontrar el sitio para montar %s" Sólo es una # sugerencia más. tb # # La conservaremos. # ¿Más candidatos? sv # # ¿`punto de montaje de %s'? ipg # # Bien, este es uno de esos casos en los que uno decide salirse # por la tangente. Espero que os guste así. # Razones: El "punto" de montaje es siempre un directorio (¿o no?). # Llamarle "punto" es emplear un lenguaje algo oscuro. # Si alguien sabe de algún caso en el que el punto de montaje no sea # un directorio, por favor que lo diga. sv #~ msgid "cannot find mount point for %s" #~ msgstr "no se puede encontrar el directorio para montar %s" #~ msgid "USER" #~ msgstr "USUARIO" # ¿Qué es eso de MESG? Si se refiere a si la tty acepta mensajes # (orden mesg), ¿no habría que traducir MENS " o algo así? Porque # "mensaje" en español no tiene ninguna G.erardo # Ni idea. Investigarlo. sv # Lo investigo por ti: un "who --help; who -H -T" te dará la # pista. Estoy en lo correcto. Cámbialo. gerardo # Efectivamente, who -H -T es muy esclarecedor. # Pero no me acaba de convencer. Ese MESG no es necesariamente MENSAJES. # Yo lo veo como una variable llamada MESG que puede tener dos valores # distintos, "y" y "n", y que se cambia con la orden mesg. # ¿Opiniones? #~ msgid "MESG " #~ msgstr "MESG " #~ msgid "LOGIN-TIME " #~ msgstr "HORA DE CONEXIÓN " #~ msgid "FROM\n" #~ msgstr "DESDE\n" # ¿Por qué no traducís "virtual"? gerardo # Porque creo que el original está mal... # Hoy en día todo es virtual... # Me recuerda los viejos tiempos en los que había memoria convencional, # extendida, expandida, superior... # # ¿Viejos tiempos? Hay muchíiisima gente con el maldito M$-DOG aún, y # las BIOS siguen diciendo lo de "640 k" de memoria convencional, # aunque tengas 64 MB. # # Me estás dando la razón. ¿Es que no pretendemos alejarnos de todo eso? # (Tengo entendido que Linux pasa de la BIOS todo lo que puede). sv # # Francamente, prefiero pensar en que un programa intenta un malloc(), # y si no lo consigue, entonces es que se ha agotado la memoria, así # sin más. ¿qué opinas? sv # # Bueno, no es que esté mal, pero cuando el autor pone "virtual", se # podría dejar, y tampoco estaría mal. Sí, no me recuerdes lo del # ASCII :-) gerardo # ¡Es verdad! :-) # De todas formas esto habría que preguntárselo al gran jefe de GNU (RMS). #~ msgid "virtual memory exhausted" #~ msgstr "memoria agotada" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "\n" #~ "En vez de `-t N' ó `-t LISTA' puede usarse -N ó -LISTA.\n" # ¿Qué tal dejar bien claro que "...en vez de 10 por defecto." aunque no # ^^^^^^^^^^^ # esté en la versión english? # #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ "If -VALUE is used as first OPTION, read -c VALUE when one of\n" #~ "multipliers bkm follows concatenated, else read -n VALUE.\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO puede tener un sufijo: `b' para 512, `k' para 1K, `m' para 1 " #~ "Megabyte.\n" #~ "Se se utiliza -VALOR como primera OPCIÓN, se entiende como -c VALOR si " #~ "va\n" #~ "seguido por uno de los multiplicadores `b', `k' ó `m', si no, se " #~ "entiende\n" #~ "como -n VALOR.\n" #~ msgid "" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolete\n" #~ msgstr "" #~ " +POS1 [-POS2] comienza una clave en POS1 y la termina antes\n" #~ " de POS2. Atención: esta opción está obsoleta\n" #~ msgid "" #~ "A first OPTION of -VALUE\n" #~ "is treated like -n VALUE unless VALUE has one of the [bkm] suffix\n" #~ "multipliers, in which case it is treated like -c VALUE.\n" #~ msgstr "" #~ "Si la primera\n" #~ "OPCIÓN es -VALOR se trata como si fuese -n VALOR, a menos que VALOR " #~ "tenga\n" #~ "uno de los sufijos mencionados (bkm), en cuyo caso se trata como -c " #~ "VALOR.\n" #~ msgid "" #~ "A first option of +VALUE is treated like -+VALUE, but this usage is " #~ "obsolete\n" #~ "and support for it will be withdrawn.\n" #~ "\n" #~ msgstr "" #~ "Si la primera opción es +VALOR se trata como -+VALOR, pero este uso\n" #~ "está obsoleto, y su soporte desaparecerá.\n" #~ msgid "" #~ "specified number of bytes `%s' is larger than the maximum\n" #~ "representable value of type `long'" #~ msgstr "" #~ "el número especificado de bytes `%s' es más grande que el valor máximo\n" #~ "representable de tipo `long'" #~ msgid "" #~ "when using the old-style +POS and -POS key specifiers,\n" #~ "the +POS specifier must come first" #~ msgstr "" #~ "cuando se utiliza el estilo de parámetros antiguo con +POS y -POS,\n" #~ "el primero de ellos debe ser +POS" #~ msgid "" #~ "the starting field number argument to the `-k' option must be positive" #~ msgstr "" #~ "el número que especifica el primer campo en la opción `-k' debe\n" #~ "ser positivo" #~ msgid "starting field spec has `.' but lacks following character offset" #~ msgstr "" #~ "la especificación del campo de comienzo tiene `.' pero carece de número " #~ "de\n" #~ "desplazamiento de caracteres" #~ msgid "" #~ "starting field character offset argument to the `-k' option\n" #~ "must be positive" #~ msgstr "" #~ "el argumento de desplazamiento del campo de comienzo para la opción `-k'\n" #~ "debe ser positivo." #~ msgid "field specification has `,' but lacks following field spec" #~ msgstr "" #~ "la especificación de campo tiene `,' pero no constan a continuación las\n" #~ "especificaciones del campo" #~ msgid "ending field number argument to the `-k' option must be positive" #~ msgstr "el número de campo final para la opción `-k' debe ser positivo" # Ídem. ipg #~ msgid "ending field spec has `.' but lacks following character offset" #~ msgstr "" #~ "la especificación del campo de final tiene `.' pero no le sigue un\n" #~ "desplazamiento de caracteres" #~ msgid "%s: cannot follow end of non-regular file" #~ msgstr "%s: no se puede localizar el final de un fichero no regular" #~ msgid "could not find loop" #~ msgstr "no se puede encontrar un bucle" #~ msgid "`%s' has reappeared" #~ msgstr "`%s' ha reaparecido" #~ msgid "`-w PAGE_WIDTH' invalid column number: `%s'" #~ msgstr "`-w ANCHO_PÁGINA' el número de columna no es válido: `%s'" #~ msgid "%s: extra characters in the argument to the `-%c' option: `%s'\n" #~ msgstr "%s: sobran caracteres en el argumento de la opción `-%c' : `%s'\n" dc3dd-7.1.614/po/gl.po0000644000175000017500000132514111233346647014037 0ustar amedicoamedico# Galician translation of the GNU textutils. # Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. # Jacobo Tarrio , 2000, 2001, 2002. # msgid "" msgstr "" "Project-Id-Version: textutils 2.0.22\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2002-07-23 03:07+0200\n" "Last-Translator: Jacobo Tarrio \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin e David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "non se pode crea-lo directorio %s" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Escriba \"%s --help\" para máis información.\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [FICHEIRO]...\n" " ou: %s [OPCIÓN]\n" #: src/dc3dd.c:1099 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" #: src/dc3dd.c:1107 msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s existe pero non é un directorio" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Erro do sistema descoñecido" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, fuzzy, c-format msgid "closing input file %s" msgstr "creando ficheiro \"%s\"\n" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "pechando o ficheiro de saída %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Esgotáronse os sufixos de ficheiros de saída" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, fuzzy, c-format msgid "opening %s" msgstr "erro lendo %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "FALLA" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "opción descoñecida \"-%c\"" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "anchura non válida: \"%s\"" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "argumento incorrecto %s para %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "argumento incorrecto %s para %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "argumento incorrecto %s para %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "opción de anchura non válida: \"%s\"" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "número non válido ao comezo do campo" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "grupo incorrecto" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "usuario incorrecto" #: src/dc3dd.c:2913 #, fuzzy, c-format msgid "invalid number %s" msgstr "número incorrecto" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "non se pode move-lo punteiro do ficheiro de %s" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "erro lendo %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: non se pode borrar" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "aviso: ancho %lu incorrecto; usando %d na súa vez" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "establecendo a data de %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "non se pode crea-lo directorio %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "non se pode crea-lo directorio %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, fuzzy, c-format msgid "writing to %s" msgstr "erro escribindo %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dc3dd.c:3907 msgid "standard input" msgstr "entrada estándar" #: src/dc3dd.c:3938 msgid "standard output" msgstr "saída estándar" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, fuzzy, c-format msgid "cannot fstat %s" msgstr "non se poden cambia-los permisos de `%s'" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "avanzando os pasados %s bytes no ficheiro de saída %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "rexistro truncado" #~ msgstr[1] "rexistro truncado" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "non se poden omiti-lo usuario e o grupo" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "As cadeas que se compararon foron %s e %s" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "aviso: ancho %lu incorrecto; usando %d na súa vez" #~ msgid "error writing %s" #~ msgstr "erro escribindo %s" #~ msgid "invalid argument %s for %s" #~ msgstr "argumento incorrecto %s para %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "argumento %s ambiguo para %s" #~ msgid "Valid arguments are:" #~ msgstr "Os parámetros correctos son:" #, fuzzy #~ msgid "error closing file" #~ msgstr "volcando o ficheiro" #~ msgid "write error" #~ msgstr "erro de escritura" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "cannot stat %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #~ msgid "regular empty file" #~ msgstr "ficheiro normal baleiro" #~ msgid "regular file" #~ msgstr "ficheiro normal" #~ msgid "directory" #~ msgstr "directorio" #~ msgid "block special file" #~ msgstr "ficheiro especial de bloque" #~ msgid "character special file" #~ msgstr "ficheiro especial de carácter" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "ligazón simbólica" #~ msgid "socket" #~ msgstr "socket" #~ msgid "message queue" #~ msgstr "cola de mensaxes" #~ msgid "semaphore" #~ msgstr "semáforo" #~ msgid "shared memory object" #~ msgstr "obxecto de memoria compartida" #, fuzzy #~ msgid "typed memory object" #~ msgstr "obxecto de memoria compartida" #~ msgid "weird file" #~ msgstr "ficheiro estraño" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "os ficheiros \"fifo\" non están soportados" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "os ficheiros \"fifo\" non están soportados" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "os ficheiros \"fifo\" non están soportados" #, fuzzy #~ msgid "System error" #~ msgstr "erro de escritura" #, fuzzy #~ msgid "Unknown error" #~ msgstr "Erro do sistema descoñecido" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: a opción \"%s\" é ambigua\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: a opción \"--%s\" non permite un argumento\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: a opción \"%c%s\" precisa dun argumento\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: a opción \"%s\" precisa dun argumento\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: opción descoñecida \"--%s\"\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: opción descoñecida \"%c%s\"\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opción incorrecta -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: opción incorrecta -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: a opción precisa dun argumento -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: a opción \"-W %s\" é ambigua\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: a opción \"-W %s\" non permite un argumento\n" #~ msgid "cannot change permissions of %s" #~ msgstr "non se pode cambia-los permisos de %s" #~ msgid "cannot create directory %s" #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "memory exhausted" #~ msgstr "memoria esgotada" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "`" #~ msgstr "\"" #~ msgid "'" #~ msgstr "\"" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: erro de lectura" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: expresión regular incorrecta: %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "clase de caracteres \"%s\" incorrecta" #~ msgid "Memory exhausted" #~ msgstr "Memoria esgotada" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: expresión regular incorrecta: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "erro ao buscar por expresións regulares" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "erro ao buscar por expresións regulares" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "erro ao buscar por expresións regulares" #~ msgid "^[yY]" #~ msgstr "^[sSyY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #, fuzzy #~ msgid "setting permissions for %s" #~ msgstr "non se pode cambia-los permisos de %s" #~ msgid "iconv function not usable" #~ msgstr "a función iconv non é utilizable" #~ msgid "iconv function not available" #~ msgstr "a función iconv non está dispoñible" #~ msgid "character out of range" #~ msgstr "carácter fóra de rango" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "non se pode converter U+%04X ao xogo de caracteres local" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "non se pode converter U+%04X ao xogo de caracteres local: %s" #~ msgid "invalid user" #~ msgstr "usuario incorrecto" #~ msgid "invalid group" #~ msgstr "grupo incorrecto" #, fuzzy #~ msgid "invalid spec" #~ msgstr "usuario incorrecto" #~ msgid "Written by %s.\n" #~ msgstr "Escrito por %s.\n" #, fuzzy #~ msgid "Written by %s and %s.\n" #~ msgstr "Escrito por %s.\n" #, fuzzy #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Escrito por %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "Escrito por %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "Escrito por %s.\n" #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "argumento incorrecto %s para %s" #~ msgid "string comparison failed" #~ msgstr "a comparación de cadeas fallou" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Estabreza LC_ALL='C' para palia-lo problema" #~ msgid "The strings compared were %s and %s." #~ msgstr "As cadeas que se compararon foron %s e %s" #, fuzzy #~ msgid "string transformation failed" #~ msgstr "a comparación de cadeas fallou" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "argumento incorrecto %s para %s" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "incremento de números de liña incorrecto: \"%s\"" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: conta \"%.*s\" grande de máis" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Sen FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #~ msgid "read error" #~ msgstr "erro de lectura" #, fuzzy #~ msgid "invalid input" #~ msgstr "número incorrecto" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "cadea de tipo incorrecta \"%s\"" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "operando \"%s\" extra" #, fuzzy #~ msgid "closing standard input" #~ msgstr "entrada estándar" #, fuzzy #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Imprimir NOME quitando tódolos compoñentes de directorios.\n" #~ "Se se indica, quitar tamén o SUFIXO final.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "missing operand" #~ msgstr "%s: esperábase un enteiro tras \"%c\"" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjorn Grandlund e Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Concatenar FICHEIRO(s), ou a entrada estándar, na saída estándar.\n" #~ "\n" #~ " -A, --show-all equivalente a -vET\n" #~ " -b, --number-nonblank numera-las liñas de saída non baleiras\n" #~ " -e equivalente a -vE\n" #~ " -E, --show-ends amosar $ ao final de cada liña\n" #~ " -n, --number numerar tódalas liñas de saída\n" #~ " -s, --squeeze-blank nunca máis dunha soa liña en branco\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t equivalente a -vT\n" #~ " -T, --show-tabs amosa-los caracteres TAB coma ^I\n" #~ " -u (ignorado)\n" #~ " -v, --show-nonprinting usar notación de ^ e M-, excepto en LFD e TAB\n" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "non se poden facer operacións de ioctl en \"%s\"" #~ msgid "%s: input file is output file" #~ msgstr "%s: o ficheiro de entrada é o mesmo que o de saída" #, fuzzy #~ msgid "Jim Meyering" #~ msgstr "Mike Haertel e Paul Eggert" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "obtendo os atributos de %s" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "obtendo os atributos de %s" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "cannot access %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #, fuzzy #~ msgid "cannot read directory %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "fts_read failed" #~ msgstr "erro de lectura" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO INCREMENTO ÚLTIMO\n" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "%s: esperábase un enteiro tras \"%c\"" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "opción de anchura non válida: \"%s\"" #, fuzzy #~ msgid "failed to get attributes of %s" #~ msgstr "obtendo os atributos de %s" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "grupo incorrecto" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #~ " ou: %s --traditional [FICHEIRO] [[+]DESPRAZAMENTO [[+]ETIQUETA]]\n" #~ msgid "getting new attributes of %s" #~ msgstr "obtendo os novos atributos de %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "non se mudou a ligazón simbólica %s nin o ficheiro referido\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "o modo de %s mudou a %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "non foi posible muda-lo modo de %s a %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "o modo de %s mantense como %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "changing permissions of %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO INCREMENTO ÚLTIMO\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "Muda o modo de cada FICHEIRO a MODO.\n" #~ "\n" #~ " -c, --changes coma `verbose' mais informando só dos cambios\n" #~ " -f, --silent, --quiet suprimi-la maioría das mensaxes de erro\n" #~ " -v, --verbose amosar unha mensaxe por cada ficheiro " #~ "procesado\n" #~ " --reference=FICH-R usa-lo modo de FICH-R en vez do valor MODO\n" #~ " -R, --recursive mudar ficheiros e directorios recursivamente\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Cada MODO é unha ou máis das letras ugoa, un dos símbolos +-= e unha ou " #~ "máis\n" #~ "das letras rwxXstugo.\n" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "anchura non válida: \"%s\"" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "mudouse o dono de %s a %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "mudouse o grupo de %s a %s\n" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "mudando o dono de %s" #, fuzzy #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "non se pode cambia-los permisos de %s" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "non foi posible mudar o grupo de %s a %s\n" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "non se pode cambia-los permisos de %s" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "mantense o dono de %s como %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "mantense o grupo de %s como %s\n" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "mantense o dono de %s como %s\n" #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #~ msgid "changing ownership of %s" #~ msgstr "mudando o dono de %s" #, fuzzy #~ msgid "changing group of %s" #~ msgstr "non se pode cambia-lo propietario e/ou grupo de %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #~ " ou: %s --traditional [FICHEIRO] [[+]DESPRAZAMENTO [[+]ETIQUETA]]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "O dono non se altera se non existe. O grupo non se altera se non " #~ "existe,\n" #~ "mais cámbiase ao grupo de login se está implícito con `:'. O DONO e o " #~ "GRUPO\n" #~ "poden ser numéricos ou simbólicos.\n" #, fuzzy #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "cannot change root directory to %s" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "cannot chdir to root directory" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "cannot run command %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #~ msgid "%s: file too long" #~ msgstr "%s: ficheiro longo de máis" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Amosa-la suma de comprobación CRC e o número de bytes de cada FICHEIRO.\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman e David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Uso: %s [OPCIÓN]... FICHEIRO1 FICHEIRO2\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "Compara os ficheiros ordeados FICHEIRO_ESQUERDO e FICHEIRO_DEREITO liña a " #~ "liña.\n" #~ "\n" #~ " -1 elimina-las liñas que só aparezan no ficheiro esquerdo\n" #~ " -2 elimina-las liñas que só aparezan no ficheiro dereito\n" #~ " -3 elimina-las liñas que só aparezan nalgún dos ficheiros\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "failed to preserve ownership for %s" #~ msgstr "mantense o dono de %s" #, fuzzy #~ msgid "failed to lookup file %s" #~ msgstr "mantense a data de %s" #, fuzzy #~ msgid "failed to preserve authorship for %s" #~ msgstr "mantense o dono de %s" #~ msgid "cannot open %s for reading" #~ msgstr "non se pode abrir %s para lectura" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "non foi posible mudar o grupo de %s a %s\n" #, fuzzy #~ msgid "cannot remove %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #, fuzzy #~ msgid "removed %s\n" #~ msgstr "borrando %s\n" #, fuzzy #~ msgid "cannot create regular file %s" #~ msgstr "non se pode crea-lo ficheiro temporal" #, fuzzy #~ msgid "cannot lseek %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #, fuzzy #~ msgid "writing %s" #~ msgstr "erro escribindo %s" #~ msgid "preserving times for %s" #~ msgstr "mantense a data de %s" #, fuzzy #~ msgid "closing %s" #~ msgstr "pechando %s (fd=%d)" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: ¿sobrescribir %s, ignorando o modo %04lo? " #, fuzzy #~ msgid "%s: overwrite %s? " #~ msgstr "%s: erro de escritura" #~ msgid " (backup: %s)" #~ msgstr " (copia de seguridade: %s)" #, fuzzy #~ msgid "omitting directory %s" #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "%s and %s are the same file" #~ msgstr "%s e %s son o mesmo ficheiro" #, fuzzy #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "non se pode sobrescribir o non-directorio %s co directorio %s" #, fuzzy #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "non se pode cambiar ao directorio %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "facer copia de seguridade de %s destruiría a orixe; %s non movido" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "facer copia de seguridade de %s destruiría a orixe; %s non copiado" #, fuzzy #~ msgid "cannot backup %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "non se pode sobrescribir o non-directorio %s co directorio %s" #, fuzzy #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "will not create hard link %s to directory %s" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "cannot create hard link %s to %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "cannot move %s to %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "obtendo os atributos de %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "non se pode copia-la ligazón simbólica cíclica %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: só se poden facer ligazóns simbólicas relativas no directorio actual" #, fuzzy #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot create fifo %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot create special file %s" #~ msgstr "ficheiro especial de carácter" #, fuzzy #~ msgid "cannot read symbolic link %s" #~ msgstr "ligazón simbólica" #, fuzzy #~ msgid "cannot create symbolic link %s" #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "%s has unknown file type" #~ msgstr "%s é un tipo de ficheiro descoñecido" #, fuzzy #~ msgid "cannot un-backup %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (restaurado da copia de seguridade)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO INCREMENTO ÚLTIMO\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Os argumentos obrigatorios nas opcións longas tamén o son nas opcións " #~ "curtas.\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=CANDO controla-la creación de ficheiros con " #~ "ocos\n" #~ " -R, --recursive copia-los directorios recursivamente\n" #~ " --strip-trailing-slashes quita-la barra final dos argumentos de " #~ "ORIXE\n" #~ " -s, --symbolic-link facer ligazóns simbólicas en vez de " #~ "copiar\n" #~ " -S, --suffix=SUFIXO substituí-lo sufixo habitual da copia de\n" #~ " seguridade\n" #~ " --target-directory=DIRECTORIO mover tódolos argumentos ORIXE ao\n" #~ " DIRECTORIO\n" #~ " -u, --update copiar só se o ficheiro ORIXE é máis novo\n" #~ " que o ficheiro de destino, ou se este\n" #~ " non existe\n" #~ " -v, --verbose explica-lo que está a se facer\n" #~ " -x, --one-file-system manterse neste sistema de ficheiros\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Por omisión, os ficheiros ORIXE con ocos son detectados por unha " #~ "heurística\n" #~ "ruda e o ficheiro DESTINO correspondente créase tamén con ocos. Este é\n" #~ "o comportamento escollido por --sparse=auto. Indique --sparse=always " #~ "para\n" #~ "crear un ficheiro DESTINO con ocos se o ficheiro ORIXE contén unha\n" #~ "sucesión de bytes cero longa de abondo. Utilice --sparse=never para\n" #~ "inhibi-la creación de ficheiros con ocos.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ "Renomea ORIXE a DESTINO, ou mover ORIXE(s) a DIRECTORIO.\n" #~ "\n" #~ " --backup[=CONTROL] facer unha copia de seguridade de cada " #~ "ficheiro\n" #~ " destino\n" #~ " -b como --backup mais sen aceptar argumentos\n" #~ " -f, --force non preguntar antes de sobrescribir\n" #~ " -i, --interactive preguntar antes de sobrescribir\n" #~ " --strip-trailing-slashes elimina-las barras finais de tódolos\n" #~ " argumentos ORIXE\n" #~ " -S, --suffix=SUFIXO substituí-lo sufixo habitual de copia de\n" #~ " seguridade\n" #~ " --target-directory=DIRECTORIO mover tódolos argumentos ORIXE ao\n" #~ " DIRECTORIO\n" #~ " -u, --update mover só os non-directorios máis antigos " #~ "ou\n" #~ " os recentes\n" #~ " -v, --verbose explica-lo que está a se facer\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ " --sparse=CANDO controla-la creación de ficheiros con " #~ "ocos\n" #~ " -R, --recursive copia-los directorios recursivamente\n" #~ " --strip-trailing-slashes quita-la barra final dos argumentos de " #~ "ORIXE\n" #~ " -s, --symbolic-link facer ligazóns simbólicas en vez de " #~ "copiar\n" #~ " -S, --suffix=SUFIXO substituí-lo sufixo habitual da copia de\n" #~ " seguridade\n" #~ " --target-directory=DIRECTORIO mover tódolos argumentos ORIXE ao\n" #~ " DIRECTORIO\n" #~ " -u, --update copiar só se o ficheiro ORIXE é máis novo\n" #~ " que o ficheiro de destino, ou se este\n" #~ " non existe\n" #~ " -v, --verbose explica-lo que está a se facer\n" #~ " -x, --one-file-system manterse neste sistema de ficheiros\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Por omisión, os ficheiros ORIXE con ocos son detectados por unha " #~ "heurística\n" #~ "ruda e o ficheiro DESTINO correspondente créase tamén con ocos. Este é\n" #~ "o comportamento escollido por --sparse=auto. Indique --sparse=always " #~ "para\n" #~ "crear un ficheiro DESTINO con ocos se o ficheiro ORIXE contén unha\n" #~ "sucesión de bytes cero longa de abondo. Utilice --sparse=never para\n" #~ "inhibi-la creación de ficheiros con ocos.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "O sufixo de copia de seguridade é `~', a menos que se estableza con --" #~ "suffix\n" #~ "ou con SIMPLE_BACKUP_SUFFIX. O método do control de versión pode ser\n" #~ "establecido coa opción --backup ou coa variable de ambiente " #~ "VERSION_CONTROL.\n" #~ "Os valores poden ser:\n" #~ "\n" #~ " none, off non facer nunca copias de seguridade (mesmo con --" #~ "backup)\n" #~ " numbered, t facer copias de seguridade numeradas\n" #~ " existing, nil copias numeradas se xa existen numeradas, se non " #~ "simples\n" #~ " simple, never facer sempre copias de seguridade simples\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ "O sufixo de copia de seguridade é `~', a menos que se estableza con --" #~ "suffix\n" #~ "ou con SIMPLE_BACKUP_SUFFIX. O método do control de versión pode ser\n" #~ "establecido coa opción --backup ou coa variable de ambiente " #~ "VERSION_CONTROL.\n" #~ "Os valores poden ser:\n" #~ "\n" #~ " none, off non facer nunca copias de seguridade (mesmo con --" #~ "backup)\n" #~ " numbered, t facer copias de seguridade numeradas\n" #~ " existing, nil copias numeradas se xa existen numeradas, se non " #~ "simples\n" #~ " simple, never facer sempre copias de seguridade simples\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Como caso especial, o cp fai unha copia de seguridad da ORIXE cando se " #~ "usan\n" #~ "as opcións `force' e `backup', e ORIXE e DESTINO teñen o mesmo nome que " #~ "un\n" #~ "ficheiro regular xa existente.\n" #, fuzzy #~ msgid "failed to preserve times for %s" #~ msgstr "mantense a data de %s" #, fuzzy #~ msgid "failed to preserve permissions for %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "cannot make directory %s" #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s existe pero non é un directorio" #~ msgid "accessing %s" #~ msgstr "accediendo a %s" #, fuzzy #~ msgid "missing file operand" #~ msgstr "argumento de salto" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "lista de campos non atopada" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "%s existe pero non é un directorio" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "ao manter os camiños de acceso, o destino ten que ser un directorio" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "\\%c: secuencia de escape non válida" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "non se poden facer ligazóns duras e simbólicas ao mesmo tempo" #~ msgid "backup type" #~ msgstr "tipo de copia de seguridade" #~ msgid "input disappeared" #~ msgstr "a entrada desapareceu" #~ msgid "%s: line number out of range" #~ msgstr "%s: número de liña inexistente" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: \"%s\": número de liña fóra do seu rango" #, fuzzy #~ msgid " on repetition %s\n" #~ msgstr " na repetición %d\n" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: \"%s\": non se atopou nada que coincidira" #~ msgid "error in regular expression search" #~ msgstr "erro ao buscar por expresións regulares" #, fuzzy #~ msgid "write error for %s" #~ msgstr "erro de escritura en \"%s\"" #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: esperábase un enteiro tras \"%c\"" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: fai falla un \"}\" no número de repeticións" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: fai falla un enteiro entre \"{\" e \"}\"" #, fuzzy #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: delimitador de peche \"%c\" non atopado" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: expresión regular incorrecta: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: patrón incorrecto" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: o número de liña debe ser maior que cero" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "o número de liña \"%s\" é menor que o número de liña anterior, %s" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "" #~ "aviso: o número de liña \"%s\" é o mesmo que o número de liña anterior" #, fuzzy #~ msgid "invalid format width" #~ msgstr "argumento incorrecto %s para %s" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "cadea de tipo incorrecta \"%s\"" #~ msgid "missing conversion specifier in suffix" #~ msgstr "especificador de conversión non atopado no sufixo" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "especificador de conversión do sufixo incorrecto: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "especificador de conversión do sufixo incorrecto: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "demasiadas especificacións de conversión %% no sufixo" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "especificación de conversión %% non atopada no sufixo" #~ msgid "%s: invalid number" #~ msgstr "%s: número incorrecto" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Uso: %s [OPCIÓN]... FICHEIRO PATRÓN...\n" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Gravar anacos do FICHEIRO separadas polos PATRÓNs nos ficheiros \"xx01" #~ "\",\n" #~ "\"xx02\", ..., e amosa-lo número de bytes de cada anaco na saída " #~ "estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMATO emprega-lo FORMATO de sprintf no canto de %" #~ "d\n" #~ " -f, --prefix=PREFIXO emprega-lo PREFIXO no canto de \"xx\"\n" #~ " -k, --keep-files non elimina-los ficheiros de saída se hai " #~ "erros\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=CIFRAS usa-lo número de cifras indicado no canto " #~ "de 2\n" #~ " -s, --quite, --silent non amosa-los tamaños dos ficheiros de " #~ "saída\n" #~ " -z, --elide-empty-files elimina-los ficheiros de saída baleiros\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Lese da entrada estándar se o FICHEIRO é -. Cada PATRÓN pode ser:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " ENTEIRO copiar ata o número de liña indicado, sen incluílo\n" #~ " /EXPREG/[DESPRAZ] copiar ata a liña que coincide, sen incluíla\n" #~ " %EXPREG%[DESPRAZ] saltar ata a liña que coincide, sen incluíla\n" #~ " {ENTEIRO} repeti-lo patrón anterior o número de veces " #~ "indicado\n" #~ " {*} repeti-lo patrón anterior tantas veces como se " #~ "poida\n" #~ "\n" #~ "Un DESPRAZamento de liña é un signo \"+\" ou \"-\" seguido por un enteiro " #~ "positivo.\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Amosar partes seleccionadas das liñas de cada FICHEIRO na saída " #~ "estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LISTA amosar só estes bytes\n" #~ " -c, --characters=LISTA amosar só estes caracteres\n" #~ " -d, --delimiter=DELIM emprega-lo DELIMitador no canto da tabulación\n" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LISTA amosar só estes campos; tamén amosa calquera " #~ "liña\n" #~ " que non conteña o carácter delimitador, agás " #~ "se\n" #~ " se indica a opción -s\n" #~ " -n (ignórase)\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited non amosa-las liñas que non conteñan " #~ "delimitadores\n" #~ " --output-delimiter=CADEA emprega-la CADEA coma delimitador de " #~ "saída\n" #~ " por defecto emprégase o delimitador de " #~ "entrada\n" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Empregue un e só un de -b, -c ou -f. Cada LISTA componse dun rango ou " #~ "varios\n" #~ "rangos separados por comas. Cada rango é un de:\n" #~ "\n" #~ " N N-ésimo byte, carácter ou campo, contado dende 1\n" #~ " N- do N-ésimo byte, carácter ou campo, ata a fin da liña\n" #~ " N-M do N-ésimo ao M-ésimo (inclusive) byte, carácter ou campo\n" #~ " -M do primeiro ao M-ésimo (inclusive) byte, carácter ou campo\n" #~ "\n" #~ "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #~ msgid "invalid byte or field list" #~ msgstr "lista de bytes ou campos non correcta" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "opción de anchura non válida: \"%s\"" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "cadea de tipo incorrecta \"%s\"" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "%s é grande de máis" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "o número do campo é cero" #~ msgid "only one type of list may be specified" #~ msgstr "só se pode indicar un tipo de lista" #~ msgid "the delimiter must be a single character" #~ msgstr "o delimitador debe ser un só carácter" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "debe especificarse unha lista de bytes, caracteres ou campos" #, fuzzy #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "só se pode especificar un delimitador cando se traballa con campos" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "elimina-las liñas sen delimitadores ten sentido\n" #~ "\tsó cando se traballa con campos" #~ msgid "missing list of fields" #~ msgstr "lista de campos non atopada" #~ msgid "missing list of positions" #~ msgstr "lista de posicións non atopada" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... [+FORMATO]\n" #~ " ou: %s [OPCIÓN] [MMDDhhmm[[SS]AA][.ss]]\n" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Amosa-la data actual no FORMATO indicado, ou establece-la data do " #~ "sistema.\n" #~ "\n" #~ " -d, --date=CADEA amosa-la data descrita por CADEA, non " #~ "`agora'\n" #~ " -f, --file=FICH_DATA coma --date, unha vez para cada liña en " #~ "FICH_DATA\n" #~ " -I, --iso-8601[=ESPDATA] escribir unha cadea de data/hora seguindo o\n" #~ " estándar ISO-8601. ESPDATA=`date' (ou sen " #~ "nada)\n" #~ " para que só o sexa a data, `hours', `minutes' " #~ "ou\n" #~ " `seconds' para a data e a hora coa precisión\n" #~ " indicada.\n" #~ " -r, --reference=FICH amosa-la última data de modificación de FICH\n" #~ " -R, --rfc-822 amosar unha cadea coa data seguindo o RFC-" #~ "822\n" #~ " -s, --set=CADEA establece-la data descrita por CADEA\n" #~ " -u, --utc, --universal escribir ou establece-la Hora Universal " #~ "Coordinada\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "\\%c: secuencia de escape non válida" #, fuzzy #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "as opcións --string e --check son mutuamente exclusivas" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "as opcións para imprimir e establece-la data non se poden usar xuntas" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "o argumento `%s' non ten un `+' ó comezo;\n" #~ "Cando se usa unha opción para especificar datas, tódolos\n" #~ "argumentos que non son opcións teñen que ser unha cadea\n" #~ "de formato comezando con `+'." #~ msgid "cannot set date" #~ msgstr "non se pode establece-la data" #, fuzzy #~ msgid "time %s is out of range" #~ msgstr "%s: número de liña inexistente" #, fuzzy #~ msgid "Filesystem Type" #~ msgstr "Sist. Fich " #, fuzzy #~ msgid "Filesystem " #~ msgstr "Sist. Fich " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inodos IUsados ILibres IUso%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Tamaño Usado Disp Uso%%" #, fuzzy #~ msgid " Size Used Avail Use%%" #~ msgstr " Tamaño Usado Disp Uso%%" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr "bloques-%4d Usado Dispoñib Capacid" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr "bloques-%4s Usado Dispoñib Uso%%" #~ msgid " Mounted on\n" #~ msgstr " Montado en\n" #, fuzzy #~ msgid "cannot get current directory" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot change to directory %s" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "cannot stat current directory (now %s)" #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "" #~ "o sistema de ficheiros tipo %s foi escollido e exluído ao mesmo tempo" #~ msgid "Warning: " #~ msgstr "Aviso: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%snon se pode le-la táboa cos sistemas de ficheiros montados" #, fuzzy #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Escribe os comandos para establece-la variable de ambiente LS_COLORS.\n" #~ "\n" #~ "Para axusta-lo formato de saída:\n" #~ " -b, --sh, --bourne-shell amosa-lo código para establecer LS_COLORS\n" #~ " para Bourne shell\n" #~ " -c, --csh, --c-shell amosa-lo código para establecer LS_COLORS\n" #~ " para C-shell\n" #~ " -p, --print-database amosa-los códigos predeterminados\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Se se indica FICHEIRO, lese para determinar que cores usar para cada " #~ "tipo\n" #~ "de ficheiros e extensións. Se non, úsase unha base de datos " #~ "precompilada.\n" #~ "Para máis detalles do formato destes ficheiros, execute `dircolors\n" #~ "--print-database'.\n" #, fuzzy #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s: número de segundos incorrecto" #, fuzzy #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s: opción descoñecida \"%c%s\"\n" #~ msgid "" #~ msgstr "" #, fuzzy #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "as opcións de estilos de saída lexible para humanos e para o\n" #~ "stty son mutuamente exluintes" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "non existe a variable de ambiente SHELL, e non se indicou ningunha " #~ "opción\n" #~ "de tipo de shell" #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Amosar NOME co seu /compoñente final quitado; se NOME non contén " #~ "ningún /,\n" #~ "escribirase `.' (o directorio actual).\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #~ " ou: %s --traditional [FICHEIRO] [[+]DESPRAZAMENTO [[+]ETIQUETA]]\n" #~ msgid "total" #~ msgstr "total" #, fuzzy #~ msgid "invalid maximum depth %s" #~ msgstr "anchura non válida: \"%s\"" #~ msgid "cannot both summarize and show all entries" #~ msgstr "non se pode resumir e amosar tódalas entradas ao mesmo tempo" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "aviso: resumir é o mesmo que usar --max-depth=0" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "aviso: resumir vai en conflicto con --max-depth=%d" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "As cadeas que se compararon foron %s e %s" #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "grupo incorrecto" #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Stallman e David MacKenzie" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Establecer cada NOME a VALOR no ambiente e executar COMANDO.\n" #~ "\n" #~ " -i, --ignore-environment comezar cun ambiente baleiro\n" #~ " -u, --unset=NOME quita-la variable do ambiente\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Converti-las tabulacións de cada FICHEIRO a espacios, gravando na saída\n" #~ "estándar. Sen un FICHEIRO, ou se o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial non converti-las tabulacións despois de algo " #~ "distinto\n" #~ " a un espacio en branco\n" #~ " -t, --tabs=NÚMERO face-las tabulacións de NÚMERO espacios, non 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LISTA empregar unha lista separada por comas de " #~ "posicións\n" #~ " de tabulación\n" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "%s é grande de máis" #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "o tamaño da tabulación contén un carácter incorrecto" #~ msgid "tab size cannot be 0" #~ msgstr "o tamaño da tabulación non pode ser 0" #~ msgid "tab sizes must be ascending" #~ msgstr "os tamaños das tabulacións deben ser crecentes" #, fuzzy #~ msgid "input line is too long" #~ msgstr "%s: ficheiro longo de máis" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Mike Haertel e Paul Eggert" #, fuzzy #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Teña en conta que moitos dos operadores necesitan caracteres de escape " #~ "ou\n" #~ "comiñas para as shells.\n" #~ "As comparacións son aritméticas se ambos ARGs son números, doutro xeito " #~ "serán\n" #~ "lexicográficas.\n" #~ "Os encaixes dos patróns devolven a cadea entre \\( e \\), ou nada; se " #~ "non\n" #~ "se usan \\( e \\), devólvese o número de caracteres coincidintes ou 0.\n" #, fuzzy #~ msgid "syntax error" #~ msgstr "erro estándar" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "erro ao buscar por expresións regulares" #, fuzzy #~ msgid "non-numeric argument" #~ msgstr "argumento de límite" #, fuzzy #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "Escribir factores de cada NÚMERO; sen argumentos lese da entrada " #~ "estándar.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ " Amosa-los factores primos de tódolos NÚMEROs enteiros indicados. Se non " #~ "se\n" #~ " indicaron argumentos na liña de comandos, lense da entrada estándar.\n" #~ msgid "%s is too large" #~ msgstr "%s é grande de máis" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "`%s' non é un enteiro positivo válido" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Uso: %s [-DIXITOS] [OPCIÓN]... [FICHEIRO]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Reformatar cada parágrafo nos FICHEIROs, escribindo na saída estándar.\n" #~ "Se non se indica un FICHEIRO ou se é \"-\", lese da entrada estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin preserva-lo sangrado das dúas primeiras " #~ "liñas\n" #~ " -p, --prefix=CADEA combinar só as liñas coa CADEA coma prefixo\n" #~ " -s, --splitonly parti-las liñas longas, pero non encher\n" #, fuzzy #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph sangría da primeira liña diferente da da " #~ "segunda\n" #~ " -u, --uniform-spacing un espacio entre palabras, dous tralas " #~ "frases\n" #~ " -w, --width=NÚMERO ancho de liña máximo (75 columnas por " #~ "defecto)\n" #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "anchura non válida: \"%s\"" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Parti-las liñas de entrada de cada FICHEIRO (entrada estándar por " #~ "defecto),\n" #~ "gravando na saída estándar.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes contar bytes no canto de columnas\n" #~ " -s, --spaces partir nos espacios\n" #~ " -w, --width=ANCHO empregar ANCHO columnas no canto de 80\n" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "número de columnas incorrecto: \"%s\"" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "non foi posible mudar o grupo de %s a %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "non foi posible mudar o grupo de %s a %s\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "non se pode cambia-lo propietario e/ou grupo de %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Uso: %s [OPCIÓN]... CONXUNTO1 [CONXUNTO2]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Non hai tal usuario" #, fuzzy #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Amosa-las primeiras 10 liñas de cada FICHEIRO na saída estándar.\n" #~ "Con máis dun FICHEIRO, preceder cada un cunha cabeceira que dá o nome do\n" #~ "ficheiro. Sen un FICHEIRO, ou cando este é -, lese da entrada estándar.\n" #~ "\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent non amosa-las cabeceiras cos nomes dos " #~ "ficheiros\n" #~ " -v, --verbose amosar sempre as cabeceiras cos nomes dos " #~ "ficheiros\n" #~ msgid "error reading %s" #~ msgstr "erro lendo %s" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "número de bytes a comparar non válido" #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: non se pode desprazar á posición relativa %s%s" #, fuzzy #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: non se pode desprazar á posición %s%s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "non se pode move-lo punteiro do ficheiro de %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s é tan grande que non é representable" #~ msgid "number of lines" #~ msgstr "número de liñas" #~ msgid "number of bytes" #~ msgstr "número de bytes" #~ msgid "invalid number of lines" #~ msgstr "número de liñas incorrecto" #~ msgid "invalid number of bytes" #~ msgstr "número de bytes incorrecto" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "%s: opción incorrecta -- %c\n" #, fuzzy #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s\n" #~ " ou: %s OPCIÓN\n" #~ "Escribi-lo identificador numérico (en hexadecimal) da máquina actual.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [NOME]\n" #~ " ou: %s OPCIÓN\n" #~ "Amosar ou establece-lo nome da máquina deste sistema.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "non se poden facer operacións de ioctl en \"%s\"" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "non se pode establece-lo nome de máquina; o sistema non ten esa capacidade" #~ msgid "cannot determine hostname" #~ msgstr "non se pode determina-lo nome da máquina" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Amosa-la información de NOME_USUARIO, ou do usuario actual.\n" #~ "\n" #~ " -a ignorada, para compatibilidade con outras versións\n" #~ " -g, --group amosar só o ID de grupo\n" #~ " -G, --groups amosar só os grupos suplementarios\n" #~ " -n, --name amosa-lo nome en vez do número, para as opcións -ugG\n" #~ " -r, --real amosa-lo ID real en vez do efectivo, para as opcións -" #~ "ugG\n" #~ " -u, --user amosar só o ID de usuario\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión\n" #~ "\n" #~ "Sen ningunha OPCIÓN, escríbese un conxunto útil de información de\n" #~ "identificación.\n" #, fuzzy #~ msgid "can't get process context" #~ msgstr "non se pode obte-lo tipo de procesador" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "non se pode partir en máis dun xeito" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "non se pode escribir só o nome ou o identificador real no formato por " #~ "defecto" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "%s: non se pode atopa-lo nome de usuario do UID %u\n" #~ msgid " groups=" #~ msgstr " grupos=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "" #~ "a cadea de formato non se pode especificar ó escribir cadeas da mesma " #~ "anchura" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "" #~ "a cadea de formato non se pode especificar ó escribir cadeas da mesma " #~ "anchura" #, fuzzy #~ msgid "invalid mode %s" #~ msgstr "anchura non válida: \"%s\"" #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "cannot set time stamps for %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "fork system call failed" #~ msgstr "ficheiro especial de bloque" #, fuzzy #~ msgid "cannot run strip" #~ msgstr "non se pode executar %s" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "erro escribindo %s" #, fuzzy #~ msgid "invalid user %s" #~ msgstr "usuario incorrecto" #, fuzzy #~ msgid "invalid group %s" #~ msgstr "grupo incorrecto" #, fuzzy #~ msgid "creating directory %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO INCREMENTO ÚLTIMO\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "O sufixo de copia de seguridade é `~', a menos que se estableza con --" #~ "suffix\n" #~ "ou con SIMPLE_BACKUP_SUFFIX. O método do control de versión pode ser\n" #~ "establecido coa opción --backup ou coa variable de ambiente " #~ "VERSION_CONTROL.\n" #~ "Os valores poden ser:\n" #~ "\n" #~ " none, off non facer nunca copias de seguridade (mesmo con --" #~ "backup)\n" #~ " numbered, t facer copias de seguridade numeradas\n" #~ " existing, nil copias numeradas se xa existen numeradas, se non " #~ "simples\n" #~ " simple, never facer sempre copias de seguridade simples\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Mike Haertel e Paul Eggert" #, fuzzy #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Para cada parella de liñas de entrada con campos de join idénticos, " #~ "amosar\n" #~ "unha liña na saída estándar. O campo de join por defecto é o primeiro,\n" #~ "delimitado con espacios en branco. Cando FICH1 ou FICH2 (non os dous) é " #~ "-,\n" #~ "lese da entrada estándar.\n" #~ "\n" #~ " -a LADO amosa-las liñas sen parella que proceden do ficheiro " #~ "LADO\n" #~ " -e BALEIRO substituí-los campos de entrada baleiros con BALEIRO\n" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case ignora-las maiúsculas/minúsculas ao compara-los " #~ "campos\n" #~ " -j CAMPO (obsoleto) equivalente a \"-1 CAMPO -2 CAMPO\"\n" #~ " -j1 CAMPO (obsoleto) equivalente a \"-1 CAMPO\"\n" #~ " -j2 CAMPO (obsoleto) equivalente a \"-2 CAMPO\"\n" #~ " -o FORMATO aplica-lo FORMATO ao construí-la liña de saída\n" #~ " -t CAR emprega-lo CARácter coma separador de campos de " #~ "entrada\n" #~ " e saída\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v LADO coma -a LADO, pero suprimindo as liñas de saída " #~ "correctas\n" #~ " -1 CAMPO face-lo join neste CAMPO do ficheiro 1\n" #~ " -2 CAMPO face-lo join neste CAMPO do ficheiro 2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "A menos que se indique -t CAR, os espacios en branco ao principio da " #~ "liña\n" #~ "separan campos e ignóranse; senón os campos sepáranse con CAR. Cada CAMPO " #~ "é\n" #~ "un número de campo que se conta dende 1. FORMATO é unha ou máis " #~ "especificacións\n" #~ "separadas por comas, cada unha do tipo \"LADO.CAMPO\" ou \"0\". O FORMATO " #~ "por\n" #~ "defecto amosa o campo de join, os campos restantes de FICHEIRO1 e os " #~ "campos\n" #~ "restantes de FICHEIRO2, todos separados por CAR.\n" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "número de campo incorrecto: \"%s\"" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "especificador de campo incorrecto: \"%s\"" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "número de ficheiro incorrecto na especificación de campos: \"%s\"" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "tabulación multi-carácter \"%s\"" #~ msgid "both files cannot be standard input" #~ msgstr "os dous ficheiros non poden ser entrada estándar" #, fuzzy #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ "Copiar a entrada estándar a cada ficheiro, e tamén á saída estándar.\n" #~ "\n" #~ " -a, --append engadir ós FICHEIROs indicados, non " #~ "sobrescribir\n" #~ " -i, --ignore-interrupts ignora-los sinais de interrupción\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "%s: invalid signal" #~ msgstr "%s: PID incorrecto" #, fuzzy #~ msgid "%s: invalid process id" #~ msgstr "%s: patrón incorrecto" #, fuzzy #~ msgid "invalid option -- %c" #~ msgstr "%s: opción incorrecta -- %c\n" #, fuzzy #~ msgid "%s: multiple signals specified" #~ msgstr "\\%c: secuencia de escape non válida" #, fuzzy #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "cannot create link %s to %s" #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: aviso: facer unha ligazón dura dunha ligazón simbólica non é portable" #, fuzzy #~ msgid "%s: hard link not allowed for directory" #~ msgstr "`%s' non é un directorio" #, fuzzy #~ msgid "%s: cannot overwrite directory" #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "%s: replace %s? " #~ msgstr "%s: ¿substituír %s?" #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "a crear a ligazón simbólica de %s a %s" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "a crear a ligazón simbólica de %s a %s" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "a crear a ligazón dura de %s a %s" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "a crear a ligazón dura de %s a %s" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "a crear a ligazón dura de %s a %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... ORIXE DESTINO (primeira forma)\n" #~ " ou: %s [OPCIÓN]... ORIXE... DIRECTORIO (segunda forma)\n" #~ " ou: %s -d [OPCIÓN]... DIRECTORIO (terceira forma)\n" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s existe pero non é un directorio" #, fuzzy #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #, fuzzy #~ msgid "no login name" #~ msgstr "%s: número incorrecto" #, fuzzy #~ msgid "%b %e %Y" #~ msgstr "%e %b %Y %H:%M" #, fuzzy #~ msgid "%b %e %H:%M" #~ msgstr "%e %b %Y %H:%M" #, fuzzy #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "ignorando o tamaño de tabulador non válido na variable de ambiente " #~ "TABSIZE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "ignorando o ancho non válido na variable de ambiente COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "ignorando o tamaño de tabulador non válido na variable de ambiente " #~ "TABSIZE: %s" #, fuzzy #~ msgid "invalid line width: %s" #~ msgstr "anchura non válida: \"%s\"" #, fuzzy #~ msgid "invalid tab size: %s" #~ msgstr "cadea de tipo incorrecta \"%s\"" #, fuzzy #~ msgid "invalid time style format %s" #~ msgstr "argumento incorrecto %s para %s" #, fuzzy #~ msgid "unrecognized prefix: %s" #~ msgstr "opción descoñecida \"-%c\"" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "a variable de ambiente LS_COLORS ten un valor ilexible" #, fuzzy #~ msgid "cannot open directory %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot determine device and inode of %s" #~ msgstr "non se pode move-lo punteiro do ficheiro de %s" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "cannot compare file names %s and %s" #~ msgstr "As cadeas que se compararon foron %s e %s" #, fuzzy #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -g (ignorada)\n" #~ " -G, --no-group non amosa-la información do grupo\n" #~ " -h, --human-readable escribi-los tamaños nun formato lexible " #~ "para\n" #~ " humanos (p.ex. 1K 234M 2G)\n" #~ " --si o mesmo, mais usando potencias de 1000, non " #~ "1024\n" #~ " -H igual que `--si' por agora; cambiará para " #~ "seguir\n" #~ " a norma POSIX\n" #~ " --indicator-style=PALABRA engadir un indicador de estilo PALABRA " #~ "aos\n" #~ " nomes das entradas: none [ningún] " #~ "(defecto),\n" #~ " classify [clasificar] (-F), file-type\n" #~ " [tipo de ficheiro] (-p)\n" #~ " -i, --inode escribi-lo número de índice de cada " #~ "ficheiro\n" #~ " -I, --ignore=PATRÓN non amosa-las entradas que encaixen co " #~ "PATRÓN\n" #~ " de shell\n" #~ " -k, --kilobytes coma --block-size=1024\n" #~ " -l usar un formato longo de listaxe\n" #~ " -L, --dereference amosa-las entradas apuntadas polas ligazóns\n" #~ " simbólicas\n" #~ " -m encher ao ancho cunha lista de entradas " #~ "separadas\n" #~ " por coma\n" #~ " -n, --numeric-uid-gid amosar UIDs e GIDs numéricos en vez dos " #~ "nomes\n" #~ " -N, --literal amosa-los nomes reais (non tratar p.ex. os\n" #~ " caracteres de control como especiais)\n" #~ " -o usar un formato de listado longo sen a " #~ "información\n" #~ " do grupo\n" #~ " -p, --file-type engadir un indicador ás entradas (un de /" #~ "=@|)\n" #~ " -q, --hide-control-chars escribir ? en vez dos caracteres non " #~ "gráficos\n" #~ " --show-control-chars amosa-los caracteres non gráficos tal como " #~ "son\n" #~ " (predeterminado a menos que o programa " #~ "sexa\n" #~ " `ls' e a saída sexa un terminal)\n" #~ " -Q, --quote-name arrodea-los nomes entre comiñas\n" #~ " --quoting-style=PALABRA utiliza-lo estilo de cita PALABRA para os " #~ "nomes\n" #~ " das entradas:\n" #~ " literal, shell, shell-always, c, escape\n" #~ " -r, --reverse inverte-la orde ao face-la ordenación\n" #~ " -R, --recursive amosa-los subdirectorios recursivamente\n" #~ " -s, --size escribi-lo tamaño de cada ficheiro, en " #~ "bloques\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -f, --fields=LISTA amosar só estes campos; tamén amosa calquera " #~ "liña\n" #~ " que non conteña o carácter delimitador, agás " #~ "se\n" #~ " se indica a opción -s\n" #~ " -n (ignórase)\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper e Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Paul Rubin e David MacKenzie" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Emprego: %s [OPCIÓN] [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN] --check [FICHEIRO]\n" #~ "Amosar ou comprobar sumas de comprobación %s (de %d bits).\n" #~ "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary usar escrituras binarias á consola.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "As seguintes dúas opcións son útiles só ao comproba-las sumas:\n" #~ " --status non amosar nada; o código de estado indica o " #~ "éxito\n" #~ " -w, --warn abisar das liñas mal formatadas\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "As sumas calcúlanse tal como se describe en %s. Ao comprobar, a entrada\n" #~ "debería ser unha saída anterior deste programa. O modo por defecto é " #~ "amosar\n" #~ "unha liña con suma de comprobación, un carácter que indica tipo (\"*\" " #~ "para\n" #~ "binario, \" \" para texto) e o nome de cada FICHEIRO.\n" #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "%s: non se atoparon liñas de suma de comprobación %s ben formatadas" #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %lu: liña de suma de comprobación %s mal formatada" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: apertura ou lectura FALLIDA\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: erro de lectura" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: non se atoparon liñas de suma de comprobación %s ben formatadas" #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "AVISO: non se puido ler %d de %d %s listados" #~ msgstr[1] "AVISO: non se puido ler %d de %d %s listados" #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "AVISO: NON coincidiron %d de %d %s calculadas" #~ msgstr[1] "AVISO: NON coincidiron %d de %d %s calculadas" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "as opcións --binary e --text non teñen sentido cando se comproban sumas" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "a opción --status ten sentido só cando se verifican sumas" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "a opción --warn ten sentido só cando se verifican sumas" #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ "Crea o(s) DIRECTORIO(s), se aínda non existen.\n" #~ "\n" #~ " -m, --mode=MODO establece-los permisos a MODO (coma en chmod), en " #~ "vez\n" #~ " de rwxrwxrwx - umask\n" #~ " -p, --parents suprimi-los erros se xa existe, crea-los directorios\n" #~ " pais se for necesario\n" #~ " -v, --verbose escribir unha mensaxe por cada directorio creado\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "created directory %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ "Crea tuberías nomeadas (FIFOs) cos NOMEs indicados.\n" #~ "\n" #~ " -m, --mode=MODO establece-los permisos a MODO (coma en chmod), en " #~ "vez\n" #~ " de a=rw - umask\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "invalid mode" #~ msgstr "número incorrecto" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Uso: %s [OPCIÓN]... CONXUNTO1 [CONXUNTO2]\n" #, fuzzy #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "Crea o ficheiro especial NOME do TIPO indicado.\n" #~ "\n" #~ " -m, --mode=MODO establece-los permisos a MODO (coma en chmod), en " #~ "vez\n" #~ " de a=rw - umask\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "MAJOR e MINOR están prohibidos para o TIPO p, obrigatorios noutros " #~ "casos.\n" #~ "O TIPO pode ser:\n" #~ "\n" #~ " b crea un ficheiro especial de bloques (buffered)\n" #~ " c, u crea un ficheiro especial de caracteres (unbuffered)\n" #~ " p crea unha FIFO\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "ao crear ficheiros especiais de bloque, débense indicar os números\n" #~ "de dispositivo `major' e `minor'" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "número de liña inicial incorrecto: \"%s\"" #, fuzzy #~ msgid "block special files not supported" #~ msgstr "ficheiro especial de bloque" #, fuzzy #~ msgid "character special files not supported" #~ msgstr "ficheiro especial de carácter" #, fuzzy #~ msgid "invalid major device number %s" #~ msgstr "número de liña inicial incorrecto: \"%s\"" #, fuzzy #~ msgid "invalid minor device number %s" #~ msgstr "número de liña inicial incorrecto: \"%s\"" #, fuzzy #~ msgid "invalid device %s %s" #~ msgstr "argumento incorrecto %s para %s" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "argumento incorrecto %s para %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "demasiados argumentos" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "mantense a data de %s" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "Renomea ORIXE a DESTINO, ou mover ORIXE(s) a DIRECTORIO.\n" #~ "\n" #~ " --backup[=CONTROL] facer unha copia de seguridade de cada " #~ "ficheiro\n" #~ " destino\n" #~ " -b como --backup mais sen aceptar argumentos\n" #~ " -f, --force non preguntar antes de sobrescribir\n" #~ " -i, --interactive preguntar antes de sobrescribir\n" #~ " --strip-trailing-slashes elimina-las barras finais de tódolos\n" #~ " argumentos ORIXE\n" #~ " -S, --suffix=SUFIXO substituí-lo sufixo habitual de copia de\n" #~ " seguridade\n" #~ " --target-directory=DIRECTORIO mover tódolos argumentos ORIXE ao\n" #~ " DIRECTORIO\n" #~ " -u, --update mover só os non-directorios máis antigos " #~ "ou\n" #~ " os recentes\n" #~ " -v, --verbose explica-lo que está a se facer\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "argumento incorrecto %s para %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "ten que se dar un comando co axuste" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "non se pode crea-lo ficheiro temporal" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "non se pode establece-la data" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Amosar cada FICHEIRO na saída estándar, engadindo os números de liña.\n" #~ "Sen un FICHEIRO, ou cando este é -, lese da entrada estánda.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=ESTILO usa-lo ESTILO para numera-las liñas do " #~ "corpo\n" #~ " -d, --section-delimiter=CC empregar CC para separa-las páxinas " #~ "lóxicas\n" #~ " -f, --footer-numbering=ESTILO usa-lo ESTILO para numera-las liñas do " #~ "pé\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=ESTILO emprega-lo ESTILO para numera-las " #~ "liñas\n" #~ " da cabeceira\n" #~ " -i, --page-increment=NÚMERO incremento do número de liña en cada " #~ "liña\n" #~ " -l, --join-blank-lines=NÚMERO contar cada grupo de NÚMERO liñas " #~ "baleiras\n" #~ " coma unha soa liña\n" #~ " -n, --number-format=FORMATO inseri-los números de liña seguindo o " #~ "FORMATO\n" #~ " -p, --no-renumber non reinicia-los números de liña con " #~ "cada\n" #~ " páxina lóxica\n" #~ " -s, --number-separator=CADEA engadi-la CADEA tras cada número de " #~ "liña\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NÚMERO primeiro número de liña nas páxinas " #~ "lóxicas\n" #~ " -w, --number-width=NÚMERO empregar NÚMERO columnas nos números " #~ "de liña\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Por defecto selecciona -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC son\n" #~ "dous caracteres delimitadores para separar páxinas lóxicas; use non se\n" #~ "indica o segundo carácter suponse :. Escriba \\\\ para obter \\.\n" #~ "ESTILO pode ser:\n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a numerar tódalas liñas\n" #~ " t numerar só as liñas que non estean baleiras\n" #~ " n non numerar ningunha liña\n" #~ " pEXPREG numera-las liñas que encaixen na expresión regular EXPREG\n" #~ "\n" #~ "FORMATO pode ser:\n" #~ "\n" #~ " ln xustificado á esquerda, sen ceros á esquerda\n" #~ " rn xustificado á dereita, sen ceros á esquerda\n" #~ " rz xustificado á dereita, con ceros á esquerda\n" #~ "\n" #, fuzzy #~ msgid "line number overflow" #~ msgstr "o número do campo é cero" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "número de campo incorrecto: \"%s\"" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "número incorrecto" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "número de ficheiro incorrecto na especificación de campos: \"%s\"" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "número de liña inicial incorrecto: \"%s\"" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "incremento de números de liña incorrecto: \"%s\"" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "número de liñas en blanco incorrecto: \"%s\"" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "ancho do campo do número de liña incorrecto: \"%s\"" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "incremento de números de liña incorrecto: \"%s\"" #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "demasiados argumentos" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "mantense a data de %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #~ " ou: %s --traditional [FICHEIRO] [[+]DESPRAZAMENTO [[+]ETIQUETA]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Escribir na saída estándar unha representación non ambigua, con\n" #~ "bytes octais por defecto, do FICHEIRO. Con máis dun argumento de\n" #~ "FICHEIRO, concatenalos na orde listada para forma-la entrada. Sen\n" #~ "un FICHEIRO, ou se este é -, lese da entrada estándar.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Tódolos argumentos para as opcións longas son obrigatorios nas opcións " #~ "curtas.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=BASE indicar como se amosan os desprazamentos\n" #~ " -j, --skip-bytes=BYTES omiti-los primeiros BYTES bytes de entrada\n" #, fuzzy #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BYTES limita-lo envorado a BYTES bytes de " #~ "entrada\n" #~ " -s, --strings[=BYTES] usar cadeas de alomenos BYTES caracteres " #~ "gráficos\n" #~ " -t, --format=TIPO escolle-lo formato ou formatos de saída\n" #~ " -v, --output-duplicatoes non empregar * para indica-las liñas " #~ "borradas\n" #~ " -w, --width[=BYTES] amosar BYTES bytes por liña de saída\n" #~ " --traditional acepta-los argumentos en formato " #~ "tradicional\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "As especificacións de formtao tradicionais pódense mesturar; acumúlanse:\n" #~ " -a igual que -t a, escoller caracteres nomeados\n" #~ " -b igual que -t oC, escoller bytes octais\n" #~ " -c igual que -t c, escoller caracteres ASCII ou escapados\n" #~ " -d igual que -t u2, escoller números curtos decimais sen signo\n" #, fuzzy #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f igual que -t fF, escoller números en punto flotante\n" #~ " -h igual que -t x2, escoller números curtos hexadecimais\n" #~ " -i igual que -t d2, escoller números curtos decimais\n" #~ " -l igual que -t d4, escoller números longos decimais\n" #~ " -o igual que -t o2, escoller números curtos octais\n" #~ " -x igual que -t x2, escoller números curtos hexadecimais\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Para a sintaxe antiga (segundo formato de chamada), DESPRAZAMENTO " #~ "significa\n" #~ "-j DESPRAZAMENTO. ETIQUETA é o pseudo-enderezo do primeiro byte " #~ "imprimido,\n" #~ "que se incrementa segundo o envorcado progresa. Para o DESPRAZAMENTO e a\n" #~ "ETIQUETA, un prefixo 0x ou 0X indica hexadecimal; os sufixos poden ser .\n" #~ "para octal e b para multiplicar por 512.\n" #~ "\n" #~ "TIPO componse de unha ou máis destas especificacións:\n" #~ "\n" #~ " a carácter con nome\n" #~ " c carácter ASCII ou escapado\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[TAMAÑO] decimal con signo, TAMAÑO bytes por enteiro\n" #~ " f[TAMAÑO] punto flotante, TAMAÑO bytes por enteiro\n" #~ " o[TAMAÑO] octal, TAMAÑO bytes por enteiro\n" #~ " u[TAMAÑO] decimal sen signo, TAMAÑO bytes por enteiro\n" #~ " x[TAMAÑO] hexadecimal, TAMAÑO bytes por enteiro\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO é un número. Para cada TIPO de doux, TAMAÑO tamén pode ser C\n" #~ "para sizeof(char), S para sizeof(short), I para sizeof(int) ou L para\n" #~ "sizeof(long). Se TIPO é f, TAMAÑO tamén pode ser F para sizeof(float),\n" #~ "D para sizeof(double) ou L para sizeof(long double).\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "BASE é d para decimal, o para octal, x para hexadecimao ou n para " #~ "ningunha.\n" #~ "BYTES é hexadecimal cun prefixo 0x ou 0X; multiplícase por 512 cun " #~ "sufixo\n" #~ "b, por 1024 con k e por 1048576 con m. Ao engadir un sufixo z a calquera\n" #~ "tipo engádese unha mostra de caracteres imprimibles á final de cada liña\n" #~ "de saída. " #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string sen un número implica 3. --width sen un número implica 32.\n" #~ "Por defecto, od emprega -A o -t d2 -w 16.\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "cadea de tipo incorrecta \"%s\"" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "cadea de tipo incorrecta \"%s\";\n" #~ "este sistema non proporciona un tipo integral de %lu bytes" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "cadea de tipo incorrecta \"%s\";\n" #~ "este sistema non proporciona un tipo de punto flotante de %lu bytes" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "carácter \"%c\" incorrecto na cadea de tipo \"%s\"" #~ msgid "cannot skip past end of combined input" #~ msgstr "non se pode saltar máis aló do final da entrada combinada" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "base de direccións de saída \"%c\" incorrecta; debe ser un carácter de " #~ "[doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "non se pode especificar un tipo ao volcar cadeas" #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "o modo de compatibilidade soporta 3 argumentos como moito" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "aviso: ancho %lu incorrecto; usando %d na súa vez" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" ancho=%d\n" #~ msgid "standard input is closed" #~ msgstr "a entrada estándar está pechada" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escribi-las liñas que consisten nas liñas correspondentes secuenciamente " #~ "de\n" #~ "cada FICHEIRO, separadas por tabulacións, na saída estándar.\n" #~ "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LISTA utilizar carácters da LISTA no canto de " #~ "tabulacións\n" #~ " -s, --serial pegar un ficheiro de cada vez no canto de en " #~ "paralelo\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "carácter \"%c\" incorrecto na cadea de tipo \"%s\"" #, fuzzy #~ msgid "empty file name" #~ msgstr "ficheiro normal baleiro" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Jay Lepreau e David MacKenzie" #~ msgid "Login name: " #~ msgstr "Nome de usuario: " #~ msgid "In real life: " #~ msgstr "Na vida real: " #~ msgid "???\n" #~ msgstr "???\n" #, fuzzy #~ msgid "Directory: " #~ msgstr "directorio" #~ msgid "Shell: " #~ msgstr "Shell: " #~ msgid "Project: " #~ msgstr "Proxecto: " #~ msgid "Plan:\n" #~ msgstr "Plan:\n" #~ msgid "Login" #~ msgstr "Login" #, fuzzy #~ msgid "Name" #~ msgstr " Nome" #, fuzzy #~ msgid " TTY" #~ msgstr "TTY" #~ msgid "Idle" #~ msgstr "Inactivo" #~ msgid "When" #~ msgstr "Cando" #~ msgid "Where" #~ msgstr "Onde" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "non se pode especificar ficheiros cando se usa --string" #, fuzzy #~ msgid "Roland Huebner" #~ msgstr "Pete TerMaat e Roland Huebner" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "\"--pages=PRIMEIRA_PÁXINA[:ÚLTIMA_PÁXINA]\" falta un argumento" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "cadea de tipo incorrecta \"%s\"" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "\"-l LONXITUDE\" número de liñas incorrecto: \"%s\"" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "\"-N NÚMERO\" número de liña inicial incorrecto: \"%s\"" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "\"-o MARXE\" desprazamento de liña incorrecto: \"%s\"" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "\"-w ANCHO_PAXINA\" número de caracteres incorrecto: \"%s\"" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "\"-W ANCHO_PAXINA\" número de caracteres incorrecto: \"%s\"" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "" #~ "Non se pode especifica-lo número de columnas ao imprimir en paralelo." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Non se pode especifica-la impresión a través e en paralelo á vez." #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "\"-%c\" caracteres extra ou número non válido no argumento: \"%s\"" #~ msgid "page width too narrow" #~ msgstr "páxina demasiado estreita" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "o número do campo é cero" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Paxinar ou encolumna-lo(s) FICHEIRO(s) para imprimir.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +PRIMEIRA[:DERRADEIRA], --pages=PRIMEIRA[:DERRADEIRA]\n" #~ " comezar [parar] a impresión na páxina PRIMEIRA " #~ "[DERRADEIRA]\n" #~ " -COLUMNA, --columns=COLUMNA\n" #~ " producir unha saída en varias COLUMNAS, e imprimi-" #~ "las\n" #~ " columnas, agás se se emprega -a. Balancea-lo número " #~ "de\n" #~ " liñas nas columnas de cada páxina.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across separar en filas horizontais no canto de en columnas\n" #~ " verticais; emprégase con -COLUMNA\n" #~ " -c, --show-control-chars\n" #~ " emprega-la notación do circunflexo (^G) e da barra " #~ "octal\n" #~ " -d, --double-space\n" #~ " amosa-la saída a doble espacio\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMATO\n" #~ " emprega-lo FORMATO para a data da cabeceira\n" #~ " -e[CAR[ANCHO]], --expand-tabs[=CAR[ANCHO]]\n" #~ " expandi-los CARacteres de entrada (tabulacións) ao\n" #~ " ANCHO de tabulación (8)\n" #~ " -F, -f, --form-feed\n" #~ " empregar saltos de páxina no canto de saltos de liña " #~ "para\n" #~ " separa-las páxinas (cunha cabeceira de páxina de " #~ "tres\n" #~ " liñas con -F ou unha cabeceira e pé de 5 liñas sen -" #~ "F)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h CABECEIRA, --header=CABECEIRA\n" #~ " empregar unha CABECEIRA centrada no canto do nome do\n" #~ " ficheiro na cabeceira da páxina. -h \"\" amosa unha " #~ "liña\n" #~ " e branco; non empregue -h\"\"\n" #~ " -i[CAR[ANCHO]], -output-tabs[=CAR[ANCHO]]\n" #~ " cambia-los CARacteres (tabulacións) por espacios ata " #~ "o\n" #~ " ANCHO das tabulacións (8)\n" #~ " -J, --join-lines mesturar liñas completas; desactiva o truncamento de " #~ "liñas\n" #~ " de -W, sen aliñamento de columnas, --sep-string" #~ "[=CADEA\n" #~ " estabrece os separadores\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l LONXITUDE, --length=LONXITUDE\n" #~ " estabrece-la lonxitude das páxinas a LONXITUDE (66) " #~ "liñas\n" #~ " (o número de liñas de texto por defecto é 56, e con -" #~ "F 63)\n" #~ " -m, --merge amosar tódolos ficheiros en paralelo, un en cada " #~ "columna,\n" #~ " trunca-las liñas, pero uni-las liñas de lonxitude\n" #~ " completa con -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEP[CIFRAS]], --number-lines[=SEP[CIFRAS]]\n" #~ " numera-las liñas, empregando CIFRAS (5) cifras, e " #~ "despois\n" #~ " un SEParador (tabulación); a conta comeza por defecto " #~ "na\n" #~ " primeira liña do ficheiro de entrada\n" #~ " -N NÚMERO, --first-line-number=NÚMERO\n" #~ " comezar a contar no NÚMERO na primeira liña da " #~ "primeira\n" #~ " páxina imprimida (vexa +PRIMEIRA)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARXE, --indent=MARXE\n" #~ " desprazar cada liña con MARXE (cero) espacios; non " #~ "ten\n" #~ " efecto sobre -w ou -W, MARXE hase engadir a ANCHO\n" #~ " -r, --no-file-warnings\n" #~ " omiti-lo aviso cando non se pode abrir un ficheiro\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[CAR], --separator[=CAR]\n" #~ " separa-las columnas cun só carácter; o valor por " #~ "defecto\n" #~ " de CAR é a tabulación sen -w e \"ningún\" con -w\n" #~ " -s[CAR] desactiva o truncamento das liñas en tódalas\n" #~ " opcións de tres columnas (-COLUMNA|-a -COLUMNA|-m) " #~ "agás\n" #~ " se -w está estabrecido\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SCADEA, --sep-string[=CADEA]\n" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " separa-las columnas coa CADEA,\n" #~ " sen -S: Separador por defecto (tabulación) con -J e\n" #~ " noutro caso (igual que -S\" \"), sen efecto " #~ "nas\n" #~ " opcións de columnas\n" #~ " -t, --omit-header omiti-las cabeceiras e pés de páxina\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " omiti-las cabeceiras e pés de páxina, e elimina-las\n" #~ " paxinacións estabrecidas mediante saltos de páxina " #~ "nos\n" #~ " ficheiros de entrada\n" #~ " -v, --show-nonprinting\n" #~ " emprega-la notación de barra octal\n" #~ " -w, ANCHO, --width=ANCHO\n" #~ " estabrece-lo ancho da páxina a ANCHO (72) caracteres " #~ "só\n" #~ " para o formato de saída de varias solumnas de texto,\n" #~ " -s[car] desactívao (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W ANCHO, --page-width=ANCHO\n" #~ " estabrecer sempre o ancho da páxina a ANCHO (72)\n" #~ " caracteres, trunca-las liñas, agás cando a opción -J " #~ "estea\n" #~ " estabrecida; non interfire con -S ou -s\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-T vai incluído en -l nn cando nn <= 10 ou <= 3 con -F. Sen un FICHEIRO, " #~ "ou\n" #~ "cando o FICHEIRO é -, lese da entrada estándar.\n" #, fuzzy #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [VARIABLE]...\n" #~ " ou: %s OPCIÓN\n" #~ "Se non se indica ningunha VARIABLE de ambiente, escribir todas elas.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "aviso: %s: os caracteres que seguen á constante de carácter foron " #~ "ignorados" #, fuzzy #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: agardábase un valor numérico" #~ msgid "%s: value not completely converted" #~ msgstr "%s: valor non convertido por completo" #~ msgid "missing hexadecimal number in escape" #~ msgstr "falta un número hexadecimal na secuencia de escape" #, fuzzy #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "clase de caracteres \"%s\" incorrecta" #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "anchura non válida: \"%s\"" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "opción de anchura non válida: \"%s\"" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: especificación de campo incorrecta \"%s\"" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "aviso: os argumentos de máis foron ignorados" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (para a expresión regular \"%s\")" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... [ENTRADA]... (sen -G)\n" #~ " ou: %s -G [OPCIÓN] [ENTRADA [SAÍDA]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Amosar un índice permutado, incluíndo o contexto, das palabras dos " #~ "ficheiros de entrada.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference amosa-las referencias xeradas " #~ "automaticamente\n" #~ " -C, --copyright amosa-lo Copyright e as condicións de " #~ "copia\n" #~ " -G, --traditional funcionar coma o \"ptx\" de System V\n" #~ " -F, --flag-truncation=CADEA emprega-la CADEA para marca-las liñas " #~ "truncadas\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=CADEA nome de macro a empregar no canto de \"xx" #~ "\"\n" #~ " -O, --format=roff xera-la saída coma directivas roff\n" #~ " -R, --right-side-refs pór referencias á dereita, sen contalas " #~ "en -w\n" #~ " -S, --sentence-regexp=EXPREG para a fin de liña ou fin de oración\n" #~ " -T, --format=tex xera-la saída coma directivas TeX\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=EXPREG emprega-la EXPREG para compara-las " #~ "claves\n" #~ " -b, --break-file=FICHEIRO caracteres que parten palabras neste " #~ "FICHEIRO\n" #~ " -f, --ignore-case converte-las minúsculas a maiúsculas\n" #~ " para ordear\n" #~ " -g, --gap-size=NÚMERO tamaño do oco entre campos de saída\n" #~ " -i, --ignore-file=FICHEIRO le-la lista de palabras ignoradas do " #~ "FICHEIRO\n" #~ " -o, --only-file=FICHEIRO le-la lista de palabras únicas do " #~ "FICHEIRO\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references o primeiro campo de cada liña é unha\n" #~ " referencia\n" #~ " -t, --typeset-mode - sen implementar -\n" #~ " -w, --width=NÚMERO ancho da saída, excluíndo referencias\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Sen un FICHEIRO, ou se o FICHEIRO é -, lese da entrada estándar.\n" #~ "\"-F /\" por defecto.\n" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "anchura non válida: \"%s\"" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "non foi posible mudar o grupo de %s a %s\n" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "obtendo os atributos de %s" #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "demasiados argumentos" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "AVISO: Estructura circular de directorios.\n" #~ "Con probabilidad isto quere dicir que o sistema de ficheiros está " #~ "corrompido.\n" #~ "INFÓRMEO AO SEU ADMINISTRADOR DE SISTEMA\n" #~ "Os dous seguintes directorios teñen o mesmo número de inodo:\n" #, fuzzy #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "%s: descend into directory %s? " #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: ¿borra-lo ficheiro protexido contra escritura %s? " #, fuzzy #~ msgid "%s: remove %s %s? " #~ msgstr "%s: ¿borrar %s? " #, fuzzy #~ msgid "removed directory: %s\n" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "cannot remove directory %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: ¿borrar %s? " #, fuzzy #~ msgid "removing directory, %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ "Borra o(s) DIRECTORIO(s), se están baleiros.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignora-los erros producidos soamente porque o " #~ "directorio\n" #~ " non está baleiro\n" #~ " -p, --parents borra-lo directorio, e entón tentar borrar tódolos\n" #~ " directorios compoñentes do seu camiño. P.ex,\n" #~ " `rmdir -p a/b/c' é similar a `rmdir a/b/c a/b a'\n" #~ " -v, --verbose amosar unha mensaxe por cada directorio procesado\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información e saír\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "obtendo os atributos de %s" #, fuzzy #~ msgid "no command specified" #~ msgstr "só se pode especificar un argumento" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "mantense a data de %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "mantense a data de %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "mantense a data de %s" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "obtendo os atributos de %s" #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... [ENTRADA]... (sen -G)\n" #~ " ou: %s -G [OPCIÓN] [ENTRADA [SAÍDA]]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "Escribi-los números dende PRIMEIRO a ÚLTIMO, en incrementos de " #~ "INCREMENTO.\n" #~ "\n" #~ " -f, --format FORMATO usar un FORMATO de estilo printf(3) (defecto: %" #~ "%g)\n" #~ " -s, --separator CADEA usar CADEA para separa-los números (defecto: " #~ "\\n)\n" #~ " -w, --equal-width iguala-la anchura recheando con ceros ó " #~ "comezo\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Se non se indican PRIMEIRO ou INCREMENTO, por defecto son 1.\n" #~ "PRIMEIRO, INCREMENTO e ÚLTIMO interprétanse coma valores de coma " #~ "frotante.\n" #~ "INCREMENTO ten que ser positivo se PRIMEIRO é máis pequeno que ÚLTIMO, e\n" #~ "negativo doutro xeito. Se se indica, o argumento de FORMATO ten que " #~ "conter\n" #~ "só un dos formatos de coma frotante de estilo printf %%e, %%f, %%g.\n" #, fuzzy #~ msgid "invalid floating point argument: %s" #~ msgstr "número de liña inicial incorrecto: \"%s\"" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "cadea de tipo incorrecta \"%s\"" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "demasiadas especificacións de conversión %% no sufixo" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "cadea de tipo incorrecta \"%s\"" #, fuzzy #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "non se pode especificar un tipo ao volcar cadeas" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "non se pode obte-la lista de grupos suplementarios" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "non se poden omiti-lo usuario e o grupo" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "non se poden omiti-lo usuario e o grupo" #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "a obtención de datos do ficheiro fallou" #, fuzzy #~ msgid "%s: cannot rewind" #~ msgstr "non se pode executar %s" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: pasada %lu/%lu (%s)..." #, fuzzy #~ msgid "%s: error writing at offset %s" #~ msgstr "erro escribindo %s" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "o peche fallou" #, fuzzy #~ msgid "%s: file too large" #~ msgstr "%s: ficheiro longo de máis" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: pasada %lu/%lu (%s)...%s" #, fuzzy #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: pasada %lu/%lu (%s)...%s/%s" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "a obtención de datos do ficheiro fallou" #, fuzzy #~ msgid "%s: invalid file type" #~ msgstr "%s: lonxitude do sufixo non válida" #~ msgid "%s: file has negative size" #~ msgstr "%s: o ficheiro ten un tamaño negativo" #, fuzzy #~ msgid "%s: error truncating" #~ msgstr "%s: ficheiro truncado" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "a obtención de datos do ficheiro fallou" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "" #~ "%s: non se pode facer un borrado seguro dun descriptor de ficheiro\n" #~ "de tipo só-engadir" #~ msgid "%s: removing" #~ msgstr "%s: borrando" #, fuzzy #~ msgid "%s: renamed to %s" #~ msgstr "%s: erro de lectura" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s: ficheiro longo de máis" #~ msgid "%s: removed" #~ msgstr "%s: borrado" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s: ficheiro longo de máis" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s: ficheiro longo de máis" #, fuzzy #~ msgid "%s: invalid number of passes" #~ msgstr "%s: número de segundos incorrecto" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "\\%c: secuencia de escape non válida" #, fuzzy #~ msgid "%s: invalid file size" #~ msgstr "%s: lonxitude do sufixo non válida" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... [ENTRADA]... (sen -G)\n" #~ " ou: %s -G [OPCIÓN] [ENTRADA [SAÍDA]]\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Amosar partes seleccionadas das liñas de cada FICHEIRO na saída " #~ "estándar.\n" #~ "\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "\\%c: secuencia de escape non válida" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "número incorrecto" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "anchura non válida: \"%s\"" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "\\%c: secuencia de escape non válida" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "operando \"%s\" extra" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s NÚMERO[SUFIXO]...\n" #~ " ou: %s OPCIÓN\n" #~ "Facer unha pausa de NÚMERO segundos. SUFIXO pode ser `s' para segundos, " #~ "`m'\n" #~ "para minutos, `h' para horas ou `d' para días. Ó contrario que a maioría " #~ "das\n" #~ "implementacións, que requiren que NÚMERO sexa un enteiro, aquí NÚMERO " #~ "pode ser\n" #~ "calquera número de coma frotante.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "número de campo incorrecto: \"%s\"" #~ msgid "cannot read realtime clock" #~ msgstr "non se pode le-lo reloxo coa hora real" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Escribi-la concatenación ordeada de tódolos FICHEIRO(s) na saída " #~ "estándar.\n" #~ "\n" #~ "Opcións de ordeamento:\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ignora-los espacios en branco iniciais\n" #~ " -d, --dictionary-order considerar só espacios e caracteres " #~ "alfanuméricos\n" #~ " -f, --ignore-case ignora-las maiúsculas e minúsculas\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort comparar de acordo ao valor numérico xeral\n" #~ " -i, --ignore-nonprinting considerar só os caracteres imprimibles\n" #~ " -M, --month-sort comparar (descoñecido) < \"XAN\" < ... < " #~ "\"DEC\"\n" #~ " -n, --numeric-sort comarar de acordo ao valor numérico da " #~ "cadea\n" #~ " -r, --reverse inverti-lo resultado das comparacións\n" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "Outras opcións:\n" #~ "\n" #~ " -c, --check comprobar se a entrada está ordeada e non " #~ "ordear\n" #~ " -k, --key=POS1[,POS2] comezo da clave en POS1 e remate en POS2\n" #~ " -m, --merge mesturar ficheiros xa ordeados e non ordear\n" #~ " -o, --output=FICHEIRO grava-lo resultado no FICHEIRO\n" #~ " -s, --stable estabiliza-la ordeación eliminando a " #~ "comparación\n" #~ " de derradeiro recurso\n" #~ " -S, --buffer-size=TAMAÑO empregar un buffer de memoria deste TAMAÑO\n" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP emprega-lo SEParador no canto de espacios en " #~ "branco\n" #~ " -T, --temporary-directory=DIR emprega-lo DIRectorio para ficheiros " #~ "temporais,\n" #~ " non $TMPDIR ou %s\n" #~ " -u, --unique con -c: comprobar se a ordeación é estricta\n" #~ " noutro caso: amosar só o primeiro dun " #~ "grupo\n" #~ " de elementos iguais\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated remata-las liñas cun byte 0, non un\n" #~ " salto de liña\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS é F[.C][OPCS], onde F é o número do campo e C a posición do carácter\n" #~ "no campo. OPCS está composto de unha ou varias opcións de ordenación " #~ "dunha\n" #~ "soa letra, que desactivan as opcións globais desa clave. Se non se dá " #~ "unha\n" #~ "clave, úsase toda a liña coma a clave.\n" #~ "\n" #~ "TAMAÑO pode estar seguido polos seguintes sufixos multiplicativos:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% de memoria, b 1, K 1024 (por defecto), e así para M, G, T, P, E, Z e " #~ "Y.\n" #~ "\n" #~ "Sen un FICHEIRO ou cando o FICHEIRO é -, lese da entrada estándar.\n" #~ "\n" #~ "*** AVISO ***\n" #~ "O locale especificado nas variables de ambiente afecta á orde.\n" #~ "Estabreza LC_ALL=C para obte-la orde tradicional que emprega\n" #~ "valores de byte nativos.\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "erro escribindo %s" #~ msgid "cannot create temporary file" #~ msgstr "non se pode crea-lo ficheiro temporal" #~ msgid "open failed" #~ msgstr "a apertura fallou" #, fuzzy #~ msgid "fflush failed" #~ msgstr "volcando o ficheiro" #~ msgid "close failed" #~ msgstr "o peche fallou" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "a apertura fallou" #, fuzzy #~ msgid "couldn't execute %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "non se pode crea-lo ficheiro temporal" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "non se pode crea-lo ficheiro temporal" #, fuzzy #~ msgid "couldn't execute %s -d" #~ msgstr "non se poden cambia-los permisos de `%s'" #~ msgid "write failed" #~ msgstr "erro de escritura" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #~ msgid "stat failed" #~ msgstr "a obtención de datos do ficheiro fallou" #~ msgid "read failed" #~ msgstr "erro de lectura" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: desorde: " #~ msgid "standard error" #~ msgstr "erro estándar" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: especificación de campo incorrecta \"%s\"" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: conta non válida ao principio de \"%s\"" #~ msgid "invalid number after `-'" #~ msgstr "número non válido despois de \"-\"" #~ msgid "invalid number after `.'" #~ msgstr "número non válido despois de \".\"" #~ msgid "stray character in field spec" #~ msgstr "carácter de sobras na especificación do campo" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "\\%c: secuencia de escape non válida" #~ msgid "invalid number at field start" #~ msgstr "número non válido ao comezo do campo" #~ msgid "field number is zero" #~ msgstr "o número do campo é cero" #~ msgid "character offset is zero" #~ msgstr "o desprazamento do carácter é cero" #~ msgid "invalid number after `,'" #~ msgstr "número non válido despois de \",\"" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "operando \"%s\" extra non admitido despois de -c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Uso: %s [OPCIÓN] [ENTRADA [PREFIXO]]\n" #, fuzzy #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Gravar anacos de ENTRADA de tamaño fixo en PREFIXOaa, PREFIXOab, ...; o " #~ "PREFIXO\n" #~ "por defecto é \"x\". Sen ENTRADA, ou se a ENTRADA é -, lese da entrada " #~ "estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N empregar sufixos de lonxitude N (%d por " #~ "defecto)\n" #~ " -b, --byte=TAMAÑO pór TAMAÑO bytes en cada ficheiro de saída\n" #~ " -C, --line-bytes=TAMAÑO pór como moito TAMAÑO bytes de liñas por " #~ "ficheiro\n" #~ " de saída\n" #~ " -l, --lines=NÚMERO pór NÚMERO liñas por ficheiro de saída\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose amosar un diagnóstico no erro estándar antes " #~ "de\n" #~ " abrir cada ficheiro de saída\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "creando ficheiro \"%s\"\n" #~ msgid "cannot split in more than one way" #~ msgstr "non se pode partir en máis dun xeito" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: lonxitude do sufixo non válida" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: número de bytes incorrecto" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: número de liñas incorrecto" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "%s: conta \"%.*s\" grande de máis" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "número de liñas incorrecto" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: opción descoñecida `-%c'\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s: patrón incorrecto" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "secuencia de escape incorrecta na fin da cadea" #, fuzzy #~ msgid "cannot read file system information for %s" #~ msgstr "non se pode move-lo punteiro do ficheiro de %s" #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Uso: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [PARÁMETRO]...\n" #~ " ou: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-a|--all]\n" #~ " ou: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-g|--save]\n" #, fuzzy #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Escribir ou cambia-las características do terminal.\n" #~ "\n" #~ " -a, --all escribir tódolos parámetros actuais dun xeito " #~ "lexible\n" #~ " para humanos\n" #~ " -g, --save escribir tódolos parámetros actuais dun xeito " #~ "lexible\n" #~ " para o stty\n" #~ " -F, --file=DISPOSITIVO abrir e usa-lo DISPOSITIVO indicado en vez da\n" #~ " entrada estándar\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Un - opcional diante de PARÁMETRO indica negación. Un * marca os " #~ "parámetros\n" #~ "non POSIX. O sistema presente define os parámetros que están " #~ "dispoñibles.\n" #, fuzzy #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ "\n" #~ "Parámetros de control:\n" #~ " [-]clocal desactiva-los sinais de control do módem\n" #~ " [-]cread permitir que se reciba entrada\n" #~ "* [-]crtscts activar negociación RTS/CTS\n" #~ " csN establece-lo tamaño do carácter a N bits, con N entre " #~ "[5..8]\n" #~ " [-]cstopb usar dous bits de parada por carácter (un con `-')\n" #~ " [-]hup enviar un sinal de colgar cando o último proceso pecha o " #~ "tty\n" #~ " [-]hupcl o mesmo que [-]hup\n" #~ " [-]parenb xerar un bit de paridade na saída e agardar un bit de " #~ "paridade\n" #~ " na entrada\n" #~ " [-]parodd establecer paridade impar (mesmo con `-')\n" #, fuzzy #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "\n" #~ "Parámetros da saída:\n" #~ "* bsN estilo de retardo do carácter de borrado, N entre [0..1]\n" #~ "* crN estilo de retardo do retorno de carro, N entre [0..3]\n" #~ "* ffN estilo de retardo do salto de páxina, N entre [0..1]\n" #~ "* nlN estilo de retardo do carácter de nova liña, N entre " #~ "[0..1]\n" #~ "* [-]ocrnl converter retornos de carro en nova liña\n" #~ "* [-]ofdel usar caracteres de borrado para rechear, en vez de " #~ "caracteres\n" #~ " nulos\n" #~ "* [-]ofill usar caracteres de recheo en vez de tempos de retardo\n" #~ "* [-]olcuc converter caracteres minúsculos a maiúsculos\n" #~ "* [-]onlcr converter unha nova liña a retorno de carro + nova liña\n" #~ "* [-]onlret o carácter de nova liña fai un retorno de carro\n" #~ "* [-]onocr non escribi-los retornos de carro na primeira columna\n" #~ " [-]opost pos-procesar a saída\n" #~ "* tabN estilo de retardo da tabulación horizontal, N entre " #~ "[0..3]\n" #~ "* tabs o mesmo que tab0\n" #~ "* -tabs o mesmo que tab3\n" #~ "* vtN estilo de retardo da tabulación vertical, N entre [0..1]\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Manexar a liña tty conectada á entrada estándar. Sen argumentos,\n" #~ "escribi-la tasa de baudios, a disciplina da liña, e as desviacións " #~ "respecto\n" #~ "a stty sane. Nos parámetros, CARAC tómase literalmente, ou codificado\n" #~ "coma en ^c, 0x37, 0177 ou 127; os valores especiais ^- ou undef úsanse " #~ "para\n" #~ "desactiva-los caracteres especiais.\n" #, fuzzy #~ msgid "only one device may be specified" #~ msgstr "só se pode especificar un argumento" #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "as opcións --string e --check son mutuamente exclusivas" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "cando se indica un estilo de saída, non se poden establecer modos" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: non se pode restablece-lo modo de non bloqueo" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "argumento incorrecto %s para %s" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "argumento %s ambiguo para %s" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "anchura non válida: \"%s\"" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: non se poden facer tódalas operacións pedidas" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: modo\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: non hai información de tamaño para este dispositivo" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "incremento de números de liña incorrecto: \"%s\"" #~ msgid "Password:" #~ msgstr "Contrasinal:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: non se pode abrir /dev/tty" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "non se poden omiti-lo usuario e o grupo" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "non se poden omiti-lo usuario e o grupo" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "non se poden omiti-lo usuario e o grupo" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Cambia-lo identificador efectivo de usuario e grupo ós de USUARIO.\n" #~ "\n" #~ " -, -l, --login facer que a shell sexa de login\n" #~ " -c, --command=COMANDO enviar un só COMANDO á shell con -c\n" #~ " -f, --fast enviar a opción -f á shell (para csh ou " #~ "tcsh)\n" #~ " -m, --preserve-environment non esquece-las variables de ambiente\n" #~ " -p o mesmo que -m\n" #~ " -s, --shell=SHELL executar SHELL se /etc/shells o permite\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "user %s does not exist" #~ msgstr "o usuario %s non existe" #~ msgid "incorrect password" #~ msgstr "contrasinal incorrecto" #~ msgid "using restricted shell %s" #~ msgstr "usando shell restrinxida %s" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Kayvan Aghaiepour e David MacKenzie" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Imprimi-la suma de comprobación e o número de bloques de cada FICHEIRO.\n" #~ "\n" #~ " -r non usar -s, usa-lo algoritmo de suma de BSD e bloques " #~ "de 1k\n" #~ " -s, --sysv usa-lo algoritmo de suma System V, usar bloques de 512 " #~ "bytes\n" #, fuzzy #~ msgid "ignoring all arguments" #~ msgstr "demasiados argumentos" #~ msgid " --help display this help and exit\n" #~ msgstr " --help amosar esta axuda e saír\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version amosar información da versión e saír\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Informe dos erros no programa a <%s>.\n" #~ "Informe dos erros na traducción a .\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Amosar cada FICHEIRO na saída estándar, coa derradeira liña de primeira.\n" #~ "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before incluí-lo separador antes e non despois\n" #~ " -r, --regex interpreta-lo separador como unha expresión " #~ "regular\n" #~ " -s, --separator=CADEA usa-la CADEA coma separador na vez de salto de " #~ "liña\n" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "o peche fallou" #, fuzzy #~ msgid "record too large" #~ msgstr "%s: ficheiro longo de máis" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "non se pode crea-lo ficheiro temporal" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "non se pode abrir %s para lectura" #, fuzzy #~ msgid "%s: write error" #~ msgstr "erro de escritura" #~ msgid "separator cannot be empty" #~ msgstr "o separador non pode estar baleiro" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Amosa-las derradeiras %d liñas de cada FICHEIRO na saída estándar.\n" #~ "Con máis dun FICHEIRO, antecédese cada un cunha cabeceira que dá o nome " #~ "do\n" #~ "ficheiro. Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry seguir tentando abrir un ficheiro incluso se " #~ "é\n" #~ " inaccesible cando tail comeza ou se se volve\n" #~ " inaccesible despois -- útil só con -f\n" #~ " -c, --bytes=N amosa-los derradeiros N bytes\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " amosa-los datos engadidos segundo o ficheiro " #~ "medre;\n" #~ " -f, --follow e --follow=descriptor son " #~ "equivalentes\n" #~ " -F igual que --follow=name --retry\n" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N amosa-las derradeiras N liñas, no canto de %d\n" #~ " --max-unchanged-stats=N\n" #~ " con --follow-name, reabrir un FICHEIRO que " #~ "non\n" #~ " cambiou o tamaño despois de N (%d por " #~ "defecto)\n" #~ " iteracións para ver se se borrou ou renomeou\n" #~ " (é o caso normal de ficheiros de rexistro " #~ "rotados)\n" #, fuzzy #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID con -f, rematar trala morte do proceso co PID\n" #~ " -q, --quiet, --silent non amosa-las cabeceiras cos nomes de " #~ "ficheiro\n" #~ " -s, --sleep-interval=S con -f, cada iteración dura S (1) segundos\n" #~ " -v, --verbose amosar sempre as cabeceiras cos nomes de " #~ "ficheiro\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Se o primeiro carácter de N (o número de bytes ou liñas) é un \"+\", " #~ "comézase\n" #~ "a amosar no N-ésimo elemento dende o principio de cada ficheiro; noutro " #~ "caso,\n" #~ "amos-los N derradeiros elementos do ficheiro. N pode ter un sufixo\n" #~ "multiplicativo: b para 512, k para 1024, m para 1048576 (1 Mega).\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Con --follow (-f), tail segue por defecto o descriptor de ficheiro, o " #~ "que\n" #~ "significa que incluso se se renomea un ficheiro ao que se lle fai tail, " #~ "tail\n" #~ "ha continuar seguindo a súa fin. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Este comportamento por defecto non é desexable cando quere\n" #~ "segui-lo nome do ficheiro, non o descriptor do ficheiro (por exemplo,\n" #~ "rotación de rexistros). Empregue --follow=name neste caso. Isto fai que " #~ "tail\n" #~ "siga o ficheiro nomeado reabríndoo periodicamente para ver se outro " #~ "programa\n" #~ "o eliminou e volveu crear.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "pechando %s (fd=%d)" #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: non se pode desprazar á posición relativa %s%s" #, fuzzy #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: non se pode desprazar á posición relativa á final %s%s" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "\"%s\" volveuse inaccesible" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "\"%s\" foi remprazado cun ficheiro do que non se pode amosa-la fin; " #~ "abandonando este ficheiro" #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "\"%s\" volveuse accesible" #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "\"%s\" apareceu; buscando a fin do novo ficheiro" #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "\"%s\" foi remprazado; buscando a fin do ficheiro novo" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: non se pode restablece-lo modo de non bloqueo" #~ msgid "%s: file truncated" #~ msgstr "%s: ficheiro truncado" #~ msgid "no files remaining" #~ msgstr "non quedan ficheiros" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: non se pode segui-la fin deste tipo de ficheiro; abandoando este nome" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "%s é grande de máis" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: número máximo de datos non cambiados entre aperturas incorrecto" #~ msgid "%s: invalid PID" #~ msgstr "%s: PID incorrecto" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: número de segundos incorrecto" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "aviso: --retry é útil só cando vai seguido por name" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "aviso: PID ignorado; --pid=PID é útil só cando segue" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "aviso: --pid=PID non é soportado neste sistema" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "non se pode crea-lo ficheiro temporal" #, fuzzy #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Copiar a entrada estándar a cada ficheiro, e tamén á saída estándar.\n" #~ "\n" #~ " -a, --append engadir ós FICHEIROs indicados, non " #~ "sobrescribir\n" #~ " -i, --ignore-interrupts ignora-los sinais de interrupción\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Sen FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "argumento %s ambiguo para %s" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "número incorrecto" #, fuzzy #~ msgid "')' expected" #~ msgstr "agardábase ')'\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "agardábase ')', atopouse %s\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: agardábase un operador unario\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt non acepta -l\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef non acepta -l\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-nt non acepta -l\n" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "Erro do sistema descoñecido" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: agardábase un operador binario\n" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ( EXPRESIÓN ) a EXPRESIÓN é certa\n" #~ " ! EXPRESIÓN a EXPRESIÓN é falsa\n" #~ " EXPRESIÓN1 -a EXPRESIÓN2 a EXPRESIÓN1 e a EXPRESIÓN2 son certas\n" #~ " EXPRESIÓN1 -o EXPRESIÓN2 a EXPRESIÓN1 ou a EXPRESIÓN2 é certa\n" #~ "\n" #~ " [-n] CADEA a lonxitude da CADEA é distinta de cero\n" #~ " -z CADEA a lonxitude da CADEA é cero\n" #~ " CADEA1 = CADEA2 as cadeas son iguais\n" #~ " CADEA1 != CADEA2 as cadeas non son iguais\n" #~ "\n" #~ " ENTEIRO1 -eq ENTEIRO2 ENTEIRO1 é igual a ENTEIRO2\n" #~ " ENTEIRO1 -ge ENTEIRO2 ENTEIRO1 é maior ou igual que ENTEIRO2\n" #~ " ENTEIRO1 -gt ENTEIRO2 ENTEIRO1 é maior que ENTEIRO2\n" #~ " ENTEIRO1 -le ENTEIRO2 ENTEIRO1 é menor ou igual que ENTEIRO2\n" #~ " ENTEIRO1 -lt ENTEIRO2 ENTEIRO1 é menor que ENTEIRO2\n" #~ " ENTEIRO1 -ne ENTEIRO2 ENTEIRO1 é distinto que ENTEIRO2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Teña en conta que as parénteses teñen que levar códigos de escape (p.ex " #~ "con\n" #~ "barras invertidas) para as shells.\n" #~ "ENTEIRO pode ser tamén -l CADEA, que se evalúa coma a lonxitude de " #~ "CADEA.\n" #, fuzzy #~ msgid "missing `]'" #~ msgstr "falta un `]'\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "demasiados argumentos" #, fuzzy #~ msgid "Jim Kingdon" #~ msgstr "Mike Haertel e Paul Eggert" #, fuzzy #~ msgid "creating %s" #~ msgstr "creando ficheiro \"%s\"\n" #, fuzzy #~ msgid "cannot touch %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #~ msgid "setting times of %s" #~ msgstr "establecendo a data de %s" #, fuzzy #~ msgid "cannot specify times from more than one source" #~ msgstr "non se pode partir en máis dun xeito" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Uso: %s [OPCIÓN]... CONXUNTO1 [CONXUNTO2]\n" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Traducir, comprimir, e/ou borrar caracteres da entrada estándar,\n" #~ "escribindo na saída estándar.\n" #~ "\n" #~ " -c, --complement complementar antes o CONXUNTO1\n" #~ " -d, --delete borra-los caracteres do CONXUNTO1, non " #~ "traducilos\n" #~ " -s, --squeeze-repeats cambiar cada secuencia de caracteres repetidos\n" #~ " listados no CONXUNTO1 por unha soa aparición\n" #~ " dese carácter\n" #~ " -t, --truncate-set1 truncar antes o CONXUNTO1 á lonxitude do " #~ "CONXUNTO2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "Os CONXuntos especifícanse coma cadeas de caracteres. A maioría " #~ "represéntanse\n" #~ "a si mesmos. As secuencias interpretadas son:\n" #~ "\n" #~ " \\NNN carácter co valor octal NNN (1 a 3 díxitos octais)\n" #~ " \\\\ barra invertida\n" #~ " \\a campá audible\n" #~ " \\b retroceso dun carácter\n" #~ " \\f salto de páxina\n" #~ " \\n salto de liña\n" #~ " \\r retorno de carro\n" #~ " \\t tabulación horizontal\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v tabulación vertical\n" #~ " CAR1-CAR2 tódolos caracteres entre CAR1 e CAR2 en orde " #~ "ascendente\n" #~ " [CAR*] en CONX2, copias do CARácter ata a lonxitude de CONX1\n" #~ " [CAR*REPET] REPETir copias do CARácter, REPET é octal se comeza por " #~ "0\n" #~ " [:alnum:] tódalas letras e díxitos\n" #~ " [:alpha:] tódalas letras\n" #~ " [:blank:] tódolos espacios en branco horizontais\n" #~ " [:cntrl:] tódolos caracteres de control\n" #~ " [:digit:] tódolos díxitos\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] tódolos caracteres imprimibles, sen incluí-los " #~ "espacios\n" #~ " [:lower:] tódalas letras minúsculas\n" #~ " [:print:] tódolos caracteres imprimibles, incluíndo os espacios\n" #~ " [:punct:] tódolos caracteres de puntuación\n" #~ " [:space:] tódolos espacios en branco horizontais e verticais\n" #~ " [:upper:] tódalas letras maiúsculas\n" #~ " [:xdigit:] tódolos díxitos hexadecimais\n" #~ " [=CAR=] tódolos caracteres equivalentes a CAR\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "A traducción ocorre se non se dá -d e CONX1 e CONX2 aparecen. -t pódese\n" #~ "empregar só ao traducir. CONX2 esténdese ata a lonxitude de CONX1 " #~ "repetindo\n" #~ "o seu derradeiro carácter tanto como sexa necesario. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Os caracteres sobrantes\n" #~ "de CONX1 ignóranse. Só se garante que [:lower:] e [:upper:] se expanden " #~ "en\n" #~ "orde ascendente; empregado en CONX2 ao traducir, só se poden empregar en\n" #~ "parellas para especifica-la conversión de maiúsculas a minúsculas e\n" #~ "viceversa. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ " -s emprega CONX1 se non está traducindo ou borrando; noutro caso\n" #~ "ao encoller emprégase CONX2 e ocorre trala traducción ou borrado.\n" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "aviso: a secuencia de escape octal ambigua \\%c%c%c é\n" #~ "\tinterpretada coma a secuencia de 2 bytes \\0%c%c, \"%c\"" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "%s: aviso: facer unha ligazón dura dunha ligazón simbólica non é portable" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "os estremos do rango \"%s-%s\" están en orde inversa" #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "número de repeticións \"%s\" incorrecto na construcción [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "falta o nome da clase de caracteres \"[::]\"" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "falta o carácter da clase de equivalencias \"[==]\"" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "clase de caracteres \"%s\" incorrecta" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: o operando de clases de equivalencia debe ser un só carácter" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "carácter de sobras na especificación do campo" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "a construcción de repetición [c*] non pode aparecer na cadea1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "só pode aparecer una construcción de repetición [c*] na cadea2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "as expresións [=c=] non poden aparecer na cadea2 ao traducir" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "cando non se trunca o conxunto1, a cadea2 non debe estar baleira" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "cando se traduce con clases de caracteres complementarias,\n" #~ "a cadea2 debe facer corresponder tódolos caracteres do dominio nun só" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "cando se traduce, as únicas clases de caracteres que poden aparecer\n" #~ "na cadea2 son \"upper\" e \"lower\"" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "a construcción [c*] pode aparecer na cadea2 só cando se traduce" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "deben proporcionarse dúas cadeas para traducir" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "debe proporcionarse só unha cadea para borrar sen comprimir repeticións" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "construcción [:upper:] e/ou [:lower:] mal aliñada" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN] [FICHEIRO]\n" #~ "Escribir unha lista totalmente ordeada consistente coa ordeación parcial\n" #~ "do FICHEIRO. Se non se indica un FICHEIRO, ou cando o FICHEIRO é -, lese\n" #~ "da entrada estándar.\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: a entrada contén un lazo:" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: a entrada contén un lazo:" #, fuzzy #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #, fuzzy #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Escribi-lo nome de ficheiro do terminal conectado á entrada estándar.\n" #~ "\n" #~ " -s, --silent, --quiet non escribir nada, só devolver un código de " #~ "saída\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "not a tty" #~ msgstr "non é unha tty" #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Escribir información do sistema. Sen ningunha OPCIÓN, suponse -s.\n" #~ "\n" #~ " -a, --all amosar toda a información\n" #~ " -m, --machine amosa-lo tipo de máquina (hardware)\n" #~ " -n, --nodename amosa-lo nome da máquina de nó de rede\n" #~ " -r, --release amosa-la distribución do sistema operativo\n" #~ " -s, --sysname amosa-lo nome do sistema operativo\n" #~ " -p, --processor amosa-lo tipo de procesador da máquina\n" #~ " -v amosa-la versión do sistema operativo\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "cannot get system name" #~ msgstr "non se pode crea-lo ficheiro temporal" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Converte-los espacios de cada FICHEIRO a tabulacións, gravando na saída\n" #~ "estándar. Sen un FICHEIRO ou cando o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all converter tódolos espacios, no canto de só os " #~ "iniciais\n" #~ " -t, --tabs=NÚMERO tabulacións de NÚMERO caracteres no canto de 8\n" #~ " -t, --tabs=LISTA empregar unha lista de posicións separadas por " #~ "comas\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "%s é grande de máis" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Uso: %s [OPCIÓN]... [ENTRADA [SAÍDA]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Descartar tódalas liñas idénticas da ENTRADA (ou entrada estándar) agás " #~ "unha,\n" #~ "gravando na SAÍDA (ou saída estándar).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count preceder cada liña co número de aparicións\n" #~ " -d, --repeated amosar só as liñas duplicadas\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=método] amosar tódalas liñas duplicadas\n" #~ " método={none(por defecto),prepend,separate}\n" #~ " (ningún, anteceder, separar)\n" #~ " A delimitación faise con liñas en branco.\n" #~ " -f, --skip-fields=N evitar compara-los primeiros N campos\n" #~ " -i, --ignore-case ignora-las diferencias entre maiúsculas-" #~ "minúsculas\n" #~ " ao comparar\n" #~ " -s, --skip­chars=N evitar compara-los primeiros N caracteres\n" #~ " -u, --unique amosar só as liñas únicas\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N non comparar máis de N caracteres en cada liña\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Un campo é un grupo de espacios seguidos de varios caracteres.\n" #~ "Os campos omítense antes dos caracteres.\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "demasiados argumentos" #~ msgid "invalid number of fields to skip" #~ msgstr "número de campos a omitir non válido" #~ msgid "invalid number of bytes to skip" #~ msgstr "número de bytes a omitir non válido" #~ msgid "invalid number of bytes to compare" #~ msgstr "número de bytes a comparar non válido" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "amosar tódalas liñas duplicadas e a conta de repeticións non ten sentido" #, fuzzy #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "cannot unlink %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #~ msgid "couldn't get boot time" #~ msgstr "non se pode obte-la data de inicio" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s funcionando " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "día" #~ msgstr[1] "día" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "usuario incorrecto" #~ msgstr[1] "usuario incorrecto" #~ msgid ", load average: %.2f" #~ msgstr ", carga media: %.2f" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Uso: %s [OPCIÓN]... [FICHEIRO]...\n" #, fuzzy #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Escribi-la hora actual, o tempo que leva o sistema funcionando, o\n" #~ "número de usuarios no sistema, e o número medio de procesos na fila\n" #~ "de execución nos últimos 1, 5 e 15 minutos.\n" #~ "Se non se indica FICHEIRO, usarase %s. O normal como FICHEIRO\n" #~ "é %s\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Escribir quen está conectado actualmente segundo FICHEIRO.\n" #~ "Se non se indica FICHEIRO, usarase %s. O normal como FICHEIRO\n" #~ "é %s\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Escribi-lo número de bytes, palabras e liñas de cada FICHEIRO, e unha " #~ "liña\n" #~ "cos totais se se indica máis dun FICHEIRO. Se non se indica un FICHEIRO, " #~ "ou\n" #~ "se o FICHEIRO é -, lese da entrada estándar.\n" #~ " -c, --bytes escribi-lo número de bytes\n" #~ " -m, --chars escribi-lo número de caracteres\n" #~ " -l, --lines escribi-lo número de saltos de liña\n" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length escribi-la lonxitude da liña máis longa\n" #~ " -w, --words escribi-lo número de palabras\n" #~ msgid " old " #~ msgstr " antigo " #, fuzzy #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "número de usuarios=%u\n" #~ msgid "LINE" #~ msgstr "LIÑA" #, fuzzy #~ msgid "IDLE" #~ msgstr "FALLA" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Uso: %s [OPCIÓN]... FICHEIRO1 FICHEIRO2\n" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Escribi-lo nome de usuario asociado ó identificador efectivo de usuario " #~ "actual\n" #~ "O mesmo que id -un.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: non se pode atopa-lo nome de usuario do UID %u\n" #, fuzzy #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Uso: %s [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN]\n" #~ msgid "program error" #~ msgstr "erro do programa" #~ msgid "stack overflow" #~ msgstr "desbordamento da pila" #~ msgid "block size" #~ msgstr "tamaño de bloque" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "non se pode cambia-lo propietario e/ou grupo de %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "non se pode cambiar ao directorio %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "non se pode obte-lo grupo de login dun UID numérico" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Isto é software libre; vexa o código fonte polas condicións de copia. NON " #~ "hai\n" #~ "garantía; nin sequera de COMERCIABILIDADE ou APTITUDE PARA UN FIN " #~ "DETERMINADO.\n" #~ msgid "too few arguments" #~ msgstr "número de argumentos insuficiente" #, fuzzy #~ msgid "closing standard output" #~ msgstr "saída estándar" #, fuzzy #~ msgid "cannot change to null group" #~ msgstr "non se pode cambia-lo propietario e/ou grupo de %s" #~ msgid "group number" #~ msgstr "número de grupo" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "número incorrecto" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Uso: %s [OPCIÓN]... FICHEIRO_ESQUERDO FICHEIRO_DEREITO\n" #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie e Jim Meyering" #, fuzzy #~ msgid "missing file arguments" #~ msgstr "número de argumentos insuficiente" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "%s existe pero non é un directorio" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "a copiar varios ficheiros, mais o derradeiro argumento %s non é un " #~ "directorio" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "aviso: --version-control (-V) está obsoleta; quitarase o soporte\n" #~ "nunha versión futuro. Use --backup=%s no seu lugar." #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "aviso: --pid=PID non é soportado neste sistema" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp e David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: esperábase un \"+\" ou un \"-\" tralo delimitador" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie e Jim Meyering" #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "demasiados argumentos" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "non se pode especificar ficheiros cando se usa --string" #~ msgid "undefined" #~ msgstr "non definido" #, fuzzy #~ msgid "cannot get time of day" #~ msgstr "non se pode partir en máis dun xeito" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin e David MacKenzie" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s rexistros lidos\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s rexistros escritos\n" #~ msgid "truncated records" #~ msgstr "rexistros truncados" #, fuzzy #~ msgid "unrecognized option %s=%s" #~ msgstr "opción descoñecida \"-%c\"" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "só unha conversión de {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgid " Type" #~ msgstr " Tipo" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "non se poden usar argumentos de tipo FICHEIRO coa opción para amosa-la\n" #~ "base de datos interna de dircolors" #, fuzzy #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie e Jim Meyering" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "a opción \"-LIST\" é obsoleta; empregue \"-t LISTA\"" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "aviso: ERB non portable: `%s': usar `^' coma o primeiro carácter\n" #~ "cunha expresión regular básica non é portable; ignorarase" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [opcións de liña de comandos ignoradas]\n" #~ " ou: %s OPCIÓN\n" #~ "Saír cun código de estado indicando fallo.\n" #~ "\n" #~ "Estes nomes de opcións non se poden abreviar.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "En -wNÚMERO, a letra \"w\" pódese omitir.\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "a opción \"%s\" é obsoleta; empregue \"%s\"" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=TAMAÑO amosa-los primeiros TAMAÑO bytes\n" #~ " -n, --lines=NÚMERO amosa-las primerias NÚMERO liñas no canto de " #~ "10\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "TAMAÑO pode ter un sufixo multiplicativo: b para 512, k para 1K, m para 1 " #~ "mega.\n" #~ msgid "unrecognized option `-%c'" #~ msgstr "opción descoñecida \"-%c\"" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "a opción \"-%s\" é obsoleta; empregue \"-%c %.*s%.*s%s\"" #, fuzzy #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Paul Rubin e David MacKenzie" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "non se poden omiti-lo usuario e o grupo" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "a instalar varios ficheiros, mais o derradeiro argumento %s non é un " #~ "directorio" #, fuzzy #~ msgid "%s is a directory" #~ msgstr "%s existe pero non é un directorio" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "non se pode move-lo punteiro do ficheiro de %s" #, fuzzy #~ msgid "strip failed" #~ msgstr "a obtención de datos do ficheiro fallou" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "número de campo incorrecto para o ficheiro 1: \"%s\"" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "número de campo incorrecto para o ficheiro 2: \"%s\"" #~ msgid "too many non-option arguments" #~ msgstr "demasiados argumentos" #~ msgid "too few non-option arguments" #~ msgstr "insuficientes argumentos" #, fuzzy #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Scott Bartram e David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: O ficheiro xa existe" #, fuzzy #~ msgid "create symbolic link %s to %s" #~ msgstr "ligazón simbólica" #~ msgid "create hard link %s to %s" #~ msgstr "crear ligazón dura %s a %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN]... ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO ÚLTIMO\n" #~ " ou: %s [OPCIÓN]... PRIMEIRO INCREMENTO ÚLTIMO\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "ao facer varias ligazóns, o último argumento ten que ser un directorio" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary le-los ficheiros en modo binario\n" #~ " (por defecto en DOS/Windows)\n" #~ " -c, --check comproba-las sumas %s contra a lista dada\n" #~ " -t, --text le-los ficheiros en modo texto (por defecto)\n" #~ "\n" #~ msgid "file" #~ msgstr "ficheiro" #~ msgid "files" #~ msgstr "ficheiros" #~ msgid "checksum" #~ msgstr "sumas" #~ msgid "checksums" #~ msgstr "sumas" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "as opcións --string e --check son mutuamente exclusivas" #~ msgid "no files may be specified when using --string" #~ msgstr "non se pode especificar ficheiros cando se usa --string" #~ msgid "only one argument may be specified when using --check" #~ msgstr "só se pode especificar un argumento cando se usa --check" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "número de argumentos insuficiente" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "os números de dispositivo `major' e `minor' non se poden indicar para " #~ "fifos" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "non se pode cambia-los permisos de %s" #, fuzzy #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie e Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "ao mover varios ficheiros, o último argumento debe ser un directorio" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Executar COMANDO cunha prioridade de execución axustada.\n" #~ "Sen COMANDO, escribi-la prioridade de execución actual. AXUSTE é 10\n" #~ "por defecto. O rango vai dende -20 (máxima prioridade) a 19 (mínima).\n" #~ "\n" #~ " -AXUSTE incrementar primeiro a prioridade por AXUSTE\n" #~ " -n, --adjustment=AXUSTE o mesmo que -AXUSTE\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "opción de anchura non válida: \"%s\"" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "anchura non válida: \"%s\"" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "non se pode crea-lo directorio %s" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram e David MacKenzie" #~ msgid "old-style offset" #~ msgstr "desprazamento ao estilo antigo" #~ msgid "skip argument" #~ msgstr "argumento de salto" #~ msgid "limit argument" #~ msgstr "argumento de límite" #~ msgid "minimum string length" #~ msgstr "lonxitude mínima da cadea" #~ msgid "width specification" #~ msgstr "especificación do ancho" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "segundo operando no modo de compatibilidade \"%s\" incorrecto" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "no modo de compatibilidade, os últimos 2 argumentos deben ser " #~ "desprazamentos" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat e David MacKenzi" #, fuzzy #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Diagnosticar construccións non portables en NOME.\n" #~ "\n" #~ " -p, --portability comprobar para tódolos sistemas POSIX, non só este\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "o tamaño da tabulación contén un carácter incorrecto" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s existe pero non é un directorio" #~ msgid "directory `%s' is not searchable" #~ msgstr "o directorio `%s' é inaccesible" #, fuzzy #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "o nome `%s' ten unha lonxitude de %d; excede o límite de %d" #, fuzzy #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "a rota `%s' ten unha lonxitude de %d; excede o límite de %d" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "\"--pages\" rango de números de páxina incorrecto: \"%s\"" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "\"--pages\" número de páxina inicial incorrecto: \"%s\"" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "\"--pages\" número de páxina final incorrecto: \"%s\"" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "\"--pages\" o número de páxina inicial é maior có número de páxina final" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "\"--columns=COLUMNA\" número de columnas incorrecto: \"%s\"" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%e %b %Y %H:%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "" #~ "o número de páxina inicial é maior có número total de páxinas: \"%d\"" #~ msgid "Page %d" #~ msgstr "Páxina %d" #, fuzzy #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David Ihnat, David MacKenzie e Jim Meyering" #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: patrón incorrecto" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Uso: %s formato [argumento...]\n" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Este programa é software libre; pode redistribuílo e/ou modificalo baixo\n" #~ "os termos da Licencia Pública Xeral de GNU tal como a publicou a Free\n" #~ "Software Foundation; xa ben a versión 2 ou (á súa elección) calquera\n" #~ "versión posterior.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Este programa distribúese coa intención de que sexa útil, pero\n" #~ "sen NINGUNHA GARANTÍA; nin sequera a garantía implícita de\n" #~ "COMERCIABILIDADE ou VALIDEZA PARA UN FIN PARTICULAR. Vexa a Licencia\n" #~ "Pública Xeral de GNU para máis detalles.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Debería ter recibido unha copia da Licencia Pública Xeral con este\n" #~ "programa; se non, escriba á Free Software Foundation, Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, EE.UU.\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "non se pode executar %s" #, fuzzy #~ msgid "cannot lstat %s" #~ msgstr "non se poden cambia-los permisos de `%s'" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "non se pode cambiar ao directorio %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "non se pode borrar `.' nin `..'" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "Borra (desliga) o(s) FICHEIRO(s).\n" #~ "\n" #~ " -d, --directory desligar directorio, aínda que non estea baleiro\n" #~ " (só super usuario)\n" #~ " -f, --force ignora-los ficheiros que non existan, non " #~ "preguntar\n" #~ " -i, --interactive preguntar antes de borrar\n" #~ " -r, -R, --recursive borra-los contidos dos directorios " #~ "recursivamente\n" #~ " -v, --verbose explica-lo que está a se facer\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Para borrar un ficheiro que empeza con `-', por exemplo `-foo',\n" #~ "use un destes comandos:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ "\n" #~ "Advirta que se utiliza rm para borrar un ficheiro, normalmente é posible\n" #~ "recupera-los contidos dese ficheiro. Se quere ter máis seguridade de " #~ "que\n" #~ "o contido é realmente irrecuperable, considere utilizar o shred.\n" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "cando o valor de comezo e máis grande que o límite,\n" #~ "o incremento ten que ser negativo" #, fuzzy #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "o argumento número do campo inicial da opción `-k' debe ser positivo" #~ msgid "sort size" #~ msgstr "tamaño de ordeación" #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "a opción \"-%d\" é obsoleta; empregue \"-l %d\"" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau e David MacKenzie" #~ msgid "stdin: read error" #~ msgstr "stdin: erro de lectura" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: carácter sufixo incorrecto nunha opción obsoleta" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "demasiados argumentos; cando se usa a sintaxe obsoleta de tail (%s) non " #~ "pode\n" #~ "haber máis dun argumento de ficheiro. Empregue as opcións equivalentes -n " #~ "ou\n" #~ "-c na súa vez." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Aviso: non é portable o uso de dous ou máis argumentos de ficheiro coa\n" #~ "sintaxe obsoleta de tail (%s). Empregue as opcións equivalentes -n ou -c\n" #~ "na súa vez." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "a opción \"%s\" é obsoleta; empregue \"%s-%c %.*s\"" #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s: é tan grande que non é representable" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s é maior có tamaño máximo dos ficheiros neste sistema" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: número máximo de cambios de tamaño consecutivos incorrecto" #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Richard Stallman e David MacKenzie" #~ msgid "argument expected\n" #~ msgstr "agardábase un argumento\n" #~ msgid "integer expression expected %s\n" #~ msgstr "agardábase unha expresión enteira %s\n" #~ msgid "before -lt" #~ msgstr "antes de -lt" #~ msgid "after -lt" #~ msgstr "despois de -lt" #~ msgid "before -le" #~ msgstr "antes de -le" #~ msgid "after -le" #~ msgstr "despois de -le" #~ msgid "before -gt" #~ msgstr "antes de -gt" #~ msgid "after -gt" #~ msgstr "despois de -gt" #~ msgid "before -ge" #~ msgstr "antes de -ge" #~ msgid "after -ge" #~ msgstr "despois de -ge" #~ msgid "before -ne" #~ msgstr "antes de -ne" #~ msgid "after -ne" #~ msgstr "despois de -ne" #~ msgid "before -eq" #~ msgstr "antes de -eq" #~ msgid "after -eq" #~ msgstr "despois de -eq" #~ msgid "after -t" #~ msgstr "despois de -t" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "demasiados argumentos" #, fuzzy #~ msgid "file arguments missing" #~ msgstr "número de argumentos insuficiente" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "secuencia de escape \"\\%c\" incorrecta" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "deben proporcionarse dúas cadeas para borrar e comprimir repeticións" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "debe proporcionarse alomenos unha cadea para comprimir repeticións" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "correspondencia de identidades incorrecta; ao traducir, toda " #~ "construcción\n" #~ "[:lower:] ou [:upper:] da cadea1 debe aliñarse cunha construcción que\n" #~ "corresponda ([:upper:] ou [:lower:], respectivamente) na cadea2" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [opcións de liña de comandos ignoradas]\n" #~ " ou: %s OPCIÓN\n" #~ "Saír cun código de estado indicando éxito.\n" #~ "\n" #~ "Estes nomes de opcións non se poden abreviar.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "only one argument may be specified" #~ msgstr "só se pode especificar un argumento" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "a opción \"-LISTA\" é obsoleta; empregue \"--first-only -t LISTA\"" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "a opción \"-%lu\" é obsoleta; empregue \"-f %lu\"" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: non se pode atopa-lo nome de usuario do UID %u\n" #, fuzzy #~ msgid "Try %s --help' for more information.\n" #~ msgstr "Escriba \"%s --help\" para máis información.\n" #, fuzzy #~ msgid "cannot lstat `.'" #~ msgstr "non se pode establece-la data" #, fuzzy #~ msgid "%s: remove directory %s? " #~ msgstr "non se pode crea-lo directorio %s" #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "" #~ "%s: o directorio %s está protexido contra escritura; ¿entrar nel de\n" #~ "calquera xeito? " #~ msgid "removing all entries of directory %s\n" #~ msgstr "borrando tódalas entradas do directorio %s\n" #~ msgid "continue? " #~ msgstr "¿continuar? " #, fuzzy #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "non se pode cambiar ao directorio %s" #, fuzzy #~ msgid "%s: remove directory %s%s? " #~ msgstr "non se pode crea-lo directorio %s" #~ msgid " (might be nonempty)" #~ msgstr " (podería non estar baleiro)" #, fuzzy #~ msgid "removing the directory itself: %s\n" #~ msgstr "aviso: non se pode cambiar ó directorio %s" #, fuzzy #~ msgid "cannot fork" #~ msgstr "non se poden cambia-los permisos de `%s'" #, fuzzy #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "ERRO: o directorio %s tiña inicialmente os números %lu/%lu de\n" #~ "dispositivo/inodo, pero agora (tras acceder a el), os números de `.'\n" #~ "son %lu/%lu. Isto significa que mentres rm estaba a se executar,\n" #~ "o directorio foi substituído por outro directorio ou por unha ligazón\n" #~ "a outro directorio." #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "ERRO: o directorio %s tiña inicialmente os números %lu/%lu de\n" #~ "dispositivo/inodo, pero agora (tras acceder a el), os números de `.'\n" #~ "son %lu/%lu. Isto significa que mentres rm estaba a se executar,\n" #~ "o directorio foi substituído por outro directorio ou por unha ligazón\n" #~ "a outro directorio." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after changing into at least one subdirectory\n" #~ "and changing back via `..'), the numbers for `.' are %lu/%lu.\n" #~ "That means that while rm was running, a partially-removed subdirectory\n" #~ "was moved to a different position in the file system hierarchy." #~ msgstr "" #~ "ERRO: o directorio %s tiña inicialmente os números %lu/%lu de\n" #~ "dispositivo/inodo, pero agora (tras acceder a el), os números de `.'\n" #~ "son %lu/%lu. Isto significa que mentres rm estaba a se executar,\n" #~ "o directorio foi substituído por outro directorio ou por unha ligazón\n" #~ "a outro directorio." #, fuzzy #~ msgid " or: %s [-acm] MMDDhhmm[YY] FILE... (obsolete)\n" #~ msgstr " ou: %s [-acm] MMDDhhmm[AA] FICHEIRO... (obsoleto)\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Muda a pertenza de grupo de cada FICHEIRO a GRUPO.\n" #~ "\n" #~ " -c, --changes coma `verbose' mais informando só dos cambios\n" #~ " --dereference afectar ao ficheiro ao que se refire a ligazón\n" #~ " simbólica, en vez da propia ligazón simbólica\n" #~ " -h, --no-dereference afectar ás ligazóns simbólicas en vez dos " #~ "ficheiros\n" #~ " referidos (só dispoñible en sistemas que poidan\n" #~ " muda-lo dono dunha ligazón simbólica)\n" #~ " -f, --silent, --quiet suprimi-la maioría das mensaxes de erro\n" #~ " --reference=FICH-R usa-lo grupo de FICH-R en vez do valor indicado\n" #~ " de GRUPO\n" #~ " -R, --recursive operar en ficheiros e directorios " #~ "recursivamente\n" #~ " -v, --verbose amosar unha mensaxe por cada ficheiro procesado\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " the specified OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Muda o dono e/ou grupo de cada FICHEIRO a DONO e/ou GRUPO.\n" #~ "\n" #~ " -c, --changes coma --verbose pero só cando hai algún cambio\n" #~ " --dereference afectar ao ficheiro ao que se refire a ligazón\n" #~ " simbólica, en vez da propia ligazón simbólica\n" #~ " -h, --no-dereference afectar ás ligazóns simbólicas en vez dos " #~ "ficheiros\n" #~ " referidos (só dispoñible en sistemas que poden\n" #~ " muda-lo dono dunha ligazón simbólica)\n" #~ " --from=DONO_ACTUAL:GRUPO_ACTUAL\n" #~ " muda-lo dono e/ou o grupo de cada ficheiro só " #~ "se\n" #~ " o seu dono e/ou grupo actual coincide co " #~ "indicado\n" #~ " aquí. Pode indicarse só un deles, nese caso " #~ "non\n" #~ " se requirirá a coincidencia co atributo " #~ "omitido.\n" #~ " -f, --silent, --quiet suprimi-la maioría das mensaxes de erro\n" #~ " --reference=FICH-R usa-lo dono e o grupo de FICH-R en vez dos " #~ "valores\n" #~ " DONO:GRUPO indicados\n" #~ " -R, --recursive cambiar ficheiros e directorios recursivamente\n" #~ " -v, --verbose amosar unha mensaxe por cada ficheiro procesado\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links\n" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: links, all\n" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents append source path to DIRECTORY\n" #~ " -P same as `--no-dereference'\n" #~ " -r copy recursively, non-directories as " #~ "files\n" #~ " WARNING: use -R instead when you might " #~ "copy\n" #~ " special files like FIFOs or /dev/zero\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "Copia ORIXE a DESTINO, ou múltiples ORIXE(s) a un DIRECTORIO.\n" #~ "\n" #~ " -a, --archive igual a -dpR\n" #~ " --backup[=CONTROL] facer unha copia de seguridade de cada " #~ "ficheiro\n" #~ " destino\n" #~ " -b como --backup mais sen aceptar argumentos\n" #~ " -d, --no-dereference non seguir as ligazóns simbólicas\n" #~ " -f, --force se non se pode abrir un ficheiro destino,\n" #~ " borralo e tentar de novo\n" #~ " -i, --interactive preguntar antes de sobrescribir\n" #~ " -H segui-las ligazóns simbólicas de liña de\n" #~ " comandos\n" #~ " -l, --link facer ligazóns en vez de copiar\n" #~ " -L, --dereference seguir as ligazóns simbólicas\n" #~ " -p, --preserve mante-los atributos dos ficheiros se é " #~ "posible\n" #~ " --parents engadi-lo camiño da orixe ao DIRECTORIO\n" #~ " -P o mesmo que `--parents' por agora; logo " #~ "será\n" #~ " `--no-dereference' para seguir POSIX\n" #~ " -r copiar recursivamente, os non-directorios " #~ "coma\n" #~ " ficheiros. AVISO: empregue -R se " #~ "quere\n" #~ " copiar ficheiros especiais coma FIFOs " #~ "ou\n" #~ " /dev/zero\n" #~ " --remove-destination eliminar os ficheiros de destino antes de\n" #~ " tentar abrilos (contraste con --force)\n" #~ msgid "" #~ "Copy a file, converting and formatting according to the options.\n" #~ "\n" #~ " bs=BYTES force ibs=BYTES and obs=BYTES\n" #~ " cbs=BYTES convert BYTES bytes at a time\n" #~ " conv=KEYWORDS convert the file as per the comma separated keyword " #~ "list\n" #~ " count=BLOCKS copy only BLOCKS input blocks\n" #~ " ibs=BYTES read BYTES bytes at a time\n" #~ " if=FILE read from FILE instead of stdin\n" #~ " obs=BYTES write BYTES bytes at a time\n" #~ " of=FILE write to FILE instead of stdout\n" #~ " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" #~ " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "BLOCKS and BYTES may be followed by the following multiplicative " #~ "suffixes:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Each KEYWORD may be:\n" #~ "\n" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternated EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "Copia un ficheiro, converténdoo e formatándoo segundo as opcións.\n" #~ "\n" #~ " bs=BYTES forzar ibs=BYTES e obs=BYTES\n" #~ " cbs=BYTES converter BYTES bytes de cada vez\n" #~ " conv=PALABRAS converte-lo ficheiro segundo a lista de palabras " #~ "separadas\n" #~ " por coma.\n" #~ " count=BLOQUES copiar só BLOQUES bloques de entrada\n" #~ " ibs=BYTES ler BYTES bytes de cada vez\n" #~ " if=FICHEIRO ler do FICHEIRO en vez da entrada estándar\n" #~ " obs=BYTES escribir BYTES bytes de cada vez\n" #~ " of=FILE escribir no FICHEIRO en vez da saída estándar\n" #~ " seek=BLOQUES saltar na saída os primeiros BLOQUES de tamaño obs\n" #~ " skip=BLOQUES saltar na entrada os primeiros BLOQUES de tamaño ibs\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "BLOQUES e BYTES poden te-los seguintes sufixos multiplicativos:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1.000.000, M 1.048.576,\n" #~ "GD 1.000.000.000, G 1.073.741.824, e do mesmo xeito para T, P, E, Z, Y.\n" #~ "Cada PALABRA pode ser:\n" #~ "\n" #~ " ascii de EBCDIC a ASCII\n" #~ " ebcdic de ASCII a EBCDIC\n" #~ " ibm de ASCII a EBCDIC alternado\n" #~ " block completar rexistros rematados en nova liña con espacios ata " #~ "o\n" #~ " tamaño cbs\n" #~ " unblock substituí-los espacios finais dos rexistros de tamaño cbs " #~ "por\n" #~ " unha fin de liña\n" #~ " lcase cambia-las letras maiúsculas a minúsculas\n" #~ " notrunc non trunca-lo ficheiro de saída\n" #~ " ucase cambia-las letras minúsculas a maiúsculas\n" #~ " swab trocar cada par de bytes da entrada\n" #~ " noerror continuar se hai erros de lectura\n" #~ " sync completar cada bloque de entrada con NULs ata o tamaño ibs; " #~ "ao\n" #~ " usalo con block e unblock, completar con espacios en vez de " #~ "NULs\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Amosa información acerca do sistema de ficheiros no que reside cada " #~ "FICHEIRO,\n" #~ "ou tódolos sistemas de ficheiros por omisión.\n" #~ "\n" #~ " -a, --all incluí-los sistemas de ficheiros con 0 bloques\n" #~ " --block-size=TAM utilizar bloques de TAM bytes\n" #~ " -h, --human-readable escribi-los tamaños nun formato lexible para " #~ "persoas\n" #~ " (p.ex. 1K 234M 2G)\n" #~ " -H, --si o mesmo, mais usando potencias de 1000, non de " #~ "1024\n" #~ " -i, --inodes amosa-la información de inodos en vez dos " #~ "bloques\n" #~ " utilizados\n" #~ " -k, --kilobytes coma --block-size=1024\n" #~ " -l, --local limita-la lista aos sistemas de ficheiros locais\n" #~ " -m, --megabytes coma --block-size=1048576\n" #~ " --no-sync non chamar a sync antes de obte-la información " #~ "de\n" #~ " uso (opción por defecto)\n" #~ " -P, --portability usa-lo formato POSIX de saída\n" #~ " --sync chamar a sync antes de obte-la información de " #~ "uso\n" #~ " -t, --type=TIPO limita-la lista aos sistemas de ficheiros do tipo " #~ "TIPO\n" #~ " -T, --print-type escribi-lo tipo de sistema de ficheiros\n" #~ " -x, --exclude-type=TIPO limita-la lista aos sistemas de ficheiros que " #~ "non\n" #~ " sexan do tipo TIPO\n" #~ " -v (ignorada)\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Amosa un resume da utilización do disco de cada FICHEIRO, recursivamente " #~ "para\n" #~ "directorios.\n" #~ "\n" #~ " -a, --all escribi-la conta para tódolos ficheiros, non só " #~ "os\n" #~ " directorios\n" #~ " -b, --bytes escribi-lo tamaño en bytes\n" #~ " -c, --total producir un total\n" #~ " -D, --dereference-args segui-los camiños a través de ligazóns " #~ "simbólicas\n" #~ " -h, --human-readable escribi-los tamaños nun formato lexible para " #~ "persoas\n" #~ " (p.ex., 1K 234M 2G)\n" #~ " -H, --si o mesmo, mais usando potencias de 1000, non de " #~ "1024\n" #~ " -k, --kilobytes coma --block-size=1024\n" #~ " -l, --count-links conta-los tamaños múltiples veces se hai ligazóns " #~ "duras\n" #~ " -L, --dereference seguir tódalas ligazóns simbólicas\n" #~ " -m, --megabytes coma --block-size=1048576\n" #~ " -S, --separate-dirs non incluí-lo tamaño dos subdirectorios\n" #~ " -s, --summarize amosar só o total para cada argumento\n" #~ " -x, --one-file-system omiti-los directorios en sistemas de ficheiros\n" #~ " distintos\n" #~ " -X FICH, --exclude-from=FICH excluí-los ficheiros que coincidan con " #~ "algún\n" #~ " patrón contido en FICH.\n" #~ " --exclude=PATRÓN excluí-los ficheiros que coincidan co PATRÓN\n" #~ " --max-depth=N escribi-lo total para un directorio (ou ficheiro, " #~ "con\n" #~ " --all), só se está N ou menos niveis debaixo " #~ "do\n" #~ " argumento da liña de comandos; --max-depth=0 é " #~ "o\n" #~ " mesmo que --summarize\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Nas dúas primeiras formas, copia a ORIXE en DESTINO ou varias ORIXE(s) " #~ "ao\n" #~ "DIRECTORIO existente, axustando os permisos e o dono/grupo.\n" #~ "Na terceira forma, crea tódolos compoñentes do(s) DIRECTORIO(s) " #~ "indicados.\n" #~ "\n" #~ " --backup[=CONTROL] facer unha copia de seguridade de cada " #~ "ficheiro\n" #~ " destino\n" #~ " -b como --backup mais sen aceptar argumentos\n" #~ " -c (ignorada)\n" #~ " -d, --directory tratar tódolos argumentos como directorios; crear " #~ "tódolos\n" #~ " compoñentes dos directorios indicados\n" #~ " -D crear tódolos compoñentes iniciais de DESTINO agás " #~ "o\n" #~ " derradeiro, entón copiar ORIXE a DESTINO; útil na\n" #~ " primeira forma\n" #~ " -g, --group=GRUPO establece-los permisos de grupo, en vez do grupo " #~ "do\n" #~ " proceso\n" #~ " -m, --mode=MODO establece-los permisos (coma en chmod), en vez de\n" #~ " rwxr-xr-x\n" #~ " -o, --owner=OWNER establece-lo dono (só super-usuario)\n" #~ " -p, --preserve-timestamps mante-las datas de acceso/modificación dos\n" #~ " ficheiros ORIXE nos correspondentes de " #~ "destino\n" #~ " -s, --strip elimina-las táboas de símbolos, só para a primeira " #~ "e\n" #~ " segunda forma\n" #~ " -S, --suffix=SUFIXO subsituí-lo sufixo habitual da copia de seguridade\n" #~ " -v, --verbose escribi-lo nome de cada directorio ao crealo\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la versión da información e saír\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Crea unha ligazón ao OBXECTIVO indicado cun NOME_DA_LIGAZÓN opcional.\n" #~ "Se se omite o NOME_DA_LIGAZÓN, crearase unha ligazón co mesmo nome base " #~ "que\n" #~ "o OBXECTIVO no directorio actual. Cando se usa a segunda forma con máis " #~ "dun\n" #~ "OBXECTIVO, o último argumento ten que ser un directorio; crea ligazóns " #~ "no\n" #~ "DIRECTORIO para cada OBXECTIVO. Crea ligazóns duras por defecto, " #~ "ligazóns\n" #~ "simbólicas con --symbolic. Cando se crean ligazóns duras, cada " #~ "OBXECTIVO\n" #~ "debe existir.\n" #~ "\n" #~ " --backup[=CONTROL] facer unha copia de seguridade de cada " #~ "ficheiro\n" #~ " destino\n" #~ " -b como --backup mais sen aceptar argumentos\n" #~ " -d, -F, --directory facer ligazón dura de directorios (só " #~ "super\n" #~ " usuario)\n" #~ " -f, --force borra-los ficheiros destino que xa existan\n" #~ " -n, --no-dereference trata-los destinos que sexan ligazóns " #~ "simbólicas\n" #~ " a un directorio coma se fosen ficheiros " #~ "normais\n" #~ " -i, --interactive preguntar se os destinos se borran\n" #~ " -s, --symbolic facer ligazóns simbólicas en vez de duras\n" #~ " -S, --suffix=SUFIXO substituí-lo sufixo habitual da copia de\n" #~ " seguridade\n" #~ " --target-directory=DIRECTORIO indica-lo DIRECTORIO onde se crean " #~ "as\n" #~ " ligazóns\n" #~ " -v, --verbose escribi-lo nome de cada ficheiro antes de\n" #~ " face-la ligazón\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuSUX nor --sort.\n" #~ "\n" #~ " -a, --all do not hide entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ " -f do not sort, enable -aU, disable -lst\n" #~ " -F, --classify append indicator (one of */=@|) to entries\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ "Amosa información dos FICHEIROs (por omisión no directorio actual).\n" #~ "Ordena as entradas alfabeticamente se non se indica ningunha das opcións\n" #~ "-cftuSUX nin --sort.\n" #~ "\n" #~ " -a, --all non oculta-las entradas que empezan con .\n" #~ " -A, --almost-all non amosa-las entradas . e .. implícitas\n" #~ " -b, --escape escribir caracteres de escape en octal para\n" #~ " os caracteres non gráficos\n" #~ " --block-size=TAMAÑO usar bloques de TAMAÑO bytes\n" #~ " -B, --ignore-backups non lista-las entradas que rematan con ~\n" #~ " -c con -lt: amosar e ordenar por ctime (data " #~ "da\n" #~ " última modificación da información do " #~ "estado\n" #~ " de ficheiro)\n" #~ " con -l: amosar ctime e ordenar polo nome\n" #~ " doutro xeito: ordenar por ctime\n" #~ " -C amosa-las entradas en columnas\n" #~ " --color[=CANDO] controla-lo emprego da cor para distingui-" #~ "los\n" #~ " tipos de ficheiros. CANDO pode ser " #~ "`never'\n" #~ " (nunca), `always' (sempre) ou " #~ "`auto' (auto)\n" #~ " -d, --directory amosa-las entradas de directorio en vez dos\n" #~ " seus contidos\n" #~ " -D, --dired xera-la saída para o modo `dired' de Emacs\n" #~ " -f non ordenar, actívase -aU, desactívase -lst\n" #~ " -F, --classify engadir un indicador ás entradas (un de */" #~ "=@|)\n" #~ " --format=PALABRA accross -x [cruzar], commas -m [comas],\n" #~ " horizontal -x, long -l [longo], single-" #~ "column\n" #~ " -1 [unha columna], verbose -l " #~ "[explicativo],\n" #~ " vertical -C\n" #~ " --full-time amosa-la data e a hora completas\n" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line follow symbolic links on the command " #~ "line\n" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode print index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -g (ignorada)\n" #~ " -G, --no-group non amosa-la información do grupo\n" #~ " -h, --human-readable escribi-los tamaños nun formato lexible " #~ "para\n" #~ " humanos (p.ex. 1K 234M 2G)\n" #~ " --si o mesmo, mais usando potencias de 1000, non " #~ "1024\n" #~ " -H igual que `--si' por agora; cambiará para " #~ "seguir\n" #~ " a norma POSIX\n" #~ " --indicator-style=PALABRA engadir un indicador de estilo PALABRA " #~ "aos\n" #~ " nomes das entradas: none [ningún] " #~ "(defecto),\n" #~ " classify [clasificar] (-F), file-type\n" #~ " [tipo de ficheiro] (-p)\n" #~ " -i, --inode escribi-lo número de índice de cada " #~ "ficheiro\n" #~ " -I, --ignore=PATRÓN non amosa-las entradas que encaixen co " #~ "PATRÓN\n" #~ " de shell\n" #~ " -k, --kilobytes coma --block-size=1024\n" #~ " -l usar un formato longo de listaxe\n" #~ " -L, --dereference amosa-las entradas apuntadas polas ligazóns\n" #~ " simbólicas\n" #~ " -m encher ao ancho cunha lista de entradas " #~ "separadas\n" #~ " por coma\n" #~ " -n, --numeric-uid-gid amosar UIDs e GIDs numéricos en vez dos " #~ "nomes\n" #~ " -N, --literal amosa-los nomes reais (non tratar p.ex. os\n" #~ " caracteres de control como especiais)\n" #~ " -o usar un formato de listado longo sen a " #~ "información\n" #~ " do grupo\n" #~ " -p, --file-type engadir un indicador ás entradas (un de /" #~ "=@|)\n" #~ " -q, --hide-control-chars escribir ? en vez dos caracteres non " #~ "gráficos\n" #~ " --show-control-chars amosa-los caracteres non gráficos tal como " #~ "son\n" #~ " (predeterminado a menos que o programa " #~ "sexa\n" #~ " `ls' e a saída sexa un terminal)\n" #~ " -Q, --quote-name arrodea-los nomes entre comiñas\n" #~ " --quoting-style=PALABRA utiliza-lo estilo de cita PALABRA para os " #~ "nomes\n" #~ " das entradas:\n" #~ " literal, shell, shell-always, c, escape\n" #~ " -r, --reverse inverte-la orde ao face-la ordenación\n" #~ " -R, --recursive amosa-los subdirectorios recursivamente\n" #~ " -s, --size escribi-lo tamaño de cada ficheiro, en " #~ "bloques\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD show time as WORD instead of modification " #~ "time:\n" #~ " atime, access, use, ctime or status; use\n" #~ " specified time as sort key if --sort=time\n" #~ " --time-style=WORD show times using style WORD:\n" #~ " full-iso, iso, locale, posix-iso\n" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -1 list one file per line\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ " -S ordenar polo tamaño dos ficheiros\n" #~ " --sort=PALABRA extension [extensión] -X, none [ningunha] -" #~ "U,\n" #~ " size [tamaño] -S, time [data] -t, version\n" #~ " [version] -v, status [estado] -c, atime " #~ "[data\n" #~ " de acceso] -u, access [acceso] -u, use " #~ "[use] -u\n" #~ " --time=PALABRA amosa-la data segundo PALABRA, en vez da " #~ "data\n" #~ " de modificación: atime, access, use, " #~ "ctime, ou\n" #~ " status; usa-la data especificada para " #~ "ordenar\n" #~ " se --sort=time\n" #~ " -t ordenar pola data de modificación\n" #~ " -T, --tabsize=COLS establece-los tabuladores cada COLS, en vez " #~ "de 8\n" #~ " -u con -lt: amosar e ordenar pola data de " #~ "acceso\n" #~ " con -l: amosa-la data de acceso e ordenar " #~ "polo\n" #~ " nome\n" #~ " doutro xeito: ordear pola data de acceso\n" #~ " -U non ordenar; amosa-las entradas na orde do\n" #~ " directorio\n" #~ " -v ordenar por versión\n" #~ " -w, --width=COLS establece-la anchura da pantalla en vez do\n" #~ " valor actual\n" #~ " -x amosa-las entradas en liñas, en vez de " #~ "columnas\n" #~ " -X ordenar alfabéticamente pola extensión da\n" #~ " entrada\n" #~ " -1 amosar un ficheiro por liña\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Por defecto, non se usan cores para distingui-los tipos de ficheiros. É\n" #~ "equivalente a usar --color=none. Usa-la opción --color sen o argumento\n" #~ "opcional CANDO é equivalente a usar --color=always. Con --color=auto, " #~ "os\n" #~ "códigos de cor escríbense só se a saída está conectada a un terminal " #~ "(tty).\n" #, fuzzy #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " -s, --size=N shred this many bytes (suffixes like k, M, G accepted)\n" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ " - shred standard output\n" #~ " --help display this help and exit\n" #~ " --version print version information and exit\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the filesystem overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern filesystem designs do not satisfy this\n" #~ "assumption. The following are examples of filesystems on which shred is\n" #~ "not effective:\n" #~ "\n" #~ "* log-structured or journaled filesystems, such as those supplied with\n" #~ " AIX and Solaris (and JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* filesystems that write redundant data and carry on even if some writes\n" #~ " fail, such as RAID-based filesystems\n" #~ "\n" #~ "* filesystems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ "* filesystems that cache in temporary locations, such as NFS\n" #~ " version 3 clients\n" #~ "\n" #~ "* compressed filesystems\n" #~ "\n" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Sobrescribe repetidamente o(s) FICHEIRO(s) indicados, para facer que " #~ "sexa\n" #~ "máis difícil recuperar os datos, mesmo en hardware complexo.\n" #~ "\n" #~ " -f, --force alterar os permisos para poder escribir se for " #~ "necesario\n" #~ " -n, --iterations=N Sobrescribir N veces en vez do predeterminado (%d)\n" #~ " -s, --size=N destruír este número de bytes (acéptanse sufixos coma k, " #~ "M, G)\n" #~ " -u, --remove truncar e eliminar o ficheiro tras sobrescribilo\n" #~ " -v, --verbose amosar a evolución\n" #~ " -x, --exact non axustar o tamaño dos ficheiros ata un bloque " #~ "completo\n" #~ " -z, --zero sobrescribir con ceros ao rematar para agochar a " #~ "destrucción\n" #~ " - saída estándar do shred\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Os ficheiros bórranse ao indicarse --remove (-u). Por omisión non se " #~ "eliminan\n" #~ "porque o habitual é actuar en ficheiros de dispositivo como /dev/hda, e\n" #~ "normalmente estes non deben ser borrados. No caso dos ficheiros " #~ "regulares,\n" #~ "a maioría da xente usa a opción --remove.\n" #~ "\n" #~ "PRECAUCIÓN: Advirta que o shred se basea en asumir algo moi importante:\n" #~ "que os sistemas de ficheiros sobrescriben os datos. Isto é o xeito " #~ "tradicional\n" #~ "de facelo, pero moitos sistemas de ficheiros modernos están deseñados " #~ "para\n" #~ "non satisfacer isto. Estes son exemplos de sistemas de ficheiros cos que " #~ "o\n" #~ "shred non é efectivo:\n" #~ "\n" #~ "* sistemas 'journaled' ou estructurados con log, como os fornecidos con " #~ "AIX\n" #~ " e Solaris (e JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* sistemas que escriben datos redundantes e continúan mesmo se algunha\n" #~ " escritura falla, como os sistemas de ficheiros baseados en RAID\n" #~ "\n" #~ "* sistemas que fan capturas periódicas, como o servidor NFS de Network\n" #~ " Appliance\n" #~ "\n" #~ "* sistemas que fan caché en localizacións temporais, como os clientes de\n" #~ " NFS versión 3\n" #~ "\n" #~ "* sistemas de ficheiros comprimidos\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ "Actualiza a data de acceso e modificación de cada FICHEIRO á data " #~ "actual.\n" #~ "\n" #~ " -a cambiar só a data de acceso\n" #~ " -c, --no-create non crear ningún ficheiro\n" #~ " -d, --date=CADEA analizar CADEA e usala en vez da data actual\n" #~ " -f (ignorada)\n" #~ " -m cambiar só a data de modificación\n" #~ " -r, --reference=FICH usa-las datas deste ficheiro en vez da data " #~ "actual\n" #~ " -t DATA usar [[SS]AA]MMDDhhmm[.ss] en vez da data " #~ "actual\n" #~ " --time=PALABRA establece-lo tempo indicado por PALABRA:\n" #~ " [acceso] -a, atime [data de acceso] -a,\n" #~ " mtime [data de modificación] -m, modify\n" #~ " [modificación] -m, use [uso] -a\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Advirta de que os tres formatos de hora/data recoñecidos polas opcións -" #~ "d\n" #~ "e -t, e polo argumento obsoleto, son todos diferentes.\n" #~ msgid "" #~ "Warning: the meaning of `-P' will change in the future to conform to " #~ "POSIX.\n" #~ "Use `--parents' for the old meaning, and `--no-dereference' for the new " #~ "one." #~ msgstr "" #~ "Aviso: o significado de `-P' mudará no futuro para seguir a norma POSIX.\n" #~ "Use `--parents' para o significado antigo, e `--no-dereference' para o " #~ "novo." #, fuzzy #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "Copyright (C) 1999 Free Software Foundation, Inc." #, fuzzy #~ msgid "%a %b %d %H:%M:%S %Y" #~ msgstr "%e %b %Y %H:%M" #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "ao crear ficheiros especiais de carácter, débense indicar os números\n" #~ "de dispositivo `major' e `minor'" #~ msgid "days" #~ msgstr "días" #~ msgid "users" #~ msgstr "usuarios" #, fuzzy #~ msgid "%s: only one signal specififier allowed" #~ msgstr "só se pode especificar un argumento" #, fuzzy #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %%%% a literal %%\n" #~ " %%a locale's abbreviated weekday name (Sun..Sat)\n" #~ " %%A locale's full weekday name, variable length (Sunday..Saturday)\n" #~ " %%b locale's abbreviated month name (Jan..Dec)\n" #~ " %%B locale's full month name, variable length (January..December)\n" #~ " %%c locale's date and time (Sat Nov 04 12:02:33 EST 1989)\n" #~ " %%C century (year divided by 100 and truncated to an integer) [00-" #~ "99]\n" #~ " %%d day of month (01..31)\n" #~ " %%D date (mm/dd/yy)\n" #~ " %%e day of month, blank padded ( 1..31)\n" #~ " %%h same as %%b\n" #~ " %%H hour (00..23)\n" #~ " %%I hour (01..12)\n" #~ " %%j day of year (001..366)\n" #~ " %%k hour ( 0..23)\n" #~ " %%l hour ( 1..12)\n" #~ " %%m month (01..12)\n" #~ " %%M minute (00..59)\n" #~ " %%n a newline\n" #~ " %%p locale's AM or PM\n" #~ " %%r time, 12-hour (hh:mm:ss [AP]M)\n" #~ " %%s seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)\n" #~ " %%S second (00..60)\n" #~ " %%t a horizontal tab\n" #~ " %%T time, 24-hour (hh:mm:ss)\n" #~ " %%u day of week (1..7); 1 represents Monday\n" #~ " %%U week number of year with Sunday as first day of week (00..53)\n" #~ " %%V week number of year with Monday as first day of week (01..53)\n" #~ " %%w day of week (0..6); 0 represents Sunday\n" #~ " %%W week number of year with Monday as first day of week (00..53)\n" #~ " %%x locale's date representation (mm/dd/yy)\n" #~ " %%X locale's time representation (%%H:%%M:%%S)\n" #~ " %%y last two digits of year (00..99)\n" #~ " %%Y year (1970...)\n" #~ " %%z RFC-822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %%Z time zone (e.g., EDT), or nothing if no time zone is " #~ "determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ "\n" #~ "FORMATO controla a saída. A única opción válida para a segunda forma\n" #~ "indica a Hora Universal Coordinada. As secuencias interpretadas son:\n" #~ "\n" #~ " %%%% un %% literal\n" #~ " %%a o nome de semana abreviado localizado (Dom..Sáb)\n" #~ " %%A o nome de semana completo localizado, lonx. variable (Domingo.." #~ "Sábado)\n" #~ " %%b o nome de mes abreviado localizado (Xan..Dec)\n" #~ " %%B o nome de mes completo localizado, lonx. variable (Xaneiro.." #~ "Decembro)\n" #~ " %%c data e hora localizadas (Sáb Nov 04 12:02:33 EST 1989)\n" #~ " %%d día de mes (01..31)\n" #~ " %%D data (mm/dd/aa)\n" #~ " %%e día de mes, recheado con espacios en blanco ( 1..31)\n" #~ " %%h o mesmo que %%b\n" #~ " %%H hora (00..23)\n" #~ " %%I hora (01..12)\n" #~ " %%j día do ano (001..336)\n" #~ " %%k hora ( 0..23)\n" #~ " %%l hora ( 1..12)\n" #~ " %%m mes (01..12)\n" #~ " %%M minuto (00..59)\n" #~ " %%n un carácter de nova liña\n" #~ " %%p AM ou PM localizados\n" #~ " %%r hora, en formato de 12 horas (hh:mm:ss [AP]M)\n" #~ " %%s segundos dende as 00:00:00 do 1 de xaneiro de 1970 (extensión " #~ "GNU)\n" #~ " %%S segundo (00..60)\n" #~ " %%t un tabulador horizontal\n" #~ " %%T hora, en formato de 24 horas (hh:mm:ss)\n" #~ " %%U número de semana do ano, co domingo de primeiro día da semana " #~ "(00..53)\n" #~ " %%V número de semana do ano, co luns de primeiro día da semana " #~ "(01..53)\n" #~ " %%w día da semana (0..6); 0 é o domingo\n" #~ " %%W número de semana do ano, co luns de primeiro día da semana " #~ "(00..53)\n" #~ " %%x representación da data localizada (dd/mm/aa)\n" #~ " %%X representación da hora localizada (%%H:%%M:%%S)\n" #~ " %%y últimos dous díxitos do ano (00..99)\n" #~ " %%Y ano (1970..)\n" #~ " %%z zona horaria numérica estilo RFC-822 (+0100) (extensión non " #~ "estándar)\n" #~ " %%Z zona horaria (p.ex, CET), ou nada se non se pode determina-la " #~ "zona\n" #~ "\n" #~ "Por defecto, date rechea os campos numéricos con ceros. O date de GNU\n" #~ "recoñece os seguintes modificadores entre `%%' e unha directiva " #~ "numérica.\n" #~ "\n" #~ " `-' (guión) non rechea-lo campo\n" #~ " `_' (subliñado) rechea-lo campo con espacios\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ " --help display this help and exit (should be alone)\n" #~ " --version output version information and exit (should be alone)\n" #~ "\n" #~ "Without -E, the following sequences are recognized and interpolated:\n" #~ "\n" #~ " \\NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "Escribi-la(s) CADEA(s) á saída estándar.\n" #~ "\n" #~ " -n non escribi-lo carácter de nova liña ó final\n" #~ " -e activa-la interpretación de caracteres de escape " #~ "mediante\n" #~ " barra invertida, listados abaixo\n" #~ " -E desactiva-la interpretación desas secuencias nas " #~ "CADEAs\n" #~ " --help amosar esta axuda e saír (ten que estar soa)\n" #~ " --version amosa-la información da versión e saír (ten que estar " #~ "soa)\n" #~ "\n" #~ "Sen -E, as seguintes secuencias son recoñecidas e inseridas:\n" #~ "\n" #~ " \\NNN o carácter co código ASCII NNN (en octal)\n" #~ " \\\\ barra invertida\n" #~ " \\a campá (BEL)\n" #~ " \\b borrado do carácter anterior\n" #~ " \\c suprime o carácter de nova liña final\n" #~ " \\f salto de páxina\n" #~ " \\n nova liña\n" #~ " \\r retorno de carro\n" #~ " \\t tabulación horizontal\n" #~ " \\v tabulación vertical\n" #, fuzzy #~ msgid "" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 %% ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ "Escribi-lo valor de EXPRESIÓN á saída estándar. As liñas en branco " #~ "separan\n" #~ "os grupos de prioridade crecente. EXPRESIÓN pode ser:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 se non é nulo nin 0, doutro xeito ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 se ningún argumento é nulo ou cero, doutro xeito " #~ "0\n" #~ "\n" #~ " ARG1 < ARG2 ARG1 é menor que ARG2\n" #~ " ARG1 <= ARG2 ARG1 é menor ou igual que ARG2\n" #~ " ARG1 = ARG2 ARG1 é igual que ARG2\n" #~ " ARG1 != ARG2 ARG1 é distinto que ARG2\n" #~ " ARG1 >= ARG2 ARG1 é maior ou igual que ARG2\n" #~ " ARG1 > ARG2 ARG1 é maior que ARG2\n" #~ "\n" #~ " ARG1 + ARG2 suma aritmética de ARG1 e ARG2\n" #~ " ARG1 - ARG2 resta aritmética de ARG1 e ARG2\n" #~ "\n" #~ " ARG1 * ARG2 producto aritmético de ARG1 e ARG2\n" #~ " ARG1 / ARG2 cociente aritmético de ARG1 dividido entre ARG2\n" #~ " ARG1 %% ARG2 resto aritmético de ARG1 dividido entre ARG2\n" #~ "\n" #~ " CADEA : REGEXP encaixe da expresión regular REGEXP en CADEA\n" #~ "\n" #~ " match CADEA REGEXP o mesmo que CADEA : REGEXP\n" #~ " substr CADEA POS LONXIT subcadea de CADEA, contando a POS dende 1\n" #~ " index CADEA CARACTERES índice da CADEA onde se atopa calquera dos\n" #~ " CARACTERES, senón 0\n" #~ " length CADEA lonxitude da CADEA\n" #~ " quote PALABRA interpreta PALABRA como unha cadea, mesmo se\n" #~ " é unha palabra reservada coma `match' ou " #~ "un\n" #~ " un operador coma `/'\n" #~ "\n" #~ " ( EXPRESIÓN ) valor de EXPRESIÓN\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ " -l escribir a saída cun formato longo\n" #~ " -b omiti-lo directorio do usuario e a shell no formato " #~ "longo\n" #~ " -h omiti-lo ficheiro de proxecto do usuario no formato " #~ "longo\n" #~ " -p omiti-lo ficheiro plan do usuario no formato longo\n" #~ " -s escribir a saída cun formato curto (por defecto)\n" #~ " -f omiti-la liña de cabeceiras no formato curto\n" #~ " -w omiti-lo nome completo do usuario no formato curto\n" #~ " -i omiti-lo nome completo do usuario e a máquina remota " #~ "no\n" #~ " formato curto\n" #~ " -q omiti-lo nome completo do usuario, a máquina remota e " #~ "o\n" #~ " tempo de inactividade no formato curto\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Un programa `finger' lixeiro; escribe a información de usuario\n" #~ "O ficheiro utmp será %s.\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\0NNN character with octal value NNN (0 to 3 digits)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " \\xNNN byte with hexadecimal value NNN (1 to 3 digits)\n" #~ "\n" #~ " \\uNNNN character with hexadecimal value NNNN (4 digits)\n" #~ " \\UNNNNNNNN character with hexadecimal value NNNNNNNN (8 digits)\n" #~ " %%%% a single %%\n" #~ " %%b ARGUMENT as a string with `\\' escapes interpreted\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ "Escribi-lo(s) ARGUMENTO(s) seguindo o FORMATO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "FORMATO controla a saída, como en printf de C. As secuencias " #~ "interpretadas\n" #~ "son:\n" #~ "\n" #~ " \\\" comiñas\n" #~ " \\0NNN carácter co valor octal NNN (0 a 3 díxitos)\n" #~ " \\\\ barra invertida\n" #~ " \\a campá audible (BEL)\n" #~ " \\b borrar carácter anterior\n" #~ " \\c non escribir nada máis\n" #~ " \\f salto de páxina\n" #~ " \\n nova liña\n" #~ " \\r retorno de carro\n" #~ " \\t tabulación horizontal\n" #~ " \\v tabulación vertical\n" #~ " \\xNNN carácter co valor hexadecimal NNN (1 a 3 díxitos)\n" #~ "\n" #~ " %%%% un carácter %%\n" #~ " %%b ARGUMENTO é unha cadea con caracteres de escape `\\' " #~ "interpretados\n" #~ "\n" #~ "e tódalas especificacións de formato de C rematando cunha das letras\n" #~ "diouxXfeEgGcs, convertendo os ARGUMENTOs ó tipo correcto primeiro. " #~ "Manéxanse\n" #~ "as anchuras das variables.\n" #, fuzzy #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ "\n" #~ "Caracteres especiais:\n" #~ "* dsusp CARAC CARAC enviará un sinal de para-lo terminal unha vez que " #~ "a\n" #~ " entrada sexa limpada\n" #~ " eof CARAC CARAC enviará un final de ficheiro (remata-la entrada)\n" #~ " eol CARAC CARAC enviará un final de liña\n" #~ "* eol2 CARAC CARAC alternativo para rematar unha liña\n" #~ " erase CARAC CARAC borrará o último carácter escrito\n" #~ " intr CARAC CARAC enviará un sinal de interrupción\n" #~ " kill CARAC CARAC borrará a liña actual\n" #~ "* lnext CARAC CARAC introducirá o seguinte carácter tal como é\n" #~ " quit CARAC CARAC enviará un sinal de saída\n" #~ "* rprnt CARAC CARAC redebuxará a liña actual\n" #~ " start CARAC CARAC reiniciará a saída despois de parala\n" #~ " stop CARAC CARAC parará a saída\n" #~ " susp CARAC CARAC enviará un sinal de parada do terminal\n" #~ "* swtch CARAC CARAC trocará a unha capa de shell distinta\n" #~ "* werase CARAC CARAC borrará a última palabra escrita\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "\n" #~ "Parámetros especiais:\n" #~ " N establece-las velocidades de entrada e de saída a N " #~ "baudios\n" #~ "* cols N dicirlle ó núcleo que o terminal ten N columnas\n" #~ "* columns N o mesmo que cols N\n" #~ " ispeed N establece-la velocidade de entrada a N\n" #~ "* line N usa-la disciplina de liña N\n" #~ " min N con -icanon, establecer a N o número de caracteres mínimo " #~ "para\n" #~ " unha lectura completa\n" #~ " ospeed N establece-la velocidade de saída a N\n" #~ "* rows N dicirlle ó núcleo que o terminal ten N ringleiras\n" #~ "* size escribi-lo número de ringleiras e columnas segundo o " #~ "núcleo\n" #~ " speed escribi-la velocidade do terminal\n" #~ " time N con -icanon, establece-lo tempo de expiración de lectura, " #~ "en\n" #~ " N décimas de segundo\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "\n" #~ "Parámetros da entrada:\n" #~ " [-]brkint o carácter `break' provoca un sinal de interrupción\n" #~ " [-]icrnl converter un retorno de carro a unha nova liña\n" #~ " [-]ignbrk ignora-los caracteres `break'\n" #~ " [-]igncr ignora-los retornos de carro\n" #~ " [-]ignpar ignora-los caracteres con erro de paridade\n" #~ "* [-]imaxbel se o buffer de entrada está cheo e chega un carácter, " #~ "non\n" #~ " limpalo e emitir un pitido\n" #~ " [-]inlcr converter unha nova liña a un retorno de carro\n" #~ " [-]inpck activa-la comprobación da paridade da entrada\n" #~ " [-]istrip limpa-lo bit alto (oitavo) dos caracteres de entrada\n" #~ "* [-]iuclc converte-los caracteres maiúsculos a minúsculos\n" #~ "* [-]ixany permitir que calquera carácter reinicie a saída, non só\n" #~ " o carácter de comezo\n" #~ " [-]ixoff activa-lo envío de caracteres de comezo/parada\n" #~ " [-]ixon activa-lo control de fluxo XON/XOFF\n" #~ " [-]parmrk marcar erros de paridade (cunha secuencia 255-0-" #~ "carácter)\n" #~ " [-]tandem o mesmo que [-]ixoff\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ "\n" #~ "Parámetros locais:\n" #~ " [-]crterase escribi-los caracteres de suprimir coma borrar-espacio-" #~ "borrar\n" #~ "* crtkill eliminar toda a liña obedecendo ós parámetros echoprt e " #~ "echoe\n" #~ "* -crtkill elimitar toda a liña obedecendo ós parámetros echoctl e " #~ "echok\n" #~ "* [-]ctlecho escribi-los caracteres de control cunha notación en " #~ "sombreiro\n" #~ " (`^c')\n" #~ " [-]echo escribi-los caracteres da entrada\n" #~ "* [-]echoctl o mesmo que [-]ctlecho\n" #~ " [-]echoe o mesmo que [-]crterase\n" #~ " [-]echok escribir unha nova liña despois dun carácter de matar\n" #~ "* [-]echoke o mesmo que [-]crtkill\n" #~ " [-]echonl escribir unha nova liña mesmo se non se están a escribir\n" #~ " outros caracteres\n" #~ "* [-]echoprt escribi-los caracteres borrados para atrás, entre `\\' e " #~ "'/'\n" #~ " [-]icanon permiti-los caracteres especiais erase, kill, werase e " #~ "rprnt\n" #~ " [-]iexten permiti-los caracteres especiais non-POSIX\n" #~ " [-]isig permiti-los caracteres especiais interrupt, quit e " #~ "suspend\n" #~ " [-]noflsh non limpa-lo buffer despois dos caracteres especiais " #~ "interrupt\n" #~ " e quit\n" #~ "* [-]prterase o mesmo que [-]echoprt\n" #~ "* [-]tostop para-los traballos en background que tenten escribir ó " #~ "terminal\n" #~ "* [-]xcase con icanon, marca-los caracteres maiúsculos con `\\'\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ "\n" #~ "Parámetros de combinacións:\n" #~ "* [-]LCASE o mesmo que [-]lcase\n" #~ " cbreak o mesmo que -icanon\n" #~ " -cbreak o mesmo que icanon\n" #~ " cooked o mesmo que brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, caracteres eof e eol ós seus valores por defecto\n" #~ " -cooked o mesmo que raw\n" #~ " crt o mesmo que echoe echoctl echoke\n" #~ " dec o mesmo que echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ "* [-]decctlq o mesmo que [-]ixany\n" #~ " ek caracteres erase e kill ós seus valores por defecto\n" #~ " evenp o mesmo que parenb -parodd cs7\n" #~ " -evenp o mesmo que -parenb cs8\n" #~ "* [-]lcase o mesmo que xcase iuclc olcuc\n" #~ " litout o mesmo que -parenb -istrip -opost cs8\n" #~ " -litout o mesmo que parenb istrip opost cs7\n" #~ " nl o mesmo que -icrnl -onlcr\n" #~ " -nl o mesmo que icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp o mesmo que parenb parodd cs7\n" #~ " -oddp o mesmo que -parenb cs8\n" #~ " [-]parity o mesmo que [-]evenp\n" #~ " pass8 o mesmo que -parenb -istrip cs8\n" #~ " -pass8 o mesmo que parenb istrip cs7\n" #~ " raw o mesmo que -ignbrk -brkint -ignpar -parmrk -inpck\n" #~ " -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw o mesmo que cooked\n" #~ " sane o mesmo que cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, e tódolos\n" #~ " caracteres especiais ós seus valores por defecto.\n" #, fuzzy #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and is readable\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ " -S FILE FILE exists and is a socket\n" #~ " -t [FD] file descriptor FD (stdout by default) is opened on a " #~ "terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and is writable\n" #~ " -x FILE FILE exists and is executable\n" #~ msgstr "" #~ "\n" #~ " FICHEIRO1 -ef FICHEIRO2 o FICHEIRO1 e o FICHEIRO2 teñen os mesmos " #~ "números\n" #~ " de dispositivo e de inodo\n" #~ " FICHEIRO1 -nt FICHEIRO2 o FICHEIRO1 é máis novo (data de " #~ "modificación)\n" #~ " que o FICHEIRO2\n" #~ " FICHEIRO1 -ot FICHEIRO2 o FICHEIRO1 é máis antigo que o FICHEIRO2\n" #~ "\n" #~ " -b FICHEIRO o FICHEIRO existe e é especial de bloque\n" #~ " -c FICHEIRO o FICHEIRO existe e é especial de carácter\n" #~ " -d FICHEIRO o FICHEIRO existe e é un directorio\n" #~ " -e FICHEIRO o FICHEIRO existe\n" #~ " -f FICHEIRO o FICHEIRO existe e é un ficheiro normal\n" #~ " -g FICHEIRO o FICHEIRO existe e ten o bit de establecer ID de grupo\n" #~ " -G FICHEIRO o FICHEIRO existe e o seu dono é o ID efectivo de grupo\n" #~ " -k FICHEIRO o FICHEIRO existe e ten o bit pegañento (sticky)\n" #~ " -L FICHEIRO o FICHEIRO existe e é unha ligazón simbólica\n" #~ " -O FICHEIRO o FICHEIRO existe e o seu dono é o ID efectivo de " #~ "usuario\n" #~ " -p FICHEIRO o FICHEIRO existe e é unha canalización nomeada (named " #~ "pipe)\n" #~ " -r FICHEIRO o FICHEIRO existe e é lexible\n" #~ " -s FICHEIRO o FICHEIRO existe e ten un tamaño maior que cero\n" #~ " -S FICHEIRO o FICHEIRO existe e é un socket\n" #~ " -t [DF] o descritor de FICHEIRO DF (saída estándar por defecto) " #~ "está\n" #~ " aberto nun terminal\n" #~ " -u FICHEIRO o FICHEIRO existe e ten o bit de establecer ID de " #~ "usuario\n" #~ " -w FICHEIRO o FICHEIRO existe e pódese escribir\n" #~ " -x FICHEIRO o FICHEIRO existe e é executable\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " --login print system login processes\n" #~ " (equivalent to SUS -l)\n" #~ " -l, --lookup attempt to canonicalize hostnames via DNS\n" #~ " (-l is deprecated, use --lookup)\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users lists users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ " -H, --heading escribir unha liña coas cabeceiras das columnas\n" #~ " -i, -u, --idle engadir o tempo de inactividade do usuario na forma\n" #~ " HORAS:MINUTOS, . ou antigo\n" #~ " -l, --lookup tentar canoniza-los nomes de máquinas a través de " #~ "DNS\n" #~ " -m só o nome da máquina e o usuario asociado coa " #~ "entrada\n" #~ " estándar\n" #~ " -q, --count tódolos nomes de entrada e número de usuarios " #~ "conectados\n" #~ " -s (ignorada)\n" #~ " -T, -w, --mesg engadi-lo estado de mensaxes do usuario como +, - " #~ "ou ?\n" #~ " --message o mesmo que -T\n" #~ " --writable o mesmo que -T\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información da versión e saír\n" #~ "\n" #~ "Se non se indica FICHEIRO, usarase %s. O normal como FICHEIRO\n" #~ "é %s.\n" #~ "Se se indican ARG1 e ARG2, asumirase -m: usualmente son `am i' ou `mom " #~ "likes'.\n" #, fuzzy #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Visualiza-la conta de comprobación CRC e o número de bytes de cada " #~ "FICHEIRO.\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ msgid "USER" #~ msgstr "USUARIO" #~ msgid "MESG " #~ msgstr "MENS " #~ msgid "LOGIN-TIME " #~ msgstr "HORA DE LOGIN" #~ msgid "FROM\n" #~ msgstr "DENDE\n" #~ msgid "virtual memory exhausted" #~ msgstr "memoria virtual esgotada" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx01', " #~ "`xx02', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %%d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %%REGEXP%%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "Extraer anacos de FICHEIRO separados por PATRÓN(s) aos ficheiros `xx01',\n" #~ "`xx02', ..., e escribi-lo tamaño de cada anaco na saída estándar.\n" #~ "\n" #~ " -b, --suffix-format=FORMATO usa-lo FORMATO de sprintf na vez de %%d\n" #~ " -f, --prefix=PREFIXO usa-lo PREFIXO na vez de `xx'\n" #~ " -k, --keep-files non borra-los ficheiros de saida se hai " #~ "erros\n" #~ " -n, --digits=DIXITOS usa-lo número de díxitos indicado na vez de " #~ "2\n" #~ " -s, --quiet, --silent non visualiza-lo tamaño dos ficheiros de " #~ "saida\n" #~ " -z, --elide-empty-files borra-los ficheiros de saída baleiros\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Le-la entrada estándar se o FICHEIRO é -. Cada PATRÓN pode ser:\n" #~ "\n" #~ " ENTEIRO copiar ata, non incluíndoo, o número de liña " #~ "indicado\n" #~ " /REGEXP/[DESPRAZ] copiar ata, non incluíndoa, unha liña que coincida\n" #~ " %%REGEXP/[DESPRAZ] saltar ata, non incluíndoa, unha liña que coincida\n" #~ " {ENTEIRO} repeti-lo último patrón o número de veces que se " #~ "indica\n" #~ " {*} repeti-lo último patrón tantas veces como se poida\n" #~ "\n" #~ "Un DESPRAZamento de liña é un `+' ou `-' seguido dun enteiro positivo.\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ " -b, --bytes=LIST output only these bytes\n" #~ " -c, --characters=LIST output only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ " -f, --fields=LIST output only these fields\n" #~ " -n (ignored)\n" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Imprimir partes seleccionadas de liñas de cada FICHEIRO na saída " #~ "estándar.\n" #~ "\n" #~ " -b, --bytes=LISTA amosar só eses bytes\n" #~ " -c, --characters=LISTA amosar só eses caracteres\n" #~ " -d, --delimiter=DELIM usar DELIM en vez de TAB como delimitador de " #~ "campo\n" #~ " -f, --fields=LISTA amosar só eses campos\n" #~ " -n (ignorado)\n" #~ " -s, --only-delimited non amosar liñas que non conteñan " #~ "delimitadores\n" #~ " --output-delimiter=CADEA usar CADEA coma delimitador de saída\n" #~ " por defecto emprégase o delimitador de " #~ "entrada\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Use unha, e só unha das opcións -b, -c ou -f. Cada LISTA componse dun\n" #~ "rango, ou varios rangos separados por comas. Cada rango é un de:\n" #~ "\n" #~ " N N-ésimo byte, carácter ou campo, contado a partir de 1\n" #~ " N- do N-ésimo byte, carácter ou campo, á fin da liña\n" #~ " N-M do N-ésimo ao M-ésimo (inclusive) byte, carácter ou campo\n" #~ " -M do primeiro ao M-ésimo (inclusive) byte, carácter ou campo\n" #~ "\n" #~ "Sen un FICHEIRO, ou cando o FICHEIRO é -, lese da entrada estándar.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -i, --initial do not convert TABs after non whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "Converte-las tabulacións en cada FICHEIRO en espacios, escribindo na " #~ "saída\n" #~ "estándar. Sen un FICHEIRO, ou cando o FICHEIRO é -, le-la entrada " #~ "estándar.\n" #~ "\n" #~ " -i, --initial converter só as tabulacións do principio da liña\n" #~ " -t, --tabs=NÚMERO usar tabulacións de NÚMERO caracteres, e non 8\n" #~ " -t, --tabs=LISTA usar unha lista de posicións separadas por comas\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Na vez de -t NÚMERO ou -t LISTA, pódense usar -NÚMERO ou -LISTA.\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING combine only lines having STRING as prefix\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=NUMBER maximum line width (default of 75 columns)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "Reformatar cada parágrafo no(s) FICHEIRO(s), escribindo na saída " #~ "estándar.\n" #~ "Se non se indica un FICHEIRO, ou se o FICHEIRO é `-', ler na entrada " #~ "estándar.\n" #~ "\n" #~ "Os argumentos obligatorios nas opcións longas sono tamén nas curtas.\n" #~ " -c, --crown-margin conserva-la sangría das primeiras dúas liñas.\n" #~ " -p, --prefix=CADEA combinar só as liñas que teñan a CADEA de " #~ "prefixo\n" #~ " -s, --split-only parti-las liñas longas, pero non reencher\n" #~ " -t, --tagged-paragraph a sangría da primeira liña é distinta da da " #~ "segunda\n" #~ " -u, --uniform-spacing un espacio entre palabras, e dous entre " #~ "oracións\n" #~ " -w, --width=NÚMERO ancho máximo da liña (75 columnas se non se " #~ "indica)\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "En -wNÚMERO, a letra `w' pode ser omitida.\n" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Parti-las liñas de entrada de cada FICHEIRO (a entrada estándar se non " #~ "se\n" #~ "indican), escribindo na saída estándar.\n" #~ "\n" #~ " -b, --bytes contar bytes na vez de columnas\n" #~ " -s, --spaces parti-las liñas nos espacios en branco\n" #~ " -w, --width=ANCHO usar ANCHO columnas na vez de 80\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ msgid "" #~ "Print first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ "If -VALUE is used as first OPTION, read -c VALUE when one of\n" #~ "multipliers bkm follows concatenated, else read -n VALUE.\n" #~ msgstr "" #~ "Visualiza-las primeiras 10 liñas de cada FICHEIRO na saída estándar.\n" #~ "Con máis dun FICHEIRO, precede cada un cunha cabeceira que indica o seu " #~ "nome.\n" #~ "Se non se indica un FICHEIRO ou cando o FICHEIRO é -, ler da entrada " #~ "estándar.\n" #~ "\n" #~ " -c, --bytes=TAMAÑO visualiza-los primeiros TAMAÑO bytes\n" #~ " -n, --lines=NÚMERO visualiza-las primeiras NÚMERO liñas na vez de " #~ "10\n" #~ " -q, --quiet, --silent non visualiza-las cabeceiras cos nomes de " #~ "ficheiro\n" #~ " -v, --verbose visualiza-las cabeceiras sempre\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "TAMAÑO pode ter un sufixo multiplicador: b para 512, k para 1K, m para " #~ "1M.\n" #~ "Se se usa -VALOR como primeira OPCIÓN, ler -c VALOR cando un dos\n" #~ "multiplicadores bkm segue inmediatamente ó VALOR; noutro caso ler -n " #~ "VALOR.\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a SIDE print unpairable lines coming from file SIDE\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD (obsolescent) equivalent to `-1 FIELD -2 FIELD'\n" #~ " -j1 FIELD (obsolescent) equivalent to `-1 FIELD'\n" #~ " -j2 FIELD (obsolescent) equivalent to `-2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `SIDE.FIELD' or `0'. Default FORMAT outputs the join field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ msgstr "" #~ "Para cada parella de liñas de entrada con campos de join idénticos, " #~ "escribir\n" #~ "unha liña na saída estándar. O campo de join é o primeiro, delimitado " #~ "por\n" #~ "espacios en branco, se non se indica outro. Cando o FICHEIRO1 ou o " #~ "FICHEIRO2\n" #~ "(non ámbolos dous á vez) é -, lese da entrada estándar.\n" #~ "\n" #~ " -a LADO visualiza-las liñas non emparellables do ficheiro " #~ "LADO\n" #~ " -e BALEIRO cambia-los campos de entrada non atopados por " #~ "BALEIRO\n" #~ " -i, --ignore-case ignora-las maiúsculas/minúsculas ao compara-los " #~ "campos\n" #~ " -j CAMPO (obsoleto) equivalente a `-1 CAMPO -2 CAMPO'\n" #~ " -j1 CAMPO (obsoleto) equivalente a `-1 CAMPO'\n" #~ " -j2 CAMPO (obsoleto) equivalente a `-2 CAMPO'\n" #~ " -o FORMATO aplica-lo FORMATO ao construi-la liña resultante\n" #~ " -t CARÁCTER usa-lo CARÁCTER como separador de campos\n" #~ " -v LADO coma -a LADO, pero eliminando as liñas de saída\n" #~ " -1 CAMPO unir po-lo CAMPO indicado do ficheiro 1\n" #~ " -2 CAMPO unir po-lo CAMPO indicado do ficheiro 2\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "A menos que se indique -t CARÁCTER, os espacios en branco iniciais " #~ "separan\n" #~ "campos e son ignorados; do outro xeito, os campos son separados por " #~ "CARÁCTER.\n" #~ "Un CAMPO é un número de campo contando a partir de 1. FORMATO é unha ou " #~ "máis\n" #~ "especificacións separadas por comas ou espacios en branco, cada unha da " #~ "forma\n" #~ "`LADO.CAMPO' ou `0'. O FORMATO que se aplica se non se indica ningún\n" #~ "visualiza o campo de join, os campos restantes de FICHEIRO1 e os campos\n" #~ "restantes de FICHEIRO2, todo separado por CHAR.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ " or: %s [OPTION] --check [FILE]\n" #~ "Print or check MD5 checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check MD5 sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formated MD5 checksum " #~ "lines\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "The sums are computed as described in RFC 1321. When checking, the " #~ "input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "Uso: %s [OPCIÓN] [FICHEIRO]...\n" #~ " ou: %s [OPCIÓN] --check [FICHEIRO]\n" #~ "Visualizar ou comproba-las sumas de comprobación MD5.\n" #~ "Se non se indica un FICHEIRO, ou se o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "\n" #~ " -b, --binary le-los ficheiros en modo binario (por defecto " #~ "en DOS/Windows)\n" #~ " -c, --check comproba-las sumas MD5 contra a lista dada\n" #~ " -t, --text le-los ficheiros en modo texto (por defecto)\n" #~ "\n" #~ "As seguintes dúas opcións son útiles só cando se comproban as sumas:\n" #~ " --status non visualizar, o código de estado informa do " #~ "éxito\n" #~ " -w, --warn avisar de liñas de suma MD5 mal formatadas\n" #~ "\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "As sumas calcúlanse como se describe no RFC 1321. Cando se comproban, a\n" #~ "entrada debería ser unha saída anterior deste programa. O modo por " #~ "defecto\n" #~ "é visualizar unha liña con suma de comprobación, un carácter que indica " #~ "o\n" #~ "tipo (`*' para binario, ` ' para texto), e o nome de cada FICHEIRO.\n" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pREGEXP number only lines that contain a match for REGEXP\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "Escribir cada FICHEIRO na saída estándar, con números de liña engadidos.\n" #~ "Se non se indica un FICHEIRO, ou se o FICHEIRO é -, ler da entrada " #~ "estándar.\n" #~ "\n" #~ " -b, --body-numbering=ESTILO usa-lo ESTILO para numera-las liñas do " #~ "corpo\n" #~ " -d, --section-delimiter=CC usar CC para separa-las páxinas " #~ "lóxicas\n" #~ " -f, --footer-numbering=ESTILO usa-lo ESTILO para numera-las liñas do " #~ "pé\n" #~ " -h, --header-numbering=ESTILO usa-lo ESTILO para numera-las liñas da\n" #~ " cabeceira\n" #~ " -i, --page-increment=NÚMERO incremento do número de liña\n" #~ " -l, --join-blank-lines=NÚMERO cada grupo de NÚMERO liñas baleiras " #~ "cóntase\n" #~ " como unha soa\n" #~ " -n, --number-format=FORMATO inserta-los números de liña polo " #~ "FORMATO\n" #~ " -p, --no-renumber non reinicia-los números de liña coa " #~ "páxina\n" #~ " -s, --number-separator=CADEA engadi-la CADEA tras cada número de " #~ "liña\n" #~ " -v, --first-page=NÚMERO primeiro número de liña de cada páxina\n" #~ " -w, --number-width=NÚMERO usar NÚMERO columnas para os números de " #~ "liña\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e " #~ "saír\n" #~ "\n" #~ "Se non se indica, selecciónase -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn.\n" #~ "CC son dous caracteres delimitadores para separar páxinas lóxicas; se " #~ "non\n" #~ "hai segundo carácter suponse :. Teclee \\\\ para obter \\. O ESTILO é " #~ "un de:\n" #~ "\n" #~ " a numerar tódalas liñas\n" #~ " t numerar só as liñas non baleiras\n" #~ " n non numera-las liñas\n" #~ " pREGEXP numerar só as liñas que coinciden con REGEXP\n" #~ "\n" #~ "O FORMATO é un de:\n" #~ "\n" #~ " ln xustificar á esquerda, sen ceros iniciais\n" #~ " rn xustificar á dereita, sen ceros iniciais\n" #~ " rz xustificar á dereita, con ceros iniciais\n" #~ "\n" #~ msgid "" #~ "Write an unambiguous representation, octal bytes by default, of FILE\n" #~ "to standard output. With no FILE, or when FILE is -, read standard " #~ "input.\n" #~ "\n" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first on each file\n" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes per file\n" #~ " -s, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in pre-POSIX form\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Pre-POSIX format specifications may be intermixed, they accumulate:\n" #~ " -a same as -t a, select named characters\n" #~ " -b same as -t oC, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal shorts\n" #~ " -f same as -t fF, select floats\n" #~ " -h same as -t x2, select hexadecimal shorts\n" #~ " -i same as -t d2, select decimal shorts\n" #~ " -l same as -t d4, select decimal longs\n" #~ " -o same as -t o2, select octal shorts\n" #~ " -x same as -t x2, select hexadecimal shorts\n" #~ msgstr "" #~ "Escribir unha representación non ambigua, con bytes octais se non se " #~ "indica,\n" #~ "do FICHEIRO na saída estándar. Sen un FICHEIRO, ou se o FICHEIRO é -, " #~ "ler da\n" #~ "entrada estándar.\n" #~ "\n" #~ " -A, --address-radix=BASE decidir cómo se visualizan os " #~ "desprazamentos\n" #~ " -j, --skip-bytes=BYTES saltarse BYTES bytes de entrada en cada " #~ "ficheiro\n" #~ " -N, --read-bytes=BYTES limita-lo volcado a BYTES bytes por " #~ "ficheiro\n" #~ " -s, --strings[=BYTES] visualizar cadeas de alomenos BYTES " #~ "caracteres\n" #~ " gráficos\n" #~ " -t, --format=TIPO selecciona-lo formato ou formatos de saída\n" #~ " -v, --output-duplicates non usar * para marca-la eliminación de " #~ "liñas\n" #~ " -w, --width[=BYTES] visualizar BYTES bytes por liña de saída\n" #~ " --traditional aceptar argumentos en formato pre-POSIX\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Pódense mestura-las especificacións de formato pre-POSIX, e son " #~ "acumulativas:\n" #~ " -a igual que -t a, selecciona-los caracteres nomeados\n" #~ " -b igual que -t oC, seleccionar bytes octais\n" #~ " -c igual que -t c, seleccionar caracteres ASCII ou secuencias de " #~ "escape\n" #~ " -d igual que -t u2, seleccionar enteiros curtos decimais sen signo\n" #~ " -f igual que -t fF, seleccionar números en coma flotante\n" #~ " -h igual que -t x2, seleccionar enteiros curtos hexadecimais\n" #~ " -i igual que -t d2, seleccionar enteiros curtos decimais\n" #~ " -l igual que -t d4, seleccionar enteiros longos decimais\n" #~ " -o igual que -t o2, seleccionar enteiros curtos octais\n" #~ " -x igual que -t x2, seleccionar enteiros curtos hexadecimais\n" #~ msgid "" #~ "\n" #~ "For older syntax (second call format), OFFSET means -j OFFSET. LABEL\n" #~ "is the pseudo-address at first byte printed, incremented when dump is\n" #~ "progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates\n" #~ "hexadecimal, suffixes maybe . for octal and b multiply by 512.\n" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character\n" #~ " c ASCII character or backslash escape\n" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, it is multiplied by 512\n" #~ "with b suffix, by 1024 with k and by 1048576 with m. Adding a z suffix " #~ "to\n" #~ "any type adds a display of printable characters to the end of each line\n" #~ "of output. -s without a number implies 3. -w without a number implies " #~ "32.\n" #~ "By default, od uses -A o -t d2 -w 16.\n" #~ msgstr "" #~ "\n" #~ "Para a sintaxe antiga (segundo formato de chamada), DESPRAZAMENTO quere " #~ "dicir\n" #~ "-j DESPRAZAMENTO. ETIQUETA é a pseudo-dirección do primeiro byte " #~ "visualizado,\n" #~ "que se incrementa durante o volcado. Para DESPRAZAMENTO e ETIQUETA, un\n" #~ "prefixo 0x ou 0X indica hexadecimal; os sufixos poden ser . para octal e\n" #~ "b para multiplicar por 512.\n" #~ "\n" #~ "TIPO componse dunha ou máis destas especificacións:\n" #~ "\n" #~ " a carácter nomeado\n" #~ " c carácter ASCII ou secuencia de escape\n" #~ " d[TAMAÑO] decimal con signo, TAMAÑO bytes por enteiro\n" #~ " f[TAMAÑO] punto flotante, TAMAÑO bytes por enteiro\n" #~ " o[TAMAÑO] octal, TAMAÑO bytes por enteiro\n" #~ " u[TAMAÑO] decimal sen signo, TAMAÑO bytes por enteiro\n" #~ " x[TAMAÑO] hexadecimal, TAMAÑO bytes por enteiro\n" #~ "\n" #~ "TAMAÑO é un número. Para o TIPO en doux, TAMAÑO pode tamén ser C para\n" #~ "sizeof(char), S para sizeof(short), I para sizeof(int) ou L para\n" #~ "sizeof(long). Se TIPO é f, TAMAÑO tamén pode ser F para sizeof(float), D\n" #~ "para sizeof(double) ou L para sizeof(long double).\n" #~ "\n" #~ "BASE é d para decimal, o para octal, x para hexadecimal ou n para " #~ "ningunha.\n" #~ "BYTES é hexadecimal se leva un prefixo 0x ou 0X, multiplícase por 512 se\n" #~ "leva un sufixo b, por 1024 cun k e por 1048576 cun m. Engadir un sufixo " #~ "z\n" #~ "a calqueira tipo engade unha mostra de caracteres imprimibles á fin de " #~ "cada\n" #~ "liña de saída. -s sen un número implica 3. -w sen un número implica " #~ "32.\n" #~ "Se non se indica nada, od usa -A o -t d2 -w 16.\n" #~ msgid "" #~ "specified number of bytes `%s' is larger than the maximum\n" #~ "representable value of type `long'" #~ msgstr "" #~ "o número de bytes indicado `%s' é maior có valor máximo\n" #~ "representable de tipo `long'" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Escribir liñas consistentes nas liñas que corresponden secuencialmente " #~ "en\n" #~ "cada FICHEIRO, separadas por tabulacións, na saída estándar.\n" #~ "Se non se indica un FICHEIRO, ou se o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "\n" #~ " -d, --delimiters=LISTA usa-los caracteres da LISTA na vez de " #~ "tabulacións\n" #~ " -s, --serial pegar un ficheiro de cada vez na vez de en " #~ "paralelo\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ msgid "%s%*s%s%*sPage" #~ msgstr "%s%*s%s%*sPáxina" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " produce COLUMN-column output and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ "Paxinar ou encolumna-lo(s) FICHEIRO(s) para imprimir.\n" #~ "\n" #~ " +PRIMEIRA_PÁXINA[:ÚLTIMA_PÁXINA]\n" #~ " comezar [deter] a impresión coa PRIMEIRA_[ÚLTIMA_]" #~ "PÁXINA\n" #~ " -COLUMNAS, --columnas=COLUMNAS\n" #~ " producir unha saida de COLUMNAS columnas e imprimir " #~ "por\n" #~ " columnas, agás se se usa a opción -a. Iguala-lo " #~ "número\n" #~ " de liñas nas columnas de cada páxina.\n" #~ " -a, --across imprimi-las columnas a través e non cara a abaixo, " #~ "úsase\n" #~ " á vez que -COLUMNAS\n" #~ " -c, --show-control-chars\n" #~ " usa-las notacións de circunflexo (^G) e barra octal\n" #~ " -d, --double-space\n" #~ " producir a saída a dobre espacio\n" #~ " -e[CAR[ANCHO]], --expand-tabs[=CAR[ANCHO]]\n" #~ " expandi-los CARacteres de entrada (TABs) ao ANCHO " #~ "(8)\n" #~ " -F, -f, --form-feed\n" #~ " usar saltos de páxina na vez de saltos de liña para\n" #~ " separar páxinas (por unha cabeceira de páxina de 3 " #~ "liñas\n" #~ " con -f ou unha cabeceira e un pé de 5 liñas sen -f)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " with long headers left-hand-side truncation may " #~ "occur,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, -S[STRING] sets separators\n" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -h CABECEIRA, --header=CABECEIRA\n" #~ " usar unha CABECEIRA centrada na vez do nome do " #~ "ficheiro.\n" #~ " Con cabeceiras longas, pode haber truncamento á " #~ "esquerda\n" #~ " -h \"\" imprime unha liña en branco. Non use -h\"\"\n" #~ " -i[CAR[ANCHO]], --output-tabs[=CAR[ANCHO]]\n" #~ " cambia-los espacios por CARacteres (TABs) de ANCHO " #~ "(8)\n" #~ " -J, --join-lines mesturar liñas completas, desactiva -W, sen " #~ "aliñamento\n" #~ " de columnas, -S[CADEA] pon separadores\n" #~ " -l LONXITUDE, --length=LONXITUDE\n" #~ " establece-la lonxitude da páxina a LONXITUDE (66) " #~ "liñas\n" #~ " (se non se indica nada, 56 liñas, e con -F 63)\n" #~ " -m, --merge imprimir tódolos ficheiros en paralelo, un en cada\n" #~ " columna, trunca-las liñas, pero uni-las liñas de\n" #~ " lonxitude completa con -J\n" #~ " -n[SEP[CIFRAS]], --number-lines[=SEP[CIFRAS]]\n" #~ " numera-las liñas, empregar CIFRAS (5) cifras, e logo " #~ "o\n" #~ " SEParador (TAB), a conta comeza por defecto coa " #~ "primeira\n" #~ " liña do ficheiro de entrada\n" #~ " -N NÚMERO, --first-line-number=NÚMERO\n" #~ " comezar a contar polo NÚMERO na primeira liña da " #~ "primeira\n" #~ " páxina imprimida (vexa +PRIMEIRA_PÁXINA)\n" #~ " -o MARXE, --indent=MARXE\n" #~ " desprazar cada liña MARXE (cero) espacios, non " #~ "afectar\n" #~ " a -w ou -W, a MARXE engádese ao ANCHO_PAXINA\n" #~ " -r, --no-file-warnings\n" #~ " omiti-los avisos cando non se pode abrir un ficheiro\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ " -S[STRING], --sep-string[=STRING]\n" #~ " separate columns by an optional STRING, don't use\n" #~ " -S \"STRING\", -S only: No separator used (same as -S" #~ "\"\"),\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ " -s[CAR], --separator[=CAR]\n" #~ " separa-las columnas cun só CARácter, o CARácter por\n" #~ " defecto é o carácter sen -w, e ningún con -w\n" #~ " -s[CAR] desactiva o truncamento das tres opcións de\n" #~ " columnas (-COLUMNAS|-a -COLUMNAS|-m) agás se se " #~ "indica -w\n" #~ " -S[CADEA], --sep-string[=CADEA]\n" #~ " separa-las columnas cunha CADEA opcional, non " #~ "empregue\n" #~ " -S \"CADEA\", -S só: Non se emprega separador (igual " #~ "ca\n" #~ " -S\"\"), sen -S: Separador por defecto con -J " #~ "e\n" #~ " , noutro caso (igual que -S\" \"), sen " #~ "efecto nas\n" #~ " opcións de columnas\n" #~ " -t, --omit-header omiti-las cabeceiras e pés de páxina\n" #~ " -T, --omit-pagination\n" #~ " omiti-las cabeceiras e pés de páxina, eliminar toda " #~ "a\n" #~ " paxinación con saltos de liña dos ficheiros de " #~ "entrada\n" #~ " -v, --show-nonprinting\n" #~ " usa-la notación octal de barra invertida\n" #~ " -w ANCHO_PÁXINA, --width=ANCHO_PÁXINA\n" #~ " poñe-lo ancho de páxina a ANCHO_PÁXINA (72) " #~ "caracteres\n" #~ " só para a saida de varias columnas de texto, -s[car]\n" #~ " desactívao (72)\n" #~ " -W ANCHO_PÁXINA, --page-width=ANCHO_PÁXINA\n" #~ " establece-lo ancho da páxina a ANCHO_PÁXINA (72)\n" #~ " caracteres e trunca-las liñas, agás cando se indica " #~ "a\n" #~ " opción -J, sen interferencias con -S ou -s\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "-T é implicado por -l nn cando nn <= 10 ou <= 3 con -F. Se non se indica " #~ "un\n" #~ "FICHEIRO, ou cando o FICHEIRO é -, ler da entrada estándar.\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ "\n" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -C, --copyright display Copyright and copying " #~ "conditions\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "Os argumentos que son obrigatorios nas opcións longas son obrigatorios " #~ "nas\n" #~ "curtas tamén.\n" #~ "\n" #~ " -A, --auto-reference amosa-las referencias xeradas " #~ "automaticamente\n" #~ " -C, --copyright amosa-lo Copyright e as condicións de " #~ "copia\n" #~ " -G, --traditional parecerse máis ao `ptx' de System V\n" #~ " -F, --flag-truncation=CADEA usa-la CADEA para marca-las liñas " #~ "truncadas\n" #~ " -M, --macro-name=CADEA nome de macro que empregar na vez de " #~ "`xx'\n" #~ " -O, --format=roff xera-la saída coma directivas de roff\n" #~ " -R, --right-side-refs poñe-las referencias á dereita, non " #~ "contadas\n" #~ " en -w\n" #~ " -S, --sentence-regexp=REGEXP para a fin das liñas ou das oracións\n" #~ " -T, --format=tex xera-la saída coma directivas de TeX\n" #~ " -W, --word-regexp=REGEXP usar REGEXP para busca-las claves\n" #~ " -b, --break-file=FICHEIRO caracteres que parten palabras neste " #~ "FICHEIRO\n" #~ " -f, --ignore-case converte-las minúsculas a maiúsculas " #~ "para\n" #~ " ordear\n" #~ " -g, --gap-size=NÚMERO tamaño do oco entre campos da saída\n" #~ " -i, --ignore-file=FICHEIRO ler toda a lista de palabras de " #~ "FICHEIRO\n" #~ " -o, --only-file=FICHEIRO le-la lista de palabras só do FICHEIRO\n" #~ " -r, --references o primeiro campo de cada liña é unha\n" #~ " referencia\n" #~ " -t, --typeset-mode - non implementado -\n" #~ " -w, --width=NÚMERO ancho da saída, excluindo a referencia\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosa-la información sobre a versión e " #~ "saír\n" #~ "\n" #~ "Se non se indica un FICHEIRO ou se o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "A opción `-F /' inclúese se non se indica outra cousa.\n" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Este programa é software libre; pode redistribuílo e/ou modificalo\n" #~ "baixo os termos da Licencia Pública Xeral de GNU tal como foi publicada\n" #~ "pola Free Software Foundation; xa a versión 2, ou (á súa elección)\n" #~ "calqueira versión posterior.\n" #~ "\n" #~ "Este programa é distribuído coa esperanza de que sexa útil, pero\n" #~ "SEN NINGUNHA GARANTÍA; nin sequera a garantía implícita de " #~ "COMERCIABILIDADE\n" #~ "ou APTITUDE PARA UN FIN EN PARTICULAR. Vexa a Licencia Pública Xeral de\n" #~ "GNU para ter máis detalles.\n" #~ "\n" #~ "Debería ter recibido unha copia da Licencia Pública Xeral de GNU con\n" #~ "este programa; se non é o caso, escriba á Free Software Foundation, " #~ "Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, EE.UU.\n" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ " +POS1 [-POS2] start a key at POS1, end it *before* POS2 " #~ "(obsolescent)\n" #~ "\t\t field numbers and character offsets are numbered\n" #~ " starting with zero (contrast with the -k option)\n" #~ " -b ignore leading blanks in sort fields or keys\n" #~ " -c check if given files already sorted, do not sort\n" #~ " -d consider only [a-zA-Z0-9 ] characters in keys\n" #~ " -f fold lower case to upper case characters in keys\n" #~ " -g compare according to general numerical value, imply -" #~ "b\n" #~ " -i consider only [\\040-\\0176] characters in keys\n" #~ " -k POS1[,POS2] start a key at POS1, end it *at* POS2\n" #~ "\t\t field numbers and character offsets are numbered\n" #~ " starting with one (contrast with zero-based +POS " #~ "form)\n" #~ " -m merge already sorted files, do not sort\n" #~ " -M compare (unknown) < `JAN' < ... < `DEC', imply -b\n" #~ " -n compare according to string numerical value, imply -b\n" #~ " -o FILE write result on FILE instead of standard output\n" #~ " -r reverse the result of comparisons\n" #~ " -s stabilize sort by disabling last resort comparison\n" #~ " -t SEP use SEParator instead of non- to whitespace " #~ "transition\n" #~ " -T DIRECTORY use DIRECTORY for temporary files, not $TMPDIR or %s\n" #~ " -u with -c, check for strict ordering;\n" #~ " with -m, only output the first of an equal sequence\n" #~ " -z end lines with 0 byte, not newline, for find -print0\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Escribir una concatenación ordeada de tódolos FICHEIRO(s) na saída " #~ "estándar.\n" #~ "\n" #~ " +POS1 [-POS2] comezar unha clave en POS1, e acabala *antes* de POS2\n" #~ " (obsoleta). Os números de campo e os desprazamentos\n" #~ " numéranse comezando por 0 (non coma a opción -k\n" #~ " -b ignora-los espacios en branco iniciais nos campos e " #~ "claves\n" #~ " de ordeación\n" #~ " -c comprobar se os ficheiros xa están ordeados, non " #~ "ordear\n" #~ " -d considerar só os caracteres [a-zA-Z0-9 ] nas claves\n" #~ " -f converter minúsculas a maiúsculas nas claves\n" #~ " -g comparar segundo o valor numérico xeral, implica -b\n" #~ " -i considerar só os caracteres [\\040-\\0176] nas claves\n" #~ " -k POS1[,POS2] comezar unha clave en POS1, e acabala *en* POS2\n" #~ " os números de campo e os desprazamentos numéranse " #~ "comezando\n" #~ " por 1 (non coma a forma +POS, que comeza en 0)\n" #~ " -m mesturar ficheiros xa ordeados, non ordear\n" #~ " -M comparar (descoñecido) < 'JAN' < ... < 'DEC', implica -" #~ "b\n" #~ " -n comparar polo valor numérico de cadea, implica -b\n" #~ " -o FICHEIRO escribi-lo resultado no FICHEIRO na vez da saída " #~ "estándar\n" #~ " -r inverti-lo resultado das comparacións\n" #~ " -s estabiliza-la ordeación desactivando a comparación de\n" #~ " derradeiro recurso\n" #~ " -t SEP usa-lo SEParador na vez de espacios en branco\n" #~ " -T DIRECTORIO usa-lo DIRECTORIO para ficheiros temporais, non " #~ "$TMPDIR\n" #~ " ou %s\n" #~ " -u con -c, controla-la ordenación estricta;\n" #~ " con -m, visualizar só a primeira dun grupo de iguais\n" #~ " -z acabada-las liñas cun byte 0, non cun salto de liña, " #~ "para\n" #~ " find -print0\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ msgid "" #~ "when using the old-style +POS and -POS key specifiers,\n" #~ "the +POS specifier must come first" #~ msgstr "" #~ "cando se usan os especificadores de clave ao antigo estilo +POS e -POS,\n" #~ "o especificador +POS debe ir primeiro" #~ msgid "option `-k' requires an argument" #~ msgstr "a opción `-k' precisa dun argumento" #~ msgid "starting field spec has `.' but lacks following character offset" #~ msgstr "" #~ "a especificación do campo inicial ten un `.' pero non o segue\n" #~ "o desprazamento" #~ msgid "" #~ "starting field character offset argument to the `-k' option\n" #~ "must be positive" #~ msgstr "" #~ "o argumento desprazamento do campo inicial da opción `-k'\n" #~ "debe ser positivo" #~ msgid "field specification has `,' but lacks following field spec" #~ msgstr "" #~ "a especificación do campo ten un `,' pero non o segue a\n" #~ "especificación do seguinte campo" #~ msgid "ending field number argument to the `-k' option must be positive" #~ msgstr "o argumento número de campo final da opción `-k' debe ser positivo" #~ msgid "ending field spec has `.' but lacks following character offset" #~ msgstr "" #~ "a especificación do campo final ten `.' pero non segue\n" #~ "o desprazamento" #~ msgid "option `-o' requires an argument" #~ msgstr "a opción `-o' precisa dun argumento" #~ msgid "option `-t' requires an argument" #~ msgstr "a opción `-t' precisa dun argumento" #~ msgid "option `-T' requires an argument" #~ msgstr "a opción `-T' precisa dun argumento" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "PREFIX is `x'. With no INPUT, or when INPUT is -, read standard input.\n" #~ "\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ " -NUMBER same as -l NUMBER\n" #~ " --verbose print a diagnostic to standard error just\n" #~ " before each output file is opened\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "Escribir anacos de tamaño fixo do ficheiro de ENTRADA nos ficheiros " #~ "PREFIXOaa,\n" #~ "PREFIXOab, ...; se non se indica o prefixo, este é `x'. Sen un ficheiro " #~ "de\n" #~ "ENTRADA, ou se a ENTRADA é -, lese da entrada estándar.\n" #~ "\n" #~ " -b, --bytes=TAMAÑO poñer TAMAÑO bytes por ficheiro de saída\n" #~ " -C, --line-bytes=TAMAÑO poñer como máximo TAMAÑO bytes de liñas por " #~ "ficheiro\n" #~ " de saída\n" #~ " -l, --lines=NÚMERO poner NÚMERO liñas por ficheiro de saída\n" #~ " -NÚMERO igual que -l NÚMERO\n" #~ " --verbose visualizar un diagnóstico no error estándar " #~ "xusto\n" #~ " antes de abrir cada ficheiro de saída\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "O TAMAÑO pode ter un sufixo multiplicador: b para 512, k para 1K, m para " #~ "1Meg.\n" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ " -c, --bytes=N output the last N bytes\n" #~ " -f, --follow[={name|descriptor}] output appended data as the file " #~ "grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d\n" #~ " --max-unchanged-stats=N see the texinfo documentation\n" #~ " (the default is %d)\n" #~ " --max-consecutive-size-changes=N see the texinfo documentation\n" #~ " (the default is %d)\n" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep S seconds between iterations\n" #~ " -v, --verbose always output headers giving file names\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b for 512, k for 1024, m for 1048576 (1 Meg). A first OPTION of -VALUE\n" #~ "or +VALUE is treated like -n VALUE or -n +VALUE unless VALUE has one of\n" #~ "the [bkm] suffix multipliers, in which case it is treated like -c VALUE\n" #~ "or -c +VALUE.\n" #~ "\n" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ "\n" #~ msgstr "" #~ "Escribi-las derradeiras %d liñas de cada FICHEIRO na saída estándar.\n" #~ "Con máis dun FICHEIRO, precédese cada un cunha cabeceira que indica o " #~ "nome.\n" #~ "Se non se indica un FICHEIRO, ou se o FICHEIRO é -, lese da entrada " #~ "estándar.\n" #~ "\n" #~ " --retry seguir tentando abrir un ficheiro incluso se " #~ "é\n" #~ " inaccesible cando tail comeza ou se se " #~ "volve\n" #~ " inaccesible despois -- útil só con -f\n" #~ " -c, --bytes=N escribi-los derradeiros N bytes\n" #~ " -f, --follow[={name|descriptor}] escribi-los datos engadidos cando o\n" #~ " ficheiro medra. -f, --follow, e\n" #~ " --follow=descriptor son equivalentes\n" #~ " -n, --lines=N escribi-las derradeiras N liñas, na vez das %" #~ "d\n" #~ " --max-unchanged-stats=N vexa a documentación de texinfo\n" #~ " (por defecto é %d)\n" #~ " --max-consecutive-size-changes=N vexa a documentación de texinfo\n" #~ " (por defecto é %d)\n" #~ " --pid=PID con -f, rematar despois de que proceso " #~ "indicado\n" #~ " morra\n" #~ " -q, --quiet, --silent non escribi-las cabeceiras que indican os " #~ "nomes\n" #~ " -s, --sleep-interval=S con -f, durmir S segundos entre iteracións\n" #~ " -v, --verbose escribir sempre as cabeceiras que indican os " #~ "nomes\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Se o primeiro carácter de N (o número de bytes ou liñas) é un `+',\n" #~ "escríbese comezando polo N-ésimo elemento dende o principio de cada " #~ "ficheiro,\n" #~ "e nos demáis casos escríbense os derradeiros N elementos do ficheiro. N " #~ "pode\n" #~ "ter un sufixo multiplicativo: b para 512, k para 1024, m para 1048576 (1\n" #~ "Mega). Unha primeira OPCIÓN de -VALOR ou +VALOR é tratada coma -n VALOR " #~ "ou\n" #~ "-n +VALOR agás se VALOR ten un dos sufixos multiplicadores [bkm], entón\n" #~ "trátase coma -c VALOR ou -c +VALOR.\n" #~ "\n" #~ "Con --follow (-f), tail segue, por defecto, o descriptor do ficheiro, o " #~ "que\n" #~ "significa que incluso se un ficheiro ao que se fai tail se lle cambia o " #~ "nome,\n" #~ "tail segue amosando a súa fin. Este comportamento por defecto non é " #~ "desexable\n" #~ "cando quere amosa-lo ficheiro con ese nome, non o seu descriptor (por " #~ "exemplo,\n" #~ "rotación de ficheiros de rexistro). Use --follow=name nese caso. Isto fai " #~ "que\n" #~ "tail busque o ficheiro con ese nome reabríndoo periodicamente para ver " #~ "se\n" #~ "foi eliminado e recreado por outro programa.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR1-CHAR2] same as CHAR1-CHAR2, if both SET1 and SET2 use this\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ "\n" #~ "Os CONXUNTOs especifícanse como cadeas de caracteres. A maioría " #~ "represéntanse\n" #~ "a sí mesmos. As secuencias interpretadas son:\n" #~ "\n" #~ " \\NNN o carácter co valor octal NNN (de 1 a 3 díxitos " #~ "octais)\n" #~ " \\\\ barra invertida\n" #~ " \\a campá audible (BEL)\n" #~ " \\b borrar carácter anterior\n" #~ " \\f salto de páxina\n" #~ " \\n salto de liña\n" #~ " \\r retorno de carro\n" #~ " \\t tabulación horizontal\n" #~ " \\v tabulación vertical\n" #~ " CAR1-CAR2 tódolos caracteres de CAR1 a CAR2 en orde crecente\n" #~ " [CAR1-CAR2] igual que CAR1-CAR2, se CONXUNTO1 e CONXUNTO2 o usan á " #~ "vez\n" #~ " [CAR*] en CONXUNTO2, copias de CAR ata a lonxitude do " #~ "CONXUNTO1\n" #~ " [CAR*REPET] REPETir copias de CAR, REPETir un octal se comeza por " #~ "0\n" #~ " [:alnum:] tódalas letras e díxitos\n" #~ " [:alpha:] tódalas letras\n" #~ " [:blank:] tódolos espacios en branco horizontais\n" #~ " [:cntrl:] tódolos caracteres de control\n" #~ " [:digit:] tódolos díxitos\n" #~ " [:graph:] tódolos caracteres imprimibles, sen conta-lo espacio\n" #~ " [:lower:] tódalas letras minúsculas\n" #~ " [:print:] tódolos caracteres imprimibles, contando o espacio\n" #~ " [:punct:] tódolos caracteres de puntuación\n" #~ " [:space:] tódolos espacios en branco horizontais e verticais\n" #~ " [:upper:] tódalas letras maiúsculas\n" #~ " [:xdigit:] tódolos díxitos hexadecimais\n" #~ " [=CAR=] tódolos caracteres equivalentes a CAR\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. -s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "\n" #~ "A traducción faise se non se indica -d e ámbolos dous CONXUNTO1 e " #~ "CONXUNTO2\n" #~ "aparecen. Pode usarse -t só cando se traduce. CONXUNTO2 esténdese ata " #~ "a\n" #~ "lonxitude do CONXUNTO1 repetindo o seu derradeiro carácter tantas veces " #~ "como\n" #~ "sexa necesario. Os caracteres excesivos do CONXUNTO2 ignóranse. Só se\n" #~ "garantiza que [:lower:] e [:upper:] serán expandidos en orde crecente; " #~ "usados\n" #~ "no CONXUNTO2 na traducción, poden ser usados só en parellas para indica-" #~ "la\n" #~ "conversión de maiúsculas a minúsculas e viceversa. -s usa o CONXUNTO1 se " #~ "non\n" #~ "se está a traducir ou borrar; noutro caso a compresión usa o CONXUNTO2 e\n" #~ "sucede trala traducción ou borrado.\n" #~ msgid "" #~ "Convert spaces in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -a, --all convert all whitespace, instead of initial " #~ "whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart instead of 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "Converte-los espacios de cada FICHEIRO a tabulacións, escribindo na " #~ "saída\n" #~ "estándar. Se non se indica un FICHEIRO, ou se o FICHEIRO é -, lese da " #~ "entrada\n" #~ "estándar.\n" #~ "\n" #~ " -a, --all converte-los espacios en branco, non só os " #~ "iniciais\n" #~ " -t, --tabs=NÚMERO que as tabulacións sexan de NÚMERO caracteres e non " #~ "8\n" #~ " -t, --tabs=LISTA usar unha lista de posicións separadas por comas\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Na vez de -t NÚMERO ou -t LISTA, pode empregarse -NÚMERO ou -LISTA.\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ " -D, --all-repeated print all duplicate lines\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -w, --check-chars=N compare no more than N characters in lines\n" #~ " -N same as -f N\n" #~ " +N same as -s N\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "A field is a run of whitespace, then non-whitespace characters.\n" #~ "Fields are skipped before chars.\n" #~ msgstr "" #~ "Desbotar tódalas as liñas idénticas sucesivas, agás unha, da ENTRADA (ou\n" #~ "entrada estándar), escribindo na SAÍDA (ou saída estándar).\n" #~ "\n" #~ " -c, --count precede-las liñas polo número de repeticións\n" #~ " -d, --repeated escribir só as liñas duplicadas\n" #~ " -D, --all-repeated escribir tódalas liñas duplicadas\n" #~ " -f, --skip-fields=N evita-la comparación dos primeiros N campos\n" #~ " -i, --ignore-case ignora-las maiúsculas e minúsculas na " #~ "comparación\n" #~ " -s, --skip-chars=N evita-la comparación dos primeiros N caracteres\n" #~ " -u, --unique escribir só as liñas que non estén duplicadas\n" #~ " -w, --check-chars=N non comparar máis de N caracteres nas liñas\n" #~ " -N igual que -f N\n" #~ " +N igual que -s N\n" #~ " --help amosar esta axuda e saír\n" #~ " --version amosar información sobre a versión e saír\n" #~ "\n" #~ "Un campo é un conxunto de caracteres distintos de espacios en branco.\n" #~ "Sáltanse os campos e logo os caracteres.\n" #~ msgid "could not find loop" #~ msgstr "non se puido atopa-lo lazo" dc3dd-7.1.614/po/ms.po0000644000175000017500000034542011233346647014055 0ustar amedicoamedico# Terjemahan coreutils untuk Bahasa Melayu. # Copyright (C) 2001 Free Software Foundation, Inc. # Hasbullah Bin Pit , 2003. # msgid "" msgstr "" "Project-Id-Version: coreutils 5.0.90\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2003-08-10 16:00+0800\n" "Last-Translator: Hasbullah Bin Pit \n" "Language-Team: Malay \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Mike Parker and David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "tak dapat mencipta direktori %s" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Cuba `%s --help' untuk maklumat lanjut .\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Pengunaan: %s [NOMBOR]...\n" " atau: %s OPSYEN\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Salin fail, menukar dan memformat mengikut opsyen.\n" "\n" " bs=BAIT paksa ibs=BAIT dan obs=BAIT\n" " cbs=BAIT tukar BAIT byte dalam satu masa\n" " conv=KATAKUNCI tukar fail sebagai per senarai katakunci dipisahkan koma\n" " count=BLOK salin hanya BLOK blok input\n" " ibs=BAIT baca BAIT bait dlm satu masa\n" #: src/dc3dd.c:1107 msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s: Direktori sasaran yang dinyatakan adalah bukan direktori" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Ralat sistem yang tidak diketahui" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "menutup fail input %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "menutup fail output %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 msgid "Split extensions exhausted" msgstr "" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "Membuka %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "GAGAL" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "opsyen tidak dikenali %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "tarikh tak sah `%s'" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "format tarikh tidak sah %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "format tarikh tidak sah %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "format tarikh tidak sah %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "penukaran tidak sah: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "nombor tidak sah %s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "kumpulan tidak sah" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "pengguna tidak sah %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "nombor tidak sah %s" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "membaca %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: tak dapat buang" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 msgid "advance: warning: invalid file offset after failed read" msgstr "" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "menetapkan masa untuk %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "membaca direktori %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "membaca direktori %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "Menulis ke %s." #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, fuzzy, c-format msgid "fsync failed for %s" msgstr "gagal mengekalkan masa bagi %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "input piawai" #: src/dc3dd.c:3938 msgid "standard output" msgstr "output standard" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "tak dapat fstat %s" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "tak dapat omit kedua-dua pengguna dan kumpulan" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "tak boleh banding nama fail %s dan %s" #, fuzzy #~ msgid "error writing %s" #~ msgstr "menulis %s" #~ msgid "invalid argument %s for %s" #~ msgstr "hujah tidak sah %s bagi %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "hujah ambiguous %s bagi %s" #~ msgid "Valid arguments are:" #~ msgstr "Hujah sah adalah:" #, fuzzy #~ msgid "error closing file" #~ msgstr "menutup fail input %s" #~ msgid "write error" #~ msgstr "ralat menulis" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "menetapkan keizinan pada %s" #~ msgid "cannot stat %s" #~ msgstr "tak dapat stat %s" #~ msgid "regular empty file" #~ msgstr "fail kosong biasa" #~ msgid "regular file" #~ msgstr "fail biasa" #~ msgid "directory" #~ msgstr "direktori" #~ msgid "block special file" #~ msgstr "fail istimewa blok" #~ msgid "character special file" #~ msgstr "fail istimewa aksara" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "pautan simbolik" #~ msgid "socket" #~ msgstr "soket" #~ msgid "message queue" #~ msgstr "giliran mesej" #~ msgid "shared memory object" #~ msgstr "objek memori terkongsi" #, fuzzy #~ msgid "typed memory object" #~ msgstr "objek memori terkongsi" #~ msgid "weird file" #~ msgstr "fail pelik" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "fail fifo tidak disokong" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "fail fifo tidak disokong" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "fail fifo tidak disokong" #, fuzzy #~ msgid "System error" #~ msgstr "ralat menulis" #, fuzzy #~ msgid "Unknown error" #~ msgstr "Ralat sistem yang tidak diketahui" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: opsyen `%s' adalah ambiguous\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: opsyen `--%s' tidak mengizinkan hujah\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: opsyen `%c%s' tidak mengizinkan hujah\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: opsyen `%s' memerlukan hujah\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: opensyen tidak dikenali `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: opensyen tidak dikenali `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opsyen tidak dibenarkan -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: opsyen tidak sah -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: opsyen memerlukan hujah -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: opsyen `-W %s' adalah ambiguous\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: opsyen `-W %s' tidak mengizinkan hujan\n" #~ msgid "cannot change permissions of %s" #~ msgstr "tak dapat menukar keizinan %s" #~ msgid "cannot create directory %s" #~ msgstr "tak dapat mencipta direktori %s" #~ msgid "memory exhausted" #~ msgstr "memori keletihan" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "gagal untuk kembali ke direktori kerja pemulaan" #~ msgid "failed to return to initial working directory" #~ msgstr "gagal untuk kembali ke direktori kerja pemulaan" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "`" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "fail istimewa blok" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: ungkapan biasa (regexp) tidak sah: %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "aksara tidak sah pada %s pada rentetan mod %s" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "memori keletihan" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: ungkapan biasa (regexp) tidak sah: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "ralat pada carian ungkapan biasa (regexp)" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "ralat pada carian ungkapan biasa (regexp)" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "ralat pada carian ungkapan biasa (regexp)" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[tT]" #~ msgid "setting permissions for %s" #~ msgstr "menetapkan keizinan pada %s" #~ msgid "iconv function not usable" #~ msgstr "fungsi iconv tak boleh digunakan" #~ msgid "iconv function not available" #~ msgstr "fungsi iconv tidak ada" #~ msgid "character out of range" #~ msgstr "aksara di luar julat" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "tak dapat menukar U+%04X ke set aksara lokal" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "tak dapat menukar U+%04X ke set aksara lokal: %s" #~ msgid "invalid user" #~ msgstr "pengguna tidak sah" #~ msgid "invalid group" #~ msgstr "kumpulan tidak sah" #, fuzzy #~ msgid "invalid spec" #~ msgstr "pengguna tidak sah" #~ msgid "Written by %s.\n" #~ msgstr "Ditulis oleh %s.\n" #, fuzzy #~ msgid "Written by %s and %s.\n" #~ msgstr "Ditulis oleh %s.\n" #, fuzzy #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Ditulis oleh %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "Ditulis oleh %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "Ditulis oleh %s.\n" #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "hujah tidak sah %s bagi %s" #~ msgid "string comparison failed" #~ msgstr "perbandingan rentetan gagal" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Tetapkan LC_ALL='C' untuk mengatasi masalah." #~ msgid "The strings compared were %s and %s." #~ msgstr "Rentetan dibandingkan adalah %s dan %s." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "perbandingan rentetan gagal" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "hujah tidak sah %s bagi %s" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "hujah tidak sah %s bagi %s" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s adalah terlalu besar" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #~ msgid "read error" #~ msgstr "ralat membaca" #, fuzzy #~ msgid "invalid input" #~ msgstr "pengguna tidak sah" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "saiz tab tidak sah: %s" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "gagal mengekalkan masa bagi %s" #~ msgid "closing standard input" #~ msgstr "menutup input piawai" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s NAMA [SUFFIKS]\n" #~ " atau: %s OPSYEN\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Cetak NAMA dengan komponen direktori awalan telah dibuang.\n" #~ "Jika dinyatakan, juga akan membuang DUFFIKS ekoran.\n" #, fuzzy #~ msgid "missing operand" #~ msgstr "kehilangan hujah fail" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjorn Granlund and Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Penggunaan: %s [OPSYEN] [FAIL]...\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t setara dengan -vT\n" #~ " -T, --show-tabs papar aksara TAB sebagai ^I\n" #~ " -u (diabaikan)\n" #~ " -v, --show-nonprinting guna notasi ^ and M- , kecuali bagi LFD dan " #~ "TAB\n" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "tak dapat ioctl pada `%s'" #~ msgid "%s: input file is output file" #~ msgstr "%s: fail input adalah fail output" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "gagal mendapatkan atribut bagi %s" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "gagal mendapatkan atribut bagi %s" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "gagal menukar hakmilik %s ke %s\n" #~ msgid "cannot access %s" #~ msgstr "Tak dapat mengakses %s" #~ msgid "cannot read directory %s" #~ msgstr "tak dapat membaca direktori %s" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "menukar keizinan %s" #, fuzzy #~ msgid "fts_read failed" #~ msgstr "fail biasa" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Penggunaan: %s [OPSYEN]... PEMILIK[:[KUMPULAN]] FAIL...\n" #~ " atau: %s [OPSYEN]... :KUMPULAN FAIL...\n" #~ " atau: %s [OPSYEN]... --reference=RFAIL FAIL...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Tukar pemilik dan/atau kumpulan bagi setiap FAIL ke PEMILIH dan/atau " #~ "KUMPULAN.\n" #~ "\n" #~ " -c, --changes seperti verbose tetapi lapor hanya bila " #~ "perubahan dilakukan\n" #~ " --dereference melibatkan rujukan bagi setiap pautan simbolik,\n" #~ " bukannya pautan smbolik itu sendiri.\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet sorok mesej ralat\n" #~ " --reference=RFAIL guna pemilik dan kumpulan RFAIL dan bukannya\n" #~ " nilai yg dinyatakan PEMILIK:KUMPULAN\n" #~ " -R, --recursive beroperasi pada fail dan direktori secara " #~ "rekursif\n" #~ " -v, --verbose output diagnostik bagi setiap fail yg diproses\n" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "kehilangan hujah fail" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "penukaran tidak sah: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "gagal mendapatkan atribut bagi %s" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "kumpulan tidak sah %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Penggunaan: %s [OPTION]... GROUP FILE...\n" #~ " atau: %s [OPTION]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Tukar keahlian kumpulan bagi setiap FAIL ke KUMPULAN.\n" #~ "\n" #~ " -c, --changes seperti verbose tetapi lapor hanya bila prubahan " #~ "dilakukan\n" #~ " --dereference meliputi rujukan bagi setiap pautan simbolik\n" #~ " bukannya pautan simbolik itu sendiri\n" #, fuzzy #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference meliputi pautan simbolik selain drpd sebarang " #~ "fail dirujuk\n" #~ " (hanya boleh pada sistem yang boleh menukar\n" #~ " pemilikan bagi pautan simbolik)\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet sorok mesej ralat\n" #~ " --reference=RFAIL guna pemilik dan kumpulan RFAIL dan bukannya\n" #~ " nilai yg dinyatakan PEMILIK:KUMPULAN\n" #~ " -R, --recursive beroperasi pada fail dan direktori secara " #~ "rekursif\n" #~ " -v, --verbose output diagnostik bagi setiap fail yg diproses\n" #~ msgid "getting new attributes of %s" #~ msgstr "mendapatkan atribut baru untuk %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "kedua-duanya pautan simbolik %s dan rujukan telah berubah\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "mod %s berubah kepada %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "gagal menukar mod %s kepada %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "mod %s kekal sebagai %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "tak dapat mencipta pautan simbolik %s" #~ msgid "changing permissions of %s" #~ msgstr "menukar keizinan %s" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "menetapkan keizinan pada %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Penggunaan: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " atau: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " atau: %s [OPTION]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet sorok mesej ralat\n" #~ " --reference=RFAIL guna pemilik dan kumpulan RFAIL dan bukannya\n" #~ " nilai yg dinyatakan PEMILIK:KUMPULAN\n" #~ " -R, --recursive beroperasi pada fail dan direktori secara " #~ "rekursif\n" #~ " -v, --verbose output diagnostik bagi setiap fail yg diproses\n" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "mod tak sah %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "hakmilik %s telah bertukar ke %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "kumpulan %s telah bertukar ke %s\n" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "tak dapat menukar keizinan %s" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "gagal menukar hakmilik %s ke %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "gagal menukar kumpulan %s ke %s\n" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "gagal menukar hakmilik %s ke %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "hakmilik %s kekal sebagai %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "kumpulan %s kekal sebagai %s\n" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "hakmilik %s kekal sebagai %s\n" #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "tak dapat membuang %s" #~ msgid "changing ownership of %s" #~ msgstr "penukaran hakmilik %s" #~ msgid "changing group of %s" #~ msgstr "penukaran kumpulan %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Penggunaan: %s [OPTION]... GROUP FILE...\n" #~ " atau: %s [OPTION]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Tukar pemilik dan/atau kumpulan bagi setiap FAIL ke PEMILIH dan/atau " #~ "KUMPULAN.\n" #~ "\n" #~ " -c, --changes seperti verbose tetapi lapor hanya bila " #~ "perubahan dilakukan\n" #~ " --dereference melibatkan rujukan bagi setiap pautan simbolik,\n" #~ " bukannya pautan smbolik itu sendiri.\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet sorok mesej ralat\n" #~ " --reference=RFAIL guna pemilik dan kumpulan RFAIL dan bukannya\n" #~ " nilai yg dinyatakan PEMILIK:KUMPULAN\n" #~ " -R, --recursive beroperasi pada fail dan direktori secara " #~ "rekursif\n" #~ " -v, --verbose output diagnostik bagi setiap fail yg diproses\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s ROOTBARU [ARAHAN...]\n" #~ " atau: %s OPSYEN\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Laksana ARAHAN dengan direktori root ditetapkan ke ROOTBARU.\n" #~ "\n" #~ msgid "cannot change root directory to %s" #~ msgstr "Gagal menukar direktori root ke %s " #~ msgid "cannot chdir to root directory" #~ msgstr "tak dapat chdir ke direktori root" #, fuzzy #~ msgid "cannot run command %s" #~ msgstr "takboleh nyahpaut %s" #~ msgid "%s: file too long" #~ msgstr "%s: fail terlalu panjang" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Pengunaan: %s [FAIL]...\n" #~ " atau: %s [OPSYEN]\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman dan David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Penggunaan: %s [OPSYEN]...FAIL1 FAIL2\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "menetapkan keizinan pada %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "gagal mengekalkan hakmilik bagi %s" #~ msgid "failed to lookup file %s" #~ msgstr "gagal mencari fail %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "gagal mengekalkan hakmilik bagi %s" #~ msgid "cannot open %s for reading" #~ msgstr "tak dapat buka %s untuk dibaca" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "gagal menukar kumpulan %s ke %s\n" #~ msgid "cannot remove %s" #~ msgstr "tak dapat membuang %s" #~ msgid "removed %s\n" #~ msgstr "%s dibuang \n" #~ msgid "cannot create regular file %s" #~ msgstr "tak dapat memcipta fail biasa %s" #~ msgid "cannot lseek %s" #~ msgstr "tak dapat lseek %s" #~ msgid "writing %s" #~ msgstr "menulis %s" #~ msgid "preserving times for %s" #~ msgstr "mengekalkan masa pada %s" #~ msgid "closing %s" #~ msgstr "menutup %s" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: menindih %s, menindih mod %04lo? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: tindih %s? " #~ msgid " (backup: %s)" #~ msgstr " (backup: %s)" #~ msgid "warning: source file %s specified more than once" #~ msgstr "Amaran: fail sumber %s dinyatakan lebih drpd sekali" #~ msgid "%s and %s are the same file" #~ msgstr "%s dan %s adalah fail yang sama" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "tak boleh menindih bukan-direktori %s dengan direktori %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "tak akan menindih baru-dicipta %s dengan %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "tak boleh menindih direktori %s dengan direktori" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "tak dapat pindah direktori ke bukan-direktori: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "backup %s akan memusnahkan sumber; %s tidak dipindahkan" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "backup %s akan memusnahkan sumber; %s tidak disalin" #~ msgid "cannot backup %s" #~ msgstr "tak dapat backup %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "tak akan menindih baru-dicipta %s dengan %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "tak dapat salin direktori, %s ke dirinya, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "tidak akan mencipta pautan keras %s ke direktori %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "tak dapat mencipta pautan keras %s ke %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "tak dapat pindahkan %s ke subdirektori dirinya, %s" #~ msgid "cannot move %s to %s" #~ msgstr "tak dapat pindahkan %s ke %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "pindahan antara-peranti gagak: %s ke %s; tak dapat memindah sasaran" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "gagal mendapatkan atribut bagi %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "tak boleh salin pautan simbolik cyclic %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: hanya boleh membuat pautan simbolik relatif pada direktori semasa" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "tak dapat mencipta pautan simbolik %s ke %s" #~ msgid "cannot create link %s" #~ msgstr "tak boleh mencipta pautan %s" #~ msgid "cannot create fifo %s" #~ msgstr "tak boleh mencipta fifo %s" #~ msgid "cannot create special file %s" #~ msgstr "tak boleh mencipta fail istimewa %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "tak dapat membaca pautan simbolik %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "tak dapat mencipta pautan simbolik %s" #~ msgid "%s has unknown file type" #~ msgstr "%s mempunyai jenis fail yang tidak diketahui" #~ msgid "cannot un-backup %s" #~ msgstr "tak dapat nyahbackup %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (nyahbackup)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Penggunaan: %s [OPSYEN]... SUMBER DEST\n" #~ " atau: %s [OPSYEN]... SUMBER... DIREKTORI\n" #~ " atau: %s [OPSYEN]... --target-directory=DIREKTORI SUMBER...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Salin SUMBER ke DEST, atau banyak SUMBER ke DIREKTORI.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Hujah mandatori kepada opsyen panjang andalah mandatori bagi opsyen " #~ "pendek juga.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive sama seperti -dpR\n" #~ " --backup[=CONTROL] buat backup bagi setiap fail destinasi\n" #~ " -b seperti --backup tetapi tak menerima " #~ "hujah\n" #~ " --copy-contents salin kandungan bagi fail sitimewa bila " #~ "rekursif\n" #~ " -d sama seperti --no-dereference --" #~ "preserve=link\n" #~ msgid "failed to preserve times for %s" #~ msgstr "gagal mengekalkan masa bagi %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "gagal mengekalkan keizinan bagi %s" #~ msgid "cannot make directory %s" #~ msgstr "tak dapat cipta direktori %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s wujud tapi ianya bukan direktori" #~ msgid "accessing %s" #~ msgstr "mengakses %s" #, fuzzy #~ msgid "missing file operand" #~ msgstr "kehilangan hujah fail" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "kehilangan fail destinasi" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "Sasaran yang dinyatakan, %s adalah bukan direktori" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "bila mengekalkan path, destinasi mestilah direktori" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "banyak opsyen -l or -t dinyatakan" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "tak dapat buat kecua-dua pautan simbolik dan keras" #~ msgid "backup type" #~ msgstr "jenis backup" #~ msgid "input disappeared" #~ msgstr "input menghilang" #~ msgid "%s: line number out of range" #~ msgstr "%s: bilangan baris di luar julat" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: `%s': bilangan baris di luar julat" #, fuzzy #~ msgid " on repetition %s\n" #~ msgstr " pada ulangan %d\n" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: `%s': padanan tak dijumpai" #~ msgid "error in regular expression search" #~ msgstr "ralat pada carian ungkapan biasa (regexp)" #, fuzzy #~ msgid "write error for %s" #~ msgstr "ralat menulis bagi `%s'" #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: integer dijangka selepas `%c'" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: `}' diperluka untuk kiraan ulangan" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: integer diperlukan diantara `{' dan `}'" #, fuzzy #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: pemisah penutup `%c' hilang" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: ungkapan biasa (regexp) tidak sah: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: corak tidak sah" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: bilangan baris mesti lebih besar drpd sifar" #, fuzzy #~ msgid "invalid format width" #~ msgstr "format tarikh tidak sah %s" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "penukaran tidak sah: %s" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "Pengspesifikasi penukaran tidak sah pada suffiks: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "pengspesifikasi penukaran tidak sah pada suffiks: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "terlalu banyak spesifikasi penukaran %% pada suffiks" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "kehilangan spesifikasi penukaran %% pada suffiks" #~ msgid "%s: invalid number" #~ msgstr "%s: nombor tidak sah" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Penggunaan: %s [OPSYEN]... FAIL CORAK...\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Cetak bahagian ibaris dipilih drpd setiap FAIL ke output piawai.\n" #~ "\n" #~ msgid "invalid byte or field list" #~ msgstr "byte atau senarai medan tidak sah" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "opsyen lebar tidak sah: `%s'" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "rentetan mod tidak sah: %s" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "%s adalah terlalu besar" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "nombor tidak sah %s" #~ msgid "only one type of list may be specified" #~ msgstr "hanya satu jenis senarai boleh dinyatakan" #~ msgid "the delimiter must be a single character" #~ msgstr "pemisah mestilah aksara tunggal" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "anda mesti nyatakan senarai byte, aksara, atau medan" #~ msgid "missing list of fields" #~ msgstr "kehilangan senarai medan" #~ msgid "missing list of positions" #~ msgstr "kehilangan senarai posisi" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Penggunaan: %s [OPSYEN]... [+FORMAT]\n" #~ " atau: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=FAIL papar tarikh ubahsuai bagi FAIL\n" #~ " -R, --rfc-822 output rentetan tarikh serasi RFC-822\n" #~ " -s, --set=RENTETAN tetapkan masa dihuraikan oleh RENTETAN\n" #~ " -u, --utc, --universal cetak atau tetapkan Coordinated Universal " #~ "Time\n" #, fuzzy #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A nama penuh hari kerja lokaliti, panjang berubah (Ahad..Sabtu)\n" #~ " %b nama singkatan bulan lokaliti (Jan..Dis)\n" #~ " %B nama penuh bulan lokaliti, panjang berubah (Januari..Disember)\n" #~ " %c tarikh dan masa lokaliti (Jum Dis 19 10:02:33 MYT 1975)\n" #, fuzzy #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C abad (tahun dibahagi dengan 100 dan dibundarkan ke integer) [00-" #~ "99]\n" #~ " %d hari drpd bulan (01..31)\n" #~ " %D tarikh (bb/hh/tt)\n" #~ " %e hari drpd bulan, ruang kosong ditambah ( 1..31)\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h sama sebagai %b\n" #~ " %H Jam (00..23)\n" #~ " %I jam (01..12)\n" #~ " %j hari dalam tahun (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k jam ( 0..23)\n" #~ " %l jam ( 1..12)\n" #~ " %m bulan (01..12)\n" #~ " %M minit (00..59)\n" #, fuzzy #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S saat (00..60); 60 adalah perlu untuk menyesuaikan 1 pusingan saat\n" #~ " %t tab mengufuk\n" #~ " %T masa, 24-jam (jj:mm:ss)\n" #~ " %u hari dalam minggu (1..7); 1 mewakili Isnin\n" #, fuzzy #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U nombor minggu drpd tahun dengan Ahad sebagai hari pertama minggu " #~ "(00..53)\n" #~ " %V nombor minggu drpd tahun sengan Isnin sebagai hari pertama minggu " #~ "(01..53)\n" #~ " %w hari dlm minggu (0..6); 0 mewaliki Ahad\n" #~ " %W nombor minggu drpd tahun dengan Isnin sebagai hari pertama dlm " #~ "minggu (00..53)\n" #, fuzzy #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x perwakilan tarikh lokaliti (bb/hh/tt)\n" #~ " %X perwakilan masa lokaliti (%H:%M:%S)\n" #~ " %y dua digit akhir bagi tahun (00..99)\n" #~ " %Y tahun (1975...)\n" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "banyak opsyen -l or -t dinyatakan" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "opseyn untuk menyatakan tarikh untuk dicetak adalah eksklusif" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "opsyen untuk mencetak dan menetapkan masa tak boleh digunakan bersama" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "hujah `%s' kekurangan awalan `+';\n" #~ "Bila menggunakan satu opsyen untuk menyatakan tarikh, sebarang\n" #~ "hujah bukan-opsyen mesti dalam rentetan format bermula dengan`+'." #~ msgid "cannot set date" #~ msgstr "tak dapat menetapkan tarikh" #, fuzzy #~ msgid "time %s is out of range" #~ msgstr "aksara di luar julat" #~ msgid "Filesystem Type" #~ msgstr "Sistem fail Jenis" #~ msgid "Filesystem " #~ msgstr "Sistem fail " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inod IDiguna IBebas IGuna%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Saiz Diguna Ada Guna%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Saiz Diguna Ada Guna%%" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %4s-blok Diguna Ada Kapasiti" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-blok Diguna Ada Guna%%" #~ msgid " Mounted on\n" #~ msgstr " Dilekapkan pada\n" #, fuzzy #~ msgid "cannot get current directory" #~ msgstr "tak dapat mencipta direktori %s" #~ msgid "cannot change to directory %s" #~ msgstr "Gagal menukar direktori %s " #, fuzzy #~ msgid "cannot stat current directory (now %s)" #~ msgstr "tak dapat mencipta direktori %s" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all termasuk sistemfail yang mempunyai 0 blok\n" #~ " -B, --block-size=SIZE guna blok SIZE-byte\n" #~ " -h, --human-readable cetak saiz dalam format bolehdibaca manusia (e." #~ "g., 1K 234M 2G)\n" #~ " -H, --si sebaliknya, guna kuasa 1000 bukannya 1024\n" #, fuzzy #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes senarai maklimat inod selain drpd penggunaan " #~ "blok\n" #~ " -k seperti --block-size=1K\n" #~ " -l, --local hadkan penyenaraian ke sistem fail lokal\n" #~ " --no-sync jangan panggil sync sebelum mendapat maklumat " #~ "penggunaan (default)\n" #, fuzzy #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability menggunakan format output POSIX\n" #~ " --sync panggil sync sebelum mendapatkan maklumat " #~ "penggunaan\n" #~ " -t, --type=JENIS hadkan penyenaraian ke sistemfail jenis JENIS\n" #~ " -T, --print-type cetak jenis sistemfail\n" #~ " -x, --exclude-type=TYPE hadkan penyenaraian ke ke sistemfail bukan " #~ "jenis JENIS\n" #~ " -v (diabaikan)\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "SAIZ boleh jadi (atau boleh jadi intege diikuti dengan berikut) satu drpd " #~ "berikut:\n" #~ "kB 1000, K 1024, MB 1,000,000, M 1,048,576, dan lagi bagi G, T, P, E, Z, " #~ "Y.\n" #~ msgid "Warning: " #~ msgstr "Amaran: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%stak dapat membaca jadual sistemfail dilekapkan" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Arahan output untuk menetapkan persekitaran pembolehubah LS_COLORS.\n" #~ "\n" #~ "Tentukan format output:\n" #~ " -b, --sh, --bourne-shell kod output shell Bourne shell menetapkan " #~ "LS_COLORS\n" #~ " -c, --csh, --c-shell kod output shell C menetapkan LS_COLORS\n" #~ " -p, --print-database output default\n" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: katakunci tidak dikenali %s" #~ msgid "" #~ msgstr "" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "tiada pembolehubah persekitaran SHELL; dan tiada opsyen jenis shell diberi" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Penggunaan: %s [OPTION]... GROUP FILE...\n" #~ " atau: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Ringkasan penggunaan cakera bagi setiap FAIL, rekursif bagi direktori.\n" #~ "\n" #~ msgid "total" #~ msgstr "jumlah" #~ msgid "invalid maximum depth %s" #~ msgstr "Kedalaman maksimum %s" #~ msgid "cannot both summarize and show all entries" #~ msgstr "tak dapat meringkaskan dan menunjukkan semua kemasukan" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "amaran: peringkasan sama seperti menggunakan --max-depth=0" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "amaran: peringkasan konflik dengan --max-depth=%d" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "tak boleh banding nama fail %s dan %s" #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "nama kumpulan tak dah %s" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[RENTETAN]...\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Mlynarik dan David MacKenzie" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Penggunaan: %s [OPSYEN]... [-] [NAMA=NILAI]...[ARAHAN [HUJAH]...]\n" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "%s adalah terlalu besar" #, fuzzy #~ msgid "input line is too long" #~ msgstr "%s: fail terlalu panjang" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s UNGKAPAN\n" #~ " atau: %s OPSYEN\n" #~ msgid "syntax error" #~ msgstr "Ralat sintaks" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "ralat pada carian ungkapan biasa (regexp)" #~ msgid "non-numeric argument" #~ msgstr "hujah bukan-numerik" #~ msgid "division by zero" #~ msgstr "dibahagi dengan sifar" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s [NOMBOR]...\n" #~ " atau: %s OPSYEN\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Cetak faktor perdana bagi setiap NOMBOR.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " Cetak faktor perdana bagi integer NOMBOR dinyatakan. Jika tiada hujah\n" #~ " dinyatakan pada arahan baris. ia ia akan dibaca drpd input piawai.\n" #~ msgid "%s is too large" #~ msgstr "%s adalah terlalu besar" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "`%s' adalah bukan integer positif yang sah" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Penggunaan: %s [-DIGIT][OPSYEN]...[FAIL]...\n" #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "lebar tidak sah: `%s'" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Balut baris input pada setiap FAIL (pinput piawai secara default),\n" #~ " menulis keoutput piawai.\n" #~ "\n" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "bilangan kolum tidak sah: `%s'" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "gagal menukar kumpulan %s ke %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "gagal menukar kumpulan %s ke %s\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "tak dapat menjumpai nama atau ID kumpulan %u" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[NAMAPENGGUNA]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Tiada pengguna sebegitu" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent tidak cetak pengepala nama fail diberi\n" #~ " -v, --verbose sentiasa cetak pengepala nama fail diberi\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "SAIZ boleh jadi (atau boleh jadi intege diikuti dengan berikut) satu drpd " #~ "berikut:\n" #~ "kB 1000, K 1024, MB 1,000,000, M 1,048,576, dan lagi bagi G, T, P, E, Z, " #~ "Y.\n" #, fuzzy #~ msgid "error reading %s" #~ msgstr "membaca %s" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "tak boleh mencipta fifo %s" #, fuzzy #~ msgid "%s: cannot seek to offset %s" #~ msgstr "tak dapat lseek %s" #, fuzzy #~ msgid "cannot reposition file pointer for %s" #~ msgstr "tak memperolehi setem masa bagi %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s adalah terlalu besar dan tak boleh diperwakilkan" #~ msgid "number of lines" #~ msgstr "bilangan baris" #~ msgid "number of bytes" #~ msgstr "bilangan byte" #~ msgid "invalid number of lines" #~ msgstr "bilangan baris tidak sah" #~ msgid "invalid number of bytes" #~ msgstr "bilangan byte tidak sah" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "opsyen tidak sah -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Penggunaan: %s\n" #~ " atau: %s OPSYEN\n" #~ "Cetak pengcam numerik (dalam heksadesimal) bagi hos semasa.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Penggunaan: %s [NAMA]\n" #~ " atau: %s OPSYEN\n" #~ "Cetak atau tetapkan namahos bagi sistem semasa.\n" #~ "\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "Tak dapat tetapkan namahos ke `%s'" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "tak dapat menetapkan namahos, sistem ini kekurangan fungsi" #~ msgid "cannot determine hostname" #~ msgstr "tak dapat menentukan namahos" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Cetak maklumat bagu NAMAPENGGUNA, atau pengguna semasa.\n" #~ "\n" #~ " -a abai, bagi keserasian dengan versi lain\n" #~ " -g, --group cetak hanya ID kumpulan efektif\n" #~ " -G, --groups cetak semua ID kumpulan\n" #~ " -n, --name cetak nama selain drpd nombor, bagi -ugG\n" #~ " -r, --real cetak ID sebenar selain drpd ID efektif, dengan -ugG\n" #~ " -u, --user cetak hanya ID pengguna efektif\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Tanpa sebarang OPSYEN, cetak semua set berguna bagi maklumat yg " #~ "dikenalpasti.\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "tak boleh nyatakan masa lebih daripada satu sumber" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "tak dapat cetak hanya nama atau ID sebenar dlm format default" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "tak dapat menjumpai nama bagi ID pengguna %u" #~ msgid " groups=" #~ msgstr " kumpulan=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "Gagal menukar direktori %s " #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "opsyen dikikis tak boleh digunakan bila memasang direktori" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "opsyen dikikis tak boleh digunakan bila memasang direktori" #~ msgid "invalid mode %s" #~ msgstr "mod tak sah %s" #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "tak dapat menukar keizinan %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "Tak dapat tetapkan setem masa bagi %s" #~ msgid "fork system call failed" #~ msgstr "panggilan sistem fork() gagal" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "Menulis ke %s." #~ msgid "invalid user %s" #~ msgstr "pengguna tidak sah %s" #~ msgid "invalid group %s" #~ msgstr "kumpulan tidak sah %s" #~ msgid "creating directory %s" #~ msgstr "mencipta direktori %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Penggunaan: %s [OPSYEN]... SUMBER DEST\n" #~ " atau: %s [OPSYEN]... SUMBER... DIREKTORI\n" #~ " atau: %s [OPSYEN]... --target-directory=DIREKTORI SUMBER...\n" #, fuzzy #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Dalam dua format pertama, salin SUMBER ke DEST atau banyak SUMBER ke\n" #~ "DIREKTORI sesia ada , sekaligus menetapkan mod keizinan dan pemilik/" #~ "kumpulan.\n" #~ "Pada format ke tiga, cipta semua komponen bagi DIREKTORI yg diberi.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " -a, --archive sama seperti -dpR\n" #~ " --backup[=CONTROL] buat backup bagi setiap fail destinasi\n" #~ " -b seperti --backup tetapi tak menerima " #~ "hujah\n" #~ " --copy-contents salin kandungan bagi fail sitimewa bila " #~ "rekursif\n" #~ " -d sama seperti --no-dereference --" #~ "preserve=link\n" #, fuzzy #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D cipta semua komponen awalanbagi DEST kecuali yg " #~ "terakhir,\n" #~ " kemudian salin SUMBER ke DEST; berguna pada " #~ "format pertama\n" #~ " -g, --group=KUMPULAN tetapkan pemilikan kumpulan, selain drpd kumpulan " #~ "bagi proses semasa\n" #~ " -m, --mode=MOD tetapkan mod keizinan (seperti dlm chmod), selain " #~ "drpd rwxr-xr-x\n" #~ " -o, --owner=PEMILIK tetapkan pemilikan (super-user sahaja)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps terap masa akses/pengubahsuaian bagi fail " #~ "SUMBERn ke fail destinasi itu\n" #~ " -s, --strip strip jadual simbol, hanya untuk format pertama " #~ "dan kedua\n" #~ " -S, --suffix=SUFFIKS tindih suffiks backup biasa\n" #~ " -v, --verbose cetak nama bagi setiap direktori bila ianya " #~ "diipta\n" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "bilangan medan tidak sah: `%s'" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "pengspesifikasi medan tidak sah: `%s'" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "aksara tidak sah pada %s pada rentetan mod %s" #~ msgid "both files cannot be standard input" #~ msgstr "kedua-dua fail tak boleh menjadi input piawai" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Penggunaan: %s [-s ISYARAT | -ISYARAT] PID...\n" #~ " atau: %s -l [ISYARAT]...\n" #~ " atau: %s -t [ISYARAT]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Menghantar isyarat ke proses, atau senaraikan isyarat.\n" #~ "\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: isyarat tidak sah" #~ msgid "%s: invalid process id" #~ msgstr "%s: id proses tidak sah" #~ msgid "invalid option -- %c" #~ msgstr "opsyen tidak sah -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: banyak isyarat dinyatakan" #~ msgid "multiple -l or -t options specified" #~ msgstr "banyak opsyen -l or -t dinyatakan" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "tak boleh gabungkan isyarat dengan -l atau -t" #~ msgid "no process ID specified" #~ msgstr "tiada ID proses dinyatakan" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Penggunaan: %s FAIL1 FAIL2\n" #~ " atau: %s OPSYEN\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Panggil fungsi pautan untuk mencipta pautan bernama FAIL2 ke FILE1 sedia " #~ "ada.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "tak dapat mencipta pautan %s ke %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: amaran: membuat pautan keras ke pautan simbolik adalah tidak portable" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: pautan keras tidak diizinkan bagi direktori" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: tak dapat menindih direktori" #~ msgid "%s: replace %s? " #~ msgstr "%s: mengganti %s? " #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "cipta pautan simbolik %s ke %s" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "cipta pautan simbolik %s ke %s" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "mencipta pautan keras %s ke %s" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "mencipta pautan keras %s ke %s" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "mencipta pautan keras %s ke %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Penggunaan: %s [OPSYEN]... SUMBER DEST (format pertama)\n" #~ " atau: %s [OPSYEN]... SUMBER... DIREKTORI (format ke dua)\n" #~ " atau: %s -d [OPSYEN]... DIREKTORI... (format ke tiga)\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " -a, --archive sama seperti -dpR\n" #~ " --backup[=CONTROL] buat backup bagi setiap fail destinasi\n" #~ " -b seperti --backup tetapi tak menerima " #~ "hujah\n" #~ " --copy-contents salin kandungan bagi fail sitimewa bila " #~ "rekursif\n" #~ " -d sama seperti --no-dereference --" #~ "preserve=link\n" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s: Direktori sasaran yang dinyatakan adalah bukan direktori" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Pengunan: %s [OPSYEN]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Cetak nama bagi pengguna semasa.\n" #~ "\n" #, fuzzy #~ msgid "no login name" #~ msgstr "%s: tiada nama logmasuk\n" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "mengabai nilai pembolehubah persekitaran QUOTING_STYLE yang tidak sah: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "" #~ "mengabai lebar yg. tak sah pada pembolehubah persekitaran COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "mengabai saiz tab yg. tak sah pada pembolehubah persekitaran TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "lebar baris tidak sah: %s" #~ msgid "invalid tab size: %s" #~ msgstr "saiz tab tidak sah: %s" #~ msgid "invalid time style format %s" #~ msgstr "format gaya tarikh tidak sah %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "prefix tidak dikenali: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "nilai pembolehubah persekitaran LS_COLORS tidak boleh dihantar" #~ msgid "cannot open directory %s" #~ msgstr "tak dapat membuka direktori %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "tak dapat menentukan peranti dan inod bagi %s" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "tak dapat menyenaraikan direktori tersedia-tersenarai: %s" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "mencipta direktori %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "tak boleh banding nama fail %s dan %s" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Senarai maklumat tentang FAIL (direktori semasa secara default).\n" #~ "Inih semasukan mengikut abjad jika tiada -cftuSUX atau --sort.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all jangan sorok kemasukan bermula dengan .\n" #~ " -A, --almost-all jangan senarai . dan ..\n" #~ " --author cetak penulis bagi setiap fail\n" #~ " -b, --escape cetak escape oktal bagi aksara bukangrafik\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=SAIZ guna blok SAIZ-byte\n" #~ " -B, --ignore-backups jangan senarai kemasukan berakhir dengan ~\n" #~ " -c dengan -lt: isih dengan, dan papar, ctime " #~ "(masa\n" #~ " terkahir diubahsuai drpd maklumat status " #~ "fail)\n" #~ " dengan -l: papar ctime dan isih mengikut " #~ "nama\n" #~ " sebaliknya: isih mengikut ctime\n" #, fuzzy #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C senarai kemasukan mengikut kolum\n" #~ " --color[=BILA] kawal samada warna digunakan untuk " #~ "membezakan \n" #~ " jenis fail . BILA boleh jadi `never', " #~ "`always', atau `auto'\n" #~ " -d, --directory senarai kemasukan direktori selain drpd " #~ "kandungannya\n" #~ " -D, --dired jana output direka untuk mod dired Emacs\n" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f jangan isih, hidupkan -aU, matikan -lst\n" #~ " -F, --classify tambah penunjuk (satu drpd */=@|) ke " #~ "kemasukan\n" #~ " --format=PERKATAAN rentas -x, koma -m, mengufuk -x, panjang -" #~ "l,\n" #~ " kolum-tunggal -1, verbose -l, menegak -C\n" #~ " --full-time seperti -l --time-style=full-iso\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all termasuk sistemfail yang mempunyai 0 blok\n" #~ " -B, --block-size=SIZE guna blok SIZE-byte\n" #~ " -h, --human-readable cetak saiz dalam format bolehdibaca manusia (e." #~ "g., 1K 234M 2G)\n" #~ " -H, --si sebaliknya, guna kuasa 1000 bukannya 1024\n" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse turutan menyongsang ketika mengisih\n" #~ " -R, --recursive senarai subdirektori secara rekursif\n" #~ " -s, --size cetak saiz bagi setiap fail, dalam blok\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper dan Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Mike Parker and David MacKenzie" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary menggunakan penulisan binari ke peranti " #~ "okonsol.\n" #~ "\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: ralat penulisan" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Penggunaan; %s [OPSYEN] DIREKTORI...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Cipta DIREKTORI, jika ia belum wujud.\n" #~ "\n" #~ msgid "created directory %s" #~ msgstr "direktori %s dicipta" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Penggunaan: %s [OPSYEN] NAMA...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Cipta paip bernama (FIFO) dengan NAMA diberi.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MOD tetapkan mod keizinan (seperti dlm chmod), bukan " #~ "umask a=rw\n" #~ msgid "invalid mode" #~ msgstr "mod tak sah" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Penggunaan: %s [OPSYEN]... NAMA JENIS [MAJOR MINOR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Cipta NAMA fail istimewa bagi JENIS diberi.\n" #~ "\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "bila mencipta fail istimewa blok, nombor peranti major\n" #~ " dan minor mesti dinyatakan" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "nombor peranti minor tidak sah %s" #~ msgid "block special files not supported" #~ msgstr "fail istimewa blok tidak disokong" #~ msgid "character special files not supported" #~ msgstr "fail istimewa aksara tidak disokong" #~ msgid "invalid major device number %s" #~ msgstr "nombor peranti major tidak sah %s" #~ msgid "invalid minor device number %s" #~ msgstr "nombor peranti minor tidak sah %s" #~ msgid "invalid device %s %s" #~ msgstr "peranti tidak sah %s %s" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "peranti tidak sah %s %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "terlalu banyak hujah" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "tak dapat mencipta direktori %s" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "gagal mengekalkan masa bagi %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Tukarnama SUMBER ke DEST, atau pindahkan SUMBER ke DIREKTORI.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " -a, --archive sama seperti -dpR\n" #~ " --backup[=CONTROL] buat backup bagi setiap fail destinasi\n" #~ " -b seperti --backup tetapi tak menerima " #~ "hujah\n" #~ " --copy-contents salin kandungan bagi fail sitimewa bila " #~ "rekursif\n" #~ " -d sama seperti --no-dereference --" #~ "preserve=link\n" #, fuzzy #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Penggunaan: %s [OPSYEN] NAMA...\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "hujah tidak sah %s bagi %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "arahan mesti diberi dengan satu penyesuaian" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "tak dapat perolehi nama sistem" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "tak dapat menetapkan tarikh" #, fuzzy #~ msgid "line number overflow" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "bilangan medan tidak sah: `%s'" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "nombor baris permulaan tidak sah `%s'" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "lebar baris tidak sah: %s" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "lebar baris tidak sah: %s" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "lebar baris tidak sah: %s" #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "mengabaikan segala hujah" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "gagal mengekalkan masa bagi %s" #, fuzzy #~ msgid "ignoring input and appending output to %s" #~ msgstr "penukaran kumpulan %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Penggunaan: %s [OPTION]... GROUP FILE...\n" #~ " atau: %s [OPTION]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Hujah mandatori kepada opsyen panjang andalah mandatori bagi opsyen " #~ "pendek juga.\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "jenis rentetan m tidak sah `%s'" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "aksara tidak sah pada %s pada rentetan mod %s" #, fuzzy #~ msgid "standard input is closed" #~ msgstr "input piawai" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Penggunaan: %s [OPSYEN] NAMA...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "aksara tidak sah pada %s pada rentetan mod %s" #, fuzzy #~ msgid "empty file name" #~ msgstr "fail kosong biasa" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Mike Parker and David MacKenzie" #, fuzzy #~ msgid "Directory: " #~ msgstr "direktori" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "jenis rentetan m tidak sah `%s'" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "bilangan baris tidak sah" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "nombor peranti minor tidak sah %s" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "lebar baris tidak sah: %s" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "nombor tidak sah %s" #~ msgid "page width too narrow" #~ msgstr "Lebar halaman terlalu sempit" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #, fuzzy #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #~ msgid "invalid field width: %s" #~ msgstr "lebar medan tidak sah: %s" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "penukaran tidak sah: %s" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: fail saiz tidak sah" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "lebar tidak sah: `%s'" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "gagal mengekalkan masa bagi %s" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "gagal mengekalkan masa bagi %s" #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "mengabaikan segala hujah" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "gagal mencari fail %s" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "tak dapat membuka direktori %s" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "tak dapat mencipta direktori %s" #, fuzzy #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: buang direktori write-protected %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: buang write-protected %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: buang %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "direktori dibuang: %s\n" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "gagal mencari fail %s" #~ msgid "cannot remove directory %s" #~ msgstr "tak dapat membuang direktori %s" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "tak dapat membuang direktori %s" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "tak dapat membuang direktori %s" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "tak dapat mencipta direktori %s" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Penggunaan: %s [OPSYEN]... FAIL...\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: buang %s %s? " #~ msgid "removing directory, %s" #~ msgstr "membuang direktori, %s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "tak dapat membuang direktori %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Penggunaan: %s [OPSYEN]... DIREKTORI...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Buang DIREKTORI, jika ianya kosong.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " abaikan setiap kegagalan yang hanya disebabkan oleh\n" #~ " direktori yang tidak kosong\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents buang DIRECTORY, dan cuba buang setiap komponen " #~ "direktori\n" #~ " bagi nama path itu. E.g., `rmdir -p a/b/c' adalah\n" #~ " sama dengan `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output diagnostik bagi setiap direktori yg diproses\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "gagal mengekalkan masa bagi %s" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "gagal mendapatkan atribut bagi %s" #, fuzzy #~ msgid "no command specified" #~ msgstr "tiada ID proses dinyatakan" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "gagal mengekalkan masa bagi %s" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "gagal mengekalkan masa bagi %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "gagal mengekalkan masa bagi %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "gagal mengekalkan masa bagi %s" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "gagal mengekalkan masa bagi %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Penggunaan: %s [OPSYEN]... SUMBER DEST\n" #~ " atau: %s [OPSYEN]... SUMBER... DIREKTORI\n" #~ " atau: %s [OPSYEN]... --target-directory=DIREKTORI SUMBER...\n" #, fuzzy #~ msgid "invalid floating point argument: %s" #~ msgstr "format tarikh tidak sah %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "rentetan mod tidak sah: %s" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "terlalu banyak spesifikasi penukaran %% pada suffiks" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "rentetan mod tidak sah: %s" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "tak dapat perolehi senarai kumpulan tambahan" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "tak dapat menukar ke kumpulan null" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "tak dapat stat %s" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Penggunaan: %s [OPSYEN] FAIL [...]\n" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force tukar keizinan supaya membolehkan menulisan jika perlu\n" #~ " -n, --iterations=N Tindih sebanyak N kali selain drpd default (%d)\n" #~ " -s, --size=N lunyai ia berapa byte (suffiks seperti K, M, G " #~ "diterima)\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "fail istimewa blok" #, fuzzy #~ msgid "%s: fsync failed" #~ msgstr "fail istimewa blok" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "fail istimewa blok" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "stat gagal" #~ msgid "%s: invalid file type" #~ msgstr "%s: jenis fail tidak sah" #~ msgid "%s: file has negative size" #~ msgstr "%s: fail mempunya saiz negatif" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "fail istimewa blok" #~ msgid "%s: removing" #~ msgstr "%s: membuang" #~ msgid "%s: renamed to %s" #~ msgstr "%s: ditukarnama ke %s" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s: fail terlalu panjang" #~ msgid "%s: removed" #~ msgstr "%s: dibuang" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s: fail terlalu panjang" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s: fail terlalu panjang" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "banyak opsyen -l or -t dinyatakan" #~ msgid "%s: invalid file size" #~ msgstr "%s: fail saiz tidak sah" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Penggunaan: %s [OPSYEN]... SUMBER DEST\n" #~ " atau: %s [OPSYEN]... SUMBER... DIREKTORI\n" #~ " atau: %s [OPSYEN]... --target-directory=DIREKTORI SUMBER...\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Cetak bahagian ibaris dipilih drpd setiap FAIL ke output piawai.\n" #~ "\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "banyak opsyen -l or -t dinyatakan" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "lebar baris tidak sah: %s" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "banyak opsyen -l or -t dinyatakan" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "format gaya tarikh tidak sah %s" #, fuzzy #~ msgid "cannot read realtime clock" #~ msgstr "tak boleh mencipta pautan %s" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Cetak bahagian ibaris dipilih drpd setiap FAIL ke output piawai.\n" #~ "\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "Menulis ke %s." #, fuzzy #~ msgid "cannot create temporary file" #~ msgstr "tak dapat memcipta fail biasa %s" #~ msgid "open failed" #~ msgstr "pembukaan gagal" #, fuzzy #~ msgid "fflush failed" #~ msgstr "fail istimewa blok" #, fuzzy #~ msgid "close failed" #~ msgstr "fail istimewa blok" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "pembukaan gagal" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "tak dapat memcipta fail biasa %s" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "tak dapat memcipta fail biasa %s" #, fuzzy #~ msgid "write failed" #~ msgstr "fail pelik" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "tak dapat membuang %s" #~ msgid "stat failed" #~ msgstr "stat gagal" #, fuzzy #~ msgid "read failed" #~ msgstr "fail biasa" #, fuzzy #~ msgid "standard error" #~ msgstr "output standard" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: fail saiz tidak sah" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "hujah tidak sah %s bagi %s" #, fuzzy #~ msgid "invalid number after `-'" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid number after `.'" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "stray character in field spec" #~ msgstr "fail istimewa aksara" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "banyak opsyen -l or -t dinyatakan" #, fuzzy #~ msgid "invalid number at field start" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "field number is zero" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "character offset is zero" #~ msgstr "fail istimewa aksara" #, fuzzy #~ msgid "invalid number after `,'" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "SAIZ boleh jadi (atau boleh jadi intege diikuti dengan berikut) satu drpd " #~ "berikut:\n" #~ "kB 1000, K 1024, MB 1,000,000, M 1,048,576, dan lagi bagi G, T, P, E, Z, " #~ "Y.\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "mencipta %s" #, fuzzy #~ msgid "cannot split in more than one way" #~ msgstr "tak boleh nyatakan masa lebih daripada satu sumber" #, fuzzy #~ msgid "%s: invalid suffix length" #~ msgstr "%s: fail saiz tidak sah" #, fuzzy #~ msgid "%s: invalid number of bytes" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "%s: invalid number of lines" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "bilangan baris tidak sah" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: opensyen tidak dikenali `%c%s'\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s: fail saiz tidak sah" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "aksara tidak sah pada %s pada rentetan mod %s" #~ msgid "cannot read file system information for %s" #~ msgstr "tak dapat membaca maklumat sistem fail bagi %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Penggunaan: %s [OPSYEN] FAIL...\n" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "bila menyatakan gaya output, mod tak boleh ditetapkan" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "hujah tidak sah %s bagi %s" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "kehilangan hujah fail" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "lebar baris tidak sah: %s" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mod\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: tiada maklumat saiz bagi peranti ini" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "hujah tidak sah %s bagi %s" #~ msgid "Password:" #~ msgstr "Katalaluan:" #, fuzzy #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "tak dapat membuka direktori %s" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "tak dapat stat %s" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "tak dapat menukar ke kumpulan null" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "tak dapat stat %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #~ msgid "user %s does not exist" #~ msgstr "pengguna %s tidak wujud" #~ msgid "incorrect password" #~ msgstr "katalaluan salah" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "Gagal menukar direktori %s " #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Mike Parker and David MacKenzie" #~ msgid "ignoring all arguments" #~ msgstr "mengabaikan segala hujah" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Lapor pepijat ke <%s>.\n" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "fail istimewa blok" #, fuzzy #~ msgid "record too large" #~ msgstr "%s adalah terlalu besar" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "tak dapat memcipta fail biasa %s" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "tak dapat buka %s untuk dibaca" #, fuzzy #~ msgid "%s: write error" #~ msgstr "ralat menulis" #~ msgid "separator cannot be empty" #~ msgstr "pemisah tak boleh kosong" #, fuzzy #~ msgid "closing %s (fd=%d)" #~ msgstr "menutup %s" #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "tak boleh mencipta fifo %s" #, fuzzy #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "tak boleh mencipta fifo %s" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "`%s' menjadi tidak boleh diakses" #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "`%s' menjadi boleh diakses" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "tak dapat menukar ke kumpulan null" #, fuzzy #~ msgid "no files remaining" #~ msgstr "kehilangan hujah fail" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "%s: invalid PID" #~ msgstr "%s: fail saiz tidak sah" #, fuzzy #~ msgid "%s: invalid number of seconds" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "pautan simbolik tidak disokong pada sistem ini" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "tak dapat perolehi nama sistem" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "kehilangan hujah fail" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "')' expected" #~ msgstr "')' dijangka\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "')' dijangka\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: ungkapan biasa (regexp) tidak sah: %s" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt tak boleh menerima -l\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef tak boleh menerima -l\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-ot tak boleh menerima -l\n" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "Ralat sistem yang tidak diketahui" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: ungkapan biasa (regexp) tidak sah: %s" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #, fuzzy #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "terlalu banyak hujah" #~ msgid "creating %s" #~ msgstr "mencipta %s" #, fuzzy #~ msgid "cannot touch %s" #~ msgstr "tak dapat stat %s" #~ msgid "setting times of %s" #~ msgstr "menetapkan masa untuk %s" #~ msgid "cannot specify times from more than one source" #~ msgstr "tak boleh nyatakan masa lebih daripada satu sumber" #, fuzzy #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "%s: amaran: membuat pautan keras ke pautan simbolik adalah tidak portable" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "aksara tidak sah pada %s pada rentetan mod %s" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "fail istimewa aksara" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "nombor tidak sah %s" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Pengunaan: %s [OPSYEN]...\n" #~ msgid "not a tty" #~ msgstr "bukan satu tty" #, fuzzy #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version cetak versi kernel\n" #~ " -m, --machine cetak nama perkakasan mesin\n" #~ " -p, --processor cetak jenis pemproses\n" #~ " -i, --hardware-platform cetak platform perkakasan\n" #~ " -o, --operating-system cetak sistem pengoperasian\n" #~ msgid "cannot get system name" #~ msgstr "tak dapat perolehi nama sistem" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Dengan tiada FAIL, atau bila FAIL adalah -, baca input piawai.\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "%s adalah terlalu besar" #, fuzzy #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "terlalu banyak hujah" #, fuzzy #~ msgid "invalid number of fields to skip" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid number of bytes to skip" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid number of bytes to compare" #~ msgstr "nombor tidak sah %s" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #~ msgid "cannot unlink %s" #~ msgstr "takboleh nyahpaut %s" #~ msgid "couldn't get boot time" #~ msgstr "tak dapat masa but" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s naik " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "pengguna tidak sah" #~ msgstr[1] "pengguna tidak sah" #~ msgid ", load average: %.2f" #~ msgstr ", purata muatan: %.2f" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #~ msgid " old " #~ msgstr " tua " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "last=" #~ msgstr "terkahir=" #, fuzzy #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# pengguna=%u\n" #~ msgid "NAME" #~ msgstr "NAMA" #~ msgid "LINE" #~ msgstr "BARIS" #~ msgid "TIME" #~ msgstr "MASA" #~ msgid "IDLE" #~ msgstr "LEKA" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "KOMEN" #~ msgid "EXIT" #~ msgstr "KELUAR" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Penggunaan: %s [OPSYEN]...[FAIL]...\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "tak dapat menjumpai nama bagi ID pengguna %u" #, fuzzy #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Pengunaan: %s FAIL\n" #~ " atau: %s OPSYEN\n" #~ msgid "block size" #~ msgstr "saiz blok" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "tak dapat menukar hakmilik dan/atau kumpulan %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "tak dapat chdir ke direktori %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "tak boleh mendapatkan kumpulan logmasuk untuk UID numerik" #, fuzzy #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Ini adalah perisian bebas; lihat sumber untuk keadaan menyalin. Tiada\n" #~ "waranti; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgid "too few arguments" #~ msgstr "terlalu sedikit hujah" #~ msgid "closing standard output" #~ msgstr "menutup output piawai" #~ msgid "group number" #~ msgstr "nombor kumpulan" #~ msgid "invalid group number %s" #~ msgstr "nombor kumpulan tak sah %s" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Penggunaan: %s [OPSYEN]...FAIL_KIRI FAIL_KANAN\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "tak boleh menindih direktori %s" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie, dan Jim Meyering" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: Direktori destinasi dinyatakan tidak wujud" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: Sasaran yang dinyatakan adalah bukan direktori" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "menyalin banyak fail, tetapi hujah terakhir %s adalah bukan direktori" #~ msgid "symbolic links are not supported on this system" #~ msgstr "pautan simbolik tidak disokong pada sistem ini" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp dan David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: `+' atau `-' dijangka selepas pemisah" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie, dan Jim Meyering" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] output date/time in ISO 8601 " #~ "format.\n" #~ " TIMESPEC=`date' for date only,\n" #~ " `hours', `minutes', or `seconds' for date " #~ "and\n" #~ " time to the indicated precision.\n" #~ " --iso-8601 without TIMESPEC defaults to " #~ "`date'.\n" #~ msgstr "" #~ "Papar masa semasa dalam FORMAT diberi, atau tetapkan tarikh sistem.\n" #~ "\n" #~ " -d, --date=RENTETAN papar masa diterangkan oleh RENTETAN, bukan " #~ "`now'\n" #~ " -f, --file=DATEFILE seperti --date sekali bagi setiap baris " #~ "DATEFILE\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] output tarikh/masa dalam format ISO " #~ "8601.\n" #~ " TIMESPEC=`date' untuk tarikh sahaja,\n" #~ " `hours', `minutes', atau `seconds' baru " #~ "tarikh \n" #~ " dan masa untuk menunjukkan kejituan.\n" #~ " --iso-8601 tanpa TIMESPEC default kepada " #~ "`date'.\n" #, fuzzy #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F sama sebagai %Y-%m-%d\n" #~ " %g tahun 2-digit corresponding to the %V week number\n" #~ " %G tahun 4-digit corresponding to the %V week number\n" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "terlalu banyak hujah bukan.opsyen: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "" #~ "rentetan format tak boleh dinyatakan bila menggunakan opesyen --rfc-822 (-" #~ "R)" #~ msgid "undefined" #~ msgstr "tak tertakrif" #~ msgid "cannot get time of day" #~ msgstr "Tak dapat perolehi masa bagi hari" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s rekod masuk\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s rekod keluar\n" #~ msgid "unrecognized option %s=%s" #~ msgstr "opsyen tidak dikenali %s=%s" #~ msgid "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgstr "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie dan Jim Meyering" #~ msgid "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgstr "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgid "cannot change to parent of directory %s" #~ msgstr "Gagal menukar ke pangkal direktori %s" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Penggunaan: %s [abaikan hujag arahan baris]\n" #~ " atau: %s OPSYEN\n" #~ "Keluar dengan kod status menunjukkan kegagalan.\n" #~ "\n" #~ "Nama opsyen ini tidak boleh menjadi satu singkatan.\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "opsyen `%s' telah luput; guna `%s'" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N boleh mempunyai suffiks pengkali: b 512, k 1024, m 1024*1024.\n" #, fuzzy #~ msgid "%s: number of bytes is large" #~ msgstr "bilangan byte" #~ msgid "unrecognized option `-%c'" #~ msgstr "opsyen tidak dikenali `%c'" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "opsyen `-%s' sudah luput; guna `-%c %.*s%.*s%s'" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins dan David MacKenzie" #~ msgid "cannot print only user and only group" #~ msgstr "tak dapat cetak hanya pengguna dan hanya kumpulan" #~ msgid "cannot get supplemental group list" #~ msgstr "tak dapat perolehi senarai kumpulan tambahan" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "memasang pelbagai fail, tetapi hujah terakhir, %s adalah bukan direktori" #~ msgid "%s is a directory" #~ msgstr "%s adalah satu direktori" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "tak memperolehi setem masa bagi %s" #, fuzzy #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "nombor tidak sah %s" #, fuzzy #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "nombor tidak sah %s" #~ msgid "too many non-option arguments" #~ msgstr "terlalu banyak hujah bukan-opsyen" #~ msgid "too few non-option arguments" #~ msgstr "terlalu sedikit hujah bukan-opsyen" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker and David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: Fail wujud" #~ msgid "create symbolic link %s to %s" #~ msgstr "cipta pautan simbolik %s ke %s" #~ msgid "create hard link %s to %s" #~ msgstr "cipta pautan keras %s ke %s" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Penggunaan: %s [OPSYEN]... SASARAN [NAMA_PAUTAN]\n" #~ " atau: %s [OPSYEN]... SASARAN... DIREKTORI\n" #~ " atau: %s [OPSYEN]... --target-directory=DIREKTORI SASARAN...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "bila membuat banyak pautan, hujah terkahir mestilah direktori" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ msgstr "" #~ " -g seperti -l, tapi tak senaraikan pemilik\n" #~ " -G, --no-group tidak papar maklumat kumpulan\n" #~ " -h, --human-readable cetak saiz dlm format bolehdibaca manusia (e.g., " #~ "1K 234M 2G)\n" #~ " --si sebaliknya, guna kuasaf 1000 bukan 1024\n" #~ " -H, --dereference-command-line ikut pautan simbolik pada arahan baris\n" #~ msgid "file" #~ msgstr "fail" #~ msgid "files" #~ msgstr "fail" #~ msgid "no files may be specified when using --string" #~ msgstr "tiada fail boleh dinyatakan bila menggunakan --string" #~ msgid "only one argument may be specified when using --check" #~ msgstr "hanya satu hujah boleh dinyatakan bila menggunakan --check" #~ msgid "cannot set permissions of directory %s" #~ msgstr "tak dapat menetapkan keizinan direktori %s" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "tak dapat menetapkan keizinan bagi fifo %s" #~ msgid "wrong number of arguments" #~ msgstr "nombor hujah yang salah" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "nombor peranti major dan minor tak boleh dinyatakan pada fail fifo" #~ msgid "cannot set permissions of %s" #~ msgstr "tak dapat menetapkan keizinan bagi %s" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie, dan Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "bila memindah banyak fail, hujah terakhir mestilah direktori" #~ msgid "invalid option `%s'" #~ msgstr "opsyen tidak sah `%s'" #~ msgid "invalid priority `%s'" #~ msgstr "prioriti tidak sah `%s'" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "Gagal menukar direktori %s " #, fuzzy #~ msgid "cannot set priority" #~ msgstr "tak dapat menetapkan keizinan bagi %s" #, fuzzy #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Mike Parker and David MacKenzie" #, fuzzy #~ msgid "failed to redirect standard output" #~ msgstr "menutup output piawai" #~ msgid "skip argument" #~ msgstr "Langkah hujah" #~ msgid "limit argument" #~ msgstr "Had hujah" #, fuzzy #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "Mike Parker and David MacKenzie" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s adalah satu direktori" #, fuzzy #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "nombor kumpulan tak sah %s" #, fuzzy #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "nombor kumpulan tak sah %s" #, fuzzy #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M" #~ msgid "Page %d" #~ msgstr "Halaman %d" #~ msgid "cannot chdir from %s to .." #~ msgstr "tak dapat chdir daripada %s ke ..." #~ msgid "cannot lstat `.' in %s" #~ msgstr "tak dapat lstat `.' pada %s" #~ msgid "cannot lstat %s" #~ msgstr "tak dapat lstat %s" #~ msgid "cannot chdir from %s to %s" #~ msgstr "tak dapat chdir drpd. %s ke %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "tak dapat membuang `.' atau `..'" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie, dan Jim Meyering" #, fuzzy #~ msgid "sort size" #~ msgstr "saiz blok" #, fuzzy #~ msgid "*** invalid date/time ***" #~ msgstr "mod tak sah %s" #, fuzzy #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Mike Parker and David MacKenzie" #~ msgid "stdin: read error" #~ msgstr "stdin: ralat bacaan" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie, dan Jim Meyering" #, fuzzy #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "aksara tidak sah pada %s pada rentetan mod %s" #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker and David MacKenzie" #~ msgid "before -lt" #~ msgstr "sebelum -lt" #~ msgid "after -lt" #~ msgstr "selepas -lt" #~ msgid "before -le" #~ msgstr "sebelum -le" #~ msgid "after -le" #~ msgstr "selepas -le" #~ msgid "before -gt" #~ msgstr "sebelum -gt" #~ msgid "after -gt" #~ msgstr "selepas -gt" #~ msgid "before -ge" #~ msgstr "sebelum -ge" #~ msgid "after -ge" #~ msgstr "selepas -ge" #~ msgid "before -ne" #~ msgstr "sebelum -ne" #~ msgid "after -ne" #~ msgstr "selepas -ne" #~ msgid "before -eq" #~ msgstr "sebelum -eq" #~ msgid "after -eq" #~ msgstr "selepas -eq" #~ msgid "after -t" #~ msgstr "selepas -t" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "terlalu banyak hujah" #~ msgid "file arguments missing" #~ msgstr "kehilangan hujah fail" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "Opsyen `-LIST' sudah luput; guna `--first-only -t LIST'" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Amaran: -i akan dibuang pada keluaran anda datang; guna -u sebaliknya" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: tak dapat menjumpai namapengguna bagi UID %u\n" dc3dd-7.1.614/po/hu.gmo0000644000175000017500000001303111233346647014204 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  h h 2 4,+a81@9/H*PK{3 'C3w6/ +H.e*36R !)( " %  $#' &0 BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-05-11 16:25+0200 Last-Translator: Gabor Kelemen Language-Team: Hungarian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: KBabel 1.11.4 A BLOKKHOZ és a BÁJTHOZ a következő szorzó-utótagokat adhatod meg: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y. KULCSSZÓ szimbólumok az alábbiak lehetnek: A JELÖLŐK az alábbiak lehetnek: append hozzáfűzési mód (csak kimenet esetén van értelme; javasolt a conv=notrunc) binary bináris I/O használata az adatokhoz direct közvetlen I/O használata az adatokhoz directory működés csak könyvtárakon dsync szinkronizált I/O használata az adatokhoz noatime ne frissítse a hozzáférési időt noctty ne rendelje hozzá a vezérlő terminált fájlból noerror folytatás olvasási hibák után sync minden bemeneti blokkot NULL bájtokkal ibs méretűre egészít ki; ha a „block” vagy „unblock” is szerepel a listában, akkor a feltöltéshez NULL helyett szóközt használ fdatasync a kimeneti fájladatok kiírása fizikailag a befejezés előtt fsync hasonló az előzőhöz, de a metaadatokat is kiírja nofollow ne kövesse a szimbolikus linkeket nolinks többszörös linkek esetén a működés visszautasítása nonblock nem blokkoló I/O használata sync hasonló az előzőhöz, de a metaadatok esetén is érvényes text szöveges I/O használata az adatokhoz %s: nem lehet pozicionálni, %g mp, %s/mp Végtelen BTovábbi információkért adja ki a(z) „%s --help” parancsot. Ismeretlen rendszerhibaHasználat: %s [OPERANDUS]... vagy: %s KAPCSOLÓ az excl és a nocreat nem adható meg egyszerrefstat %s sikertelena kernelhiba nem kerülhető meg%s bemeneti fájl lezárása%s kimeneti fájl lezárásaaz fdatasync meghiúsult a következőhöz: %saz fsync meghiúsult a következőhöz: %sérvénytelen átalakításérvénytelen bemeneti jelölőérvénytelen szám: %sérvénytelen kimeneti jelölőérvénytelen állapotjelölőeltolástúlcsordulás a(z) %s fájl olvasása közben%s megnyitása%s jelölőinek beállításaszabványos bemenetszabványos kimenetismeretlen operandus: %sfigyelmeztetés: lseek kernel hiba kivédése a következő fájlnál: %s (mt_type=0x%0lx) A fájlban megtalálod a típusok listájátírás a következőbe: %sPRIuMAXtruncating at % bytes in output file %scsonkítás a(z) %. bájtnál a következő kimeneti fájlban: %sdc3dd-7.1.614/po/de.po0000644000175000017500000122525211233346647014027 0ustar amedicoamedico# German translation of coreutils messages. # Copyright © 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Karl Eichwalder , 2001–2002. # Lutz Behnke , 1996, 1997, 1998, 1999, 2000, 2001. # Michael Schmidt , 1996, 1997, 1998, 1999, 2000. # Michael Piefel , 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008. # # The first 200+ lines are translations for the lib directory. This is very # similar or even identical to other tools’ lib directories. Therefore take # care to have consistent translation. I have made this identical to the # translation in sh-utils and fileutils. -MPi # PS: This file now contains sh-utils and fileutils, but the lib dir is in # other projects, too. # # TAB: spell it out („Tabulatoren“). -ke- # Don’t use obscure abbreviations, please. -ke- # No hyphenation, please. -ke- # # space: Leerzeichen oder Leerschritt # # Check: # idle – untätig # idle: untätig, ruhig, „idle“, Leerlauf # user idle time: Untätigkeitszeit des Benutzers, Ruhezeit, Idle-Time, # Benutzer im Leerlauf # digit – Zahl, Ziffer, Nummer, Stelle # logged in – angemeldet, eingeloggt # requested – gewünscht? # # Some comments on translations used in oder to ensure persistence: # # symbolic links: symbolische Verknüpfungen # hard links: harte Verknüpfungen # backup: Sicherung # mount: einhängen # sparse file: Datei mit Löchern („sparse“) # msgid "" msgstr "" "Project-Id-Version: GNU coreutils 6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-05-19 14:45+0200\n" "Last-Translator: Michael Piefel \n" "Language-Team: German \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "konnte keinen Prozess für %s -d anlegen" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "„%s --help“ gibt weitere Informationen.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Aufruf: %s [OPERAND...]\n" " oder: %s OPTION\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Kopieren einer Datei, Konvertierung und Formatierung gemäß der Operanden.\n" "\n" " bs=BYTES ibs=BYTES und obs=BYTES erzwingen\n" " cbs=BYTES BYTES Bytes auf einmal konvertieren\n" " conv=CONV Datei gemäß kommagetrennter Schlüsselwörter‐Liste " "konvertieren\n" " count=BLÖCKE nur BLÖCKE Eingabeblöcke kopieren\n" " ibs=BYTES Lesen von BYTES Bytes auf einmal\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=DATEI aus DATEI statt von der Standardeingabe lesen\n" " iflag=FLAGS anhand der kommagetrennten Symbolliste lesen\n" " obs=BYTES BYTES Bytes auf einmal schreiben\n" " of=DATEI in DATEI statt in die Standardausgabe schreiben\n" " oflag=FLAGS anhand der kommagetrennten Symbolliste schreiben\n" " seek=BLÖCKE BLÖCKE obs‐große Blöcke am Anfang der Ausgabe " "überspringen\n" " skip=BLÖCKE BLÖCKE ibs‐große Blöcke am Anfang der Eingabe " "überspringen\n" " status=noxfer Transferstatistik unterdrücken\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLÖCKE und BYTES können folgende multiplikative Endungen tragen:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024,\n" "GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y.\n" "\n" "Jedes CONV‐Symbol kann sein:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat Ausgabedatei nicht anlegen\n" " excl wenn Ausgabedatei schon existiert, abbrechen\n" " notrunc Ausgabedatei nicht abschneiden\n" " ucase Kleinbuchstaben in Großbuchstaben ändern\n" " swab jedes Paar von Eingabebytes vertauschen\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror nach Lesefehlern fortfahren\n" " sync jeden Eingabeblock mit NULLen zur ibs‐Größe auffüllen; wenn mit\n" " „block“ oder „unblock“ benutzt, stattdessen mit Leerzeichen\n" " fdatasync vor Beendigung Ausgabedatendatei physisch schreiben\n" " fsync genauso, zusätzlich auch die Metadaten\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Jedes Symbol FLAG kann sein:\n" "\n" " append Anfügemodus (nur für Ausgabe sinnvoll; conv=notrunc empfohlen)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct direkte Ein‐/Ausgabe für Daten benutzen\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory abbrechen, wenn es sich nicht um ein Verzeichnis handelt\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync synchronisierte Ein‐/Ausgabe für Daten benutzen\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync genauso, aber auch für Metadaten\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock nicht‐blockierende Ein‐/Ausgabe benutzen\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime die Zugriffszeit nicht erneuern\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty das kontrollierende Terminal nicht von Datei zuweisen\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow symbolischen Verknüpfungen nicht folgen\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks abbrechen, wenn mehrfach verlinkt\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary binäre Ein‐/Ausgabe benutzen\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text textuelle Ein‐/Ausgabe benutzen\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Schickt man einem laufenden „dd“‐Prozess ein %s‐Signal, gibt dieser\n" "auf der Standardfehlerausgabe Eingabe‐/Ausgabe‐Statistiken aus und fährt\n" "mit dem Kopieren fort.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 Datensätze ein\n" " 18335302+0 Datensätze aus\n" " 9387674624 Bytes (9,4 GB) kopiert, 34,6279 Sekunden, 271 MB/s\n" "\n" "Optionen sind:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Unbekannter Systemfehler" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% Datensätze ein\n" "%+% Datensätze aus\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "ein Byte kopiert" msgstr[1] "% Bytes (%s) kopiert" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "unendlich B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "Schließen der Eingabedatei %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "Schließen der Ausgabedatei %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Kein Suffix für Ausgabedateien mehr verfügbar" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "öffne %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "FEHLSCHLAG" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "nicht erkannter Operand %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "ungültiges Datum %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "Ungültiges Datumsformat %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "Ungültiges Datumsformat %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "Ungültiges Datumsformat %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "ungültige Konvertierung" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "ungültiges Eingabeflag" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "ungültiges Ausgabeflag" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "ungültiges Statusflag" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "ungültige Zahl %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "excl und nocreat sind nicht kombinierbar" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "Optionen -e und -i können nicht kombiniert werden." #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "Optionen -e und -i können nicht kombiniert werden." #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "Optionen -e und -i können nicht kombiniert werden." #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "Optionen -e und -i können nicht kombiniert werden." #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "Optionen -e und -i können nicht kombiniert werden." #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "Warnung: Umgehe lseek‐Kernelbug für Datei (%s)\n" " des Typs mt_type=0x%0lx – siehe für die Liste der Typen" # XLATE_REMARK: Check this out! is the %s replaced by the name of the directory? #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "Lesen von %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: kann nicht zu Position springen" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "Offset‐Overflow beim Lesen der Datei %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "Warnung: ungültiger Datei‐Offset nach fehlgeschlagenem Lesen" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "kann nun einmal nicht um Kernel‐Fehler herumarbeiten" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "setze Flags für %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "lese Verzeichnis %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "lese Verzeichnis %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "Schreiben in %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync für %s fehlgeschlagen" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "fsync für %s fehlgeschlagen" #: src/dc3dd.c:3907 msgid "standard input" msgstr "Standardeingabe" #: src/dc3dd.c:3938 msgid "standard output" msgstr "Standardausgabe" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "Offset zu groß: kann nicht auf eine Länge von seek=% (%lu‐Byte‐) " "Blöcke abschneiden" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "Aufruf von fstat für %s nicht möglich" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "schneide bei % Bytes in Ausgabedatei %s ab" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii von EBCDIC in ASCII\n" #~ " ebcdic von ASCII in EBCDIC\n" #~ " ibm von ASCII in alternatives EBCDIC\n" #~ " block mit Zeilenumbrüchen terminierte Datensätzen durch\n" #~ " Leerzeichen bis zur cbs‐Größe auffüllen\n" #~ " unblock nachlaufende Leerzeichen in Datensätzen von\n" #~ " cbs‐Größe mit Zeilenumbrüchen ersetzen\n" #~ " lcase Großbuchstaben in Kleinbuchstaben ändern\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "ein abgeschnittener Datensatz\n" #~ msgstr[1] "% abgeschnittene Datensätze\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "{ascii,ebcdic,ibm} sind in keiner Weise kombinierbar" #~ msgid "cannot combine block and unblock" #~ msgstr "block und unblock sind nicht kombinierbar" #~ msgid "cannot combine lcase and ucase" #~ msgstr "lcase und ucase sind nicht kombinierbar" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "Warnung: ungültiger Datei‐Offset nach fehlgeschlagenem Lesen" #~ msgid "error writing %s" #~ msgstr "Fehler beim Schreiben von %s" #~ msgid "invalid argument %s for %s" #~ msgstr "ungültiges Argument %s für %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "mehrdeutiges Argument %s für %s" #~ msgid "Valid arguments are:" #~ msgstr "Gültige Argumente sind:" #~ msgid "error closing file" #~ msgstr "Fehler beim Schließen Datei" #~ msgid "write error" #~ msgstr "Schreibfehler" #~ msgid "preserving permissions for %s" #~ msgstr "Erhalten der Zugriffsrechte für %s" #~ msgid "cannot stat %s" #~ msgstr "Aufruf von stat für %s nicht möglich" #~ msgid "regular empty file" #~ msgstr "reguläre leere Datei" #~ msgid "regular file" #~ msgstr "reguläre Datei" #~ msgid "directory" #~ msgstr "Verzeichnis" #~ msgid "block special file" #~ msgstr "blockorientierte Spezialdatei" #~ msgid "character special file" #~ msgstr "zeichenorientierte Spezialdatei" #~ msgid "fifo" #~ msgstr "FIFO" #~ msgid "symbolic link" #~ msgstr "symbolische Verknüpfung" #~ msgid "socket" #~ msgstr "Socket" #~ msgid "message queue" #~ msgstr "Nachrichtenwarteschlange" #~ msgid "semaphore" #~ msgstr "Semaphor" #~ msgid "shared memory object" #~ msgstr "Objekt gemeinsamen Speichers" #~ msgid "typed memory object" #~ msgstr "Objekt getypten Speichers" #~ msgid "weird file" #~ msgstr "merkwürdige Datei" #~ msgid "Address family for hostname not supported" #~ msgstr "Adressfamilie für Hostnamen nicht unterstützt" #~ msgid "Temporary failure in name resolution" #~ msgstr "Vorübergehender Fehler bei Namensauflösung" #~ msgid "Bad value for ai_flags" #~ msgstr "Ungültiger Wert für ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Nicht behebbarer Fehler bei Namensauflösung" #~ msgid "ai_family not supported" #~ msgstr "ai_family nicht unterstützt" #~ msgid "Memory allocation failure" #~ msgstr "Fehler bei Speicheranforderung" #~ msgid "No address associated with hostname" #~ msgstr "Keine Adresse mit Hostnamen verbunden" #~ msgid "Name or service not known" #~ msgstr "Name oder Service unbekannt" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Servname für ai_socktype nicht unterstützt" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype nicht unterstützt" #~ msgid "System error" #~ msgstr "Systemfehler" #~ msgid "Argument buffer too small" #~ msgstr "Argumentenpuffer zu klein" #~ msgid "Processing request in progress" #~ msgstr "Bearbeitungsanfrage läuft" #~ msgid "Request canceled" #~ msgstr "Anfrage abgebrochen" #~ msgid "Request not canceled" #~ msgstr "Anfrage nicht abgebrochen" #~ msgid "All requests done" #~ msgstr "Alle Anfragen erledigt" #~ msgid "Interrupted by a signal" #~ msgstr "Von einem Signal unterbrochen" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Parameterzeichenkette nicht korrekt codiert" #~ msgid "Unknown error" #~ msgstr "Unbekannter Fehler" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: Option „%s“ ist mehrdeutig\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: Option „--%s“ erlaubt kein Argument\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: Option „%c%s“ erlaubt kein Argument\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: Option „%s“ erfordert ein Argument\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: unbekannte Option „--%s“\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: unbekannte Option „%c%s“\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: ungültige Option -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: ungültige Option -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: Option erfordert ein Argument -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: Option „-W %s“ ist mehrdeutig\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: Option „-W %s“ erlaubt kein Argument\n" #~ msgid "cannot change permissions of %s" #~ msgstr "kann Zugriffsrechte von %s nicht ändern" #~ msgid "cannot create directory %s" #~ msgstr "kann Verzeichnis %s nicht anlegen" #~ msgid "memory exhausted" #~ msgstr "Speicher ausgeschöpft" #~ msgid "unable to record current working directory" #~ msgstr "kann aktuelles Verzeichnisses nicht aufzeichnen" #~ msgid "failed to return to initial working directory" #~ msgstr "konnte nicht in ursprüngliches Arbeitsverzeichnis zurückkehren" #~ msgid "`" #~ msgstr "„" #~ msgid "'" #~ msgstr "“" #~ msgid "%s: end of file" #~ msgstr "%s: Dateieende" #~ msgid "Success" #~ msgstr "Erfolg" #~ msgid "No match" #~ msgstr "Keine Übereinstimmung" #~ msgid "Invalid regular expression" #~ msgstr "Ungültiger regulärer Ausdruck" #~ msgid "Invalid collation character" #~ msgstr "Ungültiges Suchzeichen" #~ msgid "Invalid character class name" #~ msgstr "Ungültiger Zeichenklassenname" #~ msgid "Trailing backslash" #~ msgstr "Rückschrägstrich am Ende" #~ msgid "Invalid back reference" #~ msgstr "Ungültiger Rückwärtsreferenz" #~ msgid "Unmatched [ or [^" #~ msgstr "Kein Gegenstück für [ oder [^" #~ msgid "Unmatched ( or \\(" #~ msgstr "Kein Gegenstück für ( oder \\(" #~ msgid "Unmatched \\{" #~ msgstr "Kein Gegenstück für \\{" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Ungültiger Inhalt von \\{\\}" #~ msgid "Invalid range end" #~ msgstr "Ungültiges Bereichsende" #~ msgid "Memory exhausted" #~ msgstr "Speicher ausgeschöpft" #~ msgid "Invalid preceding regular expression" #~ msgstr "Ungültiger vorhergehender regulärer Ausdruck" #~ msgid "Premature end of regular expression" #~ msgstr "Vorzeitiges Ende des regulären Ausdrucks" #~ msgid "Regular expression too big" #~ msgstr "Regulärer Ausdruck zu groß" #~ msgid "Unmatched ) or \\)" #~ msgstr "Kein Gegenstück für ) oder \\)" #~ msgid "No previous regular expression" #~ msgstr "Kein vorhergehender regulärer Ausdruck" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "Es ist gefährlich, rekursiv auf %s zu arbeiten." #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "" #~ "Es ist gefährlich, rekursiv auf %s (das gleiche wie %s) zu arbeiten." #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "" #~ "Benutzen Sie --no-preserve-root, um diese Sicherheitsmaßnahme zu umgehen." #~ msgid "^[yY]" #~ msgstr "^[jJyY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "Setzen der Zugriffsrechte für %s" #~ msgid "iconv function not usable" #~ msgstr "iconv-Funktion nicht benutzbar" #~ msgid "iconv function not available" #~ msgstr "iconv‐Funktion nicht verfügbar" #~ msgid "character out of range" #~ msgstr "Zeichen außerhalb erlaubter Grenzen" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "kann U+%04X nicht in lokalen Zeichensatz konvertieren" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "kann U+%04X nicht in lokalen Zeichensatz konvertieren: %s" #~ msgid "invalid user" #~ msgstr "ungültiger Benutzer" #~ msgid "invalid group" #~ msgstr "ungültige Gruppe" #~ msgid "invalid spec" #~ msgstr "ungültige Spezifikation" #~ msgid "(C)" #~ msgstr "©" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Lizenz GPLv3+: GNU GPL Version 3 oder höher \n" #~ "Dies ist freie Software: Sie können sie ändern und weitergeben.\n" #~ "Es gibt keinerlei Garantien, soweit wie es das Gesetz erlaubt.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Geschrieben von %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Geschrieben von %s und %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Geschrieben von %s, %s und %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Geschrieben von %s, %s, %s\n" #~ "und %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Geschrieben von %s, %s, %s,\n" #~ "%s und %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Geschrieben von %s, %s, %s,\n" #~ "%s, %s und %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Geschrieben von %s, %s, %s,\n" #~ "%s, %s, %s und %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Geschrieben von %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "und %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Geschrieben von %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s und %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Geschrieben von %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s und anderen.\n" #~ msgid "invalid argument: %s" #~ msgstr "ungültiges Argument: %s" #~ msgid "string comparison failed" #~ msgstr "Zeichenkettenvergleich fehlgeschlagen" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Setzen Sie LC_ALL=C, um das Problem zu umgehen." #~ msgid "The strings compared were %s and %s." #~ msgstr "Die verglichenen Zeichenketten waren %s und %s." #~ msgid "string transformation failed" #~ msgstr "Zeichenkettentransformation fehlgeschlagen" #~ msgid "The untransformed string was %s." #~ msgstr "Die untransformierte Zeichenkette war %s." #~ msgid "cannot perform formatted output" #~ msgstr "kann keine formatierte Ausgabe duchführen" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "ungültiges %s%s Argument „%s“" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "ungültiger Suffix in %s%s Argument „%s“" #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s%s Argument „%s“ zu groß" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Aufruf: %s [OPTION] [DATEI]\n" #~ "Mit Base64 Kodieren oder Dekodieren von\n" #~ "DATEI oder Standardeingabe auf die Standardausgabe.\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=SPALTEN kodierte Zeilen nach SPALTEN Zeichen umbrechen; " #~ "ohne\n" #~ " Angabe nach 76 Zeichen;\n" #~ " kein Zeilenumbruch, wenn hier 0 benutzt wird\n" #~ "\n" #~ " -d, --decode Daten dekodieren\n" #~ " -i, --ignore-garbage beim Dekodieren nicht zum Alphabet gehörende " #~ "Zeichen ignorieren\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help diese Hilfe anzeigen und beenden\n" #~ " --version Versionsinformation anzeigen und beenden\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Die Daten werden entsprechend dem Base64‐Alphabet aus RFC 3548 kodiert.\n" #~ "Beim Dekodieren darf die Eingabe zusätzlich zu den formal gültigen\n" #~ "Base64‐Zeichen noch Zeilenumbrüche enthalten. Benutzen Sie die Option\n" #~ "--ignore-garbage, um zu versuchen, auch weitere nicht zum Alphabet " #~ "gehörende\n" #~ "Zeichen in der kodierten Eingabe zu verkraften.\n" #~ msgid "read error" #~ msgstr "Lesefehler" #~ msgid "invalid input" #~ msgstr "ungültige Eingabe" #~ msgid "invalid wrap size: %s" #~ msgstr "ungültige Umbruchgröße: %s" #~ msgid "extra operand %s" #~ msgstr "zusätzlicher Operand %s" #~ msgid "closing standard input" #~ msgstr "schließe Standardeingabe" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s NAME [SUFFIX]\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Den NAMEn ohne führende Verzeichnisse ausgeben.\n" #~ "Wenn angegeben, auch SUFFIX entfernen.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Beispiele:\n" #~ " %s /usr/bin/sort Ausgabe: „sort“.\n" #~ " %s include/stdio.h .h Ausgabe: „stdio“.\n" #~ msgid "missing operand" #~ msgstr "fehlender Operand" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Aufruf: %s [OPTION] [DATEI]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "DATEI(en) oder Standardeingabe auf Standardausgabe verketten. \n" #~ "\n" #~ " -A, --show-all äquivalent zu -vET\n" #~ " -b, --number-nonblank nichtleere Ausgabezeilen nummerieren\n" #~ " -e äquivalent zu -vE\n" #~ " -E, --show-ends $ am Ende jeder Zeile ausgeben\n" #~ " -n, --number alle Ausgabezeilen nummerieren\n" #~ " -s, --squeeze-blank aufeinander folgende Leerzeilen unterdrücken\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t äquivalent zu -vT\n" #~ " -T, --show-tabs Tabulator‐Zeichen als ^I ausgeben\n" #~ " -u (wird ignoriert)\n" #~ " -v, --show-nonprinting ^‐ und M‐Notation benutzen, außer für LFD und " #~ "Tab.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Beispiele:\n" #~ " %s f - g Gibt den Inhalt von f aus, dann die Standardeingabe,\n" #~ " schließlich den Inhalt von g.\n" #~ " %s Kopiert die Standardeingabe in die Standardausgabe.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "Anwendung von ioctl auf „%s“ ist nicht möglich" #~ msgid "%s: input file is output file" #~ msgstr "%s: Eingabedatei ist Ausgabedatei" #~ msgid "failed to create security context: %s" #~ msgstr "konnte Sicherheitskontext nicht erstellen: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "konnte %s Sicherheitskontextkomponente nicht auf %s setzen" #~ msgid "failed to get security context of %s" #~ msgstr "konnte Sicherheitskontext von %s nicht holen" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "kann partiellen Kontext nicht auf Datei %s ohne Label anwenden" #~ msgid "failed to change context of %s to %s" #~ msgstr "konnte Kontext von %s nicht in %s ändern" #~ msgid "cannot access %s" #~ msgstr "Zugriff auf %s nicht möglich" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "kann Verzeichnis %s nicht lesen" #~ msgid "changing security context of %s" #~ msgstr "ändere Sicherheitskontext für %s" #~ msgid "fts_read failed" #~ msgstr "fts_read fehlgeschlagen" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... KONTEXT DATEI...\n" #~ " oder: %s [OPTION]... [-u NUTZER] [-r ROLLE] [-l BEREICH] [-t TYP] " #~ "DATEI...\n" #~ " oder: %s [OPTION]... --reference=RDATEI DATEI...\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Ändern des Sicherheitskontextes für jede DATEI nach KONTEXT.\n" #~ "Mit --reference: Ändern des Sicherheitskontextes für jede DATEI auf die " #~ "von RDATEI.\n" #~ "\n" #~ " -c, --changes wie --verbose, aber nur bei wirklichen " #~ "Änderungen\n" #~ " -h, --no-dereference symbolische Verknüpfung anstatt der " #~ "referenzierten\n" #~ " Datei ändern\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=RDATEI RDATEIs Sicherheitskontext verwenden anstatt " #~ "eines\n" #~ " KONTEXT‐Wertes\n" #~ " -R, --recursive Dateien und Verzeichnisse rekursiv ändern\n" #~ " -v, --verbose Diagnose für jede verarbeitete Datei ausgeben\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=NUTZER NUTZER im Ziel-Sicherheitskontext setzen\n" #~ " -r, --role=ROLLE ROLLE im Ziel-Sicherheitskontext setzen\n" #~ " -t, --type=TYP TYP im Ziel-Sicherheitskontext setzen\n" #~ " -l, --range=BEREICH BEREICH im Ziel-Sicherheitskontext setzen\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Die folgenden Optionen bestimmen, wie eine Hierarchie abgearbeitet wird, " #~ "wenn\n" #~ "die Option -R ebenfalls gegeben ist. Sind mehr als eine angegeben, wirkt " #~ "sich\n" #~ "nur die letzte aus.\n" #~ "\n" #~ " -H wenn ein Kommandzeilenargument eine symbolische\n" #~ " Verknüpfung auf ein Verzeichnis ist, " #~ "abarbeiten\n" #~ " -L jede gefundene symbolische Verknüpfung auf ein\n" #~ " Verzeichnis abarbeiten\n" #~ " -P überhaupt keinen symbolischen Verknüpfungen " #~ "folgen\n" #~ " (Voreinstellung)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference erfordert entweder -H oder -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h erfordert -P" #~ msgid "missing operand after %s" #~ msgstr "fehlender Operand nach %s" #~ msgid "invalid context: %s" #~ msgstr "ungültiger Kontext: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "widersprüchliche Sicherheitskontext-Angaben" #~ msgid "failed to get attributes of %s" #~ msgstr "konnte Attribute von %s nicht holen" #~ msgid "invalid group: %s" #~ msgstr "ungültige Gruppe: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... GRUPPE DATEI...\n" #~ " oder: %s [OPTION]... --reference=RDATEI DATEI...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Ändern der Gruppen‐Zugehörigkeit für jede DATEI nach GRUPPE.\n" #~ "Mit --reference: Ändern der Gruppen‐Zugehörigkeit für jede DATEI auf die " #~ "von RDATEI.\n" #~ "\n" #~ " -c, --changes wie --verbose, aber nur bei wirklichen " #~ "Änderungen\n" #~ " --dereference referenzierte Datei einer symbolischen " #~ "Verknüpfung\n" #~ " ändern (dies ist die Voreinstellung)\n" #~ " statt der Verknüpfung selbst\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference symbolische Verknüpfung statt einer " #~ "referenzierten\n" #~ " Datei ändern. (Nützlich auf Systemen, die " #~ "für\n" #~ " symb. Verknüpfungen die Besitzer ändern " #~ "können.)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root „/“ nicht besonders behandeln (Voreinstellung)\n" #~ " --preserve-root rekursive Bearbeitung von „/“ ablehnen\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet die meisten Fehlermeldungen unterdrücken\n" #~ " --reference=RDATEI RDATEIs Gruppe verwenden anstatt eines GRUPPE‐" #~ "Wertes\n" #~ " -R, --recursive Dateien und Verzeichnisse rekursiv ändern\n" #~ " -v, --verbose Diagnose für jede verarbeitete Datei ausgeben\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Beispiele:\n" #~ " %s staff /u Ändert die Gruppe von /u zu „staff“.\n" #~ " %s -hR staff /u Ändert die Gruppe von /u und enthaltener Dateien zu " #~ "„staff“.\n" #~ msgid "getting new attributes of %s" #~ msgstr "Beim Holen der neuen Attribute von %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "" #~ "Weder die symbolische Verknüpfung %s, noch die referenzierte Datei wurden " #~ "verändert.\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "Modus von %s nach %04lo (%s) geändert\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "Änderung des Modus von %s nach %04lo (%s) fehlgeschlagen\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "Modus von %s als %04lo (%s) erhalten\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "" #~ "kann nicht auf der freihängenden symbolischen Verknüpfung %s arbeiten" #~ msgid "changing permissions of %s" #~ msgstr "Beim Setzen der Zugriffsrechte für %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: neue Zugriffsrechte sind %s, nicht %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... MODUS[,MODUS]... DATEI...\n" #~ " oder: %s [OPTION]... OKTAL‐MODUS DATEI...\n" #~ " oder: %s [OPTION]... --reference=RDATEI DATEI...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Den Modus jeder DATEI auf MODUS ändern.\n" #~ "\n" #~ " -c, --changes wie --verbose, aber nur bei wirklichen " #~ "Änderungen\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root „/“ nicht besonders behandeln (Voreinstellung)\n" #~ " --preserve-root nicht rekursiv auf „/“ arbeiten\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet unterdrücken der meisten Fehlermeldungen\n" #~ " -v, --verbose ausgabe einer Diagnose für jede verarbeitete " #~ "Datei\n" #~ " --reference=RDATEI verwendung von RDATEIs Modus anstatt eines " #~ "MODUS-\n" #~ " Wertes\n" #~ " -R, --recursive rekursives Ändern der Dateien und " #~ "Verzeichnisse\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Jeder MODUS hat die Form „[ugoa]*([-+=]([rwxXst]*|[ugo]))+“.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "Modus‐ und Referenz‐Optionen können nicht kombiniert werden." #~ msgid "invalid mode: %s" #~ msgstr "Ungültiger Modus: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "Eigentümer von %s in %s geändert\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "Gruppe von %s in %s gewechselt\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "kann Wechsel des Eigentümers von %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "Wechsel des Eigentümers von %s in %s fehlgeschlagen\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "Wechsel der Gruppe von %s in %s fehlgeschlagen\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "Wechsel des Eigentümers von %s fehlgeschlagen\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "Eigentümer von %s als %s erhalten\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "Gruppe von %s als %s erhalten\n" #~ msgid "ownership of %s retained\n" #~ msgstr "Eigentümer von %s erhalten\n" #~ msgid "cannot dereference %s" #~ msgstr "kann %s nicht derefenzieren" #~ msgid "changing ownership of %s" #~ msgstr "Ändern des Eigentümers von %s" #~ msgid "changing group of %s" #~ msgstr "Ändern der Gruppe für %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... [EIGENTÜMER][:[GRUPPE DATEI...\n" #~ " oder: %s [OPTION]... --reference=RDATEI DATEI...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Ändern des Eigentümers und/oder der Gruppe für jede DATEI nach " #~ "EIGENTÜMER\n" #~ "und/oder GRUPPE.\n" #~ "Mit --reference: Ändern von Eigentümers und Gruppe für jede DATEI auf " #~ "die\n" #~ "von RDATEI.\n" #~ "\n" #~ " -c, --changes wie --verbose, aber nur bei wirklichen " #~ "Änderungen\n" #~ " --dereference referenzierte Datei einer symbolischen " #~ "Verknüpfung\n" #~ " ändern (dies ist die Voreinstellung)\n" #~ " statt der Verknüpfung selbst\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=MOMENTANER_EIGENTÜMER:MOMENTANE_GRUPPE\n" #~ " Ändern des Eigentümers und/oder der Gruppe " #~ "jeder Datei\n" #~ " nur wenn der momentane Eigentümer und/oder " #~ "die\n" #~ " Gruppe der angegebenen entsprechen. Eine von " #~ "beiden\n" #~ " kann weggelassen werden, woraufhin eine " #~ "Übereinstim-\n" #~ " mung des weggelassenen Attributs nicht " #~ "notwendig\n" #~ " ist.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet die meisten Fehlermeldungen unterdrücken\n" #~ " --reference=RDATEI RDATEIs Eigentümer und Gruppe verwenden " #~ "anstatt\n" #~ " eines EIGENTÜMER:GRUPPE‐Wertes\n" #~ " -R, --recursive Dateien und Verzeichnisse rekursiv ändern\n" #~ " -v, --verbose Diagnose für jede verarbeitete Datei ausgeben\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Eigentümer bleibt unverändert, wenn nicht angegeben. Gruppe bleibt\n" #~ "unverändert, wenn nicht angegeben, wird aber auf die Login‐Gruppe\n" #~ "gesetzt, wenn durch „:“ impliziert hinter einem symbolische EIGENTÜMER.\n" #~ "EIGENTÜMER und GRUPPE können sowohl numerisch als auch symbolisch\n" #~ "angegeben werden.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Beispiele:\n" #~ " %s root /u Ändert den Eigentümer von /u auf „root“.\n" #~ " %s root:staff /u Genauso, setzt zusätzlich die Gruppe auf „staff“.\n" #~ " %s -hR root /u Ändert den Eigentümer von /u und enthaltener\n" #~ " Dateien auf „root“.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s NEUEWURZEL [BEFEHL...]\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "BEFEHL ausführen, wobei das Wurzelverzeichnis auf NEUEWURZEL gesetzt " #~ "wird.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Wenn kein Befehl angegeben ist, „${SHELL} -i“ (Vorgabe: /bin/sh) " #~ "ausführen.\n" #~ msgid "cannot change root directory to %s" #~ msgstr "Es ist nicht möglich, das Wurzelverzeichnis in %s zu ändern" #~ msgid "cannot chdir to root directory" #~ msgstr "Es ist nicht möglich, in das Wurzelverzeichnis zu wechseln" #~ msgid "cannot run command %s" #~ msgstr "es ist nicht möglich, %s auszuführen" #~ msgid "%s: file too long" #~ msgstr "%s: Datei zu lang" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Aufruf: %s [DATEI]...\n" #~ " oder: %s [OPTION]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "CRC-Checksumme und Byteanzahl für jede DATEI ausgeben.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Aufruf: %s [OPTION]... DATEI1 DATEI2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Sortierte Dateien DATEI1 und DATEI2 Zeile für Zeile vergleichen.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Ohne Optionen wird eine dreispaltige Ausgabe erzeugt. Spalte 1 enthält " #~ "Zeilen,\n" #~ "die nur in DATEI1 sind, Spalte 2 dementsprechend Zeilen aus DATEI2, und\n" #~ "Spalte 3 die Zeilen, die in beiden Dateien gleich sind.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 Zeilen unterdrücken, die nur in DATEI1 auftauchen\n" #~ " -2 Zeilen unterdrücken, die nur in DATEI2 auftauchen\n" #~ " -3 Zeilen unterdrücken, die in beiden Dateien auftauchen\n" #~ msgid "clearing permissions for %s" #~ msgstr "lösche Zugriffsrechte für %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "konnte den Eigentümer für %s nicht erhalten" #~ msgid "failed to lookup file %s" #~ msgstr "konnte die Datei %s nicht finden" #~ msgid "failed to preserve authorship for %s" #~ msgstr "konnte den Urheber für %s nicht erhalten" #~ msgid "cannot open %s for reading" #~ msgstr "%s kann nicht zum Lesen geöffnet werden" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "überspringe Datei %s, da sie während des Kopierens ersetzt wurde" #~ msgid "failed to get file system create context" #~ msgstr "konnte den Erstellungs-Kontext des Dateisystems nicht ermitteln" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "konnte Sicherheitskontext von %s nicht auf %s setzen" #~ msgid "cannot remove %s" #~ msgstr "Entfernen von %s nicht möglich" #~ msgid "removed %s\n" #~ msgstr "%s entfernt\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "schreibe nicht durch die freihängende symbolische Verknüpfung %s" #~ msgid "cannot create regular file %s" #~ msgstr "reguläre Datei %s kann nicht angelegt werden" #~ msgid "cannot lseek %s" #~ msgstr "Aufruf von lseek für %s nicht möglich" # XLATE_REMARK: Check this out! is the %s replaced by the name of the directory? #~ msgid "writing %s" #~ msgstr "Schreiben von %s" #~ msgid "preserving times for %s" #~ msgstr "Erhalten der Zeiten für %s" # XLATE_REMARK: Check this out! is the %s replaced by the name of the directory? #~ msgid "closing %s" #~ msgstr "Schließen von %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: Überschreiben von %s, über Modus %04lo (%s) hinwegsetzen? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: %s überschreiben? " #~ msgid " (backup: %s)" #~ msgstr " (Sicherung: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "" #~ "konnte den Standard-Kontext zur Dateierstellung nicht wieder herstellen" #~ msgid "omitting directory %s" #~ msgstr "Verzeichnis %s ausgelassen" #~ msgid "warning: source file %s specified more than once" #~ msgstr "Warnung: Quelldatei %s mehr als einmal angegeben" #~ msgid "%s and %s are the same file" #~ msgstr "%s und %s sind die gleiche Datei" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "" #~ "Überschreiben des Nicht‐Verzeichnisses %s mit Verzeichnis %s nicht " #~ "möglich." #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "Neu erstelltes %s wird nicht mit %s überschrieben." #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "" #~ "Überschreiben des Verzeichnisses %s mit Nicht‐Verzeichnis nicht möglich." #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "" #~ "Verschieben von Verzeichnis auf ein Nicht‐Verzeichnis nicht möglich: %s " #~ "→ %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "Sicherung von %s würde Quelle zerstören; %s nicht verschoben" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "Sicherung von %s würde Quelle zerstören; %s nicht kopiert" #~ msgid "cannot backup %s" #~ msgstr "Sicherung von %s nicht möglich" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "" #~ "werde %s nicht durch neu erstellte symbolische Verknüpfung %s kopieren" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "" #~ "Kopieren eines Verzeichnisses, %s, in sich selbst (%s) nicht möglich" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "Harte Verknüpfung %s zu Verzeichnis %s wird nicht erzeugt" #~ msgid "cannot create hard link %s to %s" #~ msgstr "Erzeugen von harter Verknüpfung %s zu Verzeichnis %s nicht möglich" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "Verschieben von %s in eigenes Unterverzeichnis (%s) nicht möglich" #~ msgid "cannot move %s to %s" #~ msgstr "Verschieben von %s nach %s nicht möglich" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "Verschieben zwischen Geräten fehlgeschlagen: %s zu %s; kann Ziel nicht " #~ "entfernen" #~ msgid "failed to set default file creation context to %s" #~ msgstr "konnte den Standard-Kontext zur Dateierstellung nicht auf %s setzen" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "Kopieren von zyklischer symbolischer Verknüpfung %s nicht möglich" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: Erzeugen relativer symbolischer Verknüpfungen nur in momentanem " #~ "Verzeichnis möglich" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "Erzeugen der symbolischen Verknüpfung %s nach %s nicht möglich" #~ msgid "cannot create link %s" #~ msgstr "Erzeugen von Verknüpfung %s nicht möglich" #~ msgid "cannot create fifo %s" #~ msgstr "Erzeugen von FIFO %s nicht möglich" #~ msgid "cannot create special file %s" #~ msgstr "Erzeugen der Spezialdatei %s nicht möglich" #~ msgid "cannot read symbolic link %s" #~ msgstr "Lesen der symbolischen Verknüpfung %s nicht möglich" #~ msgid "cannot create symbolic link %s" #~ msgstr "Erzeugen der symbolischen Verknüpfung %s nicht möglich" #~ msgid "%s has unknown file type" #~ msgstr "%s hat einen unbekannten Dateityp" #~ msgid "cannot un-backup %s" #~ msgstr "Löschen der Sicherung von %s nicht möglich" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s → %s (Löschen der Sicherung)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... [-T] QUELLE ZIEL\n" #~ " oder: %s [OPTION]... QUELLE... VERZEICHNIS\n" #~ " oder: %s [OPTION]... -t VERZEICHNIS QUELLE...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Kopieren von QUELLE nach ZIEL, oder mehrere QUELLE(n) in VERZEICHNIS\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Erforderliche Argumente für lange Optionen sind auch für kurze " #~ "erforderlich.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive genau wie -dpR\n" #~ " --backup[=KONTROLLE] eine Sicherung existierender Zieldateien " #~ "erzeugen\n" #~ " -b wie --backup, akzeptiert aber kein " #~ "Argument\n" #~ " --copy-contents wenn rekursiv, Inhalt von Spezialdateien " #~ "kopieren\n" #~ " -d genauso wie --no-dereference --" #~ "preserve=links\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force wenn existierende Zieldatei nicht geöffnet " #~ "werden\n" #~ " kann, löschen und erneut versuchen\n" #~ " -i, --interactive vor einem Überschreiben nachfragen\n" #~ " -H symbolischen Verknüpfungen, die auf der " #~ "Kommando-\n" #~ " zeile als QUELLE angegeben sind, folgen\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link Dateien verknüpfen, statt zu kopieren\n" #~ " -L, --dereference symbolischen Verknüpfungen in QUELLE immer " #~ "folgen\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference symbolischen Verknüpfungen in QUELLE nie " #~ "folgen\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p genau wie --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] angegebene Datei‐Attribute (Voreinstellung: " #~ "mode,\n" #~ " ownership,timestamps) wenn möglich " #~ "erhalten;\n" #~ " weitere Attribute: context, links, all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=ATTR_LIST Angegebene Attribute nicht erhalten\n" #~ " --parents Quell‐Pfad an VERZEICHNIS anhängen\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive Verzeichnisse rekursiv kopieren\n" #~ " --remove-destination jede Zieldatei vor dem Versuch, sie zu " #~ "öffnen,\n" #~ " löschen (im Gegensatz zu --force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=WANN Erstellung von Dateien mit Löchern (s. u.) " #~ "steuern\n" #~ " --strip-trailing-slashes Schrägstriche vom Ende jedes QUELLE‐" #~ "Arguments\n" #~ " entfernen\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link symbolischen Verknüpfungen erzeugen " #~ "anstatt\n" #~ " zu kopieren\n" #~ " -S, --suffix=SUFFIX normale Sicherungs‐Dateiendung ändern\n" #~ " -t, --target-directory=VERZ alle QUELLE‐Argumente in VERZ verschieben\n" #~ " -T, --no-target-directory ZIEL als normale Datei behandeln\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update nur kopieren, wenn die QUELL‐Datei neuer " #~ "ist\n" #~ " als die Zieldatei oder die Zieldatei " #~ "nicht\n" #~ " existiert\n" #~ " -v, --verbose durchgeführte Tätigkeiten erklären\n" #~ " -x, --one-file-system in diesem Dateisystem verbleiben\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Standardmäßig werden QUELL‐Dateien mit Löchern („sparse“) durch eine " #~ "einfache\n" #~ "Heuristik erkannt und die korrespondierenden ZIEL‐Dateien werden " #~ "ebenfalls\n" #~ "„sparse“ gemacht. Dieses Verhalten wird mit --sparse=auto ausgewählt. " #~ "Geben\n" #~ "Sie --sparse=always an um „sparse“‐ZIEL‐Dateien zu erzeugen wenn die " #~ "QUELL-\n" #~ "Datei eine ausreichend lange Sequenz aus Null‐Bytes enthält.\n" #~ "Verwenden Sie --sparse=never um das Erzeugen von „sparse“‐Dateien zu\n" #~ "verhindern.\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Der Anhang für Sicherheitskopien ist „~“, außer wenn er --suffix oder\n" #~ "SIMPLE_BACKUP_SUFFIX gesetzt wurde. Die Versionskontrolle kann mit\n" #~ "--backup oder VERSION_CONTROL gesetzt werden. Mögliche Werte sind:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off Niemals Sicherung erzeugen (selbst wenn --backup\n" #~ " angegeben wurde)\n" #~ " numbered, t Erzeugen von nummerierten Sicherheitskopien\n" #~ " existing, nil Nummeriert wenn nummerierte Backups existieren, sonst " #~ "einfach.\n" #~ " simple, never Immer einfache Sicherheitskopien erzeugen\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Als Spezialfall erzeugt cp eine Sicherheitskopie von QUELLE wenn „force“ " #~ "und\n" #~ "„backup“ Optionen angegeben wurden und QUELLE und ZIEL der gleiche Name " #~ "für\n" #~ "eine vorhandene reguläre Datei sind.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "konnte die Zeiten für %s nicht erhalten" #~ msgid "failed to preserve permissions for %s" #~ msgstr "konnte die Zugriffsrechte für %s nicht erhalten" #~ msgid "cannot make directory %s" #~ msgstr "Erzeugen des Verzeichnisses %s nicht möglich" #~ msgid "%s exists but is not a directory" #~ msgstr "%s existiert, ist aber kein Verzeichnis" # XLATE_REMARK: Check this out! is the %s replaced by the name of the directory? #~ msgid "accessing %s" #~ msgstr "Zugriff auf %s" #~ msgid "missing file operand" #~ msgstr "Fehlendes Dateioperand" #~ msgid "missing destination file operand after %s" #~ msgstr "Fehlender Zieldatei‐Operand hinter %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Kann --target-directory (-t) und --no-target-directory (-T) nicht " #~ "kombinieren" #~ msgid "target %s is not a directory" #~ msgstr "angegebenes Ziel %s ist kein Verzeichnis" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "mit --parents muss das Ziel ein Verzeichnis sein" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "" #~ "Warnung: „--reply“ wird in einer kommenden Version aufgegeben werden;\n" #~ "bitte verwenden Sie stattdessen „-i“ oder „-f“." #~ msgid "multiple target directories specified" #~ msgstr "mehrere Zielverzeichnisse angegeben" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "" #~ "Gleichzeitiges Erzeugen harter und symbolischer Verknüpfung nicht möglich." #~ msgid "backup type" #~ msgstr "Typ der Sicherung" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "kann Sicherheitskontext nicht ohne einen SELinux-Kernel erhalten" #~ msgid "input disappeared" #~ msgstr "Eingabe ist verschwunden" #~ msgid "%s: line number out of range" #~ msgstr "%s: Zeilennummer nicht im zulässigen Bereich" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: Zeilennummer nicht im zulässigen Bereich" #~ msgid " on repetition %s\n" #~ msgstr " bei Wiederholung %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: keine Entsprechung gefunden" #~ msgid "error in regular expression search" #~ msgstr "Fehler bei Suche mit regulären Ausdrücken" #~ msgid "write error for %s" #~ msgstr "Fehler beim Schreiben von %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: ganze Zahl nach Trenner erwartet" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: „}“ ist bei Angabe einer Wiederholungsanzahl erforderlich" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: ganze Zahl zwischen „{“ and „}“ erforderlich" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: schließender Trenner „%c“ fehlt" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: ungültiger regulärer Ausdruck: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: ungültiges Muster" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: Zeilennummer muss größer als Null sein" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "Zeilennummer %s ist kleiner als vorhergehende Zeilennummer %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "Warnung: Zeilennummer %s ist dieselbe wie die vorhergehende" #~ msgid "invalid format width" #~ msgstr "Ungültige Format‐Breite" #~ msgid "invalid format precision" #~ msgstr "Ungültige Format‐Genauigkeit" #~ msgid "missing conversion specifier in suffix" #~ msgstr "Angabe zur Wandlung fehlt im Suffix" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "Angabe zur Wandlung fehlt im Suffix: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "Ungültige Angabe zur Wandlung im Suffix: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "Zu viele Angaben zur %%-Wandlung im Suffix" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "Fehlende %%-Angabe zur Wandlung im Suffix" #~ msgid "%s: invalid number" #~ msgstr "%s: ungültige Zahl" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Aufruf: %s [OPTION]... DATEI MUSTER...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Teile der DATEI getrennt durch MUSTER in die Dateien „xx01“, „xx02“, ...\n" #~ "ausgeben und die Bytezahl für jedes Teil auf Standardausgabe.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMAT sprintf‐FORMAT anstelle von %02d benutzen\n" #~ " -f, --prefix=PRÄFIX PRÄFIX anstelle von „xx“ benutzen\n" #~ " -k, --keep-files Ausgabedateien bei Fehler nicht löschen\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=ZIFFERN angegebene Anzahl ZIFFERN anstelle von 2 " #~ "benutzen\n" #~ " -s, --quiet, --silent keine Bytezahlen der Ausgabedateigrößen " #~ "ausgeben\n" #~ " -z, --elide-empty-files leere Ausgabedateien löschen\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Standardeingabe lesen, wenn DATEI „-“ ist. Jedes MUSTER kann sein:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " GANZZAHL bis zu angebener Zeilennumer kopieren " #~ "(ausschließlich)\n" #~ " /REGEXP/[OFFSET] bis zu entsprechender Zeile kopieren " #~ "(ausschließlich)\n" #~ " %%REGEXP%%[OFFSET] bis zu entsprechender Zeile übergehen " #~ "(ausschließlich)\n" #~ " {GANZZAHL} das vorherige Muster sooft wie angegeben " #~ "wiederholen\n" #~ " {*} das vorherige Muster sooft wie möglich wiederholen\n" #~ "\n" #~ "Ein Zeilen-OFFSET ist ein „+“ or „-“ gefolgt von einer positiven ganzen " #~ "Zahl.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "Felder und Positionen werden von 1 an gezählt" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Aufruf: %s OPTION... [DATEI]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "Ausgewählte Teile jeder DATEI auf Standardausgabe ausgeben.\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LISTE nur diese Bytes ausgeben\n" #~ " -c, --characters=LISTE nur diese Zeichen ausgeben\n" #~ " -d, --delimiter=TRENN TRENN anstelle von Tabulator als Trenner " #~ "benutzen\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LIST nur diese Felder ausgeben; außerdem jede Zeile\n" #~ " ausgeben, die kein Trennzeichen enthält, " #~ "außer die\n" #~ " Option -s ist gegeben\n" #~ " -n (ignoriert)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement das Komplement der Menge der gewählten Bytes,\n" #~ " Zeichen oder Felder bilden\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited keine Zeilen ausgeben, die keinen Trenner " #~ "enthalten\n" #~ " --ouput-delimiter=ZKETTE ZKETTE als Ausgabetrennzeichen benutzen;\n" #~ " Voreinstellung ist das Eingabetrennzeichen\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Benutzen Sie genau eins aus -b, -c oder -f. Jede LISTE besteht aus " #~ "einem\n" #~ "Bereich oder mehreren kommagetrennten. Gewählte Eingabe wird in " #~ "derselben\n" #~ "Reihenfolge geschrieben, wie sie gelesen wird, und genau einmal " #~ "geschrieben.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Jeder Bereich ist eins aus:\n" #~ "\n" #~ " N Ntes Byte, Zeichen oder Feld, beginnend von 1\n" #~ " N- vom Nten Byte, Zeichen oder Feld bis zum Ende der Zeile\n" #~ " N-M vom Nten zum Mten (einschl.) Byte, Zeichen oder Feld\n" #~ " -M vom ersten zum Mten (einschl.) Byte, Zeichen oder Feld\n" #~ "\n" #~ "Ohne DATEI, oder wenn DATEI „-“ ist, die Standardeingabe lesen.\n" #~ msgid "invalid byte or field list" #~ msgstr "Ungültige Byte‐ oder Feldliste" #~ msgid "invalid range with no endpoint: -" #~ msgstr "ungültiger Bereich ohne Endpunkt: -" #~ msgid "invalid decreasing range" #~ msgstr "ungültiger abnehmender Bereich" #~ msgid "byte offset %s is too large" #~ msgstr "Byte‐Offset %s ist zu groß" #~ msgid "field number %s is too large" #~ msgstr "Feldnummer %s ist zu groß" #~ msgid "only one type of list may be specified" #~ msgstr "Nur ein Typ einer Liste kann angegeben werden" #~ msgid "the delimiter must be a single character" #~ msgstr "Trenner muss ein einzelnes Zeichen sein" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "Sie müssen eine Liste von Bytes, Zeichen oder Feldern angeben" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "Ein Eingabe-Begrenzer darf nur angegeben werden, wenn auf Feldern " #~ "gearbeitet wird" # CHECKIT → no \t, please # 2001-08-10 08:03:34 CEST -ke- #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "Nicht‐getrennte Zeilen zu unterdrücken ist nur sinnvoll,\n" #~ "\twenn auf Feldern operiert wird." #~ msgid "missing list of fields" #~ msgstr "Liste der Felder fehlt" #~ msgid "missing list of positions" #~ msgstr "Liste der Positionen fehlt" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... [+FORMAT]\n" #~ " oder: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Die aktuelle Uhrzeit im angegebenen FORMAT anzeigen oder die Systemzeit " #~ "setzen.\n" #~ "\n" #~ " -d, --date=ZEICHENKETTE Zeit gemäß ZEICHENKETTE anzeigen, nicht " #~ "„jetzt“\n" #~ " -f, --file=DATEI wie --date für jede Zeile in DATEI\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=DATEI Zeit der letzten Änderung von DATEI anzeigen\n" #~ " -R, --rfc-2822 Datumsausgabe gemäß RFC‐2822 anzeigen\n" #~ " Beispiel: Tue, 27 Feb 2007 16:03:44 +0100\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=ZEITSPEZ Datumsausgabe gemäß RFC‐3339 anzeigen;\n" #~ " ZEITSPEZ=„date“, „seconds“ oder „ns“ für\n" #~ " Datum und Zeit mit angegebener Genauigkeit\n" #~ " Datum und Zeit werden durch einzelnes " #~ "Leerzeichen\n" #~ " getrennt: 2007-02-27 16:03:44+0100\n" #~ " -s, --set=ZEICHENKETTE Zeit gemäß ZEICHENKETTE setzen\n" #~ " -u, --utc, --universal Coordinated Universal Time anzeigen oder " #~ "setzen\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "FORMAT bestimmt die Ausgabe. Die einzig gültige Option für die zweite\n" #~ "Form ist Coordinated Universal Time. Interpretierte Angaben sind:\n" #~ "\n" #~ " %% wörtliches %\n" #~ " %a abgekürzter Name des Wochentags der Lokale (z. B. Son)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A voller Name des Wochentags der Lokale, (z. B. Freitag)\n" #~ " %b abgekürzter Monatsname der Lokale (z. B. Nov)\n" #~ " %B voller Monatsname der Lokale, variable Länge (z. B. November)\n" #~ " %c Datum und Zeit der Lokale (z. B. Fr 18 Nov 2005 15:05:42 CET)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C Jahrhundert; wie %Y, aber ohne die letzten beiden Stellen (z. B. " #~ "20)\n" #~ " %d Tag des Monats (z. B. 01)\n" #~ " %D Datum; dasselbe wie %m/%d/%y\n" #~ " %e Tag des Monats, mit Leerzeichen aufgefüllt; wie %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F volles Datum; dasselbe wie %Y-%m-%d\n" #~ " %g Jahr als 2‐stellige Zahl bezüglich der ISO‐Wochennummer (siehe %" #~ "G)\n" #~ " %G Jahr der ISO‐Wochennummer (siehe %V); normalerweise nur mit %V " #~ "benutzt\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h dasselbe wie %b\n" #~ " %H Stunde (00..23)\n" #~ " %I Stunde (01..12)\n" #~ " %j Tag des Jahres (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k Stunde ( 0..23)\n" #~ " %l Stunde ( 1..12)\n" #~ " %m Monat (01..12)\n" #~ " %M Minute (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n neue Zeile („newline“)\n" #~ " %N Nanosekunden (000000000..999999999)\n" #~ " %p das Äquivalent von AM oder PM in der Lokale; leer wenn unbekannt\n" #~ " %P wie %p, aber in Kleinbuchstaben\n" #~ " %r Zeit im 12‐Stunden‐Format (z. B. 03:11:30)\n" #~ " %R Zeit im 24‐Stunden‐Format; dasselbe wie %H:%M\n" #~ " %s Sekunden seit „1970-01-01 00:00:00 UTC“\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S Sekunde (00..60)\n" #~ " %t horizontaler Tabulatorstopp\n" #~ " %T Zeit; dasselbe wie %H:%M:%S\n" #~ " %u Tag der Woche (1..7); 1 steht für Montag\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U Wochennummer des Jahres mit Sonntag als erstem Tag der Woche " #~ "(00..53)\n" #~ " %V ISO‐Wochennummer mit Montag als erstem Tag der Woche (01..53)\n" #~ " %w Tag der Woche (0..6); 0 steht für Sonntag\n" #~ " %W Wochennummer des Jahres mit Montag als erstem Tag der Woche " #~ "(00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x Datumsrepräsentation der Lokale (z. B. 18.11.2005)\n" #~ " %X Zeitrepräsentation der Lokale (z. B. 15:14:33)\n" #~ " %y die letzten zwei Ziffern des Jahres (00..99)\n" #~ " %Y Jahr\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z +hhmm numerische Zeitzone (z. B. +0100)\n" #~ " %:z +hh:mm numerische Zeitzone (z. B. +01:00)\n" #~ " %::z +hh:mm:ss numerische Zeitzone (z. B. +01:00:00)\n" #~ " %:::z numerische Zeitzone mit nötiger Zahl an „:“ (z. B. +01 oder " #~ "+05:30)\n" #~ " %Z alphabetische Zeitzonenabkürzung (z. B. CET)\n" #~ "\n" #~ "Die Vorgabe ist, numerische Felder mit Nullen aufzufüllen.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Die folgenden optionalen Flags können „%“ folgen:\n" #~ "\n" #~ " - (Bindestrich/Minus) Feld nicht auffüllen\n" #~ " _ (Unterstrich) Feld mit Leerzeichen auffüllen\n" #~ " 0 (Null) mit Nullen auffüllen\n" #~ " ^ wenn möglich Großbuchstaben benutzen\n" #~ " # wenn möglich Groß- und Kleinbuchstaben vertauschen\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Nach jedem Flag kommt eine optionales Feldbreite, als Dezimalzahl;\n" #~ "dann ein optionaler Modifikator, der entweder E oder O ist:\n" #~ "E: die alternative Repräsentation der Locale verwenden (so vorhanden)\n" #~ "O: die alternativen numerischen Symbole der Locale verwenden (so " #~ "vorhanden)\n" #~ msgid "multiple output formats specified" #~ msgstr "mehrere Ausgabeformate angegeben" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "" #~ "Die angegebenen Optionen zur Datumsanzeige schließen sich gegenseitig aus" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "Die Optionen zum Anzeigen und Setzen der Zeit können\n" #~ "nicht zugleich verwendet werden." #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "Dem Argument „%s“ fehlt das führende „+“.\n" #~ "Wenn eine Option angegeben wird, um das Datum zu spezifizieren, muss " #~ "jedes\n" #~ "Argument, das keine Option ist, eine Formatzeichenkette sein, die mit " #~ "„+“\n" #~ "beginnt." #~ msgid "cannot set date" #~ msgstr "das Datum kann nicht gesetzt werden" #~ msgid "time %s is out of range" #~ msgstr "Zeit %s außerhalb des zulässigen Bereichs" #~ msgid "Filesystem Type" #~ msgstr "Dateisystem Typ " #~ msgid "Filesystem " #~ msgstr "Dateisystem " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " INodes IBenut. IFrei IBen%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Größe Benut Verf Ben%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Größe Benut Verf Ben%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s‐Blöcke Benutzt Verfügbar Kapazit." #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s‐Blöcke Benutzt Verfügbar Ben%%" #~ msgid " Mounted on\n" #~ msgstr " Eingehängt auf\n" #~ msgid "cannot get current directory" #~ msgstr "Das aktuelle Verzeichnis ist nicht erreichbar" #~ msgid "cannot change to directory %s" #~ msgstr "Kann nicht in Verzeichnis %s wechseln" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "Das aktuelle Verzeichnis (jetzt %s) ist nicht erreichbar" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Aufruf: %s [OPTION]... [DATEI]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Anzeige von Informationen über die Dateisysteme, auf dem sich jede\n" #~ "DATEI befindet, oder alle Dateisysteme als Standardvorgabe.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all unechte Dateisysteme mit einschließen\n" #~ " -B, --block-size=GRÖßE GRÖßE große Blöcke verwenden\n" #~ " -h, --human-readable Größen in menschenlesbarem Format (z. B. 1K " #~ "234M 2G)\n" #~ " -H, --si genauso, aber mit 1000 statt 1024 als Teiler\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes INode‐Information statt der Block‐Benutzung\n" #~ " auflisten\n" #~ " -k wie „--block-size=1K“\n" #~ " -l, --local Liste auf lokale Dateisysteme begrenzen\n" #~ " --no-sync nicht „sync“ vor Erlangen der " #~ "Benutzungsinformation\n" #~ " aufrufen (Standardvorgabe)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability POSIX‐Ausgabeformat verwenden\n" #~ " --sync „sync“ vor Erlangen der " #~ "Benutzungsinformation\n" #~ " aufrufen\n" #~ " -t, --type=TYP Liste auf Dateisysteme des Typs TYP " #~ "begrenzen\n" #~ " -T, --print-type Dateisystemtyp ausgeben.\n" #~ " -x, --exclude-type=TYP Liste auf Dateisysteme nicht vom Typ TYP " #~ "begrenzen.\n" #~ " -v (ignoriert)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "GRÖßE kann eine der folgenden Abkürzungen sein (oder eine Zahl, die " #~ "optional\n" #~ "von einer der Abkürzungen gefolgt wird):\n" #~ "kB 1000, K 1024, MB 1000×1000, M 1024×1024 und so weiter für G, T, P, E, " #~ "Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "Dateisystemtyp %s ist sowohl ausgewählt als auch ausgeschlossen" #~ msgid "Warning: " #~ msgstr "Warnung: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "Lesen der Tabelle eingehängter Dateisysteme nicht möglich" #~ msgid "no file systems processed" #~ msgstr "keine Dateisysteme bearbeitet" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Aufruf: %s [OPTION]... [DATEI]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Ausgabe-Befehl zum Setzen der Umgebungsvariable LS_COLORS.\n" #~ "\n" #~ "Bestimmen Sie das Ausgabeformat:\n" #~ " -b, --sh, --bourne-shell Bourne‐Shell‐Code, um LS_COLORS zu setzen\n" #~ " -c, --csh, --c-shell C‐Shell‐Code, um LS_COLORS zu setzen\n" #~ " -p, --print-database Standardeinstellungen ausgeben\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Wenn DATEI angegeben ist, wird die Datei gelesen, um festzustellen, " #~ "welche\n" #~ "Farben für welche Dateitypen und Erweiterungen verwendet werden sollen.\n" #~ "Sonst wird eine vorkompilierte Datenbank verwendet. Für Einzelheiten " #~ "rufen\n" #~ "Sie „dircolors --print-database“ auf.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s: %lu: ungültige Zeile, zweites Token fehlt" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: unbekanntes Schlüsselwort %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "Die Optionen zur Ausgabe der internen Datenbank von „dircolors“ und zur " #~ "Auswahl\n" #~ "einer Shell-Syntax schließen sich gegenseitig aus" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "Dateioperanden können nicht mit --print-database kombiniert werden" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "Keine SHELL Umgebungsvariable, und keine Shell‐Typ‐Option angegeben" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s NAME\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "NAME ohne die letzte /Komponente ausgeben; enthält der NAME kein /,\n" #~ "wird „.“ (= aktuelles Verzeichnis) ausgegeben.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Beispiele:\n" #~ " %s /usr/bin/sort Ausgabe: „/usr/bin“.\n" #~ " %s stdio.h Ausgabe: „.“.\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... [DATEI]...\n" #~ " oder: %s [OPTION]... --files0-from=DL\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Summierung der Plattennutzung jeder DATEI, rekursiv für Verzeichnisse\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all Zählung für jede Datei ausgeben, nicht nur " #~ "für\n" #~ " Verzeichnisse\n" #~ " --apparent-size die sichtbare Größe ausgeben statt " #~ "Platzverbrauchs;\n" #~ " diese ist meist kleiner, kann aber auch " #~ "größer\n" #~ " sein durch Löcher in („sparse“‐)Dateien, " #~ "interne\n" #~ " Fragmentierung, indirekte Blöcke und " #~ "ähnliches\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=GRÖßE GRÖßE große Blöcke verwenden\n" #~ " -b, --bytes äquivalent zu „--apparent-size --block-" #~ "size=1“\n" #~ " -c, --total Gesamtsumme erzeugen\n" #~ " -D, --dereference-args nur symbolische Verknüpfungen dereferenzieren, " #~ "die\n" #~ " an der Kommandozeile angegeben wurden\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=D zusammengefasste Größe der Dateien aus der " #~ "Datei DL\n" #~ " ausgeben (null‐terminierte Dateinamen)\n" #~ " -H wie --si, aber mit Warnung; wird bald " #~ "äquivalent zu\n" #~ " --dereference-args (-D) sein\n" #~ " -h, --human-readable Größen in menschenlesbarem Format (z.B. 1K " #~ "234M 2G)\n" #~ " ausgeben\n" #~ " --si wie „-h“, aber mit 1000 statt 1024 als Teiler\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k Wie „--block-size=1K“\n" #~ " -l, --count-links Größe mehrfach zählen, wenn durch harte\n" #~ " Verknüpfungen verbunden\n" #~ " -m Wie „--block-size=1M“\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference alle symbolischen Verknüpfungen " #~ "dereferenzieren\n" #~ " -P, --no-dereference keinen symb. Verknüpfungen folgen " #~ "(Voreinstellung)\n" #~ " -0, --null jede Ausgabezeile mit 0 beenden anstelle des\n" #~ " Zeilenendezeichens\n" #~ " -S, --separate-dirs Größe von Unterverzeichnissen nicht\n" #~ " mitzählen\n" #~ " -s, --summarize nur Summe für jedes Argument anzeigen\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system Verzeichnis auf anderen Dateisystemen " #~ "überspringen\n" #~ " -X DATEI, --exclude-from=DATEI Dateien ausschließen, die auf eines " #~ "der \n" #~ " Muster in DATEI passen\n" #~ " --exclude=MUSTER Dateien, die auf MUSTER passen, ausschließen\n" #~ " --max-depth=N Summe für ein Verzeichnis ausgeben (oder " #~ "einer\n" #~ " Datei, mit „--all“) nur, wenn es N oder " #~ "weniger \n" #~ " Ebenen unterhalb des " #~ "Kommandozeilenargumentes ist.\n" #~ " „--max-depth=0“ ist dasselbe wie „--" #~ "summarize“.\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time Zeit der letzten Änderung irgendeiner Datei " #~ "im\n" #~ " Verzeichnis oder einem seiner " #~ "Unterverzeichnisse\n" #~ " anzeigen\n" #~ " --time=WORT Zeit als WORT anstelle der Änderungszeit " #~ "anzeigen:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STIL Zeit in bestimmten Stil anzeigen:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT wird wie bei „date“ interpretiert\n" #~ msgid "total" #~ msgstr "insgesamt" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "WARNUNG: Benutzen Sie --si, nicht -H; die Bedeutung von -H wird sich " #~ "bald\n" #~ "ändern und dann das gleiche bedeuten wie --dereference-args (-D)." #~ msgid "invalid maximum depth %s" #~ msgstr "Ungültige maximale Tiefe %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "" #~ "Warnung: „--megabytes“ wird in einer kommenden Version aufgegeben " #~ "werden;\n" #~ "bitte verwenden Sie stattdessen „-m“." #~ msgid "cannot both summarize and show all entries" #~ msgstr "" #~ "Zusammenfassung und Anzeige aller Einträge ist nicht gleichzeitig möglich" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "Warnung: Zusammenfassen ist das gleiche wie --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "Warnung: Zusammenfassen widerspricht --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Dateioperanden können nicht mit --files0-from kombiniert werden." #~ msgid "cannot read file names from %s" #~ msgstr "Kann Dateinamen nicht aus %s lesen." #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "beim Lesen von Dateinamen aus stdin ist der Dateinmane %s nicht erlaubt" #~ msgid "invalid zero-length file name" #~ msgstr "ungültiger Dateiname der Länge 0" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Aufruf: %s [OPTION]... [ZEICHENKETTE]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Die ZEICHENKETTEn auf die Standardausgabe ausgeben.\n" #~ "\n" #~ " -n den abschließenden Zeilenvorschub unterdrücken\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e Interpretation von Rückschrägstrich‐Sequenzen anschalten " #~ "(Voreinst.)\n" #~ " -E Interpretation von Rückschrägstrich‐Sequenzen " #~ "unterdrücken\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Wenn -e aktiv ist, werden die folgenden Sequenzen erkannt und umgesetzt:\n" #~ "\n" #~ " \\0NNN Zeichen mit dem ASCII‐Code NNN (oktal)\n" #~ " \\\\ Rückschrägstrich\n" #~ " \\a Alarm (BEL)\n" #~ " \\b Zeichen rückwärts löschen (Backspace)\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c Zeilenvorschub am Ende unterdrücken\n" #~ " \\f Seitenvorschub\n" #~ " \\n Zeilenvorschub\n" #~ " \\r Wagenrücklauf (Carriage Return)\n" #~ " \\t horizontaler Tabulatorstopp\n" #~ " \\v vertikaler Tabulatorstopp\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Aufruf: %s [OPTION]... [-] [NAME=WERT]... [BEFEHL [ARG]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Jeden NAMEn in der Umgebung auf WERT setzen und BEFEHL ausführen.\n" #~ "\n" #~ " -i, --ignore-environment mit leerer Umgebung beginnen\n" #~ " -u, --unset=NAME Variable aus der Umbegung entfernen\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Ein einzelnes „-“ steht für -i. Wenn kein BEFEHL angegeben ist, wird " #~ "die\n" #~ "resultierende Umgebung ausgegeben.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Tabulatoren in jeder DATEI in Leerzeichen wandeln, auf Standardausgabe\n" #~ "schreiben. Wurde keine DATEI angegeben, oder ist DATEI „-“, die\n" #~ "Standardeingabe lesen.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial Tabulatoren nicht nach Nicht‐Freiraumzeichen\n" #~ " (non blanks) wandeln\n" #~ " -t, --tabs=ZAHL Tabulator alle ZAHL Zeichen annehmen, nicht 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LISTE durch Komma getrennte LISTE von " #~ "Tabulatorpositionen\n" #~ " annehmen\n" #~ msgid "tab stop is too large %s" #~ msgstr "Tabulatorstopp ist zu groß %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "Tabulatorgröße enthält (ein) ungültige(s) Zeichen: %s" #~ msgid "tab size cannot be 0" #~ msgstr "Tabulatorgröße muss ungleich 0 sein" #~ msgid "tab sizes must be ascending" #~ msgstr "Tabulatorgrößen müssen aufsteigend sein" #~ msgid "input line is too long" #~ msgstr "Eingabezeile zu lang" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s AUSDRUCK\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Den Wert des AUSDRUCKs auf Standardausgabe ausgeben. Im Folgenden " #~ "bedeutet\n" #~ "eine Leerzeile eine aufsteigende Präzedenz. AUSDRUCK kann sein:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1, wenn es weder null noch 0 ist, sonst ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1, wenn kein Argument null oder 0 ist, sonst 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 ist kleiner als ARG2\n" #~ " ARG1 <= ARG2 ARG1 ist kleiner oder gleich ARG2\n" #~ " ARG1 = ARG2 ARG1 ist gleich ARG2\n" #~ " ARG1 != ARG2 ARG1 ist ungleich ARG2\n" #~ " ARG1 >= ARG2 ARG1 ist größer oder gleich ARG2\n" #~ " ARG1 > ARG2 ARG1 ist größer ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 arithmetische Summe von ARG1 und ARG2\n" #~ " ARG1 - ARG2 arithmetische Differenz von ARG1 und ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 arithmetisches Produkt von ARG1 und ARG2\n" #~ " ARG1 / ARG2 arithmetischer Quotient von ARG1 geteilt durch ARG2\n" #~ " ARG1 % ARG2 arithmetischer Rest von ARG1 geteilt durch ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " ZKETTE : REGEXP verankerte Mustererkennung von REGEXP in ZKETTE\n" #~ "\n" #~ " match ZKETTE REGEXP dasselbe wie ZEICHENKETTE : REGEXP\n" #~ " substr ZKETTE POS LENGTH Teilzeichenkette von ZKETTE, POS beginnt mit " #~ "1\n" #~ " index ZKETTE ZEICHEN Index in ZKETTE, wo eines der ZEICHEN " #~ "auftritt,\n" #~ " sonst 0\n" #~ " length ZEICHENKETTE Länge der ZEICHENKETTE\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + TOKEN TOKEN als Zeichenkette interpretieren, auch " #~ "wenn\n" #~ " es ein Schlüsselwort wie „match“ oder ein\n" #~ " Operator wie „/“ ist\n" #~ "\n" #~ " ( AUSDRUCK ) Wert des AUSDRUCKs\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Bedenken Sie, dass viele Operatoren für Benutzung unter einer Shell " #~ "maskiert\n" #~ "werden müssen (mit Rückschrägstrich oder Anführungszeichen). Vergleiche " #~ "sind\n" #~ "arithmetisch, wenn beide Argumente Zahlen sind, sonst lexikografisch.\n" #~ "Mustererkennungen geben die Zeichenkette zwischen \\( und \\) zurück oder " #~ "nichts;\n" #~ "wenn \\( und \\) nicht benutzt werden, wird die Länge der Zeichenkette " #~ "oder 0\n" #~ "zurückgegeben.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Der Exit‐Status ist 0, wenn der AUSDRUCK weder null noch 0 ist, 1, wenn\n" #~ "AUSDRUCK null oder 0 ist, 2, wenn der AUSDRUCK syntaktisch ungültig ist, " #~ "und\n" #~ "3, wenn ein Fehler auftrat\n" #~ msgid "syntax error" #~ msgstr "Syntaxfehler" #~ msgid "error in regular expression matcher" #~ msgstr "Fehler bei Suche mit regulären Ausdrücken" #~ msgid "non-numeric argument" #~ msgstr "Argument, das keine Zahl ist" #~ msgid "division by zero" #~ msgstr "Teilung durch Null" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s [ZAHL...]\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Die Primfaktoren jeder ZAHL ausgeben.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Die Primfaktoren aller angegebenen ganzen ZAHLen ausgeben. Wurden keine\n" #~ "Argumente in der Befehlszeile gegeben, werden diese von Standardeingabe " #~ "gelesen.\n" #~ msgid "%s is too large" #~ msgstr "%s ist zu groß" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s ist keine gültige positive ganze Zahl" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Aufruf: %s [-ZIFFERN] [OPTION]... [DATEI]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Jeden Absatz in DATEI(en) formatieren, auf Standardausgabe schreiben.\n" #~ "Wurde keine DATEI angegeben, oder ist DATEI „-“, Standardeingabe lesen.\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin Einrückung der ersten beiden Zeilen erhalten\n" #~ " -p, --prefix=ZKETTE nur Zeilen mit ZKETTE als Präfix neu " #~ "formatiern,\n" #~ " dabei ZKETTE jeder neuen Zeile " #~ "voranstellen\n" #~ " -s, --split-only lange Zeilen umbrechen, aber nicht auffüllen\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph erste Zeile anders als die zweite einrücken\n" #~ " -u, --uniform-spacing ein Leerzeichen zwischen Wörtern, zwei nach " #~ "Sätzen\n" #~ " -w, --width=BREITE maximale Zeilenbreite (Vorgabe: 75 Spalten)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "ungültige Option -- %c; -BREITE wird nur erkannt, wenn es die erste\n" #~ "Option ist; benutzen Sie stattdessen -W N" #~ msgid "invalid width: %s" #~ msgstr "ungültige Zeilenbreite: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Eingabezeilen jeder DATEI umbrechen (Vorgabe: Standardeingabe),\n" #~ "das Ergebnis auf Standardausgabe ausgeben.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes Bytes anstatt Spalten zählen\n" #~ " -s, --spaces Umbruch bei Leerzeichen\n" #~ " -w, --width=BREITE BREITE Spalten anstatt 80 benutzen\n" #~ msgid "invalid number of columns: %s" #~ msgstr "Ungültige Anzahl Spalten: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "konnte Gruppen für Nutzer %s nicht ermitteln" #~ msgid "failed to get groups for the current process" #~ msgstr "konnte Gruppen für den aktuellen Prozess nicht ermitteln" #~ msgid "cannot find name for group ID %lu" #~ msgstr "Es ist kein Name zur Gruppen‐ID %lu zu finden" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Aufruf: %s [OPTION]... [BENUTZERNAME]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "Informationen zu BENUTZERNAME oder, wenn dieser nicht angegeben ist, dem\n" #~ "aktuellen Prozess anzeigen (welche abweichen kann, wenn die Datenbank\n" #~ "mit Gruppeninformationen sich geändert hat).\n" #~ msgid "%s: No such user" #~ msgstr "%s: Einen solchen Benutzer gibt es nicht" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Die ersten 10 Zeilen jeder DATEI auf Standardausgabe ausgeben.\n" #~ "Mit mehr als einer DATEI, vorab den Dateinamen ausgeben.\n" #~ "Ohne DATEI oder DATEI ist -, Standardeingabe lesen.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N die ersten N Bytes jeder Datei ausgeben;\n" #~ " mit führendem „-“, alle außer den letzten\n" #~ " N Bytes jeder Datei\n" #~ " -n, --lines=[-]N die ersten N Zeilen ausgeben statt der ersten " #~ "10;\n" #~ " mit führendem „-“, alle außer den letzten\n" #~ " N Zeilen jeder Datei\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent nie Dateinamen vorab ausgeben\n" #~ " -v, --verbose immer Dateinamen vorab ausgeben\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "N kann folgende multiplikative Endungen tragen:\n" #~ "b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024,\n" #~ "GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y.\n" #~ msgid "error reading %s" #~ msgstr "Fehler beim Lesen von %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: Datei zu stark geschrumpft" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: Anzahl Bytes ist zu groß" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: es ist nicht möglich, zum ursprünglichen Stelle zu springen" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: es ist nicht möglich, zum Offset %s zu springen" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "es ist nicht möglich, den Datei‐Zeiger für %s neu zu positionieren" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s ist so groß, dass es nicht dargestellt werden kann" #~ msgid "number of lines" #~ msgstr "Anzahl Zeilen" #~ msgid "number of bytes" #~ msgstr "Anzahl Bytes" #~ msgid "invalid number of lines" #~ msgstr "ungültige Anzahl von Zeilen" #~ msgid "invalid number of bytes" #~ msgstr "ungültige Anzahl von Bytes" #~ msgid "invalid trailing option -- %c" #~ msgstr "ungültige folgende Option -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Aufruf: %s\n" #~ " oder: %s OPTION\n" #~ "Die hexadezimale numerische Kennung für den aktuellen Rechner ausgeben.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Aufruf: %s [NAME]\n" #~ " oder: %s OPTION\n" #~ "Den Rechnernamen dieses aktuellen Rechners ausgeben oder setzen.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "kann Namen nicht auf %s setzen" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "Rechnername kann nicht gesetzt werden; diesem System fehlt diese " #~ "Möglichkeit." #~ msgid "cannot determine hostname" #~ msgstr "es ist nicht möglich, den Rechnername zu ermitteln" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Informationen zu BENUTZER oder für den aktuellen Benutzer ausgeben.\n" #~ "\n" #~ " -a ignoriert, nur aus Kompatibilitätsgründen\n" #~ " -Z, --context nur den Sicherheitskontext des aktuellen Nutzers " #~ "ausgeben\n" #~ " -g, --group nur die effektive Gruppen‐ID ausgeben\n" #~ " -G, --groups alle Gruppen-IDs ausgeben\n" #~ " -n, --name Namen statt Nummer ausgeben, für -ugG\n" #~ " -r, --real die reale ID anstelle der effektiven ausgeben, für -" #~ "ugG\n" #~ " -u, --user nur die effektive Benutzer‐ID ausgeben\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Ohne Angabe einer OPTION, wird eine brauchbare Menge an Informationen\n" #~ "ausgegeben.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "--context (-Z) funktioniert nur auf einem Kernel mit SELinux" #~ msgid "cannot print security context when user specified" #~ msgstr "kann Sicherheitskontext nicht aurgeben, wenn Nutzer angegeben ist" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "kann Kontext nicht anzeigen, wenn SELinux nicht angeschaltet ist oder " #~ "wenn\n" #~ "die ID eines anderen Nutzers angezeigt wird" #~ msgid "can't get process context" #~ msgstr "kann Prozesskontext nicht ermitteln" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "man kann nicht „nur“ mehr als eine Sach anzeigen" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "Im Vorgabe‐Format ist es nicht möglich, nur Namen oder echte IDs " #~ "auszugeben" #~ msgid "cannot find name for user ID %lu" #~ msgstr "Es ist kein Name zur Nutzer‐ID %lu zu finden" #~ msgid " groups=" #~ msgstr " Gruppen=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "Warnung: %s: konnte Kontext nicht zu %s wechseln" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Warnung: ignoriere --preserve-context; dieser Kernel unterstützt kein " #~ "SELinux" #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "" #~ "Warnung: ignoriere --context (-Z); dieser Kernel unterstützt kein SELinux" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "" #~ "die Option strip darf nicht bei Installation von Verzeichnissen benutzt " #~ "werden" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "" #~ "Zielvereichnis darf nicht bei Installation von Verzeichnissen benutzt " #~ "werden" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "kann Ziel-Kontext %s nicht erzwingen und erhalten" #~ msgid "invalid mode %s" #~ msgstr "Ungültiger Modus %s" #~ msgid "cannot change ownership of %s" #~ msgstr "kann Eigentümer von %s nicht ändern" #~ msgid "cannot set time stamps for %s" #~ msgstr "Setzen der Zeitstempel für %s nicht möglich" #~ msgid "fork system call failed" #~ msgstr "Systemruf fork fehlgeschlagen" #~ msgid "cannot run strip" #~ msgstr "strip kann nicht ausgeführt werden" #~ msgid "waiting for strip" #~ msgstr "Warte auf strip" #~ msgid "strip process terminated abnormally" #~ msgstr "strip‐Prozess beendete sich auf ungute Weise" #~ msgid "invalid user %s" #~ msgstr "Ungültiger Anwender %s" #~ msgid "invalid group %s" #~ msgstr "ungültige Gruppe %s" #~ msgid "creating directory %s" #~ msgstr "Verzeichnis %s angelegt" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... [-T] QUELLE ZIEL\n" #~ " oder: %s [OPTION]... QUELLE... VERZEICHNIS\n" #~ " oder: %s [OPTION]... -t=VERZEICHNIS QUELLE...\n" #~ " oder: %s [OPTION]... -d=VERZEICHNIS...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "In den drei ersten Formaten wird QUELLE nach ZIEL kopiert, oder mehrere\n" #~ "QUELLEN in VERZEICHNIS, während die Zugriffsrechte und Besitzer und " #~ "Gruppe\n" #~ "der Dateien gesetzt werden. Im vierten Format werden alle Teile der/des\n" #~ "angegebenen Verzeichnis(se) erzeugt.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=ART] eine Sicherung existierender Zieldateien " #~ "erzeugen\n" #~ " -b wie --backup, akzeptiert aber kein Argument\n" #~ " -c (ignoriert)\n" #~ " -d, --directory alle Argumente als Verzeichnisnamen behandeln; " #~ "alle\n" #~ " Bestandteile der angegebenen Verzeichnisse " #~ "erzeugen\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D alle führenden Elemente von ZIEL erzeugen " #~ "außer \n" #~ " dem letzten, dann QUELLE nach ZIEL kopieren\n" #~ " -g, --group=GRUPPE Gruppenbesitz setzen, statt Gruppe des akt. " #~ "Prozesses\n" #~ " -m, --mode=MODUS Zugriffsrechte setzen (wie in chmod), statt " #~ "rwxr-xr-x\n" #~ " -o, --owner=BESITZER Besitzer setzen (nur für den Superuser)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps Anwenden der Zugriffs‐/Änderungszeiten der\n" #~ " QUELL‐Dateien auf entsprechende ZIEL‐" #~ "Dateien\n" #~ " -s, --strip Symboltabellen bereinigen\n" #~ " -S, --suffix=SUFFIX normale Anhänge für Sicherungen überschreiben.\n" #~ " -t, --target-directory=VERZ alle QUELL‐Argumente in VERZ kopieren\n" #~ " -T, --no-target-directory ZIEL als normale Datei behandeln\n" #~ " -v, --verbose den Namen jedes Verzeichnisses bei Erzeugung " #~ "ausgeben\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context SELinux-Sicherheitskontext erhalten\n" #~ " -Z, --context=KONTEXT SELinux-Sicherheitskontext von Dateien u. Verz. " #~ "setzen\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Der Anhang für Sicherheitskopien ist ~, außer wenn er --suffix oder\n" #~ "SIMPLE_BACKUP_SUFFIX gesetzt wurde. Die Versionskontrolle kann mit\n" #~ "--backup oder VERSION_CONTROL gesetzt werden. Mögliche Werte sind:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Für jedes Eingabezeilenpaar mit identischen Verschmelzungsfeldern eine " #~ "Zeile\n" #~ "auf Standardausgabe schreiben. Das voreingestellte Verschmelzungsfeld ist " #~ "das\n" #~ "erste durch Leerzeichen/Tabulator begrenzte Feld. Wenn DATEI1 oder " #~ "DATEI2\n" #~ "(nicht beide) „-“ ist, Standardeingabe lesen.\n" #~ "\n" #~ " -a DATEINR nicht‐passende Zeilen aus der Datei DATEINR ausgeben, " #~ "wobei\n" #~ " DATEINR 1 oder 2 ist, entsprechend DATEI1 oder " #~ "DATEI2\n" #~ " -e LEER fehlende Eingabefelder durch LEER ersetzen\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case Unterschiede in Groß/Kleinschreibung ignorieren, " #~ "wenn\n" #~ " Felder verglichen werden\n" #~ " -j FELD äquivalent zu „-1 FELD -2 FELD“\n" #~ " -o FORMAT FORMAT benutzen, wenn Ausgabezeilen erstellt werden\n" #~ " -t ZEICHEN ZEICHEN als Trennzeichen für Ein‐ und Ausgabefelder " #~ "nehmen\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v DATEINR wie -a DATEINR, aber verschmolzene Ausgabezeilen " #~ "unterdrücken\n" #~ " -1 FELD mit diesem FELD von DATEI1 verschmelzen\n" #~ " -2 FELD mit diesem FELD von DATEI2 verschmelzen\n" #~ " --check-order prüfen, ob die Eingabe richtig sortiert ist, auch\n" #~ " wenn alle Eingabezeilen gepaart werden können\n" #~ " --nocheck-order Sortierung der Eingabe nicht prüfen\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Außer wenn -t ZEICHEN angegeben wurde, trennen führende Leerzeichen " #~ "Felder und\n" #~ "sie werden ignoriert; anderenfalls werden Felder durch ZEICHEN getrennt. " #~ "Jedes\n" #~ "FELD ist eine Feldnummer, beginnend mit 1. FORMAT sind eine oder mehrere " #~ "durch\n" #~ "Komma oder Leerzeichen getrennte Spezifikationen, wobei jede „DATEINR." #~ "FELD“\n" #~ "oder „0“ ist. Das voreingestellte FORMAT gibt das Verschmelzungsfeld aus, " #~ "die\n" #~ "restlichen Felder von DATEI1, die restlichen Felder von DATEI2, alle " #~ "getrennt\n" #~ "mit ZEICHEN.\n" #~ "\n" #~ "Wichtig: DATEI1 und DATEI2 müssen nach dem Verschmelzungsfeld sortiert " #~ "sein.\n" #~ "Benutzen Sie zum Beispiel „sort -k 1b,1“, wenn „join“ keine Optionen " #~ "hat.\n" #~ "Wenn die Eingabe nicht sortiert ist und einige Zeilen nicht verschmolzen " #~ "werden\n" #~ "können, so wird eine Warnmeldung ausgegeben.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "Datei %d ist nicht sortiert" #~ msgid "invalid field number: %s" #~ msgstr "Ungültige Feldnummer: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "Ungültiger Feldbezeichner: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "Ungültige Feldnummer in Feldbezeichner: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "inkompatible Verschmelzungsfelder: %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "einander widersprechende Leerfeld‐Ersetzungszeichenketten" #~ msgid "empty tab" #~ msgstr "leerer Tabulator" #~ msgid "multi-character tab %s" #~ msgstr "Multi-Zeichen-Tabulator %s" #~ msgid "incompatible tabs" #~ msgstr "inkompatible Tabulatoren" #~ msgid "both files cannot be standard input" #~ msgstr "Alle beide Dateien können nicht Standardeingabe sein" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Aufruf: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " oder: %s -l [SIGNAL]...\n" #~ " oder: %s -t [SIGNAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Signale an Prozesse senden oder Signale auflisten.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SIGNAL, -SIGNAL Name oder Nummer des zu sendenden " #~ "Signals\n" #~ " -l, --list Signalnamen auflisten oder von oder zu Nummern " #~ "umwandeln\n" #~ " -t, --table Liste mit Informationen zu den Signalen\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SIGNAL kann ein Name für ein Signal wie „HUP“ sein oder eine Signalnummer " #~ "wie\n" #~ "„1“ oder der Exit‐Status eines Prozesses der von einem Signal beendet " #~ "wurde.\n" #~ "PID ist eine Ganzzahl; wenn negativ, dann identifiziert PID eine Gruppe " #~ "von\n" #~ "Prozessen.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: ungültiges Signal" #~ msgid "%s: invalid process id" #~ msgstr "%s: ungültige Prozess‐ID" #~ msgid "invalid option -- %c" #~ msgstr "ungültige Option -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: mehrere Signale angegeben" #~ msgid "multiple -l or -t options specified" #~ msgstr "mehrfach die Optionen -l oder -t angegeben" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "es ist nicht möglich, Signale mit -l oder -t zu kombinieren" #~ msgid "no process ID specified" #~ msgstr "keine Prozess‐ID angegeben" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s DATEI1 DATEI2\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Die Funktion link aufrufen, um eine Verknüpfung DATEI2 zu DATEI1 " #~ "herzustellen.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "Erzeugen von Verknüpfung %s zu %s nicht möglich" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: Warnung: Erstellen einer harten Verknüpfung auf eine symbolische\n" #~ " Verknüpfung ist nicht portabel" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: harte Verknüpfung für Verzeichnisse nicht erlaubt" # %s: kann kein Verzeichnis überschreiben #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: Überschreiben des Verzeichnisses nicht möglich" #~ msgid "%s: replace %s? " #~ msgstr "%s: %s ersetzen? " #~ msgid "creating symbolic link %s" #~ msgstr "Erzeuge symbolische Verknüpfung %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "Erzeuge symbolische Verknüpfung %s → %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "Erzeuge harte Verknüpfung zu %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "Erzeuge harte Verknüpfung %s" #~ msgid "creating hard link %s => %s" #~ msgstr "Erzeuge harte Verknüpfung %s ⇒ %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... [-T] ZIEL LINK_NAME (1. Form)\n" #~ " oder: %s [OPTION]... ZIEL (2. Form)\n" #~ " oder: %s [OPTION]... ZIEL... VERZ (3. Form)\n" #~ " oder: %s [OPTION]... -t VERZ ZIEL... (4. Form)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "In der 1. Form: Eine Verknüpfung namens LINK_NAME auf ZIEL erstellen\n" #~ "In der 2. Form: Eine Verknüpfung auf ZIEL im aktuellen Verzeichnis " #~ "erstellen\n" #~ "In der 3. und 4. Form: Verknüpfungen zu jedem ZIEL in VERZ erstellen\n" #~ "Als Standardvorgabe werde harte Verknüpfungen erstellt, für symbolische\n" #~ "Verknüpfungen ist die Option --symbolic anzugeben.\n" #~ "Beim Erzeugen von harten Verknüpfungen muss jedes ZIEL existieren.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup=[KONTROLLE] Sicherungen für vorhandene Zieldateien " #~ "erzeugen.\n" #~ " -b Wie --backup, akzeptiert aber kein " #~ "Argument.\n" #~ " -d, -F, --directory dem Superuser den Versuch erlauben, harte\n" #~ " Verknüpfungen für Verzeichnisse " #~ "anzulegen\n" #~ " (Bem.: Schlägt vermutlich dennoch fehl " #~ "wegen\n" #~ " Systembeschränkungen, auch für " #~ "Superuser.)\n" #~ " -f, --force Vorhandene Ziele entfernen.\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference Ziel, das eine symbolische Verknüpfung auf " #~ "ein\n" #~ " Verzeichnis ist, wie normale Datei " #~ "behandeln\n" #~ " -i, --interactive vor Entfernen vorhandener Ziele " #~ "nachfragen\n" #~ " -s, --symbolic symbolische statt harter Verknüpfung " #~ "erzeugen\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=SUFFIX normale Anhänge für Sicherungen " #~ "überschreiben\n" #~ " -t, --target-directory=VERZ VERZeichnis angeben, in dem die " #~ "Verknüpfungen\n" #~ " erstellt werden sollen\n" #~ " -T, --no-target-directory LINK_NAME als Namen normaler Datei " #~ "behandeln\n" #~ " -v, --verbose jeden Dateinamen vor dem Verknüpfen " #~ "ausgeben\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "" #~ "--target-directory und --no-target-directory sind nicht kombinierbar" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Aufruf: %s [OPTION]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Den Namen des aktuellen Benutzers ausgeben.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "kein Loginname" #~ msgid "%b %e %Y" #~ msgstr "%e. %b %Y " #~ msgid "%b %e %H:%M" #~ msgstr "%e. %b %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "Ungültiger Wert der Umgebungsvariable QUOTING_STYLE wird ignoriert: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "Ungültige Breite in Umgebungsvariable COLUMNS wird ignoriert: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "Ungültige Tabulator‐Größe in Umgebungsvariable TABSIZE wird ignoriert: %s" #~ msgid "invalid line width: %s" #~ msgstr "ungültige Zeilenbreite: %s" #~ msgid "invalid tab size: %s" #~ msgstr "ungültige Tabulatorgröße: %s" #~ msgid "invalid time style format %s" #~ msgstr "Ungültiges Zeitformat %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "Präfix nicht erkannt: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "Wert für Umgebungsvariable LS_COLORS ist syntaktisch fehlerhaft." #~ msgid "cannot open directory %s" #~ msgstr "Öffnen von Verzeichnis %s nicht möglich" #~ msgid "cannot determine device and inode of %s" #~ msgstr "kann Gerät und INode von %s nicht bestimmen" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: zeige schon angezeigtes Verzeichnis nicht an" #~ msgid "closing directory %s" #~ msgstr "Schließen von Verzeichnis %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "Kann Dateinamen %s und %s nicht vergleichen." #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Auflistung von Informationen der DATEIen (Standardvorgabe ist das " #~ "momentane\n" #~ "Verzeichnis). Alphabetisches Sortieren der Einträge, falls weder -" #~ "cftuvSUX\n" #~ "noch --sort angegeben.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all Einträge, die mit . beginnen, nicht " #~ "verstecken\n" #~ " -A, --almost-all implizierte . und .. nicht anzeigen\n" #~ " --author mit -l, den Urheber jeder Datei ausgeben\n" #~ " -b, --escape nicht‐druckbare Zeichen oktale ausgeben\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=GRÖßE GRÖßE große Blöcke verwenden\n" #~ " -B, --ignore-backups Einträge, die mit ~ enden, nicht ausgeben\n" #~ " -c mit -lt: Sortieren nach und Anzeige von " #~ "ctime \n" #~ " (Zeit der letzten Veränderung der Datei‐" #~ "Status‐\n" #~ " informationen); mit -l: ctime anzeigen und " #~ "nach\n" #~ " Namen sortieren\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C Einträge mehrspaltig ausgeben\n" #~ " --color[=WANN] Kontrolle, wann Farbe zum Unterscheiden der " #~ "Datei-\n" #~ " typen eingesetzt wird; WANN kann " #~ "„never“ (nie),\n" #~ " „always“ (immer) oder „auto“ sein\n" #~ " -d, --directory Verzeichnis‐Einträge statt der Inhalte " #~ "anzeigen,\n" #~ " symbolische Verknüpfungen nicht verfolgen\n" #~ " -D, --dired Ausgabe für den „dired“‐Modus im Emacs " #~ "formatieren\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f nicht sortieren, -aU an‐ und -ls --color " #~ "abschalten\n" #~ " -F, --classify ein Zeichen (aus */=>@|) zur Typisierung " #~ "anhängen\n" #~ " --file-type genauso, aber kein „*“ anhängen\n" #~ " --format=WORT across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time wie -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr "" #~ " -g wie -l, aber Eigentümer nicht auflisten\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " Verzeichnisse vor den Dateien gruppieren;\n" #~ " kann zusammen mit Sortierung benutzt " #~ "werden,\n" #~ " doch --sort=none schaltet Gruppierung ab\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group in Langform Gruppennamen nicht auflisten\n" #~ " -h, --human-readable in Langform Größenangaben in " #~ "menschenlesbarem\n" #~ " Format ausgeben (z. B. 1K 234M 2G)\n" #~ " --si genauso, aber mit 1000 statt 1024 als " #~ "Teiler\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line symbolischen Verknüpfungen, die auf " #~ "der\n" #~ " Kommandozeile aufgeführt sind, folgen\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " symbolischen Verknüpfungen auf der " #~ "Kommandozeile,\n" #~ " die auf Verzeichnisse zeigen, folgen\n" #~ " --hide=MUSTER implizite Einträge, auf die Shell‐MUSTER " #~ "passt,\n" #~ " nicht auflisten (überschrieben durch -a " #~ "oder -A)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=WORT Indikator des Stils WORT an Namen der " #~ "Einträge\n" #~ " anhängen: „none“ (Standardvorgabe), " #~ "„slash“ (-p)\n" #~ " „file-type“ (--file-type), „classify“ (-" #~ "F)\n" #~ " -i, --inode mit -l, Inode‐Nummer ausgeben\n" #~ " -I, --ignore=MUSTER implizierte Einträge, auf die Shell‐MUSTER\n" #~ " passt, nicht auflisten\n" #~ " -k wie „--block-size=1K“\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l lange Listenformat verwenden\n" #~ " -L, --dereference bei symbolischen Verknüpfungen die " #~ "Eigenschaften\n" #~ " der jeweiligen Zieldatei anzeigen\n" #~ " -m so viele Einträge wie möglich, durch " #~ "Kommata\n" #~ " getrennt, in eine Zeile packen\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid wie -l, aber numerische UIDs und GIDs " #~ "anzeigen\n" #~ " -N, --literal rohe Eintragsnamen anzeigen (z. B. " #~ "Kontroll‐\n" #~ " zeichen nicht besonders behandeln)\n" #~ " -o wie -l, aber ohne Gruppen‐Informationen\n" #~ " -p, --indicator-style=slash an Verzeichnisse ein „/“ anhängen\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars „?“ statt nicht‐druckbarer Zeichen ausgeben\n" #~ " --show-control-chars nicht‐druckbare Zeichen anzeigen, wie sie " #~ "sind\n" #~ " (Standardvorgabe, außer wenn das Programm " #~ "„ls“ \n" #~ " ist und die Ausgabe auf ein Terminal " #~ "geht)\n" #~ " -Q, --quote-name Eintrags‐Namen in doppelte " #~ "Anführungszeichen.\n" #~ " --quoting-style=WORT Anführungszeichen‐Stil WORT benutzen:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse umgekehrte Reihenfolge beim Sortieren\n" #~ " -R, --recursive Unterverzeichnissen rekursiv ausgeben\n" #~ " -s, --size die Größe jeder Datei in Blöcken ausgeben\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S nach Dateigröße sortieren\n" #~ " --sort=WORT nach WORT anstatt nach Name sortieren: none -" #~ "U\n" #~ " extension -X, size -S, time -t, version -" #~ "v\n" #~ " --time=WORT mit -l, Zeit als WORT statt der " #~ "Änderungszeit:\n" #~ " atime -u, access -u, use -u, ctime -c, " #~ "status -c;\n" #~ " die angegebene Zeit als Sortierkriterium\n" #~ " bei --sort=time verwenden\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STIL mit -l, Zeiten mittels Stil STIL anzeigen:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT\n" #~ " FORMAT wie bei „date“; hat FORMAT die Form\n" #~ " FORMAT1FORMAT2, wird FORMAT1 für " #~ "nicht\n" #~ " kürzlich geänderte Dateien verwendet und " #~ "FORMAT2\n" #~ " für kürzlich geänderte; beginnt STIL mit " #~ "„posix-“,\n" #~ " ist STIL nur außerhalb der POSIX‐Locale " #~ "gültig\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t nach Änderungszeit sortieren\n" #~ " -T, --tabsize=SPALTEN Tabstops auf alle SPALTEN Zeichen setzen " #~ "statt 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u mit -lt: Sortieren nach und Anzeige von " #~ "Zugriffs-\n" #~ " zeit; mit -l: Anzeige von Zugriffszeit " #~ "und\n" #~ " nach Namen sortieren; sonst: nach " #~ "Zugriffszeit\n" #~ " -U nicht sortieren; Einträge in Reihenfolge " #~ "des\n" #~ " Verzeichnisses auflisten\n" #~ " -v nach Version sortieren\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=SPALTEN gegebene Bildschirmbreite statt des " #~ "momentanen\n" #~ " Wertes annehmen\n" #~ " -x Einträge in Zeilen statt in Spalten " #~ "auflisten\n" #~ " -X alphabetisch nach der Erweiterung sortieren\n" #~ " -Z, --context SELinux-Sicherheitskontext jeder Datei " #~ "anzeigen\n" #~ " -1 eine Datei pro Zeile auflisten\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Standardmäßig werden keine Farben zum Unterscheiden der Dateitypen " #~ "verwendet.\n" #~ "Das ist das Äquivalent zur Verwendung von --color=none. Die Verwendung " #~ "der\n" #~ "--color‐Option ohne das optionale WANN‐Argument ist äquivalent zur " #~ "Verwendung\n" #~ "von --color=always. Mit --color=auto werden Farbcodes ausgegeben, wenn " #~ "die\n" #~ "Standardausgabe mit einem Terminal (tty) verbunden ist. Die " #~ "Umgebungsvariable\n" #~ "LS_COLORS kann die Farben beeinflussen und kann einfach mit dem Befehl\n" #~ "„dircolors“ gesetzt werden.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Exit‐Status ist 0, wenn alles OK ist, 1 bei kleineren Problemen und\n" #~ "2 bei richtigem Ärger.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Aufruf: %s [OPTION] [DATEI]...\n" #~ "%s‐Prüfsummen (%d Bits) ausgeben oder überprüfen.\n" #~ "Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary im Binärmodus lesen (Voreinstellung außer beim " #~ "Lesen\n" #~ " aus an Konsole gebundener Standardeingabe)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary im Binärmodus lesen\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check %s‐Prüfsummen aus DATEIen lesen und überprüfen\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ "-t, --text im Textmodus lesen (Voreinstellung beim Lesen\n" #~ " aus an Konsole gebundener Standardeingabe)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text im Textmodus lesen (Voreinstellung)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Die folgenden beiden Optionen sind nur beim Überprüfen sinnvoll:\n" #~ " --status nichts ausgeben, der Statuscode zeigt Erfolg an\n" #~ " -w, --warn bei ungeeignet formatierten Prüfsummenzeilen " #~ "warnen\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Die Summen werden berechnet wie in %s beschrieben. Beim Überprüfen\n" #~ "sollte die Eingabe eine frühere Ausgabe dieses Programms sein. Die " #~ "normale\n" #~ "Arbeitsweise ist es, eine Zeile mit Prüfsumme, einem Zeichen, das den " #~ "Typ\n" #~ "anzeigt („*“ für binär, „ “ für Text), und dem Namen jeder Datei " #~ "auszugeben.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: zu viele Prüfsummenzeilen" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: nicht korrekt formatierte %s‐Prüfsummenzeile" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: FEHLSCHLAG bei open oder read\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: Lesefehler" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: keine korrekt formatierte %s‐Prüfsummenzeile gefunden" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "WARNUNG: die eine aufgeführte Datei konnte nicht gelesen werden" #~ msgstr[1] "" #~ "WARNUNG: % von % aufgeführten Dateien konnten nicht " #~ "gelesen werden" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "Warnung: die berechnete Prüfsumme passte NICHT" #~ msgstr[1] "" #~ "Warnung: % von % berechneten Prüfsumme passten NICHT" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "Die Optionen --binary und --text sind bei der Kontrolle von Prüfsummen " #~ "nutzlos" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "" #~ "Die Option --status ist nur bei der Kontrolle von Prüfsummen sinnvoll" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "" #~ "Die Option --warn ist nur nur bei der Kontrolle von Prüfsummen sinnvoll" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Aufruf: %s [OPTION] VERZEICHNIS...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Erzeugen der/des Verzeichnisse(s), wenn sie noch nicht existieren.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MODUS Zugriffsrechte setzen (wie chmod), nicht a=rwx − " #~ "umask\n" #~ " -p, --parents kein Fehler, wenn vorhanden; übergeordnete\n" #~ " Verzeichnisse erzeugen, wenn notwendig\n" #~ " -v, --verbose für jedes angelegte Verzeichnis eine Meldung " #~ "ausgeben\n" #~ " -Z, --context=K SELinux-Sicherheitskontext jedes erzeugten " #~ "Verzeichnisses\n" #~ " auf K setzen\n" #~ msgid "created directory %s" #~ msgstr "Verzeichnis %s angelegt" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Aufruf: %s [OPTION] NAME...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Benannte Pipes (FIFOs) mit den angegebenen NAMEn erzeugen.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=KTX den SELinux-Sicherheitskontext jedes NAME auf KTX " #~ "setzen\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MODUS Zugriffsrechte auf MODUS setzen, nicht a=rw − umask\n" #~ msgid "invalid mode" #~ msgstr "ungültiger Zugriffsmodus" #~ msgid "mode must specify only file permission bits" #~ msgstr "Der Modus darf nur Dateizugriffsrechte angeben." #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Aufruf: %s [OPTION]... NAME TYP [MAJOR MINOR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Spezial‐Datei NAME vom angegebenen TYP erzeugen.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=KTX den SELinux-Sicherheitskontext von NAME auf KTX " #~ "setzen\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Sowohl MAJOR als auch MINOR müssen angegeben werden, wenn der TYP b, c " #~ "oder u\n" #~ "ist, und müssen weggelassen werden für TYP p. Beginnen MAJOR oder MINOR " #~ "mit 0x\n" #~ "oder 0X, wird die Zahl hexadezimal interpretiert; anderenfalls, wenn sie " #~ "mit 0\n" #~ "beginnen, oktal; anderenfalls dezimal. TYP kann sein:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b eine blockorientierte (gepufferte) Spezial‐Datei anlegen\n" #~ " c, u eine zeichenorienterte (ungepufferte) Spezial‐Datei anlegen\n" #~ " p eine FIFO anlegen\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Beim Erzeugen von Spezialdateien müssen Major‐ und Minor‐Gerätenummern " #~ "angegeben werden" #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Fifos habe keine Major‐ und Minor‐Gerätenummern." #~ msgid "block special files not supported" #~ msgstr "Blockorientierte Spezialdateien werden nicht unterstützt" #~ msgid "character special files not supported" #~ msgstr "Zeichenorientierte Spezialdateien werden nicht unterstützt" #~ msgid "invalid major device number %s" #~ msgstr "Ungültige Major‐Gerätenummer %s" #~ msgid "invalid minor device number %s" #~ msgstr "Ungültige Minor‐Gerätenummer %s" #~ msgid "invalid device %s %s" #~ msgstr "Ungültiges Gerät %s %s" #~ msgid "invalid device type %s" #~ msgstr "Ungültiger Gerätetyp %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Aufruf: %s [OPTION]... [SCHABLONE]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Temporäre Datei oder Verzeichnis anlegen, auf sichere Art und Weise, und " #~ "den\n" #~ "Namen ausgeben. Ist keine SCHABLONE angegeben, tmp.XXXXXXXXXX benutzen.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory Verzeichnis erstellen statt Datei\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet Ausgaben zu Datei-/Verzeichniserstellungsfehlern " #~ "unterdrücken\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run nichts erstellen; nur einen Namen ausgeben (unsicher)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=VERZ] SCHABLONE relativ zu VERZ betrachten. Wenn VERZ nicht\n" #~ " angegeben, wird $TMPDIR benutzt (wenn gesetzt), " #~ "sonst /tmp.\n" #~ " Mit dieser Option muss SCHABLONE kein absoluter Name " #~ "sein.\n" #~ " Anderst als mit -t darf SCHABLONE Schrägstriche " #~ "enthalten,\n" #~ " aber auch hier wird mktemp nur die letzte " #~ "Komponente\n" #~ " erstellen.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p VERZ VERZ als Präfix benutzen; impliziert -t (veraltet)\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t SCHABLONE als Komponente eines einzelnen Dateinamen " #~ "nehmen,\n" #~ " relativ zu einem Verzeichnis: $TMPDIR, wenn gesetzt; " #~ "sonst\n" #~ " das mit -p gegebene Verzeichnir; sonst /tmp " #~ "(veraltet)\n" #~ msgid "too many templates" #~ msgstr "zu viele Schablonen" #~ msgid "too few X's in template %s" #~ msgstr "zu wenige Xs in Schablone %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "ungültige Schablone, %s, enthält Verzeichnistrenner" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "ungültige Schablone, %s; mit --tmpdir darf sie nicht absolut sein" #~ msgid "failed to create directory via template %s" #~ msgstr "konnte Verzeichnis nicht mittels Schablone %s erstellen" #~ msgid "failed to create file via template %s" #~ msgstr "konnte Datei nicht mittels Schablone %s erstellen" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Umbenennen von QUELLE in ZIEL, oder QUELLE(en) in VERZEICHNIS " #~ "verschieben\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=KONTROLLE] vor Entfernen Sicherung anlegen\n" #~ " -b wie --backup, akzeptiert aber keine " #~ "Argumente\n" #~ " -f, --force vor Überschreiben nicht nachfragen\n" #~ " -i, --interactive vor Überschreiben nachfragen\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes Schrägstriche vom Ende jedes QUELLE‐" #~ "Arguments\n" #~ " entfernen\n" #~ " -S, --suffix=SUFFIX die normale Sicherungs‐Erweiterung " #~ "überschreiben\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=VERZ alle Quellen in Verzeichnis VERZ " #~ "verschieben\n" #~ " -T, --no-target-directory ZIEL als normale Datei behandeln\n" #~ " -u, --update nur ältere oder brandneue Dateien " #~ "verschieben\n" #~ " -v, --verbose Erklärung über Abläufe ausgeben\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Aufruf: %s [OPTION] [BEFEHL [ARGUMENT]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "BEFEHL mit festgelegter Priorität ausführen, was Zeitzuteilung " #~ "beeinflusst.\n" #~ "Ohne BEFEHL, die aktuelle Priorität ausgeben. Die Priorität reicht dabei " #~ "von\n" #~ "%d (vorteilhafteste Zeitzuteilung) bis %d (unvorteilhafteste " #~ "Zeitzuteilung).\n" #~ "\n" #~ " -n, --adjustment=N Priorität N erhöhen (Voreinstellung 10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "ungültiges Argument %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "Mit einer Priorität muss ein Befehl angegeben werden" #~ msgid "cannot get niceness" #~ msgstr "kann aktuelle Priorität nicht ermitteln" #~ msgid "cannot set niceness" #~ msgstr "kann Priorität nicht setzen" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Jede DATEI mit Zeilennummern nach Standardausgabe schreiben.\n" #~ "Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STIL STIL zur Nummerierung benutzen\n" #~ " -d, --section-delimiter=CC CC benutzen, um logische Seiten zu " #~ "trennen\n" #~ " -f, --footer-numbering=STIL STIL benutzen, um Fußzeilen zu " #~ "nummerieren\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STIL STIL benutzen, um Kopfzeilen zu " #~ "nummerieren\n" #~ " -i, --page-increment=ANZAHL Zeilennummerinkrement in jeder Zeile\n" #~ " -l, --join-blank-lines=ANZAHL ANZAHL Leerzeilen zählen als eine\n" #~ " -n, --number-format=FORMAT Zeilennummern gemäß FORMAT einfügen\n" #~ " -p, --no-renumber logische Zeilennummer am Anfang von " #~ "logischen\n" #~ " Seiten nicht zurücksetzen\n" #~ " -s, --number-separator=ZKETTE ZKETTE nach (möglicher) Zeilennummer " #~ "einfügen\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=ANZAHL erste Zeilennummer auf jeder logischen " #~ "Seite\n" #~ " -w, --number-width=ANZAHL ANZAHL Spalten für Zeilennummern " #~ "benutzen\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Standardeinstellung ist -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC sind\n" #~ "zwei Begrenzungszeichen, um logische Seiten zu trennen, ein fehlendes " #~ "zweites\n" #~ "Zeichen impliziert „:“. Geben Sie \\\\ für \\ ein. STIL ist einer aus:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a alle Zeilen nummerieren\n" #~ " t nur nichtleere Zeilen nummerieren\n" #~ " n keine Zeilen nummerieren\n" #~ " pREGEXP nur Zeilen nummerieren, die die einfache REGEXP enthalten\n" #~ "\n" #~ "FORMAT ist eines der folgenden:\n" #~ "\n" #~ " ln linksbündig, keine führenden Nullen\n" #~ " rn rechtsbündig, keine führenden Nullen\n" #~ " rz rechtsbündig, führende Nullen\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "Überlauf bei den Zeilennummern" #~ msgid "invalid header numbering style: %s" #~ msgstr "ungültiger Stil für Kopfzeilennummerierung: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "ungültiger Stil für Textkörpernummerierung: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "ungültiger Stil für Fußzeilennummerierung: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "ungültiger anfängliche Zeilennummer: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "ungültiges Inkrement für Zeilennummer: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "ungültige Anzahl von Leerzeilen: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "ungültige Breite des Feldes für die Zeilennummer: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "ungültiges Zeilennummerformat: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s BEFEHL [ARGUMENT]...\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "BEFEHL ausführen und dabei das Signal HUP ignorieren.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Ist die Standardeingabe ein Terminal, sie von /dev/null umleiten.\n" #~ "Ist die Standardausgabe ein Terminal, Ausgaben an „nohup.out“ anhängen, " #~ "wenn\n" #~ "möglich, sonst an „$HOME/nohup.out“.\n" #~ "Ist die Standardfehlerausgabe ein Terminal, sie auf die Standardausgabe " #~ "umleiten.\n" #~ "Um die Ausgabe in eine DATEI umzuleiten, „%s BEFEHL > DATEI“ benutzen.\n" #~ msgid "ignoring input" #~ msgstr "ignoriere Eingabe" #~ msgid "failed to open %s" #~ msgstr "konnte %s nicht öffnen" #~ msgid "ignoring input and appending output to %s" #~ msgstr "ignoriere Eingabe und hänge Ausgabe an %s an" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "konnte die Kopie von stderr bei Exec nicht auf Schließen setzen" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "" #~ "ignoriere Eingabe und leite Standardfehlerausgabe auf Standardausgabe um" #~ msgid "failed to redirect standard error" #~ msgstr "konnte Standardfehlerausgabe nicht umleiten" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... [DATEI]...\n" #~ " oder: %s [-abcdfilosx]... [DATEI] [[+]OFFSET[.][b]]\n" #~ " oder: %s --traditional [OPTION]... [DATEI] [[+]OFFSET[.][b] [+][LABEL]" #~ "[.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Eine eindeutige Darstellung der DATEI, auf Standardausgabe ausgeben " #~ "(Vorgabe:\n" #~ "Oktalzahlen). Bei mehr als einem Argument DATEI, die Dateien in der\n" #~ "angegebenen Folge verketten und die Eingabe zu bilden.\n" #~ "Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Erforderliche Argumente für lange Optionen sind für kurze auch " #~ "notwendig.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=RADIX entscheiden, wie Dateioffsets ausgegeben " #~ "werden\n" #~ " -j, --skip-bytes=BYTES BYTES Eingabebytes am Anfang jeder Datei\n" #~ " übergehen\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BYTES Ausgabe auf BYTES Eingabebytes pro Datei\n" #~ " begrenzen\n" #~ " -s, --strings[=BYTES] Ketten mit wenigstens BYTES " #~ "alphanumerischen\n" #~ " Zeichen ausgeben\n" #~ " -t, --format=TYP Ausgabeformat(e) wählen\n" #~ " -v, --output-duplicates nicht * benutzen, um Zeilenunterdrückung\n" #~ " anzuzeigen\n" #~ " -w, --width[=BYTES] Anzahl BYTES pro Ausgabezeile ausgeben\n" #~ " --traditional Argumente in traditioneller Form " #~ "akzeptieren\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Traditionell spezifizierte Formatangaben können gemischt werden; sie " #~ "werden\n" #~ "akkumuliert:\n" #~ " -a dasselbe wie -t a, benannte Zeichen wählen, oberstes Bit " #~ "ignorieren\n" #~ " -b dasselbe wie -t o1, Oktalbytes wählen\n" #~ " -c dasselbe wie -t c, ASCII‐Zeichen oder Rückschrägstrich‐Escapes " #~ "wählen\n" #~ " -d dasselbe wie -t u2, dezimale vorzeichenlose 2‐Byte‐Zahlen wählen\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f dasselbe wie -t fF, Fließkommazahlen wählen\n" #~ " -i dasselbe wie -t dI, dezimale Integer wählen\n" #~ " -l dasselbe wie -t dL, dezimale Longs wählen\n" #~ " -o dasselbe wie -t o2, oktale 2‐Byte‐Zahlen wählen\n" #~ " -s dasselbe wie -t d2, dezimale 2‐Byte‐Zahlen wählen\n" #~ " -x dasselbe wie -t x2, hexadezimale 2‐Byte‐Zahlen wählen\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Wenn die erste und zweite Aufrufform beide zutreffen, wird das zweite " #~ "Format\n" #~ "angenommen, wenn der letzte Operand mit + oder (wenn es zwei Operanden " #~ "gibt)\n" #~ "einer Ziffer anfängt. Ein OFFSET‐Operand bedeutet -j OFFSET. MARKE ist " #~ "die\n" #~ "Pseudoadresse des ersten auszugebenden Bytes; sie wird entsprechend " #~ "erhöht,\n" #~ "wenn die Ausgabe fortschreitet. Für OFFSET und MARKE bedeutet ein „0x“‐ " #~ "oder\n" #~ "„0X“‐Präfix hexadezimal; Suffixe können „.“ für oktal und „b“ für " #~ "Vielfaches\n" #~ "von 512 sein.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "TYP setzt sich zusammen aus einer oder mehreren dieser Spezifikationen:\n" #~ "\n" #~ " a ein benanntes Zeichen, oberstes Bit ignorieren\n" #~ " c ASCII‐Zeichen oder Rückschrägstrich‐Escape\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[ANZAHL] dezimal mit Vorzeichen, ANZAHL Bytes pro Zahl\n" #~ " f[ANZAHL] Fließkomma, ANZAHL Bytes pro Zahl\n" #~ " o[ANZAHL] oktal, ANZAHL Bytes pro Zahl\n" #~ " u[ANZAHL] dezimal ohne Vorzeichen, ANZAHL Bytes pro Zahl\n" #~ " x[ANZAHL] hexadezimal, ANZAHL Bytes pro Zahl\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "ANZAHL ist eine Zahl. Wenn TYP einer von „d“, „o“, „u“, oder „x“ ist, " #~ "kann\n" #~ "ANZAHL auch „C“ für sizeof(char), „S“ für sizeof(short) , „I“ für sizeof" #~ "(int)\n" #~ "oder „L“ für sizeof(long) sein. Wenn TYP „f“ ist, kann ANZAHL auch „F“ " #~ "für\n" #~ "sizeof(float), „D“ für sizeof(double) oder „L“ für sizeof(long double) " #~ "sein.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "RADIX ist „d“ für dezimal, „o“ für oktal, „x“ für hexadezimal oder „n“ " #~ "für\n" #~ "nichts. BYTES ist hexadezimal mit 0x‐ oder 0X‐Präfix und kann folgende\n" #~ "multiplikative Endungen tragen:\n" #~ "b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024,\n" #~ "GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y.\n" #~ "Wird ein Suffix „z“ an einen beliebigen Typ angehängt, werden am Ende " #~ "jeder\n" #~ "Zeile die druckbaren Zeichen ausgegeben. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string ohne Zahl impliziert „3“. --width ohne Zahl impliziert „32“.\n" #~ "Standardmäßig benutzt od: -A o -t d2 -w16.\n" #~ msgid "invalid type string %s" #~ msgstr "Ungültige Typbezeichnung %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "Ungültige Typbezeichnung %s;\n" #~ "dieses System hat keinen Typ für %lu‐Byte große Ganzzahlen" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "Ungültige Typbezeichnung %s;\n" #~ "dieses System hat keinen Typ für %lu-Byte große Gleitkommazahlen" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "Ungültiges Zeichen „%c“ in Typenbezeichnung %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "" #~ "Es ist nicht möglich, hinter das Ende der kombinierten Eingabe vorzurücken" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "Ungültiger Ausgabeadressradix „%c“; es muss ein Zeichen aus [doxn] sein" #~ msgid "no type may be specified when dumping strings" #~ msgstr "Bei der Ausgabe von Zeichenketten darf kein Typ angegeben werden" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Der Kompatibilitätsmodus unterstützt höchstens eine Datei." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "skip-bytes + read-bytes ist zu groß" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "Warnung: ungültige Breite %lu; %d wird benutzt" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" width=%d\n" #~ msgid "standard input is closed" #~ msgstr "Standardeingabe ist geschlossen" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Zeilen auf Standardausgabe ausgeben, die aus sequenziell sich " #~ "entsprechenden\n" #~ "Zeilen jeder DATEI bestehen, getrennt durch Tabulatoren.\n" #~ "Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LISTE Zeichen aus LISTE anstelle von Tabulatoren " #~ "benutzen\n" #~ " -s, --serial Dateien nacheinander ausgeben anstelle " #~ "parallel\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "Trennzeichenliste endet mit einzelnem Rückschrägstrich: %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Aufruf: %s [OPTION]... NAME...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Nicht portable Konstruktionen in NAME analysieren.\n" #~ "\n" #~ " -p für die meisten POSIX‐Systeme überprüfen\n" #~ " -P auf leere Namen und führendes „-“ prüfen\n" #~ " --portability für alle POSIX‐Systeme überprüfen (äquiv. zu -p -" #~ "P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "führendes „-“ in einem Bestandteil des Dateinamens von %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "unportables Zeichen %s in Dateinamen %s" #~ msgid "empty file name" #~ msgstr "leerer Dateiname" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: kann maximale Dateinamenlänge nicht ermitteln" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "Obergrenze %lu durch Länge %lu des Dateinamen %s überschritten" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "" #~ "Obergrenze %lu durch Länge %lu des Dateinamensbestandteils %s " #~ "überschritten" #~ msgid "Login name: " #~ msgstr "Loginname: " #~ msgid "In real life: " #~ msgstr "Im richtigen Leben: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Verzeichnis: " #~ msgid "Shell: " #~ msgstr "Shell: " #~ msgid "Project: " #~ msgstr "Projekt: " #~ msgid "Plan:\n" #~ msgstr "Plan:\n" #~ msgid "Login" #~ msgstr "Login" #~ msgid "Name" #~ msgstr "Name" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Untätig" #~ msgid "When" #~ msgstr "Wann" #~ msgid "Where" #~ msgstr "Wo " #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Aufruf: %s [OPTION]... [BENUTZER]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l langes Format für den angegebenen BENUTZER erzeugen\n" #~ " -b ohne Home‐Verzeichnis und Shell der Benutzer (bei " #~ "langem\n" #~ " Format)\n" #~ " -h ohne Projekt‐Datei der Benutzer (bei langem Format)\n" #~ " -p ohne Plan‐Datei der Benutzer (bei langem Format)\n" #~ " -s kurzes Format erzeugen (dies ist die Vorgabe)\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f ohne Kopfzeile über den Spalten (bei kurzem Format)\n" #~ " -w ohne Namen der Benutzer (bei kurzem Format)\n" #~ " -i ohne volle Namen und entfernte Rechner der Benutzer " #~ "(bei\n" #~ " kurzem Format)\n" #~ " -q ohne volle Namen, entfernte Rechner und Idle‐Zeit der " #~ "Benutzer\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Ein abgespecktes „finger“‐Programm zum Anzeigen von " #~ "Benutzerinformationen.\n" #~ "Als utmp‐Datei wird %s genommen.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "kein Benutzername angegeben; wenigstens einer muss angegeben werden, wenn " #~ "die\n" #~ "Option -l verwendet wird" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "--pages=ERSTE_SEITE[:LETZTE_SEITE]: fehlendes Argument" #~ msgid "Invalid page range %s" #~ msgstr "Ungültiger Seitenbereich „%s“" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "„-l SEITEN_LÄNGE“ ungültige Angabe der Zeilenanzahl: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "„-N ZAHL“ ungültige Angabe der Startzeilennummer: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "„-o RAND“ ungültige Angabe des Zeilenoffsets: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "„-w SEITEN_BREITE“ ungültige Angabe der Zeichenanzahl: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "„-W SEITEN_BREITE“ ungültige Angabe der Zeichenanzahl: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "" #~ "Es ist nicht möglich, die Anzahl der Spalten bei Parallel‐Ausgabe " #~ "festzulegen." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "" #~ "Es ist nicht möglich, gleichzeitig bei Parallel‐ und Überkreuz‐Ausgabe\n" #~ "festzulegen." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "„-%c“ Extrazeichen oder ungültige Zahl im Argument: %s" #~ msgid "page width too narrow" #~ msgstr "Seitenbreite zu schmal" #~ msgid "starting page number % exceeds page count %" #~ msgstr "Anfangsseitennummer % übersteigt Seitenzahl %" #~ msgid "Page number overflow" #~ msgstr "Überlauf bei den Seitennummern" #~ msgid "Page %" #~ msgstr "Seite %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "DATEI(en) in Seiten und Spalten unterteilen für eine Druckausgabe.\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +ERSTE_SEITE[:LETZTE_SEITE], --pages=ERSTE_SEITE[:LETZTE_SEITE]\n" #~ " Druck mit ERSTE_[LETZTE_]SEITE beginnen [beenden]\n" #~ " -SPALTEN, --columns=SPALTEN\n" #~ " SPALTEN‐spaltige Ausgabe erzeugen und Spalten vertikal " #~ "schreiben,\n" #~ " es sei denn, -a wurde benutzt. Zahl der Zeilen in jeder " #~ "Spalte\n" #~ " ausbalancieren.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across\n" #~ " Spalten horizontal statt vertikal schreiben, wird zusammen\n" #~ " mit -SPALTEN benutzt\n" #~ " -c, --show-control\n" #~ " Hut‐Notation (^G) und oktale Rückschrägstrich‐Notation " #~ "benutzen\n" #~ " -d, --double-space\n" #~ " doppelter Zeilenvorschub in der Ausgabe\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMAT\n" #~ " FORMAT für die Datumsausgabe in der Kopfzeile benutzen\n" #~ " -e[ZEICH[BREITE]], --expand-tabs[=ZEICH[BREITE]]\n" #~ " Eingabe‐ZEICHen (Tabulatoren) zu BREITE Leerzeichen (8) " #~ "ersetzen\n" #~ " -F, -f, --form-feed\n" #~ " Seitenvorschübe statt Zeilenvorschübe benutzen, um Seiten " #~ "zu\n" #~ " trennen (duch einen 3‐Zeilen‐Seitenkopf bei -F oder einen\n" #~ " 5‐Zeilen‐Seitenkopf und ‐fuß ohne -F)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h KOPF, --header=KOPF\n" #~ " KOPF als zentrierten Seitenkopf anstelle des Dateinamens " #~ "benutzen\n" #~ " -h \"\" druckt eine leere Zeile, nicht -h\"\" benutzen.\n" #~ " -i[ZEICH[BREITE]], --output-tabs[=ZEICH[BREITE]]\n" #~ " Leerzeichen mit ZEICHen (Tabulatoren) auf BREITE (8) " #~ "ersetzen\n" #~ " -J, --join-lines\n" #~ " zu vollen Zeilen zusammenziehen, gleichzeitig die durch -W\n" #~ " veranlasste Zeilenbeschneidung abschalten, keine\n" #~ " Spaltenausrichtung, --sep-string[=ZKETTE] setzt " #~ "Trennzeichen\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l SEITENLÄNGE, --length=SEITENLÄNGE\n" #~ " Seitenlänge auf SEITENLÄNGE (66) Zeilen setzen\n" #~ " (Vorgabe: 56 Zeilen, und mit -F 63)\n" #~ " -m, --merge alle Dateien parallel ausgeben, eine in jeder Spalte,\n" #~ " Zeilen abschneiden, aber Zeilen voller Länge bei -J " #~ "vereinigen\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEP[ZIFFERN]], --number-lines[=SEP[ZIFFERN]]\n" #~ " Zeilen nummerieren, ZIFFERN (5) Ziffern benutzen,\n" #~ " danach SEP (Tabulator),\n" #~ " Vorgabe: Nummerierung beginnt mit der ersten Zeile der " #~ "Eingabe\n" #~ " -N ZAHL, --first-line-number=ZAHL\n" #~ " Nummerierung mit ZAHL bei der ersten Zeile der ersten " #~ "Seite\n" #~ " beginnen, die ausgedruckt wird (siehe auch +ERSTE_SEITE)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o RAND, --indent=RAND\n" #~ " Zeile um RAND (null) Leerzeichen einrücken (beeinflusst " #~ "nicht\n" #~ " -w oder -W), RAND wird zu SEITEN_BREITE addiert\n" #~ " -r, --no-file-warnings\n" #~ " Warnung unterdrücken, wenn eine Datei nicht geöffnet werden " #~ "kann\n" # CHECKIT # space missing # 2001-11-23 20:32:53 CET -ke- #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[ZEICHEN],--separator[=ZEICHEN]\n" #~ " Spalten durch einzelnes Zeichen trennen, Vorgabe für " #~ "ZEICHEN\n" #~ " ist das Tabulator‐Zeichen ohne -w und „kein Zeichen“ " #~ "mit -w\n" #~ " -s[ZEICHEN] schaltet Zeilenabschneidung bei allen drei\n" #~ " Spaltenoptionen (-SPALTE|-a -SPALTE|-m) ab, außer bei -" #~ "w\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SZKETTE, --sep-string[=ZKETTE]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " Spalten durch eine ZKETTE trennen,\n" #~ " ohne -S: Vorgabetrennzeichen ist Tabulator mit -J und\n" #~ " sonst Leerzeichen (dasselbe wie -S\" \"), hat keine\n" #~ " Auswirkung auf Spaltenoptionen\n" #~ " -t, --omit-header Kopf‐ und Fußzeilen unterdrücken\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " Kopf‐ und Fußzeilen unterdrücken, " #~ "Seitenvorschubangaben der\n" #~ " Eingabedateien ignorieren\n" #~ " -v, --show-nonprinting\n" #~ " oktale Rückschrägstrich‐Notation benutzen\n" #~ " -w SEITEN_BREITE, --width=SEITEN_BREITE\n" #~ " Seitenbreite auf SEITEN_BREITE (72) Zeichen nur für " #~ "Ausgabe\n" #~ " mehrfacher Textspalten setzen, -s[Zeichen] schaltet " #~ "(72) ab\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W SEITEN_BREITE, --page-width=SEITEN_BREITE\n" #~ " Seitenbreite immer auf SEITEN_BREITE (72) Zeichen " #~ "setzen,\n" #~ " Zeilen abschneide, es sei denn -J ist gesetzt, kein\n" #~ " Zusammenspiel mit -S oder -s\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-t wird impliziert wenn PAGE_LENGTH <= 10. Ohne DATEI oder wenn\n" #~ "DATEI „-“ ist, Standardeingabe lesen.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Aufruf: %s [VARIABLE]...\n" #~ " oder: %s OPTION\n" #~ "Wenn keine Umgebungs‐VARIABLE angegeben ist, alle Variablen ausgeben.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "Warnung: %s: Zeichen, die einer Zeichenkonstanten folgen, werden ignoriert" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s FORMAT [ARGUMENT]...\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "ARGUMENTe entsprechend des angegebenen FORMATs ausgeben,\n" #~ "oder anhand OPTION ausführen\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "FORMAT bestimmt die Ausgabe wie bei printf aus C. Interpretiert werden:\n" #~ "\n" #~ " \\\" doppelte Anführungszeichen\n" #~ " \\0NNN Zeichen mit dem oktalen Wert NNN (1 bis 3 Ziffern)\n" #~ " \\\\ Rückschrägstrich\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a Alarm (BEL)\n" #~ " \\b Zeichen rückwärts löschen (Backspace)\n" #~ " \\c keine weitere Ausgabe\n" #~ " \\f Seitenvorschub\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n Zeilenvorschub\n" #~ " \\r Wagenrücklauf (Carriage Return)\n" #~ " \\t horizontaler Tabulatorstopp\n" #~ " \\v vertikaler Tabulatorstopp\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH Byte mit hexadezimalem Wert HH (1 bis 2 Stellen)\n" #~ "\n" #~ " \\uHHHH Unicode‐Zeichen (ISO/IEC 10646) mit Hex‐Wert HHHH (4 Stellen)\n" #~ " \\UHHHHHHHH Unicode‐Zeichen mit hexadezimalem Wert HHHHHHHH (8 " #~ "Stellen)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% ein einzelnes %\n" #~ " %b ARGUMENT als Zeichenkette mit interpretierter „\\“‐Maskierung,\n" #~ " außer dass Oktalfolgen die Form \\0 oder \\0NNN haben\n" #~ "\n" #~ "und alle C‐Formatspezifikationen, die mit einem Zeichen aus " #~ "diouxXfeEgGcs\n" #~ "enden, wobei die ARGUMENTe zunächst in den richtigen Typ umgewandelt " #~ "werden.\n" #~ "Variable Breiten werden behandelt.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: erwartet eine Zahlwert" #~ msgid "%s: value not completely converted" #~ msgstr "%s: Wert nicht vollständig konvertiert" #~ msgid "missing hexadecimal number in escape" #~ msgstr "Hexadezimale Zahl fehlt in der Maskierung (Escape)" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "ungültiger universaler Zeichenname \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "ungültige Feldbreite: %s" #~ msgid "invalid precision: %s" #~ msgstr "ungültige Genauigkeit: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: ungültige Umwandlungsangabe" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "Warnung: überflüssige Argumente werden ignoriert, beginnend mit %s" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (für regulären Ausdruck %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... [EINGABE]... (ohne -G)\n" #~ " oder: %s -G [OPTION]... [EINGABE [AUSGABE]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Einen permutierten Index der Wörter der Eingabedateien einschließlich " #~ "Kontext\n" #~ "ausgeben.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference automatisch generierte Referenzen " #~ "ausgeben\n" #~ " -G, --traditional mehr wie „ptx“ von System V " #~ "funktionieren\n" #~ " -F, --flag-truncation=ZKETTE ZKETTE benutzen, um Abschneidungen " #~ "anzuzeigen\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=ZKETTE Makroname, der statt „xx“ zu benutzen " #~ "ist\n" #~ " -O, --format=roff Ausgabe als roff‐Anweisungen erzeugen\n" #~ " -R, --right-side-refs Referenzen nach rechts setzen, in -w " #~ "nicht\n" #~ " gezählt\n" #~ " -S, --sentence-regexp=REGEXP für Zeilen‐ oder Satzende\n" #~ " -T, --format=tex Ausgabe als TeX‐Anweisungen erzeugen\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP REGEXP benutzen, um jedes Schlüsselwort\n" #~ " abzubilden\n" #~ " -b, --break-file=DATEI Wortendezeichen in dieser Datei\n" #~ " -f, --ignore-case zum Sortieren Klein‐ in Großschreibung " #~ "wandeln\n" #~ " -g, --gap-size=NUMBER Zwischenraumgröße zwischen " #~ "Ausgabefeldern\n" #~ " -i, --ignore-file=DATEI Liste zu ignorierender Wörter aus DATEI " #~ "lesen\n" #~ " -o, --only-file=DATEI Wortliste nur aus dieser DATEI lesen\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references erstes Feld jeder Zeile ist eine " #~ "Referenz\n" #~ " -t, --typeset-mode – nicht implementiert –\n" #~ " -w, --width=ANZAHL Ausgabebreite innerhalb der Spalten, " #~ "ohne die\n" #~ " Referenzen\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Ohne DATEI, oder falls DATEI „-“ ist, Standardeingabe lesen. Vorgabe: „-" #~ "F /“.\n" #~ msgid "invalid gap width: %s" #~ msgstr "ungültige Lückenbreite: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Den vollständigen Dateinamen des aktuellen Verzeichnisses ausgeben.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "konnte nicht nach %s wechseln" #~ msgid "failed to stat %s" #~ msgstr "konnte auf %s nicht zugreifen" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "konnte in %s keine Verzeichniseintrag mit passendem Inode finden" #~ msgid "ignoring non-option arguments" #~ msgstr "Argumente, die keine Optionen sind, werden ignoriert" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Aufruf: %s [OPTION]... DATEI\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Wert einer symbolischen Verknüpfung auf der Standardausgabe ausgeben.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize kanonisieren, indem jeder symb. Verknüpfung in " #~ "jeder\n" #~ " Komponente des gegebenen Pfads rekursiv " #~ "gefolgt wird;\n" #~ " alle außer der letzten Komponente müssen " #~ "existieren\n" #~ " -e, --canonicalize-existing kanonisieren, indem jeder symb. " #~ "Verknüpfung in jeder\n" #~ " Komponente des gegebenen Pfads rekursiv " #~ "gefolgt wird;\n" #~ " alle Komponenten müssen existieren\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing kanonisieren, indem jeder symb. " #~ "Verknüpfung in jeder\n" #~ " Komponente des gegebenen Pfads rekursiv " #~ "gefolgt wird;\n" #~ " ohne Anforderung an Existenz der Komponenten\n" #~ " -n, --no-newline keinen abschließenden Zeilenvorschub ausgeben\n" #~ " -q, --quiet,\n" #~ " -s, --silent Fehlermeldungen größtenteils unterdrücken\n" #~ " -v, --verbose Fehlermeldungen ausgeben\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAL: konnte Verzeichnis %s nicht schließen" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAL: kann .. nicht von %s aus öffnen" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "FATAL: kann nicht sicherstellen, dass %s (zurückgekehrt via ..) sicher ist" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATaL: Verzeichnis %s hat Gerät/Inode geändert" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAL: kann Verzeichnis %s nicht betreten" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "FATaL: gerade betretenes Verzeichnis %s hat Gerät/Inode geändert" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "WARNUNG: Zirkuläre Verzeichnisstruktur.\n" #~ "Diese bedeutet beinahe mit Sicherheit ein beschädigtes Dateisystem.\n" #~ "BENACHRICHTIGEN SIE IHREN SYSTEMVERWALTER.\n" #~ "Das folgende Verzeichnis ist Teil des Zyklus:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: in schreibgeschütztes Verzeichnis %s absteigen? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: in Verzeichnis %s absteigen? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: %s (schreibgeschützt) %s entfernen? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: %s %s entfernen? " #~ msgid "removed directory: %s\n" #~ msgstr "Verzeichnis wurde entfernt: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "konnte Verzeichnis %s nicht schließen" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "überspringe %s, da es auf einem anderen Gerät ist" #~ msgid "cannot remove directory %s" #~ msgstr "Entfernen von Verzeichnis %s nicht möglich" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAL: kann nicht nach „..“ zurückkehren aus %s" #~ msgid "cannot remove root directory %s" #~ msgstr "Entfernen von Wurzelverzeichnis %s nicht möglich" #~ msgid "cannot remove relative-named %s" #~ msgstr "kann relativ benanntes %s nicht entfernen" #~ msgid "cannot restore current working directory" #~ msgstr "kann aktuelles Verzeichnis nicht wieder herstellen" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Versuchen Sie „%s ./%s“, um die Datei %s zu entfernen.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Aufruf: %s [OPTION]... DATEI...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Entfernen (unlink) der DATEI(en).\n" #~ "\n" #~ " -f, --force nicht vorhandene Dateien ignorieren, keine " #~ "Nachfragen\n" #~ " -i vor jeder Entfernung nachfragen\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I einmal nachfragen, wenn mehr als drei Dateien\n" #~ " gelöscht werden sollen oder beim rekursiven\n" #~ " Löschen; weniger aufdringlich als -i, gibt " #~ "aber\n" #~ " Schutz gegen die meisten Fehler.\n" #~ " --interactive[=WANN] nachfragen WANN: „never“ (nie), „once“ (-I) " #~ "oder\n" #~ " „always“ (-i); ohne WANN: immer\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system beim rekursiven Entfernen einer " #~ "Verzeichnishierarchie\n" #~ " die Verzeichnisse überspringen, die sich auf " #~ "einem\n" #~ " anderen Gerät als der Parameter befinden\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root „/“ nicht besonders behandeln\n" #~ " --preserve-root nicht rekursiv auf „/“ arbeiten " #~ "(Voreinstellung)\n" #~ " -r, -R, --recursive Inhalte von Verzeichnissen rekursiv entfernen\n" #~ " -v, --verbose durchgeführte Tätigkeiten erklären\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Per Voreinstellung entfernt rm keine Verzeichnisse. Bei Benutzung der " #~ "Option\n" #~ "--recursive (-r oder -R) wird jedes aufgeführte Verzeichnisse inklusive " #~ "seiner\n" #~ "Inhalte gelöscht.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Um Dateien zu entfernen, deren Namen mit „-“ beginnen, z. B. „foo“, " #~ "verwenden\n" #~ "Sie eine der folgenden Anweisungen:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Beachten Sie, dass, wenn Sie „rm“ benutzen, um eine Datei zu löschen, es\n" #~ "üblicherweise möglich ist, ihren Inhalt wiederherzustellen. Wenn Sie " #~ "mehr\n" #~ "Sicherheit darüber wünschen, dass die Inhalte tatsächlich nicht\n" #~ "wiederherstellbar sind, sollten Sie eher „shred“ benutzen.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: Alle Argumente rekursiv entfernen? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: alle Argumente entfernen? " # XLATE_REMARK: Check this out! is the %s replaced by the name of the directory? #~ msgid "removing directory, %s" #~ msgstr "Verzeichnis wird entfernt, %s" #~ msgid "failed to remove directory %s" #~ msgstr "konnte Verzeichnis %s nicht entfernen" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Aufruf: %s [OPTION]... VERZEICHNIS...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Die VERZEICHNIS(se) entfernen, wenn sie leer sind.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " Jeden Fehlschlag ignorieren, der nur daher rührt, dass\n" #~ " ein Verzeichnis nicht leer ist.\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents VERZEICHNIS und seine Vorfahren entfernen; damit ist\n" #~ " „rmdir -p a/b/c“ ähnlich zu „rmdir a/b/c a/b a“\n" #~ " -v, --verbose Diagnose für jedes bearbeitete Verzeichnis ausgeben\n" #~ msgid "failed to remove %s" #~ msgstr "konnte %s nicht entfernen" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Aufruf: %s KONTEXT BEFEHL [args]\n" #~ " oder: %s [ -c ] [-u NUTZER] [-r ROLLE] [-t TYP] [-l BEREICH] BEFEHL " #~ "[args]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Ein Programm in einem anderen Sicherheitskontext ausführen.\n" #~ "Wenn weder KONTEXT noch BEFEHL gegeben sind, den aktuellen " #~ "Sicherheitskontext\n" #~ "ausgeben.\n" #~ "\n" #~ " KONTEXT vollständiger Sicherheitskontext\n" #~ " -c, --compute Prozessübergangskontext berechnen vor der " #~ "Modifikation\n" #~ " -t, --type=TYP Typ (für die selbe Rolle wie übergeordnetes " #~ "Element)\n" #~ " -u, --user=NUTZER Nutzeridentität\n" #~ " -r, --role=ROLLE Rolle\n" #~ " -l, --range=BEREICH Niveaubereich\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "mehrere Rollen" #~ msgid "multiple types" #~ msgstr "mehrere Typen" #~ msgid "multiple users" #~ msgstr "mehrere Nutzer" #~ msgid "multiple levelranges" #~ msgstr "mehrere Niveaubereiche" #~ msgid "failed to get current context" #~ msgstr "konnte aktuellen Kintext nicht ermitteln" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "es müssen -c, -t, -u, -l, -r oder Kontext angegeben werden" #~ msgid "no command specified" #~ msgstr "kein Befehl angegeben" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "runcon kann nur mit einem SELinux-Kernel verwendet werden" #~ msgid "failed to compute a new context" #~ msgstr "konnte keine neuen Kontext berechnen" #~ msgid "failed to set new user %s" #~ msgstr "konnte neuen Nutzer %s nicht setzen" #~ msgid "failed to set new type %s" #~ msgstr "konnte neuen Typ %s nicht setzen" #~ msgid "failed to set new range %s" #~ msgstr "konnte neuen Bereich %s nicht setzen" #~ msgid "failed to set new role %s" #~ msgstr "konnte neue Rolle %s nicht setzen" #~ msgid "unable to set security context %s" #~ msgstr "kann Sicherheitskontext %s nicht setzen" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... LETZTER\n" #~ " oder: %s [OPTION]... ERSTER LETZTER\n" #~ " oder: %s [OPTION]... ERSTER PLUS LETZTER\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Die Zahlen von ERSTER bis LETZTER ausgeben, in Schritten von PLUS.\n" #~ "\n" #~ " -f, --format=FORMAT Fließkomma‐FORMAT im Stil von printf benutzen\n" #~ " -s, --separator=ZKETTE ZKETTE benutzen, um Zahlen zu trennen " #~ "(Vorgabe :\\n)\n" #~ " -w, --equal-width gleiche Breite durch führende Nullen " #~ "herstellen\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Wenn ERSTER oder PLUS weggelassen werden, wird 1 angenommen. Ein " #~ "weggelassenes\n" #~ "PLUS wird also als 1 interpretiert, selbst wenn LETZTER kleiner als " #~ "ERSTER ist.\n" #~ "ERSTER, PLUS und LETZTER werden als Fließkommazahlen interpretiert.\n" #~ "PLUS ist normalerweise positiv, wenn ERSTER kleiner als LETZTER ist, und\n" #~ "PLUS ist normalerweise negativ, wenn ERSTER größer als LETZTER ist.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "FORMAT muss in der Lage sein, ein Argument vom Typ „double“ auszugeben;\n" #~ "per Voreinstellung ist es %.PRÄZf wenn ERSTER, PLUS und LETZTER alle " #~ "dezimale\n" #~ "Fixkommazahlen sind mit einer maximalen Genauigkeit PRÄZ, ansonsten %g.\n" #~ "Die Angabe der Zahlen auf der Kommandozeilen muss im englischen Format " #~ "erfolgen,\n" #~ "die Ausgabe hängt dagegen von der gewählten Locale ab (in diesem Fall " #~ "wird also\n" #~ "ein Dezimalpunkt in der Eingabe und ein Dezimalkomma in der Ausgabe " #~ "benutzt.)\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "ungültiges Fließkommaargument: %s" #~ msgid "no %% directive in format string %s" #~ msgstr "keine %%-Direktive in Formatzeichenkette %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "zu viele %%-Direktive in Formatzeichenkette %s" #~ msgid "invalid format string: %s" #~ msgstr "ungültige Formatangabe: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "Formatzeichenkette darf nicht angegeben werden, wenn Zeichenketten\n" #~ "gleicher Breite ausgegeben werden" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s OPTION NUTZERNAME BEFEHL [ARGUMENT]...\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Jede zusätzliche Gruppe aufgeben, Nutzer‐ und Gruppen‐ID des angegebenen\n" #~ "Nutzers annehmen und BEFEHL mit angegebenen ARGUMENTen durchführen.\n" #~ "Mit Status 111 beenden, wenn UID und GID nicht angenommen werden können.\n" #~ "Ansonsten, mit Status von BEFEHL beenden.\n" #~ "Dieses Programm ist nur nützlich, wenn es von Root (UID=0) gerufen wird.\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] auch noch die primäre Gruppen-ID auf die numerische " #~ "GID\n" #~ " setzen und, wenn angegeben, erweiterte Gruppen-IDs " #~ "auf\n" #~ " GID1, ...\n" #~ msgid "unknown user-ID: %s" #~ msgstr "unbekannte Nutzer‐ID: %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "um Nutzer-ID %s zu benutzen, müssen Sie auch -g angeben" #~ msgid "failed to set supplemental group(s)" #~ msgstr "konnte keine erweiterte Gruppe(n) setzen" #~ msgid "cannot set group-ID to %lu" #~ msgstr "kann die Gruppen‐ID nicht auf %lu setzen" #~ msgid "cannot set user-ID to %lu" #~ msgstr "kann die Nutzer‐ID nicht auf %lu setzen" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Aufruf: %s [OPTIONEN] DATEI [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Mehrfaches Überschreiben der angegebenen DATEI(en), um es schwerer zu " #~ "machen,\n" #~ "selbst mit teuren Hardware‐Analysemitteln die Daten wieder herzustellen.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force Zugriffsrechte wechseln, um ein Schreiben zuzulassen,\n" #~ " wenn nötig\n" #~ " -n, --iteration=N N‐fach überschreiben statt des Standardwertes (%d)\n" #~ " --random-source=DATEI zufällige Bytes aus DATEI nehmen (/dev/" #~ "urandom)\n" #~ " -s, --size=N diese Anzahl Bytes zerhacken (Suffixe wie K, M, G " #~ "zulässig)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove Datei nach dem Überschreiben abschneiden und entfernen\n" #~ " -v, --verbose Fortschritt anzeigen\n" #~ " -x, --exact Dateigrößen nicht auf den nächsten vollen Block " #~ "runden;\n" #~ " dies ist für nicht‐reguläre Dateien die " #~ "Voreinstellung\n" #~ " -z, --zero ein letzten Überschreiben mit Nullen hinzufügen, um\n" #~ " Zerhacken zu verbergen.\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Wenn die DATEI „-“ ist, die Standardausgabe zerhacken.\n" #~ "\n" #~ "DATEI(en) löschen, wenn --remove (-u) angegeben ist. Die Standardvorgabe\n" #~ "ist es, die Dateien nicht zu löschen, da man oft auf Gerätedateien wie /" #~ "dev/hda\n" #~ "arbeitet, und diese Dateien nicht gelöscht werden sollten. Bei der " #~ "Benutzung\n" #~ "mit normalen Dateien verwenden die meisten Anwender die Option --remove.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "VORSICHT: Beachten Sie, dass „shred“ auf einer sehr wichtigen Annahme " #~ "beruht:\n" #~ "dass das Dateisystem Daten an derselben Stelle überschreibt. Das ist die " #~ "alt-\n" #~ "hergebrachte Vorgehensweise, doch viele moderne Betriebssystemdesigns " #~ "erfüllen\n" #~ "diese Annahme nicht. Die folgenden Systeme sind Beispiele von " #~ "Dateisystemen,\n" #~ "auf denen „shred“ keine Wirkung hat oder auf denen nicht für alle Datei-\n" #~ "systemmodi eine Wirkung garantiert werden kann:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* Log‐strukturierte oder „journalled“ Dateisysteme, so wie die mit AIX " #~ "und\n" #~ "Solaris gelieferten (und JFS, ReiserFS, XFS, Ext3, usw.)\n" #~ "\n" #~ "* Dateisysteme, die redundante Daten schreiben und auch dann fortfahren, " #~ "wenn\n" #~ "einige Schreibvorgänge fehlschlagen, so wie RAID‐basierte Dateisysteme\n" #~ "\n" #~ "* Dateisysteme, die Schnappschüsse anfertigen, so wie der NFS‐Server\n" #~ "von Network Appliance\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* Dateisysteme, die an temporären Orten zwischenspeichern, so wie " #~ "Klienten\n" #~ "unter NFS Version 3\n" #~ "\n" #~ "* komprimierte Dateisysteme\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "Im Fall von ext3 trifft die obige Bemerkung (und die eingeschränkte\n" #~ "Verwendbarkeit von shred) nur zu, wenn der Modus data=journal\n" #~ "gesetzt ist, der neben einem Journal für Metadaten auch eines für Daten\n" #~ "schreibt. Sowohl im Modus data=ordered (Voreinstellung) und " #~ "data=writeback\n" #~ "funktioniert shred wie gewöhnlich. Die Journal‐Optionen von ext3 können " #~ "beim\n" #~ "Einhängen gesetzt werden durch Anhängen von data=irgendwas für ein " #~ "bestimmtes\n" #~ "Dateisystem in der /etc/fstab, wie es in der Manpage zu mount erklärt " #~ "ist.\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Außerdem können Dateisystemsicherungen und entfernte Spiegel Kopien der " #~ "Datei\n" #~ "enthalten, die nicht entfernt werden können, und die es erlauben, eine\n" #~ "zerhackte Datei wieder herzustellen.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: fdatasync fehlgeschlagen" #~ msgid "%s: fsync failed" #~ msgstr "%s: fsync fehlgeschlagen" #~ msgid "%s: cannot rewind" #~ msgstr "%s: Zurückspulen nicht möglich" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: Durchgang %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: Fehler beim Schreiben an Verschiebung %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: lseek fehlgeschlagen" #~ msgid "%s: file too large" #~ msgstr "%s: Datei zu groß" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: Durchgang %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: Durchgang %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: fstat fehlgeschlagen" #~ msgid "%s: invalid file type" #~ msgstr "%s: ungültiger Dateityp" #~ msgid "%s: file has negative size" #~ msgstr "%s: Datei hat negative Größe" #~ msgid "%s: error truncating" #~ msgstr "%s: Fehler beim Abschneiden" #~ msgid "%s: fcntl failed" #~ msgstr "%s: fcntl fehlgeschlagen" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: kann einen Nur‐Anfügen‐Dateideskriptors nicht zerhacken" #~ msgid "%s: removing" #~ msgstr "%s: wird entfernt" #~ msgid "%s: renamed to %s" #~ msgstr "%s: in %s umbenannt" #~ msgid "%s: failed to remove" #~ msgstr "%s: konnte nicht entfernen" #~ msgid "%s: removed" #~ msgstr "%s: entfernt" #~ msgid "%s: failed to close" #~ msgstr "%s: konnte nicht schließen" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: konnte nicht zum Schreiben öffnen" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: ungültige Anzahl von Durchgängen" #~ msgid "multiple random sources specified" #~ msgstr "mehrere Zufallsquellen angegeben" #~ msgid "%s: invalid file size" #~ msgstr "%s: ungültige Dateigröße" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Aufruf: %s [OPTION]... [DATEI]\n" #~ " oder: %s -e [OPTION]... [ARG]...\n" #~ " oder: %s -i VON-BIS [OPTION]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Eine zufällige Permutaion der Eingabezeilen in die Standardausgabe " #~ "schreiben.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo jedes ARG als Eingabezeile ansehen\n" #~ " -i, --input-range=VON-BIS Zahlen von VON bis BIS als Eingabezeilen " #~ "ansehen\n" #~ " -n, --head-lines=ZEILEN höchstens ZEILEN Zeilen zeigen\n" #~ " -o, --output=DATEI Ergebnis in DATEI schreiben statt in " #~ "Standardausg.\n" #~ " --random-source=DATEI zufällige Bytes aus DATEI nehmen (/dev/" #~ "urandom)\n" #~ " -z, --zero-terminated Zeilen mit Nullbyte statt Zeilenumbruch " #~ "abschließen\n" #~ msgid "multiple -i options specified" #~ msgstr "mehrfach die Optionen -i angegeben" #~ msgid "invalid input range %s" #~ msgstr "ungültiger Eingabebereich: %s" #~ msgid "invalid line count %s" #~ msgstr "ungültige Zeilenanzahl: %s" #~ msgid "multiple output files specified" #~ msgstr "mehrere Ausgabedateien angegeben" #~ msgid "extra operand %s\n" #~ msgstr "zusätzlicher Operand %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Aufruf: %s ANZAHL[SUFFIX]...\n" #~ " oder: %s OPTION\n" #~ "Für ANZAHL Sekunden pausieren. SUFFIX kann sein: „s“ für Sekunden " #~ "(Vorgabe),\n" #~ "„m“ für Minuten, „h“ für Stunden, „d“ für Tage. Im Gegensatz zu den " #~ "meisten\n" #~ "Implementierungen, die ANZAHL als eine ganze Zahl erfordern, kann ANZAHL " #~ "hier\n" #~ "eine beliebige Gleitkommazahl sein. Werden zwei oder mehr Argumente " #~ "angegeben,\n" #~ "wird für eine Zeit pausiert, die der Summe der Werte entspricht.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "ungültiges Zeitintervall %s" #~ msgid "cannot read realtime clock" #~ msgstr "Echtzeit‐Uhr kann nicht gelesen werden" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Aneinanderfügung aller DATEI(en) sortiert nach der Standardausgabe " #~ "schreiben.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Sortieroptionen:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks führende Leerzeichen ignorieren\n" #~ " -d, --dictionary-order nur Leer‐ und alphanumerische Zeichen " #~ "beachten\n" #~ " -f, --ignore-case Klein‐ als Großbuchstaben behandeln\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort anhand des allgemeinen numerischen " #~ "Wertes\n" #~ " sortieren\n" #~ " -i, --ignore-nonprinting nur druckbare Zeichen beachten\n" #~ " -M, --month-sort Reihenfolge: (unbekannt) < „JAN“ < ... < " #~ "„DEZ“\n" #~ " -n, --numeric-sort anhand des numerischen Werts sortieren\n" #~ " -R, --random-sort anhand eines zufälligen Hash der " #~ "Schlüssel sortieren\n" #~ " --random-source=DATEI zufällige Bytes aus DATEI nehmen (/dev/" #~ "urandom)\n" #~ " --sort=WORT sortieren nach Kriterium WORT:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse das Ergebnis der Sortierung umkehren\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Andere Optionen:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first prüfen, ob Eingabe sortiert ist;\n" #~ " nicht sortieren\n" #~ " -C, --check=quiet, --check=silent wie -c, aber erste schlechte\n" #~ " Zeile nicht melden\n" #~ " --compress-program=PROG temporäre Dateien mit PROG komprimieren;\n" #~ " mit PROG -d wieder entpacken\n" #~ " -k, --key=POS1[,POS2] Schlüssel geht von POS1 bis POS2 (beginnend " #~ "mit 1)\n" #~ " -m, --merge schon sortierte Dateien zusammenführen; " #~ "nicht\n" #~ " sortieren\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=DATEI Ergebnis in DATEI schreiben statt " #~ "Standardausgabe\n" #~ " -s, --stable Sortierung stabilisieren (dabei " #~ "Rückzugssortierung\n" #~ " deaktivieren)\n" #~ " -S, --buffer-size=GRÖßE GRÖßE für Hauptspeicherpuffer benutzen\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP SEP benutzen statt Übergang von " #~ "Nichtleerraum zu\n" #~ " Leerraum\n" #~ " -T, --temporary-directory=VERZ für temporäre Dateien VERZ statt " #~ "$TMPDIR\n" #~ " oder %s; kann mehrfach gegeben werden\n" #~ " -u, --unique mit -c: auf strikte Odnung prüfen; ohne -c: " #~ "nur\n" #~ " das erste von mehreren Gleichen ausgeben\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated Zeilen mit Nullbyte beenden, nicht mit\n" #~ " Zeilenvorschub\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS ist F[.Z][OPTS], wobei F eine Feldnummer und Z eine Zeichenposition " #~ "im Feld\n" #~ "ist; beide starten bei 1. Wenn weder -t noch -b angegeben sind, werden " #~ "die\n" #~ "Zeichen in einem Feld ausgehend vom Anfang des vorhergehenden Leerraums\n" #~ "gezählt. OPTS setzt sich zusammen aus einer oder mehreren " #~ "Ordnungsoptionen mit\n" #~ "einem Buchstaben, die die globalen Ordnungsoptionen für diesen Schlüssel " #~ "außer\n" #~ "Kraft setzen. Wenn kein Schlüssel angegeben wurde, wird die ganze Zeile " #~ "als\n" #~ "Schlüssel benutzt.\n" #~ "\n" #~ "GRÖSSE kann einer der folgenden multiplikativen Suffixe sein:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% des Speichers, b 1, k 1024 (Vorgabe), und so weiter für M, G, T, P, " #~ "E, Z,\n" #~ "Y.\n" #~ "\n" #~ "Ohne DATEI, oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #~ "\n" #~ "*** WARNUNG ***\n" #~ "Die eingestellte Locale beeinflusst die Sortierreihenfolge.\n" #~ "Setzen Sie LC_ALL=C, um die traditionelle Sortierreihenfolge zu " #~ "aktivieren, bei\n" #~ "der native Bytewerte verwendet werden.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "Warte auf %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] beendete sich auf ungute Weise" #~ msgid "cannot create temporary file" #~ msgstr "temporäre Datei konnte nicht angelegt werden" #~ msgid "open failed" #~ msgstr "Öffnen fehlgeschlagen" #~ msgid "fflush failed" #~ msgstr "fflush fehlgeschlagen" #~ msgid "close failed" #~ msgstr "Schließen fehlgeschlagen" #~ msgid "dup2 failed" #~ msgstr "dup2 fehlgeschlagen" #~ msgid "couldn't execute %s" #~ msgstr "konnte %s nicht ausführen" #~ msgid "couldn't create temporary file" #~ msgstr "konnte temporäre Datei nicht anlegen" #~ msgid "couldn't open temporary file" #~ msgstr "konnte temporäre Datei nicht öffnen" #~ msgid "couldn't execute %s -d" #~ msgstr "konnte %s -d nicht ausführen" #~ msgid "write failed" #~ msgstr "Schreiben fehlgeschlagen" #~ msgid "warning: cannot remove: %s" #~ msgstr "Warnung: kann %s nicht entfernen" #~ msgid "stat failed" #~ msgstr "stat fehlgeschlagen" #~ msgid "read failed" #~ msgstr "Lesen fehlgeschlagen" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: ungeordnet: " #~ msgid "standard error" #~ msgstr "Standardfehler" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: ungültige Feldangabe %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "Optionen „-%s“ sind inkompatibel" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: ungültige Zähler am Anfang von %s" #~ msgid "invalid number after `-'" #~ msgstr "ungültige Zahl hinter „-“" #~ msgid "invalid number after `.'" #~ msgstr "ungültige Zahl hinter „.“" #~ msgid "stray character in field spec" #~ msgstr "verirrte Buchstaben in Feldspezifikation" #~ msgid "multiple compress programs specified" #~ msgstr "mehrere Komprimierungsprogramme angegeben" #~ msgid "invalid number at field start" #~ msgstr "ungültige Zahl am Feldanfang" #~ msgid "field number is zero" #~ msgstr "Feldnummer ist Null" #~ msgid "character offset is zero" #~ msgstr "Zeichenversatz ist Null" #~ msgid "invalid number after `,'" #~ msgstr "ungültige Zahl hinter „,“" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "zusätzlicher Operand %s nicht erlaubt mit -%c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Aufruf: %s [OPTION] [EINGABE [PRÄFIX]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Stücke fester Größe der EINGABE auf PRÄFIXaa, PRÄFIXab, ... ausgeben; " #~ "Vorgabe\n" #~ "für die Größe ist 1000 Zeilen und für PRÄFIX „x“. Wenn keine EINGABE " #~ "angegeben\n" #~ "wurde oder die EINGABE „-“ ist, Standardeingabe lesen.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N Suffixe mit Länge N verwenden (Vorgabe %d)\n" #~ " -b, --bytes=GRÖSSE GRÖSSE Bytes in die Ausgabedatei ausgeben\n" #~ " -C, --line-bytes=GRÖSSE höchstens GRÖSSE Bytes pro Zeile auf die " #~ "Ausgabe\n" #~ " schreiben\n" #~ " -d, --numeric-suffixes numerische Suffixe statt alphabetischer " #~ "benutzen\n" #~ " -l, --lines=ANZAHL ANZAHL Zeilen in die Ausgabedatei ausgeben\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose Meldung ausgeben, bevor\n" #~ " jede Ausgabedatei geöffnet wird\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "GRÖSSE kann folgende multiplikative Endungen tragen:\n" #~ "b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024,\n" #~ "GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "Datei %s wird angelegt\n" #~ msgid "cannot split in more than one way" #~ msgstr "Es ist nicht möglich, auf mehr als eine Art zu splitten" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: ungültige Suffixlänge" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: ungültige Anzahl von Bytes" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: ungültige Anzahl von Zeilen" #~ msgid "line count option -%s%c... is too large" #~ msgstr "Zeilenanzahloption -%s%c... ist zu groß" #~ msgid "invalid number of lines: 0" #~ msgstr "ungültige Anzahl von Zeilen: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "Warnung: unbekannte Flucht‐Sequenz „\\%c“" #~ msgid "%s: invalid directive" #~ msgstr "%s: ungültige Anweisung" #~ msgid "warning: backslash at end of format" #~ msgstr "Warnung: ungültiger Rückschrägstrich (\\) am Ende der Zeichenkette" #~ msgid "cannot read file system information for %s" #~ msgstr "kann Dateisysteminformation für %s nicht lesen" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Aufruf: %s [OPTION] DATEI...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Status einer Datei oder eines Dateisystems anzeigen.\n" #~ "\n" #~ " -L, --dereference Verknüpfungen folgen\n" #~ " -f, --file-system Dateisystemstatus anstelle von Dateistatus " #~ "anzeigen\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=FORMAT das angegebene FORMAT anstelles der " #~ "Voreinstellung\n" #~ " benutzen; Zeilenvorschub nach jeder Benutzung\n" #~ " --printf=FORMAT wie --format, aber Rückschrägstrich‐Steuerzeichen " #~ "auswerten,\n" #~ " kein obligatorischer Zeilenvorschub; letzterer " #~ "kann\n" #~ " mittels \\n in FORMAT eingefügt werden\n" #~ " -t, --terse die Information in knapper Form ausgeben\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Die gültigen Formatangaben für Dateien (ohne --file-system):\n" #~ "\n" #~ " %a Zugriffsrechte im Oktalformat\n" #~ " %A Zugriffsrechte in menschenlesbarer Form\n" #~ " %b Anzahl der beanspruchten Blöcke (siehe %B)\n" #~ " %B die Größe in Bytes jedes mit „%b“ gemeldeten Blocks\n" #~ " %C SELinux-Sicherheitskontext-Zeichenkette\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Gerätenummer in Dezimal\n" #~ " %D Gerätenummer in Hex\n" #~ " %f roher Modus in Hex\n" #~ " %F Dateityp\n" #~ " %g Gruppen‐ID des Eigners\n" #~ " %G Gruppenname des Eigners\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %i INode‐Nummer\n" #~ " %h Anzahl der harten Verknüpfungen\n" #~ " %n Dateiname\n" #~ " %N „Quoted File Name“ mit Dereferenzierung bei symbolischer " #~ "Verknüpfung\n" #~ " %o E/A‐Blockgröße\n" #~ " %s Gesamtgröße in Bytes\n" #~ " %t Major‐Gerätetyp in Hex\n" #~ " %T Minor‐Gerätetyp in Hex\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u Nutzer‐ID des Eigners\n" #~ " %U Nutzername des Eigners\n" #~ " %x Zeit des letzten Zugriffs\n" #~ " %X Zeit des letzten Zugriffs in Sekunden seit der Epoche\n" #~ " %y Zeit der letzten Modifikation\n" #~ " %Y Zeit der letzten Modifikation in Sekunden seit der Epoche\n" #~ " %z Zeit der letzten Änderung\n" #~ " %Z Zeit der letzten Änderung in Sekunden seit der Epoche\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Die gültigen Formatangaben für Dateisysteme:\n" #~ "\n" #~ " %a Freie Blöcke, die Nicht‐Superusern zur Verfügung stehen\n" #~ " %b Gesamt‐Datenblöcke im Dateisystem\n" #~ " %c Gesamt‐Dateiknoten im Dateisystem\n" #~ " %d Freie Dateiknoten im Dateisystem\n" #~ " %f Freie Blöcke im Dateisystem\n" #~ " %C SELinux-Sicherheitskontext-Zeichenkette\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Dateisystem‐ID in Hex\n" #~ " %l Maximale Länge von Dateinamen\n" #~ " %n Dateiname\n" #~ " %s Optimale Transfer‐Blockgröße\n" #~ " %S grundlegende Blockgröße (für Blockzahlen)\n" #~ " %t Typ in Hex\n" #~ " %T Typ in menschenlesbarer Form\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Aufruf: %s [-F GERÄT] [--file=GERÄT] [EINSTELLUNGEN]...\n" #~ " oder: %s [-F GERÄT] [--file=GERÄT] [-a|--all]\n" #~ " oder: %s [-F GERÄT] [--file=GERÄT] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Charakteristika des Terminals ausgeben oder ändern.\n" #~ "\n" #~ " -a, --all alle Einstellungen in lesbarer Form ausgeben\n" #~ " -g, --save alle Einstellungen lesbar für stty ausgeben\n" #~ " -F, --file=GERÄT das angegebene GERÄT anstelle der Standardeingabe " #~ "öffnen\n" #~ " und benutzen\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Ein optionales „-“ vor EINSTELLUNGEN bedeutet Verneinung. Ein „*“ " #~ "markiert\n" #~ "nicht POSIX‐konforme Einstellungen. Das Wirtssystem bestimmt, welche\n" #~ "Einstellungen zur Verfügung stehen.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Besondere Zeichen:\n" #~ "* dsusp CHAR CHAR sendet ein Terminalstoppsignal, wenn Eingabe " #~ "erforderlich\n" #~ " eof CHAR CHAR sendet Ende‐der‐Datei (Eingabe beenden)\n" #~ " eol CHAR CHAR beendet Zeile\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ "* eol2 CHAR alternatives CHAR für Zeilenende\n" #~ " erase CHAR CHAR löscht das zuletzt eingegebene Zeichen\n" #~ " intr CHAR CHAR sendet Unterbrechungssignal (Interrupt)\n" #~ " kill CHAR CHAR löscht aktuelle Zeile\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ "* lnext CHAR CHAR nimmt das nächste Zeichen uninterpretiert auf\n" #~ " quit CHAR CHAR sendet ein Quit‐Signal\n" #~ "* rprnt CHAR CHAR gibt die aktuelle Zeile neu aus\n" #~ " start CHAR CHAR startet die Ausgabe erneut nach einem Stopp\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop CHAR CHAR stoppt die Ausgabe\n" #~ " susp CHAR CHAR sendet ein Terminalstoppsignal\n" #~ "* swtch CHAR CHAR wechselt zu einer anderen Shell‐Ebene\n" #~ "* werase CHAR CHAR löscht das zuletzt eingegebene Wort\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Spezielle Einstellungen:\n" #~ " N Eingabe‐ und Ausgabegeschwindigkeit auf N Baud setzen\n" #~ "* cols N an den Kernel melden, dass dieses Terminal N Spalten hat\n" #~ "* columns N dasselbe wie cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N Eingabegeschwindigkeit auf N setzen\n" #~ "* line N \"line discipline\" N benutzen\n" #~ " min N mit -icanon, N Zeichen Minimum für ein vollständiges Lesen " #~ "setzen\n" #~ " ospeed N Ausgabegeschwindigkeit auf N setzen\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "* rows N an den Kernel melden, dass dieses Terminal N Zeilen hat\n" #~ "* size die Anzahl Zeilen und Spalten ausgeben\n" #~ " speed die Terminal‐Geschwindigkeit ausgeben\n" #~ " time N mit -icanon, die Lesewartezeit auf N Zehntelsekunden " #~ "setzen\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Einstellungen für die Flusskontrolle:\n" #~ " [-]clocal Modemkontrollsignale ignorieren\n" #~ " [-]cread Empfang von Eingaben erlauben\n" #~ "* [-]crtscts RTS/CTS‐Handshaking erlauben\n" #~ " csN Zeichengröße auf N Bits setzen, N in [5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb zwei Stopp‐Bits pro Zeichen benutzen (eins mit „-“)\n" #~ " [-]hup ein Hangup‐Signal senden, wenn der letzte Prozess das " #~ "Tty\n" #~ " schließt\n" #~ " [-]hupcl dasselbe wie [-]hup\n" #~ " [-]parenb Parity‐Bit in der Ausgabe erzeugen und Parity‐Bit in der\n" #~ " Eingabe erwarten\n" #~ " [-]parodd ungerade Parity setzen (auch mit „-“)\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Einstellungen für die Eingabe:\n" #~ " [-]brkint ein Break verursacht ein Unterbrechungssignal\n" #~ " [-]icrnl Wagenrücklauf (CR) in Zeilenvorschub wandeln\n" #~ " [-]ignbrk Breaks ignorieren\n" #~ " [-]igncr Wagenrücklauf ignorieren\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar Parity‐Fehler ignorieren\n" #~ "* [-]imaxbel piepen und vollen Eingabepuffer leeren;\n" #~ " nicht bei Eingabe eines Zeichens\n" #~ " [-]inlcr Zeilenvorschub in Wagenrücklauf (CR) wandeln\n" #~ " [-]inpck Eingabeprüfung der Parity erlauben\n" #~ " [-]istrip höchstes Bit (das 8.) der Eingabezeichen löschen\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "* [-]iutf8 Eingabezeichen als UTF-8 annehmen\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "* [-]iuclc Groß- in Kleinbuchstaben wandeln\n" #~ "* [-]ixany jedes Zeichen startet Ausgabe neu, nicht nur das " #~ "Startzeichen\n" #~ " [-]ixoff das Senden von Start‐/Stoppzeichen erlauben\n" #~ " [-]ixon XON/XOFF‐Flusskontrolle erlauben\n" #~ " [-]parmrk Parity‐Fehler markieren (mit einer 255‐0‐Zeichenfolge)\n" #~ " [-]tandem dasselbe wie [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Einstellungen für die Ausgabe:\n" #~ "* bsN Verzögerungsstil für Backspace, N in [0..1]\n" #~ "* crN Verzögerungsstil für Wagenrücklauf (CR), N in [0..3]\n" #~ "* ffN Verzögerungsstil für Seitenvorschub, N in [0..1]\n" #~ "* nlN verzögerungsstil für Zeilenvorschub, N in [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "* [-]ocrnl Wagenrücklauf (CR) in Zeilenvorschub wandeln\n" #~ "* [-]ofdel Löschzeichen zum Auffüllen anstelle von Nullzeichen " #~ "benutzen\n" #~ "* [-]ofill Füllzeichen anstelle von Zeitverzögerungen benutzen\n" #~ "* [-]olcuc Klein‐ in Großbuchstaben wandeln\n" #~ "* [-]onlcr Zeilenvorschub in Wagenrücklauf (CR) wandeln\n" #~ "* [-]onlret Zeilenvorschub bedingt Wagenrücklauf (CR)\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ "* [-]onocr kein Wagenrücklauf (CR) in der ersten Spalte\n" #~ " [-]opost Ausgabe nachbehandeln\n" #~ "* tabN horizontale Tabulatorverzögerung, N in [0..3]\n" #~ "* tabs dasselbe wie tab0\n" #~ "* -tabs dasselbe wie tab3\n" #~ "* vtN vertikale Tabulatorverzögerung, N in [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Lokale Einstellungen:\n" #~ " [-]crterase Löschzeichen als Backspace‐Leerzeichen‐Backspace " #~ "ausgeben\n" #~ "* crtkill Zeile mit echoprt‐ und echoe‐Einstellungen löschen\n" #~ "* -crtkill Zeile mit echoctl‐ und echok‐Einstellungen löschen\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ "* [-]ctlecho Sonderzeichen in Hutnotation ausgeben („^c“)\n" #~ " [-]echo Eingabezeichen ausgeben\n" #~ "* [-]echoctl dasselbe wie [-]ctlecho\n" #~ " [-]echoe dasselbe wie [-]crterase\n" #~ " [-]echok Zeilenvorschub nach Killzeichen ausgeben\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ "* [-]echoke dasselbe wie [-]crtkill\n" #~ " [-]echonl Zeilenvorschub ausgeben, auch wenn keine Zeichen " #~ "ausgegeben\n" #~ " werden\n" #~ "* [-]echoprt gelöschte Zeichen rückwärts ausgeben, zwischen „\\“ und " #~ "„/“\n" #~ " [-]icanon erase‐, kill‐, werase‐ und rprnt‐Sonderzeichen erlauben\n" #~ " [-]iexten Sonderzeichen erlauben, die nicht POSIX‐konform sind\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig interrupt‐, quit‐ und suspend‐Sonderzeichen erlauben\n" #~ " [-]noflsh Ausgabeentleerung nach interrupt‐ und quit‐Sonderzeichen\n" #~ " verhindern\n" #~ "* [-]prterase dasselbe wie [-]echoprt\n" #~ "* [-]tostop Hintergrundjobs stoppen, die auf das Terminal schreiben\n" #~ "* [-]xcase mit icanon, Großbuchstaben mit „\\“ maskieren\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Kombinierte Einstellungen:\n" #~ "* [-]LCASE dasselbe wie [-]lcase\n" #~ " cbreak dasselbe wie -icanon\n" #~ " -cbreak dasselbe wie icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked dasselbe wie brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, und eof‐ und eol‐Zeichen mit den Vorgabewerten\n" #~ " -cooked dasselbe wie raw\n" #~ " crt dasselbe wie echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec dasselbe wie echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ "* [-]decctlq dasselbe wie [-]ixany\n" #~ " ek Erase‐ und Killzeichen auf Vorgabewert setzen\n" #~ " evenp dasselbe wie parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp dasselbe wie -parenb cs8\n" #~ "* [-]lcase dasselbe wie xcase iuclc olcuc\n" #~ " litout dasselbe wie -parenb -istrip -opost cs8\n" #~ " -litout dasselbe wie parenb istrip opost cs7\n" #~ " nl dasselbe wie -icrnl -onlcr\n" #~ " -nl dasselbe wie icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp dasselbe wie parenb parodd cs7\n" #~ " -oddp dasselbe wie -parenb cs8\n" #~ " [-]parity dasselbe wie [-]evenp\n" #~ " pass8 dasselbe wie -parenb -istrip cs8\n" #~ " -pass8 dasselbe wie parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw dasselbe wie -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw dasselbe wie cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane dasselbe wie cread -ignbrk brkint -inlcr -igncr icrnl -" #~ "iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " Zeichen auf ihren Vorgabewert\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Die Tty‐Leitung manipulieren, die mit der Standardeingabe verbunden ist. " #~ "Ohne\n" #~ "Argumente, die Baud‐Rate, Line‐Disziplin und Abweichungen von „stty " #~ "sane“\n" #~ "ausgeben. In den Einstellungen wird CHAR wörtlich genommen oder kodiert " #~ "wie in\n" #~ "^c, 0x37, 0177 oder 127; spezielle Werte ^- oder undef werden benutzt, " #~ "um\n" #~ "Sonderzeichen zu unterbinden.\n" #~ msgid "only one device may be specified" #~ msgstr "nur ein Gerät darf angegeben werden" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "Die Optionen für ausführliche und stty‐lesbare Ausgabe\n" #~ "können nicht gleichzeitig benutzt werden" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "Wenn ein Ausgabestil angegeben ist, kann kein Modus gesetzt werden" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: Zurücksetzen auf nicht-blockierenden Modus ist nicht möglich" #~ msgid "invalid argument %s" #~ msgstr "ungültiges Argument %s" #~ msgid "missing argument to %s" #~ msgstr "fehlendes Argument für %s" #~ msgid "invalid line discipline %s" #~ msgstr "ungültige Line‐Disziplin %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "" #~ "%s: es ist nicht möglich, alle angeforderten Operationen durchzuführen" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: Modus\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: Keine Information zur Größe dieses Gerätes" #~ msgid "invalid integer argument %s" #~ msgstr "ungültiges Ganzzahlargument %s" #~ msgid "Password:" #~ msgstr "Kennwort:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: es ist nicht möglich, /dev/tty zu öffnen" #~ msgid "cannot set groups" #~ msgstr "es ist nicht möglich, die Gruppen zu setzen" #~ msgid "cannot set group id" #~ msgstr "es ist nicht möglich, die Gruppen‐ID zu setzen" #~ msgid "cannot set user id" #~ msgstr "es ist nicht möglich, die Benutzer‐ID zu setzen" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Aufruf: %s [OPTION]... [-] [BENUTZER [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Die effektive Benutzer‐ und Gruppen‐ID in die des BENUTZERs ändern.\n" #~ "\n" #~ " -, -l, --login die Shell zur Loginshell machen\n" #~ " -c, --command=BEFEHL einen einzelnen BEFEHL an die Shell " #~ "weitergeben\n" #~ " -f, --fast -f an die Shell weitergeben (für csh oder " #~ "tcsh)\n" #~ " -m, --preserve-environment Umgebungsvariablen nicht neu setzen\n" #~ " -p dasselbe wie -m\n" #~ " -s, --shell=SHELL SHELL benutzen, falls /etc/shells es " #~ "erlaubt\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Ein schlichtes „-“ steht für -l. Falls kein BENUTZER angegeben ist,\n" #~ "wird „root“ angenommen.\n" #~ msgid "user %s does not exist" #~ msgstr "Benutzer %s existiert nicht" #~ msgid "incorrect password" #~ msgstr "ungültiges Kennwort" #~ msgid "using restricted shell %s" #~ msgstr "eingeschränkte Shell %s benutzen" #~ msgid "warning: cannot change directory to %s" #~ msgstr "Warnung: es ist nicht möglich, in das Verzeichnis %s zu wechseln" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Prüfsumme und Blockanzahl für jede DATEI ausgeben.\n" #~ "\n" #~ " -r BSD‐Summenalgorithmus benutzen, 1K Blöcke verwenden " #~ "(Vorgabe)\n" #~ " -s, --sysv System‐V‐Summenalgorithmus benutzen, 512‐Byte‐Blöcke\n" #~ " verwenden\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Das Schreibens geänderter Blöcke auf die Platte erzwingen,\n" #~ "den Super‐Block aktualisieren.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "ignoriere alle Argumente" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "BEMERKUNG: Ihre Shell hat möglicherweise eine eigene Version von %s,\n" #~ "welche normalerweise die hier beschriebene Version ersetzt. Bitte greifen " #~ "Sie\n" #~ "auf die Dokumentation der Shell zurück, um die dort unterstützten " #~ "Optionen\n" #~ "in Erfahrung zu bringen.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help diese Hilfe anzeigen und beenden\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version Versionsinformation anzeigen und beenden\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Melden Sie Übersetzungsfehler an ,\n" #~ "Programmfehler dagegen (auf Englisch, mit LC_ALL=C) an <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Jede DATEI nach Standardausgabe schreiben, die letzte Zeile zuerst.\n" #~ "Wurde keine DATEI angegeben oder ist DATEI „-“, Standardeingabe lesen.\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before Trennzeichen vorher statt hinterher einfügen\n" #~ " -r, --regex das Trennzeichen als regulären Ausdruck\n" #~ " interpretieren\n" #~ " -s, --separator=ZKETTE ZKETTE als Trenzeichen statt Zeilenumbruch " #~ "benutzen\n" #~ msgid "%s: seek failed" #~ msgstr "%s: Seek fehlgeschlagen" #~ msgid "record too large" #~ msgstr "Datensatz zu groß" #~ msgid "cannot create temporary file %s" #~ msgstr "temporäre Datei %s konnte nicht angelegt werden" #~ msgid "cannot open %s for writing" #~ msgstr "%s kann nicht zum Schreiben geöffnet werden" #~ msgid "%s: write error" #~ msgstr "%s: Schreibfehler" #~ msgid "separator cannot be empty" #~ msgstr "Trennzeichen darf nicht leer sein" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Die letzten %d Zeilen jeder DATEI auf Standardausgabe ausgeben. Wurden\n" #~ "mehrere DATEIen angegeben, wird für jede zunächst der Dateinamen " #~ "ausgeben.\n" #~ "Ohne DATEI, oder wenn DATEI „-“ ist, von der Standardeingabe lesen.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry weiterhin versuchen, eine Datei zu öffnen, " #~ "auch wenn\n" #~ " sie beim Start nicht verfügbar ist oder " #~ "später\n" #~ " nicht mehr verfügbar wird; nützlich, wenn " #~ "mit Namen\n" #~ " verfolgt wird, also mit --follow=Name\n" #~ " -c, --bytes=N die letzten N Bytes ausgeben; alternativ +N " #~ "benutzen,\n" #~ " um Bytes beginnend mit dem Nten jeder Datei " #~ "auszugeben\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " angefügte Daten ausgeben, während die Datei " #~ "wächst;\n" #~ " „-f“, „--follow“ und „--follow=descriptor“ " #~ "sind\n" #~ " äquivalent\n" #~ " -F gleichbedeutend mit „--follow=name --retry“\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N die letzten N Zeilen ausgeben, statt der " #~ "letzen %d;\n" #~ " oder +N um Zeilen beginnend mit der Nten " #~ "auszugeben\n" #~ " --max-unchanged-stats=N\n" #~ " mit --follow=name die DATEI erneut öffnen, " #~ "wenn sie\n" #~ " nach N Iterationen (Vorgabe: %d) unverändert " #~ "ist,\n" #~ " um zu sehen, ob sie gelöscht oder umbenannt " #~ "wurde\n" #~ " (das ist normalerweise der Fall bei " #~ "rotierten\n" #~ " Logdateien)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID mit -f: Programm beenden, wenn PID beendet " #~ "wird\n" #~ " -q, --quiet, --silent nie Kopfzeilen mit Dateinamen ausgeben\n" #~ " -s, --sleep-interval=S mit -f: Pause von S (oder 1) Sek. zwischen " #~ "Versuchen\n" #~ " -v, --verbose immer Kopfzeilen mit Dateinamen ausgeben\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Wenn das erste Zeichen von N (der Anzahl der Bytes oder Zeilen) ein „+“ " #~ "ist,\n" #~ "die Ausgabe mit dem Nten Byte bzw. der Nten Zeile vom Anfang jeder Datei\n" #~ "beginnen, anderenfalls die letzten N Bytes bzw. Zeilen ausgeben.\n" #~ "N kann folgende multiplikative Endungen tragen:\n" #~ "b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024,\n" #~ "GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Mit --follow (-f) verfolgt tail den Datei‐Deskriptor. Dies bedeutet, " #~ "dass auch\n" #~ "im Falle einer Umbenennung tail das Ende verfolgen wird. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Dieses Verhalten ist nicht erwünscht, wenn man wirklich den derzeitigen " #~ "Namen\n" #~ "der Datei verfolgen will und nicht den Datei‐Deskriptor (z. B. bei " #~ "Rotation der\n" #~ "Protokoll‐Dateien, Logs). Benutzen Sie in diesem Fall --follow=name. " #~ "Dies\n" #~ "bewirkt, dass tail die Datei immer wieder schließt und öffnet, um zu " #~ "sehen, ob\n" #~ "die Datei gelöscht und von einem anderen Programm neu angelegt wurde.\n" #~ "\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "%s wird geschlossen (df=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: es ist nicht möglich, zum relativen Offset %s zu springen" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "" #~ "%s: es ist nicht möglich, vom Ende her zum relativen Offset %s zu springen" #~ msgid "%s has become inaccessible" #~ msgstr "auf %s kann nicht mehr zugegriffen werden" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s wurde ersetzt durch eine ungeeigneten Datei; kein weiterer Versuch" #~ msgid "%s has become accessible" #~ msgstr "auf „%s“ kann jetzt zugegriffen werden" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s ist aufgetaucht; folge Ende der neuen Datei" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s wurde ersetzt; folge Ende der neuen Datei" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: Ändern desf nicht‐blockierenden Modus ist nicht möglich" #~ msgid "%s: file truncated" #~ msgstr "%s: Datei abgeschnitten" #~ msgid "no files remaining" #~ msgstr "Keine Dateien mehr übrig" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: es ist nicht möglich, bis zum Ende dieses Dateityps vorgehen;\n" #~ " kein weiterer Versuch für diesen Namen" #~ msgid "number in %s is too large" #~ msgstr "Zahl in %s ist zu groß" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: ungültige maximale Anzahl von ungeänderten „stats“ zwischen Öffnungen" #~ msgid "%s: invalid PID" #~ msgstr "%s: ungültige PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: ungültige Anzahl von Sekunden" #~ msgid "option used in invalid context -- %c" #~ msgstr "Option in ungültigen Kontext benutzt – %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "Warnung: --retry ist hauptsächlich sinnvoll, wenn dieser Option ein Name " #~ "folgt" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "Warnung: PID ignoriert; --pid=PID ist nur sinnvoll, wenn es folgt" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "Warnung: --pid=PID wird auf diesem System nicht unterstützt" #~ msgid "cannot follow %s by name" #~ msgstr "kann %s nicht nach Namen verfolgen" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "Warnung: die Standardausgabe stetig zu verfolgen ist nicht wirksam" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Die Standardeingabe in jede angegebene DATEI und auf die Standardausgabe\n" #~ "kopieren.\n" #~ "\n" #~ " -a, --append an existierende DATEIen anhängen, nichts\n" #~ " überschreiben\n" #~ " -i, --ignore-interrupts Unterbrechnungssignale (Interrupts) " #~ "ignorieren\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Wenn DATEI „-“ ist, wieder in Standardausgabe kopieren.\n" #~ msgid "missing argument after %s" #~ msgstr "fehlendes Argument hinter „%s“" #~ msgid "invalid integer %s" #~ msgstr "ungültige Zahl %s" #~ msgid "')' expected" #~ msgstr "„)“ erwartet" #~ msgid "')' expected, found %s" #~ msgstr "„)“ erwartet, %s gefunden" #~ msgid "%s: unary operator expected" #~ msgstr "%s: Operator mit einem Argument erwartet" #~ msgid "-nt does not accept -l" #~ msgstr "-nt erlaubt kein -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef erlaubt kein -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot erlaubt kein -l" #~ msgid "unknown binary operator" #~ msgstr "unbekannter binärer Operator" #~ msgid "%s: binary operator expected" #~ msgstr "%s: binärer Operator erwartet" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Aufruf: test AUSDRUCK\n" #~ " oder: test\n" #~ " oder: [ AUSDRUCK ]\n" #~ " oder: [ ]\n" #~ " oder: [ OPTION\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Programm mit Status gemäß AUSDRUCK beenden.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Ein weggelassener AUSDRUCK ergibt falsch. Ansonsten ist\n" #~ "AUSDRUCK wahr oder falsch und setzt den Exit‐Status. Er kann sein:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( AUSDRUCK ) AUSDRUCK ist wahr\n" #~ " ! AUSDRUCK AUSDRUCK ist falsch\n" #~ " AUSDRUCK1 -a AUSDRUCK2 sowohl AUSDRUCK1 als auch AUSDRUCK2 ist " #~ "wahr\n" #~ " AUSDRUCK1 -o AUSDRUCK2 AUSDRUCK1 oder AUSDRUCK2 ist wahr\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n ZKETTE die Länge von ZKETTE ist ungleich Null\n" #~ " ZKETTE äquivalent zu -n ZKETTE\n" #~ " -z ZKETTE die Länge von ZKETTE ist Null\n" #~ " ZKETTE1 = ZKETTE2 die ZKETTEn sind gleich\n" #~ " ZKETTE1 != ZKETTE2 die ZKETTEn sind nicht gleich\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " GANZZAHL1 -eq GANZZAHL2 GANZZAHL1 ist gleich GANZZAHL2\n" #~ " GANZZAHL1 -ge GANZZAHL2 GANZZAHL1 ist größer als oder gleich " #~ "GANZZAHL2\n" #~ " GANZZAHL1 -gt GANZZAHL2 GANZZAHL1 ist größer als GANZZAHL2\n" #~ " GANZZAHL1 -le GANZZAHL2 GANZZAHL1 ist kleiner als oder gleich " #~ "GANZZAHL2\n" #~ " GANZZAHL1 -lt GANZZAHL2 GANZZAHL1 ist kleiner als GANZZAHL2\n" #~ " GANZZAHL1 -ne GANZZAHL2 GANZZAHL1 ist nicht gleich GANZZAHL2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " DATEI1 -ef DATEI2 DATEI1 und DATEI2 haben dieselbe Device‐ und Inode‐" #~ "Nummer\n" #~ " DATEI1 -nt DATEI2 DATEI1 ist neuer (Änderungsdatum) als DATEI2\n" #~ " DATEI1 -ot DATEI2 DATEI1 ist älter als DATEI2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b DATEI DATEI existiert und ist ein „block special“\n" #~ " -c DATEI DATEI existiert und ist ein „character special“\n" #~ " -d DATEI DATEI existiert und ist ein Verzeichnis\n" #~ " -e DATEI DATEI existiert\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f DATEI DATEI existiert und ist eine reguläre Datei\n" #~ " -g DATEI DATEI existiert und ist set‐group‐ID\n" #~ " -G DATEI DATEI existiert wird von der effektiven Gruppen‐ID " #~ "besessen\n" #~ " -h DATEI DATEI existiert und ist ein symbolischer Link (dasselbe " #~ "wie -L)\n" #~ " -k DATEI DATEI existiert und hat das Sticky‐Bit gesetzt\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L DATEI DATEI existiert und ist ein symbolischer Link (wie -h)\n" #~ " -O DATEI DATEI existiert und wird von der effektiver Benutzer‐ID " #~ "besessen\n" #~ " -p DATEI DATEI existiert und ist Pipe mit Namen\n" #~ " -r DATEI DATEI existiert und ist lesbar\n" #~ " -s DATEI DATEI existiert und ist größer als Null\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S DATEI DATEI existiert und ist ein Socket\n" #~ " -t FD DATEI‐Deskriptor FD ist auf ein Terminal geöffnet\n" #~ " -u DATEI DATEI existiert und das Set‐User‐ID‐Bit der DATEI ist " #~ "gesetzt\n" #~ " -w DATEI DATEI existiert und ist schreibbar\n" #~ " -x DATEI DATEI existiert und ist ausführbar\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Außer -h und -L dereferenzieren alle DATEI‐Tests symbolische " #~ "Verknüpfungen.\n" #~ "Bedenken Sie, dass runde Klammern für Shells maskiert werden müssen " #~ "(z. B. mit\n" #~ "einem Rückschrägstrich).\n" #~ "GANZZAHL kann auch -l ZKETTE sein, was die Länge der ZKETTE ist.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "BEMERKUNG: [ beachtet die Optionen --help und --version, aber test tut es " #~ "nicht.\n" #~ "test behandelt diese beiden wie jede andere nichtleere Zeichenkette.\n" #~ msgid "test and/or [" #~ msgstr "test und/oder [" #~ msgid "missing `]'" #~ msgstr "„]“ fehlt" #~ msgid "extra argument %s" #~ msgstr "zusätzliches Argument %s" #~ msgid "creating %s" #~ msgstr "Erzeugen von %s" #~ msgid "cannot touch %s" #~ msgstr "kann %s nicht berühren" #~ msgid "setting times of %s" #~ msgstr "Setzen der Zeiten für %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Die Zugriffs‐ und Modifikationszeiten jeder DATEI auf die\n" #~ "momentane Zeit aktualisieren.\n" #~ "\n" #~ "Eine DATEI, die nicht existiert, wird leer angelegt.\n" #~ "\n" #~ "Ist DATEI mit - angegeben, so ändert touch die Zeiten für die Datei,\n" #~ "die mit der Standardausgabe verbunden ist.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a Nur die Zugriffszeit ändern.\n" #~ " -c, --no-create Keine Dateien erzeugen.\n" #~ " -d, --date=DATUM DATUM lesen und statt der momentanen Zeit " #~ "verwenden.\n" #~ " -f (ignoriert)\n" #~ " -m Nur Modifikationszeit ändern.\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=DATEI Die Zeiten dieser Datei anstatt der momentanen " #~ "Zeit\n" #~ " verwenden.\n" #~ " -t MARKE [[HH]JJ]MMTTSSmm[.ss] statt momentaner Zeit " #~ "verwenden.\n" #~ " --time=WORT Die Zeit, die von WORT angegeben wird, setzen:\n" #~ " access, atime oder use: wie -a; mtime, modify: " #~ "wie -m\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Beachten Sie, dass -d und -t verschiedene Zeit‐Datum‐Formate " #~ "akzeptieren.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "Angabe von mehr als einer Zeitquelle nicht möglich" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "Warnung: „touch %s“ ist überholt; benutzen Sie „touch -t %04ld%02d%02d%02d" #~ "%02d.%02d“" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Aufruf: %s [OPTION]... MENGE1 [MENGE2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Zeichen von Standardeingabe wandeln, verdichten und/oder löschen; auf\n" #~ "Standardausgabe schreiben.\n" #~ "\n" #~ " -c, -C, --complement erstes Komplement MENGE1\n" #~ " -d, --delete Zeichen der MENGE1 löschen, nicht wandeln\n" #~ " -s, --squeeze-repeats jede Eingabefolge eines wiederholten Zeichens, " #~ "das\n" #~ " in MENGE1 enthalten ist, durch ein einzelnes\n" #~ " Vorkommens dieses Zeichens ersetzen\n" #~ " -t, --truncate-set1 zuerst MENGE1 auf die Länge von MENGE2 " #~ "abschneiden\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "MENGEn werden angegeben als Zeichenketten. Die meisten Zeichen stehen " #~ "für sich\n" #~ "selbst. Interpretierte Folgen sind:\n" #~ "\n" #~ " \\NNN Zeichen mit Oktalwert NNN (1 bis 3 oktale Ziffern)\n" #~ " \\\\ Rückschrägstrich (\\)\n" #~ " \\a hörbarer Ton (Piep)\n" #~ " \\b Zeichen zurück\n" #~ " \\f Seitenvorschub\n" #~ " \\n Zeilenvorschub\n" #~ " \\r Wagenrücklauf\n" #~ " \\t horizontaler Tabulator\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v vertikaler Tabulator\n" #~ " ZEICH1-ZEICH2 alle Zeichen von ZEICH1 bis ZEICH2 aufsteigend\n" #~ " [ZEICH*] in MENGE2, Kopien von ZEICH bis zur Länge von MENGE1\n" #~ " [ZEICH*ANZ] ANZ Kopien von ZEICHEN, ANZ ist oktal, wenn es mit 0 " #~ "beginnt\n" #~ " [:alnum:] alle Buchstaben und Ziffern\n" #~ " [:alpha:] alle Buchstaben\n" #~ " [:blank:] alle horizontalen Leerzeichen/Tabulatoren\n" #~ " [:cntrl:] alle Kontrollzeichen\n" #~ " [:digit:] alle Ziffern\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] alle druckbaren Zeichen, ohne Leerzeichen\n" #~ " [:lower:] alle Kleinbuchstaben\n" #~ " [:print:] alle druckbaren Zeichen, einschl. Leerzeichen\n" #~ " [:punct:] alle Satzzeichen\n" #~ " [:space:] alle horizontalen oder vertikalen Leerzeichen/" #~ "Tabulatoren\n" #~ " [:upper:] alle Großbuchstaben\n" #~ " [:xdigit:] alle hexadezimalen Ziffern\n" #~ " [=ZEICHEN=] alle Zeichen äquivalent zu ZEICHEN\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Wandlung wird durchgeführt, wenn nicht -d spezifiziert ist und sowohl " #~ "MENGE1\n" #~ "als auch MENGE2 angegeben sind. -t darf nur bei Wandlung benutzt " #~ "werden.\n" #~ "MENGE2 wird, wenn nötig, durch Wiederholung des letzten Zeichens auf die " #~ "Länge\n" #~ "von MENGE1 vergrößert. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Zusätzliche Zeichen in MENGE2 werden ignoriert. Nur\n" #~ "[:lower:] und [:upper:] werden mit Sicherheit in aufsteigender " #~ "Reihenfolge\n" #~ "expandiert. In MENGE2 dürfen sie zum Wandeln nur in Paaren benutzt " #~ "werden, um\n" #~ "eine Groß-/Kleinschreibung anzuzeigen. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s benutzt MENGE1, wenn nicht\n" #~ "umgewandelt oder gelöscht wird; anderenfalls wird MENGE2 zum Verdichten " #~ "benutzt\n" #~ "und erscheint nach Wandlung und Löschung.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "Warnung: die mehrdeutige Oktal‐Escape \\%c%c%c wird als\n" #~ "\t2‐Byte‐Folge \\0%c%c, %c interpretiert" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "Warnung: Rückschrägstrich (\\) ohne Fluchtzeichen am Ende der " #~ "Zeichenkette ist nicht portabel" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "" #~ "Die Endpunkte des Bereiches „%s-%s“ sind in umgekehrter Sortierreihenfolge" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "Ungültige Wiederholungsangabe %s in [c*n]-Konstrukt" #~ msgid "missing character class name `[::]'" #~ msgstr "Fehlender Zeichenklassename „[::]“" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "Fehlendes Äquivalenzklassenzeichen „[==]“" #~ msgid "invalid character class %s" #~ msgstr "Ungültige Zeichenklasse %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: Äquivalenzklassenoperand muss ein einzelnes Zeichen sein" #~ msgid "too many characters in set" #~ msgstr "zu viele Buchstaben in Menge" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "Die [c*]-Wiederholungsangabe darf nicht in Kette1 erscheinen" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "Nur eine [c*] Wiederholungsangabe darf in Kette2 auftreten" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "[=c=] Ausdrücke dürfen beim Wandeln nicht in Kette2 auftauchen" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "Wenn Menge1 nicht abgeschnitten wird, darf Kette2 nicht leer sein" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "Beim Wandeln mit \"complemented character classes\" muss\n" #~ "Kette2 alle Zeichen im Bereich auf eines abbilden" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "Beim Wandeln dürfen in Kette2 nur die Zeichenklassen „upper“ und „lower“\n" #~ "verwendet werden" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "Das [c*] Konstrukt darf in Kette2 nur bei Wandlungen auftauchen" #~ msgid "Two strings must be given when translating." #~ msgstr "Beim Wandeln müssen zwei Zeichenketten angegeben werden." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Beim Löschen ohne Verdichten darf nur eine Zeichenkette angegeben werden." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "fehlerhaft positioniertes [:upper:]- und/oder [:lower:]-Konstrukt" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s [ignorierete Kommandozeilenargumente]\n" #~ " oder: %s OPTION\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Mit einem Status beenden, der Erfolg signalisiert." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Aufruf: %s [OPTION] [DATEI]\n" #~ "Vollkommen geordnete Liste in Übereinstimmung mit der partiellen Ordnung " #~ "in\n" #~ "DATEI schreiben.\n" #~ "Ohne DATEI, oder falls DATEI „-“ ist, Standardeingabe lesen.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: Eingabe enthält eine ungerade Anzahl Token" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: Eingabe enthält eine Schleife:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Aufruf: %s [OPTION]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Den Dateinamen des Terminals ausgeben, das mit der Standardeingabe " #~ "verbunden\n" #~ "ist.\n" #~ "\n" #~ " -s, --silent, --quiet nichts ausgeben, nur Exit‐Status setzen\n" #~ msgid "not a tty" #~ msgstr "kein Ausgabegerät" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Bestimmte Systeminformationen ausgeben. Ohne OPTION dasselbe wie -s.\n" #~ "\n" #~ " -a, --all alle Informationen ausgeben, in der folgenden\n" #~ " Reihenfolge (außer -p und -i wenn nicht " #~ "bekannt):\n" #~ " -s, --kernel-name Namen des Kernels ausgeben\n" #~ " -n, --nodename Netzwerknamen der Maschine ausgeben\n" #~ " -r, --kernel-release Release‐Nummer des Kernels ausgeben\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version Version des Kernels ausgeben\n" #~ " -m, --machine Maschinentyp (Hardware) ausgeben\n" #~ " -p, --processor Typ des Prozessors ausgeben (oder „unknown“)\n" #~ " -i, --hardware-platform Hardwareplattform ausgeben (oder „unknown“)\n" #~ " -o, --operating-system Namen des Betriebssystems ausgeben\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Maschinenarchitektur ausgeben.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "es ist nicht möglich, den Namen des Betriebssystems zu ermitteln" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Alle Leerzeichen in jeder DATEI in Tabulatoren wandeln, auf " #~ "Standardausgabe\n" #~ "schreiben. Ohne DATEI, oder wenn DATEI „-“ ist, Standardeingabe lesen.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all alle Leerzeichen wandeln, statt nur der führenden\n" #~ " --first-only nur führendene Leerzeichen konvertieren (überschreibt " #~ "-a)\n" #~ " -t, --tabs=N Tabulatoren alle ANZAHL Zeichen annehmen, statt 8\n" #~ " -t, --tabs=LISTE kommagetrennte Liste von Tabulatorpositionen " #~ "verwenden\n" #~ " (-t und --tabs implizieren -a)\n" #~ msgid "tabs are too far apart" #~ msgstr "Tabulatoren sind zu weit auseinander" #~ msgid "tab stop value is too large" #~ msgstr "Tabulatorstopp ist zu groß" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Aufruf: %s [OPTION]... [EINGABE [AUSGABE]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Alle hintereinanderstehenden identischen Zeilen von EINGABE (oder\n" #~ "Standardeingabe) bis auf eine löschen, und auf AUSGABE (oder " #~ "Standardausgabe)\n" #~ "schreiben.\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count den Zeilen die Anzahl des Vorkommens " #~ "voranstellen\n" #~ " -d, --repeated nur die doppelten Zeilen ausgeben\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=TRENN‐METHODE] alle doppelten Zeilen ausgeben\n" #~ " TRENN‐METHODE={none(Vorgabe),prepend,separate)};\n" #~ " das Abtrennen geschieht durch Leerzeilen\n" #~ " -f, --skip-fields=N nicht die ersten N Felder vergleichen\n" #~ " -i, --ignore-case Abweichung in Groß-/Kleinschreibung ignorieren\n" #~ " -s, --skip-chars=N nicht die ersten N Zeichen vergleichen\n" #~ " -u, --unique nur nur einmal vorkommende Zeilen ausgeben\n" #~ " -z, --zero-terminated Zeilen mit Nullbyte, nicht Zeilenvorschub, " #~ "abschließen\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N nicht mehr als N Zeichen pro Zeile vergleichen\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Ein Feld ist eine Folge von Leerzeichen/Tabs gefolgt von anderen " #~ "Zeichen.\n" #~ "Felder werden vor Zeichen übersprungen.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Bemerkung: „uniq“ kann wiederholte Zeilen nicht erkennen, wenn sie nicht\n" #~ "benachbart sind. Sie können die Eingabe vorher sortieren, oder auch\n" #~ "anstelle von „uniq“ gleich „sort -u“ verwenden.\n" #~ msgid "too many repeated lines" #~ msgstr "zu viele wiederholte Zeilen" #~ msgid "invalid number of fields to skip" #~ msgstr "Ungültige Anzahl an zu überspringenden Feldern" #~ msgid "invalid number of bytes to skip" #~ msgstr "Ungültige Anzahl an zu überspringenden Bytes" #~ msgid "invalid number of bytes to compare" #~ msgstr "Ungültige Anzahl an zu vergleichenden Bytes" # --count --all-repeated #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "alle duplizierten Zeilen auszugeben und Wiederholungszähler ist nicht " #~ "sinnvoll" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s DATEI\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Die Funktion unlink aufrufen, um angegebene DATEI zu löschen.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "Entfernen (unlink) von %s nicht möglich" #~ msgid "couldn't get boot time" #~ msgstr "Es ist nicht möglich, die Startzeit des Rechners zu ermitteln." #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s an " # CHECKIT # /* FIXME: use strftime, not am, pm. Uli reports that # the german translation is meaningless. */ #~ msgid "am" #~ msgstr "am" # CHECKIT # /* FIXME: use strftime, not am, pm. Uli reports that # the german translation is meaningless. */ #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? an " #~ msgid "???? days ??:??, " #~ msgstr "???? Tage ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld Tag" #~ msgstr[1] "%ld Tage" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu Benutzer" #~ msgstr[1] "%lu Benutzer" #~ msgid ", load average: %.2f" #~ msgstr ", Durchschnittslast: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Aufruf: %s [OPTION]... [ DATEI ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Die aktuelle Zeit, die Dauer, wielange das System läuft, die Anzahl der\n" #~ "Benutzer und die durchschnittliche Anzahl der laufenden Jobs in den " #~ "letzten 1,\n" #~ "5 und 15 Minuten ausgeben.\n" #~ "Falls DATEI nicht angegeben ist, %s benutzen.\n" #~ "%s als DATEI ist üblich.\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Ausgeben, wer augenblicklich gemäß DATEI angemeldet ist.\n" #~ "Wenn keine DATEI angegeben ist, %s benutzen.\n" #~ "%s ist als DATEI üblich.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Zeilen‐, Wort‐ und Byteanzahl für jede DATEI ausgeben und eine Zeile mit " #~ "der\n" #~ "Gesamtsumme, wenn mehr als eine DATEI angegeben wurde. Ohne DATEI, oder " #~ "wenn\n" #~ "DATEI „-“ ist, Standardeingabe lesen.\n" #~ "\n" #~ " -c, --bytes Byteanzahl ausgeben\n" #~ " -m, --chars Zeichenanzahl ausgeben\n" #~ " -l, --lines Zeilenanzahl ausgeben\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=D Eingabe aus den Dateien lesen, die mit NULL " #~ "terminiert\n" #~ " in der Datei D stehen\n" #~ " -L, --max-line-length die Länge der längsten Zeile ausgeben\n" #~ " -w, --words Wortanzahl ausgeben\n" #~ msgid " old " #~ msgstr " alt " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "exit=" #~ msgid "clock change" #~ msgstr "Stellen der Uhr" #~ msgid "run-level" #~ msgstr "Runlevel" #~ msgid "last=" #~ msgstr "last=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# Benutzer=%lu\n" #~ msgid "NAME" #~ msgstr "NAME" # 8 chars are okay #~ msgid "LINE" #~ msgstr "LEITUNG" #~ msgid "TIME" #~ msgstr "ZEIT" #~ msgid "IDLE" #~ msgstr "UNTÄTIG" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "KOMMENTAR" #~ msgid "EXIT" #~ msgstr "EXIT" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Aufruf: %s [OPTION]... [ DATEI | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all dasselbe wie -b -d --login -p -r -t -T -u\n" #~ " -b, --boot Zeit des letzten Rechnerstarts („system boot“)\n" #~ " -d, --dead tote Prozesse ausgeben\n" #~ " -H, --heading Kopfzeile mit Spaltenbezeichnungen ausgeben\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login Login‐Prozesse des Systems ausgeben\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup versuchen, den Rechnernamen mittels DNS zu " #~ "kanonifizieren\n" #~ " -m nur Rechnernamen und Benutzer, die die " #~ "Standardeingabe\n" #~ " verwenden\n" #~ " -p, --process aktive Prozesse ausgeben, die von init aufgerufen " #~ "wurden\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count alle Loginnamen und Anzahl der angemeldeten Benutzer\n" #~ " -r, --runlevel aktuellen Runlevel ausgeben\n" #~ " -s, --short nur Namen, Leitung und Zeit ausgeben (Vorgabe)\n" #~ " -t, --time das letztmalige Stellen der Systemuhr ausgeben\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg den Message‐Status des Benutzers als +, - or ? " #~ "hinzufügen\n" #~ " -u, --users angemeldete Benutzer anzeigen\n" #~ " --message dasselbe wie -T\n" #~ " --writable dasselbe wie -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Wenn keine DATEI angegeben ist, „%s“ nehmen. „%s“ ist als\n" #~ "DATEI üblich. Wenn ARG1 ARG2 angegeben sind, wird -m angenommen:\n" #~ "gebräuchlich sind „bin ich“ oder „am i“.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Den Benutzernamen ausgeben, der zu der aktuellen effektiven Benutzer‐ID\n" #~ "gehört. Dasselbe wie „id -un“.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: Es ist kein Name zur Nutzer‐ID %lu zu finden\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Aufruf: %s [ZEICHENKETTE...]\n" #~ " oder: %s OPTION\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Eine Zeile mit allen angegebenen ZEICHENKETTEn oder „y“ wiederholt " #~ "ausgeben.\n" #~ "\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "nicht erkannter Operand %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " Verzeichnisse vor Dateien anordnen\n" dc3dd-7.1.614/po/bg.gmo0000644000175000017500000001303411233346647014163 0ustar amedicoamedico$0P5pDLP|}ij$$$*C&n9#$!,:"g  &(8'Hp%  !0@tX Qa yn { Od M<`La8m|{1 3AOP0J<MYj24E<z/$Y f4!#"t!   $ #"Th, BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid number %soffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.5 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2006-11-23 22:41+0200 Last-Translator: Anton Zinoviev Language-Team: Bulgarian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); БЛОКОВЕ и БАЙТОВЕ могат да бъдат следвани от следните суфикси-множители: xM=M, c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024, GB=1000*1000*1000, G=1024*1024*1024 и аналогично за T, P, E, Z и Y. Всяка КЛЮЧДУМА може да бъде: Всеки знак за ФЛАГ може да бъде: append режим добавяне (смислено само за изхода, препоръчва се conv=notrunc) binary да се използват двоични входно/изходни операции за данните direct да се използват директни входно/изходни операции за данните directory отказва да работи, освен при каталог dsync да се използват синхронизирани входно/изходни операции за данните noatime да не се обновява времето за достъп noctty да не се определя управляващ терминал от файл nofollow да не се следват символните връзки nolinks отказва да работи при множество твърди връзки nonblock да се използват неблокиращи входно/изходни операции sync подобно, но също и за метаданните (напр. на файловата система) text да се използват текстови входно/изходни операции за данните %s: неуспешно позициониране, %g s, %s/s БезбройИзползвайте „%s --help“ за повече информация. Непозната системна грешкаИзползване: %s [ОПЕРАНД]... или: %s ОПЦИЯ не може да се комбинират excl и nocreatне може да се получи режимът за достъп до %sв крайна сметка не може да се компенсира грешката в ядротозатваряне на входния файл %sзатваряне на изходния файл %sнеуспешно извикване на fdatasync за %sнеуспешнен запис (fsync) за %sнедопустимо число %sпрепълване на отместването при четене на файла %sотваряне на %sзадействат се флаговете за %sстандартният входстандартният изходнепознат операнд %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typesзапис в %sPRIuMAXtruncating at % bytes in output file %sсъкращаване до % байта в изходния файл %sdc3dd-7.1.614/po/pl.po0000644000175000017500000121676411233346647014062 0ustar amedicoamedico# Polish translation of GNU coreutils messages # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Contributions: # Rafał Maszkowski , 1996-2001, 2003-2008. # ptx: Paweł Krawczyk , 1996. # sh-utils: Paweł Krawczyk , 1997, 1998, 1999. # fileutils: Thanks for help to Marta Bartnicka, 1999. # fileutils: Andrzej Krzysztofowicz , 2002. # Thanks for help and 246+ remarks to Jakub Bogusz, 2003. # 4 corrections: jurget@infocoig.pl via garski@poczta.onet.pl, 2004. # 3 corrections: Andrzej Krzysztofowicz , 2006. # 1 correction: Daniel Janus , 2007. # 2 format strings: Jakub Bogusz , 2007. # msgid "" msgstr "" "Project-Id-Version: coreutils 6.9.92\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-01-12 17:30+0100\n" "Last-Translator: Rafał Maszkowski \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "nie udało się uruchomić procesu %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Spróbuj `%s --help' dla uzyskania informacji.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Składnia: %s [ARGUMENT]...\n" " albo: %s OPCJA\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Kopiowanie pliku z przekształcaniem i formatowaniem zgodnie z argumentami.\n" "\n" " bs=BAJTÓW ustawienie ibs=BAJTÓW i obs=BAJTÓW\n" " cbs=BAJTÓW przekształcenie tylu BAJTÓW za jednym razem\n" " conv=SŁOWA_KL przekształcenie pliku wg listy słów kluczowych\n" " oddzielonych przecinkami\n" " count=BLOKÓW skopiowanie tylko tyle BLOKÓW z wejścia\n" " ibs=BAJTÓW czytanie tylu BAJTÓW naraz\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=PLIK czytanie z PLIKU zamiast ze standardowego wejścia\n" " iflag=FLAGI czytanie zgodnie z podaną listą\n" " obs=BAJTÓW zapisanie tylu BAJTÓW naraz\n" " of=PLIK zapisanie do PLIKU zamiast do standardowego wyjścia\n" " oflag=FLAGI pisanie zgodnie z podaną listą\n" " seek=BLOKÓW przeskoczenie tylu BLOKÓW o rozmiarze ibs na wyjściu\n" " skip=BLOKÓW przeskoczenie tylu BLOKÓW o rozmiarze ibs na wejściu\n" " status=noxfer bez statystyki kopiowania\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOKI i BAJTY mogą mieć następujące przyrostki mnożące:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, itd. dla T, P, E, Z, Y.\n" "\n" "Każde SŁOWO_KL może być:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat bez tworzenia pliku wyjściowego\n" " excl zakończenie jeżeli plik wyjściowy już istnieje\n" " notrunc bez skrócenia pliku wyjściowego\n" " ucase zamiana małych liter na wielkie\n" " swab zamiana każdej pary bajtów\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror kontynuowanie mimo błędów czytania\n" " sync dopełnienie każdego bloku wejściowego zerami do rozmiaru ibs,\n" " jeżeli użyte z block albo unblock, dopełnienie spacjami zamiast\n" " NULami\n" " fdatasync wymuszenie fizycznego zapisu danych przed zakończeniem\n" " fsync jak fdatasync, ale też dla metadanych\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Do FLAG należą:\n" "\n" " append tryb dopisywania (ma sens tylko dla wyjścia)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct dane zapisywane przez bezpośrednie I/O\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory błąd jeżeli nie katalog\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync dane zapisywane przez synchronizowane I/O\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync podobnie, ale też dla metadanych\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock użycie nie blokującego I/O\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime bez aktualizacji czasu dostępu\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty bez przyporządkowywania terminala sterującego - pliku\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow bez rozwijania dowiązań symbolicznych\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks błąd jeżeli wielokrotnie dołączony\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary użycie binarnego I/O dla danych\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text użycie tekstowego I/O dla danych\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Wysłanie sygnału %s do działającego programu `dd' powoduje wypisanie\n" "statystyki wejścia i wyjścia na standardowym wyjściu błędów i kontynuację\n" "kopiowania.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Nieznany błąd systemu" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% przeczytanych recordów\n" "%+% zapisanych recordów\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "skopiowany % bajt (%s)" msgstr[1] "skopiowane % bajty (%s)" msgstr[2] "skopiowane % bajtów (%s)" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "nieskończenie wiele B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "zamykanie pliku wejściowego %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "zamknięcie pliku wyjściowego %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Zabrakło przyrostków plików wyjściowych" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "otwieranie %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "NIEPOWODZENIE" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "nierozpoznany argument %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "błędna data: %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "błędny format daty %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "błędny format daty %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "błędny format daty %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "błędna konwersja: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "błędna flaga wejściowa: %s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "błędna flaga wyjściowa: %s" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "błędna flaga stanu: %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "błędna liczba %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "nie można użyć razem excl i nocreat" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "nie można łączyć ustawiania opcji -e i -i" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "nie można łączyć ustawiania opcji -e i -i" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "nie można łączyć ustawiania opcji -e i -i" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "nie można łączyć ustawiania opcji -e i -i" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "nie można łączyć ustawiania opcji -e i -i" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "uwaga: ominięcie błędu działania lseek w jądrze dla pliku (%s)\n" " o mt_type=0x%0lx - zobacz listę typów w " #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "czytanie %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: nie można ustawić pozycji" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "przepełnienie licznika pozycji w czasie czytanie pliku %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "uwaga: błędna pozycja w pliku po nieudanym czytaniu" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "nie udało się obejść błędu jądra" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "ustawienie flag dla %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "czytanie katalogu %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "czytanie katalogu %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "zapis do %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "nieudany fdatasync dla %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "nieudany fsync dla %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standardowe wejście" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standardowe wyjście" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "za duża wartośc pozycji w pliku: nie można obciąć pliku do długości seek=%" " (%lu bajtowych) bloków" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "nie można wykonać fstat na %s" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "obcięcie pliku do % bajtów w pliku wyjściowym %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii z EBCDIC do ASCII\n" #~ " ebcdic z ASCII do EBCDIC\n" #~ " ibm z ASCII do alternatywnego EBCDIC\n" #~ " block wyrównanie rekordów zakończonych znakami nowej linii " #~ "spacjami\n" #~ " do rozmiaru cbs\n" #~ " unblock zamiana końcowych spacji w rekordach o rozmiarze cbs na znak\n" #~ " nowej linii\n" #~ " lcase zamiana wielkich liter na małe\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% obcięty rekord\n" #~ msgstr[1] "% obcięte rekordy\n" #~ msgstr[2] "% obciętych rekordów\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "nie można podawać równocześnie ascii, ebcdic, ibm" #~ msgid "cannot combine block and unblock" #~ msgstr "nie można użyć block i unblock równocześnie" #~ msgid "cannot combine lcase and ucase" #~ msgstr "nie można użyć razem lcase i ucase" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "uwaga: błędna pozycja w pliku po nieudanym czytaniu" #~ msgid "error writing %s" #~ msgstr "błąd zapisu %s" #~ msgid "invalid argument %s for %s" #~ msgstr "błędny argument %s opcji %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "niejednoznaczny argument %s opcji %s" #~ msgid "Valid arguments are:" #~ msgstr "Prawidłowe argumenty to:" #~ msgid "error closing file" #~ msgstr "błąd zamknięcia pliku" #~ msgid "write error" #~ msgstr "błąd zapisu" #~ msgid "preserving permissions for %s" #~ msgstr "zachowanie uprawnień %s" #~ msgid "cannot stat %s" #~ msgstr "nie można wykonać stat na %s" #~ msgid "regular empty file" #~ msgstr "pusty zwykły plik" #~ msgid "regular file" #~ msgstr "zwykły plik" #~ msgid "directory" #~ msgstr "katalog" #~ msgid "block special file" #~ msgstr "blokowy plik specjalny" #~ msgid "character special file" #~ msgstr "znakowy plik specjalny" #~ msgid "fifo" #~ msgstr "potok" #~ msgid "symbolic link" #~ msgstr "dowiązanie symboliczne" #~ msgid "socket" #~ msgstr "gniazdo" #~ msgid "message queue" #~ msgstr "kolejka komunikatów" #~ msgid "semaphore" #~ msgstr "semafor" #~ msgid "shared memory object" #~ msgstr "obiekt w pamięci współdzielonej" #~ msgid "typed memory object" #~ msgstr "obiekt z typem w pamięci" #~ msgid "weird file" #~ msgstr "dziwny plik" #~ msgid "Address family for hostname not supported" #~ msgstr "Rodzina adresów nie obsługiwana przez ten system" #~ msgid "Temporary failure in name resolution" #~ msgstr "Tymczasowy błąd rozwiązywania nazw" #~ msgid "Bad value for ai_flags" #~ msgstr "Zła wartość ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Nienaprawialny błąd w rozwiązywaniu nazw" #~ msgid "ai_family not supported" #~ msgstr "ai_family nie jest obsługiwana" #~ msgid "Memory allocation failure" #~ msgstr "Błąd przydziału pamięci" #~ msgid "No address associated with hostname" #~ msgstr "Z nazwą nie jest związany żaden adres" #~ msgid "Name or service not known" #~ msgstr "Nieznana nazwa lub usługa" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Servname nie obsługiwany przez ai_socktype" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype nie jest obsługiwane" #~ msgid "System error" #~ msgstr "błąd systemu" #~ msgid "Argument buffer too small" #~ msgstr "Za mały bufor argumentów" #~ msgid "Processing request in progress" #~ msgstr "W trakcie przetwarzania żądania" #~ msgid "Request canceled" #~ msgstr "Żądanie skasowane" #~ msgid "Request not canceled" #~ msgstr "Żądnie nie skasowane" #~ msgid "All requests done" #~ msgstr "Wszystkie żądania wypełnione" #~ msgid "Interrupted by a signal" #~ msgstr "PRzerwany przez sygnał" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Źle zakodowany łańcuch parametrów" #~ msgid "Unknown error" #~ msgstr "Nieznany błąd" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: opcja `%s' jest niejednoznaczna\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: opcja `--%s' nie może mieć argumentu\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: opcja `%c%s' nie może mieć argumentu\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: opcja `%s' wymaga argumentu\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: nierozpoznana opcja `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: nierozpoznana opcja `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: nielegalna opcja -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: błędna opcja -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: opcja wymaga argumentu -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: opcja `-W %s' jest niejednoznaczna\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: opcja `-W %s' nie może mieć argumentu\n" #~ msgid "cannot change permissions of %s" #~ msgstr "nie można zmienić uprawnień do %s" #~ msgid "cannot create directory %s" #~ msgstr "nie można utworzyć katalogu %s" #~ msgid "memory exhausted" #~ msgstr "brak pamięci" #~ msgid "unable to record current working directory" #~ msgstr "nie udało się zapisać bieżącego katalogu roboczego" #~ msgid "failed to return to initial working directory" #~ msgstr "nie udało się wrócić do początkowego katalogu roboczego" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #~ msgid "%s: end of file" #~ msgstr "%s: koniec pliku" #~ msgid "Success" #~ msgstr "Sukces" #~ msgid "No match" #~ msgstr "Brak dopasowania" #~ msgid "Invalid regular expression" #~ msgstr "Błędne wyrażenie regularne" # ? - rzm #~ msgid "Invalid collation character" #~ msgstr "Błędny znak sortowany" #~ msgid "Invalid character class name" #~ msgstr "Błędna nazwa klasy znaków" #~ msgid "Trailing backslash" #~ msgstr "Końcowy ukośnik odwrotny" #~ msgid "Invalid back reference" #~ msgstr "Błędne odwołanie" #~ msgid "Unmatched [ or [^" #~ msgstr "Niesparowany [ lub [^" #~ msgid "Unmatched ( or \\(" #~ msgstr "Niesparowany ( lub \\(" #~ msgid "Unmatched \\{" #~ msgstr "Niedopasowany \\{" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Błędna zawartość \\{\\}" #~ msgid "Invalid range end" #~ msgstr "Błędny koniec zakresu" #~ msgid "Memory exhausted" #~ msgstr "Brak pamięci" #~ msgid "Invalid preceding regular expression" #~ msgstr "Błędne wyrażenie regularne" #~ msgid "Premature end of regular expression" #~ msgstr "Przedwczesny koniec szukania wyrażenia regularnego" #~ msgid "Regular expression too big" #~ msgstr "Za duże wyrażenie regularne" #~ msgid "Unmatched ) or \\)" #~ msgstr "Niesparowany ) lub \\)" #~ msgid "No previous regular expression" #~ msgstr "Brak poprzedniego wyrażenia regularnego" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "działanie rekurencyjne na %s jest niebezpieczne" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "działanie rekurencyjne na %s jest niebezpieczne (to samo co %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "użyj --no-preserve-root do wyłączenia tego zabezpieczenia" #~ msgid "^[yY]" #~ msgstr "^[yYtT]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "nie można ustawić uprawnień do %s" #~ msgid "iconv function not usable" #~ msgstr "nie można użyć funkcji iconv" #~ msgid "iconv function not available" #~ msgstr "funkcja iconv nie jest dostępna" #~ msgid "character out of range" #~ msgstr "znak spoza zakresu" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "nie można przekształcić U+%04X do lokalnego zestawu znaków" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "nie można przekształcić U+%04X do lokalnego zestawu znaków: %s" #~ msgid "invalid user" #~ msgstr "błędny użytkownik" #~ msgid "invalid group" #~ msgstr "błędna grupa" #~ msgid "invalid spec" #~ msgstr "błędna specyfikacja" #~ msgid "(C)" #~ msgstr "(C)" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Licencja GPLv3+: GNU GPL wersja 3 albo późniejsza \n" #~ "To jest wolne oprogramowanie. Autorzy nie dają ŻADNYCH gwarancji w " #~ "granicach\n" #~ "dozwolonych prawem.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Napisany przez %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Autorzy: %s i %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Autorzy: %s, %s i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Autorzy: %s, %s, %s\n" #~ "i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Autorzy: %s, %s, %s,\n" #~ "%s i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Autorzy: %s, %s, %s,\n" #~ "%s, %s i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Autorzy: %s, %s, %s,\n" #~ "%s, %s, %s i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Autorzy: %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Autorzy: %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s i %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Autorzy: %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s i inni.\n" #~ msgid "invalid argument: %s" #~ msgstr "błędny argument: %s" #~ msgid "string comparison failed" #~ msgstr "nie udało się porównanie łańcuchów znaków" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Ustaw LC_ALL='C' żeby obejść problem" #~ msgid "The strings compared were %s and %s." #~ msgstr "Porównywane łańcuchy znaków do %s i %s." #~ msgid "string transformation failed" #~ msgstr "nie udało się przekształcenie łańcucha znaków" #~ msgid "The untransformed string was %s." #~ msgstr "Nieprzekształcony łańcuch znaków to %s." #~ msgid "cannot perform formatted output" #~ msgstr "nie można wykonać formatowanych danych wyjściowych" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "%s%s - błędny argument `%s'" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "%s%s - błędny przyrostek `%s'" #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s%s `%s' jest za duże" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Składnia: %s [OPCJA] [PLIK]\n" #~ "Zakodowane lub zdekodowanie kodem 64-znakowym (base64) PLIKU albo danych\n" #~ "między standardowym wejściem i wyjściem.\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=KOLUMNY Zawijanie zakodowanych linii po KOLUMNACH " #~ "(domyślnie\n" #~ " 76), 0 wyłącza zawijanie.\n" #~ "\n" #~ " -d, --decode Rozkodowanie danych.\n" #~ " -i, --ignore-garbage Zignorowanie znaków niealfabetycznych przy " #~ "dekodowaniu.\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Wyświetlenie pomocy i zakończenie.\n" #~ " --version Wyświetlenie informacji o wersji i zakończenie.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Jeżeli nie został podany PLIK albo podany jest jako -, czytane jest\n" #~ "standardowe wejście.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Dane są kodowane według opisu dla alfabetu o podstawie 64 (base64) w\n" #~ "RFC 3548. Przy dekodowaniu oprócz znaków formalnego alfabetu base64 " #~ "można\n" #~ "napotkać znaki nowej linii. Program wywołany z opcją --ignore-garbage " #~ "będzie\n" #~ "próbował opuścić jakiekolwiek inne znaki nie z alfabetu base64.\n" #~ msgid "read error" #~ msgstr "błąd czytania" #~ msgid "invalid input" #~ msgstr "błędna dane wejściowe" #~ msgid "invalid wrap size: %s" #~ msgstr "błędny rozmiar zawijania: %s" #~ msgid "extra operand %s" #~ msgstr "nadmiarowy argument %s" #~ msgid "closing standard input" #~ msgstr "zamknięcie standardowego wejścia" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s NAZWA [ROZSZERZENIE]\n" #~ " albo: %s [OPCJA]\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Wyświetla NAZWĘ, usuwając wszystkie poprzedzające składniki ścieżki.\n" #~ "Jeśli jest podany, usuwa również PRZYROSTEK.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Przykłady:\n" #~ " %s /usr/bin/sort Wynik: \"sort\".\n" #~ " %s include/stdio.h .h Wynik: \"stdio\".\n" #~ msgid "missing operand" #~ msgstr "brakujący argument" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Składnia: %s [OPCJA] [PLIK]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Połączenie PLIKU(ÓW) albo przekazanie ze standardowego wejścia na " #~ "wyjście.\n" #~ "\n" #~ " -A, --show-all równoważne -vET\n" #~ " -b, --number-nonblank numerowanie niepustych linii na wyjściu\n" #~ " -e równoważne -vE\n" #~ " -E, --show-ends wypisanie $ na końcu każdej linii\n" #~ " -n, --number numerowanie wszystkich linii na wyjściu\n" #~ " -s, --squeeze-blank nigdy więcej niż jedna pusta linia\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t równoważne -vT\n" #~ " -T, --show-tabs wypisanie znaków TAB jako ^I\n" #~ " -u (ignorowane)\n" #~ " -v, --show-nonprinting użycie zapisu ^ i M-, oprócz LFD i TAB\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Przykłady:\n" #~ " %s f - g Skopiowanie zawartości f na standardowe wyjście, potem\n" #~ " zawartości g.\n" #~ " %s Skopiowanie standardowego wejścia na standardowe wyjście.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "nie można wykonać ioctl na %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: plik wejściowy jest plikiem wyjściowym" #~ msgid "failed to create security context: %s" #~ msgstr "błąd tworzenia kontekstu bezpieczeństwa: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "błąd przy ustawiania kontekstu bezpieczeństwa %s jako %s" #~ msgid "failed to get security context of %s" #~ msgstr "nie udało się odczytać kontekstu bezpieczeństwa %s" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "nie można zastosować częściowego kontekstu do pliku %s bez etykiety" #~ msgid "failed to change context of %s to %s" #~ msgstr "nie można zmienić konteksty %s na %s" #~ msgid "cannot access %s" #~ msgstr "nie ma dostępu do %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "nie można przeczytać katalogu %s" #~ msgid "changing security context of %s" #~ msgstr "nie można zmienić kontekstu bezpieczeństwa %s" #~ msgid "fts_read failed" #~ msgstr "błąd fts_read" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... KONTEKST PLIK...\n" #~ " albo: %s [OPCJA]... [-u UŻYTKOWNIK] [-r ROLA] [-l ZAKRES] [-t TYP] " #~ "PLIK...\n" #~ " albo: %s [OPCJA]... --reference=PLIK_WZ PLIK...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Zmiana kontekstu bezpieczeństwa każdego PLIKU na KONTEKST. Z opcją --" #~ "reference\n" #~ "zmiana kontekstu bezpieczeństwa każdego PLIKU na taki jaki ma PLIK_WZ.\n" #~ "\n" #~ " -c, --changes jak verbose, ale informowanie tylko gdy zaszła " #~ "zmiana\n" #~ " --dereference zmiany mają dotyczyć samych dowiązań " #~ "symbolicznych, a\n" #~ " nie plików przez nie wskazywanych (dostępne " #~ "tylko w\n" #~ " systemach z wywołaniem systemowym lchown)\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=PLIK_WZ użycie kontekstu bezpieczeństwa pliku PLIK_WZ\n" #~ " zamiast podanego KONTEKSTU\n" #~ " -R, --recursive zmiany też w plikach w podkatalogach\n" #~ " -v, --verbose wypisanie informacji o każdym przetwarzanym " #~ "pliku\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=UŻYTKOWNIK ustawienie UŻYTKOWNIKA w docelowym kontekscie\n" #~ " bezpieczeństwa\n" #~ " -r, --role=ROLA ustawienie ROLI w docelowym kontekscie\n" #~ " bezpieczeństwa\n" #~ " -t, --type=TYP ustawienie TYPU w docelowym kontekscie\n" #~ " bezpieczeństwa\n" #~ " -l, --range=ZAKRES ustawienie ZAKRESU w docelowym kontekscie\n" #~ " bezpieczeństwa\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Następujące opcje zmieniają sposób przeglądania katalogów gdy jest " #~ "podana\n" #~ "opcja -R. Jeżeli podane jest więcej opcji, używana jest tylko ostatnia.\n" #~ " -H jeżeli argumentem jest dowiązanie symboliczne " #~ "do\n" #~ " katalogu - będzie przetworzony\n" #~ " -L przetworzenie każdego katalogu, do którego jest\n" #~ " dowiązanie symboliczne\n" #~ " -P bez przetwarzania dowiązań symbolicznych " #~ "(domyślnie)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference wymaga -H albo -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h wymagają podania -P" #~ msgid "missing operand after %s" #~ msgstr "brakujący argument po %s" #~ msgid "invalid context: %s" #~ msgstr "błędny kontekst: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "podano sprzeczne specyfikacje kontekstów bezpieczeństwa" #~ msgid "failed to get attributes of %s" #~ msgstr "nie udało się odczytać atrybutów %s" #~ msgid "invalid group: %s" #~ msgstr "błędna grupa: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... GRUPA PLIK...\n" #~ " albo: %s [OPCJA]... --reference=PLIK_WZ PLIK...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Zmiana grupy każdego PLIKU na GRUPĘ.\n" #~ "Z opcją --reference zmiana grupy każdego PLIKU na taką jaką ma PLIK_WZ.\n" #~ "\n" #~ " -c, --changes jak verbose, ale informowanie tylko gdy zaszła " #~ "zmiana\n" #~ " --dereference zmiany mają dotyczyć plików wskazywanych\n" #~ " przez dowiązania symboliczne, a nie samych\n" #~ " dowiązań (domyślnie)\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference operowanie na dowiązaniach symbolicznych zamiast " #~ "na\n" #~ " wskazywanych plikach (tylko dla systemów, które\n" #~ " umieją zmienić właściciela dowiązania " #~ "symbolicznego)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root bez traktowania katalogu `/' w specjalny " #~ "sposób\n" #~ " (domyślnie)\n" #~ " --preserve-root odmowa rekusywnego działania na `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet wyłączenie większości komunikatów o błędach\n" #~ " --reference=PLIK_WZ użycie grupy pliku PLIK_WZ zamiast podanej\n" #~ " nazwy GRUPY\n" #~ " -R, --recursive zmiany też w plikach w podkatalogach\n" #~ " -v, --verbose wypisanie informacji o każdym przetwarzanym " #~ "pliku\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Przykłady:\n" #~ " %s staff /u Zmiana grupy /u na \"staff\".\n" #~ " %s -hR staff /u Zmiana grupy /u i zawartości na \"staff\".\n" #~ msgid "getting new attributes of %s" #~ msgstr "pobranie nowych atrybutów %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "" #~ "nie zostało zmienione ani dowiązanie symboliczne %s ani wskazywany plik\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "uprawnienia do %s zmienione na %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "nie udało się zmienić uprawnień do %s na %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "uprawnienia do %s zachowane jako %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "" #~ "operacji nie można wykonać na dowiązaniu symbolicznym %s, które nie " #~ "wskazuje na istniejący plik" #~ msgid "changing permissions of %s" #~ msgstr "nie można zmienić uprawnień do %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: nowe uprawnienia to %s, nie %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... UPRAWN[,UPRAWN]... PLIK...\n" #~ " albo: %s [OPCJA]... UPRAWN_ÓS PLIK...\n" #~ " albo: %s [OPCJA]... --reference=PLIK_WZ PLIK...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Zmiana uprawnień do każdego PLIKU na UPRAWN.\n" #~ "\n" #~ " -c, --changes jak -v, ale podanie tylko kiedy zaszła zmiana\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root bez traktowania katalogu '/' w specjalny " #~ "sposób\n" #~ " (domyślnie)\n" #~ " --preserve-root odmowa rekusywnego działania na '/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "Zmienia uprawnienia do każdego PLIKU do UPRAWN.\n" #~ " -f, --silent, --quiet wyłączenie większości komunikatów o błędach\n" #~ " -v, --verbose wypisanie informacji o każdym przetwarzanym " #~ "pliku\n" #~ " --reference=PLIK_WZ użycie uprawnień pliku PLIK_WZ zamiast wartości " #~ "UPRAWN\n" #~ " -R, --recursive zmiany też w plikach w podkatalogach\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "UPRAWNIENIA mają formę `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "nie można łączyć ustawiania uprawnień i opcji --reference" #~ msgid "invalid mode: %s" #~ msgstr "błędne uprawnienia %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "właściciel %s zmieniony na %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "grupa %s zmieniona na %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "nie można zmienić właściciela %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "nie można zmienić właściciela %s na %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "nie udało się zmienić grupy z %s na %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "nie można zmienić właściciela %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "właściciel %s zachowany jako %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "grupa %s zachowana jako %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "właściciel %s zachowany\n" #~ msgid "cannot dereference %s" #~ msgstr "nie można usunąć %s" #~ msgid "changing ownership of %s" #~ msgstr "zmiana właściciela %s" #~ msgid "changing group of %s" #~ msgstr "nie można zmienić grupy %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... [WŁAŚCICIEL][:[GRUPA]] PLIK...\n" #~ " albo: %s [OPCJA]... --reference=PLIK_WZ PLIK...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Zmiana właściciela i/lub grupy każdego PLIKU na WŁAŚCICIELA i/lub GRUPĘ.\n" #~ "Z opcją --reference zmiana właściciela i grupy każdego PLIKU na taką jaką " #~ "ma\n" #~ "PLIK_WZ.\n" #~ "\n" #~ " -c, --changes jak verbose, ale podanie tylko kiedy zaszła " #~ "zmiana\n" #~ " --dereference zmiany mają dotyczyć plików wskazywanych przez\n" #~ " dowiązania symboliczne, a nie samych dowiązań\n" #~ " (domyślnie)\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=BIEŻĄCY_WŁAŚCICIEL:BIEŻĄCA_GRUPA\n" #~ " zmiana właściciela i/lub grupy każdego pliku, " #~ "jeżeli\n" #~ " bieżący właściciel i /lub grupa są takie jak " #~ "podane.\n" #~ " Atrybut nie jest porównywany jeżeli został " #~ "pominięty\n" #~ " w opcji.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet wyłączenie większości komunikatów o błędach\n" #~ " --reference=PLIK_WZ użycie właściciela i grupy PLIK_WZ zamiast " #~ "podanych\n" #~ " wartości WŁAŚCICIEL:GRUPA\n" #~ " -R, --recursive zmiany też w plikach w podkatalogach\n" #~ " -v, --verbose wypisanie informacji o każdym przetwarzanym " #~ "pliku\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Właściciel nie będzie zmieniony, jeżeli nie został podany. Grupa nie " #~ "będzie\n" #~ "zmieniona, jeżeli nie została podana; będzie zmieniona na grupę główną, " #~ "jeżeli\n" #~ "po WŁAŚCICIELU został podany `:'. WŁAŚCICIEL i GRUPA mogą być podane " #~ "zarówno\n" #~ "numerycznie jak symbolicznie.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Przykłady:\n" #~ " %s root /u Zmiana właściciela /u na \"root\".\n" #~ " %s root:staff /u Podobnie, ale również zmiana grupy na \"staff\".\n" #~ " %s -hR root /u Zmiana właściciela /u i zawartości na \"root\".\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s NOWY_ROOT [POLECENIE...]\n" #~ " albo: %s OPCJA\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Uruchomienie polecenia w katalogiem root ustawionym na NOWY_ROOT.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Jeżeli nie jest podane żadne polecenie, uruchamiany jest ``${SHELL} -i''\n" #~ "(domyślnie: /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "nie można zmienić katalogu root na %s" #~ msgid "cannot chdir to root directory" #~ msgstr "nie można przejść do katalogu root" #~ msgid "cannot run command %s" #~ msgstr "nie można uruchomic polecenia %s" #~ msgid "%s: file too long" #~ msgstr "%s: za długi plik" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Składnia: %s [PLIK]...\n" #~ " albo: %s [OPCJA]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "Wypisanie sumy CRC i liczby bajtów każdego PLIKU.\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Składnia: %s [OPCJA]... PLIK1 PLIK2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Porównanie posortowanych plików PLIK1 i PLIK2 linia po linii.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Bez opcji wypisuje wyniki w trzech kolumnach. Pierwsza zawiera linie\n" #~ "występujące tylko w PLIKU1, druga - tylko w PLIKU2, trzecia - występujące " #~ "w\n" #~ "obu plikach.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 bez pokazania linii, które są tylko w PLIKU1\n" #~ " -2 bez pokazania linii, które są tylko w PLIKU2\n" #~ " -3 bez pokazania linii, które są w obu plikach\n" #~ msgid "clearing permissions for %s" #~ msgstr "kasowanie uprawnień dla %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "nie udało się zachować własności %s" #~ msgid "failed to lookup file %s" #~ msgstr "nie udało się znaleźć pliku %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "nie udało się zachować autorstwa %s" #~ msgid "cannot open %s for reading" #~ msgstr "nie można otworzyć %s do czytania" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "plik %s został ominięty, bo został zmieniony w trakcie kopiowania" #~ msgid "failed to get file system create context" #~ msgstr "nie udało się odczytać kontekstu utworzenia systemu plików" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "nie udało się ustawić kontekstu bezpieczeństwa %s jako %s" #~ msgid "cannot remove %s" #~ msgstr "nie można usunąć %s" #~ msgid "removed %s\n" #~ msgstr "usunięty %s\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "" #~ "bez zapisu przez dowiązanie symboliczne %s, które nie wskazuje na " #~ "istniejący plik" #~ msgid "cannot create regular file %s" #~ msgstr "nie można utworzyć zwykłego pliku %s" #~ msgid "cannot lseek %s" #~ msgstr "nie można wykonać lseek na %s" #~ msgid "writing %s" #~ msgstr "zapis %s" #~ msgid "preserving times for %s" #~ msgstr "zachowanie czasu %s" #~ msgid "closing %s" #~ msgstr "zamykanie %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: zamazywanie %s, obejść uprawnienia %04lo (%s)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: zamazać %s? " #~ msgid " (backup: %s)" #~ msgstr " (kopia zapasowa: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "" #~ "nie udało się odtworzyć domyślnego kontekstu bezpieczeństwa tworzenia " #~ "pliku" #~ msgid "omitting directory %s" #~ msgstr "katalog %s został pominięty" #~ msgid "warning: source file %s specified more than once" #~ msgstr "uwaga: plik źródłowy %s pojawił się więcej niż raz" #~ msgid "%s and %s are the same file" #~ msgstr "%s i %s to ten sam plik" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "nie można zamazać nie-katalogu %s katalogiem %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "nie można zamazać właśnie utworzonego %s plikiem %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "nie można zamazać katalogu %s nie-katalogiem" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "nie można przenieść katalogu do nie-katalogu: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "" #~ "utworzenie kopii zapasowej %s zniszczyłoby żródło; %s nie został " #~ "przeniesiony" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "" #~ "utworzenie kopii zapasowej %s zniszczyłoby żródło; %s nie został " #~ "skopiowany" #~ msgid "cannot backup %s" #~ msgstr "nie można utworzyć kopii zapasowej %s" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "" #~ "plik %s nie będzie skopiowany poprzez właśnie utworzone dowiązanie " #~ "symboliczne %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "nie można skopiować katalogu %s do siebie samego %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "nie można utworzyć dowiązania zwykłego %s do katalogu %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "nie można utworzyć dowiązania zwykłego %s do %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "nie można przenieść %s do własnego podkatalogu %s" #~ msgid "cannot move %s to %s" #~ msgstr "nie można przenieść %s do %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "nie udało się przeniesienie między urządzeniami: %s do %s; nie udało się " #~ "usunać pliku docelowego" #~ msgid "failed to set default file creation context to %s" #~ msgstr "nie udało się ustawić domyślnego kontekstu tworzenia pliku %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "nie można skopiować cyklicznego dowiązania symbolicznego %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: można zrobić tylko względne dowiązanie symboliczne w bieżącym katalogu" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "nie można utworzyć dowiązania symbolicznego %s do %s" #~ msgid "cannot create link %s" #~ msgstr "nie można utworzyć dowiązania %s" #~ msgid "cannot create fifo %s" #~ msgstr "nie można utworzyć potoku %s" #~ msgid "cannot create special file %s" #~ msgstr "nie można utworzyć pliku specjalnego %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "nie można przeczytać dowiązania symbolicznego %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "nie można utworzyć dowiązania symbolicznego %s" #~ msgid "%s has unknown file type" #~ msgstr "%s to nieznany typ pliku" #~ msgid "cannot un-backup %s" #~ msgstr "nie można przywrócić kopii zapasowej %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (przywrócenie kopii zapasowej)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... [-T] ŹRÓDŁO CEL\n" #~ " albo: %s [OPCJA]... ŹRÓDŁO... KATALOG\n" #~ " albo: %s [OPCJA]... -t KATALOG ŹRÓDŁO...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Skopiowanie ŹRÓDŁA do CELU lub ŹRÓDŁA/ŹRÓDEŁ do KATALOGU.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Argumenty obowiązkowe dla opcji długich obowiązują również dla krótkich.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive to samo co -dpR\n" #~ " --backup[=TRYB] robienie kopii zapasowej każdego " #~ "istniejącego\n" #~ " pliku docelowego\n" #~ " -b jak --backup, ale bez podawania argumentu\n" #~ " --copy-contents kopiowanie zawartości pliku specjalnego w\n" #~ " przypadku rekursji\n" #~ " -d to samo co --no-dereference --" #~ "preserve=link\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force kasowanie istniejących plików docelowych " #~ "jeżeli\n" #~ " nie dają się otworzyć\n" #~ " -i, --interactive pytanie przed zamazaniem\n" #~ " -H rozwiązywanie dowiązań symbolicznych\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link dowiązania zwykłe zamiast kopiowania\n" #~ " -L, --dereference rozwijanie dowiązań symbolicznych w " #~ "ŹRÓDLE\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference bez rozwijania łącz symbolicznych w " #~ "ŹRÓDLE\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p to samo co --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=LISTA_ATR] zachowanie podanych atrybutów, domyślnie: " #~ "mode\n" #~ " (uprawnienia), ownership (właściciel, " #~ "grupa),\n" #~ " timestamps (czasy); jeżeli możliwe, to\n" #~ " również dodatkowych atrybutów: context, " #~ "links\n" #~ " (dowiązania), all (wszystkie)\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=LISTA_ATR bez zachowania podanych atrybutów\n" #~ " --parents użycie pełnej ścieżki źródłowej KATALOG\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive kopiowanie rekursywnie podkatalogów\n" #~ " --remove-destination usunięcie każdego istniejącego pliku " #~ "docelowego\n" #~ " przed próbą jego otwarcia (por. z --" #~ "force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=GDY sterowanie tworzeniem plików rzadkich\n" #~ " --strip-trailing-slashes skasowanie ewentualnych końcowych " #~ "ukośników z\n" #~ " nazw argumentów ŹRÓDŁOWYCH\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link dowiązywanie symboliczne zamiast " #~ "kopiowania\n" #~ " -S, --suffix=ROZSZERZENIE zmiana domyślnego rozszerz. kopii " #~ "zapasowej\n" #~ " -t, --target-directory=KATALOG skopiowanie wszystkich ŹRÓDEŁ do " #~ "KATALOGU\n" #~ " -T, --no-target-directory traktowanie CELU jak zwykłego pliku\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update kopiowanie tylko plików, dla których " #~ "ŹRÓDŁO\n" #~ " jest nowsze niż CEL albo brakuje CELU\n" #~ " -v, --verbose wyjaśnianie co się dzieje\n" #~ " -x, --one-file-system pozostanie w jednym systemie plików\n" #~ "\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Domyślnie pliki rzadkie są wykrywane prostą heurystyką i odpowiedni\n" #~ "plik CEL jest tworzony też jako rzadki. Takie zachowanie jest wybierane\n" #~ "przez --sparse=auto. Podaj --sparse=always (zawsze) żeby utworzyć " #~ "rzadki\n" #~ "plik CEL zawsze gdy plik ŹRÓDŁOWY zawiera wystarczająco długą sekwencję " #~ "zer.\n" #~ "Użyj --sparse=never (nigdy) żeby zakazać tworzenia plików rzadkich.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Rozszerzenie nazwy kopii zapasowej to `~', jeżeli nie jest ustawione\n" #~ "inaczej przez --suffix albo SIMPLE_BACKUP_SUFFIX. Sterowanie wersjami " #~ "może być\n" #~ "ustawione przez opcję --backup albo przez zmienną środowiska " #~ "VERSION_CONTROL.\n" #~ "Możliwe wartości:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off nigdy nie są tworzone kopie zapasowe (nawet gdy jest " #~ "podana\n" #~ " opcja --backup)\n" #~ " numbered, t tworzenie numerowanych kopii zapasowych\n" #~ " existing, nil numerowane jeżeli takie już istnieją, jeżeli nie - " #~ "proste\n" #~ " simple, never tworzenie zawsze prostych kopii zapasowych\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "W przypadku specjalnym cp robi kopię zapasową ŹRÓDŁA jeżeli są podane\n" #~ "opcje force i backup, a ŹRÓDŁO i CEL są tą samą nazwą istniejącego pliku\n" #~ "zwykłego\n" #~ msgid "failed to preserve times for %s" #~ msgstr "nie udało się zachować czasu %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "nie udało się zachować uprawnień do %s" #~ msgid "cannot make directory %s" #~ msgstr "nie można utworzyć katalogu %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s istnieje, ale nie jest katalogiem" #~ msgid "accessing %s" #~ msgstr "dostęp do %s" #~ msgid "missing file operand" #~ msgstr "brakujący argument plikowy" #~ msgid "missing destination file operand after %s" #~ msgstr "brakujący plik docelowy po %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Nie można używać razem --target-directory (-t) i --no-target-directory (-" #~ "T)" #~ msgid "target %s is not a directory" #~ msgstr "cel %s nie jest katalogiem" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "z opcją --parents cel musi być katalogiem" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "opcja --reply jest przestarzała; używaj -i albo -f" #~ msgid "multiple target directories specified" #~ msgstr "podano wiele katalogów docelowych" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "nie można zrobić dowiązania symbolicznego i zwykłego równocześnie" #~ msgid "backup type" #~ msgstr "rodzaj kopii zapasowej" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "" #~ "nie można zachować kontekstu bezpieczeństwa bez jądra systemu z włączonym " #~ "SELinuksem" #~ msgid "input disappeared" #~ msgstr "dane wejściowe zniknęły" #~ msgid "%s: line number out of range" #~ msgstr "%s: numer linii spoza zakresu" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: numer linii spoza zakresu" #~ msgid " on repetition %s\n" #~ msgstr " przy powtórzeniu %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: nie pasuje" #~ msgid "error in regular expression search" #~ msgstr "błąd szukania wyrażenia regularnego" #~ msgid "write error for %s" #~ msgstr "błąd pisania dla %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: po ograniczniku powinna być liczba całkowita" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: '}' jest wymagany w liczniku powtórzeń" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: między `{' a `}' musi być liczba całkowita" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: brak zamykającego ogranicznika `%c'" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: błędne wyrażenie regularne: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: błędny wzorzec" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: numer linii musi być większy od zera" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "numer linii %s jest mniejszy niż numer linii poprzedzającej, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "uwaga: numer linii %s jest taki sam jak numer linii poprzedzającej" #~ msgid "invalid format width" #~ msgstr "błędna szerokość formatu" #~ msgid "invalid format precision" #~ msgstr "błąd specyfikacja precyzji w formacie" #~ msgid "missing conversion specifier in suffix" #~ msgstr "brak określenia konwersji w rozszerzeniu" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "błędne określenie konwersji w rozszerzeniu: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "błędne określenie konwersji w rozszerzeniu: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "za dużo określeń konwersji %% w rozszerzeniu" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "brak określenia konwersji %% w rozszerzeniu" #~ msgid "%s: invalid number" #~ msgstr "%s: błędna liczba" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Składnia: %s [OPCJA]... PLIK WZORZEC...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Zapisanie kawałków PLIKU oddzielonych przez WZORCE do plików `xx01', " #~ "`xx02',\n" #~ "..., i podanie na standardowym wyjściu liczby bajtów w każdym kawałku.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMAT użycie FORMATU sprintf zamiast %02d\n" #~ " -f, --prefix=PRZEDROSTEK użycie PRZEDROSTKA zamiast `xx'\n" #~ " -k, --keep-files bez kasowania plików wyjściowych w razie " #~ "błędów\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=CYFRY użycie podanej liczby CYFR zamiast dwóch\n" #~ " -s, --quiet, --silent bez podawania liczby bajtów w plikach " #~ "wyjściowych\n" #~ " -z, --elide-empty-files usunięcie pustych plików wyjściowych\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Jeżeli PLIK jest podany jako -, czytane jest standardowe wejście.\n" #~ "Możliwe WZORCE:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " LICZBA_CAŁKOWITA kopiowanie do podanej linii o numerze " #~ "LICZBA_CAŁKOWITA,\n" #~ " oprócz tej linii\n" #~ " /REGEXP/[PRZESUNIĘCIE] kopiowanie do pasującej linii, oprócz tej " #~ "linii\n" #~ " %REGEXP%[PRZESUNIĘCIE] przeskoczenie do pasującej linii, ale bez niej " #~ "samej\n" #~ " {LICZBA_CAŁKOWITA} powtórzenie poprzedniego wzorca podaną liczbę " #~ "razy\n" #~ " {*} powtórzenie poprzedniego wzorca tyle razy ile " #~ "się da\n" #~ "\n" #~ "PRZESUNIĘCIE linii musi się składać z `+' albo `-' oraz liczby " #~ "całkowitej.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "pola i pozycje są numerowane od 1" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Składnia: %s OPCJA... [PLIK]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Wypisywanie wybranych części linii z każdego PLIKU na standardowe " #~ "wyjście.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LISTA wypisanie tylko tych bajtów\n" #~ " -c, --characters=LISTA wypisanie tylko tych znaków\n" #~ " -d, --delimiter=OGRANICZNIK użycie OGRANICZNIKA zamiast TABa jako " #~ "separatora\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LISTA wypisanie tylko tych pól oraz linii, które nie\n" #~ " zawierają znaku ogranicznika, chyba że podana " #~ "jest\n" #~ " opcja -s\n" #~ " -n (ignorowane)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement dopełnienie zbioru wybranych bajtów, znaków " #~ "albo pól\n" #~ " zamiast nich samych\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited bez wypisywania linii nie zawierających " #~ "ogranicznika\n" #~ " --output-delimiter=NAPIS użycie NAPISU jako separatora danych\n" #~ " wyjściowych, domyślnie używany jest " #~ "separator\n" #~ " danych wejściowych\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Użyć można tylko jednej z opcji -b, -c albo -f. Każda LISTA składa się z\n" #~ "jednego zakresu lub wielu zakresów oddzielonych przecinkami. " #~ "Przefiltrowane\n" #~ "dane wejściowe są wypisywane w tym samym porządku, w jakim są czytane i " #~ "są\n" #~ "wypisywane tylko raz.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Każdy zakres to:\n" #~ "\n" #~ " N N-ty bajt, znak lub pole, liczone od 1\n" #~ " N- od N-tego bajtu, znaku lub pola do końca linii\n" #~ " N-M od N-tego do M-tego (włącznie) bajtu, znaku lub pola\n" #~ " -M od pierwszego do M-tego (włącznie) bajtu, znaku lub pola\n" #~ "\n" #~ "Jeżeli PLIK nie jest podany albo podany jako -, czytane jest\n" #~ "standardowe wejście.\n" #~ msgid "invalid byte or field list" #~ msgstr "błędna lista bajtów lub pól" #~ msgid "invalid range with no endpoint: -" #~ msgstr "błędny zakres bez podania końca: -" #~ msgid "invalid decreasing range" #~ msgstr "błędny zakres od większego do mniejszego" #~ msgid "byte offset %s is too large" #~ msgstr "przesunięcie najtowe %s jest za duże" #~ msgid "field number %s is too large" #~ msgstr "numer pola %s jest za duży" #~ msgid "only one type of list may be specified" #~ msgstr "można podać tylko jeden typ listy" #~ msgid "the delimiter must be a single character" #~ msgstr "ogranicznik musi być pojedynczym znakiem" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "musisz podać listę bajtów, znaków albo pól" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "ogranicznik może być podany tylko dla operacji na polach" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "blokowanie wyświetlania linii bez ograniczników jest sensowne\n" #~ "\ttylko dla operacji na polach" #~ msgid "missing list of fields" #~ msgstr "brakująca lista pól" #~ msgid "missing list of positions" #~ msgstr "brakująca lista pozycji" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... [+FORMAT]\n" #~ " albo: %s [-u|--utc|--universal] [MMDDggmm[[CC]RR][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Wypisanie bieżącego czasu w podanym formacie albo ustawienie czasu " #~ "systemowego.\n" #~ " -d, --date=SPECYFIKACJA wypisanie czasu podanego przez SPECYFIKACJĘ, " #~ "nie\n" #~ " bieżącego (now)\n" #~ " -f, --file=PLIKDAT jak --date, dla każdej linii PLIKUDAT\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=PLIK wyświetla czas ostatniej modyfikacji PLIKU\n" #~ " -R, --rfc-822 wypisuje datę i czas zgodnie z RFC 2822\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=CZAS wypisuje data i czas w formacie RFC 3339.\n" #~ " Dla osiągnięcia żądanej dokładności należy\n" #~ " podać CZAS=`date', `seconds' albo `ns'.\n" #~ " Składniki data i czas są oddzielone przez\n" #~ " pojedynczą spację: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=SPECYFIKACJA ustawia czas podany w SPECYFIKACJI\n" #~ " -u, --utc, --universal wyświetla lub ustawia czas uniwersalny\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "FORMAT steruje wyjściem. Jedyna prawidłowa opcja w drugiej formie to\n" #~ "użycie czasu uniwersalnego. Rozpoznawane sekwencje:\n" #~ "\n" #~ " %% znak procenta %\n" #~ " %a lokalny skrót nazwy dnia tygodnia (np. pon)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A lokalna pełna nazwa dnia tygodnia (np. poniedziałek)\n" #~ " %b lokalny skrót nazwy miesiąca (np. sty)\n" #~ " %B lokalna pełna nazwa miesiąca (np. styczeń)\n" #~ " %c lokalna data i czas (np. czw mar 03 23:05:25 MEST 2005)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C stulecie; jak %Y, ale bez dwóch ostantich cyfr (np. 21)\n" #~ " %d dzień miesiąca (np. 01)\n" #~ " %D data; to samo co %m/%d/%y\n" #~ " %e dzień miesiąca uzupełniony spacjami; to samo co %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F pałna data; to samo co %Y-%m-%d\n" #~ " %g dwie ostatnie cyfry roku odpowiadające numerowi tygodnia ISO " #~ "(zobacz\n" #~ " %G)\n" #~ " %G rok odpowiadający numerowi tygodnia ISO (zob. %V); zwykle " #~ "użyteczne\n" #~ " tylko z %V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h to samo co %b\n" #~ " %H godzina (00...23)\n" #~ " %I godzina (01...12)\n" #~ " %j dzień roku (001...366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k godzina ( 0...23)\n" #~ " %l godzina ( 1...12)\n" #~ " %m miesiąc (01...12)\n" #~ " %M minuta (00...59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n znak nowej linii\n" #~ " %N nanosekundy (000000000..999999999)\n" #~ " %p lokalny odpowiednik AM lub PM; pusty jeżlei nieznany\n" #~ " %P jak %p, ale małymi literami\n" #~ " %r czas w formacie 12-godzinnym (np. 11:11:04 PM)\n" #~ " %R czas w formacie 24-godzinnym; to samo co %H:%M\n" #~ " %s liczba sekund od godz. 00:00:00, 1 stycznia 1970 UTC\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S sekunda (00...60)\n" #~ " %t tabulator poziomy\n" #~ " %T czas; to samo co %H:%M:%S\n" #~ " %u dzień tygodnia (1..7); 1 to poniedziałek\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U numer tygodnia w roku, niedziela zaczyna tydzień (00...53)\n" #~ " %V numer tygodnia ISO, poniedziałek zaczyna tydzień (01...53)\n" #~ " %w numer dnia tygodnia (0...6), 0 oznacza niedzielę\n" #~ " %W numer tygodnia w roku, poniedziałek zaczyna tydzień (00...53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x lokalna reprezentacja daty (np. 12/31/99)\n" #~ " %X lokalna reprezentacja czasu (np. 21:13:48)\n" #~ " %y dwie ostatnie cyfry roku (00...99)\n" #~ " %Y rok\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z strefa czasowa liczbowo +hhmm (np. -0400)\n" #~ " %:z strefa czasowa liczbowo +hh:mm (np. -04:00)\n" #~ " %::z strefa czasowa liczbowo +hh:mm:ss (np. -04:00:00)\n" #~ " %:::z strefa czasowa liczbowo z : dla sprecyzowania dokładności (np. -" #~ "04,\n" #~ " +05:30)\n" #~ " %Z literowy skrót strefy czasowej (np. EDT)\n" #~ "\n" #~ "Domyślnie numeryczne pola daty są dopełniane zerami.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Następujące opcjonalne flagi mogą być podane po `%':\n" #~ "\n" #~ " - (myślnik) bez dopełniania\n" #~ " _ (podkreślenie) dopełnienie odstępami\n" #~ " 0 (zero) dopełnienie zerami\n" #~ " ^ używanie wielkich liter jeżeli to możliwe\n" #~ " # użycie małych liter zamiast wielkich i odwotnie, jeżeli to możliwe\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Po dowolnej fladze może opcjonalnie wystąpić szerokość pola w postaci " #~ "liczby\n" #~ "dziesiętnej, potem opcjonalny modyfikator:\n" #~ "E - żeby użyć alternatywnej reprezentacji lokalnej albo\n" #~ "O - żeby użyć alternatywnych symboli numerycznych, jeżeli są dostepne\n" #~ msgid "multiple output formats specified" #~ msgstr "podano wiele formatów wyjściowych" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "opcje specyfikujące daty do wyświetlenia wzajemnie się wykluczają" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "opcje wyświetlające i ustawiające czas nie mogą być używane razem" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "brak znaku `+' na początku argumentu %s;\n" #~ "Jeśli użyto opcji określających datę/y, każdy argument nie będący\n" #~ "opcją musi być łańcuchem formatującym i zaczynać się od `+'" #~ msgid "cannot set date" #~ msgstr "ustawienie daty niemożliwe" #~ msgid "time %s is out of range" #~ msgstr "czas %s jest spoza zakresu" #~ msgid "Filesystem Type" #~ msgstr "System plików Typ" #~ msgid "Filesystem " #~ msgstr "System plików " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " iwęzły użyteI wolneI %%uż.I" #~ msgid " Size Used Avail Use%%" #~ msgstr " rozm. użyte dost. %%uż." #~ msgid " Size Used Avail Use%%" #~ msgstr " rozm. użyte dost. %%uż." #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " bl.%s-B użyte dostępne pojemność" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " bl.%4s B użyte dostępne %%uż." #~ msgid " Mounted on\n" #~ msgstr " zamont. na\n" #~ msgid "cannot get current directory" #~ msgstr "nie można odczytać bieżącego katalogu" #~ msgid "cannot change to directory %s" #~ msgstr "nie można przejść do katalogu %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "nie można odczytać danych bieżącego katalogu (obecnie %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Składnia: %s [OPCJA]... [PLIK]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Pokazuje informacje o systemie plików, w którym jest każdy z PLIKÓW, " #~ "domyślnie\n" #~ "o wszystkich systemach plików.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all pokazanie specjalnych systemów plików\n" #~ " -B, --block-size=ROZMIAR użycie bloków o podanym ROZMIARZE w bajtach\n" #~ " -h, --human-readable rozmiary w formacie czytelnym dla ludzi (np. 1K " #~ "234M 2G)\n" #~ " -H, --si podobnie, ale z użyciem potęg 1000, nie 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes wypisanie informacji o i-węzłach zamiast o " #~ "blokach\n" #~ " -k jak --block-size=1K\n" #~ " -l, --local ograniczenie spisu do lokalnych systemów plików\n" #~ " --no-sync bez wywołania sync przed pobraniem informacji o\n" #~ " systemach plików (domyślnie)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability użycie formatu zgodnego z POSIX-em\n" #~ " --sync wywołanie sync przed pobraniem informacji\n" #~ " -t, --type=TYP pokazanie tylko systemów plików tego TYPU\n" #~ " -T, --print-type wypisanie typów systemów plików\n" #~ " -x, --exclude-type=TYP pokazanie tylko systemów plików nie tego TYPU\n" #~ " -v (ignorowane)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "ROZMIAR może być podany jako (opcjonalnie jako liczba całkowita z\n" #~ "przyrostkiem): kB 1000, K 1024, MB 1000*1000, M 1024*1024 itd. dla G, T, " #~ "P,\n" #~ "E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "typ systemu plików %s równocześnie wybrany i wykluczony" #~ msgid "Warning: " #~ msgstr "Uwaga: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "nie można przeczytać tablicy zamontowanych systemów plików" #~ msgid "no file systems processed" #~ msgstr "nie zostały przetworzone żadne systemy plików" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Składnia: %s [OPCJA]... [PLIK]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Wypisanie poleceń ustawiających zmienną środowiskową LS_COLORS.\n" #~ "\n" #~ "Ustalenie formatu:\n" #~ " -b, --sh, --bourne-shell w kodzie powłoki Bourne'a\n" #~ " -c, --csh, --c-shell w kodzie powłoki C\n" #~ " -p, --print-database wypisanie wartości domyślnych\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Jeżeli jest podany PLIK, jest czytany dla określenia jakie kolory są " #~ "użyte\n" #~ "z jakimi rozszerzeniami. W przeciwnym wypadku użyta jest wkompilowana " #~ "baza\n" #~ "danych. Szczegóły formatu tych plików można zobaczyć przez\n" #~ "`dircolors --print-database'.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: błędna linia, brakuje drugiego słowa" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: nierozpoznane słowo kluczowe %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "opcje włączające wyświetlanie wewnętrznej bazy dircolors i wybranie " #~ "składni\n" #~ "powłoki wykluczają się wzajemnie" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "" #~ "Argumenty plikowe nie mogą być użyte razem z opcją --print-database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "Brak zmiennej środowiskowej SHELL i opcji typu powłoki" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s NAZWA\n" #~ " albo: %s OPCJA\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Wyświetlenie NAZWY bez ostatniego /składnika; jeśli NAZWA nie zawiera " #~ "znaków\n" #~ "`/', wyświetla `.' (co oznacza katalog bieżący).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Przykłady:\n" #~ " %s /usr/bin/sort Wynik: \"/usr/bin\".\n" #~ " %s stdio.h Wynik: \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... [PLIK]...\n" #~ " albo: %s [OPCJA]... --files0-from=P\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Podsumowuje zajętość dysku przez każdy PLIK, rekursywnie dla katalogów.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all podanie podliczenia dla plików, nie samych " #~ "katalogów\n" #~ " --apparent-size podanie rozmiarów pozornych zamiast zużycia " #~ "dysku;\n" #~ " chociaż rozmiar pozorny jest zwykle mniejszy, " #~ "może\n" #~ " być też większy z powodu dziur (plików rzadkich " #~ "-\n" #~ " sparse), wewnętrznej fragmentacji, bloków " #~ "pośrednich\n" #~ " itp.\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=ROZM użycie bloków o podanym ROZMIARZE w bajtach\n" #~ " -b, --bytes równoważne `--apparent-size --block-size=1'\n" #~ " -c, --total wypisanie podsumowania całości\n" #~ " -D, --dereference-args rozwijanie dowiązań symbolicznych podanych " #~ "jako\n" #~ " argumenty\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F podsumowanie zajętości dysku przez pliki podane " #~ "w\n" #~ " pliku F (nazwy zakończone przez NUL)\n" #~ " -H to samo co --si, ale wypisuje ostrzeżenie; " #~ "znaczenie\n" #~ " będzie niedługo zmienione na równoważne\n" #~ " --dereference-args (-D)\n" #~ " -h, --human-readable rozmiary w formacie czytelnym dla ludzi (np. 1K " #~ "234M\n" #~ " 2G)\n" #~ " --si podobnie, ale z użyciem potęg 1000, nie 1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k, --kilobytes to samo co --block-size=1K\n" #~ " -l, --count-links liczenie rozmiaru wielokrotnie jeżeli plik ma\n" #~ " dowiązania zwykłe\n" #~ " -m jak dla --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference rozwinięcie wszystkich dowiązań symbolicznych\n" #~ " -P, --no-dereference bez rozwijania dowiązań symbolicznych " #~ "(domyślnie)\n" #~ " -0, --null po każdej linii znak 0 zamiast znaku nowej linii\n" #~ " -S, --separate-dirs bez uwzględniania rozmiarów podkatalogów\n" #~ " -s, --summarize wypisanie tylko podsumowań dla każdego argumentu\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system ominięcie katalogów będących w innych systemach " #~ "plików\n" #~ " -X PLIK, --exclude-from=PLIK pominięcie plików pasujących do wzorców w " #~ "PLIKU\n" #~ " --exclude=WZÓR pominięcie plików pasujących do WZORU\n" #~ " --max-depth=N wypisanie podsumowania dla katalogu (lub pliku -\n" #~ " z --all) tylko jeżeli jest N lub mniej " #~ "poziomów\n" #~ " poniżej podanego jako argument komendy;\n" #~ " --max-depth=0 jest tym samym co -summarize\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time pokazanie czasu ostatniej modyfikacji dowolnego " #~ "pliku\n" #~ " w katalogu albo dowolnego podkatalogu tego " #~ "katalogu\n" #~ " --time=SŁOWO zamiast czasu modyfikacji pokazuje czas wg " #~ "SŁOWA:\n" #~ " atime, access, use, ctime albo status\n" #~ " --time-style=STYL pokazanie czasu w STYLU:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT jest interpretowany jak dla `date'\n" #~ msgid "total" #~ msgstr "razem" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "UWAGA: używaj --si zamiast -H; znaczenie opcji -H niedługo zmieni się " #~ "na\n" #~ "odpowiednik opcji --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "błędny maksymalny poziom zagłębienia %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "opcja --megabytes jest przestarzała; używaj -m" #~ msgid "cannot both summarize and show all entries" #~ msgstr "nie można równocześnie tylko podsumować i wypisać wszystkich danych" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "uwaga: --summarize jest tym samym co --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "uwaga: --summarize nie może być użyte razem z --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "" #~ "Nie można podawać argumentów plikowych i opcji --files0-from równocześnie." #~ msgid "cannot read file names from %s" #~ msgstr "nie można wczytać nazw plików z %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "przy czytaniu nazw na wejściu plik nie może mieć nazwy %s" #~ msgid "invalid zero-length file name" #~ msgstr "błędna nazwa pliku o zerowej długości" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Składnia: %s [OPCJA]... [NAPIS]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Powtórzenie NAPISU na standardowym wyjściu.\n" #~ "\n" #~ " -n bez powtarzania końcowego znaku nowej linii\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e włączenie interpretacji sekwencji z ukośnikiem " #~ "odwrotnym\n" #~ " (domyślnie)\n" #~ " -E wyłączenie interpretacji sekwencji z ukośnikiem " #~ "odwrotnym\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Jeśli działa opcja -e, są rozpoznawane i interpretowane poniższe " #~ "sekwencje:\n" #~ "\n" #~ " \\0NNN znak o kodzie ASCII wynoszącym NNN (ósemkowo)\n" #~ " \\\\ ukośnik odwrotny (ang. backslash)\n" #~ " \\a dzwonek (BEL)\n" #~ " \\b znak cofania (ang. backspace)\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c bez wyświetlania znaku nowej linii\n" #~ " \\f wysunięcie strony\n" #~ " \\n znak nowej linii\n" #~ " \\r znak powrotu karetki (CR)\n" #~ " \\t tabulator poziomy\n" #~ " \\v tabulator pionowy\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... [-] [NAZWA=WARTOŚĆ]... [POLECENIE [ARGUMENT]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Ustawienie każdej zmiennej środowiskowej NAZWA wartości WARTOŚĆ i " #~ "wykonanie\n" #~ "POLECENIA.\n" #~ "\n" #~ " -i, --ignore-environment zaczęcie z pustym środowiskiem\n" #~ " -u, --unset=NAZWA usunięcie zmiennej ze środowiska\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Argument - implikuje -i. Jeśli nie podano POLECENIA, wyświetla otrzymane " #~ "środowisko.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Zamiana TAB-ów we wszystkich PLIKACH na spacje, wynik na standardowym " #~ "wyjściu.\n" #~ "Jeżeli PLIK nie jest podany albo podany jako -, czytane jest " #~ "standardowe\n" #~ "wejście.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial bez zamiany znaków tabulacji po znaku innym niż " #~ "odstęp\n" #~ " -t, --tabs=ILE użycie znaków tabulacji co ILE znaków, nie co 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LISTA użycie listy pozycji TABów oddzielanych " #~ "przecinkami\n" #~ msgid "tab stop is too large %s" #~ msgstr "pozycja TABa %s jest za duża" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "rozmiar TABa zawiera błędny znak(i): %s" #~ msgid "tab size cannot be 0" #~ msgstr "rozmiar TABa nie może wynosić 0" # sizes or positions? - rzm #~ msgid "tab sizes must be ascending" #~ msgstr "kolejne pozycje TABa muszą rosnąć" #~ msgid "input line is too long" #~ msgstr "za długa linia wejściowa" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s WYRAŻENIE\n" #~ " albo: %s OPCJA\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Wypisanie wartości WYRAŻENIA na standardowym wyjściu. Puste linie " #~ "poniżej\n" #~ "rozdzielają grupy o wzrastającym pierwszeństwie. WYRAŻENIE ma postać:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 jeśli nie jest pusty ani równy 0, inaczej ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 jeśli żaden argument nie jest pusty ani 0, " #~ "inaczej 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 jest mniejszy od ARG2\n" #~ " ARG1 <= ARG2 ARG1 jest mniejszy lub równy ARG2\n" #~ " ARG1 = ARG2 ARG1 jest równy ARG2\n" #~ " ARG1 != ARG2 ARG1 nie jest równy ARG2\n" #~ " ARG1 >= ARG2 ARG1 jest większy lub równy ARG2\n" #~ " ARG1 > ARG2 ARG1 jest większy od ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 arytmetyczna suma ARG1 i ARG2\n" #~ " ARG1 - ARG2 arytmetyczna różnica ARG1 i ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 arytmetyczny iloczyn ARG1 i ARG2\n" #~ " ARG1 / ARG2 arytmetyczny iloraz ARG1 przez ARG2\n" #~ " ARG1 % ARG2 arytmetyczna reszta z dzielenia ARG1 przez ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " NAPIS : WYR_REG dopasowanie wyrażenia regularnego WYR_REG do NAPISU\n" #~ "\n" #~ " match NAPIS WYR_REG tak jak NAPIS : WYR_REG\n" #~ " substr NAPIS POZ DŁUGOŚĆ część NAPISU od POZYCJI liczonej od 1\n" #~ " index NAPIS ZNAKI\t położenie jednego ze ZNAKÓW w NAPISIE, lub " #~ "0\n" #~ " length NAPIS długość NAPISU\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + SŁOWO SŁOWO interpretowane jako łańcuch znaków,\n" #~ " nawet jeżeli jest to słowo kluczowe, jak\n" #~ " `match' albo operator jak '/'\n" #~ "\n" #~ " ( WYRAŻENIE ) wartość WYRAŻENIA\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Większość operatorów musi być chroniona przed interpretacją przez " #~ "powłokę\n" #~ "znakiem `\\' lub cudzysłowami. Porównania są arytmetyczne, jeśli obydwa\n" #~ "ARGUMENTY są liczbami, w przeciwnym wypadku - leksykograficzne.\n" #~ "Dopasowania zwracają łańcuch zgodny ze wzorcem zawartym pomiędzy \\( i " #~ "\\)\n" #~ "lub 0; jeśli \\( i \\) nie zostały użyte, dopasowanie zwraca liczbę " #~ "zgodnych\n" #~ "znaków lub 0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Status wyjściowy jest zerem jeżeli WYRAŻENIE nie ma wartości null ani 0, " #~ "1 -\n" #~ "jeżeli WYRAŻENIE ma wartośc null albo 0, 2 - jeżeli WYRAŻENIE ma błąd " #~ "składni,\n" #~ "3 - jeżeli został wykryty inny błąd\n" #~ msgid "syntax error" #~ msgstr "błąd składni" #~ msgid "error in regular expression matcher" #~ msgstr "błąd procedury dopasowywania wyrażeń regularnych" #~ msgid "non-numeric argument" #~ msgstr "argument nieliczbowy" #~ msgid "division by zero" #~ msgstr "dzielenie przez zero" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s [LICZBA]...\n" #~ " albo: %s OPCJA\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Rozkłada każdą z LICZB na czynniki pierwsze.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Wypisuje rozkład każdej z podanych LICZB całkowitych na czynniki " #~ "pierwsze.\n" #~ "Jeżeli argumenty nie są podane, czyta je ze standardowego wejścia.\n" #~ msgid "%s is too large" #~ msgstr "%s jest za duża" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s nie jest poprawną dodatnią liczbą całkowitą" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Składnia: %s [-CYFRY] [OPCJA]... [PLIK]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Przeformatowanie akapitów w PLIKU(ACH), wynik na standardowym wyjściu.\n" #~ "Jeżeli PLIK nie jest podany albo podany jest jako `-', czytane jest\n" #~ "standardowe wejście.\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin zachowanie wcięć w pierwszych dwóch liniach\n" #~ " -p, --prefix=ZNAKI przeformatowanie tylko linii mających " #~ "przedrostek\n" #~ " ZNAKI, dołączenie ZNAKÓW do przeformatowych " #~ "linii\n" #~ " -s, --split-only podzielenie długich linii, ale bez " #~ "wyrównania\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph wcięcie pierwszej linii inne niż drugiej\n" #~ " -u, --uniform-spacing jedna spacja między słowami, dwie między " #~ "zdaniami\n" #~ " -w, --width=ILE maksymalna szerokość linii (domyślnie 75 " #~ "kolumn)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "błędna opcja -- %c; opcja -WIDTH jest rozpoznawana tylko jako pierwsza, " #~ "użyj\n" #~ "-w N zamiast" #~ msgid "invalid width: %s" #~ msgstr "błędna szerokość: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Łamanie linii w każdym PLIKU wejściowym (domyślnie standardowym " #~ "wejściu),\n" #~ "wynik na standardowym wyjściu.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes liczenie bajtów zamiast kolumn\n" #~ " -s, --spaces łamanie na spacjach\n" #~ " -w, --width=SZER użycie SZER kolumn zamiast 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "błędna liczba kolumn: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "nie udało się odczytać grupy użytkownika %s" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "nie udało się odczytać grupy użytkownika %s" #~ msgid "cannot find name for group ID %lu" #~ msgstr "nie można znaleźć nazwy grupy o ID %lu" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Składnia: %s [OPCJA]... [UŻYTKOWNIK]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Nie ma takiego użytkownika" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Wypisanie 10 pierwszych linii każdego PLIKU na standardowym wyjściu.\n" #~ "Dla większej liczby PLIKÓW każdy kawałek ma nagłówek z nazwą.\n" #~ "Jeżeli PLIK nie jest podany albo podany jest jako -, czytane jest\n" #~ "standardowe wejście.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]ILE wypisanie pierwszych ILE bajtów z każdego " #~ "pliku;\n" #~ " z `-' - wypisanie wszystkich oprócz " #~ "ostatnich ILE\n" #~ " bajtów każdego pliku\n" #~ " -n, --lines=[-]ILE wypisanie pierwszych ILE linii zamiast 10\n" #~ " z `-' - wypisanie wszystkich oprócz " #~ "ostatnich ILE\n" #~ " linii każdego pliku\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent bez wypisywania nagłówków z nazwami plików\n" #~ " -v, --verbose zawsze wypisywane są nagłówki z nazwami " #~ "plików\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "N może mieć następujące przyrostki mnożące:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, itd. dla T, P, E, Z, Y.\n" #~ msgid "error reading %s" #~ msgstr "błąd czytania %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: plik się za bardzo zmniejszył" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: ilość bajtów jest za duża" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: nie można ustawić pozycji wyjściowej" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: nie można ustawić pozycji %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "nie można zmienić pozycji w pliku %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s jest tak duża, że nie może zostać wyrażona" #~ msgid "number of lines" #~ msgstr "liczba linii" #~ msgid "number of bytes" #~ msgstr "liczba bajtów" #~ msgid "invalid number of lines" #~ msgstr "błędna liczba linii" #~ msgid "invalid number of bytes" #~ msgstr "błędna liczba bajtów" #~ msgid "invalid trailing option -- %c" #~ msgstr "błędna opcja na końcu -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Składnia: %s\n" #~ " albo: %s OPCJA\n" #~ "Wyświetla numeryczny, szesnastkowy identyfikator tego systemu.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Składnia: %s [NAZWA]\n" #~ " albo: %s OPCJA\n" #~ "Wyświetlenie lub ustawienie nazwy tego systemu.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "nie można ustawić nazwy systemu jako %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "ustawienie nazwy systemu jest niemożliwe; ten system nie ma takiej " #~ "możliwości" #~ msgid "cannot determine hostname" #~ msgstr "uzyskanie nazwy systemu jest niemożliwe" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Wyświetla informację o UŻYTKOWNIKU lub o aktualnym użytkowniku.\n" #~ "\n" #~ " -a ignorowane, dla zachowania kompatybilności z innymi " #~ "wersjami\n" #~ " -Z, --context wypisanie tylko kontekstu bezpieczeństwa bieżącego " #~ "użytkownika\n" #~ " -g, --group wypisanie tylko efektywnego identyfikatora grupy\n" #~ " -G, --groups wypisanie pełnej listy grup\n" #~ " -n, --name wypisanie nazw zamiast numerów, dla -ugG\n" #~ " -r, --real wypisanie rzeczywistego ID zamiast efektywnego, dla -" #~ "ugG\n" #~ " -u, --user wypisanie tylko efektywnego identyfikatora użytkownika\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Bez żadnych OPCJI wyświetla zestaw użytecznych informacji, które udało " #~ "się\n" #~ "zidentyfikować.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "" #~ "opcja --context (-Z) działa tylko z jądrem systemu z włączonym SELinuksem." #~ msgid "cannot print security context when user specified" #~ msgstr "" #~ "nie można wypisać kontekstu bezpieczeństwa gdy został podany użytkownik" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "nie można wypisać kontekstu bezpieczeństwa jeżeli nie jest włączony " #~ "SELinux\n" #~ "albo przy wypisywaniu identyfikatora innego użytkownika" #~ msgid "can't get process context" #~ msgstr "nie można odczytać kontekstu bezpieczeństwa procesu" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "wybrano więcej niż jedną z wyłączających się opcji" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "nie da się wypisać tylko nazw lub rzeczywistych ID w domyślnym formacie" #~ msgid "cannot find name for user ID %lu" #~ msgstr "nie można znaleźć nazwy użytkownika o ID %lu" #~ msgid " groups=" #~ msgstr " grupy=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "uwaga: %s: nie udało się zmienić kontekstu na %s" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Uwaga: zignorowana opcja --preserve-context, to jądro nie ma włączonego " #~ "SELinuksa." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "" #~ "Uwaga: zignorowana opcja --context (-Z), to jądro nie ma włączonego " #~ "SELinuksa." #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "" #~ "opcja obcinania (strip) nie może być użyta przy instalowaniu katalogu" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "katalog docelowy nie może być podany przy instalowaniu katalogu" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "" #~ "nie można wymusić ustawienia kontekstu pliku docelowego na %s i go " #~ "zachować" #~ msgid "invalid mode %s" #~ msgstr "błędne uprawnienia %s" #~ msgid "cannot change ownership of %s" #~ msgstr "nie można zmienić właściciela na %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "nie można ustawić czasów %s" #~ msgid "fork system call failed" #~ msgstr "nie powiiodło się wywołanie systemowe fork" #~ msgid "cannot run strip" #~ msgstr "nie udało się uruchomić programu strip" #~ msgid "waiting for strip" #~ msgstr "czekanie na program strip" #~ msgid "strip process terminated abnormally" #~ msgstr "program strip zakończony nieprawidłowo" #~ msgid "invalid user %s" #~ msgstr "błędny użytkownik %s" #~ msgid "invalid group %s" #~ msgstr "błędna grupa %s" #~ msgid "creating directory %s" #~ msgstr "tworzenie katalogu %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... -T ŹRÓDŁO CEL\n" #~ " albo: %s [OPCJA]... ŹRÓDŁO... KATALOG\n" #~ " albo: %s [OPCJA]... -t KATALOG ŹRóDŁO...\n" #~ " albo: %s [OPCJA]... -d KATALOG...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "W pierwszych trzech formatach kopiowane jest ŹRÓDŁO do CELU lub wiele " #~ "ŹRÓDEŁ\n" #~ "do istniejącego KATALOGU i ustawiane są uprawnienia oraz właściciel/" #~ "grupa. W\n" #~ "czwartym formacie tworzone są wszystkie katalogi składowe podanej " #~ "ścieżki\n" #~ "KATALOG(ÓW).\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=TRYB] robienie kopii zapasowej przed zamazaniem pliku\n" #~ " -b jak --backup, ale bez podawania argumentu\n" #~ " -c (ignorowane)\n" #~ " -d, --directory traktowanie wszystkich argumentów jako nazw " #~ "katalogów;\n" #~ " tworzenie katalogów składowych podanych " #~ "katalogów\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D tworzenie wszystkich części składowych CELU, " #~ "oprócz\n" #~ " ostatniej, potem skopiowanie ŹRÓDŁA do CELU\n" #~ " -g, --group=GRUPA ustawienie GRUPY zamiast bieżącej grupy\n" #~ " -m, --mode=UPRAWNIENIA ustawienie UPRAWNIEŃ (jak w chmod) zamiast " #~ "rwxr-xr-x\n" #~ " -o, --owner=WŁAŚCICIEL ustawienie WŁAŚCICIELA (tylko super-user)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps ustawienie plikom docelowym czasów dostępu " #~ "i\n" #~ " modyfikacji, jak w odpowiednich plikach " #~ "ŹRÓDŁOWYCH\n" #~ " -s, --strip skasowanie tablicy symboli, tylko w 1 i 2 formacie\n" #~ " -S, --suffix=ROZSZERZ zmiana domyślnego ROZSZERZENIA kopii zapasowej\n" #~ " -v, --verbose wypisanie nazwy każdego tworzonego katalogu\n" #~ " -t, --target-directory=KATALOG skopiowanie wszystkich ŹRÓDEŁ do " #~ "KATALOGU\n" #~ " -T, --no-target-directory traktowanie CELU jak zwykłego pliku\n" #~ " -v, --verbose wypisanie nazwy każdego tworzonego katalogu\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context zachowanie kontekstu bezpieczeństwa SELinux\n" #~ " -Z, --context=KONTEKST ustawienie kontekstu bezpieczeństwa SELinux " #~ "dla\n" #~ " plików i katalogów\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Rozszerzenie nazwy kopii zapasowej to `~', jeżeli nie jest ustawione\n" #~ "inaczej przez --suffix albo SIMPLE_BACKUP_SUFFIX. Traktowanie wersji może " #~ "być\n" #~ "ustawione przez opcję --backup albo przez zmienną środowiska " #~ "VERSION_CONTROL.\n" #~ "Możliwe wartości:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Dla każdej pary linii z identycznymi polami łączącymi wypisywana jest " #~ "linia\n" #~ "na standardowym wyjściu. Domyślnie pole łączące jest pierwsze i " #~ "oddzielone\n" #~ "odstępem. Gdy PLIK1 albo PLIK2 (nie oba) to -, czytane jest standardowe\n" #~ "wejście.\n" #~ "\n" #~ " -a NUMER wypisanie linii nie do pary z pliku NUMER, gdzie " #~ "numer to\n" #~ " 1 albo 2, odpowiadający PLIKOWI1 albi PLIKOWI2\n" #~ " -e PUSTE zamiana brakujących pól na wejściu na PUSTE\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case porównując pola ignoruje różnice między małymi i " #~ "wielkimi\n" #~ " literami\n" #~ " -j POLE równoważne `-j 1 POLE -j 2 POLE'\n" #~ " -o FORMAT zachowanie FORMATU przy tworzeniu linii wyjściowej\n" #~ " -t ZNAK użycie ZNAKU jako separatora pól linii wej. i wyj.\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v NUMER jak -a NUMER, ale bez wypisania połączonych linii " #~ "wyjśc.\n" #~ " -1 POLE połączenie plików na tym POLU pliku 1\n" #~ " -2 POLE połączenie plików na tym POLU pliku 2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Jeżeli nie jest podana opcja -t ZNAK, spacje na początku linii " #~ "oddzielają\n" #~ "pola i są ignorowane, w przeciwnym wypadku pola są oddzielane przez\n" #~ "ZNAK. POLE jest numerem pola liczonym od 1. FORMAT to jedna lub więcej\n" #~ "specyfikacji oddzielonych przecinkami lub odstępami, każda w postaci\n" #~ "`NUMER.POLE' albo `0'. Domyślny format wypisuje pole łączące, pozostałe\n" #~ "pola z PLIKU1 i pozostałe pola z PLIKU2, wszystkie oddzielone ZNAKIEM.\n" #~ "\n" #~ "Uwaga: PLIK1 i PLIK2 musza byc posortowane po polu łączącym.\n" #~ "Np. dla `join-a' bez opcji użyj `sort -k 1b,1'.\n" #~ msgid "invalid field number: %s" #~ msgstr "błędny numer pola: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "błędna specyfikacja pola: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "błędny numer pliku w specyfikacji pola: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "niekompatybilne pola łączenia %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "konflikt łańcuchów zastępujących puste pola" #~ msgid "empty tab" #~ msgstr "pusty TAB" #~ msgid "multi-character tab %s" #~ msgstr "wieloznakowy TAB %s" #~ msgid "incompatible tabs" #~ msgstr "niekompatybilne TABy" #~ msgid "both files cannot be standard input" #~ msgstr "oba pliki nie mogą być standardowym wejściem" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Składnia: %s [-s SYGNAŁ | -SYGNAŁ] PID...\n" #~ " albo: %s -l [SYGNAŁ]...\n" #~ " albo: %s -t [SYGNAŁ]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Wysyła sygnały do procesów albo pokazuje listę sygnałów.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SYGNAŁ, -SYGNAŁ\n" #~ " nazwa albo numer SYGNAŁU do wysłania\n" #~ " -l, --list lista nazw sygnałów albo konwersja nazw na/z numery\n" #~ " -t, --table tablica informacji o sygnałach\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SYGNAŁ może być podany przez nazwę jak `HUP' albo numer jak `1' albo " #~ "jako\n" #~ "status wyjściowy procesu zakończonego przez sygnał.\n" #~ "PID jest liczbą całkowitą, jeżeli ujemną, to oznacza grupę procesów.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: błędny sygnał" #~ msgid "%s: invalid process id" #~ msgstr "%s: błędny identyfikator procesu" #~ msgid "invalid option -- %c" #~ msgstr "błędna opcja -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: podano wiele sygnałów" #~ msgid "multiple -l or -t options specified" #~ msgstr "podano wiele opcji -l lub -t" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "nie można podać sygnału równocześnie z opcjami -l lub -t" #~ msgid "no process ID specified" #~ msgstr "brak identyfikatora procesu" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s PLIK1 PLIK2\n" #~ " albo: %s OPCJA\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Użycie funkcji link do utworzenia dowiązania o nazwie PLIK2 do " #~ "istniejącego PLIKU1.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "nie można utworzyć dowiązania %s do %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: uwaga: zrobienie zwykłego dowiązania do symbolicznego nie jest " #~ "przenośne" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: nie można zrobić dowiązania zwykłego do katalogu" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: nie można zamazać katalogu" #~ msgid "%s: replace %s? " #~ msgstr "%s: zastąpić %s? " #~ msgid "creating symbolic link %s" #~ msgstr "tworzenie dowiązania symbolicznego %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "tworzenie dowiązania symbolicznego %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "tworzenie dowiązania zwykłego %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "tworzenie dowiązania zwykłego %s" #~ msgid "creating hard link %s => %s" #~ msgstr "tworzenie dowiązania zwykłego %s => %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... [-T] CEL NAZ_DOWIĄZ (format 1-szy)\n" #~ " albo: %s [OPCJA]... CEL (format 2-gi)\n" #~ " albo: %s [OPCJA]... ŹRÓDŁO... KATALOG (format 3-ci)\n" #~ " albo: %s [OPCJA]... -t KATALOG... CEL... (format 4-ty)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "W 1-szej formie - utworzenie dowiązania do CELU z nazwą " #~ "NAZWA_DOWIĄZANIA.\n" #~ "W 2-giej formie - utworzenie dowiązania do CELU w bieżącym katalogu.\n" #~ "W 3-ciej i 4-tej formie - utworzenie łącza do każdego CELU w KATALOGU.\n" #~ "Domyślnie tworzone są zwykłe dowiązania, symboliczne gdy jest użyta " #~ "opcja\n" #~ "--symbolic. Przy tworzeniu zwykłych dowiązań każdy CEL musi istnieć.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=TRYB] zrobienie kopii zapasowej przed " #~ "skasowaniem\n" #~ " -b jak --backup, ale bez argumentu\n" #~ " -d, -F, --directory administrator może robić dowiązania zwykłe " #~ "do\n" #~ " katalogów (uwaga: prawdopodobnie bez\n" #~ " powodzenia ze względu na ograniczenia\n" #~ " systemowe obowiązujące nawet " #~ "administratora)\n" #~ " -f, --force skasowanie istniejących CELÓW bez pytania\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference jeżeli CEL jest dowiązaniem symbolicznym " #~ "do\n" #~ " katalogu, traktowany jest jak zwykły " #~ "plik\n" #~ " -i, --interactive program pyta czy usunąć CELE\n" #~ " -s, --symbolic tworzenie dowiązań symbolicznych zamiast " #~ "zwykłych\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=ROZSZERZENIE zmiana domyślnego ROZSZERZENIA kopii " #~ "zapasowej\n" #~ " -t, --target-directory=KATALOG podanie KATALOGU, w którym mają być\n" #~ " tworzone dowiązania\n" #~ " -T, --no-target-directory traktowanie NAZWY_DOWIAZANIA jak zwykłego " #~ "pliku\n" #~ " -v, --verbose wypisanie nazw plików przed dowiązaniem\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "" #~ "nie można używać równocześnie --target-directory i --no-target-directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Składnia: %s [OPCJA]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Wypisuje nazwę aktualnego użytkownika.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "brak nazwy użytkownika" # XXX dyskusyjne - rzm # msgstr "%d.%m.%Y " #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" # XXX dyskusyjne - rzm # msgstr "%d.%m %H:%M" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "ignoruję błędny rozmiar zmiennej środowiskowej QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "ignoruję błędną długość w zmiennej środowiskowej COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "ignoruję błędny rozmiar tab-a w zmiennej środowiska TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "błędna szerokość linii: %s" #~ msgid "invalid tab size: %s" #~ msgstr "błędny rozmiar TAB-a: %s" #~ msgid "invalid time style format %s" #~ msgstr "błędny format stylu czasu %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "nierozpoznany prefiks: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "niezrozumiała wartość zmiennej środowiska LS_COLORS" #~ msgid "cannot open directory %s" #~ msgstr "nie można otworzyć katalogu %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "nie można ustalić urządzenia i i-węzła %s" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: nie będzie wylistowany katalog już wylistowany poprzednio" #~ msgid "closing directory %s" #~ msgstr "zamykanie katalogu %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "nie można porównać nazw plików %s i %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Wypisanie informacji o PLIKACH (domyślnie w katalogu bieżącym). " #~ "Sortowane\n" #~ "alfabetyczne, jeżeli nie jest podana żadna z opcji -cftuvSUX ani --sort.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all bez ukrywania plików zaczynających się od .\n" #~ " -A, --almost-all bez pokazania . ani ..\n" #~ " --author z -l: wypisanie autora każdego pliku\n" #~ " -b, --escape wypisanie znaków niegraficznych ósemkowo\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=ROZMIAR użycie bloków o podanym w bajtach ROZMIARZE\n" #~ " -B, --ignore-backups bez pokazania plików kończących się na ~\n" #~ " -c z -lt: sortowanie wg i wypisanie ctime " #~ "(czasu\n" #~ " ostatniej modyfikacji danych o pliku)\n" #~ " z -l: wypisanie ctime i sortowanie wg " #~ "nazw\n" #~ " w przeciwnym przypadku: sortowanie wg " #~ "ctime\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C wypisanie plików w kolumnach\n" #~ " --color[=GDY] sterowanie użycia kolorów rozróżniających " #~ "typy\n" #~ " plików. GDY może być `never' (nigdy), " #~ "`always'\n" #~ " (zawsze) albo `auto' (automatyczne)\n" #~ " -d, --directory pokazanie katalogów zamiast ich zawartości, " #~ "bez\n" #~ " rozwiązywania dowiązań symbolicznych\n" #~ " -D, --dired dane wyjściowe dla trybu dired Emacsa\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f bez sortowania, włączenie -aU, wyłączenie -" #~ "lst\n" #~ " -F, --classify dopisanie znaków wskazujących typ każdego\n" #~ " elementu (jednego z */=>@|)\n" #~ " --file-type podobnie, ale oprócz `*'\n" #~ " --format=SŁOWO across (poziomo), odpowiada opcji -x, " #~ "commas\n" #~ " (oddzielone przecinkami) -m, horizontal\n" #~ " (poziomo) -x, long (długi, z dodatkowymi\n" #~ " informacjami) -l, single-column (w jednej\n" #~ " kolumnie) -1, verbose (długi, z " #~ "dodatkowymi\n" #~ " informacjami) -l, vertical (pionowy, w\n" #~ " kolumnach) -C\n" #~ " --full-time jak -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g jak -l, ale nie pokazuje właściciela\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group bez pokazania informacji o grupach\n" #~ " -h, --human-readable z opcją -l podaje rozmiary w formacie " #~ "czytelnym\n" #~ " dla ludzi (np. 1K 234M 2G)\n" #~ " --si podobnie, ale z użyciem potęg 1000, nie " #~ "1024\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " rozwiązywanie dowiązań symbolicznych " #~ "podanych\n" #~ " jako argumenty\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " rozwiązywanie dowiązań symbolicznych " #~ "podanych\n" #~ " jako argumenty jeżeli wskazują na " #~ "katalogi\n" #~ " --hide=WZÓR bez wypisywania nazw pasujących do WZORU\n" #~ " (wyłączane przez -a albo -A)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=SŁOWO dodanie wskaźników typów plików w stylu " #~ "SŁOWO:\n" #~ " none (domyślnie), slash (-p), file-type\n" #~ " (--file-type), classify (-F)\n" #~ " -i, --inode pokazywanie numeru i-węzła każdego pliku\n" #~ " -I, --ignore=WZÓR bez pokazywania plików pasujących do " #~ "shellowego WZORU\n" #~ " -k jak --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l użycie długiego formatu wyjściowego\n" #~ " -L, --dereference pokazanie informacji o pliku wskazywanym " #~ "przez\n" #~ " dowiązanie symboliczne zamiast informacji " #~ "o\n" #~ " samym dowiązaniu\n" #~ " -m pisanie do pełnej szerokości, oddzielanie " #~ "przecinkami\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid jak -l, ale pokazanie UID i GID liczbowo\n" #~ " -N, --literal wypisanie nazwy dokładnie (bez specjalnego\n" #~ " traktowania np. znaków sterujących)\n" #~ " -o jak -l, ale bez informacji o grupie\n" #~ " -p, --indicator-style=slash dodanie / do nazw katalogów\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars pisanie ? zamiast znaków sterujących\n" #~ " --show-control-chars pokazanie znaków niedrukowalnych (domyślnie, " #~ "chyba\n" #~ " że program nazywa się `ls' i pisze na " #~ "terminalu)\n" #~ " -Q, --quote-name ujęcie nazw w cudzysłowy\n" #~ " --quoting-style=SŁOWO zabezpieczenie znaków specjalnych w stylu " #~ "SŁOWO:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse odwrotny porządek sortowania\n" #~ " -R, --recursive rekursywne listowanie katalogów\n" #~ " -s, --size wypisanie liczby bloków zajętych przez każdy " #~ "plik\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S sortowanie według rozmiaru\n" #~ " --sort=SŁOWO sortowanie wg SŁOWA zamiast wg nazw: none -" #~ "U\n" #~ " (wcale), extension -X (rozszerzenia), size -" #~ "S\n" #~ " (rozmiaru), time -t (czasu), version -v " #~ "(wersji)\n" #~ " --time=SŁOWO z opcją -l: pokazanie czasu określonego " #~ "SŁOWEM, a\n" #~ " nie czasu modyfikacji: czas odczytu - " #~ "atime,\n" #~ " access, use - -u, czas zmiany informacji o " #~ "pliku\n" #~ " - ctime, status - -c; użycie podanego czasu " #~ "do\n" #~ " sortowania gdy podano --sort=time\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STYL z opcją -l: pokazanie czasów przy użyciu " #~ "STYLU:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT\n" #~ " FORMAT jest interpretowany jak w `date'. " #~ "Jeżeli\n" #~ " FORMAT to FORMAT1FORMAT2,\n" #~ " FORMAT1 dotyczy dawniejszych plików, " #~ "FORMAT2\n" #~ " nowszych. Jeżeli STYL zaczyna się od " #~ "posix-,\n" #~ " STYL jest używany tylko dla locale nie " #~ "POSIX\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t sortowanie wg czasu modyfikacji\n" #~ " -T, --tabsize=KOLUMNA TAB co tyle KOLUMN, zamiast co 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u z -lt: sortowanie wg i wypisanie czasu\n" #~ " ostatniego dostępu; z -l: wypisanie czasu\n" #~ " dostępu i sortowanie wg nazw; w " #~ "przeciwnym\n" #~ " przypadku: sortowanie wg czasu dostępu\n" #~ " -U bez sortowania, wypisanie kolejności jak w " #~ "katalogu\n" #~ " -v sortowanie wg wersji\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=KOLUMNY przyjęcie takiej szerokości ekranu zamiast\n" #~ " wartości bieżącej\n" #~ " -x wypisanie nazw w kolejnych liniach, nie " #~ "kolumnach\n" #~ " -X sortowanie alfabetyczne wg rozszerzeń\n" #~ " -Z, --context wypisanie kontekstu bezpieczeństwa " #~ "SELinuksa\n" #~ " -1 listowanie po jednym pliku w linii\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Domyślnie kolory nie są używane do rozróżniania typów plików. Jest to\n" #~ "równoważne użyciu --color=none. Użycie opcji --color bez opcjonalnego\n" #~ "argumentu GDY jest równoważne użyciu --color=always. Z --color=auto\n" #~ "nazwy są kolorowane tylko jeżeli standardowe wyjście jest przyłączone do\n" #~ "terminala (tty). Zmienna środowiskowa LS_COLORS wpływa na kolory i może\n" #~ "być łatwo ustawiona przez polecenie dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Status wyjściowy to 0 jeżeli polecenie zakończyło się poprawnie, 1 - " #~ "jeżeli\n" #~ "były drobne problemy, 2 - jeżeli były poważne błędy\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Składnia: %s [OPCJA] [PLIK]...\n" #~ "Wypisuje albo sprawdza sumy kontrolne %s (%d-bitowe).\n" #~ "Bez podanego PLIKU albo gdy jest podany jako -, czyta standardowe " #~ "wejście.\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary czytanie plików w trybie binarnym (domyślne " #~ "jeżeli\n" #~ " nie jest czytane tty przez standardowe " #~ "wejście)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary czytanie w trybie binarnym.\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr " -c, --check sprawdzanie sum %s zapisanych w PLIKACH\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text czytanie plików w trybie tekstowym (domyślne " #~ "jeżeli\n" #~ " czytane jest tty przez standardowe wejście)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr "" #~ " -t, --text czytanie plików w trybie tekstowym (domyślnie)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Następujące opcje są przydatne tylko przy sprawdzaniu sum kontrolnych:\n" #~ " --status bez wypisywania niczego, kod wyjścia przekazuje " #~ "wynik\n" #~ " -w, --warn ostrzeganie o niepoprawnie sformatowanych " #~ "liniach sum\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Sumy są liczone wg opisu w %s. Przy sprawdzaniu dane wejściowe powinny\n" #~ "być takie jak wygenerowane przez ten program na wyjściu. Domyślny tryb " #~ "to\n" #~ "wypisanie linii z sumą kontrolną, znaku wskazującego typ (`*' binarny, ` " #~ "'\n" #~ "tekstowy) i nazwy każdego PLIKU.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: za dużo linii z sumami kontrolnymi" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: nieprawidłowo sformatowana linia sumy kontrolnej %s" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: NIEPOWODZENIE otwarcia lub odczytu\n" #~ msgid "OK" #~ msgstr "DOBRZE" #~ msgid "%s: read error" #~ msgstr "%s: błąd odczytu" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: brak poprawnie sformatowanych linii sumy kontrolnej %s" # that's a case where cases are needed in Slavic languages # podanych/podanego are plural/singular Genitive, I moved them to # next messages hoping it doesn't spoil anything - rzm # # see also md5sum.c:.... it is somewhat surprising that we need # such things only in two places in this file - rzm 960902 # # Actually here we have two parameters. The second number influences case of # "listed files", the first one - case of "could not be read". - rzm 20051025 # #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "UWAGA: % z % pliku nie mógł być odczytany" #~ msgstr[1] "UWAGA: % z % plików nie mogło być odczytane" #~ msgstr[2] "UWAGA: % z % plików nie mogło być odczytane" # once more `of computed checksum(s)' is `wyliczonej sumy' or # `wyliczonych sum' in sing. or plural Genitive; how to handle? - rzm # # it is better now but the word `wyliczonych' should also change according # to the number too (what a horrible language! - but there are worse) # so I'm moving it to the changing part; fortunately it is Genitive # so we don't need to use two forms for plural (depending on number: nn[234] # are different that the other ones) - rzm 960902 # #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "UWAGA: % z % policzonej sumy się NIE zgadza" #~ msgstr[1] "UWAGA: % z % policzonych sum się NIE zgadza" #~ msgstr[2] "UWAGA: % z % policzonych sum się NIE zgadza" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "opcje --binary i --text nie mają znaczenia przy weryfikacji sum\n" #~ "kontrolnych" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "opcja --status ma znaczenie tylko przy weryfikacji sum kontrolnych" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "opcja --warn ma znaczenie tylko przy weryfikacji sum kontrolnych" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Składnia: %s [OPCJA] KATALOG...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Utworzenie KATALOGU/ÓW, jeżeli jeszcze nie istnieją.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=UPRAWN ustawienie uprawnień (jak w chmod), nie a=rwx - " #~ "umask\n" #~ " -p, --parents bez błędu gdy istnieje, utworzenie całej ścieżki " #~ "katalogów\n" #~ " -v, --verbose wypisanie komunikatu o każdym utworzonym katalogu\n" #~ " -Z, --context=KONT ustawienie kontekstu bezpieczeństwa SELinuksa dla\n" #~ " każdego tworzonego katalogu\n" #~ msgid "created directory %s" #~ msgstr "utworzony katalog %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Składnia: %s [OPCJA] NAZWA...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Tworzenie nazwanych potoków (pipes, FIFOs) o podanych NAZWACH.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=KONT ustawienie kontekstu bezpieczeństwa SELinux dla " #~ "każdej\n" #~ " NAZWY jako KONT\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr " -m, --mode=UPRAWN ustawienie UPRAWNIEŃ, nie a=rw - umask\n" #~ msgid "invalid mode" #~ msgstr "błędne uprawnienia" #~ msgid "mode must specify only file permission bits" #~ msgstr "mogą być podane ylko bity uprawnień" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Składnia: %s [OPCJA]... NAZWA TYP [WIĘKSZY MNIEJSZY]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Utworzenie pliku specjalnego o podanej NAZWIE i TYPIE.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=KONT ustawienie kontekstu bezpieczeństwa SELinux dla\n" #~ " NAZWY jako KONT\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Dla TYPÓW b, c i u musi być podany zarówno WIĘKSZY jak MNIEJSZY numer\n" #~ "urządzenia. Oba numery muszą być pominięte jeżeli TYP to p. Jeżeli " #~ "WIĘKSZY\n" #~ "lub MNIEJSZY zaczyna się od 0x albo 0X, jest interpretowany jako liczba\n" #~ "szesnastkowa. Jeżeli zaczyna się od 0 - jako ósemkowa. W innych wypadkach " #~ "-\n" #~ "jako dzięsiątkowa. TYP może być:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b specjalny plik blokowy (buforowany)\n" #~ " c, u specjalny plik znakowy (niebuforowany)\n" #~ " p potok (FIFO)\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Plik specjalny powinien mieć podane większy i mniejszy numer urządzenia" #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Potoki nie mają numerów większych ani mniejszych." #~ msgid "block special files not supported" #~ msgstr "specjalne pliki blokowe nie są obsługiwane" #~ msgid "character special files not supported" #~ msgstr "specjalne pliki znakowe nie są obsługiwane" #~ msgid "invalid major device number %s" #~ msgstr "błędny większy numer urządzenia %s" #~ msgid "invalid minor device number %s" #~ msgstr "błędny mniejszy numer urządzenia %s" #~ msgid "invalid device %s %s" #~ msgstr "błędne urządzenie %s %s" #~ msgid "invalid device type %s" #~ msgstr "błędne typ urządzenia %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Składnia: %s [OPCJA]... [WZORZEC]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Bezpieczne utworzenie tymczasowego pliku albo katalogu i wypisanie jego " #~ "nazwy.\n" #~ "Jeżeli nie jest podany WZORZEC, użyty będzie tmp.XXXXXXXXXX.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory utworzenie katalogu, nie pliku\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet bez ostrzegania o błedach tworzenia pliku/katalogu\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run bez tworzenia pliku/katalogu, tylko wypisanie nazwy\n" #~ " (niebezpieczne)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=KATALOG] interpretuj WZORZEC względem KATALOGU. Jeżeli " #~ "KATALOG\n" #~ " nie jest podany, użyj $TMPDIR, a jeżeli nie jest\n" #~ " ustawione - /tmp. Jeżeli jest użyta ta opcja " #~ "WZORZEC\n" #~ " nie może być nazwą bezwzględną. Inaczej niż przy " #~ "użyciu\n" #~ " opcji -t, WZORZEC może zawierac ukośniki, ale " #~ "mktemp i\n" #~ " tak tworzy tylko ostatni składnik nazwy.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p KATALOG użycie KATALOGU jako przedrostka, implikuje -t\n" #~ " [przestarzałe]\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t interpretowanie WZORCA jako nazwy podanej względem\n" #~ " katalogu: $TMPDIR, a jeżeli nie jest ustawiony,\n" #~ " katalogu podanego przez opcję -p, a w innym " #~ "przypadku\n" #~ " /tmp [przestarzałe]\n" #~ msgid "too many templates" #~ msgstr "za dużo wzorców" #~ msgid "too few X's in template %s" #~ msgstr "za mało X-ów we wzorcu %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "błędny wzorzec %s - zawiera separator nazw podkatalogów" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "" #~ "błędny wzorzec %s; nie może być ścieżką bezwzględną jeżeli została użyta " #~ "opcja --tmpdir" #~ msgid "failed to create directory via template %s" #~ msgstr "nie udało się utworzyć katalogu przy pomocy wzorca %s" #~ msgid "failed to create file via template %s" #~ msgstr "nie udało się utworzyć pliki przy pomocy wzorca %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Przemianowanie ŹRÓDŁA na CEL albo przeniesienie jednego lub wielu ŹRÓDEŁ\n" #~ "do KATALOGU.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=TRYB] zrobienie kopii zapasowej każdego " #~ "istniejącego\n" #~ " pliku docelowego\n" #~ " -b jak --backup, ale bez podawania argumentu\n" #~ " -f, --force bez pytania przed zamazaniem pliku\n" #~ " -i, --interactive pytanie przed zamazaniem\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes usunięcie końcowych ukośników z każdego\n" #~ " argumentu ZRÓDŁOWEGO\n" #~ " -S, --suffix=ROZSZERZ zmiana domyślnego rozszerzenia kopii " #~ "zapasowej\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=KATALOG przeniesienie wszystkich argumentów\n" #~ " ŹRÓDŁOWYCH do KATALOGU\n" #~ " -T, --no-target-directory traktowanie CELU jak zwykłego pliku\n" #~ " -u, --update przenoszenie tylko gdy ŹRÓDŁO jest nowsze " #~ "od\n" #~ " CELU albo nie ma CELU\n" #~ " -v, --verbose wyjaśnianie co się dzieje\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Składnia: %s [OPCJA] [POLECENIE [ARGUMENT]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Uruchomienie POLECENIA z poprawionym priorytetem, co wpływa na przydział\n" #~ "czasu procesora. Bez POLECENIE wypisuje bieżący priorytet. Priorytet " #~ "może\n" #~ "mieć wartość od %d (największe przydziały czasu) do %d (najmniejsze).\n" #~ "\n" #~ msgid "invalid adjustment %s" #~ msgstr "błędny poprawka %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "razem z priorytetem musi być podane polecenie" #~ msgid "cannot get niceness" #~ msgstr "nie można ustalić ile wynosi poprawka" #~ msgid "cannot set niceness" #~ msgstr "ustawienie poprawki niemożliwe" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Wypisanie każdego PLIKU na standardowe wyjście z numerami linii.\n" #~ "Jeżeli PLIK nie jest podany albo podany jako -, czytane jest\n" #~ "standardowe wejście.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STYL użycie STYLU do numerowania linii " #~ "treści\n" #~ " -d, --section-delimiter=CC użycie CC do oddzielania stron " #~ "logicznych\n" #~ " -f, --footer-numbering=STYL użycie STYLU do numerowania linii " #~ "stopek\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STYL użycie STYLU do numeracji linii " #~ "nagłówka\n" #~ " -i, --page-increment=ILE przyrost numeracji linii\n" #~ " -l, --join-blank-lines=ILE grupa ILU pustych linii liczona jako " #~ "jedna\n" #~ " -n, --number-format=FORMAT dopisanie numerów linii zgodnie z " #~ "FORMATEM\n" #~ " -p, --no-renumber bez zerowania numeracji na początkach " #~ "stron\n" #~ " logicznych\n" #~ " -s, --number-separator=NAPIS dodanie NAPISU po ewentualnym numerze " #~ "linii\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NUMER NUMER pierwszej linii na stronie " #~ "logicznej\n" #~ " -w, --number-width=ILE ILE kolumn na numery linii\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Domyślnie wybrane są -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC to\n" #~ "dwa ograniczniki oddzielające strony logiczne. Jeżeli brakuje drugiego\n" #~ "przyjmowana jest wartość :. Napisz \\\\ żeby uzyskać \\. STYL to jeden " #~ "z:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a numerowanie wszystkich linii\n" #~ " t numerowanie tylko niepustych linii\n" #~ " n bez numerowania linii\n" #~ " pPODST_WYR_REG numerowanie tylko linii pasujących do\n" #~ " PODSTAWOWEGO_WYRAŻENIA_REGULARNAEGO\n" #~ "\n" #~ "FORMAT to jeden z:\n" #~ "\n" #~ " ln dosunięte do lewej, bez zer na początku\n" #~ " rn dosunięte do prawej, bez zer na początku\n" #~ " rz dosunięte do prawej, z zerami na początku\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "przepełnienie licznika wierszy" #~ msgid "invalid header numbering style: %s" #~ msgstr "błędny styl numerowania nagłówka: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "błędny styl numerownaia treści: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "błędny styl numerowania stopek: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "błędny początkowy numer linii: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "błędny przyrost numeru linii: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "błędna liczba pustych linii: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "błędna szerokość pola numeru linii: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "błędny przyrost numeru linii: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s POLECENIE [ARGUMENT]...\n" #~ " albo: %s OPCJA\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "Uruchomienie POLECENIA ignorującego sygnały HUP.\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Jeżeli standardowym wejściem jest terminal, przekierowany jest do niego\n" #~ "/dev/null .\n" #~ "Jeżeli standardowym wyjściem jest terminal, dane wyjściowe, będą " #~ "dołączone\n" #~ "do `nohup.out' a jeżeli to niemożliwe, do `$HOME/nohup.out'.\n" #~ "Jeżeli standardowe wyjście błędów jest terminalem, zostanie " #~ "przekierowane\n" #~ "na standardowe wyjście.\n" #~ "Żeby zapisać dany wyjściowe do PLIKU należy użyć `%s POLECENIE > PLIK'.\n" #~ msgid "ignoring input" #~ msgstr "zignorowane dane wejściowe" #~ msgid "failed to open %s" #~ msgstr "nie udało się otworzyć %s" #~ msgid "ignoring input and appending output to %s" #~ msgstr "zignorowanie wejścia i dołączenie wyników do %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "" #~ "nie udało się zamknąć kopii standardowego wyjścia przy wykonywaniu exec" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "" #~ "zignorowanie wejścia i przekierowanie standardowego błędu do " #~ "standardowego wyjścia" #~ msgid "failed to redirect standard error" #~ msgstr "nie udało się przekierować wyjścia standardowego błędu" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... [PLIK]...\n" #~ " albo: %s [-abcdfilosx]... [PLIK] [[+]PRZESUNIĘCIE[.][b]]\n" #~ " albo: %s --traditional [OPCJA]... [PLIK] [[+]PRZESUNIĘCIE[.][b]\n" #~ " [[+]ETYKIETA]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Wypisanie jednoznacznej reprezentacji PLIKU, domyślnie bajty ósemkowo, " #~ "na\n" #~ "standardowe wyjście. Jeżeli PLIK nie jest podany albo podany jako -,\n" #~ "czytane jest standardowe wejście.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Argumenty obowiązkowe dla opcji długich obowiązują dla krótkich.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=BAZA postać wypisywania pozycji\n" #~ " -j, --skip-bytes=BAJTY ominięcie tylu początkowych BAJTÓW każdego " #~ "pliku\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BAJTY ograniczenie wielkości do BAJTÓW\n" #~ " -S, --strings[=BAJTY] wypisanie przynajmniej tylu BAJTÓW znaków\n" #~ " graficznych\n" #~ " -t, --format=TYP wybranie formatu/formatów danych " #~ "wyjściowych\n" #~ " -v, --output-duplicates bez używania * do zaznaczania powtórzonych " #~ "linii\n" #~ " -w, --width[=BAJTY] wypisanie tylu BAJTÓW w każdej linii " #~ "wyjściowej\n" #~ " --traditional akceptowanie argumentów w tradycyjnym " #~ "formacie\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Tradycyjne specyfikacje formatu mogą być mieszane, akumulują się:\n" #~ " -a to samo co -t a, nazwy znaków po zignorowaniu najstarszego bitu\n" #~ " -b to samo co -t o1, bajty ósemkowo\n" #~ " -c to samo co -t c, znaki ASCII lub kody znaków z ukośnikiem " #~ "odwrotnym\n" #~ " -d to samo co -t u2, dziesiętnie liczby 2-bajtowe bez znaku\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f to samo co -t fF, zmiennoprzecinkowo float\n" #~ " -i to samo co -t dI, dziesiętnie integer\n" #~ " -l to samo co -t dL, dziesiętnie long\n" #~ " -o to samo co -t o2, ósemkowo 2-bajtowo\n" #~ " -s to samo co -t d2, dziesiętnie 2-bajtowo\n" #~ " -x to samo co -t x2, szesnastkowo 2-bajtowo\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Jeżeli i pierwszy i drugi format pasuje do użytej składni, a ostatni " #~ "argument\n" #~ "zaczyna się od + albo (w przypadku dwóch argumentów) od cyfry, zakłada " #~ "się, że\n" #~ "został użyty format trzeci. PRZESUNIĘCIE oznacza to samo co -j " #~ "PRZESUNIĘCIE.\n" #~ "ETYKIETA to pseudo-adres wypisanego bajtu, zwiększa się w trakcie pracy\n" #~ "programu. Dla PRZESUNIĘCIA i ETYKIETY przedrostek 0x lub 0X oznacza " #~ "zapis\n" #~ "szesnastkowy, zapis ósemkowy jest oznaczany przez przyrostek . , a " #~ "przyrostek\n" #~ "b oznacza wielokrotność 512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "TYP składa się z jednej lub więcej następujących specyfikacji:\n" #~ "\n" #~ " a nazwy znaków po zignorowaniu najstarszego bitu\n" #~ " c znaki ASCII lub kody znaków z ukośnikiem odwrotnym\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[ROZMIAR] dziesiętny ze znakiem, liczba o takim ROZMIARZE w bajtach\n" #~ " f[ROZMIAR] zmiennoprzecinkowy, liczba o takim ROZMIARZE w bajtach\n" #~ " o[ROZMIAR] ósemkowy, liczba o takim ROZMIARZE w bajtach\n" #~ " u[ROZMIAR] dziesiętny bez znaku, liczba o takim ROZMIARZE w bajtach\n" #~ " x[ROZMIAR] szesnastkowy, liczba o takim ROZMIARZE w bajtach\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "ROZMIAR jest liczbą. Dla TYPÓW d, o, u, x ROZMIAR może być też C dla\n" #~ "sizeof(char), S dla sizeof(short), I dla sizeof(int) albo L dla\n" #~ "sizeof(long). Jeżeli TYP to f, ROZMIAR może być też F dla sizeof(float), " #~ "D\n" #~ "dla sizeof(double) albo L dla sizeof(long double).\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "BAZĘ oznacza się d jeżeli jest dziesiętna, o - ósemkowa, x - " #~ "szesnastkowa, n -\n" #~ "żadna. BAJTY są w zapisie szesnastkowym jeżeli maja przedrostek 0x albo " #~ "0X;\n" #~ "mogą mieć przyrostek mnożący: b 512, kB 1000, K 1024, MB 1000*1000,\n" #~ "M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 itd. dla T, P, E, Z, Y.\n" #~ "Dodanie przyrostka `z' do dowolnego typu dodaje wyświetlanie znaków\n" #~ "drukowalnych na końcu każdej linii. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string bez liczby oznacza długość równą 3. --width bez\n" #~ "liczby oznacza szerokość równą 32. Domyślnie od używa -A o -t d2 -w16.\n" #~ msgid "invalid type string %s" #~ msgstr "błędny łańcuch typu %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "błędny łańcuch typu %s;\n" #~ "ten system nie ma %lu-bajtowych liczb całkowitych" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "błędny łańcuch typu %s;\n" #~ "ten system nie ma %lu-bajtowych liczb zmiennoprzecinkowych" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "błędny znak %c w łańcuchu typu %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "nie można przeskoczyć poza koniec połączonych danych wejściowych" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "błędna baza danych wyjściowych `%c'; musi to być jeden ze znaków [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "nie można podawać typu przy wypisywaniu łańcuchów" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Tryb zgodny ze starą wersją może mieć podany najwyżej jeden plik" #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "za duże skip-bytes + read-bytes" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "uwaga: błędna szerokość %lu; używam %d zamiast" # should this be translated? - rzm #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: format=\"%s\" szerokość=%d\n" #~ msgid "standard input is closed" #~ msgstr "standardowe wejście jest zamknięte" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Wypisywanie linii złożonych ze sklejonych kolejnych odpowiadających " #~ "sobie\n" #~ "linii z każdego PLIKU oddzielonych TABami, na standardowe wyjście.\n" #~ "Bez PLIKU albo gdy jest podany jako -, czytane jest standardowe wejście.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LISTA użycie kolejnych znaków z LISTY zamiast TABów\n" #~ " -s, --serial przepisanie plików po kolei zamiast równolegle\n" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Składnia: %s [OPCJA]... NAZWA...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Diagnozowanie nieprzenośnych konstrukcji w NAZWIE.\n" #~ "\n" #~ " -p sprawdzenie dla większości systemów POSIX\n" #~ " -P sprawdzenie pustych nazw i początkowych \"-\"\n" #~ " --portability sprawdzenie dla wszystkich systemów POSIX\n" #~ " (równoważne -p -P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "`-' na początku składnika nazwy pliku %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "nieprzenośny znak %s w nazwie pliku %s" #~ msgid "empty file name" #~ msgstr "pusta nazwa pliku" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: nie można ustalić maksymalnej długości nazwy pliku" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "ograniczenie do %lu przekroczone przez długość %lu nazwy pliku %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "" #~ "ograniczenie do %lu przekroczone przez długość %lu składnika nazwy pliku %" #~ "s" #~ msgid "Login name: " #~ msgstr "Użytkownik: " #~ msgid "In real life: " #~ msgstr "Imię i nazwisko: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Katalog: " #~ msgid "Shell: " #~ msgstr "Powłoka: " #~ msgid "Project: " #~ msgstr "Projekt: " #~ msgid "Plan:\n" #~ msgstr "Plan:\n" #~ msgid "Login" #~ msgstr "Użytkownik" #~ msgid "Name" #~ msgstr "Nazwisko" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Bezczynny" #~ msgid "When" #~ msgstr "Kiedy" #~ msgid "Where" #~ msgstr "Skąd" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Składnia: %s [OPCJA]... [UŻYTKOWNIK]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l wyświetlenie szczegółowych informacji o UŻYTKOWNIKU\n" #~ " -b pominięcie katalogu domowego i powłoki użytkownika w\n" #~ " formacie szczegółowym\n" #~ " -h pominięcie projektu użytkownika w formacie " #~ "szczegółowym\n" #~ " -p pominięcie planu użytkownika w formacie szczegółowym\n" #~ " -s wyświetlenie informacji w formacie skróconym " #~ "(domyślnie)\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f pominięcie nagłówków kolumn w formacie skróconym\n" #~ " -w pominięcie nazwiska użytkownika w formacie skróconym\n" #~ " -i pominięcie nazwiska i zdalnego systemu w formacie " #~ "skróconym\n" #~ " -q pominięcie nazwiska, zdalnego system oraz czasu " #~ "bezczynności\n" #~ " w formacie skróconym\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Uproszczona wersja programu `finger'. Wyświetla informacje o " #~ "użytkownikach.\n" #~ "Ścieżka do pliku utmp: %s .\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "brak nazwy użytkownika - musi być podana chociaż jedna, jeżeli użyto " #~ "opcji -l" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=PIERWSZA_STRONA[:OSTATNIA_STRONA]' - brakujący argument" #~ msgid "Invalid page range %s" #~ msgstr "błędny zakres stron %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l DŁ_STRONY' błędna liczba linii: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N LICZBA' błędny numer linii początkowej: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o MARGINES' błędne przesunięcie linii: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w SZEROKOŚĆ_STRONY' błędna liczba znaków: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W SZEROKOŚĆ_STRONY' błędna liczba znaków: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Przy wypisywaniu równoległym nie można podawać liczby kolumn." # wzdłuż? - rzm #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "" #~ "Nie można wypisywać równocześnie w kolejnych kolumnach i równolegle." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c' nadmiarowe znaki lub błędna liczba w argumencie: %s" #~ msgid "page width too narrow" #~ msgstr "szerokość strony za mała" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "początkowy numer strony % przekracza liczbę stron %" #~ msgid "Page number overflow" #~ msgstr "Przepełnienie licznika stron" #~ msgid "Page %" #~ msgstr "Strona %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Podzielenie na strony lub ułożenie w kolumny PLIKU/ÓW do drukowania.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +PIERWSZA_STRONA[:OSTATNIA_STRONA], --pages=PIERWSZA_STRONA[:" #~ "OSTATNIA_STRONA]\n" #~ " zaczęcie [zakończenie] od strony PIERWSZA_[OSTATNIA_]" #~ "STRONA\n" #~ " -COLUMN, --columns=KOLUMNY\n" #~ " wypisywanie danych w tylu KOLUMNACH i drukowanie " #~ "kolumn od\n" #~ " góry do dołu, chyba że użyte jest -a. Wyrównanie " #~ "liczby\n" #~ " linii w kolumnach na każdej stronie.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across kolejne linie będą wypisane w kolejnych kolumnach, " #~ "nie po\n" #~ " kolei od góry do dołu; używa się razem z -KOLUMNY\n" #~ " -c, --show-control-chars\n" #~ " użycie zapisu z daszkiem (np. ^G) i ósemkowych " #~ "numerów\n" #~ " znaków z backslashem\n" #~ " -d, --double-space\n" #~ " podwójny odstęp na wyjściu\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMAT\n" #~ " FORMAT daty w nagłówku\n" #~ " -e[ZNAK[SZER]], --expand-tabs[=ZNAK[SZER]]\n" #~ " rozwijanie ZNAKÓW wejściowych (TABów) do tej " #~ "SZERokości (8)\n" #~ " -F, -f, --form-feed\n" #~ " do odzielania stron będzie użyty znak nowej strony " #~ "zamiast\n" #~ " znaku nowej linii (przez 3-liniowy nagłówek strony z -" #~ "F\n" #~ " lub 5-liniowy nagłówek i stopkę bez -F)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h NAGŁÓWEK, --header=NAGŁÓWEK\n" #~ " użycie wycentrowanego NAGŁÓWKA zamiast nazwy pliku w\n" #~ " nagłówkach, dla długich nagłówków może dojść do " #~ "obcięcia\n" #~ " z lewej. -h \"\" drukuje pustą linie, nie używaj -h " #~ "\"\"\n" #~ " -i[ZNAK[SZER]], --output-tabs[=ZNAK[SZER]]\n" #~ " zamiana spacji na ZNAKI (TABy) do tej SZEROKOŚCI (8)\n" #~ " -J, --join-lines\n" #~ " połączenie pełnych linii, wyłącza obcinanie linii " #~ "przez\n" #~ " -W, bez wyrównania kolumn, -sep-string[-NAPIS] " #~ "ustawia\n" #~ " separatory\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l DŁUGOŚĆ_STRONY, --length=DŁUGOŚĆ_STRONY\n" #~ " ustawienie takiej DŁUGOŚCI_STRONY w liniach (66)\n" #~ " (domyślna liczba linii tekstu: 56; dla -F 63)\n" #~ " -m, --merge wypisanie wszystkich plików równolegle, każdy w " #~ "jednej\n" #~ " kolumnie, linie są obcinane, ale linie o pełnej " #~ "długości\n" #~ " są łączone przez -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEP[CYFRY]], --number-lines[=SEP[CYFRY]]\n" #~ " numerowanie linii tyloma CYFRAMI (5), potem " #~ "SEPARATOREM\n" #~ " (TAB), domyślnie liczone od pierwszej linii pliku\n" #~ " wejściowego\n" #~ " -N LICZBA, --first-line-number=LICZBA\n" #~ " początek liczenia od LICZBY przy pierwszej linii " #~ "pierwszej\n" #~ " drukowanej strony (zob. +PIERWSZA_STRONA)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARGINES, --indent=MARGINES\n" #~ " Przesunięcie każdej linii o MARGINES (zero) spacji, " #~ "nie\n" #~ " wpływa na -w ani -W, MARGINES zostanie dodany do\n" #~ " SZEROKOŚCI_STRONY\n" #~ " -r, --no-file-warnings\n" #~ " bez ostrzeżeń kiedy plik nie może być otwarty\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[ZNAK], --separator[=ZNAK]\n" #~ " oddzielanie kolumn pojedynczym ZNAKIEM, domyślnie " #~ "TABem,\n" #~ " jeżeli bez opcji -w, 'no char' z opcją -w\n" #~ " -s[ZNAK] wyłącza obcinanie linii we wszystkich 3 " #~ "układach\n" #~ " kolumn (-COLUMN|-a -COLUMN|-m), chyba że użyto opcji -" #~ "w\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SNAPIS, --sep-string[=NAPIS]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " oddzielenie kolumn przez NAPIS,\n" #~ " bez -S: z opcją -J domyślny separator to TAB, bez -J " #~ "-\n" #~ " spacja (to samo co -S\" \"), nie wpływa na opcje " #~ "dotyczące\n" #~ " kolumn\n" #~ " -t, --omit-header bez wypisywania nagłówków i stopek stron\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " bez wypisywania nagłówków i stopek stron, wyłączenie\n" #~ " formatowania stron przez znaki nowej strony w " #~ "plikach\n" #~ " wejściowych\n" #~ " -v, --show-nonprinting\n" #~ " użycie zapisu ósemkowego z backslashem\n" #~ " -w SZEROKOŚĆ_STRONY, --width=SZEROKOŚĆ_STRONY\n" #~ " ustawienie SZEROKOŚCI_STRONY w kolumnach (72), tylko " #~ "dla\n" #~ " wydruku wielokolumnowego, -s[ZNAK] wyłącza wartość\n" #~ " domyślną (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W SZEROKOŚĆ_STRONY, --page-width=SZEROKOŚĆ_STRONY\n" #~ " ustawienie szerokości strony zawsze do " #~ "SZEROKOŚCI_STRONY\n" #~ " (72), obcinanie linii, chyba że jest użyta opcja -J; " #~ "nie\n" #~ " przeszkadza opcjom -S ani -s.\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-t jest włączane jeżeli DŁUGOŚĆ_STRONY <= 10. Jeżeli PLIK nie jest " #~ "podany\n" #~ "albo podany jako -, czytane jest standardowe wejście.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Składnia: %s [ZMIENNA]...\n" #~ " albo: %s OPCJA\n" #~ "Jeżeli nie jest podana żadna zmienna środowiskowa, wypisywane są " #~ "wszystkie.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "uwaga: %s: znaki następujące po stałej znakowej zostały zignorowane" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s FORMAT [ARGUMENT]...\n" #~ " albo: %s OPCJA\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Wypisuje ARGUMENT(Y) zgodnie z FORMATEM albo wykonuje zgodnie z OPCJĄ:\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "FORMAT wyjścia jak w funkcji C printf. Rozpoznawane sekwencje:\n" #~ "\n" #~ " \\\" cudzysłów\n" #~ " \\0NNN znak o ósemkowej wartości NNN (1 do 3 cyfr)\n" #~ " \\\\ ukośnik odwrotny (ang. backslash)\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a dzwonek (BEL)\n" #~ " \\b znak cofania (ang. backspace)\n" #~ " \\c zatrzymanie dalszego wyświetlania\n" #~ " \\f przesunięcie o stronę (FF)\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n znak nowej linii\n" #~ " \\r powrót karetki (CR)\n" #~ " \\t tabulator poziomy\n" #~ " \\v tabulator pionowy\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH bajt szesnastkowej wartości HH (1 do 2 cyfr)\n" #~ " \\uHHHH znak Unicode (ISO/IEC 10646) o szesnastkowej wartości HHHH (4 " #~ "cyfry)\n" #~ " \\UHHHHHHHH znak Unicode o szesnastkowej wartości HHHHHHHH (8 cyfr)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% pojedynczy %\n" #~ " %b ARGUMENT ze zinterpretowanymi sekwencjami `\\' oprócz\n" #~ " sekwencji ósemkowych, które mają formę \\0 albo \\0NNN\n" #~ "\n" #~ "i wszystkie specyfikacje formatu C zakończone jednym ze znaków\n" #~ "diouxXfeEgGcs z ARGUMENTAMI przekształconymi najpierw do odpowiednich\n" #~ "typów. Są obsługiwane zmienne szerokości.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: spodziewana wartość liczbowa" #~ msgid "%s: value not completely converted" #~ msgstr "%s: wartość nie przekształcona w całości" #~ msgid "missing hexadecimal number in escape" #~ msgstr "brak liczby szesnastkowej w sekwencji" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "błędna nazwa znaku uniwersalnego \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "błędna szerokość pola: %s" #~ msgid "invalid precision: %s" #~ msgstr "błąd specyfikacji precyzji: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: błędna specyfikacja przekształcenia" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "uwaga: nadmiarowe argumenty począwszy od %s zostały zignorowane" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (dla wyr. regularnego %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... [WEJŚCIE]... (bez -G)\n" #~ " albo: %s -G [OPCJA]... [WEJŚCIE [WYJŚCIE]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Pokazanie indeksu słów z plików wejściowych razem z kontekstem.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference wypisanie automatycznie wygenerowanych\n" #~ " odnośników\n" #~ " -G, --traditional zachowanie zgodności z wersją ptx z " #~ "Systemu V\n" #~ " -F, --flag-truncation=NAPIS użycie NAPISU do zaznaczania wyciętych " #~ "linii\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=NAZWA NAZWA makra używanego zamiast `xx'\n" #~ " -O, --format=roff wyjście w postaci dyrektyw roff-a\n" #~ " -R, --right-side-refs umieszczenie odnośników po prawej, nie\n" #~ " liczone w -w\n" #~ " -S, --sentence-regexp=REGEXP REGEXP dla określenia końców linii lub " #~ "zdań\n" #~ " -T, --format=tex generowanie wyjścia w postaci dyrektyw " #~ "TeX-a\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP użycie REGEXPa do rozpoznawania słów\n" #~ " kluczowych\n" #~ " -b, --break-file=PLIK znaki rozdzielające słowa są w tym " #~ "PLIKU\n" #~ " -f, --ignore-case traktowanie małych liter jak wielkich " #~ "przy\n" #~ " sortowaniu\n" #~ " -g, --gap-size=LICZBA odstęp w kolumnach między polami " #~ "wyjściowymi\n" #~ " -i, --ignore-file=PLIK czytanie listy ignorowanych słów z " #~ "PLIKU\n" #~ " -o, --only-file=FILE uwzględnienie tylko słów z PLIKU\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references pierwsze pole każdej linii jest " #~ "odnośnikiem\n" #~ " -t, --typeset-mode - nie zaimplementowane -\n" #~ " -w, --width=NUMBER szerokość wyjścia w kolumnach, bez " #~ "odnośników\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe\n" #~ "wejście. Domyślnie użyta jest opcja `-F /'.\n" #~ msgid "invalid gap width: %s" #~ msgstr "błędna szerokość odstępu: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Wypisanie pełnej nazwy bieżącego katalogu.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "nie udało się chdir do %s" #~ msgid "failed to stat %s" #~ msgstr "nie udało się stat %s" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "w %s nie można odnaleźć katalogu z pasującym i-węzłem" #~ msgid "ignoring non-option arguments" #~ msgstr "zignorowano argumenty nie będące opcjami" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Składnia: %s [OPCJA]... PLIK\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Wyświetlenie wartości dowiązania symbolicznego na standardowym wyjściu.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize doprowadzenie do postaci kanonicznej " #~ "przez\n" #~ " rekursywne rozwiązanie wszystkich łącz\n" #~ " symbolicznych we wszystkich składnikach " #~ "danej\n" #~ " nazwy; muszą istnieć wszystkie składniki\n" #~ " oprócz ostatniego\n" #~ " -e, --canonicalize-existing doprowadzenie do postaci kanonicznej " #~ "przez\n" #~ " rekursywne rozwiązanie wszystkich łącz\n" #~ " symbolicznych we wszystkich składnikach " #~ "danej\n" #~ " nazwy; muszą istnieć wszystkie składniki\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing doprowadzenie do postaci kanonicznej " #~ "przez\n" #~ " rekursywne rozwiązanie wszystkich łącz\n" #~ " symbolicznych we wszystkich składnikach " #~ "danej\n" #~ " nazwy; składniki nie muszą istnieć\n" #~ " -n, --no-newline bez wypisania końcowego znaku nowej " #~ "linii\n" #~ " -q, --quiet,\n" #~ " -s, --silent wyłączenie większości komunikatów o " #~ "błędach\n" #~ " -v, --verbose wypisywanie komunikatów o błędach\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "BŁĄD: nie udało się zamknąć katalogu %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "BŁAD: nie można otworzyć .. z %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "BŁĄD: nie można być pewnym, że %s (zwrócone przez ..) jest bezpieczne" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "BŁĄD: katalog %s zmienił urządzenie/i-węzeł" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "BŁĄD: nie można wejść do katalogu %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "BŁĄD: katalog %s, do którego właśnie przeszedł program zmienił dev/ino" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "UWAGA: Cykliczna struktura katalogów.\n" #~ "Prawie na pewno oznacza to, że system plików jest uszkodzony.\n" #~ "NALEŻY ZAWIADOMIĆ ADMINISTRATORA SYSTEMU.\n" #~ "Następujący katalog jest częścią cyklu:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: wejść w katalog %s, zabezpieczony przed zapisem? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: przejść do katalogu %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: usunąć zabezpieczony przed zapisem %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: usunąć %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "usunięty katalog %s\n" #~ msgid "failed to close directory %s" #~ msgstr "nie udało się zamknąć katalogu %s" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "pominięto %s, bo jest na innym urządzeniu" #~ msgid "cannot remove directory %s" #~ msgstr "nie można usunąć katalogu %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "BŁĄD: nie można wrócić do .. z %s" #~ msgid "cannot remove root directory %s" #~ msgstr "nie można usunąć katalogu %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "nie można usunąć nazwy względnej %s" #~ msgid "cannot restore current working directory" #~ msgstr "nie można odtworzyć bieżącego katalogu" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Użyj `%s ./%s' żeby usunąć plik %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Składnia: %s [OPCJA]... PLIK...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Kasowanie (unlink) PLIKU/PLIKÓW.\n" #~ "\n" #~ " -f, --force ignorowanie nieistniejących plików, bez pytań\n" #~ " -i pytanie przez każdym kasowaniem\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I pojedyncze pytanie przez usunięciem więcej niż " #~ "trzech\n" #~ " plików przy usuwaniu rekursywnym. Mniej\n" #~ " przeszkadzające niż -i, ale nadal " #~ "zabezpieczające\n" #~ " przed większością błędów\n" #~ " --interactive[=KIEDY] pytania zależnie od KIEDY: never (nigdy), " #~ "once\n" #~ " (raz, -I) albo always (zawsze, -i). Bez KIEDY " #~ "zawsze\n" #~ " jest zadawane pytanie\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system poddczas rekurencyjnego usuwania katalogu " #~ "pomijane\n" #~ " są katalogi znajdujące się na innym systemie " #~ "plików\n" #~ " niż ten, na którym znajduje się argument " #~ "polecenia\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root bez traktowania katalogu '/' w specjalny sposób\n" #~ " (domyślnie)\n" #~ " --preserve-root odmowa usunięcia '/' (domyslnie)\n" #~ " -r, -R, --recursive usuwanie katalogów z zawartością rekursywnie\n" #~ " -v, --verbose wyjaśnianie co się dzieje\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Domyślnie rm nie usuwa katalogów. Użyj opcji --recursive (albo -r albo -" #~ "R)\n" #~ "żeby skasować również wszystkie podane katalogi z zawartością.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Żeby usunąć plik z nazwą zaczynająca się od `-', np. `-foo', można użyć\n" #~ "jednego z poleceń:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Warto zauważyć, że po użyciu rm do usunięcia pliku zazwyczaj można " #~ "odtworzyć\n" #~ "jego zawartość. Gdy istnieje potrzeba pewniejszego zagwarantowania, że\n" #~ "zawartość pliku jest rzeczywiście nie do odtworzenia, należy rozważyć " #~ "użycie\n" #~ "programu shred.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: usunąć wszystkie argumenty rekursywnie? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: usunąć wszystkie argumenty? " #~ msgid "removing directory, %s" #~ msgstr "usuwany katalog %s" #~ msgid "failed to remove directory %s" #~ msgstr "nie udało się usunąć katalogu %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Składnia: %s [OPCJA]... KATALOG...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Usuwanie pustych KATALOGÓW.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " zignorowanie błędów spowodowanych wyłącznie tym, że " #~ "katalog\n" #~ " nie jest pusty\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents usunięcie KATALOGU, potem próba usunięcia każdego " #~ "katalogu\n" #~ " nadrzędnego tej ścieżki. Np,. `rmdir -p a/b/c jest " #~ "podobne\n" #~ " do `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose informacja diagnostyczna o każdym przetworzonym\n" #~ " katalogu\n" #~ msgid "failed to remove %s" #~ msgstr "nie udało się usunąć %s" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Składnia: %s KONTEKST POLECENIE [argumenty]\n" #~ " albo: %s [ -c ] [-u UŻYTKOWNIK] [-r ROLA] [-t TYP] [-l ZAKRES]\n" #~ " POLECENIE [argumenty]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Uruchomienie programu w innym kontekscie bezpieczeństwa\n" #~ "Bez KONTEKSTU ani POLECENIA - wypisanie bieżącego kontekstu " #~ "bezpieczeństwa.\n" #~ "\n" #~ " KONTEKST pełny kontekst bezpieczeństwa\n" #~ " -c, --compute wyliczenie przejściowego kontekstu procesu przez\n" #~ " zmodyfikowaniem kontekstu\n" #~ " -t, --type=TYP typ (dla tej samej roli, w której jest proces\n" #~ " rodzicielski)\n" #~ " -u, --user=UŻYTKOWNIK identyfikacja użytkownika\n" #~ " -r, --role=ROLA rola\n" #~ " -l, --range=ZAKRES zakres poziomów\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "wiele ról" #~ msgid "multiple types" #~ msgstr "wiele typów" #~ msgid "multiple users" #~ msgstr "wielu użytkowników" #~ msgid "multiple levelranges" #~ msgstr "wiele zakresów" #~ msgid "failed to get current context" #~ msgstr "nie udało się odczytać bieżącego kontekstu" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "musisz użyć -c, -t -u, -l, -r albo kontekstu" #~ msgid "no command specified" #~ msgstr "brak polecenia" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "runcon może być użyty tylko z jądrem SELinux" #~ msgid "failed to compute a new context" #~ msgstr "nie udało się obliczyć nowego kontekstu" #~ msgid "failed to set new user %s" #~ msgstr "nie udało się ustawić nowego użytkownika %s" #~ msgid "failed to set new type %s" #~ msgstr "nie udało się ustawić nowego typu %s" #~ msgid "failed to set new range %s" #~ msgstr "nie udało się ustawić nowego zakresu %s" #~ msgid "failed to set new role %s" #~ msgstr "nie udało się ustawić nowej roli %s" #~ msgid "unable to set security context %s" #~ msgstr "nie udało się ustawić kontekstu bezpieczeństwa %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... OSTATNIA\n" #~ " albo: %s [OPCJA]... PIERWSZA OSTATNIA\n" #~ " albo: %s [OPCJA]... PIERWSZA KROK OSTATNIA\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Wyświetlenie liczb od PIERWSZEJ do OSTATNIEJ z krokiem KROK.\n" #~ "\n" #~ " -f, --format=FORMAT użycie FORMATU w stylu zmiennoprzecinkowego " #~ "formatu\n" #~ " funkcji printf\n" #~ " -s, --separator=NAPIS rozdzielenie liczb NAPISEM (domyślnie: \\n)\n" #~ " -w, --equal-width wypełnienie zerami do równej szerokości\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Jeżeli PIERWSZA lub KROK są pominięte, mają domyślną wartość 1. Tzn. " #~ "jeżeli\n" #~ "KROK jest pominięty, domyślnie ma wartość 1, nawet jeżeli OSTATNIA jest\n" #~ "mniejsza od PIERWSZEJ. PIERWSZA, KROK i OSTATNIA są interpretowane jako\n" #~ "liczby zmiennoprzecinkowe. KROK zwykle jest dodatni, jeśli PIERWSZA jest\n" #~ "mniejsza od OSTATNIEJ, KROK jest zwykle ujemny, jeśli PIERWSZA jest " #~ "większa\n" #~ "od OSTATNIEJ.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "FORMAT musi umożliwiać wypisanie jednego argumentu typu `double'; " #~ "domyślnie\n" #~ "jest to %.DOKŁf jeżeli PIERWSZA, KROK i OSTATNIA są wszystkie całkowite, " #~ "z\n" #~ "maksymalną dokładnością DOKŁ albo %g w przeciwnym przypadku.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "błędny argument zmiennoprzecinkowy: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "błędny format: %s" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "za dużo określeń konwersji %% w rozszerzeniu" #~ msgid "invalid format string: %s" #~ msgstr "błędny format: %s" # ? - rzm #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "nie można podawać formatu, gdy drukowane są łańcuchy o równej długości" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s OPCJA UŻYTKOWNIK POLECENIE [ARGUMENT]...\n" #~ " albo: %s OPCJA\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Pozbycie się wszystkich dodatkowych grup, przyjęcie identyfikatora i " #~ "grupy\n" #~ "UŻYTKOWNIKA (numerycznego albo nazwy) i wykonanie POLECENIA z podanymi\n" #~ "ARGUMENTAMI. Wyjście ze statusem 111, jeżeli nie da się przyjąć " #~ "wymaganych\n" #~ "identyfikatorów użytkownika i grupy. W przeciwnym przypadku wyjście ze\n" #~ "statusem wyjściowym POLECENIA. Ten program jest przydatny tylko jeżeli " #~ "jest\n" #~ "uruchomiony przez roota (użytkownika o identyfikatorze zero)\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] również ustawienie identyfikatora grupy głównej " #~ "zgodnie\n" #~ " z numerycznym GID, a identyfikatorów dodatkowych grup " #~ "-\n" #~ " jeżeli podane - jako GID1, ...\n" #~ msgid "unknown user-ID: %s" #~ msgstr "nieznany identyfikator użytkownika %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "żeby użyć identyfikatora użytkownika %s trzeba użyć też opcji -g" #~ msgid "failed to set supplemental group(s)" #~ msgstr "nie udało się ustawić grup dodatkowych" #~ msgid "cannot set group-ID to %lu" #~ msgstr "nie można ustawić identyfikatora grupy %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "nie można ustawić identyfikatora użytkownika %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Składnia: %s [OPCJE] PLIK [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Wielokrotne zamazanie podanego PLIKU w celu utrudnienia odzyskania jego\n" #~ "zawartości nawet przy użyciu drogich urządzeń do odzyskiwania danych.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force zmiana uprawnień w razie potrzeby, żeby pozwolić na " #~ "zapis\n" #~ " -n, --iterations=N zamazanie N razy zamiast domyślnych %d\n" #~ " -s, --size=N zamazanie N bajtów (można używać przyrostków typu K, M, " #~ "G)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove skrócenie i skasowanie pliku po zamazaniu\n" #~ " -v, --verbose pokazywanie przebiegu zamazywania\n" #~ " -x, --exact bez zaokrąglania rozmiarów plików w górę do pełnych " #~ "bloków,\n" #~ " domyślnie dla plików innych niż zwykłe\n" #~ " -z, --zero dodatkowe zamazanie zerami, aby ukryć zamazywanie\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Jeżeli PLIK jest podany jako -, zamazywane jest standardowe wyjście.\n" #~ "\n" #~ "Jeżeli podana jest opcja --remove (-u) PLIK jest kasowany. Domyślnie " #~ "PLIK\n" #~ "nie jest kasowany, ponieważ często operacje dotyczą plików urządzeń, jak\n" #~ "/dev/hda, a takie pliki zwykle nie powinny być usuwane. Przy zamazywaniu\n" #~ "zwykłych plików zwykle używa się opcji --remove.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "UWAGA: Należy pamiętać, że shred opiera się na ważnym założeniu: że " #~ "system\n" #~ "plików zamazuje dane w tym samym miejscu, gdzie je pierwotnie zapisał. " #~ "Tak\n" #~ "dzieje się tradycyjnie, ale wiele nowoczesnych systemów plików tak nie " #~ "robi.\n" #~ "Z następującymi systemami plików shred nie działa efektywnie albo nie ma\n" #~ "gwarancji, że działa efektywnie we wszystkich trybach pracy systemu " #~ "plików:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* opartymi na logowaniu i journalingu, jak dostarczane z AIXem i " #~ "Solarisem\n" #~ " (oraz JFS, ReiserFS, XFS, Ext3 itd.)\n" #~ "\n" #~ "* takimi, które zapisują dane na dodatkowych dyskach i kontynuują pracę,\n" #~ " nawet jeżeli nie udają się niektóre operacje zapisu, jak systemy " #~ "plików\n" #~ " oparte na RAID\n" #~ "\n" #~ "* które zapisują stan chwilowy, jak serwer NFS Network Appliance\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* używającymi tymczasowego cache'a, jak klient wersji 3 NFS\n" #~ "\n" #~ "* kompresowanymi\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "W przypadku systemu plików ext3 powyższe uwagi mają znaczenie (a shred " #~ "ma\n" #~ "wtedy ograniczona efektywność) tylko w trybie data=journal, w którym\n" #~ "journallingowi podlega oprócz metadanych również zawartość pliku. Zarówno " #~ "w\n" #~ "trybie data=ordered (domyślny) jak data=writeback shred działa jak " #~ "zazwyczaj.\n" #~ "Tryb jourinallingu ext3 może byc zmieniony przez dodanie opcji data=opcja " #~ "do\n" #~ "opcji mount-a dla danego systemu plików w pliku /etc/fstab, jak podaje " #~ "manual\n" #~ "(man mount)\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Dodatkowo backupy i zdalne kopie mogą zawierać egzemplarze tego samego " #~ "pliku,\n" #~ "które nie mogą zostać usunięte i plik zamazany schredem może zostać\n" #~ "odtworzony.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: błąd fdatasync" #~ msgid "%s: fsync failed" #~ msgstr "%s: błąd fsync" #~ msgid "%s: cannot rewind" #~ msgstr "%s: nie można przewinąć" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: przebieg %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: błąd zapisu na pozycji %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: nie udało się ustawienie pozycji lseek" #~ msgid "%s: file too large" #~ msgstr "%s: plik jest za duży" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: przebieg %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: przebieg %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: błąd fstat" #~ msgid "%s: invalid file type" #~ msgstr "%s: błędny typ pliku" #~ msgid "%s: file has negative size" #~ msgstr "%s: plik ma ujemny rozmiar" #~ msgid "%s: error truncating" #~ msgstr "%s: błąd obcinania" #~ msgid "%s: fcntl failed" #~ msgstr "%s: błąd fcntl" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: nie można zamazywać pliku tylko do dopisywania" #~ msgid "%s: removing" #~ msgstr "%s: usuwanie" #~ msgid "%s: renamed to %s" #~ msgstr "%s: przemianowany na %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: błąd przy kasowaniu pliku" #~ msgid "%s: removed" #~ msgstr "%s: skasowany" #~ msgid "%s: failed to close" #~ msgstr "%s: błąd przy zamykaniu pliku" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: błąd przy otwieraniu do zapisu" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: błędna liczba przebiegów" #~ msgid "multiple random sources specified" #~ msgstr "podano wiele źródeł losowych bajtów" #~ msgid "%s: invalid file size" #~ msgstr "%s: błędny rozmiar pliku" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Składnia: %s [OPCJA]... [PLIK]\n" #~ " albo: %s -e [OPCJA]... [ARGUMENT]\n" #~ " albo: %s -i LO-HI [OPCJA]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Wypisanie losowej permutacji linii wejściowych na standardowym wyjściu.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo traktowanie każdego argumentu jako linii\n" #~ " wejściowej\n" #~ " -i, --input-range=LO-HI traktowanie każdej liczby od LO do HI jako " #~ "linii\n" #~ " wejściowej\n" #~ " -n, --head-lines=LINIE najwyżej tyle LINII na wyjściu\n" #~ " -o, --output=PLIK zapis wyników do PLIKU zamiast do " #~ "standardowego\n" #~ " wyjścia\n" #~ " --random-source=PLIK pobranie losowych bajtów za PLIKU (domyślnie\n" #~ " /dev/urandom)\n" #~ " -z, --zero-terminated zakończenie linii przez bajt 0, nie przez " #~ "znak\n" #~ " nowej linii\n" #~ msgid "multiple -i options specified" #~ msgstr "podano wiele opcji -i" #~ msgid "invalid input range %s" #~ msgstr "błędny zakres wejściowy: %s" #~ msgid "invalid line count %s" #~ msgstr "błędna liczba linii %s" #~ msgid "multiple output files specified" #~ msgstr "podano wiele plików wyjściowych" #~ msgid "extra operand %s\n" #~ msgstr "nadmiarowy argument %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Składnia: %s ILE[PRZYROSTEK]...\n" #~ " albo: %s OPCJA\n" #~ "Czekanie przez określoną LICZBĘ sekund. PRZYROSTKIEM może być `s' dla\n" #~ "oznaczenia sekund (domyślnie), m - minut, h - godzin i d - dni. Inaczej " #~ "niż w\n" #~ "większości implementacji, w których ILE musi być liczbą całkowitą, tutaj " #~ "ILE\n" #~ "może być dowolną liczbą zmiennoprzecinkową. Jeżeli podane są dwa lub " #~ "więcej\n" #~ "argumenty, przerwa trwa tyle ile suma ich wartości.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "błędny odstęp czasowy %s" #~ msgid "cannot read realtime clock" #~ msgstr "nie można odczytać zegara systemowego" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Wypisanie posortowanego połączenia wszystkich PLIK(ÓW) na standardowym " #~ "wyjściu\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Opcje porządkowania:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks zignorowanie początkowych spacji\n" #~ " -d, --dictionary-order branie pod uwagę tylko znaków odstępu i\n" #~ " alfanumerycznych\n" #~ " -f, --ignore-case traktowanie małych liter jak wielkich\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort porównywanie według wartości liczbowej\n" #~ " -i, --ignore-nonprinting branie pod uwagę tylko znaków drukowalnych\n" #~ " -M, --month-sort porządek: (nieznany) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort porównywanie według wartości liczbowych " #~ "łańcuchów\n" #~ " -R, --random-sort sortowanie wg losowego skrótu kluczy\n" #~ " --random-source=PLIK losowe bajty z PLIKU (domyślnie /dev/" #~ "urandom)\n" #~ " -r, --reverse odwrotny porządek sortowania\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Inne opcje:\n" #~ "\n" #~ " -c, --check sprawdzenie czy dane są posortowane, bez " #~ "sortowania\n" #~ " -C, --check=quiet, --check=silent jak -c, ale bez pierwszej złej " #~ "linii\n" #~ " --compress-program=PROG kompresowanie plików tymczasowych przez " #~ "PROG;\n" #~ " dekompresowanie przez PROG -d\n" #~ " -k, --key=POZ1[,POZ2] klucz zaczyna się od POZYCJI1 i kończy na " #~ "POZYCJI2\n" #~ " (numeracja od 1)\n" #~ " -m, --merge połączenie już posortowanych plików, bez " #~ "sortowania\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=PLIK zapisanie wyniku w PLIKU zamiast na " #~ "standardowym\n" #~ " wyjściu\n" #~ " -s, --stable stabilizacja sortowania przez zablokowanie\n" #~ " porównania końcowego\n" #~ " -S, --buffer-size=ROZM ROZMIAR głównego bufora pamięci\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP użycie SEPARATORA zamiast przejścia\n" #~ " odstęp - nie-odstęp\n" #~ " -T, --temporary-directory=KATALOG użycie KATALOGU na pliki tymczasowe\n" #~ " zamiast $TMPDIR lub %s; opcja użyta\n" #~ " więcej razy definiuje więcej katalogów\n" #~ " -u, --unique z -c: sprawdzenie uporządkowania; bez -c:\n" #~ " wypisanie tylko pierwszej z identycznych " #~ "linii\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated zakończenie linii bajtem 0 zamiast znakiem " #~ "nowej\n" #~ " linii\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POZ to P[.Z][OPCJE], gdzie P jest numerem pola, a Z pozycją znaku w polu; " #~ "oba\n" #~ "liczone od jedynki. Jeżeli nie jest użyta opcja -t ani -b, znaki w polu " #~ "są\n" #~ "liczone do początku poprzedzającego odstępu. OPCJE zawierają jedną lub " #~ "więcej\n" #~ "liter, które dla tego klucza są ważniejsze niż opcje globalne. Jeżeli " #~ "nie\n" #~ "jest podany klucz, cała linia jest używana jako klucz.\n" #~ "\n" #~ "ROZMIAR może być uzupełniony o następujące mnożniki:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% - 1% pamięci, b - 1, K - 1024 (domyślnie) itd. dla M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "Jeżeli PLIK nie jest podany albo podany jako -, czytane jest standardowe\n" #~ "wejście\n" #~ "\n" #~ "*** UWAGA ***\n" #~ "Locale ustawione przez zmienne środowiskowe wpływa na porządek " #~ "sortowania.\n" #~ "Ustaw LC_ALL=C żeby przywrócić tradycyjny porządek sortowania, który " #~ "używa\n" #~ "dosłownych wartości bajtów.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "czekanie na %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] zakończone nieprawidłowo" #~ msgid "cannot create temporary file" #~ msgstr "nie można utworzyć pliku tymczasowego" #~ msgid "open failed" #~ msgstr "błąd otwierania pliku" #~ msgid "fflush failed" #~ msgstr "błąd fflush" #~ msgid "close failed" #~ msgstr "błąd zamykania pliku" #~ msgid "dup2 failed" #~ msgstr "błąd dup2" #~ msgid "couldn't execute %s" #~ msgstr "nie udało się uruchomić %s" #~ msgid "couldn't create temporary file" #~ msgstr "nie udało się utworzyć pliku tymczasowego" #~ msgid "couldn't open temporary file" #~ msgstr "nie udało się otworzyć pliku tymczasowego" #~ msgid "couldn't execute %s -d" #~ msgstr "nie udało się uruchomić %s -d" #~ msgid "write failed" #~ msgstr "błąd zapisu" #~ msgid "warning: cannot remove: %s" #~ msgstr "uwaga: nie udało się usunąć %s" #~ msgid "stat failed" #~ msgstr "błąd stat" #~ msgid "read failed" #~ msgstr "błąd czytania" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: nieuporządkowanie: " #~ msgid "standard error" #~ msgstr "standardowe wyjście błędów" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: błędna specyfikacja pola %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "opcje `-%s' nie pasują do siebie" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: błędna liczba na początku %s" #~ msgid "invalid number after `-'" #~ msgstr "błędna liczba po `-'" #~ msgid "invalid number after `.'" #~ msgstr "błędna liczba po `.'" #~ msgid "stray character in field spec" #~ msgstr "nieprawidłowy znak w specyfikacji pola" #~ msgid "multiple compress programs specified" #~ msgstr "podano wiele programów kompresujących" #~ msgid "invalid number at field start" #~ msgstr "błędna liczba na początku pola" #~ msgid "field number is zero" #~ msgstr "numer pola wynosi zero" #~ msgid "character offset is zero" #~ msgstr "numer znaku wynosi zero" #~ msgid "invalid number after `,'" #~ msgstr "błędna liczba po `,'" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "dodatkowy argument %s nie może być użyty z opcją -%c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Składnia: %s [OPCJA] [PLIK [PRZEDROSTEK]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Zapisanie równych kawałków PLIKU do PRZEDROSTEKaa, PRZEDROSTEKab, ...;\n" #~ "domyślny rozmiat to 1000 linii, domyslny PRZEDROSTEK to `x'. Jeżeli PLIK " #~ "nie\n" #~ "jest podany albo podany jako -, czytane jest standardowe wejście\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N użycie przyrostków o długości N (domyślnie %d)\n" #~ " -b, --bytes=ROZMIAR zapisanie po ROZMIAR bajtów do plików " #~ "wyjściowych\n" #~ " -C, --line-bytes=ROZMIAR zapisanie najwyżej ROZMIAR bajtów pełnych " #~ "linii\n" #~ " -d, --numeric-suffixes użycie przyrostków liczbowych zamiast " #~ "literowych\n" #~ " -l, --lines=ILE zapis ILU linii do każdego pliku wyjściowego\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose przed otwarciem każdego pliku wypisanie " #~ "komunikatów\n" #~ " diagnostycznych na standardowe wyjście " #~ "błędów\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "ROZMIAR może mieć następujące przyrostki mnożące:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, itd. dla T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "tworzenie pliku %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "nie można podzielić na więcej niż jeden sposób" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: błędna długość przyrostka" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: błędna liczba bajtów" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: błędna liczba linii" #~ msgid "line count option -%s%c... is too large" #~ msgstr "za duża ilość linii w opcji -%s%c..." #~ msgid "invalid number of lines: 0" #~ msgstr "błędna liczba linii: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "uwaga: nierozpoznana sekwencja `\\%c'" #~ msgid "%s: invalid directive" #~ msgstr "%s: błędna dyrektywa" #~ msgid "warning: backslash at end of format" #~ msgstr "uwaga: ukośnik odwrotny na końcu formatu" #~ msgid "cannot read file system information for %s" #~ msgstr "nie można przeczytać informacji systemowych o %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Składnia: %s [OPCJA] PLIK...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Pokazanie danych pliku albo systemu plików\n" #~ "\n" #~ " -L, --dereference rozwiązywanie dowiązań symbolicznych\n" #~ " -f, --file-system pokazanie danych systemu plików, a nie pliku\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=FORMAT użycie podanego FORMATU zamiast domyślnego; po\n" #~ " użyciu każdego nowego FORMATU wypisywany jest " #~ "znak\n" #~ " nowej linii\n" #~ " --printf=FORMAT jak --format, ale z interpretacją sekwencji z\n" #~ " ukośnikiem odwrotnym i bez wypisywania znaku " #~ "nowej\n" #~ " linii. Żeby go wypisać użyj \\n w FORMACIE.\n" #~ " -t, --terse wypisywanie informacji w skróconej formie\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Prawidłowe specyfikacje formatu dla plików (bez opcji --file-system):\n" #~ "\n" #~ " %a prawa dostępu ósemkowo\n" #~ " %A prawa dostępu w postaci czytelnej dla człowieka\n" #~ " %b liczba zajętych bloków (zobacz %B)\n" #~ " %B rozmiar w bajtach każdego bloku podanego przez `%b'\n" #~ " %C kontekst bezpieczeństwa SELinuksa\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d numer urządzenia dziesiętnie\n" #~ " %D numer urządzenia szesnastkowo\n" #~ " %f tryb surowy, szesnastkowo\n" #~ " %F typ pliku\n" #~ " %g numer grupy właściciela pliku\n" #~ " %G nazwa grupy właściciela pliku\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h liczba dowiązań zwykłych\n" #~ " %i numer i-węzła\n" #~ " %n nazwa pliku\n" #~ " %N nazwa pliku w cudzysłowach, rozwiązana jeżeli dowiązanie " #~ "symboliczne\n" #~ " %o rozmiar bloku wejścia/wyjścia\n" #~ " %s całkowity rozmiar w bajtach\n" #~ " %t większy numer urządzenia szesnastkowo\n" #~ " %T mniejszy numer urządzenia szesnastkowo\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u numer użytkownika właściciela\n" #~ " %U nazwa właściciela\n" #~ " %x czas ostatniego czytania\n" #~ " %X czas ostatniego czytania w sekundach od Epoki\n" #~ " %y czas ostatniej modyfikacji\n" #~ " %Y czas ostatniej modyfikacji w sekundach od Epoki\n" #~ " %z czas ostatniej zmiany czasu\n" #~ " %Z czas ostatniej zmiany czasu w sekundach od Epoki\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Prawidłowe specyfikacje formatu dla systemów plików:\n" #~ "\n" #~ " %a liczba wolnych bloków dostępnych dla zwykłego użytkownika\n" #~ " %b całkowita liczba bloków danych w systemie plików\n" #~ " %c całkowita liczba i-węzłów w systemie plików\n" #~ " %d liczba wolnych i-węzłów w systemie plików\n" #~ " %f liczba wolnych bloków w systemie plików\n" #~ " %C kontekst bezpieczeństwa SELinuksa\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i identyfikator systemu plików szesnastkowo\n" #~ " %l maksymalna długość nazw plików\n" #~ " %n nazwa pliku\n" #~ " %s optymalny rozmiar bloku przy zapisie/odczycie\n" #~ " %S Podstawowy rozmiar bloku (dla zliczeń bloków)\n" #~ " %t typ szesnastkowo\n" #~ " %T typ w formie czytelnej dla człowieka\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Składnia: %s [-F URZĄDZENIE] [--file=URZĄDZENIE] [USTAWIENIA]...\n" #~ " albo: %s [-F URZĄDZENIE] [--file=URZĄDZENIE] [-a|--all]\n" #~ " albo: %s [-F URZĄDZENIE] [--file=URZĄDZENIE] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Wyświetlenie lub zmiana ustawień terminala.\n" #~ "\n" #~ " -a, --all wyświetlenie wszystkich aktualnych ustawień w " #~ "postaci\n" #~ " czytelnej dla człowieka\n" #~ " -g, --save wyświetlenie wszystkich aktualnych ustawień w " #~ "formacie\n" #~ " czytelnym dla stty\n" #~ " -F, --file=URZĄDZENIE otwarcie i używanie podanego URZĄDZENIA zamiast\n" #~ " standardowego wejścia\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Opcjonalny minus przed USTAWIENIEM oznacza zaprzeczenie. Gwiazdka * " #~ "oznacza\n" #~ "ustawienia spoza POSIX. System sam określa, które ustawienia są " #~ "dostępne.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Znaki specjalne:\n" #~ " * dsusp ZNAK ZNAK wysyła do terminala sygnał stopu po opróżnieniu " #~ "wejścia\n" #~ " eof ZNAK ZNAK wysyła znak końca pliku (końca wejścia)\n" #~ " eol ZNAK ZNAK wysyła znak końca linii\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 ZNAK alternatywny ZNAK końca linii\n" #~ " erase ZNAK ZNAK kasuje ostatni wprowadzony znak\n" #~ " intr ZNAK ZNAK wysyła sygnał przerwania\n" #~ " kill ZNAK ZNAK kasuje bieżącą linię\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext ZNAK ZNAK wprowadza następny znak w cudzysłowie\n" #~ " quit ZNAK ZNAK wysyła sygnał wyjścia\n" #~ " * rprnt ZNAK ZNAK powtarza bieżącą linię\n" #~ " start ZNAK ZNAK wznawia wyświetlanie\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop ZNAK ZNAK wstrzymuje wyświetlanie\n" #~ " susp ZNAK ZNAK wysyła do terminala sygnał stop\n" #~ " * swtch ZNAK ZNAK włącza inną warstwę powłoki\n" #~ " * werase ZNAK ZNAK kasuje ostatnie wprowadzone słowo\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Ustawienia specjalne:\n" #~ " N ustawienie prędkości wyjściowej i wejściowej na N bitów/" #~ "s\n" #~ " * cols N ustawienie szerokości terminala na N kolumn\n" #~ " * columns N to samo co cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N ustawienie prędkości wejściowej na N\n" #~ " * line N użycie rygoru linii (line discipline) N\n" #~ " min N z -icanon ustawienie minimum N znaków pełnego odczytu\n" #~ " ospeed N ustawienie prędkości wyjściowej na N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N ustawienie długości terminala na N wierszy\n" #~ " * size wyświetlenie liczby wierszy i kolumn według ustawień " #~ "jądra\n" #~ " speed wyświetlenie prędkości terminala\n" #~ " time N z -icanon ustawienie timeout na N dziesiątych sekundy\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Ustawienia sterujące:\n" #~ " [-]clocal wyłączenie sygnałów sterowania modemu\n" #~ " [-]cread włączenie odbioru z wejścia\n" #~ " * [-]crtscts włączenie protokołu RTS/CTS (handshaking)\n" #~ " csN ustawienie wielkości znaku na N bitów, N w zakresie " #~ "[5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb użycie dwóch bitów stopu na znak (jeden z `-')\n" #~ " [-]hup wysłanie sygnału rozłączenia gdy ostatni proces zamknie\n" #~ " terminal\n" #~ " [-]hupcl to samo co [-]hup\n" #~ " [-]parenb włączenie ustawiania i sprawdzania bitu parzystości\n" #~ " [-]parodd włączenie parzystości nieparzystej (parzystej z `-')\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Ustawienia wejścia:\n" #~ " [-]brkint znaki break powodują wysłanie sygnału przerwania\n" #~ " [-]icrnl zamienianie znaków CR na NL\n" #~ " [-]ignbrk ignorowanie znaku break\n" #~ " [-]igncr ignorowanie znaku CR\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar ignorowanie znaków z błędami parzystości\n" #~ " * [-]imaxbel piszczenie przy pełnym buforze (bez jego opróżniania) " #~ "po\n" #~ " wprowadzeniu znaku\n" #~ " [-]inlcr zamienianie znaków NL na CR\n" #~ " [-]inpck włączenie kontroli parzystości na wejściu\n" #~ " [-]istrip zerowanie najstarszego (ósmego) bitu znaków na wejściu\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "" #~ " * [-]iutf8 program zakłada, że znaki wejściowe są zakodowane w UTF-" #~ "8\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc zamienianie wielkich liter na małe\n" #~ " * [-]ixany każdy znak wznawia transmisję, nie tylko start\n" #~ " [-]ixoff włączenie wysyłania znaków start/stop\n" #~ " [-]ixon włączenie protokołu sterowania przepływem XON/XOF\n" #~ " [-]parmrk zaznaczanie błędów parzystości sekwencją 255-0-znak\n" #~ " [-]tandem to samo co [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Ustawienia dla wyjścia:\n" #~ " * bsN styl opóźnienia po znaku BS, N w zakresie [0..1]\n" #~ " * crN styl opóźnienia po znaku CR, N w zakresie [0..3]\n" #~ " * ffN styl opóźnienia po znaku FF, N w zakresie [0..1]\n" #~ " * nlN styl opóźnienia po znaku NL, N w zakresie [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl zamienianie znaku CR na NL\n" #~ " * [-]ofdel używanie znaku DEL zamiast NUL jako znaku " #~ "wypełniającego\n" #~ " * [-]ofill używanie znaków wypełniających zamiast opóźnień " #~ "transmisji\n" #~ " * [-]olcuc zamienianie małych liter na wielkie\n" #~ " * [-]onlcr zamienianie znaków NL na sekwencje CR-NL\n" #~ " * [-]onlret znak NL powoduje powrót karetki (carriage return)\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr bez wysyłania znaków CR w pierwszej kolumnie\n" #~ " [-]opost przetwarzanie znaków wyjściowych\n" #~ " * tabN styl opóźnienia po tabulatorze poziomym, N w zakresie " #~ "[0..3]\n" #~ " * tabs to samo co tab0\n" #~ " * -tabs to samo co tab3\n" #~ " * vtN styl opóźnienia po tabulatorze pionowym, N w zakresie " #~ "[0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Ustawienia lokalne:\n" #~ " [-]crterase wyświetlanie znaku erase jako BS-spacja-BS\n" #~ " * crtkill kasowanie całej linii zgodnie z ustawieniami echoprt i " #~ "echoe\n" #~ " * -crtkill kasowanie całej linii zgodnie z ustawieniami echoctl i " #~ "echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho wyświetlanie znaków kontrolnych jako `^c' itp.\n" #~ " [-]echo wyświetlanie każdego znaku z wejścia\n" #~ " * [-]echoctl to samo co [-]ctlecho\n" #~ " [-]echoe to samo co [-]crterase\n" #~ " [-]echok wyświetlanie znaku nowej linii po znaku kill\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke to samo co [-]crtkill\n" #~ " [-]echonl wyświetlanie znaku NL nawet jeśli inne nie są " #~ "wyświetlane\n" #~ " * [-]echoprt wyświetlanie skasowanych znaków wstecz między `\\' i " #~ "`/'\n" #~ " [-]icanon wyświetlanie znaków erase, kill, werase i rprnt\n" #~ " [-]iexten wyświetlanie znaków spoza specyfikacji POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig wyświetlanie znaków intr, quit i susp\n" #~ " [-]noflsh bez opróżniania bufora po znakach intr i quit\n" #~ " * [-]prterase to samo co [-]echoprt\n" #~ " * [-]tostop zatrzymywanie procesów w tle, próbujących pisać na " #~ "terminal\n" #~ " * [-]xcase z icanon: wyświetlanie wielkich liter jako `\\mała-" #~ "litera'\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Kombinacje ustawień:\n" #~ " * [-]LCASE jak [-]lcase\n" #~ " cbreak jak -icanon\n" #~ " -cbreak jak icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked jak brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof i eol ustawione na wartości domyślne\n" #~ " -cooked jak raw\n" #~ " crt jak echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec jak echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq jak [-]ixany\n" #~ " ek ustawienie znaków erase i kill na wartości domyślne\n" #~ " evenp jak parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp jak -parenb cs8\n" #~ " * [-]lcase jak xcase iuclc olcuc\n" #~ " litout jak -parenb -istrip -opost cs8\n" #~ " -litout jak parenb istrip opost cs7\n" #~ " nl jak -icrnl -onlcr\n" #~ " -nl jak icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp jak parenb parodd cs7\n" #~ " -oddp jak -parenb cs8\n" #~ " [-]parity jak [-]evenp\n" #~ " pass8 jak -parenb -istrip cs8\n" #~ " -pass8 jak parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw jak -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw jak cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane jak cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, wszystkie znaki\n" #~ " specjalne przybierają standardowe wartości.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Obsługa linii terminalowej podłączonej do standardowego wejścia.\n" #~ "Bez argumentów wyświetla prędkość transmisji, rygor linii i odchylenia\n" #~ "od stty sane. W ustawieniach ZNAK powinien być podany dosłownie lub\n" #~ "zakodowany np. ^c, 0x37, 0177 lub 127; wartość ^- lub słowo undef są\n" #~ "używane do wyłączania znaków specjalnych.\n" #~ msgid "only one device may be specified" #~ msgstr "może być podane tylko jedno urządzenie" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "opcje --all i --save wzajemnie się wykluczają" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "tryb nie może być ustawiany, gdy podany jest format wyjścia" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: zresetowanie trybu nie blokującego nie było możliwe" #~ msgid "invalid argument %s" #~ msgstr "błędny argument %s" #~ msgid "missing argument to %s" #~ msgstr "brakujący argument %s" #~ msgid "invalid line discipline %s" #~ msgstr "błędna dyscyplina linii: %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: wykonanie wszystkich żądanych operacji było niemożliwe" #~ msgid "new_mode: mode\n" #~ msgstr "nowy_tryb: tryb\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: brak informacji o wielkości tego urządzenia" #~ msgid "invalid integer argument %s" #~ msgstr "błędny argument całkowity %s" #~ msgid "Password:" #~ msgstr "Hasło:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: otwarcie /dev/tty niemożliwe" #~ msgid "cannot set groups" #~ msgstr "nie można ustawić grup" #~ msgid "cannot set group id" #~ msgstr "nie można ustawić identyfikatora grupy" #~ msgid "cannot set user id" #~ msgstr "nie można ustawić identyfikatora użytkownika" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Składnia: %s [OPCJA]... [-] [UŻYTKOWNIK [ARGUMENT]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Zmiana efektywnego identyfikatora użytkownika i grupy na identyfikator\n" #~ "UŻYTKOWNIKA.\n" #~ "\n" #~ " -, -l, --login uruchomienie powłoki podstawowej (login " #~ "shell)\n" #~ " -c, --command=POLECENIE przekazanie POLECENIA powłoce opcją -c\n" #~ " -f, --fast przekazanie -f powłoce (dla csh lub tcsh)\n" #~ " -m, --preserve-environment bez kasowania zmiennych środowiskowych\n" #~ " -p to samo co -m\n" #~ " -s, --shell=POWŁOKA uruchomienie POWŁOKI, jeśli /etc/shells " #~ "pozwala\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Sam - jest równoznaczny -l. Jeśli brak UŻYTKOWNIKA, domyślnym jest root.\n" #~ msgid "user %s does not exist" #~ msgstr "użytkownik %s nie istnieje" #~ msgid "incorrect password" #~ msgstr "niepoprawne hasło" #~ msgid "using restricted shell %s" #~ msgstr "użycie powłoki z ograniczeniami %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "uwaga: nie można zmienić katalogu na %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Wypisanie sumy kontrolnej i liczby bloków dla każdego PLIKU.\n" #~ "\n" #~ " -r użycie algorytmu BSD i bloków po 1 KB\n" #~ " -s, --sysv użycie algorytmu Systemu V i bloków po 512 bajtów\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Wymuszenie zapisu zmienionych bloków na dysk, aktualizacja super-bloku.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "wszystkie argumenty zostały zignorowane" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "UWAGA: używana przez ciebie powłoka systemowa może mieć własną wersję %" #~ "s,\n" #~ "która zwykle zasłania wersję tu opisaną. Szczegóły opcji tego polecenia\n" #~ "opisuje dokumentacja.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help wyświetlenie tego opisu i zakończenie\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version wyświetlenie informacji o wersji i zakończenie\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Raporty o błędach wysyłaj do %s .\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Przepisanie każdego PLIKU na standardowe wyjście, w odwrotnym porządku:\n" #~ "ostatnia linia pierwsza. Jeżeli PLIK nie jest podany albo podany jako -,\n" #~ "czytane jest standardowe wejście.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before dołączenie separatora przed zamiast po\n" #~ " -r, --regex interpretowanie separatora jako wyr. " #~ "regularnego\n" #~ " -s, --separator=NAPIS użycie NAPISU jako separatora zamiast nowej " #~ "linii\n" #~ msgid "%s: seek failed" #~ msgstr "%s: nie udało się ustawienie pozycji" #~ msgid "record too large" #~ msgstr "rekord jest za duży" #~ msgid "cannot create temporary file %s" #~ msgstr "nie można utworzyć pliku tymczasowego %s" #~ msgid "cannot open %s for writing" #~ msgstr "nie można otworzyć %s do pisania" #~ msgid "%s: write error" #~ msgstr "%s: błąd zapisu" #~ msgid "separator cannot be empty" #~ msgstr "separator nie może być pusty" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Wypisanie %d ostatnich linii każdego PLIKU na standardowym wyjściu.\n" #~ "Dla większej liczby PLIKÓW każda porcja ma nagłówek z nazwą. Jeżeli PLIK " #~ "nie\n" #~ "jest podany albo podany jako -, czytane jest standardowe wejście.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry stałe ponawianie próby otwierania pliku, " #~ "nawet\n" #~ " jeżeli jest niedostępny albo staje się " #~ "niedostępny\n" #~ " później; użyteczne do śledzenia wg nazwy, np. " #~ "z\n" #~ " --follow=name\n" #~ " -c, --bytes=N wypisanie ostatnich N bajtów; użyj +N do " #~ "wypisania\n" #~ " bajtów od N-ego najtu każdego z podanych " #~ "plików\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " wypisywanie nowych danych kiedy plik rośnie;\n" #~ " -f, --follow i --follow=descriptor są\n" #~ " równoważne\n" #~ " -F to samo co --follow=name --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N wypisanie ostatnich N linii zamiast ostatnich %" #~ "d\n" #~ " --max-unchanged-stats=N\n" #~ " z --follow=name powoduje ponowne otwieranie " #~ "PLIKU,\n" #~ " który nie zmienił rozmiaru po N (domyślnie %" #~ "d)\n" #~ " iteracjach, dla sprawdzenia czy został " #~ "usunięty\n" #~ " albo przemianowany (częsty przypadek dla " #~ "logów)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID z -f - zakończenie pracy po zakończeniu " #~ "procesu o\n" #~ " numerze PID\n" #~ " -q, --quiet, --silent bez wypisywania nagłówków z nazwami plików\n" #~ " -s, --sleep-interval=S z -f - odczekanie za każdym razem S sekund\n" #~ " -v, --verbose wypisywanie zawsze nagłówków z nazwami plików\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Jeżeli pierwszy znak N (liczby bajtów lub linii) to `+', pisanie zaczyna\n" #~ "się od N-tego elementu od początku każdego pliku. W przeciwnym wypadku\n" #~ "wypisanych jest ostatnich N elementów pliku. N może mieć przyrostek " #~ "mnożący:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 itd. dla T, P, E, Z, Y.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Z --follow (-f) tail domyślnie śledzi przyrosty zawartości pliku o " #~ "określonym\n" #~ "deskryptorze, więc nawet po zmianie nazwy śledzi ten sam plik. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "To zachowanie\n" #~ "jest niepożądane, jeżeli śledzony ma być plik o określonej nazwie (np.\n" #~ "plik loga podlegający rotacji). W tym przypadku należy użyć --" #~ "follow=name, co\n" #~ "powoduje, że tail śledzi podany plik, otwierając go co jakiś czas " #~ "ponownie,\n" #~ "żeby sprawdzić, czy nie został usunięty i ponownie utworzony przez jakiś " #~ "inny\n" #~ "program.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "zamykanie %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: nie można ustawić pozycji względnej %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: nie można ustawić pozycji %s względem końca pliku" #~ msgid "%s has become inaccessible" #~ msgstr "%s stał się niedostępny" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s został zamieniony na plik, którego nie można śledzić tailem; koniec " #~ "śledzenia" #~ msgid "%s has become accessible" #~ msgstr "%s stał się dostępny" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s pojawił się; śledzenie końca nowego pliku" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s został podmieniony; śledzenie końca nowego pliku" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: zresetowanie trybu nie blokującego nie było możliwe" #~ msgid "%s: file truncated" #~ msgstr "%s: plik obcięty" #~ msgid "no files remaining" #~ msgstr "nie ma więcej plików" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "%s: pliku tego typu nie można śledzić" #~ msgid "number in %s is too large" #~ msgstr "liczba w %s jest za duża" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: błędna maksymalna liczba braków zmian stanów między otwarciami pliku" #~ msgid "%s: invalid PID" #~ msgstr "%s: błędny PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: błędna liczba sekund" #~ msgid "option used in invalid context -- %c" #~ msgstr "opcja użyta w błędnym kontekście -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "uwaga: opcja --retry jest przydatna głównie przy śledzeniu nazwy" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "uwaga: zignorowany PID; opcja --pid=PID jest przydatna tylko przy " #~ "śledzeniu" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "uwaga: opcja --pid=PID nie działa w tym systemie" #~ msgid "cannot follow %s by name" #~ msgstr "nie można pokazywać pliku %s wg nazwy" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "warning: stałe podążanie za standardowym wejściem może sie nie udać" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Kopiuje standardowe wejście do każdego PLIKU oraz na standardowe " #~ "wyjście.\n" #~ "\n" #~ " -a, --append dopisywanie do PLIKU, nie nadpisywanie\n" #~ " -i, --ignore-interrupts ignorowanie sygnałów przerwania\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Jeżeli PLIK podany jest jako -, dane są kopiowane na standardowe " #~ "wyjście.\n" #~ msgid "missing argument after %s" #~ msgstr "brakujący argument %s" #~ msgid "invalid integer %s" #~ msgstr "błędna liczba całkowita %s" #~ msgid "')' expected" #~ msgstr "spodziewany `)'" #~ msgid "')' expected, found %s" #~ msgstr "spodziewany `)', a jest %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: spodziewany operator jednoargumentowy" #~ msgid "-nt does not accept -l" #~ msgstr "-nt nie dopuszcza -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef nie dopuszcza -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot nie dopuszcza -l" #~ msgid "unknown binary operator" #~ msgstr "nieznany operator dwuargumentowy" #~ msgid "%s: binary operator expected" #~ msgstr "%s: spodziewany operator dwuargumentowy" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Składnia: test WYRAŻENIE\n" #~ " albo: test\n" #~ " albo: [ WYRAŻENIE ]\n" #~ " albo: []\n" #~ " albo: [ OPCJA\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Zakończenie pracy z kodem wyjścia zależnym od WYRAŻENIA.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Jeżeli brakuje WYRAŻENIA, domyślna wartość to fałsz. W przeciwnym " #~ "przypadku\n" #~ "WYRAŻENIE jest prawdziwe lub fałszywe i wynika z niego kod stanu - jeden " #~ "z:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( WYRAŻENIE ) WYRAŻENIE jest prawdziwe\n" #~ " ! WYRAŻENIE WYRAŻENIE jest fałszywe\n" #~ " WYRAŻENIE1 -a WYRAŻENIE2 WYRAŻENIE1 i WYRAŻENIE2 są prawdziwe\n" #~ " WYRAŻENIE1 -o WYRAŻENIE2 WYRAŻENIE1 lub WYRAŻENIE2 jest prawdziwe\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " [-n] NAPIS NAPIS ma długość różną od zera\n" #~ " NAPIS równoważne z -n NAPIS \n" #~ " -z NAPIS NAPIS ma długość równą zero\n" #~ " NAPIS1 = NAPIS2 napisy są równe\n" #~ " NAPIS1 != NAPIS2 napisy są różne\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " LICZBA1 -eq LICZBA2 LICZBA1 równa LICZBIE2 (liczby całkowite)\n" #~ " LICZBA1 -ge LICZBA2 LICZBA1 większa lub równa LICZBIE2\n" #~ " LICZBA1 -gt LICZBA2 LICZBA1 większa od LICZBY2\n" #~ " LICZBA1 -le LICZBA2 LICZBA1 mniejsza lub równa LICZBIE2\n" #~ " LICZBA1 -lt LICZBA2 LICZBA1 mniejsza od LICZBY2\n" #~ " LICZBA1 -ne LICZBA2 LICZBA1 jest różna od LICZBY2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " PLIK1 -ef PLIK2 PLIK1 i PLIK2 mają ten sam numer urządzenia i i-" #~ "węzła\n" #~ " PLIK1 -nt PLIK2 PLIK1 jest nowszy niż PLIK2 (wg daty modyfikacji)\n" #~ " PLIK1 -ot PLIK2 PLIK1 jest starszy niż PLIK2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b PLIK PLIK istnieje i jest urządzeniem blokowym\n" #~ " -c PLIK PLIK istnieje i jest urządzeniem znakowym\n" #~ " -d PLIK PLIK istnieje i jest katalogiem\n" #~ " -e PLIK PLIK istnieje\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f PLIK PLIK istnieje i jest zwykłym plikiem\n" #~ " -g PLIK PLIK istnieje i ma atrybut set-group-id\n" #~ " -G PLIK PLIK istnieje i jego właścicielem jest efektywna grupa\n" #~ " -h PLIK PLIK istnieje i jest dowiązaniem symbolicznym (to samo co -" #~ "L)\n" #~ " -k PLIK PLIK istnieje i ma ustawiony bit ochrony (sticky bit)\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L PLIK PLIK istnieje i jest dowiązaniem symbolicznym (to samo co -" #~ "h)\n" #~ " -O PLIK PLIK istnieje i jego właścicielem jest efektywny " #~ "użytkownik\n" #~ " -p PLIK PLIK istnieje i jest potokiem z nazwą (named pipe)\n" #~ " -r PLIK PLIK istnieje i może być czytany\n" #~ " -s PLIK PLIK istnieje i ma długość większą od zera\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S PLIK PLIK istnieje i jest gniazdem\n" #~ " -t DP deskryptor pliku DP jest otwarty na terminalu\n" #~ " -u PLIK PLIK istnieje i ma atrybut set-user-id\n" #~ " -w PLIK PLIK istnieje i może być zapisywany\n" #~ " -x PLIK PLIK istnieje i jest wykonywalny albo przeszukiwalny\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Wszystkie testy dotyczące PLIKÓW oprócz -h i -L rozwijają łącza " #~ "symboliczne.\n" #~ "Należy zwrócić uwagę na to, że nawiasy muszą być chronione (np. przez `" #~ "\\')\n" #~ "przed interpretacją przez powłokę. LICZBA musi być całkowita i może mieć " #~ "także\n" #~ "postać -l NAPIS czyli długość NAPISU.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "UWAGA: [ interpretuje opcje --help i --version, ale test tego nie robi.\n" #~ "test traktuje je jak każdy inny niepusty NAPIS.\n" #~ msgid "test and/or [" #~ msgstr "test i/lub [" #~ msgid "missing `]'" #~ msgstr "brak `]'" #~ msgid "extra argument %s" #~ msgstr "nadmiarowy argument: %s" #~ msgid "creating %s" #~ msgstr "utworzenie %s" #~ msgid "cannot touch %s" #~ msgstr "nie można dotknąć %s" #~ msgid "setting times of %s" #~ msgstr "ustawienie czasu %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Uaktualnienie czasu ostatniego odczytu albo modyfikacji każdego PLIKU do\n" #~ "bieżącego czasu.\n" #~ "\n" #~ "Jeżeli argument jest nie istnieje, jest tworzony jako pusty PLIK.\n" #~ "\n" #~ "PLIK o nazwie `-' jest traktowany specjalnie: touch ustawia czas pliku\n" #~ "związanego ze standardowym wyjściem.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a zmiana tylko czasu dostępu\n" #~ " -c, --no-create bez tworzenia nowych plików\n" #~ " -d, --date=SPECYFIKACJA użycie SPECYFIKACJI zamiast bieżącego czasu\n" #~ " -f (ignorowane)\n" #~ " -m zmiana tylko czasu modyfikacji\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=PLIK użycie czasu tego PLIKU zamiast czasu bieżącego\n" #~ " -t CZAS użycie [[CC]YY]MMDDhhmm[.ss] zamiast bieżącego " #~ "czasu\n" #~ " --time=SŁOWO ustawienie czasu wg SŁOWA: access atime use " #~ "(czas\n" #~ " dostępu, to samo co -a), modify mtime (czas\n" #~ " modyfikacji, to samo co -m)\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Należy zauważyć, że opcje -d i -t akceptują różne formaty daty/czasu.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "nie można podać czasu z więcej niż jednego źródła" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "uwaga: `touch %s' jest formą przestarzałą; używaj `touch -t %04ld%02d%02d%" #~ "02d%02d.%02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Składnia: %s [OPCJA]... ZBIÓR1 [ZBIÓR2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Zamiana, usunięcie wielokrotnych i/lub skasowanie znaków ze " #~ "standardowego\n" #~ "wejścia. Wyniki są zapisywane do standardowego wyjścia.\n" #~ "\n" #~ " -c, -C, --complement zbiór znaków komplementarny do ZBIORU1\n" #~ " -d, --delete skasowanie znaków ze ZBIORU1, bez zamian\n" #~ " -s, --squeeze-repeats zamiana ciągu takich samych znaków ze ZBIORU1 " #~ "na\n" #~ " pojedyncze wystąpienia takich znaków\n" #~ " -t, --truncate-set1 najpierw ZBIÓR1 jest obcinany do długości " #~ "ZBIORU2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "ZBIORY są podawane jako ciągi znaków. Większość znaków reprezentuje same\n" #~ "siebie. Specjalnie interpretowane ciągi to:\n" #~ "\n" #~ " \\NNN znak o wartości ósemkowej NNN (od 1 do 3 cyfr " #~ "ósemkowych)\n" #~ " \\\\ ukośnik odwrotny\n" #~ " \\a znak BEL\n" #~ " \\b backspace\n" #~ " \\f nowa strona\n" #~ " \\n nowa linia\n" #~ " \\r powrót karetki\n" #~ " \\t tabulacja pozioma\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v tabulacja pionowa\n" #~ " ZNAK1-ZNAK2 wszystkie znaki od ZNAK1 do ZNAK2, rosnąco\n" #~ " [ZNAK*] w ZBIORZE2 kopiuje ZNAK uzupełniając do długości " #~ "ZBIORU1\n" #~ " [ZNAK*POWTÓRZ] POWTÓRZ kopii ZNAKU, ósemkowo gdy zaczyna się od 0\n" #~ " [:alnum:] wszystkie litery i cyfry\n" #~ " [:alpha:] wszystkie litery\n" #~ " [:blank:] wszystkie odstępy poziome\n" #~ " [:cntrl:] wszystkie znaki sterujące\n" #~ " [:digit:] wszystkie cyfry\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] wszystkie znaki drukowalne oprócz spacji\n" #~ " [:lower:] wszystkie małe litery\n" #~ " [:print:] wszystkie znaki drukowalne włącznie ze spacją\n" #~ " [:punct:] wszystkie znaki przestankowe\n" #~ " [:space:] wszystkie odstępy poziome i pionowe\n" #~ " [:upper:] wszystkie wielkie litery\n" #~ " [:xdigit:] wszystkie cyfry szesnastkowe\n" #~ " [=ZNAK=] wszystkie znaki równoważne ZNAKOWI\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Zamiana następuje gdy nie jest podana opcja -d i są podane oba zbiory " #~ "ZBIÓR1\n" #~ "i ZBIÓR2. -t może być użyte tylko przy zamianie. W razie potrzeby ZBIÓR2\n" #~ "jest uzupełniany do długości ZBIORU1 przez powtórzenie ostatniego znaku.\n" #~ "Nadmiarowe znaki ZBIORU2 są ignorowane. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Tylko [:lower:] i [:upper:] będą na\n" #~ "pewno rozwinięte w porządku rosnącym; użyte w ZBIORZE2 przy zamianie, " #~ "mogą być\n" #~ "tylko zestawione w parach dla konwersji małe-wielkie litery. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "Jeżeli operacją\n" #~ "nie jest ani zamiana ani kasowanie, -s używa ZBIORU1. W przeciwnym " #~ "wypadku\n" #~ "używa ZBIORU2 i kompresja powtórzeń zachodzi po zamianie i kasowaniu.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "uwaga: niejednoznaczny zapis ósemkowy \\%c%c%c zostanie\n" #~ "\tzinterpretowany jako sekwencja 2-bajtowa \\0%c%c, %c" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "uwaga: ukośnik odwrotny bez poprzedzającego znaku cytowania na końcu " #~ "formatu jest nieprzenośny" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "końce zakresu `%s-%s' są w odwrotnym porządku sortowania" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "błędna liczba powtórzeń %s w specyfikacji [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "brakująca nazwa klasy znaków `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "brakujący znak dla klasy równoważności `[==]'" #~ msgid "invalid character class %s" #~ msgstr "błędna klasa znaków %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: operand klasy równoważności musi być pojedynczym znakiem" #~ msgid "too many characters in set" #~ msgstr "za dużo znaków w zbiorze" # should it be string1 or SET1? #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "specyfikacja powtarzania [c*] nie może być w ZBIORZE1" # string2 or SET2? #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "tylko jedna specyfikacja powtarzania [c*] może być w ZBIORZE2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "wyrażenia [=c=] nie mogą być w ZBIORZE2 przy zamianie" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "jeżeli nie jest obcinany ZBIÓR1, ZBIÓR2 musi być niepusty" # ? - rzm #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "przy zamianie z użyciem dopełnień klas znaków,\n" #~ "ZBIÓR2 musi odwzorowywać wszystkie znaki z dziedziny na jeden" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "przy zamianie w ZBIORZE2 mogą się pojawić tylko klasy znaków\n" #~ "`upper' i `lower'" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "specyfikacja [c*] może się pojawić w ZBIORZE2 tylko przy zamianie" #~ msgid "Two strings must be given when translating." #~ msgstr "Przy zamianie muszą być podane dwa zbiory" #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Przy kasowaniu bez kompresji powtórzeń może być podany tylko 1 zbiór." # ? - rzm #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "nie wyrównane konstrukcje [:upper:] i/lub [:lower:]" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s [argumenty są ignorowane]\n" #~ " albo: %s OPCJA\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Wyjście z kodem oznaczającym powodzenie." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Składnia: %s [OPCJA] [PLIK]\n" #~ "Wypisanie całkowicie uporządkowanej listy zgodnie z częściowym " #~ "porządkiem\n" #~ "w PLIKU. Gdy nie podano PLIKU albo podano jako -, czytane jest " #~ "standardowe\n" #~ "wejście.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: dane wejściowe zawierają nieparzystą liczbę elementów" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: dane wejściowe zawierają pętlę:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Składnia: %s [OPCJA]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Napisanie nazwy terminala związanego ze standardowym wejściem.\n" #~ "\n" #~ " -s, --silent, --quiet nic nie jest wypisywane, zwracany jest kod " #~ "powrotu\n" #~ msgid "not a tty" #~ msgstr "to nie jest terminal" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Napisanie informacji o systemie. Bez opcji działa jak z -s.\n" #~ "\n" #~ " -a, --all pokazanie wszystkich informacji w " #~ "następującej\n" #~ " kolejności, oprócz -p i -i, jeżeli " #~ "nieznane:\n" #~ " -s, --kernel-name pokazanie nazwy jądra systemu operacyjnego\n" #~ " -n, --nodename pokazanie sieciowej nazwy systemu\n" #~ " -r, --kernel-release pokazanie numeru edycji jądra systemu\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version pokazanie numeru wersji jądra systemu\n" #~ " -m, --machine pokazanie nazwy sprzętu (architektury)\n" #~ " -p, --processor pokazanie typu procesora albo \"unknown" #~ "\" (nieznany)\n" #~ " -i, --hardware-platform pokazanie platformy sprzętowej albo \"unknown" #~ "\"\n" #~ " -o, --operating-system pokazanie nazwy systemu operacyjnego\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Wypisanie architektury komputera.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "nie można ustalić nazwy systemu" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "W każdym PLIKU spacje zamieniane są na TABy, wynik jest wypisywany na\n" #~ "standardowe wyjście. Jeżeli PLIK nie jest podany albo podany jako -,\n" #~ "czytane jest standardowe wejście.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all zamiana wszystkich odstępów, nie tylko początkowych\n" #~ " --first-only zamiana tylko początkowych odstępów (wyłącza -a)\n" #~ " -t, --tabs=N kolejne TABy co N znaków zamiast 8 (włącza -a)\n" #~ " -t, --tabs=LISTA użycie oddzielanej przecinkami LISTY pozycji TABów\n" #~ " (włącza -a)\n" #~ msgid "tabs are too far apart" #~ msgstr "znaki tabulacji zbyt odległe od siebie" #~ msgid "tab stop value is too large" #~ msgstr "za duża wartość pozycji końca TABów" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Składnia: %s [OPCJA]... [WEJŚCIE [WYJŚCIE]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Pominięcie wszystkich kolejnych identycznych linii z WEJŚCIA (lub\n" #~ "standardowego wejścia) oprócz jednej, wynik jest zapisywany na WYJŚCIE " #~ "(lub\n" #~ "standardowe wyjście).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count poprzedzenie linii liczbą powtórzeń\n" #~ " -d, --repeated wypisanie tylko powtórzonych linii\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=metoda-oddzielenia] wypisanie wszystkich\n" #~ " powtarzających się linii.\n" #~ " metoda-oddzielenia={none(domyślna),prepend," #~ "separate}\n" #~ " (żadna, przed, pomiędzy).\n" #~ " Do oddzielania używane są puste linie\n" #~ " -f, --skip-fields=N bez porównania pierwszych N pól\n" #~ " -i, --ignore-case ignorowanie różnic między małymi i wielkimi " #~ "literami\n" #~ " -s, --skip-chars=N bez porównania pierwszych N znaków\n" #~ " -u, --unique wypisanie tylko linii unikalnych\n" #~ " -z, --zero-terminated na końcach linii bajty 0, nie znak nowej linii\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N porównanie najwyżej N znaków w liniach\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Pole to ciąg znaków odstępu, za którym są znaki nie będące znakami " #~ "odstepu.\n" #~ "Pola są przeskakiwane przed przeskakiwaniem znaków. \n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Uwaga: `uniq' nie wykrywa powtórzeń linii, które nie następują " #~ "bezpośrednio\n" #~ "po sobie. Dane wejściowe można najpierw posortować albo użyć `sort -u'\n" #~ "zamiast `uniq'.\n" #~ msgid "too many repeated lines" #~ msgstr "za dużo powtórzonych linii" #~ msgid "invalid number of fields to skip" #~ msgstr "błędna liczba pól do przeskoczenia" # bytes to skip? we were talking about chars? - rzm #~ msgid "invalid number of bytes to skip" #~ msgstr "błędna liczba bajtów do przeskoczenia" #~ msgid "invalid number of bytes to compare" #~ msgstr "błędna liczba bajtów do porównania" # ? rzm #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "wypisywanie wszystkich powtórzonych linii i ilości powtórzeń nie ma sensu" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s PLIK\n" #~ " albo: %s OPCJA\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Wywołanie funkcji unlink (usuń) aby usunąć podany PLIK.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "nie można usunąć %s" # pola tabelki wymagaja poprawienia szerokosci -pk #~ msgid "couldn't get boot time" #~ msgstr "sprawdzenie czasu startu systemu jest niemożliwe" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s działa " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? up " # msgid_plural? - 20051029 rzm #~ msgid "???? days ??:??, " #~ msgstr "???? dni ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld dzień" #~ msgstr[1] "%ld dni" #~ msgstr[2] "%ld dni" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu użytkownik" #~ msgstr[1] "%lu użytkownicy" #~ msgstr[2] "%lu użytkowników" #~ msgid ", load average: %.2f" #~ msgstr ", średnie obciążenie: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Składnia: %s [OPCJA]... [ PLIK ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Wyświetlenie aktualnej godziny, czasu działania systemu, liczby " #~ "użytkowników\n" #~ "zalogowanych w systemie oraz średnią liczbę procesów uruchamianych w " #~ "ciągu\n" #~ "ostatnich 1, 5 i 15 minut.\n" #~ "Jeśli nie podano PLIKU, używa %s. %s jest często podawane jako PLIK.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Wyświetla kto jest zalogowany według informacji w PLIKU.\n" #~ "Jeśli brak PLIKU, używa %s. Często podaje się też %s.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Dla każdego PLIKU wypisywana jest liczba naków nowej linii, słów i " #~ "bajtów\n" #~ "oraz podsumowanie jeżeli podany jest więcej niż jeden PLIK. Jeżeli PLIK " #~ "nie\n" #~ "jest podany albo podany jest jako -, czytane jest standardowe wejście.\n" #~ " -c, --bytes wypisanie liczby bajtów\n" #~ " -m, --chars wypisanie liczby znaków\n" #~ " -l, --lines wypisanie liczby znaków nowej linii\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=F pliki wejściowe są pliku F, oddzielone NUL-ami\n" #~ " -L, --max-line-length wypisanie długości najdłuższej linii\n" #~ " -w, --words wypisanie liczby słów\n" #~ msgid " old " #~ msgstr "dawno" #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "zakończenie=" #~ msgid "exit=" #~ msgstr "wyjście=" #~ msgid "clock change" #~ msgstr "zmiana czasu" #~ msgid "run-level" #~ msgstr "run-level" #~ msgid "last=" #~ msgstr "ostatni=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "liczba użytkowników=%lu\n" #~ msgid "NAME" #~ msgstr "UŻYTKOWNIK" #~ msgid "LINE" #~ msgstr "TERM" #~ msgid "TIME" #~ msgstr "CZAS" #~ msgid "IDLE" #~ msgstr "BEZCZYNNY" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "KOMENTARZ" #~ msgid "EXIT" #~ msgstr "WYJŚCIE" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Składnia: %s [OPCJA]... [ PLIK | ARGUMENT1 ARGUMENT2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all to samo co -b -d --login -p -r -t -T -u\n" #~ " -b, --boot czas ostatniego uruchomienia systemu\n" #~ " -d, --dead wypisanie martwych procesów\n" #~ " -H, --heading wypisanie linii nagłówków kolumn\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login wypisanie systemowych procesów login\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup rozwiązywanie nazw systemów poprzez DNS\n" #~ " -m wyświetlenie tylko nazwy systemu i użytkownika " #~ "związanego\n" #~ " ze standardowym wejściem\n" #~ " -p, --process aktywne procesy uruchomione przez init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count wszystkie nazwy i liczba zalogowanych użytkowników\n" #~ " -r, --runlevel bieżący runlevel\n" #~ " -s, --short wypisanie tylko użytkownika, terminala i czasu " #~ "(domyślnie)\n" #~ " -t, --time podanie ostatniej zmiany zegara systemowego\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg zaznaczenie czy użytkownik przyjmuje komunikaty: +, - " #~ "lub ?\n" #~ " -u, --users wypisanie zalogowanych użytkowników\n" #~ " --message to samo co -T\n" #~ " --writable to samo co -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Jeśli nie podano PLIKU, używany jest %s. Często podaje się %s.\n" #~ "Obecność ARG1 ARG2 implikuje -m. Typowe wywołania: `am i', `mom likes'.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Wypisanie nazwy użytkownika związanego z aktualnym efektywnym\n" #~ "idetyfikatorem użytkownika. Działa jak id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: nie można znaleźć nazwy użytkownika o ID %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Składnia: %s [NAPIS]\n" #~ " albo: %s OPCJA\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Powtarzanie na wyjściu linii ze wszystkimi podanymi NAPIS(AMI) albo `y'\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Składnia: %s OPCJA UŻYTKOWNIK POLECENIE [ARGUMENT]...\n" #~ " albo: %s OPCJA\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "nierozpoznany argument %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " pokazywane są najpierw katalogi, potem " #~ "pliki\n" dc3dd-7.1.614/po/dc3dd.pot0000644000175000017500000002721311233346647014600 0ustar amedicoamedico# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 msgid "Could not allocate space for thread" msgstr "" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" #: src/dc3dd.c:1099 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" #: src/dc3dd.c:1107 msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr "" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 msgid "Split extensions exhausted" msgstr "" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 msgid "Verify FAILED" msgstr "" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, c-format msgid "illegal pattern %s" msgstr "" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, c-format msgid "Illegal split format %s" msgstr "" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, c-format msgid "Illegal ifjoin format %s" msgstr "" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, c-format msgid "Illegal vfjoin format %s" msgstr "" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "" #: src/dc3dd.c:2941 msgid "cannot combine if= and ifjoin=" msgstr "" #: src/dc3dd.c:2944 msgid "cannot combine vf= and vfjoin=" msgstr "" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 msgid "cannot combine if= and wipe=" msgstr "" #: src/dc3dd.c:2953 msgid "cannot combine wipe= and ifjoin=" msgstr "" #: src/dc3dd.c:2955 msgid "cannot combine wipe= and vfjoin=" msgstr "" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" #: src/dc3dd.c:3165 #, c-format msgid "skip: reading %s" msgstr "" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 msgid "advance: warning: invalid file offset after failed read" msgstr "" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, c-format msgid "reading %s at sector %jd" msgstr "" #: src/dc3dd.c:3339 #, c-format msgid "reading %s at sectors %jd-%jd" msgstr "" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dc3dd.c:3907 msgid "standard input" msgstr "" #: src/dc3dd.c:3938 msgid "standard output" msgstr "" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" dc3dd-7.1.614/po/nl.po0000644000175000017500000120570411233346647014050 0ustar amedicoamedico# translation of coreutils-6.11.po to Dutch # Translation of coreutils to Dutch. # Copyright (C) 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # Erick Branderhorst , 1996. # Ivo Timmermans , 2000. # Freek de Kruijf , 2004, 2005, 2006, 2007, 2008. msgid "" msgstr "" "Project-Id-Version: coreutils-6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-05-30 23:26+0200\n" "Last-Translator: Freek de Kruijf \n" "Language-Team: Dutch \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "kan het proces %s -d niet aanmaken" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer `%s --help' voor meer informatie.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Gebruik: %s [OPERAND]...\n" " of: %s OPTIE\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Kopieer een bestand en converteer en maak deze op volgens de opties.\n" "\n" " bs=BYTES maak ibs=BYTES en obs=BYTES\n" " cbs=BYTES converteer BYTES bytes tegelijk\n" " conv=CONVERSIE converteer het bestand zoals aangegeven in de " "komma-\n" " gescheiden lijst met conversiewoorden\n" " count=BLOKKEN kopieer alleen BLOKKEN invoer blokken\n" " ibs=BYTES lees BYTES bytes tegelijk\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=BESTAND lees van BESTAND in plaats van standaardinvoer\n" " iflag=VLAGGEN lees volgens de kommagescheiden symbolenlijst\n" " obs=BYTES schrijf BYTES bytes tegelijk\n" " of=BESTAND schrijf naar BESTAND in plaats van naar standaarduitvoer\n" " oflag=VLAGGEN schrijf volgens de kommagescheiden symbolenlijst\n" " seek=BLOKKEN sla aantal BLOKKEN met door obs gegeven grootte over aan " "het begin\n" " van de uitvoer\n" " skip=BLOKKEN sla aantal BLOKKEN met door ibs gegeven grootte over aan " "het begin\n" " van de invoer\n" " status=noxfer onderdruk statistieken van de verplaatsing\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOKKEN en BYTES mogen gevolgd worden door de volgende vermenigvuldigings-\n" "achtervoegsels: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M " "1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, enzovoort voor T, P, E, Z, Y.\n" "Elk CONVERSIE symbool mag zijn:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat maak geen uitvoerbestand\n" " excl stop als het uitvoerbestand al bestaat\n" " notrunc maak het uitvoerbestand niet korter\n" " ucase vervang kleine letters door hoofdletters\n" " swab verwissel ieder paar bytes uit de invoer\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror ga door ook na leesfouten\n" " sync vul ieder blok uit met nul-bytes tot de ibs-grootte; indien " "samen\n" " met block of unblock, vul dan uit met spaties i.p.v. nul-bytes\n" " fdatasync schrijf het uitvoerbestand echt naar schijf voor het " "beëindigen\n" " fsync evenzo, maar schrijf ook de metagegevens\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Elk VLAGGEN-symbool mag zijn:\n" "\n" " append achtervoegen (alleen zinvol bij uitvoer; suggestie: " "conv=notrunc)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct gebruik direct-I/O voor de gegevens\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory stop tenzij een map\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync gebruik synchronized-I/O voor de gegevens\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync evenzo, maar ook voor de metagegevens\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock gebruik non-blocking-I/O\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime wijzig het toegangstijdstip niet\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty voeg geen controlerende terminal toe aan bestand\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow volg geen symbolische koppelingen\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks stop bij meer dan één symbolische koppeling\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary gebruik binary-I/O voor de gegevens\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text gebruik text-I/O voor de gegevens\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Het zenden van een %s signaal naar een werkend `dd' proces zorgt er voor\n" "dat I/O statistieken naar standaardfoutuitvoer gaan en daarna gaat het " "kopiëren door.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 10899206+0 records in\n" " 10899206+0 records uit\n" " 9387674624 bytes (9.4 GB) gekopieerd, 34.6279 seconden, 271 MB/s\n" "\n" "Opties zijn:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Onbekende systeemfout" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% records in\n" "%+% records uit\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% byte (%s) gekopieerd" msgstr[1] "% bytes (%s) gekopieerd" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Oneindig B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "invoerbestand %s sluiten" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "uitvoerbestand %s sluiten" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Alle achtervoegsels voor uitvoerbestanden zijn verbruikt" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "openen van %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "MISLUKT" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "niet-herkende operand %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "ongeldige datum %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "ongeldige opmaak voor datum %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "ongeldige opmaak voor datum %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "ongeldige opmaak voor datum %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "ongeldige conversie" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "ongeldige invoervlag" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "ongeldige uitvoervlag" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "ongeldige statusvlag" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "ongeldig nummer %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "excl en nocreat kunnen niet beide" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "kan -e en -i opties niet combineren" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "kan -e en -i opties niet combineren" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "kan -e en -i opties niet combineren" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "kan -e en -i opties niet combineren" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "kan -e en -i opties niet combineren" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "waarschuwing: bezig met om de 'lseek kernel bug' heen te werken voor het " "bestand (%s)\n" " met mt_type=0x%0lx -- zie voor de lijst met typen" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "lezen van %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: kan seek-functie niet uitvoeren" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "offset te groot bij het lezen van bestand %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "" "waarschuwing: offset in bestand klopt niet meer na een mislukte leesopdracht" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "kan niet om de 'kernel bug' heenwerken" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "vlaggen van %s zetten" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "map %s lezen" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "map %s lezen" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "schrijven naar %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "'fdatasync' mislukt voor %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "'fsync' mislukt voor %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standaardinvoer" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standaarduitvoer" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "offset te groot: kan niet afkorten tot een lengte van seek=% (%lu-" "byte) blokken" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "kan fstat op %s niet toepassen" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "afkorten op % bytes in uitvoerbestand %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii van EBCDIC naar ASCII\n" #~ " ebcdic van ASCII maar EBCDIC\n" #~ " ibm van ASCII naar 'alternated EBCDIC'\n" #~ " block vul met nieuweregel afgesloten regels uit met spaties tot de " #~ "cbs lengte\n" #~ " unblock vervang achterloopspaties in regels met lengte cbs door " #~ "nieuweregel\n" #~ " lcase vervang hoofdletters door kleine letters\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% afgebroken record\n" #~ msgstr[1] "% afgebroken records\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "slechts één van deze {ascii,ebcdic,ibm} is mogelijk" #~ msgid "cannot combine block and unblock" #~ msgstr "block en unblock kunnen niet beide" # idem #~ msgid "cannot combine lcase and ucase" #~ msgstr "lcase en ucase kunnen niet beide" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "" #~ "waarschuwing: offset in bestand klopt niet meer na een mislukte " #~ "leesopdracht" #~ msgid "error writing %s" #~ msgstr "fout bij schrijven van %s" #~ msgid "invalid argument %s for %s" #~ msgstr "ongeldig argument %s voor %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "argument %s is niet eenduidig voor %s" #~ msgid "Valid arguments are:" #~ msgstr "Geldige argumenten zijn:" #~ msgid "error closing file" #~ msgstr "fout bij sluiten van bestand" #~ msgid "write error" #~ msgstr "fout bij schrijven" #~ msgid "preserving permissions for %s" #~ msgstr "toegangsrechten van %s handhaven" #~ msgid "cannot stat %s" #~ msgstr "kan stat niet toepassen op %s" #~ msgid "regular empty file" #~ msgstr "leeg normaal bestand" #~ msgid "regular file" #~ msgstr "normaal bestand" #~ msgid "directory" #~ msgstr "map" #~ msgid "block special file" #~ msgstr "speciaal blokgeörienteerd bestand" #~ msgid "character special file" #~ msgstr "speciaal karaktergeörienteerd bestand" #~ msgid "fifo" #~ msgstr "fifo (eerst-in, eerst-uit)" #~ msgid "symbolic link" #~ msgstr "symbolische koppeling" #~ msgid "socket" #~ msgstr "socket" #~ msgid "message queue" #~ msgstr "wachtrij met berichten" #~ msgid "semaphore" #~ msgstr "semafoor" #~ msgid "shared memory object" #~ msgstr "gedeeld geheugenobject" #~ msgid "typed memory object" #~ msgstr "getypeerd geheugenobject" #~ msgid "weird file" #~ msgstr "een maf bestand" #~ msgid "Address family for hostname not supported" #~ msgstr "Adresfamilie voor hostnaam wordt niet ondersteund" #~ msgid "Temporary failure in name resolution" #~ msgstr "Tijdelijk probleem in naamsherleiding" #~ msgid "Bad value for ai_flags" #~ msgstr "Foute waarde voor ai_vlaggen" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Onherstelbaar probleem in naamsherleiding" #~ msgid "ai_family not supported" #~ msgstr "ai_familie niet ondersteund" #~ msgid "Memory allocation failure" #~ msgstr "Fout bij geheugenreservering" #~ msgid "No address associated with hostname" #~ msgstr "Aan hostnaam is geen adres verbonden" #~ msgid "Name or service not known" #~ msgstr "Naam van service is onbekend" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Servicenaam niet ondersteund voor ai_socktype" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype niet ondersteund" #~ msgid "System error" #~ msgstr "Systeemfout" #~ msgid "Argument buffer too small" #~ msgstr "Buffer voor argument te klein" #~ msgid "Processing request in progress" #~ msgstr "Verwerken van opdracht" #~ msgid "Request canceled" #~ msgstr "Opdracht afgebroken" #~ msgid "Request not canceled" #~ msgstr "Opdracht niet afgebroken" #~ msgid "All requests done" #~ msgstr "Alle opdrachten verwerkt" #~ msgid "Interrupted by a signal" #~ msgstr "Onderbroken door een signaal" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Parametertekst niet juist gecodeerd" #~ msgid "Unknown error" #~ msgstr "Onbekende fout" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: optie `%s' is niet eenduidig\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: optie `--%s' staat geen argument toe\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: optie `%c%s' staat geen argument toe\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: optie `%s' vereist een argument\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: niet-herkende optie `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: niet-herkende optie `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: ongeldige optie -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: ongeldige optie -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: optie vereist een argument -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: optie `-W %s' is niet eenduidig\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: optie `-W %s' staat geen argument toe\n" #~ msgid "cannot change permissions of %s" #~ msgstr "kan de toegangsrechten van %s niet veranderen" #~ msgid "cannot create directory %s" #~ msgstr "kan map %s niet aanmaken" #~ msgid "memory exhausted" #~ msgstr "geen geheugen meer beschikbaar" #~ msgid "unable to record current working directory" #~ msgstr "niet in staat de huidige werkmap vast te leggen" #~ msgid "failed to return to initial working directory" #~ msgstr "kan niet terugkeren naar de initiële werkmap" #~ msgid "`" #~ msgstr "'" #~ msgid "'" #~ msgstr "'" #~ msgid "%s: end of file" #~ msgstr "%s: einde van bestand" #~ msgid "Success" #~ msgstr "Succes" #~ msgid "No match" #~ msgstr "Geen overeenkomst" #~ msgid "Invalid regular expression" #~ msgstr "Ongeldige reguliere expressie" #~ msgid "Invalid collation character" #~ msgstr "Ongeldig samengesteld teken" #~ msgid "Invalid character class name" #~ msgstr "Ongeldige tekenklassenaam" #~ msgid "Trailing backslash" #~ msgstr "Achtergevoegde backslash" #~ msgid "Invalid back reference" #~ msgstr "Ongeldige terugverwijzing" #~ msgid "Unmatched [ or [^" #~ msgstr "Geen bijbehorende [ of [^" #~ msgid "Unmatched ( or \\(" #~ msgstr "Geen bijbehorende ( of \\(" #~ msgid "Unmatched \\{" #~ msgstr "Geen bijbehorende \\{" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Ongeldige inhoud tussen \\{\\}" #~ msgid "Invalid range end" #~ msgstr "Ongeldig einde van reeks" #~ msgid "Memory exhausted" #~ msgstr "Geen geheugen meer beschikbaar" #~ msgid "Invalid preceding regular expression" #~ msgstr "Ongeldige voorgaande reguliere expressie" #~ msgid "Premature end of regular expression" #~ msgstr "Reguliere expressie is niet af" #~ msgid "Regular expression too big" #~ msgstr "Reguliere expressie is te groot" #~ msgid "Unmatched ) or \\)" #~ msgstr "Geen bijbehorende ) or \\)" #~ msgid "No previous regular expression" #~ msgstr "Geen voorgaande reguliere expressie" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "het is gevaarlijk om op %s recursief te werken" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "het is gevaarlijk om op %s recursief te werken (zelfde als %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "gebruik --no-preserve-root om hier veilig omheen te komen" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "toegangsrechten van %s instellen" #~ msgid "iconv function not usable" #~ msgstr "de iconv-functie is niet bruikbaar" #~ msgid "iconv function not available" #~ msgstr "de iconv-functie is niet beschikbaar" #~ msgid "character out of range" #~ msgstr "teken ligt buiten het toegestane bereik" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "kan U+%04X niet converteren naar de lokale tekenset" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "kan U+%04X niet converteren naar de lokale tekenset: %s" #~ msgid "invalid user" #~ msgstr "ongeldige gebruiker" #~ msgid "invalid group" #~ msgstr "ongeldige groep" #~ msgid "invalid spec" #~ msgstr "ongeldige specificatie" #~ msgid "(C)" #~ msgstr "©" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Licentie GPLv3+: GNU GPL versie 3 of later \n" #~ "Dit is vrije software: u bent vrij om het te veranderen en te " #~ "herdistriburen.\n" #~ "Er is GEEN GARANTIE, voor zover toegestaan door de wet.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Geschreven door %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Geschreven door %s en %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Geschreven door %s, %s en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Geschreven door %s, %s, %s\n" #~ "en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Geschreven door %s, %s, %s,\n" #~ "%s en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Geschreven door %s, %s, %s,\n" #~ "%s, %s en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Geschreven door %s, %s, %s,\n" #~ "%s, %s, %s en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Geschreven door %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Geschreven door %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Geschreven door %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s en anderen.\n" #~ msgid "invalid argument: %s" #~ msgstr "ongeldig argument: %s" #~ msgid "string comparison failed" #~ msgstr "mislukte vergelijking van tekenreeksen" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Zet LC_ALL='C' om het probleem te omzeilen." #~ msgid "The strings compared were %s and %s." #~ msgstr "De te vergelijken tekenreeksen waren %s en %s." #~ msgid "string transformation failed" #~ msgstr "mislukte transformatie van tekenreeks" #~ msgid "The untransformed string was %s." #~ msgstr "De niet-getransformeerde tekenreeks was %s." #~ msgid "cannot perform formatted output" #~ msgstr "kan geformatteerde uitvoer niet uitvoeren" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "ongeldig %s%s argument `%s'" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "ongeldig achtervoegsel in %s%s argument: `%s'" #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s%s argument `%s' is te groot" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE] [BESTAND]...\n" #~ "Codeer of decodeer BESTAND, of standaard invoer, naar standaard uitvoer " #~ "volgens base64.\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=KOLM Ga naar volgende regel na KOLM gecodeerde tekens " #~ "(standaard 76).\n" #~ " Gebruik 0 om niet naar een volgende regel te " #~ "gaan.\n" #~ "\n" #~ " -d, --decode Decodeer gegevens.\n" #~ " -i, --ignore-garbage Bij decoderen, negeer niet-alfabet tekens.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Toon deze help en beëindig programma\n" #~ " --version Toon versie-informatie en beëindig programma\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Zonder BESTAND, of als BESTAND - is, lees dan van standaardinvoer.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "De gegevens zijn gecodeerd in het base64-alfabet zoals beschreven in RFC " #~ "3548.\n" #~ "Bij decodering mag de invoer naast de formele karakters van het base64-" #~ "alfabet\n" #~ "ook nog nieuweregel-karakters bevatten. Met --ignore-garbage kunt u " #~ "proberen\n" #~ "over andere dan deze karakters in de gecodeerde stroom bytes te stappen.\n" #~ msgid "read error" #~ msgstr "fout bij lezen" #~ msgid "invalid input" #~ msgstr "ongeldige invoer" #~ msgid "invalid wrap size: %s" #~ msgstr "ongeldige grootte van regellengte waarna nieuwe-regel volgt: %s" #~ msgid "extra operand %s" #~ msgstr "overtollige operand %s" #~ msgid "closing standard input" #~ msgstr "standaardinvoer sluiten" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s NAAM [ACHTERVOEGSEL]\n" #~ " of: %s OPTIE\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Toon NAAM zonder de voorafgaande mapcomponenten.\n" #~ "Indien gespecificeerd, verwijder ook het ACHTERVOEGSEL.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Voorbeelden:\n" #~ " %s /usr/bin/sort Uitvoer \"sort\".\n" #~ " %s include/stdio.h .h Uitvoer \"stdio\".\n" #~ msgid "missing operand" #~ msgstr "ontbrekende operand" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Gebruik: %s [OPTIE] [BESTAND]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Voeg BESTAND(en) samen, of standaardinvoer, naar standaarduitvoer.\n" #~ "\n" #~ " -A, --show-all zelfde als -vET\n" #~ " -b, --number-nonblank aantal niet-lege uitvoerregels\n" #~ " -e zelfde als -vE\n" #~ " -E, --show-ends geef een $ aan het einde van alle regels\n" #~ " -n, --number nummer alle uitvoerregels\n" #~ " -s, --squeeze-blank nooit meer dan één lege regel\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t zelfde als -vT\n" #~ " -T, --show-tabs geef TAB-tekens weer met ^I\n" #~ " -u (wordt genegeerd)\n" #~ " -v, --show-nonprinting gebruik ^ en M- notatie, behalve voor LFD en " #~ "TAB\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Voorbeelden:\n" #~ " %s f - g Uitvoer f's inhoud, dan standaardinvoer, dan g's inhoud.\n" #~ " %s Kopieer standaardinvoer naar standaarduitvoer.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "kan geen ioctl doen op `%s'" #~ msgid "%s: input file is output file" #~ msgstr "%s: invoerbestand is uitvoerbestand" #~ msgid "failed to create security context: %s" #~ msgstr "kan de beveiligingscontext niet veranderen: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "" #~ "kan de component %s van de beveiligingscontext niet instellen naar %s" #~ msgid "failed to get security context of %s" #~ msgstr "kan de beveiliginscontext van %s niet verkrijgen" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "kan gedeeltelijke context niet toepassen op bestand %s zonder label" #~ msgid "failed to change context of %s to %s" #~ msgstr "kan de context van %s niet veranderen naar %s" #~ msgid "cannot access %s" #~ msgstr "kan geen toegang krijgen tot %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "kan map %s niet lezen" #~ msgid "changing security context of %s" #~ msgstr "toegangsrechten van %s veranderen" #~ msgid "fts_read failed" #~ msgstr "fout bij fts_read" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... CONTEXT BESTAND...\n" #~ " of: %s [OPTIE]... [-u GEBRUIKER] [-r ROL] [-l REEKS] [-t TYPE] " #~ "BESTAND...\n" #~ " of: %s [OPTIE]... --reference=RBESTAND BESTAND...\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Verander de beveiligingscontext van elk BESTAND naar CONTEXT.\n" #~ "Met --reference, verander de beveiligingscontext van elk BESTAND naar die " #~ "van RBESTAND.\n" #~ "\n" #~ " -c, --changes zelfde als verbose maar geef alleen een melding " #~ "als er\n" #~ " iets is veranderd\n" #~ " -h --no-dereference toepassen op de symbolische koppeling van elk " #~ "gerefereerd bestand\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=RBESTAND gebruik de beveiligingscontext van RBESTAND\n" #~ " in plaats van een CONTEXT-waarde\n" #~ " -R, --recursive behandel bestanden en mappen recursief\n" #~ " -v, --verbose geef een melding voor alle behandelde bestanden\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=GEBRUIKER zet user GEBRUIKER in de doel-" #~ "beveiligingscontext\n" #~ " -r, --role=ROL zet rol ROL in de doel-beveiligingscontext\n" #~ " -t, --type=TYPE zet type TYPE in de doel-beveiligingscontext\n" #~ " -l, --range=REEKS set reeks REEKS in de doel-beveiligingscontext\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "De volgende opties veranderen de wijze van het doorlopen van de " #~ "hiërarchie als\n" #~ "de -R optie ook aanwezig is. Als er meer dan één aanwezig is dan is " #~ "alleen\n" #~ "de laatste van toepassing.\n" #~ "\n" #~ " -H als een argument op de commandoregel een " #~ "symbolische\n" #~ " koppeling naar een map is, loop door deze map\n" #~ " -L volg iedere symbolische koppeling tot een map\n" #~ " -P volg geen symbolische koppelingen (de " #~ "standaard)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference vereist of -H of -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h vereist -P" #~ msgid "missing operand after %s" #~ msgstr "ontbrekende operand na %s" #~ msgid "invalid context: %s" #~ msgstr "ongeldige context: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "conflicterende specificaties voor beveiligingscontext gegeven" #~ msgid "failed to get attributes of %s" #~ msgstr "kan de attributen van %s niet verkrijgen" #~ msgid "invalid group: %s" #~ msgstr "ongeldige groep: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... GROEP BESTAND...\n" #~ " of: %s [OPTIE]... --reference=RBESTAND BESTAND...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Verander de groep van elk BESTAND naar GROEP.\n" #~ "Met --reference, verander de groep van elk BESTAND naar dat van " #~ "RBESTAND.\n" #~ "\n" #~ " -c, --changes zelfde als verbose maar geef alleen een melding " #~ "als er\n" #~ " iets is veranderd\n" #~ " --dereference toepassen op de referentie van elke symbolische " #~ "koppeling\n" #~ " en niet op de symbolische koppeling zelf " #~ "(standaard)\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference toepassen op elke symbolische koppeling in " #~ "plaats van op het\n" #~ " gerefereerde bestand (alleen bruikbaar op " #~ "systemen die\n" #~ " toestaan de eigenaar van een symbolische " #~ "koppeling te wijzigen)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root behandel `/' niet speciaal (de standaard)\n" #~ " --preserve-root de `/' niet recursief behandelen\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet onderdruk de meeste foutboodschappen\n" #~ " --reference=RBESTAND gebruik de groep van RBESTAND in plaats van\n" #~ " een GROEPswaarde te specificeren\n" #~ " -R, --recursive behandel bestanden en mappen recursief\n" #~ " -v, --verbose geef een melding voor alle behandelde bestanden\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Voorbeelden:\n" #~ " %s staff /u Verander de groep van /u naar \"staff\".\n" #~ " %s -hR staff /u Verander de groep van /u en subbestanden naar \"staff" #~ "\".\n" #~ msgid "getting new attributes of %s" #~ msgstr "verkrijgen van nieuwe attributen van %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "noch de symbolische koppeling %s noch de referent is veranderd\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "modus van %s veranderd in %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "kan modus van %s niet in %04lo (%s) veranderen\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "modus van %s blijft %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "kan niet werken op een hangende symbolische koppeling %s" #~ msgid "changing permissions of %s" #~ msgstr " toegangsrechten van %s veranderen" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: nieuwe toegangsrechten zijn %s, niet %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... MODUS[,MODUS]... BESTAND\n" #~ " of: %s [OPTIE]... OCTALE-MODUS BESTAND...\n" #~ " of: %s [OPTIE]... --reference=RBESTAND BESTAND...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Verander de modus van elk BESTAND naar MODUS.\n" #~ "\n" #~ " -c, --changes zoals verbose maar alleen een melding als er " #~ "iets veranderd is\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root behandel `/' niet speciaal (de standaard)\n" #~ " --preserve-root de `/' niet recursief behandelen\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet onderdruk vrijwel alle foutmeldingen\n" #~ " -v, --verbose toon informatie voor elk behandeld bestand\n" #~ " --reference=RBESTAND gebruik de modus van RBESTAND in plaats van " #~ "een\n" #~ " MODUS waarde\n" #~ " -R, --recursive verander bestanden en mappen recursief\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Iedere MODUS is van de vorm `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "kan modus en --reference opties niet combineren" #~ msgid "invalid mode: %s" #~ msgstr "ongeldige modus: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "de eigenaar van %s is veranderd naar %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "de groep van %s is veranderd naar %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "de eigenaar van %s is niet veranderd\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "kan de eigenaar van %s niet veranderen naar %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "kan de groep van %s niet naar %s veranderen\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "kan de eigenaar van %s niet veranderen\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "de eigenaar van %s blijft %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "groep van %s blijft %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "de eigenaar van %s blijft dezelfde\n" #~ msgid "cannot dereference %s" #~ msgstr "kan koppeling(en) %s niet volgen" #~ msgid "changing ownership of %s" #~ msgstr "veranderen van de eigenaar van %s" #~ msgid "changing group of %s" #~ msgstr "veranderen van de groep van %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... [EIGENAAR][:[GROEP]] BESTAND...\n" #~ " of: %s [OPTIE]... --reference=RBESTAND BESTAND...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Verander de eigenaar en/of groep van ieder BESTAND naar EIGENAAR en/of " #~ "GROEP.\n" #~ "Met --reference, verander de eigenaar en groep van elk BESTAND naar die " #~ "van RBESTAND.\n" #~ "\n" #~ " -c, --changes zoals verbose maar geef alleen een melding als " #~ "er echt iets\n" #~ " veranderd is\n" #~ " --dereference toepassen op de referentie van elke " #~ "symbolische \n" #~ " koppeling en niet op de symbolische koppeling " #~ "zelf\n" #~ " (dit is de standaard)\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=HUIDIGE_EIGENAAR:HUIDIGE_GROEP\n" #~ " verander de eigenaar en/of groep van ieder " #~ "bestand alleen als\n" #~ " de huidige eigenaar en/of groep overeenkomt met " #~ "de hier\n" #~ " gespecificeerde. Eén van beide mag weggelaten, " #~ "dan is een\n" #~ " overeenkomst met het weggelaten deel niet " #~ "vereist.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet onderdruk vrijwel alle foutmeldingen\n" #~ " --reference=RBESTAND gebruik de eigenaar en groep van RBESTAND in " #~ "plaats van\n" #~ " het specificeren hiervan\n" #~ " -R, --recursive verander bestanden en mappen recursief\n" #~ " -v, --verbose toon informatie voor elk behandeld bestand\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "De eigenaar is onveranderd als deze ontbreekt. De groep is onveranderd " #~ "als deze\n" #~ "ontbreekt, behalve als de inlog groep impliciet is door een `:' die op " #~ "een symbolische\n" #~ "EIGENAAR volgt. EIGENAAR en GROEP mogen numeriek zijn zowel als " #~ "symbolisch.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Voorbeelden:\n" #~ " %s root /u Verander de eigenaar van /u naar \"root\".\n" #~ " %s root:staff /u Evenzo, maar verander ook de groep naar \"staff\".\n" #~ " %s -hR root /u Verander de eigenaar van /u en subbestanden naar " #~ "\"root\".\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s NIEUWE_ROOT [COMMANDO...]]\n" #~ " of: %s OPTIE\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Voer COMMANDO uit met als basismap NIEUWE_ROOT.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Als geen commando is gegeven, voer dan ``${SHELL} -i'' (standaard: /bin/" #~ "sh) uit.\n" #~ msgid "cannot change root directory to %s" #~ msgstr "kan '%s' niet als basismap instellen" #~ msgid "cannot chdir to root directory" #~ msgstr "kan de map niet wijzigen naar de basismap" #~ msgid "cannot run command %s" #~ msgstr "kan het commando %s niet uitvoeren" #~ msgid "%s: file too long" #~ msgstr "%s: bestand is te lang" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Gebruik: %s [BESTAND]...\n" #~ " of: %s [OPTIE]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Toon de CRC-controletelling en het aantal bytes van ieder BESTAND.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Gebruik: %s [OPTIE]... BESTAND1 BESTAND2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "" #~ "Vergelijk de gesorteerde bestanden BESTAND1 en BESTAND2 regel voor " #~ "regel.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Zonder opties, toon drie-kolommen. Kolom een bevat\n" #~ "regels uniek in BESTAND1, kolom twee bevat regels uniek in BESTAND2,\n" #~ "en kolom drie bevat regels die gelijk zijn in beide bestanden.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 onderdruk regels die alleen in BESTAND1 voorkomen\n" #~ " -2 onderdruk regels die alleen in BESTAND2 voorkomen\n" #~ " -3 onderdruk regels die in beide bestanden voorkomen\n" #~ msgid "clearing permissions for %s" #~ msgstr "toegangsrechten van %s instellen" #~ msgid "failed to preserve ownership for %s" #~ msgstr "handhaven van de eigenaar van %s mislukt" #~ msgid "failed to lookup file %s" #~ msgstr "kan bestand %s niet vinden" #~ msgid "failed to preserve authorship for %s" #~ msgstr "handhaven van het auteurschap van %s mislukt" #~ msgid "cannot open %s for reading" #~ msgstr "kan %s niet openen om te lezen" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "" #~ "bestand %s overgeslagen omdat het is vervangen toen het werd gekopieerd" #~ msgid "failed to get file system create context" #~ msgstr "" #~ "kan de context voor het aanmaken van een bestand op het bestandssysteem " #~ "niet verkrijgen" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "kan de beveiligingscontext van %s niet naar %s veranderen" #~ msgid "cannot remove %s" #~ msgstr "kan %s niet verwijderen" #~ msgid "removed %s\n" #~ msgstr "%s verwijderd\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "kan niet schrijven via een hangende symbolische koppeling %s" #~ msgid "cannot create regular file %s" #~ msgstr "kan het normale bestand %s niet aanmaken" #~ msgid "cannot lseek %s" #~ msgstr "kan lseek niet toepassen op %s" #~ msgid "writing %s" #~ msgstr "schrijven van %s" #~ msgid "preserving times for %s" #~ msgstr "tijden van %s worden gehandhaafd" #~ msgid "closing %s" #~ msgstr "%s wordt gesloten" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: probeer %s te overschrijven, overschrijvingsmodus %04lo (%s)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: %s overschrijven? " #~ msgid " (backup: %s)" #~ msgstr " (reservekopie: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "kan de standaard context van een bestand niet herstellen" #~ msgid "omitting directory %s" #~ msgstr "map %s wordt overgeslagen" #~ msgid "warning: source file %s specified more than once" #~ msgstr "waarschuwing: bronbestand %s komt meer dan één keer voor" #~ msgid "%s and %s are the same file" #~ msgstr "%s en %s zijn hetzelfde bestand" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "kan een niet-map %s niet overschrijven met de map %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "zal zojuist gemaakte %s niet overschrijven met %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "kan de map %s niet overschrijven met een niet-map" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "kan de map niet verplaatsten naar een niet-map: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "" #~ "een reservekopie van %s zou de bron vernietigen; %s niet verplaatst" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "" #~ "een reservekopie van %s zou de bron vernietigen; %s niet gekopieerd" #~ msgid "cannot backup %s" #~ msgstr "kan geen reservekopie maken van %s" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "zal %s niet kopiëren via zojuist gemaakte symbolische koppeling %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "kan een map niet kopiëren, %s, gaat naar zichzelf, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "kan geen harde koppeling %s maken naar de map %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "kan geen harde koppeling %s maken naar %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "kan %s niet verplaatsten naar een ondermap van zichzelf, %s" #~ msgid "cannot move %s to %s" #~ msgstr "kan %s niet verplaatsten naar %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "verplaatsing tussen apparatuur mislukt: %s naar %s; het doel kan niet " #~ "verwijderd worden" #~ msgid "failed to set default file creation context to %s" #~ msgstr "kan de standaard context van een bestand niet instellen voor %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "kan cyclische symbolische koppeling niet kopiëren %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: kan relatieve symbolische koppelingen alleen in huidige map maken" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "kan symbolische koppeling %s naar %s niet aanmaken" #~ msgid "cannot create link %s" #~ msgstr "kan koppeling %s niet aanmaken" #~ msgid "cannot create fifo %s" #~ msgstr "kan fifo (eerst-in eerst-uit) %s niet aanmaken" #~ msgid "cannot create special file %s" #~ msgstr "kan het speciale bestand %s niet aanmaken" #~ msgid "cannot read symbolic link %s" #~ msgstr "kan geen leesopdracht doen op de symbolische koppeling %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "kan de symbolische koppeling %s niet aanmaken" #~ msgid "%s has unknown file type" #~ msgstr "%s heeft onbekend bestandstype" #~ msgid "cannot un-backup %s" #~ msgstr "kan %s niet uit reservekopie halen" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (reservekopie ophalen)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... [-T] BRON BESTEMMING\n" #~ " of: %s [OPTIE]... BRON... MAP\n" #~ " of: %s [OPTIE]... -t MAP BRON...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Kopieer BRON naar BESTEMMING, of meervoudige BRON(nen) naar MAP.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Verplichte argumenten bij lange opties zijn ook verplicht bij korte " #~ "opties.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive zelfde als -dpR\n" #~ " --backup[=CONTROL] maak een reservekopie van elk bestaand " #~ "bestemmingsbestand\n" #~ " -b zoals --backup maar accepteert geen " #~ "argument\n" #~ " --copy-contents kopieert de inhoud van speciale bestanden " #~ "indien recursief\n" #~ " -d zelfde als --no-dereference --" #~ "preserve=link\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force als een bestaand bestemmingsbestand niet " #~ "geopend\n" #~ " kan worden, verwijder het dan en probeer " #~ "opnieuw\n" #~ " -i, --interactive vraag toestemming voor het overschrijven\n" #~ " -H volg de symbolische koppelingen in de " #~ "commandoregel\n" #~ " in BRON\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link maak koppelingen naar bestanden in plaats " #~ "van te kopiëren\n" #~ " -L, --dereference volg altijd symbolische koppelingen in " #~ "BRON\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference volg nooit symbolische koppelingen in " #~ "BRON\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p zelfde als --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] handhaaf de gespecificeerde attributen " #~ "(standaard:\n" #~ " mode,ownership,timestamps), indien " #~ "mogelijk\n" #~ " additionele attributen: context, links, " #~ "all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=ATTR_LIST handhaaf de gespecificeerde attributen " #~ "niet\n" #~ " --parents gebruik volledige naam van bronbestand " #~ "onder MAP\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive kopieer mappen recursief\n" #~ " --remove-destination verwijder ieder bestaand " #~ "bestemmingsbestand voordat\n" #~ " een poging gedaan wordt het te openen " #~ "(in\n" #~ " contrast met --force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=WHEN controle over het aanmaken van schaarse " #~ "bestanden\n" #~ " --strip-trailing-slashes verwijder schuine strepen achteraan in " #~ "elk BRON-\n" #~ " argument\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link maak een symbolische koppeling in plaats " #~ "van kopiëren\n" #~ " -S, --suffix=SUFFIX vervang het gebruikelijke achtervoegsel " #~ "voor\n" #~ " reservekopieën\n" #~ " -t, --target-directory=MAP verplaats alle BRON-argumenten naar MAP\n" #~ " -T, --no-target-directory behandel BESTEMMING als een normaal " #~ "bestand\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update kopieer alleen als het BRONbestand nieuwer " #~ "is\n" #~ " dan het bestemmingsbestand of wanneer dat\n" #~ " bestand niet bestaat\n" #~ " -v, --verbose laat zien wat er gedaan wordt\n" #~ " -x, --one-file-system blijf binnen dit bestandssysteem\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Standaard worden schaarse BRONbestanden gedetecteerd door een ruwe\n" #~ "zoekregel en het overeenkomstige BESTEMMINGsbestand wordt ook schaars\n" #~ "gemaakt. Dit is het gedrag geselecteerd door --sparse=auto. " #~ "Specificeer\n" #~ "--sparse=always om een schaars BESTEMMINGsbestand te maken wanneer\n" #~ "het BRONbestand een voldoend lange reeks nul-bytes bevat. Gebruik\n" #~ "--sparse=never om schaarse bestanden te voorkomen.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Het reservekopie-achtervoegsel is `~', tenzij ingesteld met --suffix of\n" #~ "SIMPLE_BACKUP_SUFFIX. De versie-controle mag worden ingesteld met de " #~ "optie --backup\n" #~ "of door de omgevingsvariabele VERSION_CONTROL. Dit zijn de waarden:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off maak nooit reservekopieën (zelfs niet met --backup)\n" #~ " numbered, t maak genummerde reservekopieën\n" #~ " existing, nil maak genummerde reservekopieën als er reeds " #~ "genummerde \n" #~ " reserve-kopieën bestaan, anders simpele\n" #~ " simple, never maak altijd simpele reservekopieën\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Als een speciaal geval, kan cp een reservekopie maken van BRON als de\n" #~ "opties `force' en `backup' gegeven zijn en BRON en BESTEMMING dezelfde\n" #~ "zijn voor een bestaand gewoon bestand.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "kopiëren van de tijden van %s mislukt" #~ msgid "failed to preserve permissions for %s" #~ msgstr "kan de toegangsrechten van %s niet handhaven" #~ msgid "cannot make directory %s" #~ msgstr "kan map %s niet aanmaken" #~ msgid "%s exists but is not a directory" #~ msgstr "%s bestaat maar is geen map" #~ msgid "accessing %s" #~ msgstr "toegangzoeken tot %s" #~ msgid "missing file operand" #~ msgstr "de operand voor bestand ontbreekt" #~ msgid "missing destination file operand after %s" #~ msgstr "de operand voor het bestemmingsbestand ontbreekt na %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "De combinatie van --target-directory (-t) en --no-target-directory (-T) " #~ "kan niet" #~ msgid "target %s is not a directory" #~ msgstr "doel %s is geen map" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "met --parents moet de bestemming een map zijn" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "de optie --reply is verouderd; gebruik -i of -f" #~ msgid "multiple target directories specified" #~ msgstr "meer dan één bestemmingsmap gespecificeerd" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "kan geen harde èn symbolische koppelingen maken" #~ msgid "backup type" #~ msgstr "type reservekopie" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "" #~ "kan beveiligingscontext niet handhaven zonder een kernel met SELinux" #~ msgid "input disappeared" #~ msgstr "invoer verdween" #~ msgid "%s: line number out of range" #~ msgstr "%s: regelnummer buiten bereik" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: regelnummer buiten bereik" #~ msgid " on repetition %s\n" #~ msgstr " tijdens herhaling %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: geen overeenkomst gevonden" #~ msgid "error in regular expression search" #~ msgstr "fout in zoeken met reguliere expressie" #~ msgid "write error for %s" #~ msgstr "fout bij schrijven naar %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: geheel getal verwacht na scheidingsteken" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: `}' is verplicht bij een herhalingsaantal" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: geheel getal verplicht tussen `{' en `}'" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: afsluitend scheidingsteken `%c' ontbreekt" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: ongeldige reguliere expressie: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: ongeldig patroon" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: regelnummer moet groter zijn dan nul" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "regelnummer %s is kleiner dan het voorgaande regelnummer, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "" #~ "waarschuwing: regelnummer %s is hetzelfde als het voorgaande regelnummer" #~ msgid "invalid format width" #~ msgstr "ongeldige opmaakbreedte" #~ msgid "invalid format precision" #~ msgstr "ongeldige opmaakprecisie" #~ msgid "missing conversion specifier in suffix" #~ msgstr "specificatie voor conversie ontbreekt in achtervoegsel" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "specificatie voor conversie in het achtervoegsel is ongeldig: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "" #~ "specificatie voor conversie in het achtervoegsel is ongeldig: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "te veel specificaties voor %%-conversie in achtervoegsel" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "ontbrekende specificatie voor %%-conversie in achtervoegsel" #~ msgid "%s: invalid number" #~ msgstr "%s: ongeldig getal" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Gebruik: %s [OPTIE]... BESTAND PATROON...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Schrijf gedeelten van BESTAND gescheiden door PATROON(en) naar de\n" #~ "bestanden 'xx00', 'xx01',..., en schrijf het aantal bytes van elk\n" #~ "gedeelte naar standaarduitvoer.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=OPMAAK gebruik sprintf OPMAAK in plaats van %02d\n" #~ " -f, --prefix=PREFIX gebruik voorvoegsel PREFIX in plaats van " #~ "`xx'\n" #~ " -k, --keep-files verwijder uitvoerbestanden niet bij fouten\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=CIJFERS gebruik het gespecificeerde aantal cijfers " #~ "in plaats van 2\n" #~ " -s, --quiet, --silent toon de lengte van de uitvoerbestanden niet\n" #~ " -z, --elide-empty-files verwijder lege uitvoerbestanden\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Lees van standaardinvoer als BESTAND - is. Elk PATROON mag zijn:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " INTEGER kopieer tot, niet tot en met, het gespecificeerde " #~ "regelnummer\n" #~ " /REGEXP/[OFFSET] kopieer tot, niet tot en met, de overeenkomende " #~ "regel\n" #~ " %REGEXP%[OFFSET] sla over tot, niet tot en met, de overeenkomende " #~ "regel\n" #~ " {INTEGER} herhaal het eerdere patroon het gespecificeerde " #~ "aantal keren\n" #~ " {*} herhaal het eerdere patroon zoveel keren als " #~ "mogelijk is\n" #~ "\n" #~ "Een regel-OFFSET bevat een `+' of `-' gevolgd door een positief geheel " #~ "getal.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "velden en posities zijn genummerd vanaf 1" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Stuur de geselecteerde delen van regels uit elk BESTAND naar " #~ "standaarduitvoer.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LIJST toon alleen deze bytes\n" #~ " -c, --characters=LIJST toon alleen deze karakters\n" #~ " -d, --delimiter=DELIM gebruik DELIM als veldscheidingsteken in " #~ "plaats van een TAB\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LIJST toon alleen deze velden; ook toon alle regels\n" #~ " die geen scheidingsteken bevatten, tenzij\n" #~ " de -s optie is gespecificeerd\n" #~ " -n (genegeerd)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement complementeer de set van geselecteerde bytes, " #~ "karakters\n" #~ " of velden.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited toon alleen regels die scheidingstekens " #~ "bevatten\n" #~ " --output-delimiter=TEKST gebruik TEKST als het " #~ "uitvoerscheidingsteken\n" #~ " de standaard is het invoerscheidingsteken\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Gebruik één en slechts één van -b, -c of -f. Elke LIJST bestaat uit één\n" #~ "of meer reeksen gescheiden door komma's. De geselecteerde invoer wordt\n" #~ "weggeschreven in dezelfde volgorde als bij lezen en slechts precies één " #~ "keer.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Elke reeks is één van:\n" #~ "\n" #~ " N Nde byte, karakter of veld, tellend vanaf 1\n" #~ " N- vanaf Nde byte, karakter of veld, tot het eind van de regel\n" #~ " N-M vanaf Nde tot Mde (inclusief) byte, karakter of veld\n" #~ " -M vanaf eerste tot Mde (inclusief) byte, karakter of veld\n" #~ "\n" #~ "Zonder BESTAND, of wanneer BESTAND - is, lees van standaardinvoer.\n" #~ msgid "invalid byte or field list" #~ msgstr "ongeldige lijst van bytes of velden" #~ msgid "invalid range with no endpoint: -" #~ msgstr "ongeldige reeks zonder eindpunt: -" #~ msgid "invalid decreasing range" #~ msgstr "ongeldige aflopende reeks" #~ msgid "byte offset %s is too large" #~ msgstr "byte-offset %s is te groot" #~ msgid "field number %s is too large" #~ msgstr "veldnummer %s is te groot" #~ msgid "only one type of list may be specified" #~ msgstr "slechts één soort lijst mag worden opgegeven" #~ msgid "the delimiter must be a single character" #~ msgstr "het scheidingsteken moet een enkel teken zijn" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "u moet een lijst van bytes, tekens, of velden geven" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "een scheidingsteken mag alleen gespecificeerd zijn als met velden gewerkt " #~ "wordt" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "het onderdrukken van onbegrensde regels heeft\n" #~ "\talleen zin als met velden gewerkt wordt" #~ msgid "missing list of fields" #~ msgstr "ontbrekende lijst van velden" #~ msgid "missing list of positions" #~ msgstr "ontbrekende lijst van posities" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... [+OPMAAK]\n" #~ " of: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Toon de huidige tijd in de gegeven OPMAAK, of zet de systeemdatum.\n" #~ "\n" #~ " -d, --date=DATUMTIJD toon de datum/tijd van de opgegeven " #~ "DATUMTIJD, dus niet van `de huidige tijd'\n" #~ " -f, --file=DATUMTIJDBESTAND zoals --date één keer voor elke regel in " #~ "DATUMTIJDBESTAND\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=BESTAND toon de laatste tijd van wijziging van " #~ "BESTAND\n" #~ " -R, --rfc-2822 toon de datum in de RFC-2822 opmaak\n" #~ " Voorbeeld: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=TIJDSPEC toon de datum en tijd in RFC 3339 formaat.\n" #~ " TIJDSPEC=`date', `seconds', of `ns' voor\n" #~ " datum en tijd in de aangegeven precisie.\n" #~ " De datum en tijd component zijn gescheiden\n" #~ " door één spatie: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=TIJD zet de tijd beschreven door TIJD\n" #~ " -u, --utc, --universal toon of zet de tijd in standaard wereldtijd\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "OPMAAK controleert de uitvoer. De enig geldige optie voor de tweede " #~ "vorm\n" #~ "specificeert de standaard wereldtijd. Geïnterpreteerde tekenreeksen " #~ "zijn:\n" #~ "\n" #~ " %% het procentteken\n" #~ " %a de afkorting van de dag volgens de taalregio (bijv. zo)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A de volledige naam van de dag volgens de taalregio, (bijv. zondag)\n" #~ " %b de afgekorte naam van de maand volgens de taalregio (bijv. jan)\n" #~ " %B de volledige naam van de maand volgens de taalregio (bijv. " #~ "januari)\n" #~ " %c de datum/tijd volgens de taalregio (bijv. za 01 okt 2005 16:57:09 " #~ "CEST)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C eeuw: zoals %Y, maar`laat de laatste twee cijfers weg (bijv. 21) \n" #~ " %d dag in de maand (bijv. 01)\n" #~ " %D datum: zelfde als %m/%d/%y\n" #~ " %e dag in de maand, met voorloopspatie: zelfde als %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F volledige datum: zelfde als %Y-%m-%d\n" #~ " %g de laatste twee cijfers van het jaar van het ISO-weeknummer (zie %" #~ "G)\n" #~ " %G het jaar van het ISO-weeknummer (zie %V); gewoonlijk alleen " #~ "bruikbaar met %V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h zelfde als %b\n" #~ " %H uur (00..23)\n" #~ " %I uur (01..12)\n" #~ " %j dag in het jaar (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k uur ( 0..23)\n" #~ " %l uur ( 1..12)\n" #~ " %m maand (01..12)\n" #~ " %M minuut (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n een nieuweregel-teken\n" #~ " %N nanoseconden (000000000..999999999)\n" #~ " %p het equivalent van AM of PM volgens de taalregio; meestal blanco\n" #~ " %P zoals %p maar in kleine letters\n" #~ " %r tijd in 12-uursaanduiding volgens de taalregio (bijv. 11:11:04 " #~ "PM)\n" #~ " %R tijd in 24-uursaanduiding; hetzelfde als %H:%M\n" #~ " %s seconden sinds 1970-01-01 00:00:00 UTC\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S seconde (00..60)\n" #~ " %t een horizontale tab\n" #~ " %T tijd; hetzelfde als %H:%M:%S\n" #~ " %u dag van de week (1..7); 1 duidt maandag aan\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U weeknummer in het jaar, met zondag als eerste dag van de week " #~ "(00..53)\n" #~ " %V ISO-weeknummer, met maandag als eerste dag van de week (01..53)\n" #~ " %w dag in de week (0..6); 0 geeft zondag aan\n" #~ " %W weeknummer in het jaar, met maandag als eerste dag in de week " #~ "(00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x datumweergave volgens de taalregio (bijv. 31-12-05)\n" #~ " %X tijdweergave volgens de taalregio (bijv. 23:13:48)\n" #~ " %y laatste twee cijfers van het jaar (00..99)\n" #~ " %Y jaar\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z +hhmm numerieke tijdzone (bijv. -0400)\n" #~ " %:z +hh:mm numerieke tijdzone (bijv. -04:00)\n" #~ " %::z +hh:mm:ss numerieke tijdzone (bijv. -04:00:00)\n" #~ " %:::z numerieke tijdzone met : tot de noodzakelijke precisie (bijv. -" #~ "04, +05:30)\n" #~ " %Z alphabetische afkorting voor tijdzone (bijv. CET)\n" #~ "\n" #~ "Standaard gebruikt date voorloopnullen bij numerieke velden.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "De volgende optionele vlaggen mogen volgen na `%':\n" #~ "\n" #~ " - (hyphen) geen voorloop in het veld\n" #~ " _ (underscore) gebruik voorloopspaties\n" #~ " 0 (zero) gebruik voorloopnullen\n" #~ " ^ gebruik hoofdletters, indien mogelijk\n" #~ " # wijzig hoofd- in kleine letters en omgekeerd, indien mogelijk\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Na iedere vlag volgt een optionele veldbreedte als decimaal getal,\n" #~ "eventueel gevolgd door ofwel\n" #~ "E die aangeeft het taalregio-alternatief te gebruiken, indien " #~ "beschikbaar, of\n" #~ "O die aangeeft de numerieke symbolen in het taalregio-alternatief te " #~ "gebruiken,\n" #~ "indien beschikbaar.\n" #~ msgid "multiple output formats specified" #~ msgstr "meer dan één uitvoerformaat gespecificeerd" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "de opties om datums te tonen sluiten elkaar uit" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "de opties om de tijd te tonen en in te stellen kunnen niet tegelijkertijd " #~ "gebruikt worden" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "het argument %s mist een voorloop-`+';\n" #~ "Bij gebruik van een optie om datums te specificeren, moet elk\n" #~ " niet-optie-argument een opmaaktekenreeks zijn beginnende met `+'." #~ msgid "cannot set date" #~ msgstr "kan datum niet instellen" #~ msgid "time %s is out of range" #~ msgstr "de tijd %s valt buiten het toegestane bereik" #~ msgid "Filesystem Type" #~ msgstr "Bestandssystm Type" #~ msgid "Filesystem " #~ msgstr "Bestandssysteem " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inodes IGebr IVrij IGeb%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Grtte Gebr Besch Geb%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Grtte Gebr Besch Geb%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr "%s-blokken Gebruikt Beschikbr Capaciteit" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr "%4s-blokken Gebruikt Beschikbr Geb%%" #~ msgid " Mounted on\n" #~ msgstr " Aangekoppeld op\n" #~ msgid "cannot get current directory" #~ msgstr "kan de huidige map niet krijgen" #~ msgid "cannot change to directory %s" #~ msgstr "kan niet naar map %s gaan" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "kan stat-functie niet doen op huidige map (nu %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Laat de informatie zien van het bestandssysteem waarop ieder BESTAND zich " #~ "bevindt,\n" #~ "of standaard van alle bestandssystemen.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all inclusief bestandssystemen met 0 blokken\n" #~ " -B, --block-size=GROOTTE gebruik blokken van GROOTTE bytes\n" #~ " -h, --human-readable toon de groottes in leesbare opmaak (bijv. 1K " #~ "234M 2G)\n" #~ " -H, --si evenzo, maar gebruik machten van 1000 niet 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes toont inode informatie in plaats van blokgebruik\n" #~ " -k zelfde als --block-size=1K\n" #~ " -l, --local limiteer de lijst tot lokale bestandssystemen\n" #~ " --no-sync roep sync niet aan alvorens de gebruiksinfo op " #~ "te\n" #~ " halen (standaard)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability gebruik de POSIX uitvoeropmaak\n" #~ " --sync roep sync aan voor het ophalen van de " #~ "gebruiksinfo\n" #~ " -t, --type=TYPE limiteer de uitvoer tot bestandssystemen van het " #~ "type TYPE\n" #~ " -T, --print-type laat type van het bestandssysteem zien\n" #~ " -x, --exclude-type=TYPE limiteer de uitvoer tot bestandssystemen niet " #~ "van het type TYPE\n" #~ " -v (genegeerd)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "GROOTTE mag zijn (of mag een geheel getal zijn eventueel gevolgd door) " #~ "één van de volgende:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, enzovoort voor G, T, P, E, Z, " #~ "Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "bestandssysteemtype %s zowel geselecteerd als uitgesloten" #~ msgid "Warning: " #~ msgstr "Waarschuwing: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "kan tabel van aangekoppelde bestandssystemen niet lezen" #~ msgid "no file systems processed" #~ msgstr "geen bestandssystemen verwerkt" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Gebruik: %s [OPTIE]... [BESTAND]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Toon commando's voor instellen van de LS_COLOR omgevingsvariabele.\n" #~ "\n" #~ "Bepaal de opmaak van de uitvoer:\n" #~ " -b, --sh, --bourne-shell toon Bourne shell code voor instellen " #~ "LS_COLOR\n" #~ " -c, --csh, --c-shell toon C shell code voor instellen LS_COLOR\n" #~ " -p, --print-data-base toon standaardinstellingen\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Indien BESTAND gegeven is, wordt dat gelezen om te bepalen welke kleuren " #~ "voor\n" #~ "bestanden en extensies gebruikt moeten worden. Anders wordt een " #~ "standaard\n" #~ "database gebruikt. Geef `dircolors --print-database' voor details over " #~ "de\n" #~ "opmaak van deze bestanden.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: ongeldige regel; tweede token ontbreekt" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: niet-herkend sleutelwoord %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "de opties voor de uitvoer van de interne database van 'dircolors' en \n" #~ "het selecteren van de syntaxis van de shell sluiten elkaar onderling uit" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "" #~ "BESTAND operand(en) kunnen niet samen met de --print-database (-p) optie." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "geen SHELL omgevingsvariabele en geen shell-optietype gespecificeerd" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s NAAM\n" #~ " of: %s OPTIE\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Toon NAAM zonder de achtergevoegde /-component; als NAAM geen /'s bevat,\n" #~ "toon dan `.' (dat is de huidige map).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Voorbeelden:\n" #~ " %s /usr/bin/sort Uitvoer \"/usr/bin\".\n" #~ " %s stdio.h Uitvoer \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... [BESTAND]...\n" #~ " of: %s [OPTIE]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Vat het schijfgebruik van elk BESTAND samen, recursief voor mappen.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all toon tellingen voor alle bestanden, niet alleen " #~ "mappen\n" #~ " --apparent-size toon werkelijke grootte, in plaats van " #~ "schijfgebruik; hoewel\n" #~ " de werkelijke grootte meestal kleiner is, kan " #~ "deze ook\n" #~ " groter zijn als gevolg van gaten in " #~ "(`schaarse') bestanden,\n" #~ " interne fragmentatie, indirecte blokken, en " #~ "iets soortgelijks\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=GROOTTE gebruik GROOTTE-byte blokken\n" #~ " -b, --bytes zelfde als `--apparent-size --block-size=1'\n" #~ " -c, --total toon een eindtotaal\n" #~ " -D, --dereference-args volg alleen symbolische koppelingen die in de\n" #~ " commandoregel staan\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F vat het schijfgebruik samen van de op een NUL " #~ "eindigende \n" #~ " bestandsnamen gespecificeerd in bestand F\n" #~ " -H zoals --si, echter er komt ook een waarschuwing; " #~ "verandert\n" #~ " spoedig in --dereference-args (-D)\n" #~ " -h, --human-readable toon grootte in gemakkelijk leesbare vorm (bijv. " #~ "1K 234M 2G)\n" #~ " --si zoals -h, echter gebruikt machten van 1000 niet " #~ "1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k zoals --block-size=1K\n" #~ " -l, --count-links telt grootte vele keren indien er een harde " #~ "koppeling is\n" #~ " -m zoals --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference volg alle symbolische koppelingen\n" #~ " -P, --no-dereference volg geen symbolische koppelingen (dit is de " #~ "standaard)\n" #~ " -0, --null laat elke uitvoerregel eindigen met een 0-byte en " #~ "niet \n" #~ " met een nieuweregel\n" #~ " -S, --separate-dirs tel de grootte van submappen niet mee\n" #~ " -s, --summarize toon alleen een totaal voor elk argument\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system sla mappen in andere bestandssystemen over\n" #~ " -X BESTAND, --exclude-from=BESTAND Sluit bestanden die overeenkomen\n" #~ " met elk patroon in BESTAND uit.\n" #~ " --exclude=PATROON Sluit bestanden die overeenkomen met PATROON " #~ "uit.\n" #~ " --max-depth=N toon het totaal voor een map (of bestand, bij --" #~ "all)\n" #~ " alleen als het N of minder niveaus is onder het " #~ "argument;\n" #~ " --max-depth=0 is het zelfde als --summarize\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time toon de tijd van de laatste wijziging van alle " #~ "bestanden in de\n" #~ " map, of alle submappen\n" #~ " --time=TEKST toon tijd volgens TEKST in plaats van " #~ "modificatietijd:\n" #~ " TEKST is atime, access, use, ctime of status\n" #~ " --time-style=STIJL toon tijden volgens de stijl STIJL:\n" #~ " STIJL is full-iso, long-iso, iso of +FORMAT\n" #~ " FORMAT is geïnterpreteerd zoals in `date'\n" #~ msgid "total" #~ msgstr "totaal" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "WAARSCHUWING: gebruik --si, niet -H; de betekenis van de -H optie zal " #~ "spoedig\n" #~ "wijzigen en wordt hetzelfde als die van --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "ongeldige maximum diepte %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "de optie --megabytes is verouderd; gebruik -m" #~ msgid "cannot both summarize and show all entries" #~ msgstr "" #~ "totalen berekenen kan niet gelijktijdig met het tonen van alle ingangen" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "" #~ "waarschuwing: totalen weergeven is het zelfde als --max-depth=0 gebruiken" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "" #~ "waarschuwing: het weergeven van totalen is in conflict met --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "De operanden BESTAND gaan niet samen met de optie --files0-from." # idem #~ msgid "cannot read file names from %s" #~ msgstr "kan de bestandsnamen uit %s niet lezen" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "bij lezen van bestandsnamen van standaardinvoer is bestandsnaam van %s " #~ "niet toegestaan" #~ msgid "invalid zero-length file name" #~ msgstr "ongeldige bestandsnaam (lengte nul)" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Gebruik: %s [OPTIE]... [TEKENREEKS]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Schrijf de TEKENREEKS(en) naar standaarduitvoer.\n" #~ "\n" #~ " -n zonder de achtergevoegde nieuweregel\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e zet de interpretatie van backslash-escapes aan " #~ "(standaard)\n" #~ " -E zet de interpretatie van backslash-escapes uit\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Bij -e, worden de volgende sequenties herkent en uitgevoerd:\n" #~ "\n" #~ " \\0NNN het karakter waarvan de ASCII code gelijk is aan NNN (octaal)\n" #~ " \\\\ backslash\n" #~ " \\a let op (BEL)\n" #~ " \\b backspace\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c onderdruk de achteraan staande nieuweregel\n" #~ " \\f nieuwe-pagina\n" #~ " \\n nieuweregel\n" #~ " \\r carriage return\n" #~ " \\t horizontale tab\n" #~ " \\v verticale tab\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Gebruik: %s [OPTIE]... [-] [NAAM=WAARDE]... [COMMANDO [ARG]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Geef aan de omgevingsvariabele NAAM de waarde WAARDE en voer COMMANDO " #~ "uit.\n" #~ "\n" #~ " -i, --ignore-environment start zonder andere omgevingsvariabelen\n" #~ " -u, --unset=NAAM1 verwijder de omgevingsvariabele NAAM1\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Een losse - impliceert -i. Als er geen COMMANDO is, toon dan de " #~ "overblijvende \n" #~ "omgevingsvariabelen.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Converteer tabs in elk BESTAND naar spaties, schrijf naar " #~ "standaarduitvoer.\n" #~ "Zonder BESTAND, of als BESTAND gelijk is aan -, lees van " #~ "standaardinvoer.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial converteer TAB's niet na niet-witruimte\n" #~ " -t, --tabs=NUMMER tab's staan NUMMER karakters van elkaar, dus niet " #~ "8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LIJST gebruik een komma-gescheiden lijst met tab-" #~ "posities\n" #~ msgid "tab stop is too large %s" #~ msgstr "tab-positie is te groot %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "tab-grootte of positie bevat (een) ongeldig(e) karakter(s): %s" #~ msgid "tab size cannot be 0" #~ msgstr "tab-grootte of positie mag niet 0 zijn" #~ msgid "tab sizes must be ascending" #~ msgstr "tab-posities moeten toenemen" #~ msgid "input line is too long" #~ msgstr "invoerregel is te lang" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s EXPRESSIE\n" #~ "..of: %s OPTIE\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Schrijf de waarde van EXPRESSIE naar standaarduitvoer. Een onderstaand " #~ "lege regel\n" #~ "scheidt oplopende voorrang van groepen. EXPRESSIE mag zijn:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 als deze niet leeg of 0 is, anders ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 als beide argumenten niet leeg of 0 zijn, anders " #~ "0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is kleiner dan ARG2\n" #~ " ARG1 <= ARG2 ARG1 is kleiner of gelijk aan ARG2\n" #~ " ARG1 = ARG2 ARG1 is gelijk aan ARG2\n" #~ " ARG1 != ARG2 ARG1 is niet gelijk aan ARG2\n" #~ " ARG1 >= ARG2 ARG1 is groter dan of gelijk aan ARG2\n" #~ " ARG1 > ARG2 ARG1 is groter dan ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 rekenkundige som van ARG1 en ARG2\n" #~ " ARG1 - ARG2 rekenkundig verschil van ARG1 en ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 rekenkundig product van ARG1 en ARG2\n" #~ " ARG1 / ARG2 rekenkundig quotient van ARG1 en ARG2 (ARG1 gedeeld " #~ "door ARG2)\n" #~ " ARG1 % ARG2 rekenkundige rest van ARG1 gedeeld door ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " TEKENREEKS : REGEXP voldoet de TEKENREEKS aan het patroon in REGEXPR\n" #~ "\n" #~ " match TEKENREEKS REGEXP hetzelfde als TEKENREEKS : REGEXP\n" #~ " substr TEKENREEKS POS LENGTE subreeks van TEKENREEKS, POS telt vanaf " #~ "1\n" #~ " index TEKENREEKS KARS laagste index in TEKENREEKS waar een kar " #~ "in\n" #~ " KARS is gevonden, of 0\n" #~ " length TEKENREEKS lengte van TEKENREEKS\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + TOKEN interpreteer TOKEN als een tekenreeks, zelfs " #~ "als het een\n" #~ " sleutelwoord is zoals `match' of een " #~ "operator zoals `/'\n" #~ "\n" #~ " ( EXPRESSIE ) waarde van EXPRESSIE\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Let er op dat veel operatoren geescaped of gekwoot gebruikt moeten\n" #~ "worden bij shells. Vergelijkingen zijn rekenkundig als beide ARGs\n" #~ "nummers zijn, anders lexicografisch. Patroonovereenkomsten geven de\n" #~ "gevonden string tussen \\( en \\) of null; als \\( en \\) niet zijn\n" #~ "gebruikt, geven ze het aantal overeenkomstige karakters of 0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Afsluitstatus is 0 als EXPRESSIE noch leeg noch 0 is, 1 als EXPRESSIE " #~ "leeg\n" #~ "of 0 is, 2 als EXPRESSIE syntactisch ongeldig is, en 3 als er een fout " #~ "optrad.\n" #~ msgid "syntax error" #~ msgstr "fout in de syntaxis" #~ msgid "error in regular expression matcher" #~ msgstr "fout in zoeken met reguliere expressie" #~ msgid "non-numeric argument" #~ msgstr "niet-numeriek argument" #~ msgid "division by zero" #~ msgstr "deling door nul" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s [NUMMER]...\n" #~ " of: %s OPTIE\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Toon de priemgetallen waaruit elk NUMMER is opgebouwd.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Toon de priemgetallen van alle gegeven NUMMERs. Als er geen\n" #~ "argumenten gegeven zijn dan worden deze gelezen van standaardinvoer.\n" #~ msgid "%s is too large" #~ msgstr "%s is te groot" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s is geen geldig positief geheel getal" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Gebruik: %s [-CIJFERS] [OPTIE]... [BESTAND]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Deel iedere paragraaf opnieuw in in BESTAND(en), schrijf naar " #~ "standaarduitvoer.\n" #~ "Als er geen BESTAND is of als BESTAND is `-', lees dan van " #~ "standaardinvoer\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin behoudt inspringen van de eerste twee regels\n" #~ " -p, --prefix=TEKST deel alleen regels met TEKST als voorvoegsel " #~ "opnieuw in.\n" #~ " en voeg TEKST opnieuw als voorvoegsel toe\n" #~ " -s, --split-only lange regels splitsen, maar niet opnieuw " #~ "uitvullen\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph inspringen eerste regel verschilt van tweede\n" #~ " -u, --uniform-spacing één spatie tussen woorden, twee na een " #~ "zinseinde\n" #~ " -w, --width=NUMMER maximale regelbreedte (standaard is 75 " #~ "tekens)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "ongeldige optie -- %c; -NUMMER wordt alleen herkend als het de eerste\n" #~ "optie is; gebruik in plaats daarvan -w N" #~ msgid "invalid width: %s" #~ msgstr "ongeldige breedte: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Breek invoerregels af in elk BESTAND (standaardinvoer is de standaard),\n" #~ "schrijf naar standaarduitvoer.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes tel bytes in plaats van kolommen\n" #~ " -s, --spaces breek af op spaties\n" #~ " -w, --width=NUMMER gebruik NUMMER kolommen in plaats van 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "ongeldig aantal kolommen: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "kan de groepen van gebruiker %s niet verkrijgen" #~ msgid "failed to get groups for the current process" #~ msgstr "kan de groepen van het huidige proces niet verkrijgen" #~ msgid "cannot find name for group ID %lu" #~ msgstr "kan geen naam vinden voor groep-ID %lu" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Gebruik: %s [OPTIE]... [GEBRUIKERSNAAM]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "Toon informatie over GEBRUIKERSNAAM of, als er geen GEBRUIKERSNAAM is " #~ "gespecificeerd,\n" #~ "het huidige proces (hetwelk verschillend is als de groependatabase is " #~ "gewijzigd).\n" #~ msgid "%s: No such user" #~ msgstr "%s: Onbekende gebruiker" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kopieer de eerste 10 regels van elk BESTAND naar standaarduitvoer.\n" #~ "Indien meer dan één BESTAND gegeven is, wordt de uitvoer van ieder\n" #~ "bestand voorafgegaan door de bestandsnaam. Indien geen BESTAND\n" #~ "gegeven is, of BESTAND is -, lees dan van standaardinvoer.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N toon de eerste N bytes van elk bestand;\n" #~ " met een voorloop '-', toon alles behalve de " #~ "laatste\n" #~ " N bytes van elk bestand\n" #~ " -n, --lines=[-]N toon de eerste N regels in plaats van de " #~ "eerste 10\n" #~ " met de voorloop '-', toon alle regels " #~ "behalve de\n" #~ " laatste N regels van elk bestand\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent toon geen koppen met bestandsnamen\n" #~ " -v, --verbose toon altijd koppen met bestandsnamen\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "N mag een vermenigvuldigingsachtervoegsel hebben:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, enzovoort voor T, P, E, Z, Y.\n" #~ msgid "error reading %s" #~ msgstr "fout bij lezen van %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: bestand is te veel geslonken" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: aantal bytes is te groot" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: kan niet terugspringen naar de originele positie" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s kan niet naar de offset %s springen" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "kan de bestandspositieaanduider van %s niet verplaatsen" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s is zo groot dat het niet weergegeven kan worden" #~ msgid "number of lines" #~ msgstr "aantal regels" #~ msgid "number of bytes" #~ msgstr "aantal bytes" #~ msgid "invalid number of lines" #~ msgstr "ongeldig aantal regels" #~ msgid "invalid number of bytes" #~ msgstr "ongeldig aantal bytes" #~ msgid "invalid trailing option -- %c" #~ msgstr "ongeldige optie aan het eind -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Gebruik: %s\n" #~ " of: %s OPTIE\n" #~ "Toon de numerieke identifier (in hexadecimaal) voor de huidige host.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Gebruik: %s [NAAM]\n" #~ " of: %s OPTIE\n" #~ "Toon of zet de hostnaam van het huidige systeem\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "kan de naam niet wijzigen in %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "kan hostnaam niet instellen; dit systeem biedt deze functionaliteit niet" #~ msgid "cannot determine hostname" #~ msgstr "kan hostname niet achterhalen" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Toon informatie voor GEBRUIKERSNAAM, of van de huidige gebruiker.\n" #~ "\n" #~ " -a negeer, voor compatibiliteit met andere versies\n" #~ " -Z, --context toon alleen de beveiligingscontext van de huidige " #~ "gebruiker\n" #~ " -g, --group toon alleen de effectieve groep-ID\n" #~ " -G, --groups toon alle groep-ID's\n" #~ " -n, --name toon een naam in plaats van een nummer, voor -ugG\n" #~ " -r, --real toon het echte ID in plaats van het effectieve ID, voor " #~ "-ugG\n" #~ " -u, --user toon alleen het effectieve gebruiker-ID\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Zonder enige OPTIE, toon een bruikbare set van identificatie-informatie.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "--context (-Z) werkt alleen in een kernel met SELinux" #~ msgid "cannot print security context when user specified" #~ msgstr "" #~ "kan beveiligingscontext niet tonen als een gebruiker is gespecificeerd" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "kan beveiligingscontext niet tonen als selinux niet aan staat of bij het " #~ "tonen van\n" #~ "een ID van een andere gebruiker" #~ msgid "can't get process context" #~ msgstr "kan de context van het proces niet verkrijgen" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "kan niet \"alleen\" tonen bij meer dan één keuze" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "kan niet alleen namen of alleen echte IDs in standaard formaat tonen" #~ msgid "cannot find name for user ID %lu" #~ msgstr "kan geen naam vinden bij gebruiker-ID %lu" #~ msgid " groups=" #~ msgstr " groepen=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "waarschuwing: %s: kan de context niet wijzigen in %s" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Waarschuwing: --preserve-context niet gebruikt; in deze kernel staat " #~ "SELinux niet aan." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "" #~ "Waarschuwing: --context (-Z) niet gebruikt; in deze kernel staat SELinux " #~ "niet aan." #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "" #~ "de strip-optie mag niet gebruikt worden bij het installeren van een map" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "doelmap niet toegestaan bij het installeren van een map" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "kan de doel-context niet op %s zetten en deze bewaren" #~ msgid "invalid mode %s" #~ msgstr "ongeldige modus %s" #~ msgid "cannot change ownership of %s" #~ msgstr "kan de eigenaar van %s niet veranderen" #~ msgid "cannot set time stamps for %s" #~ msgstr "kan de tijdsaanduidingen van %s niet zetten" #~ msgid "fork system call failed" #~ msgstr "'fork' systeemaanroep is mislukt" #~ msgid "cannot run strip" #~ msgstr "kan 'strip' niet uitvoeren" #~ msgid "waiting for strip" #~ msgstr "wacht op gereedkomen van 'strip'" #~ msgid "strip process terminated abnormally" #~ msgstr "het proces 'strip' is niet normaal beëindigd" #~ msgid "invalid user %s" #~ msgstr "ongeldige gebruiker %s" #~ msgid "invalid group %s" #~ msgstr "ongeldige groep %s" #~ msgid "creating directory %s" #~ msgstr "map %s aanmaken" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... [-T] BRON DOEL\n" #~ " of: %s [OPTIE]... BRON... MAP\n" #~ " of: %s [OPTIE]... -t MAP BRON...\n" #~ " of: %s [OPTIE]... -d MAP...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Bij de eerste drie soorten aanroepen, wordt BRON naar DOEL gekopieerd of " #~ "BRONnen naar\n" #~ "een bestaande MAP, terwijl toegangsrechten en eigenaar en groep gezet " #~ "worden.\n" #~ "Bij de vierde soort, worden alle componenten van de gegeven MAP(pen) " #~ "aangemaakt.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTROL] maak een reserve bestand van elk bestaand " #~ "bestemmingsbestand\n" #~ " -b zoals --backup maar accepteert geen argument\n" #~ " -c (genegeerd)\n" #~ " -d, --directory behandel alle argumenten als mapnamen; maak alle\n" #~ " componenten aan van de gespecificeerde mappen\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D maak alle componenten van DOEL aan behalve de " #~ "laatste,\n" #~ " kopieer dan BRON naar DOEL\n" #~ " -g, --group=GROEP zet groep-eigenaar, in plaats van de groep van het " #~ "huidige proces\n" #~ " -m, --mode=MODE zet toegangsrechten (als in chmod), in plaats van " #~ "rwxr-xr-x\n" #~ " -o, --owner=OWNER zet de eigenaar (alleen voor systeembeheerder)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps neem de tijden van laatste keer gebruikt/" #~ "gewijzigd over\n" #~ " van BRON bestanden naar de overeenkomstige " #~ "bestemmingsbestanden\n" #~ " -s, --strip verwijder symbooltabellen\n" #~ " -S, --suffix=SUFFIX negeer het gebruikelijke reservekopie-" #~ "achtervoegsel\n" #~ " -t, --target-directory=MAP kopieer alle BRON argumenten naar MAP\n" #~ " -T, --no-target-directory behandel DOEL als een normaal bestand\n" #~ " -v, --verbose toon de naam van elke map zodra deze is gemaakt\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context bewaar de SELinux beveiligingscontext\n" #~ " -Z, --context=CONTEXT zet SELinux beveiligingscontext van bestanden en " #~ "mappen\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Het reservekopie-achtervoegsel is `~', tenzij ingesteld met --suffix of\n" #~ "SIMPLE_BACKUP_SUFFIX. De versiecontrolemethode mag worden ingesteld met " #~ "de optie\n" #~ "--backup of door de omgevingsvariabele VERSION_CONTROL. Mogelijke waarden " #~ "zijn:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Voor elk paar invoerregels met gelijke samenvoegvelden, schrijf een regel " #~ "naar\n" #~ "standaarduitvoer. Het standaard samenvoegveld is het eerste veld, " #~ "omgeven\n" #~ "door witruimte. Als BESTAND1 of BESTAND2 (niet beiden) gelijk zijn aan " #~ "-, lees\n" #~ "dan van standaardinvoer.\n" #~ "\n" #~ " -a NUMMER print paarbare regels uit bestand NUMMER, waar\n" #~ " NUMMER is 1 of 2, overeenkomend met BESTAND1 of " #~ "BESTAND2\n" #~ " -e LEEG vervang ontbrekende invoer velden door LEEG\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case negeer verschil in hoofd-/kleine letter bij de " #~ "veldvergelijking\n" #~ " -j VELD gelijk aan `-1 VELD -2 VELD'\n" #~ " -o OPMAAK OPMAAK geeft aan hoe de uitvoer regel gemaakt moet " #~ "worden\n" #~ " -t KAR gebruik KAR als invoer en uitvoer veldscheiding\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v NUMMER zoals -a NUMMER, echter onderdruk samengevoegde " #~ "uitvoerregels\n" #~ " -1 VELD voeg samen op dit VELD in bestand 1\n" #~ " -2 VELD voeg samen op dit VELD in bestand 2\n" #~ " --check-order controleer of de invoer juist is gesorteerd, zelfs\n" #~ " als van alle invoerregels paren gemaakt kunnen " #~ "worden\n" #~ " --nocheck-order controleer niet of de invoer juist is gesorteerd\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Tenzij -t KAR aanwezig is, is voorloop witruimte de scheiding en wordt " #~ "verder genegeerd,\n" #~ "anders zijn velden gescheiden door KAR. Elk VELD heeft een veldnummer " #~ "beginnend\n" #~ "bij 1. OPMAAK is een of meer komma- of spatie(s)gescheiden " #~ "specificaties,\n" #~ "elk bestaat uit `NUMMER.VELD' of `0'. Standaard OPMAAK voert het " #~ "samenvoegveld\n" #~ "uit, dan de overblijvende velden uit BESTAND1, de overblijvende velden " #~ "uit BESTAND2,\n" #~ "alles gescheiden door KAR.\n" #~ "\n" #~ "Belangrijk: BESTAND1 en BESTAND2 moeten gesorteerd zijn op de " #~ "samenvoegvelden.\n" #~ "B.v. gebruik `sort -k 1b,1' als `join' geen opties heeft.\n" #~ "Als de invoer niet is gesorteerd en sommige regels niet samengevoegd " #~ "kunnen worden,\n" #~ "dan wordt er een waarschuwing gegeven.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "Bestand %d is niet gesorteerd" #~ msgid "invalid field number: %s" #~ msgstr "ongeldig veldnummer: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "ongeldige veldspecificatie: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "ongeldig bestandsnummer in veldspecificatie: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "incompatibele join-velden %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "conflicterende leeg-veldvervangingstekenreeksen" #~ msgid "empty tab" #~ msgstr "lege tab" #~ msgid "multi-character tab %s" #~ msgstr "meervoudig tab-karakter %s" #~ msgid "incompatible tabs" #~ msgstr "incompatibele tabs" #~ msgid "both files cannot be standard input" #~ msgstr "niet beide bestanden mogen de standaardinvoer zijn" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Gebruik: %s [-s SIGNAAL | -SIGNAAL] PID...\n" #~ " of: %s -l [SIGNAAL]...\n" #~ " of: %s -t [SIGNAAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Zend signalen naar processen, of laat signalen zien.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SIGNAAL, -SIGNAAL\n" #~ " specificeer de naam of nummer van het te verzenden " #~ "signaal\n" #~ " -l, --list maak een lijst van signaalnamen, of converteer " #~ "signaalnamen\n" #~ " naar/van nummers\n" #~ " -t, --table print een tabel met signaalinformatie\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SIGNAAL mag een signaalnaam zoals `HUP' zijn, of een signaalnummer zoals " #~ "`1',\n" #~ "of een afsluitstatus van een proces beëindigd door een signaal.\n" #~ "PID is een geheel getal; als het negatief is dan geeft het een " #~ "procesgroep aan.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: ongeldig signaal" #~ msgid "%s: invalid process id" #~ msgstr "%s: ongeldig proces-ID" #~ msgid "invalid option -- %c" #~ msgstr "ongeldige optie -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: meer dan één signaal gespecificeerd" #~ msgid "multiple -l or -t options specified" #~ msgstr "meer dan één -l of -t optie gespecificeerd" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "kan het signaal niet combineren met -l of -t" #~ msgid "no process ID specified" #~ msgstr "geen proces-ID gespecificeerd" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s BESTAND1 BESTAND2\n" #~ " of: %s OPTIE\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Gebruik de koppelingsfunctie, link, om een koppeling BESTAND2 te maken " #~ "naar\n" #~ "een bestaand BESTAND1.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "kan de koppeling %s naar %s niet aanmaken" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: waarschuwing: een harde koppeling naar een symbolische koppeling is " #~ "niet overdraagbaar" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: een harde koppeling naar een map is niet toegestaan" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: kan de map niet overschrijven" #~ msgid "%s: replace %s? " #~ msgstr "%s: %s vervangen? " #~ msgid "creating symbolic link %s" #~ msgstr "symbolische koppeling %s aanmaken" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "symbolische koppeling %s -> %s aanmaken" #~ msgid "creating hard link to %.0s%s" #~ msgstr "harde koppeling naar %.0s%s aanmaken" #~ msgid "creating hard link %s" #~ msgstr "harde koppeling %s aanmaken" #~ msgid "creating hard link %s => %s" #~ msgstr "harde koppeling %s => %s aanmaken" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... [-T] DOEL KOPP_NAAM (1ste methode)\n" #~ " of: %s [OPTIE]... DOEL... (2de methode)\n" #~ " of: %s [OPTIE]... DOEL... MAP (3de methode)\n" #~ " of: %s [OPTIE]...-t MAP DOEL (4de methode)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "1ste methode: maak een koppeling naar DOEL aan met de naam KOPP_NAAM.\n" #~ "2de methode: maak een koppeling naar DOEL aan in de huidige MAP.\n" #~ "3de en 4de methode: maak koppelingen aan naar elk DOEL in MAP.\n" #~ "Standaard wordt een harde koppeling gemaakt, symbolische koppelingen met " #~ "--symbolic.\n" #~ "Bij het maken van een harde koppeling moet het doel bestaan.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTROL] maak een reservekopie van elk bestaand " #~ "bestemmingsbestand\n" #~ " -b zoals --backup maar geen argument " #~ "toegestaan\n" #~ " -d, -F, --directory sta de systeembeheerder toe een harde " #~ "koppeling te maken\n" #~ " naar mappen (Opmerking: zal " #~ "waarschijnlijk niet lukken\n" #~ " vanwege systeembeperkingen, zelfs niet " #~ "voor de\n" #~ " systeembeheerder)\n" #~ " -f, --force verwijder de bestaande " #~ "bestemmingsbestanden\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference behandel een bestemming die een symbolische " #~ "koppeling is\n" #~ " naar een map alsof het een normaal " #~ "bestand is\n" #~ " -i, --interactive vraag of de bestemming verwijderd moet " #~ "worden\n" #~ " -s, --symbolic maak symbolische in plaats van harde " #~ "koppelingen\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=ACHTERV gebruik niet het gebruikelijke " #~ "achtervoegsel voor\n" #~ " reservekopieën\n" #~ " -t, --target-directory=MAP specificeer de MAP waarin de koppelingen " #~ "aangebracht\n" #~ " moeten worden\n" #~ " -T, --no-target-directory behandel KOPP_NAAM als een normaal bestand\n" #~ " -v, --verbose toon de naam voordat er een koppeling wordt " #~ "gemaakt\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "" #~ "De combinatie van --target-directory en --no-target-directory kan niet" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Gebruik: %s [OPTIE]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Toon de naam van de huidige gebruiker.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "geen inlognaam" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "negeer ongeldige waarde van de omgevingsvariabele QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "negeer ongeldige breedte in omgevingsvariabele COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "negeer ongeldige tab-grootte in omgevingsvariabele TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "ongeldige regelbreedte: %s" #~ msgid "invalid tab size: %s" #~ msgstr "ongeldige tab-grootte: %s" #~ msgid "invalid time style format %s" #~ msgstr "ongeldige opmaakstijl voor de tijd %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "niet-herkend voorvoegsel: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "niet te ontleden waarde voor de LS_COLORS omgevingsvariabele" #~ msgid "cannot open directory %s" #~ msgstr "kan map %s niet openen" #~ msgid "cannot determine device and inode of %s" #~ msgstr "kan het apparaat of de 'inode' van %s niet bepalen" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: map wordt niet weergegeven, is al weergegeven" #~ msgid "closing directory %s" #~ msgstr "map %s sluiten" # idem #~ msgid "cannot compare file names %s and %s" #~ msgstr "kan de bestandsnamen %s en %s niet vergelijken" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Toon informatie over de BESTANDen (de huidige map is de standaard).\n" #~ "Sorteer ingangen alfabetische indien geen -cftuvSUX noch --sort aanwezig " #~ "is.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all laat ook de namen zien die beginnen met " #~ "een .\n" #~ " -A, --almost-all zoals -a, echter laat . en .. weg\n" #~ " --author met -l, laat de auteur van elk bestand zien\n" #~ " -b, --escape laat octale waarde zien van niet-grafische " #~ "karakters\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=GROOTTE gebruik blokken met GROOTTE voor aantal " #~ "bytes per blok \n" #~ " -B, --ignore-backups laat geen namen zien die eindigen op ~\n" #~ " -c met -lt: sorteer op en toon 'ctime'(tijd van " #~ "de\n" #~ " laatste wijziging van de " #~ "statusinformatie)\n" #~ " met -l: toon 'ctime' en sorteer op naam\n" #~ " anders: sorteer op 'ctime'\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C toon ingangen in kolommen\n" #~ " --color[=WANNEER] regelt of kleur gebruikt moet worden om " #~ "typen\n" #~ " bestanden te onderscheiden. WANNEER mag " #~ "zijn\n" #~ " `never', `always' of `auto'\n" #~ " -d, --directory toon map-ingangen in plaats van inhoud,\n" #~ " en volg de symbolische koppeling niet\n" #~ " -D, --dired maak uitvoer die ontworpen is voor de dired\n" #~ " modus van Emacs\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f niet sorteren, activeer -aU, deactiveer -ls " #~ "--color\n" #~ " -F, --classify voeg een aanwijzer achter de namen (één van " #~ "*/=@|)\n" #~ " --file-type zelfde, maar niet `*' achtervoegen\n" #~ " --format=WORD overdwars -x, komma's -m, horizontaal -x, " #~ "long -l,\n" #~ " enkele kolom -1, uitvoerig -l, verticaal -" #~ "C\n" #~ " --full-time zoals -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g zoals -l, maar toon geen eigenaar\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " groepeer mappen vóór bestanden.\n" #~ " vul dit aan met een --sort optie, maar " #~ "elk\n" #~ " gebruik van --sort=none (-U) deactiveert " #~ "groepering\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group bij een uitgebreide lijst, toon geen " #~ "groepsnaam\n" #~ " -h, --human-readable laat de groottes zien in leesbare opmaak\n" #~ " (bijv. 1K 234M 2G)\n" #~ " --si evenzo, maar gebruik machten van 1000 niet 1024\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " volg de symbolische koppeling(en) in de " #~ "commandoregel\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " volg de symbolische koppeling(en) in de " #~ "commandoregel\n" #~ " die naar een map verwijzen\n" #~ " --hide=PATROON toon de namen niet die voldoen aan het " #~ "PATROON\n" #~ " (geldt niet bij -a of -A)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=WOORD voeg indicator met stijl WOORD achter " #~ "namen in map:\n" #~ " WOORD is none (standaard), slash (-p),\n" #~ " file-type (--file-type) of classify (-F)\n" #~ " -i, --inode met -l, toon het indexnummer van elk " #~ "bestand\n" #~ " -I, --ignore=PATROON laat de namen in map niet zien die " #~ "overeenkomen met PATROON\n" #~ " -k zoals --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l gebruik de uitgebreide vorm van " #~ "bestandsinformatie\n" #~ " -L, --dereference bij het tonen van bestandsinformatie voor " #~ "een\n" #~ " symbolische koppeling, toon de information " #~ "over\n" #~ " het bestand waar de koppeling naar " #~ "verwijst in\n" #~ " plaats van de koppeling zelf\n" #~ " -m vul de breedte met een kommagescheiden lijst " #~ "van namen\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid zoals -l, maar toon numerieke gebruiker- en " #~ "groep-IDs\n" #~ " -N, --literal laat de ruwe naam zien (behandel bijv. " #~ "controle\n" #~ " karakters niet speciaal)\n" #~ " -o zoals -l, maar laat de groepinformatie niet " #~ "zien\n" #~ " -p, --indicator-style=slash\n" #~ " voeg een / indicator toe aan mappen\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars toon ? in plaats van niet-grafische " #~ "karakters\n" #~ " --show-control-chars toon niet-grafische karakters zoals-ze zijn " #~ "(standaard)\n" #~ " tenzij het `ls' is en de uitvoer naar een " #~ "terminal gaat)\n" #~ " -Q, --quote-name omsluit namen met aanhalingstekens\n" #~ " --quoting-style=WOORD gebruik de aanhalingsstijl WOORD voor " #~ "ingangsnamen:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse keer de volgorde om bij het sorteren\n" #~ " -R, --recursive toon submappen recursief\n" #~ " -s, --size toon de grootte van ieder bestand in " #~ "blokken\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S sorteer op bestandsgrootte\n" #~ " --sort=WOORD sorteer niet op naam maar volgens WOORD: " #~ "none -U,\n" #~ " extensie -X, size -S, time -t, version -v,\n" #~ " --time=WOORD met -l, toon tijdstip zoals WOORD aangeeft " #~ "in plaats\n" #~ " van tijdstip van laatste wijziging: atime -" #~ "u, access -u,\n" #~ " use -u, ctime -c of status -c; dit tijdstip " #~ "wordt gebruikt\n" #~ " bij sorteren als --sort=time\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STIJL met -l toon tijden volgens de stijl STIJL:\n" #~ " full-iso, long-iso, iso, locale, +OPMAAK\n" #~ " OPMAAK wordt geïnterpreteerd zoals `date'; " #~ "als OPMAAK is als\n" #~ " OPMAAK1OPMAAK2, dan geldt OPMAAK1 " #~ "voor niet-\n" #~ " recente bestanden en OPMAAK2 voor recente " #~ "bestanden;\n" #~ " als STIJL `posix-' als voorvoegsel heeft, " #~ "dan heeft STIJL\n" #~ " alleen effect buiten de POSIX taalregio\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t sorteer volgens de tijd van laatste " #~ "wijziging\n" #~ " -T, --tabsize=KOLS zet tabstops op elke KOLS tekens in plaats " #~ "van 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u met -lt: sorteer op, en toon het tijdstip " #~ "van laatste\n" #~ " toegang; met -l: toon het tijdstip van " #~ "laatste toegang\n" #~ " en sorteer op naam; anders: sorteer op " #~ "tijdstip\n" #~ " van laatste toegang\n" #~ " -U niet sorteren; laat de namen zien in de " #~ "volgorde in de map\n" #~ " -v sorteer op versie\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=BREEDTE neem de schermbreedte in plaats van de " #~ "huidige waarde\n" #~ " -x toon namen per regel in plaats in kolommen\n" #~ " -X sorteer alfabetisch op de extensie\n" #~ " -Z, --context toon alle SELinux beveiligingscontext van " #~ "elk bestand\n" #~ " -1 toon één bestand per regel\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Standaard worden er geen kleuren gebruikt om de verschillende soorten " #~ "bestanden\n" #~ "te onderscheiden; dit is gelijk aan het gebruik van --color=none. " #~ "Gebruik van\n" #~ "de optie --color zonder het optionele argument WANNEER is gelijk aan het " #~ "gebruik\n" #~ "van --color=always. Met --color=auto worden kleurcodes alleen gebruikt " #~ "als de\n" #~ "standaarduitvoer naar een terminal (tty) wijst. De omgevingsvariabele " #~ "LS_COLORS\n" #~ "kan de kleuren beinvloeden en kan gezet worden met het commando " #~ "'dircolors'.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Afsluitstatus is 0 indien OK, 1 bij kleine problemen, 2 bij serieuze " #~ "problemen.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE] [BESTAND]...\n" #~ "Toon of controleer %s (%d-bit) controlesommen (checksums).\n" #~ "Zonder BESTAND, of wanneer BESTAND is -, lees van standaardinvoer.\n" #~ "\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary lees in binaire modus (standaard tenzij lezend " #~ "van tty stdin)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary lees in binaire modus\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check lees %s controlesommen van de BESTANDen en " #~ "controleer deze\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text lees in tekst modus (standaard bij lezen van " #~ "tty stdin)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text lees in tekst modus (standaard)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "De volgende twee opties zijn alleen bruikbaar bij het controleren van " #~ "controlesommen:\n" #~ " --status stuur niets naar de uitvoer, de statuscode laat " #~ "gelukt zien\n" #~ " -w, --warn waarschuw bij verkeerd opgemaakte regels met " #~ "controlesommen\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "De sommen zijn berekend zoals beschreven in %s. Bij het controleren\n" #~ "moet de invoer voormalig uitvoer van dit programma zijn. De standaard " #~ "modus is\n" #~ "een regel tonen met een controlesom, een karakter die het type aangeeft\n" #~ "(`*' voor binair, ` ' voor tekst), en de naam voor elk BESTAND.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: te veel regels met controlesommen" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: foutief opgemaakte %s regel met controlesom" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: openen of lezen MISLUKT\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: fout bij lezen" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: geen correct opgemaakte %s regels met controlesom gevonden" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "WAARSCHUWING: % van % getoond bestand kan niet gelezen " #~ "worden" #~ msgstr[1] "" #~ "WAARSCHUWING: % van % getoonde bestanden kunnen niet " #~ "gelezen worden" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "WAARSCHUWING: % van % berekende controlesom komt NIET " #~ "overeen" #~ msgstr[1] "" #~ "WAARSCHUWING: % van % berekende controlesommen komen " #~ "NIET overeen" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "de --binary en --text opties werken niet bij het verifiëren van " #~ "controlesommen" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "" #~ "de --status optie werkt alleen bij het verifiëren van controlesommen" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "de --warn optie werkt alleen bij het verifiëren van controlesommen" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Gebruik: %s [OPTIE] MAP...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Maak de MAP(pen) aan als ze al niet bestaan.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MODE zet rechten (zoals met `chmod'), niet a=rwx - umask\n" #~ " -p, --parents geen fout als map al bestaat, maak, indien nodig, de\n" #~ " bovenliggende mappen aan\n" #~ " -v, --verbose geef een melding voor elke aangemaakte map\n" #~ " -Z, --context=CTX zet de SELinux beveiligingscontext van elke " #~ "aangemaakte\n" #~ " map op CTX\n" #~ msgid "created directory %s" #~ msgstr "de map %s is aangemaakt" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Gebruik: %s [OPTIE] NAAM...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Maak benoemde pijpen aan (FIFO's) met de gegeven NAAMen.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=CTX zet de SELinux beveiligingscontext van elke NAAM op " #~ "CTX\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr " -m, --mode=MODE zet rechten volgens MODE, niet a=rw - umask\n" #~ msgid "invalid mode" #~ msgstr "ongeldige modus" #~ msgid "mode must specify only file permission bits" #~ msgstr "mode mag alleen de bestandsrechtenbits specificeren" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Gebruik: %s [OPTIE]... NAAM TYPE [MAJOR MINOR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Maak het speciale bestand NAAM aan van het gegeven TYPE.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=CTX zet de SELinux beveiligingscontext van NAAM op CTX\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Zowel MAJOR als MINOR moeten gespecificeerd worden wanneer TYPE b, c of u " #~ "is en\n" #~ "weggelaten als TYPE p is. Als MAJOR of MINOR begint met 0x of 0X, dan\n" #~ "is de interpretatie hexadecimaal; anders, als het begint met 0, octaal;\n" #~ "anders decimaal. TYPE mag zijn:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b maak een (gebufferd) blok-speciaal bestand\n" #~ " c, u maak een (niet gebufferd) byte-speciaal bestand\n" #~ " p maak een FIFO\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Bij speciale bestanden, moeten hoofd- en onderapparaatnummers " #~ "gespecificeerd worden." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Fifo's hebben geen hoofd- en onderapparaatnummers." #~ msgid "block special files not supported" #~ msgstr "blok-speciaal bestanden worden niet ondersteund" #~ msgid "character special files not supported" #~ msgstr "byte-speciaal bestanden worden niet ondersteund" #~ msgid "invalid major device number %s" #~ msgstr "ongeldig hoofdaparaatnummer %s" #~ msgid "invalid minor device number %s" #~ msgstr "ongeldig onderapparaatnummer %s" #~ msgid "invalid device %s %s" #~ msgstr "ongeldig apparaat %s %s" #~ msgid "invalid device type %s" #~ msgstr "ongeldig apparaattype %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Gebruik: %s [OPTIE]... [VOORBEELD]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Maak een tijdelijk bestand of map beveiligd aan en toon de naam.\n" #~ "Als VOORBEELS niet is gespecificeerd, gebruik dan tmp.XXXXXXXXXX.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory maak een map aan, geen bestand\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet onderdruk een foutmelding over het aanmaken van een " #~ "bestand/map\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run maak niets aan; toon alleen een naam (onveilig)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=MAP] interpreteer VOORBEELD relatief tot MAP. Als DIR " #~ "niet\n" #~ " is gespecificeerd, gebruik dan $TMPDIR indien gezet, " #~ "anders /tmp.\n" #~ " Met deze optie mag VOORBEELD geen absolute naam " #~ "zijn.\n" #~ " Anders dan met -t mag VOORBEELD slashes bevatten, " #~ "maar zelfs\n" #~ " hier, zal mktemp alleen de laatste component " #~ "aanmaken.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p MAP gebruik MAP als voorvoegsel; impliceert -t " #~ "[verouderd]\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t interpreteer VOORBEELD als een component van een " #~ "enkele bestandsnaam,\n" #~ " relatief ten opzichte van een map: $TMPDIR, indien " #~ "gezet; anders de\n" #~ " map gespecificeerd via -p; anders /tmp [verouderd]\n" #~ msgid "too many templates" #~ msgstr "te veel voorbeelden" #~ msgid "too few X's in template %s" #~ msgstr "te weinig Xen in voorbeeld %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "ongeldig voorbeeld %s; bevat mapscheiders" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "ongeldig voorbeeld %s; met --tmpdir die niet absoluut mag zijn" #~ msgid "failed to create directory via template %s" #~ msgstr "kan de map niet aanmaken via voorbeeld %s" #~ msgid "failed to create file via template %s" #~ msgstr "kan het bestand niet aanmaken via voorbeeld %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Hernoem BRON naar BEST, of verplaats BRON(nen) naar MAP.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=CONTROL] maak een reservekopie van ieder bestaand\n" #~ " bestemmingsbestand\n" #~ " -b zoals --backup maar zonder argument\n" #~ " -f, --force geen vraag stellen bij overschrijven\n" #~ " -i, --interactive vraag toestemming alvorens te " #~ "overschrijven\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes verwijder eventuele achtergevoegde " #~ "slashes\n" #~ " (schuine strepen) uit elk BRON argument\n" #~ " -S, --suffix=SUFFIX overschrijf het gebruikelijke " #~ "achtervoegsel voor een\n" #~ " reservebestand\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=MAP verplaats alle BRON argumenten naar MAP\n" #~ " -T, --no-target-directory behandel DOEL als een normaal bestand\n" #~ " -u, --update verplaats alleen als de BRON nieuwer is\n" #~ " dan het bestemmingsbestand of wanneer " #~ "het\n" #~ " bestemmingsbestand ontbreekt\n" #~ " -v, --verbose laat zien wat er gedaan wordt\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Gebruik: %s [OPTIE] [COMMANDO [ARG]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Voer COMMANDO uit met een aangepaste `scheduling'-prioriteit (nice).\n" #~ "Zonder COMMANDO, toon de huidge `scheduling'-prioriteit. Nice-\n" #~ "waarden lopen van %d (krijgt de meeste tijd) tot %d (minste tijd).\n" #~ "\n" #~ " -n, --adjustment=N tel geheel getal N op bij de nice-waarde " #~ "(standaard 10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "ongeldige aanpassing %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "er moet een commando gegeven worden met een aanpassing" #~ msgid "cannot get niceness" #~ msgstr "kan de nice-waarde niet verkrijgen " #~ msgid "cannot set niceness" #~ msgstr "kan nice-waarde niet instellen" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Schrijf ieder BESTAND naar standaarduitvoer, met regelnummers " #~ "toegevoegd.\n" #~ "Zonder BESTAND, of als BESTAND is -, lees van standaardinvoer.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STIJL gebruik STIJL voor de nummering van de " #~ "regels\n" #~ " -d, --section-delimiter=CC gebruik CC voor het scheiden van " #~ "logische pagina's\n" #~ " -f, --footer-numbering=STIJL gebruik STIJL voor de nummering van " #~ "voetregels\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STIJL gebruik STIJL voor de nummering van " #~ "kopregels\n" #~ " -i, --page-increment=NUMMER hoog regelnummer op met NUMMER na elke " #~ "regel\n" #~ " -l, --join-blank-lines=NUMMER groep van NUMMER lege regels telt als " #~ "één\n" #~ " -n, --number-format=OPMAAK voeg regelnummers toe volgens OPMAAK\n" #~ " -p, --no-renumber reset regelnummers niet op logische " #~ "pagina's\n" #~ " -s, --number-separator=TEKST voeg TEKST toe na (mogelijk) " #~ "regelnummer\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NUMMER eerste regelnummer op elke logische " #~ "pagina\n" #~ " -w, --number-width=NUMMER gebruik NUMMER kolommen (karakters) " #~ "voor regelnummers\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Standaard is -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC is\n" #~ "twee scheidingstekens voor het scheiden van logische pagina's, een " #~ "ontbrekend\n" #~ "tweede karakter betekent :. Geef \\\\ voor \\. STIJL is een van:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a nummer alle regels\n" #~ " t nummer alleen niet-lege regels\n" #~ " n nummer geen regels\n" #~ " pBRE nummer alleen regels met een overeenkomst met de basis " #~ "reguliere\n" #~ " expressie, BRE\n" #~ "\n" #~ "OPMAAK is een van:\n" #~ "\n" #~ " ln links aangesloten, geen voorloopnullen\n" #~ " rn rechts aangesloten, geen voorloopnullen\n" #~ " rz rechts aangesloten, met voorloopnullen\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "regelnummer loopt over" #~ msgid "invalid header numbering style: %s" #~ msgstr "ongeldige stijl voor kopnummering: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "ongeldige stijl voor regelnummers: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "ongeldige stijl voor voetregels: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "ongeldig regelnummer voor beginregel: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "ongeldige ophoging voor regelnummers: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "ongeldig aantal lege regels: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "ongeldige veldbreedte voor regelnummer: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "ongeldig opmaak voor nummering: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s COMMANDO [ARG]...\n" #~ " of: %s OPTIE\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Voer COMMANDO uit, maar negeer 'hangup' signalen.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Als standaardinvoer een terminal is, verwijs dan naar /dev/null.\n" #~ "Als standaarduitvoer een terminal is, voeg output achter`nohup.out' " #~ "indien mogelijk,\n" #~ "anders `$HOME/nohup.out'.\n" #~ "Als standaarderror een terminal is, verwijs dan naar standaarduitvoer.\n" #~ "Om de uitvoer naar BESTAND te sturen, gebruik `%s COMMANDO > BESTAND'.\n" #~ msgid "ignoring input" #~ msgstr "invoer genegeerd" #~ msgid "failed to open %s" #~ msgstr "kan %s niet openen" #~ msgid "ignoring input and appending output to %s" #~ msgstr "invoer genegeerd en uitvoer achter %s gevoegd" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "kan de kopie van 'stderr' niet sluiten bij het uitvoeren" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "invoer genegeerd en stderr gaat naar stdout" #~ msgid "failed to redirect standard error" #~ msgstr "kan de standaardfoutuitvoer niet omleiden" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... [BESTAND]...\n" #~ " of: %s [-abcdfilosx]... [BESTAND] [[+]OFFSET[.][b]]\n" #~ " of: %s --traditional [OPTIE]... [BESTAND] [[+]OFFSET[.][b] [+][LABEL]" #~ "[.][b]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Schrijf een eenduidige representatie, standaard is octale bytes,\n" #~ "van BESTAND naar standaarduitvoer. Met meer dan één BESTAND argument,\n" #~ "plak ze aan elkaar in de gegeven volgorde om de invoer te vormen.\n" #~ "Zonder BESTAND, of wanneer BESTAND is -, lees van standaardinvoer.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Alle argumenten bij lange opties zijn verplicht voor korte opties.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=RADIX geeft aan hoe offsets in bestanden worden " #~ "getoond\n" #~ " -j, --skip-bytes=BYTES sla de eerste BYTES bytes over van de " #~ "invoer\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BYTES limiteer uitvoer tot BYTES bytes van de " #~ "invoer\n" #~ " -s, --strings[=BYTES] laat tekst zien met tenminste BYTES " #~ "grafische karakters\n" #~ " -t, --format=TYPE selecteer type of typen uitvoeropmaak\n" #~ " -v, --output-duplicates gebruik geen * om een regelonderdrukking " #~ "aan te geven\n" #~ " -w, --width[=BYTES] laat BYTES bytes zien per uitvoerregel\n" #~ " --traditional accepteer argumenten in de traditionele " #~ "vorm\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Traditionele opmaakspecificatie mag gemixt worden; zij tellen op:\n" #~ " -a zoals -t a, selecteer benoemde karakters, hoogste bit genegeerd\n" #~ " -b zoals -t o1, selecteer octale bytes\n" #~ " -c zoals -t c, selecteer ASCII karakters of 'backslash escapes'\n" #~ " -d zoals -t u2, selecteer decimale getallen zonder teken 2-bytes " #~ "eenheden\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f zoals -t fF, selecteer drijvende komma getallen\n" #~ " -i zoals -t dI, selecteer decimale korte getallen\n" #~ " -l zoals -t dL, selecteer decimale lange getallen\n" #~ " -o zoals -t o2, selecteer octale 2-bytes eenheden\n" #~ " -s zoals -t d2, selecteer decimale 2-bytes eenheden\n" #~ " -x zoals -t x2, selecteer hexadecimale 2-bytes eenheden\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Als de eerste en tweede vorm van 'Gebruik' van toepassing is dan geldt de " #~ "tweede\n" #~ "vorm als de laatste operand met + begint of, bij twee operanden, een " #~ "cijfer.\n" #~ "Een OFFSET operand betekent -j OFFSET. LABEL is het pseudo-adres\n" #~ "bij het eerst getoonde byte en wordt opgehoogd tijdens de voortgang van " #~ "de\n" #~ "dump. Voor OFFSET en LABEL, betekent een 0x of 0X voorvoegsel " #~ "hexadecimaal;\n" #~ "achtervoegsels mogen zijn . voor octaal en b voor vermenigvuldiging met " #~ "512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "TYPE wordt aangeduid door één of meer van de volgende specificaties:\n" #~ "\n" #~ " a genoemd karakter\n" #~ " c ASCII karakter of backslash escape\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[AANT] decimaal getal met teken, AANT bytes per getal\n" #~ " f[AANT] drijvende komma getal, AANT bytes per getal\n" #~ " o[AANT] octaal, AANT bytes per weergave\n" #~ " u[AANT] decimaal getal zonder teken, AANT bytes per getal\n" #~ " x[AANT] hexadecimaal, AANT bytes per weergave\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "AANT is een getal. Voor TYPE in doux, AANT mag ook zijn C voor\n" #~ "sizeof(char), S voor sizeof(short), I voor sizeof(int) of L voor\n" #~ "sizeof(long). Als TYPE f is, AANT mag ook F zijn voor sizeof(float).\n" #~ "D voor sizeof(double) of L voor sizeof(long double).\n" #~ "sizeof() is een machine afhankelijke functie die de lengte in bytes van\n" #~ "de betrokken eenheid teruggeeft.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "RADIX is d voor decimaal, o voor octaal, x voor hexadecimaal of n voor " #~ "geen.\n" #~ "BYTES is hexadecimaal met het 0x of 0X voorvoegsel en een " #~ "vermenigvuldings-\n" #~ "achtervoegsel: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, enzovoort voor T, P, E, Z, Y.\n" #~ "Een z achtervoegen aan ieder type voegt een hoeveelheid printbare " #~ "karakters\n" #~ "toe aan het eind van iedere regel uitvoer. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string zonder een nummer betekent 3. --width zonder een nummer\n" #~ "betekent 32. Standaard voor od is -A o -t d2 -w16.\n" #~ msgid "invalid type string %s" #~ msgstr "ongeldig type argument %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "ongeldig type argument %s;\n" #~ "dit systeem biedt geen integraal %lu-byte type" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "ongeldig type argument %s;\n" #~ "dit systeem biedt geen %lu-byte drijvende komma type" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "ongeldig teken `%c' in type argument %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "kan niet verder dan het einde van de gecombineerde invoer" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "ongeldige radix voor adres in uitvoer `%c'; dit moet een teken zijn uit " #~ "[doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "er mag geen type gegeven zijn indien met tekst gedumpt wordt" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Compatibiliteitsmodus mag hooguit met één bestand." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "aantal bytes om over te slaan + aantal bytes te lezen is te groot" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "waarschuwing: ongeldige breedte %lu; zal %d gebruiken" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" breedte=%d\n" #~ msgid "standard input is closed" #~ msgstr "standaardinvoer is gesloten" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Schrijf de regels uit de opeenvolgende overeenkomende regels uit\n" #~ "elk BESTAND, gescheiden door TABs, naar standaarduitvoer.\n" #~ "Zonder BESTAND, of wanneer BESTAND is -, lees standaardinvoer.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LIJST gebruik karakters uit LIJST in plaats van TABs\n" #~ " -s, --serial 'paste' één bestand tegelijk in plaats van " #~ "parallel\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "" #~ "lijst met scheidingstekens eindigt met een niet-escapete backslash: %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Gebruik: %s [OPTIE]... NAAM...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Controleer niet-overdraagbare constructies in NAAM.\n" #~ "\n" #~ " -p controleer voor de meeste POSIX systemen\n" #~ " -P controleer op lege namen en voorloop \"-\"\n" #~ " --portability controleer voor alle POSIX systemen (equivalent met " #~ "-p -P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "voorloop `-' in een onderdeel van een bestandsnaam %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "niet-overdraagbaar teken %s in bestandsnaam %s" #~ msgid "empty file name" #~ msgstr "lege bestandsnaam" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: niet in staat de maximum lengte van de bestandsnaam te bepalen" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "limiet %lu overschreden door de lengte %lu van de bestandsnaam %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "" #~ "limiet %lu overschreden door de lengte %lu van de bestandsnaamcomponent %s" #~ msgid "Login name: " #~ msgstr "Gebruikersnaam: " #~ msgid "In real life: " #~ msgstr "In het echt: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Map: " #~ msgid "Shell: " #~ msgstr "Shell: " #~ msgid "Project: " #~ msgstr "Project: " #~ msgid "Plan:\n" #~ msgstr "Plan:\n" #~ msgid "Login" #~ msgstr "Inlognaam" #~ msgid "Name" #~ msgstr "Naam" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Niet-aktief" #~ msgid "When" #~ msgstr "Wanneer" #~ msgid "Where" #~ msgstr "Waar" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Gebruik: %s [OPTIE]... [GEBRUIKER]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l geef de lange uitvoer voor de gespecificeerde " #~ "GEBRUIKERs\n" #~ " -b laat de standaard map en shell weg van de gebruiker in " #~ "de lange uitvoer\n" #~ " -h laat het projectbestand weg in de lange uitvoer\n" #~ " -p laat het planbestand weg in de lange uitvoer\n" #~ " -s geef de korte uitvoer, dit is de standaard\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f laat de kopregel weg in de korte uitvoer\n" #~ " -w laat de volledige naam van de gebruiker weg in de korte " #~ "uitvoer\n" #~ " -i laat de volledige naam en de externe host weg in de " #~ "korte uitvoer\n" #~ " -q laat de volledige naam, externe host en niet-actief " #~ "weg\n" #~ " in de korte uitvoer\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Een lichtgewicht 'finger' programma; laat gebruikersinformatie zien.\n" #~ "Het utmp-bestand is %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "geen gebruikersnaam opgegeven; tenminste één noodzakelijk als -l wordt " #~ "gebruikt" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=EERSTE[:LAATSTE]' ontbrekend argument" #~ msgid "Invalid page range %s" #~ msgstr "Ongeldige paginareeks %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l PAGINALENGTE' ongeldig aantal regels: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N AANTAL' ongeldig beginregelnummer: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o MARGE' ongeldige regeloffset: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w PAGINABREEDTE' ongeldig aantal tekens: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W PAGINABREEDTE' ongeldig aantal tekens: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "" #~ "Bij parallel afdrukken kan het aantal kolommen niet worden gespecificeerd." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Kan niet zowel parallel als dwars afdrukken." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c' overtollige tekens of ongeldig getal in het argument: %s" #~ msgid "page width too narrow" #~ msgstr "te smalle paginabreedte" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "startpaginanummer % is hoger dan het aantal pagina's %" #~ msgid "Page number overflow" #~ msgstr "Paginanummer loopt over" #~ msgid "Page %" #~ msgstr "Pagina %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Maak pagina's of kolommen van BESTAND(en) om af te drukken.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +EERSTE_PAG[:LAATSTE_PAG], --pages=EERSTE_PAG[:LAATSTE_PAG]\n" #~ " begin [stop] te printen bij pagina EERSTE_[LAATSTE_]" #~ "PAG\n" #~ " -KOLOM, --columns=KOLOM\n" #~ " Maak KOLOM kolommen en print kolomsgewijs naar " #~ "beneden,\n" #~ " tenzij -a is gebruikt. Maak het aantal regels in de\n" #~ " kolommen gelijk op iedere pagina.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across print de kolommen horizontaal en niet verticaal, " #~ "wordt\n" #~ " gebruikt met -KOLOM\n" #~ " -c, --show-control-chars\n" #~ " gebruik dakje-notatie (^G) en octale backslash " #~ "notatie\n" #~ " -d, --double-space\n" #~ " telkens een lege regel tussen de regels\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=OPMAAK\n" #~ " gebruik OPMAAK voor de kopdatum\n" #~ " -e[KAR[BREEDTE]], --expand-tabs[=KAR[BREEDTE]]\n" #~ " vervang invoer-KARs (TABs) tot tab BREEDTE (8)\n" #~ " -F, -f, --form-feed\n" #~ " gebruik 'formfeeds' in plaats van nieuwe-regels om\n" #~ " pagina's te scheiden\n" #~ " (bij een 3-regel paginakop met -F of een 5-regel kop\n" #~ " en voet zonder -F)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h KOP, --header=KOP\n" #~ " gebruik een gecentreerde KOP in plaats van de " #~ "bestandsnaam\n" #~ " in de paginakop,\n" #~ " -h \"\" print een blanco regel als kop, dus niet -h" #~ "\"\"\n" #~ " -i[KAR[BREEDTE]], --output-tabs[=KAR[BREEDTE]]\n" #~ " vervang spaties door KARs (TABs) tab BREEDTE (8)\n" #~ " -J, --join-lines plak volledige regels aan elkaar, zet -W af, afkorten " #~ "van\n" #~ " regels, geen kolommen uitlijning, --sep-string" #~ "[=TEKST] zet\n" #~ " scheidingstekens\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l PAG_LENGTE, --length=PAG_LENGTE\n" #~ " zet de paginalengte op PAG_LENGTE (66) regels\n" #~ " (standaard aantal regels tekst 56, met -F 63)\n" #~ " -m, --merge print alle bestanden parallel, één in elke kolom,\n" #~ " bekort regels, maar voeg regels met de volle lengte " #~ "samen met -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEP[CIJFER]], --number-lines[=SEP[CIJFER]]\n" #~ " aantal regels, gebruik CIJFER (5) cijfers, daarna SEP " #~ "(TAB),\n" #~ " het tellen begint standaard bij de eerste regel van " #~ "het invoerbestand\n" #~ " -N NUMMER, --first-line-number=NUMMER\n" #~ " start het tellen bij NUMMER op de eerste regel van de " #~ "eerste\n" #~ " te printen pagina (zie ook +EERSTE_PAG)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARGE, --indent=MARGE\n" #~ " schuif iedere regel op met MARGE (nul) spaties, heeft " #~ "geen\n" #~ " invloed op -w of -W, MARGE telt op bij PAG_BREEDTE\n" #~ " -r, --no-file-warnings\n" #~ " laat waarschuwingen weg als een bestand niet geopend " #~ "kan worden\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[KAR],--separator[=KAR]\n" #~ " scheidt de kolommen door één karakter, standaard voor " #~ "KAR\n" #~ " is het karakter zonder -w en 'geen karakter' " #~ "met -w\n" #~ " -s[KAR] zet regelafbreking af voor alle 3 kolommen\n" #~ " opties (-KOLOM|-a -KOLOM|-m) behalve wanneer -w is " #~ "gezet\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -STEKST, --sep-string[=TEKST]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " kolommen door TEKST scheiden,\n" #~ " zonder -S: Standaard scheidingsteken is met -J " #~ "en anders\n" #~ " spatie (zoals -S\" \"), geen invloed op kolom opties\n" #~ " -t, --omit-header laat paginakoppen en -voeten weg\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " geen paginakoppen en voeten, laat alle paginering " #~ "weg\n" #~ " door nieuwepaginatekens in de invoer bestanden\n" #~ " -v, --show-nonprinting\n" #~ " gebruik octale backslash notatie\n" #~ " -w PAG_BREEDTE, --width=PAG_BREEDTE\n" #~ " zet de paginabreedte op PAG_BREEDTE (72) karakters " #~ "alleen bij\n" #~ " meerdere tekstkolommen uitvoer, -s[char] zet (72) af\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W PAG_BREEDTE, --page-width=PAG_BREEDTE\n" #~ " zet paginabreedte op PAG_BREEDTE (72) karakters,\n" #~ " kap regels af, behalve wanneer de -J optie is gezet,\n" #~ " er is geen koppeling met -S of -s\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-t is van toepassing bij -l nn als nn <= 10 of <= 3 met -F.\n" #~ "Zonder BESTAND of wanneer BESTAND - is, lees van standaardinvoer.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Gebruik: %s [VARIABELE]...\n" #~ " of : %s OPTIE\n" #~ "Als geen omgevingsvariabele VARIABELE is gespecificeerd, print ze allen.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "waarschuwing: %s: karakter(s) volgend op karakterconstante zijn genegeerd" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s OPMAAK [ARGUMENT]...\n" #~ " of: %s OPTIE\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Print ARGUMENT(en) in overeenstemming met OPMAAK of voer uit volgens " #~ "OPTIE:\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "OPMAAK controleert de uitvoer zoals met printf in de taal C. " #~ "Geïnterpreteerde\n" #~ "sequenties zijn:\n" #~ "\n" #~ " \\\" aanhalingsteken\n" #~ " \\NNN karakter met octale waarde NNN (1 tot 3 cijfers)\n" #~ " \\\\ backslash\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a aandacht (BEL)\n" #~ " \\b backspace\n" #~ " \\c produceer geen verdere uitvoer\n" #~ " \\f form-feed-teken\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n nieuweregel-teken\n" #~ " \\r regelbegin-teken\n" #~ " \\t horizontale tab-teken\n" #~ " \\v verticale tab-teken\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH byte met hexadecimale waarde NN (1 tot 2 tekens)\n" #~ " \\uHHHH Unicode (ISO/IEC 18646) karakter met hexadecimale waarde HHHH " #~ "(4 tekens)\n" #~ " \\UHHHHHHHH Unicode karakter met hexadecimale waarde HHHHHHH (8 " #~ "tekens)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% een enkele %\n" #~ " %b ARGUMENT is tekenreeks met `\\' escapes geïnterpreteerd,\n" #~ " behalve dat octale escapes van de vorm \\0 of \\0NNN zijn\n" #~ "\n" #~ "en alle C opmaakspecificaties die eindigen met één uit diouxXfeEgGcs, " #~ "met\n" #~ "ARGUMENTen eerst geconverteerd naar het juiste type. Variabele breedte\n" #~ "wordt behandeld.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: verwacht een numerieke waarde" #~ msgid "%s: value not completely converted" #~ msgstr "%s: waarde niet helemaal geconverteerd" #~ msgid "missing hexadecimal number in escape" #~ msgstr "ontbrekend hexadecimaal getal in escape" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "ongeldige universele tekennaam \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "ongeldige veldbreedte: %s" #~ msgid "invalid precision: %s" #~ msgstr "ongeldige precisie: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: ongeldige conversiespecificatie" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "" #~ "waarschuwing: overbodige argumenten worden genegeerd, beginnend bij %s" #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (voor reguliere expressie %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... [INVOER]... (zonder -G)\n" #~ " of: %s -G [OPTIE]... [INVOER [UITVOER]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Schrijf een gepermuteerde index weg, inclusief context, van de woorden\n" #~ "in de invoerbestanden.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference uitvoer genereert automatisch " #~ "referenties\n" #~ " -G, --traditional gedrag moet meer overeenkomstig System V " #~ "`ptx'zijn\n" #~ " -F, --flag-truncation=TEKST gebruik TEKST voor het aangeven van het " #~ "afbreken\n" #~ " van een regel\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=TEKST te gebruiken macro-naam in plaats van " #~ "`xx'\n" #~ " -O, --format=roff genereer uitvoer als roff directiven\n" #~ " -R, --right-side-refs zet referenties rechts, niet meetellen " #~ "in -w\n" #~ " -S, --sentence-regexp=REGEXP voor eind van de regels of eind van de " #~ "zinnen\n" #~ " -T, --format=tex genereer uitvoer als TeX directiven\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP REGEXP definieert sleutelwoorden\n" #~ " -b, --break-file=BESTAND woordafbreekkarakters in dit BESTAND\n" #~ " -f, --ignore-case verander kleine letters in hoofdletters " #~ "voor het\n" #~ " sorteren\n" #~ " -g, --gap-size=NUMBER grootte van gat in kolommen tussen " #~ "uitvoervelden\n" #~ " -i, --ignore-file=BESTAND BESTAND met woorden die niet meedoen\n" #~ " -o, --only-file=BESTAND BESTAND met woorden die alleen meedoen\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references eerste veld van elke regel is een " #~ "referentie\n" #~ " -t, --typeset-mode - niet geïmplementeerd -\n" #~ " -w, --width=NUMBER uitvoerbreedte in kolommen, referentie " #~ "niet meegenomen\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Zonder BESTAND of wanneer BESTAND - is, lees van standaardinvoer. `-F /' " #~ "is standaard.\n" #~ msgid "invalid gap width: %s" #~ msgstr "ongeldige breedte van gat: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Toon de volle bestandsnaam van de huidige werkmap.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "kan niet naar de werkmap %s gaan" #~ msgid "failed to stat %s" #~ msgstr "kan statusinformatie van %s niet verkrijgen" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "kan de mapingang in %s niet vinden via de overeenkomende i-node" #~ msgid "ignoring non-option arguments" #~ msgstr "argumenten die geen optie zijn, zijn genegeerd" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Gebruik: %s [OPTIE]... BESTAND\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Toon de waarde van een symbolische koppeling via standaarduitvoer.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize maak canoniek (echt) door iedere " #~ "koppeling\n" #~ " in iedere component van het gegeven pad\n" #~ " recursief te volgen; alle componenten, \n" #~ " behalve de laatste, behoren te bestaan\n" #~ " -e, --canonicalize-existing maak canoniek (echt) door iedere " #~ "koppeling\n" #~ " in iedere component van het gegeven pad\n" #~ " recursief te volgen; alle componenten\n" #~ " moeten bestaan\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing maak canoniek (echt) door iedere " #~ "koppeling\n" #~ " in iedere component van de gegeven naam\n" #~ " recursief te volgen; de componeneten " #~ "behoeven\n" #~ " niet bestaan\n" #~ " -n, --no-newline geen nieweregel achtervoegen\n" #~ " -q, --quiet,\n" #~ " -s, --silent onderdruk de meeste foutboodschappen\n" #~ " -v, --verbose toon de foutboodschappen\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAAL: kan map %s niet sluiten" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAAL: kan .. niet openen vanuit %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "FATAAL: kan niet zeker stellen dat %s veilig is (keerde er naar terug " #~ "via ..)" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATAAL: map %s veranderde dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAAL: kan map %s niet ingaan" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "FATAAL: zojuist binnengegane map %s veranderde dev/ino" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "WAARSCHUWING: Cirkelvormige mapstructuur.\n" #~ "Dit betekent vrijwel zeker dat het bestandssysteem corrupt is.\n" #~ "WAARSCHUW UW SYSTEEMBEHEERDER.\n" #~ "De volgende map is onderdeel van de cirkel:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: afdalen in voor schrijven beschermde map %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: afdalen naar map %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: schrijfbeveiligde %s %s verwijderen? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: %s %s verwijderen? " #~ msgid "removed directory: %s\n" #~ msgstr "map verwijderd: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "kan de map %s niet sluiten" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "sla %s over, omdat deze zich op een ander apparaat bevindt" #~ msgid "cannot remove directory %s" #~ msgstr "kan map %s niet verwijderen" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAAL: kan niet terug gaan naar .. vanuit %s" #~ msgid "cannot remove root directory %s" #~ msgstr "kan de top-map %s niet verwijderen" #~ msgid "cannot remove relative-named %s" #~ msgstr "kan de relatief aangeduide map %s niet verwijderen" #~ msgid "cannot restore current working directory" #~ msgstr "kan de huidige werkmap niet herstellen" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Probeer `%s ./%s' om het bestand %s te verwijderen.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Gebruik: %s [OPTIE]... BESTAND...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Verwijder (unlink) de BESTAND(en).\n" #~ "\n" #~ " -f, --force negeer niet bestaande bestanden, nooit vragen\n" #~ " -i vraag voor elke verwijdering\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I vraag voor het verwijderen van meer dan drie " #~ "bestanden, of\n" #~ " bij recursieve verwijdering. Minder omslachtig " #~ "dan -i,\n" #~ " terwijl er toch beschermings is tegen de meeste " #~ "vergissingen\n" #~ " --interactive[=WHEN] vraag volgens WHEN: never, once (-I), of\n" #~ " always (-i). Zonder WHEN, vraag altijd\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system bij het recursief verwijderen van een hiërarchie " #~ "moet elke\n" #~ " map overgeslagen worden die zich op een ander " #~ "bestandssysteem\n" #~ " bevindt dan die van het bijbehorende argument " #~ "op de commandoregel\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root behandel de `/'-map niet apart\n" #~ " --preserve-root de `/'-map niet verwijderen (de standaard)\n" #~ " -r, -R, --recursive verwijder mappen en de inhoud van alle " #~ "onderliggende mappen\n" #~ " -v, --verbose laat zien wat er gedaan wordt\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "standaard verwijdert rm mappen. Gebruik de optie --recursive (-r of -R)\n" #~ "om iedere genoemde map ook te verwijderen, samen met alle inhoud " #~ "daarvan.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Om een bestand te verwijderen dat begint met een `-', bij voorbeeld `-" #~ "foo',\n" #~ "gebruik één van deze commando's:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Let op: bij gebruik van rm voor het verwijderen van een bestand, is het " #~ "gewoonlijk\n" #~ "mogelijk de inhoud van dat bestand te herstellen. Als u er zeker van wilt " #~ "zijn dat\n" #~ "de inhoud niet is te herstellen, gebruik dan shred.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: verwijder alle argumenten recursief? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: verwijder alle argumenten? " #~ msgid "removing directory, %s" #~ msgstr "map %s verwijderen" #~ msgid "failed to remove directory %s" #~ msgstr "kan de map %s niet verwijderen" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Gebruik: %s [OPTIE]... MAP...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Verwijder de MAP(pen), mits ze leeg zijn.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " negeer alleen een fout die voortkomt uit een niet-lege " #~ "map\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents verwijder MAP, en probeer ieder onderdeel van het\n" #~ " pad te verwijderen. Bijv. `rmdir -p a/b/c' is\n" #~ " gelijk aan `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose geef info over iedere behandelde map\n" #~ msgid "failed to remove %s" #~ msgstr "kan %s niet verwijderen" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Gebruik: %s CONTEXT COMMANDO [args]\n" #~ " or: %s [ -c ] [-u GEBRUIKER] [-r ROL] [-t TYPE] [-l REEKS] COMMANDO " #~ "[args]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Draai een programma in een andere beveiligingscontext.\n" #~ "Zonder CONTEXT of COMMANDO, toon de huidige beveiligingscontext.\n" #~ "\n" #~ " CONTEXT Volledige beveiligingscontext\n" #~ " -c, --compute bereken de proces-overgangscontext voor het " #~ "wijzigen\n" #~ " -t, --type=TYPE type (voor dezelfde rol als de ouder)\n" #~ " -u, --user=GEBRUIKER gebruikersidentiteit\n" #~ " -r, --role=ROL rol\n" #~ " -l, --range=REEKS reeks niveaus\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "meervoudige rollen" #~ msgid "multiple types" #~ msgstr "meervoudige typen" #~ msgid "multiple users" #~ msgstr "meervoudige gebruikers" #~ msgid "multiple levelranges" #~ msgstr "meervoudige reeksen niveaus" #~ msgid "failed to get current context" #~ msgstr "kan de huidige context niet verkrijgen" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "u moet -c, -t, -u, -l, -r, of context specificeren" #~ msgid "no command specified" #~ msgstr "geen commando gespecificeerd" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "runcon kan alleen gebruikt worden in een kernel met SELinux" #~ msgid "failed to compute a new context" #~ msgstr "kan een nieuwe context niet berekenen" #~ msgid "failed to set new user %s" #~ msgstr "kan de nieuwe gebruiker %s niet instellen" #~ msgid "failed to set new type %s" #~ msgstr "kan het nieuwe tyoe %s niet instellen" #~ msgid "failed to set new range %s" #~ msgstr "kan de nieuwe reeks %s niet instellen" #~ msgid "failed to set new role %s" #~ msgstr "kan de nieuwe rol %s niet instellen" #~ msgid "unable to set security context %s" #~ msgstr "kan de beveiligingscontext %s niet instellen" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... LAATSTE\n" #~ " of: %s [OPTIE]... EERSTE LAATSTE\n" #~ " of: %s [OPTIE]... EERSTE STAP LAATSTE\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Toon nummers van EERSTE tot LAATSTE, met stapgrootte STAP.\n" #~ "\n" #~ " -f, --format=OPMAAK gebruik de printf-stijl van drijvende komma " #~ "OPMAAK\n" #~ " -s, --separator=TEKST gebruik TEKST om nummers te scheiden " #~ "(standaard: \\n)\n" #~ " -w, --equal-width maak de breedte gelijk door toevoegen van " #~ "voorloopnullen\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Als EERSTE of STAP zijn weggelaten, dan wordt 1 gebruikt. D.w.z. dat\n" #~ "een weggelaten STAP ook 1 wordt zelfs als LAATSTE kleiner is dan EERSTE.\n" #~ "EERSTE, STAP en LAATSTE worden geïnterpreteerd als drijvende komma\n" #~ "waarden. STAP is gewoonlijk positief als EERSTE kleiner is dan LAATSTE,\n" #~ "en negatief als EERSTE kleiner is dan LAATSTE.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "OPMAAK moet bruikbaar zijn voor het tonen van één argument van het type " #~ "'double';\n" #~ "de standaard is %.PRECf als EERSTE, STAP en LAATSTE allen decimale vaste " #~ "komma\n" #~ "getallen zijn met een maximale precisie PREC en anders %g.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "ongeldig drijvende komma argument: %s" #~ msgid "no %% directive in format string %s" #~ msgstr "geen %% directive in opmaaktekenreeks %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "te veel %% directives in tekenreeks %s" #~ msgid "invalid format string: %s" #~ msgstr "ongeldige opmaaktekenreeks: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "er mag geen tekst voor opmaak gegeven zijn bij uitvoer met gelijke " #~ "breedte " #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s OPTIE GEBRUIKERSNAAM COMMANDO [ARGUMENT]...\n" #~ " of: %s OPTIE\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Verwijder alle toegevoegde groepen, neem het gebruiker-ID en groep-ID " #~ "aan\n" #~ "van de gespecificeerde GEBRUIKERSNAAM (numerieke ID of gebruikersnaam), " #~ "en voer\n" #~ "het COMMANDO uit met alle gespecificeerde ARGUMENTen.\n" #~ "Eindig met status 111 als de gevraagde gebruiker-ID en groep-ID niet " #~ "gebruikt mogen worden. Anders, eindig met de afsluitstatus van COMMANDO.\n" #~ "Dit programma is alleen bruikbaar als het wordt uitgevoerd door root " #~ "(gebruiker-ID nul).\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] stel ook de primaire group-ID in op de numerieke GID " #~ "en\n" #~ " (indien gespecificeerd) aanvullende group-ID's op " #~ "GID1, ...\n" #~ msgid "unknown user-ID: %s" #~ msgstr "onbekend gebruiker-ID: %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "om gebruiker-ID %s te gebruiken moet u ook -g gebruiken" #~ msgid "failed to set supplemental group(s)" #~ msgstr "kan geen aanvullende groep(en) instellen" #~ msgid "cannot set group-ID to %lu" #~ msgstr "kan de groep-ID niet op %lu zetten" #~ msgid "cannot set user-ID to %lu" #~ msgstr "kan de gebruiker-ID niet op %lu zetten" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Gebruik: %s [OPTIE] BESTAND [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Overschrijf de gespecificeerde BESTAND(en) herhaaldelijk om het " #~ "moeilijker te maken,\n" #~ "zelfs voor zeer dure apparatuur, om de gegevens in de BESTAND(en) te " #~ "herstellen.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force verander, indien nodig, de rechten om schrijven toe te " #~ "staan\n" #~ " -n, --iterations=N Overschrijf N keer in plaats van de standaard (%d)\n" #~ " --random-source=BESTAND haal random bytes uit BESTAND (standaard /" #~ "dev/urandom)\n" #~ " -s, --size=N shred dit aantal bytes (achtervoegsels als K, M, G " #~ "mogelijk)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove verkort en verwijder het bestand na het overschrijven\n" #~ " -v, --verbose laat de voortgang zien\n" #~ " -x, --exact rond de lengte van de bestanden niet af naar het aantal " #~ "volle blokken;\n" #~ " dit is de standaard voor niet-reguliere bestanden\n" #~ " -z, --zero overschrijf tenslotte met nullen om het vernietigen te " #~ "verhullen\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Als BESTAND - is, shred dan standaarduitvoer\n" #~ "\n" #~ "Verwijder BESTAND(en) als --remove (-u) is gespecificeerd. De standaard " #~ "is het niet\n" #~ "verwijderen van de bestanden omdat het gebruikelijk is dit op " #~ "apparaatbestanden toe te\n" #~ "passen, zoals /dev/hda, en die bestanden moeten meestal niet worden " #~ "verwijderd. Als het\n" #~ "op gewone bestanden wordt toepast, dan is de --remove optie " #~ "gebruikelijk.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "WAARSCHUWING: Het commando shred vertrouwt op de aanname dat het " #~ "bestandssysteem\n" #~ "de gegevens ter plekke overschrijft. Dit is de traditionele manier van " #~ "doen, maar\n" #~ "veel moderne bestandssystemen voldoen hier niet neer aan.\n" #~ "Op de volgende voorbeelden van bestandssystemen is shred niet effectief " #~ "of\n" #~ "is het niet gegarandeerd dat het werkt bij elke modus van het " #~ "bestandssysteem:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* log-gestructureerde of bestandssystemen met een journaal, zoals " #~ "meegeleverd met\n" #~ " AIX en Solaris (en JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* bestandssystemen die redundante gegevens wegschrijven en zelfs doorgaan " #~ "als het\n" #~ " schrijven fout gaat, zoals RAID-gebaseerde bestandssystemen\n" #~ "\n" #~ "* bestandssystemen die snapshots maken, zoals de NFS-server van Network " #~ "Appliance\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* bestandssystemen die een cache bijhouden in tijdelijke locaties, zoals " #~ "NFS\n" #~ " versie 3 cliënts\n" #~ "\n" #~ "* gecomprimeerde bestandssystemen\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "In het geval van het ext3-bestandssysteem is de bovenstaande uitzondering " #~ "van\n" #~ "toepassing (en shred is dus beperkt effectief) alleen in de modus " #~ "data=journal,\n" #~ "die een journaal van bestandsgegevens maakt naast alleen de metadata. In " #~ "de beide\n" #~ "modussen, data=ordered (standaard) en data=writeback, werkt shred " #~ "normaal.\n" #~ "De Ext3-journaling modus kan gewijzigd worden door de optie data=iets\n" #~ "bij de mount opties op te nemen voor een bepaald bestandssysteem in het /" #~ "etc/fstab\n" #~ "bestand, zoals gedocumenteerd in de mount-man-pagina (man mount).\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Bovendien kunnen reservekopieën van bestandssystemen en spiegellocaties " #~ "kopieën\n" #~ "van het bestand bevatten die hiermee niet verwijderd worden en het dus " #~ "mogelijk\n" #~ "maakt dat later een shredded bestand hersteld kan worden.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "" #~ "%s: synchronisatie van data in geheugen en op schijf (fdatasync) mislukt" #~ msgid "%s: fsync failed" #~ msgstr "" #~ "%s: synchronisatie van data in geheugen en op schijf (fsync) mislukt" #~ msgid "%s: cannot rewind" #~ msgstr "%s: kan niet terugspoelen" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: passeergang %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: fout tijdens schrijven bij offset %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: zoekopdracht (lseek) mislukt" #~ msgid "%s: file too large" #~ msgstr "%s: bestand te groot" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: passeergang %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: passeergang %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: opvragen van bestandsstatus (fstat) mislukt" #~ msgid "%s: invalid file type" #~ msgstr "%s: ongeldig bestandstype" #~ msgid "%s: file has negative size" #~ msgstr "%s: bestand heeft een negatieve grootte" #~ msgid "%s: error truncating" #~ msgstr "%s: fout bij inkorten" #~ msgid "%s: fcntl failed" #~ msgstr "%s: manipuleren van bestandsdescriptor (fcntl) mislukt" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: kan een bestandseigenschap, alleen-toevoegen, niet vernietigen" #~ msgid "%s: removing" #~ msgstr "%s: verwijderen" #~ msgid "%s: renamed to %s" #~ msgstr "%s: hernoemd tot %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: verwijderen mislukt" #~ msgid "%s: removed" #~ msgstr "%s: verwijderd" #~ msgid "%s: failed to close" #~ msgstr "%s: sluiten mislukt" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: openen voor schrijven is mislukt" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: ongeldig aantal passeergangen" #~ msgid "multiple random sources specified" #~ msgstr "meer dan één random-bron gespecificeerd" #~ msgid "%s: invalid file size" #~ msgstr "%s: ongeldige bestandsgrootte" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE]... BESTAND\n" #~ " of: %s -e [OPTIE]... [ARG]...\n" #~ " of: %s -i LA-HO [OPTIE]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Schrijf een willekeurige verwisseling van alle invoerregels naar " #~ "standaarduitvoer.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo gebruik elke ARG als een invoerregel\n" #~ " -i, --input-range=LO-HI gebruik elk nummer LA tot HO als een " #~ "invoerregel\n" #~ " -n, --head-lines=LINES maximaal aantal regels uitvoer is LINES\n" #~ " -o, --output=BESTAND schrijf resultaat naar BESTAND in plaats van " #~ "standaarduitvoer\n" #~ " --random-source=FILE haal random bytes uit FILE (standaard /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated beëindig regels met 0 byte, niet nieuweregel\n" #~ msgid "multiple -i options specified" #~ msgstr "meer dan één -i optie gespecificeerd" #~ msgid "invalid input range %s" #~ msgstr "ongeldige invoerreeks %s" #~ msgid "invalid line count %s" #~ msgstr "ongeldig aantal regels %s" #~ msgid "multiple output files specified" #~ msgstr "meer dan één uitvoerbestand gespecificeerd" #~ msgid "extra operand %s\n" #~ msgstr "overtollige operand %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Gebruik: %s NUMMER[ACHTERVOEGSEL]...\n" #~ " of: %s OPTIE\n" #~ "Pauzeer gedurende NUMMER seconden. ACHTERVOEGSEL mag respectievelijk 's' " #~ "voor \n" #~ "seconden (standaard), 'm' voor minuten, 'h' voor uren en 'd' voor dagen " #~ "zijn.\n" #~ "Anders dan in de meeste implementaties, die eisen dat NUMMER een geheel " #~ "getal moet\n" #~ "zijn, mag NUMMER hier een willekeurig drijvende kommagetal zijn.\n" #~ " Bij twee of meer\n" #~ "argumenten, wordt gepauzeerd gedurende een tijd die de som is van hun " #~ "waarden.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "ongeldig tijdinterval %s" #~ msgid "cannot read realtime clock" #~ msgstr "kan de realtime klok niet lezen" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Schrijf de gesorteerde concatenatie van alle BESTAND(en) naar " #~ "standaarduitvoer.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Sorteeropties:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks negeer voorloop witruimte\n" #~ " -d, --dictionary-order neem alleen witruimte en alfanumerieke " #~ "karakters mee\n" #~ " -f, --ignore-case beschouw kleine letters als hoofdletters\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort vergelijk volgens de algemene numerieke " #~ "waarde\n" #~ " -i, --ignore-nonprinting neem alleen te printen karakters mee\n" #~ " -M, --month-sort vergelijk volgens (onbekend) < `JAN' < ... " #~ "< `DEC'\n" #~ " -n, --numeric-sort vergelijk volgens numerieke waarde in de " #~ "tekst\n" #~ " -R, --random-sort sorteer volgens random hash van sleutels\n" #~ " --random-source=BESTAND haal random bytes uit BESTAND (standaard /" #~ "dev/urandom)\n" #~ " --sort=WOORD sorteer volgens WOORD:\n" #~ " algemeen numeriek -g, maand -M, numeriek -" #~ "n,\n" #~ " willekeurig -R\n" #~ " -r, --reverse draai de volgorde van de vergelijking om\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Andere opties:\n" #~ "\n" #~ " -c, --check controleer of de invoer gesorteerd is; niet " #~ "sorteren\n" #~ " -C, --check=quiet, --check=silent zoals -c, maar geen rapport over de " #~ "eerste foute regel\n" #~ " --compress-program=PROG comprimeer tijdelijke bestanden met PROG;\n" #~ " decomprimeer met PROG -d\n" #~ " -k, --key=POS1[,POS2] start de sleutel in POS1, einde op POS2 " #~ "(begin is 1)\n" #~ " -m, --merge meng reeds gesorteerde bestanden; niet " #~ "sorteren\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=BESTAND schrijf resultaat naar BESTAND in plaats van " #~ "standaarduitvoer\n" #~ " -s, --stable stabiliseer het sorteren door het uitzetten " #~ "van de\n" #~ " vergelijking als niets werkt\n" #~ " -S, --buffer-size=GROOTTE gebruik GROOTTE voor de hoofdgeheugenbuffer\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP gebruik SEP in plaats van niet-wit naar wit " #~ "overgang\n" #~ " -T, --temporary-directory=MAP gebruik MAP voor tijdelijke bestanden, " #~ "niet\n" #~ " $TMPDIR of %s; meervoudige opties " #~ "specificeren\n" #~ " meervoudige mappen\n" #~ " -u, --unique met -c, controleer op strikte ordening; " #~ "zonder -c,\n" #~ " alleen de eerste van iets wat gelijk is is " #~ "uitvoer\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated beëindig regels met een 0 byte, niet met " #~ "nieuweregel\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS is F[.C][OPTS], waarin F een veldnummer is en C de tekenpositie in " #~ "het veld;\n" #~ "beiden beginnen bij 1. Als de -t noch de -b optie is gebruikt dan worden " #~ "de\n" #~ "karakters in een veld geteld vanaf het begin van de voorafgaande " #~ "witruimte. OPTS\n" #~ "bestaat uit één of meer enkele-letter opties voor het ordenen, die de " #~ "globale ordening\n" #~ "voor dat sleutelwoord overstijgen. Indien geen sleutelwoord is gegeven " #~ "dan wordt de\n" #~ "hele regel gebruikt als sleutel.\n" #~ "\n" #~ "GROOTTE mag gevolgd woorden door de volgende " #~ "vermenigvuldigingsachtervoegsels:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% van het geheugen, b 1, K 1024 (standaard), enzovoort voor M, G, T, " #~ "P, E, Z, Y.\n" #~ "\n" #~ "Zonder BESTAND, of als BESTAND - is, lees van standaardinvoer.\n" #~ "\n" #~ "*** WAARSCHUWING ***\n" #~ "De taalregio gespecificeerd door de omgeving beïnvloedt de " #~ "sorteervolgorde.\n" #~ "Zet LC_ALL=C om de traditionele sorteervolgorde te verkrijgen die de " #~ "gewone\n" #~ "bytewaarde gebruikt.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "wacht op %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] niet normaal beëindigd" #~ msgid "cannot create temporary file" #~ msgstr "kan een tijdelijk bestand niet aanmaken" #~ msgid "open failed" #~ msgstr "openen mislukt" #~ msgid "fflush failed" #~ msgstr "alles naar schijf wegschrijven (fflush) mislukt" #~ msgid "close failed" #~ msgstr "sluiten mislukt" #~ msgid "dup2 failed" #~ msgstr "dup2 mislukt" #~ msgid "couldn't execute %s" #~ msgstr "kan %s niet uitvoeren" #~ msgid "couldn't create temporary file" #~ msgstr "kan een tijdelijk bestand niet aanmaken" #~ msgid "couldn't open temporary file" #~ msgstr "kan een tijdelijk bestand niet openen" #~ msgid "couldn't execute %s -d" #~ msgstr "kan %s -d niet uitvoeren" #~ msgid "write failed" #~ msgstr "schrijven mislukt" #~ msgid "warning: cannot remove: %s" #~ msgstr "waarschuwing: kan %s niet verwijderen" #~ msgid "stat failed" #~ msgstr "opvragen bestandsstatus (stat) mislukt" #~ msgid "read failed" #~ msgstr "lezen mislukt" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: wanorde: " #~ msgid "standard error" #~ msgstr "standaardfoutuitvoer" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: ongeldige veldspecificatie %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "opties `-%s' passen niet bij alkaar" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: ongeldig aantal bij het begin van %s" #~ msgid "invalid number after `-'" #~ msgstr "ongeldig getal na `-'" #~ msgid "invalid number after `.'" #~ msgstr "ongeldig getal na `.'" #~ msgid "stray character in field spec" #~ msgstr "afwijkend karakter in veldspecificatie" #~ msgid "multiple compress programs specified" #~ msgstr "meer dan één compressieprogramma gespecificeerd" #~ msgid "invalid number at field start" #~ msgstr "ongeldig getal aan het begin van een veld" #~ msgid "field number is zero" #~ msgstr "veldnummer is nul" #~ msgid "character offset is zero" #~ msgstr "karakter-offset is nul" #~ msgid "invalid number after `,'" #~ msgstr "ongeldig getal na `,'" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "overtollige operand %s niet toegestaan bij -%c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Gebruik: %s [OPTIE] [INVOER [VOORVOEGSEL]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Schrijf stukjes van INVOER met een vaste grootte naar VOORVOEGSELaa,\n" #~ "VOORVOEGSELab, ...; standaard grootte is 1000 regels en standaard\n" #~ "VOORVOEGSEL is `x'. Indien geen INVOER is gegeven, of INVOER is -, lees\n" #~ "van standaardinvoer.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=L gebruik voorvoegsels met lengte L (standaard %" #~ "d)\n" #~ " -b, --bytes=N uitvoerbestanden zijn maximaal N bytes groot\n" #~ " -C, --line-bytes=N uitvoerbestanden hebben regels met maximaal N " #~ "bytes\n" #~ " -d, --numeric-suffixes gebruik numerieke achtervoegsels in plaats van " #~ "alfabetische\n" #~ " -l, --lines=AANTAL uitvoerbestand bevat maximaal AANTAL regels\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose print een diagnose vlak voor elk\n" #~ " uitvoerbestand wordt geopend\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "N mag gevolgd worden door een vermenigvuldigingsachtervoegsel:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, enzovoort voor T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "bestand %s wordt aangemaakt\n" #~ msgid "cannot split in more than one way" #~ msgstr "kan niet op meer dan één manier splitsen" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: ongeldige lengte van achtervoegsel" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: ongeldig aantal bytes" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: ongeldig aantal regels" #~ msgid "line count option -%s%c... is too large" #~ msgstr "optie voor regellengte -%s%c... is te groot" #~ msgid "invalid number of lines: 0" #~ msgstr "ongeldig aantal regels: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "waarschuwing: niet-herkende escape `\\%c'" #~ msgid "%s: invalid directive" #~ msgstr "%s: ongeldige directieve" #~ msgid "warning: backslash at end of format" #~ msgstr "waarschuwing: backslash aan het eind van een opmaakaanduiding" #~ msgid "cannot read file system information for %s" #~ msgstr "kan de informatie uit het filesysteem niet lezen voor %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Gebruik: %s [OPTIE] BESTAND...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Toon bestand of status van bestandssysteem.\n" #~ "\n" #~ " -L, --dereference volg koppelingen\n" #~ " -f, --file-system toon status van bestandssysteem in plaats van " #~ "status van bestand\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=OPMAAK gebruik de gespecificeerde OPMAAK in plaats van " #~ "de standaard;\n" #~ " voer een nieuweregel-teken uit na elk gebruik " #~ "van OPMAAK\n" #~ " --printf=FORMAT zoals --format, echter interpreteer backslash-" #~ "escapes,\n" #~ " en geen uitvoer van een verplicht nieuweregel-" #~ "teken.\n" #~ " Als u een nieuweregel wilt, voeg dan \\n toe in " #~ "OPMAAK.\n" #~ " -t, --terse toon de informatie in beknopte vorm\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "De geldige opmaakspecificaties voor bestanden (zonder --file-system):\n" #~ "\n" #~ " %a Toegangsrechten in octale vorm\n" #~ " %A Toegangsrechten in leesbare vorm\n" #~ " %b Aantal toegewezen blokken (zie %B)\n" #~ " %B De grootte in bytes van elk blok gerapporteerd door %b\n" #~ " %C SELinux beveiligingscontext tekenreeks\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Apparaatnummer in decimaal\n" #~ " %D Apparaatnummer in hex\n" #~ " %f Raw modus in hex\n" #~ " %F Bestandstype\n" #~ " %g Groep-ID van gebruiker\n" #~ " %G Groepsnaam van gebruiker\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Aantal harde koppelingen\n" #~ " %i Inode-nummer\n" #~ " %n Bestandsnaam\n" #~ " %N Aangehaalde bestandsnaam met 'dereference' indien een symbolische " #~ "koppeling\n" #~ " %o IO-blokgrootte\n" #~ " %s Totale grootte, in bytes\n" #~ " %t Hoofdapparaattype in hex\n" #~ " %T Onderapparaattype in hex\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u Gebruiker-ID van eigenaar\n" #~ " %U Gebruikersnaam van eigenaar\n" #~ " %x Tijdstip van laatste toegang\n" #~ " %X Tijdstip van laatste toegang in seconden sinds Epoch\n" #~ " %y Tijdstip van laatste wijziging\n" #~ " %Y Tijdstip van laatste wijziging in seconden sinds Epoch\n" #~ " %z Tijdstip van laatste verandering\n" #~ " %Z Tijdstip van laatste verandering in seconden sinds Epoch\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Geldige opmaakspecificatie voor bestandssystemen:\n" #~ "\n" #~ " %a Beschikbare vrije blokken voor de niet-superuser\n" #~ " %b Totaal aantal blokken voor gegevens in bestandssysteem\n" #~ " %c Totaal aantal nodes in bestandssysteem\n" #~ " %d Aantal vrije nodes in bestandssysteem\n" #~ " %f Aantal vrije blokken in bestandssysteem\n" #~ " %C SELinux beveiligingscontext tekenreeks\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Bestandssysteem-id in hex\n" #~ " %l Maximale lengte van bestandsnamen\n" #~ " %n Bestandsnaam\n" #~ " %s Optimale grootte van transportblok\n" #~ " %S Fundamentele blokgrootte (voor aantal blokken)\n" #~ " %t Type in hex\n" #~ " %T Type in leesbare vorm\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Gebruik: %s [-F APPARAAT] [--file=APPARAAT] [INSTELLING]...\n" #~ " of: %s [-F APPARAAT] [--file=APPARAAT] [-a|--all]\n" #~ " of: %s [-F APPARAAT] [--file=APPARAAT] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Toon of verander terminal karakteristieken.\n" #~ "\n" #~ " -a, --all toon alle huidige instellingen in een leesbare " #~ "vorm\n" #~ " -g, --save toon alle huidige instellingen in een stty leesbare " #~ "vorm\n" #~ " -F, --file=APPARAAT open en gebruik het gespecificeerde APPARAAT in " #~ "plaats\n" #~ " van standaardinvoer\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "De optionele - voor INSTELLING betekent omkering (niet-). Een * " #~ "markeert\n" #~ "niet-POSIX instellingen. Het onderliggende systeem definieert welke\n" #~ "instellingen beschikbaar zijn.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Speciale karakters:\n" #~ " * dsusp KAR KAR zendt een terminal stop signaal nadat invoer " #~ "verwijderd is\n" #~ " eof KAR KAR zendt een einde van bestand (beëindig de invoer)\n" #~ " eol KAR KAR beëindigt de regel\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 KAR alternatief KAR voor einde van de regel\n" #~ " erase KAR KAR verwijdert het laatst getypte karakter\n" #~ " intr KAR KAR zendt een interruptsignaal\n" #~ " kill KAR KAR verwijdert de huidige regel\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext KAR KAR zal het volgende KARakter aangehaald invoeren\n" #~ " quit KAR KAR zendt een beëindig-signaal\n" #~ " * rprnt KAR KAR herschrijft de huidige regel\n" #~ " start KAR KAR herstart de uitvoer nadat deze is gestopt\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop KAR KAR stopt de uitvoer\n" #~ " susp KAR KAR zendt een terminal-stop-signaal\n" #~ " * swtch KAR KAR schakelt naar een andere shell-laag\n" #~ " * werase KAR KAR verwijdert het laatst getypte woord\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Speciale instellingen:\n" #~ " N zet de invoer- en uitvoersnelheid naar N bits per " #~ "seconde\n" #~ " * cols N laat de kernel weten dat de terminal N kolummen heeft\n" #~ " * columns N zelfde als cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N zet de invoersnelheid naar N\n" #~ " * line N gebruik regeldiscipline N\n" #~ " min N met -icanon, zet N karakters minimum voor een complete " #~ "leesopdracht\n" #~ " ospeed N zet de uitvoersnelheid naar N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N laat de kernel weten dat de terminal N rijen heeft\n" #~ " * size toon het aantal rijen en kolummen volgens de kernel\n" #~ " speed toon de snelheid van de terminal\n" #~ " time N met -icanon, zet lees-timeout op N tienden van een " #~ "seconde\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Controle instellingen:\n" #~ " [-]clocal zet de modem-control-signalen uit\n" #~ " [-]cread sta het ontvangen van invoer toe\n" #~ " * [-]crtscts zet RTS/CTS handjeschudden aan\n" #~ " csN zet de karaktergrootte op N bits, N is [5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb gebruik twee stop bits per karakter (een met `-')\n" #~ " [-]hup stuur een `hang op' signaal wanneer het laatste proces \n" #~ " de tty sluit\n" #~ " [-]hupcl zelfde als [-]hup\n" #~ " [-]parenb genereer pariteitsbit in uitvoer en \n" #~ " verwacht pariteitsbit in invoer\n" #~ " [-]parodd zet oneven pariteit aan (even met `-')\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Invoerinstellingen:\n" #~ " [-]brkint break geeft een interrupt-signal\n" #~ " [-]icrnl vertaal een 'carriage return' naar een nieuwregel\n" #~ " [-]ignbrk negeer break-karakters\n" #~ " [-]igncr negeer 'carriage return'\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar negeer karakters met een pariteitsfout\n" #~ " * [-]imaxbel geef een piep en leeg een volle invoerbuffer niet bij " #~ "een karakter\n" #~ " [-]inlcr vertaal een nieuwregel naar 'carriage return'\n" #~ " [-]inpck zet controle op invoerpariteit aan\n" #~ " [-]istrip zet het hoogste (8ste) bit op nul van invoerkarakters\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr " * [-]iutf8 invoerkarakters zijn UTF-8 gecodeerd\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc vertaal hoofdletters naar`kleine letters\n" #~ " * [-]ixany laat elk karakter de uitvoer herstarten, niet alleen het " #~ "start-karakter\n" #~ " [-]ixoff zet het zenden van start/stop-karakters aan\n" #~ " [-]ixon zet XON/XOFF 'flow control' aan\n" #~ " [-]parmrk markeer pariteitsfouten (met een 255-0-" #~ "karaktervolgorde)\n" #~ " [-]tandem zelfde als [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Uitvoerinstellingen:\n" #~ " * bsN backspace-vertragingsstijl, N is [0..1]\n" #~ " * crN 'carriage return'-vertragingsstijl, N in [0..3]\n" #~ " * ffN 'form feed'-vertragingsstijl, N in [0..1]\n" #~ " * nlN nieuweregel-vertragingsstijl, N in [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "* [-]ocrnl zet 'carriage return' om in nieuweregel\n" #~ "* [-]ofdel gebruik delete karakters voor 'fill' in plaats van nul-" #~ "karakters\n" #~ "* [-]ofill gebruik fill (padding) karakters in plaats van timing " #~ "voor \n" #~ " vertragingen\n" #~ "* [-]olcuc zet kleine letters om in hoofdletters\n" #~ "* [-]onlcr zet nieuweregel om in 'carriage return'-nieuweregel\n" #~ "* [-]onlret nieuweregel voert een 'carriage return' uit\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ "* [-]onocr toon geen 'carriage returns' in de eerste kolom\n" #~ " [-]opost na-proces-uitvoer\n" #~ "* tabN horizontale tab vertragingsstijl, N is [0..3]\n" #~ "* tabs zelfde als tab0\n" #~ "* -tabs zelfde als tab3\n" #~ "* vtN verticale tab vertragingsstijl, N is [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Locale instellingen:\n" #~ " [-]crterase echo erase-karakters als backspace-spatie-backspace\n" #~ " * crtkill verwijder de gehele regel door de echoprt en echoe " #~ "instellingen\n" #~ " * -crtkill verwijder de gehele regel door de echoctl and echok " #~ "instellingen\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho echo controlekarakters in dakjesnotatie (`^c')\n" #~ " [-]echo echo invoerkarakters\n" #~ " * [-]echoctl zelfde als [-]ctlecho\n" #~ " [-]echoe zelfde als [-]crterase\n" #~ " [-]echok echo een nieuweregel na een kill-karakter\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke zelfde als [-]crtkill\n" #~ " [-]echonl echo nieuwregel zelfs als geen andere karakters worden " #~ "geëchood\n" #~ " * [-]echoprt echo verwijderde karakters achterwaards, tussen `\\' en " #~ "'/'\n" #~ " [-]icanon zet de speciale karakters voor erase, kill, werase, and " #~ "rprnt\n" #~ " [-]iexten zet niet-POSIX speciale karakters aan\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig zet speciale karakters voor interrupt, quit, en suspend " #~ "aan\n" #~ " [-]noflsh zet het legen van de buffer na interrupt en quit " #~ "speciale karakters uit\n" #~ " * [-]prterase zelfde als [-]echoprt\n" #~ " * [-]tostop stop actergrondjobs die naar de terminal proberen te " #~ "schrijven\n" #~ " * [-]xcase met icanon, escape met `\\' voor hoofdletters\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Combinatieinstellingen:\n" #~ " * [-]LCASE zelfde als [-]lcase\n" #~ " cbreak zelfde als -icanon\n" #~ " -cbreak zelfde als icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked zelfde als brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof en eol karakters op hun standaard waarden\n" #~ " -cooked zelfde als raw\n" #~ " crt zelfde als echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec zelfde als echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ " * [-]decctlq zelfde als [-]ixany\n" #~ " ek erase en kill karakters op hun standaard waarden\n" #~ " evenp zelfde als parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp zelfde als -parenb cs8\n" #~ " * [-]lcase zelfde als xcase iuclc olcuc\n" #~ " litout zelfde als -parenb -istrip -opost cs8\n" #~ " -litout zelfde als parenb istrip opost cs7\n" #~ " nl zelfde als -icrnl -onlcr\n" #~ " -nl zelfde als icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp zelfde als parenb parodd cs7\n" #~ " -oddp zelfde als -parenb cs8\n" #~ " [-]parity zelfde als [-]evenp\n" #~ " pass8 zelfde als -parenb -istrip cs8\n" #~ " -pass8 zelfde als parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw zelfde als -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw zelfde als cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane zelfde als cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, alle speciale\n" #~ " karakters op hun standaard waarden.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Gebruik de tty lijn verbonden met standaardinvoer. Zonder argumenten,\n" #~ "toon baudrate, regeldiscipline en afwijkingen van stty sane. Bij het\n" #~ "instellen wordt KAR letterlijk gebruikt, of gecodeerd als in ^c, 0x37,\n" #~ "0177 of 127; speciale waarden ^- of undef worden gebruikt om speciale\n" #~ "karakters inactief te maken.\n" #~ msgid "only one device may be specified" #~ msgstr "slechts één apparaat mag gegeven worden" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "de opties voor verbose en stty-leesbare uitvoerstijlen sluiten elkaar uit" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "" #~ "bij specificeren van een uitvoerstijl, worden modussen niet ingesteld" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: kan de niet-blokkerende modus niet herstellen" #~ msgid "invalid argument %s" #~ msgstr "ongeldig argument %s" #~ msgid "missing argument to %s" #~ msgstr "ontbrekend argument voor %s" #~ msgid "invalid line discipline %s" #~ msgstr "ongeldige lijndiscipline: %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: kan niet alle gevraagde acties uitvoeren" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: modus\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: geen grootte-informatie voor dit apparaat" #~ msgid "invalid integer argument %s" #~ msgstr "ongeldig argument voor geheel getal %s" #~ msgid "Password:" #~ msgstr "Wachtwoord:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: kan /dev/tty niet openen" #~ msgid "cannot set groups" #~ msgstr "kan de groepen niet zetten" #~ msgid "cannot set group id" #~ msgstr "kan de groep-id niet zetten" #~ msgid "cannot set user id" #~ msgstr "kan de gebruiker-id niet zetten" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Gebruik: %s [OPTIE]... [-] [GEBRUIKER [ARG}...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Verander de effectieve gebruiker-id en groep-id in die van GEBRUIKER.\n" #~ "\n" #~ " -, -l, --login maak van de shell een login shell\n" #~ " -c, --command=COMMANDO stuur een enkel COMMANDO naar de shell met " #~ "-c\n" #~ " -f, --fast stuur -f naar de shell (voor csh of tcsh)\n" #~ " -m, --preserve-environment reset de omgevingsvariabelen niet\n" #~ " -p zelfde als -m\n" #~ " -s, --shell=SHELL voer SHELL uit als /etc/shells dit " #~ "toestaat\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Een simpele - betekent -l. Als GEBRUIKER niet gegeven is, neem dan " #~ "root.\n" #~ msgid "user %s does not exist" #~ msgstr "gebruiker %s bestaat niet" #~ msgid "incorrect password" #~ msgstr "onjuist wachtwoord" #~ msgid "using restricted shell %s" #~ msgstr "beperkte shell %s gebruiken" #~ msgid "warning: cannot change directory to %s" #~ msgstr "waarschuwing: kan map niet wijzigen in %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Print controlesom en aantal blokken voor elk BESTAND.\n" #~ "\n" #~ " -r verijdelt -s, gebruik BSD sommatie-algoritme, gebruik " #~ "1K blokken\n" #~ " -s, --sysv gebruik System V sommatie-algoritme, gebruik 512 bytes " #~ "blokken\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Schrijf veranderde blokken naar schijf, werk het super-blok bij.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "alle argumenten genegeerd" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "OPMERKING: uw shell kan een eigen versie van %s hebben, die gewoonlijk\n" #~ "prevaleert boven de hier beschreven versie. Kijk in de documentatie van " #~ "uw\n" #~ "shell voor details over de ondersteunde opties.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help toon deze helptekst en beëindig programma\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version toon versie-informatie en beëindig programma\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Stuur foutrapportages aan <%s>;\n" #~ "meld fouten in de vertaling aan .\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Schrijf elk BESTAND naar de standaarduitvoer, laatste regel eerst.\n" #~ "Zonder BESTAND, of wanneer BESTAND - is, lees van standaardinvoer.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before plaats scheider voor i.p.v. achter de regel\n" #~ " -r, --regex interpreteer de scheider als reguliere " #~ "expressie\n" #~ " -s, --separator=TEKST gebruik TEKST als scheider in plaats van " #~ "nieuweregel\n" #~ msgid "%s: seek failed" #~ msgstr "%s: zoekopdracht lukte niet" #~ msgid "record too large" #~ msgstr "record te groot" #~ msgid "cannot create temporary file %s" #~ msgstr "kan tijdelijk bestand %s niet aanmaken" #~ msgid "cannot open %s for writing" #~ msgstr "kan %s niet openen om te schrijven" #~ msgid "%s: write error" #~ msgstr "%s: fout bij schrijven" #~ msgid "separator cannot be empty" #~ msgstr "scheidingsteken kan niet leeg zijn" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kopieer de laatste %d regels van elk BESTAND naar standaarduitvoer.\n" #~ "Indien meerdere BESTANDen gegeven zijn, wordt de uitvoer van ieder\n" #~ "bestand voorafgegaan door een kop met de bestandsnaam. Indien geen\n" #~ "BESTAND gegeven is, of BESTAND is -, lees van standaardinvoer.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry blijf het openen van een bestand proberen " #~ "zelfs als het\n" #~ " niet toegankelijk is als tail start of als het " #~ "later\n" #~ " niet toegankelijk is; alleen bruikbaar bij " #~ "volgen bij\n" #~ " naam , d.w.z. met --follow=name\n" #~ " -c, --bytes=N toon de laatste N bytes; alternatief, gebruik " #~ "+N om\n" #~ " de bytes te tonen vanaf de Nde van elk " #~ "bestand\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " toon de toegevoegde gegevens terwijl het " #~ "bestand groeit;\n" #~ " -f, --follow, and --follow=descriptor zijn " #~ "equivalent\n" #~ " -F zelfde als --follow=name --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N toon de laatste N regels, in plaats van de " #~ "laatste %d;\n" #~ " of gebruik +N om de regels te tonen vanaf de " #~ "Nde --max-unchanged-stats=N\n" #~ " met --follow=name, heropen een BESTAND die " #~ "niet\n" #~ " in grootte veranderd is na N (standaard %d) " #~ "iteraties\n" #~ " om te zien of het ontkoppeld of hernoemd is\n" #~ " (dit is gebruikelijk bij roterende " #~ "logbestanden)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID met -f, beëindig nadat process-ID, PID, stopt\n" #~ " -q, --quiet, --silent geen uitvoerkoppen met bestandsnamen\n" #~ " -s, --sleep-interval=S met -f, slaap ongeveer S seconden\n" #~ " (standaard 1.0) tussen iteraties.\n" #~ " -v, --verbose altijd uitvoerkoppen met bestandsnamen\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Als het eerste karakter van N (het aantal bytes of regels) een `+' is,\n" #~ "toon alles vanaf het Nde item vanaf de start van elk bestand, anders,\n" #~ "toon de laatste N items in het bestand. N mag een vermenigvuldigings-\n" #~ "achtervoegsel hebben:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, enzovoort voor T, P, E, Z, Y.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Met --follow (-f), tail volgt standaard de 'file descriptor', dat\n" #~ "betekent dat zelfs wanneer een bestand hernoemd is, tail het einde van " #~ "dat\n" #~ "bestand blijft volgen. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Dit standaard gedrag is niet wenselijk als u echt de naam van een bestand " #~ "wil\n" #~ "volgen en niet de 'file descriptor' (bijv. logrotatie).\n" #~ "Gebruik --follow=name in dat geval. Dat veroorzaakt dat tail het " #~ "genoemde\n" #~ "bestand periodiek opnieuw opent om te zien of het is verwijderd en\n" #~ "opnieuw gemaakt door een of ander programma.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "%s wordt gesloten (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: kan de zoekopdracht tot de relatieve offset %s niet uitvoeren" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "" #~ "%s: kan de zoekopdracht tot einde-relatieve offset %s niet uitvoeren" #~ msgid "%s has become inaccessible" #~ msgstr "%s is ontoegankelijk geworden" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s is vervangen door een bestand dat niet gevolgd kan worden; gestopt met " #~ "deze naam" #~ msgid "%s has become accessible" #~ msgstr "%s is toegankelijk geworden" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s is beschikbaar; het einde van het nieuwe bestand volgen" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s is vervangen; het einde van het nieuwe bestand volgen" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: kan de niet-blokkerende modus niet herstellen" #~ msgid "%s: file truncated" #~ msgstr "%s: bestand ingekort" #~ msgid "no files remaining" #~ msgstr "geen bestanden meer over" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: kan het einde van dit type bestand niet volgen; gestopt met deze naam" #~ msgid "number in %s is too large" #~ msgstr "nummer in %s is te groot" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: ongeldig maximaal aantal onveranderde statussen tussen openen" #~ msgid "%s: invalid PID" #~ msgstr "%s: ongeldig procesnummer" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: ongeldig aantal seconden" #~ msgid "option used in invalid context -- %c" #~ msgstr "optie gebruikt in een ongeldige context -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "waarschuwing: --retry is meestal alleen zinvol als het gevolgd wordt door " #~ "een naam" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "waarschuwing: procesnummer genegeerd; --pid=PROCES is alleen zinvol bij " #~ "volgen" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "waarschuwing: --pid=PROCES wordt niet ondersteund op dit systeem" #~ msgid "cannot follow %s by name" #~ msgstr "kan %s niet via de naam volgen" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "" #~ "waarschuwing: het volgen van standaardinvoer zonder beperking is niet " #~ "effectief" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Kopieer standaardinvoer naar elk BESTAND, en ook naar standaarduitvoer.\n" #~ "\n" #~ " -a, --append toevoegen aan opgegeven BESTAND, overschrijf " #~ "niets\n" #~ " -i, --ignore-interrupts negeer interrupt signalen\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Als een BESTAND - is, kopieer dan nog eens naar standaarduitvoer.\n" #~ msgid "missing argument after %s" #~ msgstr "ontbrekend argument na %s" #~ msgid "invalid integer %s" #~ msgstr "ongeldig geheel getal %s" #~ msgid "')' expected" #~ msgstr "verwacht ')'" #~ msgid "')' expected, found %s" #~ msgstr "verwacht ')', vond %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: verwacht unaire operator" #~ msgid "-nt does not accept -l" #~ msgstr "-nt accepteert geen -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef accepteert geen -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot accepteert geen -l" #~ msgid "unknown binary operator" #~ msgstr "onbekende binaire operator" #~ msgid "%s: binary operator expected" #~ msgstr "%s: verwacht binaire operator" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Gebruik: test EXPRESSIE\n" #~ " of: test\n" #~ " of: [ EXPRESSIE ]\n" #~ " of: [ ]\n" #~ " of: [ OPTIE\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Beëindig met de status die bepaald wordt door EXPRESSIE.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Een ontbrekende EXPRESSIE heeft de standaardwaarde onwaar. Anders is\n" #~ "EXPRESSIE waar of onwaar en zet de afsluitstatus. Het is één van:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( EXPRESSIE ) EXPRESSIE is waar\n" #~ " ! EXPRESSIE EXPRESSIE is onwaar\n" #~ " EXPRESSIE1 -a EXPRESSIE2 beide, EXPRESSIE1 en EXPRESSIE2, zijn waar\n" #~ " EXPRESSIE1 -o EXPRESSIE2 òf EXPRESSIE1 òf EXPRESSIE2 is waar\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n TEKST de lengte van TEKST is niet-nul\n" #~ " TEKST zelfde als -n TEKST\n" #~ " -z TEKST de lengte of TEKST is nul\n" #~ " TEKST1 = TEKST2 de teksten zijn gelijk\n" #~ " TEKST1 != TEKST2 de teksten zijn niet gelijk\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is gelijk aan INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is groter dan of gelijk aan INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is groter dan INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is kleiner dan of gelijk aan INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is kleiner dan INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is niet gelijk aan INTEGER2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " BESTAND1 -ef BESTAND2 BESTAND1 en BESTAND2 hebben dezelfde apparaat- " #~ "en inode-nummers\n" #~ " BESTAND1 -nt BESTAND2 BESTAND1 is nieuwer (modificatie datum) dan " #~ "BESTAND2\n" #~ " BESTAND1 -ot BESTAND2 BESTAND1 is ouder dan BESTAND2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b BESTAND BESTAND bestaat en is blok-speciaal\n" #~ " -c BESTAND BESTAND bestaat en is karakter-speciaal\n" #~ " -d BESTAND BESTAND bestaat en is een map\n" #~ " -e BESTAND BESTAND bestaat\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f BESTAND BESTAND bestaat en is een gewoon BESTAND\n" #~ " -g BESTAND BESTAND bestaat en heeft zet-groep-ID\n" #~ " -G BESTAND BESTAND bestaat en de eigenaar heeft de effectieve groep-" #~ "ID\n" #~ " -h BESTAND BESTAND bestaat en is een symbolische koppeling (zelfde " #~ "als -L)\n" #~ " -k BESTAND BESTAND bestaat en heeft zijn sticky bit gezet\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L BESTAND BESTAND bestaat en is een symbolische koppeling (zelfde " #~ "als -h)\n" #~ " -O BESTAND BESTAND bestaat en de eigenaar heeft de effectieve " #~ "gebruiker-ID\n" #~ " -p BESTAND BESTAND bestaat en is een benoemde pijp\n" #~ " -r BESTAND BESTAND bestaat en mag gelezen worden\n" #~ " -s BESTAND BESTAND bestaat en heeft een grootte groter dan nul\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S BESTAND BESTAND bestaat en is een socket\n" #~ " -t FD 'file descriptor' FD is geopend op een terminal\n" #~ " -u BESTAND BESTAND bestaat en zijn zet-gebruiker-ID bit is gezet\n" #~ " -w BESTAND BESTAND bestaat en er mag naar geschreven worden\n" #~ " -x BESTAND BESTAND bestaat en is uit te voeren (of er mag in " #~ "gezocht worden)\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Behalve bij -h en -L, volgen alle testen op BESTANDen de symbolische\n" #~ "koppelingen.\n" #~ "Let op dat haakjes moeten worden geescaped (bijv. door backslashes)\n" #~ "in shells. INTEGER mag ook -l TEKST zijn, wat resulteert in de\n" #~ "lengte van TEKST.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "NOOT: [ staat de --help en --version opties toe, maar test niet.\n" #~ "test behandelt elk van deze zoals het elke andere niet lege tekenreeks " #~ "behandelt.\n" #~ msgid "test and/or [" #~ msgstr "test en/of [" #~ msgid "missing `]'" #~ msgstr "ontbrekende `]'" #~ msgid "extra argument %s" #~ msgstr "overtollig argument: %s" #~ msgid "creating %s" #~ msgstr "aanmaken van %s" #~ msgid "cannot touch %s" #~ msgstr "kan touch %s niet uitvoeren" #~ msgid "setting times of %s" #~ msgstr "tijden van %s zetten" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Waardeer de toegangs- en wijzigingstijden van elk BESTAND op tot de " #~ "huidige tijd.\n" #~ "\n" #~ "Een BESTAND argument dat niet bestaat wordt leeg aangemaakt.\n" #~ "\n" #~ "Een BESTAND argument dat - is wordt speciaal behandeld en zorgt er voor " #~ "dat touch\n" #~ "de tijden van het bestand geassociëerd met standarduitvoer wijzigt.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a verander alleen de toegangstijd\n" #~ " -c, --no-create maak geen nieuwe bestanden\n" #~ " -d, --date=TEKST ontleed TEKST en gebruik dat in plaats van de " #~ "huidige tijd\n" #~ " -f (genegeerd)\n" #~ " -m verander alleen de wijzigingstijd\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=BESTAND gebruik de tijden van dit bestand in plaats van " #~ "de huidige tijd\n" #~ " -t STAMP gebruik [[CC]YY]MMDDhhmm[.ss] in plaats van de " #~ "huidige tijd\n" #~ " --time=WORD zet de gegeven tijd:\n" #~ " WORD is access, atime of use: zelfde als -a\n" #~ " WORD is modify of mtime: zelfde als -m\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Merk op dat de -d en -t opties verschillende opmaak van tijd-datum " #~ "accepteert.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "kan de tijden niet uit meer dan één bron halen" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "waarschuwing: `touch %s' is verouderd; gebruik `touch -t %04ld%02d%02d%02d" #~ "%02d.%02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Gebruik: %s [OPTIE]... SET1 [SET2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Vertaal, druk samen, en/of verwijder karakters vanuit standaardinvoer,\n" #~ "uitvoer naar standaarduitvoer.\n" #~ "\n" #~ " -c, --complement eerst SET1 complementeren\n" #~ " -d, --delete verwijder karakters in SET1, niet vertalen\n" #~ " -s, --squeeze-repeats vervang in de invoer een herhaling van " #~ "karakters\n" #~ " uit SET1 door één enkel van hetzelfde " #~ "karakter\n" #~ " -t, --truncate-set1 verkort SET1 eerst tot de lengte van SET2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "SETs worden gespecificeerd als karakterreeksen. De meesten " #~ "vertegenwoordigen\n" #~ "zichzelf. Geinterpreteerde sequencies zijn:\n" #~ "\n" #~ " \\NNN karakter met octale waarde NNN (1 tot 3 octale " #~ "cijfers)\n" #~ " \\\\ backslash\n" #~ " \\a hoorbare BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n nieuweregel\n" #~ " \\r return\n" #~ " \\t horizontale tab\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v verticale tab\n" #~ " CHAR1-CHAR2 alle karakters van CHAR1 tot CHAR2 in oplopende " #~ "volgorde\n" #~ " [CHAR*] in SET2, kopieën van CHAR tot de lengte van SET1\n" #~ " [CHAR*REPEAT] REPEAT kopieën van CHAR, REPEAT is octaal als het start " #~ "met 0\n" #~ " [:alnum:] alle letters en cijfers\n" #~ " [:alpha:] alle letters\n" #~ " [:blank:] alle horizontale witruimte\n" #~ " [:cntrl:] alle controle karakters\n" #~ " [:digit:] alle cijfers\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] alle printbare karakters, zonder spatie\n" #~ " [:lower:] alle kleine letters\n" #~ " [:print:] alle printbare karakters, inclusief spatie\n" #~ " [:punct:] alle punctuatie karakters\n" #~ " [:space:] alle horizontale of verticale witruimte\n" #~ " [:upper:] alle hoofdletters\n" #~ " [:xdigit:] alle hexadecimale karakters\n" #~ " [=KAR=] alle karakters die overeenkomen met KAR\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Vertaling treedt op als -d niet gegeven is en SET1 en SET2 beide " #~ "voorkomen.\n" #~ "-t mag alleen gebruikt worden bij vertaling. SET2 zal, indien nodig, " #~ "verlengd\n" #~ "worden tot de lengte van SET1 door herhaling van het laatste karakter. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Overbodige karakters van SET2 worden genegeerd. Alleen [:lower:] en [:" #~ "upper:]\n" #~ "worden zeker geexpandeerd in oplopende volgorde; gebruikt in SET2, bij\n" #~ "vertaling, mogen ze alleen worden gebruikt in paren om hoofd-kleine " #~ "letter\n" #~ "conversie te specificeren. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s gebruikt SET1 als niet vertaald noch verwijderd wordt; anders " #~ "gebruikt\n" #~ "squeezing SET2 na vertaling of verwijdering.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "waarschuwing: het octale teken \\%c%c%c is niet eenduidig en wordt\n" #~ "\tgeïnterpreteerd als de twee bytes sequentie \\0%c%c, %c" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "waarschuwing: een niet escapete backslash aan het eind van een tekenreeks " #~ "is niet overdraagbaar" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "de eindpunten van het bereik `%s-%s' zijn in tegengestelde volgorde" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "ongeldig herhalingsaantal %s in [c*n] konstruktie" #~ msgid "missing character class name `[::]'" #~ msgstr "ontbrekende naam van tekenklasse `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "ontbrekend teken in equivalentie-tekenklasse `[==]'" #~ msgid "invalid character class %s" #~ msgstr "ongeldige tekenklasse %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: equivalente-klasse operand moet een enkel teken zijn" #~ msgid "too many characters in set" #~ msgstr "te veel karakters in de set" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "de [c*] herhalingsconstructie mag niet voorkomen in SET1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "een enkele [c*] herhalingsconstructie mag voorkomen in SET2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "[=c=] expressies mogen niet voorkomen in SET2 bij vertalen" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "als SET1 niet ingekort wordt, mag SET2 niet leeg zijn" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "bij vertalen met complementaire tekenklassen,\n" #~ "moet SET2 alle tekens in het domein naar één afbeelden" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "bij vertalen, zijn alleen de tenklassen `upper' en `lower' toegestaan in\n" #~ "SET2" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "de [c*] constructie mag alleen in SET2 voorkomen tijdens vertaling" #~ msgid "Two strings must be given when translating." #~ msgstr "Bij vertalen zijn twee tekenreeksen nodig." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Alleen één tekenreeks mag aanwezig zijn bij verwijderen zonder " #~ "samendrukkende herhalingen." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "verkeerd uitgelijnde constructie met [:upper:] en/of [:lower:]" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s [argumenten worden genegeerd]\n" #~ " of: %s OPTIE\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Beëindig met de statuscode succes." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Gebruik: %s [OPTIE] [BESTAND]\n" #~ "Geef een totaal gesorteerde lijst, overeenkomstig de gedeeltelijke\n" #~ "volgorde in BESTAND.\n" #~ "Zonder BESTAND of als BESTAND - is, lees van de standaardinvoer.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: invoer bevat een oneven aantal tokens" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: invoer bevat een rondkoppeling:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Gebruik: %s [OPTIE]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Toon de bestandsnaam van de terminal verbonden met standaardinvoer.\n" #~ "\n" #~ " -s, --silent, --quiet toon niets, retourneer alleen de afsluitstatus\n" #~ msgid "not a tty" #~ msgstr "geen tty" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Toon bepaalde systeeminformatie. Zonder OPTIE, zelfde als -s.\n" #~ "\n" #~ " -a, --all toon alle informatie in de volgende volgorde,\n" #~ " laat -p en -i weg als deze onbekend zijn:\n" #~ " -s, --kernel-name toon de naam van de kernel\n" #~ " -n, --nodename toon hostnaam van de node in het netwerk\n" #~ " -r, --kernel-release toon de release van de kernel\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version toon de versie van de kernel\n" #~ " -m, --machine toon de hardwarenaam van de machine\n" #~ " -p, --processor toon het processor type of \"unknown\"\n" #~ " -i, --hardware-platform toon het hardware platvorm of \"unknown\"\n" #~ " -o, --operating-system toon het besturingssysteem\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Toon de machine architectuur.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "kan de naam van het systeem niet vinden " #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vervang witruimte in elk BESTAND door tabs, uitvoer naar " #~ "standaarduitvoer.\n" #~ "Zonder BESTAND of BESTAND is -, lees van standaardinvoer.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all vervang alle, in plaats van alleen de initiële " #~ "witruimte\n" #~ " --first-only vervang alleen de initiële witruimte (gaat boven -a " #~ "uit)\n" #~ " -t, --tabs=NUMMER maak tabs NUMMER karakters breed in plaats van 8 " #~ "(zet -a)\n" #~ " -t, --tabs=LIJST gebruik kommagescheiden LIJST van tab posities (zet " #~ "-a)\n" #~ msgid "tabs are too far apart" #~ msgstr "tabs staan te ver van elkaar" #~ msgid "tab stop value is too large" #~ msgstr "tab-positie is te groot" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Gebruik: %s [OPTIE]... [INVOER [UITVOER]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Verwijder op één na alle opeenvolgende identieke regels uit INVOER (of\n" #~ "standaardinvoer), schrijf naar UITVOER (of standaarduitvoer).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count zet het aantal gelijke regels vooraan de regel\n" #~ " -d, --repeated toon alleen meervoudige regels\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=delimit-method] toon alle meervoudige regels\n" #~ " delimit-method={none(standaard),prepend," #~ "separate}\n" #~ " Het aangeven (delimiting) wordt gedaan met blanco " #~ "regels.\n" #~ " -f, --skip-fields=N de eerste N velden niet vergelijken\n" #~ " -i, --ignore-case negeer hoofd-kleine letters bij vergelijken\n" #~ " -s, --skip-chars=N de eerste N karakters niet vergelijken\n" #~ " -u, --unique toon alleen unieke regels\n" #~ " -z, --zero-terminated beëindig regels met een 0-byte, niet met " #~ "nieuweregel\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N vergelijk niet meer dan N karakters in regels\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Een veld is witruimte, daarna niet-witruimte karakters.\n" #~ "Velden worden overgeslagen vòòr karakters.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Opmerking: 'uniq' detecteert geen herhaalde regels tenzij deze bij elkaar " #~ "staan.\n" #~ "U zou de invoer eerst kunnen sorteren of `sort -u' gebruiken zonder " #~ "`uniq'.\n" #~ msgid "too many repeated lines" #~ msgstr "te veel herhaalde regels" #~ msgid "invalid number of fields to skip" #~ msgstr "ongeldig aantal velden om over te slaan" #~ msgid "invalid number of bytes to skip" #~ msgstr "ongeldig aantal bytes om over te slaan" #~ msgid "invalid number of bytes to compare" #~ msgstr "ongeldig aantal bytes om te vergelijken" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "het afdrukken van alle gelijke regels en het aantal keren dat een regel " #~ "voorkomt is onzin" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s BESTAND\n" #~ " of %s OPTIE\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Roep de 'unlink' functie aan om het gespecificeerde BESTAND te " #~ "verwijderen.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "kan %s niet verwijderen" #~ msgid "couldn't get boot time" #~ msgstr "kan geen boot-tijd vinden" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s in bedrijf " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? in bedrijf " #~ msgid "???? days ??:??, " #~ msgstr "???? dagen ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld dag" #~ msgstr[1] "%ld dagen" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu gebruiker" #~ msgstr[1] "%lu gebruikers" #~ msgid ", load average: %.2f" #~ msgstr ", belastinggemiddelde: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Gebruik: %s [OPTIE]... [ BESTAND ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Toon de huidige tijd, de tijd dat het systeem in bedrijf is, het\n" #~ "aantal gebruikers op het systeem en het gemiddelde aantal jobs in\n" #~ "de run-rij over de laatste 1, 5 en 15 minuten.\n" #~ "Als BESTAND niet gegeven is, gebruik %s. %s als BESTAND is algemeen.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Uitvoer van who wordt op dit moment bijgehouden volgens BESTAND. Als\n" #~ "BESTAND niet gegeven is, gebruik %s. %s als BESTAND is algemeen.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Toon het aantal (nieuwe-)regel(teken)s, woorden en/of bytes voor elk " #~ "BESTAND, en een\n" #~ "totaalregel als meer dan één BESTAND is gegeven. Lees van " #~ "standaardinvoer\n" #~ "als geen BESTAND is opgegeven of BESTAND is -.\n" #~ " -c, --bytes, toon het aantal bytes\n" #~ " -m, --chars toon het aantal karakters\n" #~ " -l, --lines- toon het aantal (nieuwe-)regel(teken)s\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=F lees invoer uit de gespecificeerde bestanden in\n" #~ " bestand F; NUL-beëindigde bestandsnamen\n" #~ " -L, --max-line-length toon de lengte van de langste regel\n" #~ " -w, --words toon het aantal woorden\n" #~ msgid " old " #~ msgstr " oud " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "exit=" #~ msgid "clock change" #~ msgstr "verandering in klok" #~ msgid "run-level" #~ msgstr "run-niveau" #~ msgid "last=" #~ msgstr "laatste=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "aantal gebruikers=%lu\n" #~ msgid "NAME" #~ msgstr "NAAM" #~ msgid "LINE" #~ msgstr "LIJN" #~ msgid "TIME" #~ msgstr "TIJD" #~ msgid "IDLE" #~ msgstr "NIET-ACTIEF" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "COMMENTAAR" #~ msgid "EXIT" #~ msgstr "EXIT" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Gebruik: %s [OPTIE]... [ BESTAND | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all zelfde als -b -d --login -p -r -t -T -u\n" #~ " -b, --boot tijdstip van de laatste systeemboot\n" #~ " -d, --dead toon de dode processen\n" #~ " -H, --heading toon de regel met de kolomkoppen\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login toon de systeem-login-processen\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup probeer de echte hostnamen te vinden via DNS\n" #~ " -m alleen de hostnaam en gebruiker verbonden met " #~ "standaardinvoer\n" #~ " -p, --process toon de actieve processen gestart door init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count alle loginnamen en nummers van ingelogde gebruikers\n" #~ " -r, --runlevel toon het huidige run-niveau\n" #~ " -s, --short toon alleen naam, lijn, en tijd (standaard)\n" #~ " -t, --time toon de laatste wijziging in de systeemklok\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg voeg de message-status van de gebruiker toe als +, - " #~ "of ?\n" #~ " -u, --users toon de ingelogde gebruikers\n" #~ " --message zelfde als -T\n" #~ " --writable zelfde als -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Als BESTAND niet gespecificeerd is, gebruik %s. %s als BESTAND is " #~ "algemeen.\n" #~ "Als ARG1 ARG2 zijn gegeven, dan is -m bedoeld: `am i' or `mom likes' zijn " #~ "gebruikelijk.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Toon de gebruikersnaam geassocieerd met de huidige effectieve gebruiker-" #~ "ID.\n" #~ "Zelfde als id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: kan geen gebruikersnaam vinden voor gebruiker-ID %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik: %s [TEKST]...\n" #~ " of: %s OPTIE\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Schrijf herhaald een regel met alle gespecificeerde TEKSTen, of `y'.\n" #~ "\n" dc3dd-7.1.614/po/Makefile.in.in0000644000175000017500000003236411064230667015544 0ustar amedicoamedico# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! #line 1 # Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.15 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ mkinstalldirs = $(SHELL) @install_sh@ -d mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo 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 stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$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; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # 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: dc3dd-7.1.614/po/it.po0000644000175000017500000065714711233346647014066 0ustar amedicoamedico# Italian messages for GNU coreutils # Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. # Marco d'Itri , 1998, 1999. # Giovanni Bortolozzo , 1998. # msgid "" msgstr "" "Project-Id-Version: coreutils 4.5.1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2002-07-24 18:12+0200\n" "Last-Translator: Marco d'Itri \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Arnold Robbins and David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "impossibile creare la directory %s" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Usare `%s --help' per ulteriori informazioni.\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [NUMERO]...\n" " o: %s OPZIONE\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Copia un file, convertendolo e formattandolo secondo le opzioni.\n" "\n" " bs=BYTE forza ibs=BYTE e obs=BYTE\n" " cbs=BYTE converte BYTE byte per volta\n" " conv=PAROLE converte il file secondo la lista di PAROLE chiave " "separate\n" " da virgole\n" " count=BLOCCHI copia dall'input solo un certo numero di BLOCCHI\n" " ibs=BYTE legge BYTE byte per volta\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=FILE legge da FILE invece che da stdin\n" " obs=BYTE scrive BYTE byte per volta\n" " of=FILE scrive su FILE invece che su stdout\n" " seek=BLOCCHI salta un numero di BLOCCHI lunghi obs all'inizio " "dell'output\n" " skip=BLOCCHI salta un numero BLOCCHI lunghi ibs all'inizio dell'input\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 #, fuzzy msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCCHI e BYTE possono essere seguito da uno di questi suffissi " "moltiplicatori:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n" "GB 1,000,000,000, G 1,073,741,824 e così via per T, P, E, Z e Y.\n" "Ogni PAROLA può essere:\n" "\n" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s: la directory obiettivo specificata non è una directory" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Errore di sistema sconosciuto" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "chiusura del file di input %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "chiusura del file di output %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 msgid "Split extensions exhausted" msgstr "" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "apertura di %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "INATTIVO" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "opzione %s non riconosciuta" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "data `%s' non valida" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "formato di orario %s non valido" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "formato di orario %s non valido" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "formato di orario %s non valido" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "conversione non valida: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "numero %s non valido" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "gruppo non valido" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "utente %s non valido" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "numero %s non valido" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "non è possibile combinare i segnali con -l o -t" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "non è possibile combinare i segnali con -l o -t" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "non è possibile combinare i segnali con -l o -t" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "non è possibile combinare i segnali con -l o -t" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "non è possibile combinare i segnali con -l o -t" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "non è possibile combinare i segnali con -l o -t" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "lettura di %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: impossibile rimuoverlo" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 msgid "advance: warning: invalid file offset after failed read" msgstr "" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "impostazione dell'orario di %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "creazione della directory %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "creazione della directory %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "scrittura di %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standard input" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standard output" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "impossibile fare fstat di %s" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "avanzamento di %s byte nel file di output %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii da EBCDIC a ASCII\n" #~ " ebcdic da ASCII a EBCDIC\n" #~ " ibm da ASCII a EBCDIC alternativo\n" #~ " block completa con spazi fino a cbs i record terminati da newline\n" #~ " unblock sostituisce con newline gli spazi alla fine di un record " #~ "lungo cbs\n" #~ " lcase cambia le maiuscole in minuscole\n" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "record troncato" #~ msgstr[1] "record troncato" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "impossibile omettere sia l'utente che il gruppo" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "impossibile confrontare i nomi di file %s e %s" #, fuzzy #~ msgid "error writing %s" #~ msgstr "scrittura di %s" #~ msgid "invalid argument %s for %s" #~ msgstr "argomento %s non valido per %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "argomento %s ambiguo per %s" #, fuzzy #~ msgid "Valid arguments are:" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "Gli argomenti validi sono:\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "Sono caratteri validi:" #, fuzzy #~ msgid "error closing file" #~ msgstr "chiusura del file di input %s" #~ msgid "write error" #~ msgstr "errore di scrittura" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "impostazione dei permessi di %s" #~ msgid "cannot stat %s" #~ msgstr "impossibile fare stat di %s" #, fuzzy #~ msgid "regular empty file" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "file regolare vuoto\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "file normale vuoto" #, fuzzy #~ msgid "regular file" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "file regolare\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "file normale" #~ msgid "directory" #~ msgstr "directory" #, fuzzy #~ msgid "block special file" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "file speciale a blocchi\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "file speciali a blocchi" #, fuzzy #~ msgid "character special file" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "file speciale a caratteri\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "file speciali a caratteri" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "link simbolico" #~ msgid "socket" #~ msgstr "socket" #~ msgid "message queue" #~ msgstr "coda di messaggi" #~ msgid "semaphore" #~ msgstr "semaforo" #~ msgid "shared memory object" #~ msgstr "oggetto di memoria condivisa" #, fuzzy #~ msgid "typed memory object" #~ msgstr "oggetto di memoria condivisa" #~ msgid "weird file" #~ msgstr "file strano" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "i file fifo non sono gestiti" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "i file fifo non sono gestiti" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "i file fifo non sono gestiti" #, fuzzy #~ msgid "System error" #~ msgstr "errore di scrittura" #, fuzzy #~ msgid "Unknown error" #~ msgstr "Errore di sistema sconosciuto" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: l'opzione `%s' è ambigua\n" #, fuzzy #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "%s: opzione `--%s' non accetta argomenti\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "%s: l'opzione `--%s' non accetta argomenti\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: l'opzione `%c%s' non accetta argomenti\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: l'opzione `%s' richiede un argomento\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: opzione `--%s' non riconosciuta\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: opzione `%c%s' non riconosciuta\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opzione illecita -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: opzione non valida -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: l'opzione richiede un argomento -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: l'opzione `-W %s' è ambigua\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: l'opzione `-W %s' non accetta argomenti\n" #~ msgid "cannot change permissions of %s" #~ msgstr "impossibile cambiare i permessi di %s" #~ msgid "cannot create directory %s" #~ msgstr "impossibile creare la directory %s" #~ msgid "memory exhausted" #~ msgstr "memoria esaurita" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "" #~ "Stampa il nome file completo dell'attuale directory di lavoro.\n" #~ "\n" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: rinominato in %s" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: process id non valido" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "data `%s' non valida" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "memoria esaurita" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: process id non valido" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "%s: process id non valido" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "%s: process id non valido" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "%s: process id non valido" #~ msgid "^[yY]" #~ msgstr "^[sSyY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "impostazione dei permessi di %s" #~ msgid "iconv function not usable" #~ msgstr "la funzione iconv non è utilizzabile" #~ msgid "iconv function not available" #~ msgstr "la funzione iconv non è disponibile" #~ msgid "character out of range" #~ msgstr "carattere fuori dall'intervallo" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "impossibile convertire U+%04X nel set di caratteri locale" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "impossibile convertire U+%04X nel set di caratteri locale: %s" #~ msgid "invalid user" #~ msgstr "utente non valido" #~ msgid "invalid group" #~ msgstr "gruppo non valido" #, fuzzy #~ msgid "invalid spec" #~ msgstr "utente non valido" #~ msgid "Written by %s.\n" #~ msgstr "Scritto da %s.\n" #, fuzzy #~ msgid "Written by %s and %s.\n" #~ msgstr "Scritto da %s.\n" #, fuzzy #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Scritto da %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "Scritto da %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "Scritto da %s.\n" #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "argomento `%s' non valido" #~ msgid "string comparison failed" #~ msgstr "confronto delle stringhe fallito" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Imposta LC_ALL='C' per aggirare il problema." #, fuzzy #~ msgid "The strings compared were %s and %s." #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "Le stringhe confrontate erano %s e %s.\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "Le stringhe confrontate sono %s e %s." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "confronto delle stringhe fallito" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "argomento `%s' non valido" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "argomento intero `%s' non valido" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version stampa le informazioni sulla versione ed esce\n" #~ msgid "read error" #~ msgstr "errore di lettura" #, fuzzy #~ msgid "invalid input" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "dimensioni di tabulazione non valide: %s" #, fuzzy #~ msgid "closing standard input" #~ msgstr "standard input" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s NOME [SUFFISSO]\n" #~ " o: %s OPZIONE\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Stampa il NOME rimuovendo tutte le componenti di directory iniziali.\n" #~ "Se specificato, rimuove anche il SUFFISSO finale.\n" #~ "\n" #, fuzzy #~ msgid "missing operand" #~ msgstr "manca l'operando dopo `%s'" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Richard Stallman e David MacKenzie" #, fuzzy #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Uso: %s [OPZIONE] FILE...\n" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "impossibile aprire la directory %s" #, fuzzy #~ msgid "%s: input file is output file" #~ msgstr "%s: dimensione del file non valida" #, fuzzy #~ msgid "Jim Meyering" #~ msgstr "Jim Meyering and Paul Eggert" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "impossibile leggere gli attributi di %s" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "impossibile leggere gli attributi di %s" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "impossibile cambiare il proprietario di %s in %s\n" #~ msgid "cannot access %s" #~ msgstr "impossibile accedere a %s" #, fuzzy #~ msgid "cannot read directory %s" #~ msgstr "impossibile creare la directory %s" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "ripristino dei permessi di %s" #, fuzzy #~ msgid "fts_read failed" #~ msgstr "strip fallito" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... PROPRIETARIO[:[GRUPPO]] FILE...\n" #~ " o: %s [OPZIONE]... :GRUPPO FILE...\n" #~ " o: %s [OPZIONE]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Cambia il proprietario e/o il gruppo di ogni FILE in PROPRIETARIO e/o " #~ "GRUPPO.\n" #~ "\n" #~ " -c, --changes come verbose ma segnala solo le modifiche " #~ "effettuate\n" #~ " --dereference agisce sui file puntati dai link simbolici\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet sopprime la maggior parte dei messaggi di " #~ "errore\n" #~ " --reference=RFILE usa il gruppo di RFILE piuttosto che il GRUPPO\n" #~ " -R, --recursive opera ricorsivamente su file e directory\n" #~ " -v, --verbose mostra un diagnostico per ogni file elaborato\n" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "manca l'operando dopo `%s'" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "conversione non valida: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "impossibile leggere gli attributi di %s" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "gruppo %s non valido" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... GRUPPO FILE...\n" #~ " o: %s [OPZIONE]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Cambia l'appartenenza al gruppo di ogni FILE in GRUPPO.\n" #~ "\n" #~ " -c, --changes come verbose ma segnala solo i cambiamenti\n" #~ " --dereference agisce sul file a cui si riferisce ogni link\n" #~ " simbolico invece che sul link stesso\n" #, fuzzy #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference agisce sui link simbolici invece che sui file a " #~ "cui\n" #~ " si riferiscono (disponibile solo sui sistemi " #~ "che\n" #~ " possono cambiare il proprietario di un " #~ "symlink)\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet sopprime la maggior parte dei messaggi di " #~ "errore\n" #~ " --reference=RFILE usa il gruppo di RFILE piuttosto che il GRUPPO\n" #~ " -R, --recursive opera ricorsivamente su file e directory\n" #~ " -v, --verbose mostra un diagnostico per ogni file elaborato\n" #~ msgid "getting new attributes of %s" #~ msgstr "lettura dei nuovi attributi di %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "né il link simbolico %s né il file di riferimento sono cambiati\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "il modo di %s è diventato %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "impossibile cambiare il modo di %s in %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "il modo di %s è rimasto %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "impossibile creare il link simbolico %s" #~ msgid "changing permissions of %s" #~ msgstr "ripristino dei permessi di %s" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "impostazione dei permessi di %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... MODO[,MODO]... FILE...\n" #~ " o: %s [OPZIONE]... MODO-OTTALE FILE...\n" #~ " o: %s [OPZIONE]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "Cambia in MODO i permessi di ogni file.\n" #~ "\n" #~ " -c, --changes come verbose ma segnala solo i cambiamenti\n" #~ " -f, --silent, --quiet sopprime la maggior parte dei messaggi di " #~ "errore\n" #~ " -v, --verbose mostra un diagnostico per ogni file processato\n" #~ " --reference=RFILE usa il modo di RFILE invece che i valori di " #~ "MODO\n" #~ " -R, --recursive cambia file e directory ricorsivamente\n" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "modo %s non valido" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "il proprietario di %s è stato cambiato in %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "il gruppo di %s è stato cambiato in %s\n" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "proprietario di %s è stato cambiato" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "impossibile cambiare il proprietario di %s in %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "impossibile cambiare il gruppo di %s in %s\n" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "impossibile cambiare il proprietario di %s in %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "il proprietario di %s è rimasto %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "il gruppo di %s è rimasto %s\n" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "il proprietario di %s è rimasto %s\n" #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "impossibile rimuovere %s" #~ msgid "changing ownership of %s" #~ msgstr "proprietario di %s è stato cambiato" #~ msgid "changing group of %s" #~ msgstr "il gruppo di %s è stato cambiato" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... GRUPPO FILE...\n" #~ " o: %s [OPZIONE]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Cambia il proprietario e/o il gruppo di ogni FILE in PROPRIETARIO e/o " #~ "GRUPPO.\n" #~ "\n" #~ " -c, --changes come verbose ma segnala solo le modifiche " #~ "effettuate\n" #~ " --dereference agisce sui file puntati dai link simbolici\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=ATTUALE_PROPRIETARIO:ATTUALE_GRUPPO\n" #~ " cambia il proprietario e/o il gruppo di ogni " #~ "file\n" #~ " solo se il suo attuale proprietario e/o gruppo\n" #~ " corrisponde a quello specificato qui. Ciascuno " #~ "può\n" #~ " essere omesso, e in questo caso non è richiesto " #~ "che\n" #~ " corrisponda.\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet sopprime la maggior parte dei messaggi di " #~ "errore\n" #~ " --reference=RFILE usa il proprietario e gruppo di RFILE piuttosto " #~ "che\n" #~ " i valori PROPRIETARIO:GRUPPO specificati\n" #~ " -R, --recursive opera ricorsivamente su file e directory\n" #~ " -v, --verbose mostra un diagnostico per ogni file elaborato\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Il proprietario resta immutato se mancante. Il gruppo resta immutato se\n" #~ "mancante, ma cambiato al gruppo di login se reso implicito da `:'.\n" #~ "PROPRIETARIO e GRUPPO possono essere sia numerici che simbolici.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [OPZIONE] NUOVAROOT [COMANDO...]\n" #~ " o: %s OPZIONE\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Esegue il COMANDO con la root directory impostata a NUOVAROOT.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Se non è dato alcun comando, lancia ``${SHELL} -i'' (predefinita: /bin/" #~ "sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "impossibile cambiare la root directory a %s" #~ msgid "cannot chdir to root directory" #~ msgstr "impossibile fare chdir alla root directory" #, fuzzy #~ msgid "cannot run command %s" #~ msgstr "impossibile scollegare %s" #, fuzzy #~ msgid "%s: file too long" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Uso: %s FILE\n" #~ " o: %s OPZIONE\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman e David MacKenzie" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Uso: %s [OPZIONE]... [ FILE ]\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "impostazione dei permessi di %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "impossibile preservare il proprietario di %s" #, fuzzy #~ msgid "failed to lookup file %s" #~ msgstr "impossibile preservare l'orario di %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "impossibile preservare l'autore di di %s" #~ msgid "cannot open %s for reading" #~ msgstr "impossibile aprire %s per la lettura" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "salto il file %s perché è stato rimpiazzato mentre veniva copiato" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "impossibile cambiare il gruppo di %s in %s\n" #~ msgid "cannot remove %s" #~ msgstr "impossibile rimuovere %s" #~ msgid "removed %s\n" #~ msgstr "%s rimosso\n" #~ msgid "cannot create regular file %s" #~ msgstr "impossibile creare il file normale %s" #~ msgid "cannot lseek %s" #~ msgstr "impossibile fare lseek in %s" #~ msgid "writing %s" #~ msgstr "scrittura di %s" #~ msgid "preserving times for %s" #~ msgstr "preservato l'orario di %s" #~ msgid "closing %s" #~ msgstr "chiusura di %s" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: sovrascrivo %s ignorando il modo %04lo? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: sovrascrivo %s? " #~ msgid " (backup: %s)" #~ msgstr " (backup: %s)" #~ msgid "omitting directory %s" #~ msgstr "directory %s omessa" #~ msgid "warning: source file %s specified more than once" #~ msgstr "" #~ "attenzione: il file di origine %s è stato specificato più di una volta" #~ msgid "%s and %s are the same file" #~ msgstr "%s e %s sono lo stesso file" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "impossibile sovrascrivere la non-directory %s con la directory %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "il %1$s appena creato non sarà sovrascritto da %2$s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "impossibile sovrascrivere la directory %s con una non-directory" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "impossibile spostare una directory in una non-directory: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "il backup di %s distruggerebbe l'origine; %s non spostato" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "il backup di %s distruggerebbe l'origine; %s non copiato" #~ msgid "cannot backup %s" #~ msgstr "impossibile fare il backup di %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "il %1$s appena creato non sarà sovrascritto da %2$s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "impossibile copiare la directory %s dentro sè stessa, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "impossibile creare l'hard link %s alla directory %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "impossibile creare l'hard link %s a %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "impossibile spostare %s in una subdirectory di sè stesso, %s" #~ msgid "cannot move %s to %s" #~ msgstr "impossibile spostare %s in %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "spostamento tra dispositivi fallito: %s in %s; impossibile rimuovere\n" #~ "la destinazione" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "impossibile leggere gli attributi di %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "impossibile copiare il link simbolico ciclico %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: si possono fare link simbolici relativi solo nella directory corrente" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "impossibile creare il link simbolico %s a %s" #~ msgid "cannot create link %s" #~ msgstr "impossibile creare il link %s" #~ msgid "cannot create fifo %s" #~ msgstr "impossibile creare il fifo %s" #~ msgid "cannot create special file %s" #~ msgstr "impossibile creare il file speciale %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "impossibile leggere il link simbolico %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "impossibile creare il link simbolico %s" #~ msgid "%s has unknown file type" #~ msgstr "%s ha il tipo di file sconosciuto" #~ msgid "cannot un-backup %s" #~ msgstr "impossibile annullare il backup di %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (annullamento backup)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... ORIGINE DESTINAZIONE\n" #~ " o: %s [OPZIONE]... ORIGINE... DIRECTORY\n" #~ " o: %s [OPZIONE]... --target-directory=DIRECTORY ORIGINE...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Copia SORGENTE su DESTINAZIONE, o SORGENTI multiple nella DIRECTORY.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle " #~ "brevi.\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle " #~ "corte.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive come -dpR\n" #~ " --backup[=TIPO] fa il backup di ogni file di destinazione\n" #~ " -b come --backup ma non accetta un argomento\n" #~ " --copy-contents quando agisce ricorsivamente copia il " #~ "contenuto\n" #~ " dei file speciali\n" #~ " -d come --no-dereference --preserve=link\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " --no-dereference non segue mai i link simbolici\n" #~ " -f, --force se non è possibile aprire un file di\n" #~ " destinazione esistente lo rimuove e " #~ "riprova\n" #~ " -i, --interactive chiede prima di sovrascrivere\n" #~ " -H segue i link simbolici sulla riga di " #~ "comando\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links\n" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: links, all\n" #, fuzzy #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents append source path to DIRECTORY\n" #~ " -P same as `--no-dereference'\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive copia le directory ricorsivamente\n" #~ " --remove-destination rimuove ogni file di destinazione " #~ "esistente\n" #~ " prima di cercare di aprirlo (in " #~ "contrasto\n" #~ " a --force)\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --reply={yes,no,query} specifica come gestire la domanda a " #~ "proposito\n" #~ " di un file di destinazione già " #~ "esistente\n" #~ " --sparse=WHEN controlla la creazione dei file sparsi\n" #~ " --strip-trailing-slashes rimuove gli slash dalla fine di ogni " #~ "ORIGINE\n" #, fuzzy #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link fa link simbolici invece di copiare\n" #~ " -S, --suffix=SUFFISSO cambia il normale suffisso dei backup\n" #~ " --target-directory=DIRECTORY sposta ogni ORIGINE nella DIRECTORY\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update sposta solo quando ORIGINE è più recente " #~ "del\n" #~ " file di destinazione o questo è mancante\n" #~ " -v, --verbose spiega cosa sta facendo\n" #~ " -x, --one-file-system rimane su questo file system\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Normalmente, i file di ORIGINE sparsi sono individuati da un'euristica\n" #~ "approssimativa e sono resi sparsi anche i file di DESTINAZIONE " #~ "corrispondenti.\n" #~ "Questo è il comportamento selezionabile con --sparse=auto. Specificare\n" #~ "--sparse=always per creare un file di DESTINAZIONE sparso ogni qualvolta " #~ "il\n" #~ "file di ORIGINE contiene una sequenza abbastanza lunga di byte zero.\n" #~ "Usare --sparse=never per inibire la creazione dei file sparsi.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Il suffisso dei backup è ~, a meno che sia impostato con --suffix oppure\n" #~ "SIMPLE_BACKUP_SUFFIX. Il metodo di controllo di versione può essere " #~ "scelto\n" #~ "con l'opzione --backup o la variabile di ambiente VERSION_CONTROL. I " #~ "valori\n" #~ "sono:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off non fa mai backup (anche se è specificato --backup)\n" #~ " numbered, t fa backup numerati\n" #~ " existing, nil numerati se esistono backup numerati, altrimenti " #~ "semplici\n" #~ " simple, never fa sempre backup semplici\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Come caso particolare, cp fa un backup di ORIGINE quando sono usate le " #~ "opzioni\n" #~ "force e backup e ORIGINE e DEST sono lo stesso nome di un file normale " #~ "già\n" #~ "esistente.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "impossibile preservare l'orario di %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "impossibile preservare i permessi di %s" #~ msgid "cannot make directory %s" #~ msgstr "impossibile creare la directory %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s esiste ma non è una directory" #~ msgid "accessing %s" #~ msgstr "accedo a %s" #, fuzzy #~ msgid "missing file operand" #~ msgstr "manca il file argomento" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "manca il file di destinazione" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "l'obiettivo specificato, %s, non è una directory" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "" #~ "quando preserva i percorsi, la destinazione deve essere una directory" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "sono state specificate opzioni -l o -t multiple" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "impossibile fare contermporaneamente hard link e link simbolici" #~ msgid "backup type" #~ msgstr "tipo di backup" #, fuzzy #~ msgid "%s: line number out of range" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "write error for %s" #~ msgstr "errore di scrittura" #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "manca l'operando dopo `%s'" #, fuzzy #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: process id non valido" #, fuzzy #~ msgid "%s: invalid pattern" #~ msgstr "%s: segnale non valido" #, fuzzy #~ msgid "invalid format width" #~ msgstr "formato di orario %s non valido" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "stringa di formato non valida: `%s'" #, fuzzy #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "conversione non valida: %s" #, fuzzy #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "conversione non valida: %s" #, fuzzy #~ msgid "%s: invalid number" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Uso: %s [OPZIONE]... FILE...\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Uso: %s [OPZIONE]... [FILE]...\n" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -w, --width=COL lo schermo è largo COL invece del'attuale " #~ "valore\n" #~ " -x elenca le voci per righe invece che per " #~ "colonne\n" #~ "\"\" -X ordina alfabeticamente secondo le " #~ "estensioni\n" #~ " -1 elenca un file per riga\n" #, fuzzy #~ msgid "invalid byte or field list" #~ msgstr "formato di orario %s non valido" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "opzione `%s' non valida" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "stringa di modo %s non valida" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "only one type of list may be specified" #~ msgstr "può essere specificato un solo dispositivo" #, fuzzy #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "la stringa di formato non può essere specificata quando si stampano " #~ "stringhe\n" #~ "a ugual larghezza" #, fuzzy #~ msgid "missing list of fields" #~ msgstr "manca il file di destinazione" #, fuzzy #~ msgid "missing list of positions" #~ msgstr "manca il file di destinazione" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... [+FORMATO]\n" #~ " o: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=FILE visualizza l'orario dell'ultima modifica di " #~ "FILE\n" #~ " -R, --rfc-822 stampa una stringa di data conforme a RFC-" #~ "822\n" #~ " -s, --set=STRINGA imposta l'orario descritto da STRINGA\n" #~ " -u, --utc, --universal stampa o imposta il Coordinated Universal " #~ "Time\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "FORMATO controlla l'output. Le sole opzioni valide per la seconda forma\n" #~ "specificano il Coordinated Universal Time. Le sequenze interpretate " #~ "sono:\n" #~ "\n" #~ " %% un %% letterale\n" #~ " %a nome localizzato abbreviato del giorno della settimana (lun..dom)\n" #, fuzzy #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A nome localizzato completo del giorno della settimana, lunghezza\n" #~ " variabile (lunedì..domenica)\n" #~ " %b nome localizzato abbreviato del mese (gen..dic)\n" #~ " %B nome localizzato completo del mese, lunghezza var. (gennaio.." #~ "dicembre)\n" #~ " %c data e ora localizzate (sab nov 04 12:02:33 CET 1989)\n" #, fuzzy #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C secolo (anno diviso per 100 e troncato a intero) [00-99]\n" #~ " %d giorno del mese (01..31)\n" #~ " %D data (mm/dd/yy)\n" #~ " %e giorno del mese con spazi ( 1..31)\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h come %b\n" #~ " %H ora (00..23)\n" #~ " %I ora (01..12)\n" #~ " %j giorno dell'anno (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k ora ( 0..23)\n" #~ " %l ora ( 1..12)\n" #~ " %m mese (01..12)\n" #~ " %M minuto (00..59)\n" #, fuzzy #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n un newline\n" #~ " %N nanosecondi (000000000..999999999)\n" #~ " %p indicatore AM o PM localizzato e maiuscolo (nullo in molti " #~ "locali)\n" #~ " %P indicatore am o pm localizzato e minuscolo (nullo in molti " #~ "locali)\n" #~ " %r orario, 12-ore (hh:mm:ss [AP]M)\n" #~ " %R orario, 24-ore (hh:mm)\n" #~ " %s secondi passati dalle `00:00:00 del 1 gen 1970' (estensione GNU)\n" #, fuzzy #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S secondi (00..60)\n" #~ " %t un tab orizzontale\n" #~ " %T orario, 24-ore (hh:mm:ss)\n" #~ " %u giorno della settimana (1..7); 1 rappresenta lunedì\n" #, fuzzy #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U numero della settimana dell'anno con domenica come primo giorno " #~ "della\n" #~ " settimana (00..53)\n" #~ " %V numero della settimana dell'anno con lunedì come primo giorno " #~ "della\n" #~ " settimana (01..52)\n" #~ " %w giorno della settimana (0..6); 0 rappresenta domenica\n" #~ " %W numero della settimana dell'anno con lunedì come primo giorno " #~ "della\n" #~ " settimana (00..53)\n" #, fuzzy #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x rappresentazione localizzata della data (gg/mm/aa)\n" #~ " %X rappresentazione localizzata dell'ora (%H:%M:%S)\n" #~ " %y ultime due cifre dell'anno (00..99)\n" #~ " %Y anno (1970...)\n" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "sono state specificate opzioni -l o -t multiple" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "" #~ "le opzioni per specificare la stampa di date sono mutualmente esclusive" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "le opzioni per stampare e impostare l'orario non possono essere usate " #~ "insieme" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "manca un `+' davanti all'argomento `%s';\n" #~ "quando si usa un'opzione per specificare una o più date, qualsiasi " #~ "argomento\n" #~ "che non sia un'opzione deve essere una stringa di formato che inizia con `" #~ "+'" #~ msgid "cannot set date" #~ msgstr "impossibile impostare la data" #, fuzzy #~ msgid "time %s is out of range" #~ msgstr "offset del file fuori scala" #, fuzzy #~ msgid "Filesystem Type" #~ msgstr "Filesystem " #, fuzzy #~ msgid "Filesystem " #~ msgstr "Filesystem " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inode IUsati ILib. IUso%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Dimens. Usati Disp. Uso%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Dimens. Usati Disp. Uso%%" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr "blocchi di %d Usati Disponib. Capacità" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr "blocchi di %4s Usati Disponib. Uso%%" #~ msgid " Mounted on\n" #~ msgstr " Montato su\n" #~ msgid "cannot get current directory" #~ msgstr "impossibile determinare la directory corrente" #~ msgid "cannot change to directory %s" #~ msgstr "impossibile entrare nella directory %s" #, fuzzy #~ msgid "cannot stat current directory (now %s)" #~ msgstr "impossibile determinare la directory corrente" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Uso: %s [OPZIONE]... [FILE]...\n" #, fuzzy #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Mostra informazioni sul filesystem su cui risiede ogni FILE, oppure su " #~ "tutti\n" #~ "\"\"i filesystem se FILE non è specificato.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all include i filesystem lunghi 0 blocchi\n" #~ " --block-size=DIM usa blocchi lunghi DIM\n" #~ " -h, --human-readable stampa le dimensioni in formato leggibile (es: " #~ "1K, 23M)\n" #~ " -H, --si idem, ma usa multipli di 1000 invece che di 1024\n" #, fuzzy #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes elenca informazioni sugli inode invece che sui " #~ "blocchi\n" #~ " -k come --block-size=1K\n" #~ " -l, --local limita l'elenco ai file system locali\n" #~ " --no-sync non fa sync prima di prendere le informazioni " #~ "(predef.)\n" #, fuzzy #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability usa il formato di output POSIX\n" #~ " --sync fa sync prima di prendere le informazioni " #~ "sull'uso\n" #~ " -t, --type=TIPO limita l'elenco ai filesystem di tipo TIPO\n" #~ " -T, --print-type stampa il tipo di filesystem\n" #~ " -x, --exclude-type=TIPO limita l'elenco ai filesystem non di tipo " #~ "TIPO\n" #~ " -v (ignorato)\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "DIM può essere o opzionalmente può essere seguito uno di questi:\n" #~ "kB 1000, K 1024, MB 1,000,000, M 1,048,576, e così via per G, T, P, E, Z " #~ "e Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "il tipo di file system %s è stato sia selezionato che escluso" #~ msgid "Warning: " #~ msgstr "Attenzione: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%simpossibile leggere la tabella dei file system montati" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Uso: %s [OPZIONE]... [FILE]...\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Stampa i comandi per impostare la variabile di ambiente LS_COLORS\n" #~ "\n" #~ "Determina il formato dell'output:\n" #~ " -b, --sh, --bourne-shell stampa istruzioni per la Bourne shell\n" #~ " -c, --csh, --c-shell stampa istruzioni per la C shell\n" #~ " -p, --print-database stampa le impostazioni predefinite\n" #~ " --help mostra questo aiuto ed esce\n" #~ " --version stampa le informazioni sulla versione ed " #~ "esce\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Se FILE è specificato viene letto per determinare quali colori usare per " #~ "i\n" #~ "diversi tipi di file ed estensioni. Altrimenti è usato un database\n" #~ "precompilato. Per conoscere i dettagli sul formato di questi file " #~ "eseguire\n" #~ "`dircolors --print-database'.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: riga non valida; manca il secondo token" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: parola chiave non riconosciuta %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "le opzioni per stampare il database interno di dircolors e per " #~ "selezionare\n" #~ "una sintassi di shell sono mutuamente esclusive" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "manca la variabile di ambiente SHELL e non è stata usata l'opzione per\n" #~ "selezionare il tipo della shell" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s NOME\n" #~ " o: %s OPZIONE\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Stampa NOME rimuovendo la /componente finale; se NOME non contiene un /,\n" #~ "stampa `.' (intendendo la directory corrente).\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... GRUPPO FILE...\n" #~ " o: %s [OPZIONE]... --reference=RFILE FILE...\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Riassume l'uso del disco di ogni FILE, ricorsivamente per le directory.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -a, --all stampa i numeri di tutti i file, non solo delle " #~ "direct.\n" #~ " -B, --block-size=DIM usa blocchi lunghi DIM\n" #~ " -b, --bytes stampa le dimensioni in byte\n" #~ " -c, --total genera un totale complessivo\n" #~ " -D, --dereference-args dereferenzia i PERCORSI quando ci sono link " #~ "simbolici\n" #, fuzzy #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference dereferenzia tutti i link simbolici\n" #~ " -S, --separate-dirs non include le dimensioni delle subdirectory\n" #~ " -s, --summarize mostra solo un totale per ogni argomento\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system salta le directory su file system diversi\n" #~ " -X FILE, --exclude-from=FILE esclude i file che corrispondono a ogni " #~ "modello\n" #~ " nel FILE\n" #~ " --exclude=MODELLO esclude i file che corrispondono al MODELLO\n" #~ " --max-depth=N stampa il totale per una directory (o file, con --" #~ "all)\n" #~ " solo se è N o meno livelli sotto l'argomento " #~ "della riga\n" #~ " di comando; --max-depth=0 è lo stesso che --" #~ "summarize\n" #~ msgid "total" #~ msgstr "totale" #~ msgid "invalid maximum depth %s" #~ msgstr "profondità massima %s non valida" #~ msgid "cannot both summarize and show all entries" #~ msgstr "impossibile riassumere e contemporaneamente mostrare tutte le voci" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "attenzione: --summarize è lo stesso che usare --max-depth=0" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "attenzione: --summarize è in conflitto con --max-depth=%d" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "impossibile confrontare i nomi di file %s e %s" #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "nome di gruppo %s non valido" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Uso: %s [OPZIONE]... [STRINGA]...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Senza -E le seguenti sequenze sono riconosciute ed interpolate:\n" #~ "\n" #~ " \\NNN il carattere il cui codice ASCII è NNN (ottale)\n" #~ " \\\\ backslash\n" #~ " \\a avviso (BEL)\n" #~ " \\b backspace\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c elimina il newline finale\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t tab orizzontale\n" #~ " \\v tab verticale\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Mlynarik and David MacKenzie" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Uso: %s [OPZIONE]... [-] [NOME=VALORE]... [COMANDO [ARG]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Imposta nell'ambiente ogni NOME a VALORE ed esegue il COMANDO.\n" #~ "\n" #~ " -i, --ignore-environment inizia con un ambiente vuoto\n" #~ " -u, --unset=NOME rimuove la variabile dall'ambiente\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Un semplice - implica -i. Se manca il COMANDO, stampa l'ambiente " #~ "risultante.\n" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "il percorso `%s' contiene il carattere non portabile `%c'" #, fuzzy #~ msgid "input line is too long" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Jim Meyering and Paul Eggert" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s ESPRESSIONE\n" #~ " o: %s OPZIONE\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Stampa sullo standard output il valore dell'ESPRESSIONE. Qui sotto, una " #~ "riga\n" #~ "vuota separa gruppi di operatori con precedenza crescente.\n" #~ "ESPRESSIONE può essere:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 se non è nullo o 0, altrimenti ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 se nessun argomento è nullo o 0, altrimenti 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 è minore di ARG2\n" #~ " ARG1 <= ARG2 ARG1 è minore o uguale di ARG2\n" #~ " ARG1 = ARG2 ARG1 è uguale ad ARG2\n" #~ " ARG1 != ARG2 ARG1 è diverso da ARG2\n" #~ " ARG1 >= ARG2 ARG1 è maggiore o uguale di ARG2\n" #~ " ARG1 > ARG2 ARG1 è maggiore di ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 somma aritmetica di ARG1 e ARG2\n" #~ " ARG1 - ARG2 differenza aritmetica di ARG1 e ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 prodotto aritmetico di ARG1 e ARG2\n" #~ " ARG1 / ARG2 quoziente aritmetico di ARG1 diviso ARG2\n" #~ " ARG1 % ARG2 resto aritmetico di ARG1 diviso ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " STRINGA : REGEXP ricerca ancorata del modello REGEXP nella STRINGA\n" #~ "\n" #~ " match STRINGA REGEXP come STRINGA : REGEXP\n" #~ " substr STRINGA POS LUNG sottostringa della STRINGA, POS è contata da " #~ "1\n" #~ " index STRINGA CAR posizione nella STRINGA di uno dei CAR, se\n" #~ " trovato, o 0\n" #~ " length STRINGA lunghezza della STRINGA\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + TOKEN interpreta TOKEN come una stringa anche se è " #~ "una\n" #~ " parola chiave come `match' o un operatore " #~ "come `/'\n" #~ "\n" #~ " ( ESPRESSIONE ) valore dell'ESPRESSIONE\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Si noti che molti operatori devono essere preceduti da `\\' (escaped) o\n" #~ "protetti da apici a causa delle shell. I confronti sono aritmetici se\n" #~ "entrambi gli ARG sono numeri, altrimenti sono lessicografici. I modelli\n" #~ "restituiscono la stringa corrispondente tra \\( e \\) oppure nulla; se\n" #~ "\\( e \\) non sono usati, restituiscono il numero di caratteri " #~ "corrispondenti\n" #~ "oppure 0.\n" #~ msgid "syntax error" #~ msgstr "errore di sintassi" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "%s: process id non valido" #~ msgid "non-numeric argument" #~ msgstr "argomenti non numerici" #~ msgid "division by zero" #~ msgstr "divisione per zero" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [NUMERO]...\n" #~ " o: %s OPZIONE\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Stampa i fattori primi di ogni NUMERO.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " Stampa i fattori primi di tutti i NUMERI interi specificati. Se non " #~ "sono\n" #~ " specificati argomenti sulla riga di comando li legge da standard " #~ "input.\n" #, fuzzy #~ msgid "%s is too large" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "`%s' non è un intero positivo valido" #, fuzzy #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Uso: %s [OPZIONE]... [FILE]...\n" #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "data `%s' non valida" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "impossibile cambiare il gruppo di %s in %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "impossibile cambiare il gruppo di %s in %s\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "impossibile trovare il nome del gruppo con ID %u" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Uso: %s [OPZIONE]... [NOMEUTENTE]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Questo utente non esiste" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BLOCCHI e BYTE possono essere seguito da uno di questi suffissi " #~ "moltiplicatori:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n" #~ "GB 1,000,000,000, G 1,073,741,824 e così via per T, P, E, Z e Y.\n" #~ "Ogni PAROLA può essere:\n" #~ "\n" #, fuzzy #~ msgid "error reading %s" #~ msgstr "lettura di %s" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "impossibile creare il fifo %s" #, fuzzy #~ msgid "%s: cannot seek to offset %s" #~ msgstr "impossibile impostare l'hostname a `%s'" #, fuzzy #~ msgid "cannot reposition file pointer for %s" #~ msgstr "impossibile ottenere l'orario di %s" #, fuzzy #~ msgid "number of lines" #~ msgstr "numero di argomenti errato" #, fuzzy #~ msgid "number of bytes" #~ msgstr "numero di argomenti errato" #, fuzzy #~ msgid "invalid number of lines" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "invalid number of bytes" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "opzione non valida -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s\n" #~ " o: %s OPZIONE\n" #~ "Stampa l'identificativo numerico (in esadecimale) dell'host corrente.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [NOME]\n" #~ " o: %s OPZIONE\n" #~ "Stampa l'hostname del sistema.\n" #~ "\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "impossibile impostare l'hostname a `%s'" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "impossibile impostare l'hostname; questo sistema non ha questa " #~ "funzionalità" #~ msgid "cannot determine hostname" #~ msgstr "impossibile determinare l'hostname" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Stampa informazioni su NOMEUTENTE o sull'utente corrente.\n" #~ "\n" #~ " -a ignorato, per compatibilità con altre versioni\n" #~ " -g, --group stampa solo l'ID del gruppo\n" #~ " -G, --groups stampa solo i gruppi supplementari\n" #~ " -n, --name stampa un nome invece di un numero, per -ugG\n" #~ " -r, --real stampa l'ID reale invece dell'ID efficace, per -ugG\n" #~ " -u, --user stampa solo l'ID dell'utente\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Senza alcuna OPZIONE, stampa alcune utili informazioni identificative.\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "impossibile specificare l'orario da più di una fonte" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "impossibile stampare solo i nomi o gli ID reali nel formato predefinito" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "impossibile trovare il nome dell'utente con ID %u" #~ msgid " groups=" #~ msgstr " gruppi=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "attenzione: impossibile cambiare la directory a %s" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "l'opzione strip non può essere usata per installare una directory" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "l'opzione strip non può essere usata per installare una directory" #~ msgid "invalid mode %s" #~ msgstr "modo %s non valido" #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "impossibile cambiare i permessi di %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "impossibile impostare l'orario di %s" #~ msgid "fork system call failed" #~ msgstr "la chiamata di sistema fork è fallita" #~ msgid "cannot run strip" #~ msgstr "impossibile eseguire strip" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "scrittura di %s" #~ msgid "invalid user %s" #~ msgstr "utente %s non valido" #~ msgid "invalid group %s" #~ msgstr "gruppo %s non valido" #~ msgid "creating directory %s" #~ msgstr "creazione della directory %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... ORIGINE DESTINAZIONE\n" #~ " o: %s [OPZIONE]... ORIGINE... DIRECTORY\n" #~ " o: %s [OPZIONE]... --target-directory=DIRECTORY ORIGINE...\n" #, fuzzy #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Nelle prime due forme copia ORIGINE in DEST o ORIGINE multipli nella " #~ "DIRECTORY\n" #~ "esistente, impostando contemporaneamente i permessi e il proprietario/" #~ "gruppo.\n" #~ "Nella terza forma crea tutti i componenti della/e DIRECTORY indicata/e.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup=[CONTROL] fa un backup di ogni file di dest. esistente\n" #~ " -b come --backup ma non accetta un argomento\n" #~ " -c (ignorato)\n" #~ " -d, --directory tratta tutti gli argomenti come nomi di directory; " #~ "crea\n" #~ " tutti i componenti delle directory specificate\n" #, fuzzy #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D crea tutti i componenti di DEST tranne l'ultimo, " #~ "poi\n" #~ " copia ORIGINE in DEST; utile nel primo formato\n" #~ " -g, --group=GRUPPO imposta il gruppo proprietario, invece " #~ "dell'attuale\n" #~ " gruppo del processo\n" #~ " -m, --mode=PERMESSI imposta i PERMESSI (come in chmod) invece di rwxr-" #~ "xr-x\n" #~ "\"\" -o, --owner=PROPR imposta il proprietario (solo per il " #~ "superuser)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps applica le date di accesso/modifica dei " #~ "file\n" #~ " di ORIGINE ai file di destinazione " #~ "corrispondenti\n" #~ " -s, --strip fa lo strip della tabella dei simboli, solo per la\n" #~ " prima e la seconda forma\n" #~ " -S, --suffix=SUFF cambia il normale suffisso dei backup\n" #~ " -v, --verbose stampa il nome di ogni directory creata\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Il suffisso dei backup è ~, a meno che sia impostato con --suffix oppure\n" #~ "SIMPLE_BACKUP_SUFFIX. Il metodo di controllo di versione può essere " #~ "scelto\n" #~ "con l'opzione --backup o la variabile di ambiente VERSION_CONTROL. I " #~ "valori\n" #~ "sono:\n" #~ "\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Jim Meyering and Paul Eggert" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "intervallo di tempo non valido: `%s'" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "intervallo di tempo non valido: `%s'" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "data `%s' non valida" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Uso: %s [-s SEGNALE | -SEGNALE] PID...\n" #~ " o: %s -l [SEGNALE]...\n" #~ " o: %s -t [SEGNALE]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Manda segnali ai processi o elenca i segnali.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal SEGNALE, -SEGNALE Nome o numero del segnale da inviare.\n" #~ " -l, --list Elenca i nomi dei segnali.\n" #~ " -t, --table Stampa una tabella di informazioni sui\n" #~ " segnali.\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SEGNALE può essere il nome di un segnale come `HUP', il numero di un " #~ "segnale\n" #~ "come `1' oppure lo status di uscita di un processo terminato da un " #~ "segnale.\n" #~ "PID è un intero; se è negativo indica un gruppo di processi.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: segnale non valido" #~ msgid "%s: invalid process id" #~ msgstr "%s: process id non valido" #~ msgid "invalid option -- %c" #~ msgstr "opzione non valida -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: sono stati specificati segnali multipli" #~ msgid "multiple -l or -t options specified" #~ msgstr "sono state specificate opzioni -l o -t multiple" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "non è possibile combinare i segnali con -l o -t" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s FILE1 FILE2\n" #~ " o: %s OPZIONE\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Chiama la funzione link per creare un link chiamato FILE2 a un FILE1 " #~ "esistente.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "impossibile creare il link %s a %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: attenzione: fare un hard link a un link simbolico non è portabile" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: non è possibile fare un hard link a una directory" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: impossibile sovrascrivere una directory" #~ msgid "%s: replace %s? " #~ msgstr "%s: sostituire %s? " #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "creazione del link simbolico %s a %s" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "creazione del link simbolico %s a %s" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "creazione dell'hard link %s a %s" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "creazione dell'hard link %s a %s" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "creazione dell'hard link %s a %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... ORIGINE DEST (primo formato)\n" #~ " o: %s [OPZIONE]... ORIGINE... DIRECTORY (secondo formato)\n" #~ " o: %s -d [OPZIONE]... DIRECTORY (terzo formato)\n" #, fuzzy #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Crea un link all'OBIETTIVO specificato con il NOME_LINK opzionale. Se " #~ "LINK_NAME\n" #~ "è omesso, un link con lo stesso nome dell'OBIETTIVO è creato nella " #~ "directory\n" #~ "\"\"corrente. Quando si usa la seconda forma con più di un OBIETTIVO, " #~ "l'ultimo\n" #~ "argomento deve essere una DIRECTORY; crea nella DIRECTORY un link a ogni\n" #~ "OBIETTIVO. Normalmente crea hard link, crea link simbolici con --" #~ "symbolic.\n" #~ "Quando crea hard link, ogni OBIETTIVO deve esistere.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTROL] fa il backup di ogni file di destinazione " #~ "esistente\n" #~ " -b come --backup ma non accetta un argomento\n" #~ " -d, -F, --directory crea hard link alle directory (solo super-" #~ "user)\n" #~ " -f, --force rimuove i file di destinazione esistenti\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference tratta ogni destinazione che è un link " #~ "simbolico\n" #~ " a una directory come se fosse un file " #~ "normale\n" #~ " -i, --interactive chiede se rimuovere le destinazioni\n" #~ " -s, --symbolic crea link simbolici invece che hard link\n" #, fuzzy #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " --target-directory=DIRECTORY specifica la DIRECTORY in cui creare " #~ "i link\n" #~ " -S, --suffix=SUFFISSO cambia il normale suffisso dei backup\n" #~ " -v, --verbose stampa il nome del file prima di fare il " #~ "link\n" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s: la directory obiettivo specificata non è una directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Uso: %s [OPZIONE]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Stampa il nome dell'utente corrente.\n" #~ "\n" #, fuzzy #~ msgid "no login name" #~ msgstr "%s: non c'è un nome di login\n" #~ msgid "%b %e %Y" #~ msgstr "%e %b %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%e %b %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "ignoro il valore non valido della variabile di ambiente QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "" #~ "ignorata la larghezza non valida nella variabile di ambiente COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "ignorata la larghezza di tabulazione non valida nella variabile di\n" #~ "ambiente TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "larghezza delle righe non valida: %s" #~ msgid "invalid tab size: %s" #~ msgstr "dimensioni di tabulazione non valide: %s" #~ msgid "invalid time style format %s" #~ msgstr "formato dello stile di orario %s non valido" #~ msgid "unrecognized prefix: %s" #~ msgstr "prefisso non riconosciuto: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "valore non interpretabile nella variabile di ambiente LS_COLORS" #~ msgid "cannot open directory %s" #~ msgstr "impossibile aprire la directory %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "impossibile determinare il dispositivo e l'inode di %s" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "non elenco la directory già elencata %s" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "directory %s omessa" #~ msgid "cannot compare file names %s and %s" #~ msgstr "impossibile confrontare i nomi di file %s e %s" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Elenca informazioni sui FILE (predefinito: la directory corrente).\n" #~ "Ordina alfabeticamente le voci se non è usato uno di -cftuSUX oppure --" #~ "sort.\n" #~ "\"\"\n" #, fuzzy #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all non nasconde le voci che iniziano con .\n" #~ " -A, --almost-all non elenca le voci implicite . e ..\n" #~ " --author stampa l'autore di ogni file\n" #~ " -b, --escape stampa escape ottali per i caratteri non " #~ "grafici\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=DIMENS usa blocchi lunghi DIMENS byte\n" #~ " -B, --ignore-backups non elenca le voci implicite che terminano " #~ "con ~\n" #~ " -c con -lt: mostra e ordina secondo il ctime " #~ "(orario\n" #~ " di modifica delle informazioni di stato " #~ "del\n" #~ " file); con -l: mostra il ctime e ordina " #~ "secondo\n" #~ " il nome; altrimenti: ordina secondo il " #~ "ctime\n" #, fuzzy #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C elenca le voci per colonne\n" #~ " --color[=QUANDO] controlla QUANDO bisogna colorare i file " #~ "secondo\n" #~ " il tipo. Può essere `never', `always' o " #~ "`auto'\n" #~ " -d, --directory elenca le voci di directory invece del " #~ "contenuto\n" #~ " -D, --dired genera output adatto al modo dired di Emacs\n" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f non ordina, abilita -aU, disabilita -lst\n" #~ " -F, --classify accoda un indicatore alle voci (uno di */" #~ "=@|)\n" #~ " --format=TIPO across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time come -l --time-style=full-iso\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all include i filesystem lunghi 0 blocchi\n" #~ " --block-size=DIM usa blocchi lunghi DIM\n" #~ " -h, --human-readable stampa le dimensioni in formato leggibile (es: " #~ "1K, 23M)\n" #~ " -H, --si idem, ma usa multipli di 1000 invece che di 1024\n" #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=TIPO accoda ai nomi l'indicatore con lo stile " #~ "TIPO:\n" #~ " none (predef), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode stampa il numero d'indice di ogni file\n" #~ " -I, --ignore=MODELLO non elenca le voci implicite che soddisfano " #~ "il\n" #~ " MODELLO della shell\n" #~ " -k come --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l usa un formato di elenco lungo\n" #~ " -L, --dereference quando mostra le informazioni su un " #~ "symlink,\n" #~ " mostra le informazioni sul file a cui si\n" #~ " riferisce invece che sul link stesso\n" #~ " -m elenca le voci separandole con virgole\n" #, fuzzy #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid elenca gli UID e GID numerici al posto dei " #~ "nomi\n" #~ " -N, --literal stampa i nomi grezzi (es: non tratta in " #~ "modo\n" #~ " speciale i caratteri di controllo)\n" #~ " -o usa un formato di elenco lungo senza i " #~ "gruppi\n" #~ " -p, --file-type accoda un carattere secondo il tipo delle " #~ "voci\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars stampa ? al posto dei caratteri non grafici\n" #~ " --show-control-chars mostra i caratteri non grafici come sono " #~ "(predef.\n" #~ " a meno che il programma sia `ls' e l'output un " #~ "terminale)\n" #~ " -Q, --quote-name racchiude tra doppi apici i nomi delle voci\n" #~ " --quoting-style=TIPO usa lo stile TIPO con i nomi delle voci:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse inverte il senso dell'ordinamento\n" #~ " -R, --recursive elenca ricorsivamente le subdirectory\n" #~ " -s, --size stampa le dimensioni in blocchi di ogni " #~ "file\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S ordina secondo le dimensioni del file\n" #~ " --sort=TIPO extension -X, none -U, size -S, time -t, use " #~ "-u,\n" #~ " status -c, atime -u, access -u, version -" #~ "v\n" #~ " --time=TIPO usa il TIPO di orario invece che quello di\n" #~ " modifica: atime, access, use, ctime o " #~ "status;\n" #~ "\"\" se --sort=time usa l'orario " #~ "specificato come\n" #~ " chiave di ordinamento\n" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STILE mostra gli orari usando lo STILE " #~ "specificato:\n" #~ " full-iso, long-iso, iso, locale, +FORMATO\n" #~ " FORMATO è interpretato come da `date'; se è\n" #~ " FORMATO1FORMATO2, FORMATO1 è " #~ "applicato\n" #~ " ai file non recenti e FORMATO2 a quelli " #~ "recenti;\n" #~ " se STILE ha il prefisso `posix-' avrà " #~ "effetto\n" #~ " solo fuori dal locale POSIX\n" #~ " -t ordina secondo l'orario di modifica\n" #~ " -T, --tabsize=COL i tab sono larghi COL colonne invece di 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u con -lt; mostra ed ordina secondo l'orario\n" #~ " di accesso; con -l mostra l'orario di " #~ "accesso\n" #~ "\"\" ed ordina per nome; altrimenti: ordina " #~ "secondo\n" #~ " l'orario di accesso\n" #~ " -U non ordina; elenca le voci nell'ordine della " #~ "dir.\n" #~ " -v ordina secondo la versione\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=COL lo schermo è largo COL invece del'attuale " #~ "valore\n" #~ " -x elenca le voci per righe invece che per " #~ "colonne\n" #~ "\"\" -X ordina alfabeticamente secondo le " #~ "estensioni\n" #~ " -1 elenca un file per riga\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "L'impostazione predefinita è di non usare i colori differenziare i tipi " #~ "di\n" #~ "file. Questo è equivalente a usare --color=none. L'uso dell'opzione --" #~ "color\n" #~ "\"\"senza l'argomento opzionale QUANDO è equivalente a usare --" #~ "color=always.\n" #~ "Con --color=auto i codici dei colori sono stampati solo se standard " #~ "output è\n" #~ "\"\"collegato a un terminale (tty).\n" #, fuzzy #~ msgid "David Madore" #~ msgstr "Arnold Robbins and David MacKenzie" #, fuzzy #~ msgid "%s: read error" #~ msgstr "errore di lettura" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Uso: %s [OPZIONE]... DIRECTORY...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Crea la/le DIRECTORY, se non esistono già.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MODO imposta i permessi (come in chmod), non rwxrwxrwx - " #~ "umask\n" #~ " -p, --parents nessun errore se esiste, crea le dir. padre se " #~ "necessario\n" #~ " -v, --verbose stampa un messaggio per ogni directory creata\n" #~ msgid "created directory %s" #~ msgstr "directory %s creata" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Uso: %s [OPZIONE]... NOME...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Crea pipe con nome (FIFO) con il NOME dato.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MODO imposta i permessi (come in chmod), non a=rw - umask\n" #~ msgid "invalid mode" #~ msgstr "modo non valido" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Uso: %s [OPZIONE]... NOME TIPO [MAJOR MINOR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Crea il file speciale nome del TIPO dato.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ "MAJOR e MINOR sono vietati per il TIPO p, altrimenti sono obbligatori.\n" #~ "Il TIPO può essere:\n" #~ "\n" #~ " b crea un file speciale a blocchi (bufferizzato)\n" #~ " c, u crea un file speciale a caratteri (non bufferizzato)\n" #~ " p crea un FIFO\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "quando vengono creati file speciali, devono essere specificati i major e\n" #~ "minor numbers del dispositivo" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "minor number del dispositivo %s non valido" #~ msgid "block special files not supported" #~ msgstr "i file speciali a blocchi non sono gestiti" #~ msgid "character special files not supported" #~ msgstr "i file speciali a caratteri non sono gestiti" #~ msgid "invalid major device number %s" #~ msgstr "major number del dispositivo %s non valido" #~ msgid "invalid minor device number %s" #~ msgstr "minor number del dispositivo %s non valido" #~ msgid "invalid device %s %s" #~ msgstr "dispositivo %s %s non valido" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "dispositivo %s %s non valido" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Uso: %s [OPZIONE]... [FILE]...\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "troppi argomenti" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "impossibile creare la directory %s" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "impossibile preservare l'orario di %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "Rinomina ORIGINE in DEST o sposta ORIGINE nella DIRECTORY.\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup=[CONTROL] fa un backup prima della rimozione\n" #~ " -b come --backup ma non accetta un argomento\n" #~ " -f, --force rimuove le destinazioni esistenti senza\n" #~ " chiedere; equivale a --reply=yes\n" #~ " -i, --interactive chiede prima di sovrascrivere;\n" #~ " equivale a --reply=query\n" #, fuzzy #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --reply={yes,no,query} specifica come gestire la domanda a " #~ "proposito\n" #~ " di un file di destinazione già " #~ "esistente\n" #~ " --strip-trailing-slashes rimuove gli slash dalla fine di ogni " #~ "ORIGINE\n" #~ " -S, --suffix=SUFFISSO cambia il normale suffisso dei backup\n" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=DIRECTORY sposta ogni ORIGINE nella DIRECTORY\n" #~ " -u, --update sposta solo quando ORIGINE è più recente " #~ "del\n" #~ " file di destinazione o questo è mancante\n" #~ " -v, --verbose spiega cosa sta facendo\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Uso: %s [OPZIONE] [[COMANDO [ARG]...]\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "argomento `%s' non valido" #~ msgid "a command must be given with an adjustment" #~ msgstr "un comando deve essere specificato con un aggiustamento" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "impossibile determinare il nome del sistema" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "impossibile impostare la data" #, fuzzy #~ msgid "line number overflow" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "intervallo di tempo non valido: `%s'" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "major number del dispositivo %s non valido" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "argomento intero `%s' non valido" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "larghezza delle righe non valida: %s" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "argomento intero `%s' non valido" #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s FORMATO [ARGOMENTO]...\n" #~ " o: %s OPZIONE\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "tutti gli argomenti sono stati ignorati\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "tutti gli argomenti vengono ignorati" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "impossibile preservare l'orario di %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... GRUPPO FILE...\n" #~ " o: %s [OPZIONE]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle " #~ "brevi.\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle " #~ "corte.\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "stringa di formato non valida: `%s'" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "carattere %s non valido nella stringa di modo %s" #, fuzzy #~ msgid "no type may be specified when dumping strings" #~ msgstr "" #~ "la stringa di formato non può essere specificata quando si stampano " #~ "stringhe\n" #~ "a ugual larghezza" #, fuzzy #~ msgid "standard input is closed" #~ msgstr "standard input" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Uso: %s [OPZIONE]... NOME...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "carattere %s non valido nella stringa di modo %s" #, fuzzy #~ msgid "empty file name" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "file regolare vuoto\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "file normale vuoto" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Joseph Arceneaux and David MacKenzie" #~ msgid "Login name: " #~ msgstr "Nome di login: " #~ msgid "In real life: " #~ msgstr "Nella vita reale: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Directory: " #~ msgid "Shell: " #~ msgstr "Shell: " #~ msgid "Project: " #~ msgstr "Project: " #~ msgid "Plan:\n" #~ msgstr "Plan:\n" #~ msgid "Login" #~ msgstr "Login" #, fuzzy #~ msgid "Name" #~ msgstr " Nome" #, fuzzy #~ msgid " TTY" #~ msgstr "TTY" #~ msgid "Idle" #~ msgstr "Inatt." #~ msgid "When" #~ msgstr "Quando" #~ msgid "Where" #~ msgstr "Dove" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Uso: %s [OPZIONE]... [UTENTE]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l usa il formato di output lungo per gli UTENTI indicati\n" #~ " -b omette l'home directory e la shell nel formato lungo\n" #~ " -h omette il file project dell'utente nel formato lungo\n" #~ " -p omette il file plan dell'utente nel formato lungo\n" #~ " -s usa il formato breve, è l'opzione predefinita\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f omette l'intestazione delle colonne nel formato breve\n" #~ " -w omette il nome completo dell'utente nel formato breve\n" #~ " -i omette il nome completo e l'host remoto nel formato " #~ "breve\n" #~ " -q omette il nome completo, l'host remoto e il tempo di\n" #~ " inattività nel formato breve\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Una versione leggera di `finger'; stampa informazioni sugli utenti.\n" #~ "Il file utmp sarà %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "non è stato indicato il nome di un utente; quando si usa -l bisogna " #~ "indicarne\n" #~ "almeno uno" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "stringa di formato non valida: `%s'" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "minor number del dispositivo %s non valido" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "larghezza delle righe non valida: %s" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "larghezza delle righe non valida: %s" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "larghezza delle righe non valida: %s" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "numero %s non valido" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [VARIABILE]...\n" #~ " o: %s OPZIONE\n" #~ "Se non è specificata alcuna VARIABILE di ambiente le stampa tutte.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "attenzione: %s: i caratteri che seguono la costante carattere sono stati\n" #~ "ignorati" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s FORMATO [ARGOMENTO]...\n" #~ " o: %s OPZIONE\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Stampa gli ARGOMENTI secondo il FORMATO.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "FORMATO controlla l'output come in printf del C. Le sequenze " #~ "interpretate\n" #~ "sono:\n" #~ "\n" #~ " \\\" doppie virgolette\n" #~ " \\0NNN carattere il cui valore ottale è NNN (da 0 a 3 cifre)\n" #~ " \\\\ backslash\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a avviso (BEL)\n" #~ " \\b backspace\n" #~ " \\c non produce ulteriore output\n" #~ " \\f form feed\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t tab orizzontale\n" #~ " \\v tab verticale\n" #, fuzzy #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xNNN byte il cui valore esadecimale è NNN (da 1 a 3 cifre)\n" #~ "\n" #~ " \\uNNNN carattere il cui valore esadecimale è NNNM (4 cifre)\n" #~ " \\UNNNNNNNN carattere il cui valore esadecimale è NNNMNNNM (8 cifre)\n" #, fuzzy #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% un unico %\n" #~ " %b ARGOMENTO è una stringa con le sequenze di escape `\\\\' " #~ "interpretate\n" #~ "\n" #~ "e tutte le specifiche di formato C che finiscano con uno dei caratteri\n" #~ "diouxXfeEgGcs, convertendo prima l'ARGOMENTO nel tipo appropriato.\n" #~ "Sono gestite le dimensioni variabili.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: aspetta un valore numerico" #~ msgid "%s: value not completely converted" #~ msgstr "%s: valore non completamente convertito" #~ msgid "missing hexadecimal number in escape" #~ msgstr "manca il numero esadecimale nella sequenza di escape" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "nome del set di caratteri universale \\\\%c%0*x non valido" #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "larghezza delle righe non valida: %s" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "conversione non valida: %s" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "opzione `%s' non valida" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "" #~ "attenzione: gli argomenti in eccesso sono stati ignorati, a partire da `%" #~ "s'" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... ULTIMO\n" #~ " o: %s [OPZIONE]... PRIMO ULTIMO\n" #~ " o: %s [OPZIONE]... PRIMO INCREMENTO ULTIMO\n" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "data `%s' non valida" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Stampa il nome file completo dell'attuale directory di lavoro.\n" #~ "\n" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "impossibile cambiare il gruppo di %s in %s\n" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "impossibile leggere gli attributi di %s" #~ msgid "ignoring non-option arguments" #~ msgstr "gli argomenti che non sono opzioni sono stati ignorati" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Uso: %s [OPZIONE]... [FILE]...\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "impossibile aprire la directory %s" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "impossibile aprire la directory %s" #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "%s ha cambiato dispositivo/inode" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "impossibile creare la directory %s" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "ATTENZIONE: struttura di directory circolare.\n" #~ "Questo significa quasi sicuramente che il file system è danneggiato.\n" #~ "INFORMA IL TUO AMMINISTRATORE DI SISTEMA.\n" #~ "La seguente directory è parte del ciclo:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: entrare nella directory protetta dalla scrittura %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: entrare nella directory %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: rimuovere il %s protetto dalla scrittura %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: rimuovere %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "directory rimossa: %s\n" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "impossibile aprire la directory %s" #~ msgid "cannot remove directory %s" #~ msgstr "impossibile rimuovere la directory %s" #, fuzzy #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "impossibile entrare in `..' dalla directory %s" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "impossibile rimuovere la directory %s" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "impossibile rimuovere la directory %s" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "impossibile determinare la directory corrente" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Uso: %s [OPZIONE]... FILE...\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Per rimuovere un file il cui nome inizia con `-', per esempio `-foo',\n" #~ "usare uno di questi comandi:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Notare che se si usa rm per rimuovere un file, di solito è impossibile\n" #~ "recuperarne il contenuto. Se si vogliono maggiori garanzie che il " #~ "contenuto\n" #~ "sia veramente irrecuperabile si valuti l'uso di shred.\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: rimuovere %s %s? " #~ msgid "removing directory, %s" #~ msgstr "rimuovere la directory `%s'? " #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "impossibile rimuovere la directory %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Uso: %s [OPZIONE]... DIRECTORY...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Rimuove le DIRECTORY, se vuote.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignora ogni errore causato dal solo fatto che la " #~ "directory\n" #~ " non è vuota\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents rimuove la DIRECTORY, poi prova a rimuovere ogni " #~ "directory\n" #~ " che compone il nome di questo percorso. Per esempio,\n" #~ " `rmdir -p a/b/c' è simile a `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose mostra un diagnostico per ogni directory processata\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "impossibile rimuovere %s" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "impossibile leggere gli attributi di %s" #, fuzzy #~ msgid "no command specified" #~ msgstr "può essere specificato un solo dispositivo" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "impossibile preservare l'orario di %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "impossibile preservare l'orario di %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "impossibile preservare l'orario di %s" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "impossibile leggere gli attributi di %s" #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "impossibile ripristinare i permessi di %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... ULTIMO\n" #~ " o: %s [OPZIONE]... PRIMO ULTIMO\n" #~ " o: %s [OPZIONE]... PRIMO INCREMENTO ULTIMO\n" #, fuzzy #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Stampa i numeri dal PRIMO all'ULTIMO con passo INCREMENTO.\n" #~ "\n" #~ " -f, --formato FORMATO usa lo stile di printf(3) per FORMATO (pred. " #~ "%g)\n" #~ " -s, --separator STRINGA usa STRINGA per separare i numeri (pred. " #~ "\\n)\n" #~ " -w, --equal-width uguaglia le larghezze aggiungendo zeri " #~ "iniziali\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Se PRIMO o INCREMENTO sono omessi, il valore predefinito è 1.\n" #~ "PRIMO, ULTIMO e INCREMENTO sono interpretati come valori in virgola " #~ "mobile.\n" #~ "INCREMENTO deve essere positivo se PRIMO è minore di ULTIMO, altrimenti\n" #~ "negativo. Quando specificato, l'argomento FORMATO deve contenere uno e " #~ "uno\n" #~ "solo dei formati di output in virgola mobile in stile printf %e, %f o %" #~ "g.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "argomento in virgola mobile non valido: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "stringa di formato non valida: `%s'" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "stringa di formato non valida: `%s'" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "la stringa di formato non può essere specificata quando si stampano " #~ "stringhe\n" #~ "a ugual larghezza" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s FORMATO [ARGOMENTO]...\n" #~ " o: %s OPZIONE\n" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "impossibile ottenere la lista dei gruppi supplementari" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "impossibile impostare il group id" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "impossibile impostare lo user id" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Uso: %s [OPZIONI] FILE [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Sovrascrive ripetutamente i FILE specificati in modo da rendere più " #~ "difficile\n" #~ "recuperare i dati anche con indagini hardware molto costose.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force se necessario cambia i permessi per permettere la " #~ "scrittura\n" #~ " -n, --iterations=N sovrascrive N volte invece che le %d predefinite\n" #~ " -s, --size=N distrugge solo N byte (sono accettati suffissi come K, M " #~ "e G)\n" #, fuzzy #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove tronca e rimuove il file dopo la sovrascrittura\n" #~ " -v, --verbose indica il progresso\n" #~ " -x, --exact non arrotonda le dimensioni dei file fino all'intero " #~ "blocco\n" #~ "\"\" -z, --zero aggiunge una sovrascrittura finale con zeri per " #~ "nascondere\n" #~ " la distruzione\n" #~ " - distrugge lo standard input\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Cancella i file solo se è specificato --remove (-u). È predefinito non " #~ "farlo\n" #~ "\"\"perché è normale operare su file di device come /dev/hda, che " #~ "normalmente non\n" #~ "devono essere rimossi. Quando si opera su file normali, la maggior parte " #~ "delle\n" #~ "persone usano l'opzione --remove.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "ATTENZIONE: ricordare che shred si basa su una importante supposizione, " #~ "cioè\n" #~ "\"\"che il filesystem sovrascriva i dati dove stanno. Questo è il metodo\n" #~ "tradizionale, ma molti filesystem progettati modernamente non soddisfano\n" #~ "questa supposizione.\n" #~ "Questi sono esempi di file system su cui shred non ha effetto:\n" #~ "\n" #, fuzzy #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* filesystem con logging o journaling come quelli forniti con AIX e " #~ "Solaris\n" #~ " (e JFS, ReiserFS, XFS, ext3, ecc...)\n" #~ "\n" #~ "* filesystem che scrivono dati ridondanti e continuano a scrivere anche " #~ "se\n" #~ " alcune scritture falliscono, come i file system basati su RAID\n" #~ "\n" #~ "* filesystem che fanno snapshot, come quello dei server NFS di Network\n" #~ " Appliance\n" #~ "\n" #, fuzzy #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "* filesystem che hanno cache temporanee, come i client NFS 3\n" #~ "\n" #~ "* filesystem compressi\n" #~ "Inoltre, i backup dei file system e i mirror remoti possono contenere " #~ "copie\n" #~ "dei file impossibili da rimuovere e che permetterebbero di recuperare un\n" #~ "file distrutto.\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "strip fallito" #~ msgid "%s: cannot rewind" #~ msgstr "%s: impossibile riavvolgere" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: passo %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: errore di scrittura all'offset %s" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "strip fallito" #~ msgid "%s: file too large" #~ msgstr "%s: file troppo grande" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: passo %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: passo %lu/%lu (%s)...%s/%s %d%%" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "strip fallito" #~ msgid "%s: invalid file type" #~ msgstr "%s: tipo di file non valido" #~ msgid "%s: file has negative size" #~ msgstr "%s: il file ha dimensioni negative" #~ msgid "%s: error truncating" #~ msgstr "%s: errore durante il troncamento" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "strip fallito" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: impossibile distruggere un descrittore di file append only" #~ msgid "%s: removing" #~ msgstr "%s: rimozione" #~ msgid "%s: renamed to %s" #~ msgstr "%s: rinominato in %s" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s: file troppo grande" #~ msgid "%s: removed" #~ msgstr "%s: rimosso" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s: file troppo grande" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "sono state specificate opzioni -l o -t multiple" #~ msgid "%s: invalid file size" #~ msgstr "%s: dimensione del file non valida" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... ULTIMO\n" #~ " o: %s [OPZIONE]... PRIMO ULTIMO\n" #~ " o: %s [OPZIONE]... PRIMO INCREMENTO ULTIMO\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "sono state specificate opzioni -l o -t multiple" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "larghezza delle righe non valida: %s" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "sono state specificate opzioni -l o -t multiple" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s NUMERO[SUFFISSO]...\n" #~ " o: %s OPZIONE\n" #~ "Fa una pausa di NUMERO secondi. SUFFISSO può essere `s' per secondi " #~ "(predef.),\n" #~ "`m' per minuti, `h' per ore o `d' per giorni. Diversamente dalla maggior " #~ "parte\n" #~ "delle altre implementazioni, che richiedono che NUMERO sia un intero, qui " #~ "può\n" #~ "essere un numero in virgola mobile arbitrario.\n" #~ "\n" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "intervallo di tempo non valido: `%s'" #~ msgid "cannot read realtime clock" #~ msgstr "impossibile leggere l'orologio realtime" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "scrittura di %s" #, fuzzy #~ msgid "cannot create temporary file" #~ msgstr "impossibile creare il file normale %s" #, fuzzy #~ msgid "open failed" #~ msgstr "strip fallito" #, fuzzy #~ msgid "fflush failed" #~ msgstr "strip fallito" #, fuzzy #~ msgid "close failed" #~ msgstr "strip fallito" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "strip fallito" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "impossibile creare il file normale %s" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "impossibile creare il file normale %s" #, fuzzy #~ msgid "write failed" #~ msgstr "strip fallito" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "impossibile rimuovere %s" #, fuzzy #~ msgid "stat failed" #~ msgstr "strip fallito" #, fuzzy #~ msgid "read failed" #~ msgstr "strip fallito" #, fuzzy #~ msgid "standard error" #~ msgstr "errore di sintassi" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "opzione `%s' non valida" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "stringa di formato non valida: `%s'" #, fuzzy #~ msgid "invalid number after `-'" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "invalid number after `.'" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "stray character in field spec" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "file speciale a caratteri\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "file speciali a caratteri" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "sono state specificate opzioni -l o -t multiple" #, fuzzy #~ msgid "invalid number at field start" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "field number is zero" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "character offset is zero" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "file speciale a caratteri\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "file speciali a caratteri" #, fuzzy #~ msgid "invalid number after `,'" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Uso: %s [OPZIONE]... [ FILE ]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BLOCCHI e BYTE possono essere seguito da uno di questi suffissi " #~ "moltiplicatori:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1,000,000, M 1,048,576,\n" #~ "GB 1,000,000,000, G 1,073,741,824 e così via per T, P, E, Z e Y.\n" #~ "Ogni PAROLA può essere:\n" #~ "\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "creazione di %s" #, fuzzy #~ msgid "cannot split in more than one way" #~ msgstr "impossibile specificare l'orario da più di una fonte" #, fuzzy #~ msgid "%s: invalid suffix length" #~ msgstr "%s: tipo di file non valido" #, fuzzy #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "%s: invalid number of lines" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: opzione `%c%s' non riconosciuta\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%%%c: direttiva non valida" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "carattere %s non valido nella stringa di modo %s" #~ msgid "cannot read file system information for %s" #~ msgstr "impossibile leggere le informazioni del file system per %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Uso: %s [OPZIONE] FILE...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Sequenze di formato valide per i file (senza --filesystem):\n" #~ "\n" #~ " %A - Diritti di accesso in formato leggibile\n" #~ " %a - Diritti di accesso in formato ottale\n" #~ " %b - Numero di blocchi allocati\n" #, fuzzy #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %D - Numero del device in esadecimale\n" #~ " %d - Numero del device in decimale\n" #~ " %F - Tipo di file\n" #~ " %f - Modo grezzo in esadecimale\n" #~ " %G - Nome del gruppo del proprietario\n" #~ " %g - ID del gruppo del proprietario\n" #, fuzzy #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h - Numero di hard link\n" #~ " %i - Numero di inode\n" #~ " %N - Nome del file protetto e dereferenziato se è un link simbolico\n" #~ " %n - Nome del file\n" #~ " %o - Dimensioni dei blocchi di IO\n" #~ " %s - Dimensioni totali, in byte\n" #~ " %T - Minor number del device in esadecimale\n" #~ " %t - Major number del device in esadecimale\n" #, fuzzy #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %U - User name del proprietario\n" #~ " %u - User ID del proprietario\n" #~ " %X - Orario dell'ultimo accesso in secondi dall'Epoca\n" #~ " %x - Orario dell'ultimo accesso\n" #~ " %Y - Orario dell'ultima modifica in secondi dall'Epoca\n" #~ " %y - Orario dell'ultima modifica\n" #~ " %Z - Orario dell'ultimo cambiamento in secondi dall'Epoca\n" #~ " %z - Orario dell'ultimo cambiamento\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Sequenze di formato valide per i filesystem:\n" #~ "\n" #~ " %a - Blocchi liberi disponibili ai non-superuser\n" #~ " %b - Numero totale di blocchi di dati nel filesystem\n" #~ " %c - Numero totale di inode nel file system\n" #~ " %d - Numero di inode liberi nel file system\n" #~ " %f - Numero di blocchi liberi file system\n" #, fuzzy #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i - ID del File System in esadecimale\n" #~ " %l - Lunghezza massima dei nomi dei file\n" #~ " %n - Nome del file\n" #~ " %s - Dimensione ottimale dei blocchi per il trasferimento\n" #~ " %T - Tipo in formato leggibile\n" #~ " %t - Tipo in esadecimale\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Uso: %s [-F DEVICE] [--file=DEVICE] [IMPOSTAZIONE]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Stampa o modifica le caratteristiche del terminale.\n" #~ "\n" #~ " -a, --all stampa tutte le impostazioni correnti in un formato\n" #~ " comprensibile\n" #~ " -g, --save stampa tutte le impostazioni correnti in un formato\n" #~ " leggibile da stty\n" #~ " -F, --file=DEVICE apre e usa il device specificato invece di stdin\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Un - opzionale prima di un'IMPOSTAZIONE indica la negazione. Un * indica " #~ "le\n" #~ "impostazioni non POSIX. Il sistema sottostante definisce quali " #~ "impostazioni\n" #~ "sono disponibili.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Caratteri speciali:\n" #~ " * dsusp CAR CAR invierà un segnale di stop del terminale dopo il " #~ "flush\n" #~ " dell'input\n" #~ " eof CAR CAR invierà un end of file (termina l'input)\n" #~ " eol CAR CAR terminerà la riga\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 CAR CAR alternativo per terminare la riga\n" #~ " erase CAR CAR cancellerà l'ultimo carattere digitato\n" #~ " intr CAR CAR invierà un signale di interrupt\n" #~ " kill CAR CAR cancellerà la riga corrente\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext CAR CAR inserirà il CARattere successivo in modo letterale\n" #~ " quit CAR CAR invierà un segnale di quit\n" #~ " * rprnt CAR CAR ridisegnerà la riga corrente\n" #~ " start CAR CAR farà ripartire l'input dopo averlo fermato\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop CAR CAR fermerà l'output\n" #~ " susp CAR CAR invierà il segnale di stop del terminale\n" #~ " * swtch CAR CAR passerà ad un diverso livello di shell\n" #~ " * werase CAR CAR cancellerà l'ultima parola digitata\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Impostazioni speciali:\n" #~ " N imposta a N baud le velocità di input e output\n" #~ " * cols N dice al kernel che il terminale ha N colonne\n" #~ " * columns N come cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N imposta a N la velocità di input\n" #~ "* line N usa la disciplina di linea N\n" #~ " min N con -icanon, imposta a N il mimimo dei caratteri per\n" #~ " completare una lettura\n" #~ " ospeed N imposta a N la velocità di output\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N dice al kernel che il terminale ha N righe\n" #~ " * size stampa il numero di righe e colonne secondo il kernel\n" #~ " speed stampa la velocità del terminale\n" #~ " time N con -icanon, imposta a N decimi di secondo il timeout in " #~ "lettura\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Impostazioni di controllo:\n" #~ "\n" #~ " [-]clocal disabilita i segnali di controllo del modem\n" #~ " [-]cread permette la ricezione dell'input\n" #~ " * [-]crtscts abilita l'handshaking RTS/CTS\n" #~ " csN imposta a N bit la dimensione dei caratteri, N tra 5 e " #~ "8\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb usa due bit di stop per carattere (uno con `-')\n" #~ " [-]hup invia un signal di hangup quando l'ultimo processo " #~ "chiude\n" #~ " il tty\n" #~ " [-]hupcl come [-]hup\n" #~ " [-]parenb genera un bit di parità in output e aspetta un bit di " #~ "parità\n" #~ " in input\n" #~ " [-]parodd imposta la parità dispari (pari con `-')\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Impostazioni dell'input:\n" #~ "\n" #~ " [-]brkint i break causano un segnale di interrupt\n" #~ " [-]icrnl converte carriage return in newline\n" #~ " [-]ignbrk ignora i caratteri di break\n" #~ " [-]igncr ignora carriage return\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar ignora i caratteri con errori di parità\n" #~ " * [-]imaxbel fa un beep e non fa il flush quando il buffer di input\n" #~ " completo riceve un carattere\n" #~ " [-]inlcr converte newline in carriage return\n" #~ " [-]inpck abilita il controllo di parità sull'input\n" #~ " [-]istrip azzera il bit più alto (l'ottavo) dei caratteri di " #~ "input\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc converte i caratteri maiuscoli in minuscoli\n" #~ " * [-]ixany permette a qualsiasi carattere di far ripartire " #~ "l'output,\n" #~ " non solo al carattere di start\n" #~ " [-]ixoff abilita l'invio dei caratteri di start/stop\n" #~ " [-]ixon abilita il controllo di flusso XON/XOFF\n" #~ " [-]parmrk indica gli errori di parità (con una sequenza 255-0-" #~ "carattere)\n" #~ " [-]tandem come [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Impostazioni dell'output:\n" #~ " * bsN stile del ritardo di backspace, N in [0..1]\n" #~ " * crN stile del ritardo di carriage return, N in [0..3]\n" #~ " * ffN stile del ritardo di form feed, N in [0..1]\n" #~ " * nlN stile del ritardo di newline, N in [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl converte carriage return in newline\n" #~ " * [-]ofdel usa per il riempimento caratteri di delete invece di " #~ "null\n" #~ " * [-]ofill usa caratteri di riempimento (padding) invece di\n" #~ " temporizzazioni per i ritardi\n" #~ " * [-]olcuc converte i caratteri minuscoli in maiuscoli\n" #~ " * [-]onlcr converte newline in carriage return-newline\n" #~ " * [-]onlret newline esegue un carriage return\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr non stampa i carriage return nella prima colonna\n" #~ " [-]opost postprocessa l'output\n" #~ " * tabN stile del ritardo del tab orizzontale, N in [0..3]\n" #~ " * tabs come tab0\n" #~ " * -tabs come tab3\n" #~ " * vtN stile del ritardo del tab verticale, N in [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Impostazioni locali:\n" #~ " [-]crterase fa l'echo dei caratteri di erase come\n" #~ " backspace-spazio-backspace\n" #~ " * crtkill cancella tutte le righe obbedendo alle impostazioni\n" #~ " echoprt e echoe\n" #~ " * -crtkill cancella tutte le righe obbedendo alle impostazioni\n" #~ " echoctl e echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho fa l'echo dei caratteri di controllo nella notazione " #~ "`^c'\n" #~ " [-]echo fa l'echo dei caratteri in input\n" #~ " * [-]echoctl come [-]ctlecho\n" #~ " [-]echoe come [-]crterase\n" #~ " [-]echok fa l'echo di un newline dopo un carattere di kill\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke come [-]crtkill\n" #~ " [-]echonl fa l'echo di un newline anche se non fa l'echo degli " #~ "altri\n" #~ " caratteri\n" #~ " * [-]echoprt fa l'echo al contrario dei caratteri cancellati, tra `" #~ "\\' e '/'\n" #~ " [-]icanon abilita i caratteri speciali erase, kill, werase, e " #~ "rprnt\n" #~ " [-]iexten abilita i caratteri speciali non POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig abilita i caratteri speciali interrupt, quit, e suspend\n" #~ " [-]noflsh disabilita il flushing dopo i caratteri speciali di\n" #~ " interrupt e quit\n" #~ " * [-]prterase come [-]echoprt\n" #~ " * [-]tostop ferma i processi in background che provano a scrivere\n" #~ " sul terminale\n" #~ " * [-]xcase con icanon, fa l'escape con `\\' per i caratteri " #~ "maiuscoli\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Impostazioni combinazione:\n" #~ " * [-]LCASE come [-]lcase\n" #~ " cbreak come -icanon\n" #~ " -cbreak come icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked come brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, i caratteri eof e eol ai loro valori " #~ "predefiniti\n" #~ " -cooked come raw\n" #~ " crt come echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec come echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq come [-]ixany\n" #~ " ek caratteri di erase e kill ai loro valori predefiniti\n" #~ " evenp come parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp come -parenb cs8\n" #~ " * [-]lcase come xcase iuclc olcuc\n" #~ " litout come -parenb -istrip -opost cs8\n" #~ " -litout come parenb istrip opost cs7\n" #~ " nl come -icrnl -onlcr\n" #~ " -nl come icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp come parenb parodd cs7\n" #~ " -oddp come -parenb cs8\n" #~ " [-]parity come [-]evenp\n" #~ " pass8 come -parenb -istrip cs8\n" #~ " -pass8 come parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw come -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw come cooked\n" #, fuzzy #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane come cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, tutti i " #~ "caratteri\n" #~ " speciali ai loro valori predefiniti\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Gestisce la linea tty connessa allo standard input. Senza argomenti " #~ "stampa\n" #~ "il baud rate, la disciplina di linea, e le differenze da stty sane. " #~ "Nelle\n" #~ "impostazioni, CAR è preso letteralmente o codificato come in ^c, 0x37, " #~ "0177\n" #~ "o 127; i valori speciali ^- o undef sono usati per disabilitare i " #~ "caratteri\n" #~ "speciali.\n" #~ msgid "only one device may be specified" #~ msgstr "può essere specificato un solo dispositivo" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "le opzioni per gli stili dell'output \"comprensibile\" e \"leggibile da\n" #~ "stty\" sono mutuamente esclusive" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "" #~ "quando si specifica uno stile dell'output, non si possono impostare i modi" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: impossibile azzerare il modo non bloccante" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "argomento `%s' non valido" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "manca l'argomento per `%s'" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "larghezza delle righe non valida: %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: impossibile eseguire tutte le operazioni richieste" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: modo\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: non ci sono informazioni sulle dimensioni di questo dispositivo" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "argomento intero `%s' non valido" #~ msgid "Password:" #~ msgstr "Password:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: impossibile aprire /dev/tty" #~ msgid "cannot set groups" #~ msgstr "impossibile impostare i gruppi" #~ msgid "cannot set group id" #~ msgstr "impossibile impostare il group id" #~ msgid "cannot set user id" #~ msgstr "impossibile impostare lo user id" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Uso: %s [OPZIONE]... [-] [UTENTE [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Cambia lo user id e il group id efficaci a quelli dell'UTENTE.\n" #~ "\n" #~ " -, -l, --login rende la shell una shell di login\n" #~ " -c, --command=COMANDO passa con -c un COMANDO singolo alla " #~ "shell\n" #~ " -f, --fast passa -f alla shell (per csh o tcsh)\n" #~ " -m, --preserve-environment non reinizializza le variabili d'ambiente\n" #~ " -p come -m\n" #~ " -s, --shell=SHELL lancia SHELL se /etc/shells lo permette\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Un semplice - implica -l. Se non è specificato l'UTENTE, assume root.\n" #~ msgid "user %s does not exist" #~ msgstr "l'utente %s non esiste" #~ msgid "incorrect password" #~ msgstr "password sbagliata" #~ msgid "using restricted shell %s" #~ msgstr "uso la shell ristretta %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "attenzione: impossibile cambiare la directory a %s" #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Mike Parker e David MacKenzie" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Forza la scrittura su disco dei blocchi cambiati, aggiorna il super " #~ "block.\n" #~ "\n" #, fuzzy #~ msgid "ignoring all arguments" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "tutti gli argomenti sono stati ignorati\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "tutti gli argomenti vengono ignorati" #, fuzzy #~ msgid " --help display this help and exit\n" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ " --help mostra questo messaggio d'aiuto ed esce\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ " --help mostra questo aiuto ed esce\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version stampa le informazioni sulla versione ed esce\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "\n" #~ "Segnalare i bug a <%s>.\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "\n" #~ "Segnalate i bug a <%s>.\n" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "strip fallito" #, fuzzy #~ msgid "record too large" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "impossibile creare il file normale %s" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "impossibile aprire %s per la lettura" #, fuzzy #~ msgid "%s: write error" #~ msgstr "errore di scrittura" #, fuzzy #~ msgid "closing %s (fd=%d)" #~ msgstr "chiusura di %s" #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "impossibile creare il fifo %s" #, fuzzy #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "impossibile creare il fifo %s" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: impossibile azzerare il modo non bloccante" #, fuzzy #~ msgid "%s: file truncated" #~ msgstr "%s: errore durante il troncamento" #, fuzzy #~ msgid "no files remaining" #~ msgstr "argomenti dei file mancanti" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "%s: invalid PID" #~ msgstr "%s: segnale non valido" #, fuzzy #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "i link simbolici non sono gestibili da questo sistema" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "impossibile determinare il nome del sistema" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Copia lo standard input a ogni FILE e allo standard output.\n" #~ "\n" #~ " -a, --append accoda ai FILE specificati, non sovrascrive\n" #~ " -i, --ignore-interrupts ignora i segnali di interruzione\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "manca l'argomento per `%s'" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "numero %s non valido" #, fuzzy #~ msgid "')' expected" #~ msgstr "manca ')'\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "manca ')', trovato %s\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: manca un operatore unario\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt non accetta -l\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef non accetta -l\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-ot non accetta -l\n" #~ msgid "unknown binary operator" #~ msgstr "operatore binario sconosciuto" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: manca un operatore binario\n" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Uso: %s ESPRESSIONE\n" #~ " o: [ ESPRESSIONE ]\n" #~ " o: %s OPZIONE\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Esce con lo stato determinato dall'ESPRESSIONE.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "L'ESPRESSIONE è vera o falsa e imposta lo stato d'uscita. È una fra:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( ESPRESSIONE ) ESPRESSIONE è vera\n" #~ " ! ESPRESSIONE ESPRESSIONE è falsa\n" #~ " ESPRESSIONE1 -a ESPRESSIONE2 sia ESPRESSIONE1 che ESPRESSIONE2 sono " #~ "vere\n" #~ " ESPRESSIONE1 -o ESPRESSIONE2 o ESPRESSIONE1 o ESPRESSIONE2 è vera\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " [-n] STRINGA la lunghezza di STRINGA non è zero\n" #~ " -z STRINGA la lunghezza di STRINGA è zero\n" #~ " STRINGA1 = STRINGA2 le stringhe sono uguali\n" #~ " STRINGA1 != STRINGA2 le stringhe sono diverse\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " INTERO1 -eq INTERO2 INTERO1 è uguale INTERO2\n" #~ " INTERO1 -ge INTERO2 INTERO1 è maggiore o uguale a INTERO2\n" #~ " INTERO1 -gt INTERO2 INTERO1 è maggiore di INTERO2\n" #~ " INTERO1 -le INTERO2 INTERO1 è minore o uguale a INTERO2\n" #~ " INTERO1 -lt INTERO2 INTERO1 è minore di INTERO2\n" #~ " INTERO1 -ne INTERO2 INTERO1 non è uguale a INTERO2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 e FILE2 hanno gli stessi numeri di device e di " #~ "inode\n" #~ " FILE1 -nt FILE2 FILE1 è più nuovo (data di modifica) di FILE2\n" #~ " FILE1 -ot FILE2 FILE1 è più vecchio FILE2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b FILE FILE esiste ed è speciale a blocchi\n" #~ " -c FILE FILE esiste ed è speciale a caratteri\n" #~ " -d FILE FILE esiste ed è una directory\n" #~ " -e FILE FILE esiste\n" #, fuzzy #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f FILE FILE esiste ed è un file regolare\n" #~ " -g FILE FILE esiste ed è set-group-ID\n" #~ " -h FILE FILE esiste ed è un link simbolico (come -L)\n" #~ " -G FILE FILE esiste ed è posseduto dal group ID efficace\n" #~ " -k FILE FILE esiste ed ha il suo sticky bit impostato \n" #, fuzzy #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L FILE FILE esiste ed è un link simbolico (come -h)\n" #~ " -O FILE FILE esiste ed è posseduto dallo user ID efficace\n" #~ " -p FILE FILE esiste ed è una pipe con nome\n" #~ " -r FILE FILE esiste ed è leggibile\n" #~ " -s FILE FILE esiste ed ha dimensione maggiore di zero\n" #, fuzzy #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S FILE FILE esiste ed è un socket\n" #~ " -t [FD] il file descriptor FD (predef. stdout) è aperto su un " #~ "terminale\n" #~ " -u FILE FILE esiste ed ha il proprio bit set-user-ID impostato\n" #~ " -w FILE FILE esiste ed è scrivibile\n" #~ " -x FILE FILE esiste ed è eseguibile\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Si noti che le parentesi hanno bisogno di essere protette (p.es. con\n" #~ "backslash) dalla shell.\n" #~ "INTERO può anche essere -l STRINGA, che è valutato alla lunghezza di " #~ "STRINGA.\n" #, fuzzy #~ msgid "missing `]'" #~ msgstr "manca un `]'\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "troppi argomenti" #, fuzzy #~ msgid "Jim Kingdon" #~ msgstr "Jim Meyering and Paul Eggert" #~ msgid "creating %s" #~ msgstr "creazione di %s" #, fuzzy #~ msgid "cannot touch %s" #~ msgstr "impossibile fare stat di %s" #~ msgid "setting times of %s" #~ msgstr "impostazione dell'orario di %s" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a cambia solo l'orario di accesso\n" #~ " -c, --no-create non crea alcun file\n" #~ " -d, --date=STRINGA usa STRINGA invece che l'orario attuale\n" #~ " -f (ignorato)\n" #~ " -m cambia solo l'orario di modifica\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=FILE usa l'orario di questo file invece di quello " #~ "attuale\n" #~ " -t ORARIO usa [[CC]YY]MMDDhhmm[.ss] invece che l'orario " #~ "attuale\n" #~ " --time=TIPO imposta l'orario TIPO: accesso, atime (come -" #~ "a);\n" #~ " mtime modifica (come -m)\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Nota che le opzioni -d e -t accettano differenti formati di orario.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "impossibile specificare l'orario da più di una fonte" #, fuzzy #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "attenzione: `touch %s' è obsoleto; usare `touch -t %04d%02d%02d%02d%02d.%" #~ "02d'" #, fuzzy #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Uso: %s [OPZIONE]... [FILE]...\n" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "%s: attenzione: fare un hard link a un link simbolico non è portabile" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "data `%s' non valida" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "file speciale a caratteri\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "file speciali a caratteri" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s NOME\n" #~ " o: %s OPZIONE\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: numero di passi non valido" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Uso: %s [OPZIONE]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Stampa il nome del file del terminale connesso allo standard input.\n" #~ "\n" #~ " -s, --silent, --quiet non stampa niente, restituisce solo uno stato\n" #~ " d'uscita\n" #~ msgid "not a tty" #~ msgstr "non è un tty" #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Stampa alcune informazioni sul sistema. Senza una OPZIONE è come fosse -" #~ "s.\n" #~ "\n" #~ " -a, --all stampa tutte le informazioni, nel seguente " #~ "ordine:\n" #~ " -s, --kernel-name stampa il nome del kernel\n" #~ " -n, --nodename stampa l'hostname del nodo di rete\n" #~ " -r, --kernel-release stampa la release del kernel\n" #, fuzzy #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version stampa la versione del kernel\n" #~ " -m, --machine stampa il nome dell'hardware della macchina\n" #~ " -p, --processor stampa il tipo di processore\n" #~ " -i, --hardware-platform stampa la piattaforma hardware\n" #~ " -o, --operating-system stampa il sistema operativo\n" #~ msgid "cannot get system name" #~ msgstr "impossibile determinare il nome del sistema" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "%s: file troppo grande" #, fuzzy #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Uso: %s [OPZIONE]... [ FILE ]\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "troppi argomenti" #, fuzzy #~ msgid "invalid number of fields to skip" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "invalid number of bytes to skip" #~ msgstr "%s: numero di passi non valido" #, fuzzy #~ msgid "invalid number of bytes to compare" #~ msgstr "%s: numero di passi non valido" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s FILE\n" #~ " o: %s OPZIONE\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Chiama la funzione unlink per rimuovere il FILE indicato.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "impossibile scollegare %s" #~ msgid "couldn't get boot time" #~ msgstr "impossibile determinare l'ora di avvio" #~ msgid " %2d:%02d%s up " #~ msgstr " attivo da %2d:%02d%s " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%d giorni" #~ msgstr[1] "%d giorno" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%d utenti" #~ msgstr[1] "%d utente" #~ msgid ", load average: %.2f" #~ msgstr ", load average: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Uso: %s [OPZIONE]... [ FILE ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Stampa l'ora corrente, da quanto tempo il sistema è attivo, il numero di " #~ "utenti\n" #~ "sul sistema e il numero medio di processi nella coda di esecuzione negli " #~ "ultimi\n" #~ "1, 5 e 15 minuti. Se non è specificato il FILE usa %s.\n" #~ "%s è comunemente usato come FILE.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Stampa chi è attualmente connesso basandosi su FILE.\n" #~ "Se non è specificato il FILE, usa %s.\n" #~ "%s è comunemente usato come FILE.\n" #~ "\n" #~ msgid " old " #~ msgstr " fa " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "exit=" #~ msgid "clock change" #~ msgstr "cambio orario" #~ msgid "run-level" #~ msgstr "run-level" #~ msgid "last=" #~ msgstr "last=" #, fuzzy #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# utenti=%u\n" #~ msgid "NAME" #~ msgstr "NOME" #~ msgid "LINE" #~ msgstr "LINEA" #~ msgid "TIME" #~ msgstr "ORA" #~ msgid "IDLE" #~ msgstr "INATTIVO" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "COMMENTO" #~ msgid "EXIT" #~ msgstr "USCITA" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Uso: %s [OPZIONE]... [ FILE | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all come -b -d --login -p -r -t -T -u\n" #~ " -b, --boot orario dell'ultimo boot del sistema\n" #~ " -d, --dead stampa i processi morti\n" #~ " -H, --heading stampa la riga di intestazione delle colonne\n" #, fuzzy #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " -l, --lookup cerca di canonicalizzare gli hostname con il DNS\n" #~ " (-l è deprecato, usa --lookup)\n" #~ " -m solo l'hostname e l'utente associato a stdin\n" #~ " -p, --process stampa i processi attivi figli di init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count tutti i nomi di login e il numero di utenti connessi\n" #~ " -r, --runlevel stampa il runlevel attuale\n" #~ " -s, --short stampa solo il nome, la riga e l'orario " #~ "(predefinita)\n" #~ " -t, --time stampa l'ultima modifica dell'orologio di sistema\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg aggiunge lo stato dei messaggi dell'utente come +, - " #~ "o ?\n" #~ " -u, --users elenca gli utenti collegati\n" #~ " --message come -T\n" #~ " --writable come -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Se il FILE non è specificato, usa %s. È comune usare %s come FILE.\n" #~ "Se sono dati ARG1 e ARG2, è assunto -m: `am i' o `mom likes' sono " #~ "comuni.\n" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Stampa il nome dell'utente associato all'attuale user id efficace.\n" #~ "Uguale a id -un.\n" #~ "\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "impossibile trovare il nome dell'utente con ID %u" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [STRINGA]...\n" #~ " o: %s OPZIONE\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Stampa in continuazione una riga con tutte le STRINGA specificate oppure " #~ "`y'.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Uso: %s FORMATO [ARGOMENTO]...\n" #~ " o: %s OPZIONE\n" #~ msgid "program error" #~ msgstr "errore del programma" #~ msgid "stack overflow" #~ msgstr "overflow dello stack" #, fuzzy #~ msgid "block size" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "dimensioni del blocco\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "dimensioni dei blocchi" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "impossibile cambiare il proprietario e/o il gruppo di %s" #, fuzzy #~ msgid "cannot chdir to directory %s" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "impossibile fare chdir alla directory %s\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "impossibile entrare nella directory %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "impossibile ottenere il gruppo di login di un UID numerico" #, fuzzy #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "Questo è software libero; si veda il sorgente per le condizioni di " #~ "copiatura.\n" #~ "NON c'è alcuna garanzia; neppure di COMMERCIABILITÀ o IDONEITÀ AD UN\n" #~ "PARTICOLARE SCOPO, nei limiti permessi dalla legge.\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ "\n" #~ "Questo è software libero; si veda il sorgente per le condizioni di " #~ "copiatura.\n" #~ "NON c'è alcuna garanzia; neppure di COMMERCIABILITÀ o IDONEITÀ AD UN\n" #~ "PARTICOLARE SCOPO.\n" #~ msgid "too few arguments" #~ msgstr "troppo pochi argomenti" #, fuzzy #~ msgid "closing standard output" #~ msgstr "standard output" #~ msgid "cannot change to null group" #~ msgstr "impossibile cambiarlo nel gruppo nullo" #~ msgid "group number" #~ msgstr "numero del gruppo" #~ msgid "invalid group number %s" #~ msgstr "numero del gruppo non valido %s" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Ogni MODO è una o più delle lettere ugoa, uno dei simboli +-= e una o " #~ "più\n" #~ "delle lettere rwxXstugo.\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Uso: %s [OPZIONE]... [ FILE ]\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "impossibile sovrascrivere la directory %s" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie, e Jim Meyering" #~ msgid "missing file arguments" #~ msgstr "mancano i file di argomento" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: l'obiettivo specificato non è una directory" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "copia di file multipli, ma l'ultimo argomento %s non è una directory" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "attenzione: --version-control (-V) è obsoleto; la gestione di questa " #~ "opzione\n" #~ "sarà rimossa in una versione futura. Usa --backup=%s al suo posto." #~ msgid "symbolic links are not supported on this system" #~ msgstr "i link simbolici non sono gestibili da questo sistema" #, fuzzy #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Mike Parker e David MacKenzie" #, fuzzy #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie, e Jim Meyering" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] output date/time in ISO 8601 " #~ "format.\n" #~ " TIMESPEC=`date' for date only,\n" #~ " `hours', `minutes', or `seconds' for date " #~ "and\n" #~ " time to the indicated precision.\n" #~ " --iso-8601 without TIMESPEC defaults to " #~ "`date'.\n" #~ msgstr "" #~ "Visualizza l'ora corrente nel FORMATO specificato, o imposta la data di\n" #~ "sistema.\n" #~ "\n" #~ " -d, --date=STRINGA visualizza l'ora descritta da STRINGA, non " #~ "`now'\n" #~ " -f, --file=DATEFILE come --date una volta per ogni riga di " #~ "DATAFILE\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] stampa una stringa di data/ora nel " #~ "formato\n" #~ " ISO-8601. TIMESPEC=`date' per la sola data,\n" #~ " `hours', `minutes', o `seconds' per la data " #~ "e\n" #~ " l'orario con la precisione indicata.\n" #~ " --iso-8601 senza TIMESPEC userà `date'.\n" #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F come %Y-%m-%d\n" #~ " %g l'anno di due cifre corrispondente al numero della settimana %V\n" #~ " %G l'anno di quattro cifre corrispondente al numero della settimana %" #~ "V\n" #~ msgid "" #~ " %z RFC-822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z fuso orario numerico stile RFC-822 (-0500) (estensione non " #~ "standard)\n" #~ " %Z fuso orario (p.es., EDT), o niente se non è determinabile\n" #~ "\n" #~ "Come comportamento predefinito, date completa i campi numerici con zeri.\n" #~ "GNU date riconosce i seguenti modificatori tra `%' e una direttiva " #~ "numerica.\n" #~ "\n" #~ " `-' (trattino) non riempie il campo\n" #~ " `_' (underscore) riempie il campo con spazi\n" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "troppi argomenti che non sono opzioni: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "" #~ "la stringa di formato non può essere specificata quando si usa l'opzione\n" #~ "--rfc-822 (-R)" #~ msgid "undefined" #~ msgstr "non definita" #~ msgid "cannot get time of day" #~ msgstr "impossibile ottenere l'ora" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie, e Stuart Kemp" #~ msgid "" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ " notrunc non tronca il file di output\n" #~ " ucase cambia le minuscole in maiuscole\n" #~ " swab scambia ogni coppia di byte in input\n" #~ " noerror continua dopo gli errori di lettura\n" #~ " sync completa con NUL fino a cbs ogni blocco in input; quando è " #~ "usato\n" #~ "\"\" con block o unblock completa con spazi invece che con " #~ "NUL\n" #~ msgid "%s+%s records in\n" #~ msgstr "entrati %s+%s record\n" #~ msgid "%s+%s records out\n" #~ msgstr "usciti %s+%s record\n" #~ msgid "truncated records" #~ msgstr "record troncati" #~ msgid "unrecognized option %s=%s" #~ msgstr "opzione %s=%s non riconosciuta" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "una sola conversione tra {ascii,ebcdic,ibm}, {lcase,ucase}, {block," #~ "unblock},\n" #~ "{unblock,sync}" #~ msgid " Type" #~ msgstr " Tipo" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "l'argomento FILE non può essere usato con l'opzione per stampare\n" #~ "il database interno di dircolors" #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie and Jim Meyering" #~ msgid "" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ msgstr "" #~ " -h, --human-readable stampa le dimensioni in formato leggibile (es: " #~ "1K, 23M)\n" #~ " -H, --si idem, ma usa multipli di 1000 invece che di 1024\n" #~ " -k come --block-size=1K\n" #~ " -l, --count-links conta le dimensioni più volte se ci sono hard " #~ "link\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Stampa la STRINGA sullo standard output.\n" #~ "\n" #~ " -n non stampa il newline finale\n" #~ " -e abilita l'interpretazione delle sequenze di caratteri\n" #~ " protette da backspace indicate sotto\n" #~ " -E disabilita l'interpolazione di queste sequenze in " #~ "STRINGA\n" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "attenzione: BRE non portabile: `%s': l'uso di `^' come primo carattere\n" #~ "di un'espressione regolare semplice non è portabile; è ignorato" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [argomenti della riga di comando ignorati]\n" #~ " o: %s OPZIONE\n" #~ "Esce con un codice di stato indicante l'insuccesso.\n" #~ "\n" #~ "I nomi di queste opzioni non possono essere abbreviati.\n" #~ "\n" #, fuzzy #~ msgid "unrecognized option `-%c'" #~ msgstr "opzione %s non riconosciuta" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins and David MacKenzie" #~ msgid "cannot print only user and only group" #~ msgstr "impossibile stampare solo l'utente e solo il gruppo" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "installazione di file multipli, ma l'ultimo argomento %s non è una " #~ "directory" #~ msgid "%s is a directory" #~ msgstr "%s è una directory" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "impossibile ottenere l'orario di %s" #~ msgid "strip failed" #~ msgstr "strip fallito" #, fuzzy #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "intervallo di tempo non valido: `%s'" #, fuzzy #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "intervallo di tempo non valido: `%s'" #, fuzzy #~ msgid "too many non-option arguments" #~ msgstr "troppi argomenti che non sono opzioni: %s%s" #, fuzzy #~ msgid "too few non-option arguments" #~ msgstr "troppi argomenti che non sono opzioni: %s%s" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker e David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: Il file esiste" #~ msgid "create symbolic link %s to %s" #~ msgstr "crea il link simbolico %s a %s" #~ msgid "create hard link %s to %s" #~ msgstr "crea un hard link %s a %s" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Uso: %s [OPZIONE]... OBIETTIVO... [NOME_LINK]\n" #~ " o: %s [OPZIONE]... OBIETTIVO... DIRECTORY\n" #~ " o: %s [OPZIONE]... --target-directory=DIRECTORY OBIETTIVO...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "quando si fanno link multipli l'ultimo argomento deve essere una directory" #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line follow symbolic links on the command " #~ "line\n" #~ msgstr "" #~ " -g come -l, ma non elenca il proprietario\n" #~ " -G, --no-group inibisce la visualizzazione dei gruppi\n" #~ " -h, --human-readable stampa le dimensioni in formato leggibile (es: " #~ "1K, 2G)\n" #~ " --si idem, ma usa multipli di 1000 invece che di " #~ "1024\n" #~ " -H, --dereference-command-line segue i symlink sulla riga di comando\n" #, fuzzy #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "" #~ "le opzioni per specificare la stampa di date sono mutualmente esclusive" #, fuzzy #~ msgid "no files may be specified when using --string" #~ msgstr "" #~ "non è stato indicato il nome di un utente; quando si usa -l bisogna " #~ "indicarne\n" #~ "almeno uno" #, fuzzy #~ msgid "only one argument may be specified when using --check" #~ msgstr "può essere specificato un solo dispositivo" #~ msgid "cannot set permissions of directory %s" #~ msgstr "impossibile impostare i permessi della directory %s" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "impossibile impostare i permessi del fifo %s" #~ msgid "wrong number of arguments" #~ msgstr "numero di argomenti errato" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "i major e minor numbers del dispositivo non possono essere specificati " #~ "per\n" #~ "i file FIFO" #~ msgid "cannot set permissions of %s" #~ msgstr "impossibile impostare i permessi di %s" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie, e Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "quando vengono spostati più file l'ultimo argomento deve essere una " #~ "directory" #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Esegue il COMANDO con una priorità di scheduling modificata.\n" #~ "Se manca il COMANDO stampa la priorità di scheduling corrente. Il valore\n" #~ "predefinito per AGGIUSTAMENTO è 10. Il campo varia tra -20 (priorità\n" #~ "massima) e 19 (minima).\n" #~ "\n" #~ " -n, --adjustment=AGGIUSTAMENTO come -AGGIUSTAMENTO\n" #~ msgid "invalid option `%s'" #~ msgstr "opzione `%s' non valida" #~ msgid "invalid priority `%s'" #~ msgstr "priorità `%s' non valida" #~ msgid "cannot get priority" #~ msgstr "impossibile determinare la priorità" #~ msgid "cannot set priority" #~ msgstr "impossibile impostare la priorità" #, fuzzy #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Richard Stallman e David MacKenzie" #, fuzzy #~ msgid "skip argument" #~ msgstr "manca il file argomento" #, fuzzy #~ msgid "limit argument" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "Gli argomenti validi sono:\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "Sono caratteri validi:" #, fuzzy #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "Richard Mlynarik and David MacKenzie" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Diagnostica costrutti non portabili nel NOME\n" #~ "\n" #~ " -p, --portability verifica per tutti i sistemi POSIX, non solo per " #~ "questo\n" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "il percorso `%s' contiene il carattere non portabile `%c'" #~ msgid "`%s' is not a directory" #~ msgstr "`%s' non è una directory" #~ msgid "directory `%s' is not searchable" #~ msgstr "la directory `%s' non è leggibile" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "il nome `%s' è lungo %ld; supera il limite di %ld" #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "il percorso `%s' è lungo %d; supera il limite di %ld" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #, fuzzy #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "numero del gruppo non valido %s" #, fuzzy #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "argomento in virgola mobile non valido: %s" #, fuzzy #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "argomento intero `%s' non valido" #, fuzzy #~ msgid "%b %e %H:%M %Y" #~ msgstr "%e %b %H:%M" #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David MacKenzie and Richard Mlynarik" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: sequenza di escape non valida" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Uso: %s formato [argomento...]\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "impossibile fare chdir da %s a .." #~ msgid "cannot lstat `.' in %s" #~ msgstr "impossibile fare lstat di `.' in %s" #~ msgid "cannot lstat %s" #~ msgstr "impossibile fare lstat di %s" #~ msgid "cannot chdir from %s to %s" #~ msgstr "impossibile fare chdir da %s in %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "impossibile rimuovere `.' o `..'" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "Rimuove (con unlink) il/i FILE.\n" #~ "\n" #~ " -d, --directory fa unlink della directory, anche se non è vuota\n" #~ " (solo per il super-user)\n" #~ " -f, --force ignora i file non esistenti, non chiede mai " #~ "conferma\n" #~ " -i, --interactive chiede conferma prima di ogni cancellazione\n" #~ " -r, -R, --recursive rimuove ricorsivamente il contenuto delle " #~ "directory\n" #~ " -v, --verbose spiega cosa sta facendo\n" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "quando il valore d'inizio è maggiore del limite,\n" #~ "l'incremento dev'essere negativo" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "quando il valore d'inizio è minore del limite,\n" #~ "l'incremento dev'essere positivo" #, fuzzy #~ msgid "sort size" #~ msgstr "" #~ "#-#-#-#-# trans-it.po (sh-utils 2.0.13) #-#-#-#-#\n" #~ "dimensioni del blocco\n" #~ "#-#-#-#-# trans-it.po (fileutils 4.1.11) #-#-#-#-#\n" #~ "dimensioni dei blocchi" #~ msgid "" #~ "Display file or filesystem status.\n" #~ "\n" #~ " -f, --filesystem display filesystem status instead of file status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Mostra lo stato di un file o filesystem\n" #~ "\n" #~ " -f, --filesystem mostra lo stato del filesystem invece che del " #~ "file\n" #~ " -c --format=FORMATO usa il FORMATO indicato invece di quello " #~ "predefinito\n" #~ " -l, --link segue i link\n" #~ " -t, --terse stampa le informazioni in forma sintetica\n" #, fuzzy #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Joseph Arceneaux and David MacKenzie" #, fuzzy #~ msgid "stdin: read error" #~ msgstr "errore di lettura" #, fuzzy #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "carattere %s non valido nella stringa di modo %s" #, fuzzy #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: numero di passi non valido" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgid "argument expected\n" #~ msgstr "manca un'argomento\n" #~ msgid "integer expression expected %s\n" #~ msgstr "manca un'espressione intera %s\n" #~ msgid "before -lt" #~ msgstr "prima di -lt" #~ msgid "after -lt" #~ msgstr "dopo di -lt" #~ msgid "before -le" #~ msgstr "prima di -le" #~ msgid "after -le" #~ msgstr "dopo di -le" #~ msgid "before -gt" #~ msgstr "prima di -gt" #~ msgid "after -gt" #~ msgstr "dopo di -gt" #~ msgid "before -ge" #~ msgstr "prima di -ge" #~ msgid "after -ge" #~ msgstr "dopo di -ge" #~ msgid "before -ne" #~ msgstr "prima di -ne" #~ msgid "after -ne" #~ msgstr "dopo di -ne" #~ msgid "before -eq" #~ msgstr "prima di -eq" #~ msgid "after -eq" #~ msgstr "dopo di -eq" #~ msgid "after -t" #~ msgstr "dopo -t" #~ msgid "FIXME: ksb and mjb" #~ msgstr "FIXME: ksb and mjb" #~ msgid "too many arguments\n" #~ msgstr "troppi argomenti\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Aggiorna gli orari di accesso e modifica di ogni FILE a quello attuale.\n" #~ "\n" #~ msgid "file arguments missing" #~ msgstr "argomenti dei file mancanti" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [argomenti della riga di comando ignorati]\n" #~ " o: %s OPZIONE\n" #~ "Esce con un codice di stato indicante il successo.\n" #~ "\n" #~ "I nomi di queste opzioni non possono essere abbreviati.\n" #~ "\n" #, fuzzy #~ msgid "only one argument may be specified" #~ msgstr "può essere specificato un solo dispositivo" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " --login print system login processes\n" #~ " (equivalent to SUS -l)\n" #~ msgstr "" #~ " -i, --idle aggiunge il tempo di inattività come ORE:MINUTI\n" #~ " (deprecato, usa -u)\n" #~ " --login stampa i processi di sistema per fare il login\n" #~ " (equivale a -l di SUS)\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "Attenzione: -i sarà rimosso in una versione futura; usa -u" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Attenzione: il significato di '-l' cambierà in una versione futura per\n" #~ "conformarsi a POSIX" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: impossibile trovare un nome di utente per l'UID %u\n" dc3dd-7.1.614/po/tr.po0000644000175000017500000122113111233346647014054 0ustar amedicoamedico# translation of coreutils-5.3.0.tr.po to Turkish # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # Ali Devin Sezer , 2002. # Nilgün Belma Bugüner , 2001, 2002. # Onur Tolga ŞEHİTOĞLU , 1998. # Deniz Akkus Kanca , 2001,2003, 2004. # msgid "" msgstr "" "Project-Id-Version: coreutils 5.3.0\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2005-03-14 04:17+0200\n" "Last-Translator: Deniz Akkus Kanca \n" "Language-Team: Turkish \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.9.1\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin ve David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "%s dizini oluşturulamıyor" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Daha fazla bilgi için `%s --help' yazın.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Kullanımı: %s [İŞLEYEN]...\n" " veya: %s SEÇENEK\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Seçeneklere göre biçemleme ve dönüştürme yaparak bir dosya kopyalar.\n" "\n" " bs=BAYT ibs=BAYT ve obs=BAYT anlamına gelir \n" " cbs=BYTES bir seferde BAYT dönüştürür\n" " conv=ANAHTAR_KELİMELER dosyayı virgülle ayrılmış\n" " anahtar kelime listesine uygun olarak dönüştürür\n" " count=BLOK yalnızca BLOK sayıda girdi bloğu kopyalar\n" " ibs=BAYT bir seferde BAYT bayt okur\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=DOSYA standart girdi yerine DOSYA'dan okur\n" " iflag=BAYRAK virgülle ayrılmış sembol listesine uygun olarak okur\n" " obs=BAYT bir seferde BAYT bayt yazdırır\n" " of=DOSYA standart çıktı yerine DOSYA'ya yazdırır\n" " oflag=BAYRAK virgülle ayrılmış sembol listesine uygun olarak yazdırır\n" " seek=BLOK çıktının başında obs boyunda BLOK sayısında blok atlar\n" " skip=BLOK girdinin başında ibs boyunda BLOK sayısında blok atlar\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOK ve BAYTlar aşağıdaki çarpan sonekleri ile bitebilirler:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, ve T, P, E, Z, Y. için diğerleri\n" "\n" "Her CONV sembolü:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat çıktı dosyasını oluşturmaz\n" " excl çıktı dosyası var ise başarısız olur\n" " notrunc çıktı dosyasını budamaz\n" " ucase küçük harfleri büyük harfe dönüştürür\n" " swab her girdi bayt çiftini takas eder\n" " noerror okuma hatalarından sonra da devam eder\n" " sync her girdi bloğunu NUL karakterle doldurarak ibs boyutuna " "getirir\n" " block veya unblock seçenekleri ile kullanıldığı zaman NUL " "yerine\n" " boşlukla doldurur\n" " fdatasync bitirmeden önce çıktı dosya verisini fiziken yazdırır\n" " fsync fdatasync gibi fakat ek olarak meta veriyi de yazdırır\n" #: src/dc3dd.c:1174 #, fuzzy msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " nocreat çıktı dosyasını oluşturmaz\n" " excl çıktı dosyası var ise başarısız olur\n" " notrunc çıktı dosyasını budamaz\n" " ucase küçük harfleri büyük harfe dönüştürür\n" " swab her girdi bayt çiftini takas eder\n" " noerror okuma hatalarından sonra da devam eder\n" " sync her girdi bloğunu NUL karakterle doldurarak ibs boyutuna " "getirir\n" " block veya unblock seçenekleri ile kullanıldığı zaman NUL " "yerine\n" " boşlukla doldurur\n" " fdatasync bitirmeden önce çıktı dosya verisini fiziken yazdırır\n" " fsync fdatasync gibi fakat ek olarak meta veriyi de yazdırır\n" #: src/dc3dd.c:1181 #, fuzzy msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Her BAYRAK sembolü:\n" "\n" " append ekleme kipi (yalnız çıktı için geçerli)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct veri için direkt I/O kullanır\n" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr " direct veri için direkt I/O kullanır\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync veri için senkron I/O kullanır\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync önceki gibi fakat meta veri için de geçerli\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock bloklamayan I/O kullanır\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" " noctty dosyadan kontrol eden terminali ayarlamaz\n" " terminal from file\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow sembolik bağları izlemez\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 #, fuzzy msgid " binary use binary I/O for data\n" msgstr " direct veri için direkt I/O kullanır\n" #: src/dc3dd.c:1209 #, fuzzy msgid " text use text I/O for data\n" msgstr " direct veri için direkt I/O kullanır\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Çalışan bir `dd' sürecine SIGUSR1 sinyali göndermek, sürecin I/O\n" " istatistiklerini standart hataya yazdırmasını ve kopyalamaya\n" "devam etmesini sağlar.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -USR1 $pid; sleep 1; kill $pid\n" " 18335302+0 kayıt girdi\n" " 18335302+0 kayıt çıktı\n" " 9387674624 bayt (9.4 GB) kopyalandı, 34.6279 saniye, 271 MB/s\n" "\n" "Seçenekler:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Bilinmeyen sistem hatası" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "%s bayt (%s) kopyalandı" msgstr[1] "%s bayt (%s) kopyalandı" #: src/dc3dd.c:2041 #, fuzzy msgid "Infinity B" msgstr "Sonsuz" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g saniye, %s/s\n" #: src/dc3dd.c:2057 #, fuzzy, c-format msgid ", %g s, %s/s\n" msgstr ", %g saniye, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "girdi dosyası %s kapatılıyor" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "çıktı dosyası %s kapatılıyor" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "kullanacak parça ismi kalmadı" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "%s açılıyor" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "BAŞARISIZ" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "geçersiz işleyen %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "`%s' geçerli bir zaman dizgesi değil" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "geçersiz tarih biçemi %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "geçersiz tarih biçemi %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "geçersiz tarih biçemi %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "geçersiz dönüşüm: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "geçersiz girdi bayrağı: %s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "geçersiz çıktı bayrağı: %s" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "geçersiz durum bayrağı: %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "geçersiz sayı %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "`excl' ve `nocreat' seçenekleri birleştirilemez" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "kip ve --reference seçenekleri birleştirilemez" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "kip ve --reference seçenekleri birleştirilemez" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "kip ve --reference seçenekleri birleştirilemez" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "kip ve --reference seçenekleri birleştirilemez" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "kip ve --reference seçenekleri birleştirilemez" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "uyarı: mt_type=0x%2$0lx, %1$s dosyası için lseek çekirdek hatasına " "alternatifler\n" " kullanılıyor -- tür listesi için 'e bakın" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "%s okunuyor" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: aranamadı" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "%s dosya okunurken görece taşması" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "uyarı: başarısız okumadan sonra garip dosya atlaması" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "çekirdek hatası bertaraf edilemedi" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "%s için seçenekler belirtiliyor" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "dizin %s okunuyor" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "dizin %s okunuyor" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "%s'e yazılıyor" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "%s için fdatasync başarısız" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "%s için fsync başarısız" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standart girdi" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standart çıktı" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "%s'nin dosya durumu (fstat) alınamadı" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "çıktı dosyasında %s bayt ileriye gidildi %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii EBCDIC'den ASCII'ye\n" #~ " ebcdic ASCII'den EBCDIC'ye\n" #~ " ibm ASCII'den alternatifli EBCDIC'ye\n" #~ " block satırsonu karakteri ile biten kayıtları cbs boyutuna " #~ "getirmek\n" #~ " için boşlukla doldurur\n" #~ " unblock cbs boyutundaki kayıtlarda sonda yer alan boşlukları " #~ "yenisatır \n" #~ " ile değiştirir\n" #~ " lcase büyük harfleri küçük harfe dönüştürür\n" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "budanmış kayıt" #~ msgstr[1] "budanmış kayıt" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "{ascii, ebcdic, ibm} değerlerinin herhangi ikisi birleştirilemez" # #~ msgid "cannot combine block and unblock" #~ msgstr "`block' ve `unblock' seçenekleri aynı anda kullanılamaz" #~ msgid "cannot combine lcase and ucase" #~ msgstr "" #~ "`lcase' (küçük harf) ve `ucase' (büyük harf) seçenekleri aynı anda " #~ "kullanılamaz" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "uyarı: başarısız okumadan sonra garip dosya atlaması" #~ msgid "error writing %s" #~ msgstr "%s'e yazarken hata" #~ msgid "invalid argument %s for %s" #~ msgstr "%s argümanı `%s' için geçersiz" #~ msgid "ambiguous argument %s for %s" #~ msgstr "%s argümanı `%s' için belirsiz" #~ msgid "Valid arguments are:" #~ msgstr "Geçerli argümanlar:" #, fuzzy #~ msgid "error closing file" #~ msgstr "girdi dosyası %s kapatılıyor" #~ msgid "write error" #~ msgstr "yazma hatası" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "%s'in izinleri ayarlanıyor" #~ msgid "cannot stat %s" #~ msgstr "%s durumlanamadı" # #~ msgid "regular empty file" #~ msgstr "normal boş dosya" # #~ msgid "regular file" #~ msgstr "normal dosya" #~ msgid "directory" #~ msgstr "dizin" # #~ msgid "block special file" #~ msgstr "blok özel dosyası" # #~ msgid "character special file" #~ msgstr "karakter özel dosyası" # #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "sembolik bağ" #~ msgid "socket" #~ msgstr "soket" #~ msgid "message queue" #~ msgstr "ileti kuyruğu" #~ msgid "semaphore" #~ msgstr "semafor" # #~ msgid "shared memory object" #~ msgstr "paylaşımlı bellek nesnesi" # #~ msgid "typed memory object" #~ msgstr "türlenmiş bellek nesnesi" # #~ msgid "weird file" #~ msgstr "garip dosya" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "fifo dosyaları desteklenmiyor" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "fifo dosyaları desteklenmiyor" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "fifo dosyaları desteklenmiyor" #, fuzzy #~ msgid "System error" #~ msgstr "yazma hatası" #, fuzzy #~ msgid "Unknown error" #~ msgstr "Bilinmeyen sistem hatası" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: `%s' seçeneği belirsiz\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: `--%s' seçeneği argümansız kullanılır\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: seçenek `%c%s' argümansız kullanılır\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: `--%s' seçeneği bilinmiyor\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: `%c%s' seçeneği bilinmiyor\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: kuraldışı seçenek -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: geçersiz seçenek -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: seçenek bir argümanla kullanılır -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: `-W %s' seçeneği belirsiz\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: `-W %s' seçeneği argümansız kullanılır\n" #~ msgid "cannot change permissions of %s" #~ msgstr "%s'in erişim izinleri değiştirilemiyor" #~ msgid "cannot create directory %s" #~ msgstr "%s dizini oluşturulamıyor" #~ msgid "memory exhausted" #~ msgstr "bellek tükendi" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "openat: çalışılan dizini kaydedemedi" #~ msgid "failed to return to initial working directory" #~ msgstr "başlangıç çalışma dizinine geri dönülemedi" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: arama (seek) başarısız" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: geçersiz düzenli ifade(regular expression): %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "geçersiz karakter sınıfı `%s'" #, fuzzy #~ msgid "Invalid range end" #~ msgstr "Geçersiz sayfa aralığı `%s'" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "bellek tükendi" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: geçersiz düzenli ifade(regular expression): %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "düzenli ifade (regular expression) aramasında hata oluştu" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "düzenli ifade (regular expression) aramasında hata oluştu" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "düzenli ifade (regular expression) aramasında hata oluştu" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "%s üzerinde döngüsel işlem yapmak tehlikelidir" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "%s üzerinde döngüsel işlem yapmak tehlikelidir (%s gibi)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "" #~ "--no-preserver-root seçeneğini kullanarak bu güvenlik tedbirini aşın" #~ msgid "^[yY]" #~ msgstr "^[eE]" #~ msgid "^[nN]" #~ msgstr "^[hH]" #~ msgid "setting permissions for %s" #~ msgstr "%s'in izinleri ayarlanıyor" # #~ msgid "iconv function not usable" #~ msgstr "iconv işlevi kullanılabilir değil" #~ msgid "iconv function not available" #~ msgstr "iconv işlevi yok" #~ msgid "character out of range" #~ msgstr "karakter kapsamdışı" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "U+%04X yerel karakter kümesine dönüştürülemiyor" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "U+%04X yerel karakter kümesine dönüştürülemiyor: %s" #~ msgid "invalid user" #~ msgstr "kullanıcı geçersiz" #~ msgid "invalid group" #~ msgstr "grup geçersiz" #, fuzzy #~ msgid "invalid spec" #~ msgstr "kullanıcı geçersiz" #~ msgid "Written by %s.\n" #~ msgstr "%s tarafından yazıldı.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "%s ve %s tarafından yazıldı.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "%s, %s ve %s tarafından yazıldı.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "%s, %s, %s \n" #~ "ve %s tarafından yazıldı.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "%s, %s, %s, %s \n" #~ "ve %s tarafından yazıldı.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "%s, %s, %s, %s, \n" #~ "%s ve %s tarafından yazıldı.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "%s, %s, %s, %s, \n" #~ "%s, %s ve %s tarafından yazıldı.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "%s, %s, %s, \n" #~ "%s, %s, %s, \n" #~ "%s ve %s tarafından yazıldı.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "%s, %s, %s, \n" #~ "%s, %s, %s, \n" #~ "%s, %s ve %s tarafından yazıldı.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "%s, %s, %s, \n" #~ "%s, %s, %s, \n" #~ "%s, %s, %s ve başkaları tarafından yazıldı.\n" #~ msgid "invalid argument: %s" #~ msgstr "%s argümanı geçersiz" # #~ msgid "string comparison failed" #~ msgstr "dizge karşılaştırması başarısız" # #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Problemi devre dışı bırakmak için LC_ALL='C' tanımlayın." #~ msgid "The strings compared were %s and %s." #~ msgstr "Karşılaştırılan dizgeler %s ve %s idi." # #, fuzzy #~ msgid "string transformation failed" #~ msgstr "dizge karşılaştırması başarısız" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "`%s' argümanı geçersiz" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "tamsayı argüman olarak `%s' geçersiz" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: `%.*s' sayımı fazla büyük" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version sürüm bilgisini gösterir ve çıkar\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "DOSYA verilmemişse veya DOSYA - ise, standart girdi okunur.\n" #~ msgid "read error" #~ msgstr "okuma hatası" #, fuzzy #~ msgid "invalid input" #~ msgstr "geçersiz girdi bayrağı: %s" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "geçersiz sekme boyutu: %s" #~ msgid "extra operand %s" #~ msgstr "`%s' operandı fazla" # #~ msgid "closing standard input" #~ msgstr "standart girdi kapatılıyor" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s İSİM [SONEK]\n" #~ " veya: %s SEÇENEK\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Dizinlerle ilgili kısımlar kaldırılarak İSİM basılır.\n" #~ "Belirtilmişse, SONEK de kaldırılır.\n" #~ "\n" #~ msgid "missing operand" #~ msgstr "eksik işlenen" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjorn Granlund ve Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Kullanım: %s [SEÇENEK] [DOSYA]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "DOSYA(ları)yı (veya standart girdiyi) standart çıktıya yazar.\n" #~ "\n" #~ " -A, --show-all -vET ile aynı\n" #~ " -b, --number-nonblank boş olmayan çıktı satırlarını numaralandırır\n" #~ " -e -vE ile aynı\n" #~ " -E, --show-ends her satırın sonuna bir $ koyar\n" #~ " -n, --number tüm çıktı satırlarını numaralandırır\n" #~ " -s, --squeeze-blank arka arkaya gelen boş satırları bire indirger\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t -vT ile aynı\n" #~ " -T, --show-tabs TAB karakterlerini ^I olarak gösterir\n" #~ " -u (yoksayılır)\n" #~ " -v, --show-nonprinting LFD ve TAB hariç ^ ve M- nitelemesini " #~ "kullanır\n" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "`%s üzerinde ioctl başarısız" #~ msgid "%s: input file is output file" #~ msgstr "%s: girdi dosyası çıktı dosyası ile aynı" #, fuzzy #~ msgid "Jim Meyering" #~ msgstr "Jim Meyering ve Paul Eggert" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "%s'nın sahipliği değiştirilemedi\n" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "%s'nın öznitelikleri alınamadı" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "%s'nın sahipliği %s olarak değiştirilemedi\n" #~ msgid "cannot access %s" #~ msgstr "%s'e erişilemedi" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "%s dizini okunamıyor" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "%s'nın erişim izinleri değiştiriliyor" #~ msgid "fts_read failed" #~ msgstr "fts_read başarısız oldu" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... SAHİBİ[:[GRUP]] DOSYA...\n" #~ " veya: %s [SEÇENEK]... : GRUP DOSYA...\n" #~ " veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Her DOSYA'nın grup üyeliğini GRUP olarak değiştirir.\n" #~ "--reference ile, her DOSYA'nın grup üyeliğini RDOSYA'nınkine değiştirir.\n" #~ "\n" #~ " -c, --changes verbose seçeneği gibi fakat yalnızca bir " #~ "değişiklik\n" #~ " olduğu zaman bilgi verir.\n" #~ " --dereference her sembolik bağın imlediği dosyayı değiştirir,\n" #~ " sembolik bağı değil (öntanımlı).\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet çoğu hata iletisini bastırır.\n" #~ " --reference=RDOSYA RDOSYA'nın grup değerini kullanır, GRUP " #~ "değerini\n" #~ " değil.\n" #~ " -R, --recursive dizin ve dosyalar üzerinde çevrimli işlem " #~ "yapar.\n" #~ " -v, --verbose işlenen her dosya için bir durum iletisi " #~ "gösterir.\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Aşağıdaki seçenekler, -R seçeneği var iken hiyerarşilerin nasıl " #~ "gezildiğini\n" #~ "etkiler. Eğer birden fazla seçenek kullanılır ise, ancak sonuncusu etkin\n" #~ "olur.\n" #~ "\n" #~ " -H eğer bir komut satırı seçeneği, bir dizine " #~ "verilen\n" #~ " sembolik bağ ise, o dizini gezer\n" #~ " -L bir dizine giden bütün sembolik bağları gezer\n" #~ " -P hiç bir sembolik bağı gezmez (öntanımlı)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference ile ya -H veya -L kullanılmalıdır" #~ msgid "-R -h requires -P" #~ msgstr "-R -h ile -P kullanılmalıdır" #~ msgid "missing operand after %s" #~ msgstr "`%s'den sonra eksik işlenen" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "geçersiz kip: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "%s'nın öznitelikleri alınamadı" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "geçersiz grup %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... GRUP DOSYASI\n" #~ " veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Her DOSYA'nın grup üyeliğini GRUP olarak değiştirir.\n" #~ "--reference ile, her DOSYA'nın grup üyeliğini RDOSYA'nınkine değiştirir.\n" #~ "\n" #~ " -c, --changes verbose seçeneği gibi fakat yalnızca bir " #~ "değişiklik\n" #~ " olduğu zaman bilgi verir.\n" #~ " --dereference her sembolik bağın imlediği dosyayı değiştirir,\n" #~ " sembolik bağı değil (öntanımlı).\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference her sembolik bağın kendisini etkiler, bağın " #~ "imlediği\n" #~ " dosyayı değil. (yalnızca sembolik bağ " #~ "sahibiyetini\n" #~ " değiştirebilen sistemlerde bulunur.\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root `/' için özel işlem yapma (öntanımlı)\n" #~ " --preserve-root `/' üzerinde döngüsel işlem yapma\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet çoğu hata iletisini bastırır.\n" #~ " --reference=RDOSYA RDOSYA'nın grup değerini kullanır, GRUP " #~ "değerini\n" #~ " değil.\n" #~ " -R, --recursive dizin ve dosyalar üzerinde çevrimli işlem " #~ "yapar.\n" #~ " -v, --verbose işlenen her dosya için bir durum iletisi " #~ "gösterir.\n" #~ "\n" #~ msgid "getting new attributes of %s" #~ msgstr "%s'nın yeni öznitelikleri alınıyor" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "ne sembolik bağ %s ne de imlediği dosya değiştirilmedi\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "%s'nin kipi %04lo (%s) olarak değiştirildi\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "%s'nın kipi %04lo (%s) olarak değiştirilemedi\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "%s'nin kipi %04lo (%s) olarak korundu\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "%s sembolik bağı oluşturulamadı" #~ msgid "changing permissions of %s" #~ msgstr "%s'nın erişim izinleri değiştiriliyor" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s'in izinleri ayarlanıyor" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... KİP[,KİP]... DOSYA...\n" #~ " veya: %s [SEÇENEK]... SEKİZLİK-KİP DOSYA\n" #~ " veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Her DOSYA'nın kipini KİP olarak değiştirir.\n" #~ "\n" #~ " -c, --changes verbose gibi, fakat yalnızca değişiklikleri " #~ "bildirir\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root `/' için özel işlem yapma (öntanımlı)\n" #~ " --preserve-root `/' üzerinde döngüsel işlem yapma\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet çoğu hata mesajını bastırır\n" #~ " -v, --verbose işlenen her dosya için bir durum belirtir\n" #~ " --reference=REFDOSYA belirtilen KİP değerini değil,\n" #~ " REFDOSYA'nın kipini kullanır\n" #~ " -R, --recursive Yinelemeli olarak dosya ve dizinleri işler\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "kip ve --reference seçenekleri birleştirilemez" #~ msgid "invalid mode: %s" #~ msgstr "geçersiz kip: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "%s'nin sahipliği %s'e değiştirildi\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "%s'nin grup üyeliği %s'e değiştirildi\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "%s'in sahipliği değişmedi\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "%s'nın sahipliği %s olarak değiştirilemedi\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "%s'in grup üyeliği %s olarak değiştirilemedi\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "%s'nın sahipliği değiştirilemedi\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "%s'nin sahipliği %s olarak korundu\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "%s'in grubu %s olarak korundu\n" #~ msgid "ownership of %s retained\n" #~ msgstr "%s'nin sahipliği korundu\n" #~ msgid "cannot dereference %s" #~ msgstr "%s izlenemedi" #~ msgid "changing ownership of %s" #~ msgstr "%s'in sahipliği değiştiriliyor" #~ msgid "changing group of %s" #~ msgstr "%s'in grup üyeliği değiştiriliyor" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... [SAHİP][:[GRUP]] DOSYA...\n" #~ " veya: %s [SEÇENEK]... --reference=REFDOSYA DOSYA...\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Her DOSYA'nın sahibi ve/veya grubunu SAHİP ve/veya GRUP olarak " #~ "değiştirir.\n" #~ "--reference ile, her DOSYA'nın sahibini ve grup üyeliğini RDOSYA'nınkine\n" #~ "değiştirir.\n" #~ "\n" #~ " -c, --changes verbose seçeneği gibi fakat yalnızca bir " #~ "değişiklik\n" #~ " olduğu zaman bilgi verir.\n" #~ " --dereference her sembolik bağın imlediği dosyayı değiştirir,\n" #~ " sembolik bağı değil (öntanımlı).\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=ŞİMDİKİ_SAHİP:ŞİMDİKİ_GRUP\n" #~ " her dosyanın sahibini ve/veya grubunu eğer " #~ "şimdiki\n" #~ " sahip ve/veya grup burada verilen değerlere eş " #~ "ise\n" #~ " değiştirir. Bu değerlerin biri verilmeyebilir, " #~ "o \n" #~ " takdirde, verilmeyen değere eşleme yapılmaz.\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet çoğu hata iletisini bastırır.\n" #~ " --reference=RDOSYA RDOSYA'nın sahip ve grup değerini kullanır, " #~ "belirtilen\n" #~ " SAHİP:GRUP değerlerini değil\n" #~ " -R, --recursive dizin ve dosyalar üzerinde çevrimli işlem " #~ "yapar.\n" #~ " -v, --verbose işlenen her dosya için bir durum iletisi " #~ "gösterir.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Sahip değeri yok ise sahip değiştirilmez. Grup değeri yok ise \n" #~ "değiştirilmez, fakat bir sembolik bir SAHİP'ten sonra':' ile işaret " #~ "edilmiş\n" #~ "ise kullanıcının grubuna değiştirilir. SAHİP ve GRUP değerleri \n" #~ "sembolik olabileceği gibi sayısal değerler de olabilir.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s [SEÇENEK] YENİKÖK [KOMUT...]\n" #~ " veya: %s SEÇENEK\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "KOMUT'u kök dizin YENİKÖK olarak çalıştırır.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Eğer komut verilmemişse, ``${SHELL} -i''yi çalıştırır (öntanımlı: /bin/" #~ "sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "kök dizini %s olarak değiştirilemedi" #~ msgid "cannot chdir to root directory" #~ msgstr "kök dizinine geçilemedi" #~ msgid "cannot run command %s" #~ msgstr "%s komutu çalıştırılamadı" #~ msgid "%s: file too long" #~ msgstr "%s: dosya fazla uzun" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Kullanım: %s [DOSYA]...\n" #~ " veya: %s [SEÇENEK]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Her DOSYA'nın CRC sağlama toplamlarını ve bayt sayılarını yazdırır.\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman ve David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Kullanım: %s [SEÇENEK]... DOSYA1 DOSYA2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Sıralı dosyalar DOSYA1 ve DOSYA2'yi satır satır karşılaştırır.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Seçenek verilmemişse üç sütuna çıktı verir. Birinci sütun yalnızca " #~ "DOSYA1'de\n" #~ "bulunan satırları, ikinci sütun yalnızca DOSYA2'de bulunan satırları,\n" #~ "üçüncü sütun her iki dosyada da bulunan satırları içerir.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 salt DOSYA1'de yer alan satırları yazmaz\n" #~ " -2 salt DOSYA2'de yer alan satırları yazmaz\n" #~ " -3 her iki dosyada da yer alan satırları yazmaz\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "%s'in izinleri ayarlanıyor" #~ msgid "failed to preserve ownership for %s" #~ msgstr "%s'nin sahiplik bilgileri korunamadı" #~ msgid "failed to lookup file %s" #~ msgstr "%s dosyasına bakılamadı" #~ msgid "failed to preserve authorship for %s" #~ msgstr "%s'nin yazar bilgileri korunamadı" #~ msgid "cannot open %s for reading" #~ msgstr "%s okumak için açılamadı" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "kopyalandığı esnada değiştirildiği için %s dosyası atlandı" #, fuzzy #~ msgid "failed to get file system create context" #~ msgstr "standart hatanın kopyası, exec sonunda kapanmaya ayarlanamadı" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "%s'in grup üyeliği %s olarak değiştirilemedi\n" #~ msgid "cannot remove %s" #~ msgstr "%s silinemedi" #~ msgid "removed %s\n" #~ msgstr "%s silindi\n" #~ msgid "cannot create regular file %s" #~ msgstr "normal dosya %s oluşturulamadı" #~ msgid "cannot lseek %s" #~ msgstr "%s'de lseek yapılamadı" #~ msgid "writing %s" #~ msgstr "%s yazılıyor" #~ msgid "preserving times for %s" #~ msgstr "%s'in zaman damgaları korundu" #~ msgid "closing %s" #~ msgstr "%s kapatılıyor " #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: %s'ın, %04lo kipi gözardı edilerek, üzerine yazılsın mı?" #~ msgid "%s: overwrite %s? " #~ msgstr "%s: %s'ın üzerine yazılsın mı?" #~ msgid " (backup: %s)" #~ msgstr " (yedek: %s)" #~ msgid "omitting directory %s" #~ msgstr "%s dizini atlanıyor" #~ msgid "warning: source file %s specified more than once" #~ msgstr "uyarı: %s kaynak dosyası bir defadan çok belirtilmiş" #~ msgid "%s and %s are the same file" #~ msgstr "%s ve %s aynı dosya" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "Dizin olmayan %s'un üzerine dizin %s yazılamaz" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "yeni oluşturulmuş %s'un üzerine %s yazılamaz" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "Dizin %s'ın üzerine dizin olmayan bir dosya yazılamaz" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "bir dizin, dizin olmayanın üzerine taşınamaz: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "%s'ı yedeklemek kaynağı yok eder; %s taşınmadı" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "%s'ı yedeklemek kaynağı yok eder; %s kopyalanmadı" #~ msgid "cannot backup %s" #~ msgstr "%s yedeklenemedi" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "yeni oluşturulmuş %s'un üzerine %s yazılamaz" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "bir dizin, %s, kendi içine kopyalanamaz, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "Dizine sabit bağ oluşturulmayacak: sabit bağ %s, dizin %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "%s sabit bağı %s'e bağlanamadı" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "%s kendi alt dizinine taşınamaz, %s" #~ msgid "cannot move %s to %s" #~ msgstr "%s %s'e taşınamadı" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "aygıt arası taşıma başarısız: %s'yı %s'a; hedef silinemedi" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "%s'nın öznitelikleri alınamadı" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "çevrimli sembolik bağ %s kopyalanamaz" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: göreceli sembolik bağlar yalnızca mevcut dizinde oluşturulabilir" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "sembolik bağ %s, %s'e bağlanamadı" #~ msgid "cannot create link %s" #~ msgstr "%s bağı oluşturulamadı" #~ msgid "cannot create fifo %s" #~ msgstr "%s fifosu oluşturulamadı" #~ msgid "cannot create special file %s" #~ msgstr "özel dosya %s oluşturulamadı" #~ msgid "cannot read symbolic link %s" #~ msgstr "%s sembolik bağı okunamadı" #~ msgid "cannot create symbolic link %s" #~ msgstr "%s sembolik bağı oluşturulamadı" #~ msgid "%s has unknown file type" #~ msgstr "%s bilinmeyen dosya türüne sahip" #~ msgid "cannot un-backup %s" #~ msgstr "%s yedeklemesi geri alınamadı" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (yedeklemeyi geri al)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... [-T] KAYNAK HEDEF\n" #~ " veya: %s [SEÇENEK]... KAYNAK... DİZİN\n" #~ " veya: %s [SEÇENEK]... -t DİZİN KAYNAK...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "KAYNAK'ı HEDEF'e kopyalar veya birden fazla KAYNAK'ı DİZİN'e kopyalar.\n" #~ "\n" # #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Uzun seçenekler için zorunlu olan argümanlar kısa seçenekler için de " #~ "zorunludur.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive -dpR ile aynı\n" #~ " --backup[=KONTROL] mevcut olan her hedef dosyanın yedeğini " #~ "alır.\n" #~ " -b --backup gibi, fakat argüman kabul etmez.\n" #~ " --copy-contents çevrimli olduğu zaman özel dosyaların " #~ "içeriğini kopyalar\n" #~ " -d --no-dereference --preserve=link ile aynı\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " --no-dereference sembolik bağları izlemez\n" #~ " -f, --force eğer mevcut bir hedef dosya açılamaz ise, " #~ "onu\n" #~ " siler ve tekrar dener\n" #~ " -i, --interactive üzerine yazmadan önce sorar\n" #~ " -H komut satırında sembolik bağları izler\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -l, --link dosyaları kopyalamak yerine sembolik bağ\n" #~ " oluşturur.\n" #~ " -L, --dereference sembolik bağları hep izler\n" #~ " -p --preserve=mode,ownership,timestamps ile " #~ "aynı\n" #~ " --preserve[=ÖZNİT_LST] belirtilen öznitelikleri korur\n" #~ " öntanımlı öznitelikler:\n" #~ " mode,ownership,timestamps\n" #~ " (kip,sahibi,zaman damgaları)\n" #~ " diğer öznitelikler:\n" #~ " links,all\n" #, fuzzy #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=ÖZNT_LİST belirtilen öznitelikleri korumaz\n" #~ " --parents kaynak yolunu DİZİN'in sonuna ekler\n" #~ " -P --no-dereference ile aynı\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive yinelemeli kopyalar\n" #~ " --remove-destination bütün mevcut hedef dosyaları açmayı " #~ "denemeden\n" #~ " siler (--force ile karşılaştır)\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --reply={yes,no,query} mevcut bir hedef dosya için sorgulamanın " #~ "nasıl\n" #~ " yapılacağını ayarlar: \n" #~ " yes=evet, no=hayır, query=sor\n" #~ " --sparse=ZAMAN seyrek dosyaların oluşumunu kontrol eder\n" #~ " --strip-trailing-slashes bütün KAYNAK argümanlarının sonundan " #~ "kesmeleri\n" #~ " (/) kaldırır\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link kopyalama yerine sembolik bağ oluşturur\n" #~ " -S, --suffix=SONEK normal yedekleme soneki yerine SONEK'i\n" #~ " kullanır\n" #~ " -t, --target-directory=DİZİN bütün KAYNAK argümanlarını DİZİN'e taşır\n" #~ " -T, --no-target-directory HEDEF'i normal bir dosya kabul eder\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update yalnızca KAYNAK dosya hedef dosyadan daha " #~ "yeni\n" #~ " olduğu veya hedef dosya mevcut olmadığı " #~ "zaman\n" #~ " kopyalar\n" #~ " -v, --verbose ne yapıldığını anlatır\n" #~ " -x, --one-file-system bu dosya sisteminde kalır\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Öntanımlı olarak seyrek KAYNAK dosyalar kaba bir yöntemle bulunur \n" #~ "ve ilgili HEDEF dosya da seyrek olarak oluşturulur. \n" #~ "Bu davranış --sparse=auto seçeneği ile belirtilir. \n" #~ "Eğer --sparse=always seçilir ise KAYNAK dosya yeterli \n" #~ "uzunlukta sıfır bayt dizisi içerdiği zaman seyrek HEDEF dosya \n" #~ "oluşturulur\n" #~ "Hiçbir zaman seyrek dosya oluşturmamak için --sparse=never seçeneğini \n" #~ "kullanın.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Yedekleme soneki eğer --suffix veya SIMPLE_BACKUP_SUFFIX ile " #~ "belirtilmemiş ise\n" #~ " '~'dir. Yedekleme kontrol metodu --backup seçeneği ile veya \n" #~ "VERSION_CONTROL çevre değişkeninden belirlenebilir. Geçerli değerler:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off hiç yedekleme yapma (--backup kullanılsa bile)\n" #~ " numbered, t numaralanmış yedekleme yap\n" #~ " existing, nil eğer numaralanmış yedekler var ise numaralanmış, yoksa " #~ "basit\n" #~ " simple, never her zaman basit yedekleme yap\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Özel bir durum olarak, cp force ve backup seçenekleri verilmiş ve \n" #~ "KAYNAK ve HEDEF değişkenleri birbirine eşit olup\n" #~ "mevcut, normal bir dosyayı gösteriyorlarsa KAYNAK'ın bir yedeğini alır.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "%s'in zaman damgaları korunamadı" #~ msgid "failed to preserve permissions for %s" #~ msgstr "%s'in izinleri korunamadı" #~ msgid "cannot make directory %s" #~ msgstr "dizin %s oluşturulamadı" #~ msgid "%s exists but is not a directory" #~ msgstr "%s var ama bir dizin değil" #~ msgid "accessing %s" #~ msgstr "%s'e erişiliyor" #~ msgid "missing file operand" #~ msgstr "dosya işleyeni eksik" #~ msgid "missing destination file operand after %s" #~ msgstr "%s sonrasında hedef dosya işleyeni eksik" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "--target-directory (-t) ve --no-target-directory (-T) birleştirilemez" #~ msgid "target %s is not a directory" #~ msgstr "hedef %s bir dizin değil" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "dosya yolları korunurken hedef bir dizin olmalı" #, fuzzy #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "--allow-missing seçeneği kaldırılacaktır; yerine --retry kullanın" #~ msgid "multiple target directories specified" #~ msgstr "birden fazla hedef dizin belirtilmiş" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "hem sabit hem sembolik bağ oluşturulamaz" #~ msgid "backup type" #~ msgstr "yedekleme türü" #~ msgid "input disappeared" #~ msgstr "girdi yok oldu" #~ msgid "%s: line number out of range" #~ msgstr "%s: satır sayısı kapsam dışı" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: `%s': satır sayısı kapsam dışı" #~ msgid " on repetition %s\n" #~ msgstr " %s tekrarda\n" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: `%s': eşleşme bulunamadı" #~ msgid "error in regular expression search" #~ msgstr "düzenli ifade (regular expression) aramasında hata oluştu" #, fuzzy #~ msgid "write error for %s" #~ msgstr "`%s' için yazım hatası" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: ayraçtan sonra tamsayı olmalı" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: tekrar sayımında `}' gerekli" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: `{' ve `}' arasına tamsayı yazılmalı" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: kapatan ayraç `%c' eksik" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: geçersiz düzenli ifade(regular expression): %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: geçersiz kalıp" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: satır sayısı 0'dan büyük olmalı" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "satır numarası `%s' bir önceki satır numarası %s den daha küçük" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "uyarı: satır numarası `%s' bir önceki satır numarası ile aynı" #~ msgid "invalid format width" #~ msgstr "geçersiz biçem genişliği" #~ msgid "invalid format precision" #~ msgstr "geçersiz biçem kesinliği" #~ msgid "missing conversion specifier in suffix" #~ msgstr "sonekte dönüşüm belirleyicisi eksik" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "sonekte geçersiz dönüşüm belirleyicisi: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "sonekte geçersiz dönüşüm belirleyicisi: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "sonekte gereğinden fazla %% dönüşüm belirleyicisi var" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "sonekte %% dönüşüm belirleyicisi eksik" #~ msgid "%s: invalid number" #~ msgstr "%s: geçersiz sayı" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Kullanım: %s [SEÇENEK]... DOSYA KALIP...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "KALIP(lar)la ayrılmış DOSYA parçalarını `xx01', `xx02', ... isimli " #~ "dosyalara,\n" #~ "her parçanın bayt sayısını standart çıktıya yazar.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=BİÇEM %02d yerine sprintf BİÇEM'ini kullanır\n" #~ " -f, --prefix=ÖNEK `xx' yerine ÖNEKi kullanır\n" #~ " -k, --keep-files hata olduğunda çıktı dosyalarını silmez\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=BASAMAK BASAMAK sayısında basamak kullanır (-n \n" #~ " kullanılmadıkça 2 ) \n" #~ " -s, --quiet, --silent çıktı dosyalarının bayt büyüklüklerini " #~ "vermez\n" #~ " -z, --elide-empty-files boş çıktı dosyalarını siler\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Eğer DOSYA - olarak verilmişse, standart girdiyi okur. Her KALIP, " #~ "aşağıdaki\n" #~ "seçeneklerden olabilir:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " SAYI verilen SAYI satırına kadar (SAYI satırı hariç) " #~ "kopyalar\n" #~ " /DÜZİF/[GÖRELİ] kalıba uyan satıra kadar (uyan satır hariç) " #~ "kopyalar\n" #~ " (DÜZİF = düzenli ifade(regular expression)) \n" #~ " %DÜZİF%[GÖRELİ] uyan satıra kadar (uyan satır hariç) atlar\n" #~ " {SAYI} bir önceki kalıbı SAYI kere tekrar eder\n" #~ " {*} bir önceki kalıbı mümkün olduğu kadar tekrar eder\n" #~ "\n" #~ "Bir satır GÖRELİ konumu, `+' veya `-' ve ardından bir pozitif sayıdan " #~ "oluşur.\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Her DOSYA'daki satırların seçilen bölümlerini standart çıktıya yazdırır.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LİSTE sadece bu baytları gösterir\n" #~ " -c, --characters=LİSTE sadece bu karakterleri gösterir\n" #~ " -d, --delimiter=AYRAÇ Alan ayracı olarak TAB yerine AYRAÇ'ı kullanır\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LİSTE sadece bu alanları gösterir; ayrıca, eğer -s\n" #~ " seçeneği belirtilmemişse, içinde ayraç olmayan " #~ "tüm\n" #~ " satırları yazdırır.\n" #~ " -n (yoksayılır)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement seçili bayt, karakter veya alan kümelerini " #~ "tümler\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited içinde ayraç olmayan alanları yazdırmaz\n" #~ " --output-delimeter=DİZGE\n" #~ " çıktı ayracı olarak DİZGE'yi kullanır \n" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-f -b ve -c den yalnız biri kullanılabilir. Her LİSTE bir aralık, veya \n" #~ "virgüllerle ayrılmış birden fazla aralıktan oluşmalıdır. Seçilen girdi\n" #~ "okunduğu sırada yazılır ve yalnızca bir defa yazılır. Her aralık\n" #~ "aşağıdakilerden biri olmalıdır:\n" #~ "\n" #~ " N birden başlanarak sayıldığında N. bayt, karakter veya alan\n" #~ " N- N. bayt, karakter, veya alandan satırın sonuna kadar\n" #~ " N-M N ile M (dahil) arasında olan bayt, karakter veya alanlar\n" #~ " -M 1 ile M (dahil) arasında olan bayt, karakter veya alanlar\n" #~ "\n" #~ "DOSYA belirtilmediğinde veya - olarak verildiğinde standart girdiden " #~ "okur.\n" #~ msgid "invalid byte or field list" #~ msgstr "geçersiz bayt veya alan listesi" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "geçersiz genişlik seçeneği: %s" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "Geçersiz sayfa aralığı `%s'" #~ msgid "byte offset %s is too large" #~ msgstr "bayt görecesi %s çok büyük" #~ msgid "field number %s is too large" #~ msgstr "alan numarası %s çok büyük" #~ msgid "only one type of list may be specified" #~ msgstr "sadece bir liste türü belirtilebilir" #~ msgid "the delimiter must be a single character" #~ msgstr "ayraç tek karakter olmalıdır" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "bayt, karakter ya da alan listesi belirtilmelidir" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "sadece alanlar üzerinde işlem yaparken bir ayraç belirtilebilir" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "ayrılmamış alanları atlamak sadece alanlar üzerinde işlem\n" #~ "\tyapılırken anlamlı" #~ msgid "missing list of fields" #~ msgstr "alan listesi eksik" #~ msgid "missing list of positions" #~ msgstr "konum listesi eksik" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Kullanımı: %s [SEÇENEK]... [+BİÇEM]\n" #~ " veya: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Verilen BİÇEMde zamanı gösterir, ya da sistem zamanını değiştirir.\n" #~ "\n" #~ " -d, --date=DİZGE DIZGE ile tanımlanan zamanı gösterir, şimdiki " #~ "zamanı\n" #~ " değil\n" #~ " -f, --file=DOSYA DOSYAnın her satırı için --date uygulanır\n" #~ " --iso-8601[=BİRİM] ISO-8601 uyumlu tarih/zaman dizgesi gösterir.\n" #~ " BİRİM=`date' sadece tarihi (öntanımlı),\n" #~ " `hours', `minutes', `seconds' veya `ns' ile " #~ "tarih ve\n" #~ " zaman 'saat', 'dakika', 'saniye' veya " #~ "nanosaniye\n" #~ " hassasiyetinde gösterilir.\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=DOSYA DOSYAnın son değiştirildiği zamanı gösterir\n" #~ " -R, --rfc-822 RFC-2822 uyumlu tarih ve zaman gösterir\n" #~ " -s, --set=DİZGE sistem zamanını DİZGE ile belirtilen zamana " #~ "ayarlar\n" #~ " -u, --utc, --universal zamanı Greenwich saatiyle gösterir ya da " #~ "değiştirir\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "BİÇEM çıktıyı kontrol eder. İkinci biçem için tek geçerli seçenek\n" #~ "Greenwich saatini belirtir. Bilinen biçemler:\n" #~ "\n" #~ " %% sabit %\n" #~ " %a yerelin kısaltılmış gün adı (Paz..Cmt)\n" #, fuzzy #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A yerelin uzun gün adı, değişken uzunluk (Pazar..Cumartesi)\n" #~ " %b yerelin kısaltılmış ay adı (Oca..Ara)\n" #~ " %B yerelin uzun ay adı, değişken uzunluk (Ocak..Aralık)\n" #~ " %c yerelin tarih ve zamanı (Cmt Kas 04 12:02:33 EEST 1989)\n" #, fuzzy #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C yüzyıl (yıl yüze bölünüp tamsayıya budanır) [00-99]\n" #~ " %d ayın günü (01..31)\n" #~ " %D tarih (aa/gg/yy)\n" #~ " %e boşlukla yastıklanmış ayın günü ( 1..31)\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h %b ile aynı\n" #~ " %H saat (00..23)\n" #~ " %I saat (01..12)\n" #~ " %j yılın günü (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k saat ( 0..23)\n" #~ " %l saat ( 1..12)\n" #~ " %m ay (01..12)\n" #~ " %M dakika (00..59)\n" #, fuzzy #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n satırsonu karakteri\n" #~ " %N nanosaniye (000000000..999999999)\n" #~ " %p büyük harfli yerel ÖÖ/öS belirteci\n" #~ " %P küçük harfli yerel öö/ös belirteci\n" #~ " %r 12 saatlik zaman (ss:dd:SS [ÖÖ]S])\n" #~ " %R 24 saatlik zaman (ss:dd)\n" #~ " %s `00:00:00 1970-01-01 UTC' saatinden beri saniye sayısı (bir GNU " #~ "eklentisi)\n" # #, fuzzy #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S saniye (00..60); 60, fazla bir saniyeyi belirtebilmek için " #~ "gereklidir\n" #~ " %t yatay sekme\n" #~ " %T 24 saatlik zaman (ss:dd:SS)\n" #~ " %u haftanın günü (1..7); 1, pazartesiye tekabül eder\n" #, fuzzy #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U yılın haftası, pazar günü haftanın ilk günü kabul edilir (00..53)\n" #~ " %V yılın haftası, pazartesi günü haftanın ilk günü kabul edilir " #~ "(01..53)\n" #~ " %w haftanın günü (0..6); 0, pazar gününe tekabül eder\n" #~ " %W yılın haftası, pazartesi günü haftanın ilk günü kabul edilir " #~ "(00..53)\n" #, fuzzy #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x yerelin tarih betimlemesi (gg/aa/yy)\n" #~ " %X yerelin zaman betimlemesi (%H:%M:%S)\n" #~ " %y yılın son iki basamağı (00..99)\n" #~ " %Y yıl (1970...)\n" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "birden fazla çıktı dosyası belirtilmiş" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "tarih belirten bu seçenekler birlikte kullanılamaz" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "zamanı ayarlamak ve göstermek için bu seçenekler birlikte kullanılamaz" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "`%s' argümanı bir `+' ile başlamalı;\n" #~ "Zamanı belirtmek için bir seçenek kullanırken, seçenek olmayan\n" #~ "her argüman `+' ile başlayan bir biçem dizgesi olmalıdır." #~ msgid "cannot set date" #~ msgstr "tarih ayarlanamadı" #~ msgid "time %s is out of range" #~ msgstr "%s zamanı aralık dışı" #~ msgid "Filesystem Type" #~ msgstr "Dosyasistemi Türü" #~ msgid "Filesystem " #~ msgstr "Dosyasistemi " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr "Dosyaindeksi Dolu Boş Kull%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Boy Dolu Boş Kull%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Boy Dolu Boş Kull%%" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %4s-blok Dolu Boş Kapasite" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-blok Dolu Boş Kull%%" #~ msgid " Mounted on\n" #~ msgstr "Bağlanılan yer\n" #~ msgid "cannot get current directory" #~ msgstr "çalışılan dizin alınamadı" #~ msgid "cannot change to directory %s" #~ msgstr "%s dizinine geçilemedi" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "şimdiki dizin durumlanamadı (şimdi %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Üzerinde DOSYA'ların bulunduğu dosyasistemi hakkında bilgi gösterir,\n" #~ "veya öntanımlı olarak bütün dosyasistemleri hakkında bilgi gösterir.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 0 bloğa sahip dosyasistemlerini de dahil eder.\n" #~ " -b --block-size=BOY BOY baytlık bloklar kullanır\n" #~ " -h, --human-readable boyutları insan okuyabilir biçemde gösterir\n" #~ " (örn., 1K 234M 2G)\n" #~ " -H, --si yukarıdaki gibi fakat 1000'in katlarını " #~ "kullanır,\n" #~ " 1024'ün değil.\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes blok kullanımı yerine idüğüm bilgilerini " #~ "gösterir\n" #~ " -k, --block-size=1024 gibi\n" #~ " -l, --local listelemeyi yerel dosyasistemleri ile sınırlar\n" #~ " --no-sync (öntanımlı) kullanım bilgisini almadan önce sync\n" #~ " yapmaz\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability POSIX çıktı biçemini kullanır\n" #~ " --sync kullanım bilgisini almadan önce sync yapar\n" #~ " -t, --type=TÜR bilgi göstermeyi TÜR türünde dosyasistemleri ile\n" #~ " sınırlar\n" #~ " -T, --print-type dosyasistemi türünü gösterir\n" #~ " -x, --exclude-type=TÜR bilgi göstermeyi TÜR türünde olmayan\n" #~ " dosyasistemleri ile sınırlar\n" #~ " -v (yoksayılır)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "BOY aşağıdakilerin biri (veya aşağıdakilerin biri ile sonlanan bir " #~ "tamsayı)\n" #~ "olabilir:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, ve G, T, P, E, Z, Y için " #~ "diğerleri.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "dosyasistem türü %s hem seçili hem dışarlanmış" #~ msgid "Warning: " #~ msgstr "Uyarı: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%s bağlanmış dosyasistemleri tablosu okunamadı" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "LS_COLORS çevre değişkenini değiştirmek için çıktı komutları.\n" #~ "\n" #~ "Çıktı formatını belirler:\n" #~ " -b, --sh, --bourne-shell LS_COLORS'u belirlemek için Bourne kabuk " #~ "komutları\n" #~ " çıktılar\n" #~ " -c, --csh, --c-shell LS_COLORS'u belirlemek için C kabuk " #~ "komutları\n" #~ " çıktılar\n" #~ " -p, --print-database öntanımlıları çıktılar\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Eğer DOSYA belirtilmiş ise, hangi dosya türü ve uzantılar için hangi " #~ "renklerin\n" #~ "kullanılacağı dosyadan okunur. Eğer DOSYA belirtilmemiş ise önceden " #~ "derlenmiş\n" #~ "bir veritabanı kullanılır. Bu dosyaların biçemi için, \n" #~ "'dircolors --print-database' komutunu çalıştırın.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s: %lu geçersiz satır; ikinci dizgecik yok" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s: %lu: tanınmayan anahtar kelime %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "dircolors çıktısının hem içsel veritabanına, hem de bir kabuk sentaksına\n" #~ "göre olması çelişkili" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "Dosya işleyenleri --print-database (-p) ile birleştirilemez" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "SHELL çevre değişkeni yok ve kabuk türü seçeneği verilmemiş" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s İSİM\n" #~ " veya: %s SEÇENEK\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "İSİM'min sonundaki / kaldırılarak yazdırılır; eğer İSİM içinde herhangi\n" #~ "bir / içermiyorsa, `.' basılır (içinde bulunulan dizin anlamında).\n" #~ "\n" #~ " --help bu iletiyi gösterir ve çıkar\n" #~ " --version sürüm bilgilerini gösterir ve çıkar\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... DOSYA\n" #~ " veya: %s [SEÇENEK]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Her DOSYA'nın disk kullanımını özetler, dizinler için çevrimli çalışır.\n" #~ "\n" # #, fuzzy #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all sayıları bütün dosyalar için yazar, yalnız " #~ "dizinler\n" #~ " için değil\n" #~ " --apparent-size dosya boylarının görünen boylarını yazar, diskte\n" #~ " kapladığı alanı değil. Görünen boy genelde daha \n" #~ " küçüktür, fakat `seyrek' dosyalarda boşluklar, " #~ "iç\n" #~ " parçalanmalar, endirekt bloklar gibi şeyler " #~ "yüzünden\n" #~ " daha büyük olabilir.\n" #~ " -B, --block-size=BOY BOY boyunda bloklar kullanır\n" #~ " -b, --bytes boyları bayt cinsinden yazar\n" #~ " -c, --total toplam hesaplar\n" #~ " -D, --dereference-args sembolik bağ olduğu zaman DOSYA'ları takip " #~ "eder\n" #, fuzzy #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F F dosyasında isimleri belirtilen, sonu NUL ile " #~ "biten\n" #~ " dosyaların disk kullanımı hakkında bilgi verir\n" #~ " -H --si gibi, fakat yakında --dereference-args (-D) " #~ "ile\n" #~ " aynı hale geleceğine dair uyarı verir\n" #~ " -h, --human-readable boyutları insan okuyabilir biçemde gösterir\n" #~ " (örn., 1K 234M 2G)\n" #~ " --si -h gibi fakat 1000'in katlarını kullanır, " #~ "1024'ün\n" #~ " değil.\n" #~ " -k --block-size=1K gibi\n" #~ " -l, --count-links Eğer sabit bağ var ise, boyları toplama tekrar " #~ "alır\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference bütün sembolik bağları takip eder\n" #~ " -P, --no-dereference sembolik bağları takip etmez (öntanımlı)\n" #~ " -0, --null her çıktı satırını yenisatır yerine 0 bayt \n" #~ " ile sonlandırır\n" #~ " -S, --separate-dirs altdizinlerin boyutunu dahil etmez\n" #~ " -s, --summarize her argüman için yalnızca toplamı gösterir\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system başka dosyasistemlerinde olan dizinleri atlar\n" #~ " -X DOSYA, --exclude-from=DOSYA DOSYA'da bulunan kalıplara uyan " #~ "dosyaları\n" #~ " işlemden hariç tutar.\n" #~ " --exclude=KAL KAL kalıbına uyan dosyaları işlemden hariç " #~ "tutar.\n" #~ " --max-depth=N bir dizin için toplamı (veya dosya için, --all " #~ "ile),\n" #~ " yalnızca komut satırı argümanından N veya daha " #~ "az\n" #~ " seviye aşağıda ise gösterir. \n" #~ " --max-depth=0, --summarize ile aynıdır.\n" #~ msgid "total" #~ msgstr "toplam" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "UYARI: -H yerine -si seçeneğini kullanın; -H seçeneğinin anlamı yakında\n" #~ "--dereference-args (-D) ile aynı hale gelecektir" #~ msgid "invalid maximum depth %s" #~ msgstr "geçersiz maksimum derinlik %s" #, fuzzy #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "--allow-missing seçeneği kaldırılacaktır; yerine --retry kullanın" #~ msgid "cannot both summarize and show all entries" #~ msgstr "hem özetleyip hem bütün girdiler gösterilemez" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "uyarı: özetlemek --max-depth=0 ile aynı" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "uyarı: özetlemek --max-depth=%lu ile çakışıyor" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Dosya işleyenleri --files0-from ile birleştirilemez" #~ msgid "cannot read file names from %s" #~ msgstr "%s'den dosya adları okunamadı" #~ msgid "invalid zero-length file name" #~ msgstr "geçersiz sıfır uzunluklu dosya adı" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... [DİZGE]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "DİZGE(leri) standart çıktıya yazdırır.\n" #~ "\n" #~ " -n sonlayan yenisatırı yazdırmaz\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e (öntanımlı) terskesme kaçışlarını yorumlar\n" #~ " -E terskesme kaçışlarını yorumlamaz\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "-e kullanıldığı zaman, aşağıdaki kaçışlar tanınır ve kullanılır:\n" #~ "\n" #~ " \\0NNN ASCII kodu NNN (8lik) olan karakter\n" #~ " \\\\ ters kesme\n" #~ " \\a zil (BEL)\n" #~ " \\b geri silme\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c sonlayan yenisatırı bastırır\n" #~ " \\f sayfa sonuna kadar imleci ilerletir\n" #~ " \\n alt satıra geçer\n" #~ " \\r imleci satır başına taşır\n" #~ " \\t imleci yatay sekme kadar ilerletir\n" #~ " \\v imleci düşey sekme kadar ilerletir\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Mlynarik ve David MacKenzie" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... [-] [İSİM=DEĞER]... [KOMUT [ARG]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Her çevre değişkeni İSİM için bir DEĞER atar ve KOMUTu çalıştırır.\n" #~ "\n" #~ " -i, --ignore-environment bir boş çevre ile başlatır\n" #~ " -u, --unset=İSİM İSİM ile belirtilen çevre değişkenini " #~ "kaldırır\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Sadece -, -i uygular. KOMUT verilmezse mevcut çevre değişkenlerini " #~ "listeler.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Her DOSYA'daki tabları boşluğa çevirerek standart çıktıya yazar.\n" #~ "DOSYA belirtilmediğinde, veya - olduğunda, standart girdiden okur.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial Boşluktan sonra gelmeyen tabları değiştirmez\n" #~ " -t, --tabs=N tabların yerine 8 değil N boşluk koyar\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LİSTE LİSTE virgülle ayrılmış sayılardır. Listedeki \n" #~ " sayılar tabların satırdaki yerlerine karşılık " #~ "gelir.\n" #~ " Satırda listenin uzunluğundan fazla tab varsa, " #~ "fazla\n" #~ " olan tablar yerine bir boşluk koyar\n" #~ msgid "tab stop is too large %s" #~ msgstr "sekme boyu %s çok büyük" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "sekme boyunda geçersiz karakter(ler): %s" #~ msgid "tab size cannot be 0" #~ msgstr "tab boyu 0 olamaz" #~ msgid "tab sizes must be ascending" #~ msgstr "tab boyları küçükten büyüğe sıralı olmalı" #~ msgid "input line is too long" #~ msgstr "girdi satırı fazla uzun" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Mike Haertel ve Paul Eggert" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s İFADE\n" #~ " veya: %s SEÇENEK\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "İFADE'nin değerini standart çıktıya yazdırır. Aşağıda boş satır\n" #~ "artan öncelik gruplarını ayırır. İFADE:|n\n" #~ " ARG1 | ARG2 eğer ARG1 boş veya 0 ise ARG2, değil ise ARG1\n" #~ " ARG1 & ARG2 eğer iki argüman da 0 veya boş ise ARG2, değil ise " #~ "ARG1\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 küçüktür ARG2\n" #~ " ARG1 <= ARG2 ARG1 küçük ya da eşittir ARG2\n" #~ " ARG1 = ARG2 ARG1 eşittir ARG2\n" #~ " ARG1 != ARG2 ARG1 farklıdır ARG2\n" #~ " ARG1 >= ARG2 ARG1 büyük ya da eşittir ARG2\n" #~ " ARG1 > ARG2 ARG1 büyüktür ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 aritmetik toplama işlemi\n" #~ " ARG1 - ARG2 aritmetik çıkarma işlemi\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 aritmetik çarpma işlemi\n" #~ " ARG1 / ARG2 aritmetik bölme işleminde bölümü verir\n" #~ " ARG1 % ARG2 aritmetik bölme işleminde kalanı verir\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " DİZGE : DÜZİFD ilk karakterinden itibaren DİZGE içindeki\n" #~ " DÜZenliİFaDe ile eşleşen kısım\n" #~ "\n" #~ " match DİZGE DÜZİFD DİZGE : DÜZİFD ile aynı\n" #~ " substr DİZGE KONUM UZNLK DİZGEnin KONUMdan başlayan UZuNLuKtaki alt " #~ "dizgesi\n" #~ " index DİZGE KARKTR DİZGE içinde KARaKTeRlerin ilk rastlandığı " #~ "konum\n" #~ " length DİZGE DİZGEnin karakter sayısı\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + ANDAÇ ANDAÇ `match' gibi bir anahtar sözcük ya da " #~ "`/'\n" #~ " gibi bir işlemimi bile olsa bir dizge " #~ "olarak\n" #~ " yorumlar.\n" #~ "\n" #~ " ( İFADE ) İFADEnin değeri\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Kabukta yorumlanması için öncelenmesi ya da yorumlanmaması için tırnak " #~ "içine\n" #~ "alınması gereken işlemimlerinden sakının. Karşılaştırmalar her ikisi de " #~ "sayısal\n" #~ "ise sayısal, değilse sözlük sırasına göredir. Örgüsel eşleşmeler \\(ve " #~ "\\)\n" #~ "arasındaki eşleşen dizge ile ya da null ile sonuçlanır; eğer \\(ve \\)\n" #~ "kullanılmamışsa eşleşen karakter sayısıyla ya da 0 ile sonuçlanır.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Eğer İFADE boş veya 0 değil ise, çıkış durumu 0, eğer İFADE boş veya 0 " #~ "ise 1,\n" #~ "eğer İFADE sözdizim hatası içeriyor ise 2, bir hata var ise 3 olur.\n" #~ msgid "syntax error" #~ msgstr "sözdizimi hatası" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "düzenli ifade (regular expression) aramasında hata oluştu" #~ msgid "non-numeric argument" #~ msgstr "nümerik olmayan argüman" #~ msgid "division by zero" #~ msgstr "sıfırla bölüm" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s [SAYI]...\n" #~ " veya: %s SEÇENEK\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Her SAYInın asal çarpanlarını gösterir\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " Belirtilen tamsayıların asal çarpanlarını gösterir. Argüman " #~ "belirtilmezse\n" #~ " doğrudan standart çıktıyı okuyarak sonucu verir.\n" #~ msgid "%s is too large" #~ msgstr "%s çok büyük" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "`%s' bir pozitif tamsayı değil." #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Kullanım: %s [-BASAMAKLAR] [SEÇENEK]... [DOSYA]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "DOSYA(lar)daki tüm paragrafları yeniden biçemlendirir ve standart " #~ "çıktıya\n" #~ "yazar. Eğer DOSYA adı yoksa veya `-' ise, standart girdiden okur.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin paragrafın ilk iki satırını değiştirmez\n" #~ " -p, --prefix=DİZGE sadece DİZGE ile başlayan satırları yeniden\n" #~ " biçemler\n" #~ " -s, --split-only uzun satırları böler fakat kısaları " #~ "birleştirmez\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph paragrafın ilk satırı ikinci satırından " #~ "farklı\n" #~ " girintilenir\n" #~ " -u, --uniform-spacing sözcük arası bir, noktadan sonra iki boşluk " #~ "koyar.\n" #~ " -w, --width=GENİŞLİK maksimum satır genişliği (öntanımlı 75 " #~ "sütun) \n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "geçersiz seçenek -- %c; GENİŞLİK yalnızca ilk seçenek olduğu zaman kabul\n" #~ "edilir; bunun yerine -w N kullanın" #~ msgid "invalid width: %s" #~ msgstr "geçersiz genişlik: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "DOSYA'daki (DOSYA belirtilmediğinde standart girdi'deki) satırları \n" #~ "katlar ve standart çıktıya yazar\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes sütunlar yerine baytları sayar\n" #~ " -s, --spaces satırı boşluklarda böler\n" #~ " -w, --width=N 80 yerine N sütun kullanır\n" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "geçersiz sütun sayısı: `%s'" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "%s'in grup üyeliği %s olarak değiştirilemedi\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "%s'in grup üyeliği %s olarak değiştirilemedi\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "%u grup kimliğinin ismi bulunamıyor" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... [KULLANICI-İSMİ]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Böyle bir kullanıcı yok" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Her DOSYA'nın ilk on satırını standart çıktıya yazar.\n" #~ "Birden fazla DOSYA verildiğinde, her dosyadan önce dosya adını yazar.\n" #~ "DOSYA adı verilmediğinde, veya - olduğunda standart girdiden okur.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N her dosyanın ilk N baytını yazdırır;\n" #~ " başında `-' verilirse her dosyanın son N " #~ "baytı\n" #~ " haricindeki bütün içeriğini yazdırır\n" #~ " -n, --lines=[-]N ilk 10 yerine ilk N satırı yazdırır;\n" #~ " başında `-' verilirse her dosyanın son N " #~ "satırı\n" #~ " haricindeki bütün içeriğini yazdırır\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent dosya isimlerini göstermez\n" #~ " -v, --verbose dosya isimlerini gösterir\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BLOK ve BAYTlar aşağıdaki çarpan sonekleri ile bitebilirler:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, ve T, P, E, Z, Y. için diğerleri\n" #~ "\n" #~ "Her CONV sembolü:\n" #~ "\n" #~ msgid "error reading %s" #~ msgstr "%s'i okunurken hata" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: dosya fazla küçülmüş" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: bayt sayısı fazla büyük" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: orjinal konuma geri gidilemiyor (lseek)" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: %s görecesine ilerleme (seek) yapılamıyor" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "%s üzerinde lseek başarısız" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s bu bilgisayarda kullanılamayacak kadar büyük bir sayı" #~ msgid "number of lines" #~ msgstr "satır sayısı" #~ msgid "number of bytes" #~ msgstr "bayt sayısı" #~ msgid "invalid number of lines" #~ msgstr "geçersiz satır sayısı" #~ msgid "invalid number of bytes" #~ msgstr "geçersiz bayt sayısı" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "geçersiz seçenek -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Kullanımı: %s\n" #~ " veya: %s SEÇENEK\n" #~ "Çalıştırıldığı makinanın kimliğini onaltılık tabanda gösterir.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Kullanımı: %s [İSİM]\n" #~ " veya: %s SEÇENEK\n" #~ "Çalıştırıldığı sistemin makina ismini değiştirir ya da gösterir.\n" #~ "\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "isim`%s' yapılamadı" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "makina ismi değiştirilemedi; bu sistemde bu yetenek yok" #~ msgid "cannot determine hostname" #~ msgstr "makina ismi saptanamadı" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "KULLANICI-İSMİ ya da çalıştıran kullanıcı hakkındaki bilgileri gösterir.\n" #~ "\n" #~ " -a eski sürümlere uyumluluk için var. Yoksayılır.\n" #~ " -g, --group sadece grup kimliğini gösterir\n" #~ " -G, --groups sadece ek grupları gösterir\n" #~ " -n, --name -ugG için bir sayı yerine bir isim gösterir\n" #~ " -r, --real -ugG için etkin kimlik yerine gerçek kimliği gösterir\n" #~ " -u, --user sadece kullanıcı kimliğini gösterir\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "SEÇENEK belirtilmeksizin bazı yararlı kullanıcı bilgileri gösterir.\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "-C -l -b seçenekleri beraber kullanılmaz" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "öntanımlı biçemde gerçek kimlikler veya gerçek isimler gösterilemez" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "%u kullanıcı kimliğinin ismi bulunamıyor" #~ msgid " groups=" #~ msgstr " gruplar=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "uyarı: %s dizinine geçilemiyor" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "bir dizin kurulurken strip seçeneği kullanılamaz" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "bir dizin kurulurken hedef dizin belirlenemez" #~ msgid "invalid mode %s" #~ msgstr "geçersiz kip %s" #~ msgid "cannot change ownership of %s" #~ msgstr "%s'in sahipliği değiştirilemiyor" #~ msgid "cannot set time stamps for %s" #~ msgstr "%s için zaman damgalama yapılamadı" #~ msgid "fork system call failed" #~ msgstr "fork sistem çağrısı başarısız" #~ msgid "cannot run strip" #~ msgstr "strip çalıştırılamadı" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "%s'e yazılıyor" #~ msgid "invalid user %s" #~ msgstr "geçersiz kullanıcı %s" #~ msgid "invalid group %s" #~ msgstr "geçersiz grup %s" #~ msgid "creating directory %s" #~ msgstr "dizin %s oluşturuluyor" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... [T] KAYNAK HEDEF\n" #~ " veya: %s [SEÇENEK]... KAYNAK... DİZİN\n" #~ " veya: %s [SEÇENEK]... -t DİZİN KAYNAK...\n" #~ " veya: %s [SEÇENEK]... -d DİZİN...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "İlk üç biçemde KAYNAK'ı HEDEF'e veya birden fazla KAYNAK'ı mevcut " #~ "DİZİN'e\n" #~ "kopyalar, aynı zamanda izin kiplerini ve sahip/grup bilgilerini atar.\n" #~ "Dördüncü biçemde, ilgili DİZİN(ler)in bütün öğelerini oluşturur.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=KONTROL] her mevcut hedef dosyasının bir yedeğini alır\n" #~ " -b --backup gibi ama argüman kabul etmez\n" #~ " -c (yoksayılır)\n" #~ " -d, --directory bütün argümanları dizin adı olarak alır; " #~ "belirtilen\n" #~ " dizinlerin tüm öğelerini oluşturur\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D HEDEF'in en sondaki hariç tüm öğelerini oluşturur,\n" #~ " sonra KAYNAK'ı HEDEF'e kopyalar\n" #~ " -g, --group=GRUP İşlemin şimdiki grubu yerine grup üyeliğini GRUP'a " #~ "atar\n" #~ " -m, --mode=KİP izin kipini rwxr-xr-x yerine KİP olarak atar " #~ "(chmod\n" #~ " gibi)\n" #~ " -o, --owner=SAHİP sahibi atar (yalnızca süper-kullanıcı)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps KAYNAK dosyalarının erişim/değişim zaman\n" #~ " damgalarını ilgili hedef dosyalarına uygular\n" #~ " -s, --strip sembol tablolarını soyar\n" #~ " -S, --suffix=SONEK öntanımlı yedek soneki yerine SONEK'i kullanır\n" #~ " -t, --target-directory=DİZİN bütün KAYNAK argümanlarını DİZİN'e " #~ "kopyalar -T, --no-target-directory HEDEF'i normal bir dosya kabul " #~ "eder\n" #~ " -v, --verbose oluşturuldukça her dizinin adını gösterir\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Yedekleme soneki eğer --suffix veya SIMPLE_BACKUP_SUFFIX ile " #~ "belirtilmemiş ise\n" #~ "'~'dir. Yedekleme kontrol metodu --backup seçeneği ile veya \n" #~ "VERSION_CONTROL çevre değişkeninden belirlenebilir. Geçerli değerler:\n" #~ "\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Mike Haertel ve Paul Eggert" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Her birleştirme (join) alanı aynı olan girdi satırı çifti için standart\n" #~ "çıktıya bir satır yazar. Öntanımlı birleştırme alanı, boşlukla ayrılmış " #~ "ilk\n" #~ "alandır. DOSYA1 veya DOSYA2 - olduğunda (ikisi birden - olamaz), " #~ "standart \n" #~ "girdiden okur.\n" #~ "\n" #~ " -a DOSYANUM DOSYANUM dosyasından gelen eşleştirilememiş " #~ "satırları \n" #~ " yazdırır. DOSYANUM, DOSYA1 veya DOSYA2 dosyasından\n" #~ " gelinmesine göre 1 veya 2 olabilir.\n" #~ " -e YAZI eksik girdi alanlarını YAZI ile değiştirir\n" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case karşılaştırma yaparken küçük/büyük harf ayrımı " #~ "yapmaz\n" #~ " -j ALAN (eski kullanım)`-1 ALAN -2 ALAN' ile aynı\n" #~ " -o BİÇEM çıktı satırını oluştururken BİÇEM'i kullanır\n" #~ " -t HARF HARFi girdi ve çıktı alanlarını ayırmakta kullanır\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v DOSYANUM -a DOSYANUM gibi, fakat birleştirilmiş satırları " #~ "göstermez\n" #~ " -1 ALAN DOSYA1'in bu ALAN'ını kullanarak birleştirir\n" #~ " -2 ALAN DOSYA2'nin bu ALAN'ını kullanarak birleştirir \n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Eğer -t HARF verilmemiş ise, başlangıçtaki boşluklar alan ayracıdır ve\n" #~ "yoksayılırlar. Eğer -t HARF verilmiş ise, ayraç olarak HARF kullanılır.\n" #~ "ALAN, 1'den başlayarak sayılan alan numarasıdır. BİÇEM, bir veya daha " #~ "fazla,\n" #~ "virgül veya boşlukla ayrılmış biçemdir. Biçem, `DOSYANUM.ALAN' veya `0' " #~ "olarak\n" #~ "verilir. Öntanımlı BİÇEM, HARF ile ayrılmış olarak, birleştirme alanını,\n" #~ "DOSYA1'de kalan alanları ve DOSYA2'de kalan alanları gösterir.\n" #~ "\n" #~ "Önemli: DOSYA1 ve DOSYA2 birleştirme alanına göre sıralı olmalıdır.\n" #~ msgid "invalid field number: %s" #~ msgstr "geçersiz alan numarası: %s" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "geçersiz alan belirleyicisi: `%s'" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "alan tanımlamasında geçersiz dosya numarası: `%s'" #~ msgid "empty tab" #~ msgstr "boş sekme" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "tab yerine kullanılacak `%s' bir karakterden oluşmalı" #~ msgid "incompatible tabs" #~ msgstr "uyumsuz sekme" #~ msgid "both files cannot be standard input" #~ msgstr "her iki dosya da standart girdi olamaz" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Kullanımı: %s [-s SİNYAL] | -SİNYAL] PID...\n" #~ " ya da: %s -l [SİNYAL]...\n" #~ " ya da: %s -t [SİNYAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "İşlemlere sinyal yollar veya sinyalleri listeler.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SİNYAL, -SİNYAL\n" #~ " Gönderilecek sinyalin adı veya numarası.\n" #~ " -l, --list Sinyal adlarını listeler ya da sinyal isimleri ile " #~ "sinyal\n" #~ " numaraları arasında dönüşüm yapar.\n" #~ " -t, --table Sinyal bilgileri tablosu gösterir.\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SİNYAL, `HUP' gibi bir sinyal adı veya `1' gibi bir sinyal numarası, \n" #~ "veya bir sinyalle sonlanmış işlemin çıkış durumu olabilir.\n" #~ "PID bir tamsayıdır; eğer negatif ise bir işlem grubunu tanımlar.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: geçersiz sinyal" #~ msgid "%s: invalid process id" #~ msgstr "%s: geçersiz işlem kimlik no" #~ msgid "invalid option -- %c" #~ msgstr "geçersiz seçenek -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: birden fazla sinyal belirtilmiş" #~ msgid "multiple -l or -t options specified" #~ msgstr "birden fazla -l veya -t seçeneği belirtilmiş" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "sinyal, -l veya -t ile birleştirilemez" #~ msgid "no process ID specified" #~ msgstr "süreç kimliği belirtilmemiş" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanım: %s DOSYA1 DOSYA2\n" #~ " veya: %s SEÇENEK\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Mevcut olan DOSYA1'e DOSYA2 adında bir bağ oluşturmak için 'link' (bağ)\n" #~ "işlevini çağırın.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "%s sabit bağı %s'e bağlanamadı" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "%s: uyarı: sembolik bağa sabit bağ oluşturmak taşınabilirliği bozar" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: dizinde sabit bağa izin verilmiyor" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: dizinin üzerine yazılamaz" #~ msgid "%s: replace %s? " #~ msgstr "%s: %s'un üzerine yazılsın mı?" #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "Sembolik bağ %s %s'e bağlanıyor" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "Sembolik bağ %s %s'e bağlanıyor" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "Sabit bağ %s %s'e bağlanıyor" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "Sabit bağ %s %s'e bağlanıyor" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "Sabit bağ %s %s'e bağlanıyor" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... [-T] KAYNAK BAĞ_ADI (1. biçem)\n" #~ " veya: %s [SEÇENEK]... HEDEF (2. biçem)\n" #~ " veya: %s [SEÇENEK]... HEDEF...DİZİN (3. biçem)\n" #~ " veya: %s [SEÇENEK]... -t DİZİN HEDEF... (4. biçem)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "1. formda, belirlenen HEDEF'e, opsiyonel BAĞ_ADI ile bir bağ oluşturur.\n" #~ "2. formda, HEDEF'e mevcut dizinde bir bağ oluşturur.\n" #~ "3. ve 4. formlarda, DİZİN içindeki her HEDEF'e bir bağ oluşturur.\n" #~ "Öntanımlı olarak sabit bağ oluşturulur, --symbolic seçeneği kullanıldığı\n" #~ "zaman sembolik bağ oluşturulur. Sabit bağ oluşturulduğu zaman, her HEDEF\n" #~ "mevcut olmak zorundadır.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=KONTROL] her mevcut hedef dosyanın bir yedeğini " #~ "alır\n" #~ " -b --backup gibi fakat argüman almaz\n" #~ " -d, -F, --directory süper kullanıcının dizinleri sabit " #~ "bağlamasına\n" #~ " izin verir (not: sistem kısıtlamaları " #~ "yüzünden\n" #~ " büyük ihtimal ile süper kullanıcı için " #~ "dahi\n" #~ " bu işlem başarısız olacaktır)\n" #~ " -f, --force önceden var olan hedef dosyaları siler\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference bir dizine sembolik bağ olan hedefi sanki " #~ "normal\n" #~ " bir dosyaymış gibi işler\n" #~ " -i, --interactive hedefleri silmeden önce sorar\n" #~ " -s, --symbolic sabit bağ yerine sembolik bağ oluşturur\n" #, fuzzy #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=SONEK yedekleme soneki yerine SONEK'i kullanır\n" #~ " -t, --target-directory=DİZİN bağların oluşturulacağı DİZİN'i belirtir\n" #~ " -T, --no-target-directory BAĞ_ADI'nı normal bir dosya gibi kullanır\n" #~ " -v, --verbose bağlamadan önce her dosyanın adını " #~ "gösterir\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "--target-directory ve --no-target-directory birleştirilemez" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Kullanım: %s [SEÇENEK]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Çalıştıran kullanıcının ismini gösterir.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "kullanıcı ismi yok" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "çevre değişkeni QUOTING_STYLE'da bulunan geçersiz değer yoksayıldı: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "" #~ "çevre değişkeni COLUMNS'da belirtilen geçersiz genişlik değeri " #~ "yoksayıldı: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "çevre değişkeni TABSIZE'da bulunan geçersiz sekme boyutu yoksayıldı: %s" #~ msgid "invalid line width: %s" #~ msgstr "geçersiz satır genişliği: %s" #~ msgid "invalid tab size: %s" #~ msgstr "geçersiz sekme boyutu: %s" #~ msgid "invalid time style format %s" #~ msgstr "geçersiz tarih biçemi %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "tanımlanmamış önek: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "çevre değişkeni LS_COLORS'da taranamaz değer" #~ msgid "cannot open directory %s" #~ msgstr "dizin %s açılamadı" #~ msgid "cannot determine device and inode of %s" #~ msgstr "%s'nın aygıtı ve i-düğümü belirlenemedi" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: önceden listelenmiş dizin tekrar listelenmedi" #~ msgid "closing directory %s" #~ msgstr "%s dizini kapatılıyor" #~ msgid "cannot compare file names %s and %s" #~ msgstr "%s ve %s dosya adları karşılaştırılamaz" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "DOSYA(lar) hakkında bilgileri listeler (öntanımlı olarak şimdiki " #~ "dizinde).\n" #~ "Eğer -cftuSUX veya --sort seçenekleri verilmemiş ise girdileri alfabetik\n" #~ "sıralar.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all . ile başlayan girdileri saklamaz\n" #~ " -A, --almost-all örtük . ve .. değerlerini göstermez\n" #~ " --author -l ile her dosyanın yazarını gösterir\n" #~ " -b, --escape grafik olmayan karakterleri sekizlik\n" #~ " değerlerle gösterir\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=BOY BOY baytta bloklar kullanır\n" #~ " -B, --ignore-backups sonu ~ ile biten örtük yedekleri göstermez\n" #~ " -c -lt ile: ctime'a (son dosya durum bilgisi\n" #~ " değişikliği zamanı) göre sıralar ve " #~ "ctime'ı\n" #~ " gösterir\n" #~ " -l ile: ctime'ı göster ve isme göre sıralar\n" #~ " tek başına: ctime'a göre sıralar\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C Çıktıyı sütunlar halinde gösterir\n" #~ " --color[=NEZAMAN] Dosya tiplerini belirtmek için değişik " #~ "renkler\n" #~ " kullanılıp kullanılmamasını belirler. " #~ "NEZAMAN\n" #~ " değerleri never (asla), always (her zaman) " #~ "veya\n" #~ " auto (otomatik) olabilir.\n" #~ " -d, --directory içindekiler yerine dizin bilgilerini " #~ "gösterir ve\n" #~ " sembolik bağları izlemez.\n" #~ " -D, --dired Emacs dired kipine uygun çıktı verir\n" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f sıralama yapmaz, -aU seçeneğini " #~ "etkinleştirir,\n" #~ " -lst seçeneğini etkinsizleştir\n" #~ " -F, --classify çıktı bilgilerine belirteç ( */=@| " #~ "seçeneklerinden\n" #~ " birini) ekler\n" #~ " --format=SÖZCÜK -x yatay, -m virgüllü, -l uzun,\n" #~ " -1 tek sütun, -l uzun, -C dikey\n" #~ " --full-time -l --time-style=full-iso gibi\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 0 bloğa sahip dosyasistemlerini de dahil eder.\n" #~ " -b --block-size=BOY BOY baytlık bloklar kullanır\n" #~ " -h, --human-readable boyutları insan okuyabilir biçemde gösterir\n" #~ " (örn., 1K 234M 2G)\n" #~ " -H, --si yukarıdaki gibi fakat 1000'in katlarını " #~ "kullanır,\n" #~ " 1024'ün değil.\n" #, fuzzy #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -g -l gibi fakat sahibi listelemez\n" #~ " -G, --no-group -l gibi fakat grup bilgisini göstermez\n" #~ " -h, --human-readable boyutları insan okuyabilir biçemde gösterir\n" #~ " (örn., 1K 234M 2G)\n" #~ " --si benzer ama 1000'in katlarını kullanır,\n" #~ " 1024'ün değil\n" #~ " -H, --dereference-command-line\n" #~ " komut satırındaki sembolik bağları izler\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " dizine işaret eden komut satırı sembolik\n" #~ " bağları izler.\n" #~ " --hide=KALIP KALIP'a uyan örtük girdileri göstermez\n" #~ " (-a veya -A ile etkisizleştirilir)\n" #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=SÖZCÜK girdi isimlerine SÖZCÜK tarzında " #~ "belirteç\n" #~ " ekler: none (boş -- öntanımlı),\n" #~ " classify (-F kipi gibi),\n" #~ " file-type (-p kipi gibi)\n" #~ " -i, --inode -l ile her dosyanın indeks numarasını " #~ "gösterir\n" #~ " -I, --ignore=KALIP kabuk KALIP'ıyla eşleşen örtük girdileri\n" #~ " göstermez\n" #~ " -k --block-size=1K gibi\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l uzun listeleme biçemi kullanır\n" #~ " -L, --dereference bir sembolik bağ için dosya bilgilerini\n" #~ " gösterirken, sembolik bağın imlediği " #~ "dosyanın\n" #~ " bilgilerini gösterir, sembolik bağın " #~ "kendi\n" #~ " bilgilerini değil\n" #~ " -m satırı virgül ayraçlı girdilerle doldurur\n" #, fuzzy #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid İsim yerine sayısal grup ve kullanıcı " #~ "kimliklerini\n" #~ " (UID ve GID) gösterir\n" #~ " -N, --literal ham isimleri gösterir (kontrol " #~ "karakterlerini\n" #~ " ayrıca işlemez)\n" #~ " -o grup bilgisi olmaksızın uzun listeleme " #~ "biçemi\n" #~ " kullanır\n" #~ " -p, --file-type bilgilere belirteç ekler ( /=@| dan biri) \n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars grafik olmayan karakterler yerine ? " #~ "çıktılar\n" #~ " --show-control-chars grafik olmayan karakterleri olduğu gibi " #~ "gösterir\n" #~ " (program 'ls' ve çıktı bir terminal değil " #~ "ise\n" #~ " öntanımlı seçenek)\n" #~ " -Q, --quote-name çıktı adlarını çift tırnak içinde gösterir\n" #~ " --quoting-style=SÖZCÜK tırnaklama biçemi için SÖZCÜK'te " #~ "belirtilen \n" #~ " değeri kullanır:\n" #~ " literal (olduğu gibi), locale (yerel),\n" #~ " shell (kabuk), \n" #~ " shell-always (her zaman kabuk), c (C " #~ "dili), \n" #~ " escape (kaçış karakterli)\n" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse ters sıralar\n" #~ " -R, --recursive alt dizinleri çevrimli listeler\n" #~ " -s, --size -l ile her dosyanın boyutunu blok olarak\n" #~ " gösterir\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S dosya büyüklüğüne göre sıralar\n" #~ " --sort=SÖZCÜK sözcükte belirtilen değere göre sıralar: \n" #~ " extension -X (uzantı), none -U (boş), \n" #~ " size -S (büyüklük), time -t (zaman),\n" #~ " version -v (sürüm), status -c (durum)\n" #~ " time -t (değişim zamanı),\n" #~ " atime -u (erişim zaman damgası),\n" #~ " access -u (erişim zamanı),\n" #~ " use -u (kullanım zamanı)\n" #~ " --time=SÖZCÜK -l ile zamanı SÖZCÜKte belirtilen değer olarak\n" #~ " gösterir\n" #~ " atime (erişim zaman damgası), \n" #~ " access (erişim), use (kullanım zamanı), \n" #~ " ctime (dosya durum bilgisi değişim zamanı) " #~ "veya\n" #~ " status (durum); eğer --sort=time " #~ "belirtilmişse\n" #~ " seçilen zaman değerine göre sıralar.\n" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=BİÇEM zamanı BİÇEM biçeminde gösterir:\n" #~ " full-iso, long-iso, iso, locale, +BİÇEM\n" #~ " BİÇEM `date' gibi tanınır; eğer BİÇEM,\n" #~ " BİÇEM1BİÇEM2 şeklinde ise, " #~ "BİÇEM1\n" #~ " eski dosyalara, BİÇEM2, yeni dosyalara " #~ "uygulanır\n" #~ " eğer BİÇEM'in başında posix- var ise, BİÇEM\n" #~ " yalnızca POSIX yerelinin haricinde geçerli " #~ "olur.\n" #~ " -t değişim zamanına göre sıralar\n" #~ " -T, --tabsize=SÜT öntanımlı 8 değeri yerine her SÜT değerinde\n" #~ " sekme olduğunu varsayar.\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u -lt ile: erişim zamanını gösterir ve buna " #~ "göre\n" #~ " sıralar\n" #~ " -l ile: erişim zamanını gösterir ve isme " #~ "göre\n" #~ " sıralar\n" #~ " tekbaşına: erişim zamanına göre sıralar\n" #~ " -U sıralamaz, girdileri dizin sırasına göre " #~ "gösterir\n" #~ " -v sürüme göre sıralar\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=SÜTUN ekran genişliğini SÜTUNa ayarlar\n" #~ " -x girdileri satır olarak çıktılar, sütun " #~ "değil\n" #~ " -X girdi sonekine göre alfabetik sıralar\n" #~ " -1 her satıra bir dosya olarak listeler\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Öntanımlı olarak dosya tipleri renkle ayırdedilmezler. Bu, --color=none \n" #~ "seçeneğine eşittir. --color seçeneğini NEZAMAN seçeneğini belirtmeden " #~ "kullanmak\n" #~ "her zaman kullanılacağı manasına --color=always değerine eşittir. --" #~ "color=auto\n" #~ "seçeneği ile eğer standart çıktı bir terminale (tty) bağlı ise renk " #~ "ayırdetmesi\n" #~ "kullanılır.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Çıkış durumu, her şey normal ise 0, ufak problemler var ise 1, önemli\n" #~ "problemler var ise 2 olur.\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper ve Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Paul Rubin ve David MacKenzie" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kullanım: %s [SECENEK] [DOSYA]...\n" #~ " veya: %s [SECENEK] --check [DOSYA]\n" #~ "%s (%d-bit) sağlama toplamlarını kontrol eder veya yazar.\n" #~ "DOSYA adı verilmediğinde veya - olduğunda standart girdiden okur.\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary konsol aygıtına yazarken ikilik yazma " #~ "kullanır.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "Aşağıdaki iki seçenek sadece sağlama toplamlarını kontrol ederken işe " #~ "yarar:\n" #~ " --status çıktı vermez, durum kodu, başarı bilgisini " #~ "verir\n" #~ " -w, --warn yanlış formatlı çemlenmiş sağlama toplam " #~ "satırları hakkında\n" #~ " uyarı verir\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Toplamlar %s'de belirtildiği gibi hesaplanır. Toplamlar kontrol " #~ "edilirken,\n" #~ "girdi, bu yazılımdan önceden elde edilmiş bir çıktı olmalıdır. Öntanımlı\n" #~ "olarak, her satırı bir sağlama toplamı ile yazdırır, tür belirtir " #~ "(ikilik\n" #~ "için `*' , metin için ` ') ve DOSYA'nın ismini yazar.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: çok fazla sağlama satırı" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: yanlış biçemlenmiş %s sağlama satırı" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s:açma veya okuma BAŞARISIZ\n" #~ msgid "OK" #~ msgstr "Tamam" #~ msgid "%s: read error" #~ msgstr "%s: okuma hatası" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: doğru biçemlenmiş %s sağlama toplam satırı bulunamadı" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "Uyarı: listelenmiş dosyanın % / % kısmı okunamadı" #~ msgstr[1] "" #~ "Uyarı: listelenmiş dosyanın % / % kısmı okunamadı" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "UYARI: Hesaplanmış sağlamaların % / % kısmı eşleşmedi" #~ msgstr[1] "" #~ "UYARI: Hesaplanmış sağlamaların % / % kısmı eşleşmedi" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ " --binary ve --text seçenekleri sağlama toplamlarını kontrol ederken " #~ "geçersiz" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "" #~ "--status seçeneği yalnızca sağlama toplam kontrolü sırasında anlamlı" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "--warn seçeneği yalnızca sağlama toplam kontrolü sırasında anlamlı" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Kullanım: %s [SEÇENEK] DİZİN...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Eğer yoksa, ilgili DİZİN(ler)i oluşturur.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=KİP izin kipini belirtir (chmod gibi), \n" #~ " rwxrwxrwx öntanımlı değer\n" #~ " -p, --parents eğer üst dizinler var ise hata vermeden \n" #~ " gerektiği şekilde üst dizinleri oluşturur\n" #~ " -v, --verbose oluşturulan her dizin için bir ileti çıktılar\n" #~ msgid "created directory %s" #~ msgstr "dizin %s oluşturuldu" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Kullanım: %s [SEÇENEK] İSİM...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "İsimli veri yollarını (FIFO) belirtilen İSİM'lerle oluşturur.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=KİP izin kipini belirtilen değere değiştirir\n" #~ " (chmod gibi) varsayılan değer: rw\n" #~ msgid "invalid mode" #~ msgstr "geçersiz kip" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Kullanım: %s [SEÇENEK]...İSİM TİP [MAJÖR MİNÖR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Belirtilen TÜR'de belirtilen İSİM'de özel dosya oluşturur.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "TÜR b,c veya u olduğu zaman hem MAJÖR, hem de MİNÖR belirtilmelidir.\n" #~ "TÜR p olduğu zaman ne MAJÖR ne de MİNÖR belirtilmelidir. Eğer MAJÖR veya\n" #~ "MİNÖR 0x veya 0X ile başlarsa, onaltılık olarak algılanır. Eğer 0 ile\n" #~ "başlarlarsa, sekizlik olarak algılanır. Bütün diğer değerler onluk " #~ "olarak\n" #~ "algılanır. TÜR, aşağıdaki değerlerde olabilir:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b özel blok (önbellekli) dosyası oluşturur\n" #~ " c, u özel karakter (önbellekli) dosyası oluşturur\n" #~ " p FIFO oluşturur\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "Özel dosyalar, majör ve minör aygıt numaraları gerektirir." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Fifoların majör ve minör aygıt numarası bulunmaz. %s" #~ msgid "block special files not supported" #~ msgstr "özel blok dosyalar desteklenmiyor" #~ msgid "character special files not supported" #~ msgstr "özel karakter dosyaları desteklenmiyor" #~ msgid "invalid major device number %s" #~ msgstr "geçersiz majör aygıt numarası %s" #~ msgid "invalid minor device number %s" #~ msgstr "geçersiz minör aygıt numarası %s" #~ msgid "invalid device %s %s" #~ msgstr "geçersiz aygıt %s %s" #~ msgid "invalid device type %s" #~ msgstr "geçersiz aygıt türü %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "çok fazla tekrar eden satır" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "%s dizini oluşturulamıyor" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "%s'in zaman damgaları korunamadı" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "KAYNAK'ı HEDEF olarak yeniden adlandırır veya KAYNAK'ları DİZİN'e taşır.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=KONTROL] mevcut her hedef dosyanın bir yedeğini " #~ "alır.\n" #~ " -b --backup gibi ama argüman almaz.\n" #~ " -f, --force üzerine yazmadan önce sormaz\n" #~ " --reply=yes ile aynı\n" #~ " -i, --interactive üzerine yazmadan önce sorar\n" #~ " --reply=query ile aynı\n" #, fuzzy #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --reply={yes,no,query} mevcut bir hedef dosya için sorgulamanın " #~ "nasıl\n" #~ " yapılacağını ayarlar: \n" #~ " yes=evet, no=hayır, query=sor\n" #~ " --strip-trailing-slashes bütün KAYNAK argümanlarının sonundan " #~ "kesmeleri\n" #~ " (/) kaldırır\n" #~ " -S, --suffix=SONEK öntanımlı sonek yerine SONEK değerini " #~ "kullanır.\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=DİZİN bütün KAYNAK argümanlarını DİZİN'e taşır\n" #~ " -T, --no-target-directory HEDEF'i normal bir dosya kabul eder\n" #~ " -u, --update taşıma işlemini yalnızca KAYNAK dosyası\n" #~ " hedeften daha yeni ise, veya hedef dosya " #~ "yok\n" #~ " ise yapar\n" #~ " -v, --verbose ne yapıldığını anlatır\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Kullanımı: %s [SEÇENEK] [KOMUT [ARG]...]\n" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "KOMUTu ayarlanan işlem önceliğinde çalıştırır.\n" #~ "KOMUT verilmezse, mevcut işlem önceliğini gösterir. Öncelik sıralaması\n" #~ "%d (en yüksek öncelik) ve %d (en düşük öncelik) arasında değişir.\n" #~ "\n" #~ " -n, --adjustment=AYAR AYAR değerini şimdiki öncelik değerine ekler\n" #~ " (öntanımlı 10)\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "`%s' geçersiz ayar" #~ msgid "a command must be given with an adjustment" #~ msgstr "komut ayarlama ile birlikte verilmeli" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "sistem ismi alınamadı" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "tarih ayarlanamadı" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Satır başlarına satır numarası koyarak her DOSYA'yı standart çıktıya " #~ "yazdırır.\n" #~ "DOSYA adı verilmemişse, veya - olarak verilmişse, standart girdiden " #~ "okur.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=TARZ satırları TARZ tarzında numaralandırır.\n" #~ " -d, --section-delimiter=KK mantıksal sayfaları ayırırken KK'yi " #~ "kullanır\n" #~ " -f, --footer-numbering=TARZ altyazıları TARZ tarzında " #~ "numaralandırır\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=TARZ üstyazıları TARZ tarzında " #~ "numaralandırır\n" #~ " -i, --page-increment=SAYI satır numarası artış miktarı\n" #~ " -l, --join-blank-lines=SAYI SAYI kadar boş satır grubunu bir satır " #~ "olarak\n" #~ " okur\n" #~ " -n, --number-format=FORMAT satır numaralarını FORMAT şeklinde " #~ "yazar\n" #~ " -p, --no-renumber yeni mantıksal sayfaya başladığında " #~ "satır\n" #~ " numaralarını baştan başlatmaz\n" #~ " -s, --number-separator=DİZGE satır numarasından sonra DİZGE yazdırır\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=SAYI her mantıksal sayfanın ilk satır " #~ "numarası\n" #~ " -w, --number-width=SAYI satır numarası genişliğini SAYI yapar\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "aksi belirtilmedikçe otomatik olarak kullanılan seçenekler: \n" #~ "-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn\n" #~ "KK, mantıksal sayfaları ayırmak için kullanılan iki ayraç karakteridir. " #~ "İkinci\n" #~ "karakter verilmemişse :. kabul edilir. \\. elde etmek için \\\\ " #~ "yazılır. \n" #~ "TARZ, aşağıdaki değerlerden biri olarak belirtilmelidir: \n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a bütün satırları numaralandırır\n" #~ " t sadece boş olmayan satırları numaralandırır\n" #~ " n hiç bir satırı numaralandırmaz\n" #~ " pDÜZİF sadece DÜZİF düzenli ifadesi ile eşleşen satırları " #~ "numaralandırır\n" #~ " (DÜZİF: düzenli ifade = regular expression) \n" #~ "\n" #~ "FORMAT aşağıdakilerden biri olabilir:\n" #~ "\n" #~ " ln sola dayalı yazdırır, numaraların başlarına sıfır koymaz\n" #~ " rn sağa dayalı yazdırır, numaraların başlarına sıfır koymaz\n" #~ " rz sağa dayalı yazdırır, numaraların başlarına sıfır koyar\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "satır numarası taşması" #~ msgid "invalid header numbering style: %s" #~ msgstr "geçersiz başlık numaralama tarzı: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "geçersiz gövde numaralama tarzı: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "geçersiz altbilgi numaralama tarzı: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "geçersiz başlangıç satır numarası: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "geçersiz satır numarası artışı: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "geçersiz boş satır sayısı: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "geçersiz satır numarası alan genişliği: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "geçersiz satır numaralama biçemi: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s BİÇEM [ARGÜMAN]...\n" #~ " veya: %s SEÇENEK\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "KOMUTu çalıştırır, ve bitir sinyallerini yoksayar.\n" #~ "\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "argümanların tamamı yoksayılıyor" #~ msgid "failed to open %s" #~ msgstr "%s açılamadı" #, fuzzy #~ msgid "ignoring input and appending output to %s" #~ msgstr "çıktı, %s'nin sonuna ekleniyor" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "standart hatanın kopyası, exec sonunda kapanmaya ayarlanamadı" #~ msgid "failed to redirect standard error" #~ msgstr "standart hata yeniden yönlendirilemedi" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... [DOSYA]...\n" #~ "veya: %s [-abcdfilosx]... [DOSYA] [[+]GÖRELİ[.][b]]\n" #~ "veya: %s --traditional [SEÇENEK] [DOSYA] [[+]GÖRELİ[.][b] [[+]ETİKET]][.]" #~ "[b]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "DOSYA'yı, (hiçbir seçenek belirtilmediğinde sekizlik sayı sisteminde), \n" #~ "standart çıktıya yazar. DOSYA adı verilmemişse veya - olarak " #~ "verilmişse, \n" #~ "standart girdiden okur.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Uzun seçenekler için zorunlu argümanlar kısa seçenekler için de " #~ "zorunludur.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=RADIX adresleri RADIX sayı sisteminde yazar\n" #~ " -j, --skip-bytes=BAYT her dosyanın ilk BAYT baytını atlar\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BAYT çıktıyı dosya başına BAYT baytla sınırlar\n" #~ " -s, --strings[=SAYI] en az SAYI grafik karakter içeren dizgeler\n" #~ " yazdırır.\n" #~ " -t, --format=FORMAT çıktı formatını FORMAT olarak belirler\n" #~ " -v, --output-duplicates birbirinin aynı art arda gelen satırları " #~ "* \n" #~ " kullanmadan yazar\n" #~ " -w, --width[=BAYT] her satıra BAYT bayt yazar\n" #~ " --traditional geleneksel formda argüman kabul eder\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Geleneksel formatlar karışık kullanılabilir:\n" #~ " -a veya -t a , isimli karakterleri seçer (isimli karakterlerin " #~ "[named\n" #~ " characters] ne olduğunu öğrenmek için : man od)\n" #~ " -b veya -t o1, sekizlik baytlar seçer\n" #~ " -c veya -t c, ASCII karakterleri ve terskesmeyle belirtilmiş kaçış\n" #~ " karakterlerini seçer\n" #~ " -d veya -t u2, işsaretsiz (unsigned) ondalık kısa sayıları seçer\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f veya -t fF, gerçel sayıları seçer\n" #~ " -i veya -t dI, 10luk kısa sayıları seçer\n" #~ " -l veya -t dL, 10luk uzun sayıları seçer\n" #~ " -o veya -t o2, 8lik 2 bayt sayıları seçer\n" #~ " -x veya -t x2, 16lik 2 bayt sayıları seçer\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Eğer birinci ve ikinci çağırış şekilleri beraber kullanılmış ise, son " #~ "işlenenin +\n" #~ "ile veya bir sayı ile başlaması veya iki işlenen olması halinde, 2. " #~ "çağırış şekli\n" #~ "varsayılır.\n" #~ "GORELI işleneni, -j GORELI anlamına gelir. ETİKET, ilk bayttaki sanal " #~ "adrestir, ve\n" #~ "yazdırma devam ettikçe artar.\n" #~ "GÖRELİ ve ETİKET için, 0x veya 0X öneki, 16'lık sayı anlamına gelir;\n" #~ "sonekler sekizlik sayılar için . ve 512 ile çarpılması için b olabilir.\n" #~ "\n" #~ "FORMAT aşağıdaki kısaltmalar kullanılarak oluşturulur:\n" #~ "\n" #~ " a karakter isimlerini yazar\n" #~ " (Örnek:'od -t a' tab karakteri gördüğünde 'ht' yazar)\n" #~ " c ASCII karakterler veya terskesme ile kaçışlar\n" #~ " c alfabe elemanlarını olduğu gibi kontrol karakterlerini\n" #~ " terskesikle gösteririldikleri gibi yazar\n" #~ " (Örnek: 'od -t c' tab karakteri gördüğünde '\t' yazar)\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[SAYI] işaretli (signed) ondalık sayı olarak yazar, her sayı \n" #~ " için SAYI bayt kullanır\n" #~ " f[SAYI] gerçel sayı olarak yazar, her sayı için SAYI bayt kullanır\n" #~ " o[SAYI] sekizlik sayı olarak yazar, her sayı için SAYI bayt " #~ "kullanır\n" #~ " u[SAYI] işaretsiz (unsigned) ondalık sayı olarak yazar, her sayı\n" #~ " için SAYI bayt kullanır\n" #~ " x[SAYI] 16lik sayı olarak yazar, her sayı için SAYI bayt kullanır\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "SAYI yerine genelde bir sayı yazılır ( örnek : od -t d1 ), ancak \n" #~ "FORMAT d,o,u,x den biri olduğunda SAYI yerine sizeof(char) anlamına " #~ "gelen\n" #~ "C, sizeof(short) anlamına gelen S veya sizeof(long) anlamana gelen L de\n" #~ "gelebilir. Eğer FORMAT f ise, SAYI yerine sizeof(float) anlamına gelen\n" #~ "F, sizeof(double) anlamına gelen D veya sizeof(long double) anlamına\n" #~ "gelen L de gelebilir.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "RADIX yerine sayı sistemini belirtmek için bir harf yazılır:\n" #~ "onluk sistem için d, sekizlik sistem için o, 16lik sistem için x ve " #~ "hiçbiri\n" #~ "için n. BAYT'ın başına 0x veya 0X koyarak bu sayının 16lik sistemde \n" #~ "olduğunu belirtebilirsiniz. Sonuna b koyarsanız 512 ile, k koyarsanız\n" #~ "1024 ile, m koyarsanız 1048576 ile çarpılmasını istediğinizi belirtmis\n" #~ "olursunuz. Herhangi bir şekilin sonuna ( şekiller: a,c,d,f,o,u,x) z\n" #~ "eklerseniz od her satırın sonuna o satırdaki tüm okunabilir karakterleri\n" #~ "yazar." #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string in ardından bir sayı belirtilmemişse 3 belirtilmiş gibi kabul\n" #~ "eder. --width in ardından bir sayı belirtilmemişse 32 belirtilmiş kabul " #~ "eder.\n" #~ "Aksi belirtilmedikçe od -A o -t d2 -w 16 seçeneklerini kullanır\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "geçersiz format `%s'" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "geçersiz format `%s';\n" #~ "bu sistem, yerleşik %lu baytlık tamsayı türü desteklemiyor" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "geçersiz format `%s';\n" #~ "bu sistem %lu baytlık bir kayan ondalık (floating point) türü " #~ "desteklemiyor" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "format `%2$s' içinde geçersiz `%1$c' karakteri" #~ msgid "cannot skip past end of combined input" #~ msgstr "" #~ "girdinin dikkate alınmayacak bölümü toplam girdiden \n" #~ "daha büyük verilmiş" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "geçersiz çıktı adres radix'i `%c'; [doxn] harflerinden biri olmalı" #~ msgid "no type may be specified when dumping strings" #~ msgstr "dizgeler çıktılanırken tür belirtilemez" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Eski kullanım kipi en fazla bir dosya destekler." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "atlanacak baytlar + okunacak baytlar çok büyük" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "uyarı: geçersiz genişlik %lu; %d kullanılıyor" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: bçm=\"%s\" genişlik=%d\n" #~ msgid "standard input is closed" #~ msgstr "standart girdi kapalı" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Standart çıktıya her DOSYAdan aynı sırada olan satırları aralarına \n" #~ "tablar koyarak yazar. DOSYA adı verilmediğinde veya - olduğunda standart\n" #~ "girdiden okur\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LISTE TABlar yerine LISTE'deki karakterleri kullanır\n" #~ " -s, --serial Her dosyayı (paralel olarak yazmak yerine) \n" #~ " arka arkaya yazar\n" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... İSİM...\n" #~ msgid "nonportable character %s in file name %s" #~ msgstr "%2$s dosya adında taşınmaz karakter %1$s bulundu" # #, fuzzy #~ msgid "empty file name" #~ msgstr "normal boş dosya" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: maksimum dosya adı uzunluğu belirlenemedi" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "%1$lu limiti, %3$s dosya adının %2$lu uzunluğu ile aşıldı" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "%1$lu limiti, %3$s dosya adı bileşeninin %2$lu uzunluğu ile aşıldı" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Joseph Arceneaux ve David MacKenzie" #~ msgid "Login name: " #~ msgstr "Kullanıcı ismi:" #~ msgid "In real life: " #~ msgstr "Gerçekte:" #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Dizin:" #~ msgid "Shell: " #~ msgstr "Kabuk:" #~ msgid "Project: " #~ msgstr "Proje:" #~ msgid "Plan:\n" #~ msgstr "Plan:\n" #~ msgid "Login" #~ msgstr "Giriş" #~ msgid "Name" #~ msgstr "İsim" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Boşta" #~ msgid "When" #~ msgstr " zaman" #~ msgid "Where" #~ msgstr " yer" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... [KULLANICI]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l belirtilen KULLANICIlar için uzun biçemde çıktı üretir\n" #~ " -b uzun biçemde kullanıcının ev dizini ve kabuğunu " #~ "göstermez\n" #~ " -h uzun biçemde kullanıcının proje dosyasını göstermez\n" #~ " -p uzun biçemde kullanıcının plan dosyasını göstermez\n" #~ " -s kısa biçemde çıktı üretir, öntanımlı\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f kısa biçemde sütun başlığı satırını göstermez\n" #~ " -w kısa biçemde kullanıcının tam adını göstermez\n" #~ " -i kısa biçemde kullanıcının tam adı ve uzak makinayı " #~ "göstermez\n" #~ " -q kısa biçemde kullanıcının tam adı, uzak makina ve atıl " #~ "zamanını\n" #~ " göstermez\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Basit bir`finger' uygulaması; kullanıcı bilgilerini gösterir.\n" #~ "utmp dosyası olarak %s kullanılacaktır.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "kullanıcı adı belirtilmemiş; -l kullanırken en az bir tane belirtilmeli" #, fuzzy #~ msgid "Roland Huebner" #~ msgstr "Pete TerMaat ve Roland Huebner" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=İLK_SAYFA[:SON_SAYFA]' argüman eksik" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "Geçersiz sayfa aralığı `%s'" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l SAYFA_UZUNLUĞU' geçersiz satır sayısı: `%s'" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N SAYI' geçersiz başlangıç satır numarası: `%s'" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o KENAR' geçersiz satır göreli konumu: `%s'" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w SAYFA_GENİŞLİĞİ' geçersiz harf sayısı: `%s'" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W SAYFA_GENİŞLİĞİ' geçersiz harf sayısı: `%s'" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Paralel yazdırma yapılırken sütun sayısı belirtilemez." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Hem paralel yazım, hem altalta yazım yapılamaz." #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c' argüman içinde fazla harf veya geçersiz sayı: `%s'" #~ msgid "page width too narrow" #~ msgstr "sayfa genişliği çok dar" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "başlangıç sayfa numarası % sayfa sayısı % değerini " #~ "aşıyor" #~ msgid "Page number overflow" #~ msgstr "Sayfa numarası taşması" #~ msgid "Page %" #~ msgstr "Sayfa %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "DOSYA(ları)yı kolonlara ayırır veya sayfalandırır ve yazar .\n" #~ "\n" # #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +ILK_SAYFA[:SON_SAYFA], --pages=ILK_SAYFA[:SON_SAYFA]\n" #~ " yazmaya ILK_SAYFA'dan başlar (SON_SAYFA \n" #~ " belirtilmişse SON_SAYFA'da durur)\n" #~ " -SÜTUN, -columns=SÜTUN\n" #~ " yazıyı SÜTUN sütuna ayırır , ve -a seçeneği \n" #~ " verilmemişse sütunları yukardan aşağı yazar. \n" #~ " Her sayfada tüm sütunların satır sayılarını \n" #~ " aynı yapar\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across satırları yukardan aşağı yerine soldan sağa yazar.\n" #~ " bu seçenek -KOLON ile kullanılır\n" #~ " -c, --show-control-chars\n" #~ " şapka(^G) ve sekizli ters kesik notasyonunu \n" #~ " kullanarak kontrol karakterlerini de gösterir\n" #~ " -d, --double-space\n" #~ " çift aralık bırakarak yazar\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMAT\n" #~ " başlık tarihini yazarken FORMAT'ı kullanır\n" #~ " -e[KARAKTER[GENISLIK]], --expand-tabs[=KARAKTER[GENISLIK]]\n" #~ "\t\t KARAKTER(KARAKTER belirtilmediğinde TAB) yerine \n" #~ " GENISLIK(GENISLIK belirtilmediğinde 8) tane \n" #~ " boşluk koyar\n" #~ " -F, -f, --form-feed\n" #~ " yenisatır karakteri yerine (\\n) formfeed (\\f) \n" #~ " karakteri kullanarak sayfaları ayırır\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h BASLIK, --header=BASLIK\n" #~ " Başlık olarak dosya ismi yerine BASLIK'ı\n" #~ " kullanır ( başlık ortalanarak yazılır),\n" #~ " -h \"\" boş bir satır yazar, -h\"\" kullanmayın\n" #~ " -i[KAR[GEN]], --output-tabs[=KAR[GEN]]\n" #~ " boşluk gördüğü yere GEN tane KAR koyar. GEN " #~ "belirtil-\n" #~ " mediğinde 8 , KAR belirtilmediğinde TAB\n" #~ " kullanır\n" #~ " -J, --join-lines birden fazla kolondan oluşan çıktılarda \n" #~ " kolonları birleştirip bir satır oluşturur\n" #~ " -W seçeneğinin satırları kısaltmasına izin vermez,\n" #~ " kolonları hizalamaz, --sep-string[=KAR] ayraçları\n" #~ " belirler\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l SAYFA_UZUNLUGU, --length=SAYFA_UZUNLUGU\n" #~ " sayfa uzunluğunu SAYFA_UZUNLUGU yapar. Bu seçenek " #~ "kullanıl-\n" #~ " madıkca sayfa uzunluğu 56 satırdır. -F seçeneği " #~ "kullanıl-\n" #~ " dığında sayfa uzunluğu 63 tür.\n" #~ " -m, --merge tüm dosyaları yan yana yazar, her biri bir kolona, " #~ "çok uzun\n" #~ " satırları keser, ve yan yana gelen kolonlar tam bir " #~ "satır\n" #~ " oluşturuyorlarsa, onları da büyük tek bir kolonda " #~ "toplar \n" #~ " ( -J deki gibi)\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[AYIR[SAY]], --number-lines[=AYIR[SAY]]\n" #~ " satırları SAY basamak kullanarak numaralandırır\n" #~ " ve satır numarasını satırdan AYIR ile ayırır. (AYIR \n" #~ " belirtilmediğinde TAB kullanır, SAY " #~ "belirtilmediğinde \n" #~ " 5 kullanır)\n" #~ " -N SAYI, --first-line-number=SAYI\n" #~ " satır numaralandırmaya SAYI'dan başlar(örnek: pr -N 5 " #~ "ilk\n" #~ " satıra 5 , ikinci satıra 6,... numaralarını verir)\n" #~ " (+ILK_SAYFA seçeneğine de bakınız)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o KENAR, --indent=KENAR\n" #~ " her sayfanın başında KENAR boşluk bırakır. Bu " #~ "seçenek\n" #~ " -w veya -W yu etkilemez, bırakılan boşluk \n" #~ " SAYFA_GENISLIGI'ne eklenir\n" #~ " -r, --no-file-warnings\n" #~ " belirtilen dosyayı açamadığında hata mesajı vermez\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[KAR], --seperator[=KAR]\n" #~ " kolonları tek bir karakterle (KAR) ayır, bu seçenek\n" #~ " kullanılmadığında kolonlar TAB ile ayrılır. Bu " #~ "seçenek\n" #~ " diğer hiçbir seçeneğin satırları kısaltmasına\n" #~ " izin vermez\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SDIZI, --sep-string[=DIZI]\n" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " kolonları DIZI ile ayır. DIZI'yi \"\" isaretleri\n" #~ " arasında yazmayın. DIZI belirtilmediğinde kolonları \n" #~ " birbirinden ayırmaz\n" #~ " bu seçenek diğer kolon seçeneklerini etkilemez\n" #~ " -t, --omit-header sayfalara başlık ve bitiş koymaz\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " dosyaları sayfalandırmaz, başlık ve bitiş koymaz\n" #~ " -v, --show-nonprinting\n" #~ " sekizli terskesik notasyonunu kullanarak ekranda\n" #~ " normalde gözükmeyecek karakterleri de yazar\n" #~ " -w SAYFA_GENISLIGI, --width=SAYFA_GENISLIGI\n" #~ " sayfa genişliğini birden fazla kolon olan çıktılar " #~ "için\n" #~ " SAYFA_GENISLIGI yapar. Sayfa genişliği -w kullanıl-\n" #~ " madığında 72 dir. -s[KAR] seçeneği kullanıldığında " #~ "sayfa\n" #~ " genişliği otomatik olarak 72 olmaz. Hem -s " #~ "seçeneğini\n" #~ " kullanmak hem de sayfa genişliğinin ayarlı olmasını " #~ "istiyor-\n" #~ " sanız -w seçeneğini mutlaka kullanın\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W SAYFA_GENISLIGI, --page-width=SAYFA_GENISLIGI\n" #~ " sayfa genişliğini her çeşit çıktı için " #~ "SAYFA_GENISLIGI\n" #~ " yapar( -W kullanılmadığında sayfa genişliği 72'dir ). " #~ "-J \n" #~ " seçeneği belirtilmedikçe uzun satırları keser. Bu " #~ "seçenek\n" #~ " ve -s ,-S seçenekleri birbirlerini etkilemezler\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "pr -l nn seçeneği nn 11 den küçükse -T seçeneği de verilmiş gibi kabul " #~ "eder\n" #~ "nn üçten küçükse ve -F de verilmişse -T gene verilmiş kabul edilir. " #~ "DOSYA \n" #~ "belirtilmediğinde veya - olduğunda standart girdiden okur\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Kullanımı: %s [DEĞİŞKEN]...\n" #~ " veya: %s SEÇENEK\n" #~ "Çevre DEĞİŞKENi verilmezse tümünü listeler.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "uyarı: %s: karakter sabitini izleyen karakter(ler) yoksayıldı" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s BİÇEM [ARGÜMAN]...\n" #~ " veya: %s SEÇENEK\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "ARGÜMAN(lar)ı BİÇEM'e göre gösterir.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "BİÇEM çıktıyı, C printf işlevindeki gibi biçemler. Yorumlanan " #~ "işlemimleri:\n" #~ "\n" #~ " \\\" çift tırnak karakterini gösterir\n" #~ " \\NNN Sekizlik değeri NNN olan karakteri gösterir (3 haneye kadar)\n" #~ " \\\\ tersbölü karakterini gösterir\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a uyarı zili (BEL)\n" #~ " \\b bir önceki karakteri siler\n" #~ " \\c alt satıra geçme karakterini engeller\n" #~ " \\f sayfa sonuna kadar imleci ilerletir\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n alt satıra geçer\n" #~ " \\r imleci satır başına taşır\n" #~ " \\t imleci yatay sekme kadar ilerletir\n" #~ " \\v imleci düşey sekme kadar ilerletir\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH onaltılık değeri HH olan bayt (2 haneye kadar)\n" #~ " \\uHHHH onaltılık değeri HHHH olan Unicode (ISO/IEC 10646) karakteri " #~ "(4 haneli)\n" #~ " \\UHHHHHHHH onaltılık değeri HHHHHHHH olan Unicode karakteri (8 " #~ "hane)\n" #, fuzzy #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% tek bir % işaretini gösterir\n" #~ " %b ARGÜMAN `\\' öncelemeli bir dizge olarak yorumlanır\n" #~ "\n" #~ "ve ARGÜMANlar önce uygun bir türe dönüştürülerek diouxXfeEgGcs\n" #~ "karakterlerinden biri ile biten tüm C biçem tanımlamaları kullanılır.\n" #~ "Değişken genişlikler de desteklenmiştir.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: bir sayısal argüman gerekli" #~ msgid "%s: value not completely converted" #~ msgstr "%s: değer tamamen dönüştürülmedi" #~ msgid "missing hexadecimal number in escape" #~ msgstr "öncelemde onaltılık sayı yok" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "evrensel karakter ismi \\%c%0*x geçersiz" #~ msgid "invalid field width: %s" #~ msgstr "geçersiz satır genişliği: %s" #~ msgid "invalid precision: %s" #~ msgstr "geçersiz kesinlik: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: geçersiz çevrim tanımı" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "uyarı: `%s'den başlayarak fazladan argümanlar yoksayıldı" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (`%s' düzenli ifadesi için)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... [GİRDİ]... (-G olmaksızın)\n" #~ " veya: %s -G [SEÇENEK]... [GİRDİ [ÇIKTI]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "girdi dosyasındaki kelimelerin (contextleriyle beraber),bir " #~ "permutasyonunu \n" #~ " oluşturur.\n" #, fuzzy #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference Satırbaşlarına referans bilgileri " #~ "koyar\n" #~ " -C, --copyright Kopyalama hakkı bilgilerine ve " #~ "şartlarını\n" #~ " gösterir\n" #~ " -G, --traditional System V'deki ptx gibi davranır\n" #~ " -F, --flag-truncation=DİZGE Satırları kesmesi gerektiğinde satırı \n" #~ " kestiği yeri DİZGE (string) ile " #~ "belirtir\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=DİZGE TeX formatında çıktı oluştururken `xx' " #~ "yerine\n" #~ " DİZGE makrosunu kullanır\n" #~ " -O, --format=roff roff direktifleri formatında çıktı " #~ "oluşturur\n" #~ " -R, --right-side-refs -A seçeneğinde oluşturulan " #~ "referansları \n" #~ " satırbaşına değil, satırsonuna koyar( -" #~ "A \n" #~ " ile beraber kullanımı anlamlı bir " #~ "seçenek)\n" #~ " -S, --sentence-regexp=REGEXP satır sonlarını REGEXP'i (REGEXP = " #~ "regular\n" #~ " expression (düzenli ifade) ) \n" #~ " -T, --format=tex TeX formatında çıktı oluştur\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP anahtar kelimeleri REGEXP'i kullanarak \n" #~ " belirler\n" #~ " -b, --break-file=DOSYA DOSYA'daki karakterlere bakarak kelime \n" #~ " sonlarını belirler\n" #~ " -f, --ignore-case büyük/küçük harf ayrımı yapmaz\n" #~ " -g, --gap-size=SAYI çıktının kolonları arasındaki boşluk " #~ "genişliği\n" #~ " SAYI olur\n" #~ " -i, --ignore-file=DOSYA girdi üzerinde çalışırken DOSYA daki \n" #~ " kelimeleri dikkate almaz\n" #~ " -o, --only-file=DOSYA girdide sadece DOSYA'daki kelimeleri\n" #~ " dikkate alır\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references her satırın ilk alanını referans " #~ "olarak \n" #~ " kullanır\n" #~ " -t, --typeset-mode [henüz çalışmayan bir seçenek]\n" #~ " -w, --width=SAYI çıktıdaki kolon sayısı SAYI olur \n" #~ " (referans hariç)\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "DOSYA belirtilmediğinde veya - olduğunda standart girdiden okur. \n" #~ "`-F /' seçeneği verilmiş gibi çalışır\n" #~ msgid "invalid gap width: %s" #~ msgstr "geçersiz boşluk genişliği: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Çalışılan dizinin tam dosya yolunu gösterir.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "%s dizinine chdir başarısız" #~ msgid "failed to stat %s" #~ msgstr "%s durumlanamadı" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "%s içinde eşleşen i-düğümlü dizin girdisi bulunamadı" #~ msgid "ignoring non-option arguments" #~ msgstr "seçenek olmayan argümanlar yoksayılıyor" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Kullanım: %s [SEÇENEK]... [DOSYA]\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Bir sembolik bağın değerini standart çıktıda gösterir.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize verilen yoldaki her bileşende her " #~ "sembolik\n" #~ " bağı döngüsel olarak izler;\n" #~ " en son yol bileşeni haricindeki herşey " #~ "var\n" #~ " olmalıdır.\n" #~ " -e, --canonicalize-existing verilen yoldaki her bileşende her " #~ "sembolik\n" #~ " bağı döngüsel olarak izler;\n" #~ " bütün yol bileşenleri var olmalıdır.\n" #~ " -m, --canonicalize-missing verilen yoldaki her bileşende her " #~ "sembolik\n" #~ " bağı döngüsel olarak izler;\n" #~ " bileşenlerin var olması gerekmez.\n" #~ " -n, --no-newline sonlayan yeni satırı yazdırmaz.\n" #~ " -q, --quiet,\n" #~ " -s, --silent çoğu hata iletisini bastırır\n" #~ " -v, --verbose hata iletilerini verir\n" #, fuzzy #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -f, --canonicalize verilen yolun bileşenlerinde yer alan her " #~ "sembolik\n" #~ " bağı döngüsel olarak takip eder.\n" #~ " -n, --no-newline en sonuna yenisatır eklemez.\n" #~ " -q, --quiet,\n" #~ " -s, --silent pek çok hata iletisini göstermez.\n" #~ " -v, --verbose hata iletilerini gösterir.\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "%s dizinine chdir başarısız" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "dizin %s açılamadı" #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "%s dev/ino'yu değiştirdi" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "%s dizini oluşturulamıyor" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "Uyarı: Döngülü dizin yapısı\n" #~ "Bu hemen her zaman bozulmuş bir dosya sisteminiz olduğunu gösterir.\n" #~ "SİSTEM YÖNETİCİNİZE HABER VERİN.\n" #~ "Aşağıdaki dizin bu çevrimin bir parçası:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: korumalı dizin %s'nin içine inilsin mi?" #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: %s dizininin içine inilsin mi?" #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: korumalı %s %s silinsin mi?" #~ msgid "%s: remove %s %s? " #~ msgstr "%s: %s %s silinsin mi?" #~ msgid "removed directory: %s\n" #~ msgstr "%s dizini silindi\n" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "%s dizinine chdir başarısız" #~ msgid "cannot remove directory %s" #~ msgstr "dizin %s silinemiyor" #, fuzzy #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "'..''e %s dizininden çıkılamaz" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "dizin %s silinemiyor" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "dizin %s silinemiyor" #~ msgid "cannot restore current working directory" #~ msgstr "çalışılan dizine geri dönülemedi" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Kullanım: %s [SEÇENEK]... DOSYA...\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root `/' için özel işlem yapma (öntanımlı)\n" #~ " --preserve-root `/' üzerinde döngüsel işlem yapma\n" #~ " -r, -R, --recursive yinelemeli olarak dizinlerin içlerindekileri " #~ "siler\n" #~ " -v, --verbose ne yapıldığını anlatır\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Adı '-' ile başlayan bir dosyayı silmek için, örneğin '-foo' \n" #~ "aşağıdaki komutlardan birini kullanın:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Not: Eğer bir dosyayı silerken rm kullandıysanız, genelde o dosyanın\n" #~ "içindekileri geri almanız mümkündür. Eğer dosya içeriğinin gerçekten " #~ "geri\n" #~ "alınamaz olarak silinmesini istiyorsanız, shred komutunu kullanın.\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: %s %s silinsin mi?" #~ msgid "removing directory, %s" #~ msgstr "dizin %s siliniyor" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "dizin %s silinemiyor" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Kullanım: %s [SEÇENEK]... DİZİN...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "DİZİN(ler) boş ise siler.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " yalnızca bir dizinin boş olmamasından kaynaklanan \n" #~ " hataları dikkate almaz\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents DİZİN'i siler, ondan sonra o yolun her bileşenindeki\n" #~ " dizinleri silmeye çalışır. Örnek: 'rmdir -p a/b/c'\n" #~ " rmdir a/b/c a/b a' komutuna eşittir.\n" #~ " -v, --verbose işlenen her dizin için durum çıktılar\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "%s açılamadı" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "%s'nın öznitelikleri alınamadı" #, fuzzy #~ msgid "no command specified" #~ msgstr "süreç kimliği belirtilmemiş" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "%s açılamadı" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "%s açılamadı" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "%s durumlanamadı" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "%s durumlanamadı" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "%s açılamadı" #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "%s'in izinleri eski haline getirilemedi" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Kullanımı: %s [SEÇENEK]... SON\n" #~ " veya: %s [SEÇENEK]... İLK SON\n" #~ " ya da: %s [SEÇENEK]... İLK ARTIŞ SON\n" #, fuzzy #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "İLK'ten SON'a kadar rakamları, ARTIŞ atlayarak yazar.\n" #~ "\n" #~ " -f, --format=BİÇEM printf tarzı gerçel sayı BİÇEMi kullanır " #~ "(öntanımlı: %g)\n" #~ " -s, --separator=DİZGE rakamları DİZGE ile ayırır (öntanımlı:\\n)\n" #~ " -w, --equal-width rakamları sıfırla yastıklayarak eşit genişliğe " #~ "getirir\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "İLK ve ARTIŞ belirtilmemişse öntanımlı olarak 1 kabul edilir.\n" #~ "Eğer ARTIŞ verilmemiş ise, SON, İLK'den küçük dahi olsa, 1 olarak kabul " #~ "edilir.\n" #~ "İLK, ARTIŞ ve SON gerçel sayılar olarak yorumlanır.\n" #~ "İLK SONdan küçükse ARTIŞ pozitif, aksi takdirde negatif olmalıdır.\n" #~ "Belirtildiği takdirde BİÇEM en azından bir tane printf tarzı gerçel\n" #~ "sayı çıktı biçemi (%e, %f, %g den birini) içermelidir.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "gerçel sayı argüman geçersiz: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "biçem dizgesi geçersiz: `%s'" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "sonekte gereğinden fazla %% dönüşüm belirleyicisi var" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "biçem dizgesi geçersiz: `%s'" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "eş genişlikli dizgeler için biçem dizgesi belirtilmeyebilir" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s KULLANICIADI BİÇEM [ARGÜMAN]...\n" #~ " veya: %s SEÇENEK\n" #, fuzzy #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Ek grupları bırakır, belirtilen KULLANICIADI'nın kullanıcı ve grup\n" #~ "kimliklerini alır ve KOMUT'u belirtilen ARGÜMAN'larla çalıştırır.\n" #~ "Eğer gereken UID ve GID'i alamamışsa 111 durumu ile çıkar.\n" #~ "Aksi halde, KOMUT'un çıkış durumu ile çıkar.\n" #~ "Bu program yalnızca root (UID=0) tarafından çalıştırıldığı zaman " #~ "faydalıdır.\n" #~ "\n" #~ msgid "unknown user-ID: %s" #~ msgstr "bilinmeyen kullanıcı kimliği: %s" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "ek grup atanamadı" #~ msgid "cannot set group-ID to %lu" #~ msgstr "grup kimliği %lu olarak atanamıyor" #~ msgid "cannot set user-ID to %lu" #~ msgstr "kullanıcı kimliği %lu olarak atanamıyor" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Kullanım: %s [SEÇENEK] DOSYA [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Belirtilen DOSYA(ların) üzerine bir kaç defa yazarak pahalı donanım \n" #~ "çözümleri ile bile dosya içeriğinin kurtarılabilmesini zorlaştırır.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force eğer gerekli olursa yazma izni verir\n" #~ " -n, --iterations=N Öntanımlı (%d) defa üzerine yazma yerine N defa " #~ "üzerine\n" #~ " yazar\n" #~ " -s, --size=N N sayıda baytı bu işlemden geçirir\n" #~ " (k, M, G gibi sonekler kabul edilir)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove üzerine yazdıktan sonra dosyayı sıfırlar ve siler\n" #~ " -v, --verbose ilerlemeyi gösterir\n" #~ " -x, --exact dosya boyutunu sonraki tam bloğa yuvarlamaz\n" #~ " bu işlem, normal dosya olmayan dosyalar için " #~ "öntanımlıdır\n" #~ " -z, --zero işlemi gizlemek için en son olarak üzerine sıfırlarla " #~ "yazar\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Eğer DOSYA - ise, standart çıktıyı bu işleme tabi tutar\n" #~ "\n" #~ "Eğer --remove (-u) belirtilmişse DOSYA(ları) siler. Öntanımlı değer " #~ "dosyaları\n" #~ "silmez çünkü bu komut genelde /dev/hda gibi aygıt dosyaları üzerinde \n" #~ "çalıştırılır ve o dosyalar genelde silinmemelidir. Normal dosyalar " #~ "üzerinde\n" #~ "çalıştırıldığı zaman genelde --remove seçeneği kullanılır.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "DİKKAT: shred komutu dosya sisteminin datayı yerinde \n" #~ "üzerine yazdığı varsayımına dayanır. Bu genelde yapılan işlemdir, \n" #~ "fakat pek çok modern dosya sistemi bu varsayıma uymaz. Aşağıda shred\n" #~ "komutunun işe yaramadığı dosya sistemleri örneklenmiştir:\n" #~ "\n" #, fuzzy #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* AIX ve Solaris ile gelen (ve JFS, ReiserFS, XFS vs.) gibi kayıt düzenli " #~ "veya\n" #~ " jurnalli dosya sistemleri\n" #~ "\n" #~ "* RAID gibi çoklu data yazan ve bazı yazma işlemleri başarısız olsa bile " #~ "devam\n" #~ " edebilen dosya sistemleri\n" #~ "\n" #~ "* Network Appliance'ın NFS sunucusu gibi dosya sisteminin bir " #~ "görüntüsünü \n" #~ " kaydeden dosya sistemleri\n" #~ "\n" #, fuzzy #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "* geçici yerlerde arabellek oluşturan dosya sistemleri (NFS sürüm 3 \n" #~ " istemcileri gibi)\n" #~ "\n" #~ "* sıkıştırılmış dosya sistemleri\n" #~ "\n" #~ "Buna ek olarak, dosyasistem yedekleri ve uzak yansılar dosyanın\n" #~ "silinemeyen kopyalarını taşıyabilir ve bu shred işleminden geçirilmiş\n" #~ "bir dosyanın tekrar oluşturulabilmesini sağlayabilir.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: fdatasync başarısız" #~ msgid "%s: fsync failed" #~ msgstr "%s: fsync başarısız" #~ msgid "%s: cannot rewind" #~ msgstr "%s: geri gelinemiyor" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: geçiş %lu/%lu (%s)" #~ msgid "%s: error writing at offset %s" #~ msgstr "%s %s göreli konumunda yazdırma hatası" #~ msgid "%s: lseek failed" #~ msgstr "%s: arama (lseek) başarısız" #~ msgid "%s: file too large" #~ msgstr "%s: dosya çok büyük" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: geçiş %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: geçiş %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: fstat başarısız" #~ msgid "%s: invalid file type" #~ msgstr "%s: geçersiz dosya tipi" #~ msgid "%s: file has negative size" #~ msgstr "%s: dosya büyüklüğü negatif" #~ msgid "%s: error truncating" #~ msgstr "%s: kısaltmada hata" #~ msgid "%s: fcntl failed" #~ msgstr "%s: fcntl başarısız" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: yalnızca eklenebilir kipte dosya belirteçine shred uygulanamaz" #~ msgid "%s: removing" #~ msgstr "%s: siliniyor" #~ msgid "%s: renamed to %s" #~ msgstr "%s: %s olarak yeniden adlandırıldı" #~ msgid "%s: failed to remove" #~ msgstr "%s: silinemedi" #~ msgid "%s: removed" #~ msgstr "%s: silindi" #~ msgid "%s: failed to close" #~ msgstr "%s: kapatılamadı" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: yazmak için açılamadı" #~ msgid "%s: invalid number of passes" #~ msgstr "%s geçersiz sayıda geçiş" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "birden fazla çıktı dosyası belirtilmiş" #~ msgid "%s: invalid file size" #~ msgstr "%s: geçersiz dosya büyüklüğü" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Kullanımı: %s [SEÇENEK]... SON\n" #~ " veya: %s [SEÇENEK]... İLK SON\n" #~ " ya da: %s [SEÇENEK]... İLK ARTIŞ SON\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Her DOSYA'daki satırların seçilen bölümlerini standart çıktıya yazdırır.\n" #~ "\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "birden fazla -l veya -t seçeneği belirtilmiş" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "geçersiz girdi bayrağı: %s" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "geçersiz satır genişliği: %s" #~ msgid "multiple output files specified" #~ msgstr "birden fazla çıktı dosyası belirtilmiş" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "`%s' operandı fazla" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Kullanımı: %s SAYI[SONEK]...\n" #~ " veya: %s SEÇENEK\n" #~ "SAYI saniye kadar bekletir.\n" #~ "SONEK saniye için `s' (öntanımlı), dakika için `m', saat için `h' ve \n" #~ "gün için `d' olabilir. Birçok benzerinde SAYI için bir tamsayı\n" #~ "değer gerekirken, burada SAYI bir gerçel sayı olabilir.\n" #~ "\n" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "`%s' zaman aralığı geçersiz" #~ msgid "cannot read realtime clock" #~ msgstr "gerçekzaman saati okunamıyor" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "DOSYA(ların)nın sıralanmış halini standart çıktıya yazar.\n" #~ "sort sıralama yaparken her satırın belli bir bölümune bakarak sıralama\n" #~ "yapar. Baktığı bölüme sıralama anahtarı denir. Bu anahtarı aşağıdaki\n" #~ "seçenekleri kullanarak belirtebilirsiniz. Seçeneklerden sonra " #~ "anahtarların\n" #~ "nasıl oluşturulduğuyla ilgili bilgi bulabilirsiniz.\n" #~ "\n" #~ "Sıralama seçenekleri:\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks sıralanacak alanlarda ve sıralama \n" #~ " anahtarlarından önce gelen boşlukları " #~ "dikkate \n" #~ " almaz\n" #~ " -d, --dictionary-order anahtarlarda sadece [a-zA-Z0-9] " #~ "karakterlerini\n" #~ " dikkate alır\n" #~ " -f, --ignore-case sıralarken büyük/küçük harf " #~ "farklılıklarını \n" #~ " dikkate almaz \n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort sayısal değere bakarak sıralar, -n " #~ "seçeneğini de\n" #~ " de verilmiş kabul eder \n" #~ " ( -n seçeneğinden farkı : 1.e-3 gibi \n" #~ " sayıları da okuyabilir. -n seçeneğinden " #~ "çok \n" #~ " daha yavaş çalışır, gerekmedikçe bu " #~ "seçeneği \n" #~ " kullanmayın)\n" #~ " -i, --ignore-nonprinting anahtarlarda sadece yazılabilir yazılabilir " #~ "=\n" #~ " printable, Örnekler: a ? < , ...) \n" #~ " karakterleri dikkate alır\n" #~ " -M, --month-sort anahtarın ilk üç harfini alır, bir ay ismi\n" #~ " nin kısaltmasıysa, ayların sırasına göre\n" #~ " sıralar. Ay isimlerinin kısa yazılış-\n" #~ " larını LC_TIME çevre değiskeninin\n" #~ " belirttigi locale dosyasından bakar\n" #~ " (çevre değişkeni = environment variable)\n" #~ " -n, --numeric-sort sayısal değerlere göre sıralar\n" #~ " -r, --reverse tersine sıralar\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "Diger seçenekler:\n" #~ "\n" #~ " -c, --check dosyalar sıralı mı kontrol eder; sıralamaz\n" #~ " -k, --key=POS1[,POS2] Sıralama anahtarı belirtmek için kullanılan \n" #~ " seçenek:\n" #~ " POS1 de başlayan POS2 de biten bir anahtar \n" #~ " belirler (alan numarasını ve karakterin\n" #~ " kelime içindeki yerini 1'den başlayarak " #~ "sayar)\n" #~ " -m, --merge sıralama yapma; daha önceden sıralanmış \n" #~ " dosyaları birleştirir\n" #~ " -o, --output=DOSYA sonucu DOSYA'ya yazar\n" #~ " -s, --stable Eğer tüm satırlar karşılaştırıldıklarında " #~ "eşit\n" #~ " gözüküyorlarsa dosyayı aynı bırakır\n" #~ " (bu seçenek kullanılmadığında sort yukarda \n" #~ " belirtilen durumla karşılaştığında " #~ "satırları \n" #~ " baştan sona bayt bayt karşılaştırır)\n" #~ " -S, --buffer-size=SAYI ana bellekten SAYI genişliğinde alan " #~ "kullanır\n" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-seperator=SEP kelimeleri boşluk yerine SEP ile ayrılmış \n" #~ " kabul eder\n" #~ " -T, --temporary-directory=DIR geçici dizin olarak $TMPDIR veya %s " #~ "yerine \n" #~ " DIR'ı kullanır. \n" #~ " -u, --unique -c ile kullanıldığında girdide her satırın \n" #~ " özgün olup olmadığını da kontrol eder. -c " #~ "ile\n" #~ " kullanılmadığında sıralama yaparken aynı " #~ "olan \n" #~ " satırlardan sadece birini yazar \n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated satırları satır-sonu karakteri (\\n) \n" #~ " yerine 0'la (0 baytı) bitirir\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "Sıralama anahtarları POS1, POS2 argümanları F[.C][SEC] ile belirtilir.\n" #~ "Burda F alan numarası C de karakterin alandaki yeridir.-k seçeneği " #~ "verildiğinde\n" #~ "alan numarası ve karakterine alandaki yeri 1'den başlanarak sayılır " #~ "(eski \n" #~ "kullanım şeklinde 0'dan başlanarak sayılır). SEC ise yukarda belirtilen\n" #~ "sıralama seçeneklerinden oluşur. (Hem en başta hem POS1 veya POS2 nin \n" #~ "içinde sıralama seçeneği belirtilmişse POS1, POS2 nin içindekiler " #~ "kullanır).\n" #~ "Anahtar belirtilmemişse sort bütün satırı anahtar olarak kullanır.\n" #~ "\n" #~ "SAYI'dan sonra aşağıdaki soneklerden biri gelebilir:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "%%(hafızayı yüzdeyle belirtmek için) , b, k (varsayılan), M, G, T, P, E, " #~ "Z, Y.\n" #~ "\n" #~ "DOSYA verilmediğinde veya - olduğunda standart girdiden okur.\n" #~ "\n" #~ "*** UYARI ***\n" #~ "Çevre değişkenlerince belirlenen locale dosyası sıralamayı etkiler.\n" #~ "bayt değerlerine göre sıralama için LC_ALL çevre değişkenine C değerini " #~ "atayın.\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "%s'e yazılıyor" #~ msgid "cannot create temporary file" #~ msgstr "geçici dosya oluşturulamadı" #~ msgid "open failed" #~ msgstr "açma işlemi başarısız" #~ msgid "fflush failed" #~ msgstr "fflush başarısız" #~ msgid "close failed" #~ msgstr "kapatma işlemi başarısız" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "açma işlemi başarısız" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "geçici dosya oluşturulamadı" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "geçici dosya oluşturulamadı" #~ msgid "write failed" #~ msgstr "yazma başarısız oldu" #~ msgid "warning: cannot remove: %s" #~ msgstr "uyarı: %s silinemedi" #~ msgid "stat failed" #~ msgstr "stat başarısız" #~ msgid "read failed" #~ msgstr "okuma başarısız oldu" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: sırasız: " #~ msgid "standard error" #~ msgstr "standart hata" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: geçersiz alan tanımı `%s'" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: `%s' başlangıcında geçersiz sayım" #~ msgid "invalid number after `-'" #~ msgstr "`-' den sonra geçersiz sayı" #~ msgid "invalid number after `.'" #~ msgstr "`.' dan sonra geçersiz sayı" #~ msgid "stray character in field spec" #~ msgstr "alan tanımında fazla harf" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "birden fazla hedef dizin belirtilmiş" #~ msgid "invalid number at field start" #~ msgstr "alan başlangıcında geçersiz sayı" #~ msgid "field number is zero" #~ msgstr "alan numarası sıfır" #~ msgid "character offset is zero" #~ msgstr "sıralama anahtarında belirtilen karakter yeri sıfır" #~ msgid "invalid number after `,'" #~ msgstr "`,' den sonra geçersiz sayı" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "-c seçeneği ile ekstra işlenen %s kullanılamaz" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Kullanım: %s [SEÇENEK] [GİRDİ [ÖNEK]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "GIRDI'yi eşit büyüklükte parçalara bölüp ONEKaa, ONEKab, ... isimli\n" #~ "dosyalara kor. Ötanımlı boy 1000 satır ve öntanımlı ONEK `x'tir.\n" #~ "GIRDI belirtilmediğinde veya - olduğunda standart girdiyi kullanır\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N parça isimlerinin ONEK'ten sonraki " #~ "bölümlerinin \n" #~ " uzunluğu N olur ( -a kullanılmadıkça %d) \n" #~ " -b, --bytes=SAYI dosyayı N bayt parçalara böler\n" #~ " -C, --line-bytes=SAYI parçaların her satırında en fazla N bayt olur\n" #~ " -d, --numeric-suffixes alfabetik değil, nümerik sonekler kullanır\n" #~ " -l, --lines=SAYI her parçada N tane satır olur\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose her parçayı dosyasına koymadan önce \n" #~ " ne yaptığına dair bilgi verir (bilgi standart " #~ "hata'ya\n" #~ " yazılır)\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BLOK ve BAYTlar aşağıdaki çarpan sonekleri ile bitebilirler:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, ve T, P, E, Z, Y. için diğerleri\n" #~ "\n" #~ "Her CONV sembolü:\n" #~ "\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "`%s' dosyası oluşturuluyor\n" #~ msgid "cannot split in more than one way" #~ msgstr "-C -l -b seçenekleri beraber kullanılmaz" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: -a seçeneğine verilen arguman geçersiz" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: geçersiz bayt sayısı" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: geçersiz satır sayısı" #~ msgid "line count option -%s%c... is too large" #~ msgstr "satır sayma seçeneği -%s%c... fazla büyük" #~ msgid "invalid number of lines: 0" #~ msgstr "geçersiz satır sayısı: 0" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: `%c%s' seçeneği bilinmiyor\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%%%c: yönerge geçersiz" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "dizge sonunda geçersiz terskesik gösterimi" #~ msgid "cannot read file system information for %s" #~ msgstr "%s için dosyasistem bilgisi okunamadı" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Kullanım: %s [SEÇENEK] DOSYA...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Dosyalar için geçerli sözdizimler (--file-system seçeneği olmaksızın)\n" #~ "\n" #~ " %A İnsan tarafından okunabilir biçemde erişim hakları\n" #~ " %a Sekizlik değer halinde erişim hakları\n" #~ " %B `%b' ile verilen her bloğun bayt cinsinden boyu\n" #~ " %b Ayrılan blok sayısı (bkz. %B)\n" #, fuzzy #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %D Onaltılık düzende aygıt numarası\n" #~ " %d Onluk düzende aygıt numarası\n" #~ " %F Dosya türü\n" #~ " %f Onaltılık düzende ham (raw) kip\n" #~ " %G Sahibin grup adı\n" #~ " %g Sahibin grup kimlik no'su\n" #, fuzzy #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Sabit bağ sayısı\n" #~ " %i Idüğüm sayısı\n" #~ " %N Eğer sembolik bağ ise çözümlenmiş ve tırnak içine alınmış dosya " #~ "adı\n" #~ " %n Dosya adı\n" #~ " %o IO blok büyüklüğü\n" #~ " %s Bayt cinsinden toplam büyüklük\n" #~ " %T Onaltılık minör aygıt türü\n" #~ " %t Onaltılık majör aygıt türü\n" #, fuzzy #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %U Sahibin kullanıcı adı\n" #~ " %u Sahibin kimlik no\n" #~ " %X Başlangıçtan beri saniye cinsinden son erişim zamanı\n" #~ " %x Son erişim zamanı\n" #~ " %Y Başlangıçtan beri saniye cinsinden son değişim zamanı\n" #~ " %y Son değişim zamanı\n" #~ " %Z Başlangıçtan beri saniye cinsinden son dosya değişim zamanı\n" #~ " %z Son dosya değişim zamanı\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Dosya sistemleri için geçerli biçem dizileri:\n" #~ "\n" #~ " %a Normal kullanıcıya izin verilen boş bloklar\n" #~ " %b Dosya sistemindeki toplam veri blokları\n" #~ " %c Dosya sistemindeki toplam dosya düğümleri\n" #~ " %d Dosya sisteminde boş dosya düğümleri\n" #~ " %f Dosya sisteminde boş bloklar\n" #, fuzzy #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Dosya sistem kimlik no (onaltılık)\n" #~ " %l Dosya isimlerinin maksimum uzunluğu\n" #~ " %n Dosya ismi\n" #~ " %s Optimal transfer blok büyüklüğü\n" #~ " %T İnsan okuyabilir şekilde tür\n" #~ " %t Onaltılık düzende tür\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Kullanımı: %s [-F AYGIT] [--file=AYGIT] [AYAR]...\n" #~ " veya: %s [-F AYGIT] [--file=AYGIT] [-a|--all]\n" #~ " ya da: %s [-F AYGIT] [--file=AYGIT] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Terminal karakteristiklerini değiştirir ve gösterir.\n" #~ "\n" #~ " -a, --all tüm ayarları okunabilir biçimde gösterir\n" #~ " -g, --save tüm ayarları stty-okuyabilir biçimde gösterir\n" #~ " -F, --file=AYGIT stdGirdi yerine belirtilen AYGITI açar ve kullanır\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "AYARdan önceki seçimlik `-' anlamı ters çevirir. * karakteri POSIX " #~ "olmayan\n" #~ "ayarları gösterir. Hangi ayarların kullanılabileceği sisteme göre " #~ "değişir.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Özel karakterler\n" #~ "* dsusp KRKT KRKT okuma sırasında dur (SIGSTOP) sinyali gönderecektir\n" #~ " eof KRKT KRKT dosya sonu karakteri olacak (girdiyi sonlandırır)\n" #~ " eol KRKT KRKT satır sonu karakteri olacak\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ "* eol2 KRKT satır sonu için diğer bir KRKT olacaktır\n" #~ " erase KRKT KRKT yazılan son karakteri silecektir\n" #~ " intr KRKT KRKT bir kesme (SIGINT) sinyali gönderecektir\n" #~ " kill KRKT KRKT bulunulan satırı silecektir\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ "* lnext KRKT KRKT izleyen özel karakterin yorumlanmasını " #~ "engelleyecektir\n" #~ " quit KRKT KRKT bir çıkış (SIGQUIT) sinyali gönderecektir\n" #~ "* rprnt KRKT KRKT bulunulan satırı yeniden yazacaktır\n" #~ " start KRKT KRKT durdurulduktan sonra çıktıyı yeniden başlatacaktır\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop KRKT KRKT çıktıyı durduracaktır\n" #~ " susp KRKT KRKT bir terminal dur (SIGSTOP) sinyali gönderecektir\n" #~ "* swtch KRKT KRKT başka bir kabuk katmanına geçecektir\n" #~ "* werase KRKT KRKT son sözcüğü silecektir\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Özel ayarlar:\n" #~ " N girdi/çıktı hızlarını N bit/s olarak ayarlar\n" #~ " * cols N çekirdeğe terminal genişliğini N karakter olarak " #~ "bildirir\n" #~ "* columns N cols N ile aynı\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N girdi hızını N olarak ayarlar\n" #~ "* line N terminal hat disiplinini N yapar\n" #~ " min N -icanon ile okumanın tamamlanması için gereken en az " #~ "karakter\n" #~ " sayısını N yapar\n" #~ " ospeed N çıktı hızını N olarak ayarlar\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "* rows N çekirdeğe terminal satır sayısını N olarak bildirir\n" #~ "* size çekirdeğe uygun satır ve sütun sayısını gösterir\n" #~ " speed terminal hızını gösterir\n" #~ " time N -icanon ile okuma zaman aşımını N/10 saniyeye ayarlar\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Denetim ayarları:\n" #~ " [-]clocal modem denetim sinyallerini geçersiz kılar\n" #~ " [-]cread girdi alımına izin verir\n" #~ "* [-]crtscts RTS/CTS uzlaşmasını etkinleştirir\n" #~ " csN karakter bit sayısını N olarak ayarlar, [5..8 bit " #~ "arasında]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb her karakter için iki durma biti kullanılır (`-' ile " #~ "bir)\n" #~ " [-]hup son işlem tty'yi kapatırken kapatma (SIGHUP) sinyali " #~ "gönderilir\n" #~ " [-]hupcl [-]hup ile aynı\n" #~ " [-]parenb çıktı için eşlik biti üretilir, girdi için eşlik biti " #~ "beklenir\n" #~ " [-]parodd tek eşlik biti kullanılır (`-' ile çift)\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Girdi ayarları:\n" #~ " [-]brkint kırma karakterleri kesme sinyali üretir\n" #~ " [-]icrnl satır başı karakterini alt satıra geçme\n" #~ " karakteri olarak yorumlar\n" #~ " [-]ignbrk kırma karakterlerini yoksayar\n" #~ " [-]igncr satır başı karakterlerini yoksayar\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar eşlik hataları olan karakterleri yoksayar\n" #~ "* [-]imaxbel girdi tamponu taştığında uyarı sesi üretir\n" #~ " [-]inlcr alt satıra geçme karakterini satır başı\n" #~ " karakteri olarak yorumlar\n" #~ " [-]inpck girdi eşlik denetimini etkinleştirir\n" #~ " [-]istrip girdi karakterlerinin yüksek (8.) bitini temizler\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "" #~ " * [-]iutf8 girdi karakterlerinin UTF-8 kodlu olduğunu varsayar\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "* [-]iuclc büyük harfleri küçük harf olarak yorumlar\n" #~ "* [-]ixany sadece başla karakteri değil herhangi bir karakter\n" #~ " girdiyi başlatır\n" #~ " [-]ixoff başla/dur karakterlerinin gönderimini etkinleştirir\n" #~ " [-]ixon XON/XOFF akış denetimini etkinleştirir\n" #~ " [-]parmrk eşlik hatalarını imler (255-0-karakter sıralamasıyla)\n" #~ " [-]tandem [-]ixoff ile aynı\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Çıktı ayarları:\n" #~ "* bsN geri silme tarzı gecikme, N [0..1] arasında\n" #~ "* crN satır başı tarzı gecikme, N [0..3] arasında\n" #~ "* ffN sayfa başı tarzı gecikme, N [0..1] arasında\n" #~ "* nlN alt satıra geçiş tarzı gecikme, N [0..1] arasında\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "* [-]ocrnl satır başını alt satıra geçiş olarak yorumlar\n" #~ "* [-]ofdel 0 karakteri yerine dolgu için silme karakterini kullanır\n" #~ "* [-]ofill gecikmeler için zamanlama yapmak yerine dolgu\n" #~ " karakterlerini kullanır\n" #~ "* [-]olcuc küçük harfleri büyük harf olarak yorumlar\n" #~ "* [-]onlcr alt satıra geçişi satır başı olarak yorumlar\n" #~ "* [-]onlret alt satıra geçiş karakteri satır başı yapar\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ "* [-]onocr satır başı karakterini ilk karakter olarak basmaz\n" #~ " [-]opost işlem sonrası çıktı\n" #~ "* tabN yatay sekme tarzı gecikme, N [0..3] arasında\n" #~ "* tabs tab0 ile aynı\n" #~ "* -tabs tab3 ile aynı\n" #~ "* vtN düşey sekme tarzı gecikme, N [0..1] arasında\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Yerel ayarlar:\n" #~ " [-]crterase silme karakterlerini gerisilme-boşluk-gerisilme olarak " #~ "yansılar\n" #~ "* crtkill satırları echoprt ve echoe ayarlarına uygun olarak siler\n" #~ "* -crtkill satırları echoctl ve echok ayarlarına uygun olarak siler\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ "* [-]ctlecho denetim karakterlerini şapkalı gösterim (`^c') ile " #~ "yansılar\n" #~ " [-]echo girdi karakterlerini yansılar\n" #~ "* [-]echoctl [-]ctlecho ile aynı\n" #~ " [-]echoe [-]crterase ile aynı\n" #~ " [-]echok karakteri sildikten sonra bir alt satıra geçiş yansılar\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ "* [-]echoke [-]crtkill ile\n" #~ " [-]echonl diğer karakterler yansılanmamış olsa bile\n" #~ " alt satıra geçişi yansılar\n" #~ "* [-]echoprt geriye doğru silinmiş karakterleri `\\' ve '/'\n" #~ " arasında yansılar\n" #~ " [-]icanon karakter, satır, sözcük silmeleri ve satır yenileme özel\n" #~ " karakterlerini etkinleştirir\n" #~ " [-]iexten POSIX olmayan özel karakterleri etkinleştirir\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig kesme, çıkış ve dondurma özel karakterlerini " #~ "etkinleştirir\n" #~ " [-]noflsh kesme ve çıkış özel karakterlerinden sonra güncellemeyi\n" #~ " geçersiz kılar\n" #~ "* [-]prterase [-]echoprt ile aynı\n" #~ "* [-]tostop terminale yazmaya çalışan artalandaki işleri durdurur\n" #~ "* [-]xcase icanon ile, büyük harfleri `\\' ile önceleyerek gösterir\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Birleşik ayarlar:\n" #~ "* [-]LCASE [-]lcase ile aynı\n" #~ " cbreak -icanon ile aynı\n" #~ " -cbreak icanon ile aynı\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked brkint ignpar istrip icrnl ixon opost isig icanon eof ve " #~ "eol\n" #~ " karakterlerinin öntanımlı değerleri ile aynı\n" #~ " -cooked raw ile aynı\n" #~ " crt echoe echoctl echoke ile aynı\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u ile aynı\n" #~ "* [-]decctlq [-]ixany ile aynı\n" #~ " ek karakter ve satır silme karakterlerinin öntanımlı\n" #~ " değerleriyle aynı\n" #~ " evenp parenb -parodd cs7 ile aynı\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp -parenb cs8 ile aynı\n" #~ "* [-]lcase xcase iuclc olcuc ile aynı\n" #~ " litout -parenb -istrip -opost cs8 ile aynı\n" #~ " -litout parenb istrip opost cs7 ile aynı\n" #~ " nl -icrnl -onlcr ile aynı\n" #~ " -nl icrnl -inlcr -igncr onlcr -ocrnl -onlret ile aynı\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp parenb parodd cs7 ile aynı\n" #~ " -oddp -parenb cs8 ile aynı\n" #~ " [-]parity [-]evenp ile aynı\n" #~ " pass8 -parenb -istrip cs8 ile aynı\n" #~ " -pass8 parenb istrip cs7 ile aynı\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0 ile " #~ "aynı\n" #~ " -raw cooked ile aynı\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, tüm özel\n" #~ " karakterlerin öntanımlı değerleriyle aynı.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Standart girdiye bağlı olan tty hattını yönetir. Argümansız\n" #~ "çalıştırıldığında iletişim hızını, hat disiplinini, stty sane ayarından\n" #~ "farklı ayarları gösterir. Ayarlarda KRKT yazıldığı gibi ya da ^c, 0x37, " #~ "0177\n" #~ "ya da 127 olarak gösterilmiş bir karakter olabilir. ^- veya undef " #~ "değerleri\n" #~ "bu özel karakteri geçersiz kılar\n" #~ msgid "only one device may be specified" #~ msgstr "sadee tek aygıt belirtilebilir" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "ayrıntılı çıktı seçenekleri ile stty-okuyabilir tarzı çıktı\n" #~ "seçenekleri birlikte kullanılamaz" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "bir çıktı tarzı belirtildiğinde kipler ayarlanamaz" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: bloklamayan kip sıfırlanamadı" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "%s argümanı geçersiz" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "`%s'de argüman kayıp" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "geçersiz satır belirleyicisi `%s'" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: istenen işlemlerin tümü yapılamıyor" #~ msgid "new_mode: mode\n" #~ msgstr "yeni_kip: kip\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: bu aygıt için boyut bilgileri yok" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "tamsayı argüman olarak `%s' geçersiz" #~ msgid "Password:" #~ msgstr "Parola:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: dev/tty açılamıyor" #~ msgid "cannot set groups" #~ msgstr "gruplar atanamıyor" #~ msgid "cannot set group id" #~ msgstr "grup kimliği atanamıyor" #~ msgid "cannot set user id" #~ msgstr "kullanıcı kimliği atanamıyor" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... [-] [KULLANICI [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Etkin kullanıcı ve grup kimliklerini KULLANICI olarak değiştirir.\n" #~ "\n" #~ " -, -l, --login kabuğu bir giriş kabuğu yapar\n" #~ " -c, --command=KOMUT -c ile kabukta tek bir KOMUT çalıştırır\n" #~ " -f, --fast kabuğu -f ile çalıştırır (csh veya tcsh " #~ "için)\n" #~ " -m, --preserve-environment çevre değişkenlerini sıfırlamaz\n" #~ " -p -m ile aynı\n" #~ " -s, --shell=KABUK /etc/shells dosyasında varsa KABUĞU " #~ "çalıştırır\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Sadece - ile -l uygulanır. KULLANICI verilmezse root varsayılır.\n" #~ msgid "user %s does not exist" #~ msgstr "%s diye bir kullanıcı yok" #~ msgid "incorrect password" #~ msgstr "parola yanlış" #~ msgid "using restricted shell %s" #~ msgstr "kısıtlı kabuk %s kullanılıyor" #~ msgid "warning: cannot change directory to %s" #~ msgstr "uyarı: %s dizinine geçilemiyor" #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Kayvan Aghaiepour ve David MacKenzie" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Her DOSYA'nın sağlama toplamını ve blok sayısını yazar.\n" #~ "\n" #~ " -r BSD toplama algoritmasını kullanır, blok genişliğini 1K " #~ "alır\n" #~ " -s, --sysv System V toplama algoritmasını kullanır, blok " #~ "genişliğini\n" #~ " 512 bayt alır\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Değişen blokları diske yazılmaya zorlar ve süper bloğu günceller.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "argümanların tamamı yoksayılıyor" #~ msgid " --help display this help and exit\n" #~ msgstr " --help bu yardımı gösterir ve çıkar\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version sürüm bilgisini gösterir ve çıkar\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Yazılım hatalarını <%s> adresine,\n" #~ "çeviri hatalarını adresine bildirin.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "DOSYAları baştan sona yazar ( son satır ilk).\n" #~ "DOSYA belirtilmediğinde veya - olduğunda standart girdiden okur.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before ayracı satırdan sonra değil, satırdan önce " #~ "koyar\n" #~ " -r, --regex ayracı düzenli ifade olarak kabul eder\n" #~ " (regex = regular expression (düzenli ifade))\n" #~ " -s, --seperator=AYRAC satırları `\\n' yerine AYRAC ile ayır\n" #~ msgid "%s: seek failed" #~ msgstr "%s: arama (seek) başarısız" #~ msgid "record too large" #~ msgstr "kayıt çok büyük" #~ msgid "cannot create temporary file %s" #~ msgstr "geçici dosya %s oluşturulamadı" #~ msgid "cannot open %s for writing" #~ msgstr "%s yazmak için açılamadı" #~ msgid "%s: write error" #~ msgstr "%s: yazma hatası" #~ msgid "separator cannot be empty" #~ msgstr "-s 'ten sonra AYRAC belirtilmeli" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Belirtilen her DOSYA'nın son %d satırını standart çıktıya yazar.\n" #~ "Dosya ismi belirtilmediğinde veya - olduğunda standart girdiden okur.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry belirtilen dosya tail başlatıldığında " #~ "ulaşılamaz\n" #~ " ise veya daha sonra ulaşılamaz hale " #~ "geldiğinde\n" #~ " dosya tekrar okunabilir olana kadar yeniden " #~ "dener\n" #~ " özellikle isim kullanıldığı zaman faydalıdır,\n" #~ " örneğin --follow=İSİM seçeneği ile birlikte.\n" #~ " -c, --bytes=SAYI son SAYI baytı gösterir\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " dosyayı sürekli izler, yeni satırlar\n" #~ " eklendikçe onları da çıktıya yazar. --" #~ "follow=name\n" #~ " dosya ismini kullanarak izler,--" #~ "follow=descriptor\n" #~ " dosya açıldığında sistemin döndüğü dosya\n" #~ " descriptor'ını kullanarak izler.\n" #~ " -F --follow=name --retry 'ın aynısı \n" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=SAYI son %d satır yerine son SAYI satırı yazar\n" #~ " --max-unchanged-stats=N\n" #~ " --follow=name seçeneği kullanıldığında N " #~ "denemeden\n" #~ " sonra DOSYA'da bir değisiklik gözlemlememişse\n" #~ " silinip silinmediğini veya isminin " #~ "değistiril-\n" #~ " mediğinden emin olmak için DOSYA'yı tekrar " #~ "açar\n" #~ " (bu seçenek kullanılmadığında %d defa bu işi " #~ "yapar)\n" # #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID -f ile kullanılır. Proses numarası PID olan " #~ "proses\n" #~ " öldükten sonra çıkar\n" #~ " -q, --quiet, --silent dosya isimlerini gösteren başlıklar yazmaz\n" #~ " -s, --sleep-interval=S -f ile kullanıldığı zaman dosyaya birşey " #~ "yazılıp yazıl-\n" #~ " madığını S saniyede bir (öntanımlı 1.0) " #~ "kontrol eder \n" #~ " -v, --verbose dosya isimlerini gösteren başlıklar yazar\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "SAYI'nin (bayt veya satır sayısı) ilk karakteri `+' ise, \n" #~ "SAYI'ncı satır veya bayttan itibaren dosyanın içeriğini yazar, aksi " #~ "halde\n" #~ "dosyadaki son SAYI girdiyi yazar. SAYI, çarpım soneki alabilir:\n" #~ "b = 512, k = 1024, m = 1024*1024.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "--follow (-f) seçeneğinde [=name] belirtilmedikçe, dosya descriptor'ını\n" #~ "kullanarak dosyayı izler. Böylelikle dosyanın ismi değişse bile \n" #~ "dosyayı izlemeye devam eder. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Bazı durumlarda belli bir dosya adını\n" #~ "izlemek istiyor olabilirsiniz, o zaman --follow=name seçeneğini kullanın\n" #~ "(örneğin `tail --follow=name deneme' dediğinizde, deneme dosyası arada\n" #~ "silinse, sonra yerine başka bir deneme dosyası oluşsa bütün bunlardan\n" #~ "sonra tail `deneme' dosyasının içinde olanları göstermeye devam eder).\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "%s kapatılıyor (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: görece %s'ye ilerlenemiyor (seek)" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: dosyanın sonundan %s görecesine geri gidilemiyor (seek)" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "`%s' dosyası okunamaz hale geldi" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "`%s' ismi artık izlenemeyecek bir dosyaya ait" #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "`%s' dosyası tekrar okunabilir hale geldi" #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "`%s' ortaya çıktı; yeni dosyanın sonu takip ediliyor" #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "`%s' tekrar okunabilir hale geldi; yeni dosyayı izlemeye devam" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: bloklamayan kip değiştirilemedi" #~ msgid "%s: file truncated" #~ msgstr "%s: dosya kısaldı" #~ msgid "no files remaining" #~ msgstr "üzerinde çalışabilecek dosya kalmadı" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "%s: tail bu çeşit dosyayı takip edemez" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "`%s' içindeki sayı çok büyük" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s:--max-unchanged-stats seçeneğiyle verilen argüman geçersiz" #~ msgid "%s: invalid PID" #~ msgstr "%s: geçersiz PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: geçersiz saniye sayısı" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "uyarı: --retry seçeneği sadece --follow=name seçeneğiyle " #~ "kullanıldığında \n" #~ " bir anlam taşır" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "uyarı: --pid=PID sadece -f seçeneğiyle kullanıldığında bir anlam taşır" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "uyarı: --pid=PID bu sistemde desteklenmiyor" #~ msgid "cannot follow %s by name" #~ msgstr "%s adı ile takip edilemiyor" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "uyarı: standart girdiyi sonsuza dek takip etmek verimli değildir" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Standart girdiyi verilen DOSYAlara ve ayrıca standart çıktıya kopyalar.\n" #~ "\n" #~ " -a, --append DOSYAların üzerine yazmaz sonuna ekler\n" #~ " -i, --ignore-interrupts kesme sinyallerini yoksayar\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "DOSYA verilmemişse veya DOSYA - ise, standart girdi tekrar kopyalanır.\n" #~ msgid "missing argument after %s" #~ msgstr "%s sonrasında eksik argüman" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "geçersiz sayı %s" #, fuzzy #~ msgid "')' expected" #~ msgstr "')' gerekli\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "')' gerekirken, %s bulundu\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: bir terimli işlemimi olabilir\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt -l ile kullanılmaz\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef -l ile kullanılmaz\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-ot -l ile kullanılmaz\n" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "bilinmeyen ikilik işlemimi\n" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: iki terimli işlemimi olabilir\n" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Kullanımı: test İFADE\n" #~ " veya: test\n" #~ " veya: [ İFADE ]\n" #~ " veya: [ ]\n" #~ " ya da: [ SEÇENEK\n" #~ "İFADE ile belirtilen durum ile çıkar.\n" #~ "\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "İFADEye göre üretilen durum kodu ile çıkar.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "İFADE yok ise, çıkış durumu öntanımlı olarak yanlış (false) olur.\n" #~ "İFADEnin sonucunun doğru ya da yanlış olmasına göre aşağıdaki\n" #~ "çıkış durumlarından biri belirlenir:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( İFADE ) İFADE doğrudur\n" #~ " ! İFADE İFADE yanlıştır\n" #~ " İFADE1 -a İFADE2 İFADE1 ve İFADE2 her ikisi de doğrudur\n" #~ " İFADE1 -o İFADE2 ya İFADE1 ya da İFADE2 doğrudur\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n DİZGE DİZGEnin uzunluğu sıfırdan farklıdır\n" #~ " DİZGE -n DİZGE ile aynıdır\n" #~ " -z DİZGE DİZGEnin uzunluğu sıfırdır\n" #~ " DİZGE1 = DİZGE2 DİZGEler eşittir\n" #~ " DİZGE1 != DİZGE2 DİZGEler farklıdır\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " TAMSAYI1 -eq TAMSAYI2 TAMSAYI1 TAMSAYI2ye eşittir\n" #~ " TAMSAYI1 -ge TAMSAYI2 TAMSAYI1 TAMSAYI2ye eşit ya da büyüktür\n" #~ " TAMSAYI1 -gt TAMSAYI2 TAMSAYI1 TAMSAYI2den büyüktür\n" #~ " TAMSAYI1 -le TAMSAYI2 TAMSAYI1 TAMSAYI2ye eşit ya da küçüktür\n" #~ " TAMSAYI1 -lt TAMSAYI2 TAMSAYI1 TAMSAYI2den küçüktür\n" #~ " TAMSAYI1 -ne TAMSAYI2 TAMSAYI1 TAMSAYI2den farklıdır\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " DOSYA1 -ef DOSYA2 DOSYA1 ve DOSYA2 aynı aygıtta ve aynı uzunluktadır\n" #~ " DOSYA1 -nt DOSYA2 DOSYA1 DOSYA2den daha yenidir\n" #~ " DOSYA1 -ot DOSYA2 DOSYA1 DOSYA2den daha eskidir\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b DOSYA DOSYA vardır ve blok özeldir\n" #~ " -c DOSYA DOSYA vardır ve karakter özeldir\n" #~ " -d DOSYA DOSYA vardır ve bir dizindir\n" #~ " -e DOSYA DOSYA vardır\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f DOSYA DOSYA vardır ve normal bir dosyadır\n" #~ " -g DOSYA DOSYA vardır ve grup-kimliği belirlidir\n" #~ " -G DOSYA DOSYA vardır ve etkin grup kimliğine aittir\n" #~ " -h DOSYA DOSYA vardır ve sembolik bağdır (-L ile aynı)\n" #~ " -k DOSYA DOSYA vardır ve kalıcı biti ayarlıdır\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L DOSYA DOSYA vardır ve bir sembolik bağdır\n" #~ " -O DOSYA DOSYA vardır ve etkin kullanıcı kimliğine aittir\n" #~ " -p DOSYA DOSYA vardır ve bir isimli veri yoludur\n" #~ " -r DOSYA DOSYA vardır ve okunabilirdir\n" #~ " -s DOSYA DOSYA vardır ve uzunluğu sıfırdan büyüktür\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S DOSYA DOSYA vardır ve bir sokettir\n" #~ " -t [DB] dosya belirteci DB (öntanımlı:stdÇıktı) bir terminalde " #~ "açıktır\n" #~ " -u DOSYA DOSYA vardır ve kullanıcı-kimlik belirleme biti ayarlıdır\n" #~ " -w DOSYA DOSYA vardır ve yazılabilirdir\n" #~ " -x DOSYA DOSYA vardır ve çalıştırılma (veya arama) izni " #~ "verilmiştir\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "-h ve -L haricinde bütün DOSYA ile ilgili testler sembolik bağları " #~ "izler.\n" #~ "Parantezlerin kabukta öncelem (örn. tersbölü ile) gerektirdiğini " #~ "unutmayın.\n" #~ "TAMSAYI yerine DİZGE uzunluğuna karşılık olarak -l DİZGE kullanılabilir.\n" #, fuzzy #~ msgid "Kevin Braunsdorf" #~ msgstr "Kevin Braunsdorf ve Matthew Bradburn" #, fuzzy #~ msgid "Matthew Bradburn" #~ msgstr "Kevin Braunsdorf ve Matthew Bradburn" #, fuzzy #~ msgid "missing `]'" #~ msgstr "`]' eksik\n" #~ msgid "extra argument %s" #~ msgstr "%s argümanı fazla" #, fuzzy #~ msgid "Jim Kingdon" #~ msgstr "Jim Meyering ve Paul Eggert" #~ msgid "creating %s" #~ msgstr "%s oluşturuluyor" #~ msgid "cannot touch %s" #~ msgstr "`touch' %s yapılamadı" #~ msgid "setting times of %s" #~ msgstr "%s'in zamanları değiştiriliyor" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a yalnız erişim zamanını günceller\n" #~ " -c, --no-create dosya oluşturmaz\n" #~ " -d, --date=DİZGİ DİZGİyi tarar ve şimdiki zaman yerine kullanır\n" #~ " -f (yoksayılıyor)\n" #~ " -m yalnız değişim tarihini günceller\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=DOSYA şimdiki zaman yerine bu DOSYAnın zaman " #~ "damgalarını\n" #~ " kullanır\n" #~ " -t DAMGA şimdiki zaman yerine [[YY]YY]AAGGssdd[ss] " #~ "değerini\n" #~ " kullanır\n" #~ " --time=SÖZCÜK SÖZCÜKle belirtilen zaman damgasını değiştirir:\n" #~ " access (erişim) atime (erişim) use (kullanım, -a " #~ "ile\n" #~ " aynı) modify (değişim) mtime (değişim, -m ile " #~ "aynı)\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Dikkat: -d ve -t seçenekleri farklı zaman/tarih biçemleri kabul ederler.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "zaman birden fazla kaynaktan belirtilemez" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "uyarı: `touch %s' artık kullanılmıyor; `touch -t %04ld%02d%02d%02d%02d.%" #~ "02d'\n" #~ " kullanılmalı" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Kullanım: %s [SEÇENEK]... KÜME1 [KÜME2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Standart girdiden okuduğu karakterleri çevirerek, sıkıştırarak ve/veya\n" #~ "silerek standart çıktıya yazar\n" #~ "\n" #~ " -c, -C, --complement KUME1'in tümleyicisi\n" #~ " -d, --delete KUME1'deki karakterleri siler, çeviri yapmaz\n" #~ " -s, --squeeze-repeats aynı karakterden oluşmus sırayi siler yerine \n" #~ " o karakterden bir tane koyar\n" #~ " -t, --truncate-set1 ilk önce KUME1'i, KUME2'nin boyuna eşit " #~ "olacak \n" #~ " şekilde kısaltır\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "KUMEler burada karakter dizgeleri anlamındadır.\n" #~ "anlamlı olan sıralamalar aşağıdadır:\n" #~ " \\NNN NNN (1-3 tane sekizlik basamak ) sekizlik değeri \n" #~ " olan karakter\n" #~ " \\\\ ters kesik\n" #~ " \\a bip sesi\n" #~ " \\b geri git\n" #~ " \\f form ilerletme\n" #~ " \\n yeni satır\n" #~ " \\r satır başı\n" #~ " \\t enine tab\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v boyuna tab\n" #~ " KAR1-KAR2 büyükten küçüğe KAR1 den KAR2 ye kadarki tüm \n" #~ " karakterler \n" #~ " [KAR*] KUME2'de kullanılır:KUME1'in boyuna gelene kadar \n" #~ " KAR'ın tekrarı\n" #~ " [KAR*TEKRAR] KAR'ın TEKRAR kere tekrarı, TEKRAR 0 ile başlıyorsa\n" #~ " sekizlik sayı olarak algılanır\n" #~ " [:alnum:] tüm harf ve rakamlar\n" #~ " [:alpha:] tüm harfler\n" #~ " [:blank:] tüm enine boşluklar\n" #~ " [:cntrl:] tüm kontrol karakterleri\n" #~ " [:digit:] tüm rakamlar\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] boşluk hariç, tüm yazılabilir karakterler\n" #~ " [:lower:] tüm küçük harfler\n" #~ " [:print:] boşluk dahil, tüm yazılabilir karakterler\n" #~ " [:punct:] tüm noktalama isaretleri\n" #~ " [:space:] tüm enine veya boyuna boşluklar\n" #~ " [:upper:] tüm büyük harfler\n" #~ " [:xdigit:] tüm onaltılık sistem rakamları\n" #~ " [=KAR=] KAR'a eş olan tüm karakterler\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Çeviri,-d seçeneği kullanılmadığında ve KUME1 ve KUME2 nin her ikisi de\n" #~ "verildiğinde gerçekleşir.-t sadece çeviri yaparken kullanılabilir.\n" #~ "KUME2 gerektiğinde son karakteri tekrar edilerek KUME1 ile aynı " #~ "uzunluğa\n" #~ "getirilir." #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "SET2'deki gereğinden fazla karakterler dikkate alınmaz. Çeviri " #~ "yapılılırken\n" #~ "KUME2 de kullanılan karakter sınıflarından sadece [:lower:] ve [:upper:]\n" #~ "kesin olarak büyükten küçüğe açılırlar, bu ikisi beraberce sadece büyük\n" #~ "harf küçük harf değisimi yapılılrken kullanılabilir. -s sadece KUME1'i\n" #~ "kullanır." #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s sadece çeviri veya sıkıştırmayla beraber çalışıyorsa\n" #~ "KUME2 yi kullanır ve çeviri veya sıkıştırma bittikten sonra devreye " #~ "girer.\n" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "uyarı: net olmayan \\%c%c%c sekizlik ters kesik gösteririmi \n" #~ "\t \\0%c%c,`%c' sırası olarak algılanıyor " #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "%s: uyarı: sembolik bağa sabit bağ oluşturmak taşınabilirliği bozar" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "alan sınırları '%s-%s' ters sıralılar" #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "'%s' de geçersiz [c*n] tekrar yapısı" #~ msgid "missing character class name `[::]'" #~ msgstr "`[:' ile `:]' arasında bir eşitlik sınıfı belirtilmeli" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "`[=' ile `=]' arasında bir eşitlik sınıfı belirtilmeli" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "geçersiz karakter sınıfı `%s'" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "" #~ "%s: eşitlik sınıfı (equivalance class)operandı tek karakterden oluşmalıdır" #~ msgid "too many characters in set" #~ msgstr "kümede çok fazla karakter" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "[c*] tekrar yapısı KUME1'de bulunamaz" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "KUME2'de yalnızca bir [c*] tekrar yapısı olabilir" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "KUME2'de çeviri yaparken [=c=] ifadeleri yer alamaz" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "KUME1 kısaltılmıyorsa KUME2 boş olamaz" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "karakter sınıflarının tümleyicileri (küme tümleyen=set complement)\n" #~ "kullanıldığında KUME2 sadece bir karakter kullanan ifadeler içerebilir" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "çeviri yaparken, KUME2'de kullanılabilecek karakter sınıfları:\n" #~ " upper, lower" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "[c*] ifadesi KUME2'de sadece çeviri yaparken kullanılabilir" #~ msgid "Two strings must be given when translating." #~ msgstr "çevrim için iki dizge verilmelidir." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "tekrar edilen karakterler bire indirgenMEden silme yapılıyorsa\n" #~ "sadece bir dizge verilmeli." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "ayarlanmamış veya uymayan [:upper:] ve/veya [:lower:] ifadesi" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s İSİM\n" #~ " veya: %s SEÇENEK\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kullanım: %s [SECENEK] [DOSYA] \n" #~ "DOSYA'daki kısmi sıralamayı (kısmi sıralama=partial ordering, \n" #~ "matematiksel bir terim) göz önüne alarak DOSYA'nın tam sıralı\n" #~ "(tam sıralı = totally ordered, matematiksel terim) halini çıktıya yazar.\n" #~ "(tsort = topological sort, topolojik sıralama)\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: girdide tek sayılı andaç var" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: girdide bir döngü (döngü=loop, Graph Teorideki anlamında) var" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Kullanım: %s [SEÇENEK]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Standart girdiye bağlı terminalin dosya ismini gösterir.\n" #~ "\n" #~ " -s, --silent, --quiet hiçbir şey göstermez, sadece çıkış durumu ile " #~ "döner\n" #~ msgid "not a tty" #~ msgstr "bir tty değil" #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Sistem hakkında bazı bilgiler gösterir. SEÇENEKsiz -s ile aynıdır.\n" #~ "\n" #~ " -a, --all tüm bilgileri gösterir\n" #~ " -m, --machine makina türünü (donanımı) gösterir\n" #~ " -n, --nodename makinanın ağ ismini gösterir\n" #~ " -r, --release işletim sisteminin dağıtım numarasını " #~ "gösterir\n" #, fuzzy #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version çekirdek sürümünü gösterir\n" #~ " -p, --processor makinanın işlemci türünü gösterir\n" #~ " -i, --hardware-platform makinanın donanım türünü gösterir\n" #~ " -o, --operating-system işletim sistemi türünü gösterir\n" #~ msgid "cannot get system name" #~ msgstr "sistem ismi alınamadı" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "DOSYA'daki boşlukları sekmeye çevirir ve standard çıktıya yazar.\n" #~ "DOSYA belirtilmediğinde veya - olduğunda standard girdiden okur.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all tüm boşlukları dikkate alır, yalnızca baştaki " #~ "boşlukları\n" #~ " değil\n" #~ " --first-only yalnızca baştaki boşlukları çevirir\n" #~ " (-a'yı etkisizleştirir)\n" #~ " -t, --tabs=SAYI sekme genişliğini 8 değil SAYI olarak alır (-a'yı \n" #~ " etkinleştirir)\n" #~ " -t, --tabs=LİSTE virgüllerle ayrılmış sekme pozisyonları LİSTEsini\n" #~ " kullanır (-a'yı etkinleştirir)\n" #~ msgid "tabs are too far apart" #~ msgstr "sekmeler fazla aralı" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "sekme boyu %s çok büyük" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Kullanım: %s [SEÇENEK]... [GİRDİ [ÇIKTI]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "GIRDI'deki (veya standart girdi) arka arkaya gelen aynı satırlardan\n" #~ "sadece ilkini CIKTI'ya (veya standart çıktı) yazar\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count her satır başına tekrar sayısını yazar\n" #~ " -d, --repeated sadece aynısından iki tane olan satırları " #~ "gösterir\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D --all-repeated[=delimit-method] sadece birden fazla olan satırları " #~ "yazar\n" #~ " delimit-method şu değerleri alabilir:\n" #~ " none: satırları ayırmaz \n" #~ " (delimit-method belirtilmediğinde none \n" #~ " kullanılır)\n" #~ " prepend: her satır grubunun başına boşluk koyar\n" #~ " separate: satır gruplarının arasına boşluk " #~ "koyar\n" #~ " -f, --skip-fields=N ilk N alanı karşılaştırmaz\n" #~ " -i, --ignore-case büyük/küçük harf farklılıklarını dikkate almaz\n" #~ " -s, --skip-chars=N ilk N karakteri karşılaştırmaz\n" #~ " -u, --unique sadece özgün satırları karşılaştır\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N her satırda N'den fazla karakter karşılaştırmaz\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Aralıksız devam eden boşluklara alan denir\n" #~ "-s ve -f seçenekleri kullanıldığında alanlar karakterlerden önce " #~ "atlanır.\n" #~ msgid "too many repeated lines" #~ msgstr "çok fazla tekrar eden satır" #~ msgid "invalid number of fields to skip" #~ msgstr "atlanacak alan sayısı geçersiz" #~ msgid "invalid number of bytes to skip" #~ msgstr "atlanacak bayt sayısı geçersiz" #~ msgid "invalid number of bytes to compare" #~ msgstr "karşılaştırılacak bayt sayısı geçersiz" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "hem aynı olan satırların yazılmasına izin vermek hem de aynı\n" #~ " olan satırların sayısını yazdırmak anlamsız" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanım: %s DOSYA\n" #~ " veya: %s SEÇENEK\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Belirtilen DOSYA'yı silmek için 'unlink' (bağ çöz) işlevini çağırın.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "%s bağı çözülemedi" #~ msgid "couldn't get boot time" #~ msgstr "sistemin başlama zamanı alınamadı" #~ msgid " %2d:%02d%s up " #~ msgstr "Şu an %2d:%02d%s, " #~ msgid "am" #~ msgstr "öö" #~ msgid "pm" #~ msgstr "ös" #~ msgid " ??:???? up " #~ msgstr " ??:???? yukarı " #~ msgid "???? days ??:??, " #~ msgstr "???? gün ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld gün" #~ msgstr[1] "%ld gün" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu kullanıcı" #~ msgstr[1] "%lu kullanıcı" #~ msgid ", load average: %.2f" #~ msgstr " çalışıyor, yük ortalaması: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... [ DOSYA ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Şimdiki zamanı, sistemin çalışır durumda olduğu süreyi, sistemdeki " #~ "kullanıcı\n" #~ "sayısını, ve son 1, 5 ve 15 dakika içerisinde kuyruktaki ortalama iş\n" #~ "sayısını gösterir.\n" #~ "DOSYA belirtilmezse %s kullanılır. Dosya olarak %s kullanımı yaygındır.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "DOSYAya göre çalışmakta olan kullanıcıları gösterir.\n" #~ "DOSYA verilmezse %s kullanılır. DOSYA olarak %s kullanımı yaygındır.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Her DOSYA için satır, kelime ve bayt sayılarını, ve birden fazla DOSYA \n" #~ "verilmişse toplam değerlerini yazar. Eğer hiç DOSYA ismi verilmemiş " #~ "veya \n" #~ "DOSYA - ise standart girdiden okur.\n" #~ " -c, --bytes bayt sayısını yazar\n" #~ " -m, --chars karakter sayısını yazar\n" #~ " -l, --lines satır sayısını (\\n sayısı) yazar\n" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length en uzun satırın uzunluğunu yazar\n" #~ " -w, --words kelime sayısını yazar\n" #~ msgid " old " #~ msgstr " eski " #~ msgid "id=" #~ msgstr "kimlik=" #~ msgid "term=" #~ msgstr "terminal=" #~ msgid "exit=" #~ msgstr "çıkış=" #~ msgid "clock change" #~ msgstr "saat değişikliği" #~ msgid "run-level" #~ msgstr "açılış-seviyesi" #~ msgid "last=" #~ msgstr "son=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "kullanıcı sayısı: %lu\n" #~ msgid "NAME" #~ msgstr "İSİM" #~ msgid "LINE" #~ msgstr "HAT" #~ msgid "TIME" #~ msgstr "SAAT" #~ msgid "IDLE" #~ msgstr "ATIL " #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "AÇIKLAMA" #~ msgid "EXIT" #~ msgstr "ÇIKIŞ" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Kullanımı: %s [SEÇENEK]... [ DOSYA | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all -b -d --login -p -r -t -T -u ile aynı\n" #~ " -b, --boot son sistem açılış zamanı\n" #~ " -d, --dead ölü işlemleri yazdırır\n" #~ " -H, --heading sütun başlığı satırı yazdırır\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup makina isimlerini DNS üzerinden IP ile eşleştirmeye " #~ "çalışır\n" #~ " -m stdGirdi'deki kullanıcı ve makina ismini gösterir\n" #~ " -p, --process init tarafından başlatılan aktif işlemleri listeler\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count tüm çalışan kullanıcı isimlerini ve sayısını " #~ "gösterir\n" #~ " -r, --runlevel şimdiki açılış seviyesini gösterir\n" #~ " -s, --short yalnız isim, satır ve zamanı gösterir (öntanımlı)\n" #~ " -t, --time son sistem saat değişikliğini gösterir\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg kullanıcının ileti durumunu +, - veya ? olarak " #~ "gösterir\n" #~ " -u, --users sistemde olan kullanıcıları listeler\n" #~ " --message -T ile aynı\n" #~ " --writable -T ile aynı\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "DOSYA belirtilmezse %s kullanılır. DOSYA olarak %s kullanımı yaygındır.\n" #~ "ARG1 ARG2 verilmişse, -m varsayılır: `who am i' (ben kimim) ya da\n" #~ "`who mom likes' (annem kimi sever) gibi kullanımlar mümkündür.\n" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Geçerli olan etkin kullanıcı kimliğine karşılık gelen ismi yazar.\n" #~ "`id -un' ile aynıdır.\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%u kullanıcı kimliğinin ismi bulunamıyor" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kullanımı: %s [DİZGE]...\n" #~ " veya: %s SEÇENEK\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Belirtilmişse DİZGE(ler)den, yoksa `y'den oluşan satırları sürekli " #~ "üretir.\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Kullanımı: %s KULLANICIADI BİÇEM [ARGÜMAN]...\n" #~ " veya: %s SEÇENEK\n" #~ msgid "block size" #~ msgstr "blok uzunluğu" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "%s'in sahibi ve/veya grubu değiştirilemiyor" #~ msgid "cannot chdir to directory %s" #~ msgstr "%s dizinine geçilemedi" #~ msgid "openat: unable to restore working directory" #~ msgstr "openat: çalışma dizinine geri dönülemedi" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "bir sayısal kullanıcı-kimliğin grubu alınamıyor" # #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Bu bir serbest yazılımdır; kopyalama koşulları için kaynak koduna " #~ "bakınız.\n" #~ "Hiçbir garantisi yoktur; hatta SATILABİLİRLİĞİ veya HERHANGİ BİR AMACA\n" #~ "UYGUNLUĞU için bile garanti verilmez.\n" # #~ msgid "closing standard output" #~ msgstr "standart çıktı kapatılıyor" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root `/' için özel işlem yapma (öntanımlı)\n" #~ " --preserve-root `/' üzerinde döngüsel işlem yapma\n" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Her KİP ugoa harflerinden biri veya bir kaçından, +-= sembollerinden " #~ "birinden\n" #~ "ve rwxXstugo harflerinden biri veya bir kaçından oluşur.\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "%s dizininin üzerine yazılamaz" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "uyarı: --version-control (-V) artık kullanılmıyor; ileride \n" #~ "bunun desteği kaldırılacak. --backup=%s seçeneğini kullanın" #~ msgid "symbolic links are not supported on this system" #~ msgstr "bu sistemde sembolik bağlar desteklenmiyor" #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F %Y-%m-%d ile aynı\n" #~ " %g %V hafta sayısıyla eşleşen 2 basamaklı yıl\n" #~ " %G %V hafta sayısıyla eşleşen 4 basamaklı yıl\n" #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z RFC-822 tarzı nümerik zaman dilimi (-0500) (standart dışı " #~ "eklenti)\n" #~ " %Z zaman dilimi (örn. EEST), veya eğer zaman dilimi " #~ "belirlenebiliyorsa, hiç bir şey\n" #~ "\n" #~ "Öntanımlı olarak `date', nümerik alanları sıfırla yastıklar. GNU date `%' " #~ "ile nümerik\n" #~ "yönergeler arasında aşağıdaki belirteçleri kabul eder.\n" #~ "\n" #~ " `-' (tire) alanı yastıklamaz\n" #~ " `_' (alt tire) alanı boşlukla yastıklar\n" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "--rfc-822 (-R) seçeneği ile birlikte bir biçem dizgisi belirtilemez" #~ msgid "undefined" #~ msgstr "atanmamış" #~ msgid "cannot get time of day" #~ msgstr "günün zamanı belirlenemedi" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s kayıt girdi\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s kayıt çıktı\n" #~ msgid "truncated records" #~ msgstr "budanmış kayıtlar" #~ msgid "unrecognized operand %s=%s" #~ msgstr "geçersiz işleyen %s=%s" #~ msgid "file offset out of range" #~ msgstr "dosya göreli konumu aralık dışı" #~ msgid "" #~ " -e enable interpretation of backslash escapes\n" #~ " -E disable interpretation of backslash escapes (default)\n" #~ msgstr "" #~ " -e terskesme kaçışlarını yorumlar\n" #~ " -E (öntanımlı) terskesme kaçışlarını yorumlamaz\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "`-LİSTE' seçeneği eski; yerine `-t LİSTE' kullanın" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "uyarı: taşınamaz düzgün ifade: `%s':`^' ile başlayan temel düzenli\n" #~ "ifadeler taşınamadığından`^' yoksayılıyor." #~ msgid "`%s' is too large" #~ msgstr "`%s' çok büyük" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Kullanımı: %s [yoksayılan komut satırı argümanları]\n" #~ " veya: %s SEÇENEK\n" #~ "Saptanan bozukluk ile ilgili durum kodunu göstererek çıkar.\n" #~ "\n" #~ "Bu seçenek isimleri kısaltılmış olarak kullanılamaz.\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "`%s' seçeneği eski: yerine `%s' kullanın" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N, bir katsayı soneki içerebilir: 512 için b, 1024 için k, 1024*1024 için " #~ "m.\n" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: bayt sayısı büyük" #~ msgid "unrecognized option `-%c'" #~ msgstr "bilinmeyen seçenek `-%c'" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "`-%s' seçeneği eski; yerine `-%c %.*s%.*s%s' kullanın" #~ msgid "cannot print only user and only group" #~ msgstr "sadece kullanıcı ya da sadece grup gösterilemez" #~ msgid "cannot get supplemental group list" #~ msgstr "ek grup listesi alınamadı" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "%s için zaman damgaları alınamadı" #~ msgid "strip failed" #~ msgstr "strip başarısız" #~ msgid "value %s is so large that it is not representable" #~ msgstr "%s değeri gösterilemeyece kadar büyük" #~ msgid "invalid field number: `%s'" #~ msgstr "geçersiz alan numarası: `%s'" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "dosya 1 icin geçersiz alan numarası : `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "dosya 2 için geçersiz alan numarası: `%s'" #~ msgid "create symbolic link %s to %s" #~ msgstr "%s -> %s sembolik bağı oluştur" #~ msgid "create hard link %s to %s" #~ msgstr "%s -> %s sabit bağı oluştur" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary dosyaları binary (ikilik) olarak okur(DOS/" #~ "Windows üzerinde\n" #~ " md5sum otomatik olarak bu seçeneği çalıştırır)\n" #~ " -c, --check %s toplamlarını verilen liste ile " #~ "karşılaştırır\n" #~ " -t, --text dosyaları metin (text) olarak okur (md5sum -b\n" #~ " belirtilmedikçe otomatik olarak bu seçeneği\n" #~ " çalıştırır)\n" #~ "\n" #~ msgid "Only one operand may be specified when using --check." #~ msgstr "--check seçeneği kullanılırken sadece bir işleyen verilebilir" #~ msgid "cannot set permissions of directory %s" #~ msgstr "%s dizininin izinleri değiştirilemedi" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "'%s' fifosunun izinleri değiştirilemedi" #~ msgid "cannot set permissions of %s" #~ msgstr "'%s'nın izinleri belirtilemedi" #~ msgid "cannot get priority" #~ msgstr "öncelik alınamadı" #~ msgid "cannot set priority" #~ msgstr "öncelik ayarlanamadı" # #~ msgid "failed to redirect standard output" #~ msgstr "standart çıktı yeniden yönlendirilemedi" #~ msgid "skip argument" #~ msgstr "atlanacak bayt sayısı olarak verilen değer hatalı (-j nin argümanı)" #~ msgid "limit argument" #~ msgstr "" #~ "maksimum okunacak bayt sayısı olarak verilen değer hatalı (-N nin " #~ "argümanı)" #~ msgid "minimum string length" #~ msgstr "minimum dizge uzunluğu olarak verilen değer hatalı (-s in argümanı)" #~ msgid "width specification" #~ msgstr "genişlik olarak verilen değer hatalı (-w nun argümanı)" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Dosya İSİMlerinin geçerliliğini ve taşınabilirliğini denetler.\n" #~ "\n" #~ " -p, --portability yalnız bu sistem için değil tüm POSIX\n" #~ " sistemler için denetler\n" #~ msgid "Page range `%s'" #~ msgstr "Dosya aralığı `%s'" #~ msgid "column count too large" #~ msgstr "sütun sayısı fazla büyük" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=SÜTUN' geçersiz sütun sayısı: `%s'" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Bu, bir serbest yazılımdır; Free Software Foundation tarafından " #~ "yayınlanan\n" #~ "GNU Genel Kamu Lisansı, 2. sürüm (veya sizin seçiminize bağlı olarak) " #~ "daha üst \n" #~ "sürüm koşulları altında değişiklik yapabilir ve/veya yeniden " #~ "dağıtabilirsiniz. \n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Bu program kullanışlı olabileceği umularak dağıtılmaktadır. Ancak,\n" #~ "hiçbir GARANTİSİ YOKTUR; hatta SATILABİLİRLİĞİ veya HERHANGİ BİR\n" #~ "AMACA UYGUNLUĞU için bile garanti verilmez. Daha ayrıntılı bilgi\n" #~ "edinmek için GNU Genel Kamu Lisansına bakınız.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "GNU Genel Kamu Lisansının bir kopyasını bu yazılımla birlikte almış\n" #~ "olacaksınız; yoksa Free Software Foundation, Inc., 59 Temple Place\n" #~ "Suite 330, Boston, MA 02111-1307, USA. adresinden isteyebilirsiniz.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "%s dizininden ..'ye geçilemedi" #~ msgid "cannot lstat `.' in %s" #~ msgstr "%s'de '.' durumlanamadı" #~ msgid "cannot lstat %s" #~ msgstr "%s durumlanamadı" #~ msgid "cannot chdir from %s to %s" #~ msgstr "%s dizininden %s dizinine geçilemedi" #~ msgid "cannot remove `.' or `..'" #~ msgstr "'.' veya '..' silinemiyor" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "DOSYA(lar)ı siler (bağlarını kaldırır).\n" #~ "\n" #~ " -d, --directory DOSYA, boş olmayan bir dizin olsa bile bağını " #~ "kaldırır\n" #~ " (yalnızca süper kullanıcı; bu, yalnızca " #~ "sisteminiz\n" #~ " boş olmayan dizinler için `unlink' " #~ "destekliyorsa\n" #~ " çalışır)\n" #~ " -f, --force mevcut olmayan dosyaları yok varsayar, hiç " #~ "sormaz\n" #~ " -i, --interactive silmeden önce sorar\n" #~ msgid "sort size" #~ msgstr "sıralama boyu" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "SAYI, bir katsayı soneki içerebilir: 512 için b, 1K için k, 1 Meg için " #~ "m.\n" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "`-%s' seçeneği eski; yerine `-l %s' kullanın" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Dosya veya dosya sistemi durumunu gösterir.\n" #~ "\n" #~ " -f, --filesystem dosya durumu yerine dosya sistemi durumunu " #~ "gösterir\n" #~ " -c --format=BİÇEM öntanımlı biçem yerine belirtilen BİÇEM'i " #~ "kullanır\n" #~ " -L, --dereference bağları takip eder\n" #~ " -t, --terse bilgileri kısa biçemde gösterir\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Uyarı: `-l' sonraki sürümlerde kaldırılacaktır; `-L' kullanın" #~ msgid "stdin: read error" #~ msgstr "standart girdi: okuma hatası" #~ msgid "`%s' option is obsolete; use `%s-%c %'" #~ msgstr "`%s' seçeneği eski: yerine `%s -%c %' kullanın" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: tamsayı ifade beklendi\n" #~ msgid "before -lt" #~ msgstr "-lt öncesinde" #~ msgid "after -lt" #~ msgstr "-lt sonrasında" #~ msgid "before -le" #~ msgstr "-le öncesinde" #~ msgid "after -le" #~ msgstr "-le sonrasında" #~ msgid "before -gt" #~ msgstr "-gt öncesinde" #~ msgid "after -gt" #~ msgstr "-gt sonrasında" #~ msgid "before -ge" #~ msgstr "-ge öncesinde" #~ msgid "after -ge" #~ msgstr "-ge sonrasında" #~ msgid "before -ne" #~ msgstr "-ne öncesinde" #~ msgid "after -ne" #~ msgstr "-ne sonrasında" #~ msgid "before -eq" #~ msgstr "-eq öncesinde" #~ msgid "after -eq" #~ msgstr "-eq sonrasında" #~ msgid "after -t" #~ msgstr "-t sonrasında" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Her DOSYA'nın erişim ve değişim zamanlarını şimdiki zamana günceller.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Kullanımı: %s [argümanlar yoksayılır]\n" #~ " veya: %s SEÇENEK\n" #~ "Başarılı durum kodu ile çıkar.\n" #~ "\n" #~ "Bu seçenek isimleri kısaltılamaz.\n" #~ "\n" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "`-LISTE' seçeneği eski; yerine `--first-only -t LISTE' kullanın" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "`-%lu' seçeneği eski; yerine `-f %lu' kullanın" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle atıl zamanı SAAT:DAKİKA, . veya eski olarak\n" #~ " ekler (kullanımdan kalkacak, -u kullanın)\n" #~ " -l, --login sisteme giriş işlemlerini yazdırır\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "Uyarı: -i sonraki sürümlerde kaldırılacaktır; -u kullanın" #~ msgid "%s: cannot find username for UID %lu\n" #~ msgstr "%s: kullanıcı-kimlik %lu için kullanıcı ismi bulunamadı\n" #~ msgid "too few arguments" #~ msgstr "argüman sayısı yetersiz" #~ msgid "cannot change to null group" #~ msgstr "boş gruba değişilemez" #~ msgid "group number" #~ msgstr "grup sayısı" #~ msgid "invalid group number %s" #~ msgstr "geçersiz grup sayısı %s" #~ msgid "invalid mode string: %s" #~ msgstr "geçersiz kip dizgesi: %s" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: belirtilen hedef dizin yok" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: belirtilen hedef bir dizin değil" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "birden çok dosya kopyalanıyor fakat son argüman %s bir dizin değil" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "çok sayıda seçenek olmayan argüman var: %s%s" #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "" #~ "\t{ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, {unblock,sync} \n" #~ "seçenek kümelerinden her birinden birer tane kullanılabilir" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "dircolors'un içsel veritabanını listelemek seçeneği ile \n" #~ "beraber DOSYA argümanı kullanılamaz" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "DİZGE(ler)i standart çıktıya yansılar.\n" #~ "\n" #~ " -n sonuna yenisatır eklemez\n" #~ " -e aşağıda belirtilen ters kesme kaçışlı karakterleri " #~ "yorumlar\n" #~ " -E DİZGE'lerde bu karakterlerin yorumlamasını durdurur\n" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "birden çok dosya kuruluyor fakat son argüman %s bir dizin değil" #~ msgid "%s is a directory" #~ msgstr "%s bir dizin" #~ msgid "too many non-option arguments" #~ msgstr "çok sayıda `seçenek olmayan' argüman var" #~ msgid "too few non-option arguments" #~ msgstr "çok az `seçenek olmayan' argüman var" #~ msgid "%s: File exists" #~ msgstr "%s: Dosya mevcut" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Kullanım: %s [SEÇENEK]... HEDEF [BAĞ_ADI]\n" #~ " veya: %s [SEÇENEK]... HEDEF... DİZİN\n" #~ " veya: %s [SEÇENEK]... --target-directory=HEDEF DİZİN...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "birden fazla bağ yaratırken son argüman bir dizin olmalı" #~ msgid "User name too long" #~ msgstr "Kullanıcı adı fazla uzun" #~ msgid "file" #~ msgstr "dosya" #~ msgid "files" #~ msgstr "dosyalar" #~ msgid "checksum" #~ msgstr "sağlama toplamı" #~ msgid "checksums" #~ msgstr "sağlama toplamları" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "--string ve --check seçenekleri aynı anda kullanılamaz" #~ msgid "no files may be specified when using --string" #~ msgstr "--string seçeneği kullanılırken dosya adı belirtilemez" #~ msgid "wrong number of arguments" #~ msgstr "argüman sayısı hatalı" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "fifo dosyaları için majör ve minör aygıt numaraları belirtilemez" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "birden fazla dosya taşınırken son argüman dizin olmalıdır" #~ msgid "invalid option `%s'" #~ msgstr "`%s' seçeneği geçersiz" #~ msgid "invalid priority `%s'" #~ msgstr "öncelik olarak `%s' geçersiz" #~ msgid "old-style offset" #~ msgstr "eski tarz göreli konum" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "`%s' eski kullanımda fazladan belirtilmiş ikinci dosya" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "eski kullanımda son iki argüman göreli konum olmalı" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "`%s' dosya yolu `%c' taşınamayan karakterini içeriyor" #~ msgid "`%s' is not a directory" #~ msgstr "`%s' bir dizin değil" #~ msgid "directory `%s' is not searchable" #~ msgstr "`%s' dizine erişilemiyor" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "`%s' ismi, %ld uzunluğunda ve %ld karakterlik sınırdan uzun" #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "`%s' yolu, %lu uzunluğunda ve %ld sınırını geçiyor" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' geçersiz sayfa numara aralığı: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' geçersiz başlangıç sayfa numarası: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' geçersiz son sayfa numarası: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' başlangıç sayfa numarası son sayfa numarasından daha büyük" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "başlangıç sayfa sayısı toplam sayfa sayısından daha büyük: `%d'" #~ msgid "Page %d" #~ msgstr "Sayfa %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Kullanımı: %s BİÇEM [ARGÜMAN...]\n" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: eski kullanım şeklindeki seçenekte geçersiz ek" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "gereğinden fazla argüman; eski kullanım şeklindeki seçenekle (%s) " #~ "beraber\n" #~ "sadece bir dosya ismi verilebilir. Eski şekil yerine -n veya -c\n" #~ "seçeneklerini kullanın." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Uyarı: eski kullanım şeklindeki seçenekle (%s) beraber\n" #~ "sadece bir dosya ismi verilebilir. Eski şekil yerine -n veya -c\n" #~ "seçeneklerini kullanın." #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "" #~ "%s: --max-consecutive-size-changes seçeneğiyle verilen argüman geçersiz" #~ msgid "argument expected\n" #~ msgstr "argüman gerekli\n" #~ msgid "too many arguments\n" #~ msgstr "argüman sayısı çok fazla\n" #~ msgid "file arguments missing" #~ msgstr "dosya argümanları eksik" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "geçersiz terskesik gösterimi `\\%c'" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "tekrar edilen karakterler bire indirgeme ve silme beraber yapılılrken\n" #~ " iki KUME verilmeli" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "tekrar eden karakterler bire indirgenirken en azından bir KUME verilmeli" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "çeviri yaparken KUME1'de [:lower:] kullanmışsanız KUME2'de [:upper:]\n" #~ "KUME1'de [:upper:] kullanmışsanız KUME2'de [:lower:] kullanmanız lazım" #~ msgid "only one argument may be specified" #~ msgstr "yalnız bir argüman verilebilir" #~ msgid "tab size contains an invalid character" #~ msgstr "tab boyunda geçersiz karakter" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Kullanım: %s [SEÇENEK]...SOL-DOSYA SAĞ-DOSYA\n" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie ve Jim Meyering" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp ve David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: ayraçtan sonra `+' veya `-' olmalı" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie ve Jim Meyering" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie ve Stuart Kemp" # #~ msgid "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgstr "Torbjorn Granlund, David MacKenzie, Larry McVoy ve Paul Eggert" #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie ve Jim Meyering" # #~ msgid "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgstr "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert ve Jim " #~ "Meyering" #~ msgid "cannot change to parent of directory %s" #~ msgstr "%s dizininin kök dizinine geçilemedi" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins ve David MacKenzie" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker ve David MacKenzie" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie ve Jim Meyering" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram ve David MacKenzie" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat ve David MacKenzie" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie ve Kaveh Ghazi" #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David MacKenzie ve Richard Mlynarik" # #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Richard Stallman ve Jim Meyering" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "başlangıç değeri sonuncudan büyükse,\n" #~ "artış negatif olmalıdır." #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "başlangıç değeri sonuncudan küçükse,\n" #~ "artış pozitif olmalıdır." #~ msgid "*** invalid date/time ***" #~ msgstr "*** geçersiz tarih/zaman ***" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau ve David MacKenzie" # #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Ian Lance Taylor ve Jim Meyering" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman ve David MacKenzie" # #~ msgid "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith" #~ msgstr "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie ve Randy Smith" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie ve Michael Stone" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Uyarı: '-l'nin anlamı sonraki sürümlerde değişerek POSIX uyumlu hale " #~ "gelecektir" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "-wSAYI seçeneğinde, `w' harfi yazılmayabilir.\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=SAYI ilk SAYI baytı gösterir\n" #~ " -n, --lines=N ilk 10 yerine ilk N satırı gösterir\n" #~ msgid "invalid number" #~ msgstr "geçersiz sayı" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s bu sistemdeki maksimum dosya boyundan daha büyük" #~ msgid "FIXME: ksb and mjb" #~ msgstr "DÜZELT: ksb ve mjb" #~ msgid "program error" #~ msgstr "yazılım hatası" # #~ msgid "stack overflow" #~ msgstr "yığıt taşması" #~ msgid "missing file arguments" #~ msgstr "dosya argümanları eksik" #~ msgid " Type" #~ msgstr " Tür" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: öncelem geçersiz" dc3dd-7.1.614/po/el.gmo0000644000175000017500000000140711233346647014174 0ustar amedicoamedicoDl&eMJ0Try `%s --help' for more information. Unknown system errorstandard inputstandard outputProject-Id-Version: coreutils 6.10 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-03-13 11:25+0100 Last-Translator: Simos Xenitellis Language-Team: Greek MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Δοκιμάστε `%s --help' για περισσότερη βοήθεια. Άγνωστο σφάλμα συστήματοςκανονική είσοδοςκανονική έξοδοςdc3dd-7.1.614/po/et.po0000644000175000017500000111676611233346647014060 0ustar amedicoamedico# Estonian translations for coreutils # Copyright (C) 2000 Free Software Foundation, Inc. # Toomas Soome , 2006. # msgid "" msgstr "" "Project-Id-Version: coreutils 6.5\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2006-11-23 12:07+0200\n" "Last-Translator: Toomas Soome \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "kataloogi `%s' ei õnnestu luua" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Lisainfo saamiseks proovige `%s --help'.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Kasutamine: %s [OPERAND]...\n" " või: %s VÕTI\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Kopeeri fail, teisendades ja vormindades seda vastavalt võtmetele.\n" "\n" " bs=BAITE sea ibs=BAITE ja obs=BAITE\n" " cbs=BAITE teisenda BAITE baiti korraga\n" " conv=VÕTMESÕNAD teisenda fail vastavalt komadega eraldatud võtmetele\n" " count=PLOKKE kopeeri ainult PLOKKE sisendplokki\n" " ibs=BAITE loe BAITI baiti korraga\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=FAIL loe standardsisendi asemel faili\n" " iflag=LIPUD loe vastavalt komadega eraldatud võtmetele\n" " obs=BAITI kirjuta BAITI baiti korraga\n" " of=FAIL kirjuta standardväljundi asemel faili\n" " oflag=LIPUD kirjuta vastavalt komadega eraldatud võtmetele\n" " seek=PLOKKI jäta PLOKKI obs mahus plokke väljundisse kirjutamata\n" " skip=PLOKKI jäta PLOKKI ibs mahus plokke sisendist lugemata\n" " status=noxfer blokeeri ülekande statistika\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "PLOKID ja BAIDID võivad kasutada ka järgnevaid kordavaid sufikseid:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 ja nii edasi sümbolitele T, P, E, Z, Y.\n" "\n" "Iga VÕTMESÕNA võib olla:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat ära loo väljundfaili\n" " excl katkesta, kui väljundfail on juba olemas\n" " notrunc ära lühenda väljundfaili\n" " ucase asenda väiketähed suurtähtedega\n" " swab vaheta iga sisenbaidi paar\n" " noerror jätka ka peale lugemisvigu\n" " sync täienda iga sisendplokk nullidega ibs-mahtu; kui kasutatakse\n" " block või unblock, täienda tühikutega\n" " fdatasync enne lõpetamist kindlusta andmete faili kirjutamine\n" " fsync nagu eelmine, aga kirjuta ka metainfo\n" #: src/dc3dd.c:1174 #, fuzzy msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " nocreat ära loo väljundfaili\n" " excl katkesta, kui väljundfail on juba olemas\n" " notrunc ära lühenda väljundfaili\n" " ucase asenda väiketähed suurtähtedega\n" " swab vaheta iga sisenbaidi paar\n" " noerror jätka ka peale lugemisvigu\n" " sync täienda iga sisendplokk nullidega ibs-mahtu; kui kasutatakse\n" " block või unblock, täienda tühikutega\n" " fdatasync enne lõpetamist kindlusta andmete faili kirjutamine\n" " fsync nagu eelmine, aga kirjuta ka metainfo\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Iga lipp võib olla:\n" "\n" " append lisamise mood (omab mõtet ainult väljundil; soovitame " "conv=notrunc)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct kasuta andmete käsitlemisel puhverdamata S/V\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory katkesta kui ei ole kataloog\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync kasuta andmete käsitlemisel sünkroonmoodi S/V\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync sama, aga ka metainfo korral\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock kasuta mitteblokeeruvat S/V\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime ära uuenda kasutamise aega\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty ei seosta kontrollivat terminali\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow ei järgi nimeviiteid\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks katkesta, kui on viiteid\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary kasuta andmete käsitlemisel binaarmoodi\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text kasuta andmete käsitlemisel tekstimoodi\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Kui saadate töötavale `dd' protsessile signaali %s,\n" "kirjutab dd standard veavoogu seni loetud ja kirjutatud kirjete arvud\n" "ja jätkab kopeerimist.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 kirjet loetud\n" " 18335302+0 kirjet kirjutatud\n" " 9387674624 baiti (9.4 GB) kopeeritud, 34.6279 sekundit, 271 MB/s\n" "\n" "Võtmed on:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Tundmatu süsteemne viga" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% kirjet sisse\n" "%+% kirjet välja\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% bait (%s) kopeeritud" msgstr[1] "% baiti (%s) kopeeritud" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Lõpmatu B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "sulgen sisendfaili %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "sulgen väljundfaili %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Väljundfailide sufiksid said otsa" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "avan %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "EBAÕNNESTUS" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "tundmatu operand %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "vigane kuupäev %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "vigane kuupäeva vorming %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "vigane kuupäeva vorming %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "vigane kuupäeva vorming %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "vigane teisendus: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "vigane sisendi lipp: %s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "vigane väljundi lipp: %s" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "vigane oleku lipp: %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "vigane number %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "excl ja nocreat ei saa koos kasutada" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "-e ja -i võtmeid ei saa kombineerida" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "-e ja -i võtmeid ei saa kombineerida" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "-e ja -i võtmeid ei saa kombineerida" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "-e ja -i võtmeid ei saa kombineerida" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "-e ja -i võtmeid ei saa kombineerida" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "hoiatus: kasutan lseek funktsiooni tuuma vea tõttu alternatiivset meetodit,\n" "fail (%s) mt_type=0x%0lx -- tüüpide nimekirja leiate " #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "loen %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: seek ebaõnnestus" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "failiviida ületäitumine %s lugemisel" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "hoiatus: peale lugemisviga ei pruugi failiviit olla õige" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "ei õnnestu tuuma veast mööda minna" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "sean %s lipud" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "loen kataloogi %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "loen kataloogi %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "kirjutan faili %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync %s ebaõnnestus" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "fsync %s ebaõnnestus" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standardsisend" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standardväljund" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "indeks on liiga suur: ei õnnestu lühendada pikkuseni seek=% (%lu-" "baiti) blokki" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "fstat %s ei õnnestu" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "lühendan % baiti väljundfailis %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii tabelist EBCDIC tabelisse ASCII\n" #~ " ebcdic tabelist ASCII tabelisse EBCDIC\n" #~ " ibm tabelist ASCII alternatiivsesse EBCDIC tabelisse\n" #~ " block täienda reavahetusega lõpetatud kirjed tühikutega cbs-mahtu\n" #~ " unblock asenda cbs-mahus blokkides lõpetavad tühikud reavahetusega\n" #~ " lcase asenda suurtähed väiketähtedega\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% lühendatud kirje\n" #~ msgstr[1] "% lühendatud kirjet\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "hulgast {ascii,ebcdic,ibm} ei saa ühtegi paari kasutada" #~ msgid "cannot combine block and unblock" #~ msgstr "block ja unblock ei saa koos kasutada" #~ msgid "cannot combine lcase and ucase" #~ msgstr "lcase ja ucase ei saa koos kasutada" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "hoiatus: peale lugemisviga ei pruugi failiviit olla õige" #~ msgid "error writing %s" #~ msgstr "viga %s kirjutamisel" #~ msgid "invalid argument %s for %s" #~ msgstr "vigane argument %s võtmel `%s'" #~ msgid "ambiguous argument %s for %s" #~ msgstr "segane argument %s võtmele `%s'" #~ msgid "Valid arguments are:" #~ msgstr "Lubatud argumendid on:" #, fuzzy #~ msgid "error closing file" #~ msgstr "sulgen sisendfaili %s" #~ msgid "write error" #~ msgstr "viga kirjutamisel" #~ msgid "preserving permissions for %s" #~ msgstr "säilitan %s õigused" #~ msgid "cannot stat %s" #~ msgstr "stat %s ei õnnestu" #~ msgid "regular empty file" #~ msgstr "tavaline tühi fail" #~ msgid "regular file" #~ msgstr "tavaline fail" #~ msgid "directory" #~ msgstr "Kataloog" #~ msgid "block special file" #~ msgstr "blokkseadme fail" #~ msgid "character special file" #~ msgstr "sümbolseadme fail" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "nimeviide" #~ msgid "socket" #~ msgstr "sokkel" #~ msgid "message queue" #~ msgstr "teadete järjekord" #~ msgid "semaphore" #~ msgstr "semafor" #~ msgid "shared memory object" #~ msgstr "jagatud mälu objekt" #~ msgid "typed memory object" #~ msgstr "tüübitud mälu objekt" #~ msgid "weird file" #~ msgstr "veider fail" #~ msgid "Address family for hostname not supported" #~ msgstr "Aadressiperekonda või hostinime ei toetata" #~ msgid "Temporary failure in name resolution" #~ msgstr "Ajutine tõrge nime lahendamisel" #~ msgid "Bad value for ai_flags" #~ msgstr "Vigane ai_flags väärtus" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "nime lahendamisl tekkis taastumatu tõrge" #~ msgid "ai_family not supported" #~ msgstr "ai_family ei toetata" #~ msgid "Memory allocation failure" #~ msgstr "Tõrge mälu haaramisel" #~ msgid "No address associated with hostname" #~ msgstr "Hosti nimega ei ole aadresse seostatud" #~ msgid "Name or service not known" #~ msgstr "Nimi või teenus on tundmatu" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "ai_socktype ei toeta teenuse nime" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype ei toetata" #~ msgid "System error" #~ msgstr "Süsteemne viga" #~ msgid "Processing request in progress" #~ msgstr "Päringu töötlemine käib" #~ msgid "Request canceled" #~ msgstr "Päring katkestati" #~ msgid "Request not canceled" #~ msgstr "Päringut ei katkestatud" #~ msgid "All requests done" #~ msgstr "Kõik päringud täidetud" #~ msgid "Interrupted by a signal" #~ msgstr "Katkestatud signaaliga" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Parameetersõne ei ole korrektselt kodeeritud" #~ msgid "Unknown error" #~ msgstr "Tundmatu viga" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: võti `%s' on segane\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: võti `--%s' ei luba kasutada argumenti\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: võti `%c%s' ei luba kasutada argumenti\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: võti `%s' nõuab argumenti\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: tundmatu võti `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: tundmatu võti `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: lubamatu võti -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: vigane võti -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: võti nõuab argumenti -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: võti `-W %s' on segane\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: võti `-W %s' ei luba kasutada argumenti\n" #~ msgid "cannot change permissions of %s" #~ msgstr "ei õnnestu muuta %s õigusi" #~ msgid "cannot create directory %s" #~ msgstr "kataloogi `%s' ei õnnestu luua" #~ msgid "memory exhausted" #~ msgstr "mälu on otsas" #~ msgid "unable to record current working directory" #~ msgstr "ei õnnestu registreerida jooksvat töökataloogi" #~ msgid "failed to return to initial working directory" #~ msgstr "esialgsesse töökataloogi ei õnnestu tagasi minna" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #~ msgid "%s: end of file" #~ msgstr "%s: faili lõpp" #~ msgid "Success" #~ msgstr "Õnnestumine" #~ msgid "No match" #~ msgstr "Ei leitud" #~ msgid "Invalid regular expression" #~ msgstr "Vigane regulaaravaldis" #~ msgid "Invalid collation character" #~ msgstr "Vigane järjestamise sümbol" #~ msgid "Invalid character class name" #~ msgstr "Vigane sümbolite klassi nimi" #~ msgid "Trailing backslash" #~ msgstr "Lõpetav langkriips" #~ msgid "Invalid back reference" #~ msgstr "Vigane tagasiviide" #~ msgid "Unmatched [ or [^" #~ msgstr "Puudub [ või [^" #~ msgid "Unmatched ( or \\(" #~ msgstr "Puudub ( või \\(" #~ msgid "Unmatched \\{" #~ msgstr "Puudub \\{" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Vigane \\{\\} kontekst" #~ msgid "Invalid range end" #~ msgstr "Vigane vahemiku lõpp" #~ msgid "Memory exhausted" #~ msgstr "Mälu on otsas" #~ msgid "Invalid preceding regular expression" #~ msgstr "Vigane eelnev regulaaravaldis" #~ msgid "Premature end of regular expression" #~ msgstr "Enneaegne regulaaravaldise lõpp" #~ msgid "Regular expression too big" #~ msgstr "Regulaaravaldis on liiga suur" #~ msgid "Unmatched ) or \\)" #~ msgstr "Puudub ) või \\)" #~ msgid "No previous regular expression" #~ msgstr "Eelmist regulaaravaldist pole" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "%s rekursiivselt töötlemine on ohtlik" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "%s (sama kui %s) rekursiivselt töötlemine on ohtlik" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "selle ettevaatusabinõu blokeerimiseks kasutage --no-preserve-root" #~ msgid "^[yY]" #~ msgstr "^[jJ]" #~ msgid "^[nN]" #~ msgstr "^[eE]" #~ msgid "setting permissions for %s" #~ msgstr "sean %s õigusi" #~ msgid "iconv function not usable" #~ msgstr "iconv funktsioon ei ole kasutatav" #~ msgid "iconv function not available" #~ msgstr "iconv funktsioon puudub" #~ msgid "character out of range" #~ msgstr "sümbol on piirkonnast väljas" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "U+%04X ei saa lokaalsesse kooditabelisse teisendada" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "U+%04X ei saa lokaalsesse kooditabelisse teisendada: %s" #~ msgid "invalid user" #~ msgstr "vigane kasutaja" #~ msgid "invalid group" #~ msgstr "vigane grupp" #~ msgid "invalid spec" #~ msgstr "vigane seade" #~ msgid "(C)" #~ msgstr "©" #~ msgid "Written by %s.\n" #~ msgstr "Kirjutanud %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Kirjutanud %s ja %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Kirjutanud %s, %s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Kirjutanud %s, %s, %s\n" #~ "ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Kirjutanud %s, %s, %s,\n" #~ "%s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Kirjutanud %s, %s, %s,\n" #~ "%s, %s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Kirjutanud %s, %s, %s,\n" #~ "%s, %s, %s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Kirjutanud %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Kirjutanud %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Kirjutanud %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s ja teised.\n" #~ msgid "invalid argument: %s" #~ msgstr "vigane argument: %s" #~ msgid "string comparison failed" #~ msgstr "sõnede võrdlus ebaõnnestus" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Probleemi lahendamiseks seadke LC_ALL=C." #~ msgid "The strings compared were %s and %s." #~ msgstr "Võrreldi sõnesid %s ja %s." #~ msgid "string transformation failed" #~ msgstr "sõnede teisendamine ebaõnnestus" #~ msgid "The untransformed string was %s." #~ msgstr "Teisendamata sõne oli %s." #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "vigane argument %s" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "vigane murdarv: %s" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: loendur `%.*s' on liiga suur" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI] [FAIL]...\n" #~ "Base64 kodeeri faile või standardsisenit väljastades " #~ "standardväljundisse.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=VEERG Murra kodeeritud read antud veerust (vaikimisi " #~ "76).\n" #~ " 0 blokeerib ridade murdmise.\n" #~ "\n" #~ " -d, --decode Dekodeeri andmed.\n" #~ " -i, --ignore-garbage Dekodeerimisel ignoreeri tähestiku väliseid " #~ "sümboleid.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Väljasta abiinfo ja lõpeta töö.\n" #~ " --version Väljasta versiooniinfo ja lõpeta töö.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Kui FAIL puudub või on -, loe standardsisendit.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Andmed kodeeritakse vastavalt RFC 3548 kirjeldatud base64 tähestikule.\n" #~ "Dekodeerimine eeldab sobivat sisendit, --ignore-garbage üritab taastuda\n" #~ "tähestikuvälistest sümbolitest (nagu reavahetused) andmevoos.\n" #~ msgid "read error" #~ msgstr "viga lugemisel" #~ msgid "invalid input" #~ msgstr "vigane sisend" #~ msgid "invalid wrap size: %s" #~ msgstr "vigane murdmise veerg: %s" #~ msgid "extra operand %s" #~ msgstr "liigne operand %s" #~ msgid "closing standard input" #~ msgstr "sulen standardsisendi" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s NIMI [SUFIKS]\n" #~ " või: %s VÕTI\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Väljasta NIMI ilma eelnevate kataloogideta.\n" #~ "Kui määratud, eelmalda ka sufiks.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Näited:\n" #~ " %s /usr/bin/sort Väljasta \"sort\".\n" #~ " %s include/stdio.h .h Väljasta \"stdio\".\n" #~ msgid "missing operand" #~ msgstr "puudub operand" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Kasutamine: %s [VÕTI]... [FAIL]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Liida FAILID või standardsisend standardväljundisse.\n" #~ "\n" #~ " -A, --show-all sama, kui -vET\n" #~ " -b, --number-nonblank mittetühjade väljundridade arv\n" #~ " -e sama, kui -vE\n" #~ " -E, --show-ends näita iga rea lõpus $\n" #~ " -n, --number kõikide väljundridade arv\n" #~ " -s, --squeeze-blank korraga ei väljasta üle ühe tühja rea\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t sama, kui -vT\n" #~ " -T, --show-tabs esita TAB süboleid kui ^I\n" #~ " -u (ignoreeritakse)\n" #~ " -v, --show-nonprinting kasuta ^ ja M- notatsiooni, v.a LFD ja TAB " #~ "korral\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Näited:\n" #~ " %s f - g Väljasta f'i sisu, siis standardsisend, siis g sisu.\n" #~ " %s Kopeeri standardsisend standardväljundisse.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "%s peal ioctl ei õnnestu" #~ msgid "%s: input file is output file" #~ msgstr "%s: sisendfail on väljundfail" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "ei õnnestu muuta %s omanikku\n" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "%s atribuutide lugemine ebaõnnestus" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "ei õnnestu seada %s omanikuks %s\n" #~ msgid "cannot access %s" #~ msgstr "%s ei saa kasutada" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "kataloogi %s ei õnnestu lugeda" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "muudan %s õigusi" #~ msgid "fts_read failed" #~ msgstr "fts_read ebaõnnestus" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... MOOD[,MOOD]... FAIL\n" #~ " või: %s [VÕTI]... KAHEKSAND-MOOD FAIL...\n" #~ " või: %s [VÕTI]... --reference=VFAIL FAIL...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Muuda iga antud FAILi grupikuuluvust.\n" #~ "Võtmega --reference seatakse iga antud faili grupp viidatud faili järgi.\n" #~ "\n" #~ " -c, --changes teavita ainult muutustest\n" #~ " --dereference muuda nimeviite poolt viidatatvat, mitte viidet\n" #~ " (seda tehakse vaikimisi)\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet vaiki enamus veateadetest\n" #~ " --reference=VFAIL kasuta esitatud grupi asemel VFAIL gruppi\n" #~ " -R, --recursive töötle faile ja katalooge rekursiivselt\n" #~ " -v, --verbose väljasta infot iga töödeldava faili kohta\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Järgnevad võtmed muudavad hierarhia läbimist juhul, kui on kasutatus " #~ "võtit -R.\n" #~ "Kui kasutatakse enam, kui üht võtit, kehtib viimane.\n" #~ "\n" #~ " -H kui argument on nimeviide kataloogile, lahenda " #~ "see\n" #~ " -L lahenda kõik ette tulevad nimiviidad " #~ "kataloogidele\n" #~ " -P ära lahenda nimeviiteid (vaikimisi)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference nõuab kas -H või -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h nõuab -P" #~ msgid "missing operand after %s" #~ msgstr "%s järel puudub operand" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "vigane mood: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "%s atribuutide lugemine ebaõnnestus" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "vigane grupp %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... GRUPP FAIL\n" #~ " või: %s [VÕTI]... --reference=VFAIL FAIL...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Muuda iga antud FAILi grupikuuluvust.\n" #~ "Võtmega --reference seatakse iga antud faili grupp viidatud faili järgi.\n" #~ "\n" #~ " -c, --changes teavita ainult muutustest\n" #~ " --dereference muuda nimeviite poolt viidatatvat, mitte viidet\n" #~ " (seda tehakse vaikimisi)\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference muuda viidatava asemel nimeviidet\n" #~ " (kasutatav süsteemides, kus saab muuta " #~ "nimeviite\n" #~ " omanikku)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root ära käsitle `/' eriliselt (vaikimisi)\n" #~ " --preserve-root ära töötle `/' rekursiivselt\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet vaiki enamus veateadetest\n" #~ " --reference=VFAIL kasuta esitatud grupi asemel VFAIL gruppi\n" #~ " -R, --recursive töötle faile ja katalooge rekursiivselt\n" #~ " -v, --verbose väljasta infot iga töödeldava faili kohta\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Näited:\n" #~ " %s staff /u Sea /u grupi \"staff\" omaks.\n" #~ " %s -hR staff /u Sea /u ja selle sisu grupi \"staff\" omaks.\n" #~ msgid "getting new attributes of %s" #~ msgstr "loen %s uusi atribuute" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "nii nimeviide %s kui ka viidatav fail jäeti muutmata\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "%s õigused on nüüd %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "ei õnnestu %s õiguste muutmine olekusse %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "%s õigused jäeti %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "ei õnnestu luua nimeviidet %s" #~ msgid "changing permissions of %s" #~ msgstr "muudan %s õigusi" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: uued õigused on %s, mitte %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... MOOD[,MOOD]... FAIL\n" #~ " või: %s [VÕTI]... KAHEKSAND-MOOD FAIL...\n" #~ " või: %s [VÕTI]... --reference=VFAIL FAIL...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Sea iga FAILI moodiks MOOD.\n" #~ "\n" #~ " -c, --changes nagu verbaalselt, aga teata ainult " #~ "muudatustest\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root ära käsitle `/' eriliselt (vaikimisi)\n" #~ " --preserve-root ära töötle `/' rekursiivselt\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet vaiki enamus vigadest\n" #~ " -v, --verbose väljasta infot iga töödeldava faili kohta\n" #~ " --reference=VFAIL kasuta esitatud õiguste asemel VFAIL õiguseid\n" #~ " -R, --recursive töötle faile ja katalooge rekursiivselt\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Iga MOOD on kujul `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "moodi ja --reference võtmeid ei saa kombineerida" #~ msgid "invalid mode: %s" #~ msgstr "vigane mood: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "muutsin %s omanikuks %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "muutsin %s omanikgrupiks %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "ei õnnestu muuta %s omanikku\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "ei õnnestu seada %s omanikuks %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "%s grupi muutmine grupiks %s ebaõnnestus\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "ei õnnestu muuta %s omanikku\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "%s omanik säilitati kui %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "%s grupp säilitati kui %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "%s omanik säilitati\n" #~ msgid "cannot dereference %s" #~ msgstr "%s ei saa lahendada" #~ msgid "changing ownership of %s" #~ msgstr "muudan %s omanikku" #~ msgid "changing group of %s" #~ msgstr "muudan %s gruppi" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... [OMANIK][:[GRUPP]] FAIL...\n" #~ " või: %s [VÕTI]... --reference=VFAIL FAIL...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Muuda iga antud faili omanikku ja/või gruppi.\n" #~ "Võtmega --reference seatakse iga antud faili omanik \n" #~ "ja grupp viidatud faili järgi.\n" #~ "\n" #~ " -c, --changes teavita ainult muutustest\n" #~ " --dereference muuda nimeviite poolt viidatatvat, mitte viidet\n" #~ " (seda tehakse vaikimisi)\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=PRAEGUNE_OMANIK:PRAEGUNE_GRUPP\n" #~ " muuda iga antuf faili omanikku ja/või gruppi " #~ "ainult\n" #~ " juhul, kui kehtiv omanik ja/või grupp on samad\n" #~ " siin esitatutega. Emb-kumb võib olla ära " #~ "jäetud,\n" #~ " sellisel juhul ei nõuta puuduva attribuudi " #~ "sobivust.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet vaiki enamus veateadetest\n" #~ " --reference=VFAIL kasuta esitatud OMANIK:GRUPP asemel VFAIL\n" #~ " omanikku ja gruppi\n" #~ " -R, --recursive töötle faile ja katalooge rekursiivselt\n" #~ " -v, --verbose väljasta infot iga töödeldava faili kohta\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Omanikku ei muudeta, kui ei ole määratud. Gruppi ei muudeta, kui ei ole\n" #~ "määratud, kui muudetakse primaarseks grupiks, kui kasutatakse sümbolit " #~ "`:'.\n" #~ "Omanik ja grupp võivad olla antud nii numbrina kui ka nimena.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Näited:\n" #~ " %s root /u Sea /u omanikuks \"root\".\n" #~ " %s root:staff /u Sama, kui eelmine aga sea ka grupp.\n" #~ " %s -hR root /u Sea /u ja selle sisu omanikuks \"root\".\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s UUSJUUR [KÄSK...]\n" #~ " või: %s VÕTI\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Käivita KÄSK kasutades juurkataloogina kataloogi UUSJUUR.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Kui käsklust ei antud, käivita ``${SHELL} -i'' (vaikimisi: /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "%s ei õnnestu juurkataloogiks seada" #~ msgid "cannot chdir to root directory" #~ msgstr "ei saa minna juurkataloogi" #~ msgid "cannot run command %s" #~ msgstr "käsklust %s ei saa käivitada" #~ msgid "%s: file too long" #~ msgstr "%s: fail on liiga suur" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Kasutamine: %s [FAIL]...\n" #~ " või: %s [VÕTI]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Väljasta iga FAILI kohta CRC kontrollsumma ja baitide arv.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Kasutamine: %s [VÕTI]... FAIL1 FAIL2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Võrdle järjestatud faile FAIL1 ja FAIL2 rida haaval.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Võtmeteta väljastatakse kolm veergu. Esimeses veerus on faili FAIL1\n" #~ "unikaalsed read, teises veerus on faili FAIL2 unikaalsed read ja\n" #~ "kolmandas veerus on nende kahe faili ühised read.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 jäta vahele read, mis on ainult failis FAIL1\n" #~ " -2 jäta vahele read, mis on ainult failis FAIL2\n" #~ " -3 jäta vahele read, mis on mõlemas failis\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "sean %s õigusi" #~ msgid "failed to preserve ownership for %s" #~ msgstr "%s omanikku ei õnnestu säilitada" #~ msgid "failed to lookup file %s" #~ msgstr "ei õnnestu leida faili %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "%s autorit ei õnnestu säilitada" #~ msgid "cannot open %s for reading" #~ msgstr "ei õnnestu avada %s lugemiseks" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "jätan %s vahele, kuna see asendati kopeerimise ajal" #, fuzzy #~ msgid "failed to get file system create context" #~ msgstr "stderr koopiale ei õnnestu seada omadust 'close on exec'" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "%s grupi muutmine grupiks %s ebaõnnestus\n" #~ msgid "cannot remove %s" #~ msgstr "%s ei saa kustutada" #~ msgid "removed %s\n" #~ msgstr "%s eemaldatud\n" #~ msgid "cannot create regular file %s" #~ msgstr "ei õnnestu luua tavalist faili %s" #~ msgid "cannot lseek %s" #~ msgstr "lseek %s ei õnnestu" #~ msgid "writing %s" #~ msgstr "kirjutan %s" #~ msgid "preserving times for %s" #~ msgstr "jätan %s ajad muutmata" #~ msgid "closing %s" #~ msgstr "sulgen %s" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: kirjutan %s üle, kirjutan üle ka õigused %04lo? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: kirjutan %s üle? " #~ msgid " (backup: %s)" #~ msgstr " (varukoopia: %s)" #~ msgid "omitting directory %s" #~ msgstr "jätan kataloogi %s vahele" #~ msgid "warning: source file %s specified more than once" #~ msgstr "hoiatus: lähtefail %s on esitatur enam kui korra" #~ msgid "%s and %s are the same file" #~ msgstr "%s ja %s on üks ja sama fail" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "ei saa üle kirjutada mitte-katataloogi %s kataloogiga %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "ei kirjuta üle just loodud faili %s failiga %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "kataloogi %s ei saa üle kirjutada mitte kataloogiga" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "kataloogi ei saa tõsta mitte-kataloogi: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "%s varundamine hävitaks allika; %s ei teisaldatud" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "%s varundamine hävitaks allika; %s ei kopeeritud" #~ msgid "cannot backup %s" #~ msgstr "ei õnnestu luua %s varukoopiat" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "ei kirjuta üle just loodud faili %s failiga %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "kataloogi %s ei saa iseendasse, %s, kopeerida" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "ei loo viidet %s kataloogile %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "ei õnnestu luua viidet %s -> %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "%s ei saa tõsta iseenda alamkataloogi %s" #~ msgid "cannot move %s to %s" #~ msgstr "ei õnnestu tõsta %s -> %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "seadmete-vaheline teisaldamine ebaõnnestus: %s -> %s; allikat ei saa " #~ "kustutada" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "%s atribuutide lugemine ebaõnnestus" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "tsüklilist nimeviita %s ei õnnestu kopeerida" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s: suhtelisi nimeviiteid saab luua ainult jooksvas kataloogis" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "ei õnnestu luua nimeviidet %s -> %s" #~ msgid "cannot create link %s" #~ msgstr "ei õnnestu luua viidet %s" #~ msgid "cannot create fifo %s" #~ msgstr "ei õnnestu luua fifot %s" #~ msgid "cannot create special file %s" #~ msgstr "ei õnnestu luua seadmefaili %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "ei õnnestu lugeda nimeviidet %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "ei õnnestu luua nimeviidet %s" #~ msgid "%s has unknown file type" #~ msgstr "%s on tundmatut tüüpi fail" #~ msgid "cannot un-backup %s" #~ msgstr "%s ei saa taastada" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (taastamine)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... [-T] ALG SIHT\n" #~ " või: %s [VÕTI]... ALG... KATALOOG\n" #~ " või: %s [VÕTI]... -t KATALOOG ALG...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Kopeeri allikas sihtpunkti või kataloogi või mitu allikat kataloogi.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Kohustuslikud argumendid pikkadele võtmetele on kohustuslikud ka " #~ "lühikestele.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive sama kui -dpR\n" #~ " --backup[=KONTROLL] loo igast olemasolevast sihtfailist " #~ "varukoopia\n" #~ " -b nagu --backup aga ei kasuta argumenti\n" #~ " --copy-contents rekursiivses moodis kopeeri spets failide " #~ "sisu\n" #~ " -d sama kui --no-dereference --preserve=link\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force kui olemasolevat sihtfaili ei saa avada,\n" #~ " eemalda see ja proovi uuesti\n" #~ " -i, --interactive küsi enne ülekirjutamist\n" #~ " -H järgi käsureal antud nimeviiteid\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link kopeerimise asemel loo viited\n" #~ " -L, --dereference järgi alati nimeviited\n" #, fuzzy #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr " -P, --no-dereference nimeviiteid ei järgi kunagi\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p sama kui --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATR_LOEND] säilita, kui võimalik, antud atribuudid\n" #~ " (vaikimisi: mode,ownership,timestamps)\n" #~ " täiendavad atribuudid: links, all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=ATR_LOEND ära säilita antud atribuute\n" #~ " --parents lisa allika tee kataloogi ette\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive kopeeri kataloogid rekursiivselt\n" #~ " --remove-destination eemalda iga sihtfail enne selle avamist\n" #~ " (vastupidiselt võtmele --force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=MILLAL aukudega failide loomise tingimused\n" #~ " --strip-trailing-slashes eemalda igalt käsureal antud nimelt\n" #~ " lõpus olevad kaldkriipsud\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link loo kopeerimise asemel nimeviited\n" #~ " -S, --suffix=SUFIKS määra varukoopia järelliide\n" #~ " -t, --target-directory=KATALOOG tõsta kõik antud allikad kataloogi\n" #~ " -T, --no-target-directory käsitle sihti failina\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update kopeeri ainult, kui allikas on uuem, kui\n" #~ " sihtfail või kui sihtfail puudub\n" #~ " -v, --verbose selgita, mis toimub\n" #~ " -x, --one-file-system püsi selles failisüsteemis\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Vaikimisi üritatakse tuvastada aukudega faile robustse heuristilise\n" #~ "meetodiga ning vastav sihtfail luuakse samuti aukudega. Sellise " #~ "käitumise\n" #~ "määrab võti --sparse=auto. Kasutage --sparse=always, et luua aukudega\n" #~ "sihtfail alati, kui lähefail sisaldab piisavalt pika järjendi null " #~ "baite.\n" #~ "--sparse=never blokeerib aukudega failide loomise.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Varukoopia sufiks on `~', kui seda ei ole muudetud võtmega --suffix või\n" #~ "keskkonnamuutujaga SIMPLE_BACKUP_SUFFIX. Versioonikontrolli meetodit " #~ "saab\n" #~ "valida võtmega --backup või keskonnamuutujaga VERSION_CONTROL. " #~ "Võimalikud\n" #~ "väärtused on järgnevad:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off varukoopiaid ei looda (isegi kui kasutati võtit --" #~ "backup)\n" #~ " numbered, t loo nummerdatud varukoopiad\n" #~ " existing, nil nummerdatud, kui neid on, muidu lihtne\n" #~ " simple, never loo alati lihtsaid varukoopiaid\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Erijuhuna loob cp varukoopia ka kopeeritavast, kui on kasutatud võtmeid\n" #~ "force ja backup ning ALLIKAS ja SIHT on sama nimi olemasoleval tavalisel\n" #~ "failil.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "%s aegu ei õnnestu säilitada" #~ msgid "failed to preserve permissions for %s" #~ msgstr "%s õigusi ei õnnestu säilitada" #~ msgid "cannot make directory %s" #~ msgstr "kataloogi %s ei õnnestu luua" #~ msgid "%s exists but is not a directory" #~ msgstr "`%s' on olemas, aga ei ole kataloog" #~ msgid "accessing %s" #~ msgstr "kasutan %s" #~ msgid "missing file operand" #~ msgstr "argumentides puudub failinimi" #~ msgid "missing destination file operand after %s" #~ msgstr "%s järel puudub sihtfail" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "--target-directory (-t) ja --no-target-directory (-T) ei saa koos kasutada" #~ msgid "target %s is not a directory" #~ msgstr "antud siht, %s, ei ole kataloog" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "võtme --parents kasutamisel peab sihtkoht olema kataloog" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "võti --reply on aegunud; kasutage selle asemel -i või -f" #~ msgid "multiple target directories specified" #~ msgstr "määrati mitu sihtkataloogi" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "ei õnnestu luua ei tavalist ega nimeviita" #~ msgid "backup type" #~ msgstr "varukoopia tüüp" #~ msgid "input disappeared" #~ msgstr "sisend kadus" #~ msgid "%s: line number out of range" #~ msgstr "%s: rea number on piirkonnast väljas" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: rea number on piirkonnast väljas" #~ msgid " on repetition %s\n" #~ msgstr " %s kordamisel\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: sobivat ei leitud" #~ msgid "error in regular expression search" #~ msgstr "viga regulaaravaldisega otsingul" #~ msgid "write error for %s" #~ msgstr "viga %s kirjutamisel" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: eraldaja järel oodati täisarvu" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: korduste arvuga peab kasutama `}'" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: `{' ja `}' vahel peab olema täisarv" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: puudub sulgev eraldaja `%c'" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: vigane regulaaravaldis: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: vigane muster" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: rea number peab olema suurem kui null" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "rea number %s on väiksem, kui eelneva rea number, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "hoiatus: rea number %s on sama, kui eelneva rea number" #~ msgid "invalid format width" #~ msgstr "vigane vormingu laius" #~ msgid "invalid format precision" #~ msgstr "vigane vormingu täpsus" #~ msgid "missing conversion specifier in suffix" #~ msgstr "sufiksis puudub teisenduse määrang" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "vigane teisenduse määraja sufiksis: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "vigane teisenduse määraja sufiksis: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "sufiksis on liiga palju %% teisenduse määranguid" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "sufiksis puudub %% teisenduse määrang" #~ msgid "%s: invalid number" #~ msgstr "%s: vigane number" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Kasutamine: %s [VÕTI]... FAIL MUSTER...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Väljasta MUSTRI põhjal tükeldatud FAILi tükid failidesse `xx01', " #~ "`xx02', ...\n" #~ "ja väljasta standardväljundisse iga osa suurus baitides.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=VORMING kasuta %02d asemel sprintf VORMINGUT\n" #~ " -f, --prefix=PREFIKS kasuta `xx' asemel PREFIKS\n" #~ " -k, --keep-files vigade korral jäta väljundfailid " #~ "kustutamata\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=NUMBREID kasuta 2 asemel antud arvu numbreid\n" #~ " -s, --quiet, --silent ära väljasta väljundfailide mahte\n" #~ " -z, --elide-empty-files kustuta tühjad väljundfailid\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Kui FAIL on -, loe standardsisendit. Iga MUSTER võib olla:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " TÄISARV kopeeri kuni, aga mitte kaasa arvatud, antud " #~ "reanumbrini\n" #~ " /REGAV/[NIHE] kopeeri kuni, aga mitte kaasa arvatud, sobiva reani\n" #~ " %REGAV%[NIHE] jäta vahele kuni, aga mitte kaasa arvatud, sobiva " #~ "reani\n" #~ " {TÄISARV} korda eelmist mustrit antud arv kordi\n" #~ " {*} korda eelmist mustrit niipalju kui võimalik\n" #~ "\n" #~ "Rea NIHE peab olema kujul `+' või`-', millele järgneb positiivne " #~ "täisarv.\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Kasutamine: %s [VÕTI]... [FAIL]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Väljasta igast FAIList valitud osad standardväljundisse.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LOEND väljasta ainult need baidid\n" #~ " -c, --characters=LOEND väljasta ainult need sümbolid\n" #~ " -d, --delimiter=ERALD määra TAB asemel väljade eraldaja\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LOEND väljasta ainult need väljad; väljasta samuti\n" #~ " kõik read, mis ei sisalda eraldavat " #~ "sümbolit,\n" #~ " välja arvatu juhul, kui kasutati võtit -s\n" #~ " -n (ignoreerin)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement täienda valitud baitide, sümbolite või väljade " #~ "hulka.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited ära väljasta eraldajata ridu\n" #~ " --output-delimiter=SÕNE kasuta väljundis eraldajana SÕNE\n" #~ " vaikimisi kasutatakse sisendi eraldajat\n" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Kasutage ühte ja ainult ühte võtit järgnevaist -b, -c või -f. Iga LOEND\n" #~ "koosneb vahemikust või komadega eraldatud vahemikest. Valitud sisend\n" #~ "kirjutatakse täpselt üks kord lugemise järjekorras.\n" #~ "Iga vahemik on üks järgnevaist:\n" #~ "\n" #~ " N N-is bait, sümbol või väli, loendamist alustatakse ühest\n" #~ " N- N-indast baidist, sümbolist või väljast rea lõpuni\n" #~ " N-M alates N kuni M (kaasa arvatud) baiti, sümbolit või välja\n" #~ " -M esimesest kuni M-nda (kaasa arvatud) baidi, sümboli või väljani\n" #~ "\n" #~ "Kui FAIL puudub või on -, loeb standardsisendit.\n" #~ msgid "invalid byte or field list" #~ msgstr "vigane baitide või väljade loend" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "Vigane vahemiku lõpp" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "vigane sisendi vahemik: %s" #~ msgid "byte offset %s is too large" #~ msgstr "baidi nihe %s on liiga suur" #~ msgid "field number %s is too large" #~ msgstr "välja number %s on liiga suur" #~ msgid "only one type of list may be specified" #~ msgstr "lubatud on ainult sama tüüpi loend" #~ msgid "the delimiter must be a single character" #~ msgstr "eraldaja peab olema üks sümbol" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "peate määrama baitide, sümbolite või väljade loendi" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "sisendi eraldajat saab määrata ainult juhul kui töötatakse väljadega" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "eraldamata ridade blokeerimine omab mõtet ainult\n" #~ "\tväljadega töötamise puhul" #~ msgid "missing list of fields" #~ msgstr "puudub väljade loend" #~ msgid "missing list of positions" #~ msgstr "puudub asukohtade loend" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... [+FORMAAT]\n" #~ " või: %s [-u|--utc|--universal] [KKPPttmm[[SS]AA][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Näita jooksvat aega vastavalt antud formaadile või sea süsteemi aeg.\n" #~ "\n" #~ " -d, --date=SÕNE näita SÕNEga kirjeldatud aega, mitte " #~ "praegust\n" #~ " -f, --file=KPFAIL nagu --date, aga ajad loe igalt KPFAIL realt\n" #, fuzzy #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " -r, --reference=FAIL näita FAILi viimast muutmise aega\n" #~ " -R, --rfc-2822 väljasta RFC-2822 ühilduv kuupäeva sõne\n" #~ " --rfc-3339=MÄÄRANG väljasta RFC-3339 ühilduv kuupäeva sõne.\n" #~ " MÄÄRANG võib olla `date', `seconds' või " #~ "`ns'.\n" #~ " -s, --set=SÕNE sea SÕNEga määratud aeg\n" #~ " -u, --utc, --universal esita või sea koordineeritud universaalaeg\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "FORMAAT kontrollib väljundit. Ainus lubatud võti teise vormiga määrab\n" #~ "koordineeritud universaalaja. Interpreteeritavad järjendid on:\n" #~ "\n" #~ " %% sümbol %\n" #~ " %a lokaadi lühendatud nädalapäeva nimi (näiteks P)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A lokaadi nädalapäeva nimi, muutuv pikkus (nt. pühapäev)\n" #~ " %b lokaadi lühendatud kuu nimi (nt. jaan)\n" #~ " %B lokaadi kuu nimi (nt. jaanuar)\n" #~ " %c lokaadi kuupäev ja aeg (nt. teisipäev, 25. juuni 2002. 12:11:55 " #~ "EEST)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C sajand; nagu %Y, aga viimased kaks numbrit on ära jäetud (nt. 21)\n" #~ " %d päev kuus (nt. 01)\n" #~ " %D kuupäev, sama kui %m/%d/%y\n" #~ " %e päev kuus, täiendatud tühikuga; sama kui %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F kuupäev; sama kui %Y-%m-%d\n" #~ " %g aasta 2-numbriga, mis vastab ISO nädala numbrile (vaata %G)\n" #~ " %G aasta, mis vastab ISO nädala numbrile (vaata %V); kasutatav koos %" #~ "V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h sama kui %b\n" #~ " %H tund (00..23)\n" #~ " %I tund (01..12)\n" #~ " %j päev aastas (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k tund ( 0..23)\n" #~ " %l tund ( 1..12)\n" #~ " %m kuu (01..12)\n" #~ " %M minut (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n reavahetus\n" #~ " %N nanosekundeid (000000000..999999999)\n" #~ " %p lokaadi suurtähtedega AM või PM tähis (paljudes lokaatides tühi)\n" #~ " %P nagu %p, aga väiketähtedega\n" #~ " %r aeg, 12-tunni esitus (tt:mm:ss [AP]M)\n" #~ " %R aeg, 24-tunni esitus (tt:mm)\n" #~ " %s sekundeid alates `00:00:00 1970-01-01 UTC' (GNU laiendus)\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S sekund (00..60)\n" #~ " %t tabulaator\n" #~ " %T aeg, sama kui %H:%M:%S\n" #~ " %u nädalapäev (1..7); 1 esitab esmaspäeva\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U nädala number aastas, pühapäev nädala esimene päev (00..53)\n" #~ " %V ISO nädala number, esmaspäev on nädala esimene päev (01..53)\n" #~ " %w päev nädalas (0..6); 0 esitab pühapäeva\n" #~ " %W nädala number aastas, esmaspäev nädala esimene (00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x lokaadi kuupäeva esitus (nt. kk.pp.aa)\n" #~ " %X lokaadi aja esitus (nt. 23:13:48)\n" #~ " %y aasta kaks viimast numbrit (00..99)\n" #~ " %Y aasta\n" #, fuzzy #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z +ttmm numbriline ajatsoon (nt., -0400)\n" #~ " %:z +tt:mm numbriline ajatsoon (nt., -04:00)\n" #~ " %::z +tt:mm:ss numbriline ajatsoon (nt., -04:00:00)\n" #~ " %:::z numbriline ajatsoon koos : vastava täpsuseni (nt., -04, +05:30)\n" #~ " %Z ajatsooni tähis tähtedega (nt., EET)\n" #~ "\n" #~ "Vaikimisi täidab date numbriväljad nullidega.\n" #~ "`%' järel võib kasutada järgnevaid lippe:\n" #~ "\n" #~ " - (miinus) ära täida välju\n" #~ " _ (alakriips) täida tühikutega\n" #~ " 0 (null) täida nullidega\n" #~ " ^ kui võimalik, kasuta suurtähti\n" #~ " # kui võimalik, kasuta vastupidi tähesuurust\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Peale lippe võib kasutada välja laiuse määramiseks veel numbrit;\n" #~ "seejärel täiendajat, mis võib olla kas\n" #~ "E et kasutada lokaadi alternatiivesitust või\n" #~ "O et kasutada lokaadi alternatiivset numbrilist esitust\n" #~ msgid "multiple output formats specified" #~ msgstr "määrati mitu väljundvormingut" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "väljastatava ajaformaadi võtmed on üksteist välistavad" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "aja seadmise ja väljastamise võtmeid ei saa koos kasutada" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "argumendil %s puudub ees `+';\n" #~ "Kui soovite väljastada aega, peavad argumendid, mis ei ole võtmed,\n" #~ "olema formaati määravad sõned, mis algavad sümboliga `+'." #~ msgid "cannot set date" #~ msgstr "kuupäeva ja kellaaega ei õnnestu seada" #~ msgid "time %s is out of range" #~ msgstr "aeg %s on piirkonnast väljas" #~ msgid "Filesystem Type" #~ msgstr "Failisüsteem Tüüp" #~ msgid "Filesystem " #~ msgstr "Failisüsteem " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " I-kirjeid IKasut IVaba IKas%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Maht Kasut Vaba Kas%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Maht Kasut Vaba Kas%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-plokki Kasut Vaba Maht" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr "%4s-blokke Kasut Vaba Kas%%" #~ msgid " Mounted on\n" #~ msgstr " Haagitud\n" #~ msgid "cannot get current directory" #~ msgstr "ei õnnestu leida jooksvat kataloogi" #~ msgid "cannot change to directory %s" #~ msgstr "ei õnnestu minna kataloogi %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "ei õnnestu lugeda jooksva kataloogi atribuute (nüüd %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Kasutamine: %s [VÕTI]... [FAIL]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Esita informatsioon failisüsteemidest, milles iga antud fail asub.\n" #~ "Vaikimisi esita infot igast haagitud failisüsteemist.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all väljasta kõik failisüsteemid\n" #~ " -B --block-size=MAHT kasuta määratud ploki suurust\n" #~ " -h, --human-readable väljasta suurused inimesele loetavalt (n. 1K 234M " #~ "2G)\n" #~ " -H, --si sama, kui kasuta 1000 kordseid, mitte 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes väljasta plokkide asemel i-kirjete info\n" #~ " -k sama kui --block-size=1K\n" #~ " -l, --local näita ainult lokaalseid failisüsteeme\n" #~ " --no-sync enne info lugemist ära kasuta synci (vikimisi)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability kasuta POSIX väljundi vormingut\n" #~ " --sync enne info lugemist käivita sync\n" #~ " -t, --type=TÜÜP väljasta info antud tüüpi failisüsteemidest\n" #~ " -T, --print-type väljasta failisüsteemi tüüp\n" #~ " -x, --exclude-type=TÜÜP ära väljasta infot antud tüüpi " #~ "failisüsteemidest\n" #~ " -v (ignoreeritakse)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "MAHT võib olla (või võib olla number, millele võib järgneda) üks " #~ "järgnevaist:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024 ja nii edasi tähtedega\n" #~ "G, T, P, E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "" #~ "failisüsteemi tüüp %s on nii valitute kui ka väljaarvatute nimekirjas" #~ msgid "Warning: " #~ msgstr "Hoiatus: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%s ei õnnestu lugeda haagitud failisüsteemide tabelit" #~ msgid "no file systems processed" #~ msgstr "ühtegi failisüsteemi ei töödeldud" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Kasutamine: %s [VÕTI]... [FAIL]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "LS_COLORS keskkonnamuutujat seadvad väljundkäsud.\n" #~ "\n" #~ "Määra väljundi vorming:\n" #~ " -b, --sh, --bourne-shell väljasta LS_COLORS seadmiseks Bourne shell " #~ "kood\n" #~ " -c, --csh, --c-shell väljasta LS_COLORS seadmiseks C shell kood\n" #~ " -p, --print-database väljasta vaikeväärtused\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Kui on antud FAIL, loe sealt failitüüpide ja laienditega kasutatavad\n" #~ "värvid. Muidu kasuta vaikimisi andmebaasi. Infot failide vormingu kohta\n" #~ "saate käsuga `dircolors --print-database'.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: vigane rida; teine märgis puudub" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: tundmatu võtmesõna %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "võtmed dircolor sisemise andmebaasi väljastamiseks ja shelli süntaksi\n" #~ "valimiseks on üksteist välistavad" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "Faili operande ei saa võtmega --print-database (-p) kasutada." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "puudub keskkonnamuutuja SHELL, samuti ei ole määratud shelli tüüpi" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s NIMI\n" #~ " või: %s VÕTI\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Trüki NIMI, millest on viimane komponent eemaldatud; kui nimes ei ole\n" #~ "sümboleid `/', väljasta `.' (mis tähistab jooksvat kataloogi).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Näited:\n" #~ " %s /usr/bin/sort Väljasta \"/usr/bin\".\n" #~ " %s stdio.h Väljasta \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... [FAIL]...\n" #~ " või: %s [VÕTI]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Summeeri iga faili kettakasutus, kataloogid rekursiivselt.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all väljasta loendurid kõikidele failidele\n" #~ " --apparent-size väljasta ketta kasutamise asemel nähtav suurus; " #~ "kuigi\n" #~ " nähtav suurus on tavaliselt väiksem, võib see " #~ "olla\n" #~ " tegelikkuses ka suurem tänu aukudega failidele, " #~ "sise-\n" #~ " misele fragmenteerumisele, kaudsetele blokkidele " #~ "jms\n" #~ " -B, --block-size=MAHT kasuta määratud ploki suurust\n" #~ " -b, --bytes väljasta maht baitides\n" #~ " -c, --total väljasta kogumaht\n" #~ " -D, --dereference-args kasuta nimeviidete korral viidatavaid\n" #, fuzzy #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F summeeri failist F loetud failide kettakasutus\n" #~ " failinimed failis F on eraldatud sümboliga NUL\n" #~ " -H nagu --si, aga nÄitab ka hoiatust; varsti muutub " #~ "samaks\n" #~ " kui võti --dereference-args (-D)\n" #~ " -h, --human-readable väljasta suurused inimesele loetavalt (n. 1K 234M " #~ "2G)\n" #~ " --si sama, kasuta 1000 kordseid, mitte 1024 " #~ "(mittesoovitav)\n" #~ " -k, --kilobytes sama, kui --block-size=1K\n" #~ " -l, --count-links loenda viiteid eraldi failidena\n" #~ " -m sama, kui --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference kasuta nimeviidete korral viidatavaid\n" #~ " -P, --no-dereference ära järgne nimeviidetele (vaikimisi)\n" #~ " -O, --null lõpeta iga rida reavahetuse asemel baidiga 0\n" #~ " -S, --separate-dirs ära arvesta kataloogide suurusi\n" #~ " -s, --summarize väljasta iga argumendi kohta summa\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system jäta vahele kataloogid teistest " #~ "failisüsteemidest\n" #~ " -X FILE, --exclude-from=FAIL ära loenda failist loetud mustritega " #~ "faile\n" #~ " --exclude=MUSTER Ära loenda mustrile vastavaid faile\n" #~ " --max-depth=N väljasta kataloogi summa (võtmega --all faili)\n" #~ " ainult juhul, kui see on N või vähem taset " #~ "sügavamal,\n" #~ " kui käsurea argument; --max-depth=0 on sama, kui\n" #~ " --summarize\n" #, fuzzy #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time näita kõikide failide muutmise aega\n" #~ " --time=SÕNA muutmise aja asemel näita üht järgnevaist:\n" #~ " atime, access, use, ctime või status\n" #~ " --time-style=STIIL esita aeg kasutades järgnevat stiili\n" #~ " full-iso, long-iso, iso, +VORMING\n" #~ " VORMING o sama mis `date' käsu korral\n" #~ msgid "total" #~ msgstr "kokku" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "HOIATUS: kasutage --si mitte -H; -H võtme tähendus muutub varsti samaks,\n" #~ "kui --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "vigane maksimaalne sügavus %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "võti --megabytes on aegunud; kasutage selle asemel -m" #~ msgid "cannot both summarize and show all entries" #~ msgstr "korraga ei saa summeerida ja näidata kõiki" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "hoiatus: summeerimine on sama, kui kasutada --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "hoiatus: summeerimine on konfliktne võtmega --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Faili operande ei saa võtmega --files0-from koos kasutada." #~ msgid "cannot read file names from %s" #~ msgstr "failist %s ei õnnestu failide nimesid lugeda" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "kui failide nimesid loetakse standardsisendist, pole failide nimed %s " #~ "lubatud" #~ msgid "invalid zero-length file name" #~ msgstr "vigane null-pikkusega faili nimi" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Kasutamine: %s [VÕTI]... [SÕNE]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Väljasta SÕNE standardväljundisse.\n" #~ "\n" #~ " -n ei väljasta lõpetavat reavahetust\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e luba langkriipsude paojada interpreteerimine " #~ "(vaikimisi)\n" #~ " -E keela langkriipsude paojada interpreteerimine\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "-e võtmega tuntakse ja interpreteeritakse järgnevaid järjendeid:\n" #~ "\n" #~ " \\NNN sümbol ASCII koodiga NNN (kaheksandsüsteemis)\n" #~ " \\\\ langkriips\n" #~ " \\a tähelepanu (BEL)\n" #~ " \\b samm tagasi\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c blokeeri lõpetav reavahetus\n" #~ " \\f lehevahetus\n" #~ " \\n uus rida\n" #~ " \\r rea algusesse\n" #~ " \\t horisontaalne tabulaator\n" #~ " \\v vertikaalne tabulaator\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... [-] [NIMI=VÄÄRTUS]... [KÄSK [ARGUMENT]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Sea iga keskkonnamuutuja NIMI väärtus ja käivita KÄSK.\n" #~ "\n" #~ " -i, --ignore-environment alusta tühja keskkonnaga\n" #~ " -u, --unset=NIMI eemalda muutuja keskkonnast\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Ainult - rakendab võtme -i. Kui käsku ei ole antud, väljasta keskkond.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Teisenda igas FAILIS tabulaatorid tühikuteks, väljasta " #~ "standardväljundisse.\n" #~ "Kui FAIL puudub või on -, loeb standardsisendit.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial ära teisenda TABe peale mittetühje sümboleid\n" #~ " -t, --tabs=NUMBER kasuta vaikimisi 8 asemel tabulaatoris NUMBER " #~ "sümbolit\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LOEND kasuta komadega eraldatud loendit tab " #~ "positsioonidest\n" #~ msgid "tab stop is too large %s" #~ msgstr "tabulaatori peatus on liiga suur %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "tabulaatori suurus sisaldab vigast sümbolit: %s" #~ msgid "tab size cannot be 0" #~ msgstr "tabulaatori suurus ei saa olla 0" #~ msgid "tab sizes must be ascending" #~ msgstr "tabulaatori suurused peavad olema kasvavad" #~ msgid "input line is too long" #~ msgstr "sisendi rida on liiga pikk" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s AVALDIS\n" #~ " või: %s VÕTI\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Trüki AVALDISe väärtus standardväljundisse. Tühi rida loendis allpool\n" #~ "eraldab kasvava prioriteediga gruppe. AVALDIS võib olla:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 kui see pole null ega 0, muidu ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 kui kumbki argument ei ole null või 0, muidu 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 on väiksem, kui ARG2\n" #~ " ARG1 <= ARG2 ARG1 on väiksem või võrdne, kui ARG2\n" #~ " ARG1 = ARG2 ARG1 ja ARG2 on võrdsed\n" #~ " ARG1 != ARG2 ARG1 ja ARG2 ei ole võrdsed\n" #~ " ARG1 >= ARG2 ARG1 on suurem või võrdne, kui ARG2\n" #~ " ARG1 > ARG2 ARG1 on suurem, kui ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 ARG1 ja ARG2 aritmeetiline summa\n" #~ " ARG1 - ARG2 ARG1 ja ARG2 aritmeetiline vahe\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 ARG1 ja ARG2 aritmeetiline korrutis\n" #~ " ARG1 / ARG2 ARG1 jagatud ARG2 täisosa\n" #~ " ARG1 % ARG2 ARG1 jagatud ARG2 jääk\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " SÕNE : REGEXP mustri REGEXP otsing SÕNEst\n" #~ "\n" #~ " match SÕNE REGEXP sama, kui SÕNE : REGEXP\n" #~ " substr SÕNE POS LENGTH SÕNE alamsõne, POS algab väärtuselt 1\n" #~ " index SÕNE SÜMBOLID SÕNE indeks, kust leiti SÜMBOLID, või 0\n" #~ " length SÕNE SÕNE pikkus\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + MÄRK interpreteeri MÄRKi sõnena, isegi kui see on\n" #~ " võtmesõna, nagu `match' või operaator, nagu `/'\n" #~ "\n" #~ " ( AVALDIS ) AVALDISe väärtus\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Pange tähele, et paljud operaatorid vajavad käsuinterpretaatori eest\n" #~ "kaitset kvootimise või langkriipsuga kaitsmise näol. Võrdlused on\n" #~ "aritmeetilised, kui mõlemas argumendid on numbrid, muidu " #~ "leksikograafilised.\n" #~ "Mustri otsing tagastab teksti, mis leiti \\( ja \\) vahel või null; kui\n" #~ "\\( ja \\) ei kasutata, tagastatakse leitud sümbolite arv või 0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Lõpetamise kood on 0 kui AVALDIS pole ei null ega 0, 1 kui AVALDIS on " #~ "null\n" #~ "või 0, 2 kui AVALDIS on süntaktiliselt vigane ja 3 kui tekkis viga.\n" #~ msgid "syntax error" #~ msgstr "süntaksi viga" #~ msgid "error in regular expression matcher" #~ msgstr "viga regulaaravaldisega otsingul" #~ msgid "non-numeric argument" #~ msgstr "mitte-numbriline argument" #~ msgid "division by zero" #~ msgstr "nulliga jagamine" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s [NUMBER]...\n" #~ " või: %s VÕTI\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Väljasta kõikide antud täisarvude algarvulised tegurid.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Väljasta iga NUMBRI algarvulised tegurid. Kui käsureal argumente pole,\n" #~ "loetakse need standardsisendist.\n" #~ msgid "%s is too large" #~ msgstr "%s on liiga suur" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s ei ole korrektne positiivne täisarv" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Kasutamine: %s [-NUMBRID] [VÕTI]... [FAIL]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vormista ümber iga lõik FAILides, kirjuta tulemus standardväljundisse.\n" #~ "Kui FAIL puudub või on `-', loe standardsisendit.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin säilita esimese kahe rea taane\n" #~ " -p, --prefix=SÕNE kombineeri ainult ühise prefiksiga read,\n" #~ " prefiks säilitatakse\n" #~ " -s, --split-only tükelda pikad read, aga ära täida\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph esimese rea taane on teise rea omast erinev\n" #~ " -u, --uniform-spacing üks tühik sõnade vahel, kaks lausete vahel\n" #~ " -w, --width=NUMBER maksimaalne rea pikkus (vaikimisi 75 veergu)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "vigane võti -- %c; -NUMBRID tuntakse ainult juhul, kui see on esimene " #~ "võti;\n" #~ "kasutage parem -w N" #~ msgid "invalid width: %s" #~ msgstr "vigane laius: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Murra iga FAILI (vaikimisi standardsisend) rida, väljasta " #~ "standardväljundisse.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes loe veergude asemel baite\n" #~ " -s, --spaces poolita tühikute kohal\n" #~ " -w, --width=LAIUS kasuta 80 asemel use LAIUS sümbolit\n" #~ msgid "invalid number of columns: %s" #~ msgstr "vigane veergude arv: %s" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "%s grupi muutmine grupiks %s ebaõnnestus\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "%s grupi muutmine grupiks %s ebaõnnestus\n" #~ msgid "cannot find name for group ID %lu" #~ msgstr "ei leia GID %lu vastavat gruppi" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Kasutamine: %s [VÕTI]... [KASUTAJANIMI]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Sellista kasutajat pole" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Väljasta igast FAIList esimesed 10 rida standardväljundisse.\n" #~ "Enam, kui ühe faili korral lisa ka päis faili nimega.\n" #~ "Kui FAIL puudub või on -, loe standardsisendit.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N Väljasta igast failist esimesed N baiti;\n" #~ " kui ees on `-', väljasta igast failist " #~ "kõik,\n" #~ " välja arvatud viimased N baiti\n" #~ " -n, --lines=[-]N väljasta esimese 10 rea asemel esimesed N " #~ "rida;\n" #~ " kui ees on `-', väljasta igast ailist kõik,\n" #~ " välja arvatud viimased N rida\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent ära väljasta päiseid failide nimega\n" #~ " -v, --verbose väljasta alati ka päis faili nimega\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "PLOKID ja BAIDID võivad kasutada ka järgnevaid kordavaid sufikseid:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 ja nii edasi sümbolitele T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "Iga VÕTMESÕNA võib olla:\n" #~ "\n" #~ msgid "error reading %s" #~ msgstr "viga %s lugemisel" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: fail on liiga palju lühenenud" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: baitide arv on liiga suur" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: ei õnnestu liikuda (lseek) algsele positsioonile" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: ei õnnestu liikuda nihkele %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "ei õnnestu muuta %s failiviita" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s on nii suur, et seda ei saa esitada" #~ msgid "number of lines" #~ msgstr "ridu" #~ msgid "number of bytes" #~ msgstr "baite" #~ msgid "invalid number of lines" #~ msgstr "vigane ridade arv" #~ msgid "invalid number of bytes" #~ msgstr "vigane baitide arv" #~ msgid "invalid trailing option -- %c" #~ msgstr "vigane võti lõpus -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Kasutamine: %s\n" #~ " või: %s VÕTI\n" #~ "Väljasta antud arvuti (kuueteistkümnend) numbriline identifikaator.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Kasutamine: %s [NIMI]\n" #~ " või: %s VÕTI\n" #~ "Esita või sea antud süsteemi nimi.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "ei õnnestu seada nimeks %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "nime ei õnnestu seada; süsteemil pole sellist funktsionaalsust" #~ msgid "cannot determine hostname" #~ msgstr "ei õnnestu tuvastada süsteemi nime" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Väljasta informatsiooni KASUTAJA või käsu kasutaja kohta.\n" #~ "\n" #~ " -a ignoreeri, võti on ühilduvuseks vanemate versioonidega\n" #~ " -g, --group väljasta ainult grupi ID\n" #~ " -G, --groups väljasta ainult lisagupid\n" #~ " -n, --name väljasta numbri asemel nimi, võtmetele -ugG\n" #~ " -r, --real väljasta efektiivse ID asemel reaalne ID, võtmetega -" #~ "ugG\n" #~ " -u, --user väljasta ainult kasutaja ID\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Kui võtmeid pole antud, väljasta komplekt kasutatavat informatsiooni.\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "ei saa tükeldada enam kui ühel viisil" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "vaikimisi formaati kasutades ei saa väljastada ainult nimesid või " #~ "reaalset ID" #~ msgid "cannot find name for user ID %lu" #~ msgstr "ei leia UID %lu vastavat kasutajanime" #~ msgid " groups=" #~ msgstr " grupid=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "hoiatus: ei saa minna kataloogi %s" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "kataloogi installeerimisel ei saa kasutada võtit strip" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "kataloogi installeerimisel ei saa sihtkataloogi määrata" #~ msgid "invalid mode %s" #~ msgstr "vigane mood %s" #~ msgid "cannot change ownership of %s" #~ msgstr "ei õnnestu muuta %s omanikku" #~ msgid "cannot set time stamps for %s" #~ msgstr "ei õnnestu seada %s ajatempleid" #~ msgid "fork system call failed" #~ msgstr "süsteemifunktsioon fork ebaõnnestus" #~ msgid "cannot run strip" #~ msgstr "strip käsku ei saa käivitada" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "kirjutan faili %s" #~ msgid "invalid user %s" #~ msgstr "vigane kasutaja %s" #~ msgid "invalid group %s" #~ msgstr "vigane grupp %s" #~ msgid "creating directory %s" #~ msgstr "loon kataloogi %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... [-T] ALG SIHT\n" #~ " või: %s [VÕTI]... ALG... KATALOOG\n" #~ " või: %s [VÕTI]... -t KATALOOG ALG...\n" #~ " või: %s [VÕTI]... -d KATALOOG...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Esimesed kolm varianti kopeerivad allika sihtkohta või allikad\n" #~ "olemasolevasse kataloogi seades õigused ja omaniku/grupi.\n" #~ "Neljas variant loob antud kataloogi(d).\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=KONTROLL] loo igast olemasolevast sihtfailist varukoopia\n" #~ " -b nagu --backup, aga ei võta argumenti\n" #~ " -c (ignoreeritakse)\n" #~ " -d, --directory käsitle kõiki argumente kataloogidena; loo kõik\n" #~ " antud kataloogide komponendid\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D loo kõik SIHTKOHAD välja arvatud viimane, seejärel\n" #~ " kopeeri allikas sihiks\n" #~ " -g, --group=GRUPP sea protsessi grupi asemel määratud grupp\n" #~ " -m, --mode=MOOD sea rwxr-xr-x õiguste asemel antud õigused\n" #~ " -o, --owner=OMANIK sea omanik (ainult super-kasutaja)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps sea algfailide kasutamise/muutmise ajad \n" #~ " vastavatele sihtfailidele\n" #~ " -s, --strip puhasta sümboltabelid, ainult esimesel kahel kujul\n" #~ " -S, --suffix=SUFIKS määra uus varukoopia järelliide\n" #~ " -T, --no-target-directory käsitle SIHT tavalise failina\n" #~ " -v, --verbose väljasta iga loodava kataloogi nimi\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Varukoopia sufiks on `~', kui seda ei ole muudetud võtmega --suffix või\n" #~ "keskkonnamuutujaga SIMPLE_BACKUP_SUFFIX. Versioonikontrolli meetodit " #~ "saab\n" #~ "valida võtmega --backup või keskonnamuutujaga VERSION_CONTROL. " #~ "Võimalikud\n" #~ "väärtused on järgnevad:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Iga identsete ühendatavate väljadega sisendrea paari korral väljastab " #~ "rea \n" #~ "standardväljundisse. Vaikimisi ühendatav väli on esimene, väljad " #~ "eraldatakse\n" #~ "tühemikuga. Kui FAIL1 või FAIL2 (aga mitte mõlemad) on -, loe standard-\n" #~ "sisendit.\n" #~ "\n" #~ " -a FAILINUM väljasta paariliseta read failist FAILINUM\n" #~ " -e TÜHI asenda puuduvad sisendväljad sõnaga TÜHI\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case kasuta tõstutundetut väljade võrdlemist\n" #~ " -j VÄLI sama, kui `-1 VÄLI -2 VÄLI'\n" #~ " -o VORMING väljundrea koostamise VORMING\n" #~ " -t SÜMBOL kasuta SÜMBOLit sisend- ja väljundväljade eraldajana\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v FAILINUM sama, kui -a FAILINUM, aga ei väljasta vastavaid " #~ "ridu\n" #~ " -1 VÄLI ühenda see VÄLI failist 1\n" #~ " -2 VÄLI ühenda see VÄLI failist 2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Kui võtit -t SÜMBOL ei kasutata, ignoreeritakse väljade ees olevaid " #~ "tühikuid,\n" #~ "muidu kasutatakse väljade eraldajana võtmega -t määratud sümbolit. Välja\n" #~ "tähistatakse välja numbriga, loendamist alustatakse ühest. Vorming on " #~ "üks\n" #~ "või enam komade või tühikutega eraldatud määranguid kujul `FAILINUM.VÄLI' " #~ "või\n" #~ "`0'. Vaikimisi vorming väljastab ühendatud väljad, siis ülejäänud väljad\n" #~ "failist FAIL1, siis ülejäänud väljad failist FAIL2. Väljad eraldatakse\n" #~ "SÜMBOLiga.\n" #~ msgid "invalid field number: %s" #~ msgstr "vigane välja number: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "vigane välja määrang: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "vigane faili number välja määrangus: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "ühildamatud väljad %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "konfliktsed tühja-välja asendamise sõned" #~ msgid "empty tab" #~ msgstr "tühi tabulaator" #~ msgid "multi-character tab %s" #~ msgstr "mitme-sümboliline tabulaator %s" #~ msgid "incompatible tabs" #~ msgstr "mitteühilduvad tabulaatorid" #~ msgid "both files cannot be standard input" #~ msgstr "mõlemad failid ei saa olla standardsisendid" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Kasutamine: %s [-s SIGNAAL | -SIGNAAL] PID...\n" #~ " või: %s -l [SIGNAAL]...\n" #~ " või: %s -t [SIGNAAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Saada protsessidele signaale või esita signaalide nimekiri.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal SIGNAAL, -SIGNAAL\n" #~ " Saadetava signaali nimi või number.\n" #~ " -l, --list Esita signaalide nimed või tõlgi nimeks/numbriks.\n" #~ " -t, --table Väljasta tabel infoga signaalidest.\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SIGNAAL võib olla signaali nimi, nagu `HUP', või signaali number, nagu " #~ "`1',\n" #~ "või signaaliga katkestatud programmi lõpetamise kood.\n" #~ "PID on täisarv, negatiivne tähendab protsessi gruppi.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: vigane signaal" #~ msgid "%s: invalid process id" #~ msgstr "%s: vigane protsessi id" #~ msgid "invalid option -- %c" #~ msgstr "vigane võti -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: anti mitu signaali" #~ msgid "multiple -l or -t options specified" #~ msgstr "kasutati mitud -l või -t võtit" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "signaali ei saa kombineerida võtmetega -l või -t" #~ msgid "no process ID specified" #~ msgstr "puudub protsessi ID" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s FAIL1 FAIL2\n" #~ " või: %s VÕTI\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Kasutan viite FAIL2 loomiseks failile FAIL1 funktsiooni link.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "ei õnnestu luua viidet %s -> %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "%s: hoiatus: nimeviitele viite tegemine ei ole portaabel" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: kataloogidele ei saa luua viiteid" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: kataloogi ei saa üle kirjutada" #~ msgid "%s: replace %s? " #~ msgstr "%s: asendan %s? " #~ msgid "creating symbolic link %s" #~ msgstr "loon nimeviidet %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "loon nimeviidet %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "loon viidet %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "loon viidet %s" #~ msgid "creating hard link %s => %s" #~ msgstr "loon viidet %s => %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Kasuta: %s [VÕTI]... [-T] ALLIKAS VIITE_NIMI (1. vorm)\n" #~ " või: %s [VÕTI]... SIHT (2. vorm)\n" #~ " või: %s [VÕTI]... SIHT... KATALOOG (3. vorm)\n" #~ " või: %s [VÕTI]... -t KATALOOG SIHT... (4. vorm)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Esimesel kujul loo viide antud nimele.\n" #~ "Teisel kujul loo viide jooksvasse kataloogi.\n" #~ "Kolmandal ja neljandal kujul luuakse viited kõikidele kataloogi " #~ "elementidele.\n" #~ "Vaikimisi luuakse viited, nimeviidete loomiseks on võti --symbolic.\n" #~ "Viidete loomisel peavad viidatavad failid olemas olema.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=KONTROLL] loo igast olemasolevast sihtfailist " #~ "varukoopia\n" #~ " -b nagu --backup, aga ei võta argumenti\n" #~ " -d, -F, --directory lubab superkasutajal luua viidet " #~ "kataloogile\n" #~ " (märkus: tõenäoliselt ebaõnnestub, kuna " #~ "reeglina\n" #~ " süsteemid ei luba kataloogidele viiteid " #~ "luua)\n" #~ " -f, --force eemalda olemasolevad sihtfailid\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference kui sihtfail on nimeviide kataloogile,\n" #~ " käsitle seda kui tavalist faili\n" #~ " -i, --interactive küsi enne sihtfaili eemaldamist\n" #~ " -s, --symbolic loo viidete asemel nimeviited\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=SUFIKS määra varukoopia järelliide\n" #~ " -t, --target-directory=KATALOOG määra kataloog, milles luuakse viited\n" #~ " -T, --no-target-directory käsitle viite nime tavalise failina\n" #~ " -v, --verbose väljasta faili nimi enne viite loomist\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "-target-directory ja --no-target-directory ei saa koos kasutada" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Kasutamine: %s [VÕTI]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Väljasta jooksva kasutaja nimi.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "kasutajanime pole" #~ msgid "%b %e %Y" #~ msgstr "%e. %b %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%e. %b %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "eiran vigast keskkonnamuutuja QUOTING_STYLE väärtust: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "eiran vigast laiuse kirjeldust keskkonnamuutujas COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "eiran vigast tabulaatori kirjeldust keskkonnamuutujas TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "vigane rea laius: %s" #~ msgid "invalid tab size: %s" #~ msgstr "vigane tabulaatori suurus: %s" #~ msgid "invalid time style format %s" #~ msgstr "vigane ajamäärang %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "tundmatu prefiks: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "arusaamatu väärtus keskkonnamuutuja LS_COLORS jaoks" #~ msgid "cannot open directory %s" #~ msgstr "kataloogi %s ei saa avada" #~ msgid "cannot determine device and inode of %s" #~ msgstr "ei õnnestu tuvastada %s seadet ja i-kirje numbrit" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: ei näita juba näidatud kataloogi" #~ msgid "closing directory %s" #~ msgstr "sulen kataloogi %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "failide %s ja %s nimesid ei õnnestu võrrelda" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Esita infot failidest (vaikimisi jooksvas kataloogis).\n" #~ "Kui ei ole kasutatud võtmeid -cftuvSUX või --sort, järjesta väljund\n" #~ "tähestikuliselt\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all ära peida kirjed, mis algavad sümboliga .\n" #~ " -A, --almost-all ära näita nimesid . ja ..\n" #~ " --author võtmega -l, väljasta iga faili autor\n" #~ " -b, --escape väljasta mitte-esitatavad sümbolid\n" #~ " kaheksandkoodidega\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=SUURUS määra plokkide suurus baitides\n" #~ " -B, --ignore-backups ära näita nimesid, mille lõpus on ~\n" #~ " -c võtmega -lt: järjesta ja näita ctime (faili\n" #~ " oleku viimase muutmise aeg)\n" #~ " võtmega -l: näita ctime ja järjesta nime " #~ "järgi\n" #~ " muidu: järjesta ctime järgi\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C esita väljund veergudena\n" #~ " --color[=MILLAL] määra, millal kasutada failitüüpide " #~ "eristamiseks\n" #~ " värve.\n" #~ " MILLAL võib olla `never', `always' või " #~ "`auto'\n" #~ " -d, --directory näita kataloogide sisu asemel neid endid\n" #~ " -D, --dired vorminda väljund Emacs dired moodile\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f ära järjesta, kasuta -aU, blokeeri -ls --" #~ "color\n" #~ " -F, --classify lisa tähis (üks järgnevaist */=>@|) " #~ "nimedele\n" #~ " --file-type sama, aga ei lisa `*'\n" #~ " --format=SÕNA across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time nagu -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g nagu -l, aga ei näita omanikku\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all väljasta kõik failisüsteemid\n" #~ " -B --block-size=MAHT kasuta määratud ploki suurust\n" #~ " -h, --human-readable väljasta suurused inimesele loetavalt (n. 1K 234M " #~ "2G)\n" #~ " -H, --si sama, kui kasuta 1000 kordseid, mitte 1024\n" #, fuzzy #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -G, --no-group nagu -l, aga ei väljasta gruppi\n" #~ " -h, --human-readable väljasta mahud inimesele loetavalt (n. 1K " #~ "234M 2G)\n" #~ " --si sarnane, aga kasuta 1000 kordseid, mitte " #~ "1024\n" #~ " -H, --dereference-command-line kui käsureal on nimeviited näita " #~ "viidatavaid\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " järgne igale käsureal olevale nimeviitele, " #~ "kui see\n" #~ " viitab kataloogile\n" #~ " --hide=MUSTER ära näita mustrile vastavaid elemente (-a " #~ "või -A\n" #~ " tühistab)\n" #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=SÕNA lisa nimedele indikaator, vastavalt antud\n" #~ " stiilile: none (vaikimisi), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode väljasta iga faili i-kirje number\n" #~ " -I, --ignore=MUSTER ära näita shelli mustrile vastavaid nimesid\n" #~ " -k nagu --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l väljasta info pikas vormingus\n" #~ " -L, --dereference väljastades infot nimeviite kohta, näita " #~ "viite\n" #~ " asemel infot viidatavast failist\n" #~ " -m väljasta nimed komadega eraldatult\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid nagu -l, aga väljasta numbrilised UID ja " #~ "GID\n" #~ " -N, --literal väljasta nimed nagu on (ära käsitle n. " #~ "kontroll\n" #~ " sümboleid eriliselt)\n" #~ " -o nagu -l, aga ära väljasta grupi infot\n" #~ " -p, --indicator-style=slash lisa kataloogide nimedele lõppu /\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars väljasta ? mitte-esitatava sümboli asemel\n" #~ " --show-control-chars näita mitte-esitatavat sümbolit, nagu on\n" #~ " (vaikimisi, kui programm on `ls' ja väljund\n" #~ " ei ole terminal)\n" #~ " -Q, --quote-name väljasta nimed jutumärkide vahel\n" #~ " --quoting-style=SÕNA kasuta nimede kvootimisel stiili:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse kasuta pööratud järjestamist\n" #~ " -R, --recursive esita alamkataloogid rekursiivselt\n" #~ " -s, --size väljasta iga faili suurus plokkides\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S järjesta faili suuruse järgi\n" #~ " --sort=SÕNA kasuta järjestamisel nime asemel sõna: none -" #~ "U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=SÕNA võtmega -l, näita muutmise aja asemel:\n" #~ " atime -u, access -u, use -u, ctime -c\n" #~ " või status -c; kasuta antud aega " #~ "järjestamise võtmena,\n" #~ " kui kasutati --sort=time\n" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=SÕNA võtmega -l, näita aegu kasutades stiili " #~ "SÕNA:\n" #~ " full-iso, long-iso, iso, locale, +VORMING\n" #~ " VORMINGut käsitletakse kui `date'; kui " #~ "VORMING\n" #~ " on VORMING1VORMING2, rakendub\n" #~ " VORMING1 vanematele failidele ja VORMING2\n" #~ " uuematele. Kui SÕNE omab eesliidet " #~ "`posix-',\n" #~ " kasutatakse SONA ainult mitte-POSIX lokaadi\n" #~ " muutmise aegade järjestamisel\n" #~ " -t kasuta järjestamisel muutmise aega\n" #~ " -T, --tabsize=VEERGE sea tabulaatori pikkus (vaikimisi 8 veergu)\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u võtmega -lt: järjesta ja näita kasutamise " #~ "aega\n" #~ " võtmega -l: näita kasutamise aega ja " #~ "järjesta\n" #~ " nime järgi\n" #~ " muidu: järjesta kasutamise aja järgi\n" #~ " -U ära järjesta; väljasta kirjed nagu on " #~ "kataloogis\n" #~ " -v järjesta versiooni järgi\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=VEERGE määra ekraani laius\n" #~ " -x väljasta nimed ridadesse, mitte veergusesse\n" #~ " -X järjesta tähestikuliselt laiendite järgi\n" #~ " -1 väljasta üks nimi rea kohta\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Vaikimisi ei kasutata failitüüpide eristamiseks värve. See on sama, kui\n" #~ "kasutada võtit --color=none. Kasutades võtit --color ilma täiendava \n" #~ "argumendita on sama, kui kasutada --color=always. Võtmega --color=auto\n" #~ "väljastatakse värvikoodid ainult juhul, kui standardväljund läheb\n" #~ "terminalile (tty). Keskkonnamuutuja LS_COLORS mõjutab värvivalikut ja " #~ "seda\n" #~ "saab lihtsasti seada kasutades dircolors käsku.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Lõpetamise koodid on 0 vigadeta, 1 vähetähtsad probleemid, 2 tõsine " #~ "tõrge.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI] [FAIL]...\n" #~ "Väljasta või kontrolli %s (%d-bitti) kontrollsummasid.\n" #~ "Kui FAIL puudub või on -, loe standardsisendit.\n" #~ "\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary loe binaarmoodis (vaikimisi, kui ei loeta tty " #~ "stdin)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary loe binaarmoodis\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr " -c, --check loe %s summad failidest ja kontrolli\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text loe tekstimoodis (vaikimisi, kui kasutatakse " #~ "terminali)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text loe tekstimoodis (vaikimisi)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Järgmised võtmed on kasulikud ainult kontrollsummade kontrollimisel:\n" #~ " --status ära väljasta midagi, tulemust näitab lõpetamise " #~ "kood\n" #~ " -w, --warn hoiata vigaselt vormindatud kontrollsummadest\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Summad arvutatakse vastavalt %s kirjeldusele. Summade kontrollimisel\n" #~ "tuleb kasutada selle programmi väljundit. Vaikimisi mood on väljastada\n" #~ "rida kontrollsummaga, seejärel sümbol, mis märgib faili tüüpi (`*' " #~ "kahend-\n" #~ "ja ` ' tekstifaili korral) ja seejärel faili nimi.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: liiga palju kontrollsumma ridu" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: vigaselt vormindatud %s kontrollsumma rida" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: avamine või lugemine ebaõnnestus\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: viga lugemisel" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: korrektselt vormindatud %s kontrollsumma ridu pole" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "HOIATUS: % (%) näidatud faili ei saanud lugeda" #~ msgstr[1] "HOIATUS: % (%) näidatud faili ei saanud lugeda" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "HOIATUS: % (%) arvutatud kontrollsumma EI klappinud" #~ msgstr[1] "" #~ "HOIATUS: % (%) arvutatud kontrollsumma EI klappinud" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "võtmed --binary ja --text ei oma kontrollsummade kontrollimisel mõtet" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "" #~ "võtit --status on mõtet kasutada ainult kontrollsummade kontrollimisel" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "" #~ "võtit --warn on mõtet kasutada ainult kontrollsummade kontrollimisel" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Kasutamine: %s [VÕTI] KATALOOG...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Loo KATALOOGid, kui neid juba pole.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MOOD seab õigused (nagu chmod), mitte a=rwx - umask\n" #~ " -p, --parents loob vajadusel ülemised kataloogid, kui need on " #~ "olemas,\n" #~ " siis veateadet ei väljasta\n" #~ " -v, --verbose teavitab igast loodud kataloogist\n" #~ msgid "created directory %s" #~ msgstr "kataloog %s on loodud" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Kasutamine: %s [VÕTI]... NIMI...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Loo antud NIMega torud (FIFOd).\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr " -m, --mode=MOOD sea õigused, mitte a=rw - umask\n" #~ msgid "invalid mode" #~ msgstr "vigane mood" #~ msgid "mode must specify only file permission bits" #~ msgstr "mood peab määrama ainult failiõigused" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Kasutamine: %s [VÕTI]... NIMI TÜÜP [PÕHI ALAM]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Loo antud NIMEga ja TÜÜPi seadmefail.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Kui TÜÜP on b, c või u, peavad olema antud nii KLASS kui ESINDAJA ja neid " #~ "ei\n" #~ "tohi kasutada, kui TÜÜP on p. Kui KLASS või ESINDAJA algab 0x või 0X,\n" #~ "käsitletakse seda kuueteistkümnendarvuna. Kui See algab numbriga 0,\n" #~ "käsitletakse seda kaheksandarvuna, muidu kümnendarvuna. TÜÜP võib olla:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b loo plokkseade (puhverdatud)\n" #~ " c, u loo sümbolseade (puhverdamata)\n" #~ " p loo FIFO\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Seadmefailide loomisel peab olema määratud nii klassi, kui esindaja " #~ "number." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Fifodel puuduvad seadme klassi ja esindaja numbrid." #~ msgid "block special files not supported" #~ msgstr "blokkseadme faile ei toetata" #~ msgid "character special files not supported" #~ msgstr "sümbolseadme faile ei toetata" #~ msgid "invalid major device number %s" #~ msgstr "vigane seadme põhinumber %s" #~ msgid "invalid minor device number %s" #~ msgstr "vigane seadme alamnumber %s" #~ msgid "invalid device %s %s" #~ msgstr "vigane seade %s %s" #~ msgid "invalid device type %s" #~ msgstr "vigane seadme tüüp %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Kasutamine: %s [VÕTI]... [FAIL]\n" #, fuzzy #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " directory katkesta kui ei ole kataloog\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "liiga palju korduvaid ridu" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "kataloogi %s ei õnnestunud sulgeda" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "%s aegu ei õnnestu säilitada" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Nimeta fail ümber või tõsta argumendid antud kataloogi.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=KONTROLL] loo igast olemasolevast sihtfailist " #~ "varukoopia\n" #~ " -b nagu --backup aga ei kasuta argumenti\n" #~ " -f, --force ära küsi enne ülekirjutamist\n" #~ " -i, --interactive küsi enne ülekirjutamist\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes eemalda igalt käsureal antud nimelt\n" #~ " lõpus olevad kaldkriipsud\n" #~ " -S, --suffix=SUFIKS määra varukoopia järelliide\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=KATALOOG tõsta kõik antud allikad kataloogi\n" #~ " -T, --no-target-directory käsitle sihtkohta tavalise failina\n" #~ " -u, --update tõsta ainult kui allikas on uuem, kui " #~ "sihtfail\n" #~ " või kui sihtfail puudub\n" #~ " -v, --verbose selgita mida tehakse\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Kasutamine: %s [VÕTI] [KÄSK [ARGUMENT]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Käivita KÄSK muudetud prioriteediga.\n" #~ "Kui käsku ei antud, väljasta kehtiv prioriteet.\n" #~ "Sammude vahemik on %d (kõrgeim prioriteet) kuni %d (madalaim " #~ "prioriteet).\n" #~ "\n" #~ " -n, --adjustment=N suurenda prioriteeti (vaikimisi 10 võrra)\n" #~ msgid "invalid adjustment %s" #~ msgstr "vigane muudatus %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "koos parandusega peab olema antud käsk" #~ msgid "cannot get niceness" #~ msgstr "prioriteeti ei õnnestu lugeda" #~ msgid "cannot set niceness" #~ msgstr "prioriteeti ei õnnestu seada" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Väljasta iga FAIL standardväljundisse lisades reanumbrid.\n" #~ "Kui FAIL puudub või on -, loe standardsisendit.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STIIL kasuta ridade nummerdamisel STIILI\n" #~ " -d, --section-delimiter=SE kasuta loogiliste lehtede eraldamiseks " #~ "SE\n" #~ " -f, --footer-numbering=STIIL kasuta jaluste nummerdamisel STIILI\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STIIL kasuta päiste nummerdamisel STIILI\n" #~ " -i, --page-increment=NUMBER rea numbri suurendamise samm\n" #~ " -l, --join-blank-lines=NUMBER grupeeri NUMBER tühja rida üheks reaks\n" #~ " -n, --number-format=VORMING lisa rea numbrid vastavalt VORMINGule\n" #~ " -p, --no-renumber jätka reanumbreid järgmisel lehel\n" #~ " -s, --number-separator=SÕNE lisa SÕNE peale (võimalikku) " #~ "reanumbrit\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NUMBER esimene rea number igal loogilisel " #~ "lehel\n" #~ " -w, --number-width=NUMBER kasuta reanumbritele NUMBER veergu\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Vaikimisi kasutatakse -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. SE on\n" #~ "kaks eraldussümbolit loogiliste lehekülgede eraldamiseks, puuduva teise\n" #~ "sümboli asemel kasutatakse :. \\ esitamiseks kirjutage \\\\.\n" #~ "STIIL on üks järgnevaist:\n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a nummerda kõik read\n" #~ " t nummerda ainult mittetühjad read\n" #~ " n ära nummerda ridu\n" #~ " pREGAV nummerda ainult read, mis sobivad antud regulaaravaldisega\n" #~ "\n" #~ "VORMING on üks järgnevaist:\n" #~ "\n" #~ " ln vasakule joondatud, nulle ees pole\n" #~ " rn paremale joondatud, nulle ees pole\n" #~ " rz paremale joondatud, eest täidetud nulludega\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "rea numbri ületäitumine" #~ msgid "invalid header numbering style: %s" #~ msgstr "vigane päise nummerdamise stiil: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "vigane keha nummerdamise stiil: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "vigane jaluse nummerdamise stiil: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "vigane alustamise rea number: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "vigane rea numbri samm: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "vigane tühjade ridade arv: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "vigane rea numbri välja laius: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "vigane rea numbri vorming: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s KÄSKLUS [ARGUMENT]...\n" #~ " või: %s VÕTI\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Käivita KÄSKLUS, ignoreeri hangup signaale.\n" #~ "\n" #~ msgid "ignoring input" #~ msgstr "ignoreerin sisendit" #~ msgid "failed to open %s" #~ msgstr "%s avamine ebaõnnestus" #~ msgid "ignoring input and appending output to %s" #~ msgstr "ignoreerin sisendit ja lisan väljundi faili %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "stderr koopiale ei õnnestu seada omadust 'close on exec'" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "ignoreerin sisendit ja suunan stderr standardväljundisse" #~ msgid "failed to redirect standard error" #~ msgstr "standard veavoo ümbersuunamine ebaõnnestus" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... [FAIL]...\n" #~ " või: %s [-abcdfilosx]... [FAIL] [[+]INDEKS[.][b]]\\n\"\n" #~ " või: %s --traditional [VÕTI]... [FAIL] [[+]INDEKS[.][b] [+]MÄRGEND" #~ "[.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Väljasta faili üheselt mõistetav esitus (vaikimisi kaheksandbaidid)\n" #~ "standardväljundisse. Enam, kui ühe faili korral väljastatakse nende\n" #~ "sisud järjest vastavalt esitatud järjekorrale.\n" #~ "Kui FAIL puudub või on -, loe standardsisendit.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Kohustuslikud argumendid pikkadele võtmetele on kohustuslikud ka " #~ "lühikestele.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=RAADIKS kuidas väljastada faili positsioonid\n" #~ " -j, --skip-bytes=BAIDID jäta esimesed BAIDID baiti vahele\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BAITE väljasta ainult antud arv baite\n" #~ " -S, --strings[=BAITE] väljasta vähemalt BAITE pikkusega sõned\n" #~ " -t, --format=TÜÜP määra väljundvorming või vormingud\n" #~ " -v, --output-duplicates ära kasuta korduvate ridade märkimiseks *\n" #~ " -w, --width[=BAITE] väljasta BAITE baiti rea kohta\n" #~ " --traditional kasuta traditsioonilisel kujul argumente\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Traditsioonilisi vormingu määranguid võib koos kasutada; need on:\n" #~ " -a sama, kui -t a, vali nimedega sümbolid, ülemist bitti " #~ "ignoreeritakse\n" #~ " -b sama, kui -t o1, vali kaheksandbaidid\n" #~ " -c sama, kui -t c, vali ASCII sümbolid või langkriipsuga paojada\n" #~ " -d sama, kui -t u2, vali märgita 2-baidised kümnendarvud\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f sama, kui -t fF, vali ujukomaarvud\n" #~ " -i sama, kui -t dI, vali kümnendarvud\n" #~ " -l sama, kui -t dL, vali pikad kümnendarvud\n" #~ " -o sama, kui -t o2, vali 2-baidised kaheksandarvud\n" #~ " -s sama, kui -t d2, vali 2-baidised kümnendarvud\n" #~ " -x sama, kui -t x2, vali 2-baidised kuueteistkümnendarvud\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Kui on määratud nii esimene kui teine vorming, eeldatakse teist kui " #~ "viimane\n" #~ "operand algab sümboliga + või (kui on 2 operandi) numbriga.\n" #~ "Operand INDEKS tähendab -j INDEKS. MÄRGEND on esimese väljastatava baidi\n" #~ "pseudoaadress, mida suurendatakse töö käigus.\n" #~ "Indeksi ja märgendi puhul tähistab 0x või 0X kuueteistkümnendesitust,\n" #~ "sufiks võib olla . kaheksandesituse korral ja b tähistab 512 kordseid.\n" #~ "\n" #~ "TÜÜP on üks või enam järgnevaid:\n" #~ "\n" #~ " a sümbolid nimedega, ülemist bitti ignoreeritakse\n" #~ " c ASCII sümbol või langkriipsuga paojada\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[SUURUS] märgiga kümnendarv, SUURUS baiti\n" #~ " f[SUURUS] ujukoma arv, SUURUS baiti\n" #~ " o[SUURUS] kaheksandarv, SUURUS baiti\n" #~ " u[SUURUS] märgita kümnendarv, SUURUS baiti\n" #~ " x[SUURUS] kuueteiskümnendarv, SUURUS baiti\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "SUURUS on number. TÜÜPIDE doux korral võib SUURUS olla ka C, " #~ "tähistamaks\n" #~ "sizeof(char), S tähistamaks sizeof(short), I tähistamaks sizeof(int) või\n" #~ "L tähistamaks sizeof(long). Kui TÜÜP on f võib SUURUS olla ka F " #~ "tähistamaks\n" #~ "sizeof(float), D tähistamaks sizeof(double) või L tähistamaks\n" #~ "sizeof(long double).\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "RAADIKS on d kümnendarvu puhul, o kaheksandarvu puhul, x " #~ "kuueteistkümnendarvu\n" #~ "puhul või n et mitte väljastada.\n" #~ "BAITE on kuueteistkümnendnumber 0x või 0X prefiksiga, võib olla 512 " #~ "kordne\n" #~ "sufiksi b korral, 1024 kordne k korral ja 1048576 kordne m korral. " #~ "Sufiksi\n" #~ "z lisamine suvalisele tüübile lisab iga väljundrea lõppu vaate " #~ "prinditavate\n" #~ "sümbolitega. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "Numbrita --string korral kasutatakse väärtust 3. Numbrita --width " #~ "korral\n" #~ "kasutatakse väärtust 32. Vaikimisi kasutab od -A o -t d2 -w16.\n" #~ msgid "invalid type string %s" #~ msgstr "vigane tüübisõne %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "vigane tüübisõne %s;\n" #~ "see süsteem ei realiseeri %lu-baidist sisetüüpi" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "vigane tüübisõne %s;\n" #~ "see süsteem ei realiseeri %lu-baidist ujukoma tüüpi" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "vigane sümbol %c tüübisõnes %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "kombineeritud sisendi lõpust kaugemale liikuda ei saa" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "vigane väljundi aadressi raadiks `%c'; see peab olema üks sümbolitest " #~ "[doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "tüüpi ei saa määrata, kui trükitakse sõnesid" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Ühilduvuse mood toetab ülimalt ühte faili." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "skip-bytes + read-bytes on liiga suur" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "hoiatus: vigane laius %lu; kasutan selle asemel %d" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: formaat=\"%s\" laius=%d\n" #~ msgid "standard input is closed" #~ msgstr "standardsisend suleti" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kirjuta read, mis koosnevad tabulaatoriga eraldatud igast failist kokku\n" #~ "liidetud vastavatest ridadest, standardväljundisse.\n" #~ "Kui FAIL puudub või on -, loe standardsisendit.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LOEND kasuta TAB asemel sümboleid LOENDist\n" #~ " -s, --serial väljasta üks fail korraga, mitte paralleelselt\n" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Kasutamine: %s [VÕTI]... NIMI...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Diagnoosi NIME mitteporditavaid konstruktsioone.\n" #~ "\n" #~ " -p testi enamus POSIX süsteeme\n" #~ " -P testi tühje nimesid ja alustavat \"-\"\n" #~ " --portability testi kõiki POSIX süsteeme (sama, kuid -p -P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "alustav `-' faili nime %s komponendis" #~ msgid "nonportable character %s in file name %s" #~ msgstr "mitteporditav sümbol %s faili nimes %s" #~ msgid "empty file name" #~ msgstr "tühi failinimi" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: ei õnnestu tuvastada maksimaalset failinime pikkust" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "piirang %lu on ületatud, failinime pikkus %lu, fail %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "" #~ "piirang %lu on ületatud, failinime komponendi pikkus %lu, komponent %s" #~ msgid "Login name: " #~ msgstr "Kasutajanimi: " #~ msgid "In real life: " #~ msgstr "Reaalne nimi: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Kataloog: " #~ msgid "Shell: " #~ msgstr "Käsuinterpretaator: " #~ msgid "Project: " #~ msgstr "Projekt: " #~ msgid "Plan:\n" #~ msgstr "Plaan:\n" #~ msgid "Login" #~ msgstr "Kasutaja" #~ msgid "Name" #~ msgstr "Nimi" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Eemal" #~ msgid "When" #~ msgstr "Millal" #~ msgid "Where" #~ msgstr "Kust" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Kasutamine: %s [VÕTI]... [KASUTAJA]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l väljasta antud kasutajate kohta kogu info\n" #~ " -b ära esita kogu infos kasutaja kodukataloogi ja shelli\n" #~ " -h ära esita kogu infos kasutaja projekti faili\n" #~ " -p ära esita kogu infos kasutaja plaani faili\n" #~ " -s väljasta lühiinfo, seda kasutatakse vaikimisi\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f ära väljasta lühiinfo väljade päiseid\n" #~ " -w ära väljasta lühiinfos kasutaja täisnime\n" #~ " -i ära väljasta lühiinfos kasutaja täisnime ja masinat\n" #~ " -q ära väljasta lühiinfos kasutaja täisnime, masinat ja\n" #~ " eemalolekut\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Kerge `finger' programm; väljastab kasutaja kohta infot.\n" #~ "Kasutatakse utmp faili %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "kasutajanimi puudub; -l kasutamisel peab olema vähemalt üks kasutajanimi" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=ESIMENE[:VIIMANE]' puudub argument" #~ msgid "Invalid page range %s" #~ msgstr "Vigane lehekülgede vahemik %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l LEHE_PIKKUS' vigane ridade arv: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N NUMBER' vigane alustamise rea number: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o ÄÄR' vigane rea nihe: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w LEHE_LAIUS' vigane arv sümboleid: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W LEHE_LAIUS' vigane arv sümboleid: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Paralleelselt väljastamisel ei saa veergude arvu määrata." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Ei saa trükkida korraga järjestikku ja paralleelselt." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c' liigsed sümbolid või vigane number argumendis: %s" #~ msgid "page width too narrow" #~ msgstr "leht on liiga kitsas" #~ msgid "starting page number % exceeds page count %" #~ msgstr "alguslege number % ületab lehekülgede arvu %" #~ msgid "Page number overflow" #~ msgstr "Lehekülje numbri ületäitumine" #~ msgid "Page %" #~ msgstr "Lehekülg %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "Küljenda FAILid trükkimiseks lehekülgedeks või veergudeks.\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +ESIMENE_LEHT[:VIIMANE], --pages=ESIMENE_LEHT[:VIIMANE]\n" #~ " alusta [lõpeta] trükkimine lehelt ESIMENE_LEHT\n" #~ " -VEERGE, --columns=N\n" #~ " väljasta N veergu ja väljasta veerud ülalt alla,\n" #~ " välja arvatud juhul, kui kasutatakse võtit -a.\n" #~ " Ühtlusta ridade arv veergudes igal lehel.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across väljasta veerud risti üle leha, mitte ülalt alla,\n" #~ " kasutatakse koos võtmega -VEERGE\n" #~ " -c, --show-control-chars\n" #~ " kasuta katus (^G) ja kaheksand langkriips " #~ "notatsiooni\n" #~ " -d, --double-space\n" #~ " topeltreavahe väljundis\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=VORMING\n" #~ " määra päise kuupäeva VORMING\n" #~ " -e[SÜMB[LAIUS]], --expand-tabs[=SÜMB[LAIUS]]\n" #~ " laienda sisendi sümbolid (TAB) tabulaatori laiuseni " #~ "(8)\n" #~ " -F, -f, --form-feed\n" #~ " kasuta lehekülgede eraldamisel reavahetuste asemel\n" #~ " lehevahetuse sümboleid (3-realine lehe päis võtmega -" #~ "F\n" #~ " või 5-realine päis ja jalus võtmata -F)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h PÄIS, --header=PÄIS\n" #~ " kasuta lehe päises faili nime asemel PÄIS,\n" #~ " -h \"\" väljastab tühja rea, ärge kasutage -h\"\"\n" #~ " -i[SÜMB[LAIUS]], --output-tabs[=SÜMB[LAIUS]]\n" #~ " asenda tühikud sümboliga (TAB) tabulatsiooni laiusega " #~ "(8)\n" #~ " -J, --join-lines mesti täisread, lülitab välja -W rea lühendamise, " #~ "veerge\n" #~ " ei joondata, --sep-string[=SÕNE] määrab eraldaja\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l LEHE_PIKKUS, --length=LEHE_PIKKUS\n" #~ " sea lehe pikkuseks LEHE_PIKKUS (66) rida (vaikimisi\n" #~ " on teksti ridu 56, võtmega -F 63)\n" #~ " -m, --merge väljasta kõik failid paralleelselt, üks veeru kohta,\n" #~ " lühenda read, ridade kogupikkuses ühendamiseks\n" #~ " kasutage -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[ERALD[NUM]], --number-lines[=ERALD[NUM]]\n" #~ " nummerda read, kasuta NUM (5) numbrit, seejärel " #~ "ERALD\n" #~ " (TAB), vaikimisi alustatakse loendamist sisendfaili\n" #~ " esimesest reast\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " alusta loendamist ühe asemel antud numbrist esimese\n" #~ " trükitava lehe esimesel real (vaata ka " #~ "+ESIMENE_LEHT)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o SERV, --indent=SERV\n" #~ " nihuta iga rida SERV (null) tühikut, ei mõjuta " #~ "võtmeid\n" #~ " -w või -W, SERV lisatakse LEHE_LAIUSele\n" #~ " -r, --no-file-warnings\n" #~ " ära hoiata, kui faili ei saa avada\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[SÜMBOL],--separator[=SÜMBOL]\n" #~ " erlda veerud antud sümboliga, võtmeta -w kasutatakse\n" #~ " vaikimisi sümbolit ja 'sümbol puudub' võtmega -" #~ "w.\n" #~ " -s[SÜMBOL] lülitab välja ridade lühendamise kõigi " #~ "kolme\n" #~ " veergudega seotud võtmete puhul (-VEERG|-a -VEERG|-" #~ "m),\n" #~ " välja arvatud juhul, kui kasutatakse võtit -w\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SSÕNE, --sep-string[=SÕNE]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " eralda veerud SÕNEga,\n" #~ " võtmeta -S: -J ja korral on vaikimisi " #~ "eraldaja \n" #~ " muidu (sama, kui -S\" \"), ei kasutata veergudega\n" #~ " seotud võtmetega\n" #~ " -t, --omit-header blokeeri lehe päised ja sabad\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " keela päised ja jalused, eemalda sisendfailidest " #~ "kõik\n" #~ " lehevahetused\n" #~ " -v, --show-nonprinting\n" #~ " kasuta langkriipsuga kaheksandkoodide notatsiooni\n" #~ " -w LEHE_LAIUS, --width=LEHE_LAIUS\n" #~ " sea lehe laius LEHE_LAIUS (72) sümbolit mitme " #~ "tekstiveeru\n" #~ " väljundis, -s[sümbol] lülitab välja (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W LEHE_LAIUS, --page-width=LEHE_LAIUS\n" #~ " määra lehe laiuseks LEHE_LAIUS (72) sümbolit, " #~ "lühenda\n" #~ " ridu, välja arvatud juhul, kui on seatud võti -J, ei\n" #~ " sega võtmeid -S või -s\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-T kasutatakse võtmega -l nn kui nn <= 10 või <= 3 võtmega -F. Kui FAIL\n" #~ "puudub või on -, loe standardsisendit.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Kasutamine: %s [MUUTUJA]...\n" #~ " või: %s VÕTI\n" #~ "Kui keskkonnamuutujat MUUTUJA ei ole antud, väljasta nad kõik.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "hoiatus: %s: ignoreerin sümbolkonstandile järgnevaid sümboleid" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s FORMAAT [ARGUMENT]...\n" #~ " või: %s VÕTI\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Väljasta ARGUMENT kasutades antud FORMAATI.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "FORMAAT kontrollib väljundit nagu C printf. Interpreteeritavad järjendid " #~ "on:\n" #~ "\n" #~ " \\\" jutumärk\n" #~ " \\NNN sümbol kaheksandkoodiga NNN (1 kuni 3 numbrit)\n" #~ " \\\\ langkriips\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a tähelepanu (BEL)\n" #~ " \\b samm tagasi\n" #~ " \\c ära väljasta enam midagi\n" #~ " \\f lehevahetus\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n uus rida\n" #~ " \\r rea algusesse\n" #~ " \\t horisontaalne tabulaator\n" #~ " \\v vertikaalne tabulaator\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH bait kuueteistkümnendväärtusega HH (1 kuni 2 numbrit)\n" #~ " \\uHHHH Unikoodi (ISO/IEC 10646) sümbol kuueteistkümnendväärtusega " #~ "HHHH\n" #~ " (4 numbrit)\n" #~ " \\UHHHHHHHH Unikoodi sümbol kuueteistkümnendväärtusega HHHHHHHH (8 " #~ "numbrit)\n" #, fuzzy #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% sümbol %\n" #~ " %b ARGUMENT sõnena, mille `\\' järjendeid interpreteeritakse,\n" #~ " kaheksand järjendid on kujul \\0 või \\0NNN\n" #~ "\n" #~ "ja samuti kõik C formaadi määrangud, mis lõppevad ühega sümboleist\n" #~ "diouxXfeEgGcs, ja ARGUMENdid teisendatuna esmalt õigesse tüüpi.\n" #~ "Käsitletakse ka muutuvaid pikkuseid.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: ootasin numbrilist väärtust" #~ msgid "%s: value not completely converted" #~ msgstr "%s: väärtust ei teisendatud täielikult" #~ msgid "missing hexadecimal number in escape" #~ msgstr "paojadas puudub kuueteistkümnend number" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "vigane universaal sümboli nimi \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "vigane välja laius: %s" #~ msgid "invalid precision: %s" #~ msgstr "vigane täpsus: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: vigane teisenduse määrang" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "hoiatus: ignoreerin liigseid argumente, alustan argumendist %s" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (regulaaravaldisele %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... [SISEND]... (ilma -G)\n" #~ " või: %s [VÕTI]... [SISEND [VÄLJUND]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Väljasta sisendfailide sõnade kontekstregister.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference väljasta automaatselt loodud viited\n" #~ " -G, --traditional käitu kui System V `ptx'\n" #~ " -F, --flag-truncation=SÕNE kasuta ridade lühendamise märkimiseks " #~ "SÕNE\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=SÕNE kasuta `xx' asemel makro nime\n" #~ " -O, --format=roff loo väljund roff käskudena\n" #~ " -R, --right-side-refs paiguta viited paremale, ei loendata " #~ "võtmega -w\n" #~ " -S, --sentence-regexp=REGAV realõpud või lausete lõpud\n" #~ " -T, --format=tex loo väljund TeX käskudena\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGAV kasuta võtmesõnade leidmiseks REGAV\n" #~ " -b, --break-file=FAIL sõnu eraldavad sümbolid on selles " #~ "failis\n" #~ " -f, --ignore-case järjesta tõstutundetult\n" #~ " -g, --gap-size=NUMBER veergude vahe suurus väljundis\n" #~ " -i, --ignore-file=FAIL loe ignoreeritavate sõnade nimekiri\n" #~ " -o, --only-file=FAIL ainult lugemiseks olevate sõnade fail\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references esimene väli igal real on viide\n" #~ " -t, --typeset-mode - ei ole realiseeritud -\n" #~ " -w, --width=NUMBER väljasta veergudena, viideteta\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Kui FAIL puudub või on -, loe standardsisendit. `-F /' on vaikimisi.\n" #~ msgid "invalid gap width: %s" #~ msgstr "vigane tühemiku laius: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Väljasta jooksva töökataloogi täielik nimi.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "chdir %s ebaõnnestus" #~ msgid "failed to stat %s" #~ msgstr "stat %s ebaõnnestus" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "ei leia %s kataloogi kirjet, mille i-kirje sobiks" #~ msgid "ignoring non-option arguments" #~ msgstr "ignoreerin argumente, mis ei ole võtmed" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Kasutamine: %s [VÕTI]... FAIL\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Väljasta nimeviite väärtus standardväljundisse.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize õgvenda järgides iga nimeviidet igas " #~ "nime\n" #~ " komponendis rekursiivselt;\n" #~ " kõik osad, peale viimase peavad olemas " #~ "olema\n" #~ " -e, --canonicalize-existing õgvenda järgides iga nimeviidet igas " #~ "nime\n" #~ " komponendis rekursiivselt,\n" #~ " kõik osad peavad olemas olema\n" #~ " -m, --canonicalize-missing õgvenda järgides iga nimeviidet igas " #~ "nime\n" #~ " komponendis rekursiivselt,\n" #~ " osad ei pea olemas olema\n" #~ " -n, --no-newline ei väljasta lõpetavaid reavahetusi\n" #~ " -q, --quiet,\n" #~ " -s, --silent blokeeri enamus veateateid\n" #~ " -v, --verbose raporteeri vigadest\n" #, fuzzy #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -f, --canonicalize õgvenda järgides iga nimeviidet igas " #~ "nime\n" #~ " komponendis rekursiivselt;\n" #~ " kõik osad, peale viimase peavad olemas " #~ "olema\n" #~ " -e, --canonicalize-existing õgvenda järgides iga nimeviidet igas " #~ "nime\n" #~ " komponendis rekursiivselt,\n" #~ " kõik osad peavad olemas olema\n" #~ " -m, --canonicalize-missing õgvenda järgides iga nimeviidet igas " #~ "nime\n" #~ " komponendis rekursiivselt,\n" #~ " osad ei pea olemas olema\n" #~ " -n, --no-newline ei väljasta lõpetavaid reavahetusi\n" #~ " -q, --quiet,\n" #~ " -s, --silent blokeeri enamus veateateid\n" #~ " -v, --verbose raporteeri vigadest\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAALNE: kataloogi %s sulgemine ebaõnnestus" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAALNE: kataloogist %s ei saa .. avada" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "FATAALNE: ei ole kindel et %s (tulin tagasi .. kaudu) on turvaline" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATAALNE: kataloogi %s seade/inum muutus" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAALNE: kataloogi %s ei õnnestu siseneda" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "FATAALNE: kataloogi %s seade/inum muutus" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "HOIATUS: Tsükliline kataloogide struktuur.\n" #~ "See tähendab peaaegu alati, et failisüsteem on viga saanud.\n" #~ "TEAVITA OMA SÜSTEEMIADMINISTRAATORIT.\n" #~ "Järgnev kataloog on tsükli osa:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: laskun kirjutamise kaitsega kataloogi %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: laskun kataloogi %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: eemaldan kirjutuskaitsega %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: eemaldan %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "kustutatud kataloog: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "kataloogi %s ei õnnestunud sulgeda" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "jätan %s vahele, kuna asub teisel seadmel" #~ msgid "cannot remove directory %s" #~ msgstr "kataloogi %s ei õnnestu kustutada" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAALNE: ei saa tagasi .. kataloogist %s" #~ msgid "cannot remove root directory %s" #~ msgstr "juurkataloogi %s ei õnnestu kustutada" #~ msgid "cannot remove relative-named %s" #~ msgstr "suhtelise nimega kataloogi %s ei õnnestu kustutada" #~ msgid "cannot restore current working directory" #~ msgstr "ei õnnestu taastada jooksvat kataloogi" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Üritan `%s ./%s' et kustutada faili %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Kasutamine: %s [VÕTI]... [FAIL]...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Eemalda (viide) FAIL(id).\n" #~ "\n" #~ " -f, --force ignoreeri puuduvaid faile, ära küsi\n" #~ " -i küsi enne iga eemaldamist\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I küsi korra enne enam kui kolme faili eemaldamist " #~ "või\n" #~ " kui eemaldatakse rekursiivselt. Vähem " #~ "pealetükkiv kui -i,\n" #~ " aga pakub siiski kaitset enamus vigade vastu\n" #~ " --interactive[=MILLAL] küsi vastavalt määrangule: never, once (-I) " #~ "või\n" #~ " always (-i). Kui MILLAL puudub, küsi alati\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system kustutades kataloogipuud, kustuta ainult samal\n" #~ " seadmel olevaid faile\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root ära käsitle `/' eriliselt\n" #~ " --preserve-root ära töötle `/' rekursiivselt (vaikimisi)\n" #~ " -r, -R, --recursive eemalda kataloogide sisu rekursiivselt\n" #~ " -v, --verbose selgita mis on teoksil\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Vaikimisi ei kustuta rm katalooge. Kataloogide ja nende sisu " #~ "kustutamiseks\n" #~ "kasutage võtit --recursive (-r või -R).\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Et eemaldada faili, mille nimi algab sümboliga `-', näiteks `-foo',\n" #~ "kasutage üht järgnevaist käskudest:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Kui te kasutate faili kustutamiseks käsku rm, võib tihti olla võimalik\n" #~ "siiski faili sisu taastada. Kui teil on vaja suuremat kindlust, et faili\n" #~ "sisu ei saa taastada, proovige käsku shred.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: eemaldada kõik argumendid rekursiivselt? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: eemaldan kõik argumendid? " #~ msgid "removing directory, %s" #~ msgstr "kustutan kataloogi, %s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "kataloogi %s ei õnnestunud sulgeda" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Kasutamine: %s [VÕTI]... KATALOOG...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Eemalda tühjad kataloogid.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignoreeri vigu mis on tingitud sellest, et kataloog\n" #~ " pole tühi\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents eemaldab KATALOOGI ja selle eellased. Näiteks \n" #~ " `rmdir -p a/b/c' on sarnane käsule `rmdir a/b/c a/b " #~ "a'.\n" #~ " -v, --verbose väljastab diagnostika iga töödeldud kataloogi kohta\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "%s avamine ebaõnnestus" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "%s atribuutide lugemine ebaõnnestus" #, fuzzy #~ msgid "no command specified" #~ msgstr "puudub protsessi ID" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "%s avamine ebaõnnestus" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "%s avamine ebaõnnestus" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "stat %s ebaõnnestus" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "stat %s ebaõnnestus" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "%s avamine ebaõnnestus" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... VIIMANE\n" #~ " või: %s [VÕTI]... ESIMENE VIIMANE\n" #~ " või: %s [VÕTI]... ESIMENE SAMM VIIMANE\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Väljasta numbrid esimesest viimaseni, vajadusel kasutades etteantud " #~ "sammu.\n" #~ "\n" #~ " -f, --format FORMAAT kasuta printf stiilis ujukoma formaati\n" #~ " -s, --separator=SÕNE kasuta numbrite eraldamiseks SÕNE (vaikimisi: " #~ "\\n)\n" #~ " -w, --equal-width kasuta võrdse laiusega välju, täida nullidega\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Kui ESIMENE või SAMM puudub, kasutatakse väärtust 1. Puuduva SAMMU " #~ "asemel\n" #~ "kasutatakse väärtust 1 isegi kui VIIMANE on väiksem, kui ESIMENE.\n" #~ "ESIMENE, SAMM, VIIMANE interpreteeritakse, kui murdarve.\n" #~ "SAMM on tavaliselt positiivne, kui ESIMENE on VIIMASEST väiksem ja\n" #~ "negatiivne, kui VIIMANE on ESIMESEST väiksem. FORMAAT peab olema " #~ "esitatud\n" #~ "tüübiga `double'. Kui ESIMENE, SAMM ja VIIMANE on fikseeritud punktiga\n" #~ "kümnendnumbrid maksimum täpsusega PREC kasutatakse formaadina %.PRECf, " #~ "muidu %g.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "vigane murdarv: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "vigane formaadisõne: %s" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "sufiksis on liiga palju %% teisenduse määranguid" #~ msgid "invalid format string: %s" #~ msgstr "vigane formaadisõne: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "kui trükitakse võrdse pikkusega sõnesid, ei saa formaadisõnet kasutada" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s KASUTAJA KÄSKLUS [ARGUMENT]...\n" #~ " või: %s VÕTI\n" #, fuzzy #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Eemalda täiendavad grupiõigused, võta antud KASUTAJA ID ja tema grupi ID\n" #~ "ja käivita KÄSKLUS koos määratud argumentidega. Kui kasutaja ja grupi ID\n" #~ "ei ole võimalik seada, lõpeta koodiga 111, muidu lõpeta sama koodiga,\n" #~ "millega lõpetab KÄSKLUS.\n" #~ "See programm on kasulik ainult juhul, kui käivitajaks on root (UID=0).\n" #~ "\n" #~ msgid "unknown user-ID: %s" #~ msgstr "tundmatu kasutaja-ID: %s" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "ei õnnestu seada lisagruppide nimekirja" #~ msgid "cannot set group-ID to %lu" #~ msgstr "ei õnnestu seada grupi ID %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "ei õnnestu seada kasutaja ID %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Kasutamine: %s [VÕTI]... FAIL [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Kirjuta antud failid korduvalt üle, et muuta raskemaks andmete " #~ "taastamine\n" #~ "isegi väga kalli riistvara abil.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force vajadusel lisa kirjutamisõigus\n" #~ " -n, --iterations=N kirjuta üle vaikimisi (%d) korra asemel N korda\n" #~ " --random-source=FAIL loe juhuarvud failist (vaikimisi /dev/" #~ "urandom)\n" #~ " -s, --size=N töötle N baiti (lubatud on kasutada ka sufiksit K, M, " #~ "G)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove lühenda ja eemalda fail peale ülekirjutamisi\n" #~ " -v, --verbose näita töö käiku\n" #~ " -x, --exact ära ümarda failisuurusi üles täisplokini;\n" #~ " see on mitte-tavafailide puhul vaikimisi käitumine\n" #~ " -z, --zero varja töötlemist, kirjutades viimase tegevusena nulle\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Kui FAIL on -, töötle standardväljundit.\n" #~ "\n" #~ "Kustuta failid, kui kasutati võtit --remove (-u). Vaikimisi faile ei\n" #~ "kustutata, kuna enamasti töötatakse seadmefailidega, näiteks /dev/hda,\n" #~ "ja enamasti ei soovita nende eemaldamist. Tavaliste failidega töötamisel\n" #~ "kasutab enamus inimesi võtit --remove.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "HOIATUS: shred omab oma tööks tähtsat eeldust: failisüsteem kirjutab\n" #~ "andmeid üle. See on traditsiooniline lähenemine, aga paljud süsteemid\n" #~ "tänapäeval ei toeta seda eeldust. Näiteks järgnevatel failisüsteemidel\n" #~ "ei ole shred efektiivne või ei ole efektiivne kõikides moodides:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* logi-struktuuriga või \"journaled\" failisüsteemid, näiteks nagu " #~ "pakuvad\n" #~ " AIX ja Solaris (ja JFS, ReiserFS, XFS, Ext3 jne.)\n" #~ "\n" #~ "* failisüsteemid, mis kirjutavad taastatavaid andmeid, näiteks RAID\n" #~ " tehnoloogial põhinevad failisüsteemid\n" #~ "\n" #~ "* failisüsteemid, mis teevad andmetest väljavõtteid (snapshots), näiteks\n" #~ " Network Appliance NFS server\n" #~ "\n" #, fuzzy #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "* failisüsteemid, mis kasutavad ajutisi puhvreid, nagu NFSv3 kliendid\n" #~ "\n" #~ "* tihendavad failisüsteemid\n" #~ "\n" #~ "Ext3 failisüsteemi korral kehtib ülaltoodu (ja seega on shred piiratud\n" #~ "efektiivsusega) juhul, kui kasutatakse moodi data=journal, mis logib\n" #~ "lisaks metainfole ka faili sisu. Nii data=ordered (vaikimisi), kui ka\n" #~ "data=writeback moodis töötab shred nagu harilikult.\n" #~ "Ext3 þhurnaali moode saab muuta, kasutades data=midagi parameetrit\n" #~ "failisüsteemi haakimisel /etc/fstab failis, täpsemat infot saab mount\n" #~ "käsu manualist (man mount).\n" #~ "\n" #~ "Lisaks, failisüsteemide varukoopiad ja kaugkoopiad võivad sisaldada\n" #~ "faili koopiaid, mida ei saa eemaldada ja see kõik võib võimaldada siiski\n" #~ "seda faili hiljem taastada.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: fdatasync ebaõnnestus" #~ msgid "%s: fsync failed" #~ msgstr "%s: fsync ebaõnnestus" #~ msgid "%s: cannot rewind" #~ msgstr "%s: ei saa ümber kerida" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: läbimine %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: viga kirjutamisel aadressile %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: lseek ebaõnnestus" #~ msgid "%s: file too large" #~ msgstr "%s: fail on liiga suur" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: läbimine %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: läbimine %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: fstat ebaõnnestus" #~ msgid "%s: invalid file type" #~ msgstr "%s: vigane failitüüp" #~ msgid "%s: file has negative size" #~ msgstr "%s: fail on negatiivse suurusega" #~ msgid "%s: error truncating" #~ msgstr "%s: viga lühendamisel" #~ msgid "%s: fcntl failed" #~ msgstr "%s: fcntl ebaõnnestus" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: ei õnnestu töödelda ainult lisamiseks mõeldud faili" #~ msgid "%s: removing" #~ msgstr "%s: eemaldan" #~ msgid "%s: renamed to %s" #~ msgstr "%s: uus nimi %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: kustutamine ebaõnnestus" #~ msgid "%s: removed" #~ msgstr "%s: eemaldatud" #~ msgid "%s: failed to close" #~ msgstr "%s: sulgemine ebaõnnestus" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: faili ei saa kirjutamiseks avada" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: vigane läbimiste arv" #~ msgid "multiple random sources specified" #~ msgstr "määrati mitu juhuarvude allikat" #~ msgid "%s: invalid file size" #~ msgstr "%s: vigane faili suurus" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI]... [FAIL]\n" #~ " või: %s -e [VÕTI]... [ARG]...\n" #~ " või: %s -i ALG-LÕPP [VÕTI]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Kirjuta sisendfailide read juhuslikus permutatsioonis " #~ "standardväljundisse.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo käsitle iga ARG kui sisendi rida\n" #~ " -i, --input-range=ALG-LÕPP käsitle iga numbrit vahemikust sisendreana\n" #~ " -n, --head-lines=RIDU väljasta maksimaalselt RIDU rida\n" #~ " -o, --output=FAIL kirjuta tulemu standardväljundi asemel faili\n" #~ " --random-source=FAIL loe juhuslikud baidid FAIList (vaikimisi /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated ridade lõppu bait 0, mitte reavahetus\n" #~ msgid "multiple -i options specified" #~ msgstr "kasutati mitut -i võtit" #~ msgid "invalid input range %s" #~ msgstr "vigane sisendi vahemik: %s" #~ msgid "invalid line count %s" #~ msgstr "vigane ridade arv: %s" #~ msgid "multiple output files specified" #~ msgstr "määrati mitu väljundfaili" #~ msgid "extra operand %s\n" #~ msgstr "liigne operand %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Kasutamine: %s NUMBER[SUFIKS]...\n" #~ " või: %s VÕTI\n" #~ "Paus pikkusega NUMBER sekundit. SUFIKS võib olla `s', tähistamaks " #~ "sekundeid\n" #~ "(vaikimisi), `m' minuteid, `h' tunde või `d' päevi. Erinevalt enamusest\n" #~ "realisatsioonidest võib NUMBER olla ka murdarv. Kui on antud kaks või " #~ "enam argumenti,\n" #~ "on pausi pikkus kõikide argumentide summa.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "vigane ajaintervall %s" #~ msgid "cannot read realtime clock" #~ msgstr "ei õnnestu lugeda reaalaja kella" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Kirjuta järjestatud FAILide ühend standardväljundisse.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Võtmed järjestamiseks:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ignoreeri ees olevaid tühimikke\n" #~ " -d, --dictionary-order kasuta ainult tühemikke ja tähti ning " #~ "numbreid\n" #~ " -f, --ignore-case tööta tõstutundetult\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort võrdle vastavaid üldisi numbrilisi " #~ "väärtusi\n" #~ " -i, --ignore-nonprinting kasuta ainult trükitavaid sümboleid\n" #~ " -M, --month-sort võrdle (tundmatu) < `JAAN' < ... < `DETS'\n" #~ " -n, --numeric-sort võrdle vastavaid sõnede numbrilisi " #~ "väärtusi\n" #~ " -R, --random-sort järjesta juhuslike arvude paisktabeli " #~ "järgi\n" #~ " --random-source=FAIL loe juhuarvud failist (vaikimisi /dev/" #~ "urandom)\n" #~ " -r, --reverse pööra võrdluste tulemus\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "Teised võtmed:\n" #~ "\n" #~ " -c, --check kontrolli kas sisend on järjestatud; ei " #~ "järjesta\n" #~ " -k, --key=POS1[,POS2] võti algab kohal POS1, lõppeb POS2 (algselt " #~ "1)\n" #~ " -m, --merge mesti juba järjestatud failid; ei järjesta\n" #~ " -o, --output=FAIL kirjuta tulemus standardväljundi asemel " #~ "FAILi\n" #~ " -s, --stable stabiliseeri sort blokeerides last-resort " #~ "võrdlus\n" #~ " -S, --buffer-size=MAHT määra mälupuhvri suurus\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=ERA määra tühemiku asemele uus väljade eraldaja\n" #~ " -T, --temporary-directory=KAT kasuta ajutiste failide jaoks $TMPDIR " #~ "või %s\n" #~ " asemel KAT. Korduv kasutamine määrab mitu\n" #~ " kataloogi.\n" #~ " -u, --unique võtmega -c: kontrolli ranget järjestatust\n" #~ " muidu: väljasta võrdsetest ainult üks\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated lõpeta read reavahetuse asemel baidiga 0\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS on V[.S][VÕTMED], kus V on välja number ja S on sümboli positsioon\n" #~ "väljal, mõlemad algavad positsioonilt 1. Kui võtmeid -t ega -b ei " #~ "kasutata,\n" #~ "loetakse sümboleid tekstile eelneva tühemiku algusest. VÕTMED on üks või\n" #~ "enam ühe tähelisi järjestamise võtmeid, mis määravad antud võtme jaoks " #~ "ümber\n" #~ "globaalselt seatud järjestamise reegleid. Kui võtit ei ole antud, " #~ "kasutatakse\n" #~ "võtmena tervet rida.\n" #~ "\n" #~ "MAHT järel võib kasutada järgnevaid kordavaid sufikseid:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% mälust, b 1, K 1024 (vaikimisi), jne tähtedega M, G, T, P, E, Z, Y.\n" #~ "\n" #~ "Kui FAIL puudub või on -, loe standardsisendit.\n" #~ "\n" #~ "*** HOIATUS ***\n" #~ "Keskkonna poolt määratud lokaat mõjutab järjestamist. Traditsioonilise,\n" #~ "baitide väärtusel põhineva järjestuse saamiseks seadke LC_ALL=C. \n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "kirjutan faili %s" #~ msgid "cannot create temporary file" #~ msgstr "ajutist faili ei õnnestu luua" #~ msgid "open failed" #~ msgstr "open ebaõnnestus" #~ msgid "fflush failed" #~ msgstr "fflush ebaõnnestus" #~ msgid "close failed" #~ msgstr "close ebaõnnestus" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "open ebaõnnestus" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "ajutist faili ei õnnestu luua" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "ajutist faili ei õnnestu luua" #~ msgid "write failed" #~ msgstr "kirjutamine ebaõnnestus" #~ msgid "warning: cannot remove: %s" #~ msgstr "hoiatus: ei saa kustutada: %s" #~ msgid "stat failed" #~ msgstr "stat ebaõnnestus" #~ msgid "read failed" #~ msgstr "lugemine ebaõnnestus" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: korratu: " #~ msgid "standard error" #~ msgstr "standard veavoog" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: vigane välja määrang %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "võtmed `-%s' ei sobi kokku" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: vigane loendur %s alguses" #~ msgid "invalid number after `-'" #~ msgstr "vigane kuupäev peale `-'" #~ msgid "invalid number after `.'" #~ msgstr "vigane number peale `.'" #~ msgid "stray character in field spec" #~ msgstr "juhuslik sümbol välja määrangus" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "määrati mitu väljundvormingut" #~ msgid "invalid number at field start" #~ msgstr "vigane number välja alguses" #~ msgid "field number is zero" #~ msgstr "välja number on null" #~ msgid "character offset is zero" #~ msgstr "sümboli nihe on null" #~ msgid "invalid number after `,'" #~ msgstr "vigane number peale `,'" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "võtmega -c ei lubata täiendavat operandi %s" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Kasutamine: %s [VÕTI]... [SISEND [PREFIKS]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Väljasta antud suurusega tükid sisendist failidesse PREFIKSaa,\n" #~ "PREFIKSab, ...; vaikimisi kirjutatakse 1000 rida ja vaikimisi prefiks on " #~ "`x'.\n" #~ "Kui sisend puudub või on -, loe standardsisendit.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N kasuta sufikseid pikkusega N (vaikimisi %d)\n" #~ " -b, --bytes=MAHT pane väljundi ritta MAHT baiti\n" #~ " -C, --line-bytes=MAHT väljasta faili ülimalt MAHT baidiseid ridu\n" #~ " -d, --numeric-suffixes kasuta tähtedega sufiksite asemel numbrilisi\n" #~ " -l, --lines=NUMBER väljasta väljundfaili NUMBER rida\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose väljasta enne iga faili avamist standard " #~ "veavoogu\n" #~ " diagnostilist infot\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "PLOKID ja BAIDID võivad kasutada ka järgnevaid kordavaid sufikseid:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 ja nii edasi sümbolitele T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "Iga VÕTMESÕNA võib olla:\n" #~ "\n" #~ msgid "creating file %s\n" #~ msgstr "loon faili %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "ei saa tükeldada enam kui ühel viisil" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: vigane sufiksi pikkus" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: vigane baitide arv" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: vigane ridade arv" #~ msgid "line count option -%s%c... is too large" #~ msgstr "ridade arvu võti -%s%c... on liiga suur" #~ msgid "invalid number of lines: 0" #~ msgstr "vigane ridade arv: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "hoiatus: tundmatu jada `\\%c'" #~ msgid "%s: invalid directive" #~ msgstr "%s: vigane direktiiv" #~ msgid "warning: backslash at end of format" #~ msgstr "hoiatus: langkriips vormingu lõpus" #~ msgid "cannot read file system information for %s" #~ msgstr "ei õnnestu lugeda %s failisüsteemi informatsiooni" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Kasutamine: %s [VÕTI]... FAIL...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Esita faili või failisüsteemi olek.\n" #~ "\n" #~ " -L, --dereference järgi viiteid\n" #~ " -f, --filesystem esita faili oleku asemel failisüsteemi olek\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=VORMING määra uus vorming; peale iga VORMING kasutamist\n" #~ " väljastatakse reavahetus\n" #~ " --printf=VORMING nagu --format, aga töötleb ka langkriipsu " #~ "paojadasid,\n" #~ " ja ei väljasta automaatselt reavahetusi.\n" #~ " Kui soovite reavahetust, kasutage \\n.\n" #~ " -t, --terse esita info lakooniliselt\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Lubatud vormingu järjendid failidele (ei kasuta --file-system):\n" #~ "\n" #~ " %a - Õigused kaheksandesituses\n" #~ " %A - Õigused inimesele loetaval kujul\n" #~ " %b - Kasutatud blokkide arv (vaata %B)\n" #~ " %B - Iga `%b' poolt antud bloki maht baitides\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Seadme number kümnendsüsteemis\n" #~ " %D Seadme number kuueteistkümnendsüsteemis\n" #~ " %f Mood kuueteistkümnendsüsteemis\n" #~ " %F Faili tüüp\n" #~ " %g Omaniku grupi ID\n" #~ " %G Omaniku grupi nimi\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h - Viidete arv\n" #~ " %i - Ikirje number\n" #~ " %n - Faili nimi\n" #~ " %N - Jutumärkides faili nimi, nimeviite korral viidatav nimi\n" #~ " %o - S/V bloki suurus\n" #~ " %s - Kogumaht, baitides\n" #~ " %t - Seadme kuueteistkümnendsüsteemis põhinumber\n" #~ " %T - Seadme kuueteistkümnendsüsteemis alamnumber\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u - Omaniku kasutaja ID\n" #~ " %U - Omaniku kasutaja nimi\n" #~ " %x - Viimane kasutamine\n" #~ " %X - Viimane kasutamine sekundites alates epohhist\n" #~ " %y - Viimane täiendamine\n" #~ " %Y - Viimane täiendamine sekundites alates epohhist\n" #~ " %z - Viimane muutmine\n" #~ " %Z - Viimane muutmine sekundites alates epohhist\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Lubatud vormingu järjendid failisüsteemidele:\n" #~ "\n" #~ " %a - Vabu blokke mittepriviligeeritud kasutajatele\n" #~ " %b - Andmeblokke kokku failisüsteemis\n" #~ " %c - Failikirjeid kokku failisüsteemis\n" #~ " %d - Vabu failikirjeid failisüsteemis\n" #~ " %f - Vabu blokke failisüsteemis\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i - Failisüsteemi kuueteistkümnend id\n" #~ " %l - Failinimede maksimaalne pikkus\n" #~ " %n - Faili nimi\n" #~ " %s - Optimaalne ülekande bloki suurus\n" #~ " %S - Bloki suurus (blokkide arvu jaoks)\n" #~ " %t - Tüüp kuueteistkümnend esituses\n" #~ " %T - Inimesele loetaval kujul tüüp\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Kasutamine: %s [-F SEADE] [--file=SEADE] [OMADUS]...\n" #~ " või: %s [-F SEADE] [--file=SEADE] [-a|--all]\n" #~ " või: %s [-F SEADE] [--file=SEADE] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Väljasta või muuda terminali seadeid.\n" #~ "\n" #~ " -a, --all väljasta kõik kehtivad seaded inimesele loetavalt\n" #~ " -g, --save väljasta kõik kehtivad seaded stty programmile " #~ "loetavalt\n" #~ " -F, --file=SEADE ava ja kasuta standardsisendi asemel antud seadet\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Võimalik - enne seadet tähistab eitust. Sümbol * märgib POSIX " #~ "standardile\n" #~ "mittevastavat seadet. Seadete kasutatavuse määrab kasutatav\n" #~ "operatsioonisüsteem.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Spetsiaalsümbolid:\\n\"\n" #~ " * dsusp SÜMBOL SÜMBOL saadab terminali peatamise signaali, kui sisend " #~ "on loetud\n" #~ " eof SÜMBOL SÜMBOL saadab faili lõpu teate (lõpetab sisendi)\n" #~ " eol SÜMBOL SÜMBOL lõpetab rea\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 SÜMBOL alternatiivne SÜMBOL rea lõpetamiseks\n" #~ " erase SÜMBOL SÜMBOL kustutab viimati kirjutatud sümboli\n" #~ " intr SÜMBOL SÜMBOL saadab katkestamise signaali\n" #~ " kill SÜMBOL SÜMBOL kustutab jooksva rea\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext SÜMBOL SÜMBOL sisestab järgmise sümboli kvoodituna\n" #~ " quit SÜMBOL SÜMBOL saadab väljumise signaali\n" #~ " * rprnt SÜMBOL SÜMBOL joonistab jooksva rea uuesti\n" #~ " start SÜMBOL SÜMBOL käivitab väljundi peale peatamist\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop SÜMBOL SÜMBOL peatab väljundi\n" #~ " susp SÜMBOL SÜMBOL saadab terminali peatamise signaali\n" #~ " * swtch SÜMBOL SÜMBOL vahetab käsuinterpretaatori taset\n" #~ " * werase SÜMBOL SÜMBOL kustutab viimati kirjutatud sõna\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Spetsiaalseaded:\n" #~ " N sea sisendi ja väljundi kiiruseks N boodi\n" #~ " * cols N teata tuumale, et terminalil on N veergu\n" #~ " * columns N sama, kui cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N sea sisendi kiiruseks N\n" #~ " * line N kasuta liiniseadeid N\n" #~ " min N -icanon omadusega, sea lugemise lõpetamiseks min, N " #~ "sümbolit\n" #~ " ospeed N sea väljundi kiiruseks N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N teata tuumale, et terminalil on N rida\n" #~ " * size väljasta terminali veerud ja read, vastavalt tuuma " #~ "infole\n" #~ " speed väljasta terminali kiirus\n" #~ " time N -icanon omadusega, sea lugemise taimout N sekundi " #~ "kümnendikku\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Kontrollseaded:\n" #~ " [-]clocal blokeeri modemi kontrolli signaalid\n" #~ " [-]cread luba sisendit\n" #~ "* [-]crtscts luba RTS/CTS vookontroll\n" #~ " csN sea sümboli suuruseks N bitti, N vahemikust [5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb kasuta sümboli kohta kaht stop bitti (üks `-' korral)\n" #~ " [-]hup saada hangup signaal, kui viimane protsess suleb tty\n" #~ " [-]hupcl sama, kui [-]hup\n" #~ " [-]parenb genereeri väljundis paarsusbitt ja eelda paarsust " #~ "sisendis\n" #~ " [-]parodd sea paaritu paarsus (paaris `-' korral)\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Sisendiseaded:\n" #~ " [-]brkint break põhjustab katkestuse signaali\n" #~ " [-]icrnl tõlgi rea algusse sümbol reavahetuseks\n" #~ " [-]ignbrk ignoreeri break sümbolit\n" #~ " [-]igncr ignoreeri rea algusse sümbolit\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar ignoreeri paarsusveaga sümboleid\n" #~ " * [-]imaxbel piiksu ja ära tühjenda täis sisendpuhvrit\n" #~ " [-]inlcr tõlgi reavahetus rea algusse sümboliks\n" #~ " [-]inpck luba sisendi paarsuse kontroll\n" #~ " [-]istrip eemalda sisendsümbolitelt ülemine (8-s) bitt\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "" #~ " * [-]iutf8 eelda et sisendsümbolid kasutavad UTF-8 kooditabelit\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc tõlgi suurtähed väiketähtedeks\n" #~ " * [-]ixany luba väljundit alustada igal, mitte ainult start " #~ "sümbolil\n" #~ " [-]ixoff luba start/stop sümbolite edastus\n" #~ " [-]ixon luba XON/XOFF vookontroll\n" #~ " [-]parmrk märgi paarsusvead (kasutatakse 255-0-sümbol järjendis)\n" #~ " [-]tandem sama, kui [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Väljundi seaded:\n" #~ " * bsN samm tagasi viivitus, N vahemikust [0..1]\n" #~ " * crN rea algusse viivitus, N vahemikust [0..3]\n" #~ " * ffN lehevahetuse viivitus, N vahemikust [0..1]\n" #~ " * nlN reavahetuse viivitus, N vahemikust [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl tõlgi rea algusse sümbol reavahetuseks\n" #~ " * [-]ofdel kasuta täitesümbolitena null asemel kustutamise " #~ "sümbolit\n" #~ " * [-]ofill kasuta viivitustel ootamise asemel täitesümboleid\n" #~ " * [-]olcuc tõlgi väiketähed suurtähtedeks\n" #~ " * [-]onlcr tõlgi reavahetus paariks rea algusse-reavahetus\n" #~ " * [-]onlret reavahetus käitub, nagu rea algusse sümbol\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr ära väljasta esimesel veerul rea algusse sümbolit\n" #~ " [-]opost väljundi järeltöötlus\n" #~ " * tabN horisontaalse tabulaatori viivitus, N vahemikust [0..3]\n" #~ " * tabs sama, kui tab0\n" #~ " * -tabs sama, kui tab3\n" #~ " * vtN vertikaalse tabulaatori viivitus, N vahemikust [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Lokaalsed seaded:\n" #~ " [-]crterase korda kustutamise sümbolit kui samm tagasi-tühik-samm " #~ "tagasi\n" #~ " * crtkill surma terve rida vastavalt echoprt ja echoe seadetele\n" #~ " * -crtkill surma terve rida vastavalt echoctl ja echok seadetele\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho korda kontrollsümboleid katus notatsioonis (`^c')\n" #~ " [-]echo korda sisendi sümboleid\n" #~ " * [-]echoctl sama, kui [-]ctlecho\n" #~ " [-]echoe sama, kui [-]crterase\n" #~ " [-]echok väljasta kill sümboli järel reavahetus\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke sama, kui [-]crtkill\n" #~ " [-]echonl korda reavahetust isegi, kui teisi sümboleid ei korrata\n" #~ " * [-]echoprt korda kustutatud sümboleid esitades neid `\\\\' ja '/' " #~ "vahel\n" #~ " [-]icanon luba spetsiaalsümbolid erase, kill, werase ja rprnt\n" #~ " [-]iexten luba POSIX mittevastavad spetsiaalsümbolid\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig luba spetsiaalsümbolid interrupt, quit ja suspend\n" #~ " [-]noflsh keela tühjendamine peale katkestamise ja väljumise " #~ "sümboleid\n" #~ " * [-]prterase sama, kui [-]echoprt\n" #~ " * [-]tostop peata taustatööd, mis üritavad terminalile kirjutada\n" #~ " * [-]xcase icanon omadusega, kasuta suurtähtede ees `\\\\'\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Kombineeritud seaded:\n" #~ " * [-]LCASE sama, kui [-]lcase\n" #~ " cbreak sama, kui -icanon\n" #~ " -cbreak sama, kui icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked sama, kui brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof ja eol sümbolid seatakse vaikimisi " #~ "väärtustele\n" #~ " -cooked sama, kui raw\n" #~ " crt sama, kui echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec sama, kui echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ " * [-]decctlq sama, kui [-]ixany\n" #~ " ek erase ja kill sümbolid seatakse vaikimisi väärtustele\n" #~ " evenp sama, kui parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp sama, kui -parenb cs8\n" #~ " * [-]lcase sama, kui xcase iuclc olcuc\n" #~ " litout sama, kui -parenb -istrip -opost cs8\n" #~ " -litout sama, kui parenb istrip opost cs7\n" #~ " nl sama, kui -icrnl -onlcr\n" #~ " -nl sama, kui icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp sama, kui parenb parodd cs7\n" #~ " -oddp sama, kui -parenb cs8\n" #~ " [-]parity sama, kui [-]evenp\n" #~ " pass8 sama, kui -parenb -istrip cs8\n" #~ " -pass8 sama, kui parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw sama, kui -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw sama, kui cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane sama, kui cread -ignbrk brkint -inlcr -igncr icrnl -" #~ "iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, kõik\n" #~ " spetsiaalsümbolid seatakse vaikimisi väärtustele\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Käsitle terminali, mis on ühendatud standardsisendiga. Kui argumente\n" #~ "ei antud, väljasta terminali kiirus, liini seaded ja erinevused seadest\n" #~ "`stty sane'. Terminali seadete muutmisel käsitletakse SÜMBOLit kas\n" #~ "literalina või kui ^c, 0x37, 0177 või 127; spetsiaalväärtuseid ^- või\n" #~ "undef kasutatakse vastava sümboli blokeerimiseks.\n" #~ msgid "only one device may be specified" #~ msgstr "lubatud on ainult üks seade" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "inimesele loetava ja programmile loetava väljundi seaded on üksteist " #~ "välistavad" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "kui määrate väljundi moodi, siis ei saa seadme moodi seada" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: ei õnnestu eemaldada mitte-blokeeruvat moodi" #~ msgid "invalid argument %s" #~ msgstr "vigane argument %s" #~ msgid "missing argument to %s" #~ msgstr "%s nõuab argumenti" #~ msgid "invalid line discipline %s" #~ msgstr "vigane liini määrang %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: kõiki nõutud operatsioone ei õnnestunud sooritada" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mood\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: sellel seadmel puudub info suuruse kohta" #~ msgid "invalid integer argument %s" #~ msgstr "vigane numbriline argument %s" #~ msgid "Password:" #~ msgstr "Parool:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: ei õnnestu avada /dev/tty" #~ msgid "cannot set groups" #~ msgstr "ei õnnestu seada gruppe" #~ msgid "cannot set group id" #~ msgstr "ei õnnestu seada grupi id" #~ msgid "cannot set user id" #~ msgstr "ei õnnestu seada kasutaja id" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Kasutamine: %s [VÕTI]... [-] [KASUTAJA [ARGUMENT]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Muuda kasutaja efektiine kasutaja id ja grupi id.\n" #~ "\n" #~ " -, -l, --login meldi kasutajana\n" #~ " -c, --command=KÄSK edasta KÄSK shellile võtmega -c\n" #~ " -f, --fast edasta shellile võti -f (csh või tcsh)\n" #~ " -m, --preserve-environment säilita keskkonnamuutujaid\n" #~ " -p sama, kui -m\n" #~ " -s, --shell=PROGRAMM käivita PROGRAMM, kui /etc/shells seda " #~ "lubab\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Ainult - rakendab võtme -l. Kui KASUTAJA ei antud, kasuta nime root.\n" #~ msgid "user %s does not exist" #~ msgstr "kasutajat %s ei ole" #~ msgid "incorrect password" #~ msgstr "vale parool" #~ msgid "using restricted shell %s" #~ msgstr "kasutan piiratud käsuinterpretaatorit %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "hoiatus: ei saa minna kataloogi %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Väljasta iga faili kohta kontrollsumma ja blokkide arv.\n" #~ "\n" #~ " -r kasuta BSD sum algoritmi, kasuta 1K blokke\n" #~ " -s, --sysv kasuta System V sum algoritmi, kasuta 512 baidiseid " #~ "blokke\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Salvesta muutused kettale, uuenda superplokki.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "ignoreerin kõiki argumente" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "MÄRKUS: teie käsuinterpretaator võib omada oma versiooni %s, millist " #~ "tavaliselt\n" #~ "eelistatakse siinkirjeldatule. Täpsemat infot ja kasutusjuhendi leiate\n" #~ "oma käsuinterpretaatori dokumentatsioonist.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help väljasta see abiinfo ja lõpeta töö\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version väljasta versiooniinfo ja lõpeta töö\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Vigadest teatage palun aadressil <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kirjuta iga FAIL standardväljundisse, viimane rida esimesena.\n" #~ "Kui FAIL puudub või on -, loe standardsisendit.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before kasuta eraldajat enne, mitte pärast\n" #~ " -r, --regex interpreteeri eraldajat regulaaravaldisena\n" #~ " -s, --separator=SÕNE kasuta reavahetuse asemel eraldajana SÕNE\n" #~ msgid "%s: seek failed" #~ msgstr "%s: seek ebaõnnestus" #~ msgid "record too large" #~ msgstr "kirje on liiga suur" #~ msgid "cannot create temporary file %s" #~ msgstr "ajutist faili %s ei õnnestu luua" #~ msgid "cannot open %s for writing" #~ msgstr "%s ei õnnestu kirjutamiseks avada" #~ msgid "%s: write error" #~ msgstr "%s: viga kirjutamisel" #~ msgid "separator cannot be empty" #~ msgstr "eraldaja ei või olla tühi" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Väljasta viimased %d rida igast FAILIST standardväljundisse.\n" #~ "Enam, kui ühe FAILI korral, lisa iga faili ette päis faili nimega.\n" #~ "Kui FAIL puudub või on -, loe standardsisendit.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry jätka faili avamise üritamist isegi kui faili\n" #~ " ei saa tail käivitamisel kasutada või kui ta\n" #~ " muutub mittekasutatavaks hiljem -- kasulik " #~ "nime\n" #~ " jälgimisel, näiteks võtmega --follof=nimi\n" #~ " -c, --bytes=N väljasta viimased N baiti\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={nimi|pide}]\n" #~ " väljasta faili kasvamisel lisanduvad andmed;\n" #~ " -f, --follow ja --follow=pide on samaväärsed\n" #~ " -F sama, kui --follow=nimi --retry\n" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N väljasta vaikimisi %d viimase rea asemel N " #~ "rida\n" #~ " --max-unchanged-stats=N\n" #~ " võtmega --follow=nimi, ava FAIL, mis ei ole N\n" #~ " iteratsiooni (vaikimisi %d) järel muutunud, " #~ "uuesti\n" #~ " tegemaks kindlaks et seda faili ei ole " #~ "kustutatud\n" #~ " või ümber nimetatud (nagu seda võib juhtuda\n" #~ " logifailidega) \n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID võtmega -f, lõpeta töö, kui protsess PID " #~ "lõpetab\n" #~ " -q, --quiet, --silent ära väljasta päiseid faili nimega\n" #~ " -s, --sleep-interval=S võtmega -f, maga jälgimiste vahel umbes S " #~ "sekundit\n" #~ " (vaikimisi 1.0)\n" #~ " -v, --verbose väljasta alati päised faili nimega\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Kui N esimene sümbol (baitide või ridade arv) on `+', väljasta alustades\n" #~ "faili algusest Ninda elemendiga, muidu väljasta failist viimased N " #~ "elementi. \n" #~ "N võib omada kordavat sufiksit:\n" #~ "b on 512, k on 1024, m on 1024*1024.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Võtmega --follow (-f), jälgib tail vaikimisi faili pidet. See tähendab, " #~ "et\n" #~ "tail saab jätkata faili jälgimist isegi juhul, kui fail nimetatakse " #~ "ümber.\n" #~ "Selline " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "käitumine ei ole kasulik, kui teil on vaja faili jälgida nime järgi,\n" #~ "mitte failipideme (n. logide roteerumisel). Sellisel juhul kasutage " #~ "võtit\n" #~ "--follow=nimi. Siis jälgib tail faili nime põhjal, avades seda " #~ "perioodiliselt\n" #~ "uuesti, et testida et faili pole vahepeal mõne programmi poolt ümber " #~ "nimetatud\n" #~ "ja uuesti loodud.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "sulen %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: ei õnnestu liikuda suhtelisele nihkele %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: ei õnnestu liikuda lõpu-suhtelisele nihkele %s" #~ msgid "%s has become inaccessible" #~ msgstr "%s pole enam kasutatav" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "%s asendati mitte-jälgitava failiga; ei jälgi seda enam" #~ msgid "%s has become accessible" #~ msgstr "%s on jälle kasutatav" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s tekkis; järgin uue faili lõppu" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s asendati; järgin uue faili lõppu" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: ei õnnestu muuta mitte-blokeeruvat moodi" #~ msgid "%s: file truncated" #~ msgstr "%s: fail on lühendatud" #~ msgid "no files remaining" #~ msgstr "rohkem faile pole" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "%s: seda tüüpi faili lõppu ei saa järgida; annan alla" #~ msgid "number in %s is too large" #~ msgstr "%s number on liiga suur" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: vigane maksimum arv mittemuutunud atribuute avamiste vahel" #~ msgid "%s: invalid PID" #~ msgstr "%s: vigane PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: vigane arv sekundeid" #~ msgid "option used in invalid context -- %c" #~ msgstr "võtit kasutati vales kontekstis -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "hoiatus: --retry on kasutatav ainult failide jälgimisel nime põhjal" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "hoiatus: PID ignoreeritakse; --pid=PID on kasulik ainult failide " #~ "jälgimisel" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "hoiatus: --pid=PID ei ole selles süsteemis toetatud" #~ msgid "cannot follow %s by name" #~ msgstr "ei õnnestu %s nime järgi leida" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "hoiatus: standardsisendi lõpmatu jälgimine ei toimi" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Kopeeri standardsisend igasse FAILi, samuti standardväljundisse.\n" #~ "\n" #~ " -a, --append lisa antud FAILidesse, ära kirjuta üle\n" #~ " -i, --ignore-interrupts ignoreeri katkestusi\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Kui FAIL on -, kopeeri uuesti standardväljundisse.\n" #~ msgid "missing argument after %s" #~ msgstr "%s nõuab argumenti" #~ msgid "invalid integer %s" #~ msgstr "vigane täisarv %s" #~ msgid "')' expected" #~ msgstr "')' puudub" #~ msgid "')' expected, found %s" #~ msgstr "')' puudub, leidsin %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: oodati unaarset operaatorit" #~ msgid "-nt does not accept -l" #~ msgstr "-nt ei luba -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef ei luba -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot ei luba -l" #~ msgid "unknown binary operator" #~ msgstr "tundmatu binaarne operaator" #~ msgid "%s: binary operator expected" #~ msgstr "%s: oodati binaarset operaatorit" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Kasutamine: test AVALDIS\n" #~ " või: test\n" #~ " või: [ AVALDIS ]\n" #~ " või: [ ]\n" #~ " või: [ VÕTI\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Lõpeta olekuga, mille määrab AVALDIS.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Puuduva AVALDIS korral kasutatakse väärtust väär. Muidu, \n" #~ "AVALDIS on kas tõene või väär ja seab lõpetamise oleku.\n" #~ "Avaldis on üks järgnevaist:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( AVALDIS ) AVALDIS on tõene\n" #~ " ! AVALDIS AVALDIS on väär\n" #~ " AVALDIS1 -a AVALDIS2 nii AVALDIS1, kui ka AVALDIS2 on tõesed\n" #~ " AVALDIS1 -o AVALDIS2 kas AVALDIS1 või AVALDIS2 on tõene\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n SÕNE SÕNE pikkus on nullist erinev\n" #~ " SÕNE sama kui -n SÕNE\n" #~ " -z SÕNE SÕNE pikkus on null\n" #~ " SÕNE1 = SÕNE2 sõned on võrdsed\n" #~ " SÕNE1 != SÕNE2 sõned ei ole võrdsed\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " NUMBER1 -eq NUMBER2 NUMBER1 ja NUMBER2 on võrdsed\n" #~ " NUMBER1 -ge NUMBER2 NUMBER1 on suurem või võrdne, kui NUMBER2\n" #~ " NUMBER1 -gt NUMBER2 NUMBER1 on suurem, kui NUMBER2\n" #~ " NUMBER1 -le NUMBER2 NUMBER1 on väiksem või võrdne, kui NUMBER2\n" #~ " NUMBER1 -lt NUMBER2 NUMBER1 on väiksem, KUI NUMBER2\n" #~ " NUMBER1 -ne NUMBER2 NUMBER1 ja NUMBER2 ei ole võrdsed\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " FAIL1 -ef FAIL2 FAIL1 ja FAIL2 omavad samu seadme ja ikirje numbreid\n" #~ " FAIL1 -nt FAIL2 FAIL1 on uuem (muutmise aeg), kui FAIL2\n" #~ " FAIL1 -ot FAIL2 FAIL1 on vanem, kui FAIL2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b FAIL FAIL on olemas ja on blokkseade\n" #~ " -c FAIL FAIL on olemas ja on sümbolseade\n" #~ " -d FAIL FAIL on olemas ja on kataloog\n" #~ " -e FAIL FAIL on olemas\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f FAIL FAIL on olemas ja on tavaline fail\n" #~ " -g FAIL FAIL on olemas ja omab sea-grupi-ID õigust\n" #~ " -G FAIL FAIL on olemas grupp on efektiivne grupi ID\n" #~ " -h FAIL FAIL on olemas ja on nimeviide (sama, kui -L)\n" #~ " -k FAIL FAIL on olemas ja omab kleepimisõigust\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L FAIL FAIL on olemas ja on nimeviit (sama, kui -h)\n" #~ " -O FAIL FAIL on olemas ja omanik on efektiivne kasutaja ID\n" #~ " -p FAIL FAIL on olemas ja on nimega toru\n" #~ " -r FAIL FAIL on olemas ja on loetav\n" #~ " -s FAIL FAIL on olemas ja tema suurus on suurem kui null\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S FAIL FAIL on olemas ja on pesa\n" #~ " -t FP terminalil on avatud failipide FP\n" #~ " -u FAIL FAIL on olemas ja omab sea-kasutaja-ID õigust\n" #~ " -w FAIL FAIL on olemas ja on kirjutatav\n" #~ " -x FAIL FAIL on olemas ja on käivitatav (või otsitav)\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Välja arvatud -h ja -L korral, kõik failidega seotud operatsioonid " #~ "lahendavad\n" #~ "nimeviiteid. Pange tähele, et sulud vajavad käsuinterpretaatori eest " #~ "kaitset\n" #~ "kvootimise või langkriipsuga kaitsmise näol. NUMBER võib olla ka -l " #~ "SÕNE,\n" #~ "mis tähistab siis SÕNE pikkust.\n" #~ msgid "test and/or [" #~ msgstr "test ja/või [" #~ msgid "missing `]'" #~ msgstr "puudub `]'" #~ msgid "extra argument %s" #~ msgstr "liigne argument: %s" #~ msgid "creating %s" #~ msgstr "loon %s" #~ msgid "cannot touch %s" #~ msgstr "%s ei õnnestu kasutada" #~ msgid "setting times of %s" #~ msgstr "sean faili %s aegu" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a muuda ainult kasutamise (access) aeg\n" #~ " -c, --no-create ära loo faile\n" #~ " -d, --date=SÕNE analüüsi SÕNE ja kasuta seda jooksva aja asemel\n" #~ " -f (ignoreeritakse)\n" #~ " -m muuda ainult muutmise (modification) aega\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=FAIL kasuta jooksva aja asemel selle faili aegu\n" #~ " -t TEMPEL kasuta jooksva aja asemel [[SS]AA]KKPPttmm[.ss]\n" #~ " --time=SÕNA sea antud aeg, SÕNA võib olla: \n" #~ " access, atime või use (sama kui -a)\n" #~ " modify või mtime (sama kui -m)\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Pange tähele, et võtmed -d ja -t kasutavad erinevaid aja vorminguid.\n" #~ "\n" #~ "Kui FAIL on -, kasuta standardväljundit.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "ei õnnestu kirjeldada aegu rohkem kui ühest allikast" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "hoiatus: `touch %s' on aegunud; kasutage `touch -t %04ld%02d%02d%02d%02d.%" #~ "02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Kasutamine: %s [VÕTI]... HULK1 [HULK2]...\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Tõlgi, tihenda ja/või kustuta sümboleid standardsisendist väljastades \n" #~ "standardväljundisse.\n" #~ "\n" #~ " -c, -C, --complement esmalt täienda HULK1\n" #~ " -d, --delete kustuta sümbolid HULK1, ei tõlgi\n" #~ " -s, --squeeze-repeats asenda iga korduv sümbol sisendi järjendis, mis " #~ "on\n" #~ " märgitud HULK1 selle sümboli ühekordse " #~ "esitusega\n" #~ " -t, --truncate-set1 esmalt lühenda HULK1 HULK2 pikkuseks\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "HULGAD esitatakse sümbolite jadana. Enamus esitab iseennast.\n" #~ "Interpreteeritavad järjendid on:\n" #~ "\n" #~ " \\NNN sümbol kaheksandväärtusega NNN (1 kuni 3 " #~ "kaheksandnumbrit)\n" #~ " \\\\ langkriips\n" #~ " \\a kuuldav piiks\n" #~ " \\b samm tagasi\n" #~ " \\f lehevahetus\n" #~ " \\n uus rida\n" #~ " \\r reavahetus\n" #~ " \\t horisontaalne tabulaator\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v vertikaalne tabulaator\n" #~ " SÜMB1-SÜMB2 kõik sümbolid alates SÜMB1 kuni SÜMB2 kasvavas " #~ "järjekorras\n" #~ " [SÜMB*] HULGAS2, kopeerib sümbolit kuni HULK1 pikkuseni\n" #~ " [SÜMB*KORD] korda sümbolit, KORD on kaheksandnumber, kui algab " #~ "nulliga\n" #~ " [:alnum:] kõik tähed ja numbrid\n" #~ " [:alpha:] kõik tähed\n" #~ " [:blank:] kõik horisontaal tühemikud\n" #~ " [:cntrl:] kõik kontrollsümbolid\n" #~ " [:digit:] kõik numbrid\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] kõik trükitavad sümbolid, aga mitte tühik\n" #~ " [:lower:] kõik väiketähed\n" #~ " [:print:] kõik trükitavad sümbolid, ka tühik\n" #~ " [:punct:] kõik punktuatsiooni sümbolid\n" #~ " [:space:] kõik horisontaal või vertikaal tühemikud\n" #~ " [:upper:] kõik suurtähed\n" #~ " [:xdigit:] kõik kuueteistkümnend numbrid\n" #~ " [=SÜMBOL=] all sümbolid, mis on ekvivalentsed sümboliga SÜMBOL\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Tõlgitakse juhul, kui võtit -d ei kasutata ja HULK1 ja HULK2 on " #~ "määratud.\n" #~ "-t saab kasutada ainult tõlkimisel. HULK2 laiendatakse HULK1 pikkuseni\n" #~ "korrates vajadusel viimast sümbolit. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Liigsed sümbolid hulgast 2 ignoreeritakse.\n" #~ "Ainult [:lower:] ja [:upper:] puhul on tagatud laiendamine kasvavalt;\n" #~ "kui kasutatakse tõlkimisel hulgas 2, võib neid suur- ja väiketähtedeks\n" #~ "tteisendamisek kasutada ainult paaris. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "Kui ei tõlgita ega kustutata\n" #~ "kasutab -s HULK1; muidu kasutatakse tihendamiseks HULK2 ja tihendamine\n" #~ "toimub peale tõlkimist või kustutamist.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "hoiatus: segast kaheksand paojada \\%c%c%c interpreteeritakse\n" #~ "\t2-baidise järjendina \\0%c%c, %c" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "hoiatus: langkriips vormingu lõpus" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "vahemiku otsad `%s-%s' on tagurpidi järjestuses" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "vigane korduste arv %s [c*n] konstruktsioonis" #~ msgid "missing character class name `[::]'" #~ msgstr "puudub sümbolite klassi nimi `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "puudub ekvivalentsiklassi sümbol `[==]'" #~ msgid "invalid character class %s" #~ msgstr "vigane sümbolite klass %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: ekvivalentsiklassi operand peab olema yks sümbol" #~ msgid "too many characters in set" #~ msgstr "hulgas on liiga palju sümboleid" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "kordamise konstruktsiooni [c*] ei saa kasutada sõnes1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "sõnes2 saab kasutada ainult ühte kordamise konstruktsiooni [c*]" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "tõlkimisel ei saa sõnes2 [=c=] avaldisi kasutada" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "kui hulka1 ei lühendata, peab sõne2 olema mittetühi" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "kui tõlkida kasutades täiendatud sümbolklasse,\n" #~ "peab sõne2 seostama kõik doomeni sümbolid ühe sümboliga" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "tõlkimisel saab sõne2 sees kasutada sümbolklassidena ainult klasse\n" #~ "`upper' ja `lower'" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "[c*] konstruktsioon võib olla sõne2 sees ainult tõlkimisel" #~ msgid "Two strings must be given when translating." #~ msgstr "Tõlkimisel tuleb näidata kaks sõne." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Kui kordusi kustutatakse tühjendamiseta, peab olema antud ainult üks sõne." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "joondamata [:upper:] ja/või [:lower:] konstruktsioonid" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s NIMI [ignoreeritavad argumendid]\n" #~ " või: %s VÕTI\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Lõpeta koodiga, mis tähistab õnnestumist." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kasutamine: %s [VÕTI] [FAIL]\n" #~ "Väljasta FAIL totaalses järjestuses kooskõlas elementide osalise " #~ "järjestusega.\n" #~ "Kui FAIL puudub või on -, loe standardsisendit.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: sisend sisaldab juhusliku arvu märke" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: sisend sisaldab tsüklit:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Kasutamine: %s [VÕTI]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Väljasta standardsisendiga ühendatud terminali nimi.\n" #~ "\n" #~ " -s, --silent, --quiet ära väljasta midagi, tagasta ainult lõpetamise " #~ "olek\n" #~ msgid "not a tty" #~ msgstr "pole terminal" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Väljasta informatsiooni süsteemist. Kui võtmeid ei ole antud, kasutab -" #~ "s.\n" #~ "\n" #~ " -a, --all kogu info järgnevas järjestuses, välja " #~ "arvatud\n" #~ " -p ja -i, kui on tundmatud:\n" #~ " -s, --kernel-name väljasta tuuma nimi\n" #~ " -n, --nodename väljasta masina võrgunimi\n" #~ " -r, --release väljasta tuuma väljalase\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version väljasta tuuma versioon\n" #~ " -m, --machine väljasta masina (riistvara) tüüp\n" #~ " -p, --processor väljasta arvuti protsessori tüüp või \"unknown" #~ "\"\n" #~ " -i, --hardware-platform väljasta riistvara platvorm või \"unknown\"\n" #~ " -o, --operating-system väljasta operatsioonisüsteemi nimi\n" #~ msgid "cannot get system name" #~ msgstr "ei õnnestu leida süsteemi nime" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Teisenda igas FAILis tühikud tabulaatoriteks, väljasta " #~ "standardväljundisse.\n" #~ "Kui FAIL puudub, või on -, loe standardsisendit.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all teisenda kõik tühemikud, mitte ainult esimene\n" #~ " --first-only teisenda ainult eesmised tühemikud (blokeerib -a)\n" #~ " -t, --tabs=NUMBER tabulaatori laius 8 asemel NUMBER sümbolit (lubab -" #~ "a)\n" #~ " -t, --tabs=LOEND komadega eraldatud tabulaatori positsioonid (lubab -" #~ "a)\n" #~ msgid "tabs are too far apart" #~ msgstr "tabulaatorid on liiga kaugel" #~ msgid "tab stop value is too large" #~ msgstr "tabulaatori peatus on liiga suur" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Kasutamine: %s [VÕTI]... [SISEND [VÄLJUND]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Jäta SISENDIST (või standardsisendist) kordused väljastamata, väljasta\n" #~ "VÄLJUNDISSE (või standardväljundisse).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count lisa rea algusse esinemise number\n" #~ " -d, --repeated väljasta ainult dubleeritud read\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=eraldaja-meetod] väljasta kõik duplikaat read\n" #~ " eraldaja-meetod={none(vaikimisi),prepend," #~ "separate}\n" #~ " Eraldatatakse tühjade ridadega.\n" #~ " -f, --skip-fields=N ära võrdle esimest N välja\n" #~ " -i, --ignore-case võrdle tõstutundetult\n" #~ " -s, --skip-chars=N ära võrdle esimest N sümbolit\n" #~ " -u, --unique väljasta ainult dubleerimata read\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N ära võrdle real enam kui N sümbolit\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Väli on komplekt tühimikke, millele järgnevad mittetühimik sümbolid.\n" #~ "Väljad jäetakse vahele enne sümboleid.\n" #~ msgid "too many repeated lines" #~ msgstr "liiga palju korduvaid ridu" #~ msgid "invalid number of fields to skip" #~ msgstr "vigane vahelejäetavate väljade arv" #~ msgid "invalid number of bytes to skip" #~ msgstr "vigane vahelejäetavate baitide arv" #~ msgid "invalid number of bytes to compare" #~ msgstr "vigane võrreldavate baitide arv" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "kõikide duplikaat ridade ja korduste arvu ei saa korraga väljastada" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s FAIL\n" #~ " või: %s VÕTI\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Kasutan antud FAILI kustutamiseks unlink funktsiooni.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "%s ei saa kustutada" #~ msgid "couldn't get boot time" #~ msgstr "ei õnnestu lugeda alglaadimise aega" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s püsti " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? püsti " #~ msgid "???? days ??:??, " #~ msgstr "???? päeva ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld päev" #~ msgstr[1] "%ld päeva" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu kasutaja" #~ msgstr[1] "%lu kasutajat" #~ msgid ", load average: %.2f" #~ msgstr ", tööjärjekorra koormus: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Kasutamine: %s [VÕTI]... [ FAIL ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Väljasta praegune aeg, süsteemi töötamise aeg, kasutajate arv süsteemis,\n" #~ "ja tööjärjekorra koormus viimase 1, 5 ja 15 minuti vältel.\n" #~ "Kui FAILi ei ole määratud, kasuta %s. Tavaliselt kasutatakse %s.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Väljasta kasutajad, kes on parasjagu arvutisse meldinud.\n" #~ "Kui FAILi ei ole määratud, kasuta %s. Tavaliselt kasutatakse %s.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Väljasta iga FAILi baitide, sõnade ja ridade arv ning kui faile oli " #~ "antud\n" #~ "enam kui üks, siis ka kõikide summa. Kui fail puudub või on -, loe\n" #~ "standardsisendit.\n" #~ " -c, --bytes väljasta baitide arv\n" #~ " -m, --chars väljasta sümbolite arv\n" #~ " -l, --lines väljasta ridade arv\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=F loe sisend failidest, mille NUL-sümboliga " #~ "lõpetatud\n" #~ " nimed on failis F\n" #~ " -L, --max-line-length väljasta pikima rea pikkus\n" #~ " -w, --words väljasta sõnade arv\n" #~ msgid " old " #~ msgstr " vana " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "exit=" #~ msgid "clock change" #~ msgstr "kell muutus" #~ msgid "run-level" #~ msgstr "töö-olek" #~ msgid "last=" #~ msgstr "viimane=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "kasutajaid=%lu\n" #~ msgid "NAME" #~ msgstr "NIMI" #~ msgid "LINE" #~ msgstr "TERMINAL" #~ msgid "TIME" #~ msgstr "AEG" #~ msgid "IDLE" #~ msgstr "EEMAL" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "KOMMENTAAR" #~ msgid "EXIT" #~ msgstr "LÕPETAMINE" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Kasutamine: %s [VÕTI]... [ FAIL | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all sama, kui -b -d --login -p -r -t -T -u\n" #~ " -b, --boot viimase alglaadimise aeg\n" #~ " -d, --dead esita surnud protsessid\n" #~ " -H, --heading esita veergude päised\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login väljasta süsteemi meldimise protsessid\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup ürita lahendada masinate nimesid DNS abil\n" #~ " -m ainult standardsisendiga seotud masin ja kasutaja\n" #~ " -p, --process väljasta init poolt loodud aktiivsed protsessid\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count kõik kasutajanimed ja süsteemi meldinud kasutajate " #~ "arv\n" #~ " -r, --runlevel väljasta jooksev töö-tase\n" #~ " -s, --short väljasta ainult nimi, tyerminal ja aeg (vaikimisi)\n" #~ " -t, --time väljasta viimane süsteemi kella muutus\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg lisa kasutaja teadete olek kujul +, - või ?\n" #~ " -u, --users väljasta süsteemi meldinud kasutajad\n" #~ " --message sama, kui -T\n" #~ " --writable sama, kui -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Kui FAILi ei antud, kasuta %s. %s on sel puhul tavaline.\n" #~ "Kui antakse ARG1 ARG2, eeldatakse võtit -m: tavaline on `am i' või\n" #~ "`mom likes'.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Väljasta efektiivsele kasutajaidentifikaatorile vastav kasutajanimi.\n" #~ "Sama, kui id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: ei leia UID %lu vastavat kasutajanime\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Kasutamine: %s [SÕNE]...\n" #~ " või: %s VÕTI\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Väljasta korduvalt rida antud sõnedega või `y'.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Kasutamine: %s KASUTAJA KÄSKLUS [ARGUMENT]...\n" #~ " või: %s VÕTI\n" #~ msgid "block size" #~ msgstr "bloki suurus" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License .\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Käesolev programm on vaba tarkvara. Te võite seda edasi levitada ja/või " #~ "muuta\n" #~ "vastavalt GNU Üldise Avaliku Litsentsi \n" #~ "tingimustele.\n" #~ "Seadustega lubatud piirides GARANTII PUUDUB.\n" #~ msgid "invalid %s `%s'" #~ msgstr "vigane %s `%s'" #~ msgid "invalid character following %s in `%s'" #~ msgstr "%s järgi on vigane sümbol `%s' sees" #~ msgid "%s `%s' too large" #~ msgstr "%s `%s' on liiga suur" #~ msgid "unrecognized operand %s=%s" #~ msgstr "tundmatu operand %s=%s" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "võti --kilobytes on aegunud; kasutage selle asemel -k" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N võib omada kordavat sufiksit: b on 512, k on 1024, m on 1024*1024.\n" #~ msgid "cannot print only user and only group" #~ msgstr "ainult kasutajat ja ainult gruppi ei saa trükkida" #~ msgid "cannot get supplemental group list" #~ msgstr "ei õnnestu lugeda lisagruppide nimekirja" #~ msgid "strip failed" #~ msgstr "strip ebaõnnestus" #~ msgid "value %s is so large that it is not representable" #~ msgstr "väärtus %s on nii suur, et seda ei saa esitada" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " grupeeri kataloogid enne faile\n" #~ msgid "skip argument" #~ msgstr "vahelejätmise argument" #~ msgid "limit argument" #~ msgstr "piirangu argument" #~ msgid "minimum string length" #~ msgstr "minimaalne sõne pikkus" #~ msgid "width specification" #~ msgstr "laiuse määrang" #~ msgid "page range" #~ msgstr "lehekülgede vahemik" #~ msgid "the --copyright option is deprecated; use --version instead" #~ msgstr "võti --copyright on aegunud; kasutage selle asemel --version" #~ msgid "sort size" #~ msgstr "järjestamise suurus" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "SUURUS võib omada kordavat sufiksit: b on 512, k on 1K, m on 1 Meg.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Sea iga faili kasutamise ja muutmise aeg.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "Hoiatus: -i eemaldatakse tulevikus; kasutage selle asemel -u" dc3dd-7.1.614/po/fi.po0000644000175000017500000121033311233346647014027 0ustar amedicoamedico# Finnish messages for coreutils. # Copyright © 2002, 2003, 2004, 2006, 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Lauri Nurmi , 2003, 2004, 2006, 2008. # Matti Koskimies , 2002. # # SANOJA: # override -> kumoaminen on huono # ownership -> omistajuus vai omistaja? # print -> näytä? nyt yleensä "tulosta". # # päätös: # separator = erotin # delimiter = rajoitin # # user ID = ... # group ID = ... # ################################ # msgid "" msgstr "" "Project-Id-Version: coreutils 6.9.91\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-01-03 21:02+0200\n" "Last-Translator: Lauri Nurmi \n" "Language-Team: Finnish \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin ja David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "hakemiston %s luominen ei onnistu" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Lisätietoja komennolla ”%s --help”.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Käyttö: %s [OPERANDI]...\n" " tai: %s VALITSIN\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Kopioi tiedosto, muuntaen ja muotoillen operandien mukaisesti.\n" "\n" " bs=TAVUT pakota arvot ibs=TAVUT ja obs=TAVUT\n" " cbs=TAVUT muunna TAVUT-arvon verran tavuja kerralla\n" " conv=MUUNNOS muunna tiedosto pilkuilla erotetun muunnosluettelon " "mukaan\n" " count=LOHKOT kopioi vain LOHKOT-arvon verran lohkoja\n" " ibs=TAVUT lue TAVUT-arvon verran tavuja kerralla\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=TIEDOSTO lue TIEDOSTOsta vakiosyötteen sijaan\n" " obs=TAVUT kirjoita TAVUT-arvon verran tavuja kerralla\n" " of=TIEDOSTO kirjoita TIEDOSTOon vakiotulosteen sijaan\n" " seek=LOHKOT ohita tulosteen alussa LOHKOT verran obs-kokoisia lohkoja\n" " skip=LOHKOT ohita syötteen alusta LOHKOT verran ibs-kokoisia lohkoja\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "LOHKOT- ja TAVUT-arvoihin voidaan liittää perään seuraavat kertoimet:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000², M 1024²,\n" "GB 1000³, G 1024³, ja niin edelleen kertoimet T, P, E, Z, Y.\n" "\n" "Kukin MUUNNOS voi olla:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " notrunc älä typistä tulostiedostoa\n" " ucase muuta pienet kirjaimet isoiksi\n" " swab vaihda keskenään jokainen syötetavupari\n" " noerror jatka lukuvirheistä huolimatta\n" " sync tasaa jokainen syötelohko NUL-merkeillä ibs-kokoon; " "käytettäessä\n" " avainsanaa block tai unblock, tasataan välilyönneillä\n" #: src/dc3dd.c:1174 #, fuzzy msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " notrunc älä typistä tulostiedostoa\n" " ucase muuta pienet kirjaimet isoiksi\n" " swab vaihda keskenään jokainen syötetavupari\n" " noerror jatka lukuvirheistä huolimatta\n" " sync tasaa jokainen syötelohko NUL-merkeillä ibs-kokoon; " "käytettäessä\n" " avainsanaa block tai unblock, tasataan välilyönneillä\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "kohdehakemisto ei ole sallittu asennettaessa hakemistoa" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "%s-signaalin saadessaan ajossa oleva ”dd”-ohjelma tulostaa \n" "I/O-tilastot vakiovirhetulosteeseen ja jatkaa sitten kopiointia.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 tietuetta sisään\n" " 18335302+0 tietuetta ulos\n" " 9387674624 tavua (9,4 GB) kopioitu 34,6279 sekunnissa, 271 MB/s\n" "\n" "Valitsimet ovat:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Tuntematon järjestelmävirhe" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% tietuetta sisään\n" "%+% tietuetta ulos\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "1 tavu (1 B) kopioitu" msgstr[1] "% tavua (%s) kopioitu" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr " %g sekunnissa, %s/s\n" #: src/dc3dd.c:2057 #, fuzzy, c-format msgid ", %g s, %s/s\n" msgstr " %g sekunnissa, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "suljetaan syötetiedosto %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "suljetaan tulostiedosto %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Tulostiedostojen jälkiliitteet käytetty loppuun" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "tiedoston %s avaaminen" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "EI TÄSMÄÄ" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "tunnistamaton operandi %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "virheellinen päiväys %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "virheellinen päiväyksen muoto %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "virheellinen päiväyksen muoto %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "virheellinen päiväyksen muoto %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "virheellinen muunnos: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "virheellinen leveys: %s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "virheellinen ryhmänimi %s" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "virheellinen päiväyksen muoto %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "virheellinen määrä %s" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "signaalin yhdistäminen valitsimen -l tai -t kanssa ei onnistu" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "valitsimia -e ja -i ei voi käyttää yhdessä" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "valitsimia -e ja -i ei voi käyttää yhdessä" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "valitsimia -e ja -i ei voi käyttää yhdessä" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "valitsimia -e ja -i ei voi käyttää yhdessä" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "valitsimia -e ja -i ei voi käyttää yhdessä" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "varoitus: ohitetaan ytimen lseek-ohjelmistovika tiedostolle (%s)\n" " mt_type=0x%0lx -- katso tyyppien luettelo tiedostosta " #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "luettaessa tiedostoa %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: ei voi poistaa" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "varoitus: lähdetiedosto %s annettu useammin kuin kerran" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "asetettaessa tiedoston %s lippuja" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "luetaan hakemistoa %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "luetaan hakemistoa %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "kirjoitettaessa tiedostoon %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, fuzzy, c-format msgid "fsync failed for %s" msgstr "tiedoston %s avaaminen epäonnistui" #: src/dc3dd.c:3907 msgid "standard input" msgstr "vakiosyöte" #: src/dc3dd.c:3938 msgid "standard output" msgstr "vakiotuloste" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" # On sitten ihan turha tehdä suomennoksissa mitään eroa statin, fstatin, ym. # välille, käyttäjää ei kiinnosta. #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "tiedoston %s tilan lukeminen ei onnistu" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "edetään %s tavun yli tulostiedostossa %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii EBCDIC -> ASCII\n" #~ " ebcdic ASCII -> EBCDIC\n" #~ " ibm ASCII -> muutettu EBCDIC\n" #~ " block tasaa rivinvaihtoon päättyvät tietueet välilyönneillä cbs-" #~ "kokoon\n" #~ " unblock korvaa välilyönnit cbs-kokoisten tietueiden lopusta " #~ "rivinvaihdolla\n" #~ " lcase muuta isot kirjaimet pieniksi\n" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "typistetty tietue\n" #~ msgstr[1] "% typistettyä tietuetta\n" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "sekä käyttäjää että ryhmää ei voi jättää antamatta" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "tiedostonimiä %s ja %s ei voi vertailla" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "varoitus: lähdetiedosto %s annettu useammin kuin kerran" #~ msgid "error writing %s" #~ msgstr "virhe kirjoitettaessa tiedostoa %s" #~ msgid "invalid argument %s for %s" #~ msgstr "virheellinen argumentti %s %s:lle" # Vähän huono käyttää taivutuspäätettä, mutta jälkimmäinen %s voinee # viitata moneenkin asiaan. #~ msgid "ambiguous argument %s for %s" #~ msgstr "moniselitteinen argumentti %s %s:lle" #~ msgid "Valid arguments are:" #~ msgstr "Kelvolliset argumentit:" #~ msgid "error closing file" #~ msgstr "virhe tiedoston sulkemisessa" #~ msgid "write error" #~ msgstr "kirjoitusvirhe" #~ msgid "preserving permissions for %s" #~ msgstr "säilytettäessä tiedoston %s oikeuksia" #~ msgid "cannot stat %s" #~ msgstr "tiedoston %s tilaa ei voi lukea" #~ msgid "regular empty file" #~ msgstr "tavallinen tyhjä tiedosto" #~ msgid "regular file" #~ msgstr "tavallinen tiedosto" #~ msgid "directory" #~ msgstr "hakemisto" #~ msgid "block special file" #~ msgstr "lohkoerikoistiedosto" #~ msgid "character special file" #~ msgstr "merkkierikoistiedosto" #~ msgid "fifo" #~ msgstr "putkitiedosto" #~ msgid "symbolic link" #~ msgstr "symbolinen linkki" #~ msgid "socket" #~ msgstr "pistoke" #~ msgid "message queue" #~ msgstr "viestijono" #~ msgid "semaphore" #~ msgstr "semafori" #~ msgid "shared memory object" #~ msgstr "jaettu muistiobjekti" #~ msgid "typed memory object" #~ msgstr "tyypitetty muistiobjekti" #~ msgid "weird file" #~ msgstr "outo tiedosto" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "fifo-tiedostot eivät ole tuettuja" #~ msgid "Temporary failure in name resolution" #~ msgstr "Väliaikainen häiriö nimenselvityksessä" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Korjautumaton häiriö nimenselvityksessä" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "fifo-tiedostot eivät ole tuettuja" #~ msgid "Memory allocation failure" #~ msgstr "Muistinvarausvirhe" #~ msgid "Name or service not known" #~ msgstr "Nimi tai palvelu on tuntematon" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "fifo-tiedostot eivät ole tuettuja" #~ msgid "System error" #~ msgstr "Järjestelmävirhe" #~ msgid "Unknown error" #~ msgstr "Tuntematon virhe" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: valitsin ”%s” ei ole yksiselitteinen\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: valitsin ”--%s” ei salli argumenttia\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: valitsin ”%c%s” ei salli argumenttia\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: valitsin ”%s” vaatii argumentin\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: tunnistamaton valitsin ”--%s”\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: tunnistamaton valitsin ”%c%s”\n" # Pitäisikö --:n olla oikea Unicode-ajatusviiva (m-viiva)? # Tai suomeen paremmin sopiva n-viiva. #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: virheellinen valitsin -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: epäkelpo valitsin -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: valitsin vaatii argumentin -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: valitsin ”-W %s” ei ole yksiselitteinen\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: valitsin ”-W %s” ei salli argumenttia\n" #~ msgid "cannot change permissions of %s" #~ msgstr "kohteen %s oikeuksien muuttaminen ei onnistu" #~ msgid "cannot create directory %s" #~ msgstr "hakemiston %s luominen ei onnistu" #~ msgid "memory exhausted" #~ msgstr "muisti loppu" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "alkuperäiseen työhakemistoon palaaminen epäonnistui" #~ msgid "failed to return to initial working directory" #~ msgstr "alkuperäiseen työhakemistoon palaaminen epäonnistui" #~ msgid "`" #~ msgstr "”" #~ msgid "'" #~ msgstr "”" #~ msgid "%s: end of file" #~ msgstr "%s: tiedoston loppu" #~ msgid "Invalid regular expression" #~ msgstr "Virheellinen säännöllinen lauseke" #, fuzzy #~ msgid "Invalid collation character" #~ msgstr "virheellinen merkkiluokka %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "virheellinen merkkiluokka %s" #, fuzzy #~ msgid "Invalid back reference" #~ msgstr "Virheellinen sivuväli %s" #, fuzzy #~ msgid "Invalid range end" #~ msgstr "Virheellinen sivuväli %s" #~ msgid "Memory exhausted" #~ msgstr "Muisti loppu" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: virheellinen säännöllinen lauseke: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "virhe säännöllisen lausekkeen haussa" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "virhe säännöllisen lausekkeen haussa" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "virhe säännöllisen lausekkeen haussa" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "on vaarallista toimia rekursiivisesti hakemistossa %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "" #~ "on vaarallista toimia rekursiivisesti hakemistossa %s (sama kuin %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "" #~ "käytä valitsinta --no-preserve-root tämän varmistuksen ohittamiseksi" # Kaikkihan muistavat kääntää nämä ja vastaavat juuri näin. Ei pelkkä kK. #~ msgid "^[yY]" #~ msgstr "^[kKyY]" #~ msgid "^[nN]" #~ msgstr "^[eEnN]" #~ msgid "setting permissions for %s" #~ msgstr "asetettaessa tiedoston %s oikeuksia" #~ msgid "iconv function not usable" #~ msgstr "iconv-funktio ei ole käyttökelpoinen" #~ msgid "iconv function not available" #~ msgstr "iconv-funktio ei ole saatavilla" #~ msgid "character out of range" #~ msgstr "merkki sallitun välin ulkopuolella" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "merkin U+%04X muunnos paikalliseen merkistöön ei onnistu" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "merkin U+%04X muunnos paikalliseen merkistöön ei onnistu: %s" #~ msgid "invalid user" #~ msgstr "virheellinen käyttäjä" #~ msgid "invalid group" #~ msgstr "virheellinen ryhmä" #, fuzzy #~ msgid "invalid spec" #~ msgstr "virheellinen käyttäjä" #~ msgid "(C)" #~ msgstr "©" #~ msgid "Written by %s.\n" #~ msgstr "Kirjoittanut %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Kirjoittaneet %s ja %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Kirjoittaneet %s, %s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Kirjoittaneet %s, %s,\n" #~ "%s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Kirjoittaneet %s, %s,\n" #~ "%s, %s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Kirjoittaneet %s, %s,\n" #~ "%s, %s, %s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Kirjoittaneet %s, %s,\n" #~ "%s, %s, %s,\n" #~ "%s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Kirjoittaneet %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Kirjoittaneet %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s ja %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Kirjoittaneet %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, %s ja muut.\n" #~ msgid "invalid argument: %s" #~ msgstr "virheellinen argumentti: %s" #~ msgid "string comparison failed" #~ msgstr "merkkijonovertailu epäonnistui" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Aseta LC_ALL='C' ongelman kiertämiseksi." #~ msgid "The strings compared were %s and %s." #~ msgstr "Vertaillut merkkijonot olivat %s ja %s." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "merkkijonovertailu epäonnistui" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "argumentti ”%s” ei kelpaa" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "argumentti ”%s” ei kelpaa" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: lukumäärä ”%.*s” on liian suuri" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN] [TIEDOSTO]\n" #~ "Base64-koodaa tai pura TIEDOSTO tai vakiosyöte vakiotulosteeseen.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Näytä tämä ohje ja poistu.\n" #~ " --version Näytä versiotiedot ja poistu.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Jos TIEDOSTOa ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ msgid "read error" #~ msgstr "lukuvirhe" #, fuzzy #~ msgid "invalid input" #~ msgstr "virheellinen leveys: %s" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "virheellinen sarkainkoko: %s" #~ msgid "extra operand %s" #~ msgstr "ylimääräinen operandi %s" #~ msgid "closing standard input" #~ msgstr "suljetaan vakiosyöte" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s NIMI [PÄÄTE]\n" #~ " tai: %s VALITSIN\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Tulostetaan NIMI ilman edeltävää hakemistorakennetta.\n" #~ "Poistetaan myös lopusta mahdollinen PÄÄTE.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Esimerkkejä:\n" #~ " %s /usr/bin/sort Tuloste: ”sort”.\n" #~ " %s include/stdio.h .h Tuloste: ”stdio”.\n" #~ msgid "missing operand" #~ msgstr "operandi puuttuu" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjörn Granlund ja Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Käyttö: %s [VALITSIN] [TIEDOSTO]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Ketjuta TIEDOSTO(t) tai vakiosyöte vakiotulosteeseen.\n" #~ "\n" #~ " -A, --show-all sama kuin -vET\n" #~ " -b, --number-nonblank numeroi ei-tyhjät tulosterivit\n" #~ " -e sama kuin -vE\n" #~ " -E, --show-ends näytä ”$”-merkki jokaisen rivin lopussa\n" #~ " -n, --number numeroi kaikki tulosterivit\n" #~ " -s, --squeeze-blank älä tulosta useita peräkkäisiä tyhjiä rivejä\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t sama kuin -vT\n" #~ " -T, --show-tabs näytä sarkaimet merkinnällä ^I\n" #~ " -u (ei huomioida)\n" #~ " -v, --show-nonprinting käytä merkintöjä ^ ja M- muille kuin " #~ "rivinvaihdolle\n" #~ " ja sarkaimelle\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Esimerkkejä:\n" #~ " %s f - g Tulosta f:n sisältö, sitten vakiosyöte, sitten g:n sisältö.\n" #~ " %s Kopioi vakiosyötteestä vakiotulosteeseen.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "tiedostolle %s ei voi käyttää ioctl:ää" #~ msgid "%s: input file is output file" #~ msgstr "%s: syötetiedosto on tulostiedosto" #, fuzzy #~ msgid "Jim Meyering" #~ msgstr "Jim Meyering ja Paul Eggert" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "tiedoston %s omistajuuden muuttaminen epäonnistui\n" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "tiedoston %s ominaisuuksien hakeminen ei onnistu" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "tiedoston %s omistajan vaihtaminen arvoon %s epäonnistui\n" #~ msgid "cannot access %s" #~ msgstr "tiedostoa %s ei voi käsitellä" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "hakemistoa %s ei voi lukea" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "muutettaessa tiedoston %s oikeuksia" #~ msgid "fts_read failed" #~ msgstr "fts_read epäonnistui" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... OMISTAJA[:[RYHMÄ]] TIEDOSTO...\n" #~ " tai: %s [VALITSIN]... :RYHMÄ TIEDOSTO...\n" #~ " tai: %s [VALITSIN]... --reference=RTIED TIEDOSTO...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Muuta kunkin TIEDOSTOn ryhmäksi RYHMÄ.\n" #~ "Jos valitsin --reference on annettu, vaihda kunkin TIEDOSTOn omistajaksi\n" #~ "ja ryhmäksi samat kuin VTIEDostolla.\n" #~ "\n" #~ " -c, --changes kuten monisanaisuus, mutta ilmoitetaan vain " #~ "tehdyt\n" #~ " muutokset\n" #~ " --dereference muuta symbolisen linkin kohdetta, ei linkkiä\n" #~ " itseään (tämä on oletus)\n" # Onko rekursiivisuudelle suomenkielisempää sanaa? #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet vaienna useimmat virheilmoitukset\n" #~ " --reference=VTIED käytä VTIEDoston ryhmää annetun RYHMÄ-arvon " #~ "sijaan\n" #~ " -R, --recursive käsittele tiedostot ja hakemistot " #~ "rekursiivisesti\n" #~ " -v, --verbose näytä ilmoitus jokaisesta käsitellystä " #~ "tiedostosta\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Seuraavat valitsimet määräävät, miten hakemistorakennetta käydään läpi, " #~ "jos\n" #~ "valitsin -R on annettu. Jos useampi kuin yksi seuraavista on annettu, " #~ "vain\n" #~ "viimeinen on voimassa.\n" #~ "\n" #~ " -H jos komentoriviargumentti on symbolinen linkki\n" #~ " hakemistoon, seuraa sitä\n" #~ " -L seuraa jokaista hakemistoon osoittavaa " #~ "symbolista\n" #~ " linkkiä\n" #~ " -P älä seuraa symbolisia linkkejä (oletus)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference vaatii joko -H:n tai -L:n" #~ msgid "-R -h requires -P" #~ msgstr "-R -h vaatii -P:n" #~ msgid "missing operand after %s" #~ msgstr "%s:n jälkeen puuttuu operandi" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "virheelliset oikeudet: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "tiedoston %s ominaisuuksien hakeminen ei onnistu" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "virheellinen ryhmä %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... RYHMÄ TIEDOSTO...\n" #~ " tai: %s [VALITSIN]... --reference=VTIED TIEDOSTO...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Muuta kunkin TIEDOSTOn ryhmäksi RYHMÄ.\n" #~ "Jos valitsin --reference on annettu, vaihda kunkin TIEDOSTOn omistajaksi\n" #~ "ja ryhmäksi samat kuin VTIEDostolla.\n" #~ "\n" #~ " -c, --changes kuten monisanaisuus, mutta ilmoitetaan vain " #~ "tehdyt\n" #~ " muutokset\n" #~ " --dereference muuta symbolisen linkin kohdetta, ei linkkiä\n" #~ " itseään (tämä on oletus)\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference muuta kutakin symbolista linkkiä, ei minkään " #~ "linkin\n" #~ " kohdetta (käytettävissä vain järjestelmissä, " #~ "joissa\n" #~ " symlinkin omistajuutta voi muuttaa)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root älä kohtele juurta (”/”) erityisesti (oletus)\n" #~ " --preserve-root estä rekursiivinen toiminta juuressa (”/”)\n" # Onko rekursiivisuudelle suomenkielisempää sanaa? #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet vaienna useimmat virheilmoitukset\n" #~ " --reference=VTIED käytä VTIEDoston ryhmää annetun RYHMÄ-arvon " #~ "sijaan\n" #~ " -R, --recursive käsittele tiedostot ja hakemistot " #~ "rekursiivisesti\n" #~ " -v, --verbose näytä ilmoitus jokaisesta käsitellystä " #~ "tiedostosta\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Esimerkkejä:\n" #~ " %s hlokunta /u Vaihda /u:n ryhmäksi ”hlokunta”.\n" #~ " %s -hR hlokunta /u Vaihda /u:n ja alitiedostojen ryhmäksi ”hlokunta”.\n" #~ msgid "getting new attributes of %s" #~ msgstr "haettaessa tiedoston %s uusia ominaisuuksia" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "symbolista linkkiä %s tai sen viittaamaa tiedostoa ei muutettu\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "tiedoston %s oikeuksiksi asetettu %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "tiedoston %s oikeuksien muuttaminen arvoon %04lo (%s) epäonnistui\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "tiedoston %s oikeuksina säilytettiin %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "symbolisen linkin %s luominen ei onnistu" #~ msgid "changing permissions of %s" #~ msgstr "muutettaessa tiedoston %s oikeuksia" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: uudet oikeudet ovat %s, ei %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... OIKEUDET[,OIKEUDET]... TIEDOSTO...\n" #~ " tai: %s [VALITSIN]... OKTAALI-OIKEUDET TIEDOSTO...\n" #~ " tai: %s [VALITSIN]... --reference=VTIED TIEDOSTO...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Vaihda kunkin TIEDOSTOn oikeuksiksi OIKEUDET.\n" #~ "\n" #~ " -c, --changes kuten monisanaisuus, mutta ilmoita vain tehdyt\n" #~ " muutokset\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root älä kohtele juurta (”/”) erityisesti (oletus)\n" #~ " --preserve-root estä rekursiivinen toiminta juuressa (”/”)\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet vaienna useimmat virheilmoitukset\n" #~ " -v, --verbose näytä ilmoitus jokaisesta käsitellystä " #~ "tiedostosta\n" #~ " --reference=VTIED käytä VTIEDoston ryhmää annetun RYHMÄ-arvon " #~ "sijaan\n" #~ " -R, --recursive toimi rekursiivisesti\n" #~ msgid "invalid mode: %s" #~ msgstr "virheelliset oikeudet: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "tiedoston %s omistajaksi vaihdettiin %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "tiedoston %s ryhmäksi vaihdettiin %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "tiedoston %s omistajuus ei muuttunut\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "tiedoston %s omistajan vaihtaminen arvoon %s epäonnistui\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "tiedoston %s omistajuuden muuttaminen epäonnistui\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "tiedoston %s omistajana säilytettiin %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "tiedoston %s ryhmänä säilytettiin %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "tiedoston %s omistajuus säilytettiin ennallaan\n" #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "tiedostoa %s ei voi poistaa" # %s voi olla myös hakemisto, mutta suurta väärinkäsityksen mahdollisuutta # ei ole vaikka hakemistostakin annetaan sama virhe. #~ msgid "changing ownership of %s" #~ msgstr "vaihdettaessa tiedoston %s omistajuutta" #~ msgid "changing group of %s" #~ msgstr "vaihdettaessa tiedoston %s ryhmää" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... [OMISTAJA][:[RYHMÄ]] TIEDOSTO...\n" #~ " tai: %s [VALITSIN]... --reference=VTIED TIEDOSTO...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Vaihda kunkin TIEDOSTOn omistajaksi ja/tai ryhmäksi OMISTAJA ja/tai " #~ "RYHMÄ.\n" #~ "Jos valitsin --reference on annettu, vaihda kunkin TIEDOSTOn omistajaksi\n" #~ "ja ryhmäksi samat kuin VTIEDostolla.\n" #~ "\n" #~ " -c, --changes kuin monisanaisuus, mutta ilmoita vain tehdyt\n" #~ " muutokset\n" #~ " --dereference muuta symbolisen linkin kohdetta, ei linkkiä\n" #~ " itseään (tämä on oletustoimintatapa)\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=NYKYINEN_OMISTAJA:NYKYINEN_RYHMÄ\n" #~ " vaihda kunkin tiedoston omistajaa ja/tai ryhmää " #~ "vain\n" #~ " jos sen nykyinen omistaja ja/tai ryhmä täsmää\n" #~ " tässä annettuihin. Jompikumpi voidaan jättää\n" #~ " pois, jolloin pois jätetyn ominaisuuden ei " #~ "tarvitse\n" #~ " täsmätä.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet vaienna useimmat virheilmoitukset\n" #~ " --reference=VTIED käytä VTIEDoston omistajaa ja ryhmää\n" #~ " OMISTAJA:RYHMÄ-arvojen antamisen sijaan\n" #~ " -R, --recursive käsittele tiedostot ja hakemistot " #~ "rekursiivisesti\n" #~ " -v, --verbose näytä ilmoitus jokaisesta käsitellystä " #~ "tiedostosta\n" #~ "\n" # Maksakaa huomiota tähän, voi olla vähän epäselkeä. #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Jos omistaja puuttuu, sitä ei muuteta. Jos ryhmä puuttuu, sitä muutetaan\n" #~ "(kirjautumisryhmäksi) vain, jos erotin ”:” on annettu. OMISTAJA ja RYHMÄ\n" #~ "voivat olla joko numeerisia tai symbolisia.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s UUSIJUURI [KOMENTO...]\n" #~ " tai: %s VALITSIN\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Aja KOMENTO siten, että UUSIJUURI on asetettuna juurihakemistoksi.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Jos komentoa ei anneta, ajetaan ”${SHELL} -i” (oletus: /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "hakemiston %s asettaminen juurihakemistoksi ei onnistu" #~ msgid "cannot chdir to root directory" #~ msgstr "juurihakemistoon siirtyminen ei onnistu" #~ msgid "cannot run command %s" #~ msgstr "komentoa %s ei voi ajaa" #~ msgid "%s: file too long" #~ msgstr "%s: liian pitkä tiedosto" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Käyttö: %s [TIEDOSTO]...\n" #~ " tai: %s [VALITSIN]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Tulosta jokaisen TIEDOSTOn CRC-tarkistussumma ja tavumäärä.\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman ja David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Käyttö: %s [VALITSIN]... TIEDOSTO1 TIEDOSTO2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "" #~ "Vertaa lajiteltuja tiedostoja TIEDOSTO1 ja TIEDOSTO2 rivi riviltä.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Ilman valitsimia tuotetaan kolmen sarakkeen tuloste. Sarake yksi " #~ "sisältää\n" #~ "ainoastaan TIEDOSTO1:ssä esiintyvät rivit, sarake kaksi ainoastaan\n" #~ "TIEDOSTO2:ssa esiintyvät rivit, ja sarake kolme molemmissa esiintyvät " #~ "rivit.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 älä tulosta ainoastaan TIEDOSTO1:ssä esiintyviä rivejä\n" #~ " -2 älä tulosta ainoastaan TIEDOSTO2:ssä esiintyviä rivejä\n" #~ " -3 älä tulosta rivejä, jotka esiintyvät molemmissa " #~ "tiedostoissa\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "asetettaessa tiedoston %s oikeuksia" #~ msgid "failed to preserve ownership for %s" #~ msgstr "tiedoston %s omistajuuden säilytys ei onnistu" #~ msgid "failed to lookup file %s" #~ msgstr "tiedostoa %s ei löytynyt" #~ msgid "failed to preserve authorship for %s" #~ msgstr "tiedoston %s tekijän tietojen säilytys ei onnistunut" #~ msgid "cannot open %s for reading" #~ msgstr "tiedostoa %s ei voi avata lukemista varten" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "ohitetaan tiedosto %s, sillä se korvattiin kopioinnin aikana" #, fuzzy #~ msgid "failed to get file system create context" #~ msgstr "" #~ "vakiovirhetulosteen kopion asettaminen sulkeutumaan käynnistettäessä " #~ "epäonnistui" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #~ msgid "cannot remove %s" #~ msgstr "tiedostoa %s ei voi poistaa" #~ msgid "removed %s\n" #~ msgstr "poistettiin tiedosto %s\n" #~ msgid "cannot create regular file %s" #~ msgstr "tavallisen tiedoston %s luominen ei onnistu" # Onko seek nyt sitten siirtymistä, selaamista, vaiko muuta. # Saa ehdottaa myös vastavaa substantiivia. #~ msgid "cannot lseek %s" #~ msgstr "siirtyminen tiedostossa %s ei onnistu" #~ msgid "writing %s" #~ msgstr "kirjoitettaessa tiedostoa %s" #~ msgid "preserving times for %s" #~ msgstr "säilytettäessä tiedoston %s aikoja" #~ msgid "closing %s" #~ msgstr "suljettaessa tiedostoa %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: korvataanko tiedosto %s, ohittaen oikeudet %04lo (%s)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: korvataanko tiedosto %s? " #~ msgid " (backup: %s)" #~ msgstr " (varmuuskopio: %s)" #~ msgid "omitting directory %s" #~ msgstr "ohitetaan hakemisto %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "varoitus: lähdetiedosto %s annettu useammin kuin kerran" #~ msgid "%s and %s are the same file" #~ msgstr "%s ja %s ovat sama tiedosto" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "ei-hakemistoa %s ei voi korvata hakemistolla %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "ei korvata juuri luotua tiedostoa %s tiedostolla %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "hakemistoa %s ei voi korvata ei-hakemistolla" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "hakemistoa ei voi siirtää ei-hakemistoon: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "" #~ "tiedoston %s varmuuskopiointi tuhoaisi lähteen; tiedostoa %s ei siirretty" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "" #~ "tiedoston %s varmuuskopiointi tuhoaisi lähteen; tiedostoa %s ei kopioitu" #~ msgid "cannot backup %s" #~ msgstr "tiedostoa %s ei voi varmuuskopioida" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "ei korvata juuri luotua tiedostoa %s tiedostolla %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "hakemistoa, %s, ei voi kopioida itseensä, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "ei luoda kovaa linkkiä %s hakemistoon %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "kovan linkin %s luominen tiedostoon %s ei onnistu" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "hakemistoa %s ei voi siirtää omaan alihakemistoonsa, %s" #~ msgid "cannot move %s to %s" #~ msgstr "tiedostoa %s ei voi siirtää kohteeseen %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "laitteiden välinen siirto epäonnistui: %s -> %s; kohdetta ei voi poistaa" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "tiedoston %s ominaisuuksien hakeminen ei onnistu" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "kiertävää symbolista linkkiä %s ei voi kopioida" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: suhteellisia symbolisia linkkejä voi tehdä vain nykyisessä " #~ "hakemistossa" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "kohteeseen %2$s ei voi luoda symbolista linkkiä %1$s" #~ msgid "cannot create link %s" #~ msgstr "linkkiä %s ei voi luoda" #~ msgid "cannot create fifo %s" #~ msgstr "nimettyä putkea %s ei voi luoda" #~ msgid "cannot create special file %s" #~ msgstr "erikoistiedostoa %s ei voi luoda" #~ msgid "cannot read symbolic link %s" #~ msgstr "symbolista linkkiä %s ei voi lukea" #~ msgid "cannot create symbolic link %s" #~ msgstr "symbolisen linkin %s luominen ei onnistu" #~ msgid "%s has unknown file type" #~ msgstr "tiedostolla %s on tuntematon tiedostotyyppi" #~ msgid "cannot un-backup %s" #~ msgstr "tiedoston %s varmuuskopion palautus ei onnistu" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (varmuuskopion palautus)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... [-T] LÄHDE KOHDE\n" #~ " tai: %s [VALITSIN]... LÄHDE... HAKEMISTO\n" #~ " tai: %s [VALITSIN]... -t HAKEMISTO LÄHDE...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Kopioi LÄHDE KOHTEeseen, tai useita LÄHTEitä HAKEMISTOon.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive sama kuin -dpR\n" #~ " --backup[=MENETELMÄ] varmuuskopioi jokainen olemassaoleva\n" #~ " kohdetiedosto\n" #~ " --copy-contents kopioi erikoistiedostojen sisältö " #~ "rekursiota\n" #~ " käytettäessä\n" #~ " -d sama kuin --no-dereference --" #~ "preserve=linkki\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force jos olemassaolevaa kohdetiedostoa ei voi\n" #~ " avata, poista se ja yritä uudelleen\n" #~ " -i, --interactive kysy ennen korvaamista\n" #~ " -H seuraa komentorivillä annettuja " #~ "symbolisia\n" #~ " linkkejä\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link linkitä tiedostot kopioinnin sijaan\n" #~ " -L, --dereference seuraa aina symbolisia linkkejä\n" #, fuzzy #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference älä koskaan seuraa symbolisia linkkejä\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p sama kuin --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=OMIN.LUETT] säilytä annetut ominaisuudet (oletus:\n" #~ " mode,ownership,timestamps), jos " #~ "mahdollista,\n" #~ " lisäominaisuudet: links, all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=OMIN.LUETT älä säilytä annettuja ominaisuuksia\n" #~ " --parents lisää lähdepolku HAKEMISTOon\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive kopioi hakemistot rekursiivisesti\n" #~ " --remove-destination poista kukin olemassaoleva kohdetiedosto\n" #~ " ennen avausyritystä (vertaa\n" #~ " valitsimeen --force)\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --reply={yes,no,query} määrittele miten kysely olemassaolevasta\n" #~ " kohdetiedostosta käsitellään\n" #~ " --sparse=MILLOIN ohjaa hajanaisten tiedostojen luontia\n" #~ " --strip-trailing-slashes poista /-merkit kunkin LÄHDE-argumentin\n" #~ " perästä\n" # parempi suomennos overridelle kuin "kumoa"? #, fuzzy #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link tee symbolisia linkkejä kopioinnin sijaan\n" #~ " -S, --suffix=JÄLKILIITE syrjäytä tavanomainen varmuuskopion " #~ "jälkiliite\n" #~ " --target-directory=HAK siirrä kaikki LÄHDE-argumentit " #~ "HAKemistoon\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update kopioi vain jos LÄHDEtiedosto on uudempi " #~ "kuin\n" #~ " kohde, tai jos kohdetiedosto puuttuu\n" #~ " -v, --verbose selitä mitä tapahtuu\n" #~ " -x, --one-file-system pysy tässä tiedostojärjestelmässä\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Hajanaiset LÄHDEtiedostot tunnistetaan oletuksena karkealla " #~ "heuristiikalla,\n" #~ "ja vastaavasta KOHDEtiedostosta tehdään myös hajanainen. Tämän " #~ "käyttäytymisen\n" #~ "valitsee --sparse=auto. Antamalla valitsin --sparse=always luodaan " #~ "hajanainen\n" #~ "KOHDEtiedosto aina, kun LÄHDE sisältää riittävän pitkän sarjan 0-tavuja.\n" #~ "Valitsin --sparse=never estää hajanaisten tiedostojen luomisen.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Varmuuskopion jälkiliite on ”~”, ellei muuta ole asetettu valitsimella\n" #~ "--suffix tai ympäristömuuttujalla SIMPLE_BACKUP_SUFFIX.\n" #~ "Versionhallintamenetelmän voi valita käyttäen valitsinta --backup tai\n" #~ "ympäristömuuttujaa VERSION_CONTROL. Arvot ovat seuraavat:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off älä varmuuskopioi koskaan (vaikka --backup olisi " #~ "annettu)\n" #~ " numbered, t tee numeroituja varmuuskopioita\n" #~ " existing, nil numeroituja jos sellaisia on jo olemassa, muuten " #~ "yksinkertaisia\n" #~ " simple, never tee aina yksinkertaisia varmuuskopiota\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Erikoistapaus: cp tekee varmuuskopion LÄHTEestä, jos force- ja backup-\n" #~ "valitsimet on annettu, ja LÄHDE ja KOHDE ovat sama nimi olemassaolevalle\n" #~ "tavalliselle tiedostolle.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "tiedoston %s aikojen säilyttäminen ei onnistu" #~ msgid "failed to preserve permissions for %s" #~ msgstr "tiedoston %s oikeuksien säilyttäminen ei onnistu" #~ msgid "cannot make directory %s" #~ msgstr "hakemiston %s luominen ei onnistu" #~ msgid "%s exists but is not a directory" #~ msgstr "%s on olemassa, mutta ei ole hakemisto" #~ msgid "accessing %s" #~ msgstr "käytetään tiedostoa %s" #~ msgid "missing file operand" #~ msgstr "puuttuva tiedosto-operandi" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "puuttuva kohdetiedosto" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Valitsimia --target-directory (-t) ja --no-target-directory (-T) ei voi " #~ "yhdistää" #~ msgid "target %s is not a directory" #~ msgstr "kohde %s ei ole hakemisto" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "polkuja säilytettäessä kohteen on oltava hakemisto" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "" #~ "valitsin --reply ei ole suositeltava; käytä valitsinta -i tai -f sen " #~ "sijaan" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "useita tulostiedostoja annettu" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "linkit eivät voi olla sekä kovia että symbolisia" #~ msgid "backup type" #~ msgstr "varmuuskopiotyyppi" #~ msgid "input disappeared" #~ msgstr "syöte katosi" #~ msgid "%s: line number out of range" #~ msgstr "%s: rivinumero sallitun välin ulkopuolella" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: rivinumero sallitun välin ulkopuolella" #~ msgid " on repetition %s\n" #~ msgstr " kierroksella %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: täsmäävyyttä ei löydy" #~ msgid "error in regular expression search" #~ msgstr "virhe säännöllisen lausekkeen haussa" #~ msgid "write error for %s" #~ msgstr "virhe kirjoitettaessa tiedostoa %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: rajoittimen jälkeen odotetaan kokonaislukua" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: toistomäärässä tarvitaan merkki ”}”" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: merkkien ”{” ja ”}” väliin tarvitaan kokonaisluku" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: sulkeva rajoitin ”%c” puuttuu" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: virheellinen säännöllinen lauseke: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: virheellinen hahmo" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: rivinumeron on oltava suurempi kuin nolla" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "rivinumero %s on pienempi kuin edeltävä rivinumero %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "varoitus: rivinumero %s on sama kuin edeltävä rivinumero" #~ msgid "invalid format width" #~ msgstr "virheellinen muodon leveys" #~ msgid "invalid format precision" #~ msgstr "virheellinen muodon tarkkuus" #~ msgid "missing conversion specifier in suffix" #~ msgstr "puuttuva muunnostarkennin jälkiliitteessä" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "virheellinen muunnostarkennin jälkiliitteessä: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "virheellinen muunnostarkennin jälkiliitteessä: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "liian monta %%-muunnosmääritystä jälkiliitteessä" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "puuttuva %%-muunnosmääritys jälkiliitteessä" #~ msgid "%s: invalid number" #~ msgstr "%s: virheellinen luku" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Käyttö: %s [VALITSIN]... TIEDOSTO HAHMO...\n" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Tulosta TIEDOSTOn osia HAHMO(i)lla erotettuina tiedostoihin ”xx01”,\n" #~ "”xx02”, ..., ja tulosta kunkin osan tavumäärä vakiotulosteeseen.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=MUOTO käytä sprintf-MUOTOa %02d:n sijaan\n" #~ " -f, --prefix=ETULIITE käytä ETULIITEttä ”xx”:n sijaan\n" #~ " -k, --keep-files älä poista tulostiedostoja virhetilanteessa\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=MÄÄRÄ käytä annettua numeromäärää 2:n sijaan\n" #~ " -s, --quiet, --silent älä tulosta tulostiedostojen kokoja\n" #~ " -z, --elide-empty-files poista tyhjät tulostiedostot\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Lue vakiosyötettä jos TIEDOSTO on -. Kukin HAHMO voi olla:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " KOKONAISLUKU kopioi annettuun riviin asti (mutta ei kyseistä " #~ "riviä)\n" #~ " /SÄÄNNLAUS/[SIIRT] kopioi täsmäävään riviin asti (mutta ei kyseistä " #~ "riviä)\n" #~ " %SÄÄNNLAUS%[SIIRT] siirry täsmäävälle riville\n" #~ " {KOKONAISLUKU} toista edellistä hahmoa annettu määrä kertoja\n" #~ " {*} toista edellistä hahmoa mahdollisimman monta kertaa\n" #~ "\n" #~ "RiviSIIRTymä on positiivinen kokonaisluku, jonka edessä on joko ”+” tai " #~ "”-”.\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Käyttö: %s [VALITSIN]... [TIEDOSTO]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Tulosta kunkin TIEDOSTOn valitut osat vakiotulosteeseen.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LUETTELO tulosta vain nämä tavut\n" #~ " -c, --characters=LUETTELO tulosta vain nämä merkit\n" #~ " -d, --delimiter=RAJOIT käytä RAJOITinta kenttien rajana sarkaimen " #~ "sijaan\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LUETTELO tulosta vain nämä kentät; tulosta myös " #~ "rajoitinta\n" #~ " sisältämättömät rivit ellei valitsinta -s " #~ "ole\n" #~ " annettu\n" #~ " -n (ei huomioida)\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited älä tulosta rajoitinta sisältämättömiä rivejä\n" #~ " --output-delimiter=MERKKIJ käytä MERKKIJonoa tulosteen " #~ "rajoittimena\n" #~ " oletus on käyttää syötteen rajoitinta\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Käytä tasan yhtä valitsimista -b, -c ja -f. Kukin LUETTELO koostuu\n" #~ "yhdestä välistä tai useasta pilkuin erotetusta välistä. Valittu syöte\n" #~ "kirjoitetaan lukujärjestyksessa, täsmälleen kerran.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Väli on yksi seuraavista:\n" #~ "\n" #~ " N N:s tavu, merkki tai kenttä, numerointi alkaa 1:stä\n" #~ " N- N:nnestä tavusta, merkistä tai kentästä rivin loppuun\n" #~ " N-M N:nnestä tavusta, merkistä tai kentästä M:nteen (M ja N mukaan " #~ "lukien)\n" #~ " -M ensimmäisestä tavusta, merkistä tai kentästä M:nteen (M mukaan " #~ "lukien)\n" #~ "\n" #~ "Jos TIEDOSTOa ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ msgid "invalid byte or field list" #~ msgstr "virheellinen tavu- tai kenttälista" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "virheellinen leveysvalitsin: %s" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "virheellinen leveys: %s" #~ msgid "byte offset %s is too large" #~ msgstr "tavusiirtymä %s on liian suuri" #~ msgid "field number %s is too large" #~ msgstr "kenttänumero %s on liian suuri" #~ msgid "only one type of list may be specified" #~ msgstr "voidaan antaa vain yhden tyyppinen luettelo" #~ msgid "the delimiter must be a single character" #~ msgstr "rajoittimen on oltava yksittäinen merkki" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "on annettava luettelo tavuista, merkeistä tai kentistä" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "syöterajoitin voidaan antaa vain käsiteltäessä kenttiä" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "ei-rajoitettujen rivien vaiennus on mahdollista\n" #~ "\tvain käsiteltäessä kenttiä" #~ msgid "missing list of fields" #~ msgstr "kenttälista puuttuu" #~ msgid "missing list of positions" #~ msgstr "sijaintilista puuttuu" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... [+MUOTOILU]\n" #~ " tai: %s [-u|--utc|--universal] [KKPPttmm[[CC]VV][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Näytä tämänhetkinen aika annetulla MUOTOILUlla, tai aseta järjestelmän " #~ "aika.\n" #~ "\n" #~ " -d, --date=MJONO näytä MJONOn määräämä aika ”now”:n sijaan\n" #~ " -f, --file=PVMTIED kuten --date, kerran kullekin PVMTIEDoston " #~ "riville\n" #, fuzzy #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " -r, --reference=TIEDOSTO näytä TIEDOSTOn viimeisin muokkausaika\n" #~ " -R, --rfc-822 näytä RFC-822-yhteensopiva päiväysmerkkijono\n" #~ " -s, --set=MERKKIJONO aseta MERKKIJONOn määräämä aika\n" #~ " -u, --utc, --universal näytä tai aseta UTC-aika\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "MUOTOILU säätelee tulostetta. Jälkimmäisen muodon ainoa sallittu " #~ "valitsin\n" #~ "määrittelee UTC-ajan. Tulkittavat ohjausmerkkijonot ovat:\n" #~ "\n" #~ " %% %-merkki\n" #~ " %a maa-asetuksen lyhyt viikonpäivän nimi (ma-su)\n" # Olisiko tähän hyvä liittää huomautus, että %b ei sovi suomen kieleen? #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A maa-asetuksen pitkä viikonpäivän nimi (esim. sunnuntai)\n" #~ " %b maa-asetuksen lyhennetty kuukauden nimi (esim. tammi )\n" #~ " %B maa-asetuksen pitkä kuukauden nimi (esim. tammikuu)\n" #~ " %c maa-asetuksen päivämäärä ja aika (esim. la 3. maaliskuuta 2005 " #~ "23:05:25)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C vuosisata; kuten %Y, mutta poistettu kaksi viimeistä numeroa " #~ "(esim. 21)\n" #~ " %d kuukauden päivä (esim. 01)\n" #~ " %D päivämäärä; sama kuin %m/%d/%y\n" #~ " %e kuukauden päivä, välilyöntitäyttö; sama kuin %_d\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h sama kuin %b\n" #~ " %H tunti (00-23)\n" #~ " %I tunti (01-12)\n" #~ " %j vuoden päivä (001-366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k tunti ( 0-23)\n" #~ " %l tunti ( 1-12)\n" #~ " %m kuukausi (01-12)\n" #~ " %M minuutti (00-59)\n" #, fuzzy #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n rivinvaihto\n" #~ " %N nanosekunnit (000000000-999999999)\n" #~ " %p maa-asetuksen AM/PM merkintä isoilla kirjaimilla (usein tyhjä)\n" #~ " %P maa-asetuksen AM/PM merkintä pikkukirjaimilla (usein tyhjä)\n" #~ " %r aika, 12-tuntinen (tt:mm:ss [AP]M)\n" #~ " %R aika, 24-tuntinen (tt:mm)\n" #~ " %s sekuntimäärä ajanhetkestä ”00:00:00 1970-01-01 UTC” (GNU-" #~ "laajennos)\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S sekunti (00–60)\n" #~ " %t vaakasarkain\n" #~ " %T aika; sama kuin %H:%M:%S\n" #~ " %u viikonpäivä (1–7); 1 on maanantai\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U viikon numero, sunnuntai viikon ensimmäinen päivä (00–53)\n" #~ " %V viikon numero (ISO), maanantai viikon ensimmäinen päivä (01–53)\n" #~ " %w viikonpäivä (0–6); 0 on sunnuntai\n" #~ " %W viikon numero, maanantai viikon ensimmäinen päivä (00–53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x maa-asetuksen päivämääräesitys (esim. 31.12.1999)\n" #~ " %X maa-asetuksen aikaesitys (esim. 23:13:48)\n" #~ " %y vuosiluvun kaksi viimeistä numeroa (00­–99)\n" #~ " %Y vuosiluku (1970–)\n" #~ msgid "multiple output formats specified" #~ msgstr "useita tulostusmuotoja annettu" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "" #~ "päiväyksen tulostusta määräävät valitsimet ovat toisensa poissulkevia" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "ajan tulostus- ja asetusvalitsimia ei saa käyttää yhtä aikaa" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "argumentilta ”%s” puuttuu edeltävä ”+”;\n" #~ "Käytettäessä valitsinta päiväyksen määräämiseen täytyy valitsinten,\n" #~ "jotka eivät ole argumentteja, olla ”+”-alkuisia muotoilumerkkijonoja." #~ msgid "cannot set date" #~ msgstr "ajan asetus ei onnistu" #~ msgid "time %s is out of range" #~ msgstr "aika %s on sallitun välin ulkopuolella" #~ msgid "Filesystem Type" #~ msgstr "Tied.järj. Tyyppi " #~ msgid "Filesystem " #~ msgstr "Tiedostojärjestelmä" #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " I-solmut IKäyt IJälj IKäy%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Koko Käyt Vapaa Käy%%" # "Käy%" on epäselvä, mutta tilaa ei ole sarakkeessa yhtään enempää. #~ msgid " Size Used Avail Use%%" #~ msgstr " Koko Käyt Vapaa Käy%%" # Vaikka "Käytetty" vaikuttaa väärältä suomennokselta Capacitylle, # juuri samaa se nähtävästi tarkoittaa. Vertaa "df":n ja "df -P":n tulostetta. #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-lohkot Käytetty Vapaana Käytetty" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr "%4s-lohkot Käytetty Vapaana Käy%%" #~ msgid " Mounted on\n" #~ msgstr " Liitospiste\n" #~ msgid "cannot get current directory" #~ msgstr "työhakemiston selvittäminen ei onnistu" #~ msgid "cannot change to directory %s" #~ msgstr "hakemistoon %s ei voi siirtyä" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "nykyisen hakemiston (%s) tilaa ei voi lukea" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Käyttö: %s [VALITSIN]... [TIEDOSTO]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Näytä tietoja tiedostojärjestelmästä, jolla kukin TIEDOSTO sijaitsee,\n" #~ "tai oletuksena kaikista tiedostojärjestelmistä.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all sisällytä myös 0 lohkon kokoiset " #~ "tiedostojärjestelmät\n" #~ " -B, --block-size=KOKO käytä KOKO-tavuisia lohkoja\n" #~ " -h, --human-readable näytä koot helppolukuisessa muodossa (esim. 1K " #~ "234M 2G)\n" #~ " -H, --si sama kuin edellä, mutta monikerta on 1000, ei " #~ "1024\n" #, fuzzy #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes näytä i-solmutiedot lohkotietojen sijaan\n" #~ " -k kuten --block-size=1K\n" #~ " -l, --local rajoita listaus paikallisiin " #~ "tiedostojärjestelmiin\n" #~ " --no-sync älä käynnistä synciä ennen käyttöohjeen saamista " #~ "(oletus)\n" # mitä tämä "usage info" oikein tarkoittaa tässä yhteydessä? # muutenkin tässä on vähän säätämistä. #, fuzzy #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability käytä POSIX-tulostemuotoa\n" #~ " --sync käynnistä sync ennen käyttöohjeen saamista\n" #~ " -t, --type=TYYPPI rajoita tiedostojärjestelmien listaus " #~ "tietynTYYPPIsiin\n" #~ " -T, --print-type tulosta tiedostojärjestelmän tyyppi\n" #~ " -x, --exclude-type=TYYPPI rajoita tiedostojärjestelmien listaus " #~ "muunTYYPPIsiin\n" #~ " -v (ei huomioida)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "KOKO voi olla (tai voi olla kokonaisluku, jota seuraa) yksi seuraavista:\n" #~ "kB 1000, K 1024, MB 1000², M 1024², sekä samoin G, T, P, E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "tiedostojärjestelmätyyppi %s on sekä valittu että jätetty pois" #~ msgid "Warning: " #~ msgstr "Varoitus: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "liitettyjen tiedostojärjestelmien taulua ei voi lukea" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Käyttö: %s [VALITSIN]... [TIEDOSTO]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Tulosta komennot LS_COLORS-ympäristömuuttujan asettamiseksi.\n" #~ "\n" #~ "Tulosteen muodon valinta:\n" #~ " -b, --sh, --bourne-shell tulosta Bourne shell -tyyppistä koodia\n" #~ " -c, --csh, --c-shell tulosta C shell -tyyppistä koodia\n" #~ " -p, --print-database tulosta oletukset\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Jos TIEDOSTO on annettu, sitä lukemalla selvitetään, mitä värejä " #~ "käytetään\n" #~ "millekin tiedostotyypille ja -tunnisteelle. Muussa tapauksessa käytetään\n" #~ "esikäsiteltyä tietokantaa. Näiden tiedostojen muodosta saa tietoa\n" #~ "suorittamalla komennon ”dircolors --print-database”.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: virheellinen rivi; toinen symboli puuttuu" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: tunnistamaton avainsana %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "valitsimet dircolors:in sisäiseen tietokannan tulostamiseksi\n" #~ "ja kuorisyntaksin valitsemiseksi ovat toisensa poissulkevat" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "SHELL-ympäristömuuttujaa ei ole, eikä annettu kuoren tyyppivalitsinta" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s NIMI\n" #~ " tai: %s VALITSIN\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Tulosta NIMI loppuosa karsittuna viimeisestä /-merkistä alkaen; jos NIMI\n" #~ "ei sisällä /-merkkejä, tulostetaan ”.” (tarkoittaen nykyistä " #~ "hakemistoa).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Esimerkkejä:\n" #~ " %s /usr/bin/sort Tuloste: ”/usr/bin”.\n" #~ " %s stdio.h Tuloste: ”.”.\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... [TIEDOSTO]...\n" #~ " tai: %s [VALITSIN]... --files0-from=T\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Tee yhteenveto kunkin TIEDOSTOn levytilan käytöstä, hakemistoille\n" #~ "rekursiivisesti.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all näytä määrät kaikille tiedostoille, ei vain\n" #~ " hakemistoille\n" #~ " --apparent-size näytä nimelliset koot levytilan käytön sijaan; " #~ "vaikka\n" #~ " nimelliskoko on yleensä pienempi, se voi olla " #~ "myös\n" #~ " suurempi johtuen (”hajanaisten”) tiedostojen\n" #~ " rei'istä, sisäisestä pirstoutumisesta, " #~ "epäsuorista\n" #~ " lohkoista, ym.\n" #~ " -B, --block-size=KOKO käytä KOKO-tavuisia lohkoja\n" #~ " -b, --bytes sama kuin ”--apparent-size --block-size=1”\n" #~ " -c, --total näytä myös kokonaismäärä\n" #~ " -D, --dereference-args jos TIEDOSTO(t) ovat symbolisia linkkejä, " #~ "laske\n" #~ " mukaan linkkien kohteiden koot\n" #, fuzzy #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -H kuten --si, mutta antaa myös varoituksen; " #~ "toiminta\n" #~ " muuttuu pian samaksi kuin --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable näytä koot helppolukuisessa muodossa (esim. 1K " #~ "234M 2G)\n" #~ " -H, --si sama, mutta monikerta on 1000, ei 1024 (ei " #~ "suositeltava)\n" #~ " -k sama kuin --block-size=1K\n" #~ " -l, --count-links laske kovien linkkien koot monta kertaa\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference seuraa kaikkia symbolisia linkkejä\n" #~ " -P, --no-dereference älä seuraa mitään symbolisia linkkejä (tämä on " #~ "oletus)\n" #~ " -0, --null päätä jokainen tulosterivi 0-tavuun, ei " #~ "rivinvaihtoon\n" #~ " -S, --separate-dirs älä laske mukaan alihakemistojen kokoa\n" #~ " -s, --summarize näytä vain kokonaismäärä jokaiselle argumentille\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system ohita muilla tiedostojärjestelmillä sijaitsevat\n" #~ " hakemistot\n" #~ " -X TIED, --exclude-from=TIED Jätä laskematta tiedostot, jotka " #~ "täsmäävät\n" #~ " vähintään yhteen TIEDostossa olevaan hahmoon.\n" #~ " --exclude=HAHMO jätä laskematta tiedostot, jotka täsmäävät " #~ "HAHMOon.\n" #~ " --max-depth=N näytä kokonaismäärä hakemistolle (tai valitsimen " #~ "--all\n" #~ " kanssa tiedostolle) vain, jos se on korkeintaan " #~ "N\n" #~ " tasoa argumenttina annetun alla; --max-depth=0 " #~ "on\n" #~ " sama kuin --summarize\n" #, fuzzy #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " -S lajittele tiedoston koon mukaan\n" #~ " --sort=SANA extension -X, none -U, size -S, time -t,\n" #~ " version -v, status -c, time -t, atime -u,\n" #~ " access -u, use -u\n" #~ " --time=SANA kun -l annettu, näytä muutosajan sijaan " #~ "SANAn\n" #~ " mukainen aika: atime, access, use, ctime " #~ "tai\n" #~ " status; annettua aikaa käytetään " #~ "lajitteluun,\n" #~ " jos --sort=time\n" #~ msgid "total" #~ msgstr "yhteensä" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "VAROITUS: käytä valitsinta --si, ei -H; valitsimen -H merkitys muuttuu\n" #~ "pian samaksi kuin --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "virheellinen enimmäissyvyys %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "" #~ "valitsin --megabytes ei ole suositeltava; käytä valitsinta -m sen sijaan" #~ msgid "cannot both summarize and show all entries" #~ msgstr "yhteenvetoa ja kaikkia merkintöjä ei voi näyttää samaan aikaan" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "varoitus: yhteenvedon teko on sama asia kuin --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "" #~ "varoitus: yhteenvedon teko on ristiriidassa valitsimen --max-depth=%lu " #~ "kanssa" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "tiedostonimiä %s ja %s ei voi vertailla" #~ msgid "invalid zero-length file name" #~ msgstr "virheellinen tyhjä tiedostonimi" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Käyttö: %s [VALITSIN]... [MERKKIJONO]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Kaiuta MERKKIJONO(t) vakiotulosteeseen.\n" #~ "\n" #~ " -n älä lisää rivinvaihtoa loppuun\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Seuraavat ohjausmerkit tunnistetaan, jos valitsin -e on annettu:\n" #~ "\n" #~ " \\0NNN merkki, jonka ASCII-koodi on NNN (oktaaliluku)\n" #~ " \\\\ kenoviiva\n" #~ " \\a hälytysmerkki (BEL)\n" #~ " \\b askelpalautin\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c ei rivinvaihtoa loppuun\n" #~ " \\f sivunvaihto\n" #~ " \\n rivinvaihto\n" #~ " \\r vaununpalautus\n" #~ " \\t vaakasarkain\n" #~ " \\v pystysarkain\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Mlynarik ja David MacKenzie" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... [-] [NIMI=ARVO]... [KOMENTO [ARGUMENTTI]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Aseta kullekin ympäristömuuttujalle NIMI vastaava ARVO ja aja KOMENTO.\n" #~ "\n" #~ " -i, --ignore-environment aloita tyhjällä ympäristöllä\n" #~ " -u, --unset=NIMI poista muuttuja ympäristöstä\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Pelkkä ”-” tekee saman kuin -i. Ilman KOMENTOa tulostetaan seurauksena\n" #~ "saatava ympäristö.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Muunna kunkin TIEDOSTOn sisältämät sarkaimet välilyönneiksi, kirjoittaen\n" #~ "vakiotulosteeseen. Jos TIEDOSTOa ei ole annettu, tai se on ”-”, luetaan\n" #~ "vakiosyötettä.\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial älä muunna ei-tyhjeen jälkeisiä sarkaimia\n" #~ " -t, --tabs=KOKO aseta sarkaimen kooksi KOKO, ei 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LUETTELO käytä pilkuilla erotettua luetteloa sarkainten " #~ "kohdista\n" #~ msgid "tab stop is too large %s" #~ msgstr "sarkainasetin %s on liian suuri" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "sarkainkoko sisältää virheellisen merkin(/merkkejä): %s" #~ msgid "tab size cannot be 0" #~ msgstr "sarkaimen koko ei voi olla 0" #~ msgid "tab sizes must be ascending" #~ msgstr "sarkainkokojen on oltava nousevia" #~ msgid "input line is too long" #~ msgstr "syöterivi on liian pitkä" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Mike Haertel ja Paul Eggert" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s LAUSEKE\n" #~ " tai: %s VALITSIN\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Tulosta LAUSEKKEen arvo vakiotulosteeseen. Tyhjä rivi alla erottaa\n" #~ "kasvavat laskujärjestysryhmät. LAUSEKE voi olla:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 jos se ei ole tyhjä eikä 0, muutoin ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 jos kumpikaan ei ole tyhjä eikä 0, muutoin 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 on pienempi kuin ARG2\n" #~ " ARG1 <= ARG2 ARG1 on pienempi tai yhtäsuuri kuin ARG2\n" #~ " ARG1 = ARG2 ARG1 on yhtäsuuri kuin ARG2\n" #~ " ARG1 != ARG2 ARG1 on erisuuri kuin ARG2\n" #~ " ARG1 >= ARG2 ARG1 on suurempi tai yhtäsuuri kuin ARG2\n" #~ " ARG1 > ARG2 ARG1 on suurempi kuin ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 ARG1:n ja ARG2:n aritmeettinen summa\n" #~ " ARG1 - ARG2 ARG1:n ja ARG2:n aritmeettinen erotus\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 aritmeettinen tulo ARG1 kerrottuna ARG2:lla\n" #~ " ARG1 / ARG2 aritmeettinen osamäärä ARG1 jaettuna ARG2:lla\n" #~ " ARG1 % ARG2 aritmeettinen jakojäännös ARG1 jaettuna ARG2:lla\n" # köh, säle? #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " MERKKIJONO : SÄÄNNLAUS ankkuroitu SÄÄNNLAUSeen mallihaku " #~ "MERKKIJONOsta\n" #~ "\n" #~ " match MERKKIJONO SÄÄNNLAUS sama kuin MERKKIJONO : SÄÄNNLAUS\n" #~ " substr MERKKIJONO SIJA PITUUS MERKKIJONOn osajono, SIJA 1:stä alkaen\n" #~ " index MERKKIJONO MERKIT MERKKIJONOn kohta missä jokin MERKEISTÄ " #~ "on tai 0\n" #~ " length MERKKIJONO MERKKIJONOn pituus\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + JONO tulkitse JONO kuten merkkijono, vaikka se " #~ "olisi\n" #~ " avainsana kuten ”match” tai operaattori " #~ "kuten ”/”\n" #~ "\n" #~ " ( LAUSEKE ) LAUSEKKEen arvo\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Huomaa, että monet operaattorit täytyy suojata kuorilta.\n" #~ "Vertailut ovat numeerisille argumenteille aritmeettisia, muille \n" #~ "sanakirjamaisia.\n" #~ "Mallihaut palauttavat merkkien \\( ja \\) väliin täsmäävän merkkijonon " #~ "tai\n" #~ "tyhjän. Merkkien \\( ja \\) puuttuessa palautuu täsmäävien merkkien määrä " #~ "tai 0.\n" #~ msgid "syntax error" #~ msgstr "syntaksivirhe" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "virhe säännöllisen lausekkeen haussa" #~ msgid "non-numeric argument" #~ msgstr "ei-numeerinen argumentti" #~ msgid "division by zero" #~ msgstr "nollalla jako" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s [LUKU]...\n" #~ " tai: %s VALITSIN\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Näytä kunkin LUVUN alkutekijät.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Näytä kokonaisLUKUjen alkutekijät. Jos argumentteja ei ole annettu,\n" #~ "luvut luetaan vakiosyötteestä.\n" #~ msgid "%s is too large" #~ msgstr "%s on liian suuri" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s ei ole kelvollinen positiivinen kokonaisluku" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Käyttö: %s [-NUMEROT] [VALITSIN]... [TIEDOSTO]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Muotoile kukin TIEDOSTO(je)n sisältämä kappale, kirjoittaen " #~ "vakiotulosteeseen.\n" #~ "Jos TIEDOSTOa ei anneta tai se on ”-”, luetaan vakiosyötettä.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin säilytä kahden ensimmäisen rivin sisennys\n" #~ " -p, --prefix=MJONO yhdistä vain rivit, jotka alkavat MJONOlla\n" #~ " -s, --split-only rivitä pitkät rivit, mutta älä täytä rivejä\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph ensimmäisen rivin sisennyksen ero toiseen\n" #~ " -u, --uniform-spacing yksi väli sanojen, kaksi lauseiden jälkeen\n" #~ " (suomen kielessä käytetään YHTÄ väliä " #~ "lauseiden\n" #~ " jälkeen)\n" #~ " -w, --width=LEVEYS enimmäisrivileveys (oletus on 75 saraketta)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "virheellinen valitsin -- %c; -LEVEYS tunnistetaan vain, kun se on " #~ "ensimmäinen\n" #~ "valitsin; käytä -w N sen sijaan" #~ msgid "invalid width: %s" #~ msgstr "virheellinen leveys: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Rivitä kustakin TIEDOSTOsta (oletuksena vakiosyöte) luetut syöterivit\n" #~ "kirjoittaen vakiotulosteeseen.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes laske tavuja, ei sarakkeita\n" #~ " -s, --spaces katkaise välien kohdalta\n" #~ " -w, --width=LEVEYS käytä sarakeleveytenä LEVEYttä oletusarvon 80 " #~ "sijaan\n" #~ msgid "invalid number of columns: %s" #~ msgstr "virheellinen sarakemäärä: %s" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "tiedoston %s ryhmän vaihtaminen arvoon %s epäonnistui\n" #~ msgid "cannot find name for group ID %lu" #~ msgstr "ryhmä-ID:tä %lu vastaavaa nimeä ei löydy" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Käyttö: %s [VALITSIN]... [KÄYTTÄJÄTUNNUS]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Käyttäjää ei ole" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Tulosta kunkin TIEDOSTOn 10 ensimmäistä riviä vakiotulosteeseen.\n" #~ "Jos TIEDOSTOja on useampi kuin yksi, jokaista ennen näytetään " #~ "tiedostonimi.\n" #~ "Jos TIEDOSTOa ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N tulosta ensimmäiset N tavua jokaisesta " #~ "tiedostosta;\n" #~ " jos edeltävä merkki ”-” on annettu, tulosta\n" #~ " koko tiedosto lukuun ottamatta N:ää " #~ "viimeistä tavua\n" #~ " -n, --lines=[-]N tulosta ensimmäiset N riviä ensimmäisen 10 " #~ "sijaan;\n" #~ " jos edeltävä merkki ”-” on annettu, tulosta\n" #~ " koko tiedosto lukuun ottamatta N:ää " #~ "viimeistä riviä\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent älä koskaan tulosta tiedostonimen sisältäviä " #~ "otsakkeita\n" #~ " -v, --verbose tulosta aina tiedostonimen sisältävät " #~ "otsakkeet\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "LOHKOT- ja TAVUT-arvoihin voidaan liittää perään seuraavat kertoimet:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000², M 1024²,\n" #~ "GB 1000³, G 1024³, ja niin edelleen kertoimet T, P, E, Z, Y.\n" #~ "\n" #~ "Kukin MUUNNOS voi olla:\n" #~ "\n" #~ msgid "error reading %s" #~ msgstr "virhe luettaessa tiedostoa %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: tiedosto on kutistunut liikaa" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: tavumäärä on liian suuri" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: siirtyminen takaisin alkuperäiseen siirtymään ei onnistu" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: siirtyminen kohtaan %s ei onnistu" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "tiedosto-osoitinta ei voi siirtää tiedostossa %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s on liian suuri esitettäväksi" #~ msgid "number of lines" #~ msgstr "rivimäärä" #~ msgid "number of bytes" #~ msgstr "tavumäärä" #~ msgid "invalid number of lines" #~ msgstr "virheellinen rivimäärä" #~ msgid "invalid number of bytes" #~ msgstr "virheellinen tavumäärä" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "virheellinen valitsin -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %s\n" #~ " tai: %s VALITSIN\n" #~ "Tulostetaan koneen numeerinen tunniste (heksadesimaalisena).\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %s [NIMI]\n" #~ " tai: %s VALITSIN\n" #~ "Tulosta tai aseta järjestelmän konenimi.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "konenimen %s asettaminen järjestelmälle ei onnistu" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "konenimen asetus ei onnistu; tässä järjestelmässä ei ole tätä toimintoa" #~ msgid "cannot determine hostname" #~ msgstr "järjestelmän konenimen määritys ei onnistu" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Tulosta KÄYTTÄJÄTUNNUksen tai nykyisen käyttäjän tiedot.\n" #~ "\n" #~ " -a ei huomioida, mukana yhteensopivuussyistä\n" #~ " -g, --group tulosta vain vallitseva ryhmä-ID\n" #~ " -G, --groups tulosta kaikkien ryhmien ID:t\n" #~ " -n, --name tulosta nimi numeron sijaan -ugG -valitsimilla\n" #~ " -r, --real tulosta todellinen ID vallitsevan sijaan -ugG -" #~ "valitsimilla\n" #~ " -u, --user tulosta vain vallitseva käyttäjä-ID\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Ilman VALITSIMIA tulostetaan jokin sovelias kokoelma tunnistettua " #~ "tietoa.\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "voidaan jakaa vain yhdellä tavalla" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "pelkkien nimien tai todellisten ID:iden tulostus oletusmuodossa ei onnistu" #~ msgid "cannot find name for user ID %lu" #~ msgstr "käyttäjä-ID:tä %lu vastaavaa nimeä ei löydy" #~ msgid " groups=" #~ msgstr " ryhmät=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "varoitus: ei voida siirtyä hakemistoon %s" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "strip-valitsinta ei voi käyttää asennettaessa hakemistoa" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "kohdehakemisto ei ole sallittu asennettaessa hakemistoa" #~ msgid "invalid mode %s" #~ msgstr "virheelliset oikeudet %s" #~ msgid "cannot change ownership of %s" #~ msgstr "tiedoston %s omistajuuden muuttaminen ei onnistu" #~ msgid "cannot set time stamps for %s" #~ msgstr "tiedoston %s aikaleimojen asettaminen ei onnistu" #~ msgid "fork system call failed" #~ msgstr "järjestelmäkutsu fork epäonnistui" #~ msgid "cannot run strip" #~ msgstr "ohjelmaa strip ei voi ajaa" #~ msgid "waiting for strip" #~ msgstr "odotettaessa strip-ohjelman päättymistä" #~ msgid "invalid user %s" #~ msgstr "virheellinen käyttäjä %s" #~ msgid "invalid group %s" #~ msgstr "virheellinen ryhmä %s" #~ msgid "creating directory %s" #~ msgstr "luodaan hakemisto %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... [-T] LÄHDE KOHDE\n" #~ " tai: %s [VALITSIN]... LÄHDE... HAKEMISTO\n" #~ " tai: %s [VALITSIN]... -t HAKEMISTO LÄHDE...\n" #~ " tai: %s [VALITSIN]... -d HAKEMISTO...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Kolme ensimmäistä muotoa: kopioi LÄHDE KOHTEeseen, tai useita LÄHTEitä\n" #~ "olemassaolevaan HAKEMISTOon, asettaen samalla oikeudet ja omistaja/" #~ "ryhmä.\n" #~ "Neljäs muoto: luo annettujen HAKEMISTOjen kaikki (puuttuvat) " #~ "ylähakemistot.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=MENETELMÄ] varmuuskopioi jokainen olemassaoleva\n" #~ " kohdetiedosto\n" #~ " -b kuten --backup, mutta ei hyväksy argumenttia\n" #~ " -c (ei huomioida)\n" #~ " -d, --directory kohtele kaikkia argumentteja hakemistoniminä; luo\n" #~ " kaikki annetut hakemistot alihakemistoineen\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D luo kaikki KOHTEen (puuttuvat) ylähakemistot " #~ "viimeistä\n" #~ " lukuun ottamatta, kopioi sitten LÄHDE KOHTEeseen\n" #~ " -g, --group=RYHMÄ aseta ryhmä -- muuten käytetään prosessin\n" #~ " nykyistä ryhmää\n" #~ " -m, --mode=OIKEUDET aseta oikeudet (kuten chmodissa) -- muuten rwxr-xr-" #~ "x\n" #~ " -o, --owner=OMISTAJA aseta omistajuus (vain pääkäyttäjä)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps käytä LÄHDEtiedostojen käyttö/muutosaikoja\n" #~ " vastaaviin kohdetiedostoihin\n" #~ " -s, --strip riisu symbolitaulut, vain 1. ja 2. muodolle\n" #~ " -S, --suffix=JÄLKILIITE kumoa tavanomainen varmuuskopion jälkiliite\n" #~ " -v, --verbose tulosta kunkin hakemiston nimi luotaessa\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Varmuuskopion jälkiliite on ”~”, ellei sitä ole asetettu valitsimella\n" #~ "--suffix tai muuttujalla SIMPLE_BACKUP_SUFFIX. Versionhallintamenetelmän\n" #~ "voi valita --backup-valitsimella tai muuttujalla VERSION_CONTROL. Arvot\n" #~ "ovat seuraavat:\n" #~ "\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Mike Haertel ja Paul Eggert" # *** *** *** *** #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Jos syöteriviparin liitossarakkeet ovat identtisiä, tulosta rivi\n" #~ "vakiotulosteeseen. Oletusliitossarake on ensimmäinen sarake, erotettuna\n" #~ "tyhjeellä.\n" #~ "Kun joko TIEDOSTO1 tai TIEDOSTO2 on -, luetaan vakiosyötettä.\n" #~ "\n" #~ " -a TIEDNUM tulosta TIEDNUMerosta tulevat paritta jäävät rivit, " #~ "missä\n" #~ " TIEDNUM on 1 tai 2 (TIEDOSTO1 tai TIEDOSTO2)\n" #~ " -e TYHJÄ korvaa puuttuvat syötekentät TYHJÄllä\n" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case älä huomioi kirjainkokoa sarakkeita verrattaessa\n" #~ " -j SARAKE sama kuin ”-1 SARAKE -2 SARAKE”\n" #~ " -o MUOTO noudata MUOTOa tulosteriviä muodostettaessa\n" #~ " -t MERKKI käytä MERKKIä syöte- ja tulostesarakkeiden " #~ "erottimena\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v TIEDNUM kuten -a TIEDNUM, mutta jätä yhdistetyt rivit " #~ "tulostamatta\n" #~ " -1 SARAKE yhdistä tämä tiedoston 1 SARAKE\n" #~ " -2 SARAKE yhdistä tämä tiedoston 2 SARAKE\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Ellei ole annettu -t MERKKI, alussa olevat tyhjeet erottavat sarakkeita, " #~ "ja\n" #~ "ne jätetään huomiotta. Muutoin sarakkeita erottaa MERKKI. Jokainen " #~ "SARAKE\n" #~ "on 1:stä lähtien laskettu sarakenumero. MUODOssa on yksi tai useampi " #~ "pilkuilla\n" #~ "tai tyhjeillä erotettu määritys, joista jokainen on ”TIEDNUM.SARAKE” tai " #~ "”0”.\n" #~ "OletusMUOTO tulostaa liitossarakkeen, jäljellä olevat sarakkeet TIEDOSTO1:" #~ "stä\n" #~ "ja jäljellä olevat sarakkeet TIEDOSTO2:sta, kaikki MERKIllä erotettuina.\n" #~ "\n" #~ "Tärkeää: TIEDOSTO1:n ja TIEDOSTO2:n on oltava lajiteltu liitossarakkeen\n" #~ "mukaan.\n" #~ msgid "invalid field number: %s" #~ msgstr "virheellinen sarakenumero: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "virheellinen saraketarkennin: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "virheellinen tiedostonumero sarakemäärityksessä: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "epäyhteensopivat liitossarakkeet %lu, %lu" # Tarkoitetaanko tässä sarkainta? #~ msgid "empty tab" #~ msgstr "tyhjä sarkain" #~ msgid "multi-character tab %s" #~ msgstr "monimerkkinen sarkain %s" #~ msgid "incompatible tabs" #~ msgstr "epäyhteensopivat sarkaimet" #~ msgid "both files cannot be standard input" #~ msgstr "vakiosyötettä ei voi käyttää molempina tiedostoina" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Käyttö: %s [-s SIGNAALI | -SIGNAALI] PID...\n" #~ " tai: %s -l [SIGNAALI]...\n" #~ " tai: %s -t [SIGNAALI]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Välitä signaaleja prosesseille tai luettele signaalit.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SIGNAALI, -SIGNAALI\n" #~ " anna välitettävän signaalin nimi tai numero\n" #~ " -l, --list luettele signaalien nimet tai muunna niitä numeroiksi/" #~ "niistä numeroita\n" #~ " -t, --table tulosta tietoja signaaleista taulukkomuodossa\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SIGNAALI voi olla signaalin nimi kuten ”HUP”, tai signaalin numero " #~ "kuten”1”,\n" #~ "tai signaalilla keskeytetyn prosessin poistumistila. PID on " #~ "kokonaisluku;\n" #~ "negatiivisena se yksilöi prosessiryhmän.\n" #~ "\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: virheellinen signaali" #~ msgid "%s: invalid process id" #~ msgstr "%s: virheellinen prosessi-ID" #~ msgid "invalid option -- %c" #~ msgstr "virheellinen valitsin -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: useita signaaleja annettu" #~ msgid "multiple -l or -t options specified" #~ msgstr "useita -l tai -t -valitsimia annettu" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "signaalin yhdistäminen valitsimen -l tai -t kanssa ei onnistu" #~ msgid "no process ID specified" #~ msgstr "prosessi-ID:tä ei ole annettu" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s TIED1 TIED2\n" #~ " tai: %s VALITSIN\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Kutsu linkitysfunktiota linkin TIED2 luomiseksi olemassaolevaan TIED1:" #~ "een.\n" #~ msgid "cannot create link %s to %s" #~ msgstr "linkkiä %s kohteeseen %s ei voi luoda" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: varoitus: kovan linkin tekeminen symboliseen linkkiin ei ole " #~ "siirrettävää" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: kova linkki ei ole sallittu hakemistolle" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: hakemistoa ei voi korvata" #~ msgid "%s: replace %s? " #~ msgstr "%s: korvataanko tiedosto %s? " #~ msgid "creating symbolic link %s" #~ msgstr "luotaessa symbolista linkkiä %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "luotaessa symbolista linkkiä %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "luotaessa kovaa linkkiä kohteeseen %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "luotaessa kovaa linkkiä %s" #~ msgid "creating hard link %s => %s" #~ msgstr "luotaessa kovaa linkkiä %s => %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... LÄHDE KOHDE (1. muoto)\n" #~ " tai: %s [VALITSIN]... LÄHDE... HAKEMISTO (2. muoto)\n" #~ " tai: %s -d [VALITSIN]... HAKEMISTO... (3. muoto)\n" #, fuzzy #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Luo linkki annettuun KOHTEeseen.\n" #~ "Jos LINKIN_NIMEÄ ei ole annettu, luodaan nykyiseen hakemistoon linkki, " #~ "jolla\n" #~ "on sama tiedostonimi kuin KOHTEella. Käytettäessä toista muotoa useamman " #~ "kuin\n" #~ "yhden KOHTEen kanssa, viimeisen argumentin on oltava hakemisto; luo " #~ "HAKEMISTOon\n" #~ "linkit kuhunkin KOHTEeseen. Oletuksena luodaan kovia linkkejä, " #~ "symbolisia\n" #~ "valitsimen --symbolic kanssa. Jokaisen KOHTEen on oltava olemassa " #~ "luotaessa\n" #~ "kovia linkkejä.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=MENETELMÄ] varmuuskopioi jokainen olemassaoleva\n" #~ " kohdetiedosto\n" #~ " -b kuten --backup, mutta ei hyväksy " #~ "parametria\n" #~ " -d, -F, --directory salli pääkäyttäjän yrittää hakemistojen\n" #~ " kovalinkitystä (huom: todennäköisesti\n" #~ " epäonnistuu järjestelmän rajoitusten " #~ "vuoksi\n" #~ " myös pääkäyttäjältä)\n" #~ " -f, --force poista olemassaolevat kohdetiedostot\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference kohtele hakemistoon osoittavia symlinkkejä\n" #~ " kuin tavallisia tiedostoja\n" #~ " -i, --interactive kysy ennen kohteiden poistamista\n" #~ " -s, --symbolic tee symbolisia linkkejä kovien linkkien " #~ "sijaan\n" #, fuzzy #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=JÄLKILIITE kumoa tavanomainen varmuuskopion " #~ "jälkiliite\n" #~ " --target-directory=HAKEMISTO määrittele HAKEMISTOn, jonka alle " #~ "linkit\n" #~ " luodaan\n" #~ " -v, --verbose tulosta kunkin tiedoston nimi ennen " #~ "linkitystä\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "" #~ "Valitsimia --target-directory ja --no-target-directory ei voi yhdistää" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Käyttö: %s [VALITSIN]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Tulosta nykyisen käyttäjän nimi.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "ei sisäänkirjautumistunnusta" #~ msgid "%b %e %Y" #~ msgstr "%e.%-m.%Y" #~ msgid "%b %e %H:%M" #~ msgstr "%e.%-m. %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "ei huomioida virheellistä arvoa ympäristömuuttujassa QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "ei huomioida virheellistä leveyttä ympäristömuuttujassa COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "ei huomioida virheellistä sarkainkokoa ympäristömuuttujassa TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "virheellinen rivileveys: %s" #~ msgid "invalid tab size: %s" #~ msgstr "virheellinen sarkainkoko: %s" #~ msgid "invalid time style format %s" #~ msgstr "virheellinen ajan muoto %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "tunnistamaton etuliite: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "jäsentymätön arvo LS_COLORS-ympäristömuuttujalle" #~ msgid "cannot open directory %s" #~ msgstr "hakemiston %s avaaminen ei onnistu" #~ msgid "cannot determine device and inode of %s" #~ msgstr "hakemiston %s laitetta ja i-solmua ei voida määrittää" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "ei luetella jo lueteltua hakemistoa: %s" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "ohitetaan hakemisto %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "tiedostonimiä %s ja %s ei voi vertailla" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Luettele TIEDOSTOjen tiedot (oletuksena nykyinen hakemisto).\n" #~ "Lajittele merkinnät aakkosjärjestykseen ellei mitään valitsimista -" #~ "cftuSUX\n" #~ "tai --sort ole annettu.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all älä piilota merkintöjä, joiden alussa on .\n" #~ " -A, --almost-all älä luettele hakemistoja . ja ..\n" #~ " --author kun -l annettu, tulosta kunkin tiedoston " #~ "tekijä\n" #~ " -b, --escape tulosta oktaaliset suojaukset ei-" #~ "graafisille\n" #~ " merkeille\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=KOKO käytä KOKO-tavuisia lohkoja\n" #~ " -B, --ignore-backups älä luettele merkintöjä, joiden lopussa on " #~ "~\n" #~ " -c valitsinten -lt kanssa: käytä lajitteluun " #~ "ja\n" #~ " näytä ctime (tiedoston tilatietojen\n" #~ " viimeisimmän muutoksen ajankohta)\n" #~ " valitsimen -l kanssa: näytä ctime ja " #~ "lajittele\n" #~ " nimen mukaan\n" #~ " muuten: lajittele ctimen mukaan\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C luettele merkinnät sarakkeissa\n" #~ " --color[=MILLOIN] määrää, käytetäänkö väriä erottamaan " #~ "tiedosto-\n" #~ " tyyppejä. MILLOIN voi olla ”never”, " #~ "”always”\n" #~ " tai ”auto”.\n" #~ " -d, --directory luettele hakemistomerkinnät, ei niiden " #~ "sisältöä,\n" #~ " äläkä seuraa symbolisia linkkejä\n" #~ " -D, --dired tuota tuloste Emacsin dired-muodossa\n" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f älä lajittele, käytä -aU, poista käytöstä -" #~ "lst\n" #~ " -F, --classify lisää merkintöihin tunnistin\n" #~ " (yksi merkeistä */=@|)\n" #~ " --format=SANA across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time kuten -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g kuten -l, mutta älä näytä omistajia\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all sisällytä myös 0 lohkon kokoiset " #~ "tiedostojärjestelmät\n" #~ " -B, --block-size=KOKO käytä KOKO-tavuisia lohkoja\n" #~ " -h, --human-readable näytä koot helppolukuisessa muodossa (esim. 1K " #~ "234M 2G)\n" #~ " -H, --si sama kuin edellä, mutta monikerta on 1000, ei " #~ "1024\n" #, fuzzy #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -g kuten -l, mutta ei näytä omistajaa\n" #~ " -G, --no-group kuten -l, mutta ei näytä ryhmää\n" #~ " -h, --human-readable kun -l annettu, näytä koot helppolukuisessa\n" #~ " muodossa (esim. 1K 234M 2G)\n" #~ " --si sama kuin edellä, mutta kantalukuna 1000, ei " #~ "1024\n" #~ " -H, --dereference-command-line\n" #~ " seuraa komentorivillä annettuja symbolisia\n" #~ " linkkejä\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " seuraa kutakin hakemistoon viittaavaa\n" #~ " komentorivillä annettua symbolista " #~ "linkkiä\n" #~ " --hide=HAHMO älä luettele HAHMOon täsmääviä merkintöjä\n" #~ " (-a ja -A kumoavat tämän valitsimen)\n" #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=SANA lisää SANAn mukainen ilmaisin merkintöjen " #~ "nimiin:\n" #~ " none (oletus), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode kun -l annettu, tulosta kunkin tiedoston\n" #~ " i-solmun numero\n" #~ " -I, --ignore=HAHMO älä luettele HAHMOon täsmääviä merkintöjä\n" #~ " -k sama kuin --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l käytä pitkää luettelumuotoa\n" #~ " -L, --dereference näytettäessä symbolisen linkin tietoja,\n" #~ " näytä linkin kohteen tiedot, ei linkin\n" #~ " itsensä tietoja\n" #~ " -m näytä tiedostonimet pilkuilla erotettuna\n" #~ " luettelona\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid kuten -l, mutta luettele käyttäjä- ja ryhmä-" #~ "ID:t\n" #~ " numeerisina\n" #~ " -N, --literal tulosta nimet sellaisinaan (älä käsittele\n" #~ " esim. ohjausmerkkejä)\n" #~ " -o kuten -l, mutta älä näytä ryhmätietoja\n" #~ " -p, --indicator-style=slash\n" #~ " lisää hakemistoihin ilmaisin ”/”\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars tulosta ”?” ei-graafisten merkkien sijaan\n" #~ " --show-control-chars näytä ei-graafiset merkit sellaisinaan (on\n" #~ " oletus, ellei ohjelma ole ”ls” ja\n" #~ " tulostelaitteena pääte)\n" #~ " -Q, --quote-name sijoita tiedostonimet lainausmerkkeihin\n" #~ " --quoting-style=SANA käytä lainaustapaa SANA tiedostonimille:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse käännä lajittelun järjestys\n" #~ " -R, --recursive luettele alihakemistot rekursiivisesti\n" #~ " -s, --size kun -l annettu, tulosta kunkin tiedoston\n" #~ " koko lohkoina\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S lajittele tiedoston koon mukaan\n" #~ " --sort=SANA extension -X, none -U, size -S, time -t,\n" #~ " version -v, status -c, time -t, atime -u,\n" #~ " access -u, use -u\n" #~ " --time=SANA kun -l annettu, näytä muutosajan sijaan " #~ "SANAn\n" #~ " mukainen aika: atime, access, use, ctime " #~ "tai\n" #~ " status; annettua aikaa käytetään " #~ "lajitteluun,\n" #~ " jos --sort=time\n" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=TYYLI kun -l annettu, näytä ajat käyttäen TYYLIä:\n" #~ " full-iso, long-iso, iso, locale, +MUOTO.\n" #~ " MUOTO on sama kuin ”date”-komennolle;\n" #~ " jos MUOTO on MUOTO1MUOTO2,\n" #~ " MUOTO1:tä sovelletaan vanhoihin " #~ "tiedostoihin,\n" #~ " MUOTO2:ta uusiin; jos TYYLIn edessä on " #~ "”posix-”,\n" #~ " TYYLIä käytetään vain maa-asetuston ollessa " #~ "muu\n" #~ " kuin POSIX\n" #~ " -t lajittele muutosajan mukaan\n" #~ " -T, --tabsize=LEVEYS aseta sarkainkooksi LEVEYS, ei 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u valitsinten -lt kanssa: käytä lajitteluun " #~ "ja\n" #~ " näytä käyttöaika\n" #~ " valitsimen -l kanssa: näytä käyttöaika ja\n" #~ " lajittele nimen mukaan\n" #~ " muuten: lajittele käyttöajan mukaan\n" #~ " -U älä lajittele; luettele merkinnät\n" #~ " hakemistojärjestyksessä\n" #~ " -v lajittele version mukaan\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=LEVEYS oleta ruudun leveydeksi LEVEYS\n" #~ " -x luettele merkinnät riveittäin, ei " #~ "sarakkeittain\n" #~ " -X aakkosta merkinnän päätteen mukaan\n" #~ " -1 luettele vain yksi tiedosto yhdellä rivillä\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Värejä ei oletuksena käytetä erottamaan tiedostojen tyyppejä. Tämä on " #~ "sama\n" #~ "kuin --color=none. Valitsimen --color käyttäminen ilman valinnaista\n" #~ "MILLOIN-argumenttia on sama kuin --color=always. Valitsimen --color=auto " #~ "kanssa\n" #~ "värikoodit tulostetaan vain, jos vakiotuloste on kytketty päätteeseen " #~ "(tty).\n" #~ "Väreihin voi vaikuttaa LS_COLORS-ympäristömuuttujalla, jonka voi asettaa\n" #~ "helposti dircolors-komennolla.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Paluuarvo on normaalisti 0, pienissä ongelmissa 1 ja suurissa\n" #~ "ongelmissa 2.\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper ja Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Paul Rubin ja David MacKenzie" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %1$s [VALITSIN] [TIEDOSTO]...\n" #~ "Tulosta tai tarkista (%3$d-bittisiä) %2$s-tarkistussummia.\n" #~ "Jos TIEDOSTOa ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ "\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary kirjoita binäärimuodossa konsolilaitteelle.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Seuraavat kaksi valitsinta ovat käytettävissä vain tarkastettaessa " #~ "summia:\n" #~ " --status älä tulosta mitään, paluuarvo kertoo " #~ "onnistumisen\n" #~ " -w, --warn varoita väärin muotoilluista summariveistä\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Summien laskutapa on kuvattu dokumentissa %s. Tarkistettaessa syötteen\n" #~ "tulisi olla tämän ohjelman aikaisempaa tulostetta. Oletustilassa " #~ "tulostuu\n" #~ "rivi, jolla on tarkistussumma, tyyppiä ilmaiseva merkki (”*” = binääri,\n" #~ "” ” = teksti), ja TIEDoston nimi. \n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: liian monta tarkistussummariviä" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: väärin muotoiltu %s-tarkistussummarivi" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: avaaminen tai luku EPÄONNISTUI\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: lukuvirhe" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: kelvollisesti muotoiltuja %s-tarkistussummarivejä ei löytynyt" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "VAROITUS: % tiedosto % luetellusta jäi lukematta" #~ msgstr[1] "" #~ "VAROITUS: % tiedostoa % luetellusta jäi lukematta" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "VAROITUS: % tarkistussumma % lasketusta EI TÄSMÄNNYT" #~ msgstr[1] "" #~ "VAROITUS: % tarkistussummaa % lasketusta EI TÄSMÄNNYT" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "valitsimet --binary ja --text ovat merkityksettömiä tarkastettaessa " #~ "tarkistussummia" # onko verify tarkastamista, todentamista vai varmentamista? #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "" #~ "valitsin --status on merkityksellinen vain tarkastettaessa tarkistussummia" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "" #~ "valitsin --warn on merkityksellinen vain tarkastettaessa tarkistussummia" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Käyttö: %s [VALITSIN] HAKEMISTO...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Luo HAKEMISTO(t), elleivät ne ole jo olemassa.\n" #~ "\n" # Ensimmäinen kohta on aika hämärä alkutekstissä. #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=OIK aseta oikeudet (kuten chmodilla)\n" #~ " -p, --parents ei virhettä jos jo olemassa, luo tarvittavat " #~ "ylähakemistot\n" #~ " -v, --verbose näytä viesti kutakin hakemistoa luodessa\n" #~ msgid "created directory %s" #~ msgstr "luotiin hakemisto %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Käyttö: %s [VALITSIN] NIMI...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "Luo nimettyjä putkia (FIFOja) annetuilla NIMIllä.\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=OIK aseta oikeudet (kuten chmodilla), ei a=rw vaan umask\n" #~ msgid "invalid mode" #~ msgstr "virheelliset oikeudet" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Käyttö: %s [VALITSIN]... NIMI TYYPPI [MAJOR MINOR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Luo TYYPIn mukainen erikoistiedosto NIMI.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Sekä MAJOR- että MINOR-arvo on annettava, jos TYYPPI on b, c tai u, ja " #~ "ne\n" #~ "on jätettävä antamatta, jos tyyppi on p. Jos MAJOR tai MINOR alkaa " #~ "merkeillä\n" #~ "0x tai 0X, se tulkitaan heksadesimaaliluvuksi; jos numerolla 0, " #~ "oktaaliluvuksi;\n" #~ "muussa tapauksessa kymmenkantaiseksi luvuksi. TYYPPI voi olla:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b luo lohkoerikoistiedosto (puskuroitu)\n" #~ " c, u luo merkkierikoistiedosto (puskuroimaton)\n" #~ " p luo FIFO-putki\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Major- ja minor-laitearvot on annettava luotaessa\n" #~ "erikoistiedostoja" #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "FIFO-putkilla ei ole major- ja minor-laitearvoja." #~ msgid "block special files not supported" #~ msgstr "lohkoerikoistiedostot eivät ole tuettuja" #~ msgid "character special files not supported" #~ msgstr "merkkierikoistiedostot eivät ole tuettuja" #~ msgid "invalid major device number %s" #~ msgstr "virheellinen laitteen major-arvo %s" #~ msgid "invalid minor device number %s" #~ msgstr "virheellinen laitteen minor-arvo %s" #~ msgid "invalid device %s %s" #~ msgstr "virheellinen laite %s %s" #~ msgid "invalid device type %s" #~ msgstr "virheellinen laitetyyppi %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Käyttö: %s [VALITSIN]... [TIEDOSTO]\n" #, fuzzy #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr "kohdehakemisto ei ole sallittu asennettaessa hakemistoa" #, fuzzy #~ msgid "too many templates" #~ msgstr "liian monta argumenttia" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "hakemiston %s sulkeminen epäonnistui" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "tiedoston %s aikojen säilyttäminen ei onnistu" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Uudelleennimeä LÄHDE -> KOHDE, tai siirrä LÄHDE(teet) HAKEMISTOon.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=OHJAUS] varmuuskopioi jokainen olemassaoleva\n" #~ " kohdetiedosto\n" #~ " -b kuten --backup, mutta ei hyväksy " #~ "argumenttia\n" #~ " -f, --force älä kysy ennen ylikirjoitusta\n" #~ " (vastaava kuin --reply=yes)\n" #~ " -i, --interactive kysy ennen ylikirjoitusta\n" #~ " (vastaava kuin --reply=query)\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes poista /-merkit jokaisen LÄHDEargumentin\n" #~ " perästä\n" #~ " -S, --suffix=JÄLKILIITE korvaa tavanomainen varmuuskopioiden " #~ "jälkiliite\n" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=HAKEMISTO siirrä kaikki LÄHDEargumentit\n" #~ " kohdeHAKEMISTOon\n" #~ " -u, --update siirrä vain, jos LÄHDEtiedosto on uudempi\n" #~ " kuin kohdetiedosto, tai kohdetiedosto " #~ "puuttuu\n" #~ " -v, --verbose selitä, mitä tapahtuu\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Käyttö: %s [VALITSIN] [KOMENTO [ARG]...]\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "virheellinen argumentti: %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "kun säätöarvo on annettu, on komento pakollinen" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "järjestelmän nimen haku ei onnistu" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "ajan asetus ei onnistu" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kirjoita kukin TIEDOSTO vakiotulosteeseen rivinumerointi lisäten.\n" #~ "Jos TIEDOSTOa ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=TYYLI käytä TYYLIä rungon rivien " #~ "numerointiin\n" #~ " -d, --section-delimiter=MM käytä MM:ää loogisten sivujen " #~ "erottamiseen\n" #~ " -f, --footer-numbering=TYYLI käytä TYYLIä alatunnisterivien " #~ "numerointiin\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=TYYLI käytä TYYLIä otsakerivien numerointiin\n" #~ " -i, --page-increment=LISÄYS rivinumeron lisäys kullakin rivillä\n" #~ " -l, --join-blank-lines=MÄÄRÄ MÄÄRÄ tyhjää riviä lasketaan yhdeksi\n" #~ " -n, --number-format=MUOTO lisää rivinumerot annetussa MUODOssa\n" #~ " -p, --no-renumber älä aloita sivunumerointia alusta " #~ "loogisilla\n" #~ " sivuilla\n" #~ " -s, --number-separator=MJONO lisää MJONO (mahdollisen) rivinumeron " #~ "perään\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NUMERO ensimmäinen rivinumero jokaisella " #~ "loogisella sivulla\n" #~ " -w, --number-width=MÄÄRÄ käytä MÄÄRÄ saraketta rivinumeroille\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Oletuksena valitaan -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. MM ovat " #~ "kaksi\n" #~ "rajoitinmerkkiä, jotka erottavat kaksi loogista sivua; toisen merkin\n" #~ "puuttuminen tulkitaan kuin :. Kenoviiva \\ saadaan aikaan kirjoittamalla " #~ "\\\\.\n" #~ "TYYLI on yksi seuraavista:\n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a numeroi kaikki rivit\n" #~ " t numeroi vain rivit, jotka eivät ole tyhjiä\n" #~ " n älä numeroi mitään rivejä\n" #~ " pSÄÄNNLAUS numeroi vain rivit, jotka täsmäävät SÄÄNNLAUSekkeeseen\n" #~ "\n" #~ "MUOTO on yksi seuraavista:\n" #~ "\n" #~ " ln tasattu vasemmalle, ei etunollia\n" #~ " rn tasattu oikealle, ei etunollia\n" #~ " rz tasattu oikealle, etunollat\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "rivinumeroinnin ylivuoto" #~ msgid "invalid header numbering style: %s" #~ msgstr "virheellinen otsakkeen numerointityyli: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "virheellinen rungon numerointityyli: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "virheellinen alatunnisteen numerointityyli: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "virheellinen aloitusrivin numero: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "virheellinen rivinumeron lisäys: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "virheellinen tyhjien rivien määrä: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "virheellinen rivinumerokentän leveys: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "virheellinen rivinumerointimuoto: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s KOMENTO [ARGUMENTTI]...\n" #~ " tai: %s VALITSIN\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Aja KOMENTO jättäen linjankatkaisusignaalit huomiotta.\n" #~ "\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "jätetään kaikki argumentit huomiotta" #~ msgid "failed to open %s" #~ msgstr "tiedoston %s avaaminen epäonnistui" #, fuzzy #~ msgid "ignoring input and appending output to %s" #~ msgstr "kirjoitetaan tuloste tiedoston %s loppuun" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "" #~ "vakiovirhetulosteen kopion asettaminen sulkeutumaan käynnistettäessä " #~ "epäonnistui" #~ msgid "failed to redirect standard error" #~ msgstr "vakiovirhetulosteen uudelleenohjaus epäonnistui" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... [TIEDOSTO]...\n" #~ " tai: %s [-abcdfilosx]... [TIEDOSTO] [[+]SIIRTYMÄ[.][b]]\n" #~ " tai: %s --traditional [VALITSIN]... [TIEDOSTO] [[+]SIIRTYMÄ[.][b]\n" #~ " [+][NIMIÖ][.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Kirjoita yksiselitteinen esitys TIEDOSTOsta vakiotulosteeseen,\n" #~ "oletuksena oktaalitavuina. Jos TIEDOSTO-argumentteja annetaan useampi,\n" #~ "niistä luetut syötteet yhdistetään samassa järjestyksessä.\n" #~ "Jos TIEDOSTOa ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Pitkien valitsinten pakolliset argumentit ovat pakollisia myös lyhyille.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=KANTA päätä miten tiedostosiirtymät tulostetaan\n" #~ " -j, --skip-bytes=MÄÄRÄ ohita aluksi MÄÄRÄ syötetavua\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=MÄÄRÄ rajoita vedos MÄÄRÄän syötetavuja\n" #~ " -S, --strings[=MÄÄRÄ] tulosta vähintään MÄÄRÄn verran tulostuvia\n" #~ " merkkejä sisältävät merkkijonot\n" #~ " -t, --format=TYYPPI valitse tulostemuoto tai -muodot\n" #~ " -v, --output-duplicates älä käytä *-merkkiä rivien vaientamisen\n" #~ " merkitsemiseen\n" #~ " -w, --width[=MÄÄRÄ] tulosta MÄÄRÄ tavua kullekin " #~ "tulosteriville\n" #~ " --traditional hyväksy argumentteja perinteisessä " #~ "muodossa\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Perinteisiä muotomäärittelyjä voi yhdistää; ne kertyvät:\n" #~ " -a sama kuin -t a, valitse nimetyt merkit\n" #~ " -b sama kuin -t oC, valitse oktaalitavut\n" #~ " -c sama kuin -t c, valitse ASCII-merkit tai kenoviivasuojaukset\n" #~ " -d sama kuin -t u2, valitse etumerkittömät 10-kantaiset lyhyet kok." #~ "luvut\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f sama kuin -t fF, valitse liukuluvut\n" #~ " -i sama kuin -t dI, valitse 10-kantaiset kokonaisluvut\n" #~ " -l sama kuin -t dL, valitse 10-kantaiset pitkät kokonaisluvut\n" #~ " -o sama kuin -t o2, valitse 8-kantaiset 2:n tavun yksiköt\n" #~ " -s sama kuin -t d2, valitse 10-kantaiset 2:n tavun yksiköt\n" #~ " -x sama kuin -t x2, valitse 16-kantaiset 2:n tavun yksiköt\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Vanhassa syntaksissa (toinen kutsumuoto), SIIRTYMÄ merkitsee -j " #~ "SIIRTYMÄ.\n" #~ "NIMIÖ on ensimmäisen tulostetun tavun pseudo-osoite, joka suurenee " #~ "vedostuksen\n" #~ "edistyessä. Etuliite 0x tai 0X merkitsee SIIRTYMÄssä ja NIMIÖssä\n" #~ "heksadesimaaliesitystä. Jälkiliitteet voivat olla . oktaaliesitykselle, " #~ "ja\n" #~ "b 512:lla kertomiselle.\n" #~ "\n" #~ "TYYPPI koostuu yhdestä tai useammasta seuraavista määrityksistä:\n" #~ "\n" #~ " a nimetty merkki\n" #~ " c ASCII-merkki tai kenoviivasuojaus\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[KOKO] etumerkillinen kymmenkantainen luku, KOKO tavua/" #~ "kokonaisluku\n" #~ " f[KOKO] liukuluku, KOKO tavua/kokonaisluku\n" #~ " o[KOKO] kahdeksankantainen luku, KOKO tavua/kokonaisluku\n" #~ " u[KOKO] etumerkitön kymmenkantainen luku, KOKO tavua/kokonaisluku\n" #~ " x[KOKO] kuusitoistakantainen luku, KOKO tavua/kokonaisluku\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "KOKO on luku. Jos tyyppi on d, o, u tai x, KOKO voi olla myös C:\n" #~ "sizeof(char, S: sizeof(short), I: sizeof(int) tai L: sizeof(long).\n" #~ "Jos TYYPPI on f, KOKO voi myös olla F: sizeof(float), D: sizeof(double)\n" #~ "tai L: sizeof(long double).\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "KANTA on d desimaaliesitykselle, o oktaaliselle, x heksadesimaaliselle " #~ "tai\n" #~ "n tyhjälle. TAVUT on heksadesimaalinen etuliitteen 0x tai 0X kanssa, se\n" #~ "kerrotaan 512:lla b-jälkiliitteen kanssa, 1024:llä k:n, ja 1048576:lla m:" #~ "n\n" #~ "kanssa. Jälkiliitteen z lisääminen mihin tahansa tyyppiin lisää jokaisen\n" #~ "tulosterivin loppuun näkymän tulostuvista merkeistä. " #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string ilman lukuarvoa on 3. --width ilman lukuarvoa on 32.\n" #~ "Oletuksena od käyttää -A o -t d2 -w 16.\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "virheellinen muotoilumerkkijono %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "virheellinen tyyppi %s;\n" #~ "järjestelmä ei tarjoa %lu-tavuista perustyyppiä" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "virheellinen tyyppi %s;\n" #~ "järjestelmä ei tarjoa %lu-tavuista liukulukutyyppiä" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "virheellinen merkki ”%c” muotoilumerkkijonossa ”%s”" #~ msgid "cannot skip past end of combined input" #~ msgstr "yhdistetyn syötteen lopun yli ei voi ohittaa" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "virheellinen tulosteosoitteen kanta ”%c”; sen on oltava yksi merkeistä " #~ "[doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "tyyppiä ei voi antaa merkkijonoja vedostettaessa" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Yhteensopivuustila tukee vain yhtä tiedostoa." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "ohitettavat-tavut + luettavat-tavut on liian suuri" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "varoitus: virheellinen leveys %lu; käytetään arvoa %d" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: muoto=”%s” leveys=%d\n" #~ msgid "standard input is closed" #~ msgstr "vakiosyöte on suljettu" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kirjoita peräkkäisiä vastaavia rivejä kustakin TIEDOSTOsta " #~ "vakiotulosteeseen,\n" #~ "sarkaimilla erotettuna. Jos TIEDOSTOa ei ole annettu, tai se on ”-”, " #~ "luetaan\n" #~ "vakiosyötettä.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LUETTELO käytä uudelleen LUETTELOn merkkejä " #~ "sarkainten\n" #~ " sijaan\n" #~ " -s, --serial liitä yksi tiedosto kerrallaan rinnakkaisuuden\n" #~ " sijaan\n" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Käyttö: %s [VALITSIN]... NIMI...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "virheellinen merkki %s oikeusmerkkijonossa %s" #~ msgid "empty file name" #~ msgstr "tyhjä tiedostonimi" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: tiedostonimen enimmäispituuden selvittäminen epäonnistui" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Joseph Arceneaux ja David MacKenzie" #~ msgid "Login name: " #~ msgstr "Tunnus: " #~ msgid "In real life: " #~ msgstr "Tosielämässä: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Hakemisto: " #~ msgid "Shell: " #~ msgstr "Kuori: " #~ msgid "Project: " #~ msgstr "Projekti: " #~ msgid "Plan:\n" #~ msgstr "Suunnitelma:\n" #~ msgid "Login" #~ msgstr "Tunnus" #~ msgid "Name" #~ msgstr "Nimi" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Jouten" #~ msgid "When" #~ msgstr "Milloin" #~ msgid "Where" #~ msgstr "Missä" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Käyttö: %s [VALITSIN]... [TUNNUS]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l tuota pitkän mallin tuloste annetuille TUNNUKSILLE\n" #~ " -b älä näytä kotihakemistoa ja kuorta pitkässä mallissa\n" #~ " -h älä näytä project-tiedostoa pitkässä mallissa\n" #~ " -p älä näytä plan-tiedostoa pitkässä mallissa\n" #~ " -s lyhyen mallin tuloste, tämä on oletus\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f älä näytä otsakeriviä lyhyessä mallissa\n" #~ " -w älä näytä käyttäjän koko nimeä lyhyessä mallissa\n" #~ " -i älä näytä käyttäjän koko nimeä ja etäkonetta lyhyessä\n" #~ " mallissa\n" #~ " -q älä näytä käyttäjän koko nimeä, etäkonetta ja " #~ "joutenoloaikaa\n" #~ " lyhyessä mallissa\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Kevyt ”finger”-ohjelma; näyttää käyttäjätietoja.\n" #~ "utmp-tiedostona %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "käyttäjänimeä ei annettu; valitsin -l vaatii vähintään yhden käyttäjänimen" #, fuzzy #~ msgid "Roland Huebner" #~ msgstr "Pete TerMaat ja Roland Hübner" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "" #~ "puuttuva argumentti valitsimelle ”--pages=ENSIMMÄINEN_SIVU[:" #~ "VIIMEINEN_SIVU]”" #~ msgid "Invalid page range %s" #~ msgstr "Virheellinen sivuväli %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "virheellinen rivimäärä valitsimelle ”-n SIVUN_PITUUS”: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "virheellinen aloitusrivinumero valitsimelle ”-N LUKU”: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "virheellinen rivisiirtymä valitsimelle ”-o MARGINAALI”: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "virheellinen merkkimäärä valitsimelle ”-w SIVUN_LEVEYS”: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "virheellinen merkkimäärä valitsimelle ”-W SIVUN_LEVEYS”: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Palstojen määrää ei voi antaa tulostettaessa rinnakkain." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "" #~ "Sekä tulostusta palstoittaen vaakasuunnassa että rinnakkaista tulostusta " #~ "ei\n" #~ "voi käyttää samaan aikaan." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "" #~ "ylimääräisiä merkkejä tai virheellinen määrä argumentissa valitsimelle ”-%" #~ "c”: %s" #~ msgid "page width too narrow" #~ msgstr "sivun leveys on liian pieni" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "aloitussivunumero % on suurempi kuin sivujen kokonaismäärä %" #~ "" #~ msgid "Page number overflow" #~ msgstr "Sivunumeroinnin ylivuoto" #~ msgid "Page %" #~ msgstr "Sivu %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "Numeroi sivut tai palstoita TIEDOSTO(t) tulostusta varten.\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +ENSIMMÄINEN_SIVU[:VIIMEINEN_SIVU], --pages=ENSIMMÄINEN_SIVU[:" #~ "VIIMEINEN_SIVU\n" #~ " aloita [lopeta] tulostus sivulta/lle ENSIMMÄINEN_" #~ "[VIIMEINEN_]SIVU\n" #~ " -PALSTA, --columns=PALSTA\n" #~ " tulosta PALSTA palstaa, tulosta alas ellei valitsinta " #~ "-a\n" #~ " ole annettu. Tasapainota kunkin sivun palstojen\n" #~ " rivimäärä.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across tulosta rivit palstoitettuna vaaka-, ei " #~ "pystysuunnassa,\n" #~ " käytetään yhdessä valitsimen -PALSTA kanssa\n" #~ " -c, --show-control-chars\n" #~ " käytä hattumerkintää (^G) ja oktaalista " #~ "kenoviivamerkintää\n" #~ " -d, --double-space\n" #~ " tulosta käyttäen kaksinkertaista riviväliä\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=MUOTO\n" #~ " käytä MUOTOa otsakkeen päiväyksessä\n" #~ " -e[MERKKI[LEVEYS]], --expand-tabs[=MERKKI[LEVEYS]]\n" #~ " laajenna syöteMERKIT (sarkaimet) sarkainLEVEYTeen " #~ "(8)\n" #~ " -F, -f, --form-feed\n" #~ " käytä arkinsyöttöä rivinvaihtojen sijaan sivujen\n" #~ " erottamiseen (3-rivisellä sivuotsakkeella valitsimen -" #~ "F\n" #~ " kanssa, tai 5-rivisellä ja otsakkeella ja " #~ "lopukkeella\n" #~ " ilman valitsinta -F)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h OTSAKE, --header=OTSAKE\n" #~ " käytä keskitettyä OTSAKEtta sivun otsakkeena " #~ "tiedostonimen\n" #~ " sijaan,\n" #~ " -h \"\" tulostaa tyhjän rivin, älä käytä -h\"\":a\n" #~ " -i[MERKKI[LEVEYS]], --output-tabs[=MERKKI[LEVEYS]]\n" #~ " korvaa välit MERKEILLÄ (sarkaimilla) sarkainLEVEYTeen " #~ "(8)\n" #~ " -J, --join-lines lomita täydet rivit, poistaa käytöstä valitsimen -W\n" #~ " rivitypistyksen, ei saraketasausta, --sep-string" #~ "[=MJONO]\n" #~ " asettaa erottimet\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l SIVUN_PITUUS, --length=SIVUN_PITUUS\n" #~ " aseta sivun pituudeksi SIVUN_PITUUS (66) riviä\n" #~ " (tekstirivien oletusmäärä on 56, valitsimen -F kanssa " #~ "63)\n" #~ " -m, --merge tulosta kaikki tiedostot rinnakkain, yksi kullakin\n" #~ " palstalla, typistä rivit, mutta yhdistä täysipituiset " #~ "rivit\n" #~ " valitsimella -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[EROTIN[MÄÄRÄ]], --number-lines[=EROTIN[MÄÄRÄ]]\n" #~ " numeroi rivit, käytä MÄÄRÄ (5) numeroa, sitten " #~ "EROTINta\n" #~ " (sarkain), oletuslaskeminen alkaa syötetiedoston 1. " #~ "riviltä\n" #~ " -N LUKU, --first-line-number=LUKU\n" #~ " aloita laskeminen LUVUlla ensimmäisen tulostetun " #~ "sivun\n" #~ " 1. riviltä (katso +ENSIMMÄINEN_SIVU)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARGINAALI, --indent=MARGINAALI\n" #~ " tulosta jokaisen rivin alkuun MARGINAALI (nolla) " #~ "väliä,\n" #~ " ei vaikuta valitsimiin -w tai -W, MARGINAALI " #~ "lisätään\n" #~ " arvoon SIVUN_LEVEYS\n" #~ " -r, --no-file-warnings\n" #~ " älä varoita, jos tiedostoa ei voida avata\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[MERKKI],--separator[=MERKKI]\n" #~ " erota sarakkeet merkillä, oletusMERKKI on sarkain " #~ "ilman\n" #~ " valitsinta -w, ja ”ei merkkiä” valitsimen -w kanssa\n" #~ " -s[MERKKI] poistaa käytöstä rivien katkaisun " #~ "kaikkien\n" #~ " kolmen sarakevalitsimen osalta (-SARAKE|-a -SARAKE|-" #~ "m),\n" #~ " paitsi jos -w on annettu\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SMJONO, --sep-string[=MJONO]\n" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " erota sarakkeet MJONOlla,\n" #~ " ilman valitsinta -S: Oletuserotin -J:n " #~ "kanssa\n" #~ " ja \n" #~ " muulloin (sama kuin -S\" \") ei vaikutusta\n" #~ " sarakevalitsimiin\n" #~ " -t, --omit-header jätä pois sivun otsakkeet ja lopukkeet\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " jätä pois sivun otsakkeet ja lopukkeet, poista\n" #~ " syötetiedostoissa mahdollisesti olevien " #~ "arkinsyöttöjen\n" #~ " aiheuttama sivutus\n" #~ " -v, --show-nonprinting\n" #~ " käytä oktaalista kenoviivamerkintä\n" #~ " -w SIVUN_LEVEYS, --width=SIVUN_LEVEYS\n" #~ " aseta monipalstaisessa tulosteessa sivun leveydeksi\n" #~ " SIVUN_LEVEYS (72) merkkiä, -s[merkki] ottaa pois\n" #~ " käytöstä (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W SIVUN_LEVEYS, --page-width=SIVUN_LEVEYS\n" #~ " aseta sivun leveydeksi aina SIVUN_LEVEYS (72) " #~ "merkkiä,\n" #~ " katkaise rivit, paitsi jos valitsin -J on käytössä, " #~ "ei\n" #~ " vaikutusta valitsimen -S tai -s kanssa\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Valitsin -l nn sisältää valitsimen -T, jos nn <= 10 tai <= 3, jos -F " #~ "käytössä.\n" #~ "Jos TIEDOSTOa ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %s [MUUTTUJA]...\n" #~ " tai: %s VALITSIN\n" #~ "Ilman ympäristöMUUTTUJAa tulostetaan ne kaikki.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "varoitus: %s: merkkivakiota seuraavat merkit on jätetty huomiotta" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s MUOTOILU [ARGUMENTTI]...\n" #~ " tai: %s VALITSIN\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Tulosta ARGUMENTTI(t) MUOTOILUn mukaisesti.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "MUOTOILU säätelee tulostetta kuten C:n printf. Tulkittavat sarjat ovat:\n" #~ "\n" #~ " \\\" lainausmerkit\n" #~ " \\0NNN merkki, jonka oktaaliarvo on NNN (1 - 3 numeroa)\n" #~ " \\\\ kenoviiva\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a varoitus (BEL)\n" #~ " \\b askelpalautin\n" #~ " \\c tulosteen lopetus tähän\n" #~ " \\f sivunvaihto\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n rivinvaihto\n" #~ " \\r vaununpalautus\n" #~ " \\t vaakasarkain\n" #~ " \\v pystysarkain\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH tavu, jonka heksadesimaaliarvo on HH (1-2 numeroa)\n" #~ " \\uHHHH Unicode-merkki (ISO/IEC 10646), jonka heksa-arvo on HHHH (4 " #~ "numeroa)\n" #~ " \\UHHHHHHHH Unicode-merkki, jonka heksadesimaaliarvo on HHHHHHHH (8 " #~ "numeroa)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% yksittäinen %-merkki\n" #~ " %b ARGUMENTTI merkkijonona, ”\\”-merkityt suojaukset tulkittuina,\n" #~ " paitsi oktaalisuojaukset ovat muotoa \\0 tai \\0NNN\n" #~ "\n" #~ "sekä kaikki merkkeihin diouxXfeEgGcs päättyvät C-kielen " #~ "muotoilumääritykset,\n" #~ "ARGUMENTIT ensin oikean tyyppisiksi muunnettuina. Muuttuvat leveydet\n" #~ "huomioidaan.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: odotettiin numeerista arvoa" #~ msgid "%s: value not completely converted" #~ msgstr "%s: arvoa ei muunnettu kokonaisuudessaan" #~ msgid "missing hexadecimal number in escape" #~ msgstr "puuttuva heksadesimaaliluku ohjauskoodissa" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "virheellinen universaali merkin nimi \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "virheellinen kenttäleveys: %s" #~ msgid "invalid precision: %s" #~ msgstr "virheellinen tarkkuus: %s" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: virheellinen kenttämääritys \"%s\"" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "varoitus: ylimääräiset argumentit jätetty huomiotta alkaen %s:sta" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "François Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (säännölliselle lausekkeelle %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... [SYÖTE]... (ilman valitsinta -G)\n" #~ " tai: %s -G [VALITSIN]... [SYÖTE [TULOSTE]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Tulosta kontekstin sisältävä, permutoitu luettelo syötetiedostojen " #~ "sanoista.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference tulosta automaattisesti luodut viitteet\n" #~ " -C, --copyright näytä tekijänoikeustiedot ja " #~ "kopiointiehdot\n" #~ " -G, --traditional käyttäydy enemmän kuten System V:n " #~ "”ptx”\n" #~ " -F, --flag-truncation=MJONO käytä MJONOa rivinkatkaisujen " #~ "merkitsemiseen\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=MJONO ”xx”:n sijaan käytettävä makronimi\n" #~ " -O, --format=roff tuota tuloste roff-käskyinä\n" #~ " -R, --right-side-refs sijoita viitteet oikealle, ei lasketa -w:" #~ "llä\n" #~ " -S, --sentence-regexp=SÄÄNN rivien tai lauseiden lopuille\n" #~ " -T, --format=tex tuota tuloste TeX-käskyinä\n" # Osa on aika hämäriä. #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=SÄÄNNLAUS käytä SÄÄNNLAUSetta kunkin avainsanan\n" #~ " täsmäämiseen\n" #~ " -b, --break-file=TIEDOSTO sanankatkaisumerkit tässä TIEDOSTOssa\n" #~ " -f, --ignore-case älä huomioi kirjainkokoa\n" #~ " -g, --gap-size=MÄÄRÄ tuloskenttien välin koko sarakkeina\n" #~ " -i, --ignore-file=TIEDOSTO lue huomioimatta jätettävät sanat " #~ "TIEDOSTOsta\n" #~ " -o, --only-file=TIEDOSTO lue ainoiden sanojen luettelo tästä " #~ "TIEDOSTOsta\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references kunkin rivin ensimmäinen kenttä on " #~ "viite\n" #~ " -t, --typeset-mode - ei ole toteutettu -\n" #~ " -w, --width=MÄÄRÄ tulosteleveys sarakkeina, viite " #~ "poistettuna\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Jos TIEDOSTOA ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ "Oletus on ”-F /”.\n" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "virheellinen leveys: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Tulosta työhakemiston täydellinen nimi.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "siirtyminen hakemistoon %s epäonnistui" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "tiedoston %s avaaminen epäonnistui" #~ msgid "ignoring non-option arguments" #~ msgstr "jätetään huomiotta argumentit, jotka eivät ole valitsimia" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Käyttö: %s [VALITSIN]... TIEDOSTO\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Näytä symbolisen linkin arvo vakiotulosteessa.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -f, --canonicalize muunna symlinkki vakiomuotoon seuraamalla " #~ "annetun\n" #~ " polun jokaista symlinkkiä rekursiivisesti\n" #~ " -n, --no-newline älä tulosta rivinvaihtoa loppuun\n" #~ " -q, --quiet, --silent vaienna useimmat virheilmoitukset\n" #~ " -v, --verbose näytä virheilmoitukset\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "hakemiston %s sulkeminen epäonnistui" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "hakemiston %s avaaminen ei onnistu" #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "tiedosto %s vaihtoi laitetta/i-solmua" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "hakemiston %s luominen ei onnistu" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "VAROITUS: Kehämäinen hakemistorakenne.\n" #~ "Tiedostojärjestelmä on lähes varmasti turmeltunut.\n" #~ "ILMOITA ASIASTA YLLÄPITÄJÄLLE.\n" #~ "Seuraava hakemisto on osa kehää:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: edetäänkö kirjoitussuojattuun hakemistoon %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: edetäänkö hakemistoon %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: poistetaanko kirjoitussuojattu %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: poistetaanko %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "poistettiin hakemisto: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "hakemiston %s sulkeminen epäonnistui" #~ msgid "cannot remove directory %s" #~ msgstr "hakemiston %s poistaminen ei onnistu" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "hakemiston %s poistaminen ei onnistu" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "hakemiston %s poistaminen ei onnistu" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "työhakemistoa ei löydy" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Komento ”%s ./%s” poistaa tiedoston %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Käyttö: %s [VALITSIN]... TIEDOSTO...\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root älä kohtele juurta (”/”) erityisesti (oletus)\n" #~ " --preserve-root estä rekursiivinen toiminta juuressa (”/”)\n" #~ " -r, -R, --recursive poista hakemistojen sisältö rekursiivisesti\n" #~ " -v, --verbose selitä, mitä tapahtuu\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Tiedoston, jonka nimi alkaa merkillä ”-”, esim. ”-foo”,\n" #~ "voi poistaa seuraavilla komennoilla:\n" #~ " %s -- -foo\n" #~ " tai\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Huomaa, että rm:llä poistetun tiedoston sisältö on usein mahdollista\n" #~ "palauttaa. Jos palauttaminen halutaan estää, on suositeltavaa käyttää\n" #~ "shred-komentoa.\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: poistetaanko %s %s? " #~ msgid "removing directory, %s" #~ msgstr "poistetaan hakemisto %s" #~ msgid "failed to remove directory %s" #~ msgstr "hakemiston %s poistaminen epäonnistui" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Käyttö: %s [VALITSIN]... HAKEMISTO...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Poista tyhjät HAKEMISTO(t).\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " jätä huomioimatta kaikki virheet, jotka johtuvat vain\n" #~ " siitä, että hakemisto ei ole tyhjä\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents poista HAKEMISTO ja sen ylähakemistot.\n" #~ " Esim. ”rmdir -p a/b/c” on sama kuin ”rmdir a/b/c a/b " #~ "a”.\n" #~ " -v, --verbose näytä ilmoitus jokaisesta käsitellystä hakemistosta\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "tiedoston %s avaaminen epäonnistui" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "tiedoston %s ominaisuuksien hakeminen ei onnistu" #, fuzzy #~ msgid "no command specified" #~ msgstr "prosessi-ID:tä ei ole annettu" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "tiedoston %s avaaminen epäonnistui" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "tiedoston %s avaaminen epäonnistui" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "tiedoston %s avaaminen epäonnistui" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "tiedoston %s avaaminen epäonnistui" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "tiedoston %s avaaminen epäonnistui" #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "tiedoston %s oikeuksien palauttaminen ei onnistu" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... LOPPU\n" #~ " tai: %s [VALITSIN]... ALKU LOPPU\n" #~ " tai: %s [VALITSIN]... ALKU LISÄYS LOPPU\n" #, fuzzy #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Tulosta luvut luvusta ALKU lukuun LOPPU, LISÄYS-arvon välein.\n" #~ "\n" #~ " -f, --format=MUOTO käytä printf-tyylistä muotoilua MUOTO (oletus: " #~ "%g)\n" #~ " -s, --separator=MJONO käytä MJONOa erottelemaan lukuja (oletus: " #~ "\\n)\n" #~ " -w, --equal-width tasoita leveydet lisäämällä nollia lukujen " #~ "eteen\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Jos ALKU tai LISÄYS jätetään antamatta, käytetään niille oletusarvoa 1.\n" #~ "Antamatta jätetty LISÄYKsen oletusarvo on siis 1, vaikka LOPPU olisi " #~ "pienempi\n" #~ "kuin ALKU. ALKU, LISÄYS JA LOPPU tulkitaan liukuluvuiksi. LISÄYS on " #~ "yleensä\n" #~ "positiivinen, jos ALKU on pienempi kuin LOPPU, ja\n" #~ "LISÄYS on yleensä negatiivinen, jos ALKU on suurempi kuin LOPPU.\n" #~ "Jos MUOTO annetaan, sen on sisällettävä tasan yksi\n" #~ "printf-tyylisistä liukulukuesityksistä %e, %f, %g\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "virheellinen liukulukuargumentti: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "muotoilumerkkijono ei kelpaa: %s" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "liian monta %%-muunnosmääritystä jälkiliitteessä" #~ msgid "invalid format string: %s" #~ msgstr "muotoilumerkkijono ei kelpaa: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "muotoilua ei voi määritellä kun tulostetaan tasalevyisiä lukuja" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s KÄYTTÄJÄNIMI KOMENTO [ARGUMENTTI]...\n" #~ " tai: %s VALITSIN\n" #, fuzzy #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Poista käytöstä mahdolliset lisäryhmät, aseta käyttäjä- ja ryhmä-ID\n" #~ "annetun KÄYTTÄJÄNIMEn perusteella, ja suorita KOMENTO annetuilla\n" #~ "ARGUMENTeilla. Poistu paluuarvolla 111, jos käyttäjä- ja ryhmä-ID:n\n" #~ "asetus ei onnistu. Muussa tapauksessa poistutaan KOMENNOn paluuarvolla.\n" #~ "Tämä ohjelma on käyttökelpoinen vain pääkäyttäjän (käyttäjä-ID 0)\n" #~ "suorittamana.\n" #~ "\n" #~ msgid "unknown user-ID: %s" #~ msgstr "tuntematon käyttäjä-ID: %s" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "lisäryhmän asetus ei onnistu" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "ryhmä-ID:n asetus arvoon %ld ei onnistu" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "käyttäjä-ID:n asetus arvoon %ld ei onnistu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Käyttö: %s [VALITSIMET] TIEDOSTO [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Ylikirjoita annetut TIEDOSTO(t) toistuvasti, jotta sisällön\n" #~ "palauttaminen olisi vaikeampaa jopa hyvin kalliilla laitteilla.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force muuta tarvittaessa oikeuksia kirjoittamisen " #~ "sallimiseksi\n" #~ " -n, --iterations=N Ylikirjoita N kertaa oletusmäärän (%d) sijaan\n" #~ " -s, --size=N silppua näin monta tavua (jälkiliitteet kuten K, M,\n" #~ " G hyväksytään)\n" #, fuzzy #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove typistä ja poista tiedosto ylikirjoituksen jälkeen\n" #~ " -v, --verbose näytä edistyminen\n" #~ " -x, --exact älä pyöristä tiedostokokoja seuraavaan täyteen lohkoon;\n" #~ " tämä on oletus ei-tavallisille tiedostoille\n" #~ " -z, --zero ylikirjoita lopuksi nollia silppuamisen kätkemiseksi\n" #~ " - silppua vakiotuloste\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Jos TIEDOSTO on ”-”, silputaan vakiosyötteeseen.\n" #~ "\n" #~ "Jos valitsin --remove (-u) on annettu, TIEDOSTO(t) poistetaan. Tiedostoja " #~ "ei\n" #~ "poisteta oletuksena, koska usein käsitellään laitetiedostoja, kuten\n" #~ "/dev/hda, joita ei ole tarkoitus poistaa. Valitsinta --remove käytetään\n" #~ "yleensä käsiteltäessä tavallisia tiedostoja.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "VAROITUS: Huomaa, että shred-työkalun toiminta perustuu erittäin " #~ "tärkeään\n" #~ "oletukseen:\n" #~ "oletetaan, että tiedostojärjestelmä ylikirjoittaa dataa paikallaan. Tämä\n" #~ "on perinteinen tapa, mutta monet nykyaikaiset tiedostojärjestelmät eivät\n" #~ "vastaa tätä oletusta. Seuraavassa on esimerkkejä tiedostojärjestelmistä,\n" #~ "joilla shred ei ole tehokas, tai ei ole tehokas kaikissa " #~ "tiedostojärjestelmän\n" #~ "toimintatiloissa:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* kirjaavat tiedostojärjestelmät, esim. AIXin ja Solariksen\n" #~ " tiedostojärjestelmät (ja JFS, ReiserFS, XFS, Ext3, jne.)\n" #~ "\n" #~ "* tiedostojärjestelmät, jotka kirjoittavat ylimääräistä dataa ja " #~ "jatkavat\n" #~ " joidenkin kirjoitustoimintojen epäonnistumisesta huolimatta, esim.\n" #~ " RAIDilla olevat tiedostojärjestelmät\n" #~ "\n" #~ "* tiedostojärjestelmät, jotka tekevät tilannevedoksia, esim. Network\n" #~ " Appliancen NFS-palvelin\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* tiedostojärjestelmät, jotka pitävät välimuistia tilapäisissä " #~ "paikoissa,\n" #~ " esim. NFS:n version 3 asiakkaat\n" #~ "\n" #~ "* tiivistetyt tiedostojärjestelmät\n" #~ "\n" #, fuzzy #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "* tiedostojärjestelmät, jotka tallentavat levyvälimuistinsa tilapäisiin\n" #~ " paikkoihin, esim. NFS-version 3 asiakkaat\n" #~ "\n" #~ "* tiivistetyt tiedostojärjestelmät\n" #~ "\n" #~ "Lisäksi tiedostojärjestelmän varmuuskopiot ja etäpeilaukset voivat " #~ "sisältää\n" #~ "tiedostosta kopioita, joita ei voida poistaa, ja jotka mahdollistavat\n" #~ "silputun tiedoston palauttamisen myöhemmin.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: fdatasync epäonnistui" #~ msgid "%s: fsync failed" #~ msgstr "%s: fsync epäonnistui" #~ msgid "%s: cannot rewind" #~ msgstr "%s: taaksepäin siirtyminen ei onnistu" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: ylikirjoituskerta %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: virhe kirjoitettaessa siirtymässä %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: lseek epäonnistui" #~ msgid "%s: file too large" #~ msgstr "%s: tiedosto on liian suuri" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: ylikirjoituskerta %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: ylikirjoituskerta %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: fstat epäonnistui" #~ msgid "%s: invalid file type" #~ msgstr "%s: virheellinen tiedostotyyppi" #~ msgid "%s: file has negative size" #~ msgstr "%s: tiedoston koko on negatiivinen" #~ msgid "%s: error truncating" #~ msgstr "%s: virhe typistettäessä" #~ msgid "%s: fcntl failed" #~ msgstr "%s: fcntl epäonnistui" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: vain lisäykseen soveltuvaa tiedostokahvaa ei voi silputa" #~ msgid "%s: removing" #~ msgstr "%s: poistetaan" #~ msgid "%s: renamed to %s" #~ msgstr "%s: nimettiin uudelleen nimelle %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: poisto epäonnistui" #~ msgid "%s: removed" #~ msgstr "%s: poistettu" #~ msgid "%s: failed to close" #~ msgstr "%s: sulkeminen epäonnistui" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: avaaminen kirjoitustilassa epäonnistui" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: virheellinen ylikirjoituskertojen määrä" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "useita tulostusmuotoja annettu" #~ msgid "%s: invalid file size" #~ msgstr "%s: virheellinen tiedostokoko" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... LOPPU\n" #~ " tai: %s [VALITSIN]... ALKU LOPPU\n" #~ " tai: %s [VALITSIN]... ALKU LISÄYS LOPPU\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Kirjoita kaikkien TIEDOSTO(jen) yhdistelmä lajiteltuna " #~ "vakiotulosteeseen.\n" #~ "\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "useita -l tai -t -valitsimia annettu" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "virheellinen leveys: %s" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "virheellinen rivileveys: %s" #~ msgid "multiple output files specified" #~ msgstr "useita tulostiedostoja annettu" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "ylimääräinen operandi %s" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %s KESTO[PÄÄTE]...\n" #~ " tai: %s VALITSIN\n" #~ "Pysähdy odottamaan KESTO sekunnin ajaksi. PÄÄTE voi olla ”s” (sekuntia,\n" #~ "oletus), ”m” (minuuttia), ”h” (tuntia) tai ”d” (päivää). Toisin kuin\n" #~ "useimmissa toteutuksissa, voi KESTO olla kokonaisluvun lisäksi myös\n" #~ "mielivaltainen liukuluku.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "ajanjakso ei kelpaa: %s" #~ msgid "cannot read realtime clock" #~ msgstr "tosiaikaisen kellon luku ei onnistu" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Kirjoita kaikkien TIEDOSTO(jen) yhdistelmä lajiteltuna " #~ "vakiotulosteeseen.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Lajitteluvalitsimet:\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks älä huomioi edeltäviä tyhjeitä\n" #~ " -d, --dictionary-order lajittele vain tyhjeiden ja alfanumeeristen " #~ "merkkien mukaan\n" #~ " -f, --ignore-case älä huomioi kirjainkokoa\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort vertaa yleisen numeerisen arvon mukaan " #~ "(myös eksponenttimuoto)\n" #~ " -i, --ignore-nonprinting huomioi vain tulostuvat merkit\n" #~ " -M, --month-sort vertaa (tuntematon) < ”JAN” < ... < ”DEC”\n" #~ " -n, --numeric-sort vertaa merkkijonon numeerisen arvon mukaan\n" #~ " -r, --reverse käännä lajittelujärjestys\n" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "Muut valitsimet:\n" #~ "\n" #~ " -c, --check tarkista onko syöte lajiteltu; älä lajittele\n" #~ " -k, --key=SIJ1[,SIJ2] aloita avain kohdasta SIJ1, päätä kohtaan " #~ "SIJ2 (alkukohta 1)\n" #~ " -m, --merge lomita jo lajitellut tiedostot; älä " #~ "lajittele\n" #~ " -o, --output=TIEDOSTO kirjoita tuloste TIEDOSTOon vakiotulosteen " #~ "sijaan\n" #~ " -s, --stable vakauta lajittelu poistamalla käytöstä " #~ "”viimeinen oljenkorsi”-vertailu\n" #~ " -S, --buffer-size=KOKO käytä KOKOa muistipuskurille\n" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=EROTIN käytä kenttäerottimena EROTINta, ei " #~ "siirtymää\n" #~ " ei-tyhjeestä tyhjeeseen\n" #~ " -T, --temporary-directory=HAK käytä HAKemistoa väliaikaistiedostoille, " #~ "ei\n" #~ " $TMPDIR tai %s; useampi valitsin " #~ "määrittelee\n" #~ " monta hakemistoa\n" #~ " -u, --unique jos -c on annettu: tarkista tarkka järjestys\n" #~ " ilman -c:tä: tulosta vain ensimmäinen\n" #~ " yhtäläisten joukosta\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated päätä rivit 0-tavuun, ei rivinvaihtoon\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "SIJ on F[.C][VALITSIMET], missä F on kentän numero ja C merkin sijainti\n" #~ "kentässä. VALITSIMET on yksi tai useampi yksikirjaiminen " #~ "lajitteluvalitsin,\n" #~ "jotka kumoavat kyseisen avaimen yleiset lajitteluvalitsimet. Jos avainta\n" #~ "ei ole annettu, käytetään koko riviä avaimena.\n" #~ "\n" #~ "KOKOon voi liittää kertoimen:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% muistista, b 1, K 1024 (oletus), sekä M, G, T, P, E, Z, Y.\n" #~ "Jos TIEDostoa ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ "\n" #~ "*** VAROITUS ***\n" #~ "Ympäristön määrittelemä käytössä oleva maa-asetusto vaikuttaa\n" #~ "lajittelujärjestykseen. Asettamalla LC_ALL=C otetaan käyttöön\n" #~ "perinteinen lajittelujärjestys, joka käyttää tavujen arvoja.\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "kirjoitetaan tiedostoon %s" #~ msgid "cannot create temporary file" #~ msgstr "väliaikaistiedoston luominen ei onnistu" #~ msgid "open failed" #~ msgstr "avaaminen epäonnistui" #~ msgid "fflush failed" #~ msgstr "puskurin tyhjennys epäonnistui" #~ msgid "close failed" #~ msgstr "sulkeminen epäonnistui" #~ msgid "dup2 failed" #~ msgstr "dup2 epäonnistui" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "väliaikaistiedoston luominen ei onnistu" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "väliaikaistiedoston luominen ei onnistu" #~ msgid "write failed" #~ msgstr "kirjoitus epäonnistui" #~ msgid "warning: cannot remove: %s" #~ msgstr "varoitus: ei voida poistaa: %s" #~ msgid "stat failed" #~ msgstr "tiedoston tilan lukeminen epäonnistui" #~ msgid "read failed" #~ msgstr "lukeminen epäonnistui" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: epäjärjestys: " #~ msgid "standard error" #~ msgstr "vakiovirhe" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: virheellinen kenttämääritys %s" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: virheellinen määrä merkkijonon %s alussa" #~ msgid "invalid number after `-'" #~ msgstr "virheellinen lukuarvo merkin ”-” jälkeen" #~ msgid "invalid number after `.'" #~ msgstr "virheellinen lukuarvo merkin ”.” jälkeen" #~ msgid "stray character in field spec" #~ msgstr "outo merkki kenttämäärityksessä" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "useita tulostusmuotoja annettu" #~ msgid "invalid number at field start" #~ msgstr "virheellinen lukuarvo kentän alussa" #~ msgid "field number is zero" #~ msgstr "kentän numero on nolla" #~ msgid "character offset is zero" #~ msgstr "merkin siirtymä on nolla" #~ msgid "invalid number after `,'" #~ msgstr "virheellinen lukuarvo merkin ”,” jälkeen" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "ylimääräinen operandi %s ei ole sallittu valitsimen -c kanssa" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Käyttö: %s [VALITSIN] [SYÖTE [ETULIITE]]\n" #, fuzzy #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Tulosta kiinteän kokoisia paloja SYÖTTEESTÄ tiedostoihin ETULIITEaa,\n" #~ "ETULIITEab, ...; oletusETULIITE on ”x”. Jos SYÖTEttä ei ole annettu tai\n" #~ "se on ”-”, luetaan vakiosyötettä.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N käytä N merkin pituisia jälkiliitteitä (oletus %" #~ "d)\n" #~ " -b, --bytes=KOKO kirjoita KOKO tavua yhteen tulostiedostoon\n" #~ " -C, --line-bytes=KOKO kirjoita KOKO tavua rivejä yhteen " #~ "tulostiedostoon\n" #~ " -d, --numeric-suffixes käytä numeerisia jälkiliitteitä kirjaimien " #~ "sijaan\n" #~ " -l, --lines=MÄÄRÄ kirjoita MÄÄRÄ riviä yhteen tulostiedostoon\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose tulosta ilmoitus vakiovirhetulosteeseen juuri\n" #~ " ennen kunkin tulostiedoston avaamista\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "LOHKOT- ja TAVUT-arvoihin voidaan liittää perään seuraavat kertoimet:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000², M 1024²,\n" #~ "GB 1000³, G 1024³, ja niin edelleen kertoimet T, P, E, Z, Y.\n" #~ "\n" #~ "Kukin MUUNNOS voi olla:\n" #~ "\n" #~ msgid "creating file %s\n" #~ msgstr "luodaan tiedostoa %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "voidaan jakaa vain yhdellä tavalla" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: virheellinen jälkiliitteen pituus" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: virheellinen tavumäärä" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: virheellinen rivimäärä" #~ msgid "line count option -%s%c... is too large" #~ msgstr "rivimäärävalitsin -%s%c... on liian suuri" #~ msgid "invalid number of lines: 0" #~ msgstr "virheellinen rivimäärä: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "varoitus: tunnistamaton suojaus ”\\%c”" #~ msgid "%s: invalid directive" #~ msgstr "%s: säännös ei kelpaa" #~ msgid "warning: backslash at end of format" #~ msgstr "varoitus: kenoviiva muotoilun lopussa" #~ msgid "cannot read file system information for %s" #~ msgstr "tiedostojärjestelmän tietojen lukeminen tiedostolle %s ei onnistu" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Käyttö: %s [VALITSIN] TIEDOSTO...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Näytä tiedoston tai tiedostojärjestelmän tila.\n" #~ "\n" #~ " -L, --dereference seuraa linkkejä\n" #~ " -f, --file-system näytä tiedostojärjestelmän tila tiedoston tilan " #~ "sijaan\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=MUOTO käytä annettua MUOTOa oletusmuodon sijaan;\n" #~ " tulosta rivinvaihto jokaisen MUODOn käytön " #~ "jälkeen\n" #~ " --printf=MUOTO kuten --format, mutta tulkitsee " #~ "kenoviivasuojaukset\n" #~ " eikä tulosta loppuun rivinvaihtoa.\n" #~ " Rivinvaihdon saa lisäämällä MUOTOon merkintä " #~ "\\n. -t, --terse tulosta tiedot lyhyessä muodossa\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Kelvolliset muotoilut tiedostoille (ilman valitsinta --file-system):\n" #~ "\n" #~ " %a Oikeudet oktaalimuodossa\n" #~ " %A Oikeudet helppolukuisessa muodossa\n" #~ " %b Varattujen lohkojen määrä (katso myös %B)\n" #~ " %B Kunkin ”%b”:n ilmoittaman lohkon koko tavuina\n" #, fuzzy #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %D Laitenumero heksadesimaalimuodossa\n" #~ " %d Laitenumero desimaalimuodossa\n" #~ " %F Tiedoston tyyppi\n" #~ " %f Tiedoston oikeudet heksadesimaalimuodossa\n" #~ " %G Omistajan ryhmän nimi\n" #~ " %g Omistajan ryhmä-ID\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Kovien linkkien määrä\n" #~ " %i I-solmunumero\n" #~ " %n Tiedostonimi\n" #~ " %N Tiedostonimi lainausmerkeissä, linkin seuraaminen jos symbolinen " #~ "linkki\n" #~ " %o IO-lohkokoko\n" #~ " %s Tiedoston koko tavuina\n" #~ " %t Major-laitetyyppi heksadesimaalimuodossa\n" #~ " %T Minor-laitetyyppi heksadesimaalimuodossa\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u Omistajan käyttäjä-ID\n" #~ " %U Omistajan käyttäjätunnus\n" #~ " %x Viimeisen käytön ajankohta\n" #~ " %X Viimeisen käytön ajankohta sekunteina epookista\n" #~ " %y Viimeisen sisällönmuutoksen ajankohta\n" #~ " %Y Viimeisen sisällönmuutoksen ajankohta sekunteina epookista\n" #~ " %z Viimeisen ominaisuusmuutoksen ajankohta\n" #~ " %Z Viimeisen ominaisuusmuutoksen ajankohta sekunteina vuoden " #~ "epookista\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Kelvolliset muotoilut tiedostojärjestelmille:\n" #~ "\n" #~ " %a Muille kuin pääkäyttäjälle vapaana olevien lohkojen määrä\n" #~ " %b Tiedostojärjestelmän datalohkojen yhteismäärä\n" #~ " %c Tiedostojärjestelmän tiedostosolmujen yhteismäärä\n" #~ " %d Tiedostojärjestelmän vapaiden tiedostosolmujen määrä\n" #~ " %f Tiedostojärjestelmän vapaiden lohkojen määrä\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Tiedostojärjestelmän ID heksadesimaalilukuna\n" #~ " %l Tiedostonimien enimmäispituus\n" #~ " %n Tiedoston nimi\n" #~ " %s Lohkon koko (käytetään nopeampiin siirtoihin)\n" #~ " %S Lohkon peruskoko (käytetään lohkomääriin)\n" #~ " %t Tyyppi heksadesimaalilukuna\n" #~ " %T Tyyppi helppolukuisessa muodossa\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Käyttö: %s [-F LAITE] [--file=LAITE] [ASETUS]...\n" #~ " tai: %s [-F LAITE] [--file=LAITE] [-a|--all]\n" #~ " tai: %s [-F LAITE] [--file=LAITE] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Näytä tai muuta päätteen ominaisuuksia.\n" #~ "\n" #~ " -a, --all näytä voimassa olevat asetukset luettavassa " #~ "muodossa\n" #~ " -g, --save näytä voimassa olevat asetukset stty-luettavassa " #~ "muodossa\n" #~ " -F, --file=LAITE avaa ja ota käyttöön määrätty LAITE vakiosyötteen " #~ "sijaan\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Valinnainen ”-” ennen ASETUSta tarkoittaa vastakohtaa. Ei-POSIX-" #~ "asetukset\n" #~ "on merkitty *:lla. Käytettävissä olevat asetukset riippuvat alustasta.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Erikoismerkit:\n" #~ " * dsusp MERKKI MERKKI lähettää terminaalin pysäytyssignaalin\n" #~ " eof MERKKI MERKKI lähettää tiedostonlopetuksen (syöte päättyy)\n" #~ " eol MERKKI MERKKI päättää rivin\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 MERKKI vaihtoehtoinen MERKKI rivin päättämiseen\n" #~ " erase MERKKI MERKKI pyyhkii viimeisimmän kirjoitetun merkin\n" #~ " intr MERKKI MERKKI lähettää keskeytyssignaalin\n" #~ " kill MERKKI MERKKI pyyhkii käsillä olevan rivin\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext MERKKI MERKKI syöttää seuraavan merkin lainattuna\n" #~ " quit MERKKI MERKKI lähettää lopetussignaalin\n" #~ " * rprnt MERKKI MERKKI uudistaa käsillä olevan rivin\n" #~ " start MERKKI MERKKI käynnistää tulosteen uudelleen pysäytettyään " #~ "sen\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop MERKKI MERKKI pysäyttää tulosteen\n" #~ " susp MERKKI MERKKI lähettää pysäytyssignaalin\n" #~ " * swtch MERKKI MERKKI vaihtaa toiselle kuoren tasolle\n" #~ " * werase MERKKI MERKKI pyyhkii viimeisimmän kirjoitetun sanan\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Erityisasetukset:\n" #~ " N aseta syöte- ja tulostenopeuksiksi N baudia\n" #~ " * cols N kerro ytimelle, että päätteen leveys on N merkkiä\n" #~ " * columns N kuten cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N aseta syötenopeudeksi N\n" #~ " * line N käytä rivikuria N\n" #~ " min N kun myös -icanon, aseta valmiin luvun merkkiminimiksi N\n" #~ " ospeed N aseta tulostenopeudeksi N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N kerro ytimelle, että päätteellä on N riviä\n" #~ " * size näytä ytimeltä saadut rivi- ja sarakemäärät\n" #~ " speed näytä päätteen nopeus\n" #~ " time N kun myös -icanon, aseta luvun aikarajaksi N " #~ "kymmenesosasekuntia\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Ohjausasetukset:\n" #~ " [-]clocal poista modeemin ohjaussignaalit käytöstä\n" #~ " [-]cread salli syötteen vastaanotto\n" #~ " * [-]crtscts ota RTS/CTS-kättely käyttöön\n" #~ " csN aseta merkkikooksi N bittiä, N välillä [5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb käytä kahta pysäytysbittiä per merkki (”-”:lla yksi)\n" #~ " [-]hup lähetä sulkusignaali kun viimeinen prosessi sulkee tty:" #~ "n\n" #~ " [-]hupcl kuten [-]hup\n" #~ " [-]parenb luo pariteettibitti tulosteeseen ja oleta " #~ "pariteettibitti syötteessä\n" #~ " [-]parodd aseta pariton pariteetti (myös ”-”:lla)\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Syöteasetukset:\n" #~ " [-]brkint katkokset aiheuttavat keskeytyssignaalin\n" #~ " [-]icrnl muunna vaununpalautus rivinvaihdoksi\n" #~ " [-]ignbrk jätä katkosmerkit huomiotta\n" #~ " [-]igncr jätä vaununpalautus huomiotta\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar jätä pariteettivirheelliset merkit huomiotta\n" #~ " * [-]imaxbel piippaa ja älä tyhjennä täyttä syötepuskuria merkille\n" #~ " [-]inlcr muunna rivinvaihto vaununpalautukseksi\n" #~ " [-]inpck ota syötteen pariteettitarkistus käyttöön\n" #~ " [-]istrip poista ylin (8:s) bitti syötteen merkeistä\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr " * [-]iutf8 oleta syötemerkit UTF-8-koodatuiksi\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc muunna isot kirjaimet pieniksi\n" #~ " * [-]ixany anna minkä tahansa merkin uudelleenkäynnistää tulosteen\n" #~ " [-]ixoff ota start/stop -merkkien lähetys käyttöön\n" #~ " [-]ixon ota XON/XOFF-vuonohjaus käyttöön\n" #~ " [-]parmrk merkitse pariteettivirheet (255-0-merkkisarjalla)\n" #~ " [-]tandem kuten [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Tulosteasetukset:\n" #~ " * bsN askelpalauttimen viivetyyli, N välillä [0..1]\n" #~ " * crN vaununpalautuksen viivetyyli, N välillä [0..3]\n" #~ " * ffN arkinsyötön viivetyyli, N välillä [0..1]\n" #~ " * nlN rivinvaihdon viivetyyli, N välillä [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl muunna vaununpalautus rivinvaihdoksi\n" #~ " * [-]ofdel käytä poistomerkkejä täyttöön tyhjien merkkien sijaan\n" #~ " * [-]ofill käytä täyttömerkkejä ajastuksen sijaan viivästyksille\n" #~ " * [-]olcuc muunna pienet kirjaimet isoiksi\n" #~ " * [-]onlcr muunna rivinvaihto vaununpalautus-rivinvaihdoksi\n" #~ " * [-]onlret rivinvaihto suorittaa vaununpalautuksen\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr ei tulosteta vaununpalautuksia ensimmäiseen " #~ "sarakkeeseen\n" #~ " [-]opost jälkikäsittele tuloste\n" #~ " * tabN vaakasarkaimen viivetyyli, N välillä [0..3]\n" #~ " * tabs sama kuin tab0\n" #~ " * -tabs sama kuin tab3\n" #~ " * vtN pystysarkaimen viivetyyli, N välillä [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Paikalliset asetukset:\n" #~ " [-]crterase toista erase-merkit näin: askelpalautin-välilyönti-" #~ "askelpalautin\n" #~ " * crtkill hävitä koko rivi totellen echoprt- ja echoe-asetuksia\n" #~ " * -crtkill hävitä koko rivi totellen echoctl- ja echok-asetuksia\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho toista kontrollimerkit hattumuodossa (`^c')\n" #~ " [-]echo toista syötetyt merkit\n" #~ " * [-]echoctl sama kuin [-]ctlecho\n" #~ " [-]echoe sama kuin [-]crterase\n" #~ " [-]echok toista rivinvaihto hävitysmerkin jälkeen\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke sama kuin [-]crtkill\n" #~ " [-]echonl toista rivinvaihto vaikka muita merkkejä ei " #~ "toistettaisi\n" #~ " * [-]echoprt toista pyyhityt merkit takaperin, ”\\” ja ”/” -merkkien " #~ "välissä\n" #~ " [-]icanon ota erase, kill, werase, ja rprnt -erikoismerkit " #~ "käyttöön\n" #~ " [-]iexten ota ei-POSIX-erikoismerkit käyttöön\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig ota interrupt-, quit- ja suspend-erikoismerkit käyttöön\n" #~ " [-]noflsh poista käytöstä interrupt- ja quit-erikoismerkkien " #~ "jälkeinen puskurintyhjennys\n" #~ " * [-]prterase sama kuin [-]echoprt\n" #~ " * [-]tostop pysäytä tausta-ajot, jotka yrittävät kirjoittaa " #~ "päätteelle\n" #~ " * [-]xcase kun myös icanon, piilota isot kirjaimet ”\\” -merkillä\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Yhdistelyasetukset:\n" #~ " * [-]LCASE sama kuin [-]lcase\n" #~ " cbreak sama kuin -icanon\n" #~ " -cbreak sama kuin icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked sama kuin brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof ja eol -merkit oletusarvoihinsa\n" #~ " -cooked sama kuin raw\n" #~ " crt sama kuin echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec sama kuin echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ " * [-]decctlq sama kuin [-]ixany\n" #~ " ek erase ja kill -merkit oletusarvoihinsa\n" #~ " evenp sama kuin parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp sama kuin -parenb cs8\n" #~ " * [-]lcase sama kuin xcase iuclc olcuc\n" #~ " litout sama kuin -parenb -istrip -opost cs8\n" #~ " -litout sama kuin parenb istrip opost cs7\n" #~ " nl sama kuin -icrnl -onlcr\n" #~ " -nl sama kuin icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp sama kuin parenb parodd cs7\n" #~ " -oddp sama kuin -parenb cs8\n" #~ " [-]parity sama kuin [-]evenp\n" #~ " pass8 sama kuin -parenb -istrip cs8\n" #~ " -pass8 sama kuin parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw sama kuin -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw sama kuin cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane sama kuin cread -ignbrk brkint -inlcr -igncr icrnl -" #~ "iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, kaikki\n" #~ " erikoismerkit oletusarvoihinsa.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Käsittele vakiosyötteeseen liitettyä tty:tä. Ilman argumentteja\n" #~ "tulostaa nopeuden baudeina, rivikurin ja poikkeamat stty sane'istä.\n" #~ "Asetuksissa MERKKI annetaan sellaisenaan tai koodattuna, esim. ^c,\n" #~ "0x37, 0177 tai 127; erikoisarvoja ”^-” ja ”undef” käytetään kun halutaan\n" #~ "erikoismerkit pois käytöstä.\n" #~ msgid "only one device may be specified" #~ msgstr "vain yhden laitteen voi määritellä" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "valitsimet verbose ja stty-readable -tulostetyyleille\n" #~ "ovat toisensa poissulkevat" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "tiloja ei voi asettaa, kun tulostetyyli on määriteltynä" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: ei-estävän tilan uudelleenasetus ei onnistunut" #~ msgid "invalid argument %s" #~ msgstr "virheellinen argumentti %s" #~ msgid "missing argument to %s" #~ msgstr "%s vaatii argumentin" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "virheellinen rivileveys: %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: kaikkia pyydettyjä toimenpiteitä ei voida suorittaa" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: tila\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: ei kokotietoja tälle laitteelle" #~ msgid "invalid integer argument %s" #~ msgstr "kokonaislukuargumentti %s ei kelpaa" #~ msgid "Password:" #~ msgstr "Salasana:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: laitteen /dev/tty avaaminen ei onnistu" #~ msgid "cannot set groups" #~ msgstr "ryhmien asetus ei onnistu" #~ msgid "cannot set group id" #~ msgstr "ryhmän id:n asetus ei onnistu" #~ msgid "cannot set user id" #~ msgstr "tunnuksen id:n asetus ei onnistu" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Käyttö: %s [VALITSIN]... [-] [TUNNUS [ARG]...]\n" #, fuzzy #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Vaihda vallitsevaksi käyttäjä- ja ryhmä-ID:ksi TUNNUSta vastaavat.\n" #~ "\n" #~ " -, -l, --login tee kuoresta kirjautumiskuori\n" #~ " -c, --command=KOMENTO välitä KOMENTO kuorelle valitsimella -c\n" #~ " -f, --fast välitä valitsin -f kuorelle (csh:lle tai " #~ "tcsh:lle)\n" #~ " -m, --preserve-environment älä uudelleenaseta ympäristömuuttujia\n" #~ " -p sama kuin -m\n" #~ " -s, --shell=KUORI aja KUORI, jos /etc/shells sallii sen\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Pelkkä - tekee saman kuin -l. Jos TUNNUSta ei ole annettu, sen oletetaan\n" #~ "olevan root.\n" #~ msgid "user %s does not exist" #~ msgstr "tunnusta %s ei ole olemassa" #~ msgid "incorrect password" #~ msgstr "väärä salasana" #~ msgid "using restricted shell %s" #~ msgstr "käytetään rajoitettua kuorta %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "varoitus: ei voida siirtyä hakemistoon %s" #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Kayvan Aghaiepour ja David MacKenzie" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Näytä kunkin TIEDOSTOn tarkistussumma ja lohkomäärä.\n" #~ "\n" #~ " -r kumoa -s, käytä BSD-summa-algoritmia ja 1k-lohkoja\n" #~ " -s, --sysv käytä System V -summa-algoritmia ja 512-tavuisia " #~ "lohkoja\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Pakota muuttuneet lohkot levylle, päivitä superlohko.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "jätetään kaikki argumentit huomiotta" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "HUOM: käytössä oleva kuori saattaa sisältää oman %s-versionsa,\n" #~ "joka yleensä korvaa korvaa tässä kuvatun version. Kuoren tukemista\n" #~ "ominaisuuksista saa lisää tietoa kuoren dokumentaatiosta.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help näytä tämä ohje ja poistu\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version tulosta versiotiedot ja poistu\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen\n" #~ "<%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Tulosta kukin TIEDOSTO vakiotulosteeseen, viimeinen rivi ensimmäisenä.\n" #~ "Jos TIEDOSTOa ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before liitä erotin tekstin eteen, ei perään\n" #~ " -r, --regex tulkitse erotin säännöllisenä lausekkeena\n" #~ " -s, --separator=MERKKIJ käytä MERKKIJonoa erottimena rivinvaihdon " #~ "sijaan\n" #~ msgid "%s: seek failed" #~ msgstr "%s: siirtyminen epäonnistui" #, fuzzy #~ msgid "record too large" #~ msgstr "%s: tiedosto on liian suuri" #~ msgid "cannot create temporary file %s" #~ msgstr "väliaikaistiedoston %s luominen ei onnistu" #~ msgid "cannot open %s for writing" #~ msgstr "tiedostoa %s ei voi avata kirjoitusta varten" #~ msgid "%s: write error" #~ msgstr "%s: kirjoitusvirhe" #~ msgid "separator cannot be empty" #~ msgstr "erotin ei voi olla tyhjä" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Tulosta kunkin TIEDOSTOn %d viimeistä riviä vakiotulosteeseen.\n" #~ "Jos TIEDOSTOja on useampi kuin yksi, jokaista ennen näytetään " #~ "tiedostonimi.\n" #~ "Jos TIEDOSTOa ei ole annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry jatka tiedoston avausyrityksiä vaikka " #~ "tiedosto\n" #~ " ei ole käytettävissä aluksi tai myöhemmässä\n" #~ " vaiheessa -- toimii vain valitsimen -f kanssa\n" #~ " -c, --bytes=N tulosta viimeiset N tavua\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " tulosta lisätty tieto tiedoston kasvaessa;\n" #~ " -f, --follow ja --follow=descriptor ovat sama " #~ "asia\n" #~ " -F sama kuin --follow=name --retry\n" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N tulosta viimeiset N riviä viimeisten %d " #~ "sijaan\n" #~ " --max-unchanged-stats=N\n" #~ " käytettäessä valitsinta --follow=name, avaa\n" #~ " uudelleen TIEDOSTO, jonka koko ei ole " #~ "muuttunut\n" #~ " N (oletus %d) tarkistuskerran aikana, jotta\n" #~ " nähdään onko se nimetty uudelleen tai " #~ "linkitys\n" #~ " poistettu (tämä on yleistä syrjäytettyjen\n" #~ " lokitiedostojen kanssa)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID valitsimen -f kanssa, lopeta prosessin PID\n" #~ " kuollessa\n" #~ " -q, --quiet, --silent älä koskaan tulosta tiedostonimen sisältäviä\n" #~ " otsakkeita\n" #~ " -s, --sleep-interval=S valitsimen -f kanssa, nuku noin S sekuntia\n" #~ " (oletus 1,0) toistojen välissä.\n" #~ " -v, --verbose tulosta aina tiedostonimen sisältävät " #~ "otsakkeet\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Jos N:n (tavu- tai rivimäärän) ensimmäinen merkki on ”+”, tulosta alkaen\n" #~ "kunkin tiedoston N:nnestä tavusta tai rivistä. Muussa tapauksessa " #~ "tulosta\n" #~ "kunkin tiedoston viimeiset N tavua tai riviä. N:n perään voi lisätä " #~ "kertoimen:\n" #~ "b 512, k 1024, m 1024².\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Valitsimen --follow (-f) kanssa tail seuraa oletuksena tiedostokahvaa, " #~ "mikä\n" #~ "tarkoittaa, että vaikka seurattava tiedosto nimetään uudelleen, tail " #~ "jatkaa\n" #~ "sen seuraamista. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Tämä oletuskäyttäytyminen ei ole toivottavaa, jos halutaan todella " #~ "seurata\n" #~ "tietyn nimistä tiedostoa, ei kahvaa (esim. lokeja syrjäytettäessä). " #~ "Siinä\n" #~ "tapauksessa on käytettävä valitsinta --follow=name. Tällöin tail avaa\n" #~ "seurattavan nimisen tiedoston uudelleen säännöllisesti tarkistaakseen,\n" #~ "onko jokin toinen ohjelma poistanut ja luonut sen uudelleen.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "suljetaan %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: siirtyminen suhteelliseen siirtymään %s ei onnistu" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: siirtyminen siirtymään %s suhteessa loppuun ei onnistu" #~ msgid "%s has become inaccessible" #~ msgstr "%s ei ole enää käytettävissä" # Joo, untailable on vähän hankala sana. #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s on korvattu seuraamiskelvottamalla tiedostolla; luovutaan tämän " #~ "tiedoston seuraamisesta" #~ msgid "%s has become accessible" #~ msgstr "%s on nyt käytettävissä" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s on ilmaantunut; seurataan uuden tiedoston loppua" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s on korvattu; seurataan uuden tiedoston loppua" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: ei-estävän tilan muuttaminen ei onnistu" #~ msgid "%s: file truncated" #~ msgstr "%s: tiedosto typistynyt" #~ msgid "no files remaining" #~ msgstr "tiedostoja ei ole jäljellä" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: tämän tyyppisen tiedoston loppua ei voi seurata; luovutaan tämän " #~ "tiedoston seuraamisesta" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "kenttänumero %s on liian suuri" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: virheellinen avausten välinen muuttumattomien tilan lukemisten " #~ "enimmäismäärä" #~ msgid "%s: invalid PID" #~ msgstr "%s: virheellinen PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: virheellinen sekuntimäärä" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "varoitus: --retry toimii vain seurattaessa nimen perusteella" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "warning: ei huomioida PID:tä; --pid=PID on käyttökelpoinen vain " #~ "seurattaessa" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "varoitus: --pid=PID ei ole tuettu tässä järjestelmässä" #~ msgid "cannot follow %s by name" #~ msgstr "tiedostoa %s ei voi seurata nimen perusteella" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "varoitus: vakiosyötteen seuraaminen ikuisesti on tehotonta" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Kopioi vakiosyöte jokaiseen TIEDOSTOon sekä vakiotulosteeseen.\n" #~ "\n" #~ " -a, --append lisää TIEDOSTOjen perään, älä korvaa\n" #~ " -i, --ignore-interrupts jätä keskeytyssignaalit huomiotta\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Jos TIEDOSTO on -, kopioidaan vakiotulosteeseen.\n" #~ msgid "missing argument after %s" #~ msgstr "%s vaatii argumentin" #~ msgid "invalid integer %s" #~ msgstr "virheellinen kokonaisluku %s" #, fuzzy #~ msgid "')' expected" #~ msgstr "”)” oli odotus\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "”)” oli odotus, saatiin %s\n" #~ msgid "%s: unary operator expected" #~ msgstr "%s: odotettiin unaarista operaattoria" #~ msgid "-nt does not accept -l" #~ msgstr "-nt ei hyväksy -l -lauseketta" #~ msgid "-ef does not accept -l" #~ msgstr "-ef ei hyväksy -l -lauseketta" #~ msgid "-ot does not accept -l" #~ msgstr "-ot ei hyväksy -l -lauseketta" #~ msgid "unknown binary operator" #~ msgstr "tuntematon binäärioperaattori" #~ msgid "%s: binary operator expected" #~ msgstr "%s: odotettiin binääristä operaattoria" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Käyttö: test LAUSEKE\n" #~ " tai: [ LAUSEKE ]\n" #~ " tai: [ VALITSIN\n" #~ "Poistu LAUSEKKEen määräämällä poistumiskoodilla.\n" #~ "\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Poistu tilakoodilla, jonka LAUSEKE määrittelee.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "LAUSEKE on tosi tai epätosi ja asettaa tilakoodin. Se on jokin " #~ "seuraavista:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( LAUSEKE ) LAUSEKE on tosi\n" #~ " ! LAUSEKE LAUSEKE on epätosi\n" #~ " LAUSEKE1 -a LAUSEKE2 sekä LAUSEKE1 että LAUSEKE2 ovat tosia\n" #~ " LAUSEKE1 -o LAUSEKE2 joko LAUSEKE1 tai LAUSEKE2 on tosi\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " [-n] MERKKIJONO MERKKIJONOn pituus on nollasta poikkeava\n" #~ " -z MERKKIJONO MERKKIJONOn pituus on nolla\n" #~ " MERKKIJONO1 = MERKKIJONO2 merkkijonot ovat yhteneväiset\n" #~ " MERKKIJONO1 != MERKKIJONO2 merkkijonot eivät ole yhteneväiset\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " KOK.LUKU1 -eq KOK.LUKU2 KOK.LUKU1 on yhtäsuuri kuin KOK.LUKU2\n" #~ " KOK.LUKU1 -ge KOK.LUKU2 KOK.LUKU1 on suurempi tai yhtäsuuri kuin KOK." #~ "LUKU2\n" #~ " KOK.LUKU1 -gt KOK.LUKU2 KOK.LUKU1 on suurempi kuin KOK.LUKU2\n" #~ " KOK.LUKU1 -le KOK.LUKU2 KOK.LUKU1 on pienempi tai yhtäsuuri kuin KOK." #~ "LUKU2\n" #~ " KOK.LUKU1 -lt KOK.LUKU2 KOK.LUKU1 on pienempi kuin KOK.LUKU2\n" #~ " KOK.LUKU1 -ne KOK.LUKU2 KOK.LUKU1 on erisuuri kuin KOK.LUKU2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " TIEDOSTO1 -ef TIEDOSTO2 tiedostoilla on sama laite ja sama inode-" #~ "numero\n" #~ " TIEDOSTO1 -nt TIEDOSTO2 TIEDOSTO1 on uudempi (muokkauspäiväys) kuin " #~ "TIEDOSTO2\n" #~ " TIEDOSTO1 -ot TIEDOSTO2 TIEDOSTO1 on vanhempi kuin TIEDOSTO2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b TIEDOSTO TIEDOSTO on olemassa ja on lohkolaitetiedosto\n" #~ " -c TIEDOSTO TIEDOSTO on olemassa ja on merkkilaitetiedosto\n" #~ " -d TIEDOSTO TIEDOSTO on olemassa ja on hakemisto\n" #~ " -e TIEDOSTO TIEDOSTO on olemassa\n" #, fuzzy #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f TIEDOSTO TIEDOSTO on olemassa ja on tavallinen tiedosto\n" #~ " -g TIEDOSTO TIEDOSTO on olemassa ja sen set-group-ID -bitti on " #~ "päällä\n" #~ " -h TIEDOSTO TIEDOSTO on olemassa ja on symbolinen linkki (sama kuin " #~ "-L)\n" #~ " -G TIEDOSTO TIEDOSTO on olemassa ja voimassaolevan ryhmän " #~ "omistuksessa\n" #~ " -k TIEDOSTO TIEDOSTO on olemassa ja sen ”sticky bit” on päällä\n" #, fuzzy #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L TIEDOSTO TIEDOSTO on olemassa ja on symbolinen linkki (sama kuin " #~ "-h)\n" #~ " -O TIEDOSTO TIEDOSTO on olemassa ja voimassaolevan käyttäjän " #~ "omistuksessa\n" #~ " -p TIEDOSTO TIEDOSTO on olemassa ja on nimetty putki\n" #~ " -r TIEDOSTO TIEDOSTO on olemassa ja luettavissa\n" #~ " -s TIEDOSTO TIEDOSTO on olemassa ja kooltaan suurempi kuin nolla\n" #, fuzzy #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S TIEDOSTO TIEDOSTO on olemassa ja on a socket\n" #~ " -t [TK] tiedostokahva TK (oletuksena stdout) on auki ja " #~ "päätelaite\n" #~ " -u TIEDOSTO TIEDOSTO on olemassa ja sen set-user-ID -bitti on " #~ "päällä\n" #~ " -w TIEDOSTO TIEDOSTO on olemassa ja kirjoitettavissa\n" #~ " -x TIEDOSTO TIEDOSTO on olemassa ja ajettavissa\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Huomaa, että sulut täytyy suojata kuorilta (esim. kenoviivoilla).\n" #~ "KOKONAISLUKU voi olla myös -l MERKKIJONO, joka laventuu MERKKIJONOn " #~ "pituudeksi.\n" #, fuzzy #~ msgid "Kevin Braunsdorf" #~ msgstr "Kevin Braunsdorf ja Matthew Bradburn" #, fuzzy #~ msgid "Matthew Bradburn" #~ msgstr "Kevin Braunsdorf ja Matthew Bradburn" #~ msgid "missing `]'" #~ msgstr "puuttuva ”]”" #~ msgid "extra argument %s" #~ msgstr "ylimääräinen argumentti %s" #, fuzzy #~ msgid "Jim Kingdon" #~ msgstr "Jim Meyering ja Paul Eggert" #~ msgid "creating %s" #~ msgstr "luodaan %s" #~ msgid "cannot touch %s" #~ msgstr "tiedostoa %s ei voi koskettaa" #~ msgid "setting times of %s" #~ msgstr "asetettaessa tiedoston %s aikoja" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a muuta vain käyttöaikaa\n" #~ " -c, --no-create älä luo tiedostoja\n" #~ " -d, --date=MERKKIJ jäsennä MERKKIJono ja käytä sitä nykyisen ajan " #~ "sijaan\n" #~ " -f (ei huomioida)\n" #~ " -m muuta vain muutosaikaa\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=TIED käytä tämän TIEDoston aikoja nykyisen ajan " #~ "sijaan\n" #~ " -t LEIMA käytä aikaa [[CC]VV]KKPPttmm[.ss] nykyisen ajan " #~ "sijaan\n" #~ " --time=SANA aseta aika SANAn mukaan: käyttöaika atime use " #~ "(sama kuin -a)\n" #~ " muuta aikaa mtime (sama kuin -m)\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Huomaa, että valitsimien -d ja -t hyväksymät aika-päiväysmuodot ovat\n" #~ "erilaisia.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "aika voidaan määrittää vain yhdestä lähteestä" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "varoitus: ”touch %s” on vanhentunut; käytä komentoa ”touch -t %04ld%02d%" #~ "02d%02d%02d.%02d”" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Käyttö: %s [VALITSIN]... JOUKKO1 [JOUKKO2]...\n" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Vaihda, purista, ja/tai poista merkkejä vakiosyötteestä, kirjoittaen\n" #~ "vakiotulosteeseen.\n" #~ "\n" #~ " -c, --complement komplementoi ensin JOUKKO1\n" #~ " -d, --delete poista JOUKKO1:ssä esiintyvät merkit, älä " #~ "vaihda\n" #~ " -s, --squeeze-repeats korvaa kukin JOUKKO1:ssä luetellun merkin " #~ "toistuva\n" #~ " syötesarja yhdellä kappaleella kyseistä " #~ "merkkiä\n" #~ " -t, --truncate-set1 typistä JOUKKO1 JOUKKO2:n pituuteen\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "JOUKOTt ovat merkkijonoja. Useimmat merkit edustavat itseään.\n" #~ "Tulkittavat sarjat ovat:\n" #~ "\n" #~ " \\NNN merkki, jonka oktaaliarvo on NNN (1–3 oktaalinumeroa)\n" #~ " \\\\ kenoviiva\n" #~ " \\a merkkiääni (BEL)\n" #~ " \\b askelpalautin\n" #~ " \\f paperinsyöttö\n" #~ " \\n rivinvaihto\n" #~ " \\r palautus\n" #~ " \\t vaakasarkain\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v pystysarkain\n" #~ " MERK1-MERK2 kaikki merkit MERK1:stä MERK2:een nousevassa " #~ "järjestyksessä\n" #~ " [MERK*] JOUKKO2:ssa, MERKin kopioita JOUKKO1:n pituuteen asti\n" #~ " [MERK*TOISTO] TOISTO kopiota MERKistä, TOISTO 8-järjestelmässä jos " #~ "alussa 0\n" #~ " [:alnum:] kaikki kirjaimet ja numerot\n" #~ " [:alpha:] kaikki kirjaimet\n" #~ " [:blank:] kaikki vaakasuuntaiset tyhjeet\n" #~ " [:cntrl:] kaikki ohjausmerkit\n" #~ " [:digit:] kaikki numerot\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] kaikki tulostuvat merkit, pois lukien välilyönti\n" #~ " [:lower:] kaikki pienet kirjaimet\n" #~ " [:print:] kaikki tulostuvat merkit, mukaan lukien välilyönti\n" #~ " [:punct:] kaikki välimerkit\n" #~ " [:space:] kaikki vaaka- tai pystysuuntaiset tyhjeet\n" #~ " [:upper:] kaikki isot kirjaimet\n" #~ " [:xdigit] kaikki 16-järjestelmän numerot\n" #~ " [=MERK=] kaikki merkit, jotka ovat yhtäläisiä MERKin kanssa\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Vaihtaminen tehdään, jos valitsinta -d ei ole annettu, ja sekä JOUKKO1 " #~ "että\n" #~ "JOUKKO2 on annettu. Valitsin -t voidaan antaa vain vaihdettaessa. " #~ "JOUKKO2\n" #~ "laajennetaan tarvittaessa JOUKKO1:n pituuteen toistamalla sen viimeistä\n" #~ "kirjainta. " # *** *** ** *** * ** * * #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "JOUKKO2:n mahdolliset ylimääräiset merkit jätetään huomiotta.\n" #~ "Vain rakenteet [:lower:] ja [:upper:] laajenevat aina nousevassa\n" #~ "järjestyksessä. Kun em. rakenteita käytetään JOUKKO2:ssa vaihdettaessa,\n" #~ "niiden on oltava pareittain määrittelemässä kirjainkoon muutosta.\n" #~ "Ellei " # edellinen lause jatkuu tähän, ärsyttävää. #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "vaihdeta tai poisteta, valitsin -s käyttää JOUKKO1:ä;\n" #~ "muussa tapauksessa puristaminen käyttää JOUKKO2:a, ja ilmenee " #~ "vaihtamisen\n" #~ "tai poistamisen jälkeen.\n" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "varoitus: moniselitteinen oktaalisuojaus \\%c%c%c tulkitaan\n" #~ "\t2-tavuiseksi sarjaksi \\0%c%c, %c" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "varoitus: kenoviiva merkkijonon lopussa" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "välin ”%s-%s” päätepisteet ovat käännetyssä järjestyksessä" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "virheellinen toistomäärä %s [c*n]-rakenteessa" #~ msgid "missing character class name `[::]'" #~ msgstr "puuttuva merkkiluokan nimi ”[::]”" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "puuttuva yhtäläisyysluokan merkki ”[==]”" #~ msgid "invalid character class %s" #~ msgstr "virheellinen merkkiluokka %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: yhtäläisyysluokan operandin on oltava yksittäinen merkki" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "outo merkki kenttämäärityksessä" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "toistorakenne [c*] ei saa esiintyä merkkijono1:ssä" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "toistorakenne [c*] saa esiintyä vain kerran merkkijono2:ssa" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "[=c=]-lausekkeita ei saa esiintyä merkkijono2:ssa vaihdettaessa" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "ellei typistetä joukko1:tä, merkkijono2 ei saa olla tyhjä" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "merkkijono2:n on kuvattava kaikki määrittelyjoukon merkit yhdeksi\n" #~ "vaihdettaessa käyttäen täydennettyjä merkkiluokkia" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "ainoat merkkiluokat, jotka vaihdettaessa saavat esiintyä merkkijono2:" #~ "ssa,\n" #~ "ovat ”upper” ja ”lower”" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "rakenne [c*] saa esiintyä merkkijono2:ssa vain muunnettaessa" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "vaihdettaessa on annettava kaksi merkkijonoa" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "poistettaessa toistoja puristamatta voidaan antaa vain yksi merkkijono" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "väärin aseteltu [:upper:]- ja/tai [:lower:]-rakenne" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s [huomiotta jätettävät komentoriviargumentit]\n" #~ " tai: %s VALITSIN\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN] [TIEDOSTO]\n" #~ "Kirjoita täysin järjestetty luettelo, joka on yhtäpitävä TIEDOSTOssa " #~ "olevan\n" #~ "osittaisen järjestyksen kanssa. Jos TIEDOSTOa ei anneta tai se on ”-”, " #~ "luetaan\n" #~ "vakiosyötettä.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: syöte sisältää parittoman määrän symboleja" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: syöte sisältää silmukan:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Käyttö: %s [VALITSIN]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Tulosta vakiosyötteeseen kytketyn päätteen tiedostonimi.\n" #~ "\n" #~ " -s, --silent, --quiet ei tulostetta, pelkkä poistumisen tilakoodin " #~ "palautus\n" #~ msgid "not a tty" #~ msgstr "ei ole tty" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Tulosta tiettyjä järjestelmätietoja. Komento ilman VALITSINta on sama\n" #~ "kuin -s.\n" #~ "\n" #~ " -a, --all tulosta kaikki tiedot seuraavassa " #~ "järjestyksessä\n" #~ " (paitsi -p ja -i, jos tuntemattomia):\n" #~ " -s, --kernel-name tulosta ytimen nimi\n" #~ " -n, --nodename tulosta koneen nimi verkossa\n" #~ " -r, --kernel-release tulosta ytimen versionumero\n" #, fuzzy #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version tulosta ytimen versiotiedot\n" #~ " -m, --machine tulosta laitteiston tyyppi\n" #~ " -p, --processor tulosta prosessorin tyyppi tai ”tuntematon”\n" #~ " -i, --hardware-platform tulosta laitteistoalusta tai ”tuntematon”\n" #~ " -o, --operating-system tulosta käyttöjärjestelmä\n" #~ msgid "cannot get system name" #~ msgstr "järjestelmän nimen haku ei onnistu" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Muunna kunkin TIEDOSTOn sisältämät välilyönnit sarkaimiksi, kirjoittaen\n" #~ "vakiotulosteeseen. Jos TIEDOSTOa ei anneta tai se on ”-”, luetaan " #~ "vakiosyötettä.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all muunna kaikki tyhjeet, ei vain rivien alussa olevia\n" #~ " --first-only muunna vain rivien alussa olevat tyhjeet (kumoaa\n" #~ " valitsimen -a)\n" #~ " -t, --tabs=N aseta sarkainkooksi N, ei 8 (ottaa käyttöön valitsimen " #~ "-a)\n" #~ " -t, --tabs=LUETT käytä pilkuilla erotettua sarkainkohtien LUETTeloa " #~ "(ottaa \n" #~ " käyttöön valitsimen -a)\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "sarkainasetin %s on liian suuri" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Käyttö: %s [VALITSIN]... [SYÖTE [TULOSTE]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Tulosta (vakio)SYÖTTEestä luetut peräkkäin esiintyvät identtiset rivit\n" #~ "vain kerran, kirjoittaen (vakio)TULOSTEeseen.\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count liitä rivin eteen sen esiintymiskertojen määrä\n" #~ " -d, --repeated tulosta vain useaan kertaan esiintyvät rivit\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=erotustapa] tulosta kaikki vähintään kahteen " #~ "kertaan\n" #~ " esiintyvät rivit\n" #~ " erotustapa={none(oletus),prepend,separate}\n" #~ " Erotus tehdään tyhjillä riveillä.\n" #~ " -f, --skip-fields=N älä vertaa N:ää ensimmäistä kenttää\n" #~ " -i, --ignore-case älä huomioi kirjainkokoa vertaillessa\n" #~ " -s, --skip-chars=N älä vertaa N:ää ensimmäistä merkkiä\n" #~ " -u, --unique tulosta vain ainutkertaiset rivit\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N vertaa vain rivien N:ää ensimmäistä merkkiä\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Kenttä on joukko tyhjeitä, joita seuraa joukko ei-tyhjeitä.\n" #~ "Kentät ohitetaan ennen merkkejä.\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "liian monta argumenttia" #~ msgid "invalid number of fields to skip" #~ msgstr "virheellinen ohitettavien kenttien määrä" #~ msgid "invalid number of bytes to skip" #~ msgstr "virheellinen ohitettavien tavujen määrä" #~ msgid "invalid number of bytes to compare" #~ msgstr "virheellinen verrattavien tavujen määrä" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "kaikkien vähintään kahteen kertaan esiintyvien rivien ja " #~ "esiintymiskertojen määrän tulostaminen on merkityksetöntä" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s TIEDOSTO\n" #~ " tai: %s VALITSIN\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Kutsu unlink-funktiota annetun TIEDOSTOn poistamiseksi.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "tiedoston %s linkitystä ei voi poistaa" #~ msgid "couldn't get boot time" #~ msgstr "käynnistysajan haku ei onnistu" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s käynnissä " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? käynnissä " #~ msgid "???? days ??:??, " #~ msgstr "???? vrk ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld vrk" #~ msgstr[1] "%ld vrk" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu käyttäjä" #~ msgstr[1] "%lu käyttäjää" #~ msgid ", load average: %.2f" #~ msgstr ", keskimääräinen kuorma: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Käyttö: %s [VALITSIN]... [ TIEDOSTO ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Näytä kellonaika, järjestelmän päälläoloaika, järjestelmään\n" #~ "kirjautuneiden käyttäjien määrä sekä ajojonon töiden keskimääräinen\n" #~ "lukumäärä viimeisten 1, 5 ja 15 minuutin ajalta.\n" #~ "Jos TIEDOSTOa ei ole annettu, käytä %s. %s TIEDOSTOna on yleinen.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Näytä kirjautuneet käyttäjät TIEDOSTOn mukaan.\n" #~ "Oletustiedosto on %s. %s on yleinen TIEDOSTOna.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Näytä kunkin TIEDOSTOn rivi-, sana- ja tavumäärät, sekä\n" #~ "kokonaismäärät jos TIEDOSTOja on useampi kuin yksi. Jos TIEDOSTOa ei ole\n" #~ "annettu, tai se on ”-”, luetaan vakiosyötettä.\n" #~ " -c, --bytes näytä tavumäärät\n" #~ " -m, --chars näytä merkkimäärät\n" #~ " -l, --lines näytä rivimäärät\n" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length näytä pisimmän rivin pituus\n" #~ " -w, --words näytä sanamäärät\n" #~ msgid " old " #~ msgstr "kauan" #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "sulj=" #~ msgid "exit=" #~ msgstr "pois=" #~ msgid "clock change" #~ msgstr "kellon siirto" #~ msgid "run-level" #~ msgstr "käyttötaso" #~ msgid "last=" #~ msgstr "edell=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# käyttäjiä=%lu\n" #~ msgid "NAME" #~ msgstr "NIMI" #~ msgid "LINE" #~ msgstr "YHTEYS" #~ msgid "TIME" #~ msgstr "AIKA" #~ msgid "IDLE" #~ msgstr "JOUTEN" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "KOMMENTTI" #~ msgid "EXIT" #~ msgstr "POIS" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Käyttö: %s [VALITSIN]... [ TIEDOSTO | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all sama kuin -b -d --login -p -r -t -T -u\n" #~ " -b, --boot viimeisimmän käynnistyksen aika\n" #~ " -d, --dead näytä kuolleet prosessit\n" #~ " -H, --heading näytä otsikkorivi\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup yritä selvittää palvelinnimet DNS:n avulla\n" #~ " -m vain koneen nimi ja vakiosyötteeseen liittyvä tunnus\n" #~ " -p, --process näytä aktiiviset prosessit, jotka init on " #~ "käynnistänyt\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count tunnukset ja kirjautuneena olevien käyttäjien määrä\n" #~ " -r, --runlevel näytä voimassa oleva käyttötaso\n" #~ " -s, --short näytä vain nimi, yhteys ja aika (oletus)\n" #~ " -t, --time näytä viimeisin järjestelmäkellon muutosaika\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg näytä myös tunnuksen viestitila merkeillä +, - tai ?\n" #~ " -u, --users luettele kirjautuneet käyttäjät\n" #~ " --message sama kuin -T\n" #~ " --writable sama kuin -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "%s on oletusTIEDOSTO. %s TIEDOSTOna on yleinen.\n" #~ "Jos ARG1 ja ARG2 annetaan, -m on oletetaan: ”am i” tai ”mom likes” ovat\n" #~ "tavallisia.\n" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Tulosta voimassaolevaa käyttäjä-id:tä vastaava käyttäjänimi.\n" #~ "Sama kuin id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: käyttäjä-ID:tä %lu vastaavaa nimeä ei löydy\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Käyttö: %s [MERKKIJONO]...\n" #~ " tai: %s VALITSIN\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Tulosta toistuvasti riviä, jolla on kaikki annetut MERKKIJONO(t) tai " #~ "”y”.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Käyttö: %s KÄYTTÄJÄNIMI KOMENTO [ARGUMENTTI]...\n" #~ " tai: %s VALITSIN\n" #, fuzzy #~ msgid "unrecognized operand %s=%s" #~ msgstr "tunnistamaton valitsin %s=%s" #~ msgid "block size" #~ msgstr "lohkokoko" #, fuzzy #~ msgid "invalid %s `%s'" #~ msgstr "virheellinen käyttäjä %s" #, fuzzy #~ msgid "invalid character following %s in `%s'" #~ msgstr "virheellinen merkkiluokka %s" #, fuzzy #~ msgid "%s `%s' too large" #~ msgstr "%s on liian suuri" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "" #~ "valitsin --kilobytes ei ole suositeltava; käytä valitsinta -k sen sijaan" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N:n perään voi liittää kertoimen: b 512, k 1024, m 1024².\n" #~ msgid "cannot print only user and only group" #~ msgstr "pelkän tunnuksen ja pelkän ryhmän tulostus ei onnistu" #~ msgid "cannot get supplemental group list" #~ msgstr "lisäryhmälistan haku ei onnistu" #~ msgid "skip argument" #~ msgstr "ohitusargumentti" #~ msgid "limit argument" #~ msgstr "rajoitusargumentti" #~ msgid "minimum string length" #~ msgstr "merkkijonon vähimmäispituus" #~ msgid "width specification" #~ msgstr "leveysmääritys" #~ msgid "page range" #~ msgstr "sivuväli" #, fuzzy #~ msgid "the --copyright option is deprecated; use --version instead" #~ msgstr "" #~ "valitsin --reply ei ole suositeltava; käytä valitsinta -i tai -f sen " #~ "sijaan" #~ msgid "sort size" #~ msgstr "lajittelun koko" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "KOKOon voi liittää perään kertoimen: b on 512, k on 1k, m on 1 Mega.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Päivitä jokaisen TIEDoston käyttö- ja muutosajat nykyiseen aikaan.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Varoitus: valitsin -i poistetaan tulevassa julkaisussa; käytä valitsinta\n" #~ "-u sen sijaan" #~ msgid "symbolic links are not supported on this system" #~ msgstr "tämä järjestelmä ei tue symbolisia linkkejä" #~ msgid "strip failed" #~ msgstr "strip epäonnistui" #~ msgid "value %s is so large that it is not representable" #~ msgstr "arvo %s on liian suuri esitettäväksi" #~ msgid "fifo files not supported" #~ msgstr "fifo-tiedostot eivät ole tuettuja" #~ msgid "cannot remove `.' or `..'" #~ msgstr "hakemistoa ”.” tai ”..” ei voi poistaa" # Muita sanamahdollisuuksia kuin "kohde"? #~ msgid "cannot change owner and/or group of %s" #~ msgstr "kohteen %s omistajaa ja/tai ryhmää ei voi muuttaa" #~ msgid "cannot chdir to directory %s" #~ msgstr "siirtyminen hakemistoon %s ei onnistu" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "numeerisen UID:n kirjautumisryhmää ei löydy" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root älä kohtele juurta (”/”) erityisesti (oletus)\n" #~ " --preserve-root estä rekursiivinen toiminta juuressa (”/”)\n" #, fuzzy #~ msgid "" #~ "warning: unportable BRE: %s: using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "varoitus: epäsiirrettävä säännöllinen lauseke: `%s': ”^”-merkin käyttö \n" #~ "yksinkertaisen säännöllisen lausekkeen alussa ei ole siirrettävää;\n" #~ "se jätetään huomiotta" #~ msgid "unrecognized option `-%c'" #~ msgstr "tunnistamaton valitsin ”-%c”" #~ msgid "cannot return to working directory" #~ msgstr "työhakemistoon palaaminen epäonnistui" #~ msgid "cannot return to current directory" #~ msgstr "työhakemistoon palaaminen ei onnistu" #~ msgid "create symbolic link %s to %s" #~ msgstr "luo symbolinen linkki %s kohteeseen %s" #~ msgid "create hard link %s to %s" #~ msgstr "luo symbolinen linkki %s kohteeseen %s" #~ msgid "cannot set permissions of directory %s" #~ msgstr "hakemiston %s oikeuksien asettaminen ei onnistu" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "fifon %s oikeuksien asettaminen ei onnistu" #~ msgid "cannot set permissions of %s" #~ msgstr "tiedoston %s oikeuksien asettaminen ei onnistu" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Tämä ohjelma on vapaaohjelmisto; voitte levittää edelleen ja/tai\n" #~ "muuttaa sitä Free Software Foundationin julkaiseman GNU General Public\n" #~ "License'in ehtojen mukaisesti; joko version 2, tai (valintanne mukaan)\n" #~ "minkä tahansa myöhemmän version.\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Tätä ohjelmaa levitetään siinä toivossa, että se olisi hyödyllinen,\n" #~ "mutta TAKUUTA EI OLE; ei edes KAUPALLISESTI HYVÄKSYTTÄVÄSTÄ LAADUSTA\n" #~ "tai SOPIVUUDESTA TIETTYYN TARKOITUKSEEN. Katsokaa lisätietoja GNU\n" #~ "General Public License'istä.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #~ msgstr "" #~ "Olette saaneet kopion GNU General Public License'istä tämän\n" #~ "ohjelman mukana. Ellette saaneet, kirjoittakaa Free Software Foundation,\n" #~ "Inc.:ille osoitteeseen 51 Franklin Street, Fifth Floor,\n" #~ "Boston, MA 02110-1301, USA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "siirtyminen ”..”-hakemistoon hakemistosta %s ei onnistu" #~ msgid "cannot lstat `.' in %s" #~ msgstr "hakemiston ”.” tilan lukeminen ei onnistu hakemistossa %s" #~ msgid "cannot lstat %s" #~ msgstr "tiedoston %s tilan lukeminen ei onnistu" #~ msgid "cannot chdir from %s to %s" #~ msgstr "siirtyminen hakemistosta %s hakemistoon %s ei onnistu" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Poista (irrota linkitys) TIEDOSTO(t).\n" #~ "\n" #~ " -d, --directory irrota TIEDOSTOn linkitys, vaikka se olisi ei-" #~ "tyhjä\n" #~ " hakemisto (vain pääkäyttäjä; toimii vain jos\n" #~ " järjestelmä tukee ”unlink”-toimintoa\n" #~ " ei-tyhjille hakemistoille)\n" #~ " -f, --force älä huomioi puuttuvia tiedostoja, älä kysy " #~ "mitään\n" #~ " -i, --interactive kysy ennen jokaista poistoa\n" #, fuzzy #~ msgid "" #~ "WARNING: % of % computed checksum did NOT matchWARNING: " #~ "% of % computed checksums did NOT match" #~ msgstr "VAROITUS: %1$d %3$s %2$d tarkistetusta EI täsmännyt" # Tämä tulee varmasti vastaan monessa ohjelmassa, voisi sopia # jonkun tietyn suomennoksen sille, ja käyttää sitä sitten aina. #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Tämä on vapaa ohjelmisto; katsokaa kopiointiehdot lähdekoodista. Takuuta " #~ "EI OLE;\n" #~ "ei edes KAUPALLISESTI HYVÄKSYTTÄVÄSTÄ LAADUSTA tai SOPIVUUDESTA TIETTYYN\n" #~ "TARKOITUKSEEN.\n" #~ msgid "too few arguments" #~ msgstr "liian vähän argumentteja" #~ msgid "closing standard output" #~ msgstr "suljetaan vakiotuloste" #~ msgid "cannot change to null group" #~ msgstr "ryhmän nimi ei voi olla tyhjä" #~ msgid "group number" #~ msgstr "ryhmänumero" #~ msgid "invalid group number %s" #~ msgstr "virheellinen ryhmänumero %s" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Kukin OIKEUDET-argumentti koostuu yhdestä tai useammasta kirjaimista " #~ "ugoa,\n" #~ "yhdestä symboleista +-= ja yhdestä tai useammasta kirjaimista rwxXstugo.\n" #~ msgid "invalid mode string: %s" #~ msgstr "virheellinen oikeusmerkkijono: %s" #~ msgid "cannot overwrite directory %s" #~ msgstr "hakemistoa %s ei voi korvata" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: annettu kohdehakemisto ei ole olemassa" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: annettu kohde ei ole hakemisto" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "kopioidaan useita tiedostoja, mutta viimeinen argumentti %s ei ole " #~ "hakemisto" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "varoitus: --version-control (-V) on vanhentunut; sen tuki poistetaan\n" #~ "jossakin tulevassa julkaisussa. Käytä sen sijaan --backup=%s." #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] output date/time in ISO 8601 " #~ "format.\n" #~ " TIMESPEC=`date' for date only,\n" #~ " `hours', `minutes', or `seconds' for date " #~ "and\n" #~ " time to the indicated precision.\n" #~ " --iso-8601 without TIMESPEC defaults to " #~ "`date'.\n" #~ msgstr "" #~ "Näytä tämänhetkinen aika annetulla MUOTOILUlla, tai aseta järjestelmän " #~ "aika.\n" #~ "\n" #~ " -d, --date=MERKKIJONO näytä MERKKIJONOn määräämä aika \"now\":n " #~ "sijaan\n" #~ " -f, --file=PVMTIEDOSTO kuten --date kerran kullekin PVMTIEDOSTOn " #~ "riville\n" #~ " -ITIMESPEC, --iso-8601[=AIKAMÄÄRE] näytä päivämäärä/aika ISO 8601 -" #~ "muodossa.\n" #~ " AIKAMÄÄRE=\"date\" pelkälle päivämäärälle,\n" #~ " \"hours\", \"minutes\", tai \"seconds\" " #~ "päivämäärälle ja\n" #~ " ajalle mainitulla tarkkuudella.\n" #~ " --iso-8601 ilman AIKAMÄÄREttä olettaa \"date" #~ "\":n.\n" #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F sama kuin %Y-%m-%d\n" #~ " %g kaksinumeroinen vuosiluku, joka vastaa %V-viikkonumeroa\n" #~ " %G nelinumeroinen vuosiluku, joka vastaa %V-viikkonumeroa\n" #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z RFC-822-tyylinen numeerinen aikavyöhyke (-0500) (epästandardi " #~ "laajennos)\n" #~ " %Z aikavyöhyke (esim. EET), tai tyhjä, jos aikavyöhykettä ei voida " #~ "määrittää\n" #~ "\n" #~ "Oletuksena date täyttää numeeriset kentät etunollilla. GNU date " #~ "tunnistaa\n" #~ "seuraavat määreet \"%\"-merkin ja numeerisen ohjaimen välillä.\n" #~ "\n" #~ " \"-\" (yhdysviiva) älä täytä kenttää\n" #~ " \"_\" (alaviiva) täytä kenttä välilyönneillä\n" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "liikaa argumentteja, jotka eivät ole valitsimia: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "muotoilumerkkijonoa ei saa käyttää yhdessä valitsimen --rfc-822 (-R) " #~ "kanssa" #~ msgid "undefined" #~ msgstr "määrittelemätön" #~ msgid "cannot get time of day" #~ msgstr "ajan haku ei onnistu" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s tietuetta sisään\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s tietuetta ulos\n" #~ msgid "truncated records" #~ msgstr "typistettyä tietuetta" #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "" #~ "\tvain yksi conv joukoista {ascii,ebcdic,ibm}, {lcase,ucase}, {block," #~ "unblock},\n" #~ "{unblock,sync}" #~ msgid "file offset out of range" #~ msgstr "tiedostosiirtymä on sallitun välin ulkopuolella" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "dircolors:in tietokannan tulostavan valitsimen kanssa ei voi\n" #~ "käyttää TIEDOSTO-argumenttia" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Kaiuta MERKKIJONO(t) vakiotulosteeseen.\n" #~ "\n" #~ " -n älä lisää rivinvaihtoa loppuun\n" #~ " -e ota käyttöön alla lueteltujen kenoviivallisten\n" #~ " ohjausmerkkien tulkinta\n" #~ " -E poista käytöstä kyseisten merkkien tulkinta " #~ "MERKKIJONOista\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "valitsin \"-LIST\" on vanhentunut; käytä \"-t LIST\"" #~ msgid "`%s' is too large" #~ msgstr "\"%s\" on liian suuri" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %s [huomiotta jätettävät komentoriviargumentit]\n" #~ " tai: %s VALITSIN\n" #~ "Poistutaan virheestä kertovalla tilakoodilla.\n" #~ "\n" #~ "Näitä valitsinten nimiä ei voi käyttää lyhennettyinä.\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "valitsin \"%s\" on vanhentunut; käytä \"%s\"" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: tavumäärä on suuri" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "valitsin \"-%s\" on vanhentunut; käytä \"-%c %.*s%.*s%s\"" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "asennetaan useita tiedostoja, mutta viimeinen argumentti %s ei ole " #~ "hakemisto" #~ msgid "%s is a directory" #~ msgstr "%s on hakemisto" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "tiedoston %s aikaleimojen hakeminen ei onnistu" #~ msgid "too many non-option arguments" #~ msgstr "liikaa argumentteja, jotka eivät ole valitsimia" #~ msgid "invalid field number: `%s'" #~ msgstr "virheellinen sarakenumero: \"%s\"" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "virheellinen sarakenumero tiedostolle 1: \"%s\"" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "virheellinen sarakenumero tiedostolle 2: \"%s\"" #~ msgid "too few non-option arguments" #~ msgstr "liian vähän argumentteja, jotka eivät ole valitsimia" #~ msgid "%s: File exists" #~ msgstr "%s: Tiedosto on olemassa" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Käyttö: %s [VALITSIN]... KOHDE [LINKIN_NIMI]\n" #~ " tai: %s [VALITSIN]... KOHDE... HAKEMISTO\n" #~ " tai: %s [VALITSIN]... --target-directory=HAKEMISTO KOHDE...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "useita linkkejä luotaessa viimeisen argumentin on oltava hakemisto" #~ msgid "User name too long" #~ msgstr "Käyttäjänimi on liian pitkä" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary lue tiedostot binäärimuodossa (oletus DOSissa/" #~ "Windowsissa)\n" #~ " -c, --check vertaa %s-summia annettuun luetteloon\n" #~ " -t, --text lue tiedostot tekstimuodossa (oletus)\n" #~ msgid "file" #~ msgstr "tiedosto" #~ msgid "files" #~ msgstr "tiedostoa" #~ msgid "checksum" #~ msgstr "tarkistussumma" #~ msgid "checksums" #~ msgstr "tarkistussummaa" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "valitsimet --string ja --check ovat toisensa poissulkevia" #~ msgid "no files may be specified when using --string" #~ msgstr "tiedostoja ei voi antaa käytettäessä valitsinta --string" #~ msgid "only one argument may be specified when using --check" #~ msgstr "käytettäessä valitsinta --check voi antaa vain yhden argumentin" #~ msgid "wrong number of arguments" #~ msgstr "väärä määrä argumentteja" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "fifo-tiedostoille ei voi antaa major- ja minor-laitearvoja" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "viimeisen argumentin on oltava hakemisto siirrettäessä useita tiedostoja" #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Aja KOMENTO säädetyllä vuorotusprioriteetilla.\n" #~ "Ilman KOMENTOa, näytä voimassaoleva prioriteetti. SÄÄTÖ on oletuksena " #~ "10.\n" #~ "Sen arvoalue on -20:stä (korkein prioriteetti) 19:ään (matalin).\n" #~ "\n" #~ " -n, --adjustment=SÄÄTÖ lisää prioriteettiin SÄÄTÖ\n" #~ msgid "invalid option `%s'" #~ msgstr "valitsin \"%s\" ei kelpaa" #~ msgid "invalid priority `%s'" #~ msgstr "prioriteetti \"%s\" ei kelpaa" #~ msgid "cannot get priority" #~ msgstr "prioriteetin haku ei onnistu" #~ msgid "cannot set priority" #~ msgstr "prioriteetin asetus ei onnistu" #~ msgid "failed to redirect standard output" #~ msgstr "vakiotulosteen uudelleenohjaus epäonnistui" #~ msgid "old-style offset" #~ msgstr "vanhantyylinen siirtymä" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "virheellinen toinen operandi \"%s\" yhteensopivuustilassa" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "kahden viimeisen argumentin on yhteensopivuustilassa oltava siirtymiä" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Määritä siirrettäväksi kelpaamattomia rakenteita NIMESSÄ.\n" #~ "\n" #~ " -p, --portability tarkista muillekin POSIX-järjestelmille kuin vain " #~ "tälle\n" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "polku \"%s\" sisältää siirrettäväksi kelpaamattoman merkin \"%c\"" #~ msgid "`%s' is not a directory" #~ msgstr "\"%s\" ei ole hakemisto" #~ msgid "directory `%s' is not searchable" #~ msgstr "haku ei onnistu hakemistosta \"%s\"" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "nimen \"%s\" pituus %ld ylittää raja-arvon %ld" #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "polun \"%s\" pituus %lu ylittää raja-arvon %ld" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "virheellinen sivunumeroväli valitsimelle \"--pages\": \"%s\"" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "virheellinen aloitussivu valitsimelle \"--pages\": \"%s\"" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "virheellinen lopetussivu valitsimelle \"--pages\": \"%s\"" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "aloitussivun numero on suurempi kuin lopetussivun numero valitsimelle \"--" #~ "pages\"" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "virheellinen palstamäärä valitsimelle \"--columns=PALSTA\": \"%s\"" # tätä ei käytetä mihinkään, tyhmää #~ msgid "%b %e %H:%M %Y" #~ msgstr "%e. %Bta %Y %H:%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "aloitussivunumero on suurempi kuin sivujen kokonaismäärä: \"%d\"" #~ msgid "Page %d" #~ msgstr "Sivu %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Käyttö: %s muotoilu [argumentti...]\n" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "valitsin \"-%s\" on vanhentunut; käytä \"-l %s\"" #~ msgid "" #~ "Display file or filesystem status.\n" #~ "\n" #~ " -f, --filesystem display filesystem status instead of file status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Näytä tiedoston tai tiedostojärjestelmän tila.\n" #~ "\n" #~ " -f, --filesystem näytä tiedostojärjestelmän tila tiedoston tilan " #~ "sijaan\n" #~ " -c --format=MUOTO käytä annettua MUOTOa oletusmuodon sijaan\n" #~ " -L, --dereference seuraa linkkejä\n" #~ " -t, --terse tulosta tiedot lyhyessä muodossa\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "" #~ "Varoitus: valitsin \"-l\" ei ole suositeltava; käytä valitsinta \"-L\" " #~ "sen sijaan" #~ msgid "stdin: read error" #~ msgstr "vakiosyöte: lukuvirhe" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: virheellinen jälkiliitemerkki käytöstä poistuvassa valitsimessa" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "liian monta argumenttia; Käytettäessä tail:in käytöstä poistuvaa\n" #~ "valitsinsyntaksia (%s), tiedostoargumentteja saa olla vain yksi. Käytä\n" #~ "vastaavaa valitsinta -n tai -c sen sijaan." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Varoitus: ei ole siirrettävää käyttää kahta tai useampaa " #~ "tiedostoargumenttia\n" #~ "tail:in käytöstä poistuvan valitsinsyntaksin (%s) kanssa. Käytä " #~ "vastaavaa\n" #~ "valitsinta -n tai -c sen sijaan." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "valitsin \"%s\" on vanhentunut; käytä \"%s-%c %.*s\"" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: virheellinen maksimimäärä peräkkäisiä koonmuutoksia" #~ msgid "argument expected\n" #~ msgstr "odotettiin argumenttia\n" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: odotettiin kokonaislukulauseketta\n" #~ msgid "before -lt" #~ msgstr "ennen operaattoria -lt" #~ msgid "after -lt" #~ msgstr "operaattorin -lt jälkeen" #~ msgid "before -le" #~ msgstr "ennen operaattoria -le" #~ msgid "after -le" #~ msgstr "operaattorin -le jälkeen" #~ msgid "before -gt" #~ msgstr "ennen operaattoria -gt" #~ msgid "after -gt" #~ msgstr "operaattorin -gt jälkeen" #~ msgid "before -ge" #~ msgstr "ennen operaattoria -ge" #~ msgid "after -ge" #~ msgstr "operaattorin -ge jälkeen" #~ msgid "before -ne" #~ msgstr "ennen operaattoria -ne" #~ msgid "after -ne" #~ msgstr "operaattorin -ne jälkeen" #~ msgid "before -eq" #~ msgstr "ennen operaattoria -eq" #~ msgid "after -eq" #~ msgstr "operaattorin -eq jälkeen" #~ msgid "after -t" #~ msgstr "operaattorin -t jälkeen" #~ msgid "too many arguments\n" #~ msgstr "liian monta argumenttia\n" #~ msgid "file arguments missing" #~ msgstr "tiedostoargumentit puuttuvat" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "virheellinen kenoviivasuojaus \"\\%c\"" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "poistettaessa ja puristettaessa toistoja on annettava kaksi merkkijonoa" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "puristettaessa toistoja on annettava vähintään yksi merkkijono" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "virheellinen kirjainkoon muutos; vaihdettaessa jokaisella merkkijono1:n\n" #~ "[:lower:]- tai [:upper:]-rakenteella on oltava vastinrakenne\n" #~ "([:upper:]-rakenteen vastine [:lower:], tai päinvastoin) merkkijono2:ssa" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Käyttö: %s [huomiotta jätettävät komentoriviargumentit]\n" #~ " tai: %s VALITSIN\n" #~ "Poistu onnistumisesta kertovalla tilakoodilla.\n" #~ "\n" #~ "Näitä valitsinnimiä ei voi käyttää lyhennettyinä.\n" #~ "\n" #~ msgid "only one argument may be specified" #~ msgstr "voidaan antaa vain yksi argumentti" #~ msgid "tab size contains an invalid character" #~ msgstr "sarkainkoko sisältää virheellisen merkin" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "valitsin \"-LIST\" on vanhentunut; käytä \"--first-only -t LIST\"" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "valitsin \"-%lu\" on vanhentunut; käytä \"-f %lu\"" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle näytä myös joutenoloaika muodossa TUNNIT:MINUUTIT, .\n" #~ " tai kauan (ei suositeltava, käytä valitsinta -u)\n" #~ " -l, --login näytä järjestelmän sisäänkirjausprosessit\n" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: UID:lle %u ei löydy käyttäjänimeä\n" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Käyttö: %s [VALITSIN]... VASEN_TIEDOSTO OIKEA_TIEDOSTO\n" #~ msgid "*** invalid date/time ***" #~ msgstr "*** virheellinen päiväys/aika ***" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjörn Granlund, David MacKenzie ja Jim Meyering" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp ja David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: rajoittimen jälkeen odotetaan merkkiä \"+\" tai \"-\"" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie ja Jim Meyering" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie ja Stuart Kemp" #~ msgid "Torbjorn Granlund, David MacKenzie, and Paul Eggert" #~ msgstr "Torbjörn Granlund, David MacKenzie ja Paul Eggert" #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie ja Jim Meyering" #~ msgid "Torbjorn Granlund, David MacKenzie, Paul Eggert, and Jim Meyering" #~ msgstr "Torbjörn Granlund, David MacKenzie, Paul Eggert ja Jim Meyering" #~ msgid "cannot change to parent of directory %s" #~ msgstr "hakemiston %s ylähakemistoon ei voi siirtyä" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins ja David MacKenzie" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker ja David MacKenzie" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie ja Jim Meyering" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram ja David MacKenzie" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat ja David MacKenzie" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie ja Kaveh Ghazi" #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David MacKenzie ja Richard Mlynarik" #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Richard Stallman ja Jim Meyering" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau ja David MacKenzie" #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Ian Lance Taylor ja Jim Meyering" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman ja David MacKenzie" #~ msgid "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith" #~ msgstr "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie ja Randy Smith" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie ja Michael Stone" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "kun alkuarvo loppuarvoa suurempi, täytyy lisäyksen olla\n" #~ "negatiivinen" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "kun alkuarvo loppuarvoa pienempi, täytyy lisäyksen olla\n" #~ "positiivinen" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Varoitus: valitsimen \"-l\" toiminta muuttuu tulevassa julkaisussa POSIX-" #~ "yhteensopivaksi" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "Kirjain \"w\" voidaan jättää pois valitsimessa -wMÄÄRÄ.\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=KOKO näytä ensimmäiset KOKO tavua\n" #~ " -n, --lines=MÄÄRÄ näytä ensimmäiset MÄÄRÄ riviä, oletuksen 10 " #~ "sijaan\n" #~ msgid "invalid number" #~ msgstr "virheellinen lukuarvo" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s on suurempi kuin tämän järjestelmän maksimitiedostokoko" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: ohjausmerkki ei kelpaa" #~ msgid "program error" #~ msgstr "ohjelmavirhe" #~ msgid "stack overflow" #~ msgstr "pinon ylivuoto" dc3dd-7.1.614/po/eu.po0000644000175000017500000064667211233346647014064 0ustar amedicoamedico# translation of coreutils-5.2.1.po to Euskara # Basque translation of 5.2.1. # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the Coreutils-5.2.1 package. # Mikel Olasagasti , 2004. # msgid "" msgstr "" "Project-Id-Version: coreutils-5.2.1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2005-01-04 20:27+0100\n" "Last-Translator: Mikel Olasagasti \n" "Language-Team: Basque \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "ezin da %s direktorioa sortu" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Saiatu `%s --help' erabiltzen informazio gehiagorako.\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Erabilera: %s [ZENBAKIA]...\n" " edo: %s AUKERA\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Kopiatu a eta e\n" " behartu eta\n" " a\n" " zerrenda\n" " kopiatu\n" " a e" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" "FITXATEGIA FITXATEGIA horren ordez -\n" " a\n" " - FITXATEGIA FITXATEGIA horren ordez -\n" " hasi -\n" " hasi - e" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 #, fuzzy msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "eta maiatzak bider M MB M B eta aktibatuta errepikatu arte E Y maiatzak e e" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "da a" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "a SIGUSR1 a martxan dd - eta e\n" " dd -\n" "\n" " in\n" " e" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Sistema-errore ezezaguna" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "%s sarrera fitxategia itxitzen" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "%s irteera fitxategia itxitzen" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Irteera" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "%s irekitzen" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "HUTS EGIN DA" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "%s: '--%s' aukera ezezaguna\n" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "baliogabea" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "baliogabea" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "baliogabea" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "baliogabea" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "baliogabea" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "baliogabea hasi" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "baliogabeko taldea" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "baliogabea" #: src/dc3dd.c:2913 #, fuzzy, c-format msgid "invalid number %s" msgstr "baliogabea" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "honekin edo" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "honekin edo" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "honekin edo" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "honekin edo" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "honekin edo" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "honekin edo" #: src/dc3dd.c:3116 #, fuzzy, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "errepikatu arte\n" " - mota errepikatu arte zerrenda -" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "%s irakurtzen" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: ezin da kendu" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "baliogabea zabalera horren ordez" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "-" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "%s direktorioa irakurtzen" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "%s direktorioa irakurtzen" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "%s-ra idazten" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, fuzzy, c-format msgid "fsync failed for %s" msgstr "huts egin da %s irekitzen" #: src/dc3dd.c:3907 msgid "standard input" msgstr "sarrera estandarra" #: src/dc3dd.c:3938 msgid "standard output" msgstr "irteera estandarra" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ "ASCII\n" #~ " ASCII\n" #~ " ASCII\n" #~ " honekin tamaina\n" #~ " in tamaina honekin\n" #~ " e" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "ezin dira biak, erabiltzailea eta taldea, alde batera utzi" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "eta" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "baliogabea zabalera horren ordez" #~ msgid "error writing %s" #~ msgstr "errorea %s idazten" #~ msgid "invalid argument %s for %s" #~ msgstr "%s baliogabeko argumentua da %s-(r)entzat" #~ msgid "ambiguous argument %s for %s" #~ msgstr "%s argumentu anbiguoa da %s-(r)entzat" #~ msgid "Valid arguments are:" #~ msgstr "Baliozko argumentuak hauek dira:" #, fuzzy #~ msgid "error closing file" #~ msgstr "%s sarrera fitxategia itxitzen" #~ msgid "write error" #~ msgstr "idazketa errorea" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "baimenak errepikatu arte" #~ msgid "regular empty file" #~ msgstr "fitxategi erregular hutsa" #~ msgid "regular file" #~ msgstr "Espresio erregularra" #~ msgid "directory" #~ msgstr "direktorioa" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "esteka sinbolikoa" #~ msgid "socket" #~ msgstr "socket-a" #~ msgid "message queue" #~ msgstr "Bidali ilara" #~ msgid "semaphore" #~ msgstr "semaforoa" #~ msgid "shared memory object" #~ msgstr "memoria partekatuaren objektua" #, fuzzy #~ msgid "typed memory object" #~ msgstr "memoria partekatuaren objektua" #~ msgid "weird file" #~ msgstr "fitxategi arraroa" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "fifo fitxategiek ez dute euskarririk" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "fifo fitxategiek ez dute euskarririk" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "fifo fitxategiek ez dute euskarririk" #, fuzzy #~ msgid "System error" #~ msgstr "idazketa errorea" #, fuzzy #~ msgid "Unknown error" #~ msgstr "Sistema-errore ezezaguna" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: '%s' aukera anbiguoa da\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: '--%s' aukerak ez du argumenturik onartzen\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: '%c%s' aukerak ez du argumenturik onartzen\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: '%s' aukerak argumentu bat behar du\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: '--%s' aukera ezezaguna\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: '%c%s' aukera ezezaguna\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: -- %c aukera ilegala\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: -- %c aukera baliogabea\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: aukerak --%c argumentu bat behar du\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: '-W %s' aukera anbiguoa da\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: '-W.%s' aukerak ez du argumenturik onartzen\n" #~ msgid "cannot change permissions of %s" #~ msgstr "ezin da %s-(r)en baimenak aldatu" #~ msgid "cannot create directory %s" #~ msgstr "ezin da %s direktorioa sortu" #~ msgid "memory exhausted" #~ msgstr "memoria agortuta" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "Inprimatu Fitxategi-izena - e e" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: fitxategi moeta baliogabea" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "baliogabea" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "baliogabea" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "memoria agortuta" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "baliogabea" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "in bilatu" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "in bilatu" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "in bilatu" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "arriskutsua da errekurtsiboki erabiltzea %s-n (%s-(r)en berdina" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "erabili --no-preserve-root segurtasun neurri hau ekiditeko" #~ msgid "^[yY]" #~ msgstr "^[bB]" #~ msgid "^[nN]" #~ msgstr "^[eE]" #, fuzzy #~ msgid "setting permissions for %s" #~ msgstr "baimenak errepikatu arte" #~ msgid "character out of range" #~ msgstr "karakterea barrutitik kanpora" #~ msgid "invalid user" #~ msgstr "baliogabeko erabiltzailea" #~ msgid "invalid group" #~ msgstr "baliogabeko taldea" #, fuzzy #~ msgid "invalid spec" #~ msgstr "baliogabeko erabiltzailea" #~ msgid "Written by %s.\n" #~ msgstr "%s-k idatzia.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "%s-k eta %s-k idatzia.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "%s, %s eta %s-k idatzia.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "%s, %s, %s,\n" #~ "eta %s-k idatzia.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "%s, %s, %s,\n" #~ "%s eta %s-k idatzia.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "%s, %s, %s,\n" #~ "%s, %s eta %s-k idatzia.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "%s, %s, %s,\n" #~ "%s, %s, %s, eta %s-k idatzia.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "%s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "eta %s-k idatzia.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "%s, %s, %s,\n" #~ "%s, %s, %s, %s,%s, eta %s-k idatzia.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "%s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s,·eta beste batzuk idatzia.\n" #~ msgid "invalid argument: %s" #~ msgstr "baliogabeko argumentua: %s" #~ msgid "string comparison failed" #~ msgstr "kate konparaketak huts egin du" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Ezarri LC_ALL='C' arazo hau une batez konpontzeko" #~ msgid "The strings compared were %s and %s." #~ msgstr "Alderatutako bi kateak %s eta %s izan dira." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "kate konparaketak huts egin du" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s luzeegia da" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version bertsioari buruzko informazioa atera eta irten\n" #, fuzzy #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "ez FITXATEGIA edo FITXATEGIA da e" #~ msgid "read error" #~ msgstr "irakurketa errorea" #, fuzzy #~ msgid "invalid input" #~ msgstr "baliogabeko erabiltzailea" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "baliogabea tamaina" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "`%s' eragigai extra" #~ msgid "closing standard input" #~ msgstr "sarrera estandarra itxitzen" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s IZENA [ATZIZKIA]\n" #~ " edo: %s AUKERA\n" #, fuzzy #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "Inprimatu IZENA honekin edozein a e e" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Erabilera: %s [AUKERA] [FITXATEGIA]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "FITXATEGIA edo e\n" #~ " A\n" #~ " lerroz behin\n" #~ "\n" #~ " E -\n" #~ " e lerroz behin\n" #~ " e" #, fuzzy #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ "\n" #~ " jn.\n" #~ " enoratua\n" #~ " erabili eta M errepikatu arte eta e" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "aktibatuta" #~ msgid "%s: input file is output file" #~ msgstr "%s: sarrera fitxategia irteera fitxategia da" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "-" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "-" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "- e" #~ msgid "cannot access %s" #~ msgstr "ezin da %s-ra sartu" #~ msgid "%s" #~ msgstr "%s" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "%s-ren baimenak aldatzen" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "JABEA FITXATEGIA\n" #~ " edo FITXATEGIA\n" #~ " edo FITXATEGIA e" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Aldatu taldea - FITXATEGIA taldea - FITXATEGIA - e\n" #~ " a da\n" #~ " - lotura\n" #~ " lotura bere gainera e" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "\n" #~ " erabili taldea\n" #~ " balioa\n" #~ " G aktibatuta eta\n" #~ " a errepikatu arte e e" #, fuzzy #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "a da G da Baldintzak da bat ere ez e\n" #~ " T a da a lotura\n" #~ " a\n" #~ " lotura a\n" #~ "\n" #~ " edozein lehenetsia e e" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "baimenak errepikatu arte" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "failed to get attributes of %s" #~ msgstr "-" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "baliogabea taldea" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Erabilera: %s [AUKERA]... TALDE FITXATEGIA...\n" #~ " edo: %s [AUKERA]... -- reference=R-FITXATEGIA FITXATEGIA...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Aldatu taldea - FITXATEGIA taldea - FITXATEGIA - e\n" #~ " a da\n" #~ " - lotura\n" #~ " lotura bere gainera e" #, fuzzy #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ "h ez lotura horren ordez - edozein\n" #~ " aktibatuta\n" #~ " - a e" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ "ez lehenetsia\n" #~ " aktibatuta e" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " erabili taldea\n" #~ " balioa\n" #~ " G aktibatuta eta\n" #~ " a errepikatu arte e e" #, fuzzy #~ msgid "getting new attributes of %s" #~ msgstr "berria -" #, fuzzy #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "lotura e" #, fuzzy #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "modua - e" #, fuzzy #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "modua - e" #, fuzzy #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "modua - e" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "lotura" #~ msgid "changing permissions of %s" #~ msgstr "%s-ren baimenak aldatzen" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "baimenak errepikatu arte" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "FITXATEGIA\n" #~ " edo FITXATEGIA\n" #~ " edo FITXATEGIA e" #, fuzzy #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Aldatu modua - FITXATEGIA e\n" #~ " a da e" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ "ez lehenetsia\n" #~ " aktibatuta e" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "\n" #~ " a errepikatu arte\n" #~ " erabili modua horren ordez -\n" #~ " G eta e" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "baliogabea modua" #, fuzzy #~ msgid "changed ownership of %s to %s\n" #~ msgstr "- e" #, fuzzy #~ msgid "changed group of %s to %s\n" #~ msgstr "taldea - e" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "ezin da aldatu %s-(r)en jabegoa" #, fuzzy #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "- e" #, fuzzy #~ msgid "failed to change group of %s to %s\n" #~ msgstr "taldea - e" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "- e" #, fuzzy #~ msgid "ownership of %s retained as %s\n" #~ msgstr "- e" #, fuzzy #~ msgid "group of %s retained as %s\n" #~ msgstr "taldea - e" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "- e" #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "ezin da %s kendu" #~ msgid "changing ownership of %s" #~ msgstr "%s-ren jabetza aldatzen" #~ msgid "changing group of %s" #~ msgstr "%s-ren taldea aldatzen" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Erabilera: %s [AUKERA]... TALDE FITXATEGIA...\n" #~ " edo: %s [AUKERA]... -- reference=R-FITXATEGIA FITXATEGIA...\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Aldatu jabea eta edo taldea - FITXATEGIA JABEA eta edo jabea eta taldea - " #~ "FITXATEGIA - e\n" #~ " a da\n" #~ " - lotura\n" #~ " lotura bere gainera e" #, fuzzy #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ "JABEA\n" #~ " jabea eta edo taldea -\n" #~ " jabea eta edo taldea\n" #~ " maiatzak in a\n" #~ " da errepikatu arte e" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " erabili jabea eta taldea\n" #~ " JABEA\n" #~ " G aktibatuta eta\n" #~ " a errepikatu arte e e" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "da Taldea da taldea bider a JABEA eta maiatzak e" #, fuzzy #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "KOMANDOA\n" #~ " edo e" #, fuzzy #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "Exekutatu KOMANDOA honekin e e" #, fuzzy #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "ez da lehenetsia e" #~ msgid "cannot run command %s" #~ msgstr "ezin da %s komandoa exekutatu" #~ msgid "%s: file too long" #~ msgstr "%s fitxategia luzeegia da" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Erabilera: %s [FITXATEGIA]...\n" #~ " edo: %s [AUKERA]\n" #, fuzzy #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "Inprimatu eta - FITXATEGIA e e" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Erabilera: %s [AUKERA]... 1FITXATEGIA 2FITXATEGIA\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "" #~ "Ordenatutako 1FITXATEGIA eta 2FITXATEGIA alderatzen ditu lerroz lerro.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "ez hirukoa Zutabea hau daukana esklusiboa bikoa hau daukana lerroz behin " #~ "esklusiboa hirukoa hau daukana lerroz behin e" #, fuzzy #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " lerroz behin esklusiboa\n" #~ " lerroz behin esklusiboa\n" #~ " lerroz behin in e" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "baimenak errepikatu arte" #, fuzzy #~ msgid "failed to preserve ownership for %s" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "failed to preserve authorship for %s" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "cannot open %s for reading" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "failed to get file system create context" #~ msgstr "kopiatu - aktibatuta" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "taldea - e" #~ msgid "cannot remove %s" #~ msgstr "ezin da %s kendu" #, fuzzy #~ msgid "removed %s\n" #~ msgstr "e" #~ msgid "writing %s" #~ msgstr "%s idazten" #, fuzzy #~ msgid "preserving times for %s" #~ msgstr "errepikatu arte" #~ msgid "closing %s" #~ msgstr "%s itxitzen" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "modua " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: %s gainidatzi?" #, fuzzy #~ msgid "%s and %s are the same file" #~ msgstr "eta" #, fuzzy #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "honekin" #, fuzzy #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "honekin" #, fuzzy #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "honekin" #, fuzzy #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "gora" #, fuzzy #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "gora" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "honekin" #, fuzzy #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "kopiatu a bere gainera" #, fuzzy #~ msgid "will not create hard link %s to directory %s" #~ msgstr "lotura" #, fuzzy #~ msgid "cannot create hard link %s to %s" #~ msgstr "lotura" #, fuzzy #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "a - bere gainera" #~ msgid "cannot move %s to %s" #~ msgstr "ezin izan da %s %s-(r)a mugitu" #, fuzzy #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "gailua" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "-" #, fuzzy #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "kopiatu lotura" #, fuzzy #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "erlatiboa in" #, fuzzy #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "lotura" #~ msgid "cannot create link %s" #~ msgstr "ezin da %s esteka sortu" #, fuzzy #~ msgid "cannot read symbolic link %s" #~ msgstr "lotura" #, fuzzy #~ msgid "cannot create symbolic link %s" #~ msgstr "lotura" #, fuzzy #~ msgid "%s has unknown file type" #~ msgstr "ezezaguna mota" #, fuzzy #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "e" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "ITURBURUA\n" #~ " edo ITURBURUA DIREKTORIOA\n" #~ " edo DIREKTORIOA ITURBURUA e" #, fuzzy #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "Kopiatu ITURBURUA edo ITURBURUA DIREKTORIOA e e" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Beharrezkoak diren argumentuak aukera luzeetan, beharrezkoak dira aukera " #~ "txikietan ere.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ "a\n" #~ " a -\n" #~ "\n" #~ " kopiatu kopiatu -\n" #~ " ez lotura e" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ "ez\n" #~ " behartu\n" #~ " eta\n" #~ " lehenago\n" #~ " T e" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ "lotura lotura horren ordez -\n" #~ "\n" #~ " modua\n" #~ " lehenetsia\n" #~ " modua\n" #~ " e" #, fuzzy #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ "ez\n" #~ " bide-izena DIREKTORIOA\n" #~ " ez e" #, fuzzy #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "G kopiatu\n" #~ " lehenago\n" #~ " honekin behartu e" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ "bai ez\n" #~ "\n" #~ " -\n" #~ " edozein ITURBURUA\n" #~ " e" #, fuzzy #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ "lotura horren ordez -\n" #~ " S\n" #~ " DIREKTORIOA ITURBURUA DIREKTORIOA e" #, fuzzy #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ "kopiatu ITURBURUA da\n" #~ " edo\n" #~ " da\n" #~ " da eginda\n" #~ " x aktibatuta uneko e" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "lehenetsia ITURBURUA bider a eta da da bider auto a ITURBURUA hau daukana " #~ "a - - e e" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "da honekin edo maiatzak edo BERTSIOA e e" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ "bat ere ez desaktibatuta da\n" #~ "\n" #~ " sinplea\n" #~ " sinplea sinplea e" #, fuzzy #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "a a - ITURBURUA behartu eta eta ITURBURUA eta errepikatu arte e" #, fuzzy #~ msgid "failed to preserve times for %s" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "failed to preserve permissions for %s" #~ msgstr "baimenak errepikatu arte" #~ msgid "cannot make directory %s" #~ msgstr "ezin da %s direktorioa egin" #~ msgid "%s exists but is not a directory" #~ msgstr "%s badago baina ez da direktorio bat" #~ msgid "accessing %s" #~ msgstr "%s-(r)a sartzen" #, fuzzy #~ msgid "missing file operand" #~ msgstr "zerrenda -" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "da a" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "a" #, fuzzy #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "da erabili horren ordez" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "irteera fitxategi anitz espezifikatu dira" #, fuzzy #~ msgid "cannot make both hard and symbolic links" #~ msgstr "eta" #, fuzzy #~ msgid "backup type" #~ msgstr "mota" #, fuzzy #~ msgid "%s: line number out of range" #~ msgstr "-" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "-" #, fuzzy #~ msgid " on repetition %s\n" #~ msgstr "aktibatuta e" #, fuzzy #~ msgid "error in regular expression search" #~ msgstr "in bilatu" #, fuzzy #~ msgid "write error for %s" #~ msgstr "idazketa errorea `%s'-rentzat" #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "geroago" #, fuzzy #~ msgid "%s: `}' is required in repeat count" #~ msgstr "da in" #, fuzzy #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "eta" #, fuzzy #~ msgid "%s: invalid regular expression: %s" #~ msgstr "baliogabea" #~ msgid "%s: invalid pattern" #~ msgstr "%s: baliogabeko eredua" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "da" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "da" #, fuzzy #~ msgid "invalid format width" #~ msgstr "baliogabea zabalera" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "baliogabea" #, fuzzy #~ msgid "missing conversion specifier in suffix" #~ msgstr "in" #, fuzzy #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "baliogabea in" #, fuzzy #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "baliogabea in" #, fuzzy #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "in" #, fuzzy #~ msgid "missing %% conversion specification in suffix" #~ msgstr "in" #~ msgid "%s: invalid number" #~ msgstr "%s: baliogabeko zenbakia" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Erabilera: %s [AUKERA]... FITXATEGI EREDUA...\n" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "Irteera - FITXATEGIA bider - e e" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ "erabili horren ordez -\n" #~ " AURRIZKIA erabili AURRIZKIA horren ordez -\n" #~ " aktibatuta e" #, fuzzy #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ "e erabili - horren ordez -\n" #~ " -\n" #~ " hutsik hutsik e" #, fuzzy #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "FITXATEGIA da maiatzak e" #, fuzzy #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " kopiatu gora\n" #~ " kopiatu gora a\n" #~ " a\n" #~ " -\n" #~ " e da a edo bider a e" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Erabilera: %s [AUKERA]... [FITXATEGIA]...\n" #, fuzzy #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "Inprimatu - lerroz behin FITXATEGIA e e" #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ "\n" #~ "\n" #~ " erabili horren ordez - errepikatu arte e" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ "edozein\n" #~ " hau daukana ez\n" #~ " da\n" #~ " e enoratua e" #, fuzzy #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ "lerroz behin\n" #~ " KATEA erabili KATEA\n" #~ " lehenetsia da erabili e" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "eta - edo da gora - edo bider da - e\n" #~ " I I edo\n" #~ " I I edo -\n" #~ " I M I M edo\n" #~ " M lehen M edo e ez FITXATEGIA edo FITXATEGIA da e" #, fuzzy #~ msgid "invalid byte or field list" #~ msgstr "baliogabea edo zerrenda" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "baliogabea zabalera" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "baliogabea modua" #~ msgid "byte offset %s is too large" #~ msgstr "%s byte offset-a luzeegia da" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "da" #, fuzzy #~ msgid "only one type of list may be specified" #~ msgstr "mota - zerrenda maiatzak" #, fuzzy #~ msgid "the delimiter must be a single character" #~ msgstr "a" #, fuzzy #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "a zerrenda - edo" #, fuzzy #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "maiatzak aktibatuta" #, fuzzy #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "lerroz behin e aktibatuta" #, fuzzy #~ msgid "missing list of fields" #~ msgstr "zerrenda -" #, fuzzy #~ msgid "missing list of positions" #~ msgstr "zerrenda -" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Erabilera: %s [AUKERA]... [+FORMATUA]\n" #~ " edo: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ "FITXATEGIA azken - FITXATEGIA\n" #~ " G\n" #~ " KATEA bider KATEA\n" #~ " edo Unibertsala Ordua e" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "errepikatu arte segundo Unibertsala Ordua e\n" #~ " a\n" #~ " a Ig. Lr. e" #, fuzzy #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ "A Igandea Larunbata\n" #~ " hilabetea\n" #~ " B hilabetea urtarrila abendua\n" #~ " eta Lr. e" #, fuzzy #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ "C urtea bider eta\n" #~ " eguna - hilabetea\n" #~ " mm dd\n" #~ " eguna - hilabetea e" #, fuzzy #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ "h\n" #~ " T ordu\n" #~ " jn. ordu\n" #~ " eguna - urtea e" #, fuzzy #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ "ordu\n" #~ " ordu\n" #~ " m hilabetea\n" #~ " M minutu e" #, fuzzy #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ "e a\n" #~ " I\n" #~ " edo in\n" #~ " am edo pm in\n" #~ " ordu mm M\n" #~ " G ordu mm\n" #~ " segundo UTC a e" #, fuzzy #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ "S segundo da a segundo\n" #~ " a\n" #~ " ordu mm\n" #~ " eguna - astea Astelehena e" #, fuzzy #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ "astea - urtea honekin Igandea lehen eguna - astea\n" #~ " B astea - urtea honekin Astelehena lehen eguna - astea\n" #~ " eguna - astea Igandea\n" #~ " M astea - urtea honekin Astelehena lehen eguna - astea e" #, fuzzy #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ "x mm dd\n" #~ " X T M S\n" #~ " b azken bikoa - urtea\n" #~ " Y urtea e" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "irteera fitxategi anitz espezifikatu dira" #, fuzzy #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "the options to print and set the time may not be used together" #~ msgstr "eta maiatzak" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "a edozein a honekin." #~ msgid "cannot set date" #~ msgstr "ezin da data ezarri" #~ msgid "time %s is out of range" #~ msgstr "%s ordua barrutitik kanpora dago" #~ msgid "Filesystem Type" #~ msgstr "Fitx-sist. Moeta" #~ msgid "Filesystem " #~ msgstr "Fitxategi-sistema" #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inodoak IErabil ILibre IErab%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Tamai Erab Libre Era%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Tamai Erab Libre Era%%" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %4s-bloke Erab Eskuragar Edukiera" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-bloke Erabil. Eskurag. Erab%%" #~ msgid " Mounted on\n" #~ msgstr " Non muntatua\n" #~ msgid "cannot get current directory" #~ msgstr "ezin da uneko direktorioa lortu" #~ msgid "cannot change to directory %s" #~ msgstr "ezin da %s direktoriora aldatu" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "ezin da 'stat' egin uneko direktorioan (unekoa %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Erabilera: %s [AUKERA]... [FITXATEGIA]...\n" #, fuzzy #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "FITXATEGI bakoitza dagoen fitxategi-sistemari buruzko informazioa " #~ "erakutsi, edo\n" #~ "lehenetsitako moduan fitxategi-sistema guztiena.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 0 bloke dizuten fitxategi-sistemak ere erakutsi\n" #~ " -B, --block-size=TAMAINUA erabili TAMAINUA-byte-eko blokeak\n" #~ " -h, --human-readable gizaki-irakurgai formatuan eman tamainuak (adib., " #~ "1K 234M 2G)\n" #~ " -H, --si analogoa, but 1000 erabiliz potentzia bezala 1024 " #~ "beharrean\n" #, fuzzy #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes erakutsi inodoen erabilera blokeenaren beharrean\n" #~ " -k honen berdina --block-size=1K\n" #~ " -l, --local Mugatu zerrendaketa fitxategi-sistema lokaletara\n" #~ " --no-sync ez deitu sync-i erabilera datuak lortu aurretik " #~ "(lehenetsia)\n" #, fuzzy #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability erabili POSIX irteera formatua\n" #~ " --sync deitu sync-i erabilera datuak jaso aurretik\n" #~ " -t, --type=MOETA mugatu fitxategi-sistema zerrendaketa MOTA " #~ "moetakoetara\n" #~ " -T, --print-type inprimatu fitxategi-sistema moeta\n" #~ " -x, --exclude-type=MOETA mugatu fitxategi-sistema zerrendaketa MOETA " #~ "moetakoa ez direnera\n" #~ " -v (ignoratua)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "TAMAINUA hauetako bat izan daiteke (edo zenbaki oso bat aukeran honako " #~ "batez jarraitua):\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, edo berdina hauekin G, T, P, " #~ "E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "%s fitxategi-sistema moeta aukeratuta eta eskludituta" #~ msgid "Warning: " #~ msgstr "Abisua:" #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%sezin da irakurri muntaturiko fitxategi-sistemen taula" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Erabilera: %s [AUKERA]... [FITXATEGIA]\n" #, fuzzy #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Irteera e -\n" #~ "\n" #~ " C\n" #~ " e" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "FITXATEGIA da koloreak erabili errepikatu arte eta a da aktibatuta - e" #, fuzzy #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "baliogabea segundo" #~ msgid "" #~ msgstr "" #, fuzzy #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "eta a" #, fuzzy #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "ez eta ez mota" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s IZENA\n" #~ " edo: %s AUKERA\n" #, fuzzy #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "Inprimatu IZENA honekin osagaia IZENA hau daukana ez e e" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Erabilera: %s [AUKERA]... TALDE FITXATEGIA...\n" #~ " edo: %s [AUKERA]... -- reference=R-FITXATEGIA FITXATEGIA...\n" #, fuzzy #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "- FITXATEGIA errepikatu arte e e" #, fuzzy #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ "a errepikatu arte\n" #~ " tamaina\n" #~ " tamaina da maiatzak\n" #~ " in\n" #~ " eta\n" #~ " B tamaina TAMAINA erabili TAMAINA\n" #~ " tamaina tamaina\n" #~ " a\n" #~ " e" #, fuzzy #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ "T a\n" #~ "\n" #~ " h in\n" #~ " h erabili -\n" #~ " tamaina\n" #~ " e" #, fuzzy #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ "\n" #~ " ez edozein uneko da lehenetsia\n" #~ " honekin\n" #~ " S tamaina -\n" #~ " a errepikatu arte e" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ "x aktibatuta\n" #~ " X FITXATEGIA FITXATEGIA edozein in FITXATEGIA\n" #~ "\n" #~ " I errepikatu arte a edo honekin\n" #~ " da I edo\n" #~ " da\n" #~ " e" #~ msgid "total" #~ msgstr "guztira" #, fuzzy #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "ABISUA erabili T - T -" #, fuzzy #~ msgid "invalid maximum depth %s" #~ msgstr "baliogabea gehienezkoa" #, fuzzy #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "da erabili horren ordez" #, fuzzy #~ msgid "cannot both summarize and show all entries" #~ msgstr "eta" #, fuzzy #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "da 0" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "honekin" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "eta" #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "baliogabea taldea" #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "KATEA e" #, fuzzy #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "E eta e\n" #~ " ASCII da\n" #~ "\n" #~ " a abisua\n" #~ " e" #, fuzzy #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "\n" #~ " berria\n" #~ "\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "IZENA KOMANDOA e" #, fuzzy #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "IZENA in eta KOMANDOA e\n" #~ " ez ikusi egin hasi honekin hutsik\n" #~ " IZENA e" #, fuzzy #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "Baldintzak ez KOMANDOA e" #, fuzzy #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "Bihurtu in FITXATEGIA ez FITXATEGIA edo FITXATEGIA da e e" #, fuzzy #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ "geroago\n" #~ " KOPURUA KOPURUA e" #, fuzzy #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "erabili zerrenda - e" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "gelditu da" #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "tamaina hau daukana baliogabea" #, fuzzy #~ msgid "tab size cannot be 0" #~ msgstr "tamaina 0" #, fuzzy #~ msgid "input line is too long" #~ msgstr "Taldearen izena luzeegia" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s ADIERAZPENA\n" #~ " edo: %s AUKERA\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "balioa - ADIERAZPENA A ADIERAZPENA maiatzak e\n" #~ " da e\n" #~ " da edo e" #, fuzzy #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " da\n" #~ " da edo\n" #~ " da\n" #~ " da\n" #~ " da edo\n" #~ " da e" #, fuzzy #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " batuketa - eta\n" #~ " - eta e" #, fuzzy #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " produktua - eta\n" #~ " - bider\n" #~ " - bider e" #, fuzzy #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " KATEA - in KATEA e\n" #~ " KATEA KATEA\n" #~ " KATEA - KATEA\n" #~ " KATEA in KATEA edozein da edo\n" #~ " KATEA - KATEA e" #, fuzzy #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ "a da a\n" #~ " edo e\n" #~ " ADIERAZPENA balioa - ADIERAZPENA e" #, fuzzy #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "edo errepikatu arte eta edo e eta - edo e" #~ msgid "syntax error" #~ msgstr "sintasi errorea" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "in bilatu" #, fuzzy #~ msgid "division by zero" #~ msgstr "bider" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s [ZENBAKIA]...\n" #~ " edo: %s AUKERA\n" #, fuzzy #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "Inprimatu - KOPURUA e e" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " Inprimatu - Baldintzak ez\n" #~ " aktibatuta e" #~ msgid "%s is too large" #~ msgstr "%s luzeegia da" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "da a" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Erabilera: %s [-DIGITOAK] [AUKERA]... [FITXATEGIA]...\n" #, fuzzy #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "paragrafoa in FITXATEGIA ez FITXATEGIA edo FITXATEGIA da e e" #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ "albo - lehen bikoa lerroz behin\n" #~ " KATEA lerroz behin KATEA\n" #~ " lerroz behin e" #, fuzzy #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ "paragrafoa - lehen segundo\n" #~ " bikoa geroago\n" #~ " zabalera gehienezkoa zabalera lehenetsia - zutabetan e" #, fuzzy #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "baliogabea da da lehen erabili I horren ordez" #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "baliogabea zabalera" #, fuzzy #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "Itzulbiratu lerroz behin in FITXATEGIA bider lehenetsia e e" #, fuzzy #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ "zutabetan\n" #~ "\n" #~ " zabalera erabili zutabetan horren ordez - e" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "baliogabea - zutabetan" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "taldea - e" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "taldea - e" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "errepikatu arte taldea IDa" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "e" #~ msgid "%s: No such user" #~ msgstr "%s: Ez dago alako erabiltzailerik" #, fuzzy #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Inprimatu lehen lerroz behin - FITXATEGIA FITXATEGIA honekin a goiburua " #~ "ez FITXATEGIA edo FITXATEGIA da e e" #, fuzzy #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ "I lehen I -\n" #~ " honekin azken\n" #~ " I -\n" #~ " e lerroz behin I lehen I lerroz behin horren ordez - lehen\n" #~ " honekin azken\n" #~ " I lerroz behin - e" #, fuzzy #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "eta maiatzak bider M MB M B eta aktibatuta errepikatu arte E Y maiatzak e " #~ "e" #~ msgid "error reading %s" #~ msgstr "errorea %s irakurtzen" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "- da" #, fuzzy #~ msgid "cannot reposition file pointer for %s" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "da da" #, fuzzy #~ msgid "number of lines" #~ msgstr "- lerroz behin" #, fuzzy #~ msgid "number of bytes" #~ msgstr "-" #, fuzzy #~ msgid "invalid number of lines" #~ msgstr "baliogabea - lerroz behin" #, fuzzy #~ msgid "invalid number of bytes" #~ msgstr "baliogabea -" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "baliogabea" #, fuzzy #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " edo in errepikatu arte e e" #, fuzzy #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "IZENA\n" #~ " edo edo - e e" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "ezin izan da ostalari-izen bezala `%s' ezarri" #, fuzzy #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "uneko" #~ msgid "cannot determine hostname" #~ msgstr "ezin izan da ostalari-izena zehaztu" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Inprimatu errepikatu arte edo e\n" #~ " a ez ikusi egin errepikatu arte honekin bestelakoa\n" #~ " taldea taldea IDa\n" #~ " B taldea\n" #~ " e a horren ordez - a errepikatu arte\n" #~ " IDa horren ordez - IDa honekin\n" #~ " IDa e" #, fuzzy #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "edozein - e" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "in" #, fuzzy #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "edo in lehenetsia" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "errepikatu arte IDa" #~ msgid " groups=" #~ msgstr " taldeak=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "- e" #, fuzzy #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "maiatzak a" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "maiatzak a" #, fuzzy #~ msgid "invalid mode %s" #~ msgstr "baliogabea modua" #~ msgid "cannot change ownership of %s" #~ msgstr "ezin da aldatu %s-(r)en jabegoa" #, fuzzy #~ msgid "cannot set time stamps for %s" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "%s-ra idazten" #, fuzzy #~ msgid "invalid user %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid group %s" #~ msgstr "baliogabea taldea" #~ msgid "creating directory %s" #~ msgstr "%s direktorioa sortzen" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "ITURBURUA\n" #~ " edo ITURBURUA DIREKTORIOA\n" #~ " edo DIREKTORIOA ITURBURUA e" #, fuzzy #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Handiagotu lehen bikoa kopiatu ITURBURUA edo ITURBURUA DIREKTORIOA eta " #~ "jabea taldea hirugarren - DIREKTORIOA e e" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ "a -\n" #~ "\n" #~ " enoratua\n" #~ "\n" #~ " - e" #, fuzzy #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ "- azken\n" #~ " kopiatu ITURBURUA in 1.\n" #~ " taldea taldea horren ordez - taldea\n" #~ " m modua modua in horren ordez - x\n" #~ " jabea JABEA e" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ "- ITURBURUA\n" #~ "\n" #~ " errepikatu arte 1. eta 2.\n" #~ " S\n" #~ " - da e" #, fuzzy #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "da honekin edo maiatzak edo BERTSIOA e e" #, fuzzy #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "- lerroz behin honekin a lehenetsia da lehen Noiz edo da e\n" #~ " a lerroz behin\n" #~ " da edo edo\n" #~ " honekin e" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ "ez ikusi egin ez ikusi egin in\n" #~ "\n" #~ "\n" #~ " erabili eta bereizlea e" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ "a lerroz behin\n" #~ " aktibatuta uneko -\n" #~ " aktibatuta uneko - e" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "da eta enoratua bider da a da edo edo edo Lehenetsia bider e eta " #~ "aktibatuta e" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "baliogabea in" #~ msgid "empty tab" #~ msgstr "tabulazioa hutsa" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "PID\n" #~ " edo\n" #~ " edo e" #, fuzzy #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "Bidali edo zerrenda e e" #, fuzzy #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ "\n" #~ " edo -\n" #~ " zerrenda zerrenda edo\n" #~ " taula a taula - e" #, fuzzy #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "maiatzak a edo a - a bider a da a taldea e" #, fuzzy #~ msgid "%s: invalid signal" #~ msgstr "baliogabea" #, fuzzy #~ msgid "%s: invalid process id" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid option -- %c" #~ msgstr "baliogabea" #~ msgid "multiple -l or -t options specified" #~ msgstr "-l edo -t aukera anitz espezifikatu dira" #, fuzzy #~ msgid "cannot combine signal with -l or -t" #~ msgstr "honekin edo" #, fuzzy #~ msgid "no process ID specified" #~ msgstr "ez IDa" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s 1FITXATEGIA 2FITXATEGIA\n" #~ " edo: %s AUKERA\n" #, fuzzy #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "Deitu lotura a lotura e e" #~ msgid "cannot create link %s to %s" #~ msgstr "ezin da %s esteka sortu %s-(r)a" #, fuzzy #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "a lotura a lotura da" #, fuzzy #~ msgid "%s: hard link not allowed for directory" #~ msgstr "lotura errepikatu arte" #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "%s-tik %s-ra esteka sinbolikoa sortzen" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "%s-tik %s-ra esteka sinbolikoa sortzen" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "%s-tik %s-ra esteka gogorra sortzen" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "%s-tik %s-ra esteka gogorra sortzen" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "%s-tik %s-ra esteka gogorra sortzen" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "ITURBURUA 1.\n" #~ " edo ITURBURUA DIREKTORIOA 2.\n" #~ " edo DIREKTORIOA 3. e" #, fuzzy #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Sortu a lotura honekin IZENA IZENA da a lotura honekin da in Noiz segundo " #~ "honekin azken a DIREKTORIOA Sortu bider lehenetsia honekin Noiz e e" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ "a -\n" #~ "\n" #~ " lotura\n" #~ " oharra\n" #~ " errepikatu arte\n" #~ " behartu e" #, fuzzy #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ "e ez da a a\n" #~ " a\n" #~ "\n" #~ " horren ordez - e" #, fuzzy #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ "S\n" #~ " DIREKTORIOA DIREKTORIOA in\n" #~ "\n" #~ " - lehenago e" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "da a" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Erabilera: %s [AUKERA]\n" #, fuzzy #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "Inprimatu - e e" #, fuzzy #~ msgid "no login name" #~ msgstr "ez" #~ msgid "%b %e %Y" #~ msgstr "%Y %b %e" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #, fuzzy #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "baliogabea balioa - ESTILOA" #, fuzzy #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "baliogabea zabalera in" #, fuzzy #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "baliogabea tamaina in" #, fuzzy #~ msgid "invalid line width: %s" #~ msgstr "baliogabea zabalera" #, fuzzy #~ msgid "invalid tab size: %s" #~ msgstr "baliogabea tamaina" #, fuzzy #~ msgid "invalid time style format %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "balioa errepikatu arte" #~ msgid "cannot open directory %s" #~ msgstr "ezin da %s direktorioa ireki" #, fuzzy #~ msgid "cannot determine device and inode of %s" #~ msgstr "gailua eta -" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "lotura errepikatu arte" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "%s direktorioa sortzen" #, fuzzy #~ msgid "cannot compare file names %s and %s" #~ msgstr "eta" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "Zerrenda bider lehenetsia bat ere ez - e e" #, fuzzy #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ "a honekin\n" #~ " A zerrenda eta\n" #~ " egilea egilea -\n" #~ " errepikatu arte e" #, fuzzy #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ "tamaina TAMAINA erabili TAMAINA\n" #~ " B ez ikusi egin zerrenda honekin\n" #~ " honekin bider eta - azken\n" #~ " -\n" #~ " honekin eta bider\n" #~ " bider e" #, fuzzy #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ "C zerrenda bider zutabetan\n" #~ " kolorea kolorea da\n" #~ " maiatzak edo auto\n" #~ " zerrenda horren ordez -\n" #~ " eta\n" #~ " errepikatu arte Emacs modua e" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ "gaitu desgaitu\n" #~ " -\n" #~ " x m x\n" #~ " C\n" #~ " e" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 0 bloke dizuten fitxategi-sistemak ere erakutsi\n" #~ " -B, --block-size=TAMAINUA erabili TAMAINUA-byte-eko blokeak\n" #~ " -h, --human-readable gizaki-irakurgai formatuan eman tamainuak (adib., " #~ "1K 234M 2G)\n" #~ " -H, --si analogoa, but 1000 erabiliz potentzia bezala 1024 " #~ "beharrean\n" #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ "honekin\n" #~ " bat ere ez lehenetsia mota\n" #~ " -\n" #~ " jn. ez ikusi egin zerrenda\n" #~ " tamaina e" #, fuzzy #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ "erabili a\n" #~ " errepikatu arte a\n" #~ " lotura errepikatu arte lotura\n" #~ " errepikatu arte lotura bere gainera\n" #~ " m zabalera honekin a zerrenda - e" #, fuzzy #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ "e zerrenda eta\n" #~ " I\n" #~ "\n" #~ " zerrenda taldea\n" #~ " mota - e" #, fuzzy #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ "horren ordez -\n" #~ " da lehenetsia\n" #~ " programa da eta da a terminala\n" #~ " in bikoitza\n" #~ " erabili errepikatu arte\n" #~ " e" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ "\n" #~ " G zerrenda\n" #~ " tamaina tamaina - in e" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ "S bider tamaina\n" #~ " X bat ere ez tamaina S\n" #~ "\n" #~ " erabili\n" #~ " horren ordez -\n" #~ " erabili edo erabili\n" #~ " e" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ "ESTILOA ESTILOA\n" #~ "\n" #~ " da da\n" #~ "\n" #~ " eta\n" #~ " ESTILOA da honekin ESTILOA\n" #~ "\n" #~ " bider\n" #~ " horren ordez - e" #, fuzzy #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ "honekin bider eta\n" #~ " honekin eta bider\n" #~ " bider\n" #~ " zerrenda in\n" #~ " bider e" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ "zabalera zabalera horren ordez - balioa\n" #~ " x zerrenda bider lerroz behin horren ordez - bider zutabetan\n" #~ " X bider\n" #~ " zerrenda e" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "lehenetsia kolorea da - da kolorea bat ere ez kolorea da kolorea e " #~ "kolorea auto kolorea da a terminala e" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "FITXATEGIA\n" #~ " edo FITXATEGIA edo ez FITXATEGIA edo FITXATEGIA da e" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " B erabili gailua e e" #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "bikoa\n" #~ "\n" #~ " lerroz behin e e" #, fuzzy #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "in Noiz a - uneko programa lehenetsia modua da honekin a mota errepikatu " #~ "arte errepikatu arte eta errepikatu arte FITXATEGIA e" #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "ez lerroz behin" #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "ez lerroz behin" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: HUTS egin du irekitzeak edo irakurtzeak\n" #, fuzzy #~ msgid "OK" #~ msgstr "Ados" #~ msgid "%s: read error" #~ msgstr "%s: irakurketa errorea" #, fuzzy #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "ez lerroz behin" #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "ABISUA -" #~ msgstr[1] "ABISUA -" #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "ABISUA -" #~ msgstr[1] "ABISUA -" #, fuzzy #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "eta testua" #, fuzzy #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "da" #, fuzzy #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "da" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Erabilera: %s [AUKERA] DIREKTORIOA...\n" #, fuzzy #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "Sortu DIREKTORIOA e e" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ "m modua modua in\n" #~ " ez\n" #~ " a errepikatu arte e" #~ msgid "created directory %s" #~ msgstr "%s direktorioa sortua" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Erabilera: %s [AUKERA] IZENA...\n" #, fuzzy #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "Sortu honekin e e" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "m modua modua in a e" #, fuzzy #~ msgid "invalid mode" #~ msgstr "baliogabea modua" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "IZENA MOTA e" #, fuzzy #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "Sortu IZENA - MOTA e e" #, fuzzy #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "eta MOTA da edo eta MOTA da Baldintzak edo honekin edo da honekin MOTA " #~ "maiatzak e" #, fuzzy #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " a\n" #~ " a\n" #~ " a e" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "eta gailua" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "baliogabea gailua" #, fuzzy #~ msgid "invalid major device number %s" #~ msgstr "baliogabea gailua" #, fuzzy #~ msgid "invalid minor device number %s" #~ msgstr "baliogabea gailua" #, fuzzy #~ msgid "invalid device %s %s" #~ msgstr "baliogabea gailua" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "baliogabea gailua mota" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Erabilera: %s [AUKERA]... [FITXATEGIA]\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "argumentu gehiegi" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "ezin da %s direktorioa sortu" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "Izena aldatu ITURBURUA edo ITURBURUA DIREKTORIOA e e" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ "a -\n" #~ "\n" #~ " behartu lehenago\n" #~ " bai\n" #~ " lehenago\n" #~ " e" #, fuzzy #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ "bai ez\n" #~ "\n" #~ " edozein ITURBURUA\n" #~ "\n" #~ " S e" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "DIREKTORIOA ITURBURUA DIREKTORIOA\n" #~ " ITURBURUA da\n" #~ " edo\n" #~ " da\n" #~ " da eginda e" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Erabilera: %s [AUKERA] [KOMANDOA [ARGUMENTUA]...]\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "baliogabeko argumentua: %s" #, fuzzy #~ msgid "a command must be given with an adjustment" #~ msgstr "a honekin" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "ezin da sistemaren izena lortu" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "ezin da data ezarri" #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "Idatzi FITXATEGIA honekin ez FITXATEGIA edo FITXATEGIA da e e" #, fuzzy #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ "ESTILOA erabili ESTILOA errepikatu arte lerroz behin\n" #~ " CC erabili CC errepikatu arte\n" #~ " orri-oina ESTILOA erabili ESTILOA errepikatu arte orri-oina lerroz behin " #~ "e" #, fuzzy #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ "h goiburua ESTILOA erabili ESTILOA errepikatu arte goiburua lerroz behin\n" #~ " KOPURUA\n" #~ " lerroz behin KOPURUA taldea - KOPURUA hutsik lerroz behin\n" #~ " e\n" #~ " ez berrezarri\n" #~ " bereizlea KATEA KATEA geroago e" #, fuzzy #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ "lehen KOPURUA lehen aktibatuta\n" #~ " zabalera KOPURUA erabili KOPURUA zutabetan errepikatu arte e" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "lehenetsia CC errepikatu arte a Mota errepikatu arte ESTILOA da - e" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a lerroz behin\n" #~ " lerroz behin\n" #~ " e ez lerroz behin\n" #~ " lerroz behin a errepikatu arte e da - e\n" #~ " left ez\n" #~ " right ez\n" #~ " right e e" #, fuzzy #~ msgid "line number overflow" #~ msgstr "da" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "baliogabea goiburua" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "baliogabea orri-oina" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "baliogabea - lerroz behin" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "baliogabea zabalera" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "baliogabea" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s KOMANDOA [ARGUMENTUA]...\n" #~ " edo: %s AUKERA\n" #, fuzzy #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "Exekutatu KOMANDOA e e" #~ msgid "failed to open %s" #~ msgstr "huts egin da %s irekitzen" #, fuzzy #~ msgid "ignoring input and appending output to %s" #~ msgstr "irteera %s-ri eransten" #, fuzzy #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "kopiatu - aktibatuta" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "FITXATEGIA\n" #~ " edo FITXATEGIA e" #, fuzzy #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "bider lehenetsia FITXATEGIA FITXATEGIA in ez FITXATEGIA edo FITXATEGIA da " #~ "e e" #, fuzzy #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Denak errepikatu arte e" #, fuzzy #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ "A\n" #~ " lehen e" #, fuzzy #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ "I\n" #~ " -\n" #~ " MOTA edo\n" #~ " erabili\n" #~ " zabalera\n" #~ " in e" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "maiatzak\n" #~ " a a\n" #~ "\n" #~ " ASCII edo\n" #~ " e" #, fuzzy #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ " h\n" #~ "\n" #~ "\n" #~ "\n" #~ " x e" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "segundo lehen da eta a edo maiatzak errepikatu arte eta errepikatu arte " #~ "bider e da gora - edo - e\n" #~ " a\n" #~ " ASCII edo e" #, fuzzy #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ "TAMAINA TAMAINA\n" #~ " TAMAINA puntu TAMAINA\n" #~ " TAMAINA TAMAINA\n" #~ " TAMAINA TAMAINA\n" #~ " x TAMAINA TAMAINA e" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "da a MOTA in TAMAINA maiatzak C errepikatu arte S errepikatu arte jn. " #~ "errepikatu arte edo errepikatu arte Baldintzak MOTA da TAMAINA maiatzak " #~ "errepikatu arte bikoitza edo errepikatu arte bikoitza e" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "da errepikatu arte errepikatu arte x errepikatu arte edo e errepikatu " #~ "arte bat ere ez da honekin edo da bider bider honekin eta bider honekin m " #~ "a mota a - - " #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "a zabalera a lehenetsia A e" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "baliogabea mota" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "baliogabea mota a mota" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "baliogabea mota a puntu mota" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "baliogabea in mota" #, fuzzy #~ msgid "cannot skip past end of combined input" #~ msgstr "-" #, fuzzy #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "baliogabea" #, fuzzy #~ msgid "no type may be specified when dumping strings" #~ msgstr "ez mota maiatzak" #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "modua hirukoa" #, fuzzy #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "da" #, fuzzy #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "baliogabea zabalera horren ordez" #, fuzzy #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "zabalera e" #~ msgid "standard input is closed" #~ msgstr "sarrera estandarra itxita dago" #, fuzzy #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Idatzi lerroz behin - lerroz behin FITXATEGIA bider ez FITXATEGIA edo " #~ "FITXATEGIA da e e" #, fuzzy #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ "horren ordez -\n" #~ " seriekoa itsatsi a horren ordez - in e" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Erabilera: %s [AUKERA]... IZENA...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "baliogabea in modua" #, fuzzy #~ msgid "empty file name" #~ msgstr "fitxategi erregular hutsa" #, fuzzy #~ msgid "Login name: " #~ msgstr "Saio-hasiera " #, fuzzy #~ msgid "In real life: " #~ msgstr "Handiagotu " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Direktorioa:" #~ msgid "Shell: " #~ msgstr "Shell-a:" #~ msgid "Project: " #~ msgstr "Proiektua: " #, fuzzy #~ msgid "Plan:\n" #~ msgstr "e" #, fuzzy #~ msgid "Login" #~ msgstr "Saio-hasiera" #, fuzzy #~ msgid "Name" #~ msgstr "Izena" #, fuzzy #~ msgid " TTY" #~ msgstr "Teletipoa" #~ msgid "Idle" #~ msgstr "alfer-denbora" #~ msgid "When" #~ msgstr "Noiz" #~ msgid "Where" #~ msgstr "Non" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "e" #, fuzzy #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " errepikatu arte\n" #~ " eta in\n" #~ " h in\n" #~ " in\n" #~ " uneko da lehenetsia e" #, fuzzy #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ "- goiburuak in\n" #~ " in\n" #~ " eta urrunekoa in\n" #~ " urrunekoa eta\n" #~ " in e" #, fuzzy #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "programa e" #, fuzzy #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "ez" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "baliogabea mota" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "baliogabea - lerroz behin" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "I KOPURUA baliogabea" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "baliogabea -" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "M baliogabea -" #, fuzzy #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "- zutabetan in." #, fuzzy #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "eta in." #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "edo baliogabea in" #, fuzzy #~ msgid "page width too narrow" #~ msgstr "zabalera" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "da" #, fuzzy #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "edo FITXATEGIA errepikatu arte e e" #, fuzzy #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ "\n" #~ " gelditu honekin\n" #~ " zutabetan\n" #~ " zutabetan eta zutabetan behera\n" #~ " a da - lerroz behin in\n" #~ " zutabetan aktibatuta e" #, fuzzy #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ "a zutabetan behera\n" #~ " honekin\n" #~ "\n" #~ " erabili B eta\n" #~ " bikoitza\n" #~ " bikoitza e" #, fuzzy #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ "\n" #~ " erabili errepikatu arte goiburua\n" #~ "\n" #~ "\n" #~ "\n" #~ " erabili horren ordez -\n" #~ " bider a goiburua honekin edo a goiburua\n" #~ " eta e" #, fuzzy #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ "h goiburua\n" #~ " erabili a horren ordez - Fitxategi-izena in goiburua\n" #~ " h a erabili h\n" #~ "\n" #~ " honekin\n" #~ " lerroz behin lerroz behin desaktibatuta M ez\n" #~ " KATEA e" #, fuzzy #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ "\n" #~ " lerroz behin\n" #~ " lehenetsia - lerroz behin - testua eta honekin\n" #~ " m in in\n" #~ " lerroz behin lerroz behin - honekin e" #, fuzzy #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ "e lerroz behin\n" #~ " lerroz behin erabili\n" #~ " lehenetsia honekin 1. -\n" #~ " I KOPURUA lehen KOPURUA\n" #~ " hasi honekin KOPURUA 1. - lehen\n" #~ " e" #, fuzzy #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ "\n" #~ " honekin\n" #~ " edo M\n" #~ " ez\n" #~ " a e" #, fuzzy #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ "bereizlea\n" #~ " zutabetan bider a lehenetsia errepikatu arte\n" #~ " da eta ez honekin\n" #~ " desaktibatuta -\n" #~ " a m da e" #, fuzzy #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr "KATEA e" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ "zutabetan bider KATEA\n" #~ " S Lehenetsia bereizlea honekin eta\n" #~ " S ez aktibatuta\n" #~ " goiburua eta e" #, fuzzy #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ "\n" #~ " eta edozein\n" #~ " bider in\n" #~ "\n" #~ " erabili\n" #~ " zabalera\n" #~ " zabalera errepikatu arte\n" #~ " testua desaktibatuta e" #, fuzzy #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ "M zabalera\n" #~ " zabalera\n" #~ " lerroz behin da ez\n" #~ " honekin S edo e" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "e bider edo honekin ez FITXATEGIA edo da e" #, fuzzy #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " edo ez e e" #, fuzzy #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "enoratua" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s FORMATUA [ARGUMENTUA]...\n" #~ " edo: %s AUKERA\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "Inprimatu e e" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "in C e\n" #~ " bikoitza\n" #~ " honekin balioa\n" #~ " e" #, fuzzy #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ "a abisua\n" #~ "\n" #~ " ez\n" #~ " e" #, fuzzy #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "\n" #~ " berria\n" #~ "\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ "honekin balioa e\n" #~ " honekin balioa\n" #~ " honekin balioa e" #, fuzzy #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ "a\n" #~ " a honekin\n" #~ " - edo e C honekin - honekin mota lehen Aldakorra e" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: zenbaki balioa espero zen" #, fuzzy #~ msgid "%s: value not completely converted" #~ msgstr "balioa" #, fuzzy #~ msgid "missing hexadecimal number in escape" #~ msgstr "in" #, fuzzy #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "baliogabea x" #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "baliogabea zabalera" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "baliogabea" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "honekin" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "B\n" #~ " edo B e" #, fuzzy #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "Irteera a - in e e" #, fuzzy #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ "A auto\n" #~ " C copyright-a Copyright eta\n" #~ " B Sistema B\n" #~ " KATEA erabili KATEA errepikatu arte e" #, fuzzy #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ "M KATEA erabili horren ordez -\n" #~ "\n" #~ " G right right in\n" #~ " S errepikatu arte - lerroz behin edo -\n" #~ " e" #, fuzzy #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ "M erabili\n" #~ " FITXATEGIA in uneko FITXATEGIA\n" #~ " ez ikusi egin errepikatu arte\n" #~ " tamaina KOPURUA tamaina in zutabetan\n" #~ " ez ikusi egin FITXATEGIA ez ikusi egin zerrenda FITXATEGIA\n" #~ " FITXATEGIA zerrenda uneko FITXATEGIA e" #, fuzzy #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ "lehen - da a\n" #~ " modua\n" #~ " zabalera KOPURUA zabalera in zutabetan e" #, fuzzy #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "ez FITXATEGIA edo FITXATEGIA da Estandarra Sarrera bider lehenetsia e" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "baliogabea zabalera" #, fuzzy #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "Inprimatu Fitxategi-izena - e e" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "huts egin da %s irekitzen" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "huts egin da %s irekitzen" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Erabilera: %s [AUKERA]... FITXATEGIA\n" #, fuzzy #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "Bistaratu balioa - a lotura aktibatuta e e" #, fuzzy #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ "bider in\n" #~ " osagaia - bide-izena\n" #~ " e ez\n" #~ "\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "ezin da %s direktorioa ireki" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "ezin da %s direktorioa ireki" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "ezin da %s direktorioa sortu" #, fuzzy #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "ABISUA a da -\n" #~ " e" #, fuzzy #~ msgid "removed directory: %s\n" #~ msgstr "e" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "ezin da %s direktorioa ireki" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "ezin da %s direktorioa sortu" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "ezin da %s kendu" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "ezin da uneko direktorioa lortu" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Erabilera: %s [AUKERA]... FITXATEGIA...\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "ez lehenetsia\n" #~ " aktibatuta\n" #~ " G -\n" #~ " da eginda e" #, fuzzy #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "a honekin a errepikatu arte foo -\n" #~ " foo e\n" #~ " foo e" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "erabili a da - Baldintzak e" #~ msgid "removing directory, %s" #~ msgstr "direktorioa kentzen, %s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "e" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Erabilera: %s [AUKERA]... DIREKTORIOA...\n" #, fuzzy #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Kendu DIREKTORIOA hutsik e\n" #~ " ez ikusi egin aktibatuta hutsik\n" #~ " ez ikusi egin da a\n" #~ " da hutsik e" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ "DIREKTORIOA\n" #~ " osagaia - bide-izena E a da\n" #~ " a a a\n" #~ " a errepikatu arte e" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "huts egin da %s irekitzen" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "-" #, fuzzy #~ msgid "no command specified" #~ msgstr "ez IDa" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "huts egin da %s irekitzen" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "huts egin da %s irekitzen" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "huts egin da %s irekitzen" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "huts egin da %s irekitzen" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "huts egin da %s irekitzen" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "\n" #~ " edo\n" #~ " edo e" #, fuzzy #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Inprimatu in - e\n" #~ " erabili puntu lehenetsia\n" #~ " bereizlea KATEA erabili KATEA lehenetsia e\n" #~ " zabalera zabalera bider honekin e" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "edo da da da eta puntu da da eta da da - puntu e" #, fuzzy #~ msgid "invalid floating point argument: %s" #~ msgstr "baliogabea puntu" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "in" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "maiatzak zabalera" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "KOMANDOA\n" #~ " edo e" #, fuzzy #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "edozein IDa eta taldea IDa - eta KOMANDOA honekin edozein honekin UID eta " #~ "GID honekin - KOMANDOA programa da bider UID e e" #~ msgid "unknown user-ID: %s" #~ msgstr "erabiltzile-ID ezezaguna: %s" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "taldea" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "taldea IDa" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "IDa" #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "AUKERAK FITXATEGIA e" #, fuzzy #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "Gainidatzi FITXATEGIA in e e" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ "behartu baimenak\n" #~ " e I Gainidatzi I horren ordez - lehenetsia\n" #~ " tamaina I uneko M B e" #, fuzzy #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ "eta geroago\n" #~ "\n" #~ " x gora hurrengo\n" #~ " uneko da lehenetsia errepikatu arte\n" #~ " a honekin\n" #~ " e" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "FITXATEGIA da lehenetsia da da aktibatuta gailua Noiz aktibatuta erabili " #~ "e e" #, fuzzy #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "Oharra aktibatuta a garrantzitsua in da uneko - aktibatuta da e e" #, fuzzy #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "edo honekin\n" #~ " eta Solaris eta e e eta aktibatuta\n" #~ " e e Sarea zerbitzaria e e" #, fuzzy #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "in\n" #~ " e e e eta urrunekoa maiatzak eta a e" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "itxierak huts egin du" #~ msgid "%s: invalid file type" #~ msgstr "%s: fitxategi moeta baliogabea" #~ msgid "%s: file has negative size" #~ msgstr "%s: fitxategiak luzeera negatiboa dauka" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "itxierak huts egin du" #~ msgid "%s: removing" #~ msgstr "%s: kentzen" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s fitxategia luzeegia da" #~ msgid "%s: removed" #~ msgstr "%s: kenduta" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s fitxategia luzeegia da" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s fitxategia luzeegia da" #, fuzzy #~ msgid "%s: invalid number of passes" #~ msgstr "baliogabea -" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "irteera fitxategi anitz espezifikatu dira" #~ msgid "%s: invalid file size" #~ msgstr "%s; fitxategi tamaina baliogabea" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "\n" #~ " edo\n" #~ " edo e" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "Inprimatu - lerroz behin FITXATEGIA e e" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "-l edo -t aukera anitz espezifikatu dira" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "baliogabea zabalera" #~ msgid "multiple output files specified" #~ msgstr "irteera fitxategi anitz espezifikatu dira" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "`%s' eragigai extra" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "KOPURUA\n" #~ " edo errepikatu arte KOPURUA segundo maiatzak errepikatu arte segundo " #~ "lehenetsia e m errepikatu arte minutu h errepikatu arte ordu edo " #~ "errepikatu arte egun eskatu KOPURUA KOPURUA maiatzak e e" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "Idatzi - FITXATEGIA e e e" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ "ez ikusi egin ez ikusi egin\n" #~ " eta\n" #~ " ez ikusi egin e" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ "orokorra orokorra balioa\n" #~ " ez ikusi egin\n" #~ " M hilabetea ezezaguna\n" #~ " e balioa\n" #~ " - e e" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "Bestelakoak e\n" #~ " da\n" #~ " hasi a\n" #~ " m\n" #~ " FITXATEGIA FITXATEGIA horren ordez -\n" #~ " bider azken\n" #~ " S tamaina TAMAINA erabili TAMAINA errepikatu arte e" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ "bereizlea erabili horren ordez -\n" #~ " erabili errepikatu arte edo\n" #~ "\n" #~ " esklusiboa honekin errepikatu arte\n" #~ " lehen - e" #, fuzzy #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "lerroz behin honekin e" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "da C da eta C da edo errepikatu arte Baldintzak ez da erabili e maiatzak " #~ "bider e" #, fuzzy #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "- lehenetsia eta aktibatuta errepikatu arte M B E Y e ez FITXATEGIA edo " #~ "FITXATEGIA da e e ABISUA bider DENAK C e" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "%s-ra idazten" #~ msgid "open failed" #~ msgstr "irekitzeak huts egin du" #, fuzzy #~ msgid "fflush failed" #~ msgstr "itxierak huts egin du" #~ msgid "close failed" #~ msgstr "itxierak huts egin du" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "irekitzeak huts egin du" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "ezin izan da abio ordua lortu" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "ezin izan da abio ordua lortu" #~ msgid "write failed" #~ msgstr "idazketak huts egin du" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "ezin da %s kendu" #~ msgid "read failed" #~ msgstr "irakurtzeak huts egin du" #~ msgid "standard error" #~ msgstr "errore estandarra" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "baliogabea hasi -" #, fuzzy #~ msgid "invalid number after `-'" #~ msgstr "baliogabea geroago" #, fuzzy #~ msgid "invalid number after `.'" #~ msgstr "baliogabea geroago" #, fuzzy #~ msgid "stray character in field spec" #~ msgstr "in" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "-l edo -t aukera anitz espezifikatu dira" #, fuzzy #~ msgid "invalid number at field start" #~ msgstr "baliogabea hasi" #, fuzzy #~ msgid "field number is zero" #~ msgstr "da" #~ msgid "character offset is zero" #~ msgstr "offset karakterea zero da" #, fuzzy #~ msgid "invalid number after `,'" #~ msgstr "baliogabea geroago" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "-c-rekin baimendu gabeko `%s' eragigai extra" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Erabilera: %s [AUKERA] [SARRERA [AURRIZKIA]]\n" #, fuzzy #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "Irteera finkoa tamaina - lehenetsia da x ez edo da e e" #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ "a I erabili - I lehenetsia\n" #~ " TAMAINA TAMAINA\n" #~ " C TAMAINA TAMAINA - lerroz behin\n" #~ " erabili horren ordez -\n" #~ " lerroz behin KOPURUA KOPURUA lerroz behin e" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ "a\n" #~ " lehenago da e" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "eta maiatzak bider M MB M B eta aktibatuta errepikatu arte E Y maiatzak e " #~ "e" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "`%s' fitxategia sortzen\n" #, fuzzy #~ msgid "cannot split in more than one way" #~ msgstr "in" #, fuzzy #~ msgid "%s: invalid suffix length" #~ msgstr "baliogabea" #, fuzzy #~ msgid "%s: invalid number of bytes" #~ msgstr "baliogabea -" #, fuzzy #~ msgid "%s: invalid number of lines" #~ msgstr "baliogabea - lerroz behin" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "da" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "baliogabea - lerroz behin 0" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: '%c%s' aukera ezezaguna\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%%%c. direktiba baliogabea" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "baliogabea -" #, fuzzy #~ msgid "cannot read file system information for %s" #~ msgstr "errepikatu arte" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Erabilera: %s [AUKERA] FITXATEGIA...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "errepikatu arte e\n" #~ " A in\n" #~ " a in\n" #~ " B tamaina in - bider\n" #~ " Zenbakia - B e" #, fuzzy #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ "Gailua in\n" #~ " Gailua in\n" #~ " Fitxategia mota\n" #~ " Formaturik gabe modua in\n" #~ " B Taldea - jabea\n" #~ " Taldea IDa - jabea e" #, fuzzy #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ "h Zenbakia -\n" #~ "\n" #~ " I Aipamen gisa Fitxategia honekin lotura\n" #~ " e Fitxategia\n" #~ " tamaina\n" #~ " Guztira tamaina in\n" #~ " gailua mota in\n" #~ " gailua mota in e" #, fuzzy #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ "Erabiltzailea - jabea\n" #~ " Erabiltzailea IDa - jabea\n" #~ " X Ordua - azken segundo\n" #~ " x Ordua - azken\n" #~ " Y Ordua - azken segundo\n" #~ " b Ordua - azken\n" #~ " Ordua - azken segundo\n" #~ " Ordua - azken e e" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "errepikatu arte e\n" #~ " a Libre\n" #~ " Guztira in\n" #~ " Guztira in\n" #~ " Libre in\n" #~ " Libre in e" #, fuzzy #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ "Fitxategia Sistema in\n" #~ " -\n" #~ " e Fitxategia\n" #~ " tamaina\n" #~ " Mota in\n" #~ " Mota in e" #, fuzzy #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "GAILUA GAILUA\n" #~ " edo GAILUA GAILUA a\n" #~ " edo GAILUA GAILUA e" #, fuzzy #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Inprimatu edo terminala e\n" #~ " a in\n" #~ " in a\n" #~ " GAILUA eta erabili GAILUA horren ordez - e" #, fuzzy #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "lehenago e" #, fuzzy #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ " a terminala gelditu\n" #~ " -\n" #~ " e" #, fuzzy #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ "errepikatu arte\n" #~ " azken\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ "hurrengo\n" #~ " a\n" #~ "\n" #~ " hasi geroago e" #, fuzzy #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ "gelditu gelditu\n" #~ " a terminala gelditu\n" #~ " a\n" #~ " azken e" #, fuzzy #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ " I eta I\n" #~ " I terminala I zutabetan\n" #~ " zutabetan I I e" #, fuzzy #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ "I I\n" #~ " I erabili I\n" #~ " min I honekin I gutxienekoa errepikatu arte a\n" #~ " I I e" #, fuzzy #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "errenkadatan I terminala I errenkadatan\n" #~ " tamaina - errenkadatan eta zutabetan\n" #~ " terminala\n" #~ " I honekin - I - a segundo e" #, fuzzy #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ " desgaitu modem\n" #~ " jasota\n" #~ " gaitu\n" #~ " tamaina I I in e" #, fuzzy #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ "erabili bikoa gelditu honekin\n" #~ " a azken\n" #~ "\n" #~ " in eta in\n" #~ " honekin e" #, fuzzy #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "\n" #~ " ez ikusi egin\n" #~ " ez ikusi egin e" #, fuzzy #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ "ez ikusi egin honekin\n" #~ " eta a aktibatuta a\n" #~ "\n" #~ " gaitu\n" #~ " garbitu handia 8. - e" #, fuzzy #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "\n" #~ " edozein hasi\n" #~ " gaitu - hasi gelditu\n" #~ " gaitu\n" #~ " honekin a\n" #~ " e" #, fuzzy #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ " I in\n" #~ " I in\n" #~ " I in\n" #~ " I in e" #, fuzzy #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "\n" #~ " erabili errepikatu arte horren ordez -\n" #~ " erabili horren ordez - errepikatu arte\n" #~ "\n" #~ "\n" #~ " a e" #, fuzzy #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ "hau ematen du in lehen\n" #~ "\n" #~ " I in\n" #~ "\n" #~ "\n" #~ " I in e" #, fuzzy #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "\n" #~ " bider eta\n" #~ " bider eta e" #, fuzzy #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ "in\n" #~ "\n" #~ "\n" #~ "\n" #~ " a geroago a e" #, fuzzy #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ "\n" #~ " bestelakoa\n" #~ " gorantz eta\n" #~ " gaitu eta\n" #~ " gaitu e" #, fuzzy #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ "gaitu eta\n" #~ " desgaitu geroago eta\n" #~ "\n" #~ " gelditu atzeko planoa terminala\n" #~ " honekin honekin errepikatu arte e" #, fuzzy #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ "\n" #~ " eta lehenetsia\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "\n" #~ " eta lehenetsia\n" #~ " e" #, fuzzy #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "\n" #~ "\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ "\n" #~ "\n" #~ " min\n" #~ " e" #, fuzzy #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "\n" #~ "\n" #~ "\n" #~ " lehenetsia e" #, fuzzy #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "eta Handiagotu da edo in edo edo desgaitu e" #, fuzzy #~ msgid "only one device may be specified" #~ msgstr "gailua maiatzak" #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "errepikatu arte eta" #, fuzzy #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "maiatzak" #, fuzzy #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "berrezarri modua" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "baliogabeko argumentua: %s" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "%s argumentu anbiguoa da %s-(r)entzat" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "baliogabea zabalera" #, fuzzy #~ msgid "new_mode: mode\n" #~ msgstr "berria modua modua e" #, fuzzy #~ msgid "%s: no size information for this device" #~ msgstr "ez tamaina errepikatu arte uneko gailua" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "baliogabea" #~ msgid "Password:" #~ msgstr "Pasahitza:" #~ msgid "cannot set groups" #~ msgstr "ezin dira taldeak ezarri" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "taldea" #~ msgid "cannot set user id" #~ msgstr "ezin da erabiltzailearen id-a ezarri" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "e" #, fuzzy #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Aldatu eta taldea - e\n" #~ " a\n" #~ " KOMANDOA a KOMANDOA honekin\n" #~ " errepikatu arte edo\n" #~ " m berrezarri\n" #~ " m\n" #~ " e" #, fuzzy #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "Baldintzak e" #~ msgid "user %s does not exist" #~ msgstr "%s erabiltzaileak ez du existitzen" #~ msgid "incorrect password" #~ msgstr "pasahitza ez da zuzena" #, fuzzy #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Inprimatu eta errepikatu arte FITXATEGIA e\n" #~ " erabili batuketa erabili\n" #~ " erabili Sistema B batuketa erabili e" #, fuzzy #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "Behartu e e" #~ msgid " --help display this help and exit\n" #~ msgstr " --help mezu hau erakutsi eta irten\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version bertsioari buruzko informazioa atera eta irten\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Programa-erroreen berri emateko idatzi hona: <%s>.\n" #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "Idatzi FITXATEGIA azken lehen ez FITXATEGIA edo FITXATEGIA da e e" #, fuzzy #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ "lehenago bereizlea lehenago horren ordez - geroago\n" #~ " bereizlea a\n" #~ " bereizlea KATEA erabili KATEA bereizlea horren ordez - e" #, fuzzy #~ msgid "record too large" #~ msgstr "%s luzeegia da" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "ezin da %s direktorioa sortu" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "%s: write error" #~ msgstr "idazketa errorea" #, fuzzy #~ msgid "separator cannot be empty" #~ msgstr "bereizlea hutsik" #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Inprimatu azken lerroz behin - FITXATEGIA FITXATEGIA honekin a goiburua " #~ "ez FITXATEGIA edo FITXATEGIA da e e" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ "a da\n" #~ " edo\n" #~ " honekin\n" #~ " I azken I e" #, fuzzy #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ "\n" #~ "\n" #~ " eta\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ "e lerroz behin I azken I lerroz behin horren ordez - azken\n" #~ " I\n" #~ " honekin a FITXATEGIA\n" #~ " tamaina geroago I lehenetsia\n" #~ " edo\n" #~ " uneko da - e" #, fuzzy #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ "PID honekin geroago IDa PID\n" #~ "\n" #~ " S honekin errepikatu arte S segundo\n" #~ " lehenetsia\n" #~ " e" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "lehen - I - edo lerroz behin da a honekin hasi - azken I in I maiatzak a " #~ "m e e" #, fuzzy #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "a da " #, fuzzy #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "lehenetsia da - Erabili in bider eta bider bestelakoa programa e" #~ msgid "closing %s (fd=%d)" #~ msgstr "%s itxitzen (fd=%d)" #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "erlatiboa" #, fuzzy #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "erlatiboa" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "honekin gora aktibatuta uneko" #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "- berria" #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "- berria" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "berrezarri modua" #, fuzzy #~ msgid "no files remaining" #~ msgstr "ez" #, fuzzy #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "- uneko mota - gora aktibatuta uneko" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "da" #, fuzzy #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "baliogabea gehienezkoa -" #~ msgid "%s: invalid PID" #~ msgstr "%s: baliogabeko PIDa" #, fuzzy #~ msgid "%s: invalid number of seconds" #~ msgstr "baliogabea - segundo" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "da bider" #, fuzzy #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "PID enoratua PID da" #, fuzzy #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "PID da aktibatuta uneko" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "bider" #, fuzzy #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "da" #, fuzzy #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Kopiatu FITXATEGIA eta e\n" #~ " a\n" #~ " ez ikusi egin ez ikusi egin e" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "ez FITXATEGIA edo FITXATEGIA da e" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "%s argumentu anbiguoa da %s-(r)entzat" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "')' expected" #~ msgstr "')' espero zen\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "')' espero zen, eta %s aurkitu da\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "e" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "e" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef-k ez du -l onartzen\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "e" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "operatzaile binario ezezaguna\n" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "e" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "ADIERAZPENA\n" #~ " edo ADIERAZPENA\n" #~ " edo honekin bider ADIERAZPENA e e" #, fuzzy #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "ADIERAZPENA\n" #~ " edo ADIERAZPENA\n" #~ " edo honekin bider ADIERAZPENA e e" #, fuzzy #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "da edo eta da - e" #, fuzzy #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ADIERAZPENA ADIERAZPENA da\n" #~ " ADIERAZPENA ADIERAZPENA da\n" #~ " a eta\n" #~ " edo da e" #, fuzzy #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " e KATEA - KATEA da\n" #~ " KATEA - KATEA da\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " da\n" #~ " da edo\n" #~ " da\n" #~ " da edo\n" #~ " da\n" #~ " da e" #, fuzzy #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " eta gailua eta\n" #~ " da\n" #~ " da e" #, fuzzy #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " FITXATEGIA FITXATEGIA badago eta da\n" #~ " FITXATEGIA FITXATEGIA badago eta da\n" #~ " FITXATEGIA FITXATEGIA badago eta da a\n" #~ " FITXATEGIA FITXATEGIA badago e" #, fuzzy #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ "FITXATEGIA FITXATEGIA badago eta da a\n" #~ " FITXATEGIA FITXATEGIA badago eta da taldea IDa\n" #~ " h FITXATEGIA FITXATEGIA badago eta da a lotura\n" #~ " B FITXATEGIA FITXATEGIA badago eta da bider taldea IDa\n" #~ " FITXATEGIA FITXATEGIA badago eta e" #, fuzzy #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ "FITXATEGIA FITXATEGIA badago eta da a lotura h\n" #~ " FITXATEGIA FITXATEGIA badago eta da bider IDa\n" #~ " FITXATEGIA FITXATEGIA badago eta da a\n" #~ " FITXATEGIA FITXATEGIA badago eta da\n" #~ " FITXATEGIA FITXATEGIA badago eta a tamaina e" #, fuzzy #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ "S FITXATEGIA FITXATEGIA badago eta da a\n" #~ " FD FD bider lehenetsia da aktibatuta a terminala\n" #~ " FITXATEGIA FITXATEGIA badago eta IDa da\n" #~ " FITXATEGIA FITXATEGIA badago eta da\n" #~ " x FITXATEGIA FITXATEGIA badago eta da e" #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "bider errepikatu arte maiatzak KATEA - KATEA e" #, fuzzy #~ msgid "missing `]'" #~ msgstr "`]' falta da\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "baliogabeko argumentua: %s" #~ msgid "creating %s" #~ msgstr "%s sortzen" #, fuzzy #~ msgid "setting times of %s" #~ msgstr "-" #, fuzzy #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ "a\n" #~ " ez edozein\n" #~ " KATEA KATEA eta erabili horren ordez -\n" #~ " enoratua\n" #~ " m e" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ "FITXATEGIA erabili uneko horren ordez -\n" #~ " erabili CC horren ordez -\n" #~ " bider erabili a\n" #~ " m e" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "eta e" #, fuzzy #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "da erabili" #, fuzzy #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "e" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "eta edo e\n" #~ " lehen\n" #~ " in\n" #~ " - a\n" #~ " da in honekin a\n" #~ " -\n" #~ " lehen - e" #, fuzzy #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "- e\n" #~ " honekin balioa\n" #~ "\n" #~ " a\n" #~ "\n" #~ "\n" #~ "\n" #~ " berria\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ "\n" #~ " in\n" #~ " in - data hau arte: -\n" #~ " - honekin\n" #~ " eta\n" #~ " alfa\n" #~ "\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "\n" #~ "\n" #~ " edo\n" #~ "\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "da eta eta e maiatzak da - bider azken " #, fuzzy #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "enoratua eta in in maiatzak in " #, fuzzy #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "eta geroago edo e" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "da e" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "a lotura a lotura da" #, fuzzy #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "- in" #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "baliogabea in e" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "baliogabea" #, fuzzy #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "a" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "in" #, fuzzy #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "maiatzak in" #, fuzzy #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "maiatzak in" #, fuzzy #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "maiatzak in" #, fuzzy #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "hutsik" #, fuzzy #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "honekin in" #, fuzzy #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "maiatzak in eta" #, fuzzy #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "maiatzak in" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "bikoa" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "maiatzak" #, fuzzy #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "eta edo" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s IZENA\n" #~ " edo: %s AUKERA\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "FITXATEGIA zerrenda honekin in FITXATEGIA ez FITXATEGIA edo FITXATEGIA da " #~ "e e" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "hau daukana -" #, fuzzy #~ msgid "%s: input contains a loop:" #~ msgstr "hau daukana a:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Erabilera: %s [AUKERA]...\n" #, fuzzy #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Inprimatu - terminala e\n" #~ " ezer ere ez e" #~ msgid "not a tty" #~ msgstr "ez da tty bat" #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Inprimatu ez e\n" #~ " a in\n" #~ "\n" #~ " e\n" #~ " e" #, fuzzy #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ "\n" #~ " m\n" #~ " mota\n" #~ "\n" #~ " e" #~ msgid "cannot get system name" #~ msgstr "ezin da sistemaren izena lortu" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "Bihurtu in FITXATEGIA ez FITXATEGIA edo FITXATEGIA da e e" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ "a horren ordez -\n" #~ " lehen - a\n" #~ " I I horren ordez - a\n" #~ " erabili - a e" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "gelditu da" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Erabilera: %s [AUKERA]... [SARRERA [IRTEERA]]\n" #, fuzzy #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "Utzi - lerroz behin edo edo e e" #, fuzzy #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ "lerroz behin bider - aldiz\n" #~ " lerroz behin e" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ "lerroz behin\n" #~ " bat ere ez lehenetsia\n" #~ " da eginda honekin lerroz behin\n" #~ " I lehen I\n" #~ " ez ikusi egin ez ikusi egin in\n" #~ " I lehen I\n" #~ " esklusiboa esklusiboa lerroz behin e" #, fuzzy #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "I ez I in lerroz behin e" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "da a - lehenago e" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "argumentu gehiegi" #, fuzzy #~ msgid "invalid number of fields to skip" #~ msgstr "baliogabea -" #, fuzzy #~ msgid "invalid number of bytes to skip" #~ msgstr "baliogabea -" #, fuzzy #~ msgid "invalid number of bytes to compare" #~ msgstr "baliogabea -" #, fuzzy #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "lerroz behin eta da" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s FITXATEGIA\n" #~ " edo: %s AUKERA\n" #, fuzzy #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "Deitu FITXATEGIA e e" #~ msgid "cannot unlink %s" #~ msgstr "ezin da %s esteka kendu" #~ msgid "couldn't get boot time" #~ msgstr "ezin izan da abio ordua lortu" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d: %02d%s piztuta " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? piztuta " #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%d egun" #~ msgstr[1] "%d egun" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%d erabiltzaile" #~ msgstr[1] "%d erabiltzaile" #~ msgid ", load average: %.2f" #~ msgstr ", karga batez bestekoa: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Erabilera: %s [AUKERA]... [ FITXATEGIA]\n" #, fuzzy #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Inprimatu - gora - aktibatuta eta batez bestekoa - azken eta minutu " #~ "FITXATEGIA da erabili FITXATEGIA da e e" #, fuzzy #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "Irteera da in FITXATEGIA FITXATEGIA da erabili FITXATEGIA da e e" #, fuzzy #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Inprimatu eta errepikatu arte FITXATEGIA eta a FITXATEGIA da ez " #~ "FITXATEGIA edo FITXATEGIA da\n" #~ "\n" #~ " m\n" #~ " lerroz behin e" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ "-\n" #~ " e" #~ msgid " old " #~ msgstr " zaharra " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "terminala=" #~ msgid "exit=" #~ msgstr "irten=" #~ msgid "clock change" #~ msgstr "ordu aldaketa" #~ msgid "run-level" #~ msgstr "abio-maila" #~ msgid "last=" #~ msgstr "azkena=" #, fuzzy #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "Erabiltzaile kopurua=%u\n" #~ msgid "NAME" #~ msgstr "IZENA" #~ msgid "LINE" #~ msgstr "LERROA" #~ msgid "TIME" #~ msgstr "ORDUA" #~ msgid "IDLE" #~ msgstr "Alfer-denbora" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "AZALPENA" #~ msgid "EXIT" #~ msgstr "IRTEN" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Erabilera: %s [AUKERA]... [FITXATEGIA | ARG1 ARG2 ]\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " a\n" #~ " - azken\n" #~ "\n" #~ " T - goiburuak e" #, fuzzy #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ "DNS\n" #~ " m eta honekin\n" #~ " bider e" #, fuzzy #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ "eta - aktibatuta\n" #~ "\n" #~ " eta lehenetsia\n" #~ " azken e" #, fuzzy #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ "edo\n" #~ " zerrenda in\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "FITXATEGIA da erabili FITXATEGIA da m am edo e" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "Inprimatu honekin e e" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "errepikatu arte IDa" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Erabilera: %s [KATEA]...\n" #~ " or: %s AUKERA\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Errepikatu lerro berri batean espezifikatutako KATEA(k), edo `y'.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "KOMANDOA\n" #~ " edo e" #~ msgid "block size" #~ msgstr "bloke tamainua" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "ezin da %s-(r)en jabetza eta/edo taldea aldatu" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "ezin da UID zenbaki baten saio taldea lortu" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Hau software librea da; ikusi iturburua kopien kondizioak jakiteko. EZ " #~ "dago inolako bermerik;\n" #~ "ez HELBURU ZEHATZ BATERAKO ez SALTZEKO.\n" #~ msgid "too few arguments" #~ msgstr "argumentu gutxiegi" #~ msgid "closing standard output" #~ msgstr "irteera estandarra itxitzen" #, fuzzy #~ msgid "cannot change to null group" #~ msgstr "taldea" #~ msgid "group number" #~ msgstr "talde zenbakia" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "baliogabea taldea" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ "ez lehenetsia\n" #~ " aktibatuta e" #, fuzzy #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "da edo - - eta bat ere ez edo - e" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "da a" #, fuzzy #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "azken da a" #, fuzzy #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "B da errepikatu arte in Erabili horren ordez." #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "aktibatuta uneko" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] output date/time in ISO 8601 " #~ "format.\n" #~ " TIMESPEC=`date' for date only,\n" #~ " `hours', `minutes', or `seconds' for date " #~ "and\n" #~ " time to the indicated precision.\n" #~ " --iso-8601 without TIMESPEC defaults to " #~ "`date'.\n" #~ msgstr "" #~ "Bistaratu in edo e\n" #~ " KATEA bider KATEA orain\n" #~ " errepikatu arte -\n" #~ " in\n" #~ " errepikatu arte\n" #~ " ordu minutu edo segundo errepikatu arte eta\n" #~ "\n" #~ " e" #, fuzzy #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ "Y m\n" #~ " urtea B astea\n" #~ " B urtea B astea e" #, fuzzy #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ "a\n" #~ " edo ezer ere ez ez da e lehenetsia honekin eta a e\n" #~ "\n" #~ " honekin e" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "a maiatzak G" #~ msgid "undefined" #~ msgstr "definitu gabea" #, fuzzy #~ msgid "cannot get time of day" #~ msgstr "- eguna" #, fuzzy #~ msgid "" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "\n" #~ "\n" #~ " -\n" #~ " geroago\n" #~ " honekin tamaina\n" #~ " honekin edo honekin e" #, fuzzy #~ msgid "%s+%s records in\n" #~ msgstr "in e" #, fuzzy #~ msgid "%s+%s records out\n" #~ msgstr "e" #, fuzzy #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "in" #, fuzzy #~ msgid "file offset out of range" #~ msgstr "-" #, fuzzy #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "ez FITXATEGIA maiatzak honekin" #, fuzzy #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Oihartzuna KATEA e\n" #~ " e\n" #~ " gaitu -\n" #~ "\n" #~ " E desgaitu - in e" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "da erabili" #, fuzzy #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "lehen da da enoratua" #~ msgid "`%s' is too large" #~ msgstr "`%s' luzeegia da" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "enoratua\n" #~ " edo honekin a e maiatzak e e" #, fuzzy #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "da erabili" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "eE maiatzak a m e" #, fuzzy #~ msgid "%s: number of bytes is large" #~ msgstr "- da" #, fuzzy #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "da erabili" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "eta taldea" #, fuzzy #~ msgid "cannot get supplemental group list" #~ msgstr "taldea zerrenda" #, fuzzy #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "azken da a" #~ msgid "%s is a directory" #~ msgstr "%s direktorio bat da" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "errepikatu arte" #, fuzzy #~ msgid "value %s is so large that it is not representable" #~ msgstr "balioa da da" #, fuzzy #~ msgid "invalid field number: `%s'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "baliogabea errepikatu arte" #, fuzzy #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "baliogabea errepikatu arte" #~ msgid "%s: File exists" #~ msgstr "%s: Fitxategia badago" #~ msgid "create symbolic link %s to %s" #~ msgstr "sortu esteka sinbolikoa %s-tik %s-ra" #~ msgid "create hard link %s to %s" #~ msgstr "sortu esteka sendoa %s-tik %s-ra" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "IZENA\n" #~ " edo DIREKTORIOA\n" #~ " edo DIREKTORIOA e" #, fuzzy #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "azken a" #~ msgid "User name too long" #~ msgstr "Erabiltzaile izena luzeegia da" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ msgstr "" #~ "zerrenda jabea\n" #~ " B ez taldea - taldea\n" #~ " h in\n" #~ " erabili -\n" #~ " T\n" #~ " aktibatuta\n" #~ "\n" #~ " lotura\n" #~ " puntu a e" #, fuzzy #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " in modua lehenetsia aktibatuta Leihoak\n" #~ " zerrenda\n" #~ " testua in testua modua lehenetsia e e" #~ msgid "file" #~ msgstr "fitxategia" #~ msgid "files" #~ msgstr "fitxategiak" #~ msgid "checksum" #~ msgstr "egiaztapeneko batura" #~ msgid "checksums" #~ msgstr "egiaztapeneko baturak" #, fuzzy #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "eta" #, fuzzy #~ msgid "no files may be specified when using --string" #~ msgstr "ez maiatzak" #, fuzzy #~ msgid "only one argument may be specified when using --check" #~ msgstr "maiatzak" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "baimenak -" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "baimenak -" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "-" #, fuzzy #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "eta gailua maiatzak errepikatu arte" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "baimenak -" #, fuzzy #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "azken a" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Exekutatu KOMANDOA honekin ez KOMANDOA da lehenetsia e\n" #~ " e bider lehen e" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "baliogabea" #~ msgid "cannot get priority" #~ msgstr "ezin da prioritatea lortu" #~ msgid "cannot set priority" #~ msgstr "ezin da prioritatea ezerri" #~ msgid "minimum string length" #~ msgstr "gutxieneko kate luzeera" #~ msgid "width specification" #~ msgstr "zabalera espezifikazioa" #, fuzzy #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "baliogabea segundo in modua" #, fuzzy #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "in modua azken bikoa" #, fuzzy #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "in IZENA e\n" #~ " errepikatu arte uneko e" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "bide-izena hau daukana" #~ msgid "`%s' is not a directory" #~ msgstr "`%s' ez da direktorio bat" #~ msgid "directory `%s' is not searchable" #~ msgstr "`%s' direktorioa bilaezina da" #, fuzzy #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "-" #, fuzzy #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "bide-izena -" #, fuzzy #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "baliogabea -" #, fuzzy #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "da" #, fuzzy #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "zutabetan baliogabea - zutabetan" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%Y %b %e %H:%M" #, fuzzy #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "-" #~ msgid "Page %d" #~ msgstr "%d orrialdea" #, fuzzy #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "e" #, fuzzy #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "programa da eta edo - Orokorra Publikoa Lizentzia bider Libre Softwarea " #~ "edo e e" #, fuzzy #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "programa da in - edo A Orokorra Publikoa Lizentzia errepikatu arte e e" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "\"GNU General Public License\"-ren kopia bat jaso behar izango\n" #~ "zenuke programarekin batera. Horrela ez bada izan hurrengo helbidera\n" #~ "idatzi:\n" #~ "Free Software Foundation, Inc., 59 Temple Place, Suite 330,\n" #~ "Boston, MA 02111-1307 USA\n" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "in" #, fuzzy #~ msgid "cannot remove `.' or `..'" #~ msgstr "edo" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Kendu FITXATEGIA e\n" #~ " FITXATEGIA da a hutsik\n" #~ " uneko\n" #~ " errepikatu arte\n" #~ " behartu ez ikusi egin\n" #~ " lehenago edozein e" #, fuzzy #~ msgid "sort size" #~ msgstr "tamaina" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "maiatzak a errepikatu arte errepikatu arte m errepikatu arte e" #, fuzzy #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "da erabili" #, fuzzy #~ msgid "" #~ "Display file or filesystem status.\n" #~ "\n" #~ " -f, --filesystem display filesystem status instead of file status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Bistaratu edo e\n" #~ " horren ordez -\n" #~ " erabili horren ordez - lehenetsia\n" #~ "\n" #~ " in e" #, fuzzy #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Abisua da erabili horren ordez" #~ msgid "stdin: read error" #~ msgstr "stdin: irakurketa errorea" #, fuzzy #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "baliogabea in" #, fuzzy #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "Noiz maiatzak ez Erabili e edo horren ordez." #, fuzzy #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "Abisua da erabili bikoa edo honekin Erabili e edo horren ordez." #, fuzzy #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "da erabili" #, fuzzy #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "baliogabea gehienezkoa - tamaina" #~ msgid "argument expected\n" #~ msgstr "argumentu bat espero da\n" #, fuzzy #~ msgid "%s: integer expression expected\n" #~ msgstr "e" #~ msgid "before -lt" #~ msgstr "-lt baino lehen" #~ msgid "after -lt" #~ msgstr "-lt-ren ondoren" #~ msgid "before -le" #~ msgstr "-le baino lehen" #~ msgid "after -le" #~ msgstr "-le-ren ondoren" #~ msgid "before -gt" #~ msgstr "-gt baino lehen" #~ msgid "after -gt" #~ msgstr "-gt-ren ondoren" #~ msgid "before -ge" #~ msgstr "-ge baino lehen" #~ msgid "after -ge" #~ msgstr "-ge-ren ondoren" #~ msgid "before -ne" #~ msgstr "-ne baino lehen" #~ msgid "after -ne" #~ msgstr "-ne-ren ondoren" #~ msgid "before -eq" #~ msgstr "-eq baino lehen" #~ msgid "after -eq" #~ msgstr "-eq-ren ondoren" #~ msgid "after -t" #~ msgstr "-t-ren ondoren" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "e" #, fuzzy #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "Eguneratu eta - FITXATEGIA e e" #, fuzzy #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "baliogabea" #, fuzzy #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "bikoa eta" #, fuzzy #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "baliogabea edozein edo in honekin a e edo in" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "enoratua\n" #~ " edo honekin a e maiatzak e e" #, fuzzy #~ msgid "only one argument may be specified" #~ msgstr "maiatzak" #, fuzzy #~ msgid "tab size contains an invalid character" #~ msgstr "tamaina hau daukana baliogabea" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "da erabili lehen" #, fuzzy #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "da erabili" #, fuzzy #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ "edo\n" #~ " erabili\n" #~ " e" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Abisua: -i ezabatua izango da etorkizuneko bertsiotan; erabili -u honen " #~ "ordez" #, fuzzy #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "errepikatu arte UID e" dc3dd-7.1.614/po/et.gmo0000644000175000017500000001023711233346647014205 0ustar amedicoamedico$0P5pDLP|}ij$$$*C&n9#$!,:"g  &(8'Hp%  !0@tX _ iU 5 : ,0 <] ( - " % (: )c 5  ) 25$h%&&7^ ft9!   $ #"KThS{  BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid number %soffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.5 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2006-11-23 12:07+0200 Last-Translator: Toomas Soome Language-Team: Estonian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=2; plural=(n != 1); PLOKID ja BAIDID võivad kasutada ka järgnevaid kordavaid sufikseid: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 ja nii edasi sümbolitele T, P, E, Z, Y. Iga VÕTMESÕNA võib olla: Iga lipp võib olla: append lisamise mood (omab mõtet ainult väljundil; soovitame conv=notrunc) binary kasuta andmete käsitlemisel binaarmoodi direct kasuta andmete käsitlemisel puhverdamata S/V directory katkesta kui ei ole kataloog dsync kasuta andmete käsitlemisel sünkroonmoodi S/V noatime ära uuenda kasutamise aega noctty ei seosta kontrollivat terminali nofollow ei järgi nimeviiteid nolinks katkesta, kui on viiteid nonblock kasuta mitteblokeeruvat S/V sync sama, aga ka metainfo korral text kasuta andmete käsitlemisel tekstimoodi %s: seek ebaõnnestus, %g s, %s/s Lõpmatu BLisainfo saamiseks proovige `%s --help'. Tundmatu süsteemne vigaKasutamine: %s [OPERAND]... või: %s VÕTI excl ja nocreat ei saa koos kasutadafstat %s ei õnnestuei õnnestu tuuma veast mööda minnasulgen sisendfaili %ssulgen väljundfaili %sfdatasync %s ebaõnnestusfsync %s ebaõnnestusvigane number %sfailiviida ületäitumine %s lugemiselavan %ssean %s lipudstandardsisendstandardväljundtundmatu operand %shoiatus: kasutan lseek funktsiooni tuuma vea tõttu alternatiivset meetodit, fail (%s) mt_type=0x%0lx -- tüüpide nimekirja leiate kirjutan faili %sPRIuMAXtruncating at % bytes in output file %slühendan % baiti väljundfailis %sdc3dd-7.1.614/po/sv.gmo0000644000175000017500000001177511233346647014235 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  9 * ) ) * 04)e1D*+1)])'  /63G${*.I^o,   u! !)( " %  $#' & BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-05-16 23:07+0200 Last-Translator: Göran Uddeborg Language-Team: Swedish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); BLOCK och BYTE kan följas av de följande multiplikativa ändelserna: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024, GB 1000·1000·1000, G 1024·1024·1024, och så vidare för T, P, E, Z, Y. Varje KONV kan vara: Varje FLAGGsymbol kan vara: append lägg-till-läge (meningsfullt endast för utmatning, conv=notrunc rekommenderas) binary använd binär I/O för data direct använd direkt I/O för data directory misslyckas om inte en katalog dsync använd synkroniserad I/O för data noatime uppdatera inte åtkomsttiden noctty tilldela inte styrterminal från fil noerror fortsätt efter läsfel sync fyll ut varje indatablock med nulltecken till ibs-storlek; när det används med block eller unblock, fyll ut med blanktecken istället för nulltecken fdatasync skriv fysiskt data till utfilen före svslut fsync d:o, men skriv även metadata nofollow följ inte symboliska länkar nolinks misslyckas ifall flera länkar nonblock använd icke blockerande I/O sync d:o, men även för metadata text använd text-I/O för data %s: kan inte söka, %g s, %s/s Oändligt BFörsök med "%s --help" för mer information. Okänt systemfelAnvändning: %s [OPERAND]... eller: %s FLAGGA kan inte kombinera excl och nocreatekan inte göra fstat på %skan inte kringgå fel i kärnan trots alltstänger infil %sstänger utdatafil %sfdatasync misslyckades för %sfsync misslyckades för %sogiltig konverteringogiltig inflaggaogiltigt antal %sogiltig utflaggaogiltig statusflaggaspill i filposition vid läsning av filen %söppnar %ssätter flaggor för %sstandard instandard utokänd operand %svarning: går runt fel i kärnan i lseek för fil (%s) med mt_type=0x%0lx -- se för en lista av typerskrivning till %sPRIuMAXtruncating at % bytes in output file %shugger av vid % byte i utdatafil %sdc3dd-7.1.614/po/es.gmo0000644000175000017500000000262011233346647014201 0ustar amedicoamedico | &!H]m t KY+ %*!P r ~   Try `%s --help' for more information. Unknown system errorcannot fstat %sclosing input file %sclosing output file %sinvalid number %sopening %sstandard inputstandard outputwarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: GNU coreutils 5.2.1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2004-11-05 01:11+0100 Last-Translator: Santiago Vila Doncel Language-Team: Spanish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=2; plural=(n != 1); Pruebe `%s --help' para más información. Error del sistema desconocidono se puede efectuar `fstat' sobre %scerrando el fichero de entrada %scerrando el fichero de salida %snúmero inválido %sabriendo %sentrada estándarsalida estándaratención: solucionando provisionalmente un bicho del núcleo relacionado con lseek para el fichero (%s) de mt_type=0x%0lx; consulte la lista de tipos en escribiendo en %sdc3dd-7.1.614/po/lt.gmo0000644000175000017500000000124411233346647014212 0ustar amedicoamedico4L`avrUnknown system errorstandard outputProject-Id-Version: coreutils-6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-05-14 03:13+0300 Last-Translator: Gintautas Miliauskas Language-Team: Lithuanian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2); X-Generator: KBabel 1.11.4 Nežinoma sistemos klaidastandartinis išvedimasdc3dd-7.1.614/po/zh_TW.gmo0000644000175000017500000000441511233346647014631 0ustar amedicoamedicoL&'*Rh t t7M#c! ' 5 BOe      BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: %s: cannot seekTry `%s --help' for more information. Unknown system errorcannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid number %sopening %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 5.3.0 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2005-07-02 04:13+0800 Last-Translator: Abel Cheung Language-Team: Chinese (traditional) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=1; plural=0; <區段數目> 及 <位元組> 可以加上以下的單位: xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576, GB=1000*1000*1000,G=1024*1024*1024,還有 T/P/E/Z/Y 如此類推。 每個 <關鍵字> 可以是: %s:無法搜尋請嘗試執行‘%s --help’來獲取更多資訊。 不明的系統錯誤不可同時使用 excl 和 nocreat無法 fstat %s無法避開系統核心的錯誤正在關閉輸入檔 %s正在關閉輸出檔%s%s 的 fdatasync 失敗%s 的 fsync 失敗數字 %s 無效開啟 %s 中標準輸出標準輸出無法識別參數 %s警告:暫時避免有關檔案 (%s) 的 lseek 核心錯誤,檔案的 mt_type=0x%0lx ─ 有關 mt_type 類型的清單請參考 正在寫入 %sdc3dd-7.1.614/po/LINGUAS0000644000175000017500000000016211064230667014106 0ustar amedicoamedicoaf be bg ca cs da de el es et eu fi fr ga gl hu it ja ko lt ms nb nl pl pt pt_BR ru sk sl sv tr uk vi zh_CN zh_TW dc3dd-7.1.614/po/vi.po0000644000175000017500000126752611233346647014067 0ustar amedicoamedico# Vietnamese translation for CoreUtils. # Copyright © 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils-6.11 package. # Phan Vinh Thinh , 2005. # Clytie Siddall , 2007-2008. # msgid "" msgstr "" "Project-Id-Version: coreutils 6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-04-23 17:47+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "không tạo được tiến trình cho %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Hãy thử lệnh trợ giúp « %s --help » để biết thêm thông tin.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Sử dụng: %s [TOÁN_HẠNG]...\n" " hoặc: %s TÙY_CHỌN\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Sao chép mọt tập tin, chuyển đổi và định dạng theo toán hạng.\n" "\n" " bs=BYTES bắt buộc « ibs=BYTES » và « obs=BYTES »\n" " cbs=BYTES chuyển đổi BYTES byte cùng một lúc\n" " conv=CONVS chuyển đổi tập tin như danh sách các ký hiệu\n" " phân cách nhau bởi dấu phẩy\n" " count=KHỐI chỉ sao chép KHỐI khối đầu vào\n" " ibs=BYTES đọc BYTES byte cùng một lúc\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=TẬP_TIN đọc từ TẬP_TIN thay cho đầu vào tiêu chuẩn\n" " iflag=CỜ đọc như danh sách các ký hiệu phân cách bởi dấu phẩy\n" " obs=BYTES ghi BYTES byte cùng một lúc\n" " of=TẬP_TIN ghi vào TẬP_TIN thay cho đầu ra tiêu chuẩn\n" " oflag=CỜ ghi như danh sách các ký tự phân cách bởi dấu phẩy\n" " seek=KHỐI bỏ qua KHỐI khối với kích thước obs ở đầu đầu ra\n" " skip=KHỐI bỏ qua KHỐI khối với kích thước ibs ở đầu đầu vào\n" " status=noxfer bỏ đi thông kê truyền tải\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Theo sau KHỐI và BYTES có thể đặt các hậu tố nhân sau :\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, và tương tự với T, P, E, Z, Y.\n" "\n" "Mỗi ký hiệu CONV có thể là:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat không tạo tập tin kết quả\n" " excl lỗi nếu tập tin kết quả đã có\n" " notrunc không cắt ngắn tập tin kết quả\n" " ucase thay đổi chữ thường thành chữ hoa\n" " swab trao đổi mọi cặp byte đưa vào\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror tiếp tục sau khi gặp lỗi đọc\n" " sync thêm mọi khối đầu vào với NUL đến kích thước ibs; khi\n" " sử dụng với block hoặc unblock, thêm bằng khoảng trắng\n" " fdatasync ghi vật lý dữ liệu tập tin kết quả lên đĩa trước khi thoát\n" " fsync như trên, nhưng đồng thời ghi cả siêu dữ liệu\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Mỗi ký hiệu CỜ có thể là:\n" "\n" " append chế độ phụ thêm\n" " (chỉ có ích cho kết quả ra; cũng đề nghị « conv=notrunc »)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct sử dụng V/R thẳng cho dữ liệu\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory lỗi nếu không phải thư mục\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync dùng V/R đã đồng bộ cho dữ liệu\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync như trên, nhưng đồng thời cho cả siêu dữ liệu\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock sử dụng V/R không đặt khối\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime không cập nhật giờ truy cập\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty không ấn định thiết bị cuối điều khiển từ tập tin\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow không đi theo liên kết mềm\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks lỗi nếu có nhiều liên kết\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary sử dụng V/R nhị phân cho dữ liệu\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text sử dụng V/R văn bản cho dữ liệu\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Gửi một tín hiệu %s tới tiến trình « dd » đang chạy để nó in\n" "thống kê V/R ra đầu lỗi tiêu chuẩn, sau đó tiếp tục sao chép.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 mục ghi vào\n" " 18335302+0 mục ghi ra\n" " 9387674624 byte (9.4 GB) đã sao chép, 34.6279 giây, 271 MB/giây\n" "\n" "Tùy chọn:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Lỗi hệ thống không rõ" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% mục ghi vào\n" "%+% mục ghi ra\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% byte (%s) đã sao chép" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "B vô cùng" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "đang đóng tập tin vào %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "đang đóng tập tin ra %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Hết đuôi (hậu tố) để dùng cho tập tin kết quả" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "đang mở %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "BỊ LỖI" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "toán hạng không nhận ra %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "ngày sai %s'" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "sai định dạng ngày tháng %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "sai định dạng ngày tháng %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "sai định dạng ngày tháng %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "sai chuyển đổi" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "cờ đầu vào không hợp lệ" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "cờ đầu ra không hợp lệ" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "cờ trạng thái không hợp lệ" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "số không hợp lệ %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "không thể kết hợp excl và nocreat" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "không thể kết hợp hai tùy chọn « -e » và « -i »" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "không thể kết hợp hai tùy chọn « -e » và « -i »" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "không thể kết hợp hai tùy chọn « -e » và « -i »" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "không thể kết hợp hai tùy chọn « -e » và « -i »" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "không thể kết hợp hai tùy chọn « -e » và « -i »" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "cảnh báo : đang gỡ rối lỗi nhân lseek cho tập tin (%s)\n" " có mt_type=0x%0lx -- xem để biết danh sách các dạng" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "đang đọc %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: không thể tìm nơi" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "vùng hiệu bị tràn khi đọc tập tin %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "cảnh báo : vùng hiệu tập tin không hợp lệ sau lỗi đọc" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "vậy không làm việc được với lỗi của nhân" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "đang thiết lập cờ cho %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "đang đọc thư mục %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "đang đọc thư mục %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "đang ghi tới %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync bị lỗi cho %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "fsync bị lỗi cho %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "đầu vào tiêu chuẩn" #: src/dc3dd.c:3938 msgid "standard output" msgstr "đầu ra tiêu chuẩn" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "vùng hiệu quá lớn: không thể cắt ngắn thành chiều dài seek=% (%lu-" "byte) khối" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "không fstat được %s" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "đang cắt ngắn ở % byte trong tập tin kết quả %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii từ EBCDIC tới ASCII\n" #~ " ebcdic từ ASCII tới EBCDIC\n" #~ " ibm từ ASCII tới EBCDIC xen kẽ\n" #~ " block thêm mục ghi dừng dòng mới với khoảng trắng đến kích cỡ cbs\n" #~ " unblock thay thế khoảng trắng theo sau trong mục ghi kích cỡ cbs bằng " #~ "dòng mới\n" #~ " lcase thay đổi chữ hoa thành chữ thường\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% mục ghi bị cắt ngắn\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "không thể kết hợp hai trong số {ascii,ebcdic,ibm}" #~ msgid "cannot combine block and unblock" #~ msgstr "không thể kết hợp block và unblock" #~ msgid "cannot combine lcase and ucase" #~ msgstr "không thể kết hợp lcase (chữ thường) và ucase (chữ hoa)" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "cảnh báo : vùng hiệu tập tin không hợp lệ sau lỗi đọc" #~ msgid "error writing %s" #~ msgstr "lỗi ghi %s" #~ msgid "invalid argument %s for %s" #~ msgstr "đối số sai %s cho %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "đối số mơ hồ %s cho %s" #~ msgid "Valid arguments are:" #~ msgstr "Đối số hợp lệ:" #~ msgid "error closing file" #~ msgstr "lỗi đóng tập tin" #~ msgid "write error" #~ msgstr "lỗi ghi nhớ" #~ msgid "preserving permissions for %s" #~ msgstr "đang bảo tồn quyền hạn cho %s" #~ msgid "cannot stat %s" #~ msgstr "không thể lấy trạng thái của (stat) %s" #~ msgid "regular empty file" #~ msgstr "tập tin rỗng thông thường" #~ msgid "regular file" #~ msgstr "tập tin thông thường" #~ msgid "directory" #~ msgstr "thư mục" #~ msgid "block special file" #~ msgstr "tập tin đặc biệt khối" #~ msgid "character special file" #~ msgstr "tập tin đặc biệt ký tự" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "liên kết mềm" #~ msgid "socket" #~ msgstr "ổ cắm" #~ msgid "message queue" #~ msgstr "hàng đợi thư" #~ msgid "semaphore" #~ msgstr "đèn hiệu" #~ msgid "shared memory object" #~ msgstr "vật thể bộ nhớ chia sẻ" #~ msgid "typed memory object" #~ msgstr "vật thể bộ nhớ có kiểu" #~ msgid "weird file" #~ msgstr "tập tin kỳ lạ" #~ msgid "Address family for hostname not supported" #~ msgstr "Không hỗ trợ nhóm địa chỉ cho tên máy" #~ msgid "Temporary failure in name resolution" #~ msgstr "Tiến trình giải quyết tên bị lỗi tạm thời" #~ msgid "Bad value for ai_flags" #~ msgstr "Giá trị sai cho « ai_flags »" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Tiến trình giải quyết tên bị lỗi một cách không thể phục hồi" #~ msgid "ai_family not supported" #~ msgstr "không hỗ trợ nhóm « ai_family »" #~ msgid "Memory allocation failure" #~ msgstr "Tiến trình cấp phát bộ nhớ bị lỗi" #~ msgid "No address associated with hostname" #~ msgstr "Không có địa chỉ tương ứng với tên máy" #~ msgid "Name or service not known" #~ msgstr "Không rõ tên hay dịch vụ" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Không hỗ trợ tên dịch vụ cho « ai_socktype »" #~ msgid "ai_socktype not supported" #~ msgstr "Không hỗ trợ « ai_socktype »" #~ msgid "System error" #~ msgstr "Lỗi hệ thống" #~ msgid "Argument buffer too small" #~ msgstr "Vùng đệm đối số quá nhỏ" #~ msgid "Processing request in progress" #~ msgstr "Đang xử lý yêu cầu" #~ msgid "Request canceled" #~ msgstr "Yêu cầu bị thôi" #~ msgid "Request not canceled" #~ msgstr "Yêu cầu không bị thôi" #~ msgid "All requests done" #~ msgstr "Mọi yêu cầu đều đã xử lý xong." #~ msgid "Interrupted by a signal" #~ msgstr "Bị tín hiệu gián đoạn" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Chuỗi tham số sai mã hoá" #~ msgid "Unknown error" #~ msgstr "Lỗi không rõ" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: tùy chọn « %s » mơ hồ\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: tùy chọn « --%s » không cho phép đối số\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: tùy chọn « %c%s » không cho phép đối số\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: tùy chọn « %s » yêu cầu đối số\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: tùy chọn không nhận ra « --%s »\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: tùy chọn không nhận ra « %c%s »\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: không cho phép tùy chọn -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: tùy chọn không hợp lệ -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: tùy chọn yêu cầu đối số -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: tùy chọn « -W %s » mơ hồ\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: tùy chọn « -W %s » không cho phép đối số\n" #~ msgid "cannot change permissions of %s" #~ msgstr "không thay đổi được quyền hạn của %s" #~ msgid "cannot create directory %s" #~ msgstr "không tạo được thư mục %s" #~ msgid "memory exhausted" #~ msgstr "cạn bộ nhớ" #~ msgid "unable to record current working directory" #~ msgstr "không ghi nhớ được thư mục làm việc hiện thời" #~ msgid "failed to return to initial working directory" #~ msgstr "trở về thư mục làm việc khởi đầu không thành công" #~ msgid "`" #~ msgstr "« " #~ msgid "'" #~ msgstr " »" #~ msgid "%s: end of file" #~ msgstr "%s: kết thúc tập tin" #~ msgid "Success" #~ msgstr "Thành công" #~ msgid "No match" #~ msgstr "Không tìm thấy" #~ msgid "Invalid regular expression" #~ msgstr "Biểu thức chính quy không hợp lệ" #~ msgid "Invalid collation character" #~ msgstr "Ký tự đối chiếu không hợp lệ" #~ msgid "Invalid character class name" #~ msgstr "Sai tên hạng ký tự" #~ msgid "Trailing backslash" #~ msgstr "Có xuyệc ngược theo sau" #~ msgid "Invalid back reference" #~ msgstr "Sai tham chiếu ngược" #~ msgid "Unmatched [ or [^" #~ msgstr "Chưa khớp ký tự « [ » hay « [^ »" #~ msgid "Unmatched ( or \\(" #~ msgstr "Chưa khớp ký tự « ( » hay « \\( »" #~ msgid "Unmatched \\{" #~ msgstr "Chưa khớp ký tự « \\{ »" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Nội dụng « \\{\\} » không hợp lệ" #~ msgid "Invalid range end" #~ msgstr "Sai kết thúc phạm vi" #~ msgid "Memory exhausted" #~ msgstr "Cạn bộ nhớ" #~ msgid "Invalid preceding regular expression" #~ msgstr "Sai biểu thức chính quy đi trước" #~ msgid "Premature end of regular expression" #~ msgstr "Kết thúc sớm biểu thức chính quy" #~ msgid "Regular expression too big" #~ msgstr "Biểu thức chính quy quá lớn" #~ msgid "Unmatched ) or \\)" #~ msgstr "Chưa khớp ký tự « ) » hay « \\) »" #~ msgid "No previous regular expression" #~ msgstr "Không có biểu thức chính quy đi trước" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "thực hiện đệ quy trên %s là rất nguy hiểm" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "thực hiện đệ quy trên %s là rất nguy hiểm (cũng như %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "hãy dùng « --no-preserve-root » để bỏ qua kiểm tra này" #~ msgid "^[yY]" #~ msgstr "^[cCyY]" #~ msgid "^[nN]" #~ msgstr "^[kKnN]" #~ msgid "setting permissions for %s" #~ msgstr "đang thiết lập quyền hạn cho %s" #~ msgid "iconv function not usable" #~ msgstr "hàm iconv không thể sử dụng" #~ msgid "iconv function not available" #~ msgstr "không có hàm iconv" #~ msgid "character out of range" #~ msgstr "ký tự nằm ngoài phạm vi" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "không chuyển đổi được U+%04X thành bảng mã ký tự nội bộ" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "không chuyển đổi được U+%04X thành bảng mã ký tự nội bộ : %s" #~ msgid "invalid user" #~ msgstr "tên người dùng không hợp lệ" #~ msgid "invalid group" #~ msgstr "nhóm không hợp lệ" #~ msgid "invalid spec" #~ msgstr "đặc tả không hợp lệ" #~ msgid "(C)" #~ msgstr "©" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Giấy Phép Công Cộng GNU (GPL), phiên bản 3 hay sau \n" #~ "Đây là phần mềm tự do : bạn có quyền thay đổi và phát hành lại nó.\n" #~ "KHÔNG CÓ BẢO HÀNH GÌ CẢ, với điều kiện được pháp luật cho phép.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Viết bởi %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Viết bởi %s và %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Viết bởi %s, %s và %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Viết bởi %s, %s, %s,.\n" #~ "và %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Viết bởi %s, %s, %s,.\n" #~ "%s, và %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Viết bởi %s, %s, %s,.\n" #~ "%s, %s, và %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Viết bởi %s, %s, %s,.\n" #~ "%s, %s, %s, và %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Viết bởi %s, %s, %s,.\n" #~ "%s, %s, %s, %s.\n" #~ "và %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Viết bởi %s, %s, %s,.\n" #~ "%s, %s, %s, %s.\n" #~ "%s, và %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Viết bởi %s, %s, %s,.\n" #~ "%s, %s, %s, %s.\n" #~ "%s, %s, và những người khác.\n" #~ msgid "invalid argument: %s" #~ msgstr "đối số sai: %s" #~ msgid "string comparison failed" #~ msgstr "so sánh các chuỗi không thành công" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Hãy đặt « LC_ALL='C' » để giải quyết vấn đề." #~ msgid "The strings compared were %s and %s." #~ msgstr "Các chuỗi đã so sánh là %s và %s." #~ msgid "string transformation failed" #~ msgstr "chuyển dạng các chuỗi không thành công" #~ msgid "The untransformed string was %s." #~ msgstr "Chuỗi chưa được chuyển dạng là %s." #~ msgid "cannot perform formatted output" #~ msgstr "không thể thực hiện kết xuất đã định dạng" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "đối số %s%s không hợp lệ « %s »" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "hậu tố không hợp lệ trong đối số %s%s « %s »" #~ msgid "%s%s argument `%s' too large" #~ msgstr "đối số %s%s « %s » quá lớn" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN] [TẬP_TIN]\n" #~ "\n" #~ "Mã hoá/giải mã Base64 TẬP_TIN (hay đầu vào tiêu chuẩn) ra đầu ra tiêu " #~ "chuẩn\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=CỘT Ngắt dòng đã mã hoá sau ký tự CỘT (mặc định 76).\n" #~ " Đăt 0 để tắt khả năng ngắt dòng.\n" #~ "\n" #~ " -d, --decode Giải mã dữ liệu.\n" #~ " -i, --ignore-garbage Giải mã thì bỏ qua các ký tự khác abc.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Hiển thị trợ giúp này rồi thoát.\n" #~ " --version Xuất thông tin phiên bản rồi thoát.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Không có TẬP_TIN, hoặc TẬP_TIN là « - », thì đọc đầu vào tiêu chuẩn.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Dữ liệu được mã hoá như được diễn tả cho bảng chữ cái base64 trong tài " #~ "liệu\n" #~ "RFC 3564. Khi giải mã, kết nhập có thể chứa các ký tự dòng mới, thêm vào\n" #~ "các byte của bảng chữ cái base64 hình thức. Hãy dùng tùy chọn\n" #~ "« --ignore-garbage » để thử phục hồi khi luồng đã mã hoá chứa byte khác " #~ "chữ cái.\n" #~ msgid "read error" #~ msgstr "lỗi đọc" #~ msgid "invalid input" #~ msgstr "sai nhập vào" #~ msgid "invalid wrap size: %s" #~ msgstr "sai kích cỡ ngắt dòng: %s" #~ msgid "extra operand %s" #~ msgstr "toán hạng thêm %s" #~ msgid "closing standard input" #~ msgstr "đang đóng đầu vào tiêu chuẩn" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s TÊN [HẬU_TỐ]\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "In ra TÊN không có thành phần thư mục đứng ở đầu.\n" #~ "Nếu chỉ ra, thì còn xóa bỏ HẬU_TỐ.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Thí dụ :\n" #~ " %s /usr/bin/sort Xuất « sort ».\n" #~ " %s include/stdio.h .h Xuất « stdio ».\n" #~ msgid "missing operand" #~ msgstr "thiếu toán hạng" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN] [TẬP_TIN]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Ghép nối các TẬP_TIN, hoặc đầu vào tiêu chuẩn, ra đầu ra tiêu chuẩn.\n" #~ "\n" #~ " -A, --show-all tương đương với « -vET »\n" #~ " -b, --number-nonblank đánh số dòng kết quả không rỗng\n" #~ " -e tương đương với « -vE »\n" #~ " -E, --show-ends hiển thị « $ » tại cuối mỗi dòng\n" #~ " -n, --number đánh số tất cả những dòng của kết qủa\n" #~ " -s, --squeeze-blank không bao giờ có hơn một dòng rỗng đơn\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t tương đương với « -vT »\n" #~ " -T, --show-tabs hiển thị ký tự TAB ở dạng « ^I »\n" #~ " -u (bị bỏ qua)\n" #~ " -v, --show-nonprinting dùng ký hiệu « ^ » và « M- », trừ cho LFD và " #~ "TAB\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Thí dụ :\n" #~ " %s f - g Xuất nội dung của f, rồi đầu vào tiêu chuẩn, rồi nội dung của " #~ "g.\n" #~ " %s Sao chép đầu vào tiêu chuẩn vào đầu ra tiêu chuẩn.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "không thực hiện được ioctl trên %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: tập tin đầu vào là tập tin đầu ra" #~ msgid "failed to create security context: %s" #~ msgstr "lỗi tạo ngữ cảnh bảo mật: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "lỗi đặt thành phần ngữ cảnh bảo mật %s thanh %s" #~ msgid "failed to get security context of %s" #~ msgstr "lỗi lấy ngữ cảnh bảo mật của %s" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "không thể áp dụng ngữ cảnh bộ phận cho tập tin không có nhãn %s" #~ msgid "failed to change context of %s to %s" #~ msgstr "lỗi thay đổi ngữ cảnh của %s thành %s" #~ msgid "cannot access %s" #~ msgstr "không thể truy cập %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "không đọc được thư mục %s" #~ msgid "changing security context of %s" #~ msgstr "đang thay đổi ngữ cảnh bảo mật thành %s" #~ msgid "fts_read failed" #~ msgstr "fts_read bị lỗi" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... NGỬ_CẢNH TẬP_TIN...\n" #~ " hoặc: %s [TÙY_CHỌN]... [-u NGƯỜI_DÙNG] [-r VÀI_TRÒ] [-l PHẠM_VI] [-t " #~ "KIỂU] TẬP_TIN...\n" #~ " hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_R TẬP_TIN...\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Thay đổi ngữ cảnh bảo mật của mỗi TẬP_TIN thành NGỮ_CẢNH.\n" #~ "Khi có « --reference », thay đổi ngữ cảnh bảo mật của mỗi TẬP_TIN thành " #~ "điều của TẬP_TIN_R.\n" #~ "\n" #~ " -c, --changes giống verbose nhưng chỉ thông báo khi có thay " #~ "đổi\n" #~ " -h, --no-dereference\t\tảnh hưởng đến liên kết mềm thay cho\n" #~ "\t\t\t\t\t\ttập tin nào đã tham chiếu\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=TẬP_TIN_R sử dụng ngữ cảnh bảo mật của TẬP_TIN_R\n" #~ " \tthay vào ghi rõ giá trị NGỮ_CẢNH\n" #~ " -R, --recursive thực hiện đệ quy trên tập tin và thư mục\n" #~ " -v, --verbose đưa ra thông tin chuẩn đoán cho mọi tập tin đã " #~ "xử lý\n" #~ "\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=NGƯỜI_DÙNG\tđặt người dùng này trong ngữ cảnh bảo mật đích\n" #~ " -r, --role=VÀI_TRÒ \tđặt vai trò này trong ngữ cảnh bảo mật " #~ "đích\n" #~ " -t, --type=KIỂU \t\tđặt kiểu này trong ngữ cảnh bảo mật đích\n" #~ " -l, --range=PHẠM_VI \tđặt phạm vi này trong ngữ cảnh bảo mật đích\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Những tùy chọn sau sửa đổi cách đi qua cây thư mục khi có tùy chọn « -R " #~ "».\n" #~ "Nếu chỉ ra hơn một tùy chọn, thì chỉ tùy chọn cuối có ảnh hưởng.\n" #~ "\n" #~ " -H nếu đối số dòng lệnh là liên kết mềm tới một\n" #~ " thư mục, thì đi qua nó\n" #~ " -L đi qua mọi liên kết mềm tới một thư mục\n" #~ " -P không đi qua bất kỳ liên kết mềm nào (mặc định)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference cần « -H » hoặc « -L »" #~ msgid "-R -h requires -P" #~ msgstr "-R -h cần thiết -P" #~ msgid "missing operand after %s" #~ msgstr "thiếu toán hạng ở sau %s" #~ msgid "invalid context: %s" #~ msgstr "ngữ cảnh không hợp lệ: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "chỉ ra các toán tử ngữ cảnh bảo mật xung đột với nhau" #~ msgid "failed to get attributes of %s" #~ msgstr "lấy thuộc tính của %s không thành công" #~ msgid "invalid group: %s" #~ msgstr "nhóm không hợp lệ: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... NHÓM TẬP TIN...\n" #~ " hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_R TẬP_TIN...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Thay đổi nhóm của mỗi TẬP_TIN thành NHÓM.\n" #~ "Khi có « --reference », thay đổi nhóm của mỗi TẬP_TIN thành nhóm của " #~ "TẬP_TIN_R.\n" #~ "\n" #~ " -c, --changes giống verbose nhưng chỉ thông báo khi có thay " #~ "đổi\n" #~ " --dereference ảnh hưởng đích đến của mỗi liên kết mềm\n" #~ " (mặc định), chứ không ảnh hưởng bản thân nó\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference ảnh hưởng mỗi liên kết mềm chứ không ảnh hưởng " #~ "tập tin\n" #~ " đích (chỉ có tác dụng trên hệ thống có thể thay " #~ "đổi\n" #~ " quyền sở hữu của một liên kết mềm)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root không coi `/' là đặc biệt (mặc định)\n" #~ " --preserve-root không thao tác đệ quy trên `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet bỏ qua phần lớn các thông báo lỗi\n" #~ " --reference=TẬP_TIN_R sử dụng nhóm của TẬP_TIN_R\n" #~ " thay cho giá trị NHÓM chỉ ra\n" #~ " -R, --recursive thực hiện đệ quy trên tập tin và thư mục\n" #~ " -v, --verbose đưa ra thông tin chuẩn đoán cho mọi tập tin\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Thí dụ :\n" #~ " %s staff /u Thay đổi nhóm của « /u » thành « staff ».\n" #~ " %s -hR staff /u Thay đổi nhóm của « /u » và các tập tin dưới thành « " #~ "staff ».\n" #~ msgid "getting new attributes of %s" #~ msgstr "đang lấy thuộc tính mới của %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "liên kết mềm %s chưa thay đổi, đích đến cũng vậy\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "chế độ của %s đã thay đổi thành %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "lỗi chuyển đổi chế độ của %s thành %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "chế độ của %s vẫn là %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "không thể thực hiện trên liên kết mềm theo sát %s" #~ msgid "changing permissions of %s" #~ msgstr "đang thay đổi quyền hạn của %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: quyền hạn mới là %s, không phải %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... CHẾ_ĐỘ[,CHẾ_ĐỘ]... TẬP_TIN...\n" #~ " hoặc: %s [TÙY_CHỌN]... CHẾ_ĐỘ_BÁT_PHÂN TẬP_TIN...\n" #~ " hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_R TẬP_TIN...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Thay đổi chế độ của mỗi TẬP_TIN thành CHẾ_ĐỘ.\n" #~ "\n" #~ " -c, --changes giống verbose nhưng chỉ báo cáo khi có thay " #~ "đổi\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root không coi `/' là đặc biệt (mặc định)\n" #~ " --preserve-root không thao tác đệ quy trên `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet bỏ qua phần lớn các thông báo lỗi\n" #~ " -v, --verbose đưa ra thông tin chuẩn đoán cho mọi tập tin " #~ "được xử lý\n" #~ " --reference=TẬP_TIN_R dùng chế độ của TẬP_TIN_R thay cho CHẾ_ĐỘ\n" #~ " -R, --recursive thực hiện đệ quy trên tập tin và thư mục\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Mỗi CHẾ_ĐỘ có dạng « [ugoa]*([-+=]([rwxXst]*|[ugo]))+ ».\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "không thể kết hợp chế độ và tùy chọn « --reference »" #~ msgid "invalid mode: %s" #~ msgstr "chế độ sai: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "đã thay đổi quyền sở hữu của %s thành %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "đã thay đổi nhóm của %s thành %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "không thay đổi quyền sở hữu của %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "thay đổi quyền sở hữu của %s thành %s không thành công\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "thay đổi nhóm của %s thành %s không thành công\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "thay đổi quyền sở hữu của %s không thành công\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "quyền sở hữu của %s vẫn là của %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "nhóm của %s vẫn là %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "quyền sở hữu của %s được giữ nguyên\n" #~ msgid "cannot dereference %s" #~ msgstr "không truy cập được giá trị của %s" #~ msgid "changing ownership of %s" #~ msgstr "đang thay đổi quyền sở hữu của %s" #~ msgid "changing group of %s" #~ msgstr "đang thay đổi nhóm của %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... [NGƯỜI_SỞ_HỮU][:[NHÓM]] TẬP_TIN...\n" #~ " hoặc: %s [TÙY_CHỌN]... --reference=TẬP_TIN_R TẬP_TIN...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Thay đổi người sở hữu và/hoặc nhóm của mỗi TẬP_TIN thành NGƯỜI_SỞ_HỮU và/" #~ "hoặc\n" #~ "NHÓM. Với « --reference », thay đổi người sở hữu và nhóm của mỗi TẬP_TIN " #~ "thành\n" #~ "như TẬP_TIN_R.\n" #~ "\n" #~ " -c, --changes giống verbose nhưng chỉ báo cáo khi có thay đổi\n" #~ " --dereference ảnh hưởng đích đến của mỗi liên kết mềm\n" #~ " (mặc định), chứ không ảnh hưởng bản thân nó\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=SỞ_HỮU_HIỆN_CÓ:NHÓM_HIỆN_CÓ\n" #~ " chỉ thay đổi người sở hữu và/hoặc nhóm của mỗi " #~ "tập\n" #~ " tin nếu người sở hữu và/hoặc nhóm tương ứng với " #~ "mẫu chỉ\n" #~ " ra ở đây. Có thể bỏ qua một trong hai tham số " #~ "nếu\n" #~ " chỉ yêu cầu tương ứng cái còn lại.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet bỏ qua phần lớn các thông báo lỗi\n" #~ " --reference=TẬP_TIN_R dùng người sở hữu và nhóm của TẬP_TIN_R " #~ "thay\n" #~ " cho giá trị CHỦ_SỞ_HỮU:NHÓM chỉ ra\n" #~ " -R, --recursive thực hiện đệ quy trên tập tin và thư mục\n" #~ " -v, --verbose đưa ra thông tin chuẩn đoán cho mọi tập tin được " #~ "xử lý\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Không chỉ ra chủ sở hữu thì không thay đổi nó.\n" #~ "Không chỉ ra nhóm thì không thay đổi nó, nhưng thay đổi thành nhóm đăng " #~ "nhập\n" #~ "nếu đặt một dấu hai chấm « : » sau CHỦ_SỞ_HỮU tượng trưng.\n" #~ "CHỦ_SỞ_HỮU và NHÓM có thể là các giá trị số cũng như tượng trưng.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Thí dụ :\n" #~ " %s root /u Thay đổi người sở hữu /u thành « root ».\n" #~ " %s root:staff /u Cũng vậy, cũng thay đổi nhóm thành « staff ».\n" #~ " %s -hR root /u Thay đổi người sở hữu /u và các tập tin dưới thành « " #~ "root ».\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s ROOT_MỚI [LỆNH...]\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "Chạy LỆNH với thư mục gốc (root) đặt là ROOT_MỚI.\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Nếu không đưa ra câu lệnh, thì chạy « ${SHELL} -i' » (mặc định: /bin/" #~ "sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "không thay đổi được thư mục gốc (root) thành %s" #~ msgid "cannot chdir to root directory" #~ msgstr "không chuyển được tới thư mục gốc (root)" #~ msgid "cannot run command %s" #~ msgstr "không chạy được câu lệnh %s" #~ msgid "%s: file too long" #~ msgstr "%s: tập tin quá dài" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Sử dụng: %s [TẬP_TIN]...\n" #~ " hoặc: %s [TÙY_CHỌN]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "In ra tổng kiểm tra CRC và số byte của mỗi TẬP_TIN.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... TẬP_TIN1 TẬP_TIN2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "" #~ "So sánh các tập tin đã sắp xếp TẬP_TIN1 và TẬP_TIN2 theo từng dòng.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Khi không có tùy chọn, đưa ra kết quả trong ba cột. Cột thứ nhất là\n" #~ "những dòng chỉ có trong TẬP_TIN1, cột thứ hai chứa những dòng chỉ\n" #~ "có trong TẬP_TIN2, và cột thứ ba chứa những dòng có chung trong chúng.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 bỏ đi những dòng chỉ có trong TẬP_TIN1\n" #~ " -2 bỏ đi những dòng chỉ có trong TẬP_TIN2\n" #~ " -3 bỏ đi những dòng có trong cả hai tập tin\n" #~ msgid "clearing permissions for %s" #~ msgstr "đang gột quyền hạn cho %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "giữ quyền sở hữu của %s không thành công" #~ msgid "failed to lookup file %s" #~ msgstr "tra tìm tập tin %s không thành công" #~ msgid "failed to preserve authorship for %s" #~ msgstr "giữ nguồn tác giả của %s không thành công" #~ msgid "cannot open %s for reading" #~ msgstr "không mở được %s để đọc" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "bỏ qua tập tin %s, vì đã thay thế nó trong khi sao chép" #~ msgid "failed to get file system create context" #~ msgstr "lỗi lấy ngữ cảnh tạo hệ thống tập tin" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "lỗi đặt ngữ cảnh bảo mật của %s thành %s" #~ msgid "cannot remove %s" #~ msgstr "không xóa được %s" #~ msgid "removed %s\n" #~ msgstr "đã xóa %s\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "không phải ghi qua liên kết theo sát %s" #~ msgid "cannot create regular file %s" #~ msgstr "không tạo được tập tin thông thường %s" #~ msgid "cannot lseek %s" #~ msgstr "không lseek được %s" #~ msgid "writing %s" #~ msgstr "đang ghi %s" #~ msgid "preserving times for %s" #~ msgstr "giữ các thời gian cho %s" #~ msgid "closing %s" #~ msgstr "đang đóng %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: thử ghi chèn %s, ghi đè chế độ %04lo (%s)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: ghi chèn %s? " #~ msgid " (backup: %s)" #~ msgstr " (sao lưu : %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "lỗi phục hồi ngữ cảnh tạo tập tin mặc định" #~ msgid "omitting directory %s" #~ msgstr "bỏ quên thư mục %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "cảnh báo : chỉ ra tập tin nguồn %s vài lần" #~ msgid "%s and %s are the same file" #~ msgstr "%s và %s chỉ là một tập tin" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "không ghi chèn được cái không phải thư mục %s bằng thư mục %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "sẽ không ghi chèn %s vừa mới tạo bằng %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "không ghi chèn được thư mục %s bằng cái không phải thư mục" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "không di chuyển được thư mục vào cái không phải thư mục: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "sao lưu %s sẽ phá hủy nguồn nên không di chuyển %s" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "sao lưu %s sẽ phá hủy nguồn nên không sao chép %s" #~ msgid "cannot backup %s" #~ msgstr "không sao lưu được %s" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "sẽ không sao chép %s qua liên kết mềm vừa mới tạo %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "không sao chép được một thư mục (%s) vào chính nó (%s)" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "sẽ không tạo liên kết cứng %s tới thư mục %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "không tạo được liên kết cứng %s tới %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "không di chuyển được %s vào một thư mục con của chính nó (%s)" #~ msgid "cannot move %s to %s" #~ msgstr "không di chuyển được %s vào %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "di chuyển không thành công giữa các thiết bị: %s tới %s; không xóa được " #~ "đích" #~ msgid "failed to set default file creation context to %s" #~ msgstr "lỗi đặt ngữ cảnh tạo tập tin mặc định thành %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "không sao chép được liên kết mềm vòng tròn %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s: chỉ tạo được liên kết mềm tương đối trong thư mục hiện thời" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "không tạo được liên kết mềm %s tới %s" #~ msgid "cannot create link %s" #~ msgstr "không tạo được liên kết %s" #~ msgid "cannot create fifo %s" #~ msgstr "không tạo được fifo (vào trước, ra trước) %s" #~ msgid "cannot create special file %s" #~ msgstr "không tạo được tập tin đặc biệt %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "không đọc được liên kết mềm %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "không tạo được liên kết mềm %s" #~ msgid "%s has unknown file type" #~ msgstr "%s có kiểu tập tin không rõ" #~ msgid "cannot un-backup %s" #~ msgstr "không thể hủy sao lưu %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (hủy sao lưu)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... [-T] NGUỒN ĐÍCH\n" #~ " hoặc: %s [TÙY_CHỌN]... NGUỒN... THƯ_MỤC\n" #~ " hoặc: %s [TÙY_CHỌN]... -t THƯ_MỤC NGUỒN...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Sao chép NGUỒN tới ĐÍCH hoặc nhiều NGUỒN tới THƯ_MỤC.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Mọi đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy " #~ "chọn ngắn.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive giống như « -dpR »\n" #~ " --backup[=ĐIỀU_KHIỂN] tạo bản sao lưu cho mỗi tập tin đích đã " #~ "tồn tại\n" #~ " -b giống « --backup » nhưng không chấp nhận " #~ "đối số\n" #~ " --copy-contents sao chép nội dung của tập tin đặc biệt khi " #~ "đệ quy\n" #~ " -d giống như « --no-dereference --" #~ "preserve=links »\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force nếu không mở được tập tin đích\n" #~ " thì xoá nó rồi thử lại\n" #~ " -i, --interactive hỏi lại trước khi ghi chèn\n" #~ " -H đi theo các liên kết mềm của dòng lệnh " #~ "trong NGUỒN\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link liên kết tập tin thay vào sao chép\n" #~ " -L, --dereference luôn luôn theo liên kết mềm trong NGUỒN\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference không bao giờ theo liên kết mềm trong " #~ "NGUỒN\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p giống như « --preserve=mode,ownership," #~ "timestamps »\n" #~ " --preserve[=DANH_SÁCH_THUỘC_TÍNH] giữ các thuộc tính chỉ ra\n" #~ " (mặc định:\n" #~ " • mode chế độ\n" #~ " • ownership quyền sở hữu\n" #~ " • timestamps nhãn thời " #~ "gian)\n" #~ " nếu có thể; cả thuộc tính " #~ "phụ :\n" #~ "\t\t\t\t\t\t• context\t ngữ cảnh\n" #~ " • links liên kết\n" #~ " • all tất cả\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=DANH_SÁCH_THUỘC_TÍNH không giữ các thuộc tính chỉ " #~ "ra\n" #~ " --parents dùng tên tập tin nguồn đầy đủ dưới " #~ "THƯ_MỤC\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive sao chép đệ quy các thư mục\n" #~ " --remove-destination xóa mỗi tập tin đích đến nếu có\n" #~ " trước khi thử mở nó (khác với « --force " #~ "»)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=KHI điều khiển việc tạo tập tin sparse\n" #~ " --strip-trailing-slashes xóa bỏ mọi dấu xuyệc đi theo khỏi\n" #~ " mỗi đối số NGUỒN\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link tạo liên kết mềm thay cho việc sao chép\n" #~ " -S, --suffix=HẬU_TỐ thay cho hậu tố thường dùng để sao lưu\n" #~ " -t, --target-directory=THƯ_MỤC sao chép mọi đối số NGUỒN vào THƯ_MỤC\n" #~ " -T, --no-target-directory coi ĐÍCH là một tập tin thông thường\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update chỉ sao chép nếu tập tin NGUỒN mới hơn\n" #~ " tập tin đích đến hoặc khi thiếu tập tin " #~ "đích đến\n" #~ " -v, --verbose cho biết cụ thể những gì đã thực hiện\n" #~ " -x, --one-file-system chỉ thực hiện trên hệ thống tập tin này\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Theo mặc định, tập tin NGUỒN sparse nhận ra thô sơ và tập tin ĐÍCH tương " #~ "ứng\n" #~ "cũng được sparse. Tính năng này lựa chọn bởi « --sparse=auto ». Hãy chỉ " #~ "ra\n" #~ "« --sparse=always » để tạo một ĐÍCH sparse kể cả khi tập tin ĐÍCH chứa " #~ "một\n" #~ "chuỗi byte không đủ dài.\n" #~ "Hãy dùng « --sparse=never » để ngăn chặn việc tạo các tập tin sparse.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Hậu tố để sao lưu là « ~ », trừ khi đặt « --suffix » hoặc " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "Phương pháp điều khiển phiên bản có thể chọn qua tùy chọn « --backup » " #~ "hoặc\n" #~ "qua biến môi trường VERSION_CONTROL. Đây là các giá trị:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off không bao giờ tạo bản sao lưu (dù đưa ra « --backup »)\n" #~ " numbered, t tạo các bản sao lưu đã đánh số\n" #~ " existing, nil đánh số nếu có bản sao lưu đánh số, nếu không thì đơn " #~ "giản\n" #~ " simple, never luôn luôn tạo sao lưu đơn giản\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Như một trường hợp đặc biệt, cp tạo bản sao lưu của NGUỒN\n" #~ "khi đưa ra hai tùy chọn force (ép buộc) và backup (sao lưu)\n" #~ "và NGUỒN và ĐÍCH cùng là một tên cho một tập tin thông thường đã tồn " #~ "tại.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "giữ các thời gian cho %s không thành công" #~ msgid "failed to preserve permissions for %s" #~ msgstr "giữ quyền hạn cho %s không thành công" #~ msgid "cannot make directory %s" #~ msgstr "không tạo được thư mục %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s tồn tại nhưng không phải là một thư mục" #~ msgid "accessing %s" #~ msgstr "đang truy cập %s" #~ msgid "missing file operand" #~ msgstr "thiếu toán hạng tập tin" #~ msgid "missing destination file operand after %s" #~ msgstr "thiếu toán hạng tập tin đích đến ở sau %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Không kết hợp được hai tùy chọn « --target-directory » (-t)\n" #~ "và « --no-target-directory » (-T) [loại từ lẫn nhau !]" #~ msgid "target %s is not a directory" #~ msgstr "đích %s không phải là một thư mục" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "đặt tùy chọn « --parents » thì đích đến phải là một thư mục" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "" #~ "tùy chọn « --reply » bị phản đối: hãy dùng « -i » hay « -f » để thay thế" #~ msgid "multiple target directories specified" #~ msgstr "đã chỉ ra nhiều thư mục đích đến" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "không tạo được đồng thời liên kết mềm và cứng" #~ msgid "backup type" #~ msgstr "kiểu sao lưu" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "" #~ "không thể bảo tồn ngữ cảnh bảo mật khi với hạt nhân không hiệu lực " #~ "SELinux." #~ msgid "input disappeared" #~ msgstr "đầu vào đã biến mất" #~ msgid "%s: line number out of range" #~ msgstr "%s: số thứ tự dòng vượt quá giới hạn" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: số thứ tự dòng vượt quá giới hạn" #~ msgid " on repetition %s\n" #~ msgstr " khi lặp lại %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: không tìm thấy" #~ msgid "error in regular expression search" #~ msgstr "lỗi trong biểu thức chính quy tìm kiếm" #~ msgid "write error for %s" #~ msgstr "lỗi ghi nhớ cho %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: chờ đợi một số nguyên sau dấu phân cách" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: yêu cầu « } » trong số đếm lặp lại" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: yêu cầu số nguyên giữa ngoặc « { » và « } »" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: thiếu dấu phân cách đóng « %c »" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: biểu thức chính quy không hợp lệ: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: mẫu sai" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: số thứ tự dòng phải lớn hơn số không" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "số thứ tự dòng « %s » nhỏ hơn số thứ tự dòng đứng trước, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "" #~ "cảnh bảo : số thứ tự dòng « %s » trùng với số thứ tự dòng đứng trước" #~ msgid "invalid format width" #~ msgstr "định dạng chiều dài sai" #~ msgid "invalid format precision" #~ msgstr "định dạng độ chính xác sai" #~ msgid "missing conversion specifier in suffix" #~ msgstr "hậu tố thiếu sự xác định chuyển đổi" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "hậu tố chứa sự xác định chuyển đổi sai: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "hậu tố chứa sự xác định chuyển đổi sai: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "hậu tố chứa quá nhiều sự xác định chuyển đổi %%" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "hậu tố thiếu sự xác định chuyển đổi %%" #~ msgid "%s: invalid number" #~ msgstr "%s: số sai" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... TẬP_TIN MẪU...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Đưa ra các phần của TẬP_TIN phân chia bởi (các) MẪU thành các tập tin " #~ "`xx00',\n" #~ "`xx01', v.v., và in ra đầu ra tiêu chuẩn kích thước theo byte của mỗi " #~ "phần.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=ĐỊNH_DẠNG dùng sprintf ĐỊNH_DẠNG thay cho %02d\n" #~ " -f, --prefix=HẬU_TỐ dùng HẬU_TỐ thay cho « xx »\n" #~ " -k, --keep-files không xóa tập tin xuất khi có lỗi\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=CHỮ_SỐ dùng số chữ số CHỮ_SỐ thay cho 2\n" #~ " -s, --quiet, --silent không in ra kích thước của mỗi tập tin xuất\n" #~ " -z, --elide-empty-files xóa tập tin xuất rỗng\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Đọc đầu vào tiêu chuẩn nếu TẬP_TIN là « - » Mỗi MẪU có thể là:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " SỐ_NGUYÊN sao chép đến (nhưng không chứa) số thứ tự dòng đã chỉ " #~ "ra\n" #~ " /BTCQ/[HIỆU] sao chép đến (nhưng không chứa) một dòng tương ứng\n" #~ " %BTCQ%[HIỆU] nhảy tới (nhưng không chứa) một dòng tương ứng\n" #~ " {SỐ_NGUYÊN} lặp lại mẫu trước SỐ_NGUYÊN lần\n" #~ " {*} lặp lại mẫu trước theo khả năng cao nhất\n" #~ "\n" #~ "BTCQ: biểu thức chính quy\n" #~ "\n" #~ "HIỆU dòng phải là dấu cộng « + » hay dấu trừ « - » với một số nguyên " #~ "dương theo sau.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "các trường và vị trí đều đánh số từ 1" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Sử dụng: %s TÙY_CHỌN... [TẬP_TIN]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "In ra đầu ra tiêu chuẩn phần đã chọn của các dòng từ mỗi TẬP_TIN.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=DANH_SÁCH chỉ chọn những byte này\n" #~ " -c, --characters=DANH_SÁCH chỉ chọn những ký tự này\n" #~ " -d, --delimiter=DẤU sử dụng DẤU này thay cho TAB, để phân cách các " #~ "trường\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=DANH_SÁCH chỉ chọn những trường này, đồng thời in mọi\n" #~ " dòng không có ký tự phân cách, trừ khi đưa\n" #~ " ra tùy chọn « -s »\n" #~ " -n (bị lờ đi)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement bổ sung các byte, ký tự hoặc trường đã chọn.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited không in ra những dòng không có ký tự phân " #~ "cách\n" #~ " --output-delimiter=CHUỖI dùng CHUỖI là ký tự phân cách cho\n" #~ " kết quả in ra. Mặc định là ký tự phân cách " #~ "đầu vào.\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Dùng chỉ một của những tùy chọn « -b », « -c » và « -f ».\n" #~ "Mỗi DANH_SÁCH chứa một phạm vi, hoặc nhiều phạm vi định giới\n" #~ "bằng dấu phẩy. Đầu vào đã chọn được ghi theo cùng một thứ tự\n" #~ "với việc đọc; nó được ghi chỉ một lần.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Mỗi phạm vi là một trong:\n" #~ "\n" #~ " N Byte, ký tự hoặc trường thứ N đếm từ 1\n" #~ " N- Từ byte, ký tự hoặc trường thứ N đến cuối dòng\n" #~ " N-M Từ byte, ký tự hoặc trường thứ N đến M (tính cả M)\n" #~ " -M Từ byte, ký tự hoặc trường đầu tiên đến thứ M (tính cả M)\n" #~ "\n" #~ "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ msgid "invalid byte or field list" #~ msgstr "sai danh sách byte hoặc trường" #~ msgid "invalid range with no endpoint: -" #~ msgstr "phạm vi sai không có điểm cuối: -" #~ msgid "invalid decreasing range" #~ msgstr "phạm vi giảm dần sai" #~ msgid "byte offset %s is too large" #~ msgstr "hiệu byte %s là quá lớn" #~ msgid "field number %s is too large" #~ msgstr "số trường %s là quá lớn" #~ msgid "only one type of list may be specified" #~ msgstr "chỉ có thể đưa ra một dạng danh sách" #~ msgid "the delimiter must be a single character" #~ msgstr "dấu phân cách phải là một ký tự đơn" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "cần chỉ ra danh sách các byte, ký tự, hoặc trường" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "chỉ đưa ra dấu phân cách dữ liệu vào khi thực hiện với trường" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "bỏ đi các dòng không phân cách chỉ có tác dụng\n" #~ "\tkhi thực hiện với trường" #~ msgid "missing list of fields" #~ msgstr "thiếu danh sách các trường" #~ msgid "missing list of positions" #~ msgstr "thiếu danh sách các vị trí" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... [+ĐỊNH_DẠNG]\n" #~ " hoặc: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ "\n" #~ " • u, utc, universal thời gian thế giới (v.d. 18:22+0930)\n" #~ " • C viết tắt \"century\": thế kỷ\n" #~ " • Y viết tắt \"year\": năm\n" #~ " • M viết tắt \"month\": tháng\n" #~ " • D viết tắt \"day\": ngày\n" #~ " • h viết tắt \"hour\": giờ\n" #~ " • m viết tắt \"minute\": phút\n" #~ " • s viết tắt \"second\": giây\n" #~ "Hai ký tự thì hai chữ số, v.d. « MM » cho Tháng Ba là « 03 ».\n" #~ "Lời thí dụ đầy đủ :\n" #~ "Lúc sáu giờ hai mươi bảy phút mười ba giây vào ngày chín, tháng Tư, năm " #~ "2007:\n" #~ "[04090627[[20]07][.13]]\n" #~ "\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Hiển thị thời gian hiện thời trong ĐỊNH_DẠNG đưa ra, hoặc đặt ngày của hệ " #~ "thống.\n" #~ "\n" #~ " -d, --date=CHUỖI hiển thị thời gian theo CHUỖI, không phải " #~ "`now'\n" #~ " -f, --file=TẬP_TIN_NGÀY giống « --date » một lần cho mỗi dòng của " #~ "TẬP_TIN_NGÀY\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=TẬP_TIN hiển thị lần sửa cuối cùng của TẬP_TIN\n" #~ " -R, --rfc-2822 đưa ra ngày tháng dạng tương thích RFC 2822\n" #~ " Thí dụ : T2, 07 Th8 2006 12:34:56 -0600\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=ĐẶC_TẢ_GIỜ đưa ra ngày và giờ dạng tương thích RFC " #~ "3339.\n" #~ " ĐẶC_TẢ_GIỜ yêu cầu mức chính xác:\n" #~ " • date ngày tháng\n" #~ " • seconds giây\n" #~ " • ns nanô-giây\n" #~ " Các thành phần ngày và giờ định giới bằng " #~ "một\n" #~ " dấu cách đơn : 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=CHUỖI đặt thời gian theo mẫu của CHUỖI\n" #~ " -u, --utc, --universal in ra hay đặt Thời gian Quốc tế\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "ĐỊNH_DẠNG điều khiển kết quả in ra. Tùy chọn đúng duy nhất cho dạng\n" #~ "thứ hai chỉ ra Thời gian Quốc tế. Các chuỗi được biên dịch:\n" #~ "\n" #~ " %% một chữ cái %\n" #~ " %a tên viết tắt của ngày trong tuần của miền địa phương (Th 3..CN)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A tên đầy đủ của ngày trong tuần của miền địa phương (Thứ hai..Chủ " #~ "nhật)\n" #~ " %b tên ngắn gọn của các tháng của miền địa phương (Thg 1..Thg 12)\n" #~ " %B tên đầy đủ của các tháng của miền địa phương (Tháng một..Tháng " #~ "mười hai)\n" #~ " %c thời gian và ngày của miền địa phương (v.d. 14:36:33 MSD Thứ ba " #~ "26 Thg 4 2005)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C thế kỷ (năm chia cho 100 và rút gọn thành số nguyên) [00-99]\n" #~ " giống như %Y, trừ bỏ quên hai chữ số cuối cùng (v.d. 21)\n" #~ " %d ngày của tháng (01..31)\n" #~ " %D ngày (giống như %m/%d/%y)\n" #~ " %e ngày của tháng, để trống thay cho việc dùng 0 ( 1..31), giống như %" #~ "_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F ngày tháng đầy đủ (giống như %Y-%m-%d\n" #~ " %g hai chữ số cuối cùng của năm của số thứ tự tuần ISO (xem %G)\n" #~ " %G năm của số thứ tự tuần ISO (xem %V); thường chỉ có ích cùng với %" #~ "V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h giống như %b\n" #~ " %H giờ (00..23)\n" #~ " %I giờ (01..12)\n" #~ " %j ngày của năm (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k giờ ( 0..23)\n" #~ " %l giờ ( 1..12)\n" #~ " %m tháng (01..12)\n" #~ " %M phút (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n một dòng mới\n" #~ " %N nanô-giây (000000000..999999999)\n" #~ " %p chỉ ra AM hoặc PM viết hoa của miền địa phương (không rõ thì " #~ "rỗng)\n" #~ " %P chỉ ra am hoặc pm viết thường của miền địa phương (không rõ thì " #~ "rỗng)\n" #~ " %r thời gian, tính theo 12 giờ, của miền địa phương (v.d. 11:11:04 " #~ "CH)\n" #~ " %R thời gian, tính theo 24 giờ (giống như %H:%M)\n" #~ " %s số giây kể từ 1970-01-01 00:00:00 UTC (một sự mở rộng GNU)\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S giây (00..60); cần 60 để thích hợp với giây nhảy qua phút khác\n" #~ " %t khoảng tab ngang\n" #~ " %T thời gian (giống như %H:%M:%S)\n" #~ " %u ngày của tuần (1..7); 1 tương ứng với Thứ Hai\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U số thứ tự của tuần trong năm với Chủ Nhật là ngày đầu tuần " #~ "(00..53)\n" #~ " %V số thứ tự của tuần ISO với Thứ hai là ngày đầu tuần (01..53)\n" #~ " %w ngày trong tuần (0..6); 0 là Chủ Nhật\n" #~ " %W số thứ tự của tuần trong năm với Thứ Hai là ngày đầu tuần " #~ "(00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x ngày theo quy định của miền địa phương (v.d. 22/10/07)\n" #~ " %X giờ theo quy định của miền địa phương (v.d. 23:13:48)\n" #~ " %y hai chữ số cuối cùng của năm (00..99)\n" #~ " %Y năm (v.d. 2007)\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z +hhmm mũi giờ thuộc số (v.d., +0930)\n" #~ " %:z +hh:mm mũi giờ thuộc số (v.d., +09:30)\n" #~ " %::z +hh:mm:ss mũi giờ thuộc số (v.d., +09:30:00)\n" #~ " %:::z mũi giờ thuộc số có « : » đến mức chính xác đã yêu cầu (v.d., -" #~ "04, +09:30)\n" #~ " %Z viết tắt mũi giờ theo abc (v.d., EDT, CST)\n" #~ "\n" #~ "Mặc định là ngày tháng đệm trường số bằng số không (v.d. 06).\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Theo « % » cũng có thể đặt những cờ này:\n" #~ " - (dấu gạch nối) đừng đệm trường\n" #~ " _ (dấu gạch dưới) đệm trường bằng dấu cách\n" #~ " 0 (số không) đệm trường bằng số không\n" #~ " ^ in ra chữ hoa nếu có thể\n" #~ " # in ra chữ đối diện nếu có thể\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Sau mỗi cờ cũng có thể đặt bề rộng trường (theo số thập phân);\n" #~ "rồi (cũng tùy chọn) sự sửa đổi, hoặc:\n" #~ "E để dùng các sự đại diện xen kẽ của miền địa phương (néu có)\n" #~ "hoặc\n" #~ "O để dùng các ký hiệu thuộc số xen kẽ của miền địa phương (néu có)\n" #~ msgid "multiple output formats specified" #~ msgstr "đã chỉ ra nhiều định dạng kết quả" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "những tùy chọn chỉ ra ngày để hiển thị loại trừ lẫn nhau" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "những tùy chọn để in ra và đặt thời gian không sử dụng được cùng nhau" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "đối số « %s » thiếu dấu cộng « + » ở đầu;\n" #~ "Khi sử dụng một tùy chọn để chỉ ra (các) ngày, mỗi đối số\n" #~ "không tùy chọn phải là một chuỗi bắt đầu với dấu cộng." #~ msgid "cannot set date" #~ msgstr "không đặt được ngày" #~ msgid "time %s is out of range" #~ msgstr "thời gian %s vượt ra ngoài giới hạn" #~ msgid "Filesystem Type" #~ msgstr "Hệ thống tập tin Kiểu" #~ msgid "Filesystem " #~ msgstr "Hệ thống tập tin " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inode Idùng ITrống %%IDùng" #~ msgid " Size Used Avail Use%%" #~ msgstr " Cỡ Dùng Còn %%Dùng" #~ msgid " Size Used Avail Use%%" #~ msgstr " Cỡ Dùng Còn %%Dùng" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " Khối-%s Dùng Còn Khả năng" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " Khối-%4s Dùng Còn %%Dùng" #~ msgid " Mounted on\n" #~ msgstr " Đã gắn vào\n" #~ msgid "cannot get current directory" #~ msgstr "không lấy được thư mục hiện thời" #~ msgid "cannot change to directory %s" #~ msgstr "không chuyển đổi được sang thư mục %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "không lấy được trạng thái về thư mục hiện thời (bây giờ %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [TẬP_TIN]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Hiển thị thông tin về hệ thống tập tin chứa mỗi TẬP_TIN,\n" #~ "hoặc tất cả các tập tin theo mặc định.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all gồm cả những hệ thống tập tin giả\n" #~ " -B, --block-size=CỠ dùng khối kích cỡ CỠ byte\n" #~ " -h, --human-readable hiện kích cỡ ở dạng dễ đọc (v.d. 1K 234M 9G)\n" #~ " -H, --si như trên nhưng dùng 1000 lũy thừa thay cho 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes liêt kê thông tin về inode thay cho sử dụng khối\n" #~ " -k giống như « --block-size=1K »\n" #~ " -l, --local chỉ liệt kê hệ thống tập tin cục bộ\n" #~ " --no-sync không gọi sync trước khi lấy thông tin sử dụng " #~ "(mặc định)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability sử dụng định dạng kết quả POSIX\n" #~ " --sync gọi sync trước khi lấy thông tin\n" #~ " -t, --type=KIỂU chỉ liệt kê các hệ thống tập tin KIỂU\n" #~ " -T, --print-type in ra kiểu hệ thống tập tin\n" #~ " -x, --exclude-type=KIỂU chỉ liệt kê các hệ thông tập tin không phải " #~ "KIỂU\n" #~ " -v (bị lờ đi)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "CỠ có thể là (hoặc có thể là số nguyên đi trước) một trong:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, và tương tự với G, T, P, E, " #~ "Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "dạng hệ thống tập tin %s đã được cả chọn và loại bỏ" #~ msgid "Warning: " #~ msgstr "Cảnh báo : " #~ msgid "cannot read table of mounted file systems" #~ msgstr "không đọc được bảng các hệ thông tập tin đã gắn" #~ msgid "no file systems processed" #~ msgstr "không có hệ thống tập tin được xử lý" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [TẬP_TIN]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Đưa ra các câu lệnh đặt biên môi trường LS_COLORS.\n" #~ "\n" #~ "Nhận ra định dạng kết quả:\n" #~ " -b, --sh, --bourne-shell đưa ra mã trình bao Bourne đặt LS_COLORS\n" #~ " -c, --csh, --c-shell đưa ra mã trình bao C shell đặt LS_COLORS\n" #~ " -p, --print-database xuất các giá trị mặc định\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Nếu chỉ ra TẬP_TIN, thì đọc nó để tìm ra màu nào sử dụng cho dạng tập " #~ "tin\n" #~ "và phần mở rộng tập tin nào. Nếu không, sử dụng cơ sở dữ liệu đã biên\n" #~ "dịch từ trước. Để xem chi tiết về định dạng của những tập tin này, chạy\n" #~ "« dircolors --print-database ».\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: dòng sai; thiếu hiệu bài thứ hai" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: không nhận ra từ khóa %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "tùy chọn để đưa ra cơ sở dữ liệu nội bộ của dircolors và\n" #~ "tùy chọn để chọn một cú pháp trình bao loại trừ lẫn nhau" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "Toán hạng tập tin không thể kết hợp với « --print-database » (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "không có biến môi trường SHELL (trình bao), và không đưa ra tùy chọn kiểu " #~ "trình bao" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s TÊN\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "In ra TÊN không có thành phần « / » ở đầu; nếu TÊN không chứa « / » nào,\n" #~ "thì in ra « . » (có nghĩa là thư mục hiện thời).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Thí dụ :\n" #~ " %s /usr/bin/sort Xuất « /usr/bin ».\n" #~ " %s stdio.h Xuất « . ».\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... [TẬP_TIN]...\n" #~ " hoặc: %s [TÙY_CHỌN]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Tính tổng không gian đĩa mỗi TẬP_TIN sử dụng, đệ quy cho mỗi thư mục.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all ghi số đếm cho mọi tập tin, không chỉ thư mục\n" #~ " --apparent-size in ra kích cỡ hiển thị, thay cho sử dụng đĩa; mặc " #~ "dù\n" #~ " kích cỡ hiển thị thường nhỏ hơn, đôi khi nó\n" #~ " lớn hơn do các lỗ hổng trong tập tin (« sparse " #~ "»),\n" #~ " sự phân mảnh, khối gián tiếp, và tương tự\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=CỠ dùng khối kích cỡ CỠ-byte\n" #~ " -b, --bytes tương đương « --apparent-size --block-size=1 »\n" #~ " -c, --total đưa ra một tổng tổng quát\n" #~ " -D, --dereference-args không theo liên kết mềm được liệt kê trên dòng " #~ "lệnh\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F tính tổng sử dụng đĩa của các tập tin có tên dừng " #~ "bởi\n" #~ " NUL chỉ ra trong tập tin F\n" #~ " -H giống « --si », nhưng đồng thời đưa ra cảnh báo; " #~ "sẽ\n" #~ " sớm thay đổi để tương đương « --dereference-" #~ "args » (-D)\n" #~ " -h, --human-readable in kích cỡ với định dạng dễ đọc (v.d. 1K 234M " #~ "2G)\n" #~ " --si giống « -h », nhưng dùng 1000 lũy thừa thay cho " #~ "1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k giống « --block-size=1K »\n" #~ " -l, --count-links tính kích cỡ rất nhiều lần nếu có liên kết cứng\n" #~ " -m giống « --block-size=1M »\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference không liên kết mọi liên kết mềm\n" #~ " -P, --no-dereference không đi theo liên kết mềm nào (đây là mặc định)\n" #~ " -0, --null kết thúc mỗi dòng kết quả bằng 0 byte thay cho " #~ "dòng mới\n" #~ " -S, --separate-dirs không thêm kích cơ của thư mục con\n" #~ " -s, --summarize chỉ hiển thị tổng số cho mỗi đối số\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system bỏ qua thư mục trên hệ thống tập tin khác\n" #~ " -X TẬP_TIN, --exclude-from=TẬP_TIN bỏ những tập tin tương ứng với mẫu " #~ "trong TẬP_TIN\n" #~ " --exclude=MẪU nỏ những tập tin tương ứng MẪU\n" #~ " --max-depth=N in ra tổng số cho một thư mục (hoặc tập tin, với " #~ "« --all »)\n" #~ " chỉ nếu nó nằm ≤ N bậc dưới đối số dòng lệnh;\n" #~ " « --max-depth=0 » là tương tự như « --" #~ "summarize »\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time hiển thị giờ sửa đổi cuối cùng của bất cứ tập tin " #~ "nào\n" #~ " trong thư mục, hoặc của bất cứ thư mục con nào " #~ "của nó\n" #~ " --time=TỪ hiển thị giờ theo TỪ thay cho giờ sửa đổi:\n" #~ " • atime giờ truy cập\n" #~ " • access giờ truy cập\n" #~ " • use giờ dùng\n" #~ " • ctime giờ thay đổi inode\n" #~ " • status giờ lấy trạng thái\n" #~ " --time-style=KIỂU_DÁNG hiển thị giờ theo kiểu dáng KIỂU_DÁNG:\n" #~ " • full-iso ISO đầy đủ\n" #~ " • long-iso ISO dài\n" #~ " • iso ISO\n" #~ " • +ĐỊNH_DẠNG\n" #~ " ĐỊNH_DẠNG được giải thích như « date »\n" #~ msgid "total" #~ msgstr "tổng" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "CẢNH BÁO : dùng « --si », đừng dùng « -H »;\n" #~ "ý nghĩa của tùy chọn « -H » sẽ sớm thay đổi\n" #~ "để giống với « --dereference-args » (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "sai độ sâu tối đa %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "tùy chọn « --megabytes » bị phản đối: dùng « -m » để thay thế" #~ msgid "cannot both summarize and show all entries" #~ msgstr "không thể đồng thời tóm tắt, và hiển thị mọi mục" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "cảnh báo : tóm tắt là giống với sử dụng « --max-depth=0 »" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "cảnh báo : tóm tắt xung đột với « --max-depth=%lu »" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Toán hạng tập tin không thể kết hợp với « --file0-from »." #~ msgid "cannot read file names from %s" #~ msgstr "không đọc được tên tập tin từ %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "đọc các tên tập tin từ đầu vào tiêu chuẩn thì không cho phép tên tập tin %" #~ "s" #~ msgid "invalid zero-length file name" #~ msgstr "sai tên tập tin chiều dài bằng không" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [CHUỖI]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Hiển thị CHUỖI ra đầu ra tiêu chuẩn.\n" #~ "\n" #~ " -n không in ra ký tự dòng mới đi theo\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e hiệu lực khả năng biên dịch ký tự thoát xuyệc ngược (mặc " #~ "định)\n" #~ " -E tắt khả năng biên dịch ký tự thoát xuyệc ngược\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Nếu « -e » hoạt động, thì nhận ra những chuỗi sau :\n" #~ "\n" #~ " \\0NNN ký tự có mã ASCII là NNN (bát phân)\n" #~ " \\\\ xuyệc ngược\n" #~ " \\a cảnh giác (BEL)\n" #~ " \\b xoá lùi\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c bỏ đi ký tự dòng mới đi theo\n" #~ " \\f thụt dòng\n" #~ " \\n dòng mới\n" #~ " \\r dấu enter\n" #~ " \\t tab ngang\n" #~ " \\v tab dọc\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [-] [TÊN=GIÁ_TRỊ]... [LỆNH [ĐỐI_SỐ]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Đặt mỗi GIÁ_TRỊ cho TÊN trong môi trường và chạy câu LỆNH.\n" #~ "\n" #~ " -i, --ignore-environment bắt đầu với một môi trường rỗng\n" #~ " -u, --unset=TÊN xóa biến TÊN khỏi môi trường\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Một « - » nghĩa là « -i ». Nếu không có câu LỆNH, thì in ra môi trường " #~ "kết quả.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Chuyển đổi tab trong mỗi TẬP_TIN thành khoảng trắng, ghi ra đầu ra tiêu " #~ "chuẩn.\n" #~ "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial không chuyển đổi tab nằm sau ký tự không phải " #~ "trống\n" #~ " -t, --tabs=SỐ dùng SỐ cho số ký tự của tab, không phải 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=DANH_SÁCH dùng danh sách các vị trí chính xác của tab (phân " #~ "cách bởi dấu phẩy)\n" #~ msgid "tab stop is too large %s" #~ msgstr "chiều dài tab là quá lớn %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "kích cỡ tab chứa ký tự không cho phép: %s" #~ msgid "tab size cannot be 0" #~ msgstr "kích cỡ tab không thể là 0" #~ msgid "tab sizes must be ascending" #~ msgstr "kích cỡ tab phải tăng dần" #~ msgid "input line is too long" #~ msgstr "dòng nhập vào quá dài" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s BIỂU_THỨC\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "In giá trị của BIỂU_THỨC ra đầu ra tiêu chuẩn. Một dòng trắng ở dưới\n" #~ "phân cách các nhóm có quyền ưu tiên tăng dần. BIỂU_THỨC có thể là:\n" #~ "\n" #~ " ĐỐI_SỐ1 | ĐỐI_SỐ2 ĐỐI_SỐ1 nếu nó không phải rỗng hoặc 0, nếu không " #~ "thì ĐỐI_SỐ2\n" #~ "\n" #~ " ĐỐI_SỐ1 & ĐỐI_SỐ2 ĐỐI_SỐ1 nếu mỗi đối số không phải rỗng hay 0, ngược " #~ "lại thì 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ĐỐI_SỐ1 < ĐỐI_SỐ2 ĐỐI_SỐ1 nhỏ hơn ĐỐI_SỐ2\n" #~ " ĐỐI_SỐ1 <= ĐỐI_SỐ2 ĐỐI_SỐ1 nhỏ hơn hoặc bằng ĐỐI_SỐ2\n" #~ " ĐỐI_SỐ1 = ĐỐI_SỐ2 ĐỐI_SỐ1 bằng ĐỐI_SỐ2\n" #~ " ĐỐI_SỐ1 != ĐỐI_SỐ2 ĐỐI_SỐ1 khác ĐỐI_SỐ2\n" #~ " ĐỐI_SỐ1 >= ĐỐI_SỐ2 ĐỐI_SỐ1 lớn hơn hoặc bằng ĐỐI_SỐ2\n" #~ " ĐỐI_SỐ1 > ĐỐI_SỐ2 ĐỐI_SỐ1 lớn hơn ĐỐI_SỐ2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ĐỐI_SỐ1 + ĐỐI_SỐ2 tổng số học của ĐỐI_SỐ1 và ĐỐI_SỐ2\n" #~ " ĐỐI_SỐ1 - ĐỐI_SỐ2 hiệu số học của ĐỐI_SỐ1 và ĐỐI_SỐ2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ĐỐI_SỐ1 * ĐỐI_SỐ2 tích số học của ĐỐI_SỐ1 và ĐỐI_SỐ2\n" #~ " ĐỐI_SỐ1 / ĐỐI_SỐ2 thương số học của ĐỐI_SỐ1 chia cho ĐỐI_SỐ2\n" #~ " ĐỐI_SỐ1 % ĐỐI_SỐ2 phần dư khi ĐỐI_SỐ1 chia cho ĐỐI_SỐ2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " CHUỖI : BTCQ đánh dấu tương ứng của BTCQ trong CHUỖI\n" #~ "\n" #~ " match CHUỖI BTCQ giống như CHUỖI : BTCQ\n" #~ " substr CHUỖI VỊ_TRÍ DÀI chuỗi con của CHUỖI, VỊ_TRÍ đếm từ 1\n" #~ " index CHUỖI KÝ_TỰ chỉ mục trong CHUỖI ở đó tìm thấy KÝ_TỰ, hoặc " #~ "0\n" #~ " length CHUỖI chiều dài CHUỖI\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + HIỆU_BÀI hiểu HIỆU_BÀI như một chuỗi, thậm chí cả khi " #~ "nó\n" #~ " là một từ khóa như « match » hay một toán tử " #~ "như « / »\n" #~ "\n" #~ " ( BIỂU_THỨC ) giá trị của BIỂU_THỨC\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Cần biết rằng rất nhiều toán tử cần đặt sau ký tự thoát hoặc trong dấu " #~ "ngoặc\n" #~ "khi gõ vào trong trình bao.\n" #~ "So sánh sẽ là số học nếu cả hai ĐỐI_SỐ đều là số, nếu không sẽ là so sánh " #~ "nghĩa từ.\n" #~ "Khớp mẫu sẽ trả lại chuỗi tương ứng giữa « \\( » và « \\) » hoặc rỗng.\n" #~ "Nếu không dùng « \\( » và « \\) », chúng sẽ trả lại số ký tự tương ứng " #~ "hoặc 0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Trạng thái thoát là:\n" #~ " • 0 nếu BIỂU_THỨC không phải rỗng hoặc 0.\n" #~ " • 1 nếu BIỂU_THỨC là rỗng hoặc 0\n" #~ " • 2 nếu BIỂU_THỨC sai cú pháp\n" #~ " • 3 nếu gặp lỗi.\n" #~ msgid "syntax error" #~ msgstr "lỗi cú pháp" #~ msgid "error in regular expression matcher" #~ msgstr "lỗi trong hàm khớp biểu thức chính quy" #~ msgid "non-numeric argument" #~ msgstr "đối số không phải thuộc số" #~ msgid "division by zero" #~ msgstr "chia cho không" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s [SỐ]...\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "In ra ước số chính của mỗi SỐ.\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " In ra các nhân số nguyên tố của mọi số nguyên SỐ. Nếu không có đối số\n" #~ " chỉ ra trên dòng lệnh, thì đọc chúng từ đầu vào tiêu chuẩn.\n" #~ msgid "%s is too large" #~ msgstr "%s là quá lớn" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s không phải là một số nguyên dương hợp lệ" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Sử dụng: %s [-CHỮ_SỐ] [TÙY_CHỌN]... [TẬP_TIN]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Định dạng lại mỗi đoạn văn trong (các) TẬP_TIN, ghi ra đầu ra tiêu " #~ "chuẩn.\n" #~ "Nếu không có TẬP_TIN hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin giữ khoảng thụt dòng của hai dòng đầu tiên\n" #~ " -p, --prefix=CHUỖI chỉ định dạng lại những dòng bắt đầu với " #~ "CHUỖI,\n" #~ " gán lại chuỗi tiền tố đó vào dòng đã định " #~ "dạng lại\n" #~ " -s, --split-only chia những dòng dài, nhưng không điền lại\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph thụt dòng đầu tiên khác với dòng thứ hai\n" #~ " -u, --uniform-spacing một khoảng trống giữa các từ, hai giữa các " #~ "câu\n" #~ " -w, --width=RỘNG bề rộng dòng tối đa (mặc định là 75 cột)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "tùy chọn sai « -- %c »; « -WIDTH » chỉ nhận ra khi nó là tùy chọn đầu " #~ "tiên;\n" #~ "dùng « -w N » (N là số) để thay thế" #~ msgid "invalid width: %s" #~ msgstr "bề rộng sai: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Ngắt dòng đưa vào của mỗi TẬP_TIN (đầu vào tiêu chuẩn theo mặc định),\n" #~ "ghi ra đầu ra tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes đếm byte thay cho cột\n" #~ " -s, --spaces ngắt dòng ở khoảng trắng\n" #~ " -w, --width=RỘNG dùng RỘNG cột thay cho 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "sai số cột: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "lỗi lấy các nhóm cho người dùng %s" #~ msgid "failed to get groups for the current process" #~ msgstr "lỗi lấy các nhóm cho tiến trình hiện thời" #~ msgid "cannot find name for group ID %lu" #~ msgstr "không tìm thấy tên cho nhóm ID %lu" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [TÊN_NGƯỜI_DÙNG]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "In ra thông tin cho TÊN_NGƯỜI_DÙNG hoặc, nếu không đưa ra\n" #~ "TÊN_NGƯỜI_DÙNG, cho tiến trình hiện thời (mà khác nếu\n" #~ "cơ sở dữ liệu nhóm đã thay đổi nó).\n" #~ msgid "%s: No such user" #~ msgstr "%s: Không có người dùng như vậy" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "In 10 dòng đầu tiên của mỗi TẬP_TIN ra đầu ra tiêu chuẩn.\n" #~ "Khi có vài TẬP_TIN, đắt trước mỗi tập tin một phần đầu cho biết tên tập " #~ "tin.\n" #~ "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N in ra N byte đầu tiên của mỗi tập tin;\n" #~ " khi có « - » ở đầu, in ra tất cả trừ N byte\n" #~ " cuối cùng của mỗi tập tin\n" #~ " -n, --lines=[-]N in ra N dòng đầu tiên thay cho 10;\n" #~ " khi có « - » ở đầu, in ra tất cả trừ N dòng\n" #~ " cuối cùng của mỗi tập tin\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent không in ra phần đầu cho biết tên tập tin\n" #~ " -v, --verbose luôn luôn in ra phần đầu cho biết tên tập tin\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "N có thể đặt các hậu tố nhân sau :\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, và tương tự với T, P, E, Z, Y.\n" #~ msgid "error reading %s" #~ msgstr "lỗi đọc %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: tập tin đã rút ngắt quá nhiều" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: số byte quá lớn" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: không thể lseek lại vị trí gốc" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: không thể tìm tới hiệu %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "không thể đặt lại vị trí của cái chỉ tập tin cho %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s quá lớn nên không thể đại diện" #~ msgid "number of lines" #~ msgstr "số dòng" #~ msgid "number of bytes" #~ msgstr "số byte" #~ msgid "invalid number of lines" #~ msgstr "sai số dòng" #~ msgid "invalid number of bytes" #~ msgstr "sai số byte" #~ msgid "invalid trailing option -- %c" #~ msgstr "sai tùy chọn đi theo « -- %c »" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Sử dụng: %s\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ "In ra tên dạng số (thập lục) cho máy hiện thời.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Sử dụng: %s [TÊN]\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ "In hoặc đặt tên máy cho hệ thống hiện thời.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "không thể đặt tên thành %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "không thể đặt tên máy; hệ thống này thiếu chức năng" #~ msgid "cannot determine hostname" #~ msgstr "không thể quyết định tên máy" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "In thông tin về TÊN_NGƯỜI_DÙNG, hoặc về người dùng hiện thời.\n" #~ "\n" #~ " -a lờ đi để tương thích với các phiên bản khác\n" #~ " -Z, --context chỉ in ngữ cảnh bảo mật của người dùng hiện thời\n" #~ " -g, --group chỉ in ID của nhóm hoạt động\n" #~ " -G, --groups in ID của mọi nhóm\n" #~ " -n, --name in ra tên thay cho số, dùng cho các tùy chọn « -ugG »\n" #~ " -r, --real in ra ID thực sự thay cho ID hoạt động, dùng với « -ugG " #~ "»\n" #~ " -u, --user chỉ in ra ID hoạt động của người dùng\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Khi không có TÙY_CHỌN, in ra một vài bộ thông tin xác định có ích.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "--context (-Z) chỉ hoạt động với hạt nhân hiệu lực SELinux" #~ msgid "cannot print security context when user specified" #~ msgstr "không thể in ngữ cảnh bảo mật khi ghi rõ người dùng" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "không thể hiển thị ngữ cảnh khi không hiệu lực SELinux, hoặc khi hiển thị " #~ "ID của người dùng khác" #~ msgid "can't get process context" #~ msgstr "không thể lấy ngữ cảnh tiến trình" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "không thể in « only » (chỉ in) trong nhiều sự chọn" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "không thể chỉ in tên hoặc ID thật ở dạng mặc định" #~ msgid "cannot find name for user ID %lu" #~ msgstr "không tìm thấy tên cho ID %lu" #~ msgid " groups=" #~ msgstr " nhóm=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "cảnh báo : %s lỗi thay đổi ngữ cảnh thành %s" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Cảnh báo : lờ đi « --preserve-context » vì hạt nhân này không hiệu lực " #~ "SELinux." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "" #~ "Cảnh báo : lờ đi « -context » (-Z) vì hạt nhân này không hiệu lực SELinux" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "không dùng được tùy chọn strip khi cài đặt một thư mục" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "không cho phép dùng thư mục đích khi cài đặt một thư mục" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "không thể ép buộc ngữ cảnh đích thành %s rồi bảo tồn nó" #~ msgid "invalid mode %s" #~ msgstr "chế độ sai %s" #~ msgid "cannot change ownership of %s" #~ msgstr "không thay đổi được quyền sở hữu của %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "không đặt được nhãn thời gian cho %s" #~ msgid "fork system call failed" #~ msgstr "lỗi gọi hệ thống fork (tạo tiến trình con)" #~ msgid "cannot run strip" #~ msgstr "không chạy được strip" #~ msgid "waiting for strip" #~ msgstr "đang đợi strip" #~ msgid "strip process terminated abnormally" #~ msgstr "tiến trình strip đã kết thúc bất thường" #~ msgid "invalid user %s" #~ msgstr "sai người dùng %s" #~ msgid "invalid group %s" #~ msgstr "nhóm không hợp lệ %s" #~ msgid "creating directory %s" #~ msgstr "đang tạo thư mục %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... [-T] NGUỒN ĐÍCH\n" #~ " hoặc: %s [TÙY_CHỌN]... NGUỒN... THƯ_MỤC\n" #~ " hoặc: %s [TÙY_CHỌN]... -t THƯ_MỤC NGUỒN...\n" #~ " hoặc: %s [TÙY_CHỌN]... -d THƯ_MỤC...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Trong ba dạng đầu tiên, sao chép NGUỒN tới ĐÍCH hoặc nhiều NGUỒN tới\n" #~ "THƯ_MỤC đã có, đồng thời thiết lập chế độ quyền hạn và chủ sở hữu/nhóm.\n" #~ "Trong dạng thứ tư, tạo mọi thành phần của (các) THƯ_MỤC đưa ra.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=ĐIỀU_KHIỂN] tạo bản sao lưu của mỗi tập tin đích đã có\n" #~ " -b giống « --backup » nhưng không chấp nhận đối số\n" #~ " -c (bị lờ đi)\n" #~ " -d, --directory coi mọi đối số là tên thư mục; tạo tất cả các\n" #~ " thành phần của thư mục chỉ ra\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D tạo mọi thành phần đi trước của mỗi ĐÍCH trừ cái " #~ "cuối,\n" #~ " sau đó sao chép NGUỒN tới ĐÍCH\n" #~ " -g, --group=NHÓM đặt quyền sở hữu nhóm, thay cho nhóm\n" #~ " của tiến trình hiện thời\n" #~ " -m, --mode=CHẾ_ĐỘ đặt chế độ quyền hạn (như trong chmod),\n" #~ " thay cho « rwxr-xr-x »\n" #~ " -o, --owner=SỞ_HỮU đặt quyền sở hữu (chỉ cho siêu người dùng)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps áp dụng thời gian truy cập/sửa đổi cho các\n" #~ " tập tin NGUỒN tới các tập tin đích tương " #~ "ứng\n" #~ " -s, --strip cắt bỏ các bảng ký hiệu\n" #~ " -S, --suffix=HẬU_TỐ ghi chèn hậu số sao lưu thường dùng\n" #~ " -t, --target-directory=THƯ_MỤC sao chép mọi đối số NGUỒN vào THƯ_MỤC\n" #~ " -T, --no-target-directory coi ĐÍCH như một tập tin thông thường\n" #~ " -v, --verbose in ra tên của mỗi thư mục khi tạo ra nó\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context \tbảo tồn ngữ cảnh bảo mật SELinux\n" #~ " -Z, --context=NGỮ_CẢNH \tđặt ngữ cảnh bảo mật SELinux\n" #~ "\t\t\t\t\t\t\tcủa các tập tin và thư mục\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Hậu tố sao lưu là « ~ », trừ khi đặt với « --suffix » hoặc " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "Phương pháp điều khiển phiên bản có thể chọn qua tùy chọn « --backup »\n" #~ "hoặc qua biến môi trường VERSION_CONTROL. Có những giá trị:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Với mỗi cặp dòng văn bản đưa vào với trường để gia nhập giống nhau,\n" #~ "ghi một dòng văn bản ra đầu ra tiêu chuẩn. Trường để gia nhập mặc định\n" #~ "là đầu tiên, giới hạn bở khoảng trắng.\n" #~ "Khi TẬP_TIN1 hoặc TẬP_TIN2 (không đồng thời) là « - », đọc đầu vào tiêu " #~ "chuẩn.\n" #~ "\n" #~ " -a TẬP_TIN_SỐ in ra dòng không có cặp từ tập tin số TẬP_TIN_SỐ, ở " #~ "đó\n" #~ " TẬP_TIN_SỐ là 1 hoặc 2, tương ứng với TẬP_TIN1 hoặc " #~ "TẬP_TIN2\n" #~ " -e RỖNG thay thế các trường nhập thiếu bằng RỖNG\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case lờ đi sự khác nhau về kiểu chữ khi so sánh các " #~ "trường\n" #~ " -j TRƯỜNG tương đương với « -1 TRƯỜNG -2 TRƯỜNG »\n" #~ " -o ĐỊNH_DẠNG tuân theo ĐỊNH_DẠNG khi tạo ra dòng kết quả\n" #~ " -t KÝ_TỰ dùng KÝ_TỰ làm ký tự phân chia trường đưa vào và kết " #~ "quả ra\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v TẬP_TIN_SỐ giống như « -a TẬP_TIN_SỐ »,\n" #~ "\t\t\t\tnhưng bỏ đi các dòng nhập đã nối lại\n" #~ " -1 TRƯỜNG nối lại ở TRƯỜNG này của tập tin 1\n" #~ " -2 TRƯỜNG nối lại ở TRƯỜNG này của tập tin 2\n" #~ " --check-order kiểm tra dữ liệu nhập vào được sắp xếp đúng không,\n" #~ "\t\t\t\tthậm chí nếu tất cả các dòng nhập vào\n" #~ "\t\t\t\tcó khả năng ghép cặp\n" #~ " --nocheck-order đừng kiểm tra dữ liệu nhập vào được sắp xếp đúng " #~ "không\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Các ký tự trắng ở đầu phần chia các trường và bị lờ đi,\n" #~ "trừ khi đưa ra « -t KÝ_TỰ » nên vùng phân cách bởi KÝ_TỰ.\n" #~ "Mỗi TRƯỜNG là số thứ tự của trường đếm từ 1.\n" #~ "ĐỊNH_DẠNG là một hoặc vài định dạng phân cách bởi\n" #~ "khoảng trắng hoặc dấu phẩy với cấu trúc « TẬP_TIN_SỐ.TRƯỜNG »\n" #~ "hoặc « 0 ». ĐỊNH_DẠNG mặc định đưa ra trường để nối lại,\n" #~ "những trường còn lại trong TẬP_TIN1, các trường còn lại\n" #~ "trong TẬP_TIN2, cả phân cách bởi KÝ_TỰ.\n" #~ "\n" #~ "Quan trọng: TẬP_TIN1 và TẬP_TIN2 phải được sắp xếp theo vùng nối lại.\n" #~ "V.d. dùng « sort -k 1b,1 » nếu « join » không có tùy chọn.\n" #~ "Nếu dữ kiện nhập vào không phải được sắp xếp và một số dòng\n" #~ "không nối lại được, một thông điệp cảnh báo sẽ được hiển thị.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "Tập tin %d không phải theo thứ tự đã sắp xếp" #~ msgid "invalid field number: %s" #~ msgstr "số thứ tự vùng sai: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "sự xác định vùng sai: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "sai số thứ tự tập tin trong sự xác định trường: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "không tương thích nối lại hai trường %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "xung đột các chuỗi thay thế trường rỗng" #~ msgid "empty tab" #~ msgstr "tab rỗng" #~ msgid "multi-character tab %s" #~ msgstr "tab đa ký tự %s" #~ msgid "incompatible tabs" #~ msgstr "tab không tương thích" #~ msgid "both files cannot be standard input" #~ msgstr "cả hai tập tin không thể là đầu vào tiêu chuẩn" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Sử dụng: %s [-s TÍN_HIỆU | -TÍN_HIỆU] PID...\n" #~ " hoặc: %s -l [TÍN_HIỆU]...\n" #~ " hoặc: %s -t [TÍN_HIỆU]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Gửi tín hiệu tới tiến trình, hoặc liệt kê các tín hiệu.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=TÍN_HIỆU, -TÍN_HIỆU\n" #~ " chỉ ra tên hoặc số của tín hiệu cần gửi\n" #~ " -l, --list liệt kê tên các tín hiệu, hoặc chuyển đổi tên tín hiệu " #~ "tới/từ các số\n" #~ " -t, --table in ra bảng thông tin về tín hiệu\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "TÍN_HIỆU có thể là tên tín hiệu như « HUP » (treo, gác), hoặc số hiệu tín " #~ "hiệu như « 1 »,\n" #~ "hoặc một trạng thái thoát của tiến trình dừng bởi một tín hiệu.\n" #~ "PID là một số nguyên, nếu âm thì đại diện một nhóm tiến trình.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: tín hiệu sai" #~ msgid "%s: invalid process id" #~ msgstr "%s: ID tiến trình sai" #~ msgid "invalid option -- %c" #~ msgstr "tùy chọn sai -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: đã chỉ ra nhiều tín hiệu" #~ msgid "multiple -l or -t options specified" #~ msgstr "đã chỉ ra vài tùy chọn « -l » hoặc « -t »" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "không thể kết hợp tín hiệu với « -l » hoặc « -t »" #~ msgid "no process ID specified" #~ msgstr "chưa ghi rõ ID tiến trình" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s TẬP_TIN1 TẬP_TIN2\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Gọi hàm số link để tạo liên kết có tên TẬP_TIN2 tới một TẬP_TIN1 đã có.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "không tạo được liên kết %s tới %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: cảnh báo : tiến trình chuyển đổi liên kết cứng sang một liên kết mềm " #~ "không mang được" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: không cho phép liên kết cứng tới thư mục" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: không ghi chèn được thư mục" #~ msgid "%s: replace %s? " #~ msgstr "%s: thay thế %s không? " #~ msgid "creating symbolic link %s" #~ msgstr "đang tạo liên kết mềm %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "đang tạo liên kết mềm %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "đang tạo liên kết cứng tới %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "đang tạo liên kết cứng %s" #~ msgid "creating hard link %s => %s" #~ msgstr "đang tạo liên kết cứng %s => %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... [-T] ĐÍCH TÊN_LIÊN_KẾT (dạng thứ 1)\n" #~ " hoặc: %s [TÙY_CHỌN]... ĐÍCH (dạng thứ 2)\n" #~ " hoặc: %s [TÙY_CHỌN]... ĐÍCH... THƯ_MỤC (dạng thứ 3)\n" #~ " hoặc: %s [TÙY_CHỌN]... -t THƯ_MỤC ĐÍCH... (dạng thứ 4)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Trong dạng thứ 1, tạo một liên kết tới ĐÍCH với tên TÊN_LIÊN_KẾT.\n" #~ "Trong dạng thứ 2, tạo một liên kết tới ĐÍCH trong thư mục hiện thời.\n" #~ "Trong dạng thứ 3 và thứ 4, tạo liên kết tới mỗi ĐÍCH trong THƯ_MỤC.\n" #~ "Tạo liên kết cứng theo mặc định, tạo liên kết mềm khi có « --symbolic ».\n" #~ "Khi tạo liên kết cứng, mỗi ĐÍCH phải tồn tại.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=ĐIỀU_KHIỂN] tạo bản sao lưu của mỗi tập tin tồn tại ở " #~ "nơi đến\n" #~ " -b giống « --backup » nhưng không chấp nhận " #~ "đối số\n" #~ " -d, -F, --directory cho phép siêu người dùng thử tạo liên kết " #~ "cứng\n" #~ " tới thư mục (ghi chú : rất có thể sẽ " #~ "không thành công\n" #~ " do hạn chế của hệ thống, thậm chí đối với " #~ "siêu người dùng)\n" #~ " -f, --force xóa các tập tin tồn tại ở nơi đến\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference coi nơi đến là liên kết mềm tới thư mục\n" #~ " như khi nó là một tập tin thông thường\n" #~ " -i, --interactive hỏi có nên xóa tập tin ở nơi đến hay không\n" #~ " -s, --symbolic tạo liên kết mềm thay vì liên kết cứng\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=HẬU_TỐ dùng thay cho hậu tố sao lưu thông thường\n" #~ " -t, --target-directory=THƯ_MỤC chỉ ra THƯ_MỤC đến đó cần tạo liên kết\n" #~ " -T, --no-target-directory coi TÊN_LIÊN_KẾT là một tập tin thông " #~ "thường\n" #~ " -v, --verbose in ra tên của mỗi tập tin đã liên kết\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "" #~ "Không thể kết hợp « --target-directory » và « --no-target-directory " #~ "» [loại từ lẫn nhau !]" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "In ra tên của người dùng hiện thời.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "không có tên đăng nhập" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "đang lờ đi giá trị sai của biến môi trường kiểu dáng trích dẫn " #~ "QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "đang lờ đi bề rộng sai trong biến môi trường cột COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "đang lờ đi kích cỡ tab sai trong biến môi trường TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "sai bề rộng dòng: %s" #~ msgid "invalid tab size: %s" #~ msgstr "sai kích cỡ tab: %s" #~ msgid "invalid time style format %s" #~ msgstr "sai định dạng kiểu thời gian %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "tiền tố không nhận ra: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "giá trị không thể phân tích cho biến môi trường màu sắc LS_COLORS" #~ msgid "cannot open directory %s" #~ msgstr "không mở được thư mục %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "không nhận ra thiết bị và inode của %s" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: không liệt kê thư mục đã liệt kê" #~ msgid "closing directory %s" #~ msgstr "đang đóng thư mục %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "không so sánh được tên tập tin %s và %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Liệt kê thông tin về các TẬP_TIN (thư mục hiện thời theo mặc định).\n" #~ "Sắp xếp các mục theo bảng chữ cái nếu không có « -cftuvSUX » hoặc « --" #~ "sort ».\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all liệt kê các mục bắt đầu với « . »\n" #~ " -A, --almost-all không liệt kê « . » và « .. » đã ngụ ý\n" #~ " --author với « -l », in ra tác giả của mỗi tập tin\n" #~ " -b, --escape in ra giá trị thoát bát phân cho các ký tự " #~ "không phải đồ họa\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=CỠ sử dụng khối kích cỡ CỠ byte\n" #~ " -B, --ignore-backups không liệt kê các mục kết thúc « ~ » đã ngụ " #~ "ý\n" #~ " -c với « -lt »: sắp xếp theo, và hiển thị " #~ "ctime\n" #~ " (thời gian thay đổi cuối cùng của inode)\n" #~ " với « -l »: hiển thị ctime và sắp xếp theo " #~ "tên\n" #~ " nếu không: sắp xếp theo ctime\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C liệt kê các mục theo cột\n" #~ " --color[=KHI] điều khiển việc dùng màu để phân biệt dạng " #~ "tập tin.\n" #~ " KHI có thể là:\n" #~ " • never không bao giờ\n" #~ " • always luôn luôn\n" #~ " • auto tự động\n" #~ " -d, --directory liệt kê mục nhập thư mục thay vì nội dung,\n" #~ " và không chỉ tới đích của liên kết mềm\n" #~ " -D, --dired tạo kết quả thích hợp với chế độ dired của " #~ "Emacs\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f không sắp xếp, dùng « -aU », tắt « -ls --" #~ "color »\n" #~ " -F, --classify phụ thêm chỉ thị (một trong « */=>@| ») vào " #~ "các mục\n" #~ " --file-type cũng vậy, trừ không phụ thêm « * »\n" #~ " --format=TỪ TỪ là:\n" #~ " • across -x ngang qua\n" #~ " • commas -m dấu phẩy\n" #~ " • horizontal -x nằm ngang\n" #~ " • long -l dài\n" #~ " • single-column -1 cột đơn\n" #~ " • verbose -l xuất chi tiết\n" #~ " • vertical -C thẳng đứng\n" #~ " --full-time giống « -l --time-style=full-iso »\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr "" #~ " -g giống « -l », nhưng không liệt kê người sở " #~ "hữu\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " nhóm lại các thư mục trước các tập tin.\n" #~ "\t\t\t\tLàm tăng lên với tùy chọn « --sort »,\n" #~ "\t\t\t\tnhưng bất cứ lần nào dùng « --sort=none » (-U)\n" #~ "\t\t\t\tsẽ tắt chức năng nhóm lại.\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group trong danh sách dài, không in ra tên nhóm\n" #~ " -h, --human-readable với « -l », in kích cỡ ở dạng dễ đọc\n" #~ " (v.d. 1K 234M 2G)\n" #~ " --si giống trên, nhưng dùng 1000 lũy thừa, không " #~ "phải 1024\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " đi theo liên kết mềm liệt kê trên dòng lệnh\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " đi theo mỗi liên kết mềm trên dòng lệnh\n" #~ " chỉ tới một thư mục\n" #~ " --hide=MẪU không liệt kê những mục tương ứng với MẪU " #~ "của trình bao\n" #~ " (ghi chèn bởi « -a » hoặc « -A »)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=TỪ phụ thêm vào tên mục chỉ thị với dạng TỪ :\n" #~ " • none không có (mặc " #~ "định)\n" #~ " • slash (-p) dấu xuyệc\n" #~ " • file-type (--file-type) kiểu tập tin\n" #~ " • classify (-F) phân loại\n" #~ " -i, --inode với « -l », in ra số chỉ mục của mỗi tập " #~ "tin\n" #~ " -I, --ignore=MẪU không liệt kê các mục tương ứng với MẪU của " #~ "trình bao\n" #~ " -k giống « --block-size=1K »\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l dùng dạng danh sách dài\n" #~ " -L, --dereference khi hiển thị thông tin cho một liên kết " #~ "mềm,\n" #~ " hiển thị thông tin cho tập tin mà liên kết " #~ "chỉ\n" #~ " đến thay cho bản thân liên kết\n" #~ " -m liệt kê liền nhau các mục, cách nhau bởi dấu " #~ "phẩy\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid giống « -l », nhưng liệt kê UID và GID dạng " #~ "số\n" #~ " -N, --literal in ra tên thô của các mục (v.d. không coi " #~ "các\n" #~ " ký tự điều khiển là đặc biệt)\n" #~ " -o giống « -l », nhưng không liệt kê thông tin " #~ "về nhóm\n" #~ " -p, --indicator-style=slash\n" #~ " phụ thêm vào thư mục chỉ thị « / »\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars in dấu « ? » thay cho các ký tự không phải " #~ "đồ họa\n" #~ " --show-control-chars hiển thị các ký tự không phải đồ họa như " #~ "chúng có\n" #~ " (mặc định trừ khi chương trình là « ls » " #~ "và đầu\n" #~ " ra là thiết bị cuối)\n" #~ " -Q, --quote-name đặt tên các mục trong ngoặc kép\n" #~ " --quoting-style=TỪ dùng dạng trích dẫn TỪ cho tên các mục:\n" #~ " • literal nghĩa chữ\n" #~ " • locale miền địa phương\n" #~ " • shell trình bao\n" #~ " • shell-always luôn luôn trình bao\n" #~ " • c\n" #~ " • escape thoát\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse đảo ngược thứ tự khi sắp xếp\n" #~ " -R, --recursive liệt kê đệ quy các thư mục con\n" #~ " -s, --size in kích cỡ của mỗi tập tin, theo khối\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S sắp xếp theo kích cỡ tập tin\n" #~ " --sort=TỪ sắp xếp theo TỪ thay cho tên:\n" #~ " • extension -X phần mở rộng\n" #~ " • none -U không có\n" #~ " • size -S kích cỡ\n" #~ " • time -t thời gian\n" #~ " • version -v phiên bản\n" #~ " --time=TỪ với « -l », hiển thị thời gian theo TỪ\n" #~ " thay vì thời gian sửa đổi:\n" #~ " • atime -u thời gian truy cập cuối\n" #~ " • access -u thời gian truy cập\n" #~ " • use -u thời gian sử dụng\n" #~ " • ctime -c thời gian thay đổi inode " #~ "cuối\n" #~ " • status -c thời gian lấy trạng thái\n" #~ " dùng thời gian chỉ ra làm tiêu\n" #~ " chuẩn sắp xếp nếu « --sort=time »\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=KIỂU_DÁNG với « -l », hiển thị các thời gian theo " #~ "KIỂU_DÁNG:\n" #~ " • full-iso ISO đầy đủ\n" #~ " • long-iso ISO dài\n" #~ " • iso ISO\n" #~ " • locale miền địa phương\n" #~ " • +ĐỊNH_DẠNG.\n" #~ " ĐỊNH_DẠNG được giải thích giống như « date " #~ "»;\n" #~ " nếu ĐỊNH_DẠNG là « " #~ "ĐỊNH_DẠNG1ĐỊNH_DẠNG2 »\n" #~ " thì ĐỊNH_DẠNG1 áp dụng cho các tập tin " #~ "không phải vừa mở,\n" #~ " và ĐỊNH_DẠNG2 áp dụng cho các tập tin vừa " #~ "mở;\n" #~ " nếu KIỂU_DÁNG có « posix- » đứng trước,\n" #~ " KIỂU_DÁNG chỉ có tác động bên ngoài miền " #~ "địa phương POSIX.\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t sắp xếp theo thời gian sửa đổi\n" #~ " -T, --tabsize=CỘT giả sử chiều dài tab là CỘT thay cho 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u với « -lt »: sắp xếp theo, và hiển thị thời " #~ "gian truy cập\n" #~ " với « -l »: hiển thị thời gian truy cập và " #~ "sắp xếp theo tên\n" #~ " nếu không: sắp xếp theo thời gian truy " #~ "cập\n" #~ " -U không sắp xếp; liệt kê các mục theo thứ bậc " #~ "của thư mục\n" #~ " -v sắp xếp theo phiên bản\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=CỘT giả sử chiều rộng màn hình thay vì giá trị " #~ "hiện thời\n" #~ " -x liệt kê các mục theo dòng thay vì theo cột\n" #~ " -X sắp xếp phần mở rộng các mục theo bảng chữ " #~ "cái\n" #~ " -Z, --context \t in bất kỳ ngữ cảnh bảo mật SELinux nào của mỗi tập " #~ "tin\n" #~ " -1 liệt kê một tập tin trên mỗi dòng\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Theo mặc định, không dùng màu để phân biệt dạng của tập tin,\n" #~ "tương đương với dùng « --color=none ». Dùng tùy chọn « --color »\n" #~ "và không có tham số KHI tương đương với sử dụng « --color=always ».\n" #~ "Với « --color=auto », chỉ xuất các mã màu khi đầu ra tiêu chuẩn\n" #~ "kết nối tới một thiết bị cuối (tty). Biến môi trường LS_COLORS có thể\n" #~ "ảnh hưởng đến màu sắc, cũng đặt dễ dàng bằng lệnh « dircolors ».\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Trạng thái thoát:\n" #~ " • 0 ổn\n" #~ " • 1 có vấn đề nhỏ\n" #~ " • 2 có vấn đề nghiêm trọng.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN] [TẬP_TIN]...\n" #~ "In hoặc tính tổng kiểm tra %s (%d bit).\n" #~ "Nếu không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary đọc ở chế độ nhị phân\n" #~ " (mặc định trừ khi đọc đầu vào tiêu chuẩn tty)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary đọc ở chế độ nhị phân\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr " -c, --check đọc tổng %s từ các TẬP_TIN và kiểm tra\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text đọc ở chế độ văn bản\n" #~ " (mặc định khi đọc đầu vào tiêu chuẩn tty\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text đọc ở chế độ văn bản (mặc định)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Hai tùy chọn sau chỉ có ích khi tính tổng kiểm tra (checksum):\n" #~ " --status không đưa ra gì cả, mã trạng thái cho biết thành công\n" #~ " -w, --warn cảnh báo về những dòng tổng kiểm tra có định dạng không " #~ "đúng\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Tổng được tính như mô tả trong %s. Khi kiểm tra, dữ liệu vào phải là\n" #~ "dữ liệu ra trước đây của chương trình này. Chế độ mặc định là in ra\n" #~ "một dòng ghi tổng kiểm tra, một ký tự chỉ dạng (« * » cho nhị phân,\n" #~ "« » cho văn bản), và tên cho mỗi TẬP_TIN.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: quá nhiều dòng tổng kiểm tra" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: dòng tổng kiểm tra %s có định dạng không đúng" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: mở hoặc đọc BỊ LỖI\n" #~ msgid "OK" #~ msgstr "ỔN" #~ msgid "%s: read error" #~ msgstr "%s: lỗi đọc" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: không tìm thấy dòng tổng kiểm tra %s với định dạng đúng" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "CẢNH BÁO : không đọc được % trên % tập tin đã liệt kê" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "CẢNH BÁO : % trên % tổng kiểm tra KHÔNG tương ứng" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "các tùy chọn « --binary » và « --text » mất ý nghĩa khi tính tổng kiểm tra" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "tùy chọn « --status » chỉ có ý nghĩa khi tính tổng kiểm tra" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "tùy chọn « --warn » chỉ có ý nghĩa khi tính tổng kiểm tra" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN] THƯ_MỤC...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Tạo (các) THƯ_MỤC, nếu chúng chưa có.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=CHẾ_ĐỘ đặt chế độ tập tin (giống như chmod),\n" #~ " thay cho « a=rwx - umask »\n" #~ " -p, --parents không đưa ra lỗi nếu có, tạo thư mục mẹ khi cần " #~ "thiết\n" #~ " -v, --verbose in ra thông báo mỗi khi tạo một thư mục\n" #~ " -Z, --context=NGỮ_CẢNH đặt ngữ cảnh bảo mật SELinux\n" #~ "\t\t\t\t\t\tcủa mỗi thư mục đã tạo thành NGỮ_CẢNH\n" #~ msgid "created directory %s" #~ msgstr "đã tạo thư mục %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN] TÊN...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Tạo ống (pipe có tên (FIFO) với TÊN chỉ ra.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=NGỮ_CẢNH đặt ngữ cảnh bảo mật SELinux\n" #~ "\t\t\t\t\t\tcủa mỗi TÊN thành NGỮ_CẢNH\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=CHẾ_ĐỘ đặt quyền hạn tập tin thành CHẾ_ĐỘ,\n" #~ " thay cho « a=rw - umask »\n" #~ msgid "invalid mode" #~ msgstr "chế độ không hợp lệ" #~ msgid "mode must specify only file permission bits" #~ msgstr "chế độ phải xác định chỉ các bit đặt quyền hạn tập tin" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... TÊN KIỂU [LỚN NHỎ]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Tạo tập tin đặc biệt với TÊN và KIỂU đưa ra.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=NGỮ_CẢNH đặt ngữ cảnh bảo mật SELinux\n" #~ "\t\t\t\t\t\tcủa TÊN thành NGỮ_CẢNH\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Phải đưa ra cả LỚN và NHỎ khi KIỂU là b, c hoặc u,\n" #~ "và phải bỏ đi khi KIỂU là p.\n" #~ "Nếu LỚN hoặc NHỎ bắt đầu với:\n" #~ " tiền tố giải thích dạng\n" #~ " • 0x hoặc 0X thập lục\n" #~ " • 0 bát phân\n" #~ " • gì khác thập phân\n" #~ "KIỂU có thể là:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b tạo một tập tin đặc biệt kiểu khối (có bộ đệm)\n" #~ " c, u tạo một tập tin đặc biệt kiểu ký tự (không có bộ đệm)\n" #~ " p tạo một FIFO (VTRT: Vào Trước, Ra Trước)\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "Tập tin đặc biệt yêu cầu các số thiết bị lớn và nhỏ." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "FIFO không có các số thiết bị lớn và nhỏ." #~ msgid "block special files not supported" #~ msgstr "không hỗ trợ tập tin đặc biệt kiểu khối" #~ msgid "character special files not supported" #~ msgstr "không hỗ trợ tập tin đặc biệt kiểu ký tự" #~ msgid "invalid major device number %s" #~ msgstr "sai số lớn của thiết bị %s" #~ msgid "invalid minor device number %s" #~ msgstr "sai số nhỏ của thiết bị %s" #~ msgid "invalid device %s %s" #~ msgstr "sai thiết bị %s %s" #~ msgid "invalid device type %s" #~ msgstr "sai kiểu thiết bị %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [MẪU]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Tạo tạm thời một tập tin hay thư mục một cách an toàn, rồi in tên của " #~ "nó.\n" #~ "Không ghi rõ MẪU thì dùng « tmp.XXXXXXXXXX ».\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory \ttạo một thư mục, không phải tập tin\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet thu hồi thông tin chẩn đoán khi gặp lỗi tạo tập tin/" #~ "thư mục\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run không tạo gì, chỉ in ra một tên (không an toàn)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=THƯ_MỤC] giải thích MẪU tương đối so với THƯ_MỤC.\n" #~ "\t\t\tKhông ghi rõ THƯ_MỤC thì dùng $TMPDIR (nếu đặt),\n" #~ "\t\t\tkhông thì « /tmp ».\n" #~ "\t\t\tKhi dùng tùy chọn này, MẪU không thể là tên tuyệt đối.\n" #~ "\t\t\tKhông giống như « -t », MẪU có thể chứa dấu xuyệc,\n" #~ "\t\t\tnhưng ngay cả ở đây, mktemp vẫn còn chỉ tạo thành phần cuối cùng.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p THƯ_MỤC đặt THƯ_MỤC là tiền tố; ngụ ý « -t » [bị phản đối]\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t giải thích MẪU là một thành phần tên tập tin đơn,\n" #~ "\t\t\ttương đối so với một thư mục: $TMPDIR, nếu đặt;\n" #~ "\t\t\tkhông thì thư mục được ghi rõ với « -p »;\n" #~ "\t\t\tkhông thì « /tmp » [bị phản đối]\n" #~ msgid "too many templates" #~ msgstr "quá nhiều mẫu" #~ msgid "too few X's in template %s" #~ msgstr "quá ít X trong mẫu %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "mẫu không hợp lệ, %s, chứa dấu phân cách thư mục" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "mẫu không hợp lệ, %s; với « --tmpdir » thì không thể là tuyệt đối" #~ msgid "failed to create directory via template %s" #~ msgstr "lỗi tạo thư mục thông qua mẫu %s" #~ msgid "failed to create file via template %s" #~ msgstr "lỗi tạo tập tin thông qua mẫu %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Đổi tên NGUỒN thành ĐÍCH, hoặc di chuyển (các) NGUỒN vào THƯ_MỤC.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=ĐIỀU_KHIỂN] tạo bản sao lưu của mỗi tập tin tồn tại ở " #~ "nơi đến\n" #~ " -b giống « --backup » nhưng không chấp nhận " #~ "đối số\n" #~ " -f, --force không hỏi lại trước khi ghi chèn\n" #~ " -i, --interactive hỏi lại trước khi ghi chèn\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes xóa mọi dấu xuyệc nằm theo khỏi mỗi đối " #~ "số NGUỒN\n" #~ " -S, --suffix=HẬU_TỐ dùng HẬU_TỐ thay cho đuôi để sao lưu thông " #~ "thường\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=THƯ_MỤC di chuyển mọi đối số NGUỒN vào THƯ_MỤC\n" #~ " -T, --no-target-directory coi ĐÍCH như một tập tin thông thường\n" #~ " -u, --update chỉ di chuyển khi tập tin NGUỒN mới hơn\n" #~ " tập tin ở nơi đến hoặc khi không có tập " #~ "tin\n" #~ " tập tin ở nơi đến\n" #~ " -v, --verbose nói rõ về những gì đang xảy ra\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN] [LỆNH [ĐỐI_SỐ]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Chạy câu LỆNH với giá trị ưu tiên (nice) khác để gây ảnh hưởng lên quyền " #~ "ưu tiên xử lý.\n" #~ "Khi không có câu LỆNH, in ra giá trị nice hiện thời. Giá trị nice nằm " #~ "trong khoảng\n" #~ "từ %d (ưu tiên về thời gian cao nhất) đến %d (ưu tiên ít nhất).\n" #~ "\n" #~ " -n, --adjustment=N cộng thêm N vào giá trị nice (mặc định 10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "điều chỉnh sai %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "phải đưa ra một câu lệnh với một điều chỉnh" #~ msgid "cannot get niceness" #~ msgstr "không lấy được giá trị ưu tiên" #~ msgid "cannot set niceness" #~ msgstr "không đặt được giá trị ưu tiên" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "In mỗi TẬP_TIN tới đầu ra tiêu chuẩn, với số thứ tự của các dòng ở đầu.\n" #~ "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=KIỂU_DÁNG dùng KIỂU_DÁNG để đánh số các dòng " #~ "phần thân\n" #~ " -d, --section-delimiter=CC dùng CC để phân cách cách trang " #~ "lôgíc\n" #~ " -f, --footer-numbering=KIỂU_DÁNG dùng KIỂU_DÁNG để đánh số các dòng " #~ "phần chân\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=KIỂU_DÁNG dùng KIỂU_DÁNG để đánh số các dòng " #~ "phần đầu\n" #~ " -i, --page-increment=SỐ độ tăng số thứ tự dòng\n" #~ " -l, --join-blank-lines=SỐ coi và đếm SỐ dòng rỗng như một dòng\n" #~ " -n, --number-format=ĐỊNH_DẠNG chèn số thứ tự dòng theo ĐỊNH_DẠNG\n" #~ " -p, --no-renumber không đặt lại số thứ tự dòng tại trang " #~ "lôgíc\n" #~ " -s, --number-separator=CHUỖI thêm CHUỖI vào sau số thứ tự dòng (có " #~ "thể)\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=SỐ số thứ tự của dòng đầu tiên trên mỗi trang " #~ "lôgíc\n" #~ " -w, --number-width=SỐ dùng SỐ cột cho số thứ tự dòng\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Theo mặc định, chọn « -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn ».\n" #~ "CC là hai ký tự phân cách dùng để chia các trang lôgíc;\n" #~ "khi thiếu ký tự thứ hai thì nó ngầm hiểu là « : ».\n" #~ "Gõ « \\\\ » để dùng « \\ ».\n" #~ "\n" #~ "STYLE là một trong:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a đánh số mọi dòng\n" #~ " t chỉ đánh số những dòng không rỗng\n" #~ " n không đánh số dòng\n" #~ " pBRE chỉ dánh số những dòng chứa tương ứng với\n" #~ " biểu thức chính quy cơ bản, BRE\n" #~ "\n" #~ "ĐỊNH_DẠNG là một trong:\n" #~ "\n" #~ " ln canh hàng trái, không có các số 0 ở đầu\n" #~ " rn canh hàng phải, không có các số 0 ở đầu\n" #~ " rz canh hàng phải, có các số 0 ở đầu\n" #~ msgid "line number overflow" #~ msgstr "vượt quá số dòng có thể" #~ msgid "invalid header numbering style: %s" #~ msgstr "sai dạng đánh số vào phần đầu : %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "sai dạng đánh số vào phần thân: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "sai dạng đánh số vài phần chân: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "sai số của dòng bắt đầu: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "sai độ tăng số của dòng: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "sai số dòng trắng: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "sai chiều dài trường số của dòng: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "sai định dạng đánh số dòng: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s LỆNH [ĐỐI_SỐ]...\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Chạy câu LỆNH, và lờ đi tín hiệu treo (hangup).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Đầu vào tiêu chuẩn là thiết bị cuối thì chuyển tiếp nó từ « /dev/null ».\n" #~ "Đầu ra tiêu chuẩn là thiết bị cuối thì phụ thêm kết xuất vào\n" #~ "« nohup.out » nếu có thể, không thì « $HOME/nohup.out ».\n" #~ "Đầu lỗi tiêu chuẩn là thiết bị cuối thì chuyển tiếp nó vào đầu ra tiêu " #~ "chuẩn.\n" #~ "Để lưu kết xuất vào tập tin, dùng « %s LỆNH > TẬP_TIN ».\n" #~ msgid "ignoring input" #~ msgstr "đang lờ đi dữ liệu vào" #~ msgid "failed to open %s" #~ msgstr "lỗi mở %s" #~ msgid "ignoring input and appending output to %s" #~ msgstr "đang lờ đi dữ liệu vào và phụ thêm vào %s kết xuất" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "lỗi khi đặt bản sao của lỗi tiêu chuẩn để đóng khi thực hiện" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "" #~ "đang lờ đi dữ liệu vào và chuyển hướng lỗi tiêu chuẩn tới đầu vào tiêu " #~ "chuẩn" #~ msgid "failed to redirect standard error" #~ msgstr "chuyển hướng lỗi tiêu chuẩn không thành công" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... [TẬP_TIN]...\n" #~ " hoặc: %s [-abcdfilosx]... [TẬP_TIN] [[+]HIỆU[.][b]]\n" #~ " hoặc: %s --traditional [TÙY_CHỌN]... [TẬP_TIN] [[+]HIỆU[.][b] [+][NHÃN]" #~ "[.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ghi TẬP_TIN dạng rõ ràng vào đầu ra tiêu chuẩn, theo byte bát phân theo " #~ "mặc định.\n" #~ "Khi có vài đối số TẬP_TIN, thì nối chúng với nhau theo thứ tự liệt kê để " #~ "tạo dữ liệu vào.\n" #~ "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Mọi đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy " #~ "chọn ngắn.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=CƠ_SỐ quyết định cách in các hiệu tập tin\n" #~ " -j, --skip-bytes=BYTE bỏ qua BYTE byte đầu tiên từ đầu vào\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BYTE giới hạn việc đổ thành BYTE byte dữ liệu " #~ "vào\n" #~ " -S, --strings[=BYTE] cho ra các chuỗi của ít nhất BYTE ký tự đồ " #~ "họa\n" #~ " -t, --format=KIỂU chọn (các) định dạng kết quả\n" #~ " -v, --output-duplicates không dùng « * » để đánh dấu việc bỏ dòng\n" #~ " -w, --width[=BYTE] cho ra BYTE byte trên mỗi dòng\n" #~ " --traditional chấp nhận đối số dạng truyền thống\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Có thể kết hợp tham số ở dạng truyền thống; chúng tích lũy:\n" #~ " tham số giống như chọn\n" #~ " -a -t a ký tự có tên, lờ đi bit bậc cao\n" #~ " -b -t o1 byte bát phân\n" #~ " -c -t c ký tự ASCII hoặc ký tự thoát xuyệc ngược\n" #~ " -d -t u2 đơn vị hai byte thập phân không có chữ ký\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " tham số giống như chọn\n" #~ " -f -t fF sự trôi\n" #~ " -i -t dI số nguyên thập phân\n" #~ " -l -t dL chiều dài thập phân\n" #~ " -o -t o2 đơn vị 2 byte bát phân\n" #~ " -s -t d2 đơn vị 2 byte thập phân\n" #~ " -x -t x2 đơn vị 2 byte thập lục\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Nếu áp dụng cả dạng gọi thứ nhất và thứ hai, thì dạng thứ hai có tác " #~ "dụng\n" #~ "nếu toán hạng cuối cùng bắt đầu với « + » hoặc (nếu có 2 toán hạng) một " #~ "chữ số.\n" #~ "Một toán hạng HIỆU có nghĩa « -j HIỆU ». NHÃN là một địa chỉ giả lập tại\n" #~ "byte đầu tiên được in, tăng lên khi tiến trình đổ đang chạy. Đối với\n" #~ "HIỆU và NHÃN, một tiền tố « 0x » hoặc « 0X » cho biết nó là thập lục;\n" #~ "hậu tố đuôi có thể là « . » đối với bát phân và « b » để nhân lên 512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "KIỂU là một hoặc vài dạng sau:\n" #~ " a ký tự có tên, lờ đi bit bậc cao\n" #~ " c ký tự ASCII hoặc thoát xuyệc ngược\n" #~ "\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ "Đặt CỠ thì xuất CỠ byte cho mỗi số nguyên:\n" #~ " d[CỠ] số thập phân đã ký\n" #~ " f[C] điểm trôi\n" #~ " o[CỠ] số bát phân\n" #~ " u[CỠ] số thập phân chưa ký\n" #~ " x[CỠ] số thập lục\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "CỠ là một số. Đối với KIỂU doux, CỠ còn có thể là:\n" #~ " C sizeof(char) kích cỡ ký tự\n" #~ " S sizeof(short) kích cỡ ngắn\n" #~ " I sizeof(int) kích cỡ số nguyên\n" #~ " L sizeof(long) kích cỡ dài\n" #~ "Nếu KIỂU là f, CỠ còn có thể là:\n" #~ " F sizeof(float) kích cỡ trôi\n" #~ " D sizeof(double) kích cỡ đôi\n" #~ " L sizeof(long double) kích cỡ đôi dài\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "CƠ SÔ:\n" #~ " d thập lục\n" #~ " o bát phân\n" #~ " x thập lục\n" #~ " n không có\n" #~ "BYTES:\n" #~ "có tiền tố số\n" #~ " 0x hoặc 0X thập lục\n" #~ "có hậu tố bội số\n" #~ " b 512\n" #~ " kB 1024\n" #~ " K \t\t1024\n" #~ " MB \t1000*1000\n" #~ " M \t\t1024*1024\n" #~ " GB \t\t1000*1000*1000\n" #~ " G \t\t1024*1024*1024\n" #~ "v.v. cho T, P, E, Z, Y.\n" #~ "Một hậu tố đuôi z trong bất kỳ dạng nào thêm các ký tự có thể in ra\n" #~ "vào cuối mỗi dòng kết quả. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "« --string » không kèm theo số ngầm hiểu là 3.\n" #~ "«--width » không kèm theo số ngầm hiểu là 32.\n" #~ "Theo mặc định, « od » sử dụng « -A o -t d2 -w16 ».\n" #~ msgid "invalid type string %s" #~ msgstr "sai chuỗi kiểu %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "sai chuỗi kiểu %s;\n" #~ "hệ thống này không cung cấp kiểu tích phân %lu byte" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "sai chuỗi kiểu %s;\n" #~ "hệ thống này không cung cấp kiểu điểm trôi %lu byte" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "sai ký tự « %c » trong chuỗi kiểu %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "không thể nhảy qua cuối của dữ liệu vào đã kết hợp" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "sai cơ số địa chỉ kết quả ra « %c »; nó phải là một ký tự trong [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "không chỉ ra được kiểu khi đổ các chuỗi" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Chế độ tương thích hỗ trợ nhiều nhất một tập tin." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "skip-bytes + read-bytes là quá lớn" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "cảnh báo : sai chiều rộng %lu nên dùng %d thay thế" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" chiều_rộng=%d\n" #~ msgid "standard input is closed" #~ msgstr "đầu vào tiêu chuẩn bị đóng" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Viết các dòng bao gồm chuỗi các dòng tương ứng từ mỗi TẬP_TIN,\n" #~ "phân cách nhau bởi TAB, ra đầu ra tiêu chuẩn.\n" #~ "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=DANH_SÁCH\n" #~ "\t\t\t\tsử dụng lại các ký tự từ DANH_SÁCH thay cho TAB\n" #~ " -s, --serial dán một dòng cho mỗi lần thay vì dán song song\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "danh sách dấu tách kết thúc bằng một gạch chéo không được thoát: %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... TÊN...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Chẩn đoán trong TÊN cấu trúc không thể mang được.\n" #~ "\n" #~ " -p kiểm tra có hệ thống POSIX (nhận ra phần lớn)\n" #~ " -P kiểm tra có tên rỗng và dấu gạch nối đứng trước « - " #~ "»\n" #~ " --portability kiểm tra có hệ thống POSIX (nhận ra tất cả);\n" #~ " bằng tùy chọn « -p -P »\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "dấu gạch nối « - » đứng trước trong phần của tên tập tin %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "ký tự không mang được %s trong tên tập tin %s" #~ msgid "empty file name" #~ msgstr "tên tập tin rỗng" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: không nhận ra chiều dài tên tập tin tối đa" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "giới hạn %lu bị vượt quá theo chiều dài %lu của tên tập tin %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "" #~ "giới hạn %lu bị vượt quá theo chiều dài %lu của thành phần tên tập tin %s" #~ msgid "Login name: " #~ msgstr "Tên đăng nhập: " #~ msgid "In real life: " #~ msgstr "Tên thật: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Thư mục: " #~ msgid "Shell: " #~ msgstr "Trình bao : " #~ msgid "Project: " #~ msgstr "Dự án: " #~ msgid "Plan:\n" #~ msgstr "Kế hoạch:\n" #~ msgid "Login" #~ msgstr "Đăng nhập" #~ msgid "Name" #~ msgstr "Tên" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Nghỉ" #~ msgid "When" #~ msgstr "Lúc" #~ msgid "Where" #~ msgstr "Tại" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [NGƯỜI_DÙNG]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l đưa ra kết quả dạng dài cho (các) NGƯỜI_DÙNG\n" #~ " -b bỏ đi thư mục cá nhân của người dùng và trình bao trong " #~ "dạng dài\n" #~ " -h bỏ đi tập tin dự án của người dùng trong dạng dài\n" #~ " -p bỏ đi tập tin kế hoạch của người dùng trong dạng dài\n" #~ " -s xuất dạng ngắn, đây là mặc định\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f bỏ đi dòng chỉ tên cột trong dạng ngắn\n" #~ " -w bỏ đi tên đầy đủ của người dùng trong dạng ngắn\n" #~ " -i bỏ đi tên đầy đủ của người dùng và máy ở xa trong dạng " #~ "ngắn\n" #~ " -q bỏ đi tên đầy đủ của người dùng, máy ởỡa và thời gian " #~ "nghỉ\n" #~ " trong dạng ngắn\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Một chương trình « finger » nhẹ; in ra thông tin về người dùng.\n" #~ "Tập tin « utmp » sẽ là %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "chưa đưa ra tên người dùng; cần chỉ ra ít nhất một tên người dùng khi " #~ "dùng « -l »" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "thiếu tham số « --pages=TRANG_ĐẦU[:TRANG_CUỐI] »" #~ msgid "Invalid page range %s" #~ msgstr "Sai phạm vi trang %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "« -l CHIỀU_DÀI_TRANG » sai số của dòng: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "« -N SỐ » sai số dòng bắt đầu: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "« -o LỀ » sai hiệu dòng: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "« -w CHIỀU_RỘNG_TRANG » sai số ký tự: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "« -W CHIỀU_RỘNG_TRANG » sai số ký tự: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Không chỉ ra được số cột khi in ra song song." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Không thể đồng thời in ra chéo nhau và in ra song song." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "« -%c » ký tự mở rộng hoặc số sai trong đối số: %s" #~ msgid "page width too narrow" #~ msgstr "chiều rộng trang quá hẹp" #~ msgid "starting page number % exceeds page count %" #~ msgstr "số trang bắt đầu % vượt quá số đếm trang %" #~ msgid "Page number overflow" #~ msgstr "Vượt quá số trang giới hạn" #~ msgid "Page %" #~ msgstr "Trang %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Dàn trang hoặc dàn cột (các) TẬP_TIN để in.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +TRANG_ĐẦU[:TRANG_CUỐI], --pages=TRANG_ĐẦU[:TRANG_CUỐI]\n" #~ " bắt đầu [dừng] in ở trang TRANG_ĐẦU[_CUỐI]\n" #~ " -CỘT, --columns=CỘT\n" #~ " đưa ra CỘT cột và in các cột xuống, trừ khi\n" #~ " có dùng « -a ». Cân bằng số dòng trong các cột\n" #~ " trên mỗi trang.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across in các cột bắt chéo nhau thay vì in xuống,\n" #~ " sử dụng cùng với « -CỘT »\n" #~ " -c, --show-control-chars\n" #~ " dùng ký hiệu mũ (^G) và cách ghi xuyệc ngược bát " #~ "phân\n" #~ " -d, --double-space\n" #~ " nhân đôi khoảng trắng trong kết quả\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=ĐỊNH_DẠNG\n" #~ " dùng ĐỊNH_DẠNG cho ngày tháng trong phần đầu\n" #~ " -e[KÝ_TỰ[RỘNG]], --expand-tabs[=KÝ_TỰ[RỘNG]]\n" #~ " mở rộng KÝ_TỰ đưa vào (TAB) thành chiều RỘNG của tab " #~ "(8)\n" #~ " -F, -f, --form-feed\n" #~ " dùng các dạng khác để chia trang thay cho dòng mới\n" #~ " (3 dòng phần đầu của trang với « -F »,\n" #~ " hoặc 5 dòng phần đầu và gạch dài khi không có « -F " #~ "»)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h ĐẦU_TRANG, --header=ĐẦU_TRANG\n" #~ " dùng một phần ĐẦU_TRANG ở giữa thay cho tên tập tin\n" #~ " trong phần đầu trang,\n" #~ " « -h \"\" » in một dòng trắng, đừng sử dụng « -h\"\" " #~ "»\n" #~ " -i[KÝ_TỰ[RỘNG]], --output-tabs[=KÝ_TỰ[RỘNG]]\n" #~ " thay thế khoảng trắng với các KÝ_TỰ (TAB) thành chiều " #~ "RỘNG tab (8)\n" #~ " -J, --join-lines nhập các dòng đầy đủ, tắt bỏ cắt dòng « -W »,\n" #~ " không sắp hàng các cột,\n" #~ " --sep-string[=CHUỖI] đặt ký tự phân chia\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l DÀI_TRANG, --length=DÀI_TRANG\n" #~ " đặt chiều dài trang thành chiều DÀI_TRANG (66) dòng\n" #~ " (số dòng mặc định của văn bản là 56, có « -F » thì " #~ "63)\n" #~ " -m, --merge in song song tất cả các tập tin, mỗi tập tin trên một " #~ "cột\n" #~ " cắt ngắn các dòng, có « -J » thì cũng nhập các dòng\n" #~ " có chiều dài đầy đủ.\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[PHÂN_CÁCH[CHỮ_SỐ]], --number-lines[=PHÂN_CÁCH[CHỮ_SỐ]]\n" #~ " đánh số dòng, sử dụng CHỮ_SỐ (5) chữ số, sau đó " #~ "PHÂN_CÁCH (TAB),\n" #~ " mặc định đếm bắt đầu từ dòng thứ nhất của tập tin " #~ "nhập vào\n" #~ " -N SỐ, --first-line-number=SỐ\n" #~ " bắt đầu đếm với SỐ tại dòng thứ nhất của\n" #~ " trang in đầu tiên (xem « +TRANG_ĐẦU »)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o LỀ, --indent=LỀ\n" #~ " thụt mỗi dòng với LỀ (số không) khoảng trắng,\n" #~ " không ảnh hưởng « -w » hoặc « -W »,\n" #~ " LỀ sẽ được thêm vào chiều RỘNG_TRANG\n" #~ " -r, --no-file-warnings\n" #~ " bỏ đi cảnh báo khi không mở được một tập tin\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[KÝ_TỰ],--separator[=KÝ_TỰ]\n" #~ " phân chia các cột bằng một ký tự đơn,\n" #~ " mặc định cho KÝ_TỰ là ký tự không có -w\n" #~ " và 'no char' với -w\n" #~ " -s[KÝ_TỰ] bỏ việc cắt ngắn dòng của tất cả 3 tùy chọn " #~ "cột\n" #~ " (-CỘT|-a -CỘT|-m) trừ khi đặt « -w »\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SCHUỖI, --sep-string[=CHUỖI]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " chia các cột bằng CHUỖI,\n" #~ " không có « -S »: Ký tự phân chia mặc định \n" #~ " với « -J » và nếu không (giống như « -S\" " #~ "\" »),\n" #~ " không ảnh hưởng đến các tùy chọn cột\n" #~ " -t, --omit-header bỏ đi phần đầu và phần đi theo của các trang\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " bỏ qua phần đầu và phần đi theo của trang,\n" #~ " loại trừ sự dàn trang bởi mẫu trong tập tin đưa vào\n" #~ " -v, --show-nonprinting\n" #~ " sử dụng ký hiệu xuyệc ngược bát phân\n" #~ " -w RỘNG_TRANG, --width=RỘNG_TRANG\n" #~ " đặt chiều rộng trang thành chiều RỘNG_TRANG (72) ký " #~ "tự\n" #~ " chỉ cho kết quả đa cột văn bản, « -s[ký_tự] » tắt đi " #~ "(72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W RỘNG_TRANG, --page-width=RỘNG_TRANG\n" #~ " đặt chiều rộng trang thành luôn luôn RỘNG_TRANG (72) " #~ "ký tự,\n" #~ " cắt ngắn các dòng, trừ khi đặt tùy chọn « -J »,\n" #~ " không can thiệp với « -S » hoặc « -s »\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "« -t » ngụ ý nếu « CHIỀU_DÀI_TRANG ≤ 10 ».\n" #~ "Không có TẬP_TIN, hoặc TẬP_TIN là - thì đọc đầu vào tiêu chuẩn.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Sử dụng: %s [BIẾN]...\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ "Chưa ghi rõ biến môi trường BIẾN thì in tất cả chúng.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "cảnh báo : %s: lờ đi các ký tự theo sau hằng ký tự" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s ĐỊNH_DẠNG [ĐỐI_SỐ]...\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "In (các) ĐỐI_SỐ theo ĐỊNH_DẠNG, hoặc thực hiện tùy theo TÙY_CHỌN:\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "ĐỊNH_DẠNG điều khiển kết quả giống như trong printf kiểu C.\n" #~ "Các chuỗi được biên dịch là:\n" #~ "\n" #~ " \\\" ngoặc kép\n" #~ " \\NNN ký tự với giá trị bát phân NNN (1 đến 3 chữ số)\n" #~ " \\\\ xuyệc ngược\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a chuông báo (BEL)\n" #~ " \\b xoá lùi\n" #~ " \\c không có kết quả ở sau\n" #~ " \\f thụt dòng\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n dòng mới\n" #~ " \\r dấu enter\n" #~ " \\t tab ngang\n" #~ " \\v tab dọc\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH byte có giá trị thập lục HH (1 đến 2 chữ số)\n" #~ " \\uHHHH ký tự Unicode (ISO/IEC 10646) có giá trị thập lục HHHH (4 " #~ "chữ số)\n" #~ " \\UHHHHHHHH ký tự Unicode có giá trị thập lục HHHHHHHH (8 chữ số)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% một dấu % đơn\n" #~ " %b ĐỐI_SỐ là một chuỗi có các ký tự thoát « \\ » đã biên dịch,\n" #~ " trừ khi dãy thoát bát phân có dạng « \\0 » hoặc « \\0NNN »\n" #~ "\n" #~ "và tất cả các dạng C kết thúc bởi một trong « diouxXfeEgGcs »,\n" #~ "và đầu tiên các ĐỐI SỐ đã chuyển đổi tới dạng thích hợp.\n" #~ "Chiều dài các biến được điều khiển.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: đã mong đợi một giá trị số" #~ msgid "%s: value not completely converted" #~ msgstr "%s: giá trị chưa được chuyển đổi hoàn toàn" #~ msgid "missing hexadecimal number in escape" #~ msgstr "thiếu số thập lục trong dãy thoát" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "sai tên ký tự chung « \\%c%0*x »" #~ msgid "invalid field width: %s" #~ msgstr "sai chiều rộng trường: %s" #~ msgid "invalid precision: %s" #~ msgstr "sai độ chính xác: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: sai sự xác định chuyển đổi" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "cảnh báo : lờ đi các đối số thừa nên bắt đầu từ %s" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (cho biểu thức chính quy %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... [VÀO]... (không có « -G »)\n" #~ " hoặc: %s -G [TÙY_CHỌN]... [VÀO [RA]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Đưa ra một chỉ mục đã hoán vị, bao gồm ngữ cảnh,\n" #~ "của những từ trong các tập tin đưa vào.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference đưa ra sự chỉ đến đã tạo ra tự động\n" #~ " -G, --traditional làm việc giống với « ptx » của System V\n" #~ " -F, --flag-truncation=CHUỖI dùng CHUỖI để đánh dấu sự cắt dòng\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=CHUỖI tên vĩ lệnh để sử dụng thay cho « xx »\n" #~ " -O, --format=roff tạo ra kết quả như chỉ thị roff\n" #~ " -R, --right-side-refs đặt sự chỉ đến ở bên phải, không đếm " #~ "trong « -w »\n" #~ " -S, --sentence-regexp=BTCQ cho cuối các dòng hoặc cuối các câu\n" #~ " (BTCQ: biểu thức chính quy)\n" #~ " -T, --format=tex tạo kết quả như chỉ thị TeX\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=BTCQ dùng biểu thức chính quy này\n" #~ " để tương ứng mỗi từ khóa\n" #~ " -b, --break-file=TẬP_TIN ký tự phá vỡ từ trong TẬP_TIN này\n" #~ " -f, --ignore-case đưa chữ thường thành hoa để sắp xếp\n" #~ " -g, --gap-size=SỐ kích cỡ chỗ trống trong các cột giữa\n" #~ " các trường kết quả\n" #~ " -i, --ignore-file=TẬP_TIN đọc danh sách từ lờ đi từ TẬP_TIN\n" #~ " -o, --only-file=TẬP_TIN chỉ đọc danh sách từ từ TẬP_TIN này\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references trường đầu tiên của mỗi dòng là một sự " #~ "tham khảo\n" #~ " -t, --typeset-mode (chưa thực hiện)\n" #~ " -w, --width=SỐ chiều rộng kết quả theo cột, bỏ đi sự " #~ "tham khảo\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Khi không có TẬP_TIN hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "« -F / » theo mặc định.\n" #~ msgid "invalid gap width: %s" #~ msgstr "chiều rộng chỗ trống sai: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "In ra tên đầy đủ của thư mục làm việc hiện thời.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "lỗi chdir (chuyển đổi thư mục) sang %s" #~ msgid "failed to stat %s" #~ msgstr "lỗi stat (lấy trạng thái về) %s" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "không tìm thấy mục nhập thư mục trong %s có inode tương ứng" #~ msgid "ignoring non-option arguments" #~ msgstr "đang lờ đi các đối số không tùy chọn" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... TẬP_TIN\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Hiển thị giá trị của một liên kết mềm trên đầu ra tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize làm hợp quy tắc bằng cách theo đệ quy\n" #~ " mọi liên kết mềm trong mọi thành phần của tên đưa ra;\n" #~ " tất cả thành phần (trừ mục cuối cùng) của đường dẫn phải tồn " #~ "tại\n" #~ " -e, --canonicalize-existing làm hợp quy tắc bằng cách theo đệ quy\n" #~ " mọi liên kết mềm sau trong mọi thành phần của đường dẫn đưa " #~ "ra,\n" #~ " tất cả thành phầu của đường dẫn phải tồn tại\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing làm hợp quy tắc bằng cách theo đệ quy\n" #~ " mọi liên kết mềm sau trong mọi thành phần của đường dẫn đưa " #~ "ra,\n" #~ " và không cần sự tồn tại của các thành phần\n" #~ " -n, --no-newline không đưa ra ký tự dòng mới đi theo\n" #~ " -q, --quiet không xuất chi tiết\n" #~ " -s, --silent bỏ đi hầu hết các thông báo lỗi\n" #~ " -v, --verbose báo cáo các thông báo lỗi\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "NGHIÊM TRỌNG: lỗi đóng thư mục %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "NGHIÊM TRỌNG: không thể mở « .. » từ %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "NGHIÊM TRỌNG: không thể đảm bảo %s (trả về qua « .. ») là an toàn" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "NGHIÊM TRỌNG: thư mục %s đã thay đổi dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "NGHIÊM TRỌNG: không thể vào thư mục %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "NGHIÊM TRỌNG: thư mục mới tới %s đã thay đổi dev/ino" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "CẢNH BÁO : cấu trúc thư mục vòng quanh.\n" #~ "Gần chắc chắn là hệ thống tập tin đã bị hỏng.\n" #~ "HÃY THÔNG BÁO CHO NHÀ QUẢN LÝ HỆ THỐNG.\n" #~ "Thư mục sau nằm trong vòng quay:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: đi vào thư mục đã bảo vệ khỏi ghi %s không? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: đi vào thư mục %s không? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: xóa %s đã bảo vệ khỏi ghi %s không? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: xoá %s %s không? " #~ msgid "removed directory: %s\n" #~ msgstr "đã xóa thư mục: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "lỗi đóng thư mục %s" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "đang nhảy qua %s, vì nó nằm trên thiết bị khác" #~ msgid "cannot remove directory %s" #~ msgstr "không xóa được thư mục %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "NGHIÊM TRỌNG: không thể trở về « .. » từ %s" #~ msgid "cannot remove root directory %s" #~ msgstr "không xóa được thư mục gốc %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "không xóa được %s có tên tương đối" #~ msgid "cannot restore current working directory" #~ msgstr "không thể phục hồi thư mục làm việc hiện thời" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Thử lệnh « %s ./%s » để xoá tập tin %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... TẬP_TIN...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Xoá (hủy liên kết) các TẬP_TIN.\n" #~ "\n" #~ " -f, --force lờ đi tập tin không tồn tại, không bao giờ hỏi " #~ "trước\n" #~ " -i hỏi trước mỗi lần xoá\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I hỏi một lần trước khi xoá hơn 3 tập tin, hoặc khi xoá " #~ "đệ quy.\n" #~ " Ít xâm nhập hơn « -i », vẫn còn bảo vệ khỏi phần lớn " #~ "lỗi.\n" #~ " --interactive[=KHI] hỏi KHI nào:\n" #~ " • never không bao giờ\n" #~ " • once (-l) một lần\n" #~ " • always (-i) luôn luôn\n" #~ " không có KHI thì luôn luôn hỏi trước\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system khi xoá đệ quy một phân cấp,\n" #~ " nhảy qua thư mục nằm trên hệ thống tập tin " #~ "khác\n" #~ " với hệ thống có đối số dòng lệnh tượng ứng.\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root không coi « / » là đặc biệt\n" #~ " --preserve-root không xóa « / » (mặc định)\n" #~ " -r, -R, --recursive xóa đệ quy các thư mục và nội dung\n" #~ " -v, --verbose cho biết những gì đang thực hiện\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Mặc định là chức năng « rm » không xoá thư mục.\n" #~ "Hãy dùng tùy chọn « --recursive » (-r hoặc -R) để xoá mỗi thư mục đã liệt " #~ "kê,\n" #~ "cùng với nội dung hoàn toàn.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Để xóa một tập tin có tên bắt đầu với một « - », ví dụ « -foo »,\n" #~ "sử dụng một trong các câu lệnh sau:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Chú ý rằng nếu dùng chức năng « rm » để xóa một tập tin,\n" #~ "thì thông thường vẫn có khả năng phục hồi nội dung của tập tin đó.\n" #~ "Nếu muốn chắc chắn không thể phục hồi, hãy dùng « shred ».\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: xoá đệ quy mọi đối số không? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: xóa mọi đối số không? " #~ msgid "removing directory, %s" #~ msgstr "đang xóa thư mục, %s" #~ msgid "failed to remove directory %s" #~ msgstr "lỗi gỡ bỏ thư mục %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... THƯ_MỤC...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Xóa mỗi THƯ_MỤC rỗng.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " lờ đi mỗi lần thất bại chỉ do thư mục không rỗng gây " #~ "ra\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents xóa THƯ_MỤC, và mỗi thành phần thư mục của tên đường " #~ "dẫn đó.\n" #~ " Giống « rmdir a/b/c a/b a ».\n" #~ " -v, --verbose đưa ra chuẩn đoán cho mỗi thư mục được xử lý.\n" #~ msgid "failed to remove %s" #~ msgstr "lỗi gỡ bỏ %s" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Sử dụng: %s NGỮ_CẢNH LỆNH [đối_số...]\n" #~ " hoặc: %s [ -c ] [-u NGƯỜI_DÙNG] [-r VAI_TRÒ] [-t KIỂU] [-l PHẠM_VI] " #~ "LỆNH [đối_số...]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Chạy chương trình ở ngữ cảnh bảo mật khác.\n" #~ "Không có NGỮ_CẢNH, cũng không có LỆNH thì in ra ngữ cảnh bảo mật hiện " #~ "thời.\n" #~ "\n" #~ " NGỮ_CẢNH ngữ cảnh bảo mật hoàn toàn\n" #~ " -c, --compute tính ngữ cảnh chuyển tiếp tiến trình trước khi sửa " #~ "đổi\n" #~ " -t, --type=KIỂU \t\tkiểu (cho cùng một vai trỏ với điều mẹ)\n" #~ " -u, --user=NGƯỜI_DÙNG nhận diện người dùng\n" #~ " -r, --role=VAI_TRÒ \t\tvai trò\n" #~ " -l, --range=PHẠM_VI \tphạm vi cấp\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "đa vai trò" #~ msgid "multiple types" #~ msgstr "đa kiểu" #~ msgid "multiple users" #~ msgstr "đa người dùng" #~ msgid "multiple levelranges" #~ msgstr "đa phạm vi cấp" #~ msgid "failed to get current context" #~ msgstr "lỗi lấy ngữ cảnh hiện thời" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "" #~ "phải ghi rõ tùy chọn « -c », « -t », « -u », « -l », « -r » hay ngữ cảnh" #~ msgid "no command specified" #~ msgstr "chưa ghi rõ lệnh" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "runcon dùng được chỉ với hạt nhân SELinux" #~ msgid "failed to compute a new context" #~ msgstr "lỗi tính ngữ cảnh mới" #~ msgid "failed to set new user %s" #~ msgstr "lỗi đặt người dùng mới %s" #~ msgid "failed to set new type %s" #~ msgstr "lỗi đặt kiểu mới %s" #~ msgid "failed to set new range %s" #~ msgstr "lỗi đặt phạm vi mới %s" #~ msgid "failed to set new role %s" #~ msgstr "lỗi đặt vai trò mới %s" #~ msgid "unable to set security context %s" #~ msgstr "không thể đặt ngữ cảnh bảo mật %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... CUỐI\n" #~ " hoặc: %s [TÙY_CHỌN]... ĐẦU CUỐI\n" #~ " hoặc: %s [TÙY_CHỌN]... ĐẦU ĐỘ_TĂNG CUỐI\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "In các số từ ĐẦU đến CUỐI, cộng thêm ĐỘ_TĂNG sau mỗi số.\n" #~ "\n" #~ " -f, --format=ĐỊNH_DẠNG sử dụng ĐỊNH_DẠNG điểm trôi kiểu printf\n" #~ " -s, --separator=CHUỖI dùng CHUỖI để phân cách các số (mặc định: " #~ "\\n)\n" #~ " -w, --equal-width cân bằng chiều rộng bằng cách thêm các số 0 " #~ "vào đầu\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Nếu bỏ qua ĐẦU hoặc ĐỘ_TĂNG, thì mặc định thành 1.\n" #~ "Tức là ĐỘ_TĂNG bị bỏ qua mặc định thành 1 thậm chí khi CUỐI nhỏ hơn ĐẦU.\n" #~ "ĐẦU, ĐỘ_TĂNG, và CUỐI biên dịch như các giá trị điểm trôi.\n" #~ "ĐỘ_TĂNG thường là dương nếu ĐẦU nhỏ hơn CUỐI,\n" #~ "và ĐỘ_TĂNG thường là âm nếu ĐẦU lớn hơn CUỐI.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "ĐỊNH_DẠNG phải thích hợp để in ra một đối số kiểu « double »;\n" #~ "nó có giá trị mặc định là « %.PRECf » nếu ba giá trị ĐẦU, ĐỘ_TĂNG, và " #~ "CUỐI đều là số điểm cứng thập phân có độ chính xác tối đa PREC, không thì " #~ "giá trị mặc định là %g.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "sai đối số điểm trôi: %s" #~ msgid "no %% directive in format string %s" #~ msgstr "không có chỉ thị %% trong chuỗi định dạng %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "quá nhiều chỉ thị %% trong chuỗi định dạng %s" #~ msgid "invalid format string: %s" #~ msgstr "sai chuỗi định dạng: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "không được chỉ ra chuỗi định dạng khi in các chuỗi có chiều rộng bằng nhau" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s TÙY_CHỌN NGƯỜI_DÙNG LỆNH [ĐỐI_SỐ]...\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Bỏ mọi nhóm phụ, giả sử ID người dùng và ID nhóm của NGƯỜI_DÙNG\n" #~ "chỉ ra (ID thuộc số hay tên người dùng), và chạy câu LỆNH với mọi ĐỐI_SỐ " #~ "đưa ra.\n" #~ "Thoát với trạng thái 111 nếu không thể dùng UID và GID yêu cầu.\n" #~ "Nếu không, thoát với trạng thái thoát của câu LỆNH.\n" #~ "Chương trình này chỉ có ích khi chạy bởi root (UID=0).\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] cũng đặt ID nhóm chính thành GID thuộc số\n" #~ "\t\tvà (nếu chỉ ra) đặt các ID nhóm phụ thành GID1, ...\n" #~ msgid "unknown user-ID: %s" #~ msgstr "ID người dùng không rõ : %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "để sử dụng ID người dùng %s thì phải cũng dùng tùy chọn « -g »" #~ msgid "failed to set supplemental group(s)" #~ msgstr "lỗi đặt (các) nhóm phụ" #~ msgid "cannot set group-ID to %lu" #~ msgstr "không đặt được ID nhóm thành %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "không đặt được ID người dùng thành %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN ...] TẬP_TIN [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Viết chèn nhiều lần (các) TẬP_TIN chỉ ra, để làm cho việc phục hồi dù\n" #~ "bằng các thiết bị đắt tiền cũng khó khăn.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force thay đổi quyền hạn để cho phép ghi nhớ nếu cần thiết\n" #~ " -n, --iterations=N Ghi chèn N lần thay vì mặc định (%d)\n" #~ " --random-source=TẬP_TIN lấy các byte ngẫu nhiên từ tập tin này\n" #~ " (mặc định là « /dev/urandom »)\n" #~ " -s, --size=N shred số byte này (chấp nhận các hậu tố K, M, G v.d. « " #~ "102K »)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove cắt ngắn và xóa tập tin sau khi ghi chèn\n" #~ " -v, --verbose hiển thị tiến trình\n" #~ " -x, --exact không làm tròn kích cỡ tập tin đến khối đầy tiếp theo;\n" #~ " đây là mặc định cho các tập tin không thông thường\n" #~ " -z, --zero thêm một lần ghi chèn cuối cùng bằng các số 0 để giấu " #~ "việc dùng shred\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Nếu TẬP_TIN là « - », shred đầu ra tiêu chuẩn.\n" #~ "\n" #~ "Xóa (các) TẬP_TIN nếu có chỉ ra « --remove » (-u).\n" #~ "Mặc định là không xóa tập tin vì nó thường thao tác trên tập tin thiết " #~ "bị\n" #~ "như « /dev/hda », và không nên xóa bỏ những tập tin này.\n" #~ "Khi thao tác trên tập tin thông thường, phần lớn người dùng sử dụng\n" #~ "tùy chọn « --remove ».\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "CẨN THẬN: Chú ý rằng chức năng shred dựa trên một tính chất quan trọng:\n" #~ "đó là hệ thống tập tin ghi chèn dữ liệu tại chỗ. Đây là cách truyền\n" #~ "thống để thực hiện, nhưng nhiều hệ thống tập tin mới có thiết kế\n" #~ "không thoả mãn. Dưới đây là những hệ thống tập tin mà shred\n" #~ "không thực hiện được trên chúng, hoặc không bảo hành shred\n" #~ "thực hiện được trên chúng ở mọi chế độ của hệ thống tập tin:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "• các hệ thống tập tin cấu trúc log hoặc journal, như những hệ thống của\n" #~ " AIX và Solaris (và JFS, ReiserFS, XFS, Ext3, v.v...)\n" #~ "\n" #~ "• hệ thống tập tin ghi dữ liệu thừa và phục hồi khi có lỗi ghi nhớ\n" #~ " như các hệ thống tập tin dựa trên RAID\n" #~ "\n" #~ "• hệ thống tập tin tạo ảnh chụp (hiện trạng), như của các máy phục vụ\n" #~ " NFS Network Appliance\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "• hệ thống tập tin nhớ tạm ở vị trí tạm thời, như trình khách NFS phiên " #~ "bản 3\n" #~ "\n" #~ "• hệ thống tập tin đã nén\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "Trong trường hợp của hệ thống tập tin ext3, sự từ bỏ trên là thích hợp\n" #~ "(thì shred chỉ có tác động bị hạn chế) chỉ ở chế độ « data=journal »\n" #~ "(dữ liệu = nhật ký), mà làm nhật ký các dữ liệu thêm vào chỉ siêu dữ " #~ "liệu.\n" #~ "Trong cả hai chế độ « data=ordered » (dữ liệu = thứ tự) (mặc định)\n" #~ "và « data=writeback » (dữ liệu = ghi về), shred thức hiện như bình " #~ "thường.\n" #~ "Vẫn còn có thể thay đổi chế độ làm nhật ký của ext3 bằng cách thêm\n" #~ "tùy chọn « data=gì » vào các tùy chọn gắn kết cho một hệ thống tập tin " #~ "nào đó\n" #~ "trong tập tin « /etc/fstab », như diễn tả trên trang hướng dẫn về chức " #~ "năng\n" #~ "mount (man mount).\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Thêm vào đó, bản sao lưu hệ thống tập tin và máy nhân ở xa\n" #~ "có thể chứa bản sao của tập tin không thể xóa, và do đó cho phép\n" #~ "phục hồi tập tin đã bị xé vụn bởi shred.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: fdatasync bị lỗi" #~ msgid "%s: fsync failed" #~ msgstr "%s: fsync bị lỗi" #~ msgid "%s: cannot rewind" #~ msgstr "%s: không thể tua lại" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: thực hiện %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: lỗi ghi tại hiệu %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: lseek bị lỗi" #~ msgid "%s: file too large" #~ msgstr "%s: tập tin quá lớn" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: thực hiện %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: thực hiện %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: fstat bị lỗi" #~ msgid "%s: invalid file type" #~ msgstr "%s: sai dạng tập tin" #~ msgid "%s: file has negative size" #~ msgstr "%s: tập tin có kích cỡ âm" #~ msgid "%s: error truncating" #~ msgstr "%s: lỗi cắt ngắn" #~ msgid "%s: fcntl failed" #~ msgstr "%s: fcntl bị lỗi" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: không thể shred mô tả tập tin chỉ cho phép phụ thêm vào" #~ msgid "%s: removing" #~ msgstr "%s: đang xóa" #~ msgid "%s: renamed to %s" #~ msgstr "%s: đã đổi tên thành %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: lỗi xoá" #~ msgid "%s: removed" #~ msgstr "%s: đã xóa" #~ msgid "%s: failed to close" #~ msgstr "%s: lỗi đóng" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: lỗi mở để ghi" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: sai số lần thực hiện" #~ msgid "multiple random sources specified" #~ msgstr "đã chỉ ra nhiều nguồn ngẫu nhiên" #~ msgid "%s: invalid file size" #~ msgstr "%s: sai kích cỡ tập tin" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN]... [TẬP_TIN]\n" #~ " hoặc: %s -e [TÙY_CHỌN]... [ĐỐI_SỐ]...\n" #~ " hoặc: %s -i LO-HI [TÙY_CHỌN]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "In ra đầu ra tiêu chuẩn một tập hợp hoán vị ngẫu nhiên của các dòng nhập " #~ "vào.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo coi mỗi ĐỐI_SỐ là một dòng nhập vào\n" #~ " -i, --input-range=THẤP-CAO coi mỗi con số từ THẤP đến CAO là một dòng " #~ "nhập vào\n" #~ " -n, --head-lines=DÒNG xuất nhiều nhất DÒNG dòng\n" #~ " -o, --output=TẬP_TIN ghi kết quả vào tập tin này, thay cho đầu " #~ "ra tiêu chuẩn\n" #~ " --random-source=TẬP_TIN lấy các byte ngẫu nhiên từ tập tin này\n" #~ " (mặc định « /dev/urandom »)\n" #~ " -z, --zero-terminated kết thúc dòng bằng 0 byte, không phải ký " #~ "tự dòng mới\n" #~ msgid "multiple -i options specified" #~ msgstr "đã chỉ ra nhiều tùy chọn « -i »" #~ msgid "invalid input range %s" #~ msgstr "sai phạm vi nhập vào %s" #~ msgid "invalid line count %s" #~ msgstr "sai đếm dòng %s" #~ msgid "multiple output files specified" #~ msgstr "đã chỉ ra nhiều tập tin kết quả" #~ msgid "extra operand %s\n" #~ msgstr "toán hạng thêm %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Sử dụng: %s SỐ[HẬU_TỐ]...\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ "Tạm dừng trong vòng SỐ giây.\n" #~ "HẬU_TỐ có thể là:\n" #~ " • s giây (mặc định)\n" #~ " • m phút\n" #~ " • h giờ\n" #~ " • d ngày\n" #~ "Không giống như phần lớn bản thực hiện yêu cầu SỐ là số nguyên,\n" #~ "ở đây SỐ có thể là số điểm trôi tùy ý.\n" #~ "Đưa ra ít nhất hai đối số thì tạm dừng trong thời gian là tổng mỗi giá " #~ "trị đó.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "sai khoảng thời gian %s" #~ msgid "cannot read realtime clock" #~ msgstr "không đọc được đồng hồ thời gian thực" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Ghi ra đầu ra tiêu chuẩn bản ghép nối đã sắp xếp của tất cả TẬP_TIN.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Tùy chọn sắp xếp:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks lờ đi nhưng khoảng trắng ở đầu\n" #~ " -d, --dictionary-order tính chỉ các dấu cách và các ký tự chữ cái/" #~ "số\n" #~ " -f, --ignore-case tính chữ thường là chữ hoa\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort so sánh theo giá trị số nói chung\n" #~ " -i, --ignore-nonprinting tính chỉ các ký tự có thể in\n" #~ " -M, --month-sort so sánh (không rõ) < `Thg1' < ... < " #~ "`Thg12'\n" #~ " -n, --numeric-sort so sánh theo giá trị số của chuỗi\n" #~ " -R, --random-sort sắp xếp theo sổ băm ngẫu nhiên của khoá\n" #~ " --random-source=TẬP_TIN lấy các byte ngẫu nhiên từ tập tin này\n" #~ " (mặc định « /dev/urandom »)\n" #~ " --sort=TỪ sắp xếp tùy theo từ này:\n" #~ "\t\t\t\t\t• -g\t\tthuộc số chung\n" #~ "\t\t\t\t\t• -M\t\ttháng\n" #~ "\t\t\t\t\t• -n\t\tthuộc số\n" #~ "\t\t\t\t\t• -R\t\tngẫu nhiên\n" #~ " -r, --reverse đảo ngược kết quả so sánh\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Tùy chọn:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first\n" #~ " kiểm tra có dữ liệu vào đã sắp xếp; không sắp " #~ "xếp\n" #~ " -C, --check=quiet, --check=silent\n" #~ " giống « -c », nhưng không thông báo dòng sai " #~ "thứ nhất\n" #~ " --compress-program=TRÌNH\n" #~ " nén các đồ tạm thời bằng chương trình này;\n" #~ " để giải nén cũng đặt « -d »\n" #~ " -k, --key=VỊ_TRÍ1[,VỊ_TRÍ2] bắt đầu khoá ở VỊ_TRÍ1, kết thúc ở " #~ "VỊ_TRÍ12 (gốc 1)\n" #~ " -m, --merge trộn các tập tin đã sắp xếp; không sắp xếp\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=TẬP_TIN ghi kết quả vào tập tin này thay cho đầu ra " #~ "tiêu chuẩn\n" #~ " -s, --stable ổn định sắp xếp bằng việc tắt so sánh sắp xếp " #~ "lại cuối cùng\n" #~ " -S, --buffer-size=CỠ dùng CỠ cho bộ nhớ đệm chính\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=DẤU phân cách các trường bằng DẤU này thay cho\n" #~ " sự chuyển dạng không phải trống thành " #~ "trống\n" #~ " -T, --temporary-directory=THƯ_MỤC\n" #~ " dùng THƯ_MỤC làm tạm thời, không phải $TMPDIR " #~ "hay %s;\n" #~ " khi có nhiều tùy chọn, thì chỉ ra nhiều thư " #~ "mục\n" #~ " -u, --unique với « -c », kiểm tra có thứ tự chặt chẽ không;\n" #~ " khi không có « -c », chỉ đưa ra cái đầu tiên " #~ "khi trùng nhau\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated kết thúc dòng với 0 byte, thay cho ký tự dòng " #~ "mới\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "VỊ_TRÍ là « F[.C][TÙY_CHỌN...] », trong đó F là số thứ tự trường\n" #~ "và C là vị trí của ký tự trong trường; cả hai có gốc 1.\n" #~ "Không đặt « -t » hay « -b » thì đếm các ký tự của trường từ đầu\n" #~ "của khoảng cách đứng trước.\n" #~ "TÙY_CHỌN là một hoặc vài tùy chọn sắp xếp ký tự đơn sẽ ghi chèn\n" #~ "các tùy chọn sắp xếp toàn cầu cho khóa đó.\n" #~ "Khi không đưa ra một khóa, thì dùng cả dòng làm khóa.\n" #~ "\n" #~ "CỠ có thể có các đuôi bội số sau :\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% của bộ nhớ, b 1, K 1024 (mặc định), và tương tự cho M, G, T, P, E, " #~ "Z, Y.\n" #~ "\n" #~ "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ "*** CẢNH BÁO ***\n" #~ "Biến môi trường địa phương ảnh hưởng đến thứ tự sắp xếp.\n" #~ "Đặt « LC_ALL=C » để dùng thứ tự sắp xếp truyền thống theo giá trị byte " #~ "gốc.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "đang đợi %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] đã chấm dứt bất thường" #~ msgid "cannot create temporary file" #~ msgstr "không tạo được tập tin tạm thời" #~ msgid "open failed" #~ msgstr "lỗi mở" #~ msgid "fflush failed" #~ msgstr "fflush bị lỗi" #~ msgid "close failed" #~ msgstr "lỗi đóng" #~ msgid "dup2 failed" #~ msgstr "dup2 bị lỗi" #~ msgid "couldn't execute %s" #~ msgstr "không thể thực hiện %s" #~ msgid "couldn't create temporary file" #~ msgstr "không tạo được tập tin tạm thời" #~ msgid "couldn't open temporary file" #~ msgstr "không mở được tập tin tạm thời" #~ msgid "couldn't execute %s -d" #~ msgstr "không thể thực hiện %s -d" #~ msgid "write failed" #~ msgstr "lỗi ghi" #~ msgid "warning: cannot remove: %s" #~ msgstr "cảnh báo : không xóa được: %s" #~ msgid "stat failed" #~ msgstr "stat bị lỗi" #~ msgid "read failed" #~ msgstr "lỗi đọc" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: sai thứ tự : " #~ msgid "standard error" #~ msgstr "lỗi tiêu chuẩn" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: sai xác định trường %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "các tùy chọn « -%s » không tương thích với nhau" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: sai số đếm tại đầu của %s" #~ msgid "invalid number after `-'" #~ msgstr "số sai ở sau « - »" #~ msgid "invalid number after `.'" #~ msgstr "số sai ở sau « . »" #~ msgid "stray character in field spec" #~ msgstr "ký tự rác trong lời xác định trường" #~ msgid "multiple compress programs specified" #~ msgstr "đã chỉ ra nhiều chương trình nén" #~ msgid "invalid number at field start" #~ msgstr "số sai tại đầu trường" #~ msgid "field number is zero" #~ msgstr "số của trường là không" #~ msgid "character offset is zero" #~ msgstr "hiệu ký tự là không" #~ msgid "invalid number after `,'" #~ msgstr "số sai ở sau « , »" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "không cho phép toán hạng thêm %s với « -%c »" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN] [VÀO [TIỀN_TỐ]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Tạo ra các phần có kích cỡ xác định của dữ liệu VÀO với tên TIỀN_TỐaa,\n" #~ "TIỀN_TỐab, v.v.; kích cỡ mặc định là 1000 dòng, và TIỀN_TỐ mặc định\n" #~ "là « x ». Khi không có dữ liệu VÀO, hoặc khi dữ liệu VÀO là « - »,\n" #~ "đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N sử dụng các hậu tố với chiều dài N (mặc định %" #~ "d)\n" #~ " -b, --bytes=CỠ đặt CỠ byte cho mỗi tập tin kết quả\n" #~ " -C, --line-bytes=CỠ đặt nhiều nhất CỠ byte dòng cho mỗi tập tin kết " #~ "quả\n" #~ " -d, --numeric-suffixes sử dụng hậu tố thuộc số thay cho chữ cái\n" #~ " -l, --lines=SỐ đặt SỐ dòng cho mỗi tập tin kết quả\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose in thông tin chẩn đoán đúng trước\n" #~ "\t\t\tkhi mở mỗi tập tin kết xuất\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Kich CỠ có thể đặt các hậu tố nhân sau :\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, và tương tự với T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "đang tạo tập tin %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "không thể chia theo vài cách" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: sai chiều dài hậu tố" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: số byte sai" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: số dòng sai" #~ msgid "line count option -%s%c... is too large" #~ msgstr "tùy chọn số đếm dòng « -%s%c... » là quá lớn" #~ msgid "invalid number of lines: 0" #~ msgstr "sai số dòng: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "cảnh báo : không nhận ra dãy thoát « \\%c »" #~ msgid "%s: invalid directive" #~ msgstr "%s: sai chỉ thị" #~ msgid "warning: backslash at end of format" #~ msgstr "cảnh báo : định dạng kết thúc bằng xuyệc ngược" #~ msgid "cannot read file system information for %s" #~ msgstr "không đọc được thông tin hệ thống tập tin cho %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN] TẬP_TIN...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Hiển thị trạng thái của tập tin hay hệ thống tập tin.\n" #~ "\n" #~ " -L, --dereference theo các liên kết\n" #~ " -f, --file-system hiển thị trạng thái của hệ thống tập tin\n" #~ " thay cho trạng thái của tập tin\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=ĐỊNH_DẠNG dùng ĐỊNH_DẠNG thay cho định dạng mặc định;\n" #~ " xuất một ký tự dòng mới sau mỗi lần dùng " #~ "ĐỊNH_DẠNG\n" #~ " --printf=ĐỊNH_DẠNG giống « --format », còn cũng giải thích\n" #~ " các dãy thoát kiểu xuyện ngược, và không " #~ "xuất\n" #~ " ký tự dòng mới đi theo bắt buộc xuất.\n" #~ " Muốn tạo dòng mới thì đặt « \\n » trong " #~ "ĐỊNH_DẠNG.\n" #~ " -t, --terse in ra thông tin theo dạng ngắn\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Các chuỗi định dạng đúng cho các tập tin (không có « --file-system »):\n" #~ "\n" #~ " %a Quyền truy cập theo dạng bát phân\n" #~ " %A Quyền truy cập theo dạng dễ đọc\n" #~ " %b Số khối đã cấp phát (xem %B)\n" #~ " %B Kích cỡ theo byte của mỗi khối được %b thông báo\n" #~ " %C Chuỗi ngữ cảnh bảo mật SELinux\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Số hiệu thiết bị theo dạng thập phân\n" #~ " %D Số hiệu thiết bị theo dạng thập lục\n" #~ " %f Chế độ thô theo dạng thập lục\n" #~ " %F Kiểu tập tin\n" #~ " %g ID nhóm của người sở hữu\n" #~ " %G Tên nhóm của người sở hữu\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Số liên kết cứng\n" #~ " %i Số hiệu inode\n" #~ " %n Tên tập tin\n" #~ " %N Tên tập tin đã trích dẫn (bỏ liên kết nếu là liên kết mềm)\n" #~ " %o Kích cỡ khối V/R\n" #~ " %s Tổng kích cỡ theo byte\n" #~ " %t Kiểu thiết bị lớn theo dạng thập lục\n" #~ " %T Kiểu thiết bị nhỏ theo dạng thập lục\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u ID người dùng của người sở hữu\n" #~ " %U Tên người dùng của người sở hữu\n" #~ " %x Thời gian truy cập cuối cùng\n" #~ " %X Thời gian truy cập cuối cùng, theo giây kể từ Epoch\n" #~ " %y Thời gian sửa đổi cuối cùng\n" #~ " %Y Thời gian sửa đổi cuối cùng, theo giây kể từ Epoch\n" #~ " %z Thời gian thay đổi cuối cùng\n" #~ " %Z Thời gian thay đổi cuối cùng, theo giây kể từ Epoch\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Các chuỗi định dạng đúng cho hệ thống tập tin:\n" #~ "\n" #~ " %a Các khối còn trống cho người dùng không phải siêu người dùng\n" #~ " %b Tổng số khối dữ liệu trong hệ thống tập tin\n" #~ " %c Tổng số nút tập tin trong hệ thống tập tin\n" #~ " %d Số nút tập tin còn trống trong hệ thống tập tin\n" #~ " %f Số khối còn trống trong hệ thống tập tin\n" #~ " %C Chuỗi ngữ cảnh bảo mật SELinux\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i ID hệ thống tập tin theo dạng thập lục\n" #~ " %l Chiều dài tối đa của tên tập tin\n" #~ " %n Tên tập tin\n" #~ " %s Kích cỡ khối (để truyền nhanh hơn)\n" #~ " %S Kích cỡ khối chủ yếu (để đếm các khối)\n" #~ " %t Kiểu theo dạng thập lục\n" #~ " %T Kiểu theo dạng dễ đọc\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Sử dụng: %s [-F THIẾT_BỊ] [--file=THIẾT_BỊ] [THIẾT_LẬP]...\n" #~ " hoặc: %s [-F THIẾT_BỊ] [--file=THIẾT_BỊ] [-a|--all]\n" #~ " hoặc: %s [-F THIẾT_BỊ] [--file=THIẾT_BỊ] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "In hoặc thay đổi đặc điểm của thiết bị cuối.\n" #~ "\n" #~ " -a, --all in mọi thiết lập hiện thời ở dạng dễ đọc cho " #~ "người dùng\n" #~ " -g, --save in mọi thiết lập hiện thời ở dạng stty có thể " #~ "đọc\n" #~ " -F, --file=THIẾT_BỊ mở và dùng THIẾT_BỊ thay cho đầu vào tiêu chuẩn\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Một « - » không bắt buộc ở trước THIẾT_LẬP chỉ ra sự phủ định.\n" #~ "Một « * » đánh dấu thiết lập không phải POSIX.\n" #~ "Hệ thống nằm dưới xác định những thiết lập có thể.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Ký tự đặc biệt:\n" #~ " * dsusp KÝ_TỰ KÝ_TỰ sẽ gửi một tín hiệu dừng của thiết bị cuối khi\n" #~ " tràn dữ liệu vào\n" #~ " eof KÝ_TỰ KÝ_TỰ sẽ gửi một kết thúc tập tin (dừng nhập vào)\n" #~ " eol KÝ_TỰ KÝ_TỰ sẽ kết thúc dòng\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 KÝ_TỰ KÝ_TỰ xen kẽ để kết thúc dòng\n" #~ " erase KÝ_TỰ KÝ_TỰ sẽ xóa ký tự cuối cùng gõ vào\n" #~ " intr KÝ_TỰ KÝ_TỰ sẽ gửi một tín hiệu gián đoạn\n" #~ " kill KÝ_TỰ KÝ_TỰ sẽ xóa dòng hiện thời\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext KÝ_TỰ KÝ_TỰ sẽ nhập ký tự tiếp theo trong ngoặc\n" #~ " quit KÝ_TỰ KÝ_TỰ sẽ gửi một tín hiệu thoát\n" #~ " * rprnt KÝ_TỰ KÝ_TỰ sẽ vẽ lại dòng hiện thời\n" #~ " start KÝ_TỰ KÝ_TỰ sẽ chạy lại kết quả sau khi dừng nó\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop KÝ_TỰ KÝ_TỰ sẽ dừng kết quả\n" #~ " susp KÝ_TỰ KÝ_TỰ sẽ gửi một tín hiệu dừng của thiết bị cuối\n" #~ " * swtch KÝ_TỰ KÝ_TỰ sẽ chuyển sang một lớp trình bao khác\n" #~ " * werase KÝ_TỰ KÝ_TỰ sẽ xóa từ đã gõ cuối cùng\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Thiết lập đặc biệt:\n" #~ " N đặt tốc độ nhập vào và in ra thành N baud\n" #~ " * cols N cho nhân biết thiết bị cuối có N cột\n" #~ " * columns N giống như « cols N »\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N đặt tốc độ nhập vào thành N\n" #~ " * line N dùng kỷ luật dòng N\n" #~ " min N với « -icanon », đọc ít nhất N ký tự mỗi lần đọc\n" #~ " ospeed N đặt tốc độ đưa kết quả ra thành N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N cho nhân biết thiết bị cuối có N dòng\n" #~ " * size in ra số hàng và số cột theo thông tin của nhân\n" #~ " speed in ra tốc độ của thiết bị cuối\n" #~ " time N với « -icanon », đặt thời gian chờ đọc\n" #~ " thành N phần mười của một giây\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Thiết lập điều khiển:\n" #~ " [-]clocal bỏ tín hiệu điều khiển bộ điều giải\n" #~ " [-]cread cho phép nhận dữ liệu vào\n" #~ " * [-]crtscts bật dùng tiến trình bắt tay RTS/CTS\n" #~ " csN đặt kích cỡ ký tự thành N bit, N nằm trong [5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb dùng hai bit dừng cho mỗi ký tự (đặt « - » thì một " #~ "bit)\n" #~ " [-]hup gửi tín hiệu treo khi tiến trình cuối cùng đóng tty\n" #~ " [-]hupcl như « [-]hup »\n" #~ " [-]parenb tạo bit tương tính chẵn lẻ trong kết quả\n" #~ " và chờ bit tính chẵn lẻ trong dữ liệu vào\n" #~ " [-]parodd đặt tính chẵn lẻ kiểu lẻ (đặt « - » thì chẵn)\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Thiết lập đầu vào:\n" #~ " [-]brkint sự ngắt gây ra một tín hiệu gián đoạn\n" #~ " [-]icrnl chuyển return thành dòng mới\n" #~ " [-]ignbrk lờ đi ký tự ngắt\n" #~ " [-]igncr lờ đi return\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar lờ đi các ký tự với lỗi tính chẵn lẻ\n" #~ " * [-]imaxbel bíp và không làm tràn bộ đệm đầu vào đầy khi nhận một " #~ "ký tự\n" #~ " [-]inlcr chuyển dòng mới thành return\n" #~ " [-]inpck bật dùng kiểm tra tính chẵn lẻ đầu vào\n" #~ " [-]istrip gột bit cao (thứ 8) của các ký tự nhập vào\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr " * [-]iutf8 coi như các ký tự đưa vào được mã hóa UTF-8\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc chuyển ký tự viết hoa thành viết thường\n" #~ " * [-]ixany bất kỳ ký tự nào không chỉ ký tự khởi động cũng chạy " #~ "lại đầu vào\n" #~ " [-]ixoff bật dùng việc gửi ký tự chạy/dừng\n" #~ " [-]ixon bật dùng điều khiển luồng XON/XOFF\n" #~ " [-]parmrk đánh dấu lỗi tính chẵn lẻ (với một dãy 255-0 ký tự)\n" #~ " [-]tandem giống như « [-]ixoff »\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Thiết lập đầu ra:\n" #~ " * bsN kiểu trì hoãn của xoá lùi, N nằm trong [0..1]\n" #~ " * crN kiểu trì hoãn của return, N nằm trong [0..3]\n" #~ " * ffN kiểu trì hoãn của thụt dòng, N nằm trong [0..1]\n" #~ " * nlN kiểu trì hoãn của dòng mới, N nằm trong [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl chuyển return thành dòng mới\n" #~ " * [-]ofdel dùng các ký tự xóa để làm đầy thay cho các ký tự rỗng\n" #~ " * [-]ofill dùng các ký tự làm đầy (độn thêm) thay cho thời gian " #~ "trì hoãn\n" #~ " * [-]olcuc chuyển ký tự viết thường thành viết hoa\n" #~ " * [-]onlcr chuyển dòng mới thành return-dòng mới\n" #~ " * [-]onlret dòng mới tạo ra một return\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr không in ra return trong cột đầu tiên\n" #~ " [-]opost xử lý cuối cùng kết quả\n" #~ " * tabN kiểu trì hoãn của tab ngang, N nằm trong [0..3]\n" #~ " * tabs giống như « tab0 »\n" #~ " * -tabs giống như « tab3 »\n" #~ " * vtN kiểu trì hoãn của tab dọc, N nằm trong [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Thiết lập nội bộ :\n" #~ " [-]crterase đưa ra ký tự xóa như backspace-space-backspace\n" #~ " * crtkill diệt toàn dòng theo thiết lập echoprt và echoe\n" #~ " * -crtkill diệt toàn dòng theo thiết lập echoctl và echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho đưa ra ký tự control ở dạng mũ (`^c')\n" #~ " [-]echo đưa ra ký tự nhập vào\n" #~ " * [-]echoctl giống như « [-]ctlecho »\n" #~ " [-]echoe giống như « [-]crterase »\n" #~ " [-]echok đưa ra một dòng mới sau một ký tự diệt\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke giống như « [-]crtkill »\n" #~ " [-]echonl đưa ra một dòng mới thậm chí nếu không đưa ra ký tự " #~ "khác\n" #~ " * [-]echoprt đưa ra ngược lại ký tự bị xóa, giữa « \\ » và « / »\n" #~ " [-]icanon bật dùng các ký tự đặc biệt xóa, diệt, werase, và " #~ "rprnt\n" #~ " [-]iexten bật dùng các ký tự đặc biệt không phải POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig bật dùng các ký tự đặc biệt gián đoạn, thoát, và " #~ "ngưng\n" #~ " [-]noflsh tắt bỏ làm tràn sau các ký tự đặc biệt gián đoạn và " #~ "thoát\n" #~ " * [-]prterase giống như « [-]echoprt »\n" #~ " * [-]tostop dừng các công việc nền mà thử ghi tới thiết bị cuối\n" #~ " * [-]xcase với « icanon », thoát với « \\ » cho các ký tự viết " #~ "hoa\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Thiết lập tổ hợp:\n" #~ " * [-]LCASE giống như « [-]lcase »\n" #~ " cbreak giống như « -icanon »\n" #~ " -cbreak giống như « icanon »\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked giống như « brkint ignpar istrip icrnl ixon opost isig " #~ "icanon »\n" #~ " các ký tự eof và eol tới giá trị mặc định của chúng\n" #~ " -cooked giống như « raw »\n" #~ " crt giống như « echoe echoctl echoke »\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec giống như\n" #~ " « echoe echoctl echoke -ixany intr ^c erase 0177 " #~ "kill ^u »\n" #~ " * [-]decctlq giống như « [-]ixany »\n" #~ " ek các ký tự xóa và diệt tới giá trị mặc định của chúng\n" #~ " evenp giống như « parenb -parodd cs7 »\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp giống như « -parenb cs8 »\n" #~ " * [-]lcase giống như « xcase iuclc olcuc »\n" #~ " litout giống như « -parenb -istrip -opost cs8 »\n" #~ " -litout giống như « parenb istrip opost cs7 »\n" #~ " nl giống như « -icrnl -onlcr »\n" #~ " -nl giống như « icrnl -inlcr -igncr onlcr -ocrnl -onlret " #~ "»\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp giống như « parenb parodd cs7 »\n" #~ " -oddp giống như « -parenb cs8 »\n" #~ " [-]parity giống như « [-]evenp »\n" #~ " pass8 giống như « -parenb -istrip cs8 »\n" #~ " -pass8 giống như « parenb istrip cs7 »\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw giống như\n" #~ " « -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0 »\n" #~ " -raw giống như « cooked »\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane giống như\n" #~ " « cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl " #~ "onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 " #~ "ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke »\n" #~ " mọi ký tự đặc biệt tới giá trị mặc định của chúng.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Điều khiển đường tty kết nối tới đầu vào tiêu chuẩn. Khi không\n" #~ "có đối số, in ra tốc độ đường truyền baud, kỷ luật đường truyền, và\n" #~ "sự lệch hướng khỏi giá trị stty hữu tỷ.\n" #~ "Trong thiết lập KÝ_TỰ là các chữ cái hoặc mã hoá như ^c, 0x37, 0177 hoặc " #~ "127,\n" #~ "giá trị đặc biệt « ^- » hoặc « undef » dùng để tắt bỏ các ký tự đặc " #~ "biệt.\n" #~ msgid "only one device may be specified" #~ msgstr "chỉ có thể đưa ra một thiết bị" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "các tùy chọn cho dạng kết quả chi tiết và dạng có thể đọc stty\n" #~ "loại trừ lẫn nhau" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "khi chỉ ra dạng kết quả, không được đặt các chế độ" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: không đặt lại được chế độ non-blocking (không chặn)" #~ msgid "invalid argument %s" #~ msgstr "đối số sai %s" #~ msgid "missing argument to %s" #~ msgstr "thiếu đối số cho %s" #~ msgid "invalid line discipline %s" #~ msgstr "sai kỷ luật của dòng %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: không thể thực hiện mọi thao tác yêu cầu" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: chế độ\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: không có thông tin kích cỡ cho thiết bị này" #~ msgid "invalid integer argument %s" #~ msgstr "sai đối số kiểu số nguyên %s" #~ msgid "Password:" #~ msgstr "Mật khẩu :" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: không mở được « /dev/tty »" #~ msgid "cannot set groups" #~ msgstr "không đặt được các nhóm" #~ msgid "cannot set group id" #~ msgstr "không đặt được ID nhóm" #~ msgid "cannot set user id" #~ msgstr "không đặt được ID người dùng" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [-] [NGƯỜI_DÙNG [ĐỐI_SỐ]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Thay đổi id người dùng và id nhóm hoạt động thành của NGƯỜIDÙNG.\n" #~ "\n" #~ " -, -l, --login khiến trình bao thành trình bao đăng nhập\n" #~ " -c, --command=LỆNH đưa một câu LỆNH đơn tới trình bao với « -" #~ "c »\n" #~ " -f, --fast đưa « -f » tới trình bao (cho csh hoặc " #~ "tcsh)\n" #~ " -m, --preserve-environment không đặt lại các biến môi trường\n" #~ " -p giống như « -m »\n" #~ " -s, --shell=TRÌNH_BAO chạy TRÌNH_BAO nếu « /etc/shells » cho " #~ "phép\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Một « - » ý nói « -l ». Nếu không đưa ra NGƯỜI_DÙNG, thì coi như người " #~ "chủ (root).\n" #~ msgid "user %s does not exist" #~ msgstr "người dùng %s không tồn tại" #~ msgid "incorrect password" #~ msgstr "sai mật khẩu" #~ msgid "using restricted shell %s" #~ msgstr "sử dụng trình bao bị giới hạn %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "cảnh báo : không thể chuyển đổi thư mục sang %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "In tổng kiểm tra và số đếm khối cho mỗi TẬP_TIN.\n" #~ "\n" #~ " -r huỷ bỏ « -s », dùng thuật toán tính tổng BSD, dùng các " #~ "khối 1K\n" #~ " -s, --sysv dùng thuật toán tính tổng System V, dùng các khối 512 " #~ "byte\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Bắt buộc ghi vào đĩa các khối đã thay đổi, cập nhật siêu khối.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "đang lờ đi mọi đối số" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "GHI CHÚ : có lẽ bạn có trình bao với một phiên bản %s riêng,\n" #~ "mà thường có quyền cao hơn phiên bản nói trên.\n" #~ "Hãy tham chiếu đến tài liệu hướng dẫn của trình bao\n" #~ "để tìm chi tiết về các tùy chọn được hỗ trợ.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help hiển thị trợ giúp này rồi thoát\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version đưa ra thông tin phiên bản rồi thoát\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Gửi báo cáo lỗi tới <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Ghi mỗi TẬP_TIN ra đầu ra tiêu chuẩn, in dòng cuối cùng đầu tiên.\n" #~ "Khi không có TẬP_TIN hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before gắn ký tự phân chia ở trước thay vì sau\n" #~ " -r, --regex biên dịch ký tự phân chia như một biểu thức " #~ "chính quy\n" #~ " -s, --separator=CHUỖI dùng CHUỖI làm ký tự phân chia thay cho dòng " #~ "mới\n" #~ msgid "%s: seek failed" #~ msgstr "%s: lỗi tìm nơi" #~ msgid "record too large" #~ msgstr "mục ghi quá lớn" #~ msgid "cannot create temporary file %s" #~ msgstr "không tạo được tập tin tạm thời %s" #~ msgid "cannot open %s for writing" #~ msgstr "không mở được %s để ghi" #~ msgid "%s: write error" #~ msgstr "%s: lỗi ghi nhớ" #~ msgid "separator cannot be empty" #~ msgstr "cái phân chia không thể là rỗng" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "In ra %d dòng cuối cùng của mỗi TẬP_TIN ra đầu ra tiêu chuẩn.\n" #~ "Khi có vài TẬP_TIN, thì đầu tiên in ra phần đầu cho biết tên tập tin.\n" #~ "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry cứ cố mở một tập tin thậm chí nếu không thể\n" #~ " truy cập khi tail khởi chạy hoặc không thể\n" #~ " thể truy cập sau này; có ích khi theo sau theo " #~ "tên,\n" #~ " ví dụ, với « --follow=tên »\n" #~ " -c, --bytes=N đưa ra N byte cuối cùng; hoặc dùng « +N »\n" #~ " để xuất các byte bắt đầu với byte thứ N của mỗi " #~ "tập tin\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={tên|mô_tả}]\n" #~ " in ra dữ liệu đã phụ thêm vào cuối tập tin;\n" #~ " « -f », « --follow », và « --follow=mô_tả » là " #~ "tương đương\n" #~ " -F giống như « --follow=tên --retry »\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N đưa ra N dòng cuối cùng, thay vì %d cuối cùng\n" #~ " hoặc dùng « +N » để xuất các dòng bắt đầu với dòng " #~ "thứ N\n" #~ " --max-unchanged-stats=N\n" #~ " với « --follow=tên », mở lại một TẬP_TIN không có\n" #~ " kích cỡ thay đổi sau N (mặc định %d) lần lặp lại\n" #~ " để xem nó có bị bỏ liên kết hay đổi tên chưa\n" #~ " (đây thường là trường hợp các tập tin bản ghi đã " #~ "quay vòng)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID với « -f », dừng sau khi tiến trình ID, PID chết\n" #~ " -q, --quiet, --silent không bao giờ đưa ra phần đầu cho biết tên tập " #~ "tin\n" #~ " -s, --sleep-interval=S với « -f », ngủ khoảng S giây\n" #~ " (mặc định 1.0) giữa các lần lặp lại.\n" #~ " -v, --verbose luôn luôn đưa ra phần đầu cho biết tên tập " #~ "tin\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Nếu ký tự đầu tiên của N (số byte hoặc số dòng) là một « + »,\n" #~ "thì in ra đầu tiên với mục thứ N từ đầu mỗi tập tin,\n" #~ "không thì in N mục cuối cùng trong tập tin.\n" #~ "N có thể có các đuôi bội số:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, và tương tự với T, P, E, Z, Y.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Với « --follow » (-f), tail mặc định sẽ theo mô tả tập tin,\n" #~ "có nghĩa rằng thậm chí nếu tập tin được tail đã đổi tên,\n" #~ "tail sẽ tiếp tục tìm đến phần cuối của nó. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Ứng xử mặc định này không có giá trị khi người dùng thực sự muốn\n" #~ "theo tên thực sự của tập tin, chứ không phải mô tả tập tin (ví dụ, quay\n" #~ "vòng bản ghi).\n" #~ "Hãy dùng « --follow=tên » trong trường hợp đó.\n" #~ "Nó khiến tail theo dõi tập tin có tên bằng cách thường xuyên mở nó\n" #~ "để xem nó có bị xóa bỏ hay bị tạo lại bởi chương trình khác hay không.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "đang đóng %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: không thể tìm nơi tới rìa tương đối %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: không thể tìm seek tới hiệu tương đối với cuối %s" #~ msgid "%s has become inaccessible" #~ msgstr "%s đã trở thành không thể truy cập" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "%s bị thay thế bởi tập tin không thể tail nên đầu hàng với tên này" #~ msgid "%s has become accessible" #~ msgstr "%s đã trở thành có thể truy cập" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s đã xuất hiện; đi theo cuối của tập tin mới" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s bị thay thế; đi theo cuối của tập tin mới" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: không thay đổi được chế độ không chặn" #~ msgid "%s: file truncated" #~ msgstr "%s: tập tin đã bị cắt ngắn" #~ msgid "no files remaining" #~ msgstr "không còn tập tin nào" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: không thể đi theo cuối của kiểu tập tin này; đầu hàng với tên này" #~ msgid "number in %s is too large" #~ msgstr "%s chứa một con số quá lớn" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: sai số trạng thái không thay đổi tối đa giữa các lần mở" #~ msgid "%s: invalid PID" #~ msgstr "%s: sai PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: sai số giây" #~ msgid "option used in invalid context -- %c" #~ msgstr "tùy chọn dùng theo ngữ cảnh sai -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "cảnh báo : « --retry » thường có ích khi theo sau theo tên" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "cảnh báo : PID bị bỏ qua; « --pid=PID » chỉ có ích khi theo sau" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "cảnh báo : không hỗ trợ « --pid=PID » trên hệ thống này" #~ msgid "cannot follow %s by name" #~ msgstr "không thể theo sau %s theo tên" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "" #~ "cảnh báo : không hiệu quả khi theo sau đầu vào tiêu chuẩn một cách không " #~ "giới hạn" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Sao chép đầu vào tiêu chuẩn vào mỗi TẬP_TIN, và đồng thời vào đầu ra tiêu " #~ "chuẩn.\n" #~ "\n" #~ " -a, --append phụ thêm vào các TẬP_TIN chỉ ra, không ghi " #~ "chèn\n" #~ " -i, --ignore-interrupts lờ đi tín hiệu gián đoạn\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Nếu TẬP_TIN là « - », sao chép trở lại đầu ra tiêu chuẩn.\n" #~ msgid "missing argument after %s" #~ msgstr "thiếu đối số ở sau %s" #~ msgid "invalid integer %s" #~ msgstr "sai số nguyên %s" #~ msgid "')' expected" #~ msgstr "đã mong đợi « ) »" #~ msgid "')' expected, found %s" #~ msgstr "đã mong đợi « ) », còn tìm thấy %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: đã mong đợi toán tử nguyên phân" #~ msgid "-nt does not accept -l" #~ msgstr "« -nt » không chấp nhận « -l »" #~ msgid "-ef does not accept -l" #~ msgstr "« -ef » không chấp nhận « -l »" #~ msgid "-ot does not accept -l" #~ msgstr "« -ot » không chấp nhận « -l »" #~ msgid "unknown binary operator" #~ msgstr "không rõ toán tử nhị phân" #~ msgid "%s: binary operator expected" #~ msgstr "%s: đã mong đợi toán tử nhị phân" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Sử dụng: test BIỂU_THỨC\n" #~ " hoặc: test\n" #~ " hoặc: [ BIỂU_THỨC ]\n" #~ " hoặc: [ ]\n" #~ " hoặc: [ TÙY_CHỌN\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Thoát với trạng thái xác định bởi BIỂU_THỨC.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Theo mặc định, một BIỂU_THỨC bị bỏ qua là sai (false).\n" #~ "Không thì BIỂU_THỨC là đúng (true) hoặc sai (false)\n" #~ "và đặt giá trị thoát. Nó là một trong số:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( BIỂU_THỨC ) BIỂU_THỨC là đúng (true)\n" #~ " ! BIỂU_THỨC BIỂU_THỨC là sai (false)\n" #~ " BIỂU_THỨC1 -a BIỂU_THỨC2 cả BIỂU_THỨC1 và BIỂU_THỨC2 đều là đúng " #~ "(true)\n" #~ " BIỂU_THỨC1 -o BIỂU_THỨC2 BIỂU_THỨC1 hoặc BIỂU_THỨC2 là đúng (true)\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n CHUỖI CHUỖI có chiều dài khác không\n" #~ " CHUỖI tương đương với « -n CHUỖI »\n" #~ " -z CHUỖI CHUỖI có chiều dài là không\n" #~ " CHUỖI1 = CHUỖI2 các chuỗi bằng nhau\n" #~ " CHUỖI1 != CHUỖI2 các chuỗi khác nhau\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " SỐ_NGUYÊN1 -eq SỐ_NGUYÊN2 SỐ_NGUYÊN1 bằng SỐ_NGUYÊN2\n" #~ " SỐ_NGUYÊN1 -ge SỐ_NGUYÊN2 SỐ_NGUYÊN1 lớn hơn hoặc bằng SỐ_NGUYÊN2\n" #~ " SỐ_NGUYÊN1 -gt SỐ_NGUYÊN2 SỐ_NGUYÊN1 lớn hơn SỐ_NGUYÊN2\n" #~ " SỐ_NGUYÊN1 -le SỐ_NGUYÊN2 SỐ_NGUYÊN1 nhỏ hơn hoặc bằng SỐ_NGUYÊN2\n" #~ " SỐ_NGUYÊN1 -lt SỐ_NGUYÊN2 SỐ_NGUYÊN1 nhỏ hơn SỐ_NGUYÊN2\n" #~ " SỐ_NGUYÊN1 -ne SỐ_NGUYÊN2 SỐ_NGUYÊN1 khác (không bằng) SỐ_NGUYÊN2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " TẬP_TIN1 -ef TẬP_TIN2 TẬP_TIN1 và TẬP_TIN2 có cùng số hiệu thiết bị " #~ "và inode\n" #~ " TẬP_TIN1 -nt TẬP_TIN2 TẬP_TIN1 mới hơn (theo ngày sửa) TẬP_TIN2\n" #~ " TẬP_TIN1 -ot TẬP_TIN2 TẬP_TIN1 cũ hơn TẬP_TIN2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b TẬP_TIN TẬP_TIN tồn tại và là cái đặc biệt kiểu khối\n" #~ " -c TẬP_TIN TẬP_TIN tồn tại và là cái đặc biệt kiểu ký tự\n" #~ " -d TẬP_TIN TẬP_TIN tồn tại và là thư mục\n" #~ " -e TẬP_TIN TẬP_TIN tồn tại\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f TẬP_TIN TẬP_TIN tồn tại và là một tập tin thông thường\n" #~ " -g TẬP_TIN TẬP_TIN tồn tại và có đặt ID nhóm (set-group-ID)\n" #~ " -G TẬP_TIN TẬP_TIN tồn tại và sở hữu bởi ID nhóm hoạt động\n" #~ " -h TẬP_TIN TẬP_TIN tồn tại và là một liên kết mềm (giống như « -L " #~ "»)\n" #~ " -k TẬP_TIN TẬP_TIN tồn tại và có đặc bit dính (sticky)\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L TẬP_TIN TẬP_TIN tồn tại và là một liên kết mềm (giống như « -h " #~ "»)\n" #~ " -O TẬP_TIN TẬP_TIN tồn tại và sở hữu bởi ID người dùng hoạt động\n" #~ " -p TẬP_TIN TẬP_TIN tồn tại và là một đường ống có tên\n" #~ " -r TẬP_TIN TẬP_TIN tồn tại và cho phép đọc\n" #~ " -s TẬP_TIN TẬP_TIN tồn tại và có kích cỡ lớn hơn không\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S TẬP_TIN TẬP_TIN tồn tại và là một ổ cắm\n" #~ " -t FD mô tả tập tin FD được mở trên một thiết bị cuối\n" #~ " -u TẬP_TIN TẬP_TIN tồn tại và có bit ID người dùng đã đặt (set-user-" #~ "ID)\n" #~ " -w TẬP_TIN TẬP_TIN tồn tại và cho phép ghi\n" #~ " -x TẬP_TIN TẬP_TIN tồn tại và cho phép thực hiện (hoặc tìm kiếm)\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Trừ đối với « -h » và « -L », mọi thử nghiệm có liên quan đến TẬP_TIN\n" #~ "sẽ bỏ tham chiếu của liên kết mềm.\n" #~ "Cần thoát các dấu ngoặc (ví dụ, bằng xuyệc ngược) đối trong trình bao.\n" #~ "SỐ_NGUYÊN có thể đồng thời là « -l CHUỖI » tính chiều dài của CHUỖI.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "GHI CHÚ : [ tùy theo hai tùy chọn « --help » (trợ giúp)\n" #~ "và « --version » (phiên bản), còn test (thử) không phải.\n" #~ "test xử lý mỗi tùy chọn này giống như CHUỖI khác rỗng.\n" #~ msgid "test and/or [" #~ msgstr "thử và/hoậc « [ »" #~ msgid "missing `]'" #~ msgstr "thiếu « ] »" #~ msgid "extra argument %s" #~ msgstr "tham số thêm %s" #~ msgid "creating %s" #~ msgstr "đang tạo %s" #~ msgid "cannot touch %s" #~ msgstr "không sờ (touch) được %s" #~ msgid "setting times of %s" #~ msgstr "đang đặt thời gian của %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Cập nhật các thời gian truy cập và sửa đổi của mỗi tập tin\n" #~ "lên thời gian hiện tại.\n" #~ "\n" #~ "Đối số TẬP_TIN không tồn tại thì được tạo rỗng.\n" #~ "\n" #~ "Chuỗi đối số TẬP_TIN « - » được xử lý đặc biệt và gây ra tiến trình\n" #~ "touch thay đổi các thời gian của tập tin gắn với đầu ra tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a chỉ thay đổi thời gian truy cập\n" #~ " -c, --no-create không tạo tập tin\n" #~ " -d, --date=CHUỖI phân tích CHUỖI và dùng nó thay cho thời gian " #~ "hiện thời\n" #~ " -f (bị lờ đi)\n" #~ " -m chỉ thay đổi thời gian sửa đổi\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=TẬP_TIN dùng thời gian của tập tin này thay cho thời " #~ "gian hiện thời\n" #~ " -t TEM dùng [[CC]YY]MMDDhhmm[.ss] thay cho thời gian " #~ "hiện thời\n" #~ " --time=TỪ thay đổi thời gian chỉ ra:\n" #~ " TỪ là access, atime, hoặc use: tương đương với " #~ "« -a »\n" #~ " TỪ là modify hoặc mtime: tương đương với « -m " #~ "»\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Ghi chú rằng hai tùy chọn « -d » và « -t » chấp nhận\n" #~ "định dạng ngày/giờ khác nhau.\n" #~ "\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "không chỉ ra được thời gian từ vài nguồn" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "cảnh báo : « touch %s » là cách cũ; hãy dùng « touch -t %04ld%02d%02d%02d%" #~ "02d.%02d »" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... TẬP_HỢP1 [TẬP_HỢP2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Chuyển đổi, vắt, và/hoặc xóa các ký tự từ đầu vào tiêu chuẩn,\n" #~ "ghi ra đầu ra tiêu chuẩn.\n" #~ "\n" #~ " -c, -C, --complement phần bù đầu tiên TẬP_HỢP1\n" #~ " -d, --delete xóa các ký tự trong TẬP_HỢP1, không chuyển đổi\n" #~ " -s, --squeeze-repeats thay thế mỗi dãy đưa vào của một ký tự lặp\n" #~ " liệt kê trong TẬP_HỢP1 bằng lần xuất hiện " #~ "đơn\n" #~ " của ký tự đó\n" #~ " -t, --truncate-set1 đầu tiên xén TẬP_HỢP1 thành chiều dài của " #~ "TẬP_HỢP2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "TẬP_HỢP là chuỗi các ký tự. Hầu hết tập hợp tự đại diện.\n" #~ "Các chuỗi được biên dịch là:\n" #~ "\n" #~ " \\NNN ký tự với giá trị bát phân NNN (1 tới 3 chữ số)\n" #~ " \\\\ xuyệc ngược\n" #~ " \\a tiếng chuông BEL nghe rõ\n" #~ " \\b xoá lùi\n" #~ " \\f thụt dòng\n" #~ " \\n dòng mới\n" #~ " \\r return\n" #~ " \\t tab ngang\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v tab đúng\n" #~ " KÝ_TỰ1-KÝ_TỰ2 mọi ký tự từ KÝ_TỰ1 đến KÝ_TỰ2 theo thứ tự tăng dần\n" #~ " [KÝ_TỰ*] trong TẬP_HỢP2, sao chép KÝ_TỰ tới chiều dài của " #~ "TẬP_HỢP1\n" #~ " [KÝ_TỰ*REPEAT] LẶP LẠI sao chép của KÝ_TỰ, LẶP LẠI bát phân nếu bằt " #~ "đầu từ 0\n" #~ " [:alnum:] mọi chữ cái và chữ số\n" #~ " [:alpha:] mọi chữ cái\n" #~ " [:blank:] mọi khoảng trắng nằm ngang\n" #~ " [:cntrl:] mọi ký tự điều khiển\n" #~ " [:digit:] mọi chữ số\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] mọi ký tự có thể in, trừ khoảng trắng\n" #~ " [:lower:] mọi chữ cái viết thường\n" #~ " [:print:] mọi ký tự có thể in, gồm cả khoảng trắng\n" #~ " [:punct:] mọi ký tự chấm câu\n" #~ " [:space:] mọi khoảng trắng nằm ngang hoặc đứng\n" #~ " [:upper:] mọi chữ cái viết hoa\n" #~ " [:xdigit:] mọi chữ số thập lục\n" #~ " [=KÝ_TỰ=] mọi ký tự tương đương với KÝ_TỰ\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Chuyển đổi nếu không đưa ra « -d » và có cả TẬP_HỢP1 và TẬP_HỢP2.\n" #~ "Chỉ dùng được « -t » khi chuyển đổi. Mở rộng TẬP_HỢP2 tới chiều dài\n" #~ "của TẬP_HỢP1 bằng cách lặp lại ký tự cuối cùng của nó nếu cần thiết. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Các ký tự thừa của TẬP_HỢP2 bị lờ đi. Chỉ [:lower:] và [:upper:]\n" #~ "được bảo đảm mở rộng theo thứ tự tăng dần; trong TẬP_HỢP2\n" #~ "khi chuyển đổi, chúng chỉ có thể dùng theo cặp trong trường hợp\n" #~ "chuyển kiểu chữ hoa thường. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "« -s » dùng TẬP_HỢP1 nếu không chuyển đổi hoặc xóa;\n" #~ "nếu không sự vắt dùng TẬP_HỢP2 và xảy ra sau sự chuyển đổi hoặc xóa.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "cảnh báo : dãy thoát bát phân mơ hồ « \\%c%c%c »\n" #~ "đang được biên dịch như dãy 2 byte \\0%c%c, `%c'" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "cảnh báo : không thể mang được dấu xuyệc ngược chưa thoát ở kết thúc chuỗi" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "" #~ "các điểm cuối phạm vi của « %s-%s » đang ở trong thứ tự dãy ngược lại" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "sai số đếm lặp %s trong cấu trúc « [c*n] »" #~ msgid "missing character class name `[::]'" #~ msgstr "thiếu tên lớp của ký tự `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "thiếu ký tự hạng tương đương « [==] »" #~ msgid "invalid character class %s" #~ msgstr "sai hạng ký tự %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: toán hạng hạng tương đương phải là một ký tự đơn" #~ msgid "too many characters in set" #~ msgstr "quá nhiều ký tự trong tập hợp" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "cấu trúc lặp « [c*] » không được có trong chuỗi1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "chỉ một cấu trúc lặp « [c*] » có thể nằm trong chuỗi2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "biểu thức « [=c=] » không được có trong chuỗi2 khi chuyển đổi" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "khi không cắt ngắn tập_hợp1, chuỗi2 phải không rỗng" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "khi chuyển đổi với các hạng ký tự bù,\n" #~ "chuỗi2 phải ánh xạ tới một mọi ký tự trong miền" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "khi chuyển đổi, hạng ký tự có trong chuỗi2 chỉ có thể là « upper » và « " #~ "lower »" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "cấu trúc « [c*] » chỉ có thể nằm trong chuỗi2 khi chuyển đổi" #~ msgid "Two strings must be given when translating." #~ msgstr "Phải đưa ra hai chuỗi khi chuyển đổi." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "Chỉ được đưa ra một chuỗi khi xóa mà không vắt việc lặp lại." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "sắp hàng sai cấu trúc « [:upper:] » và/hoặc « [:lower:] »" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s [các đối số dòng lệnh bị bỏ qua]\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Thoát với mã trạng thái ngụ ý thành công." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Sử dụng: %s [TÙY_CHỌN] [TẬP_TIN]\n" #~ "Ghi danh sách đã sắp xếp hoàn toàn mà thích hợp\n" #~ "với sự sắp xếp một phần trong TẬP_TIN.\n" #~ "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: dữ liệu vào chứa một số lẻ các hiệu bài" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: dữ liệu vào chứa một vòng lặp:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "In ra tên tập tin của thiết bị cuối đã kết nối với đầu vào tiêu chuẩn.\n" #~ "\n" #~ " -s, --silent, --quiet không in gì, chỉ trả lại trạng thái thoát\n" #~ msgid "not a tty" #~ msgstr "không phải một tty" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "In ra vài thông tin nào đó về hệ thống. Không có TÙY_CHỌN thì giống như " #~ "« -s ».\n" #~ "\n" #~ " -a, --all in ra mọi thông tin, theo thứ tự sau,\n" #~ " trừ bỏ đi « -p » và « -i » nếu không rõ :\n" #~ " -s, --kernel-name in ra tên nhân\n" #~ " -n, --nodename in ra tên máy của nút mạng\n" #~ " -r, --kernel-release in ra bản phát hành nhân\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version in ra phiên bản nhân\n" #~ " -m, --machine in ra tên phần cứng của máy tính\n" #~ " -p, --processor in ra kiểu của bộ xử lý, hoặc « không rõ »\n" #~ " -i, --hardware-platform in ra tên kiến trúc phần cứng, hoặc « không rõ " #~ "»\n" #~ " -o, --operating-system in ra tên hệ điều hành\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "In ra kiến trúc của máy.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "không lấy được tên hệ thống" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Chuyển thành tab khoảng trắng trong mỗi TẬP_TIN, ghi ra đầu ra tiêu " #~ "chuẩn.\n" #~ "Khi không có TẬP_TIN hoặc khi TẬP_TIN là « - », đọc đầu vào tiêu chuẩn.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all chuyển đổi mọi khoảng trắng,\n" #~ " thay vì chỉ những khoảng trắng đầu tiên\n" #~ " --first-only chỉ chuyển đổi những dãy khoảng trắng đầu tiên\n" #~ " (ghi chèn « -a »)\n" #~ " -t, --tabs=N tab có N ký tự thay vì 8 (bật dùng « -a »)\n" #~ " -t, --tabs=DANH_SÁCH dùng DANH_SÁCH các vị trí tab định giới bằng " #~ "dấu phẩy\n" #~ " (bật « -a »)\n" #~ msgid "tabs are too far apart" #~ msgstr "tab phân cách nhau quá xa" #~ msgid "tab stop value is too large" #~ msgstr "chiều dài tab là quá lớn" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [VÀO [RA]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Hủy tất cả trừ một của các dòng trùng liên tiếp khỏi dữ liệu VÀO\n" #~ "(hoặc từ đầu vào tiêu chuẩn), ghi RA (hoặc đầu ra tiêu chuẩn).\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count thêm vào trước các dòng số lần lặp lại của chúng\n" #~ " -d, --repeated chỉ in những dòng lặp lại\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=phương_pháp_định_giới]\n" #~ " in mọi dòng lặp lại\n" #~ " phương_pháp_định_giới là:\n" #~ " • none không có (mặc định)\n" #~ " • prepend thêm vào trước\n" #~ " • separate phân cách\n" #~ " Có định giới bằng dòng trắng.\n" #~ " -f, --skip-fields=N không so sánh N trường đầu tiên\n" #~ " -i, --ignore-case lờ đi sự khác nhau về kiểu chữ khi so sánh\n" #~ " -s, --skip-chars=N không so sánh N ký tự đầu tiên\n" #~ " -u, --unique chỉ in những dòng chỉ có một\n" #~ " -z, --zero-terminated\t\tkết thúc dòng với 0 byte,\n" #~ "\t\t\t\t\t\tkhông phải ký tự dòng mới\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N so sánh nhiều nhất N ký tự trên dòng\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Một trường là một chuỗi các khoảng trắng, rồi các ký tự không trắng.\n" #~ "Bỏ qua các trường trước khi các ký tự.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Ghi chú : « uniq » không phát hiện dòng lặp lại nếu chúng không kề nhau.\n" #~ "Trước tiên có lẽ bạn muốn sắp xếp kết xuất, hoặc dùng « sort -u » không " #~ "có « uniq ».\n" #~ msgid "too many repeated lines" #~ msgstr "quá nhiều dòng lặp lại" #~ msgid "invalid number of fields to skip" #~ msgstr "sai số trường cần bỏ qua" #~ msgid "invalid number of bytes to skip" #~ msgstr "sai số byte cần bỏ qua" #~ msgid "invalid number of bytes to compare" #~ msgstr "sai số byte cần so sánh" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "in ra mọi dòng trùng và số đếm lặp lại là không có ý nghĩa" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s TẬP_TIN\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Gọi hàm « unlink » để xóa TẬP_TIN chỉ ra.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "không thể hủy liên kết %s" #~ msgid "couldn't get boot time" #~ msgstr "không lấy được thời gian khởi động" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s chạy " #~ msgid "am" #~ msgstr "sáng" #~ msgid "pm" #~ msgstr "chiều" #~ msgid " ??:???? up " #~ msgstr " ??:???? chạy " #~ msgid "???? days ??:??, " #~ msgstr "???? ngày ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld ngày" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu người dùng" #~ msgid ", load average: %.2f" #~ msgstr ", tải trung bình: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [ TẬP_TIN ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "In thời gian hiện thời, thời gian hệ thống đã chạy liên tục,\n" #~ "số người dùng trên hệ thống, và số công việc trung bình\n" #~ "trong hàng chạy trong 1, 5 và 15 phút cuối cùng.\n" #~ "Nếu không chỉ ra TẬP_TIN, thì sử dụng %s.\n" #~ "%s là TẬP_TIN trong trường hợp chung.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Cho biết hiện thời ai đã đăng nhập theo TẬP_TIN.\n" #~ "Nếu không đưa ra TẬP_TIN, thì sử dụng %s.\n" #~ "%s là TẬP_TIN chung.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "In số đếm các dòng mới, từ, và byte của mỗi TẬP_TIN,\n" #~ "cũng in dòng tổng số riêng nếu chỉ ra vài TẬP_TIN.\n" #~ "Khi không có TẬP_TIN, hoặc khi TẬP_TIN là « - », đọc\n" #~ "đầu vào tiêu chuẩn.\n" #~ " -c, --bytes in số đếm byte\n" #~ " -m, --chars in số đếm ký tự\n" #~ " -l, --lines in số đếm dòng\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=F đọc dữ liệu vào từ những tập tin chỉ ra bởi\n" #~ " các tập tin chấm dứt rỗng (NUL) trong tập tin " #~ "F\n" #~ " -L, --max-line-length in chiều dài của dòng dài nhất\n" #~ " -w, --words in các số đếm từ\n" #~ msgid " old " #~ msgstr " cũ " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "thoát=" #~ msgid "clock change" #~ msgstr "thay đổi giờ" #~ msgid "run-level" #~ msgstr "bậc chạy" #~ msgid "last=" #~ msgstr "cuối=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# người dùng=%lu\n" #~ msgid "NAME" #~ msgstr "TÊN" #~ msgid "LINE" #~ msgstr "ĐƯỜNG" #~ msgid "TIME" #~ msgstr "GIỜ" #~ msgid "IDLE" #~ msgstr "NGHỈ" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "CHÚ_THÍCH" #~ msgid "EXIT" #~ msgstr "THOÁT" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Sử dụng: %s [TÙY_CHỌN]... [ TẬP_TIN | ĐỐI_SỐ1 ĐỐI_SỐ2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all giống như « -b -d --login -p -r -t -T -u »\n" #~ " -b, --boot thời gian của lần khởi động cuối\n" #~ " -d, --dead in ra các tiến trình chết\n" #~ " -H, --heading in dòng chứa các tiêu đề của cột\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login in ra các tiến trình đăng nhập của hệ thống\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup cố làm hợp tiêu chuẩn tên máy qua DNS\n" #~ " -m chỉ tên máy và người dùng kết hợp với đầu vào tiêu " #~ "chuẩn\n" #~ " -p, --process in các tiến trình hoạt động sinh ra bởi init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count mọi tên đăng nhập và số người dùng đã đăng nhập\n" #~ " -r, --runlevel in bậc chạy (runlevel) hiện thời\n" #~ " -s, --short chỉ in tên, dòng và thời gian (mặc định)\n" #~ " -t, --time in sự thay đổi đồng hồ hệ thống cuối cùng\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg thêm trạng thái thư của người dùng như « + », « - » " #~ "hoặc « ? »\n" #~ " -u, --users liệt kê những người dùng đã đăng nhập\n" #~ " --message giống như « -T »\n" #~ " --writable giống như « -T »\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Nếu không chỉ ra TẬP_TIN, sử dụng %s.\n" #~ "%s là TẬP_TIN chung.\n" #~ "Nếu đưa ra ĐỐI_SỐ1 ĐỐI_SỐ2, giả sử « -m »: thường là « am i » hoặc « mom " #~ "likes ».\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "In ra tên người dùng tương ứng với ID người dùng hiện thời hoạt động.\n" #~ "Giống như « id -un ».\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: không tìm thấy tên cho ID người dùng %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Sử dụng: %s [CHUỖI]...\n" #~ " hoặc: %s TÙY_CHỌN\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "In lặp lại một dòng với tất cả CHUỖI chỉ ra, hoặc « y ».\n" #~ "\n" dc3dd-7.1.614/po/ru.gmo0000644000175000017500000001427311233346647014227 0ustar amedicoamedico%0X5T\`iz$$ $.*S&~9#$ !E,g"  &(Ee'u% . 9 N ] m t  ] ( ^ ZAOrS_\McMTG`NG m 6Q/7G7/173QG)*!J)l3"   %  ! $#FdxNv, BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid number %soffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.9 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2007-03-27 08:06+0400 Last-Translator: Oleg S. Tihonov Language-Team: Russian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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; После ЧИСЛА блоков и байт может стоять один из умножающий суффиксов: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 и так далее для T, P, E, Z, Y. Каждый элемент СПИСКА для conv может быть: Символ ФЛАГ может быть таким: append режим добавления (имеет смысл для вывода; рекомендуется conv=notrunc) binary использовать бинарный ввод/вывод для данных direct использовать прямой ввод/вывод для данных directory выдавать ошибку, если это не каталог dsync использовать синхронизированный ввод/вывод для данных noatime не обновлять время последнего доступа noctty не назначать управляющий терминал из файла noerror продолжать после ошибок чтения sync дополнять каждый входной блок нулями до размера ibs; если используется вместе с block или unblock, дополнять пробелами fdatasync физически записать выходной файл перед завершением fsync аналогично, но записать также метаданные nofollow не следовать по символьным ссылкам nolinks выдавать ошибку, если найдено несколько ссылок nonblock использовать неблокирующий ввод/вывод sync то же, но так же и для метаданных text использовать текстовый ввод/вывод для данных %s: невозможно сместить указатель файла, %g c, %s/c БесконечностьПопробуйте `%s --help' для получения более подробного описания. Неизвестная системная ошибкаИспользование: %s [ОПЕРАНД]... или: %s КЛЮЧ нельзя совмещать excl и nocreatневозможно выполнить fstat для %sневозможно обойти ошибку ядразакрытие входного файла %sзакрытие выходного файла %sоперация fdatasync для %s неуспешнаоперация fsync для %s неуспешнаневерный номер %sпереполнение сдвига при чтении файла %sоткрытие %sустановка флагов для %sстандартный вводстандартный выводоперанд %s не распознанвнимание: обходим ошибку lseek в ядре для файла (%s) mt_type=0x%0lx -- см. для списка типовзапись в %sPRIuMAXtruncating at % bytes in output file %sотсечение на % байт в выходном файле %sdc3dd-7.1.614/po/ca.gmo0000644000175000017500000001273711233346647014167 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  5 < 3 2-I8w1?"4;'9<a2  5 ?6\+3"!1Sr'&%8; t!r !)( " %  $#' & BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-05-03 21:10+0200 Last-Translator: Ivan Vilata i Balaguer Language-Team: Catalan MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); BLOCS i OCTETS poden estar seguits dels sufixos multiplicatius següents (prefix valor): xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, i així per a T, P, E, Z, Y. Cada símbol de CONVERSIONS pot ser: Cada símbol SENYALADOR pot ser: append Mode de només addició (només té sentit per a l’eixida, es suggereix emprar «conv=notrunc»). binary Empra E/S binària per a les dades. direct Empra E/S directa per a les dades. directory Falla si no és un directori. dsync Empra E/S sincronitzada per a les dades. noatime No actualitza la data d’accés. noctty No assigna el fitxer com a terminal de control. noerror Continua després d’un error de lectura. sync Emplena cada bloc d’entrada amb NUL fins a la mida «ibs»; quan s’empra amb «block» o «unblock», emplena els blocs amb espais en lloc de NUL. fdatasync Escriu físicament les dades del fitxer d’eixida abans de finalitzar. fsync El mateix, però també n’escriu les metadades. nofollow No segueix els enllaços simbòlics. nolinks Falla si el fitxer té més d’un enllaç. nonblock Empra E/S no blocadora. sync El mateix, però també per a les metadades. text Empra E/S textual per a les dades. %s: no s’ha pogut desplaçar, %g s, %s/s Infinits BProveu «%s --help» per a obtenir més informació. Error desconegut del sistemaForma d’ús: %s [OPERAND]… o bé: %s OPCIÓ no es poden combinar «excl» i «nocreat»ha fallat fstat() sobre %sal final no s’ha pogut evitar l’error del nuclien tancar el fitxer d’entrada %sen tancar el fitxer d’eixida %sha fallat fdatasync() sobre %sha fallat fsync() sobre %sla conversió no és vàlidael senyalador d’entrada no és vàlidel número %s no és vàlidel senyalador d’eixida no és vàlidel senyalador d’estat no és vàlids’ha desbordat el desplaçament en llegir el fitxer %sen obrir %sen establir els senyaladors de %sentrada estàndardeixida estàndardl’operand %s no és reconegutavís: s’evita un error del nucli en lseek() per al fitxer «%s» de tipus mt_type=0x%0lx —vegeu per a la llista de tipusen escriure %sPRIuMAXtruncating at % bytes in output file %sen truncar a % octets al fitxer d’eixida %sdc3dd-7.1.614/po/pt.po0000644000175000017500000117323211233346647014062 0ustar amedicoamedico# Portuguese translation of the "coreutils" messages # Copyright (C) 1996 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # António João Serras Rendas , 1996 # Helder Correia , 2007-2008 # msgid "" msgstr "" "Project-Id-Version: coreutils 6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-04-23 00:02+0100\n" "Last-Translator: Helder Correia \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "impossível criar o processo para %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Tente '%s --help' para mais informações.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Utilização: %s [OPERANDO]...\n" " ou: %s OPÇÃO\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Copiar um ficheiro, convertendo e formatando de acordo com os operandos.\n" "\n" " bs=BYTES forçar ibs=BYTES e obs=BYTES\n" " cbs=BYTES converter BYTES bytes de cada vez\n" " conv=CONVS converter o ficheiro como lista separada por vírgulas\n" " count=BLOCOS copiar apenas BLOCOS blocos de entrada\n" " ibs=BYTES ler BYTES bytes de cada vez\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=FICHEIRO ler a partir de FICHEIRO em vez de stdin\n" " iflag=OPÇÕES ler como lista de símbolos separados por vírgulas\n" " obs=BYTES escrever BYTES bytes de cada vez\n" " of=FILE escrever para FICHEIRO em vez de stdout\n" " oflag=OPÇÕES escrever como lista de símbolos separados por vírgulas\n" " seek=BLOCOS saltar BLOCOS blocos de tamanho obs no início da saída\n" " skip=BLOCOS saltar BLOCOS blocos de tamanho ibs no início da entrada\n" " status=noxfer suprimir estatísticas de transferência\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCOS e BYTES podem ser seguidos pelos seguintes sufixos multiplicativos:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 e por aí fora para T, P, E, Z, Y.\n" "\n" "Cadda símbolo CONV pode ser:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat não criar o ficheiro de saída\n" " excl falhar se o ficheiro de saída já existir\n" " notrunc não truncar o ficheiro de saída\n" " ucase alterar minúsculas para maiúsculas\n" " swab trocar cada par de bytes de entrada\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror continuar após erros de leitura\n" " sync encher cada bloco de entrada com ibs NULs; quando usado\n" " com block ou unblock, encher com espaços em vez de NULs\n" " fdatasync escrever fisicamente dados no ficheiro de saída antes de " "terminar\n" " fsync da mesma forma, mas escrever igualmente os meta-dados\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Cada símbolo OPÇÃO pode ser:\n" "\n" " append modo acrescentar (sentido só para saída; conv=notrunc sugerido)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct usar E/S directas para dados\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " erro de pasta a menos que seja uma pasta\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync usar E/S sincronizadas para dados\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync da mesma forma, mas também para meta-dados\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock usar E/S não-bloquantes\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime não actualizar o tempo de acesso\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty não atribuir terminal de controlo do ficheiro\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow não seguir ligações simbólicas\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks falhar se multiplamente ligado\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary usar E/S binárias para dados\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text usar E/S de texto para dados\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Enviar um sinal %s a um processo 'dd' em execução faz com que\n" "exiba estatísticas E/S no erro padrão e depois resuma a cópia.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 registos dentro\n" " 18335302+0 registos fora\n" " 9387674624 bytes (9.4 GB) copiado, 34.6279 segundos, 271 MB/s\n" "\n" "Opções são:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Erro de sistema desconhecido" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% registos dentro\n" "%+% registos fora\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% byte (%s) copiado" msgstr[1] "% bytes (%s) copiados" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Infinitivo B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "a fechar o ficheiro de entrada %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "a apagar o ficheiro de saída %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Sufixos de ficheiro de saída esgotados" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "a abrir %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "ERRO" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "operando desconhecido %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "data inválida %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "formato de data inválido %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "formato de data inválido %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "formato de data inválido %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "conversão inválida" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "opção de entrada inválida" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "opção de saída inválida" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "opção de estado inválida" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "número inválido %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "impossível combinar excl e nocreat" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "impossível combinar as opções -e e -i" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "impossível combinar as opções -e e -i" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "impossível combinar as opções -e e -i" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "impossível combinar as opções -e e -i" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "impossível combinar as opções -e e -i" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "aviso: a contornar erro de lseek do kernel para o ficheiro (%s)\n" " de mt_type=0x%0lx -- ver para a lista de tipos" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "a ler %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: impossível indexar" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "erro de excesso de índice ao ler o ficheiro %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "aviso: índice de ficheiro inválido após erro de leitura" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "impossível contornar erro do kernel" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "a definir opções para %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "a ler a pasta %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "a ler a pasta %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "a escrever em %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "erro de fdatasync para %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "erro de fsync para %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "canal de entrada por omissão (stdin)" #: src/dc3dd.c:3938 msgid "standard output" msgstr "canal de saída padrão (stdout)" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "índice muito alto: erro ao truncar para seek=% blocos (de %lu bytes)" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "impossível obter o estado de %s" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "a truncar aos % bytes no ficheiro de saída %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii de EBCDIC para ASCII\n" #~ " ebcdic de ASCII para EBCDIC\n" #~ " ibm de ASCII para EBCDIC alternativo\n" #~ " block encher campos terminados por nova linha com espaço de tamanho " #~ "cbs\n" #~ " unblock substituir espaços finais em campos de tamanho cbs com nova " #~ "linha\n" #~ " lcase alterar maiúsculas para minúsculas\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% registo truncado\n" #~ msgstr[1] "% registos truncados\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "impossível combinar quaisquer dois de {ascii,ebcdic,ibm}" #~ msgid "cannot combine block and unblock" #~ msgstr "impossível combinar bloquear e desbloquear" #~ msgid "cannot combine lcase and ucase" #~ msgstr "impossível combinar letras minúsculas e maiúsculas" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "aviso: índice de ficheiro inválido após erro de leitura" #~ msgid "error writing %s" #~ msgstr "erro ao escrever %s" #~ msgid "invalid argument %s for %s" #~ msgstr "argumento %s inválido para %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "argumento %s ambíguo para %s" #~ msgid "Valid arguments are:" #~ msgstr "Argumentos válidos:" #~ msgid "error closing file" #~ msgstr "erro ao fechar o ficheiro" #~ msgid "write error" #~ msgstr "erro de escrita" #~ msgid "preserving permissions for %s" #~ msgstr "a preservar as permissões de %s" #~ msgid "cannot stat %s" #~ msgstr "impossível analisar %s" #~ msgid "regular empty file" #~ msgstr "ficheiro regular vazio" #~ msgid "regular file" #~ msgstr "ficheiro regular" #~ msgid "directory" #~ msgstr "pasta" #~ msgid "block special file" #~ msgstr "ficheiro especial de blocos" #~ msgid "character special file" #~ msgstr "ficheiro especial de caracteres" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "ligação simbólica" #~ msgid "socket" #~ msgstr "socket" #~ msgid "message queue" #~ msgstr "fila de mensagens" #~ msgid "semaphore" #~ msgstr "semáforo" #~ msgid "shared memory object" #~ msgstr "objecto de memória partilhada" #~ msgid "typed memory object" #~ msgstr "objecto de memória tipada" #~ msgid "weird file" #~ msgstr "ficheiro estranho" #~ msgid "Address family for hostname not supported" #~ msgstr "Família de endereços da máquina não suportada" #~ msgid "Temporary failure in name resolution" #~ msgstr "Falha temporária na resolução de nome" #~ msgid "Bad value for ai_flags" #~ msgstr "Valor mau para ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Falha irrecuperável na resolução de nome" #~ msgid "ai_family not supported" #~ msgstr "ai_family não suportada" #~ msgid "Memory allocation failure" #~ msgstr "Falha de alocação de memória" #~ msgid "No address associated with hostname" #~ msgstr "Nenhum endereço associado ao nome de máquina" #~ msgid "Name or service not known" #~ msgstr "Nome ou serviço desconhecido" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Servname não suportado para ai_socktype" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype não suportado" #~ msgid "System error" #~ msgstr "Erro de sistema" #~ msgid "Argument buffer too small" #~ msgstr "Memória tampão de argumentos demasiado pequena" #~ msgid "Processing request in progress" #~ msgstr "Processamento de pedido a decorrer" #~ msgid "Request canceled" #~ msgstr "Pedido cancelado" #~ msgid "Request not canceled" #~ msgstr "Pedido não cancelado" #~ msgid "All requests done" #~ msgstr "Todos os pedidos terminados" #~ msgid "Interrupted by a signal" #~ msgstr "Interrompido por um sinal" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Expressão de parâmetros codificada incorrectamente" #~ msgid "Unknown error" #~ msgstr "Erro desconhecido" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: a opção '%s' é ambígua\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: a opção '--%s' não permite um argumento\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: a opção '%c%s' não permite um argumento\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: a opção '%s' requere um argumento\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: opção '--%s' desconhecida\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: opção '%c%s' desconhecida\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opção ilegal -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: opção inválida -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: a opção requere um argumento -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: a opção '-W %s' é ambígua\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: a opção '-W %s' não permite um argumento\n" #~ msgid "cannot change permissions of %s" #~ msgstr "impossível alterar as permissões de %s" #~ msgid "cannot create directory %s" #~ msgstr "impossível criar a pasta %s" #~ msgid "memory exhausted" #~ msgstr "memória esgotada" #~ msgid "unable to record current working directory" #~ msgstr "impossível gravar a pasta de trabalho actual" #~ msgid "failed to return to initial working directory" #~ msgstr "erro ao regressar à pasta de trabalho inicial" #~ msgid "`" #~ msgstr "«" #~ msgid "'" #~ msgstr "»" #~ msgid "%s: end of file" #~ msgstr "%s: fim de ficheiro" #~ msgid "Success" #~ msgstr "Sucesso" #~ msgid "No match" #~ msgstr "Sem correspondência" #~ msgid "Invalid regular expression" #~ msgstr "Expressão regular inválida" #~ msgid "Invalid collation character" #~ msgstr "Carácter de ordem inválido" #~ msgid "Invalid character class name" #~ msgstr "Nome de classe de carácter inválido" #~ msgid "Trailing backslash" #~ msgstr "Barra invertida no final" #~ msgid "Invalid back reference" #~ msgstr "Referência anterior inválida" #~ msgid "Unmatched [ or [^" #~ msgstr "[ ou [^ não correspondido" #~ msgid "Unmatched ( or \\(" #~ msgstr "( ou \\( não correspondido" #~ msgid "Unmatched \\{" #~ msgstr "\\{ não correspondido" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Conteúdo de \\{\\} inválido" #~ msgid "Invalid range end" #~ msgstr "Limite final de intervalo inválido" #~ msgid "Memory exhausted" #~ msgstr "Memória esgotada" #~ msgid "Invalid preceding regular expression" #~ msgstr "Expressão regular precedente inválida" #~ msgid "Premature end of regular expression" #~ msgstr "Fim prematuro de expressão regular" #~ msgid "Regular expression too big" #~ msgstr "Expressão regular demasiado grande" #~ msgid "Unmatched ) or \\)" #~ msgstr ") ou \\) não correspondido" #~ msgid "No previous regular expression" #~ msgstr "Nenhuma expressão regular anterior" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "é perigoso operar recursivamente sobre %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "é perigoso operar recursivamente sobre %s (mesmo que %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "use --no-preserve-root para contornar esta segurança contra falhas" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "a definir as permissões de %s" #~ msgid "iconv function not usable" #~ msgstr "função iconv inutilizável" #~ msgid "iconv function not available" #~ msgstr "função iconv indisponível" #~ msgid "character out of range" #~ msgstr "carácter fora de limite" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "impossível converter U+%04X para conjunto de caracteres local" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "impossível converter U+%04X para conjunto de caracteres local: %s" #~ msgid "invalid user" #~ msgstr "utilizador inválido" #~ msgid "invalid group" #~ msgstr "grupo inválido" #~ msgid "invalid spec" #~ msgstr "especificação inválida" #~ msgid "(C)" #~ msgstr "(C)" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Licença GPLv3+: GNU GPL versão 3 ou posterior \n" #~ "Isto é software livre: pode alterá-lo e redistribuí-lo.\n" #~ "NÃO HÁ GARANTIA, até onde a lei o permite.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Escrito por %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Escrito por %s e %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Escrito por %s, %s e %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s\n" #~ "e %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s e %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, %s e %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, %s, %s e %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "e %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s e %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Escrito por %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s e outros.\n" #~ msgid "invalid argument: %s" #~ msgstr "argumento inválido: %s" #~ msgid "string comparison failed" #~ msgstr "erro na comparação de expressões" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Defina LC_ALL='C' para contornar o problema." #~ msgid "The strings compared were %s and %s." #~ msgstr "As expressões comparadas foram %s e %s." #~ msgid "string transformation failed" #~ msgstr "erro na transformação de expressões" #~ msgid "The untransformed string was %s." #~ msgstr "a expressão não transformada era %s." #~ msgid "cannot perform formatted output" #~ msgstr "impossível formatar o resultado de saída" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "argumento %s%s inválido '%s'" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "sufixo inválido no argumento %s%s '%s'" #~ msgid "%s%s argument `%s' too large" #~ msgstr "argumento %s%s '%s' demasiado grande" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO] [FICHEIRO]\n" #~ "Codificar ou descodificar em base64 o FICHEIRO, ou a entrada padrão, para " #~ "a saída padrão.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=COLS Partir linhas codificadas após COLS caracteres " #~ "(76).\n" #~ " Usar 0 para desactivar partição de linhas.\n" #~ "\n" #~ " -d, --decode Descodificar os dados.\n" #~ " -i, --ignore-garbage Ao descodificar, ignorar caracteres não " #~ "alfabéticos.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Mostrar esta ajuda e sair.\n" #~ " --version Exibir a informação de versão e sair.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler entrada padrão.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Os dados são codificados como descrito para o alfabeto base64 em RFC " #~ "3548.\n" #~ "Ao descodificar, a entrada pode conter novas linhas adicionalmente aos " #~ "bytes\n" #~ "do alfabeto base64 formal. Use --ignore-garbage para tentar recuperar\n" #~ "de quaisquer outros caracteres não alfabéticos nos dados codificados.\n" #~ msgid "read error" #~ msgstr "erro de leitura" #~ msgid "invalid input" #~ msgstr "dados de entrada inválidos" #~ msgid "invalid wrap size: %s" #~ msgstr "comprimento de partição inválido: %s" #~ msgid "extra operand %s" #~ msgstr "operando extra %s" #~ msgid "closing standard input" #~ msgstr "a fechar a entrada padrão" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s NOME [SUFIXO]\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Mostrar NOME com todas as pastas removidas.\n" #~ "Se especificado, remover também um SUFIXO.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Exemplos:\n" #~ " %s /usr/bin/sort Mostrar \"sort\".\n" #~ " %s include/stdio.h .h Mostrar \"stdio\".\n" #~ msgid "missing operand" #~ msgstr "operando em falta" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Utilização: %s [OPÇÃO] [FICHEIRO]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Concatenar FICHEIRO(s), ou entrada padrão, para a saída padrão.\n" #~ "\n" #~ " -A, --show-all equivalente a -vET\n" #~ " -b, --number-nonblank numerar linhas de saída não vazia\n" #~ " -e equivalente a -vE\n" #~ " -E, --show-ends mostrar $ no fim de cada linha\n" #~ " -n, --number numerar todas as linhas de saída\n" #~ " -s, --squeeze-blank eliminar linhas vazias de saída repetidas\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t equivalente a -vT\n" #~ " -T, --show-tabs mostrar caracteres TAB como ^I\n" #~ " -u (ignorado)\n" #~ " -v, --show-nonprinting usar a notação ^ e M-, excepto para LFD e TAB\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Exemplos:\n" #~ " %s f - g Despejar conteúdo de f, depois a entrada padrão, depois " #~ "conteúdo de g.\n" #~ " %s Copiar a entrada padrão para a saída padrão.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "erro ao executar ioctl em %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: o ficheiro de entrada é o ficheiro de saída" #~ msgid "failed to create security context: %s" #~ msgstr "erro ao criar contexto de segurança: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "erro ao definir o contexto de segurança de %s para %s" #~ msgid "failed to get security context of %s" #~ msgstr "erro ao obter contexto de segurança de %s" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "impossível aplicar contexto parcial ao ficheiro não etiquetado %s" #~ msgid "failed to change context of %s to %s" #~ msgstr "erro ao alterar contexto de %s para %s" #~ msgid "cannot access %s" #~ msgstr "impossível aceder a %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "impossível ler a pasta %s" #~ msgid "changing security context of %s" #~ msgstr "a alterar contexto de segurança de %s" #~ msgid "fts_read failed" #~ msgstr "fts_read falhou" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... CONTEXTO FICHEIRO...\n" #~ " ou: %s [OPÇÃO]... [-u UTILIZADOR] [-r PAPEL] [-l INTERVALO] [-t " #~ "TIPO] FICHEIRO...\n" #~ " ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO...\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Mudar o contexto de segurança de cada FICHEIRO para CONTEXTO.\n" #~ "Com --reference, mudar cont. de segurança de cada FICHEIRO para o de " #~ "FICHREF.\n" #~ "\n" #~ " -c, --changes como verboso mas comunicar apenas quando há " #~ "mudança\n" #~ " -h, --no-dereference afectar lig. simbólicas e não fich. " #~ "referenciados\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=FICHREF usar contexto de segurança de FICHREF em vez " #~ "de\n" #~ " especificar um valor de CONTEXTO\n" #~ " -R, --recursive operar em ficheiros e pastas recursivamente\n" #~ " -v, --verbose despejar um diagnóstico para cada ficheiro " #~ "processado\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=UTILIZADOR definir UTILIZADOR no contexto de segurança " #~ "alvo\n" #~ " -r, --role=PAPEL definir PAPEL no contexto de segurança alvo\n" #~ " -t, --type=TIPO definir TIPO no contexto de segurança alvo\n" #~ " -l, --range=ALCANCE definir ALCANCE no contexto de segurança alvo\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "As opções seguintes modificam a forma como uma hierarquia é percorrida " #~ "quando a\n" #~ "opção -R também é especificada. Se mais d oque uma for especificada, " #~ "apenas a\n" #~ "final toma efeito.\n" #~ "\n" #~ " -H se um argumento é uma ligação simbólica\n" #~ " para uma pasta, percorrê-la\n" #~ " -L percorrer todas as ligações simbólicas para " #~ "pastas\n" #~ " encontradas\n" #~ " -P não percorrer ligações simbólicas (predefinido)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference requere -H ou -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h requere -P" #~ msgid "missing operand after %s" #~ msgstr "operando em falta após %s" #~ msgid "invalid context: %s" #~ msgstr "contexto inválido: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "especificadores de contexto de segurança em conflito" #~ msgid "failed to get attributes of %s" #~ msgstr "erro ao obter os atributos de %s" #~ msgid "invalid group: %s" #~ msgstr "grupo inválido: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... GRUPO FICHEIRO...\n" #~ " ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Mudar o grupo de cada FICHEIRO para GRUPO.\n" #~ "Com --reference, mudar o grupo de cada FICHEIRO para o mesmo de FICHREF.\n" #~ "\n" #~ " -c, --changes como verboso mas comunicar apenas quando há " #~ "mudança\n" #~ " --dereference afectar a referência de cada ligação simbólica " #~ "(por\n" #~ " omissão) em vez da própria ligação simbólica\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference afectar cada ligação simbólica em vez de " #~ "qualquer\n" #~ " ficheiro referido (apenas útil em sistemas que " #~ "podem\n" #~ " alterar o dono de uma ligação simbólica)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root não tratar '/' de forma especial " #~ "(predefinição)\n" #~ " --preserve-root falhar ao operar recursivamente em '/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet eliminar a maioria das mensages de erro\n" #~ " --reference=FICHREF usar o grupo de FICHREF em vez de especificar\n" #~ " um valor de GRUPO\n" #~ " -R, --recursive operar em ficheiros e pastas recursivamente\n" #~ " -v, --verbose despejar um diagnóstico para cada ficheiro " #~ "processado\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Exemplos:\n" #~ " %s staff /u Mudar o grupo de /u para \"staff\".\n" #~ " %s -hR staff /u Mudar o grupo de /u e sub-ficheiros para \"staff\".\n" #~ msgid "getting new attributes of %s" #~ msgstr "a obter os novos atributos de %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "ligação simbólica %s e referência inalteradas\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "modo de %s alterado para %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "erro ao alterar o modo de %s para %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "modo de %s mantido como %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "impossível operar sobre ligação simbólica %s" #~ msgid "changing permissions of %s" #~ msgstr "a alterar as permissões de %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: as novas permissões são %s, não %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... MODO[,MODO]... FICHEIRO...\n" #~ " ou: %s [OPÇÃO]... MODO-OCTAL FICHEIRO...\n" #~ " ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Alterar o modo de cada FICHEIRO para MODO.\n" #~ "\n" #~ " -c, --changes como verboso mas comunicar apenas quando há " #~ "alteração\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root não tratar '/' de forma especial (predefinido)\n" #~ " --preserve-root não operar recursivamente em '/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet desligar a maior parte das mensagens de erro\n" #~ " -v, --verbose mostrar um diagnóstico por cada ficheiro " #~ "processado\n" #~ " --reference=FICHREF usar o modo de FICHREF em vez dos valores de " #~ "MODO\n" #~ " -R, --recursive mudar ficheiros e pastas recursivamente\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Cada MODO tem a forma '[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "impossível combinar opções de modo e --reference" #~ msgid "invalid mode: %s" #~ msgstr "modo inválido: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "dono de %s alterado para %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "grupo de %s alterado para %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "dono de %s inalterado\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "erro ao alterar o dono de %s para %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "erro ao alterar o grupo de %s para %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "erro ao alterar o dono de %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "dono de %s mantido como %s \n" #~ msgid "group of %s retained as %s\n" #~ msgstr "grupo de %s mantido como %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "dono de %s inalterado\n" #~ msgid "cannot dereference %s" #~ msgstr "impossível desreferenciar %s" #~ msgid "changing ownership of %s" #~ msgstr "a alterar o dono de %s" #~ msgid "changing group of %s" #~ msgstr "a alterar o grupo de %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... [DONO][:[GRUPO]] FICHEIRO...\n" #~ " ou: %s [OPÇÃO]... --reference=FICHREF FICHEIRO...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Alterar o dono e/ou grupo de cada FICHEIRO PARA DONO e/ou GRUPO.\n" #~ "Com --reference, alterar o dono e grupo de cada FICHEIRO para os de " #~ "FICHREF.\n" #~ "\n" #~ " -c, --changes como verboso mas comunicar apenas quando há " #~ "alterações\n" #~ " --dereference afectar a referência de cada ligação simbólica\n" #~ " (predefinido), em vez da própria ligação " #~ "simbólica\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=DONO_ACTUAL:GRUPO_ACTUAL\n" #~ " alterar o dono e/ou grupo de cada ficheiro " #~ "apenas se\n" #~ " o seu dono e/ou grupo actuais correspondem aos\n" #~ " especificados aqui. Qualquer um pode ser " #~ "omitido,\n" #~ " uma correspondência não será requerida.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet suprimir a maior parte das mensagens de erro\n" #~ " --reference=FICHREF usar o dono e o grupo de FICHREF em vez de\n" #~ " especificar valores DONO:GRUPO\n" #~ " -R, --recursive operar em ficheiros e pastas recursivamente\n" #~ " -v, --verbose despejar um diagnóstico para cada ficheiro " #~ "processado\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "O dono não é alterado se omitido. O grupo não é alterado se omitido, mas\n" #~ "alterado para o grupo de utilizador se implicado por um ':' após um um " #~ "DONO\n" #~ "simbólico. DONO e GRUPO podem ser numéricos e simbólicos.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Exemplos:\n" #~ " %s root /u Mudar o dono de /u para \"root\".\n" #~ " %s root:staff /u Semelhante, mas mudar também o grupo para \"staff\".\n" #~ " %s -hR root /u Mudar o dono de /u e sub-ficheiros para \"root\".\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s NOVARAIZ [COMANDO...]\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Executar COMANDO como pasta raiz definida como NOVARAIZ.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Se nenhum comando for dado, executar ``${SHELL} -i'' (predefinido: /bin/" #~ "sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "impossível alterar a pasta raiz para %s" #~ msgid "cannot chdir to root directory" #~ msgstr "impossível mudar para a pasta raiz" #~ msgid "cannot run command %s" #~ msgstr "impossível executar o comando %s" #~ msgid "%s: file too long" #~ msgstr "%s: ficheiro demasiado grande" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Utilização: %s [FICHEIRO]...\n" #~ " ou: %s [OPÇÃO]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Exibir o CRC e contagem de bytes de cada FICHEIRO.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Utilização: %s [OPÇÃO]... FICHEIRO1 FICHEIRO2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "" #~ "Comparar os ficheiros ordenados FICHEIRO1 e FICHEIRO2 linha a linha.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Sem opções, produzir resultado em 3 colunas. A primeira coluna contém\n" #~ "linhas exclusivas do FICHEIRO1, a segunda linhas exclusivas do FICHEIRO2\n" #~ "e a terceira linhas comuns a ambos os ficheiros.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 suprimir linhas exclusivas ao FICHEIRO1\n" #~ " -2 suprimir linhas exclusivas ao FICHEIRO2\n" #~ " -3 suprimir linhas comuns aos dois ficheiros\n" #~ msgid "clearing permissions for %s" #~ msgstr "a limpar as permissões de %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "erro ao preservar o dono de %s" #~ msgid "failed to lookup file %s" #~ msgstr "ficheiro %s não encontrado" #~ msgid "failed to preserve authorship for %s" #~ msgstr "erro ao preservar o criador de %s" #~ msgid "cannot open %s for reading" #~ msgstr "impossível abrir %s para leitura" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "a saltar o ficheiro %s, uma vez que foi substituído ao ser copiado" #~ msgid "failed to get file system create context" #~ msgstr "erro ao obter o contexto de criação do sistema de ficheiros" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "erro ao alterar o contexto de segurança de %s para %s" #~ msgid "cannot remove %s" #~ msgstr "impossível remover %s" #~ msgid "removed %s\n" #~ msgstr "%s removido\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "a não escrever através da ligação simbólica %s" #~ msgid "cannot create regular file %s" #~ msgstr "impossível criar o ficheiro regular %s" #~ msgid "cannot lseek %s" #~ msgstr "impossível alterar o posicionamento dentro do ficheiro %s" #~ msgid "writing %s" #~ msgstr "a escrever %s" #~ msgid "preserving times for %s" #~ msgstr "a preservar os dados de tempo de %s" #~ msgid "closing %s" #~ msgstr "a fechar %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: tentar sobrescrever %s, cancelando o modo %04lo (%s)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: sobrescrever %s? " #~ msgid " (backup: %s)" #~ msgstr " (salvaguarda: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "erro ao restaurar o context de criação de ficheiros predefinido" #~ msgid "omitting directory %s" #~ msgstr "a omitir a pasta %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "aviso: ficheiro de origem %s especificado mais de uma vez" #~ msgid "%s and %s are the same file" #~ msgstr "%s e %s são o mesmo ficheiro" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "impossível sobrescrever a não-pasta %s com a pasta %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "recém-criado %s não será sobrescrito com %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "impossível sobrescrever a pasta %s com não-pasta" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "impossível mover a pasta para a não pasta: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "salvaguardar %s destruiria a origem; %s não movido" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "salvaguardar %s destruiria a origem; %s não copiado" #~ msgid "cannot backup %s" #~ msgstr "impossível salvaguardar %s" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "%s não será copiado através da ligação simbólica recém-criada %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "impossível copiar uma pasta, %s, para si própria, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "a ligação persistente %s não será copiada para a pasta %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "impossível criar a ligação persistente %s para %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "impossível mover %s para uma própria sub-pasta, %s" #~ msgid "cannot move %s to %s" #~ msgstr "impossível mover %s para %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "erro ao mover entre dispositivos: %s para %s; impossível remover alvo" #~ msgid "failed to set default file creation context to %s" #~ msgstr "erro ao alterar contexto padrão de criação de ficheiros %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "impossível copiar a ligação simbólica cíclica %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s: ligações simbólicas relativas possíveis apenas na pasta actual" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "impossível criar a ligação simbólica %s para %s" #~ msgid "cannot create link %s" #~ msgstr "impossível criar a ligação %s" #~ msgid "cannot create fifo %s" #~ msgstr "impossível criar fifo %s" #~ msgid "cannot create special file %s" #~ msgstr "impossível criar o ficheiro especial %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "impossível ler a ligação simbólica %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "impossível criar a ligação simbólica %s" #~ msgid "%s has unknown file type" #~ msgstr "%s é um tipo de ficheiro desconhecido" #~ msgid "cannot un-backup %s" #~ msgstr "impossível recuperar %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (recuperação)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... [-T] FONTE DESTINO\n" #~ " ou: %s [OPÇÃO]... FONTE... PASTA\n" #~ " ou: %s [OPÇÃO]... -t PASTA FONTE...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Copiar FONTE para DESTINO, ou múltiplas FONTE(s) pasta PASTA.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Argumentos mandatórios para opções longas são mandatórios para opções " #~ "curtas também.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive o mesmo que -dpR\n" #~ " --backup[=CONTROLO] salvaguardar os ficheiros de destino " #~ "existentes\n" #~ " -b como --backup mas não aceita um argumento\n" #~ " --copy-contents copiar conteúdo de ficheiros especiais " #~ "quando recursivo\n" #~ " -d o mesmo que --no-dereference --" #~ "preserve=links\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force se um ficheiro de destino existente não " #~ "puder\n" #~ " ser aberto, remover e tentar novamente\n" #~ " -i, --interactive perguntar antes de sobrescrever\n" #~ " -H seguir as ligações simbólicas da linha de " #~ "comandos em ORIGEM\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link ligar ficheiros em vez de copiar\n" #~ " -L, --dereference seguir sempre ligações simbólicas em " #~ "ORIGEM\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference nunca seguir ligações simbólicas em " #~ "ORIGEM\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p o mesmo que --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=LISTA_ATRIB] preservar os atributos especificados " #~ "(predefinido:\n" #~ " mode,ownership,timestamps), se possível\n" #~ " atributos adicionais: context, links, " #~ "all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=LISTA_ATRIB não preservar os atributos especificados\n" #~ " --parents usar nome completo de ficheiro de origem " #~ "em PASTA\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive copiar pastas recursivamente\n" #~ " --remove-destination remover cada ficheiro de destino existente " #~ "antes\n" #~ " de tentar abri-lo (oposto a --force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=QUANDO controlar criação de ficheiros esparsos\n" #~ " --strip-trailing-slashes remover as 'barras' de cada argumento de\n" #~ " ORIGEM\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link criar ligações simbólicas em vez de " #~ "copiar\n" #~ " -S, --suffix=SUFIXO redefinir o sufixo habitual de " #~ "salvaguarda\n" #~ " -t, --target-directory=PASTA copiar todas os argumentos de ORIGEM para " #~ "PASTA\n" #~ " -T, --no-target-directory tratar DESTINO como um ficheiro normal\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update copiar apenas quando ORIGEM é mais " #~ "recente\n" #~ " que o ficheiro de destino ou o ficheiro " #~ "de\n" #~ " destino não existe\n" #~ " -v, --verbose explicar o que está a ser feito\n" #~ " -x, --one-file-system permanecer neste sistema de ficheiros\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Por omissão, ficheiros ORIGEM esparsos são detectados por uma má " #~ "heurística e\n" #~ "o correspondente ficheiro de DESTINO torna-se também esparso. Esse é o\n" #~ "comportamento seleccionado por --sparse=auto. Especifique --sparse=always " #~ "para\n" #~ "criar um DESTINO esparso quando a ORIGEM contém uma sequência longa de " #~ "bytes 0.\n" #~ "Use --sparse=never para inibir a criação de ficheiros esparsos.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "O sufixo de salvaguarda é '~', a menos que definido com --suffix ou " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "O método de controlo de versão pode ser seleccionado com a opção --backup " #~ "ou\n" #~ "atravé da variável de ambiente VERSION_CONTROL. Eis os valores:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off nunca efectuar salvaguardas (mesmo se usado com --" #~ "backup)\n" #~ " numbered, t efectuar salvaguardas numeradas\n" #~ " existing, nil numeradas se existirem salvaguardas numeradas, senão " #~ "simples\n" #~ " simple, never efectuar sempre salvaguardas simples\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Como caso especial, o cp salvaguarda a ORIGEM quando as opções 'force' e\n" #~ "'backup' são dadas e ORIGEM e DESTINO têm o mesmo nome para um ficheiro\n" #~ "existente e regular.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "erro ao preservar os tempos de %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "erro ao preservar permissões de %s" #~ msgid "cannot make directory %s" #~ msgstr "impossível criar a pasta %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s existe mas não é uma pasta" #~ msgid "accessing %s" #~ msgstr "a aceder a %s" #~ msgid "missing file operand" #~ msgstr "operando de ficheiro em falta" #~ msgid "missing destination file operand after %s" #~ msgstr "operando de ficheiro de destino em falta após %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Impossível combinar --target-directory (-t) e --no-target-directory (-T)" #~ msgid "target %s is not a directory" #~ msgstr "o destino %s não é uma pasta" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "com --parents, o destino deve ser uma pasta" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "a opção --reply está obsoleta; use -i ou -f ao invés" #~ msgid "multiple target directories specified" #~ msgstr "múltiplas pastas de destino especificadas" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "impossível criar ligações simbólicas e persistentes" #~ msgid "backup type" #~ msgstr "tipo de salvaguarda" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "" #~ "impossível preservar contexto de segurança sem um sistema operativo com " #~ "suporte SELinux" #~ msgid "input disappeared" #~ msgstr "a entrada desapareceu" #~ msgid "%s: line number out of range" #~ msgstr "%s: número de linha fora de alcance" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: número de linha fora de alcance" #~ msgid " on repetition %s\n" #~ msgstr "em repetição %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: correspondência não encontrada" #~ msgid "error in regular expression search" #~ msgstr "erro na pesquisa de expressão regular" #~ msgid "write error for %s" #~ msgstr "erro de escrita para %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: inteiro esperado após delimitador" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: '}' é requerido na contagem de repetição" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: inteiro requerido entre '{' e '}'" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: delimitador de fecho '%c' em falta" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: expressão regular inválida: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: padrão inválido" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: número de linha deve ser maior que zero" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "o número de linha %s é inferior ao precedente, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "aviso: o número de linha %s é igual ao precedente" #~ msgid "invalid format width" #~ msgstr "formato de largura inválido" #~ msgid "invalid format precision" #~ msgstr "formato de precisão inválido" #~ msgid "missing conversion specifier in suffix" #~ msgstr "especificador de conversão em falta no sufixo" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "especificação de conversão inválida no sufixo: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "especificação de conversão inválida no sufixo: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "demasiadas especificações de conversão %% no sufixo" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "especificação de conversão %% inválida no sufixo" #~ msgid "%s: invalid number" #~ msgstr "%s: número inválido" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Utilização: %s [OPÇÃO]... FICHEIRO PADRÃO...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Despejar partes de FICHEIRO separadas por PADRÃO(ÕES) para os ficheiros " #~ "'xx00',\n" #~ "'xx01', ..., e exibir contagem de bytes de cada parte.\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMATO usar FORMATO sprintf em vez de %02d\n" #~ " -f, --prefix=PREFIXO usar PREFIXO em vez de `xx'\n" #~ " -k, --keep-files preservar ficheiros de saída após erro\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=DÍGITOS usar número dado de DÍGITOS em vez 2\n" #~ " -s, --quiet, --silent não exibir tamanhos dos ficheiros de saída\n" #~ " -z, --elide-empty-files remover ficheiros de saída vazios\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Ler a entrada padrão se FICHEIRO for -. Cada PADRÃO pode ser:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " INTEIRO copiar até (excluindo) número de linha especificado\n" #~ " /EXPREG/[ÍNDICE] copiar até (excluindo) uma linha que corresponda\n" #~ " %EXPREG%[ÍNDICE] saltar até (excluindo) uma linha que corresponda\n" #~ " {INTEIRO} repetir o padrão anterior INTEIRO vezes\n" #~ " {*} repetir o padrão anterior até não ser possível\n" #~ "\n" #~ "Um ÍNDICE de linha é um '+' or '-' requerido seguido de um inteiro " #~ "positivo.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "campos e posições são numerados a partir de 1" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Utilização: %s OPÇÃO... [FICHEIRO]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Mostrar partes seleccionadas de linhas de cada FICHEIRO.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LISTA escolher apenas estes bytes\n" #~ " -c, --characters=LISTA escolher apenas estes caracteres\n" #~ " -d, --delimiter=DELIM usar DELIM em vez de TAB para delimitar campos\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LISTA escolher apenas estes campos; exibir todas as " #~ "linhas\n" #~ " sem carácter delimitador, a não ser que a " #~ "opção -s\n" #~ " seja especificada\n" #~ " -n (ignorado)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement complementar o conjunto de bytes escolhidos,\n" #~ " caracteres ou campos.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited não exibir linhas sem delimitadores\n" #~ " --output-delimiter=EXP usar EXP como o delimitador de saída\n" #~ " o modo predefinido é usar o delimitador de " #~ "entrada\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Usar uma e apenas uma de -b, -c ou -f. Cada LISTA é feita de um alcance\n" #~ "ou vários alcances separados por vírgula. Entrada seleccionada é escrita\n" #~ "na mesma ordem de leitura e exactamente uma vez.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Cada alcance é um de:\n" #~ "\n" #~ " N N-ésimo byte, carácter ou campo, countado a partir de 1\n" #~ " N- do N-ésimo byte, carácter ou campo, até fim da linha\n" #~ " N-M do N-ésimo ao do M-ésimo (inclusive) byte, carácter ou campo\n" #~ " -M do primeiro ao M-ésimo (inclusive) byte, carácter ou campo\n" #~ "\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ msgid "invalid byte or field list" #~ msgstr "byte ou lista de campo inválido" #~ msgid "invalid range with no endpoint: -" #~ msgstr "intervalo inválido sem fim: -" #~ msgid "invalid decreasing range" #~ msgstr "intervalo decrescente inválido" #~ msgid "byte offset %s is too large" #~ msgstr "posição de byte %s demasiado grande" #~ msgid "field number %s is too large" #~ msgstr "número de campo %s demasiado grande" #~ msgid "only one type of list may be specified" #~ msgstr "apenas um tipo de lista pode ser especificado" #~ msgid "the delimiter must be a single character" #~ msgstr "o delimitador deve ser um único carácter" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "deve especificar uma lista de bytes, caracteres ou campos" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "um delimitador de entrada deve ser especificado apenas para campos" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "suprimir linhas não delimitadas faz sentido\n" #~ "\tapenas para campos" #~ msgid "missing list of fields" #~ msgstr "lista de campos ausente" #~ msgid "missing list of positions" #~ msgstr "lista de posições ausente" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... [+FORMATO]\n" #~ " ou: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Exibir o tempo actual no FORMATO dado, ou alterar a data do sistema.\n" #~ "\n" #~ " -d, --date=EXPR mostrar o tempo descrito por EXPR, não o " #~ "actual\n" #~ " -f, --file=FICHEIRO como --date mas uma vez para cada linha de " #~ "FICHEIRO\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=FICHEIRO mostrar o último tempo de modificação de " #~ "FICHEIRO\n" #~ " -R, --rfc-2822 exibir data e hora no formato RFC 2822.\n" #~ " Exemplo: Seg, 07 Ago 2006 12:34:56 -0600\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=ESPECTEMPO exibir data e hora no formato RFC 3339.\n" #~ " ESPECTEMPO='date', 'seconds' ou 'ns' para\n" #~ " data e hora na precisão indicada.\n" #~ " Data e hora são separadas por\n" #~ " um espaço: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=EXPR alterar a hora descrita por EXPR\n" #~ " -u, --utc, --universal exibir ou alterar Hora Universal Coordenada " #~ "(UTC)\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "FORMATO controla a saída. A única opção válida para a segunda forma\n" #~ "expecifica Hora Universal Coordenada. Sequências interpretadas:\n" #~ "\n" #~ " %% um literal %\n" #~ " %a nome de semana local abreviado (ex.: Dom)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A nome local completo de semana (ex.: Domingo)\n" #~ " %b nome local abreviado de mês (ex.: Jan)\n" #~ " %B nome local completo de mês (ex.: Janeiro)\n" #~ " %c data e hora local (ex.: Qui Mar 3 23:05:25 2005)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C século; como %Y, excepto omitir últimos dois dígitos (ex., 21)\n" #~ " %d dia do mês (ex., 01)\n" #~ " %D data; o mesmo que %m/%d/%y\n" #~ " %e dia do mês, alinhado a espaço; o mesmo que %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F data completa; o memso que %Y-%m-%d\n" #~ " %g últimos dois dígitos de número de semana ISO (ver %G)\n" #~ " %G ano de número de semana ISO (ver %V); normalmente útil apenas com %" #~ "V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h o mesmo que %b\n" #~ " %H hora 00..23)\n" #~ " %I hora (01..12)\n" #~ " %j dia do ano (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k hora ( 0..23)\n" #~ " %l hora ( 1..12)\n" #~ " %m mês (01..12)\n" #~ " %M minuto (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n uam nova linha\n" #~ " %N nanosegundos (000000000..999999999)\n" #~ " %p equivalente da localização a AM ou PM; vazia se desconhecido\n" #~ " %P como %p, mas em minúsculas\n" #~ " %r equivalente da localização a tempo de 12 horas (ex., 11:11:04 PM)\n" #~ " %R horas e minutos de 24 hora; o mesmo que %H:%M\n" #~ " %s segundos desde 1970-01-01 00:00:00 UTC\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S segundo (00..60)\n" #~ " %t uma tabulação (TAB)\n" #~ " %T hora (tempo completo); o mesmo que %H:%M:%S\n" #~ " %u dia da semana (1..7); 1 é Segunda-feira\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U número de semana do ano, Domingo como primeiro dia da semana " #~ "(00..53)\n" #~ " %V número de semana ISO, Segunda-feira primeiro dia da semana " #~ "(01..53)\n" #~ " %w dia de semana (0..6); 0 é Domingo\n" #~ " %W número de semana do ano, Segunda-feira primeiro dia da semana " #~ "(00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x representação de data local (ex., 31/12/99)\n" #~ " %X representação de hora local (ex., 23:13:48)\n" #~ " %y últimos dois dígitos do ano (00..99)\n" #~ " %Y ano\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z zona horária numérica +hhmm (ex., -0400)\n" #~ " %:z zona horária numérica +hh:mm (e.g., -04:00)\n" #~ " %::z zona horária numérica +hh:mm:ss (e.g., -04:00:00)\n" #~ " %:::z zona horária numérica com : para prec. necessária (ex., -04, " #~ "+05:30)\n" #~ " %Z abreviação de zona horária alfabética (ex., EDT)\n" #~ "\n" #~ "Por omissão, date preenche campos numéricos com zeros.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "As seguintes preferências opcionais podem seguir-se a '%':\n" #~ "\n" #~ " - (hífen) não encher o campo\n" #~ " _ (sublinhado) encher com espaços\n" #~ " 0 (zero) encher com zeros\n" #~ " ^ usar maiúsculas se possível\n" #~ " # usar capitalização oposta se possível\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Após as preferências vem uma largura de campo opcional, um número " #~ "decimal;\n" #~ "depois um modificador opcional, o qual pode ser\n" #~ "E para usar as representações locais alternativas se disponíveis, ou\n" #~ "O para usar os símbolos numéricos locais alternativos se disponíveis.\n" #~ msgid "multiple output formats specified" #~ msgstr "múltiplos formatos de saída especificados" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "" #~ "as opções para especificar datas para impressão são mutuamente exclusivas" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "as opções para imprimir e definir o tempo não podem ser usadas juntas" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "o argumento %s necessita de um '+' inicial;\n" #~ "Ao usar uma opção para especificar data(s), qualquer argumento não-opção\n" #~ "deve ser uma expressão de formato iniciada por '+'." #~ msgid "cannot set date" #~ msgstr "impossível alterar a data" #~ msgid "time %s is out of range" #~ msgstr "o tempo %s está fora de alcance" #~ msgid "Filesystem Type" #~ msgstr "Sist.fichs Tipo" #~ msgid "Filesystem " #~ msgstr "Sist.fichs " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inodes IOcup ILivr UsoI%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Tama Ocup Livre Uso%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Tama Ocup Livre Uso%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " blocos %s Ocup Livres Capacida" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " blocos %4s Ocup Livres Uso%%" #~ msgid " Mounted on\n" #~ msgstr " Montado em\n" #~ msgid "cannot get current directory" #~ msgstr "impossível obter a pasta actual" #~ msgid "cannot change to directory %s" #~ msgstr "impossível mudar para a pasta %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "impossível obter a pasta actual (agora %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Utilização: %s [OPÇÃO]... [FICHEIRO]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Mostrar informação acerca do sistema de ficheiros onde cada FICHEIRO " #~ "reside,\n" #~ "ou todos os sistemas de ficheiros por omissão.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all incluir sistemas de ficheiros manequins\n" #~ " -B, --block-size=TAMANHO usar blocos de TAMANHO bytes\n" #~ " -h, --human-readable tamanhos em formato para humanos (ex., 1K 234M " #~ "2G)\n" #~ " -H, --si da mesma forma, mas usar potências de 1000, não " #~ "1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes listar inodes em vez de utilização de blocos\n" #~ " -k como --block-size=1K\n" #~ " -l, --local limitar listagem a sistemas de ficheiros locais\n" #~ " --no-sync não invocar sync antes de obter informação " #~ "(predef.)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability usar o formato de saída POSIX\n" #~ " --sync invocar sync antes de obter a informação\n" #~ " -t, --type=TIPO limitar listagem a sist. de ficheiros de tipo " #~ "TIPO\n" #~ " -T, --print-type exibir o tipo do sistema de ficheiros\n" #~ " -x, --exclude-type=TIPO limitar listagem a sist. ficheiros não de tipo " #~ "TIPO\n" #~ " -v (ignorado)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "TAMANHO pode ser (ou um inteiro opcionalmente seguido de) um dos " #~ "seguintes:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024 e por aí fora para G, T, P, E, " #~ "Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "" #~ "sistema de ficheiros de tipo %s simultaneamente escolhido e excluído" #~ msgid "Warning: " #~ msgstr "Aviso: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "impossível ler a tabela de sistemas de ficheiros montados" #~ msgid "no file systems processed" #~ msgstr "nenhum sistema de ficheiros processado" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Utilização: %s [OPÇÃO]... [FICHEIRO]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Emitir comandos para ajustar a variável de ambiente LS_COLORS.\n" #~ "\n" #~ "Determinar o formato da saída:\n" #~ " -b, --sh, --bourne-shell emitir código Bourne shell para ajustar " #~ "LS_COLORS\n" #~ " -c, --csh, --c-shell emitir código C shell para ajustar " #~ "LS_COLORS\n" #~ " -p, --print-data-base emitir códigos predefinidos\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Se FICHEIRO especificado, ler para determinar que cores usar para que " #~ "tipos\n" #~ "de ficheiro e extensões. Senão, uma base de dados precompilada é usada.\n" #~ "Para detalhes no formato destes ficheiros, corra 'dircolors --print-" #~ "database'.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: linha inválida; segundo símbolo em falta" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: palavra-chave desconhecida %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "as opções de saída da base de dados interna para dircolors e para sintaxe " #~ "de\n" #~ "shell são mutuamente exclusivas" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "" #~ "Operandos ficheiros não podem ser combinados com --print-database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "nenhuma variável de ambiente SHELL e nenhuma opção de tipo de shell" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s NOME\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Exibir NOME sem a componente '/'; se NOME não contiver / mostrar '.'\n" #~ "(o que significa a pasta actual).\n" #~ "\n" #~ " --help mostra esta ajuda e sai\n" #~ " --version mostra a informação de versão e sai\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Exemplos:\n" #~ " %s /usr/bin/sort Mostrar \"/usr/bin\".\n" #~ " %s stdio.h Mostrar \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... [FICHEIRO]...\n" #~ " ou: %s [OPÇÃO]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Resumir utilização de disco de cada FICHEIRO, recursivamente para " #~ "pastas.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all escrever contagens todos os ficheiros, não só " #~ "pastas\n" #~ " --apparent-size mostrar tamanhos aparentes, não utiliz. disco; " #~ "apesar\n" #~ " de o tamanho aparente ser habit. mais pequeno, " #~ "pode\n" #~ " ser maior devido a buracos em ficheiros " #~ "(esparsos),\n" #~ " fragmentação interna, blocos indirectos e " #~ "afins\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=TAMANHO usar blocos de TAMANHO bytes\n" #~ " -b, --bytes equivalente a '--apparent-size --block-size=1'\n" #~ " -c, --total produzir um grande total\n" #~ " -D, --dereference-args desreferenciar só ligações simbólicas listadas " #~ "na\n" #~ " linha de comandos\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F resumir util. de disco dos nomes de ficheiro " #~ "terminados\n" #~ " por NUL especificados no ficheiro F\n" #~ " -H como --si, mas lança um aviso; mudará brevemente " #~ "para\n" #~ " ser equivalente a --dereference-args (-D)\n" #~ " -h, --human-readable mostrar tamanhos para humanos (ex., 1K 234M 2G)\n" #~ " --si como -h, mas usar potências de 1000, não 1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k como --block-size=1K\n" #~ " -l, --count-links contar tamanho várias vezes se ligado " #~ "persistentemente\n" #~ " -m como --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference desreferenciar todas as ligações simbólicas\n" #~ " -P, --no-dereference não seguir qualquer ligação simbólica " #~ "(predefinido)\n" #~ " -0, --null terminar linhas de saída com byte 0, não nova " #~ "linha\n" #~ " -S, --separate-dirs não incuir tamanhos das pastas\n" #~ " -s, --summarize mostrar apenas um total para cada argumento\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system saltar pastas em sistemas de ficheiros " #~ "diferentes\n" #~ " -X FILE, --exclude-from=FICH Excluir ficheiros com qualquer padrão em " #~ "FICH.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N mostrar o total de uma pasta (ou ficheiro, com --" #~ "all)\n" #~ " só se estiver N ou menos níveis abaixo do " #~ "argumento\n" #~ " da linha de comando; --max-depth=0 é o mesmo " #~ "que\n" #~ " --summarize\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time mostrar tempo da última modificação de cada " #~ "ficheiro\n" #~ " na pasta, ou cada sua subpasta\n" #~ " --time=PALAV mostrar tempo como PALAV em vez de tempo de " #~ "modific.:\n" #~ " atime, access, use, ctime ou status\n" #~ " --time-style=EST mostrar tempos usando o estilo ESTILO:\n" #~ " full-iso, long-iso, iso, +FORMATO\n" #~ " FORMATO é interpretado como 'date'\n" #~ msgid "total" #~ msgstr "total" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "AVISO: use --si, não -H; o significado da opção -H mudará em breve\n" #~ "para ser o mesmo de --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "profundidade máxima %s inválida" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "a opção --megabytes está obsoleta; use -m ao invés" #~ msgid "cannot both summarize and show all entries" #~ msgstr "impossível resumir e mostrar todas as entradas ao mesmo tempo" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "aviso: resumo é o mesmo que usar --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "aviso: resumo conflicte com --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Operandos ficheiros não podem ser combinados com --files0-from." #~ msgid "cannot read file names from %s" #~ msgstr "impossível ler os nomes de ficheiros a partir %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "ao ler nomes de ficheiros de stdln, nome de %s não permitido" #~ msgid "invalid zero-length file name" #~ msgstr "nome de ficheiro vazio inválido'" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Utilização: %s [OPÇÃO]... [EXPRESSÃO]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Ecoar as EXPRESSÃO(ões) para a saída padrão.\n" #~ "\n" #~ " -n não despejar a nova linha final\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e activar interpretação de sinaliz. barra invertida " #~ "(predef.)\n" #~ " -E desactivar interpretação de barras invertidas " #~ "sinalizadas\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Se -e estiver em efeito, as seguintes sequências são reconhecidas:\n" #~ "\n" #~ " \\0NNN o carácter cujo código ASCII é NNN (octal)\n" #~ " \\\\ barra invertida (backslash)\n" #~ " \\a alerta (BEL)\n" #~ " \\b espaço atrás (backspace)\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c suprimir nova linha final\n" #~ " \\f form feed\n" #~ " \\n nova linha\n" #~ " \\r carriage return\n" #~ " \\t tabulador horizontal\n" #~ " \\v tabulador vertical\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Utilização: %s [OPÇÃO]... [-] [NOME=VALOR]... [COMANDO [ARG]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Alterar cada NOME para VALOR no ambiente e correr o COMANDO.\n" #~ "\n" #~ " -i, --ignore-environment começar com um ambiente vazio\n" #~ " -u, --unset=NOME retirar variável NOME do ambiente\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Um mero - implica -i. Sem COMANDO, mostrar o ambiente resultante.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Converter TABs em cada FICHEIRO para espaços, escrevendo na saída " #~ "padrão.\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial não converter TABs após caracteres não-brancos\n" #~ " -t, --tabs=NÚMERO considerar TABs de NÚMERO caracteres, não 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LISTA usar lista explícita de TABs separ. por vírgulas\n" #~ msgid "tab stop is too large %s" #~ msgstr "o tabulador é demasiado grande %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "o tamanho do tabulador contém caracteres inválidos: %s" #~ msgid "tab size cannot be 0" #~ msgstr "tamanho de TAB não pode ser 0" #~ msgid "tab sizes must be ascending" #~ msgstr "tamanhos de TABs devem ser crescentes" #~ msgid "input line is too long" #~ msgstr "linha de entrada demasiado grande" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s EXPRESSÃO\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Exibir o valor de EXPRESSÃO. Uma linha vazia por baixo separa\n" #~ "grupos de precedência crescentes. EXPRESSÃO pode ser:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 se não for nulo nem 0, senão ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 se nenhum argumento for nulo ou 0, senão 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 é menor que ARG2\n" #~ " ARG1 <= ARG2 ARG1 é menor ou igual a ARG2\n" #~ " ARG1 = ARG2 ARG1 é igual a ARG2\n" #~ " ARG1 != ARG2 ARG1 é diferente de ARG2\n" #~ " ARG1 >= ARG2 ARG1 é maior ou igual a ARG2\n" #~ " ARG1 > ARG2 ARG1 é maior que ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 soma aritmética de ARG1 e ARG2\n" #~ " ARG1 - ARG2 diferença aritmética de ARG1 e ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 produto aritmético de ARG1 e ARG2\n" #~ " ARG1 / ARG2 quociente aritmético de ARG1 dividido por ARG2\n" #~ " ARG1 % ARG2 resto aritmético de ARG1 dividido por ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " EXPR : EXPREG correspondência de padrão ancorada de EXPREG em EXPR\n" #~ "\n" #~ " match EXPR EXPREG o mesmo que EXPR : EXPREG\n" #~ " substr EXPR POS COMPRIM subexpressão de STRING, POS contada a partir " #~ "de 1\n" #~ " index EXPR CARACTS índice de EXPR onde onde um CARACTS existe, " #~ "ou 0\n" #~ " length EXPR comprimento de EXPR\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + SÍMBOLO interpretar SÍMBOLO como uma expressão, " #~ "mesmo que\n" #~ " reservada como 'match' ou operador como " #~ "'/'\n" #~ "\n" #~ " ( EXPRESSÃO ) valor de EXPRESSÃO\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Tenha em conta que muitos operadores necessitam ser sinalizados ou " #~ "escritos\n" #~ "entre aspas. Comparações são aritméticas se todos os ARGs são números, " #~ "senão\n" #~ "lexicográficas. Padrões retornam a expressão entre \\( e \\) ou nula; se\n" #~ "\\( e \\) não são usados, retornam o número de caracteres combinados ou " #~ "0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Estado de saída é 0 se EXPRESSÃO não for nem nula nem 0, 1 se EXPRESSÃO é " #~ "nula\n" #~ "ou 0, 2 se EXPRESSÃO for sintacticamente inválida e 3 se um erro " #~ "ocorrer.\n" #~ msgid "syntax error" #~ msgstr "erro de sintaxe" #~ msgid "error in regular expression matcher" #~ msgstr "erro no analisador de expressões regulares" #~ msgid "non-numeric argument" #~ msgstr "argumento não numérico" #~ msgid "division by zero" #~ msgstr "divisão por zero" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s [NÚMERO]...\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Exibir os factores primos de cada NÚMERO.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Exibir os factores primos de todos os NÚMEROS inteiros especificados.\n" #~ "Sem argumentos, são lidos do canal de entrada padrão.\n" #~ msgid "%s is too large" #~ msgstr "%s é muito grande" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s não é um inteiro positivo válido" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Utilização: %s [-DÍGITOS] [OPÇÃO]... [FICHEIRO]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Reformatar cada parágrafo em FICHEIRO(s), escrevendo para a saída " #~ "padrão.\n" #~ "Sem FICHEIRO ou se FICHEIRO for '-', ler a entrada padrão.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin preservar indentação das primeiras duas " #~ "linhas\n" #~ " -p, --prefix=EXPRESSÃO reformatar apenas linhas que começam por " #~ "EXPRESSÃO,\n" #~ " inserindo o prefixo nas linhas " #~ "reformatadas\n" #~ " -s, --split-only separar linhas longas, mas não reencher\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph indentação da primeira linha diferente da " #~ "segunda\n" #~ " -u, --uniform-spacing um espaço entre palavras, dois depois de " #~ "frases\n" #~ " -w, --width=LARGURA largura máxima de linha (predefinida 75 " #~ "colunas)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "opção inválida -- %c; -LARGURA é reconhecida apenas quando é a primeira\n" #~ "opção; use -w N ao invés" #~ msgid "invalid width: %s" #~ msgstr "largura inválida: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Envolver as linhas de entrada em cada FICHEIRO (entrada padrão por " #~ "omissão),\n" #~ "escrelendo para a saída padrão.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes countar bytes em vez de colunas\n" #~ " -s, --spaces separar nos espaços\n" #~ " -w, --width=LARGURA usar LARGURA colunas em vez de 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "número inválido de colunas: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "erro ao obter os grupos do utilizador %s" #~ msgid "failed to get groups for the current process" #~ msgstr "erro ao obter os grupos do processo corrente" #~ msgid "cannot find name for group ID %lu" #~ msgstr "impossível encontrar o nome do grupo com ID %lu" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Utilização: %s [OPÇÃO]... [UTILIZADOR]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "Mostrar informação para UTILIZADOR ou, sem UTILIZADOR especificado,\n" #~ "o processo corrente (diferente se base de dados de grupos foi alterada).\n" #~ msgid "%s: No such user" #~ msgstr "%s: Utilizador inexistente" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Mostrar as primeiras 10 linhas de cada FICHEIRO.\n" #~ "Com mais de um FICHEIRO, preceder cada linha com o nome do ficheiro.\n" #~ "Sem FICHEIRO ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N mostrar os primeiros N bytes de cada " #~ "ficheiro;\n" #~ " com '-' atras, mostrar todos excepto os " #~ "últimos\n" #~ " N bytes de cada ficheiro\n" #~ " -n, --lines=[-]N mostrar as primeiras N linhas em vez das 10;\n" #~ " com '-' atras, mostrar todas excepto as " #~ "últimas\n" #~ " N linhas de cada ficheiro\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent nuncar mostrar cabeçalhos com nomes de " #~ "ficheiros\n" #~ " -v, --verbose mostrar sempre cabeçalhos com nomes de " #~ "ficheiros\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "N pode ter um sufixo de multiplicação:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 e assim por diante para T, P, E, Z, " #~ "Y.\n" #~ msgid "error reading %s" #~ msgstr "erro ao ler %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: o ficheiro encolheu demasiado" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: número de bytes muito grande" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: impossível retornar à posição original" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: impossível deslocar para a posição %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "impossível reposicionar apontador de ficheiro para %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s é tão grande que não é representável" #~ msgid "number of lines" #~ msgstr "número de linhas" #~ msgid "number of bytes" #~ msgstr "número de bytes" #~ msgid "invalid number of lines" #~ msgstr "número de linhas inválido" #~ msgid "invalid number of bytes" #~ msgstr "número de bytes inválido" #~ msgid "invalid trailing option -- %c" #~ msgstr "opção final inválida -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Utilização: %s\n" #~ " ou: %s OPÇÃO\n" #~ "Exibir o identificador numérico (hexadecimal) da máquina actual.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Utilização: %s [NOME]\n" #~ " ou: %s [OPÇÃO]\n" #~ "Exibir ou alterar o nome de máquina do sistema actual.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "impossível alterar o nome de máquina para %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "impossível alterar nome da máquina; o sistema não tem a funcionalidade" #~ msgid "cannot determine hostname" #~ msgstr "impossível determinar o nome da máquina" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Exibir informação de UTILIZADOR, ou o utilizador actual.\n" #~ "\n" #~ " -a ignorar, para fins de compatibilidade com outras " #~ "versões\n" #~ " -Z, --context mostrar só o contexto de segurança do utilizador " #~ "actual\n" #~ " -g, --group mostrar só o ID do grupo efectivo\n" #~ " -G, --groups mostrar todos os ID's de grupos\n" #~ " -n, --name mostrar o nome em vez de um número, para -ugG\n" #~ " -r, --read mostrar o ID real em vez do ID efectivo, com -ugG\n" #~ " -u, --user mostrar só o ID do utilizador\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Sem qualquer OPÇÃO, mostrar alguma informação útil identificada.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "--context (-Z) apenas funciona com SELinux" #~ msgid "cannot print security context when user specified" #~ msgstr "" #~ "impossível mostrar contexto de segurança quando especificado pelo " #~ "utilizador" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "impossível exibir contexto com SELinux desactivado ou ao mostrar o ID\n" #~ "de outro utilizador" #~ msgid "can't get process context" #~ msgstr "impossível obter contexto do processo" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "impossível mostrar \"apenas\" de mais de uma escolha" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "impossível exibir apenas nomes ou IDs reais no formato predefinido" #~ msgid "cannot find name for user ID %lu" #~ msgstr "impossível encontrar o nome do utilizador com ID %lu" #~ msgid " groups=" #~ msgstr " grupos=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "aviso: %s: erro ao alterar contexto para %s" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Aviso: a ignorar --preserve-context; este sistema tem SELinux desactivado." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "Aviso: a ignorar --context (-Z); SELinux não activado." #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "a opção strip não pode ser usada ao instalar uma pasta" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "pasta de destino não permitida ao instalar uma pasta" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "impossível forçar contexto alvo a %s e preservá-lo" #~ msgid "invalid mode %s" #~ msgstr "modo inválido %s" #~ msgid "cannot change ownership of %s" #~ msgstr "impossível alterar o dono de %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "impossível alterar marcas de tempo de %s" #~ msgid "fork system call failed" #~ msgstr "erro na chamada de sistema fork" #~ msgid "cannot run strip" #~ msgstr "impossível correr strip" #~ msgid "waiting for strip" #~ msgstr "a aguardar por strip" #~ msgid "strip process terminated abnormally" #~ msgstr "o processo strip terminou anormalmente" #~ msgid "invalid user %s" #~ msgstr "utilizador inválido %s" #~ msgid "invalid group %s" #~ msgstr "grupo %s inválido" #~ msgid "creating directory %s" #~ msgstr "a criar a pasta %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... [-T] ORIGEM DESTINO\n" #~ " ou: %s [OPÇÃO]... ORIGEM... PASTA\n" #~ " ou: %s [OPÇÃO]... -t PASTA ORIGEM...\n" #~ " ou: %s [OPÇÃO]... -d PASTA...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Nas primeiras 3 formas, copiar ORIGEM para DESTINO ou múltiplas ORIGEM" #~ "(ns)\n" #~ "para a PASTA existente, e também definir modos de permissão e dono/" #~ "grupo.\n" #~ "Na quarta forma, criar todos os componentes da(s) PASTA(s) dada(s).\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTROLO] salvaguardar cada ficheiro de destino " #~ "existente\n" #~ " -b como --backup mas não aceita um argumento\n" #~ " -c (ignorado)\n" #~ " -d, --directory tratar todos os argumentos como pastas: criar todos " #~ "os\n" #~ " componentes das pastas especificadas\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D criar todos os componentes iniciais de DESTINO " #~ "excepto\n" #~ " o último e depois copiar ORIGEM para DESTINO\n" #~ " -g, --group=GRUPO alterar grupo de posse, não o actual grupo do " #~ "processo\n" #~ " -m, --mode=MODO alterar permissões (como em chmod), não rwxr-xr-x\n" #~ " -o, --owner=DONO alterar dono (apenas superutilizador)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps aplicar tempos de acesso/modif. de ORIGEM" #~ "(ens)\n" #~ " para ficheiros de destino correspondentes\n" #~ " -s, --strip remover tabelas de símbolos\n" #~ " -S, --suffix=SUFIXO redefinir o sufixo de salvaguarda habitual\n" #~ " -t, --target-directory=PASTA copiar todos os argumentos ORIGEM para " #~ "PASTA\n" #~ " -T, --no-target-directory tratar DESTINO como um ficheiro normal\n" #~ " -v, --verbose mostrar o nome de cada pasta assim que criadas\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context preservar contexto de segurança SELinux\n" #~ " -Z, --context=CONTEXTO alterar cont. de segurança SELinux de fich. e " #~ "pastas\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "O sufixo de salvaguarda é '~', a não ser com --suffix ou " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "O método de controlo de versão pode ser escolhido com --backup ou com a\n" #~ "variável de ambiente VERSION_CONTROL. Eis os valores:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "PAra cada par de linhas de entrada com campos de junção idênticos, " #~ "escrever\n" #~ "uma linha na saída padrão. O campo de junção predefinido é o primeiro,\n" #~ "delimitado por espaço. Quando FICH1 ou FICH2 (não ambos) é -, ler stdin.\n" #~ "\n" #~ " -a NUMFICH mostrar linhas sem par vindas do ficheiro NUMFICH, " #~ "onde\n" #~ " NUMFICH é 1 ou 2, correspondente a FICH1 ou FICH2\n" #~ " -e VAZIO substituir campos de entrada em falta com VAZIO\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case ignorar diferenças de capitalização ao comparar " #~ "campos\n" #~ " -j CAMPO equivalente a '-1 CAMPO -2 CAMPO'\n" #~ " -o FORMATO obedecer FORMATO ao construir linha de saída\n" #~ " -t CAR usar CAR como separador de campo de entrada e saída\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v NUMFICH como -a NUMFICH, mas suprimir linhas de saída juntas\n" #~ " -1 CAMPO juntar neste CAMPO do ficheiro 1\n" #~ " -2 CAMPO juntar neste CAMPO do ficheiro 2\n" #~ " --check-order verificar entrada ordenada, mesmo que todas as linhas " #~ "de\n" #~ " entrada estejam em pares\n" #~ " --nocheck-order não verificar ordenação da entrada\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Excepto se -t CAR for dado, espaços iniciais separam campos e são " #~ "ignorados,\n" #~ "senão campos são separados por CAR. Qualquer CAMPO é um número de campo " #~ "a\n" #~ "partir de 1. FORMATO é uma ou mais especificações separadas por vírgulas " #~ "ou\n" #~ "espaço, cada sendo 'NUMFICH.CAMPO' ou '0'. FORMATO predefinido despeja " #~ "campos\n" #~ "juntos, campos restantes de FICH1, campos restantes de FICH2, todos " #~ "separados\n" #~ "por CAR.\n" #~ "\n" #~ "Importante: FICH1 e FICH2 devem ser ordenados nos campos de junção.\n" #~ "Ex., use 'sort -k 1b,1' se 'join' não tiver opções.\n" #~ "Se a entrada não estiver ordenada e algumas linhas não podem ser juntas, " #~ "uma\n" #~ "mensagem de aviso será mostrada.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "Ficheiro %d não está ordenado" #~ msgid "invalid field number: %s" #~ msgstr "número de campo inválido: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "especificador de campo inválido: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "número de ficheiro inválido no especificador de campo: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "campos de junção inválidos %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "expressões de substituição de campo vazio em conflicto" #~ msgid "empty tab" #~ msgstr "TAB vazio" #~ msgid "multi-character tab %s" #~ msgstr "tabulador multi-carácter %s" #~ msgid "incompatible tabs" #~ msgstr "tabuladores incompatíveis" #~ msgid "both files cannot be standard input" #~ msgstr "ambos os ficheiros não podem ser a entrada padrão" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Utilização: %s [-s SINAL | -SINAL] PID...\n" #~ " ou: %s -l [SINAL]...\n" #~ " ou: %s -t [SINAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Enviar sinais a processos ou listar sinais.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SINAL, -SINAL\n" #~ " especificar o nome ou número do sinal a enviar\n" #~ " -l, --list listar nomes dos sinais ou converter para/de números\n" #~ " -t, --table exibir uma tabela de informao de informação sinais\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SINAL pode ser um nome de sinal como 'HUP', um número de sinal como '1' " #~ "ou\n" #~ "um estado de saída de um processo terminado por um sinal.\n" #~ "PID é um inteiro; se negativo identifica um grupo de processos.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: sinal inválido" #~ msgid "%s: invalid process id" #~ msgstr "%s: número de processo inválido" #~ msgid "invalid option -- %c" #~ msgstr "opção inválida -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: múltiplos sinais especificados" #~ msgid "multiple -l or -t options specified" #~ msgstr "múltiplas opções -l ou -t especificadas" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "impossível combinar sinal com -l ou -t" #~ msgid "no process ID specified" #~ msgstr "número de processo não especificado" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s FICHEIRO1 FICHEIRO2\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Chamar a função link para criar uma ligação FICH2 para um FICH1 " #~ "existente.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "impossível criar ligação %s para %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: aviso: criar uma ligação persistente para simbólica não é portável" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: ligação persistente não autorizada para a pasta" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: impossível sobrescrever a pasta" #~ msgid "%s: replace %s? " #~ msgstr "%s: substituir %s? " #~ msgid "creating symbolic link %s" #~ msgstr "a criar ligação simbólica %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "a criar ligação simbólica %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "a criar ligação persistente para %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "a criar ligação persistente %s" #~ msgid "creating hard link %s => %s" #~ msgstr "a criar ligação persistente %s => %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... [-T] DESTINO NOME_LIGAÇÃO (1o formato)\n" #~ " ou: %s [OPÇÃO]... DESTINO (2o formato)\n" #~ " ou: %s [OPÇÃO]... DESTINO... PASTA (3o formato)\n" #~ " ou: %s [OPÇÃO]... -t PASTA DESTINO... (4o formato)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Na primeira forma, criar uma ligação para DESTINO com nome NOME_LIGAÇÃO.\n" #~ "Na segunda forma, criar uma ligação para DESTINO na pasta actual.\n" #~ "Na terceira e quarta formas, criar ligações para cada DESTINO na PASTA.\n" #~ "Criar ligações persistentes por omissão, ligações simbólicas com --" #~ "symbolic.\n" #~ "Ao criar ligações persistentes, cada DESTINO deve existir.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTROLO] salvaguardar cada ficheiro de destino " #~ "existente\n" #~ " -b como --backup mas não aceita um argumento\n" #~ " -d, -F, --directory deixar o superutil. tentar ligações " #~ "persistentes\n" #~ " para pastas (nota: provavelm. falhará " #~ "devido a\n" #~ " restrições de sistema, mesmo para o sup-" #~ "util.)\n" #~ " -f, --force remover ficheiros de destino existentes\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference tratar destinos que são ligações " #~ "simbólicas\n" #~ " para uma pasta como se fossem um fich. " #~ "normal\n" #~ " -i, --interactive perguntar antes de remover destinos\n" #~ " -s, --symbolic criar ligações simbólicas em vez de " #~ "persistentes\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=SUFIXO redefinir o sufixo de salvaguarda habitual\n" #~ " -t, --target-directory=PASTA especificar a PASTA na qual criar as\n" #~ " ligações\n" #~ " -T, --no-target-directory tratar NOME_LIGAÇÃO como um ficheiro " #~ "normal\n" #~ " -v, --verbose mostrar o nome de cada ficheiro ligado\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "Impossível combinar --target-directory e --no-target-directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Utilização: %s [OPÇÃO]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Exibir o nome do utilizador actual.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "sem nome de utilizador" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "a ignorar valor inválido da variável de ambiente QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "a ignorar largura inválida na variável de ambiente COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "a ignorar tamanho de tab inválido na variável de ambiente TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "largura de linha inválida: %s" #~ msgid "invalid tab size: %s" #~ msgstr "tamanho de tabulação inválido: %s" #~ msgid "invalid time style format %s" #~ msgstr "formato de estilo de tempo inválido %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "prefixo desconhecido: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "a variável de ambiente LS_COLORS tem um valor ilegível" #~ msgid "cannot open directory %s" #~ msgstr "impossível abrir a pasta %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "impossível obter o dispositivo e inode de %s" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: a não listar pasta já listada" #~ msgid "closing directory %s" #~ msgstr "a fechar a pasta %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "impossível comparar os nomes de ficheiro %s e %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Listar informação acerca dos FICHEIROs (a pasta actual por omissão).\n" #~ "Ordenar entradas alfabeticamente se nenhuma de -cftuvSUX e --sort.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all não ignorar entradas iniciadas por .\n" #~ " -A, --almost-all não listar . e .. implícitas\n" #~ " --author com -l, mostrar o autor de cada ficheiro\n" #~ " -b, --escape mostrar sinal. octais para caract. não " #~ "gráficos\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=TAMANHO usar blocos de TAMANHO bytes\n" #~ " -B, --ignore-backups não listar entradas terminadas com ~\n" #~ " -c com -lt: ordenar por e mostrar ctime (tempo " #~ "da\n" #~ " última modificação do estado do ficheiro)\n" #~ " com -l: mostrar ctime e ordenar por nome\n" #~ " senão: ordenar por ctime\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C listar entradas por colunas\n" #~ " --color[=QUANDO] controlar se cor é usada para distinguir " #~ "tipos de\n" #~ " ficheiro. QUANDO é 'never', 'always' ou " #~ "'auto'\n" #~ " -d, --directory listar entradas da pasta em vez do conteúdo " #~ "e não\n" #~ " desreferenciar ligações simbólicas\n" #~ " -D, --dired gerar saída desenhada para o modo de pastas " #~ "Emacs\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f não ordenar, activar -aU, desactivar -ls --" #~ "color\n" #~ " -F, --classify acrescentar indicador (um de */=>@|) às " #~ "entradas\n" #~ " --file-type da mesma forma, excepto não acrescentar '*'\n" #~ " --format=PALAVRA ao longo -x, vírgulas -m, horizontal -x, " #~ "longo -l,\n" #~ " uma coluna -1, verboso -l, vertical -C\n" #~ " --full-time como -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g como -l, mas não listar o dono\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " agrupar pastas antes de ficheiros.\n" #~ " aumentar com uma opção --sort, mas " #~ "qualquer\n" #~ " uso de --sort=none (-U) desactiva " #~ "agrupamento\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group numa listagem longa, não mostrar nomes de " #~ "grupos\n" #~ " -h, --human-readable com -l, mostrar tamanhos legíveis por " #~ "humanos\n" #~ " (ex., 1K 234M 2G)\n" #~ " --si igual, mas usar potências de 1000, não 1024\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " seguir ligações simbólicas listadas na " #~ "consola\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " seguir cada ligação simbólica da linha de\n" #~ " comandos que aponte para uma pasta\n" #~ " --hide=PADRÃO não listar entradas que correspondam ao " #~ "PADRÃO\n" #~ " (redefinido por -a ou -A)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=PAL adicionar indicador com estilo PAL às " #~ "entradas:\n" #~ " none (predefinido), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode mostrar o número de índice de cada ficheiro\n" #~ " -I, --ignore=PADRÃO não listar entradas que correspondam ao " #~ "PADRÃO\n" #~ " -k como --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l usar um formato de listagem longo\n" #~ " -L, --dereference ao mostrar informação para uma ligação " #~ "simbólica,\n" #~ " mostrar informação do ficheiro " #~ "referenciado em\n" #~ " vez da própria ligação\n" #~ " -m encher largura com entradas separadas por ,\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid como -l, mas listar util. numérico e IDs de " #~ "grupo\n" #~ " -N, --literal mostrar nomes em bruto (ex. não tratar " #~ "caracteres\n" #~ " de controlo de forma especial)\n" #~ " -o como -l, mas não listar informação de grupo\n" #~ " -p, --indicator-style=slash\n" #~ " acrescentar indicador / a pastas\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars exibir ? em vez de caracteres não-gráficos\n" #~ " --show-control-chars exibir caracteres não-gráficos (predefinido\n" #~ " a não ser com `ls' e um terminal como " #~ "saída)\n" #~ " -Q, --quote-name colocar aspas nos nomes das entradas\n" #~ " --quoting-style=PALAV usar estilo de citação PALAV para nomes:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse ordem inversa ao ordenar\n" #~ " -R, --recursive listar subpastas recursivamente\n" #~ " -s, --size mostrar o tamanho de cada ficheiro, em " #~ "blocos\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S ordenar por tamanho de ficheiro\n" #~ " --sort=PAL ordenar por PAL em vez de nome: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=PAL com -l, mostrar tempo como PAL, não tempo " #~ "de\n" #~ " modific.: atime -u, access -u, use -u, ctime " #~ "-c,\n" #~ " ou status -c; usar tempo especificado como " #~ "chave\n" #~ " de ordenação se --sort=time\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=ESTILO com -l, mostrat tempos usando o ESTILO:\n" #~ " full-iso, long-iso, iso, locale, +FORMATO.\n" #~ " FORMATO é interpretado como 'date'; se " #~ "FORMATO é\n" #~ " FORMATO1FORMATO2, FORMATO1 " #~ "aplica-se\n" #~ " a ficheiros não recentes e FORMATO2 a " #~ "recentes;\n" #~ " se ESTILO é prefixado com 'posix-', ESTILO " #~ "toma\n" #~ " efeito apenas fora da localização POSIX\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t ordenar por tempo de modificação\n" #~ " -T, --tabsize=COLS assumir TABs de COLS espaços em vez de 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u com -lt: ordenar por, e mostrar, tempo de " #~ "acesso\n" #~ " com -l: mostrar tempo acesso e ordenar por " #~ "nome\n" #~ " senão: ordenar por tempo de acesso\n" #~ " -U não ordenar; listar entradas na ordem da " #~ "pasta\n" #~ " -v ordenar por versão\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=COLS assumir largura de ecrã em vez do valor " #~ "actual\n" #~ " -x listar entradas por linhas, não por colunas\n" #~ " -X ordenar alfabeticamente por extensão\n" #~ " -Z, --context mostrar contextos de segurança SELinux\n" #~ " -1 listar um ficheiro por linha\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Por omissão, não é usada cor para distinguir tipos de ficheiros. Isto é\n" #~ "equivalente a usar --color=none. Usar a opção --color sem o argumento " #~ "opcional\n" #~ "QAUNDO é equivalente a usar --color=always. Com --color=auto, códigos de " #~ "cor\n" #~ "são despejados apenas se a saída padrão estiver conectada a um terminal " #~ "(tty).\n" #~ "A variável de ambiente LS_COLORS pode influenciar as cores e pode ser\n" #~ "facilmente alterada através do comando dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Estado de saída status é 0 se OK, 1 com problemas menores, 2 com erros " #~ "graves.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO] [FICHEIRO]...\n" #~ "Mostrar ou verificar %s somas de controlo (de %d bits).\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ "\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary ler em modo binário (predefinido excepto ao ler " #~ "stdin)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary ler em modo binário\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check ler somas de %s dos FICHEIROs e verificá-las\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text ler em modo de texto (predefinido ao ler " #~ "stdin)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text ler em modo de texto (predefinido)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "As duas seguintes opções são úteis apenas ao verificar somas de " #~ "controlo:\n" #~ " --status não mostrar nada, código de saída mostra " #~ "sucesso\n" #~ " -w, --warn avisar linhas de somas de controlo mal " #~ "formatadas\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "As somas são calculadas como descrito em %s. Ao verificar, a entrada deve " #~ "ser\n" #~ "uma saída anterior deste programa. O modo predefinido é exibir uma linha " #~ "com\n" #~ "soma de controlo, um carácter indicando o tipo ('*' para binário, ' ' " #~ "para\n" #~ "texto) e nome para cada FICHEIRO.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: demasiadas linhas de somas de controlo" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: linha de soma de controlo %s mal formatada" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: ERRO de abertura ou leitura\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: erro de leitura" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: encontradas linhas de somas de controlo %s mal formatadas" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "AVISO: % de % ficheiro listado não lido" #~ msgstr[1] "AVISO: % de % ficheiros listados não lidos" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "AVISO: % de % soma de controlo não corresponde" #~ msgstr[1] "" #~ "AVISO: % de % somas de controlo não correspondem" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "as opções --binary e --text não têm sentido ao verificar somas de controlo" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "a opção --status apenas faz sentido ao verificar somas de controlo" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "a opção --warn apenas faz sentido ao verificar somas de controlo" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Utilização: %s [OPÇÃO] PASTA...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Criar as PASTA(s),caso ainda não existam.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MODO alterar modo do ficheiro (como chmod), não a=rwx - " #~ "umask\n" #~ " -p, --parents sem erro se existir, criar pastas antecessoras se " #~ "preciso\n" #~ " -v, --verbose mostrar uma mensagem para cada pasta criada\n" #~ " -Z, --context=CTX alterar o context de segurança SELinux de cada " #~ "pasta\n" #~ " criada para CTX\n" #~ msgid "created directory %s" #~ msgstr "pasta %s criada" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Utilização: %s [OPÇÃO] NOME...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Criar pipes nomeados (FIFOs) com os NOMEs dados.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=CTX alterar cont. segur. SELinux de cada NOME para CTX\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MODO alterar permissões para MODO, não a=rw - umask\n" #~ msgid "invalid mode" #~ msgstr "modo inválido" #~ msgid "mode must specify only file permission bits" #~ msgstr "modo deve especificar apenas bits de permissão de ficheiro" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Utilização: %s [OPÇÃO]... NOME TIPO [MAIOR MENOR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Criar o ficheiro especial NOME com o TIPO dado.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=CTX alterar contexto de segur. SELinux de NOME para CTX\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Tanto MAIOR como MENOR devem ser especificadas quando TIPO é b, c ou u, e " #~ "devem\n" #~ "ser omitidas quando TIPO é p. Se MAIOR ou MENOR começarem com 0x ou 0X,\n" #~ "é interpretado como hexadecimal; senão, se começarem por 0, como octal;\n" #~ "senão, como decimal. TIPO pode ser:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b criar um ficheiro especial de bloco (protegido)\n" #~ " c, u criar um ficheiro especial de caracteres (não protegido)\n" #~ " p criar um FIFO\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "Ficheiros especiais requerem números maior e menor do dispositivo." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Fifos não possuem números maior e menor de dispositivo." #~ msgid "block special files not supported" #~ msgstr "ficheiros especiais de tipo bloco não suportados" #~ msgid "character special files not supported" #~ msgstr "ficheiros especiais de tipo caracter não suportados" #~ msgid "invalid major device number %s" #~ msgstr "número maior de dispositivo inválido %s" #~ msgid "invalid minor device number %s" #~ msgstr "número menor de dispositivo inválido %s" #~ msgid "invalid device %s %s" #~ msgstr "dispositivo inválido %s %s" #~ msgid "invalid device type %s" #~ msgstr "tipo de dispositivo inválido %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Utilização: %s [OPÇÃO]... [MOLDE]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Criar um ficheiro ou pasta temporários de forma segura e mostrar o nome.\n" #~ "Se MOLDE não for especificado, usar tmp.XXXXXXXXXX.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory criar uma pasta, não um ficheiro\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet sem relatos de erros de criacao de ficheiros/pastas\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run não criar nada; apenas mostrar um nome (inseguro)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=PASTA] interpretar MOLDE relativamente a PASTA. Se PASTA não " #~ "for\n" #~ " especificada, usar $TMPDIR se definida, senão /tmp.\n" #~ " Com esta opção, MOLDE não pode ser um nome " #~ "absoluto.\n" #~ " Contrariamente a -t, MOLDE pode conter barras, mas " #~ "ainda\n" #~ " assim mktemp cria apenas a componente final.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p PASTA usar PASTA como um prefixo; implica -t [obsoleto]\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t interpretar MOLDE como componente de um nome de " #~ "ficheiro,\n" #~ " relativo a uma pasta: $TMPDIR, se definida; senão a\n" #~ " pasta especificada via -p; senão /tmp [obsoleto]\n" #~ msgid "too many templates" #~ msgstr "demasiados moldes (templates)" #~ msgid "too few X's in template %s" #~ msgstr "muito poucos X's no molde (template) %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "molde (template) inválido, %s, contém separador de pastas" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "molde (template) inválido, %s; com --tmpdir, pode não ser absoluto" #~ msgid "failed to create directory via template %s" #~ msgstr "erro ao criar pasta via molde (template) %s" #~ msgid "failed to create file via template %s" #~ msgstr "erro ao criar ficheiro via molde (template) %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Renomear ORIGEM para DESTINO ou mover ORIGEM(ns) para PASTA.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=CONTROLO] savaguardar cada ficheiro de destino " #~ "existente\n" #~ " -b como --backup mas não aceita um argumento\n" #~ " -f, --force não perguntar antes de sobrescrever\n" #~ " -i, --interactive perguntar antes de sobrescrever\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes remover barras no final de cada " #~ "argumento\n" #~ " de ORIGEM\n" #~ " -S, --suffix=SUFIXO redefinir o sufixo de salvaguarda " #~ "habitual\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=PASTA mover todas as ORIGEM(ns) para a PASTA\n" #~ " -T, --no-target-directory tratar DESTINO como um ficheiro normal\n" #~ " -u, --update mover apenas quando a ORIGEM é mais " #~ "recente\n" #~ " que o ficheiro de destino ou quando o\n" #~ " ficheiro de destino não existe\n" #~ " -v, --verbose explicar o que está a ser feito\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Utilização: %s [OPÇÃO] [COMANDO [ARG]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Correr COMANDO com prioridade, ajustada afectando o planeamento de " #~ "processos.\n" #~ "Sem COMANDO, mostrar a prioridade actual. Prioridades variam entre %d\n" #~ "(mais favorável) e %d (menos favorável).\n" #~ "\n" #~ " -n, --adjustment=N somar inteiro N à prioridade (predifinido 10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "ajuste inválido %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "um comando deve ser dado com um ajuste" #~ msgid "cannot get niceness" #~ msgstr "impossível obter nível de prioridade" #~ msgid "cannot set niceness" #~ msgstr "impossível alterar nível de prioridade" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escrever cada FICHEIRO para a saída padrão, com número de linha.\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=ESTILO usar ESTILO para numerar linhas de " #~ "corpo\n" #~ " -d, --section-delimiter=CC usar CC para separar páginas lógicas\n" #~ " -f, --footer-numbering=ESTILO usar ESTILO para numerar linhas de roda-" #~ "pé\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=ESTILO usar ESTILO para numerar linhas de " #~ "cabeçalho\n" #~ " -i, --page-increment=NÚMERO incremento de número de linha em cada " #~ "linha\n" #~ " -l, --join-blank-lines=NÚMERO NÚMERO linhas vazias contadas como uma\n" #~ " -n, --number-format=FORMATO inserir números de linha no FORMATO\n" #~ " -p, --no-renumber não limpar número de linha em páginas " #~ "lógicas\n" #~ " -s, --number-separator=EXP adicionar EXP após (possível) número de " #~ "linha\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NÚMERO numerar primeira linha a cada página " #~ "lógica\n" #~ " -w, --number-width=NÚMERO usar NÚMERO colunas para números de " #~ "linha\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Predefinidamente, seleciona -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC " #~ "são\n" #~ "dois caracteres delimitadores para separar páginas lógicas, um segundo\n" #~ "carácter em falta implica :. Escreva \\\\ para \\. ESTILO é um de:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a numerar todas as linhas\n" #~ " t numerar apenas linhas não vazias\n" #~ " n não numerar linhas\n" #~ " pERB numerar apenas linhas que correspondam à expressão regular\n" #~ " básica, ERB\n" #~ "\n" #~ "FORMATO é um de:\n" #~ "\n" #~ " ln alinhado à esquerda, sem zeros iniciais\n" #~ " rn alinhar à direita, sem zeros iniciais\n" #~ " rz alinhar à direita, com zeros iniciais\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "número de linha demasiado grande" #~ msgid "invalid header numbering style: %s" #~ msgstr "estilo de numeração de cabeçalho inválido: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "estilo de numeração de corpo inválido: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "estilo de numeração de roda-pé inválido: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "número de linha inicial inválido: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "incremento de número de linha inválido: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "número inválido de linhas em branco: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "largura de campo de número de linha inválida: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "formato de numeração de linha inválido: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s COMANDO [ARG]...\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Executar COMANDO, ignorando sinais de término.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Se a entrada padrão é um terminal, redireccioná-la de /dev/null.\n" #~ "Se a saída padrão é um terminal, acrecentar saída a 'nohup.out' se " #~ "possível,\n" #~ "senão '$HOME/nohup.out'.\n" #~ "Se o erro padrão é um terminal, redireccioná-lo para a saída padrão.\n" #~ "Para gravar a saída para FICHEIRO, use '%s COMANDO > FICHEIRO'.\n" #~ msgid "ignoring input" #~ msgstr "a ignorar a entrada" #~ msgid "failed to open %s" #~ msgstr "erro ao abrir %s" #~ msgid "ignoring input and appending output to %s" #~ msgstr "a ignorar a entrada e a acrescentar a saída a %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "erro ao configurar a cópia de stderr para fechar em exec" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "a ignorar entrada e a redireccionar stderr para stdout" #~ msgid "failed to redirect standard error" #~ msgstr "erro ao redireccionar o canal de erro padrão" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... [FICHEIRO]...\n" #~ " ou: %s [-abcdfilosx]... [FICHEIRO] [[+]POSIÇÃO[.][b]]\n" #~ " ou: %s --traditional [OPÇÃO]... [FICHEIRO] [[+]POSIÇÃO[.][b] [+]" #~ "[ETIQUETA][.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Escrever uma representação não ambígua, predefinidamente bytes octais,\n" #~ "de FICHEIRO para a saída padrão. Com mais de um argumento FICHEIRO,\n" #~ "concatená-los na ordem listada para formar a entrada.\n" #~ "Sem FICHEIRO ou quando FILE é -, ler a entrada padrão.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Todos os argumentos de opções longas são mandatórios para opções curtas.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=RADICAL decidir como exibir índices de ficheiros\n" #~ " -j, --skip-bytes=BYTES saltar BYTES bytes de entrada iniciais\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BYTES limitar a BYTES bytes de entrada\n" #~ " -S, --strings[=BYTES] despejar cadeias de pelo menos BYTES " #~ "caracteres\n" #~ " -t, --format=TIPO seleccionar formato ou formatos de saída\n" #~ " -v, --output-duplicates não usar * para marcar supressão de linha\n" #~ " -w, --width[=BYTES] despejar BYTES bytes por linha de saída\n" #~ " --traditional aceitar argumentos na forma tradicional\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Especificações de formato tradicionais podem ser combinadas; elas " #~ "acumulam:\n" #~ " -a como -t a, seleccionar caract. nomeados ignorando bit de ordem " #~ "alta\n" #~ " -b como -t o1, seleccionar bytes octais\n" #~ " -c como -t c, seleccionar caract. ASCII ou barras invertidas " #~ "sinalizadas\n" #~ " -d como -t u2, seleccionar unidades de 2 bytes decimais positivas\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f como -t fF, seleccionar reais\n" #~ " -i como -t dI, seleccionar inteiros decimais\n" #~ " -l como -t dL, seleccionar decimais longos\n" #~ " -o como -t o2, seleccionar unidades octais de 2 bytes\n" #~ " -s como -t d2, seleccionar unidades decimais de 2 bytes\n" #~ " -x como -t x2, seleccionar unidades hexadeciamis de 2 bytes\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Se ambos o primeiro e segundo formatos se aplicarem, o segundo é assumido " #~ "se\n" #~ "o último operando começar por + ou (se houver 2 operandos) um dígito.\n" #~ "Um operando ÍNDICE significa -j ÍNDICE. ETIQUETA é o pseudo-endereço do\n" #~ "primeiro byte mostrado, incrementado ao longo que se despeja.\n" #~ "Para ÍNDICE e ETIQUETA, um prefixo 0x ou 0X indica hexadecimal;\n" #~ "sufixos podem ser . para octal e b para multiplicar por 512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "TIPO é feito de uma ou mais destas especificações:\n" #~ "\n" #~ " a carácter nomeado, ignorando o bit de alta ordem\n" #~ " c carácter ASCII ou barra invertida sinalizada\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[TAMANHO] decimal com sinal, TAMANHO bytes por inteiro\n" #~ " f[TAMANHO] vírgula flutuante, TAMANHO bytes por inteiro\n" #~ " o[TAMANHO] octal, TAMANHO bytes por inteiro\n" #~ " u[TAMANHO] decimal sem sinal, TAMANHO bytes por inteiro\n" #~ " x[TAMANHO] hexadecimal, TAMANHO bytes por inteiro\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "TAMANHO é um número. Para TIPO em doux, TAMANHO pode também ser C para\n" #~ "sizeof(char), S para sizeof(short), I para sizeof(int) or L para\n" #~ "sizeof(long). Se TIPO é f, TAMANHO pode também ser F para sizeof(float), " #~ "D\n" #~ "para sizeof(double) ou L para sizeof(long double).\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "RAIZ é d para decimal, o para octal, x para hexadecimal ou n para " #~ "nenhum.\n" #~ "BYTES é hexadecimal com prefixo 0x ou 0X, e pode ter um sufixo " #~ "multiplicador:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, e por aí fora para T, P, E, Z, Y.\n" #~ "Adicionando um sufixo z a qualquer tipo mostra caracteres exibíveis no " #~ "fim de\n" #~ "cada linha de saída. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string sem um número implica 3. --width sem um número\n" #~ "implica 32. Por omissão, od usa -A o -t d2 -w16.\n" #~ msgid "invalid type string %s" #~ msgstr "expressão inválida %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "expressão de tipo inválida %s;\n" #~ "este sistema não providencia um tipo integral de %lu bytes" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "expressão de tipo inválida %s;\n" #~ "este sistema não providencia um tipo de vírgula flutuante de %lu bytes" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "carácter inválido '%c' na expressão de tipo %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "impossível slatar depois do fim da entrada combinada" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "radical de endereço de saída '%c' inválido; tem de ser um carácter de " #~ "[doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "nenhum tipo pode ser especificado ao despejar expressões" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Modo de compatibilidade suporta no máximo um ficheiro." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "skip-bytes + read-bytes é demasiado grande" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "aviso: largura inválida %lu; a usar %d ao invés" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" largr=%d\n" #~ msgid "standard input is closed" #~ msgstr "o canal de entrada padrão está fechado" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escrever linhas consistindo das linhas correspondentes sequencialmente " #~ "de\n" #~ "cada FICHEIRO, separadas por TABs, para a saída padrão.\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LISTA reusar caracteres de LISTA em vez de TABs\n" #~ " -s, --serial colar um ficheiro de cada vez em vez de em " #~ "paralelo\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "" #~ "lista de delimitadores termina com uma barra invertida assinalada: %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Utilização: %s [OPÇÃO]... NOME...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Diagnosticar construções não portáveis em NOME.\n" #~ "\n" #~ " -p verificar para a maioria dos sistemas POSIX\n" #~ " -P verificar nomes vazios e '-' no início\n" #~ " --portability verificar todos os sistemas POSIX (equivalente a -p " #~ "-P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "'-' no início de uma componente do nome de ficheiro %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "carácter não portável %s no nome de ficheiro %s" #~ msgid "empty file name" #~ msgstr "nome de ficheiro vazio" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: erro ao determinar o comprimento máximo de nome de ficheiro" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "limite %lu excedido por comprimento %lu do nome de ficheiro %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "" #~ "limite %lu excedido por comprimento %lu da componente do nome de ficheiro " #~ "%s" #~ msgid "Login name: " #~ msgstr "Nome de utilizador: " #~ msgid "In real life: " #~ msgstr "Na vida real: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Pasta: " #~ msgid "Shell: " #~ msgstr "Consola: " #~ msgid "Project: " #~ msgstr "Projecto: " #~ msgid "Plan:\n" #~ msgstr "Plan:\n" #~ msgid "Login" #~ msgstr "Utilizador" #~ msgid "Name" #~ msgstr "Nome" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Inactivo" #~ msgid "When" #~ msgstr "Quando" #~ msgid "Where" #~ msgstr "Onde" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Utilização: %s [OPÇÃO]... [UTILIZADOR]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l produzir saída longa para os UTILIZADORes " #~ "especificados\n" #~ " -b omitir a pasta pessoa do utilizador e shell em formato " #~ "longo\n" #~ " -h omitir o ficheiro de projecto do utilizador em formato " #~ "longo\n" #~ " -p omitir o ficheiro de plano do utilizador em formato " #~ "longo\n" #~ " -s produzir saída curta (predefinido)\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f omitir a linha de títulos de coluna em formato curto\n" #~ " -w omitir o nome completo do utilizador em formato curto\n" #~ " -i omitir nome comp. do util. e máquina remota em formato " #~ "curto\n" #~ " -q omitir o nome completo do utilizador, máquina remota e " #~ "tempo\n" #~ " de inactividade em formato curto\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Um programa 'finger' leve; exibir informação de utilizador.\n" #~ "O ficheiro utmp será %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "nenhum utilizador especificado; pelo menos um deve sê-lo com -l" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "'--pages=PRIM_PÁG[:ÚLT_PÁG]' argumento em falta" #~ msgid "Invalid page range %s" #~ msgstr "Alcance de página inválido %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "'-l COMP_PÁG' número inválido de linhas: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "'-N NÚMERO' número de linha inicial inválido: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "'-o MARGEM' índice de linha inválido: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "'-w COMP_PÁG' número de caracteres inválido: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "'-W COMP_PÁG' número inválido de caracteres: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Impossível especificar número de colunas ao escrever em paralelo." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "" #~ "Impossível especificar simultaneamente escrita paralela e não paralela." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "'-%c' caracteres extra ou número inválido no argumento: %s" #~ msgid "page width too narrow" #~ msgstr "largura de página muito estreita" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "número de página inicial % excede contagem de páginas %" #~ msgid "Page number overflow" #~ msgstr "Excesso de número de página" #~ msgid "Page %" #~ msgstr "Página %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Paginar ou colunizar FICHEIRO(s) para impressão.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +PRIM_PÁG[:ÚLT_PÁG], --pages=PRIM_PÁG[:ÚLT_PÁG]\n" #~ " iniciar [parar] impressão com página PRIM_[ÚLT_]PÁG\n" #~ " -COLUNAS, --columns=COLUNAS\n" #~ " despejar COLUNAS colunas e mostrar colunas " #~ "descendentemente\n" #~ " excepto se -a for usada. Equilibrar o número de " #~ "linhas nas\n" #~ " colunas de cada página.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across imprimir colunas em largura, não altura, usado em " #~ "conjunto\n" #~ " com -COLUNAS\n" #~ " -c, --show-control-chars\n" #~ " usar notações de chapéu (^G) e barra invertida octal\n" #~ " -d, --double-space\n" #~ " duplicar o espaço da saída\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMATO\n" #~ " usar FORMATO para a data de cabeçalho\n" #~ " -e[CAR[LARGURA]], --expand-tabs[=CAR[LARGURA]]\n" #~ " expandir CARacteres de entrada (TABs) para LARGURA " #~ "(8)\n" #~ " -F, -f, --form-feed\n" #~ " usar form feeds em vez de nova linha para separar " #~ "páginas\n" #~ " (por um cabeçalho de página de 3 linhas com -F ou\n" #~ " cabeçalho e reboque de 5 linhas sem -F)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h CABEÇALHO, --header=CABEÇALHO\n" #~ " usar um CABEÇALHO centrado em vez do nome do " #~ "ficheiro,\n" #~ " -h \"\" imprime uma linha vazia, não use -h\"\"\n" #~ " -i[CAR[LARGURA]], --output-tabs[=CAR[LARGURA]]\n" #~ " substituir espaços por CARs (TABs) com LARGURA (8)\n" #~ " -J, --join-lines juntar linhas completas, desactiva truncagem -W, sem\n" #~ " alinhamento de cols., --sep-string[=EXP] define " #~ "separadores\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l ALT_PÁG, --length=ALT_PÁG\n" #~ " altera a altura de página para ALT_PÁG (66) linhas\n" #~ " (predefinido 56 linhas de texto, 63 com -F)\n" #~ " -m, --merge imprimir todos os ficheiros em paralelo, um em cada " #~ "coluna,\n" #~ " truncar linhas, mas juntar linhas de altura completa " #~ "com -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEP[DÍGITOS]], --number-lines[=SEP[DÍGITOS]]\n" #~ " numerar linhas, usar DÍGITOS (5) dígitos, depois SEP " #~ "(TAB),\n" #~ " contagem predefinida começa com a primeira linha de " #~ "entrada\n" #~ " -N NÚMERO, --first-line-number=NÚMERO\n" #~ " contar a partir de NÚMERO na primeira linha da " #~ "primeira\n" #~ " página impressa (ver +PRIM_PÁG)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARGEM, --indent=MARGEM\n" #~ " iniciar cada linha com MARGEM (zero) espaços, não\n" #~ " afectar -w ou -W, MARGEM será adicionada a LARG_PÁG\n" #~ " -r, --no-file-warnings\n" #~ " omitir aviso quando um ficheiro não puder ser aberto\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[CAR],--separator[=CAR]\n" #~ " separar colunas por um único carácter, predefinido " #~ "para CAR\n" #~ " é o carácter sem -w e nenhum com -w\n" #~ " -s[CAR] desactiva truncagem de linha de todas as 3 " #~ "opções\n" #~ " de colunas (-COLUNAS|-a -COLUNAS|-m), excepto com -w\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SEXPR, --sep-string[=EXPR]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " separar colunas por EXPR,\n" #~ " sem -S: Separador predefinido com -J, senão " #~ "\n" #~ " (o mesmo que -S\" \"), não afecta opções de colunas\n" #~ " -t, --omit-header omitir cabeçalhos e reboques de página\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " omitir cabeçalhos e reboques de página, eliminar " #~ "paginação\n" #~ " por form feeds nos ficheiros de entrada\n" #~ " -v, --show-nonprinting\n" #~ " usar notação de barra invertida octal\n" #~ " -w LARG_PÁG, --width=LARG_PÁG\n" #~ " alterar largura de página para LARG_PÁG (72) " #~ "caracteres só\n" #~ " para saída de múlt. cols. de texto, -s[char] " #~ "desactiva (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W LARG_PÁG, --page-width=LARG_PÁG\n" #~ " alterar largura de página para LARG_PÁG (72) " #~ "caracteres\n" #~ " sempre, truncar linhas, excepto com -J, sem " #~ "interferência\n" #~ " com -S ou -s\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-t é implícito se COMP_PÁG <= 10. Sem FICHEIRO, ou quando\n" #~ "FICHIERO é -, ler a entrada padrão.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Utilização: %s [VARIÁVEL]...\n" #~ " ou: %s OPÇÃO\n" #~ "Sem qualquer VARIÁVEL especificada, exibir todas.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "aviso: %s: carácter(acteres) a seguir a carácter constante foram ignorados" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s FORMATO [ARGUMENTO]...\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Exibir ARGUMENTO(s) no FORMATO, ou executar de acordo com OPÇÃO:\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "FORMATO controla a saída como em printf do C. Sequências interpretadas " #~ "são:\n" #~ "\n" #~ " \\\" aspas\n" #~ " \\NNN carácter com valor octal NNN (1 a 3 dígitos)\n" #~ " \\\\ barra invertida\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a alerta (BEL)\n" #~ " \\b espaço atrás (backspace)\n" #~ " \\c não produzir mais saída\n" #~ " \\f form feed\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n nova linha\n" #~ " \\r carriage return\n" #~ " \\t tabulador horizontal\n" #~ " \\v tabulador vertical\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH byte com valor hexadecimal HH (1 a 2 dígitos)\n" #~ " \\uHHHH carácter Unicode (ISO/IEC 10646) com valor hex HHHH (4 " #~ "dígitos)\n" #~ " \\UHHHHHHHH carácter Unicode com valor HHHHHHHH (8 dígitos)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% um único %\n" #~ " %b ARGUMENTO como uma expressão com escapes '\\' interpretados,\n" #~ " excepto que escapes octais são da forma \\0 ou \\0NNN\n" #~ "\n" #~ "e todas as especificações de formato C que terminem com um de " #~ "diouxXfeEgGcs,\n" #~ "ARGUMENTOs convertidos para tipo devido antes. Larguras variáveis são " #~ "aceites.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: valor numérico esperado" #~ msgid "%s: value not completely converted" #~ msgstr "%s: valor não convertido na totalidade" #~ msgid "missing hexadecimal number in escape" #~ msgstr "falta um número hexadecimal no caracter de escape" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "nome de carácter universal inválido \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "largura de campo inválida: %s" #~ msgid "invalid precision: %s" #~ msgstr "precisão inválida: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: especificação de conversão inválida" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "aviso: a ignorar argumentos excessivos, a começar por %s" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (para expressão regular %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... [ENTRADA]... (sem -G)\n" #~ " ou: %s -G [OPÇÃO]... [ENTRADA [SAÍDA]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Despejar um índice permutado, incluindo contexto, das palavras nos " #~ "ficheiros de entrada.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference despejar referências geradas " #~ "automaticamente\n" #~ " -G, --traditional actuar mais de acordo com o 'ptx' System " #~ "V\n" #~ " -F, --flag-truncation=EXPR usar EXPR para marcar truncagens de " #~ "linhas\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=EXPR nome de macro a usar em vez de 'xx'\n" #~ " -O, --format=roff gerar saída como directivas roff\n" #~ " -R, --right-side-refs referências à direita, ignoradas com -w\n" #~ " -S, --sentence-regexp=EXPREG para fins de linhas ou frases\n" #~ " -T, --format=tex gerar saída como directivas TeX\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=EXPREG usar EXPREG para combinar cada palavra-" #~ "chave\n" #~ " -b, --break-file=FICHEIRO caracteres separação palavras neste " #~ "FICHEIRO\n" #~ " -f, --ignore-case ignorar capitalização\n" #~ " -g, --gap-size=NÚMERO espaço entre campos de saída, em " #~ "colunas\n" #~ " -i, --ignore-file=FICHEIRO ler lista palavras a ignorar de " #~ "FICHEIRO\n" #~ " -o, --only-file=FICHEIRO ler lista palavras únicas de FICHEIRO\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references primeiro campo de cada linha é uma " #~ "referência\n" #~ " -t, --typeset-mode - não implementado -\n" #~ " -w, --width=NÚMERO largura saída em colunas, referência " #~ "excluída\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Sem FICHEIRO ou se FICHEIRO é -, ler a entrada padrão. '-F /' por " #~ "omissão.\n" #~ msgid "invalid gap width: %s" #~ msgstr "largura de espaço inválida: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Mostrar o caminho completo da pasta de trabalho actual.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "erro ao entrar na pasta %s" #~ msgid "failed to stat %s" #~ msgstr "erro ao analisar %s" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "entrada de pasta não encontrada em %s com i-node correspondente" #~ msgid "ignoring non-option arguments" #~ msgstr "a ignorar argumentos não-opção" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Utilização: %s [OPÇÃO]... FICHEIRO\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Exibir o valor de uma ligação simbólica.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize canonizar seguindo todas as ligações " #~ "simbólicas\n" #~ " em cada componente do nome dado " #~ "recursivamente;\n" #~ " todas as componentes menos última devem " #~ "existir\n" #~ " -e, --canonicalize-existing canonizar seguindo todas as ligações " #~ "simbólicas\n" #~ " em cada componente do nome dado " #~ "recursivamente,\n" #~ " todas as componentes devem existir\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing canonizar seguindo todas as ligações " #~ "simbólicas\n" #~ " em cada componente do nome dado " #~ "recursivamente,\n" #~ " sem requisitos na existência das " #~ "componentes\n" #~ " -n, --no-newline não despejar fim de linha\n" #~ " -q, --quiet,\n" #~ " -s, --silent suprimir a maioria das mensagens de erro\n" #~ " -v, --verbose relatar os erros\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAL: erro ao fechar a pasta %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATAL: erro ao abrir .. de %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "FATAL: impossível assegurar que %s é seguro" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATAL: pasta %s mudou dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAL: impossível entrar na pasta %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "FATAL: pasta acabada de entrar %s mudou dev/ino" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "AVISO: Estrutura de pastas circular.\n" #~ "Isto significa quase de certeza que o sistema de ficheiros está " #~ "corrompido.\n" #~ "NOTIFIQUE O ADMINISTRADOR DO SISTEMA.\n" #~ "A pasta seguinte pertence ao ciclo:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: entrar na pasta protegida contra escrita %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: entrar na pasta %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: remover %s %s protegido contra escrita?" #~ msgid "%s: remove %s %s? " #~ msgstr "%s: remover %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "pasta removida: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "erro ao fechar a pasta %s" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "a saltar %s, uma vez que se encontra noutro dispositivo" #~ msgid "cannot remove directory %s" #~ msgstr "impossível remover a pasta %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAL: impossível retornar a .. a partir de %s" #~ msgid "cannot remove root directory %s" #~ msgstr "impossível remover a pasta raiz %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "impossível remover %s" #~ msgid "cannot restore current working directory" #~ msgstr "impossível restaurar a pasta de trabalho actual" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Tente '%s ./%s' para remover o ficheiro %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Utilização: %s [OPÇÃO]... FICHEIRO...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Remover (desligar) FICHEIRO(s).\n" #~ "\n" #~ " -f, --force ignorar ficheiros inexistentes, nunca perguntar\n" #~ " -i perguntar antes de cada remoção\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I perguntar uma vez antes de remover mais de 3 " #~ "ficheiros\n" #~ " ou ao remover recursivamente. Menos intrusivo " #~ "que -i,\n" #~ " protegendo ainda contra a maioria dos erros\n" #~ " --interactive[=QUANDO] perguntlr de acordo com QUANDO: never, once " #~ "(-I)\n" #~ " ou always (-i). Sem QUANDO, perguntar sempre\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system ao remover uma hierarquia recursivamente, " #~ "saltar\n" #~ " pastas de um sistema de ficheiros diferente do\n" #~ " do argumento especificado na linha de comandos\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root não tratar '/' de forma especial\n" #~ " --preserve-root não remover '/' (predefinido)\n" #~ " -r, -R, --recursive remover pastas e seus conteúdos recursivamente\n" #~ " -v, --verbose explicar o que está a ser feito\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Por omissão, rm não remove pastas. Use a opção --recursive (-r ou -R)\n" #~ "para remover cada pasta listada também, bem como os seus conteúdos.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Para remover um ficheiro cujo nome começa por '-', por exemplo '-foo',\n" #~ "utilize um destes comandos:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Note que se usar rm para remover um ficheiro, normalmente é possível " #~ "recuperar\n" #~ "os conteúdos desse ficheiro. Se quiser maior garantia que os conteúdos " #~ "sejam\n" #~ "realmente irrecuperáveis, considere a utilização de shred.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: remover todos os argumentos recursivamente? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: remover todos os argumentos? " #~ msgid "removing directory, %s" #~ msgstr "a remover a pasta, %s" #~ msgid "failed to remove directory %s" #~ msgstr "erro ao remover a pasta %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Utilização: %s [OPÇÃO]... PASTA...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Remover a(s) PASTA(s), se estiverem vazias.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignorar erros relacionadas unicamente com o facto de " #~ "uma\n" #~ " pasta não estar vazia\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents Remover PASTA e antecedentes. Ex.: 'rmdir -p a/b/c' é\n" #~ " semelhante a 'rmdir a/b/c a/b a'.\n" #~ " -v, --verbose Exibir um diagnóstico para cada pasta processada\n" #~ msgid "failed to remove %s" #~ msgstr "erro ao remover %s" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Utilização: %s CONTEXTO COMANDO [args]\n" #~ " ou: %s [ -c ] [-u UTILIZADOR] [-r PAPEL] [-t TIPO] [-l ALCANCE] " #~ "COMANDO [args]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "EXecutar um programa num contexto de segurança diferente.\n" #~ "Sem CONTEXTO nem COMANDO, mostrar o actual contexto de segurança.\n" #~ "\n" #~ " CONTEXTO Contexto de segurança completo\n" #~ " -c, --compute computar contexto transição do processo antes de " #~ "mudar\n" #~ " -t, --type=TIPO tipo (para mesmo papel que pai)\n" #~ " -u, --user=UTILIZADOR identidade do utilizador\n" #~ " -r, --role=PAPEL papel\n" #~ " -l, --range=ALCANCE intervalo de nível\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "múltiplos papéis" #~ msgid "multiple types" #~ msgstr "múltiplos tipos" #~ msgid "multiple users" #~ msgstr "múltiplos utilizadores" #~ msgid "multiple levelranges" #~ msgstr "múltiplos intervalos de nível" #~ msgid "failed to get current context" #~ msgstr "erro ao obter o contexto actual" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "deve especificar -c, -t, -u, -l, -r ou contexto" #~ msgid "no command specified" #~ msgstr "nenhum comando especificado" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "runcon apenas pode ser usado com SELinux activado" #~ msgid "failed to compute a new context" #~ msgstr "erro ao computar um novo contexto" #~ msgid "failed to set new user %s" #~ msgstr "erro ao definir o novo utilizador %s" #~ msgid "failed to set new type %s" #~ msgstr "erro ao definir o novo tipo %s" #~ msgid "failed to set new range %s" #~ msgstr "erro ao definir o novo intervalo %s" #~ msgid "failed to set new role %s" #~ msgstr "erro ao definir o novo papel %s" #~ msgid "unable to set security context %s" #~ msgstr "erro ao definir o context de segurança %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... ÚLTIMO\n" #~ " ou: %s [OPÇÃO]... PRIMEIRO ÚLTIMO\n" #~ " ou: %s [OPÇÃO]... PRIMEIRO INCREMENTO ÚLTIMO\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Exibir números de PRIMEIRO a ÚLTIMO, em intervalos de INCREMENTO.\n" #~ "\n" #~ " -f, --format=FORMATO usar FORMATO vírgula flutuante estilo printf " #~ "style\n" #~ " -s, --separator=EXPR usar EXPR para separar números (predefinido: " #~ "\\n)\n" #~ " -w, --equal-width equalizar largura preenchendo zeros iniciais\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Se PRIMEIRO ou INCREMENTO for omitido, assume-se 1. Isto é, um " #~ "INCREMENTO\n" #~ "omitido assume-se 1 mesmo quando ÚLTIMO é mais pequeno que PRIMEIRO.\n" #~ "PRIMEIRO, INCREMENTO e ÚLTIMO são interpretados como valores reais.\n" #~ "INCREMENTO é habitualmente positivo se PRIMEIRO é menor que ÚLTIMO, e\n" #~ "INCREMENTO é habitualmente negativo se PRIMEIRO é maior que ÚLTIMO.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "FORMATO deve ser indicado para mostrar um argumento de tipo 'double';\n" #~ "predefinido como %.PRECf se PRIMEIRO, INCREMENTO e ÚLTIMO são todos " #~ "números\n" #~ "decimais de ponto fixo com precisão máxima PREC, seno como %g.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "argumento em vírgula flutuante inválido: %s" #~ msgid "no %% directive in format string %s" #~ msgstr "nenhuma directiva %% na expressão de formato %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "demasiadas directivas %% na expressão de formato %s" #~ msgid "invalid format string: %s" #~ msgstr "expressão de formatação inválida: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "a expressão de formatação não deve ser especificada ao mostrar expressões " #~ "da mesma largura" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s OPÇÃO UTILIZADOR COMANDO [ARGUMENTO]...\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Descartar grupos suplementares, assumir IDs de utilizador e grupo do " #~ "UTILIZADOR\n" #~ "especificado (ID numérico ou nome) e executar COMANDO com ARGUMENTOs.\n" #~ "Sair com estado 111 se incapaz de assumir IDs de utilizador e grupo " #~ "requeridos.\n" #~ "Caso contrário, sair com o estado de saída de COMANDO.\n" #~ "Este programa é útil apenas quando executado pelo superutilizador (ID " #~ "zero).\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] definir também o ID de grupo primário como GID " #~ "numérico\n" #~ " e (se pedido) IDs de grupo suplementares como " #~ "GID1, ...\n" #~ msgid "unknown user-ID: %s" #~ msgstr "ID de utilizador desconhecido: %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "para usar o ID de utilizador %s necessita usar -g também" #~ msgid "failed to set supplemental group(s)" #~ msgstr "erro ao definir grupo(s) adicional(is)" #~ msgid "cannot set group-ID to %lu" #~ msgstr "impossível alterar o identificador de grupo para %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "impossível alterar o identificador de utilizador para %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Utilização: %s [OPÇÕES]... FICHEIRO [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Sobrescrever os FICHEIRO(s) especificados repetidamente, de forma a " #~ "tornar\n" #~ "ainda mais difícil recuperar os dados mesmo para equipamento muito caro.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force alterar permissões para permitir escrita se necessário\n" #~ " -n, --iterations=N Sobrescrever N vezes em vez do predefinido (%d)\n" #~ " --random-source=FICH obter bytes aleatórios de FICH (/dev/" #~ "urandom)\n" #~ " -s, --size=N destruir N bytes (sufixos como K, M e G são aceites)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove truncar e remover o ficheiro após sobrescrever\n" #~ " -v, --verbose exibir o progresso\n" #~ " -x, --exact não arredondar tamanhos de ficheiro para próximo bloco;\n" #~ " predefinido para ficheiros não regulares\n" #~ " -z, --zero adicionar zeros no final da escrita para esconder " #~ "destruição\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Se FICHEIRO é -, destruir a saída padrão.\n" #~ "\n" #~ "Remover FICHEIRO(s) se --remove (-u) for especificada. Por omissão, não " #~ "se\n" #~ "removem os ficheiros porque é comum operar-se em ficheiros de " #~ "dispositivos como\n" #~ "/dev/hda e habitualmente não devem ser removidos. Ao operar em ficheiros\n" #~ "regulares, a opção mais comum é --remove option.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "ATENÇÃO: Note que shred baseia-se numa assunção muito importante:\n" #~ "que o sistema de ficheiro sobrescreve dados no lugar. Este é o modo " #~ "tradicional\n" #~ "de o fazer, mas alguns sistemas modernos não satisfazem esta assunção.\n" #~ "Seguem-se exemplos de sistemas de ficheiros em que shred não é eficaz, " #~ "ou\n" #~ "não é garantido que seja eficaz em todos os modos do sistema de " #~ "ficheiros:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* sistemas de ficheiros com journaling, como os fornecidos com AIX e " #~ "Solaris\n" #~ "(e JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* sistemas de ficheiros que escrevem dados redundantes e continuam, mesmo " #~ "após\n" #~ "falhas de escrita, como sistemas de ficheiros baseados em RAID\n" #~ "\n" #~ "* sistemas com imagens instantâneas, como Network Appliance's NFS server\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* sistemas de ficheiros com cache em locais temporários, como clientes\n" #~ "NFS versão 3\n" #~ "\n" #~ "* sistemas de ficheiros com compressão\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "No caso de sistemas de ficheiros ext3, o texto acima aplica-se\n" #~ "(e shred tem portanto eficácia limitada) apenas em modo data=journal,\n" #~ "que regista dados de ficheiros além de apenas metadata. Em ambos os " #~ "modos\n" #~ "data=ordered (predefinido) e data=writeback, shred funciona como " #~ "habitualmente.\n" #~ "Modos de journaling ext3 podem slr alterados adicionando a opção " #~ "data=something\n" #~ "às opções de montagem para um sistemas de ficheiros particular em /etc/" #~ "fstab,\n" #~ "como documentado na página de manual mount (man mount).\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Adicionalmente, salvaguardas de sistemas de ficheiros e espelhos remotos " #~ "podem\n" #~ "conter cópias do ficheiro que não podem ser removidas e isso permitirá " #~ "que um\n" #~ "ficheiro destruído seja recuperado mais tarde.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: error de fdatasync" #~ msgid "%s: fsync failed" #~ msgstr "%s: error de fsync" #~ msgid "%s: cannot rewind" #~ msgstr "%s: impossível retroceder" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: pass %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: erro ao escrever na posição %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: erro de lseek" #~ msgid "%s: file too large" #~ msgstr "%s: ficheiro demasiado grande" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: pass %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: erro de fstat" #~ msgid "%s: invalid file type" #~ msgstr "%s: tipo de ficheiro inválido" #~ msgid "%s: file has negative size" #~ msgstr "%s: ficheiro tem tamanho negativo" #~ msgid "%s: error truncating" #~ msgstr "%s: erro de truncagem" #~ msgid "%s: fcntl failed" #~ msgstr "%s: erro de fcntl" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: impossível destruir ficheiro (apenas se pode acrescentar)" #~ msgid "%s: removing" #~ msgstr "%s: a remover" #~ msgid "%s: renamed to %s" #~ msgstr "%s: renomeado para %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: impossível remover" #~ msgid "%s: removed" #~ msgstr "%s: removido" #~ msgid "%s: failed to close" #~ msgstr "%s: erro ao fechar" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: erro ao abrir para escrita" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: número de passagens inválido" #~ msgid "multiple random sources specified" #~ msgstr "múltiplas origens aleatórias especificadas" #~ msgid "%s: invalid file size" #~ msgstr "%s: tamanho de ficheiro inválido" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO]... [FICHEIRO]\n" #~ " ou: %s -e [OPÇÃO]... [ARG]...\n" #~ " ou: %s -i BAIXO-ALTO [OPÇÃO]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Escrever uma permutação aleatória das linhas de entrada na saída padrão.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo tratar cada ARG com ouma linha de entrada\n" #~ " -i, --input-range=BAIXO-ALTO tratar cada núm. BAIXO a ALTO como " #~ "entrada\n" #~ " -n, --head-lines=LINHAS despejar no máximo LINHAS linhas\n" #~ " -o, --output=FICHEIRO escrever resultado em FICHEIRO, não saída " #~ "padrão\n" #~ " --random-source=FICH obter bytes aleatórios de FICH (/dev/" #~ "urandom)\n" #~ " -z, --zero-terminated terminar linhas com byte zero, não nova " #~ "linha\n" #~ msgid "multiple -i options specified" #~ msgstr "múltiplas opções -i especificadas" #~ msgid "invalid input range %s" #~ msgstr "intervalo de entrada inválido %s" #~ msgid "invalid line count %s" #~ msgstr "contagem de linhas inválida %s" #~ msgid "multiple output files specified" #~ msgstr "múltiplos ficheiros de saída especificados" #~ msgid "extra operand %s\n" #~ msgstr "operando extra %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Utilização: %s NÚMERO[SUFIXO]...\n" #~ " ou: %s OPÇÃO\n" #~ "Pausar por NÚMERO segundos. SUFIXO pode ser 's' para segundos " #~ "(predefinido),\n" #~ "'m' para minutos, 'h' para horas ou 'd' para dias. Oposto a outras " #~ "versões\n" #~ "que requerem NÚMERO inteiro, aqui NÚMERO pode ser um real arbitrário.\n" #~ "Dados dois ou mais argumentos, pausar pela quantidade de tempo " #~ "especificada\n" #~ "pela soma dos seus valores.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "intervalo de tempo inválido %s" #~ msgid "cannot read realtime clock" #~ msgstr "impossível consultar relógio de tempo real" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Escrever concatenação ordenada de todos os FICHEIROs na saída padrão.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Opções de ordenação:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ignorar espaços iniciais\n" #~ " -d, --dictionary-order considerar apenas espaços e car. " #~ "alfanuméricos\n" #~ " -f, --ignore-case ignorar capitalização de letras\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort comparar de acordo com valor numérico " #~ "genérico\n" #~ " -i, --ignore-nonprinting considerar apenas caracteres " #~ "representáveis\n" #~ " -M, --month-sort comparar (desconhecido) < 'JAN' < ... < " #~ "'DEC'\n" #~ " -n, --numeric-sort comparar de acordo com valor numérico\n" #~ " -R, --random-sort ordenar por geração aleatória de chaves\n" #~ " --random-source=FICH obter bytes aleatórios de FICH (/dev/" #~ "urandom)\n" #~ " --sort=PALAVRA ordenar de acordo com PALAVRA:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse inverter o resultado das comparações\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Outras opções:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first verificar entrada ordenada; não " #~ "ordenar\n" #~ " -C, --check=quiet, --check=silent como -c mas não avisar primeira " #~ "linha má\n" #~ " --compress-program=PROG comprimir temporários com PROG;\n" #~ " descomprimir com PROG -d\n" #~ " -k, --key=POS1[,POS2] iniciar uma chave na POS1, acabar POS2 " #~ "(origem 1)\n" #~ " -m, --merge combinar ficheiros já ordenados; não ordenar\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=FICHEIRO resultado no FICHEIRO em vez da saída padrão\n" #~ " -s, --stable estabilizar desactivando comparações de " #~ "recurso\n" #~ " -S, --buffer-size=TAMANHO usar TAMANHO para memória principal " #~ "temporária\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP usar SEP em vez de transição vazio-não-" #~ "vazio\n" #~ " -T, --temporary-directory=PASTA usar PASTA temporária, não $TMPDIR ou %" #~ "s;\n" #~ " múltiplas opções especificam múltiplas " #~ "pastas\n" #~ " -u, --unique com -c, verificar ordenação estricta;\n" #~ " sem -c, mostrar só primeiro de iguais\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated terminar linhas com byte 0, não nova linha\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS é F[.C][OPTS], onde F é o número de campo e C a posição de carácter\n" #~ " no campo; ambos têm origem 1. Se nem -t nem -b estiver em efeito,\n" #~ "caracteres num campo são contados do início do espaço branco precedente. " #~ "OPTS\n" #~ "é uma ou mais opções de ordenação de letra única, que sobrescrevem as " #~ "opções\n" #~ "de ordenação globais para essa chave. Sem chave dada, usar a linha " #~ "inteira.\n" #~ "\n" #~ "TAMANHO pode ser seguido pelos seguintes sufixos multiplicativos:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% de memória, b 1, K 1024 (predef.) e por aí fora para M, G, T, P, E, " #~ "Z, Y.\n" #~ "\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ "\n" #~ "*** AVISO ***\n" #~ "A localização lespecificada pelo ambiente afecta a ordem de ordenação.\n" #~ "Defina LC_ALL=C para obter a ordenação tradicional que utiliza valores\n" #~ "de byte nativos.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "a aguardar por %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] terminou de forma anormal" #~ msgid "cannot create temporary file" #~ msgstr "impossível criar ficheiro temporário" #~ msgid "open failed" #~ msgstr "erro de open" #~ msgid "fflush failed" #~ msgstr "erro de fflush" #~ msgid "close failed" #~ msgstr "erro de close" #~ msgid "dup2 failed" #~ msgstr "erro de dup2" #~ msgid "couldn't execute %s" #~ msgstr "impossível executar %s" #~ msgid "couldn't create temporary file" #~ msgstr "impossível criar o ficheiro temporário" #~ msgid "couldn't open temporary file" #~ msgstr "impossível abrir o ficheiro temporário" #~ msgid "couldn't execute %s -d" #~ msgstr "impossível executar %s -d" #~ msgid "write failed" #~ msgstr "erro de escrita" #~ msgid "warning: cannot remove: %s" #~ msgstr "aviso: impossível remover: %s" #~ msgid "stat failed" #~ msgstr "error de stat" #~ msgid "read failed" #~ msgstr "erro de read" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: desordem: " #~ msgid "standard error" #~ msgstr "erro padrão" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: especificação de campo inválida %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "as opções '-%s' são incompatíveis" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: contagem inválida no início de %s" #~ msgid "invalid number after `-'" #~ msgstr "número inválido após '-'" #~ msgid "invalid number after `.'" #~ msgstr "número inválido após '.'" #~ msgid "stray character in field spec" #~ msgstr "carácter solto na especificação de campo" #~ msgid "multiple compress programs specified" #~ msgstr "múltiplos programas de compressão especificados" #~ msgid "invalid number at field start" #~ msgstr "número inválido no início do campo" #~ msgid "field number is zero" #~ msgstr "número de campo é zero" #~ msgid "character offset is zero" #~ msgstr "índice de carácter é zero" #~ msgid "invalid number after `,'" #~ msgstr "número inválido após ','" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "operando extra %s não permitido com -%c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Utilização: %s [OPÇÃO] [ENTRADA [PREFIXO]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Despejar partes de ENTRADA de tamanho fixo para PREFIXOaa, " #~ "PREFIXOab, ...;\n" #~ "tamanho predef. 1000 linhas e PREFIXO predef. 'x'. Sem ENTRADA, ou " #~ "quando\n" #~ "ENTRADA é -, ler a entrada padrão.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N usar sufixos de comprimento N (predefinido %d)\n" #~ " -b, --bytes=TAMANHO colocar TAMANHO bytes por ficheiro de saída\n" #~ " -C, --line-bytes=TAMANHO colocar no máximo TAMANHO bytes de linhas por " #~ "fich.\n" #~ " -d, --numeric-suffixes usar sufixos numéricos em vez de alfabéticos\n" #~ " -l, --lines=NÚMERO colocar NÚMERO linhas por ficheiro de saída\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose mostrar um diagnóstico imediatamente antes de " #~ "cada\n" #~ " ficheiro ser aberto\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "TAMANHO pode ter um sufixo multiplicador:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 e por aí fora para T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "a criar o ficheiro %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "impossível dividir em mais do que uma forma" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: comprimento de sufixo inválido" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: número de bytes inválido" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: número de linhas inválido" #~ msgid "line count option -%s%c... is too large" #~ msgstr "opção de contagem de linha -%s%c... é demasiado grande" #~ msgid "invalid number of lines: 0" #~ msgstr "número de linhas inválido: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "aviso: código de escape '\\%c' desconhecido" #~ msgid "%s: invalid directive" #~ msgstr "%s: directiva inválida" #~ msgid "warning: backslash at end of format" #~ msgstr "aviso: barra invertida no final do formato" #~ msgid "cannot read file system information for %s" #~ msgstr "impossível ler a informação do sistema de ficheiros para %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Utilização: %s [OPÇÃO] FICHEIRO...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "EXibir o estado de ficheiros ou do sistema de ficheiros.\n" #~ "\n" #~ " -L, --dereference seguir ligações simbólicas\n" #~ " -f, --file-system estado do sistema de ficheiros em vez de " #~ "ficheiro\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=FORMATO usar o FORMATO especificado em vez do " #~ "predefinido;\n" #~ " escrever carácter nova linha após cada uso de " #~ "FORMATO\n" #~ " --printf=FORMATO como --format, mas interpretar escapes e não\n" #~ " mostrar um carácter nova linha mandatório.\n" #~ " Se quiser um, inclua \\n em FORMATO.\n" #~ " -t, --terse mostrar a informação em forma resumida\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "As sequências de formato válidas para ficheiros (sem --file-system):\n" #~ "\n" #~ " %a Direitos de acesso em octal\n" #~ " %A Direitos de acesso legíveis por humanos\n" #~ " %b Número de blocos alocados (ver %B)\n" #~ " %B Tamanho em bytes de cada bloco relatado por %b\n" #~ " %C Expressão de contexto de segurança SELinux\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Número de dispositivo em decimal\n" #~ " %D Número de dispositivo em hexadecimal\n" #~ " %f Modo bruto em hexadecimal\n" #~ " %F Tipo de ficheiro\n" #~ " %g ID de grupo do dono\n" #~ " %G Nome de grupo do dono\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Número de ligações persistentes\n" #~ " %i Número de inode\n" #~ " %n Nome de ficheiro\n" #~ " %N Nome de ficheiro entre aspas com desreferência se ligação " #~ "simbólica\n" #~ " %o Tamanho de bloco de entrada/saída\n" #~ " %s Tamanho total, em bytes\n" #~ " %t Tipo de dispositivo maior, em hexadecimal\n" #~ " %T Tipo de dispositivo menor, em hexadecimal\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u ID de utilizador do dono\n" #~ " %U Nome de utilizador do dono\n" #~ " %x Tempo do último acesso\n" #~ " %X Tempo do último acesso em segundos desde Epoch\n" #~ " %y Tempo da última modificação\n" #~ " %Y Tempo do última modificação em segundos desde Epoch\n" #~ " %z Tempo da última alteração\n" #~ " %Z Tempo da última alteração em segundos desde Epoch\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Sequências de formato válidas para sistemas de ficheiros:\n" #~ "\n" #~ " %a Blocos livres disponíveis para não-superutilizador\n" #~ " %b Total de blocos de dados no sistema de ficheiros\n" #~ " %c Total de nós de ficheiros no sistema de ficheiros\n" #~ " %d Nós de ficheiros livres no sistema de ficheiros\n" #~ " %f Blocos livres no sistema de ficheiros\n" #~ " %C Expressão de contexto de segurança SELinux\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i ID de sistem de ficheiros em hexadecimal\n" #~ " %l Comprimento máximo de nomes de ficheiros\n" #~ " %n Nome de ficheiro\n" #~ " %s Tamanho de bloco (para transferências mais rápidas\n" #~ " %S Tamanho de bloco fundamental (para contagens de blocos)\n" #~ " %t Tipo em hexadecimal\n" #~ " %T Tipo legível por humanos\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Utilização: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [ATRIBUTO]...\n" #~ " or: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-a|--all]\n" #~ " or: %s [-F DISPOSITIVO] [--file=DISPOSITIVO] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Exibir ou alterar características de terminal.\n" #~ "\n" #~ " -a, --all mostrar preferências legíveis por humanos\n" #~ " -g, --save mostrar preferências legíveis por stty\n" #~ " -F, --file=DISPOSITIVO abrir e usar o DISPOSITIVO em vez de stdin\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Opcional - antes de PREFERÊNCIA indica negação. Um * marca preferências\n" #~ "não-POSIX. O sistema base define quais as preferências disponíveis.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Caracteres especiais:\n" #~ " * dsusp CAR CAR enviará um sinal de término após a entrada " #~ "processada\n" #~ " eof CAR CAR enviará um fim de ficheiro (terminar a entrada)\n" #~ " eol CAR CAR terminará a linha\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 CAR CAR alternativo para terminar a linha\n" #~ " erase CAR CAR apagará o último carácter inserido\n" #~ " intr CAR CAR enviará um sinal de interrupção\n" #~ " kill CAR CAR apagará a linha actual\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext CAR CAR inserirá o último carácter entre aspas\n" #~ " quit CAR CAR enviará um sinal de saída\n" #~ " * rprnt CAR CAR redesenhará a linha actual\n" #~ " start CAR CAR reiniciará a saída após pará-la\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop CHAR CHAR parará a saída\n" #~ " susp CHAR CHAR enviará um sinal de término\n" #~ " * swtch CHAR CHAR mudará para uma camada de shell diferente\n" #~ " * werase CHAR CHAR apagará a última palavra inserida\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Preferências especiais:\n" #~ " N alterar as taxas de entrada e saída para N bauds\n" #~ " * cols N dizer ao sistema operativo que o terminal tem N colunas\n" #~ " * columns N o mesmo que cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N alterar a taxa de entrada para N\n" #~ " * line N usar disciplina de linha N\n" #~ " min N com -icanon, definir mínimo N caracteres para leitura " #~ "completa\n" #~ " ospeed N alterar a taxa de saída para N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N dizer ao sistema operativo que o terminal tem N linhas\n" #~ " * size mostrar o número de linhas e colunas de acordo com o " #~ "kernel\n" #~ " speed mostrar a velocidade do terminal\n" #~ " time N com -icanon, definir limite de leitura N décimos de " #~ "segundo\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Preferências de controlo:\n" #~ " [-]clocal desactivar sinais de controlo de modem\n" #~ " [-]cread permitir recepção de entrada\n" #~ " * [-]crtscts activar cumprimento RTS/CTS\n" #~ " csN definir tamanho de carácter N bits, N em [5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb usar dois bits de paragem por carácter (um com '-')\n" #~ " [-]hup enviar sinal de espera quando o último processo fechar a " #~ "tty\n" #~ " [-]hupcl o mesmo que [-]hup\n" #~ " [-]parenb gerar bit de paridade na saída e esperar por um na " #~ "entrada\n" #~ " [-]parodd definir paridade ímpar (mesmo com '-')\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Preferências de entrada:\n" #~ " [-]brkint paragens causam um sinal de interrupção\n" #~ " [-]icrnl traduzir carriage return (CR) para nova linha\n" #~ " [-]ignbrk ignorar caracteres de paragem\n" #~ " [-]igncr ignorar carriage return\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar ignorar caracteres com erros de paridade\n" #~ " * [-]imaxbel emitir som e não despejar um buffer de entrada num " #~ "carácter\n" #~ " [-]inlcr traduzir nova linha para carriage return\n" #~ " [-]inpck activar verificação de paridade da entrada\n" #~ " [-]istrip limpar o bit alto (8) de caracteres de entrada\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr " * [-]iutf8 assumir caracteres de entrada em UTF-8\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc traduzir maiúsculas em minúsculas\n" #~ " * [-]ixany deixar qualquer carácter reiniciar a saída, não só o " #~ "inicial\n" #~ " [-]ixoff activar envio de caracteres início/fim\n" #~ " [-]ixon activar controlo de fluxo XON/XOFF\n" #~ " [-]parmrk marcar erros de paridade (com sequência de 255 " #~ "caracteres 0)\n" #~ " [-]tandem o mesmo que [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Preferências de saída:\n" #~ " * bsN estilo de atraso de backspace, N em [0..1]\n" #~ " * crN estilo de atraso de carriage return, N em [0..3]\n" #~ " * ffN estilo de atraso de form feed, N em [0..1]\n" #~ " * nlN estilo de atraso de nova linha, N em [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl traduzir carriage return para nova linha\n" #~ " * [-]ofdel usar caracteres de delete em vez de null para " #~ "preencher.\n" #~ " * [-]ofill preencher caracteres em vez de esperar por temporizador\n" #~ " * [-]olcuc traduzir minúsculas para maiúsculas\n" #~ " * [-]onlcr traduzir nova linha para carriage return-nova linha\n" #~ " * [-]onlret nova linha executa um carriage return\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr não mosrtar carriage returns na primeira coluna\n" #~ " [-]opost pós-processar saída\n" #~ " * tabN estilo de atraso de tab horizontal, N em [0..3]\n" #~ " * tabs o mesmo que tab0\n" #~ " * -tabs o mesmo que tab3\n" #~ " * vtN estilo de atraso de tab vertical, N em [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Preferências locais:\n" #~ " [-]crterase ecoar caracteres de limpeza como backspace-espaço-" #~ "backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho ecoar caracteres de controlo em notação de chapéu " #~ "(`^c')\n" #~ " [-]echo ecoar caracteres de entrada\n" #~ " * [-]echoctl o mesmo que [-]ctlecho\n" #~ " [-]echoe o mesmo que [-]crterase\n" #~ " [-]echok ecoar uma nova linha após um carácter de término\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke o mesmo que [-]crtkill\n" #~ " [-]echonl ecoar nova linha mesmo sem ecoar outros caracteres\n" #~ " * [-]echoprt ecoar caracteres apagados invertidamente, entre '\\' and " #~ "'/'\n" #~ " [-]icanon activar caracteres especiais erase, kill, werase e " #~ "rprnt\n" #~ " [-]iexten activar caracteres especiais não-POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig activar caracteres especiais interrupt, quit e suspend\n" #~ " [-]noflsh desactivar despejo após caracteres especiais interrupt e " #~ "quit\n" #~ " * [-]prterase o mesmo que [-]echoprt\n" #~ " * [-]tostop parar processos em fundo que tentem escrever no " #~ "terminal\n" #~ " * [-]xcase com icanon, escape com '\\' para maiúsculas\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Preferências de combinação:\n" #~ " * [-]LCASE o mesmo que [-]lcase\n" #~ " cbreak o mesmo que -icanon\n" #~ " -cbreak o mesmo que icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked o mesmo que brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof e eol nos seus valores predefinidos\n" #~ " -cooked o mesmo que raw\n" #~ " crt o mesmo que echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec o mesmo que echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ " * [-]decctlq o mesmo que [-]ixany\n" #~ " ek erase e kill nos seus valores predefinidos\n" #~ " evenp o mesmo que parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp o mesmo que -parenb cs8\n" #~ " * [-]lcase o mesmo que xcase iuclc olcuc\n" #~ " litout o mesmo que -parenb -istrip -opost cs8\n" #~ " -litout o mesmo que parenb istrip opost cs7\n" #~ " nl o mesmo que -icrnl -onlcr\n" #~ " -nl o mesmo que icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp o memso que parenb parodd cs7\n" #~ " -oddp o memso que -parenb cs8\n" #~ " [-]parity o memso que [-]evenp\n" #~ " pass8 o memso que -parenb -istrip cs8\n" #~ " -pass8 o memso que parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw o mesmo que -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw o mesmo que cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane o mesmo que cread -ignbrk brkint -inlcr -igncr icrnl -" #~ "iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, todos " #~ "caracteres\n" #~ " especiais nos seus valores predefinidos.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Trata o tty ligado ao canal de entrada por defeito (stdin). Sem " #~ "argumentos,\n" #~ "imprime o ritmo em baud, a disciplina da linha e diferenças em relação a " #~ "stty\n" #~ "sane. Nos parâmetros, CHAR é aceite literalmente, ou codificado com em " #~ "^C,\n" #~ "0x37, 0177 ou 127; valores especiais ^- ou undef são utilizados para " #~ "anular\n" #~ "caracteres especiais.\n" #~ msgid "only one device may be specified" #~ msgstr "apenas um dispositivo deve ser especificado" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "as opções para saída em modo verboso e estilos de saída legíveis\n" #~ "pelo stty são mutuamente exclusivas" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "ao especificar um modo de saída, não pode alterar um modo" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: impossível desactivar modo não-bloqueante" #~ msgid "invalid argument %s" #~ msgstr "argumento inválido %s" #~ msgid "missing argument to %s" #~ msgstr "argumento em falta para %s" #~ msgid "invalid line discipline %s" #~ msgstr "disciplina de linha inválida %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: impossível realizar todas as operações pedidas" #~ msgid "new_mode: mode\n" #~ msgstr "modo_novo: modo\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: nenhuma informação de tamanho para este dispositivo" #~ msgid "invalid integer argument %s" #~ msgstr "argumento inteiro inválido %s" #~ msgid "Password:" #~ msgstr "Senha:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: impossível abrir /dev/tty" #~ msgid "cannot set groups" #~ msgstr "impossível definir grupos" #~ msgid "cannot set group id" #~ msgstr "impossível alterar a identificação de grupo" #~ msgid "cannot set user id" #~ msgstr "impossível alterar o ID do utilizador" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Utilização: %s [OPÇÃO]... [-] [UTILIZADOR [ARGUMENTO]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Alterar as identificações de utilizador e de grupo efectivas do " #~ "UTILIZADOR.\n" #~ "\n" #~ " -, -l, --login tornar a shell numa shell de login\n" #~ " -c, --command=COMANDO enviar um único COMANDO à shell com -c\n" #~ " -f, --fast enviar -f à shell (para csh ou tcsh)\n" #~ " -m, --preserver-environment preservar as variáveis do ambiente\n" #~ " -p o mesmo que -m\n" #~ " -s, --shell=SHELL correr SHELL se /etc/shells o permitir\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Um simples - implica -l. Sem UTILIZADOR, assumir root.\n" #~ msgid "user %s does not exist" #~ msgstr "o utilizador %s não existe" #~ msgid "incorrect password" #~ msgstr "senha incorrecta" #~ msgid "using restricted shell %s" #~ msgstr "a usar a shell restrita %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "aviso: impossível mudar para a pasta %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Exibir a soma de controlo e contagem de blocos para cada FICHEIRO.\n" #~ "\n" #~ " -r ignorar -s, usar algoritmo de soma BSD, usar blocos de " #~ "1K\n" #~ " -s, --sysv usar algoritmo de soma System V, usar blocos de 512 " #~ "bytes\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Forçar blocos alterados para disco, actualizar o superbloco.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "a ignorar todos os argumentos" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "NOTA: a sua shell pode ter a sua versão de %s, que habitualmente " #~ "ultrapassa\n" #~ "a versão descrita aqui. Por favor veja a documentação da sua shell para\n" #~ "detalhes acerca das opções suportadas.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help exibir esta ajuda e sair\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version mostrar a informação de versão e sair\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Comunique erros através de <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Escrever cada FICHEIRO para a saída padrão, última linha em primeiro.\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before anexar o separador antes em vez de depois\n" #~ " -r, --regex interpretar o separador como uma expressão " #~ "regular\n" #~ " -s, --separator=EXPR usar EXPR como o separador em vez de nova " #~ "linha\n" #~ msgid "%s: seek failed" #~ msgstr "%s: erro de seek" #~ msgid "record too large" #~ msgstr "campo demasiado grande" #~ msgid "cannot create temporary file %s" #~ msgstr "impossível criar a pasta temporária %s" #~ msgid "cannot open %s for writing" #~ msgstr "impossível abrir %s para escrita" #~ msgid "%s: write error" #~ msgstr "%s: erro de escrita" #~ msgid "separator cannot be empty" #~ msgstr "o separador não pode ser vazio" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Exibir as últimas %d linhas de cada FICHEIRO.\n" #~ "Com mais de um FICHEIRO, anteceder cada um com um cabeçalho com o seu " #~ "nome.\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry tentar sempre abrir um ficheiro mesmo se " #~ "estiver\n" #~ " inacessível quando tail iniciar ou se se " #~ "tornar\n" #~ " inacessível depois; útil ao perseguir por " #~ "nome,\n" #~ " por exemplo, com --follow=name\n" #~ " -c, --bytes=N despejar os últimos N bytes; alternativamente, " #~ "usar\n" #~ " +N para despejar bytes a partir do N-ésimo\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " despejar dados continuamente à medida que " #~ "cresce;\n" #~ " -f, --follow e --follow=descriptor são\n" #~ " equivalentes\n" #~ " -F o mesmo que --follow=name --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N despejar últimas N linhas em vez das últimas %" #~ "d;\n" #~ " ou use +N para despejar linhas a partir da N-" #~ "ésima\n" #~ " --max-unchanged-stats=N\n" #~ " com --follow=name, reabrir um FICHEIRO que " #~ "não\n" #~ " mudou o tamanho após N (predefinido %d) " #~ "iteraçoes\n" #~ " para ver se se foi removido ou renomeado\n" #~ " (este é o caso habitual de logs rotativos)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID com -f, terminar após ID de processo, PID " #~ "morre\n" #~ " -q, --quiet, --silent nunca despejar cabeçalhos com nomes de " #~ "ficheiros\n" #~ " -s, --sleep-interval=S com -f, dormir por aproximadamente S segundos\n" #~ " (predefinido 1.0) entre iterações.\n" #~ " -v, --verbose despejar sempre cabeçalhos com nomes de " #~ "ficheiros\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Se o primeiro carácter de N (o número de bytes ou linhas) é um '+',\n" #~ "mostrar início com o N-ésimo elemento do início de cada ficheiro, senão,\n" #~ "mostrar os últimos N elementos no ficheiro. N pode ter sufixo " #~ "multiplicador:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 e assim por diante para T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Com --follow (-f), tail persegue o descritor de ficheiro, o que " #~ "significa\n" #~ "que mesmo que um ficheiro aberto com tail seja renomeado, o seu fim será\n" #~ "monitorizado na mesma. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Este comportamento predefinido não é desejável quando quiser mesmo " #~ "monitorizar\n" #~ "o nome actual do ficheiro, não o descritor do ficheiro (ex., rotatividade " #~ "de\n" #~ "log). Use --follow=name nesse caso. Tal causa a monitorização do " #~ "ficheiro\n" #~ "nomeado reabrindo-o periodicamente para confirmar se foi removido e " #~ "recriado\n" #~ "por qualquer outro programa.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "a fechar %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: impossível mover para a posição relativa %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: impossível mover para a posição relativa ao fim %s" #~ msgid "%s has become inaccessible" #~ msgstr "%s tornou-se inacessível" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s foi substituído por um ficheiro não analisável; a desistir do nome" #~ msgid "%s has become accessible" #~ msgstr "%s tornou-se acessível" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s apareceu; a seguir fim do novo ficheiro" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s foi substituído; a seguir fim do novo ficheiro" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: impossível alterar modo de desbloqueamento" #~ msgid "%s: file truncated" #~ msgstr "%s: ficheiro truncado" #~ msgid "no files remaining" #~ msgstr "nenhum ficheiro em falta" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "%s: impossível seguir fim de ficheiro deste tipo; a desistir" #~ msgid "number in %s is too large" #~ msgstr "número em %s é demasiado grande" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: número máximo de estados inalterados entre aberturas inválido" #~ msgid "%s: invalid PID" #~ msgstr "%s: número de processo inválido (PID)" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: número de segundos inválido" #~ msgid "option used in invalid context -- %c" #~ msgstr "opção usada em contexto inválido -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "aviso: --retry é útil quando se persegue por nome" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "aviso: PID ignorado; --pid=PID é útil quando se persegue" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "aviso: --pid=PID não é suportado neste sistema" #~ msgid "cannot follow %s by name" #~ msgstr "impossível perseguir %s pelo nome" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "aviso: perseguir a entrada padrão indefinidamente não tem efeito" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Copiar a entrada padrão para cada FICHEIRO e para a saída padrão.\n" #~ "\n" #~ " -a, --append acrescentar aos FICHEIROs, não sobrescrever\n" #~ " -i, --ignore-interrupts ignorar os sinais de interrupção\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Se um FICHEIRO é -, copiar novamente para a saída padrão.\n" #~ msgid "missing argument after %s" #~ msgstr "argumento em falta após %s" #~ msgid "invalid integer %s" #~ msgstr "inteiro inválido %s" #~ msgid "')' expected" #~ msgstr "')' esperado" #~ msgid "')' expected, found %s" #~ msgstr "')' esperado, %s encontrado" #~ msgid "%s: unary operator expected" #~ msgstr "%s: operador unário esperado" #~ msgid "-nt does not accept -l" #~ msgstr "-nt não aceita -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef não aceita -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot não aceita -l" #~ msgid "unknown binary operator" #~ msgstr "operador binário desconhecido" #~ msgid "%s: binary operator expected" #~ msgstr "%s: operador binário esperado" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Utilização: test EXPRESSÃO\n" #~ " or: test\n" #~ " or: [ EXPRESSÃO ]\n" #~ " or: [ ]\n" #~ " or: [ OPÇÃO\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Sair com o estado determinado por EXPRESSÃO.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Uma EXPRESSÃO omitida toma o valor falso. Caso contrário,\n" #~ "EXPRESSÃO é verdadeiro ou falso e define estado de saída. É um de:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( EXPRESSÃO ) EXPRESSÃO é verdadeira\n" #~ " ! EXPRESSÃO EXPRESSÃO é falsa\n" #~ " EXPRESSÃO1 -a EXPRESSÃO2 EXPRESSÃO1 e EXPRESSÃO2 são verdadeiras\n" #~ " EXPRESSÃO1 -o EXPRESSÃO2 uma de EXPRESSÃO1 e EXPRESSÃO2 é " #~ "verdadeira\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n EXPR o tamanho de EXPR é não-zero\n" #~ " EXPR equivalente a -n EXPR\n" #~ " -z EXPR o tamanho de EXPR é zero\n" #~ " EXPR1 = EXPR2 as espressões são iguais\n" #~ " EXPR1 != EXPR2 as espressões são diferentes\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " INTEIRO1 -eq INTEIRO2 INTEIRO1 é igual a INTEIRO2\n" #~ " INTEIRO1 -ge INTEIRO2 INTEIRO1 é maior ou igual a INTEIRO2\n" #~ " INTEIRO1 -gt INTEIRO2 INTEIRO1 é maior que INTEIRO2\n" #~ " INTEIRO1 -le INTEIRO2 INTEIRO1 é menor ou igual a INTEIRO2\n" #~ " INTEIRO1 -lt INTEIRO2 INTEIRO1 é menor que INTEIRO2\n" #~ " INTEIRO1 -ne INTEIRO2 INTEIRO1 é diferente de INTEIRO2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " FICH1 -ef FICH2 FICH1 e FICH2 têm os mesmos números de dispositivo e " #~ "inode\n" #~ " FICH1 -nt FICH2 FICH1 é mais recente (data de modificação) que FICH2\n" #~ " FICH1 -ot FICH2 FICH1 é mais antigo que FICH2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b FICH FICH existe e é especial de blocos\n" #~ " -c FICH FICH existe e é especial de caracteres\n" #~ " -d FICH FICH existe e é uma pasta\n" #~ " -e FICH FICH existe\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f FICH FICH existe e é um ficheiro regular\n" #~ " -g FICH FICH existe e é set-group-ID\n" #~ " -G FICH FICH existe e é possuído pelo ID de grupo efectivo\n" #~ " -h FICH FICH existe e é uma ligação simbólica (o mesmo que -L)\n" #~ " -k FICH FICH existe e tem o seu bit sticky (pegajoso) activado\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L FICH FICH existe e é uma ligação simbólica (o mesmo que -h)\n" #~ " -O FICH FICH existe e é possuído pelo ID de utilizador efectivo\n" #~ " -p FICH FICH existe e é um pipe nomeado\n" #~ " -r FICH FICH existe e permissão de leitura é garantida\n" #~ " -s FICH FICH existe e tem um tamanho maior que zero\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S FICH FICH existe e é um socket\n" #~ " -t DF file descriptor DF está aberto num terminal\n" #~ " -u FICH FICH existe e o seu bit set-user-ID bit está activado\n" #~ " -w FICH FICH existe e permissão de escrita é garantida\n" #~ " -x FICH FICH existe e permissão de execução (ou pesquisa) é " #~ "garantida\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Excepto para -h e -L, todos os testes relacionados com FICH " #~ "desreferenciam\n" #~ "ligações simbólicas. Note que parêntesis precisam de escape (ex., com " #~ "\\)\n" #~ "para shells. INTEIRO pode também ser -l EXPR, que resulta no tamanho de " #~ "EXPR.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "NOTA: [ honra as opções --help e --version, mas test não o faz.\n" #~ "test trata cada uma delas como trata qualquer outra EXPR não vazia.\n" #~ msgid "test and/or [" #~ msgstr "test e/ou [" #~ msgid "missing `]'" #~ msgstr "']' em falta" #~ msgid "extra argument %s" #~ msgstr "argumento extra %s" #~ msgid "creating %s" #~ msgstr "a criar %s" #~ msgid "cannot touch %s" #~ msgstr "impossível executar sobre %s" #~ msgid "setting times of %s" #~ msgstr "a alterar os tempos de %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Actualizar o acesso e tempos de modificação de cada FICHEIRO para o " #~ "actual.\n" #~ "\n" #~ "Um argumento FICHEIRO que não existe é criado vazio.\n" #~ "\n" #~ "Um argumento FICHEIRO como - é tratado especialmente e causa a alteração " #~ "dos\n" #~ "tempos do ficheiro associado com a saída padrão.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a alterar apenas o tempo de acesso\n" #~ " -c, --no-create não criar qualquer ficheiro\n" #~ " -d, --date=EXPR analisar EXPR e usá-la em vez do tempo actual\n" #~ " -f (ignorado)\n" #~ " -m alterar apenas o tempo de modificação\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=FICH usar o tempo deste ficheiro em vez do tempo " #~ "actual\n" #~ " -t SELO usar [[SS]AA]MMDDhhmm[.ss] em vez do tempo " #~ "actual\n" #~ " --time=PALAVRA alterar o tempo especificado:\n" #~ " PALAVRA é access, atime ou use: equivalente a -" #~ "a\n" #~ " PALAVRA é modify ou mtime: equivalente a -m\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Note que as opções -d e -t aceitam diferentes formatos hora-data.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "impossível especificar tempos a partir de mais de uma fonte" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "aviso: 'touch %s' é obsoleto; use 'touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Utilização: %s [OPÇÃO]... CONJUNTO1 [CONJUNTO2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Traduzir, encolher e/ou apagar caracteres entrada padrão,\n" #~ "escrevendo na saída padrão.\n" #~ "\n" #~ " -c, -C, --complement primeiro complementar SET1\n" #~ " -d, --delete apagar caracteres em SET1, não traduzir\n" #~ " -s, --squeeze-repeats substituir cada sequência de entrada de um " #~ "carácter\n" #~ " repetido listado em SET1 com uma única " #~ "ocorrência\n" #~ " desse carácter\n" #~ " -t, --truncate-set1 primeiro truncar SET1 para tamanho de SET2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "SETs são especificados como cadeias de caracteres. A maioria\n" #~ "auro-representa-se. Sequências interpretadas são:\n" #~ "\n" #~ " \\NNN carácter com valor octal NNN (1 a 3 dígitos octais)\n" #~ " \\\\ backslash (barra invertida)\n" #~ " \\a BEL audível\n" #~ " \\b backspace (espaço atrás)\n" #~ " \\f form feed\n" #~ " \\n nova linha\n" #~ " \\r return (enter)\n" #~ " \\t tab horizontal\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v tab vertical\n" #~ " CAR1-CAR2 todos os caracteres de CAR1 a CAR2 por ordem crescente\n" #~ " [CAR*] em SET2, cópias de CAR até tamanho de SET1\n" #~ " [CAR*REP] REP cópias de CAR, REP octal se começar por 0\n" #~ " [:alnum:] todas as letras e dígitos\n" #~ " [:alpha:] todas as letras\n" #~ " [:blank:] todos os espaços brancos horizontais\n" #~ " [:cntrl:] todos os caracteres de controlo\n" #~ " [:digit:] todos os dígitos\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] todos os caracteres mostráveis, excluindo space " #~ "(espaço)\n" #~ " [:lower:] todas as letras minúsculas\n" #~ " [:print:] todos os caracteres mostráveis, incluindo space " #~ "(espaço)\n" #~ " [:punct:] todos os caracteres de pontuação\n" #~ " [:space:] todos os espaços brancos horizontais e verticais\n" #~ " [:upper:] todas as letras maiúsculas\n" #~ " [:xdigit:] todos os dígitos hexadecimais\n" #~ " [=CAR=] todos os caracteres equivalentes a CAR\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Tradução ocorre se -d não é dado e SET1 e SET2 aparecem.\n" #~ "-t apenas pode ser usado ao traduzir. SET2 é extendido ao tamanho de\n" #~ "SET1 repetindo o seu último carácter se necessário. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Caracteres excessivos\n" #~ "de SET2 são ignorados. Apenas [:lower:] e [:upper:] são garantidamente\n" #~ "expandidos em ordem ascendente; usados em SET2 ao traduzir, podem apenas\n" #~ "ser usado aos pares para especificar conversão de capitalização. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s usa SET1 se não estiver a\n" #~ "traduzir nem a apagar; senão usa SET2 e ocorre após\n" #~ "tradução ou remoção.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "aviso: o escape octal ambíguo \\%c%c%c está a ser\n" #~ "\tinterpretado como a sequência de 2 bytes \\0%c%c, %c" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "aviso: uma barra invertida sem escape no fim da expressão não é portável" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "limites do intervalo '%s-%s' estão em ordem de sequência inversa" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "contagem de repetição inválida %s na construção [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "nome de classe de carácter '[::]' em falta" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "carácter de classe de equivalência '[==]' em falta" #~ msgid "invalid character class %s" #~ msgstr "classe de caracteres inválida %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: operando de classe de equivalência deve ser um único carácter" #~ msgid "too many characters in set" #~ msgstr "demasiados caracteres no conjunto" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "a construção de repetição [c*] pode não aparecer na expressão1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "apenas uma construção de repetição [c*] pode aparecer na expressão2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "expressões [=c=] podem não aparecer na expressão2 ao traduzir" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "ao não truncar set1, expressão2 deve ser não vazia" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "ao traduzir com classes de caracteres complementadas,\n" #~ "expressão2 deve mapear todos os caracteres no domínio para um" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "ao traduzir, as únicas classes de caracteres que podem aparecer em\n" #~ "expressão2 são 'upper' 'lower'" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "a construção [c*] pode aparecer em expressão2 apenas ao traduzir" #~ msgid "Two strings must be given when translating." #~ msgstr "Duas expressões devem ser dadas ao traduzir" #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Apenas uam expressão pode ser dada ao apagar sem espremer repetições" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "construção [:upper:] e/ou [:lower:] desalinhada(s)" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s [argumentos de linha de comando ignorados]\n" #~ " ou: %s OPÇÃO\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Sair com um código de estado indicando sucesso" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Utilização: %s [OPÇÃO] [FICHEIRO]\n" #~ "Escrever lista totalmente ordenada consistente com ord. parcial em " #~ "FICHEIRO.\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: entrada contém um número mpar de símbolos" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: entrada contém um ciclo:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Utilização: %s [OPÇÃO]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Mostrar o nome de ficheiro do terminal ligado ao canal de entrada " #~ "padrão.\n" #~ "\n" #~ " -s, --silent, --quiet não mostra nadar, só retornar um estado de " #~ "saída\n" #~ msgid "not a tty" #~ msgstr "não é um tty" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Mostrar alguma informação sobre o sistema. Sem OPÇÃO, o mesmo que -s.\n" #~ "\n" #~ " -a, --all mostrar toda a informação, na seguinte ordem,\n" #~ " excepto omitir -p e -i se desconhecidos:\n" #~ " -s, --kernel-name mostrar o nome do sistema operativo\n" #~ " -n, --nodename mostrar o nome do nó da máquina na rede\n" #~ " -r, --kernel-release mostrar a versão do sistema operativo\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version mostrar a versão do kernel\n" #~ " -m, --machine mostrar o nome de hardware da máquina\n" #~ " -p, --processor mostrar o tipo do processador ou \"desconhecido" #~ "\"\n" #~ " -i, --hardware-platform mostrar a plataforma de hardware ou \"unknown" #~ "\"\n" #~ " -o, --operating-system mostrar o sistema operativo\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Exibir a arquitectura da máquina.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "impossível obter o nome do sistema" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Converter expaços em cada FICHEIRO para TABs, escrevendo na saída " #~ "padrão.\n" #~ "Sem FICHEIRO, ou quando FICHEIRO é -, ler a entrada padrão.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all converter todos os espaços, em vez de apenas os " #~ "iniciais\n" #~ " --first-only converter apenas os espaços inicias (anula -a)\n" #~ " -t, --tabs=N TABs de N caracteres em vez de 8 (activa -a)\n" #~ " -t, --tabs=LISTA usar lista sep. por vírg. de posições de TABs (activa " #~ "-a)\n" #~ msgid "tabs are too far apart" #~ msgstr "TABs demasiado separados" #~ msgid "tab stop value is too large" #~ msgstr "valor de paragem de TAB demasiado grande" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Utilização: %s [OPÇÃO]... [ENTRADA [SAÍDA]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Ignorar todas excepto uma de linhas sucessivas idênticas de ENTRADA (ou\n" #~ "entrada padrão), escrevendo na SAÍDA (ou saída padrão).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count prefixar linhas com o número de ocorrências\n" #~ " -d, --repeated exibir apenas linhas duplicadas\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=método-delimit] mostrar todas as linhas " #~ "duplicadas\n" #~ " método-delimit={none(predefinido),prepend," #~ "separate}\n" #~ " Delimitação é feita com linhas vazias.\n" #~ " -f, --skip-fields=N evitar comparar os primeiros N campos\n" #~ " -i, --ignore-case ignorar capitalização ao comparar\n" #~ " -s, --skip-chars=N evitar comparar os primeiros N caracteres\n" #~ " -u, --unique apenas mostrar linhas únicas\n" #~ " -z, --zero-terminated terminlr linhas com byte zero, não nova linha\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N comparar não mais que N caracteres nas linhas\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Um campo é um conjunto de caracteres de espaço seguido de caracteres não-" #~ "espaço.\n" #~ "Campos são saltados antes de caracteres.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Nota: 'uniq' não afecta linhas repetidas a menos que são adjacentes.\n" #~ "Pode querer ordenar a entrada primeiro, ou utilizar 'sort -u' sem " #~ "`uniq'.\n" #~ msgid "too many repeated lines" #~ msgstr "demasiados linhas repetidas" #~ msgid "invalid number of fields to skip" #~ msgstr "número inválido de campos a ignorar" #~ msgid "invalid number of bytes to skip" #~ msgstr "número inválido de bytes a ignorar" #~ msgid "invalid number of bytes to compare" #~ msgstr "número inválido de bytes a comparar" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "mostrar linhas duplicadas e contagens de repetidas não faz sentido" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s FICHEIRO\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Invocar a função unlink para remover o FICHEIRO especificado.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "impossível executar sobre %s" #~ msgid "couldn't get boot time" #~ msgstr "impossível obter o tempo de arranque" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s up " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? up " #~ msgid "???? days ??:??, " #~ msgstr "???? dias ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld dia" #~ msgstr[1] "%ld dias" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu utilizador" #~ msgstr[1] "%lu utilizadores" #~ msgid ", load average: %.2f" #~ msgstr ", carga média: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Utilização: %s [OPÇÃO]... [ FICHEIRO ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Exibir o tempo actual, há quanto tempo o sistema foi iniciado,\n" #~ "o número de utilizadores no sistemas e a média de processos\n" #~ "na file de execução nos últimos 1, 5 e 15 minutes.\n" #~ "Se FICHEIRO não for especificado, usar %s. %s como FICHIRO é comum.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Mostrar quem se encontra no sistema de acordo com FICHEIRO.\n" #~ "Se FICHEIRO não for especificado, usar %s. %s como FICHEIRO é comum.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Mostrar contagens de novas linhas, palavras e bytes para cada FICHEIRO, e " #~ "uma\n" #~ "linha de total com mais de um FICHEIRO. Sem FICHEIRO, ou quando FICHEIRO " #~ "é -,\n" #~ "ler a entrada padrão.\n" #~ " -c, --bytes mostrar as contagens de bytes\n" #~ " -m, --chars mostrar as contagens de caracteres\n" #~ " -l, --lines mostrar as contagens de novas linhas\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=F ler entrada dos ficheiros especificados por " #~ "nomes\n" #~ " terminados por zero no ficheiro F\n" #~ " -L, --max-line-length mostrar o comprimento da linha mais longa\n" #~ " -w, --words mostrar as contagens de palavras\n" #~ msgid " old " #~ msgstr " old " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "saíd=" #~ msgid "clock change" #~ msgstr "mud. relógio" #~ msgid "run-level" #~ msgstr "nível-exe" #~ msgid "last=" #~ msgstr "últi=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# utlzs=%lu\n" #~ msgid "NAME" #~ msgstr "NOME" #~ msgid "LINE" #~ msgstr "LINH" #~ msgid "TIME" #~ msgstr "TEMP" #~ msgid "IDLE" #~ msgstr "INAC" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "COMENTÁ" #~ msgid "EXIT" #~ msgstr "SAÍD" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Utilização: %s [OPÇÃO]... [ FICHEIRO | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all o mesmo que -b -d --login -p -r -t -T -u\n" #~ " -b, --boot tempo do último início do sistema\n" #~ " -d, --dead mostrar processos mortos\n" #~ " -H, --heading mostrar linha de títulos de colunas\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr "" #~ " -l, --login mostrar processos de registo de entraad do sistema\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup tentar canonizar nomes de máquinas via DNS\n" #~ " -m apenas nome de máquina e utilizador associados com " #~ "stdin\n" #~ " -p, --process mostrar processos activos criados por init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count todos nomes de utilizador e no. de utilizadores no " #~ "sistema\n" #~ " -r, --runlevel mostrar o nível de execução actual\n" #~ " -s, --short mostrar apenas nome, linha e tempo (predefinido)\n" #~ " -t, --time mostrar última mudança do relógio de sistema\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg adicionar estado de mensagem do utilizador como +, - " #~ "ou ?\n" #~ " -u, --users listar utilizadores actualmente no sistema\n" #~ " --message o mesmo que -T\n" #~ " --writable o mesmo que -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Se FICHEIRO não for especificado, usar %s. %s como FICHEIRO é comum.\n" #~ "Se ARG1 ARG2 dados, -m presumido: 'am i' ou 'mom likes' são comuns.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Exibir o nome do utilizador associado ao ID efectivo actual.\n" #~ "O mesmo que id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: impossível encontrar um nome para o ID de utilizador %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Utilização: %s [EXPRESSÃO]...\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Despejar repetidamente uma linha com as EXPRESSÃO(ões) especificadas, ou " #~ "'y'.\n" #~ "\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "operando desconhecido %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " agrupar pastas antes de ficheiros\n" dc3dd-7.1.614/po/rw.po0000644000175000017500000073560311022023316014051 0ustar amedicoamedico# Kinyarwanda translations for coreutils package. # Copyright (C) 2005 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Steve Murphy , 2005. # Steve performed initial rough translation from compendium built from translations provided by the following translators: # Philibert Ndandali , 2005. # Viateur MUGENZI , 2005. # Noëlla Mupole , 2005. # Carole Karema , 2005. # JEAN BAPTISTE NGENDAHAYO , 2005. # Augustin KIBERWA , 2005. # Donatien NSENGIYUMVA , 2005. # Antoine Bigirimana , 2005. # msgid "" msgstr "" "Project-Id-Version: coreutils 5.3.0\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2008-02-12 10:06-0500\n" "PO-Revision-Date: 2005-04-04 10:55-0700\n" "Last-Translator: Steven Michael Murphy \n" "Language-Team: Kinyarwanda \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" #: src/dc3dd.c:482 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:500 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:639 #, c-format msgid "Unable to allocate hashing buffer" msgstr "" #: src/dc3dd.c:900 #, fuzzy, c-format msgid "Try `%s --help' for more information.\n" msgstr "kugirango Birenzeho Ibisobanuro" #: src/dc3dd.c:904 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "Cyangwa" #: src/dc3dd.c:909 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=BLOCKS copy only BLOCKS input blocks\n" " ibs=BYTES read BYTES bytes at a time\n" msgstr "" "a IDOSIYE Guhindura.... Na Ihinduramiterere Kuri i Na GUHINDURA Bayite ku a " "GUHINDURA i IDOSIYE Nka i Akitso IKIMENYETSO IBARA Gukoporora Iyinjiza " "Gusoma Bayite ku a" #: src/dc3dd.c:918 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" "NIBA Gusoma Bivuye Bya Gusoma Nka i Akitso IKIMENYETSO Kwandika Bayite ku a " "Bya Kwandika Kuri Bya Kwandika Nka i Akitso IKIMENYETSO ku Gutangira Bya ku " "Gutangira Bya Imimerere" #: src/dc3dd.c:931 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" " hashconv=WHEN determines when data should be hashed, either before\n" " or after conversions\n" msgstr "" #: src/dc3dd.c:953 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:960 msgid "" " vf=FILE verify the input against FILE\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:965 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:970 #, fuzzy msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "Na Gicurasi ku i Imigereka C 1. W 2. B 1000 1000 1000 1000 1000 1000 Na ku " "kugirango E IKIMENYETSO Gicurasi" #: src/dc3dd.c:979 #, fuzzy msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" msgstr "" "ASCII Bivuye Kuri Bivuye Kuri Bivuye Kuri Funga Ibyabitswe Na: Imyanya Kuri " "Gusimbura Imyanya in Ingano Ibyabitswe Na: Guhindura>> Nkuru Kuri Ntoya" #: src/dc3dd.c:987 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" " ucase change lower case to upper case\n" " swab swap every pair of input bytes\n" msgstr "" "OYA Kurema i Ibisohoka NIBA i Ibisohoka IDOSIYE OYA i Ibisohoka Guhindura>> " "Ntoya Kuri Nkuru buri Bya Iyinjiza urifuzagukomeza Nyuma Gusoma buri " "Iyinjiza Funga Na: Kuri Ingano Ryari: Na: Funga Cyangwa Na: Imyanya Kwandika " "Ibisohoka IDOSIYE Ibyatanzwe Mbere Kwandika" #: src/dc3dd.c:994 #, fuzzy msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" "OYA Kurema i Ibisohoka NIBA i Ibisohoka IDOSIYE OYA i Ibisohoka Guhindura>> " "Ntoya Kuri Nkuru buri Bya Iyinjiza urifuzagukomeza Nyuma Gusoma buri " "Iyinjiza Funga Na: Kuri Ingano Ryari: Na: Funga Cyangwa Na: Imyanya Kwandika " "Ibisohoka IDOSIYE Ibyatanzwe Mbere Kwandika" #: src/dc3dd.c:1001 #, fuzzy msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "IKIMENYETSO Gicurasi Kongeraho... Kongeraho... Ubwoko kugirango Ibisohoka" #: src/dc3dd.c:1008 #, fuzzy msgid " direct use direct I/O for data\n" msgstr "Gukoresha kugirango" #: src/dc3dd.c:1010 #, fuzzy msgid " directory fail unless a directory\n" msgstr "Gukoresha kugirango" #: src/dc3dd.c:1012 #, fuzzy msgid " dsync use synchronized I/O for data\n" msgstr "Gukoresha kugirango" #: src/dc3dd.c:1014 #, fuzzy msgid " sync likewise, but also for metadata\n" msgstr "kugirango" #: src/dc3dd.c:1016 #, fuzzy msgid " nonblock use non-blocking I/O\n" msgstr "Gukoresha" #: src/dc3dd.c:1018 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1020 #, fuzzy msgid " noctty do not assign controlling terminal from file\n" msgstr "OYA Kugenera... Bivuye" #: src/dc3dd.c:1023 #, fuzzy msgid " nofollow do not follow symlinks\n" msgstr "OYA" #: src/dc3dd.c:1025 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1027 #, fuzzy msgid " binary use binary I/O for data\n" msgstr "Gukoresha kugirango" #: src/dc3dd.c:1029 #, fuzzy msgid " text use text I/O for data\n" msgstr "Gukoresha kugirango" #: src/dc3dd.c:1033 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "a Kuri a Sitatisitiki Kuri Bisanzwe Ikosa Hanyuma Kuri Gusubiramo NIBA Zeru " "Bya 1. 0 Ibyabitswe 0 Ibyabitswe Bayite 9 4. amasogonda" #: src/dc3dd.c:1085 #, fuzzy msgid "Unknown system error" msgstr "Sisitemu Ikosa" #: src/dc3dd.c:1476 src/dc3dd.c:1482 #, c-format msgid "" "%+% records in\n" "%+% records out\n" msgstr "" #: src/dc3dd.c:1489 src/dc3dd.c:1495 #, fuzzy, c-format msgid "% truncated record\n" msgid_plural "% truncated records\n" msgstr[0] "Icyabitswe" msgstr[1] "Icyabitswe" #: src/dc3dd.c:1507 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1527 src/dc3dd.c:1534 #, fuzzy, c-format msgid "% byte (%s) copied" msgid_plural "% bytes (%s) copied" msgstr[0] "%sBayite" #: src/dc3dd.c:1570 #, fuzzy msgid "Infinity B" msgstr "iherezo " #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:1583 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ",%gISEGONDA" #: src/dc3dd.c:1586 #, fuzzy, c-format msgid ", %g s, %s/s\n" msgstr ",%gISEGONDA" #: src/dc3dd.c:1643 #, fuzzy, c-format msgid "closing input file %s" msgstr "Iyinjiza IDOSIYE" #: src/dc3dd.c:1650 #, fuzzy, c-format msgid "closing output file %s" msgstr "Ibisohoka IDOSIYE" #: src/dc3dd.c:1843 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:1872 #, fuzzy msgid "Split extensions exhausted" msgstr "IDOSIYE Imigereka" #: src/dc3dd.c:1893 src/dc3dd.c:2085 src/dc3dd.c:2092 src/dc3dd.c:2100 #: src/dc3dd.c:2182 src/dc3dd.c:3131 src/dc3dd.c:3173 src/dc3dd.c:3188 #: src/dc3dd.c:3199 #, fuzzy, c-format msgid "opening %s" msgstr "Gufungura %s%S" #: src/dc3dd.c:1906 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:1911 #, fuzzy msgid "Verify FAILED" msgstr "Byanze" #: src/dc3dd.c:1964 src/dc3dd.c:2806 #, fuzzy, c-format msgid "writing to %s" msgstr "Kuri" #: src/dc3dd.c:2059 #, c-format msgid "unrecognized operand %s" msgstr "" #: src/dc3dd.c:2069 src/dc3dd.c:2076 src/dc3dd.c:2202 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "Sibyo Itariki" #: src/dc3dd.c:2125 #, c-format msgid "unknown hash convention %s" msgstr "" #: src/dc3dd.c:2146 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2159 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "Sibyo Itariki Imiterere" #: src/dc3dd.c:2186 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2211 #, fuzzy, c-format msgid "invalid conversion: %s" msgstr "Sibyo Ihindurangero" #: src/dc3dd.c:2214 #, fuzzy, c-format msgid "invalid input flag: %s" msgstr "Sibyo Iyinjiza Ibendera" #: src/dc3dd.c:2217 #, fuzzy, c-format msgid "invalid output flag: %s" msgstr "Sibyo Ibisohoka Ibendera" #: src/dc3dd.c:2220 #, fuzzy, c-format msgid "invalid status flag: %s" msgstr "Sibyo Imimerere Ibendera" #: src/dc3dd.c:2277 #, c-format msgid "unrecognized operand %s=%s" msgstr "" # sch/source\ui\app\strings.src:STR_INVALID_NUMBER.text #: src/dc3dd.c:2283 #, fuzzy, c-format msgid "invalid number %s" msgstr "Umubare utari wo" #: src/dc3dd.c:2306 #, fuzzy msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "Kuvanga Bya ASCII" #: src/dc3dd.c:2308 #, fuzzy msgid "cannot combine block and unblock" msgstr "Kuvanga Funga Na" #: src/dc3dd.c:2310 #, fuzzy msgid "cannot combine lcase and ucase" msgstr "Kuvanga Na" #: src/dc3dd.c:2312 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "Kuvanga Na" #: src/dc3dd.c:2458 #, fuzzy, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "Iburira kugirango IDOSIYE Bya sys h kugirango i Urutonde Bya" #: src/dc3dd.c:2507 src/dc3dd.c:2884 #, c-format msgid "reading %s" msgstr "" #: src/dc3dd.c:2515 src/dc3dd.c:2572 #, c-format msgid "%s: cannot seek" msgstr "" #: src/dc3dd.c:2552 #, fuzzy, c-format msgid "offset overflow while reading file %s" msgstr "Nta- boneza Byarenze urugero IDOSIYE" #: src/dc3dd.c:2564 #, fuzzy msgid "warning: invalid file offset after failed read" msgstr "Iburira IDOSIYE Nta- boneza Nyuma Byanze Gusoma" #: src/dc3dd.c:2568 #, fuzzy msgid "cannot work around kernel bug after all" msgstr "Akazi Nyuma Byose" #: src/dc3dd.c:2711 #, fuzzy, c-format msgid "setting flags for %s" msgstr "Igenamiterere Amabendera kugirango" #: src/dc3dd.c:2720 #, c-format msgid "Recorded % %s from blocks % to %" msgstr "" #: src/dc3dd.c:2954 src/dc3dd.c:3053 #, c-format msgid "writing %s" msgstr "" #: src/dc3dd.c:3070 #, fuzzy, c-format msgid "fdatasync failed for %s" msgstr "Byanze kugirango" #: src/dc3dd.c:3080 #, fuzzy, c-format msgid "fsync failed for %s" msgstr "Byanze kugirango" #: src/dc3dd.c:3125 #, fuzzy msgid "standard input" msgstr "Bisanzwe Iyinjiza" #: src/dc3dd.c:3141 #, fuzzy msgid "standard output" msgstr "Bisanzwe Ibisohoka" #: src/dc3dd.c:3209 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "blocks" msgstr "" #: src/dc3dd.c:3224 #, c-format msgid "cannot fstat %s" msgstr "" #: src/dc3dd.c:3230 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "Bayite in Ibisohoka IDOSIYE" #: src/dc3dd.c:3252 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "Igenamiterere Uruhushya kugirango" #, fuzzy #~ msgid "setting permissions for %s" #~ msgstr "Igenamiterere Uruhushya kugirango" #, fuzzy #~ msgid "invalid argument %s for %s" #~ msgstr "Sibyo kugirango" #, fuzzy #~ msgid "ambiguous argument %s for %s" #~ msgstr "kugirango" #, fuzzy #~ msgid "Valid arguments are:" #~ msgstr "ingingo" #, fuzzy #~ msgid "error closing file" #~ msgstr "Iyinjiza IDOSIYE" # svtools/source\misc\errtxt.src:RID_ERRHDL.ERRCODE_CLASS_WRITE.text #, fuzzy #~ msgid "write error" #~ msgstr "Kwandika ikosa" #, fuzzy #~ msgid "regular empty file" #~ msgstr "Ibisanzwe ubusa IDOSIYE" #, fuzzy #~ msgid "regular file" #~ msgstr "Ibisanzwe IDOSIYE" # svtools/source\dialogs\filedlg2.src:STR_FILEDLG_DIR.text #, fuzzy #~ msgid "directory" #~ msgstr "Ububiko" #, fuzzy #~ msgid "block special file" #~ msgstr "Funga Bidasanzwe IDOSIYE" #, fuzzy #~ msgid "character special file" #~ msgstr "Inyuguti Bidasanzwe IDOSIYE" #, fuzzy #~ msgid "symbolic link" #~ msgstr "Ihuza" #, fuzzy #~ msgid "message queue" #~ msgstr "Ubutumwa Umurongo" #, fuzzy #~ msgid "shared memory object" #~ msgstr "Ububiko Igikoresho" #, fuzzy #~ msgid "typed memory object" #~ msgstr "Ububiko Igikoresho" #, fuzzy #~ msgid "weird file" #~ msgstr "IDOSIYE" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "Idosiye OYA" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "Idosiye OYA" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "Idosiye OYA" # svtools/source\misc\errtxt.src:RID_ERRHDL.ERRCODE_CLASS_WRITE.text #, fuzzy #~ msgid "System error" #~ msgstr "Kwandika ikosa" #, fuzzy #~ msgid "Unknown error" #~ msgstr "Sisitemu Ikosa" #, fuzzy #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s:Ihitamo ni" #, fuzzy #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s:Ihitamo Kwemerera" #, fuzzy #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s:Ihitamo Kwemerera" #, fuzzy #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s:Ihitamo" #, fuzzy #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s:Ihitamo" #, fuzzy #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s:Ihitamo" #, fuzzy #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s:Ihitamo" #, fuzzy #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s:Sibyo Ihitamo" #, fuzzy #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s:Ihitamo" #, fuzzy #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s:Ihitamo ni" #, fuzzy #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s:Ihitamo Kwemerera" #, fuzzy #~ msgid "cannot change permissions of %s" #~ msgstr "Guhindura>> Uruhushya Bya" #, fuzzy #~ msgid "cannot create directory %s" #~ msgstr "Kurema bushyinguro" #, fuzzy #~ msgid "memory exhausted" #~ msgstr "Ububiko" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "Kuri Icyabitswe KIGEZWEHO bushyinguro" #, fuzzy #~ msgid "failed to return to initial working directory" #~ msgstr "Byanze Kuri Garuka Kuri bushyinguro" # basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text #, fuzzy #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s:Byanze" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s:Sibyo Ibisanzwe imvugo" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "Sibyo Inyuguti ishuri" #, fuzzy #~ msgid "Invalid range end" #~ msgstr "Ipaji Urutonde" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "Ububiko" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s:Sibyo Ibisanzwe imvugo" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "Ikosa in Ibisanzwe imvugo Gushaka" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "Ikosa in Ibisanzwe imvugo Gushaka" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "Ikosa in Ibisanzwe imvugo Gushaka" #, fuzzy #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "ni Kuri ku" #, fuzzy #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "ni Kuri ku Nka" #, fuzzy #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "Gukoresha Oya Imizi Kuri iyi" #, fuzzy #~ msgid "iconv function not usable" #~ msgstr "Umumaro OYA" #, fuzzy #~ msgid "iconv function not available" #~ msgstr "Umumaro OYA Bihari" #, fuzzy #~ msgid "character out of range" #~ msgstr "Inyuguti Inyuma Bya Urutonde" #, fuzzy #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "GUHINDURA U Kuri Inyuguti Gushyiraho" #, fuzzy #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "GUHINDURA U Kuri Inyuguti Gushyiraho" #, fuzzy #~ msgid "invalid user" #~ msgstr "Sibyo Ukoresha:" #, fuzzy #~ msgid "invalid group" #~ msgstr "Sibyo Itsinda" #, fuzzy #~ msgid "invalid spec" #~ msgstr "Sibyo Ukoresha:" #, fuzzy #~ msgid "Written by %s.\n" #~ msgstr "ku" #, fuzzy #~ msgid "Written by %s and %s.\n" #~ msgstr "ku Na" #, fuzzy #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "ku Na" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "ku Na" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "ku Na" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "ku Na" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "ku Na" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "ku Na" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "ku Na" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "ku Na Ibindi" #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "Inkoresha siyo" #, fuzzy #~ msgid "string comparison failed" #~ msgstr "Ikurikiranyanyuguti Byanze" #, fuzzy #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Kuri Akazi i" #, fuzzy #~ msgid "The strings compared were %s and %s." #~ msgstr "Ikurikiranyanyuguti Na" #, fuzzy #~ msgid "string transformation failed" #~ msgstr "Ikurikiranyanyuguti Byanze" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "Inkoresha siyo" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "Sibyo Umubare wuzuye" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s:IBARA." #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "--Verisiyo Ibisohoka Verisiyo Ibisobanuro Na" #, fuzzy #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "Oya Cyangwa Ryari: ni Gusoma Bisanzwe Iyinjiza" # 4952 #, fuzzy #~ msgid "read error" #~ msgstr "Ikosa ryo mu Isoma" #, fuzzy #~ msgid "invalid input" #~ msgstr "Sibyo Iyinjiza Ibendera" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "Sibyo Isunika Ingano" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "Birenga" #, fuzzy #~ msgid "closing standard input" #~ msgstr "Bisanzwe Iyinjiza" #, fuzzy #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "Na: Nyobora bushyinguro Cyavanyweho Gukuraho... a" #, fuzzy #~ msgid "missing operand" #~ msgstr "Ibuze" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "S Cyangwa Bisanzwe Iyinjiza Kuri Bisanzwe Ibisohoka A Garagaza Byose Kuri " #~ "B Umubare Umubare Ibisohoka E Kuri E Garagaza Kugaragaza ku Impera Bya N " #~ "Umubare Umubare Byose Ibisohoka S Ahatanditseho Nta narimwe Birenzeho " #~ "UMWE Ahatanditseho" #, fuzzy #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ "-T Kuri Garagaza Amasimbuka Kugaragaza Inyuguti Nka u v Garagaza " #~ "Gukoresha Na kugirango Na" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "ku" #, fuzzy #~ msgid "%s: input file is output file" #~ msgstr "%s:Iyinjiza IDOSIYE ni Ibisohoka IDOSIYE" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "Byanze Kuri Guhindura>> Bya" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "Byanze Kuri Kubona Ibiranga Bya" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "Byanze Kuri Guhindura>> Bya Kuri" # basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text #, fuzzy #~ msgid "%s" #~ msgstr "%s" #, fuzzy #~ msgid "cannot read directory %s" #~ msgstr "Gusoma bushyinguro" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "Uruhushya Bya" #, fuzzy #~ msgid "fts_read failed" #~ msgstr "Byanze" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "Cyangwa Cyangwa Indango" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems with lchown system " #~ "call)\n" #~ msgstr "" #~ "i Itsinda Bya Kuri Indango Guhindura>> i Itsinda Bya Kuri Bya C " #~ "Amahinduka nka Icyegeranyo Ryari: a Guhindura>> ni i Bya Ihuza i Ihuza " #~ "iyi ni i Mburabuzi" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ "-F Ikosa Indango Gukoresha Itsinda i ku Idosiye Na ububiko bw'amaderese v " #~ "Ibisohoka a kugirango buri IDOSIYE" #, fuzzy #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Amahitamo Guhindura a ni Ryari: i ni Birenzeho ni i INGARUKA H NIBA a " #~ "Komandi: Umurongo ni a Kuri a bushyinguro buri Ihuza Kuri a OYA amahuza " #~ "Mburabuzi" #, fuzzy #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-H Cyangwa" #, fuzzy #~ msgid "-R -h requires -P" #~ msgstr "-h" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "Ibuze Nyuma" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "Sibyo Ubwoko" #, fuzzy #~ msgid "failed to get attributes of %s" #~ msgstr "Byanze Kuri Kubona Ibiranga Bya" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "Sibyo Itsinda" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "Cyangwa Indango" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "i Itsinda Bya Kuri Indango Guhindura>> i Itsinda Bya Kuri Bya C " #~ "Amahinduka nka Icyegeranyo Ryari: a Guhindura>> ni i Bya Ihuza i Ihuza " #~ "iyi ni i Mburabuzi" #, fuzzy #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "-h Oya Ihuza Bya IDOSIYE ku Guhindura>> Bya a" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "--Oya Imizi OYA i Mburabuzi Imizi Kuri ku" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ "-F Ikosa Indango Gukoresha Itsinda i ku Idosiye Na ububiko bw'amaderese v " #~ "Ibisohoka a kugirango buri IDOSIYE" #, fuzzy #~ msgid "getting new attributes of %s" #~ msgstr "Gishya Ibiranga Bya" #, fuzzy #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "Ihuza" #, fuzzy #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "Ubwoko Bya Byahinduwe Kuri" #, fuzzy #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "Byanze Kuri Guhindura>> Ubwoko Bya Kuri" #, fuzzy #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "Ubwoko Bya Nka" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "Kurema Ihuza" #, fuzzy #~ msgid "changing permissions of %s" #~ msgstr "Uruhushya Bya" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "Igenamiterere Uruhushya kugirango" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "Cyangwa Cyangwa Indango" #, fuzzy #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "i Ubwoko Bya Kuri C Amahinduka nka Icyegeranyo Ryari: a Guhindura>> ni" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "--Oya Imizi OYA i Mburabuzi Imizi Kuri ku" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "-F Ikosa v Ibisohoka a kugirango buri IDOSIYE Indango Gukoresha Ubwoko " #~ "Bya Guhindura>> Idosiye Na ububiko bw'amaderese" #, fuzzy #~ msgid "cannot combine mode and --reference options" #~ msgstr "Kuvanga Ubwoko Na Indango Amahitamo" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "Sibyo Ubwoko" #, fuzzy #~ msgid "changed ownership of %s to %s\n" #~ msgstr "Byahinduwe Bya Kuri" #, fuzzy #~ msgid "changed group of %s to %s\n" #~ msgstr "Byahinduwe Itsinda Bya Kuri" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "Oya Guhindura>> Kuri Bya" #, fuzzy #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "Byanze Kuri Guhindura>> Bya Kuri" #, fuzzy #~ msgid "failed to change group of %s to %s\n" #~ msgstr "Byanze Kuri Guhindura>> Itsinda Bya Kuri" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "Byanze Kuri Guhindura>> Bya" #, fuzzy #~ msgid "ownership of %s retained as %s\n" #~ msgstr "Bya Nka" #, fuzzy #~ msgid "group of %s retained as %s\n" #~ msgstr "Itsinda Bya Nka" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "Bya" #, fuzzy #~ msgid "changing ownership of %s" #~ msgstr "Bya" #, fuzzy #~ msgid "changing group of %s" #~ msgstr "Itsinda Bya" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "Cyangwa Indango" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "i Na Cyangwa Itsinda Bya Kuri Na Cyangwa Indango Guhindura>> i Na Itsinda " #~ "Bya Kuri Bya C Amahinduka nka Icyegeranyo Ryari: a Guhindura>> ni i Bya " #~ "Ihuza i Ihuza iyi ni i Mburabuzi" #, fuzzy #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ "--Bivuye Guhindura>> i Na Cyangwa Itsinda Bya IDOSIYE KIGEZWEHO Na " #~ "Cyangwa Itsinda BIHUYE Gicurasi in a ni OYA Bya ngombwa kugirango i " #~ "Ikiranga" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ "-F Ikosa Indango Gukoresha Na Itsinda i ku Idosiye Na ububiko " #~ "bw'amaderese v Ibisohoka a kugirango buri IDOSIYE" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "ni NIBA Ibuze ni NIBA Ibuze Ifashayinjira Itsinda NIBA ku a a Na Gicurasi " #~ "Bikurikije umubare Nka Nka" #, fuzzy #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "Na: Imizi bushyinguro Gushyiraho Kuri" #, fuzzy #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "Oya Komandi: ni Gukoresha Mburabuzi" #, fuzzy #~ msgid "cannot change root directory to %s" #~ msgstr "Guhindura>> Imizi bushyinguro Kuri" #, fuzzy #~ msgid "cannot chdir to root directory" #~ msgstr "Kuri Imizi bushyinguro" #, fuzzy #~ msgid "cannot run command %s" #~ msgstr "Gukoresha Komandi:" #, fuzzy #~ msgid "%s: file too long" #~ msgstr "%s:IDOSIYE" #, fuzzy #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "Na Bayite Bya" #, fuzzy #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "bishunguwe Idosiye Na Umurongo ku Umurongo" #, fuzzy #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "Oya Amahitamo Inkingi Ibisohoka Cyo nyine Kuri Inkingi Kirimo Imirongo " #~ "Cyo nyine Kuri Na Inkingi Kirimo Imirongo Kuri Byombi Idosiye" #, fuzzy #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "-1. Imirongo Cyo nyine Kuri 2. Imirongo Cyo nyine Kuri 3. Imirongo " #~ "Kugaragara in Byombi" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "Igenamiterere Uruhushya kugirango" #, fuzzy #~ msgid "failed to preserve ownership for %s" #~ msgstr "Byanze Kuri kugirango" #, fuzzy #~ msgid "failed to lookup file %s" #~ msgstr "Byanze Kuri GUSHAKISHA IDOSIYE" #, fuzzy #~ msgid "failed to preserve authorship for %s" #~ msgstr "Byanze Kuri kugirango" #, fuzzy #~ msgid "cannot open %s for reading" #~ msgstr "Gufungura kugirango" #, fuzzy #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "Gusimbuka: %s%s IDOSIYE Nka" #, fuzzy #~ msgid "failed to get file system create context" #~ msgstr "Byanze Kuri Gushyiraho i Gukoporora Bya Kuri Gufunga ku" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "Byanze Kuri Guhindura>> Itsinda Bya Kuri" #, fuzzy #~ msgid "cannot remove %s" #~ msgstr "Gukuraho..." # 5072 #, fuzzy #~ msgid "removed %s\n" #~ msgstr "Cyavanyweho" #, fuzzy #~ msgid "not writing through dangling symlink %s" #~ msgstr "Kurema Ihuza" #, fuzzy #~ msgid "cannot create regular file %s" #~ msgstr "Kurema Ibisanzwe IDOSIYE" #, fuzzy #~ msgid "preserving times for %s" #~ msgstr "Times kugirango" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s:Guhindura Ubwoko" #, fuzzy #~ msgid "%s: overwrite %s? " #~ msgstr "%s:Guhindura" #, fuzzy #~ msgid " (backup: %s)" #~ msgstr "(Inyibutsa" #, fuzzy #~ msgid "omitting directory %s" #~ msgstr "bushyinguro" #, fuzzy #~ msgid "warning: source file %s specified more than once" #~ msgstr "Iburira Inkomoko IDOSIYE Birenzeho Rimwe" #, fuzzy #~ msgid "%s and %s are the same file" #~ msgstr "%sNa i IDOSIYE" #, fuzzy #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "Guhindura bushyinguro Na: bushyinguro" #, fuzzy #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "OYA Guhindura Byaremwe Na:" #, fuzzy #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "Guhindura bushyinguro Na: bushyinguro" #, fuzzy #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "Kwimura bushyinguro bushyinguro" #, fuzzy #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "Hejuru Inkomoko OYA" #, fuzzy #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "Hejuru Inkomoko OYA" #, fuzzy #~ msgid "cannot backup %s" #~ msgstr "Inyibutsa" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "OYA Guhindura Byaremwe Na:" #, fuzzy #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "Gukoporora a bushyinguro" #, fuzzy #~ msgid "will not create hard link %s to directory %s" #~ msgstr "OYA Kurema Ikomeye Ihuza Kuri bushyinguro" #, fuzzy #~ msgid "cannot create hard link %s to %s" #~ msgstr "Kurema Ikomeye Ihuza Kuri" #, fuzzy #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "Kwimura Kuri a Bya" #, fuzzy #~ msgid "cannot move %s to %s" #~ msgstr "Kwimura Kuri" #, fuzzy #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "APAREYE Kwimura Byanze Kuri Kuri Gukuraho... Intego" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "Byanze Kuri Kubona Ibiranga Bya" #, fuzzy #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "Gukoporora Ihuza" #, fuzzy #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s:Ubwoko Bifitanye isano amahuza in KIGEZWEHO bushyinguro" #, fuzzy #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "Kurema Ihuza Kuri" #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "Kurema Ihuza" #, fuzzy #~ msgid "cannot create fifo %s" #~ msgstr "Kurema" #, fuzzy #~ msgid "cannot create special file %s" #~ msgstr "Kurema Bidasanzwe IDOSIYE" #, fuzzy #~ msgid "cannot read symbolic link %s" #~ msgstr "Gusoma Ihuza" #, fuzzy #~ msgid "cannot create symbolic link %s" #~ msgstr "Kurema Ihuza" #, fuzzy #~ msgid "%s has unknown file type" #~ msgstr "%sKitazwi IDOSIYE Ubwoko" #, fuzzy #~ msgid "cannot un-backup %s" #~ msgstr "Inyibutsa" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "Cyangwa Cyangwa T" #, fuzzy #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "Kuri Cyangwa Igikubo S Kuri" #, fuzzy #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "ingingo Kuri Amahitamo kugirango Amahitamo" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ "-a Nka Inyibutsa Ubwoko a Inyibutsa Bya Ishyika B nka Inyibutsa OYA " #~ "Kwemera Gukoporora Ibigize Gukoporora Ibigize Bya Bidasanzwe Idosiye " #~ "Ryari: D Nka Oya" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ "--Oya Nta narimwe F NIBA Ishyika IDOSIYE Gukuraho... Na i Biganira " #~ "Urwinjiriro Mbere H Komandi: Umurongo" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ "-L Ihuza Ihuza Idosiye Bya Buri gihe P Nka Ubwoko i Ibiranga Mburabuzi " #~ "Ubwoko NIBA Ibiranga amahuza" #, fuzzy #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "--Oya i Kongeraho... Inkomoko Inzira Kuri Nka Oya" #, fuzzy #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "-R Gukoporora ububiko bw'amaderese Gukuraho... Ishyika Gukuraho... " #~ "Ishyika IDOSIYE Kuri Gufungura Inyuranyamigaragarire Na:" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ "--Subiza Yego Oya Ikibazo# Kuri i Urwinjiriro Ibyerekeye Ishyika Igenzura " #~ "Bya Gukuraho... Bivuye" #, fuzzy #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ "-S Ihuza Ubwoko amahuza Bya Ingereka i Inyibutsa T Intego bushyinguro " #~ "Gukoporora Byose ingingo Oya Intego bushyinguro Nka a Bisanzwe" #, fuzzy #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ "-u Kuvugurura Gukoporora Ryari: i IDOSIYE ni i Ishyika IDOSIYE Cyangwa " #~ "Ryari: Ishyika IDOSIYE ni v ni X IDOSIYE Sisitemu ku iyi IDOSIYE" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "Mburabuzi Idosiye ku a Na IDOSIYE ni Nka ni i ku Ikiyega Buri gihe Kuri " #~ "Kurema a i IDOSIYE Kirimo a Bya Zeru Bayite Nta narimwe Kuri Bya Idosiye" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Inyibutsa Ingereka ni Gushyiraho Na: Ingereka Cyangwa Verisiyo Igenzura " #~ "Uburyo Gicurasi Byahiswemo Biturutse i Inyibutsa Ihitamo Cyangwa " #~ "IMPINDURAGACIRO i Uduciro" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ "Ntacyo Bidakora Nta narimwe Ubwoko Ibyashyinguwe ATARIIGIHARWE NIBA " #~ "Inyibutsa ni Iriho Imibare T Ubwoko Iriho Imibare Iriho Imibare NIBA " #~ "Iriho Imibare Ibyashyinguwe Byoroheje Byoroheje Nta narimwe Buri gihe " #~ "Ubwoko Byoroheje" #, fuzzy #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "a Bidasanzwe a Inyibutsa Bya Ryari: i Na Na Na i Izina: kugirango " #~ "Ibisanzwe IDOSIYE" #, fuzzy #~ msgid "failed to preserve times for %s" #~ msgstr "Byanze Kuri Times kugirango" #, fuzzy #~ msgid "failed to preserve permissions for %s" #~ msgstr "Byanze Kuri Uruhushya kugirango" #, fuzzy #~ msgid "cannot make directory %s" #~ msgstr "Ubwoko bushyinguro" #, fuzzy #~ msgid "%s exists but is not a directory" #~ msgstr "%sni OYA a bushyinguro" #, fuzzy #~ msgid "missing file operand" #~ msgstr "Ibuze IDOSIYE" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "Ibuze Ishyika IDOSIYE Nyuma" #, fuzzy #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "Kuvanga Intego bushyinguro T Na Oya Intego bushyinguro" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "Intego ni OYA a bushyinguro" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "Ryari: Inzira i Ishyika a bushyinguro" #, fuzzy #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "i Kwemerera Ibuze Ihitamo ni Bitemewe. Gukoresha Ongera ugerageze" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "Igikubo Intego ububiko bw'amaderese" #, fuzzy #~ msgid "cannot make both hard and symbolic links" #~ msgstr "Ubwoko Byombi Ikomeye Na amahuza" #, fuzzy #~ msgid "backup type" #~ msgstr "Inyibutsa Ubwoko" #, fuzzy #~ msgid "input disappeared" #~ msgstr "Iyinjiza" #, fuzzy #~ msgid "%s: line number out of range" #~ msgstr "%s:Umurongo Umubare Inyuma Bya Urutonde" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s:`%s':Umurongo Umubare Inyuma Bya Urutonde" #, fuzzy #~ msgid " on repetition %s\n" #~ msgstr "ku" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s:`%s':BIHUYE OYA Byabonetse" #, fuzzy #~ msgid "error in regular expression search" #~ msgstr "Ikosa in Ibisanzwe imvugo Gushaka" #, fuzzy #~ msgid "write error for %s" #~ msgstr "Kwandika Ikosa kugirango" #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s:Umubare wuzuye Ikitezwe: Nyuma" #, fuzzy #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s:`}'ni Bya ngombwa in Gusubiramo IBARA" #, fuzzy #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}:Umubare wuzuye Bya ngombwa hagati Na" #, fuzzy #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s:Ibuze" #, fuzzy #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s:Sibyo Ibisanzwe imvugo" #, fuzzy #~ msgid "%s: invalid pattern" #~ msgstr "%s:Sibyo Ishusho" #, fuzzy #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s:Umurongo Umubare Biruta Zeru" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "Umurongo Umubare ni Gitoya Umurongo Umubare" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "Iburira Umurongo Umubare ni i Nka Umurongo Umubare" #, fuzzy #~ msgid "invalid format width" #~ msgstr "Sibyo Imiterere Ubugari" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "Sibyo Imiterere" #, fuzzy #~ msgid "missing conversion specifier in suffix" #~ msgstr "Ibuze Ihindurangero in Ingereka" #, fuzzy #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "Sibyo Ihindurangero in Ingereka" #, fuzzy #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "Sibyo Ihindurangero in Ingereka" #, fuzzy #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "Ihindurangero in Ingereka" #, fuzzy #~ msgid "missing %% conversion specification in suffix" #~ msgstr "Ibuze Ihindurangero in Ingereka" #, fuzzy #~ msgid "%s: invalid number" #~ msgstr "%s:Sibyo Umubare" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Bya ku S Kuri Idosiye Na Ibisohoka Bayite Bya Kuri Bisanzwe Ibisohoka" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ "-B Ingereka Imiterere Gukoresha Bya F Imbanziriza Gukoresha Bya K Gumana: " #~ "Idosiye OYA Gukuraho... Ibisohoka Idosiye ku" #, fuzzy #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ "-N Gukoresha Umubare Bya Bya S OYA Gucapa Bya Ibisohoka IDOSIYE Z ubusa " #~ "Idosiye Gukuraho... ubusa Ibisohoka" #, fuzzy #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "Bisanzwe Iyinjiza NIBA ni Gicurasi" #, fuzzy #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "Gukoporora Hejuru Kuri OYA Umurongo Gukoporora Hejuru Kuri OYA a Kuri OYA " #~ "a Gusubiramo i Ibanjirije Ishusho Umubare Bya Gusubiramo i Ibanjirije " #~ "Ishusho Nka Times Nka Umurongo ni a Bya ngombwa Cyangwa ku a Umubare " #~ "wuzuye" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Cyangwa Bivuye" #, fuzzy #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "Byahiswemo Bya Imirongo Bivuye Kuri Bisanzwe Ibisohoka" #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ "-B Bayite Guhitamo C Inyuguti Guhitamo D Gukoresha Bya kugirango Umwanya" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ "-F Imyanya Guhitamo Imyanya Gucapa Kirimo Oya Inyuguti i S Ihitamo ni N" #, fuzzy #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "--i Gushyiraho Bya Byahiswemo Bayite Cyangwa Imyanya" #, fuzzy #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ "-S OYA Gucapa Imirongo OYA Ibisohoka Gukoresha Nka i Ibisohoka i " #~ "Mburabuzi ni Kuri Gukoresha i Iyinjiza" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Na Bya B C Cyangwa F ni Hejuru Bya Cyangwa Ibice ku Iyinjiza ni i " #~ "Itondekanya ni Gusoma Na ni Rimwe Urutonde ni Bya Bayite Inyuguti Cyangwa " #~ "Umwanya Bivuye Bivuye Bayite Inyuguti Cyangwa Umwanya Kuri Impera Bya " #~ "Bivuye Kuri Bayite Inyuguti Cyangwa Bivuye Itangira Kuri Bayite Inyuguti " #~ "Cyangwa Oya Cyangwa Ryari: ni Gusoma Bisanzwe Iyinjiza" #, fuzzy #~ msgid "invalid byte or field list" #~ msgstr "Sibyo Bayite Cyangwa Umwanya Urutonde" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "Sibyo Umurongo Ubugari" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "Ipaji Urutonde" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "Bayite Nta- boneza ni Binini" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "Umwanya Umubare ni Binini" #, fuzzy #~ msgid "only one type of list may be specified" #~ msgstr "Ubwoko Bya Urutonde Gicurasi" #, fuzzy #~ msgid "the delimiter must be a single character" #~ msgstr "i a UMWE Inyuguti" #, fuzzy #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "a Urutonde Bya Bayite Inyuguti Cyangwa Imyanya" #, fuzzy #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "Iyinjiza Gicurasi Ryari: ku Imyanya" #, fuzzy #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "Imirongo Ryari: ku Imyanya" #, fuzzy #~ msgid "missing list of fields" #~ msgstr "Ibuze Urutonde Bya Imyanya" #, fuzzy #~ msgid "missing list of positions" #~ msgstr "Ibuze Urutonde Bya imyanya" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "Cyangwa u Ky'isi yose" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "i KIGEZWEHO Igihe in i Cyangwa Gushyiraho i Sisitemu Itariki D Itariki " #~ "Kugaragaza Igihe ku OYA F IDOSIYE nka Itariki Rimwe kugirango Umurongo " #~ "Bya Ibisohoka Itariki Igihe in Imiterere kugirango Itariki i Mburabuzi " #~ "Cyangwa kugirango Itariki Igihe Kuri i" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ "-R Indango Kugaragaza i Iheruka Igihe Bya Ibisohoka Itariki S Gushyiraho " #~ "Gushyiraho Igihe ku u Ky'isi yose Gucapa Cyangwa Gushyiraho" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ "%AProject- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ "%CProject- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ "%hProject- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ "%kProject- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ "%nProject- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ "%SProject- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ "%UProject- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ "%xProject- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "Igikubo Ibisohoka Idosiye" #, fuzzy #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "i Amahitamo Kuri Amatariki kugirango Icapa..." #, fuzzy #~ msgid "the options to print and set the time may not be used together" #~ msgstr "i Amahitamo Kuri Gucapa Na Gushyiraho i Igihe Gicurasi OYA" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "i a Nyobora ikoresha Ihitamo Kuri Itariki S a Imiterere " #~ "Ikurikiranyanyuguti Itangiriro Na:" #, fuzzy #~ msgid "cannot set date" #~ msgstr "Gushyiraho Itariki" #, fuzzy #~ msgid "time %s is out of range" #~ msgstr "Igihe ni Inyuma Bya Urutonde" #, fuzzy #~ msgid "cannot get current directory" #~ msgstr "Kubona KIGEZWEHO bushyinguro" # svtools/source\dialogs\filedlg2.src:STR_FILEDLG_CANTCHDIR.text #, fuzzy #~ msgid "cannot change to directory %s" #~ msgstr "Gufungura ububiko ntibishoboka" #, fuzzy #~ msgid "cannot stat current directory (now %s)" #~ msgstr "KIGEZWEHO bushyinguro NONEAHA" #, fuzzy #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Ibisobanuro Ibyerekeye i IDOSIYE Sisitemu ku Cyangwa Byose IDOSIYE ku " #~ "Mburabuzi" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "-g." #, fuzzy #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ "-i Urutonde Ibisobanuro Bya Funga K nka Funga Ingano L Kuri IDOSIYE Oya " #~ "OYA Mbere Ikoresha: Ibisobanuro Mburabuzi" #, fuzzy #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ "-Gukoresha i Ibisohoka Mbere Ikoresha: T Ubwoko Kuri IDOSIYE Bya Ubwoko " #~ "Gucapa Ubwoko Gucapa IDOSIYE Sisitemu X Ubwoko Kuri IDOSIYE OYA Bya " #~ "Ubwoko v" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "Gicurasi Cyangwa Gicurasi Umubare wuzuye ku Bya 1000 1000 1000 Na ku " #~ "kugirango E" #, fuzzy #~ msgid "file system type %s both selected and excluded" #~ msgstr "IDOSIYE Sisitemu Ubwoko Byombi Byahiswemo Na" #~ msgid "Warning: " #~ msgstr "Iburira:" #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%scannotGusoma imbonerahamwe# Bya IDOSIYE" #, fuzzy #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Amabwiriza Kuri Gushyiraho i IMPINDURAGACIRO Imiterere Bya Ibisohoka B " #~ "Igikonoshwa Ibisohoka Igikonoshwa ITEGEKONGENGA Kuri Gushyiraho C C " #~ "Igikonoshwa Ibisohoka C Igikonoshwa ITEGEKONGENGA Kuri Gushyiraho P " #~ "Gucapa Ububikoshingiro Ibisohoka" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "ni Gusoma Kuri Amabara Kuri Gukoresha kugirango Na Umigereka a " #~ "Ububikoshingiro ni Birambuye ku i Imiterere Bya Idosiye Gukoresha Gucapa" #, fuzzy #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu:Sibyo Umurongo Ibuze ISEGONDA" #, fuzzy #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu:Ijambo- banze" #, fuzzy #~ msgid "" #~ msgstr "= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "ni Birutwa ni Birutwa Cyangwa bingana Kuri ni bingana Kuri ni Kuri ni " #~ "Biruta Cyangwa bingana Kuri ni Biruta" #, fuzzy #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "Igiteranyo Bya Na Ikinyuranyo/ Itandukaniro Bya Na" #, fuzzy #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "IGIKUBO Bya Na IKIGABANYO Bya ku Bya ku" #, fuzzy #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "Ishusho BIHUYE Bya in BIHUYE Nka Bya Bivuye Umubarendanga Umubarendanga " #~ "in ni Byabonetse Cyangwa Uburebure Uburebure Bya" #, fuzzy #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ "+Nka a Ikurikiranyanyuguti ATARIIGIHARWE NIBA ni Ijambo- banze nka " #~ "Cyangwa Mukoresha nka Agaciro Bya" #, fuzzy #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "Mukoresha Kuri Cyangwa kugirango NIBA Byombi Imibare Ikindi Garuka i " #~ "Ikurikiranyanyuguti hagati Na Cyangwa NTAGIHARI Na OYA Garuka i Umubare " #~ "Bya Inyuguti Cyangwa 0" #, fuzzy #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "Imimerere ni 0 NIBA ni NTAGIHARI 0 1. NIBA ni 0 2. NIBA ni Sibyo Na 3. " #~ "NIBA Ikosa" #~ msgid "syntax error" #~ msgstr "Ikosa mu myandikire" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "Ikosa in Ibisanzwe imvugo Gushaka" #, fuzzy #~ msgid "non-numeric argument" #~ msgstr "Bikurikije umubare" #, fuzzy #~ msgid "division by zero" #~ msgstr "Kugabanya na zeru" #, fuzzy #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "i Bya" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "i Bya Byose Umubare wuzuye Oya ku i Komandi: Umurongo Gusoma Bivuye " #~ "Bisanzwe Iyinjiza" #, fuzzy #~ msgid "%s is too large" #~ msgstr "%sni Binini" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "`%s'ni OYA a Byemewe Umubare wuzuye" #, fuzzy #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Igika in i S Kuri Bisanzwe Ibisohoka Oya Cyangwa NIBA ni Gusoma Bisanzwe " #~ "Iyinjiza" #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ "-C Marije Bya Itangira P Imbanziriza Imirongo Itangiriro Na: i " #~ "Imbanziriza Kuri S Gutandukanya Gutandukanya Imirongo OYA" #, fuzzy #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ "-T Igika Bya Itangira Umurongo Bivuye u Isigamwanya Umwanya hagati " #~ "Amagambo Nyuma W Ubugari Kinini Umurongo Ubugari Mburabuzi Bya 75 Inkingi" #, fuzzy #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "Sibyo Ihitamo ni Ryari: ni i Gukoresha W" #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "Sibyo Ubugari" #, fuzzy #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "Iyinjiza Imirongo in Bisanzwe Iyinjiza ku Mburabuzi Ibisohoka" #, fuzzy #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ "-B Bayite IBARA Bayite S Imyanya itandukanya ku W Ubugari Gukoresha " #~ "Inkingi Bya" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "Sibyo Umubare Bya Inkingi" #, fuzzy #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "i Itangira 10 Imirongo Bya Kuri Bisanzwe Ibisohoka Birenzeho Na: a " #~ "Umutwempangano i IDOSIYE Izina: Oya Cyangwa Ryari: ni Gusoma Bisanzwe " #~ "Iyinjiza" #, fuzzy #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ "-C Bayite Gucapa i Itangira Bayite Bya IDOSIYE Na: i Nyobora Gucapa Byose " #~ "i Bayite Bya N Imirongo Gucapa i Itangira Imirongo Bya i Itangira 10 Na: " #~ "i Nyobora Gucapa Byose i Imirongo Bya" #, fuzzy #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ "-Q Nta narimwe Gucapa Imitwe IDOSIYE v Buri gihe Gucapa Imitwe IDOSIYE" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "Na Gicurasi ku i Imigereka C 1. W 2. B 1000 1000 1000 1000 1000 1000 Na " #~ "ku kugirango E IKIMENYETSO Gicurasi" #, fuzzy #~ msgid "error reading %s" #~ msgstr "Ikosa" #, fuzzy #~ msgid "error writing %s" #~ msgstr "Ikosa" #, fuzzy #~ msgid "%s: file has shrunk too much" #~ msgstr "%s:IDOSIYE" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "%s:Umubare Bya Bayite ni Binini" #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s:Inyuma Kuri Umwimerere Ibirindiro" #, fuzzy #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s:Kuri Nta- boneza" #, fuzzy #~ msgid "cannot reposition file pointer for %s" #~ msgstr "IDOSIYE Mweretsi kugirango" #, fuzzy #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s:%sni Binini ni OYA" # sch/source\ui\dlg\diagrtyp.src:DLG_DIAGRAM_TYPE.FT_NUM_OF_LINES.text #, fuzzy #~ msgid "number of lines" #~ msgstr "Umubare w'imirongo" #, fuzzy #~ msgid "number of bytes" #~ msgstr "Umubare Bya Bayite" #, fuzzy #~ msgid "invalid number of lines" #~ msgstr "Sibyo Umubare Bya Imirongo" #, fuzzy #~ msgid "invalid number of bytes" #~ msgstr "Sibyo Umubare Bya Bayite" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "Sibyo Ihitamo" #, fuzzy #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Cyangwa i Bikurikije umubare Ikiranga in kugirango i KIGEZWEHO Ubuturo" #, fuzzy #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Cyangwa Cyangwa Gushyiraho i Izina ry'inturo: Bya i KIGEZWEHO Sisitemu" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "Gushyiraho Izina: Kuri" #, fuzzy #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "Gushyiraho Izina ry'inturo: iyi Sisitemu i" #, fuzzy #~ msgid "cannot determine hostname" #~ msgstr "Izina ry'inturo:" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Ibisobanuro kugirango Cyangwa i KIGEZWEHO Ukoresha: a Kwirengagiza " #~ "kugirango Bihuye neza Na: Ikindi g Itsinda Gucapa i CYUZUYE Itsinda " #~ "Amatsinda Gucapa Byose Itsinda N Izina: Gucapa a Izina: Bya a Umubare " #~ "kugirango R Gucapa i Bya i CYUZUYE Na: u Ukoresha: Gucapa i CYUZUYE " #~ "Ukoresha:" #, fuzzy #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "Gucapa Gushyiraho Bya Ibisobanuro" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "Gutandukanya in Birenzeho" #, fuzzy #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "Gucapa Amazina Cyangwa in Mburabuzi Imiterere" #, fuzzy #~ msgid "%s: No such user" #~ msgstr "%s:Ukoresha:" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "Gushaka Izina: kugirango Ukoresha:" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "Gushaka Izina: kugirango Itsinda" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "Byanze Kuri Guhindura>> Itsinda Bya Kuri" # sc/source\ui\src\subtdlg.src:RID_SCPAGE_SUBT_OPTIONS.FL_GROUP.text #, fuzzy #~ msgid " groups=" #~ msgstr "Amatsinda" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "Iburira Guhindura>> bushyinguro Kuri" #, fuzzy #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "" #~ "i Ihitamo Gicurasi OYA Ryari: gukora iyinjizaporogaramu:%s a bushyinguro" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "" #~ "Intego bushyinguro OYA Ryari: gukora iyinjizaporogaramu:%s a bushyinguro" #, fuzzy #~ msgid "invalid mode %s" #~ msgstr "Sibyo Ubwoko" #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "Guhindura>> Bya" #, fuzzy #~ msgid "cannot set time stamps for %s" #~ msgstr "Gushyiraho Igihe kugirango" #, fuzzy #~ msgid "fork system call failed" #~ msgstr "Sisitemu Byanze" #, fuzzy #~ msgid "cannot run strip" #~ msgstr "Gukoresha" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "Kuri" #, fuzzy #~ msgid "invalid user %s" #~ msgstr "Sibyo Ukoresha:" #, fuzzy #~ msgid "invalid group %s" #~ msgstr "Sibyo Itsinda" #, fuzzy #~ msgid "creating directory %s" #~ msgstr "bushyinguro" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "Cyangwa Cyangwa T Cyangwa D" #, fuzzy #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "i Itangira Amafishi Gukoporora Kuri Cyangwa Igikubo S Igenamiterere Na " #~ "Itsinda i Ifishi Kurema Byose Bya i" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ "--Inyibutsa Ubwoko a Inyibutsa Bya Ishyika B nka Inyibutsa OYA Kwemera C " #~ "D bushyinguro Byose ingingo Nka bushyinguro Amazina Kurema Bya i" #, fuzzy #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ "-Kurema Byose Nyobora Bya i Iheruka Hanyuma Gukoporora Kuri g Itsinda " #~ "Gushyiraho Itsinda Bya KIGEZWEHO M Ubwoko Gushyiraho Ubwoko Nka in Bya o " #~ "Gushyiraho hejuru Ukoresha:" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ "-P Gukurikiza Times Bya Kuri Ishyika S IKIMENYETSO Ingereka i Inyibutsa T " #~ "Intego bushyinguro Gukoporora Byose ingingo Oya Intego bushyinguro Nka a " #~ "Bisanzwe v Gucapa i Izina: Bya bushyinguro Nka ni" #, fuzzy #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Inyibutsa Ingereka ni Gushyiraho Na: Ingereka Cyangwa Verisiyo Igenzura " #~ "Uburyo Gicurasi Byahiswemo Biturutse i Inyibutsa Ihitamo Cyangwa " #~ "IMPINDURAGACIRO i Uduciro" #, fuzzy #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Bya Iyinjiza Imirongo Na: birasa Imyanya Kwandika a Umurongo Ibisohoka " #~ "Mburabuzi Umwanya ni i Itangira Cyangwa OYA Byombi ni Gusoma Bisanzwe " #~ "Iyinjiza a Gucapa Imirongo Bivuye IDOSIYE ni 1. Cyangwa 2. Kuri Cyangwa E " #~ "Gusimbura Ibuze Iyinjiza Imyanya Na:" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ "-i Kwirengagiza Kwirengagiza in Ryari: j Kuri 1. 2. o Ibisohoka T " #~ "Gukoresha Nka Iyinjiza Na Ibisohoka Umwanya" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ msgstr "-v nka a Ibisohoka 1. ku iyi Bya IDOSIYE 2. ku iyi Bya IDOSIYE" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ msgstr "" #~ "T ni Nyobora Imyanya Na Ikindi Imyanya ku ni a Umwanya Umubare 1. ni " #~ "Cyangwa Birenzeho Akitso Cyangwa Ahatanditseho Cyangwa i Umwanya i " #~ "Imyanya Bivuye i Imyanya Bivuye ku Na bishunguwe ku i Imyanya" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "Sibyo Umwanya Umubare" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "Sibyo Umwanya" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "Sibyo IDOSIYE Umubare in Umwanya" #, fuzzy #~ msgid "empty tab" #~ msgstr "ubusa Isunika" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "Inyuguti Isunika" #, fuzzy #~ msgid "incompatible tabs" #~ msgstr "Amasimbuka" #, fuzzy #~ msgid "both files cannot be standard input" #~ msgstr "Byombi Idosiye Bisanzwe Iyinjiza" #, fuzzy #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "S Cyangwa L Cyangwa T" #, fuzzy #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "Kuri Cyangwa Urutonde" #, fuzzy #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ "-S i Izina: Cyangwa Umubare Bya i Kuri L Urutonde Urutonde Amazina " #~ "Cyangwa GUHINDURA Amazina Kuri Bivuye T imbonerahamwe# Gucapa a " #~ "imbonerahamwe# Bya" #, fuzzy #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "Gicurasi a Izina: nka Cyangwa a Umubare nka Cyangwa Gusohoka Imimerere " #~ "Bya a ku a ni Umubare wuzuye NIBA a Itsinda" #, fuzzy #~ msgid "%s: invalid signal" #~ msgstr "%s:Sibyo" #, fuzzy #~ msgid "%s: invalid process id" #~ msgstr "%s:Sibyo ID" #, fuzzy #~ msgid "invalid option -- %c" #~ msgstr "Sibyo Ihitamo" #, fuzzy #~ msgid "%s: multiple signals specified" #~ msgstr "%s:Igikubo" #, fuzzy #~ msgid "multiple -l or -t options specified" #~ msgstr "Igikubo L Cyangwa T Amahitamo" #, fuzzy #~ msgid "cannot combine signal with -l or -t" #~ msgstr "Kuvanga Na: L Cyangwa T" #, fuzzy #~ msgid "no process ID specified" #~ msgstr "Oya" #, fuzzy #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "i Ihuza Umumaro Kuri Kurema a Ihuza Kuri" #, fuzzy #~ msgid "cannot create link %s to %s" #~ msgstr "Kurema Ihuza Kuri" #, fuzzy #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "%s:Iburira a Ikomeye Ihuza Kuri a Ihuza ni OYA" #, fuzzy #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s:Ikomeye Ihuza OYA kugirango bushyinguro" #, fuzzy #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s:Guhindura bushyinguro" # svx/source\dialog\srchdlg.src:RID_SVXSTR_REPLACE.text #, fuzzy #~ msgid "%s: replace %s? " #~ msgstr "%s:Gusimbura)" #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "Ihuza Kuri" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "Ihuza Kuri" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "Ikomeye Ihuza Kuri" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "Ikomeye Ihuza Kuri" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "Ikomeye Ihuza Kuri" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "Ifishi Cyangwa Ifishi Cyangwa Ifishi Cyangwa T Ifishi" #, fuzzy #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "i Ifishi Kurema a Ihuza Kuri Na: i Izina: i Ifishi Kurema a Ihuza Kuri in " #~ "i KIGEZWEHO bushyinguro i Na Amafishi Kurema amahuza Kuri in Ikomeye " #~ "amahuza ku Mburabuzi amahuza Na: Ikomeye amahuza" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ "--Inyibutsa Ubwoko a Inyibutsa Bya Ishyika B nka Inyibutsa OYA Kwemera D " #~ "bushyinguro Kwemerera i Kuri Kuri Ikomeye ububiko bw'amaderese " #~ "Impugukirwa Sisitemu Amabwiriza ATARIIGIHARWE kugirango i F Gukuraho... " #~ "Ishyika" #, fuzzy #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ "-N Oya Ishyika ni a Kuri bushyinguro Nka NIBA a Bisanzwe i Biganira " #~ "Urwinjiriro Kuri Gukuraho... S Ubwoko amahuza Bya Ikomeye" #, fuzzy #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ "-Ingereka i Inyibutsa T Intego bushyinguro i in Kuri i Oya Intego " #~ "bushyinguro Nka a Bisanzwe v Gucapa Izina: Bya IDOSIYE Mbere" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "Kuvanga Intego bushyinguro Na Oya Intego bushyinguro" #, fuzzy #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "i Izina: Bya i KIGEZWEHO Ukoresha:" #, fuzzy #~ msgid "no login name" #~ msgstr "Oya Ifashayinjira Izina:" # desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text #, fuzzy #~ msgid "%b %e %Y" #~ msgstr "%b%e%Y" #, fuzzy #~ msgid "%b %e %H:%M" #~ msgstr "%b%e%H:%MCYOSE" #, fuzzy #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "Sibyo Agaciro Bya IMPINDURAGACIRO" #, fuzzy #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "Sibyo Ubugari in IMPINDURAGACIRO" #, fuzzy #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "Sibyo Isunika Ingano in IMPINDURAGACIRO" #, fuzzy #~ msgid "invalid line width: %s" #~ msgstr "Sibyo Umurongo Ubugari" #, fuzzy #~ msgid "invalid tab size: %s" #~ msgstr "Sibyo Isunika Ingano" #, fuzzy #~ msgid "invalid time style format %s" #~ msgstr "Sibyo Igihe IMISUSIRE Imiterere" #, fuzzy #~ msgid "unrecognized prefix: %s" #~ msgstr "Imbanziriza" #, fuzzy #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "Agaciro kugirango IMPINDURAGACIRO" #, fuzzy #~ msgid "cannot open directory %s" #~ msgstr "Gufungura bushyinguro" #, fuzzy #~ msgid "cannot determine device and inode of %s" #~ msgstr "APAREYE Na Bya" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s:OYA bushyinguro" #, fuzzy #~ msgid "reading directory %s" #~ msgstr "bushyinguro" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "bushyinguro" #, fuzzy #~ msgid "cannot compare file names %s and %s" #~ msgstr "Kugereranya# IDOSIYE Amazina Na" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Ibisobanuro Ibyerekeye i i KIGEZWEHO bushyinguro ku Mburabuzi Ibyinjijwe " #~ "NIBA Ntacyo Bya Ishungura" #, fuzzy #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ "-Na. Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ "--Funga Ingano Gukoresha Bayite Kwirengagiza Ibyashyinguwe OYA Urutonde " #~ "Ibyinjijwe Na: C Na: Ishungura ku Na Garagaza Igihe Bya Bya IDOSIYE " #~ "Imimerere Ibisobanuro Na: L Garagaza Na Ishungura ku Ishungura ku" #, fuzzy #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ "-C Urutonde Ibyinjijwe ku Ibara Igenzura Ibara ni Kuri Gicurasi Cyangwa D " #~ "bushyinguro Urutonde bushyinguro Ibyinjijwe Bya Ibigize Na OYA Ibisohoka " #~ "kugirango" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ "-F OYA Ishungura Gushoboza Kongeraho... Bya Kuri Imiterere Kwambukiranya " #~ "X M Gitambitse X L UMWE Inkingi 1. L Bihagaritse Igihe nka L Igihe " #~ "IMISUSIRE" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "-g." #, fuzzy #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "-g." #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ "--IMISUSIRE Kongeraho... Na: IMISUSIRE Kuri Icyinjijwe Amazina Ntacyo " #~ "Mburabuzi IDOSIYE Ubwoko P i Na: L Gucapa i Umubarendanga Umubare Bya " #~ "Kwirengagiza OYA Urutonde Ibyinjijwe Igikonoshwa K nka Funga Ingano" #, fuzzy #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ "-L Gukoresha a Ryari: IDOSIYE Ibisobanuro kugirango a Ihuza Garagaza " #~ "Ibisobanuro kugirango i IDOSIYE i Indango kugirango i Ihuza M Kuzuza " #~ "Ubugari Na: a Akitso Urutonde Bya" #, fuzzy #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "-g." #, fuzzy #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ "-Q Gushisha Igenzura Gucapa Bya Igishushanyo Garagaza Igenzura Garagaza " #~ "Igishushanyo Inyuguti Nka ni Porogaramu ni Na Ibisohoka ni a Gushyiraho " #~ "akugarizo Izina: Icyinjijwe Amazina in MAHARAKUBIRI IMISUSIRE Gukoresha " #~ "IMISUSIRE kugirango Icyinjijwe Amazina Umwanya Igikonoshwa Igikonoshwa " #~ "Buri gihe C" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ "-R Ihindurakerekezo Ihindurakerekezo Itondekanya Urutonde Ububiko " #~ "bwungirije S Ingano Na: L Gucapa Ingano Bya IDOSIYE in" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ "-Ishungura ku IDOSIYE Ishungura Umugereka Ntacyo U Ingano Igihe T " #~ "Verisiyo v Imimerere C Igihe T u u Gukoresha Igihe Na: L Garagaza Igihe " #~ "Nka Bya Igihe Gukoresha Cyangwa Imimerere Igihe Nka Ishungura Urufunguzo " #~ "NIBA Ishungura" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ "--Igihe IMISUSIRE Na: L Garagaza Times ikoresha IMISUSIRE Umwanya ni nka " #~ "NIBA Idosiye Na Kuri Idosiye NIBA ni Na: INGARUKA Hanze i T Ishungura ku " #~ "Isunika ku Bya" #, fuzzy #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ "-u Na: Ishungura ku Na Garagaza Na: L Garagaza Igihe Na Ishungura ku " #~ "Ishungura ku U OYA Ishungura Urutonde Ibyinjijwe in bushyinguro v " #~ "Ishungura ku" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ "-W Ubugari Mugaragaza Ubugari Bya KIGEZWEHO X Urutonde Ibyinjijwe ku " #~ "Imirongo Bya ku Ishungura ku Icyinjijwe 1. Urutonde IDOSIYE" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "Mburabuzi Ibara ni OYA Kuri Bya Idosiye Kuri ikoresha Ibara Ntacyo i " #~ "Ibara Ihitamo ni Kuri ikoresha Ibara Buri gihe Ibara Ikiyega Ibara " #~ "Ibisohoka NIBA Bisanzwe Ibisohoka ni a" #, fuzzy #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "Imimerere ni 0 NIBA 1. NIBA 2. NIBA" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Cyangwa Kugenzura... Cyangwa Kugenzura... Oya Cyangwa Ryari: ni Gusoma " #~ "Bisanzwe Iyinjiza" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "-Nyabibiri Gukoresha Nyabibiri Kuri i APAREYE" #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "Amahitamo Ryari: Imimerere Ibisohoka Imimerere ITEGEKONGENGA W Ibyerekeye" #, fuzzy #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "Nka in i a Ibisohoka Bya iyi Porogaramu Mburabuzi Ubwoko ni Kuri Umurongo " #~ "Na: a Inyuguti Ubwoko kugirango Nyabibiri Na Izina: kugirango" #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "%s:Imirongo" #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s:% of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "Bya IDOSIYE OYA Gusoma" #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "Bya BIHUYE" #, fuzzy #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "i Nyabibiri Na Umwandiko Amahitamo Ryari:" #, fuzzy #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "i Imimerere Ihitamo ni Ryari:" #, fuzzy #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "i Ihitamo ni Ryari:" #, fuzzy #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "i NIBA OYA" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ "-M Ubwoko Gushyiraho Ubwoko Nka in OYA P Oya Ikosa NIBA Ubwoko ububiko " #~ "bw'amaderese Nka v Gucapa a Ubutumwa kugirango Byaremwe" #, fuzzy #~ msgid "created directory %s" #~ msgstr "Byaremwe bushyinguro" #, fuzzy #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "Na: i" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "-M Ubwoko Gushyiraho Ubwoko Nka in OYA a" #, fuzzy #~ msgid "invalid mode" #~ msgstr "Sibyo Ubwoko" #, fuzzy #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "i Bidasanzwe IDOSIYE Bya i" #, fuzzy #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "Na Ryari: ni B C Cyangwa u Na Ryari: ni P Cyangwa Na: Cyangwa ni Nka NIBA " #~ "Na: 0 Nka Nka NYACUMI Gicurasi" #, fuzzy #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "B Kurema a Funga Bidasanzwe C u Kurema a Inyuguti Bidasanzwe P Kurema a" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "Idosiye Na APAREYE Imibare" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "OYA Na APAREYE Imibare" #, fuzzy #~ msgid "block special files not supported" #~ msgstr "Funga Bidasanzwe Idosiye OYA" #, fuzzy #~ msgid "character special files not supported" #~ msgstr "Inyuguti Bidasanzwe Idosiye OYA" #, fuzzy #~ msgid "invalid major device number %s" #~ msgstr "Sibyo APAREYE Umubare" #, fuzzy #~ msgid "invalid minor device number %s" #~ msgstr "Sibyo APAREYE Umubare" #, fuzzy #~ msgid "invalid device %s %s" #~ msgstr "Sibyo APAREYE" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "Sibyo APAREYE Ubwoko" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Cyangwa Bivuye" #, fuzzy #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr "Gukoresha kugirango" #, fuzzy #~ msgid "too many templates" #~ msgstr "byasubiyemo Imirongo" #, fuzzy #~ msgid "too few X's in template %s" #~ msgstr "byasubiyemo Imirongo" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "Gukuraho... bushyinguro" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "Byanze Kuri Guhindura>> Bya" #, fuzzy #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "Kuri Cyangwa Kwimura S Kuri" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ "--Inyibutsa Ubwoko a Inyibutsa Bya Ishyika B nka Inyibutsa OYA Kwemera F " #~ "OYA Urwinjiriro Mbere Kuri Subiza Yego i Biganira Urwinjiriro Mbere Kuri " #~ "Subiza Ikibazo#" #, fuzzy #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ "--Subiza Yego Oya Ikibazo# Kuri i Urwinjiriro Ibyerekeye Ishyika " #~ "Gukuraho... Bivuye Ingereka i Inyibutsa" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "-T Intego bushyinguro Kwimura Byose ingingo Oya Intego bushyinguro Nka a " #~ "Bisanzwe u Kuvugurura Kwimura Ryari: i IDOSIYE ni i Ishyika IDOSIYE " #~ "Cyangwa Ryari: Ishyika IDOSIYE ni v ni" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Na: Agaciro i By'ibanze Oya Gucapa i KIGEZWEHO Agaciro Uduciro Urutonde " #~ "Kuri N Kongeramo Umubare wuzuye Kuri i Agaciro Mburabuzi 10" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "Sibyo" #, fuzzy #~ msgid "a command must be given with an adjustment" #~ msgstr "a Komandi: Na:" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "Kubona Sisitemu Izina:" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "Gushyiraho Itariki" #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kuri Bisanzwe Ibisohoka Na: Umurongo Imibare Kyongewe Oya Cyangwa Ryari: " #~ "ni Gusoma Bisanzwe Iyinjiza" #, fuzzy #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ "-B Umubiri Itanganomero Gukoresha kugirango Itanganomero Umubiri D " #~ "Icyiciro Gukoresha kugirango Bijyanye n'inyurabwenge F Imperampangano " #~ "Itanganomero Gukoresha kugirango Itanganomero Imperampangano" #, fuzzy #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ "-h Umutwempangano Itanganomero Gukoresha kugirango Itanganomero " #~ "Umutwempangano i Ipaji Iyongeragaciro Umurongo Umubare Iyongeragaciro ku " #~ "L Ahatanditseho Imirongo Itsinda Bya ubusa Imirongo Nka N Umubare " #~ "Imiterere Kongeramo Umurongo Imibare Kuri P Oya OYA Kugarura Umurongo " #~ "Imibare ku Bijyanye n'inyurabwenge S Umubare Mutandukanya Kongeramo Nyuma " #~ "Umurongo" #, fuzzy #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ "-v Itangira Ipaji Itangira Umurongo Umubare ku Bijyanye n'inyurabwenge W " #~ "Umubare Ubugari Gukoresha Inkingi kugirango Umurongo" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "Mburabuzi Inyuguti kugirango Bijyanye n'inyurabwenge Amapaji a Inyuguti " #~ "kugirango ni Bya" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "a Umubare Byose T Umubare N Umubare Oya Umubare Imirongo a BIHUYE " #~ "kugirango i BASIC imvugo ni Bya Ln Ibumoso: Biringaniye Oya Nyobora " #~ "Iburyo: Biringaniye Oya Nyobora Iburyo: Biringaniye Nyobora" #, fuzzy #~ msgid "line number overflow" #~ msgstr "Umurongo Umubare Byarenze urugero" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "Sibyo Umutwempangano Itanganomero IMISUSIRE" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "Sibyo Umubiri Itanganomero IMISUSIRE" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "Sibyo Imperampangano Itanganomero IMISUSIRE" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "Sibyo Umurongo Umubare" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "Sibyo Umurongo Umubare Iyongeragaciro" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "Sibyo Umubare Bya Ahatanditseho Imirongo" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "Sibyo Umurongo Umubare Umwanya Ubugari" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "Sibyo Umurongo Itanganomero Imiterere" #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "ignoring input" #~ msgstr "Byose ingingo" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "Byanze Kuri Gufungura" #, fuzzy #~ msgid "ignoring input and appending output to %s" #~ msgstr "Ibisohoka Kuri" #, fuzzy #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "Byanze Kuri Gushyiraho i Gukoporora Bya Kuri Gufunga ku" #, fuzzy #~ msgid "failed to redirect standard error" #~ msgstr "Byanze Kuri Bisanzwe Ikosa" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "Cyangwa B Cyangwa B B" #, fuzzy #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Bayite ku Mburabuzi Bya Kuri Bisanzwe Ibisohoka Birenzeho GUHUZA in i " #~ "Itondekanya Kuri Ifishi i Iyinjiza Oya Cyangwa Ryari: ni Gusoma Bisanzwe " #~ "Iyinjiza" #, fuzzy #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "ingingo Kuri Amahitamo kugirango Amahitamo" #, fuzzy #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "-A Aderesi radix IDOSIYE j Bayite Iyinjiza Bayite" #, fuzzy #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ "-Gusoma Bayite Kuri Iyinjiza Ikurikiranyanyuguti Ibisohoka " #~ "Ikurikiranyanyuguti Bya ku Igishushanyo T Imiterere Guhitamo Ibisohoka " #~ "Imiterere Cyangwa v Ibisohoka OYA Gukoresha Kuri Ikimenyetso Umurongo W " #~ "Ubugari Ibisohoka Bayite Ibisohoka Kwemera ingingo in" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "Imiterere Gicurasi a Nka T a Guhitamo B Nka T Guhitamo C Nka T C Guhitamo " #~ "Inyuguti Cyangwa D Nka T Guhitamo Bitashizweho umukono NYACUMI 2. Bayite" #, fuzzy #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ "-F Nka T Guhitamo i Nka T Guhitamo NYACUMI L Nka T Guhitamo NYACUMI o Nka " #~ "T Guhitamo 2. Bayite S Nka T Guhitamo NYACUMI 2. Bayite X Nka T Guhitamo " #~ "2. Bayite" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "Itangira Na ISEGONDA Imiterere Byombi Gukurikiza i ISEGONDA Imiterere ni " #~ "i Iheruka Na: Cyangwa NIBA 2. a j ni i Itangira Bayite Byacapwe Ryari: ni " #~ "Na a Cyangwa Imbanziriza Imigereka Gicurasi kugirango Na B kugirango " #~ "Gukuba ku ni Hejuru Bya Cyangwa Birenzeho Bya a C Inyuguti Cyangwa" #, fuzzy #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ "D NYACUMI Bayite F Bihindagurika Akadomo Bayite o Bayite u Bitashizweho " #~ "umukono NYACUMI Bayite X Bayite" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "ni a Umubare in Gicurasi C INYUGUTI kugirango kugirango INT Cyangwa ni F " #~ "Gicurasi kugirango Kureremba MAHARAKUBIRI Cyangwa kugirango MAHARAKUBIRI" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "ni D kugirango NYACUMI o kugirango X kugirango Cyangwa N kugirango Ntacyo " #~ "ni Na: Cyangwa Imbanziriza ni ku B Ingereka ku Na: K Na ku Na: M a Z " #~ "Ingereka Ubwoko a Kugaragaza Bya Gicapika Inyuguti Kuri i Impera Bya " #~ "Ibisohoka" #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "--Ikurikiranyanyuguti a Umubare 3. Ubugari a Mburabuzi A o T W" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "Sibyo Ubwoko Ikurikiranyanyuguti" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "Sibyo Ubwoko Ikurikiranyanyuguti iyi Sisitemu a Umubare Wuzuye Ubwoko" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "Sibyo Ubwoko Ikurikiranyanyuguti iyi Sisitemu a Bihindagurika Akadomo " #~ "Ubwoko" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "Sibyo Inyuguti in Ubwoko Ikurikiranyanyuguti" #, fuzzy #~ msgid "cannot skip past end of combined input" #~ msgstr "Impera Bya Iyinjiza" #, fuzzy #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "Sibyo Ibisohoka Aderesi radix Inyuguti Bivuye" #, fuzzy #~ msgid "no type may be specified when dumping strings" #~ msgstr "Oya Ubwoko Gicurasi Ryari: Ikurikiranyanyuguti" #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Ubwoko ku IDOSIYE" #, fuzzy #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "Bayite Gusoma Bayite ni Binini" #, fuzzy #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "Iburira Sibyo Ubugari ikoresha" #, fuzzy #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d:Ubugari" #, fuzzy #~ msgid "standard input is closed" #~ msgstr "Bisanzwe Iyinjiza ni" #, fuzzy #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Imirongo Bya i Imirongo ku Kuri Bisanzwe Ibisohoka Oya Cyangwa Ryari: ni " #~ "Gusoma Bisanzwe Iyinjiza" #, fuzzy #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "-D Inyuguti Bivuye Bya S Komeka IDOSIYE ku a Igihe Bya in" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "Inyuguti in IDOSIYE Izina:" #, fuzzy #~ msgid "empty file name" #~ msgstr "Ibisanzwe ubusa IDOSIYE" #, fuzzy #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s:Kuri Kinini IDOSIYE Izina: Uburebure" #, fuzzy #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "ku Uburebure Bya IDOSIYE Izina:" #, fuzzy #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "ku Uburebure Bya IDOSIYE Izina:" # svx/source\dialog\hyperdlg.src:RID_SVXPAGE_HYPERLINK_INTERNET.FT_LOGIN.text #, fuzzy #~ msgid "Login name: " #~ msgstr "Izina ryo kwinjira" #, fuzzy #~ msgid "In real life: " #~ msgstr "Ubuzima" # setup2/source\ui\pages\pwsetup.src:RESID_PAGE_PAGEWRONGSETUP.FT_INFO3.text #, fuzzy #~ msgid "Directory: " #~ msgstr "bushyinguro" #, fuzzy #~ msgid "Shell: " #~ msgstr "Igikonoshwa" # svtools/source\misc\mediatyp.src:STR_SVT_MIMETYPE_CNT_PUBLBOX.text #, fuzzy #~ msgid "Project: " #~ msgstr "Umushinga" #~ msgid "Login" #~ msgstr "Iyugurura/Ifungura" #~ msgid "Name" #~ msgstr "Izina" #, fuzzy #~ msgid "When" #~ msgstr "Ryari:" #, fuzzy #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "-L Imiterere Ibisohoka kugirango i B i Ku Ntangiriro bushyinguro Na " #~ "Igikonoshwa in h i Umushinga IDOSIYE in P i IDOSIYE in S Imiterere " #~ "Ibisohoka iyi ni i" #, fuzzy #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ "-F i Umurongo Bya Inkingi Imitwe in W i Izina: in i i Izina: Na Ubuturo " #~ "in Q i Izina: Ubuturo Na in" #, fuzzy #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "A Porogaramu Gucapa Ukoresha: Ibisobanuro IDOSIYE" #, fuzzy #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "Oya Izina ry'ukoresha ku Ryari: ikoresha L" #, fuzzy #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--Amapaji Ibuze" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "Ipaji Urutonde" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-L Sibyo Umubare Bya Imirongo" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-Sibyo Umurongo Umubare" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o Sibyo Umurongo Nta- boneza" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W Sibyo Umubare Bya Inyuguti" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-Sibyo Umubare Bya Inyuguti" #, fuzzy #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Umubare Bya Inkingi Ryari: Icapa... in Biteganye" #, fuzzy #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Byombi Icapa... Kwambukiranya Na Icapa... in Biteganye" #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c'Birenga Inyuguti Cyangwa Sibyo Umubare in i" #, fuzzy #~ msgid "page width too narrow" #~ msgstr "Ipaji Ubugari" #, fuzzy #~ msgid "starting page number % exceeds page count %" #~ msgstr "Ipaji Umubare Ipaji IBARA" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "Umubare Byarenze urugero" #, fuzzy #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "Cyangwa S kugirango Icapa..." #, fuzzy #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ "+Amapaji Guhagarara Icapa... Na: Ipaji Inkingi Ibisohoka Inkingi Na " #~ "Gucapa Inkingi Hasi a ni Umubare Bya Imirongo in Inkingi ku Ipaji" #, fuzzy #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ "-a Kwambukiranya Gucapa Inkingi Kwambukiranya Hasi Na: C Garagaza " #~ "Igenzura Gukoresha Na D MAHARAKUBIRI MAHARAKUBIRI Umwanya i" #, fuzzy #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ "-Itariki Imiterere Gukoresha kugirango i Umutwempangano E Kwagura " #~ "Amasimbuka Kwagura Iyinjiza Kuri Isunika 8 F Ifishi Gukoresha Ifishi Bya " #~ "Kuri ku a 3. Umurongo Ipaji Umutwempangano Na: Cyangwa a 5 Umurongo Na" #, fuzzy #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ "-h Umutwempangano Gukoresha a Bishyizwe hagati Bya Izina ry'idosiye: in " #~ "Ipaji Umutwempangano h a Ahatanditseho Umurongo Gukoresha h i Ibisohoka " #~ "Amasimbuka Gusimbura Imyanya Na: Kuri Isunika 8 Imirongo Gukomatanya " #~ "Imirongo Bidakora Umurongo Oya Itunganya Itandukanya Ikurikiranyanyuguti" #, fuzzy #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ "-L Uburebure Gushyiraho i Ipaji Uburebure Kuri Mburabuzi Umubare Bya " #~ "Imirongo Bya Umwandiko Na Na: M Gukomatanya Gucapa Byose Idosiye in " #~ "Biteganye in Inkingi Imirongo Imirongo Bya Uburebure Na:" #, fuzzy #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ "-N Umubare Imirongo Umubare Imirongo Gukoresha 5 Hanyuma Mburabuzi Kubara " #~ "Na: Umurongo Bya Iyinjiza Itangira Umurongo Umubare Gutangira Kubara Na: " #~ "ku Umurongo Bya Ipaji Byacapwe" #, fuzzy #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ "-o Ikurura Nta- boneza Umurongo Na: Zeru Imyanya W Cyangwa Kyongewe Kuri " #~ "R Oya IDOSIYE Iburira Ryari: a IDOSIYE" #, fuzzy #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ "-S Mutandukanya Inkingi ku a UMWE Inyuguti Mburabuzi kugirango ni i " #~ "Inyuguti W Na Oya Na: S Bidakora Umurongo Bya Byose 3. Amahitamo a M W ni" #, fuzzy #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr "-Itandukanya Ikurikiranyanyuguti" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ "Inkingi ku Mutandukanya Na: Na Umwanya Nka Oya INGARUKA ku Inkingi T " #~ "Umutwempangano Ipaji Imitwe Na" #, fuzzy #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ "-Ipaji Imitwe Na ku Ifishi Gushyiraho in Iyinjiza v Garagaza Gukoresha W " #~ "Ubugari Gushyiraho Ipaji Ubugari Kuri Inyuguti Igikubo Umwandiko Inkingi " #~ "Ibisohoka S INYUGUTI Bidakora" #, fuzzy #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ "-Ipaji Ubugari Gushyiraho Ipaji Ubugari Kuri Inyuguti Buri gihe Imirongo " #~ "Ihitamo ni Gushyiraho Oya Na: Cyangwa" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "-ku L Ryari: 10 Cyangwa 3. Na: Oya Cyangwa ni Gusoma Bisanzwe Iyinjiza" #, fuzzy #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "Cyangwa Oya Gucapa Byose" #, fuzzy #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "Iburira Inyuguti S Inyuguti" #, fuzzy #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "S Kuri" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "Amagenzura i Ibisohoka Nka in C MAHARAKUBIRI Inyuguti Na: Agaciro 1. Kuri " #~ "3." #, fuzzy #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "\\aIkimenyetso Oya Ifishi" #, fuzzy #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "\n" #~ "N Gishya Gitambitse Bihagaritse" #, fuzzy #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ "\\xBayite Na: Agaciro 1. Kuri 2. Inyuguti Na: Agaciro 4. Inyuguti Na: " #~ "Agaciro 8" #, fuzzy #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ "%%a UMWE Nka a Ikurikiranyanyuguti Na: Bya i Ifishi Cyangwa Byose C " #~ "Imiterere Na: Bya Kuri NYACYO Ubwoko Itangira" #, fuzzy #~ msgid "%s: expected a numeric value" #~ msgstr "%s:Ikitezwe: a Bikurikije umubare Agaciro" #, fuzzy #~ msgid "%s: value not completely converted" #~ msgstr "%s:Agaciro OYA" #, fuzzy #~ msgid "missing hexadecimal number in escape" #~ msgstr "Ibuze Umubare in" #, fuzzy #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "Sibyo Ky'isi yose Inyuguti Izina: C" #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "Sibyo Umwanya Ubugari" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "Sibyo" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "" #~ "%.*Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "Iburira ingingo Na:" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s(kugirango" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "a Umubarendanga Imvugiro Bya i Amagambo in i Iyinjiza Idosiye" #, fuzzy #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ "-A Ikiyega Indango Ibisohoka ku buryo bwikora C Uburenganzira " #~ "bw'umuhimbyi Kugaragaza Na Birenzeho nka V Ibendera Gukoresha kugirango " #~ "Umurongo" #, fuzzy #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ "-Makoro Izina: Makoro Izina: Kuri Gukoresha Bya Imiterere Ibisohoka Nka " #~ "Iburyo: Gushyira Indango ku Iburyo: OYA in kugirango Impera Bya Imirongo " #~ "Cyangwa Impera Bya Imiterere Ibisohoka Nka" #, fuzzy #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ "-ijambo Gukoresha Kuri BIHUYE B itandukanya IDOSIYE ijambo itandukanya " #~ "Inyuguti in iyi F Kwirengagiza Guhina Ntoya Kuri Nkuru kugirango g " #~ "Umwanya Ingano Umwanya Ingano in Inkingi hagati Ibisohoka i Kwirengagiza " #~ "IDOSIYE Gusoma Kwirengagiza ijambo Urutonde Bivuye o IDOSIYE Gusoma " #~ "ijambo Urutonde Bivuye iyi" #, fuzzy #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ "-R Indango Itangira Umwanya Bya Umurongo ni a T Ubwoko OYA W Ubugari " #~ "Ibisohoka Ubugari in Inkingi Indango" #, fuzzy #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "Oya Cyangwa NIBA ni Gusoma ku Mburabuzi" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "Sibyo Umwanya Ubugari" #, fuzzy #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "i Izina ry'idosiye: Bya i KIGEZWEHO bushyinguro" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "Byanze Kuri Kuri" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "Byanze Kuri" #, fuzzy #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "Gushaka bushyinguro Icyinjijwe in Na: i" #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "Ihitamo ingingo" #, fuzzy #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "Agaciro Bya a Ihuza ku Bisanzwe Ibisohoka" #, fuzzy #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ "-F ku buri buri Bya i Inzira Byose i Iheruka Inzira E ku buri buri Bya i " #~ "Inzira Byose Inzira M Ibuze ku buri buri Bya i Inzira ku N Oya OYA " #~ "Ibisohoka i Q S Ikosa v Icyegeranyo Ikosa" #, fuzzy #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ "-F ku buri buri Bya i Inzira Byose i Iheruka Inzira E ku buri buri Bya i " #~ "Inzira Byose Inzira M Ibuze ku buri buri Bya i Inzira ku N Oya OYA " #~ "Ibisohoka i Q S Ikosa v Icyegeranyo Ikosa" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "Byanze Kuri Kuri" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "Gufungura bushyinguro" #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "%sByahinduwe" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "Kurema bushyinguro" #, fuzzy #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "bushyinguro Imiterere a IDOSIYE Sisitemu bushyinguro ni Bya i Uruziga" #, fuzzy #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s:Kumanuka Kwandika Birinzwe bushyinguro" #, fuzzy #~ msgid "%s: descend into directory %s? " #~ msgstr "%s:Kumanuka bushyinguro" #, fuzzy #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s:Gukuraho... Kwandika Birinzwe" # sfx2/source\toolbox\tbxcust.src:RID_TOOLBOXCUSTOMIZE.BTN_TB_REMOVE.text #, fuzzy #~ msgid "%s: remove %s %s? " #~ msgstr "%s:Gukuraho" #, fuzzy #~ msgid "removed directory: %s\n" #~ msgstr "Cyavanyweho bushyinguro" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "Byanze Kuri Kuri" #, fuzzy #~ msgid "cannot remove directory %s" #~ msgstr "Gukuraho... bushyinguro" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "Gukuraho... bushyinguro" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "Gukuraho... bushyinguro" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "Kugarura KIGEZWEHO bushyinguro" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "--Oya Imizi OYA i Mburabuzi Imizi Kuri ku R Gukuraho... i Ibigize Bya " #~ "ububiko bw'amaderese v ni" #, fuzzy #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "Gukuraho... a IDOSIYE bya Izina: Na: a kugirango Urugero Gukoresha Bya " #~ "Amabwiriza" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "NIBA Gukoresha Kuri Gukuraho... a IDOSIYE ni Kuri Ibigize Bya IDOSIYE " #~ "Birenzeho i Ibigize ikoresha" # sfx2/source\toolbox\tbxcust.src:RID_TOOLBOXCUSTOMIZE.BTN_TB_REMOVE.text #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s:Gukuraho" #, fuzzy #~ msgid "removing directory, %s" #~ msgstr "bushyinguro" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "Gukuraho... bushyinguro" #, fuzzy #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "i NIBA ubusa Kwirengagiza ku Kwirengagiza ni a ni" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "-E. g." #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "Byanze Kuri Gufungura" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "Byanze Kuri Kubona Ibiranga Bya" #, fuzzy #~ msgid "no command specified" #~ msgstr "Oya" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "Byanze Kuri Gufungura" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "Byanze Kuri Gufungura" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "Byanze Kuri" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "Byanze Kuri" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "Byanze Kuri Gufungura" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "Cyangwa Cyangwa" #, fuzzy #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Imibare Bivuye Kuri in Intambwe Bya F Imiterere Gukoresha IMISUSIRE " #~ "Bihindagurika Akadomo Mburabuzi S Mutandukanya Gukoresha Kuri Imibare " #~ "Mburabuzi N W bingana Ubugari Ubugari ku Wuzuza: Na: Nyobora" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "Cyangwa ni Kuri 1. ni Kuri 1. ATARIIGIHARWE Ryari: ni Gitoya Na Nka " #~ "Bihindagurika Akadomo Uduciro ni NIBA ni Gitoya ni NIBA ni Biruta i " #~ "IMISUSIRE Bihindagurika Akadomo Ibisohoka Imiterere" #, fuzzy #~ msgid "invalid floating point argument: %s" #~ msgstr "Sibyo Bihindagurika Akadomo" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "Sibyo Imiterere Ikurikiranyanyuguti" #, fuzzy #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "Imiterere Ikurikiranyanyuguti Gicurasi OYA Ryari: Icapa... bingana " #~ "Ubugari Ikurikiranyanyuguti" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Amatsinda i Ukoresha: Na Itsinda Na Gukoresha Na: Na: Imimerere NIBA Kuri " #~ "i Bya ngombwa Na Gusohoka Na: i Gusohoka Imimerere Bya Porogaramu ni " #~ "Ryari: Gukoresha ku Imizi 0" #, fuzzy #~ msgid "unknown user-ID: %s" #~ msgstr "Kitazwi Ukoresha:" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "Gushyiraho Itsinda" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "Gushyiraho Itsinda Kuri" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "Gushyiraho Ukoresha: Kuri" #, fuzzy #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Gusimbuza i S in Itondekanya Kuri Ubwoko ATARIIGIHARWE Kuri i Ibyatanzwe" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ "-F Guhindura>> Uruhushya Kuri Kwemerera NIBA N Amasubiramo Gusimbuza " #~ "Times Bya i Mburabuzi S Ingano iyi Bayite Imigereka nka Byemewe" #, fuzzy #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ "-u Gukuraho... Na Gukuraho... IDOSIYE Nyuma v Garagaza X NYACYO OYA " #~ "IBURUNGUSHURA IDOSIYE Hejuru Kuri i Komeza>> Funga iyi ni i Mburabuzi " #~ "kugirango Ibisanzwe Z Zeru Kongeramo a Guhindura Na: Kuri Gushisha" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "ni Bisanzwe Ibisohoka S NIBA Gukuraho... u ni Mburabuzi ni OYA Kuri " #~ "Idosiye ni Kuri ku APAREYE Idosiye nka Na Idosiye OYA Cyavanyweho ku " #~ "Abantu Gukoresha i Gukuraho... Ihitamo" #, fuzzy #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "ku a By'ingirakamaro i IDOSIYE Sisitemu Ibyatanzwe in ni i Kuri BIGEZWEHO " #~ "IDOSIYE Sisitemu OYA Bya IDOSIYE ku CYUZUYE" #, fuzzy #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "*LOG Cyangwa IDOSIYE Nka Na Na IDOSIYE Kwandika Ibyatanzwe Na ku " #~ "ATARIIGIHARWE NIBA Nka IDOSIYE IDOSIYE Ubwoko Nka" #, fuzzy #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "*IDOSIYE Ubwihisho in By'igihe gito Nka Verisiyo 3. Byegeranijwe IDOSIYE " #~ "Guteranya+ IDOSIYE Sisitemu Ibyashyinguwe Na Gicurasi i IDOSIYE " #~ "Cyavanyweho Na Kwemerera a" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "%s:Byanze" #, fuzzy #~ msgid "%s: fsync failed" #~ msgstr "%s:Byanze" #, fuzzy #~ msgid "%s: error writing at offset %s" #~ msgstr "%s:Ikosa ku Nta- boneza" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "%s:Byanze" #, fuzzy #~ msgid "%s: file too large" #~ msgstr "%s:IDOSIYE Binini" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "%s:Byanze" #, fuzzy #~ msgid "%s: invalid file type" #~ msgstr "%s:Sibyo IDOSIYE Ubwoko" #, fuzzy #~ msgid "%s: file has negative size" #~ msgstr "%s:IDOSIYE Ingano" #, fuzzy #~ msgid "%s: error truncating" #~ msgstr "%s:Ikosa" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "%s:Byanze" #, fuzzy #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s:Kongeraho... IDOSIYE" #, fuzzy #~ msgid "%s: renamed to %s" #~ msgstr "%s:Kuri" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s:Byanze Kuri Gukuraho..." #, fuzzy #~ msgid "%s: removed" #~ msgstr "%s:Cyavanyweho" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s:Byanze Kuri Gufunga" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s:Byanze Kuri Gufungura kugirango" #, fuzzy #~ msgid "%s: invalid number of passes" #~ msgstr "%s:Sibyo Umubare Bya" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "Igikubo Ibisohoka Idosiye" #, fuzzy #~ msgid "%s: invalid file size" #~ msgstr "%s:Sibyo IDOSIYE Ingano" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "Cyangwa Cyangwa" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "Byahiswemo Bya Imirongo Bivuye Kuri Bisanzwe Ibisohoka" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "Igikubo L Cyangwa T Amahitamo" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "Sibyo Iyinjiza Ibendera" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "Sibyo Umurongo Ubugari" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "Igikubo Ibisohoka Idosiye" #, fuzzy #~ msgid "cannot combine -e and -i options" #~ msgstr "Kuvanga Ubwoko Na Indango Amahitamo" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "Birenga" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Cyangwa kugirango amasogonda Gicurasi kugirango amasogonda i Mburabuzi " #~ "kugirango Iminota kugirango amasaha Cyangwa kugirango Iminsi Umubare " #~ "wuzuye Gicurasi Umubare" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "Sibyo Igihe Intera" #, fuzzy #~ msgid "cannot read realtime clock" #~ msgstr "Gusoma" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "bishunguwe Bya Byose S Kuri Bisanzwe Ibisohoka Amahitamo" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ "-B Kwirengagiza Nyobora Kwirengagiza Nyobora D Inkoranyamagambo " #~ "Itondekanya Na Gikurikije itondenyuguti F Kwirengagiza Guhina Ntoya Kuri " #~ "Nkuru" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ "-g Rusange Bikurikije umubare Ishungura Kugereranya# Kuri Rusange Mbarika " #~ "i Kwirengagiza Gicapika Ukwezi Ishungura Kugereranya# Kitazwi N " #~ "Bikurikije umubare Ishungura Kugereranya# Kuri Ikurikiranyanyuguti " #~ "Mbarika R Ihindurakerekezo Ihindurakerekezo i Igisubizo Bya" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "Amahitamo C Kugenzura... Kugenzura... Iyinjiza ni bishunguwe OYA K " #~ "Urufunguzo Gutangira a Urufunguzo ku Impera ku 2. Inkomoko 1. M " #~ "Gukomatanya Gukomatanya bishunguwe Idosiye OYA o Ibisohoka Kwandika " #~ "Igisubizo Kuri Bya Bisanzwe S Ishungura ku Iheruka Ingano Gukoresha " #~ "kugirango Ububiko" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ "-T Umwanya Mutandukanya Gukoresha Bya Ahatanditseho Kuri Ahatanditseho " #~ "By'igihe gito bushyinguro Gukoresha kugirango OYA Cyangwa Igikubo " #~ "Amahitamo Igikubo u Cyo nyine Na: C Kugenzura... kugirango C Ibisohoka i " #~ "Itangira Bya bingana" #, fuzzy #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "-Z Zeru Impera Imirongo Na: 0 Bayite OYA" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "ni C ni i Umwanya Umubare Na C i Inyuguti i Umwanya ni Cyangwa Birenzeho " #~ "UMWE Ibaruwa... Amahitamo Amahitamo kugirango Urufunguzo Oya Urufunguzo " #~ "ni Gukoresha Umurongo Nka i Urufunguzo Gicurasi ku i Imigereka" #, fuzzy #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "%1. Bya Ububiko B 1. Mburabuzi Na ku kugirango E Oya Cyangwa Ryari: ni " #~ "Gusoma Bisanzwe Iyinjiza Umwanya ku i Ishungura Itondekanya C Kuri Kubona " #~ "i Ishungura Itondekanya Bayite Uduciro" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "Kuri" #, fuzzy #~ msgid "cannot create temporary file" #~ msgstr "Kurema By'igihe gito IDOSIYE" #, fuzzy #~ msgid "open failed" #~ msgstr "Gufungura Byanze" #, fuzzy #~ msgid "fflush failed" #~ msgstr "Byanze" #, fuzzy #~ msgid "close failed" #~ msgstr "Gufunga Byanze" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "Gufungura Byanze" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "Kurema By'igihe gito IDOSIYE" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "Kurema By'igihe gito IDOSIYE" #, fuzzy #~ msgid "couldn't create process for %s -d" #~ msgstr "Kurema bushyinguro" #, fuzzy #~ msgid "write failed" #~ msgstr "Kwandika Byanze" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "Iburira Gukuraho..." #, fuzzy #~ msgid "stat failed" #~ msgstr "Byanze" #, fuzzy #~ msgid "read failed" #~ msgstr "Gusoma Byanze" #, fuzzy #~ msgid "standard error" #~ msgstr "Bisanzwe Ikosa" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s:Sibyo Umwanya" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s:Sibyo IBARA ku Gutangira Bya" #, fuzzy #~ msgid "invalid number after `-'" #~ msgstr "Sibyo Umubare Nyuma" #, fuzzy #~ msgid "invalid number after `.'" #~ msgstr "Sibyo Umubare Nyuma" #, fuzzy #~ msgid "stray character in field spec" #~ msgstr "Inyuguti in Umwanya" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "Igikubo Intego ububiko bw'amaderese" #, fuzzy #~ msgid "invalid number at field start" #~ msgstr "Sibyo Umubare ku Umwanya Gutangira" #, fuzzy #~ msgid "field number is zero" #~ msgstr "Umwanya Umubare ni Zeru" #, fuzzy #~ msgid "character offset is zero" #~ msgstr "Inyuguti Nta- boneza ni Zeru" #, fuzzy #~ msgid "invalid number after `,'" #~ msgstr "Sibyo Umubare Nyuma" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "Birenga OYA Na: C" #, fuzzy #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "BIHAMYE Ingano Bya Kuri ni 1000 Imirongo Na Mburabuzi ni Oya Cyangwa " #~ "Ryari: Gusoma Bisanzwe Iyinjiza" #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ "-a Ingereka Uburebure Gukoresha Imigereka Bya Uburebure Mburabuzi B " #~ "Bayite Gushyira Bayite Ibisohoka C Umurongo Bayite Gushyira ku Bayite Bya " #~ "Imirongo Ibisohoka D Bikurikije umubare Imigereka Gukoresha Bikurikije " #~ "umubare Imigereka Bya L Imirongo Gushyira Imirongo Ibisohoka" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic to standard error just\n" #~ " before each output file is opened\n" #~ msgstr "--Gucapa a Kuri Bisanzwe Ikosa Mbere Ibisohoka IDOSIYE ni" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "Na Gicurasi ku i Imigereka C 1. W 2. B 1000 1000 1000 1000 1000 1000 Na " #~ "ku kugirango E IKIMENYETSO Gicurasi" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "IDOSIYE" #, fuzzy #~ msgid "cannot split in more than one way" #~ msgstr "Gutandukanya in Birenzeho" #, fuzzy #~ msgid "%s: invalid suffix length" #~ msgstr "%s:Sibyo Ingereka Uburebure" #, fuzzy #~ msgid "%s: invalid number of bytes" #~ msgstr "%s:Sibyo Umubare Bya Bayite" #, fuzzy #~ msgid "%s: invalid number of lines" #~ msgstr "%s:Sibyo Umubare Bya Imirongo" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "Umurongo IBARA Ihitamo ni Binini" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "Sibyo Umubare Bya Imirongo 0" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s:Ihitamo" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s:Sibyo IDOSIYE Ubwoko" #, fuzzy #~ msgid "cannot read file system information for %s" #~ msgstr "Gusoma IDOSIYE Sisitemu Ibisobanuro kugirango" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Byemewe Imiterere kugirango Idosiye IDOSIYE Sisitemu in in Ingano in " #~ "Bayite Bya Funga ku Bya" #, fuzzy #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "%DUmubare in Umubare in Idosiye Ubwoko in Izina: Bya Bya" #, fuzzy #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ "%hBya Ikomeye Idosiye Izina: Na: NIBA Idosiye Funga Ingano in APAREYE " #~ "Ubwoko in APAREYE Ubwoko in" #, fuzzy #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ "%UIzina: Bya Bya Bya Iheruka Nka amasogonda guhera Bya Iheruka Bya " #~ "Iheruka Nka amasogonda guhera Bya Iheruka Bya Iheruka Guhindura>> Nka " #~ "amasogonda guhera Bya Iheruka" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Imiterere kugirango IDOSIYE Bihari Kuri Ibyatanzwe in IDOSIYE IDOSIYE in " #~ "IDOSIYE IDOSIYE in IDOSIYE in IDOSIYE" #, fuzzy #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "%iIdosiye ID in Uburebure Bya Idosiye Funga in in" #, fuzzy #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "IDOSIYE Cyangwa IDOSIYE a Byose Cyangwa IDOSIYE g Kubika" #, fuzzy #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Cyangwa Guhindura>> a Byose Gucapa Byose KIGEZWEHO Amagenamiterere in g " #~ "Kubika Gucapa Byose KIGEZWEHO Amagenamiterere in a IDOSIYE Gufungura Na " #~ "Gukoresha i Bya" #, fuzzy #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "Mbere Sisitemu Amagenamiterere Bihari" #, fuzzy #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "Inyuguti Kohereza a Guhagarara Rimwe Iyinjiza Kohereza Impera Bya IDOSIYE " #~ "i Iyinjiza Impera i" #, fuzzy #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "*kugirango i i Iheruka Inyuguti Kohereza Hagarikira aho i KIGEZWEHO" #, fuzzy #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ "*Injiza i Komeza>> Inyuguti Kuvamo Kohereza a Kuvamo Kongera Gushushanya " #~ "i KIGEZWEHO Gutangira Ongera utangire i Ibisohoka Nyuma" #, fuzzy #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ "Guhagarara Guhagarara i Kohereza a Guhagarara Hindura Kuri a Igikonoshwa " #~ "i Iheruka ijambo" #, fuzzy #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "Amagenamiterere Gushyiraho i Iyinjiza Na Ibisohoka Kuri i i Inkingi Nka" #, fuzzy #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ "Gushyiraho i Iyinjiza Umuvuduko Kuri Umurongo Gukoresha Umurongo GITO Na: " #~ "Gushyiraho Inyuguti Gito kugirango a Gushyiraho i Ibisohoka Umuvuduko Kuri" #, fuzzy #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "*Imbariro i i Ingano Gucapa i Umubare Bya Imbariro Na Inkingi Kuri i " #~ "Umuvuduko Gucapa i Igihe Na: Gushyiraho Gusoma Igihe cyarenze: Bya Bya a" #, fuzzy #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ "[-]Gukoresha Guhagarara Inyuguti Na: Kohereza a Ryari: i Iheruka i Nka in " #~ "Ibisohoka Na in Gushyiraho IGIHARWE ATARIIGIHARWE Na:" #, fuzzy #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "Amagenamiterere Amataruka Hagarikira aho translate Garuka Kuri " #~ "Kwirengagiza itandukanya Kwirengagiza" #, fuzzy #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ "[-]Kwirengagiza Inyuguti Na: Na OYA a Iyinjiza ku a translate Kuri " #~ "Gushoboza Iyinjiza Gusiba kirekire Bya Iyinjiza" #, fuzzy #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "*[-]Iyinjiza Inyuguti 8" #, fuzzy #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "*[-]translate Inyuguti nkuru Inyuguti Kuri Inyuguti Ongera utangire " #~ "Ibisohoka OYA Gutangira Gushoboza Bya Gutangira Guhagarara Gushoboza " #~ "Ikimenyetso Amakosa Na: a 0 Inyuguti Nka" #, fuzzy #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "*[-]translate Garuka Kuri Gukoresha Gusiba Inyuguti kugirango Kuzuza Bya " #~ "NTAGIHARI Gukoresha Kuzuza Wuzuza: Inyuguti Bya Kugena igihe kugirango " #~ "translate Inyuguti nto Inyuguti Kuri translate Kuri Garuka a" #, fuzzy #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ "*[-]Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "Amagenamiterere Inyuguti Nka Gusiba usubira inyuma Umwanya Byose Umurongo " #~ "ku i Na Byose Umurongo ku i Na" #, fuzzy #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "*[-]Igenzura Inyuguti in Iyinjiza Nka Nka a Nyuma a" #, fuzzy #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ "*[-]Nka ATARIIGIHARWE NIBA OYA Ikindi Inyuguti subira inyuma hagati Na " #~ "Gushoboza Na Bidasanzwe Gushoboza Bidasanzwe" #, fuzzy #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ "[-]Gushoboza Hagarikira aho Kuvamo Na Bidasanzwe Nyuma Hagarikira aho Na " #~ "Kuvamo Bidasanzwe Nka Guhagarara Mbuganyuma Kuri Kwandika Kuri i Na: Na: " #~ "kugirango Inyuguti nkuru" #, fuzzy #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "Amagenamiterere Nka Nka Nka" #, fuzzy #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "Nka Na Inyuguti Kuri Mburabuzi Nka Nka" #, fuzzy #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "Ukub.( Ukuboza) Nka C Nka Na Inyuguti Kuri Mburabuzi Nka" #, fuzzy #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "-Nka Nka Nka Nka Nka Nka" #, fuzzy #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "Nka Nka Nka Nka Nka" #, fuzzy #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "Nka GITO 1. Igihe Nka" #, fuzzy #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "Nka Byose Inyuguti Kuri Mburabuzi Uduciro" #, fuzzy #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "i Umurongo Kuri Bisanzwe Iyinjiza ingingo Igipimo Umurongo Na Bivuye ni " #~ "Cyangwa Nka in C Bidasanzwe Uduciro Cyangwa Kuri Bidasanzwe Inyuguti" #, fuzzy #~ msgid "only one device may be specified" #~ msgstr "APAREYE Gicurasi" #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "i Amahitamo kugirango Na Ibisohoka Imisusire" #, fuzzy #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "Ryari: Ibisohoka IMISUSIRE Gicurasi OYA Gushyiraho" #, fuzzy #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s:Kugarura Ubwoko" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "Inkoresha siyo" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "Ibuze Kuri" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "Sibyo Umurongo" #, fuzzy #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s:Kuri Byose Ibikorwa:" #, fuzzy #~ msgid "%s: no size information for this device" #~ msgstr "%s:Oya Ingano Ibisobanuro kugirango iyi APAREYE" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "Sibyo Umubare wuzuye" #~ msgid "Password:" #~ msgstr "Ijambobanga:" #, fuzzy #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "Gufungura" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "Gushyiraho Amatsinda" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "Gushyiraho Itsinda ID" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "Gushyiraho Ukoresha: ID" #, fuzzy #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "i CYUZUYE Ukoresha: ID Na Itsinda ID Kuri Bya L Ifashayinjira Ubwoko i " #~ "Igikonoshwa a Ifashayinjira C a UMWE Kuri i Igikonoshwa Na: F Byihuta F " #~ "Kuri i Igikonoshwa kugirango Cyangwa M OYA Kugarura P Nka S Igikonoshwa " #~ "Gukoresha NIBA" #, fuzzy #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "A L OYA Imizi" #, fuzzy #~ msgid "user %s does not exist" #~ msgstr "Ukoresha: OYA" # basctl/source\basicide\basidesh.src:RID_STR_WRONGPASSWORD.text #, fuzzy #~ msgid "incorrect password" #~ msgstr "ijambobanga si ryo" #, fuzzy #~ msgid "using restricted shell %s" #~ msgstr "ikoresha Nta gukoresha bisesuye Igikonoshwa" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "Iburira Guhindura>> bushyinguro Kuri" #, fuzzy #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Na Funga kugirango R S Gukoresha Igiteranyo Gukoresha S Gukoresha V " #~ "Igiteranyo Gukoresha Bayite" #, fuzzy #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "Byahinduwe Kuri Kuvugurura i hejuru Funga" #, fuzzy #~ msgid "ignoring all arguments" #~ msgstr "Byose ingingo" #, fuzzy #~ msgid " --help display this help and exit\n" #~ msgstr "--Ifashayobora Kugaragaza iyi Ifashayobora Na" #, fuzzy #~ msgid " --version output version information and exit\n" #~ msgstr "--Verisiyo Ibisohoka Verisiyo Ibisobanuro Na" #, fuzzy #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "Kuri" #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Kuri Bisanzwe Ibisohoka Iheruka Umurongo Itangira Oya Cyangwa Ryari: ni " #~ "Gusoma Bisanzwe Iyinjiza" #, fuzzy #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ "-B Mbere gereka i Mutandukanya Mbere Bya R i Mutandukanya Nka a Ibisanzwe " #~ "S Mutandukanya Gukoresha Nka i Mutandukanya Bya" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "%s:Byanze" #, fuzzy #~ msgid "record too large" #~ msgstr "Icyabitswe Binini" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "Kurema By'igihe gito IDOSIYE" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "Gufungura kugirango" #, fuzzy #~ msgid "%s: write error" #~ msgstr "%s:Kwandika Ikosa" #, fuzzy #~ msgid "separator cannot be empty" #~ msgstr "Mutandukanya ubusa" #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "i Iheruka Imirongo Bya Kuri Bisanzwe Ibisohoka Birenzeho Na: a " #~ "Umutwempangano i IDOSIYE Izina: Oya Cyangwa Ryari: ni Gusoma Bisanzwe " #~ "Iyinjiza" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "--E." #, fuzzy #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "-F Izina: Ibisohoka Ibyatanzwe Nka i IDOSIYE F Na Nka Izina:" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ "-N Imirongo Ibisohoka i Iheruka Imirongo Bya i Iheruka KININI stats Na: " #~ "Izina: a Byahinduwe Ingano Nyuma Mburabuzi Kuri NIBA Cyangwa iyi ni i Bya " #~ "LOG Idosiye" #, fuzzy #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ "--Na: F Nyuma Q Nta narimwe Ibisohoka Imitwe IDOSIYE S Intera Na: F " #~ "kugirango Mburabuzi 1. 0 hagati Amasubiramo v Buri gihe Ibisohoka Imitwe " #~ "IDOSIYE" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "i Itangira Inyuguti Bya i Umubare Bya Bayite Cyangwa Imirongo ni a Gucapa " #~ "Itangiriro Na: i Ikintu Bivuye i Gutangira Bya IDOSIYE Gucapa i Iheruka " #~ "in i IDOSIYE Gicurasi a Ingereka B K M" #, fuzzy #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "F Kuri i IDOSIYE ATARIIGIHARWE NIBA a IDOSIYE ni urifuzagukomeza Kuri " #~ "Impera" #, fuzzy #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "g." #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s:Kuri Bifitanye isano Nta- boneza" #, fuzzy #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s:Kuri Impera Bifitanye isano Nta- boneza" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "`%s'Na: IDOSIYE Hejuru ku iyi Izina:" #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "`%s'Impera Bya Gishya IDOSIYE" #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "`%s'Impera Bya Gishya IDOSIYE" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s:Guhindura>> Ubwoko" #, fuzzy #~ msgid "%s: file truncated" #~ msgstr "%s:IDOSIYE" #, fuzzy #~ msgid "no files remaining" #~ msgstr "Oya Idosiye" #, fuzzy #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "%s:Impera Bya iyi Ubwoko Bya IDOSIYE Hejuru ku iyi Izina:" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "Umubare in ni Binini" #, fuzzy #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s:Sibyo Kinini Umubare Bya stats hagati" #, fuzzy #~ msgid "%s: invalid PID" #~ msgstr "%s:Sibyo" #, fuzzy #~ msgid "%s: invalid number of seconds" #~ msgstr "%s:Sibyo Umubare Bya amasogonda" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "Iburira Ongera ugerageze ni Ryari: ku Izina:" #, fuzzy #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "Iburira ni Ryari:" #, fuzzy #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "Iburira ni OYA ku iyi Sisitemu" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "ku Izina:" #, fuzzy #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "Iburira Bisanzwe Iyinjiza Kidasobanutse. ni" #, fuzzy #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Bisanzwe Iyinjiza Kuri Na Kuri Bisanzwe Ibisohoka a Kongeraho... " #~ "Kongeraho... Kuri i OYA i Kwirengagiza Kwirengagiza Hagarikira aho" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "a ni Gukoporora Kuri Bisanzwe Ibisohoka" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "Ibuze Nyuma" # sch/source\ui\app\strings.src:STR_INVALID_NUMBER.text #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "Umubare utari wo" #, fuzzy #~ msgid "')' expected" #~ msgstr "')'Ikitezwe: Byabonetse" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "')'Ikitezwe: Byabonetse" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s:Mukoresha" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-OYA Kwemera" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-OYA Kwemera" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-OYA Kwemera" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "Kitazwi Nyabibiri" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s:Nyabibiri Mukoresha" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "Igerageza Cyangwa Cyangwa Cyangwa Cyangwa Na: i Imimerere ku" #, fuzzy #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "Kuri SIBYO ni NIBYO Cyangwa SIBYO Na Gusohoka Imimerere ni Bya" #, fuzzy #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "(ni ni a Byombi Na o Cyangwa ni" #, fuzzy #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "-N i Uburebure Bya ni Kuri N Z i Uburebure Bya ni i Ikurikiranyanyuguti i " #~ "Ikurikiranyanyuguti OYA" #, fuzzy #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "ni bingana Kuri ni Biruta Cyangwa bingana Kuri ni Biruta LE ni Birutwa " #~ "Cyangwa bingana Kuri ni Birutwa ni OYA bingana Kuri" #, fuzzy #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "Na i APAREYE Na ni Itariki ni" #, fuzzy #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "-B Na ni Funga C Na ni Inyuguti D Na ni a E" #, fuzzy #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ "-F Na ni a Ibisanzwe g Na ni Gushyiraho Itsinda Na ni ku i CYUZUYE " #~ "Itsinda h Na ni a Ihuza Nka K Na" #, fuzzy #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ "-Na ni a Ihuza Nka h Na ni ku i CYUZUYE Ukoresha: P Na ni a R Na Gusoma " #~ "ni S Na a Ingano Biruta" #, fuzzy #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ "-Na ni a T IDOSIYE ni ku a u Na Gushyiraho Ukoresha: ni W Na Kwandika ni " #~ "X Na Gukora Cyangwa Gushaka ni" #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "g." #, fuzzy #~ msgid "missing `]'" #~ msgstr "Ibuze" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "Birenga" #, fuzzy #~ msgid "setting times of %s" #~ msgstr "Igenamiterere Times Bya" #, fuzzy #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ "-a Guhindura>> i C Oya Kurema OYA Kurema D Itariki Na Gukoresha Bya " #~ "KIGEZWEHO F M Guhindura>> i" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ "-R Indango Gukoresha iyi Times Bya KIGEZWEHO T Gukoresha Bya KIGEZWEHO " #~ "Igihe Guhindura>> i Igihe ni Cyangwa Gukoresha Kuri ni Guhindura Cyangwa " #~ "Kuri" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "i D Na T Amahitamo Kwemera Igihe Itariki Imiterere" #, fuzzy #~ msgid "cannot specify times from more than one source" #~ msgstr "Times Bivuye Birenzeho Inkomoko" #, fuzzy #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "Iburira ni Gukoresha T" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Na Cyangwa Gusiba Inyuguti Bivuye Bisanzwe Iyinjiza Kuri Bisanzwe " #~ "Ibisohoka C C Itangira D Gusiba Gusiba Inyuguti in OYA S Gusimbura " #~ "Iyinjiza Bya a byasubiyemo ni in Na: a UMWE Bya T Itangira Kuri Uburebure " #~ "Bya" #, fuzzy #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "Nka Ikurikiranyanyuguti Bya Inyuguti Inyuguti Na: Agaciro 1. Kuri 3. " #~ "Ifishi N Gishya Gitambitse" #, fuzzy #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ "\\vBihagaritse Byose Inyuguti Bivuye Kuri in Ubujyejuru in Amakopi Bya " #~ "Uburebure Bya Amakopi Bya NIBA Na: Byose Na Alufa Byose Ahatanditseho " #~ "Byose Gitambitse Byose Igenzura Byose" #, fuzzy #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ "[:Byose Gicapika Inyuguti OYA Ntoya Byose Ntoya Gucapa Byose Gicapika " #~ "Inyuguti Byose Umwanya Byose Gitambitse Cyangwa Bihagaritse Nkuru Byose " #~ "Nkuru Byose Byose Inyuguti Kuri" #, fuzzy #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "NIBA D ni OYA Na Byombi Na Kugaragara T Gicurasi Ryari: ni Byongerewe... " #~ "Kuri Uburebure ku Iheruka Inyuguti Nka" #, fuzzy #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "Ntoya Na Nkuru in Ubujyejuru Itondekanya in in Kuri Ihindurangero" #, fuzzy #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "-S NIBA Ikindi Na Cyangwa Isibwa" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "Iburira i C ni Nka i 2. Bayite" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "%s:Iburira a Ikomeye Ihuza Kuri a Ihuza ni OYA" #, fuzzy #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "Urutonde Bya in Ihindurakerekezo Itondekanya" #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "Sibyo Gusubiramo IBARA in C N" #, fuzzy #~ msgid "missing character class name `[::]'" #~ msgstr "Ibuze Inyuguti ishuri Izina:" #, fuzzy #~ msgid "missing equivalence class character `[==]'" #~ msgstr "Ibuze ishuri Inyuguti" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "Sibyo Inyuguti ishuri" #, fuzzy #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s:ishuri a UMWE Inyuguti" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "Inyuguti in Gushyiraho" #, fuzzy #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "i C Gusubiramo Gicurasi OYA Kugaragara in" #, fuzzy #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "C Gusubiramo Gicurasi Kugaragara in" #, fuzzy #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "[=C Gicurasi OYA Kugaragara in Ryari:" #, fuzzy #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "Ryari: OYA ubusa" #, fuzzy #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "Ryari: Na: Inyuguti Inzego Byose Inyuguti in i Urwego Kuri" #, fuzzy #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "Ryari: i Inyuguti Inzego Gicurasi Kugaragara Na" #, fuzzy #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "i C Gicurasi Kugaragara in Ryari:" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "Ikurikiranyanyuguti Ryari:" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "Ikurikiranyanyuguti Gicurasi Ryari:" #, fuzzy #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "Nkuru Na Cyangwa Ntoya" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Urutonde Na: i Bituzuye in Oya Cyangwa Ryari: ni Gusoma Bisanzwe Iyinjiza" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s:Iyinjiza Kirimo IGIHARWE Umubare Bya" #, fuzzy #~ msgid "%s: input contains a loop:" #~ msgstr "%s:Iyinjiza Kirimo a" #, fuzzy #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "i IDOSIYE Izina: Bya i Kuri Bisanzwe Iyinjiza S Gucapa Garuka Gusohoka" #, fuzzy #~ msgid "not a tty" #~ msgstr "OYA a" #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Sisitemu Ibisobanuro Oya Nka S a Byose Gucapa Byose Ibisobanuro in i " #~ "Itondekanya S Izina: Gucapa i N Gucapa i urusobe R Gucapa i" #, fuzzy #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ "-v Verisiyo Gucapa i M Gucapa i P Gucapa i i Gucapa i o Sisitemu Gucapa i" #, fuzzy #~ msgid "cannot get system name" #~ msgstr "Kubona Sisitemu Izina:" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "in Kuri Amasimbuka Kuri Bisanzwe Ibisohoka Oya Cyangwa Ryari: ni Gusoma " #~ "Bisanzwe Iyinjiza" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ "-a Byose GUHINDURA Byose Bya Itangira GUHINDURA Nyobora Bya a T " #~ "Amasimbuka Amasimbuka Inyuguti Bya 8 a T Amasimbuka Gukoresha Akitso Bya " #~ "Isunika imyanya a" #, fuzzy #~ msgid "tabs are too far apart" #~ msgstr "Amasimbuka" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "Isunika Guhagarara ni Binini" #, fuzzy #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Byose Bya birasa Imirongo Bivuye Iyinjiza Kuri Cyangwa Bisanzwe Ibisohoka" #, fuzzy #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ "-C IBARA Imbanziriza Imirongo ku i Umubare Bya D byasubiyemo Gucapa " #~ "Gusubiramo" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ "-Byose byasubiyemo Uburyo Gucapa Byose Gusubiramo Uburyo Ntacyo Mburabuzi " #~ "ni Byakozwe Na: Ahatanditseho Imirongo F Imyanya i Itangira i " #~ "Kwirengagiza Kwirengagiza in Ryari: S i Itangira u Cyo nyine Gucapa Cyo " #~ "nyine" #, fuzzy #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "-W Kugenzura... Kugereranya# Oya Birenzeho Inyuguti in" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of whitespace, then non-whitespace characters.\n" #~ "Fields are skipped before chars.\n" #~ msgstr "A Umwanya ni a Gukoresha Bya Hanyuma Inyuguti Mbere" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "byasubiyemo Imirongo" #, fuzzy #~ msgid "invalid number of fields to skip" #~ msgstr "Sibyo Umubare Bya Imyanya Kuri" #, fuzzy #~ msgid "invalid number of bytes to skip" #~ msgstr "Sibyo Umubare Bya Bayite Kuri" #, fuzzy #~ msgid "invalid number of bytes to compare" #~ msgstr "Sibyo Umubare Bya Bayite Kuri Kugereranya#" #, fuzzy #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "Icapa... Byose Imirongo Na Gusubiramo ni" #, fuzzy #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "i Kureka guhuza Umumaro Kuri Gukuraho... i" #, fuzzy #~ msgid "cannot unlink %s" #~ msgstr "Kureka guhuza" #, fuzzy #~ msgid "couldn't get boot time" #~ msgstr "Kubona Igihe" #, fuzzy #~ msgid " %2d:%02d%s up " #~ msgstr "%2d:%02d%sHejuru" #, fuzzy #~ msgid " ??:???? up " #~ msgstr ":Hejuru" #, fuzzy #~ msgid "???? days ??:??, " #~ msgstr "" #~ "Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Iminsi. Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ ". Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ldUMUNSI" # sw/source\ui\envelp\label.src:STR_CUSTOM.text #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%luUkoresha]" #~ msgstr[1] "%luUkoresha]" #, fuzzy #~ msgid ", load average: %.2f" #~ msgstr ",Ibirimo Impuzandengo" #, fuzzy #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "i KIGEZWEHO Igihe i Uburebure Bya Igihe i Sisitemu Hejuru i Umubare Bya " #~ "ku i Sisitemu Na i Impuzandengo Umubare Bya i Gukoresha Umurongo KURI i " #~ "Iheruka 1. 5 Na 15 Iminota ni OYA Gukoresha Nka ni" #, fuzzy #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "ni in Kuri ni OYA Gukoresha Nka ni" #, fuzzy #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "ijambo Na Bayite kugirango Na a Igiteranyo Umurongo ni Oya Cyangwa Ryari: " #~ "ni Gusoma Bisanzwe Iyinjiza C Bayite Gucapa i Bayite M Gucapa i Inyuguti " #~ "L Imirongo Gucapa i" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ "-KININI Umurongo Uburebure Gucapa i Uburebure Bya i W Amagambo Gucapa i " #~ "ijambo" # 4388 #, fuzzy #~ msgid " old " #~ msgstr "ki/ bishaje" #, fuzzy #~ msgid "id=" #~ msgstr "IKIRANGA:" #, fuzzy #~ msgid "term=" #~ msgstr "Ijambo" #, fuzzy #~ msgid "exit=" #~ msgstr "Kuvamo%S" #, fuzzy #~ msgid "clock change" #~ msgstr "Guhindura>>" #, fuzzy #~ msgid "run-level" #~ msgstr "Gukoresha urwego" #, fuzzy #~ msgid "last=" #~ msgstr "Ya nyuma:" #, fuzzy #~ msgid "NAME" #~ msgstr "Izina" # #-#-#-#-# sch.pot (PACKAGE VERSION) #-#-#-#-# # sch/source\ui\app\strings.src:STR_LINE.text # #-#-#-#-# sch.pot (PACKAGE VERSION) #-#-#-#-# # sch/source\ui\dlg\attrib2.src:TAB_AXIS.1.RID_SVXPAGE_LINE.text # #-#-#-#-# sch.pot (PACKAGE VERSION) #-#-#-#-# # sch/source\ui\dlg\attrib2.src:TAB_X_AXIS.1.RID_SVXPAGE_LINE.text # #-#-#-#-# sch.pot (PACKAGE VERSION) #-#-#-#-# # sch/source\ui\dlg\attrib2.src:TAB_Y_AXIS.1.RID_SVXPAGE_LINE.text # #-#-#-#-# sch.pot (PACKAGE VERSION) #-#-#-#-# # sch/source\ui\dlg\attrib2.src:TAB_Z_AXIS.1.RID_SVXPAGE_LINE.text # #-#-#-#-# sch.pot (PACKAGE VERSION) #-#-#-#-# # sch/source\ui\dlg\attrib2.src:TAB_GRID.1.RID_SVXPAGE_LINE.text # #-#-#-#-# sch.pot (PACKAGE VERSION) #-#-#-#-# # sch/source\ui\dlg\attrib2.src:TAB_LINE.1.RID_SVXPAGE_LINE.text # #-#-#-#-# sch.pot (PACKAGE VERSION) #-#-#-#-# # sch/source\ui\dlg\attrib.src:TAB_DATA_LINE.1.RID_SVXPAGE_LINE.text #, fuzzy #~ msgid "LINE" #~ msgstr "Umurongo" #~ msgid "TIME" #~ msgstr "IGIHE" # padmin/source\padialog.src:RID_TXT_TESTPAGE_COMMENT.text #, fuzzy #~ msgid "COMMENT" #~ msgstr "Icyo wongeraho" # #-#-#-#-# setup2.pot (PACKAGE VERSION) #-#-#-#-# # setup2/source\ui\app.src:STR_RESTART_BTN_NO.text # #-#-#-#-# setup2.pot (PACKAGE VERSION) #-#-#-#-# # setup2/source\ui\pages\phavefun.src:RESID_PAGE_PAGEHAVEFUN.STR_LOGOUT_BTN_NO.text #, fuzzy #~ msgid "EXIT" #~ msgstr "Gusohoka" #, fuzzy #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "-a Byose Nka B D Ifashayinjira P R T B Igihe Bya Iheruka Sisitemu D " #~ "Gucapa H Umutwempangano Gucapa Umurongo Bya Inkingi" #, fuzzy #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ "--GUSHAKISHA Kuri Biturutse M Izina ry'inturo: Na Ukoresha: Na: P Gucapa " #~ "Gikora ku" #, fuzzy #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ "-Q IBARA Byose Ifashayinjira Amazina Na Umubare Bya R Gucapa KIGEZWEHO S " #~ "Gucapa Izina: Umurongo Na Igihe Mburabuzi T Igihe Gucapa Iheruka Sisitemu" #, fuzzy #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ "-W Kongeramo Ubutumwa Imimerere Nka Cyangwa u Urutonde Ubutumwa Nka Nka" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "ni OYA Gukoresha Nka ni M Cyangwa" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "i Ukoresha: Izina: Na: i KIGEZWEHO CYUZUYE Ukoresha: ID Nka ID" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "Gushaka Izina: kugirango Ukoresha:" #, fuzzy #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "Cyangwa" #, fuzzy #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "Ibisohoka a Umurongo Na: Byose S Cyangwa" #, fuzzy #~ msgid "too many groups: %s" #~ msgstr "byasubiyemo Imirongo" #, fuzzy #~ msgid "Warning: cannot read table of mounted file systems" #~ msgstr "%scannotGusoma imbonerahamwe# Bya IDOSIYE" #, fuzzy #~ msgid "block size" #~ msgstr "Funga Ingano" #, fuzzy #~ msgid "cannot change owner and/or group of %s" #~ msgstr "Guhindura>> Na Cyangwa Itsinda Bya" #, fuzzy #~ msgid "cannot chdir to directory %s" #~ msgstr "Kuri bushyinguro" #, fuzzy #~ msgid "openat: unable to restore working directory" #~ msgstr "Kuri Kugarura bushyinguro" #, fuzzy #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "Kubona i Ifashayinjira Itsinda Bya a Bikurikije umubare" #, fuzzy #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "ni Kigenga i Inkomoko kugirango ni OYA ATARIIGIHARWE kugirango Cyangwa A" #, fuzzy #~ msgid "closing standard output" #~ msgstr "Bisanzwe Ibisohoka" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "--Oya Imizi OYA i Mburabuzi Imizi Kuri ku" #, fuzzy #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "ni Cyangwa Birenzeho Bya i Bya i Ibimenyetso Cyangwa Birenzeho Bya i" #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "Guhindura bushyinguro" #, fuzzy #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "Iburira Verisiyo Igenzura V ni Gushigikira kugirango Cyavanyweho in " #~ "Inyibutsa" #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "amahuza OYA ku iyi Sisitemu" #, fuzzy #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "%FNka i 2. Umwaka Kuri i Icyumweru i 4. Umwaka Kuri i Icyumweru" #, fuzzy #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "%zg." #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "a Imiterere Ikurikiranyanyuguti Gicurasi OYA Ryari: ikoresha i Ihitamo" #~ msgid "undefined" #~ msgstr "kidasobanuye" #, fuzzy #~ msgid "cannot get time of day" #~ msgstr "Kubona Igihe Bya UMUNSI" #, fuzzy #~ msgid "%s+%s records in\n" #~ msgstr "%s+%sIbyabitswe" #, fuzzy #~ msgid "%s+%s records out\n" #~ msgstr "%s+%sIbyabitswe" #, fuzzy #~ msgid "truncated records" #~ msgstr "Ibyabitswe" #, fuzzy #~ msgid "file offset out of range" #~ msgstr "IDOSIYE Nta- boneza Inyuma Bya Urutonde" #, fuzzy #~ msgid "" #~ " -e enable interpretation of backslash escapes\n" #~ " -E disable interpretation of backslash escapes (default)\n" #~ msgstr "-E Gushoboza Bya E Bya Mburabuzi" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "`-Ihitamo ni Gukoresha T" #, fuzzy #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "Iburira ikoresha Nka i Itangira i BASIC Ibisanzwe imvugo ni OYA ni" #, fuzzy #~ msgid "`%s' is too large" #~ msgstr "`%s'ni Binini" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Komandi: Umurongo ingingo Cyangwa Na: a Imimerere ITEGEKONGENGA Ihitamo " #~ "Amazina Gicurasi OYA" #, fuzzy #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "`%s'Ihitamo ni Gukoresha" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "Gicurasi a Ingereka B K M" #, fuzzy #~ msgid "%s: number of bytes is large" #~ msgstr "%s:Umubare Bya Bayite ni Binini" #, fuzzy #~ msgid "unrecognized option `-%c'" #~ msgstr "Ihitamo" #, fuzzy #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "`-%s'S." #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "Gucapa Ukoresha: Na Itsinda" #, fuzzy #~ msgid "cannot get supplemental group list" #~ msgstr "Kubona Itsinda Urutonde" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "Igihe kugirango" #, fuzzy #~ msgid "strip failed" #~ msgstr "Byanze" #, fuzzy #~ msgid "value %s is so large that it is not representable" #~ msgstr "Agaciro ni Binini ni OYA" #, fuzzy #~ msgid "invalid field number: `%s'" #~ msgstr "Sibyo Umwanya Umubare" #, fuzzy #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "Sibyo Umwanya Umubare kugirango IDOSIYE 1." #, fuzzy #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "Sibyo Umwanya Umubare kugirango IDOSIYE 2." #, fuzzy #~ msgid "create symbolic link %s to %s" #~ msgstr "Kurema Ihuza Kuri" #, fuzzy #~ msgid "create hard link %s to %s" #~ msgstr "Kurema Ikomeye Ihuza Kuri" #, fuzzy #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "-B Nyabibiri Gusoma Idosiye in Nyabibiri Ubwoko Mburabuzi ku C " #~ "Kugenzura... Kugenzura... T Umwandiko Gusoma Idosiye in Umwandiko Ubwoko " #~ "Mburabuzi" #, fuzzy #~ msgid "Only one operand may be specified when using --check." #~ msgstr "Gicurasi Ryari: ikoresha Kugenzura..." #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "Gushyiraho Uruhushya Bya bushyinguro" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "Gushyiraho Uruhushya Bya" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "Gushyiraho Uruhushya Bya" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "Kubona By'ibanze" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "Gushyiraho By'ibanze" #, fuzzy #~ msgid "failed to redirect standard output" #~ msgstr "Byanze Kuri Bisanzwe Ibisohoka" #, fuzzy #~ msgid "minimum string length" #~ msgstr "Gito Ikurikiranyanyuguti Uburebure" #, fuzzy #~ msgid "width specification" #~ msgstr "Ubugari" #, fuzzy #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "in P Kugenzura... kugirango Byose OYA iyi" #, fuzzy #~ msgid "Page range `%s'" #~ msgstr "Urutonde" #, fuzzy #~ msgid "column count too large" #~ msgstr "Inkingi IBARA Binini" #, fuzzy #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--Inkingi Sibyo Umubare Bya Inkingi" #, fuzzy #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Porogaramu ni Kigenga Na Cyangwa i Bya i Nka Verisiyo 2. Cyangwa ku " #~ "Ihitamo Verisiyo" #, fuzzy #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Porogaramu ni in i ATARIIGIHARWE i Cyangwa A kugirango Birenzeho Birambuye" #, fuzzy #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "BYAKIRIWE a Gukoporora Bya i Na: iyi Porogaramu NIBA OYA Kwandika Kuri i" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "" #~ "Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "in" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "Bivuye Kuri" #, fuzzy #~ msgid "cannot remove `.' or `..'" #~ msgstr "" #~ "Cyangwa. Project- Id- Version: basctl\n" #~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" #~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" #~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" #~ "Content- Type: text/ plain; charset= UTF- 8\n" #~ "Content- Transfer- Encoding: 8bit\n" #~ "X- Generator: KBabel 1. 0\n" #~ "." #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Kureka guhuza i S D bushyinguro Kureka guhuza ATARIIGIHARWE NIBA ni a " #~ "ubusa hejuru Ukoresha: iyi NIBA kugirango ububiko bw'amaderese F " #~ "Kwirengagiza Idosiye Nta narimwe i Biganira Urwinjiriro Mbere" #, fuzzy #~ msgid "sort size" #~ msgstr "Ishungura Ingano" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "Gicurasi a Ingereka B kugirango K kugirango M kugirango 1." #, fuzzy #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "`-%s'Ihitamo ni Gukoresha L" #, fuzzy #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "IDOSIYE Cyangwa IDOSIYE Sisitemu Imimerere F IDOSIYE Sisitemu Kugaragaza " #~ "IDOSIYE Sisitemu Imimerere Bya IDOSIYE C Imiterere Gukoresha i Bya i T " #~ "Gucapa i Ibisobanuro in" #, fuzzy #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "ni Bitemewe. Gukoresha" #, fuzzy #~ msgid "stdin: read error" #~ msgstr "Gusoma Ikosa" #, fuzzy #~ msgid "`%s' option is obsolete; use `%s-%c %'" #~ msgstr "`%s'Ihitamo ni Gukoresha" #, fuzzy #~ msgid "%s: integer expression expected\n" #~ msgstr "%s:Umubare wuzuye imvugo" #, fuzzy #~ msgid "before -lt" #~ msgstr "Mbere" #, fuzzy #~ msgid "after -lt" #~ msgstr "Nyuma" #, fuzzy #~ msgid "before -le" #~ msgstr "Mbere LE" #, fuzzy #~ msgid "after -le" #~ msgstr "Nyuma LE" #, fuzzy #~ msgid "before -gt" #~ msgstr "Mbere" #, fuzzy #~ msgid "after -gt" #~ msgstr "Nyuma" #, fuzzy #~ msgid "before -ge" #~ msgstr "Mbere" #, fuzzy #~ msgid "after -ge" #~ msgstr "Nyuma" #, fuzzy #~ msgid "before -ne" #~ msgstr "Mbere" #, fuzzy #~ msgid "after -ne" #~ msgstr "Nyuma" #, fuzzy #~ msgid "before -eq" #~ msgstr "Mbere" #, fuzzy #~ msgid "after -eq" #~ msgstr "Nyuma" #, fuzzy #~ msgid "after -t" #~ msgstr "Nyuma T" #, fuzzy #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "i Na Times Bya Kuri i KIGEZWEHO Igihe" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Komandi: Umurongo ingingo Cyangwa Na: a Imimerere ITEGEKONGENGA " #~ "Ibyatunganye Ihitamo Amazina Gicurasi OYA" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "`-Ihitamo ni Gukoresha Itangira T" #, fuzzy #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "`-%lu'Ihitamo ni Gukoresha F" #, fuzzy #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ "-i Kongeramo Igihe Nka Cyangwa Bitemewe. Gukoresha u L Ifashayinjira " #~ "Gucapa Sisitemu Ifashayinjira" #, fuzzy #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "i Cyavanyweho in a Gukoresha u" #, fuzzy #~ msgid "%s: cannot find username for UID %lu\n" #~ msgstr "%s:Gushaka Izina ry'ukoresha kugirango" dc3dd-7.1.614/po/ChangeLog0000644000175000017500000001501011022023316014612 0ustar amedicoamedico2007-08-19 Eric Blake * POTFILES.in: Add lib/closein.c. 2007-08-08 Jim Meyering Adapt to gnulib's latest xstrtol change. * POTFILES.in: Use lib/xstrtol-error.c, not lib/xstrtol.h. 2007-08-04 Jim Meyering * POTFILES.in: Remove lib/human.c. 2007-05-19 Jim Meyering * POTFILES.in: Add src/mktemp.c. 2007-02-02 Jim Meyering * POTFILES.in: Add src/runcon.c. 2007-01-13 Jim Meyering * POTFILES.in: Add src/chcon.c. 2006-10-19 Jim Meyering * POTFILES.in: Also include lib/regcomp.c, since it too uses gettext. 2006-10-19 Paul Eggert * POTFILES.in: Add lib/xstrtol.h. 2006-08-22 Paul Eggert * .cvsignore: More ../bootstrap-related fixes, plus remove old cruft. Add *.po, LINGUAS, Makevars. Remove *.cat, *.msg, cat-id-dbl.c, messages.mo, stamp-cat-id. 2006-08-22 Jim Meyering * .cvsignore: Add files that are now generated by ../bootstrap. 2006-08-20 Paul Eggert * LINGUAS, Makefile.in.in, Makevars, Rules-quot, af.po, be.po: * bg.po, boldquot.sed, ca.po, cs.po, da.po, de.po, el.po: * en@boldquot.header, en@quot.header, es.po, et.po, eu.po: * fi.po, fr.po, ga.po, gl.po, hr.po, hu.po, insert-header.sin: * it.po, ja.po, ko.po, lg.po, ms.po, nb.po, nl.po, no.po, pl.po: * pt.po, pt_BR.po, quot.sed, remove-potcdate.sin, ro.po, ru.po: * rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, uk.po, vi.po, wa.po: * zh_CN.po, zh_TW.po: Remove from CVS, since ../bootstrap generates them automatically. 2006-08-17 Paul Eggert * po/ChangeLog: Add copyright notice. * po/Makevars: Likewise. 2006-08-10 Paul Eggert * Makevars (XGETTEXT_OPTIONS): Add pass-c-format flags for _ and N_, so that we get format checking even when --enable-nls. Add c-format flags for error, error_at_line, asprintf, vasprintf, asnprintf, vasnprintf, wrapf. (USE_MSGCTXT): New macro. * Rules-quot (en@quot.po-create, en@boldquot.po-create): New rules. 2006-08-09 Paul Eggert * Makefile.in.in: Sync from gettext 0.15. * LINGUAS: Add ro, sr, uk, wa. * ro.po, sr.po, uk,po, wa.po: New files, gotten from the following files relative to : ro/fileutils-4.1.11.ro.po, sr/sh-utils-2.0.15.sr.po, uk/fileutils-4.1.11.uk.po, wa/fileutils-4.1.11.wa.po. 2006-08-09 Jim Meyering * POTFILES.in: Add lib/randread.c, lib/xmemxfrm.c, and src/shuf.c. 2006-02-27 Jim Meyering * POTFILES.in: Add src/base64.c. 2005-12-17 Jim Meyering * POTFILES.in: Add lib/acl.c. 2005-12-13 Jim Meyering * LINGUAS: Add Kinyarwanda (rw). Add Croatian (hr). 2005-11-22 Jim Meyering * POTFILES.in: Add lib/euidaccess-stat.c. 2005-10-24 Jim Meyering * Makefile.in.in: Update from gettext cvs (0.15). (Makefile): Remove stray po-directories argument. 2005-10-07 Jim Meyering * POTFILES.in: Remove the lib/euidaccess-stat.c line, until I'm ready to add the corresponding file. 2005-10-02 Jim Meyering * POTFILES.in: Add lib/euidaccess-stat.c. 2005-09-24 Jim Meyering * POTFILES.in: Add lib/gai_strerror.c. 2005-06-14 Jim Meyering * POTFILES.in: Change openat.c to openat-die.c. 2005-06-02 Jim Meyering * POTFILES.in: Change makepath.c to mkdir-p.c here, too. 2005-05-10 Jim Meyering * LINGUAS: Add Vietnamese (vi). 2005-04-06 Jim Meyering * LINGUAS: Remove rw. * rw.po: Remove file -- many invalid message strings. 2005-04-05 Jim Meyering * LINGUAS: Add Kinyarwanda (rw). 2004-12-14 Jim Meyering * LINGUAS: Add Bulgarian (bg). 2004-11-28 Jim Meyering * POTFILES.in: Add lib/openat.c. 2004-10-11 Jim Meyering * fr.po: Fix two typos reported in http://bugs.debian.org/275924 2004-09-22 Jim Meyering * POTFILES.in: Remove lib/xmalloc.c. Add lib/xalloc-die.c. 2004-06-26 Jim Meyering * LINGUAS: Add Basque (eu). 2004-04-16 Jim Meyering * fr.po: Correct typo in the french rendition of date's --help output: s/%r/%R/. Patch by Nicolas Boulenguez. 2004-03-02 Jim Meyering * LINGUAS: Add Afrikaans (af) 2004-01-13 Jim Meyering * POTFILES.in: Replace src/sys2.h with src/system.h. 2004-01-12 Jim Meyering * Makefile.in.in: Update from gettext-0.13.1. 2003-11-09 Jim Meyering * POTFILES.in: Add lib/root-dev-ino.h. 2003-10-17 Jim Meyering * POTFILES.in: Add lib/xfts.c. 2003-09-22 Jim Meyering * Makevars (XGETTEXT_OPTIONS): Add --from-code=UTF-8 to accommodate the non-ASCII comment to translators in ptx.c regarding the author's name. 2003-08-27 Jim Meyering * Makefile.in.in: Update from gettext-0.12.2. 2003-08-19 Jim Meyering * Makevars (MSGID_BUGS_ADDRESS): Define. 2003-08-12 Jim Meyering * LINGUAS: Add Irish (ga). 2003-07-11 Jim Meyering * POTFILES.in: Add src/nohup.c and src/setuidgid.c. 2003-03-18 Jim Meyering * POTFILES.in: Remove lib/c-stack.c. 2003-02-16 Jim Meyering * LINGUAS: Add Finnish (fi). 2003-01-11 Jim Meyering * POTFILES.in: Add src/readlink.c. 2002-11-21 Jim Meyering * LINGUAS: Add ms (Malay). 2002-11-14 Jim Meyering * POTFILES.in: Remove lib/long-options.c and lib/same.c. Although each defines `_', neither actually used it. 2002-11-09 Jim Meyering * Makevars (EXTRA_LOCALE_CATEGORIES): Add LC_TIME. Patch by Tim Waugh for Red Hat bug #73669. 2002-09-25 gettextize * Makefile.in.in: Upgrade to gettext-0.11.5. 2002-09-16 Jim Meyering * LINGUAS: Add be (Belarusian). 2002-09-02 Jim Meyering * LINGUAS: Add lg (Luganda). ----- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. dc3dd-7.1.614/po/cs.gmo0000644000175000017500000001276511233346647014212 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  oc 7~T4 9@Bz8F*=Ah(.69U e7s3(4!3V 5!R,t  !)( " %  $#' && BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-04-23 17:24+0200 Last-Translator: Petr Pisar Language-Team: Czech MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; Hodnoty BLOKŮ a BAJTŮ mohou mít následující násobné přípony (přípona činitel): c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 a tak dále pro T, P, E, Z, Y. Mezi hodnotu a příponu může být vložen znak „x“ (např. 2xK = 2K = 2048). Každá dílčí konverze v seznamu KONVERZÍ může být: Každý dílčí příznak v seznamu PŘÍZNAKŮ může být: append připisuje na konec (má smysl pouze pro výstup; doporučeno s conv=notrunc) binary použije binární V/V pro práci s daty direct použije přímé vstupně-výstupní operace (V/V) pro práci s daty directory selže, pokud se nejedná o adresář dsync použije synchronní V/V pro práci s daty noaime neaktualizuje čas posledního přístupu k souboru noctty nepovažuje soubor za řídící terminál noerror pokračuje i při vzniku chyby při čtení sync doplní každý vstupní blok nulovými bajty do velikosti „ibs“. Za současného použití block nebo unblock doplňuje mezerami. fdatasync před ukončením vynutí fyzický zápis dat fsync podobně, ale zapíše i metadata nofollow nesleduje symbolické odkazy nolinks selže, pokud na soubor vede více pevných odkazů nonblock použije neblokující V/V sync podobně, ale také pro metadata text použije textové V/V pro práci s daty %s: soubor nelze převíjet, %'g s, %s/s nekonečno BVíce informací získáte příkazem „%s --help“. Neznámá chyba systémuPoužití: %s [OPERAND]… nebo: %s PŘEPÍNAČ excl a nocreat nelze použít současněnelze získat informace o souboru %s z deskriptorustejně se nedokážu vyrovnat s chybou v jádřezavírám vstupní soubor %szavírám výstupní soubor %sfdatasync na %s selhalofsync na %s selhaloneplatná konverzeneplatný příznak vstupuneplatné číslo %sneplatný příznak výstupuneplatná hodnota operandu statusběhem čtení ze souboru %s přetekl offsetotevírám %snastavuji příznaky pro %sstandardní vstupstandardní výstupneznámý operand %svarování: obcházím chybu služby jádra lseek() nad souborem %s typu mt_type=0x%0lx – seznam typů naleznete v zapisuji do %sPRIuMAXtruncating at % bytes in output file %sna % bajtů zkracuji výstupní soubor %sdc3dd-7.1.614/po/lt.po0000644000175000017500000004066411233346647014057 0ustar amedicoamedico# translation of coreutils-6.10 to Lithuanian # Copyright (C) 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # # Gintautas Miliauskas , 2008. msgid "" msgstr "" "Project-Id-Version: coreutils-6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-05-14 03:13+0300\n" "Last-Translator: Gintautas Miliauskas \n" "Language-Team: Lithuanian \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: KBabel 1.11.4\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 msgid "Could not allocate space for thread" msgstr "" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" #: src/dc3dd.c:1099 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" #: src/dc3dd.c:1107 msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr "" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Nežinoma sistemos klaida" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 msgid "Split extensions exhausted" msgstr "" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 msgid "Verify FAILED" msgstr "" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "%s: neleistinas parametras -- %c\n" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, c-format msgid "Illegal split format %s" msgstr "" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, c-format msgid "Illegal ifjoin format %s" msgstr "" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, c-format msgid "Illegal vfjoin format %s" msgstr "" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "netaisyklingas naudotojas" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "netaisyklingas naudotojas" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "netaisyklinga grupė" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "netaisyklingas naudotojas" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "" #: src/dc3dd.c:2941 msgid "cannot combine if= and ifjoin=" msgstr "" #: src/dc3dd.c:2944 msgid "cannot combine vf= and vfjoin=" msgstr "" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "negalima palyginti failų vardų %s ir %s" #: src/dc3dd.c:2953 msgid "cannot combine wipe= and ifjoin=" msgstr "" #: src/dc3dd.c:2955 msgid "cannot combine wipe= and vfjoin=" msgstr "" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "skaitomas %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 msgid "advance: warning: invalid file offset after failed read" msgstr "" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "skaitomas aplankas %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "skaitomas aplankas %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dc3dd.c:3907 msgid "standard input" msgstr "" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standartinis išvedimas" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "invalid argument %s for %s" #~ msgstr "netaisyklingas argumentas %s %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "dviprasmis argumentas %s %s" #~ msgid "Valid arguments are:" #~ msgstr "Galimi argumentai:" #~ msgid "error closing file" #~ msgstr "klaida užveriant failą" #~ msgid "write error" #~ msgstr "rašymo klaida" #~ msgid "regular empty file" #~ msgstr "paprastas tuščias failas" #~ msgid "regular file" #~ msgstr "paprastas failas" #~ msgid "directory" #~ msgstr "aplankas" #~ msgid "block special file" #~ msgstr "blokinis specialus failas" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "simbolinė nuoroda" #~ msgid "socket" #~ msgstr "lizdas" #~ msgid "message queue" #~ msgstr "pranešimų eilė" #~ msgid "semaphore" #~ msgstr "semaforas" #~ msgid "weird file" #~ msgstr "keistas failas" #, fuzzy #~ msgid "Temporary failure in name resolution" #~ msgstr "Laikinas vardų paieškos sutrikimas" #~ msgid "Memory allocation failure" #~ msgstr "Atminties išskyrimo klaida" #~ msgid "Request canceled" #~ msgstr "Užklausa nutraukta" #~ msgid "Request not canceled" #~ msgstr "Užklausa nenutraukta" #~ msgid "All requests done" #~ msgstr "Visos užklausos baigtos" #~ msgid "Interrupted by a signal" #~ msgstr "Nutraukta signalo" #~ msgid "Unknown error" #~ msgstr "Nežinoma klaida" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: parametras `%s' dviprasmis\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: argumentas „--%s“ neleidžia parametro\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: argumentas „%c%s“ neleidžia parametro\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: neatpažintas argumentas „--%s“\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: neatpažintas argumentas „%c%s“\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: parametrui reikia argumento -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: parametras „-W %s“ dviprasmis\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: parametras „-W %s“ neleidžia argumento\n" #~ msgid "memory exhausted" #~ msgstr "baigėsi atmintis" #~ msgid "`" #~ msgstr "„" #~ msgid "'" #~ msgstr "“" #~ msgid "%s: end of file" #~ msgstr "%s: failo pabaiga" #~ msgid "Success" #~ msgstr "Sėkmė" #~ msgid "Invalid regular expression" #~ msgstr "Netaisyklinga reguliarioji išraiška" #~ msgid "Memory exhausted" #~ msgstr "Baigėsi atmintis" #~ msgid "Unmatched ) or \\)" #~ msgstr "Nesuderintas ) arba \\)" #~ msgid "^[yY]" #~ msgstr "^[yYtT]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "invalid user" #~ msgstr "netaisyklingas naudotojas" #~ msgid "invalid group" #~ msgstr "netaisyklinga grupė" #~ msgid "(C)" #~ msgstr "©" #~ msgid "Written by %s.\n" #~ msgstr "Parašyta %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Parašyta %s ir %s.\n" #~ msgid "%s" #~ msgstr "%s" #~ msgid "%s: file too long" #~ msgstr "%s: failas per ilgas" #~ msgid "writing %s" #~ msgstr "rašomas %s" #~ msgid "closing %s" #~ msgstr "užveriamas %s" #~ msgid " (backup: %s)" #~ msgstr " (atsarginė kopija: %s)" #~ msgid "omitting directory %s" #~ msgstr "praleidžiamas aplankas %s" #~ msgid "missing file operand" #~ msgstr "trūksta failo operando" #~ msgid "missing destination file operand after %s" #~ msgstr "trūksta paskirties failo operando po %s" #~ msgid "%s: line number out of range" #~ msgstr "%s: eilutės numeris už ribų" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: eilutės numeris už ribų" #~ msgid "%s: invalid number" #~ msgstr "%s: netaisyklingas skaičius" #~ msgid "syntax error" #~ msgstr "sintaksės klaida" #~ msgid "%b %e %Y" #~ msgstr "%Y-%m-%d" #~ msgid "%b %e %H:%M" #~ msgstr "%Y-%m-%d %H:%M" #~ msgid "unrecognized prefix: %s" #~ msgstr "neatpažintas priešdėlis: %s" #~ msgid "cannot open directory %s" #~ msgstr "nepavyko atverti aplanko %s" #~ msgid "closing directory %s" #~ msgstr "užveriamas aplankas %s" #~ msgid "invalid mode" #~ msgstr "netaisyklinga veiksena" #~ msgid "%s: unary operator expected" #~ msgstr "%s: tikėtasi unarinio operatoriaus" #~ msgid "%s: binary operator expected" #~ msgstr "%s: tikėtasi binarinio operatoriaus" #~ msgid "missing `]'" #~ msgstr "trūksta „]“" dc3dd-7.1.614/po/be.gmo0000644000175000017500000000454311233346647014166 0ustar amedicoamedicol" &F(['%' MXm| `B/^H4T,1;^+/",OO1 *' R      text use text I/O for data %s: cannot seekInfinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid number %soffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swriting to %sProject-Id-Version: coreutils 5.97 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2006-08-16 03:27+0300 Last-Translator: Alexander Nyakhaychyk Language-Team: Belarusian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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); text выкарыстоўваць тэкставы ўвод/вывад для даных %s: немагчыма перасунуць паказальнікБясконцасьцьПаспрабуйце "%s --help" для больш падрабязных зьвестак. Невядомая сістэмная памылкаВыкарыстаньне: %s [АПЭРАНД]... або: %s ПАРАМЭТАР немагчыма выканаць fstat %sнемагчыма абмінуць памылку ядразачыняецца файл уводу %sзакрываецца файл вываду %sзбой fdatasync для %sзбой fsync для %sнерэчаісны нумар %sперапаўненьне зруху цягам чытаньня файла %sадчыняецца %sвыстаўленьне сьцягоў для %sстандартны ўводстандартны вываднераспазнаны апэранд %sзапіс у %sdc3dd-7.1.614/po/ko.gmo0000644000175000017500000000131611233346647014204 0ustar amedicoamedicoDl&s9X  Try `%s --help' for more information. Unknown system errorstandard inputstandard outputProject-Id-Version: GNU textutils 2.0.22 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2002-07-22 20:02+0900 Last-Translator: Changwoo Ryu Language-Team: Korean MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 더 많은 정보를 보려면 `%s --help' 하십시오. 알 수 없는 시스템 오류표준 입력표준 출력dc3dd-7.1.614/po/nb.po0000644000175000017500000044317311233346647014041 0ustar amedicoamedico# Norwegian messages for GNU textutils (bokmål dialect) # Copyright (C) 1996 Free Software Foundation, Inc. # Eivind Tagseth , 1996, 1997, 1999. # msgid "" msgstr "" "Project-Id-Version: GNU textutils 2.0.20\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2002-01-27 21:35+0100\n" "Last-Translator: Eivind Tagseth \n" "Language-Team: Norwegian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin og David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "kan ikke opprette katalog %s" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prøv med «%s --help» for mer informasjon.\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Bruk: %s [FIL]...\n" "eller: %s [FLAGG]\n" #: src/dc3dd.c:1099 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" #: src/dc3dd.c:1107 msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s eksisterer men er ikke en katalog" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Ukjent systemfeil" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, fuzzy, c-format msgid "closing input file %s" msgstr "lager filen «%s»\n" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 msgid "Split extensions exhausted" msgstr "" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, fuzzy, c-format msgid "opening %s" msgstr "feil ved lesing av %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "FEIL" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "ukjent flagg «-%c»" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "ugyldig bredde: «%s»" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "ugyldig argument %s for %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "ugyldig argument %s for %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "ugyldig argument %s for %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "ugyldig breddespesifikasjon «%s»" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "ugyldig tall i feltstart" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "ugyldig gruppe" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "ugyldig bruker" #: src/dc3dd.c:2913 #, fuzzy, c-format msgid "invalid number %s" msgstr "ugyldig antall" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "kan ikke opprette katalog %s" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "kan ikke opprette katalog %s" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "kan ikke opprette katalog %s" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "kan ikke opprette katalog %s" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "kan ikke opprette katalog %s" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "kan ikke opprette katalog %s" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "feil ved lesing av %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: kan ikke søke til posisjon %s%s" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "advarsel: ugyldig bredde %lu; bruker %d istedet" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "kan ikke endre rettigheter til %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "kan ikke opprette katalog %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "kan ikke opprette katalog %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, fuzzy, c-format msgid "writing to %s" msgstr "feil ved skriving til %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standard inn" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standard ut" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "kan ikke utelate både bruker og gruppe" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "Strengene som ble sammenlignet var «%s» og «%s»." #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "advarsel: ugyldig bredde %lu; bruker %d istedet" #~ msgid "error writing %s" #~ msgstr "feil ved skriving til %s" #~ msgid "invalid argument %s for %s" #~ msgstr "ugyldig argument %s for %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "flertydig argument %s for %s" #~ msgid "Valid arguments are:" #~ msgstr "Gyldige argument er:" #, fuzzy #~ msgid "error closing file" #~ msgstr "lager filen «%s»\n" #~ msgid "write error" #~ msgstr "feil ved skriving" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "cannot stat %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "regular file" #~ msgstr "feil ved lesing" #, fuzzy #~ msgid "block special file" #~ msgstr "blokkstørrelse" #, fuzzy #~ msgid "character special file" #~ msgstr "tegn-posisjon er null" #, fuzzy #~ msgid "weird file" #~ msgstr "feil ved lesing" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "blokkstørrelse" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "blokkstørrelse" #, fuzzy #~ msgid "System error" #~ msgstr "feil ved skriving" #, fuzzy #~ msgid "Unknown error" #~ msgstr "Ukjent systemfeil" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: flagget «%s» er flertydig\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: flagget «--%s» trenger et argument\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: flagget «%c%s» trenger et argument\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: flagget «%s» trenger et argument\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: ukjent flagg «--%s»\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: ukjent flagg «%c%s»\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: ukjent flagg -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: ukjent flagg -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: flagget trenger et argument -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: flagget «-W %s» er flertydig\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: flagget «-W %s» tillater ikke et argument\n" #~ msgid "cannot change permissions of %s" #~ msgstr "kan ikke endre rettigheter til %s" #~ msgid "cannot create directory %s" #~ msgstr "kan ikke opprette katalog %s" #~ msgid "memory exhausted" #~ msgstr "virtuelt minne oppbrukt" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "kan ikke opprette katalog %s" #~ msgid "`" #~ msgstr "«" #~ msgid "'" #~ msgstr "»" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: lesefeil" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: ugyldig regulært uttrykk: %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "ugyldig tegn-klasse «%s»" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "virtuelt minne oppbrukt" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: ugyldig regulært uttrykk: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "feil i søk med regulært uttrykk" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "feil i søk med regulært uttrykk" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "feil i søk med regulært uttrykk" #, fuzzy #~ msgid "^[yY]" #~ msgstr "^[jJ]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #, fuzzy #~ msgid "setting permissions for %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "iconv function not usable" #~ msgstr "kan ikke skrive ut U+%04X: iconv-funksjonen er ikke brukbar" #, fuzzy #~ msgid "iconv function not available" #~ msgstr "kan ikke skrive ut U+%04X: iconv-funksjon er ikke tilgjengelig" #, fuzzy #~ msgid "character out of range" #~ msgstr "U+%04X: tegn utenfor tillatte verdier" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "kan ikke konvertere U+%04X til lokalt tegnsett" #, fuzzy #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "kan ikke konvertere U+%04X til lokalt tegnsett" #~ msgid "invalid user" #~ msgstr "ugyldig bruker" #~ msgid "invalid group" #~ msgstr "ugyldig gruppe" #, fuzzy #~ msgid "invalid spec" #~ msgstr "ugyldig bruker" #~ msgid "Written by %s.\n" #~ msgstr "Skrevet av %s.\n" #, fuzzy #~ msgid "Written by %s and %s.\n" #~ msgstr "Skrevet av %s.\n" #, fuzzy #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Skrevet av %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "Skrevet av %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "Skrevet av %s.\n" #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "ugyldig argument %s for %s" #~ msgid "string comparison failed" #~ msgstr "strengsammenligning feilet" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Sett LC_ALL='C' for å omgå problemet." #~ msgid "The strings compared were %s and %s." #~ msgstr "Strengene som ble sammenlignet var «%s» og «%s»." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "strengsammenligning feilet" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "ugyldig argument %s for %s" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "ugyldig linjenummer-økning: «%s»" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: tall «%.*s» for stort" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version vis programversjon og avslutt\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Når ingen FIL eller når FIL er -, les fra standard inn.\n" #~ msgid "read error" #~ msgstr "lesefeil" #, fuzzy #~ msgid "invalid input" #~ msgstr "ugyldig antall" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "ugyldig type-streng «%s»" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "ekstra operator «%s»" #, fuzzy #~ msgid "closing standard input" #~ msgstr "standard inn" #, fuzzy #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "missing operand" #~ msgstr "%s: heltall forventet etter «%c»" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjorn Granlund og Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Føy sammen FIL(er) eller standard inn til standard ut.\n" #~ "\n" #~ " -A, --show-all samme som -vET\n" #~ " -b, --number-nonblank nummerer ikke-blanke ut-linjer\n" #~ " -e samme som -vE\n" #~ " -E, --show-ends skriv $ på slutten av hver linje\n" #~ " -n, --number nummerer alle ut-linjer\n" #~ " -s, --squeeze-blank aldri mer enn én blank linje\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t samme som -vT\n" #~ " -T, --show-tabs vis tabulatortegn som ^I\n" #~ " -u (ignorert)\n" #~ " -v, --show-nonprinting bruk ^ og M-notasjon, unntatt for LFD og TAB\n" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "kan ikke utføre ioctl på «%s»" #~ msgid "%s: input file is output file" #~ msgstr "%s: innfil er utfil" #, fuzzy #~ msgid "Jim Meyering" #~ msgstr "Mike Haertel og Paul Eggert" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "cannot read directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "fts_read failed" #~ msgstr "feil ved lesing" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Bruk: %s [FLAGG]... [FIL]...\n" #~ " eller: %s --traditional [FIL] [[+]POSISJON [[+]MERKE]]\n" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "%s: heltall forventet etter «%c»" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "ugyldig breddespesifikasjon «%s»" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "ugyldig gruppe" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Bruk: %s [FLAGG]... [FIL]...\n" #~ " eller: %s --traditional [FIL] [[+]POSISJON [[+]MERKE]]\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "changing permissions of %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "ugyldig bredde: «%s»" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "changing group of %s" #~ msgstr "kan ikke endre eier og/eller gruppe for %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Bruk: %s [FLAGG]... [FIL]...\n" #~ " eller: %s --traditional [FIL] [[+]POSISJON [[+]MERKE]]\n" #, fuzzy #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "cannot change root directory to %s" #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "cannot chdir to root directory" #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "cannot run command %s" #~ msgstr "kan ikke utføre ioctl på «%s»" #~ msgid "%s: file too long" #~ msgstr "%s: fil for lang" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Skriv CRC-sjekksum og oktett-antall for hver FIL.\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman og David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Bruk: %s [FLAGG]... FIL1 FIL2\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "Sammenlign de sorterte filene VENSTREFIL og HØYREFIL linje for linje.\n" #~ "\n" #~ " -1 se bort fra linjer som bare finnes i den venstre filen\n" #~ " -2 se bort fra linjer som bare finnes i den høyre filen\n" #~ " -3 se bort fra linjer som finnes i begge filer\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "cannot remove %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot create regular file %s" #~ msgstr "kan ikke opprette midlertidig fil" #, fuzzy #~ msgid "cannot lseek %s" #~ msgstr "%s: kan ikke søke til posisjon %s%s" #, fuzzy #~ msgid "writing %s" #~ msgstr "feil ved skriving til %s" #, fuzzy #~ msgid "closing %s" #~ msgstr "lukker %s (fd=%d)" #, fuzzy #~ msgid "omitting directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "will not create hard link %s to directory %s" #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "cannot create hard link %s to %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "cannot move %s to %s" #~ msgstr "kan ikke utføre ioctl på «%s»" #, fuzzy #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot create fifo %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot create special file %s" #~ msgstr "tegn-posisjon er null" #, fuzzy #~ msgid "cannot read symbolic link %s" #~ msgstr "kan ikke utføre ioctl på «%s»" #, fuzzy #~ msgid "cannot create symbolic link %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Bruk : %s [FLAGG]... [INN]... (uten -G)\n" #~ "eller: %s -G [FLAGG]... [INN [UT]]\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Obligatoriske argmenter til lange flagg er obligatoriske også for korte.\n" #, fuzzy #~ msgid "failed to preserve permissions for %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "cannot make directory %s" #~ msgstr "kan ikke opprette katalog %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s eksisterer men er ikke en katalog" #, fuzzy #~ msgid "missing file operand" #~ msgstr "hopp over argument" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "feltliste mangler" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "%s eksisterer men er ikke en katalog" #~ msgid "input disappeared" #~ msgstr "input forsvant" #~ msgid "%s: line number out of range" #~ msgstr "%s: linjenummer utenfor tillatte verdier" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: «%s»: linjenummer utenfor tillatte verdier" #, fuzzy #~ msgid " on repetition %s\n" #~ msgstr " ved %d. repetisjon\n" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: «%s»: ingen treff funnet" #~ msgid "error in regular expression search" #~ msgstr "feil i søk med regulært uttrykk" #, fuzzy #~ msgid "write error for %s" #~ msgstr "skrivefeil for «%s»" #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: heltall forventet etter «%c»" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: «}» er nødvendig i gjentagelsesantall" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: heltall kreves mellom «{» og «}»" #, fuzzy #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: avsluttende skilletegn «%c» mangler" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: ugyldig regulært uttrykk: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: ugyldig mønster" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: linjenummeret må være større enn null" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "linjenummer «%s» er mindre enn foregående linjenummer, %s" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "advarsel: linjenummer «%s» er det samme som foregående" #, fuzzy #~ msgid "invalid format width" #~ msgstr "ugyldig argument %s for %s" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "ugyldig type-streng «%s»" #~ msgid "missing conversion specifier in suffix" #~ msgstr "manglende konverteringsspesifikator i suffiks" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "ugyldig konvertingsspesifikator i suffiks: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "ugyldig konverteringsspesifikator i suffiks: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "for mange %%-konverteringsspesifikasjoner i suffiks" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "manglende %%-konverteringsspesifikasjon i suffiks" #~ msgid "%s: invalid number" #~ msgstr "%s: ugyldig nummer" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Bruk: %s [FLAGG]... FIL MØNSTER...\n" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut deler av FIL skilt av MØNSTER til filene «xx01», «xx02», ...\n" #~ "og skriv ut antall oktetter for hver del til standard ut.\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMAT bruk sprintf-FORMAT isteden for %d\n" #~ " -f, --prefix=PREFIX bruk PREFIX isteden for «xx»\n" #~ " -k, --keep-files ikke fjern utfiler ved feil\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=SIFFER bruk spesifisert antall siffer isteden for " #~ "2\n" #~ " -s, --quiet, --silent ikke skriv ut utfil-størrelser\n" #~ " -z, --elide-empty-files fjern tomme ut-filer\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Les standard inn hvis FIL er -. Hvert MØNSTER må være:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " HELTALL kopiér opp til, men ikke inkludert spesifisert " #~ "linjenummer\n" #~ " /REGEXP/[POSISJON] kopiér opp til, men ikke inkludert passende linje\n" #~ " %REGEXP%[POSISJON] hopp over fram til, men ikke inkludert passende " #~ "linje\n" #~ " {HELTALL} gjenta forrige mønster spesifisert antall ganger\n" #~ " {*} gjenta forrige mønster så mange ganger som mulig\n" #~ "\n" #~ "En linje-POSISJON er en «+» eller «-» fulgt av et positivt heltall.\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut valgte deler av linjer fra hver FIL til standard ut.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LISTE skriv bare ut disse oktettene\n" #~ " -c, --characters=LISTE skriv bare ut disse tegnene\n" #~ " -d, --delimiter=SKILLE bruk SKILLE isteden for TAB som skilletegn\n" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LISTE skriv bare ut disse feltene. Skriv også ut\n" #~ " linjer som ikke inneholder noen skilletegn,\n" #~ " med mindre flagget -s er spesifisert\n" #~ " -n (ignorert)\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited skriv ikke ut linjer som ikke inneholder " #~ "skilletegn\n" #~ " --output-delimiter=STRENG bruk STRENG som ut-skilletegn\n" #~ " forvalgt er å bruke inn-skilletegnet\n" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Bruk en og bare en av -b, -c eller -f. Hver LISTE er bygd opp av\n" #~ "et område, eller flere områder skilt av komma. Hver område er en av:\n" #~ "\n" #~ " N N'te oktett, tegn eller felt, telt fra 1\n" #~ " N- fra N'te oktett, tegn eller felt, til slutten av linjen\n" #~ " N-M fra N'te til M'te (inklusive) oktett, tegn eller felt\n" #~ " -M fra første til M'te (inklusive) oktett, tegn eller felt\n" #~ "\n" #~ "Uten FIL, eller når FIL er -, leses fra standard inn.\n" #~ msgid "invalid byte or field list" #~ msgstr "ugyldig byte- eller felt-liste" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "ugyldig breddespesifikasjon «%s»" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "ugyldig type-streng «%s»" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "%s er for stor" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "felt-nummer er null" #~ msgid "only one type of list may be specified" #~ msgstr "bare en liste-type kan spesifiseres" #~ msgid "the delimiter must be a single character" #~ msgstr "skilletegnet må være ett enkelt tegn" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "du må spesifisere en liste av bytes, tegn eller felt" #, fuzzy #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "et skilletegn kan bare spesifiseres når en opererer med felt" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "fjerning av linjer uten skilletegn er meningsløst dersom en ikke " #~ "opererer\n" #~ "\tmed felt" #~ msgid "missing list of fields" #~ msgstr "feltliste mangler" #~ msgid "missing list of positions" #~ msgstr "posisjonsliste mangler" #, fuzzy #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "flaggene --string og --check kan ikke brukes samtidig" #, fuzzy #~ msgid "time %s is out of range" #~ msgstr "%s: linjenummer utenfor tillatte verdier" #, fuzzy #~ msgid "cannot get current directory" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot change to directory %s" #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "cannot stat current directory (now %s)" #~ msgstr "kan ikke opprette katalog %s" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "kan ikke opprette midlertidig fil" #, fuzzy #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s: ugyldig antall sekunder" #, fuzzy #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s: ukjent flagg «%c%s»\n" #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Bruk: %s [FLAGG]... [FIL]...\n" #~ " eller: %s --traditional [FIL] [[+]POSISJON [[+]MERKE]]\n" #~ msgid "total" #~ msgstr "totalt" #, fuzzy #~ msgid "invalid maximum depth %s" #~ msgstr "ugyldig bredde: «%s»" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "Strengene som ble sammenlignet var «%s» og «%s»." #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "ugyldig gruppe" #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Stallman og David MacKenzie" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Konverter tabulatorer i hver FIL til mellomrom, skriv til standard ut.\n" #~ "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " #~ "inn.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial ikke konverter tabulatorer etter ikke-blanke tegn\n" #~ " -t, --tabs=TALL ha tabulatorer TALL tegn fra hverandre, ikke 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LISTE bruk komma-separert LISTE med tab-posisjoner\n" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "%s er for stor" #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "tabulatorstørrelse inneholder et ugyldig tegn" #~ msgid "tab size cannot be 0" #~ msgstr "tabulatorstørrelse kan ikke være 0" #~ msgid "tab sizes must be ascending" #~ msgstr "tabulatorstørrelser må være stigende" #, fuzzy #~ msgid "input line is too long" #~ msgstr "%s: fil for lang" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Mike Haertel og Paul Eggert" #, fuzzy #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "syntax error" #~ msgstr "standard feilkanal" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "feil i søk med regulært uttrykk" #, fuzzy #~ msgid "non-numeric argument" #~ msgstr "begrens argument" #, fuzzy #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #~ msgid "%s is too large" #~ msgstr "%s er for stor" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "%s: ugyldig mønster" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Bruk: %s [-SIFFER] [FLAGG]... [FIL]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Omformattér hvert avsnitt i FILEN(e), skriv til standard ut.\n" #~ "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " #~ "inn.\n" #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin behold innrykket til de første to linjene\n" #~ " -p, --prefix=STRENG sett kun sammen linjer som har STRENG som\n" #~ " forstavelse\n" #~ " -s, --split-only del opp lange linjer, men ikke fyll opp\n" #, fuzzy #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph innrykket til første linje er forskjellig fra " #~ "neste\n" #~ " -u, --uniform-spacing ett mellomrom mellom ord, to etter setninger\n" #~ " -w, --width=TALL maksimal linjelengde (ellers 75 kolonner)\n" #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "ugyldig bredde: «%s»" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Brekk om linjene i hver FIL (standard inn), skriv til standard ut\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes tell bytes istedet for kolonner\n" #~ " -s, --spaces brekk om ved mellomrom\n" #~ " -w, --width=BREDDE bruk BREDDE kolonner istedet for 80\n" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "ugyldig antall kolonner: «%s»" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "kan ikke endre eier og/eller gruppe for %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Bruk: %s [FLAGG]... SETT1 [SETT2]\n" #, fuzzy #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv de første 10 linjene av hver FIL til standard ut.\n" #~ "Med mer enn en FIL er angitt, skriv ut filnavnet før hver FIL.\n" #~ "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " #~ "inn.\n" #~ "\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent ikke skriv ut filnavnene først\n" #~ " -v, --verbose skriv alltid filnavnene først\n" #~ msgid "error reading %s" #~ msgstr "feil ved lesing av %s" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "ugyldig antall oktetter å sammenligne" #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: kan ikke søke til relativ posisjon %s%s" #, fuzzy #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: kan ikke søke til posisjon %s%s" #, fuzzy #~ msgid "cannot reposition file pointer for %s" #~ msgstr "kan ikke opprette katalog %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s er så stor at den ikke kan representeres" #~ msgid "number of lines" #~ msgstr "antall linjer" #~ msgid "number of bytes" #~ msgstr "antall bytes" #~ msgid "invalid number of lines" #~ msgstr "ugyldig antall linjer" #~ msgid "invalid number of bytes" #~ msgstr "ugyldig antall bytes" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "%s: ukjent flagg -- %c\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "kan ikke utføre ioctl på «%s»" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "kan ikke dele opp på mer enn én måte" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "kan ikke endre eier og/eller gruppe for %s" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "%s eksisterer men er ikke en katalog" #, fuzzy #~ msgid "invalid mode %s" #~ msgstr "ugyldig bredde: «%s»" #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "cannot set time stamps for %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "fork system call failed" #~ msgstr "blokkstørrelse" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "feil ved skriving til %s" #, fuzzy #~ msgid "invalid user %s" #~ msgstr "ugyldig bruker" #, fuzzy #~ msgid "invalid group %s" #~ msgstr "ugyldig gruppe" #, fuzzy #~ msgid "creating directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Bruk : %s [FLAGG]... [INN]... (uten -G)\n" #~ "eller: %s -G [FLAGG]... [INN [UT]]\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Mike Haertel og Paul Eggert" #, fuzzy #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "For hvert par av inn-linjer med like sammenføyningsfelt, skriv en linje " #~ "til\n" #~ "standard ut. Det forvalgte sammenføyningsfeltet er det første\n" #~ "feltet, avgrenset av «blanke» tegn. Dersom FIL1 eller FIL2 (ikke begge)\n" #~ "er -, leses det fra standard inn.\n" #~ "\n" #~ " -a SIDE skriv ut linjer som ikke kan parres som fra fil SIDE\n" #~ " -e TOM erstatt manglende inn-felt med TOM\n" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case ignorer forskjeller i store/små bokstaver ved\n" #~ " sammenligning av felt\n" #~ " -j FELT (avleggs) samme som «-1 FELT -2 FELT»\n" #~ " -j1 FELT (avleggs) samme som «-1 FELT»\n" #~ " -j2 FELT (avleggs) samme som «-2 FELT»\n" #~ " -o FORMAT følg FORMAT når utlinjen lages\n" #~ " -t TEGN bruk TEGN som feltseparator for inn og ut\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v SIDE som -a SIDE, men dropp sammenføyde ut-linjer\n" #~ " -1 FELT sammenføy ved dette FELTet fra fil 1\n" #~ " -2 FELT sammenføy ved dette FELTet fra fil 2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Dersom -t TEGN ikke er angitt, er «ledende blanke» feltseparator, og " #~ "ignoreres,\n" #~ "ellers er felt skilt av TEGN. Hvert FELT er et feltnummer telt fra 1.\n" #~ "FORMAT er en eller flere komma- eller blank-separerte spesifikasjoner, " #~ "der\n" #~ "hver er «SIDE.FELT» eller «0». Det forvalgte FORMATet skriver ut\n" #~ "sammenføyningsfeltet, resten av feltene fra FIL1 og resten av feltene " #~ "fra\n" #~ "FIL2, alle skilt med TEGN.\n" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "ugyldig felt-nummer: «%s»" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "ugyldig felt-spesifikator: «%s»" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "ugyldig filnummer i felt-spesifikator: «%s»" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "flertegnstabulator «%s»" #~ msgid "both files cannot be standard input" #~ msgstr "begge filene kan ikke være standard inn" #, fuzzy #~ msgid "%s: invalid signal" #~ msgstr "%s: ugyldig prosess-id" #, fuzzy #~ msgid "%s: invalid process id" #~ msgstr "%s: ugyldig mønster" #, fuzzy #~ msgid "invalid option -- %c" #~ msgstr "%s: ukjent flagg -- %c\n" #, fuzzy #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "cannot create link %s to %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "%s: cannot overwrite directory" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "lager filen «%s»\n" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s eksisterer men er ikke en katalog" #, fuzzy #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "no login name" #~ msgstr "%s: ugyldig nummer" #, fuzzy #~ msgid "%b %e %Y" #~ msgstr "%b %e %H:%M %Y" #, fuzzy #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M %Y" #, fuzzy #~ msgid "invalid line width: %s" #~ msgstr "ugyldig bredde: «%s»" #, fuzzy #~ msgid "invalid tab size: %s" #~ msgstr "ugyldig type-streng «%s»" #, fuzzy #~ msgid "invalid time style format %s" #~ msgstr "ugyldig argument %s for %s" #, fuzzy #~ msgid "unrecognized prefix: %s" #~ msgstr "ukjent flagg «-%c»" #, fuzzy #~ msgid "cannot open directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot determine device and inode of %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot compare file names %s and %s" #~ msgstr "Strengene som ble sammenlignet var «%s» og «%s»." #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -f, --fields=LISTE skriv bare ut disse feltene. Skriv også ut\n" #~ " linjer som ikke inneholder noen skilletegn,\n" #~ " med mindre flagget -s er spesifisert\n" #~ " -n (ignorert)\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper og Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Paul Rubin og David MacKenzie" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Bruk: %s [FLAGG] [FIL]...\n" #~ "eller: %s [FLAGG] --check [FIL]\n" #~ "Skriv eller sjekk %s-sjekksummer (%d-bit).\n" #~ "Dersom ingen FIL er spesifisert eller FIL er -, leses det fra standard " #~ "inn.\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary skriv binært til konsollenheten.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "De følgende to flaggene brukes kun ved sjekking av sjekksummer:\n" #~ " --status ikke skriv ut noe, statuskode angir resultat\n" #~ " -w, --warn advar mot feilformatterte MD5-sjekksum-linjer\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Summene blir beregnet som beskrevet i %s. Ved sjekking skal\n" #~ "inndata være tidligere utdata fra dette programmet. Forvalgt \n" #~ "modus er å skrive ut en linje med sjekksum, et tegn som indikerer\n" #~ "type («*» for binær, « » for tekst), og navnet til hver FIL\n" #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "%s: ingen riktig formatterte %s-sjekksumlinjer funnet" #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %lu: ukorrekt formattert %s-sjekksumlinje" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: FEIL ved åpning eller lesing\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: lesefeil" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: ingen riktig formatterte %s-sjekksumlinjer funnet" #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "ADVARSEL: %d av %d oppførte %s kunne ikke leses" #~ msgstr[1] "ADVARSEL: %d av %d oppførte %s kunne ikke leses" #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "ADVARSEL: %d av %d beregnede %s stemte IKKE overens" #~ msgstr[1] "ADVARSEL: %d av %d beregnede %s stemte IKKE overens" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "flaggene --binary og --text er meningsløse ved verifisering av sjekksummer" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "flagget --status har bare betydning ved sjekking av sjekksummer" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "flagget --warn har bare betydning ved sjekking av sjekksummer" #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "created directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "invalid mode" #~ msgstr "ugyldig antall" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Bruk: %s [FLAGG]... SETT1 [SETT2]\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "ugyldig startlinjenummer: «%s»" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "ugyldig startlinjenummer: «%s»" #, fuzzy #~ msgid "block special files not supported" #~ msgstr "blokkstørrelse" #, fuzzy #~ msgid "character special files not supported" #~ msgstr "tegn-posisjon er null" #, fuzzy #~ msgid "invalid major device number %s" #~ msgstr "ugyldig startlinjenummer: «%s»" #, fuzzy #~ msgid "invalid minor device number %s" #~ msgstr "ugyldig startlinjenummer: «%s»" #, fuzzy #~ msgid "invalid device %s %s" #~ msgstr "ugyldig argument %s for %s" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "ugyldig argument %s for %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "for mange argumenter" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "ugyldig argument %s for %s" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "kan ikke opprette midlertidig fil" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "kan ikke opprette katalog %s" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv hver fil til standard ut, med linjenummer lagt til.\n" #~ "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " #~ "inn.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STIL bruk STIL for nummerering\n" #~ " -d, --section-delimiter=CC bruk CC for å skille logiske sider\n" #~ " -f, --footer-numbering=STIL bruk STIL for å nummerere bunntekst\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STIL bruk STIL for å nummerere topptekst\n" #~ " -i, --page-increment=ANTALL linjenummerøkning for hver linje\n" #~ " -l, --join-blank-lines=ANTALL ANTALL tomme linjer som teller som en\n" #~ " -n, --number-format=FORMAT sett inn linjenummer etter FORMAT\n" #~ " -p, --no-renumber ikke begynn linjenumre på nytt ved " #~ "logiske\n" #~ " sider\n" #~ " -s, --number-separator=STRENG legg til STRENG etter (mulig) " #~ "linjenummer\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=ANTALL første linjenummer på hver logiske " #~ "side\n" #~ " -w, --number-width=ANTALL bruk ANTALL kolonner for " #~ "linjenummerering\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Forvalgt er -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC er\n" #~ "to skilletegn for å skille logiske sider, et manglende andretegn\n" #~ "impliserer «:». Bruk \\\\ for \\. STIL er en av:\n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a nummerer alle linjer\n" #~ " t nummerer bare ikke-tomme linjer\n" #~ " n nummerer ingen linjer\n" #~ " pREGEXP nummerer bare linjer som passer REGEXP\n" #~ "\n" #~ "FORMAT er et av følgende:\n" #~ "\n" #~ " ln venstrejustert, ingen ledende nuller\n" #~ " rn høyrejustert, ingen ledende nuller\n" #~ " rz høyrejustert, ledende nuller\n" #~ "\n" #, fuzzy #~ msgid "line number overflow" #~ msgstr "felt-nummer er null" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "ugyldig felt-nummer: «%s»" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "ugyldig antall" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "ugyldig filnummer i felt-spesifikator: «%s»" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "ugyldig startlinjenummer: «%s»" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "ugyldig linjenummer-økning: «%s»" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "ugyldig antall blanke linjer: «%s»" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "ugyldig linjenummer-feltbredde: «%s»" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "ugyldig linjenummer-økning: «%s»" #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "for mange argumenter" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Bruk: %s [FLAGG]... [FIL]...\n" #~ " eller: %s --traditional [FIL] [[+]POSISJON [[+]MERKE]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Skriv en entydig representasjon, oktale bytes forvalgt, av FIL\n" #~ "til standard ut. Dersom ingen FIL er spesifisert, eller FIL er -,\n" #~ "leses det fra standard inn.\n" #~ "\n" #, fuzzy #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Obligatoriske argmenter til lange flagg er obligatoriske også for korte.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=RADIX bestem hvordan filoffset'er skrives\n" #~ " -j, --skip-bytes=BYTES hopp over første BYTES fra hver fil\n" #, fuzzy #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BYTES begrens oppgaven til første BYTES fra hver " #~ "fil\n" #~ " -s, --strings[=BYTES] skriv ut strenger med minst BYTES grafiske " #~ "tegn\n" #~ " -t, --format=TYPE velg utformat(er)\n" #~ " -v, --output-duplicates ikke bruk * for å markere linjefjerning\n" #~ " -w, --width[=BYTES] skriv BYTES bytes per utlinje\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Før-POSIX-argumenter kan blandes, de er:\n" #~ " -a samme som -t a, velg navngitte tegn\n" #~ " -b samme som -t oC, velg oktalbytes\n" #~ " -c samme som -t c, velg ASCII-tegn eller backslash-notasjon\n" #~ " -d samme som -t u2, velg korte desimaler uten fortegn\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f samme som -t fF, velg flyttall\n" #~ " -h samme som -t x2, velg korte hexadesimale\n" #~ " -i samme som -t d2, velg korte desimaler\n" #~ " -l samme som -t d4, velg lange desimaler\n" #~ " -o samme som -t o2, velg korte oktaler\n" #~ " -x samme som -t x2, velg korte hexadesimaler\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "For eldre syntaks («second call format»), betyr POSISJON -j POSISJON. \n" #~ "MERKE er pseudoadressen til den første uskrevne byten, som økes mens\n" #~ "utskriften pågår. For POSISJON og MERKE, indikerer en 0x- eller \n" #~ "0X-forstavelse hexadesimalt tallformat. Endelser kan være . for oktal,\n" #~ "og b for blokker på 512 bytes.\n" #~ "\n" #~ "TYPE er laget av en eller flere av følgende:\n" #~ "\n" #~ " a et navngitt tegn\n" #~ " c ASCII-tegn eller backslash-notasjon\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[STØRRELSE] desimal med fortegn, STØRRELSE bytes per tall\n" #~ " f[STØRRELSE] flyttall, STØRRELSE bytes per tall\n" #~ " o[STØRRELSE] oktal, STØRRELSE bytes per tall\n" #~ " u[STØRRELSE] desimal uten fortegn, STØRRELSE bytes per tall\n" #~ " x[STØRRELSE] hexadesimal, STØRRELSE bytes per tall\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "STØRRELSE er et tall. For TYPE lik d, o, u eller x, kan STØRRELSE også " #~ "være\n" #~ "C for sizeof(char), S for sizeof(short), I for sizeof(int) eller L for \n" #~ "sizeof(long). Når TYPE er f, kan STØRRELSE være F for sizeof(float), \n" #~ "D for sizeof(double) eller L for sizeof(long double).\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "RADIX er d for desimal, o for oktal, x for hexadesimal eller n for " #~ "ingen.\n" #~ "BYTES er hexadesimal med 0x- eller 0X-prefix, multipliseres med 512\n" #~ "med endelse b, med 1024 med endelse k og med 1048576 med endelse m. \n" #~ "En z-endelse for en hvilken som helst type viser skrivbare tegn til " #~ "slutten\n" #~ "av hver linje av utskriften. " #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "-s uten et tall impliserer 3. -w uten et tall impliserer 32.\n" #~ "Forvalgt er at od bruker -A o -t d2 -w 16.\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "ugyldig type-streng «%s»" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "ugyldig type-streng «%s»;\n" #~ "dette systemet støtter ikke en %lu-byte heltallstype" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "ugyldig type-streng «%s»;\n" #~ "dette systemet støtter ikke en %lu-byte flyttallstype" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "ugyldig tegn «%c» i type-streng «%s»" #~ msgid "cannot skip past end of combined input" #~ msgstr "kan ikke hoppe til bak slutten av kombinert inndata" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "ugyldig ut-adresse radix «%c»; det må være ett av tegnene [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "ingen type kan spesifiseres ved dumping av strenger" #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "kompatibilitetsmodus støtter maksimum tre argumenter" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "advarsel: ugyldig bredde %lu; bruker %d istedet" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" bredde=%d\n" #~ msgid "standard input is closed" #~ msgstr "standard inn er lukket" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv linjer som består av de sekvensielt tilsvarende linjene fra hver\n" #~ "FIL separert med tabulatorer til standard ut.\n" #~ "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " #~ "inn.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LISTE bruk tegn fra LISTE istedet for tabulatorer\n" #~ " -s, --serial ta en fil om gangen i steder for i parallell\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "ugyldig tegn «%c» i type-streng «%s»" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Jay Lepreau og David MacKenzie" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "ingen filer kan spesifiseres når flagget --string brukes" #, fuzzy #~ msgid "Roland Huebner" #~ msgstr "Pete TerMaat og Roland Huebner" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "«--pages=FØRSTE_SIZE[:SISTE_SIDE]» mangler argument" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "ugyldig type-streng «%s»" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "«-l SIDE_LENGDE» igyldig antall linjer: «%s»" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "«-N TALL» ugyldig start-linjenummer: «%s»" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "«-o MARG» ugyldig linje-offset: «%s»" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "«-w SIDE_BREDDE» igyldig antall tegn: «%s»" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "«-W SIDE_BREDDE» ugyldig antall tegn: «%s»" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Kan ikke spesifisere antall kolonner når det skrives i parallell." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Kan ikke spesifisere både skriving i kryss og skriving i parallell" #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "«-%c» ekstra tegn eller ugyldig tall i argumentet: «%s»" #~ msgid "page width too narrow" #~ msgstr "sidebredde for smal" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "felt-nummer er null" #, fuzzy #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Paginér eller kolumnér FIL(er) for utskrift.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +FØRSTE_SIDE[:SISTE_SIDE], --pages=FØRSTE_SIDE[:SISTE_SIDE]\n" #~ " begynn [stopp] utskrift med side FØRSTE_[SISTE_]SIDE\n" #~ " -KOLONNE, --columns=COLONNE\n" #~ " lag KOLONNE-kolonners utskrift og skriv kolonner " #~ "nedover,\n" #~ " med mindre -a brukes. Balansér antall linjer i\n" #~ " kolonnene på hver side\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across skriv kolonner på tvers isteden for nedover, brukes " #~ "sammen\n" #~ " med -KOLONNE\n" #~ " -c, --show-control-chars\n" #~ " bruk hatt-notasjon (^G) og oktal backslah-notasjon\n" #~ " -d, --double-space\n" #~ " bruk dobbel linjeavstand\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMAT\n" #~ " bruk FORMAT for topptekst-dato\n" #~ " -e[TEGN[BREDDE]], --expand-tabs[=TEGN[BREDDE]]\n" #~ " ekspander inn-TEGN (TAB) til tabulator-BREDDE (8)\n" #~ " -F, -f, --form-feed\n" #~ " bruk sideskift isteden for linjeskift for å separere\n" #~ " sider. (ved en 3-linjers topptekst med -F eller en\n" #~ " 5-linjers topptekst og bunntekst uten -F)\n" #, fuzzy #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h TOPPTEKST, --header=TOPPTEKST\n" #~ " bruk en sentrert TOPPTEKST isteden for filnavn i\n" #~ " toppteksten. -h \"\" skriver en blank linje, ikke " #~ "bruk\n" #~ " -h\"\"\n" #~ " -i[TEGN[BREDDE], --output-tabs[=TEGN[BREDDE]]\n" #~ " erstatt mellomrom med TEGN (TAB) til tabulator-BREDDE" #~ "(8)\n" #~ " -J, --join-lines flett sammen hele linjer. Skrur av -W-linje-" #~ "trunkering,\n" #~ " ingen kolonnejustering, -S[STRENG] setter skilletegn\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l SIDE_LENDGE, --length=SIDE_LENDGE\n" #~ " setter sidelengden til SIDE_LENDGE (66) linjer\n" #~ " (forvalgt antall linjer med tekst er 56, og med -F " #~ "63)\n" #~ " -m, --merge skriv alle filer i parallell, en i hver kolonne,\n" #~ " trunker linjer, men flett sammen hele linjer med -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SKILL[SIFFER]], --number-linjes[=SKILL[SIFFER]]\n" #~ " antall linjer, bruk SIFFER (5) siffer, så SKILL " #~ "(TAB),\n" #~ " forvalgt starter telling med første linje av innfil\n" #~ " -N NUMMER, --first-linje-number=NUMMER\n" #~ " start telling med NUMMER ved første linje av første\n" #~ " side skrevet ut (se +FØRSTE_SIDE)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARG, --indent=MARG\n" #~ " posisjonér hver linje med MARG (0) mellomrom,\n" #~ " påvirker ikke -w eller -W. MARG vil adderes til " #~ "SIDE_BREDDE\n" #~ " -r, --no-file-warnings\n" #~ " ikke advar når fil ikke kan åpnes\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[TEGN], --separator[=CHAR]\n" #~ " skill kolonner med et enkelt tegn, forvalgt TEGNS\n" #~ " er TAB-tegnet med -w og ingen tegn ved -W\n" #~ " -s[TEGN] skrur av linjetrunkering av alle 3 kolonne-\n" #~ " flaggene (-KOLONNE|-a -KOLONNE|-m) hvis ikke -w er " #~ "satt\n" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " -S[STRENG], --sep-string[=STRENG]\n" #~ " skill kolonner med en STRENG. Ikke bruk -S \"STRENG" #~ "\".\n" #~ " Bare -S: Ikke noe skilletegn (samme som -S\"\").\n" #~ " Uten -S: Fovalgt skilletegn TAB med -J og SPACE\n" #~ " ellers (samme som -S\" \"), ingen effekt på kolonne-" #~ "flagg\n" #~ " -t, --omit-header ikke ta med topptekst og bunntekst\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " ikke ta med topp- og bunntekst, eliminer evt. " #~ "paginering\n" #~ " av sideskift satt i inn-filer\n" #~ " -v, --show-non-printing\n" #~ " bruk backslash-notasjon\n" #~ " -w SIDEBREDDE, --with=SIDEBREDDE\n" #~ " sett sidebredde til SIDEBREDDE (72) tegn for\n" #~ " flerkolonners tekstutskrift. -s[tegn] skrur av (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W SIDEBREDDE, --page-width=SIDEBREDDE\n" #~ " sett sidebredde til SIDEBREDDE (72) tegn\n" #~ " trunkér linjer hvis ikke -J er satt. Ingen " #~ "påvirkning\n" #~ " med -S eller -s\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-T impliseres av -l nn når nn <= 10 eller <= 3 med -F. Dersom FIL ikke\n" #~ "er oppgitt, eller når FIL er -, leses det fra standard inn.\n" #, fuzzy #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "ugyldig tegn-klasse «%s»" #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "ugyldig bredde: «%s»" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "ugyldig breddespesifikasjon «%s»" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: ugyldig feltspesifikasjon «%s»" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (for regexp «%s»)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Bruk : %s [FLAGG]... [INN]... (uten -G)\n" #~ "eller: %s -G [FLAGG]... [INN [UT]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut en permutert indeks, inkludert kontekst, av ordene i innfilene\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference skriv ut automatisk genererte " #~ "referanser\n" #~ " -C, --copyright vis Copyright og kopieringsbetingelser\n" #~ " -G, --traditional vær mer som System Vs «ptx»\n" #~ " -F, --flag-truncation=STRENG bruk STRENG for å markere " #~ "linjetrunkering\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=STRENG makronavn å bruke istedenfor «xx»\n" #~ " -O, --format=roff generer utskrift som roff-direktiver\n" #~ " -R, --right-side-refs plassér referansene på høyre side, ikke\n" #~ " telt med i -w\n" #~ " -S, --sentence-regexp=REGEXP for slutten av linjer eller slutten av\n" #~ " setninger\n" #~ " -T, --format=tex generer utskrift som TeX-direktiver\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP bruk REGEXP for å treffe hvert " #~ "nøkkelord\n" #~ " -b, --break-file=FIL tegn for orddeling i denne FILen\n" #~ " -f, --ignore-case gjør om små bokstaver til store for " #~ "sortering\n" #~ " -g, --gap-size=TALL størrelse på mellomrom mellom spalter i " #~ "utfelt\n" #~ " -i, --ignore-file=FIL les liste over ord som skal ignoreres " #~ "fra FIL\n" #~ " -o, --only-file=FIL les liste over ord som *ikke* skal " #~ "ignoreres\n" #~ " fra FIL\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references første felt av hver linje er en " #~ "referanse\n" #~ " -t, --typeset-mode - ikke implementert -\n" #~ " -w, --width=BREDDE utskriftbredde for spalter, eksklusive\n" #~ " referanser\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Ved ingen FIL eller hvis FIL er -, leses det fra standard inn. «-F /» " #~ "er\n" #~ "forvalgt.\n" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "ugyldig bredde: «%s»" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "for mange ikke-flagg-argumenter" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "%s: descend into directory %s? " #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "removed directory: %s\n" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot remove directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "for mange argumenter" #, fuzzy #~ msgid "removing directory, %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "no command specified" #~ msgstr "kun ett argument kan spesifiseres" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "%s: linjenummer utenfor tillatte verdier" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Bruk : %s [FLAGG]... [INN]... (uten -G)\n" #~ "eller: %s -G [FLAGG]... [INN [UT]]\n" #, fuzzy #~ msgid "invalid floating point argument: %s" #~ msgstr "ugyldig startlinjenummer: «%s»" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "ugyldig type-streng «%s»" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "for mange %%-konverteringsspesifikasjoner i suffiks" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "ugyldig type-streng «%s»" #, fuzzy #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "ingen type kan spesifiseres ved dumping av strenger" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "kan ikke utelate både bruker og gruppe" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "kan ikke utelate både bruker og gruppe" #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "stat feilet" #, fuzzy #~ msgid "%s: error writing at offset %s" #~ msgstr "feil ved skriving til %s" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "feil ved lukking av fil" #, fuzzy #~ msgid "%s: file too large" #~ msgstr "%s: fil for lang" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "stat feilet" #, fuzzy #~ msgid "%s: invalid file type" #~ msgstr "%s: ugyldig antall linjer" #, fuzzy #~ msgid "%s: error truncating" #~ msgstr "%s: fil trunkert" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "stat feilet" #, fuzzy #~ msgid "%s: renamed to %s" #~ msgstr "%s: lesefeil" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s: fil for lang" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s: fil for lang" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s: fil for lang" #, fuzzy #~ msgid "%s: invalid number of passes" #~ msgstr "%s: ugyldig antall sekunder" #, fuzzy #~ msgid "%s: invalid file size" #~ msgstr "%s: ugyldig antall linjer" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Bruk : %s [FLAGG]... [INN]... (uten -G)\n" #~ "eller: %s -G [FLAGG]... [INN [UT]]\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut valgte deler av linjer fra hver FIL til standard ut.\n" #~ "\n" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "ugyldig antall" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "ugyldig bredde: «%s»" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "ekstra operator «%s»" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "ugyldig felt-nummer: «%s»" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Skriv en sortert konkatenering av alle FIL(er) til standard ut.\n" #~ "\n" #~ "Sorteringsflagg:\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ignorer ledende blanke\n" #~ " -d, --dictionary-order behandle bare blanke og alfanumeriske tegn\n" #~ " -f, --ignore-case konverter små bokstaver til store\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort sammenlign i henhold til vanlige " #~ "nummériske\n" #~ " verdier\n" #~ " -i, --ignore-nonprinting behandle bare skrivbare tegn\n" #~ " -M, --month-sort sammenlign (ukjent) < 'JAN' < ... < 'DEC'\n" #~ " -n, --numeric-sort sammenlign i henhold til nummériske " #~ "verdier\n" #~ " -r, --reverse reversér resultatet av sammenligningene\n" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "Andre flagg:\n" #~ "\n" #~ " -c, --check sjekk om inndata er sortert; ikke sortér\n" #~ " -k, --key=POS1[,POS2] start en nøkkel ved POS1, avslutt ved POS2 " #~ "(fra 1)\n" #~ " -m, --merge flett sammen allerede sorterte filer; ikke " #~ "sortér\n" #~ " -o, --output=FIL skriv resultater til FIL isteden for standard " #~ "ut\n" #~ " -s, --stable stabiliser sortering ved å slå av siste-" #~ "utvei-\n" #~ " sammenligning\n" #~ " -S, --buffer-size=STØRR bruk STØRRelse stort minne-buffer\n" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SKILL bruk SKILL isteden for ikke- til -tomrom-" #~ "overgang\n" #~ " -T, --temporary-directory=KAT bruk KATalog for midlertidige filer, " #~ "ikke\n" #~ " $TMPDIR eller %s. Kan gjentas for å\n" #~ " spesifisere flere kataloger\n" #~ " -u, --unique med -c: sjekk for streng sortering\n" #~ " ellers, bare skriv ut det første av to " #~ "like\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated avslutt linjer med en 0-oktett, ikke " #~ "linjeskift\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS er F[.C][OPTS], hvor F er feltnummeret og C er tegnposisjonen\n" #~ "i feltet. OPTS er en eller flere enbokstav-sorteringflagg, som\n" #~ "overstyrer globale sorteringsflagg for den nøkkelen. Hvis ingen nøkkel\n" #~ "er oppgitt, bruk hele linjen som nøkkel.\n" #~ "\n" #~ "STØRRELSE kan være fulgt av de følgende multiplikator-endelsene:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% av minne, b 1, K 1024 (forvalgt) og så videre for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "Dersom ingen FIL er oppgitt eller FIL er -, leses det fra standard inn.\n" #~ "\n" #~ "*** ADVARSEL ***\n" #~ "Lokalet spesifisert av miljøet påvirker sorteringsrekkefølge.\n" #~ "Sett LC_ALL=C for å få den tradisjonelle sorteringsrekkefølgen som\n" #~ "bruker negative oktett-verdier.\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "feil ved skriving til %s" #~ msgid "cannot create temporary file" #~ msgstr "kan ikke opprette midlertidig fil" #~ msgid "open failed" #~ msgstr "åpning av fil feilet" #, fuzzy #~ msgid "fflush failed" #~ msgstr "feil ved lukking av fil" #~ msgid "close failed" #~ msgstr "feil ved lukking av fil" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "åpning av fil feilet" #, fuzzy #~ msgid "couldn't execute %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "kan ikke opprette midlertidig fil" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "kan ikke opprette midlertidig fil" #, fuzzy #~ msgid "couldn't execute %s -d" #~ msgstr "kan ikke opprette katalog %s" #~ msgid "write failed" #~ msgstr "feil ved skriving" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "kan ikke opprette katalog %s" #~ msgid "stat failed" #~ msgstr "stat feilet" #~ msgid "read failed" #~ msgstr "feil ved lesing" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: uorden: " #~ msgid "standard error" #~ msgstr "standard feilkanal" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: ugyldig feltspesifikasjon «%s»" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: ugyldig tall på starten av «%s»" #~ msgid "invalid number after `-'" #~ msgstr "ugyldig tall etter «-»" #~ msgid "invalid number after `.'" #~ msgstr "ugyldig tall etter «.»" #~ msgid "stray character in field spec" #~ msgstr "ugyldig tegn i feltspesifikasjon" #~ msgid "invalid number at field start" #~ msgstr "ugyldig tall i feltstart" #~ msgid "field number is zero" #~ msgstr "felt-nummer er null" #~ msgid "character offset is zero" #~ msgstr "tegn-posisjon er null" #~ msgid "invalid number after `,'" #~ msgstr "ugyldig tall etter «,»" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "ekstra operator «%s» ikke tillatt med -c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Bruk: %s [FLAGG] [INPUT [PREFIKS]]\n" #, fuzzy #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv stykker av fast størrelse av INPUT til PREFIKSaa, PREFIKSab, ...;\n" #~ "Forvalgt PREFIKS er `x'. Dersom ingen INPUT er spesifisert, eller INPUT " #~ "er -,\n" #~ "leses det fra standard inn.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -ANTALL samme som -l ANTALL\n" #~ " -b, --bytes=STØRRELSE skriv STØRRELSE bytes i hver utfil\n" #~ " -C, --line-bytes=STØRRELSE skriv maksimum STØRRELSE bytes med linjer " #~ "per\n" #~ " utfil\n" #~ " -l, --lines=ANTALL skriv ANTALL linjer i hver utfil\n" #~ " --verbose skriv en diagnostikk til standard error " #~ "rett\n" #~ " før hver utfil åpnes\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "lager filen «%s»\n" #~ msgid "cannot split in more than one way" #~ msgstr "kan ikke dele opp på mer enn én måte" #, fuzzy #~ msgid "%s: invalid suffix length" #~ msgstr "%s: ugyldig antall linjer" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: ugyldig antall bytes" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: ugyldig antall linjer" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "%s: tall «%.*s» for stort" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "ugyldig antall linjer" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: ukjent flagg «%c%s»\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s: ugyldig mønster" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "ugyldig backslash-beskyttelse ved slutten av streng" #, fuzzy #~ msgid "cannot read file system information for %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "only one device may be specified" #~ msgstr "kun ett argument kan spesifiseres" #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "flaggene --string og --check kan ikke brukes samtidig" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "ugyldig argument %s for %s" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "flertydig argument %s for %s" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "ugyldig bredde: «%s»" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "ugyldig linjenummer-økning: «%s»" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "kan ikke utelate både bruker og gruppe" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "kan ikke utelate både bruker og gruppe" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "kan ikke utelate både bruker og gruppe" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Kayvan Aghaiepour og David MacKenzie" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Skriv ut sjekksum og block-antall for hver FIL.\n" #~ "\n" #~ " -r bruk BSD-sum-algoritme, bruk 1K-blokker\n" #~ " -s, --sysv bruk SystemV-sum-algoritme, bruk 512 byte-blokker\n" #, fuzzy #~ msgid "ignoring all arguments" #~ msgstr "for mange argumenter" #~ msgid " --help display this help and exit\n" #~ msgstr " --help vis denne hjelpteksten og avslutt\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version vis programversjon og avslutt\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Rapportér feil til ." #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv hver FIL til standard ut, siste linje først.\n" #~ "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " #~ "inn.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before føy til separator før istedet for etter\n" #~ " -r, --regex tolk separatoren som et regulært uttrykk\n" #~ " -s, --separator=STRENG bruk STRENG som separator istedet for " #~ "linjeskift\n" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "feil ved lukking av fil" #, fuzzy #~ msgid "record too large" #~ msgstr "%s: fil for lang" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "kan ikke opprette midlertidig fil" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "kan ikke utføre ioctl på «%s»" #, fuzzy #~ msgid "%s: write error" #~ msgstr "feil ved skriving" #~ msgid "separator cannot be empty" #~ msgstr "separatoren kan ikke være tom" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv de siste %d linjene av hver FIL til standard ut.\n" #~ "Med mer enn én FIL, innled hver med en topptekst med filnavnet.\n" #~ "Med ingen FILer eller hvis FIL er -, les fra standard inn.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry fortsett å prøv å åpne en fil, selv om den\n" #~ " er utilgjengelig når tail starter eller hvis " #~ "den\n" #~ " blir utilgjengelig senere -- bare nyttig med -" #~ "f\n" #~ " -c, --bytes=N skriv ut de siste N oktettene\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " skriv ut mer data etter hvert som filen " #~ "vokser;\n" #~ " -f, --follow og --follow=descriptot er de " #~ "samme\n" #~ " -F samme som --follow=name --retry\n" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N skriv ut de siste N linjene, isteden for de " #~ "siste %d\n" #~ " --max-unchanged-stats=N\n" #~ " med --follow=name, åpne en FIL på nytt hvis " #~ "den\n" #~ " ikke har endret størrelse etter N (forvalgt %" #~ "d)\n" #~ " runder for å se om den har blitt fjernet " #~ "eller\n" #~ " skiftet navn\n" #~ " (dette er det vanlige tilfellet for roterte\n" #~ " logg-filer\n" #, fuzzy #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID med -f, terminer etter at prosess PID dør\n" #~ " -q, --quiet, --silent ikke skriv ut topptekster med filnavn\n" #~ " -s, --sleep-interval=S med -f, hver runde varer circa S (forvalgt 1) " #~ "sekunder\n" #~ " -v, --verbose skriv alltid topptekster med filnavn\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Hvis det første tegnet av N (antall oktetter eller linjer) er en «+»,\n" #~ "begynn å skriv ut med det Nte elementet fra starten av hver linje, " #~ "ellers\n" #~ "skriv de siste N elementene i filen. N kan ha multiplikatorendelse:\n" #~ "b for 512, k for 1024, m for 1048576 (1 Meg). " #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Med --follow (-f), vil tail forvalgt følge fildeskriptoren, som betyr\n" #~ "at selv om den tail'ede filen skifter navn vil tail fortsatt følge den" #, fuzzy #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Denne forvalgte oppførselen er ikke ønskelig når det du virkelige vil\n" #~ "gjøre er å følge selve filnavnet og ikke fildeskriptoren (f.eks. logg-\n" #~ "rotering). Bruk --follow=name i det tilfellet. Dette fører til at\n" #~ "tail følger den navngitte filen ved å gjenåpne filen periodisk for å se " #~ "om\n" #~ "den har blitt fjernet og gjenopprettet av et annet program.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "lukker %s (fd=%d)" #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: kan ikke søke til relativ posisjon %s%s" #, fuzzy #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: kan ikke søke til posisjon %s%s relativ til slutten" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "«%s» har blitt utilgjengelig" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "«%s» har blitt erstattet av en ikke-tailbar fil; gir opp dette filnavnet" #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "«%s» har blitt utilgjengelig" #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "«%s» har blitt opprettet. Følger etter slutten av ny fil" #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "«%s» har blitt erstattet. Følger etter slutten av ny fil" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "kan ikke endre eier og/eller gruppe for %s" #~ msgid "%s: file truncated" #~ msgstr "%s: fil trunkert" #~ msgid "no files remaining" #~ msgstr "ingen filer igjen" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "%s: kan ikke følge slutten av en fil av denne typen; gir opp denne" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "%s er for stor" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: ugyldig maksimum antall av uendrete resultat av kall til stat() " #~ "mellom kall til open()" #~ msgid "%s: invalid PID" #~ msgstr "%s: ugyldig prosess-id" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: ugyldig antall sekunder" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "advarsel: --retry er nyttig kun når en følger ved navn" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "advarsel: PID ignoreres; --pid=PID er bare nyttid når man følger" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "advarsel: --pid=PID er ikke støttet på dette systemet" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "kan ikke opprette midlertidig fil" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Når ingen FIL eller når FIL er -, les fra standard inn.\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "flertydig argument %s for %s" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "ugyldig antall" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "Ukjent systemfeil" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "Ukjent systemfeil" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "for mange argumenter" #, fuzzy #~ msgid "Jim Kingdon" #~ msgstr "Mike Haertel og Paul Eggert" #, fuzzy #~ msgid "creating %s" #~ msgstr "lager filen «%s»\n" #, fuzzy #~ msgid "cannot touch %s" #~ msgstr "kan ikke utføre ioctl på «%s»" #, fuzzy #~ msgid "cannot specify times from more than one source" #~ msgstr "kan ikke dele opp på mer enn én måte" #, fuzzy #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Bruk: %s [FLAGG]... SETT1 [SETT2]\n" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Oversett, klem sammen og/eller fjern tegn fra standard inn,\n" #~ "skriv ut til standard ut.\n" #~ "\n" #~ " -c, --complement først komplementer SETT1\n" #~ " -d, --delete slett tegn i SETT1, ikke oversett\n" #~ " -s, --squeeze-repeats erstatt rekke av tegn med ett\n" #~ " -t, --truncate-set1 forkort først SETT1 til lengden til SETT2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "SETT er spesifisert med strenger av tegn. De fleste tegnene står for " #~ "seg\n" #~ "selv. Følgende sekvenser tolkes spesielt:\n" #~ "\n" #~ " \\NNN tegn med oktalverdi NNN (1 til 3 oktale siffer)\n" #~ " \\\\ backslash\n" #~ " \\a beep\n" #~ " \\b backspace\n" #~ " \\f sideskift (FF)\n" #~ " \\n linjeskift (LF)\n" #~ " \\r vognretur (CR)\n" #~ " \\t horisontal tabulator\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v vertikal tabulator\n" #~ " TEGN1-TEGN2 alle tegn fra TEGN1 til TEGN2, stigende\n" #~ " [TEGN1-TEGN2] samme som TEGN1-TEGN2, dersom begge sett bruker dette\n" #~ " [TEGN*] i SETT2, kopier av TEGN inntil samme lengde til SETT1\n" #~ " [TEGN*ANT] ANT kopier av TEGN, ANT er oktal, hvis det begynner med " #~ "0\n" #~ " [:alnum:] alle bokstaver og tall\n" #~ " [:alpha:] alle bokstaver\n" #~ " [:blank:] alle horisontale blanke tegn\n" #~ " [:cntrl:] alle kontrolltegn\n" #~ " [:digit:] alle siffer\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] alle skrivbare tegn, unntatt blanke tegn\n" #~ " [:lower:] alle små bokstaver\n" #~ " [:print:] alle skrivbare tegn, inkludert blanke tegn\n" #~ " [:punct:] alle tegnsettingstegn\n" #~ " [:space:] alle horisontale og vertikale blanke tegn\n" #~ " [:upper:] alle store bokstaver\n" #~ " [:xdigit:] alle hexadesimale siffer\n" #~ " [=TEGN=] alle tegn som er like TEGN\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Oversettelse skjer dersom -d ikke er gitt, og både SETT1 og SETT2 er " #~ "der.\n" #~ "-t kan bare bli brukt ved oversetting. SETT2 blir utvidet til lengden av\n" #~ "SETT1 ved å repetere dets siste tegn som nødvendig. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Tegn til overs i \n" #~ "SETT2 ignoreres. Bare [:lower:] og [:upper:] er garantert å ekspandere " #~ "i\n" #~ "stigende rekkefølge; brukt i SETT2 ved oversetting kan de bare brukes i " #~ "par\n" #~ "for å angi oversetting fra store/små til små/store bokstaver." #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ " \n" #~ "-s bruker SETT1 hvis det ikke er oversetting eller sletting; ellers " #~ "bruker \n" #~ "sammenklemming SETT2 og skjer etter oversetting eller sletting.\n" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "advarsel: den flertydige oktal-beskyttelsen \\%c%c%c blir tolket som \n" #~ "\t2-byte-sekvensen \\0%c%c, «%c»" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "rekke-sluttpunkt i «%s-%s» er i omvendt sorteringsrekkefølge" #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "ugyldig gjentagelsesteller «%s» i [c*n]-konstruksjon" #~ msgid "missing character class name `[::]'" #~ msgstr "mangler tegn-klassenavn «[::]»" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "mangler ekvivalensklassetegn «[==]»" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "ugyldig tegn-klasse «%s»" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: ekvivalensklasseoperanden må være et enkelt tegn" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "ugyldig tegn i feltspesifikasjon" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "gjentagelseskonstruktet [c*] kan ikke opptre i streng1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "kun ett [c*] gjentagelseskonstrukt kan opptre i streng2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "[=c=]-uttrykk kan ikke opptre i streng2 under oversetting" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "når sett1 ikke blir forkortet, kan ikke streng2 være tom" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "når det oversettes med komlementerte tegnklasser\n" #~ "må streng2 mappe alle tegn i domenet til én" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "ved oversetting er de eneste tegnklassene som kan være i streng2\n" #~ "«upper» og «lower»" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "[c*]-konstruktet kan bare opptre i streng2 ved oversetting" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "to strenger må være gitt ved oversetting" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "kun én streng kan oppgis når det slettes uten sammenklemming av " #~ "gjentagelser" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "feilplassert [:upper:]- og/eller [:lower:]-konstruksjon" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Bruk: %s [FLAGG] [FIL]\n" #~ "Skriv en fullstendig sortert liste konsistent med den delvise " #~ "sorteringen\n" #~ "i FIL. Hvis ingen FIL eller hvis FIL er -, leses fra standard inn.\n" #~ "\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: inndata inneholder en løkke:" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: inndata inneholder en løkke:" #, fuzzy #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Bruk: %s [FLAGG] [FIL]...\n" #, fuzzy #~ msgid "cannot get system name" #~ msgstr "kan ikke opprette midlertidig fil" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Konverter mellomrom i hver FIL til tabulatorer, skriv ut til standard " #~ "ut.\n" #~ "Dersom ingen FIL er spesifisert, eller FIL er -, leses det fra standard " #~ "inn.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all konverter alle blanke tegn, istedet for bare " #~ "innledende\n" #~ " -t, --tabs=ANTALL ha tabulatorer ANTALL tegn fra hverandre istedet " #~ "for 8\n" #~ " -t, --tabs=LISTE bruk komma-separert LISTE med tabulatorposisjoner.\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "%s er for stor" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Bruk: %s [FLAGG]... [INN [UT]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Fjern alle bortsett fra én identiske linjer fra INN\n" #~ "(eller standard inn), og skriv til UT (eller standard ut).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count begynn linjer med antall forekomster\n" #~ " -d, --repeated skriv bare ut linjer det er flere av\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=delimit-method] skriv alle linjer det er flere av\n" #~ " delimit-method={none(forvalgt),prepend,separate}\n" #~ " -f, --skip-fields=N ikke sammenlign de første N feltene\n" #~ " -i, --ignore-case ignorer forskjeller med store/små bokstaver\n" #~ " -s, --skip-chars=N ikke sammenlign de første N tegnene\n" #~ " -u, --unique skriv bare ut unike linjer\n" #, fuzzy #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N ikke sammenlign mer enn N tegn per linje\n" #~ " -N samme som -f N\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Et felt er en rekke blanke tegn, så andre tegn. Felt hoppes over før " #~ "tegn.\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "for mange argumenter" #~ msgid "invalid number of fields to skip" #~ msgstr "ugyldig antall felt å hoppe over" #~ msgid "invalid number of bytes to skip" #~ msgstr "ugyldig antall oktetter å hoppe over" #, fuzzy #~ msgid "invalid number of bytes to compare" #~ msgstr "ugyldig antall oktetter å sammenligne" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "å skrive alle dupliserte linjer *og* gjentagelsesantall er meningsløst" #, fuzzy #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "cannot unlink %s" #~ msgstr "kan ikke utføre ioctl på «%s»" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "ugyldig bruker" #~ msgstr[1] "ugyldig bruker" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Bruk: %s [FLAGG]... [FIL]...\n" #, fuzzy #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Skriv ut antall linjer, ord og bytes for hver FIL, og en total-linje\n" #~ "dersom mer enn én FIL er spesifisert. Dersom ingen FIL er spesifisert,\n" #~ "eller FIL er -, leses det fra standard inn.\n" #~ " -c, --bytes skriv ut antall oktetter\n" #~ " -m, --chars skriv ut antall tegn\n" #~ " -l, --lines skriv ut antall linjer.\n" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length skriv ut lengden av den lengste linjen.\n" #~ " -w, --words skriv ut antall ord\n" #, fuzzy #~ msgid "IDLE" #~ msgstr "FEIL" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Bruk: %s [FLAGG]... FIL1 FIL2\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "kan ikke endre eier og/eller gruppe for %s" #, fuzzy #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Bruk: %s [FIL]...\n" #~ "eller: %s [FLAGG]\n" #, fuzzy #~ msgid "program error" #~ msgstr "lesefeil" #~ msgid "block size" #~ msgstr "blokkstørrelse" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "kan ikke endre eier og/eller gruppe for %s" #, fuzzy #~ msgid "cannot chdir to directory %s" #~ msgstr "kan ikke skifte til katalog, %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "kan ikke finne login-gruppen til en numerisk bruker-ID" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Dette er fri programvare. Se kildekoden for kopieringsbetingelser.\n" #~ "Det er ingen garantier, ikke engang for SALGBARHET eller EGNETHET\n" #~ "TIL NOEN SPESIELL OPPGAVE.\n" #~ msgid "too few arguments" #~ msgstr "for få argumenter" #, fuzzy #~ msgid "closing standard output" #~ msgstr "standard ut" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "ugyldig antall" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Bruk: %s [FLAGG]... VENSTRE_FIL HØYRE_FIL\n" #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #, fuzzy #~ msgid "missing file arguments" #~ msgstr "for få argumenter" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "%s eksisterer men er ikke en katalog" #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "advarsel: --pid=PID er ikke støttet på dette systemet" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp og David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: «+» eller «-» ventet etter skilletegn" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "for mange ikke-flagg-argumenter" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "ingen filer kan spesifiseres når flagget --string brukes" #, fuzzy #~ msgid "cannot get time of day" #~ msgstr "kan ikke dele opp på mer enn én måte" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin og David MacKenzie" #, fuzzy #~ msgid "unrecognized option %s=%s" #~ msgstr "ukjent flagg «-%c»" #, fuzzy #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "Ved -wTALL kan «w» utelates.\n" #, fuzzy #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=STØRRELSE skriv ut første STØRRELSE bytes\n" #~ " -n, --lines=ANTALL skriv ut første ANTALL tegn istedet for 10\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "STØRRELSE kan ha en multiplikatorendelse: b for 512, k for 1K eller\n" #~ " m for 1 Meg.\n" #~ msgid "unrecognized option `-%c'" #~ msgstr "ukjent flagg «-%c»" #, fuzzy #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #, fuzzy #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Paul Rubin og David MacKenzie" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "kan ikke utelate både bruker og gruppe" #, fuzzy #~ msgid "%s is a directory" #~ msgstr "%s eksisterer men er ikke en katalog" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "strip failed" #~ msgstr "stat feilet" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "ugyldig feltnummer for fil 1: «%s»" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "ugyldig feltnummer for fil 2: «%s»" #~ msgid "too many non-option arguments" #~ msgstr "for mange ikke-flagg-argumenter" #~ msgid "too few non-option arguments" #~ msgstr "for få ikke-flagg-argumenter" #, fuzzy #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Scott Bartram og David MacKenzie" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary les filene i binærmodus (forvalg i DOS/Windows)\n" #~ " -c, --check sjekk %s-summene mot angitt liste\n" #~ " -t, --text les filene i tekstmodus (forvalgt)\n" #~ "\n" #~ msgid "file" #~ msgstr "fil" #~ msgid "files" #~ msgstr "filer" #~ msgid "checksum" #~ msgstr "sjekksum" #~ msgid "checksums" #~ msgstr "sjekksummer" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "flaggene --string og --check kan ikke brukes samtidig" #~ msgid "no files may be specified when using --string" #~ msgstr "ingen filer kan spesifiseres når flagget --string brukes" #~ msgid "only one argument may be specified when using --check" #~ msgstr "kun ett argument kan spesifiseres ved bruk av --check" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "for få argumenter" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "kan ikke endre rettigheter til %s" #, fuzzy #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "ugyldig breddespesifikasjon «%s»" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "ugyldig bredde: «%s»" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "kan ikke opprette katalog %s" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "kan ikke opprette katalog %s" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram og David MacKenzie" #~ msgid "old-style offset" #~ msgstr "posisjon på gammel stil" #~ msgid "skip argument" #~ msgstr "hopp over argument" #~ msgid "limit argument" #~ msgstr "begrens argument" #~ msgid "minimum string length" #~ msgstr "minimal strenglengde" #~ msgid "width specification" #~ msgstr "breddespesifikasjon" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "ugyldig andre-operand i kompatibilitetsmodus «%s»" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "i kompatibilitetsmodus må de siste to argumentene være posisjoner" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat og David MacKenzie" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "tabulatorstørrelse inneholder et ugyldig tegn" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s eksisterer men er ikke en katalog" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "«--pages» ugyldig område med sidenummer: «%s»" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "«--pages» ugyldig start-sidenummer: «%s»" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "«--pages» ugyldig slutt-sidenummer: «%s»" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "«--pages» start-sidenummeret er større enn slutt-sidenummeret" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "«--columns=SPALTER» ugyldig antall kolonner: «%s»" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "start-sidenummeret er større enn totalt antall sider: «%d»" #~ msgid "Page %d" #~ msgstr "Side %d" #, fuzzy #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: ugyldig mønster" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Dette programmet er fri programvare. Du kan redistribueret det og/eller\n" #~ "modifisere det under betingelsene gitt av GNU General Public License som\n" #~ "distribuert av Free Software Foundation; enten versjon 2, eller (om du " #~ "vil)\n" #~ "en hvilken som helst senere versjon.\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Dette programmet er distribuert i ønsket om at det vil være nyttig,\n" #~ "men UTEN NOEN GARANTI, til og med uten noen implisert garanti om\n" #~ "SALGBARHET eller EGNETHET TIL NOEN SPESIELL BRUK. Se GNU General\n" #~ "Public License for mer detaljer.\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Du skulle ha mottatt en kopi av GNU General Public License\n" #~ "sammen med dette programmet. Hvis ikke, skriv til Free Software " #~ "Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "kan ikke skifte til katalog, %s" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "kan ikke skifte til katalog, %s" #~ msgid "sort size" #~ msgstr "sorteringsstørrelse" #, fuzzy #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau og David MacKenzie" #~ msgid "stdin: read error" #~ msgstr "stdin: lesefeil" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: ugyldig suffiks-tegn i avleggs flagg" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "for mange argumenter. Når tails gamle flagg-syntaks brukes (%s)\n" #~ "kan det ikke være mer enn ett filargument. Bruk det tilsvarende -n " #~ "eller\n" #~ "-c-flagget isteden." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Advarsel: det er ikke portabelt å bruke to eller flere filargumenter med\n" #~ "tails gamle falggsyntaks (%s). Bruk det tilsvarende -n eller -c-\n" #~ "flagget isteden." #, fuzzy #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s: er så stor at den ikke kan representeres" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s er større enn den maksimale filstørrelsen på dette systemet" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: ugyldig maksimum antall etterfølgende endringer i størrelse" #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Richard Stallman og David MacKenzie" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "for mange argumenter" #, fuzzy #~ msgid "file arguments missing" #~ msgstr "for få argumenter" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "ugyldig backslash-beskyttelse «\\%c»" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "to strenger må være gitt ved både sletting og sammenklemming av " #~ "gjentagelser" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "minst en streng må være gitt ved sammenklemming av gjentagelser" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "ugyldig identidetsmapping; ved oversetting må evt. [:lower:]- eller\n" #~ "[:upper:]-konstruksjoner i streng1 være plassert i henhold til en\n" #~ "tilsvarende konstruksjon (henholdsvis [:upper:] eller [:lower:]) i\n" #~ "streng2" #~ msgid "only one argument may be specified" #~ msgstr "kun ett argument kan spesifiseres" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" # c-format #, fuzzy #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "advarsel: «uniq %s» er avleggs; bruk «uniq -s %s» istedet" #, fuzzy #~ msgid "" #~ "\n" #~ "(obsolete) Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be " #~ "used.\n" #~ msgstr "" #~ "\n" #~ "Istedet for -t TALL eller -t LISTE kan -TALL eller -LISTE brukes.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "(obsolete) If -VALUE is used as first OPTION, same as -c VALUE when one " #~ "of\n" #~ "multipliers bkm follows concatenated, else same as -n VALUE.\n" #~ msgstr "" #~ "\n" #~ "STØRRELSE kan ha en multiplikator-endelse: b for 512, k for 1K, m for " #~ "1Meg.\n" #~ "Hvis -VERDI brukes som første FLAGG, leses det som -c VERDI hvis en av\n" #~ "multiplikatorene bkm er bakerst, ellers leses -n VERDI.\n" #, fuzzy #~ msgid "warning: `od -s' is obsolete; use `od --strings'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #, fuzzy #~ msgid "warning: `od -w' is obsolete; use `od --width'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #, fuzzy #~ msgid "warning: `pr -S' is obsolete; use `pr --sep-string'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolete\n" #~ msgstr "" #~ " +POS1 [-POS2] start en nøkkel ved POS1, avslutt før POS2 " #~ "(fra 0)\n" #~ " Advarsel: dette flagget er avleggs\n" #, fuzzy #~ msgid "warning: `sort -y' is obsolete; omit `-y'" #~ msgstr "advarsel: «sort %s» er avleggs; bruk «sort -k»" #~ msgid "" #~ "A first OPTION of -VALUE\n" #~ "is treated like -n VALUE unless VALUE has one of the [bkm] suffix\n" #~ "multipliers, in which case it is treated like -c VALUE.\n" #~ msgstr "" #~ "Et første FLAGG som -VERDI\n" #~ "behandles som -n VERDI med mindre VERDI har en av [bkm]-endingene,\n" #~ "isåfall behandles det som -v VERDI.\n" #~ msgid "" #~ "A first option of +VALUE is treated like -+VALUE, but this usage is " #~ "obsolete\n" #~ "and support for it will be withdrawn.\n" #~ "\n" #~ msgstr "" #~ "Et første flagg som +VERDI behandles som -+VERDI, men denne anvendelsen " #~ "er\n" #~ "avleggs og støtte for den vil bli trukket tilbake.\n" #~ msgid "warning: `tail %s' is obsolete; use -n or -c instead" #~ msgstr "advarsel: «tail %s» er avleggs; bruker -n eller -c istedet" #, fuzzy #~ msgid "" #~ " -N (obsolete) same as -f N\n" #~ " +N (obsolete) same as -s N\n" #~ msgstr "" #~ " +N samme som -s N (avleggs, vil bli tilbaketrukket)\n" # c-format #~ msgid "warning: `uniq %s' is obsolete; use `uniq -s %s' instead" #~ msgstr "advarsel: «uniq %s» er avleggs; bruk «uniq -s %s» istedet" dc3dd-7.1.614/po/ms.gmo0000644000175000017500000000204111233346647014206 0ustar amedicoamedico t&8M]s  t)I!s    Try `%s --help' for more information. Unknown system errorcannot fstat %sclosing input file %sclosing output file %sinvalid number %sopening %sstandard inputstandard outputwriting to %sProject-Id-Version: coreutils 5.0.90 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2003-08-10 16:00+0800 Last-Translator: Hasbullah Bin Pit Language-Team: Malay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cuba `%s --help' untuk maklumat lanjut . Ralat sistem yang tidak diketahuitak dapat fstat %smenutup fail input %smenutup fail output %snombor tidak sah %sMembuka %sinput piawaioutput standardMenulis ke %s.dc3dd-7.1.614/po/tr.gmo0000644000175000017500000000644611233346647014231 0ustar amedicoamedico%pq$^*9#! ,.[&k('(>Um% t E,( ,U J ' & ; X +g  6 1 ' $> c "    $  !) K Z l       BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: direct use direct I/O for data dsync use synchronized I/O for data noctty do not assign controlling terminal from file nofollow do not follow symlinks nonblock use non-blocking I/O sync likewise, but also for metadata %s: cannot seekTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid number %soffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 5.3.0 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2005-03-14 04:17+0200 Last-Translator: Deniz Akkus Kanca Language-Team: Turkish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: KBabel 1.9.1 BLOK ve BAYTlar aşağıdaki çarpan sonekleri ile bitebilirler: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, ve T, P, E, Z, Y. için diğerleri Her CONV sembolü: direct veri için direkt I/O kullanır dsync veri için senkron I/O kullanır noctty dosyadan kontrol eden terminali ayarlamaz terminal from file nofollow sembolik bağları izlemez nonblock bloklamayan I/O kullanır sync önceki gibi fakat meta veri için de geçerli %s: aranamadıDaha fazla bilgi için `%s --help' yazın. Bilinmeyen sistem hatasıKullanımı: %s [İŞLEYEN]... veya: %s SEÇENEK `excl' ve `nocreat' seçenekleri birleştirilemez%s'nin dosya durumu (fstat) alınamadıçekirdek hatası bertaraf edilemedigirdi dosyası %s kapatılıyorçıktı dosyası %s kapatılıyor%s için fdatasync başarısız%s için fsync başarısızgeçersiz sayı %s%s dosya okunurken görece taşması%s açılıyor%s için seçenekler belirtiliyorstandart girdistandart çıktıgeçersiz işleyen %suyarı: mt_type=0x%2$0lx, %1$s dosyası için lseek çekirdek hatasına alternatifler kullanılıyor -- tür listesi için 'e bakın%s'e yazılıyordc3dd-7.1.614/po/POTFILES.in0000644000175000017500000000022311064230667014634 0ustar amedicoamedico# List of files which contain translatable strings. # Copyright (C) 1996-2008 Free Software Foundation, Inc. # Package source files src/dc3dd.c dc3dd-7.1.614/po/ja.gmo0000644000175000017500000000214711233346647014170 0ustar amedicoamedicoT & t+3;o%  Try `%s --help' for more information. Unknown system errorclosing output file %sstandard inputstandard outputwarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typesProject-Id-Version: GNU textutils 2.0.22 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2002-07-27 22:54+0900 Last-Translator: Masahito Yamaga Language-Team: Japanese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; 詳しくは `%s --help' を実行して下さい. 未知のシステムエラー出力ファイル %s をクローズ標準入力標準出力警告: lseek のカーネルバグに対処します。 ファイル (%s) の mt_type=0x%0lx -- のタイプリストを見て下さいdc3dd-7.1.614/po/en@quot.header0000644000175000017500000000226311022023316015633 0ustar amedicoamedico# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # dc3dd-7.1.614/po/ja.po0000644000175000017500000136220711233346647014033 0ustar amedicoamedico# Translation of `textutils' messages to Japanese. # Copyright (C) 2000, 2002 Free Software Foundation, Inc. # Masahito Yamaga , 2002. # derived from the version by Yasuyuki Furukawa 1998 # Jun Nishii 1999 # Daisuke Yamashita 1999 # msgid "" msgstr "" "Project-Id-Version: GNU textutils 2.0.22\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2002-07-27 22:54+0900\n" "Last-Translator: Masahito Yamaga \n" "Language-Team: Japanese \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin と David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "ディレクトリ %s を作成できません" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "詳しくは `%s --help' を実行して下さい.\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "使用法: %s [ファイル]...\n" "または: %s [オプション]\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "オプション指定に応じた変換・形式でファイルをコピーします。\n" "\n" " bs=BYTES ibs=BYTES 及び obs=BYTES に強制する\n" " cbs=BYTES 一度に BYTES バイト分の変換を行う\n" " conv=KEYWORDS カンマ区切りの KEYWORDS リスト毎にファイルを変換する\n" " count=BLOCKS 入力ファイルの BLOCKS の分だけコピーする\n" " ibs=BYTES 一度に BYTES バイト分読み込む\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=FILE 標準入力の代りに FILE から読み込む\n" " obs=BYTES 一度に BYTES バイト分書き込む\n" " of=FILE 標準出力の代りに FILE へ書き込む\n" " seek=BLOCKS サイズが obs の BLOCKS 分書込み開始位置をスキップ\n" " skip=BLOCKS サイズが ibs の BLOCKS 分読込み開始位置をスキップ\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 #, fuzzy msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCKS や BYTES には、以下のような倍数詞接尾辞を指定できます:\n" "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" "GD 1,000,000,000, G 1,073,741,824, その他に T, P, E, Z, Y など。\n" "KEYWORD には以下のものを使えます:\n" "\n" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s は存在しますがディレクトリではありません" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "未知のシステムエラー" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, fuzzy, c-format msgid "closing input file %s" msgstr "ファイル `%s' を作成\n" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "出力ファイル %s をクローズ" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "出力ファイルの接尾辞を使い果たしました" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, fuzzy, c-format msgid "opening %s" msgstr "%s の読み込みエラー" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "失敗" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "オプション `-%c' を認識できません" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "幅 `%s' が正しくありません" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "`%2$s' に対する引数 %1$s が間違っています" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "`%2$s' に対する引数 %1$s が間違っています" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "`%2$s' に対する引数 %1$s が間違っています" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "幅のオプション `%s' が正しくありません" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "フィールドの開始点の数字が正しくありません" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "グループ指定が不正" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "ユーザ指定が不正" #: src/dc3dd.c:2913 #, fuzzy, c-format msgid "invalid number %s" msgstr "%s: 無効な番号表記です" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "-l または -t とシグナルを組み合わせることができません" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "-l または -t とシグナルを組み合わせることができません" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "-l または -t とシグナルを組み合わせることができません" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "-l または -t とシグナルを組み合わせることができません" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "-l または -t とシグナルを組み合わせることができません" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "-l または -t とシグナルを組み合わせることができません" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "警告: lseek のカーネルバグに対処します。\n" " ファイル (%s) の mt_type=0x%0lx -- のタイプリストを見て下さい" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "%s の読み込みエラー" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: 削除できません" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "警告: 幅 %lu は無効な値です. -- 代わりに %d を使用します" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "%s のタイムスタンプを設定中" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "ディレクトリ %s を作成できません" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "ディレクトリ %s を作成できません" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, fuzzy, c-format msgid "writing to %s" msgstr "%s の書き込みエラー" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dc3dd.c:3907 msgid "standard input" msgstr "標準入力" #: src/dc3dd.c:3938 msgid "standard output" msgstr "標準出力" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, fuzzy, c-format msgid "cannot fstat %s" msgstr "日時を設定できません" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "出力ファイル %s の直前 %s バイトを進めます" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii EBCDIC から ASCII へ\n" #~ " ebcdic ASCII から EBCDIC へ\n" #~ " ibm ASCII からIBM(alternated) EBCDIC へ\n" #~ " block 改行区切りレコードを cbs サイズの空白を埋める\n" #~ " unblock 末尾の空白列をを改行で置き換える\n" #~ " lcase 英大文字を英小文字に変換する\n" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "切り詰められた書き込み" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "ユーザとグループの両方を省略することはできません" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "比較した文字列は %s と %s です." #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "警告: 幅 %lu は無効な値です. -- 代わりに %d を使用します" #~ msgid "error writing %s" #~ msgstr "%s の書き込みエラー" #~ msgid "invalid argument %s for %s" #~ msgstr "`%2$s' に対する引数 %1$s が間違っています" #~ msgid "ambiguous argument %s for %s" #~ msgstr "`%2$s' に対する引数 %1$s が曖昧です" #~ msgid "Valid arguments are:" #~ msgstr "有効な引数:" #, fuzzy #~ msgid "error closing file" #~ msgstr "ファイル `%s' を作成\n" #~ msgid "write error" #~ msgstr "書き込みエラー" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "cannot stat %s" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "regular empty file" #~ msgstr "通常の空ファイル" #~ msgid "regular file" #~ msgstr "通常ファイル" #~ msgid "directory" #~ msgstr "ディレクトリ" #~ msgid "block special file" #~ msgstr "ブロックスペシャルファイル" #~ msgid "character special file" #~ msgstr "キャラクタスペシャルファイル" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "シンボリックリンク" #~ msgid "socket" #~ msgstr "ソケット" #~ msgid "message queue" #~ msgstr "メッセージキュー" #~ msgid "semaphore" #~ msgstr "セマフォ" #~ msgid "shared memory object" #~ msgstr "共有メモリオブジェクト" #, fuzzy #~ msgid "typed memory object" #~ msgstr "共有メモリオブジェクト" #~ msgid "weird file" #~ msgstr "不明なファイル" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "名前つきパイプがサポートされていません" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "名前つきパイプがサポートされていません" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "名前つきパイプがサポートされていません" #, fuzzy #~ msgid "System error" #~ msgstr "書き込みエラー" #, fuzzy #~ msgid "Unknown error" #~ msgstr "未知のシステムエラー" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: オプション `%s' は曖昧です\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: オプション `--%s' に引数はありません\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: オプション `%c%s' に引数は必要ありません\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: オプション `%s' には引数が必要です\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: オプション `--%s' を認識できません\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: オプション `%c%s' を認識できません\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: 不正なオプション -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: 間違ったオプション -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: オプションには引数が必要です -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: オプション `-W %s' は曖昧です\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: オプション `-W %s' に引数はありません\n" #~ msgid "cannot change permissions of %s" #~ msgstr "%s の属性を変更できません" #~ msgid "cannot create directory %s" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "memory exhausted" #~ msgstr "メモリを使い果たしました" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "" #~ "現在の作業ディレクトリのフルパス名を表示.\n" #~ "\n" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: 読み込みエラー" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: 無効な正規表現です: %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "`%s' は無効な文字種類です" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "メモリを使い果たしました" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: 無効な正規表現です: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "正規表現による検索中のエラー" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "正規表現による検索中のエラー" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "正規表現による検索中のエラー" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #, fuzzy #~ msgid "setting permissions for %s" #~ msgstr "%s の属性を変更できません" #~ msgid "iconv function not usable" #~ msgstr "iconv 関数が使えません" #~ msgid "iconv function not available" #~ msgstr "iconv 関数が有効ではありません" #~ msgid "character out of range" #~ msgstr "範囲外の文字" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "U+%04X をローカル文字セットに変換できません" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "U+%04X をローカル文字セット %s に変換できません" #~ msgid "invalid user" #~ msgstr "ユーザ指定が不正" #~ msgid "invalid group" #~ msgstr "グループ指定が不正" #, fuzzy #~ msgid "invalid spec" #~ msgstr "ユーザ指定が不正" #~ msgid "Written by %s.\n" #~ msgstr "作者 %s.\n" #, fuzzy #~ msgid "Written by %s and %s.\n" #~ msgstr "作者 %s.\n" #, fuzzy #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "作者 %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "作者 %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "作者 %s.\n" #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "`%2$s' に対する引数 %1$s が間違っています" #~ msgid "string comparison failed" #~ msgstr "文字列の比較に失敗" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "問題を回避するために LC_ALL='C' を指定してください." #~ msgid "The strings compared were %s and %s." #~ msgstr "比較した文字列は %s と %s です." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "文字列の比較に失敗" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "`%2$s' に対する引数 %1$s が間違っています" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "行番号の増分が正しくありません: `%s'" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: カウント `%.*s' が大き過ぎます" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version バージョン情報を表示して終了\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "ファイルの指定がなかったり, - であった場合, 標準入力から読み込みます.\n" #~ msgid "read error" #~ msgstr "読み込みエラー" #, fuzzy #~ msgid "invalid input" #~ msgstr "%s: 無効な番号表記です" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "型指定が間違っています `%s'" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "余計な演算 `%s'" #, fuzzy #~ msgid "closing standard input" #~ msgstr "標準入力" #, fuzzy #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "パス名からディレクトリ部分を取りのぞいた名前を表示する.\n" #~ "指定があれば, 末尾の拡張子も取り除く.\n" #~ "\n" #, fuzzy #~ msgid "missing operand" #~ msgstr "%s: `%c' の次には整数値を指定して下さい" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjorn Granlund と Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "使用法: %s [オプション] [ファイル]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "ファイルもしくは標準入力を連続的に読み込み, 標準出力に書き出します.\n" #~ "\n" #~ " -A, --show-all -vETと同じ\n" #~ " -b, --number-nonblank 空行を除いて行番号を付け加える\n" #~ " -e -vEと同じ\n" #~ " -E, --show-ends 行の最後に`$'を付け加える\n" #~ " -n, --number 行番号を付け加える\n" #~ " -s, --squeeze-blank 連続した空行を圧縮\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t -vTと同じ\n" #~ " -T, --show-tabs TAB文字を`^I'で表示\n" #~ " -u (無視)\n" #~ " -v, --show-nonprinting 非表示文字と`^'や`^'を付けて表示 (LFDとTABは除" #~ "く)\n" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "`%s' で ioctl() を実行できません" #~ msgid "%s: input file is output file" #~ msgstr "%s: 入力ファイルが出力ファイルが同じファイルです" #, fuzzy #~ msgid "Jim Meyering" #~ msgstr "Mike Haertel と Paul Eggert" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "%s の属性情報を取得できませんでした" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "%s の属性情報を取得できませんでした" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "cannot access %s" #~ msgstr "%s を実行できません" #, fuzzy #~ msgid "cannot read directory %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "fts_read failed" #~ msgstr "読込み失敗" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "使用法: %s [オプション]... LAST\n" #~ "もしくは: %s [オプション]... FIRST LAST\n" #~ "もしくは: %s [オプション]... FIRST INCREMENT LAST\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "各ファイルの所有者やグループを OWNER や GROUP に変更する。\n" #~ "\n" #~ " -c, --changes verbose 同様だが、変更が生じたときだけ報告する\n" #~ " --dereference シンボリックリンクそのものではなく、\n" #~ " 各シンボリックリンク先に効果を与える\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet エラーメッセージを極力押さえる\n" #~ " --reference=RFILE 指定した GROUP 値ではなく RFILE のグループを使" #~ "う\n" #~ " -R, --recursive ファイルやディレクトリを再帰的に操作する\n" #~ " -v, --verbose ファイルが処理される毎に診断メッセージを表示す" #~ "る\n" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "%s: `%c' の次には整数値を指定して下さい" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "幅のオプション `%s' が正しくありません" #~ msgid "failed to get attributes of %s" #~ msgstr "%s の属性情報を取得できませんでした" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "グループ指定が不正" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "使用法: %s [オプション]... [ファイル]...\n" #~ " 又は: %s --traditional [ファイル] [[+]オフセット [[+]ラベル]]\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "各 FILE のグループ属性を GROUP に変更します。\n" #~ "\n" #~ " -c, --changes verbose の様だが変更が行なわれた時だけ報告する\n" #~ " --dereference シンボリックリンクそのものではなく、\n" #~ " 各シンボリックリンク先に効果を与える\n" #, fuzzy #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference リンク先ではなく、シンボリックリンクそのものに効" #~ "果\n" #~ " を与える (シンボリックリンクの所有権を変更でき" #~ "る\n" #~ " システムでのみ利用可能)\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet エラーメッセージを極力押さえる\n" #~ " --reference=RFILE 指定した GROUP 値ではなく RFILE のグループを使" #~ "う\n" #~ " -R, --recursive ファイルやディレクトリを再帰的に操作する\n" #~ " -v, --verbose ファイルが処理される毎に診断メッセージを表示す" #~ "る\n" #~ msgid "getting new attributes of %s" #~ msgstr "%s の新たな属性情報を取得中" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "シンボリックリンク %s もその参照先も変更されませんでした\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "%s のモードを %04lo (%s) に変更しました\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "%s のモードを %04lo (%s) に変更できませんでした\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "%s のモードは %04lo (%s) として保留されました\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "changing permissions of %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "使用法: %s [オプション]... LAST\n" #~ "もしくは: %s [オプション]... FIRST LAST\n" #~ "もしくは: %s [オプション]... FIRST INCREMENT LAST\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "それぞれのファイルを指定されたモードに変更。\n" #~ "\n" #~ " -c, --changes 変更を行なった時にのみ、変更の結果を報告する\n" #~ " -f, --silent, --quiet エラーメッセージを極力抑える\n" #~ " -v, --verbose ファイルを処理するたびに、詳細な報告を行なう\n" #~ " --reference=RFILE RFILE に指定したファイルのアクセスモードを利用す" #~ "る\n" #~ " -R, --recursive ファイルやディレクトリを再帰的に変更する\n" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "幅 `%s' が正しくありません" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "%s の所有者を %s に変更しました\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "%s のグループを %s に変更しました\n" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "%s の所有権を変更中" #, fuzzy #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "%s の属性を変更できません" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "%s のグループを %s に変更できませんでした\n" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "%s の属性を変更できません" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "%s の所有者は %s のまま保留されました\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "%s のグループは %s のまま保留されました\n" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "%s の所有者は %s のまま保留されました\n" #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "changing ownership of %s" #~ msgstr "%s の所有権を変更中" #, fuzzy #~ msgid "changing group of %s" #~ msgstr "%s のオーナーとグループを変更できません" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "使用法: %s [オプション]... [ファイル]...\n" #~ " 又は: %s --traditional [ファイル] [[+]オフセット [[+]ラベル]]\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "各ファイルの所有者やグループを OWNER や GROUP に変更する。\n" #~ "\n" #~ " -c, --changes verbose 同様だが、変更が生じたときだけ報告する\n" #~ " --dereference シンボリックリンクそのものではなく、\n" #~ " 各シンボリックリンク先に効果を与える\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " ここで指定した現在の所有者やグループと一致した\n" #~ " ファイルについてのみ、所有者やグループを変更す" #~ "る。\n" #~ " いずれか一方は省略できる。その場合、省略された方" #~ "の\n" #~ " 属性については一致の検査を行なわない。\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet 殆んどのエラーメッセージを抑制する\n" #~ " --reference=RFILE 指定された OWNER:GROUP ではなく、RFILE の所有者" #~ "と\n" #~ " グループを使う\n" #~ " -R, --recursive ファイルとディレクトリを再帰的に操作する\n" #~ " -v, --verbose ファイルが処理される毎に診断メッセージを出力す" #~ "る\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "所者の指定が無い場合には変更されません。グループの指定が無い場合には\n" #~ "変更されませんが、`:' でグループを暗示するとログイングループに変更されま" #~ "す。\n" #~ "OWNER と GROUP は名前でも数値でも構いません\n" #, fuzzy #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "ルートディレクトリを NEWROOT に設定してコマンドを実行.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "もしコマンドが指定されなければ, ``${SHELL} -i'' を実行 (標準: /bin/sh).\n" #, fuzzy #~ msgid "cannot change root directory to %s" #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "cannot chdir to root directory" #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "cannot run command %s" #~ msgstr "`%s' で ioctl() を実行できません" #~ msgid "%s: file too long" #~ msgstr "%s: ファイルが長すぎます" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "CRC チェックサムと各々のファイルのバイト数を表示.\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman と David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "使用法: %s [オプション]... ファイル1 ファイル2\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "それぞれソートされた ファイルA と ファイルB とを行ごとに比較します.\n" #~ "\n" #~ " -1 ファイルA だけにしか含まれない行の出力を抑制\n" #~ " -2 ファイルB だけにしか含まれない行の出力を抑制\n" #~ " -3 両方のファイルに共通に含まれている行の出力を抑制\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "failed to preserve ownership for %s" #~ msgstr "%s の所有者情報を保存中" #, fuzzy #~ msgid "failed to lookup file %s" #~ msgstr "%s のタイムスタンプを保存中" #, fuzzy #~ msgid "failed to preserve authorship for %s" #~ msgstr "%s の所有者情報を保存中" #~ msgid "cannot open %s for reading" #~ msgstr "%s を 読み込み用でオープンできません" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "%s のグループを %s に変更できませんでした\n" #, fuzzy #~ msgid "cannot remove %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "removed %s\n" #~ msgstr "%s を削除しています\n" #, fuzzy #~ msgid "cannot create regular file %s" #~ msgstr "一時ファイルを作成できません" #, fuzzy #~ msgid "cannot lseek %s" #~ msgstr "%s: オフセット %s%s を seek できません" #, fuzzy #~ msgid "writing %s" #~ msgstr "%s の書き込みエラー" #~ msgid "preserving times for %s" #~ msgstr "%s のタイムスタンプを保存中" #, fuzzy #~ msgid "closing %s" #~ msgstr "%s を閉じています (fd=%d)" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: %s のモード %04lo を無視して上書きしますか? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: %s を上書きしてもよろしいですか(yes/no)? " #~ msgid " (backup: %s)" #~ msgstr " (バックアップ: %s)" #, fuzzy #~ msgid "omitting directory %s" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "warning: source file %s specified more than once" #~ msgstr "警告: コピー元ファイル %s が複数指定されました" #~ msgid "%s and %s are the same file" #~ msgstr "%s と %s は同じファイルです" #, fuzzy #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "ディレクトリ %s に移動できません" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "たった今作成した %s には %s で上書きしません" #, fuzzy #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "ディレクトリ %s に移動できません" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "" #~ "%s をバックアップすると元ファイルが壊れます -- %s を移動しませんでした" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "" #~ "%s をバックアップすると元ファイルが壊れます -- %s をコピーしませんでした" #, fuzzy #~ msgid "cannot backup %s" #~ msgstr "%s を実行できません" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "たった今作成した %s には %s で上書きしません" #, fuzzy #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "will not create hard link %s to directory %s" #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "cannot create hard link %s to %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "cannot move %s to %s" #~ msgstr "`%s' で ioctl() を実行できません" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "%s の属性情報を取得できませんでした" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "循環するシンボリックリンク %s はコピーできません" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s: カレントディレクトリ上でのみ相対シンボリックリンクができます" #, fuzzy #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot create fifo %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot create special file %s" #~ msgstr "キャラクタスペシャルファイル" #, fuzzy #~ msgid "cannot read symbolic link %s" #~ msgstr "シンボリックリンク" #, fuzzy #~ msgid "cannot create symbolic link %s" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "%s has unknown file type" #~ msgstr "%s のファイルタイプが不明です" #, fuzzy #~ msgid "cannot un-backup %s" #~ msgstr "%s を実行できません" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (復元)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "使用法: %s [オプション]... LAST\n" #~ "もしくは: %s [オプション]... FIRST LAST\n" #~ "もしくは: %s [オプション]... FIRST INCREMENT LAST\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "SOURCE から DEST へ、或いは FILE (複数可)を DIRECTORY へコピーする。\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "長いオプションに必須の引数は短いオプションにも必須です.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive -dpR と同じ\n" #~ " --backup[=CONTROL] 既存のコピー先ファイル毎にバックアップを作" #~ "成\n" #~ " -b ほぼ --backup 同等だが、引数を取らない\n" #~ " -d --no-dereference --preserve=link と同じ\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " --no-dereference シンボリックリンクを辿らせない\n" #~ " -f, --force 既存のコピー先ファイルが開けない場合に" #~ "は、\n" #~ " 削除して再度試みる\n" #~ " -i, --interactive 上書きする前に確認する\n" #~ " -H コマンドラインのシンボリックリンクを辿る\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -l, --link コピーの代りにファイルをリンクする\n" #~ " -L, --dereference 常にシンボリックリンクを辿る\n" #~ " -p --preserve=mode,ownership,timestamps と同" #~ "じ\n" #~ " --preserve[=ATTR_LIST] 指定された属性を維持する (デフォルト:\n" #~ " mode,ownership,timestamps), 可能であれ" #~ "ば\n" #~ " 追加できる属性: links, all\n" #, fuzzy #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=ATTR_LIST 指定された属性を維持しない\n" #~ " --parents コピー元 DIRECTORY へのパスを付け足す\n" #~ " -P `--no-dereference' と同じ\n" #, fuzzy #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -r 再帰的にコピー。非ディレクトリはファイルと" #~ "する\n" #~ " 警告: FIFO や /dev/zero の様な特殊ファイ" #~ "ル\n" #~ " をコピーするときは代わりに -R を使いま" #~ "しょう\n" #~ " --remove-destination コピー先ファイルを open しようとする前に既" #~ "存の\n" #~ " ファイルを削除する (--force と対比しま" #~ "しょう)\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --reply={yes,no,query} 移動先の既存ファイルに関する問い合わせの\n" #~ " 扱い方を指定する\n" #~ " --strip-trailing-slashes 各 SOURCE 引数の余分な末尾スラッシュを取り" #~ "除く\n" #~ " -S, --suffix=SUFFIX 通常のバックアップ接尾辞を上書きする\n" #, fuzzy #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link コピーの代わりにシンボリックリンクを作成す" #~ "る\n" #~ " -S, --suffix=SUFFIX 通常のバックアップ接尾辞を交換する\n" #~ " --target-directory=DIRECTORY 全ての SOURCE 引数を DIRECTORY に移動" #~ "する\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update SOURCE ファイルがコピー先ファイルより新しい" #~ "か\n" #~ " 存在しない時だけコピーする\n" #~ " -v, --verbose 実行されたことを説明する\n" #~ " -x, --one-file-system このファイルシステムだけで実行する\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "特に指定がなければ、疎らな SOURCE ファイルは発見的手法で検出され、対応す" #~ "る\n" #~ "DEST ファイルを疎らなファイルとして作成します。これは `--sparse=auto'\n" #~ "オプションをつけたときの動作と同じです。--sparse=always を指定すると、\n" #~ "SOURCE ファイルが十分長いバイト列を含んでいるときには、常に疎らなファイ" #~ "ル\n" #~ "として作成します。\n" #~ "疎らなファイルを作りたくなければ、--sparse=never を使いましょう。\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "バックアップ接尾辞は、--suffix や SIMPLE_BACKUP_SUFFIX が設定されないと " #~ "`~' に\n" #~ "なります。バージョン管理方法は --backup オプションや VERSION_CONTROL 環境" #~ "変数\n" #~ "を通じて選択できます。以下がその際の値です:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off バックアップを作らない (--backup をつけた時でも)\n" #~ " numbered, t 番号つきバックアップを作成する\n" #~ " existing, nil 番号つきバックアップがあれば番号つき、\n" #~ " そうでなければ、simple で\n" #~ " simple, never 常に簡易バックアップを作成\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "特別な場合として、cp は -f と -b オプションが与えられ、SOURCE と DEST が\n" #~ "同一ファイルである時は、SOURCE のバックアップを作成する。\n" #, fuzzy #~ msgid "failed to preserve times for %s" #~ msgstr "%s のタイムスタンプを保存中" #, fuzzy #~ msgid "failed to preserve permissions for %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "cannot make directory %s" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "%s exists but is not a directory" #~ msgstr "%s は存在しますがディレクトリではありません" #~ msgid "accessing %s" #~ msgstr "%s にアクセス中" #, fuzzy #~ msgid "missing file operand" #~ msgstr "スキップ数指定の引数" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "フィールドのリストがありません" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "%s は存在しますがディレクトリではありません" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "パスを保存する場合、指定先はディレクトリでなくてはなりません" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "-l または -t オプションが複数指定されています" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "ハードリンクもシンボリックリンクも作成できません" #~ msgid "backup type" #~ msgstr "バックアップタイプ" #~ msgid "input disappeared" #~ msgstr "入力が無くなりました" #~ msgid "%s: line number out of range" #~ msgstr "%s: 範囲外の行番号" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: `%s': 範囲外の行番号" #, fuzzy #~ msgid " on repetition %s\n" #~ msgstr ": 繰り返し %d 回目\n" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: `%s': 一致しません" #~ msgid "error in regular expression search" #~ msgstr "正規表現による検索中のエラー" #, fuzzy #~ msgid "write error for %s" #~ msgstr "`%s' への書き込みエラー" #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: `%c' の次には整数値を指定して下さい" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: 繰り返しカウントには `}' が必要です" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: `{' と `}' の間には整数値が必要です" #, fuzzy #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: 終端デリミタ(`%c')が欠けています" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: 無効な正規表現です: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: 無効なパターン指定です" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: 行番号はゼロより大きい数でなければなりません" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "行番号 `%s' が %s よりも順序が前になっています" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "警告: 行番号 `%s' が同じ行番号になっています" #, fuzzy #~ msgid "invalid format width" #~ msgstr "`%2$s' に対する引数 %1$s が間違っています" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "型指定が間違っています `%s'" #~ msgid "missing conversion specifier in suffix" #~ msgstr "末尾の変換修飾子が指定されていません" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "末尾の変換修飾子が無効です: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "末尾の変換修飾子が無効です: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "末尾の %% 変換修飾子が多すぎます" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "末尾の %% 変換修飾子が無効です" #~ msgid "%s: invalid number" #~ msgstr "%s: 無効な番号です" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "使用法: %s [オプション]... ファイル パターン...\n" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "指定されたファイルをパターンによって分割したファイル `xx01', " #~ "`xx02', ...,\n" #~ "を出力し, それらの分割したファイルの各々のバイト数を標準出力に出力.\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMAT %d の代わりに sprintf の FORMAT を使う\n" #~ " -f, --prefix=PREFIX `xx' の代わりに PREFIX を使う\n" #~ " -k, --keep-files エラー時に出力ファイルを削除しない\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=DIGITS 2 の代わりに指定された数字を使う\n" #~ " -s, --quiet, --silent 出力ファイルの大きさを表示しない\n" #~ " -z, --elide-empty-files 空の出力ファイルを削除\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "ファイルが - ならば標準入力を読み込みます. 各々のパターンは:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " 行数 指定行の直前まで(その行は含まれない)を書き込" #~ "む\n" #~ " /正規表現/[オフセット] 一致する行の直前までを書き込む\n" #~ " %%正規表現%%[オフセット] 一致する行の直前までをスキップ\n" #~ " {整数値} 直前のパターンを指定した数だけ繰り返す\n" #~ " {*} 直前のパターンを可能なだけ繰り返す\n" #~ "\n" #~ "オフセットの指定には `+' または `-' に正の整数値を続けて指定します.\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "ファイルの各行から選択した部分だけを切り出して, 標準出力に表示します.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LIST LIST に指定したバイト位置の文字を出力\n" #~ " -c, --characters=LIST LIST に指定した文字位置だけを出力\n" #~ " -d, --delimiter=DELIM フィールドの区切り文字を TAB の代わりに DELIM " #~ "に\n" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LIST LIST に指定したフィールドだけを出力; -s オプショ" #~ "ン\n" #~ " が指定されなければ, 区切り文字を含む行も表示\n" #~ " -n (無視)\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited 区切り文字を含まない行を出力させない\n" #~ " --output-delimiter=STRING 出力の区切り文字として STRING を使用\n" #~ " デフォルトでは入力の区切り文字を使用\n" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-b, -c, -f オプションの内, 少なくとも一つは指定する必要があります. LIST \n" #~ "には以下の書式により切り出し範囲を指定します. 範囲の指定の際には, カンマ" #~ "(,)\n" #~ "を使って, 範囲を羅列することもできます.\n" #~ "\n" #~ " N 行頭を 1 として, N 番目の位置にある位置, 文字またはフィールドを指" #~ "定\n" #~ " N- N 番目の位置, 文字またはフィールドから行末までを指定\n" #~ " N-M N 番目から M 番目(これも含めて)までの位置, 文字またはフィールドを" #~ "指定\n" #~ " -M 行頭から M 番目(これも含めて)までの位置, 文字またはフィールドを指" #~ "定\n" #~ "\n" #~ "ファイルの指定がなかったり, `-'であった場合, 標準入力から読み込みます.\n" #~ msgid "invalid byte or field list" #~ msgstr "バイト数もしくはフィールドの範囲指定が間違っています" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "幅のオプション `%s' が正しくありません" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "型指定が間違っています `%s'" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "%s は長すぎます" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "フィールド番号がゼロです" #~ msgid "only one type of list may be specified" #~ msgstr "切り出し方として指定できるのは 1 種類だけです" #~ msgid "the delimiter must be a single character" #~ msgstr "区切り文字に指定できるのは 1 文字だけです" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "バイト, 文字, もしくはフィールドのリストを指定してください" #, fuzzy #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "フィールドを指定して実行する場合にのみ, 区切り文字が指定できます" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "区切られていない行の抑制が有効なのは, \n" #~ "\tフィールドを指定して実行するときだけです" #~ msgid "missing list of fields" #~ msgstr "フィールドのリストがありません" #~ msgid "missing list of positions" #~ msgstr "位置指定リストがありません" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "使用法: %s [オプション]... [+フォーマット]\n" #~ "もしくは: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=FILE FILE の最終更新時刻を表示\n" #~ " -R, --rfc-822 RFC-822 に準拠した日付文字列を出力する\n" #~ " -s, --set=STRING 時刻を STRING に設定する\n" #~ " -u, --utc, --universal UTC (協定世界時) での表示または設定\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "フォーマットで出力を制御します. 2番目の形式で有効なオプションは協定世界" #~ "時\n" #~ "(UTC) を指定するものだけです. 解釈できるシーケンスは以下のものです:\n" #~ "\n" #~ " %% 文字 %\n" #~ " %a ロケール表示による曜日名の短縮形 (Sun〜Sat)\n" #, fuzzy #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A ロケール表示による曜日名の非短縮形 (Sunday〜Saturday)\n" #~ " %b ロケール表示による月名の短縮形 (Jan〜Dec)\n" #~ " %B ロケール表示による月名の非短縮形 (January〜December)\n" #~ " %c ロケール表示による日付と時刻 (Sat Nov 04 12:02:33 EST 1989)\n" #, fuzzy #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C 世紀 (西暦を 100 で割って整数に切り詰めたもの) [00-99]\n" #~ " %d 日 (01〜31)\n" #~ " %D 日付 (mm/dd/yy)\n" #~ " %e 上位桁をスペースで埋めた日 ( 1〜31)\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h %b と同じ\n" #~ " %H 時 (00〜23)\n" #~ " %I 時 (01〜12)\n" #~ " %j 年日付 (001〜366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k 時 ( 0〜23)\n" #~ " %l 時 ( 1〜12)\n" #~ " %m 月 (01〜12)\n" #~ " %M 分 (00〜59)\n" #, fuzzy #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n 改行\n" #~ " %N ナノ秒 (000000000〜999999999)\n" #~ " %p ロケール表示による大文字の午前(AM), 午後(PM) (多くのロケールでは" #~ "空)\n" #~ " %P ロケール表示による小文字の午前(am), 午後(pm) (多くのロケールでは" #~ "空)\n" #~ " %r 時刻, 12時間表示 (hh:mm:ss [AP]M)\n" #~ " %R 時刻, 24時間表示 (hh:mm)\n" #~ " %s `00:00:00 1970-01-01 UTC' からの経過時間[秒] (GNU 版拡張)\n" #, fuzzy #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S 秒 (00〜60)\n" #~ " %t 水平タブ\n" #~ " %T 時刻, 24時間表示 (hh:mm:ss)\n" #~ " %u 曜日 (1〜7). 1 は月曜\n" #, fuzzy #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U 日曜を週始めとした年間の週番号 (00〜53)\n" #~ " %V 月曜を週始めとした年間の週番号 (01〜53)\n" #~ " %w 曜日 (0〜6). 0 は日曜\n" #~ " %W 月曜を週始めとした年間の週番号 (00〜53)\n" #, fuzzy #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x ロケール表示による日付 (mm/dd/yy)\n" #~ " %X ロケール表示による時刻 (%H:%M:%S)\n" #~ " %y 年の下2桁表示 (00〜99)\n" #~ " %Y 年 (1970〜)\n" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "-l または -t オプションが複数指定されています" #, fuzzy #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "オプション --string と --check は排他的に使われます" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "表示オプションと設定オプションは同時に指定できません" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "引数 `%s' の先頭に `+' がありません;\n" #~ "日時を指定するオプションを使うときは, オプション以外の引数は `+'\n" #~ "で始まるフォーマット文字列でなければなりません" #~ msgid "cannot set date" #~ msgstr "日時を設定できません" #, fuzzy #~ msgid "time %s is out of range" #~ msgstr "%s: 範囲外の行番号" #, fuzzy #~ msgid "Filesystem Type" #~ msgstr "Filesystem " #, fuzzy #~ msgid "Filesystem " #~ msgstr "Filesystem " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Iノード I使用 I残り I使用%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " サイズ 使用 残り 使用%%" #, fuzzy #~ msgid " Size Used Avail Use%%" #~ msgstr " サイズ 使用 残り 使用%%" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %4d-blocks Used Available Capacity" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-ブロック 使用 使用可 使用%%" #~ msgid " Mounted on\n" #~ msgstr " マウント位置\n" #, fuzzy #~ msgid "cannot get current directory" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot change to directory %s" #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "cannot stat current directory (now %s)" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #, fuzzy #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "ファイルが属するファイルシステムについての情報を表示する。\n" #~ "あるいは、ファイルが指定されなければ全ファイルシステムの使用量を表示す" #~ "る。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 0 ブロックしか持たないファイルシステムを含める\n" #~ " --block-size=SIZE SIZE バイトのブロックで表示する\n" #~ " -h, --human-readable 人間が読みやすい形式で表示する (例: 1K 234M 2G)\n" #~ " -H, --si 同上。但し単位は 1024 ではなく 1000 倍\n" #, fuzzy #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes ブロック使用の代りに I-ノード情報を表示する\n" #~ " -k, --kilobytes --block-size=1024 と同様\n" #~ " -l, --local ローカルファイルシステムだけ表示する\n" #~ " -m, --megabytes --block-size=1048576 と同様\n" #~ " --no-sync 使用情報取得の前に sync(2) を起動しない " #~ "(default)\n" #, fuzzy #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability POSIX 出力形式を使用する\n" #~ " --sync 使用情報取得の前に sync(2) を起動する\n" #~ " -t, --type=TYPE TYPE 型のファイルシステムのみ表示する\n" #~ " -T, --print-type ファイルシステムの種類を表示する\n" #~ " -x, --exclude-type=TYPE 指定した種類のファイルシステムを除いて表示す" #~ "る\n" #~ " -v (無視される)\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "%s 形式ファイルシステムが選択/非選択の両方で指定されました" #~ msgid "Warning: " #~ msgstr "警告: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%sマウントされているファイルシステムのテーブルを読めません" #, fuzzy #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "環境変数 LS_COLORS の定義するためのコマンドを出力します。\n" #~ "\n" #~ "出力フォーマットの決定:\n" #~ " -b, --sh, --bourne-shell Bourne シェル形式で LS_COLORS を出力する\n" #~ " -c, --csh, --c-shell C シェル形式で LS_COLORS を出力する\n" #~ " -p, --print-database デフォルト値を標準出力に表示する\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "ファイルを指定したときは、ファイルタイプや拡張子毎にどの色を使うかについ" #~ "て、\n" #~ "そのファイルを読んで決定します。それ以外の時は予めコンパイルされたデータ\n" #~ "ベースが使われます。こういったファイルのフォーマットの詳細が知りたけれ" #~ "ば、\n" #~ "`dircolors --print-database' を実行してください。\n" #, fuzzy #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s: 無効な秒数です" #, fuzzy #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s: オプション `%c%s' を認識できません\n" #~ msgid "" #~ msgstr "<内部>" #, fuzzy #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "冗長オプションと stty の読める形式の出力を指定するオプションは\n" #~ "どちらか一方しか同時に指定できません" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "環境変数 SHELL が定義されておらず、シェル型のオプションも与えられていませ" #~ "ん" #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "パス名からディレクトリ名を切り出す. パス名にディレクトリが含まれない場合\n" #~ "カレントディレクトリと見なして `.' を出力する.\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "使用法: %s [オプション]... [ファイル]...\n" #~ " 又は: %s --traditional [ファイル] [[+]オフセット [[+]ラベル]]\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "ファイル毎のディスク使用量を集計する。ディレクトリは再帰的に処理する。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -a, --all ディレクトリだけでなく、全てのファイルについて表" #~ "示\n" #~ " --block-size=SIZE SIZE バイトのブロックで表示する\n" #~ " -b, --bytes サイズ単位をバイトで標示する\n" #~ " -c, --total 総合計を出力する\n" #~ " -D, --dereference-args シンボリックリンクのときは、参照先を辿る\n" #, fuzzy #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference 全てのシンボリックリンクの参照先を辿る\n" #~ " -m, --megabytes --block-size=1048576 と同様\n" #~ " -S, --separate-dirs サブディレクトリのサイズを含めない\n" #~ " -s, --summarize 引数毎の総合計しか表示しない\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system 異なるファイルシステムのディレクトリは集計しな" #~ "い\n" #~ " -X FILE, --exclude-from=FILE 指定ファイル中のパターンに一致するファイル" #~ "は\n" #~ " 集計しない\n" #~ " --exclude=PAT 指定したパターンに一致するファイルを集計しない\n" #~ " --max-depth=N コマンドライン引数より、最大 N 階層分下がるまで" #~ "の\n" #~ " ディレクトリ (--all の指定でファイルも) を集計" #~ "する\n" #~ " --max-depth=0 なら --summarize 同等となる\n" #~ msgid "total" #~ msgstr "合計" #, fuzzy #~ msgid "invalid maximum depth %s" #~ msgstr "幅 `%s' が正しくありません" #~ msgid "cannot both summarize and show all entries" #~ msgstr "合計と全エントリの表示の両方を、一度に指定することはできません" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "警告: 統計(-s)と -max-depth=0 は同じ用法です" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "警告: 統計(-s)と -max-depth=%d の指定が競合しています" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "比較した文字列は %s と %s です." #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "グループ指定が不正" #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "-E が無ければ, 以下のシーケンスが認識され書き換えられます:\n" #~ "\n" #~ " \\NNN ASCII コードが NNN (8進) の文字\n" #~ " \\\\ バックスラッシュ\n" #~ " \\a 警告音 (ベル音)\n" #~ " \\b バックスペース\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c 最後の改行を抑制\n" #~ " \\f 用紙送り\n" #~ " \\n 改行 (LF)\n" #~ " \\r 復帰 (CR)\n" #~ " \\t 水平タブ\n" #~ " \\v 垂直タブ\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "ハードリンク" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "環境変数の値を設定し, その環境でコマンドを実行する.\n" #~ "\n" #~ " -i, --ignore-environment 何も環境変数が設定されていない状態で実行\n" #~ " -u, --unset=NAME 環境変数 NAME を削除する\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "- だけを指定した場合は -i を指定したことになります. コマンドが指定されなけ" #~ "れば, 最終的な環境変数を表示します.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "各々のファイル内のタブをスペースに変換し, 標準出力に書き出します.\n" #~ "ファイルの指定がなかったり, `-'であった場合, 標準入力から読み込みます.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial 非空白文字以降のタブを変換しない\n" #~ " -t, --tabs=数 タブ幅を標準の8にかわりに指定\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=リスト コンマ(,)で区切られたリストにタブストップを設定\n" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "%s は長すぎます" #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "タブサイズの指定に不正な文字が含まれています" #~ msgid "tab size cannot be 0" #~ msgstr "タブサイズは0(ゼロ)にできません" #~ msgid "tab sizes must be ascending" #~ msgstr "タブサイズの指定は昇順でなければなりません" #, fuzzy #~ msgid "input line is too long" #~ msgstr "%s: ファイルが長すぎます" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Mike Haertel と Paul Eggert" #, fuzzy #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "式の値を標準出力に表示. 以下の一覧では, 式を評価する際の優先順位ごとに\n" #~ "空行で区分けしています. 式として使えるのは:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 がヌルでも 0 でもなければ ARG1 を返し, \n" #~ " それ以外の場合は ARG2 を返す\n" #~ "\n" #~ " ARG1 & ARG2 ARG1, ARG2 ともにヌルでも 0 でもなければ ARG1 を返" #~ "し,\n" #~ " それ以外の場合は 0 を返す\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 が ARG2 より小さい\n" #~ " ARG1 <= ARG2 ARG1 が ARG2 より小さいか等しい\n" #~ " ARG1 = ARG2 ARG1 が ARG2 と等しい\n" #~ " ARG1 != ARG2 ARG1 が ARG2 と等しくない\n" #~ " ARG1 >= ARG2 ARG1 が ARG2 より大きいか等しい\n" #~ " ARG1 > ARG2 ARG1 が ARG2 より大きい\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 ARG1 と ARG2 の足し算\n" #~ " ARG1 - ARG2 ARG1 と ARG2 の引き算\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 ARG1 と ARG2 の掛け算\n" #~ " ARG1 / ARG2 ARG1 の ARG2 による割り算\n" #~ " ARG1 % ARG2 ARG1 の ARG2 による割り算のあまり\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " STRING : REGEXP STRING における正規表現 REGEXP によるパターン照合\n" #~ "\n" #~ " match STRING REGEXP STRING : REGEXP と同じ\n" #~ " substr STRING POS LENGTH STRING の部分文字列を返す, POS は 1から始ま" #~ "る\n" #~ " index STRING CHARS STRING から CHARS が見つかった場所を返す.\n" #~ " 見つからなければ 0\n" #~ " length STRING STRING の長さ\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + TOKEN TOKEN が `match' のようなキーワードや `/' " #~ "の\n" #~ " ような演算子であって文字列として解釈.\n" #~ "\n" #~ " ( 式 ) 式の値\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "多くの演算子はシェルに渡すためにエスケープするか引用符で囲む必要がありま" #~ "す.\n" #~ "比較は ARG がいずれも数値であれば大きさにより, それ以外の場合には辞書順" #~ "に\n" #~ "より行われます. パターン照合は, \\( と \\) の間, もしくはヌル文字に一致し" #~ "た\n" #~ "文字列を返します. \\( と \\) を使わない場合は一致する文字数か 0 を返しま" #~ "す.\n" #, fuzzy #~ msgid "syntax error" #~ msgstr "標準エラー" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "正規表現による検索中のエラー" #, fuzzy #~ msgid "non-numeric argument" #~ msgstr "入力の大きさ制限の引数" #~ msgid "division by zero" #~ msgstr "ゼロでの割り算" #, fuzzy #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "各々の数値の素因数を表示.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " 与えられた全ての数値 (整数) の素因数を表示します. もし数値が引数として\n" #~ " コマンド行から指定されない場合には, 標準入力より読み込まれます.\n" #~ msgid "%s is too large" #~ msgstr "%s は長すぎます" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "`%s' は有効な正の整数ではありません" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "使用法: %s [-DIGITS] [オプション]... [ファイル]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "ファイル内のそれぞれの段落を整形しなおして, 標準出力に表示します.\n" #~ "ファイル名を指定しなかった場合や, ファイル名が `-' と指定された場合には\n" #~ "標準入力から読み込みます.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin 最初の 2 行のインデントを保存\n" #~ " -p, --prefix=STRING STRING で始まる行だけを結合\n" #~ " -s, --split-only 長い行の分割だけを行う\n" #, fuzzy #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph 1 行目と 2 行目とでインデントが異なる段落を処" #~ "理\n" #~ " -u, --uniform-spacing 単語の間には 1つ, 文の間には 2 つの空白を置" #~ "く\n" #~ " -w, --width=NUMBER 最大行幅 (標準 75文字) を指定\n" #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "幅 `%s' が正しくありません" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "ファイルの各行の折り返しを行い, 結果を標準出力に書き込みます.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes カラム数ではなくバイト数でカウント\n" #~ " -s, --spaces 空白の位置で折り返す\n" #~ " -w, --width=WIDTH 80 の代わりに 1 行の幅を指定\n" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "行幅の指定が無効です: `%s'" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "%s のグループを %s に変更できませんでした\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "%s のグループを %s に変更できませんでした\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "%s のオーナーとグループを変更できません" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "使用法: %s [オプション]... SET1 [SET2]\n" #~ msgid "%s: No such user" #~ msgstr "%s: そのようなユーザは存在しません" #, fuzzy #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "ファイルの先頭から 10 行分を標準出力に表示します.\n" #~ "複数のファイルを処理する際には, 各出力のはじめにファイル名を表示します.\n" #~ "ファイル名を指定しないか, ファイル名に `-' を指定した場合には, \n" #~ "標準入力を読み込みます.\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent ファイルごとのヘッダの出力を行わない\n" #~ " -v, --verbose ファイルごとにヘッダを出力\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BLOCKS や BYTES には、以下のような倍数詞接尾辞を指定できます:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, その他に T, P, E, Z, Y など。\n" #~ "KEYWORD には以下のものを使えます:\n" #~ "\n" #~ msgid "error reading %s" #~ msgstr "%s の読み込みエラー" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "比較するバイト数の指定が無効です" #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: 相対オフセット %s%s を seek できません" #, fuzzy #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: オフセット %s%s を seek できません" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "%s に対するファイルポインタを再配置できません" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s は大きすぎて表示できません" #~ msgid "number of lines" #~ msgstr "行数" #~ msgid "number of bytes" #~ msgstr "バイト数" #~ msgid "invalid number of lines" #~ msgstr "行数の指定が正しくありません" #~ msgid "invalid number of bytes" #~ msgstr "バイト数の指定が正しくありません" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "%s: 間違ったオプション -- %c\n" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "使用法: %s\n" #~ "もしくは: %s オプション\n" #~ "現在のホストに対する数字による識別子 (16進数) を表示.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "使用法: %s [ホスト名]\n" #~ "もしくは: %s オプション\n" #~ "現在のシステムのホスト名を表示または設定.\n" #~ "\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "`%s' で ioctl() を実行できません" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "ホスト名を設定できません; このシステムは機能的に不足しています" #~ msgid "cannot determine hostname" #~ msgstr "ホスト名を特定できません" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "指定されたユーザ名のユーザもしくは現在のユーザの情報を表示.\n" #~ "\n" #~ " -a 無視, 他のバージョンとの互換性保持のためのオプション\n" #~ " -g, --group 実効グループ ID のみを表示\n" #~ " -G, --groups 属しているグループを全て表示\n" #~ " -n, --name -ugG に対して, ID の数字の代わりに名前を表示\n" #~ " -r, --real -ugG に対して, 実効 ID の代わりに実 ID を表示\n" #~ " -u, --user 実効ユーザ ID のみを表示\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "オプションが無い場合はユーザ情報のうち有用なものを表示.\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "複数の分割方法は指定できません" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "標準の形式では, 名前または ID だけを表示することはできません" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "ユーザ ID %u に対するユーザ名が見つかりません" #~ msgid " groups=" #~ msgstr " 所属グループ=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "フォーマット文字列は同じ幅の文字列を表示する際には指定できません" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "フォーマット文字列は同じ幅の文字列を表示する際には指定できません" #, fuzzy #~ msgid "invalid mode %s" #~ msgstr "幅 `%s' が正しくありません" #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "cannot set time stamps for %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "fork system call failed" #~ msgstr "ブロックスペシャルファイル" #, fuzzy #~ msgid "cannot run strip" #~ msgstr "%s を実行できません" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "%s の書き込みエラー" #, fuzzy #~ msgid "invalid user %s" #~ msgstr "ユーザ指定が不正" #, fuzzy #~ msgid "invalid group %s" #~ msgstr "グループ指定が不正" #, fuzzy #~ msgid "creating directory %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "使用法: %s [オプション]... LAST\n" #~ "もしくは: %s [オプション]... FIRST LAST\n" #~ "もしくは: %s [オプション]... FIRST INCREMENT LAST\n" #, fuzzy #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "最初の二つの書式では、SOURCE ファイルを DEST へコピーするか、複数の " #~ "SOURCE\n" #~ "ファイルを既存ディレクトリへコピーします。同時にアクセス権、所有者やグルー" #~ "プ\n" #~ "も設定します。三つ目の書式では、指定されたディレクトリ全体を作成します。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTROL] コピー先に既存ファイルがあればバックアップを作成" #~ "する\n" #~ " -b 引数を取らないこと以外は --backup と同じ\n" #~ " -c (無視される)\n" #~ " -d, --directory 全ての引数をディレクトリ名と解釈する\n" #~ " 指定されたディレクトリを一度に作成する\n" #, fuzzy #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D DEST の最後を除くファイルをまず全て作成し、その後" #~ "で\n" #~ " SOURCE を DEST にコピーする。一番目の書式で便利\n" #~ " -g, --group=GROUP グループ属性を設定する(無指定: プロセスの現在グルー" #~ "プ)\n" #~ " -m, --mode=MODE アクセスモードを chmod の様に設定する(無指定: rwxr-" #~ "xr-x)\n" #~ " -o, --owner=OWNER 所有者を設定する (スーパーユーザのみ)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps SOURCE ファイルのアクセス権・変更時刻を\n" #~ " 対応するコピー先ファイルに適用する\n" #~ " -s, --strip シンボルテーブルを strip する。1, 2 番目の形式のみ\n" #~ " -S, --suffix=SUFFIX 通常のバックアップ接尾辞を上書きする\n" #~ " -v, --verbose ディレクトリが作成される毎にその名前を表示する\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "バックアップ接尾辞は、--suffix や SIMPLE_BACKUP_SUFFIX が設定されないと " #~ "`~' に\n" #~ "なります。バージョン管理方法は --backup オプションや VERSION_CONTROL 環境" #~ "変数\n" #~ "を通じて選択できます。以下がその際の値です:\n" #~ "\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Mike Haertel と Paul Eggert" #, fuzzy #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "入力した一対の行のうち, 指定した結合フィールドの内容が一致していた場合に" #~ "は\n" #~ "標準出力に 1 行だけを書き込みます. 特に指定がない場合には, 空白で区切られ" #~ "た\n" #~ "最初のフィールドを, 結合フィールドとして処理します. ファイル1 またはファイ" #~ "ル2\n" #~ "として `-' が与えられた場合(両方は不可)には, 標準入力から読み込みます.\n" #~ "\n" #~ " -a SIDE SIDE に指定したファイルからの行は不一致の行も出力\n" #~ " -e EMPTY 空の出力フィールドを EMPTY で置き換える\n" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case フィールド比較の際に大文字・小文字の違いを無視\n" #~ " -j FIELD (古い方法) `-1 FIELD -2 FIELD' と同じ\n" #~ " -j1 FIELD (古い方法) `-1 FIELD' と同じ\n" #~ " -j2 FIELD (古い方法) `-2 FIELD' と同じ\n" #~ " -o FORMAT 出力行を FORMAT の書式に従って構成\n" #~ " -t CHAR 出力・入力のフィールド区切り文字として CHAR を使用\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v SIDE `-a SIDE' と似ているが出力を少し抑制\n" #~ " -1 FIELD ファイル1 の FIELD に基づいて結合\n" #~ " -2 FIELD ファイル2 の FILED に基づいて結合\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "-t CHAR が与えられない場合, 空白文字がフィールドを分割し, 空白そのものは\n" #~ "無視されます. 与えられた場合には, フィールドは文字 CHAR によって分割されま" #~ "す.\n" #~ "FIELD の部分には 1 から数えたフィールドの位置を要求します.\n" #~ "FORMAT の部分には 1つ以上の `SIDE.FIELD' や `0' をカンマ(,)や空白文字\n" #~ "で区切って指定します. FORMAT を指定しなかった場合には, FILE1 の残された\n" #~ "フィールド, FILE2 の残されたフィールド, 結合フィールドを CHAR で区切って\n" #~ "出力します.\n" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "フィールド数が間違っています: `%s'" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "フィールドの指定が無効です: `%s'" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "フィールドの指定でのファイル番号は無効です: %s" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "複数文字のタブ `%s'" #~ msgid "both files cannot be standard input" #~ msgstr "両方のファイルを標準入力にはできません" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "使用法: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ "または: %s -l [SIGNAL]...\n" #~ "または: %s -t [SIGNAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "プロセスにシグナルを送信, またはシグナルを一覧表示.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SIGNAL, -SIGNAL 送信されるシグナルの名前または番号\n" #~ " -l, --list シグナル名および番号の一覧\n" #~ " -t, --table シグナル情報の一覧表を表示\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SIGNAL は `HUP' のようなシグナル名や `1' のようなシグナル番号, または\n" #~ "シグナルによって終了されたプロセスの終了状態です.\n" #~ "PID は整数です. 負の場合はプロセスグループを示します.\n" #, fuzzy #~ msgid "%s: invalid signal" #~ msgstr "%s: 無効なプロセス番号です" #, fuzzy #~ msgid "%s: invalid process id" #~ msgstr "%s: 無効なパターン指定です" #, fuzzy #~ msgid "invalid option -- %c" #~ msgstr "%s: 間違ったオプション -- %c\n" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: 複数のシグナルが指定されています" #~ msgid "multiple -l or -t options specified" #~ msgstr "-l または -t オプションが複数指定されています" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "-l または -t とシグナルを組み合わせることができません" #, fuzzy #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #, fuzzy #~ msgid "cannot create link %s to %s" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: 警告: シンボリックリンクに対するハードリンクの作成は可搬性がありません" #, fuzzy #~ msgid "%s: hard link not allowed for directory" #~ msgstr "`%s' はディレクトリではありません" #, fuzzy #~ msgid "%s: cannot overwrite directory" #~ msgstr "ディレクトリ %s を作成できません" # %s: ersetze `%s'? #~ msgid "%s: replace %s? " #~ msgstr "%s: %s を置き換えますか(yes/no)? " #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "%2$s へのシンボリックリンク %1$s を作成します" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "%2$s へのシンボリックリンク %1$s を作成します" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "%2$s へのハードリンク %1$s を作成します" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "%2$s へのハードリンク %1$s を作成します" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "%2$s へのハードリンク %1$s を作成します" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "使用法: %s [オプション]‥‥ SOURCE DEST (1stフォーマット)\n" #~ " 又は %s [オプション]‥‥ SOURCE... ディレクトリ (2ndフォーマット)\n" #~ " 又は %s -d [オプション]‥‥ ディレクトリ... (3rdフォーマット)\n" #, fuzzy #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "TARGET に指定したファイルに対して、オプションのリンク名でリンクを作成しま" #~ "す。\n" #~ "リンク名が省略された場合、TARGET と同じベースファイル名のリンクを現在の\n" #~ "ディレクトリに作成します。複数の TARGET が指定されるような二番目の形式を\n" #~ "使った場合には、最後の引数はディレクトリでなければなりません。\n" #~ "-- この場合、ディレクトリの中にそれぞれの TARGET ファイル毎にリンクを作" #~ "成\n" #~ " します。\n" #~ "特に指定がなければ、ハードリンクを作成するので、シンボリックリンクを作成す" #~ "る\n" #~ "場合には、--symbolic オプションを指定してください。ハードリンクを作成する" #~ "場合、\n" #~ "TARGET ファイルはリンク作成時に存在していなければなりません。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTROL] 作成先に既存ファイルがあればバックアップす" #~ "る\n" #~ " -b 引数を取らない事以外は --backup と同等\n" #~ " -d, -F, --directory ディレクトリのハードリンクを作成\n" #~ " (スーパーユーザのみ)\n" #~ " -f, --force 作成先に既存ファイルがあれば削除する\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference 指定したファイルが通常ファイルだったとして" #~ "も、\n" #~ " ディレクトリへのシンボリックリンクとみな" #~ "す\n" #~ " -i, --interactive 作成先を削除する前に確認をとる\n" #~ " -s, --symbolic ハードリンクでなくシンボリックリンクを作成す" #~ "る\n" #, fuzzy #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=SUFFIX 通常のバックアップ接尾辞を上書きする\n" #~ " --target-directory=DIR リンクを作成するディレクトリを DIR に指定す" #~ "る\n" #~ " -v, --verbose リンク作成前にそれぞれファイル名を表示す" #~ "る\n" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s は存在しますがディレクトリではありません" #, fuzzy #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "使用法: %s [オプション] [ファイル]...\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "現在のユーザの名前を表示.\n" #~ "\n" #, fuzzy #~ msgid "no login name" #~ msgstr "%s: 無効な番号です" #, fuzzy #~ msgid "%b %e %Y" #~ msgstr "%b %e %H:%M %Y" #, fuzzy #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M %Y" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "環境変数 QUOTING_STYLE の値(%s)が不適切なので無視します" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "環境変数 COLUMNS の値(%s) が不適切な行幅なので無視します" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "環境変数 TABSIZE の値(%s) が不適切なタブサイズなので無視します" #, fuzzy #~ msgid "invalid line width: %s" #~ msgstr "幅 `%s' が正しくありません" #, fuzzy #~ msgid "invalid tab size: %s" #~ msgstr "型指定が間違っています `%s'" #, fuzzy #~ msgid "invalid time style format %s" #~ msgstr "`%2$s' に対する引数 %1$s が間違っています" #, fuzzy #~ msgid "unrecognized prefix: %s" #~ msgstr "オプション `-%c' を認識できません" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "環境変数 LS_COLORS の値を解釈できません" #, fuzzy #~ msgid "cannot open directory %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot determine device and inode of %s" #~ msgstr "%s に対するファイルポインタを再配置できません" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "cannot compare file names %s and %s" #~ msgstr "比較した文字列は %s と %s です." #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "指定されたファイルの情報をリスト出力する(指定なければ現在のディレクト" #~ "リ)。\n" #~ "-cftuSUX や --sort の指定がなくても、アルファベット順で整列する。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all '.' で始まる隠しファイルも表示する\n" #~ " -A, --almost-all 隠しファイルを表示するが、暗黙の '.' や " #~ "'..'\n" #~ " は表示しない\n" #~ " -b, --escape 非表示文字は 8 進数エスケープして表示する\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=SIZE ブロックサイズを SIZE とする\n" #~ " -B, --ignore-backups 末尾に '~' がつくファイルをリスト表示しない\n" #~ " -c -lt 付き: ctime(最終更新時刻) でソートして表" #~ "示\n" #~ " -l 付き: ctime を表示する。名前でソートす" #~ "る\n" #~ " その他: ctime でソートする\n" #, fuzzy #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C 項目を垂直方向にリストする\n" #~ " --color[=WHEN] ファイルタイプに応じて色付き表示する。\n" #~ " WHEN には `never', `always' 又は `auto' を" #~ "指定\n" #~ " -d, --directory ディレクトリの中身ではなく項目自身を表示\n" #~ " -D, --dired Emacs の dired モードの様に表示する\n" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f 整列しない。-aU が有効、-lst が無効になる\n" #~ " -F, --classify 項目にファイル標識 (*/=@| の内一つ) を付け足" #~ "す\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time -l --time-style=full-iso と同様\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 0 ブロックしか持たないファイルシステムを含める\n" #~ " --block-size=SIZE SIZE バイトのブロックで表示する\n" #~ " -h, --human-readable 人間が読みやすい形式で表示する (例: 1K 234M 2G)\n" #~ " -H, --si 同上。但し単位は 1024 ではなく 1000 倍\n" #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=WORD ファイル標識の形式を WORD にして項目に付け足" #~ "す\n" #~ " none (default), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode ファイル毎にインデックス番号を表示する\n" #~ " -I, --ignore=PATTERN PATTERN に一致する項目をリスト表示しない\n" #~ " -k, --kilobytes --block-size=1024 と同様\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l 詳細リスト形式を表示する\n" #~ " -L, --dereference シンボリックリンクのファイル情報を表示すると" #~ "きは\n" #~ " リンクそのものではなくリンク参照先のファイ" #~ "ル\n" #~ " 情報を表示する\n" #~ " -m 項目のリストをカンマで区切り、一行に詰め込" #~ "む\n" #, fuzzy #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid -l と同様だが、UID や GID は数値で表記する\n" #~ " -N, --literal 素の項目名を表示する\n" #~ " (例えば、制御文字等を特別扱いしない)\n" #~ " -o -l と同様だが、グループ情報を表示しない\n" #~ " -p, --file-type 項目にファイル標識 (/=@| の内一つ) を付け足" #~ "す\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars 表示不可能な文字を ? に置き換える\n" #~ " --show-control-chars 表示不可能な文字をそのまま表示 (プログラム" #~ "が\n" #~ " `ls' でなかったり出力が端末でない場合の初期状" #~ "態)\n" #~ " -Q, --quote-name ファイル名をダブルクォート(\")で囲む\n" #~ " --quoting-style=WORD 項目名のクォートに WORD 文字を使う:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse ソート順を反転させる\n" #~ " -R, --recursive サブディレクトリを再帰的にリストする\n" #~ " -s, --size ブロック単位で各ファイルサイズを表示する\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S ファイルサイズでソートする\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD 修正時刻ではなく WORD の時刻を使う\n" #~ " atime, access, use, ctime 又は status\n" #~ " 指定した時刻は --sort=time のキーとして使わ" #~ "れる\n" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=WORD WORD 形式を使って時刻を表示する\n" #~ " full-iso, iso, locale, posix-iso\n" #~ " -t 修正時刻でソートする\n" #~ " -T, --tabsize=COLS タブ幅を 8 ではなく COLS とみなす\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u -lt と使用: アクセス時刻でソート、表示する\n" #~ " -l と使用: アクセス時刻を表示、名前でソー" #~ "ト\n" #~ " その他: アクセス時刻でソート\n" #~ " -U ソートしない -- ディレクトリ内の順で項目を表" #~ "示\n" #~ " -v バージョンでソート\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -f, --fields=LIST LIST に指定したフィールドだけを出力; -s オプショ" #~ "ン\n" #~ " が指定されなければ, 区切り文字を含む行も表示\n" #~ " -n (無視)\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "特に指定がなければ color はファイル型によって区別されません。これは\n" #~ "--color=none を使うのと同じです。WHEN 引数を指定せずに --color オプション" #~ "を\n" #~ "使うと --color=always を使うのと同等です。--color=auto を使えば、接続され" #~ "た\n" #~ "端末(tty)の標準出力にのみカラーコードを出力します。\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper と Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Paul Rubin と David MacKenzie" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "使用法: %s [オプション] [ファイル]...\n" #~ " 又は: %s [オプション] --check [ファイル]\n" #~ "%s (%d ビット) チェックサムの表示, または照合.\n" #~ "ファイルの指定がなかったり, - であった場合, 標準入力から読み込みます.\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary コンソールデバイスにバイナリで出力\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "以下の 2つのオプションはチェックサムの確認を行う際にのみ有益\n" #~ " --status 何も表示せずにステータスコードによって, 成功か\n" #~ " どうかを示す\n" #~ " -w, --warn チェックサム行が不適切な書式の場合に警告\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "チェックサムは %s に記されている通りに計算されます. 照合の際に入力\n" #~ "するファイルは, このプログラムによって出力された形式でなければなりませ" #~ "ん.\n" #~ "特にオプションを指定しないで実行した場合には, それぞれのファイル毎に\n" #~ "チェックサム, タイプに関する印(バイナリには `*', テキストには ` '), \n" #~ "及びファイル名を表示します.\n" #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "%s: %s チェックサムとして適切な書式の行がありません" #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %lu: %s チェックサムの行として不適切な書式です" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: オープンまたは読み込みに失敗しました\n" #~ msgid "OK" #~ msgstr "完了" #~ msgid "%s: read error" #~ msgstr "%s: 読み込みエラー" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: %s チェックサムとして適切な書式の行がありません" #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "警告: %2$d のうち %1$d 個の%3$sを読めませんでした" #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "警告: %2$d の内 %1$d の%3$sが一致しませんでした" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "--binary と --text オプションはチェックサムの確認時には無意味です" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "--status オプションはチェックサムの確認時のみ意味を持ちます" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "--warn オプションはチェックサムの確認時のみ意味を持ちます" #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "使用法: %s [オプション] [ファイル]...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "ディレクトリを作成する。ただし既にディレクトリがあれば何もしない。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MODE rwxrwxrwx - umask でなく(chmod のように)アクセス権を設" #~ "定\n" #~ " -p, --parents 既存であってもエラーとせず、必要となるディレクトリも作" #~ "成\n" #~ " -v, --verbose ディレクトリを作成する度にメッセージを出力する\n" #, fuzzy #~ msgid "created directory %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "使用法: %s [オプション] [ファイル]...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "与えられた `名前' で名前付きパイプ (FIFO) を作成する。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MODE アクセス権を a=rw - umask ではなく(chmod の様に)指定す" #~ "る\n" #, fuzzy #~ msgid "invalid mode" #~ msgstr "%s: 無効な番号表記です" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "使用法: %s [オプション]... SET1 [SET2]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "与えられた TYPE のスペシャルファイル NAME を作成する。\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ "MAJOR と MINOR は TYPE p に対しては禁じらます。それ以外だと必須です。\n" #~ "TYPEの指定は以下の通り:\n" #~ "\n" #~ " b ブロック型(バッファリングされる)スペシャルファイルの作成\n" #~ " c, u キャラクタ型(バッファリングされない)スペシャルファイルの作成\n" #~ " p 名前つきパイプの作成\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "スペシャルファイルを作成する時は、メジャー及びマイナーデバイス番号を\n" #~ "指定しなければなりません" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "開始行番号が正しくありません: `%s'" #, fuzzy #~ msgid "block special files not supported" #~ msgstr "ブロックスペシャルファイル" #, fuzzy #~ msgid "character special files not supported" #~ msgstr "キャラクタスペシャルファイル" #, fuzzy #~ msgid "invalid major device number %s" #~ msgstr "開始行番号が正しくありません: `%s'" #, fuzzy #~ msgid "invalid minor device number %s" #~ msgstr "開始行番号が正しくありません: `%s'" #, fuzzy #~ msgid "invalid device %s %s" #~ msgstr "`%2$s' に対する引数 %1$s が間違っています" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "`%2$s' に対する引数 %1$s が間違っています" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "引数が多すぎます" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "%s のタイムスタンプを保存中" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "ファイル名の変更、もしくは複数のファイルをディレクトリへ移動します。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=CONTROL] ファイルを上書きする際、バックアップをと" #~ "る\n" #~ " -b --backup 同様だが、引数を受け付けない\n" #~ " -f, --force 上書きの前に確認をとらない。--reply=yes 同" #~ "等\n" #~ " -i, --interactive 上書きの前に確認をとる。--reply=query 同" #~ "等\n" #, fuzzy #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --reply={yes,no,query} 移動先の既存ファイルに関する問い合わせの\n" #~ " 扱い方を指定する\n" #~ " --strip-trailing-slashes 各 SOURCE 引数の余分な末尾スラッシュを取り" #~ "除く\n" #~ " -S, --suffix=SUFFIX 通常のバックアップ接尾辞を上書きする\n" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=DIR 全 SOURCE 引数を DIR ディレクトリに移動す" #~ "る\n" #~ " -u, --update SOURCE ファイルが移動先のファイルより新しい" #~ "か、\n" #~ " 移動先に同名ファイルが無いときだけ移動す" #~ "る\n" #~ " -v, --verbose 実行されたことを説明する\n" #, fuzzy #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "使用法: %s [オプション] [ファイル]...\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "`%2$s' に対する引数 %1$s が間違っています" #~ msgid "a command must be given with an adjustment" #~ msgstr "(引数を持つ) コマンドを与えなくてはなりません" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "一時ファイルを作成できません" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "日時を設定できません" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "指定したそれぞれのファイルに行番号を付け足して, 標準出力に書き込みます.\n" #~ "ファイルの指定が無いか, `-' を指定した場合には, 標準入力を読み込みます.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STYLE 本文の行番号を STYLE の形式に\n" #~ " -d, --section-delimiter=CC 論理ページの区切り記号に CC を利用\n" #~ " -f, --footer-numbering=STYLE フッタの行番号を STYLE の形式に\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STYLE ヘッダの行番号を STYLE の形式に\n" #~ " -i, --page-increment=NUMBER 行番号の増分を NUMBER に\n" #~ " -l, --join-blank-lines=NUMBER NUMBER 個以下の空行を纏めて一行と\n" #~ " 見なしてカウント\n" #~ " -n, --number-format=FORMAT 行番号の出力形式を FORMAT に\n" #~ " -p, --no-renumber 論理ページごとに行番号のカウンタを\n" #~ " リセットしない\n" #~ " -s, --number-separator=STRING (可能な場合)行番号の後ろに STRING\n" #~ " を付け足す\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NUMBER 各論理ページの最初の行番号を NUMBER に\n" #~ " -w, --number-width=NUMBER 行番号に利用する文字幅を NUMBER に\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "オプションの指定が無ければ, プログラムは -v1 -i1 -l1 -sTAB -w6 -nrn, -" #~ "hn,\n" #~ "-bt, -fn として動作します. CC 値は 論理ページの区切り記号を指定するため" #~ "の\n" #~ "2 つの文字です. 2つめの文字が指定されない場合には, 暗黙に : が指定されま" #~ "す.\n" #~ "`\\\\' を 指定したければ, `\\\\' を使うようにしてください.\n" #~ "STYLE は, 以下のうちの 1 つを指定します.\n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a すべての行番号\n" #~ " t 空行以外の行番号\n" #~ " n 空行の行番号\n" #~ " pREGEXP 正規表現 REGEXP との一致を含む行だけの行番号\n" #~ "\n" #~ "FORMAT には, 以下から一つ指定します:\n" #~ "\n" #~ " ln 左揃え, ゼロを埋めない\n" #~ " rn 右揃え, ゼロを埋めない\n" #~ " rz 右揃え, ゼロを埋める\n" #~ "\n" #, fuzzy #~ msgid "line number overflow" #~ msgstr "フィールド番号がゼロです" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "フィールド数が間違っています: `%s'" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "%s: 無効な番号表記です" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "フィールドの指定でのファイル番号は無効です: %s" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "開始行番号が正しくありません: `%s'" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "行番号の増分が正しくありません: `%s'" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "空行の行番号が正しくありません: `%s'" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "フィールド幅の指定行番号が正しくありません: `%s'" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "行番号の増分が正しくありません: `%s'" #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "引数が多すぎます" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "%s のタイムスタンプを保存中" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "使用法: %s [オプション]... [ファイル]...\n" #~ " 又は: %s --traditional [ファイル] [[+]オフセット [[+]ラベル]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "ファイルの明確な表現を標準出力に書き込む. 特に指定がなければ, 8 進数で\n" #~ "表現します. ファイル指定されない, あるいは `-' が指定された場合には, \n" #~ "標準入力を読み込みます.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "長いオプションに必須の引数は短いオプションにも必須です.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=RADIX ファイルオフセットの表示形式を指定\n" #~ " -j, --skip-bytes=BYTES ファイルの先頭より BYTES 分スキップ\n" #, fuzzy #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BYTES ダンプするファイルの大きさを BYTES に制限\n" #~ " -s, --strings[=BYTES] 表示可能な BYTES 以上の長さを持つ文字列を出" #~ "力\n" #~ " -t, --format=TYPE 出力フォーマットを指定\n" #~ " -v, --output-duplicates `*' マークで出力行を省略するのを止めさせる\n" #~ " -w, --width[=BYTES] 一行あたりの出力バイト数を指定\n" #~ " --traditional 引数の形式を古い POSIX の形式として解釈\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "昔からの書式指定を, 混合させても構いません.\n" #~ "指定した順にそれぞれの形式で表示されます.\n" #~ " -a オプション -t a と同じ, 文字名の指定に\n" #~ " -b オプション -t oC と同じ, 8進数バイトの指定に\n" #~ " -c オプション -t c と同じ, ASCII文字か`\\'エスケープの指定に\n" #~ " -d オプション -t u2 と同じ, 符号なしショート10進数の指定に\n" #, fuzzy #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f オプション -t fF と同じ, 浮動小数点の指定に\n" #~ " -h オプション -t x2 と同じ, ショート16進数の指定に\n" #~ " -i オプション -t d2 と同じ, ショート10進数の指定に\n" #~ " -l オプション -t d4 と同じ, ロング10進数の指定に\n" #~ " -o オプション -t o2 と同じ, ショート8進数の指定に\n" #~ " -x オプション -t x2 と同じ, ショート16進数の指定に\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "古いほうの書式(形式)で `オフセット' は -j OFFSET と同じ意味となります.\n" #~ "`ラベル' は表示を開始するバイト位置の疑似アドレスで, ダンプの進行ととも" #~ "に\n" #~ "値が増加します. OFFSET や LABEL の値として, `.' サフィックスのような\n" #~ "動作をさせる為に, 最初に 0x や 0X をつけたり, `b' をつけることで, \n" #~ "512 倍することができます.\n" #~ "\n" #~ "-t,--typeオプションでの型の指定は以下のようになります:\n" #~ "\n" #~ " a 文字名\n" #~ " c ASCII 文字もしくは, `\\'エスケープ\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[サイズ] 符号付き10進数 1 整数(integer)のサイズ指定\n" #~ " f[サイズ] 浮動小数点 1 整数(integer)のサイズ指定\n" #~ " o[サイズ] 8進数 1 整数(integer)のサイズ指定\n" #~ " u[サイズ] 符号なし10進数 1 整数(integer)のサイズ指定\n" #~ " x[サイズ] 16進数 1 整数(integer)のサイズ指定\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "ここでのサイズの指定は数字です. タイプが doux に含まれるなら, サイズに\n" #~ "は,C は sizeof(char) として, S は sizeof(short) として, I は sizeof" #~ "(int), \n" #~ "または Lは sizeof(long) も指定できます. またタイプが f ならば, さらに\n" #~ "F は sizeof(float) として, D は sizeof(double) として, または \n" #~ "L は sizeof(long double) として指定できます.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "RADIX には, オフセット値の基数として使用する値を, 10 進数なら d を, 8 進" #~ "数\n" #~ "なら o を, 16 進数なら x を指定し, 表示したくなければ n を指定します.\n" #~ "BYTES には, 16 進数ならば, `0x'か`0X' を数値の前に付け, 512 倍するには b " #~ "を,\n" #~ "1024 倍するには k を, 1048576 倍するには, m を付けます. z を後ろに付ける" #~ "と\n" #~ "どんな型でも出力の各行の後ろに印字可能な文字を付け加えます. " #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "-s に数値を指定\n" #~ "しない場合には, 3 がセットされます. -w に数値を指定しなければ, 32 と設定\n" #~ "されます.\n" #~ "特にオプションを指定しない場合には, od コマンドは `-A o -t d2 -w 16'\n" #~ "の指定になっています.\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "型指定が間違っています `%s'" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "型指定`%s'が間違っています\n" #~ " -- このシステムでは %lu バイト整数型を扱えません" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "型指定`%s'が間違っています\n" #~ " -- このシステムでは %lu バイト浮動小数点型を扱えません" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "間違った文字 `%c' が型指定 `%s' の中にあります" #~ msgid "cannot skip past end of combined input" #~ msgstr "入力の終端を越えて読みとばす事はできません" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "無効な出力アドレスの基数 `%c' が指定されました\n" #~ " -- doxn のいずれかを指定してください" #~ msgid "no type may be specified when dumping strings" #~ msgstr "文字列ダンプ時の型は指定できません" #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "互換モードでは, 3 つ以上の引数を受け付けません" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "警告: 幅 %lu は無効な値です. -- 代わりに %d を使用します" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: フォーマット=\"%s\" 幅=%d\n" #~ msgid "standard input is closed" #~ msgstr "標準入力が閉じられています" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "FILE の各行から, 一致する行をタブ文字で区切り, 順に標準出力に書き込みま" #~ "す.\n" #~ "FILE が指定されない, あるいは `-' を指定した場合には標準入力を読み込みま" #~ "す.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LIST タブ文字の代わりに, LIST の文字を区切りとして使" #~ "用\n" #~ " -s, --serial 一行毎ではなく, 一度に 1 つのファイルを貼付け" #~ "る\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "間違った文字 `%c' が型指定 `%s' の中にあります" #, fuzzy #~ msgid "empty file name" #~ msgstr "通常の空ファイル" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Jay Lepreau と David MacKenzie" #~ msgid "Login name: " #~ msgstr "ログイン名: " #~ msgid "In real life: " #~ msgstr "実名: " #~ msgid "???\n" #~ msgstr "(不明)\n" #, fuzzy #~ msgid "Directory: " #~ msgstr "ディレクトリ" #~ msgid "Shell: " #~ msgstr "シェル: " #~ msgid "Project: " #~ msgstr "プロジェクト: " #~ msgid "Plan:\n" #~ msgstr "プラン:\n" #~ msgid "Login" #~ msgstr "ログイン" #, fuzzy #~ msgid "Name" #~ msgstr " 名前" #, fuzzy #~ msgid " TTY" #~ msgstr " 端末" #~ msgid "Idle" #~ msgstr "待機" #~ msgid "When" #~ msgstr "開始時刻" #~ msgid "Where" #~ msgstr "ログイン元" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l 指定されたユーザに対して長形式で出力\n" #~ " -b 長形式でユーザのホームディレクトリとシェルを省略\n" #~ " -h 長形式でユーザのプロジェクトファイルを省略\n" #~ " -p 長形式でユーザのプランファイルを省略\n" #~ " -s 短形式で出力 (標準)\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f 短形式でヘッダ行を省略\n" #~ " -w 短形式でユーザのフルネームを省略する\n" #~ " -i 短形式でユーザのフルネームとログイン元を省略\n" #~ " -q 短形式でユーザのフルネーム, ログイン元および待機時間を省" #~ "略\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "軽い `finger' プログラム; ユーザ情報を表示.\n" #~ "utmp ファイルは %s.\n" #, fuzzy #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "--string オプションを利用するときは, ファイルを指定できません" #, fuzzy #~ msgid "Roland Huebner" #~ msgstr "Pete TerMaat と Roland Huebner" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=開始ページ[:終了ページ]' 指定がありません" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "型指定が間違っています `%s'" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l ページの長さ' 無効な行番号です: `%s'" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N 行番号' 無効な開始行番号: `%s'" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o 余白' 無効な行オフセット: `%s'" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w ページの幅' 無効な文字数です: `%s'" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W ページの幅' 無効な文字数です: `%s'" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "並列に印刷するときにはカラム数を指定できません." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "段組の横方向印刷(-a)と並列印刷を同時指定できません." #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c' 余分な文字が付いているか引数の数字が無効です: `%s'" #~ msgid "page width too narrow" #~ msgstr "ページ幅が狭すぎます" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "フィールド番号がゼロです" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "印字のために, ページ付けや段組を行ないます.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " FIRST_PAGE から印字を開始し LAST_PAGE までを印字\n" #~ " LAST_PAGE を省略した場合, 最後まで印字\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " COLUMN 段の段組を生成し, 段の下方に向けて出力\n" #~ " ページ毎にカラム内の行数を調整\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across 各行を段組の横方向へ順に出力\n" #~ " -COLUMN オプションと共に使用\n" #~ " -c, --show-control-chars\n" #~ " コントロールキャラクタにハットをつけ(例 ^G), その他" #~ "の\n" #~ " 印字不能な文字にはバックスラッシュと 8 進数で表示\n" #~ " -d, --double-space\n" #~ " 行間に空行を挿入\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMAT\n" #~ " ヘッダの日付の形式として FORMAT を用いる\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " 入力された CHAR を幅 WIDTH の空白に拡げる\n" #~ " CHAR, WIDTH の指定がなければ CHAR は TAB, \n" #~ " WIDTH は 8 に変更\n" #~ " -F, -f, --form-feed\n" #~ " 改ページの際に改行ではなく, 改ページコードを使用\n" #~ " (-f と共に 3行分, -f を指定しない場合 5行分のヘッダを" #~ "出力)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h HEADER, --header=HEADER\n" #~ " ページヘッダ中央のファイル名の代わりに HEADER を利用\n" #~ " 長いヘッダであれば, 文字列の左側が切り取られることにな" #~ "る\n" #~ " -h \"\" と指定すれば, ヘッダは空の行となる\n" #~ " -h\"\" という指定を行なってはいけない\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " 空白を CHAR に置換して WIDTH の幅に\n" #~ " 特に指定がない場合 CHAR は TAB に WIDTH は 8 に\n" #~ " -J, --join-lines 行の全てを結合し, (-W の行切り落としを行なわない)段組" #~ "の\n" #~ " 調節を行なわない. -S[STRING] で区切り文字を設定\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " ページの長さを PAGE_LENGTH に設定. 指定されない場合\n" #~ " 66 行. (行数は 56 となり, -f をつけた場合なら 63 行)\n" #~ " -m, --merge 各ファイルを一段ずつ並べて表示. はみ出した行は切り捨" #~ "て\n" #~ " られるが, -J オプションによって行の内容は繋げられる\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " 行番号を付加する. 番号の桁は DIGIT 番号と行との間の文" #~ "字\n" #~ " として SEP を指定. 指定がない場合 DIGITS は 5, SEP " #~ "は\n" #~ " TAB に設定\n" #~ " デフォルトでは入力ファイルの 1行目からカウント\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " 最初のページの 1 行目の行番号を NUMBER 番から開始\n" #~ " (+FIRST_PAGE の説明を参照)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " 各行の左余白を MARGIN (ゼロ) 文字分の空白とする\n" #~ " -w や -W に影響させてはならない. MARGIN は PAGE_WIDTH " #~ "に\n" #~ " 加えられる\n" #~ " -r, --no-file-warnings\n" #~ " ファイルが開けなかった場合の警告を省略する\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " 文字 CHAR を段の分割に使用\n" #~ " CHAR のデフォルトは -w がなければ ,\n" #~ " -w オプションがあれば空文字\n" #~ " -s[CHAR] は -w が指定されていなければ\n" #~ " 段に関する 3つのオプション (-COLUMN|-a -COLUMN|-m) す" #~ "べて\n" #~ " による行の切り詰めを無効に\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SSTRING, --sep-string[=STRING]\n" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " 任意の STRING を段の分割に使用\n" #~ " -S \"STRING\" として使ってはならない\n" #~ " -S のみ: 分割文字を使用しない (-S\"\" と同じ)\n" #~ " -S なし: -J があるなら それ以外は を\n" #~ " 使う (-S\" \" と同じ). 段に関するオプションには影響し" #~ "ない\n" #~ " -t, --omit-header ヘッダや本文の余白を省略\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " ヘッダや本文の余白を省略し, 入力ファイル中の改ページを" #~ "無視\n" #~ " -v, --show-nonprinting\n" #~ " バックスラッシュ(\\) + 8 進数による記述を使用\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " 複数の欄の出力に対してのみページ幅を PAGE_WIDTH (72)\n" #~ " 文字に設定し, -s[char] を無効に (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " ページ幅を PAGE_WIDTH (72) 文字に設定し, はみ出た行" #~ "は\n" #~ " 切り捨て. ただし -J オプションが指定されていない場合" #~ "に\n" #~ " 限る. -S や -s には何も影響しない\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-T は -l nn を用い, nn <= 3 の指定(-f オプションあり), もしくは\n" #~ "nn <= 10 (-f オプションなし)と指定するのと同じ意味になります.\n" #~ "ファイルが指定されない, あるいはファイルとして `-' が指定された場合, \n" #~ "標準入力を読み込みます.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "使用法: %s [環境変数]...\n" #~ "もしくは: %s オプション\n" #~ "環境変数が指定されない場合は全ての環境変数を表示.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "警告: %s: 文字定数の後の文字が無視されました" #, fuzzy #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "データをフォーマットにしたがって表示.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "フォーマットは C 言語の printf のように出力を制御. 解釈できるのは:\n" #~ "\n" #~ " \\\" ダブルクォーテーション\n" #~ " \\0NNN 8進数 NNN (0 から 3 桁の数字) の文字\n" #~ " \\\\ バックスラッシュ\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a 警告音 (ベル音)\n" #~ " \\b バックスペース\n" #~ " \\c これ以降の出力を抑制\n" #~ " \\f 用紙送り\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n 改行 (LF)\n" #~ " \\r 復帰 (CR)\n" #~ " \\t 水平タブ\n" #~ " \\v 垂直タブ\n" #, fuzzy #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xNNN 16進数 NNN (1 から 3桁の数字) のバイト\n" #~ "\n" #~ " \\uNNNN 16進数 NNNN (4桁の数字) の文字\n" #~ " \\UNNNNNNNN 16進数 NNNNNNNN (8桁の数字) の文字\n" #, fuzzy #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% 1つの %\n" #~ " %b 引数が `\\' エスケープを含んだ文字列として解釈\n" #~ "\n" #~ "更に diouxXfeEgGcs のうちの 1つで終わる C 言語の形式指定子が全て解釈さ" #~ "れ,\n" #~ "引数は最初に適切な型に変換されます. 変数の幅は制御できます.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: 数値による指定をして下さい" #~ msgid "%s: value not completely converted" #~ msgstr "%s: 値は完全には変換されていません" #~ msgid "missing hexadecimal number in escape" #~ msgstr "エスケープ中に16進数の数値がありません" #, fuzzy #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "`%s' は無効な文字種類です" #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "幅 `%s' が正しくありません" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "幅のオプション `%s' が正しくありません" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: フィールドの指定 `%s' が無効です" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "警告: `%s' で始まる余計な引数は無視されます" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (正規表現 `%s')" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "使用法: %s [オプション]... [入力元]... (-G なし)\n" #~ " 又は: %s -G [オプション]... [入力元 [出力先]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "入力ファイルに含まれる単語の索引を並べ替え, 前後を含めて出力.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference 自動生成した参照文を出力\n" #~ " -C, --copyright 著作権とコピーに関する条件を表示\n" #~ " -G, --traditional System V の `ptx' により近い動作\n" #~ " -F, --flag-truncation=STRING 行の切り詰めの目印に STRING を使用\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=STRING `xx' の代わりに使うマクロ名を指定\n" #~ " -O, --format=roff roff 命令で出力を生成\n" #~ " -R, --right-side-refs 参照文を右に. ただし -w の勘定には入らな" #~ "い\n" #~ " -S, --sentence-regexp=REGEXP 行末または文末を表現する正規表現を指定\n" #~ " -T, --format=tex TeX 命令で出力を生成\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP キーワードに対して REGEXP で一致を調べ" #~ "る\n" #~ " -b, --break-file=FILE この FILE 中から単語を分割する文字を取" #~ "得\n" #~ " -f, --ignore-case 小文字を大文字に変えて並び替え\n" #~ " -g, --gap-size=NUMBER 出力のフィールド間の列中の隙間の大きさ\n" #~ " -i, --ignore-file=FILE FILE から無視する単語一覧を読み込む\n" #~ " -o, --only-file=FILE この FILE から単語一覧のみを読み込む\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references 各行の第1フィールドを参照文と見なす\n" #~ " -t, --typeset-mode - 未実装 -\n" #~ " -w, --width=NUMBER 列の出力幅を指定. 参照文を除いて数える\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "FILE が指定されない, もしくは FILE が - の場合, 標準入力が読み込まれま" #~ "す.\n" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "幅 `%s' が正しくありません" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "現在の作業ディレクトリのフルパス名を表示.\n" #~ "\n" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "%s のグループを %s に変更できませんでした\n" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "%s の属性情報を取得できませんでした" #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "非オプション引数の数が多すぎます" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "警告: ディレクトリ構造が循環しています\n" #~ "これは, ファイルシステムに不正を働いてるのとほとんど同じ行為です\n" #~ "### あなたのシステム管理者に通知して下さい ###\n" #~ "以下の 2 つのディレクトリの i ノード番号が同じです:\n" #, fuzzy #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "%s: descend into directory %s? " #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: 書き込み保護されたファイル %s を削除しますか(yes/no)? " #, fuzzy #~ msgid "%s: remove %s %s? " #~ msgstr "%s: %s を削除しますか(yes/no)? " #, fuzzy #~ msgid "removed directory: %s\n" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "cannot remove directory %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "`-' で始まる名前のファイルを削除するには、例えば `-foo' というファイルな" #~ "ら\n" #~ "こういうコマンドを使いましょう\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "ファイルの削除に rm を使った場合、通常はそのファイル内容を復元できてしま" #~ "う、\n" #~ "ということには留意しておいてください。もしその内容を本当に復元不可能にす" #~ "る\n" #~ "保証を得たければ、shred の利用を考えてみてください。\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: %s を削除しますか(yes/no)? " #, fuzzy #~ msgid "removing directory, %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "ディレクトリを削除する。ただし中身が空であるときのみ。\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ディレクトリの中身が空でなかった場合のエラーを単に無視す" #~ "る\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents ディレクトリを削除し、指定パス名の構成ディレクトリの削除" #~ "を\n" #~ " 試みる。例えば `rmdir -p a/b/c' は `rmdir a/b/c a/b " #~ "a' と\n" #~ " 同等となる\n" #~ " -v, --verbose ディレクトリ毎に、処理内容の詳細を表示する\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "%s の属性情報を取得できませんでした" #, fuzzy #~ msgid "no command specified" #~ msgstr "引数を一つだけ指定できます" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "%s のタイムスタンプを保存中" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "%s のタイムスタンプを保存中" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "%s のタイムスタンプを保存中" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "%s の属性情報を取得できませんでした" #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "使用法: %s [オプション]... [入力元]... (-G なし)\n" #~ " 又は: %s -G [オプション]... [入力元 [出力先]]\n" #, fuzzy #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "FIRST から LAST までの数字を INCREMENT の間隔で表示.\n" #~ "\n" #~ " -f, --format=FORMAT printf 形式の浮動小数点の FORMAT (標準: %g) を" #~ "使用\n" #~ " -s, --separator=STRING 数字の区切りに STRING を使用 (標準: \\n)\n" #~ " -w, --equal-width 表示幅 (桁) を揃えるためにに先頭をゼロで埋め" #~ "る\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "FIRST か INCREMENT を省略した場合, 標準で 1 が設定されます.\n" #~ "FIRST, INCREMENT や LAST は浮動小数点の値として解釈されます.\n" #~ "FIRST が LAST より小さい時 INCREMENT は正でなくてはなりません. また,\n" #~ "その反対の場合は負でなくてはなりません.\n" #~ "FORMAT を指定する場合, printf 形式, つまり浮動小数点の出力形式 %e, %f, %" #~ "g\n" #~ "のうち必ず 1つを含まなくてはなりません.\n" #, fuzzy #~ msgid "invalid floating point argument: %s" #~ msgstr "開始行番号が正しくありません: `%s'" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "型指定が間違っています `%s'" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "末尾の %% 変換修飾子が多すぎます" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "型指定が間違っています `%s'" #, fuzzy #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "文字列ダンプ時の型は指定できません" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "追加されたグループリストが得られません" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "ユーザとグループの両方を省略することはできません" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "ユーザとグループの両方を省略することはできません" #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "使用法: %s [オプション] [ファイル]...\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "指定されたファイルに対して上書きを繰り返し、非常に高価な機械でさえも\n" #~ "データ復元の為の調査を行う事が非常に困難となるようにします。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force 必要に応じて権限を書込み可能に変更する\n" #~ " -n, --iterations=N デフォルト回数(%d)の代りに N 回上書きする\n" #~ " -s, --size=N このバイト数で寸断する (k, M, G の様な接尾辞も使えます)\n" #, fuzzy #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove 上書きした後切り取りして削除する\n" #~ " -v, --verbose 進捗状況を表示する\n" #~ " -x, --exact ファイルブロックのサイズにファイルサイズを切り上げない\n" #~ " -z, --zero shred を隠すために、最後に一度ゼロでの上書きを行う\n" #~ " - 標準出力を寸断する\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "--remove (-u) が指定されたときに FILE を削除します。デフォルトでファイル" #~ "を\n" #~ "削除しないのは、/dev/hda の様なデバイスファイルであっても共通の操作であ" #~ "り、\n" #~ "こういったファイルは通常削除されるべきではないからです。通常ファイルを\n" #~ "操作する時は殆んどの人が --remove オプションを使うことになります。\n" #~ "\n" #, fuzzy #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "CAUTION: shred は非常に重大な過程に基づいていることに注意してください。\n" #~ "ファイルシステムがデータの場所に上書きするということ。これは伝統的な\n" #~ "方法ですが、近年のファイルシステムではこの仮定を満たさない事も多いです。\n" #~ "shred を使う意味がないファイルシステムは以下の通りです。\n" #~ "\n" #, fuzzy #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* AIX や Solaris が提供している様な、ログ構造やジャーナリングファイル\n" #~ " システム (及び JFS, ReiserFS, XFS 等)\n" #~ "\n" #~ "* RAID ベースファイルシステムの様な、冗長なデータを書込んでおり、書き込み" #~ "が\n" #~ " 失敗しても保存されるようなファイルシステム\n" #~ "\n" #~ "* Network Appliance の NFS サーバの様に、スナップショットを作るファイルシ" #~ "ステム\n" #~ "\n" #, fuzzy #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "* NFS バージョン 3 クライアントの様に、一時的な場所にキャッシュを行う様" #~ "な\n" #~ " ファイルシステム\n" #~ "\n" #~ "* 圧縮ファイルシステム\n" #~ "\n" #~ "さらに、ファイルシステムのバックアップやリモートのミラーがファイルのコピー" #~ "を\n" #~ "含んでいるかも知れませんが、こういったファイルは削除できませんし、寸断され" #~ "た\n" #~ "ファイルを後で復元することは造作もない事でしょう。\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "状態検知失敗" #, fuzzy #~ msgid "%s: cannot rewind" #~ msgstr "%s を実行できません" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: 経過 %lu/%lu (%s)..." #, fuzzy #~ msgid "%s: error writing at offset %s" #~ msgstr "%s の書き込みエラー" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "クローズ失敗" #, fuzzy #~ msgid "%s: file too large" #~ msgstr "%s: ファイルが長すぎます" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: 経過 %lu/%lu (%s)...%s" #, fuzzy #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: 経過 %lu/%lu (%s)...%s/%s" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "状態検知失敗" #, fuzzy #~ msgid "%s: invalid file type" #~ msgstr "%s: 接尾辞の長さが正しくありません" #~ msgid "%s: file has negative size" #~ msgstr "%s: ファイルが負の大きさになっています" #, fuzzy #~ msgid "%s: error truncating" #~ msgstr "%s: ファイルが切り詰められました" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "状態検知失敗" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: 追加用ファイル記述子には shred できません" #~ msgid "%s: removing" #~ msgstr "%s: 削除します" #, fuzzy #~ msgid "%s: renamed to %s" #~ msgstr "%s: 読み込みエラー" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s: ファイルが長すぎます" #~ msgid "%s: removed" #~ msgstr "%s: 削除しました" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s: ファイルが長すぎます" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s: ファイルが長すぎます" #, fuzzy #~ msgid "%s: invalid number of passes" #~ msgstr "%s: 無効な秒数です" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "-l または -t オプションが複数指定されています" #, fuzzy #~ msgid "%s: invalid file size" #~ msgstr "%s: 接尾辞の長さが正しくありません" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "使用法: %s [オプション]... [入力元]... (-G なし)\n" #~ " 又は: %s -G [オプション]... [入力元 [出力先]]\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "ファイルの各行から選択した部分だけを切り出して, 標準出力に表示します.\n" #~ "\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "-l または -t オプションが複数指定されています" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "%s: 無効な番号表記です" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "幅 `%s' が正しくありません" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "-l または -t オプションが複数指定されています" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "余計な演算 `%s'" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "使用法: %s 数字[接尾辞]...\n" #~ "もしくは: %s オプション\n" #~ "数字で指定された時間 (秒) だけ一時停止します. 接尾辞が `s' なら秒 (標" #~ "準),\n" #~ "`m' なら分, `h' なら時, `d' ならば日が単位になります. 他の多くの実装と異な" #~ "り,\n" #~ "指定する数字は整数だけでなく, 小数でも構いません.\n" #~ "\n" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "フィールド数が間違っています: `%s'" #~ msgid "cannot read realtime clock" #~ msgstr "実時間の時計を読み取ることができません" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "ファイルの内容をソートして標準出力に書き込みます. 入力ファイルが複数の場" #~ "合,\n" #~ "連結して出力します.\n" #~ "\n" #~ "並び替えオプション:\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ソート対象の前にある空白を無視\n" #~ " -d, --dictionary-order 英数字と空白文字のみを対象にして並び替え\n" #~ " -f, --ignore-case 大文字・小文字を同一視して並び替え\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort 一般的な数値の大小によって比較\n" #~ " -i, --ignore-nonprinting 表示可能文字のみを比較して 並び替え\n" #~ " -M, --month-sort 月名でソートを行う. 月名以外は JAN より小さ" #~ "い\n" #~ " -n, --numeric-sort 文字列を数値の大小によって比較\n" #~ " -r, --reverse 比較結果を反転\n" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "その他のオプション:\n" #~ " -c, --check 並び替えずに, 入力ファイルが並び替えられている" #~ "か\n" #~ " 否かを調べる\n" #~ " -k, --key=POS1[,POS2] ソートキーを POS1 から POS2 までに (原点 1)\n" #~ " -m, --merge 並び替えずにソート済みのファイルのマージのみ行" #~ "う\n" #~ " -s, --stable 前の比較結果に頼らない安定的な並び替え\n" #~ " -S, --buffer-size=SIZE メインメモリバッファの大きさとして SIZE を使" #~ "う\n" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP 区切り文字を空白文字列の代わりに SEP に変更\n" #~ " -T, --temporary-directory=DIR 一時ファイルとして $TMPDIR や %s の代わり" #~ "に\n" #~ " DIR を使用. 複数のディレクトリを複数のオプ" #~ "ション\n" #~ " で指定可\n" #~ " -u, --unique -c オプションとともに利用すれば厳密に並び替" #~ "え,\n" #~ " そうでなければ等しい行のうち最初のものだけを" #~ "表示\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated 文字列の最後に改行でなくヌル文字を付加\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS の書式は F[.C][OPTS] であり, F にはフィールド番号, C にはフィールド内" #~ "の\n" #~ "文字の位置を指定します. OPTS には「並び替えオプション」の中の 1つ以上の文" #~ "字が\n" #~ "指定され, そのキーに対して全体の「並び替えオプション」よりも優先されま" #~ "す.\n" #~ "キーが指定されなければ, キーとして行全体が使われます.\n" #~ "\n" #~ "SIZE の後には次の複数指定可能な接尾辞を指定します.\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "メモリの % 1%, b は 1, K は 1024 (標準) のように M, G, T, P, E, Z, T.\n" #~ "\n" #~ "*** 警告 ***\n" #~ "環境変数によって指定されたロカールで並び替えの順番が変わります.\n" #~ "本来のバイト単位の数値で昔ながらの並び替え順にしたいならば LC_ALL=C を指" #~ "定.\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "%s の書き込みエラー" #~ msgid "cannot create temporary file" #~ msgstr "一時ファイルを作成できません" #~ msgid "open failed" #~ msgstr "オープン失敗" #, fuzzy #~ msgid "fflush failed" #~ msgstr "クローズ失敗" #~ msgid "close failed" #~ msgstr "クローズ失敗" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "オープン失敗" #, fuzzy #~ msgid "couldn't execute %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "一時ファイルを作成できません" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "一時ファイルを作成できません" #, fuzzy #~ msgid "couldn't execute %s -d" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "write failed" #~ msgstr "書き込み失敗" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "stat failed" #~ msgstr "状態検知失敗" #~ msgid "read failed" #~ msgstr "読込み失敗" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: 順序が不規則: " #~ msgid "standard error" #~ msgstr "標準エラー" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: フィールドの指定 `%s' が無効です" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: `%s' の開始点でのカウントが間違っています" #~ msgid "invalid number after `-'" #~ msgstr "`-' の後の数字が正しくありません" #~ msgid "invalid number after `.'" #~ msgstr "`.' の後の数字が正しくありません" #~ msgid "stray character in field spec" #~ msgstr "フィールド指定に使えない文字があります" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "-l または -t オプションが複数指定されています" #~ msgid "invalid number at field start" #~ msgstr "フィールドの開始点の数字が正しくありません" #~ msgid "field number is zero" #~ msgstr "フィールド番号がゼロです" #~ msgid "character offset is zero" #~ msgstr "文字のオフセットがゼロです" #~ msgid "invalid number after `,'" #~ msgstr "`,' の後の数字が正しくありません" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "追加演算 `%s' は -c と一緒には使えません" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "使用法: %s [オプション] [INPUT [PREFIX]]\n" #, fuzzy #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "INPUT を PREFIXaa, PREFIXab, ... という固定サイズのファイルに分割. 標準" #~ "で\n" #~ "PREFIX は `x'. INPUT が指定されないか, INPUT が - の場合は標準入力が読まれ" #~ "る.\n" #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N 長さ N の接尾辞の使う (標準 %d)\n" #~ " -b, --bytes=SIZE 1 出力ファイルを SIZE バイトに\n" #~ " -C, --line-bytes=SIZE 1 出力ファイルを最大 SIZE バイト行に\n" #~ " -l, --lines=NUMBER 1 出力ファイルを NUMBER 行に\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose 各々の出力ファイルを開く直前に, 標準エラー出力" #~ "に\n" #~ " 診断メッセージを表示\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BLOCKS や BYTES には、以下のような倍数詞接尾辞を指定できます:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, その他に T, P, E, Z, Y など。\n" #~ "KEYWORD には以下のものを使えます:\n" #~ "\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "ファイル `%s' を作成\n" #~ msgid "cannot split in more than one way" #~ msgstr "複数の分割方法は指定できません" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: 接尾辞の長さが正しくありません" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: 無効なバイト数表記です" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: 無効な行数表記です" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "%s: カウント `%.*s' が大き過ぎます" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "行数の指定が正しくありません" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: オプション `%c%s' を認識できません\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s: 無効なパターン指定です" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "文字列の終端でのバックスラッシュエスケープが無効" #, fuzzy #~ msgid "cannot read file system information for %s" #~ msgstr "%s に対するファイルポインタを再配置できません" #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "使用法: %s [オプション] [ファイル]...\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "使用法: %s [-F デバイス] [--file=デバイス] [設定]...\n" #~ "もしくは: %s [-F デバイス] [--file=デバイス] [-a|--all]\n" #~ "もしくは: %s [-F デバイス] [--file=デバイス] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "ターミナル属性の表示, 変更.\n" #~ "\n" #~ " -a, --all 現在のすべての設定を人間に読める形式で出力\n" #~ " -g, --save 現在のすべての設定を別の stty が読める形式で出力\n" #~ " -F, --file=デバイス 標準入力の代わりに指定されたデバイスを使用\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "「設定」の前に - を付けると, 否定を表わします. 以下の * (アスタリスク) 記" #~ "号\n" #~ "は非 POSIX 設定であることを示しています. 使っているシステムによって,\n" #~ "どの設定が有効なのかが決まります.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "特殊文字:\n" #~ " * dsusp CHAR CHAR は入力が読み込まれると, 端末停止シグナルを送信\n" #~ " eof CHAR CHAR はファイル終端を送信 (入力の終了)\n" #~ " eol CHAR CHAR は行末\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 CHAR 行末を示す別の CHAR\n" #~ " erase CHAR CHAR は最後にタイプされた文字を削除\n" #~ " intr CHAR CHAR は割り込みシグナルを送信\n" #~ " kill CHAR CHAR は現在の行を削除\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext CHAR CHAR は引用された次の文字を入力\n" #~ " quit CHAR CHAR は終了シグナルを送信\n" #~ " * rprnt CHAR CHAR は現在の行を再表示\n" #~ " start CHAR CHAR は停止した出力を再開\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop CHAR CHAR 出力を停止\n" #~ " susp CHAR CHAR は端末停止シグナルを送信\n" #~ " * swtch CHAR CHAR は別のシェル層に切り替え\n" #~ " * werase CHAR CHAR は最後にタイプされた単語を削除\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "特殊設定:\n" #~ " N 入出力の速度を N ボーに設定\n" #~ " * cols N ターミナルが N 桁であることをカーネルに通知\n" #~ " * columns N cols N と同じ\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N 入力速度を N に設定\n" #~ " * line N 回線制御規則 N を使用\n" #~ " min N -icanon と共に使い, 完全な読込みに対して最低 N 文字を設" #~ "定\n" #~ " ospeed N 出力速度を N に設定\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N タームなるが N 行であることをカーネルに通知\n" #~ " * size カーネルに対応した行数と桁数を表示\n" #~ " speed 端末速度を表示\n" #~ " time N -icanon と共に使い, 読込みのタイムアウトを 10 分の N 秒に" #~ "設定\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "制御設定:\n" #~ " [-]clocal モデム制御信号を無効に\n" #~ " [-]cread 受け取る入力を許可\n" #~ " * [-]crtscts RTS/CTS ハンドシェイクを有効に\n" #~ " csN 文字の大きさを N ビットに設定, N の範囲は [5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb 1文字あたり 2ストップビットを使用 (1 の場合は `-' を付け" #~ "る)\n" #~ " [-]hup 最後のプロセスが tty を閉じたらハングアップシグナルを送" #~ "る\n" #~ " [-]hupcl [-]hup と同じ\n" #~ " [-]parenb パリティビットを出力し, 入力にパリティビットがあるとす" #~ "る\n" #~ " [-]parodd 奇パリティを設定 (偶は `-')\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "入力設定:\n" #~ " [-]brkint ブレイクで割り込みシグナルを発生\n" #~ " [-]icrnl 復帰 (CR) を改行 (LF) に翻訳\n" #~ " [-]ignbrk ブレイク文字を無視\n" #~ " [-]igncr 復帰 (CR) を無視\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar パリティエラーのある文字を無視\n" #~ " * [-]imaxbel 発信音を鳴らし, 文字に全入力バッファを吐き出さない\n" #~ " [-]inlcr 改行 (LF) を復帰 (CR) に翻訳\n" #~ " [-]inpck 入力パリティのチェックを可能に\n" #~ " [-]istrip 入力文字の最上位 (第8) ビットを落とす\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc 大文字を小文字に翻訳\n" #~ " * [-]ixany 開始文字だけでなく, 任意の文字で出力を再開\n" #~ " [-]ixoff 開始および停止文字の送信を可能に\n" #~ " [-]ixon XON/XOFF フロー制御を可能に\n" #~ " [-]parmrk パリティーエラーをマーク (255-0 文字のシーケンスで)\n" #~ " [-]tandem [-]ixoff と同じ\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "出力設定:\n" #~ " * bsN バックスペースの遅延スタイル. N の範囲は [0..1]\n" #~ " * crN 復帰 (CR) 遅延スタイル. N の範囲は [0..3]\n" #~ " * ffN 用紙送り遅延スタイル. N の範囲は [0..1]\n" #~ " * nlN 改行 (LF) 遅延スタイル. N の範囲は [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl 復帰 (CR) を改行 (LF) に翻訳\n" #~ " * [-]ofdel ヌル文字の代わりに埋める文字として削除文字を使用\n" #~ " * [-]ofill 遅延のタイミングの代わりに埋める文字を使用\n" #~ " * [-]olcuc 小文字を大文字に翻訳\n" #~ " * [-]onlcr 改行 (LF) を復帰改行 (CR-LF) に翻訳\n" #~ " * [-]onlret 改行 (LF) が復帰 (CR) として振舞う\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr 1桁目の復帰 (CR) を表示しない\n" #~ " [-]opost プロセス後出力\n" #~ " * tabN 水平タブ遅延スタイル. N の範囲は [0..3]\n" #~ " * tabs tab0 と同じ\n" #~ " * -tabs tab3 と同じ\n" #~ " * vtN 垂直タブ遅延スタイル. N の範囲は [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "ローカル設定:\n" #~ " [-]crterase backspace-space-backspace として削除文字をエコー\n" #~ " * crtkill echoprt と echoe の設定にしたがって全ての行を削除\n" #~ " * -crtkill echoctl と echok の設定にしたがって全ての行を削除\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho ハット記号 (`^c') で制御文字をエコー\n" #~ " [-]echo 入力文字をエコー\n" #~ " * [-]echoctl [-]ctlecho と同じ\n" #~ " [-]echoe [-]crterase と同じ\n" #~ " [-]echok 削除文字の後で改行をエコー\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke [-]crtkill と同じ\n" #~ " [-]echonl 他の文字をエコーしなくても改行をエコー\n" #~ " * [-]echoprt `\\' と '/' の間で, 削除された文字を逆順にエコー\n" #~ " [-]icanon erase, kill, werase および rprnt 特殊文字を使用可能に\n" #~ " [-]iexten 非 POSIX 特殊文字を使用可能に\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig 割り込み (interrupt), 終了 (quit) および中断 (suspend)\n" #~ " 特殊文字を使用可能に\n" #~ " [-]noflsh 割り込み (interrupt) と終了 (quit) 特殊文字の後の出力を無" #~ "効に\n" #~ " * [-]prterase [-]echoprt と同じ\n" #~ " * [-]tostop 端末に書き込もうとするバックグラウンドジョブを停止\n" #~ " * [-]xcase icanon と共に使い, 大文字に対して `\\' でエスケープ\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "組合せ設定:\n" #~ " * [-]LCASE [-]lcase と同じ\n" #~ " cbreak -icanon と同じ\n" #~ " -cbreak icanon と同じ\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked brkint ignpar istrip icrnl ixon opost isig と同じ\n" #~ " icanon, eof および eol 文字は標準の値\n" #~ " -cooked raw と同じ\n" #~ " crt echoe echoctl echoke と同じ\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u と" #~ "同じ\n" #~ " * [-]decctlq [-]ixany と同じ\n" #~ " ek erase と kill 文字を標準の値に\n" #~ " evenp parenb -parodd cs7 と同じ\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp -parenb cs8 と同じ\n" #~ " * [-]lcase xcase iuclc olcuc と同じ\n" #~ " litout -parenb -istrip -opost cs8 と同じ\n" #~ " -litout parenb istrip opost cs7 と同じ\n" #~ " nl -icrnl -onlcr と同じ\n" #~ " -nl icrnl -inlcr -igncr onlcr -ocrnl -onlret と同じ\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp parenb parodd cs7 と同じ\n" #~ " -oddp -parenb cs8 と同じ\n" #~ " [-]parity [-]evenp と同じ\n" #~ " pass8 -parenb -istrip cs8 と同じ\n" #~ " -pass8 parenb istrip cs7 と同じ\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0 と同" #~ "じ\n" #~ " -raw cooked と同じ\n" #, fuzzy #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke と同じ,\n" #~ " 全ての特殊文字は標準の値.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "標準入力とつながった端末を制御します. 引数がなければ,\n" #~ "ボーレート, 回線制御規則および stty sane からのずれを表示します.\n" #~ "設定の際には, CHAR は文字通りに扱われるか, ^c, 0x37, 0177 または 127 のよ" #~ "うに\n" #~ "コード化されます. 特別な値 ^- または undef は特殊文字を無効にするのに\n" #~ "使われます.\n" #, fuzzy #~ msgid "only one device may be specified" #~ msgstr "引数を一つだけ指定できます" #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "オプション --string と --check は排他的に使われます" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "出力形式を指定した場合, モードを設定してはいけません" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: 非ブロッキングモードを再設定できませんでした" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "`%2$s' に対する引数 %1$s が間違っています" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "`%2$s' に対する引数 %1$s が曖昧です" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "幅 `%s' が正しくありません" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: 要求された処理の全てを実行することができません" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: モード\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: このデバイスのサイズ情報がありません" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "行番号の増分が正しくありません: `%s'" #~ msgid "Password:" #~ msgstr "パスワード:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: /dev/tty を開けません" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "ユーザとグループの両方を省略することはできません" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "ユーザとグループの両方を省略することはできません" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "ユーザとグループの両方を省略することはできません" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "実効ユーザ ID およびグループ ID を USER のものに変更.\n" #~ "\n" #~ " -, -l, --login シェルをログインシェルに\n" #~ " -c, --command=COMMAND 単一の COMMAND を -c 付きのシェルに渡す\n" #~ " -f, --fast -f をシェルに渡す (csh または tcsh 用)\n" #~ " -m, --preserve-environment 環境変数を再設定しない\n" #~ " -p -m と同じ\n" #~ " -s, --shell=SHELL /etc/shells が許せば SHELL を実行\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "- だけを指定した場合は -l を指定したことになります. USER が指定されなけれ" #~ "ば, root が指定されたことになります.\n" #~ msgid "user %s does not exist" #~ msgstr "%s というユーザは存在しません" #~ msgid "incorrect password" #~ msgstr "パスワードが違います" #~ msgid "using restricted shell %s" #~ msgstr "制限付きシェル %s を使います" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Kayvan Aghaiepour と David MacKenzie" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "各 FILE のチェックサムとブロック数を表示します.\n" #~ "\n" #~ " -r -s オプションを無効にして BSD 形式のチェックサム\n" #~ " アルゴリズムを利用し, ブロックの単位を 1K バイトに\n" #~ " -s, --sysv System V 形式のチェックサムアルゴリズムを利用し, \n" #~ " ブロックの単位を 512 バイトに\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "強制的にディスクを変更されたブロックに変更し、スーパーブロックを更新す" #~ "る。\n" #~ "\n" #, fuzzy #~ msgid "ignoring all arguments" #~ msgstr "引数が多すぎます" #~ msgid " --help display this help and exit\n" #~ msgstr " --help この使い方を表示して終了\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version バージョン情報を表示して終了\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "バグを発見したら <%s> 宛に報告して下さい.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "ファイル毎に行を逆順にして標準出力に書き込みます\n" #~ "FILE が指定されないか FILE として - が指定された場合, 標準入力を読み込みま" #~ "す\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before 区切り文字列をレコードの前ではなく後ろに\n" #~ " -r, --regex 区切り文字列を正規表現として解釈\n" #~ " -s, --separator=STRING 改行文字の代わりに STRING を区切り文字列に\n" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "クローズ失敗" #, fuzzy #~ msgid "record too large" #~ msgstr "%s: ファイルが長すぎます" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "一時ファイルを作成できません" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "%s を 読み込み用でオープンできません" #, fuzzy #~ msgid "%s: write error" #~ msgstr "書き込みエラー" #~ msgid "separator cannot be empty" #~ msgstr "区切り文字が空であってはなりません" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "各々の FILE の最後の %d 行を標準出力に書き出します.\n" #~ "複数の FILE が指定された場合は, ファイル名がヘッダ情報として出力されま" #~ "す.\n" #~ "FILE が指定されないか, FILE が - の場合は, 標準入力が読まれます.\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry 実行時にアクセスできない, または実行後にアクセ" #~ "ス\n" #~ " できなくなったとしてもファイルを開き続けようと" #~ "する\n" #~ " -f オプションを指定したときのみ有効\n" #~ " -c, --bytes=N 最後の N バイトを出力\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " ファイルが大きくなるたびに追加されたデータを出" #~ "力\n" #~ " -f, --follow および --follow=descriptor は同" #~ "じ\n" #~ " -F --follow=name --retry と同じ\n" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N 最後の %d 行ではなく N 行を出力\n" #~ " --max-unchanged-stats=N\n" #~ " --follow=name とともに使い, 入力ファイルが削" #~ "除\n" #~ " されていたり名前が変更されていないかどうかの確" #~ "認を\n" #~ " N (標準 %d) 回繰り返した後に大きさが変わってい" #~ "ない\n" #~ " ファイルを再度開く (これは rotate されたログ\n" #~ " ファイルなどに有効である)\n" #, fuzzy #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID -f とともに使い, プロセス ID が PID のプロセス" #~ "が\n" #~ " 終了した後に終了\n" #~ " -q, --quiet, --silent ファイル名を示すヘッダを出力しない\n" #~ " -s, --sleep-interval=S -f とともに使い, 繰り返し処理の間隔を約 S (標" #~ "準 1)\n" #~ " 秒に設定\n" #~ " -v, --verbose 常にファイル名を示すヘッダを出力\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "もし N (バイト数または行数) の最初の文字が `+' ならば, 各ファイルの最初か" #~ "ら\n" #~ "N 番目の項目から表示し, そうでなければ, ファイルの最後の N 項目を表示しま" #~ "す.\n" #~ "N には複数の接尾辞 (単位) が指定可: 512 で b, 1024 で k, 1048576 (1メガ) " #~ "で m.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "--follow (-f) を指定すると, tail は標準でファイル記述子を追尾します. つま" #~ "り\n" #~ "tail されたファイルの名前が変更されても, tail はその終端を追いかけ続けま" #~ "す. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "この標準の動作は, ファイル記述子ではなく, そのファイルの実態を追いかけたい" #~ "場合\n" #~ "には好ましくありません (例えばログの rotate など). この場合は --" #~ "follow=name を\n" #~ "を使ってください. これにより tail コマンドは, 何か他のプログラムによって\n" #~ "ファイルが削除されたり再作成されたかどうかを調べて定期的にファイルを開き直" #~ "す\n" #~ "ことで, その名前のファイルを追いかけるようになります.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "%s を閉じています (fd=%d)" #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: 相対オフセット %s%s を seek できません" #, fuzzy #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: 終了点からの相対オフセット %s%s を seek できません" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "`%s' はアクセス不能になりました" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "`%s' は末尾を捕捉できないファイルで置き換えられたので, このファイル名につ" #~ "いては処理を終了" #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "`%s' はアクセス可能になりました" #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "`%s' が現れました. 新しいファイルのファイル末尾を捕捉します" #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "`%s' は置き換えられました. 新しいファイルのファイル末尾を捕捉します" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: 非ブロッキングモードを再設定できませんでした" #~ msgid "%s: file truncated" #~ msgstr "%s: ファイルが切り詰められました" #~ msgid "no files remaining" #~ msgstr "何もファイルは残っていません" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: このタイプのファイルの終端を捕捉できないので, このファイルについては処" #~ "理を終了します" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "%s は長すぎます" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: 無変化の状態の最大数が無効です" #~ msgid "%s: invalid PID" #~ msgstr "%s: 無効なプロセス番号です" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: 無効な秒数です" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "警告: --retry はファイル名が指定されているときだけ意味があります" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "警告: PID は無視されます. --pid=PID は --follow (-f) を指定している場合の" #~ "み意味があります" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "警告: --pid=PID はこのシステムではサポートされていません" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "一時ファイルを作成できません" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "標準入力を各々のファイルにコピーし, 標準出力にも出力.\n" #~ "\n" #~ " -a, --append 指定されたファイルに追加し, 上書きしない\n" #~ " -i, --ignore-interrupts 割込みシグナルを無視\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "ファイルの指定がなかったり, - であった場合, 標準入力から読み込みます.\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "`%2$s' に対する引数 %1$s が曖昧です" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "%s: 無効な番号表記です" #, fuzzy #~ msgid "')' expected" #~ msgstr "')' がありません\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "')' があるべきところに, %s があります\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: ユーナリ演算子があるはずです\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt は -l を受け付けません\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef は -l を受け付けません\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-ot は -l を受け付けません\n" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "未知のシステムエラー" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: バイナリ演算子があるはずです\n" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "式によって決められた状態で終了.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "式は真か偽であり, 終了状態を設定. 式は以下のうちの 1つ:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( 式 ) 式 は真\n" #~ " ! 式 式 は偽\n" #~ " 式1 -a 式2 式1 と 式2 の両方が真\n" #~ " 式1 -o 式2 式1 または 式2 のどちらかが真\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " [-n] STRING STRING の長さがゼロでない\n" #~ " -z STRING STRING の長さがゼロ\n" #~ " STRING1 = STRING2 文字列が等しい\n" #~ " STRING1 != STRING2 文字列が等しくない\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 が INTEGER2 に等しい\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 が INTEGER2 以上\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 が INTEGER2 より大きい\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 が INTEGER2 以下\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 が INTEGER2 未満\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 が INTEGER2 に等しくない\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 と FILE2 が同じデバイスで inode も等しい\n" #~ " FILE1 -nt FILE2 FILE1 が FILE2 より (更新された時刻が) 新しい\n" #~ " FILE1 -ot FILE2 FILE1 が FILE2 より古い\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b FILE FILE が存在し, 且つブロックデバイスである\n" #~ " -c FILE FILE が存在し, 且つキャラクタデバイスである\n" #~ " -d FILE FILE が存在し, 且つディレクトリである\n" #~ " -e FILE FILE が存在する\n" #, fuzzy #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f FILE FILE が存在し, 且つ通常のファイルである\n" #~ " -g FILE FILE が存在し, 且つ set-group-ID されている\n" #~ " -h FILE FILE が存在し, 且つシンボリックリンクである (-L と同じ)\n" #~ " -G FILE FILE が存在し, 且つ実効グループ ID に属している\n" #~ " -k FILE FILE が存在し, 且つ sticky ビットが設定されている\n" #, fuzzy #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L FILE FILE が存在し, 且つシンボリックリンクである (-h と同じ)\n" #~ " -O FILE FILE が存在し, 且つ実効ユーザ ID に所有されている\n" #~ " -p FILE FILE が存在し, 且つ名前付きパイプである\n" #~ " -r FILE FILE が存在し, 且つ読み込み可能である\n" #~ " -s FILE FILE が存在し, 且つ 0 より大きいサイズである\n" #, fuzzy #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S FILE FILE が存在し, 且つソケットである\n" #~ " -t [FD] ファイル記述子 FD (標準で標準出力) が端末上で開かれている\n" #~ " -u FILE FILE が存在し, 且つ set-user-ID ビットが設定されている\n" #~ " -w FILE FILE が存在し, 且つ書き込み可能である\n" #~ " -x FILE FILE が存在し, 且つ実行可能である\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "シェルに対して括弧はバックスラッシュなどでエスケープしなくてはいけない\n" #~ "ということに注意してください.\n" #~ "INTEGER は文字列 STRING の長さを示す -l STRING である場合もあります.\n" #, fuzzy #~ msgid "missing `]'" #~ msgstr "`]'が足りません\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "引数が多すぎます" #, fuzzy #~ msgid "Jim Kingdon" #~ msgstr "Mike Haertel と Paul Eggert" #, fuzzy #~ msgid "creating %s" #~ msgstr "ファイル `%s' を作成\n" #, fuzzy #~ msgid "cannot touch %s" #~ msgstr "ディレクトリ %s に移動できません" #~ msgid "setting times of %s" #~ msgstr "%s のタイムスタンプを設定中" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a アクセス時刻のみ変更する\n" #~ " -c, --no-create ファイルを新規作成しない\n" #~ " -d, --date=STRING STRING を解釈し、現在時刻の代りに使う\n" #~ " -f (無視される)\n" #~ " -m 修正時刻のみ変更する\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=FILE 現在時刻の代りにこのファイルの時刻を使う\n" #~ " -t STAMP 現在時刻の代りに [[CC]YY]MMDDhhmm[.ss] を使う\n" #~ " --time=WORD WORD に与えられた時刻を設定する:\n" #~ " access atime を使う(-a と同じ)\n" #~ " modify mtime を使う(-m と同じ)\n" #, fuzzy #~ msgid "cannot specify times from more than one source" #~ msgstr "複数の分割方法は指定できません" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "使用法: %s [オプション]... SET1 [SET2]\n" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "標準入力から読み込んだ文字を置換, 圧縮, 削除し, 標準出力に書き込みます.\n" #~ "\n" #~ " -c, --complement 最初に SET1 を補集合に置き換え\n" #~ " -d, --delete SET1 中の文字を削除し, 置換は行わない\n" #~ " -s, --squeeze-repeats 繰り返される文字の列を 1 文字に圧縮\n" #~ " -t, --truncate-set1 SET1 の長さを SET2 の長さに切り捨て\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "SET は文字列によって指定します. 多くの場合その文字自身を表現します.\n" #~ "解釈のされ方は以下の通り:\n" #~ "\n" #~ " \\NNN 文字の 8 進数表現(1 から 3 個の 8 進数値)\n" #~ " \\\\ バックスラッシュ\n" #~ " \\a ベル\n" #~ " \\b バックスペース\n" #~ " \\f フォームフィード\n" #~ " \\n 改行\n" #~ " \\r 復帰\n" #~ " \\t 水平タブ\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v 垂直タブ\n" #~ " CHAR1-CHAR2 CHAR1 から CHAR2 までを昇順に展開した文字列\n" #~ " [CHAR1-CHAR2] SET1 と SET2 の両方で指定した場合には CHAR1-CHAR2 と同" #~ "じ\n" #~ " [CHAR*] SET2 として, CHAR を SET1 の長さ分展開した文字列\n" #~ " [CHAR*REPEAT] CHAR を REPEAT 個展開した文字列, REPEAT の値を 0 から\n" #~ " 始めた場合には, 8 進数として解釈\n" #~ " [:alnum:] 全てのアルファベットと数字\n" #~ " [:alpha:] 全てのアルファベット\n" #~ " [:blank:] 全ての水平方向空白文字\n" #~ " [:cntrl:] 全ての制御文字\n" #~ " [:digit:] 全ての数字\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] 全ての表示可能文字, 空白は含まない\n" #~ " [:lower:] 全ての小文字アルファベット\n" #~ " [:print:] 全ての表示可能文字, 空白も含む\n" #~ " [:punct:] 全ての句読点\n" #~ " [:space:] 全ての水平及び垂直タブ文字\n" #~ " [:upper:] 全ての大文字アルファベット\n" #~ " [:xdigit:] 全ての 16 進数数値\n" #~ " [=CHAR=] 全ての CHAR と等価な文字. 等価クラス\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "置換は -d オプションが与えられず, かつ SET1 と SET2 の指定があるときに\n" #~ "行なわれます. -t オプションは置換の実行時にのみ利用できます. SET2 は SET1 " #~ "の\n" #~ "長さ分を満たすため必要に応じてその最後の文字で展開します. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "SET2 の余分な文字は\n" #~ "無視されます. [:lower:] 及び [:upper:] の場合のみ昇順で展開することが\n" #~ "保証されます. これらのオプションは大文字と小文字との置換の指定を行なう際" #~ "の\n" #~ "組み合わせとして利用できます. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s オプションは, 置換でも削除でもない場合\n" #~ "SET1 の値を利用します. -- 置換や削除であった場合には, 置換や削除を行なっ" #~ "た後\n" #~ "SET2 を利用した文字列の圧縮を行ないます.\n" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "警告: 曖昧な 8 進数エスケープ \\%c%c%c です\n" #~ "\t2 バイトの列 \\0%c%c, `%c' として解釈されました" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "%s: 警告: シンボリックリンクに対するハードリンクの作成は可搬性がありません" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "範囲指定 `%s-%s' の端点が逆順に指定されています" #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "[c*n] の構成内の `%s' は無効な繰り返し回数です" #~ msgid "missing character class name `[::]'" #~ msgstr "文字クラス名がありません `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "等価クラスの文字がありません `[==]'" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "`%s' は無効な文字種類です" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: 等価クラス演算子は一つの文字でなければなりません" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "フィールド指定に使えない文字があります" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "[c*] 繰り返し回数指定は, 1 つ目の文字列中では利用できません" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "" #~ "[c*] 繰り返し回数指定は, 2 つめの文字列中では 1 つだけ利用できません" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "置換の時には, 2 つ目の文字列中で [=c=] 形式の表現はできません" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "" #~ "SET1 を切り捨てるのではない場合は, 2 つめの文字列を指定しなければなりませ" #~ "ん" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "補集合文字クラスで置換を行なうとき, 2 つ目の文字列は該当する文字の全ての\n" #~ "置換結果を特定できなければなりません" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "置換の時, 2 つめの文字列中で利用できる文字クラスは, 大文字と小文字だけです" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "置換を行なう場合 [c*] は, 2 つ目の文字列でのみ利用できます" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "置換を行なう場合, 2 つの文字列が与えられなければなりません" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "繰り返しの圧縮をしないで削除するときには, 一つの文字列だけを受け付けます" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "[:upper:] と [:lower:] との構成が一致しません" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "使用法: %s [オプション] [ファイル]\n" #~ "ファイル中の順序にしたがって, 全てを順序化して出力します.\n" #~ "ファイルが指定されない, もしくはファイルが - の場合は標準入力を読み込みま" #~ "す.\n" #~ "\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: 入力にループが含まれています:" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: 入力にループが含まれています:" #, fuzzy #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "使用法: %s [オプション] [ファイル]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "標準入力に接続されている端末のファイル名を出力.\n" #~ "\n" #~ " -s, --silent, --quiet 何も表示しない, 終了状態だけを返す\n" #~ msgid "not a tty" #~ msgstr "tty ではありません" #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "システムの情報を表示. オプションが無ければ -s と同じ.\n" #~ "\n" #~ " -a, --all 全ての情報を次の順で表示:\n" #~ " -s, --kernel-name カーネル名を表示\n" #~ " -n, --nodename ネットワークノードホスト名を表示\n" #~ " -r, --kernel-release カーネルリリースを表示\n" #, fuzzy #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version カーネルバージョンを表示\n" #~ " -m, --machine マシンのハードウェア名を表示\n" #~ " -p, --processor プロセッサのタイプを表示\n" #~ " -i, --hardware-platform ハードウェアプラットフォームを表示\n" #~ " -o, --operating-system オペレーティングシステムを表示\n" #, fuzzy #~ msgid "cannot get system name" #~ msgstr "一時ファイルを作成できません" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "各ファイルの空白をタブに変換し, 標準出力に書き込みます.\n" #~ "FILE が指定されないか, FILE に - が指定された場合には標準入力を読み込みま" #~ "す.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all 先頭の空白だけでなく, 全ての空白をタブに変換\n" #~ " -t, --tabs=NUMBER 8 の代わりに NUMBER 個の空白をタブに変更\n" #~ " -t, --tabs=LIST カンマで区切った LIST でタブの位置を明示的に指定\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "%s は長すぎます" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "使用法: %s [オプション]... [入力元 [出力先]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "入力元 (もしくは標準入力) から重複行を, 出力先 (もしくは標準出力) へ\n" #~ "書き込みます.\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count 入力中に続けて出現した行の回数を表示\n" #~ " -d, --repeated 重複した行のみを出力\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=delimit-method] 全ての重複した行を出力\n" #~ " delimit-method={none(標準),prepend,separate}\n" #~ " 区切りは空行で行なわれる.\n" #~ " -f, --skip-fields=N 行の先頭から N 個のフィールドを無視\n" #~ " -i, --ignore-case 大文字小文字の違いを無視\n" #~ " -s, --skip-chars=N 最初のN文字を比較しない\n" #~ " -u, --unique 重複がなかった行のみを出力\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N 行中, N 文字以上を比較しない\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "フィールドとは, 空白文字で区切られた, 空白以外の文字からなる文字列を\n" #~ "指します. 最初のフィールドを 1 として数えます.\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "引数が多すぎます" #~ msgid "invalid number of fields to skip" #~ msgstr "スキップするフィールド数の指定が無効です" #~ msgid "invalid number of bytes to skip" #~ msgstr "スキップするバイト数の指定が無効です" #~ msgid "invalid number of bytes to compare" #~ msgstr "比較するバイト数の指定が無効です" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "全ての重複行と繰り返し回数を表示することに意味がありません" #, fuzzy #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #, fuzzy #~ msgid "cannot unlink %s" #~ msgstr "`%s' で ioctl() を実行できません" #~ msgid "couldn't get boot time" #~ msgstr "ブート時刻を得られませんでした" #~ msgid " %2d:%02d%s up " #~ msgstr " %3$s%1$2d時%2$02d分 稼働 " #~ msgid "am" #~ msgstr "午前" #~ msgid "pm" #~ msgstr "午後" #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%d日" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "ユーザ指定が不正" #~ msgid ", load average: %.2f" #~ msgstr ", 平均負荷率: %.2f" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "使用法: %s [オプション]... [ファイル]...\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "現在の時刻, システム起動からの時間, システム上にいるユーザ数および\n" #~ "過去 1分, 5分および 15分の実行キューにあるジョブの平均数を表示.\n" #~ "ファイルが指定されていなければ %s を使用. \n" #~ "ファイルとして %s が指定されると, これまでの累積データを表示.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "ファイルに従い, 現在ログインしているユーザを表示.\n" #~ "ファイルが指定されていなければ %s を使用. \n" #~ "ファイルとして %s が指定されると, これまでの累積データを表示.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "指定されたファイルのバイト数, 単語数, 行数を表示します. 更に複数のファイル" #~ "が\n" #~ "が指定された場合は合計行数を表示します. ファイルの指定がなかったり\n" #~ "ファイルが - である場合, 標準入力が入力となります.\n" #~ " -c, --bytes バイト数を表示\n" #~ " -m, --chars 文字数を表示\n" #~ " -l, --lines 行数を表示\n" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length 最も長い行の長さを表示\n" #~ " -w, --words 単語数を表示\n" #~ msgid " old " #~ msgstr " 昔 " #~ msgid "id=" #~ msgstr "ID=" #~ msgid "term=" #~ msgstr "端末=" #~ msgid "exit=" #~ msgstr "終了=" #~ msgid "clock change" #~ msgstr "時刻の変更" #~ msgid "run-level" #~ msgstr "run-level" #~ msgid "last=" #~ msgstr "最後=" #, fuzzy #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "ユーザ数=%u\n" #~ msgid "NAME" #~ msgstr "名前" #~ msgid "LINE" #~ msgstr "端末" #~ msgid "TIME" #~ msgstr "時間" #, fuzzy #~ msgid "IDLE" #~ msgstr "失敗" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "コメント" #~ msgid "EXIT" #~ msgstr "終了" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "使用法: %s [オプション]... ファイル1 ファイル2\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all -b -d --login -p -r -t -T -u と同じ\n" #~ " -b, --boot 最後にシステムが起動した時刻\n" #~ " -d, --dead 終了したプロセスを表示\n" #~ " -H, --heading ヘッダ行を表示\n" #, fuzzy #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " -l, --lookup ホスト名の解決に DNS を使ってみる\n" #~ " (-l は推奨されない, --lookup を使用)\n" #~ " -m 標準入力に繋がっているユーザとホスト名だけを表示\n" #~ " -p, --process init から起動されている実行中のプロセスを表示\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count ログイン中のユーザのログイン名とユーザ数\n" #~ " -r, --runlevel 現在のランレベルを表示\n" #~ " -s, --short 名前, 行および時間のみを表示 (標準)\n" #~ " -t, --time 最後にシステムの時刻が変更された時刻を表示\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg ユーザのメッセージ状態を +, - または ? で追記\n" #~ " -u, --users ログイン中のユーザを一覧\n" #~ " --message -T と同じ\n" #~ " --writable -T と同じ\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "ファイルが指定されない場合は, %s を使用.\n" #~ "ファイルとして %s が指定されると, これまでの累積データを表示.\n" #~ "引数1 引数2 が指定されると, -m が仮定: 通常は `am i' または `mom likes'.\n" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "現在の実効ユーザ ID に対応したユーザ名を表示. `id -un' と同じ.\n" #~ "\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "ユーザ ID %u に対するユーザ名が見つかりません" #, fuzzy #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "指定された全ての文字列または `y' からなる行を繰り返し出力.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "使用法: %s [ファイル]...\n" #~ "または: %s [オプション]\n" #~ msgid "program error" #~ msgstr "プログラムエラー" #~ msgid "stack overflow" #~ msgstr "スタックオーバーフロー" #~ msgid "block size" #~ msgstr "ブロックサイズ" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "%s のオーナーとグループを変更できません" #~ msgid "cannot chdir to directory %s" #~ msgstr "ディレクトリ %s に移動できません" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "数字の UID のログイングループを取得できません" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ "\n" #~ "[参考訳]\n" #~ "これはフリーソフトウェアです. コピーの条件についてはソースをお読みくださ" #~ "い.\n" #~ "市場性及び特定目的適合性の如何によらず, いかなる保証もありません.\n" #~ msgid "too few arguments" #~ msgstr "引数が足りません" #, fuzzy #~ msgid "closing standard output" #~ msgstr "標準出力" #, fuzzy #~ msgid "cannot change to null group" #~ msgstr "%s のオーナーとグループを変更できません" #~ msgid "group number" #~ msgstr "グループ番号" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "%s: 無効な番号表記です" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "アクセスモードは、1 文字又はそれ以上の `ugoa' のいずれかの文字の組み合わ" #~ "せ\n" #~ "でユーザアクセス権を表し、次に `+-=' の演算子 1 文字によって変更動作を指" #~ "定\n" #~ "し、最後に 1 文字又はそれ以上の `rwxXstugo' のいずれかの文字の組合わせで\n" #~ "変更する属性を指定する。\n" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "使用法: %s [オプション]... ファイルA ファイルB\n" #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie および Jim Meyering" #, fuzzy #~ msgid "missing file arguments" #~ msgstr "引数が足りません" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "%s は存在しますがディレクトリではありません" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "複数ファイルのコピーですが、最後の引数 %s がディレクトリではありません" #, fuzzy #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "警告: -i は将来のリリースでは削除されます. 代わりに -u を使ってください" #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "警告: --pid=PID はこのシステムではサポートされていません" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp と David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: デリミタ(`/') の次には `+',`-' 付きの整数値を指定して下さい" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie および Jim Meyering" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] output date/time in ISO 8601 " #~ "format.\n" #~ " TIMESPEC=`date' for date only,\n" #~ " `hours', `minutes', or `seconds' for date " #~ "and\n" #~ " time to the indicated precision.\n" #~ " --iso-8601 without TIMESPEC defaults to " #~ "`date'.\n" #~ msgstr "" #~ "指定されたフォーマットで現在の時刻を表示, もしくはシステム時刻を設定.\n" #~ "\n" #~ " -d, --date=STRING 現在でなく, STRING で指定された時刻を表示\n" #~ " -f, --file=DATEFILE DATEFILE の各行に対して --date のように表示\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] ISO 8601 形式で日付や時刻を出力.\n" #~ " 日付のみなら TIMESPEC=`date', 日付と時刻なら\n" #~ " `hours', `minutes', `seconds' のいずれかを表" #~ "示\n" #~ " したい精度まで指定.\n" #~ " TIMESPEC なしの --iso-8601 は標準で `date'.\n" #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F %Y-%m-%d と同じ\n" #~ " %g %V の週番号に対応した 2桁の年\n" #~ " %G %V の週番号に対応した 4桁の年\n" #~ msgid "" #~ " %z RFC-822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z RFC-822 形式の数字によるタイムゾーン (-0500) (非標準拡張)\n" #~ " %Z タイムゾーン (例 EDT), タイムゾーンが決められない場合は何も表示しな" #~ "い\n" #~ "\n" #~ "標準では, date コマンドは数値欄をゼロで埋めます. GNU date コマンドでは,\n" #~ "`%' と数値表示命令の間に以下の修飾記号を指定することが出来ます.\n" #~ "\n" #~ " `-' (ハイフン) 欄を埋めない\n" #~ " `_' (下線) 欄をスペースで埋める\n" #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "非オプション引数の数が多すぎます" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "--string オプションを利用するときは, ファイルを指定できません" #~ msgid "undefined" #~ msgstr "定義されていません" #, fuzzy #~ msgid "cannot get time of day" #~ msgstr "複数の分割方法は指定できません" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin と David MacKenzie" #~ msgid "" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ " notrunc 出力ファイルを切り詰めない\n" #~ " ucase 英小文字を英大文字に変換する\n" #~ " swab 入力した全ての 2 バイトの組をそれぞれ交換する\n" #~ " noerror 入力エラーが生じても処理を続ける\n" #~ " sync 各入力ブロックが ibs の大きさになるように NUL で埋める\n" #~ " - block, unblock と共に使うと NUL ではなく空白で埋める\n" #~ msgid "%s+%s records in\n" #~ msgstr "読み込んだブロック数は %s+%s\n" #~ msgid "%s+%s records out\n" #~ msgstr "書き込んだブロック数は %s+%s\n" #~ msgid "truncated records" #~ msgstr "切り詰められた書き込みブロック数" #, fuzzy #~ msgid "unrecognized option %s=%s" #~ msgstr "オプション `-%c' を認識できません" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "`-conv'により一度にできる変換は {ascii,ebcdic,ibm}, {lcase,ucase}, {block," #~ "unblock}, {unblock,sync} のいずれかのみです。" #~ msgid " Type" #~ msgstr " タイプ" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "dircolorの内部データベースを出力するオプションを指定した時はファイル\n" #~ "引数を指定する必要はありません" #, fuzzy #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie および Jim Meyering" #, fuzzy #~ msgid "" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ msgstr "" #~ " -h, --human-readable 人間が読みやすい形式でサイズを表示する (例: 1K " #~ "234M 2G)\n" #~ " -H, --si 同上。但し単位は 1024 ではなく 1000 倍\n" #~ " -k, --kilobytes --block-size=1024 と同様\n" #~ " -l, --count-links ハードリンクであっても集計に含める\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "文字列を標準出力に表示.\n" #~ "\n" #~ " -n 最後の改行を出力しない\n" #~ " -e 後述のバックスラッシュでエスケープされる文字を解釈\n" #~ " -E STRING 内のそれらのシーケンスを解釈しない\n" #, fuzzy #~ msgid "Richard Mlynarik and David MacKenzie" #~ msgstr "Richard Stallman と David MacKenzie" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "`-LIST' オプションは過去のものです. `-t LIST' を使ってください" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "警告: 可搬でない BRE: `%s': 基本的な正規表現の最初の文字として\n" #~ "`^' を使うことは可搬ではないので無視します" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "使用法: %s [コマンドライン引数を無視]\n" #~ "もしくは: %s オプション\n" #~ "失敗を示す状態コードで終了する.\n" #~ "\n" #~ "これらのオプションは名前を短縮できない.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "-wNUMBER という形式を用いる際, 文字 `w' は省略できます.\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "`%s' オプションは過去のものです. `%s' を使ってください" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=SIZE 先頭の SIZE バイト数だけ出力\n" #~ " -n, --lines=NUMBER 先頭の指定行数行数出力 (デフォルト 10行)\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "SIZEはいくつかのサフィックスを付けられます: 512バイトでは`b',1キロでは" #~ "`k',\n" #~ "1メガでは`m'となっています.\n" #~ msgid "unrecognized option `-%c'" #~ msgstr "オプション `-%c' を認識できません" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "`-%s' オプションは過去のものです. `-%c %.*s%.*s%s' を使ってください" #, fuzzy #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Paul Rubin と David MacKenzie" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "ユーザとグループの両方を省略することはできません" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "複数ファイルのインストールですが、最後の引数 %s がディレクトリではありませ" #~ "ん" #, fuzzy #~ msgid "%s is a directory" #~ msgstr "%s は存在しますがディレクトリではありません" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "%s に対するファイルポインタを再配置できません" #, fuzzy #~ msgid "strip failed" #~ msgstr "状態検知失敗" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "ファイル1 のフィールド数が間違ってます: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "ファイル2 のフィールド数が間違ってます: `%s'" #~ msgid "too many non-option arguments" #~ msgstr "非オプション引数の数が多すぎます" #~ msgid "too few non-option arguments" #~ msgstr "非オプション引数の数が少なすぎます" #, fuzzy #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Scott Bartram と David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: すでにファイルが存在します" #, fuzzy #~ msgid "create symbolic link %s to %s" #~ msgstr "シンボリックリンク" #~ msgid "create hard link %s to %s" #~ msgstr "%2$s へのハードリンク %1$s を作成" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "使用法: %s [オプション]... LAST\n" #~ "もしくは: %s [オプション]... FIRST LAST\n" #~ "もしくは: %s [オプション]... FIRST INCREMENT LAST\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "複数のリンクをはる時は、最後の引数はディレクトリでなくてはなりません" #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line follow symbolic links on the command " #~ "line\n" #~ msgstr "" #~ " -g like -l 同様だが所有者をリストしない\n" #~ " -G, --no-group グループ情報の表示を行わない\n" #~ " -h, --human-readable サイズを人間が読みやすい形式で表示 (例: 1K " #~ "234M 2G)\n" #~ " --si 同上。但し単位は 1024 ではなく 1000 倍\n" #~ " -H, --dereference-command-line コマンドラインのシンボリックリンクを辿" #~ "る\n" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary ファイルをバイナリモードで読み込む\n" #~ " (DOS/Windows では標準)\n" #~ " -c, --check 与えられたリストに対する %s 値の照合を行う\n" #~ " -t, --text ファイルをテキストモードで読み込む (標準)\n" #~ "\n" #~ msgid "file" #~ msgstr "ファイル" #~ msgid "files" #~ msgstr "ファイル" #~ msgid "checksum" #~ msgstr "チェックサム" #~ msgid "checksums" #~ msgstr "チェックサム" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "オプション --string と --check は排他的に使われます" #~ msgid "no files may be specified when using --string" #~ msgstr "--string オプションを利用するときは, ファイルを指定できません" #~ msgid "only one argument may be specified when using --check" #~ msgstr "--check オプションを使うときは, 引数を一つだけ指定できます" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "引数が足りません" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "名前つきパイプに対してメジャーおよびマイナーデバイス番号が指定されて\n" #~ "いません" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "%s の属性を変更できません" #, fuzzy #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie および Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "複数のファイルを移動させる時は、最後の引数はディレクトリでなければなりませ" #~ "ん" #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "スケジューリングの優先度を変更してプログラムを実行.\n" #~ "コマンドが指定されない場合は, 現在のスケジューリング優先順位を表示. 標準" #~ "の\n" #~ "優先順位は 10. 指定範囲は -20 (最高優先順位) から 19 (最低) まで.\n" #~ "\n" #~ " -n, --adjustment=ADJUST 最初に優先順位を ADJUST に上げる\n" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "幅のオプション `%s' が正しくありません" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "幅 `%s' が正しくありません" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram と David MacKenzie" #~ msgid "old-style offset" #~ msgstr "古い形式のオフセット" #~ msgid "skip argument" #~ msgstr "スキップ数指定の引数" #~ msgid "limit argument" #~ msgstr "入力の大きさ制限の引数" #~ msgid "minimum string length" #~ msgstr "文字列長の最小値" #~ msgid "width specification" #~ msgstr "幅の指定" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "互換モード `%s' 中の 2 つめの演算子が無効" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "互換モードでは, 後ろ 2 つの引数はオフセットでなければなりません" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat と David MacKenzie" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "ファイル名に可搬性があるかを診断.\n" #~ "\n" #~ " -p, --portability このシステムだけでなく, 全 POSIX システムに対して" #~ "チェック.\n" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "タブサイズの指定に不正な文字が含まれています" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s は存在しますがディレクトリではありません" #~ msgid "directory `%s' is not searchable" #~ msgstr "ディレクトリ `%s' が見つかりません" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "ファイル名 `%s' の長さは %ld; 制限の %ld を越えています" #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "パス `%s' の長さは %d; 制限の %ld を越えています" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie および Kaveh Ghazi" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' ページ数の範囲指定が間違っています: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' 開始ページ指定が無効です: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' 終了ページの指定が無効です: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "`--pages' 開始ページの指定が終了ページよりも大きい値になっています" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=行幅' 行幅の指定が無効です: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "開始ページの指定が総ページ数よりも大きい値になっています: `%d'" #~ msgid "Page %d" #~ msgstr "%d ページ" #, fuzzy #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David Ihnat, David MacKenzie および Jim Meyering" #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: 無効なパターン指定です" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "使用法: %s フォーマット [データ...]\n" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "[訳註] 重要なものなのでオリジナルもそのまま残してあります.\n" #~ "\n" #~ "本プログラムはフリーソフトウェアです. あなたは Free Software Foundation\n" #~ "が公表した GNU 一般公有使用許諾のバージョン 2 もしくは\n" #~ "それ以降のバージョンのうちのいずれかのバージョン (選択) で定められた\n" #~ "条項の下で本プログラムを再配布したり変更したりすることができます.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "本プログラムは有用であると期待しておりますが, 配布にあたっては,\n" #~ "市場性または特定目的適合性に対する暗黙の保証を含めて,\n" #~ "いかなる保証も致しません. 詳細は GNU 一般公有使用許諾をお読みください.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "あなたは本プログラムとともに GNU 一般公有使用許諾の写しを受け取っている\n" #~ "はずですが, もしそうでない場合は Free Software Foundation, inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA へ手紙を書いてくだ" #~ "さい.\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "%s を実行できません" #, fuzzy #~ msgid "cannot lstat %s" #~ msgstr "日時を設定できません" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "ディレクトリ %s に移動できません" #~ msgid "cannot remove `.' or `..'" #~ msgstr "`.' や `..' は削除できません" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "一つまたは複数の FILE を削除 (unlink) する。\n" #~ "\n" #~ " -d, --directory FILE が空ではないディレクトリであっても unlink す" #~ "る\n" #~ " (スーパーユーザのみ)\n" #~ " -f, --force 存在しないファイルは無視し、確認を取らない\n" #~ " -i, --interactive 削除の前に確認をとる\n" #~ " -r, -R, --recursive ディレクトリの中身を再帰的に削除する\n" #~ " -v, --verbose 実行されることを説明する\n" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "初期の値が最後の値より大きいときは, ステップ数は負でなければなりません" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "初期の値が最後の値より小さいときは, ステップ数は負でなければなりません" #~ msgid "sort size" #~ msgstr "ソートサイズ" #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "`-%d' オプションは過去のものです. `-l %d' を使ってください" #, fuzzy #~ msgid "" #~ "Display file or filesystem status.\n" #~ "\n" #~ " -f, --filesystem display filesystem status instead of file status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "ファイルやファイルシステムの状態を表示する。\n" #~ "\n" #~ " -l, --link\t\tリンクを辿る\n" #~ " -f, --filesystem\tファイルの状態ではなくファイルシステムの状態を表示す" #~ "る\n" #~ " -t, --terse\t\t簡潔な形式で情報を表示する\n" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau と David MacKenzie" #~ msgid "stdin: read error" #~ msgstr "標準入力: 読み込みエラー" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: 旧式オプション中の接尾文字が無効です" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "引数が多すぎます. tail の旧式オプション (%s) を使う場合は\n" #~ "指定できるファイルは 1つだけになります. 代わりに等価の -n または -c\n" #~ "オプションを使ってください." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "警告: tail の旧式オプション (%s) では 2つ以上のファイルを指定することは\n" #~ "可搬性がよくありません. 代わりに等価の -n または -c オプションを\n" #~ "使ってください." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "`%s' オプションは過去のものです; `%s-%c %.*s' を使ってください" #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s は大きすぎて表示できません" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s はこのシステムの最大ファイルサイズより大きいです" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: サイズの継続変化の最大数が無効です" #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Richard Stallman と David MacKenzie" #~ msgid "argument expected\n" #~ msgstr "引数が必要です\n" #~ msgid "integer expression expected %s\n" #~ msgstr "%s には, 整数表現が必要です\n" #~ msgid "before -lt" #~ msgstr "-lt の前" #~ msgid "after -lt" #~ msgstr "-lt の後" #~ msgid "before -le" #~ msgstr "-le の前" #~ msgid "after -le" #~ msgstr "-le の後" #~ msgid "before -gt" #~ msgstr "-gt の前" #~ msgid "after -gt" #~ msgstr "-gt の後" #~ msgid "before -ge" #~ msgstr "-ge の前" #~ msgid "after -ge" #~ msgstr "-ge の後" #~ msgid "before -ne" #~ msgstr "-ne の前" #~ msgid "after -ne" #~ msgstr "-ne の後" #~ msgid "before -eq" #~ msgstr "-eq の前" #~ msgid "after -eq" #~ msgstr "-eq の後" #~ msgid "after -t" #~ msgstr "-t の後" #~ msgid "FIXME: ksb and mjb" #~ msgstr "FIXME: ksb と mjb" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "引数が多すぎます" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "各 FILE のアクセス・修正時刻を現在時刻に更新する。\n" #~ "\n" #, fuzzy #~ msgid "file arguments missing" #~ msgstr "引数が足りません" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "無効なバックスラッシュエスケープ `\\%c'" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "削除及び繰り返し文字圧縮の両方を行なう場合, 2 つの文字列が与えられなけれ" #~ "ば\n" #~ "なりません" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "繰り返しの圧縮を行うには, 最低限 1 つの文字列が与えられなければなりません" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "無効なコードマッピング\n" #~ " -- 置換の時, 1 つめの文字列が [:lower:] か [:upper:] の構成ならば, \n" #~ " string2 ではそれぞれに対応する構成(それぞれ [:upper:] か [:lower:])" #~ "と\n" #~ " 一致しなければなりません." #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "使用法: %s [コマンドライン引数を無視]\n" #~ "もしくは: %s オプション\n" #~ "成功を示す状態コードで終了.\n" #~ "\n" #~ "以下のオプションは名前を短縮できない.\n" #~ "\n" #~ msgid "only one argument may be specified" #~ msgstr "引数を一つだけ指定できます" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "" #~ "`-LIST' オプションは過去のものです. `--first-only -t LIST' を使ってくださ" #~ "い" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "`-%lu' オプションは過去のものです; `-f %lu' を使ってください" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie および Michael Stone" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " --login print system login processes\n" #~ " (equivalent to SUS -l)\n" #~ msgstr "" #~ " -i, --idle 待機時間を「時:分」や . もしくは「昔」を追記\n" #~ " (推奨されない, -u を使用)\n" #~ " --login システムログインプロセスを表示\n" #~ " (SUS -l と等しい)\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "警告: -i は将来のリリースでは削除されます. 代わりに -u を使ってください" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "警告: '-l' の意味は POSIX に合わせるために将来のリリースで変更されます." #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: UID %u のユーザ名が見つかりません\n" #, fuzzy #~ msgid "Try %s --help' for more information.\n" #~ msgstr "詳しくは `%s --help' を実行して下さい.\n" #, fuzzy #~ msgid "cannot lstat `.'" #~ msgstr "日時を設定できません" #, fuzzy #~ msgid "%s: remove directory %s? " #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "" #~ "%s: ディレクトリ %s は書き込み保護されています。\n" #~ " -- それでも下りていきますか(yes/no)? " #~ msgid "removing all entries of directory %s\n" #~ msgstr "ディレクトリ `%s' 中身を全て削除しました\n" #~ msgid "continue? " #~ msgstr "続けますか(yes/no)? " #, fuzzy #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "ディレクトリ %s に移動できません" #, fuzzy #~ msgid "%s: remove directory %s%s? " #~ msgstr "ディレクトリ %s を作成できません" #~ msgid " (might be nonempty)" #~ msgstr "(多分、ファイルが残ったままです)" #, fuzzy #~ msgid "removing the directory itself: %s\n" #~ msgstr "警告: ディレクトリを %s に変更できません" #, fuzzy #~ msgid "cannot remove current directory %s" #~ msgstr "ディレクトリ %s を作成できません" #, fuzzy #~ msgid "cannot fork" #~ msgstr "%s を実行できません" #, fuzzy #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "エラー: ディレクトリ %s は元々 デバイスまたは i ノード番号が %lu/%lu\n" #~ "でしたが、(そこに chdir した)現在、`.' の番号は %lu/%lu です。\n" #~ "どう云うことかというと、rm が動作しているうちに、そのディレクトリは他の\n" #~ "ディレクトリに移されたか、他のディレクトリに link したと云う事です。" #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "エラー: ディレクトリ %s は元々 デバイスまたは i ノード番号が %lu/%lu\n" #~ "でしたが、(そこに chdir した)現在、`.' の番号は %lu/%lu です。\n" #~ "どう云うことかというと、rm が動作しているうちに、そのディレクトリは他の\n" #~ "ディレクトリに移されたか、他のディレクトリに link したと云う事です。" #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after changing into at least one subdirectory\n" #~ "and changing back via `..'), the numbers for `.' are %lu/%lu.\n" #~ "That means that while rm was running, a partially-removed subdirectory\n" #~ "was moved to a different position in the file system hierarchy." #~ msgstr "" #~ "エラー: ディレクトリ %s は元々 デバイスまたは i ノード番号が %lu/%lu\n" #~ "でしたが、(そこに chdir した)現在、`.' の番号は %lu/%lu です。\n" #~ "どう云うことかというと、rm が動作しているうちに、そのディレクトリは他の\n" #~ "ディレクトリに移されたか、他のディレクトリに link したと云う事です。" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " -R, --recursive copy directories recursively\n" #~ " --reply={yes,no,query} specify how to handle the prompt about an\n" #~ " existing destination file\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=WHEN 疎らなファイルの作成を制御する\n" #~ " -R, --recursive ディレクトリを再帰的にコピーする\n" #~ " --reply={yes,no,query} コピー先の既存ファイルに関する問い合わせ" #~ "の\n" #~ " 扱い方を指定する\n" #~ " --strip-trailing-slashes 各 SOURCE 引数の余分な末尾スラッシュを取り" #~ "除く\n" #, fuzzy #~ msgid " or: %s [-acm] MMDDhhmm[YY] FILE... (obsolete)\n" #~ msgstr " 又は: %s [-acm] MMDDhhmm[YY] FILE... (昔の書式)\n" #~ msgid "" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ "\n" #~ "三つの `時刻-日付' 形式は -d や -t オプション用と認識され、廃れた書式の\n" #~ "引数とは全く異なることに注意しましょう。\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version バージョン情報を表示して終了\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version バージョン情報を表示して終了\n" #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ " --help この使い方を表示して終了する\n" #~ " --version バージョン情報を表示して終了する\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version バージョン情報を表示して終了\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version バージョン情報を表示して終了\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version バージョン情報を表示して終了\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version バージョン情報を表示して終了\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version バージョン情報を表示して終了\n" #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ " --help この使い方を表示して終了する\n" #~ " --version バージョン情報を表示して終了する\n" #~ "\n" #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "各ファイルの所有グループ属性の変更.\n" #~ "\n" #~ " -c, --changes 変更を行なった時にのみ、変更の結果を報告する\n" #~ " --dereference シンボリックリンクそのものではなく、リンク先の\n" #~ " ファイルに対して影響させる\n" #~ " -h, --no-dereference シンボリックリンクの参照先ファイルではなく\n" #~ " リンクファイルそのものに影響させる\n" #~ " (lchown() をサポートするシステムでのみ有効)\n" #~ " -f, --silent, --quiet エラーメッセージを極力抑える\n" #~ " --reference=RFILE RFILE に指定したファイルのグループ名を利用する\n" #~ " -R, --recursive ディレクトリとその中身を再帰的に変更する\n" #~ " -v, --verbose ファイルを処理するたびに、詳細な報告を行なう\n" #~ " --help 使い方を標準出力に表示する\n" #~ " --version バージョン情報を標準出力に表示する\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " the specified OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "FILE の所有者やグループを OWNER や GROUP に変更する。\n" #~ "\n" #~ " -c, --changes 変更を行なったときだけ詳細な報告を行なう\n" #~ " --dereference シンボリックリンクそのものではなく、その参照先" #~ "の\n" #~ " ファイルに対して影響を与える\n" #~ " -h, --no-dereference シンボリックリンクの参照先ファイルではなく\n" #~ " リンクファイルそのものに影響を与える\n" #~ " (シンボリックリンクの所有属性を変更できるシス" #~ "テム\n" #~ " でのみ有効)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " 指定された所有者やグループと一致するファイルの" #~ "み、\n" #~ " 所有者やグループを変更する。いずれか一方を省" #~ "略\n" #~ " したときは、省略された方をマッチさせない。\n" #~ " -f, --silent, --quiet エラーメッセージを抑制する\n" #~ " --reference=RFILE OWNER:GROUP を指定する代わりに RFILE で指定され" #~ "た\n" #~ " ファイルの所有者・グループの属性値を利用す" #~ "る\n" #~ " -R, --recursive ディレクトリの中のファイルを、再帰的に処理する\n" #~ " -v, --verbose 処理毎の診断内容を出力する\n" #~ " --help 使い方を標準出力に表示して終了する\n" #~ " --version バージョン情報を標準出力に表示して終了する\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, --no-dereference never follow symbolic links\n" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links\n" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links\n" #~ " -p, --preserve preserve file attributes if possible\n" #~ " --parents append source path to DIRECTORY\n" #~ " -P same as `--parents' for now; soon to " #~ "change to\n" #~ " `--no-dereference' to conform to POSIX\n" #~ " -r copy recursively, non-directories as " #~ "files\n" #~ " WARNING: use -R instead when you might " #~ "copy\n" #~ " special files like FIFOs or /dev/zero\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "SOURCE から DEST へ、または複数の SOURCE から DIRECTORY へコピーします。\n" #~ "\n" #~ " -a, --archive -dpR と同じ\n" #~ " --backup[=CONTROL] ファイルを上書きする際、バックアップをと" #~ "る\n" #~ " -b 引数をとらないこと以外は --backup と同じ\n" #~ " -d, --no-dereference シンボリックリンクを辿らない\n" #~ " -f, --force 既存のコピー先ファイルをオープンできない場" #~ "合、\n" #~ " 削除してからもう一度コピーを試す\n" #~ " -i, --interactive 上書きする前に確認する\n" #~ " -H コマンドラインのシンボリックリンクを辿る\n" #~ " -l, --link コピーの代わりにリンクをはる\n" #~ " -L, --dereference 常にシンボリックリンクを辿る\n" #~ " -p, --preserve 可能ならばファイル属性を維持する\n" #~ " --parents ソースパスとして DIRECTORY を補足する\n" #~ " -P 現在は `--parents' と同じ; POSIX に準拠する" #~ "ため\n" #~ " `--no-dereference' の機能にまもなく変更さ" #~ "れる\n" #~ " -r ディレクトリ以外はファイルとして再帰的にコ" #~ "ピー\n" #~ " 警告: FIFO や /dev/zero の様なスペシャ" #~ "ル\n" #~ " ファイルをコピーするなら -R を使いましょ" #~ "う\n" #~ " --remove-destination 既存のコピー先ファイルをオープンを試す前" #~ "に\n" #~ " 削除を行なう(--force 比べてみてくださ" #~ "い)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " -R, --recursive copy directories recursively\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ " --sparse=WHEN 疎らなファイルの作成方法を制御\n" #~ " -R, --recursive ディレクトリを再帰的にコピーする\n" #~ " --strip-trailing-slashes SOURCE 引数に付いているスラッシュを取り除" #~ "く\n" #~ " -s, --symbolic-link コピーする代わりにシンボリックリンクを貼" #~ "る\n" #~ " -S, --suffix=SUFFIX 単純バックアップの際のサフィックスの指定\n" #~ " --target-directory=DIR 全 SOURCE 引数を DIR ディレクトリへ移動す" #~ "る\n" #~ " -u, --update SOURCE ファイルがコピー先ファイルよりも新し" #~ "いか\n" #~ " コピー先にファイルが無い場合にのみコピー" #~ "する\n" #~ " -v, --verbose 行なわれることを説明する\n" #~ " -x, --one-file-system 異なるファイルシステムにはコピーしない\n" #~ " --help 使い方を標準出力に表示する\n" #~ " --version バージョン情報を標準出力に表示する\n" #~ "\n" #~ "特に指定がなければ、疎らな SOURCE ファイルは発見的手法で検出され、対応す" #~ "る\n" #~ "DEST ファイルは疎らなファイルとして作成される。これは `--sparse=auto'\n" #~ "オプションをつけたのと同じである。 `--sparse=always' を指定すると、" #~ "SOURCE\n" #~ "ファイルが、長い連続するゼロのバイトシーケンスをもっている時には、常に\n" #~ "疎らなファイルとして DEST ファイルを作成する。\n" #~ "\n" #~ "疎らなファイルとしてファイルを作成をしたくなければ、--sparse=never\n" #~ "オプションを使うこと。\n" #~ msgid "" #~ "Warning: the meaning of `-P' will change in the future to conform to " #~ "POSIX.\n" #~ "Use `--parents' for the old meaning, and `--no-dereference' for the new " #~ "one." #~ msgstr "" #~ "警告: `-P' の意味は POSIX に準拠するために近々変更されます。過去の意味と\n" #~ "するためには `--parents' を使い、新しい意味とするには `--no-dereference' " #~ "を\n" #~ "使ってください。" #~ msgid "" #~ "Copy a file, converting and formatting according to the options.\n" #~ "\n" #~ " bs=BYTES force ibs=BYTES and obs=BYTES\n" #~ " cbs=BYTES convert BYTES bytes at a time\n" #~ " conv=KEYWORDS convert the file as per the comma separated keyword " #~ "list\n" #~ " count=BLOCKS copy only BLOCKS input blocks\n" #~ " ibs=BYTES read BYTES bytes at a time\n" #~ " if=FILE read from FILE instead of stdin\n" #~ " obs=BYTES write BYTES bytes at a time\n" #~ " of=FILE write to FILE instead of stdout\n" #~ " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" #~ " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "BLOCKS and BYTES may be followed by the following multiplicative " #~ "suffixes:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Each KEYWORD may be:\n" #~ "\n" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternated EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "ファイルをオプション指定に応じた変換・形式で加工して、コピーする\n" #~ "\n" #~ " bs=BYTES ibs=BYTES obs=BYTES に強制する\n" #~ " cbs=BYTES 一度あたり BYTES ぶんの変換を行なう\n" #~ " conv=KEYWORDS キーワードリストで指定されたファイル変換を行なう\n" #~ " キーワードのリストはカンマで区切る\n" #~ " count=BLOCKS 入力ブロックを BLOCKS の大きさだけコピーする\n" #~ " ibs=BYTES 一度あたり BYTES ぶんの読み込みを行なう\n" #~ " if=FILE 標準入力の代わりに、FILE を読み込む\n" #~ " obs=BYTES 一度あたり BYTES ぶんの書き込みを行なう\n" #~ " of=FILE 標準出力の代わりに、FILE へ書き込む\n" #~ " seek=BLOCKS obs サイズの BLOCKS ぶん書き込み開始位置をスキップす" #~ "る\n" #~ " skip=BLOCKS ibs サイズの BLOCKS ぶん読み込み開始位置をスキップす" #~ "る\n" #~ " --help 使い方を表示して終了する\n" #~ " --version バージョン情報を表示して終了する\n" #~ "\n" #~ "BLOCKS や BYTES の指定には、以下の様な倍数詞サフィックスを指定できます:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, そのほか T, P, E, Z, Y を使えます。\n" #~ "キーワードの指定には、以下のものを指定できます。\n" #~ "\n" #~ " ascii EBCDIC から ASCII に変換\n" #~ " ebcdic ASCII から EBCDIC に変換\n" #~ " ibm ASCII から 代替 EBCDIC に変換\n" #~ " block 改行で区切られたレコードを、cbs で指定されたブロックサイズに\n" #~ " 合わせる。足りない部分は空白で埋める\n" #~ " unblock cbs で指定されたブロック末尾の空白を改行に変換する\n" #~ " lcase 大文字を小文字に変換する\n" #~ " notrunc 出力ファイルの切り詰めを行なわない\n" #~ " ucase 小文字を大文字に変換する\n" #~ " swab 奇数バイトと偶数バイトを入れ替える\n" #~ " noerror 入力エラーが発生しても、処理を継続する\n" #~ " sync 入力ファイルに連続した NUL を詰めて、ibs で指定したブロック\n" #~ " サイズに合わせる\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "ファイルが属するファイルシステムについての情報を表示する。\n" #~ "或いは、指定がなければ、全ファイルシステムの使用量を表示する。\n" #~ "\n" #~ " -a, --all 0 ブロックのファイルシステムも表示させる\n" #~ " --block-size=サイズ 指定サイズの大きさを 1 ブロックとする\n" #~ " -h, --human-readable 人に解りやすい形式で表示する (例: 1K 234M 2G)\n" #~ " -H, --si 同上。但し、桁幅を 1024 の代わりに 1000 とする\n" #~ " -i, --inodes ブロック使用情報の代わりに、inode 情報を表示\n" #~ " -k, --kilobytes キロバイト単位で表示\n" #~ " -l, --local ローカルファイルシステムのみ表示する\n" #~ " -m, --megabytes メガバイト単位で表示\n" #~ " --no-sync キャッシュとディスクとの同期を取らずに表示(標準)\n" #~ " -P, --portability POSIX 形式の出力フォーマットを利用する\n" #~ " --sync キャッシュとディスクとの同期を取ってから表示\n" #~ " -t, --type=タイプ 指定したタイプのファイルシステムのみ表示する\n" #~ " -T, --print-type ファイルシステムの種類を表示する\n" #~ " -x, --exclude-type=タイプ 指定したタイプのファイルシステム以外を表示す" #~ "る\n" #~ " -v (無視される)\n" #~ " --help 使い方を表示する\n" #~ " --version バージョン番号を表示する\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "ファイル毎のディスク使用量を集計する。ディレクトリは再帰的に処理する。\n" #~ "\n" #~ " -a, --all ディレクトリだけでなく、全てのファイルについて表" #~ "示\n" #~ " --block-size=サイズ 指定サイズの大きさを 1 ブロックとする\n" #~ " -b, --bytes バイト単位で表示する\n" #~ " -c, --total 合計を表示する\n" #~ " -D, --dereference-args シンボリックリンクの場合は、参照先を辿る\n" #~ " -h, --human-readable 人に解りやすい形式で表示する (例: 1K 234M 2G)\n" #~ " -H, --si 同上。但し、桁幅を 1024 の代わりに 1000 とする\n" #~ " -k, --kilobytes キロバイト単位で表示する\n" #~ " -l, --count-links 同じファイルを示すハードリンクの場合であっても\n" #~ " 全て集計に加える\n" #~ " -L, --dereference 全てのシンボリックリンクの参照先を辿る\n" #~ " -m, --megabytes メガバイト単位で表示する\n" #~ " -S, --separate-dirs サブディレクトリのサイズを集計に含めない\n" #~ " -s, --summarize 引数毎の合計のみ表示する\n" #~ " -x, --one-file-system 異なるファイルシステムのディレクトリは集計しな" #~ "い\n" #~ " -X ファイル, --exclude-from=ファイル 指定ファイル中のパターンに一致す" #~ "る\n" #~ " ファイルは集計しない\n" #~ " --exclude=パターン パターンに一致するファイルは集計しない\n" #~ " --max-depth=N コマンドライン引数より、最大 N 個下の階層までの\n" #~ " ディレクトリ(--all の指定でファイルも)を集計する\n" #~ " --max-depth=0 なら、--summarize と同等となる\n" #~ " --help 使い方を表示する\n" #~ " --version バージョン情報を表示する\n" #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "前二つの書式では、SOURCE ファイルを DEST へコピーするか、複数の SOURCE\n" #~ "ファイルを既存ディレクトリへコピーします。同時にアクセス権、所有者やグルー" #~ "プ\n" #~ "も設定します。三つ目の書式では、指定されたディレクトリを全て作成します。\n" #~ "\n" #~ " --backup[=CONTROL] ファイルを上書きする前にバックアップを作成する\n" #~ " -b 引数を取らないこと以外は --backup と同じ\n" #~ " -c (無視される)\n" #~ " -d, --directory 全ての引数をディレクトリ名であると解釈する\n" #~ " 指定されたディレクトリを一度に作成する\n" #~ " -D DEST の最後以外のファイルをまず全て作成し、その後" #~ "で\n" #~ " SOURCE を DEST にコピーする。一番目の書式に有" #~ "効\n" #~ " -g, --group=GROUP 現在のプロセスグループの代わりにグループ属性を指定" #~ "する\n" #~ " -m, --mode=MODE アクセスモードを変更する。(指定が無ければ rwxr-xr-" #~ "x)\n" #~ " -o, --owner=OWNER 所有者を変更する (スーパーユーザーだけが可能)\n" #~ " -p, --preserve-timestamps SOURCE ファイルのアクセス・変更時刻を対応す" #~ "る\n" #~ " DEST ファイルにも利用する\n" #~ " -s, --strip シンボルテーブルを剥ぎ落とす 1 又は 2 番目の形式" #~ "の\n" #~ " 引数の際にのみ利用可\n" #~ " -S, --suffix=SUFFIX 普段のバックアップサフィックスを無視する\n" #~ " --verbose ディレクトリを作成するたびに、その名前を表示する\n" #~ " --help 使い方を表示する\n" #~ " --version バージョン情報を表示する\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "TARGET に指定したファイルに対して、任意のリンク名でリンクを作成する。\n" #~ "リンク名が省略された場合、TARGET と同じベースファイル名のリンクを現在の\n" #~ "ディレクトリに作成する。複数の TARGET が指定される様な、二番目の形式を\n" #~ "使った場合、最後の引数はディレクトリでなければならない。\n" #~ "-- この場合、ディレクトリの中にそれぞれの対象ファイル毎にリンクを作成す" #~ "る。\n" #~ "特に指定がない場合、ハードリンクを作成するので、シンボリックリンクを\n" #~ "作成するには、--symbolic を指定する。ハードリンクを作成する場合、\n" #~ "TARGET ファイルは作成時に存在していなければならない。\n" #~ "\n" #~ " --backup[=CONTROL] 作成するリンクのファイル名が既に存在する場" #~ "合、\n" #~ " バックアップを作成する\n" #~ " -b 引数を取らない事以外は --backup と同じ\n" #~ " -d, -F, --directory ディレクトリに対するハードリンクを作成\n" #~ " (管理者(root) のみ利用可能)\n" #~ " -f, --force 既存の TARGET ファイルは削除する\n" #~ " -n, --no-dereference 指定したリンク名が通常ファイルであっても、\n" #~ " ディレクトリへのシンボリックリンクと見な" #~ "す\n" #~ " -i, --interactive 上書きする前に確認をとる\n" #~ " -s, --symbolic ハードリンクではなくシンボリックリンクを作成" #~ "する\n" #~ " -S, --suffix=SUFFIX バックアップサフィックスを指定する\n" #~ " --target-directory=DIR リンクを作成するディレクトリを DIR に指定す" #~ "る\n" #~ " -v, --verbose 処理内容の詳細を表示する\n" #~ " --help 使い方を表示して終了する\n" #~ " --version バージョン番号を表示して終了する\n" #~ "\n" #, fuzzy #~ msgid "%a %b %d %H:%M:%S %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuSUX nor --sort.\n" #~ "\n" #~ " -a, --all do not hide entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ " -f do not sort, enable -aU, disable -lst\n" #~ " -F, --classify append indicator (one of */=@|) to entries\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time list both full date and full time\n" #~ msgstr "" #~ "指定されたファイルの情報をリスト出力する(省略時は現在のディレクトリ)。\n" #~ "-cftuSUX も --sort も指定がないと、アルファベット順にソートする。\n" #~ "\n" #~ " -a, --all '.' で始まる隠しファイルも表示する\n" #~ " -A, --almost-all '.' で始まる隠しファイルも表示するが、\n" #~ " 暗黙の . と .. は表示しない\n" #~ " -b, --escape バックスラッシュシーケンスなどの\n" #~ " 非表示文字をエスケープする\n" #~ " --block-size=SIZE SIZE を 1 ブロックの大きさとする。\n" #~ " -B, --ignore-backups ~ が最後につくファイルをリスト表示しない\n" #~ " -c -lt 付: ctime (最終更新時刻) でソートし表示" #~ "する\n" #~ " -l 付 : ctime を表示し、名前でソートする\n" #~ " その他: ctime でソートする\n" #~ " -C 垂直方向に項目をリストする\n" #~ " --color[=WHEN] ファイルタイプに応じて色づけして表示する\n" #~ " WHEN には`never', `always' 又は `auto' が" #~ "入る\n" #~ " -d, --directory ディレクトリを中身を表示するのではなく\n" #~ " 他のファイルと同じように表示する\n" #~ " -D, --dired Emacs の dired-mode のような表示形式にする\n" #~ " -f ソートしない。-aU が有効、-lst を無効\n" #~ " -F, --classify ファイル名の型を示す文字 (*/=@) を付ける\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time 日付・時刻に関する全ての情報を表示する\n" #~ msgid "" #~ " -g (ignored)\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H same as `--si' for now; soon to change\n" #~ " to conform to POSIX\n" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode print index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l use a long listing format\n" #~ " -L, --dereference list entries pointed to by symbolic links\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ " -n, --numeric-uid-gid list numeric UIDs and GIDs instead of names\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o use long listing format without group info\n" #~ " -p, --file-type append indicator (one of /=@|) to entries\n" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print size of each file, in blocks\n" #~ msgstr "" #~ " -g (無視される)\n" #~ " -G, --no-group グループ情報の表示を行なわない\n" #~ " -h, --human-readable 人に解りやすい形式で出力する (例: 1K 234M " #~ "2G)\n" #~ " --si 同上。但し、倍数を 1024 でなく、1000 とする\n" #~ " -H 今のところ `--si' と同じだが、近々 POSIX に\n" #~ " 準拠した動作に変更される\n" #~ " --indicator-style=WORD ファイル標識スタイルの指定。WORD として使え" #~ "る\n" #~ " 単語は以下の通り\n" #~ " none (標準), classify (-F), file-type " #~ "(-p)\n" #~ " -i, --inode ファイルのインデックス番号を表示する\n" #~ " -I, --ignore=PATTERN PATTERN と照合するリストを表示しない\n" #~ " -k, --kilobytes --block-size=1024 と同等\n" #~ " -l 詳細リスト形式を表示する\n" #~ " -L, --dereference シンボリックリンクされたファイルをリスト表示" #~ "する\n" #~ " -m ファイルをコンマ `,' で区切り、一行にできる限" #~ "り\n" #~ " ファイルを表示する\n" #~ " -n, --numeric-uid-gid UID や GID を名前でなく番号で表示する\n" #~ " -N, --literal 生の項目名を表示する\n" #~ " (例えば、コントロール文字を特別扱いしな" #~ "い)\n" #~ " -o 所有グループ除いた詳細リスト形式で表示する\n" #~ " -p, --file-type ファイルに目印(/=@! のどれか)を項目に付け足" #~ "す\n" #~ " -q, --hide-control-chars 表示できない文字を '?' に置き換える\n" #~ " --show-control-chars 表示できない文字もそのまま出力する(プログラム" #~ "が\n" #~ " `ls' ではないか出力が端末ではない場合の初期" #~ "状態)\n" #~ " -Q, --quote-name ファイル名をダブルクオート(\")でくくる\n" #~ " --quoting-style=WORD 項目名のクオートに WORD 文字を使う:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ " -r, --reverse ソートを反転する\n" #~ " -R, --recursive すべてのサブディレクトリを再帰的に表示する\n" #~ " -s, --size 各ファイルのブロックサイズを表示する\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD show time as WORD instead of modification " #~ "time:\n" #~ " atime, access, use, ctime or status; use\n" #~ " specified time as sort key if --sort=time\n" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -1 list one file per line\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ " -S ファイルサイズでソートする\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD 時刻を修正時刻ではなく WORD の時刻を使う\n" #~ " atime, access, use, ctime 又は status\n" #~ " 指定した時刻は--sort=time のキーとして使わ" #~ "れる\n" #~ " -t 修正時刻でソートする\n" #~ " -T, --tabsize=COLS 8 の代わりにタブストップを COLS とみなす\n" #~ " -u -lt と利用: アクセス時刻でソートし、表示す" #~ "る\n" #~ " -l と利用: アクセス時刻を表示する\n" #~ " その他と利用: アクセス時刻でソートする\n" #~ " -U ソートをしない -- ディレクトリ順にリストす" #~ "る\n" #~ " -v バージョンでソートする\n" #~ " -w, --width=COLS 画面幅を現在値ではなく COLS と見なす\n" #~ " -x 列方向ではなく、行方向に項目をリストする\n" #~ " -X 項目の拡張子順でソートする\n" #~ " -1 一行あたりに一つのファイルをリストする\n" #~ " --help このヘルプを表示して終了する\n" #~ " --version バージョン情報を表示して終了する\n" #~ "\n" #~ "特に指定がなければ、color はファイルタイプによって区別されません。これは\n" #~ "--color=none を使うのと同等です。WHEN 引数を指定せずに --color オプション" #~ "を\n" #~ "使うと、--color=always を使うのと同等です。--color=auto を使えば、接続され" #~ "た\n" #~ "端末(tty)の標準出力にのみカラーコードを出力します。\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ " -m, --mode=MODE set permission mode (as in chmod), not a=rw - umask\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "与えられた `名前' で 名前つきパイプ(FIFO)を作る。\n" #~ "\n" #~ " -m, --mode=MODE アクセス権を(chmod のように)指定する\n" #~ " 省略時は a=rw から umask を引いたものとなる\n" #~ " --help 使い方を標準出力に表示する\n" #~ " --version バージョン情報を標準出力に表示する\n" #, fuzzy #~ msgid "cannot create fifo `%s'" #~ msgstr "ディレクトリ %s を作成できません" #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "キャラクタ型スペシャルファイルを作成する時は、メジャー及びマイナーデバイ" #~ "ス\n" #~ "番号を指定しなければなりません" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force never prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -u, --update move only older or brand new non-" #~ "directories\n" #~ " -v, --verbose explain what is being done\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "SOURCE から DEST へ名前を変更、もしくはファイルをディレクトリへ移動す" #~ "る。\n" #~ "\n" #~ " --backup[=CONTROL] ファイルを上書きする際, バックアップをと" #~ "る\n" #~ " -b 引数を取らないこと以外は --backup と同じ\n" #~ " -f, --force 強制的に上書きをする\n" #~ " -i, --interactive 上書きをする前に確認をとる\n" #~ " --strip-trailing-slashes SOURCE 引数から余計なスラッシュを取り除く\n" #~ " -S, --suffix=SUFFIX バックアップサフィックスの指定\n" #~ " --target-directory=DIR 全 SOURCE 引数を DIR ディレクトリに移動す" #~ "る\n" #~ " -u, --update 同一ファイル名、同一タイムスタンプの\n" #~ " ファイルは移動しない\n" #~ " -v --verbose 行なわれることを説明する\n" #~ " --help 使い方を標準出力に表示して終了する\n" #~ " --version バージョン情報を標準出力に表示して終了す" #~ "る\n" #~ "\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink directory, even if non-empty (super-user " #~ "only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "一つあるいは複数のファイルを削除(unlink)する。\n" #~ "\n" #~ " -d, --directory 空でなくてもディレクトリのリンクを削除する\n" #~ " 管理者(root)のみ利用可\n" #~ " -f, --force 存在しないファイルは無視し、確認をとらない\n" #~ " -i, --interactive 削除をする前に確認をとる\n" #~ " -r, -R, --recursive ディレクトリとその中身を再帰的に削除する\n" #~ " -v --verbose 行なわれることを逐一報告する\n" #~ " --help 使い方を標準出力に表示して終了する\n" #~ " --version バージョン情報を標準出力に表示して終了する\n" #~ "\n" #~ "`-' で始まる名前のファイルを削除するには、例えば `-foo' と云うファイルな" #~ "ら\n" #~ "こういうコマンドを使いましょう:\n" #~ " %s -- -foo\n" #~ " %s ./-foo\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " -s, --size=N shred this many bytes (suffixes like k, M, G accepted)\n" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ " - shred standard output\n" #~ " --help display this help and exit\n" #~ " --version print version information and exit\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the filesystem overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern filesystem designs do not satisfy this\n" #~ "assumption. The following are examples of filesystems on which shred is\n" #~ "not effective:\n" #~ "\n" #~ "* log-structured or journaled filesystems, such as those supplied with\n" #~ " AIX and Solaris (and JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* filesystems that write redundant data and carry on even if some writes\n" #~ " fail, such as RAID-based filesystems\n" #~ "\n" #~ "* filesystems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ "* filesystems that cache in temporary locations, such as NFS\n" #~ " version 3 clients\n" #~ "\n" #~ "* compressed filesystems\n" #~ msgstr "" #~ "指定された FILE に繰り返して上書きを行い、非常に高価なハードウェアでさえ\n" #~ "データの復旧のための調査が困難となるようにします。\n" #~ "\n" #~ " -f, --force 必要に応じて書込み可能な権限に変更する\n" #~ " -n, --iterations=N デフォルト回数(%d)の代わりに N 回の書き込みを行な" #~ "う\n" #~ " -s, --size=N このバイト数に寸断する (k, M, G の様な接尾辞を使えます)\n" #~ " -u, --remove 上書きの後に切取りと削除\n" #~ " -v, --verbose 進捗を表示\n" #~ " -x, --exact ファイルブロック単位へのファイルサイズ切り上げをしない\n" #~ " -z, --zero shred を隠すために、最後に一度ゼロでの上書きを追加する\n" #~ " - 標準出力を寸断する\n" #~ " --help この使い方を表示して終了する\n" #~ " --version バージョン情報を表示して終了する\n" #~ "\n" #~ "--remove (-u) が指定されたときに FILE を削除します。デフォルトでファイル" #~ "を\n" #~ "削除しないのは、/dev/hda のようなデバイスファイルにとっての共通の操作であ" #~ "り、\n" #~ "これらのファイルは普通削除されるべきではないからです。\n" #~ "通常ファイルを操作するときには、殆んどの人が --remove オプションを使いま" #~ "す\n" #~ "\n" #~ "注意: shred は非常に重大な仮定に基づいていることに注意してください:\n" #~ "ファイルシステムがデータの場所に上書きするということ。これは伝統的な\n" #~ "方法ですが、近年のファイルシステムはこの仮定を満たしません。\n" #~ "shred を使う意味がないファイルシステムの例は以下の通りです:\n" #~ "\n" #~ "* AIX や Solaris で提供されるログ構造やジャーナリングファイルシステム\n" #~ " (及び JFS, ReiserFS, XFS 等)\n" #~ "\n" #~ "* RAID ベースの様に、冗長なデータを書込んでおり、書き込みが失敗したときで" #~ "も\n" #~ " 維持される様なファイルシステム\n" #~ "\n" #~ "* Network Appliance の NFS サーバの様に、スナップショットを作るファイルシ" #~ "ステム\n" #~ "\n" #~ "* NFS バージョン 3 クライアントの様に、一時的にキャッシュを行なうような\n" #~ " ファイルシステム\n" #~ "\n" #~ "* 圧縮ファイルシステム\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "ファイルシステムバッファのフラッシュ\n" #~ "\n" #~ " --help 使い方を標準出力に表して終了する\n" #~ " --version バージョン情報を標準出力に表示して終了する\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ "それぞれのファイルのアクセス時刻や修正時刻を現在時刻に更新する。\n" #~ "\n" #~ " -a アクセス時刻のみを変更する\n" #~ " -c --no-create ファイルが存在しない場合に新規作成を行わない\n" #~ " -d, --date=STRING 現在の時刻の代わりに STRING の時刻を用いる\n" #~ " -f (無視される)\n" #~ " -m 修正時刻のみを変更する\n" #~ " -r, --reference=FILE 現在の時刻の代わりに FILE の時刻を用いる\n" #~ " -t STAMP 現在の時刻の代わりに [[CC]YY]MMDDhhmm[.ss]をつか" #~ "う\n" #~ " --time=WORD WORD によって与えられた 時刻を設定する\n" #~ " access なら atime (-a と同じ)、modify なら " #~ "mtime\n" #~ " (-m と同じ)を使う\n" #~ " --help 使い方を標準出力に表示して終了する\n" #~ " --version バージョン情報を標準出力に表示して終了する\n" #~ "\n" #~ "3 つの 時刻-日付の書式は -d と -t オプション用と見なされ、昔の書式の\n" #~ "引数とは全く異なることに注意しましょう。\n" #, fuzzy #~ msgid "virtual memory exhausted" #~ msgstr "メモリを使い果たしました" #~ msgid "group of %s changed to %s\n" #~ msgstr "%s のグループを %s へ変更しました\n" #~ msgid "you are not a member of group `%s'" #~ msgstr "あなたはグループ `%s' のメンバーではありません" #~ msgid "owner of %s changed to " #~ msgstr "%s の所有者を以下に変更 : " #, fuzzy #~ msgid "cannot remove old link to `%s'" #~ msgstr "`%s' で ioctl() を実行できません" #, fuzzy #~ msgid "cannot make fifo `%s'" #~ msgstr "`%s' で ioctl() を実行できません" #~ msgid "" #~ "Delete a file securely, first overwriting it to hide its contents.\n" #~ "\n" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " -s, --size=N shred this many bytes (suffixes like k, M, G accepted)\n" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ " - shred standard output\n" #~ " --help display this help and exit\n" #~ " --version print version information and exit\n" #~ "\n" #~ "FIXME maybe add more discussion here?" #~ msgstr "" #~ "ファイルを安全に削除します、まずは内容を隠蔽するため上書きします。\n" #~ "\n" #~ " -f, --force 必要に応じ、書き込みのための許可属性を変更\n" #~ " -n, --iterations=N 初期値(%d)の代わりに N 回上書き\n" #~ " -s, --size=N 多くのバイト数を shred する (k, M, G の様な単位も解釈す" #~ "る)\n" #~ " -u, --remove 上書きの後でファイルを切り詰めて削除\n" #~ " -v, --verbose 進行状況を見る\n" #~ " -x, --exact ファイルブロック単位へのファイルサイズ切り上げをしない\n" #~ " -z, --zero shred を隠すため、最後に一回ゼロでの上書きを追加する\n" #~ " - 標準出力の shred\n" #~ " --help この使い方を表示して終了します\n" #~ " --version ヴァージョン情報を表示して終了します\n" #~ "\n" #~ "*修正すべし* ここにいろいろ説明が加わるかな?" #~ msgid "create %s %s to %s" #~ msgstr "%2$s から %3$s に%1$sをはりました" #~ msgid "link" #~ msgstr "リンク" #~ msgid "--version-control" #~ msgstr "--version-control" #, fuzzy #~ msgid "starting directory" #~ msgstr "ディレクトリ" #~ msgid "%s -> %s (backup)\n" #~ msgstr "%s -> %s (バックアップ)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ msgstr "" #~ "使用法: %s [オプション]... [入力元]... (-G なし)\n" #~ " 又は: %s -G [オプション]... [入力元 [出力先]]\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... EXISTING_DIR NEW_DIR\n" #~ msgstr "使用法: %s [オプション]... SET1 [SET2]\n" #, fuzzy #~ msgid "cannot rename `.' or `..'" #~ msgstr "ホスト名を `%s' に設定できません" dc3dd-7.1.614/po/en@boldquot.header0000644000175000017500000000247111022023316016475 0ustar amedicoamedico# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # dc3dd-7.1.614/po/nl.gmo0000644000175000017500000001222511233346647014205 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  Z n^ 0 0 /6P-=B.6:e%2.#( L Z*e+!&:Sm, 5CYiz* !)( " %  $#' &<Dl  BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils-6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-05-30 23:26+0200 Last-Translator: Freek de Kruijf Language-Team: Dutch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: KBabel 1.11.4 BLOKKEN en BYTES mogen gevolgd worden door de volgende vermenigvuldigings- achtervoegsels: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, enzovoort voor T, P, E, Z, Y. Elk CONVERSIE symbool mag zijn: Elk VLAGGEN-symbool mag zijn: append achtervoegen (alleen zinvol bij uitvoer; suggestie: conv=notrunc) binary gebruik binary-I/O voor de gegevens direct gebruik direct-I/O voor de gegevens directory stop tenzij een map dsync gebruik synchronized-I/O voor de gegevens noatime wijzig het toegangstijdstip niet noctty voeg geen controlerende terminal toe aan bestand noerror ga door ook na leesfouten sync vul ieder blok uit met nul-bytes tot de ibs-grootte; indien samen met block of unblock, vul dan uit met spaties i.p.v. nul-bytes fdatasync schrijf het uitvoerbestand echt naar schijf voor het beëindigen fsync evenzo, maar schrijf ook de metagegevens nofollow volg geen symbolische koppelingen nolinks stop bij meer dan één symbolische koppeling nonblock gebruik non-blocking-I/O sync evenzo, maar ook voor de metagegevens text gebruik text-I/O voor de gegevens %s: kan seek-functie niet uitvoeren, %g s, %s/s Oneindig BProbeer `%s --help' voor meer informatie. Onbekende systeemfoutGebruik: %s [OPERAND]... of: %s OPTIE excl en nocreat kunnen niet beidekan fstat op %s niet toepassenkan niet om de 'kernel bug' heenwerkeninvoerbestand %s sluitenuitvoerbestand %s sluiten'fdatasync' mislukt voor %s'fsync' mislukt voor %songeldige conversieongeldige invoervlagongeldig nummer %songeldige uitvoervlagongeldige statusvlagoffset te groot bij het lezen van bestand %sopenen van %svlaggen van %s zettenstandaardinvoerstandaarduitvoerniet-herkende operand %swaarschuwing: bezig met om de 'lseek kernel bug' heen te werken voor het bestand (%s) met mt_type=0x%0lx -- zie voor de lijst met typenschrijven naar %sPRIuMAXtruncating at % bytes in output file %safkorten op % bytes in uitvoerbestand %sdc3dd-7.1.614/po/coreutils.pot0000644000175000017500000062410311064230667015625 0ustar amedicoamedico# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2008-05-26 14:44+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: lib/argmatch.c:133 #, c-format msgid "invalid argument %s for %s" msgstr "" #: lib/argmatch.c:134 #, c-format msgid "ambiguous argument %s for %s" msgstr "" #: lib/argmatch.c:153 #, c-format msgid "Valid arguments are:" msgstr "" #: lib/closein.c:99 msgid "error closing file" msgstr "" #: lib/closeout.c:73 src/base64.c:112 src/base64.c:124 src/base64.c:130 #: src/base64.c:171 src/base64.c:227 src/cat.c:193 src/cat.c:209 src/cat.c:293 #: src/cksum.c:251 src/expand.c:336 src/expand.c:361 src/head.c:303 #: src/head.c:353 src/head.c:761 src/head.c:802 src/od.c:963 src/paste.c:162 #: src/shuf.c:407 src/tail.c:310 src/tail.c:1098 src/tr.c:1558 src/tr.c:1781 #: src/tr.c:1895 src/unexpand.c:433 src/unexpand.c:449 #, c-format msgid "write error" msgstr "" #: lib/copy-acl.c:95 lib/copy-acl.c:109 lib/copy-acl.c:126 lib/copy-acl.c:153 #: lib/copy-acl.c:162 src/copy.c:705 src/copy.c:2026 #, c-format msgid "preserving permissions for %s" msgstr "" #: lib/error.c:125 msgid "Unknown system error" msgstr "" #: lib/euidaccess-stat.c:136 src/copy.c:1087 src/copy.c:1139 src/copy.c:1716 #: src/copy.c:2013 src/df.c:510 src/install.c:596 src/stat.c:868 #, c-format msgid "cannot stat %s" msgstr "" #: lib/file-type.c:38 msgid "regular empty file" msgstr "" #: lib/file-type.c:38 msgid "regular file" msgstr "" #: lib/file-type.c:41 msgid "directory" msgstr "" #: lib/file-type.c:44 msgid "block special file" msgstr "" #: lib/file-type.c:47 msgid "character special file" msgstr "" #: lib/file-type.c:50 msgid "fifo" msgstr "" #: lib/file-type.c:53 msgid "symbolic link" msgstr "" #: lib/file-type.c:56 msgid "socket" msgstr "" #: lib/file-type.c:59 msgid "message queue" msgstr "" #: lib/file-type.c:62 msgid "semaphore" msgstr "" #: lib/file-type.c:65 msgid "shared memory object" msgstr "" #: lib/file-type.c:68 msgid "typed memory object" msgstr "" #: lib/file-type.c:70 msgid "weird file" msgstr "" #: lib/gai_strerror.c:47 msgid "Address family for hostname not supported" msgstr "" #: lib/gai_strerror.c:48 msgid "Temporary failure in name resolution" msgstr "" #: lib/gai_strerror.c:49 msgid "Bad value for ai_flags" msgstr "" #: lib/gai_strerror.c:50 msgid "Non-recoverable failure in name resolution" msgstr "" #: lib/gai_strerror.c:51 msgid "ai_family not supported" msgstr "" #: lib/gai_strerror.c:52 msgid "Memory allocation failure" msgstr "" #: lib/gai_strerror.c:53 msgid "No address associated with hostname" msgstr "" #: lib/gai_strerror.c:54 msgid "Name or service not known" msgstr "" #: lib/gai_strerror.c:55 msgid "Servname not supported for ai_socktype" msgstr "" #: lib/gai_strerror.c:56 msgid "ai_socktype not supported" msgstr "" #: lib/gai_strerror.c:57 msgid "System error" msgstr "" #: lib/gai_strerror.c:58 msgid "Argument buffer too small" msgstr "" #: lib/gai_strerror.c:60 msgid "Processing request in progress" msgstr "" #: lib/gai_strerror.c:61 msgid "Request canceled" msgstr "" #: lib/gai_strerror.c:62 msgid "Request not canceled" msgstr "" #: lib/gai_strerror.c:63 msgid "All requests done" msgstr "" #: lib/gai_strerror.c:64 msgid "Interrupted by a signal" msgstr "" #: lib/gai_strerror.c:65 msgid "Parameter string not correctly encoded" msgstr "" #: lib/gai_strerror.c:77 msgid "Unknown error" msgstr "" #: lib/getopt.c:526 lib/getopt.c:542 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "" #: lib/getopt.c:575 lib/getopt.c:579 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:588 lib/getopt.c:593 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "" #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "" #: lib/getopt.c:693 lib/getopt.c:696 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "" #: lib/getopt.c:704 lib/getopt.c:707 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "" #: lib/getopt.c:759 lib/getopt.c:762 #, c-format msgid "%s: illegal option -- %c\n" msgstr "" #: lib/getopt.c:768 lib/getopt.c:771 #, c-format msgid "%s: invalid option -- %c\n" msgstr "" #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "" #: lib/getopt.c:892 lib/getopt.c:908 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "" #: lib/getopt.c:932 lib/getopt.c:950 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" #: lib/mkdir-p.c:196 src/install.c:664 #, c-format msgid "cannot change permissions of %s" msgstr "" #: lib/mkdir-p.c:206 src/copy.c:1705 src/install.c:564 src/install.c:577 #, c-format msgid "cannot create directory %s" msgstr "" #: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/csplit.c:238 msgid "memory exhausted" msgstr "" #: lib/openat-die.c:33 #, c-format msgid "unable to record current working directory" msgstr "" #: lib/openat-die.c:46 src/df.c:533 #, c-format msgid "failed to return to initial working directory" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". If the catalog has no translation, #. locale_quoting_style quotes `like this', and #. clocale_quoting_style quotes "like this". #. #. For example, an American English Unicode locale should #. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and #. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION #. MARK). A British English Unicode locale should instead #. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and #. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:266 msgid "`" msgstr "" #: lib/quotearg.c:267 msgid "'" msgstr "" #: lib/randread.c:124 #, c-format msgid "%s: end of file" msgstr "" #: lib/regcomp.c:134 msgid "Success" msgstr "" #: lib/regcomp.c:137 msgid "No match" msgstr "" #: lib/regcomp.c:140 msgid "Invalid regular expression" msgstr "" #: lib/regcomp.c:143 msgid "Invalid collation character" msgstr "" #: lib/regcomp.c:146 msgid "Invalid character class name" msgstr "" #: lib/regcomp.c:149 msgid "Trailing backslash" msgstr "" #: lib/regcomp.c:152 msgid "Invalid back reference" msgstr "" #: lib/regcomp.c:155 msgid "Unmatched [ or [^" msgstr "" #: lib/regcomp.c:158 msgid "Unmatched ( or \\(" msgstr "" #: lib/regcomp.c:161 msgid "Unmatched \\{" msgstr "" #: lib/regcomp.c:164 msgid "Invalid content of \\{\\}" msgstr "" #: lib/regcomp.c:167 msgid "Invalid range end" msgstr "" #: lib/regcomp.c:170 msgid "Memory exhausted" msgstr "" #: lib/regcomp.c:173 msgid "Invalid preceding regular expression" msgstr "" #: lib/regcomp.c:176 msgid "Premature end of regular expression" msgstr "" #: lib/regcomp.c:179 msgid "Regular expression too big" msgstr "" #: lib/regcomp.c:182 msgid "Unmatched ) or \\)" msgstr "" #: lib/regcomp.c:683 msgid "No previous regular expression" msgstr "" #: lib/root-dev-ino.h:37 #, c-format msgid "it is dangerous to operate recursively on %s" msgstr "" #: lib/root-dev-ino.h:41 #, c-format msgid "it is dangerous to operate recursively on %s (same as %s)" msgstr "" #: lib/root-dev-ino.h:43 #, c-format msgid "use --no-preserve-root to override this failsafe" msgstr "" #. TRANSLATORS: A regular expression testing for an affirmative answer #. (english: "yes"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^yesexpr=' #: lib/rpmatch.c:147 msgid "^[yY]" msgstr "" #. TRANSLATORS: A regular expression testing for a negative answer #. (english: "no"). Testing the first character may be sufficient. #. Take care to consider upper and lower case. #. To enquire the regular expression that your system uses for this #. purpose, you can use the command #. locale -k LC_MESSAGES | grep '^noexpr=' #: lib/rpmatch.c:160 msgid "^[nN]" msgstr "" #: lib/set-mode-acl.c:242 src/copy.c:1728 src/cp.c:513 #, c-format msgid "setting permissions for %s" msgstr "" #: lib/unicodeio.c:140 msgid "iconv function not usable" msgstr "" #: lib/unicodeio.c:142 msgid "iconv function not available" msgstr "" #: lib/unicodeio.c:149 msgid "character out of range" msgstr "" #: lib/unicodeio.c:212 #, c-format msgid "cannot convert U+%04X to local character set" msgstr "" #: lib/unicodeio.c:214 #, c-format msgid "cannot convert U+%04X to local character set: %s" msgstr "" #: lib/userspec.c:106 msgid "invalid user" msgstr "" #: lib/userspec.c:107 msgid "invalid group" msgstr "" #: lib/userspec.c:108 msgid "invalid spec" msgstr "" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:65 msgid "(C)" msgstr "" #: lib/version-etc.c:67 msgid "" "\n" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" "\n" msgstr "" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:83 #, c-format msgid "Written by %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:87 #, c-format msgid "Written by %s and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:91 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:97 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:103 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:109 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:116 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:123 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:131 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:141 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" #: lib/xfts.c:57 #, c-format msgid "invalid argument: %s" msgstr "" #: lib/xmemcoll.c:48 src/expr.c:782 #, c-format msgid "string comparison failed" msgstr "" #: lib/xmemcoll.c:49 lib/xmemxfrm.c:55 src/expr.c:783 #, c-format msgid "Set LC_ALL='C' to work around the problem." msgstr "" #: lib/xmemcoll.c:51 src/expr.c:785 #, c-format msgid "The strings compared were %s and %s." msgstr "" #: lib/xmemxfrm.c:54 #, c-format msgid "string transformation failed" msgstr "" #: lib/xmemxfrm.c:57 #, c-format msgid "The untransformed string was %s." msgstr "" #: lib/xprintf.c:50 lib/xprintf.c:76 #, c-format msgid "cannot perform formatted output" msgstr "" #: lib/xstrtol-error.c:63 #, c-format msgid "invalid %s%s argument `%s'" msgstr "" #: lib/xstrtol-error.c:68 #, c-format msgid "invalid suffix in %s%s argument `%s'" msgstr "" #: lib/xstrtol-error.c:72 #, c-format msgid "%s%s argument `%s' too large" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/base64.c:38 msgid "Simon Josefsson" msgstr "" #: src/base64.c:57 src/basename.c:49 src/cat.c:91 src/chcon.c:361 #: src/chgrp.c:109 src/chmod.c:346 src/chown.c:90 src/chroot.c:42 #: src/cksum.c:260 src/comm.c:70 src/cp.c:162 src/csplit.c:1471 src/cut.c:188 #: src/date.c:126 src/dd.c:421 src/df.c:734 src/dircolors.c:96 #: src/dirname.c:45 src/du.c:268 src/echo.c:60 src/env.c:115 src/expand.c:106 #: src/expr.c:96 src/factor.c:69 src/fmt.c:268 src/fold.c:65 src/groups.c:54 #: src/head.c:106 src/hostid.c:43 src/hostname.c:60 src/id.c:81 #: src/install.c:792 src/join.c:156 src/kill.c:85 src/link.c:45 src/ln.c:349 #: src/logname.c:39 src/ls.c:4327 src/md5sum.c:146 src/mkdir.c:57 #: src/mkfifo.c:51 src/mknod.c:52 src/mktemp.c:63 src/mv.c:296 src/nice.c:71 #: src/nl.c:174 src/nohup.c:52 src/od.c:297 src/paste.c:432 src/pathchk.c:96 #: src/pinky.c:508 src/pr.c:2767 src/printenv.c:57 src/printf.c:88 #: src/ptx.c:1884 src/pwd.c:49 src/readlink.c:62 src/rm.c:158 src/rmdir.c:165 #: src/runcon.c:82 src/seq.c:71 src/setuidgid.c:48 src/shred.c:158 #: src/shuf.c:46 src/sleep.c:45 src/sort.c:303 src/split.c:102 src/stat.c:911 #: src/stty.c:505 src/su.c:380 src/sum.c:57 src/sync.c:40 src/tac.c:131 #: src/tail.c:214 src/tee.c:60 src/test.c:686 src/touch.c:232 src/tr.c:285 #: src/tsort.c:81 src/tty.c:64 src/uname.c:121 src/unexpand.c:116 #: src/uniq.c:133 src/unlink.c:45 src/uptime.c:195 src/users.c:105 #: src/wc.c:108 src/who.c:629 src/whoami.c:45 src/yes.c:41 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: src/base64.c:61 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Base64 encode or decode FILE, or standard input, to standard output.\n" "\n" msgstr "" #: src/base64.c:65 msgid "" " -w, --wrap=COLS Wrap encoded lines after COLS character (default " "76).\n" " Use 0 to disable line wrapping.\n" "\n" " -d, --decode Decode data.\n" " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" "\n" msgstr "" #: src/base64.c:73 msgid "" " --help Display this help and exit.\n" " --version Output version information and exit.\n" msgstr "" #: src/base64.c:76 src/cat.c:117 src/fmt.c:295 src/shuf.c:73 src/sum.c:73 msgid "" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/base64.c:79 msgid "" "\n" "The data are encoded as described for the base64 alphabet in RFC 3548.\n" "When decoding, the input may contain newlines in addition to the bytes of\n" "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" "from any other non-alphabet bytes in the encoded stream.\n" msgstr "" #: src/base64.c:174 src/base64.c:211 src/csplit.c:283 src/csplit.c:1460 #: src/join.c:407 src/shuf.c:400 src/tac-pipe.c:74 src/tee.c:206 src/tr.c:1582 #, c-format msgid "read error" msgstr "" #: src/base64.c:230 #, c-format msgid "invalid input" msgstr "" #: src/base64.c:267 #, c-format msgid "invalid wrap size: %s" msgstr "" #: src/base64.c:286 src/basename.c:122 src/comm.c:279 src/cp.c:602 #: src/date.c:433 src/dircolors.c:450 src/dirname.c:101 src/du.c:941 #: src/hostid.c:81 src/hostname.c:119 src/id.c:171 src/install.c:493 #: src/join.c:891 src/link.c:89 src/ln.c:522 src/logname.c:75 src/mknod.c:161 #: src/mv.c:460 src/od.c:1842 src/ptx.c:2153 src/readlink.c:155 src/seq.c:440 #: src/shuf.c:380 src/split.c:539 src/tr.c:1735 src/tsort.c:551 src/tty.c:116 #: src/uname.c:256 src/uniq.c:453 src/uniq.c:470 src/unlink.c:85 #: src/uptime.c:242 src/users.c:150 src/wc.c:650 src/who.c:817 src/whoami.c:83 #, c-format msgid "extra operand %s" msgstr "" #: src/base64.c:312 src/cat.c:785 #, c-format msgid "closing standard input" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/basename.c:40 src/echo.c:27 msgid "FIXME unknown" msgstr "" #: src/basename.c:53 #, c-format msgid "" "Usage: %s NAME [SUFFIX]\n" " or: %s OPTION\n" msgstr "" #: src/basename.c:58 msgid "" "Print NAME with any leading directory components removed.\n" "If specified, also remove a trailing SUFFIX.\n" "\n" msgstr "" #: src/basename.c:65 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort Output \"sort\".\n" " %s include/stdio.h .h Output \"stdio\".\n" msgstr "" #: src/basename.c:116 src/chcon.c:538 src/chgrp.c:276 src/chmod.c:497 #: src/chown.c:289 src/chroot.c:84 src/comm.c:271 src/csplit.c:1389 #: src/dirname.c:95 src/expr.c:211 src/join.c:1069 src/link.c:81 #: src/mkdir.c:188 src/mkfifo.c:112 src/mknod.c:150 src/nohup.c:107 #: src/pathchk.c:159 src/printf.c:664 src/readlink.c:147 src/rm.c:346 #: src/rmdir.c:227 src/seq.c:434 src/setuidgid.c:139 src/sleep.c:124 #: src/stat.c:1059 src/tr.c:1720 src/unlink.c:79 #, c-format msgid "missing operand" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:47 src/cp.c:56 src/df.c:41 src/du.c:53 src/split.c:44 msgid "Torbjorn Granlund" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cat.c:48 src/split.c:45 src/tee.c:33 msgid "Richard M. Stallman" msgstr "" #: src/cat.c:95 #, c-format msgid "Usage: %s [OPTION] [FILE]...\n" msgstr "" #: src/cat.c:99 msgid "" "Concatenate FILE(s), or standard input, to standard output.\n" "\n" " -A, --show-all equivalent to -vET\n" " -b, --number-nonblank number nonempty output lines\n" " -e equivalent to -vE\n" " -E, --show-ends display $ at end of each line\n" " -n, --number number all output lines\n" " -s, --squeeze-blank suppress repeated empty output lines\n" msgstr "" #: src/cat.c:109 msgid "" " -t equivalent to -vT\n" " -T, --show-tabs display TAB characters as ^I\n" " -u (ignored)\n" " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" msgstr "" #: src/cat.c:121 #, c-format msgid "" "\n" "Examples:\n" " %s f - g Output f's contents, then standard input, then g's contents.\n" " %s Copy standard input to standard output.\n" msgstr "" #: src/cat.c:333 #, c-format msgid "cannot do ioctl on %s" msgstr "" #: src/cat.c:643 src/dd.c:1718 src/sort.c:295 src/tee.c:165 src/yes.c:91 #, c-format msgid "standard output" msgstr "" #: src/cat.c:720 #, c-format msgid "%s: input file is output file" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:35 src/runcon.c:62 msgid "Russell Coker" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chcon.c:36 src/chgrp.c:39 src/chmod.c:39 src/chown.c:48 src/cp.c:58 #: src/cut.c:45 src/dirname.c:36 src/du.c:56 src/head.c:47 src/hostid.c:34 #: src/hostname.c:33 src/mktemp.c:34 src/mv.c:43 src/nohup.c:37 src/od.c:33 #: src/pathchk.c:41 src/pwd.c:33 src/rm.c:67 src/setuidgid.c:38 src/sleep.c:35 #: src/sync.c:31 src/tail.c:55 src/tr.c:35 src/true.c:33 msgid "Jim Meyering" msgstr "" #: src/chcon.c:122 src/runcon.c:206 src/runcon.c:237 #, c-format msgid "failed to create security context: %s" msgstr "" #: src/chcon.c:134 #, c-format msgid "failed to set %s security context component to %s" msgstr "" #: src/chcon.c:178 src/chcon.c:547 src/copy.c:1660 src/runcon.c:220 #: src/stat.c:467 #, c-format msgid "failed to get security context of %s" msgstr "" #: src/chcon.c:188 #, c-format msgid "can't apply partial context to unlabeled file %s" msgstr "" #: src/chcon.c:215 #, c-format msgid "failed to change context of %s to %s" msgstr "" #: src/chcon.c:277 src/chmod.c:209 src/chown-core.c:300 src/copy.c:153 #: src/du.c:492 src/ls.c:2662 #, c-format msgid "cannot access %s" msgstr "" #: src/chcon.c:282 src/chmod.c:214 src/chown-core.c:305 src/du.c:497 #, c-format msgid "%s" msgstr "" #: src/chcon.c:287 src/chmod.c:219 src/chown-core.c:310 src/du.c:503 #, c-format msgid "cannot read directory %s" msgstr "" #: src/chcon.c:306 #, c-format msgid "changing security context of %s" msgstr "" #: src/chcon.c:340 src/chmod.c:325 src/chown-core.c:496 src/du.c:642 #, c-format msgid "fts_read failed" msgstr "" #: src/chcon.c:365 #, c-format msgid "" "Usage: %s [OPTION]... CONTEXT FILE...\n" " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chcon.c:371 msgid "" "Change the security context of each FILE to CONTEXT.\n" "With --reference, change the security context of each FILE to that of " "RFILE.\n" "\n" " -c, --changes like verbose but report only when a change is made\n" " -h, --no-dereference affect symbolic links instead of any referenced " "file\n" msgstr "" #: src/chcon.c:378 msgid "" " --reference=RFILE use RFILE's security context rather than " "specifying\n" " a CONTEXT value\n" " -R, --recursive operate on files and directories recursively\n" " -v, --verbose output a diagnostic for every file processed\n" msgstr "" #: src/chcon.c:384 msgid "" " -u, --user=USER set user USER in the target security context\n" " -r, --role=ROLE set role ROLE in the target security context\n" " -t, --type=TYPE set type TYPE in the target security context\n" " -l, --range=RANGE set range RANGE in the target security context\n" "\n" msgstr "" #: src/chcon.c:391 src/chgrp.c:143 src/chown.c:131 msgid "" "The following options modify how a hierarchy is traversed when the -R\n" "option is also specified. If more than one is specified, only the final\n" "one takes effect.\n" "\n" " -H if a command line argument is a symbolic link\n" " to a directory, traverse it\n" " -L traverse every symbolic link to a directory\n" " encountered\n" " -P do not traverse any symbolic links (default)\n" "\n" msgstr "" #: src/chcon.c:519 src/chgrp.c:263 src/chown.c:276 #, c-format msgid "-R --dereference requires either -H or -L" msgstr "" #: src/chcon.c:525 #, c-format msgid "-R -h requires -P" msgstr "" #: src/chcon.c:540 src/chgrp.c:278 src/chmod.c:499 src/chown.c:291 #: src/comm.c:273 src/csplit.c:1391 src/join.c:1071 src/link.c:83 #: src/mknod.c:152 src/setuidgid.c:141 src/tr.c:1723 #, c-format msgid "missing operand after %s" msgstr "" #: src/chcon.c:563 src/runcon.c:250 #, c-format msgid "invalid context: %s" msgstr "" #: src/chcon.c:570 #, c-format msgid "conflicting security context specifiers given" msgstr "" #: src/chcon.c:579 src/chgrp.c:286 src/chgrp.c:304 src/chmod.c:507 #: src/chmod.c:526 src/chown.c:299 src/chown.c:328 src/cp.c:428 src/cp.c:488 #: src/mv.c:119 src/pwd.c:266 src/rm.c:356 src/touch.c:162 src/touch.c:359 #, c-format msgid "failed to get attributes of %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chgrp.c:38 src/chmod.c:38 src/chown.c:47 src/comm.c:36 src/cp.c:57 #: src/csplit.c:54 src/cut.c:44 src/date.c:40 src/dd.c:45 src/df.c:42 #: src/dirname.c:35 src/du.c:54 src/env.c:93 src/expand.c:48 src/fold.c:35 #: src/groups.c:39 src/head.c:46 src/id.c:39 src/install.c:48 src/ln.c:40 #: src/ls.c:115 src/mkdir.c:37 src/mkfifo.c:33 src/mknod.c:34 src/mv.c:42 #: src/nice.c:40 src/nl.c:40 src/paste.c:52 src/pathchk.c:40 src/pinky.c:38 #: src/printenv.c:45 src/printf.c:63 src/rm.c:65 src/rmdir.c:39 src/stty.c:69 #: src/su.c:95 src/sum.c:37 src/tac.c:57 src/tail.c:53 src/tee.c:34 #: src/touch.c:44 src/tty.c:43 src/uname.c:61 src/unexpand.c:49 src/uniq.c:41 #: src/uptime.c:45 src/users.c:36 src/wc.c:47 src/who.c:45 src/yes.c:32 msgid "David MacKenzie" msgstr "" #: src/chgrp.c:96 #, c-format msgid "invalid group: %s" msgstr "" #: src/chgrp.c:113 #, c-format msgid "" "Usage: %s [OPTION]... GROUP FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chgrp.c:118 msgid "" "Change the group of each FILE to GROUP.\n" "With --reference, change the group of each FILE to that of RFILE.\n" "\n" " -c, --changes like verbose but report only when a change is made\n" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" msgstr "" #: src/chgrp.c:126 src/chown.c:107 msgid "" " -h, --no-dereference affect each symbolic link instead of any " "referenced\n" " file (useful only on systems that can change the\n" " ownership of a symlink)\n" msgstr "" #: src/chgrp.c:131 src/chown.c:119 msgid "" " --no-preserve-root do not treat `/' specially (the default)\n" " --preserve-root fail to operate recursively on `/'\n" msgstr "" #: src/chgrp.c:135 msgid "" " -f, --silent, --quiet suppress most error messages\n" " --reference=RFILE use RFILE's group rather than specifying a\n" " GROUP value\n" " -R, --recursive operate on files and directories recursively\n" " -v, --verbose output a diagnostic for every file processed\n" "\n" msgstr "" #: src/chgrp.c:157 #, c-format msgid "" "\n" "Examples:\n" " %s staff /u Change the group of /u to \"staff\".\n" " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" msgstr "" #: src/chmod.c:128 #, c-format msgid "getting new attributes of %s" msgstr "" #: src/chmod.c:150 src/chown-core.c:119 #, c-format msgid "neither symbolic link %s nor referent has been changed\n" msgstr "" #: src/chmod.c:160 #, c-format msgid "mode of %s changed to %04lo (%s)\n" msgstr "" #: src/chmod.c:163 #, c-format msgid "failed to change mode of %s to %04lo (%s)\n" msgstr "" #: src/chmod.c:166 #, c-format msgid "mode of %s retained as %04lo (%s)\n" msgstr "" #: src/chmod.c:225 #, c-format msgid "cannot operate on dangling symlink %s" msgstr "" #: src/chmod.c:256 #, c-format msgid "changing permissions of %s" msgstr "" #: src/chmod.c:291 #, c-format msgid "%s: new permissions are %s, not %s" msgstr "" #: src/chmod.c:350 #, c-format msgid "" "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" " or: %s [OPTION]... OCTAL-MODE FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chmod.c:356 msgid "" "Change the mode of each FILE to MODE.\n" "\n" " -c, --changes like verbose but report only when a change is " "made\n" msgstr "" #: src/chmod.c:361 msgid "" " --no-preserve-root do not treat `/' specially (the default)\n" " --preserve-root fail to operate recursively on `/'\n" msgstr "" #: src/chmod.c:365 msgid "" " -f, --silent, --quiet suppress most error messages\n" " -v, --verbose output a diagnostic for every file processed\n" " --reference=RFILE use RFILE's mode instead of MODE values\n" " -R, --recursive change files and directories recursively\n" msgstr "" #: src/chmod.c:373 msgid "" "\n" "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" msgstr "" #: src/chmod.c:484 #, c-format msgid "cannot combine mode and --reference options" msgstr "" #: src/chmod.c:515 #, c-format msgid "invalid mode: %s" msgstr "" #: src/chown-core.c:145 #, c-format msgid "changed ownership of %s to %s\n" msgstr "" #: src/chown-core.c:146 #, c-format msgid "changed group of %s to %s\n" msgstr "" #: src/chown-core.c:147 #, c-format msgid "no change to ownership of %s\n" msgstr "" #: src/chown-core.c:150 #, c-format msgid "failed to change ownership of %s to %s\n" msgstr "" #: src/chown-core.c:151 #, c-format msgid "failed to change group of %s to %s\n" msgstr "" #: src/chown-core.c:152 #, c-format msgid "failed to change ownership of %s\n" msgstr "" #: src/chown-core.c:155 #, c-format msgid "ownership of %s retained as %s\n" msgstr "" #: src/chown-core.c:156 #, c-format msgid "group of %s retained as %s\n" msgstr "" #: src/chown-core.c:157 #, c-format msgid "ownership of %s retained\n" msgstr "" #: src/chown-core.c:342 #, c-format msgid "cannot dereference %s" msgstr "" #: src/chown-core.c:430 #, c-format msgid "changing ownership of %s" msgstr "" #: src/chown-core.c:431 #, c-format msgid "changing group of %s" msgstr "" #: src/chown.c:94 #, c-format msgid "" "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" " or: %s [OPTION]... --reference=RFILE FILE...\n" msgstr "" #: src/chown.c:99 msgid "" "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" "With --reference, change the owner and group of each FILE to those of " "RFILE.\n" "\n" " -c, --changes like verbose but report only when a change is made\n" " --dereference affect the referent of each symbolic link (this is\n" " the default), rather than the symbolic link itself\n" msgstr "" #: src/chown.c:112 msgid "" " --from=CURRENT_OWNER:CURRENT_GROUP\n" " change the owner and/or group of each file only if\n" " its current owner and/or group match those " "specified\n" " here. Either may be omitted, in which case a " "match\n" " is not required for the omitted attribute.\n" msgstr "" #: src/chown.c:123 msgid "" " -f, --silent, --quiet suppress most error messages\n" " --reference=RFILE use RFILE's owner and group rather than\n" " specifying OWNER:GROUP values\n" " -R, --recursive operate on files and directories recursively\n" " -v, --verbose output a diagnostic for every file processed\n" "\n" msgstr "" #: src/chown.c:145 msgid "" "\n" "Owner is unchanged if missing. Group is unchanged if missing, but changed\n" "to login group if implied by a `:' following a symbolic OWNER.\n" "OWNER and GROUP may be numeric as well as symbolic.\n" msgstr "" #: src/chown.c:151 #, c-format msgid "" "\n" "Examples:\n" " %s root /u Change the owner of /u to \"root\".\n" " %s root:staff /u Likewise, but also change its group to \"staff\".\n" " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/chroot.c:33 msgid "Roland McGrath" msgstr "" #: src/chroot.c:46 #, c-format msgid "" "Usage: %s NEWROOT [COMMAND...]\n" " or: %s OPTION\n" msgstr "" #: src/chroot.c:50 msgid "" "Run COMMAND with root directory set to NEWROOT.\n" "\n" msgstr "" #: src/chroot.c:56 msgid "" "\n" "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" msgstr "" #: src/chroot.c:89 #, c-format msgid "cannot change root directory to %s" msgstr "" #: src/chroot.c:92 #, c-format msgid "cannot chdir to root directory" msgstr "" #: src/chroot.c:115 src/nohup.c:218 src/setuidgid.c:215 #, c-format msgid "cannot run command %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cksum.c:40 msgid "Q. Frank Xia" msgstr "" #: src/cksum.c:216 #, c-format msgid "%s: file too long" msgstr "" #: src/cksum.c:264 #, c-format msgid "" "Usage: %s [FILE]...\n" " or: %s [OPTION]\n" msgstr "" #: src/cksum.c:269 msgid "" "Print CRC checksum and byte counts of each FILE.\n" "\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/comm.c:35 src/ls.c:114 src/rm.c:66 src/uniq.c:40 msgid "Richard Stallman" msgstr "" #: src/comm.c:74 src/join.c:160 #, c-format msgid "Usage: %s [OPTION]... FILE1 FILE2\n" msgstr "" #: src/comm.c:78 msgid "Compare sorted files FILE1 and FILE2 line by line.\n" msgstr "" #: src/comm.c:81 msgid "" "\n" "With no options, produce three-column output. Column one contains\n" "lines unique to FILE1, column two contains lines unique to FILE2,\n" "and column three contains lines common to both files.\n" msgstr "" #: src/comm.c:87 msgid "" "\n" " -1 suppress lines unique to FILE1\n" " -2 suppress lines unique to FILE2\n" " -3 suppress lines that appear in both files\n" msgstr "" #: src/copy.c:222 #, c-format msgid "clearing permissions for %s" msgstr "" #: src/copy.c:256 src/copy.c:1909 src/cp.c:326 #, c-format msgid "failed to preserve ownership for %s" msgstr "" #: src/copy.c:282 #, c-format msgid "failed to lookup file %s" msgstr "" #: src/copy.c:287 #, c-format msgid "failed to preserve authorship for %s" msgstr "" #: src/copy.c:345 src/csplit.c:650 src/du.c:948 src/fmt.c:430 src/head.c:852 #: src/split.c:546 src/tac.c:545 src/tail.c:1296 src/wc.c:662 #, c-format msgid "cannot open %s for reading" msgstr "" #: src/copy.c:351 src/copy.c:477 src/dd.c:1762 src/tail.c:1132 src/tail.c:1198 #, c-format msgid "cannot fstat %s" msgstr "" #: src/copy.c:361 #, c-format msgid "skipping file %s, as it was replaced while being copied" msgstr "" #: src/copy.c:384 #, c-format msgid "failed to get file system create context" msgstr "" #: src/copy.c:397 #, c-format msgid "failed to set the security context of %s to %s" msgstr "" #: src/copy.c:414 src/copy.c:1208 src/copy.c:1362 src/copy.c:1504 src/ln.c:296 #: src/remove.c:898 src/remove.c:919 src/remove.c:1068 src/remove.c:1109 #: src/remove.c:1128 src/remove.c:1144 src/remove.c:1151 src/remove.c:1316 #: src/remove.c:1403 src/remove.c:1561 #, c-format msgid "cannot remove %s" msgstr "" #: src/copy.c:419 src/copy.c:1203 src/copy.c:1367 src/copy.c:1508 #: src/remove.c:976 #, c-format msgid "removed %s\n" msgstr "" #: src/copy.c:456 #, c-format msgid "not writing through dangling symlink %s" msgstr "" #: src/copy.c:469 #, c-format msgid "cannot create regular file %s" msgstr "" #: src/copy.c:561 src/dd.c:1208 src/dd.c:1521 #, c-format msgid "reading %s" msgstr "" #: src/copy.c:607 src/head.c:431 #, c-format msgid "cannot lseek %s" msgstr "" #: src/copy.c:620 src/copy.c:648 src/dd.c:1578 src/dd.c:1640 #, c-format msgid "writing %s" msgstr "" #: src/copy.c:663 src/copy.c:1963 #, c-format msgid "preserving times for %s" msgstr "" #: src/copy.c:715 src/copy.c:721 src/head.c:860 src/touch.c:194 #, c-format msgid "closing %s" msgstr "" #: src/copy.c:955 #, c-format msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " msgstr "" #: src/copy.c:962 #, c-format msgid "%s: overwrite %s? " msgstr "" #: src/copy.c:1031 #, c-format msgid " (backup: %s)" msgstr "" #: src/copy.c:1041 #, c-format msgid "failed to restore the default file creation context" msgstr "" #: src/copy.c:1095 #, c-format msgid "omitting directory %s" msgstr "" #: src/copy.c:1109 #, c-format msgid "warning: source file %s specified more than once" msgstr "" #: src/copy.c:1157 src/ln.c:234 #, c-format msgid "%s and %s are the same file" msgstr "" #: src/copy.c:1237 #, c-format msgid "cannot overwrite non-directory %s with directory %s" msgstr "" #: src/copy.c:1255 src/ln.c:202 #, c-format msgid "will not overwrite just-created %s with %s" msgstr "" #: src/copy.c:1273 #, c-format msgid "cannot overwrite directory %s with non-directory" msgstr "" #: src/copy.c:1287 #, c-format msgid "cannot move directory onto non-directory: %s -> %s" msgstr "" #: src/copy.c:1317 #, c-format msgid "backing up %s would destroy source; %s not moved" msgstr "" #: src/copy.c:1318 #, c-format msgid "backing up %s would destroy source; %s not copied" msgstr "" #: src/copy.c:1337 src/ln.c:264 #, c-format msgid "cannot backup %s" msgstr "" #: src/copy.c:1401 #, c-format msgid "will not copy %s through just-created symlink %s" msgstr "" #: src/copy.c:1472 #, c-format msgid "cannot copy a directory, %s, into itself, %s" msgstr "" #: src/copy.c:1489 #, c-format msgid "will not create hard link %s to directory %s" msgstr "" #: src/copy.c:1514 #, c-format msgid "cannot create hard link %s to %s" msgstr "" #: src/copy.c:1559 #, c-format msgid "cannot move %s to a subdirectory of itself, %s" msgstr "" #: src/copy.c:1602 #, c-format msgid "cannot move %s to %s" msgstr "" #: src/copy.c:1614 #, c-format msgid "inter-device move failed: %s to %s; unable to remove target" msgstr "" #: src/copy.c:1645 src/install.c:469 src/mkdir.c:194 src/mkfifo.c:118 #: src/mknod.c:171 #, c-format msgid "failed to set default file creation context to %s" msgstr "" #: src/copy.c:1685 #, c-format msgid "cannot copy cyclic symbolic link %s" msgstr "" #: src/copy.c:1786 #, c-format msgid "%s: can make relative symbolic links only in current directory" msgstr "" #: src/copy.c:1793 #, c-format msgid "cannot create symbolic link %s to %s" msgstr "" #: src/copy.c:1818 #, c-format msgid "cannot create link %s" msgstr "" #: src/copy.c:1843 src/mkfifo.c:137 #, c-format msgid "cannot create fifo %s" msgstr "" #: src/copy.c:1852 #, c-format msgid "cannot create special file %s" msgstr "" #: src/copy.c:1862 src/ls.c:2875 src/stat.c:585 #, c-format msgid "cannot read symbolic link %s" msgstr "" #: src/copy.c:1889 #, c-format msgid "cannot create symbolic link %s" msgstr "" #: src/copy.c:1924 #, c-format msgid "%s has unknown file type" msgstr "" #: src/copy.c:2053 src/ln.c:337 #, c-format msgid "cannot un-backup %s" msgstr "" #: src/copy.c:2057 #, c-format msgid "%s -> %s (unbackup)\n" msgstr "" #: src/cp.c:166 src/mv.c:300 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" msgstr "" #: src/cp.c:172 msgid "" "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" "\n" msgstr "" #: src/cp.c:176 src/csplit.c:1484 src/cut.c:200 src/df.c:744 src/du.c:280 #: src/expand.c:119 src/fmt.c:278 src/fold.c:78 src/head.c:120 #: src/install.c:809 src/kill.c:99 src/ln.c:368 src/ls.c:4337 src/mkdir.c:66 #: src/mkfifo.c:63 src/mknod.c:65 src/mv.c:310 src/nl.c:187 src/paste.c:446 #: src/pr.c:2780 src/ptx.c:1896 src/shred.c:168 src/shuf.c:60 src/sort.c:315 #: src/split.c:116 src/tac.c:144 src/tail.c:228 src/touch.c:246 #: src/unexpand.c:129 src/uniq.c:146 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" #: src/cp.c:179 msgid "" " -a, --archive same as -dpR\n" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " --copy-contents copy contents of special files when " "recursive\n" " -d same as --no-dereference --preserve=links\n" msgstr "" #: src/cp.c:186 msgid "" " -f, --force if an existing destination file cannot be\n" " opened, remove it and try again\n" " -i, --interactive prompt before overwrite\n" " -H follow command-line symbolic links in SOURCE\n" msgstr "" #: src/cp.c:192 msgid "" " -l, --link link files instead of copying\n" " -L, --dereference always follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:196 msgid " -P, --no-dereference never follow symbolic links in SOURCE\n" msgstr "" #: src/cp.c:199 msgid "" " -p same as --preserve=mode,ownership,timestamps\n" " --preserve[=ATTR_LIST] preserve the specified attributes (default:\n" " mode,ownership,timestamps), if possible\n" " additional attributes: context, links, all\n" msgstr "" #: src/cp.c:205 msgid "" " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" " --parents use full source file name under DIRECTORY\n" msgstr "" #: src/cp.c:209 msgid "" " -R, -r, --recursive copy directories recursively\n" " --remove-destination remove each existing destination file before\n" " attempting to open it (contrast with --" "force)\n" msgstr "" #: src/cp.c:214 msgid "" " --sparse=WHEN control creation of sparse files\n" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" msgstr "" #: src/cp.c:219 msgid "" " -s, --symbolic-link make symbolic links instead of copying\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" msgstr "" #: src/cp.c:225 msgid "" " -u, --update copy only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" " -x, --one-file-system stay on this file system\n" msgstr "" #: src/cp.c:234 msgid "" "\n" "By default, sparse SOURCE files are detected by a crude heuristic and the\n" "corresponding DEST file is made sparse as well. That is the behavior\n" "selected by --sparse=auto. Specify --sparse=always to create a sparse DEST\n" "file whenever the SOURCE file contains a long enough sequence of zero " "bytes.\n" "Use --sparse=never to inhibit creation of sparse files.\n" "\n" msgstr "" #: src/cp.c:243 msgid "" "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #: src/cp.c:249 src/install.c:849 src/ln.c:401 src/mv.c:341 msgid "" " none, off never make backups (even if --backup is given)\n" " numbered, t make numbered backups\n" " existing, nil numbered if numbered backups exist, simple otherwise\n" " simple, never always make simple backups\n" msgstr "" #: src/cp.c:255 msgid "" "\n" "As a special case, cp makes a backup of SOURCE when the force and backup\n" "options are given and SOURCE and DEST are the same name for an existing,\n" "regular file.\n" msgstr "" #: src/cp.c:314 #, c-format msgid "failed to preserve times for %s" msgstr "" #: src/cp.c:345 #, c-format msgid "failed to preserve permissions for %s" msgstr "" #: src/cp.c:472 #, c-format msgid "cannot make directory %s" msgstr "" #: src/cp.c:521 src/cp.c:540 #, c-format msgid "%s exists but is not a directory" msgstr "" #: src/cp.c:567 src/cp.c:1034 src/install.c:299 src/install.c:408 src/ln.c:133 #: src/ln.c:161 src/ln.c:190 src/ln.c:475 src/mv.c:170 src/mv.c:412 #, c-format msgid "accessing %s" msgstr "" #: src/cp.c:587 src/install.c:478 src/ln.c:505 src/mv.c:445 src/shred.c:1183 #: src/touch.c:438 #, c-format msgid "missing file operand" msgstr "" #: src/cp.c:589 src/install.c:480 src/ln.c:519 src/mv.c:447 #, c-format msgid "missing destination file operand after %s" msgstr "" #: src/cp.c:598 src/install.c:489 src/mv.c:456 #, c-format msgid "Cannot combine --target-directory (-t) and --no-target-directory (-T)" msgstr "" #: src/cp.c:612 src/cp.c:1036 src/install.c:301 src/install.c:410 #: src/install.c:502 src/ln.c:135 src/ln.c:477 src/ln.c:533 src/mv.c:414 #: src/mv.c:470 #, c-format msgid "target %s is not a directory" msgstr "" #: src/cp.c:723 #, c-format msgid "with --parents, the destination must be a directory" msgstr "" #: src/cp.c:1011 src/mv.c:400 #, c-format msgid "the --reply option is deprecated; use -i or -f instead" msgstr "" #: src/cp.c:1029 src/install.c:403 src/ln.c:470 src/mv.c:407 #, c-format msgid "multiple target directories specified" msgstr "" #: src/cp.c:1074 #, c-format msgid "cannot make both hard and symbolic links" msgstr "" #: src/cp.c:1082 src/install.c:463 src/ln.c:541 src/mv.c:478 msgid "backup type" msgstr "" #: src/cp.c:1107 #, c-format msgid "cannot preserve security context without an SELinux-enabled kernel" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/csplit.c:53 src/dd.c:46 msgid "Stuart Kemp" msgstr "" #: src/csplit.c:542 #, c-format msgid "input disappeared" msgstr "" #: src/csplit.c:670 src/csplit.c:681 #, c-format msgid "%s: line number out of range" msgstr "" #: src/csplit.c:710 #, c-format msgid "%s: %s: line number out of range" msgstr "" #: src/csplit.c:713 src/csplit.c:762 #, c-format msgid " on repetition %s\n" msgstr "" #: src/csplit.c:756 #, c-format msgid "%s: %s: match not found" msgstr "" #: src/csplit.c:820 src/csplit.c:860 src/nl.c:355 src/tac.c:276 #, c-format msgid "error in regular expression search" msgstr "" #: src/csplit.c:985 #, c-format msgid "write error for %s" msgstr "" #: src/csplit.c:1061 #, c-format msgid "%s: integer expected after delimiter" msgstr "" #: src/csplit.c:1077 #, c-format msgid "%s: `}' is required in repeat count" msgstr "" #: src/csplit.c:1087 #, c-format msgid "%s}: integer required between `{' and `}'" msgstr "" #: src/csplit.c:1114 #, c-format msgid "%s: closing delimiter `%c' missing" msgstr "" #: src/csplit.c:1131 #, c-format msgid "%s: invalid regular expression: %s" msgstr "" #: src/csplit.c:1164 #, c-format msgid "%s: invalid pattern" msgstr "" #: src/csplit.c:1167 #, c-format msgid "%s: line number must be greater than zero" msgstr "" #: src/csplit.c:1173 #, c-format msgid "line number %s is smaller than preceding line number, %s" msgstr "" #: src/csplit.c:1179 #, c-format msgid "warning: line number %s is the same as preceding line number" msgstr "" #: src/csplit.c:1232 #, c-format msgid "invalid format width" msgstr "" #: src/csplit.c:1253 #, c-format msgid "invalid format precision" msgstr "" #: src/csplit.c:1274 #, c-format msgid "missing conversion specifier in suffix" msgstr "" #: src/csplit.c:1280 #, c-format msgid "invalid conversion specifier in suffix: %c" msgstr "" #: src/csplit.c:1283 #, c-format msgid "invalid conversion specifier in suffix: \\%.3o" msgstr "" #: src/csplit.c:1306 #, c-format msgid "too many %% conversion specifications in suffix" msgstr "" #: src/csplit.c:1321 #, c-format msgid "missing %% conversion specification in suffix" msgstr "" #: src/csplit.c:1365 #, c-format msgid "%s: invalid number" msgstr "" #: src/csplit.c:1475 #, c-format msgid "Usage: %s [OPTION]... FILE PATTERN...\n" msgstr "" #: src/csplit.c:1479 msgid "" "Output pieces of FILE separated by PATTERN(s) to files `xx00', `xx01', ...,\n" "and output byte counts of each piece to standard output.\n" "\n" msgstr "" #: src/csplit.c:1487 #, c-format msgid "" " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" " -k, --keep-files do not remove output files on errors\n" msgstr "" #: src/csplit.c:1492 msgid "" " -n, --digits=DIGITS use specified number of digits instead of 2\n" " -s, --quiet, --silent do not print counts of output file sizes\n" " -z, --elide-empty-files remove empty output files\n" msgstr "" #: src/csplit.c:1499 msgid "" "\n" "Read standard input if FILE is -. Each PATTERN may be:\n" msgstr "" #: src/csplit.c:1503 msgid "" "\n" " INTEGER copy up to but not including specified line number\n" " /REGEXP/[OFFSET] copy up to but not including a matching line\n" " %REGEXP%[OFFSET] skip to, but not including a matching line\n" " {INTEGER} repeat the previous pattern specified number of times\n" " {*} repeat the previous pattern as many times as possible\n" "\n" "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/cut.c:43 msgid "David Ihnat" msgstr "" #: src/cut.c:63 msgid "fields and positions are numbered from 1" msgstr "" #: src/cut.c:192 #, c-format msgid "Usage: %s OPTION... [FILE]...\n" msgstr "" #: src/cut.c:196 msgid "" "Print selected parts of lines from each FILE to standard output.\n" "\n" msgstr "" #: src/cut.c:203 msgid "" " -b, --bytes=LIST select only these bytes\n" " -c, --characters=LIST select only these characters\n" " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" msgstr "" #: src/cut.c:208 msgid "" " -f, --fields=LIST select only these fields; also print any line\n" " that contains no delimiter character, unless\n" " the -s option is specified\n" " -n (ignored)\n" msgstr "" #: src/cut.c:214 msgid "" " --complement complement the set of selected bytes, characters\n" " or fields.\n" msgstr "" #: src/cut.c:218 msgid "" " -s, --only-delimited do not print lines not containing delimiters\n" " --output-delimiter=STRING use STRING as the output delimiter\n" " the default is to use the input delimiter\n" msgstr "" #: src/cut.c:225 msgid "" "\n" "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" "range, or many ranges separated by commas. Selected input is written\n" "in the same order that it is read, and is written exactly once.\n" msgstr "" #: src/cut.c:231 msgid "" "Each range is one of:\n" "\n" " N N'th byte, character or field, counted from 1\n" " N- from N'th byte, character or field, to end of line\n" " N-M from N'th to M'th (included) byte, character or field\n" " -M from first to M'th (included) byte, character or field\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" msgstr "" #: src/cut.c:371 src/cut.c:492 msgid "invalid byte or field list" msgstr "" #: src/cut.c:388 msgid "invalid range with no endpoint: -" msgstr "" #: src/cut.c:402 msgid "invalid decreasing range" msgstr "" #: src/cut.c:481 #, c-format msgid "byte offset %s is too large" msgstr "" #: src/cut.c:484 #, c-format msgid "field number %s is too large" msgstr "" #: src/cut.c:788 src/cut.c:796 msgid "only one type of list may be specified" msgstr "" #: src/cut.c:805 msgid "the delimiter must be a single character" msgstr "" #: src/cut.c:840 msgid "you must specify a list of bytes, characters, or fields" msgstr "" #: src/cut.c:843 msgid "an input delimiter may be specified only when operating on fields" msgstr "" #: src/cut.c:847 msgid "" "suppressing non-delimited lines makes sense\n" "\tonly when operating on fields" msgstr "" #: src/cut.c:863 msgid "missing list of fields" msgstr "" #: src/cut.c:865 msgid "missing list of positions" msgstr "" #: src/date.c:130 #, c-format msgid "" "Usage: %s [OPTION]... [+FORMAT]\n" " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" msgstr "" #: src/date.c:135 msgid "" "Display the current time in the given FORMAT, or set the system date.\n" "\n" " -d, --date=STRING display time described by STRING, not `now'\n" " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" msgstr "" #: src/date.c:141 msgid "" " -r, --reference=FILE display the last modification time of FILE\n" " -R, --rfc-2822 output date and time in RFC 2822 format.\n" " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" msgstr "" #: src/date.c:146 msgid "" " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" " TIMESPEC=`date', `seconds', or `ns' for\n" " date and time to the indicated precision.\n" " Date and time components are separated by\n" " a single space: 2006-08-07 12:34:56-06:00\n" " -s, --set=STRING set time described by STRING\n" " -u, --utc, --universal print or set Coordinated Universal Time\n" msgstr "" #: src/date.c:157 msgid "" "\n" "FORMAT controls the output. The only valid option for the second form\n" "specifies Coordinated Universal Time. Interpreted sequences are:\n" "\n" " %% a literal %\n" " %a locale's abbreviated weekday name (e.g., Sun)\n" msgstr "" #: src/date.c:165 msgid "" " %A locale's full weekday name (e.g., Sunday)\n" " %b locale's abbreviated month name (e.g., Jan)\n" " %B locale's full month name (e.g., January)\n" " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" msgstr "" #: src/date.c:171 msgid "" " %C century; like %Y, except omit last two digits (e.g., 21)\n" " %d day of month (e.g, 01)\n" " %D date; same as %m/%d/%y\n" " %e day of month, space padded; same as %_d\n" msgstr "" #: src/date.c:177 msgid "" " %F full date; same as %Y-%m-%d\n" " %g last two digits of year of ISO week number (see %G)\n" " %G year of ISO week number (see %V); normally useful only with %V\n" msgstr "" #: src/date.c:182 msgid "" " %h same as %b\n" " %H hour (00..23)\n" " %I hour (01..12)\n" " %j day of year (001..366)\n" msgstr "" #: src/date.c:188 msgid "" " %k hour ( 0..23)\n" " %l hour ( 1..12)\n" " %m month (01..12)\n" " %M minute (00..59)\n" msgstr "" #: src/date.c:194 msgid "" " %n a newline\n" " %N nanoseconds (000000000..999999999)\n" " %p locale's equivalent of either AM or PM; blank if not known\n" " %P like %p, but lower case\n" " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" " %R 24-hour hour and minute; same as %H:%M\n" " %s seconds since 1970-01-01 00:00:00 UTC\n" msgstr "" #: src/date.c:203 msgid "" " %S second (00..60)\n" " %t a tab\n" " %T time; same as %H:%M:%S\n" " %u day of week (1..7); 1 is Monday\n" msgstr "" #: src/date.c:209 msgid "" " %U week number of year, with Sunday as first day of week (00..53)\n" " %V ISO week number, with Monday as first day of week (01..53)\n" " %w day of week (0..6); 0 is Sunday\n" " %W week number of year, with Monday as first day of week (00..53)\n" msgstr "" #: src/date.c:215 msgid "" " %x locale's date representation (e.g., 12/31/99)\n" " %X locale's time representation (e.g., 23:13:48)\n" " %y last two digits of year (00..99)\n" " %Y year\n" msgstr "" #: src/date.c:221 msgid "" " %z +hhmm numeric timezone (e.g., -0400)\n" " %:z +hh:mm numeric timezone (e.g., -04:00)\n" " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" " %:::z numeric time zone with : to necessary precision (e.g., -04, " "+05:30)\n" " %Z alphabetic time zone abbreviation (e.g., EDT)\n" "\n" "By default, date pads numeric fields with zeroes.\n" msgstr "" #: src/date.c:230 msgid "" "The following optional flags may follow `%':\n" "\n" " - (hyphen) do not pad the field\n" " _ (underscore) pad with spaces\n" " 0 (zero) pad with zeros\n" " ^ use upper case if possible\n" " # use opposite case if possible\n" msgstr "" #: src/date.c:239 msgid "" "\n" "After any flags comes an optional field width, as a decimal number;\n" "then an optional modifier, which is either\n" "E to use the locale's alternate representations if available, or\n" "O to use the locale's alternate numeric symbols if available.\n" msgstr "" #: src/date.c:267 src/dd.c:1702 src/head.c:843 src/md5sum.c:440 #: src/md5sum.c:726 src/od.c:907 src/od.c:1934 src/pr.c:1181 src/pr.c:1377 #: src/pr.c:1499 src/stty.c:842 src/tac.c:536 src/tail.c:1655 src/tee.c:128 #: src/tr.c:1901 src/tsort.c:526 src/wc.c:192 #, c-format msgid "standard input" msgstr "" #: src/date.c:295 src/date.c:515 #, c-format msgid "invalid date %s" msgstr "" #: src/date.c:406 src/date.c:440 #, c-format msgid "multiple output formats specified" msgstr "" #: src/date.c:418 #, c-format msgid "the options to specify dates for printing are mutually exclusive" msgstr "" #: src/date.c:425 #, c-format msgid "the options to print and set the time may not be used together" msgstr "" #: src/date.c:446 #, c-format msgid "" "the argument %s lacks a leading `+';\n" "When using an option to specify date(s), any non-option\n" "argument must be a format string beginning with `+'." msgstr "" #: src/date.c:523 #, c-format msgid "cannot set date" msgstr "" #: src/date.c:546 src/du.c:419 #, c-format msgid "time %s is out of range" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dd.c:44 src/factor.c:39 src/rm.c:64 src/tail.c:52 src/touch.c:41 #: src/wc.c:46 msgid "Paul Rubin" msgstr "" #: src/dd.c:425 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" #: src/dd.c:430 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " cbs=BYTES convert BYTES bytes at a time\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=BLOCKS copy only BLOCKS input blocks\n" " ibs=BYTES read BYTES bytes at a time\n" msgstr "" #: src/dd.c:439 msgid "" " if=FILE read from FILE instead of stdin\n" " iflag=FLAGS read as per the comma separated symbol list\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " oflag=FLAGS write as per the comma separated symbol list\n" " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" #: src/dd.c:449 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dd.c:458 msgid "" " ascii from EBCDIC to ASCII\n" " ebcdic from ASCII to EBCDIC\n" " ibm from ASCII to alternate EBCDIC\n" " block pad newline-terminated records with spaces to cbs-size\n" " unblock replace trailing spaces in cbs-size records with newline\n" " lcase change upper case to lower case\n" msgstr "" #: src/dd.c:466 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" " ucase change lower case to upper case\n" " swab swap every pair of input bytes\n" msgstr "" #: src/dd.c:473 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dd.c:480 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dd.c:487 msgid " direct use direct I/O for data\n" msgstr "" #: src/dd.c:489 msgid " directory fail unless a directory\n" msgstr "" #: src/dd.c:491 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dd.c:493 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dd.c:495 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dd.c:497 msgid " noatime do not update access time\n" msgstr "" #: src/dd.c:499 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dd.c:502 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dd.c:504 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dd.c:506 msgid " binary use binary I/O for data\n" msgstr "" #: src/dd.c:508 msgid " text use text I/O for data\n" msgstr "" #: src/dd.c:512 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dd.c:568 #, c-format msgid "" "%+% records in\n" "%+% records out\n" msgstr "" #: src/dd.c:574 #, c-format msgid "% truncated record\n" msgid_plural "% truncated records\n" msgstr[0] "" msgstr[1] "" #: src/dd.c:586 #, c-format msgid "% byte (%s) copied" msgid_plural "% bytes (%s) copied" msgstr[0] "" msgstr[1] "" #: src/dd.c:604 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dd.c:617 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dd.c:625 #, c-format msgid "closing input file %s" msgstr "" #: src/dd.c:632 #, c-format msgid "closing output file %s" msgstr "" #: src/dd.c:812 src/dd.c:1491 #, c-format msgid "writing to %s" msgstr "" #: src/dd.c:923 src/dd.c:979 #, c-format msgid "unrecognized operand %s" msgstr "" #: src/dd.c:934 msgid "invalid conversion" msgstr "" #: src/dd.c:937 msgid "invalid input flag" msgstr "" #: src/dd.c:940 msgid "invalid output flag" msgstr "" #: src/dd.c:943 msgid "invalid status flag" msgstr "" #: src/dd.c:984 #, c-format msgid "invalid number %s" msgstr "" #: src/dd.c:1007 #, c-format msgid "cannot combine any two of {ascii,ebcdic,ibm}" msgstr "" #: src/dd.c:1009 #, c-format msgid "cannot combine block and unblock" msgstr "" #: src/dd.c:1011 #, c-format msgid "cannot combine lcase and ucase" msgstr "" #: src/dd.c:1013 #, c-format msgid "cannot combine excl and nocreat" msgstr "" #: src/dd.c:1159 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" #: src/dd.c:1216 src/dd.c:1273 #, c-format msgid "%s: cannot seek" msgstr "" #: src/dd.c:1253 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dd.c:1265 #, c-format msgid "warning: invalid file offset after failed read" msgstr "" #: src/dd.c:1269 #, c-format msgid "cannot work around kernel bug after all" msgstr "" #: src/dd.c:1412 #, c-format msgid "setting flags for %s" msgstr "" #: src/dd.c:1649 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dd.c:1659 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dd.c:1708 src/dd.c:1737 #, c-format msgid "opening %s" msgstr "" #: src/dd.c:1747 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "blocks" msgstr "" #: src/dd.c:1768 #, c-format msgid "truncating at % bytes in output file %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/df.c:43 src/du.c:55 src/kill.c:42 src/pathchk.c:39 src/shuf.c:37 #: src/sleep.c:36 src/sort.c:60 msgid "Paul Eggert" msgstr "" #: src/df.c:149 msgid "Filesystem Type" msgstr "" #: src/df.c:151 msgid "Filesystem " msgstr "" #: src/df.c:154 #, c-format msgid " Inodes IUsed IFree IUse%%" msgstr "" #: src/df.c:158 #, c-format msgid " Size Used Avail Use%%" msgstr "" #: src/df.c:160 #, c-format msgid " Size Used Avail Use%%" msgstr "" #: src/df.c:163 #, c-format msgid " %s-blocks Used Available Capacity" msgstr "" #: src/df.c:194 #, c-format msgid " %4s-blocks Used Available Use%%" msgstr "" #: src/df.c:198 #, c-format msgid " Mounted on\n" msgstr "" #: src/df.c:466 #, c-format msgid "cannot get current directory" msgstr "" #: src/df.c:476 src/df.c:490 src/df.c:518 #, c-format msgid "cannot change to directory %s" msgstr "" #: src/df.c:496 #, c-format msgid "cannot stat current directory (now %s)" msgstr "" #: src/df.c:738 src/expand.c:110 src/fold.c:69 src/head.c:110 src/ls.c:4331 #: src/nl.c:178 src/paste.c:436 src/pr.c:2771 src/sort.c:307 src/sum.c:61 #: src/tac.c:135 src/tail.c:218 src/tee.c:64 src/unexpand.c:120 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "" #: src/df.c:739 msgid "" "Show information about the file system on which each FILE resides,\n" "or all file systems by default.\n" "\n" msgstr "" #: src/df.c:747 msgid "" " -a, --all include dummy file systems\n" " -B, --block-size=SIZE use SIZE-byte blocks\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " -H, --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/df.c:753 msgid "" " -i, --inodes list inode information instead of block usage\n" " -k like --block-size=1K\n" " -l, --local limit listing to local file systems\n" " --no-sync do not invoke sync before getting usage info " "(default)\n" msgstr "" #: src/df.c:759 msgid "" " -P, --portability use the POSIX output format\n" " --sync invoke sync before getting usage info\n" " -t, --type=TYPE limit listing to file systems of type TYPE\n" " -T, --print-type print file system type\n" " -x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n" " -v (ignored)\n" msgstr "" #: src/df.c:769 src/du.c:337 src/ls.c:4468 msgid "" "\n" "SIZE may be (or may be an integer optionally followed by) one of following:\n" "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.\n" msgstr "" #: src/df.c:903 #, c-format msgid "file system type %s both selected and excluded" msgstr "" #: src/df.c:944 msgid "Warning: " msgstr "" #: src/df.c:946 msgid "cannot read table of mounted file systems" msgstr "" #: src/df.c:967 #, c-format msgid "no file systems processed" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dircolors.c:35 msgid "H. Peter Anvin" msgstr "" #: src/dircolors.c:100 #, c-format msgid "Usage: %s [OPTION]... [FILE]\n" msgstr "" #: src/dircolors.c:101 msgid "" "Output commands to set the LS_COLORS environment variable.\n" "\n" "Determine format of output:\n" " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" " -p, --print-database output defaults\n" msgstr "" #: src/dircolors.c:111 msgid "" "\n" "If FILE is specified, read it to determine which colors to use for which\n" "file types and extensions. Otherwise, a precompiled database is used.\n" "For details on the format of these files, run `dircolors --print-database'.\n" msgstr "" #: src/dircolors.c:289 #, c-format msgid "%s:%lu: invalid line; missing second token" msgstr "" #: src/dircolors.c:361 #, c-format msgid "%s:%lu: unrecognized keyword %s" msgstr "" #: src/dircolors.c:362 msgid "" msgstr "" #: src/dircolors.c:443 #, c-format msgid "" "the options to output dircolors' internal database and\n" "to select a shell syntax are mutually exclusive" msgstr "" #: src/dircolors.c:453 msgid "File operands cannot be combined with --print-database (-p)." msgstr "" #: src/dircolors.c:476 #, c-format msgid "no SHELL environment variable, and no shell type option given" msgstr "" #: src/dirname.c:49 #, c-format msgid "" "Usage: %s NAME\n" " or: %s OPTION\n" msgstr "" #: src/dirname.c:54 msgid "" "Print NAME with its trailing /component removed; if NAME contains no /'s,\n" "output `.' (meaning the current directory).\n" "\n" msgstr "" #: src/dirname.c:61 #, c-format msgid "" "\n" "Examples:\n" " %s /usr/bin/sort Output \"/usr/bin\".\n" " %s stdio.h Output \".\".\n" msgstr "" #: src/du.c:272 src/wc.c:112 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [OPTION]... --files0-from=F\n" msgstr "" #: src/du.c:276 msgid "" "Summarize disk usage of each FILE, recursively for directories.\n" "\n" msgstr "" #: src/du.c:283 msgid "" " -a, --all write counts for all files, not just directories\n" " --apparent-size print apparent sizes, rather than disk usage; " "although\n" " the apparent size is usually smaller, it may be\n" " larger due to holes in (`sparse') files, internal\n" " fragmentation, indirect blocks, and the like\n" msgstr "" #: src/du.c:290 msgid "" " -B, --block-size=SIZE use SIZE-byte blocks\n" " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" " -c, --total produce a grand total\n" " -D, --dereference-args dereference only symlinks that are listed on the\n" " command line\n" msgstr "" #: src/du.c:297 msgid "" " --files0-from=F summarize disk usage of the NUL-terminated file\n" " names specified in file F\n" " -H like --si, but also evokes a warning; will soon\n" " change to be equivalent to --dereference-args (-" "D)\n" " -h, --human-readable print sizes in human readable format (e.g., 1K 234M " "2G)\n" " --si like -h, but use powers of 1000 not 1024\n" msgstr "" #: src/du.c:305 msgid "" " -k like --block-size=1K\n" " -l, --count-links count sizes many times if hard linked\n" " -m like --block-size=1M\n" msgstr "" #: src/du.c:310 msgid "" " -L, --dereference dereference all symbolic links\n" " -P, --no-dereference don't follow any symbolic links (this is the " "default)\n" " -0, --null end each output line with 0 byte rather than " "newline\n" " -S, --separate-dirs do not include size of subdirectories\n" " -s, --summarize display only a total for each argument\n" msgstr "" #: src/du.c:317 msgid "" " -x, --one-file-system skip directories on different file systems\n" " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " "FILE.\n" " --exclude=PATTERN Exclude files that match PATTERN.\n" " --max-depth=N print the total for a directory (or file, with --" "all)\n" " only if it is N or fewer levels below the command\n" " line argument; --max-depth=0 is the same as\n" " --summarize\n" msgstr "" #: src/du.c:326 msgid "" " --time show time of the last modification of any file in " "the\n" " directory, or any of its subdirectories\n" " --time=WORD show time as WORD instead of modification time:\n" " atime, access, use, ctime or status\n" " --time-style=STYLE show times using style STYLE:\n" " full-iso, long-iso, iso, +FORMAT\n" " FORMAT is interpreted like `date'\n" msgstr "" #: src/du.c:659 src/ls.c:2455 src/wc.c:727 msgid "total" msgstr "" #: src/du.c:745 #, c-format msgid "" "WARNING: use --si, not -H; the meaning of the -H option will soon\n" "change to be the same as that of --dereference-args (-D)" msgstr "" #: src/du.c:769 #, c-format msgid "invalid maximum depth %s" msgstr "" #: src/du.c:778 #, c-format msgid "the --megabytes option is deprecated; use -m instead" msgstr "" #: src/du.c:865 #, c-format msgid "cannot both summarize and show all entries" msgstr "" #: src/du.c:872 #, c-format msgid "warning: summarizing is the same as using --max-depth=0" msgstr "" #: src/du.c:878 #, c-format msgid "warning: summarizing conflicts with --max-depth=%lu" msgstr "" #: src/du.c:943 src/wc.c:652 msgid "File operands cannot be combined with --files0-from." msgstr "" #: src/du.c:954 src/wc.c:669 #, c-format msgid "cannot read file names from %s" msgstr "" #: src/du.c:987 src/wc.c:696 #, c-format msgid "when reading file names from stdin, no file name of %s allowed" msgstr "" #: src/du.c:1006 src/du.c:1009 src/wc.c:714 src/wc.c:717 msgid "invalid zero-length file name" msgstr "" #: src/echo.c:64 #, c-format msgid "Usage: %s [OPTION]... [STRING]...\n" msgstr "" #: src/echo.c:65 msgid "" "Echo the STRING(s) to standard output.\n" "\n" " -n do not output the trailing newline\n" msgstr "" #: src/echo.c:71 msgid "" " -e enable interpretation of backslash escapes (default)\n" " -E disable interpretation of backslash escapes\n" msgstr "" #: src/echo.c:80 msgid "" "\n" "If -e is in effect, the following sequences are recognized:\n" "\n" " \\0NNN the character whose ASCII code is NNN (octal)\n" " \\\\ backslash\n" " \\a alert (BEL)\n" " \\b backspace\n" msgstr "" #: src/echo.c:89 msgid "" " \\c suppress trailing newline\n" " \\f form feed\n" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/env.c:92 src/printenv.c:46 src/whoami.c:36 msgid "Richard Mlynarik" msgstr "" #: src/env.c:119 #, c-format msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" msgstr "" #: src/env.c:122 msgid "" "Set each NAME to VALUE in the environment and run COMMAND.\n" "\n" " -i, --ignore-environment start with an empty environment\n" " -u, --unset=NAME remove variable from the environment\n" msgstr "" #: src/env.c:130 msgid "" "\n" "A mere - implies -i. If no COMMAND, print the resulting environment.\n" msgstr "" #: src/expand.c:114 msgid "" "Convert tabs in each FILE to spaces, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/expand.c:122 msgid "" " -i, --initial do not convert tabs after non blanks\n" " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" msgstr "" #: src/expand.c:126 msgid "" " -t, --tabs=LIST use comma separated list of explicit tab positions\n" msgstr "" #: src/expand.c:179 src/unexpand.c:198 #, c-format msgid "tab stop is too large %s" msgstr "" #: src/expand.c:187 src/unexpand.c:206 #, c-format msgid "tab size contains invalid character(s): %s" msgstr "" #: src/expand.c:213 src/unexpand.c:232 #, c-format msgid "tab size cannot be 0" msgstr "" #: src/expand.c:215 src/unexpand.c:234 #, c-format msgid "tab sizes must be ascending" msgstr "" #: src/expand.c:332 src/expand.c:351 src/unexpand.c:380 src/unexpand.c:427 #, c-format msgid "input line is too long" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/expr.c:46 src/ln.c:39 src/mv.c:41 src/tee.c:32 msgid "Mike Parker" msgstr "" #: src/expr.c:100 #, c-format msgid "" "Usage: %s EXPRESSION\n" " or: %s OPTION\n" msgstr "" #: src/expr.c:108 msgid "" "\n" "Print the value of EXPRESSION to standard output. A blank line below\n" "separates increasing precedence groups. EXPRESSION may be:\n" "\n" " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" "\n" " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" msgstr "" #: src/expr.c:117 msgid "" "\n" " ARG1 < ARG2 ARG1 is less than ARG2\n" " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" " ARG1 = ARG2 ARG1 is equal to ARG2\n" " ARG1 != ARG2 ARG1 is unequal to ARG2\n" " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" " ARG1 > ARG2 ARG1 is greater than ARG2\n" msgstr "" #: src/expr.c:126 msgid "" "\n" " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" msgstr "" #: src/expr.c:133 #, no-c-format msgid "" "\n" " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" msgstr "" #: src/expr.c:139 msgid "" "\n" " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" "\n" " match STRING REGEXP same as STRING : REGEXP\n" " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" " index STRING CHARS index in STRING where any CHARS is found, or 0\n" " length STRING length of STRING\n" msgstr "" #: src/expr.c:148 msgid "" " + TOKEN interpret TOKEN as a string, even if it is a\n" " keyword like `match' or an operator like `/'\n" "\n" " ( EXPRESSION ) value of EXPRESSION\n" msgstr "" #: src/expr.c:154 msgid "" "\n" "Beware that many operators need to be escaped or quoted for shells.\n" "Comparisons are arithmetic if both ARGs are numbers, else lexicographical.\n" "Pattern matches return the string matched between \\( and \\) or null; if\n" "\\( and \\) are not used, they return the number of characters matched or " "0.\n" msgstr "" #: src/expr.c:161 msgid "" "\n" "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " "null\n" "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.\n" msgstr "" #: src/expr.c:175 #, c-format msgid "syntax error" msgstr "" #: src/expr.c:468 src/ptx.c:291 #, c-format msgid "error in regular expression matcher" msgstr "" #: src/expr.c:653 src/expr.c:711 #, c-format msgid "non-numeric argument" msgstr "" #: src/expr.c:665 #, c-format msgid "division by zero" msgstr "" #: src/factor.c:73 #, c-format msgid "" "Usage: %s [NUMBER]...\n" " or: %s OPTION\n" msgstr "" #: src/factor.c:78 msgid "" "Print the prime factors of each NUMBER.\n" "\n" msgstr "" #: src/factor.c:84 msgid "" "\n" "Print the prime factors of all specified integer NUMBERs. If no arguments\n" "are specified on the command line, they are read from standard input.\n" msgstr "" #: src/factor.c:155 src/od.c:1680 src/od.c:1749 #, c-format msgid "%s is too large" msgstr "" #: src/factor.c:157 #, c-format msgid "%s is not a valid positive integer" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/fmt.c:36 msgid "Ross Paterson" msgstr "" #: src/fmt.c:272 #, c-format msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" msgstr "" #: src/fmt.c:273 msgid "" "Reformat each paragraph in the FILE(s), writing to standard output.\n" "If no FILE or if FILE is `-', read standard input.\n" "\n" msgstr "" #: src/fmt.c:281 msgid "" " -c, --crown-margin preserve indentation of first two lines\n" " -p, --prefix=STRING reformat only lines beginning with STRING,\n" " reattaching the prefix to reformatted lines\n" " -s, --split-only split long lines, but do not refill\n" msgstr "" #: src/fmt.c:288 msgid "" " -t, --tagged-paragraph indentation of first line different from second\n" " -u, --uniform-spacing one space between words, two after sentences\n" " -w, --width=WIDTH maximum line width (default of 75 columns)\n" msgstr "" #: src/fmt.c:357 #, c-format msgid "" "invalid option -- %c; -WIDTH is recognized only when it is the first\n" "option; use -w N instead" msgstr "" #: src/fmt.c:399 #, c-format msgid "invalid width: %s" msgstr "" #: src/fold.c:73 msgid "" "Wrap input lines in each FILE (standard input by default), writing to\n" "standard output.\n" "\n" msgstr "" #: src/fold.c:81 msgid "" " -b, --bytes count bytes rather than columns\n" " -s, --spaces break at spaces\n" " -w, --width=WIDTH use WIDTH columns instead of 80\n" msgstr "" #: src/fold.c:290 src/pr.c:841 #, c-format msgid "invalid number of columns: %s" msgstr "" #: src/group-list.c:68 src/id.c:313 src/setuidgid.c:186 #, c-format msgid "failed to get groups for user %s" msgstr "" #: src/group-list.c:73 src/id.c:318 #, c-format msgid "failed to get groups for the current process" msgstr "" #: src/group-list.c:104 #, c-format msgid "cannot find name for group ID %lu" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/groups.c:40 msgid "James Youngman" msgstr "" #: src/groups.c:58 src/id.c:85 #, c-format msgid "Usage: %s [OPTION]... [USERNAME]\n" msgstr "" #: src/groups.c:59 msgid "" "Print information for USERNAME or, if no USERNAME is specified,\n" "the current process (which is different if the groups database has " "changed).\n" msgstr "" #: src/groups.c:118 src/id.c:205 #, c-format msgid "%s: No such user" msgstr "" #: src/head.c:114 msgid "" "Print the first 10 lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/head.c:123 msgid "" " -c, --bytes=[-]N print the first N bytes of each file;\n" " with the leading `-', print all but the last\n" " N bytes of each file\n" " -n, --lines=[-]N print the first N lines instead of the first 10;\n" " with the leading `-', print all but the last\n" " N lines of each file\n" msgstr "" #: src/head.c:131 msgid "" " -q, --quiet, --silent never print headers giving file names\n" " -v, --verbose always print headers giving file names\n" msgstr "" #: src/head.c:137 msgid "" "\n" "N may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/head.c:154 src/head.c:267 src/head.c:339 src/head.c:543 src/head.c:625 #: src/head.c:697 src/head.c:755 src/head.c:779 src/tail.c:372 src/tail.c:460 #: src/tail.c:509 src/tail.c:602 src/tail.c:730 src/tail.c:778 src/tail.c:817 #: src/tail.c:1322 src/tail.c:1351 src/uniq.c:394 #, c-format msgid "error reading %s" msgstr "" #: src/head.c:157 #, c-format msgid "error writing %s" msgstr "" #: src/head.c:160 #, c-format msgid "%s: file has shrunk too much" msgstr "" #: src/head.c:233 src/head.c:1049 #, c-format msgid "%s: number of bytes is too large" msgstr "" #: src/head.c:446 #, c-format msgid "%s: cannot lseek back to original position" msgstr "" #: src/head.c:618 src/head.c:689 src/tail.c:410 #, c-format msgid "%s: cannot seek to offset %s" msgstr "" #: src/head.c:796 #, c-format msgid "cannot reposition file pointer for %s" msgstr "" #: src/head.c:883 #, c-format msgid "%s: %s is so large that it is not representable" msgstr "" #: src/head.c:884 msgid "number of lines" msgstr "" #: src/head.c:884 msgid "number of bytes" msgstr "" #: src/head.c:891 src/tail.c:1486 msgid "invalid number of lines" msgstr "" #: src/head.c:892 src/tail.c:1487 msgid "invalid number of bytes" msgstr "" #: src/head.c:979 src/head.c:1037 #, c-format msgid "invalid trailing option -- %c" msgstr "" #: src/hostid.c:47 #, c-format msgid "" "Usage: %s\n" " or: %s OPTION\n" "Print the numeric identifier (in hexadecimal) for the current host.\n" "\n" msgstr "" #: src/hostname.c:64 #, c-format msgid "" "Usage: %s [NAME]\n" " or: %s OPTION\n" "Print or set the hostname of the current system.\n" "\n" msgstr "" #: src/hostname.c:102 #, c-format msgid "cannot set name to %s" msgstr "" #: src/hostname.c:105 #, c-format msgid "cannot set hostname; this system lacks the functionality" msgstr "" #: src/hostname.c:113 #, c-format msgid "cannot determine hostname" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/id.c:38 src/touch.c:42 msgid "Arnold Robbins" msgstr "" #: src/id.c:86 msgid "" "Print information for USERNAME, or the current user.\n" "\n" " -a ignore, for compatibility with other versions\n" " -Z, --context print only the security context of the current user\n" " -g, --group print only the effective group ID\n" " -G, --groups print all group IDs\n" " -n, --name print a name instead of a number, for -ugG\n" " -r, --real print the real ID instead of the effective ID, with -ugG\n" " -u, --user print only the effective user ID\n" msgstr "" #: src/id.c:99 msgid "" "\n" "Without any OPTION, print some useful set of identified information.\n" msgstr "" #: src/id.c:143 #, c-format msgid "--context (-Z) works only on an SELinux-enabled kernel" msgstr "" #: src/id.c:177 #, c-format msgid "cannot print security context when user specified" msgstr "" #: src/id.c:180 #, c-format msgid "" "cannot display context when selinux not enabled or when displaying the id\n" "of a different user" msgstr "" #: src/id.c:191 #, c-format msgid "can't get process context" msgstr "" #: src/id.c:195 #, c-format msgid "cannot print \"only\" of more than one choice" msgstr "" #: src/id.c:199 #, c-format msgid "cannot print only names or real IDs in default format" msgstr "" #: src/id.c:256 #, c-format msgid "cannot find name for user ID %lu" msgstr "" #: src/id.c:325 msgid " groups=" msgstr "" #: src/install.c:270 #, c-format msgid "warning: %s: failed to change context to %s" msgstr "" #: src/install.c:422 #, c-format msgid "" "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." msgstr "" #: src/install.c:432 #, c-format msgid "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." msgstr "" #: src/install.c:449 #, c-format msgid "the strip option may not be used when installing a directory" msgstr "" #: src/install.c:452 #, c-format msgid "target directory not allowed when installing a directory" msgstr "" #: src/install.c:456 #, c-format msgid "cannot force target context to %s and preserve it" msgstr "" #: src/install.c:510 src/mkdir.c:207 #, c-format msgid "invalid mode %s" msgstr "" #: src/install.c:662 #, c-format msgid "cannot change ownership of %s" msgstr "" #: src/install.c:686 #, c-format msgid "cannot set time stamps for %s" msgstr "" #: src/install.c:707 #, c-format msgid "fork system call failed" msgstr "" #: src/install.c:711 #, c-format msgid "cannot run strip" msgstr "" #: src/install.c:715 #, c-format msgid "waiting for strip" msgstr "" #: src/install.c:717 #, c-format msgid "strip process terminated abnormally" msgstr "" #: src/install.c:738 #, c-format msgid "invalid user %s" msgstr "" #: src/install.c:756 src/setuidgid.c:112 src/setuidgid.c:122 #, c-format msgid "invalid group %s" msgstr "" #: src/install.c:773 #, c-format msgid "creating directory %s" msgstr "" #: src/install.c:796 #, c-format msgid "" "Usage: %s [OPTION]... [-T] SOURCE DEST\n" " or: %s [OPTION]... SOURCE... DIRECTORY\n" " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" " or: %s [OPTION]... -d DIRECTORY...\n" msgstr "" #: src/install.c:803 msgid "" "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" "the existing DIRECTORY, while setting permission modes and owner/group.\n" "In the 4th form, create all components of the given DIRECTORY(ies).\n" "\n" msgstr "" #: src/install.c:812 msgid "" " --backup[=CONTROL] make a backup of each existing destination file\n" " -b like --backup but does not accept an argument\n" " -c (ignored)\n" " -d, --directory treat all arguments as directory names; create all\n" " components of the specified directories\n" msgstr "" #: src/install.c:819 msgid "" " -D create all leading components of DEST except the " "last,\n" " then copy SOURCE to DEST\n" " -g, --group=GROUP set group ownership, instead of process' current " "group\n" " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-xr-" "x\n" " -o, --owner=OWNER set ownership (super-user only)\n" msgstr "" #: src/install.c:826 msgid "" " -p, --preserve-timestamps apply access/modification times of SOURCE " "files\n" " to corresponding destination files\n" " -s, --strip strip symbol tables\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -v, --verbose print the name of each directory as it is created\n" msgstr "" #: src/install.c:835 msgid "" " --preserve-context preserve SELinux security context\n" " -Z, --context=CONTEXT set SELinux security context of files and " "directories\n" msgstr "" #: src/install.c:842 src/ln.c:394 src/mv.c:334 msgid "" "\n" "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n" "The version control method may be selected via the --backup option or " "through\n" "the VERSION_CONTROL environment variable. Here are the values:\n" "\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/join.c:39 src/sort.c:59 msgid "Mike Haertel" msgstr "" #: src/join.c:164 msgid "" "For each pair of input lines with identical join fields, write a line to\n" "standard output. The default join field is the first, delimited\n" "by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.\n" "\n" " -a FILENUM print unpairable lines coming from file FILENUM, where\n" " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" " -e EMPTY replace missing input fields with EMPTY\n" msgstr "" #: src/join.c:173 msgid "" " -i, --ignore-case ignore differences in case when comparing fields\n" " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" " -o FORMAT obey FORMAT while constructing output line\n" " -t CHAR use CHAR as input and output field separator\n" msgstr "" #: src/join.c:179 msgid "" " -v FILENUM like -a FILENUM, but suppress joined output lines\n" " -1 FIELD join on this FIELD of file 1\n" " -2 FIELD join on this FIELD of file 2\n" " --check-order check that the input is correctly sorted, even\n" " if all input lines are pairable\n" " --nocheck-order do not check that the input is correctly sorted\n" msgstr "" #: src/join.c:189 msgid "" "\n" "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" "else fields are separated by CHAR. Any FIELD is a field number counted\n" "from 1. FORMAT is one or more comma or blank separated specifications,\n" "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join field,\n" "the remaining fields from FILE1, the remaining fields from FILE2, all\n" "separated by CHAR.\n" "\n" "Important: FILE1 and FILE2 must be sorted on the join fields.\n" "E.g., use `sort -k 1b,1' if `join' has no options.\n" "If the input is not sorted and some lines cannot be joined, a\n" "warning message will be given.\n" msgstr "" #: src/join.c:386 #, c-format msgid "File %d is not in sorted order" msgstr "" #: src/join.c:770 src/join.c:969 #, c-format msgid "invalid field number: %s" msgstr "" #: src/join.c:791 src/join.c:800 #, c-format msgid "invalid field specifier: %s" msgstr "" #: src/join.c:807 #, c-format msgid "invalid file number in field spec: %s" msgstr "" #: src/join.c:850 #, c-format msgid "incompatible join fields %lu, %lu" msgstr "" #: src/join.c:980 #, c-format msgid "conflicting empty-field replacement strings" msgstr "" #: src/join.c:1021 src/sort.c:3042 #, c-format msgid "empty tab" msgstr "" #: src/join.c:1027 src/sort.c:3053 #, c-format msgid "multi-character tab %s" msgstr "" #: src/join.c:1031 src/sort.c:3058 #, c-format msgid "incompatible tabs" msgstr "" #: src/join.c:1096 #, c-format msgid "both files cannot be standard input" msgstr "" #: src/kill.c:89 #, c-format msgid "" "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" " or: %s -l [SIGNAL]...\n" " or: %s -t [SIGNAL]...\n" msgstr "" #: src/kill.c:95 msgid "" "Send signals to processes, or list signals.\n" "\n" msgstr "" #: src/kill.c:102 msgid "" " -s, --signal=SIGNAL, -SIGNAL\n" " specify the name or number of the signal to be sent\n" " -l, --list list signal names, or convert signal names to/from " "numbers\n" " -t, --table print a table of signal information\n" msgstr "" #: src/kill.c:110 msgid "" "\n" "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" "or an exit status of a process terminated by a signal.\n" "PID is an integer; if negative it identifies a process group.\n" msgstr "" #: src/kill.c:160 #, c-format msgid "%s: invalid signal" msgstr "" #: src/kill.c:265 #, c-format msgid "%s: invalid process id" msgstr "" #: src/kill.c:319 #, c-format msgid "invalid option -- %c" msgstr "" #: src/kill.c:328 #, c-format msgid "%s: multiple signals specified" msgstr "" #: src/kill.c:342 #, c-format msgid "multiple -l or -t options specified" msgstr "" #: src/kill.c:359 #, c-format msgid "cannot combine signal with -l or -t" msgstr "" #: src/kill.c:365 #, c-format msgid "no process ID specified" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/link.c:36 src/unlink.c:36 src/who.c:46 msgid "Michael Stone" msgstr "" #: src/link.c:49 #, c-format msgid "" "Usage: %s FILE1 FILE2\n" " or: %s OPTION\n" msgstr "" #: src/link.c:52 msgid "" "Call the link function to create a link named FILE2 to an existing FILE1.\n" "\n" msgstr "" #: src/link.c:94 #, c-format msgid "cannot create link %s to %s" msgstr "" #: src/ln.c:168 #, c-format msgid "%s: warning: making a hard link to a symbolic link is not portable" msgstr "" #: src/ln.c:178 #, c-format msgid "%s: hard link not allowed for directory" msgstr "" #: src/ln.c:243 #, c-format msgid "%s: cannot overwrite directory" msgstr "" #: src/ln.c:248 #, c-format msgid "%s: replace %s? " msgstr "" #: src/ln.c:324 #, c-format msgid "creating symbolic link %s" msgstr "" #: src/ln.c:325 #, c-format msgid "creating symbolic link %s -> %s" msgstr "" #: src/ln.c:327 #, c-format msgid "creating hard link to %.0s%s" msgstr "" #: src/ln.c:330 #, c-format msgid "creating hard link %s" msgstr "" #: src/ln.c:331 #, c-format msgid "creating hard link %s => %s" msgstr "" #: src/ln.c:353 #, c-format msgid "" "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" " or: %s [OPTION]... TARGET (2nd form)\n" " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" msgstr "" #: src/ln.c:360 msgid "" "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" "In the 2nd form, create a link to TARGET in the current directory.\n" "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" "Create hard links by default, symbolic links with --symbolic.\n" "When creating hard links, each TARGET must exist.\n" "\n" msgstr "" #: src/ln.c:371 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an argument\n" " -d, -F, --directory allow the superuser to attempt to hard link\n" " directories (note: will probably fail due " "to\n" " system restrictions, even for the " "superuser)\n" " -f, --force remove existing destination files\n" msgstr "" #: src/ln.c:379 msgid "" " -n, --no-dereference treat destination that is a symlink to a\n" " directory as if it were a normal file\n" " -i, --interactive prompt whether to remove destinations\n" " -s, --symbolic make symbolic links instead of hard links\n" msgstr "" #: src/ln.c:385 msgid "" " -S, --suffix=SUFFIX override the usual backup suffix\n" " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " "create\n" " the links\n" " -T, --no-target-directory treat LINK_NAME as a normal file\n" " -v, --verbose print name of each linked file\n" msgstr "" #: src/ln.c:513 #, c-format msgid "Cannot combine --target-directory and --no-target-directory" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/logname.c:30 msgid "FIXME: unknown" msgstr "" #: src/logname.c:43 src/pwd.c:53 src/sync.c:44 #, c-format msgid "Usage: %s [OPTION]\n" msgstr "" #: src/logname.c:44 msgid "" "Print the name of the current user.\n" "\n" msgstr "" #: src/logname.c:88 #, c-format msgid "no login name" msgstr "" #: src/ls.c:687 msgid "%b %e %Y" msgstr "" #: src/ls.c:695 msgid "%b %e %H:%M" msgstr "" #: src/ls.c:1456 #, c-format msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" msgstr "" #: src/ls.c:1483 #, c-format msgid "ignoring invalid width in environment variable COLUMNS: %s" msgstr "" #: src/ls.c:1513 #, c-format msgid "ignoring invalid tab size in environment variable TABSIZE: %s" msgstr "" #: src/ls.c:1634 src/ptx.c:2047 #, c-format msgid "invalid line width: %s" msgstr "" #: src/ls.c:1708 #, c-format msgid "invalid tab size: %s" msgstr "" #: src/ls.c:1898 #, c-format msgid "invalid time style format %s" msgstr "" #: src/ls.c:2242 #, c-format msgid "unrecognized prefix: %s" msgstr "" #: src/ls.c:2265 #, c-format msgid "unparsable value for LS_COLORS environment variable" msgstr "" #: src/ls.c:2342 src/pwd.c:154 #, c-format msgid "cannot open directory %s" msgstr "" #: src/ls.c:2357 #, c-format msgid "cannot determine device and inode of %s" msgstr "" #: src/ls.c:2366 #, c-format msgid "%s: not listing already-listed directory" msgstr "" #: src/ls.c:2413 src/pwd.c:222 #, c-format msgid "reading directory %s" msgstr "" #: src/ls.c:2423 #, c-format msgid "closing directory %s" msgstr "" #: src/ls.c:2990 #, c-format msgid "cannot compare file names %s and %s" msgstr "" #: src/ls.c:4332 msgid "" "List information about the FILEs (the current directory by default).\n" "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" "\n" msgstr "" #: src/ls.c:4340 msgid "" " -a, --all do not ignore entries starting with .\n" " -A, --almost-all do not list implied . and ..\n" " --author with -l, print the author of each file\n" " -b, --escape print octal escapes for nongraphic characters\n" msgstr "" #: src/ls.c:4346 msgid "" " --block-size=SIZE use SIZE-byte blocks\n" " -B, --ignore-backups do not list implied entries ending with ~\n" " -c with -lt: sort by, and show, ctime (time of " "last\n" " modification of file status information)\n" " with -l: show ctime and sort by name\n" " otherwise: sort by ctime\n" msgstr "" #: src/ls.c:4354 msgid "" " -C list entries by columns\n" " --color[=WHEN] control whether color is used to distinguish " "file\n" " types. WHEN may be `never', `always', or " "`auto'\n" " -d, --directory list directory entries instead of contents,\n" " and do not dereference symbolic links\n" " -D, --dired generate output designed for Emacs' dired mode\n" msgstr "" #: src/ls.c:4362 msgid "" " -f do not sort, enable -aU, disable -ls --color\n" " -F, --classify append indicator (one of */=>@|) to entries\n" " --file-type likewise, except do not append `*'\n" " --format=WORD across -x, commas -m, horizontal -x, long -l,\n" " single-column -1, verbose -l, vertical -C\n" " --full-time like -l --time-style=full-iso\n" msgstr "" #: src/ls.c:4370 msgid " -g like -l, but do not list owner\n" msgstr "" #: src/ls.c:4373 msgid "" " --group-directories-first\n" " group directories before files.\n" " augment with a --sort option, but any\n" " use of --sort=none (-U) disables grouping\n" msgstr "" #: src/ls.c:4379 msgid "" " -G, --no-group in a long listing, don't print group names\n" " -h, --human-readable with -l, print sizes in human readable format\n" " (e.g., 1K 234M 2G)\n" " --si likewise, but use powers of 1000 not 1024\n" msgstr "" #: src/ls.c:4385 msgid "" " -H, --dereference-command-line\n" " follow symbolic links listed on the command " "line\n" " --dereference-command-line-symlink-to-dir\n" " follow each command line symbolic link\n" " that points to a directory\n" " --hide=PATTERN do not list implied entries matching shell " "PATTERN\n" " (overridden by -a or -A)\n" msgstr "" #: src/ls.c:4394 msgid "" " --indicator-style=WORD append indicator with style WORD to entry " "names:\n" " none (default), slash (-p),\n" " file-type (--file-type), classify (-F)\n" " -i, --inode print the index number of each file\n" " -I, --ignore=PATTERN do not list implied entries matching shell " "PATTERN\n" " -k like --block-size=1K\n" msgstr "" #: src/ls.c:4402 msgid "" " -l use a long listing format\n" " -L, --dereference when showing file information for a symbolic\n" " link, show information for the file the link\n" " references rather than for the link itself\n" " -m fill width with a comma separated list of " "entries\n" msgstr "" #: src/ls.c:4409 msgid "" " -n, --numeric-uid-gid like -l, but list numeric user and group IDs\n" " -N, --literal print raw entry names (don't treat e.g. " "control\n" " characters specially)\n" " -o like -l, but do not list group information\n" " -p, --indicator-style=slash\n" " append / indicator to directories\n" msgstr "" #: src/ls.c:4417 msgid "" " -q, --hide-control-chars print ? instead of non graphic characters\n" " --show-control-chars show non graphic characters as-is (default\n" " unless program is `ls' and output is a " "terminal)\n" " -Q, --quote-name enclose entry names in double quotes\n" " --quoting-style=WORD use quoting style WORD for entry names:\n" " literal, locale, shell, shell-always, c, " "escape\n" msgstr "" #: src/ls.c:4425 msgid "" " -r, --reverse reverse order while sorting\n" " -R, --recursive list subdirectories recursively\n" " -s, --size print the size of each file, in blocks\n" msgstr "" #: src/ls.c:4430 msgid "" " -S sort by file size\n" " --sort=WORD sort by WORD instead of name: none -U,\n" " extension -X, size -S, time -t, version -v\n" " --time=WORD with -l, show time as WORD instead of " "modification\n" " time: atime -u, access -u, use -u, ctime -c,\n" " or status -c; use specified time as sort key\n" " if --sort=time\n" msgstr "" #: src/ls.c:4439 msgid "" " --time-style=STYLE with -l, show times using style STYLE:\n" " full-iso, long-iso, iso, locale, +FORMAT.\n" " FORMAT is interpreted like `date'; if FORMAT " "is\n" " FORMAT1FORMAT2, FORMAT1 applies to\n" " non-recent files and FORMAT2 to recent files;\n" " if STYLE is prefixed with `posix-', STYLE\n" " takes effect only outside the POSIX locale\n" msgstr "" #: src/ls.c:4448 msgid "" " -t sort by modification time\n" " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" msgstr "" #: src/ls.c:4452 msgid "" " -u with -lt: sort by, and show, access time\n" " with -l: show access time and sort by name\n" " otherwise: sort by access time\n" " -U do not sort; list entries in directory order\n" " -v sort by version\n" msgstr "" #: src/ls.c:4459 msgid "" " -w, --width=COLS assume screen width instead of current value\n" " -x list entries by lines instead of by columns\n" " -X sort alphabetically by entry extension\n" " -Z, --context print any SELinux security context of each " "file\n" " -1 list one file per line\n" msgstr "" #: src/ls.c:4472 msgid "" "\n" "By default, color is not used to distinguish types of files. That is\n" "equivalent to using --color=none. Using the --color option without the\n" "optional WHEN argument is equivalent to using --color=always. With\n" "--color=auto, color codes are output only if standard output is connected\n" "to a terminal (tty). The environment variable LS_COLORS can influence the\n" "colors, and can be set easily by the dircolors command.\n" msgstr "" #: src/ls.c:4481 msgid "" "\n" "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:92 src/seq.c:41 msgid "Ulrich Drepper" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:93 msgid "Scott Miller" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/md5sum.c:94 msgid "David Madore" msgstr "" #: src/md5sum.c:150 #, c-format msgid "" "Usage: %s [OPTION] [FILE]...\n" "Print or check %s (%d-bit) checksums.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/md5sum.c:160 msgid "" " -b, --binary read in binary mode (default unless reading tty " "stdin)\n" msgstr "" #: src/md5sum.c:164 msgid " -b, --binary read in binary mode\n" msgstr "" #: src/md5sum.c:167 #, c-format msgid " -c, --check read %s sums from the FILEs and check them\n" msgstr "" #: src/md5sum.c:171 msgid "" " -t, --text read in text mode (default if reading tty stdin)\n" msgstr "" #: src/md5sum.c:175 msgid " -t, --text read in text mode (default)\n" msgstr "" #: src/md5sum.c:178 msgid "" "\n" "The following two options are useful only when verifying checksums:\n" " --status don't output anything, status code shows success\n" " -w, --warn warn about improperly formatted checksum lines\n" "\n" msgstr "" #: src/md5sum.c:187 #, c-format msgid "" "\n" "The sums are computed as described in %s. When checking, the input\n" "should be a former output of this program. The default mode is to print\n" "a line with checksum, a character indicating type (`*' for binary, ` ' for\n" "text), and name for each FILE.\n" msgstr "" #: src/md5sum.c:465 #, c-format msgid "%s: too many checksum lines" msgstr "" #: src/md5sum.c:487 #, c-format msgid "%s: %: improperly formatted %s checksum line" msgstr "" #: src/md5sum.c:510 #, c-format msgid "%s: FAILED open or read\n" msgstr "" #: src/md5sum.c:534 msgid "FAILED" msgstr "" #: src/md5sum.c:534 msgid "OK" msgstr "" #: src/md5sum.c:546 src/od.c:947 src/tac.c:241 src/tac.c:352 src/tac.c:482 #: src/tac.c:558 #, c-format msgid "%s: read error" msgstr "" #: src/md5sum.c:559 #, c-format msgid "%s: no properly formatted %s checksum lines found" msgstr "" #: src/md5sum.c:568 #, c-format msgid "WARNING: % of % listed file could not be read" msgid_plural "WARNING: % of % listed files could not be read" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:580 #, c-format msgid "WARNING: % of % computed checksum did NOT match" msgid_plural "" "WARNING: % of % computed checksums did NOT match" msgstr[0] "" msgstr[1] "" #: src/md5sum.c:646 #, c-format msgid "" "the --binary and --text options are meaningless when verifying checksums" msgstr "" #: src/md5sum.c:654 #, c-format msgid "the --status option is meaningful only when verifying checksums" msgstr "" #: src/md5sum.c:661 #, c-format msgid "the --warn option is meaningful only when verifying checksums" msgstr "" #: src/mkdir.c:61 #, c-format msgid "Usage: %s [OPTION] DIRECTORY...\n" msgstr "" #: src/mkdir.c:62 msgid "" "Create the DIRECTORY(ies), if they do not already exist.\n" "\n" msgstr "" #: src/mkdir.c:69 msgid "" " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" " -p, --parents no error if existing, make parent directories as needed\n" " -v, --verbose print a message for each created directory\n" " -Z, --context=CTX set the SELinux security context of each created\n" " directory to CTX\n" msgstr "" #: src/mkdir.c:174 #, c-format msgid "created directory %s" msgstr "" #: src/mkfifo.c:55 #, c-format msgid "Usage: %s [OPTION] NAME...\n" msgstr "" #: src/mkfifo.c:56 msgid "" "Create named pipes (FIFOs) with the given NAMEs.\n" "\n" msgstr "" #: src/mkfifo.c:60 msgid "" " -Z, --context=CTX set the SELinux security context of each NAME to CTX\n" msgstr "" #: src/mkfifo.c:66 src/mknod.c:68 msgid "" " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" msgstr "" #: src/mkfifo.c:126 src/mknod.c:132 #, c-format msgid "invalid mode" msgstr "" #: src/mkfifo.c:131 src/mknod.c:137 #, c-format msgid "mode must specify only file permission bits" msgstr "" #: src/mknod.c:56 #, c-format msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" msgstr "" #: src/mknod.c:58 msgid "" "Create the special file NAME of the given TYPE.\n" "\n" msgstr "" #: src/mknod.c:62 msgid " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" msgstr "" #: src/mknod.c:73 msgid "" "\n" "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" "it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal;\n" "otherwise, as decimal. TYPE may be:\n" msgstr "" #: src/mknod.c:80 msgid "" "\n" " b create a block (buffered) special file\n" " c, u create a character (unbuffered) special file\n" " p create a FIFO\n" msgstr "" #: src/mknod.c:155 msgid "Special files require major and minor device numbers." msgstr "" #: src/mknod.c:165 msgid "Fifos do not have major and minor device numbers." msgstr "" #: src/mknod.c:181 #, c-format msgid "block special files not supported" msgstr "" #: src/mknod.c:190 #, c-format msgid "character special files not supported" msgstr "" #: src/mknod.c:206 #, c-format msgid "invalid major device number %s" msgstr "" #: src/mknod.c:211 #, c-format msgid "invalid minor device number %s" msgstr "" #: src/mknod.c:216 #, c-format msgid "invalid device %s %s" msgstr "" #: src/mknod.c:230 #, c-format msgid "invalid device type %s" msgstr "" #: src/mktemp.c:67 #, c-format msgid "Usage: %s [OPTION]... [TEMPLATE]\n" msgstr "" #: src/mktemp.c:68 msgid "" "Create a temporary file or directory, safely, and print its name.\n" "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" msgstr "" #: src/mktemp.c:73 msgid " -d, --directory create a directory, not a file\n" msgstr "" #: src/mktemp.c:76 msgid "" " -q, --quiet suppress diagnostics about file/dir-creation failure\n" msgstr "" #: src/mktemp.c:79 msgid "" " -u, --dry-run do not create anything; merely print a name (unsafe)\n" msgstr "" #: src/mktemp.c:82 msgid "" " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" " not specified, use $TMPDIR if set, else /tmp.\n" " With this option, TEMPLATE must not be an absolute " "name.\n" " Unlike with -t, TEMPLATE may contain slashes, but even\n" " here, mktemp still creates only the final component.\n" msgstr "" #: src/mktemp.c:90 msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" msgstr "" #: src/mktemp.c:93 msgid "" " -t interpret TEMPLATE as a single file name component,\n" " relative to a directory: $TMPDIR, if set; else the\n" " directory specified via -p; else /tmp [deprecated]\n" msgstr "" #: src/mktemp.c:200 #, c-format msgid "too many templates" msgstr "" #: src/mktemp.c:216 #, c-format msgid "too few X's in template %s" msgstr "" #: src/mktemp.c:229 #, c-format msgid "invalid template, %s, contains directory separator" msgstr "" #: src/mktemp.c:243 #, c-format msgid "invalid template, %s; with --tmpdir, it may not be absolute" msgstr "" #: src/mktemp.c:260 #, c-format msgid "failed to create directory via template %s" msgstr "" #: src/mktemp.c:270 #, c-format msgid "failed to create file via template %s" msgstr "" #: src/mv.c:306 msgid "" "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" "\n" msgstr "" #: src/mv.c:313 msgid "" " --backup[=CONTROL] make a backup of each existing destination " "file\n" " -b like --backup but does not accept an " "argument\n" " -f, --force do not prompt before overwriting\n" " -i, --interactive prompt before overwrite\n" msgstr "" #: src/mv.c:319 msgid "" " --strip-trailing-slashes remove any trailing slashes from each " "SOURCE\n" " argument\n" " -S, --suffix=SUFFIX override the usual backup suffix\n" msgstr "" #: src/mv.c:324 msgid "" " -t, --target-directory=DIRECTORY move all SOURCE arguments into " "DIRECTORY\n" " -T, --no-target-directory treat DEST as a normal file\n" " -u, --update move only when the SOURCE file is newer\n" " than the destination file or when the\n" " destination file is missing\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/nice.c:75 #, c-format msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" msgstr "" #: src/nice.c:76 #, c-format msgid "" "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" "With no COMMAND, print the current niceness. Nicenesses range from\n" "%d (most favorable scheduling) to %d (least favorable).\n" "\n" " -n, --adjustment=N add integer N to the niceness (default 10)\n" msgstr "" #: src/nice.c:154 #, c-format msgid "invalid adjustment %s" msgstr "" #: src/nice.c:163 #, c-format msgid "a command must be given with an adjustment" msgstr "" #: src/nice.c:170 src/nice.c:181 #, c-format msgid "cannot get niceness" msgstr "" #: src/nice.c:185 #, c-format msgid "cannot set niceness" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/nl.c:39 msgid "Scott Bartram" msgstr "" #: src/nl.c:182 msgid "" "Write each FILE to standard output, with line numbers added.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/nl.c:190 msgid "" " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" " -d, --section-delimiter=CC use CC for separating logical pages\n" " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" msgstr "" #: src/nl.c:195 msgid "" " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" " -i, --page-increment=NUMBER line number increment at each line\n" " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " "one\n" " -n, --number-format=FORMAT insert line numbers according to FORMAT\n" " -p, --no-renumber do not reset line numbers at logical " "pages\n" " -s, --number-separator=STRING add STRING after (possible) line number\n" msgstr "" #: src/nl.c:203 msgid "" " -v, --first-page=NUMBER first line number on each logical page\n" " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" msgstr "" #: src/nl.c:209 msgid "" "\n" "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" "two delimiter characters for separating logical pages, a missing\n" "second character implies :. Type \\\\ for \\. STYLE is one of:\n" msgstr "" #: src/nl.c:215 msgid "" "\n" " a number all lines\n" " t number only nonempty lines\n" " n number no lines\n" " pBRE number only lines that contain a match for the basic regular\n" " expression, BRE\n" "\n" "FORMAT is one of:\n" "\n" " ln left justified, no leading zeros\n" " rn right justified, no leading zeros\n" " rz right justified, leading zeros\n" "\n" msgstr "" #: src/nl.c:282 #, c-format msgid "line number overflow" msgstr "" #: src/nl.c:480 #, c-format msgid "invalid header numbering style: %s" msgstr "" #: src/nl.c:488 #, c-format msgid "invalid body numbering style: %s" msgstr "" #: src/nl.c:496 #, c-format msgid "invalid footer numbering style: %s" msgstr "" #: src/nl.c:505 #, c-format msgid "invalid starting line number: %s" msgstr "" #: src/nl.c:514 #, c-format msgid "invalid line number increment: %s" msgstr "" #: src/nl.c:526 #, c-format msgid "invalid number of blank lines: %s" msgstr "" #: src/nl.c:540 #, c-format msgid "invalid line number field width: %s" msgstr "" #: src/nl.c:559 #, c-format msgid "invalid line numbering format: %s" msgstr "" #: src/nohup.c:56 #, c-format msgid "" "Usage: %s COMMAND [ARG]...\n" " or: %s OPTION\n" msgstr "" #: src/nohup.c:62 msgid "" "Run COMMAND, ignoring hangup signals.\n" "\n" msgstr "" #: src/nohup.c:68 #, c-format msgid "" "\n" "If standard input is a terminal, redirect it from /dev/null.\n" "If standard output is a terminal, append output to `nohup.out' if possible,\n" "`$HOME/nohup.out' otherwise.\n" "If standard error is a terminal, redirect it to standard output.\n" "To save output to FILE, use `%s COMMAND > FILE'.\n" msgstr "" #: src/nohup.c:123 #, c-format msgid "ignoring input" msgstr "" #: src/nohup.c:155 src/nohup.c:157 #, c-format msgid "failed to open %s" msgstr "" #: src/nohup.c:167 #, c-format msgid "ignoring input and appending output to %s" msgstr "" #: src/nohup.c:185 #, c-format msgid "failed to set the copy of stderr to close on exec" msgstr "" #: src/nohup.c:190 #, c-format msgid "ignoring input and redirecting stderr to stdout" msgstr "" #: src/nohup.c:194 #, c-format msgid "failed to redirect standard error" msgstr "" #: src/od.c:301 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" "[b]]\n" msgstr "" #: src/od.c:307 msgid "" "\n" "Write an unambiguous representation, octal bytes by default,\n" "of FILE to standard output. With more than one FILE argument,\n" "concatenate them in the listed order to form the input.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/od.c:314 msgid "All arguments to long options are mandatory for short options.\n" msgstr "" #: src/od.c:317 msgid "" " -A, --address-radix=RADIX decide how file offsets are printed\n" " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" msgstr "" #: src/od.c:321 msgid "" " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" " -S, --strings[=BYTES] output strings of at least BYTES graphic " "chars\n" " -t, --format=TYPE select output format or formats\n" " -v, --output-duplicates do not use * to mark line suppression\n" " -w, --width[=BYTES] output BYTES bytes per output line\n" " --traditional accept arguments in traditional form\n" msgstr "" #: src/od.c:331 msgid "" "\n" "Traditional format specifications may be intermixed; they accumulate:\n" " -a same as -t a, select named characters, ignoring high-order bit\n" " -b same as -t o1, select octal bytes\n" " -c same as -t c, select ASCII characters or backslash escapes\n" " -d same as -t u2, select unsigned decimal 2-byte units\n" msgstr "" #: src/od.c:339 msgid "" " -f same as -t fF, select floats\n" " -i same as -t dI, select decimal ints\n" " -l same as -t dL, select decimal longs\n" " -o same as -t o2, select octal 2-byte units\n" " -s same as -t d2, select decimal 2-byte units\n" " -x same as -t x2, select hexadecimal 2-byte units\n" msgstr "" #: src/od.c:347 msgid "" "\n" "If first and second call formats both apply, the second format is assumed\n" "if the last operand begins with + or (if there are 2 operands) a digit.\n" "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" "at first byte printed, incremented when dump is progressing.\n" "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" "suffixes may be . for octal and b for multiply by 512.\n" msgstr "" #: src/od.c:356 msgid "" "\n" "TYPE is made up of one or more of these specifications:\n" "\n" " a named character, ignoring high-order bit\n" " c ASCII character or backslash escape\n" msgstr "" #: src/od.c:363 msgid "" " d[SIZE] signed decimal, SIZE bytes per integer\n" " f[SIZE] floating point, SIZE bytes per integer\n" " o[SIZE] octal, SIZE bytes per integer\n" " u[SIZE] unsigned decimal, SIZE bytes per integer\n" " x[SIZE] hexadecimal, SIZE bytes per integer\n" msgstr "" #: src/od.c:370 msgid "" "\n" "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" "for sizeof(double) or L for sizeof(long double).\n" msgstr "" #: src/od.c:377 msgid "" "\n" "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " "suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "Adding a z suffix to any type displays printable characters at the end of " "each\n" "output line. " msgstr "" #: src/od.c:386 msgid "" "--string without a number implies 3. --width without a number\n" "implies 32. By default, od uses -A o -t d2 -w16.\n" msgstr "" #: src/od.c:678 src/od.c:797 #, c-format msgid "invalid type string %s" msgstr "" #: src/od.c:688 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte integral type" msgstr "" #: src/od.c:807 #, c-format msgid "" "invalid type string %s;\n" "this system doesn't provide a %lu-byte floating point type" msgstr "" #: src/od.c:866 #, c-format msgid "invalid character `%c' in type string %s" msgstr "" #: src/od.c:1092 #, c-format msgid "cannot skip past end of combined input" msgstr "" #: src/od.c:1643 #, c-format msgid "invalid output address radix `%c'; it must be one character from [doxn]" msgstr "" #: src/od.c:1769 #, c-format msgid "no type may be specified when dumping strings" msgstr "" #: src/od.c:1844 msgid "Compatibility mode supports at most one file." msgstr "" #: src/od.c:1865 #, c-format msgid "skip-bytes + read-bytes is too large" msgstr "" #: src/od.c:1908 #, c-format msgid "warning: invalid width %lu; using %d instead" msgstr "" #: src/od.c:1924 #, c-format msgid "%d: fmt=\"%s\" width=%d\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/paste.c:51 msgid "David M. Ihnat" msgstr "" #: src/paste.c:221 #, c-format msgid "standard input is closed" msgstr "" #: src/paste.c:440 msgid "" "Write lines consisting of the sequentially corresponding lines from\n" "each FILE, separated by TABs, to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/paste.c:449 msgid "" " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" " -s, --serial paste one file at a time instead of in parallel\n" msgstr "" #: src/paste.c:510 #, c-format msgid "delimiter list ends with an unescaped backslash: %s" msgstr "" #: src/pathchk.c:100 #, c-format msgid "Usage: %s [OPTION]... NAME...\n" msgstr "" #: src/pathchk.c:101 msgid "" "Diagnose unportable constructs in NAME.\n" "\n" " -p check for most POSIX systems\n" " -P check for empty names and leading \"-\"\n" " --portability check for all POSIX systems (equivalent to -p -P)\n" msgstr "" #: src/pathchk.c:181 #, c-format msgid "leading `-' in a component of file name %s" msgstr "" #: src/pathchk.c:207 #, c-format msgid "nonportable character %s in file name %s" msgstr "" #: src/pathchk.c:283 #, c-format msgid "empty file name" msgstr "" #: src/pathchk.c:325 #, c-format msgid "%s: unable to determine maximum file name length" msgstr "" #: src/pathchk.c:336 #, c-format msgid "limit %lu exceeded by length %lu of file name %s" msgstr "" #: src/pathchk.c:422 #, c-format msgid "limit %lu exceeded by length %lu of file name component %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:37 src/uptime.c:44 src/users.c:35 src/who.c:44 msgid "Joseph Arceneaux" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pinky.c:39 src/uptime.c:46 msgid "Kaveh Ghazi" msgstr "" #: src/pinky.c:329 #, c-format msgid "Login name: " msgstr "" #: src/pinky.c:332 #, c-format msgid "In real life: " msgstr "" #: src/pinky.c:335 msgid "???\n" msgstr "" #: src/pinky.c:355 #, c-format msgid "Directory: " msgstr "" #: src/pinky.c:357 #, c-format msgid "Shell: " msgstr "" #: src/pinky.c:378 #, c-format msgid "Project: " msgstr "" #: src/pinky.c:404 #, c-format msgid "Plan:\n" msgstr "" #: src/pinky.c:423 msgid "Login" msgstr "" #: src/pinky.c:425 msgid "Name" msgstr "" #: src/pinky.c:426 msgid " TTY" msgstr "" #: src/pinky.c:428 msgid "Idle" msgstr "" #: src/pinky.c:429 msgid "When" msgstr "" #: src/pinky.c:432 msgid "Where" msgstr "" #: src/pinky.c:512 #, c-format msgid "Usage: %s [OPTION]... [USER]...\n" msgstr "" #: src/pinky.c:513 msgid "" "\n" " -l produce long format output for the specified USERs\n" " -b omit the user's home directory and shell in long format\n" " -h omit the user's project file in long format\n" " -p omit the user's plan file in long format\n" " -s do short format output, this is the default\n" msgstr "" #: src/pinky.c:521 msgid "" " -f omit the line of column headings in short format\n" " -w omit the user's full name in short format\n" " -i omit the user's full name and remote host in short format\n" " -q omit the user's full name, remote host and idle time\n" " in short format\n" msgstr "" #: src/pinky.c:530 #, c-format msgid "" "\n" "A lightweight `finger' program; print user information.\n" "The utmp file will be %s.\n" msgstr "" #: src/pinky.c:614 #, c-format msgid "no username specified; at least one must be specified when using -l" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:329 msgid "Pete TerMaat" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/pr.c:330 msgid "Roland Huebner" msgstr "" #: src/pr.c:917 #, c-format msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" msgstr "" #: src/pr.c:919 #, c-format msgid "Invalid page range %s" msgstr "" #: src/pr.c:984 #, c-format msgid "`-l PAGE_LENGTH' invalid number of lines: %s" msgstr "" #: src/pr.c:1008 #, c-format msgid "`-N NUMBER' invalid starting line number: %s" msgstr "" #: src/pr.c:1020 #, c-format msgid "`-o MARGIN' invalid line offset: %s" msgstr "" #: src/pr.c:1061 #, c-format msgid "`-w PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1075 #, c-format msgid "`-W PAGE_WIDTH' invalid number of characters: %s" msgstr "" #: src/pr.c:1105 #, c-format msgid "Cannot specify number of columns when printing in parallel." msgstr "" #: src/pr.c:1109 #, c-format msgid "Cannot specify both printing across and printing in parallel." msgstr "" #: src/pr.c:1205 #, c-format msgid "`-%c' extra characters or invalid number in the argument: %s" msgstr "" #: src/pr.c:1309 #, c-format msgid "page width too narrow" msgstr "" #: src/pr.c:2373 #, c-format msgid "starting page number % exceeds page count %" msgstr "" #: src/pr.c:2400 #, c-format msgid "Page number overflow" msgstr "" #: src/pr.c:2405 #, c-format msgid "Page %" msgstr "" #: src/pr.c:2776 msgid "" "Paginate or columnate FILE(s) for printing.\n" "\n" msgstr "" #: src/pr.c:2783 msgid "" " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" " begin [stop] printing with page FIRST_[LAST_]PAGE\n" " -COLUMN, --columns=COLUMN\n" " output COLUMN columns and print columns down,\n" " unless -a is used. Balance number of lines in the\n" " columns on each page.\n" msgstr "" #: src/pr.c:2791 msgid "" " -a, --across print columns across rather than down, used together\n" " with -COLUMN\n" " -c, --show-control-chars\n" " use hat notation (^G) and octal backslash notation\n" " -d, --double-space\n" " double space the output\n" msgstr "" #: src/pr.c:2799 msgid "" " -D, --date-format=FORMAT\n" " use FORMAT for the header date\n" " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" " expand input CHARs (TABs) to tab WIDTH (8)\n" " -F, -f, --form-feed\n" " use form feeds instead of newlines to separate pages\n" " (by a 3-line page header with -F or a 5-line header\n" " and trailer without -F)\n" msgstr "" #: src/pr.c:2809 msgid "" " -h HEADER, --header=HEADER\n" " use a centered HEADER instead of filename in page " "header,\n" " -h \"\" prints a blank line, don't use -h\"\"\n" " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" " -J, --join-lines merge full lines, turns off -W line truncation, no " "column\n" " alignment, --sep-string[=STRING] sets separators\n" msgstr "" #: src/pr.c:2818 msgid "" " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" " set the page length to PAGE_LENGTH (66) lines\n" " (default number of lines of text 56, and with -F 63)\n" " -m, --merge print all files in parallel, one in each column,\n" " truncate lines, but join lines of full length with -J\n" msgstr "" #: src/pr.c:2825 msgid "" " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" " number lines, use DIGITS (5) digits, then SEP (TAB),\n" " default counting starts with 1st line of input file\n" " -N NUMBER, --first-line-number=NUMBER\n" " start counting with NUMBER at 1st line of first\n" " page printed (see +FIRST_PAGE)\n" msgstr "" #: src/pr.c:2833 msgid "" " -o MARGIN, --indent=MARGIN\n" " offset each line with MARGIN (zero) spaces, do not\n" " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" " -r, --no-file-warnings\n" " omit warning when a file cannot be opened\n" msgstr "" #: src/pr.c:2840 msgid "" " -s[CHAR],--separator[=CHAR]\n" " separate columns by a single character, default for " "CHAR\n" " is the character without -w and 'no char' with -w\n" " -s[CHAR] turns off line truncation of all 3 column\n" " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" msgstr "" #: src/pr.c:2847 msgid " -SSTRING, --sep-string[=STRING]\n" msgstr "" #: src/pr.c:2850 msgid "" " separate columns by STRING,\n" " without -S: Default separator with -J and \n" " otherwise (same as -S\" \"), no effect on column " "options\n" " -t, --omit-header omit page headers and trailers\n" msgstr "" #: src/pr.c:2856 msgid "" " -T, --omit-pagination\n" " omit page headers and trailers, eliminate any " "pagination\n" " by form feeds set in input files\n" " -v, --show-nonprinting\n" " use octal backslash notation\n" " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters for\n" " multiple text-column output only, -s[char] turns off " "(72)\n" msgstr "" #: src/pr.c:2866 msgid "" " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" " set page width to PAGE_WIDTH (72) characters always,\n" " truncate lines, except -J option is set, no " "interference\n" " with -S or -s\n" msgstr "" #: src/pr.c:2874 msgid "" "\n" "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" "FILE is -, read standard input.\n" msgstr "" #: src/printenv.c:61 #, c-format msgid "" "Usage: %s [VARIABLE]...\n" " or: %s OPTION\n" "If no environment VARIABLE specified, print them all.\n" "\n" msgstr "" #: src/printf.c:79 #, c-format msgid "" "warning: %s: character(s) following character constant have been ignored" msgstr "" #: src/printf.c:92 #, c-format msgid "" "Usage: %s FORMAT [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" #: src/printf.c:97 msgid "" "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" "\n" msgstr "" #: src/printf.c:103 msgid "" "\n" "FORMAT controls the output as in C printf. Interpreted sequences are:\n" "\n" " \\\" double quote\n" " \\NNN character with octal value NNN (1 to 3 digits)\n" " \\\\ backslash\n" msgstr "" #: src/printf.c:111 msgid "" " \\a alert (BEL)\n" " \\b backspace\n" " \\c produce no further output\n" " \\f form feed\n" msgstr "" #: src/printf.c:117 msgid "" " \\n new line\n" " \\r carriage return\n" " \\t horizontal tab\n" " \\v vertical tab\n" msgstr "" #: src/printf.c:123 msgid "" " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)\n" " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" msgstr "" #: src/printf.c:128 msgid "" " %% a single %\n" " %b ARGUMENT as a string with `\\' escapes interpreted,\n" " except that octal escapes are of the form \\0 or \\0NNN\n" "\n" "and all C format specifications ending with one of diouxXfeEgGcs, with\n" "ARGUMENTs converted to proper type first. Variable widths are handled.\n" msgstr "" #: src/printf.c:153 #, c-format msgid "%s: expected a numeric value" msgstr "" #: src/printf.c:155 #, c-format msgid "%s: value not completely converted" msgstr "" #: src/printf.c:249 src/printf.c:276 #, c-format msgid "missing hexadecimal number in escape" msgstr "" #: src/printf.c:288 #, c-format msgid "invalid universal character name \\%c%0*x" msgstr "" #: src/printf.c:549 #, c-format msgid "invalid field width: %s" msgstr "" #: src/printf.c:584 #, c-format msgid "invalid precision: %s" msgstr "" #: src/printf.c:611 #, c-format msgid "%.*s: invalid conversion specification" msgstr "" #: src/printf.c:682 #, c-format msgid "warning: ignoring excess arguments, starting with %s" msgstr "" #. TRANSLATORS: Please translate "F. Pinard" to "François Pinard" #. if "ç" (c-with-cedilla) is available in the translation's character #. set and encoding. #. This is a proper name. See the gettext manual, section Names. #: src/ptx.c:40 msgid "F. Pinard" msgstr "" #: src/ptx.c:427 #, c-format msgid "%s (for regexp %s)" msgstr "" #: src/ptx.c:1888 #, c-format msgid "" "Usage: %s [OPTION]... [INPUT]... (without -G)\n" " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/ptx.c:1892 msgid "" "Output a permuted index, including context, of the words in the input " "files.\n" "\n" msgstr "" #: src/ptx.c:1899 msgid "" " -A, --auto-reference output automatically generated references\n" " -G, --traditional behave more like System V `ptx'\n" " -F, --flag-truncation=STRING use STRING for flagging line truncations\n" msgstr "" #: src/ptx.c:1904 msgid "" " -M, --macro-name=STRING macro name to use instead of `xx'\n" " -O, --format=roff generate output as roff directives\n" " -R, --right-side-refs put references at right, not counted in -w\n" " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" " -T, --format=tex generate output as TeX directives\n" msgstr "" #: src/ptx.c:1911 msgid "" " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" " -b, --break-file=FILE word break characters in this FILE\n" " -f, --ignore-case fold lower case to upper case for sorting\n" " -g, --gap-size=NUMBER gap size in columns between output fields\n" " -i, --ignore-file=FILE read ignore word list from FILE\n" " -o, --only-file=FILE read only word list from this FILE\n" msgstr "" #: src/ptx.c:1919 msgid "" " -r, --references first field of each line is a reference\n" " -t, --typeset-mode - not implemented -\n" " -w, --width=NUMBER output width in columns, reference " "excluded\n" msgstr "" #: src/ptx.c:1926 msgid "" "\n" "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" msgstr "" #: src/ptx.c:2020 #, c-format msgid "invalid gap width: %s" msgstr "" #: src/pwd.c:54 msgid "" "Print the full filename of the current working directory.\n" "\n" msgstr "" #: src/pwd.c:159 #, c-format msgid "failed to chdir to %s" msgstr "" #: src/pwd.c:163 src/pwd.c:270 #, c-format msgid "failed to stat %s" msgstr "" #: src/pwd.c:228 #, c-format msgid "couldn't find directory entry in %s with matching i-node" msgstr "" #: src/pwd.c:305 #, c-format msgid "ignoring non-option arguments" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/readlink.c:33 msgid "Dmitry V. Levin" msgstr "" #: src/readlink.c:66 #, c-format msgid "Usage: %s [OPTION]... FILE\n" msgstr "" #: src/readlink.c:67 msgid "" "Display value of a symbolic link on standard output.\n" "\n" msgstr "" #: src/readlink.c:69 msgid "" " -f, --canonicalize canonicalize by following every symlink in\n" " every component of the given name " "recursively;\n" " all but the last component must exist\n" " -e, --canonicalize-existing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " all components must exist\n" msgstr "" #: src/readlink.c:77 msgid "" " -m, --canonicalize-missing canonicalize by following every symlink in\n" " every component of the given name " "recursively,\n" " without requirements on components " "existence\n" " -n, --no-newline do not output the trailing newline\n" " -q, --quiet,\n" " -s, --silent suppress most error messages\n" " -v, --verbose report error messages\n" msgstr "" #: src/remove.c:535 src/remove.c:579 #, c-format msgid "FATAL: failed to close directory %s" msgstr "" #: src/remove.c:548 #, c-format msgid "FATAL: cannot open .. from %s" msgstr "" #: src/remove.c:556 #, c-format msgid "FATAL: cannot ensure %s (returned to via ..) is safe" msgstr "" #: src/remove.c:564 #, c-format msgid "FATAL: directory %s changed dev/ino" msgstr "" #: src/remove.c:685 #, c-format msgid "FATAL: cannot enter directory %s" msgstr "" #: src/remove.c:693 #, c-format msgid "FATAL: just-changed-to directory %s changed dev/ino" msgstr "" #: src/remove.c:701 #, c-format msgid "" "WARNING: Circular directory structure.\n" "This almost certainly means that you have a corrupted file system.\n" "NOTIFY YOUR SYSTEM MANAGER.\n" "The following directory is part of the cycle:\n" " %s\n" msgstr "" #: src/remove.c:912 #, c-format msgid "%s: descend into write-protected directory %s? " msgstr "" #: src/remove.c:913 #, c-format msgid "%s: descend into directory %s? " msgstr "" #: src/remove.c:929 #, c-format msgid "%s: remove write-protected %s %s? " msgstr "" #: src/remove.c:930 #, c-format msgid "%s: remove %s %s? " msgstr "" #: src/remove.c:991 src/remove.c:1491 #, c-format msgid "removed directory: %s\n" msgstr "" #: src/remove.c:1327 src/remove.c:1527 #, c-format msgid "failed to close directory %s" msgstr "" #: src/remove.c:1449 #, c-format msgid "skipping %s, since it's on a different device" msgstr "" #: src/remove.c:1496 src/remove.c:1546 #, c-format msgid "cannot remove directory %s" msgstr "" #: src/remove.c:1512 #, c-format msgid "FATAL: cannot return to .. from %s" msgstr "" #: src/remove.c:1566 #, c-format msgid "cannot remove root directory %s" msgstr "" #: src/remove.c:1607 #, c-format msgid "cannot remove relative-named %s" msgstr "" #: src/remove.c:1621 #, c-format msgid "cannot restore current working directory" msgstr "" #: src/rm.c:145 #, c-format msgid "Try `%s ./%s' to remove the file %s.\n" msgstr "" #: src/rm.c:162 src/touch.c:236 #, c-format msgid "Usage: %s [OPTION]... FILE...\n" msgstr "" #: src/rm.c:163 msgid "" "Remove (unlink) the FILE(s).\n" "\n" " -f, --force ignore nonexistent files, never prompt\n" " -i prompt before every removal\n" msgstr "" #: src/rm.c:169 msgid "" " -I prompt once before removing more than three files, " "or\n" " when removing recursively. Less intrusive than -" "i,\n" " while still giving protection against most " "mistakes\n" " --interactive[=WHEN] prompt according to WHEN: never, once (-I), or\n" " always (-i). Without WHEN, prompt always\n" msgstr "" #: src/rm.c:176 msgid "" " --one-file-system when removing a hierarchy recursively, skip any\n" " directory that is on a file system different from\n" " that of the corresponding command line argument\n" msgstr "" #: src/rm.c:181 msgid "" " --no-preserve-root do not treat `/' specially\n" " --preserve-root do not remove `/' (default)\n" " -r, -R, --recursive remove directories and their contents recursively\n" " -v, --verbose explain what is being done\n" msgstr "" #: src/rm.c:189 msgid "" "\n" "By default, rm does not remove directories. Use the --recursive (-r or -R)\n" "option to remove each listed directory, too, along with all of its " "contents.\n" msgstr "" #: src/rm.c:194 #, c-format msgid "" "\n" "To remove a file whose name starts with a `-', for example `-foo',\n" "use one of these commands:\n" " %s -- -foo\n" "\n" " %s ./-foo\n" msgstr "" #: src/rm.c:203 msgid "" "\n" "Note that if you use rm to remove a file, it is usually possible to recover\n" "the contents of that file. If you want more assurance that the contents " "are\n" "truly unrecoverable, consider using shred.\n" msgstr "" #: src/rm.c:367 #, c-format msgid "%s: remove all arguments recursively? " msgstr "" #: src/rm.c:368 #, c-format msgid "%s: remove all arguments? " msgstr "" #: src/rmdir.c:138 src/rmdir.c:237 #, c-format msgid "removing directory, %s" msgstr "" #: src/rmdir.c:152 #, c-format msgid "failed to remove directory %s" msgstr "" #: src/rmdir.c:169 #, c-format msgid "Usage: %s [OPTION]... DIRECTORY...\n" msgstr "" #: src/rmdir.c:170 msgid "" "Remove the DIRECTORY(ies), if they are empty.\n" "\n" " --ignore-fail-on-non-empty\n" " ignore each failure that is solely because a directory\n" " is non-empty\n" msgstr "" #: src/rmdir.c:177 msgid "" " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/b/" "c' is\n" " similar to `rmdir a/b/c a/b a'.\n" " -v, --verbose output a diagnostic for every directory processed\n" msgstr "" #: src/rmdir.c:246 #, c-format msgid "failed to remove %s" msgstr "" #: src/runcon.c:86 #, c-format msgid "" "Usage: %s CONTEXT COMMAND [args]\n" " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" msgstr "" #: src/runcon.c:90 msgid "" "Run a program in a different security context.\n" "With neither CONTEXT nor COMMAND, print the current security context.\n" "\n" " CONTEXT Complete security context\n" " -c, --compute compute process transition context before modifying\n" " -t, --type=TYPE type (for same role as parent)\n" " -u, --user=USER user identity\n" " -r, --role=ROLE role\n" " -l, --range=RANGE levelrange\n" "\n" msgstr "" #: src/runcon.c:143 #, c-format msgid "multiple roles" msgstr "" #: src/runcon.c:148 #, c-format msgid "multiple types" msgstr "" #: src/runcon.c:153 #, c-format msgid "multiple users" msgstr "" #: src/runcon.c:158 #, c-format msgid "multiple levelranges" msgstr "" #: src/runcon.c:176 src/runcon.c:212 #, c-format msgid "failed to get current context" msgstr "" #: src/runcon.c:186 #, c-format msgid "you must specify -c, -t, -u, -l, -r, or context" msgstr "" #: src/runcon.c:194 #, c-format msgid "no command specified" msgstr "" #: src/runcon.c:200 #, c-format msgid "runcon may be used only on a SELinux kernel" msgstr "" #: src/runcon.c:226 #, c-format msgid "failed to compute a new context" msgstr "" #: src/runcon.c:240 #, c-format msgid "failed to set new user %s" msgstr "" #: src/runcon.c:242 #, c-format msgid "failed to set new type %s" msgstr "" #: src/runcon.c:244 #, c-format msgid "failed to set new range %s" msgstr "" #: src/runcon.c:246 #, c-format msgid "failed to set new role %s" msgstr "" #: src/runcon.c:254 #, c-format msgid "unable to set security context %s" msgstr "" #: src/seq.c:75 #, c-format msgid "" "Usage: %s [OPTION]... LAST\n" " or: %s [OPTION]... FIRST LAST\n" " or: %s [OPTION]... FIRST INCREMENT LAST\n" msgstr "" #: src/seq.c:80 msgid "" "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" "\n" " -f, --format=FORMAT use printf style floating-point FORMAT\n" " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" " -w, --equal-width equalize width by padding with leading zeroes\n" msgstr "" #: src/seq.c:89 msgid "" "\n" "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" "INCREMENT is usually negative if FIRST is greater than LAST.\n" msgstr "" #: src/seq.c:97 msgid "" "FORMAT must be suitable for printing one argument of type `double';\n" "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" "decimal numbers with maximum precision PREC, and to %g otherwise.\n" msgstr "" #: src/seq.c:143 #, c-format msgid "invalid floating point argument: %s" msgstr "" #: src/seq.c:201 #, c-format msgid "no %% directive in format string %s" msgstr "" #: src/seq.c:205 #, c-format msgid "too many %% directives in format string %s" msgstr "" #: src/seq.c:450 #, c-format msgid "invalid format string: %s" msgstr "" #: src/seq.c:472 #, c-format msgid "format string may not be specified when printing equal width strings" msgstr "" #: src/setuidgid.c:52 #, c-format msgid "" "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" " or: %s OPTION\n" msgstr "" #: src/setuidgid.c:58 msgid "" "Drop any supplemental groups, assume the user-ID and group-ID of the " "specified\n" "USER (numeric ID or user name), and run COMMAND with any specified " "ARGUMENTs.\n" "Exit with status 111 if unable to assume the required user and group ID.\n" "Otherwise, exit with the exit status of COMMAND.\n" "This program is useful only when run by root (user ID zero).\n" "\n" msgstr "" #: src/setuidgid.c:66 msgid "" " -g GID[,GID1...] also set the primary group-ID to the numeric GID, and\n" " (if specified) supplemental group IDs to GID1, ...\n" msgstr "" #: src/setuidgid.c:165 #, c-format msgid "unknown user-ID: %s" msgstr "" #: src/setuidgid.c:176 #, c-format msgid "to use user-ID %s you need to use -g too" msgstr "" #: src/setuidgid.c:193 #, c-format msgid "failed to set supplemental group(s)" msgstr "" #: src/setuidgid.c:203 #, c-format msgid "cannot set group-ID to %lu" msgstr "" #: src/setuidgid.c:207 #, c-format msgid "cannot set user-ID to %lu" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/shred.c:85 msgid "Colin Plumb" msgstr "" #: src/shred.c:162 #, c-format msgid "Usage: %s [OPTIONS] FILE [...]\n" msgstr "" #: src/shred.c:163 msgid "" "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" "for even very expensive hardware probing to recover the data.\n" "\n" msgstr "" #: src/shred.c:171 #, c-format msgid "" " -f, --force change permissions to allow writing if necessary\n" " -n, --iterations=N Overwrite N times instead of the default (%d)\n" " --random-source=FILE get random bytes from FILE (default /dev/" "urandom)\n" " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" msgstr "" #: src/shred.c:177 msgid "" " -u, --remove truncate and remove file after overwriting\n" " -v, --verbose show progress\n" " -x, --exact do not round file sizes up to the next full block;\n" " this is the default for non-regular files\n" " -z, --zero add a final overwrite with zeros to hide shredding\n" msgstr "" #: src/shred.c:186 msgid "" "\n" "If FILE is -, shred standard output.\n" "\n" "Delete FILE(s) if --remove (-u) is specified. The default is not to remove\n" "the files because it is common to operate on device files like /dev/hda,\n" "and those files usually should not be removed. When operating on regular\n" "files, most people use the --remove option.\n" "\n" msgstr "" #: src/shred.c:196 msgid "" "CAUTION: Note that shred relies on a very important assumption:\n" "that the file system overwrites data in place. This is the traditional\n" "way to do things, but many modern file system designs do not satisfy this\n" "assumption. The following are examples of file systems on which shred is\n" "not effective, or is not guaranteed to be effective in all file system " "modes:\n" "\n" msgstr "" #: src/shred.c:204 msgid "" "* log-structured or journaled file systems, such as those supplied with\n" "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" "\n" "* file systems that write redundant data and carry on even if some writes\n" "fail, such as RAID-based file systems\n" "\n" "* file systems that make snapshots, such as Network Appliance's NFS server\n" "\n" msgstr "" #: src/shred.c:214 msgid "" "* file systems that cache in temporary locations, such as NFS\n" "version 3 clients\n" "\n" "* compressed file systems\n" "\n" msgstr "" #: src/shred.c:221 msgid "" "In the case of ext3 file systems, the above disclaimer applies\n" "(and shred is thus of limited effectiveness) only in data=journal mode,\n" "which journals file data in addition to just metadata. In both the\n" "data=ordered (default) and data=writeback modes, shred works as usual.\n" "Ext3 journaling modes can be changed by adding the data=something option\n" "to the mount options for a particular file system in the /etc/fstab file,\n" "as documented in the mount man page (man mount).\n" "\n" msgstr "" #: src/shred.c:231 msgid "" "In addition, file system backups and remote mirrors may contain copies\n" "of the file that cannot be removed, and that will allow a shredded file\n" "to be recovered later.\n" msgstr "" #: src/shred.c:300 #, c-format msgid "%s: fdatasync failed" msgstr "" #: src/shred.c:311 #, c-format msgid "%s: fsync failed" msgstr "" #: src/shred.c:388 #, c-format msgid "%s: cannot rewind" msgstr "" #: src/shred.c:407 #, c-format msgid "%s: pass %lu/%lu (%s)..." msgstr "" #: src/shred.c:457 #, c-format msgid "%s: error writing at offset %s" msgstr "" #: src/shred.c:475 #, c-format msgid "%s: lseek failed" msgstr "" #: src/shred.c:486 #, c-format msgid "%s: file too large" msgstr "" #: src/shred.c:509 #, c-format msgid "%s: pass %lu/%lu (%s)...%s" msgstr "" #: src/shred.c:525 #, c-format msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" msgstr "" #: src/shred.c:773 #, c-format msgid "%s: fstat failed" msgstr "" #: src/shred.c:784 #, c-format msgid "%s: invalid file type" msgstr "" #: src/shred.c:803 #, c-format msgid "%s: file has negative size" msgstr "" #: src/shred.c:870 #, c-format msgid "%s: error truncating" msgstr "" #: src/shred.c:886 #, c-format msgid "%s: fcntl failed" msgstr "" #: src/shred.c:891 #, c-format msgid "%s: cannot shred append-only file descriptor" msgstr "" #: src/shred.c:969 #, c-format msgid "%s: removing" msgstr "" #: src/shred.c:993 #, c-format msgid "%s: renamed to %s" msgstr "" #: src/shred.c:1015 #, c-format msgid "%s: failed to remove" msgstr "" #: src/shred.c:1019 #, c-format msgid "%s: removed" msgstr "" #: src/shred.c:1026 src/shred.c:1069 #, c-format msgid "%s: failed to close" msgstr "" #: src/shred.c:1062 #, c-format msgid "%s: failed to open for writing" msgstr "" #: src/shred.c:1127 #, c-format msgid "%s: invalid number of passes" msgstr "" #: src/shred.c:1136 src/shuf.c:332 src/sort.c:3026 #, c-format msgid "multiple random sources specified" msgstr "" #: src/shred.c:1150 #, c-format msgid "%s: invalid file size" msgstr "" #: src/shuf.c:50 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]\n" " or: %s -e [OPTION]... [ARG]...\n" " or: %s -i LO-HI [OPTION]...\n" msgstr "" #: src/shuf.c:56 msgid "" "Write a random permutation of the input lines to standard output.\n" "\n" msgstr "" #: src/shuf.c:63 msgid "" " -e, --echo treat each ARG as an input line\n" " -i, --input-range=LO-HI treat each number LO through HI as an input " "line\n" " -n, --head-lines=LINES output at most LINES lines\n" " -o, --output=FILE write result to FILE instead of standard output\n" " --random-source=FILE get random bytes from FILE (default /dev/" "urandom)\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/shuf.c:286 #, c-format msgid "multiple -i options specified" msgstr "" #: src/shuf.c:306 #, c-format msgid "invalid input range %s" msgstr "" #: src/shuf.c:319 #, c-format msgid "invalid line count %s" msgstr "" #: src/shuf.c:326 src/sort.c:3020 #, c-format msgid "multiple output files specified" msgstr "" #: src/shuf.c:352 #, c-format msgid "cannot combine -e and -i options" msgstr "" #: src/shuf.c:361 #, c-format msgid "extra operand %s\n" msgstr "" #: src/sleep.c:49 #, c-format msgid "" "Usage: %s NUMBER[SUFFIX]...\n" " or: %s OPTION\n" "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" "`m' for minutes, `h' for hours or `d' for days. Unlike most " "implementations\n" "that require NUMBER be an integer, here NUMBER may be an arbitrary floating\n" "point number. Given two or more arguments, pause for the amount of time\n" "specified by the sum of their values.\n" "\n" msgstr "" #: src/sleep.c:140 #, c-format msgid "invalid time interval %s" msgstr "" #: src/sleep.c:151 src/tail.c:1107 #, c-format msgid "cannot read realtime clock" msgstr "" #: src/sort.c:311 msgid "" "Write sorted concatenation of all FILE(s) to standard output.\n" "\n" msgstr "" #: src/sort.c:318 msgid "" "Ordering options:\n" "\n" msgstr "" #: src/sort.c:322 msgid "" " -b, --ignore-leading-blanks ignore leading blanks\n" " -d, --dictionary-order consider only blanks and alphanumeric " "characters\n" " -f, --ignore-case fold lower case to upper case characters\n" msgstr "" #: src/sort.c:327 msgid "" " -g, --general-numeric-sort compare according to general numerical value\n" " -i, --ignore-nonprinting consider only printable characters\n" " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" " -n, --numeric-sort compare according to string numerical value\n" " -R, --random-sort sort by random hash of keys\n" " --random-source=FILE get random bytes from FILE (default /dev/" "urandom)\n" " --sort=WORD sort according to WORD:\n" " general-numeric -g, month -M, numeric -n,\n" " random -R\n" " -r, --reverse reverse the result of comparisons\n" "\n" msgstr "" #: src/sort.c:340 msgid "" "Other options:\n" "\n" " -c, --check, --check=diagnose-first check for sorted input; do not sort\n" " -C, --check=quiet, --check=silent like -c, but do not report first bad " "line\n" " --compress-program=PROG compress temporaries with PROG;\n" " decompress them with PROG -d\n" " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin 1)\n" " -m, --merge merge already sorted files; do not sort\n" msgstr "" #: src/sort.c:350 msgid "" " -o, --output=FILE write result to FILE instead of standard output\n" " -s, --stable stabilize sort by disabling last-resort " "comparison\n" " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" msgstr "" #: src/sort.c:355 #, c-format msgid "" " -t, --field-separator=SEP use SEP instead of non-blank to blank " "transition\n" " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" "s;\n" " multiple options specify multiple directories\n" " -u, --unique with -c, check for strict ordering;\n" " without -c, output only the first of an equal " "run\n" msgstr "" #: src/sort.c:362 msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/sort.c:367 msgid "" "\n" "POS is F[.C][OPTS], where F is the field number and C the character " "position\n" "in the field; both are origin 1. If neither -t nor -b is in effect, " "characters\n" "in a field are counted from the beginning of the preceding whitespace. OPTS " "is\n" "one or more single-letter ordering options, which override global ordering\n" "options for that key. If no key is given, use the entire line as the key.\n" "\n" "SIZE may be followed by the following multiplicative suffixes:\n" msgstr "" #: src/sort.c:377 msgid "" "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.\n" "\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" "*** WARNING ***\n" "The locale specified by the environment affects sort order.\n" "Set LC_ALL=C to get the traditional sort order that uses\n" "native byte values.\n" msgstr "" #: src/sort.c:554 #, c-format msgid "waiting for %s [-d]" msgstr "" #: src/sort.c:559 #, c-format msgid "%s [-d] terminated abnormally" msgstr "" #: src/sort.c:724 msgid "cannot create temporary file" msgstr "" #: src/sort.c:752 src/sort.c:3144 msgid "open failed" msgstr "" #: src/sort.c:774 msgid "fflush failed" msgstr "" #: src/sort.c:779 src/sort.c:3194 msgid "close failed" msgstr "" #: src/sort.c:788 #, c-format msgid "dup2 failed" msgstr "" #: src/sort.c:887 #, c-format msgid "couldn't execute %s" msgstr "" #: src/sort.c:896 src/sort.c:945 msgid "couldn't create temporary file" msgstr "" #: src/sort.c:919 msgid "couldn't open temporary file" msgstr "" #: src/sort.c:936 #, c-format msgid "couldn't execute %s -d" msgstr "" #: src/sort.c:940 #, c-format msgid "couldn't create process for %s -d" msgstr "" #: src/sort.c:954 msgid "write failed" msgstr "" #: src/sort.c:991 #, c-format msgid "warning: cannot remove: %s" msgstr "" #: src/sort.c:1187 msgid "stat failed" msgstr "" #: src/sort.c:1451 msgid "read failed" msgstr "" #: src/sort.c:1972 #, c-format msgid "%s: %s:%s: disorder: " msgstr "" #: src/sort.c:1976 msgid "standard error" msgstr "" #: src/sort.c:2583 #, c-format msgid "%s: invalid field specification %s" msgstr "" #: src/sort.c:2594 #, c-format msgid "options `-%s' are incompatible" msgstr "" #: src/sort.c:2658 #, c-format msgid "%s: invalid count at start of %s" msgstr "" #: src/sort.c:2906 msgid "invalid number after `-'" msgstr "" #: src/sort.c:2909 src/sort.c:2974 src/sort.c:3001 msgid "invalid number after `.'" msgstr "" #: src/sort.c:2912 src/sort.c:3010 msgid "stray character in field spec" msgstr "" #: src/sort.c:2956 #, c-format msgid "multiple compress programs specified" msgstr "" #: src/sort.c:2965 msgid "invalid number at field start" msgstr "" #: src/sort.c:2969 src/sort.c:2997 msgid "field number is zero" msgstr "" #: src/sort.c:2978 msgid "character offset is zero" msgstr "" #: src/sort.c:2993 msgid "invalid number after `,'" msgstr "" #: src/sort.c:3164 #, c-format msgid "extra operand %s not allowed with -%c" msgstr "" #: src/split.c:106 #, c-format msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" msgstr "" #: src/split.c:110 msgid "" "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " "INPUT\n" "is -, read standard input.\n" "\n" msgstr "" #: src/split.c:119 #, c-format msgid "" " -a, --suffix-length=N use suffixes of length N (default %d)\n" " -b, --bytes=SIZE put SIZE bytes per output file\n" " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file\n" " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" " -l, --lines=NUMBER put NUMBER lines per output file\n" msgstr "" #: src/split.c:126 msgid "" " --verbose print a diagnostic just before each\n" " output file is opened\n" msgstr "" #: src/split.c:132 msgid "" "\n" "SIZE may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" msgstr "" #: src/split.c:195 #, c-format msgid "Output file suffixes exhausted" msgstr "" #: src/split.c:213 #, c-format msgid "creating file %s\n" msgstr "" #: src/split.c:376 #, c-format msgid "cannot split in more than one way" msgstr "" #: src/split.c:427 #, c-format msgid "%s: invalid suffix length" msgstr "" #: src/split.c:441 src/split.c:465 #, c-format msgid "%s: invalid number of bytes" msgstr "" #: src/split.c:453 #, c-format msgid "%s: invalid number of lines" msgstr "" #: src/split.c:494 #, c-format msgid "line count option -%s%c... is too large" msgstr "" #: src/split.c:525 #, c-format msgid "invalid number of lines: 0" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/stat.c:153 msgid "Michael Meskes" msgstr "" #: src/stat.c:721 #, c-format msgid "warning: unrecognized escape `\\%c'" msgstr "" #: src/stat.c:765 #, c-format msgid "%s: invalid directive" msgstr "" #: src/stat.c:811 #, c-format msgid "warning: backslash at end of format" msgstr "" #: src/stat.c:840 #, c-format msgid "cannot read file system information for %s" msgstr "" #: src/stat.c:915 #, c-format msgid "Usage: %s [OPTION] FILE...\n" msgstr "" #: src/stat.c:916 msgid "" "Display file or file system status.\n" "\n" " -L, --dereference follow links\n" " -f, --file-system display file system status instead of file status\n" msgstr "" #: src/stat.c:922 msgid "" " -c --format=FORMAT use the specified FORMAT instead of the default;\n" " output a newline after each use of FORMAT\n" " --printf=FORMAT like --format, but interpret backslash escapes,\n" " and do not output a mandatory trailing newline.\n" " If you want a newline, include \\n in FORMAT.\n" " -t, --terse print the information in terse form\n" msgstr "" #: src/stat.c:933 msgid "" "\n" "The valid format sequences for files (without --file-system):\n" "\n" " %a Access rights in octal\n" " %A Access rights in human readable form\n" " %b Number of blocks allocated (see %B)\n" " %B The size in bytes of each block reported by %b\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:942 msgid "" " %d Device number in decimal\n" " %D Device number in hex\n" " %f Raw mode in hex\n" " %F File type\n" " %g Group ID of owner\n" " %G Group name of owner\n" msgstr "" #: src/stat.c:950 msgid "" " %h Number of hard links\n" " %i Inode number\n" " %n File name\n" " %N Quoted file name with dereference if symbolic link\n" " %o I/O block size\n" " %s Total size, in bytes\n" " %t Major device type in hex\n" " %T Minor device type in hex\n" msgstr "" #: src/stat.c:960 msgid "" " %u User ID of owner\n" " %U User name of owner\n" " %x Time of last access\n" " %X Time of last access as seconds since Epoch\n" " %y Time of last modification\n" " %Y Time of last modification as seconds since Epoch\n" " %z Time of last change\n" " %Z Time of last change as seconds since Epoch\n" "\n" msgstr "" #: src/stat.c:972 msgid "" "Valid format sequences for file systems:\n" "\n" " %a Free blocks available to non-superuser\n" " %b Total data blocks in file system\n" " %c Total file nodes in file system\n" " %d Free file nodes in file system\n" " %f Free blocks in file system\n" " %C SELinux security context string\n" msgstr "" #: src/stat.c:982 msgid "" " %i File System ID in hex\n" " %l Maximum length of filenames\n" " %n File name\n" " %s Block size (for faster transfers)\n" " %S Fundamental block size (for block counts)\n" " %t Type in hex\n" " %T Type in human readable form\n" msgstr "" #: src/stty.c:509 #, c-format msgid "" "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" msgstr "" #: src/stty.c:515 msgid "" "Print or change terminal characteristics.\n" "\n" " -a, --all print all current settings in human-readable form\n" " -g, --save print all current settings in a stty-readable form\n" " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" msgstr "" #: src/stty.c:524 msgid "" "\n" "Optional - before SETTING indicates negation. An * marks non-POSIX\n" "settings. The underlying system defines which settings are available.\n" msgstr "" #: src/stty.c:529 msgid "" "\n" "Special characters:\n" " * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n" " eof CHAR CHAR will send an end of file (terminate the input)\n" " eol CHAR CHAR will end the line\n" msgstr "" #: src/stty.c:536 msgid "" " * eol2 CHAR alternate CHAR for ending the line\n" " erase CHAR CHAR will erase the last character typed\n" " intr CHAR CHAR will send an interrupt signal\n" " kill CHAR CHAR will erase the current line\n" msgstr "" #: src/stty.c:542 msgid "" " * lnext CHAR CHAR will enter the next character quoted\n" " quit CHAR CHAR will send a quit signal\n" " * rprnt CHAR CHAR will redraw the current line\n" " start CHAR CHAR will restart the output after stopping it\n" msgstr "" #: src/stty.c:548 msgid "" " stop CHAR CHAR will stop the output\n" " susp CHAR CHAR will send a terminal stop signal\n" " * swtch CHAR CHAR will switch to a different shell layer\n" " * werase CHAR CHAR will erase the last word typed\n" msgstr "" #: src/stty.c:554 msgid "" "\n" "Special settings:\n" " N set the input and output speeds to N bauds\n" " * cols N tell the kernel that the terminal has N columns\n" " * columns N same as cols N\n" msgstr "" #: src/stty.c:561 msgid "" " ispeed N set the input speed to N\n" " * line N use line discipline N\n" " min N with -icanon, set N characters minimum for a completed " "read\n" " ospeed N set the output speed to N\n" msgstr "" #: src/stty.c:567 msgid "" " * rows N tell the kernel that the terminal has N rows\n" " * size print the number of rows and columns according to the " "kernel\n" " speed print the terminal speed\n" " time N with -icanon, set read timeout of N tenths of a second\n" msgstr "" #: src/stty.c:573 msgid "" "\n" "Control settings:\n" " [-]clocal disable modem control signals\n" " [-]cread allow input to be received\n" " * [-]crtscts enable RTS/CTS handshaking\n" " csN set character size to N bits, N in [5..8]\n" msgstr "" #: src/stty.c:581 msgid "" " [-]cstopb use two stop bits per character (one with `-')\n" " [-]hup send a hangup signal when the last process closes the tty\n" " [-]hupcl same as [-]hup\n" " [-]parenb generate parity bit in output and expect parity bit in " "input\n" " [-]parodd set odd parity (even with `-')\n" msgstr "" #: src/stty.c:588 msgid "" "\n" "Input settings:\n" " [-]brkint breaks cause an interrupt signal\n" " [-]icrnl translate carriage return to newline\n" " [-]ignbrk ignore break characters\n" " [-]igncr ignore carriage return\n" msgstr "" #: src/stty.c:596 msgid "" " [-]ignpar ignore characters with parity errors\n" " * [-]imaxbel beep and do not flush a full input buffer on a character\n" " [-]inlcr translate newline to carriage return\n" " [-]inpck enable input parity checking\n" " [-]istrip clear high (8th) bit of input characters\n" msgstr "" #: src/stty.c:603 msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" msgstr "" #: src/stty.c:606 msgid "" " * [-]iuclc translate uppercase characters to lowercase\n" " * [-]ixany let any character restart output, not only start character\n" " [-]ixoff enable sending of start/stop characters\n" " [-]ixon enable XON/XOFF flow control\n" " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" " [-]tandem same as [-]ixoff\n" msgstr "" #: src/stty.c:614 msgid "" "\n" "Output settings:\n" " * bsN backspace delay style, N in [0..1]\n" " * crN carriage return delay style, N in [0..3]\n" " * ffN form feed delay style, N in [0..1]\n" " * nlN newline delay style, N in [0..1]\n" msgstr "" #: src/stty.c:622 msgid "" " * [-]ocrnl translate carriage return to newline\n" " * [-]ofdel use delete characters for fill instead of null characters\n" " * [-]ofill use fill (padding) characters instead of timing for delays\n" " * [-]olcuc translate lowercase characters to uppercase\n" " * [-]onlcr translate newline to carriage return-newline\n" " * [-]onlret newline performs a carriage return\n" msgstr "" #: src/stty.c:630 msgid "" " * [-]onocr do not print carriage returns in the first column\n" " [-]opost postprocess output\n" " * tabN horizontal tab delay style, N in [0..3]\n" " * tabs same as tab0\n" " * -tabs same as tab3\n" " * vtN vertical tab delay style, N in [0..1]\n" msgstr "" #: src/stty.c:638 msgid "" "\n" "Local settings:\n" " [-]crterase echo erase characters as backspace-space-backspace\n" " * crtkill kill all line by obeying the echoprt and echoe settings\n" " * -crtkill kill all line by obeying the echoctl and echok settings\n" msgstr "" #: src/stty.c:645 msgid "" " * [-]ctlecho echo control characters in hat notation (`^c')\n" " [-]echo echo input characters\n" " * [-]echoctl same as [-]ctlecho\n" " [-]echoe same as [-]crterase\n" " [-]echok echo a newline after a kill character\n" msgstr "" #: src/stty.c:652 msgid "" " * [-]echoke same as [-]crtkill\n" " [-]echonl echo newline even if not echoing other characters\n" " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" " [-]icanon enable erase, kill, werase, and rprnt special characters\n" " [-]iexten enable non-POSIX special characters\n" msgstr "" #: src/stty.c:659 msgid "" " [-]isig enable interrupt, quit, and suspend special characters\n" " [-]noflsh disable flushing after interrupt and quit special " "characters\n" " * [-]prterase same as [-]echoprt\n" " * [-]tostop stop background jobs that try to write to the terminal\n" " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" msgstr "" #: src/stty.c:666 msgid "" "\n" "Combination settings:\n" " * [-]LCASE same as [-]lcase\n" " cbreak same as -icanon\n" " -cbreak same as icanon\n" msgstr "" #: src/stty.c:673 msgid "" " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" " icanon, eof and eol characters to their default values\n" " -cooked same as raw\n" " crt same as echoe echoctl echoke\n" msgstr "" #: src/stty.c:679 msgid "" " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" " kill ^u\n" " * [-]decctlq same as [-]ixany\n" " ek erase and kill characters to their default values\n" " evenp same as parenb -parodd cs7\n" msgstr "" #: src/stty.c:686 msgid "" " -evenp same as -parenb cs8\n" " * [-]lcase same as xcase iuclc olcuc\n" " litout same as -parenb -istrip -opost cs8\n" " -litout same as parenb istrip opost cs7\n" " nl same as -icrnl -onlcr\n" " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" msgstr "" #: src/stty.c:694 msgid "" " oddp same as parenb parodd cs7\n" " -oddp same as -parenb cs8\n" " [-]parity same as [-]evenp\n" " pass8 same as -parenb -istrip cs8\n" " -pass8 same as parenb istrip cs7\n" msgstr "" #: src/stty.c:701 msgid "" " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" " -raw same as cooked\n" msgstr "" #: src/stty.c:707 msgid "" " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" " isig icanon iexten echo echoe echok -echonl -noflsh\n" " -xcase -tostop -echoprt echoctl echoke, all special\n" " characters to their default values.\n" msgstr "" #: src/stty.c:715 msgid "" "\n" "Handle the tty line connected to standard input. Without arguments,\n" "prints baud rate, line discipline, and deviations from stty sane. In\n" "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" "127; special values ^- or undef used to disable special characters.\n" msgstr "" #: src/stty.c:787 #, c-format msgid "only one device may be specified" msgstr "" #: src/stty.c:817 #, c-format msgid "" "the options for verbose and stty-readable output styles are\n" "mutually exclusive" msgstr "" #: src/stty.c:823 #, c-format msgid "when specifying an output style, modes may not be set" msgstr "" #: src/stty.c:838 #, c-format msgid "%s: couldn't reset non-blocking mode" msgstr "" #: src/stty.c:883 src/stty.c:993 #, c-format msgid "invalid argument %s" msgstr "" #: src/stty.c:894 src/stty.c:911 src/stty.c:923 src/stty.c:936 src/stty.c:948 #: src/stty.c:968 #, c-format msgid "missing argument to %s" msgstr "" #: src/stty.c:974 #, c-format msgid "invalid line discipline %s" msgstr "" #: src/stty.c:1044 #, c-format msgid "%s: unable to perform all requested operations" msgstr "" #: src/stty.c:1049 #, c-format msgid "new_mode: mode\n" msgstr "" #: src/stty.c:1390 #, c-format msgid "%s: no size information for this device" msgstr "" #: src/stty.c:1904 #, c-format msgid "invalid integer argument %s" msgstr "" #: src/su.c:241 msgid "Password:" msgstr "" #: src/su.c:244 #, c-format msgid "getpass: cannot open /dev/tty" msgstr "" #: src/su.c:302 #, c-format msgid "cannot set groups" msgstr "" #: src/su.c:306 #, c-format msgid "cannot set group id" msgstr "" #: src/su.c:308 #, c-format msgid "cannot set user id" msgstr "" #: src/su.c:384 #, c-format msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" msgstr "" #: src/su.c:385 msgid "" "Change the effective user id and group id to that of USER.\n" "\n" " -, -l, --login make the shell a login shell\n" " -c, --command=COMMAND pass a single COMMAND to the shell with -c\n" " -f, --fast pass -f to the shell (for csh or tcsh)\n" " -m, --preserve-environment do not reset environment variables\n" " -p same as -m\n" " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" msgstr "" #: src/su.c:397 msgid "" "\n" "A mere - implies -l. If USER not given, assume root.\n" msgstr "" #: src/su.c:474 #, c-format msgid "user %s does not exist" msgstr "" #: src/su.c:497 #, c-format msgid "incorrect password" msgstr "" #: src/su.c:514 #, c-format msgid "using restricted shell %s" msgstr "" #: src/su.c:522 #, c-format msgid "warning: cannot change directory to %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/sum.c:36 msgid "Kayvan Aghaiepour" msgstr "" #: src/sum.c:65 msgid "" "Print checksum and block counts for each FILE.\n" "\n" " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" msgstr "" #: src/sync.c:45 msgid "" "Force changed blocks to disk, update the super block.\n" "\n" msgstr "" #: src/sync.c:73 #, c-format msgid "ignoring all arguments" msgstr "" #: src/system.h:444 #, c-format msgid "" "\n" "NOTE: your shell may have its own version of %s, which usually supersedes\n" "the version described here. Please refer to your shell's documentation\n" "for details about the options it supports.\n" msgstr "" #: src/system.h:450 msgid " --help display this help and exit\n" msgstr "" #: src/system.h:452 msgid " --version output version information and exit\n" msgstr "" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: src/system.h:618 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tac.c:56 msgid "Jay Lepreau" msgstr "" #: src/tac.c:139 msgid "" "Write each FILE to standard output, last line first.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tac.c:147 msgid "" " -b, --before attach the separator before instead of after\n" " -r, --regex interpret the separator as a regular expression\n" " -s, --separator=STRING use STRING as the separator instead of newline\n" msgstr "" #: src/tac.c:237 src/tac.c:338 #, c-format msgid "%s: seek failed" msgstr "" #: src/tac.c:266 #, c-format msgid "record too large" msgstr "" #: src/tac.c:460 #, c-format msgid "cannot create temporary file %s" msgstr "" #: src/tac.c:467 #, c-format msgid "cannot open %s for writing" msgstr "" #: src/tac.c:488 src/tac.c:495 #, c-format msgid "%s: write error" msgstr "" #: src/tac.c:602 #, c-format msgid "separator cannot be empty" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tail.c:54 msgid "Ian Lance Taylor" msgstr "" #: src/tail.c:222 #, c-format msgid "" "Print the last %d lines of each FILE to standard output.\n" "With more than one FILE, precede each with a header giving the file name.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tail.c:231 msgid "" " --retry keep trying to open a file even if it is\n" " inaccessible when tail starts or if it becomes\n" " inaccessible later; useful when following by " "name,\n" " i.e., with --follow=name\n" " -c, --bytes=N output the last N bytes; alternatively, use +N " "to\n" " output bytes starting with the Nth of each file\n" msgstr "" #: src/tail.c:239 msgid "" " -f, --follow[={name|descriptor}]\n" " output appended data as the file grows;\n" " -f, --follow, and --follow=descriptor are\n" " equivalent\n" " -F same as --follow=name --retry\n" msgstr "" #: src/tail.c:246 #, c-format msgid "" " -n, --lines=N output the last N lines, instead of the last %d;\n" " or use +N to output lines starting with the Nth\n" " --max-unchanged-stats=N\n" " with --follow=name, reopen a FILE which has not\n" " changed size after N (default %d) iterations\n" " to see if it has been unlinked or renamed\n" " (this is the usual case of rotated log files)\n" msgstr "" #: src/tail.c:258 msgid "" " --pid=PID with -f, terminate after process ID, PID dies\n" " -q, --quiet, --silent never output headers giving file names\n" " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" " (default 1.0) between iterations.\n" " -v, --verbose always output headers giving file names\n" msgstr "" #: src/tail.c:267 msgid "" "\n" "If the first character of N (the number of bytes or lines) is a `+',\n" "print beginning with the Nth item from the start of each file, otherwise,\n" "print the last N items in the file. N may have a multiplier suffix:\n" "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" msgstr "" #: src/tail.c:276 msgid "" "With --follow (-f), tail defaults to following the file descriptor, which\n" "means that even if a tail'ed file is renamed, tail will continue to track\n" "its end. " msgstr "" #: src/tail.c:281 msgid "" "This default behavior is not desirable when you really want to\n" "track the actual name of the file, not the file descriptor (e.g., log\n" "rotation). Use --follow=name in that case. That causes tail to track the\n" "named file by reopening it periodically to see if it has been removed and\n" "recreated by some other program.\n" msgstr "" #: src/tail.c:339 #, c-format msgid "closing %s (fd=%d)" msgstr "" #: src/tail.c:414 #, c-format msgid "%s: cannot seek to relative offset %s" msgstr "" #: src/tail.c:418 #, c-format msgid "%s: cannot seek to end-relative offset %s" msgstr "" #: src/tail.c:870 #, c-format msgid "%s has become inaccessible" msgstr "" #: src/tail.c:887 #, c-format msgid "%s has been replaced with an untailable file; giving up on this name" msgstr "" #: src/tail.c:908 #, c-format msgid "%s has become accessible" msgstr "" #: src/tail.c:916 #, c-format msgid "%s has appeared; following end of new file" msgstr "" #: src/tail.c:927 #, c-format msgid "%s has been replaced; following end of new file" msgstr "" #: src/tail.c:1028 #, c-format msgid "%s: cannot change nonblocking mode" msgstr "" #: src/tail.c:1069 #, c-format msgid "%s: file truncated" msgstr "" #: src/tail.c:1093 #, c-format msgid "no files remaining" msgstr "" #: src/tail.c:1326 #, c-format msgid "%s: cannot follow end of this type of file; giving up on this name" msgstr "" #: src/tail.c:1442 #, c-format msgid "number in %s is too large" msgstr "" #: src/tail.c:1514 #, c-format msgid "%s: invalid maximum number of unchanged stats between opens" msgstr "" #: src/tail.c:1526 #, c-format msgid "%s: invalid PID" msgstr "" #: src/tail.c:1545 #, c-format msgid "%s: invalid number of seconds" msgstr "" #: src/tail.c:1561 #, c-format msgid "option used in invalid context -- %c" msgstr "" #: src/tail.c:1569 #, c-format msgid "warning: --retry is useful mainly when following by name" msgstr "" #: src/tail.c:1573 #, c-format msgid "warning: PID ignored; --pid=PID is useful only when following" msgstr "" #: src/tail.c:1576 #, c-format msgid "warning: --pid=PID is not supported on this system" msgstr "" #: src/tail.c:1670 #, c-format msgid "cannot follow %s by name" msgstr "" #: src/tail.c:1676 #, c-format msgid "warning: following standard input indefinitely is ineffective" msgstr "" #: src/tee.c:65 msgid "" "Copy standard input to each FILE, and also to standard output.\n" "\n" " -a, --append append to the given FILEs, do not overwrite\n" " -i, --ignore-interrupts ignore interrupt signals\n" msgstr "" #: src/tee.c:73 msgid "" "\n" "If a FILE is -, copy again to standard output.\n" msgstr "" #: src/test.c:121 #, c-format msgid "missing argument after %s" msgstr "" #: src/test.c:157 #, c-format msgid "invalid integer %s" msgstr "" #: src/test.c:238 msgid "')' expected" msgstr "" #: src/test.c:241 #, c-format msgid "')' expected, found %s" msgstr "" #: src/test.c:257 src/test.c:602 #, c-format msgid "%s: unary operator expected" msgstr "" #: src/test.c:326 msgid "-nt does not accept -l" msgstr "" #: src/test.c:339 msgid "-ef does not accept -l" msgstr "" #: src/test.c:355 msgid "-ot does not accept -l" msgstr "" #: src/test.c:364 msgid "unknown binary operator" msgstr "" #: src/test.c:630 #, c-format msgid "%s: binary operator expected" msgstr "" #: src/test.c:690 msgid "" "Usage: test EXPRESSION\n" " or: test\n" " or: [ EXPRESSION ]\n" " or: [ ]\n" " or: [ OPTION\n" msgstr "" #: src/test.c:697 msgid "" "Exit with the status determined by EXPRESSION.\n" "\n" msgstr "" #: src/test.c:703 msgid "" "\n" "An omitted EXPRESSION defaults to false. Otherwise,\n" "EXPRESSION is true or false and sets exit status. It is one of:\n" msgstr "" #: src/test.c:708 msgid "" "\n" " ( EXPRESSION ) EXPRESSION is true\n" " ! EXPRESSION EXPRESSION is false\n" " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" msgstr "" #: src/test.c:715 msgid "" "\n" " -n STRING the length of STRING is nonzero\n" " STRING equivalent to -n STRING\n" " -z STRING the length of STRING is zero\n" " STRING1 = STRING2 the strings are equal\n" " STRING1 != STRING2 the strings are not equal\n" msgstr "" #: src/test.c:723 msgid "" "\n" " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" msgstr "" #: src/test.c:732 msgid "" "\n" " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode numbers\n" " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" " FILE1 -ot FILE2 FILE1 is older than FILE2\n" msgstr "" #: src/test.c:738 msgid "" "\n" " -b FILE FILE exists and is block special\n" " -c FILE FILE exists and is character special\n" " -d FILE FILE exists and is a directory\n" " -e FILE FILE exists\n" msgstr "" #: src/test.c:745 msgid "" " -f FILE FILE exists and is a regular file\n" " -g FILE FILE exists and is set-group-ID\n" " -G FILE FILE exists and is owned by the effective group ID\n" " -h FILE FILE exists and is a symbolic link (same as -L)\n" " -k FILE FILE exists and has its sticky bit set\n" msgstr "" #: src/test.c:752 msgid "" " -L FILE FILE exists and is a symbolic link (same as -h)\n" " -O FILE FILE exists and is owned by the effective user ID\n" " -p FILE FILE exists and is a named pipe\n" " -r FILE FILE exists and read permission is granted\n" " -s FILE FILE exists and has a size greater than zero\n" msgstr "" #: src/test.c:759 msgid "" " -S FILE FILE exists and is a socket\n" " -t FD file descriptor FD is opened on a terminal\n" " -u FILE FILE exists and its set-user-ID bit is set\n" " -w FILE FILE exists and write permission is granted\n" " -x FILE FILE exists and execute (or search) permission is granted\n" msgstr "" #: src/test.c:766 msgid "" "\n" "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" "Beware that parentheses need to be escaped (e.g., by backslashes) for " "shells.\n" "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" msgstr "" #: src/test.c:772 msgid "" "\n" "NOTE: [ honors the --help and --version options, but test does not.\n" "test treats each of those as it treats any other nonempty STRING.\n" msgstr "" #: src/test.c:777 msgid "test and/or [" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:789 msgid "Kevin Braunsdorf" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/test.c:790 msgid "Matthew Bradburn" msgstr "" #: src/test.c:834 msgid "missing `]'" msgstr "" #: src/test.c:849 #, c-format msgid "extra argument %s" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:43 msgid "Jim Kingdon" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/touch.c:45 msgid "Randy Smith" msgstr "" #: src/touch.c:115 src/touch.c:324 #, c-format msgid "invalid date format %s" msgstr "" #: src/touch.c:157 #, c-format msgid "creating %s" msgstr "" #: src/touch.c:214 #, c-format msgid "cannot touch %s" msgstr "" #: src/touch.c:220 #, c-format msgid "setting times of %s" msgstr "" #: src/touch.c:237 msgid "" "Update the access and modification times of each FILE to the current time.\n" "\n" "A FILE argument that does not exist is created empty.\n" "\n" "A FILE argument string of - is handled specially and causes touch to\n" "change the times of the file associated with standard output.\n" "\n" msgstr "" #: src/touch.c:249 msgid "" " -a change only the access time\n" " -c, --no-create do not create any files\n" " -d, --date=STRING parse STRING and use it instead of current time\n" " -f (ignored)\n" " -m change only the modification time\n" msgstr "" #: src/touch.c:256 msgid "" " -r, --reference=FILE use this file's times instead of current time\n" " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time\n" " --time=WORD change the specified time:\n" " WORD is access, atime, or use: equivalent to -a\n" " WORD is modify or mtime: equivalent to -m\n" msgstr "" #: src/touch.c:265 msgid "" "\n" "Note that the -d and -t options accept different time-date formats.\n" msgstr "" #: src/touch.c:350 #, c-format msgid "cannot specify times from more than one source" msgstr "" #: src/touch.c:415 #, c-format msgid "" "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" msgstr "" #: src/tr.c:289 #, c-format msgid "Usage: %s [OPTION]... SET1 [SET2]\n" msgstr "" #: src/tr.c:293 msgid "" "Translate, squeeze, and/or delete characters from standard input,\n" "writing to standard output.\n" "\n" " -c, -C, --complement first complement SET1\n" " -d, --delete delete characters in SET1, do not translate\n" " -s, --squeeze-repeats replace each input sequence of a repeated " "character\n" " that is listed in SET1 with a single occurrence\n" " of that character\n" " -t, --truncate-set1 first truncate SET1 to length of SET2\n" msgstr "" #: src/tr.c:306 msgid "" "\n" "SETs are specified as strings of characters. Most represent themselves.\n" "Interpreted sequences are:\n" "\n" " \\NNN character with octal value NNN (1 to 3 octal digits)\n" " \\\\ backslash\n" " \\a audible BEL\n" " \\b backspace\n" " \\f form feed\n" " \\n new line\n" " \\r return\n" " \\t horizontal tab\n" msgstr "" #: src/tr.c:320 msgid "" " \\v vertical tab\n" " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" " [CHAR*] in SET2, copies of CHAR until length of SET1\n" " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" " [:alnum:] all letters and digits\n" " [:alpha:] all letters\n" " [:blank:] all horizontal whitespace\n" " [:cntrl:] all control characters\n" " [:digit:] all digits\n" msgstr "" #: src/tr.c:331 msgid "" " [:graph:] all printable characters, not including space\n" " [:lower:] all lower case letters\n" " [:print:] all printable characters, including space\n" " [:punct:] all punctuation characters\n" " [:space:] all horizontal or vertical whitespace\n" " [:upper:] all upper case letters\n" " [:xdigit:] all hexadecimal digits\n" " [=CHAR=] all characters which are equivalent to CHAR\n" msgstr "" #: src/tr.c:341 msgid "" "\n" "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" "-t may be used only when translating. SET2 is extended to length of\n" "SET1 by repeating its last character as necessary. " msgstr "" #: src/tr.c:347 msgid "" "Excess characters\n" "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" "expand in ascending order; used in SET2 while translating, they may\n" "only be used in pairs to specify case conversion. " msgstr "" #: src/tr.c:353 msgid "" "-s uses SET1 if not\n" "translating nor deleting; else squeezing uses SET2 and occurs after\n" "translation or deletion.\n" msgstr "" #: src/tr.c:518 #, c-format msgid "" "warning: the ambiguous octal escape \\%c%c%c is being\n" "\tinterpreted as the 2-byte sequence \\0%c%c, %c" msgstr "" #: src/tr.c:527 #, c-format msgid "warning: an unescaped backslash at end of string is not portable" msgstr "" #: src/tr.c:682 #, c-format msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" msgstr "" #: src/tr.c:838 #, c-format msgid "invalid repeat count %s in [c*n] construct" msgstr "" #: src/tr.c:919 #, c-format msgid "missing character class name `[::]'" msgstr "" #: src/tr.c:922 #, c-format msgid "missing equivalence class character `[==]'" msgstr "" #: src/tr.c:937 #, c-format msgid "invalid character class %s" msgstr "" #: src/tr.c:956 #, c-format msgid "%s: equivalence class operand must be a single character" msgstr "" #: src/tr.c:1272 #, c-format msgid "too many characters in set" msgstr "" #: src/tr.c:1420 #, c-format msgid "the [c*] repeat construct may not appear in string1" msgstr "" #: src/tr.c:1430 #, c-format msgid "only one [c*] repeat construct may appear in string2" msgstr "" #: src/tr.c:1438 #, c-format msgid "[=c=] expressions may not appear in string2 when translating" msgstr "" #: src/tr.c:1451 #, c-format msgid "when not truncating set1, string2 must be non-empty" msgstr "" #: src/tr.c:1460 #, c-format msgid "" "when translating with complemented character classes,\n" "string2 must map all characters in the domain to one" msgstr "" #: src/tr.c:1467 #, c-format msgid "" "when translating, the only character classes that may appear in\n" "string2 are `upper' and `lower'" msgstr "" #: src/tr.c:1476 #, c-format msgid "the [c*] construct may appear in string2 only when translating" msgstr "" #: src/tr.c:1728 msgid "Two strings must be given when translating." msgstr "" #: src/tr.c:1738 msgid "Only one string may be given when deleting without squeezing repeats." msgstr "" #: src/tr.c:1850 #, c-format msgid "misaligned [:upper:] and/or [:lower:] construct" msgstr "" #: src/true.c:41 #, c-format msgid "" "Usage: %s [ignored command line arguments]\n" " or: %s OPTION\n" msgstr "" #: src/true.c:48 msgid "Exit with a status code indicating success." msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/tsort.c:39 msgid "Mark Kettenis" msgstr "" #: src/tsort.c:85 #, c-format msgid "" "Usage: %s [OPTION] [FILE]\n" "Write totally ordered list consistent with the partial ordering in FILE.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/tsort.c:473 #, c-format msgid "%s: input contains an odd number of tokens" msgstr "" #: src/tsort.c:514 #, c-format msgid "%s: input contains a loop:" msgstr "" #: src/tty.c:68 src/uname.c:125 src/whoami.c:49 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "" #: src/tty.c:69 msgid "" "Print the file name of the terminal connected to standard input.\n" "\n" " -s, --silent, --quiet print nothing, only return an exit status\n" msgstr "" #: src/tty.c:124 msgid "not a tty" msgstr "" #: src/uname.c:129 msgid "" "Print certain system information. With no OPTION, same as -s.\n" "\n" " -a, --all print all information, in the following order,\n" " except omit -p and -i if unknown:\n" " -s, --kernel-name print the kernel name\n" " -n, --nodename print the network node hostname\n" " -r, --kernel-release print the kernel release\n" msgstr "" #: src/uname.c:138 msgid "" " -v, --kernel-version print the kernel version\n" " -m, --machine print the machine hardware name\n" " -p, --processor print the processor type or \"unknown\"\n" " -i, --hardware-platform print the hardware platform or \"unknown\"\n" " -o, --operating-system print the operating system\n" msgstr "" #: src/uname.c:148 msgid "" "Print machine architecture.\n" "\n" msgstr "" #: src/uname.c:291 #, c-format msgid "cannot get system name" msgstr "" #: src/unexpand.c:124 msgid "" "Convert blanks in each FILE to tabs, writing to standard output.\n" "With no FILE, or when FILE is -, read standard input.\n" "\n" msgstr "" #: src/unexpand.c:132 msgid "" " -a, --all convert all blanks, instead of just initial blanks\n" " --first-only convert only leading sequences of blanks (overrides -a)\n" " -t, --tabs=N have tabs N characters apart instead of 8 (enables -a)\n" " -t, --tabs=LIST use comma separated LIST of tab positions (enables -a)\n" msgstr "" #: src/unexpand.c:160 #, c-format msgid "tabs are too far apart" msgstr "" #: src/unexpand.c:511 #, c-format msgid "tab stop value is too large" msgstr "" #: src/uniq.c:137 #, c-format msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" msgstr "" #: src/uniq.c:141 msgid "" "Discard all but one of successive identical lines from INPUT (or\n" "standard input), writing to OUTPUT (or standard output).\n" "\n" msgstr "" #: src/uniq.c:149 msgid "" " -c, --count prefix lines by the number of occurrences\n" " -d, --repeated only print duplicate lines\n" msgstr "" #: src/uniq.c:153 msgid "" " -D, --all-repeated[=delimit-method] print all duplicate lines\n" " delimit-method={none(default),prepend,separate}\n" " Delimiting is done with blank lines.\n" " -f, --skip-fields=N avoid comparing the first N fields\n" " -i, --ignore-case ignore differences in case when comparing\n" " -s, --skip-chars=N avoid comparing the first N characters\n" " -u, --unique only print unique lines\n" " -z, --zero-terminated end lines with 0 byte, not newline\n" msgstr "" #: src/uniq.c:163 msgid " -w, --check-chars=N compare no more than N characters in lines\n" msgstr "" #: src/uniq.c:168 msgid "" "\n" "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" "characters. Fields are skipped before chars.\n" msgstr "" #: src/uniq.c:173 msgid "" "\n" "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" "You may want to sort the input first, or use `sort -u' without `uniq'.\n" msgstr "" #: src/uniq.c:358 #, c-format msgid "too many repeated lines" msgstr "" #: src/uniq.c:521 msgid "invalid number of fields to skip" msgstr "" #: src/uniq.c:530 msgid "invalid number of bytes to skip" msgstr "" #: src/uniq.c:539 msgid "invalid number of bytes to compare" msgstr "" #: src/uniq.c:558 #, c-format msgid "printing all duplicated lines and repeat counts is meaningless" msgstr "" #: src/unlink.c:49 #, c-format msgid "" "Usage: %s FILE\n" " or: %s OPTION\n" msgstr "" #: src/unlink.c:52 msgid "" "Call the unlink function to remove the specified FILE.\n" "\n" msgstr "" #: src/unlink.c:90 #, c-format msgid "cannot unlink %s" msgstr "" #: src/uptime.c:125 #, c-format msgid "couldn't get boot time" msgstr "" #: src/uptime.c:133 #, c-format msgid " %2d:%02d%s up " msgstr "" #: src/uptime.c:137 msgid "am" msgstr "" #: src/uptime.c:137 msgid "pm" msgstr "" #: src/uptime.c:139 #, c-format msgid " ??:???? up " msgstr "" #: src/uptime.c:141 #, c-format msgid "???? days ??:??, " msgstr "" #: src/uptime.c:145 #, c-format msgid "%ld day" msgid_plural "%ld days" msgstr[0] "" msgstr[1] "" #: src/uptime.c:149 #, c-format msgid "%lu user" msgid_plural "%lu users" msgstr[0] "" msgstr[1] "" #: src/uptime.c:163 #, c-format msgid ", load average: %.2f" msgstr "" #: src/uptime.c:199 src/users.c:109 #, c-format msgid "Usage: %s [OPTION]... [ FILE ]\n" msgstr "" #: src/uptime.c:200 #, c-format msgid "" "Print the current time, the length of time the system has been up,\n" "the number of users on the system, and the average number of jobs\n" "in the run queue over the last 1, 5 and 15 minutes.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/users.c:110 #, c-format msgid "" "Output who is currently logged in according to FILE.\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "\n" msgstr "" #: src/wc.c:117 msgid "" "Print newline, word, and byte counts for each FILE, and a total line if\n" "more than one FILE is specified. With no FILE, or when FILE is -,\n" "read standard input.\n" " -c, --bytes print the byte counts\n" " -m, --chars print the character counts\n" " -l, --lines print the newline counts\n" msgstr "" #: src/wc.c:125 msgid "" " --files0-from=F read input from the files specified by\n" " NUL-terminated names in file F\n" " -L, --max-line-length print the length of the longest line\n" " -w, --words print the word counts\n" msgstr "" #: src/who.c:212 msgid " old " msgstr "" #: src/who.c:439 src/who.c:441 msgid "id=" msgstr "" #: src/who.c:454 src/who.c:459 msgid "term=" msgstr "" #: src/who.c:456 src/who.c:460 msgid "exit=" msgstr "" #: src/who.c:497 msgid "clock change" msgstr "" #: src/who.c:509 src/who.c:510 msgid "run-level" msgstr "" #: src/who.c:513 src/who.c:514 msgid "last=" msgstr "" #: src/who.c:545 #, c-format msgid "" "\n" "# users=%lu\n" msgstr "" #: src/who.c:551 msgid "NAME" msgstr "" #: src/who.c:551 msgid "LINE" msgstr "" #: src/who.c:551 msgid "TIME" msgstr "" #: src/who.c:551 msgid "IDLE" msgstr "" #: src/who.c:552 msgid "PID" msgstr "" #: src/who.c:552 msgid "COMMENT" msgstr "" #: src/who.c:552 msgid "EXIT" msgstr "" #: src/who.c:633 #, c-format msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" msgstr "" #: src/who.c:634 msgid "" "\n" " -a, --all same as -b -d --login -p -r -t -T -u\n" " -b, --boot time of last system boot\n" " -d, --dead print dead processes\n" " -H, --heading print line of column headings\n" msgstr "" #: src/who.c:641 msgid " -l, --login print system login processes\n" msgstr "" #: src/who.c:644 msgid "" " --lookup attempt to canonicalize hostnames via DNS\n" " -m only hostname and user associated with stdin\n" " -p, --process print active processes spawned by init\n" msgstr "" #: src/who.c:649 msgid "" " -q, --count all login names and number of users logged on\n" " -r, --runlevel print current runlevel\n" " -s, --short print only name, line, and time (default)\n" " -t, --time print last system clock change\n" msgstr "" #: src/who.c:655 msgid "" " -T, -w, --mesg add user's message status as +, - or ?\n" " -u, --users list users logged in\n" " --message same as -T\n" " --writable same as -T\n" msgstr "" #: src/who.c:663 #, c-format msgid "" "\n" "If FILE is not specified, use %s. %s as FILE is common.\n" "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" msgstr "" #: src/whoami.c:50 msgid "" "Print the user name associated with the current effective user ID.\n" "Same as id -un.\n" "\n" msgstr "" #: src/whoami.c:94 #, c-format msgid "%s: cannot find name for user ID %lu\n" msgstr "" #: src/yes.c:45 #, c-format msgid "" "Usage: %s [STRING]...\n" " or: %s OPTION\n" msgstr "" #: src/yes.c:51 msgid "" "Repeatedly output a line with all specified STRING(s), or `y'.\n" "\n" msgstr "" dc3dd-7.1.614/po/remove-potcdate.sin0000644000175000017500000000066011022023316016656 0ustar amedicoamedico# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } dc3dd-7.1.614/po/zh_TW.po0000644000175000017500000072462011233346647014474 0ustar amedicoamedico# traditional Chinese translation of coreutils. # Copyright (C) 1998, 2002, 2005 Free Software Foundation, Inc. # # # Merged from textutils, sh-utils and fileutils translation: # # Yip Chi Lap , 1998. # # Yuan-Chung Cheng , 1998. # # Abel Cheung , 2002. # # Pofeng Lee , 1998, 2002. # # Abel Cheung , 2005. # msgid "" msgstr "" "Project-Id-Version: coreutils 5.3.0\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2005-07-02 04:13+0800\n" "Last-Translator: Abel Cheung \n" "Language-Team: Chinese (traditional) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Stuart Kemp 及 David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "無法建立目錄%s" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "請嘗試執行‘%s --help’來獲取更多資訊。\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "用法:%s [檔案]...\n" " 或:%s [選項]\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "複製檔案,並根據以下的選項將資料轉換和格式化。\n" "\n" " bs=位元組 強迫 ibs=<位元組> 及 obs=<位元組>\n" " cbs=位元組 每次轉換指定的 <位元組>\n" " conv=關鍵字 根據以逗號分隔的關鍵字表示的方式來轉換檔案\n" " count=區段數目 只複製指定 <區段數目> 的輸入資料\n" " ibs=位元組 每次讀取指定的 <位元組>\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=檔案 讀取 <檔案> 內容而非標準輸入的資料\n" " obs=位元組 每次寫入指定的 <位元組>\n" " of=檔案 將資料寫入 <檔案> 而不在標準輸出顯示\n" " seek=區段數目 先略過以 obs 為單位的指定 <區段數目> 的輸出資料\n" " skip=區段數目 先略過以 ibs 為單位的指定 <區段數目> 的輸入資料\n" " status=noxfer 不顯示輸入/輸出結果\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "<區段數目> 及 <位元組> 可以加上以下的單位:\n" "xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,\n" "GB=1000*1000*1000,G=1024*1024*1024,還有 T/P/E/Z/Y 如此類推。\n" "每個 <關鍵字> 可以是:\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat 輸出檔不存在的話不會寫出結果\n" " excl 如果輸出檔已經存在則作為失敗處理\n" " notrunc 不截斷輸出檔\n" " ucase 將小寫字元轉換為大寫\n" " swab 交換每一對輸入資料位元組\n" " noerror 讀取資料發生錯誤後仍然繼續\n" " sync 將每個輸入資料區段以 NUL 字元填滿至 ibs 的大小;\n" " 當配合 block 或 unblock 時,會以空格代替 NUL 字元填充\n" " fdatasync 真正將資料寫入磁碟後才結束程式\n" " fsync 類似 fdatasync,並寫入元資料\n" #: src/dc3dd.c:1174 #, fuzzy msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " nocreat 輸出檔不存在的話不會寫出結果\n" " excl 如果輸出檔已經存在則作為失敗處理\n" " notrunc 不截斷輸出檔\n" " ucase 將小寫字元轉換為大寫\n" " swab 交換每一對輸入資料位元組\n" " noerror 讀取資料發生錯誤後仍然繼續\n" " sync 將每個輸入資料區段以 NUL 字元填滿至 ibs 的大小;\n" " 當配合 block 或 unblock 時,會以空格代替 NUL 字元填充\n" " fdatasync 真正將資料寫入磁碟後才結束程式\n" " fsync 類似 fdatasync,並寫入元資料\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "建立目錄時不能指定目的地目錄" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "將 SIGUSR1 訊號送至執行中的 ‘dd’ 進程時,會在標準錯誤顯示 I/O 統計資料,\n" "然後繼續執行程式。\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -USR1 $pid; sleep 1; kill $pid\n" " 18335302+0 records in\n" " 18335302+0 records out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "選項包括:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "不明的系統錯誤" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "複製了 %s 位元組 (%s)" #: src/dc3dd.c:2041 #, fuzzy msgid "Infinity B" msgstr "無限" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ",%g 秒,%s/s\n" #: src/dc3dd.c:2057 #, fuzzy, c-format msgid ", %g s, %s/s\n" msgstr ",%g 秒,%s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "正在關閉輸入檔 %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "正在關閉輸出檔%s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "輸出檔的後置字串已用盡" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "開啟 %s 中" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "錯誤" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "無法識別參數 %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "日期無效:‘%s’" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "%2$s的參數%1$s無效" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "%2$s的參數%1$s無效" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "%2$s的參數%1$s無效" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "轉換用的關鍵字無效:%s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "輸入旗標無效:%s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "輸出旗標無效:%s" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "狀態旗標無效:%s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "數字 %s 無效" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "不可同時使用 excl 和 nocreat" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "如果自行指定權限,不可同時配合 --reference 選項一起使用" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "如果自行指定權限,不可同時配合 --reference 選項一起使用" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "如果自行指定權限,不可同時配合 --reference 選項一起使用" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "如果自行指定權限,不可同時配合 --reference 選項一起使用" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "如果自行指定權限,不可同時配合 --reference 選項一起使用" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "警告:暫時避免有關檔案 (%s) 的 lseek 核心錯誤,檔案的 mt_type=0x%0lx ─\n" " 有關 mt_type 類型的清單請參考 " #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "讀取 %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s:無法搜尋" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "警告:寬度 %lu 是無效的;以 %d 代替" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "無法避開系統核心的錯誤" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "無法建立目錄%s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "無法建立目錄%s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "正在寫入 %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "%s 的 fdatasync 失敗" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "%s 的 fsync 失敗" #: src/dc3dd.c:3907 msgid "standard input" msgstr "標準輸出" #: src/dc3dd.c:3938 msgid "standard output" msgstr "標準輸出" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "無法 fstat %s" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "略過輸出檔%2$s的最初 %1$s 個位元組" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii 由 EBCDIC 轉換至 ASCII\n" #~ " ebcdic 由 ASCII 轉換至 EBCDIC\n" #~ " ibm 由 ASCII 轉換至 alternate EBCDIC\n" #~ " block 將以 newline 作為結束字元的區段的 newline 換成空格,\n" #~ " 直至空格填滿 cbs 表示的大小\n" #~ " unblock 會將 cbs 大小的區段中所有結束的空格刪除,\n" #~ " 並轉換為一個 newline 字元\n" #~ " lcase 將大寫字元轉換為小寫\n" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "個被截斷了的區段" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "不可同時使用 ascii, ebcdic, ibm 中的任何二個" #~ msgid "cannot combine block and unblock" #~ msgstr "不可同時使用 block 和 unblock" #~ msgid "cannot combine lcase and ucase" #~ msgstr "不可同時使用 lcase 和 ucase" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "警告:寬度 %lu 是無效的;以 %d 代替" #~ msgid "error writing %s" #~ msgstr "寫入 %s 時發生錯誤" #~ msgid "invalid argument %s for %s" #~ msgstr "%2$s的參數%1$s無效" #~ msgid "ambiguous argument %s for %s" #~ msgstr "%2$s的參數%1$s不明確" #~ msgid "Valid arguments are:" #~ msgstr "有效的參數為:" #, fuzzy #~ msgid "error closing file" #~ msgstr "正在關閉輸入檔 %s" #~ msgid "write error" #~ msgstr "寫入時發生錯誤" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "正在更改 %s 的權限" #~ msgid "cannot stat %s" #~ msgstr "無法 stat %s" #~ msgid "regular empty file" #~ msgstr "普通空白檔案" #~ msgid "regular file" #~ msgstr "普通檔案" #~ msgid "directory" #~ msgstr "目錄" #~ msgid "block special file" #~ msgstr "區塊特殊檔案" #~ msgid "character special file" #~ msgstr "字元特殊檔案" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "符號連結" #~ msgid "socket" #~ msgstr "socket" #~ msgid "message queue" #~ msgstr "訊息佇列" #~ msgid "semaphore" #~ msgstr "semaphore" #~ msgid "shared memory object" #~ msgstr "共用記憶體物件" #, fuzzy #~ msgid "typed memory object" #~ msgstr "共用記憶體物件" #~ msgid "weird file" #~ msgstr "不正常的檔案" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "不支援 FIFO 檔案" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "不支援 FIFO 檔案" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "不支援 FIFO 檔案" #, fuzzy #~ msgid "System error" #~ msgstr "寫入時發生錯誤" #, fuzzy #~ msgid "Unknown error" #~ msgstr "不明的系統錯誤" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s:選項‘%s’不明確\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s:選項‘--%s’不可配合參數使用\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s:選項‘%c%s’不可配合參數使用\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s:選項‘%s’需要參數\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s:無法識別的選項‘--%s’\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s:無法識別的選項‘%c%s’\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s:不合法的選項 ─ %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s:無效的選項 ─ %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s:選項需要參數 ─ %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s:選項‘-W %s’不明確\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s:選項‘-W %s’不可配合參數使用\n" #~ msgid "cannot change permissions of %s" #~ msgstr "無法更改%s的權限" #~ msgid "cannot create directory %s" #~ msgstr "無法建立目錄%s" #~ msgid "memory exhausted" #~ msgstr "記憶體耗盡" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "無法建立目錄%s" #~ msgid "`" #~ msgstr "‘" #~ msgid "'" #~ msgstr "’" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "關閉時發生錯誤" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s:無效的正規表示式:%s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "無效的字元種類‘%s’" #, fuzzy #~ msgid "Invalid range end" #~ msgstr "無效的類型‘%s’" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "記憶體耗盡" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s:無效的正規表示式:%s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "在正規運算式搜尋時發生錯誤" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "在正規運算式搜尋時發生錯誤" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "在正規運算式搜尋時發生錯誤" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "正在更改 %s 的權限" #~ msgid "iconv function not usable" #~ msgstr "iconv 功能無法使用" #~ msgid "iconv function not available" #~ msgstr "iconv 功能不存在" #~ msgid "character out of range" #~ msgstr "字元值超出可接受的範圍以外" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "無法將 U+%04X 轉換至使用者的字元集" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "無法將 U+%04X 轉換至使用者的字元集:%s" #~ msgid "invalid user" #~ msgstr "無效的使用者" #~ msgid "invalid group" #~ msgstr "無效的群組" #, fuzzy #~ msgid "invalid spec" #~ msgstr "無效的使用者" #~ msgid "Written by %s.\n" #~ msgstr "由 %s 編寫。\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "由 %s 和 %s 編寫。\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "由 %s, %s 和 %s 編寫。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "由 %s, %s, %s\n" #~ "和 %s 編寫。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "由 %s, %s, %s,\n" #~ "%s 和 %s 編寫。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "由 %s, %s, %s,\n" #~ "%s, %s 和 %s 編寫。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "由 %s, %s, %s, %s,\n" #~ "%s, %s 和 %s 編寫。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "由 %s, %s, %s, %s,\n" #~ "%s, %s, %s 和 %s 編寫。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "由 %s, %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "和 %s 編寫。\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "由 %s, %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "和 %s 等等編寫。\n" #~ msgid "invalid argument: %s" #~ msgstr "參數無效: %s" #~ msgid "string comparison failed" #~ msgstr "字串比較出現錯誤" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "請設定 LC_ALL='C' 避免問題出現。" #~ msgid "The strings compared were %s and %s." #~ msgstr "要比較的字串為%s及%s。" #, fuzzy #~ msgid "string transformation failed" #~ msgstr "字串比較出現錯誤" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "%2$s的參數%1$s無效" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "無效的行號增加值:‘%s’" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s:數字‘%.*s’過大" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version 顯示版本資訊並離開\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "如果沒有指定<檔案>或<檔案>是 -,則由標準輸入讀取資料。\n" #~ msgid "read error" #~ msgstr "讀取時發生錯誤" #, fuzzy #~ msgid "invalid input" #~ msgstr "輸入旗標無效:%s" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "無效的類型‘%s’" #~ msgid "extra operand %s" #~ msgstr "出現多餘的參數 %s" #~ msgid "closing standard input" #~ msgstr "關閉標準輸入" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 檔案名稱 [末端字元]\n" #~ " 或:%s [選項]\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "印出 <檔案名稱>,而且減去前面所有目錄的名稱。\n" #~ "如果指定了 <末端字元> 的話,也會嘗試從 <檔案名稱> 末端清除該等字元。\n" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjorn Granlund 及 Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "用法:%s [選項] [檔案]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "將由 <檔案> 或標準輸入讀取的資料連結起來,並在標準輸出顯示結果。\n" #~ "\n" #~ " -A, --show-all 等於 -vET\n" #~ " -b, --number-nonblank 輸出時在非空白行加上行號\n" #~ " -e 等於 -vE\n" #~ " -E, --show-ends 在每一行最後顯示 $ 記號\n" #~ " -n, --number 輸出時加上行號\n" #~ " -s, --squeeze-blank 不連續輸出超過一行空行\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t 等於 -vT\n" #~ " -T, --show-tabs 將 TAB 字元顯示為 ^I\n" #~ " -u (此選項不作處理)\n" #~ " -v, --show-nonprinting 除了換行及 TAB 字元外,使用 ^ 及 M- 表示法顯示" #~ "字元\n" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "無法對‘%s’執行輸出入控制 (ioctl)" #~ msgid "%s: input file is output file" #~ msgstr "%s:輸出和輸入檔案是相同的" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "無法更改 %s 的擁有者\n" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "無法取得 %s 的屬性" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "無法將 %s 的擁有者更改為 %s\n" #~ msgid "cannot access %s" #~ msgstr "無法存取 %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "無法讀取目錄 %s 的內容" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "正在更改 %s 的權限" #~ msgid "fts_read failed" #~ msgstr "fts_read 失敗" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "用法:%s [選項]... 擁有者[:[群組]] 檔案...\n" #~ " 或:%s [選項]... :群組 檔案...\n" #~ " 或:%s [選項]... --reference=參考檔 檔案...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "將每個 <檔案> 的所屬群組設定為 <群組>。\n" #~ "加上 --reference 的話,會參考 <參考檔> 的群組來設定。\n" #~ "\n" #~ " -c, --changes 像 --verbose,但只有在更改屬性時才顯示結果\n" #~ " --dereference 會影響符號鏈結所指定的目的地檔案,\n" #~ " 而非符號鏈結本身 (預設)\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的錯誤訊息\n" #~ " --reference=參考檔 使用<參考檔>的所屬群組,而非自行指定<群組>\n" #~ " -R, --recursive 同時處理目錄之下的所有的檔案及子目錄\n" #~ " -v, --verbose 處理每個檔案時都會顯示訊息\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "同時使用 -R --dereference 時還需要 -H 或 -L 選項" #~ msgid "-R -h requires -P" #~ msgstr "同時使用 -R -h 時還需要 -P 選項" #~ msgid "missing operand after %s" #~ msgstr "%s 後面缺少了參數" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "權限無效: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "無法取得 %s 的屬性" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "群組 %s 無效" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "用法:%s [選項]... 群組 檔案...\n" #~ " 或:%s [選項]... --reference=參考檔 檔案...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "將每個 <檔案> 的所屬群組設定為 <群組>。\n" #~ "加上 --reference 的話,會參考 <參考檔> 的群組來設定。\n" #~ "\n" #~ " -c, --changes 像 --verbose,但只有在更改屬性時才顯示結果\n" #~ " --dereference 會影響符號鏈結所指定的目的地檔案,\n" #~ " 而非符號鏈結本身 (預設)\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference 影響符號鏈結本身,而不是符號鏈結指定的目的地檔" #~ "案\n" #~ " (只有系統支援更改符號鏈結的擁有者,這個選項才有" #~ "效)\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ "移除指定的 <檔案>。\n" #~ "\n" #~ " -d, --directory 移除可能仍有資料的目錄 (只限最大權力使用者使用)\n" #~ " -f, --force 略過不存在的檔案,不顯示任何訊息\n" #~ " -i, --interactive 進行任何移除操作前必須先確認\n" #~ " -r, -R, --recursive 同時移除該目錄下的所有目錄層\n" #~ " -v, --verbose 詳細顯示進行的步驟\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的錯誤訊息\n" #~ " --reference=參考檔 使用<參考檔>的所屬群組,而非自行指定<群組>\n" #~ " -R, --recursive 同時處理目錄之下的所有的檔案及子目錄\n" #~ " -v, --verbose 處理每個檔案時都會顯示訊息\n" #~ msgid "getting new attributes of %s" #~ msgstr "正在檢查 %s 的最新屬性" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "符號鏈結 %s 和該鏈結所指示的對象都沒有更改\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "%s 的權限模式已更改為 %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "無法將 %s 的權限模式更改為 %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "%s 的權限模式保留為 %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "無法建立符號鏈結 %s" #~ msgid "changing permissions of %s" #~ msgstr "正在更改 %s 的權限" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "正在更改 %s 的權限" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "用法:%s [選項]... 模式[,模式]... 檔案...\n" #~ " 或:%s [選項]... 八進位模式 檔案...\n" #~ " 或:%s [選項]... --reference=參考檔 檔案...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "更改每個<檔案>的權限。\n" #~ "\n" #~ " -c, --changes 像 --verbose,但只有在更改屬性時才顯示結果\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的錯誤訊息\n" #~ " -v, --verbose 處理每個檔案時都會顯示訊息\n" #~ " --reference=參考檔 使用<參考檔>的權限,而非自行指定<權限>\n" #~ " -R, --recursive 同時處理目錄之下的所有的檔案及子目錄\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "如果自行指定權限,不可同時配合 --reference 選項一起使用" #~ msgid "invalid mode: %s" #~ msgstr "權限無效: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "%s 的擁有者已更改為 %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "%s 的所屬群組已更改為 %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "沒有更改 %s 的擁有者\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "無法將 %s 的擁有者更改為 %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "無法將 %s 的所屬群組更改為 %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "無法更改 %s 的擁有者\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "%s 的擁有者已保留為 %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "%s的所屬群組已保留為 %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "保留 %s 的擁有者\n" #~ msgid "changing ownership of %s" #~ msgstr "正在更改 %s 的擁有者" #~ msgid "changing group of %s" #~ msgstr "正在更改 %s 的所屬群組" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "用法:%s [選項]... [擁有者][:[群組]] 檔案...\n" #~ " 或:%s [選項]... --reference=參考檔 檔案...\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "更改每個 <檔案> 的 <擁有者> 及/或 <所屬群組>。\n" #~ "\n" #~ " -c, --changes 像 --verbose,但只在有更改時才顯示結果\n" #~ " --dereference 受影響的是符號鏈結所指示的對象,而非符號鏈結本" #~ "身\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=目前擁有者:目前群組\n" #~ " 只當每個檔案的擁有者和群組符合選項所指定的,\n" #~ " 才會更改擁有者和群組。其中一個可以省略,這時\n" #~ " 已省略的屬性就不需要符合原有的屬性。\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet 去除大部份的錯誤訊息\n" #~ " --reference=參考檔 使用<參考檔>的擁有者和所屬群組,而非指令中指定" #~ "的\n" #~ " -R, --recursive 處理所有目錄中的檔案及子目錄\n" #~ " -v, --verbose 處理任何檔案都會顯示訊息\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "如果沒有指定 <擁有者>,則不會更改。<群組> 也一樣,\n" #~ "但如果擁有者後加上 ‘:’,<群組> 會更改為擁有者的主要群組。\n" #~ "<擁有者> 及 <群組> 可以是數字或名稱。\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 根目錄 [指令...]\n" #~ " 或:%s 選項\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "以新的目錄作為 <根目錄> 並執行 <指令>。\n" #~ "\n" #~ msgid "cannot change root directory to %s" #~ msgstr "無法以 %s 作為根目錄" #~ msgid "cannot run command %s" #~ msgstr "無法執行 %s 指令" #~ msgid "%s: file too long" #~ msgstr "%s:檔案過大" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "用法:%s [檔案]...\n" #~ " 或:%s [選項]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "印出每個 <檔案> 的 CRC 總和檢查值及位元組總數。\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman 及 David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "用法:%s [選項]... 檔案1 檔案2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "逐行比較兩個已排序的 <檔案1> 及 <檔案2>。\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "不加選項的話,程式會產生三欄內容。第一欄的內容只在 <檔案1> 出現,\n" #~ "第二欄的只在 <檔案2> 出現,第三欄的則同時在兩個檔案內出現。\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 不顯示任何一行只在 FILE1 出現過的資料\n" #~ " -2 不顯示任何一行只在 FILE2 出現過的資料\n" #~ " -3 不顯示兩個檔案中同時出現的任何一行\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "正在更改 %s 的權限" #~ msgid "failed to preserve ownership for %s" #~ msgstr "無法保留%s的擁有者及所屬群組" #, fuzzy #~ msgid "failed to preserve authorship for %s" #~ msgstr "無法保留%s的著作者" #~ msgid "cannot open %s for reading" #~ msgstr "無法開啟 %s 來讀取資料" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "略過檔案 %s,因為準備複製時它已被其它檔案取代" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "無法將 %s 的所屬群組更改為 %s\n" #~ msgid "cannot remove %s" #~ msgstr "無法移除 %s" #~ msgid "removed %s\n" #~ msgstr "已移除%s\n" #~ msgid "cannot create regular file %s" #~ msgstr "無法建立普通檔案 %s" #~ msgid "cannot lseek %s" #~ msgstr "無法 lseek %s" #~ msgid "writing %s" #~ msgstr "寫入 %s" #~ msgid "preserving times for %s" #~ msgstr "保留%s的時間" #~ msgid "closing %s" #~ msgstr "關閉 %s" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s:是否覆寫 %s,而不理會權限模式 %04lo? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s:是否覆寫 %s? " #~ msgid " (backup: %s)" #~ msgstr " (備份:%s)" #~ msgid "omitting directory %s" #~ msgstr "略過 %s 目錄" #~ msgid "warning: source file %s specified more than once" #~ msgstr "警告:指定了來源檔 %s 多於一次" #~ msgid "%s and %s are the same file" #~ msgstr "%s 及 %s 為同一檔案" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "不可以將目錄 %2$s 覆寫非目錄 %1$s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "不會以 %2$s 覆寫剛建立的 %1$s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "不可以將目錄 %s 覆寫成非目錄" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "移動目錄時目的地不可以不是目錄:%s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "將 %s 備份會破壞來源檔,因此不移動 %s。" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "將 %s 備份會破壞來源檔,因此不複製 %s。" #~ msgid "cannot backup %s" #~ msgstr "無法備份%s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "不會以 %2$s 覆寫剛建立的 %1$s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "不可以將目錄 %s 複製成為自身 (%s)" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "不會建立連至目錄 %2$s 的實際鏈結 (hard link) %1$s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "不可以建立連至 %2$s 的實際鏈結 (hard link) %1$s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "不可以將目錄 %s 複製至自身的子目錄 (%s)" #~ msgid "cannot move %s to %s" #~ msgstr "無法將 %s 移動至 %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "無法進行跨裝置的移動 (%s至%s);無法移除目標檔案或目錄" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "無法取得 %s 的屬性" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "無法複製循環的符號鏈結%s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s:只能於目前的目錄中建立相對符號鏈結" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "不可以建立連至 %2$s 的符號鏈結 %1$s" #~ msgid "cannot create link %s" #~ msgstr "無法建立 %s 鏈結" #~ msgid "cannot create fifo %s" #~ msgstr "無法建立 FIFO %s" #~ msgid "cannot create special file %s" #~ msgstr "無法建立特殊檔案 %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "無法讀取符號鏈結 %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "無法建立符號鏈結 %s" #~ msgid "%s has unknown file type" #~ msgstr "%s的檔案類型不詳" #~ msgid "cannot un-backup %s" #~ msgstr "無法將 %s 的備份還原" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (還原備份)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "用法:%s [選項]... [-T] 來源 目的地\n" #~ " 或:%s [選項]... 來源... 目錄\n" #~ " 或:%s [選項]... -t 目錄 來源...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "將 <來源> 檔案複製至 <目的地>,或將多個 <檔案> 複製至指定 <目錄>。\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "長選項必須用的參數在使用短選項時也是必須的。\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive 等於 -dpR\n" #~ " --backup[=CONTROL] 為每個已存在的目的地檔案建立備份檔\n" #~ " -b 類似 --backup,但不接受任何參數\n" #~ " --copy-contents 當使用遞迴模式時複製特殊檔案的內容\n" #~ " -d 等於 --no-dereference --preserve=link\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " --no-dereference 不會找出符號鏈結指示的真正目的地\n" #~ " -f, --force 如果無法開啟已存在的檔案,會移除該檔案並" #~ "再\n" #~ " 嘗試開啟\n" #~ " -i, --interactive 覆寫檔案前需要確認\n" #~ " -H 使用指令列中的符號鏈結指示的真正目的地\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -l, --link 連結而非複製檔案\n" #~ " -L, --dereference 一定先找出符號鏈結指示的真正目的地\n" #~ " -p 等於 --preserve=mode,ownership,timestamps\n" #~ " --preserve[=ATTR_LIST] 若可能,保留指定的檔案屬性\n" #~ " (預設值為:mode,ownership,timestamps)\n" #~ " 額外的屬性有:links、all\n" #, fuzzy #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=ATTR_LIST 不保留指定的檔案屬性\n" #~ " --parents 複製前先在 <目錄> 建立來源路徑中的所有目" #~ "錄\n" #~ " -P 等於 ‘--no-dereference’\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive 複製目錄及目錄內的所有項目\n" #~ " --remove-destination 嘗試開啟目的地檔案前先移除已存在的目的地\n" #~ " 檔案 (與 --force 選項不同)\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --reply={yes,no,query} 指定如何處理已存在的目的地檔案\n" #~ " --sparse=WHEN 控制建立 sparse 檔案的方式\n" #~ " --strip-trailing-slashes 移除參數中所有 <來源> 檔案/目錄末端的斜號\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link 只建立符號鏈結而不是複製檔案\n" #~ " -S, --suffix=後置字串 自行指定備份檔的 <後置字串>\n" #~ " -t, --target-directory=目錄 將所有 <來源> 檔案/目錄複製至指定的 <目錄" #~ ">\n" #~ " -T, --no-target-directory 將 <目的地> 看作普通檔案處理\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update 只在 <來源> 檔案比目的地檔案新,\n" #~ " 或目的地檔案不存在時才進行複製\n" #~ " -v, --verbose 詳細顯示進行的步驟\n" #~ " -x, --one-file-system 不會跨越檔案系統進行操作\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "預設模式中,<來源> 檔案是否 sparse 檔案會經粗略的估計來決定,而且相應\n" #~ "的 <目的地> 檔案也會是 sparse 檔案。此方式等於使用 --sparse=auto 選項。指" #~ "定\n" #~ "--sparse=always 則只要 <來源> 檔含有足夠長的 0 位元組都會產生 sparse 的\n" #~ "<目的地> 檔案。使用 --sparse=never 會禁止產生 sparse 檔案。\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "備份檔的後置字串為 ‘~’,除非以 --suffix 選項或是 SIMPLE_BACKUP_SUFFIX\n" #~ "環境變數指定。版本控制的方式可透過 --backup 選項或 VERSION_CONTROL 環境\n" #~ "變數來選擇。以下是可用的變數值:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off 不會進行備份 (即使使用了 --backup 選項也不會)\n" #~ " numbered, t 備份檔會加上數字\n" #~ " existing, nil 若有數字的備份檔已經存在則使用數字,否則使用普通方式備" #~ "份\n" #~ " simple, never 永遠使用普通方式備份\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "有一個特別情況:如果同時指定 --force 和 --backup 選項,而且 <來源> 和\n" #~ "<目的地> 是同一個已存在的普通檔案的話,cp 會將 <來源> 檔案備份。\n" #~ msgid "failed to preserve times for %s" #~ msgstr "無法保留 %s 的時間" #~ msgid "failed to preserve permissions for %s" #~ msgstr "無法保留 %s 的權限" #~ msgid "cannot make directory %s" #~ msgstr "無法建立目錄 %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s已存在但不是目錄" #~ msgid "accessing %s" #~ msgstr "正在存取 %s" #~ msgid "missing file operand" #~ msgstr "缺少了檔案作為參數" #~ msgid "missing destination file operand after %s" #~ msgstr "%s 後缺少了目的地檔案" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "--target-directory (-t) 和 --no-target-directory (-T) 不可同時使用" #~ msgid "target %s is not a directory" #~ msgstr "目的地 %s 不是目錄" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "當保留路徑時,目的地必須是目錄" #, fuzzy #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "" #~ "警告:--version-control (-V) 選項已經過時;將來的版本隨時可能不再支援\n" #~ "此選項。請使用 --backup=%s。" #~ msgid "multiple target directories specified" #~ msgstr "指定了多於一個目的地目錄" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "無法同時建立實際及符號鏈結" #~ msgid "backup type" #~ msgstr "備份方式" #~ msgid "input disappeared" #~ msgstr "輸入資料消失了" #~ msgid "%s: line number out of range" #~ msgstr "%s:行號超出範圍以外" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s:‘%s’:行號超出範圍以外" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s:‘%s’:找不到符合的字串" #~ msgid "error in regular expression search" #~ msgstr "在正規運算式搜尋時發生錯誤" #, fuzzy #~ msgid "write error for %s" #~ msgstr "寫入‘%s’時發生錯誤" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s:分隔符號後應該是整數" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s:重複的數目後應該是 ‘}’ 字元" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}:‘{’ 和 ‘}’ 之間必須是整數" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s:缺少了封閉分隔符號 ‘%c’" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s:無效的正規表示式:%s" #~ msgid "%s: invalid pattern" #~ msgstr "%s:無效的樣式" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s:行號必須大於零" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "行號 ‘%s’ 小於之前的行號 ‘%s’" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "警告:行號 ‘%s’ 和之前的行號一樣" #~ msgid "missing conversion specifier in suffix" #~ msgstr "後置字串缺少了字串轉換字符" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "後置字串的字串轉換字符無效:%c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "後置字串的字串轉換字符無效:\\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "後置字串含有過多的 %% 字串轉換規格" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "後置字串缺少了 %% 字串轉換規格" #~ msgid "%s: invalid number" #~ msgstr "%s:無效的號碼" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "用法:%s [選項]... 檔案 樣式...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "根據 <樣式> 分割 <檔案>,並將之輸出至 ‘xx01’、‘xx02’ 等等的檔案,\n" #~ "同時在標準輸出顯示每個分割部份的位元組數目。\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=格式 以 sprintf 的 <格式> 代替 %02d\n" #~ " -f, --prefix=前置字串 以 <前置字串> 代替 ‘xx’\n" #~ " -k, --keep-files 遇到錯誤時不移除輸出檔\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=位數 使用指定位數的數字而不是 2 個位\n" #~ " -s, --quiet, --silent 不印出輸出檔的大小\n" #~ " -z, --elide-empty-files 移除空白的輸出檔\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "若 <檔案> 是 - 則由標準輸入讀取資料。每一個 <樣式> 可以是:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " 整數 複製直至指定行數之前的一行\n" #~ " /正規表示式/[偏移值] 複製直至符合表示式之前的一行\n" #~ " %正規表示式%[偏移值] 忽略直至符合表示式之前的一行\n" #~ " {整數} 將之前的樣式重複指定的次數\n" #~ " {*} 將之前的樣式重複最大可能的次數\n" #~ "\n" #~ "行號偏移值是一個(必須的)‘+’或‘-’字元加上一個正整數。\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "用法:%s [選項]... [檔案]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "在標準輸出中顯示每個 <檔案> 每一行中指定的部份。\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LIST 只顯示指定的位元組\n" #~ " -c, --characters=LIST 只顯示指定的字元\n" #~ " -d, --delimiter=DELIM 以 DELIM 字元代替 TAB 作為欄位的分隔符號\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LIST 只顯示指定的欄位;同時也印出不含分隔符號的\n" #~ " 每一行,除非配合 -s 選項一起使用\n" #~ " -n (不會作任何處理)\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited 不印出不含分隔符號的每一行\n" #~ " --output-delimiter=字串 以 <字串> 作為輸出資料的分隔符號\n" #~ " 預設是使用輸入資料的分隔符號\n" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "必須恰好指定 -b、-c 或 -f 其中一個選項。每個 LIST 是由一個範圍或\n" #~ "多個以逗號分隔的範圍組成的。輸出結果和讀取資料的次序是一樣的,而且只會\n" #~ "寫一次。每個範圍可以是:\n" #~ "\n" #~ " N 由 1 開始計算,只取第 N 個位元組、字元或欄位\n" #~ " N- 由第 N 個位元組、字元或欄位直至行末\n" #~ " N-M 由第 N 至第 M(包括在內)個位元組、字元或欄位\n" #~ " -M 由第 1 至第 M(包括在內)個位元組、字元或欄位\n" #~ "\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ msgid "invalid byte or field list" #~ msgstr "無效的位元組或欄位選項" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "無效的寬度選項:‘%s’" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "無效的類型‘%s’" #~ msgid "byte offset %s is too large" #~ msgstr "位元組位置 %s 過大" #~ msgid "field number %s is too large" #~ msgstr "欄位數目 %s 過大" #~ msgid "only one type of list may be specified" #~ msgstr "指定位置時只能使用一種格式" #~ msgid "the delimiter must be a single character" #~ msgstr "分隔符號必須是恰好一個字元" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "必須指定一系列的位元組、字元或欄位" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "只有在處理欄位時才能指定分隔符號" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "只有在處理欄位時才可以去除沒有分隔符號的每一行" #~ msgid "missing list of fields" #~ msgstr "缺少了欄位數值" #~ msgid "missing list of positions" #~ msgstr "缺少了表示位置的數值" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "正在關閉輸出檔%s" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "印出日期所用的選項是互相矛盾的" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "印出日期和設定日期的選項不可以同時使用" #~ msgid "cannot set date" #~ msgstr "無法設定時間" #~ msgid "time %s is out of range" #~ msgstr "時間 %s 超出可接受的範圍" #~ msgid "Filesystem Type" #~ msgstr "檔案系統 類型" #~ msgid "Filesystem " #~ msgstr "檔案系統 " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inode I已用 I可用 I已用%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " 容量 已用 可用 已用%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " 容量 已用 可用 已用%%" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %4s-區段 已用 可用 容量" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-區段 已用 可用 已用%%" #~ msgid " Mounted on\n" #~ msgstr " 掛載點\n" #~ msgid "cannot get current directory" #~ msgstr "無法讀取目前的目錄位置" #~ msgid "cannot change to directory %s" #~ msgstr "無法進入 %s 目錄" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "無法 stat 目前的目錄 (現在是 %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "用法:%s [選項]... [檔案]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "顯示每個 <檔案> 所在的檔案系統的資訊,預設是顯示所有檔案系統。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 包括大小為 0 個區段的檔案系統\n" #~ " -B, --block-size=大小 區段以指定 <大小> 的位元組為單位\n" #~ " -h, --human-readable 以容易理解的格式印出檔案系統大小 (例如 1K 234M " #~ "2G)\n" #~ " -H, --si 類似 -h,但以 1000 為單位而不是 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes 顯示 inode 資訊而非空間使用量\n" #~ " -k 即 --block-size=1K\n" #~ " -l, --local 只顯示本機的檔案系統\n" #~ " --no-sync 取得使用量資料前不進行 sync 動作 (預設)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability 使用 POSIX 輸出格式\n" #~ " --sync 取得使用量資料前先進行 sync 動作\n" #~ " -t, --type=類型 只印出指定 <類型> 的檔案系統資訊\n" #~ " -T, --print-type 印出檔案系統類型\n" #~ " -x, --exclude-type=類型 只印出不是指定 <類型> 的檔案系統資訊\n" #~ " -v (此選項不作處理)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "<大小> 可以是以下的單位 (單位前可加上整數):\n" #~ "kB=1000,K=1024,MB=1000*1000,M=1024*1024,還有 G/T/P/E/Z/Y 如此類推。\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "不能同時選擇和排除檔案系統類型 %s" #~ msgid "Warning: " #~ msgstr "警告:" #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%s 無法讀取已掛載的檔案系統的名單" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "用法:%s [選項]... [檔案]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "輸出用來設定 LS_COLORS 環境變數的指令。\n" #~ "\n" #~ "指定輸出的規格:\n" #~ " -b, --sh, --bourne-shell 輸出設定 LS_COLORS 的 Bourne shell 指令\n" #~ " -c, --csh, --c-shell 輸出設定 LS_COLORS 的 C shell 指令\n" #~ " -p, --print-database 輸出預設的色彩設定\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "如果指定 <檔案>,則讀取該檔案的資料來決定檔案類型及延伸檔名相應的顏色。\n" #~ "否則,會使用一個預設的資料庫。如要瞭解此檔案格式的細節,請執行\n" #~ "‘dircolors --print-database’。\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu:該行內容無效,缺少了第二個參數" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu:無法識別關鍵字 %s" #~ msgid "" #~ msgstr "<內部資料>" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "顯示 dircolors 內部資料庫的選項和選擇 shell 語法的選項\n" #~ "是互相抵觸的" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "加上檔案作為參數的話不可和 --print-database (-p) 一起使用。" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "沒有設定 SHELL 環境變數,也沒有指定 shell 類型的選項" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 檔案名稱\n" #~ " 或:%s 選項\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "顯示檔案名稱時減去最後一個 ‘/’ 和之後的內容;如果名稱中沒有 ‘/’,則\n" #~ "顯示 ‘.’ (表示當前目錄)。\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "用法:%s [選項]... [檔案]...\n" #~ " 或:%s [選項]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "總結每個 <檔案> 的磁碟用量,目錄則取總用量。\n" #~ "\n" # (Abel) doesn't need to translate into such detail for --apparent-size #, fuzzy #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all 顯示目錄中所有檔案的佔用量,並非只是目錄的總用量\n" #~ " --apparent-size 顯示表面上的檔案大小而不是真正的空間佔用量;雖然\n" #~ " 表面上檔案通常比較小,但也有可能比較大 (例如 " #~ "sparse\n" #~ " 檔案、檔案分成數段等等)\n" #~ " -B, --block-size=大小 區段以指定 <大小> 的位元組為單位\n" #~ " -b, --bytes 等於 ‘--apparent-size --block-size=1’\n" #~ " -c, --total 印出所有項目相加後的總用量\n" #~ " -D, --dereference-args 只找出符號鏈結所指示的真正目的地\n" #, fuzzy #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -a, --all 顯示目錄中所有檔案的佔用量,並非只是目錄的總用量\n" #~ " -B, --block-size=大小 區段以指定 <大小> 的位元組為單位\n" #~ " -b, --bytes 以位元組為單位印出佔用量\n" #~ " -c, --total 印出所有項目相加後的總用量\n" #~ " -D, --dereference-args 只找出指令列中的符號鏈結指示的真正目的地\n" #, fuzzy #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F 總結檔案 F 中所有檔案名稱的使用量,而且所有檔案名" #~ "稱\n" #~ " 都以 NUL 字元作為結尾\n" #~ " -H 即 --si,但會顯示警告訊息;稍後會將本選項的意義更" #~ "改\n" #~ " 為和 --dereference-args (-D) 一樣\n" #~ " -h, --human-readable 以容易理解的格式印出檔案大小 (例如 1K 234M 2G)\n" #~ " --si 類似 -h,但取 1000 的次方而不是 1024\n" #~ " -k 即 --block-size=1K\n" #~ " -l, --count-links 將所有實際鏈結 (hard link) 的大小也計算在內\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference 找出任何符號鏈結指示的真正目的地\n" #~ " -P, --no-dereference 不跟隨任何符號鏈結 (這個是預設模式)\n" #~ " -0, --null 每行都以 NUL 字元而不是換行作為結尾\n" #~ " -S, --separate-dirs 不包括子目錄的佔用量\n" #~ " -s, --summarize 只分別計算每個檔案參數所佔的總用量\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system 忽略屬於其它檔案系統的目錄\n" #~ " -X 檔案, --exclude-from=檔案 由 <檔案> 讀取應排除的檔案的樣式\n" #~ " --exclude=樣式 排除符合指定 <樣式> 的檔案\n" #~ " --max-depth=N 只顯示參數指定的目錄 N 層或以內的子目錄的總用量\n" #~ " (若使用 --all 選項,也會顯示檔案的佔用量);\n" #~ " --max-depth=0 的效果等於 --summarize\n" #~ msgid "total" #~ msgstr "總計" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "警告:請使用 --si 代替 -H;-H 選項的意義以後會更改為和\n" #~ " --dereference-args (-D) 一樣" #~ msgid "invalid maximum depth %s" #~ msgstr "最大深度 %s 無效" #, fuzzy #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "" #~ "警告:--version-control (-V) 選項已經過時;將來的版本隨時可能不再支援\n" #~ "此選項。請使用 --backup=%s。" #~ msgid "cannot both summarize and show all entries" #~ msgstr "不能只顯示總用量,同時又顯示每個項目" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "警告:顯示總用量等於使用 --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "警告:顯示總用量的選項和 --max-depth=%lu 互相抵觸" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "有檔案作為參數時不可和 --files0-from 一起使用。" #~ msgid "cannot read file names from %s" #~ msgstr "無法從 %s 讀取檔案名稱" #~ msgid "invalid zero-length file name" #~ msgstr "檔案名稱無效 (長度為零)" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "用法:%s [選項]... [字串]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "在標準輸出顯示指定 <字串>。\n" #~ "\n" #~ " -n 不加上最後的換行字元\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e 能夠識別加上反斜號 ‘\\’ 的特殊格式 (預設使用)\n" #~ " -E 不能夠識別加上反斜號 ‘\\’ 的特殊格式\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "使用 -e 選項時,程式能夠識別以下的特殊格式:\n" #~ "\n" #~ " \\0NNN 8 進位數字 NNN 所代表的 ASCII 字元\n" #~ " \\\\ 反斜號 ‘\\’\n" #~ " \\a 響聲 (BEL)\n" #~ " \\b 倒退字元 (backspace)\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c 立刻終止輸出任何內容\n" #~ " \\f 換頁字元 (form feed)\n" #~ " \\n 換行字元 (new line)\n" #~ " \\r 復位字元 (return)\n" #~ " \\t 水平定位字元 (tab)\n" #~ " \\v 垂直定位字元\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Torbjorn Granlund 及 Richard M. Stallman" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "用法:%s [選項]... [-] [NAME=VALUE]... [指令 [參數]...]\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "僅用 - 已經等於 -i 選項。如果沒有指定 <指令>,則顯示所有環境變數。\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "將每個 <檔案> 中的 tab 轉換為空格,並在標準輸出顯示。\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial 不轉換非空白字元後的 TAB 字元\n" #~ " -t, --tabs=數目 將 tab 轉換為指定 <數目> 的空格而不是 8 個\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr " -t, --tabs=LIST 用以逗號分隔的數字來指定 tab 的位置\n" #~ msgid "tab stop is too large %s" #~ msgstr "tab 字元寬度 %s 過長" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "tab 字元寬度含有無效的字元:%s" #~ msgid "tab size cannot be 0" #~ msgstr "tab 字元寬度不可為 0" #~ msgid "tab sizes must be ascending" #~ msgstr "tab 字元位置必須由小至大" #~ msgid "input line is too long" #~ msgstr "輸入內容過長" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 表示式\n" #~ " 或:%s 選項\n" #~ msgid "syntax error" #~ msgstr "格式錯誤" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "在正規運算式搜尋時發生錯誤" #~ msgid "non-numeric argument" #~ msgstr "參數結果不是數字" #~ msgid "division by zero" #~ msgstr "被 0 整除" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s [數字]...\n" #~ " 或:%s 選項\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "顯示每個數字的質因子。\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " 顯示每個指定整數的質因子。如果沒有參數,則會由標準輸入讀取參數。\n" #~ msgid "%s is too large" #~ msgstr "%s 過長" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "‘%s’ 不是有效的正整數" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "用法:%s [-數字] [選項]... [檔案]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "重新編排 <檔案> 中的每一段文字,並在標準輸出顯示結果。\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是‘-’,則由標準輸入讀取資料。\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin 保留最初兩行的縮排方式\n" #~ " -p, --prefix=字串 只處理含有指定前置 <字串> 的每一行,並將處理" #~ "好\n" #~ " 的結果重新加上 <字串>\n" #~ " -s, --split-only 只將一行過長的資料分開,而不合併多於一行的資" #~ "料\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph 第一和第二行的縮排方式不同\n" #~ " -u, --uniform-spacing 每兩個字之間以一個空格分隔,句子後則用兩個空" #~ "格\n" #~ " -w, --width=數字 最大的行寬 (預設為 75 個字元)\n" #~ msgid "invalid width: %s" #~ msgstr "寬度無效:%s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "將 <檔案> (預設為標準輸入) 中的每一行進行自動換行,並在標準輸出顯示結" #~ "果。\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes 計算位元組總數而非字元位置\n" #~ " -s, --spaces 只在空格位置斷開\n" #~ " -w, --width=寬度 使用指定的 <寬度> 作為行寬而非 80\n" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "無效的欄位數目:‘%s’" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "無法將 %s 的所屬群組更改為 %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "無法將 %s 的所屬群組更改為 %s\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "%s: 找不到 UID 為 %lu 的用戶名稱\n" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "用法:%s [選項]... [用戶名稱]\n" #~ msgid "%s: No such user" #~ msgstr "%s:此用戶不存在" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "在標準輸出顯示每個 <檔案> 的最初 10 行。\n" #~ "當多於一個 <檔案> 時,顯示時會先加上表示檔案名稱的標頭。\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N 顯示每個檔案的最初 N 個位元組;如果附有 ‘-’ " #~ "號,\n" #~ " 則顯示整個檔案減去最後 N 個位元組\n" #~ " -n, --lines=[-]N 顯示每個檔案的最初 N 行;如果附有 ‘-’ 號,\n" #~ " 則顯示整個檔案減去最後 N 行\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent 絕不顯示含有檔案名稱的標頭\n" #~ " -v, --verbose 一定顯示含有檔案名稱的標頭\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "<區段數目> 及 <位元組> 可以加上以下的單位:\n" #~ "xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,\n" #~ "GB=1000*1000*1000,G=1024*1024*1024,還有 T/P/E/Z/Y 如此類推。\n" #~ "每個 <關鍵字> 可以是:\n" #~ msgid "error reading %s" #~ msgstr "讀取 %s 時發生錯誤" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s:位元組數目過大" #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s:無法搜尋至原來位置" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s:無法搜尋至位置 %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "無法將 %s 的檔案指標重新定位" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s:%s過大,因此無法表示" #~ msgid "number of lines" #~ msgstr "行數" #~ msgid "number of bytes" #~ msgstr "位元組數目" #~ msgid "invalid number of lines" #~ msgstr "無效的行數" #~ msgid "invalid number of bytes" #~ msgstr "無效的位元組數目" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "選項無效 ─ %c" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "用法:%s [名稱]\n" #~ " 或:%s 選項\n" #~ "顯示或指定系統的主機名稱。\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "無法指定名稱為 ‘%s’" #~ msgid "cannot determine hostname" #~ msgstr "無法決定主機名稱" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "顯示有關 <用戶名稱> 的資訊,沒有指定的話則顯示目前的用戶的資訊。\n" #~ "\n" #~ " -a 此選項會被忽略,只為了和其它版本兼容\n" #~ " -g, --group 只顯示 effective group ID\n" #~ " -G, --groups 顯示所有群組的 group IDs\n" #~ " -n, --name 配合 -u/-g/-G 選項時,顯示名稱而不是數字\n" #~ " -r, --real 配合 -u/-g/-G 選項時,顯示真正的 ID 而不是 effective " #~ "ID\n" #~ " -u, --user 只顯示 effective user ID\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "不加上任何選項的話,顯示一些有用的身分識別資訊。\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "不能用超過一種方式進行分割" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "在預設的輸出格式中不可能只顯示名稱或者真正的 ID" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "%s: 找不到 UID 為 %lu 的用戶名稱\n" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "無法建立目錄%s" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "建立目錄時不能用 strip 選項" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "建立目錄時不能指定目的地目錄" #~ msgid "invalid mode %s" #~ msgstr "權限模式 %s 無效" #~ msgid "cannot change ownership of %s" #~ msgstr "無法更改 %s 的擁有權" #~ msgid "cannot set time stamps for %s" #~ msgstr "無法設定 %s 的檔案時間" #~ msgid "fork system call failed" #~ msgstr "調用 fork() 系統函式失敗" #~ msgid "cannot run strip" #~ msgstr "無法執行 strip 指令" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "正在寫入 %s" #~ msgid "invalid user %s" #~ msgstr "使用者 %s 無效" #~ msgid "invalid group %s" #~ msgstr "群組 %s 無效" #~ msgid "creating directory %s" #~ msgstr "正在建立目錄 %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "用法:%s [選項]... [-T] 來源 目的地\n" #~ " 或:%s [選項]... 來源... 目錄\n" #~ " 或:%s [選項]... -t 目錄 來源...\n" #~ " 或:%s [選項]... -d 目錄...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "在最初三種格式中,會將 <來源> 複製至 <目的地> 或將多個 <來源>\n" #~ "複製至已存在的 <目錄>,同時設定權限模式及擁有者/所屬群組。\n" #~ "在第四種格式中,會建立所有指定的目錄及它們的所有上層目錄。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTROL] 為每個已存在的目的地檔案進行備份\n" #~ " -b 類似 --backup,但不接受任何參數\n" #~ " -c (此選項不作處理)\n" #~ " -d, --directory 所有參數都作為目錄處理;而且會建立指定目錄的所有主目" #~ "錄\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D 建立 <目的地> 的所有上層目錄,然後將 <來源> 複製至\n" #~ " <目的地>\n" #~ " -g, --group=群組 自行指定所屬群組,而不是進程目前的所屬群組\n" #~ " -m, --mode=模式 自行指定權限模式 (像 chmod),而不是 rwxr-xr-x\n" #~ " -o, --owner=擁有者 自行指定擁有者 (只適用於最大權力使用者)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps 以 <來源> 檔案的存取/修改時間作為相應的目" #~ "的\n" #~ " 地檔案時間屬性\n" #~ " -s, --strip 用 strip 指令移除 symbol table\n" #~ " -S, --suffix=字串 自行指定備份檔的後置 <字串>\n" #~ " -t, --target-directory=目錄 將所有 <來源> 複製至該目錄\n" #~ " -T, --no-target-directory 將目的地看成普通檔案\n" #~ " -v, --verbose 建立每個目錄時都顯示名稱\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "備份檔的後置字串為 ‘~’,除非以 --suffix 選項或是 SIMPLE_BACKUP_SUFFIX\n" #~ "環境變數指定。版本控制的方式可透過 --backup 選項或 VERSION_CONTROL 環境\n" #~ "變數來選擇。以下是可用的變數值:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "當兩個檔案指定要合併的欄位相同時,合併兩行成為一行,並在標準輸出顯示結" #~ "果。\n" #~ "預設的合併欄位是第一個欄位(以空格分隔計算)。如果 <檔案1> 或 <檔案2> 是 -\n" #~ "(但不能兩個都是),則由標準輸入讀取資料。\n" #~ "\n" #~ " -a 檔案數字 當某行遇到無法配對的欄位時,取其中一個檔案的內容顯" #~ "示;\n" #~ " 其中 <檔案數字> 可以是 1 或 2,分別代表 <檔案1> 或 <檔" #~ "案2>\n" #~ " -e 字串 當缺少輸入欄位時,以 <字串> 代替\n" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case 當比較欄位時不理會大小寫\n" #~ " -j 欄位 等於 ‘-1 欄位 -2 欄位’\n" #~ " -o 格式 當輸出時遵從指定 <格式>\n" #~ " -t 字元 以 <字元> 作為輸入和輸出的欄位分隔符號\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v 檔案數字 類似 -a <檔案數字>,但不印出合併了的任何一行\n" #~ " -1 欄位 以檔案 1 的指定 <欄位> 來合併\n" #~ " -2 欄位 以檔案 2 的指定 <欄位> 來合併\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "除非使用了 ‘-t 字元’ 選項,這時會忽略每行開始的空白字元,否則欄位會以指定" #~ "的\n" #~ "<字元> 分隔。<欄位> 編號是由 1 開始算起的。<格式> 是一個或多個以逗號分隔" #~ "的\n" #~ "字串,每個字串可以是 ‘<檔案數字>.<欄位>’ 或 ‘0’。預設的 <格式>是先輸出用" #~ "來\n" #~ "合併的欄位,然後是 <檔案1> 的其它欄位,最後是 <檔案2> 的其它欄位,全部皆" #~ "以\n" #~ "<字元> 來分隔。\n" #~ msgid "invalid field number: %s" #~ msgstr "無效的欄位編號:%s" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "無效的欄位規格:‘%s’" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "欄位規格中含有無效的檔案編號:‘%s’" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "分隔欄位字元‘%s’多於一個字元" #~ msgid "both files cannot be standard input" #~ msgstr "兩個檔案不能都是標準輸入" #~ msgid "%s: invalid signal" #~ msgstr "%s:訊號無效" #~ msgid "%s: invalid process id" #~ msgstr "%s:進程編號無效" #~ msgid "invalid option -- %c" #~ msgstr "選項無效 ─ %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s:使用了多於一個訊號" #~ msgid "multiple -l or -t options specified" #~ msgstr "-l 或 -t 選項使用了多於一次" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "使用 -l 或 -t 時不能同時指定訊號" #~ msgid "no process ID specified" #~ msgstr "未指定進程編號" #, fuzzy #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s [檔案]...\n" #~ " 或:%s [選項]\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "透過調用 link 函式,建立連至 <檔案1> 的鏈結,鏈結名稱為 <檔案2>。\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "無法建立連至 %2$s 的鏈結 %1$s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s:警告:將實際鏈結 (hard link) 連至符號鏈結不是所有系統都適用的功能" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: 不允許將實際鏈結 (hard link) 連至目錄" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s:不可以覆寫目錄" #~ msgid "%s: replace %s? " #~ msgstr "%s:是否置換 %s? " #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "正在建立連至%2$s的符號鏈結%1$s" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "正在建立連至%2$s的符號鏈結%1$s" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "正在建立連至%2$s的實際鏈結 (hard link)%1$s" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "正在建立連至%2$s的實際鏈結 (hard link)%1$s" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "正在建立連至%2$s的實際鏈結 (hard link)%1$s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "用法:%s [選項]... 來源 目的地 (第一種格式)\n" #~ " 或:%s [選項]... 來源... 目錄 (第二種格式)\n" #~ " 或:%s -d [選項]... 目錄... (第三種格式)\n" #, fuzzy #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "建立連至指定 <目標> 的鏈結,並可選擇指定 <鏈結名稱>。\n" #~ "如果沒有指定 <鏈結名稱>,會在目前的目錄中建立一個和 <目標> 名稱一樣的鏈" #~ "結。\n" #~ "當使用第二種格式而 <目標> 多於一個時,最後的參數必須是目錄;這樣會在指定" #~ "的\n" #~ "<目錄> 中分別建立連至每個 <目標> 的鏈結。預設的運作方式是建立實際鏈結 " #~ "(hard\n" #~ "link),若使用 --symbolic 選項則建立符號鏈結。當建立實際鏈結時,每個 <目標" #~ ">\n" #~ "都必須存在。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTROL] 為每個已存在的目的地檔案建立備份檔\n" #~ " -b 類似 --backup,但不接受任何參數\n" #~ " -d, -F, --directory 建立連至目錄的實際鏈結 (只適用於最大權力使用" #~ "者)\n" #~ " -f, --force 強迫移除任何已存在的目的地檔案\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference 如果目的地是一個連結至某目錄的符號鏈結,會" #~ "將\n" #~ " 該符號鏈結當作普通檔案處理,會先備份或移除" #~ "該\n" #~ " 鏈結\n" #~ " -i, --interactive 確認是否移除目的地檔案\n" #~ " -s, --symbolic 建立符號鏈結而不是實際鏈結\n" #, fuzzy #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=後置字串 自行指定備份檔的 <後置字串>\n" #~ " --target-directory=目錄 在指定 <目錄> 中建立鏈結\n" #~ " -v, --verbose 連結前先印出每個檔案的名稱\n" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s已存在但不是目錄" #, fuzzy #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "用法:%s [選項] [檔案]...\n" #, fuzzy #~ msgid "no login name" #~ msgstr "%s:無效的號碼" #, fuzzy #~ msgid "%b %e %Y" #~ msgstr "%Y-%m-%d %H:%M" #, fuzzy #~ msgid "%b %e %H:%M" #~ msgstr "%Y-%m-%d %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "忽略無效的環境變數 QUOTING_STYLE 的變數值:%s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "忽略無效的環境變數 COLUMNS 的寬度數值:%s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "忽略無效的環境變數 TABSIZE 的 tab 字元定位值:%s" #, fuzzy #~ msgid "invalid line width: %s" #~ msgstr "無效的寬度:‘%s’" #, fuzzy #~ msgid "invalid tab size: %s" #~ msgstr "無效的類型‘%s’" #, fuzzy #~ msgid "invalid time style format %s" #~ msgstr "%2$s的參數%1$s無效" #, fuzzy #~ msgid "unrecognized prefix: %s" #~ msgstr "無法識別的選項‘-%c’" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "LS_COLORS 環境變數中存在無法分析的值" #, fuzzy #~ msgid "cannot open directory %s" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "cannot determine device and inode of %s" #~ msgstr "無法將 %s 的檔案指標重新定位" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "無法進入%s目錄" #, fuzzy #~ msgid "cannot compare file names %s and %s" #~ msgstr "要比較的字串為%s及%s。" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "列出 <檔案> 的資訊 (預設為目前的目錄)。\n" #~ "如果不指定 -cftuSUX 或 --sort 任何一個選項,則根據字母大小排序。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all 不隱藏任何以 . 字元開始的項目\n" #~ " -A, --almost-all 列出除了 . 及 .. 以外的任何項目\n" #~ " --author 印出每個檔案的著作者\n" #~ " -b, --escape 以八進位溢出序列表示不可列印的字元\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=大小 區段以指定 <大小> 的位元組為單位\n" #~ " -B, --ignore-backups 不列出任何以 ~ 字元結束的項目\n" #~ " -c 配合 -lt:根據 ctime 排序及顯示 ctime\n" #~ " (檔案狀態最後更改的時間)\n" #~ " 配合 -l :顯示 ctime 但根據名稱排序\n" #~ " 否則 :根據 ctime 排序\n" #, fuzzy #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C 每欄由上至下列出項目\n" #~ " --color[=WHEN] 控制是否使用色彩分辨檔案。WHEN 可以是\n" #~ " ‘never’、‘always’或‘auto’其中之一\n" #~ " -d, --directory 當遇到目錄時列出目錄本身而非目錄內的檔案\n" #~ " -D, --dired 產生適合 Emacs 的 dired 模式使用的結果\n" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f 不進行排序,-aU 選項生效,-lst 選項失效\n" #~ " -F, --classify 加上檔案類型的指示符號 (*/=@| 其中一個)\n" #~ " --format=關鍵字 across -x,commas -m,horizontal -x,long -" #~ "l,\n" #~ " single-column -1,verbose -l,vertical -C\n" #~ " --full-time 即 -l --time-style=full-iso\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all 包括大小為 0 個區段的檔案系統\n" #~ " -B, --block-size=大小 區段以指定 <大小> 的位元組為單位\n" #~ " -h, --human-readable 以容易理解的格式印出檔案系統大小 (例如 1K 234M " #~ "2G)\n" #~ " -H, --si 類似 -h,但以 1000 為單位而不是 1024\n" #, fuzzy #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -g 類似 -l,但不列出擁有者\n" #~ " -G, --no-group 不列出任何有關群組的資訊\n" #~ " -h, --human-readable 以容易理解的格式印出檔案大小 (例如 1K 234M " #~ "2G)\n" #~ " --si 類似 -h,但取 1000 的次方而不是 1024\n" #~ " -H, --dereference-command-line 使用指令列中的符號鏈結指示的真正目的" #~ "地\n" #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=方式 指定在每個項目名稱後加上指示符號 <方式>:\n" #~ " none (預設),classify (-F),file-type (-" #~ "p)\n" #~ " -i, --inode 印出每個檔案的 inode 編號\n" #~ " -I, --ignore=樣式 不印出任何符合 shell 萬用字元 <樣式> 的項目\n" #~ " -k 即 --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l 使用較長格式列出資訊\n" #~ " -L, --dereference 當顯示符號鏈結的檔案資訊時,顯示符號鏈結所指" #~ "示\n" #~ " 的目標而並非符號鏈結本身的資訊\n" #~ " -m 所有項目以逗號分隔,並填滿整行行寬\n" #, fuzzy #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid 類似 -l,但列出 UID 及 GID 編號\n" #~ " -N, --literal 印出未經處理的項目名稱 (例如不特別處理控制字" #~ "元)\n" #~ " -o 類似 -l,但不列出有關群組的資訊\n" #~ " -p, --file-type 加上檔案類型的指示符號 (/=@| 其中一個)\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars 以 ? 字元代替無法列印的字元\n" #~ " --show-control-chars 直接顯示無法列印的字元 (這是預設方式,除非調" #~ "用\n" #~ " 的程式名稱是‘ls’而且是在終端機畫面輸出結" #~ "果)\n" #~ " -Q, --quote-name 將項目名稱括上雙引號\n" #~ " --quoting-style=方式 使用指定的 quoting <方式>顯示項目的名稱:\n" #~ " literal、locale、shell、shell-always、c、" #~ "escape\n" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse 依相反次序排列\n" #~ " -R, --recursive 同時列出所有子目錄層\n" #~ " -s, --size 以區段大小為單位列出所有檔案的大小\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S 根據檔案大小排序\n" #~ " --sort=WORD 以下是可選用的 WORD 和它們代表的相應選項:\n" #~ " extension -X status -c\n" #~ " none -U time -t\n" #~ " size -S atime -u\n" #~ " time -t access -u\n" #~ " version -v use -u\n" #~ " --time=WORD 顯示 WORD 所代表的時間而非修改時間:\n" #~ " atime、access、use、ctime 或 status;加上\n" #~ " --sort=time 選項時會以指定時間作為排序索" #~ "引\n" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=樣式 根據 <樣式> 所代表的格式顯示時間:\n" #~ " full-iso、long-iso、iso、locale、+FORMAT\n" #~ " FORMAT 即是‘date’所用的時間格式;如果 " #~ "FORMAT\n" #~ " 是 FORMAT1FORMAT2,FORMAT1 適用於較" #~ "舊\n" #~ " 的檔案而 FORMAT2 適用於較新的檔案;\n" #~ " 如果 <樣式> 前加上‘posix-’,則只會在不使用\n" #~ " POSIX 語系時使用該 <樣式>\n" #~ " -t 根據修改時間排序\n" #~ " -T, --tabsize=寬度 另行指定 tab 的 <寬度>,而非 8 個字元\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u 配合 -lt:顯示存取時間而且依存取時間排序\n" #~ " 配合 -l:顯示存取時間但根據名稱排序\n" #~ " 否則:根據存取時間排序\n" #~ " -U 不進行排序;依檔案系統原有的次序列出項目\n" #~ " -v 根據版本進行排序\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -f, --fields=LIST 只顯示指定的欄位;同時也印出不含分隔符號的\n" #~ " 每一行,除非使用了 -s 選項\n" #~ " -n (不會作任何處理)\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "預設是不會使用色彩來區別檔案的。此方式等於使用了 --color=none 選項。若使" #~ "用\n" #~ "--color 選項但不指定 WHEN 參數等於 --color=always。當使用 --color=auto " #~ "時,\n" #~ "只當輸出至終端機畫面 (tty) 時才會顯示色彩。\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper 及 Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Stuart Kemp 及 David MacKenzie" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "用法:%s [選項] [檔案]...\n" #~ " 或:%s [選項] --check [檔案]\n" #~ "印出或檢查 %s (%d 位元) 總和檢查值。\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary (DOS/Windows)以二元碼模式將資料輸出至畫面。\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "以下的兩個選項只在驗證總和檢查值時有用:\n" #~ " --status 不顯示任何結果,只用回傳值表示是否成功\n" #~ " -w, --warn 對於每一行含有不正確格式的總和檢查值都顯示警告\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "總和檢查是根據 %s 描述的方法計算出來的。當驗證時,輸入資料必須是此程式以" #~ "往\n" #~ "的輸出結果。預設模式是印出總和檢查值,一個代表檔案類型的字元 (‘*’表示二" #~ "元\n" #~ "碼,‘ ’[空格] 表示文字),及每個 <檔案> 的名稱。\n" #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "%s:找不到正確格式的 %s 總和檢查值" #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s:%lu:該行的 %s 總和檢查值格式不正確" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s:開啟或讀取時發生錯誤\n" #~ msgid "OK" #~ msgstr "正確" #~ msgid "%s: read error" #~ msgstr "%s:讀取時發生錯誤" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s:找不到正確格式的 %s 總和檢查值" #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "警告:無法讀入 %2$d 個%3$s的其中 %1$d 個" #~ msgstr[1] "警告:無法讀入 %2$d 個%3$s的其中 %1$d 個" #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "警告:%2$d 個計算出來的%3$s的其中 %1$d 個並不匹配" #~ msgstr[1] "警告:%2$d 個計算出來的%3$s的其中 %1$d 個並不匹配" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "當驗證總和檢查值時,選項 --binary 及 --text 是沒有意義的" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "選項 --status 只有在驗證總和檢查值時才有意義" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "選項 --warn 只有在驗證總和檢查值時才有意義" #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "用法:%s [選項] [檔案]...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "若目錄不是已經存在則建立目錄。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=模式 設定權限 <模式> (類似 chmod),而不是 rwxrwxrwx 減 " #~ "umask\n" #~ " -p, --parents 需要時建立上層目錄,如目錄早已存在則不當作錯誤\n" #~ " -v, --verbose 每次建立新目錄都顯示訊息\n" #, fuzzy #~ msgid "created directory %s" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "用法:%s [選項] [檔案]...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "以指定的 <名稱> 建立 named pipe (FIFO)。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=模式 指定權限模式 (類似 chmod),而不是 a=rw 減 umask\n" #, fuzzy #~ msgid "invalid mode" #~ msgstr "無效的數字" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "用法:%s [選項]... SET1 [SET2]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "建立指定 <類型> 及 <名稱> 的特殊檔案。\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ "當 <類型> 為 p 時不可指定 MAJOR 及 MINOR,否則它們是必須指定的。\n" #~ "<類型> 可以是:\n" #~ "\n" #~ " b 建立 (有緩衝的) 區塊特殊檔案\n" #~ " c, u 建立 (沒有緩衝的) 字元特殊檔案\n" #~ " p 建立 FIFO 特殊檔案\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "建立區塊特殊檔案時,必需指定 major 和 minor 裝置編號" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "無效的開始行號:‘%s’" #, fuzzy #~ msgid "block special files not supported" #~ msgstr "區塊特殊檔案" #, fuzzy #~ msgid "character special files not supported" #~ msgstr "字元特殊檔案" #, fuzzy #~ msgid "invalid major device number %s" #~ msgstr "無效的開始行號:‘%s’" #, fuzzy #~ msgid "invalid minor device number %s" #~ msgstr "無效的開始行號:‘%s’" #, fuzzy #~ msgid "invalid device %s %s" #~ msgstr "%2$s的參數%1$s無效" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "%2$s的參數%1$s無效" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "用法:%s [選項]... [檔案]\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "重複的行數過多" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "無法保留 %s 的時間" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "將 <來源> 名稱更改為 <目的地> 名稱,或將 <來源> 檔案移動至 <目錄>。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=CONTROL] 為每個已存在的目的地檔案建立備份檔\n" #~ " -b 類似 --backup,但不接受任何參數\n" #~ " -f, --force 覆寫檔案前不會進行確認,等於 --reply=yes\n" #~ " -i, --interactive 覆寫檔案前必須先確認,等於 --reply=query\n" #, fuzzy #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --reply={yes,no,query} 指定如何處理已存在的目的地檔案\n" #~ " --strip-trailing-slashes 移除參數中所有 <來源> 檔案/目錄末端的斜號\n" #~ " -S, --suffix=後置字串 自行指定備份檔的 <後置字串>\n" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=目錄 將所有 <來源> 檔案/目錄移動至 <目錄>\n" #~ " -u, --update 只在 <來源> 檔案比目的地檔案新,或目的地檔" #~ "案\n" #~ " 不存在時才會移動\n" #~ " -v, --verbose 詳細顯示進行的步驟\n" #, fuzzy #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "用法:%s [選項] [檔案]...\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "%2$s的參數%1$s無效" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "無法建立暫存檔" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "無法設定時間" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "將每個 <檔案> 的內容在標準輸出顯示,並加上行號。\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=方式 決定將內容加上行號的 <方式>\n" #~ " -d, --section-delimiter=CC 使用 CC 字元分辨標頭、內容和註腳\n" #~ " -f, --footer-numbering=方式 決定將註腳加上行號的 <方式>\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=方式 決定將標頭加上行號的 <方式>\n" #~ " -i, --page-increment=數字 每行的行號增加量\n" #~ " -l, --join-blank-lines=行數 將指定 <行數>的空行合併成一行\n" #~ " -n, --number-format=格式 根據 <格式> 加上行號\n" #~ " -p, --no-renumber 每次分頁後不重設行號\n" #~ " -s, --number-separator=字串 以 <字串> 分隔行號和內容\n" # I can't imagine manpage and --help output are so outdated -- Abel #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --starting-line-number=數字 每頁第一行的行號\n" #~ " -w, --number-width=數字 以指定 <數字> 的字元作為顯示行數的寬度\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "預設的選項為 -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn。CC 是兩個用來\n" #~ "分辨每頁的標頭、內容和註腳的字元;如果沒有指定第二個字元則表示是 :。\n" #~ "請輸入 \\\\ 表示 \\ 字元。<方式> 可以是以下其中一個:\n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a 每一行都加上行號\n" #~ " t 只有非空白的行才加上行號\n" #~ " n 每一行都不加行號\n" #~ " p正規表示式 只有符合 <正規表示式> 的每一行才加上行號\n" #~ "\n" #~ "<格式> 可以是以下其中一個:\n" #~ " ln 向左對齊,前面不加零補位\n" #~ " rn 向右對齊,前面不加零補位\n" #~ " rz 向右對齊,前面加零補位\n" #, fuzzy #~ msgid "line number overflow" #~ msgstr "欄位是 0" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "無效的欄位號碼:‘%s’" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "無效的數字" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "欄位規格中含有無效的檔案編號:‘%s’" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "無效的開始行號:‘%s’" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "無效的行號增加值:‘%s’" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "無效的空白行數目:‘%s’" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "無效的行號欄位寬度:‘%s’" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "無效的行號增加值:‘%s’" #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s [檔案]...\n" #~ " 或:%s [選項]\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "參數過多" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "無法保留%s的時間" #, fuzzy #~ msgid "ignoring input and appending output to %s" #~ msgstr "無法更改%s的擁有者和/或所屬群組" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "用法:%s [選項]... [檔案]...\n" #~ " 或:%s --traditional [檔案] [[+]偏移值 [[+]標號]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "以明確方式 (預設為八進位數字) 表示 <檔案> 的內容。當指定多於一個 <檔案> " #~ "時,\n" #~ "會以指定的次序將檔案內容合併。如果沒有指定 <檔案> 或 <檔案> 是 -,則由標" #~ "準\n" #~ "輸入讀取資料。\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "長選項必須用的參數在使用短選項時也是必須的。\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=RADIX 決定基準位址的單位\n" #~ " -j, --skip-bytes=位元組 先略過指定 <位元組> 的輸入資料\n" #, fuzzy #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=位元組 限制傾印的輸入資料 <位元組> 數目\n" #~ " -s, --strings[=位元組] 只印出不少於指定 <位元組> 大小的字串常數\n" #~ " -t, --format=格式 選擇輸出的 <格式>\n" #~ " -v, --output-duplicates 不使用 * 表示每行重複的資料\n" #~ " -w, --width[=位元組] 每行顯示指定的 <位元組> 數目\n" #~ " --traditional 接受舊式的選項\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "舊式的規格可以混合使用,而且效果會累積:\n" #~ " -a 等於 -t a, 顯示 ASCII 字元或以 ASCII 表示的控制字元\n" #~ " -b 等於 -t oC, 顯示八進位位元組\n" #~ " -c 等於 -t c, 顯示 ASCII 字元或反斜號溢出序列\n" #~ " -d 等於 -t u2, 顯示十進位 unsigned short\n" #, fuzzy #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f 等於 -t fF, 顯示浮點數\n" #~ " -h 等於 -t x2, 顯示十六進位 short integer\n" #~ " -i 等於 -t d2, 顯示十進位 short integer\n" #~ " -l 等於 -t d4, 顯示十進位 long integer\n" #~ " -o 等於 -t o2, 顯示八進位 short integer\n" #~ " -x 等於 -t x2, 顯示十六進位 short integer\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "對於舊式的語法 (第二種調用的格式),<偏移值> 等於‘-j <偏移值>’。<標號>\n" #~ "是第一個位元組的虛擬地址(本來是 0),會在傾印資料時相應增加。對於 <偏移值" #~ ">\n" #~ "和 <標號>,前面加上 0x 或 0X 表示是十六進位數字;後面加上 . 表示是八進位\n" #~ "數字,加上 b 則表示乘以 512。\n" #~ "\n" #~ "<格式> 可以是下列一個或多個的規格:\n" #~ "\n" #~ " a ASCII 字元或以 ASCII 字元代表的控制字元\n" #~ " c ASCII 字兀或反斜號溢出序列\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[大小] 有正負號的十進位數,每個整數佔指定 <大小> 的位元組\n" #~ " f[大小] 浮點數,每個整數佔指定 <大小> 的位元組\n" #~ " o[大小] 八進位數,每個整數佔指定 <大小> 的位元組\n" #~ " u[大小] 無正負號的十進位數,每個整數佔指定 <大小> 的位元組\n" #~ " x[大小] 十六進位數,每個整數佔指定 <大小> 的位元組\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "<大小> 是一個數字。當 <格式> 是 doux 其中之一時,<大小> 也可以是:表示\n" #~ "sizeof(char) 的 C、表示 sizeof(short) 的 S、表示 sizeof(int) 的 I 或\n" #~ "表示 sizeof(long) 的 L。如果 <格式> 是 f,<大小> 可以是表示 sizeof" #~ "(float)\n" #~ "的 F、表示 sizeof(double) 的 D 或表示 sizeof(long double) 的 L。\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "RADIX 的選擇為:d 表示十進位,o 表示八進位,h 表示十六進位,或 n 表示\n" #~ "不顯示基準位址。<位元組> 可以是前置 0x 或 0X 的十六進位數字;如果 <位元組" #~ ">\n" #~ "後加上 b 字元表示將數字乘以 512,加上 k 表示乘以 1024,加上 m 表示乘以\n" #~ "1048576。在任何 <格式> 後加上 z 字元會在每行輸出後顯示相應的可列印字元。" #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ " \n" #~ "--string 不加數字表示字串長度是 3。--width 不加數字表示寬度是 32。預設\n" #~ "od 使用的選項是 -A o -t d2 -w 16。\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "無效的類型‘%s’" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "‘%s’是無效的類型;\n" #~ "此系統不支援 %lu 位元組的整數" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "‘%s’是無效的類型;\n" #~ "此系統不支援 %lu 位元組的浮點數" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "類型‘%2$s’中含有無效的字元‘%1$c’。" #~ msgid "cannot skip past end of combined input" #~ msgstr "無法移至合併後的輸入資料的末端之後" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "輸出位址的基數‘%c’是無效的;基數必須是 [doxn] 四個字元其中之一" #~ msgid "no type may be specified when dumping strings" #~ msgstr "傾印字串時不能指定類型" #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "在相容性模式下,最多只能有三個參數" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "警告:寬度 %lu 是無效的;以 %d 代替" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d:格式=\"%s\" 寬度=%d\n" #~ msgid "standard input is closed" #~ msgstr "已關閉標準輸入" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "將每個 <檔案> 相應的每一行用 TAB 隔開,在標準輸出中並排顯示。\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=列表 反覆使用 <列表> 中的字元代替 TAB\n" #~ " -s, --serial 每次合併一個檔案中的每一行,而非所有檔案的某一" #~ "行\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "用法:%s [選項]... [檔案]...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "類型‘%2$s’中含有無效的字元‘%1$c’。" #, fuzzy #~ msgid "empty file name" #~ msgstr "普通空白檔案" #, fuzzy #~ msgid "Directory: " #~ msgstr "目錄" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "用法:%s [選項]... [檔案]...\n" #, fuzzy #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "使用選項 --string 時不能再指定檔案" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "‘--pages=開始頁碼[:結束頁碼]’缺少了參數" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "無效的類型‘%s’" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "‘-l 每頁行數’的行數無效:‘%s’" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "‘-N 行號’的開始行號無效:‘%s’" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "‘-o 邊界’的字元偏移值無效:‘%s’" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "‘-w 頁寬’的字元數目無效:‘%s’" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "‘-W 頁寬’的字元數目無效:‘%s’" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "並排列印時不能同時指定欄位數目。" #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "不能同時指定橫向列印與並排列印。" #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "參數‘%2$s’含有多餘的字元‘-%1$c’或無效的數字" #~ msgid "page width too narrow" #~ msgstr "頁面太窄" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "欄位是 0" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "將 <檔案> 分頁或分欄以便列印。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +開始頁碼[:結束頁碼], --pages=開始頁碼[:結束頁碼]\n" #~ " 只印出由 <開始頁碼> 至 <結束頁碼> 的每一頁\n" #~ " -欄數, --columns=欄數\n" #~ " 將輸出分為指定的 <欄數> 顯示,而每一欄都是向下列印" #~ "的,\n" #~ " 除非使用 -a 選項。它也會平均分佈每頁中所有欄位的行" #~ "數。\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across 印出內容時會先橫跨所有欄位 (橫向列印),並非印完一欄" #~ "才\n" #~ " 跳至第二欄繼續列印;此選項需要配合 -欄數 使用\n" #~ " -c, --show-control-chars\n" #~ " 使用 ^ 符號 (^G) 或反斜號加八進位數字顯示無法列印的字" #~ "元\n" #~ " -d, --double-space\n" #~ " 隔行顯示結果\n" # -F and -f are just the same, help text is ambiguous -- maddog #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=格式\n" #~ " 使用 <格式> 顯示標頭的日期\n" #~ " -e[字元[寬度]], --expand-tabs[=字元[寬度]]\n" #~ " 將輸入資料中的 <字元> (預設為 TAB) 轉換為指定 <寬度> " #~ "的\n" #~ " 空格數目 (預設為 8)\n" #~ " -F, -f, --form-feed\n" #~ " 使用 form feed 而不是 newline 字元來分頁 (使用此選項\n" #~ " 時只會印出三行標頭,否則會印出五行標頭再加註腳)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h 標頭文字, --header=標頭文字\n" #~ " 每頁的標頭使用置中的 <標頭文字> 代替檔案名稱;-h " #~ "\"\"\n" #~ " 表示空白字串,不要使用 -h\"\" (留意空格)\n" #~ " -i[字元[寬度]], --output-tabs[=字元[寬度]]\n" #~ " 將指定 <寬度> 的空格轉換為 <字元> (預設為 TAB)\n" #~ " -J, --join-lines 將每行資料完整地合併;會關閉 -W 選項將每行截斷的效" #~ "果;\n" #~ " 不將每欄對齊;--sep-string[=字串] 選項可設定分隔字串\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l 每頁行數, --length=每頁行數\n" #~ " 設定每頁的總行數 (預設為 66)\n" #~ " (預設可顯示資料內容的行數為 56,使用 -F 選項時為 63)\n" #~ " -m, --merge 並排顯示所有檔案 (每欄一個檔案);會將資料截短至符合\n" #~ " 欄寬,但使用 -J 選項則不會截短任何一行\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEP[位數]], --number-lines[=SEP[位數]]\n" #~ " 加上行號;行號由指定 <位數> 的數字(預設為 5)加上 SEP " #~ "字\n" #~ " 元 (預設為 TAB) 組成;計算行號時會以每個檔案第一行開" #~ "始\n" #~ " -N 行號, --first-line-number=行號\n" #~ " 指定每個檔案第一行的 <行號> (請參考 +開始頁碼 的說" #~ "明)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o 邊界, --indent=邊界\n" #~ " 每行前先加上 <邊界> 所指定的空格數目(預設為 0);不會\n" #~ " 影響 -w 或 -W 選項;<邊界> 空格數目會加至 <頁寬> 的數" #~ "目\n" #~ " -r, --no-file-warnings\n" #~ " 無法開啟檔案時不會印出警告訊息\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[字元],--separator[=字元]\n" #~ " 以一個字元分隔欄位,當不使用 -w 選項時預設字元為\n" #~ " ,否則不使用任何分隔字元\n" #~ " 除非使用了 -w 選項,否則 -s[字元] 會防止以下三種\n" #~ " 和欄位有關的選項截斷每行的資料: -欄位、-a -欄位、\n" #~ " -m\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -S字串, --sep-string[=字串]\n" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " 以 <字串> 分隔欄位。\n" #~ " 不使用 -S 選項時,預設的分隔字串為:使用 -J 選項時是\n" #~ " ,否則是 <空格> (即 -S\" \");此選項不會影響其它" #~ "和\n" #~ " 欄位有關的選項\n" #~ " -t, --omit-header 不印出標頭和註腳\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " 不印出任何標頭和註腳,不進行任何因輸入檔的 form feed\n" #~ " 字元而起的分頁操作\n" #~ " -v, --show-nonprinting\n" #~ " 使用反斜號加八進位數字的表示法顯示無法列印的字元\n" #~ " -w 頁寬, --width=頁寬\n" #~ " 當顯示多欄的文字時設定 <頁寬> (預設為 72 字元);-s[字" #~ "元]\n" #~ " 會關閉此效果\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W 頁寬, --page-width=頁寬\n" #~ " 設定每頁的 <頁寬> (預設為 72 個字元);任何一行太長都" #~ "會\n" #~ " 強行截短至符合頁寬,除非同時使用 -J 選項;不會影響 -" #~ "S\n" #~ " 或 -s 選項\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "當 nn <= 10 (配合 -F 選項時 nn <= 3) 的時候,使用 -l nn 選項即表示 -T 選" #~ "項\n" #~ "已生效。如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s [格式] [參數]...\n" #~ " 或:%s [選項]\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a 響聲 (BEL)\n" #~ " \\b 倒退字元 (backspace)\n" #~ " \\c 立刻終止輸出任何內容\n" #~ " \\f 換頁字元 (form feed)\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n 換行字元 (new line)\n" #~ " \\r 復位字元 (return)\n" #~ " \\t 水平定位字元 (tab)\n" #~ " \\v 垂直定位字元\n" #, fuzzy #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "無效的字元種類‘%s’" #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "無效的寬度:‘%s’" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "無效的寬度選項:‘%s’" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s:無效的欄位規格‘%s’" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (對於正規表示式‘%s’)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "用法:%s [選項]... [輸入]... (沒有 -G)\n" #~ " 或:%s -G [選項]... [輸入 [輸出]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "顯示輸入檔中所有字詞排列後的索引,並包括該字詞前後的文字。\n" #~ "\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀入資料。\n" #~ "預設使用‘-F /’選項。\n" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "無效的寬度:‘%s’" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "無法更改%s的所屬群組為 %s\n" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "無法取得%s的屬性" #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "非選項的參數過多" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "用法:%s [選項]... [檔案]...\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "無法更改%s的所屬群組為 %s\n" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "%s的所在裝置或 inode 改變了" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "無法建立目錄%s" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "警告:發現循環的目錄架構。\n" #~ "這幾乎可以肯定檔案系統已經損壞。\n" #~ "** 請通知系統管理員。**\n" #~ "以下的目錄是循環的一部份:\n" #~ " %s\n" #, fuzzy #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "%s: descend into directory %s? " #~ msgstr "無法進入%s目錄" #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s:是否移除有防寫保護的%s%s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s:是否移除%s%s? " #, fuzzy #~ msgid "removed directory: %s\n" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "無法更改%s的所屬群組為 %s\n" #, fuzzy #~ msgid "cannot remove directory %s" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "用法:%s [選項]... [檔案]...\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "移除指定的 <檔案>。\n" #~ "\n" #~ " -d, --directory 移除可能仍有資料的目錄 (只限最大權力使用者使用)\n" #~ " -f, --force 略過不存在的檔案,不顯示任何訊息\n" #~ " -i, --interactive 進行任何移除操作前必須先確認\n" #~ " -r, -R, --recursive 同時移除該目錄下的所有目錄層\n" #~ " -v, --verbose 詳細顯示進行的步驟\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "要移除第一個字元為‘-’的檔案 (例如‘-foo’),請使用以下其中一種方法:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "請注意,如果使用 rm 來移除檔案,通常仍可以將該檔案恢復原狀。如果想保證\n" #~ "該檔案的內容無法還原,請考慮使用 shred。\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s:是否移除%s%s? " #, fuzzy #~ msgid "removing directory, %s" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "用法:%s [選項]... [檔案]...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "如果 <目錄> 沒有資料則移除該目錄。\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " 忽略任何因目錄仍有資料而造成的錯誤\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents 移除 <目錄>,然後嘗試移除指定路徑中的所有上層目錄。例" #~ "如:\n" #~ " ‘rmdir -p a/b/c’的效果等於‘rmdir a/b/c a/b a’。\n" #~ " -v, --verbose 處理每個目錄時都顯示訊息\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "無法保留%s的時間" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "無法取得 %s 的屬性" #, fuzzy #~ msgid "no command specified" #~ msgstr "未指定進程編號" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "無法保留%s的時間" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "無法保留%s的時間" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "無法取得%s的屬性" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "無法取得%s的屬性" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "無法保留%s的時間" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "用法:%s [選項]... [輸入]... (沒有 -G)\n" #~ " 或:%s -G [選項]... [輸入 [輸出]]\n" #, fuzzy #~ msgid "invalid floating point argument: %s" #~ msgstr "無效的開始行號:‘%s’" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "無效的類型‘%s’" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "後置字串含有過多的 %% 字串轉換規格" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "無效的類型‘%s’" #, fuzzy #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "傾印字串時不能指定類型" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s [檔案]...\n" #~ " 或:%s [選項]\n" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "無法改變所屬群組至沒有名稱的群組" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "不可同時省略使用者和所屬群組" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "不可同時省略使用者和所屬群組" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "用法:%s [選項] 檔案 [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "重複覆寫 <檔案>,使得即使是昂貴的硬體偵測儀器也難以將資料復原。\n" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force 有需要時強迫程式可寫入檔案\n" #~ " -n, --iterations=N 自行指定重複覆寫的次數 (預設為 %d 次)\n" #~ " -s, --size=N 覆寫指定的位元組數目 (可接受 K、M、G 等等的單位)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove 覆寫後會截斷及移除該檔案\n" #~ " -v, --verbose 顯示進度\n" #~ " -x, --exact 不將檔案大小增加至最接近的區段大小;如果檔案不是普通檔" #~ "案,\n" #~ " 預設會使用這種模式\n" #~ " -z, --zero 最後一次會使用 0 位元組進行覆寫來隱藏覆寫動作\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "如果 <檔案> 是 -,會覆寫標準輸入的內容。\n" #~ "\n" #~ "如果加上 --remove (-u) 選項表示移除 <檔案>。預設的方式是不移除檔案,\n" #~ "因為覆寫像 /dev/hda 等的裝置檔案是很普遍的,而這些檔案通常不應移除。\n" #~ "當覆寫普通檔案時,絕大多數人都應該使用 --remove 選項。\n" #, fuzzy #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "警告:請注意使用 shred 時有一個很重要的條件:\n" #~ "檔案系統會在原來的位置覆寫指定的資料。傳統的檔案系統符合此條件,但許多較" #~ "新\n" #~ "的檔案系統都不符合條件。以下是會令 shred 無效的檔案系統的例子:\n" #~ "\n" #, fuzzy #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "● 有紀錄結構或是日誌式檔案系統,例如 AIX 及 Solaris 採用的檔案系統 (以及\n" #~ " JFS、ReiserFS、XFS、Ext3 等等)\n" #~ "\n" #~ "● 會重複寫入資料,及即使一部份寫入動作失敗後仍可繼續的檔案系統,例如使用\n" #~ " RAID 的檔案系統\n" #~ "\n" #~ "● 會不時進行快照紀錄的檔案系統,例如 Network Applicance 的 NFS 伺服器\n" #~ "\n" #, fuzzy #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "● 會將快取記憶放入暫存位置的檔案系統,像 NFS 第 3 版本的用戶端程式\n" #~ "\n" #~ "● 會壓縮資料的檔案系統\n" #~ "\n" #~ "另外,檔案系統的備份及遠端的 mirror 都可能擁有該檔案的複製本,這些複製本\n" #~ "都是無法移除的,而且可以用來將以 shred 處理過的檔案恢復原狀。\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s:fdatasync 發生錯誤" #~ msgid "%s: fsync failed" #~ msgstr "%s:fsync 發生錯誤" #~ msgid "%s: cannot rewind" #~ msgstr "%s:無法向後搜尋" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%1$s:%3$lu 次之第 %2$lu 次 (%4$s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s:在 %s 位置寫入資料時發生錯誤" #~ msgid "%s: lseek failed" #~ msgstr "%s:lseek 發生錯誤" #~ msgid "%s: file too large" #~ msgstr "%s:檔案過大" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%1$s:%3$lu 次之第 %2$lu 次 (%4$s)...%5$s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%1$s:%3$lu 次之第 %2$lu 次 (%4$s)...%5$s/%6$s %7$d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s:fstat 發生錯誤" #~ msgid "%s: invalid file type" #~ msgstr "%s:檔案類型不正確" #~ msgid "%s: file has negative size" #~ msgstr "%s:檔案的大小為負數" #~ msgid "%s: error truncating" #~ msgstr "%s:截斷檔案時發生錯誤" #~ msgid "%s: fcntl failed" #~ msgstr "%s:fcntl 發生錯誤" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "" #~ "%s:不能將只可加上資料的檔案描述子 (file descriptor) 進行 shred 動作" #~ msgid "%s: removing" #~ msgstr "%s:正在移除" #~ msgid "%s: renamed to %s" #~ msgstr "%s:更改名稱為 %s" #~ msgid "%s: failed to remove" #~ msgstr "%s:無法移除" #~ msgid "%s: removed" #~ msgstr "%s:已經移除" #~ msgid "%s: failed to close" #~ msgstr "%s:無法關閉" #~ msgid "%s: failed to open for writing" #~ msgstr "%s:無法開啟來寫入資料" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "正在關閉輸出檔%s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "用法:%s [選項]... [輸入]... (沒有 -G)\n" #~ " 或:%s -G [選項]... [輸入 [輸出]]\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "在標準輸出中顯示每個 <檔案> 每一行中指定的部份。\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "-l 或 -t 選項使用了多於一次" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "輸入旗標無效:%s" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "無效的寬度:‘%s’" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "正在關閉輸出檔%s" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "出現多餘的參數 %s" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "無效的欄位號碼:‘%s’" #, fuzzy #~ msgid "cannot read realtime clock" #~ msgstr "無法建立鏈結%s" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "將所有 <檔案> 內容合併和排序,並在標準輸出顯示結果。\n" #~ "\n" #~ "排序選項:\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks 忽略每行開始的空白字元\n" #~ " -d, --dictionary-order 只考慮空白字元、英文字和數字\n" #~ " -f, --ignore-case 排序前先將小寫字元轉換為大寫\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort 以普通數值的方式作比較\n" #~ " -i, --ignore-nonprinting 只考慮可列印的字元\n" #~ " -M, --month-sort 比較月份: (不明) <‘JAN’< ... <‘DEC’\n" #~ " -n, --numeric-sort 將字串轉換為數值來作比較\n" #~ " -r, --reverse 以相反的次序排列\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "其它選項:\n" #~ "\n" #~ " -c, --check 只檢查輸入資料是否排列好,不會真正將資料排序\n" #~ " -k, --key=位置1[,位置2] 排序索引由 <位置1> 的欄位開始,在 <位置2> 的\n" #~ " 欄位結束 (1 表示第一個欄位)\n" #~ " -m, --merge 只合併已經排序的檔案;不分別排列每個檔案的內" #~ "容\n" #~ " -o, --output=FILE 將結果寫入 <檔案> 而並非在標準輸出顯示\n" #~ " -s, --stable 不進行最後的整行比較排序\n" #~ " -S, --buffer-size=大小 指定記憶緩衝區的 <大小>\n" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP 使用 SEP 作為分隔字串,而並非一組空白字" #~ "元\n" #~ " -T, --temporary-directory=目錄 自行指定暫存 <目錄>,而非 $TMPDIR 或 %" #~ "s\n" #~ " 多次使用此選項可指定多個目錄\n" #~ " -u, --unique 配合 -c:嚴格檢查資料是否依次序排列\n" #~ " 沒有 -c:遇到多行相同的資料時只顯示第一" #~ "行\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated 以位元組 0 而非 newline 字元作為每行的結束字" #~ "元\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "<位置> 的格式是 F[.C][OPTS],其中 F 是欄位編號,C 是該欄的字元位置。OPTS\n" #~ "是一個或多個單字元的排序選項,這些專用的選項會取代該排序索引的一般排序\n" #~ "選項。如果沒有指定排序索引,則以整行的內容作為索引。\n" #~ "\n" #~ "<大小> 可以加上如下的單位:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "%% = 1%% 記憶體,b=1,K=1024 (預設值),還有 M、G、T、P、E、Z、Y 如此類" #~ "推。\n" #~ "\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ "\n" #~ "*** 警告 ***\n" #~ "和語系有關的環境變數會影響排序結果。\n" #~ "如果要以位元組數值作為排列次序,請設定環境變數 LC_ALL=C。\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "正在寫入 %s" #~ msgid "cannot create temporary file" #~ msgstr "無法建立暫存檔" #~ msgid "open failed" #~ msgstr "開啟時發生錯誤" #, fuzzy #~ msgid "fflush failed" #~ msgstr "關閉時發生錯誤" #~ msgid "close failed" #~ msgstr "關閉時發生錯誤" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "開啟時發生錯誤" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "無法建立暫存檔" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "無法建立暫存檔" #~ msgid "write failed" #~ msgstr "寫入時發生錯誤" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "無法建立目錄%s" #~ msgid "stat failed" #~ msgstr "stat 時發生錯誤" #~ msgid "read failed" #~ msgstr "讀入時發生錯誤" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s:次序不正確:" #~ msgid "standard error" #~ msgstr "標準錯誤輸出" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s:無效的欄位規格‘%s’" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s:‘%s’開始部份的數字無效" #~ msgid "invalid number after `-'" #~ msgstr "‘-’後的數字無效" #~ msgid "invalid number after `.'" #~ msgstr "‘.’後的數字無效" #~ msgid "stray character in field spec" #~ msgstr "欄位規格出現不合法的字元" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "指定了多於一個目的地目錄" #~ msgid "invalid number at field start" #~ msgstr "欄位規格開始部份的數字無效" #~ msgid "field number is zero" #~ msgstr "欄位是 0" #~ msgid "character offset is zero" #~ msgstr "字元偏移值是 0" #~ msgid "invalid number after `,'" #~ msgstr "‘,’後的數字無效" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "使用 -c 時不允許指定額外的參數‘%s’" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "用法:%s [選項] [輸入 [前置字串]]\n" #, fuzzy #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "將 <輸入> 資料分割為固定大小的部份,並將結果寫入‘<前置字串>aa’、\n" #~ "‘<前置字串>ab’等等;預設的 <前置字串> 為‘x’。如果沒有指定 <輸入>\n" #~ "或 <輸入> 是 -,則由標準輸入讀入資料。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N 後置字串的長度為 N (預設值是 %d)\n" #~ " -b, --bytes=大小 指定每個輸出檔的 <大小>,以位元組為單位\n" #~ " -C, --line-bytes=大小 每個輸出檔放入某行數的完整資料,但 <大小> 不會\n" #~ " 超出指定位元組數目\n" #~ " -l, --lines=行數 每個輸出檔放入指定 <行數> 的資料\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose 開啟每個輸出檔之前都在標準錯誤輸出顯示訊息\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "<區段數目> 及 <位元組> 可以加上以下的單位:\n" #~ "xM=M,c=1,w=2,b=512,kB=1000,K=1024,MB=1000000,M=1048576,\n" #~ "GB=1000*1000*1000,G=1024*1024*1024,還有 T/P/E/Z/Y 如此類推。\n" #~ "每個 <關鍵字> 可以是:\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "正在建立檔案‘%s’\n" #~ msgid "cannot split in more than one way" #~ msgstr "不能用超過一種方式進行分割" #~ msgid "%s: invalid suffix length" #~ msgstr "%s:無效的後置字串長度" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s:無效的位元組數目" #~ msgid "%s: invalid number of lines" #~ msgstr "%s:無效的行數" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "%s:數字‘%.*s’過大" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "無效的行數" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s:無法識別的選項‘%c%s’\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s:檔案類型不正確" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "字串末端的反斜號溢出序列無效" #, fuzzy #~ msgid "cannot read file system information for %s" #~ msgstr "無法將 %s 的檔案指標重新定位" #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "用法:%s [選項] [檔案]...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "適用於擷取檔案資訊 (即是不使用 --filesystem 選項) 的格式:\n" #~ "\n" #~ " %A - 以容易理解的方式表示存取權限\n" #~ " %a - 以八進位數字方式表示存取權限\n" #~ " %b - 佔用的磁碟區段數目\n" #, fuzzy #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %D - 以十六進位表示的裝置號碼\n" #~ " %d - 以十進位表示的裝置號碼\n" #~ " %F - 檔案類型\n" #~ " %f - 以十六進位表示的檔案類型/存取權限\n" #~ " %G - 所屬群組的名稱\n" #~ " %g - 所屬群組的號碼\n" #, fuzzy #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h - 實際連結 (hard link) 的數目\n" #~ " %i - Inode 號碼\n" #~ " %N - 加上引號後的檔案名稱,如果是符號鏈結則加上鏈結實際指示的檔案/目錄\n" #~ " %n - 檔案名稱\n" #~ " %o - 最理想的輸出/輸入資料區塊大小\n" #~ " %s - 大小 (以位元組計)\n" #~ " %T - 特殊檔案或裝置檔案的十六進位 minor 號碼\n" #~ " %t - 特殊檔案或裝置檔案的十六進位 major 號碼\n" #, fuzzy #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %U - 擁有者的用戶名稱\n" #~ " %u - 擁有者的用戶識別碼\n" #~ " %X - 由 Epoch 時間至最後存取的時間之間經過的秒數\n" #~ " %x - 最後存取的時間\n" #~ " %Y - 由 Epoch 時間至最後更改的時間之間經過的秒數\n" #~ " %y - 最後更改的時間\n" #~ " %Z - 由 Epoch 時間至最後更改 inode 資訊的時間之間經過的秒數\n" #~ " %z - 最後更改 inode 資訊的時間\n" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "適用於擷取檔案系統資訊的格式:\n" #~ "\n" #~ " %a - 最高權力用戶以外的用戶可使用的空間\n" #~ " %b - 檔案系統的總容量\n" #~ " %c - 檔案系統可接受的最大檔案數目\n" #~ " %d - 檔案系統剩餘可用的最大檔案數目\n" #~ " %f - 檔案系統的剩餘空間\n" #, fuzzy #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i - 以十六進位表示的檔案系統識別碼\n" #~ " %l - 可接受的檔案名稱最大長度\n" #~ " %n - 檔案名稱\n" #~ " %s - 搬移資料時最理想的區段大小\n" #~ " %T - 以容易理解的方式表示的檔案系統類型\n" #~ " %t - 以十六進位表示的檔案系統類型\n" #, fuzzy #~ msgid "only one device may be specified" #~ msgstr "只能指定一個參數" #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "不能同時使用 --string 及 --check 選項" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "參數無效: %s" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "%2$s的參數%1$s不明確" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "無效的欄位規格:‘%s’" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "無效的行號增加值:‘%s’" #, fuzzy #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "無法開啟目錄%s" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "不可同時省略使用者和所屬群組" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "不可同時省略使用者和所屬群組" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "不可同時省略使用者和所屬群組" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "用法:%s [選項]... [檔案]...\n" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "無法建立目錄%s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "印出每個 <檔案> 的總和檢查值及區塊數目。\n" #~ "\n" #~ " -r 令 -s 選項無效,使用 BSD 的演算法,用 1K 的區塊大小\n" #~ " -s, --sysv 使用 System V 的演算法,用 512 個位元組的區塊大小\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "強迫將已更改的資料寫入磁碟,並更新 super block。\n" #~ "\n" #, fuzzy #~ msgid "ignoring all arguments" #~ msgstr "參數過多" #~ msgid " --help display this help and exit\n" #~ msgstr " --help 顯示此求助說明並離開\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version 顯示版本資訊並離開\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "請向 <%s> 回報錯誤。\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "將每個 <檔案> 由最後一行開始在標準輸出顯示出來。\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before 將分隔字串加在前面而不是後面\n" #~ " -r, --regex 將分隔字串理解為正規表示式\n" #~ " -s, --separator=字串 用 <字串> 作為分隔字串,而不是 newline 字元\n" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "關閉時發生錯誤" #, fuzzy #~ msgid "record too large" #~ msgstr "%s:檔案過大" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "無法建立暫存檔" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "無法開啟%s來讀取資料" #, fuzzy #~ msgid "%s: write error" #~ msgstr "寫入時發生錯誤" #~ msgid "separator cannot be empty" #~ msgstr "分隔字串不可以是空的" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "在標準輸出顯示每個 <檔案> 的最後 %d 行。\n" #~ "當指定多於一個 <檔案> 時,會先印出表示每個檔案名稱的標頭。\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry 即使執行 tail 時或一段時間後無法存取某檔案,仍" #~ "然\n" #~ " 不斷嘗試開啟該檔案 ─ 只在配合 -f 選項時有用\n" #~ " -c, --bytes=N 輸出最後的 N 個位元組\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " 當檔案不斷變大時顯示加上的資料;\n" #~ " -f、--follow 及 --follow=descriptor 是相同的\n" #~ " -F 等於 --follow=name --retry\n" # --max-consecutive-size-changes is undocumented -- maddog #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N 顯示最後 N 行而不是 %d 行\n" #~ " --max-unchanged-stats=N\n" #~ " 配合 --follow=name 時,如果檢查 <檔案> N 次\n" #~ " (預設是 %d 次)後檔案大小仍沒有改變,則會\n" #~ " 重新開啟 <檔案> 來檢查檔案是否已被刪除或改名\n" #~ " (此情況在備份紀錄檔時會較常見)\n" #~ " --max-consecutive-size-changes=N\n" #~ " 配合 --follow=name 時,如果 <檔案> 連續 N 次\n" #~ " 改變大小,則認定此檔案已經被改名。\n" #, fuzzy #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID 配合 -f 選項時,tail 會在指定的程序 (識別碼\n" #~ " 為 PID) 退出後中止\n" #~ " -q, --quiet, --silent 不顯示任何標明檔案名稱的標頭\n" #~ " -s, --sleep-interval=S 配合 -f 選項時,每兩次檢查相隔約 S 秒\n" #~ " (預設為 1 秒)\n" #~ " -v, --verbose 一定顯示任何標明檔案名稱的標頭\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "如果 N (行數或位元組數目) 的第一個字元是‘+’,會由每個檔案的第 N 行開始\n" #~ "顯示,否則會顯示每個檔案的最後 N 行。N 可以加上單位:b 是 512,k 是 " #~ "1024,\n" #~ "m 則是 1048576 (1M)。\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "若配合 --follow (-f) 選項,tail 預設會檢查檔案描述子 (file descriptor);\n" #~ "即是說,即使要 tail 的檔案已經改名,tail 仍會繼續檢查該檔案的末端。" #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "如果\n" #~ "確實要檢查檔案名稱而不是檔案描述子時 (例如備份紀錄檔時),這種預設的處理\n" #~ "方式並不適用。在這情況下應使用 --follow=name。這樣會令 tail 檢查指定名稱\n" #~ "的檔案,方法是重複地開啟檔案,看看它是否已被移除和其它程式會否再產生該\n" #~ "檔案。\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "正在關閉 %s (fd=%d)" #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s:無法搜尋至相對位置 %s%s" #, fuzzy #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s:無法搜尋至末端相對位置 %s%s" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "已無法存取‘%s’" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "%s:被一個無法 tail 的檔案取代;不會再檢查此檔案名稱" #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "已經可以存取‘%s’" #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "‘%s’已出現;正在檢查新檔案的末端" #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "‘%s’已被取代;正在檢查新檔案的末端" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "無法更改%s的擁有者和/或所屬群組" #~ msgid "%s: file truncated" #~ msgstr "%s:檔案被截斷了" #~ msgid "no files remaining" #~ msgstr "已沒有任何剩餘的檔案" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "%s:無法檢查此類檔案的末端;不會再檢查此檔案名稱" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "%s 過長" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s:開啟檔案前 stat 資料沒有改變的最大次數無效" #~ msgid "%s: invalid PID" #~ msgstr "%s:無效的 PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s:無效的秒數" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "警告:只有檢查檔案名稱時 --retry 選項才會有效" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "警告:會忽略 PID;--pid=PID 選項只在不斷檢查檔案時才會有效" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "警告:此系統不支援 --pid=PID 選項" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "無法建立暫存檔" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "如果沒有指定<檔案>或<檔案>是 -,則由標準輸入讀取資料。\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "%2$s的參數%1$s不明確" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "數字 %s 無效" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s:無效的正規表示式:%s" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "不明的系統錯誤" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s:無效的正規表示式:%s" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "參數過多" #, fuzzy #~ msgid "creating %s" #~ msgstr "正在建立檔案‘%s’\n" #, fuzzy #~ msgid "cannot touch %s" #~ msgstr "無法對‘%s’執行輸出入控制 (ioctl)" #~ msgid "setting times of %s" #~ msgstr "正在設定%s的時間" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a 只更改存取時間\n" #~ " -c, --no-create 不建立任何檔案\n" #~ " -d, --date=字串 使用 <字串> 所表示的時間而不是目前的時間\n" #~ " -f (此選項不作處理)\n" #~ " -m 只更改修改時間\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=檔案 使用指定 <檔案> 的時間屬性而非目前的時間\n" #~ " -t STAMP 使用 [[CC]YY]MMDDhhmm[.ss] 格式的時間而非目前的時" #~ "間\n" #~ " --time=WORD 使用 WORD 指定的時間:access、atime、use 都等於 -" #~ "a\n" #~ " 選項的效果,而 modify、mtime 等於 -m 選項的效" #~ "果\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "請注意,-d 和 -t 選項可接受不同的時間/日期格式。\n" #, fuzzy #~ msgid "cannot specify times from more than one source" #~ msgstr "不能用超過一種方式進行分割" #, fuzzy #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "警告:‘touch %s’已經過時;請使用‘touch -t %04d%02d%02d%02d%02d.%02d’" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "用法:%s [選項]... SET1 [SET2]\n" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "從標準輸入讀取資料,將字元置換、壓縮、刪除後,在標準輸出顯示結果。\n" #~ "\n" #~ " -c, --complement 以所有不屬於 SET1 的字元 (SET1 的餘集) 取代 " #~ "SET1\n" #~ " -d, --delete 刪除所有 SET1 裡的字元,不進行置換\n" #~ " -s, --squeeze-repeats 對於任何在 SET1 中列出的字元,如果該字元在輸入資" #~ "料\n" #~ " 中連續重複出現,則將該段字元刪除至只剩一個\n" #~ " -t, --truncate-set1 先將 SET1 的長度截至跟 SET2 一樣\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "SET 是以字串方式指定。大部份字元都會直接處理。要解譯的序列包括:\n" #~ "\n" #~ " \\NNN 八進位數字 NNN (1 至 3 個位)所代表的字元\n" #~ " \\\\ 反斜號\n" #~ " \\a 響聲 (BEL)\n" #~ " \\b 倒退字元 (backspace)\n" #~ " \\f 換頁字元 (form feed)\n" #~ " \\n 換行字元 (new line)\n" #~ " \\r 復位字元 (return)\n" #~ " \\t 水平定位字元 (tab)\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v 垂直定位字元 (vertical tab)\n" #~ " 字元1-字元2 由 <字元1> 開始升序排列至 <字元2>\n" #~ " [字元*] 在 SET2 裡重複加上 <字元>,直至符合 SET1 的長度\n" #~ " [字元*重複次數] 重複指定 <字元>,如果 <重複次數> 的第一個字元是 0 則表" #~ "示\n" #~ " <重複次數> 是八進位數字\n" #~ " [:alnum:] 所有英文字及數字\n" #~ " [:alpha:] 所有英文字\n" #~ " [:blank:] 所有水平的空白字元\n" #~ " [:cntrl:] 所有控制字元\n" #~ " [:digit:] 所有數字\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] 所有可列印的字元,不包括空格\n" #~ " [:lower:] 所有小寫英文字母\n" #~ " [:print:] 所有可列印的字元,包括空格\n" #~ " [:punct:] 所有標點符號\n" #~ " [:space:] 所有水平或垂直的空白字元\n" #~ " [:upper:] 所有大寫英文字母\n" #~ " [:xdigit:] 所有十六進位數字\n" #~ " [=CHAR=] 所有和 CHAR 同等的字元\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "置換操作只在沒有指定 -d 選項和 SET1、SET2 同時存在的情況下有效。\n" #~ "-t 選項只能在置換操作時使用。有需要時,SET2 會將它的最後一個字元\n" #~ "重複,直至 SET2 的長度和 SET1 的一樣。" #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "SET2 中的多餘字元會被忽略。\n" #~ "只有 [:lower:] 及 [:upper:] 可保證展開的字元以升序排列;當在 SET2 中\n" #~ "使用作為置換操作的字元時,它們只能一起使用,表示置換大小寫。" #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "若不是\n" #~ "置換或刪除字元,-s 選項只會使用 SET1;另外壓縮字元會使用 SET2,並在\n" #~ "置換或刪除字元後才進行。\n" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "警告:意義不明確的八進位溢出序列 \\%c%c%c 會\n" #~ "\t理解為兩個位元組的序列 \\0%c%c,‘%c’" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "%s:警告:將實際鏈結 (hard link) 連至符號鏈結不是所有系統都適用的功能" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "‘%s-%s’範圍的端點和字元應有的排列次序相反" #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "[c*n] 結構中的重複次數‘%s’無效" #~ msgid "missing character class name `[::]'" #~ msgstr "無效的字元種類名稱‘[::]’" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "缺少了等價字元種類的字元‘[==]’" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "無效的字元種類‘%s’" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s:等價字元種類中的運算符必須是恰好一個字元" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "欄位規格出現不合法的字元" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "重複結構 [c*] 不能在字串 1 出現" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "重複結構 [c*] 只能在字串 2 出現一次" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "進行置換時,[=c=] 表示式不能在字串 2 出現" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "若不截斷(消除) set1,字串 2 不能是空的" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "取字元種類的餘集(complement)作置換時,只能將所有字元映射\n" #~ "至一個字元,即字串 2 只可含有一個字元" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "置換時,可以在字串 2 出現的字元種類只有‘upper’或‘lower’" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "[c*] 結構只有在置換時方可在字串 2 出現" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "置換時必須指定兩個字串" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "刪除但不壓縮重複字時只能指定一個字串" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "[:upper:]、[:lower:]結構的位置沒有對齊" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 檔案名稱\n" #~ " 或:%s 選項\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "用法:%s [選項] [檔案]\n" #~ "將 <檔案> 中所有已進行部份排序的項目聯繫起來,產生新的排列,\n" #~ "而該排列含有 <檔案> 中的所有項目。如果沒有指定 <檔案> 或\n" #~ "<檔案> 是 -,則由標準輸入讀取資料。\n" #~ "\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s:將輸入資料排序時出現迴圈:" #~ msgid "%s: input contains a loop:" #~ msgstr "%s:將輸入資料排序時出現迴圈:" #, fuzzy #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "用法:%s [選項] [檔案]...\n" #, fuzzy #~ msgid "cannot get system name" #~ msgstr "無法建立暫存檔" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "將每個 <檔案> 中的空格轉換為 tab,並在標準輸出顯示結果。\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all 轉換所有空白字元,並非只是每行開始的空白字元\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=數字 將指定 <數字> 的空格轉換為 tab,而非 8 個\n" #~ " -t, --tabs=LIST 用以逗號分隔的數字特別指定 tab 的位置\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "tab 字元寬度 %s 過長" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "用法:%s [選項]... [輸入 [輸出]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "將 <輸入> (預設為標準輸入) 的資料中每行連續相同的資料捨棄至只剩一行,\n" #~ "並在 <輸出> 顯示結果 (預設會在標準輸出顯示結果)。\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count 每行前加上出現次數\n" #~ " -d, --repeated 只印出重複的資料\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=分隔方式]\n" #~ " 印出所有重複的資料\n" #~ " 分隔方式={none(預設)、prepend、separate}\n" #~ " 會使用空行來分隔資料。\n" #~ " -f, --skip-fields=N 不比較最初的 N 個欄位\n" #~ " -i, --ignore-case 比較時忽略大小寫\n" #~ " -s, --skip-chars=N 不比較最初的 N 個字元\n" #~ " -u, --unique 只印出沒有重複的資料\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N 每行比較不多於 N 個字元\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "一個欄位是由一組空白字元加上一組非空白的字元組成的。\n" #~ "當同時指定略過欄位和略過字元不作比較時,會先略過欄位。\n" #~ msgid "too many repeated lines" #~ msgstr "重複的行數過多" #~ msgid "invalid number of fields to skip" #~ msgstr "要略過的欄位數目無效" #~ msgid "invalid number of bytes to skip" #~ msgstr "要略過的位元組數目無效" #~ msgid "invalid number of bytes to compare" #~ msgstr "要比較的位元組數目無效" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "顯示每行重複的資籵又計算該行的重複次數是沒有意義的" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s 檔案\n" #~ " 或:%s 選項\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "透過調用 unlink 函式來移除指定的 <檔案>。\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "無法 unlink %s" #~ msgid "couldn't get boot time" #~ msgstr "無法讀取系統啟動時間" #~ msgid "am" #~ msgstr "上午" #~ msgid "pm" #~ msgstr "下午" #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld 日" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu 個使用者" #~ msgid ", load average: %.2f" #~ msgstr ", 平均負載量: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "用法:%s [選項]... [檔案]\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "根據 <檔案> 的內容,顯示哪些人目然已經登入系統。如果沒有指定,\n" #~ "預設會使用 %s。使用 %s 作為檔案也很普遍。\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "印出每個 <檔案> 的行數、字數及位元組數目,指定多個 <檔案> 時還會印出總" #~ "計。\n" #~ "如果沒有指定 <檔案> 或 <檔案> 是 -,則由標準輸入讀取資料。\n" #~ " -c, --bytes 印出位元組數目\n" #~ " -m, --chars 印出字元數目\n" #~ " -l, --lines 印出行數\n" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length 印出最長一行的字數\n" #~ " -w, --words 印出以空格隔開為標準的字數\n" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "登入用家數目=%lu\n" #~ msgid "NAME" #~ msgstr "名稱" #~ msgid "TIME" #~ msgstr "時間" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "備註" #~ msgid "EXIT" #~ msgstr "離開" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "用法:%s [選項]... 檔案1 檔案2\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: 找不到 UID 為 %lu 的用戶名稱\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "用法:%s [字串]...\n" #~ " 或:%s 選項\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "重複印出同一句指定的 <字串>,如沒有指定則預設為 ‘y’。\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "用法:%s [檔案]...\n" #~ " 或:%s [選項]\n" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "無法更改%s的擁有者和/或所屬群組" #~ msgid "cannot chdir to directory %s" #~ msgstr "無法進入%s目錄" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "無法取得 UID 數值所代表的登入群組" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "這是自由軟體;請參考原始碼的版權聲明。本軟體不提供任何保證,甚至不會包括\n" #~ "可售性或適用於任何特定目的的保證。\n" #~ msgid "closing standard output" #~ msgstr "關閉標準輸出" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "<模式> 由三部份組成:一個或以上的 ugoa 字元、+-= 符號其中一個、\n" #~ "和一個或以上的 rwxXstugo 字元。\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "無法覆寫 %s 目錄" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "警告:--version-control (-V) 選項已經過時;將來的版本隨時可能不再支援\n" #~ "此選項。請使用 --backup=%s。" #~ msgid "symbolic links are not supported on this system" #~ msgstr "此系統不支援符號鏈結" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "使用 --rfc-2822 (-R) 選項時不能再指定輸出格式" #~ msgid "undefined" #~ msgstr "未定義" #~ msgid "cannot get time of day" #~ msgstr "無法讀取時間" #~ msgid "%s+%s records in\n" #~ msgstr "讀入了 %s+%s 個區段\n" #~ msgid "%s+%s records out\n" #~ msgstr "輸出了 %s+%s 個區段\n" #~ msgid "truncated records" #~ msgstr "個被截斷了的區段" #~ msgid "unrecognized operand %s=%s" #~ msgstr "無法識別參數 %s=%s" #~ msgid "file offset out of range" #~ msgstr "檔案內容位置超出範圍以外" #~ msgid "" #~ " -e enable interpretation of backslash escapes\n" #~ " -E disable interpretation of backslash escapes (default)\n" #~ msgstr "" #~ " -e 能夠識別加上反斜號 ‘\\’ 的特殊格式\n" #~ " -E 不能夠識別加上反斜號 ‘\\’ 的特殊格式 (預設使用)\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "‘-LIST’ 選項已經過時;請改用 ‘-t LIST’" #~ msgid "`%s' is too large" #~ msgstr "‘%s’ 過大" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "用法:%s [所有參數皆會被忽略]\n" #~ " 或:%s 選項\n" #~ "簡單地結束程式,並回傳錯誤碼,表示程式失敗。\n" #~ "\n" #~ "以下的選項不可以用簡寫。\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "‘%s’選項已過時;請改用 ‘%s’" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N 可以加上單位:b 表示 512,k 表示 1024,m 表示 1024×1024。\n" #~ msgid "%s: number of bytes is large" #~ msgstr "%s:位元組數目過大" #~ msgid "unrecognized option `-%c'" #~ msgstr "無法識別的選項‘-%c’" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "‘-%s’ 選項已過時;請改用 ‘-%c %.*s%.*s%s’" #~ msgid "cannot print only user and only group" #~ msgstr "不可能同時只顯示用戶和只顯示群組" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "無法得知 %s 的檔案時間" #~ msgid "strip failed" #~ msgstr "strip 失敗" #~ msgid "value %s is so large that it is not representable" #~ msgstr "因為數值 %s 過大,所以無法表示" #~ msgid "invalid field number: `%s'" #~ msgstr "無效的欄位號碼:‘%s’" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "檔案 1 的欄位號碼是無效的:‘%s’" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "檔案 2 的欄位號碼是無效的:‘%s’" #, fuzzy #~ msgid "create symbolic link %s to %s" #~ msgstr "建立連至 %2$s 的符號連結 %1$s" #~ msgid "create hard link %s to %s" #~ msgstr "建立連至%2$s的實際鏈結 (hard link)%1$s" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary 以二元碼模式讀入檔案 (DOS/Windows 平台的預設模" #~ "式)\n" #~ " -c, --check 驗證由指定的清單提供的 %s 檢查值\n" #~ " -t, --text 以文字模式讀入檔案 (預設模式)\n" #~ "\n" #, fuzzy #~ msgid "Only one operand may be specified when using --check." #~ msgstr "使用選項 --check 時只能指定一個參數" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "無法更改%s的權限" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "無法更改%s的權限" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "無法更改%s的權限" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "無法建立目錄%s" #, fuzzy #~ msgid "failed to redirect standard output" #~ msgstr "標準輸出" #~ msgid "skip argument" #~ msgstr "略過參數" #~ msgid "limit argument" #~ msgstr "限制參數" #~ msgid "minimum string length" #~ msgstr "最小字串長度" #~ msgid "width specification" #~ msgstr "寬度規格" #, fuzzy #~ msgid "Page range `%s'" #~ msgstr "多餘的參數‘%s’" #, fuzzy #~ msgid "column count too large" #~ msgstr "%s:數字‘%.*s’過大" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "‘--columns=欄位’的欄位數目無效:‘%s’" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "本程式是自由軟體;你可以根據 Free Software Foundation 所公佈的 GNU\n" #~ "General Public License 第二版或(自由選擇)較新的版本中的條款去重新\n" #~ "散佈及/或修改本軟體。\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "發佈本軟體是希望它會有用,但不會提供任何保證,甚至不會包括可售性或\n" #~ "適用於任何特定目的的保證。詳情請參考 GNU General Public License。\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "你應該已經隨本軟體收到一份 GNU General Public License;否則請寄信至\n" #~ "Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,\n" #~ "MA 02111-1307, USA.\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "無法進入%s目錄" #~ msgid "cannot lstat `.' in %s" #~ msgstr "無法在%s中 lstat‘.’" #~ msgid "cannot lstat %s" #~ msgstr "lstat%s失敗" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "無法進入%s目錄" #~ msgid "cannot remove `.' or `..'" #~ msgstr "無法移除‘.’或‘..’" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "移除指定的 <檔案>。\n" #~ "\n" #~ " -d, --directory 移除可能仍有資料的目錄 (只限最大權力使用者使用)\n" #~ " -f, --force 略過不存在的檔案,不顯示任何訊息\n" #~ " -i, --interactive 進行任何移除操作前必須先確認\n" #~ " -r, -R, --recursive 同時移除該目錄下的所有目錄層\n" #~ " -v, --verbose 詳細顯示進行的步驟\n" #~ msgid "sort size" #~ msgstr "排序記憶緩衝區" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "<大小> 可以加上單位:b 表示 512,k 表示 1K,m 表示 1M。\n" #, fuzzy #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "‘-%d’選項已過時;請使用‘-l %d’" # How come the real behavior of -L is exactly the opposite of what docs # say? -- Abel #, fuzzy #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "顯示檔案或檔案系統的狀態。\n" #~ "\n" #~ " -f, --filesystem 顯示檔案系統的狀態,而不是檔案的狀態\n" #~ " -c --format=格式 使用指定的 <格式> 代替預設的格式\n" #~ " -L, --dereference 讀取鏈結本身的資訊,而非鏈結指示的目標檔案/目錄\n" #~ " -t, --terse 只顯示簡略的資訊\n" #~ msgid "stdin: read error" #~ msgstr "標準輸入:讀取資料時發生錯誤" #, fuzzy #~ msgid "`%s' option is obsolete; use `%s-%c %'" #~ msgstr "‘%s’選項已過時;請使用‘%s-%c %.*s’" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "將每個 <檔案> 的存取及修改時間都更新為目前的時間。\n" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "‘-LIST’選項已過時;請使用‘--first-only -t LIST’" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "‘-%lu’選項已過時;請使用‘-f %lu’" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "警告:以後隨時可能不再支援 -i 選項。請使用 -u。" #~ msgid "program error" #~ msgstr "程式錯誤" #~ msgid "stack overflow" #~ msgstr "堆疊溢位" #~ msgid "too few arguments" #~ msgstr "參數過少" #~ msgid "group number" #~ msgstr "群組代號" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "用法:%s [選項]... LEFT_FILE RIGHT_FILE\n" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "複製多個檔案,但最後的參數%s並非目錄。" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s:分隔符號後面應該是‘+’或‘-’字元" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat、David MacKenzie 及 Jim Meyering" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "每組只能選一項作為 conv 的關鍵字:\n" #~ "{ascii,ebcdic,ibm}、{lcase,ucase}、{block,unblock}、{unblock,sync}" #~ msgid " Type" #~ msgstr " 類型" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "顯示 dircolors 的內部資料庫時不能加上 <檔案> 參數" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "使用 -w數字 時,字元‘w’可以省略不用。\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=大小 印出最初指定 <大小> 的位元組\n" #~ " -n, --lines=行數 印出最初指定 <行數> 而非最初 10 行\n" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "正在安裝多個檔案,但最後的參數%s並非目錄。" #~ msgid "too many non-option arguments" #~ msgstr "非選項的參數過多" #~ msgid "too few non-option arguments" #~ msgstr "非選項的參數過少" #~ msgid "%s: File exists" #~ msgstr "%s:檔案已存在" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "用法:%s [選項]... 目標 [鏈結名稱]\n" #~ " 或:%s [選項]... 目標... 目錄\n" #~ " 或:%s [選項]... --target-directory=目錄 目標...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "建立多個鏈結時,最後的參數必需為目錄" #~ msgid "file" #~ msgstr "檔案" #~ msgid "files" #~ msgstr "檔案" #~ msgid "checksum" #~ msgstr "總和檢查值" #~ msgid "checksums" #~ msgstr "總和檢查值" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "不能同時使用 --string 及 --check 選項" #~ msgid "no files may be specified when using --string" #~ msgstr "使用選項 --string 時不能再指定檔案" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "不能為 fifo 檔案指定 major 和 minor 裝置編號" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "移動多個檔案時,最後的參數必須為目錄。" #~ msgid "old-style offset" #~ msgstr "舊式的偏移量表示法" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "在相容性模式下,第二個運算符號‘%s’是無效的" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "在相容性模式下,最後兩個參數必須是偏移值" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "‘--pages’的頁碼範圍無效:‘%s’" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "‘--pages’的開始頁碼無效:‘%s’" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "‘--pages’的結束頁碼無效:‘%s’" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "‘--pages’的開始頁碼大於結束頁碼" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%Y-%m-%d %H:%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "開始頁碼大於總頁數:‘%d’" #~ msgid "Page %d" #~ msgstr "第 %d 頁" #~ msgid "invalid number" #~ msgstr "無效的數字" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c:在已過時的選項中含有無效的後置字元" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "參數過多;當使用已過時的 tail 選項語法 (%s) 時,不可指定多於一個的檔案\n" #~ "參數。請使用同等的 -n 或 -c 選項。" #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "警告:將兩個或以上的檔案配合已過時的 tail 選項語法 (%s) 不是在所有系統\n" #~ "都通用的。請使用同等的 -n 或 -c 選項。" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s 大於此系統能接受的最大檔案大小" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s:檔案連續改變大小的最大次數無效" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "反斜號溢出序列‘\\%c’無效" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "同時刪除字元和壓縮重複字時必須指定兩個字串" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "壓縮重複字時至少要指定一個字串" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "無效的恆等映射 (identity mapping);進行置換時,對於字串 1 的任何\n" #~ "[:lower:]、[:upper:] 結構,在字串 2 裡都必須有一個相應的結構。\n" #~ "(分別為 [:upper:]、[:lower:]) " #~ msgid "only one argument may be specified" #~ msgstr "只能指定一個參數" #~ msgid "cannot lstat `.'" #~ msgstr "lstat‘.’失敗" #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "%s:目錄%s有防寫保護;是否仍然要進入? " #~ msgid "removing all entries of directory %s\n" #~ msgstr "正在移除目錄%s中的所有項目\n" #~ msgid "directory %s was replaced before being removed" #~ msgstr "正準備移除目錄%s時目錄已被置換" #~ msgid "subdirectory of %s was moved while being removed" #~ msgstr "正準備移除%s的子目錄時該目錄已被移走" #~ msgid " (might be nonempty)" #~ msgstr "(可能仍有資料)" #~ msgid "removing the directory itself: %s\n" #~ msgstr "移除目錄本身:%s\n" #~ msgid "continue? " #~ msgstr "是否繼續? " dc3dd-7.1.614/po/pt.gmo0000644000175000017500000001230211233346647014213 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  ^ pU * ) +.G.v;H/*+Z%8) ' 5+Bn6# $!, No/ NY%t }R !)( " %  $#' &ck BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-04-23 00:02+0100 Last-Translator: Helder Correia Language-Team: Portuguese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=2; plural=(n != 1); BLOCOS e BYTES podem ser seguidos pelos seguintes sufixos multiplicativos: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 e por aí fora para T, P, E, Z, Y. Cadda símbolo CONV pode ser: Cada símbolo OPÇÃO pode ser: append modo acrescentar (sentido só para saída; conv=notrunc sugerido) binary usar E/S binárias para dados direct usar E/S directas para dados erro de pasta a menos que seja uma pasta dsync usar E/S sincronizadas para dados noatime não actualizar o tempo de acesso noctty não atribuir terminal de controlo do ficheiro noerror continuar após erros de leitura sync encher cada bloco de entrada com ibs NULs; quando usado com block ou unblock, encher com espaços em vez de NULs fdatasync escrever fisicamente dados no ficheiro de saída antes de terminar fsync da mesma forma, mas escrever igualmente os meta-dados nofollow não seguir ligações simbólicas nolinks falhar se multiplamente ligado nonblock usar E/S não-bloquantes sync da mesma forma, mas também para meta-dados text usar E/S de texto para dados %s: impossível indexar, %g s, %s/s Infinitivo BTente '%s --help' para mais informações. Erro de sistema desconhecidoUtilização: %s [OPERANDO]... ou: %s OPÇÃO impossível combinar excl e nocreatimpossível obter o estado de %simpossível contornar erro do kernela fechar o ficheiro de entrada %sa apagar o ficheiro de saída %serro de fdatasync para %serro de fsync para %sconversão inválidaopção de entrada inválidanúmero inválido %sopção de saída inválidaopção de estado inválidaerro de excesso de índice ao ler o ficheiro %sa abrir %sa definir opções para %scanal de entrada por omissão (stdin)canal de saída padrão (stdout)operando desconhecido %saviso: a contornar erro de lseek do kernel para o ficheiro (%s) de mt_type=0x%0lx -- ver para a lista de tiposa escrever em %sPRIuMAXtruncating at % bytes in output file %sa truncar aos % bytes no ficheiro de saída %sdc3dd-7.1.614/po/fr.po0000644000175000017500000124343511233346647014051 0ustar amedicoamedico# translation of coreutils-6.11.po to Français # Messages français pour GNU concernant coreutils. # Copyright © 2004, 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Michel Robitaille , traducteur depuis/since 1996. # # kerb , 2008. msgid "" msgstr "" "Project-Id-Version: coreutils-6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-05-31 11:33+0200\n" "Last-Translator: kerb \n" "Language-Team: French \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "n'a pu créer le process pour %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pour en savoir davantage, faites: « %s --help ».\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Usage: %s [OPÉRANDE]...\n" " ou: %s OPTION\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Copier un fichier en le convertissant et le formatant selon les opérandes.\n" "\n" " bs=N forcer ibs=N octets et obs=N octets\n" " cbs=N convertir N octets à la fois\n" " conv=LISTE convertir le fichier selon la LISTE de symboles\n" " séparés par une virgule\n" " count=N copier seulement N blocs à partir de l'entrée\n" " ibs=N lire N octets à la fois\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=FICHIER lire à partir du FICHIER au lieu de l'entrée standard\n" " iflag=FANIONS lire à l'aide de LISTE de symboles séparés par des " "virgules\n" " obs=N écrire N octets à la fois\n" " of=FICHIER écrire dans le FICHIER au lieu de la sortie standard\n" " oflag=FANIONS écrire à l'aide de LISTE de symboles séparés par des " "virgules\n" " seek=N escamoter N blocs de taille « obs » du fichier de sortie\n" " skip=N escamoter N blocs de taille « ibs » du fichier d'entrée\n" " status=noxfer supprimer les statistiques de transfert\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCS et BYTES peuvent être suivis d'un des suffixes multiplicatifs " "suivant:,\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 et ainsi de suite pour T, P, E, Z, Y.\n" "\n" "Chaque mot CLÉ peut être:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat ne pas créer de ficheir de sortie\n" " excl échoue si le fichier de sortie existe déjà\n" " notrunc ne tronque pas le fichier de sortie\n" " ucase change les minuscules en majuscules\n" " swab interchange chaque paire d'octets entrée\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror continue même après des erreurs de lecture\n" " sync remplit chaque bloc lu par des nuls jusqu'à concurrence\n" " de la taille « ibs » ; avec block ou unblock, remplit avec des " "espaces au lieu de nuls\n" " fdatasync écrit physiquement les données en sortie avant la fin\n" " fsync pareil, mais écrit les métadonnées\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Chaque symbole FLAG peut être :\n" "\n" " append mode d'accolage (n'a de sens que pour la sortie ; conv=notrunc " "suggéré)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct utiliser les E/S directes pour les données\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " échec de répertoire à moins qu'un répertoire\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync utilise une E/S synchronisée pour les données\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync identique mais aussi pour les métadonnées\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock utiliser une E/S non bloquante\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime ne met pas à jour la date d'accès\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" " noctty ne pas assigner de terminal contrôleur à partir du fichier\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow ne pas suivre les liens symboliques\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks échoue si multiply-linked\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binaire utiliser les E/S binaires pour les données\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text utiliser les E/S textuelles pour les données\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Expédier le signal %s vers le processus `dd' actif provoque\n" "l'écriture des statistiques sur la sortie d'erreur standard\n" "suivi de la poursuite de la copie.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 enregistrements lus\n" " 18335302+0 enregistrements écrits\n" " 9387674624 octets (9.4 Go) copiés, 34.6279 secondes, 271 Mo/s\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Erreur système inconnue" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% enregistrements lus\n" "%+% enregistrements écrits\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% octet (%s) copié" msgstr[1] "% octets (%s) copiés" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Infinité B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "fermeture du fichier d'entrée %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "fermeture du fichier de sortie %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Produire les suffixes des fichiers épuisés" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "ouverture de %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "ÉCHEC" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "opérande non reconnue %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "date invalide %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "format de date invalide %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "format de date invalide %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "format de date invalide %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "conversion invalide" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "fanion d'entrée invalide" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "fanion de sortie invalide" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "fanion d'état invalide" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "nombre invalide %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "ne peut combiner les options excl et nocreat" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "ne peut combiner les options -e et -i" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "ne peut combiner les options -e et -i" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "ne peut combiner les options -e et -i" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "ne peut combiner les options -e et -i" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "ne peut combiner les options -e et -i" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "AVERTISSEMENT: arrangement pour contourner bug de lseek dans le kernel \n" "pour le fichier (%s)\n" "de type mt_type=0x%0lx -- voir pour la liste des types" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "lecture de %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: ne peut retrouver" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "débordement du décalage lors de la lecture du fichier %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "" "avertissement : décalage(offset) de fichier invalide suite à un échec de " "lecture" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "ne peut après tout contrer une anomalie du kernel" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "initialisation des fanions pour %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "lecture du répertoire %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "lecture du répertoire %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "écriture vers %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync a échoué pour %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "fsync a échoue pour %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "entrée standard" #: src/dc3dd.c:3938 msgid "standard output" msgstr "sortie standard" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "décalage trop grand: ne peut tronquer à la longueur de la recherche=%" " (%lu-byte) blocs" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "ne peut évaluer par fstat() %s" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "troncation à % octets dans le fichier de sortie %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii de l'EBCDIC vers l'ASCII\n" #~ " ebcdic de l'ASCII vers l'EBCDIC\n" #~ " ibm de l'ASCII vers l'EBCDIC en utilisant une table différente\n" #~ " block remplir les enregistrements terminés par un saut de ligne\n" #~ " par des blancs jusqu'à l'obtention de la taille « cbs »\n" #~ " unblock remplacer les blancs de la fin des enregistrements\n" #~ " de taille « cbs » par des sauts de ligne\n" #~ " lcase changer les majuscules en minuscules\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% enregistrement tronqué\n" #~ msgstr[1] "% enregistrements tronqués\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "ne peut combiner n'importe quel des deux de: ascii, ebcdic, ibm" #~ msgid "cannot combine block and unblock" #~ msgstr "ne peut combiner les options block t unblock" #~ msgid "cannot combine lcase and ucase" #~ msgstr "ne peut combiner les options lcase et ucase" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "" #~ "avertissement : décalage(offset) de fichier invalide suite à un échec de " #~ "lecture" #~ msgid "error writing %s" #~ msgstr "Erreur lors de l'écriture %s" #~ msgid "invalid argument %s for %s" #~ msgstr "argument %s invalide pour %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "argument %s ambigu pour %s" #~ msgid "Valid arguments are:" #~ msgstr "Arguments valides sont:" #~ msgid "error closing file" #~ msgstr "erreur à la fermeture du fichier" #~ msgid "write error" #~ msgstr "Erreur d'écriture." #~ msgid "preserving permissions for %s" #~ msgstr "préserve les permissions pour %s" #~ msgid "cannot stat %s" #~ msgstr "ne peut évaluer %s" #~ msgid "regular empty file" #~ msgstr "fichier régulier vide" #~ msgid "regular file" #~ msgstr "fichier régulier" #~ msgid "directory" #~ msgstr "répertoire" #~ msgid "block special file" #~ msgstr "fichier spécial de bloc" #~ msgid "character special file" #~ msgstr "fichier spécial de caractères" #~ msgid "fifo" #~ msgstr "PEPS (FIFO)" #~ msgid "symbolic link" #~ msgstr "lien symbolique" #~ msgid "socket" #~ msgstr "socket" #~ msgid "message queue" #~ msgstr "queue de messages" #~ msgid "semaphore" #~ msgstr "sémaphore" #~ msgid "shared memory object" #~ msgstr "objet de mémoire partagée" #~ msgid "typed memory object" #~ msgstr "objet mémoire typée" #~ msgid "weird file" #~ msgstr "fichier bizarre" #~ msgid "Address family for hostname not supported" #~ msgstr "La famille d'adresses pour le nom de l'hôte n'est pas supporté." #~ msgid "Temporary failure in name resolution" #~ msgstr "Échec temporaire dans la résolution de nom" #~ msgid "Bad value for ai_flags" #~ msgstr "Valeur erronée pour ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Échec non récupérable dans la résolution de nom" #~ msgid "ai_family not supported" #~ msgstr "ai_family non supporté" #~ msgid "Memory allocation failure" #~ msgstr "Échec d'allocation mémoire" #~ msgid "No address associated with hostname" #~ msgstr "Aucune adresse associé avec le nom de l'hôte" #~ msgid "Name or service not known" #~ msgstr "Nom ou service inconnu" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Servname n'est pas supporté avec ai_socktype" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype n'est pas supporté." #~ msgid "System error" #~ msgstr "Erreur système" #~ msgid "Argument buffer too small" #~ msgstr "Le tampon de l'argument est trop petit" #~ msgid "Processing request in progress" #~ msgstr "Requête de traitement en cours" #~ msgid "Request canceled" #~ msgstr "Requête annulée" #~ msgid "Request not canceled" #~ msgstr "Requête non annulée" #~ msgid "All requests done" #~ msgstr "Toutes les requêtes ont été traitées" #~ msgid "Interrupted by a signal" #~ msgstr "Interrompu par un signal" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Paramètre de chaîne n'est pas correctement encodé" #~ msgid "Unknown error" #~ msgstr "Erreur inconnue" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: l'option « %s » est ambiguë\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: l'option « --%s » ne requiert pas un argument.\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: l'option « %c%s » ne requiert pas un argument.\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: l'option « %s » requiert un argument.\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: option non reconnue « --%s »\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: option non reconnue « %c%s »\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: option illégale --%c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: option invalide --%c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: l'option requiert un argument --%c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: l'option « -W %s » est ambiguë\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: l'option « -W %s » ne permet pas un argument.\n" #~ msgid "cannot change permissions of %s" #~ msgstr "Ne peut changer les permissions de %s" #~ msgid "cannot create directory %s" #~ msgstr "ne peut créer le répertoire %s" #~ msgid "memory exhausted" #~ msgstr "Mémoire épuisée" #~ msgid "unable to record current working directory" #~ msgstr "incapable d'enregistrer le répertoire de travail courant" #~ msgid "failed to return to initial working directory" #~ msgstr "échec de retour au répertoire initial de travail" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #~ msgid "%s: end of file" #~ msgstr "%s : fin de fichier" #~ msgid "Success" #~ msgstr "Succès" #~ msgid "No match" #~ msgstr "Pas de correspondance" #~ msgid "Invalid regular expression" #~ msgstr "Expression régulière invalide" #~ msgid "Invalid collation character" #~ msgstr "Caractère invalide dans une séquence" #~ msgid "Invalid character class name" #~ msgstr "Nom de classe de caractère invalide" #~ msgid "Trailing backslash" #~ msgstr "Slash inversé de fin" #~ msgid "Invalid back reference" #~ msgstr "Référence de retour invalide" #~ msgid "Unmatched [ or [^" #~ msgstr "[ ou [^ sans correspondance" #~ msgid "Unmatched ( or \\(" #~ msgstr "( ou \\( sans correspondance" #~ msgid "Unmatched \\{" #~ msgstr "\\{ sans correspondance" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Contenu de \\{\\} invalide" #~ msgid "Invalid range end" #~ msgstr "Fin d'intervalle invalide" #~ msgid "Memory exhausted" #~ msgstr "Mémoire épuisée" #~ msgid "Invalid preceding regular expression" #~ msgstr "Expression régulière précédant invalide" #~ msgid "Premature end of regular expression" #~ msgstr "Fin prématurée d'expression régulière" #~ msgid "Regular expression too big" #~ msgstr "Expression régulière trop longue" #~ msgid "Unmatched ) or \\)" #~ msgstr ") ou \\) sans correspondance" #~ msgid "No previous regular expression" #~ msgstr "Pas d'expression régulière précédante" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "il est dangereux d'opérer récursivement sur %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "il est dangereux d'opérer récursivement sur %s (identique à %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "utiliser --no-preserve-root pour écraser cette mesure de sûreté" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "initialisation des permissions de %s" #~ msgid "iconv function not usable" #~ msgstr "fonction iconv n'est pas utilisable" #~ msgid "iconv function not available" #~ msgstr "fonction iconv n'est pas disponible" #~ msgid "character out of range" #~ msgstr "caractère hors limites" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "ne peut convertir U+%04X à un jeu local de caractères" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "ne peut convertir U+%04X au jeu local de caractères: %s" #~ msgid "invalid user" #~ msgstr "usager invalide" #~ msgid "invalid group" #~ msgstr "groupe invalide" #~ msgid "invalid spec" #~ msgstr "spec invalide" #~ msgid "(C)" #~ msgstr "©" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 ou ultérieure \n" #~ "Ceci est logiciel libre : vous êtes libre de le modifier et de le " #~ "redistribuer.\n" #~ "ce logiciel n'offre pas d'autre garantie que celle imposée par la loi.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Écrit par %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Écrit par %s et %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Écrit par %s, %s et %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Écrit par %s, %s, %s,\n" #~ "et %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Écrit par %s, %s, %s,\n" #~ "%s et %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Écrit par %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Écrit par %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Écrit par %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "et %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Écrit par %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s et %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Écrit par %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s et d'autres.\n" #~ msgid "invalid argument: %s" #~ msgstr "argument invalide: %s" #~ msgid "string comparison failed" #~ msgstr "échec de comparaison de chaîne" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Définir LC_ALL=« C » pour contourner le problème." #~ msgid "The strings compared were %s and %s." #~ msgstr "Les chaînes comparées étaient %s et %s." #~ msgid "string transformation failed" #~ msgstr "échec de transformation de chaîne" #~ msgid "The untransformed string was %s." #~ msgstr "La chaîne non transformée était %s" #~ msgid "cannot perform formatted output" #~ msgstr "ne peut exécuter le résultat formaté" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "%s%s argument invalide `%s'" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "suffixe invalide dans l'argument %s%s `%s'" #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s%s argument `%s' trop grand" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Usage: %s [OPTION] [FICHIER]\n" #~ "Base64 encode ou décode FICHIER, ou l'entrée standard, sur la sortie " #~ "standard.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=COLS retour à la ligne des lignes encodées après COLS " #~ "caractères (default 76).\n" #~ " Employer 0 pour éviter le retour à la ligne.\n" #~ "\n" #~ " -d, --decode Décode les données.\n" #~ " -i, --ignore-garbage Lors du décodage, ignore les caractères non " #~ "alphabétiques.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Affiche cette aide et quitte.\n" #~ " --version Affiche les informations de version et quitte.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Sans FICHIER, ou quand le FICHIER est -, lire de l'entrée standard.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Les données sont encodées comme décrit pour l'alphabet base64 dans RFC " #~ "3548.\n" #~ "Lors du décodage, l'entrée peut contenir des retour à la ligne en plus " #~ "des octets de\n" #~ "l'alphabet base64 formel. Employer --ignore-garbage pour tenter de " #~ "récupérer\n" #~ "tout autre octet non alphabétique du flux encodé.\n" #~ msgid "read error" #~ msgstr "Erreur de lecture." #~ msgid "invalid input" #~ msgstr "entrée invalide" #~ msgid "invalid wrap size: %s" #~ msgstr "taille d'enveloppe invalide : %s" #~ msgid "extra operand %s" #~ msgstr "opérande surnuméraire %s" #~ msgid "closing standard input" #~ msgstr "fermeture de l'entrée standard" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s NOM [SUFFIXE]...\n" #~ " ou: %s [OPTION]\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Afficher le NOM sans être précédé des composants des noms de répertoires\n" #~ "Si spécifié enlever aussi le SUFFIXE.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Exemples:\n" #~ " %s /usr/bin/sort sortie \"sort\".\n" #~ " %s include/stdio.h .h sortie \"stdio\".\n" #~ msgid "missing operand" #~ msgstr "opérande manquante" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Usage: %s [OPTION] [FICHIER]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Concatène FICHIER(s), ou l'entrée standard, sur la sortie standard.\n" #~ "\n" #~ " -A, --show-all équivalent à -vET\n" #~ " -b, --number-nonblank numérote les lignes non vides en sortie\n" #~ " -e équivalent à -vE\n" #~ " -E, --show-ends affiche $ à la fin de chaque ligne\n" #~ " -n, --number numérote toutes les lignes en sortie\n" #~ " -s, --squeeze-blank supprime les lignes vides qui se répètent en " #~ "sortie\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t équivalent à -vT\n" #~ " -T, --show-tabs afficher les caractères TAB comme ^I\n" #~ " -u (ignoré)\n" #~ " -v, --show-nonprinting utiliser la notation ^ et M- ,\n" #~ " excepté pour LFD et TAB\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Exemples:\n" #~ " %s f - g sortie du contenu de f, ensuite sur l'entrée standard, " #~ "ensuite le contenu de g.\n" #~ " %s copier l'entrée standard var la sortie standard.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "ne peut exécuter ioctl sur %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: le fichier à l'entrée est le même qu'à la sortie." #~ msgid "failed to create security context: %s" #~ msgstr "échec de création du contexte de sécurité : %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "a échoué à établir %s le composant du contexte de sécurité à %s" #~ msgid "failed to get security context of %s" #~ msgstr "échec de récupération du contexte de sécurité de %s" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "ne peut appliquer un contexte partiel au fichier non étiquetté %s" #~ msgid "failed to change context of %s to %s" #~ msgstr "échec lors du changement de contexte de %s à %s" #~ msgid "cannot access %s" #~ msgstr "ne peut accéder %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "ne peut lire le répertoire %s" #~ msgid "changing security context of %s" #~ msgstr "changement du contexte de sécurité de %s" #~ msgid "fts_read failed" #~ msgstr "Échec de fts_read" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Usage : %s [OPTION]... CONTEXT FILE...\n" #~ " or : %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or : %s [OPTION]... --reference=RFILE FILE...\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Etablit le contexte de sécurité de chaque FICHIER à CONTEXT.\n" #~ "Avec --reference, établit le contexte de sécurité de chaque FICHIER à " #~ "celui de RFILE.\n" #~ "\n" #~ " -c, --changes comme verbeux mais rapporte seulement quand un " #~ "changement est fait\n" #~ " -h, --no-dereference affecte les liens symboliques au lieu du fichier " #~ "référencé\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=RFILE utilise le contexte de sécurité de RFILE au lieu " #~ "de spécifier\n" #~ " une valeur CONTEXT\n" #~ " -R, --recursive agit sur les fichiers et répertoires " #~ "récursivement\n" #~ " -v, --verbose affiche un diagnostique pour chaque fichier " #~ "traité\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=USER établit l'usager USER dans le contexte de " #~ "sécurité cible\n" #~ " -r, --role=ROLE établit le rôle ROLE dans le contexte de " #~ "sécurité cible\n" #~ " -t, --type=TYPE établit le type TYPE dans le contexte de " #~ "sécurité cible\n" #~ " -l, --range=RANGE établit l'intervalle RANGE dans le contexte de " #~ "sécurité cible\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Les options suivantes modifient comment la hiérarchie est traversée lors " #~ "que\n" #~ "l'option -R est aussi spécifié. Si plus d'une option est spécifiée, " #~ "seule la dernière\n" #~ "prend effet.\n" #~ "\n" #~ " -H si l'argument de la ligne de commande est un " #~ "lien symbolique\n" #~ " vers un répertoire alors le parcourir\n" #~ " -L parcourir chaque lien symbolique menant à un " #~ "répertoire\n" #~ " rencontré\n" #~ " -P ne pas parcourir aucun lien symbolique (par " #~ "défaut)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference requiert soit -H ou -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h requiert -P" #~ msgid "missing operand after %s" #~ msgstr "opérande manquante après %s" #~ msgid "invalid context: %s" #~ msgstr "contexte invalide : %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "paramètres de contexte de sécurité donnés en conflit" #~ msgid "failed to get attributes of %s" #~ msgstr "échec d'obtention des attributs de %s" #~ msgid "invalid group: %s" #~ msgstr "groupe invalide : %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Usage: %s [OPTION]... GROUPE FICHIER...\n" #~ " ou: %s [OPTION]... --reference=FICHIER-R FICHIER...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Etablit le groupe de chaque FICHIER à GROUPE.\n" #~ "Avec l'option --reference, établit le groupe de chaque FICHIER à celui de " #~ "R-FICHIER.\n" #~ "\n" #~ " -c, --changes comme verbeux mais rapporte seulement les " #~ "changements faits\n" #~ " --dereference affecte le référent de chaque lien symbolique" #~ "(par défaut),\n" #~ " plutôt que le lien symbolique lui-même\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference modifier les liens symboliques au lieu des\n" #~ " fichiers référencés (utile seulement\n" #~ " sur les systèmes permettant de changer le " #~ "propriétaire\n" #~ " d'un lien symbolique)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root ne pas traiter `/' de manière spéciale (par " #~ "défaut)\n" #~ " --preserve-root fait échouer le traitement récursif sur `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet supprime la plupart des messages d'erreur\n" #~ " --reference=RFICHIER utilise le groupe de RFICHIER\n" #~ " au lieu d'une valeur GROUPE\n" #~ " -R, --recursive agit récursivement sur les fichiers et " #~ "répertoires\n" #~ " -v, --verbose produit un diagnostic pour chaque fichier " #~ "traité\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Exemples:\n" #~ " %s staff /u changer le groupe de /u vers \"staff\".\n" #~ " %s -hR staff /u changer le groupe de /u et des sous-fichiers vers " #~ "\"staff\".\n" #~ msgid "getting new attributes of %s" #~ msgstr "obtention des nouveaux attributs de %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "Ni le lien symbolique %s ni la référence n'ont changé.\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "Le mode d'accès de %s a été modifié à %04lo (%s).\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "Échec du changement de mode de %s à %04lo (%s).\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "Le mode d'accès de %s qui a été conservé est: %04lo (%s).\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "ne peut opérer sur un lien symbolique lâche %s" #~ msgid "changing permissions of %s" #~ msgstr "modification des permissions de %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: les nouvelles permissions sont %s, et non pas %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FICHIER...\n" #~ " ou: %s [OPTION]... MODE-OCTAL FICHIER\n" #~ " ou: %s [OPTION]... --reference=FICHIER-R FICHIER\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Changer le mode de chaque fichier selon le MODE choisi.\n" #~ "\n" #~ " -c, --changes identique à verbose mais rapporte seulement les " #~ "changements lorsqu'ils ont lieu\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root ne pas traiter `/' de manière spéciale (par " #~ "défaut)\n" #~ " --preserve-root bloquer le traitement récursif sur `/'\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet supprimer la plupart des messages d'erreur\n" #~ " -v, --verbose produire un diagnostic pour chaque fichier " #~ "traité\n" #~ " --reference=FICHIER utiliser les modes d'accès du FICHIER de " #~ "référence\n" #~ " au lieu de valeurs\n" #~ " -R, --recursive modifier récursivement fichiers et répertoires\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Chaque MODE a la forme `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "ne peut combiner les options mode et --reference" #~ msgid "invalid mode: %s" #~ msgstr "mode invalide: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "Changement de propriétaire de %s vers %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "Changement de groupe de %s vers %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "ne peut changer l'appartenance de %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "échec de changement de propriétaire de %s vers %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "Échec de changement de groupe de %s vers %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "échec de changement de propriétaire de %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "L'appartenance de %s qui a été retenue est %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "Le groupe d'appartenance de %s qui a été retenu est %s.\n" #~ msgid "ownership of %s retained\n" #~ msgstr "l'appartenance de %s a été retenue\n" #~ msgid "cannot dereference %s" #~ msgstr "ne peut effectuer une déférence sur %s" #~ msgid "changing ownership of %s" #~ msgstr "changement de propriétaire pour %s" #~ msgid "changing group of %s" #~ msgstr "modification du groupe de %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Usage: %s [OPTION]... [PROPRIÉTAIRE][:GROUPE] FICHIER...\n" #~ " ou: %s [OPTION]... --reference=FICHIER-R FICHIER...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Etablit le propriétaire et/ou le groupe de chaque FICHIER à PROPRIÉTAIRE " #~ "et/ou à GROUPE.\n" #~ "Avec l'option --reference, établit le propriétaire et le groupe de chaque " #~ "FICHIER à ceux de RFICHIER.\n" #~ "\n" #~ " -c, --changes comme verbeux mais rapporte seulement les " #~ "modifications faites\n" #~ " --dereference affecte le référent de chaque lien symbolique" #~ "(par défaut),\n" #~ " plutôt que le lien symbolique lui-même\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=PROPRIÉTAIRE_COURANT:GROUPE_COURANT\n" #~ " changer le propriétaire et/ou le groupe de " #~ "chaque fichier\n" #~ " seulement s'il y a concordance avec le " #~ "propriétaire\n" #~ " et/ou groupe courant spécifié. Les deux " #~ "peuvent être\n" #~ " omis, auquel cas la concordance n'est pas " #~ "requise pour\n" #~ " l'argument non spécifié.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet supprime la plupart des messages d'erreur\n" #~ " --reference=RFICHIER utilise le propriétaire et le groupe de " #~ "RFICHIER\n" #~ " au lieu de valeurs explicites PROPRIÉTAIRE:" #~ "GROUPE\n" #~ " -R, --recursive agit récursivement sur fichiers et " #~ "répertoires\n" #~ " -v, --verbose affiche un diagnostique pour chaque fichier " #~ "traité\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Le propriétaire n'est pas modifié si manquant. Le groupe n'est pas " #~ "modifié si manquant,\n" #~ "mais modifié au groupe de login implicite si « : » en suivant le " #~ "PROPRIÉTAIRE symbolique.\n" #~ "Le PROPRIÉTAIRE et le GROUPE peuvent être numérique ou symbolique.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Exemples:\n" #~ " %s root /u changer le propriétaire de /u vers \"root\".\n" #~ " %s root:staff /u idem mais aussi changer son groupe à \"staff\".\n" #~ " %s -hR root /u changer le propriétaire de /u et des sous fichiers " #~ "vers \"root\".\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s RACINE [COMMANDE...\n" #~ " ou: %s OPTION\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Exécuter la COMMANDE avec le répertoire root initialisé à NOUVEAU-ROOT.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Si aucune commande n'est fournie, exécuter ``${SHELL} -i'' (par défaut: /" #~ "bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "ne peut changer le répertoire racine vers %s" #~ msgid "cannot chdir to root directory" #~ msgstr "ne peut aller vers le répertoire root" #~ msgid "cannot run command %s" #~ msgstr "ne peut exécuter la commande %s" #~ msgid "%s: file too long" #~ msgstr "%s: fichier trop long" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Usage: %s [FICHIER]...\n" #~ " ou: %s [OPTION]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Afficher la somme de contrôle CRC et le décompte d'octets de chaque " #~ "FICHIER.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Usage: %s [OPTION]... FICHIER1 FICHIER2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Comparer les fichiers triés GAUCHE et DROITE ligne par ligne.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Sans option, la sortie se fait sur 3 colonnes. La première colonne " #~ "contient\n" #~ "les lignes uniques au FICHIER1, la seconde contient les lignes uniques au " #~ "FICHIER2,\n" #~ "et la troisième contient les lignes communes aux deux fichiers.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 supprimer les lignes uniques du fichier de gauche\n" #~ " -2 supprimer les lignes uniques du fichier de droite\n" #~ " -3 supprimer les lignes uniques des 2 fichiers\n" #~ msgid "clearing permissions for %s" #~ msgstr "réinitialisation des permissions de %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "échec de préservation du propriétaire pour %s" #~ msgid "failed to lookup file %s" #~ msgstr "échec de repérage du fichier `%s'" #~ msgid "failed to preserve authorship for %s" #~ msgstr "échec de préservation du propriétaire pour %s" #~ msgid "cannot open %s for reading" #~ msgstr "Ne peut ouvrir %s en lecture" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "" #~ "escamotage du fichier %s, parce qu'il a été remplacé durant la copie" #~ msgid "failed to get file system create context" #~ msgstr "" #~ "échec de récupération du contexte de création du système de fichiers" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "échec de changement de contexte de sécurité de %s à %s" #~ msgid "cannot remove %s" #~ msgstr "ne peut enlever %s" #~ msgid "removed %s\n" #~ msgstr "détruit %s\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "n'écrit pas à travers le symlink détaché %s" #~ msgid "cannot create regular file %s" #~ msgstr "ne peut créer le fichier régulier %s" #~ msgid "cannot lseek %s" #~ msgstr "ne peut repérer par lseek() %s" #~ msgid "writing %s" #~ msgstr "écriture de %s" #~ msgid "preserving times for %s" #~ msgstr "préservation des dates pour %s" #~ msgid "closing %s" #~ msgstr "fermeture de %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s : essaye de réécrire %s, en outrepassant le mode %04lo (%s) ? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: écraser %s?" #~ msgid " (backup: %s)" #~ msgstr " (archiver: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "échec de restauration du contexte par défaut de création de fichier" #~ msgid "omitting directory %s" #~ msgstr "omission du répertoire %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "AVERTISSEMENT: fichier source %s spécifié plus d'une fois" #~ msgid "%s and %s are the same file" #~ msgstr "%s et %s identifient le même fichier." #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "ne peut écraser le non-répertoire %s par le répertoire %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "n'écrasera pas %s qui vient d'être créé par %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "ne peut écraser le répertoire %s par un non-répertoire" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "ne peut déplacer le répertoire dans un non-répertoire: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "" #~ "L'archivage de %s pourrait détruire la source: %s n'a pas été déplacé." #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "" #~ "L'archivage de %s pourrait détruire le fichier SOURCE:\n" #~ "%s n'a pas été copié." #~ msgid "cannot backup %s" #~ msgstr "ne peut archiver %s" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "ne copiera pas %s depuis le symlink qui vient juste d'être créé %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "ne peut copier un répertoire %s dans lui-même %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "ne peut créer un lien direct %s vers le répertoire %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "ne peut créer un lien direct %s vers %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "ne peut déplacer %s vers un sous-répertoire de lui-même %s" #~ msgid "cannot move %s to %s" #~ msgstr "ne peut déplacer %s vers %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "échec de déplacement inter-périphérique: %s vers %s; incapable de " #~ "détruire la cible" #~ msgid "failed to set default file creation context to %s" #~ msgstr "" #~ "échec lors de l'établissement du contexte de création de fichier par " #~ "défaut à %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "ne peut copier des liens symboliques cycliques %s." #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: peut créer des liens symboliques relatifs\n" #~ "seulement que dans le répertoire courant." #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "ne peut créer un lien symbolique %s vers %s" #~ msgid "cannot create link %s" #~ msgstr "ne peut créer le lien %s" #~ msgid "cannot create fifo %s" #~ msgstr "ne peut créer le fifo %s" #~ msgid "cannot create special file %s" #~ msgstr "ne peut créer le fichier spécial %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "ne peut lire le lien symbolique %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "ne peut créer le lien symbolique %s" #~ msgid "%s has unknown file type" #~ msgstr "%s possède un type de fichier inconnu." #~ msgid "cannot un-backup %s" #~ msgstr "ne peut désarchiver %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (désarchivage)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Usage: %s [OPTION]... [-T] SOURCE CIBLE\n" #~ " ou: %s [OPTION]... SOURCE... RÉPERTOIRE\n" #~ " ou: %s [OPTION]... --target-directory=RÉPERTOIRE SOURCE...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Copier la SOURCE vers la DESTINATION, ou de multiples SOURCES vers un " #~ "RÉPERTOIRE.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Les arguments obligatoires pour les options de formes longues le sont " #~ "aussi\n" #~ "pour les options de formes courtes.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive identique à -dpR\n" #~ " --backup[=CONTRÔLE] archive chaque fichier de destination\n" #~ " -b identique à --backup mais n'accepte pas " #~ "d'argument\n" #~ " --copy-contents copie le contenu des fichiers spéciaux en " #~ "mode récursif\n" #~ " -d identique à --no-dereference --" #~ "preserve=links\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force si un fichier de destination existe et \n" #~ " ne peut être ouvert alors le détruire et\n" #~ " essayer à nouveau\n" #~ " -i, --interactive demander confirmation avant d'écraser\n" #~ " -H suivre les liens symboliques de ligne de " #~ "commande dans SOURCE\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link lier les fichiers au lieu de les copier\n" #~ " -L, --dereference toujours suivre les liens symboliques dans " #~ "SOURCE\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference ne jamais suivre les liens symboliques " #~ "dans SOURCE\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p identique à --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] préserve les attributs spécifiés (par " #~ "défaut :\n" #~ " mode,ownership,timestamps), et si " #~ "posssible\n" #~ " les attributs additionels : context, " #~ "links, all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=LISTE_ATTR ne pas préserver les attributs " #~ "spécifiques\n" #~ " --parents accoler le chemin source au répertoire\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive copier récursivement les répertoires\n" #~ " --remove-destination enlever chaque fichier de destination " #~ "existant\n" #~ " avant de l'ouvrir (par contraste avec --" #~ "force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=DATE contrôle la DATE de création des fichiers\n" #~ " dispersés\n" #~ " --strip-trailing-slashes enlève les « / » en suffixe de chacun\n" #~ " des arguments SOURCE\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link créer des liens symboliques au lieu de " #~ "copier\n" #~ " -S, --suffix=SUFFIXE écraser le suffixe usuel d'archivage\n" #~ " par le SUFFIXE\n" #~ " --target-directory=RÉPERTOIRE\n" #~ " déplacer tous les fichiers SOURCE en " #~ "arguments\n" #~ " vers le RÉPERTOIRE\n" #~ " -T, --no-target-directory traiter la CIBLE comme un fichier normal\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update déplacer seulement les vieux ou\n" #~ " les tout nouveaux fichiers\n" #~ " -v, --verbose expliquer ce qui a été fait\n" #~ " -x, --one-file-system demeurer sur ce système de fichiers\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Par défaut, les fichiers SOURCES dispersés sont détectés par le biais\n" #~ "d'une heuristique grossière et le fichier CIBLE correspondant est aussi\n" #~ "construit de façon dispersé. Il s'agit d'un comportement sélectionné\n" #~ "par l'option --sparse=auto. Spécifiez --sparse=always pour créer un " #~ "fichier\n" #~ "CIBLE dispersé lorsque le fichier SOURCE contient de longues séquences " #~ "de\n" #~ "d'octets de valeur zéro.\n" #~ "Utilisez --sparse=never pour inhiber la création de fichiers dispersés.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Le suffixe d'archive est « ~ », initialisé autrement avec --suffix ou\n" #~ "SIMPLE_BACKUP_SUFFIX. La méthode du contrôle de version peut être " #~ "sélectionné\n" #~ "par l'option --backup ou par VERSION_CONTROL par le bias des variables\n" #~ "d'environnement selon les valeurs suivantes:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off ne jamais archiver (même si --backup est utilisé)\n" #~ " numbered, t faire des archives numérotées\n" #~ " existing, nil numéroter si des archives numérotées existent déjà,\n" #~ " ne pas numéroter autrement\n" #~ " simple, never toujours faire des archives de type simple\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Un cas spécial où « cp » archive la SOURCE lorsque les options « force » " #~ "et\n" #~ "« backup » sont utilisées et que la SOURCE et la DESTINATION portent le\n" #~ "même nom qu'un fichier régulier existant.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "échec de préservation des dates pour %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "échec de préservation des permissions de %s" #~ msgid "cannot make directory %s" #~ msgstr "ne peut créer le répertoire %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s existe mais n'est pas un répertoire" #~ msgid "accessing %s" #~ msgstr "accès de %s" #~ msgid "missing file operand" #~ msgstr "opérande fichier manquant" #~ msgid "missing destination file operand after %s" #~ msgstr "opérande du fichier cible manquant après %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Ne peut combiner --target-directory (-t) et --no-target-directory (-T)" #~ msgid "target %s is not a directory" #~ msgstr "la cible %s n'est pas un répertoire" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "avec --parents, la destination doit être un répertoire" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "l'option --reply est désuète; utiliser -i ou -f à la place" #~ msgid "multiple target directories specified" #~ msgstr "options multiples répertoires cibles spécifiées" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "Ne peut créer à la fois un lien symbolique et direct." #~ msgid "backup type" #~ msgstr "type d'archive" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "" #~ "ne peut préserver le contexte de sécurité en dehors d'un noyau SELinux" #~ msgid "input disappeared" #~ msgstr "L'entrée est disparue." #~ msgid "%s: line number out of range" #~ msgstr "%s: numéro de ligne est hors limite" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: numéro de ligne est hors limite" #~ msgid " on repetition %s\n" #~ msgstr " par répétition %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: pas de concordance" #~ msgid "error in regular expression search" #~ msgstr "Erreur dans l'expression régulière recherchée." #~ msgid "write error for %s" #~ msgstr "erreur d'écriture sur %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: entier attendu après le délimiteur" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: « } » est requis pour un compteur de répétition." #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: entier requis entre « { » et « } »" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: délimiteur de fermeture « %c » manquant" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: expression régulière invalide: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: patron invalide." #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: le numéro de ligne doit être plus grand que zéro." #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "" #~ "le numéro de ligne %s est plus petit que le numéro précédent de ligne %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "" #~ "AVERTISSEMENT: le numéro de ligne %s est le même que le précédent numéro " #~ "de ligne" #~ msgid "invalid format width" #~ msgstr "largeur de format invalide" #~ msgid "invalid format precision" #~ msgstr "précision de format invalide" #~ msgid "missing conversion specifier in suffix" #~ msgstr "Symbole de conversion manquant dans le suffixe." #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "Le symbole de conversion %c est invalide dans le suffixe." #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "Le symbole de conversion \\%.3o est invalide dans le suffixe." #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "Trop de spécifications %% de conversion dans le suffixe." #~ msgid "missing %% conversion specification in suffix" #~ msgstr "La spéfication de conversion %% est manquante dans le suffixe." #~ msgid "%s: invalid number" #~ msgstr "%s: nombre invalide." #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Usage: %s [OPTION]... FICHIER MODÈLE...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Produire des morceaux du FICHIER séparés par MODÈLE(s) vers les fichiers\n" #~ "« xx01 », « xx02 », ... et le nombre d'octets de chaque morceau sur la " #~ "sortie standard.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMAT utilise sprintf FORMAT au lieu de %02d\n" #~ " -f, --prefix=PRÉFIXE utilise le PRÉFIXE au lieu de `xx'\n" #~ " -k, --keep-files ne pas détruire les fichiers de sortie\n" #~ " lorsqu'il y a erreur\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=NOMBRE utiliser NOMBRE de chiffres au lieu de 2\n" #~ " -s, --quiet, --silent ne pas afficher la taille des fichiers\n" #~ " de sortie\n" #~ " -z, --elide-empty-files détruire les fichiers de sortie vides\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Lire de l'entrée standard si le FICHIER est -. Chaque MODÈLE peut être:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " ENTIER copier jusqu'à mais sans inclure le nombre " #~ "spécifiée\n" #~ " de lignes\n" #~ " /REGEXP/[SAUT] copier jusqu'à la détection d'une ligne identique\n" #~ " mais sans l'inclure\n" #~ " %%REGEXP%%[SAUT] escamoter jusqu'à, mais sans inclure une\n" #~ " ligne identique\n" #~ " {ENTIER} répéter le patron précédent un nombre de fois\n" #~ " {*} répéter le patron précédent le plus souvent " #~ "possible\n" #~ "\n" #~ "Une ligne de SAUT a besoin d'un « + » ou « - » suivi d'un entier " #~ "positif.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "champs et positions sont numérotés à partir de 1" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Usage : %s [OPTION]... [FICHIER]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Afficher des parties de lignes de chaque FICHIER vers la sortie " #~ "standard.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LISTE sélectionner seulement ces octets\n" #~ " -c, --characters=LISTE sélectionner seulement ces caractères\n" #~ " -d, --delimiter=DÉLIM utiliser le DÉLIMiteur au lieu d'une " #~ "tabulation\n" #~ " comme délimiteur de champs\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LISTE sélectionner seulement ces champs; afficher " #~ "aussi\n" #~ " toutes les lignes qui ne contiennent pas de " #~ "caractère délimiteur,\n" #~ " à moins que l'option -s soit spécifiée\n" #~ " -n (ignoré)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement compléter le jeu des octets sélectionnés, " #~ "caractères\n" #~ " ou champs.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited ne pas afficher les lignes ne\n" #~ " contenant pas de délimiteurs\n" #~ " --output-delimiter=CHAÎNE\n" #~ " utiliser la CHAÎNE comme délimiteur de sortie\n" #~ " par défaut le délimiteur de l'entrée est " #~ "utilisée\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Employez un, et seulement un parmi -b, -c ou -f. Chaque LIST est fait " #~ "d'un\n" #~ "intervalle, ou de plusieurs intervalles séparés par des virgules. " #~ "L'entrée\n" #~ "sélectionnée est écrite dans le même ordre qu'elle est lue, et seulement " #~ "une fois.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Chaque intervalle est l'un de :\n" #~ "\n" #~ " N Nième octet, caractère ou champ, compté à partir de 1\n" #~ " N- du Nième octet, caractère ou champ jusqu'à la fin de la ligne\n" #~ " N-M du Nième au Mième octets (inclus), caractère ou champ\n" #~ " -M du premier au Mième octets (inclus), caractère ou champ\n" #~ "\n" #~ "Sans FICHIER, ou quand FICHIER est -, lire l'entrée standard.\n" #~ msgid "invalid byte or field list" #~ msgstr "Octet ou champ de liste invalide." #~ msgid "invalid range with no endpoint: -" #~ msgstr "intervalle invalide sans borne de fin : -" #~ msgid "invalid decreasing range" #~ msgstr "intervalle diminuant invalide" #~ msgid "byte offset %s is too large" #~ msgstr "décalage d'octet %s est trop grand" #~ msgid "field number %s is too large" #~ msgstr "numéro de champ %s est trop grand" #~ msgid "only one type of list may be specified" #~ msgstr "Un seul type de liste peut être spécifié." #~ msgid "the delimiter must be a single character" #~ msgstr "Le délimiteur doit être un caractère simple." #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "" #~ "Une liste d'octets, de caractères, ou de champs doit être spécifiée." #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "un délimiteur peut être spécifié seulement lorsqu'opérant sur des champs" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "La suppression des lignes non-délimitées est permise\n" #~ "\tseulement lorsqu'opérant sur des champs." #~ msgid "missing list of fields" #~ msgstr "Liste des champs manquante." #~ msgid "missing list of positions" #~ msgstr "Liste des positions manquante." #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " ou: %s [-u|--utc|--universal] [MMJJhhmm[[CC]AA][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Afficher la date courante selon le FORMAT spécifié ou\n" #~ "initialiser la date du système.\n" #~ "\n" #~ " -d, --date=CHAÎNE afficher la date selon la description donnée " #~ "par la CHAÎNE,\n" #~ " excluant le mot réservé « now »\n" #~ " -f, --file=FICHIER identique à --date pour chaque ligne du\n" #~ " FICHIER de dates\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=FILE affiche la dernière heure de modification de " #~ "FILE\n" #~ " -R, --rfc-2822 affiche la date et l'heure dans le format RFC " #~ "2822.\n" #~ " Exemple: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=TIMESPEC affiche la date et l'heure selon le format RFC-" #~ "3339.\n" #~ " TIMESPEC=`date', `seconds', ou `ns' pour\n" #~ " la date et l'heure selon la précision voulue.\n" #~ " Les éléments Date et Heure sont séparés par\n" #~ " un simple espace: 2006-08-07 12 : 34 : 56-" #~ "06 : 00\n" #~ " -s, --set=CHAÎNE initialise la date selon CHAÎNE\n" #~ " -u, --utc, --universal affiche ou initialise selon le système de\n" #~ " temps universel (T.U.)\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "FORMAT contrôlant l'affichage. La seule option valide pour la la seconde " #~ "forme\n" #~ "s'applique au système de temps Universel UCT. Les séquences interprétées " #~ "sont:\n" #~ "\n" #~ " %% le caractère %\n" #~ " %a les noms abrégés localisés des jours de la semaine (i.e. dim.." #~ "sam)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A les noms complets localisés des jours de la semaine (dimanche.." #~ "samedi)\n" #~ " %b les noms abrégés localisés des mois (jan..déc)\n" #~ " %B les noms complets localisés des mois (janvier..décembre)\n" #~ " %c la date et l'heure localisées (i.e. Jeu mar 3 23:05:25 2005)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C le siècle comme %Y sans les 2 derniers chiffres (i.e. 21)\n" #~ " %d le jour du mois (i.e. 01..31)\n" #~ " %D la date (%m/%d/%y)\n" #~ " %e le jour du mois précédé d'un blanc identique à %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F la date complète, identique à %Y-%m-%d\n" #~ " %g les 2 derniers chiffres de l'année correspondant au numéro de " #~ "semaine ISO (voir %G)\n" #~ " %G l'année correspondant au numéro de semaine ISO (voir %V); " #~ "normalement utile seulement avec %V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h identique à %b\n" #~ " %H heure (00..23)\n" #~ " %I heure (01..12)\n" #~ " %j jour numérique de l'année (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k heure ( 0..23)\n" #~ " %l heure ( 1..12)\n" #~ " %m mois (01..12)\n" #~ " %M minute (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n un saut de ligne\n" #~ " %N nanosecondes (000000000..999999999)\n" #~ " %p indicateur localisé AM ou PM en majuscules (blanc si inconnu)\n" #~ " %P identique à %p mais en minuscules\n" #~ " %r heure locale en format 12-heure (i.e. 11:11:01 PM)\n" #~ " %R heure en format 24-heure identique à %H:%M\n" #~ " %s secondes depuis 1970-01-01 00:00:00 UTC\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S les secondes (00..60)\n" #~ " %t une tabulation horizontale\n" #~ " %T l'heure, identique à %H:%M:%S\n" #~ " %u le jour de la semaine (1..7); 1 représente le lundi\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U le numéro de la semaine dans l'année débutant par le dimanche\n" #~ " comme premier jour de la semaine (00..53)\n" #~ " %V le numéro de la semaine ISO dans l'année débutant par le lundi\n" #~ " comme premier jour de la semaine (01..53)\n" #~ " %w le jour de la semaine (0..6); 0 représente le dimanche\n" #~ " %W le numéro de la semaine dans l'année débutant par le lundi\n" #~ " comme premier jour de la semaine (00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x représentation localisée de la date (i.e. 12/31/99)\n" #~ " %X représentation localisée de l'heure (i.e. 23:13:48)\n" #~ " %y les deux derniers chiffres de l'année (00..99)\n" #~ " %Y l'année\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z fuseau horaire numérique +hhmm (i.e. -0400)\n" #~ " % : z fuseau horaire numérique +hh:mm (i.e. -04:00)\n" #~ " % : : z fuseau horaire numérique +hh:mm:ss (i.e. -04:00:00)\n" #~ " % : : : z fuseau horaire numérique selon la précision nécessaire (i.e. " #~ "-04, +05:30)\n" #~ " %Z abréviation alphabétique des fuseaux horaires (i.e. EDT)\n" #~ "\n" #~ "Par défaut les champs de date numériques sont remplis par des zéros.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Les fanions optionnels suivants peuvent suivre `%' :\n" #~ "\n" #~ " - (hyphen) ne remplit pas le champs\n" #~ " _ (underscore) remplit avec espace\n" #~ " 0 (zero) remplit avec zéro\n" #~ " ^ emploie majuscule si possible\n" #~ " # emploie la casse opposée si possible\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Un largeur champ optionel suit un fanion à l'aide d'un nombre décimal;\n" #~ "suivi du modificateur optionel lequel peut prendre la valeur\n" #~ "E pour utiliser une représentation de locale si disponible, ou\n" #~ "O pour utiliser une représentation de symboles numériques de locale si " #~ "disponible.\n" #~ msgid "multiple output formats specified" #~ msgstr "multiples formats de fichiers de sortie spécifiés" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "" #~ "les options pour spécifier les dates pour l'impression sont mutuellement " #~ "exclusives" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "Les options pour afficher et initialiser la date ne peuvent être\n" #~ "utilisées ensembles." #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "l'argument %s n'est pas précédé du préfixe « + »;\n" #~ "lors de l'utilisation d'une option pour spécifier la date,\n" #~ "chaque argument qui n'est pas une option reconnue doit être\n" #~ "une chaîne dont le format débute par « + »." #~ msgid "cannot set date" #~ msgstr "ne peut initialiser la date." #~ msgid "time %s is out of range" #~ msgstr "date %s est hors limites" #~ msgid "Filesystem Type" #~ msgstr "Sys. de fich. Type " #~ msgid "Filesystem " #~ msgstr "Sys. de fich. " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inodes IUtil. ILib. %%IUti." #~ msgid " Size Used Avail Use%%" #~ msgstr " Tail. Occ. Disp. %%Occ." #~ msgid " Size Used Avail Use%%" #~ msgstr " Tail. Occ. Disp. %%Occ." #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-blocs Capacité Disponible Occupée" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-blocs Occupé Disponible Capacité" #~ msgid " Mounted on\n" #~ msgstr " Monté sur\n" #~ msgid "cannot get current directory" #~ msgstr "ne peut obtenir le répertoire courant" #~ msgid "cannot change to directory %s" #~ msgstr "ne peut aller vers le répertoire %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "ne peut obtenir par stat() le répertoire courant (maintenant %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Usage: %s [OPTION]... [FICHIER]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Afficher les informations à propos du système de fichiers sur lequel\n" #~ "réside chaque FICHIER ou de tous les systèmes de fichiers par défaut.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all inclut les systèmes de fichiers fantôme\n" #~ " -B, --block-size=TAILLE utilise des blocs d'octets de TAILLE octets\n" #~ " -h, --human-readable affiche les tailles dans un format lisible par\n" #~ " un humain (i.e. 1K 234M 2G)\n" #~ " -H, --si identique mais utilise un multiple de 1000\n" #~ " et non de 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes lister les informations des « inodes »\n" #~ " plutôt que sur l'utilisation des blocs\n" #~ " -k identique à --block-size=1K\n" #~ " -l, --local limiter le listing au système local de " #~ "fichiers\n" #~ " --no-sync ne pas effectuer une synchronisation avant\n" #~ " d'obtenir les informations d'utilisation\n" #~ " des disques (par défaut)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability utiliser le format de sortie POSIX\n" #~ " --sync demander une synchronisation avant d'obtenir " #~ "les\n" #~ " informations d'utilisation des disques\n" #~ " (par défaut)\n" #~ " -t, --type=TYPE limiter l'affichage au TYPE de système de\n" #~ " fichiers\n" #~ " -T, --print-type afficher le type du système de fichiers\n" #~ " -x, --exclude-type=TYPE limiter l'affichage en excluant le TYPE\n" #~ " de système de fichiers\n" #~ " -v (ignorée)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "TAILLE peut être (ou peut être un entier optionnellement suivi par) un de " #~ "ceux qui suivent:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024 et ainsi de suite pour G, T, " #~ "P, E, Z, Y.\n" #~ "\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "Le système de fichiers %s est à la fois sélectionné et exclu." #~ msgid "Warning: " #~ msgstr "AVERTISSEMENT: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "ne peut lire la table des systèmes de fichiers montés" #~ msgid "no file systems processed" #~ msgstr "aucun système de fichier traité" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Usage: %s [OPTION]... [FICHIER]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Commande d'affichage pour initialiser la variable d'environnement " #~ "LS_COLOR.\n" #~ "\n" #~ "Déterminer le format de sortie:\n" #~ " -b, --sh, --bourne-shell code de sortie pour un Bourne shell\n" #~ " initialiser la variable LS_COLORS\n" #~ " -c, --csh, --c-shell code de sortie pour un C shell pour\n" #~ " initialiser la variable LS_COLORS\n" #~ " -p, --print-data-base utiliser les valeurs par défaut de sortie\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Si le FICHIER est fourni, le lire pour déterminer les couleurs à " #~ "utiliser\n" #~ "pour les types de fichiers et les extensions. Autrement, utiliser la base " #~ "de données\n" #~ "précompilés. Pour le détail du format de ces fichiers, exécuter " #~ "«dircolors --print-database'.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: ligne invalide; second jeton manquant" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: mot clé non reconnu %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "les options pour la base de données interne de sortie de dircolors et\n" #~ "la sélection de la syntaxe du shell sont mutuellement exclusives" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "" #~ "Les opérandes fichier ne peutvent être combinés avec --print-database (-" #~ "p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "Aucune variable de shell et aucune option de mode spécifiée." #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s NOM\n" #~ " ou: %s OPTION\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Afficher le NOM du répertoire en enlevant ses composantes de fin;\n" #~ "si le NOM ne contient pas de « / »\n" #~ "le symbole « . » indique le répertoire courant.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Exemples:\n" #~ " %s /usr/bin/sort sortie \"/usr/bin\".\n" #~ " %s stdio.h sortie \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Usage: %s [OPTION]... [FICHIER]...\n" #~ " ou: %s [OPTION]... --reference=FICHIER-R FICHIER...\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Produire un sommaire de l'utilisation de l'espace disque de chaque " #~ "FICHIER,\n" #~ "et récursivement dans tous les répertoires.\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all affiche le décompte pour tous les fichiers,\n" #~ " pas seulement pour les répertoires\n" #~ " --apparent-size affiche les tailles apparentes, au lieu de " #~ "l'occupation disque; \n" #~ " même si la taille apparente est habituellement " #~ "plus petite, elle peut être\n" #~ " plus grande en raison de trous dans (`sparse') " #~ "les fichiers, \n" #~ " de la fragmentation, de blocs indirects et " #~ "autre raisons similaires\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=TAILLE utilise des blocs de TAILLE octets\n" #~ " -b, --bytes équivalent à `--apparent-size --block-size=1'\n" #~ " -c, --total produit le total général\n" #~ " -D, --dereference-args ne pas tenir compte seulement des symlinks " #~ "qui\n" #~ " apparaissent sur la ligne de commande\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F résume l'occupation disque des fichiers terminés " #~ "par NUL\n" #~ " noms spécifiés dans le fichier F\n" #~ " -H, identique à --si, mais lance un " #~ "avertissement ; sera bientôt\n" #~ " modifié afin d'être équivalent à --" #~ "dereference-args (-D)\n" #~ " -h, --human-readable affiche les tailles dans un format lisible " #~ "par\n" #~ " un humain (i.e. 1K 234M 2G)\n" #~ " --si identique à -h mais utilise un multiple de " #~ "1000\n" #~ " au lieu de 1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k, identique à --block-size=1K\n" #~ " -l, --count-links dénombre les tailles aussi souvent qu'il y a\n" #~ " de liens directs\n" #~ " -m identique à --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference ne pas tenir compte de tous les liens\n" #~ " symboliques\n" #~ " -P, --no-dereference ne pas suivre les liens symboliques (par " #~ "défaut)\n" #~ " -0, --null terminer chaque ligne de sortie par un octet " #~ "de valeur zéro plutôt que changement de ligne\n" #~ " -S, --separate-dirs ne pas inclure la taille des sous-répertoires\n" #~ " -s, --summarize afficher seulement un total pour chaque type\n" #~ " d'argument\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system escamote les répertoires de différents\n" #~ " systèmes de fichiers\n" #~ " -X FICHIER, --exclude-from=FICHIER exclut les fichiers qui concordent " #~ "avec\n" #~ " un des patrons dans FICHIER\n" #~ " --exclude=PATRON exclut les fichiers qui concordent avec\n" #~ " le PATRON\n" #~ " --max-depth=N affiche le total pour un répertoire\n" #~ " (ou un fichier, avec --all) seulement\n" #~ " si il est à N niveaux ou moins dessous les " #~ "arguments\n" #~ " de ligne de commande ;\n" #~ " --max-depth=0 est identique à --summurize\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time affiche le temps de la dernière modification de " #~ "n'importe\n" #~ " quel fichier du répertoire ou des sous-" #~ "répertoires\n" #~ " --time=MOT affiche le temps comme un MOT au lieu du temps de " #~ "modification :\n" #~ " atime, access, use, ctime ou status\n" #~ " --time-style=STYLE affiche le temp en utilisant STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT est interprété comme `date'\n" #~ msgid "total" #~ msgstr "total" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "AVERTISSEMENT: utiliser --si, pas -H; la signification de l'option -H\n" #~ "sera bientôt identique à celle de --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "profondeur maximum invalide %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "l'option --megabytes est désuète; utiliser -m à la place" #~ msgid "cannot both summarize and show all entries" #~ msgstr "Ne peut afficher à la fois un résumé et toutes les entrées." #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "" #~ "AVERTISSEMENT: le résumé est identique si l'option --max-dept=0 est " #~ "utilisée" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "" #~ "AVERTISSEMENT: conflit avec l'option d'établissement de sommaire avec --" #~ "max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Les opérandes fichier ne peuvent être combinés avec --files0-from." #~ msgid "cannot read file names from %s" #~ msgstr "ne peut lire les noms de fichiers à partir de %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "pendant le lecture de noms de fichier depuis l'entrée standard, nom de " #~ "fichier de %s non permis" #~ msgid "invalid zero-length file name" #~ msgstr "taille invalide de longueur zéro de nom de fichier" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Usage: %s [OPTION]... [CHAÎNE]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Faire l'écho des CHAINES sur la sortie standard.\n" #~ "\n" #~ " -n ne pas produire sur la sortie la nouvelle ligne de " #~ "queue\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e autoriser l'interprétation des échappements de barre " #~ "oblique inverse (par défaut)\n" #~ " -E désactiver l'interprétation des échappements de barre " #~ "oblique inverse\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Avec l'option -E, les séquences suivantes sont reconnues:\n" #~ "\n" #~ " \\ONNN le caractère dont le code ASCII est NNN (en octal)\n" #~ " \\\\ barre oblique inverse\n" #~ " \\a bip sonore d'alerte\n" #~ " \\b retour arrière\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c supprimer le saut de ligne de fin\n" #~ " \\f saut de page\n" #~ " \\n saut de ligne\n" #~ " \\r retour de chariot\n" #~ " \\t tabulation horizontale\n" #~ " \\v tabulation verticale\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Usage: %s [OPTION]... [-] [NOM=VALEUR]... [COMMANDE] [ARG]...\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Initialiser chaque VARIABLE à la VALEUR dans l'environnement\n" #~ "et exécuter la COMMANDE.\n" #~ "\n" #~ " -i, --ignore-environment débuter avec un environnement vide\n" #~ " -u, --unset=VARIABLE retirer la VARIABLE de l'environment\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Un simple - implique -i. Si aucune COMMANDE n'est fournie,\n" #~ "afficher les variables d'environnement.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Convertir les tabulations de chaque FICHIER par des blancs d'espacement,\n" #~ "en écrivant sur la sortie standard.\n" #~ "Sans FICHIER, ou quand le FICHIER est -, lire de l'entrée standard.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial ne pas convertir les tabulations après des non-" #~ "blancs\n" #~ " -t, --tabs=N utiliser N caractères de tabulations à part et non " #~ "8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LISTE utiliser la LISTE explicite de positions de " #~ "tabulation\n" #~ msgid "tab stop is too large %s" #~ msgstr "L'arrêt de tabulation %s est trop grand." #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "La taille de la tabulation contient des caractères invalides: %s." #~ msgid "tab size cannot be 0" #~ msgstr "La taille de la tabulation ne peut être 0." #~ msgid "tab sizes must be ascending" #~ msgstr "Les tailles de tabulation doivent être croissantes." #~ msgid "input line is too long" #~ msgstr "ligne d'entrée est trop longue" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s EXPRESSION\n" #~ " ou: %s OPTION\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Afficher la valeur de l'EXPRESSION sur la sortie standard. Une ligne " #~ "blanche\n" #~ "sépare la précédence croissante des groupes. L'EXPRESSION peut être:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 s'il est nul ou 0, autrement ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 si aucun des arguments est nul ou 0, " #~ "autrement 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 si plus petit que ARG2\n" #~ " ARG1 <= ARG2 ARG1 si plus petit ou égal à ARG2\n" #~ " ARG1 = ARG2 ARG1 si égal à ARG2\n" #~ " ARG1 != ARG2 ARG1 n'est pas égal à ARG2\n" #~ " ARG1 >= ARG2 ARG1 si plus grand ou égal à ARG2\n" #~ " ARG1 > ARG2 ARG1 si plus grand que ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 somme arithmétique de ARG1 et ARG2\n" #~ " ARG1 - ARG2 différence arithmétique de ARG1 et ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 produit arithmétique de ARG1 et ARG2\n" #~ " ARG1 / ARG2 quotient arithmétique de ARG1 divisé par ARG2\n" #~ " ARG1 % ARG2 reste arithmétique ARG1 divisé par ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " CHAÎNE: EXPREG patron d'ancrage de concordance de l'EXPREG dans la " #~ "CHAÎNE\n" #~ "\n" #~ " match CHAÎNE EXPREG identique à CHAÎNE: EXPREG\n" #~ " substr CHAÎNE POS LONG sous-chaîne de CHAÎNE débutant à la POSition\n" #~ " (comptée à partir de 1) et ayant une LONGueur\n" #~ " index CHAÎNE CAR valeur de la position du CARactère retrouvé\n" #~ " dans la CHAÎNE, sinon 0\n" #~ " length CHAÎNE longueur de la CHAÎNE\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + JETON interpréter le JETON comme une chaîne, même si " #~ "c'est\n" #~ " un mot clé comme « match » ou un opérateur " #~ "comme « / »\n" #~ "\n" #~ " ( EXPRESSION ) valeur de l'EXPRESSION\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Portez attention au fait que plusieurs opérateurs peuvent être escamotés\n" #~ "ou commentés par certains shells.\n" #~ "Les comparaisons sont arithmétiques si les deux ARGuments sont des " #~ "nombres,\n" #~ "autrement elles sont lexicographiques.\n" #~ "Les concordances de patrons retournent la chaîne retrouvée si elle est\n" #~ "encapsulée entre \\( et \\) ou nul; si \\( et \\) ne sont pas utilisés,\n" #~ "le nombre de caractères qui concordent est retourné sinon 0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "L'état de fin d'exécution est 0 si l'EXPRESSION est soit nulle ou 0, 1 si " #~ "l'EXPRESSION est nulle\n" #~ "ou 0, 2 si l'EXPRESSION est syntaxiquement invalide et 3 si une erreur " #~ "est survenue.\n" #~ msgid "syntax error" #~ msgstr "erreur de syntaxe" #~ msgid "error in regular expression matcher" #~ msgstr "erreur dans l'expression régulière recherchée." #~ msgid "non-numeric argument" #~ msgstr "argument non numérique" #~ msgid "division by zero" #~ msgstr "division par zéro" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s [NOMBRE]...\n" #~ " ou: %s OPTION\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Afficher les facteurs premiers de chaque NOMBRE.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Afficher les facteurs premiers de tous les NOMBRES entiers spécifiés.\n" #~ "Si aucun argument n'est fourni, les nombres sont lus de l'entrée " #~ "standard.\n" #~ msgid "%s is too large" #~ msgstr "%s est trop grand" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s n'est pas un entier positif valide." #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Usage: %s [-CHIFFRES] [OPTION]... [FICHIER]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Reformater chaque paragraphe de FICHIER(s), en écrivant sur la\n" #~ "sortie standard.\n" #~ "Si aucun FICHIER ou si FICHIER est « - », lire de l'entrée standard.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin préserver l'indentation des 2 premières " #~ "lignes\n" #~ " -p, --prefix=CHAÎNE reformater seulement les lignes débutant par " #~ "CHAÎNE\n" #~ " en réattanchant le préfixe aux lignes " #~ "reformatées\n" #~ " -s, --split-only briser les longues lignes mais sans les " #~ "remplir\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph indenter différemment la 1ère ligne de la " #~ "2ème\n" #~ " -u, --uniform-spacing séparer d'un blanc les mots,\n" #~ " puis de deux après chaque phrase\n" #~ " -w, --width=N utiliser une largeur de N colonnes pour une\n" #~ " pour une ligne (par défaut 75 colonnes)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "option invalide -- %c; -WIDTH est reconnue seulement lorsque c'est la " #~ "première\n" #~ "option; utiliser -w N à la place" #~ msgid "invalid width: %s" #~ msgstr "Largeur invalide: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Limiter la longueur de chaque ligne de chaque FICHIER (entrée standard " #~ "par\n" #~ "défaut) et forcer le bouclage sur la ligne suivante en écrivant sur la " #~ "sortie standard.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes compter les octets au lieu des colonnes\n" #~ " -s, --spaces briser la ligne sur des blancs\n" #~ " -w, --width=N utiliser N colonnes au lieu de 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "nombre invalide de colonnes: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "échec de récupération des groupes de l'usager %s" #~ msgid "failed to get groups for the current process" #~ msgstr "échec de récupération des groupes du processus en cours" #~ msgid "cannot find name for group ID %lu" #~ msgstr "ne peut trouver le nom de l'identificateur de groupe %lu" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Usage: %s [OPTION]... [NOM-D'USAGER]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "Affiche les infos pour USERNAME ou, si pas de USERNAME spécifié,\n" #~ "pour le processus en cours (lequel est différent si la database des " #~ "groupes a changé).\n" #~ msgid "%s: No such user" #~ msgstr "%s: usager inexistant." #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Afficher les 10 premières lignes de chaque FICHIER sur la sortie " #~ "standard.\n" #~ "Avec plus d'un FICHIER, précéder chacun d'une en-tête donnant le nom du " #~ "fichier.\n" #~ "Sans FICHIER, ou quand FICHIER est -, lire de l'entrée standard.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N afficher les premiers N octets de chaque " #~ "fichier;\n" #~ " lorsque précédé du préfixe `-', afficher " #~ "tous les octets\n" #~ " sauf les derniers N octets de chaque " #~ "fichier\n" #~ " -n, --lines=[-]N afficher les N premières lignes au lieu des 10 " #~ "premières;\n" #~ " lorsque précédé du préfixe `-', afficher " #~ "toutes les lignes\n" #~ " sauf les N dernières lignes de chaque " #~ "fichier\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent ne pas afficher les en-têtes avec les\n" #~ " noms de fichiers\n" #~ " -v, --verbose toujours afficher les en-têtes avec les\n" #~ " noms de fichiers\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "N peut avoir un suffixe multiplicateur :\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, et ainsi de suite pour T, P, E, Z, " #~ "Y.\n" #~ msgid "error reading %s" #~ msgstr "Erreur lors de la lecture %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: fichier a trop été réduit" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: nombre d'octets est trop grand" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: ne peut repérer via lseek() par rapport à la position originale" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: ne peut repérer selon le déplacement %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "ne peut repositionner le pointeur de fichier pour %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s est tellement grande qu'elle n'est pas représentable." #~ msgid "number of lines" #~ msgstr "Nombre de lignes" #~ msgid "number of bytes" #~ msgstr "Nombre d'octets" #~ msgid "invalid number of lines" #~ msgstr "nombre invalide de lignes." #~ msgid "invalid number of bytes" #~ msgstr "nombre d'octets invalide." #~ msgid "invalid trailing option -- %c" #~ msgstr "option de terminaison invalide --%c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Usage: %s\n" #~ " ou: %s OPTION\n" #~ "Afficher l'identificateur numérique (en hexadécimal) de l'hôte courant.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Usage: %s [NOM]\n" #~ " ou: %s OPTION\n" #~ "Afficher le nom du poste (hostname) du système courant.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "ne peut initialiser le nom à %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "Ne peut nommer le poste (hostname); le système ne supporte pas cette " #~ "fonction" #~ msgid "cannot determine hostname" #~ msgstr "Ne peut déterminer le nom du poste (hostname)" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Affiche les informations de USAGER, ou de l'usager courant.\n" #~ "\n" #~ " -a ignorée, par compatibilité avec les autres version\n" #~ " -Z, --context affiche seulement le contexte de sécurité de l'usager " #~ "actif\n" #~ " -g, --group affiche seulement l'IDentificateur du groupe employé\n" #~ " -G, --groups affiche tous les IDs de groupes\n" #~ " -n, --name affiche le nom au lieu du nombre, pour -ugG\n" #~ " -r, --real affiche l'IDentificateur réel au lieu de\n" #~ " celui employé, avec -ugG\n" #~ " -u, --user affiche seulement l'IDentificateur employé de l'usager\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Sans aucune OPTION, afficher les informations utiles d'identification.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "--context (-Z) ne fonctionne que sur un noyau activé pour SELinux" #~ msgid "cannot print security context when user specified" #~ msgstr "" #~ "ne peut afficher le contexte de sécurité quand un usager est spécifié" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "ne peut afficher le contexte de sécurité quand SELinux n'est pas activé " #~ "ou lors de\n" #~ "l'affichage de l'ID d'un usager différent" #~ msgid "can't get process context" #~ msgstr "Ne peut trouver le contexte de traitement" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "ne peut afficher \"un seul\" parmi plusieurs choix" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "Ne peut afficher seulement les noms ou les IDentificateurs réels\n" #~ "dans le format par défaut." #~ msgid "cannot find name for user ID %lu" #~ msgstr "ne peut trouver le nom de l'usager ID %lu" #~ msgid " groups=" #~ msgstr " groupes=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "avertissement : %s : échec de l'établissement du contexte %s" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Attention : pas pris en compte --preserve-context ; ce noyau n'a pas " #~ "SELinux-enabled activé." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "" #~ "Attention : pas pris en compte --context (-Z) ; ce noyau n'a pas SELinux-" #~ "enabled activé." #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "l'option strip est invalide lors de l'installation d'un répertoire" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "" #~ "le répertoire cible n'est pas permis lors de l'installation d'un " #~ "répertoire" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "ne peut forcer le contexte cible à %s et le préserver" #~ msgid "invalid mode %s" #~ msgstr "mode invalide %s" #~ msgid "cannot change ownership of %s" #~ msgstr "Ne peut changer l'appartenance de %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "ne peut initialiser les estampilles de date-heure pour %s" #~ msgid "fork system call failed" #~ msgstr "échec de l'appel système fork()" #~ msgid "cannot run strip" #~ msgstr "ne peut exécuter strip" #~ msgid "waiting for strip" #~ msgstr "en attente de bande" #~ msgid "strip process terminated abnormally" #~ msgstr "le traitement en chaîne s'est arrêté anormalement" #~ msgid "invalid user %s" #~ msgstr "usager invalide %s" #~ msgid "invalid group %s" #~ msgstr "groupe invalide %s" #~ msgid "creating directory %s" #~ msgstr "création du répertoire %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Usage: %s [OPTION]... [-T] SOURCE CIBLE\n" #~ " ou: %s [OPTION]... SOURCE... RÉPERTOIRE\n" #~ " ou: %s [OPTION]... -t RÉPERTOIRE SOURCE...\n" #~ " ou: %s [OPTION]... -d RÉPERTOIRE...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Dans les trois premiers formats, copier la SOURCE vers la DESTINATION ou " #~ "des\n" #~ "fichiers de plusieurs SOURCE(S) vers un RÉPERTOIRE existant, tout en " #~ "initialisant\n" #~ "les modes de protection et l'appartenance propriétaire/groupe. Dans le\n" #~ "4e format, créer tous les composants des RÉPERTOIRES spécifiés.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTRÔLE] archive chaque fichier de destination\n" #~ " -b identique à --backup mais n'accepte pas " #~ "d'argument\n" #~ " -c (ignoré)\n" #~ " -d, --directory traite tous les arguments comme des noms\n" #~ " de répertoire ; crée tous les composants\n" #~ " des répertoires spécifiés\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D créer tous les composants de tête de la\n" #~ " DESTINATION excepté le dernier\n" #~ " ensuite copier la SOURCE vers la " #~ "DESTINATION\n" #~ " -g, --group=GROUPE attribuer l'appartenance au GROUPE,\n" #~ " plutôt que le groupe du processus courant\n" #~ " -m, --mode=MODE initialiser les permissions d'accès au MODE\n" #~ " (comme par chmod), au lieu de rwxrr-xr-x\n" #~ " -o, --owner=PROPRIÉTAIRE attribuer l'appartenance au PROPRIÉTAIRE\n" #~ " (par le super-usager seulement)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps conserve les dates d'accès/ modification\n" #~ " des fichiers SOURCES aux fichiers de " #~ "destination correspondants\n" #~ " -s, --strip enleve les tables de symboles\n" #~ " -S, --suffix=SUFFIXE écrase le SUFFIXE usuel d'archivage\n" #~ " -t, --target-directory=RÉPERTOIRE copie tous les arguments de la " #~ "SOURCE dans le RÉPERTOIRE\n" #~ " -T, --no-target-directory traite DEST comme un fichier normal\n" #~ " -v, --verbose affiche le nom de chaque répertoire créé\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context préserve le contexte de sécurité SELinux\n" #~ " -Z, --context=CONTEXT établit le contexte de sécurité SELinux des " #~ "fichiers et répertoires\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Le suffixe d'archive est « ~ », initialisé autrement avec --suffix ou\n" #~ "SIMPLE_BACKUP_SUFFIX. La méthode du contrôle de version peut être " #~ "sélectionné\n" #~ "par l'option --backup ou par VERSION_CONTROL par le bias des variables\n" #~ "d'environnement selon les valeurs suivantes:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Pour chaque paire de lignes en entrée ayant des champs de fusion " #~ "identiques,\n" #~ "afficher une ligne sur la sortie standard.\n" #~ "Le champ de fusion par défaut est le premier, délimité par un blanc.\n" #~ "Si FICHIER1 ou FICHIER2 (pas les 2) est -, lire de l'entrée standard.\n" #~ "\n" #~ " -a COTÉ afficher les lignes non repérables venant du \n" #~ " fichier COTÉ\n" #~ " -e VIDE remplacer les champs d'entrée manquants par VIDE\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case ignore la casse lors de la comparaison de champs\n" #~ " -j CHAMP équivalent à « -1 CHAMP -2 CHAMP »\n" #~ " -o FORMAT respecte FORMAT lors de la construction de la ligne\n" #~ " de sortie\n" #~ " -t CAR utilise CAR comme délimiteur de champs d'entrée\n" #~ " et de sortie\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v NOFICHIER comme -a NOFICHIER, mais supprime les lignes jointes " #~ "sur la sortie\n" #~ " -1 CHAMP fusionne sur le champs CHAMP du fichier 1\n" #~ " -2 CHAMP fusionne sur le champs CHAMP du fichier 2\n" #~ " --check-order vérifie que l'entrée est triée, même\n" #~ " si toutes les lignes en entrée sont appairées\n" #~ " --nocheck-order ne vérifie pas que l'entrée est triée\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "À moins que -t CAR ne soit fourni, les blancs de tête séparent\n" #~ "les champs et sont ignorés sinon les champs sont séparés par CAR.\n" #~ "Chaque CHAMP est un numéro de champ à partir de 1.\n" #~ "FORMAT est une, ou plus, spécifications séparées par une virgule ou " #~ "blanc,\n" #~ "chacun étant « NOFICHIER.CHAMP » ou « 0 ». Par défaut FORMAT affiche le\n" #~ "champ fusionné, les champs restants de FICHIER1 et de FICHIER2, tous " #~ "séparés par CAR.\n" #~ "\n" #~ "Important: FILE1 et FILE2 doivent être triés sur les champs de jointure.\n" #~ "E.g., use `sort -k 1b,1' si `join' n'a pas d'options.\n" #~ "Si l'entrée n'est pas triée et quelques lignes ne peuvent être " #~ "fusionnées,\n" #~ "un message d'alerte l'indiquera.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "Fichier %d n'est pas dans l'ordre attendu" #~ msgid "invalid field number: %s" #~ msgstr "numéro de champ invalide: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "spécificateur de champ invalide: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "numéro de fichier invalide le champ spécifié: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "jonction incompatible des champs %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "chaînes de remplacement de champ vide conflictuelles" #~ msgid "empty tab" #~ msgstr "tabulation vide" #~ msgid "multi-character tab %s" #~ msgstr "tab multi-caractères %s" #~ msgid "incompatible tabs" #~ msgstr "tabulations incompatibles" #~ msgid "both files cannot be standard input" #~ msgstr "Les deux fichiers ne peuvent pas être à l'entrée standard." #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " ou: %s -l [SIGNAL]...\n" #~ " ou: %s -t [SIGNAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Transmettre les signaux aux processus ou donner la liste des signaux.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " utiliser le nom ou le numéro du signal à transmettre.\n" #~ " -l, --list donner la liste des noms de signaux.\n" #~ " -t, --table afficher la table des informations relatives aux " #~ "signaux.\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SIGNAL peut être un nom comme « HUP » ou un numéro de signal comme « 1 »\n" #~ "ou un état de fin d'exécution d'un processus terminé par un signal.\n" #~ "PID est un entier; si négatif il identifie un groupe de processus.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: signal invalide" #~ msgid "%s: invalid process id" #~ msgstr "%s: identificateur de processus invalide" #~ msgid "invalid option -- %c" #~ msgstr "option invalide --%c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: signaux multiples spécifiés" #~ msgid "multiple -l or -t options specified" #~ msgstr "options multiples -l ou -t spécifiées" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "ne peut combiner le signal avec -l ou -t" #~ msgid "no process ID specified" #~ msgstr "aucun ID de processus spécifié" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s FICHIER FICHIER2\n" #~ " ou: %s OPTION\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Appeler la fonction link() pour créer un lien nommé FICHIER2 sur le " #~ "FICHIER1 existant.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "Ne peut créer le lien %s vers %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: AVERTISSEMENT: créer un lien direct vers un lien symbolique n'est pas " #~ "portable" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: lien direct non permis pour un répertoire" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: ne peut écraser le répertoire" #~ msgid "%s: replace %s? " #~ msgstr "%s: remplacer %s? " #~ msgid "creating symbolic link %s" #~ msgstr "création d'un lien symbolique %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "création d'un lien symbolique %s vers %s " #~ msgid "creating hard link to %.0s%s" #~ msgstr "création d'un lien direct sur %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "création d'un lien direct %s" #~ msgid "creating hard link %s => %s" #~ msgstr "création d'un lien direct de %s vers %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Usage: %s [OPTION]... [-T] SOURCE NOM_DU_LIEN (1er format)\n" #~ " ou: %s [OPTION]... CIBLE (2e format)\n" #~ " ou: %s [OPTION]... CIBLE... RÉPERTOIRE (3e format)\n" #~ " ou: %s [OPTION]... -t RÉPERTOIRE CIBLE... (4e format)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Dans le 1er format, créer un lien vers la CIBLE avec le NOM_DU_LIEN\n" #~ "Dans le 2e format, créer un lien vers la CIBLE dans le répertoire " #~ "courant.\n" #~ "Dans le 3e et 4e format, créer des liens vers chaque CIBLE dans le " #~ "RÉPERTOIRE.\n" #~ "Créer des liens directs (hard link) par défaut, les liens symboliques " #~ "avec --symbolic.\n" #~ "Lors de la création de liens directs, chaque CIBLE doit exister.n\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTRÔLE] archiver chaque fichier existant de " #~ "destination\n" #~ " -b identique à --backup mais n'accepte pas " #~ "d'argument\n" #~ " -d, -F, --directory permettre au super usager de créer des " #~ "liens directs (hard)\n" #~ " sur des répertoires (note: va " #~ "probablement échouer en\n" #~ " raisons de restrictions système même pour " #~ "le super usager)\n" #~ " -f, --force détruire les destinations,\n" #~ " sans demander confirmation\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference avec --force, détruire la destination qui\n" #~ " est un lien symbolique vers un répertoire \n" #~ " -i, --interactive demander confirmation avant de détruire\n" #~ " les destinations\n" #~ " -s, --symbolic créer un lien symbolique au lieu d'un\n" #~ " lien direct\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=SUFFIXE écrase le suffixe d'archivage courant\n" #~ " -t, --target-directory=RÉPERTOIRE spécifie RÉPERTOIRE dans lequel les " #~ "liens seront créés\n" #~ " -T, --no-target-directory traite le NOM_DU_LIEN comme un fichier " #~ "normal\n" #~ " -v, --verbose affiche le nom de chaque fichier lié\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "Ne peut combiner --target-directory et --no-target-directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Usage: %s [OPTION]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Afficher le nom de l'usager courant.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "pas de nom d'usager (login name)" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "valeur invalide ignorée de la variable d'environnement QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "" #~ "La taille des colonnes est ignorée:\n" #~ "la variable d'environnement COLUMNS %s est invalide." #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "La taille de tabulation est ignorée:\n" #~ "la variable d'environnement TABSIZE %s est invalide." #~ msgid "invalid line width: %s" #~ msgstr "largeur de ligne invalide: %s" #~ msgid "invalid tab size: %s" #~ msgstr "taille de tabulation invalide: %s" #~ msgid "invalid time style format %s" #~ msgstr "format de style de temps invalide %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "préfixe non reconnu: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "" #~ "la valeur de la variable d'environnement LS_COLORS ne peut être analysée " #~ "syntaxiquement" #~ msgid "cannot open directory %s" #~ msgstr "ne peut ouvrir le répertoire %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "ne peut déterminer le périphérique et l'inode de %s" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: ne peut lister un répertoire déjà listé" #~ msgid "closing directory %s" #~ msgstr "fermeture du répertoire %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "ne peut comparer les noms de fichier %s et %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Afficher les informations à propos des FICHIERS (du répertoire\n" #~ "courant par défaut). Trier les entrées alphabétiquement si aucune\n" #~ "des options -cftuvSUX ni --sort n'est utilisée.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all ne pas ignorer les entrées débutant par .\n" #~ " -A, --almost-all ne pas inclure dans la liste . et ..\n" #~ " --author avec -l, afficher l'auteur de chaque " #~ "fichier\n" #~ " -b, --escape afficher en octal les caractères non-" #~ "graphiques\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=TAILLE utiliser la TAILLE de blocs\n" #~ " -B, --ignore-backups ne pas inclure dans la liste,\n" #~ " les entrées se terminant par ~\n" #~ " -c lister les fichiers triés selon leur date " #~ "de\n" #~ " modification; \n" #~ " avec -lt: trier par la date de " #~ "modification\n" #~ " et afficher la date de modification " #~ "(ctime)\n" #~ " avec -l: trier par nom et afficher avec\n" #~ " avec la date de modification (ctime)\n" #~ " autrement: trier par la date de modification " #~ "(ctime)\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C afficher en colonnes\n" #~ " --color[=PARAM] afficher avec une couleur pour distinguer " #~ "les types de fichiers\n" #~ " de fichiers, selon un des PARAMètres\n" #~ " suivants: `never', `always', ou `auto'\n" #~ " -d, --directory lister les noms de répertoires plutôt\n" #~ " que leur contenu et ne pas déférencer les " #~ "liens symboliques\n" #~ " -D, --dired générer une sortie adaptée pour le mode\n" #~ " « dired » de Emacs\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f ne trie pas, active -aU, désactive -ls --" #~ "color\n" #~ " -F, --classify ajoute un indicateur (parmi */=>@|) aux " #~ "entrées\n" #~ " --file-type identique mais sans ajout de `*'\n" #~ " --format=MODE affiche selon le MODE : -x croisé,\n" #~ " -m avec virgules, -x horizontal, -l long,\n" #~ " -1 en colonne simple, -l en mode bavard,\n" #~ " -C vertical\n" #~ " --full-time identique à -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr "" #~ " -g identique à -l mais n'affiche pas le " #~ "propriétaire\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " groupe les répertoires avant les fichiers.\n" #~ " augmente avec l'option a --sort, mais tout " #~ "usage\n" #~ " de --sort=none (-U) inhibe le groupage\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group dans une longue liste, n'affiche pas les noms " #~ "de groupe\n" #~ " -h, --human-readable avec -l affiche les tailles dans un format " #~ "lisible par l'humain\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si pareil, mais utilise puissance 1000 au lieu " #~ "de 1024\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " suit les liens symboliques de la ligne de " #~ "commande\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " suit chaque lien symbolique de la ligne de " #~ "commande\n" #~ " qui pointe vers un répertoire\n" #~ " --hide=PATRON ne liste pas les entrées implicites " #~ "concordant avec le PATRON du shell\n" #~ " (écrasé par -a ou -A)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=MOT suffixe les noms d'entrée par l'indicateur " #~ "avec le style MOT :\n" #~ " none (défaut), barre oblique (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode affiche le numéro d'index de chaque fichier\n" #~ " -I, --ignore=PATRON ne liste pas les entrées implicites\n" #~ " concordant avec le PATRON du shell\n" #~ " -k identique à --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l utiliser le format long d'affichage\n" #~ " -L, --dereference afficher les entrées pointées par des\n" #~ " liens symboliques, monter l'information " #~ "pointée par le lien\n" #~ " -m remplir la largeur par une liste d'entrées\n" #~ " séparée par des virgules\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid identique à -l mais en listant les valeurs " #~ "numériques\n" #~ " des UID et GID\n" #~ " -N, --literal afficher les noms bruts (ne pas traiter les " #~ "caractères\n" #~ " de contrôle spécialement)\n" #~ " -o identique à -l mais sans lister " #~ "l'information de groupe\n" #~ " -p, --indicator-style=slash\n" #~ " accoler l'indicateur / aux répertoires\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars afficher ? au lieu de caractères\n" #~ " non-graphiques\n" #~ " --show-control-chars afficher les caractères non graphiques\n" #~ " tel quel (par défaut)\n" #~ " -Q, --quote-name encapsuler chaque nom d'entrée entre\n" #~ " guillemets\n" #~ " --quoting-style=MOT utiliser le style d'encapsultation selon le " #~ "MOT clé\n" #~ " suivant: literal, shell, shell-always, c, " #~ "escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse affiche en ordre inverse lors du tri\n" #~ " -R, --recursive affiche les sous-répertoires récursivement\n" #~ " -s, --size affiche la taille de chaque fichier, en " #~ "blocs\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S trie selon la taille des fichiers\n" #~ " --sort=MODE trie selon le MODE plutôt que le nom : aucun " #~ "-U, \n" #~ " extension -X, taille -S, date -t, version -" #~ "v\n" #~ " --time=MODE avec -l, affiche la date selon le MODE au " #~ "lieu de\n" #~ " la date de modification :\n" #~ " date : atime -u, access -u, use -u, ctime " #~ "-c,\n" #~ " ou status -c ; utilise date spécifiée " #~ "comme clé de tri\n" #~ " si --sort=date\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STYLE avec -l, affiche les dates selon STYLE :\n" #~ " full-iso, long-iso, iso, locale, " #~ "+FORMAT.\n" #~ " FORMAT est interprété comme « date » ; si " #~ "FORMAT est\n" #~ " FORMAT1FORMAT2, " #~ "FORMAT1 s'applique aux\n" #~ " fichiers non récents et FORMAT2 aux " #~ "fichiers récents ;\n" #~ " si STYLE est préfixé par « posix- », " #~ "STYLE prend effet\n" #~ " seulement en dehors du particularisme " #~ "POSIX\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t trierselon la date de modification:\n" #~ " -T, --tabsize=TAILLE utiliser la tabulation selon TAILLE\n" #~ " pour chaque colonne au lieu de 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u avec -lt: trier selon la date du dernier " #~ "accès;\n" #~ " avec -l: afficher la date d'accès et trier " #~ "par nom\n" #~ " -U ne pas trier: afficher selon l'ordre\n" #~ " original des entrées d'un répertoire\n" #~ " -v trier par version\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=COLS fixe la largeur de l'écran au lieu de la " #~ "valeur courante\n" #~ " -x liste les entrées en ligne au lieu de " #~ "colonne\n" #~ " -X trie alphabétiquement par extension " #~ "d'entrée\n" #~ " -Z, --context affiche tout contexte de sécurité SELinux de " #~ "chaque fichier\n" #~ " -1 liste un fichier par ligne\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Par défaut, la couleur n'est pas utilisée pour distinguer les différents " #~ "types\n" #~ "de fichiers. Cela est équivalent à l'utilisation de l'option --" #~ "color=none. \n" #~ "L'utilisation de l'option --color sans l'argument WHEN est équivalent à\n" #~ "l'utilisation de --colors=always. Avec l'option --color=auto, les codes " #~ "de\n" #~ "couleur sont transmis vers la sortie standard si celle-ci est reliée à " #~ "un \n" #~ "terminal (tty). La variable d'environnement LS_COLORS peut influer sur " #~ "les couleurs\n" #~ "et peut être initialisé facilement par la commande dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "État de fin d'exécution est 0 si OK, 1 si un problème mineur est survenu, " #~ "2 si un trouble sérieux est survenu.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Usage: %s [OPTION] [FICHIER]...\n" #~ "Afficher ou vérifier les sommes de contrôle %s (%d-bits).\n" #~ "Sans FICHIER, ou quand FICHIER est -, lire de l'entrée standard.\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary lire en mode binaire (par défaut à moins de " #~ "lire à partir de tty stdin)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary écrire en binaire sur la console.\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check lire les sommes %s à partir des FICHIER et les " #~ "vérifier\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text lire en mode texte (par défaut la lecture est " #~ "faite de tty stdin)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text lire en mode texte (par défaut)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Les deux options suivantes sont utiles seulement lors de la vérification\n" #~ "des sommes de contrôle:\n" #~ " --status ne rien afficher, sauf le constat indiquant le " #~ "succès\n" #~ " -w, --warn avertir à propos des lignes de contrôle mal " #~ "formatées\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Les sommes sont calculées selon la description de %s. Lors de la " #~ "vérification,\n" #~ "l'entrée devrait être formellement une sortie de ce programme. Le mode " #~ "par défaut\n" #~ "est d'afficher la ligne avec la somme de contrôle, un caractère " #~ "indiquant\n" #~ "le type (« * » pour binaire, « » pour texte) et un nom pour chaque " #~ "FICHIER.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: trop de lignes de somme de contrôle" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: ligne de somme de contrôle %s mal formatée" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: ÉCHEC d'ouverture ou de lecture.\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: erreur de lecture." #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: aucune ligne de somme de contrôle %s repérée." #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "AVERTISSEMENT: % de % fichier listé n'a pu être lu." #~ msgstr[1] "" #~ "AVERTISSEMENT: % de % fichiers listés n'ont pu être lus." #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "AVERTISSEMENT: % de % somme de contrôle ne concorde pas." #~ msgstr[1] "" #~ "AVERTISSEMENT: % de % sommes de contrôle ne concordent " #~ "pas." #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "Les options --binary et --text sont sans effet lors de la\n" #~ "la vérification des sommes de contrôle." #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "" #~ "L'option --status n'a de sens que si la vérification des sommes\n" #~ "de contrôle est demandée." #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "" #~ "L'option --warn n'a de sens que si la vérification des sommes\n" #~ "de contrôle est demandée." #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Usage: %s [OPTION] RÉPERTOIRE...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Créer le(s) RÉPERTOIRE(s) si il(s) n'existe(nt) pas.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MODE établit l'accès fichier à MODE (comme avec chmod),\n" #~ " et non a=rwx - umask\n" #~ " -p, --parents pas d'erreur si existant, fait les répertoires " #~ "parents au besoin :\n" #~ " -v, --verbose affiche un message pour chaque répertoire créé\n" #~ " -Z, --context=CTX établit à CTX le contexte de sécurité SELinux de " #~ "chaque\n" #~ " répertoire créé\n" #~ msgid "created directory %s" #~ msgstr "création du répertoire %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Usage: %s [OPTION] NOM...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "Créer un relais nommé (named pipe FIFO) qui portera le NOM.\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=CTX établit le contexte de sécurité SELinux de chaque " #~ "NAME à CTX\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MODE établit les bits d'accès fichier à MODE, non pas a=rw " #~ "- umask\n" #~ msgid "invalid mode" #~ msgstr "mode invalide" #~ msgid "mode must specify only file permission bits" #~ msgstr "le mode doit seulement spécifier les bits de permission de fichier" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Usage: %s [OPTION]... NOM TYPE [MAJEUR MINEUR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Créer le fichier spécial avec le NOM et le TYPE donné.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=CTX établit le contexte de sécurité SELinux de NAME à " #~ "CTX\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Les deux MAJEUR et MINEUR doivent être spécifiés quand le TYPE est b, c " #~ "ou u\n" #~ "et ils doivent être omis lorsque le TYPE est p. Si MAJEUR et MINEUR avec " #~ "0x ou 0X,\n" #~ "est fourni, ils sont interprétés en hexadécimal; autrement, s'ils " #~ "débutent pas 0, ils\n" #~ "le sont en octal autrement en décimal. Le TYPE peut être:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b créer un fichier spécial de type blocage (avec tampon)\n" #~ " c, u créer un fichier spécial de type caractère (sans tampon) \n" #~ " p créer un relais de type « fifo »\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Les fichiers spéciaux requièrent les numéros majeur et mineur de " #~ "périphériques." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Les FIFOS n'ont pas de numéros mineur et majeur de périphérique." #~ msgid "block special files not supported" #~ msgstr "fichier spécial de bloc n'est pas supporté" #~ msgid "character special files not supported" #~ msgstr "fichier spécial de caractères n'est pas supporté" #~ msgid "invalid major device number %s" #~ msgstr "numéro majeur de périphérique invalide %s" #~ msgid "invalid minor device number %s" #~ msgstr "numéro mineur de périphérique invalide %s" #~ msgid "invalid device %s %s" #~ msgstr "périphérique invalide %s %s" #~ msgid "invalid device type %s" #~ msgstr "type de périphérique invalide %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Usage : %s [OPTION]... [FICHIER]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Créer un fichier ou répertoire temporaire, sûr, et affiche son nom.\n" #~ "si TEMPLATE n'est pas spécifié, employer tmp.XXXXXXXXXX.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory crée un répertoire, et non un fichier\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet supprime le diagnostic du fichier/dir-creation échec\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run ne crée rien; affiche simplement un nom(peu sûr)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=DIR] interprète TEMPLATE en relation avec DIR. si DIR " #~ "n'est\n" #~ " pas sépcifié, employer $TMPDIR si créé, sinon /tmp.\n" #~ " Avec cette option, TEMPLATE ne doit pas être un nom " #~ "absolu.\n" #~ " Au contraire d'avec -t, TEMPLATE peut contenir des " #~ "slashs, mais\n" #~ " même ici, mktemp ne crée seulement que le composant " #~ "final.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p DIR emploie DIR comme préfixe ; implique -t [caduc]\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t interprète TEMPLATE comme un seul composant de nom de " #~ "fichier,\n" #~ " lié à un répertoire : $TMPDIR, si crée ; sinon le\n" #~ " répertoire spécifié via -p ; sinon /tmp [caduc]\n" #~ msgid "too many templates" #~ msgstr "trop de patrons" #~ msgid "too few X's in template %s" #~ msgstr "trop peu de X dans le patron %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "patron invalide, %s, contient des séparateurs de répertoires" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "patron invalide, %s ; avec --tmpdir, cela peut ne pas être parfait " #~ msgid "failed to create directory via template %s" #~ msgstr "échec de création du répertoire à partir du patron %s" #~ msgid "failed to create file via template %s" #~ msgstr "échec de création du fichier à partir du patron %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Renommer la SOURCE à la DESTINATION ou déplacer la SOURCE vers la " #~ "DESTINATION.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=CONTRÔLE] archiver chaque fichier existant de " #~ "destination\n" #~ " -b identique à --backup mais n'accepte pas " #~ "d'argument\n" #~ " -f, --force ne pas demander de confirmation avant " #~ "d'écraser\n" #~ " -i, --interactive demander confirmation avant d'écraser\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes enlève les « / » en suffixe de chacun\n" #~ " des arguments SOURCE\n" #~ " -S, --suffix=SUFFIXE écrase le suffixe usuel d'archivage\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=RÉPERTOIRE\n" #~ " déplacer tous les arguments SOURCE vers\n" #~ " le RÉPERTORIE\n" #~ " -T, --no-target-directory traiter la CIBLE comme un fichier normal\n" #~ " -u, --update déplacer seulement lorsque les fichiers " #~ "SOURCE sont\n" #~ " plus récents que les fichiers de la " #~ "cible ou lorsque\n" #~ " les fichiers de la cible sont manquants\n" #~ " -v, --verbose expliquer ce qui a été fait\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Usage: %s [OPTION] [COMMANDE] [ARG]...\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Exécuter la COMMANDE avec un niveau de priorité ajusté.\n" #~ "Sans aucune COMMANDE, afficher le niveau courant de priorité. L'étendue " #~ "des niveaux va de\n" #~ "%d (priorité la plus favorable d'ordonnancement) à %d (la moins " #~ "favorable).\n" #~ "\n" #~ " -n, --adjustment=N ajouter la valeur entière N à la valeur de la " #~ "priorité (par défaut 10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "ajustement invalide %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "Une commande doit être soumise avec un ajustement." #~ msgid "cannot get niceness" #~ msgstr "ne peut obtenir le niveau de priorité" #~ msgid "cannot set niceness" #~ msgstr "ne peut initialiser le niveau de priorité" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Afficher chaque FICHIER sur la sortie standard, avec numéros de ligne.\n" #~ "Sans FICHIER, ou FICHIER est -, lire de l'entrée standard.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STYLE utiliser STYLE pour numéroter les " #~ "lignes\n" #~ " -d, --section-delimiter=CC utiliser CC pour séparer les pages\n" #~ " logiques\n" #~ " -f, --footer-numbering=STYLE utiliser STYLE pour numéroter les " #~ "lignes\n" #~ " de bas de page\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STYLE utiliser STYLE pour numéroter les " #~ "lignes\n" #~ " d'en-tête\n" #~ " -i, --page-increment=N incrémenter de N de lignes à chaque " #~ "ligne\n" #~ " -l, --join-blank-lines=N regrouper N de lignes vides\n" #~ " en une seule ligne\n" #~ " -n, --number-format=FORMAT insérer un numéro de ligne selon " #~ "FORMAT\n" #~ " -p, --no-renumber ne pas réinitialiser le nombre de " #~ "lignes\n" #~ " aux pages logiques\n" #~ " -s, --number-separator=CHAÎNE ajouter la CHAÎNE après (si possible)\n" #~ " le numéro de ligne\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NUMÉRO utiliser comme premier NUMÉRO de ligne\n" #~ " sur chaque page logique\n" #~ " -w, --number-width=N utiliser le NOMBRE de colonnes pour\n" #~ " numéroter les lignes\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Par défaut, -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn sont sélectionnées.\n" #~ "CC se compose de deux caractères délimiteurs pour séparer les pages " #~ "logiques\n" #~ "un deuxième caractère manquant implique que:\n" #~ "taper \\\\ pour \\. STYLE est une des options parmi:\n" #~ "\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a numérote toutes les lignes\n" #~ " t numérote seulement les lignes non vides\n" #~ " n numérote n lignes\n" #~ " pBRE numérote seulement les lignes ayant une concordance avec " #~ "l'expression\n" #~ " régulière de base, BRE\n" #~ "\n" #~ "FORMAT doit être choisi parmi :\n" #~ "\n" #~ " ln justifié à gauche, sans zéro en préfixe\n" #~ " rn justifié à droite, sans zéro en préfixe\n" #~ " rz justifié à droite, avec zéros en préfixe\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "débordement du numéro de ligne" #~ msgid "invalid header numbering style: %s" #~ msgstr "style de numérotation d'en-tête invalide: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "style de numérotation de corps invalide: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "style de numérotation de pied de page invalide: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "numéro de ligne de départ invalide: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "incrément du nombre de ligne invalide: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "nombre de lignes blanches invalide: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "largeur du champ de la numérotation de ligne invalide: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "format de numérotation de ligne invalide: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " ou: %s OPTION\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Éxécuter la COMMANDe en ignorant les signaux hangup.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Si l'entrée standard est un terminal, la redirige depuis /dev/null.\n" #~ "Si l'entrée standard est un terminal, empile la sortie sur `nohup.out' si " #~ "possible,\n" #~ "sur `$HOME/nohup.out' sinon.\n" #~ "Si fichier standard d'erreur est un terminal, la redirige sur la sortie " #~ "standard.\n" #~ "Pour enregistrer la sortie sur FILE, employez `%s COMMAND > FILE'.\n" #~ msgid "ignoring input" #~ msgstr "les entrées sont ignorées" #~ msgid "failed to open %s" #~ msgstr "échec d'ouverture de %s" #~ msgid "ignoring input and appending output to %s" #~ msgstr "les entrées sont ignorées et la sortie est ajoutée à %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "échec de copie sur stderr lors de l'exécution de la fermeture " #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "ignore l'entrée et redirige stderr sur stdout" #~ msgid "failed to redirect standard error" #~ msgstr "échec de redirection vers l'erreur standard" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Usage: %s [OPTION]... [FICHIER]...\n" #~ " ou: %s [-abcdfilosx]... [FICHIER] [[+]DÉCALAGE[.][b]]\n" #~ " ou: %s --traditional [OPTION]... [FICHIER] [[+]DÉCALAGE[.][b] [+]" #~ "[ÉTIQUETTE][.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Afficher le contenu du FICHIER selon une représentation non ambiguë\n" #~ "par un affichage des octets en octal par défaut sur la sortie standard.\n" #~ "Sans FICHIER, ou quand FICHIER est -, lire de l'entrée standard.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Tous les arguments obligatoires pour les options de formes longues\n" #~ "le sont aussi pour les options de formes courtes.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=BASE afficher les octets selon un adressage\n" #~ " relatif dans la BASE sélectionnée\n" #~ " -j, --skip-bytes=N escamoter les N premiers octets de chaque\n" #~ " fichier\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=N limiter la vidange à N octets lus à " #~ "l'entrée\n" #~ " -s, --strings[=N] afficher les chaînes d'au moins N " #~ "caractères graphiques\n" #~ " -t, --format=TYPE sélectionner les formats de sortie\n" #~ " -v, --output-duplicates ne pas utiliser * pour marquer la\n" #~ " suppression de ligne\n" #~ " -w, --width[=N] afficher N octets par ligne de sortie\n" #~ " --traditional accepter les arguments selon la forme " #~ "traditionnelle\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Les spécifications de format traditionnel peuvent être entremêlées;\n" #~ "ils s'accumulent :\n" #~ " -a identique à -t a, sélectionne les caractères nommés, ignore le " #~ "bit de haut poids\n" #~ " -b identique à -t o1, sélectionne les octets en octal\n" #~ " -c identique à -t c, sélectionne les caractères ASCII ou\n" #~ " les échappements obliques inverses\n" #~ " -d identique à -t u2, sélectionne les décimales non signées sur 2 " #~ "octets\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f identique à -t fF, identifier en nombre flottant\n" #~ " -i identique à -t dI, identifier en entier décimal\n" #~ " -l identique à -t dL, identifier en décimal long\n" #~ " -o identique à -t o2, identifier en octal les unités de 2 octets\n" #~ " -s identique à -t d2, identifier en décimal les unités de 2 octets\n" #~ " -x identique à -t x2, identifier en hexadécimal les unités de 2 " #~ "octets\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Si les formats du 1er et du second appel s'appliquent, le 2e format est " #~ "retenu\n" #~ "si le dernier opérande débute par + ou (si il y a 2 opérandes) un " #~ "chiffre.\n" #~ "Un opérande de décalage signifie -j SAUT. ÉTIQUETTE est la pseudo " #~ "adresse\n" #~ "affichée dès le 1er octet, incrémentée lorsque le vidage mémoire " #~ "s'effectue.\n" #~ "Pour SAUT et ÉTIQUETTE, un préfixe 0x ou 0X indique de l'hexadécimal ;\n" #~ "les suffixes peuvent être . pour l'octal et b pour multiple de 512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "TYPE est fait de une ou plus de ces specifications :\n" #~ "\n" #~ " a caractère nommé, ignore le bit de plus haut poids\n" #~ " c caractère ASCII ou backslash inhibé\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[N] décimal signé, N octets par entier\n" #~ " f[N] point flottant, N octets par entier\n" #~ " o[N] octal, N octets par entier\n" #~ " u[N] décimal non signé N octets par entier\n" #~ " x[N] hexadécimal, N octets par entier\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "N est un nombre. Le TYPE est soit d, o, u ou x, N peut être aussi C " #~ "pour\n" #~ "sizeof(char), S pour sizeof(short), I pour sizeof(int) ou L pour\n" #~ "sizeof(long). Si le TYPE est f, N peut aussi être F pour sizeof(float),\n" #~ "D pour sizeof(double) ou L pour sizeof(long double).\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "BASE est d pour décimal, o pour octal, x pour hexadécimal ou n pour " #~ "aucun.\n" #~ "OCTETS est hexadécimal préfixé par 0x ou 0X, et peut avoir un suffixe " #~ "multiplicateur :\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "L'ajout du suffixe « z » à l'un de ces types affiche des caractères\n" #~ "imprimables à la fin de chaque ligne. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string sans nombre implique 3. --width sans \n" #~ "nombre implique 32. Par défaut, od utilise -A o -t d2 -w16.\n" #~ msgid "invalid type string %s" #~ msgstr "type de chaîne %s invalide" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "type de chaîne %s invalide;\n" #~ "ce système ne permet pas le type entier %lu-byte" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "type de chaîne invalide %s;\n" #~ "ce système ne supporte pas le type en point flottant %lu-byte" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "caractère « %c » est invalide dans le type de chaîne %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "Ne peut aller au delà de la fin combinée des fichiers." #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "La base numérique de sortie est invalide « %c »:\n" #~ "une seule des options doit être sélectionnée parmi les choix [doxn]." #~ msgid "no type may be specified when dumping strings" #~ msgstr "" #~ "Aucun type ne peut être spécifié lors de l'affichage brut des chaînes." #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Mode de compatibilité supporte au plus un fichier." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "octets escamotés + le nombre d'octets lus est trop grand" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "AVERTISSEMENT: largeur invalide %lu; utilise %d à la place." #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=« %s » largeur=%d\n" #~ msgid "standard input is closed" #~ msgstr "L'entrée standard est fermée." #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Coller séquentiellement les lignes correspondantes de chaque\n" #~ "FICHIER, séparé par des tabulations, vers la sortie standard.\n" #~ "Sans FICHIER, ou quand FICHIER est -, lire de l'entrée standard.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LISTE utiliser les caractères de la LISTE au lieu\n" #~ " de tabulations\n" #~ " -s, --serial copier un fichier à la fois au lieu de\n" #~ " le faire en parallèle\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "" #~ "la liste des délimiteurs finit avec un slash inversé non inhibé : %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Usage: %s [OPTION]... NOM...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Diagnostique un construit non portable selon le NOM.\n" #~ "\n" #~ " -p vérifier pour la plupart des système POSIX\n" #~ " -P vérifier pour les noms vides et les \"-\" de tête\n" #~ " --portability vérifier pour tous les systèmes POSIX (équivalent à " #~ "-p -P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "`-' de tête dans un composante du nom de fichier %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "caractère non portable %s dans le nom du fichier %s" #~ msgid "empty file name" #~ msgstr "nom de fichier vide" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "" #~ "%s: incapable de déterminer la longueur maximale d'un nom de fichier" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "la limite %lu est dépassée par la longueur %lu du nom de fichier %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "" #~ "la limite %lu est dépassée par la longueur %lu du composant du nom de " #~ "fichier %s" #~ msgid "Login name: " #~ msgstr "Nom du compte: " #~ msgid "In real life: " #~ msgstr "En réalité: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Répertoire" #~ msgid "Shell: " #~ msgstr "Shell: " #~ msgid "Project: " #~ msgstr "Projet: " #~ msgid "Plan:\n" #~ msgstr "Plan:\n" #~ msgid "Login" #~ msgstr "Login" #~ msgid "Name" #~ msgstr "Nom" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Inactivité" #~ msgid "When" #~ msgstr "Quand" #~ msgid "Where" #~ msgstr "Où" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Usage: %s [OPTION]... [USAGER]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l afficher en format long\n" #~ " -b omettre le répertoire d'attache de l'usager\n" #~ " et son shell en format long\n" #~ " -h omettre le fichier de projet de l'usager en\n" #~ " format long\n" #~ " -p omettre le fichier de plan de l'usager en\n" #~ " format long\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f omettre la ligne de l'en-tête des colonnes\n" #~ " en format court\n" #~ " -w omettre le nom complet de l'usager en format court\n" #~ " -i omettre le nom complet de l'usager et le nom de l'hôte\n" #~ " en format court\n" #~ " -q omettre le nom complet de l'usager, le nom de l'hôte\n" #~ " et le temps d'inactivité en format court\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Une version allégée du programme « finger »; afficher les informations " #~ "relatives à un usager.\n" #~ "Le fichier utmp sera %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "aucun nom d'usager spécifié; au moins doit être spécifié lorsque -l est " #~ "utilisée" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "« --pages=PREMIÈRE_PAGE[:DERNIÈRE_PAGE] » argument manquant" #~ msgid "Invalid page range %s" #~ msgstr "bornes de pages invalides %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "« -l PAGE_LENGTH » nombre invalide de lignes: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "« -N NUMBER » nombre de début de ligne invalide: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "« -o MARGIN » saut de ligne invalide: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "« -w PAGE_WIDTH » nombre invalide de caractères: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "« -W PAGE_WIDTH » nombre invalide de caractères: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "" #~ "Ne peut spécifier le nombre de colonnes lorsqu'imprimant en parallèle." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Ne peut faire un affichage à la fois croisée et en parallèle." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "« -%c': caractères superflus ou nombre invalide dans l'argument: %s" #~ msgid "page width too narrow" #~ msgstr "La largeur de page est trop petite." #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "numéro % de page de départ dépasse le compteur de page %" #~ msgid "Page number overflow" #~ msgstr "débordement du nombre de pages" #~ msgid "Page %" #~ msgstr "Page %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Paginer ou mettre en colonne les FICHIERS pour impression.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +PREMIÈRE_PAGE[:DERNIÈRE_PAGE], \n" #~ " --pages=PREMIÈRE_PAGE[:DERNIÈRE_PAGE]\n" #~ " débuter [stopper] l'impression à la PREMIÈRE_PAGE\n" #~ " ou à la DERNIÈRE_PAGE\n" #~ " -COLUMN\n" #~ " --columns=COLONNES\n" #~ " produire une sortie en COLONNES et imprimer les\n" #~ " les colonnes vers le bas à moins que -a ne soit\n" #~ " utilisé. Équilibrer le nombre de lignes de " #~ "chaque\n" #~ " colonne sur chaque page.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across imprimer les colonnes horizontalement au lieu de\n" #~ " verticalement, utilisé ensemble avec -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " utiliser une notation par chapeau (^G) et octale\n" #~ " avec barre oblique inverse\n" #~ " -d, --double-space\n" #~ " produire une sortie avec double espacement\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMAT\n" #~ " utiliser le FORMAT pour l'en-tête de la date\n" #~ " -e[CAR[LARGEUR]], --expand-tabs[=CAR[LARGEUR]]\n" #~ " faire l'expansion des CARactères (ou de " #~ "tabulation)\n" #~ " selon la LARGEUR de tabulation (par défaut 8)\n" #~ " -F, -f,\n" #~ " --form-feed\n" #~ " utiliser des sauts de page au lieu des sauts de \n" #~ " lignes pour séparer les pages (3 lignes par en-" #~ "tête\n" #~ " avec -f ou 5 lignes par en-tête et bas de page " #~ "sans -f) \n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h EN-TÊTE, --header=EN-TÊTE\n" #~ " centrer l'EN-TÊTE au lieu du nom de fichier dans\n" #~ " l'en-tête de la page, \n" #~ " -h \"\" imprime une ligne blanche.\n" #~ " ne pas utiliser: -h\"\"\n" #~ " -i[CAR[LARGEUR]], --output-tabs[=CAR[LARGEUR]]\n" #~ " remplacer les blancs par des CARactères (ou\n" #~ " de tabulation) selon la LARGEUR de tabulation (8 " #~ "par défaut)\n" #~ " -J, --join-lines\n" #~ " faire la fusion des lignes pleines, inhiber la \n" #~ " troncation des lignes -W, sans alignement des\n" #~ " colonnes -s-sep-string[=CHAÎNE] initialise les " #~ "séparateurs\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l LONGUEUR_DE_PAGE, --length LONGUEUR_DE_PAGE\n" #~ " utiliser LONGUEUR_DE_PAGE au lieu de 66 lignes\n" #~ " (par défaut de lignes est de 56 pour un texte,\n" #~ " avec -f de 63)\n" #~ " -m, --merge imprimer tous les fichiers en parallèle un par\n" #~ " colonne, tronque les lignes, mais joint les\n" #~ " lignes de pleine longueur avec -j\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n, --number-lines[=SÉP[CHIFFRES]]\n" #~ " numéroter les lignes, par des CHIFFRES (5), suivi " #~ "de\n" #~ " SÉParateurs (TAB) par défaut le compteur débute\n" #~ " avec la première ligne du fichier d'entrée\n" #~ " -N, --first-line-number=VALEUR\n" #~ " débuter le compteur avec la VALEUR avec la 1ère " #~ "ligne\n" #~ " de la 1ère page imprimée (voir +PREMIÈRE_PAGE)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o, --indent=MARGE\n" #~ " débuter l'impression de chaque ligne après une\n" #~ " MARGE d'espacement (n'affecte pas -w)\n" #~ " -r, --no-file-warnings\n" #~ " inhiber les avertissements lorsqu'un fichier\n" #~ " ne peut être ouvert\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[CAR], --separator[=CHAÎNE]\n" #~ " séparer les colonnes à l'aide d'un simple " #~ "CARactère\n" #~ " par défaut le caractère de TABulation sans -w et " #~ "'no char»\n" #~ " avec -w et -s[CAR] inhibe la troncation de ligne " #~ "des 3 colonnes\n" #~ " options de 3 colonnes (-COLUMN|-a - COLUMN|-m) " #~ "sauf si -w est utilisé\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SSTRING, --sep-string[=CHAÎNE]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " sépare les colonnes avec CHAÎNE\n" #~ " sans -S : séparateur par défaut < TAB > avec -J et " #~ "< ESPACE >\n" #~ " autrement (identique as -S« »), sans effet sur les " #~ "options\n" #~ " de colonne\n" #~ " -t, --omit-header escamote l'en-tête et le bas de page\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " inhiber l'en-tête et le bas de page, éliminer\n" #~ " les agencements de page par saut de page indiqués\n" #~ " dans les fichiers d'entrée\n" #~ " -v, --show-nonprinting\n" #~ " utiliser la notation octale avec barre oblique\n" #~ " inverse\n" #~ " -w LARGEUR_DE_PAGE,\n" #~ " --width=LARGEUR_DE_PAGE\n" #~ " utiliser LARGEUR_DE_PAGE au lieu de 72 colonnes\\n" #~ "\"\n" #~ " tronquer les lignes (voir aussi l'option -j)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W LARGEUR_DE_PAGE,\n" #~ " --page-width=LARGEUR_DE_PAGE\n" #~ " toujours utiliser une LARGEUR_DE_PAGE de 72 " #~ "caractères,\n" #~ " tronque les lignes, sauf lorsque l'option -J est " #~ "utilisée\n" #~ " sans interférence avec -S ou -s\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-t est implicite si PAGE_LENGTH <= 10. Sans FICHIER, ou quand\n" #~ "FICHIER est -, lit l'entrée standard.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Usage: %s [VARIABLE]...\n" #~ " ou: %s OPTION\n" #~ "Si aucune VARIABLE d'environnement n'est spécifiée, les afficher toutes.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "AVERTISSEMENT: %s: caractère(s) suivant le caractère de constante ignoré" #~ "(s)" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " ou: %s OPTION\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Affiche les ARGUMENTS selon le FORMAT, ou exécute selon OPTION :\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "Le FORMAT contrôle la sortie comme la fonction printf() en C.\n" #~ "Les séquences interprétées sont:\n" #~ "\n" #~ " \\\" guillemets\n" #~ " \\0NNN caractère ayant la valeur octale NNN (1 à 3 chiffres)\n" #~ " \\\\ barre oblique inverse\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a bip sonore d'alerte\n" #~ " \\b retour arrière\n" #~ " \\c ne pas afficher d'autres informations sur la sortie\n" #~ " \\f saut de page\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n saut de ligne\n" #~ " \\r retour de chariot\n" #~ " \\t tabulation horizontale\n" #~ " \\v tabulation verticale\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH caractère ayant la valeur hexadécimale HH (1 à 2 " #~ "chiffres)\n" #~ "\n" #~ " \\uHHHH caractère Unicode (ISO/IEC 10646) ayant la valeur " #~ "hexadécimale HHHH (4 chiffres)\n" #~ " \\UHHHHHHHH caractère Unicode ayant la valeur hexadécimal HHHHHHHH (8 " #~ "chiffres)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% un simple %\n" #~ " %b ARGUMENT en tant que chaîne avec « \\ » d'échappement " #~ "interprétés,\n" #~ " sauf que l'échappement en octal est de la forme \\0 or \\0NNN\n" #~ "\n" #~ "ainsi que toutes les spécifications de format C se terminant par une des\n" #~ "options diouxXfeEgGcs, avec ARGUMENT converti d'abord au type approprié.\n" #~ "Les largeurs variables sont supportées.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: valeur numérique attendue." #~ msgid "%s: value not completely converted" #~ msgstr "%s: valeur pas complètement convertie." #~ msgid "missing hexadecimal number in escape" #~ msgstr "Nombre hexadécimal manquant dans l'échappement." #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "nom de caractère universel invalide \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "largeur de champ invalide: %s" #~ msgid "invalid precision: %s" #~ msgstr "précision invalide: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: spécification invalide de conversion" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "AVERTISSEMENT: arguments superflus ignorés, débutant avec %s" #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (pour regexp %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Usage: %s [OPTION]... [ENTRÉE]... (sans l'option -G)\n" #~ " ou: %s -G [OPTION]... [ÉNTRÉE [SORTIE]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Produire un index permuté, incluant le contexte des mots des fichiers " #~ "d'entrée.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference affiche les références générées " #~ "automatiquement\n" #~ " -G, --traditional se comporte plutôt comme en System V " #~ "« ptx »\n" #~ " -F, --flag-truncation=CHAÎNE utilise CHAÎNE pour indiquer la " #~ "troncation\n" #~ " de ligne\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=CHAÎNE nom de la macro à utiliser au lieu de « " #~ "xx »\n" #~ " -O, --format=roff générer la sortie comme des directives " #~ "roff\n" #~ " -R, --right-side-refs placer les références à droite, sans " #~ "décompte -w\n" #~ " -S, --sentence-regexp=REGEXP pour la fin des lignes ou des phrases\n" #~ " -T, --format=tex générer la sortie comme des directives " #~ "TeX\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP utiliser REGEXP pour établir la " #~ "concordance avec chaque mot\n" #~ " -b, --break-file=FICHIER utiliser les coupures de mots de ce " #~ "FICHIER\n" #~ " -f, --ignore-case ramener les minuscules en majuscules " #~ "pour le trie\n" #~ " -g, --gap-size=N espacer de N blancs les colonnes entre " #~ "les champs\n" #~ " -i, --ignore-file=FICHIER lire la liste des mots à ignorer de ce " #~ "FICHIER\n" #~ " -o, --only-file=FICHIER lire la liste des mots uniquement de ce " #~ "FICHIER\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references donner la référence du 1er champ de " #~ "chaque ligne\n" #~ " -t, --typeset-mode - option non implanté -\n" #~ " -w, --width=N largeur des colonnes, références " #~ "exclues\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Sans FICHIER, ou quand le FICHIER est -, lire de l'entrée standard. -F " #~ "par défaut.\n" #~ msgid "invalid gap width: %s" #~ msgstr "largeur de saut invalide: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Afficher le nom complet du fichier du répertoire courant.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "échec de chdir vers %s" #~ msgid "failed to stat %s" #~ msgstr "échec d'évaluation par stat() de %s" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "" #~ "ne peut repérer l'entrée du répertoire dans %s concordant avec le inode" #~ msgid "ignoring non-option arguments" #~ msgstr "rejet des arguments qui ne sont pas des options reconnues" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Usage: %s [OPTION]... FICHIER\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Afficher la valeur d'un lien symbolique sur la sortie standard.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize canonise en suivant récursivement chaque " #~ "symlink de\n" #~ " chaque composant du nom donné ;\n" #~ " mais où au moins le dernier composant " #~ "doit exister\n" #~ " -e, --canonicalize-existing canonise en suivant récursivement tous " #~ "les symlink\n" #~ " de chaque composant du nom donné,\n" #~ " où tous les composants doivent exister\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing canonise en suivant récursivement chaque " #~ "symlink\n" #~ " de chaque composant du nom donné,\n" #~ " sans que l'existence des composants " #~ "soit obligatoire\n" #~ " -n, --no-newline ne génère pas une nouvelle ligne en fin\n" #~ " -q, --quiet,\n" #~ " -s, --silent supprime la plupart des messages " #~ "d'erreur\n" #~ " -v, --verbose affiche les messages d'erreur\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "FATAL : échec de fermeture de répertoire %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "FATA : ne peut ouvrir .. depuis %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "FATAL : ne peut certifier que %s (retourné à via ..) est sûr" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "FATAL : répertoire %s changé dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "FATAL : ne peut entrer dans le répertoire %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "FATAL :  just-change-to(celui qui vient juste d'être changé) répertoire %" #~ "s a modifié dev/ino" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "AVERTISSEMENT: structure de répertoire circulaire.\n" #~ "Cela signifie très certainement que votre système de fichiers est " #~ "corrompu.\n" #~ "AVISER VOTRE ADMINISTRATEUR SYSTÈME.\n" #~ "Le répertoire suivant fait parti du cycle:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: descendre dans un répertoire protégé en écriture %s?" #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: descendre dans le répertoire %s?" #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: détruire un fichier protégé en écriture %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: détruire %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "détruire le répertoire: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "échec de fermeture du répertoire %s" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "saute %s, du fait qu'il est sur un périphérique différent" #~ msgid "cannot remove directory %s" #~ msgstr "ne peut détruire le répertoire %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "FATAL : ne peut retourner à .. depuis %s" #~ msgid "cannot remove root directory %s" #~ msgstr "ne peut détruire le répertoire racine %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "ne peut supprimer relative-named %s" #~ msgid "cannot restore current working directory" #~ msgstr "ne peut restaurer le répertoire courant de travail" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Essayer `%s ./%s' pour enlever le fichier %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Usage: %s [OPTION]... FICHIER...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Supprime (défait le lien) les FILE(s).\n" #~ "\n" #~ " -f, --force ignore les fichiers inexistants, n'interroge " #~ "jamais\n" #~ " -i interroge avant chaque suppression\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I interroge une fois avant de supprimer plus de 3 " #~ "fichiers, ou\n" #~ " lors de suppresion recursive. Moins intrusif " #~ "que -i,\n" #~ " tout en protégeant contre la plupart des " #~ "erreurs\n" #~ " --interactive[=WHEN] interroge selon WHEN : never, once (-I), ou\n" #~ " always (-i). sans WHEN, interroge tout le " #~ "temps\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system quand une hiérarchie est supprimée " #~ "récursivement, saute\n" #~ " tout répertoire qui est sur un système de " #~ "fichiers différent de celui\n" #~ " de l'argument en question de la ligne de " #~ "commande\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root ne traite `/' de manière spéciale\n" #~ " --preserve-root n'escamote pas `/' (par défaut)\n" #~ " -r, -R, --recursive supprime les répertoires et leur contenu " #~ "récursivement\n" #~ " -v, --verbose explique ce qui va être fait\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Par défaut, rm n'enlève pas les répertoires. Utilisez l'option --" #~ "recursive (-r ou -R)\n" #~ "pour enlever les répertoires, ainsi que tout leur contenu.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Pour enlever un fichier dont le nom début par « - », par exemple « -foo " #~ "»,\n" #~ "utiliser une de ces commandes:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Noter que si vous utilisez « rm » pour détruire un fichier, il est " #~ "habituellement possible\n" #~ "de récupérer le contenu de ce fichier. Si vous désirez plus d'assurance à " #~ "l'effet\n" #~ "de ne pas pouvoir récupérer le contenu, considérez shred.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s : supprimer tous les arguments récursivement ? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s : enlève tous les arguments ? " #~ msgid "removing directory, %s" #~ msgstr "destruction du répertoire %s" #~ msgid "failed to remove directory %s" #~ msgstr "échec de destruction du répertoire %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Usage: %s [OPTION]... RÉPERTOIRE...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Enlever les RÉPERTOIRES, s'ils sont vides.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignorer les échecs qui sont causées uniquement\n" #~ " en raison d'un répertoire qui n'est pas vide\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents enlever le RÉPERTOIRE et ses parent (ie. `rmdir -p a/b/" #~ "c' is\n" #~ " identique à `rmdir a/b/c a/b a'.)\n" #~ " -v, --verbose afficher un diagnostic pour chaque répertoire traité\n" #~ msgid "failed to remove %s" #~ msgstr "échec de suppression de %s" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Usage : %s CONTEXT COMMAND [args]\n" #~ " ou :  %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND " #~ "[args]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Lance un programme dans un contexte de sécurité différent.\n" #~ "Sans CONTEXT ni COMMAND, affiche le contexte de sécurité courant.\n" #~ "\n" #~ " CONTEXT Réalise le contexte de sécurité\n" #~ " -c, --compute calcul le contexte de transition de process avant de " #~ "modifier\n" #~ " -t, --type=TYPE type (pour le même role que le parent)\n" #~ " -u, --user=USER identité USER\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "multiples roles" #~ msgid "multiple types" #~ msgstr "types multiples" #~ msgid "multiple users" #~ msgstr "multiples usagers" #~ msgid "multiple levelranges" #~ msgstr "multiples intervalles de niveaux" #~ msgid "failed to get current context" #~ msgstr "échec de récupération du contexte courant" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "vous devez spécifier -c, -t, -u, -l, -r, ou le contexte" #~ msgid "no command specified" #~ msgstr "aucune commande spécifiée" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "runcon ne peut être utilisé que sur un noyau SELinux" #~ msgid "failed to compute a new context" #~ msgstr "échec de création d'un nouveau contexte" #~ msgid "failed to set new user %s" #~ msgstr "échec de création de nouvel usager %s" #~ msgid "failed to set new type %s" #~ msgstr "échec à la création d'un nouveau type %s" #~ msgid "failed to set new range %s" #~ msgstr "échec à la création d'un nouvel intervalle %s" #~ msgid "failed to set new role %s" #~ msgstr "échec à la création d'un nouveau rôle %s" #~ msgid "unable to set security context %s" #~ msgstr "incapable d'établir le contexte de sécurité %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Usage: %s [OPTION]... DERNIER\n" #~ " ou: %s [OPTION]... PERMIER DERNIER\n" #~ " ou: %s [OPTION]... PREMIER INCRÉMENT DERNIER\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Affiche les nombres de PREMIER jusqu'à DERNIER,\n" #~ "selon le PAS d'incrémentation.\n" #~ "\n" #~ " -f, --format=FORMAT utilise FORMAT de style virgule flottante " #~ "printf\n" #~ " -s, --separator=CHAÎNE utilise CHAÎNE pour séparer les nombres " #~ "(défaut : \\n)\n" #~ " -w, --equal-width équilibre la largeur en remplissant de zéros " #~ "de tête\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Si PREMIER ou PAS est omis, il prend la valeur 1 par défaut.\n" #~ "La valeur PAS par défaut est 1 même lorsque DERNIER est plus petit que " #~ "PREMIER.\n" #~ "PREMIER, PAS et DERNIER sont interprétés en notation flottante.\n" #~ "PAS est habituellement positif si PREMIER est plus petit que DERNIER, et\n" #~ "PAS est habituellement négatif si PREMIER est plus grand que DERNIER.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "FORMAT doit permettre d'afficher un argument de type `double' ;\n" #~ "il est par défaut à %.PRECf si PREMIER, PAS, et DERNIER sont tous " #~ "décimaux en\n" #~ "notation fixe avec une précision maximum PREC, et à %g sinon.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "arguement en virgule flottante invalide: %s" #~ msgid "no %% directive in format string %s" #~ msgstr "pas de directive %% dans la chaîne de format %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "Trop de directives %% dans la chaîne de format %s" #~ msgid "invalid format string: %s" #~ msgstr "format de chaîne invalide: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "format de chaîne ne peut pas être spécifié quand l'impression est égal à " #~ "la largeur des chaînes" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage : %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " ou : %s OPTION\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Élimine tous groupes supplémentaires, admet le user-ID et le group-ID de\n" #~ "USER spécifique(ID numérique ou nom), et exécute COMMAND avec les " #~ "ARGUMENTs spécifiés.\n" #~ "Quitte avec le statut 111 si incapable d'admettre les UID et GID requis.\n" #~ "Autrement quitte avec le statut d'exécution de COMMAND.\n" #~ "Ce programme est utile lorsqu'exécuté par root (UID usager est zéro).\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] établit aussi le group-ID primaire à GID numérique, " #~ "et\n" #~ " (si spécifié) d'autres group-IDs à GID1, ...\n" #~ msgid "unknown user-ID: %s" #~ msgstr "user-ID inconnu : %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "pour employer user-ID %s vous devez employer aussi -g" #~ msgid "failed to set supplemental group(s)" #~ msgstr "ne peut établir de groupe(s) supplémentaire(s)" #~ msgid "cannot set group-ID to %lu" #~ msgstr "ne peut fixer le group-ID à %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "ne peut fixer le user-ID à %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Usage : %s [OPTIONS] FICHIER [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Écraser un fichier de façon répétitive, afin de rendre difficile\n" #~ "toute récupération des données par du matériel même coûteux.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force modifie les permissions pour permettre\n" #~ " l'écriture si nécessaire\n" #~ " -n, --iterations=N écrase N fois au lieu du nombre par défaut (%d)\n" #~ " -s, --size=N déchiqueter N octets (les suffixes K, M, G sont " #~ "acceptés)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove tronquer et détruire le fichier après l'avoir " #~ "écraser\n" #~ " -v, --verbose afficher un indicateur de progrès\n" #~ " -x, --exact ne pas arrondir la taille des fichiers\n" #~ " jusqu'au prochain bloc complet;\n" #~ " comportement par défaut pour les fichiers non " #~ "réguliers\n" #~ " -z, --zero ajouter une réécriture finale avec des zéros\n" #~ " pour camoufler le déchiquetage du fichier\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Si le FICHIER est -, déchiqueter à partir de l'entrée standard.\n" #~ "\n" #~ "Détruire le FICHIER si --remove (-u) est spécifié. Le défaut est de ne " #~ "pas détruire\n" #~ "les fichiers parce qu'il est commun d'opérer sur le fichier du " #~ "périphérique comme /dev/hda,\n" #~ "et habituellement ces fichiers ne sont pas détruits. Sur des fichier " #~ "réguliers,\n" #~ "la plupart des gens utilise l'option --remove.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "ATTENTION: noter que shred s'appuie sur l'importante supposition que \n" #~ "le système de fichiers écrasera les données en place. Cela est la " #~ "manière\n" #~ "traditionnelle de faire les choses, mais plusieurs systèmes modernes\n" #~ "de fichiers ne se satisfont pas de cette supposition. Les exemples " #~ "suivants de systèmes\n" #~ "de fichiers sont ceux où le déchiquetage n'est pas effectif dans tous les " #~ "modes de systèmes de fichiers:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* systèmes de fichiers à journalisation ou à structure de " #~ "journalisation,\n" #~ " comme ceux fournis avec AIX et Solaris (et JFS, ReiserFS, XFS, Ext3, " #~ "etc.)\n" #~ "\n" #~ "* systèmes de fichiers avec données redondantes et soutenant les " #~ "écritures\n" #~ " même lorsqu'il y a erreur d'écriture comme sur les systèmes de fichiers " #~ "RAID\n" #~ "\n" #~ "* systèmes de fichiers qui prennent des instantanés, comme\n" #~ " le serveur NFS de Network Appliance\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* systèmes de fichiers qui enregistre en cache temporairement, tel que\n" #~ "les clients NFS version 3\n" #~ "\n" #~ "* systèmes de fichiers compressés\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "Dans le cas du système de fichier ext3, la déclaration ci-avant " #~ "s'applique\n" #~ "(et shred a une efficacité limitée) seulement en mode data=journal,\n" #~ "dans lequel les journaux enregistrent les données en plus des " #~ "métadonnées.\n" #~ "Dans les deux modes data=ordered (par défaut) et data=writeback, shred " #~ "travaille comme d'habitude.\n" #~ "Les modes de journalisation Ext3 peuvent être changés en ajoutant\n" #~ "data=something aux options de montage pour un système de fichiers " #~ "particulier\n" #~ "dans le fichier /etc/fstab, tel que documenté dans la page man de mount " #~ "(man mount).\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "En plus, l'archivage des système de fichiers et les miroirs à distance " #~ "peuvent\n" #~ "contenir des copies des fichiers qui ne peuvent être enlevés et qui " #~ "permettront\n" #~ "à un fichier mutilé d'être récupérés plus tard.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s : échec de fdatasync" #~ msgid "%s: fsync failed" #~ msgstr "%s : échec de fsync" #~ msgid "%s: cannot rewind" #~ msgstr "%s : ne peut rembobiner" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s : pass %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: erreur d'écriture au décalage %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: échec de lseek" #~ msgid "%s: file too large" #~ msgstr "%s: fichier trop gros" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: passes %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: passes %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: échec de fstat" #~ msgid "%s: invalid file type" #~ msgstr "%s: type de fichier invalide" #~ msgid "%s: file has negative size" #~ msgstr "%s: le fichier a une taille négative." #~ msgid "%s: error truncating" #~ msgstr "%s: erreur de troncation" #~ msgid "%s: fcntl failed" #~ msgstr "%s: échec de fcntl" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: ne peut déchiqueter " #~ msgid "%s: removing" #~ msgstr "destruction de « %s »" #~ msgid "%s: renamed to %s" #~ msgstr "%s: renommé à %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: échec à enlever" #~ msgid "%s: removed" #~ msgstr "%s: détruit" #~ msgid "%s: failed to close" #~ msgstr "%s: échec de fermeture" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: échec d'ouverture en écriture" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: nombre de passes invalide" #~ msgid "multiple random sources specified" #~ msgstr "multiples sources aléatoires spécifiées" #~ msgid "%s: invalid file size" #~ msgstr "%s: longueur de fichier invalide" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Usage : %s [OPTION]... [FILE]\n" #~ " ou : %s -e [OPTION]... [ARG]...\n" #~ " ou : %s -i LO-HI [OPTION]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Affiche une permutation aléatoire des lignes entrées sur la sortie " #~ "standard.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo traite chaque ARG comme une ligne entrée\n" #~ " -i, --input-range=LO-HI traite chaque nombre de LO à HI comme une " #~ "ligne entrée\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE écrit le résultat dans FILE au lieu de la " #~ "sortie standard\n" #~ " --random-source=FILE obtient aléatoirement des octets de FILE " #~ "(default /dev/urandom)\n" #~ " -z, --zero-terminated finit les lignes avec l'octet 0, et pas " #~ "retour chariot\n" #~ msgid "multiple -i options specified" #~ msgstr "multiples options -l spécifiées" #~ msgid "invalid input range %s" #~ msgstr "intervalle d'entrée invalide %s" #~ msgid "invalid line count %s" #~ msgstr "compteur ligne invalide %s" #~ msgid "multiple output files specified" #~ msgstr "options multiples fichiers de sortie spécifiées" #~ msgid "extra operand %s\n" #~ msgstr "opérande suplémentaire %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Usage : %s NOMBRE[SUFFIXE]...\n" #~ " ou : %s OPTION\n" #~ "Effectue une pause de NOMBRE secondes. Le SUFFIXE peut être « s » pour " #~ "des\n" #~ "secondes (par défaut), « m » pour minutes, « h » pour heures ou « d »\n" #~ "pour jours. Contrairement à la plupart des implantations qui requièrent " #~ "un\n" #~ "nombre entier, ici NOMBRE peut être un nombre arbitraire en virgule " #~ "flottante.\n" #~ "Avec 2 ou plus arguments, la pause se fait selon la somme des valeurs.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "intervalle de temps invalide %s" #~ msgid "cannot read realtime clock" #~ msgstr "ne peut lire l'horloge en temps réel" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Afficher la concaténation triée de tous les FICHIERS sur la sortie " #~ "standard.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Options de tri:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ignorer les blancs de tête\n" #~ " -d, --dictionary-order considérer seulement les blancs et les " #~ "caractères alphanumériques\n" #~ " -f, --ignore-case suivre les caractères minuscules et " #~ "majuscules\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort compare selon la valeur numérique générale\n" #~ " -i, --ignore-nonprinting considère seulement les caractères " #~ "affichables\n" #~ " -M, --month-sort compare (inconnu) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare selon la valeur numérique de la " #~ "chaîne\n" #~ " -R, --random-sort trie aléatoirement selon les clés hachées\n" #~ " --random-source=FILE obtient des octets aléatoires de FILE (par " #~ "défaut /dev/urandom)\n" #~ " --sort=WORD trie selon WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse inverse le résultat des comparaisons\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Autres options :\n" #~ "\n" #~ " -c, --check, --check=diagnose-first valide le tri de l'entrée ; ne " #~ "trie pas\n" #~ " -C, --check=quiet, --check=silent comme -c, mais ne rapporte pas " #~ "d'abord les lignes erronées\n" #~ " --compress-program=PROG compresse les temporaires avec PROG ;\n" #~ " les décompresse avec PROG -d\n" #~ " -k, --key=POS1[,POS2] la clé démarre à POS1, finit à POS2 (origine " #~ "1)\n" #~ " -m, --merge fusionne les fichiers déjà triés ; ne trie " #~ "pas\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=FICHIER écrit le résultat dans FICHIER au lieu de la " #~ "sortie standard\n" #~ " -s, --stable stabilise le tri en inhibant last-resort, la " #~ "comparaison de dernier recours\n" #~ " -S, --buffer-size=TAILLE utilise TAILLE pour le tampon mémoire " #~ "principal\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP utiliser le SÉParateur au lieu de non-" #~ "blanc pour les transitions d'espace\n" #~ " -T, --temporary-directory=RÉP utiliser le RÉPertoire pour les fichiers " #~ "temporaires, non pas $TMPDIR ou %s\n" #~ " avec options multiples pour spécifier " #~ "de multiples répertoires\n" #~ " -u, --unique avec -c: vérifier l'ordonnancement " #~ "strict\n" #~ " sans -c: afficher les premiers d'une " #~ "passe équivalente\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated terminer les lignes avec l'octet 0, \n" #~ " et non pas par un retour de chariot\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS est F[.C][OPTS], où F est le numéro de champ et C la position du " #~ "caractère\n" #~ "dans le champ ;  chacun à origine 1. Si ni -t ni -b est actif, les " #~ "caractères d'un\n" #~ "champs sont comptés depuis le début de l'espace précédant. OPTS se " #~ "compose d'une\n" #~ "option de tri d'une ou plusieurs lettres simples, laquelle écrase\n" #~ "l'ordonnancement global pour cette clé. Si aucune clé n'est donnée,\n" #~ "la ligne entière est utilisée comme clé.\n" #~ "\n" #~ "TAILLE peut être suivi d'un des suffixes multiplicatifs suivants :\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% de mémoire, b 1, k 1024 (par défaut), et ainsi de suite pour M, G, " #~ "T, P, E, Z, Y.\n" #~ "\n" #~ "Sans FICHIER, ou quand FICHIER est -, lire de l'entrée standard.\n" #~ "\n" #~ "*** AVERTISSEMENT ***\n" #~ "La localisation utilisée dans l'environnement affecte l'ordre du tri.\n" #~ "Utiliser LC_ALL=C pour obtenir un tri selon un ordre traditionnel qui " #~ "utilise la valeur\n" #~ "native des octets.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "en attente de %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] a terminé anormalement" #~ msgid "cannot create temporary file" #~ msgstr "Ne peut créer de fichier temporaire" #~ msgid "open failed" #~ msgstr "Échec d'ouverture" #~ msgid "fflush failed" #~ msgstr "échec de fflush" #~ msgid "close failed" #~ msgstr "Échec de fermeture" #~ msgid "dup2 failed" #~ msgstr "dup2 a échoué" #~ msgid "couldn't execute %s" #~ msgstr "n'a pu exécuter %s" #~ msgid "couldn't create temporary file" #~ msgstr "N'a pu créer le fichier temporaire" #~ msgid "couldn't open temporary file" #~ msgstr "N'a pu ouvrir le fichier temporaire" #~ msgid "couldn't execute %s -d" #~ msgstr "n'a pu exécuter %s -d" #~ msgid "write failed" #~ msgstr "Echec d'écriture." #~ msgid "warning: cannot remove: %s" #~ msgstr "AVERTISSEMENT: ne peut enlever: %s" #~ msgid "stat failed" #~ msgstr "Échec de stat()" #~ msgid "read failed" #~ msgstr "Échec de lecture" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: désordre: " #~ msgid "standard error" #~ msgstr "erreur standard" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: spécification invalide du champ %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "les options `-%s' sont incompatibles" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: compteur invalide au départ de %s" #~ msgid "invalid number after `-'" #~ msgstr "nombre invalide après « - »" #~ msgid "invalid number after `.'" #~ msgstr "nombre invalide après « . »" #~ msgid "stray character in field spec" #~ msgstr "caractère égaré dans le champ de spécification" #~ msgid "multiple compress programs specified" #~ msgstr "multiples programmes de compression spécifiés" #~ msgid "invalid number at field start" #~ msgstr "nombre invalide dans le champ de départ" #~ msgid "field number is zero" #~ msgstr "numéro de champ est zéro" #~ msgid "character offset is zero" #~ msgstr "adresse relative du caractère est zéro" #~ msgid "invalid number after `,'" #~ msgstr "nombre invalide après « , »" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "opérande suplémentaire « %s » non permise avec -%c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Usage: %s [OPTION] [ENTRÉE [PRÉFIXE]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Afficher sur la sortie des morceaux de l'ENTRÉE de taille fixe selon\n" #~ "PRÉFIXEaa, PRÉFIXEab, ...; par défaut la taille est de 1000 lignes et\n" #~ "le préfixe par défaut est « x ».\n" #~ "Sans ENTRÉE ou quand l'ENTRÉE est -, la lecture se fait sur l'entrée " #~ "standard.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N utiliser les suffixes de longueur N (par défaut " #~ "%d)\n" #~ " -b, --bytes=N écrire N octets par fichier de sortie\n" #~ " -C, --line-bytes=N écrire au plus N octets par ligne\n" #~ " par fichier de sortie\n" #~ " -d, --numeric-suffixes utiliser des suffixess numériques au lieu " #~ "d'alphabétiques\n" #~ " -l, --lines=N écrire N lignes par fichier de sortie\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose affiche un diagnostic juste avant chaque\n" #~ " ouverture de fichier de sortie\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "SIZE peut avoir un suffixe multiplicateur :\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, et ainsi de suite pour T, P, E, Z, " #~ "Y.\n" #~ msgid "creating file %s\n" #~ msgstr "création du fichier %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "Ne peut segmenter plus d'une façon." #~ msgid "%s: invalid suffix length" #~ msgstr "%s: longueur de suffixe invalide" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: nombre d'octets invalide." #~ msgid "%s: invalid number of lines" #~ msgstr "%s: nombre de lignes invalide." #~ msgid "line count option -%s%c... is too large" #~ msgstr "l'option compteur de ligne -%s%c est trop grande" #~ msgid "invalid number of lines: 0" #~ msgstr "nombre invalide de lignes: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "AVERTISSEMENT: séquence d'échappement non reconnue `\\%c'" #~ msgid "%s: invalid directive" #~ msgstr "%s : directive invalide" #~ msgid "warning: backslash at end of format" #~ msgstr "AVERTISSEMENT: barre oblique inverse invalide à la fin du format" #~ msgid "cannot read file system information for %s" #~ msgstr "ne peut lire les informations du système de fichier pour %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Usage: %s [OPTION] FICHIER...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Afficher l'état d'un fichier ou d'un système de fichiers.\n" #~ "\n" #~ " -L, --dereference suivre les liens\n" #~ " -f, --file-system afficher l'état du système de fichiers au lieu de " #~ "l'état du fichier\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=FORMAT utiliser le FORMAT spécifié au lieu de celui par " #~ "défaut;\n" #~ " afficher un saut de ligne après l'utilisation " #~ "du FORMAT\n" #~ " --printf=FORMAT identique à --format mais interprète les " #~ "séquences d'échappements,\n" #~ " et ne fait pas l'affichage d'un saut de ligne.\n" #~ " Si vous désiréz un saut de ligne, inclure \\n " #~ "dans le FORMAT.\n" #~ " -t, --terse afficher l'information dans un format " #~ "compréhensible\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Le format valide pour les séquences de fichiers (sans --file-system) :\n" #~ "\n" #~ " %a Droits d'accès en octal\n" #~ " %A Droits d'accès en format lisible par un humain\n" #~ " %b Nombre de blocs alloués (voir %B)\n" #~ " %B La taille en octets de chaque bloc rapportée par `%b'\n" #~ " %C La chaîne de contexte de sécurité SELinux\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d numéro de périphérique en décimal\n" #~ " %D numéro de périphéque en hexadécimal\n" #~ " %f mode brut en hexadécimal\n" #~ " %F type de fichier\n" #~ " %g identificateur de groupe du propriétaire\n" #~ " %G nom de groupe du propriétaire\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h - nombre de liens directs (hard)\n" #~ " %i - numéro d'inode\n" #~ " %n - nom de fichier\n" #~ " %N - nom de fichier en citation avec référence si avec lien symbolique\n" #~ " %o - taille de bloc d'entrée/sortie\n" #~ " %s - taille totale, en octets\n" #~ " %t - type majeur de périphérique en hexadécimal\n" #~ " %T - type mineur de périphérique en hexadécimal\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u - identificateur du propriétaire\n" #~ " %U - nom de l'usager du propriétaire\n" #~ " %x - date du dernier accès\n" #~ " %X - date du dernier accès en seconded depuis l'Époque\n" #~ " %y - date de la dernière modification\n" #~ " %Y - date de la dernière modification en secondes depuis l'Époque\n" #~ " %z - date du dernier changement\n" #~ " %Z - date du dernier changement en secondes depuis l'Époque\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Séquences valides de format pour les systèmes de fichiers :\n" #~ "\n" #~ " %a Blocs libres disponibles pour un non super-usager\n" #~ " %b Total des blocs de données dans le système de fichiers\n" #~ " %c Total des noeuds de fichiers dans le système de fichiers\n" #~ " %d Noeuds de fichiers libres dans le système de fichiers\n" #~ " %f Blocs libres dans le système de fichiers\n" #~ " %C Chaîne de contexte de sécurité SELinux\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i identificateur du sytème de fichiers en hexadécimal\n" #~ " %l longueur maximum des noms de fichiers\n" #~ " %n nom de fichier\n" #~ " %s taille optimale de bloc de transfert\n" #~ " %S taille fondamentale de bloc (pour le décompte de blocs)\n" #~ " %t afficher en hexadécimal\n" #~ " %T afficher en format lisible pour un humain\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Usage: %s [-F PÉRIPHÉRIQUE] [--file=PÉRIPHÉRIQUE] [SÉLECTION]...\n" #~ " ou: %s [-F PÉRIPHÉRIQUE] [--file=PÉRIPHÉRIQUE] [-a|--all]\n" #~ " ou: %s [-F PÉRIPHÉRIQUE] [--file=PÉRIPHÉRIQUE] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Afficher ou modifier les caractéristiques du terminal.\n" #~ "\n" #~ " -a, --all afficher toutes les caractéristiques courantes dans\n" #~ " un format humainement lisible\n" #~ " -g, --save afficher toutes les caractéristiques dans un format\n" #~ " lisible par « stty »\n" #~ " -F, --file=PÉRIPHÉRIQUE\n" #~ " utiliser le périphérique spécifié au lieu de stdin\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Un « - » optionnel avant SÉLECTION indique une négation. Un * indique " #~ "une\n" #~ "SÉLECTION non-POSIX. Le système détermine les options applicables.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Caractères spéciaux:\n" #~ "* dsusp CAR CAR émettra un signal d'arrêt de terminal une\n" #~ " fois le tampon d'entrée vidé\n" #~ " eof CAR CAR transmettra une fin de fichier\n" #~ " (pour stopper l'ingestion à l'entrée)\n" #~ " eol CAR CAR terminera la ligne\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ "* eol2 CAR CAR servira de caractère alternatif de fin de ligne\n" #~ " erase CAR CAR servira de touche d'effacement sur le dernier\n" #~ " caractère entrée\n" #~ " intr CAR CAR transmettra un signal d'interruption\n" #~ " kill CAR CAR effacera la ligne courante\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ "* lnext CAR CAR entrera le prochain caractère entre guillemets\n" #~ " quit CAR CAR transmettra un signal de fin\n" #~ "* rprnt CAR CAR servira à ré-afficher la dernière ligne\n" #~ " start CAR CAR permettra la poursuite de l'affichage de\n" #~ " sortie après avoir été stoppé\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop CAR CAR stoppera l'affichage de sortie\n" #~ " susp CAR CAR transmettra un signal d'arrêt de terminal\n" #~ "* swtch CAR CAR permettra de passer à une couche différente de shell\n" #~ "* werase CAR CAR effacera le dernier mot tapé\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Configurations spéciales:\n" #~ " N initialiser les vitesses d'entrée et de sortie à N bauds\n" #~ "* cols N indiquer au kernel que le terminal a N colonnes\n" #~ "* columns N identique à cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N initialiser la vitesse d'entrée à N\n" #~ "* line N utiliser le conditionnement propre de la ligne N\n" #~ " min N avec -icanon, initialiser à N le nombre de caractères\n" #~ " nécessaires pour obtenir une lecture complète\n" #~ " ospeed N initialiser la vitesse de sortie à N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "* rows N indiquer au kernel que le terminal a N lignes\n" #~ "* size afficher le nombre de lignes et de colonnes\n" #~ " selon les paramètres du kernel\n" #~ " speed afficher la vitesse du terminal\n" #~ " time N avec -icanon, initialiser le délai\n" #~ " d'inactivité de lecture à N dizièmes de seconde\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Configurations de contrôle:\n" #~ " [-]clocal inhiber les signaux de contrôle du modem\n" #~ " [-]cread autoriser la réception sur l'entrée\n" #~ "* [-]crtscts autoriser RTS/CTS handshaking\n" #~ " csN initialiser la taille des caractères à N bits,\n" #~ " N variant entre [5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb utiliser 2 bits d'arrêt par caractère (un avec « - »)\n" #~ " [-]hup transmettre un signal de raccrochement quand le\n" #~ " dernier processus ferme le lien tty\n" #~ " [-]hupcl identique à [-]hup\n" #~ " [-]parenb génèrer le bit de parité pour la sortie et\n" #~ " traiter l'entrée avec un bit de parité implicite\n" #~ " [-]parodd utiliser une parité impaire (paire avec « - »)\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Configurations d'entrée:\n" #~ " [-]brkint le « break » provoque un signal d'interruption\n" #~ " [-]icrnl traduire le retour de chariot en saut de ligne\n" #~ " [-]ignbrk ignorer le caractère break\n" #~ " [-]igncr ignorer le retour de chariot\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar ignorer les caractères ayant des erreurs de parité\n" #~ "* [-]imaxbel indiquer par un bip sonore et ne pas vider le tampon\n" #~ " d'entrée lors de l'arrivée d'un caractère\n" #~ " [-]inlcr traduire le saut de ligne en retour de chariot\n" #~ " [-]inpck autoriser la vérification de la parité à l'entrée\n" #~ " [-]istrip mettre à zéro le bit du haut (8e) d'un caractère de " #~ "l'entrée\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "" #~ " * [-]iutf8 assumer que les caractères d'entrées sont encodés en UTF-" #~ "8\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "* [-]iuclc traduire les majuscles en minuscules\n" #~ "* [-]ixany permettre à n'importe quel caractère de relancer " #~ "l'affichage\n" #~ " sur la sortie, pas uniquement le caractère de " #~ "redémarrage\n" #~ " [-]ixoff autoriser l'envoie d'un caractère d'arrêt/départ\n" #~ " [-]ixon autoriser le contrôle de flux XON/XOFF\n" #~ " [-]parmrk indiquer les erreur de parité par une séquence\n" #~ " de caractères (255-0)\n" #~ " [-]tandem identique à [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Configurations de sortie:\n" #~ "* bsN style du délai de retour arrière, N parmi [0..1]\n" #~ "* crN style du délai du retour de chariot, N parmi [0..3]\n" #~ "* ffN style du délai du saut de page, N parmi [0..1]\n" #~ "* nlN style du délai du saut de ligne, N parmi [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "* [-]ocrnl traduire un retour de chariot par un saut de ligne\n" #~ "* [-]ofdel utiliser des caractères d'effacement comme caractère\n" #~ " de remplissage au lieu de caractères nuls\n" #~ "* [-]ofill utiliser le remplissage de caractères au lieu du délai\n" #~ " par minuterie\n" #~ "* [-]olcuc traduire les minuscules en majuscules\n" #~ "* [-]onlcr traduire le saut de ligne en retour de chariot-saut de " #~ "ligne\n" #~ "* [-]onlret le saut de ligne provoque un retour de chariot\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ "* [-]onocr ne pas afficher un retour de chariot en première colonne\n" #~ " [-]opost exécuter un post-traitement de sortie\n" #~ "* tabN style du délai de tabulation horizontale, N parmi [0..3]\n" #~ "* tabs identique à tab0\n" #~ "* -tabs identique à tab3\n" #~ "* vtN style du délai de tabulation verticale, N parmi [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Configurations locales:\n" #~ " [-]crterase faire l'écho du caractère « erase » selon la séquence\n" #~ " retour arrière-espace-retour arrière\n" #~ "* crtkill annuler les ligne respectant la configuration\n" #~ " « echoprt » et « echoe »\n" #~ "* -crtkill annuler les lignes respectant la configuration\n" #~ " « echoctl » et « echok »\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ "* [-]ctlecho faire l'écho des caractères de contrôle par une notation\n" #~ " en chapeau (« ^c »)\n" #~ " [-]echo faire l'écho des caractères à l'entrée\n" #~ "* [-]echoctl identique à [-]ctlecho\n" #~ " [-]echoe identique à [-]crterase\n" #~ " [-]echok faire l'écho d'un saut de ligne après un caractère " #~ "d'annulation\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ "* [-]echoke identique à [-]crtkill\n" #~ " [-]echonl faire l'écho d'un saut de ligne même s'il n'y pas\n" #~ " d'écho des autres caractères\n" #~ "* [-]echoprt faire l'écho des caractères d'effacement par retour " #~ "arrière,\n" #~ " entre « \\ » et « / »\n" #~ " [-]icanon autoriser les caractères spéciaux\n" #~ " « erase », « kill », « werase », et « rprnt »\n" #~ " [-]iexten autoriser les caractères spéciaux non-POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig autoriser les caractères spéciaux\n" #~ " « interrupt », « quit », et « suspend »\n" #~ " [-]noflsh inhiber la vidange après réception des caractères\n" #~ " « interrupt » et « quit »\n" #~ "* [-]prterase identique à [-]echoprt\n" #~ "* [-]tostop stopper les tâches d'arrière plan qui essaient d'écrire\n" #~ " sur le terminal\n" #~ "* [-]xcase avec « icanon », faire l'échappement avec « \\ »\n" #~ " pour les majuscules\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Configuration par combinaison:\n" #~ "* [-]LCASE identique à [-]lcase\n" #~ " cbreak identique à -icanon\n" #~ " -cbreak identique à icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked identique à brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof et eol selon leur valeur par défaut\n" #~ " -cooked identique à raw\n" #~ " crt identique à echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec identique à echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ "* [-]decctlq identique à [-]ixany\n" #~ " ek réinitialiser les caractères erase et kill à leur valeur\n" #~ " par défaut\n" #~ " evenp identique à parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp identique à -parenb cs8\n" #~ "* [-]lcase identique à xcase iuclc olcuc\n" #~ " litout identique à -parenb -istrip -opost cs8\n" #~ " -litout identique à parenb istrip opost cs7\n" #~ " nl identique à -icrnl -onlcr\n" #~ " -nl identique à icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp identique à parenb parodd cs7\n" #~ " -oddp identique à -parenb cs8\n" #~ " [-]parity identique à [-]evenp\n" #~ " pass8 identique à -parenb -istrip cs8\n" #~ " -pass8 identique à parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw identique à -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 fois 0\n" #~ " -raw identique à cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane identique à cread -ignbrk brkint -inlcr -igncr icrnl -" #~ "iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, tous les " #~ "caractères\n" #~ " spéciaux avec leur valeur par défaut.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Prendre en charge la ligne « tty » reliée à l'entrée standard. Sans " #~ "argument,\n" #~ "afficher la vitesse, le conditionnement de ligne et les modifications " #~ "appliquées\n" #~ "par 'stty sane'. Dans les configurations,\n" #~ "CARactère est pris littéralement, ou codé comme ^c, 0x37, 0177 ou 127;\n" #~ "les valeurs spéciales comme ^- ou indéfinies sont utilisées pour inhiber\n" #~ "les caractères spéciaux.\n" #~ msgid "only one device may be specified" #~ msgstr "un seul périphérique peut être spécifié" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "les options pour le mode bavard et les styles de sortie de stty-readable\n" #~ "sont mutuellement exclusives" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "" #~ "Lors de la spécification d'un style de sortie, \n" #~ "les mode peuvent ne pas être initialisés." #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: n'a pu réinitialiser en mode non par bloc" #~ msgid "invalid argument %s" #~ msgstr "argument invalide %s" #~ msgid "missing argument to %s" #~ msgstr "argument manquant pour %s" #~ msgid "invalid line discipline %s" #~ msgstr "discipline de ligne invalide %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: incapable d'exécuter toutes les opérations demandées." #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mode\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: aucune information sur la taille pour ce périphérique." #~ msgid "invalid integer argument %s" #~ msgstr "argument numérique invalide %s" #~ msgid "Password:" #~ msgstr "Mot de passe:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass(): ne peut ouvrir /dev/tty" #~ msgid "cannot set groups" #~ msgstr "ne peut initialiser les groupes" #~ msgid "cannot set group id" #~ msgstr "ne peut initialiser l'identificateur de groupe" #~ msgid "cannot set user id" #~ msgstr "ne peut initialiser l'identificateur de l'usager" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Usage: %s [OPTION]... [-] [USAGER [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Établit l'identificateur effectif de l'usager et de groupe à USER\n" #~ "\n" #~ " -, -l, --login établit ce shell comme celui de la session " #~ "de travail\n" #~ " -c, --command=COMMANDE passe une seule COMMANDE au shell avec -c\n" #~ " -f, --fast passe -f au shell (valable pour csh ou " #~ "tcsh)\n" #~ " -m, --preserve-environment pas réinitialiser les variables " #~ "d'environnement\n" #~ " -p identique à -m\n" #~ " -s, --shell=SHELL lance le SHELL si /etc/shells le permet\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Un tiret - implique -l. Si l'argument USAGER n'est pas fourni,\n" #~ "l'usager « root » est utilisé.\n" #~ msgid "user %s does not exist" #~ msgstr "L'usager %s n'existe pas." #~ msgid "incorrect password" #~ msgstr "Mot de passe incorrect." #~ msgid "using restricted shell %s" #~ msgstr "Utilisation du shell %s restreint." #~ msgid "warning: cannot change directory to %s" #~ msgstr "AVERTISSEMENT: ne peut changer de répertoire vers %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Imprimer la somme de contrôle et le nombre de blocs pour chaque FICHIER.\n" #~ "\n" #~ " -r annuler -s et utiliser l'algorithme de sommation BSD\n" #~ " avec des blocs de 1K octets\n" #~ " -s, --sysv utiliser l'algorithme de sommation du Système V\n" #~ " avec des blocs de 512 octets\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Forcer l'écriture des blocs modifiés sur disque et\n" #~ "la mise à jour du super bloc.\n" #~ msgid "ignoring all arguments" #~ msgstr "tous les arguments sont ignorés" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "NOTE: votre shell peut avoir sa propre version de %s, lequel " #~ "habituellement remplace\n" #~ "la version décrite ici. SVP référer à la documentation de votre shell\n" #~ "pour les détail concernant les options supportées.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help afficher l'aide-mémoire\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version afficher le nom et la version du logiciel\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Signaler un bug à <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Écrire chaque FICHIER sur la sortie standard, la dernière ligne en " #~ "premier.\n" #~ "Sans FICHIER, ou quand FICHIER est -, lire de l'entrée standard.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before placer le séparateur avant plutôt qu'après\n" #~ " -r, --regex interpréter le séparateur comme une expression\n" #~ " régulière\n" #~ " -s, --separator=CHAÎNE utiliser la CHAÎNE comme séparateur au lieu\n" #~ " du saut de ligne\n" #~ msgid "%s: seek failed" #~ msgstr "%s: échec de repérage (seek)" #~ msgid "record too large" #~ msgstr "enregistrement trop grand" #~ msgid "cannot create temporary file %s" #~ msgstr "ne peut créer le fichier temporaire %s" #~ msgid "cannot open %s for writing" #~ msgstr "ne peut ouvrir %s en écriture" #~ msgid "%s: write error" #~ msgstr "%s: erreur d'écriture." #~ msgid "separator cannot be empty" #~ msgstr "Le séparateur ne peut être vide." #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Afficher les %d dernières lignes de chaque FICHIER sur la sortie " #~ "standard.\n" #~ "Avec plus d'un fichier FICHIER, précéder chacun d'une en-tête donnant le " #~ "nom.\n" #~ "Sans FICHIER, ou quand FICHIER est -, lire de l'entrée standard.\n" #~ "\n" # src/tail.c:250 #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry continue de tenter d'ouvrir un fichier même " #~ "s'il\n" #~ " est inaccessible lorsque tail démarre ou " #~ "s'il devient\n" #~ " inaccessible plus tard ; utile pour la " #~ "gestion par nom,\n" #~ " i.e., avec --follow=name\n" #~ " -c, --bytes=N affiche les N derniers octets ; ou bien, taper " #~ "+N pour\n" #~ " afficher les octets commençant au Nième de " #~ "chaque fichier\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={nom|descripteur}]\n" #~ " afficher les dernières données ajoutées tant\n" #~ " que le fichier s'accroît; -f, --follow, et\n" #~ " --follow=descripteur sont équivalents\n" #~ " -F identique à --follow=nom --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N affiche les N dernièreslignes, au lieu des " #~ "derniers %d ;\n" #~ " ou employez +N pour afficher les lignes à " #~ "partir de la Nième\n" #~ " --max-unchanged-stats=N\n" #~ " avec l'option --follow=name, rouvre un FICHIER " #~ "qui n'a pas\n" #~ " changé de taille après N itérations (par " #~ "défaut %d)\n" #~ " afin de vérifier s'il a été détruit ou s'il a " #~ "changé\n" #~ " de nom (c'est le cas habituellement des " #~ "fichiers rotatifs\n" #~ " de journalisation)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID avec -f, terminer après le processus ID, PID " #~ "est arrêté\n" #~ " -q, --quiet, --silent ne jamais afficher l'en-tête avec\n" #~ " les noms de fichiers\n" #~ " -s, --sleep-interval=S avec -f, attendre S secondes (1.0 par défaut)\n" #~ " entre les itérations\n" #~ " -v, --verbose toujours afficher les en-têtes des noms de " #~ "fichier\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Si le premier caractère de N (le nombre d'octets ou de lignes) est un " #~ "« + »,\n" #~ "affiche à partir du Nième item depuis le début de chaque fichier,\n" #~ "autrement, affiche les derniers N items du fichier.\n" #~ "N peut avoir un suffixe multiplicateur :\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, et ainsi de suite pour T, P, E, Z, " #~ "Y.\n" #~ "\n" # src/tail.c:290 #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Avec l'option --follow (-f), tail utilise par défaut le descripteur de " #~ "fichier\n" #~ "qui permet de suivre l'évolution du fichier ciblé même s'il change de " #~ "nom.\n" #~ "Tail continuera de suivre l'évolution du fichier jusqu'à la fin. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Ce comportement par défaut n'est pas désirable lorsqu'on désire suivre " #~ "l'évolution\n" #~ "d'un fichier à l'aide de son nom et non pas par le descripteur de fichier " #~ "(i.e. cas\n" #~ "lors de la rotation des journaux). Utiliser --follow=nom dans ce cas.\n" #~ "À ce moment, tail suivra l'évolution du fichier en l'ouvrant " #~ "périodiquement\n" #~ "afin de vérifier s'il a été détruit ou recréé par un autre programme.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "fermeture %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: ne peut repérer selon le déplacement relatif %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: ne peut repérer la fin selon le déplacement relatif %s" #~ msgid "%s has become inaccessible" #~ msgstr "%s est devenu inaccessible" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s a été remplacé par un fichier dont on ne peut déterminer la taille; " #~ "abandon sur ce nom." #~ msgid "%s has become accessible" #~ msgstr "%s est devenu accessible" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s est apparu; à la fin d'un nouveau fichier" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s a été remplacé; à la fin d'un nouveau fichier" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: n'a pu changer en mode non bloquant" #~ msgid "%s: file truncated" #~ msgstr "%s: fichier tronqué" #~ msgid "no files remaining" #~ msgstr "aucun fichier restant" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: ne peut déterminer la fin de ce type de fichier; abandon sur ce nom" #~ msgid "number in %s is too large" #~ msgstr "numéro dans %s est trop grand" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: nombre maximum invalide de changements d'états entre les ouvertures" #~ msgid "%s: invalid PID" #~ msgstr "%s: PID invalide." #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: nombre de secondes invalide." #~ msgid "option used in invalid context -- %c" #~ msgstr "option utilisée dans un contexte invalide -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "AVERTISSEMENT : --retry est utile principalement si suivi par un nom" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "AVERTISSEMENT: PID ignoré; --pid=PID est utile seulement lorsqu'il suit" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "AVERTISSEMENT: --pid=PID n'est pas supporté sur ce système" #~ msgid "cannot follow %s by name" #~ msgstr "ne peut suivre %s par le nom" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "AVERTISSEMENT: suivre l'entrée standard indéfiniment est inefficace" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Copier de l'entrée standard vers chaque FICHIER, \n" #~ "et également vers la sortie standard.\n" #~ "\n" #~ " -a, --append accoler la sortie au(x) FICHIER(s),\n" #~ " sans les écraser\n" #~ " -i, --ignore-interrupts ignorer les signaux d'interruption\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Si le FICHIER est -, copier à nouveau sur la sortie standard.\n" #~ msgid "missing argument after %s" #~ msgstr "argument manquant après %s" #~ msgid "invalid integer %s" #~ msgstr "entier invalide %s" #~ msgid "')' expected" #~ msgstr "« ) » attendu" #~ msgid "')' expected, found %s" #~ msgstr "')' attendu, trouvé %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s : opérateur unaire attendu" #~ msgid "-nt does not accept -l" #~ msgstr "-nt ne permet pas -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef ne permet pas -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot ne permet pas -l" #~ msgid "unknown binary operator" #~ msgstr "opérateur binaire inconnu" #~ msgid "%s: binary operator expected" #~ msgstr "%s : opérateur binaire attendu" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Usage: test EXPRESSION\n" #~ " ou: test\n" #~ " ou: [ EXPRESSION ]\n" #~ " ou: [ ]\n" #~ " ou: %s OPTION ]\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Terminer l'exécution avec l'état déterminé par l'EXPRESSION.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Une EXPRESSION omise est par défaut fausse. Autrement,\n" #~ "l'EXPRESSION est vraie ou fausse et initialise l'état de fin " #~ "d'exécution.\n" #~ "selon une des options:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION est vraie\n" #~ " ! EXPRESSION EXPRESSION est fausse\n" #~ " EXPRESSION1 -a EXPRESSION2 si les deux EXPRESSION1 et EXPRESSION2\n" #~ " sont vraies\n" #~ " EXPRESSION1 -o EXPRESSION2 si l'une ou l'autre des expressions:\n" #~ " EXPRESSION1 ou EXPRESSION2 est vraie\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n CHAÎNE si la longueur de la CHAÎNE n'est pas nulle\n" #~ " CHAÎNE équivalenet à -n CHAÎNE\n" #~ " -z CHAÎNE si la longueur de la CHAÎNE est nulle\n" #~ " CHAÎNE1 = CHAÎNE2 si les chaînes sont identiques\n" #~ " CHAÎNE1 != CHAÎNE2 si les chaînes sont différentes\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ENTIER1 -eq ENTIER2 si ENTIER1 est égal à ENTIER2\n" #~ " ENTIER1 -ge ENTIER2 si ENTIER1 est plus grand ou égal à ENTIER2\n" #~ " ENTIER1 -gt ENTIER2 si ENTIER1 est plus grand que ENTIER2\n" #~ " ENTIER1 -le ENTIER2 si ENTIER1 est plus petit ou égal à ENTIER2\n" #~ " ENTIER1 -lt ENTIER2 si ENTIER1 est plus petit que ENTIER2\n" #~ " ENTIER1 -ne ENTIER2 si ENTIER1 n'est pas égal à ENTIER2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " FICHIER1 -ef FICHIER2 FICHIER1 et FICHIER2 ont les mêmes numéros\n" #~ " de périphérique et d'inode\n" #~ " FICHIER1 -nt FICHIER2 FICHIER1 est plus récent (date de " #~ "modification)\n" #~ " que FICHIER2\n" #~ " FICHIER1 -ot FICHIER2 FICHIER1 est plus vieux que FICHIER2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b FICHIER FICHIER existe et est de type à blocage spécial\n" #~ " -c FICHIER FICHIER existe et est de type caractère spécial\n" #~ " -d FICHIER FICHIER existe et est un répertoire\n" #~ " -e FICHIER FICHIER existe\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f FICHIER FICHIER existe et est de type régulier\n" #~ " -g FICHIER FICHIER existe et le bit « set-group-ID », est " #~ "initialisé\n" #~ " -G FICHIER FICHIER existe et appartient au groupe effectif ID\n" #~ " -h FICHIER FICHIER existe et est un lien symbolique (identique à -" #~ "L)\n" #~ " -k FICHIER FICHIER existe et le bit « sticky » est initialisé\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L FICHIER FICHIER existe et est un lien symbolique (identique à -" #~ "h)\n" #~ " -O FICHIER FICHIER existe et appartient à l'usager effectif ID\n" #~ " -p FICHIER FICHIER existe et est un relais nommé (named pipe)\n" #~ " -r FICHIER FICHIER existe et les permissions en lecture sont " #~ "données\n" #~ " -s FICHIER FICHIER existe et a une taille plus grande que zéro\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S FICHIER FICHIER existe et est de type « socket »\n" #~ " -t DF descripteur de fichier DF est ouvert sur le terminal\n" #~ " -u FICHIER FICHIER existe et le bit « set-user-ID », est " #~ "initialisé\n" #~ " -w FICHIER FICHIER existe et les permissions en écriture sont " #~ "données\n" #~ " -x FICHIER FICHIER existe et exécutable\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Excepté pour -h et -L, tous les tests relatifs aux fichiers dé-reéférence " #~ "les liens symboliques.\n" #~ "Portez attention au fait que les parenthèses doivent être précédées par " #~ "des\n" #~ "barres obliques inverses (pour éviter l'échappement vers un shell).\n" #~ "Un ENTIER peut être évalué par la notation -l CHAÎNE laquelle\n" #~ "évalue alors la longueur de la chaîne.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "NOTE : [reconnaît les options --help et --version, mais test ne le fait " #~ "pas.\n" #~ "test traite chacun de ceux-ci comme il traite n'importe quelle STRING non " #~ "vide.\n" #~ msgid "test and/or [" #~ msgstr "test et/ou [" #~ msgid "missing `]'" #~ msgstr "« ] » manquant" #~ msgid "extra argument %s" #~ msgstr "argument surnuméraire %s" #~ msgid "creating %s" #~ msgstr "création de %s" #~ msgid "cannot touch %s" #~ msgstr "ne peut faire un touch sur %s" #~ msgid "setting times of %s" #~ msgstr "initialisation des dates de %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Établit la date d'accès et de modification de chaque FILE à l'heure " #~ "présente.\n" #~ "\n" #~ "Un argument de FILE qui n'existe pas est crée vide.\n" #~ "\n" #~ "Une chaîne d'argument de FILE à - est géré spécifiquement et fait que " #~ "touch\n" #~ "change la date du fichier associé avec la sortie standard.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a modifier seulement la date d'accès\n" #~ " -c, --no-create ne créer aucun fichier\n" #~ " -d, --date=CHAÎNE analyser la CHAÎNE et l'utiliser au lieu\n" #~ " de la date courante\n" #~ " -f (ignorée)\n" #~ " -m modifier seulement la date de modification\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --file=FICHIER utiliser la date du FICHIER comme référence\n" #~ " au lieu de la date courante\n" #~ " -t DATE utiliser la DATE selon le format:\n" #~ " [[CC]AA]MMJJhhmm[.ss]\n" #~ " comme tampon date-heure au lieu de la date " #~ "courante\n" #~ " --time=CODE modifier le temps selon que:\n" #~ " CODE est « access » ou « atime » équivalent à -a\n" #~ " CODE est « modify » ou « mtime » équivalent à -m\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Noter que les options -d et -t acceptent différents formats de date et " #~ "d'heure.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "ne peut spécifier les dates pour plus d'une source" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "AVERTISSEMENT: `touch %s' est obsolète; utiliser `touch -t %04ld%02d%02d%" #~ "02d%02d.%02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Usage: %s [OPTION]... ENSEMBLE1 [ENSEMBLE2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Traduire, compresser et/ou éliminer des caractères de l'entrée standard,\n" #~ "par écriture sur la sortie standard.\n" #~ "\n" #~ " -c, -C, --complement complémenter à un l'ENSEMBLE1 \n" #~ " -d, --delete éliminer les caractères de l'ENSEMBLE1\n" #~ " et ne pas traduire\n" #~ " -s, --squeeze-repeats remplacer chaque séquence d'entrée de " #~ "caractères répétés\n" #~ " qui apparaît dans l'ENSEMBLE1 par une seule " #~ "occurence\n" #~ " de ce caractère\n" #~ " -t, --truncate-set1 tronquer d'abord l'ENSEMBLE1 à la longueur\n" #~ " de l'ENSEMBLE2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "Les ENSEMBLES sont spécifiés comme des chaînes de caractères.\n" #~ "La plupart se représente eux-mêmes.\n" #~ "Les séquences d'interprétation sont:\n" #~ "\n" #~ " \\NNN caractère ayant la valeur octale NNN (1 à 3 chiffres " #~ "octaux)\n" #~ " \\\\ barre oblique inverse\n" #~ " \\a cloche sonore \n" #~ " \\b caractère d'effacement\n" #~ " \\f saut de page \n" #~ " \\n saut de ligne \n" #~ " \\r retour\n" #~ " \\t saut horizontal\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v saut vertical \n" #~ " CAR1-CAR2 tous les caractères de CAR1 à CAR2 en ordre croissant\n" #~ " [CAR*] dans ENS2, copie de CAR jusqu'à longueur de ENS1\n" #~ " [CAR*RÉP] RÉPéter copies de CAR, RÉPéter en octal si débute par " #~ "0\n" #~ " [:alnum:] toutes les lettres et les chiffres\n" #~ " [:alpha:] toutes les lettres\n" #~ " [:blank:] tous les blancs horizontaux\n" #~ " [:cntrl:] tous les caractères de contrôle\n" #~ " [:digit:] tous les chiffres\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] tous les caractères imprimables, sans inclure les " #~ "blancs\n" #~ " [:lower:] tous les lettres minuscules\n" #~ " [:print:] tous les caractères imprimables, incluant les blancs\n" #~ " [:punct:] tous les caractères de ponctuation\n" #~ " [:space:] tous les sauts verticaux ou horizontaux\n" #~ " [:upper:] toutes les lettres majuscules\n" #~ " [:xdigit:] tous les chiffres hexadécimaux\n" #~ " [=CAR=] tous les caractères équivalents à CAR\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "La traduction survient si -d n'est pas fourni et si les deux ensembles\n" #~ "ENSEMBLE1 et ENSEMBLE2 sont fournis en argument.\n" #~ "L'option -t peut être utilisée seulement lors de la traduction. " #~ "L'ENSEMBLE2\n" #~ "est dilaté selon la taille de l'ENSEMBLE1 par répétition des derniers\n" #~ "caractères si nécessaire." #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Les caractères en excès de l'ENSEMBLE2 sont ignorés.\n" #~ "Seuls [:lower:] et [:upper:] sont garants d'une expansion en ordre\n" #~ "en ordre croissant; utilisé dans l'ENSEMBLE2 lors de la traduction, ils " #~ "peuvent\n" #~ "seulement être utilisés par paire pour spécifier une conversion de la " #~ "casse." #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "L'option -s s'emploie avec l'ENSEMBLE1 sinon il n'y a pas de traduction " #~ "ou\n" #~ "d'élimination autrement la compression utilise l'ENSEMBLE2 et se produit " #~ "après\n" #~ "la traduction ou l'élimination.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "AVERTISSEMENT: l'échappement octal ambigü \\%c%c%c a été\n" #~ " interprété comme une séquence de 2-octets \\0%c%c, %c" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "AVERTISSEMENT : un backslash non inhibé (unescaped) à la fin de la chaîne " #~ "est incompatible" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "" #~ "bornes d'intervalle de « %s-%s » sont en ordre inverse de séquence\n" #~ "de comparaison." #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "compte de répétions %s invalide dans le construit [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "caractères de nom de classe « [::] » manquants" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "caractères d'équivalence de classe « [==] » manquants" #~ msgid "invalid character class %s" #~ msgstr "caractère de classe invalide %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: opérande d'équivalence de classe doit être un caractère simple" #~ msgid "too many characters in set" #~ msgstr "trop de caractères dans le jeu" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "le construit [c*] de répétition ne peut apparaître dans la chaîne1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "un seul construit de répétition [c*] peut apparaître dans chaîne2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "" #~ "les expressions [=c=] ne peuvent apparaître dans chaîne2 lors de " #~ "traductions" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "" #~ "lorsque que l'ensemble1 n'est pas tronqué, chaîne2 ne peut être vide" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "lors de traduction avec des caractères complémentées de classes,\n" #~ "la chaîne2 doit ramener tous les caractères du domaine à un seul" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "lors de traductions la seule classe de caractères pouvant apparaître\n" #~ "dans chaîne2 est « upper » ou « lower »" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "" #~ "le construit [c*] peut apparaître dans chaîne2 seulement lors d'une\n" #~ "traduction" #~ msgid "Two strings must be given when translating." #~ msgstr "Deux chaînes doivent être fournies lors de la traduction." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Seulement une chaîne peut être fournie lors d'une destruction sans\n" #~ "réduction des répétitions" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "construit [:upper:] et/ou [:lower:] mal aligné" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s [arguments de la ligne de commande ignorés]\n" #~ " ou: %s OPTION\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Fin d'exécution avec le code de statut indiquant le succès" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Usage: %s [OPTION] [FICHIER]\n" #~ "Afficher une liste totalement ordonnée consistante avec l'ordenancement\n" #~ "partiel donné dans le FICHIER.\n" #~ "Sans FICHIER, ou quand le FICHIER est -, lire de l'entrée standard.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: l'entrée contient un nombre impair de jetons" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: l'entrée contient une boucle:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Usage: %s [OPTION]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Afficher le nom de fichier du terminal relié à l'entrée standard.\n" #~ "\n" #~ " -s, --silent, --quiet ne rien afficher, retourner seulement un\n" #~ " statut de fin d'exécution\n" #~ msgid "not a tty" #~ msgstr "n'est pas un « tty »" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Afficher certaines informations identifiant le système.\n" #~ "Sans OPTION, identique à -s.\n" #~ "\n" #~ " -a, --all afficher toutes les informations\n" #~ " omettre si -p et -i sont inconnus:\n" #~ " -s, --kernel-name afficher le nom du kernel\n" #~ " -n, --nodename afficher le nom du noeud réseau du poste " #~ "(hostname)\n" #~ " -r, --release afficher la révision de la version du\n" #~ " système d'exploitation\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version afficher la version du kernel\n" #~ " -m, --machine afficher le nom du système d'exploitation\n" #~ " -p, --processor afficher le type de processeur ou \"unknown" #~ "\" (i.e \"inconnu\")\n" #~ " -i, --hardware-platform afficher les infos matérielles de la plate-" #~ "forme ou \"unknown\" (i.e \"inconnu\")\n" #~ " -o, --operating-system afficher les infos du système d'exploitation\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Affiche l'architecture machine.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "ne peut obtenir le nom de système" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Convertir les blancs d'espacement de chaque FICHIER par des tabulations\n" #~ "lors de l'écriture sur la sortie standard.\n" #~ "Sans FICHIER ou quand le FICHIER est -, lire de l'entrée standard.\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all convertit tout espace, plutôt que seulement les " #~ "espaces initiaux\n" #~ " --first-only convertit seulement les séquences de tête d'espaces " #~ "(écrase -a)\n" #~ " -t, --tabs=N utilise N caractères de tabulations au lieu de 8 " #~ "(active -a)\n" #~ " -t, --tabs=LISTE utilise LISTE de positions de tabulation séparées " #~ "par des virgules (active -a)\n" #~ msgid "tabs are too far apart" #~ msgstr "les tabulations sont trop éloignées" #~ msgid "tab stop value is too large" #~ msgstr "la valeur de l'arrêt de tabulation est trop grand." #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Usage: %s [OPTION]... [ENTRÉE [SORTIE]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Exclure toutes les lignes successives identiques sauf une du FICHIER\n" #~ "(ou de l'entrée standard), lors de l'écriture dans un FICHIER\n" #~ "(ou vers la sortie standard).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count préfixer les lignes par le nombre d'occurences\n" #~ " -d, --repeated afficher seulement les lignes ayant des " #~ "duplicatats\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=delimit-method] affiche toute ligne en double\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " La délimitation est faite avec des lignes " #~ "blanches.\n" #~ " -f, --skip-fields=N évite de comparer les N premiers champs\n" #~ " -i, --ignore-case ignore les différences de casse à la comparaison\n" #~ " -s, --skip-chars=N évite de comparer les N premiers caractères\n" #~ " -u, --unique affiche seulement les lignes uniques\n" #~ " -z, --zero-terminated finit les lignes avec l'octer 0, et pas retour " #~ "charriot\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N ne pas comparer plus de N caractères des lignes\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Un champ est une suite de blancs, suivi de caractères non-blancs.\n" #~ "Les champs sont escamotés avant les caractères.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Note :  uniq ne détecte pas les lignes répétées à moins qu'elles soient " #~ "adjacentes.\n" #~ "Vous pourriez vouloir d'abord trier l'entrée, ou employer `sort -u' " #~ "sans`uniq'.\n" #~ msgid "too many repeated lines" #~ msgstr "trop de lignes répétées" #~ msgid "invalid number of fields to skip" #~ msgstr "nombre invalide de champs à escamoter" #~ msgid "invalid number of bytes to skip" #~ msgstr "nombre invalide d'octets à escamoter" #~ msgid "invalid number of bytes to compare" #~ msgstr "nombre invalide d'octets à comparer" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "afficher toutes les lignes dupliquées et le décompte de répétition\n" #~ "est inutile" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s FICHIER...\n" #~ " ou: %s OPTION\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Appeler la fonction unlink() pour enlever le fichier spécifié.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "ne peut enlever le lien %s" #~ msgid "couldn't get boot time" #~ msgstr "n'a pu obtenir la date du réamorçage" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s up " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? monter" #~ msgid "???? days ??:??, " #~ msgstr "???? jours ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld jour" #~ msgstr[1] "%ld jours" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu usager" #~ msgstr[1] "%lu usagers" #~ msgid ", load average: %.2f" #~ msgstr ", charge moyenne: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Usage: %s [OPTION]... [FICHIER]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Afficher la date courante, la durée de temps depuis lequel le système\n" #~ "a été amorcé, le nombre d'usagers sur le système, et le nombre moyen\n" #~ "de tâches dans la file d'exécution depuis les dernières 1, 5 et 15 " #~ "minutes.\n" #~ "Si FICHIER n'est pas utilisé, utiliser %s. %s comme FICHIER est d'usager " #~ "courant.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Afficher la liste des usagers actifs selon la liste contenue dans\n" #~ "le FICHIER. Si le FICHIER n'est pas spécifié, utiliser %s.\n" #~ "L'utilisation de %s comme FICHIER est d'usage courant.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Afficher le décompte d'octets, de mots et de nouvelles lignes pour chaque " #~ "FICHIER et\n" #~ "le nombre total de ligne si plus d'un FICHIER est spécifié.\n" #~ "Sans FICHIER, ou quand FICHIER est -, lire de l'entrée standard.\n" #~ " -c, --bytes afficher le nombre d'octets\n" #~ " -m, --chars afficher le nombre de caractères\n" #~ " -l, --lines afficher le nombre de nouvelles lignes\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=F lit l'entrée depuis les fichiers spécifiés par\n" #~ " les noms NUL-terminated du fichier F\n" #~ " -L, --max-line-length affiche la longueur de la ligne la plus longue\n" #~ " -w, --words affiche le nombre de mots\n" #~ msgid " old " #~ msgstr "vieux" #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "sortie=" #~ msgid "clock change" #~ msgstr "changement d'horloge" #~ msgid "run-level" #~ msgstr "niveau d'exécution" #~ msgid "last=" #~ msgstr "dernier=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# usager=%lu\n" #~ msgid "NAME" #~ msgstr "NOM" #~ msgid "LINE" #~ msgstr "LIGNE" #~ msgid "TIME" #~ msgstr "HEURE" #~ msgid "IDLE" #~ msgstr "OSIF" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "COMMENTAIRE" #~ msgid "EXIT" #~ msgstr "EXIT" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Usage: %s [OPTION]... [ FICHIER | ARG1 ARG2]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all afficher toutes les informations\n" #~ " -b, --boot afficher l'heure du dernier amorçage\n" #~ " -d, --dead afficher la liste des processus morts\n" #~ " -H, --heading afficher les lignes d'en-tête\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login afficher le processus de login du système\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup utiliser la forme canonique des noms des hôtes\n" #~ " via le DNS (-l est déprécié, utiliser --lookup)\n" #~ " -m seulement du poste (hostname) et\n" #~ " de l'usager associé à « stdin »\n" #~ " -p, --process afficher la liste des processus lancés par init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count afficher tous les comptes actifs et le nombre " #~ "d'usagers\n" #~ " présents sur le système\n" #~ " -r, --runlevel afficher le niveau d'exécution courant\n" #~ " -s, --short afficher seulement le nom, la ligne et l'heure (par " #~ "défaut)\n" #~ " -t, --time afficher l'heure du dernier changement d'heure de " #~ "l'horloge\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg ajouter le statut du message usager avec +, - ou ?\n" #~ " -u, --users afficher la liste des usagers actifs\n" #~ " --message identique à -T\n" #~ " --writeable identique à -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Si FICHIER n'est pas spécifié, utilise %s. %s comme FICHIER\n" #~ "est d'usage courant. Si PARAM1 et PARAM2 sont fournis, -m est assumé:\n" #~ "« am i » ou « mom likes » sont d'usage courant.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Afficher le nom de l'usager associé à l'identificateur effectif\n" #~ "courant de l'usager. Identique à: id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: ne peut trouver le nom de l'usager ID %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Usage: %s [CHAÎNE]...\n" #~ " ou: %s OPTION\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Afficher à répétition une ligne de caractères telle que spécifiée\n" #~ "par CHAÎNE ou par « y ».\n" dc3dd-7.1.614/po/da.gmo0000644000175000017500000000240611233346647014160 0ustar amedicoamedico | &!H]m t KY(3DX j t i   Try `%s --help' for more information. Unknown system errorcannot fstat %sclosing input file %sclosing output file %sinvalid number %sopening %sstandard inputstandard outputwarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 4.5.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2003-03-30 19:53+0200 Last-Translator: Keld Jørn Simonsen Language-Team: Danish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Prøv '%s --help' for mere information. ukendt systemfejlkan ikke udføre fstat() %slukker indfil %slukker uddatafil %sugyldigt antal %såbner %sstandard-indstandard-udadvarsel: omgår lseek-kernefejl for fil (%s) med mt_type=0x%0lx -- se for listen af typerskriver til %sdc3dd-7.1.614/po/cs.po0000644000175000017500000141731211233346647014044 0ustar amedicoamedico# Czech translations for GNU textutils # Copyright (C) 1996 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Vladimir Michl , 1996. # Petr Pisar , 2006, 2007, 2008 # msgid "" msgstr "" "Project-Id-Version: coreutils 6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-04-23 17:24+0200\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "pro %s -d nelze založit proces" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Více informací získáte příkazem „%s --help“.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Použití: %s [OPERAND]…\n" " nebo: %s PŘEPÍNAČ\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Kopírování souboru, konverze a formátování. Toto vše lze navolit\n" "následujícími operandy.\n" "\n" " bs=BAJTŮ nastaví ibs=BAJTŮ a obs=BAJTŮ\n" " cbs=BAJTŮ konvertuje BAJTŮ bajtů najednou\n" " conv=KONVERZE konvertuje podle seznamu čárkami oddělených konverzí\n" " count=BLOKŮ zkopíruje pouze BLOKŮ vstupních bloků\n" " ibs=BAJTŮ čte BAJTŮ bajtů najednou\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=SOUBOR čte ze souboru SOUBOR místo ze stdin\n" " iflag=PŘÍZNAKY způsob čtení. PŘÍZNAKY je seznam čárkou oddělených " "příznaků\n" " obs=BAJTŮ zapisuje BAJTŮ bajtů najednou\n" " of=SOUBOR zapisuje do souboru SOUBOR místo do stdout\n" " oflag=PŘÍZNAKY způsob zápisu. PŘÍZNAKY je seznam čárkou oddělených " "příznaků\n" " seek=BLOKŮ přeskočí prvních BLOKŮ výstupních bloků velikosti „obs“\n" " skip=BLOKŮ přeskočí prvních BLOKŮ vstupních bloků velikosti „ibs“\n" " status=noxfer nezobrazí statistické informace o přenosu dat\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Hodnoty BLOKŮ a BAJTŮ mohou mít následující násobné přípony (přípona " "činitel):\n" "c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 a tak dále pro T, P, E, Z, Y.\n" "Mezi hodnotu a příponu může být vložen znak „x“ (např. 2xK = 2K = 2048).\n" "\n" "Každá dílčí konverze v seznamu KONVERZÍ může být:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat nevytváří výstupní soubor\n" " excl selže, pokud výstupní soubor již existuje\n" " notrunc nezkracuje výstupní soubor\n" " ucase převede malá písmena na velká\n" " swab zamění bajty v každém páru vstupních bajtů\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror pokračuje i při vzniku chyby při čtení\n" " sync doplní každý vstupní blok nulovými bajty do velikosti „ibs“.\n" " Za současného použití block nebo unblock doplňuje mezerami.\n" " fdatasync před ukončením vynutí fyzický zápis dat\n" " fsync podobně, ale zapíše i metadata\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Každý dílčí příznak v seznamu PŘÍZNAKŮ může být:\n" "\n" " append připisuje na konec (má smysl pouze pro výstup;\n" " doporučeno s conv=notrunc)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" " direct použije přímé vstupně-výstupní operace (V/V) pro práci s daty\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory selže, pokud se nejedná o adresář\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync použije synchronní V/V pro práci s daty\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync podobně, ale také pro metadata\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock použije neblokující V/V\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noaime neaktualizuje čas posledního přístupu k souboru\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty nepovažuje soubor za řídící terminál\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow nesleduje symbolické odkazy\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks selže, pokud na soubor vede více pevných odkazů\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary použije binární V/V pro práci s daty\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text použije textové V/V pro práci s daty\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Zaslání signálu %s běžícímu procesu „dd“ způsobí vypsání statistických\n" "informací o V/V operacích na standardní chybový výstup. Pak se obnoví\n" "kopírování.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 vstoupivších záznamů\n" " 18335302+0 vystoupivších záznamů\n" " 9 387 674 624 bajtů (9,4 GB) zkopírováno, 34,6279 s, 271 MB/s\n" "\n" "Volby jsou:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Neznámá chyba systému" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% vstoupivších záznamů\n" "%+% vystoupivších záznamů\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% bajt (%s) zkopírován" msgstr[1] "% bajty (%s) zkopírovány" msgstr[2] "%' bajtů (%s) zkopírováno" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "nekonečno B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %'g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %'g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "zavírám vstupní soubor %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "zavírám výstupní soubor %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Všechny přípony výstupních souborů vyčerpány" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "otevírám %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "CHYBNÝ" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "neznámý operand %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "chybné datum: %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "neplatný formát data %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "neplatný formát data %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "neplatný formát data %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "neplatná konverze" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "neplatný příznak vstupu" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "neplatný příznak výstupu" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "neplatná hodnota operandu status" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "neplatné číslo %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "excl a nocreat nelze použít současně" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "přepínače -e a -i nelze kombinovat" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "přepínače -e a -i nelze kombinovat" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "přepínače -e a -i nelze kombinovat" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "přepínače -e a -i nelze kombinovat" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "přepínače -e a -i nelze kombinovat" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "varování: obcházím chybu služby jádra lseek() nad souborem %s\n" " typu mt_type=0x%0lx – seznam typů naleznete v " #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "čtení %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: soubor nelze převíjet" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "během čtení ze souboru %s přetekl offset" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "varování: chybný offset souboru poté, co selhalo čtení" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "stejně se nedokážu vyrovnat s chybou v jádře" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "nastavuji příznaky pro %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "čtu adresář %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "čtu adresář %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "zapisuji do %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync na %s selhalo" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "fsync na %s selhalo" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standardní vstup" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standardní výstup" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "příliš velký offset: nelze zkrátit na délku seek=% (%lu-bajtových) " "bloků" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "nelze získat informace o souboru %s z deskriptoru" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "na % bajtů zkracuji výstupní soubor %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii z EBCDIC do ASCII\n" #~ " ebcdic z ASCII do EBCDIC\n" #~ " ibm z ASCII do pozměněného EBCDIC\n" #~ " block záznamy ukončené znakem nového řádku vyplní do velikosti " #~ "„cbs“\n" #~ " mezerami\n" #~ " unblock koncové mezery v záznamech o velikosti „cbs“ nahradí znakem " #~ "nového\n" #~ " řádku\n" #~ " lcase převede velká písmena na malá\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% zkrácený záznam\n" #~ msgstr[1] "% zkrácené záznamy\n" #~ msgstr[2] "% zkrácených záznamů\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "tyto konverze nelze kombinovat: ascii, ebcdic, ibm" #~ msgid "cannot combine block and unblock" #~ msgstr "block a unblock nelze použít současně" #~ msgid "cannot combine lcase and ucase" #~ msgstr "lcase a ucase nelze použít současně" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "varování: chybný offset souboru poté, co selhalo čtení" #~ msgid "error writing %s" #~ msgstr "chyba při zápisu %s" #~ msgid "invalid argument %s for %s" #~ msgstr "argument %s je pro %s neplatný" #~ msgid "ambiguous argument %s for %s" #~ msgstr "argument %s je pro %s nejednoznačný" #~ msgid "Valid arguments are:" #~ msgstr "Platné argumenty jsou:" #~ msgid "error closing file" #~ msgstr "chyba při zavírání souboru" #~ msgid "write error" #~ msgstr "chyba při zápisu" #~ msgid "preserving permissions for %s" #~ msgstr "zachování práv pro %s" #~ msgid "cannot stat %s" #~ msgstr "nelze získat informace o %s" #~ msgid "regular empty file" #~ msgstr "běžný prázdný soubor" #~ msgid "regular file" #~ msgstr "běžný soubor" #~ msgid "directory" #~ msgstr "adresář" #~ msgid "block special file" #~ msgstr "blokové zařízení" #~ msgid "character special file" #~ msgstr "znakové zařízení" #~ msgid "fifo" #~ msgstr "FIFO" #~ msgid "symbolic link" #~ msgstr "symbolický odkaz" #~ msgid "socket" #~ msgstr "soket" #~ msgid "message queue" #~ msgstr "fronta zpráv" #~ msgid "semaphore" #~ msgstr "semafor" #~ msgid "shared memory object" #~ msgstr "objekt sdílené paměti" #~ msgid "typed memory object" #~ msgstr "typovaný paměťový objekt" #~ msgid "weird file" #~ msgstr "divný soubor" #~ msgid "Address family for hostname not supported" #~ msgstr "Pro jméno počítače není rodina adres podporována" #~ msgid "Temporary failure in name resolution" #~ msgstr "Dočasné selhání při překladu jména" #~ msgid "Bad value for ai_flags" #~ msgstr "Chybná hodnota pro ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Z chyby překladu jména se nelze zotavit" #~ msgid "ai_family not supported" #~ msgstr "ai_family není podporována" #~ msgid "Memory allocation failure" #~ msgstr "Chyba přidělování paměti" #~ msgid "No address associated with hostname" #~ msgstr "Se jménem počítače není spojena žádná adresa" #~ msgid "Name or service not known" #~ msgstr "Neznámé jméno nebo služba" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Servname není podporována daným ai_socktype" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype není podporován" #~ msgid "System error" #~ msgstr "Chyba systému" #~ msgid "Argument buffer too small" #~ msgstr "Vyrovnávací paměť pro argumenty je příliš malá" #~ msgid "Processing request in progress" #~ msgstr "Požadavek se zpracovává" #~ msgid "Request canceled" #~ msgstr "Požadavek zrušen" #~ msgid "Request not canceled" #~ msgstr "Požadavek nezrušen" #~ msgid "All requests done" #~ msgstr "Všechny požadavky vyřízeny" #~ msgid "Interrupted by a signal" #~ msgstr "Přerušeno signálem" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Řetězec v parametru není správně zakódován" #~ msgid "Unknown error" #~ msgstr "Neznámá chyba" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: přepínač „%s“ není jednoznačný\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: přepínač „--%s“ musí být zadán bez argumentu\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: přepínač „%c%s“ musí být zadán bez argumentu\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: přepínač „%s“ vyžaduje argument\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: neznámý přepínač „--%s“\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: neznámý přepínač „%c%s“\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: nepovolený přepínač – %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: neplatný přepínač – %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: přepínač vyžaduje argument – %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: přepínač „-W %s“ není jednoznačný\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: přepínač „-W %s“ musí být zadán bez argumentu\n" #~ msgid "cannot change permissions of %s" #~ msgstr "práva %s nelze změnit" #~ msgid "cannot create directory %s" #~ msgstr "adresář %s nelze vytvořit" #~ msgid "memory exhausted" #~ msgstr "paměť vyčerpána" #~ msgid "unable to record current working directory" #~ msgstr "nelze zaznamenat současný pracovní adresář" #~ msgid "failed to return to initial working directory" #~ msgstr "návrat do původního pracovního adresáře selhal" #~ msgid "`" #~ msgstr "„" #~ msgid "'" #~ msgstr "“" #~ msgid "%s: end of file" #~ msgstr "%s: konec souboru" #~ msgid "Success" #~ msgstr "Úspěch" #~ msgid "No match" #~ msgstr "Žádná shoda" #~ msgid "Invalid regular expression" #~ msgstr "Neplatný regulární výraz" #~ msgid "Invalid collation character" #~ msgstr "Znak nevhodné třídy" #~ msgid "Invalid character class name" #~ msgstr "Chybný název znakové třídy" #~ msgid "Trailing backslash" #~ msgstr "Přebytečné zpětné lomítko" #~ msgid "Invalid back reference" #~ msgstr "Chybný zpětný odkaz" #~ msgid "Unmatched [ or [^" #~ msgstr "Nepárová [ nebo [^" #~ msgid "Unmatched ( or \\(" #~ msgstr "Nepárová ( nebo \\(" #~ msgid "Unmatched \\{" #~ msgstr "Nepárová \\{" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Chybný obsah mezi \\{ a \\}" #~ msgid "Invalid range end" #~ msgstr "Chybný konec rozsahu" #~ msgid "Memory exhausted" #~ msgstr "Paměť vyčerpána" #~ msgid "Invalid preceding regular expression" #~ msgstr "Předcházející regulární výraz je chybný" #~ msgid "Premature end of regular expression" #~ msgstr "Nenadálý konec regulárního výrazu" #~ msgid "Regular expression too big" #~ msgstr "Regulární výraz je příliš dlouhý" #~ msgid "Unmatched ) or \\)" #~ msgstr "Nepárová ) nebo \\)" #~ msgid "No previous regular expression" #~ msgstr "Chybí předcházející regulární výraz" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "rekurzivní zpracování %s je nebezpečné" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "rekurzivní zpracování na %s (taktéž na %s) je nebezpečné" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "tento záchranný režim potlačíte volbou --no-preserve-root" #~ msgid "^[yY]" #~ msgstr "^[aAyY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "nastavení práv pro %s" #~ msgid "iconv function not usable" #~ msgstr "funkce iconv je nepoužitelná" #~ msgid "iconv function not available" #~ msgstr "funkce iconv není dostupná" #~ msgid "character out of range" #~ msgstr "znak je mimo rozsah" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "znak U+%04X nelze převést do místní znakové sady" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "znak U+%04X nelze převést do místní znakové sady: %s" #~ msgid "invalid user" #~ msgstr "neplatný uživatel" #~ msgid "invalid group" #~ msgstr "neplatná skupina" #~ msgid "invalid spec" #~ msgstr "neplatný argument spec" #~ msgid "(C)" #~ msgstr "©" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Licence GPLv3+: GNU GPL verze 3 nebo novější \n" #~ "Toto je svobodné programové vybavení: máte právo jej měnit a šířit.\n" #~ "VEŠKERÉ ZÁRUKY chybí, jak jen zákon dovoluje.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Napsal %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Napsali %s a %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Napsali %s, %s a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Napsali %s, %s, %s a\n" #~ "%s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Napsali %s, %s, %s,\n" #~ "%s a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Napsali %s, %s, %s,\n" #~ "%s, %s a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Napsali %s, %s, %s,\n" #~ "%s, %s, %s a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Napsali %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Napsali %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Napsali %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s a jiní.\n" #~ msgid "invalid argument: %s" #~ msgstr "neplatný argument: %s" #~ msgid "string comparison failed" #~ msgstr "porovnání řetězců selhalo" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Pro obejití problému nastavte LC_ALL='C'." #~ msgid "The strings compared were %s and %s." #~ msgstr "Byly porovnávány řetězce %s a %s." #~ msgid "string transformation failed" #~ msgstr "převod řetězce selhal" #~ msgid "The untransformed string was %s." #~ msgstr "Nepřevedený řetězec byl %s." #~ msgid "cannot perform formatted output" #~ msgstr "formátovaný výstup nelze provést" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "argument „%3$s“ přepínače %1$s%2$s je neplatný" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "neplatná přípona v argumentu „%3$s“ přepínače %1$s%2$s" #~ msgid "%s%s argument `%s' too large" #~ msgstr "argument „%3$s“ přepínače %1$s%2$s je příliš velký" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Použití: %s [VOLBA] [SOUBOR]\n" #~ "Zakóduje do base64 nebo dekóduje z base64 SOUBOR nebo standardní vstup " #~ "na\n" #~ "standardní výstup.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=SLOUPCŮ Zalomí zakódované řádky po SLOUPCŮ znacích " #~ "(výchozí 76).\n" #~ " Zalamování lze zakázat hodnotou 0.\n" #~ "\n" #~ " -d, --decode Rozkóduje data.\n" #~ " -i, --ignore-garbage Během dekódování ignoruje neabecední znaky.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Vypíše tuto nápovědu a skončí.\n" #~ " --version Vypíše označení verze a skončí.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Není-li uveden SOUBOR nebo když je SOUBOR „-“, čte ze standardního " #~ "vstupu.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Data jsou kódována do abecedy base64 podle RFC 3548. Při dekódování\n" #~ "může vstup kromě formální abecedy base64 obsahovat také znaky nového\n" #~ "řádku. Obsahuje-li proud zakódovaných dat i bajty nepatřící do abecedy,\n" #~ "můžete se je pokusit přeskočit volbou --ignore-garbage.\n" #~ msgid "read error" #~ msgstr "chyba při čtení" #~ msgid "invalid input" #~ msgstr "neplatný vstup" #~ msgid "invalid wrap size: %s" #~ msgstr "neplatná délka zalomení: %s" #~ msgid "extra operand %s" #~ msgstr "nadbytečný operand %s" #~ msgid "closing standard input" #~ msgstr "zavírám standardní vstup" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s JMÉNO [PŘÍPONA]\n" #~ " nebo: %s [VOLBA]\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Vypíše JMÉNO bez úvodních adresářů. Pokud je zadáno, odstraní také " #~ "PŘÍPONU.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Příklady:\n" #~ " %s /usr/bin/sort Výstup „sort“.\n" #~ " %s include/stdio.h .h Výstup „stdio“.\n" #~ msgid "missing operand" #~ msgstr "chybí operand" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ] [SOUBOR]…\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Zřetězí obsah SOUBORU(Ů) nebo standardního vstupu a vypíše jej na " #~ "standardní\n" #~ "výstup.\n" #~ "\n" #~ " -A, --show-all stejné jako -vET\n" #~ " -b, --number-nonblank čísluje neprázdné výstupní řádky\n" #~ " -e stejné jako -vE\n" #~ " -E, --show-ends vypíše $ na konci každého řádku\n" #~ " -n, --number čísluje všechny výstupní řádky\n" #~ " -s, --squeeze-blank prázdné řádky jdoucí po sobě redukuje na " #~ "jediný\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t stejné jako -vT\n" #~ " -T, --show-tabs vypisuje znak TAB jako ^I\n" #~ " -u (ignorováno)\n" #~ " -v, --show-nonprinting použije zápisu ^ a M-, kromě znaků LF a TAB\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Příklady:\n" #~ " %s f - g Vypíše obsah souboru f, pak standardní vstup, poté obsah g.\n" #~ " %s Kopíruje standardní vstup na standardní výstup.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "ioctl na „%s“ není možné vykonat" #~ msgid "%s: input file is output file" #~ msgstr "%s: vstupní soubor je zároveň výstupním" #~ msgid "failed to create security context: %s" #~ msgstr "chyba při výrobě bezpečnostního kontextu: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "nastavení složky %s bezpečnostního kontextu na %s se nezdařilo" #~ msgid "failed to get security context of %s" #~ msgstr "získat bezpečnostní kontext %s se nezdařilo" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "částečný kontext na neoznačený soubor %s nelze uplatnit" #~ msgid "failed to change context of %s to %s" #~ msgstr "změnit kontext %s na %s se nezdařilo" #~ msgid "cannot access %s" #~ msgstr "nelze přistoupit k %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "adresář %s nelze číst" #~ msgid "changing security context of %s" #~ msgstr "měním bezpečnostní kontext %s" #~ msgid "fts_read failed" #~ msgstr "fts_read selhalo" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… KONTEXT… SOUBOR…\n" #~ " nebo: %s [PŘEPÍNAČ]… [-u UŽIVATEL] [-r ROLE] [-l ROZSAH]\n" #~ " [-t DRUH] SOUBOR…\n" #~ " nebo: %s [PŘEPÍNAČ]… --reference=RSOUBOR SOUBOR…\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Změní bezpečnostní kontext každého SOUBORU na KONTEXT.\n" #~ "Při použití --reference změní bezpečnostní kontext každého SOUBORU na\n" #~ "kontext RSOUBORU.\n" #~ "\n" #~ " -c, --changes jako --verbose, ale hlásí jen při změně\n" #~ " -h, --no-dereference působí na symbolický odkaz místo na odkazovaný " #~ "soubor\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=RSOUBOR\n" #~ " místo zadání hodnoty KONTEXT použije " #~ "bezpečnostní\n" #~ " kontext souboru RSOUBOR\n" #~ " -R, --recursive vykoná se rekurzivně i v podadresářích\n" #~ " -v, --verbose vypíše informaci o každém zpracovávaném souboru\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=UŽIVATEL nastaví uživatele UŽIVATEL v cílovém bezp. " #~ "kontextu\n" #~ " -r, --role=ROLE nastaví roli ROLE v cílovém bezp. kontextu\n" #~ " -t, --type=DRUH nastaví druh DRUH v cílovém bezp. kontextu\n" #~ " -l, --range=ROZSAH nastaví rozsah ROZSAH v cílovém bezp. kontextu\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Následující přepínače ovlivňují, jak se zpracuje hierarchie adresářů, " #~ "když je\n" #~ "současně použit přepínač -R. Pokud se použije více těchto přepínačů, " #~ "uplatní\n" #~ "se pouze poslední z nich.\n" #~ "\n" #~ " -H pokud je argument na příkazové řádce " #~ "symbolický\n" #~ " odkaz na adresář, projdi jej\n" #~ " -L projdi každý symbolický odkaz na adresář\n" #~ " -P neprocházej žádné symbolické odkazy (výchozí)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference vyžaduje buď -H, a nebo -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h vyžaduje -P" #~ msgid "missing operand after %s" #~ msgstr "po %s chybí operand" #~ msgid "invalid context: %s" #~ msgstr "neplatný kontext: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "byly zadány odporující si požadavky na bezpečnostní kontext" #~ msgid "failed to get attributes of %s" #~ msgstr "selhalo získání vlastností souboru %s" #~ msgid "invalid group: %s" #~ msgstr "neplatná skupina: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… SKUPINA SOUBOR…\n" #~ " nebo: %s [PŘEPÍNAČ]… --reference=RSOUBOR SOUBOR…\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Mění skupinu zadaných SOUBORŮ na SKUPINU.\n" #~ "\n" #~ " -c, --changes vypíše soubory, jejichž skupina byla změněna\n" #~ " --dereference působí na soubor, na nějž se odkazuje " #~ "symbolický\n" #~ " odkaz (toto je výchozí chování), namísto " #~ "odkazu\n" #~ " samotného\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference působí na symbolický odkaz místo na soubor,\n" #~ " na který odkaz odkazuje (funguje pouze na " #~ "systémech,\n" #~ " které mohou měnit vlastníky symbolických " #~ "odkazů)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root s „/“ se nezachází zvláštně (výchozí chování)\n" #~ " --preserve-root odmítne rekurzivní zpracování nad „/“\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet potlačí většinu chybových zpráv\n" #~ " --reference=RSOUBOR místo hodnoty SKUPINA použije skupinu souboru " #~ "RSOUBOR\n" #~ " -R, --recursive vykoná se i v podadresářích\n" #~ " -v, --verbose vypíše informaci o každém zpracovávaném " #~ "souboru\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Příklady:\n" #~ " %s staff /u Změní skupinu /u na „staff“.\n" #~ " %s -hR staff /u Změní skupinu /u a všech podsouborů na „staff“.\n" #~ msgid "getting new attributes of %s" #~ msgstr "získání nových vlastností %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "" #~ "symbolický odkaz %s ani soubor, na nějž se odkazuje, nebyl změněny\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "práva souboru %s změněna na %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "práva souboru %s se nepodařilo změnit na %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "práva souboru %s zůstala %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "nad slepým symbolickým odkazem %s nelze pracovat" #~ msgid "changing permissions of %s" #~ msgstr "práva %s nelze změnit" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: nová práva jsou %s, a ne %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… PRÁVA[,PRÁVA]… SOUBOR…\n" #~ " nebo: %s [PŘEPÍNAČ]… OSMIČKOVÁ_PRÁVA SOUBOR…\n" #~ " nebo: %s [PŘEPÍNAČ]… --reference=RSOUBOR SOUBOR…\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Změní práva každému SOUBORU na PRÁVA.\n" #~ "\n" #~ " -c, --changes vypisuje pouze soubory, jejichž práva byla " #~ "změněna\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root s „/“ se nezachází zvláštně (výchozí chování)\n" #~ " --preserve-root odmítne rekurzivní zpracování nad „/“\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet potlačí většinu chybových zpráv\n" #~ " -v, --verbose vypisuje informaci o každém zpracovaném " #~ "souboru\n" #~ " --reference=RSOUBOR místo hodnoty PRÁVA použije práva souboru " #~ "RSOUBOR\n" #~ " -R, --recursive pracuje i se soubory a adresáři " #~ "v podadresářích\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Každá PRÁVA jsou zapsána v podobě „[ugoa]*([-+=]([rwxXst]*|[ugo]))+“.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "PRÁVA a --reference nelze použít současně" #~ msgid "invalid mode: %s" #~ msgstr "neplatná práva: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "vlastník souboru %s změněn na %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "skupinu souboru %s změněna na %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "zachování vlastnictví souboru %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "vlastnictví %s nelze změnit na %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "skupinu souboru %s se nepodařilo změnit na %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "vlastnictví %s nelze změnit\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "vlastníkem souboru %s zůstal %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "skupina souboru %s zůstala %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "vlastník souboru %s zachován\n" #~ msgid "cannot dereference %s" #~ msgstr "nelze dereferencovat %s" #~ msgid "changing ownership of %s" #~ msgstr "změnění vlastnictví souboru %s" #~ msgid "changing group of %s" #~ msgstr "změnění skupiny souboru %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… [VLASTNÍK][:[SKUPINA]] SOUBOR…\n" #~ " nebo: %s [PŘEPÍNAČ]… --reference=RSOUBOR SOUBOR…\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Mění vlastníka a/nebo skupinu zadaných SOUBORŮ na VLASTNÍKA a/nebo " #~ "SKUPINU.\n" #~ "S --reference mění vlastníka a skupinu zadaných SOUBORŮ na vlastníka a " #~ "skupinu\n" #~ "souboru RSOUBOR.\n" #~ "\n" #~ " -c, --changes vypíše pouze soubory, jejichž vlastnictví bylo " #~ "změněno\n" #~ " --dereference působí na soubory, na něž se odkazují " #~ "symbolické\n" #~ " odkazy, místo na odkazy samotné\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=SOUČASNÝ_VLASTNÍK:SOUČASNÁ_SKUPINA\n" #~ " mění vlastníka a/nebo skupinu každého souboru,\n" #~ " pouze když jeho aktuální vlastník a/nebo " #~ "skupina\n" #~ " odpovídá zadaným. Jak vlastník tak skupina může " #~ "být\n" #~ " vynechána, a tedy nebude uvažována.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet potlačí většinu chybových zpráv\n" #~ " --reference=RSOUBOR místo hodnot VLASTNÍK:SKUPINA použije " #~ "vlastníka\n" #~ " a skupinu souboru RSOUBOR\n" #~ " -R, --recursive pracuje i se soubory a adresáři v podadresářích\n" #~ " -v, --verbose vypíše informaci o každém zpracovávaném souboru\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Vlastník nebude změněn, není-li zadán. Skupina nebude změněna, není-li\n" #~ "zadána, ale v případě, že uvedete za vlastníkem dvojtečku, bude skupina " #~ "změněna\n" #~ "na přihlašovací skupinu vlastníka. VLASTNÍKA a SKUPINU lze zadat číselně\n" #~ "i symbolicky.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Příklady:\n" #~ " %s root /u Změní vlastníka /u na „root“.\n" #~ " %s root:staff /u Nápodobně, navíc změní skupinu na „staff“.\n" #~ " %s -hR root /u Změní vlastníka /u a všech podsouborů na „root“.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s NOVÝ_ROOT [PŘÍKAZ…]\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Spustí PŘÍKAZ s kořenovým adresářem nastaveným na NOVÝ_ROOT.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Není-li zadán žádný příkaz, spustí „${SHELL} -i“ (výchozí: /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "nelze změnit kořenový adresář na %s" #~ msgid "cannot chdir to root directory" #~ msgstr "nelze změnit pracovní adresář na kořenový" #~ msgid "cannot run command %s" #~ msgstr "nelze provést příkaz %s" #~ msgid "%s: file too long" #~ msgstr "%s: soubor je příliš dlouhý" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Použití: %s [SOUBOR]…\n" #~ " nebo: %s [PŘEPÍNAČ]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Vypíše CRC kontrolní součet a počet bajtů v každém SOUBORU.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… SOUBOR1 SOUBOR2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Porovná setříděné soubory SOUBOR1 a SOUBOR2 řádek po pořádku.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Bez přepínačů produkuje třísloupcový výstup. První sloupec obsahuje " #~ "řádky\n" #~ "jedinečné pro SOUBOR1, druhý sloupec řádky obsažené jen v SOUBORU2 a " #~ "sloupec\n" #~ "třetí obsahuje řádky společné oběma souborům.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 neukazuje řádky obsažené pouze v SOUBORU1\n" #~ " -2 neukazuje řádky obsažené pouze v SOUBORU2\n" #~ " -3 neukazuje řádky společné oběma souborům\n" #~ msgid "clearing permissions for %s" #~ msgstr "odebírám práva k %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "selhalo zachování vlastnictví souboru %s" #~ msgid "failed to lookup file %s" #~ msgstr "selhalo vyhledání souboru %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "selhalo zachování autorství souboru %s" #~ msgid "cannot open %s for reading" #~ msgstr "%s nelze otevřít pro čtení" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "přeskakuji soubor %s, protože byl nahrazen během kopírování" #~ msgid "failed to get file system create context" #~ msgstr "získat kontext pro vytváření na souborovém systému se nezdařilo" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "nastavení bezpečnostního kontextu %s na %s se nezdařilo" #~ msgid "cannot remove %s" #~ msgstr "nelze odstranit %s" #~ msgid "removed %s\n" #~ msgstr "smazáno %s\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "nezapisuji skrze slepý symbolický odkaz %s" #~ msgid "cannot create regular file %s" #~ msgstr "nelze vytvořit obyčejný soubor %s" #~ msgid "cannot lseek %s" #~ msgstr "nelze nastavit pozici pro %s" #~ msgid "writing %s" #~ msgstr "zápis %s" #~ msgid "preserving times for %s" #~ msgstr "zachování časů souboru %s" #~ msgid "closing %s" #~ msgstr "uzavírání %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: přepsat %s přebitím přístupových práv %04lo (%s)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: přepsat %s? " #~ msgid " (backup: %s)" #~ msgstr " (záloha: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "obnova výchozího kontextu pro vytvářené soubory selhala" #~ msgid "omitting directory %s" #~ msgstr "vynechávám adresář %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "varování: zdrojový soubor %s byl zadán více krát" #~ msgid "%s and %s are the same file" #~ msgstr "%s a %s jsou jeden a tentýž soubor" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "ne-adresář %s nelze přepsat adresářem %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "právě vytvořený %s nebude přepsán %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "adresář %s nelze přepsat ne-adresářem" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "adresář nelze přesunout do ne-adresáře: %s → %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "vytvoření zálohy souboru %s může zničit zdroj; `%s' nepřejmenován" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "vytvoření zálohy souboru %s může zničit zdroj; %s nekopírován" #~ msgid "cannot backup %s" #~ msgstr "nelze vytvořit zálohu %s" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "nebudu kopírovat %s skrze právě vytvořený symbolický odkaz %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "nelze kopírovat adresář %s na sebe %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "pevný odkaz %s na adresář %s nebude vytvořen" #~ msgid "cannot create hard link %s to %s" #~ msgstr "nelze vytvořit pevný odkaz %s na %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "nelze přesunout %s do podadresáře sebe sama (%s)" #~ msgid "cannot move %s to %s" #~ msgstr "nelze přesunout %s do %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "přesun mezi zařízeními selhal: %s na %s; cíl nelze odstranit" #~ msgid "failed to set default file creation context to %s" #~ msgstr "selhalo nastavení výchozího kontextu pro vytvářené soubory na %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "%s: zacyklené symbolické odkazy nelze kopírovat" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: relativní symbolický odkaz lze vytvořit pouze v aktuálním adresáři" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "nelze vytvořit symbolický odkaz %s na %s" #~ msgid "cannot create link %s" #~ msgstr "odkaz %s nelze vytvořit" #~ msgid "cannot create fifo %s" #~ msgstr "nelze vytvořit rouru %s" #~ msgid "cannot create special file %s" #~ msgstr "nelze vytvořit zvláštní soubor %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "symbolický odkaz %s nelze přečíst" #~ msgid "cannot create symbolic link %s" #~ msgstr "nelze vytvořit symbolický odkaz %s" #~ msgid "%s has unknown file type" #~ msgstr "%s: neznámý typ souboru" #~ msgid "cannot un-backup %s" #~ msgstr "%s: nelze obnovit ze zálohy" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s → %s (obnoven ze zálohy)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… [-T] ZDROJ CÍL\n" #~ " nebo: %s [PŘEPÍNAČ]… ZDROJ… ADRESÁŘ\n" #~ " nebo: %s [PŘEPÍNAČ]… -t ADRESÁŘ ZDROJ…\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Kopíruje ZDROJ do CÍLE nebo více ZDROJŮ do ADRESÁŘE.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Povinné argumenty dlouhých přepínačů jsou také povinné u odpovídajících\n" #~ "krátkých přepínačů.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive stejné jako použití přepínačů -dpR\n" #~ " --backup=[TYP] vytvoří záložní kopie přepisovaných " #~ "souborů\n" #~ " -b jako --backup, ale bez argumentu\n" #~ " --copy-contents v rekurzivním režimu kopíruje obsah\n" #~ " speciálních souborů\n" #~ " -d, stejné jako --no-dereference --" #~ "preserve=links\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force pokud cílový soubor existuje a nelze jej\n" #~ " otevřít, smaže jej a zkusí to znovu\n" #~ " -i, --interactive ptá se před přepsáním\n" #~ " -H následuje symbolické odkazy z příkazové " #~ "řádky\n" #~ " ve ZDROJI\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link tvoří odkazy místo kopírování\n" #~ " -L, --dereference vždy sleduje symbolické odkazy ve ZDROJI\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference nikdy nenásleduje symbolické odkazy\n" #~ " ve ZDROJI\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p stejné jako --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=SEZNAM_ATRIBUTŮ]\n" #~ " zachovává určené atributy (implicitní:\n" #~ " mode,ownership,timestamps [práva, " #~ "vlastnictví,\n" #~ " časy]), je-li to možné, další atributy:\n" #~ " context [kontext], links [linky], all " #~ "[vše]\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=SEZNAM_ATRIBUTŮ\n" #~ " nezachovává určené atributy\n" #~ " --parents přidává zdrojovou cestu do cílového " #~ "ADRESÁŘE\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive kopíruje adresáře rekurzivně\n" #~ " --remove-destination odstraní každý cílový soubor dříve, než se " #~ "jej\n" #~ " pokusí otevřít (opak --force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=KDY řídí tvorbu souborů s dírami\n" #~ " --strip-trailing-slashes odstraňuje lomítka na konci názvů všech " #~ "ZDROJŮ\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link místo kopírování vytváří symbolické " #~ "odkazy\n" #~ " -S, --suffix=PŘÍPONA mění obvyklou příponu pro záložní soubory\n" #~ " -t, --target-directory=ADRESÁŘ\n" #~ " všechny ZDROJE kopíruje do ADRESÁŘE\n" #~ " -T, --no-target-directory CÍL považuje za obyčejný soubor\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update kopíruje pouze, když zdrojový soubor je\n" #~ " novější než cílový, nebo když cílový " #~ "soubor\n" #~ " neexistuje\n" #~ " -v, --verbose vypisuje bližší informace o vykonávání " #~ "příkazu\n" #~ " -x, --one-file-system zůstane v jednom souborovém systému\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Implicitně jsou ZDROJOVÉ soubory s dírami detekovány hrubou heuristikou " #~ "a\n" #~ "odpovídající CÍLOVÝ soubor je vytvořen stejně „děravý“. Toto chovaní je " #~ "voleno\n" #~ "přepínačem --sparse=auto. Přepínačem --sparse=always říkáme, že " #~ "v CÍLOVÝCH\n" #~ "souborech se mají tvořit díry, jakmile ZDROJOVÝ soubor obsahuje " #~ "dostatečně\n" #~ "dlouhé sekvence nulových bajtů. Přepínačem --sparse=never tvorbě souborů\n" #~ "s dírami zabráníme.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Pokud není přípona záložních souborů nastavena přepínačem --suffix nebo\n" #~ "proměnnou SIMPLE_BACKUP_SUFFIX, je používána přípona „~“. Způsob " #~ "vytváření\n" #~ "záložních souborů lze ovlivnit nastavením proměnné VERSION_CONTROL, " #~ "hodnoty\n" #~ "mohou být:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off záložní kopie nevytvářet (i když je zadán přepínač --" #~ "backup)\n" #~ " numbered, t číslované záložní kopie\n" #~ " existing, nil číslované, jestliže již číslovaná záložní kopie " #~ "existuje,\n" #~ " jinak jednoduché\n" #~ " simple, never jednoduché záložní kopie\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Speciálním případem je, když jsou zadány přepínače --force i --backup a " #~ "ZDROJ\n" #~ "a CÍL jsou stejného jména jednoho obyčejného souboru. Pak cp kopii " #~ "ZDROJE\n" #~ "vytvoří.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "selhalo zachování časů souboru %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "selhalo zachování práv souboru %s" #~ msgid "cannot make directory %s" #~ msgstr "adresář %s nelze vytvořit" #~ msgid "%s exists but is not a directory" #~ msgstr "%s existuje, ale není adresářem" #~ msgid "accessing %s" #~ msgstr "přistupuji k %s" #~ msgid "missing file operand" #~ msgstr "chybí název souboru" #~ msgid "missing destination file operand after %s" #~ msgstr "za %s chybí název cílového souboru" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "--target-directory (-t) a --no-target-directory (-T) se vzájemně vylučují" #~ msgid "target %s is not a directory" #~ msgstr "cíl %s není adresářem" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "za použití --parents musí být cílem adresář" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "přepínač --reply není doporučen, místo něj použijte -i nebo -f" #~ msgid "multiple target directories specified" #~ msgstr "zadáno více cílových adresářů" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "symbolický a pevný odkaz nelze vytvořit zároveň" #~ msgid "backup type" #~ msgstr "typ zálohy" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "bez podpory SELinuxu v jádře nelze zachovat bezpečnostní kontext" #~ msgid "input disappeared" #~ msgstr "vstup se ztratil" #~ msgid "%s: line number out of range" #~ msgstr "%s: číslo řádku je mimo rozsah" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: číslo řádku je mimo rozsah" #~ msgid " on repetition %s\n" #~ msgstr " v %s. opakování\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: nenalezeno" #~ msgid "error in regular expression search" #~ msgstr "chyba při vyhledávání pomocí regulárního výrazu" #~ msgid "write error for %s" #~ msgstr "chyba při zápisu do %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: po oddělovači je očekáváno celé číslo" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: '}' je požadována v počítadle opakování" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: mezi `{' a `}' musí být celé číslo" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: postrádán koncový oddělovač „%c“" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: chybný regulární výraz: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: chybný vzorek" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: číslo řádku musí být větší než nula" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "číslo řádku %s je menší než číslo předcházejícího řádku, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "varování: číslo řádku %s je stejné s číslem předcházejícího řádku" #~ msgid "invalid format width" #~ msgstr "neplatná šířka formátu" #~ msgid "invalid format precision" #~ msgstr "neplatná přesnost formátu" #~ msgid "missing conversion specifier in suffix" #~ msgstr "v parametru přepínače chybí určení typu konverze" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "chybně zadaný typ konverze v parametru přepínače: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "chybně zadaný typ konverze v parametru přepínače: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "příliš mnoho typů konverze %% v parametru přepínače" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "v parametru přepínače chybí zadání typu konverze pomocí %%" #~ msgid "%s: invalid number" #~ msgstr "%s: chybné číslo" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… SOUBOR VZOREK…\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Rozděluje SOUBOR v místech VZORKU(Ů) do souborů „xx01“, „xx02“, …\n" #~ "a vypisuje velikosti každého výstupního souboru na standardní výstup.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMÁT\n" #~ " použije sprintf FORMÁT místo %02d\n" #~ " -f, --prefix=PŘEDPONA použije PŘEDPONY místo „xx“\n" #~ " -k, --keep-files nemaže výstupní soubory při chybách\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=CIFER použije zadaný počet číslic místo 2\n" #~ " -s, --quiet, --silent nevypisuje velikosti výstupních souborů\n" #~ " -z, --elide-empty-files smaže prázdné výstupní soubory\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Jestliže SOUBOR je „-“, bude čten standardní vstup. Každý VZOREK může " #~ "být:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " CELÉ_ČÍSLO kopíruje vše až do řádku tohoto čísla, ale bez něj\n" #~ " /REGVÝR/[POSUN] kopíruje vše do řádku odpovídajícího regulárnímu " #~ "výrazu,\n" #~ " ale bez něj\n" #~ " %%REGVÝR%%[POSUN] přeskočí vše až do řádku odpovídajícího regulárnímu\n" #~ " výrazu, ale bez něj\n" #~ " {CELÉ_ČÍSLO} opakuje předešlý vzorek tolikrát, kolikrát je zde " #~ "uvedeno\n" #~ " {*} opakuje předešlý vzorek tolikrát, kolikrát je to " #~ "možné\n" #~ "\n" #~ " POSUN musí začínat „+“ nebo „-“ následovaným celým kladným číslem.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "položky a pozice se počítají od 1" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Použití: %s PŘEPÍNAČ… [SOUBOR]…\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Vypíše pouze vybrané části řádků z každého SOUBORU na standardní výstup.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=SEZNAM vypíše pouze tyto bajty\n" #~ " -c, --characters=SEZNAM vypíše pouze tyto znaky\n" #~ " -d, --delimiter=ODDĚLOVAČ jako oddělovač použije ODDĚLOVAČ (místo " #~ "tabulátoru)\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=SEZNAM vypíše pouze tyto položky; také vypíše " #~ "všechny\n" #~ " řádky, které neobsahují oddělovač, ale pouze " #~ "pokud\n" #~ " není zadáno -s\n" #~ " -n (ignorováno)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement použije doplněk zadaných bajtů, znaků nebo " #~ "položek\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited potlačí řádky neobsahující oddělovače\n" #~ " --output-delimiter=ŘETĚZEC\n" #~ " ŘETĚZEC se použije jako výstupní oddělovač.\n" #~ " Implicitně je jako tento oddělovač použit " #~ "vstupní\n" #~ " oddělovač.\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Použijte právě jeden z přepínačů -b, -c nebo -f. Každý SEZNAM se skládá\n" #~ "z jednoho rozsahu, nebo z více rozsahů oddělených čárkami. Vybrané části\n" #~ "vstupu jsou vypsány ve stejném pořadí, v jakém byly čteny, a jsou " #~ "vypsány\n" #~ "právě jednou.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Každý rozsah může být:\n" #~ "\n" #~ " N N. bajt, znak nebo položka, počítáno od 1\n" #~ " N- od N. bajtu, znaku nebo položky, do konce řádku\n" #~ " N-M od N. do M. (včetně) bajtu, znaku nebo položky\n" #~ " -M od prvního do M. (včetně) bajtu, znaku nebo položky\n" #~ "\n" #~ "Jestliže SOUBOR není zadán, nebo je „-“, bude čten standardní vstup.\n" #~ msgid "invalid byte or field list" #~ msgstr "chybný seznam bajtů nebo položek" #~ msgid "invalid range with no endpoint: -" #~ msgstr "neplatný rozsah bez konce: -" #~ msgid "invalid decreasing range" #~ msgstr "neplatný klesající rozsah" #~ msgid "byte offset %s is too large" #~ msgstr "posun bajtů %s je příliš velký" #~ msgid "field number %s is too large" #~ msgstr "číslo položky %s je příliš velké" #~ msgid "only one type of list may be specified" #~ msgstr "pouze jeden typ seznamu může být zadán" #~ msgid "the delimiter must be a single character" #~ msgstr "oddělovač musí být jediný znak" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "musíte zadat seznam bajtů, znaků nebo položek" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "oddělovač vstupu může být zadán pouze při práci s položkami" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "potlačení řádků neobsahujících oddělovač, má význam pouze\n" #~ "při použití přepínače -f" #~ msgid "missing list of fields" #~ msgstr "chybí seznam položek" #~ msgid "missing list of positions" #~ msgstr "chybí seznam pozicí" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… [+FORMÁT]\n" #~ " nebo: %s [-u|--utc|--universal] [MMDDhhmm[[CC]RR][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Vypíše aktuální čas v daném FORMÁTU, nebo nastaví datum v systému.\n" #~ "\n" #~ " -d, --date=ŘETĚZEC vypíše čas zadaný jako ŘETĚZEC, nikoli " #~ "aktuální\n" #~ " -f, --file=DATASOUBOR jako --date, ale časy jsou v DATASOUBORU,\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=SOUBOR vypíše čas poslední změny obsahu SOUBORU\n" #~ " -R, --rfc-2822 vypíše datum podle RFC-2822\n" #~ " Příklad: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=PŘESNOST vypíše datum a čas podle RFC 3339.\n" #~ " PŘESNOST musí být „date“, „seconds“, nebo „ns“ " #~ "a\n" #~ " čas bude vrácen s přesností na dny, sekundy " #~ "nebo\n" #~ " nanosekundy.\n" #~ " Datum a čas budou odděleny jednou mezerou.\n" #~ " Příklad: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=ŘETĚZEC nastaví datum podle ŘETĚZCE\n" #~ " -u, --utc, --universal nastaví nebo vypíše UTC (světový koordinovaný " #~ "čas)\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "Výstup je určen řetězcem FORMÁT. Pro druhou formu zápisu mohou být " #~ "použity\n" #~ "pouze přepínače určující UTC. Rozeznávané sekvence jsou:\n" #~ "\n" #~ " %% znak %\n" #~ " %a zkrácené jméno dne podle lokalizace (např. Ne)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A celé jméno dne podle lokalizace (např. Neděle)\n" #~ " %b zkrácené jméno měsíce podle lokalizace (např. led)\n" #~ " %B celé jméno měsíce podle lokalizace (např. leden)\n" #~ " %c datum a čas podle lokalizace (např. " #~ "Ne 14. leden 2007, 00:49:20 CET)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C století; jako %Y, ale vynechá poslední dvě číslice (např. 21)\n" #~ " %d číslo dne v měsíci (např. 01)\n" #~ " %D datum; stejné jako %m/%d/%y\n" #~ " %e den v měsíci zarovnaný mezerami; stejné jako %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F plné datum; stejné jako %Y-%m-%d\n" #~ " %g poslední dvě číslice roku dle ISO číslování týdnů (vizte %G)\n" #~ " %G rok dle ISO číslování týdnů (vizte %V); obvykle užitečné jen s %V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h jako %b\n" #~ " %H hodina (00..23)\n" #~ " %I hodina (01..12)\n" #~ " %j číslo dne v roce (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k hodina ( 0..23)\n" #~ " %l hodina ( 1..12)\n" #~ " %m měsíc (01..12)\n" #~ " %M minuta (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n nový řádek\n" #~ " %N nanosekundy (000000000..999999999)\n" #~ " %p řetězec odpovídající anglickým AM a PM podle lokalizace; prázdný " #~ "pokud\n" #~ " není známo\n" #~ " %P jako %p, ale malými písmeny\n" #~ " %r čas, 12-hodinový podle lokalizace (např. 11:11:04)\n" #~ " %R hodiny a minuty v 24h cyklu; stejné jako %H:%M\n" #~ " %s počet sekund od 00:00:00 1. 1. 1970 UTC\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S sekundy (00..61)\n" #~ " %t vodorovný tabulátor\n" #~ " %T čas; stejné jako %H:%M:%S\n" #~ " %u den v týdnu (1..7); 1 znamená pondělí\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U číslo týdne v daném roce, neděle jako první den v týdnu (00..53)\n" #~ " %V číslo týdne v daném roce dle ISO normy, pondělí jako první den " #~ "v týdnu\n" #~ " (01..53)\n" #~ " %w den v týdnu (0..6); 0 znamená neděli\n" #~ " %W číslo týdne v daném roce, pondělí jako první den v týdnu (00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x reprezentace data podle lokalizace (např. 14.01.2007)\n" #~ " %X reprezentace času podle lokalizace (např. 23:13:48)\n" #~ " %y poslední dvě číslice letopočtu (00..99)\n" #~ " %Y rok\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z časové pásmo ve formátu +hhmm (např. +0100)\n" #~ " %:z časové pásmo ve formátu +hh:mm (např. +01:00)\n" #~ " %::z\n" #~ " časové pásmo ve formátu +hh:mm:ss (např. +01:00:00)\n" #~ " %:::z\n" #~ " časové pásmo s postačující nejmenší přesností a dvojtečkou jako\n" #~ " oddělovačem (např. „-04“, „+05:30“)\n" #~ " %Z časové pásmo vyjádřené zkratkou (např. CET)\n" #~ "\n" #~ "Implicitně jsou číselné položky data zarovnány nulami.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Formát data umožňuje následující příznaky za „%“:\n" #~ "\n" #~ " - (spojovník) nezarovnání položky\n" #~ " _ (podtržítko) zarovnání položky mezerami\n" #~ " 0 (nula) zarovnání nulami\n" #~ " ^ pokud lze, použije velká písmena\n" #~ " # pokud lze, použije písmena opačné velikosti\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Po volitelném příznaku může přijít nepovinné určení délky pole jako " #~ "desítkové\n" #~ "číslo a pak dobrovolný modifikátor, kterým je buď\n" #~ "E použije náhradní reprezentaci podle lokalizace, pokud lze; nebo\n" #~ "O použije náhradní číselné symboly podle lokalizace, pokud lze.\n" #~ msgid "multiple output formats specified" #~ msgstr "zadáno více výstupních formátů" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "přepínače určené k zadání data se vzájemně vylučují" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "přepínače pro výpis a nastavení času nemohou být užity současně" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "argument %s potřebuje úvodní „+“;\n" #~ "když je použit přepínač pro zadání data, kterýkoli argument (který není\n" #~ "přepínačem) musí být formátovací řetězec uvozený „+“." #~ msgid "cannot set date" #~ msgstr "datum nelze nastavit" #~ msgid "time %s is out of range" #~ msgstr "čas %s je mimo rozsah" #~ msgid "Filesystem Type" #~ msgstr "Soub. systém Typ " #~ msgid "Filesystem " #~ msgstr "Souborový systém " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " I-uzlů Použité Volné Užit%%" #~ msgid " Size Used Avail Use%%" #~ msgstr "Velikost Užito Volno Uži%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Velikost Užito Volno Uži%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %sB bloků Použité Volné Kapacita" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %5s bloků Použité Volné Uži%%" #~ msgid " Mounted on\n" #~ msgstr " Připojeno do\n" #~ msgid "cannot get current directory" #~ msgstr " nelze zjistit pracovní adresář" #~ msgid "cannot change to directory %s" #~ msgstr "do adresáře %s nelze vejít" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "nelze získat informace o pracovním adresáři (nyní %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [SOUBOR]…\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Vypíše informace o souborových systémech, ve kterých každý SOUBOR leží,\n" #~ "nebo implicitně o všech souborových systémech.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all také pseudosouborové systémy\n" #~ " -B --block-size=VELIKOST\n" #~ " použije tuto velikost bloku\n" #~ " -h, --human-readable velikosti ve formátu čitelném pro člověka\n" #~ " (např. 1K 234M 2G)\n" #~ " -H, --si podobně jako předchozí, ale násobky 1000 ne 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes výpis informací o i-uzlech místo o blocích\n" #~ " -k jako --block-size=1K\n" #~ " -l, --local omezení výpisu na lokální souborové systémy\n" #~ " --no-sync nevolá „sync“ před získáním informací " #~ "(implicitní)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability použije formát definovaný normou POSIX\n" #~ " --sync zavolá „sync“ před získáním informací\n" #~ " -t, --type=TYP ve výstupu pouze souborové systémy typu TYP\n" #~ " -T, --print-type vypisuje typ souborového systému\n" #~ " -x, --exclude-type=TYP\n" #~ " ve výstupu nebudou souborové systémy typu TYP\n" #~ " -v (ignorováno)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST může být (nebo může být celé číslo volitelně následované) " #~ "jedním\n" #~ "z následujících (řetězec význam): kB 1000, K 1024, MB 1000*1000, M " #~ "1024*1024\n" #~ "a tak dále pro G, T, P, E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "souborový systém typu „%s“ je zároveň vybrán a vyloučen" #~ msgid "Warning: " #~ msgstr "Varování: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "tabulku připojených souborových systémů nelze přečíst" #~ msgid "no file systems processed" #~ msgstr "žádný souborový systém nebyl zpracován" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [SOUBOR]…\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Výstupem jsou příkazy, které zajistí nastavení proměnné prostředí " #~ "LS_COLORS.\n" #~ "\n" #~ "Specifikace výstupního formátu:\n" #~ " -b, --sh, --bourne-shell výstupem je kód Bourne shellu\n" #~ " pro nastavení LS_COLORS\n" #~ " -c, --csh, --c-shell výstupem je kód C shellu\n" #~ " pro nastavení LS_COLORS\n" #~ " -p, --print-database výstupem je vnitřní databáze\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Pokud je uveden SOUBOR, načtou se z něj pravidla pro přiřazení barev\n" #~ "jednotlivým typům souborů a přípon. V opačném případě se použije " #~ "zakompilovaná\n" #~ "databáze. Podrobnosti o formátu tohoto souboru lze získat příkazem\n" #~ "„dircolors --print-database“.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: neplatný řádek; chybí druhý token" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: neznámé klíčové slovo %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "přepínače pro výpis vnitřní databáze a výběr syntaxe kódu se\n" #~ "vzájemně vylučují" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "Operand se jménem souboru nelze kombinovat s --print-database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "proměnná prostředí SHELL neexistuje a není zadán typ shellu" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s [JMÉNO]\n" #~ " nebo: %s [PŘEPÍNAČ]\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Vypíše JMÉNO bez koncové /části; pokud JMÉNO neobsahuje „/“, vypíše „.“\n" #~ "(tzn. aktuální adresář).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Příklady:\n" #~ " %s /usr/bin/sort Vypíše „/usr/bin“.\n" #~ " %s stdio.h Vypíše „.“.\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… [SOUBOR]…\n" #~ " nebo: %s [PŘEPÍNAČ]… --files0-from=S\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Sčítá diskový prostor zabraný každým SOUBOREM, pro adresáře i s obsahem\n" #~ "podadresářů.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all vypíše velikost i souborů, ne jen adresářů\n" #~ " --apparent-size vypíše velikost obsahu souborů místo zabraného\n" #~ " diskového prostoru; ačkoliv velikost obsahu bývá " #~ "menší,\n" #~ " kvůli dírám v řídkých souborech, vnitřní " #~ "fragmentaci,\n" #~ " nepřímým blokům apod. může být i větší.\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B --block-size=VELIKOST\n" #~ " použije bloky o VELIKOST bajtech\n" #~ " -b, --bytes rovnocenné s „--apparent-size --block-size=1“\n" #~ " -c, --total vypíše i celkový součet\n" #~ " -D, --dereference-args\n" #~ " následuje jen symbolické odkazy, které jsou " #~ "uvedeny\n" #~ " na příkazové řádce\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=S ze souboru S získá seznam jmen souborů " #~ "oddělených\n" #~ " nulovým bajtem a výpočet diskového prostoru " #~ "provede\n" #~ " nad těmito soubory\n" #~ " -H jako --si, ale s varováním; brzy bude mít význam\n" #~ " --dereference-args (-D)\n" #~ " -h, --human-readable vypisuje velikosti ve formátu čitelném pro lidi\n" #~ " (např. 1K 234M 2G)\n" #~ " --si jako -h, ale používá mocniny 1000 a ne 1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k jako --block-size=1K\n" #~ " -l, --count-links jestliže jsou jména pevnými odkazy na jeden " #~ "soubor,\n" #~ " započte každý odkaz znovu\n" #~ " -m jako --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference následuje všechny symbolické odkazy\n" #~ " -P, --no-dereference nenásleduje symbolické odkazy (implicitní " #~ "chování)\n" #~ " -0, --null řádky výstupu zakončí nulovým bajtem místo " #~ "znakem\n" #~ " nového řádku\n" #~ " -S, --separate-dirs nepočítá do velikosti adresářů velikosti jejich\n" #~ " podadresářů\n" #~ " -s, --summarize vypíše pouze celkový součet pro každý argument\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system\n" #~ " přeskočí adresáře na jiných souborových " #~ "systémech\n" #~ " -X SOUBOR, --exclude-from=SOUBOR\n" #~ " přeskočí soubory, které vyhovují libovolnému\n" #~ " regulárnímu výrazu ze souboru SOUBOR\n" #~ " --exclude=REGVÝR přeskočí soubory vyhovující REGVÝR\n" #~ " --max-depth=N vypíše celkové součty pouze pro adresáře (nebo\n" #~ " soubory, pokud je uvedeno --all), do N. úrovně\n" #~ " vzhledem k cestě na příkazovém řádku.\n" #~ " Argument --max-depth=0 je rovnocenný se --" #~ "sumarize.\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time ukáže čas poslední změny obsahu každého souboru\n" #~ " včetně souborů v podadresářích\n" #~ " --time=TYP vypisuje čas podle TYPU namísto změny obsahu:\n" #~ " atime, access, use (poslední přístup);\n" #~ " ctime, status (poslední změna i-uzlu)\n" #~ " --time-style=STYL čas zobrazí ve STYLU:\n" #~ " full-iso (úplný), long-iso (dlouhý), iso, " #~ "+FORMÁT\n" #~ " FORMÁT je stejný jako u příkazu „date“\n" #~ msgid "total" #~ msgstr "celkem" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "VAROVÁNÍ: používejte --si, ne -H. Význam přepínače -H se brzy změní, " #~ "bude\n" #~ "rovnocenný přepínači --dereference-args (-D)." #~ msgid "invalid maximum depth %s" #~ msgstr "chybné maximální hloubka %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "přepínač --megabytes je zastaralý, použijte -m" #~ msgid "cannot both summarize and show all entries" #~ msgstr "" #~ "není možné oboje, počítat celkové součty pro každý argument a ukázat\n" #~ "všechny položky" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "varování: sumarizace je stejná jako použití --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "varování: sumarizace je v rozporu s --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Operand s názvem souboru nelze kombinovat s --files0-from." #~ msgid "cannot read file names from %s" #~ msgstr "z %s nelze načíst jména souborů" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "při čtení jmen souborů ze standardního vstupu jméno %s není dovoleno" #~ msgid "invalid zero-length file name" #~ msgstr "neplatný název souboru – nulová délka" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [ŘETĚZEC]…\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Vypíše ŘETĚZEC na standardní výstup.\n" #~ "\n" #~ " -n bez ukončovacího znaku nového řádku\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e povolí interpretaci escape sekvencí začínajících " #~ "zpětným\n" #~ " lomítkem (běžné chování)\n" #~ " -E zakáže interpretaci escape sekvencí uvozených zpětným\n" #~ " lomítkem\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Pokud platí -e, jsou následující sekvence interpretovány takto:\n" #~ "\n" #~ " \\0NNN znak s ASCII kódem NNN (osmičkově)\n" #~ " \\\\ zpětné lomítko (backslash)\n" #~ " \\a zvonek (BEL)\n" #~ " \\b návrat vozíku o jeden znak zpět (backspace)\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c bez ukončení znakem pro nový řádek\n" #~ " \\f znak vysunutí formuláře (form feed)\n" #~ " \\n znak nového řádku\n" #~ " \\r návrat vozíku (carriage return)\n" #~ " \\t vodorovný tabelátor\n" #~ " \\v svislý tabelátor\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [-] [JMÉNO=HODNOTA]… [PŘÍKAZ [ARGUMENT]…]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Nastaví každou proměnnou prostředí JMÉNO na HODNOTU a provede PŘÍKAZ.\n" #~ "\n" #~ " -i, --ignore-environment začne s prázdnou tabulkou proměnných " #~ "prostředí\n" #~ " -u, --unset=JMÉNO odstraní proměnnou JMÉNO\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Samotná - (pomlčka) znamená -i. Pokud není PŘÍKAZ zadán, vypíše " #~ "výslednou\n" #~ "tabulku proměnných prostředí.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Konvertuje tabelátory v každém SOUBORU na mezery, výsledek jde na " #~ "standardní\n" #~ "výstup. Nebude-li SOUBOR zadán nebo bude-li „-“, bude čten standardní " #~ "vstup.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial tabelátory následující ne-bílý znak nejsou " #~ "konvertovány\n" #~ " -t, --tabs=POČET tabelátor považuje za POČET (8) mezer\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=SEZNAM použije čárkami oddělený seznam pozicí tabelátorů\n" #~ msgid "tab stop is too large %s" #~ msgstr "velikost tabelátoru %s je příliš velká" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "velikost tabelátoru obsahuje neplatný znak: %s" #~ msgid "tab size cannot be 0" #~ msgstr "velikost tabelátoru nemůže být 0" # sizes or positions? - rzm #~ msgid "tab sizes must be ascending" #~ msgstr "posloupnost pozic tabelátorů musí být rostoucí" #~ msgid "input line is too long" #~ msgstr "řádka na vstupu je příliš dlouhá" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s [VÝRAZ]…\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Vypíše hodnotu VÝRAZU na standardní výstup. Prázdný řádek v následujícím\n" #~ "výpise odděluje skupiny operátorů s různou prioritou (v rostoucím " #~ "pořadí).\n" #~ "VÝRAZ může být:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 pokud není prázdný nebo 0, jinak ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 pokud žádný argument není prázdný nebo 0, jinak " #~ "0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 je menší než ARG2\n" #~ " ARG1 <= ARG2 ARG1 je menší nebo roven ARG2\n" #~ " ARG1 = ARG2 ARG1 je roven ARG2\n" #~ " ARG1 != ARG2 ARG1 není roven ARG2\n" #~ " ARG1 >= ARG2 ARG1 je větší nebo roven ARG2\n" #~ " ARG1 > ARG2 ARG1 je větší než ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 aritmetický součet ARG1 a ARG2\n" #~ " ARG1 - ARG2 aritmetický rozdíl ARG1 a ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 aritmetický součin ARG1 a ARG2\n" #~ " ARG1 / ARG2 celočíselný aritmetický podíl ARG1 / ARG2\n" #~ " ARG1 % ARG2 zbytek po aritmetickém dělení ARG1 / ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " ŘETĚZEC : REGVÝR vyhodnocení regulárního výrazu ^REGVÝR v ŘETĚZCI\n" #~ "\n" #~ " match ŘETĚZEC REGVÝR stejné jako ŘETĚZEC : REGVÝR\n" #~ " substr ŘETĚZEC POZICE DÉLKA podřetězec ŘETĚZCE, POZICE je počítána od " #~ "1\n" #~ " index ŘETĚZEC ZNAKY pozice prvního výskytu libovolného znaku " #~ "ze ZNAKŮ\n" #~ " v ŘETĚZCI, v případě neúspěchu 0\n" #~ " length ŘETĚZEC délka ŘETĚZCE\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + TOKEN zpracuje TOKEN jako řetězec, i když se " #~ "jedná\n" #~ " o klíčové slovo jako „match“ nebo\n" #~ " operátor jako „/“\n" #~ "\n" #~ " ( VÝRAZ ) hodnota VÝRAZU\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Při vytváření výrazů musí být některé symboly chráněny před shellem " #~ "(např.\n" #~ "uzavřením do uvozovek nebo apostrofů). Porovnání mezi ARGx je " #~ "aritmetické,\n" #~ "pokud se jedná o čísla, jinak je lexikografické. Pokud bylo v REGVÝR " #~ "použito\n" #~ "\\( a \\), vyhodnocení vrátí řetězec z ŘETĚZCE, který odpovídá výrazu " #~ "uzavřenému\n" #~ "v \\( a \\) nebo vrátí prázdný řetězec; pokud nebylo v REGVÝR použito " #~ "\\( a \\),\n" #~ "vrací počet odpovídajících znaků nebo 0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Návratový kód programu je 0, pokud VÝRAZ není ani prázdný, ani 0. 1, " #~ "pokud je\n" #~ "prázdný nebo 0. 2, pokud VÝRAZ je syntakticky chybný a 3, pokud dojde " #~ "k chybě.\n" #~ msgid "syntax error" #~ msgstr "syntaktická chyba" #~ msgid "error in regular expression matcher" #~ msgstr "chyba při vyhledávání pomocí regulárního výrazu" #~ msgid "non-numeric argument" #~ msgstr "nečíselný argument" #~ msgid "division by zero" #~ msgstr "dělení nulou" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s [ČÍSLO]…\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Vypíše rozklad každého ČÍSLA na prvočísla.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Vypíše rozklad každého celého ČÍSLA na prvočísla. Pokud ČÍSLA nebudou " #~ "zadána,\n" #~ "bude je číst ze standardního vstupu.\n" #~ msgid "%s is too large" #~ msgstr "%s je příliš velké" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s není celé kladné číslo" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Použití: %s [-ČÍSLICE] [PŘEPÍNAČ]… [SOUBOR]…\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Přeformátuje všechny odstavce v SOUBORU a výsledek vypíše na standardní " #~ "výstup.\n" #~ "Pokud SOUBOR není zadán, nebo je „-“, čte standardní vstup.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin zachová odsazení prvních dvou řádků\n" #~ " -p, --prefix=ŘETĚZEC pracuje pouze s řádky majícími ŘETĚZEC jako " #~ "prefix\n" #~ " -s, --split-only pouze rozdělí dlouhé řádky\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph odsadí první řádek rozdílně od druhého\n" #~ " -u, --uniform-spacing jedna mezera mezi slovy, dvě za větou\n" #~ " -w, --width=ŠÍŘKA maximální šířka řádku (implicitně 75)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "neplatný přepínač – %c; -WIDTH je rozpoznán, pouze když je prvním " #~ "přepínačem;\n" #~ "použijte -w ŠÍŘKA" #~ msgid "invalid width: %s" #~ msgstr "chybné šířka: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Zalamuje vstupní řádky každého SOUBORU (implicitně standardního vstupu) " #~ "a\n" #~ "výsledek zapisuje na standardní výstup.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes pro zalamování počítá bajty na řádku místo sloupců\n" #~ " -s, --spaces zalamuje řádky v mezerách\n" #~ " -w, --width=ŠÍŘKA používá ŠÍŘKA sloupců místo 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "neplatný počet sloupců: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "získání skupin uživatele %s selhalo" #~ msgid "failed to get groups for the current process" #~ msgstr "získání skupin aktuálního procesu selhalo" #~ msgid "cannot find name for group ID %lu" #~ msgstr "jméno skupiny pro GID %lu nelze najít" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [JMÉNO_UŽIVATELE]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "Vypíše informace o JMÉNU_UŽIVATELE nebo o aktuálním procesu, není-li\n" #~ "JMÉNU_UŽIVATELE zadáno (zde se projeví rozdíl po změně v databázi " #~ "skupin).\n" #~ msgid "%s: No such user" #~ msgstr "%s: Uživatel neexistuje" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vypíše prvních 10 řádků každého SOUBORU na standardní výstup. S více jak\n" #~ "jedním SOUBOREM bude před vypsáním každého uvedena hlavička obsahující " #~ "jméno\n" #~ "SOUBORU. Jestliže SOUBOR nebude zadán nebo bude „-“, bude čten " #~ "standardní\n" #~ "vstup.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N vypíše prvních N bajtů z každého souboru;\n" #~ " uvedení „-“ způsobí vypsání všech kromě\n" #~ " posledních N bajtů každého souboru\n" #~ " -n, --lines=[-]N vypíše prvních N řádků místo prvních 10;\n" #~ " uvedení „-“ způsobí vypsání všech kromě\n" #~ " posledních N řádků z každého souboru\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent nikdy nevypisuje hlavičky s názvy souborů\n" #~ " -v, --verbose vypisuje hlavičky s názvy souborů vždy\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Hodnota N může mít následující násobné přípony (přípona činitel):\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 a tak dále pro T, P, E, Z, Y.\n" #~ msgid "error reading %s" #~ msgstr "chyba při čtení %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: soubor byl příliš zkrácen" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: počet bajtů je příliš velký" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: nelze se vrátit na původní místo v souboru (služba lseek)" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: nelze se přemístit na pozici %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "nelze přemístit ukazatel po souboru %s" # src/tail.c:968 #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s je příliš velký, proto není reprezentovatelný" #~ msgid "number of lines" #~ msgstr "počet řádků" #~ msgid "number of bytes" #~ msgstr "počet bajtů" #~ msgid "invalid number of lines" #~ msgstr "chybný počet řádků" #~ msgid "invalid number of bytes" #~ msgstr "chybný počet bajtů" #~ msgid "invalid trailing option -- %c" #~ msgstr "neznámý závěrečný přepínač – %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Použití: %s\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ "Vypíše číselný identifikátor (v šestnáctkové soustavě) pro tento stroj.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Použití: %s [JMÉNO]\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ "Vypíše nebo nastaví jméno stroje.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "jméno nelze změnit na %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "jméno počítače nelze nastavit; systém tuto funkci neposkytuje" #~ msgid "cannot determine hostname" #~ msgstr "jméno počítače nelze zjistit" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Vypíše informace o uživateli JMÉNO_UŽIVATELE nebo o aktuálním uživateli.\n" #~ "\n" #~ " -a ignoruje se, z důvodu kompatibility\n" #~ " -Z, --context vypíše pouze bezpečnostní kontext současného uživatele\n" #~ " -g, --group vypíše pouze efektivní číslo skupiny\n" #~ " -G, --groups vypíše čísla všech skupin\n" #~ " -n, --name vypíše jména, ne čísla (pro -ugG)\n" #~ " -r, --real vypíše skutečné ID místo efektivního (pro -ugG)\n" #~ " -u, --user vypíše pouze efektivní číslo uživatele\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Bez jakéhokoli PŘEPÍNAČE jsou vypsány některé užitečné informace.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "--context (-Z) funguje jen na jádře podporujícím SELinux" #~ msgid "cannot print security context when user specified" #~ msgstr "bezpečností kontext nelze vypsat, byl-li zadán uživatel" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "není-li SELinux podporován nebo je-li zobrazována identita jiného " #~ "uživatele,\n" #~ "nelze vypsat bezpečnostní kontext" #~ msgid "can't get process context" #~ msgstr "kontext procesu nelze zjistit" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "při více možnostech vypsat „pouze jednu“ informaci nelze" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "pouze jména nebo skutečné ID nelze v implicitním formátu vypsat" #~ msgid "cannot find name for user ID %lu" #~ msgstr "jméno uživatele pro UID %lu nelze najít" #~ msgid " groups=" #~ msgstr " skupiny=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "varování: %s: změna kontextu na %s selhala" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Varování: ignoruji --preserve-context, toto jádro nepodporuje SELinux." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "Varování: ignoruje --context (-Z), toto jádro nepodporuje SELinux." #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "při instalaci adresáře nesmí být použit přepínač --strip" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "při instalaci adresáře není dovolen cílový adresář (-t)" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "nelze zároveň vynutit kontext na %s a zároveň jej zachovat" #~ msgid "invalid mode %s" #~ msgstr "neplatná práva: %s" #~ msgid "cannot change ownership of %s" #~ msgstr "vlastnictví %s nelze změnit" #~ msgid "cannot set time stamps for %s" #~ msgstr "nelze nastavit časy %s " #~ msgid "fork system call failed" #~ msgstr "systémové volání fork selhalo" #~ msgid "cannot run strip" #~ msgstr "nelze sputit strip" #~ msgid "waiting for strip" #~ msgstr "čekám na strip" #~ msgid "strip process terminated abnormally" #~ msgstr "proces strip skončil neobvykle" #~ msgid "invalid user %s" #~ msgstr "neplatný uživatel %s" #~ msgid "invalid group %s" #~ msgstr "neplatná skupina %s" #~ msgid "creating directory %s" #~ msgstr "vytvářím adresář %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… [-T] ZDROJ CÍL\n" #~ " nebo: %s [PŘEPÍNAČ]… ZDROJ… ADRESÁŘ\n" #~ " nebo: %s [PŘEPÍNAČ]… -t ADRESÁŘ ZDROJ…\n" #~ " nebo: %s [PŘEPÍNAČ]… -d ADRESÁŘ…\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Prvních tři způsoby kopírují ZDROJ do CÍLE nebo více ZDROJŮ\n" #~ "do existujícího ADRESÁŘE a nastaví uživatelská práva a vlastníky/" #~ "skupiny.\n" #~ "Čtvrtý způsob vytvoří všechny komponenty zadaného ADRESÁŘE(Ů).\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup=[TYP] vytvoří záložní kopii každého existujícího\n" #~ " cílového souboru\n" #~ " -b jako --backup, ale bez argumentu\n" #~ " -c (ignorován)\n" #~ " -d, --directory všechny argumenty jsou považovány za názvy " #~ "adresářů.\n" #~ " Vytvoří všechny komponenty těchto adresářů\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D vytvoří všechny úvodní komponenty CÍLE kromě " #~ "poslední,\n" #~ " pak zkopíruje ZDROJ do CÍLE\n" #~ " -g, --group=SKUPINA nastaví skupinu souboru na SKUPINU místo skupiny\n" #~ " aktuálního procesu\n" #~ " -m, --mode=PRÁVA nastaví přístupová práva souboru na PRÁVA (zadána " #~ "jako\n" #~ " pro chmod) místo rwxr-xr-x\n" #~ " -o, --owner=VLASTNÍK nastaví vlastníka souboru (pouze superuživatel – " #~ "root)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps\n" #~ " čas přístupu a změny obsahu cílových souborů " #~ "nastaví\n" #~ " tak, jak byly nastaveny u zdrojových\n" #~ " -s, --strip odstraní tabulky symbolů\n" #~ " -S, --suffix=PŘÍPONA nastaví novou příponu záložních souborů\n" #~ " -t, --target-directory=ADRESÁŘ\n" #~ " kopíruje všechny ZDROJE do ADRESÁŘE\n" #~ " -T, --no-target-directory\n" #~ " považuje CÍL za běžný soubor\n" #~ " -v, --verbose vypisuje jména všech vytvářených adresářů\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context\n" #~ " zachová selinuxový bezpečnostní kontext\n" #~ " -Z, --context=KONTEXT\n" #~ " nastaví souborům a adresářům selinuxový bezp. " #~ "kontext\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Pokud není přípona záložních souborů nastavena přepínačem --suffix nebo \n" #~ "proměnnou SIMPLE_BACKUP_SUFFIX, je používána přípona „~“. Způsob " #~ "vytváření\n" #~ "záložních souborů lze ovlivnit přepínačem --backup nebo proměnnou\n" #~ "prostředí VERSION_CONTROL. Hodnoty mohou být:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Pro každý pár vstupních řádků se stejnými propojovacími položkami zapíše\n" #~ "řádek na standardní výstup. Implicitně je propojovací položkou položka " #~ "první\n" #~ "a oddělovač je mezera. Jestliže SOUBOR1, nebo SOUBOR2 bude „-“ (ne oba), " #~ "pak\n" #~ "tento bude čten ze standardního vstupu.\n" #~ "\n" #~ " -a STRANA vypíše nepárové řádky pocházející ze souboru číslo " #~ "STRANA,\n" #~ " kde STRANA je 1 nebo 2 pro SOUBOR1 nebo SOUBOR2\n" #~ " -e VYPLŇ nahradí chybějící vstupní položky VÝPLNÍ\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case při porovnávání položek ignoruje rozdíly mezi malými\n" #~ " a velkými písmeny\n" #~ " -j POLOŽKA rovnocenné s „-1 POLE -2 POLE“\n" #~ " -o FORMÁT řídí se FORMÁTEM při tvorbě výstupního řádku\n" #~ " -t ZNAK použije ZNAK jako oddělovač položek na vstupu " #~ "i výstupu\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v STRANA jako -a STRANA, ale bez výpisu spojených řádků.\n" #~ " -1 POLOŽKA spojuje přes tuto POLOŽKU souboru 1\n" #~ " -2 POLOŽKA spojuje přes tuto POLOŽKU souboru 2\n" #~ " --check-order ověřuje, zda je vstup správně seřazen, i když " #~ "všechny\n" #~ " řádky lze spárovat\n" #~ " --nocheck-order neověřuje, zda je vstup správně seřazen\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Jestliže přepínač -t ZNAK nebude zadán, jako oddělovač bude použita " #~ "mezera\n" #~ "a prázdné položky na počátku řádku budou ignorovány. Jinak bude " #~ "oddělovačem\n" #~ "položek ZNAK. Libovolná POLOŽKA je pořadí položky počítané od 1. FORMÁT " #~ "je\n" #~ "jeden nebo více čárkami nebo mezerami oddělených popisovačů, každý může " #~ "být\n" #~ "'STRANA.POLOŽKA' nebo '0'. Implicitní FORMÁT vypisuje propojovací " #~ "položku,\n" #~ "zbytek položek ze souboru 1 a zbytek položek ze souboru 2. Všechny jsou\n" #~ "odděleny znakem ZNAK.\n" #~ "\n" #~ "Důležité: SOUBOR1 i SOUBOR2 musí být seřazeny podle propojovacích " #~ "položek.\n" #~ "Např. použijte „sort -k 1b,1“, pokud „join“ budete volat bez přepínačů.\n" #~ "Nebude-li vstup seřazen a nebude-li možné některé řádky propojit, bude\n" #~ "zobrazeno varování.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "Strana %d není seřazena" #~ msgid "invalid field number: %s" #~ msgstr "chybné číslo položky: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "chybně zadaná položka: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "chybné číslo souboru v popisu položky: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "neslučitelné propojovací položky %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "řetězce výplně je jsou v konfliktu" #~ msgid "empty tab" #~ msgstr "zvolený oddělovač položek je prázdný" #~ msgid "multi-character tab %s" #~ msgstr "zvolený oddělovač položek %s má více znaků" #~ msgid "incompatible tabs" #~ msgstr "neslučitelné oddělovače položek" #~ msgid "both files cannot be standard input" #~ msgstr "oba dva soubory nemohou být standardním vstupem" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Použití: %s [-s SIGNÁL | -SIGNÁL] PID…\n" #~ " nebo: %s -l [SIGNÁL]…\n" #~ " nebo: %s -t [SIGNÁL]…\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Zašle signál procesům nebo vypíše seznam signálů.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SIGNÁL, -SIGNÁL\n" #~ " určuje jméno nebo číslo signálu, který bude zaslán\n" #~ " -l, --list vypíše seznam jmen signálů nebo převede jméno signálu\n" #~ " na/z číslo\n" #~ " -t, --table vypíše tabulku s informacemi o signálech\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SIGNÁL může být jméno signálu jako „HUP“ nebo číslo signálu jako „1“ " #~ "nebo\n" #~ "návratový kód procesu ukončeného signálem.\n" #~ "PID (číslo procesu) je celé číslo. Záporná hodnota adresuje skupinu " #~ "procesu.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: neplatný signál" #~ msgid "%s: invalid process id" #~ msgstr "%s: neplatné číslo procesu" #~ msgid "invalid option -- %c" #~ msgstr "neznámý přepínač – %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: zadáno více signálů" #~ msgid "multiple -l or -t options specified" #~ msgstr "zadáno více přepínačů -l nebo -t" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "signál nelze kombinovat s -l nebo -t" #~ msgid "no process ID specified" #~ msgstr "nebylo zadáno číslo procesu" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s SOUBOR1 SOUBOR2\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Na existující soubor SOUBOR1 vytvoří odkaz pojmenovaný SOUBOR2 pomocí\n" #~ "služby link(2).\n" #~ msgid "cannot create link %s to %s" #~ msgstr "odkaz %s na %s nelze vytvořit" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: varování: vytvoření pevného odkazu na symbolický odkaz\n" #~ "není přenositelné" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: na adresář nelze vytvořit pevný odkaz" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: adresář nelze přepsat" #~ msgid "%s: replace %s? " #~ msgstr "%s: přepsat %s? " #~ msgid "creating symbolic link %s" #~ msgstr "vytvářím symbolický odkaz %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "vytvářím symbolický odkaz %s → %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "vytvářím pevný odkaz na %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "vytvářím pevný odkaz %s" #~ msgid "creating hard link %s => %s" #~ msgstr "vytvářím pevný odkaz %s ⇒ %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… [-T] CÍL JMÉNO_ODKAZU (1. forma)\n" #~ " nebo: %s [PŘEPÍNAČ]… CÍL (2. forma)\n" #~ " nebo: %s [PŘEPÍNAČ]… CÍL… ADRESÁŘ (3. forma)\n" #~ " nebo: %s [PŘEPÍNAČ]… -t ADRESÁŘ CÍL… (4. forma)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "1. forma vytvoří odkaz na CÍL se jménem JMÉNO_ODKAZU.\n" #~ "2. forma vytvoří odkaz na CÍL v aktuálním adresáři.\n" #~ "3. a 4. forma vytváří odkazy na každý CÍL v ADRESÁŘI.\n" #~ "Implicitně vytváří pevné odkazy, pro symbolické odkazy přidejte --" #~ "symbolic.\n" #~ "Pokud se vytváří pevné odkazy, každý CÍL musí existovat.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=ZPŮSOB] zálohuje každý existující cílový soubor\n" #~ " -b jako --backup, ale bez argumentů\n" #~ " -d, -F, --directory povolí superuživateli pokusit se vytvořit " #~ "pevné\n" #~ " odkazy na adresáře (poznámka: pravděpodobně " #~ "selže\n" #~ " kvůli omezením systému, a to " #~ "i superuživateli)\n" #~ " -f, --force odstraní existující cílové soubory\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference cíl, který je symbolickým odkazem na " #~ "adresář,\n" #~ " považuje za běžný soubor\n" #~ " -i, --interactive před každým odstraněním cíle se zeptá\n" #~ " -s, --symbolic na místo pevných odkazů vytváří symbolické\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=PŘÍPONA změní příponu záloh na PŘÍPONU\n" #~ " -t, --target-directory=ADRESÁŘ\n" #~ " určí ADRESÁŘ, do kterého se budou vytvářet " #~ "odkazy\n" #~ " -T, --no-target-directory považuje JMÉNO_ODKAZU za běžný soubor\n" #~ " -v, --verbose tiskne jména všech odkazů\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "--target-directory a --no-target-directory nelze kombinovat" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Vytiskne jméno aktuálního uživatele.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "chybí přihlašovací jméno" #~ msgid "%b %e %Y" #~ msgstr "%e. %b %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%e. %b %H.%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "ignoruji neplatnou hodnotu proměnné prostření QUOTUNG_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "špatná šířka (%s) v proměnné prostředí COLUMNS, bude ignorována" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "špatná velikost tabelátoru (%s) v proměnné prostředí TABSIZE, bude " #~ "ignorována" #~ msgid "invalid line width: %s" #~ msgstr "chybné délka řádku: %s" #~ msgid "invalid tab size: %s" #~ msgstr "chybná šířka tabelátoru: %s" #~ msgid "invalid time style format %s" #~ msgstr "chybný formát pro výpis času %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "neznámý prefix: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "nesrozumitelná hodnota v proměnné prostředí LS_COLORS" #~ msgid "cannot open directory %s" #~ msgstr "adresář %s nelze otevřít" #~ msgid "cannot determine device and inode of %s" #~ msgstr "zařízení a i-uzel pro %s nelze určit" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: nevypisuji již dříve vypsaný adresář" #~ msgid "closing directory %s" #~ msgstr "zavítám adresáře %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "jména souborů %s a %s nelze porovnat" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Vypisuje informace o SOUBORECH (implicitně z aktuálního adresáře). " #~ "Jestliže\n" #~ "není zadán žádný z přepínačů -cftuvSUX nebo --sort, výstup bude seřazen\n" #~ "abecedně.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all vypíše všechny soubory i ty začínající " #~ "tečkou\n" #~ " -A, --almost-all vypíše všechny soubory kromě souborů „.“ a " #~ "„..“\n" #~ " --author spolu s -l vypíše autora každého souboru\n" #~ " -b, --escape vypíše negrafické znaky osmičkově\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=VELIKOST použije tuto velikost bloku\n" #~ " -B, --ignore-backups nevypisuje soubory končící na ~\n" #~ " -c s -lt: řadí podle ctime a vypisuje ctime " #~ "(čas\n" #~ " poslední změny i-uzlových informací);\n" #~ " s -l: vypisuje ctime, řadí podle názvu " #~ "souboru;\n" #~ " jinak: řadí podle ctime\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C vypíše soubory ve sloupcích\n" #~ " --color[=KDY] určuje kdy jsou barvy používány k rozlišení " #~ "typů\n" #~ " souborů. KDY může být „never“ (nikdy), " #~ "„always“\n" #~ " (vždy) nebo „auto“\n" #~ " -d, --directory vypíše názvy adresářů místo jejich obsahu a\n" #~ " nenásleduje symbolické odkazy\n" #~ " -D, --dired generuje výstup formátovaný pro Emacsový\n" #~ " mód „dired“\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f neseřadí výstup, povolí -aU, zakáže -ls --" #~ "color\n" #~ " -F, --classify k názvům souborů přidá znak určující jejich " #~ "typ\n" #~ " (jeden z */=>@|)\n" #~ " --format=SLOVO across jako -x, commas jako -m, horizontal\n" #~ " jako -x, long jako -l, single-column jako -" #~ "1,\n" #~ " verbose jako -l, vertical jako -C\n" #~ " --full-time jako -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g jako -l, ale nevypisuje vlastníka\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " seskupí adresáře před soubory\n" #~ " Zachová funkci přepínače --sort, avšak\n" #~ " --sort=none (-U) seskupování potlačí.\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group při dlouhém formátu nevypisuje informace\n" #~ " o skupinách\n" #~ " -h, --human-readable při -l vypisuje velikosti ve formátu " #~ "pohodlném\n" #~ " pro člověka (např. 1K, 234M, 2G)\n" #~ " --si jako předchozí, ale jednotky jsou násobky " #~ "1000\n" #~ " a ne 1024.\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " následuje symbolické odkazy uvedené na\n" #~ " příkazové řádce\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " následuje každý symbolický odkaz " #~ "z příkazové\n" #~ " řádky, který ukazuje na adresář\n" #~ " --hide=VZOR nevypisuje implikované položky odpovídající\n" #~ " shellovému VZORU (lze přebít přepínači -a a -" #~ "A)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=STYL\n" #~ " k názvům souborů přidává indikátory ve\n" #~ " STYLU: none (implicitně žádný), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode ke každému souboru vypíše číslo jeho i-uzlu\n" #~ " -I, --ignore=VZOR nevypisuje implikované soubory vyhovující\n" #~ " shellovému VZORU\n" #~ " -k, jako --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l vypíše výstup ve dlouhém formátu\n" #~ " -L, --dereference u symbolického odkazu vypíše soubor, na " #~ "který\n" #~ " odkaz ukazuje namísto odkazu samotného\n" #~ " -m vypíše soubory jako seznam jmen souborů " #~ "oddělených\n" #~ " čárkami vyplňující šířku řádků\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid jako -l, ale místo jména uživatele a " #~ "skupiny\n" #~ " vypisuje čísla\n" #~ " -N, --literal vypíše jména souborů tak, jak jsou na disku\n" #~ " uložena. Nezpracovává řídící znaky\n" #~ " -o jako -l, ale bez informací o skupinách\n" #~ " -p, --indicator-style=slash\n" #~ " za názvy adresářů připojí „/“\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars vypíše „?“ místo negrafických znaků\n" #~ " --show-control-chars vypíše negrafické znaky tak jak jsou " #~ "(implicitní,\n" #~ " jestliže program není „ls“ a výstup není na\n" #~ " terminál)\n" #~ " -Q, --quote-name vloží názvy souborů do uvozovek\n" #~ " --quoting-style=ZPŮSOB\n" #~ " použije způsob citování ZPŮSOB pro jména " #~ "souborů:\n" #~ " literal (doslovný), locale (lokalizovaný),\n" #~ " shell, shell-always, c, escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse opačné uspořádání při řazení\n" #~ " -R, --recursive vypíše adresáře rekurzivně\n" #~ " -s, --size vypíše velikost každého souboru v blocích\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S výstup seřadí podle délky souborů\n" #~ " --sort=SLOVO výstup seřadí podle SLOVA: none (-U),\n" #~ " extension (-X), size (-S), time (-t),version " #~ "(-v)\n" #~ " --time=SLOVO s -l vypisuje čas podle SLOVA místo času\n" #~ " poslední změny obsahu: atime (-u), access (-" #~ "u),\n" #~ " use (-u), ctime (-c) nebo status (-c);\n" #~ " jestliže je zadán přepínač --sort=time, " #~ "použije\n" #~ " se tento čas jako řadicí klíč\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STYL s -l vypisuje čas ve STYLU:\n" #~ " full-iso (plný), long-iso (dlouhý), iso,\n" #~ " locale (národní), +FORMÁT.\n" #~ " FORMÁT má stejný význam jako u „date“;\n" #~ " pokud FORMÁT je ve tvaru\n" #~ " FORMÁT1FORMÁT2, FORMÁT1 se\n" #~ " použije na starší soubory a FORMÁT2 na\n" #~ " mladší soubory; pokud STYL začíná na " #~ "„posix-“,\n" #~ " bude STYL uvažován jen mimo POSIXOVÉ locale\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t výstup seřadí podle času poslední změny\n" #~ " obsahu souboru\n" #~ " -T, --tabsize=SLOUPCŮ pozice tabelátoru každých SLOUPCŮ znaků " #~ "(impl. 8)\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u s -lt vypisuje a řadí podle času posledního\n" #~ " přístupu; s -l vypisuje tento čas, ale řadí\n" #~ " podle názvů souborů;\n" #~ " jinak řadí podle tohoto času\n" #~ " -U zakáže seřazení výstupu, soubory budou\n" #~ " vypsány v takovém pořadí, v jakém jsou\n" #~ " v adresáři zapsány\n" #~ " -v seřadí výstup podle verzí souborů\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=SLOUPCŮ použije tuto šířku obrazovky při vypisování\n" #~ " -x jména souborů vypíše po řádcích místo po " #~ "sloupcích\n" #~ " -X výstup seřadí abecedně podle přípon souborů\n" #~ " -Z, --context vypíše pro každý soubor jakýkoliv " #~ "selinuxový\n" #~ " bezpečnostní kontext\n" #~ " -1 vypíše jeden soubor na jeden řádek\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Implicitně není k rozlišování typů souborů barva používána. To je " #~ "rovnocenné\n" #~ "s použitím přepínače --color=none. Použití přepínače --color bez " #~ "argumentu\n" #~ "KDY je rovnocenné s použitím přepínače --color=always. Přepínač --" #~ "color=auto\n" #~ "způsobí, že barvy budou použity pouze, je-li standardní výstup připojen\n" #~ "k terminálu (tty). Barvy lze ovlivnit proměnnou prostředí LS_COLORS, pro\n" #~ "jejíž nastavení je určen příkaz „dircolors“. \n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Návratový kód 0 značí bezchybný běh programu, 1 menší problémy a\n" #~ "2 závažné problémy.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ] [SOUBOR]…\n" #~ "Vypíše nebo kontroluje %s (%dbitové) kontrolní součty.\n" #~ "Jestliže SOUBOR nebude zadán nebo bude „-“, bude čten standardní vstup.\n" #~ "\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary čte soubory v binárním módu (implicitní\n" #~ " pokud nečte standardní vstup terminálu)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary čte v binárním módu\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check porovnává %s součty se zadanými v SOUBORECH\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text čte v textovém módu (implicitní, je-li čten\n" #~ " standardní vstup terminálu)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text čte v textovém módu (implicitní)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Následující dva přepínače jsou užitečné pouze při ověřování kontrolních " #~ "součtů:\n" #~ " --status nevypisuje nic, návratový kód ukazuje " #~ "úspěšnost\n" #~ " -w, --warn varování o nesprávně formátovaných řádcích " #~ "součtů\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Součty jsou počítány podle popisu v %s. Při testování by vstup měl\n" #~ "být dřívějším výstupem tohoto programu. Implicitní nastavení je výpis " #~ "jednoho\n" #~ "řádku pro každý SOUBOR. Formát řádku je kontrolní součet, znak značící " #~ "typ\n" #~ "(„*“ pro binární, „ “ pro textový) a jméno SOUBORU.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: příliš mnoho řádků s kontrolními součty" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: nesprávně formátovaný řádek %s kontrolního součtu" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: SELHALO otevření nebo čtení\n" #~ msgid "OK" #~ msgstr "V POŘÁDKU" #~ msgid "%s: read error" #~ msgstr "%s: chyba při čtení" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: nenalezeny správně formátované řádky %s kontrolního součtu" # that's a case where cases are needed in Slavic languages # podanych/podanego are plural/singular Genitive, I moved them to # next messages hoping it doesn't spoil anything - rzm # # see also md5sum.c:430. it is somewhat surprising that we need # such things only in two places in this file - rzm 960902 # #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "UPOZORNĚNÍ: % z % uvedeného souboru nelze přečíst" #~ msgstr[1] "" #~ "UPOZORNĚNÍ: % z % uvedených souborů nelze přečíst" #~ msgstr[2] "" #~ "UPOZORNĚNÍ: % z % uvedených souborů nelze přečíst" # once more `of computed checksum(s)' is `wyliczonej sumy' or # `wyliczonych sum' in sing. or plural Genitive; how to handle? - rzm # # it is better now but the word `wyliczonych' should also change according # to the number too (what a horrible language! - but there are worse) # so I'm moving it to the changing part; fortunately it is Genitive # so we don't need to use two forms for plural (depending on number: nn[234] # are different that the other ones) - rzm 960902 # #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "UPOZORNĚNÍ: % z % spočteného součtu NESOUHLASIL" #~ msgstr[1] "" #~ "UPOZORNĚNÍ: % z % spočtených součtů NESOUHLASILY" #~ msgstr[2] "" #~ "UPOZORNĚNÍ: % z % spočtených součtů NESOUHLASILY" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "přepínače --binary a --text jsou bezvýznamné při ověřování kontrolních " #~ "součtů" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "přepínač --status má význam pouze při ověřování kontrolních součtů" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "přepínač --warn má význam pouze při ověřování kontrolních součtů" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ] ADRESÁŘ…\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Vytvoří ADRESÁŘ(E), pokud ještě neexistuje(í).\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=PRÁVA nastaví přístupová práva (zadány jako příkazu " #~ "„chmod“),\n" #~ " místo toho, aby byla práva nastavena na a=rwx - " #~ "umask\n" #~ " -p, --parents vytvoří neexistující rodičovské adresáře zadaného " #~ "adresáře\n" #~ " -v, --verbose vypíše zprávu o každém vytvořeném adresáři\n" #~ " -Z, --context=KONTEXT\n" #~ " nastaví selinuxový bezpečnostní kontext na KONTEXT\n" #~ " každému vytvářenému adresáři\n" #~ msgid "created directory %s" #~ msgstr "adresář %s vytvořen" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ] JMÉNO…\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Vytvoří pojmenované roury (FIFO) se zadanými JMÉNY.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=KTX nastaví selinuxový bezpečnostní kontext každému " #~ "JMÉNU\n" #~ "na KTX\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=PRÁVA nastaví přístupová práva na PRÁVA, místo toho,\n" #~ " aby byla nastavena na a=rw - umask\n" #~ msgid "invalid mode" #~ msgstr "neplatná práva" #~ msgid "mode must specify only file permission bits" #~ msgstr "práva mohou určovat jen bity přístupových práv k souboru" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… JMÉNO TYP [HLAVNÍ VEDLEJŠÍ]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "Vytvoří zvláštní soubor pod JMÉNEM a zadaného TYPU.\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=KTX nastaví selinuxový bezpečnostní kontext JMÉNU na " #~ "KTX\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Jak HLAVNÍ, tak i VEDLEJŠÍ čísla musí být uvedena, pokud TYP je „b“, „c“ " #~ "nebo\n" #~ "„u“, a musí být vynechána, jestliže TYP je „p“. Pokud HLAVNÍ a VEDLEJŠÍ " #~ "čísla\n" #~ "začínají na „0x“ nebo „0X“, jsou považována za šestnáctková; pokud " #~ "začínají\n" #~ "na 0, za osmičková, jinak za desítková. TYP smí být:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b blokový (bufferovaný) speciální soubor\n" #~ " c, u znakový (nebufferovaný) speciální soubor\n" #~ " p roura (FIFO)\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "Zvláštní soubory vyžadují hlavní a vedlejší čísla zařízení." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Roury nemají hlavní a vedlejší číslo zařízení." #~ msgid "block special files not supported" #~ msgstr "zvláštní blokové soubory nejsou podporovány" #~ msgid "character special files not supported" #~ msgstr "zvláštní znakové soubory nejsou podporovány" #~ msgid "invalid major device number %s" #~ msgstr "neplatné hlavní číslo zařízení: %s" #~ msgid "invalid minor device number %s" #~ msgstr "neplatné vedlejší číslo zařízení %s" #~ msgid "invalid device %s %s" #~ msgstr "neplatné zařízení %s %s" #~ msgid "invalid device type %s" #~ msgstr "neplatný typ zařízení %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [ŠABLONA]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Vytvoří dočasný soubor nebo adresář bezpečným způsobem a vypíše jeho " #~ "jméno.\n" #~ "Nebude-li zadána ŠABLONA, použije se tmp.XXXXXXXXXX.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory vytvoří adresář, ne soubor\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet potlačí hlášky o chybě při vytváření souboru/adresáře\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run nevytváří nic, jen vytiskne jméno (není bezpečné)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=ADR] interpretuje ŠABLONU relativně k adresáři ADR. Není-" #~ "li\n" #~ " ADR zadán, použije $TMPDIR, je-li nastavena, jinak /" #~ "tmp.\n" #~ " S tímto přepínačem ŠABLONA nesmí být absolutním " #~ "jménem.\n" #~ " Na rozdíl od -t ŠABLONA smí obsahovat lomítka, avšak\n" #~ " i zde mktemp vytvoří jen závěrečnou složku cesty.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p ADRESÁŘ použije ADRESÁŘ jako předponu,\n" #~ " implikuje -t (nedoporučuje se)\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t interpretuje ŠABLONU jako jedinou část jména souboru\n" #~ " relativně k adresáři: $TMPDIR, je-li nastavena, jinak\n" #~ " je adresář zadán pomocí -p, jinak /tmp (není " #~ "doporučeno)\n" #~ msgid "too many templates" #~ msgstr "příliš mnoho šablon" #~ msgid "too few X's in template %s" #~ msgstr "příliš málo X v šabloně %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "chybná šablona %s, obsahuje oddělovač adresářů" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "chybná šablona %s, spolu s --tmpdir nesmí být absolutní" #~ msgid "failed to create directory via template %s" #~ msgstr "vytvoření adresáře dle šablony %s selhalo" #~ msgid "failed to create file via template %s" #~ msgstr "vytvoření souboru dle šablony %s selhalo" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Přejmenuje ZDROJ na CÍL, nebo přesune ZDROJ(E) do ADRESÁŘE.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup=[TYP] vytvoří záložní kopii každého " #~ "existujícího\n" #~ " cílového souboru\n" #~ " -b jako --backup, ale bez argumentu\n" #~ " -f, --force maže existující cíle, neptá se\n" #~ " -i, --interactive před přepsáním souboru se zeptá\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes odstraní všechna lomítka z konce ZDROJE" #~ "(Ů)\n" #~ " -S, --suffix=PŘÍPONA přípona záložních souborů\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=ADRESÁŘ\n" #~ " přemístí všechny ZDROJE do ADRESÁŘE\n" #~ " -T, --no-target-directory CÍL považuje za běžný soubor\n" #~ " -u, --update přemístí pouze starší a úplně nové " #~ "soubory\n" #~ " -v, --verbose vypisuje co se děje\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ] [[PŘÍKAZ] [ARGUMENT]…]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Provede PŘÍKAZ s pozměněnou hodnotou nice, což ovlivní plánování " #~ "procesů.\n" #~ "Bez PŘÍKAZU vypíše aktuální hodnotu. Rozsah hodnoty nice je od %d\n" #~ "(nejupřednostňovanější plánovačem) do %d (nejupozaďovanější).\n" #~ "\n" #~ " -n, --adjustment=N k hodnotě nice přičte celé číslo N (implicitně " #~ "10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "neplatná úprava %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "příkaz musí být zadán s číslem upravujícím hodnotu nice" #~ msgid "cannot get niceness" #~ msgstr "hodnotu nice nelze získat" #~ msgid "cannot set niceness" #~ msgstr "hodnotu nice nelze nastavit" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Přepíše každý SOUBOR na standardní výstup a ke každému řádku přidá jeho\n" #~ "číslo. Jestliže SOUBOR nebude zadán nebo bude „-“, bude čten standardní " #~ "vstup.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STYL použije STYL k číslování řádků v těle\n" #~ " -d, --section-delimiter=CC použije CC pro oddělení logických " #~ "stránek\n" #~ " -f, --footer-numbering=STYL použije STYL k číslování řádků v " #~ "patičce\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STYL použije STYL k číslování řádků " #~ "v hlavičce\n" #~ " -i, --page-increment=ČÍSLO o kolik zvyšovat číslo řádku\n" #~ " -l, --join-blank-lines=POČET bere POČET prázdných řádků jako jeden\n" #~ " -n, --number-format=FORMÁT čísla řádků vypisuje podle FORMÁTU\n" #~ " -p, --no-renumber nenuluje číslo řádku na počátku " #~ "logické\n" #~ " stránky\n" #~ " -s, --number-separator=ŘETĚZEC přidá řetězec za číslo řádku " #~ "(oddělovač\n" #~ " čísla od dalšího řádku)\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=ČÍSLO číslo prvního řádku na logické stránce\n" #~ " -w, --number-width=POČET čísla řádků vypisuje na POČET míst\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Implicitní jsou parametry -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC " #~ "jsou\n" #~ "dva znaky, které jsou použity k oddělování logických stránek. Není-li " #~ "zadán\n" #~ "druhý znak, použije se „:“. Pro zadání „\\“ je třeba napsat „\\\\“.\n" #~ "STYL je jeden z:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a čísluje všechny řádky\n" #~ " t čísluje pouze neprázdné řádky\n" #~ " n řádky nečísluje\n" #~ " pZREGVÝR čísluje pouze řádky vyhovující základnímu regulárnímu výrazu\n" #~ " ZREGVÝR\n" #~ "\n" #~ "FORMÁT je jeden z:\n" #~ "\n" #~ " ln zarovnává vlevo bez úvodních nul\n" #~ " rn zarovnává vpravo bez úvodních nul\n" #~ " rz zarovnává vpravo s úvodními nulami\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "číslo řádku přeteklo" #~ msgid "invalid header numbering style: %s" #~ msgstr "chybný styl číslování v hlavičce: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "chybný styl číslování v těle: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "chybný styl číslování v patičce: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "chybné počáteční číslo řádku: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "chybná hodnota přírůstku čísla řádku: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "chybný počet prázdných řádků: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "chybná šířka čísla řádku: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "chybný formát čísla řádku: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s PŘÍKAZ [ARGUMENT]…\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "Spustí PŘÍKAZ tak, aby ignoroval signál hangup (zavěšení linky).\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Je-li standardním vstupem terminál, přesměruje jej z /dev/null.\n" #~ "Je-li standardním výstupem terminál, připojí výstup do „nohup.out“. Není-" #~ "li\n" #~ "to možné, tak do „$HOME/nohup.out“. Je-li standardním chybovým výstupem\n" #~ "terminál, přesměruje je na standardní výstup.\n" #~ "Výstup do SOUBORU provedete příkazem „%s PŘÍKAZ > SOUBOR“.\n" #~ msgid "ignoring input" #~ msgstr "ignoruji vstup" #~ msgid "failed to open %s" #~ msgstr "otevření %s selhalo" #~ msgid "ignoring input and appending output to %s" #~ msgstr "vstup ignoruji a výstup připojuji k %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "kopii stderr se nezdařilo nastavit příznak uzavření při exec" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "vstup ignoruji a stderr přesměrovávám na stdout" #~ msgid "failed to redirect standard error" #~ msgstr "přesměrování standardního chybové výstupu selhalo" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… [SOUBOR]…\n" #~ " nebo: %s [-abcdfilosx]… [SOUBOR] [[+]POSUN[.][b]]\n" #~ " nebo: %s --traditional [PŘEPÍNAČ]… [SOUBOR] [[+]POSUN[.][b] [+]" #~ "[NÁVĚSTÍ][.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Vypíše SOUBOR jednoznačným způsobem, implicitně v osmičkovém formátu, na\n" #~ "standardní výstup. Bude-li zadáno více SOUBORŮ, zřetězí je v pořadí daném " #~ "na\n" #~ "příkazovém řádku. Jestliže SOUBOR nebude zadán nebo bude „-“, bude čten\n" #~ "standardní vstup.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Všechny argumenty dlouhých přepínačů jsou povinné i pro jejich\n" #~ "krátké varianty.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=ZÁKLAD pozici v souboru vypisuje v zadané " #~ "soustavě\n" #~ " -j, --skip-bytes=POČET přeskočí prvních POČET bajtů ze vstupu\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=POČET vypíše pouze POČET bajtů ze vstupu\n" #~ " -S, --strings[=POČET] vypíše pouze řetězce obsahující nejméně " #~ "POČET\n" #~ " grafických znaků\n" #~ " -t, --format=TYP vybere výstupní formát nebo formáty\n" #~ " -v, --output-duplicates potlačené řádky neoznačuje „*“\n" #~ " -w, --width[=POČET] vypíše POČET bajtů na výstupní řádek\n" #~ " --traditional akceptuje argumenty v před-POSIXOVÉM tvaru\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Před-POSIXOVÉ formáty mohou být používány spolu s POSIXOVÝMI, to " #~ "zahrnuje:\n" #~ " -a stejné jako -t a, názvy znaků, ignoruje nejvyšší bit\n" #~ " -b stejné jako -t o1, bajty osmičkově\n" #~ " -c stejné jako -t c, ASCII znaky nebo kódy znaků se zpětným " #~ "lomítkem\n" #~ " -d stejné jako -t u2, desítková bez znaménka (dvoubajtová)\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f stejné jako -t fF, čísla v pohyblivé řádové čárce\n" #~ " -i stejné jako -t dI, desítková se znaménkem (dvoubajtová)\n" #~ " -l stejné jako -t dL, desítková se znaménkem (čtyřbajtová)\n" #~ " -o stejné jako -t o2, osmičková (dvoubajtová)\n" #~ " -s stejné jako -t d2, desítková (dvoubajtová)\n" #~ " -x stejné jako -t x2, šestnáctková (dvoubajtová)\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Pokud je současně použit první i druhý způsob zápisu formátu, druhý " #~ "formát\n" #~ "má přednost, pokud poslední operand začíná na „+“ nebo (existují-li dva\n" #~ "operandy) na číslici. Operand POSUN značí -j POSUN. NÁVĚŠTÍ je " #~ "pseudoadresa\n" #~ "vypsaná u prvního bajtu a zvětšovaná během výpisu. POSUN a NÁVĚŠTÍ jsou\n" #~ "brána jako šestnáctková čísla, pokud začínají 0x nebo 0X. Pokud čísla " #~ "končí\n" #~ "tečkou „.“, jsou považována za osmičková čísla a pokud končí znakem „b“,\n" #~ "znamená to, že budou násobena 512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "TYP je tvořen z jedné nebo více těchto možností:\n" #~ "\n" #~ " a názvy znaků, nejvyšší bit je ignorován\n" #~ " c ASCII znaky nebo kódy znaků se zpětným lomítkem\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[BAJTŮ] desítkové se znaménkem s počtem BAJTŮ na číslo\n" #~ " f[BAJTŮ] s plovoucí řádovou čárkou s počtem BAJTŮ na číslo\n" #~ " o[BAJTŮ] osmičkové s počtem BAJTŮ na číslo\n" #~ " u[BAJTŮ] desítkové bez znaménka s počtem BAJTŮ na číslo\n" #~ " x[BAJTŮ] šestnáctkové s počtem BAJTŮ na číslo\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "BAJTŮ je číslo. Pro TYPY d, o, u, x může být BAJTŮ také C jako\n" #~ "sizeof(char), S jako sizeof(short), I jako sizeof(int) nebo L jako\n" #~ "sizeof(long). Jestliže TYP je f, BAJTŮ může být také F jako sizeof" #~ "(float),\n" #~ "D jako sizeof(double) nebo L jako sizeof(long double).\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "ZÁKLAD je d pro desítkové, o – osmičkové, x – šestnáctkové, n – žádné.\n" #~ "POČET je brán jako šestnáctkové číslo, začíná-li 0x nebo 0X, a smí mít\n" #~ "násobné přípony (přípona – násobek): b – 512, kB – 1000, K – 1024,\n" #~ "MB – 1000*1000, M – 1024*1024, GB – 1000*1000*1000, G 1024*1024*1024 a " #~ "tak\n" #~ "dále pro T, P, E, Z, Y.\n" #~ "Přidání přípony „z“ k libovolnému typu způsobí vypsání tisknutelných " #~ "znaků\n" #~ "na konci každého výstupního řádku. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string bez zadaného čísla\n" #~ "je bráno jako 3. --width bez čísla je bráno jako 32. Implicitní jsou " #~ "tyto\n" #~ "hodnoty -A o -t d2 -w16.\n" #~ msgid "invalid type string %s" #~ msgstr "chybný typ řetězce %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "chybný typ řetězce %s;\n" #~ "tento systém nemá %lubajtová celá čísla" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "chybný typ řetězce %s;\n" #~ "tento systém nemá %lubajtová čísla s plovoucí řádovou čárkou" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "znak „%c“ v řetězci typu „%s“ je chybný" #~ msgid "cannot skip past end of combined input" #~ msgstr "" #~ "více bajtů, než kolik obsahují všechny vstupní soubory, nelze přeskočit" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "chybný základ výstupní adresy `%c'; musí to být jeden ze znaků [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "při vypisování řetězců nelze zadat typ" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Kompatibilním mód podporuje nejvýše jeden soubor." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "součet bajtů na přeskočení a bajtů ke čtení je příliš velký" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "varování: chybná šířka %lu; užívám %d místo ní" # should this be translated? - rzm #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: formát=„%s“ šířka=%d\n" #~ msgid "standard input is closed" #~ msgstr "standardní vstup je uzavřen" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vypíše řádky skládající se z řádků jednotlivých SOUBORŮ v zadaném pořadí\n" #~ "a oddělených tabelátory na standardní výstup. Jestliže SOUBOR nebude " #~ "zadán\n" #~ "nebo bude „-“, bude čten standardní vstup.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=SEZNAM použije znaků ze SEZNAMU jako oddělovačů\n" #~ " (místo tabelátorů)\n" #~ " -s, --serial vypíše soubory za sebou místo vedle sebe\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "Seznam oddělovačů končí na neošetřené zpětné lomítko: %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [JMÉNO]…\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Rozpoznává nepřenositelné konstrukce ve JMÉNU.\n" #~ "\n" #~ " -p kontrola pro většinu POSIXOVÝCH systémů\n" #~ " -P kontrola na prázdná jména a uvozující „-“\n" #~ " --portability kontrola pro všechny POSIXOVÉ systémy\n" #~ " (stejné jako -p -P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "část se jménem souboru %s začíná znakem „-“" #~ msgid "nonportable character %s in file name %s" #~ msgstr "nepřenositelný znak %s ve jménu souboru %s" #~ msgid "empty file name" #~ msgstr "jméno souboru je prázdné" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: není možno zjistit největší přípustnou délku jména souboru" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "omezení %lu bylo překročeno délkou %lu u jména souboru %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "omezení %lu bylo překročeno délkou %lu částí jména souboru %s" #~ msgid "Login name: " #~ msgstr "Přihlašovací jméno: " #~ msgid "In real life: " #~ msgstr "Občanské jméno: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Adresář: " #~ msgid "Shell: " #~ msgstr "Shell: " #~ msgid "Project: " #~ msgstr "Projekt: " #~ msgid "Plan:\n" #~ msgstr "Plán:\n" #~ msgid "Login" #~ msgstr "Login" #~ msgid "Name" #~ msgstr "Jméno" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Prostoj" #~ msgid "When" #~ msgstr "Kdy" #~ msgid "Where" #~ msgstr "Odkud" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [UŽIVATEL]…\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l dlouhý výstupní formát pro zadaného UŽIVATELE\n" #~ " -b nevypisuje domovský adresář a shell v dlouhém formátu\n" #~ " -h nevypisuje projekt v dlouhém formátu\n" #~ " -p nevypisuje plán v dlouhém formátu\n" #~ " -s krátký výstupní formát (implicitní)\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f nevypisuje hlavičky sloupců v krátkém formátu\n" #~ " -w nevypisuje celé jméno v krátkém formátu\n" #~ " -i nevypisuje celé jméno a odkud v krátkém formátu\n" #~ " -q nevypisuje celé jméno, odkud a prostoj v krátkém " #~ "formátu\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Odlehčený program „finger“; vypisuje informace o uživateli.\n" #~ "Utmp soubor bude %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "nezadáno jméno uživatele; při -l musí být uvedeno alespoň jedno" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "„--pages=PRVNÍ_STRÁNKA[:POSLEDNÍ_STRÁNKA]“ postrádá argument" #~ msgid "Invalid page range %s" #~ msgstr "Chybný rozsah stran %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "„-l DÉLKA_STRÁNKY“ chybný počet řádků: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "„-N ČÍSLO“ chybné číslo počátečního řádku: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "„-o OKRAJ“ chybný posun řádku: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "„-w ŠÍŘKA_STRÁNKY“ chybný počet znaků: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "„-W ŠÍŘKA_STRÁNKY“ chybný počet znaků: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Při výpisu vedle sebe, není možné zadat počet sloupců." # wzdluz? - rzm #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Není možné zadat výpis souborů po sobě a vedle sebe." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "„-%c“ nadbytečné znaky nebo špatné číslo v argumentu: %s" #~ msgid "page width too narrow" #~ msgstr "šířka stránky je příliš malá" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "číslo počáteční stránka % přesahuje počet stránek %" #~ msgid "Page number overflow" #~ msgstr "Číslo stránky přeteklo" #~ msgid "Page %" #~ msgstr "Stránka %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Rozvrhne SOUBOR(Y) pro tisk na stránky nebo sloupce.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +PRVNÍ_STRÁNKA[:POSLEDNÍ_STRÁNKA], --pages=PRVNÍ_STRÁNKA[:" #~ "POSLEDNÍ_STRÁNKA]\n" #~ " začne [skončí] výpis na stránce PRVNÍ_[POSLEDNÍ_]" #~ "STRÁNKA\n" #~ " -SLOUPCŮ, --columns=SLOUPCŮ\n" #~ " produkuje SLOUPCŮ-sloupcový výstup. Řádky vypisuje\n" #~ " na stránku do sloupců, pokud není použit přepínač -" #~ "a.\n" #~ " Také se snaží vyrovnat počet řádků ve sloupcích.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across vypisuje řádky přes sloupce. Používá se dohromady\n" #~ " s přepínačem -SLOUPCŮ.\n" #~ " -c, --show-control-chars\n" #~ " použije zobáčkovou notaci (^G) a notavci osmičkovou\n" #~ " se zpětným lomítkem\n" #~ " -d, --double-space\n" #~ " za každý řádek vloží jeden prázdný\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMÁT\n" #~ " použije FORMÁT pro datum v hlavičce\n" #~ " -e[ZNAK[ŠÍŘKA]], --expand-tabs[=ZNAK[ŠÍŘKA]]\n" #~ " expanduje vstupní ZNAKY (tabelátory) na ŠÍŘKU (8) " #~ "mezer\n" #~ " -F, -f, --form-feed\n" #~ " použije znak nové stránky (FF) místo nových řádků " #~ "(CR)\n" #~ " k oddělení stránek (a 3řádkovou hlavičku stránky při -" #~ "F\n" #~ " nebo 5řádkovou hlavičku s patičkou bez -F).\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h HLAVIČKA, --header=HLAVIČKA\n" #~ " použije vystředěnou HLAVIČKU místo jména souboru.\n" #~ " -h \"\" vypíše prázdnou hlavičku. Nepoužívejte -h" #~ "\"\"\n" #~ " -i[ZNAK[ŠÍŘKA]], --output-tabs[=ZNAK[ŠÍŘKA]]\n" #~ " nahradí ŠÍŘKA (8) mezer ZNAKEM (tabelátorem)\n" #~ " -J, --join-lines vypisuje slité celé řádky, vyřadí -W zkracování " #~ "řádků,\n" #~ " ruší zarovnání sloupců, --sep-string[=ŘETĚZEC] " #~ "nastavuje\n" #~ " oddělovače\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l DÉLKA_STRÁNKY, --length=DÉLKA_STRÁNKY\n" #~ " nastaví délku stránky (66). Zadáno v řádcích.\n" #~ " (implicitně je 56 řádků textu, s -F 63)\n" #~ " -m, --merge vypíše soubory vedle sebe, každý v jednom sloupci,\n" #~ " zkracuje řádky, ale spolu s přepínačem -J je vypisuje " #~ "celé\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n [ODDĚL[ČÍSLIC]], --number-lines[=ODDĚL[ČÍSLIC]]\n" #~ " čísluje řádky, vypisuje ČÍSLIC (5) číslic a potom " #~ "ODDĚL\n" #~ " (TAB). Implicitně počítání začíná od jedničky prvním\n" #~ " vstupním řádkem\n" #~ " -N ČÍSLO, --first-line-number=ČÍSLO\n" #~ " začne počítání číslem ČÍSLO prvního řádku první\n" #~ " vypisované stránky (viz +PRVNÍ_STRÁNKA)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o OKRAJ, --indent=OKRAJ\n" #~ " každý řádek odsadí OKRAJ (nula) mezerami, neovlivňuje " #~ "-w\n" #~ " nebo -W, OKRAJ bude přidán k ŠÍŘCE_STRÁNKY)\n" #~ " -r, --no-file-warnings\n" #~ " potlačí varování, když soubor nemůže být otevřen\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[ZNAK], --separator[=ZNAK]\n" #~ " oddělí sloupce jedním ZNAKEM, implicitně je to TAB,\n" #~ " když není zadán přepínač -w a „žádný znak“, když je -" #~ "w\n" #~ " zadán. -s[ZNAK] vypne zkracování řádků u všech třech\n" #~ " sloupcových přepínačů (-COLUMN|-a -COLUMN|-m), kromě\n" #~ " toho, když je zadán přepínač -w\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -S[ŘETĚZEC], --sep-string[=ŘETĚZEC]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " oddělí sloupce ŘETĚZCEM,\n" #~ " bez -S ale s -J: implicitní oddělovač je TAB\n" #~ " bez -S a bez -J: mezera (rovnocenné s -S\" \")\n" #~ " neovlivňuje parametry sloupců.\n" #~ " -t, --omit-header nevypisuje hlavičky a patičky stránek\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " nevypisuje hlavičky a patičky stránek, ignoruje " #~ "rozvržení\n" #~ " stránek vstupního souboru (ignoruje znak nové stránky " #~ "FF)\n" #~ " -v, --show-nonprinting\n" #~ " použije osmičkovou notaci se zpětným lomítkem\n" #~ " -w ŠÍŘKA_STRÁNKY, --width=ŠÍŘKA_STRÁNKY\n" #~ " nastaví šířku stránky na ŠÍŘKA_STRÁNKY (72) znaků " #~ "pouze\n" #~ " pro vícesloupcový výstup, -s[ZNAK] vypíná (72),\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W ŠÍŘKA_STRÁNKY, --page-width=ŠÍŘKA_STRÁNKY\n" #~ " nastaví šířku stránky na ŠÍŘKA_STRÁNKY (72) znaků " #~ "vždy,\n" #~ " když není zadán přepínač -J, zkracuje řádky\n" #~ " neovlivňuje -S nebo -s.\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-t je implikováno, pokud DÉLKA_STRÁNKY <= 10. Nebude-li SOUBOR zadán " #~ "nebo\n" #~ "bude-li „-“, pak bude čten standardní vstup.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Použití: %s [PROMĚNNÁ]…\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ "Vypíše zadanou PROMĚNNOU prostředí. Pokud zadána není, vypíše všechny.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "varování: %s: znak nebo znaky, které následují za znakovou konstantou " #~ "budou\n" #~ "ignorovány" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s FORMÁT [ARGUMENT]…\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Vypíše ARGUMENT(Y) v určeném FORMÁTU nebo provede podle PŘEPÍNAČŮ:\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "FORMÁT určuje výstup jako u funkce printf v C. Interpretované sekvence " #~ "jsou:\n" #~ "\n" #~ " \\\" dvojité uvozovky\n" #~ " \\NNN znak s osmičkovou hodnotou NNN (1 až 3 číslice)\n" #~ " \\\\ zpětné lomítko (backslash)\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a zvonek (BEL)\n" #~ " \\b backspace\n" #~ " \\c žádný další výstup\n" #~ " \\f posun formuláře (form feed)\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n nový řádek (new line)\n" #~ " \\r návrat vozíku (carriage return)\n" #~ " \\t vodorovný tabelátor (horizontal tab)\n" #~ " \\v svislý tabelátor (vertical tab)\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH znak s šestnáctkovou hodnotou HH (1 až 2 číslice)\n" #~ " \\uHHHH unicodový (ISO/IEC 10646) znak s šestnáctkovou hodnotou HHHH\n" #~ " (4 číslice)\n" #~ " \\UHHHHHHHH unicodový znak s šestnáctkovou hodnotou HHHHHHHH (8 " #~ "číslic)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% jeden znak procenta („%“)\n" #~ " %%b ARGUMENT jako řetězec, kde jsou interpretovány escape sekvence\n" #~ " („\\“), až na to, že osmičkové zápisy jsou tvaru \\0 nebo " #~ "\\0NNN\n" #~ "\n" #~ "a všechny specifikace formátu z jazyka C končící jedním znakem " #~ "z diouxXfeEgGcs\n" #~ "s ARGUMENTY převedenými nejprve na odpovídající typ. Šířky proměnných " #~ "jsou\n" #~ "respektovány.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: očekávána číselná hodnota" #~ msgid "%s: value not completely converted" #~ msgstr "%s: hodnota nebyla zcela převedena" #~ msgid "missing hexadecimal number in escape" #~ msgstr "v escape sekvenci očekáváno šestnáctkové číslo" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "chybný název univerzálního znaku \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "chybná šířka položky: %s" #~ msgid "invalid precision: %s" #~ msgstr "chybná přesnost: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: neplatné určení konverze" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "varování: přebytečné argumenty jsou ignorovány počínaje %s" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (pro regvýr %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… [VSTUP]… (bez -G)\n" #~ " nebo: %s -G [PŘEPÍNAČ]… [VSTUP [VÝSTUP]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Vypíše permutovaný rejstřík, včetně kontextu, slov ze vstupních souborů\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference ve výstupu jsou automaticky generované " #~ "odkazy\n" #~ " -G, --traditional způsobí chování jako „ptx“ ze System V\n" #~ " -F, --flag-truncation=ŘETĚZEC použije ŘETĚZEC pro určení zkracování " #~ "řádků\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=ŘETĚZEC jméno makra, které se má použít místo " #~ "„xx“\n" #~ " -O, --format=roff generuje výstup pro program roff\n" #~ " -R, --right-side-refs vloží odkazy vpravo, nepočítány v -w\n" #~ " -S, --sentence-regexp=REGVÝR pro konec řádků a konec vět\n" #~ " -T, --format=tex generuje výstup pro TeX\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGVÝR použije REGVÝR pro určení každého slova\n" #~ " -b, --break-file=SOUBOR znaky přerušující slovo v tomto SOUBORU\n" #~ " -f, --ignore-case přepsání malých písmen na velká pro " #~ "řazení\n" #~ " -g, --gap-size=ČÍSLO velikost mezery ve sloupcích mezi " #~ "výstupními\n" #~ " položkami\n" #~ " -i, --ignore-file=SOUBOR přečte slova, která se mají ignorovat\n" #~ " ze SOUBORU\n" #~ " -o, --only-file=SOUBOR přečtení seznamu slov pouze ze SOUBORU\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references první položka každého řádku je odkaz\n" #~ " -t, --typeset-mode – neimplementováno –\n" #~ " -w, --width=ČÍSLO šířka výstupu ve sloupcích, bez odkazů\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Jestliže není SOUBOR zadán nebo je „-“, bude čten standardní vstup.\n" #~ "Implicitní přepínače: „-F /“\n" #~ msgid "invalid gap width: %s" #~ msgstr "chybné šířka mezery: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Vypíše celý název současného pracovního adresáře.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "změna pracovního adresáře na %s selhala" #~ msgid "failed to stat %s" #~ msgstr "nelze získat informace o %s" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "v %s nemohu nalézt položku adresáře příslušného i-uzlu" #~ msgid "ignoring non-option arguments" #~ msgstr "ignoruji argumenty, které nejsou přepínači" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… SOUBOR\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Na standardní výstup vypíše hodnotu symbolického odkazu.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize kanonizuje rekurzivním následováním " #~ "každého\n" #~ " symbolického odkazu v každé části " #~ "zadaného\n" #~ " názvu;\n" #~ " všechny části až na poslední musí " #~ "existovat\n" #~ " -e, --canonicalize-existing kanonizuje rekurzivním následováním " #~ "každého\n" #~ " symbolického odkazu v každé části " #~ "zadaného\n" #~ " názvu;\n" #~ " všechny části musí existovat\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing kanonizuje rekurzivním následováním " #~ "každého\n" #~ " symbolického odkazu v každé části " #~ "zadaného\n" #~ " názvu;\n" #~ " části názvu nemusí existovat\n" #~ " -n, --no-newline bez odřádkování\n" #~ " -q, --quiet,\n" #~ " -s, --silent potlačí většinu chybových hlášek\n" #~ " -v, --verbose hlásí chyby\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "ZÁVAŽNÉ: adresář %s nelze zavřít" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "ZÁVAŽNÉ: z %s nelze otevřít .." #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "ZÁVAŽNÉ: nelze zaručit bezpečnost %s (vráceno přes ..)" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "ZÁVAŽNÉ: adresář %s změnil zařízení nebo i-uzel" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "ZÁVAŽNÉ: do adresáře %s nelze vstoupit" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "ZÁVAŽNÉ: adresář %s, do kterého bylo právě vstoupeno, změnil zařízení/i-" #~ "uzel" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "VAROVÁNÍ: Zacyklená struktura adresářů.\n" #~ "To téměř jistě znamená, že máte porušen souborový systém.\n" #~ "INFORMUJTE VAŠEHO SPRÁVCE SYSTÉMU.\n" #~ "Následujíc adresář je částí kruhu:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: sestoupit do proti zápisu chráněného adresáře %s?" #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: sestoupit do adresáře %s?" #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: smazat proti zápisu chráněný %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: smazat %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "smazán adresář: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "uzavření adresáře %s selhalo" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "přeskakuji %s, protože se nachází na jiném zařízení" #~ msgid "cannot remove directory %s" #~ msgstr "nelze smazat adresář %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "ZÁVAŽNÉ: z %s se nelze vrátit do .." #~ msgid "cannot remove root directory %s" #~ msgstr "kořenový adresář %s nelze smazat" #~ msgid "cannot remove relative-named %s" #~ msgstr "relativně pojmenovaný %s nelze smazat" #~ msgid "cannot restore current working directory" #~ msgstr "nelze obnovit pracovní adresář" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Pro odstranění %3$s zkuste „%1$s ./%2$s“.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… SOUBOR…\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Maže (unlink) SOUBOR(Y).\n" #~ "\n" #~ " -f, --force ignoruje neexistující soubory, nikdy se neptá\n" #~ " -i, ptá se před každým smazáním\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I zeptá se jednou před smazáním více než tří " #~ "souborů,\n" #~ " nebo rekurzivním mazáním. Obtěžuje méně než -i,\n" #~ " přesto poskytuje ochranu proti většině chyb.\n" #~ " --interactive[=KDY]\n" #~ " ptá se podle KDY: „never“ (nikdy), " #~ "„once“ (jednou, -I)\n" #~ " nebo „always“ (vždy, -i). Bez KDY se ptá vždy.\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system\n" #~ " při rekurzivním mazání vynechá adresáře, jež se " #~ "nachází\n" #~ " na jiném souborovém systému než příslušný " #~ "argument\n" #~ " z příkazové řádky\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root\n" #~ " s „/“ nezachází zvláštně\n" #~ " --preserve-root nemazat „/“ (implicitní)\n" #~ " -r, -R, --recursive maže adresáře a jejich obsah rekurzívně\n" #~ " -v, --verbose vypisuje, co je děláno\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Implicitně rm nemaže adresáře. Pro smazání každého zadaného adresáře " #~ "včetně\n" #~ "jeho obsahu použijte --recursive (-r nebo -R).\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Smazání souboru jehož název začíná znakem „-“, například „-foo“,\n" #~ "docílíte jedním z následujících příkazů:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Vezměte na vědomí, že pokud pomocí rm smažete soubor, je obvykle možné\n" #~ "následně obnovit obsah takového souboru. Jestliže chcete větší jistotu, " #~ "že\n" #~ "obsah nepůjde obnovit, zvažte použití nástroje „shred“.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: smazat všechny argumenty rekurzivně? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: smazat všechny argumenty? " #~ msgid "removing directory, %s" #~ msgstr "mažu adresář, %s" #~ msgid "failed to remove directory %s" #~ msgstr "odstranění adresáře %s selhalo" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… ADRESÁŘ…\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Smaže ADRESÁŘ(E), pokud jsou prázdné.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignoruje každé selhání, která je způsobeno jen a pouze\n" #~ " tím, že adresář je neprázdný\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents maže ADRESÁŘ a všechny rodičovské adresáře, ze zadané\n" #~ " cesty. Např: „rmdir -p a/b/c“ je podobné \n" #~ " „rmdir a/b/c a/b a“\n" #~ " -v, --verbose vypisuje oznámení o každém zpracovávaném adresáři\n" #~ msgid "failed to remove %s" #~ msgstr "odstranění %s selhalo" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Použití: %s KONTEXT PŘÍKAZ [ARGUMENTY]\n" #~ " nebo: %s [-c] [-u UŽIVATEL] [-r ROLE] [-t DRUH] [-l ROZSAH]\n" #~ " PŘÍKAZ [ARGUMENTY]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Spustí program v jiném bezpečnostním kontextu.\n" #~ "Bez KONTEXTU a bez PŘÍKAZU vypíše současný bezpečnostní kontext.\n" #~ "\n" #~ " KONTEXT Úplný bezpečnostní kontext\n" #~ " -c, --compute vypočte přechodový kontext procesu před úpravou\n" #~ " -t, --type=DRUH druh (pro stejnou roli jako má rodič)\n" #~ " -u, --user=UŽIVATEL identita uživatele\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=ROZSAH rozsah úrovní\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "více rolí" #~ msgid "multiple types" #~ msgstr "více druhů" #~ msgid "multiple users" #~ msgstr "více uživatelů" #~ msgid "multiple levelranges" #~ msgstr "více rozsahů úrovní" #~ msgid "failed to get current context" #~ msgstr "selhalo získání současného kontextu" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "musíte zadat -c, -t, -u, -l, -r nebo kontext" #~ msgid "no command specified" #~ msgstr "nebyl zadán žádný příkaz" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "runcon lze provozovat jen na jádře podporujícím SELinux" #~ msgid "failed to compute a new context" #~ msgstr "selhal výpočet nového kontextu" #~ msgid "failed to set new user %s" #~ msgstr "selhalo nastavení nového uživatele %s" #~ msgid "failed to set new type %s" #~ msgstr "selhalo nastavení nového druhu %s" #~ msgid "failed to set new range %s" #~ msgstr "selhalo nastavení nového rozsahu %s" #~ msgid "failed to set new role %s" #~ msgstr "selhalo nastavení nové role %s" #~ msgid "unable to set security context %s" #~ msgstr "bezpečnostní kontext %s nelze nastavit" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… POSLEDNÍ\n" #~ " nebo: %s [PŘEPÍNAČ]… PRVNÍ POSLEDNÍ\n" #~ " nebo: %s [PŘEPÍNAČ]… PRVNÍ PŘÍRŮSTEK POSLEDNÍ\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Vypíše čísla od PRVNÍHO do POSLEDNÍHO s krokem PŘÍRŮSTEK.\n" #~ "\n" #~ " -f, --format=FORMÁT použije printf FORMÁT pro výpis reálných " #~ "čísel\n" #~ " -s, --separator=ŘETĚZEC použije ŘETĚZEC k oddělení čísel (implicitně: " #~ "\\n)\n" #~ " -w, --equal-width srovná šířku zarovnáním úvodními nulami\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Bude-li PRVNÍ nebo PŘÍRŮSTEK vynechán, implicitně se nastaví na 1. Což\n" #~ "znamená, že vynechaný PŘÍRŮSTEK bude 1, i když POSLEDNÍ je menší než " #~ "PRVNÍ.\n" #~ "PRVNÍ, PŘÍRŮSTEK a POSLEDNÍ jsou údaje v pohyblivé řádové čárce. " #~ "PŘÍRŮSTEK\n" #~ "bývá kladný, když PRVNÍ je menší než POSLEDNÍ, a bývá záporný, když " #~ "PRVNÍ\n" #~ "je větší než POSLEDNÍ.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "FORMÁT musí být vhodný pro vytištění jednoho argumentu typu „double“;\n" #~ "implicitně je „%PŘESf“, pokud PRVNÍ, PŘÍRŮSTEK a POSLEDNÍ jsou všechny\n" #~ "desítková čísla s pevnou řádovou čárkou s největší přesností PŘES, jinak " #~ "„%g“.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "chybný argument v pohyblivé řádové čárce: %s" #~ msgid "no %% directive in format string %s" #~ msgstr "ve formátovacím řetězci %s chybí řidicí znak %%" #~ msgid "too many %% directives in format string %s" #~ msgstr "příliš mnoho řidicích znaků %% ve formátovacím řetězci %s" #~ msgid "invalid format string: %s" #~ msgstr "chybný formátovací řetězec: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "formátovací řetězec nesmí být zadán při požadavku na tisk stejně širokých " #~ "řetězců" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s PŘEPÍNAČ JMÉNO_UŽIVATELE PŘÍKAZ [ARGUMENT]…\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Zbaví se doplňkových skupin, převezme ID uživatele a ID skupiny určené\n" #~ "JMÉNEM_UŽIVATELE (číselným ID nebo jménem) a spustí PŘÍKAZ se zadanými\n" #~ "ARGUMENTY.\n" #~ "Skončí s výstupním kódem 111, pokud není možné přejmout požadované ID\n" #~ "uživatele a skupiny. Jinak vrátí výstupní kód PŘÍKAZU.\n" #~ "Tento program má smysl jen, je-li vyvolán rootem (ID uživatele 0).\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1…] taktéž nastaví primární ID skupiny na číslo GID a\n" #~ " (je-li zadáno) ID doplňkových skupin na GID1, …\n" #~ msgid "unknown user-ID: %s" #~ msgstr "neznámé ID uživatele: %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "abyste mohli použit ID uživatele %s, musíte také použít -g" #~ msgid "failed to set supplemental group(s)" #~ msgstr "doplňkovou skupinu(y) nelze nastavit" #~ msgid "cannot set group-ID to %lu" #~ msgstr "ID skupiny nelze nastavit na %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "ID uživatele nelze nastavit na %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Použití: %s [PŘEPÍNAČE] SOUBOR […]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Zadané SOUBORY opakovaně přepíše, čímž ztíží pokusy o obnovení jejich " #~ "obsahu\n" #~ "i za použití velmi drahého vybavení.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force povolí změnu práva pro zápis do souboru, jestliže je to " #~ "nutné\n" #~ " -n, --iterations=N\n" #~ " přepíše N krát, místo implicitního počtu (%d)\n" #~ " --random-source=SOUBOR\n" #~ " získá náhodné bajty ze SOUBORU (implicitně /dev/" #~ "urandom)\n" #~ " -s, --size=N aplikuje na tuto délku souboru (přípony jako K, M, G\n" #~ " jsou možné)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove zkrátí a smaže soubor po přepsání\n" #~ " -v, --verbose výpis informací o průběhu\n" #~ " -x, --exact nezaokrouhluje velikost souboru nahoru na celé bloky;\n" #~ " implicitní pro ne-obyčejné soubory\n" #~ " -z, --zero přidá poslední fázi přepisu nulami, aby zametl stopy\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Pokud je SOUBOR „-“, skartuje standardní výstup.\n" #~ "\n" #~ "Je-li zadáno --remove (-u), SOUBOR(Y) smaže. Výchozí chování je nemazat\n" #~ "soubory, protože je běžné zpracovávat zařízení jako /dev/hda a tyto\n" #~ "soubory se obvykle nemažou. Pokud se pracuje nad obyčejným souborem,\n" #~ "většina lidí volí přepínač --remove.\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "VAROVÁNÍ: Pamatuje, že shred se spoléhá na jeden velmi důležitý " #~ "předpoklad:\n" #~ "Že souborový systém přepisuje data na stejné místo. Toto je tradiční " #~ "způsob,\n" #~ "jak věci fungují, ale mnoho moderních návrhů souborových systémů " #~ "nesplňuje\n" #~ "tento předpoklad. Následují příklady souborových systémů, na kterých " #~ "není\n" #~ "shred účinný nebo na kterých není zaručena účinnost při všech režimech\n" #~ "těchto systémů:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* záznamově strukturované nebo žurnálovací souborové systémy, zvláště " #~ "takové,\n" #~ "co jsou dodávány s AIXEM a Solarisem (a JFS, ReiserFS, XFS, Ext3 atd.)\n" #~ "\n" #~ "* souborové systémy, které zapisují redundantní data a ustojí i selhání\n" #~ "některých zápisů, jako jsou souborové systémy vystavěné nad RAIDEM\n" #~ "\n" #~ "* souborové systémy, které dělají snímky, jako je NFS server od\n" #~ "Network Appliance\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* souborové systémy, které používají dočasná meziuložiště, jako je " #~ "klient\n" #~ "NFS verze 3\n" #~ "\n" #~ "* komprimované souborové systémy\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "V případě souborového systému ext3 se výše uvedené upozornění (omezená\n" #~ "účinnost shredu) vztahuje jen na režim data=journal, ve kterém se " #~ "žurnálují\n" #~ "kromě metadat i samotný obsah souborů. Jak v režimu data=order " #~ "(implicitní),\n" #~ "tak v data=writeback shred pracuje zcela normálně. Režim žurnálování " #~ "u ext3\n" #~ "lze změnit přidáním volby data=NĚCO k připojovacím volbám daného " #~ "souborového\n" #~ "systému do souboru /etc/fstab, jak je popsáno v manuálu k příkazu mount\n" #~ "(man mount).\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Navíc zálohy a vzdálená zrcadla souborových systémů mohou obsahovat " #~ "kopie\n" #~ "souboru, který nemůže být smazán, a tak umožňují pozdější obnovu\n" #~ "skartovaných souborů.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: fdatasync selhala" #~ msgid "%s: fsync failed" #~ msgstr "%s: fsyns selhala" #~ msgid "%s: cannot rewind" #~ msgstr "%s: nelze převinout" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: průchod %lu/%lu (%s)…" #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: chyba při zápisu na pozici %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: lseek selhala" #~ msgid "%s: file too large" #~ msgstr "%s: soubor je příliš dlouhý" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: průchod %lu/%lu (%s)…%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: průchod %lu/%lu (%s)…%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: fstat selhala" #~ msgid "%s: invalid file type" #~ msgstr "%s: chybný typ souboru" #~ msgid "%s: file has negative size" #~ msgstr "%s: soubor má zápornou velikost" #~ msgid "%s: error truncating" #~ msgstr "%s: chyba při zkracování souboru" #~ msgid "%s: fcntl failed" #~ msgstr "%s: fcntl selhala" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: shred nelze použít na popisovač souboru pouze pro přidávání" #~ msgid "%s: removing" #~ msgstr "%s: probíhá mazání" #~ msgid "%s: renamed to %s" #~ msgstr "%s: přejmenováno na %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: mazání selhalo" #~ msgid "%s: removed" #~ msgstr "%s: smazán" #~ msgid "%s: failed to close" #~ msgstr "%s: uzavření selhalo" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: soubor nelze otevřít pro zápis" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: neplatný počet průchodů" #~ msgid "multiple random sources specified" #~ msgstr "zadáno více zdrojů náhodných čísel" #~ msgid "%s: invalid file size" #~ msgstr "%s: chybná velikost souboru" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ]… [SOUBOR]\n" #~ " nebo: %s -e [PŘEPÍNAČ]… [ARG]…\n" #~ " nebo: %s -i DO-HO [PŘEPÍNAČ]…\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Vypíše náhodnou permutaci vstupních řádků na standardní výstup.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo každý ARG považuje za vstupní řádek\n" #~ " -i, --input-range=DO-HO řádky od DO do HO považuje za vstupní\n" #~ " -n, --head-lines=ŘÁDKŮ vypíše nejvýše ŘÁDKŮ řádků\n" #~ " -o, --output=SOUBOR výsledek zapíše do SOUBORU na místo na\n" #~ " standardní výstup\n" #~ " --random-source=SOUBOR\n" #~ " získá náhodné bajty ze SOUBORU (implicitně\n" #~ " /dev/urandom)\n" #~ " -z, --zero-terminated řádky zakončí bajtem 0 místo LF\n" #~ msgid "multiple -i options specified" #~ msgstr "zadáno více přepínačů -i" #~ msgid "invalid input range %s" #~ msgstr "neplatný vstupní rozsah %s" #~ msgid "invalid line count %s" #~ msgstr "neplatný počet řádků %s" #~ msgid "multiple output files specified" #~ msgstr "zadáno více výstupních souborů" #~ msgid "extra operand %s\n" #~ msgstr "nadbytečný argument %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Použití: %s ČÍSLO[PŘÍPONA]…\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ "Čeká POČET sekund. PŘÍPONA může být „s“ (sekundy) – implicitně, " #~ "„m“ (minuty),\n" #~ "„h“ (hodiny) nebo „d“ (dny). V mnoha implementacích musí být ČÍSLO číslo " #~ "celé,\n" #~ "zde může být i číslem desetinným. Dva a více argumentů způsobí, že se " #~ "bude\n" #~ "čekat po dobu danou součtem zadaných hodnot.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "chybné časový interval %s" #~ msgid "cannot read realtime clock" #~ msgstr "z hodin reálného času nelze číst" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Vypíše seřazené zřetězení všech SOUBORŮ na standardní výstup.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Řadicí přepínače:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ignoruje úvodní mezery\n" #~ " -d, --dictionary-order uvažuje pouze mezery a alfanumerické znaky\n" #~ " -f, --ignore-case převede malá písmena na velká\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort porovnává podle obecných číselných hodnot\n" #~ " -i, --ignore-nonprinting uvažuje pouze tisknutelné znaky\n" #~ " -M, --month-sort porovnává podle měsíců\n" #~ " (neznámý) < „LED“ < … < „PRO“\n" #~ " -n, --numeric-sort porovnává podle číselné hodnoty řetězce\n" #~ " -R, --random-sort řadí podle náhodných hashů klíčů\n" #~ " --random-source=SOUBOR získá náhodné bajty ze SOUBORU\n" #~ " (implicitně /dev/urandom)\n" #~ " --sort=SLOVO řadí podle SLOVA:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse obrácený výsledek porovnávání\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Další přepínače:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first\n" #~ " zkontroluje, zda vstup je seřazen; neřadí\n" #~ " -C, --check=quiet, --check=silent\n" #~ " jako -c, ale nehlásí první chybnou řádku\n" #~ " --compress-program=PROGRAM\n" #~ " pomocné soubory komprimuje příkazem PROGRAM,\n" #~ " dekomprimuje pomocí PROGRAM -d\n" #~ " -k, --key=POZ1[,POZ2] začátek klíče na POZ1 a konec na POZ2\n" #~ " pozice znaků jsou počítány od jedné\n" #~ " -m, --merge spojí již seřazené soubory, neseřazuje je\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=SOUBOR výsledek zapíše do SOUBORU místo na " #~ "standardní\n" #~ " výstup\n" #~ " -s, --stable stabilizuje výsledek zakázáním seřazení " #~ "stejných\n" #~ " položek porovnáváním bajt po bajtu\n" #~ " -S, --buffer-size=VELIKOST\n" #~ " použije VELIKOST pro hlavní paměťový buffer\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=ODDĚLOVAČ\n" #~ " použije ODDĚLOVAČE místo přechodu nemezera/" #~ "mezera\n" #~ " -T, --temporary-directory=ADRESÁŘ\n" #~ " použije ADRESÁŘ pro dočasné soubory, " #~ "nepoužívá\n" #~ " $TMPDIR ani %s.\n" #~ " Více přepínačů zadává více adresářů.\n" #~ " -u, --unique s -c testuje striktní uspořádání;\n" #~ " jinak vypíše pouze první ze stejných " #~ "sekvencí\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated vstupní řádky jsou ukončeny bajtem 0 místo " #~ "LF\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POZ je P[.Z][PŘEPÍNAČE], kde P je číslo položky a Z pozice znaku " #~ "v položce,\n" #~ "oboje počítáno od 1. Není-li uvedeno -t ani -b, znaky v položce jsou " #~ "počítány\n" #~ "od začátku předchozího bílého znaku. PŘEPÍNAČE jsou tvořeny z jednoho " #~ "nebo\n" #~ "z více písmen jednopísmenných řadicích přepínačů, které přebijí globální\n" #~ "nastavení pro tento klíč. Nebude-li klíč zadán, použije se celý řádek\n" #~ "jako klíč.\n" #~ "\n" #~ "VELIKOST smí být následována těmito násobnými příponami:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1 % z paměti, b 1, K 1024 (implicitní), a tak dále pro M, G, T, P, E, " #~ "Z, Y.\n" #~ "\n" #~ "Není-li zadán SOUBOR nebo je-li „-“, čte standardní vstup.\n" #~ "*** VAROVÁNÍ ***\n" #~ "Lokalizace vybraná prostředím ovlivňuje pořadí řazení.\n" #~ "Tradiční pořadí řazení, které používá hodnoty jednotlivých bajtů, " #~ "získáte\n" #~ "nastavením LC_ALL=C.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "čekám na %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] skončil neobvykle" #~ msgid "cannot create temporary file" #~ msgstr "nelze vytvořit dočasný soubor" #~ msgid "open failed" #~ msgstr "soubor se nepodařilo otevřít" #~ msgid "fflush failed" #~ msgstr "vyprázdnění souborového proudu selhalo" #~ msgid "close failed" #~ msgstr "uzavření souboru selhalo" #~ msgid "dup2 failed" #~ msgstr "volání dup2 selhalo" #~ msgid "couldn't execute %s" #~ msgstr "nelze provést %s" #~ msgid "couldn't create temporary file" #~ msgstr "nelze vytvořit dočasný soubor" #~ msgid "couldn't open temporary file" #~ msgstr "nelze otevřít dočasný soubor" #~ msgid "couldn't execute %s -d" #~ msgstr "nelze provést %s -d" #~ msgid "write failed" #~ msgstr "zápis se nezdařil" #~ msgid "warning: cannot remove: %s" #~ msgstr "varování: nelze smazat: %s" #~ msgid "stat failed" #~ msgstr "funkce stat selhala" #~ msgid "read failed" #~ msgstr "čtení ze souboru se nezdařilo" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: neseřaditelný řádek: " #~ msgid "standard error" #~ msgstr "standardní chybový výstup" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: neplatné určení položky %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "přepínač „-%s“ není slučitelný" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: neplatné číslo na začátku %s" #~ msgid "invalid number after `-'" #~ msgstr "neplatné číslo za „-“" #~ msgid "invalid number after `.'" #~ msgstr "neplatné číslo za „.“" #~ msgid "stray character in field spec" #~ msgstr "zbloudilý znak v zadání řadicí položky" #~ msgid "multiple compress programs specified" #~ msgstr "zadáno více kompresních programů" #~ msgid "invalid number at field start" #~ msgstr "neplatné číslo na začátku položky" #~ msgid "field number is zero" #~ msgstr "číslo položky je nula" #~ msgid "character offset is zero" #~ msgstr "posun znaku je nula" #~ msgid "invalid number after `,'" #~ msgstr "neplatné číslo za „,“" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "další argument %s není s -%c dovolen" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ] [SOUBOR [PŘEDPONA]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Rozdělí SOUBOR do souborů PŘEDPONAaa, PŘEDPONAab, … s pevnou délkou; " #~ "implicitní\n" #~ "délka je 1000 řádků a implicitní PŘEDPONA je „x“. Pokud SOUBOR nebude " #~ "zadán\n" #~ "nebo bude „-“, bude čten standardní vstup.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N použije přípony délky N (implicitně %d)\n" #~ " -b, --bytes=VELIKOST zapíše VELIKOST bajtů do každého výstupního " #~ "souboru\n" #~ " -C, --line-bytes=VELIKOST\n" #~ " zapíše nejvýše VELIKOST bajtů na výstupní řádek " #~ "do\n" #~ " každého souboru\n" #~ " -d, --numeric-suffixes použije číselné přípony místo abecedních\n" #~ " -l, --lines=POČET zapíše POČET řádků do každého výstupního " #~ "souboru\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose před otevřením každého výstupního souboru " #~ "vypíše\n" #~ " oznámení o tomto\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST může mít následující násobné přípony (přípona činitel):\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024 a tak dále pro T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "vytvářím soubor %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "soubor nelze rozdělit více způsoby" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: chybná délka přípony" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: chybný počet bajtů" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: chybný počet řádků" #~ msgid "line count option -%s%c... is too large" #~ msgstr "přepínač počtu řádků -%s%c… je příliš velký" #~ msgid "invalid number of lines: 0" #~ msgstr "chybný počet řádků: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "varování: neznámá escape sekvence „\\%c“" #~ msgid "%s: invalid directive" #~ msgstr "%s: chybná specifikace" #~ msgid "warning: backslash at end of format" #~ msgstr "varování: zpětné lomítko na konci formátovacího řetězce" #~ msgid "cannot read file system information for %s" #~ msgstr "nelze přečíst informace souborového systému pro %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ] SOUBOR…\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Zobrazí informace o souboru nebo souborovém systému.\n" #~ "\n" #~ " -L, --dereference následuje odkazy\n" #~ " -f, --file-system zobrazí informace o souborovém systému místo " #~ "o souboru\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=FORMÁT použije zadaný FORMÁT místo implicitního;\n" #~ " za každým FORMÁTEM odřádkuje\n" #~ " --printf=FORMAT jako --format, ale rozpozná escape sekvence " #~ "zpětných\n" #~ " lomítek a implicitně neodřádkuje\n" #~ "  Pro odřádkování zadejte do FORMÁTU „\\n“.\n" #~ " -t, --terse vytiskne informace ve stručné podobě\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Platné formátovací sekvence pro soubory (bez --file-system):\n" #~ "\n" #~ " %a Přístupová práva osmičkově\n" #~ " %A Přístupová práva v podobě vhodné pro člověka\n" #~ " %b Počet alokovaných bloků (vizte %B)\n" #~ " %B Velikost bloku z %b v bajtech\n" #~ " %C Řetězec selinuxového bezpečnostního kontextu\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Číslo zařízení desítkově\n" #~ " %D Číslo zařízení šestnáctkově\n" #~ " %f Syrový mód (st_mode; práva a druh) šestnáctkově\n" #~ " %F Druh souboru\n" #~ " %g ID skupiny vlastníka\n" #~ " %G Jméno skupiny vlastníka\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Počet pevných odkazů\n" #~ " %i Číslo i-uzlu\n" #~ " %n Jméno souboru\n" #~ " %N Escapované jméno souboru dereferencované, jde-li se o symbolický " #~ "odkaz\n" #~ " %o Velikost I/O bloku\n" #~ " %s Celková velikost v bajtech\n" #~ " %t Hlavní číslo zařízení šestnáctkově\n" #~ " %T Vedlejší číslo zařízení šestnáctkově\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u Uživatelské ID vlastníka\n" #~ " %U Uživatelské jméno vlastníka\n" #~ " %x Čas posledního přístupu\n" #~ " %X Čas posledního přístupu v sekundách od počátku unixové epochy\n" #~ " %y Čas poslední změny obsahu\n" #~ " %Y Čas poslední změny obsahu v sekundách od počátku unixové epochy\n" #~ " %z Čas poslední změny i-uzlu\n" #~ " %Z Čas poslední změny i-uzlu v sekundách od počátku unixové epochy\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Platné formátovací sekvence pro souborové systémy:\n" #~ "\n" #~ " %a Volné bloky dostupné ne-superuživateli\n" #~ " %b Datových bloků celkem v systému souborů\n" #~ " %c I-uzlů celkem v systému souborů\n" #~ " %d Volných i-uzlů v systému souborů\n" #~ " %f Volných bloků v systému souborů\n" #~ " %C Řetězec selinuxového bezpečnostního kontextu\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i ID systému souborů šestnáctkově\n" #~ " %l Největší délka jména souboru\n" #~ " %n Jméno souboru\n" #~ " %s Velikost bloku (pro rychlejší přenosy)\n" #~ " %S Velikost základního bloku (pro počty bloků)\n" #~ " %t Druh šestnáctkově\n" #~ " %T Druh v podobě vhodné pro člověka\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Použití: %s [-F ZAŘÍZENÍ] [--file=ZAŘÍZENÍ] [NASTAVENÍ]…\n" #~ " nebo: %s [-F ZAŘÍZENÍ] [--file=ZAŘÍZENÍ] [-a|--all]\n" #~ " nebo: %s [-F ZAŘÍZENÍ] [--file=ZAŘÍZENÍ] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Vypíše nebo změní nastavení terminálu.\n" #~ "\n" #~ " -a, --all vypíše všechna nastavení ve formě pro člověka " #~ "čitelné\n" #~ " -g, --save vypíše všechna nastavení ve formě pro stty\n" #~ " -F, --file=ZAŘÍZENÍ místo stdin otevře a použije zadané zařízení\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Volitelný „-“ před NASTAVENÍM znamená negaci. „*“ označuje nastavení\n" #~ "nedefinované normou POSIX. Použitý systém určuje, která nastavení jsou " #~ "možná.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Speciální znaky:\n" #~ " * dsusp ZNAK ZNAK, který posílá terminálu signál stop při " #~ "vyprázdnění\n" #~ " standardního vstupu\n" #~ " eof ZNAK ZNAK, který posílá „konec souboru“ (ukončení vstupu)\n" #~ " eol ZNAK ZNAK, který ukončuje řádek\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 ZNAK alternativní ZNAK pro konec řádku\n" #~ " erase ZNAK ZNAK, který maže poslední zapsaný znak\n" #~ " intr ZNAK ZNAK, který zasílá signál interrupt\n" #~ " kill ZNAK ZNAK, který maže aktuální řádek\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext ZNAK ZNAK, který znemožňuje interpretaci dalšího znaku " #~ "(quote)\n" #~ " quit ZNAK ZNAK, který posílá signál quit\n" #~ " * rprnt ZNAK ZNAK, který překresluje aktuální řádek\n" #~ " start ZNAK ZNAK, který znovu spustí výstup po jeho pozastavení\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop ZNAK ZNAK, který pozastavuje výstup\n" #~ " susp ZNAK ZNAK, který posílá signál „terminal stop“\n" #~ " * swtch ZNAK ZNAK, který přepíná na jinou vrstvu shellu\n" #~ " * werase ZNAK ZNAK, který maže poslední zapsané slovo\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Speciální nastavení:\n" #~ " N nastaví vstupní a výstupní rychlost na N baudů\n" #~ " * cols N pošle jádru OS, že terminál má N sloupců\n" #~ " * columns N stejné jako cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N nastaví vstupní rychlost na N\n" #~ " * line N použije linkovou disciplínu N\n" #~ " min N spolu s -icanon nastaví N znaků jako minimum pro " #~ "ukončení\n" #~ " čtení\n" #~ " ospeed N nastaví rychlost výstupu na N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N pošle jádru OS, že terminál má N řádků\n" #~ " * size vypíše počet řádků a sloupců podle jádra OS\n" #~ " speed vypíše rychlost terminálu\n" #~ " time N spolu s -icanon nastaví časový limit pro čtení na N " #~ "desetin\n" #~ " sekundy\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Nastavení řízení:\n" #~ " [-]clocal zakáže signály pro řízení modemu\n" #~ " [-]cread povolí příjem na vstupu\n" #~ " * [-]crtscts umožní „handshake“ (RTS/CTS)\n" #~ " csN nastaví velikost znaku na N bitů, N je 5–8\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb použije dva stop bity (jeden stop bit pomocí „-“)\n" #~ " [-]hup pošle signál hangup, když poslední proces uzavře tty\n" #~ " [-]hupcl jako [-]hup\n" #~ " [-]parenb generuje paritní bit na výstupu a očekává ho na vstupu\n" #~ " [-]parodd nastaví lichou paritu (sudou pomocí „-“)\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Nastavení vstupu:\n" #~ " [-]brkint znak break způsobí signál interrupt\n" #~ " [-]icrnl překládá CR (carriage return) na LF (newline)\n" #~ " [-]ignbrk ignoruje znak break\n" #~ " [-]igncr ignoruje znak CR (carriage return)\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar ignoruje znaky s chybnou paritou\n" #~ " * [-]imaxbel zvukový signál a nevyprázdnění plného vstupního bufferu " #~ "při\n" #~ " novém příchozím znaku\n" #~ " [-]inlcr překládá LF (newline) na CR (carriage return)\n" #~ " [-]inpck začne kontrolovat paritu na vstupu\n" #~ " [-]istrip nuluje horní (8.) bit vstupních znaků\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr " * [-]iutf8 předpokládá vstupní znaky kódované v UTF-8\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc překládá velká písmena na malá\n" #~ " * [-]ixany každý znak restartuje výstup, nikoli jen znak „start“\n" #~ " [-]ixoff povolí posílání znaků start/stop\n" #~ " [-]ixon povolí řízení toku dat pomocí XON/XOFF\n" #~ " [-]parmrk označí chyby parity (sekvencí 255-0-znak)\n" #~ " [-]tandem jako [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Nastavení výstupu:\n" #~ " * bsN způsob čekání na backspace, N je 0–1\n" #~ " * crN způsob čekání na CR (carriage return), N je 0–3\n" #~ " * ffN způsob čekání na FF (form feed), N je 0–1\n" #~ " * nlN způsob čekání na LF (newline), N je 0–1\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl překládá CR (cariage return) na LF (newline)\n" #~ " * [-]ofdel použije znak „delete“ místo znaku „null“ pro výplně\n" #~ " * [-]ofill použije vyplňovací znak místo čekání\n" #~ " * [-]olcuc překládá malá písmena na velká\n" #~ " * [-]onlcr překládá LF (newline) na CRLF (carriage return-newline)\n" #~ " * [-]onlret LF (newline) provede CR (carriage return)\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr v prvním sloupci netiskne CR (carriage return)\n" #~ " [-]opost zpracování postprocesorem\n" #~ " * tabN způsob čekání na vodorovný tabelátor, N je 0–3\n" #~ " * tabs jako tab0\n" #~ " * -tabs jako tab3\n" #~ " * vtN způsob čekání na svislý tabelátor, N je 0–1\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Lokální nastavení:\n" #~ " [-]crterase vypisuje mazací znak (erase) jako backspace-mezera-" #~ "backspace\n" #~ " * crtkill zruší celý řádek podle nastavení echoprt a echoe\n" #~ " * -crtkill zruší celý řádek podle nastavení echoctl a echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho řídící znaky přepisuje v notaci se stříškou („^c“)\n" #~ " [-]echo opisuje vstupní znaky\n" #~ " * [-]echoctl jako [-]ctlecho\n" #~ " [-]echoe jako [-]crterase\n" #~ " [-]echok vypíše znak CR (newline) po znaku „kill“\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke jako [-]crtkill\n" #~ " [-]echonl pokud není vypsán jiný znak, vypíše LF (newline)\n" #~ " * [-]echoprt vypisuje vymazané znaky pozpátku, mezi „\\“ a „/“\n" #~ " [-]icanon povolí speciální znaky erase, kill, werase a rprnt\n" #~ " [-]iexten povolí speciální znaky, které neodpovídají normě POSIX.\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig povolí speciální znaky interrupt, quit a suspend\n" #~ " [-]noflsh zakáže vyprázdnění bufferů po speciálních znacích " #~ "interrupt\n" #~ " a quit\n" #~ " * [-]prterase jako [-]echoprt\n" #~ " * [-]tostop pozastaví procesy na pozadí, které se pokoušejí o zápis\n" #~ " na terminál\n" #~ " * [-]xcase spolu s icanon použije escape sekvenci („\\“) pro velká " #~ "písmena\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Nastavení kombinací:\n" #~ " * [-]LCASE jako [-]lcase\n" #~ " cbreak jako -icanon\n" #~ " -cbreak jako icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked jako brkint ignpar istrip icrnl ixon opost isig\n" #~ " znaky icanon, eof a eol jsou nastaveny na jejich " #~ "implicitní\n" #~ " hodnoty\n" #~ " -cooked jako raw\n" #~ " crt jako echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec jako echoe echoctl echoke -ixany intr ^c erase 0177 kill " #~ "^u\n" #~ " * [-]decctlq jako [-]ixany\n" #~ " ek znaky erase a kill vrátí na jejich implicitní hodnoty\n" #~ " evenp jako parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp jako -parenb cs8\n" #~ " * [-]lcase jako xcase iuclc olcuc\n" #~ " litout jako -parenb -istrip -opost cs8\n" #~ " -litout jako parenb istrip opost cs7\n" #~ " nl jako -icrnl -onlcr\n" #~ " -nl jako icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp jako parenb parodd cs7\n" #~ " -oddp jako -parenb cs8\n" #~ " [-]parity jako [-]evenp\n" #~ " pass8 jako -parenb -istrip cs8\n" #~ " -pass8 jako parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw jako -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw jako cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane jako cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, všechny " #~ "speciální\n" #~ " znaky vrátí na jejich implicitní hodnoty.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Pracuje s linkou tty připojenou ke standardnímu vstupu. Bez argumentů\n" #~ "vypíše rychlost, linkovou disciplínu a odchylky od nastavení „sane“. Při\n" #~ "nastavování je ZNAK brán doslova nebo kódován jak při ^c, 0x37, 0177 " #~ "nebo\n" #~ "127; speciální hodnoty ^- nebo „undef“ jsou použity pro zákaz " #~ "speciálních\n" #~ "znaků.\n" #~ msgid "only one device may be specified" #~ msgstr "pouze jedno zařízení může být zadáno" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "přepínače pro upovídaný a stty čitelný styl výstupu se vzájemně vylučují" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "při zadávání výstupního stylu, nemohou být nastavovány režimy" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: neblokovací mód souboru nelze zrušit" #~ msgid "invalid argument %s" #~ msgstr "argument %s je neplatný" #~ msgid "missing argument to %s" #~ msgstr "postrádám argument pro %s" #~ msgid "invalid line discipline %s" #~ msgstr "chybná linková disciplína %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: všechny požadované operace nelze provést" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: práva\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: pro toto zařízení neexistuje informace o velikosti" #~ msgid "invalid integer argument %s" #~ msgstr "chybná celočíselný argument %s" #~ msgid "Password:" #~ msgstr "Heslo:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: /dev/tty nelze otevřít" #~ msgid "cannot set groups" #~ msgstr "nelze nastavit skupiny" #~ msgid "cannot set group id" #~ msgstr "nelze nastavit ID skupiny" #~ msgid "cannot set user id" #~ msgstr "nelze nastavit ID uživatele" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [-] [UŽIVATEL [ARG]…]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Mění efektivní číslo uživatele a skupiny na daného UŽIVATELE.\n" #~ "\n" #~ " -, -l, --login učiní shell přihlašovacím shellem\n" #~ " -c, --command=PŘÍKAZ předá jeden PŘÍKAZ shellu pomocí -c\n" #~ " -f, --fast předá shellu -f (pro csh nebo tcsh)\n" #~ " -m, --preserve-environment nemaže proměnné prostředí\n" #~ " -p jako -m\n" #~ " -s, --shell=SHELL použije SHELL (pokud to povoluje /etc/" #~ "shells)\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Je-li zadáno pouze „-“, znamená to „-l“. Pokud uživatel není zadán,\n" #~ "předpokládá se uživatel root.\n" #~ msgid "user %s does not exist" #~ msgstr "uživatel %s neexistuje" #~ msgid "incorrect password" #~ msgstr "chybné heslo" #~ msgid "using restricted shell %s" #~ msgstr "používán omezený (restricted) shell %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "varování: nelze vejít do adresáře %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Ke každému SOUBORU vypíše kontrolní součet a počet bloků.\n" #~ "\n" #~ " -r potlačí -s, použije BSD algoritmus a bloky po 1 KB\n" #~ " -s, --sysv použije System V algoritmus a bloky po 512 bajtech\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Donutí pozměněné bloky zapsat na disk, aktualizuje superblok.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "ignoruji všechny argumenty" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "POZNÁMKA: váš shell může mít vlastní verzi nástroje %s, která má\n" #~ "obvykle přednost před verzí popsanou zde. Pro podrobnosti o podpoře\n" #~ "jednotlivých přepínačů nahlédněte do dokumentace vašeho shellu.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help vypíše tuto nápovědu a skončí\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version vypíše označení verze a skončí\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Chyby v programu oznamujte na adrese <%s> (pouze anglicky),\n" #~ "Připomínky k překladu zasílejte na adresu\n" #~ " (česky).\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vypíše každý SOUBOR na standardní výstup. Poslední řádek jako první.\n" #~ "Jestliže SOUBOR nebude zadán nebo bude „-“, bude čten standardní vstup.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before připojí oddělovač řádků před řádky místo za " #~ "ně\n" #~ " -r, --regex interpretuje oddělovač jako regulární výraz\n" #~ " -s, --separator=ŘETĚZEC použije ŘETĚZCE jako oddělovače místo nového " #~ "řádku\n" #~ msgid "%s: seek failed" #~ msgstr "%s: pohyb v souboru selhal" #~ msgid "record too large" #~ msgstr "záznam je příliš dlouhý" #~ msgid "cannot create temporary file %s" #~ msgstr "nelze vytvořit dočasný soubor %s" #~ msgid "cannot open %s for writing" #~ msgstr "%s nelze otevřít pro zápis" #~ msgid "%s: write error" #~ msgstr "%s: chyba při zápisu" #~ msgid "separator cannot be empty" #~ msgstr "oddělovač nemůže být prázdný" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vypíše posledních %d řádků každého souboru na standardní výstup. S více " #~ "jak\n" #~ "jedním SOUBOREM bude před vypsáním každého uvedena hlavička obsahující " #~ "jeho\n" #~ "jméno. Jestliže SOUBOR nebude zadán nebo bude „-“, bude čten standardní " #~ "vstup.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry bude zkoušet otevřít soubor dokonce, i když\n" #~ " bude nedostupný v okamžiku spuštění tailu " #~ "nebo\n" #~ " jestliže se stane nedostupným později; " #~ "užitečné\n" #~ " při sledovaní podle jména (--folow=name)\n" #~ " -c, --bytes=N vypíše posledních N bajtů;\n" #~ " pro výpis od N. bajtu lze použít zápis +N\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " vypisuje pouze data přidávaná do souboru\n" #~ " („name“ – sleduje dle jména souboru, \n" #~ " „descriptor“ – dle popisovače souboru)\n" #~ " -f, --follow a --follow=descriptor jsou " #~ "stejné\n" #~ " -F stejné jako --follow=name --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N vypíše posledních N řádků místo posledních %" #~ "d;\n" #~ " nebo použijte +N pro výpis od N. řádku\n" #~ " --max-unchanged-stats=N\n" #~ " dohromady s --follow=name znovuotevře SOUBOR,\n" #~ " jestliže se jeho velikost během posledních N\n" #~ " (implicitně %d) iterací nezměnila, aby se " #~ "podíval,\n" #~ " zda nebyl soubor smazán, nebo přejmenován " #~ "(obvyklé\n" #~ " při rotaci log souborů). \n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID s -f se ukončí, když proces s číslem PID " #~ "skončí\n" #~ " -q, --quiet, --silent nevypisuje názvy souborů\n" #~ " -s, --sleep-interval=S spolu s -f čeká asi S sekund mezi testováním,\n" #~ " zda něco nepřibylo (implicitně 1,0)\n" #~ " -v, --verbose vždy vypisuje názvy souborů\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Jestliže je první znak N (počet bajtů nebo řádků) „+“, začne vypisovat " #~ "od\n" #~ "N. položky od začátku každého souboru. Jinak vypisuje posledních N " #~ "položek\n" #~ "souboru. N může mít násobnou příponu (přípona – násobek): \n" #~ "b – 512, kB – 1000, K – 1024, MB – 1000*1000, M – 1024*1024,\n" #~ "GB – 1000*1000*1000, G – 1024*1024*1024 a tak dále pro T, P, E, Z, Y.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "S --follow (-f) tail sleduje popisovač souboru, což znamená, že i když\n" #~ "bude sledovaný soubor přejmenován, tail bude sledovat tento přejmenovaný\n" #~ "soubor. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Toto implicitní chování není žádoucí, jestliže chcete sledovat aktuální\n" #~ "soubor pod daným jménem a ne popisovač souboru (například rotace logů).\n" #~ "V tomto případě použijte --follow=name. To způsobí, že tail bude " #~ "sledovat\n" #~ "soubor daného jména s periodickým znovuotevíráním, aby zjistil, zda byl \n" #~ "soubor smazán a znovuvytvořen nějakým jiným programem.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "uzavírání %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: nelze se přesunout na relativní pozici %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "" #~ "%s nelze se přesunout na pozici %s zadanou vzhledem ke konci souboru" #~ msgid "%s has become inaccessible" #~ msgstr "%s se stal nedostupným" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "soubor %s byl nahrazen nesledovatelným; s tímto jménem končím" #~ msgid "%s has become accessible" #~ msgstr "%s se stal znovu dostupným" #~ msgid "%s has appeared; following end of new file" #~ msgstr "soubor %s se objevil, sledování konce nového souboru pokračuje" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "" #~ "soubor %s byl nahrazen jiným, sledování konce nového souboru pokračuje." #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: neblokující režim nelze změnit" #~ msgid "%s: file truncated" #~ msgstr "%s: soubor byl zkrácen" #~ msgid "no files remaining" #~ msgstr "již nezbývají žádné soubory" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "%s: nelze sledovat konec souboru tohoto typu; sledování ukončeno" #~ msgid "number in %s is too large" #~ msgstr "počet v %s je příliš velký" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: neplatné číslo maximálního počtu nezměněných výsledků funkce stat\n" #~ "mezi otevřeními" #~ msgid "%s: invalid PID" #~ msgstr "%s: neplatný PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: neplatný počet sekund" #~ msgid "option used in invalid context -- %c" #~ msgstr "přepínač použit v chybném kontextu  – %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "varování: --retry je užitečný pouze v případě sledovaní dle jména" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "varování: PID ignorován; --pid=PID je užitečný pouze v případě sledování " #~ "konce" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "varování: --pid=PID není na tomto systému podporován" #~ msgid "cannot follow %s by name" #~ msgstr "%s nelze sledovat podle jména" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "varování: sledování standardního vstupu je určitě neefektivní" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Kopíruje standardní vstup do každého SOUBORU a také na standardní " #~ "výstup.\n" #~ "\n" #~ " -a, --append připojí k daným SOUBORŮM, nepřepisuje je\n" #~ " -i, --ignore-interrupts ignoruje signál „interrupt“\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Je-li SOUBOR „-“, kopíruje opět na standardní výstup.\n" #~ msgid "missing argument after %s" #~ msgstr "za %s postrádám argument" #~ msgid "invalid integer %s" #~ msgstr "neplatné celé číslo %s" #~ msgid "')' expected" #~ msgstr "očekávána „)“" #~ msgid "')' expected, found %s" #~ msgstr "očekávána „)“, nalezeno %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: očekáván unární operátor" #~ msgid "-nt does not accept -l" #~ msgstr "k přepínači -nt nemůže být uveden přepínač -l" #~ msgid "-ef does not accept -l" #~ msgstr "k přepínači -ef nemůže být uveden přepínač -l" #~ msgid "-ot does not accept -l" #~ msgstr "k přepínači -ot nemůže být uveden přepínač -l" #~ msgid "unknown binary operator" #~ msgstr "neznámý binární operátor" #~ msgid "%s: binary operator expected" #~ msgstr "%s: očekáván binární operátor" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Použití: test VÝRAZ\n" #~ " nebo: test\n" #~ " nebo: [ VÝRAZ ]\n" #~ " nebo: [ ]\n" #~ " nebo: [ OPTION\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Ukončí se s návratovým kódem určeným VÝRAZEM.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Vynechaný VÝRAZ značí nepravdu. Jinak VÝRAZ je pravda nebo nepravda\n" #~ "a nastavuje návratový kód. VÝRAZ je jedním z:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( VÝRAZ ) VÝRAZ je pravdivý\n" #~ " ! VÝRAZ VÝRAZ je nepravdivý\n" #~ " VÝRAZ1 -a VÝRAZ2 VÝRAZ1 i VÝRAZ2 jsou pravdivé\n" #~ " VÝRAZ1 -o VÝRAZ2 VÝRAZ1 nebo VÝRAZ2 je pravdivý\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n ŘETĚZEC délka ŘETĚZCE je nenulová\n" #~ " ŘETĚZEC stejné jako -n ŘETĚZEC\n" #~ " -z ŘETĚZEC délka ŘETĚZCE je nulová\n" #~ " ŘETĚZEC1 = ŘETĚZEC2 řetězce jsou shodné\n" #~ " ŘETĚZEC1 != ŘETĚZEC2 řetězce se neshodují\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " CELÉ_ČÍSLO1 -eq CELÉ_ČÍSLO2 CELÉ_ČÍSLO1 je rovno CELÉMU_ČÍSLU2\n" #~ " CELÉ_ČÍSLO1 -ge CELÉ_ČÍSLO2 CELÉ_ČÍSLO1 je větší nebo rovno " #~ "CELÉMU_ČÍSLU2\n" #~ " CELÉ_ČÍSLO1 -gt CELÉ_ČÍSLO2 CELÉ_ČÍSLO1 je větší než CELÉ_ČÍSLO2\n" #~ " CELÉ_ČÍSLO1 -le CELÉ_ČÍSLO2 CELÉ_ČÍSLO1 je menší nebo rovno " #~ "CELÉMU_ČÍSLU2\n" #~ " CELÉ_ČÍSLO1 -lt CELÉ_ČÍSLO2 CELÉ_ČÍSLO1 je menší než CELÉ_ČÍSLO2\n" #~ " CELÉ_ČÍSLO1 -ne CELÉ_ČÍSLO2 CELÉ_ČÍSLO1 není rovno CELÉMU_ČÍSLU2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " SOUBOR1 -ef SOUBOR2 SOUBOR1 a SOUBOR2 jsou na stejném zařízení a " #~ "mají\n" #~ " stejný i-uzel\n" #~ " SOUBOR1 -nt SOUBOR2 SOUBOR1 je novější (datum změny obsahu) než " #~ "SOUBOR2\n" #~ " SOUBOR1 -ot SOUBOR2 SOUBOR1 je starší než SOUBOR2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b SOUBOR SOUBOR existuje a je speciální blokový\n" #~ " -c SOUBOR SOUBOR existuje a je speciální znakový\n" #~ " -d SOUBOR SOUBOR existuje a je to adresář\n" #~ " -e SOUBOR SOUBOR existuje\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f SOUBOR SOUBOR existuje a je to obyčejný soubor (ne adresář)\n" #~ " -g SOUBOR SOUBOR existuje a má nastaven sgid bit\n" #~ " -G SOUBOR SOUBOR existuje a je vlastněn aktuálním efektivním GID\n" #~ " -h SOUBOR SOUBOR existuje a je to symbolický odkaz (stejné jako -" #~ "L)\n" #~ " -k SOUBOR SOUBOR existuje a má nastaven „sticky“ bit\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L SOUBOR SOUBOR existuje a je symbolický odkaz (stejné jako -h)\n" #~ " -O SOUBOR SOUBOR existuje a je vlastněn aktuálním efektivním UID\n" #~ " -p SOUBOR SOUBOR existuje a je pojmenovaná roura\n" #~ " -r SOUBOR SOUBOR existuje a je čitelný\n" #~ " -s SOUBOR SOUBOR existuje a má délku větší než nula\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S SOUBOR SOUBOR existuje a je socket\n" #~ " -t FD SOUBOR s deskriptorem FD je otevřen na terminálu\n" #~ " -u SOUBOR SOUBOR existuje a má nastaven suid bit\n" #~ " -w SOUBOR SOUBOR existuje a lze do něj zapisovat\n" #~ " -x SOUBOR SOUBOR existuje a je spustitelný (nebo vstoupitelný " #~ "adresář)\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Vyjma -h a -L všechny souborové testy následují symbolické odkazy.\n" #~ "Dejte pozor na závorky, které musí být v shellu označeny (např. zpětnými\n" #~ "lomítky). CELÉ_ČÍSLO také může být -l ŘETĚZEC, který je vyhodnocen jako\n" #~ "délka řetězce.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "POZNÁMKA: Na rozdíl od test, [ přepínače --help a --version zpracovává.\n" #~ "test je považuje za neprázdný ŘETĚZEC jako jakýkoliv jiný.\n" #~ msgid "test and/or [" #~ msgstr "test a/nebo [" #~ msgid "missing `]'" #~ msgstr "očekávána „]“" #~ msgid "extra argument %s" #~ msgstr "nadbytečný argumentů %s" #~ msgid "creating %s" #~ msgstr "vytvářím %s" #~ msgid "cannot touch %s" #~ msgstr "nelze se dotknout (provést příkaz „touch“) %s" #~ msgid "setting times of %s" #~ msgstr "zachování časů souboru %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Nastaví čas posledního přístupu a poslední změny obsahu každého zadaného\n" #~ "SOUBORU na aktuální čas.\n" #~ "\n" #~ "SOUBOR, který neexistuje, bude vytvořen.\n" #~ "\n" #~ "Argument SOUBOR s hodnotou „-“ bude ošetřen zvláštně: změna časů se " #~ "dotkne\n" #~ "souboru spojeného se standardním výstupem.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a změní pouze čas posledního přístupu\n" #~ " -c, --no-create nevytvoří nové soubory\n" #~ " -d, --date=ŘETĚZEC analyzuje ŘETĚZEC a použije ho místo aktuálního " #~ "času\n" #~ " -f (ignorován)\n" #~ " -m změní pouze čas poslední změny obsahu souboru\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=SOUBOR\n" #~ " použije časy SOUBORU místo aktuálního času\n" #~ " -t ČAS použije [[SS]RR]MMDDhhmm[.ss] místo aktuálního " #~ "času\n" #~ " --time=SLOVO nastaví čas zadaný SLOVEM: \n" #~ " „access“, „atime“, „use“ (jako -a)\n" #~ " „modify“, „mtime“ (jako -m)\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Vezměte na vědomí, že formáty časů pro přepínače -d a -t jsou různé.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "čas nelze určit více jak jedním zdrojem" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "varování: „touch %s“ je zastaralý, použijte „touch -t %04ld%02d%02d%02d%" #~ "02d.%02d“" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… MNOŽINA1 [MNOŽINA2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Nahrazuje, sráží a/nebo maže znaky ze standardního vstupu, výsledek\n" #~ "zapisuje na standardní výstup.\n" #~ "\n" #~ " -c, -C, --complement napřed vytvoří doplněk MNOŽINY1\n" #~ " -d, --delete pouze maže znaky z MNOŽINY1, nenahrazuje\n" #~ " -s, --squeeze-repeats nahradí sekvence opakujících se znaků " #~ "z MNOŽINY1\n" #~ " pouze jedním znakem\n" #~ " -t, --truncate-set1 napřed zkrátí MNOŽINU1 na délku MNOŽINY2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "MNOŽINY jsou zadány jako řetězce znaků. Většina znaků reprezentuje je " #~ "samé,\n" #~ "speciální význam mají tyto sekvence:\n" #~ "\n" #~ " \\NNN znak o hodnotě NNN (1 až 3 osmičkové číslice)\n" #~ " \\\\ zpětné lomítko\n" #~ " \\a znak BEL (pípnutí)\n" #~ " \\b backspace\n" #~ " \\f nová strana (form feed)\n" #~ " \\n nový řádek (line feed)\n" #~ " \\r návrat vozíku (return)\n" #~ " \\t vodorovný tabelátor\n" #~ " \\v svislý tabelátor\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v svislý tabelátor\n" #~ " ZNAK1–ZNAK2 všechny znaky od ZNAKU1 do ZNAKU2 vzestupně\n" #~ " [ZNAK*] v MNOŽINĚ2 kopíruje ZNAK tolikrát, aby byla MNOŽINA2 " #~ "stejně\n" #~ " dlouhá jako MNOŽINA1\n" #~ " [ZNAK*KOLIKRÁT] KOLIKRÁT kopií ZNAKU, osmičkově když začíná číslicí 0\n" #~ " [:alnum:] všechna písmena a číslice\n" #~ " [:alpha:] všechna písmena\n" #~ " [:blank:] všechny vodorovné mezery\n" #~ " [:cntrl:] všechny řídící znaky\n" #~ " [:digit:] všechny číslice\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] všechny tisknutelné znaky bez mezer\n" #~ " [:lower:] všechna malá písmena\n" #~ " [:print:] všechny tisknutelné znaky včetně mezer\n" #~ " [:punct:] všechny interpunkční znaky\n" #~ " [:space:] všechny vodorovné a svislé mezery\n" #~ " [:upper:] všechna velká písmena\n" #~ " [:xdigit:] všechny šestnáctkové číslice\n" #~ " [=ZNAK=] všechny znaky rovnocenné se ZNAKEM\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Nahrazení nastane, jestliže není zadán přepínač -d a jsou zadány obě\n" #~ "množiny. -t může být použito pouze při nahrazování. V případě potřeby je\n" #~ "MNOŽINA2 rozšířena na délku MNOŽINY1 opakováním posledního znaku. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Přebytečné\n" #~ "znaky MNOŽINY2 jsou ignorovány. Pouze u [:lower:] a [:upper:] je " #~ "zaručeno,\n" #~ "že budou rozepsány vzestupně; při použití v MNOŽINĚ2 při nahrazování " #~ "mohou být\n" #~ "používány pouze v párech pro změnu velikosti písmen. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s používá MNOŽINU1\n" #~ "pokud se nenahrazuje, ani nemaže, Jinak srážení používá MNOŽINU2 a je\n" #~ "vykonáno až po nahrazení a mazání.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "varování: nejednoznačný osmičkový zápis \\%c%c%c bude\n" #~ "\tinterpretován jako 2bajtová sekvence \\0%c%c, %c" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "varování: samotné zpětné lomítko na konci řetězce není přenositelné" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "konce rozsahu „%s-%s“ jsou v obráceném pořadí" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "chybný čítač opakování %s v konstrukci [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "postrádám název třídy znaků „[::]“" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "postrádám znak třídy ekvivalence „[==]“" #~ msgid "invalid character class %s" #~ msgstr "chybná třída znaku %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: operand ve třídě [=c=] musí být jediný znak" #~ msgid "too many characters in set" #~ msgstr "v množině je příliš mnoho znaků" # should it be string1 or SET1? #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "zadání opakování [c*] nemůže být v MNOŽINĚ1" # string2 or SET2? #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "opakování znaku [c*] může být v MNOŽINĚ2 pouze jednou" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "výraz [=c=] nemůže být v MNOŽINĚ2 při nahrazování" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "jestliže MNOŽINA1 není zkracována, pak MNOŽINA2 nesmí být prázdná" # ? - rzm #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "při nahrazování s doplňkem množiny znaků, MNOŽINA2 musí mapovat všechny\n" #~ "znaky z této oblasti do jednoho" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "při nahrazování mohou být v MNOŽINĚ2 pouze třídy znaků [:upper:]\n" #~ "a [:lower:]" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "výraz [c*] může být v MNOŽINĚ2 pouze při nahrazování" #~ msgid "Two strings must be given when translating." #~ msgstr "Při nahrazování musí být zadány dva řetězce" #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Pouze jeden řetězec smí být zadán při mazání bez srážení opakujících se " #~ "znaků" # ? - rzm #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "nezarovnané(á) konstrukce [:upper:] a/nebo [:lower:]" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s [argumenty z příkazové řádky jsou ignorovány]\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Skončí s návratovým kódem značícím úspěch." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ] [SOUBOR]\n" #~ "Výstupem je úplně uspořádaný seznam v souladu s částečným uspořádáním ze\n" #~ "SOUBORU. Jestliže není SOUBOR zadán, nebo je „-“, bude čten standardní " #~ "vstup.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: vstup obsahuje lichý počet položek" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: vstup obsahuje cyklus:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]…\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Vypíše jméno souboru terminálu připojeného na standardní vstup.\n" #~ "\n" #~ " -s, --silent, --quiet potlačí výstup a vrátí pouze návratový kód.\n" #~ msgid "not a tty" #~ msgstr "není tty" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Vypíše některé informace o systému. Není-li zadán žádný přepínač, výpis " #~ "je\n" #~ "stejný jako s přepínačem -s.\n" #~ "\n" #~ " -a, --all vypíše všechny informace v následujícím " #~ "pořadí\n" #~ " kromě -p a -i, které vynechá, nejsou-li " #~ "známy:\n" #~ " -s, --kernel-name vypíše jméno jádra\n" #~ " -n, --nodename vypíše jméno počítače v síti\n" #~ " -r, --kernel-release vypíše označení vydání jádra (číslo) " #~ "[release]\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version vypíše verzi jádra (datum kompilace)\n" #~ " -m, --machine vypíše typ počítače (hardware)\n" #~ " -p, --processor vypíše typ procesoru nebo „unknown“ (neznámý)\n" #~ " -i, --hardware-platform vypíše hardwarovou platformu nebo " #~ "„unknown“ (neznámá)\n" #~ " -o, --operating-system vypíše označení operačního systému\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Vypíše architekturu stroje.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "nelze zjistit název systému" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "V každém SOUBORU převádí mezery na tabelátory a výsledek vypisuje\n" #~ "na standardní výstup. Nebude-li SOUBOR zadán nebo bude-li „-“, bude čten\n" #~ "standardní vstup.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all převádí všechny mezery místo pouze úvodních\n" #~ " --first-only převádí pouze úvodní sekvence mezer (přebije -a)\n" #~ " -t, --tabs=POČET nastaví tabelátor na POČET mezer místo 8, (zapne -" #~ "a)\n" #~ " -t, --tabs=SEZNAM použije čárkami oddělený seznam pro pozice " #~ "tabelátorů\n" #~ " (zapne -a)\n" #~ msgid "tabs are too far apart" #~ msgstr "tabelátory od jsou od sebe příliš vzdálené" #~ msgid "tab stop value is too large" #~ msgstr "velikost tabelátoru je příliš velká" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [VSTUP [VÝSTUP]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Ze všech po sobě jdoucích stejných vstupních řádků vypíše na výstup vždy\n" #~ "pouze jeden. Implicitně je jako VSTUP brán standardní vstup a jako " #~ "VÝSTUP\n" #~ "standardní výstup.\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count před každý řádek vloží počet výskytů\n" #~ " -d, --repeated vypisuje pouze opakující se řádky\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=ZPŮSOB_ODDĚLENÍ]\n" #~ " vypisuje všechny opakující se řádky; " #~ "ZPŮSOB_ODDĚLENÍ:\n" #~ " „none“ (žádný, implicitní), " #~ "„prepend“ (uvozující),\n" #~ " „separate“ (oddělující); Odděluje se prázdným " #~ "řádkem.\n" #~ " -f, --skip-fields=N neporovnává prvních N položek\n" #~ " -i, --ignore-case ignoruje rozdíl mezi malými a velkými písmeny\n" #~ " -s, --skip-chars=N neporovnává prvních N znaků\n" #~ " -u, --unique vypisuje pouze neopakující se řádky\n" #~ " -z, --zero-terminated\n" #~ " řádky zakončuje nulovým bajtem, ne znakem nového " #~ "řádku\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N porovnává nejvýše N prvních znaků každého řádku\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Jako položka je chápán sled bílých znaků následovaných nebílými znaky.\n" #~ "Položky jsou před znaky přeskakovány.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Poznámka: „uniq“ nepozná opakující se řádky, pokud spolu nesousedí. " #~ "Možná\n" #~ "budete chtít vstup nejprve seřadit nebo použít „sort -u“ bez „uniq“.\n" #~ msgid "too many repeated lines" #~ msgstr "příliš mnoho opakujících se řádků" #~ msgid "invalid number of fields to skip" #~ msgstr "chybný počet položek na přeskočení" # bytes to skip? we were talking about chars? - rzm #~ msgid "invalid number of bytes to skip" #~ msgstr "chybný počet bajtů na přeskočení" #~ msgid "invalid number of bytes to compare" #~ msgstr "chybný počet bajtů pro porovnání" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "výpis všech opakujících se řádků a počítadla opakování nemá smysl" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s SOUBOR\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "Odstraní zadaný SOUBOR voláním služby „unlink“ (odstranit odkaz).\n" #~ msgid "cannot unlink %s" #~ msgstr "nelze odstranit odkaz %s" #~ msgid "couldn't get boot time" #~ msgstr "čas startu OS nelze zjistit" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d %s běží " #~ msgid "am" #~ msgstr "ráno" #~ msgid "pm" #~ msgstr "večer" #~ msgid " ??:???? up " #~ msgstr " ??:???? běží " #~ msgid "???? days ??:??, " #~ msgstr "???? dnů ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld den" #~ msgstr[1] "%ld dny" #~ msgstr[2] "%ld dnů" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu uživatel" #~ msgstr[1] "%lu uživatelé" #~ msgstr[2] "%lu uživatelů" #~ msgid ", load average: %.2f" #~ msgstr ", průměrná zátěž: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [SOUBOR]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Vypíše aktuální čas, čas po který je systém v provozu, počet uživatelů\n" #~ "přihlášených v systému a průměrný počet procesů čekajících ve frontě\n" #~ "na zpracování během posledních 1, 5 a 15 minut. \n" #~ "Pokud není SOUBOR zadán, použije se %s. Zadání %s jako SOUBORU je " #~ "obvyklé.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Vypíše právě přihlášené uživatele. Informace jsou brány ze SOUBORU.\n" #~ "Pokud není SOUBOR zadán, použije se %s. Zadání %s\n" #~ "jako SOUBORU je obvyklé.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Ke každému SOUBORU vypíše počet řádků, slov a bajtů. Bude-li zadán více\n" #~ "než jeden SOUBOR, vypíše i celkové údaje. Jestliže SOUBOR nebude zadán " #~ "nebo\n" #~ "bude „-“, bude čten standardní vstup.\n" #~ " -c, --bytes vypíše počet bajtů\n" #~ " -m, --chars vypíše počet znaků\n" #~ " -l, --lines vypíše počet řádků (resp. výskytů znaku nový " #~ "řádek)\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=S zpracuje obsah souborů, jejichž jména oddělená\n" #~ " znakem NULL jsou uvedena v souboru S\n" #~ " -L, --max-line-length vypíše délku nejdelšího řádku\n" #~ " -w, --words vypíše počet slov\n" #~ msgid " old " #~ msgstr "starý" #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "signál=" #~ msgid "exit=" #~ msgstr "návkód=" #~ msgid "clock change" #~ msgstr "změna času" #~ msgid "run-level" #~ msgstr "úroveň běhu" #~ msgid "last=" #~ msgstr "minulá=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "počet uživatelů=%lu\n" # FIXME: who.c:print_line() is not wide character aware. Striping non ASCII # chars. This bug has been reported to . #~ msgid "NAME" #~ msgstr "JMENO" #~ msgid "LINE" #~ msgstr "TERMINAL" #~ msgid "TIME" #~ msgstr "CAS" #~ msgid "IDLE" #~ msgstr "ZAHALI" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "KOMENTAR" #~ msgid "EXIT" #~ msgstr "UKONCENI" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]… [SOUBOR | ARG1 ARG2]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all stejné jako -b -d --login -p -r -t -T -u\n" #~ " -b, --boot čas posledního startu systému\n" #~ " -d, --dead vypíše mrtvé procesy\n" #~ " -H, --heading vypíše názvy jednotlivých sloupců\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr "" #~ " -l, --login vypíše procesy zajišťující přihlášení do systému " #~ "(login)\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup pokusí se získat kanonická jména počítačů z DNS\n" #~ " -m pouze počítače a uživatele připojené ke standardnímu " #~ "vstupu\n" #~ " -p, --process vypíše aktivní procesy obnovené initem\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count všechna přihlašovací jména a počet přihlášených " #~ "uživatelů\n" #~ " -r, --runlevel vypíše současnou úroveň běhu systému (runlevel)\n" #~ " -s vypíše pouze jméno, terminál a čas (implicitní)\n" #~ " -t, --time vypíše poslední změnu času\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg připojí stav možnosti posílat zprávy (+, - nebo ?)\n" #~ " -u, --users vypíše seznam přihlášených uživatelů\n" #~ " --message jako -T\n" #~ " --writable jako -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Pokud SOUBOR nebude zadán, použije se %s. Jako SOUBOR je obvyklý\n" #~ "%s. Je-li zadán ARG1 ARG2, předpokládá se přepínač -m: obvyklé je\n" #~ "„am i“ (kdo „jsem já“) nebo „mom likes“ (koho „maminka miluje“).\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Vypíše jméno uživatele příslušející aktuálnímu efektivnímu UID. Stejné " #~ "jako\n" #~ "příkaz id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: jméno uživatele pro UID %lu nelze najít\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použití: %s [ŘETĚZEC]…\n" #~ " nebo: %s PŘEPÍNAČ\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Opakovaně vypisuje řádku se zadanými ŘETĚZCI nebo s „y“.\n" #~ "\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "neznámý operand %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " vypíše adresáře před soubory\n" #~ msgid "block size" #~ msgstr "velikost bloku" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License .\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Tento program je volné programové vybavení. Jeho kopie můžete šířit " #~ "podle\n" #~ "ustanovení Obecné veřejné licence GNU .\n" #~ "Program je šířen BEZ JAKÉKOLI ZÁRUKY, jak jen zákon dovoluje.\n" #~ "\n" #~ msgid "invalid %s `%s'" #~ msgstr "neplatný(á/é) %s „%s“" #~ msgid "invalid character following %s in `%s'" #~ msgstr "neplatný znak následující za %s v „%s“" #~ msgid "%s `%s' too large" #~ msgstr "%s „%s“ je příliš dlouhý" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "přepínač --kilobytes je zastaralý; používejte -k" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N může mít násobící příponu: b pro 512, k pro 1024, m pro 1024*1024.\n" #~ msgid "cannot print only user and only group" #~ msgstr "nemůžete vynechat jak uživatele tak skupinu" #~ msgid "cannot get supplemental group list" #~ msgstr "seznam doplňkových skupin nelze získat" #~ msgid "skip argument" #~ msgstr "přeskakuji argument" #~ msgid "limit argument" #~ msgstr "argument ořezán" #~ msgid "minimum string length" #~ msgstr "minimální délka řetězce" #~ msgid "width specification" #~ msgstr "specifikace šířky" #~ msgid "page range" #~ msgstr "rozsah stran" #~ msgid "the --copyright option is deprecated; use --version instead" #~ msgstr "Přepínač --copyright je zastaralý, použijte --version" #~ msgid "sort size" #~ msgstr "velikost paměťového bloku pro řazení" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "VELIKOST může mít násobící příponu: b pro 512, k pro 1024, m pro 1 mega.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Nastaví čas posledního přístupu a poslední změny obsahu každého zadaného\n" #~ "SOUBORU na aktuální čas.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "Varování: přepínač -i bude v budoucnu odebrán, použijte -u" #~ msgid "strip failed" #~ msgstr "strip selhal" # src/tail.c:968 #~ msgid "value %s is so large that it is not representable" #~ msgstr "hodnota %s je příliš velká, proto ji nelze vnitřně popsat" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "vlastníka a/nebo skupinu %s nelze změnit" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "k UID nelze zjistit přihlašovací skupinu" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ " Toto je volné programové vybavení; podmínky pro kopírování a " #~ "rozšiřování\n" #~ "naleznete ve zdrojových textech. Toto programové vybavení je zcela BEZ " #~ "ZÁRUKY,\n" #~ "a to i bez záruky PRODEJNOSTI nebo VHODNOSTI PRO NĚJAKÝ KONKRÉTNÍ ÚČEL.\n" #~ msgid "too few arguments" #~ msgstr "příliš málo argumentů" #~ msgid "group number" #~ msgstr "číslo skupiny" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Použití: %s [PŘEPÍNAČ]... LEVÝ_SOUBOR PRAVÝ_SOUBOR\n" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "varování: --version-control (-V) je zastaralý; podpora přepínače bude\n" #~ "v některé z dalších verzí odstraněna. Raději použijte --backup=%s." #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: po oddělovači je očekáváno `+' nebo `-'" #~ msgid "undefined" #~ msgstr "nedefinováno" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s vstoupivších záznamů\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s vystoupivších záznamů\n" #~ msgid "truncated records" #~ msgstr "zkrácené záznamy" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "může být použit vždy pouze jeden z {ascii,ebcdic,ibm}, {lcase,ucase},\n" #~ "{block,unblock}, {unblock,sync}" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "s přepínačem pro výpis vnitřní databáze 'dircolors' nemůže\n" #~ "být použit argument pro soubor" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "upozornění: nepřenositelné : '%s': použití '^' jako prvního znaku\n" #~ "základního regulárního výrazu není přenositelné; bude ignorováno" #~ msgid "unrecognized option `-%c'" #~ msgstr "neznámý přepínač `-%c'" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "chybné číslo položky pro soubor 1: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "chybné číslo položky pro soubor 2: `%s'" #~ msgid "too many non-option arguments" #~ msgstr "příliš mnoho argumentů, které nejsou přepínači" #~ msgid "too few non-option arguments" #~ msgstr "příliš málo argumentů, které nejsou přepínači" #~ msgid "%s: File exists" #~ msgstr "%s: Soubor existuje" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "při vytváření více odkazů, musí být poslední argument adresář" # in Genitive - rzm #~ msgid "file" #~ msgstr "zadaného souboru" # in Genitive - rzm #~ msgid "files" #~ msgstr "zadaných souborů" #~ msgid "checksum" #~ msgstr "kontrolního součtu" #~ msgid "checksums" #~ msgstr "kontrolních součtů" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "přepínače --string a --check se vzájemně vylučují" #~ msgid "no files may be specified when using --string" #~ msgstr "při použití přepínače --string nemohou být zadány soubory" #~ msgid "only one argument may be specified when using --check" #~ msgstr "pouze jeden argument může být zadán při užití přepínače --check" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "pro roury nesmí být hlavní a vedlejší číslo zařízení zadáno" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "při přemísťování více souborů, musí být poslední argument adresář" #~ msgid "old-style offset" #~ msgstr "posunutí ve starém stylu" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "chybný druhý argument '%s' ve starém formátu" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "v kompatibilním módu musí být poslední dva argumenty posuny" #~ msgid "directory `%s' is not searchable" #~ msgstr "adresář '%s' není prohledávatelný" # c-format #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' chybný rozsah čísel stránek: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' chybné číslo počáteční stránky: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' chybné číslo koncové stránky: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' číslo počáteční stránky je větší než číslo koncové stránky" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=SLOUPCŮ' neplatný počet sloupců: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%e. %b %Y %H.%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "číslo počáteční stránky je větší než číslo koncové stránky: `%d'" #~ msgid "Page %d" #~ msgstr "Strana %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Použití: %s formát [argument...]\n" #~ msgid "cannot remove `.' or `..'" #~ msgstr "`.' nebo `..' nelze smazat" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "pokud je počáteční hodnota větší než koncová,\n" #~ "přírůstek musí být záporný" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "pokud je počáteční hodnota menší než koncová,\n" #~ "přírůstek musí být kladný" #~ msgid "stdin: read error" #~ msgstr "stdin: chyba při čtení" # src/tail.c:938 #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: neplatný znak v zastaralém přepínači" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "příliš mnoho argumentů; Při použití zastaralé syntaxe přepínače %s,\n" #~ "může být uveden pouze jeden souborový argument. Raději použijte\n" #~ "ekvivalentní přepínač -n nebo -c." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Varování: použití dvou nebo více souborových argumentů se zastaralou " #~ "syntaxí\n" #~ "přepínače %s není portabilní. Raději použijte ekvivalentní přepínač\n" #~ "-n nebo -c." #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s je větší než maximální možná velikost souboru v tomto systému" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "" #~ "%s: neplatné číslo maximálního počtu po sobě jdoucích změn velikosti" #~ msgid "argument expected\n" #~ msgstr "očekáván argument\n" #~ msgid "integer expression expected %s\n" #~ msgstr "%s je očekáván výraz typu integer\n" #~ msgid "before -lt" #~ msgstr "před -lt" #~ msgid "after -lt" #~ msgstr "po -lt" #~ msgid "before -le" #~ msgstr "před -le" #~ msgid "after -le" #~ msgstr "po -le" #~ msgid "before -gt" #~ msgstr "před -gt" #~ msgid "after -gt" #~ msgstr "po -gt" #~ msgid "before -ge" #~ msgstr "před -ge" #~ msgid "after -ge" #~ msgstr "po -ge" #~ msgid "before -ne" #~ msgstr "před -ne" #~ msgid "after -ne" #~ msgstr "po -ne" #~ msgid "before -eq" #~ msgstr "před -eq" #~ msgid "after -eq" #~ msgstr "po -eq" #~ msgid "after -t" #~ msgstr "po -t" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "chybný zápis `\\%c'" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "dvě množiny musí být zadány při mazání a komprimaci opakujících se znaků" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "nejméně jedna množina musí být zadána při komprimaci opakujících se znaků" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "nelze identifikovat mapování: při nahrazování, libovolná konstrukce [:" #~ "lower:]\n" #~ "nebo [:upper:] v MNOŽINĚ1 musí být zarovnána s odpovídající konstrukcí\n" #~ "([:upper:] nebo [:lower:]) v MNOŽINĚ2." #~ msgid "only one argument may be specified" #~ msgstr "může být zadán pouze jeden argument" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: jméno uživatele pro UID %u nelze najít\n" #~ msgid "removing all entries of directory %s\n" #~ msgstr "mazání všech položek adresáře `%s'\n" #~ msgid "continue? " #~ msgstr "pokračovat? " #~ msgid " (might be nonempty)" #~ msgstr " (nemusí být prázdný)" #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Mění skupinu zadaných SOUBORŮ na SKUPINU.\n" #~ "\n" #~ " -c, --changes vypíše soubory, jejichž skupina byla změněna\n" #~ " --dereference působí na soubor, na nějž se odkazuje " #~ "symbolický\n" #~ " odkaz\n" #~ " -h, --no-dereference působí na symbolický odkaz místo na soubor,\n" #~ " na který odkaz odkazuje (funguje pouze na " #~ "systémech,\n" #~ " které mohou měnit vlastníky symbolických " #~ "odkazů)\n" #~ " -f, --silent, --quiet potlačí většinu chybových zpráv\n" #~ " --reference=RSOUBOR místo hodnoty SKUPINA použije skupinu souboru " #~ "RSOUBOR\n" #~ " -R, --recursive vykoná se i v podadresářích\n" #~ " -v, --verbose vypíše informaci o každém zpracovávaném " #~ "souboru\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ " Vypíše informace o souborových systémech, ve kterých každý SOUBOR " #~ "leží,\n" #~ "nebo implicitně všech souborových systémech.\n" #~ "\n" #~ " -a, --all také souborové systémy mající 0 bloků\n" #~ " --block-size=VELIKOST použije tuto velikost bloku\n" #~ " -h, --human-readable velikosti ve formátu čitelném pro člověka\n" #~ " (např. 1K 234M 2G)\n" #~ " -H, --si podobně jako předchozí, ale násobky 1000 ne 1024\n" #~ " -i, --inodes výpis informací o i-uzlech místo o blocích\n" #~ " -k, --kilobytes jako --block-size=1024. Implicitně 512 bajtů,\n" #~ " které odpovídají normě POSIX\n" #~ " -l, --local omezení výpisu na lokální souborový systém\n" #~ " -m, --megabytes jako --block-size=1048576. Implicitně 512 bajtů,\n" #~ " které odpovídají normě POSIX\n" #~ " --no-sync nevolá 'sync' před získáním informací " #~ "(implicitní)\n" #~ " -P, --portability použije formát definovaný normou POSIX\n" #~ " --sync zavolá 'sync' před získáním informací\n" #~ " -t, --type=TYP ve výstupu pouze souborové systémy typu TYP\n" #~ " -T, --print-type vypisuje typ souborového systému\n" #~ " -x, --exclude-type=TYP ve výstupu nebudou souborové systémy typu TYP\n" #~ " -v (ignorován)\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ " Sčítá diskový prostor zabraný každým SOUBOREM, pro adresáře i s " #~ "obsahem\n" #~ "podadresářů.\n" #~ "\n" #~ " -a, --all vypíše součet velikosti všech souborů,\n" #~ " ne pouze adresářů\n" #~ " --block-size=VELIKOST použije tuto velikost bloku\n" #~ " -b, --bytes velikosti vypíše v bajtech\n" #~ " -c, --total vypíše i celkový součet\n" #~ " -D, --dereference-args následuje symbolický odkaz, když jako argument " #~ "zadán\n" #~ " -h, --human-readable vypisuje velikosti ve formátu čitelném pro lidi\n" #~ " (např. 1K 234M 2G)\n" #~ " -H, --si jako předchozí, ale jednotky jsou násobkem 1000\n" #~ " -k, --kilobytes jako --block-size=1024\n" #~ " -l, --count-links jestliže jsou soubory pevnými odkazy na jeden " #~ "soubor,\n" #~ " sčítá velikosti, jako by to byly obyčejné " #~ "soubory\n" #~ " -L, --dereference následuje všechny symbolické odkazy\n" #~ " -m, --megabytes jako --block-size=1048576\n" #~ " -S, --separate-dirs nepočítá do velikosti adresářů velikosti jejich\n" #~ " podadresářů\n" #~ " -s, --summarize vypíše pouze celkový součet pro každý argument\n" #~ " -x, --one-file-system přeskočí adresáře na jiných souborových " #~ "systémech\n" #~ " -X SOUBOR, --exclude-from=SOUBOR přeskočí soubory, které vyhovují " #~ "libovolnému\n" #~ " reg.výr. ze souboru SOUBOR\n" #~ " --exclude=REGVÝR přeskočí soubory vyhovující REGVÝR\n" #~ " --max-depth=N vypisuje názvy adresářů a celkové součty pouze\n" #~ " do N-té úrovně adresářů. Argument --max-depth=0\n" #~ " je rovnocenný se --sumarize.\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" # dunno what means `make all components of the given DIRECTORY(ies)' - rzm #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ " V prvních dvou formátech kopírování ZDROJE do CÍLE nebo více ZDROJŮ\n" #~ "do ADRESÁŘE, s nastavením uživatelských práv a uživatele/skupiny. Ve " #~ "třetím\n" #~ "formátu, vytvoření všech komponent zadaného ADRESÁŘE(ů).\n" #~ "\n" #~ " --backup=[TYP] vytvoří záložní kopii před smazáním\n" #~ " -b jako --backup, ale bez argumentu\n" #~ " -c (ignorován)\n" #~ " -d, --directory všechny argumenty jsou brány jako názvy " #~ "adresářů.\n" #~ " Všechny neexistující komponenty těchto adresářů\n" #~ " jsou vytvořeny.\n" #~ " -D vytvoří všechny úvodní komponenty CÍLe, kromě " #~ "poslední\n" #~ " -g, --group=SKUPINA nastaví skupinu souboru na SKUPINU\n" #~ " -m, --mode=PRÁVA nastaví přístupová práva souboru na PRÁVA (zadána " #~ "jako\n" #~ " pro chmod)\n" #~ " -o, --owner=VLASTNÍK nastaví vlastníka souboru (pouze superuživatel - " #~ "root)\n" #~ " -p, --preserve-timestamps časy cílového souboru nastaví tak, jak byly\n" #~ " nastaveny u zdrojového\n" #~ " -s, --strip odstraní tabulky symbolů, pouze 1 a 2 formát\n" #~ " -S, --suffix=PŘÍPONA nastaví novou příponu záložních souborů\n" #~ " -v, --verbose vypisuje jména všech vytvářených adresářů\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ " Tvoří odkaz na zadaný CÍL s volitelným NÁZVEM_ODKAZU. Jestliže " #~ "NÁZEV_ODKAZU\n" #~ "není zadán, je vytvořen odkaz v aktuálním adresáři, se stejným názvem " #~ "jako má\n" #~ "CÍL. Při použití druhé formy s více než jedním CÍLem, poslední argument " #~ "musí\n" #~ "být ADRESÁŘEM; v tomto případě, jsou pak vytvořeny odkazy v adresáři " #~ "ADRESÁŘ na\n" #~ "CÍLe. Implicitně jsou tvořeny pevné odkazy, symbolické pomocí přepínače\n" #~ "--symbolic. Při tvorbě pevného odkazu musí všechny CÍLe existovat.\n" #~ "\n" #~ " --backup=[TYP] vytvoří zálohu každého souboru, který má " #~ "být\n" #~ " odkazem přepsán\n" #~ " -b jako --backup, ale bez argumentu\n" #~ " -d, -F, --directory pevný odkaz na adresář (pouze " #~ "superuživatel)\n" #~ " -f, --force vytváří odkaz i tehdy, existuje-li soubor " #~ "téhož\n" #~ " názvu (soubor bude smazán)\n" #~ " -n, --no-dereference má-li být přepsán symbolický odkaz na " #~ "adresář,\n" #~ " pak jej smaže a vytvoří požadovaný odkaz. " #~ "Pokud\n" #~ " by nebyl tento přepínač zadán, pak by byl " #~ "odkaz\n" #~ " vytvořen v adresáři, na který se odkaz " #~ "odkazuje.\n" #~ " -i, --interactive ptá se, zda smazat již existující soubor\n" #~ " -s, --symbolic tvoří symbolický odkaz místo pevného\n" #~ " -S, --suffix=PŘÍPONA mění obvyklou příponu pro záložní soubory\n" #~ " --target-directory=ADRESÁŘ zadání ADRESÁŘE, ve kterém vytvořit " #~ "odkazy\n" #~ " -v, --verbose před vytvořením odkazu na soubor, vypíše " #~ "název\n" #~ " tohoto souboru\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" #~ "\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ " Nastaví čas posledního přístupu a poslední změny každého zadaného " #~ "SOUBORU\n" #~ "na aktuální čas.\n" #~ "\n" #~ " -a změní pouze čas posledního přístupu\n" #~ " -c, --no-create nevytvoří nové soubory\n" #~ " -d, --date=ŘETĚZEC analyzuje ŘETĚZEC a použije ho místo aktuálního " #~ "času\n" #~ " -f (ignorován)\n" #~ " -m změní pouze čas poslední změny souboru\n" #~ " -r, --reference=SOUBOR použije časy SOUBORU místo aktuálního času\n" #~ " -t ČAS použije [[CC]YY]MMDDhhmm[.ss] místo aktuálního " #~ "času\n" #~ " --time=SLOVO nastaví ČAS zadaný SLOVEM: \n" #~ " access, atime, use (jako -a)\n" #~ " modify, mtime (jako -m)\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" #~ "\n" #~ "Formáty časů pro přepínače -d, -t a pro zastaralou syntaxi jsou různé.\n" #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "při vytváření speciálního znakového zařízení, musí být zadáno hlavní\n" #~ "a vedlejší číslo zařízení" #~ msgid "group of %s changed to %s\n" #~ msgstr "skupina souboru %s změněna na %s\n" #~ msgid "you are not a member of group `%s'" #~ msgstr "nejste členem skupiny `%s'" #~ msgid "owner of %s changed to " #~ msgstr "vlastník souboru %s změněn na " #~ msgid "days" #~ msgstr "dny" #~ msgid "users" #~ msgstr "uživatelé" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ " --help display this help and exit (should be alone)\n" #~ " --version output version information and exit (should be alone)\n" #~ "\n" #~ "Without -E, the following sequences are recognized and interpolated:\n" #~ "\n" #~ " \\NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "Vypíše ŘETĚZEC na standardní výstup.\n" #~ "\n" #~ " -n bez ukončovacího znaku nového řádku\n" #~ " -e povolí interpretaci escape sekvencí začínajících znakem " #~ "\\\n" #~ " a vypsaných níže\n" #~ " -E zakáže interpretaci některých sekvencí v ŘETĚZCI\n" #~ " --help vypíše tuto nápovědu (pouze jako jediný argument)\n" #~ " --version vypíše označení verze (pouze jako jediný argument)\n" #~ "\n" #~ "Pokud není -E zadáno, jsou následující sekvence interpretovány " #~ "následovně:\n" #~ "\n" #~ " \\NNN znak s ascii kódem NNN (osmičkově)\n" #~ " \\\\ zpětné lomítko (backslash)\n" #~ " \\a zvonek (BEL)\n" #~ " \\b backspace\n" #~ " \\c bez ukončení znakem pro nový řádek\n" #~ " \\f znak vysunutí formuláře (form feed)\n" #~ " \\n znak nového řádku\n" #~ " \\r návrat vozíku (carriage return)\n" #~ " \\t horizontální tabelátor\n" #~ " \\v vertikální tabelátor\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\0NNN character with octal value NNN (0 to 3 digits)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " \\xNNN byte with hexadecimal value NNN (1 to 3 digits)\n" #~ "\n" #~ " \\uNNNN character with hexadecimal value NNNN (4 digits)\n" #~ " \\UNNNNNNNN character with hexadecimal value NNNNNNNN (8 digits)\n" #~ " %%%% a single %%\n" #~ " %%b ARGUMENT as a string with `\\' escapes interpreted\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ "Vypíše ARGUMENT(y) určené FORMÁTEM.\n" #~ "\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" #~ "\n" #~ "FORMÁT určuje výstup (jako v jazyce C). Interpretované sekvence jsou:\n" #~ "\n" #~ " \\\" uvozovka\n" #~ " \\0NNN znak s osmičkovou hodnotou NNN (1 až 3 číslice)\n" #~ " \\\\ zpětné lomítko (backslash)\n" #~ " \\a zvonek (BEL)\n" #~ " \\b backspace\n" #~ " \\c žádný další výstup\n" #~ " \\f posun formuláře (form feed)\n" #~ " \\n nový řádek (new line)\n" #~ " \\r návrat vozíku (carriage return)\n" #~ " \\t horizontální tabelátor (horizontal tab)\n" #~ " \\v vertikální tabelátor (vertical tab)\n" #~ " \\xNNN znak s šestnáctkovou hodnotou NNN (1 až 3 číslice)\n" #~ "\n" #~ " \\uNNNN znak s šestnáctkovou hodnotou NNNN (4 číslice)\n" #~ " \\UNNNNNNNN znak s šestnáctkovou hodnotou NNNNNNNN (8 číslic)\n" #~ " %%%% jeden znak 'procenta' (%%)\n" #~ " %%b ARGUMENT jako řetězec, kde jsou interpretovány escape sekvence " #~ "(`\\')\n" #~ "\n" #~ "a všechny specifikace formátu z jazyka C končící jedním znakem z " #~ "diouxXfeEgGcs,\n" #~ "s ARGUMENTY konvertovanými nejprve na odpovídající typ. Šířky proměnných " #~ "jsou\n" #~ "respektovány.\n" #~ msgid "USER" #~ msgstr "UŽIVATEL" #~ msgid "MESG " #~ msgstr "ZPRÁV " #~ msgid "LOGIN-TIME " #~ msgstr "ČAS-PŘIHLÁŠ. " #~ msgid "FROM\n" #~ msgstr "Z\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a SIDE print unpairable lines coming from file SIDE\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD (obsolescent) equivalent to `-1 FIELD -2 FIELD'\n" #~ " -j1 FIELD (obsolescent) equivalent to `-1 FIELD'\n" #~ " -j2 FIELD (obsolescent) equivalent to `-2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `SIDE.FIELD' or `0'. Default FORMAT outputs the join field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ msgstr "" #~ " Pro každý pár vstupních řádků se stejnými propojovacími položkami, " #~ "zapíše\n" #~ "řádek na standardní výstup. Implicitně je propojovací položkou položka " #~ "první\n" #~ "a oddělovač je mezera. Jestliže SOUBOR1 nebo SOUBOR2 bude -, pak tento " #~ "bude\n" #~ "čten ze standardního vstupu.\n" #~ "\n" #~ " -a STRANA vypíše nepárové řádky pocházející ze souboru STRANA\n" #~ " -e PRÁZDN nahradí chybějící vstupní položky znakem PRÁZDN\n" #~ " -i, --ignore-case při porovnávání položek ignoruje rozdíly mezi malými\n" #~ " a velkými písmeny\n" #~ " -j POLOŽKA (zastaralé) rovnocenné s `-1 POLE -2 POLE'\n" #~ " -j1 POLOŽKA (zastaralé) rovnocenné s `-1 POLE'\n" #~ " -j2 POLOŽKA (zastaralé) rovnocenné s `-2 POLE'\n" #~ " -o FORMÁT řídí se FORMÁTEM při tvorbě výstupního řádku\n" #~ " -t ZNAK použije ZNAK jako oddělovač položek na vstupu i " #~ "výstupu.\n" #~ " -v STRANA jako -a STRANA, ale bez spojených řádků.\n" #~ " -1 POLOŽKA spojuje přes tuto POLOŽKU souboru 1\n" #~ " -2 POLOŽKA spojuje přes tuto POLOŽKU souboru 2\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" #~ "\n" #~ " Jestliže přepínač -t ZNAK nebude zadán, jako oddělovač bude použita " #~ "mezera\n" #~ "a prázdné položky na počátku řádku budou ignorovány. Jinak bude " #~ "oddělovačem\n" #~ "položek ZNAK. Libovolná POLOŽKA je pořadí položky počítané od 1. FORMÁT " #~ "je\n" #~ "jedna nebo více čárkami nebo mezerami oddělených popisovačů, každý může " #~ "být\n" #~ "'STRANA.POLOŽKA' nebo '0'. Implicitní FORMÁT vypisuje propojovací " #~ "položku,\n" #~ "zbytek položek ze souboru 1, zbytek položek ze souboru 2. Všechny jsou " #~ "odděleny\n" #~ "znakem ZNAK.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ " or: %s [OPTION] --check [FILE]\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formated checksum lines\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "Použití: %s [PŘEPÍNAČ] [SOUBOR]...\n" #~ " nebo: %s [PŘEPÍNAČ] --check [SOUBOR]\n" #~ "\n" #~ " Vypíše nebo kontroluje %s (%dbitové) kontrolní součty. Jestliže SOUBOR\n" #~ "nebude zadán nebo bude -, bude čten standardní vstup.\n" #~ "\n" #~ " -b, --binary čte soubory v binárním módu (implicitní\n" #~ " v DOSu/Windows)\n" #~ " -c, --check porovnává %s součty se zadanými\n" #~ " -t, --text čte soubory v textovém módu (implicitní)\n" #~ "\n" #~ "Následující dva přepínače jsou užitečné pouze při ověřování kontrolních " #~ "součtů:\n" #~ " --status nevypisuje nic, status kód ukazuje úspěšnost\n" #~ " -w, --warn varování o nesprávně formátovaných řádcích " #~ "součtů\n" #~ "\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" #~ "\n" #~ " Součty jsou počítány podle popisu v %s. Při testování by vstup měl\n" #~ "být dřívějším výstupem tohoto programu. Implicitní nastavení je výpis " #~ "jednoho\n" #~ "řádku pro každý SOUBOR. Formát řádku je kontrolní součet, znak indikující " #~ "typ\n" #~ "('*' pro binární, ' ' pro textový) a jméno SOUBORU.\n" # `maybe' or `may be'? - rzm #~ msgid "" #~ "\n" #~ "For older syntax (second call format), OFFSET means -j OFFSET. LABEL\n" #~ "is the pseudo-address at first byte printed, incremented when dump is\n" #~ "progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates\n" #~ "hexadecimal, suffixes maybe . for octal and b multiply by 512.\n" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character\n" #~ " c ASCII character or backslash escape\n" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, it is multiplied by 512\n" #~ "with b suffix, by 1024 with k and by 1048576 with m. Adding a z suffix " #~ "to\n" #~ "any type adds a display of printable characters to the end of each line\n" #~ "of output. -s without a number implies 3. -w without a number implies " #~ "32.\n" #~ "By default, od uses -A o -t d2 -w 16.\n" #~ msgstr "" #~ "\n" #~ " U staré syntaxe (druhý způsob volání), POSUN značí -j POSUN. NÁVĚŠTÍ\n" #~ "je pseudo-adresa vypsaná u prvního bajtu a zvětšovaná během výpisu. " #~ "POSUN\n" #~ "a NÁVĚŠTÍ jsou brány jako osmičková čísla. Pokud číslo začíná 0x nebo 0X\n" #~ "označuje šestnáctkové číslo. Pokud číslo končí desetinnou tečkou '.' " #~ "označuje\n" #~ "desítkové číslo. Pokud číslo končí znakem 'b' znamená to, že bude " #~ "násobeno\n" #~ "512-ti.\n" #~ "\n" #~ "TYP je tvořen z jedné nebo více těchto možností:\n" #~ "\n" #~ " a názvy znaků\n" #~ " c ASCII znaky nebo kódy znaků se zpětným lomítkem\n" #~ " d[BAJTŮ] desítkové se znaménkem s počtem BAJTŮ na číslo\n" #~ " f[BAJTŮ] s plovoucí řádovou čárkou s počtem BAJTŮ na číslo\n" #~ " o[BAJTŮ] osmičkové s počtem BAJTŮ na číslo\n" #~ " u[BAJTŮ] desítkové bez znaménka s počtem BAJTŮ na číslo\n" #~ " x[BAJTŮ] šestnáctkové s počtem BAJTŮ na číslo\n" #~ "\n" #~ " BAJTŮ je číslo. Pro TYPy d, o, u, x může být BAJTŮ také C jako\n" #~ "sizeof(char), S jako sizeof(short), I jako sizeof(int) nebo L jako\n" #~ "sizeof(long). Jestliže TYP je f, BAJTŮ může být také F jako sizeof" #~ "(float),\n" #~ "D jako sizeof(double) nebo L jako sizeof(long double).\n" #~ "\n" #~ " ZÁKLAD je d pro dekadické, o - osmičkové, x - šestnáctkové, n - žádné.\n" #~ "POČET je brán jako šestnáctkové číslo začíná-li 0x nebo 0X, končí-li " #~ "znakem\n" #~ "'b', bude násobeno 512-ti, k - 1024-mi, m - 1048576-ti. -s bez zadaného " #~ "čísla\n" #~ "je bráno jako -s 3. -w bez čísla je bráno jako -w 32. Implicitní jsou " #~ "tyto\n" #~ "hodnoty -A o -t d2 -w 16.\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, -S[STRING] sets separators\n" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -h HLAVIČKA, --header=HLAVIČKA\n" #~ " použije vystředěnou HLAVIČKU místo jména souboru.\n" #~ " -h \"\" vypíše prázdnou hlavičku. Nepoužívejte -h" #~ "\"\"\n" #~ " -i[ZNAK[ŠÍŘKA]], --output-tabs[=ZNAK[ŠÍŘKA]]\n" #~ " nahradí ŠÍŘKA (8) mezer ZNAKEM (tabelátorem)\n" #~ " -J, --join-lines vypisuje slité celé řádky, vyřadí -W zkracování " #~ "řádků,\n" #~ " ruší zarovnání sloupců, -S[ŘETĚZEC] nastavuje " #~ "oddělovače\n" #~ " -l DÉLKA_STRÁNKY, --length=DÉLKA_STRÁNKY\n" #~ " nastaví délku stránky (66). Zadáno v řádcích.\n" #~ " (implicitně je 56 řádků textu, s -F 63)\n" #~ " -m, --merge vypíše soubory vedle sebe, každý v jednom sloupci,\n" #~ " zkracuje řádky, ale spolu s přepínačem -J je vypisuje " #~ "celé\n" #~ " -n [ODDĚL[ČÍSLIC]], --number-lines[=ODDĚL[ČÍSLIC]]\n" #~ " čísluje řádky, vypisuje ČÍSLIC (5) číslic a potom " #~ "ODDĚL\n" #~ " (TAB). Implicitně počítání začíná od jedničky prvním\n" #~ " vstupním řádkem\n" #~ " -N ČÍSLO, --first-line-number=ČÍSLO\n" #~ " začne počítání číslem ČÍSLO prvního řádku první\n" #~ " vypisované stránky (viz +PRVNÍ_STRÁNKA)\n" #~ " -o OKRAJ, --indent=OKRAJ\n" #~ " okraj na levé straně stránky (neovlivňuje -w nebo -" #~ "W,\n" #~ " okraj bude přidán k ŠÍŘCE_STRÁNKY)\n" #~ " -r, --no-file-warnings\n" #~ " potlačí varování, když soubor nemůže být otevřen\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ " -S[STRING], --sep-string[=STRING]\n" #~ " separate columns by an optional STRING, don't use\n" #~ " -S \"STRING\", -S only: No separator used (same as -S" #~ "\"\"),\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ " -s[ZNAK], --separator[=ZNAK]\n" #~ " oddělí sloupce volitelným ZNAKEM, implicitně je to " #~ "TAB,\n" #~ " když není zadán přepínač -w a žádný znak, když je -w " #~ "zadán.\n" #~ " -s[CHAR] vypne zkracování řádků ve všech třech " #~ "sloupcích\n" #~ " (přepínače -COLUMN|-a -COLUMN|-m) kromě toho, když je " #~ "zadán\n" #~ " přepínač -w\n" #~ " -S[ŘETĚZEC], --sep-string[=ŘETĚZEC]\n" #~ " oddělí sloupce volitelným ŘETĚZCEM, nepoužívejte\n" #~ " -S \"ŘETĚZEC\". \n" #~ " Pouze -S: oddělovač není užit, rovnocenné s -S\"\" \n" #~ " bez -S: s přepínačem -J je implicitní `TAB', jinak " #~ "mezera\n" #~ " (rovnocenné s -S\" \"), neovlivňuje parametry " #~ "sloupců.\n" #~ " -t, --omit-header nevypisuje hlavičky a patičky stránek\n" #~ " -T, --omit-pagination\n" #~ " nevypisuje hlavičky a patičky stránek, ignoruje " #~ "rozvržení\n" #~ " stránek vstupního souboru (ignoruje znak nové stránky " #~ "FF)\n" #~ " -v, --show-nonprinting\n" #~ " použije osmičkovou notaci se zpětným lomítkem\n" #~ " -w ŠÍŘKA_STRÁNKY, --width=ŠÍŘKA_STRÁNKY\n" #~ " nastaví šířku stránky na ŠÍŘKA_STRÁNKY (72) znaků " #~ "pouze\n" #~ " pro vícesloupcový výstup, -s[ZNAK] vypíná (72),\n" #~ " -W ŠÍŘKA_STRÁNKY, --page-width=ŠÍŘKA_STRÁNKY\n" #~ " nastaví šířku stránky na ŠÍŘKA_STRÁNKY (72) znaků,\n" #~ " když není zadán přepínač -J, zkracuje řádky\n" #~ " neovlivňuje -S nebo -s.\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" #~ "\n" #~ " Jestliže je zadáno -l nn, kdy nn <= 10 nebo nn >= 3 a -F, pak je " #~ "implicitně\n" #~ "použit přepínač -T. Nebude-li SOUBOR zadán nebo bude-li -, pak bude čten\n" #~ "standardní vstup.\n" # nie wiem jak ladnie tlumaczyc `last resort comparison' - rzm #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check check whether input is sorted; do not sort\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS 2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ " -t, --field-separator=SEP use SEP instead of non- to whitespace " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c: check for strict ordering\n" #~ " otherwise: output only the first of an " #~ "equal run\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolescent\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Další přepínače:\n" #~ "\n" #~ " -c, --check v případě, že vstupní soubory jsou již " #~ "seřazeny\n" #~ " neřadí je\n" #~ " -k, --key=POZ1[,POZ2] začátek klíče na POZ1 a konec *na* POZ2 " #~ "čísla\n" #~ " položek a pozice znaků jsou počítány od " #~ "jedné\n" #~ " -m, --merge spojí již seřazené soubory, neseřazuje je\n" #~ " -o, --output=SOUBOR výsledek zapíše do SOUBORU místo na " #~ "standardní\n" #~ " výstup\n" #~ " -s, --stable stabilizuje výsledek zakázáním seřazení " #~ "stejných\n" #~ " položek porovnáváním bajt po bajtu\n" #~ " -S, --buffer-size=VELIKOST\n" #~ " použije VELIKOST pro hlavní paměťový buffer\n" #~ " -t, --field-separator=ODDĚL\n" #~ " použije ODDĚLOVAČE místo přechodu nemezera/" #~ "mezera\n" #~ " -T, --temporary-directory=ADRESÁŘ\n" #~ " použije ADRESÁŘ pro dočasné soubory, " #~ "nepoužívá\n" #~ " $TMPDIR ani %s.\n" #~ " Více přepínačů zadává více adresářů.\n" #~ " -u, --unique s -c testuje striktní uspořádání;\n" #~ " jinak vypíše pouze první ze stejných " #~ "sekvencí\n" #~ " -z, --zero-terminated vstupní řádky jsou ukončeny bajtem 0 místo " #~ "LF\n" #~ " (pro použití s 'find -print0')\n" #~ " +POZ1 [-POZ2] začátek klíče na pozici POZ1, konec před " #~ "POZ2\n" #~ " (počítáno od nuly).\n" #~ " Varování: tento přepínač je zastaralý\n" #~ " --help vypíše tuto nápovědu a skončí\n" #~ " --version vypíše označení verze a skončí\n" #~ "\n" #~ msgid "" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b for 512, k for 1024, m for 1048576 (1 Meg). A first OPTION of -VALUE\n" #~ "or +VALUE is treated like -n VALUE or -n +VALUE unless VALUE has one of\n" #~ "the [bkm] suffix multipliers, in which case it is treated like -c VALUE\n" #~ "or -c +VALUE. Warning: a first option of +VALUE is obsolescent, and " #~ "support\n" #~ "for it will be withdrawn.\n" #~ "\n" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ "\n" #~ msgstr "" #~ " Jestliže první znak N (počet bajtů nebo řádků) je `+', výpis začíná\n" #~ "od N-tého elementu od počátku každého souboru. Jinak se vypisuje " #~ "posledních\n" #~ "N elementů souboru. N může mít násobící příponu: b - 512, k - 1024 nebo\n" #~ "m - 1048576 (1 Mega). První přepínač -HODNOTA nebo +HODNOTA, je brán " #~ "jako\n" #~ "-n HODNOTA nebo -n +HODNOTA, pokud HODNOTA nemá násobící příponu [bkm].\n" #~ "Jestliže ji má, pak je HODNOTA brána jako -c HODNOTA nebo -c +HODNOTA.\n" #~ "\n" #~ " UPOZORNĚNÍ: první přepínač +VALUE je zastaralý a jeho podpora bude\n" #~ "odstraněna.\n" #~ "\n" #~ "S --follow (-f), tail sleduje popisovač souboru, což znamená, jestliže\n" #~ "sledovaný soubor bude přejmenován, tail bude sledovat tento přejmenovaný\n" #~ "soubor. Implicitní funkce není žádoucí, jestliže chcete sledovat " #~ "aktuální\n" #~ "soubor pod daným jménem a ne popisovač souboru (například rotace logů).\n" #~ "V tomto případě použijte --follow=name. To způsobí, že tail bude " #~ "sledovat\n" #~ "soubor daného jména s periodickým znovuotevíráním, aby zjistil, zda byl \n" #~ "soubor smazán a znovuvytvořen nějakým jiným programem.\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ "\n" #~ " MNOŽINY jsou zadány jako řetězce znaků. Většina znaků reprezentuje je " #~ "samé,\n" #~ "speciální význam mají tyto:\n" #~ "\n" #~ " \\NNN znak o hodnotě NNN (zadáno v osmičkové soustavě)\n" #~ " \\\\ zpětné lomítko\n" #~ " \\a znak BEL (pípnutí)\n" #~ " \\b backspace\n" #~ " \\f nová strana (form feed)\n" #~ " \\n nový řádek (line feed)\n" #~ " \\r návrat vozíku (return)\n" #~ " \\t horizontální tabelátor\n" #~ " \\v vertikální tabelátor\n" #~ " ZNAK1-ZNAK2 všechny znaky od ZNAKu1 do ZNAKu2, vzestupně\n" #~ " [ZNAK*] v MNOŽINĚ2 kopíruje ZNAK tolikrát, aby byla MNOŽINA2 " #~ "stejně\n" #~ " dlouhá jako MNOŽINA1\n" #~ " [ZNAK*KOLIKRÁT] KOLIKRÁT kopií ZNAKu, osmičkově když začíná číslicí 0\n" #~ " [:alnum:] všechna písmena a číslice\n" #~ " [:alpha:] všechna písmena\n" #~ " [:blank:] všechny horizontální mezery\n" #~ " [:cntrl:] všechny řídící znaky\n" #~ " [:digit:] všechny číslice\n" #~ " [:graph:] všechny tisknutelné znaky bez mezer\n" #~ " [:lower:] všechna malá písmena\n" #~ " [:print:] všechny tisknutelné znaky včetně mezer\n" #~ " [:punct:] všechny interpunkční znaky\n" #~ " [:space:] všechny horizontální a vertikální mezery\n" #~ " [:upper:] všechna velká písmena\n" #~ " [:xdigit:] všechny všechny šestnáctkové číslice\n" #~ " [=ZNAK=] všechny znaky rovnocenné s ZNAKEM\n" dc3dd-7.1.614/po/ga.gmo0000644000175000017500000001256111233346647014166 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  { xn 7 5$U;z.9(-'B3b  ;+18]= @]r1 $&K Zh~ !)( " %  $#' & H BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-04-20 12:24-0600 Last-Translator: Kevin Scannell Language-Team: Irish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(n>6 && n<11) ? 3 : 4; Is féidir na hiarmhíreanna seo a leanas a chur i ndiaidh BLOIC nó BEARTA: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y. Is féidir EOCHAIRFHOCAL a bheith: Is féidir le gach BRATACH a bheith: append mód iarcheangail (ná húsáid ach le haschur; moltar conv=notrunc) binary úsáid I/A dénártha le haghaidh sonraí direct úsáid I/A díreach le haghaidh sonraí directory teip mura comhadlann é dsync úsáid I/A sioncrónaithe le haghaidh sonraí noatime ná nuashonraigh an t-am rochtana noctty ná ceap an teirminéal rialaithe ó chomhad noerror lean ar aghaidh tar éis earráidí sa léamh sync stuáil gach bloc ionchurtha le carachtair NUL go dtí ibs-size; nuair atá `block' nó `unblock' in úsáid, stuáil le spásanna in ionad carachtair NUL fdatasync scríobh ar an aschomhad go fisiceach roimh chríochnú fsync mar an gcéanna, ach scríobh meiteashonraí freisin nofollow ná lean naisc shiombalacha nolinks teip má tá naisc iomadúla ann nonblock úsáid I/A gan bhacainní sync mar an gcéanna, ach le haghaidh meiteashonraí fosta text úsáid I/A téacs le haghaidh sonraí %s: ní féidir seek a dhéanamh, %g shoicind, %s/s Éigríoch BBain triail as `%s --help' chun tuilleadh eolais a fháil. Earráid chórais anaithnidÚsáid: %s [OIBREANN]... nó: %s ROGHA ní féidir `excl' agus `nocreat' a úsáid lena chéilení féidir %s a `fstat'tar éis an tsaoil, ní féidir fabht san eithne a sheachaintinchomhad %s á dhúnadhaschomhad %s á dhúnadhtheip ar fdatasync i gcomhair %stheip ar fsync i gcomhair %stiontú neamhbhailíbratach neamhbhailí ionchurthauimhir neamhbhailí %sbratach neamhbhailí aschurthabratach neamhbhailí stádaisfritháireamh thar maoil agus comhad %s á léamh%s á oscailtbratacha á socraithe le haghaidh %sgnáth-ionchurgnáth-aschuroibreann anaithnid %srabhadh: ag seachaint fabht eithne `lseek' don chomhad (%s) de mt_type=0x%0lx -- féach ar le haghaidh liosta cineálachaá scríobh i %sPRIuMAXtruncating at % bytes in output file %sá theascadh ag % beart san aschomhad %sdc3dd-7.1.614/po/ko.po0000644000175000017500000074415111233346647014053 0ustar amedicoamedico# Korean messages for GNU textutils # Copyright (C) 1996, 2001, 2002 Free Software Foundation, Inc. # Bang Jun-Young , 1996-1997. # Changwoo Ryu , 2001-2002. # msgid "" msgstr "" "Project-Id-Version: GNU textutils 2.0.22\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2002-07-22 20:02+0900\n" "Last-Translator: Changwoo Ryu \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin 그리고 David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "더 많은 정보를 보려면 `%s --help' 하십시오.\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "사용법: %s [<파일>]...\n" " 혹은: %s [<옵션>]\n" #: src/dc3dd.c:1099 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" #: src/dc3dd.c:1107 msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s이(가) 존재하지만 디렉토리가 아닙니다" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "알 수 없는 시스템 오류" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, fuzzy, c-format msgid "closing input file %s" msgstr "파일 `%s'을(를) 만듦\n" #: src/dc3dd.c:2146 #, fuzzy, c-format msgid "closing output file %s" msgstr "%s를 지웁니다\n" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "출력파일 접미어를 다 썼습니다" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, fuzzy, c-format msgid "opening %s" msgstr "%s을(를) 읽는 도중 오류 발생" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "실패" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "인식할 수 없는 옵션 `-%c'" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "부적절한 폭: `%s'" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "%2$s에 대해 부적절한 인자 %1$s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "%2$s에 대해 부적절한 인자 %1$s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "%2$s에 대해 부적절한 인자 %1$s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "부적절한 폭 옵션 `%s'" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "필드 처음에 부적절한 숫자" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "잘못된 그룹" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "잘못된 사용자" #: src/dc3dd.c:2913 #, fuzzy, c-format msgid "invalid number %s" msgstr "부적절한 숫자" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "%s에 대한 파일 포인터를 재위치할 수 없습니다" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "%s에 대한 파일 포인터를 재위치할 수 없습니다" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "%s에 대한 파일 포인터를 재위치할 수 없습니다" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "%s에 대한 파일 포인터를 재위치할 수 없습니다" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "%s에 대한 파일 포인터를 재위치할 수 없습니다" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "%s에 대한 파일 포인터를 재위치할 수 없습니다" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "%s을(를) 읽는 도중 오류 발생" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: 지울 수 없습니다" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "경고: 부적절한 폭 %lu; 대신 %d을(를) 사용함" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "%s의 시간을 유지합니다" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "%s 디렉토리를 만들 수 없습니다" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, fuzzy, c-format msgid "writing to %s" msgstr "%s에 쓰는 도중 오류 발생" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dc3dd.c:3907 msgid "standard input" msgstr "표준 입력" #: src/dc3dd.c:3938 msgid "standard output" msgstr "표준 출력" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, fuzzy, c-format msgid "cannot fstat %s" msgstr "`%s'의 정보(stat)를 얻을 수 없습니다" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "%s를 지웁니다\n" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "잘린 레코드" #~ msgstr[1] "잘린 레코드" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "사용자와 그룹을 모두 생략할 수는 없습니다" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "비교한 문자열은 %s과(와) %s입니다." #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "경고: 부적절한 폭 %lu; 대신 %d을(를) 사용함" #~ msgid "error writing %s" #~ msgstr "%s에 쓰는 도중 오류 발생" #~ msgid "invalid argument %s for %s" #~ msgstr "%2$s에 대해 부적절한 인자 %1$s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "%2$s에 대해 애매한 인자 %1$s" #~ msgid "Valid arguments are:" #~ msgstr "올바른 인자는:" #, fuzzy #~ msgid "error closing file" #~ msgstr "파일 `%s'을(를) 만듦\n" #~ msgid "write error" #~ msgstr "쓰기 오류" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "cannot stat %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "regular empty file" #~ msgstr "일반 빈 파일" #~ msgid "regular file" #~ msgstr "일반 파일" #~ msgid "directory" #~ msgstr "디렉토리" #~ msgid "block special file" #~ msgstr "블록 특수 파일" #~ msgid "character special file" #~ msgstr "문자 특수 파일" #~ msgid "fifo" #~ msgstr "FIFO" #~ msgid "symbolic link" #~ msgstr "심볼릭 링크" #~ msgid "socket" #~ msgstr "소켓" #~ msgid "message queue" #~ msgstr "메세지 큐" #~ msgid "semaphore" #~ msgstr "세마포어" #~ msgid "shared memory object" #~ msgstr "공유 메모리 오브젝트" #, fuzzy #~ msgid "typed memory object" #~ msgstr "공유 메모리 오브젝트" #~ msgid "weird file" #~ msgstr "괴상한 파일" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "fifo파일은 지원하지 않습니다" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "fifo파일은 지원하지 않습니다" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "fifo파일은 지원하지 않습니다" #, fuzzy #~ msgid "System error" #~ msgstr "쓰기 오류" #, fuzzy #~ msgid "Unknown error" #~ msgstr "알 수 없는 시스템 오류" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: `%s'은(는) 모호한 옵션입니다\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: `--%s' 옵션은 인수를 허용하지 않습니다\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: `%c%s' 옵션은 인수를 허용하지 않습니다\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: `%s' 옵션은 인수가 필요합니다\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: 인식할 수 없는 옵션 `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: 인식할 수 없는 옵션 `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: 잘못된 옵션 -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: 부적절한 옵션 -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: 이 옵션은 인수가 필요합니다 -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: `-W %s'은(는) 모호한 옵션입니다\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: `-W %s' 옵션은 인수를 허용하지 않습니다\n" #~ msgid "cannot change permissions of %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #~ msgid "cannot create directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "memory exhausted" #~ msgstr "메모리가 바닥남" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: 읽기 오류" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: 부적절한 정규식: %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "부적절한 문자 클래스 `%s'" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "메모리가 바닥남" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: 부적절한 정규식: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "정규식 탐색에 오류 발생" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "정규식 탐색에 오류 발생" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "정규식 탐색에 오류 발생" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #, fuzzy #~ msgid "setting permissions for %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #~ msgid "iconv function not usable" #~ msgstr "iconv 함수를 사용할 수 없습니다" # not usable과 not available의 차이는? #~ msgid "iconv function not available" #~ msgstr "iconv 함수를 사용할 수 없습니다" #~ msgid "character out of range" #~ msgstr "범위를 벗어난 문자" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "U+%04X을(를) 로칼 문자셋으로 변환할 수 없습니다" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "U+%04X을(를) 로칼 문자셋으로 변환할 수 없습니다: %s" #~ msgid "invalid user" #~ msgstr "잘못된 사용자" #~ msgid "invalid group" #~ msgstr "잘못된 그룹" #, fuzzy #~ msgid "invalid spec" #~ msgstr "잘못된 사용자" #~ msgid "Written by %s.\n" #~ msgstr "%s이(가) 만들었습니다.\n" #, fuzzy #~ msgid "Written by %s and %s.\n" #~ msgstr "%s이(가) 만들었습니다.\n" #, fuzzy #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "%s이(가) 만들었습니다.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "%s이(가) 만들었습니다.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "%s이(가) 만들었습니다.\n" #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "%2$s에 대해 부적절한 인자 %1$s" #~ msgid "string comparison failed" #~ msgstr "문자열 비교가 실패했습니다" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "이 문제를 피해 가려면 LC_ALL='C'하십시오." #~ msgid "The strings compared were %s and %s." #~ msgstr "비교한 문자열은 %s과(와) %s입니다." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "문자열 비교가 실패했습니다" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "%2$s에 대해 부적절한 인자 %1$s" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "부적절한 행번호 증가: `%s'" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: 일련번호 `%.*s'은(는) 너무 큽니다" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version 버전 정보를 출력하고 끝냅니다\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "<파일>이 주어지지 않거나 - 이면 표준 입력을 읽습니다.\n" #~ msgid "read error" #~ msgstr "읽기 오류" #, fuzzy #~ msgid "invalid input" #~ msgstr "부적절한 숫자" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "부적절한 타입의 문자열 `%s'" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "불필요한 피연산자 `%s'" #, fuzzy #~ msgid "closing standard input" #~ msgstr "표준 입력" #, fuzzy #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "missing operand" #~ msgstr "%s: `%c' 뒤에 정수가 와야함" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjorn Granlund 그리고 Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "사용법: %s [<옵션>] [<파일>]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "<파일>(들)이나 표준 입력을 연결해 표준 출력에 출력합니다.\n" #~ "\n" #~ " -A, --show-all -vET와 같음\n" #~ " -b, --number-nonblank 빈줄이 아닌 출력행의 개수를 셉니다\n" #~ " -e -vE와 같음\n" #~ " -E, --show-ends 각 행의 끝에 $를 표시합니다\n" #~ " -n, --number 모든 출력행의 개수를 셉니다\n" #~ " -s, --squeeze-blank 한줄 이상의 빈 행을 제거합니다\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t -vT와 같음\n" #~ " -T, --show-tabs 탭 문자를 ^I로 표시합니다\n" #~ " -u (무시됨)\n" #~ " -v, --show-nonprinting ^ 와 M- 표기법을 사용합니다 (LFD와 TAB 제외)\n" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "`%s'에서 ioctl을 할 수 없습니다" #~ msgid "%s: input file is output file" #~ msgstr "%s: 입력 파일이 출력 파일입니다" #, fuzzy #~ msgid "Jim Meyering" #~ msgstr "Mike Haertel 그리고 Paul Eggert" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "cannot access %s" #~ msgstr "`%s'에 chown을 실행할 수 없습니다" #, fuzzy #~ msgid "cannot read directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "fts_read failed" #~ msgstr "파일 읽기 실패" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "사용법: %s [옵션]... OWNER[:[GROUP]] FILE...\n" #~ " 또는: %s [옵션]... .GROUP FILE...\n" #~ " 또는: %s [옵션]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "%s: `%c' 뒤에 정수가 와야함" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "부적절한 폭 옵션 `%s'" #, fuzzy #~ msgid "failed to get attributes of %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "잘못된 그룹" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "사용법: %s [<옵션>]... [<파일>]...\n" #~ " 또는: %s --traditional [<파일>] [[+]<옵셋> [[+]<레이블>]]\n" #, fuzzy #~ msgid "getting new attributes of %s" #~ msgstr "%s의 시간을 유지합니다" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "심볼릭 링크 %s도, 이를 가리치는 원래 파일도 변경되지 않았습니다\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "%s의 모드를 %04lo(%s)으로 변경하였습니다\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "%s의 모드를 %04lo(%s)으로 변경하는데 실패하였습니다\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "%s의 모드를 %04lo(%s)으로 유지하였습니다\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "changing permissions of %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "사용법: %s [옵션]... MODE[,MODE]... FILE...\n" #~ " 또는: %s [옵션]... 8진수-MODE FILE...\n" #~ " 또는: %s [옵션]... --reference=RFILE FILE...\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "각 FILE의 모드를 MODE로 변경합니다.\n" #~ "\n" #~ " -c, --changes verbose와 같지만 변경할때만 알립니다\n" #~ " -f, --silent, --quiet 대부분의 에러메시지를 내지 않게 합니다\n" #~ " -v, --verbose 처리되는 모든 파일에 대해 진단 메시지를 출력합니" #~ "다\n" #~ " --reference=RFILE MODE 값 대신 RFILE의 모드값을 사용합니다\n" #~ " -R, --recursive 파일과 서브디렉토리까지 변경합니다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "각 MODE는 하나 이상의 u,g,o,a문자 다음에 +,-,=중의 하나의 기호와\n" #~ "그 다음의 r,w,x,X,s,t,u,g,o중 하나의 문자로 구성됩니다.\n" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "부적절한 폭: `%s'" #, fuzzy #~ msgid "changed ownership of %s to %s\n" #~ msgstr "%s의 소유주를 다음으로 변경하는데 실패하였습니다: " #, fuzzy #~ msgid "changed group of %s to %s\n" #~ msgstr "%s의 그룹을 %s로 바꾸는데 실패했습니다\n" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "%s의 소유권을 유지합니다" #, fuzzy #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "%s의 그룹을 %s로 바꾸는데 실패했습니다\n" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "ownership of %s retained as %s\n" #~ msgstr "%s의 소유자는 다음과 같이 유지되었습니다: " #~ msgid "group of %s retained as %s\n" #~ msgstr "%s의 그룹이 %s으로 보존되었습니다\n" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "%s의 소유자는 다음과 같이 유지되었습니다: " #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "changing ownership of %s" #~ msgstr "%s의 소유권을 유지합니다" #, fuzzy #~ msgid "changing group of %s" #~ msgstr "%s의 소유자 그리고/혹은 그룹을 바꿀 수 없습니다" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "사용법: %s [<옵션>]... [<파일>]...\n" #~ " 또는: %s --traditional [<파일>] [[+]<옵셋> [[+]<레이블>]]\n" #, fuzzy #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "cannot change root directory to %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "cannot chdir to root directory" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "cannot run command %s" #~ msgstr "`%s'에서 ioctl을 할 수 없습니다" #~ msgid "%s: file too long" #~ msgstr "%s: 파일이 너무 깁니다" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "각 <파일>에 대해 CRC 체크섬과 바이트 개수를 출력합니다.\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman 그리고 David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "사용법: %s [<옵션>]... <파일1> <파일2>\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "정렬된 파일인 <왼쪽_파일>과 <오른쪽_파일>을 행 단위로 비교합니다.\n" #~ "\n" #~ " -1 왼쪽 파일에 유일한 행을 제거합니다\n" #~ " -2 오른쪽 파일에 유일한 행을 제거합니다\n" #~ " -3 양쪽 파일에 유일한 행을 제거합니다\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "failed to preserve ownership for %s" #~ msgstr "%s의 소유권을 유지합니다" #, fuzzy #~ msgid "failed to lookup file %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "failed to preserve authorship for %s" #~ msgstr "%s의 소유권을 유지합니다" #, fuzzy #~ msgid "cannot open %s for reading" #~ msgstr "`%s'를 `%s'로 이동할 수 없습니다" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "%s의 그룹을 %s로 바꾸는데 실패했습니다\n" #, fuzzy #~ msgid "cannot remove %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "removed %s\n" #~ msgstr "%s를 지웁니다\n" #, fuzzy #~ msgid "cannot create regular file %s" #~ msgstr "임시 파일을 만들 수 없습니다" #, fuzzy #~ msgid "cannot lseek %s" #~ msgstr "%s: 오프셋 %s%s로(으로) 갈 수 없습니다" #, fuzzy #~ msgid "writing %s" #~ msgstr "%s에 쓰는 도중 오류 발생" #~ msgid "preserving times for %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "closing %s" #~ msgstr "%s(fd=%d)을(를) 닫습니다 " #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: `%s'에 모드 %04lo으로 겹쳐쓰겠습니까? " #, fuzzy #~ msgid "%s: overwrite %s? " #~ msgstr "%s: `%s'를 겹쳐씁니까? " #~ msgid " (backup: %s)" #~ msgstr " (백업: %s)" #, fuzzy #~ msgid "omitting directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "%s and %s are the same file" #~ msgstr "`%s'와 `%s'는 같은 파일입니다" #, fuzzy #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "%s: 디렉토리가 아닌 곳에 디렉토리를 겹쳐쓸 수 없습니다" #, fuzzy #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "`%s'의 백업은 원래 파일을 손상할 것입니다; `%s'는 이동되지 않습니다" #, fuzzy #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "`%s'의 백업은 원래 파일을 손상할 것입니다; `%s'는 복사되지 않습니다" #, fuzzy #~ msgid "cannot backup %s" #~ msgstr "`%s'를 백업할 수 없습니다" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "%s: 디렉토리가 아닌 곳에 디렉토리를 겹쳐쓸 수 없습니다" #, fuzzy #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "will not create hard link %s to directory %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "cannot create hard link %s to %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "cannot move %s to %s" #~ msgstr "`%s'에서 ioctl을 할 수 없습니다" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "%s: 심볼릭 링크의 사이클은 복사할 수 없습니다" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s: 현재 디렉토리 안에서만 상대적인 심볼릭 링크를 만들 수 있습니다" #, fuzzy #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot create fifo %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot create special file %s" #~ msgstr "문자 특수 파일" #, fuzzy #~ msgid "cannot read symbolic link %s" #~ msgstr "심볼릭 링크" #, fuzzy #~ msgid "cannot create symbolic link %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "%s has unknown file type" #~ msgstr "%s: 알 수 없는 파일형" #, fuzzy #~ msgid "cannot un-backup %s" #~ msgstr "`%s'의 백업을 되돌릴 수 없습니다" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (백업 해제)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "사용법: %s [OPTION]... SOURCE DEST\n" #~ " 또는: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " 또는: %s -d [OPTION]... --target-directory=DIRECTORY SOURCE...\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "긴 옵션에서 꼭 필요한 인수는 짧은 옵션에도 꼭 필요합니다.\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ "SOURCE를 DEST로 복사하거나 여러개의 SOURCE를 DIRECTORY로 복사합니다.\n" #~ "\n" #~ " -a, --archive -dpR옵션과 같습니다\n" #~ " --backup[=CONTROL] 지우기 전에 백업본을 만듭니다.\n" #~ " -b --backup과 비슷한데 인수를 받지 않는다\n" #~ " -d, --no-dereference 링크를 유지합니다\n" #~ " -f, --force 이미 존재하는 DEST를 질문 없이 삭제합니" #~ "다.\n" #~ " -i, --interactive 덮어 쓰기 전에 여부를 묻습니다\n" #~ " -l, --link 파일을 복사하지 않고 링크합니다.\n" #~ " -p, --preserve 가능하다면 파일 속성을 유지합니다.\n" #~ " -P, --parents 원본의 경로를 DIRECTORY에 추가합니다\n" #~ " -r 하위 디렉토리까지 복사합니다. 디렉토리가\n" #~ " 아닌 것은 파일로 여깁니다\n" #~ " *경고*: FIFO나 /dev/zero같은 특별 파일" #~ "을\n" #~ " 복사할 경우에는 -R을 사용하세요\n" #~ " --sparse=WHEN 성긴 파일(sparse file)의 생성을 조절합니" #~ "다\n" #~ " -R, --recursive 재귀적으로 복사합니다\n" #~ " --strip-trailing-slashes 각 SOURCE 인수에서 끝의 슬래시(/)문자를\n" #~ " 지웁니다\n" #~ " -s, --symbolic-link 복사하는 대신 심볼릭 링크를 만듭니다\n" #~ " -S, --suffix=SUFFIX 일반적인 백업 접미사를 겹쳐씁니다\n" #~ " --target-directory=DIRECTORY 모든 SOURCE 의 인수를 DIRECTORY로 옮깁" #~ "니다\n" #~ " -u, --update SOURCE파일이 복사될 파일보다 새것이거나\n" #~ " 복사될 파일이 없을 때만 복사합니다\n" #~ " -v, --verbose 작업을 출력합니다\n" #~ " -x, --one-file-system 이 파일시스템에서만 복사합니다\n" #~ " --help 이 도움말을 보여주고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "기본적으로 성긴 SOURCE 파일은 그리 좋지 않은 방법으로 탐지해 내어\n" #~ "대응하는 DEST파일도 또한 성기게 만듭니다. 이것은 --sparse=auto\n" #~ "에 의해 선택되는 행동이며, --sparse=always라고 지정하면 SOURCE파일에\n" #~ "충분한 크기의 0으로 계속되는 지점이 있을 때는 언제나 성긴 DEST파일을\n" #~ "만듭니다.\n" #~ "--sparse=never라고 지정하면 성긴 파일을 생성하지 못하게 합니다.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ "SOURCE를 DEST로 이름을 바꾸거나 SOURCE를 DIRECTORY로 옮깁니다.\n" #~ "\n" #~ " --backup[=CONTROL] 지우기 전에 백업본을 만듭니다\n" #~ " -b --backup과 비슷한데 인수를 받지 않는다\n" #~ " -f, --force 이미 존재하는 DEST를 질문 없이 삭제합니" #~ "다.\n" #~ " -i, --interactive 옮기기 전에 여부를 묻습니다\n" #~ " --strip-trailing-slashes 각 SOURCE 인수에서 뒤에 끝나는 슬래시 기호" #~ "를\n" #~ " 삭제\n" #~ " -S, --suffix=SUFFIX 일반적인 백업 접미사를 겹쳐씁니다\n" #~ " --target-directory=DIRECTORY SOURCE의 모든 인수를 DIRECTORY로 옮깁" #~ "니다\n" #~ " -u, --update 오래된 파일과 새 파일만 옮깁니다\n" #~ " -v, --verbose 작업을 출력합니다\n" #~ " -V, --version-control=WORD 일반적인 버전 콘트롤을 겹쳐씁니다\n" #~ " --help 이 도움말을 보여주고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "SOURCE를 DEST로 복사하거나 여러개의 SOURCE를 DIRECTORY로 복사합니다.\n" #~ "\n" #~ " -a, --archive -dpR옵션과 같습니다\n" #~ " --backup[=CONTROL] 지우기 전에 백업본을 만듭니다.\n" #~ " -b --backup과 비슷한데 인수를 받지 않는다\n" #~ " -d, --no-dereference 링크를 유지합니다\n" #~ " -f, --force 이미 존재하는 DEST를 질문 없이 삭제합니" #~ "다.\n" #~ " -i, --interactive 덮어 쓰기 전에 여부를 묻습니다\n" #~ " -l, --link 파일을 복사하지 않고 링크합니다.\n" #~ " -p, --preserve 가능하다면 파일 속성을 유지합니다.\n" #~ " -P, --parents 원본의 경로를 DIRECTORY에 추가합니다\n" #~ " -r 하위 디렉토리까지 복사합니다. 디렉토리가\n" #~ " 아닌 것은 파일로 여깁니다\n" #~ " *경고*: FIFO나 /dev/zero같은 특별 파일" #~ "을\n" #~ " 복사할 경우에는 -R을 사용하세요\n" #~ " --sparse=WHEN 성긴 파일(sparse file)의 생성을 조절합니" #~ "다\n" #~ " -R, --recursive 재귀적으로 복사합니다\n" #~ " --strip-trailing-slashes 각 SOURCE 인수에서 끝의 슬래시(/)문자를\n" #~ " 지웁니다\n" #~ " -s, --symbolic-link 복사하는 대신 심볼릭 링크를 만듭니다\n" #~ " -S, --suffix=SUFFIX 일반적인 백업 접미사를 겹쳐씁니다\n" #~ " --target-directory=DIRECTORY 모든 SOURCE 의 인수를 DIRECTORY로 옮깁" #~ "니다\n" #~ " -u, --update SOURCE파일이 복사될 파일보다 새것이거나\n" #~ " 복사될 파일이 없을 때만 복사합니다\n" #~ " -v, --verbose 작업을 출력합니다\n" #~ " -x, --one-file-system 이 파일시스템에서만 복사합니다\n" #~ " --help 이 도움말을 보여주고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "기본적으로 성긴 SOURCE 파일은 그리 좋지 않은 방법으로 탐지해 내어\n" #~ "대응하는 DEST파일도 또한 성기게 만듭니다. 이것은 --sparse=auto\n" #~ "에 의해 선택되는 행동이며, --sparse=always라고 지정하면 SOURCE파일에\n" #~ "충분한 크기의 0으로 계속되는 지점이 있을 때는 언제나 성긴 DEST파일을\n" #~ "만듭니다.\n" #~ "--sparse=never라고 지정하면 성긴 파일을 생성하지 못하게 합니다.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "--suffix나 SIMPLE_BACKUP_SUFFIX환경변수에 지정하지 않으면 백업 접미사는\n" #~ "~입니다.\n" #~ "버전 제어는 --backup옵션이나 VERSION_CONTROL환경변수로 지정하며, \n" #~ "다음과 같습니다:\n" #~ "\n" #~ " none, off 백업을 하지 않습니다(--backup을 주어도)\n" #~ " numbered, t 번호가 주어진 백업을 만듭니다\n" #~ " existing, nil 번호가 주어진 백업이 있으면 번호를 주고, 그렇지 않으면\n" #~ " 단순하게 합니다\n" #~ " simple, never 항상 단순 백업을 합니다\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ "--suffix나 SIMPLE_BACKUP_SUFFIX환경변수에 지정하지 않으면 백업 접미사는\n" #~ "~입니다.\n" #~ "버전 제어는 --backup옵션이나 VERSION_CONTROL환경변수로 지정하며, \n" #~ "다음과 같습니다:\n" #~ "\n" #~ " none, off 백업을 하지 않습니다(--backup을 주어도)\n" #~ " numbered, t 번호가 주어진 백업을 만듭니다\n" #~ " existing, nil 번호가 주어진 백업이 있으면 번호를 주고, 그렇지 않으면\n" #~ " 단순하게 합니다\n" #~ " simple, never 항상 단순 백업을 합니다\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "특별한 경우로, 강제와 백업 옵션이 주어지며 SOURCE와 DEST가 이름이 같고,\n" #~ "존재하는 일반 파일일 때 cp는 SOURCE의 백업을 만듭니다.\n" #, fuzzy #~ msgid "failed to preserve times for %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "failed to preserve permissions for %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "cannot make directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "%s exists but is not a directory" #~ msgstr "%s이(가) 존재하지만 디렉토리가 아닙니다" #, fuzzy #~ msgid "accessing %s" #~ msgstr "%s를 지웁니다\n" #, fuzzy #~ msgid "missing file operand" #~ msgstr "인수를 건너 뜀" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "필드의 목록이 빠졌음" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "%s이(가) 존재하지만 디렉토리가 아닙니다" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "패스를 유지할 때 마지막 인수는 디렉토리여야 합니다" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "하드링크와 심볼릭 링크를 동시에 만들 수 없습니다" #~ msgid "backup type" #~ msgstr "백업 종류" #~ msgid "input disappeared" #~ msgstr "입력이 사라짐" #~ msgid "%s: line number out of range" #~ msgstr "%s: 범위를 벗어난 행 번호" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: `%s': 범위를 벗어난 행 번호" #, fuzzy #~ msgid " on repetition %s\n" #~ msgstr " %d 번째 반복중\n" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: `%s': 맞는 짝을 찾지 못했음" #~ msgid "error in regular expression search" #~ msgstr "정규식 탐색에 오류 발생" #, fuzzy #~ msgid "write error for %s" #~ msgstr "`%s'에 쓰기 오류" #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: `%c' 뒤에 정수가 와야함" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: 반복 횟수에 `}'가 필요합니다" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: `{'과 `}' 사이에 정수가 필요함" #, fuzzy #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: 닫는 구분자 `%c'이(가) 없습니다" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: 부적절한 정규식: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: 부적절한 패턴" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: 행번호는 영보다 커야 합니다" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "행번호 `%s'이(가) 앞선 행번호 %s보다 작습니다" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "경고: 행번호 `%s'이(가) 앞선 행번호와 같습니다" #, fuzzy #~ msgid "invalid format width" #~ msgstr "%2$s에 대해 부적절한 인자 %1$s" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "부적절한 타입의 문자열 `%s'" #~ msgid "missing conversion specifier in suffix" #~ msgstr "접미사에 변환 지정자가 빠졌음" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "접미사에 부적절한 변환 지정자: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "접미사에 부적절한 변환 지정자: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "접미사에 %% 변환 지정자가 너무 많음" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "접미사에 %% 변환 지정자가 빠졌음" #~ msgid "%s: invalid number" #~ msgstr "%s: 부적절한 숫자" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "사용법: %s [<옵션>]... <파일> <패턴>...\n" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "<파일>을, <패턴>을 기준으로 나눈 다음, 그 조각들을 `xx01', `xx02', ... 파" #~ "일들에\n" #~ "출력하고, 각 조각들의 바이트 수를 표준 출력으로 출력합니다.\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=<포맷> %d 대신에 sprintf <포맷>을 씁니다\n" #~ " -f, --prefix=<접두어> `xx' 대신에 <접두어>를 씁니다\n" #~ " -k, --keep-files 오류 발생시에도 출력 파일들을 지우지 않습니" #~ "다\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=숫자들 2 대신에 지정한 숫자들의 개수를 이용합니다\n" #~ " -s, --quiet, --silent 출력 파일의 크기를 표시하지 않습니다\n" #~ " -z, --elide-empty-files 빈 출력 파일을 지웁니다\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "<파일>이 `-'이면 표준 입력을 읽습니다. 각 <패턴>에는 다음을 쓸 수 있습니" #~ "다:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " <정수> 지정한 줄번호 앞까지 복사합니다\n" #~ " /<정규식>/[<오프셋>] 정규식에 맞는 줄 앞까지 복사합니다\n" #~ " %<정규식>%[<오프셋>] 정규식에 맞는 줄 앞까지 건너 뜁니다\n" #~ " {<정수>} 바로 앞의 패턴을 지정한 횟수만큼 반복합니다\n" #~ " {*} 바로 앞의 패턴을 가능한한 많이 반복합니다\n" #~ "\n" #~ "줄 <오프셋>은 `+' 혹은 `-' 다음에 0보다 큰 정수이어야 합니다\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "각 <파일>에서 선택한 줄들만 표준 출력에 표시합니다.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=<리스트> 이 바이트들만을 표시합니다\n" #~ " -c, --characters=<리스트> 이 문자들만을 표시합니다\n" #~ " -d, --delimiter=<구분자> 필드 구분자로 탭 대신에 <구분자>를 씁니다\n" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=<리스트> 이 필드만을 출력합니다; 또 -s 옵션이 사용되지\n" #~ " 않았다면 구분자 문자가 들어 있지 않은 줄도\n" #~ " 출력합니다\n" #~ " -n (무시됨)\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited 구분자가 들어 있지 않은 줄은 표시하지 않습니다\n" #~ " --output-delimiter=<문자열> <문자열>을 출력 구분자로 사용합니다\n" #~ " 기본값은 입력 구분자로 사용하는 것입니다\n" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-b, -c 혹은 -f 중에서 한 개만을 쓰십시오. 각 <리스트>는 하나의 범위, \n" #~ "혹은 쉼표로 구분된 여러 개의 범위입니다. 각 범위는 다음 중 하나입니다:\n" #~ "\n" #~ " N N번째 바이트, 문자, 혹은 필드, 1부터 시작합니다\n" #~ " N- N번째 바이트, 문자, 혹은 필드부터 줄 끝까지\n" #~ " N-M N번째부터 M번째 바이트, 문자, 혹은 필드까지 (N, M번째 포함)\n" #~ " -M 처음부터 M번째 바이트, 문자, 혹은 필드까지 (M번째 포함)\n" #~ "\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #~ msgid "invalid byte or field list" #~ msgstr "부적절한 바이트나 필드 목록" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "부적절한 폭 옵션 `%s'" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "부적절한 타입의 문자열 `%s'" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "%s은(는) 너무 큽니다" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "필드 개수가 0입니다" #~ msgid "only one type of list may be specified" #~ msgstr "오직 한가지 형태의 목록만이 지정될 수 있습니다" #~ msgid "the delimiter must be a single character" #~ msgstr "구획 문자는 단일 문자여야 합니다" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "바이트, 문자, 또는 필드로 된 목록을 지정해야 합니다" #, fuzzy #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "필드에 대해 연산할 때에만 구획 문자가 지정될 수 있습니다" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "구분자가 없는 줄을 무시하는 것은\n" #~ "\t필드에 관해 동작하는 경우에만 이치에 맞습니다" #~ msgid "missing list of fields" #~ msgstr "필드의 목록이 빠졌음" #~ msgid "missing list of positions" #~ msgstr "위치의 목록이 빠졌음" #, fuzzy #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "--string과 --check 옵션은 상호 배타적입니다" #, fuzzy #~ msgid "cannot set date" #~ msgstr "`%s'의 정보(stat)를 얻을 수 없습니다" #, fuzzy #~ msgid "time %s is out of range" #~ msgstr "%s: 범위를 벗어난 행 번호" #, fuzzy #~ msgid "cannot get current directory" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot change to directory %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "cannot stat current directory (now %s)" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "file system type %s both selected and excluded" #~ msgstr "파일시스템 `%s'를 동시에 선택하고 제외할 수 없습니다" #~ msgid "Warning: " #~ msgstr "경고: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%s: 마운트된 파일시스템의 테이블은 읽을 수 없습니다" #, fuzzy #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "LS_COLORS환경변수를 지정하기 위한 명령을 출력합니다.\n" #~ "\n" #~ "출력 포맷:\n" #~ " -b, --sh, --bourne-shell LS_COLORS를 지정하기 위한 Bourne쉘 명령 출" #~ "력\n" #~ " -c, --csh, --c-shell LS_COLORS를 지정하기 위한 C쉘 명령 출력\n" #~ " -p, --print-database 기본값 출력\n" #~ " --help 이 도움말을 보여주고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "FILE이 지정되면, 이를 읽어 파일 형태와 확장자에 따라 어떤 색을 사용할 것인" #~ "지를\n" #~ "결정합니다. 그렇지 않은 경우에는 미리 만들어진 데이터베이스를 사용합니" #~ "다.\n" #~ "이 파일의 포맷을 자세히 알려면 `dircolors --print-database'라고 하세요.\n" #, fuzzy #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s: 부적절한 초" #, fuzzy #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s: 인식할 수 없는 옵션 `%c%s'\n" #~ msgid "" #~ msgstr "<내장>" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "dircolor의 내부 데이터베이스를 출력하는 옵션과 쉘 문법을\n" #~ "선택하는 옵션은 같이 쓸 수 없습니다" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "SHELL환경변수가 없고 쉘 형태 옵션을 지정하지 않았습니다" #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "사용법: %s [<옵션>]... [<파일>]...\n" #~ " 또는: %s --traditional [<파일>] [[+]<옵셋> [[+]<레이블>]]\n" #~ msgid "total" #~ msgstr "합계" #, fuzzy #~ msgid "invalid maximum depth %s" #~ msgstr "부적절한 폭: `%s'" #~ msgid "cannot both summarize and show all entries" #~ msgstr "모든 디렉토리 내용을 표시하면서 요약할 수는 없습니다" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "경고: 요약은 --max-depth=0을 사용하는 것과 같습니다" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "경고: --max-depth=%d는 요약 옵션과 충돌합니다" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "비교한 문자열은 %s과(와) %s입니다." #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "잘못된 그룹" #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Stallman 그리고 David MacKenzie" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "각 <파일>들의 탭을 공백으로 바꾸고, 표준 출력에 씁니다.\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #, fuzzy #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial 공백 다음에 있는 탭을 변환하지 않습니다\n" #~ " -t, --tabs=<개수> 탭을 8이 아닌 <개수>만큼의 문자크기의 공백으로 취급" #~ "합니다\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=리스트 탭 위치를 직접 쉼표로 구분한 리스트로 나타냅니다\n" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "%s은(는) 너무 큽니다" #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "탭 크기에 부적절한 문자가 지정되어 있습니다" #~ msgid "tab size cannot be 0" #~ msgstr "탭 크기는 0이 될 수 없습니다" #~ msgid "tab sizes must be ascending" #~ msgstr "탭 크기들은 점점 커져야 합니다" #, fuzzy #~ msgid "input line is too long" #~ msgstr "%s: 파일이 너무 깁니다" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Mike Haertel 그리고 Paul Eggert" #, fuzzy #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "syntax error" #~ msgstr "표준 오류" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "정규식 탐색에 오류 발생" #, fuzzy #~ msgid "non-numeric argument" #~ msgstr "인수 제한" #, fuzzy #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #~ msgid "%s is too large" #~ msgstr "%s은(는) 너무 큽니다" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "%s: 부적절한 패턴" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "사용법: %s [-<숫자>] [<옵션>]... [<파일>]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "<파일>의 각 문단을 다시 구성해, 표준 출력에 씁니다.\n" #~ "<파일>이 없거나 <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #~ "\n" # refill을 뭐라고 번역? -- 줄이 남을 때 아래 문장의 일부를 갖다 붙이는 것 #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin 맨 처음 두 줄의 들여쓰기를 유지합니다\n" #~ " -p, --prefix=<문자열> <문자열>을 접두어로 가진 줄만을 결합합니다\n" #~ " -s, --split-only 긴 줄을 나누되, 채워 넣지는 않습니다\n" #, fuzzy #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph 첫 번째 줄의 들여쓰기를 두 번째와 다르게 합니" #~ "다\n" #~ " -u, --uniform-spacing 단어 사이에 한 개의 공백, 문장 다음에 두 개의 " #~ "공백\n" #~ " -w, --width=<개수> 한 줄의 최대 폭 (기본값은 75열)\n" #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "부적절한 폭: `%s'" # wrap을 뭐라고 한다? #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "각 <파일>에서 (기본값은 표준입력에서) 입력된 줄을 나눠서, 표준 출력에\n" #~ "씁니다.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes 열이 아니라 바이트 수를 셉니다\n" #~ " -s, --spaces 공백에서 줄을 나눕니다\n" #~ " -w, --width=<폭> 80열 대신에 <폭>열을 이용합니다\n" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "부적절한 열의 개수: `%s'" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "%s의 그룹을 %s로 바꾸는데 실패했습니다\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "%s의 그룹을 %s로 바꾸는데 실패했습니다\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "%s의 소유자 그리고/혹은 그룹을 바꿀 수 없습니다" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "사용법: %s [<옵션>]... <집합1> [<집합2>]\n" #, fuzzy #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "각 <파일>의 맨 첫 10줄을 표준 출력에 표시합니다.\n" #~ "두 개 이상의 <파일>의 경우, 각각의 파일마다 파일이름을 나타내는 헤더를 먼" #~ "저 \n" #~ "표시합니다. <파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습" #~ "니다.\n" #~ "\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent 파일이름을 나타내는 헤더를 표시하지 않습니다\n" #~ " -v, --verbose 언제나 파일이름을 나타내는 헤더를 표시합니다\n" #~ msgid "error reading %s" #~ msgstr "%s을(를) 읽는 도중 오류 발생" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "비교할 바이트의 개수가 부적절합니다" #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: 상대 오프셋 %s%s로(으로) 갈 수 없습니다" #, fuzzy #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: 오프셋 %s%s로(으로) 갈 수 없습니다" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "%s에 대한 파일 포인터를 재위치할 수 없습니다" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s은(는) 너무 커서 표시할 수 없습니다" #~ msgid "number of lines" #~ msgstr "행의 개수" #~ msgid "number of bytes" #~ msgstr "바이트 수" #~ msgid "invalid number of lines" #~ msgstr "부적절한 행의 개수" #~ msgid "invalid number of bytes" #~ msgstr "%s: 부적절한 바이트 수" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "%s: 부적절한 옵션 -- %c\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "`%s'에서 ioctl을 할 수 없습니다" #, fuzzy #~ msgid "cannot determine hostname" #~ msgstr "%s: 돌아갈 수 없습니다" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "한 가지 이상의 방법으로 분할할 수 없습니다" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "%s의 소유자 그리고/혹은 그룹을 바꿀 수 없습니다" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "strip옵션은 디렉토리를 설치할 때는 쓸 수 없습니다" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "strip옵션은 디렉토리를 설치할 때는 쓸 수 없습니다" #, fuzzy #~ msgid "invalid mode %s" #~ msgstr "부적절한 폭: `%s'" #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "cannot set time stamps for %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "fork system call failed" #~ msgstr "블록 특수 파일" #~ msgid "cannot run strip" #~ msgstr "strip를 실행할 수 없습니다" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "%s에 쓰는 도중 오류 발생" #, fuzzy #~ msgid "invalid user %s" #~ msgstr "잘못된 사용자" #, fuzzy #~ msgid "invalid group %s" #~ msgstr "잘못된 그룹" #, fuzzy #~ msgid "creating directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "사용법: %s [OPTION]... SOURCE DEST\n" #~ " 또는: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " 또는: %s -d [OPTION]... --target-directory=DIRECTORY SOURCE...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "--suffix나 SIMPLE_BACKUP_SUFFIX환경변수에 지정하지 않으면 백업 접미사는\n" #~ "~입니다.\n" #~ "버전 제어는 --backup옵션이나 VERSION_CONTROL환경변수로 지정하며, \n" #~ "다음과 같습니다:\n" #~ "\n" #~ " none, off 백업을 하지 않습니다(--backup을 주어도)\n" #~ " numbered, t 번호가 주어진 백업을 만듭니다\n" #~ " existing, nil 번호가 주어진 백업이 있으면 번호를 주고, 그렇지 않으면\n" #~ " 단순하게 합니다\n" #~ " simple, never 항상 단순 백업을 합니다\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Mike Haertel 그리고 Paul Eggert" # -a SIDE, -e EMPTY 재고려 #, fuzzy #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "입력중에서 동일한 join 필드를 가진 줄의 각각의 쌍에 대해, 표준 입력으로\n" #~ "출력합니다. 기본 join 필드는 첫 번째 필드로, 필드는 공백에 의해 구분 됩니" #~ "다.\n" #~ "<파일1> 혹은 <파일2>가 -일때 (둘 다 -이면 안 됨) 표준 입력에서 읽습니다.\n" #~ "\n" #~ " -a <사이드> <사이드> 파일에서 쌍을 지울 수 없는 줄을 출력합니다\n" #~ " -e <엠프티> 입력 필드가 없는 곳에 <엠프티>를 씁니다.\n" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case 필드를 구분할 때 대소문자를 구별하지 않습니다\n" #~ " -j <필드> (곧 없어질 옵션) `-1 <필드> -2 <필드>'와 동일합니다\n" #~ " -j1 <필드> (곧 없어질 옵션) `-1 <필드>'와 동일합니다\n" #~ " -j2 <필드> (곧 없어질 옵션) `-2 <필드>'와 동일합니다\n" #~ " -o <형식> 출력 줄을 만들 때 <형식>을 따릅니다\n" #~ " -t <문자> 입력 및 출력 필드 구분자로 <문자>를 사용합니다\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v <사이드> -a <사이드>와 동일하지만, join된 줄을 출력하지 않습니" #~ "다\n" #~ " -1 <필드> 파일 1에서 이 <필드>에 대해 join합니다\n" #~ " -2 <필드> 파일 2에서 이 <필드>에 대해 join합니다\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "`-t <문자>' 옵션을 쓰지 않았다면, 줄의 맨 앞의 공백은 무시됩니다. 이 옵션" #~ "을\n" #~ "썼다면 각 필드는 <문자>에 의해 구분됩니다. <필드>는 필드 번호로 1부터 \n" #~ "시작합니다. <형식>은 필드를 쉼표 혹은 공백에 의해 구분되는 형식 지정자" #~ "로, \n" #~ "각각의 형식 지정자는 `<사이드>.<필드>' 혹은 `0'의 형식을 지닙니다. 기본\n" #~ "<형식> 출력으로, join 필드, <파일1>에 남아 있는 필드, <파일2>에 남아 있" #~ "는 \n" #~ "필드의 순서대로 각각은 <문자>에 구분되어 출력됩니다.\n" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "부적절한 필드 번호: `%s'" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "부적절한 필드 지정자: `%s'" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "필드 지정에 부적절한 파일 번호: `%s'" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "여러 문자로 된 탭 `%s'" #~ msgid "both files cannot be standard input" #~ msgstr "두 파일이 모두 표준 입력이면 안 됩니다" #, fuzzy #~ msgid "%s: invalid signal" #~ msgstr "%s: 부적절한 PID" #, fuzzy #~ msgid "%s: invalid process id" #~ msgstr "%s: 부적절한 패턴" #, fuzzy #~ msgid "invalid option -- %c" #~ msgstr "%s: 부적절한 옵션 -- %c\n" #, fuzzy #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "cannot create link %s to %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: 경고: 심볼릭 링크로 하드링크를 만드는 것은 시스템에 따라 안될 수도\n" #~ " 있습니다." #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: 디렉토리는 하드링크할 수 없습니다" #, fuzzy #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "%s: replace %s? " #~ msgstr "%s: `%s'를 바꿀까요? " #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "심볼릭 링크 `%s'를 `%s'에 만들 수 없습니다" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "심볼릭 링크 `%s'를 `%s'에 만들 수 없습니다" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "하드링크 `%s'를 `%s'에 만들 수 없습니다" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "하드링크 `%s'를 `%s'에 만들 수 없습니다" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "하드링크 `%s'를 `%s'에 만들 수 없습니다" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "사용법: %s [OPTION]... SOURCE DEST (첫번째 형식)\n" #~ " 또는: %s [OPTION]... SOURCE... DIRECTORY (두번째 형식)\n" #~ " 또는: %s -d [OPTION]... DIRECTORY... (세번째 형식)\n" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s이(가) 존재하지만 디렉토리가 아닙니다" #, fuzzy #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "사용법: %s [<옵션>] [<파일>]...\n" #, fuzzy #~ msgid "no login name" #~ msgstr "%s: 부적절한 숫자" #, fuzzy #~ msgid "%b %e %Y" #~ msgstr " %Y %b %e %H:%M" #, fuzzy #~ msgid "%b %e %H:%M" #~ msgstr " %Y %b %e %H:%M" #, fuzzy #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "환경변수 COLUMNS의 값에 다음의 잘못된 폭이 지정되었습니다: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "환경변수 COLUMNS의 값에 다음의 잘못된 폭이 지정되었습니다: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "환경변수 TABSIZE의 값에 다음의 잘못된 탭 크기가 지정되었습니다: %s" #, fuzzy #~ msgid "invalid line width: %s" #~ msgstr "부적절한 폭: `%s'" #, fuzzy #~ msgid "invalid tab size: %s" #~ msgstr "부적절한 타입의 문자열 `%s'" #, fuzzy #~ msgid "invalid time style format %s" #~ msgstr "%2$s에 대해 부적절한 인자 %1$s" #, fuzzy #~ msgid "unrecognized prefix: %s" #~ msgstr "인식할 수 없는 옵션 `-%c'" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "LS_COLORS환경변수의 해석할 수 없는 값" #, fuzzy #~ msgid "cannot open directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot determine device and inode of %s" #~ msgstr "%s에 대한 파일 포인터를 재위치할 수 없습니다" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "cannot compare file names %s and %s" #~ msgstr "비교한 문자열은 %s과(와) %s입니다." #, fuzzy #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -g (무시합니다)\n" #~ " -G, --no-group 그룹정보 출력을 하지 않습니다\n" #~ " -h, --human-readable 크기를 사람이 알기 쉽게(1K, 234M, 2G등)표시합" #~ "니다\n" #~ " -H, --si 비슷합니다만 1024배 대신 1000배를 사용합니" #~ "다\n" #~ " --indicator-style=WORD WORD 스타일로 파일 구분을 해 줍니다. 가능한 " #~ "값은:\n" #~ " none (기본값), 종류 (-F), 파일형식 (-p)\n" #~ " -i, --inode 각 파일의 i-node번호를 출력합니다\n" #~ " -I, --ignore=PATTERN 셸 PATTERN와 일치하는 목록은 출력하지 않습니" #~ "다\n" #~ " -k, --kilobytes --block-size=1024와 같습니다\n" #~ " -l 긴 출력 포맷을 사용합니다\n" #~ " -L, --dereference 심볼릭 링크를 따라가 링크된 목록을 출력합니" #~ "다\n" #~ " -m 행구분 없이 쉼표로 구분되는 목록 출력을 합니" #~ "다\n" #~ " -n, --numeric-uid-gid 이름 대신 숫자로 된 UID와 GID를 출력합니다\n" #~ " -N, --literal 목록 이름을 그대로 출력합니다\n" #~ " (콘트롤 문자도 특별히 처리하지 않습니다)\n" #~ " -o 그룹정보 없이 긴 출력 포맷을 사용합니다\n" #~ " -p, --file-type 각 목록을 구분하기 위한 문자(/=@|)를 뒤에 붙" #~ "입니다\n" #~ " -q, --hide-control-chars 출력할 수 없는 문자 대신 ?을 출력합니다\n" #~ " --show-control-chars 출력할 수 없는 문자를 그대로 보여줍니다(기본" #~ "값)\n" #~ " -Q, --quote-name 목록 이름을 큰따옴표 안에 넣습니다\n" #~ " --quoting-style=WORD WORD의 인용 스타일을 사용합니다. 가능한 값" #~ "은:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ " -r, --reverse 정렬순서를 거꾸로 합니다\n" #~ " -R, --recursive 서브디렉토리까지 출력합니다\n" #~ " -s, --size 각 파일의 블록 크기를 출력합니다\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -f, --fields=<리스트> 이 필드만을 출력합니다; 또 -s 옵션이 사용되지\n" #~ " 않았다면 구분자 문자가 들어 있지 않은 줄도\n" #~ " 출력합니다\n" #~ " -n (무시됨)\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper 그리고 Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Paul Rubin 그리고 David MacKenzie" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "사용법: %s [<옵션>] [<파일>]...\n" #~ " 혹은: %s [<옵션>] --check [<파일>]\n" #~ "%s (%d비트) 체크섬을 표시하거나 검사합니다.\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary 콘솔 장치에 이진 데이타를 씁니다\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "다음 두 옵션은 체크섬을 검사할 경우에만 옵션을 쓸 수 있습니다:\n" #~ " --status 출력을 하지 않고, 상태 코드는 성공/실패를 리턴합" #~ "니다\n" #~ " -w, --warn 틀린 형식의 체크섬 줄에 대해 경고합니다\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "체크섬은 %s에 기술된 대로 계산됩니다. 검사할 때, 입력은 이 \n" #~ "프로그램의 출력물이어야 합니다. 기본 모드는 체크섬, 타입을 \n" #~ "나타내는 문자 (이진 파일은 `*', 문서 파일은 ` '), 그리고 각 <파일>의 \n" #~ "이름입니다.\n" #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "%s: 올바른 형식을 갖춘 %s 체크섬 행을 찾지 못했음" #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %lu: 올바르지 않은 형식을 갖춘 %s 체크섬 행" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: 열기 또는 읽기 실패\n" #~ msgid "OK" #~ msgstr "성공" #~ msgid "%s: read error" #~ msgstr "%s: 읽기 오류" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: 올바른 형식을 갖춘 %s 체크섬 행을 찾지 못했음" #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "경고: 열거된 %2$d개의 %3$s 중에서 %1$d개를 읽을 수 없습니다" #~ msgstr[1] "경고: 열거된 %2$d개의 %3$s 중에서 %1$d개를 읽을 수 없습니다" #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "경고: 계산된 %2$d개의 %3$s 중에서 %1$d 개가 서로 일치하지 않습니다" #~ msgstr[1] "" #~ "경고: 계산된 %2$d개의 %3$s 중에서 %1$d 개가 서로 일치하지 않습니다" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "--binary와 --text 옵션은 오직 체크섬을 검사할 때만 의미가 있습니다" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "--status 옵션은 오직 체크섬을 검사할 때만 의미가 있습니다" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "--warn 옵션은 오직 체크섬을 검사할 때만 의미가 있습니다" #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "사용법: %s [<옵션>] [<파일>]...\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ "존재하지 않는 경우 디렉토리를 만듭니다.\n" #~ "\n" #~ " -m, --mode=MODE rwxrwxrwx - umask가 아닌, 권한 모드를 설정합니다" #~ "(chmod)\n" #~ " -p, --parents 필요한 경우 부모 디렉토리도 만듭니다. 있어도 오류가\n" #~ " 아닙니다\n" #~ " -v, --verbose 만들어기는 각각의 디렉토리를 출력합니다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #, fuzzy #~ msgid "created directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "사용법: %s [<옵션>] [<파일>]...\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ "이름 있는 파이프(FIFO)를 NAME이라는 이름으로 만듭니다.\n" #~ "\n" #~ " -m, --mode=MODE a=rw - umask가 아닌, 권한 모드를 설정합니다(chmod)\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #, fuzzy #~ msgid "invalid mode" #~ msgstr "부적절한 숫자" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "사용법: %s [<옵션>]... <집합1> [<집합2>]\n" #, fuzzy #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "TYPE형태의 특별 파일 NAME을 만듭니다.\n" #~ "\n" #~ " -m, --mode=MODE a=rw - umask가 아닌, 권한 모드를 설정합니다(chmod)\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "MAJOR MINOR는 TYPE p형은 안되지만 다른 형에는 설정해야 합니다. TYPE은\n" #~ "다음과 같습니다:\n" #~ "\n" #~ " b 블럭(버퍼링 있는) 특별 파일을 만듭니다.\n" #~ " c, u 캐릭터(버퍼링 없는) 특별 파일을 만듭니다.\n" #~ " p FIFO를 만듭니다\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "블럭 특별 파일을 만들 때에는, major와 minor장치 번호를\n" #~ "지정해야 합니다" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "부적절한 시작 행번호: `%s'" #, fuzzy #~ msgid "block special files not supported" #~ msgstr "블록 특수 파일" #, fuzzy #~ msgid "character special files not supported" #~ msgstr "문자 특수 파일" #, fuzzy #~ msgid "invalid major device number %s" #~ msgstr "부적절한 시작 행번호: `%s'" #, fuzzy #~ msgid "invalid minor device number %s" #~ msgstr "부적절한 시작 행번호: `%s'" #, fuzzy #~ msgid "invalid device %s %s" #~ msgstr "%2$s에 대해 부적절한 인자 %1$s" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "%2$s에 대해 부적절한 인자 %1$s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "인수가 너무 많음" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "SOURCE를 DEST로 이름을 바꾸거나 SOURCE를 DIRECTORY로 옮깁니다.\n" #~ "\n" #~ " --backup[=CONTROL] 지우기 전에 백업본을 만듭니다\n" #~ " -b --backup과 비슷한데 인수를 받지 않는다\n" #~ " -f, --force 이미 존재하는 DEST를 질문 없이 삭제합니" #~ "다.\n" #~ " -i, --interactive 옮기기 전에 여부를 묻습니다\n" #~ " --strip-trailing-slashes 각 SOURCE 인수에서 뒤에 끝나는 슬래시 기호" #~ "를\n" #~ " 삭제\n" #~ " -S, --suffix=SUFFIX 일반적인 백업 접미사를 겹쳐씁니다\n" #~ " --target-directory=DIRECTORY SOURCE의 모든 인수를 DIRECTORY로 옮깁" #~ "니다\n" #~ " -u, --update 오래된 파일과 새 파일만 옮깁니다\n" #~ " -v, --verbose 작업을 출력합니다\n" #~ " -V, --version-control=WORD 일반적인 버전 콘트롤을 겹쳐씁니다\n" #~ " --help 이 도움말을 보여주고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #, fuzzy #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "사용법: %s [<옵션>] [<파일>]...\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "%2$s에 대해 부적절한 인자 %1$s" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "임시 파일을 만들 수 없습니다" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "`%s'의 정보(stat)를 얻을 수 없습니다" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "각 <파일>을 줄번호를 붙여서 표준 출력에 씁니다.\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=<스타일> 본문에 번호를 붙이는 데 <스타일>을 씁니" #~ "다\n" #~ " -d, --section-delimiter=<구분> 논리적 페이지를 구분하는 데 <구분>을 씁" #~ "니다\n" #~ " -f, --footer-numbering=<스타일> 아래단에 번호를 붙이는 데 <스타일>을 씁" #~ "니다\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -f, --header-numbering=<스타일> 윗단에 번호를 붙이는 데 <스타일>을 씁니" #~ "다\n" #~ " -i, --page-increment=<번호> 각 줄의 줄번호 증가치\n" #~ " -l, --join-blank-lines=<번호> <번호>개의 빈 줄은 하나로 취급됩니다.\n" #~ " -n, --number-format=<형식> <형식>에 따라 줄 번호를 씁니다\n" #~ " -p, --no-renumber 페이지가 넘어가도 줄번호를 리셋하지 않습" #~ "니다\n" #~ " -s, --number-separator=<문자열> 줄 번호 다음에 <문자열>을 추가합니다\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=<개수> 각 논리적 페이지에서 첫번째 줄번호\n" #~ " -w, --number-width=<개수> 줄번호를 <개수>열에 씁니다\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "기본 옵션은, `-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn'입니다. <구분>은 논" #~ "리적\n" #~ "페이지를 구분하는 데 쓰이는 두 개의 문자이고, 두 번째 문자가 없다면 " #~ "`.'이 \n" #~ "쓰입니다: `.'을 쓰려면 `\\\\'라고 쓰십시오. <스타일>은 다음 중 하나입니" #~ "다.\n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a 모든 줄에 번호를 붙입니다.\n" #~ " t 빈 줄이 아닌 경우에만 번호를 붙입니다\n" #~ " n 번호를 붙이지 않습니다\n" #~ " p<정규식> <정규식>에 맞는 줄만 번호를 붙입니다\n" #~ "\n" #~ "<형식>은 다음중 하나입니다:\n" #~ "\n" #~ " ln 왼쪽 정렬, 앞에 0을 붙이지 않습니다\n" #~ " rn 오른쪽 정렬, 앞에 0을 붙이지 않습니다\n" #~ " rz 오른쪽 정렬, 앞에 0을 붙입니다\n" #~ "\n" #, fuzzy #~ msgid "line number overflow" #~ msgstr "필드 개수가 0입니다" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "부적절한 필드 번호: `%s'" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "부적절한 숫자" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "필드 지정에 부적절한 파일 번호: `%s'" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "부적절한 시작 행번호: `%s'" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "부적절한 행번호 증가: `%s'" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "부적절한 빈줄의 개수: `%s'" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "부적절한 행번호 필드 폭: `%s'" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "부적절한 행번호 증가: `%s'" #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "인수가 너무 많음" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "사용법: %s [<옵션>]... [<파일>]...\n" #~ " 또는: %s --traditional [<파일>] [[+]<옵셋> [[+]<레이블>]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "<파일>의 내용을, 기본값으로는 8진수 바이트값으로, 표준 출력에 씁니다.\n" #~ "<파일> 인자가 두 개 이상 있는 경우, 그 파일들을 연결해서 입력으로\n" #~ "이용합니다.\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "긴 옵션의 인수는 짧은 옵션에도 꼭 필요합니다.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=<기수> 파일 오프셋을 출력하는 방법을 지정합니다\n" #~ " -j, --skip-bytes=<바이트> 입력의 첫 번째 <바이트> 바이트를 건너 뜁니" #~ "다\n" #, fuzzy #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=<바이트> 입력에서 <바이트> 바이트의 내용만을 표시합니" #~ "다\n" #~ " -s, --strings[=<바이트>] 최소 <바이트> 그래픽 문자의 문자열을 출력합" #~ "니다\n" #~ " -t, --format=<타입> 출력 형식을 지정합니다\n" #~ " -v, --output-duplicates 동일한 줄에 대해서는 *를 표시하지 않습니다\n" #~ " -w, --width[=<바이트>] 출력의 한 줄에 <바이트> 바이트를 출력합니" #~ "다\n" #~ " --traditional 고전적인 형식으로 인자를 받습니다\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "고전적인 형식 지정자를 섞어서 쓸 수도 있습니다. 다음과 같습니다:\n" #~ " -a `-t a'와 동일하고, 문자 이름으로 지정합니다\n" #~ " -b `-t oC'와 동일하고, 8진수 바이트로 지정합니다\n" #~ " -c `-t c'와 동일하고, ASCII 문자 혹은 백슬래쉬 이스케이프로 지정합니" #~ "다\n" #~ " -d `-t u2'와 동일하고, 10진수 unsigned short로 지정합니다\n" #, fuzzy #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f -t fF와 동일하고, 부동 소수점 실수를 선택합니다\n" #~ " -h -t x2와 동일하고, 16진수 short를 선택합니다\n" #~ " -i -t d2와 동일하고, 10진수 short를 선택합니다\n" #~ " -l -t d4와 동일하고, 10진수 long을 선택합니다\n" #~ " -o -t o2와 동일하고, 8진수 short를 선택합니다\n" #~ " -x -t x2와 동일하고, 16진수 short를 선택합니다\n" # 8진수 suffix에 대해서 좀 이상하다 #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "(두번째에 형식이 오는) 과거의 문법에서, <오프셋>은 `-j <오프셋>'을 뜻합니" #~ "다.\n" #~ "<레이블>은 출력할 첫 번째 바이트의 주소를 뜻하고, 내용을 표시할 때마다 " #~ "그\n" #~ "주소에서 증가됩니다. <오프셋>과 <레이블>에서, 0x나 0X 접두어가 붙으면\n" #~ "16진수를 말하며, `.' 접미어는 8진수를 말하고, b는 512를 곱한다는 뜻입니" #~ "다.\n" #~ "\n" #~ "<타입>은 다음중 한 개 이상으로 만들어 집니다:\n" #~ "\n" #~ " a 문자 이름\n" #~ " c ASCII 문자 혹은 백슬래쉬 이스케이프\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[<크기>] 부호있는 10진수, 각 숫자마다 <크기> 바이트\n" #~ " f[<크기>] 부동 소수점, 각 숫자마다 <크기> 바이트\n" #~ " o[<크기>] 8진수, 각 숫자마다 <크기> 바이트\n" #~ " u[<크기>] 부호없는 10진수, 각 숫자마다 <크기> 바이트\n" #~ " x[<크기>] 16진수, 각 숫자마다 <크기> 바이트\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "<크기>는 숫자입니다. doux에서 <타입>의 경우, <크기>는 sizeof(char)의 경" #~ "우\n" #~ "C, sizeof(short)는 S, sizeof(int)는 I, sizeof(long)은 L로 쓸 수 있습니" #~ "다.\n" #~ "<타입>이 f인 경우 <크기>는 sizeof(float)이 되고, D는 sizeof(double), L은\n" #~ "(long double)이 됩니다.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "<기수>는 십진수의 경우 d, 8진수는 o, 16진수는 x, 아무것도 아니면 n입니" #~ "다.\n" #~ "<바이트>는 0x나 0X를 붙인 16진수이며, b 접미어가 붙으면, 512가 곱해 지" #~ "고,\n" #~ "k는 1024, m은 1048576이 곱해 집니다. 어떤 타입이라도 z 접미어를 덧붙이" #~ "면\n" #~ "출력 줄의 끝에 표시 가능한 문자들을 표시하게 됩니다. " #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "-string을 숫자 없이 쓰면 3이라고 가정합니다. --width를 숫자 없이 쓰면 32" #~ "를\n" #~ "가정합니다. 기본값으로 od는 `-A -o -t d2 -w 16'을 씁니다.\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "부적절한 타입의 문자열 `%s'" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "부적절한 형 문자열 `%s';\n" #~ "이 시스템은 %lu 바이트 정수형을 제공하지 않습니다" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "부적절한 형 문자열 `%s';\n" #~ "이 시스템은 %lu 바이트 부동소수점형을 제공하지 않습니다" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "부적절한 문자 %c' -- 형 문자열 `%s'" # combined input 번역 개선 #~ msgid "cannot skip past end of combined input" #~ msgstr "결합된 입력의 끝을 넘어갈 수는 없습니다." #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "출력 주소 기수 `%c'이(가) 부적절합니다; [odxn]중의 하나의 문자이어야 합니" #~ "다" #~ msgid "no type may be specified when dumping strings" #~ msgstr "문자열을 덤프할 때에는 타입이 지정되면 안됩니다" #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "호환 모드에서는 최대 셋까지의 인수만을 지정할 수 있습니다" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "경고: 부적절한 폭 %lu; 대신 %d을(를) 사용함" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: 형식=\"%s\" 폭=%d\n" #~ msgid "standard input is closed" #~ msgstr "표준 입력이 닫혔음" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "순서대로 각 <파일>에서 대응되는 줄들을, TAB으로 구분되어 구성해, 표준\n" #~ "출력으로 출력합니다.\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=<리스트> 탭 대신에 <리스트> 안에 있는 문자들을 사용합" #~ "니다\n" #~ " -s, --serial 동시에 하지 않고 한 번에 한 개의 파일을 씁니다\n" #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "부적절한 문자 %c' -- 형 문자열 `%s'" #, fuzzy #~ msgid "empty file name" #~ msgstr "일반 빈 파일" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Jay Lepreau 그리고 David MacKenzie" #, fuzzy #~ msgid "Directory: " #~ msgstr "디렉토리" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "--string을 사용할 땐 파일이 지정될 수 없습니다" #, fuzzy #~ msgid "Roland Huebner" #~ msgstr "Pete TerMaat 그리고 Roland Huebner" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=<첫_페이지>[:<끝_페이지>]' 인수가 없습니다" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "부적절한 타입의 문자열 `%s'" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l 페이지_길이' 부적절한 행의 개수: `%s'" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N 번호' 부적절한 시작 행 번호: `%s'" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o 여백' 부적절한 행 옵셋: `%s'" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-l 페이지_폭' 부적절한 문자 개수: `%s'" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-l 페이지_폭' 부적절한 문자 개수: `%s'" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "병렬로 인쇄할 때에는 열의 개수를 지정할 수 없습니다." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "병렬 인쇄와 열에 걸쳐서 인쇄하는 것을 동시에 지정할 수는 없습니다>" #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "" #~ "`-%c' 인자에서 불필요한 문자 혹은 부적절한 숫자가 들어 있습니다: `%s'" #~ msgid "page width too narrow" #~ msgstr "페이지 폭이 너무 좁음" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "필드 개수가 0입니다" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "<파일>(들)을 페이지별로 나누거나 여러 열로 나누어 인쇄하기 좋도록 만듭니" #~ "다.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +<첫_페이지>[:<끝_페이지>], --pages=<첫_페이지>[:<끝_페이지>]\n" #~ " <첫_페이지>[<끝_페이지]에서 인쇄를 시작합니다[끝냅니" #~ "다].\n" #~ " -<열>, --columns=<열>\n" #~ " <열> 열의 출력물을 만들어 그 열들을 페이지 단위로\n" #~ " 인쇄합니다 (-a 옵션이 사용되지 않는다면). 페이지에" #~ "서 \n" #~ " 각각의 열에 들어 있는 줄 수가 같게 유지합니다.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across 한 줄 한 줄을 여러 열에 걸쳐서 인쇄합니다. -<열> 옵션" #~ "과\n" #~ " 같이 씁니다.\n" #~ " -c, --show-control-chars\n" #~ " (^G와 같이) ^ 표시를 쓰지 않고 8진수 백슬래쉬 표시를 " #~ "씁니다\n" #~ " -d, --double-space\n" #~ " 한 줄씩 띄워서 인쇄합니다\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=<형식>\n" #~ " 윗단의 날짜 표시를 <형식>대로 합니다\n" #~ " -e[<문자>[<폭>]], --expand-tabs[=<문자>[<폭>]]\n" #~ " 입력된 <문자> 문자를 <폭>개의 탭(8)으로 바꿉니다.\n" #~ " -F, -f, --form-feed\n" #~ " 페이지를 구분하는 데 newline 대신 form feed를 씁니다\n" #~ " (-F는 3줄의 페이지 헤더, -F 없이는 5줄의 헤더와 \n" #~ " trailer)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h <윗단>, --header=<윗단>\n" #~ " 페이지 윗단에 파일이름 대신에 가운데 정렬된 <윗단>을 " #~ "씁니다\n" #~ " -h \"\"은 빈 줄을 씁니다. -h\"\"라고 쓰지 마십시오.\n" #~ " -i[<문자>[<폭>]], --output-tabs[=<문자>[<폭>]]\n" #~ " 공백을 탭 <폭>(8)만큼의 <문자>로 바꿉니다\n" #~ " -J, --join-lines 전체 줄을 합칩니다. -W 줄 잘라내기를 쓰지 않도록 만들" #~ "고, 열 \n" #~ " 정렬도 없습니다. --sep-string=[<문자열>]은 구분자를 지" #~ "정합니다\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l <페이지_길이>, --length=<페이지_길이>\n" #~ " 페이지 길이를 <페이지_길이> (66) 줄로 만듭니다\n" #~ " (줄 수의 기본값은 56이고, -F 옵션을 쓰면 63입니다)\n" #~ " -m, --merge 모든 파일을 병렬적으로, 각 열에 하나씩 씁니다. 넘어가" #~ "는\n" #~ " 줄을 자르지만, -J 옵션으로 여러 줄을 합쳐서 줄을 채웁" #~ "니다\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[<구분>[<숫자>]], --number-lines[=<구분>[<숫자>]]\n" #~ " <숫자>개의 숫자, 다음에 <구분>(탭)으로 줄마다 번호를\n" #~ " 매깁니다. 기본적으로 1번째 줄부터 세어 나갑니다.\n" #~ " -N <개수>, --first-line-number=<개수>\n" #~ " 첫 번째 페이지의 첫 번째 줄을 <개수>로 해서 줄 번호" #~ "를\n" #~ " 세어 나갑니다 (+<첫_페이지> 참고)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o <여백>, --indent=<여백>\n" #~ " <여백>(0)개의 공백문자를 각 줄 앞에 씁니다. -w나 -W에" #~ "는\n" #~ " 영향을 주지 않으며, <여백>은 <페이지_폭>에 더해집니" #~ "다\n" #~ " -r, --no-file-warnings\n" #~ " 파일을 열 수 없을 때 경고를 생략합니다.\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[<문자>],--separator[=<문자>]\n" #~ " 각 열을 한 개의 <문자>로 구분합니다. <문자>의 기본값" #~ "은 \n" #~ " -w가 없으면 탭 문자이고, -w가 있으면 구분문자가 없습니" #~ "다.\n" #~ " -s[<문자>]는 모든 3열 옵션들의 (-<열>|-a -<열>|-m) \n" #~ " 넘어가는 줄 자르기 기능을 (-w가 없으면) 끕니다.\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -S<문자열>, --sep-string[=<문자열>]\n" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " 열들을 -S 없이 <문자열>로 구분합니다. \n" #~ " 기본 구분자는 탭 문자와 -J이고 그 외의 경우 공백 문자" #~ "입니다\n" #~ " (-S\" \"와 동일). 열 관련 옵션에 영향을 주지 않습니" #~ "다\n" #~ " -t, --omit-header 페이지 헤더와 트레일러를 생략합니다\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " 페이지 헤더와 트레일러를 생략하고, 입력 파일에 들어 " #~ "있는\n" #~ " 폼피드에 의한 페이지 구분들을 없앱니다\n" #~ " -v, --show-nonprinting\n" #~ " 8진수 백슬래쉬 표시를 사용합니다\n" #~ " -w <페이지_폭>, --width=<페이지_폭>\n" #~ " 텍스트-열 출력에서, -s[<문자>]를 쓰지 않았을 경우에\n" #~ " 페이지 폭을 <페이지_폭>(72)으로 합니다\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W <페이지_폭>, --page-width=<페이지_폭>\n" #~ " 페이지이 폭을 <페이지_폭>(72)으로 맞춥니다. 넘어가" #~ "는 \n" #~ " 줄은 잘려지고, -J 옵션과 같은 효과가 나오는 것을 제외" #~ "하면, \n" #~ " -S나 -s에 영향을 받지 않습니다.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "nn <= 10 이거나 -F 옵션을 쓰고 n <= 3 인 경우 -l 옵션은 -T를 포함합니" #~ "다. \n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #, fuzzy #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "부적절한 문자 클래스 `%s'" #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "부적절한 폭: `%s'" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "부적절한 폭 옵션 `%s'" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: 부적절한 필드 지정 `%s'" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (정규식 `%s'에 대해)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "사용법: %s [<옵션>]... [<입력>]... (-G 없이)\n" #~ " 혹은: %s -G [<옵션>]... [<입력> [<출력>]]\n" #~ "\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "입력 파일에 들어 있는 단어들의 permuated 인덱스를 그 문맥과 함께 출력합니" #~ "다\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference 자동으로 만든 참조를 출력합니다\n" #~ " -C, --copyright 저작권과 복사 조건을 표시합니ㄷ\n" #~ " -G, --traditional System V `ptx'와 더 비슷하게 동작합니다\n" #~ " -F, --flag-truncation=<문자열> 넘어간 줄을 자를때 <문자열>로 표시합니" #~ "다\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=<문자열> `xx' 대신에 사용할 매크로 이름\n" #~ " -O, --format=roff 출력을 roff로 합니다\n" #~ " -R, --right-side-refs 참조를 오른 쪽에 씁니다. -w의 경우 효과 " #~ "없음\n" #~ " -S, --sentence-regexp=<정규식> 줄의 끝이나 문자의 끝을 나타내는 정규식\n" #~ " -T, --format=tex 출력을 TeX으로 합니다\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=<정규식> 키워드를 구분하는 데 <정규식>을 씁니다\n" #~ " -b, --break-file=<파일> 이 <파일>에 단어 구분 문자가 들어 있습니" #~ "다\n" #~ " -f, --ignore-case 정렬에서 소문자와 대문자를 구별하지 않습" #~ "니다\n" #~ " -g, --gap-size=<개수> 출력할 필드에서 열 사이의 간격\n" #~ " -i, --ignore-file=<파일> 이 <파일>에 들어 있는 단어들을 무시합니" #~ "다\n" #~ " -o, --only-file=<파일> 이 <파일>에 들어 있는 단어들만 읽습니다\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references 각 줄의 첫 번째 필드가 참조입니다\n" #~ " -t, --typeset-mode - 구현되지 않았음 -\n" #~ " -w, --width=<개수> 출력할 열의 폭 (참조는 제외하고)\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다. `-" #~ "F /'가 기본값입니다.\n" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "부적절한 폭: `%s'" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "%s의 그룹을 %s로 바꾸는데 실패했습니다\n" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "옵션아닌 인수가 너무 많음" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "%s: <경고>: 순환 디렉토리 구조.\n" #~ "이것은 대부분의 경우 파일시스템이 손상되었다는 것을 의미합니다.\n" #~ "**시스템 관리자에게 알리십시오**\n" #~ "다음 두 디렉토리가 같은 inode 번호를 가졌습니다:\n" #, fuzzy #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "%s: descend into directory %s? " #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: 쓰기 보호된 `%s'파일을 지울까요? " #, fuzzy #~ msgid "%s: remove %s %s? " #~ msgstr "%s: `%s'를 지울까요? " #, fuzzy #~ msgid "removed directory: %s\n" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "cannot remove directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: `%s'를 지울까요? " #, fuzzy #~ msgid "removing directory, %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ "비어 있다면 디렉토리를 지웁니다.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " 디렉토리를 완전히 비우지 못해서 생기는 실패는\n" #~ " 무시합니다\n" #~ " -p, --parents 비어있는 경우 부모 디렉토리를 지웁니다\n" #~ " 예) `rmdir -p a/b/c'는 `rmdir a/b/c a/b a'과 비슷합니" #~ "다\n" #~ " -v, --verbose 처리되는 모든 디렉토리에 대해 메시지를 출력합니다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "no command specified" #~ msgstr "오직 한 개의 인수만 지정할 수 있습니다" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "사용법: %s [<옵션>]... [<입력>]... (-G 없이)\n" #~ " 혹은: %s -G [<옵션>]... [<입력> [<출력>]]\n" #~ "\n" #, fuzzy #~ msgid "invalid floating point argument: %s" #~ msgstr "부적절한 시작 행번호: `%s'" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "부적절한 타입의 문자열 `%s'" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "접미사에 %% 변환 지정자가 너무 많음" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "부적절한 타입의 문자열 `%s'" #, fuzzy #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "문자열을 덤프할 때에는 타입이 지정되면 안됩니다" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "null 그룹으로 바꿀 수 없습니다" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "사용자와 그룹을 모두 생략할 수는 없습니다" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "사용자와 그룹을 모두 생략할 수는 없습니다" #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "사용법: %s [<옵션>] [<파일>]...\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "stat 실패" #~ msgid "%s: cannot rewind" #~ msgstr "%s: 돌아갈 수 없습니다" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: 진행중 %lu/%lu (%s)..." #, fuzzy #~ msgid "%s: error writing at offset %s" #~ msgstr "%s에 쓰는 도중 오류 발생" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "파일 닫기 실패" #, fuzzy #~ msgid "%s: file too large" #~ msgstr "%s: 파일이 너무 깁니다" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: 진행중 %lu/%lu (%s)...%s" #, fuzzy #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: 진행중 %lu/%lu (%s)...%s/%s" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "stat 실패" #, fuzzy #~ msgid "%s: invalid file type" #~ msgstr "%s: 부적절한 접미어 길이" #~ msgid "%s: file has negative size" #~ msgstr "%s: 파일이 음의 크기를 갖습니다" #, fuzzy #~ msgid "%s: error truncating" #~ msgstr "%s: 파일이 잘렸음" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "stat 실패" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: 쓰기 전용 파일 디스크립터는 파기할 수 없습니다" #~ msgid "%s: removing" #~ msgstr "%s: 삭제중" #, fuzzy #~ msgid "%s: renamed to %s" #~ msgstr "%s: 읽기 오류" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s: 파일이 너무 깁니다" #~ msgid "%s: removed" #~ msgstr "%s: 삭제되었음" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s: 파일이 너무 깁니다" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s: 파일이 너무 깁니다" #, fuzzy #~ msgid "%s: invalid number of passes" #~ msgstr "%s: 부적절한 초" #, fuzzy #~ msgid "%s: invalid file size" #~ msgstr "%s: 부적절한 접미어 길이" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "사용법: %s [<옵션>]... [<입력>]... (-G 없이)\n" #~ " 혹은: %s -G [<옵션>]... [<입력> [<출력>]]\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "각 <파일>에서 선택한 줄들만 표준 출력에 표시합니다.\n" #~ "\n" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "부적절한 숫자" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "부적절한 폭: `%s'" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "%s를 지웁니다\n" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "불필요한 피연산자 `%s'" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "부적절한 필드 번호: `%s'" #, fuzzy #~ msgid "cannot read realtime clock" #~ msgstr "링크 `%s'를 만들 수 없습니다" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "모든 <파일>(들)을 연결해서 정렬한 결과를 표준 출력에 씁니다.\n" #~ "\n" #~ "정렬 옵션은 다음과 같습니다:\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks 앞에 나오는 공백을 무시합니다\n" #~ " -d, --dictionary-order 공백, 알파벳, 숫자만을 고려합니다\n" #~ " -f, --ignore-case 소문자와 대문자를 구별하지 않습니다\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort 일반적인 수치 값에 따라 비교합니다\n" #~ " -i, --ignore-nonprinting 표시 가능한 문자만 고려합니다\n" #~ " -M, --month-sort (그외) < `JAN' < ... < `DEC' 의 순서대로 비" #~ "교\n" #~ " -n, --numeric-sort 문자열의 수치 값에 따라 비교합니다\n" #~ " -r, --reverse 비교의 결과를 뒤바꿉니다\n" #~ "\n" # last-resort comparison? #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "그 외 옵션:\n" #~ "\n" #~ " -c, --check 입력이 정렬되었는지 검사합니다; 정렬하지는 않" #~ "습니다\n" #~ " -k, --key=POS1[,POS2] POS1에서 키를 시작하고, POS2에서 끝냅니다 (기" #~ "준 1)\n" #~ " -m, --merge 이미 정렬된 파일들을 합칩니다; 정렬하지는 않습" #~ "니다\n" #~ " -o, --output=<파일> 결과를 표준 출력 대신에 <파일>에 씁니다\n" #~ " -s, --stable 마지막-재정렬 비교과정을 없애 정렬을 안정화합" #~ "니다\n" #~ " -S, --buffer-size=<크기> 메인 메모리 버퍼를 <크기>만큼 씁니다\n" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=<구분> 공백을 (빈칸으로 바꾸는 대신) <구분>으로 " #~ "바꿈\n" #~ " -T, --temporary-directory=DIR 임시 파일에 $TMPDIR이나 %s 대신 <디렉토리" #~ ">를\n" #~ " 사용합니다. 옵션 여러 개는 여러 개 디렉토리" #~ "를 지정\n" #~ " -u, --unique -c와 같이 사용: 그 외에는 엄격한 순서를 검사합" #~ "니다:\n" #~ " 동일한 것중 첫 번째만 출력합니다\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated 줄의 끝에 줄바꿈 대신 바이트 0을 씁니다\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS는 `F[.C][OPTS]'입니다. 여기서 F는 필드 번호이고 C는 필드의 문자 \n" #~ "위치입니다. OPTS는 한 개 혹은 그 이상의 한글자로 된 순서 지정 옵션으로,\n" #~ "해당 키에 대한 기본 순서 옵션에 우선합니다. 키가 주어지지 않으면, 전체\n" #~ "줄을 키로 취급합니다.\n" #~ "\n" #~ "<크기> 다음에는 다음 곱하기 접미어가 따라올 수 있습니다:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "%% 문자는 메모리의 1퍼센트, b는 1, k는 1024 (기본값), 그 외에 M, G, T, P, " #~ "E, Z, Y.\n" #~ "\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #~ "\n" #~ "*** 경고 ***\n" #~ "환경변수에 지정된 로케일이 정렬 순서에 영향을 줍니다.\n" #~ "바이트값에 따라 정렬된 전통적인 정렬 방식을 원한다면 \"LC_ALL=C\"로\n" #~ "환경변수를 세팅하십시오\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "%s에 쓰는 도중 오류 발생" #~ msgid "cannot create temporary file" #~ msgstr "임시 파일을 만들 수 없습니다" #~ msgid "open failed" #~ msgstr "파일 열기 실패" #, fuzzy #~ msgid "fflush failed" #~ msgstr "파일 닫기 실패" #~ msgid "close failed" #~ msgstr "파일 닫기 실패" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "파일 열기 실패" #, fuzzy #~ msgid "couldn't execute %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "임시 파일을 만들 수 없습니다" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "임시 파일을 만들 수 없습니다" #, fuzzy #~ msgid "couldn't execute %s -d" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "write failed" #~ msgstr "파일 쓰기 실패" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "stat failed" #~ msgstr "stat 실패" #~ msgid "read failed" #~ msgstr "파일 읽기 실패" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: 순서가 맞지 않음: " #~ msgid "standard error" #~ msgstr "표준 오류" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: 부적절한 필드 지정 `%s'" # count? #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: `%s' 시작 부분에 부적절한 갯수" #~ msgid "invalid number after `-'" #~ msgstr "`-' 다음에 부적절한 숫자" #~ msgid "invalid number after `.'" #~ msgstr "`.' 다음에 부적절한 숫자" #~ msgid "stray character in field spec" #~ msgstr "필드 스펙에 벗어난 문자" #~ msgid "invalid number at field start" #~ msgstr "필드 처음에 부적절한 숫자" #~ msgid "field number is zero" #~ msgstr "필드 개수가 0입니다" #~ msgid "character offset is zero" #~ msgstr "문자 오프셋이 0입니다" #~ msgid "invalid number after `,'" #~ msgstr "`,' 다음에 부적절한 숫자" # extra operand? 뭔 소리야? #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "-c 옵션에서는 추가 피연산자 `%s'을(를) 쓸 수 없습니다" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "사용법: %s [<옵션>] [<입력> [<접두어>]]\n" #, fuzzy #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "입력을 고정된 크기의 조각 <접두어>aa, <접두어>ab, ... 으로 나누어 씁니다; " #~ "기본\n" #~ "<접두어>는`x'입니다. <입력>이 주어지지 않거나, <입력>이 `-'이면, 표준 입" #~ "력을\n" #~ "읽습니다.\n" #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N N만큼의 길이의 접미어를 사용합니다 (기본값 %d)\n" #~ " -b, --bytes=<크기> 출력 파일당 <크기> 바이트를 씁니다\n" #~ " -C, --line-bytes=<크기> 출력 파일당 최대 <크기> 바이트만큼의 줄을 씁니" #~ "다\n" #~ " -l, --lines=<개수> 출력 파일당 <개수> 줄만큼의 줄을 씁니다\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose 진단 내용을 각 출력 파일을 열기 직전에 표준 오류" #~ "로\n" #~ " 출력합니다\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "파일 `%s'을(를) 만듦\n" #~ msgid "cannot split in more than one way" #~ msgstr "한 가지 이상의 방법으로 분할할 수 없습니다" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: 부적절한 접미어 길이" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: 부적절한 바이트의 개수" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: 부적절한 행의 개수" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "%s: 일련번호 `%.*s'은(는) 너무 큽니다" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "부적절한 행의 개수" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: 인식할 수 없는 옵션 `%c%s'\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s: 부적절한 패턴" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "문자열 끝에 부적절한 역슬래쉬 이스케이프" #, fuzzy #~ msgid "cannot read file system information for %s" #~ msgstr "%s에 대한 파일 포인터를 재위치할 수 없습니다" #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "사용법: %s [<옵션>] [<파일>]...\n" #, fuzzy #~ msgid "only one device may be specified" #~ msgstr "오직 한 개의 인수만 지정할 수 있습니다" #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "--string과 --check 옵션은 상호 배타적입니다" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "%2$s에 대해 부적절한 인자 %1$s" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "%2$s에 대해 애매한 인자 %1$s" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "부적절한 폭: `%s'" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "부적절한 행번호 증가: `%s'" #, fuzzy #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "`%s'디렉토리를 지울 수 없습니다" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "사용자와 그룹을 모두 생략할 수는 없습니다" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "사용자와 그룹을 모두 생략할 수는 없습니다" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "사용자와 그룹을 모두 생략할 수는 없습니다" #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Kayvan Aghaiepour 그리고 David MacKenzie" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "각 파일에 대한 체크섬과 블럭의 개수를 인쇄합니다.\n" #~ "\n" #~ " -r -s를 무시, BSD 합 알고리즘 사용, 1K 블럭 사용\n" #~ " -s, --sysv 시스템 V 합 알고리즘 사용, 512 바이트 블럭 사용\n" #, fuzzy #~ msgid "ignoring all arguments" #~ msgstr "인수가 너무 많음" #~ msgid " --help display this help and exit\n" #~ msgstr " --help 이 도움말을 표시하고 끝냅니다\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 끝냅니다\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "<%s>(으)로 버그를 알려 주십시오.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "각 <파일>을 마지막 줄부터 표준 출력에 씁니다.\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before 구분자를 뒤에 놓지 않고 앞에 놓습니다\n" #~ " -r, --regex 구분자를 정규식으로 생각합니다\n" #~ " -s, --separator=<문자열> 줄바꿈 대신에 <문자열>을 구분자로 씁니다\n" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "파일 닫기 실패" #, fuzzy #~ msgid "record too large" #~ msgstr "%s: 파일이 너무 깁니다" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "임시 파일을 만들 수 없습니다" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "`%s'를 `%s'로 이동할 수 없습니다" #, fuzzy #~ msgid "%s: write error" #~ msgstr "쓰기 오류" #~ msgid "separator cannot be empty" #~ msgstr "구분 단위가 빈 문자열이 될 수는 없습니다" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "각 <파일>의 맨 마지막 %d줄을 표준 출력에 표시합니다.\n" #~ "두 개 이상의 <파일>의 경우, 각각의 파일마다 파일이름을 나타내는 헤더를 먼" #~ "저 \n" #~ "표시합니다. <파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습" #~ "니다.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry 파일을 열 때 접근 불가능하거나, 나중에 \n" #~ " 접근 불가능해 지더라도 계속해서 파일 열기를\n" #~ " 시도합니다 -- -f와 같이 쓰면 유용합니다\n" #~ " -c, --bytes=N 마지막 N바이트를 출력합니다\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " 파일이 늘어남에 다라 추가된 데이타를 출력합니" #~ "다;\n" #~ " -f, --follow, --follow=descriptor는 \n" #~ " 같은 기능을 합니다\n" #~ " -F --follow=name --retry와 같습니다\n" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N 마지막 N줄을 (마지막 %d줄 대신) 출력합니다\n" #~ " --max-unchanged-stats=N\n" #~ " --follow=name과 같이 써서, N(기본값 %d)번 이후" #~ "로\n" #~ " 크기가 바뀌지 않은 <파일>을 다시 열어서,\n" #~ " 파일이 지워지거나 이름이 바뀌지 않았는지 검사합" #~ "니다\n" #~ " (회전된 로그 파일의 경우 이러합니다)\n" #, fuzzy #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID -f와 같이 쓰여, 프로세스 ID PID가 죽으면 끝납니" #~ "다\n" #~ " -q, --quiet, --silent 파일이름이 들어 있는 헤더를 출력하지 않습니다\n" #~ " -s, --sleep-interval=S -f와 같이 써서, 각각을 반복할 때마다 약 \n" #~ " S초(기본값 1초)만큼 지속되도록 합니다\n" #~ " -v, --verbose 언제나 파일이름이 들어 있는 헤더를 출력합니다\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "만약 N(바이트수나 줄의 개수) 앞에 `+'가 오는 경우, 각 파일의 \n" #~ "처음에서부터 N번째부터 시작합니다. 그 외의 경우 파일의 마지막 N개를 \n" #~ "표시합니다. N 뒤에 곱하기 접미어가 올 수 있습니다: b는 512, k는 1024, m" #~ "은 \n" #~ "1048576 (1메가)입니다.\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "--follow (-f) 옵션을 쓰면, tail은 파일 기술자를 따라다니게 됩니다. 즉 \n" #~ "tail된 파일의 이름이 변경되었더라도, tail은 계속해서 그 끝을 따라다니게 \n" #~ "됩니다. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "이러한 기본 동작 방식은 파일 디스크립터가 아닌 파일 이름을 추적할 \n" #~ "때는 부적절합니다(예를 들어 로그 회전의 경우). 그 경우에 `--" #~ "follow=name'을 \n" #~ "사용하십시오. 이렇게 하면 tail은 그 파일의 이름을 추적합니다. 정기적으" #~ "로 \n" #~ "파일을 다시 열어 지워졌거나 다른 프로그램에 의해 다시 만들어 졌는지 여부" #~ "를 \n" #~ "검사하게 될 것입니다.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "%s(fd=%d)을(를) 닫습니다 " #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: 상대 오프셋 %s%s로(으로) 갈 수 없습니다" #, fuzzy #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: 끝 상대 오프셋 %s%s로(으로) 갈 수 없습니다" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "`%s'이(가) 접근 불가능하게 되었습니다" # 좀 더 자연스럽게 #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "`%s'이(가) tail을 실행할 수 없는 파일로 대체되었습니다; 이 이름은 포기합니" #~ "다" #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "`%s'이(가) 접근 가능하게 되었습니다" # 좀 더 자연스럽게 #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "`%s'이(가) 나타났습니다; 새로운 파일의 끝에 이어서 나타났습니다" # 좀 더 자연스럽게 #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "" #~ "`%s'이(가) 대체되었습니다; 새로운 파일의 끝에 이어서 대체되었습니다" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s의 소유자 그리고/혹은 그룹을 바꿀 수 없습니다" #~ msgid "%s: file truncated" #~ msgstr "%s: 파일이 잘렸음" #~ msgid "no files remaining" #~ msgstr "파일이 남아 있지 않습니다" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "`%s'은(는) 이런 종류의 파일 뒤에 이어서 나올 수 없습니다; 이 이름은 포기합" #~ "니다" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "%s은(는) 너무 큽니다" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: 열기중에 바뀌지 않은 stat의 최대 개수가 부적절합니다" #~ msgid "%s: invalid PID" #~ msgstr "%s: 부적절한 PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: 부적절한 초" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "경고: --retry는 --follow=name 옵션을 사용했을 경우만 유효합니다" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "경고: PID 무시; `--pid=PID'는 --follow 옵션과 같이 사용했을 경우만 유효합" #~ "니다" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "경고: `--pid=PID'는 이 시스템에서 지원하지 않습니다" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "임시 파일을 만들 수 없습니다" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "<파일>이 주어지지 않거나 - 이면 표준 입력을 읽습니다.\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "%2$s에 대해 애매한 인자 %1$s" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "부적절한 숫자" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "알 수 없는 시스템 오류" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "알 수 없는 시스템 오류" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "인수가 너무 많음" #, fuzzy #~ msgid "Jim Kingdon" #~ msgstr "Mike Haertel 그리고 Paul Eggert" #, fuzzy #~ msgid "creating %s" #~ msgstr "파일 `%s'을(를) 만듦\n" #, fuzzy #~ msgid "cannot touch %s" #~ msgstr "`%s'에서 ioctl을 할 수 없습니다" #, fuzzy #~ msgid "setting times of %s" #~ msgstr "%s의 시간을 유지합니다" #, fuzzy #~ msgid "cannot specify times from more than one source" #~ msgstr "한 가지 이상의 방법으로 분할할 수 없습니다" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "사용법: %s [<옵션>]... <집합1> [<집합2>]\n" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "표준 입력으로부터 문자들을 옮기고, 줄이고, 그리고/혹은 지워서 표준 출력" #~ "에 \n" #~ "출력합니다.\n" #~ "\n" #~ " -c, --complement 먼저 <집합1>의 여집합을 취합니다\n" #~ " -d, --delete <집합1>의 문자들을 지우고, 옮기지 않습니다\n" #~ " -s, --squeeze-repeats 같은 문자들의 반복을 하나의 문자로 만듭니다\n" #~ " <집합1>에서 해당 문자가 한 번만 나타나게 됩니" #~ "다\n" #~ " -t, --truncate-set1 먼저 <집합1>을 <집합2>의 길이에 맞게 자릅니다\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN 8진수 값 NNN의 문자 (1개에서 3개의 8진수 숫자)\n" #~ " \\\\ 백슬래쉬\n" #~ " \\a 소리나는 BEL\n" #~ " \\b 백스페이스\n" #~ " \\f 폼피드\n" #~ " \\n 줄바꿈\n" #~ " \\r 리턴\n" #~ " \\t 수평 탭\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v 수직 탭\n" #~ " CHAR1-CHAR2 CHAR1에서 CHAR2까지의 (커지는 순서대로) 모든 문자\n" #~ " [CHAR*] <집합2>에서, <집합1>의 길이만큼 CHAR를 복사\n" #~ " [CHAR*REPEAT] CHAR의 REPEAT번 반복, REPEAT가 0으로 시작하면 8진수\n" #~ " [:alnum:] 모든 문자 및 숫자\n" #~ " [:alpha:] 모든 문자\n" #~ " [:blank:] 모든 수평 공백문자들\n" #~ " [:cntrl:] 모든 컨트롤 문자\n" #~ " [:digit:] 모든 숫자\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] 모든 표시 가능한 문자, 공백은 포함하지 않음\n" #~ " [:lower:] 모든 소문자\n" #~ " [:print:] 모든 표시 가능한 문자, 공백 포함\n" #~ " [:punct:] 모든 문장 기호 문자\n" #~ " [:space:] 모든 수평 및 수직 공백문자\n" #~ " [:upper:] 모든 대문자\n" #~ " [:xdigit:] 모든 16진수 숫자\n" #~ " [=CHAR=] CHAR와 동일한 모든 문자\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "-d가 주어지지 않고 <집합1>과 <집합2>가 있는 경우에 문자를 옮깁니다.\n" #~ "-t는 옮김의 경우에만 쓸 수 있습니다. <집합2>는 마지막 문자를\n" #~ "필요한 만큼 반복해 <집합1>의 길이만큼 확장됩니다. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "<집합2>의 문자가 더\n" #~ "많으면 더 많은 문자들은 무시됩니다. [:lower:]와 [:upper]만이\n" #~ "계속 값이 커지면서 확장됩니다; 옮김의 경우 <집합2>에서 그렇게 되며,\n" #~ "이는 대소문자 변환을 지정할 경우에만 사용됩니다. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "옮김이나 지움\n" #~ "어느 것도 아닌 경우에 -s는 <집합1>을 사용합니다; 그 외에 줄임은 <집합2>" #~ "를\n" #~ "사용하며 옮김이나 지움 이후에 일어납니다.\n" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "경고: 애매한 8진수 이스케이프 \\%c%c%c은(는) 2바이트 시퀀스\n" #~ "\t\\0%c%c, `%c'로(으로) 해석됩니다" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "%s: 경고: 심볼릭 링크로 하드링크를 만드는 것은 시스템에 따라 안될 수도\n" #~ " 있습니다." #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "범위 지정 `%s-%s'은(는) 순서가 사전순서의 역방향입니다" #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "[c*n] 구문에 부적절한 반복 회수 `%s'" #~ msgid "missing character class name `[::]'" #~ msgstr "문자 클래스 이름이 빠졌습니다 `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "동격 클래스 문자가 빠졌습니다 `[==]'" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "부적절한 문자 클래스 `%s'" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: 동일 클래스 피연산자는 하나의 문자이어야 합니다" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "필드 스펙에 벗어난 문자" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "[c*] 반복 구성문은 string1에서는 쓸 수 없습니다" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "[c*] 반복 구성문은 string2에서 오직 한 개만 쓸 수 있습니다" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "[=c=] 표현은 옮김의 경우 string2에서 쓸 수 없습니다" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "집합1이 잘려나가지 않는다면, string2는 빈 집합이어서는 안 됩니다" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "문자 클래스의 여집합으로 옮길 경우에는,\n" #~ "string2는 그 도메인의 모든 문자를 하나의 문자로 매핑해야 합니다" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "옮김의 경우, string2에 나타날 수 있는 문자 클래스는 `upper'와 \n" #~ "`lower'뿐입니다" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "번역할 때에만 [c*] 구문이 문자열2에 나타날 수 있습니다" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "번역할 때 두 문자열이 주어져야 합니다" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "반복줄임 없이 지우는 경우 1개의 string만이 주어져야 합니다" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "맞지 않는 [:upper:] 그리고/혹은 [:lower:] 구성" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "사용법: %s [옵션] [<파일>]\n" #~ "<파일>의 partial 정렬에 따르는 완전히 정렬된 리스트를 씁니다.\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #~ "\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: 입력에 루프가 들어가 있습니다 loop:" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: 입력에 루프가 들어가 있습니다 loop:" #, fuzzy #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "사용법: %s [<옵션>] [<파일>]...\n" #, fuzzy #~ msgid "cannot get system name" #~ msgstr "임시 파일을 만들 수 없습니다" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "각 <파일>의 탭을 공백문자로 변환하여, 표준 출력에 씁니다.\n" #~ "<파일>이 주어지지 않거나, <파일>이 `-'이면, 표준 입력을 읽습니다.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all (최초의 공백문자가 아닌) 모든 공백문자를 변환합니" #~ "다\n" #~ " -t, --tabs=<개수> 탭이 <개수>만큼의 문자만큼 떨어지게 만듭니다\n" #~ " -t, --tabs=<리스트> 명시적으로 탭 위치를 쉼표로 구분해 지정합니다\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "%s은(는) 너무 큽니다" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "사용법: %s [옵션]... [<입력> [<출력>]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "<입력>(혹은 표준 입력)에서 동일한 줄을 모두 지우고 한 개만 남겨 놓고\n" #~ "모두 지워서 <출력>(혹은 표준 출력)에 씁니다.\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count 줄 앞에 반복된 회수를 씁니다\n" #~ " -d, --repeated 반복된 줄만 표시합니다\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=delimit-method] 모든 반복된 줄을 표시합니다\n" #~ " delimit-method={none(기본값),prepend,separate)}\n" #~ " 빈 줄을 기준으로 구분합니다.\n" #~ " -f, --skip-fields=N 첫번째 N개의 필드를 비교하지 않습니다\n" #~ " -i, --ignore-case 비교할 때 대소문자의 차이를 무시합니다\n" #~ " -s, --skip-chars=N 첫번째 N개의 문자를 비교하지 않습니다\n" #~ " -u, --unique 유일한 줄만을 표시합니다\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N 한 줄에 N개의 문자까지만 비교합니다\n" # ?? #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "한 필드는 공백뿐이고, 그 다음에 공백문자가 아닌 문자들이 있습니다.\n" #~ "문자가 나오기 전에 필드는 건너 뜁니다\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "인수가 너무 많음" #~ msgid "invalid number of fields to skip" #~ msgstr "건너 뛸 필드의 개수가 부적절합니다" #~ msgid "invalid number of bytes to skip" #~ msgstr "건너 뛸 바이트 수가 부적절합니다" #~ msgid "invalid number of bytes to compare" #~ msgstr "비교할 바이트의 개수가 부적절합니다" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "반복된 줄을 표시하고 회수를 세는 것은 무의미합니다" #, fuzzy #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "cannot unlink %s" #~ msgstr "`%s'에서 ioctl을 할 수 없습니다" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "잘못된 사용자" #~ msgstr[1] "잘못된 사용자" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "사용법: %s [<옵션>]... [<파일>]...\n" #, fuzzy #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "각 <파일>에 대하여 바이트, 단어, 줄 바꿈의 개수를 표시하고, 이상의 파일" #~ "이\n" #~ "지정될 땐 전체 행의 수도 인쇄합니다. 파일이 주어지지 않거나 파일이 - 이" #~ "면\n" #~ "표준 입력을 읽습니다.\n" #~ " -c, --bytes 문자의 개수를 표시합니다\n" #~ " -l, --lines 행의 개수를 표시합니다\n" #~ " -w, --words 단어의 개수를 표시합니다\n" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length 가장 긴 줄의 길이를 표시합니다\n" #~ " -w, --words 단어의 개수를 인쇄합니다\n" #, fuzzy #~ msgid "IDLE" #~ msgstr "실패" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "사용법: %s [<옵션>]... <파일1> <파일2>\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s의 소유자 그리고/혹은 그룹을 바꿀 수 없습니다" #, fuzzy #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "사용법: %s [<파일>]...\n" #~ " 혹은: %s [<옵션>]\n" #~ msgid "program error" #~ msgstr "프로그램 오류" #~ msgid "stack overflow" #~ msgstr "스택 오버플로우" #~ msgid "block size" #~ msgstr "블록 크기" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "%s의 소유자 그리고/혹은 그룹을 바꿀 수 없습니다" #~ msgid "cannot chdir to directory %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "UID의 로그인 그룹을 알아 낼 수 없습니다" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "이 프로그램은 자유 소프트웨어입니다; 복사 조건은 소스를 참조하십시오. \n" #~ "상품성이나 특정 목적에 대한 적합성을 비롯하여, 어떠한 보증도 하지 않습니" #~ "다.\n" #~ msgid "too few arguments" #~ msgstr "인수가 너무 적음" #, fuzzy #~ msgid "closing standard output" #~ msgstr "표준 출력" #~ msgid "group number" #~ msgstr "그룹번호" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "부적절한 숫자" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "사용법: %s [<옵션>]... <왼쪽_파일> <오른쪽_파일>\n" #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie, 그리고 Jim Meyering" #, fuzzy #~ msgid "missing file arguments" #~ msgstr "인수가 너무 적음" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "%s이(가) 존재하지만 디렉토리가 아닙니다" #, fuzzy #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "여러개의 파일을 복사하는데 마지막 인수(%s)는 디렉토리가 아닙니다" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "경고: --version-control (-V) 옵션은 더이상 쓰이지 않습니다. 이 옵션은\n" #~ "이후 릴리즈에서는 삭제될 것입니다. 대신 --backup=%s 을 사용하세요." #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "경고: `--pid=PID'는 이 시스템에서 지원하지 않습니다" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp 그리고 David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: 구획 문자 뒤에 `+'나 `-'가 와야함" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie, 그리고 Jim Meyering" #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "옵션아닌 인수가 너무 많음" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "--string을 사용할 땐 파일이 지정될 수 없습니다" #, fuzzy #~ msgid "cannot get time of day" #~ msgstr "한 가지 이상의 방법으로 분할할 수 없습니다" #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin 그리고 David MacKenzie" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s개의 레코드를 입력하였습니다\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s개의 레코드를 출력하였습니다\n" #~ msgid "truncated records" #~ msgstr "잘린 레코드들" #, fuzzy #~ msgid "unrecognized option %s=%s" #~ msgstr "인식할 수 없는 옵션 `-%c'" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "{ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, {unblock,sync}중에 하" #~ "나의 conv만 가능합니다" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "dircolors의 내부 데이터베이스를 출력하는 옵션을 줄 때에는\n" #~ "FILE인수는 쓰이지 않습니다" #, fuzzy #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie, 그리고 Jim Meyering" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "`-<리스트>' 옵션은 없어졌습니다 `-t <리스트>'를 사용하십시오 " #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "-w<개수>에서, `w'를 생략할 수 있습니다.\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "`%s': 없어진 옵션입니다; `%s'을(를) 사용하십시오" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=<크기> 맨 첫 <크기>바이트를 표시합니다\n" #~ " -n, --lines=<개수> 10줄이 아니라 맨 첫 <숫자>줄을 표시합니다\n" # 한 줄에 맞추자 #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "<크기>에 접미어로 그 단위를 나타낼 수 있습니다; b는 512, k는 1킬로, m은 1" #~ "메가입니다.\n" #~ msgid "unrecognized option `-%c'" #~ msgstr "인식할 수 없는 옵션 `-%c'" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "`-%s'옵션은 없어졌습니다; `-%c %.*s%.*s%s'을(를) 사용하십시오" #, fuzzy #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Paul Rubin 그리고 David MacKenzie" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "사용자와 그룹을 모두 생략할 수는 없습니다" #, fuzzy #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "여러개의 파일을 설치하는데 마지막 인수(%s)는 디렉토리가 아닙니다" #, fuzzy #~ msgid "%s is a directory" #~ msgstr "%s이(가) 존재하지만 디렉토리가 아닙니다" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "%s에 대한 파일 포인터를 재위치할 수 없습니다" #, fuzzy #~ msgid "strip failed" #~ msgstr "stat 실패" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "파일 1에 대한 필드 번호로 부적절함: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "파일 2에 대한 필드 번호로 부적절함: `%s'" #~ msgid "too many non-option arguments" #~ msgstr "옵션아닌 인수가 너무 많음" #~ msgid "too few non-option arguments" #~ msgstr "옵션아닌 인수가 너무 적음" #, fuzzy #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Scott Bartram 그리고 David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: 파일이 존재합니다" #, fuzzy #~ msgid "create symbolic link %s to %s" #~ msgstr "심볼릭 링크" #, fuzzy #~ msgid "create hard link %s to %s" #~ msgstr "하드링크 `%s'를 `%s'에 만들 수 없습니다" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "사용법: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " 또는: %s [OPTION]... TARGET... DIRECTORY\n" #~ " 또는: %s [OPTION]... --target-directory=DIRECTORY TARGET...\\n\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "여러개의 링크를 만들 때에는 마지막 인수는 디렉토리여야 합니다" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary 이진 모드로 파일을 읽습니다 (도스/윈도에서 기본" #~ "값)\n" #~ " -c, --check 주어진 리스트에서 %s 체크섬을 검사합니다\n" #~ " -t, --text 문서 모드로 파일을 읽습니다 (기본값)\n" #~ "\n" #~ msgid "file" #~ msgstr "파일" #~ msgid "files" #~ msgstr "파일" #~ msgid "checksum" #~ msgstr "체크섬" #~ msgid "checksums" #~ msgstr "체크섬" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "--string과 --check 옵션은 상호 배타적입니다" #~ msgid "no files may be specified when using --string" #~ msgstr "--string을 사용할 땐 파일이 지정될 수 없습니다" #~ msgid "only one argument may be specified when using --check" #~ msgstr "--check를 사용할 때는 오직 한 개의 인수만 지정될 수 있습니다" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "인수가 너무 적음" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "major와 minor장치번호는 fifo파일에는 설정할 수 없습니다" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie, 그리고 Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "여러개의 파일을 옮길 때에는 마지막 인수는 디렉토리여야 합니다" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "부적절한 폭 옵션 `%s'" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "부적절한 폭: `%s'" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram 그리고 David MacKenzie" #~ msgid "old-style offset" #~ msgstr "옛날 방식의 옵셋" #~ msgid "skip argument" #~ msgstr "인수를 건너 뜀" #~ msgid "limit argument" #~ msgstr "인수 제한" #~ msgid "minimum string length" #~ msgstr "최소 문자열 길이" #~ msgid "width specification" #~ msgstr "길이 지정" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "호환 모드 `%s'의 두번째 피연산자가 부적절함" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "호환 모드에서 마지막 두 인수는 옵셋이어야 합니다" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat 그리고 David MacKenzie" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "탭 크기에 부적절한 문자가 지정되어 있습니다" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s이(가) 존재하지만 디렉토리가 아닙니다" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' 부적절한 페이지 번호 범위: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' 부적절한 시작 페이지 번호: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' 부적절한 끝 페이지 번호: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "`--pages' 시작 페이지 번호가 끝 페이지 번호보다 큽니다" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=열' 부적절한 열의 개수: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr " %Y %b %e %H:%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "시작 페이지 번호가 전체 페이지 수보다 큽니다: `%d'" #~ msgid "Page %d" #~ msgstr "%d 페이지" #, fuzzy #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David Ihnat, David MacKenzie, 그리고 Jim Meyering" #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: 부적절한 패턴" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "이 프로그램은 자유 소프트웨어입니다. 소프트웨어의 피양도자는 자유 \n" #~ "소프트웨어 재단이 공표한 GNU General Public License 2판 (또는 그 이후 \n" #~ "판을 임의로 선택해서), 그 규정에 따라 프로그램을 개작하거나 재배포할 \n" #~ "수 있습니다.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "이 프로그램은 유용하게 사용될 수 있으리라는 희망에서 배포되고 있지만,\n" #~ "프로그램의 시장성과 특정한 목적에 맞는 적합성 여부에 대한 묵시적인\n" #~ "보증을 포함한 어떠한 형태의 보증도 제공되지 않습니다. 보다 자세한\n" #~ "사항에 대해서는 GNU General Public License를 참고하시기 바랍니다.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "GNU General Public License는 이 프로그램과 함께 제공됩니다. 만약 이 문서" #~ "가\n" #~ "누락되어 있다면 자유 소프트웨어 재단으로 문의하시기 바랍니다. (자유 \n" #~ "소프트웨어 재단: Free Software Foundation, Inc., 59 Temple Place - Suite " #~ "330, \n" #~ "Boston, MA 02111-1307, USA)\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "`%s'에서 `.'에 대해 lstat콜을 할 수 없습니다" #, fuzzy #~ msgid "cannot lstat %s" #~ msgstr "`%s'의 정보(stat)를 얻을 수 없습니다" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #~ msgid "cannot remove `.' or `..'" #~ msgstr "`.'나 `..'를 지울 수 없습니다" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "파일을 지우거나 링크를 해제합니다.\n" #~ "\n" #~ " -d, --directory 비어 있지 않아도 디렉토리 링크를 해제합니다(관리자" #~ "용)\n" #~ " -f, --force 질문 없이 존재하지 않는 파일을 무시합니다\n" #~ " -i, --interactive 지우기 전에 질문합니다\n" #~ " -r, -R, --recursive 디렉토리의 내용을 재귀적으로 지웁니다\n" #~ " -v, --verbose 작업을 출력합니다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "`-foo'와 같이 `-'로 시작하는 파일을 지우기 위해서는 다음 명령 중 하나를\n" #~ "사용합니다:\n" #~ " %s -- -foo\n" #~ " %s ./-foo\n" #~ msgid "sort size" #~ msgstr "정렬 크기" #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "`-%d' 옵션은 없어졌습니다; `-l %d'을(를) 사용하십시오" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau 그리고 David MacKenzie" #~ msgid "stdin: read error" #~ msgstr "stdin: 파일 읽기 오류" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: 부적절한 접두어 문자가 곧 없어질 옵션에 들어 있습니다" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "너무 인자가 많습니다; tail에서 곧 없어질 옵션을 사용할 때 (%s)\n" #~ "두 개 이상의 파일 인자가 있을 수도 있습니다. 대신에 같은 기능의 -n이나 -" #~ "c\n" #~ "옵션을 사용하세요." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "경고: tail의 곧 없어질 옵션을 사용해서 (%s) 두 개 이상의 \n" #~ "파일을 사용하는 것은 포터블하지 않습니다. 같은 기능을 하는 -n이나 -c\n" #~ "옵션을 사용하세요." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "`%s': 이 옵션은 없어졌습니다; `%s-%c %.*s'을(를) 사용하십시오" #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s: 너무 커서 표시할 수 없습니다" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s 이 시스템의 최대 파일 크기보다 더 큽니다" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: 지속적인 크기 변화의 최대 개수가 부적절합니다" #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Richard Stallman 그리고 David MacKenzie" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "인수가 너무 많음" #, fuzzy #~ msgid "file arguments missing" #~ msgstr "인수가 너무 적음" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "부적절한 역슬래쉬 이스케이프 `\\%c'" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "지움과 반복줄임을 동시에 하는 경우 두 개의 string이 주어져야 합니다" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "반복줄임의 경우 최소 1개의 문자열이 주어져야 합니다" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "동일성 매핑이 잘못되었습니다; 옮김의 경우, string1의 [:lower:]나 [:" #~ "upper:]\n" #~ "구성은 string2의 대응되는 구성(순서대로 [:upper:]나 [:lower:])과 맞아야 \n" #~ "합니다" #~ msgid "only one argument may be specified" #~ msgstr "오직 한 개의 인수만 지정할 수 있습니다" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "" #~ "-<리스트> 옵션은 없어졌습니다; `--first-only -t <리스트>'를 사용하십시오" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "`-%lu' 옵션은 없어졌습니다; `-f %lu'을(를) 사용하십시오" #, fuzzy #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "경고: --version-control (-V) 옵션은 더이상 쓰이지 않습니다. 이 옵션은\n" #~ "이후 릴리즈에서는 삭제될 것입니다. 대신 --backup=%s 을 사용하세요." #, fuzzy #~ msgid "Try %s --help' for more information.\n" #~ msgstr "더 많은 정보를 보려면 `%s --help' 하십시오.\n" #, fuzzy #~ msgid "cannot lstat `.'" #~ msgstr "`%s'에서 `.'에 대해 lstat콜을 할 수 없습니다" #, fuzzy #~ msgid "%s: remove directory %s? " #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "%s: `%s' 디렉토리는 쓰기 보호되었습니다. 그래도 계속 할까요? " #~ msgid "removing all entries of directory %s\n" #~ msgstr "%s디렉토리의 모든 내용을 지웁니다\n" #~ msgid "continue? " #~ msgstr "계속할까요? " #, fuzzy #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "%s: remove directory %s%s? " #~ msgstr "%s 디렉토리를 만들 수 없습니다" #~ msgid " (might be nonempty)" #~ msgstr " (완전히 비우지 않았습니다)" #~ msgid "removing the directory itself: %s\n" #~ msgstr "%s 디렉토리 자신을 지웁니다\n" #~ msgid "cannot fork" #~ msgstr "fork() 할 수 없습니다" #, fuzzy #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "오류: `%s' 디렉토리는 %lu/%lu의 장치/노드 번호가 있었는데, 지금은\n" #~ "(chdir후) `.'의 장치/노드 번호는 %lu/%lu입니다. 이것은 rm 진행중에\n" #~ "디렉토리가 다른 디렉토리로 바뀌었거나 다른 디렉토리의 링크로 바뀌었다는 \n" #~ "의미입니다." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "오류: `%s' 디렉토리는 %lu/%lu의 장치/노드 번호가 있었는데, 지금은\n" #~ "(chdir후) `.'의 장치/노드 번호는 %lu/%lu입니다. 이것은 rm 진행중에\n" #~ "디렉토리가 다른 디렉토리로 바뀌었거나 다른 디렉토리의 링크로 바뀌었다는 \n" #~ "의미입니다." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after changing into at least one subdirectory\n" #~ "and changing back via `..'), the numbers for `.' are %lu/%lu.\n" #~ "That means that while rm was running, a partially-removed subdirectory\n" #~ "was moved to a different position in the file system hierarchy." #~ msgstr "" #~ "오류: `%s' 디렉토리는 %lu/%lu의 장치/노드 번호가 있었는데, 지금은\n" #~ "(chdir후) `.'의 장치/노드 번호는 %lu/%lu입니다. 이것은 rm 진행중에\n" #~ "디렉토리가 다른 디렉토리로 바뀌었거나 다른 디렉토리의 링크로 바뀌었다는 \n" #~ "의미입니다." #, fuzzy #~ msgid " or: %s [-acm] MMDDhhmm[YY] FILE... (obsolete)\n" #~ msgstr " 또는: %s [-acm] MMDDhhmm[YY] FILE... (구식)\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 끝냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 끝냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "바뀐 블럭을 디스크에 강제적으로 쓰게 하고, 수퍼블럭을 갱신합니다.\n" #~ "\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 끝냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 끝냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 끝냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 끝냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 끝냅니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "바뀐 블럭을 디스크에 강제적으로 쓰게 하고, 수퍼블럭을 갱신합니다.\n" #~ "\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr " --version 버전 정보를 출력하고 끝냅니다\n" #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "각 FILE의 소유 그룹를 GROUP으로 바꿉니다.\n" #~ "\n" #~ " -c, --changes verbose와 같지만 변경하는 경우에만 알립니다\n" #~ " --dereference 심볼릭 링크 자신이 아니라 각 심볼릭 링크가 참조" #~ "하는\n" #~ " 것에 작용합니다\n" #~ " -h, --no-dereference 참조되는 파일 대신 심볼릭 링크에 작용합니다\n" #~ " (심볼릭 링크의 소유권을 바꿀 수 있는 시스템에서" #~ "만\n" #~ " 가능합니다)\n" #~ " -f, --silent, --quiet 대부분의 에러메시지를 내지 않게 합니다\n" #~ " --reference=RFILE GROUP값을 사용하는 대신 RFILE의 그룹을 사용합니" #~ "다\n" #~ " -R, --recursive 파일과 그 디렉토리의 아래까지 변경합니다\n" #~ " -v, --verbose 처리되는 모든 파일에 대해 진단 메시지를 출력합니" #~ "다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " the specified OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "각 FILE의 소유자를 OWNER로, 그룹을 GROUP으로, 또는 둘 다를 바꿉니다.\n" #~ "\n" #~ " -c, --changes verbose와 같지만 변경할때만 알립니다\n" #~ " --dereference 심볼릭 링크 자신보다 각 심볼릭 링크가 참조하는\n" #~ " 파일에게 작용합니다\n" #~ " -h, --no-dereference 참조되는 파일 대신 심볼릭 링크에 작용합니다\n" #~ " (심볼릭 링크의 소유권을 바꿀 수 있는 시스템에서" #~ "만\n" #~ " 사용 가능합니다)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " 지정한 사용자/그룹과 파일의 사용자/그룹이 맞아야" #~ "만\n" #~ " 그 파일의 사용자/그룹을 변경합니다. 필요 없다" #~ "면\n" #~ " 둘 중 하나를 생략할 수 있습니다.\n" #~ " -f, --silent, --quiet 대부분의 에러메시지를 내지 않게 합니다\n" #~ " --reference=RFILE 명시적인 OWNER.GROUP 값을 사용하는 대신 RFILE" #~ "의\n" #~ " 소유자와 그룹 값을 사용합니다\n" #~ " -R, --recursive 파일과 그 디렉토리의 아래까지 변경합니다\n" #~ " -v, --verbose 처리되는 모든 파일에 대해 진단 메시지를 출력합니" #~ "다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "소유자를 지정하지 않은 경우 변경하지 않습니다. 또한 그룹도 지정하지 않으" #~ "면\n" #~ "바뀌지 않지만 마침표(.)를 주는 경우에는 로그인시의 그룹으로 변경합니다.\n" #~ "콜론(:)을 마침표(.) 대신 쓸 수 있습니다.\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links\n" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: links, all\n" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents append source path to DIRECTORY\n" #~ " -P same as `--no-dereference'\n" #~ " -r copy recursively, non-directories as " #~ "files\n" #~ " WARNING: use -R instead when you might " #~ "copy\n" #~ " special files like FIFOs or /dev/zero\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "SOURCE를 DEST로 복사하거나 여러개의 SOURCE를 DIRECTORY로 복사합니다.\n" #~ "\n" #~ " -a, --archive -dpR옵션과 같습니다\n" #~ " --backup[=CONTROL] 지우기 전에 백업본을 만듭니다.\n" #~ " -b --backup과 비슷한데 인수를 받지 않는다\n" #~ " -d, --no-dereference 링크를 유지합니다\n" #~ " -f, --force 이미 존재하는 DEST를 질문 없이 삭제합니" #~ "다.\n" #~ " -i, --interactive 덮어 쓰기 전에 여부를 묻습니다\n" #~ " -l, --link 파일을 복사하지 않고 링크합니다.\n" #~ " -p, --preserve 가능하다면 파일 속성을 유지합니다.\n" #~ " -P, --parents 원본의 경로를 DIRECTORY에 추가합니다\n" #~ " -r 하위 디렉토리까지 복사합니다. 디렉토리가\n" #~ " 아닌 것은 파일로 여깁니다\n" #~ " *경고*: FIFO나 /dev/zero같은 특별 파일" #~ "을\n" #~ " 복사할 경우에는 -R을 사용하세요\n" #~ " --sparse=WHEN 성긴 파일(sparse file)의 생성을 조절합니" #~ "다\n" #~ " -R, --recursive 재귀적으로 복사합니다\n" #~ " --strip-trailing-slashes 각 SOURCE 인수에서 끝의 슬래시(/)문자를\n" #~ " 지웁니다\n" #~ " -s, --symbolic-link 복사하는 대신 심볼릭 링크를 만듭니다\n" #~ " -S, --suffix=SUFFIX 일반적인 백업 접미사를 겹쳐씁니다\n" #~ " --target-directory=DIRECTORY 모든 SOURCE 의 인수를 DIRECTORY로 옮깁" #~ "니다\n" #~ " -u, --update SOURCE파일이 복사될 파일보다 새것이거나\n" #~ " 복사될 파일이 없을 때만 복사합니다\n" #~ " -v, --verbose 작업을 출력합니다\n" #~ " -x, --one-file-system 이 파일시스템에서만 복사합니다\n" #~ " --help 이 도움말을 보여주고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "기본적으로 성긴 SOURCE 파일은 그리 좋지 않은 방법으로 탐지해 내어\n" #~ "대응하는 DEST파일도 또한 성기게 만듭니다. 이것은 --sparse=auto\n" #~ "에 의해 선택되는 행동이며, --sparse=always라고 지정하면 SOURCE파일에\n" #~ "충분한 크기의 0으로 계속되는 지점이 있을 때는 언제나 성긴 DEST파일을\n" #~ "만듭니다.\n" #~ "--sparse=never라고 지정하면 성긴 파일을 생성하지 못하게 합니다.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Copy a file, converting and formatting according to the options.\n" #~ "\n" #~ " bs=BYTES force ibs=BYTES and obs=BYTES\n" #~ " cbs=BYTES convert BYTES bytes at a time\n" #~ " conv=KEYWORDS convert the file as per the comma separated keyword " #~ "list\n" #~ " count=BLOCKS copy only BLOCKS input blocks\n" #~ " ibs=BYTES read BYTES bytes at a time\n" #~ " if=FILE read from FILE instead of stdin\n" #~ " obs=BYTES write BYTES bytes at a time\n" #~ " of=FILE write to FILE instead of stdout\n" #~ " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" #~ " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "BLOCKS and BYTES may be followed by the following multiplicative " #~ "suffixes:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Each KEYWORD may be:\n" #~ "\n" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternated EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "옵션에 따라 파일을 복사하고, 변환하고 포맷합니다\n" #~ "\n" #~ " bs=BYTES ibs=BYTES와 obs=BYTES를 같이 지정합니다\n" #~ " cbs=BYTES 한번에 BYTES만큼의 바이트를 변환합니다\n" #~ " conv=KEYWORDS 파일을 쉼표(,)로 분리된 키워드 리스트에 따라 변환합니" #~ "다\n" #~ " count=BLOCKS BLOCKS개의 입력 블럭만 받습니다\n" #~ " ibs=BYTES 한번에 BYTES바이트의 파일을 읽습니다\n" #~ " if=FILE 표준입력 대신 FILE에서 읽습니다\n" #~ " obs=BYTES 한번에 BYTES바이트를 읽습니다\n" #~ " of=FILE 표준출력 대신 FILE에 쓰며, 존재하는 파일을 없애지 않습니" #~ "다\n" #~ " seek=BLOCKS 출력 시작시에 obs크기의 블럭 BLOCKS개를 뛰어넘습니다\n" #~ " skip=BLOCKS 입력 시작시에 ibs크기의 블럭 BLOCKS개를 뛰어넘습니다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "BYTES는 다음의 수량을 나타내는 접미어와 함께 사용할 수 있습니다:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, 그리고 T, P, E, Z, Y도 사용할 수 있습니" #~ "다\n" #~ "(예: c는 x1와 같고, w는 x2와 같으며, b는 x512와 같으며 k는 x1024와 같습니" #~ "다.\n" #~ "각각의 KEYWORD는 다음과 같습니다:\n" #~ "\n" #~ " ascii EBCDIC에서 ASCII로 변환합니다\n" #~ " ebcdic ASCII에서 EBCDIC으로 변환합니다\n" #~ " ibm ASCII에서 대체(alternated) EBCDIC으로 변환합니다\n" #~ " block 개행문자로 끝나는 레코드를 cbs크기의 공백문자로 채웁니다\n" #~ " unblock cbs크기의 레코드 뒷부분의 공백문자들을 개행문자로 바꿉니다\n" #~ " lcase 대문자를 소문자로 바꿉니다\n" #~ " notrunc 출력 파일의 끝을 잘라내지 않습니다\n" #~ " ucase 소문자를 대문자로 바꿉니다\n" #~ " swab 입력하는 두 바이트의 순서를 바꿉니다\n" #~ " noerror 읽기 에러가 나도 계속합니다\n" #~ " sync ibs크기의 입력 레코드를 크기가 맞지 않으면 NUL로 채웁니다\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "각각의 FILE이 있는 파일 시스템에 대한 정보를 출력합니다.\n" #~ "기본값은 모든 파일시스템입니다.\n" #~ "\n" #~ " -a, --all 0블럭을 가진 파일시스템도 출력에 포함합니다\n" #~ " --block-size=SIZE SIZE 바이트 크기의 블럭을 사용합니다\n" #~ " -h, --human-readable 크기를 사람이 알기 쉽게(1K, 234M, 2G등)표시합니" #~ "다\n" #~ " -H, --si 비슷합니다만 1024배 대신 1000배를 사용합니다\n" #~ " -i, --inodes 블럭 사용 대신 inode정보를 표시합니다\n" #~ " -k, --kilobytes --block-size=1024와 같습니다\n" #~ " -l, --local 지역 파일시스템만 나열합니다\n" #~ " -m, --megabytes --block-size=1048576과 같습니다\n" #~ " --no-sync 사용정보를 얻기 전에 sync를 부르지 않습니다(기본" #~ "값)\n" #~ " -P, --portability POSIX사양으로 출력합니다\n" #~ " --sync 사용정보를 얻기 전에 sync를 부릅니다\n" #~ " -t, --type=TYPE TYPE형태의 파일시스템에 대한 정보만 표시합니다\n" #~ " -T, --print-type 파일시스템 형태를 출력합니다\n" #~ " -x, --exclude-type=TYPE TYPE형태가 아닌 파일시스템 정보만 표시합니다\n" #~ " -v (무시합니다)\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "디렉토리를 따라 각 FILE의 디스크 사용을 요약합니다.\n" #~ "\n" #~ " -a, --all 디렉토리만이 아니고 각 파일을 모두 셉니다\n" #~ " -b, --bytes 크기를 바이트로 표시합니다\n" #~ " --block-size=SIZE SIZE 바이트 크기의 블럭을 사용합니다\n" #~ " -c, --total 총합을 계산합니다\n" #~ " -D, --dereference-args 심볼릭 링크의 경우 경로를 따라갑니다\n" #~ " -h, --human-readable 크기를 사람이 알기 쉽게(1K, 234M, 2G등)표시합니" #~ "다\n" #~ " -k, --kilobytes --block-size=1024와 같습니다\n" #~ " -l, --count-links 하드링크의 경우에도 매번 크기를 계산합니다\n" #~ " -L, --dereference 모든 심볼릭 링크를 따라갑니다\n" #~ " -m, --megabytes --block-size=1048576과 같습니다\n" #~ " -S, --separate-dirs 하위 디렉토리의 크기는 포함하지 않습니다\n" #~ " -s, --summarize 각 인수에 대해서만 합계를 표시합니다\n" #~ " -x, --one-file-system 다른 파일시스템에 있는 디렉토리는 제외합니다\n" #~ " -X FILE, --exclude-from=FILE FILE 안의 패턴에 일치하는 파일은 제외합니" #~ "다\n" #~ " --exclude=PAT PAT패턴에 일치하는 파일은 제외합니다.\n" #~ " --max-depth=N 디렉토리(--with all옵션의 경우 파일도)의 깊이가\n" #~ " N보다 작은 것에 대해서만 합계를 표시합니다;\n" #~ " --max-depth=0 는 --summarize와 같습니다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "처음 두가지 형식에서는 SOURCE를 DEST로 복사하거나 여러개의 SOURCE를\n" #~ "기존의 DIRECTORY로 복사하며, 파일 권한이나 소유자/그룹을 설정할 수 있습니" #~ "다\n" #~ "세번째 형식에서는 주어진 DIRECTORY의 모든 구성 요소를 만듭니다\n" #~ "\n" #~ " --backup[=CONTROL] 지우기 전에 백업본을 만듭니다\n" #~ " -b --backup과 비슷한데 인수를 받지 않는다\n" #~ " -c (무시합니다)\n" #~ " -d, --directory 모든 인수를 디렉토리 이름으로 취급합니다; 지정" #~ "된\n" #~ " 디렉토리들의 모든 구성 요소를 만듭니다\n" #~ " -D 마지막 것을 제외한 모든 DEST의 구성 요소를 만들" #~ "고\n" #~ " SOURCE를 DEST로 복사합니다. 첫번째 형식에 유용합" #~ "니다\n" #~ " -g, --group=GROUP 프로세스의 현재 그룹이 아닌 소유자 그룹을 지정합" #~ "니다\n" #~ " -m, --mode=MODE rwxr-xr-x대신의 모드을 지정합니다(chmod와 같이)\n" #~ " -o, --owner=OWNER 소유자를 지정합니다(관리자용)\n" #~ " -p, --preserve-timestamps 해당 목적 파일에 SOURCE파일의 접근/변경\n" #~ " 시간을 적용합니다\n" #~ " -s, --strip 심볼 테이블을 삭제합니다(첫번째와 두번째 형식" #~ "만)\n" #~ " -S, --suffix=SUFFIX 일반적인 백업 접미사를 겹쳐 씁니다\n" #~ " -v, --verbose 디렉토리가 만들어질때 그 이름을 출력합니다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "TARGET에서 옵션으로 지정된 LINK_NAME으로 링크를 만듭니다. 하나 이상의 " #~ "TARGET이\n" #~ "있다면 마지막 인수는 디렉토리가 됩니다; 또 하나의 방법은 각 TARGET의\n" #~ "링크를 DIRECTORY에 만듭니다. 기본적으로 하드링크를 만들고, 심볼릭\n" #~ "링크는 --symbolic으로 만듭니다. 하드링크를 만들 때에는 TARGET이 반드시\n" #~ "존재해야 합니다.\n" #~ "\n" #~ " --backup[=CONTROL] 지우기 전에 백업본을 만듭니다\n" #~ " -b --backup과 비슷한데 인수를 받지 않는다\n" #~ " -d, -F, --directory 디렉토리를 하드링크합니다(관리자만)\n" #~ " -f, --force 존재하는 DEST를 지웁니다\n" #~ " -n, --no-dereference 디렉토리로의 심볼릭 링크를 일반 파일인것처" #~ "럼\n" #~ " 처리합니다\n" #~ " -i, --interactive DEST를 지울 것인지 물어봅니다\n" #~ " -s, --symbolic 하드링크 대신 심볼릭 링크를 합니다\n" #~ " -S, --suffix=SUFFIX 일반적인 백업 접미사를 겹쳐 씁니다\n" #~ " --target-directory=DIRECTORY 링크를 생성할 디렉토리를 지정합니다\n" #~ " -v, --verbose 링크하기 전에 각각의 파일이름을 출력합니" #~ "다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuSUX nor --sort.\n" #~ "\n" #~ " -a, --all do not hide entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ " -f do not sort, enable -aU, disable -lst\n" #~ " -F, --classify append indicator (one of */=@|) to entries\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ "FILE에 대한 정보를 출력합니다(기본값은 현재디렉토리).\n" #~ "-cftuSUX이나 --sort옵션이 지정되지 않으면 기본적으로 알파벳 순으로 정렬합" #~ "니다.\n" #~ "\n" #~ " -a, --all .으로 시작하는 목록까지 모두 출력합니다\n" #~ " -A, --almost-all -a와 같지만 .과 ..은 출력하지 않습니다\n" #~ " -b, --escape 출력할 수 없는 문자는 8진수로 표기합니다\n" #~ " --block-size=SIZE SIZE 바이트 크기의 블럭을 사용합니다\n" #~ " -B, --ignore-backups ~으로 끝나는 목록은 출력하지 않습니다\n" #~ " -c 생성시간단위로 정렬합니다. -l옵션과 같이 쓰" #~ "면\n" #~ " 생성시간을 출력합니다\n" #~ " -C 열단위로 목록을 출력합니다\n" #~ " --color[=WHEN] 파일을 구분하기 위해 색을 쓸 것인지 조정합니" #~ "다.\n" #~ " WHEN은 `never', `always', 또는 `auto'입니" #~ "다.\n" #~ " -d, --directory 디렉토리의 내용 대신 디렉토리를 출력합니다\n" #~ " -D, --dired Emacs의 dired모드에 알맞는 출력을 합니다\n" #~ " -f 정렬하지 않습니다(-aU를 주고 -lst를 뺍니" #~ "다).\n" #~ " -F, --classify 각 목록을 구분하기 위한 문자를 뒤에 붙입니" #~ "다\n" #~ " --format=WORD across -x, comma -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time 날짜와 시각을 자세히 출력합니다\n" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line follow symbolic links on the command " #~ "line\n" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode print index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -g (무시합니다)\n" #~ " -G, --no-group 그룹정보 출력을 하지 않습니다\n" #~ " -h, --human-readable 크기를 사람이 알기 쉽게(1K, 234M, 2G등)표시합" #~ "니다\n" #~ " -H, --si 비슷합니다만 1024배 대신 1000배를 사용합니" #~ "다\n" #~ " --indicator-style=WORD WORD 스타일로 파일 구분을 해 줍니다. 가능한 " #~ "값은:\n" #~ " none (기본값), 종류 (-F), 파일형식 (-p)\n" #~ " -i, --inode 각 파일의 i-node번호를 출력합니다\n" #~ " -I, --ignore=PATTERN 셸 PATTERN와 일치하는 목록은 출력하지 않습니" #~ "다\n" #~ " -k, --kilobytes --block-size=1024와 같습니다\n" #~ " -l 긴 출력 포맷을 사용합니다\n" #~ " -L, --dereference 심볼릭 링크를 따라가 링크된 목록을 출력합니" #~ "다\n" #~ " -m 행구분 없이 쉼표로 구분되는 목록 출력을 합니" #~ "다\n" #~ " -n, --numeric-uid-gid 이름 대신 숫자로 된 UID와 GID를 출력합니다\n" #~ " -N, --literal 목록 이름을 그대로 출력합니다\n" #~ " (콘트롤 문자도 특별히 처리하지 않습니다)\n" #~ " -o 그룹정보 없이 긴 출력 포맷을 사용합니다\n" #~ " -p, --file-type 각 목록을 구분하기 위한 문자(/=@|)를 뒤에 붙" #~ "입니다\n" #~ " -q, --hide-control-chars 출력할 수 없는 문자 대신 ?을 출력합니다\n" #~ " --show-control-chars 출력할 수 없는 문자를 그대로 보여줍니다(기본" #~ "값)\n" #~ " -Q, --quote-name 목록 이름을 큰따옴표 안에 넣습니다\n" #~ " --quoting-style=WORD WORD의 인용 스타일을 사용합니다. 가능한 값" #~ "은:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ " -r, --reverse 정렬순서를 거꾸로 합니다\n" #~ " -R, --recursive 서브디렉토리까지 출력합니다\n" #~ " -s, --size 각 파일의 블록 크기를 출력합니다\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD show time as WORD instead of modification " #~ "time:\n" #~ " atime, access, use, ctime or status; use\n" #~ " specified time as sort key if --sort=time\n" #~ " --time-style=WORD show times using style WORD:\n" #~ " full-iso, iso, locale, posix-iso\n" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -1 list one file per line\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ " -S 파일크기단위로 정렬합니다\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " --time=WORD 변경시간 대신 시간을 WORD로 표시합니다:\n" #~ " atime, access, use, ctime, status\n" #~ " --sort=time이면 지정된 값이 정렬 기준입니" #~ "다\n" #~ " -t 변경시간단위로 정렬합니다.\n" #~ " -T, --tabsize=COLS 8대신 탭 크기를 COLS로 가정합니다\n" #~ " -u 최후접근시간에 따라 정렬합니다.\n" #~ " -l과 함께 사용하면 접근시간을 보여줍니다\n" #~ " -U 정렬하지 않고 디렉토리의 순서대로 출력합니" #~ "다\n" #~ " -v 버전에 따라 정렬합니다\n" #~ " -w, --width=COLS 현재 값 대신 화면폭을 정해준 값으로 가정합니" #~ "다\n" #~ " -x 열단위보다는 행순으로 목록을 정렬합니다\n" #~ " -X 목록 확장에 의해 알파벳순으로 정렬합니다\n" #~ " -1 한 줄에 한 파일씩 출력합니다\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "기본적으로, 파일을 구분하기 위해 색상은 사용하지 않습니다. 이것은\n" #~ "--color=none을 사용하는 것과 같습니다. --color옵션을 부가적인 WHEN인수와\n" #~ "같이 사용하지 않으면 --color=always와 같습니다. --color=auto에서는\n" #~ "색상 코드는 표준 출력이 터미널(tty)에 연결되었을 때만 출력합니다\n" #, fuzzy #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " -s, --size=N shred this many bytes (suffixes like k, M, G accepted)\n" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ " - shred standard output\n" #~ " --help display this help and exit\n" #~ " --version print version information and exit\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the filesystem overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern filesystem designs do not satisfy this\n" #~ "assumption. The following are examples of filesystems on which shred is\n" #~ "not effective:\n" #~ "\n" #~ "* log-structured or journaled filesystems, such as those supplied with\n" #~ " AIX and Solaris (and JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* filesystems that write redundant data and carry on even if some writes\n" #~ " fail, such as RAID-based filesystems\n" #~ "\n" #~ "* filesystems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ "* filesystems that cache in temporary locations, such as NFS\n" #~ " version 3 clients\n" #~ "\n" #~ "* compressed filesystems\n" #~ "\n" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "파일을 안전하게 지우기 위해, 먼저 내용을 감추도록 그 내용을 덮어 써 버립니" #~ "다.\n" #~ "\n" #~ " -D, --device 장치에 대한 연산을 가능하게 합니다(장치는 지워지지 않습니" #~ "다)\n" #~ " -f, --force 필요하다면 쓰기 가능하도록 권한을 바꿉니다\n" #~ " -n, --iterations=N 기본값(%d)대신에 N번 겹쳐 씁니다\n" #~ " -p, --preserve 겹쳐 쓴 후 파일을 지우지 않습니다\n" #~ " -s, --size=N 지정한 크기만큼 덮어씁니다 (k, M과 같은 접미사 사용 가" #~ "능)\n" #~ " -v, --verbose 진행상황 보기 (-vv를 주면 화면에 진행상황을 남깁니다)\n" #~ " -x, --exact 다음의 블럭 크기만큼을 채우지 않고 크기대로 합니다\n" #~ " -z, --zero 지운 것을 숨기기 위해 최종적으로 0으로 겹쳐씁니다\n" #~ " - 표준 출력을 지웁니다 (NOTE: -v와 충돌합니다)\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "여기서 더 추가할 것이 있다면 *고쳐 주세요*" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ "각 파일의 접근/변경시간을 현재시간으로 바꿉니다.\n" #~ "\n" #~ " -a 접근시간만을 바꿉니다\n" #~ " -c, --no-create 파일을 만들지 않습니다\n" #~ " -d, --date=STRING STRING을 해석해서 현재시간 대신 사용합니다\n" #~ " -f (무시합니다)\n" #~ " -m 변경시간만을 바꿉니다\n" #~ " -r, --reference=FILE 이 파일의 시간을 현재시간 대신 사용합니다\n" #~ " -t STAMP 현재시간 대신 [[CC]YY]MMDDhhmm[.ss]을 사용합니" #~ "다\n" #~ " --time=WORD access -a, atime -a, mtime -m, modify -m, use -" #~ "a\n" #~ " --help 이 도움말을 표시하고 종료합니다\n" #~ " --version 버전 정보를 표시하고 종료합니다\n" #~ "\n" #~ "-d나 -t 옵션과 구식 인수로 판별되는 세가지 시간 형식은 모두 다른 것임을\n" #~ "주의하세요.\n" #, fuzzy #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "저작권 (C) 2000 Free Software Foundation, Inc." #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "캐릭터 특별 파일을 만들 때에는, major와 minor장치 번호를\n" #~ "지정해야 합니다" #~ msgid "group of %s changed to %s\n" #~ msgstr "%s의 그룹이 %s으로 바뀌었습니다\n" #, fuzzy #~ msgid "ownership of %s changed to " #~ msgstr "%s의 소유자는 다음과 같이 변경되었습니다: " #, fuzzy #~ msgid "you are not a member of group %s" #~ msgstr "`%s' 그룹의 구성원이 아닙니다" #, fuzzy #~ msgid "cannot make fifo %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot change permissions for %s" #~ msgstr "%s의 허가를 바꿀 수 없습니다" #, fuzzy #~ msgid "cannot remove old link to %s" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "virtual memory exhausted" #~ msgstr "메모리가 바닥남" #, fuzzy #~ msgid "cannot create directory `%s'" #~ msgstr "%s 디렉토리를 만들 수 없습니다" #, fuzzy #~ msgid "cannot remove `%s'" #~ msgstr "`%s'에서 ioctl을 할 수 없습니다" #, fuzzy #~ msgid "specified target, `%s' is not a directory" #~ msgstr "%s이(가) 존재하지만 디렉토리가 아닙니다" #~ msgid "`%s' and `%s' are the same file" #~ msgstr "`%s'와 `%s'는 같은 파일입니다" #, fuzzy #~ msgid "cannot backup `%s'" #~ msgstr "`%s'에서 ioctl을 할 수 없습니다" #~ msgid "cannot un-backup `%s'" #~ msgstr "`%s'의 백업을 되돌릴 수 없습니다" #, fuzzy #~ msgid "cannot chmod %s" #~ msgstr "%s 디렉토리로 chdir할 수 없습니다" #, fuzzy #~ msgid "`%s' exists but is not a directory" #~ msgstr "%s이(가) 존재하지만 디렉토리가 아닙니다" dc3dd-7.1.614/po/gl.gmo0000644000175000017500000000142411233346647014175 0ustar amedicoamedicoL |& i- Try `%s --help' for more information. Unknown system errorclosing output file %sstandard inputstandard outputProject-Id-Version: textutils 2.0.22 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2002-07-23 03:07+0200 Last-Translator: Jacobo Tarrio Language-Team: Galician MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Escriba "%s --help" para máis información. Erro do sistema descoñecidopechando o ficheiro de saída %sentrada estándarsaída estándardc3dd-7.1.614/po/de.gmo0000644000175000017500000001235011233346647014163 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  [ lQ , 7 E#?i,B@5Z.:..)#X | ,*('06X  $<Og)~ {} !)( " %  $#' & BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: GNU coreutils 6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-05-19 14:45+0200 Last-Translator: Michael Piefel Language-Team: German MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); BLÖCKE und BYTES können folgende multiplikative Endungen tragen: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000×1000, M 1024×1024, GB 1000×1000×1000, G 1024×1024×1024, und so weiter für T, P, E, Z, Y. Jedes CONV‐Symbol kann sein: Jedes Symbol FLAG kann sein: append Anfügemodus (nur für Ausgabe sinnvoll; conv=notrunc empfohlen) binary binäre Ein‐/Ausgabe benutzen direct direkte Ein‐/Ausgabe für Daten benutzen directory abbrechen, wenn es sich nicht um ein Verzeichnis handelt dsync synchronisierte Ein‐/Ausgabe für Daten benutzen noatime die Zugriffszeit nicht erneuern noctty das kontrollierende Terminal nicht von Datei zuweisen noerror nach Lesefehlern fortfahren sync jeden Eingabeblock mit NULLen zur ibs‐Größe auffüllen; wenn mit „block“ oder „unblock“ benutzt, stattdessen mit Leerzeichen fdatasync vor Beendigung Ausgabedatendatei physisch schreiben fsync genauso, zusätzlich auch die Metadaten nofollow symbolischen Verknüpfungen nicht folgen nolinks abbrechen, wenn mehrfach verlinkt nonblock nicht‐blockierende Ein‐/Ausgabe benutzen sync genauso, aber auch für Metadaten text textuelle Ein‐/Ausgabe benutzen %s: kann nicht zu Position springen, %g s, %s/s unendlich B„%s --help“ gibt weitere Informationen. Unbekannter SystemfehlerAufruf: %s [OPERAND...] oder: %s OPTION excl und nocreat sind nicht kombinierbarAufruf von fstat für %s nicht möglichkann nun einmal nicht um Kernel‐Fehler herumarbeitenSchließen der Eingabedatei %sSchließen der Ausgabedatei %sfdatasync für %s fehlgeschlagenfsync für %s fehlgeschlagenungültige Konvertierungungültiges Eingabeflagungültige Zahl %sungültiges Ausgabeflagungültiges StatusflagOffset‐Overflow beim Lesen der Datei %söffne %ssetze Flags für %sStandardeingabeStandardausgabenicht erkannter Operand %sWarnung: Umgehe lseek‐Kernelbug für Datei (%s) des Typs mt_type=0x%0lx – siehe für die Liste der TypenSchreiben in %sPRIuMAXtruncating at % bytes in output file %sschneide bei % Bytes in Ausgabedatei %s abdc3dd-7.1.614/po/zh_CN.gmo0000644000175000017500000000326511233346647014601 0ustar amedicoamedico,  &('=T fqt +7/-Es      %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot fstat %sclosing input file %sclosing output file %sinvalid number %sopening %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.1 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2006-08-24 23:38+0800 Last-Translator: Funda Wang Language-Team: Chinese (simplified) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; %s:无法搜索,%g 秒,%s/秒 无穷 B请尝试执行“%s --help”来获取更多信息。 未知的系统错误用法:%s [操作符]... 或:%s 选项 无法 fstat %s正在关闭输入文件 %s正在关闭输出文件 %s无效的号码 %s打开 %s标准输入标准输出无法识别的操作数 %s警告:暂时避免有关文件 (%s) 的 lseek 核心错误,文件的 mt_type=0x%0lx -- 有关 mt_type 类型的列表请参考 正在写入 %sdc3dd-7.1.614/po/be.po0000644000175000017500000052141511233346647014024 0ustar amedicoamedico# Translation of coreutils-5.97.po to Belarusian # Belarusian translation of coreutils. # Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Alexander Nyakhaychyk , 2002, 2003, 2006. # # msgid "" msgstr "" "Project-Id-Version: coreutils 5.97\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2006-08-16 03:27+0300\n" "Last-Translator: Alexander Nyakhaychyk \n" "Language-Team: Belarusian \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "немагчыма стварыць тэчку %s" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Паспрабуйце \"%s --help\" для больш падрабязных зьвестак.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Выкарыстаньне: %s [АПЭРАНД]...\n" " або: %s ПАРАМЭТАР\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" " Капуе файл, пераўтварае й фарматуе згодна з выбарамі.\n" "\n" " bs=БАЙТАЎ Усталяваць і ibs і obs у заданую колькасьць байтаў.\n" " cbs=БАЙТАЎ Пераўтвараць заданую колькасьць байтаў за раз.\n" " conv=КЛЮЧАВЫЯ_СЛОВЫ\n" " Пераўтварае файл згодна са сьпісам ключавых словаў,\n" " разьмежаваных коскамі.\n" " count=БЛЁКАЎ Капіяваць толькі заданую колькасьць блёкаў уводу.\n" " ibs=БАЙТАЎ Чатаць заданую колькасьць байтаў за раз.\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=ФАЙЛ Чытаць з файлу замест стандартнага ўводу.\n" " obs=БАЙТАЎ Пісаць заданую колькасьць байтаў за раз.\n" " of=ФАЙЛ Пісаць у файл замест стандартнага вываду.\n" " seek=БЛЁКАЎ Абмінуць заданую колькасьць блёкаў ад пачатку ў файле " "вываду.\n" " skip=БЛЁКАЎ Абмінуць заданую колькасьць блёкаў ад пачатку ў файле " "ўводу.\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 #, fuzzy msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Блёкі й байты могуць ісьці з суфіксамі множаньня:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, і тое ж для T, P, E, Z, Y.\n" "Кожнае ключавое слова можа быць:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " notrunc Не абразаць файл вываду.\n" " ucase Зьмяніць маленькія літары на вялікія.\n" " swab Мяняць месцамі кожную пару байтаў уводу.\n" " noerror Працягваць працу пасьля памылак чытаньня.\n" " sync Дадаваць да кожнага блёку ўводу нулі да памеру ibs; калі\n" " выкарыстоўваецца разам з block ці unblock, дадаваць прагалы,\n" " замест нулёў.\n" #: src/dc3dd.c:1174 #, fuzzy msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " notrunc Не абразаць файл вываду.\n" " ucase Зьмяніць маленькія літары на вялікія.\n" " swab Мяняць месцамі кожную пару байтаў уводу.\n" " noerror Працягваць працу пасьля памылак чытаньня.\n" " sync Дадаваць да кожнага блёку ўводу нулі да памеру ibs; калі\n" " выкарыстоўваецца разам з block ці unblock, дадаваць прагалы,\n" " замест нулёў.\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s: заданая тэчка мэты не зьяўляецца тэчкай" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text выкарыстоўваць тэкставы ўвод/вывад для даных\n" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Невядомая сістэмная памылка" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% запісаў уайшло\n" "%+% запісаў выйшла\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% байт (%s) скапіяваны" msgstr[1] "% байты (%s) скапіявана" msgstr[2] "% байтаў (%s) скапіявана" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Бясконцасьць" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g сэкунда , %s/s\n" #: src/dc3dd.c:2057 #, fuzzy, c-format msgid ", %g s, %s/s\n" msgstr ", %g сэкунда , %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "зачыняецца файл уводу %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "закрываецца файл вываду %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 msgid "Split extensions exhausted" msgstr "" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "адчыняецца %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "ПАМЫЛКА" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "нераспазнаны апэранд %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "нерэчаісная дата %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "нерэчаісны фармат даты %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "нерэчаісны фармат даты %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "нерэчаісны фармат даты %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "нерэчаіснае ператварэньне: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "нерэчаісны сьцяг уводу: %s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "нерэчаісны сьцяг вываду: %s" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "нерэчаісны сьцяг статусу: %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "нерэчаісны нумар %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "немагчыма сумясьціць рэжым і парамэтры --reference" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "немагчыма сумясьціць рэжым і парамэтры --reference" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "немагчыма сумясьціць рэжым і парамэтры --reference" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "немагчыма сумясьціць рэжым і парамэтры --reference" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "немагчыма сумясьціць рэжым і парамэтры --reference" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "чытаецца %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: немагчыма перасунуць паказальнік" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "перапаўненьне зруху цягам чытаньня файла %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "увага: зрух файла пашкоджаны пасьля памылкі чытаньня" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "немагчыма абмінуць памылку ядра" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "выстаўленьне сьцягоў для %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "чытаецца дырэкторыя %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "чытаецца дырэкторыя %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "запіс у %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "збой fdatasync для %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "збой fsync для %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "стандартны ўвод" #: src/dc3dd.c:3938 msgid "standard output" msgstr "стандартны вывад" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "немагчыма выканаць fstat %s" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "дасягнуты %s байтаў у файле вываду %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii З EBCDIC у ASCII.\n" #~ " ebcdic З ASCII ў EBCDIC.\n" #~ " ibm З ASCII ў альтэрнатыўнае EBCDIC.\n" #~ " block Замяняць запісы з канцавымі знакамі новага радка на прагалы.\n" #~ " unblock Замяняць канцавыя прагалы на новыя радкі.\n" #~ " lcase Зьмяняць вялікія літары на маленькія.\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% абрэзаны запіс\n" #~ msgstr[1] "% абрэзаных запісы\n" #~ msgstr[2] "% абрэзаных запісаў\n" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "немагчыма абмінуць разам карыстальніка й групу" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "немагчыма параўнаць назвы файлаў %s і %s" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "увага: зрух файла пашкоджаны пасьля памылкі чытаньня" #~ msgid "error writing %s" #~ msgstr "памылка запісу %s" #~ msgid "invalid argument %s for %s" #~ msgstr "нерэчаісны довад %s для %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "неадназначны довад %s для %s" #~ msgid "Valid arguments are:" #~ msgstr "Рэчаісныя довады:" #, fuzzy #~ msgid "error closing file" #~ msgstr "зачыняецца файл уводу %s" #~ msgid "write error" #~ msgstr "памылка запісу" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "усталяваньне правоў для %s" #~ msgid "cannot stat %s" #~ msgstr "немагчыма зрабіць stat %s" #~ msgid "regular empty file" #~ msgstr "звычайны парожні файл" #~ msgid "regular file" #~ msgstr "звычайны файл" #~ msgid "directory" #~ msgstr "тэчка" #~ msgid "block special file" #~ msgstr "асаблівы кавалкавы файл" #~ msgid "character special file" #~ msgstr "асаблівы знакавы файл" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "знакавае лучыва" #~ msgid "socket" #~ msgstr "socket" #~ msgid "message queue" #~ msgstr "чарга паведамленьняў" #~ msgid "semaphore" #~ msgstr "сэмафор" #~ msgid "shared memory object" #~ msgstr "абьект з агульнай памяцьцю" #~ msgid "typed memory object" #~ msgstr "тыпізаваны аб'ект памяці" #~ msgid "weird file" #~ msgstr "лёсавы файл" #~ msgid "Address family for hostname not supported" #~ msgstr "Гэта адрасная сям'я для гэтага вузла не падтрымліваецца" #~ msgid "Temporary failure in name resolution" #~ msgstr "Часовы збой у вызначэнні назвы вузла вфаыв выфа " #~ msgid "Bad value for ai_flags" #~ msgstr "Кепскае значэнне для ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Невыпрвімая памылка ў вызначэнні назвы вузла" #~ msgid "ai_family not supported" #~ msgstr "ai_family не падтрымліваецца" #~ msgid "Memory allocation failure" #~ msgstr "Збой размеркавання памяці" #~ msgid "No address associated with hostname" #~ msgstr "Адсутнічае звязаны з назвай вузла адрас" #~ msgid "Name or service not known" #~ msgstr "Невядомая назва або паслуга" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype не падтрымліваецца" #~ msgid "System error" #~ msgstr "Сістэмная памылка" #~ msgid "Request canceled" #~ msgstr "Запыт скасаваны" #~ msgid "All requests done" #~ msgstr "Усе запыты выкананы" #~ msgid "Interrupted by a signal" #~ msgstr "Спынена з-за атрымання сігналу" #~ msgid "Unknown error" #~ msgstr "Невядомая памылка" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: выбар `%s' неадназначны\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: выбар `--%s' не дазваляе довад\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: выбар `%c%s' не дазваляе довад\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: выбар `%s' патрабуе довад\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: нераспазнаны выбар `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: нераспазнаны выбар `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: недапушчальны выраб -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: нерэчаісны парамэтар -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: выбар патрабуе довад -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: выбар `-W %s' неадназначыны\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: выбар `-W %s' не дазваляе довад\n" #~ msgid "cannot change permissions of %s" #~ msgstr "немагчыма зьмяніць правы %s" #~ msgid "cannot create directory %s" #~ msgstr "немагчыма стварыць тэчку %s" #~ msgid "memory exhausted" #~ msgstr "памяць вычарпана" #~ msgid "unable to record current working directory" #~ msgstr "немагчыма запісаць цяперашнюю працоўную тэчку" #~ msgid "failed to return to initial working directory" #~ msgstr "немагчыма вярнуцца ў пачатковую працоўную тэчку" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: збой seek" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: нерэчаісны сталы выраз: %s" #, fuzzy #~ msgid "Invalid collation character" #~ msgstr "недзеяздольная кляса знака %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "недзеяздольная кляса знака %s" #, fuzzy #~ msgid "Invalid back reference" #~ msgstr "Недзеяздольны прамежак старонак %s" #, fuzzy #~ msgid "Invalid range end" #~ msgstr "Недзеяздольны прамежак старонак %s" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "памяць вычарпана" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: нерэчаісны сталы выраз: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "памылка ў пошуку звычайнага выразу" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "памылка ў супастаўляльніку сталых выразаў" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "памылка ў пошуку звычайнага выразу" #~ msgid "^[yY]" #~ msgstr "^[тТ]" #~ msgid "^[nN]" #~ msgstr "^[нН]" #~ msgid "setting permissions for %s" #~ msgstr "усталяваньне правоў для %s" #~ msgid "iconv function not usable" #~ msgstr "функцыя iconv непрыгодна для выкарыстаньня" #~ msgid "iconv function not available" #~ msgstr "недаступна функцыя iconv" #~ msgid "character out of range" #~ msgstr "знак па за дапушчальнымі межамі" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "немагчыма пераўтварыць U+%04X у мясцовы набор знакаў" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "немагчыма пераўтварыць U+%04X у мясцовы набор знакаў: %s" #~ msgid "invalid user" #~ msgstr "нерэчаісны карыстальнік" #~ msgid "invalid group" #~ msgstr "нерэчаісная група" #, fuzzy #~ msgid "invalid spec" #~ msgstr "нерэчаісны карыстальнік" #~ msgid "(C)" #~ msgstr "(C)" #~ msgid "Written by %s.\n" #~ msgstr "Аўтар: %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Аўтары: %s і %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Аўтары: %s, %s і %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "Аўтары: %s, %s, %s і %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "Аўтары: %s, %s, %s, %s і %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Аўтары %s, %s, %s,\n" #~ "%s, %s і %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Аўтары: %s, %s, %s,\n" #~ "%s, %s, %s і %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Аўтары: %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "і %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Аўатры: %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s і %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Аўтары:·%s,·%s,·%s,\n" #~ "%s,·%s,·%s,·%s,\n" #~ "%s,·%s і іншыя.\n" #~ msgid "invalid argument: %s" #~ msgstr "нерэчаісны довад: %s" #~ msgid "string comparison failed" #~ msgstr "памылка параўнаньня радку" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Усталюйце LC_ALL='C' каб працаваць без пытаньняў." #~ msgid "The strings compared were %s and %s." #~ msgstr "Радкі былі параўнаны тут %s і тут %s." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "памылка параўнаньня радку" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "нерэчаісны довад %s" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "кепскі цэлы довад %s" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s занадта вялікі" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР] [ФАЙЛ]...\n" #~ " ці: %s [ВЫБАР] --check [ФАЙЛ]\n" #~ "Друкуе ці правярае %s (%d-бітавую) праверчую суму.\n" #~ "Калі файл незаданы, ці калі замест яго працяжнік, чытае стандартны ўвод.\n" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version выводзіць зьвесткі пра вэрсію\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Калі ФАЙЛ не зададзены альбо зададзены -, чытае стандартны ўвод.\n" #~ msgid "read error" #~ msgstr "памылка чытаньня" #, fuzzy #~ msgid "invalid input" #~ msgstr "нерэчаісны сьцяг уводу: %s" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "незразумелы памер табуляцыі: %s" #~ msgid "extra operand %s" #~ msgstr "непатрэбны аргумэнт %s" #~ msgid "closing standard input" #~ msgstr "зачыненьне стандартнага уводу" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s НАЗВА [УСТАЎКА]\n" #~ " ці: %s ВЫБАР\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Друкуе НАЗВу без усялякіх папярэдніх частак(тэчак).\n" #~ "Калі пазначака, так сама вікідае й УСТАЎКу.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Прыклады:\n" #~ " %s /usr/bin/sort Выводзіць \"sort\".\n" #~ " %s include/stdio.h .h Выводзіць \"stdio\".\n" #~ msgid "missing operand" #~ msgstr "прапушчаны аргумент" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР] [ФАЙЛ]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Зьвязвае ФАЙЛ(ы), ці стандартны ўвод са стандартным вывадам.\n" #~ "\n" #~ " -A, --show-all раўназначна -vET\n" #~ " -b, --number-nonblank колькасьць непарожніх радкоў вываду\n" #~ " -e раўназначна -vE\n" #~ " -E, --show-ends адлюстроўвае $ на праканцы кожнага радка\n" #~ " -n, --number нумараваць усе радкі вываду\n" #~ " -s, --squeeze-blank ня больш за адзін парожні радок\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t раўназначна -vT\n" #~ " -T, --show-tabs адлюстроўвае знак TAB як ^I\n" #~ " -u (адхілена)\n" #~ " -v, --show-nonprinting выарыстоўвае ^ і M- запіс, за " #~ "выключэньнем\n" #~ " LFD і TAB\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Прыклады:\n" #~ " %s f - g Выводзіць зьмест f, затым стандартны ўвод, затым зьмест файла " #~ "g.\n" #~ " %s Капіюе стандартны ўвод на стандартны вывад.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "немагчыма выканаць ioctl на %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: файл уводу зьяўляецца й файлам вываду" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "немагчыма зьмяніць уладальніка %s\n" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "немагчыма атрымаць атрыбуты %s" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "немагчыма зьмяніць уладальніка %s на %s\n" #~ msgid "cannot access %s" #~ msgstr "немагчыма атрымаць доступ да %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "немагчыма прачытаць тэчку %s" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "зьмяненьне правоў %s" #~ msgid "fts_read failed" #~ msgstr "збой fts_read" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... РЭЖЫМ[,РЭЖЫМ]... ФАЙЛ...\n" #~ " ці: %s [ВЫБАР]... ВАСЬМЯРЫЧНЫ_РЭЖЫМ ФАЙЛ...\n" #~ " ці: %s [ВЫБАР]... --reference=RФАЙЛ ФАЙЛ...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Зьмяняе ўладальніка й/альбо групу кожнага ФАЙЛа на ЎЛАДАЛЬНІКа й/альбо " #~ "ГРУПУ.\n" #~ "Калі зададзены --reference, зьмяняе ўладальніка й групу кожнага ФАЙЛа на\n" #~ "адпаведныя значэньні ў файла RFILE.\n" #~ "\n" #~ " -c, --changes як і verbose, але друкуе толькі калі зьмены " #~ "адбыліся\n" #~ " --dereference узьдзейнічае на аб'ект спасылкі, замест самой\n" #~ " сымбалічнае спасылкі (гэта прадвызначаныя " #~ "паводзіны)\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet не адлюстроўваць асноўныя паведамленьні аб " #~ "памылках\n" #~ " --reference=RФАЙЛ выкарыстоўвае ўладальніка й групу RФАЙЛу замест\n" #~ " зададзеных значэньняў УЛАДАЛЬНІК:ГРУПА\n" #~ " -R, --recursive апрацоўвае файлы й тэчкі рэкурсыўна\n" #~ " -v, --verbose выводзіць праверку для кожнага апрацаванага " #~ "файлу\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference патрабуе альо -H альбо -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h патрабуе -P" #~ msgid "missing operand after %s" #~ msgstr "прапушчаны аргумент пасля %s" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "нерэчаісны рэжым: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "немагчыма атрымаць атрыбуты %s" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "нерэчаісная група %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... ГРУПА ФАЙЛ...\n" #~ " or: %s [ВЫБАР]... --reference=RФАЙЛ ФАЙЛ...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Зьмяняе ўладальніка й/альбо групу кожнага ФАЙЛа на ЎЛАДАЛЬНІКа й/альбо " #~ "ГРУПУ.\n" #~ "Калі зададзены --reference, зьмяняе ўладальніка й групу кожнага ФАЙЛа на\n" #~ "адпаведныя значэньні ў файла RFILE.\n" #~ "\n" #~ " -c, --changes як і verbose, але друкуе толькі калі зьмены " #~ "адбыліся\n" #~ " --dereference узьдзейнічае на аб'ект спасылкі, замест самой\n" #~ " сымбалічнае спасылкі (гэта прадвызначаныя " #~ "паводзіны)\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet не адлюстроўваць асноўныя паведамленьні аб " #~ "памылках\n" #~ " --reference=RФАЙЛ выкарыстоўвае ўладальніка й групу RФАЙЛу замест\n" #~ " зададзеных значэньняў УЛАДАЛЬНІК:ГРУПА\n" #~ " -R, --recursive апрацоўвае файлы й тэчкі рэкурсыўна\n" #~ " -v, --verbose выводзіць праверку для кожнага апрацаванага " #~ "файлу\n" #~ msgid "getting new attributes of %s" #~ msgstr "атрыманьне новых атрыбутаў %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "" #~ "ні знакавае лучува %s ні файл, на які яно спасылаецца, не былі зьменены\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "рэжым %s зьменены на %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "немагчыма зьмяніць рэжым %s на %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "рэжым %s утрыманы як %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "немагчыма стварыць знакавае лучыва %s" #~ msgid "changing permissions of %s" #~ msgstr "зьмяненьне правоў %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: новыя правы: %s, замест %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... РЭЖЫМ[,РЭЖЫМ]... ФАЙЛ...\n" #~ " ці: %s [ВЫБАР]... ВАСЬМЯРЫЧНЫ_РЭЖЫМ ФАЙЛ...\n" #~ " ці: %s [ВЫБАР]... --reference=RФАЙЛ ФАЙЛ...\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet затрымлівае большасьць паведамленьняў пра " #~ "памылкі\n" #~ " -v, --verbose друкуе дыягностыку для кожнага апрацаванага " #~ "файла\n" #~ " --reference=RFILE выкарыстоўвае рэжым RFILE'а замест РЭЖЫМу\n" #~ " -R, --recursive апрацоўвае файлы й дырэкторыі рэкурсіўна\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Кожны РЭЖЫМ складаецца з \"[ugoa]*([-+=]([rwxXst]*|[ugo]))+\".\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "немагчыма сумясьціць рэжым і парамэтры --reference" #~ msgid "invalid mode: %s" #~ msgstr "нерэчаісны рэжым: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "зьменены уладальнік %s на %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "зьменена група %s на %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "зьмены ўладальніка %s не было\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "немагчыма зьмяніць уладальніка %s на %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "немагчыма зьмяніць групу %s на %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "немагчыма зьмяніць уладальніка %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "уладальнік %s захаваны як %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "група %s захавана як %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "у %s застаўся ранейшы ўладальнік\n" #~ msgid "cannot dereference %s" #~ msgstr "немагчыма знайсьці аб'ект спасылкі %s" #~ msgid "changing ownership of %s" #~ msgstr "зьмена ўладальніка %s" #~ msgid "changing group of %s" #~ msgstr "зьмена групы %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ПАРАМЭТАР]... [УЛАДАЛЬНІК][:[ГРУПА]] ФАЙЛ...\n" #~ " альбо: %s [ПАРАМЭТАР]... --reference=RFILE ФАЙЛ...\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Зьмяняе ўладальніка й/альбо групу кожнага ФАЙЛа на ЎЛАДАЛЬНІКа й/альбо " #~ "ГРУПУ.\n" #~ "Калі зададзены --reference, зьмяняе ўладальніка й групу кожнага ФАЙЛа на\n" #~ "адпаведныя значэньні ў файла RFILE.\n" #~ "\n" #~ " -c, --changes як і verbose, але друкуе толькі калі зьмены " #~ "адбыліся\n" #~ " --dereference узьдзейнічае на аб'ект спасылкі, замест самой\n" #~ " сымбалічнае спасылкі (гэта прадвызначаныя " #~ "паводзіны)\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=БЯГУЧЫ_ЎЛАДАЛЬНІК:БЯГУЧАЯ_ГРУПА\n" #~ " зьмяняе ўладальніка й/ці групу кожнага файла " #~ "толькі\n" #~ " калі яго бягучы ўладальнік і/ці група супадаюць " #~ "з\n" #~ " зададзенымі тутака. Як група так і ўладальнік " #~ "могуць\n" #~ " быць не зададзены, у гэтым выпадку супадзеньне " #~ "гэтага\n" #~ " атрыбуту неабавязкова.\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet не адлюстроўваць асноўныя паведамленьні аб " #~ "памылках\n" #~ " --reference=RФАЙЛ выкарыстоўвае ўладальніка й групу RФАЙЛу замест\n" #~ " зададзеных значэньняў УЛАДАЛЬНІК:ГРУПА\n" #~ " -R, --recursive апрацоўвае файлы й тэчкі рэкурсыўна\n" #~ " -v, --verbose выводзіць праверку для кожнага апрацаванага " #~ "файлу\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Калі ўладальнік прапушчаны, ён не зьмяняецца. Калі група прапушчана, " #~ "яна\n" #~ "не зьмяняецца, але ж зьмяняецца на рэгістрацыйную групу калі зададзен " #~ "толькі\n" #~ "уладальнік з `:'. УЛАДАЛЬНІК і ГРУПА могуць быць зададзены як лічбамі, " #~ "так і\n" #~ "мянушкамі для лічбавых значэньняў.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Прыклады:\n" #~ " %s root /u Зьмяняе ўладальніка /u на \"root\".\n" #~ " %s root:staff /u Тое сама, але яшчэ зьмяняе групу на \"staff\".\n" #~ " %s -hR root /u Зьмяняе ўладальніка /u і субфайлаў на \"root\".\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s НОВЫ_ROOT [ЗАГАД...]\n" #~ " ці: %s ВЫБАР\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Запускае ЗАГАД з новай каранёвай тэчкай.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Калі не атрыман загад, выконвае ``${SHELL} -i'' (дапомна: /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "немагчыма зьмяніць каранёвую тэчку на %s" #~ msgid "cannot chdir to root directory" #~ msgstr "немачыма перайсьці да каранёвае тэчкі" #~ msgid "cannot run command %s" #~ msgstr "немагчыма выканаць загад %s" #~ msgid "%s: file too long" #~ msgstr "%s: файл занадта вялікі" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ФАЙЛ]...\n" #~ " ці: %s [ВЫБАР]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Друкуе CRC падлік і колькасьць байтаў кожнага ФАЙЛу.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Выкарыстаньне: %s [ПАРАМЭТАР]... ФАЙЛ1 ФАЙЛ2\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "Парановае упарадкаваныя файлы ЛЕВЫ_ФАЙЛ і ПРАВЫ_ФАЙЛ радок за радком.\n" #~ "\n" #~ " -1 не адлюстроўваць радкі, якія ёсьць толькі ў левым " #~ "файле\n" #~ " -2 не адлюстроўваць радкі, якія ёсьць толькі ў правым " #~ "файле\n" #~ " -3 неадлюстроўваць радкі, якія ёсьць у абодвух файлах\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "усталяваньне правоў для %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "памылка пры захаваньні ўладальніку для %s" #~ msgid "failed to lookup file %s" #~ msgstr "немагчыма адшукаць файл %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "збой пры захаваньні аўтарства для %s" #~ msgid "cannot open %s for reading" #~ msgstr "немагыма адчыніць %s для чытаньня" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "файл %s мінаецца, таму што ён быў заменены пад час капіяваньня" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "немагчыма зьмяніць групу %s на %s\n" #~ msgid "cannot remove %s" #~ msgstr "немагчыма выдаліць %s" #~ msgid "removed %s\n" #~ msgstr "выдален %s\n" #~ msgid "cannot create regular file %s" #~ msgstr "немагчыма стварыць звычайны файл %s" #~ msgid "cannot lseek %s" #~ msgstr "немагчыма зрабіць lseek %s" #~ msgid "writing %s" #~ msgstr "пішацца %s" #~ msgid "preserving times for %s" #~ msgstr "захоўвае час для %s" #~ msgid "closing %s" #~ msgstr "зачыняецца %s" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: перазапісаць %s, рэжым перазапісу %04lo? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: перазапісаць %s? " #~ msgid " (backup: %s)" #~ msgstr " (запасны: %s)" #~ msgid "omitting directory %s" #~ msgstr "мінаецца тэчка %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "увага: зыходны файл %s зададзены больш за адзін раз" #~ msgid "%s and %s are the same file" #~ msgstr "%s і %s адзін і той жа ж файл" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "немагчыма перазапісаць ня тэчку %s тэчкай %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "толькі што створаны %s з %s ня будзе перазапісаны" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "немагчыма перазапісаць тэчку %s ня тэчкай" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "немагчыма перамясьціць тэчку ў ня тэчку: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "стварэньне запасной копіі %s зьнішчыць крыніцу; %s не перанесен" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "стварэньне запасной копіі %s зьнішчыць крыніцу; %s не скапіяван" #~ msgid "cannot backup %s" #~ msgstr "немагчыма стварыць запасную копію %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "толькі што створаны %s з %s ня будзе перазапісаны" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "немагчыма скапіяваць тэчку, %s, саму ў сябе, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "жорсткае лучыва %s на тэчку %s ня будзе створана" #~ msgid "cannot create hard link %s to %s" #~ msgstr "немагчыма стварыць жорсткае лучыва %s на %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "немагчыма перамясьціць %s ва ўласную падтэчку, %s" #~ msgid "cannot move %s to %s" #~ msgstr "немагчыма перамясьціць %s у %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "збой міжпрыладнага перамяшчэньня: %s у %s; немагчыма выдаліць мэту" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "немагчыма атрымаць атрыбуты %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "немагчыма скапіяваць цыклічнае знакавае лучыва %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s: можа стварыць адноснае знакавае лучыва толькі ў бягучае тэчцы" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "немагчыма стварыць знакавае лучыва %s на %s" #~ msgid "cannot create link %s" #~ msgstr "немагчыма стварыць лучыва %s" #~ msgid "cannot create fifo %s" #~ msgstr "немагчыма стварыць fifo %s" #~ msgid "cannot create special file %s" #~ msgstr "немагчыма стварыць асаблівы файл %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "немагчыма прачытаць знакавае лучыва %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "немагчыма стварыць знакавае лучыва %s" #~ msgid "%s has unknown file type" #~ msgstr "%s мае невядомы від файлу" #~ msgid "cannot un-backup %s" #~ msgstr "немагчыма вастанавіць %s з запасное копіі" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (вастанаўленьне)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... АДКУЛЬ КУДЫ\n" #~ " ці: %s [ВЫБАР]... АДКУЛЬ... ТЭЧКА\n" #~ " ці: %s [ВЫБАР]... --target-directory=ТЭЧКА АДКУЛЬ...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Капуе КРЫНІЦу ў ПРЫЗНАЧЭНЬНЕ; ці шматлікія КРЫНІЦ(ы) у ТЭЧКу.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Довады, абавязковыя для доўгіх выбараў, абавязковыя й для кароткіх.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive тое што й -dpR\n" #~ " --backup[=CONTROL] стварае запасную копію кожнага існуючага " #~ "файлу\n" #~ " прызначэньня\n" #~ " -b як --backup але не прымае довад\n" #~ " --copy-contents капуе зьмест асабістых файлаў, у " #~ "выпадку\n" #~ " рэкурсыі\n" #~ " -d тое ж, што й --no-dereference --" #~ "preserve=link\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " --no-dereference ніколі ня следаваць за знакавымі лучывамі\n" #~ " -f, --force калі існуючы файл прызначэньня ня можа " #~ "быць\n" #~ " адчынены, выдаліць яго й паспрабаваць " #~ "нанава\n" #~ " -i, --interactive паведаміць перад перазапісам\n" #~ " -H ісьці за знакавымі лучывамі ў загадным " #~ "радку\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -l, --link злучае файлы замест капіяваньня\n" #~ " -L, --dereference заўсёды йсьці за знакавымі лучывамі\n" #~ " -p як і --preserve=mode,ownership,timestamps\n" #~ " --preserve[=СЬПІС_АТРЫБУТАЎ]\n" #~ " захоўвае пазначаныя атрыбуты (дапомныя:\n" #~ " mode,ownership,timestamps), калі " #~ "магчыма,\n" #~ " дадатковыя атрыбуты: links, all\n" #, fuzzy #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=СЬПІС_АТРЫБУТАЎ\n" #~ " не захоўваць пазначаныя атрыбуты\n" #~ " --parents дадаць зыходны шлях да ТЭЧКі\n" #~ " -P як і `--no-dereference'\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive рэкурсыўна капіяваць тэчкі\n" #~ " --remove-destination выдаліць кожны існуючы файл " #~ "прызначэньня\n" #~ " перад тым як адчыніць яго (у разрэз з --" #~ "force)\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --reply={yes,no,query} вызначае як апрацоўваць паведамленьне " #~ "пра\n" #~ " існуючы файл прызначэньня\n" #~ " --sparse=WHEN кантралюе стварэньне разрэджаных файлаў\n" #~ " --strip-trailing-slashes выдаляе ўсе цягнучыеся скосы з кожнага " #~ "доваду\n" #~ " КРЫНІЦы\n" #, fuzzy #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link стварае знакавыя лучывы замест " #~ "капіяваньня\n" #~ " -S, --suffix=КАНЧАТАК перазапісвае звычайны канчатак запасу\n" #~ " --target-directory=ТЭЧКА перамяшчае ўсе довады КРЫНІЦы ў ТЭЧКу\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update капуе толькі калі файл КРЫНІЦА навешы за " #~ "файл\n" #~ " прызначэньня, ці файл прызначэньне " #~ "прапушчаны\n" #~ " -v, --verbose пведамляе што ўжо зроблена\n" #~ " -x, --one-file-system не пакідаць межы гэтае файлавае сыстэмы\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " Дапомна, \"sparse\" файлы з КРЫНІЦы распазнаецца непрадуманай " #~ "эўрыстыкай і\n" #~ "суадносна гэтаму, ствараецца \"sparse\" файл ПРЫЗНАЧЭНЬНя. Гэтак ж " #~ "паводзіць\n" #~ "сябе выбар --sparse=auto. Заданьне --sparse=always прымушае ствараць " #~ "файл\n" #~ "ПРЫЗНАЧЭНЬНя заўсёды, нават калі КРЫНІЦА ўтрымлівае за шмат " #~ "паслядоўнасьцей.\n" #~ "нулявых байтаў. Выкарыстоўвайце--sparse=never для забароны стварэньня\n" #~ "\"sparse\" файлаў.\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ " Канчаткам запасных файлаў зьяўляецца `~', калі не пераназначаецца\n" #~ "выбарам --suffix ці пераменнай асяродзьдзя SIMPLE_BACKUP_SUFFIX.\n" #~ "Шлях кантраляваньня вэрсый можа быць абраны выбарам --backup, ці праз\n" #~ "пераменную асяродзьдзя VERSION_CONTROL. Магчымая значэньні:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off ніколі не запасіць (нават калі зададзены --backup)\n" #~ " numbered, t ствараць нумараваныя запасы\n" #~ " existing, nil нумараваць, калі йснуе нумараваны, інакш не нумараваць\n" #~ " simple, never заўсёды ствараць ненумараваныя\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ " Загад cp запасіць КРЫНІЦы калі зададзены выбары -f і -b, і калі\n" #~ "КРЫНІЦА й ПРЫЗНАЧЭНЬНЕ адна й тая ж назва існуючага звычанага файлу.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "збой пры захаваньні часу для %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "збой пры захаваньні правоў для %s" #~ msgid "cannot make directory %s" #~ msgstr "немагчыма стварыць тэчку %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s існуе, але гэта ня тэчка" #~ msgid "accessing %s" #~ msgstr "доступ да %s" #~ msgid "missing file operand" #~ msgstr "прапушчаны файлавы довад" #~ msgid "missing destination file operand after %s" #~ msgstr "прапушчаны файл прызначэньня пасьля %s" #~ msgid "target %s is not a directory" #~ msgstr "згаданая мэта %s не з'яўляецца тэчкай" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "калі зададзены --parents, прызначэньне мусіць быць дырэкторыяй" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "парамэтар --reply асуджаны; выкарыстоўваеце замест яго -i альбо -f" #~ msgid "multiple target directories specified" #~ msgstr "зададзены некалькі дырэкторыяў прызначэньня" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "немагчыма стварыць ні жорсткае, ні знакавае лучыва" #~ msgid "backup type" #~ msgstr "від запасной копіі" #~ msgid "input disappeared" #~ msgstr "увод недаступны" #~ msgid "%s: line number out of range" #~ msgstr "%s: нумар радку за дапушчальнымі межамі" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: нумар радка па-за дазволенымі межамі" #~ msgid " on repetition %s\n" #~ msgstr " на паўтарэньні %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: супадзеньне ня знойдзена" #~ msgid "error in regular expression search" #~ msgstr "памылка ў пошуку звычайнага выразу" #~ msgid "write error for %s" #~ msgstr "памылка запісу для %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: пасьля падзяляльніка чакаецца цэлы лік" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: `}' патрабуецца для падліку паўтораў" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: цэлы патрабуецца паміж `{' і `}'" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: прапушчаны падзяляльнік зачыненьня `%c'" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: нерэчаісны сталы выраз: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: нерэчаісны прыклад" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: нумар радку павінен быць большым за нуль." #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "нумар радка %s меншы за нумар папярэдняга радка, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "Увага! Нумар радка %s супадае з нумарам папярэдняга радка." #~ msgid "invalid format width" #~ msgstr "недзеяздольны фармат шырыні" #~ msgid "invalid format precision" #~ msgstr "недзеяздольны фармат дакладнасьці" #~ msgid "missing conversion specifier in suffix" #~ msgstr "прапушчан вызначальнік пераўтварэньня ва ўстаўцы" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "нерэчаісны вызначальнік пераўтварэньня ва ўстаўцы: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "нерэчаісны вызначальнік пераўтварэньня ва ўстаўцы: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "за шмат ва ўстаўцы %% вызначальнікаў пераўтварэньня" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "ва ўстаўцы прапушчан %% вызначальнік пераўтварэньня" #~ msgid "%s: invalid number" #~ msgstr "%s: нерэчаісны нумар" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... ФАЙЛ УЗОР..\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Выводзіць кавалкі ФАЙЛа падзеленыя па ЎЗОРу ў файлы `xx01', `xx02', ...,\n" #~ "таксама выводзіць на стандартны вывад колькасьць байтаў у кожным " #~ "кавалку.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=ФАРМАТ Выкарыстоўваць sprintf ФАРМАТ замест %d\n" #~ " -f, --prefix=ПРЫСТАЎКА Выкарыстоўваць ПРЫСТАЎКу замест `xx'\n" #~ " -k, --keep-files Не выдаляць файлы вываду пры памылках\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=РАЗРАДЫ Выкарыстоўваць зададзеную колькасьць " #~ "разрадаў,\n" #~ " замест звычайных двух.\n" #~ " -s, --quiet, --silent Не друкаваць падлікі памераў файлаў вываду.\n" #~ " -z, --elide-empty-files Выдаляць парожнія файлы вываду.\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Чытае стандартны ўвод, калі замест ФАЙЛа -. Кожны ЎЗОР можа быць:\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Выкарыстаньне: %s [ПАРАМЭТАР]... [ФАЙЛ]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ " Друкуе абраныя часкі радкоў з кожнага ФАЙЛу ў стандартны вывад.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=СЬПІС Выводзіць тольі гэтыя байты.\n" #~ " -c, --characters=СЬПІС Выводзіць толькі гэтыя знакі.\n" #~ " -d, --delimiter=ПАДЗЯЛЯЛЬНІК\n" #~ " Выкарыстоўваць адмысловы падзяляльнік " #~ "для\n" #~ " размежаваньня палёў, замест TAB.\n" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=СЬПІС Выводзіць толькі гэтыя палі; так сама " #~ "друкаваць\n" #~ " любы радок, які не зьмяшчае падзяляльнік, за\n" #~ " выняткам тых выпадкаў, калі заданы выбар -s.\n" #~ " -n (незаўважаецца)\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited Не друкуе радкі без падзяляльніка.\n" #~ " --output-delimiter=РАДОК\n" #~ " Выкарыстоўвае радок як падзяляльнік " #~ "вываду;\n" #~ " дапомна выкарыстоўваецца падзяляльнік " #~ "уводу.\n" #~ msgid "invalid byte or field list" #~ msgstr "нерэчаісны байт ці сьпіс поля" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "незразумелая шырыня радка: %s" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "Недзеяздольны прамежак старонак %s" #~ msgid "byte offset %s is too large" #~ msgstr "байт зруху %s занадта вялікі" #~ msgid "field number %s is too large" #~ msgstr "нумар поля %s занадта вялікі" #~ msgid "only one type of list may be specified" #~ msgstr "толькі адзін від сьпісу можа быць зададзены" #~ msgid "the delimiter must be a single character" #~ msgstr "падзяляльнік паінен быць адным знакам" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "вы павінны пазначыць сьпіс байтаў, знакаў ці палёў" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "падзяляльнік уводу можа быць зададзены толькі для дзеяньняў над палямі" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "падаўленьне непадзеленых радкоў мае сэнс толькі для\n" #~ "\tдзеяньняў над палямі" #~ msgid "missing list of fields" #~ msgstr "прапушчан сьпіс палёў" #~ msgid "missing list of positions" #~ msgstr "прапушчан сьпіс становішчаў" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... [+ФАРМАТ]\n" #~ " ці: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #, fuzzy #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " -r, --reference=ФАЙЛ Адлюстроўвае час апошняга зьмяненьня файла.\n" #~ " -R, --rfc-2822 Выдае радок часу ўзгодна з RFC-2822.\n" #~ " --rfc-3339=TIMESPEC друкуе дату й час у фармаце RFC 3339.\n" #~ " TIMESPEC='date', 'seconds' альо 'ns' для\n" #~ " даты й часу, каб вызначыць дакладнасьць.\n" #~ " -s, --set=РАДОК Усталёвае час, які апісаны радком.\n" #~ " -u, --utc, --universal Друкуе Ўнівэрсальны скаардынаваны час.\n" #, fuzzy #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A Поўная мясцовая назва дня; пераменная даўжыня (Пянядзелак..." #~ "Серада).\n" #~ " %b Скарочаная мясцовая назва месяца (Стд..Снж).\n" #~ " %B Поўная мясцовая назва месяца пераменнае даўжыні (Студзень..." #~ "Сьнежань).\n" #~ " %c Мясцовыя дата й час (Чцв Ліс 18 06:06:06 MSK 1982).\n" #, fuzzy #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C Стагоддзе (год, падзелены на 100 і абрэзаны да цэлага) [00-99].\n" #~ " %d Дзень месяца (01..31).\n" #~ " %D Дата (мм/дздз/гг).\n" #~ " %e Дзень месяца, бяз 0 ( 1..31).\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F поўная дата; тое, што й %Y-%m-%d.\n" #~ " %g дзвюх лічбавы год нумара тыдня ў ISO (гл. %G).\n" #~ " %G год нумара тыдня ў ISO (гл. %V); звычайна ідзе разам з %V.\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h як і %b\n" #~ " %H гадзіна (00..23)\n" #~ " %I гадзіна (01..12)\n" #~ " %j дзень году (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k гадзіна ( 0..23)\n" #~ " %l гадзіна ( 1..12)\n" #~ " %m месяц (01..12)\n" #~ " %M хвіліна (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n новы радок\n" #~ " %N нанасэкунды (000000000..999999999)\n" #~ " %p мясцовы эквівалент паказчык AM ці PM; нічога калі яго няма\n" #~ " %P як %p, але малымі літарамі\n" #~ " %r мясцовы час у 12-гадзінным фармаце (напрыклад 11:11:04 PM)\n" #~ " %R 24-гадзінны час; як і %H:%M\n" #~ " %s колькасьць сэкундаў з 1970-01-01 00:00:00 UTC\n" #, fuzzy #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U Нумар тыдня года, дзе першы дзень тыдня - нядзеля (00..53).\n" #~ " %V Нумар тыдня года, дзе першы дзень тыдня - панядзелак (01..53).\n" #~ " %w Дзень тыдня (0..6); дзе 0 - гэта нядзеля.\n" #~ " %W Нумар тыдня года, дзе першы дзень тыдня - панядзелак (00..53).\n" #, fuzzy #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x мясцовы выгляд даты (мм/дздз/гг)\n" #~ " %X мясцовы выгляд часу (%Г:%Хв:%С)\n" #~ " %y дзьве апошнія лічбы году (00..99)\n" #~ " %Y год (1970...)\n" #~ msgid "multiple output formats specified" #~ msgstr "зададзены некалькі фарматаў вываду" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "выбары, што вызначаюць дату для друку ўзаема выключныя" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "выбары для ўсталяваньня й друку часу нельга ўжываць разам" #~ msgid "cannot set date" #~ msgstr "немагчыма ўсталяваць дату" #~ msgid "time %s is out of range" #~ msgstr "час %s за дазволенымі межамі" #~ msgid "Filesystem Type" #~ msgstr "Ф-я сыстэма Тып" #~ msgid "Filesystem " #~ msgstr "Файлавая сыстэма " #~ msgid " Size Used Avail Use%%" #~ msgstr " Памер Ужыта В-на У-а%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Памер Ужыта В-на У-а%%" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %4s-блёкаў Ужыта Вольна Ёміст." #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-блёкаў Ужыта Вольна У-а%%" #~ msgid " Mounted on\n" #~ msgstr " Пункт мантаваньня\n" #~ msgid "cannot get current directory" #~ msgstr "немагчыма атрымаць бягучую тэчку" #~ msgid "cannot change to directory %s" #~ msgstr "немагчыма перайсьці ў тэчку %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "немагчыма атрымаць стан бягучае тэчкі (зараз %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Выкарыстаньне: %s [ПАРАМЭТАР]... [ФАЙЛ]...\n" #, fuzzy #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ " Паказывае зьвесткі пра файлавую сыстэму, на якой знаходзіцца файл, " #~ "альбо,\n" #~ "дапомна, пра ўсе файлавыя сыстэмы.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all уключыць файлавыя сыстэмы якія маюць 0 блёкаў\n" #~ " -B, --block-size=N выкарыстоўваць блёкі памерам N байтаў\n" #~ " -h, --human-readable друкаваць памеры ў чалавека-чытальным фармаце\n" #~ " (як напрыклад, 1Кб, 234Мб, 2Гб)\n" #~ " -H, --si гл. вышэй, але выкарыстоўваць ступені 1000 замест " #~ "1024\n" #, fuzzy #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes выводзіць зьвесткі пра вузлы, замест блёкаў\n" #~ " -k раўназначна --block-size=1K\n" #~ " -l, --local абмежаваць вывад толькі мясцовымі файлавымі " #~ "сыстэмамі\n" #~ " --no-sync не выклякаць sync перад атрыманьнем зьвестак " #~ "(дапомна)\n" #, fuzzy #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability выкарыстоўваць POSIX фармат вывадц\n" #~ " --sync выклякаць sync перад атрыманьнем зьвестак\n" #~ " -t, --type=ТЫП абмежаваць вывад файлавымі сыстэмамі заданага " #~ "тыпу\n" #~ " -T, --print-type друкаваць тып файлавае сыстэмы\n" #~ " -x, --exclude-type=ТЫП\n" #~ " абмежаваць вывад файлавымі сыстэмамі ня гэтага " #~ "тыпу\n" #~ " -v (незаўважаецца)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "файлавая сыстэма тыпу %s адначасова вылучана й выключана" #~ msgid "Warning: " #~ msgstr "Увага: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%s немагчыма прачытаць табліцу прымантаваных файлавых сыстэм" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... [ФАЙЛ]\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: нерэчаісны радок; прапушчана другая частка" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: нераспазнанае ключавое слова %s" #~ msgid "" #~ msgstr "<унутраны>" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "Файлавыя апэранбы ня могуць быць аб'яднаны з --print-database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "адсутнічае зьменная асяродзьдзя SHELL да таго ж, незаданы выбар віду " #~ "абалонкі" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s НАЗВА\n" #~ " ці: %s ВЫБАР\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Прыклады:\n" #~ " %s /usr/bin/sort друкуе \"/usr/bin\".\n" #~ " %s stdio.h друкуе \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Выкарыстаньне: %s [КЛЮЧ]... [ФАЙЛ]...\n" #~ " ці: %s [КЛЮЧ]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Падсумоўвае ўжываньне дыска кожным файлам; дзейнічае\n" #~ "рэкурсіўна для тэчак.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all друкаваць падлікі для ўсіх файлаў, а не " #~ "абмяжоўвацца\n" #~ " толькі тэчкамі\n" #~ " --apparent-size друкаваць сапраўдныя памеры, замест памераў на " #~ "дыске\n" #~ " да таго ж, сапраўдныя памеры, звычайна, меншыя, " #~ "яны\n" #~ " могуць быць большыя за кошт \"дзірак\" у файлах,\n" #~ " унутранай фрагмэнтацыі ускосных блёкаў і т.п.\n" #~ " -B, --block-size=SIZE ужыць блёкі памеру SIZE-байтаў\n" #~ " -b, --bytes адпаведнік --apparent-size --block-size=1\n" #~ " -c, --total падлічыць агульны вынік\n" #~ " -D, --dereference-args разьвязваць сымбалічныя спасылкі\n" #~ msgid "total" #~ msgstr "усяго" #~ msgid "invalid maximum depth %s" #~ msgstr "незразумелая найбольшая глыбіня %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "" #~ "парамэтар \"--megabytes \" - асуджаны; замест яго карыстайцеся \"-m\"" #~ msgid "cannot both summarize and show all entries" #~ msgstr "немагчыма адначасова й падлічыць і паказаць усе пункты" #~ msgid "cannot read file names from %s" #~ msgstr "немагчыма прачытаць назвы файлаў з %s" #~ msgid "invalid zero-length file name" #~ msgstr "назва файла нулявой даўжыні" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... [РАДОК]...\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... [-] [ПЕРАМЕННАЯ=ЗНАЧЭНЬНЕ]... [ЗАГАД " #~ "[ДОВАД]...]\n" #~ msgid "tab stop is too large %s" #~ msgstr "крок табуляцыі %s занадта вялікі" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "памер табуляцыі зьмяшчае нерэчаісны(я) знак(і): %s" #~ msgid "tab size cannot be 0" #~ msgstr "памер табуляцыі ня можа быць нулявым" #~ msgid "tab sizes must be ascending" #~ msgstr "памеры табуляцыі павінны ўзрастаць" #~ msgid "input line is too long" #~ msgstr "радок вываду задаўгі" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s ВЫРАЗ\n" #~ " ці: %s ВЫБАР\n" #~ msgid "syntax error" #~ msgstr "сынтаксічная памылка" #~ msgid "error in regular expression matcher" #~ msgstr "памылка ў супастаўляльніку сталых выразаў" #~ msgid "non-numeric argument" #~ msgstr "ня лічбавы довад" #~ msgid "division by zero" #~ msgstr "дзяленьне на нуль" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ЛІК]...\n" #~ " ці: %s ВЫБАР\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Друкуе простыя множнікі кожнага ліка.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Друкуе простыя множнікі кожнага цэлага ліка. Калі довады не заданыя, \n" #~ "чытае лікі са стандартнага ўводу.\n" #~ msgid "%s is too large" #~ msgstr "%s занадта вялікі" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s - гэта не станоўчы цэлы лік" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Выкарыстаньне: %s [-ЛІЧБЫ] [ВЫБАР]... [ФАЙЛ]...\n" #~ msgid "invalid width: %s" #~ msgstr "недзеяздольная шырыня: %s" #~ msgid "invalid number of columns: %s" #~ msgstr "незразумелая колькасьць слупкоў: %s" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "немагчыма зьмяніць групу %s на %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "немагчыма зьмяніць групу %s на %s\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "немагчыма атрымаць назву для ID групы %u" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... [УЛІКОВАЕ_ЙМЯ]\n" #~ msgid "%s: No such user" #~ msgstr "%s: такі карыстальнік ня йснуе" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ " Друкуе першыя 10 радкоў кожнага файла ў стандартны вывад. Калі " #~ "заданы\n" #~ "больш чым адзін файл, дадаткова друкуе загаловак з назвай файла.\n" #~ "Калі файл незаданы, ці калі замест яго працяжнік, чытае стандартны ўвод.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Блёкі й байты могуць ісьці з суфіксамі множаньня:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, і тое ж для T, P, E, Z, Y.\n" #~ "Кожнае ключавое слова можа быць:\n" #~ "\n" #~ msgid "error reading %s" #~ msgstr "памылка чытаньня %s" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: колькасьць байтаў занадта вялікая" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: немагчыма перамясьціцца назад да зыходнага становішча" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: немагчыма перамясьціцца да зруха %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s такі вялікі, што немагчыма паказаць" #~ msgid "number of lines" #~ msgstr "колькасьць радкоў" #~ msgid "number of bytes" #~ msgstr "колькасьць байтаў" #~ msgid "invalid number of lines" #~ msgstr "недзеяздольная колькасьць радкоў" #~ msgid "invalid number of bytes" #~ msgstr "недзеяздольная колькасьць байтаў" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "нерэчаісны парамэтар -- %c" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Выкарыстаньне: %s [НАЗВА]\n" #~ " ці: %s ВЫБАР\n" #~ "Друкуе ці ўсталёўвае назву бягучага вузла(сыстэмы).\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "немагчыма ўсталяваць назву %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "немагчыма ўсталяваць назву вузла, сыстэме бракуе функцыянальнасьці" #~ msgid "cannot determine hostname" #~ msgstr "немагчыма вызначыць назву вузла" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "немагчыма вызначыць час больш чым з адной крыніцы" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "немагчыма атрымаць імя для ID карыстальніка %u" #~ msgid " groups=" #~ msgstr " групы=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "Увага! Немагчыма перайсьці да тэчкі %s" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "%s: заданая тэчка мэты не зьяўляецца тэчкай" #~ msgid "invalid mode %s" #~ msgstr "нерэчаісны рэжым %s" #~ msgid "cannot change ownership of %s" #~ msgstr "немагчыма зьмяніць уладальніка %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "немагчыма ўсталяваць адбіткі часу для %s" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "запіс у %s" #~ msgid "invalid user %s" #~ msgstr "нерэчаісны карыстальнік %s" #~ msgid "invalid group %s" #~ msgstr "нерэчаісная група %s" #~ msgid "creating directory %s" #~ msgstr "ствараецца тэчка %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... АДКУЛЬ КУДЫ\n" #~ " ці: %s [ВЫБАР]... АДКУЛЬ... ТЭЧКА\n" #~ " ці: %s [ВЫБАР]... --target-directory=ТЭЧКА АДКУЛЬ...\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " -a, --archive тое што й -dpR\n" #~ " --backup[=CONTROL] стварае запасную копію кожнага існуючага " #~ "файлу\n" #~ " прызначэньня\n" #~ " -b як --backup але не прымае довад\n" #~ " --copy-contents капуе зьмест асабістых файлаў, у " #~ "выпадку\n" #~ " рэкурсыі\n" #~ " -d тое ж, што й --no-dereference --" #~ "preserve=link\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -s, --symbolic-link стварае знакавыя лучывы замест " #~ "капіяваньня\n" #~ " -S, --suffix=КАНЧАТАК перазапісвае звычайны канчатак запасу\n" #~ " --target-directory=ТЭЧКА перамяшчае ўсе довады КРЫНІЦы ў ТЭЧКу\n" #~ msgid "invalid field number: %s" #~ msgstr "недзеяздольны нумар поля: %s" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "%s: нерэчаісная спэцыфікацыя поля \"%s\"" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "недзеяздольная шырыня поля нумара радка: %s" #~ msgid "empty tab" #~ msgstr "пустая табуляцыя" #~ msgid "multi-character tab %s" #~ msgstr "шмат-байтавы знак табуляцыі %s" #~ msgid "both files cannot be standard input" #~ msgstr "абодва файлы ня могуць быць стандартным уводам" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Выкарыстаньне: %s [-s СЫГНАЛ | -СЫГНАЛ] PID...\n" #~ " ці: %s -l [СЫГНАЛ]...\n" #~ " ці: %s -t [СЫГНАЛ]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ " Дасылае сыгналы працэсам альбо сьпіс сыгналаў.\n" #~ "\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: недзеяздольны сыгнал" #~ msgid "%s: invalid process id" #~ msgstr "%s: недзеяздольны id-працэсу" #~ msgid "invalid option -- %c" #~ msgstr "нерэчаісны парамэтар -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: заданыя некалькі сыгналаў" #~ msgid "no process ID specified" #~ msgstr "незаданы ID працэсу" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s ФАЙЛ1 ФАЙЛ2\n" #~ " ці: %s ВЫБАР\n" #~ msgid "cannot create link %s to %s" #~ msgstr "немагчыма стварыць спасылку %s на %s" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: жорсткія спасылкі для тэчак не дазволены" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: немагчыма перазапісаць тэчку" #~ msgid "%s: replace %s? " #~ msgstr "%s: замяніць %s? " #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "ствараецца знакавая спасылка %s на %s" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "ствараецца знакавая спасылка %s на %s" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "ствараецца жосткая спасылка %s на %s" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "ствараецца жосткая спасылка %s на %s" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "ствараецца жосткая спасылка %s на %s" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " -a, --archive тое што й -dpR\n" #~ " --backup[=CONTROL] стварае запасную копію кожнага існуючага " #~ "файлу\n" #~ " прызначэньня\n" #~ " -b як --backup але не прымае довад\n" #~ " --copy-contents капуе зьмест асабістых файлаў, у " #~ "выпадку\n" #~ " рэкурсыі\n" #~ " -d тое ж, што й --no-dereference --" #~ "preserve=link\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "Немагчыма ўжыць разам --target-directory і --no-target-directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Выкарыстаньне: %s [ПАРАМЭТАР]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Друкуе ўліковае імя бягучага карыстальніка.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "няма ўліковага ймя" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "незаўважаецца нерэчаіснае значэньне зьменнай асяродзьдзя QUOTING_STYLE: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "незаўважае незразумелы памер табуляцыі ў пераменнай асяродзьдзя TABSIZE: %" #~ "s" #~ msgid "invalid line width: %s" #~ msgstr "незразумелая шырыня радка: %s" #~ msgid "invalid tab size: %s" #~ msgstr "незразумелы памер табуляцыі: %s" #~ msgid "invalid time style format %s" #~ msgstr "незразумелы фармат стылю часу %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "нераспазнаная прыстаўка: %s" #~ msgid "cannot open directory %s" #~ msgstr "немагчыма адчыніць тэчку %s" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: немагчыма перазапісаць тэчку" #~ msgid "closing directory %s" #~ msgstr "зачыняецца дырэкторыя %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "немагчыма параўнаць назвы файлаў %s і %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Выводзіць зьвесткі пра файл(ы) (зь бягучае дырэкторыі, калі не зададзена " #~ "іншае).\n" #~ "Упарадкоўвае запісы па алфавіту, калі няма -cftuSUX ці --sort.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all не хаваць запісы, што пачынаююца з .\n" #~ " -A, --almost-all не выводзіьц . і ..\n" #~ " --author друкаваць стваральніка кожнага файла\n" #~ " -b, --escape друкаваць васьмярычныя значэньні для\n" #~ " службовых/неграфічных знакаў\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all уключыць файлавыя сыстэмы якія маюць 0 блёкаў\n" #~ " -B, --block-size=N выкарыстоўваць блёкі памерам N байтаў\n" #~ " -h, --human-readable друкаваць памеры ў чалавека-чытальным фармаце\n" #~ " (як напрыклад, 1Кб, 234Мб, 2Гб)\n" #~ " -H, --si гл. вышэй, але выкарыстоўваць ступені 1000 замест " #~ "1024\n" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse адваротны парадак упарадкаваньня\n" #~ " -R, --recursive паказываць тэчкі рэкурсыўна\n" #~ " -s, --size друаваць памер кожнага файла ў блёках\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=ШЫРЫНЯ задае шырыню экрану ў знаках\n" #~ " -x паказываць запісы па радкох а ня паслупкох\n" #~ " -X упарадкаваць па абэцэдзе суфіксаў файлаў\n" #~ " -1 паказываць па файлу на радок\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР] [ФАЙЛ]...\n" #~ " ці: %s [ВЫБАР] --check [ФАЙЛ]\n" #~ "Друкуе ці правярае %s (%d-бітавую) праверчую суму.\n" #~ "Калі файл незаданы, ці калі замест яго працяжнік, чытае стандартны ўвод.\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary выкарыстоўвае дваічны запіс у прыладу " #~ "кансолі.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "Два наступных выбара карысныя толькі тады, калі правяраюцца праверчыя " #~ "сумы:\n" #~ " --status нічога не выводзіць, код завяршэньня праграмы\n" #~ " сьведчыць аб пасьпяховасьці праверкі\n" #~ " -w, --warn паведамляць пра няправільныя радкі з праверчымі " #~ "сумамі\n" #~ "\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: зашмат радкоў з кантрольнымі сумамі" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: ня правільна складзены радок з кантрольнай сумай %s" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: немагчыма прачытаць файл\n" #~ msgid "OK" #~ msgstr "ДОБРА" #~ msgid "%s: read error" #~ msgstr "%s: памылка чытаньня" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "УВАГА! % з % пералічаных файлаў немагчыма прачытаць" #~ msgstr[1] "" #~ "УВАГА! % з % пералічаных файлаў немагчыма прачытаць" #~ msgstr[2] "" #~ "УВАГА! % з % пералічаных файлаў немагчыма прачытаць" #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "УВАГА! %d з %d вылічаных %s НЕ СУПАДАЕ" #~ msgstr[1] "УВАГА! %d з %d вылічаных %s НЕ СУПАДАЕ" #~ msgstr[2] "УВАГА! %d з %d вылічаных %s НЕ СУПАДАЕ" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "" #~ "выбар --warn мае сэнс толькі тады, калі параўноваюцца праверчыя сумы" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР] ТЭЧКА ...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ " Стварае тэчку(і), калі яны шчэ не йснуюць.\n" #~ "\n" #~ msgid "created directory %s" #~ msgstr "створана тэчка %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР] НАЗВА...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Стварае найменны канвэер (fifo) з зададзенымі НАЗВАмі.\n" #~ "\n" #~ msgid "invalid mode" #~ msgstr "нерэчаісны рэжым" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... НАЗВА ТЫП [МАЖОР МІНОР]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ " Стварае адмысловы файз з заданымі назвай і відам.\n" #~ "\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "калі ствараюцца адмысловыя файлы, павінны быць заданыя\n" #~ "мажорны й мінорны нумары прылады" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "нерэчаісны мінорны нумар прылады %s" #~ msgid "block special files not supported" #~ msgstr "адмысловыя блёчныя файлы непадтрымліваюцца" #~ msgid "character special files not supported" #~ msgstr "адмысловыя знакавыя файлы непадтрымліваюцца" #~ msgid "invalid major device number %s" #~ msgstr "нерэчаісны мажорны нумар прылады %s" #~ msgid "invalid minor device number %s" #~ msgstr "нерэчаісны мінорны нумар прылады %s" #~ msgid "invalid device %s %s" #~ msgstr "нерэчаісная прылада %s %s" #~ msgid "invalid device type %s" #~ msgstr "нерэчаісны від прылады %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... [ФАЙЛ]\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "зашмат аднолькавых радкоў" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "немагчыма стварыць тэчку %s" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "збой пры захаваньні часу для %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ " Пераназывае крыніцу ў мэту, ці перамяшчае крыніцу(ы) ў тэчку.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " -a, --archive тое што й -dpR\n" #~ " --backup[=CONTROL] стварае запасную копію кожнага існуючага " #~ "файлу\n" #~ " прызначэньня\n" #~ " -b як --backup але не прымае довад\n" #~ " --copy-contents капуе зьмест асабістых файлаў, у " #~ "выпадку\n" #~ " рэкурсыі\n" #~ " -d тое ж, што й --no-dereference --" #~ "preserve=link\n" #, fuzzy #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --reply={yes,no,query} вызначае як апрацоўваць паведамленьне " #~ "пра\n" #~ " існуючы файл прызначэньня\n" #~ " --sparse=WHEN кантралюе стварэньне разрэджаных файлаў\n" #~ " --strip-trailing-slashes выдаляе ўсе цягнучыеся скосы з кожнага " #~ "доваду\n" #~ " КРЫНІЦы\n" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -u, --update капуе толькі калі файл КРЫНІЦА навешы за " #~ "файл\n" #~ " прызначэньня, ці файл прызначэньне " #~ "прапушчаны\n" #~ " -v, --verbose пведамляе што ўжо зроблена\n" #~ " -x, --one-file-system не пакідаць межы гэтае файлавае сыстэмы\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Выкарыстаньне: %s [ПАРАМЭТАР] [ЗАГАД [ДОВАД]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Выконвае ЗАГАД са зьмененым значэньнем niceness, што ўзьдзейнічае\n" #~ "на расклад выкананьня (прыярытэт) працэсу.\n" #~ "Калі ЗАГАД адсутнічае, друкуе бягучае значэньне niceness. Значэньні\n" #~ "niceness вагаюцца ад\n" #~ "%d (найбольш прыярытэтны) да %d (найменш прыярытэтны).\n" #~ "\n" #~ " -n, --adjustment=N дадаць цэлы N да niceness (прадвызначана 10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "нерэчаіснае значэньне %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "загад мусіць быць зададзены разам са значэньнем прыярытэту" #~ msgid "cannot get niceness" #~ msgstr "немагчыма атрымаць значэньне niceness" #~ msgid "cannot set niceness" #~ msgstr "немагчыма ўсталяваць значэньне niceness" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "перапаўненьне колькасьці радкоў" #~ msgid "invalid header numbering style: %s" #~ msgstr "нерэчаісны стыль нумараваньня загалоўку: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "нерэчаісны стыль нумараваньня цела: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "нерэчаісны стыль нумараваньня падвалу: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "нерэчаісны нумар пачатковага радка: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "недзеяздольнае значэньне павелічэньня нумару радка: \"%s\"" #~ msgid "invalid number of blank lines: %s" #~ msgstr "недзеяздольная колькасьць чыстых радокоў: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "недзеяздольная шырыня поля нумара радка: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "нерэчаісны фармат нумараваньня радкоў: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s ЗАГАД [ДОВАД]...\n" #~ " ці: %s ВЫБАР\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ " Выконвае загад, незаўважаючы сыгналы HUP.\n" #~ "\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "на ўсе довады не зьвяртаецца ўвага" #~ msgid "failed to open %s" #~ msgstr "немагчыма адчыніць %s" #, fuzzy #~ msgid "ignoring input and appending output to %s" #~ msgstr "далучэньне вываду да %s" #~ msgid "failed to redirect standard error" #~ msgstr "немагчыма перанакіраваць стандартны вывад памылак" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... [ФАЙЛ]...\n" #~ " ці: %s --traditional [ФАЙЛ] [[+]ВОДСТУП [[+]АДМЕЦІНА]]\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Усе довады для доўгіх выбараў абавязковы й для кароткіх.\n" #~ msgid "invalid type string %s" #~ msgstr "недзеяздольны радок тыпу %s" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "нерэчаісны від радка \"%s\";\n" #~ "сыстэма не прадастаўляе %lu-байтны цэлы тып" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "нерэчаісны від радка \"%s\";\n" #~ "сыстэма не прадастаўляе %lu-байтны цэлы тып" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "нерэчаісны знак \"%c\" у радку тыпу \"%s\"" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "Увага! Нерэчаісная шырыня %lu; выкарыстоўвайце %d замест яе" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: фармат=\"%s\" шырыня=%d\n" #~ msgid "standard input is closed" #~ msgstr "стандартны вывад зачынены" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... НАЗВА...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "нерэчаісны знак %s у радку рэжыму %s" #~ msgid "empty file name" #~ msgstr "ня вызначана назва файла" #~ msgid "Login name: " #~ msgstr "Уліковае ймя:" #~ msgid "In real life: " #~ msgstr "У сапраўднасьці:" #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Тэчка: " #~ msgid "Shell: " #~ msgstr "Абалонка:" #~ msgid "Project: " #~ msgstr "Пражэкт:" #~ msgid "Plan:\n" #~ msgstr "Плян:\n" #~ msgid "Login" #~ msgstr "Імя" #~ msgid "Name" #~ msgstr "Назва" #~ msgid " TTY" #~ msgstr " Тэрмінал" #~ msgid "Idle" #~ msgstr "Дарэмна" #~ msgid "When" #~ msgstr "Калі" #~ msgid "Where" #~ msgstr "Дзе" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... [КАРЫСТАЛЬНІК]...\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Спрошчаная праграма \"finger\"; друкуе зьвесткі пра карыстальніка.\n" #~ "Файлам utmp будзе %s.\n" #~ msgid "Invalid page range %s" #~ msgstr "Недзеяздольны прамежак старонак %s" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "\"-W ШЫРЫНЯ_СТАРОНКІ\" нерэчаісная колькасьць знакаў: %s" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "нерэчаісны нумар пачатковага радка: %s" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "незразумелая шырыня радка: %s" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "\"-w ШЫРЫНЯ_СТАРОНКІ\" нерэчаісная колькасьць знакаў: %s" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "\"-W ШЫРЫНЯ_СТАРОНКІ\" нерэчаісная колькасьць знакаў: %s" #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "\"-%c\" дадатковыя знаці ці нерэчаісны нумар у довадзе: \"%s\"" #~ msgid "page width too narrow" #~ msgstr "шырыня старонкі занадта вузкая" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ " Падзяляе файл(ы) на старонкі ці слупкі для друку.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Калі ФАЙЛ не зададзены альбо зададзены -, чытае стандартны ўвод.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ПЕРАМЕННАЯ]...\n" #~ " ці: %s ВЫБАР\n" #~ "Калі ПЕРАМЕННАЯ незададзена, друкуе іх усе.\n" #~ "\n" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s ФАРМАТ [ДОВАД]...\n" #~ " ці: %s ВЫБАР\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ " Друкуе довад(ы) суадносна фармату.\n" #~ "\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n Новы радок.\n" #~ " \\r Вяртаньне карэткі.\n" #~ " \\t Гарызантальная табуляцыя.\n" #~ " \\v Вэртыкальная табуляцыя.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: чакаецца лічбавае значэньне" #~ msgid "%s: value not completely converted" #~ msgstr "%s: значэньне цалка не пераўтворана" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "нерэчаісная назва ўнівэрсальнага знаку \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "недзеяздольная шырыня радка: %s" #~ msgid "invalid precision: %s" #~ msgstr "нерэчаісная дакладнасьць: %s" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: нерэчаісная спэцыфікацыя поля \"%s\"" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "увага: ігнаруецца лішак довадаў пачынаючы з %s" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (для сталага выразу %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... [УВОД]... (без -G)\n" #~ " ці: %s -G [ВЫБАР]... [УВОД [ВЫВАД]]\n" #~ msgid "invalid gap width: %s" #~ msgstr "нерэчаісная шырыня прамежку: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ " Друкуе поўную назву бягучае тэчкі.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "збой chdir у %s" #~ msgid "failed to stat %s" #~ msgstr "збой stat %s" #~ msgid "ignoring non-option arguments" #~ msgstr "незаўважаюцца довады, якія не зьўляюцца выбарамі" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... ФАЙЛ\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Адлюстроўвае значэньне знакавага лучыва ў стандартны вывад.\n" #~ "\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "збой chdir у %s" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "немагчыма адчыніць тэчку %s" #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "%s зьмяніў dev/ino" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "немагчыма стварыць тэчку %s" #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: выдаліць абаронены ад запісу %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: выдаліць %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "тэчка выдалена: %s\n" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "збой chdir у %s" #~ msgid "cannot remove directory %s" #~ msgstr "немагчыма выдаліць тэчку %s" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "немагчыма выдаліць тэчку %s" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "немагчыма выдаліць тэчку %s" #~ msgid "cannot restore current working directory" #~ msgstr "немагчыма аднавіць бягучую працоўную дырэкторыю" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... ФАЙЛ...\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Выдаляе файлы, якія пачынаюцца з `-', напраклад `-foo', выкарыстоўвайце\n" #~ "адзін з наступных загадаў:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ " Адзначце, што калі Вы выкарыстоўваеце rm для выдаленьня файла, " #~ "звычайна існуе магчымасьць аднавіць зьмест гэтага файла. Калі Вы жадаеце " #~ "большае\n" #~ "ўпэўненасьці, што зьмест фала нельга аднавіць, разгледзьце выкарыстаньне " #~ "shred.\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: выдаліць %s %s? " #~ msgid "removing directory, %s" #~ msgstr "выдаляецца тэчка, %s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "немагчыма выдаліць тэчку %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... ТЭЧКА ...\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "немагчыма адчыніць %s" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "немагчыма атрымаць атрыбуты %s" #, fuzzy #~ msgid "no command specified" #~ msgstr "незаданы ID працэсу" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "немагчыма адчыніць %s" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "немагчыма адчыніць %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "збой stat %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "збой stat %s" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "немагчыма адчыніць %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... АПОШНІ\n" #~ " ці: %s [ВЫБАР]... ПЕРШЫ АПОШНІ\n" #~ " ці: %s [ВЫБАР]... ПЕРШЫ ПРЫРОСТ АПОШНІ\n" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "нерэчаісны радок фармату: %s" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "за шмат ва ўстаўцы %% вызначальнікаў пераўтварэньня" #~ msgid "invalid format string: %s" #~ msgstr "нерэчаісны радок фармату: %s" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s УЛІКОВАЕ_ЙМЯ ЗАГАД [ДОВАД]...\n" #~ " ці: %s ВЫБАР\n" #~ msgid "unknown user-ID: %s" #~ msgstr "невядомы ID карыстальніка: %s" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "немагчыма ўсталяваць дадатковую групу" #~ msgid "cannot set group-ID to %lu" #~ msgstr "немагчыма задаць ID групы для %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "немагчыма выставіць ID карыстальніка ў %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАРЫ] ФАЙЛ [...]\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: збой fdatasync" #~ msgid "%s: fsync failed" #~ msgstr "%s: збой fsync" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: праход %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: памылка запісу ля водступа %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: збой lseek" #~ msgid "%s: file too large" #~ msgstr "%s: файл занадта вялікі" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: праход %lu/%lu (%s)...%s" #~ msgid "%s: fstat failed" #~ msgstr "%s: збой fstat" #~ msgid "%s: invalid file type" #~ msgstr "%s: нерэчаісны від файла" #~ msgid "%s: file has negative size" #~ msgstr "%s: файл мае адмоўны памер" #~ msgid "%s: error truncating" #~ msgstr "%s: памылка абрэзаньня" #~ msgid "%s: fcntl failed" #~ msgstr "%s: збой fcntl" #~ msgid "%s: removing" #~ msgstr "%s: выдаленьне" #~ msgid "%s: renamed to %s" #~ msgstr "%s: перайменаваны ў %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: немагчыма выдаліць" #~ msgid "%s: removed" #~ msgstr "%s: выдален" #~ msgid "%s: failed to close" #~ msgstr "%s: немагчыма зачыніць" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: немагчыма адчыніць для запісу" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: незразумелая колькасьць праходаў" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "зададзены некалькі фарматаў вываду" #~ msgid "%s: invalid file size" #~ msgstr "%s: нерэчаісны памер файла" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Выкарыстаньне: %s [ВЫБАР]... АПОШНІ\n" #~ " ці: %s [ВЫБАР]... ПЕРШЫ АПОШНІ\n" #~ " ці: %s [ВЫБАР]... ПЕРШЫ ПРЫРОСТ АПОШНІ\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Запісвае зьвяз упарадкаваных ФАЙЛаў на стандартны вывад.\n" #~ "\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "заданыя шматлікія файлы вываду" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "нерэчаісны сьцяг уводу: %s" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "незразумелая шырыня радка: %s" #~ msgid "multiple output files specified" #~ msgstr "заданыя шматлікія файлы вываду" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "непатрэбны аргумэнт %s" #~ msgid "invalid time interval %s" #~ msgstr "нерэчаісны адрэзак часу %s" #~ msgid "cannot read realtime clock" #~ msgstr "немагчыма прачытаць гадзіньнік рэальнага часу" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Запісвае зьвяз упарадкаваных ФАЙЛаў на стандартны вывад.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Парамэтры ўпарадкаваньня:\n" #~ "\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated Завяршаць радкі байтам 0, а ня новым " #~ "радком.\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "запіс у %s" #~ msgid "cannot create temporary file" #~ msgstr "немагчыма стварыць часовы файл" #~ msgid "open failed" #~ msgstr "памылка адкрыцьця" #~ msgid "fflush failed" #~ msgstr "збой fflush" #~ msgid "close failed" #~ msgstr "памылка закрыцьця" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "памылка адкрыцьця" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "немагчыма стварыць часовы файл" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "немагчыма стварыць часовы файл" #~ msgid "write failed" #~ msgstr "памылка запісу" #~ msgid "warning: cannot remove: %s" #~ msgstr "увага: немагчыма выдаліць: %s" #~ msgid "stat failed" #~ msgstr "збой пачатку" #~ msgid "read failed" #~ msgstr "памылка чытаньня" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: бязладдзе: " #~ msgid "standard error" #~ msgstr "стандартны вывад памылак" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: нерэчаіснае вызначэньне поля %s" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: нерэчаісны падлік на пачатку %s" #~ msgid "invalid number after `-'" #~ msgstr "нерэчаісная лічба пасьля \"-\"" #~ msgid "invalid number after `.'" #~ msgstr "нерэчаісная лічба пасьля \".\"" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "зададзены некалькі фарматаў вываду" #~ msgid "invalid number after `,'" #~ msgstr "нерэчаісная лічба пасьля \",\"" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "непатрэбны аргумэнт %s" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР] [УВОД [ПРЫСТАЎКА]]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Блёкі й байты могуць ісьці з суфіксамі множаньня:\n" #~ "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, і тое ж для T, P, E, Z, Y.\n" #~ "Кожнае ключавое слова можа быць:\n" #~ "\n" #~ msgid "creating file %s\n" #~ msgstr "стварэньне файла %s\n" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: нерэчаісная колькасьць байтаў" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: нерэчаісная колькасьць радкоў" #~ msgid "invalid number of lines: 0" #~ msgstr "недзеяздольная колькасьць радкоў: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "увага!: нераспазнаны парамэтар \"\\%c\"" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s%s: нерэчаісная дырэктыва" #~ msgid "cannot read file system information for %s" #~ msgstr "немагчыма прачытаць зьвесткі файлавае сыстэмы для %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР] ФАЙЛ...\n" #~ msgid "only one device may be specified" #~ msgstr "толькі адна прылада можа быць пазначана" #~ msgid "invalid argument %s" #~ msgstr "нерэчаісны довад %s" #~ msgid "missing argument to %s" #~ msgstr "прапушчаны довад для %s" #~ msgid "invalid line discipline %s" #~ msgstr "нерэчаісная дысцыпліна лініі %s" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: рэжым\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: няма зьвестак пра памеры для гэтае прылады" #~ msgid "invalid integer argument %s" #~ msgstr "кепскі цэлы довад %s" #~ msgid "Password:" #~ msgstr "Пароль:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: немагчыма адчыніць /dev/tty" #~ msgid "cannot set groups" #~ msgstr "немагчыма ўсталяваць групы" #~ msgid "cannot set group id" #~ msgstr "немагчыма ўсталяваць id групы" #~ msgid "cannot set user id" #~ msgstr "немагчыма ўсталяваць id карыстальніка" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Выкарыстаньне: %s [ПАРАМЭТАР]... [-] [КАРЫСТАЛЬНІК [ДОВАД]...]\n" #~ msgid "user %s does not exist" #~ msgstr "карыстальнік %s не існуе" #~ msgid "incorrect password" #~ msgstr "няслушны пароль" #~ msgid "using restricted shell %s" #~ msgstr "выкарыстоўваецца абмежаваная абалонка %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "Увага! Немагчыма перайсьці да тэчкі %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Друкуе кантрольныя сумы й колькасьць блёкаў для кожнага ФАЙЛА.\n" #~ "\n" #~ " -r перакрывае -s, выкарыстоўваць альгарытм BSD і блёкі ў 1 " #~ "Кб\n" #~ " -s, --sysv выкарыстоўваць альгарытм System V і блёкі ў 512 байтаў\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ " Вымагае запісу ўсіх зьмененых блёкаў на дыск і абнаўленьне " #~ "супэрблёка.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "на ўсе довады не зьвяртаецца ўвага" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "ЗАЎВАГА! Ваш інтэрпрэтатар загадаў можа мець уласную вэрсію %s, якая,\n" #~ "звычайна, замяняе вэрсію, што апісана тутака. Калі ласка, зьвярніцеся " #~ "да\n" #~ "дакумэнтацыі вашага інтэрпрэтатара загадаў, каб даведацца аб парамэтрах,\n" #~ "якія ён падтрымлівае.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help паказвае гэтую даведку\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version выводзіць зьвесткі пра вэрсію\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Паведамляйце пра памылкі на <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Запісвае кожны ФАЙЛ ў стандартны вывад з апошняга па першы радок.\n" #~ "Калі ФАЙЛ не зададзне альбо зададзены -, чытае стандартны ўвод.\n" #~ "\n" #~ msgid "%s: seek failed" #~ msgstr "%s: збой seek" #~ msgid "record too large" #~ msgstr "запіс завялікі" #~ msgid "cannot create temporary file %s" #~ msgstr "немагчыма стварыць часовы файл %s" #~ msgid "cannot open %s for writing" #~ msgstr "немагчыма адчыніць %s для запісу" #~ msgid "%s: write error" #~ msgstr "%s: памылка запісу" #~ msgid "separator cannot be empty" #~ msgstr "падзяляльнік павінен нешта ўтрымліваць" #~ msgid "closing %s (fd=%d)" #~ msgstr "зачыняецца %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: немагчыма перамясьціцца да адноснага зруху %s" #~ msgid "%s has become inaccessible" #~ msgstr "%s стаў недаступны" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "%s быў заменены на небясконцы файл; апрацоўка гэтага файла спынена" #~ msgid "%s has become accessible" #~ msgstr "%s стаў даступны" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: немагчыма зьмяніць незаблякаваны рэжым" #~ msgid "%s: file truncated" #~ msgstr "%s: файл абрэзаны" #~ msgid "no files remaining" #~ msgstr "не засталося больш файла" #~ msgid "number in %s is too large" #~ msgstr "нумар у %s завялікі" #~ msgid "%s: invalid PID" #~ msgstr "%s: нерэчаісны PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: нерэчаісная колькасьць сэкундаў" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "увага: --pid=PID не падтрымліваецца на гэтае сыстэме" #~ msgid "cannot follow %s by name" #~ msgstr "немагчыма крочыць за %s па назве" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Перапісвае стандартны ўвод у кожны ФАЙЛ, а таксама ў стандартны вывад.\n" #~ "\n" #~ " -a, --append Дадае да ФАЙЛаў (не перазапісвае іх).\n" #~ " -i, --ignore-interrupts Не зьвяртае ўвагі на сыгнал спыненьня.\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Калі ФАЙЛ -, капіюе зноў на стандартны ўвод.\n" #~ msgid "missing argument after %s" #~ msgstr "прапушчаны довад пасьля %s" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "зададзены ня цэлы лік %s\n" #, fuzzy #~ msgid "')' expected" #~ msgstr "')' чакаецца\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "')' чакаецца, знойдзен %s\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: чакаецца ўнарны апэратар\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt не прыймае -l\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef не праймае -l\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-ot не прыймае -д\n" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "невядомы двайковы дзейнік\n" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: чакаецца бінарны апэратар\n" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: test ВЫРАЗ\n" #~ " альбо: test\n" #~ " альбо: [ ВЫРАЗ ]\n" #~ " альбо: [ ]\n" #~ " альбо: [ ПАРАМЭТАР\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Завяршае працу з кодам вяртаньня, які вызначаецца ВЫРАЗАМ.\n" #~ "\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L ФАЙЛ ФАЙЛ існуе, зьяўляецца сымбалічнай спасылкай (тое, што й -" #~ "h)\n" #~ " -O ФАЙЛ ФАЙЛ існуе, і ім валодае карыстальнік з эфэктыўным ID " #~ "карыстальніка\n" #~ " -p ФАЙЛ ФАЙЛ існуе, зьяўляецца найменным канвэерам\n" #~ " -r ФАЙЛ ФАЙЛ існуе, маюцца правы на яго чытаньне\n" #~ " -s ФАЙЛ ФАЙЛ існуе, яго памер большы за нуль\n" #~ msgid "test and/or [" #~ msgstr "test і/альбо [" #, fuzzy #~ msgid "missing `]'" #~ msgstr "прапушчаны \"]\"\n" #~ msgid "extra argument %s" #~ msgstr "дадатковы довад %s" #~ msgid "creating %s" #~ msgstr "ствараецца %s" #~ msgid "cannot touch %s" #~ msgstr "немагчыма дакрануцца да %s" #~ msgid "setting times of %s" #~ msgstr "усталяваньне часу %s" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a Зьмяніць толькі час доступу.\n" #~ " -c, --no-create Не ствараць ніякіх файлаў.\n" #~ " -d, --date=РАДОК Скарыстаць РАДОК у якасьці бягучага часу.\n" #~ " -f (не заўважаецца)\n" #~ " -m Зьмяняць толькі час зьмяненьня.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Зазначце, што парамэтры -d і -t ужываюць розныя фарматы часу.\n" #~ "\n" #~ "Калі ФАЙЛ -, дакранаецца да стандартнага вываду.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "немагчыма вызначыць час больш чым з адной крыніцы" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "увага: \"touch %s\" зьяўляеца ўстарэлым; карыстайцеся\"touch -t %04ld%02d%" #~ "02d%02d%02d.%02d\"" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Выкарыстаньне: %s [ВЫБАР]... МНОСТВА1 [МНОСТВА2]\n" #~ msgid "invalid character class %s" #~ msgstr "недзеяздольная кляса знака %s" #~ msgid "too many characters in set" #~ msgstr "зашмат знакаў у знакавым мностве" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s [довады загаднага радка ігнаруюцца]\n" #~ " альбо: %s ПАРАМЭТАР\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: увод утрымлівае няцотную колькасьць элемэнтаў" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: увод утрымлівае цыкал:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Выкарыстаньне: %s [ПАРАМЭТАР]...\n" #~ msgid "not a tty" #~ msgstr "гэта не тэрмінал" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Друкуе пэўныя зьвесткі пра сыстэму. Выклік без ПАРАМЭТРа \n" #~ "раўназначны выкліку з парамэтрам -s.\n" #~ "\n" #~ " -a, --all друкуе ўсе зьвесткі ў наступным парадку,\n" #~ " за выключэньнем пропуску -p і -i, калі " #~ "невядома:\n" #~ " -s, --kernel-name друкуе назву ядра\n" #~ " -n, --nodename друкуе назву вузла сеткі\n" #~ " -r, --kernel-release друкуе назву выпуску ядра\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version друкуе вэрсію ядра\n" #~ " -m, --machine друкуе апаратную назву кампутара\n" #~ " -p, --processor друкуе тып працэсара альбо \"невядома\"\n" #~ " -i, --hardware-platform друкуе назву плятформы альбо \"невядома\"\n" #~ " -o, --operating-system друкуе назву апэрацыйнае сыстэмы\n" #~ msgid "cannot get system name" #~ msgstr "немагчыма атрымаць назву сыстэмы" #~ msgid "tab stop value is too large" #~ msgstr "крок табуляцыі завялікі" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Выкарыстаньне: %s [ПАРАМЭТАР]... [УВОД [ВЫВАД]]\n" #~ msgid "too many repeated lines" #~ msgstr "зашмат аднолькавых радкоў" #~ msgid "invalid number of bytes to compare" #~ msgstr "нерэчаісная колькасьць байтаў для параўнаньня" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s ФАЙЛ\n" #~ " ці: %s ВЫБАР\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Выклікае функцыю unlink для выдаленьня пазначанага ФАЙЛа.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "немагчыма unlink %s" #~ msgid "couldn't get boot time" #~ msgstr "немагчыма вызначыць час загрузкі" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s працуе " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? працуе " #~ msgid "???? days ??:??, " #~ msgstr "???? дзён ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld дзень" #~ msgstr[1] "%ld дні" #~ msgstr[2] "%ld дзён" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu карыстальнік" #~ msgstr[1] "%lu карыстальніка" #~ msgstr[2] "%lu карыстальнікаў" #~ msgid ", load average: %.2f" #~ msgstr ", сярэдняя нагрузка: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Выкарыстаньне: %s [ПАРАМЭТАР]... [ ФАЙЛ ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Друкуе бягучы час, час працы сыстэмы, колькасьць карыстальнікаў у " #~ "сыстэме\n" #~ "і сярэднюю колькасьць задач у чарзе на выкананьне за апошнія 1, 5 і 15 " #~ "хвілінаў.\n" #~ "Калі ФАЙЛ не зададзены, выкарыстоўвае %s. %s - агульны ФАЙЛ.\n" #~ "\n" #~ msgid " old " #~ msgstr " стары " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "тэрм.=" #~ msgid "exit=" #~ msgstr "выхад=" #~ msgid "clock change" #~ msgstr "зьмена часу" #~ msgid "run-level" #~ msgstr "узровень" #~ msgid "last=" #~ msgstr "апошні=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# карыстальнікі=%lu\n" #~ msgid "NAME" #~ msgstr "NAME" #~ msgid "LINE" #~ msgstr "LINE" #~ msgid "TIME" #~ msgstr "TIME" #~ msgid "IDLE" #~ msgstr "IDLE" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "COMMENT" #~ msgid "EXIT" #~ msgstr "EXIT" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Выкарыстаньне: %s [ПАРАМЭТАР]... [ ФАЙЛ | ДОВАД1 ДОВАД2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all тое, што й -b -d --login -p -r -t -T -u\n" #~ " -b, --boot час загрузкі сыстэмы\n" #~ " -d, --dead друкуе мёртвыя прцэсы\n" #~ " -H, --heading друкуе радок загалоўкаў слупкоў\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login друкуе працэсы ўваходу ў сыстэму\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup паспрабаваць вызначыць назвы вузлоў праз DNS\n" #~ " -m толькі назву вузла й імя карыстальніка, зьвязанае са " #~ "stdin\n" #~ " -p, --process друкуе актыўныя працэсы, народжаныя init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count усе карыстальнікі й колькасьць увайшоўшых\n" #~ " -r, --runlevel друкуе бягучы ўзровень працы (run-level)\n" #~ " -s, --short друкуе толькі імя, лінію й час (прадвызначаны вывад)\n" #~ " -t, --time друкуе апошнюю зьмену сыстэмнага часу\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg дадае статус карыстальніка як +, - альбо ?\n" #~ " -u, --users друкуе сьпіс увайшоўшых карыстальнікаў\n" #~ " --message тое, што й -T\n" #~ " --writable тое, што й -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Калі ФАЙЛ ня вызначаны, выкарыстоўвае фай %s.\n" #~ "Файл %s зьяўляецца агульным ФАЙЛам.\n" #~ "Калі ДОВАД1 ДОВАД2 зададзены, прадугледжваецца -m: \"am i\" альбо\n" #~ "\"mom likes\" як звычайна.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Друкуе ўліковае імя карыстальніка, зьвязанае зь бягучым эфэктыўным\n" #~ "ID карыстальніка. Тое самае, што й \"id -un\".\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: немагчыма адшукаць імя карыстальніка з ID %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Выкарыстаньне: %s [РАДОК]...\n" #~ " ці: %s ВЫБАР\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Бесперапынна выводзіць РАДОК(і), ці літару \"y\".\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Выкарыстаньне: %s УЛІКОВАЕ_ЙМЯ ЗАГАД [ДОВАД]...\n" #~ " ці: %s ВЫБАР\n" #~ msgid "block size" #~ msgstr "памер кавалку" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "немагчыма зьмяніць уладальніка й/ці групу %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "немагчыма перайсьці да тэчкі %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "немагчыма атрымаць уліковую групу лічбавага UID" #~ msgid "symbolic links are not supported on this system" #~ msgstr "знакавыя лучывы не падтрымліваюцца гэтае сыстэмай" #~ msgid "unrecognized operand %s=%s" #~ msgstr "нераспазнаны апэранд %s=%s" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "аргумент --kilobytes асуджаны; замест яго карыстайцеся -k" #~ msgid "unrecognized option `-%c'" #~ msgstr "нераспазнаны выбар \"-%c\"" #~ msgid "cannot get supplemental group list" #~ msgstr "немагчыма атрымаць сьпіс дадатковых групаў" #, fuzzy #~ msgid "cannot return to working directory" #~ msgstr "немагчыма вярнуцца ў пачатковую працоўную тэчку" #, fuzzy #~ msgid "cannot return to current directory" #~ msgstr "немагчыма атрымаць бягучую тэчку" #, fuzzy #~ msgid "value %s is so large that it is not representable" #~ msgstr "%s: %s такі вялікі, што немагчыма паказаць" #~ msgid "create symbolic link %s to %s" #~ msgstr "стварыць знакавую спасылку %s на %s" #~ msgid "create hard link %s to %s" #~ msgstr "стварыць жорсткую спасылку %s на %s" #~ msgid "cannot set permissions of directory %s" #~ msgstr "немагчыма ўсталяваць правы тэчкі %s" #~ msgid "fifo files not supported" #~ msgstr "fifo файлы непадтрымліваюцца" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "немагчыма ўсталяваць правы fifo %s" #~ msgid "cannot set permissions of %s" #~ msgstr "немагчыма ўсталяваць правы %s" #~ msgid "skip argument" #~ msgstr "абінуць довад" #~ msgid "limit argument" #~ msgstr "абмежаваць довад" #~ msgid "minimum string length" #~ msgstr "найменьшая даўжыня радка" #~ msgid "width specification" #~ msgstr "спэцыфікацыя шырыні" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #~ msgstr "" #~ "Вы павінны былі атрымаць копію ліцэнзыі \"GNU General Public License\n" #~ "разам з гэтай праграмай, калі не, лістуйце ў Free Software Foundation, " #~ "Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "немагчыма зьмяніць тэчку з %s на .." #~ msgid "cannot lstat %s" #~ msgstr "немагчыма выканаць lstat %s" #~ msgid "cannot chdir from %s to %s" #~ msgstr "немагчыма перайсьці з %s у %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "немагчыма выдаліць `.' ці `..'" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ " Абнаўляе час доступу й зьмяненьня кожнага ФАЙЛа да бягучага часу.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Увага! Выбар -i будзе выдалены ў будучым; выкарыстоўвайце -u замест яго." dc3dd-7.1.614/po/sl.gmo0000644000175000017500000001271611233346647014217 0ustar amedicoamedico)0x;i$<$a$*&97#T$x!,"  -&8_(t' " : N a t   %     t+  i ~?B(F/0v8K),8V7)A3 S a1n,5$&Ah5+S | \ !)( " %  $#' &jr BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid conversioninvalid input flaginvalid number %sinvalid output flaginvalid status flagoffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: GNU coreutils 6.11 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2008-04-23 09:26+0200 Last-Translator: Primož Peterlin Language-Team: Slovenian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0); Število BAJTOV in BLOKOV lahko okrajšamo s priponami za množenje: xM za množenje z M, c za množenje z 1, w za množenje z 2, b za množenje s 512, kB za množenje s 1000, K za množenje s 1024. MB = 1000×1000, M = 1024×1024, GB = 1000×1000×1000, G = 1024×1024×1024, in tako dalje za T, P, E, Z, Y. PRETVORBA je lahko (več izbir ločimo z vejico): ZASTAVICA je lahko: append dodajanje na konec datoteke (smiselno le pri izhodu; priporočeno conv=notrunc) binary uporabi binarne vhodno-izhodne funkcije za podatke direct uporabi neposredne vhodno-izhodne funkcije za podatke directory opusti, razen če je imenik dsync uporabi sinhronizirane vhodno-izhodne funkcije za podatke noatime ne ažuriraj časa zadnjega dostopa noctty ne določaj krmilnega terminala iz datoteke noerror nadaljuj po napaki pri branju sync vsak vhodni blok zapolni z znaki NUL dolžine ibs; če smo podali tudi block ali unblock, zapolni s presledki namesto z znaki NUL fdatasync fizično zapiši izhodno datoteko pred zaključkom dela fsync enako, vendar zapiši tudi metapodatke nofollow ne sledi simbolnim povezavam nolinks opusti, če je datoteka večkratno povezana nonblock uporabi neblokirne vhodno-izhodne funkcije sync enako, a tudi za metapodatke text uporabi besedilne vhodno-izhodne funkcije za podatke %s: premik s »seek« ni mogoč, %g s, %s/s neskončno BPoskusite »%s --help« za izčrpnejša navodila Neznana sistemska napakaUporaba: %s [OPERAND]... ali: %s IZBIRA pretvorbi excl in nocreat se medsebojno izključujetastatusa %s ni moč ugotoviti s fstatnapake v jedru ni bilo mogoče zaobitizapiramo vhodno datoteko %szapiramo izhodno datoteko %sfdatasync ni uspel za %sfsync ni uspel za %s<neveljavna pretvorbaneveljavna vhodna zastavicaneveljavno število %sneveljavno izhodna zastavicaneveljavna statusna zastavicaprekoračitev odmika pri branju datoteke %sodpiramo %snastavljamo zastavice za %sstandardni vhodstandardni izhodneprepoznan operand %sopozorilo: obvoz okoli napake lseek v jedru za datoteko (%s) vrste mt_type=0x%0lx -- glejte za seznam zvrstipišemo na %sPRIuMAXtruncating at % bytes in output file %snapredovali smo prek % bajtov v izhodni datoteki %sdc3dd-7.1.614/po/pt_BR.gmo0000644000175000017500000000211311233346647014575 0ustar amedicoamedico t&8M]s  *X +:  Try `%s --help' for more information. Unknown system errorcannot fstat %sclosing input file %sclosing output file %sinvalid number %sopening %sstandard inputstandard outputwriting to %sProject-Id-Version: coreutils 5.0 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2003-06-27 19:20-0300 Last-Translator: Juan Carlos Castro y Castro Language-Team: Brazilian Portuguese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tente `%s --help' para mais informação. Erro de sistema desconhecidoimpossível fazer fstat em %sfechando arquivo de entrada %sfechando arquivo de saída %snúmero inválido %sabrindo %sentrada padrãosaída padrãoescrevendo em %sdc3dd-7.1.614/po/el.po0000644000175000017500000152304411233346647014037 0ustar amedicoamedico# Greek messages for GNU textutils # Copyright (C) 1999, 2000, 2001, 2002, 2008 Free Software Foundation, Inc. # Simos Xenitellis , 1999, 2000, 2001, 2002, 2008. # msgid "" msgstr "" "Project-Id-Version: coreutils 6.10\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-03-13 11:25+0100\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" # #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Πωλ Ρούμπιν και Ντέιβιντ Μακένζη" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" # #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" # #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Δοκιμάστε `%s --help' για περισσότερη βοήθεια.\n" # #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #: src/dc3dd.c:1099 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" #: src/dc3dd.c:1107 msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" # #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "το `%s' υπάρχει ήδη άλλα δεν είναι κατάλογος" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" # #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Άγνωστο σφάλμα συστήματος" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" # #: src/dc3dd.c:2139 #, fuzzy, c-format msgid "closing input file %s" msgstr "δημιουργία αρχείου `%s'\n" #: src/dc3dd.c:2146 #, fuzzy, c-format msgid "closing output file %s" msgstr "διαγραφή καταλόγου %s\n" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" # #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "η ιδεατή μνήμη εξαντλήθηκε" # #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, fuzzy, c-format msgid "opening %s" msgstr "σφάλμα ανάγνωσης %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" # #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "ΑΝΕΠΙΤΥΧΕΣ" # #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "απαράδεκτη επιλογή `-%c'" # #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "μη έγκυρος αριθμός πεδίου: `%s'" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" # #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "μη έγκυρο όρισμα %s για %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" # #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "μη έγκυρο όρισμα %s για %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" # #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "μη έγκυρο όρισμα %s για %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" # #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "μη έγκυρη ομάδα" # #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "μη έγκυρο όρισμα %s για %s" # #: src/dc3dd.c:2913 #, fuzzy, c-format msgid "invalid number %s" msgstr "μη έγκυρος αριθμός" # #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" # #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" # #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "σφάλμα ανάγνωσης %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: δε μπορεί να διαγραφεί" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 msgid "advance: warning: invalid file offset after failed read" msgstr "" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "διατήρηση ωρών στο %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" # #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, fuzzy, c-format msgid "writing to %s" msgstr "σφάλμα εγγραφής %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "" # #: src/dc3dd.c:3907 msgid "standard input" msgstr "κανονική είσοδος" # #: src/dc3dd.c:3938 msgid "standard output" msgstr "κανονική έξοδος" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" # #: src/dc3dd.c:4031 #, fuzzy, c-format msgid "cannot fstat %s" msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "διαγραφή καταλόγου %s\n" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "μηδενισμένη εγγραφή και γράψιμο πάνω σε αυτή (truncated)" #~ msgstr[1] "μηδενισμένη εγγραφή και γράψιμο πάνω σε αυτή (truncated)" # #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" # #~ msgid "error writing %s" #~ msgstr "σφάλμα εγγραφής %s" # #~ msgid "invalid argument %s for %s" #~ msgstr "μη έγκυρο όρισμα %s για %s" # #~ msgid "ambiguous argument %s for %s" #~ msgstr "ασαφές όρισμα %s για %s" # #~ msgid "Valid arguments are:" #~ msgstr "Έγκυρα ορίσματα είναι:" # #, fuzzy #~ msgid "error closing file" #~ msgstr "ολοκλήρωση αρχείου" # #~ msgid "write error" #~ msgstr "σφάλμα εγγραφής" # #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "cannot stat %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #~ msgid "regular empty file" #~ msgstr "κανονικό κενό αρχείο" # #~ msgid "regular file" #~ msgstr "κανονικό αρχείο" # #~ msgid "directory" #~ msgstr "κατάλογος" # #~ msgid "block special file" #~ msgstr "ειδικό αρχείο μπλοκ" # #~ msgid "character special file" #~ msgstr "ειδικό αρχείο χαρακτήρων" # #~ msgid "fifo" #~ msgstr "φίφο" # #~ msgid "symbolic link" #~ msgstr "συμβολικός σύνδεσμος" # #~ msgid "socket" #~ msgstr "υποδοχέας" # #~ msgid "message queue" #~ msgstr "ουρά μηνυμάτων" # #~ msgid "semaphore" #~ msgstr "σημαφόρος" # #~ msgid "weird file" #~ msgstr "παράξενο αρχείο" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "αρχεία fifo δεν υποστηρίζονται" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "αρχεία fifo δεν υποστηρίζονται" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "αρχεία fifo δεν υποστηρίζονται" # #, fuzzy #~ msgid "System error" #~ msgstr "σφάλμα εγγραφής" # #, fuzzy #~ msgid "Unknown error" #~ msgstr "Άγνωστο σφάλμα συστήματος" # #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: η επιλογή `%s' είναι ασαφής\n" # #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: η επιλογή `--%s' δεν επιτρέπει ορίσματα\n" # #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: η επιλογή `%c%s' δεν επιτρέπει ορίσματα\n" # #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: η επιλογή `-%s' απαιτεί ένα όρισμα\n" # #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: μη αναγνωρίσιμη επιλογή `--%s'\n" # #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: μη αναγνωρίσιμη επιλογή `%c%s'\n" # #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: μη αναγνωρίσιμη επιλογή -- %c\n" # #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: μη έγκυρη επιλογή -- %c\n" # #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: η επιλογή απαιτεί ένα όρισμα -- %c\n" # #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: η επιλογή `-W %s' είναι ασαφής\n" # #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: η επιλογή `-W %s' δεν επιτρέπει ορίσματα\n" # #, fuzzy #~ msgid "cannot change permissions of %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "cannot create directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #~ msgid "memory exhausted" #~ msgstr "η μνήμη εξαντλήθηκε" # #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #~ msgid "`" #~ msgstr "«" # #~ msgid "'" #~ msgstr "»" # #~ msgid "%s: end of file" #~ msgstr "%s: τέλος αρχείου" # #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: μη έγκυρη κανονική έκφραση: %s" # #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "μη έγκυρη τάξη χαρακτήρων `%s'" # #~ msgid "Memory exhausted" #~ msgstr "Η μνήμη εξαντλήθηκε" # #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: μη έγκυρη κανονική έκφραση: %s" # #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "σφάλμα στην ανεύρεση μέσω κανονικής έκφρασης" # #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "σφάλμα στην ανεύρεση μέσω κανονικής έκφρασης" # #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "σφάλμα στην ανεύρεση μέσω κανονικής έκφρασης" # #~ msgid "^[yY]" #~ msgstr "^[yYνΝ]" # #~ msgid "^[nN]" #~ msgstr "^[nNοΟ]" # #, fuzzy #~ msgid "setting permissions for %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "character out of range" #~ msgstr "%s: αριθμός γραμμής έξω από τα όρια" # #~ msgid "invalid user" #~ msgstr "μη έγκυρος χρήστης" # #~ msgid "invalid group" #~ msgstr "μη έγκυρη ομάδα" # #, fuzzy #~ msgid "invalid spec" #~ msgstr "μη έγκυρος χρήστης" # #~ msgid "Written by %s.\n" #~ msgstr "Γραμμένο από τον/την %s.\n" # #, fuzzy #~ msgid "Written by %s and %s.\n" #~ msgstr "Γραμμένο από τον/την %s.\n" # #, fuzzy #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Γραμμένο από τον/την %s.\n" # #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "Γραμμένο από τον/την %s.\n" # #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "Γραμμένο από τον/την %s.\n" # #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "μη έγκυρο όρισμα %s για %s" # #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Θέστε LC_ALL='C' για να παρακάμψετε το πρόβλημα." # #, fuzzy #~ msgid "string transformation failed" #~ msgstr "έχει παραληφθεί η λίστα με τα πεδία" # #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "μη έγκυρο όρισμα %s για %s" # #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "μη έγκυρη αύξηση στον αριθμό εντολής: `%s'" # #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "το %s είναι πολύ μεγάλο" # #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #~ msgid "read error" #~ msgstr "σφάλμα ανάγνωσης" # #, fuzzy #~ msgid "invalid input" #~ msgstr "μη έγκυρος αριθμός" # #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "closing standard input" #~ msgstr "κανονική είσοδος" # #, fuzzy #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #, fuzzy #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Τυπώνει το ΟΝΟΜΑ χωρίς να ακολουθείται απο συστατικά καταλόγου.\n" #~ "Εαν προσδιορίζεται, αφαιρεί το ΕΠΙΘΗΜΑ που ακολουθεί.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #, fuzzy #~ msgid "missing operand" #~ msgstr "%s: αναμενόταν ακέραιος μετά το `%c'" # #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Ρίτσαρντ Στάλμαν και Ντέιβιντ Μακένζη" # #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Συνένωση ΑΡΧΕΙΟΥ(ΩΝ) ή κανονικής εισόδου σε κανονική έξοδο.\n" #~ "\n" #~ " -A, --show-all ισοδύναμο με -vET\n" #~ " -b, --number-nonblank αρίθμηση μη-κενών γραμμών της εξόδου\n" #~ " -e ισοδύναμο με -vE\n" #~ " -E, --show-ends εμφάνιση του $ στο τέλος κάθε γραμμής\n" #~ " -n, --number αρίθμηση όλων των γραμμών εξόδου\n" #~ " -s, --squeeze-blank ποτέ περισσότερο από μια μονή κενή γραμμή\n" #~ " -t ισοδύναμο με -vT\n" #~ " -T, --show-tabs εμφάνιση χαρακτήρα TAB σαν ^I\n" #~ " -u (αγνοείτε)\n" #~ " -v, --show-nonprinting χρήση ^ και Μ- κωδικογραφή, εκτός για LFD και " #~ "TAB\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" # #, fuzzy #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ "Συνένωση ΑΡΧΕΙΟΥ(ΩΝ) ή κανονικής εισόδου σε κανονική έξοδο.\n" #~ "\n" #~ " -A, --show-all ισοδύναμο με -vET\n" #~ " -b, --number-nonblank αρίθμηση μη-κενών γραμμών της εξόδου\n" #~ " -e ισοδύναμο με -vE\n" #~ " -E, --show-ends εμφάνιση του $ στο τέλος κάθε γραμμής\n" #~ " -n, --number αρίθμηση όλων των γραμμών εξόδου\n" #~ " -s, --squeeze-blank ποτέ περισσότερο από μια μονή κενή γραμμή\n" #~ " -t ισοδύναμο με -vT\n" #~ " -T, --show-tabs εμφάνιση χαρακτήρα TAB σαν ^I\n" #~ " -u (αγνοείτε)\n" #~ " -v, --show-nonprinting χρήση ^ και Μ- κωδικογραφή, εκτός για LFD και " #~ "TAB\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" # #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "αδυναμία εκτέλεσης ioctl στο `%s'" # #~ msgid "%s: input file is output file" #~ msgstr "%s: το αρχείο εισόδου είναι το αρχείο εξόδου" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "διατήρηση ωρών στο %s" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "διατήρηση ωρών στο %s" # #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "cannot access %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "cannot read directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "fts_read failed" #~ msgstr "αποτυχία ανάγνωσης" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΑΥΞΗΣΗ ΤΕΛΕΥΤΑΙΟΣ\n" # #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "%s: αναμενόταν ακέραιος μετά το `%c'" # #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" #, fuzzy #~ msgid "failed to get attributes of %s" #~ msgstr "διατήρηση ωρών στο %s" # #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "μη έγκυρη ομάδα" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]...\n" #~ " ή: %s --traditional [ΑΡΧΕΙΟ] [[+]ΘΕΣΗ [[+]ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ]]\n" #, fuzzy #~ msgid "getting new attributes of %s" #~ msgstr "διατήρηση ωρών στο %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "" #~ "ούτε ο συμβολικός σύνδεσμος %s ούτε το αναφερόμενο αρχείο αλλάχτηκαν\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "τα δικαιώματα του %s τροποποιήθηκαν σε %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "αποτυχία αλλαγής των δικαιωμάτων του %s σε %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "τα δικαιώματα του %s διατηρούνται ως έχουν, δηλαδή %04lo (%s)\n" # #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "changing permissions of %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΑΥΞΗΣΗ ΤΕΛΕΥΤΑΙΟΣ\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "Αλλαγή των δικαιωμάτων κάθε ΑΡΧΕΙΟΥ σε ΔΙΚΑΙΩΜΑ.\n" #~ "\n" #~ " -c, --changes όπως το \"--verbose\" αλλά εμφάνιση μηνύματος " #~ "μόνο όταν γίνεται αλλαγή\n" #~ " -f, --silent, --quiet αποφυγή εμφάνισης των περισσότερων μηνυμάτων " #~ "σφάλματος\n" #~ " -v, --verbose εμφάνιση διαγνωστικών μηνυμάτων για κάθε αρχείο " #~ "που επεξεργάζετε\n" #~ " --reference=ΑΡΧΕΙΟΑΝΑΦΟΡΑΣ χρήση των δικαιωμάτων του " #~ "ΑΡΧΕΙΟΑΝΑΦΟΡΑΣ\n" #~ " αντί τις τιμής του ΔΙΚΑΙΩΜΑ\n" #~ " -R, --recursive αλλαγές στα αρχεία και στους καταλόγους " #~ "αναδρομικά\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Κάθε ΔΙΚΑΙΩΜΑ είναι ένα ή περισσότερα από τα γράμματα ugoa, ένα από τα\n" #~ "σύμβολα +-= και ένα ή περισσότερα από τα γράμματα rwxXstugo.\n" # #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" #, fuzzy #~ msgid "changed ownership of %s to %s\n" #~ msgstr "αποτυχία αλλαγής του ιδιοκτήτη από %s σε " #, fuzzy #~ msgid "changed group of %s to %s\n" #~ msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "διατήρηση ιδιοκτήτη για το %s" # #, fuzzy #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" # #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" #, fuzzy #~ msgid "ownership of %s retained as %s\n" #~ msgstr "ο ιδιοκτήτης του %s παρέμεινε ως " #~ msgid "group of %s retained as %s\n" #~ msgstr "η ομάδα του %s έχει παραμείνει σε %s\n" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "ο ιδιοκτήτης του %s παρέμεινε ως " # #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" #, fuzzy #~ msgid "changing ownership of %s" #~ msgstr "διατήρηση ιδιοκτήτη για το %s" # #, fuzzy #~ msgid "changing group of %s" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]...\n" #~ " ή: %s --traditional [ΑΡΧΕΙΟ] [[+]ΘΕΣΗ [[+]ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ]]\n" # #, fuzzy #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "cannot change root directory to %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "cannot chdir to root directory" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "cannot run command %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "%s: file too long" #~ msgstr "το αρχείο μηδενίστηκε" # #, fuzzy #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Ρίτσαρντ Στάλμαν και Ντέιβιντ Μακένζη" # #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΧΕΙΟ1 ΑΡΧΕΙΟ2\n" # #, fuzzy #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "Σύγκριση ταξινομημένων αρχείων ΑΡΙΣΤΕΡΌ_ΑΡΧΕΊΟ και ΔΕΞΙΌ_ΑΡΧΕΊΟ, ανά " #~ "γραμμή.\n" #~ "\n" #~ " -1 απόκρυψη μοναδικών γραμμών στο αριστερό αρχείο\n" #~ " -2 απόκρυψη μοναδικών γραμμών στο δεξιό αρχείο\n" #~ " -3 απόκρυψη μοναδικών γραμμών και στα δύο αρχεία\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" #, fuzzy #~ msgid "failed to preserve ownership for %s" #~ msgstr "διατήρηση ιδιοκτήτη για το %s" #, fuzzy #~ msgid "failed to lookup file %s" #~ msgstr "διατήρηση ωρών στο %s" #, fuzzy #~ msgid "failed to preserve authorship for %s" #~ msgstr "διατήρηση ιδιοκτήτη για το %s" #, fuzzy #~ msgid "cannot open %s for reading" #~ msgstr "αδυναμία μεταφοράς του `%s' στο `%s'" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" # #, fuzzy #~ msgid "cannot remove %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" #, fuzzy #~ msgid "removed %s\n" #~ msgstr "διαγραφή καταλόγου %s\n" # #, fuzzy #~ msgid "cannot create regular file %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot lseek %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "writing %s" #~ msgstr "σφάλμα εγγραφής %s" #~ msgid "preserving times for %s" #~ msgstr "διατήρηση ωρών στο %s" # #, fuzzy #~ msgid "closing %s" #~ msgstr "κλείσιμο του %s (fd=%d)" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: αντιγραφή πάνω στο `%s', παράκαμψη δικαιωμάτων %04lo; " # #, fuzzy #~ msgid "%s: overwrite %s? " #~ msgstr "%s: σφάλμα εγγραφής" #~ msgid " (backup: %s)" #~ msgstr " (αντίγραφο ασφαλείας: %s)" # #, fuzzy #~ msgid "omitting directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "%s and %s are the same file" #~ msgstr "τα `%s' και `%s' είναι το ίδιο αρχείο" # #, fuzzy #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" #, fuzzy #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "%s: δε μπορεί να γραφτεί μη-κατάλογος πάνω σε κατάλογο" # #, fuzzy #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" #, fuzzy #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "" #~ "η δημιουργία αντιγράφου ασφαλείας του `%s' θα κατέστρεφε τη πηγή· το `%s' " #~ "δε μετακινείται" #, fuzzy #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "" #~ "στη δημιουργία αντιγράφου ασφαλείας του `%s' θα κατέστρεφε τη πηγή· το `%" #~ "s' δεν αντιγράφεται" # #, fuzzy #~ msgid "cannot backup %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "%s: δε μπορεί να γραφτεί μη-κατάλογος πάνω σε κατάλογο" # #, fuzzy #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "will not create hard link %s to directory %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "cannot create hard link %s to %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "cannot move %s to %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "διατήρηση ωρών στο %s" #, fuzzy #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "%s: αδυναμία αντιγραφής κυκλίκού συμβολικού συνδέσμου" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: δυνατότητα δημιουργίας σχετικών συμβολικών συνδέσμων μόνο στο τρέχον " #~ "κατάλογο" # #, fuzzy #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot create fifo %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot create special file %s" #~ msgstr "ειδικό αρχείο χαρακτήρων" # #, fuzzy #~ msgid "cannot read symbolic link %s" #~ msgstr "συμβολικός σύνδεσμος" # #, fuzzy #~ msgid "cannot create symbolic link %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "%s has unknown file type" #~ msgstr "%s: άγνωστο είδος αρχείου" # #, fuzzy #~ msgid "cannot un-backup %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # src/copy.c:924 #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (χρήση αντιγράφου ασφαλείας)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΑΥΞΗΣΗ ΤΕΛΕΥΤΑΙΟΣ\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ "Αντιγραφή της ΠΗΓΗς στο ΠΡΟΟΡΙΣΜΟΣ ή πολλαπλές ΠΗΓΗ(ΕΣ) στο ΚΑΤΑΛΟΓΟ.\n" #~ "\n" #~ " -a, --archive το ίδιο με -dpR\n" #~ " --backup=[ΕΛΕΓΧΟΣ] δημιουργία αντιγράφου ασφαλείας για κάθε " #~ "αρχείο\n" #~ " προορισμού\n" #~ " -b όπως το --backup αλλά δεν απαιτεί " #~ "παράμετρο\n" #~ " -d, --no-dereference διατήρηση συμβολικών συνδέσμων\n" #~ " -f, --force διαγραφή υπαρχόντων προορισμών, χωρίς\n" #~ " επιβεβαίωση διαγραφής\n" #~ " -i, --interactive απαίτηση διαβεβαίωσης διαγραφής πριν τη\n" #~ " διαγραφή λόγω επικάλυψης\n" #~ " -l, --link δημιουργία συνδέσμων αντί αντιγράφων\n" #~ " -p, --preserve διατήρηση χαρακτηριστικών των αρχείων, αν\n" #~ " είναι δυνατόν\n" #~ " -P, --parents προσθήκη διαδρομής της πηγής στο " #~ "ΚΑΤΑΛΟΓΟΣ\n" #~ " -r αντιγραφή αναδρομικά, τους μη-καταλόγους " #~ "σαν\n" #~ " αρχεία\n" #~ " ΠΡΟΕΙΔΟΠΟΙΗΣΗ: κάντε χρήση του -R όταν\n" #~ " πρόκειτε να αντιγράψετε ειδικά αρχεία " #~ "όπως\n" #~ " FIFO ή το /dev/zero\n" #~ " --sparse=WHEN έλεγχος της δημιουργίας αραιών (sparse)\n" #~ " αρχείων\n" #~ " -R, --recursive αντιγραφή καταλόγων αναδρομικά\n" #~ " --strip-trailing-slashes απομάκρυνση οτιδήποτε κάθετων που έπονται " #~ "από\n" #~ " κάθε όρισμα ΠΗΓΗΣ\n" #~ " -s, --symbolic-link δημιουργία συμβολικών συνδέσμων αντί\n" #~ " αντιγράφων\n" #~ " -S, --suffix=ΚΑΤΑΛΗΞΗ παράκαμψη της συνηθισμένης κατάληξης των\n" #~ " αντιγράφων ασφαλείας\n" #~ " --target-directory=ΚΑΤΑΛΟΓΟΣ μετακίνησε όλα τα ορίσματα για ΠΗΓΗ " #~ "στο\n" #~ " ΚΑΤΑΛΟΓΟΣ\n" #~ " -u, --update αντιγραφή μόνο όταν το αρχείο ΠΗΓΗ είναι\n" #~ " νεώτερο από το αρχείο ΠΡΟΟΡΙΣΜΟΣ ή όταν\n" #~ " το αρχείο προορισμός δεν υπάρχει\n" #~ " -v, --verbose εξήγηση του τί γίνεται\n" #~ " -x, --one-file-system παραμονή στο τρέχον σύστημα αρχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Έξ ορισμού, τα αραία (sparse) αρχεία ΠΗΓΗΣ αναγωρίζονται με ένα όχι τόσο\n" #~ "καλό ευρεστικό αλγόριθμο και το αντίστοιχο αρχείο ΠΡΟΟΡΙΣΜΟΥ γίνεται " #~ "αραιό\n" #~ "επίσης. Αυτή είναι η συμπεριφορά της επιλογής --sparse=auto. Επιλέξτε\n" #~ "--sparse=always για τη δημιουργία αραιών αρχείων ΠΡΟΟΡΙΣΜΟΥ οπότε το " #~ "αρχείο\n" #~ "ΠΗΓΗ περιέχει αρκετά μεγάλες σειρές από μηδενικά bytes.\n" #~ "Με --sparse=never απογορεύετε τη δημιουργία αραιών αρχείων.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ "Μετονομασία της ΠΗΓΗΣ σε ΠΡΟΟΡΙΣΜΟ ή μετακίνηση ΠΗΓΗΣ(ΩΝ) στο ΚΑΤΑΛΟΓΟ.\n" #~ "\n" #~ " --backup=[ΕΛΕΓΧΟΣ] δημιουργία αντιγράφου ασφαλείας για κάθε " #~ "αρχείο\n" #~ " προορισμού\n" #~ " -b όπως το --backup αλλά δεν απαιτεί " #~ "παράμετρο\n" #~ " -f, --force διαγραφή υπαρχόντων καταλόγων, χωρίς\n" #~ " επιβεβαίωση\n" #~ " -i, --interactive επιβεβαίωση πριν τη διαγραφή\n" #~ " --strip-trailing-slashes αφαίρεση χαρακτήρων καθέτων στο τέλος\n" #~ " γραμμής από κάθε ΠΗΓΗ\n" #~ " -S, --suffix=ΚΑΤΑΛΗΞΗ παράκαμψη της συνήθης κατάληξης " #~ "αντιγράφων\n" #~ " ασφαλείας\n" #~ " --target-directory=ΚΑΤΑΛΟΓΟΣ μετακίνηση όλων των ορισμάτων ΠΗΓΗΣ\n" #~ " στον ΚΑΤΑΛΟΓΟ\n" #~ " -u, --update μεταφορά μόνο των παλαιότερων ή " #~ "εξολοκλήρου\n" #~ " νέων αρχείων\n" #~ " -v, --verbose εξήγηση του τι συμβαίνει\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "Αντιγραφή της ΠΗΓΗς στο ΠΡΟΟΡΙΣΜΟΣ ή πολλαπλές ΠΗΓΗ(ΕΣ) στο ΚΑΤΑΛΟΓΟ.\n" #~ "\n" #~ " -a, --archive το ίδιο με -dpR\n" #~ " --backup=[ΕΛΕΓΧΟΣ] δημιουργία αντιγράφου ασφαλείας για κάθε " #~ "αρχείο\n" #~ " προορισμού\n" #~ " -b όπως το --backup αλλά δεν απαιτεί " #~ "παράμετρο\n" #~ " -d, --no-dereference διατήρηση συμβολικών συνδέσμων\n" #~ " -f, --force διαγραφή υπαρχόντων προορισμών, χωρίς\n" #~ " επιβεβαίωση διαγραφής\n" #~ " -i, --interactive απαίτηση διαβεβαίωσης διαγραφής πριν τη\n" #~ " διαγραφή λόγω επικάλυψης\n" #~ " -l, --link δημιουργία συνδέσμων αντί αντιγράφων\n" #~ " -p, --preserve διατήρηση χαρακτηριστικών των αρχείων, αν\n" #~ " είναι δυνατόν\n" #~ " -P, --parents προσθήκη διαδρομής της πηγής στο " #~ "ΚΑΤΑΛΟΓΟΣ\n" #~ " -r αντιγραφή αναδρομικά, τους μη-καταλόγους " #~ "σαν\n" #~ " αρχεία\n" #~ " ΠΡΟΕΙΔΟΠΟΙΗΣΗ: κάντε χρήση του -R όταν\n" #~ " πρόκειτε να αντιγράψετε ειδικά αρχεία " #~ "όπως\n" #~ " FIFO ή το /dev/zero\n" #~ " --sparse=WHEN έλεγχος της δημιουργίας αραιών (sparse)\n" #~ " αρχείων\n" #~ " -R, --recursive αντιγραφή καταλόγων αναδρομικά\n" #~ " --strip-trailing-slashes απομάκρυνση οτιδήποτε κάθετων που έπονται " #~ "από\n" #~ " κάθε όρισμα ΠΗΓΗΣ\n" #~ " -s, --symbolic-link δημιουργία συμβολικών συνδέσμων αντί\n" #~ " αντιγράφων\n" #~ " -S, --suffix=ΚΑΤΑΛΗΞΗ παράκαμψη της συνηθισμένης κατάληξης των\n" #~ " αντιγράφων ασφαλείας\n" #~ " --target-directory=ΚΑΤΑΛΟΓΟΣ μετακίνησε όλα τα ορίσματα για ΠΗΓΗ " #~ "στο\n" #~ " ΚΑΤΑΛΟΓΟΣ\n" #~ " -u, --update αντιγραφή μόνο όταν το αρχείο ΠΗΓΗ είναι\n" #~ " νεώτερο από το αρχείο ΠΡΟΟΡΙΣΜΟΣ ή όταν\n" #~ " το αρχείο προορισμός δεν υπάρχει\n" #~ " -v, --verbose εξήγηση του τί γίνεται\n" #~ " -x, --one-file-system παραμονή στο τρέχον σύστημα αρχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Έξ ορισμού, τα αραία (sparse) αρχεία ΠΗΓΗΣ αναγωρίζονται με ένα όχι τόσο\n" #~ "καλό ευρεστικό αλγόριθμο και το αντίστοιχο αρχείο ΠΡΟΟΡΙΣΜΟΥ γίνεται " #~ "αραιό\n" #~ "επίσης. Αυτή είναι η συμπεριφορά της επιλογής --sparse=auto. Επιλέξτε\n" #~ "--sparse=always για τη δημιουργία αραιών αρχείων ΠΡΟΟΡΙΣΜΟΥ οπότε το " #~ "αρχείο\n" #~ "ΠΗΓΗ περιέχει αρκετά μεγάλες σειρές από μηδενικά bytes.\n" #~ "Με --sparse=never απογορεύετε τη δημιουργία αραιών αρχείων.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Η κατάληξη των αντιγράφων ασφαλείας είναι το `~', εκτός αν τεθεί με το\n" #~ "--suffix ή το SIMPLE_BACKUP_SUFFIX.\n" #~ "Ο έλεγχος έκδοσης μπορεί να τεθεί με την επιλογή --backup ή μέσω της\n" #~ "μεταβλητής περιβάλλοντος VERSION_CONTROL. Οι δυνατές τιμές είναι:\n" #~ "\n" #~ " none,off να μη δημιουργούνται αντίγραδα ασφαλείας (ακόμα και\n" #~ " αν δίνεται --backup)\n" #~ " numbered, t δημιουργία αριθμημένων αντιγράφων ασφαλείας\n" #~ " existing, nil αριθμημένων, αν υπάρχουν αριθμημένα αντίγραφα, " #~ "διαφορετικά\n" #~ " απλά αντίγραφα\n" #~ " simple, never πάντα δημιουργία απλών αντιγράφων\n" #, fuzzy #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ "Η κατάληξη των αντιγράφων ασφαλείας είναι το `~', εκτός αν τεθεί με το\n" #~ "--suffix ή το SIMPLE_BACKUP_SUFFIX.\n" #~ "Ο έλεγχος έκδοσης μπορεί να τεθεί με την επιλογή --backup ή μέσω της\n" #~ "μεταβλητής περιβάλλοντος VERSION_CONTROL. Οι δυνατές τιμές είναι:\n" #~ "\n" #~ " none,off να μη δημιουργούνται αντίγραδα ασφαλείας (ακόμα και\n" #~ " αν δίνεται --backup)\n" #~ " numbered, t δημιουργία αριθμημένων αντιγράφων ασφαλείας\n" #~ " existing, nil αριθμημένων, αν υπάρχουν αριθμημένα αντίγραφα, " #~ "διαφορετικά\n" #~ " απλά αντίγραφα\n" #~ " simple, never πάντα δημιουργία απλών αντιγράφων\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Σαν ειδική περίπτωση, η cp δημιουργεί αντίγραφα της ΠΗΓΗΣ όταν οι " #~ "επιλογές\n" #~ "και τα ΠΗΓΗ και ΠΡΟΟΡΙΣΜΟΣ έχουν το ίδιο όνομα, για ένα υπάρχον, κανονικό " #~ "αρχείο.\n" #, fuzzy #~ msgid "failed to preserve times for %s" #~ msgstr "διατήρηση ωρών στο %s" # #, fuzzy #~ msgid "failed to preserve permissions for %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "cannot make directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "%s exists but is not a directory" #~ msgstr "το `%s' υπάρχει ήδη άλλα δεν είναι κατάλογος" #, fuzzy #~ msgid "accessing %s" #~ msgstr "διαγραφή καταλόγου %s\n" # #, fuzzy #~ msgid "missing file operand" #~ msgstr "προσπέρασμα ορίσματος" # #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "έχει παραληφθεί η λίστα με τα πεδία" # #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "το `%s' υπάρχει ήδη άλλα δεν είναι κατάλογος" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "" #~ "όταν διατηρούνται τα μονοπάτια, το τελευταίο όρισμα πρέπει να είναι " #~ "κατάλογος" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "\\%c: Μη έγκυρη διαφυγή." #~ msgid "cannot make both hard and symbolic links" #~ msgstr "αδυναμία δημιουργίας σθεναρών(hard) και συμβολικών συνδέσμων" #~ msgid "backup type" #~ msgstr "είδος αντιγράφου ασφάλειας" # #~ msgid "input disappeared" #~ msgstr "η είσοδος εξαφανίστηκε" # #~ msgid "%s: line number out of range" #~ msgstr "%s: αριθμός γραμμής έξω από τα όρια" # #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: `%s': αριθμός γραμμής έξω από τα όρια" # #, fuzzy #~ msgid " on repetition %s\n" #~ msgstr " στην επανάληψη %d\n" # #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: `%s': δεν βρέθηκε ταίριασμα" # #~ msgid "error in regular expression search" #~ msgstr "σφάλμα στην ανεύρεση μέσω κανονικής έκφρασης" # #, fuzzy #~ msgid "write error for %s" #~ msgstr "σφάλμα εγγραφής για το `%s'" # #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: αναμενόταν ακέραιος μετά το `%c'" # #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: το `}' απαιτείται όταν δηλώνονται οι επαναλήψεις" # #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: απαιτείται ακέραιος μεταξύ των `{' και `}'" # #, fuzzy #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: ο τελεστής τερματισμού `%c' έχει παραληφθεί" # #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: μη έγκυρη κανονική έκφραση: %s" # #~ msgid "%s: invalid pattern" #~ msgstr "%s: μη έγκυρη μορφή" # #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: ο αριθμός γραμμής πρέπει να είναι μεγαλύτερος από το μηδέν" # #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "" #~ "ο αριθμός γραμμής `%s' είναι μικρότερος από τον προηγούμενο αριθμό " #~ "γραμμής, %s" # #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "" #~ "προειδοποίηση: ο αριθμός γραμμής `%s' είναι ίδιος με αυτόν της " #~ "προηγούμενης γραμμής" # #, fuzzy #~ msgid "invalid format width" #~ msgstr "μη έγκυρο όρισμα %s για %s" # #, fuzzy #~ msgid "invalid format precision" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #~ msgid "missing conversion specifier in suffix" #~ msgstr "έχει παραληφθεί ο δηλωτής μετατροπής στην κατάληξη" # #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "μη έγκυρος δηλωτής μετατροπής στην κατάληξη: %c" # #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "μη έγκυρος δηλωτής μετατροπής στην κατάληξη: \\%.3o" # #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "πάρα πολλές δηλώσεις μετατροπής στην κατάληξη" # #~ msgid "missing %% conversion specification in suffix" #~ msgstr "έχει παραληφθεί η δήλωση μετατροπής %% στην κατάληξη" # #~ msgid "%s: invalid number" #~ msgstr "%s: μη έγκυρος αριθμός" # #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΧΕΙΟ ΜΟΡΦΗ...\n" # #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ "Αναδίπλωση γραμμών εισόδου σε κάθε ΑΡΧΕΙΟ (κανονική είσοδος εξ ορισμού),\n" #~ "γράφοντας στην κανονική έξοδο.\n" #~ "\n" #~ " -b, --bytes μέτρηση bytes αντί στηλών\n" #~ " -s, --spaces αναδίπλωση σε διαστήματα μόνο\n" #~ " -w, --width=ΠΛΑΤΟΣ χρήση ΠΛΑΤΟΣ στήλες αντί για 80\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #~ msgid "invalid byte or field list" #~ msgstr "μη έγκυρο byte ή λίστα πεδίων" # #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "το %s είναι πολύ μεγάλο" # #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #~ msgid "only one type of list may be specified" #~ msgstr "μόνο ένα είδος λίστας μπορεί να οριστεί" # #~ msgid "the delimiter must be a single character" #~ msgstr "ο διαχωριστής πρέπει να είναι ένας μόνο χαρακτήρας" # #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "πρέπει να ορίσετε λίστα από bytes, χαρακτήρες ή πεδία" # #, fuzzy #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "ένας διαχωριστής μπορεί να οριστεί μόνο όταν λειτουργούμε με πεδία" # #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "η απόκρυψη γραμμών που δεν έχουν διαχωριστές έχει νόημα\n" #~ "\tμόνο όταν λειτουργούμε με πεδία" # #~ msgid "missing list of fields" #~ msgstr "έχει παραληφθεί η λίστα με τα πεδία" # #~ msgid "missing list of positions" #~ msgstr "έχει παραληφθεί η λίστα με τις θέσεις" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... [+ΜΟΡΦΗ]\n" #~ " ή: %s [ΕΠΙΛΟΓΗ] [ΜΜΗΗωωλλ[[ΥΥ]ΧΧ][.δδ]]\n" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Εκτυπώνη την ημερομηνία στη δοσμένη μορφή, ή θέτει την ώρα του " #~ "συστήματος.\n" #~ "\n" #~ " -d, --date=ΜΟΡΦΗ Εκτυπώνει την ώρα που καθορίζεται απο την " #~ "ΜΟΡΦΗ,\n" #~ " εκτός της δεσμευμένης λέξης `now'\n" #~ " -f, --file=ΑΡΧΕΙΟ Ομοια με την --date για κάθε γραμμη του " #~ "αρχείου\n" #~ " που περιέχει τις ημερομηνίες\n" #~ " -r, --reference=ΑΡΧΕΙΟ Εκτυπώνει την τελευταία ημερομηνία " #~ "τροποποίησης\n" #~ " του αρχείου\n" #~ " -R, --rfc-822 Εκτυπώνει την ημερομηνία σύμφωνα με το RFC-" #~ "822\n" #~ " -s, --set=ΜΟΡΦΗ Θέτει την ημερομηνία που περιγράφεται απο την\n" #~ " ΜΟΡΦΗ\n" #~ " -u, --utc, --universal Εκτυπώνει ή θέτει την παγκόσμια ώρα(UTC)\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες για την έκδοση και " #~ "τερματίζει\n" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "\\%c: Μη έγκυρη διαφυγή." # #, fuzzy #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "Οι επιλογές για να εκτυπωθεί και να οριστεί η ώρα δεν μπορούν να\n" #~ "χρησιμοποιηθούν παράλληλα." #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "Η παράμετρος `%s' δεν ξεκινά με το πρόθεμα `+' όπως θα έπρεπε.\n" #~ "Οταν χρησιμοποιήτε μια επιλογή για να καθορίσετε την(τις) ημερομηνία" #~ "(ες), \n" #~ "κάθε παράμετρος που δεν είναι επιλογή πρέπει να είναι διαμορφωμένη έτσι\n" #~ "ώστε να ξεκινάει με το `+'." #~ msgid "cannot set date" #~ msgstr "Δεν μπορεί να τεθεί η ημερομηνία." # #, fuzzy #~ msgid "time %s is out of range" #~ msgstr "%s: αριθμός γραμμής έξω από τα όρια" # #, fuzzy #~ msgid "cannot get current directory" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot change to directory %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "cannot stat current directory (now %s)" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "file system type %s both selected and excluded" #~ msgstr "το σύστημα αρχείων `%s' είναι και επελεγμένο και αποκλειώμενο" #~ msgid "Warning: " #~ msgstr "Προειδοποίηση:" #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%sαδυναμία ανάγνωσης πίνακα προσαρτημένων συστήματος αρχείων" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Εμφάνιση εντολών για να τεθούν στη μεταβλητή περιβάλλοντος LS_COLORS.\n" #~ "\n" #~ "Επιλογή μορφής εξόδου:\n" #~ " -b, --sh, --bourne-shell εμφάνιση κώδικα Bourne shell για να τεθεί " #~ "στην LS_COLORS\n" #~ " -c, --csh, --c-shell εμφάνιση κώδικα C shell για να τεθεί στην " #~ "LS_COLORS\n" #~ " -p, --print-database εμφάνιση εξ ορισμού ρύθμισης\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Αν ορίζεται ΑΡΧΕΙΟ, αναγιγνώσκεται για να διευκρινιστεί ποια χρώματα να " #~ "χρησιμοποιηθούν για \n" #~ "κάθε είδος αρχείου και κατάληξης. Διαφορετικά, χρησιμοποιήται μια έτοιμη " #~ "βάση.\n" #~ "Για λεπτομέριες για τη μορφή των αρχείων αυτών, τρέξτε `dircolors --print-" #~ "database'.\n" # #, fuzzy #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s: μη έγκυρος αριθμός δευτερολέπτων" # #, fuzzy #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s: μη αναγνωρίσιμη επιλογή `%c%s'\n" # src/dircolors.c:372 #~ msgid "" #~ msgstr "<εσωτερικό>" #, fuzzy #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "Οι επιλογές για περιτολογία και 'stty-readable' τυποι εξόδου είναι\n" #~ "αποκλειστικά αμοιβαίες." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "δεν υπάρχει μεταβλητή περιβάλλοντος SHELL, και δεν δόθηκε είδος φλοιού" # #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #, fuzzy #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Εκτυπώνει το ΟΝΟΜΑ αφαιρώντας το ακολουθούμενο /στοιχείο. Εάν το όνομα " #~ "δεν\n" #~ "περιέχει `/' το σύμβολο `.' δηλώνει τον τρέχων κατάλογο\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]...\n" #~ " ή: %s --traditional [ΑΡΧΕΙΟ] [[+]ΘΕΣΗ [[+]ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ]]\n" # #~ msgid "total" #~ msgstr "σύνολο" # #, fuzzy #~ msgid "invalid maximum depth %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" #~ msgid "cannot both summarize and show all entries" #~ msgstr "" #~ "δεν είναι δυνατό να δειχτεί περίληψη και να εμφανιστούν όλες οι " #~ "καταχωρίσεις" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "προειδοποίηση: η περίληψη είναι όμοιο με --max-depth=0" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "προειδοποίηση: η περίληψη έρχεται σε αντίφαση με το --max-depth=%d" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" # #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "μη έγκυρη ομάδα" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "σθεναρός σύνδεσμος" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Τίθεται σε κάθε ΜΕΤΑΒΛΗΤΗ του περιβάλλοντος η ΤΙΜΗ εκτελείται η ΕΝΤΟΛΗ.\n" #~ "\n" #~ " -i, --ignore-environment Εκκίνηση με άδειο περιβάλλον\n" #~ " -u, --unset=VARIABLE Αφαιρείται η ΜΕΤΑΒΛΗΤΗ απο το περιβαλλον\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #~ "\n" #~ "Ενα απλό - υπονοείται -i. Εαν δεν υπάρχει ΕΝΤΟΛΗ, εκτυπώνεται το\n" #~ "περιβαλλον που δημιουργήθηκε.\n" # #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "το %s είναι πολύ μεγάλο" # #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "το μέγεθος στηλογνώμονα περιέχει μη έγκυρο χαρακτήρα" # #~ msgid "tab size cannot be 0" #~ msgstr "το μέγεθος στηλογνώμονα δε μπορεί να είναι 0" # #~ msgid "tab sizes must be ascending" #~ msgstr "τα μεγέθη του στηλογνώμονα πρέπει να είναι κατά αύξουσα σειρά" # #, fuzzy #~ msgid "input line is too long" #~ msgstr "το αρχείο μηδενίστηκε" # #, fuzzy #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Προσέχτε οτι πολλοί τελεστές(operators) χρειάζονται χαρακτήρες διαφυγής " #~ "ή\n" #~ "εισαγωγικά για τα κελύφη (shells).\n" #~ "Οι συγκρίσεις είναι αριθμητικές εάν και οι δυο ΠΑΡΑΜετροι είναι αριθμοί,\n" #~ "ή αλλιώς λεξικογραφικοί.\n" #~ "Το ταίριασμα με πρότυπο επιστρέφει την αλυσίδα που βρέθηκε μεταξύ\n" #~ "\\( και \\) ή κενό. Εαν \\( και \\) δεν χρησιμοποιήθηκαν, τοτε " #~ "επιστρέφει\n" #~ "τον αριθμό των χαρακτήρων που ταίριαξαν ή 0.\n" # #, fuzzy #~ msgid "syntax error" #~ msgstr "κανονικό σφάλμα" # #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "σφάλμα στην ανεύρεση μέσω κανονικής έκφρασης" # #, fuzzy #~ msgid "non-numeric argument" #~ msgstr "όριο ορίσματος" # #, fuzzy #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "Εκτυπώνει τους πρώτους παράγοντες κάθε ΑΡΙΘΜΟΥ.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #~ "\n" #~ "Εκτυπώνει τους πρώτους παράγοντες όλων των καθορισμένων ακέραιων " #~ "ΑΡΙΘΜΩΝ.\n" #~ "Εάν δεν έχουν δοθεί παράμετροι στην γραμμή εντολών, τοτε εισάγονται απο " #~ "την\n" #~ "τυπική είσοδο.\n" # #~ msgid "%s is too large" #~ msgstr "το %s είναι πολύ μεγάλο" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "%s' δεν είναι ισχύων θετικός ακέραιος." # #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Χρήση: %s [-ΨΗΦΙΑ] [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ "Μορφοποίηση ξανά κάθε παραγράφου στο ΑΡΧΕΙΟ(Α), γράφοντας στην κανονική " #~ "έξοδο.\n" #~ "Αν κανένα ΑΡΧΕΙΟ δεν έχει οριστεί ή το ΑΡΧΕΙΟ είναι το `-', ανάγνωση από " #~ "κανονική είσοδο.\n" #~ "\n" #~ "Υποχρεωτικά ορίσματα στις μακρές επιλογές είναι υποχρεωτικά για σύντομες " #~ "επιλογές επίσης.\n" #~ " -c, --crown-margin διατήρησε την εσοχή των δύο πρώτων γραμμών\n" #~ " -p, --prefix=ΑΛΦΑΡΙΘ συνδύασε μόνο γραμμές με ΑΛΦΑΡΙΘΜητικό ως " #~ "πρόθεμα\n" #~ " -s, --split-only χώρισε στα δύο τις μακρές γραμμές αλλά χωρίς " #~ "γέμισμα ξανά\n" #~ " -t, --tagged-paragraph η εσοχή της πρώτης γραμμής να είναι " #~ "διαφορετική από τη δεύτερη\n" #~ " -u, --uniform-spacing ένα διάστημα μεταξύ λέξεων, δύο μετά από " #~ "προτάσεις\n" #~ " -w, --width=ΑΡΙΘΜΟΣ μέγιστο πλάτος γραμμής (εξ ορισμού 75 " #~ "στήλες)\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Στο -wΑΡΙΘΜΟΣ, το γράμμα `w' μπορεί να παραληφθεί.\n" # #, fuzzy #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ "Μορφοποίηση ξανά κάθε παραγράφου στο ΑΡΧΕΙΟ(Α), γράφοντας στην κανονική " #~ "έξοδο.\n" #~ "Αν κανένα ΑΡΧΕΙΟ δεν έχει οριστεί ή το ΑΡΧΕΙΟ είναι το `-', ανάγνωση από " #~ "κανονική είσοδο.\n" #~ "\n" #~ "Υποχρεωτικά ορίσματα στις μακρές επιλογές είναι υποχρεωτικά για σύντομες " #~ "επιλογές επίσης.\n" #~ " -c, --crown-margin διατήρησε την εσοχή των δύο πρώτων γραμμών\n" #~ " -p, --prefix=ΑΛΦΑΡΙΘ συνδύασε μόνο γραμμές με ΑΛΦΑΡΙΘΜητικό ως " #~ "πρόθεμα\n" #~ " -s, --split-only χώρισε στα δύο τις μακρές γραμμές αλλά χωρίς " #~ "γέμισμα ξανά\n" #~ " -t, --tagged-paragraph η εσοχή της πρώτης γραμμής να είναι " #~ "διαφορετική από τη δεύτερη\n" #~ " -u, --uniform-spacing ένα διάστημα μεταξύ λέξεων, δύο μετά από " #~ "προτάσεις\n" #~ " -w, --width=ΑΡΙΘΜΟΣ μέγιστο πλάτος γραμμής (εξ ορισμού 75 " #~ "στήλες)\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Στο -wΑΡΙΘΜΟΣ, το γράμμα `w' μπορεί να παραληφθεί.\n" # #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "μη έγκυρος αριθμός από στήλες: `%s'" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" # #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΣΥΝΟΛΟ1 [ΣΥΝΟΛΟ2]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Δεν υπάρχει τέτοιος χρήστης." # #, fuzzy #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση των 10 πρώτων γραμμών από κάθε ΑΡΧΕΙΟ στην κανονική έξοδο.\n" #~ "Με περισσότερα από ένα ΑΡΧΕΙΟ, να προηγηθεί επισέλιδο με το όνομα του " #~ "αρχείου.\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -c, --bytes=ΜΕΓΕΘΟΣ εμφάνιση των πρώτων ΜΕΓΕΘΟΣ bytes\n" #~ " -n, --lines=ΑΡΙΘΜΟΣ εμφάνιση των πρώτων ΑΡΙΘΜΟΣ γραμμών αντί των " #~ "πρώτων 10\n" #~ " -q, --quiet, --silent να μην τυπώνονται επισέλιδα με τα ονόματα " #~ "αρχείων\n" #~ " -v, --verbose να τυπώνονται πάντα επισέλιδα με τα ονόματα " #~ "αρχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Το ΜΕΓΕΘΟΣ μπορεί να έχει κατάληξη με πολλαπλασιαστή: b για 512, k για " #~ "1K, m για 1 Meg.\n" #~ "Αν χρησιμοποιείται το -VALUE σαν πρώτη ΕΠΙΛΟΓΗ, ανάγνωσε -c ΤΙΜΗ όταν\n" #~ "ένας από τους πολλαπλασιαστές bkm ακολουθεί συνενωμένος, διαφορετικά " #~ "ανάγνωσε -n ΤΙΜΗ\n" # #~ msgid "error reading %s" #~ msgstr "σφάλμα ανάγνωσης %s" # #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "μη έγκυρος αριθμός από bytes προς σύγκριση: `%s'" # #, fuzzy #~ msgid "%s: cannot seek to offset %s" #~ msgstr "αδυναμία εκτέλεσης ioctl στο `%s'" # #, fuzzy #~ msgid "cannot reposition file pointer for %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: το %s είναι τόσο μεγάλο που δε μπορεί να αναπαρασταθεί" # #~ msgid "number of lines" #~ msgstr "αριθμός γραμμών" # #~ msgid "number of bytes" #~ msgstr "αριθμός από bytes" # #~ msgid "invalid number of lines" #~ msgstr "μη έγκυρος αριθμός από γραμμές" # #~ msgid "invalid number of bytes" #~ msgstr "μη έγκυρος αριθμός από bytes" # #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "%s: μη έγκυρη επιλογή -- %c\n" #, fuzzy #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Εκτυπώνει το όνομα του τρέχοντος χρήστη.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #, fuzzy #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Χρήση: %s [ΟΝΟΜΑ]\n" #~ " ή: %s ΕΠΙΛΟΓΗ\n" #~ "Εκτυπώνει το όνομα(hostname) του συστήματος.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "αδυναμία εκτέλεσης ioctl στο `%s'" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "Δεν μπορεί να τεθεί το όνομα συστήματος. Λείπει αυτή η λειτουργία απο το\n" #~ "σύστημα" #~ msgid "cannot determine hostname" #~ msgstr "Δεν μπορεί να καθοριστεί το όνομα του συστήματος" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Εκτύπωνει πληροφορίες που αφορούν ενα ΧΡΗΣΤΗ, ή τον τρέχοντα χρήστη.\n" #~ "\n" #~ " -a Αγνοείται, για συμβατοτητα με παλιότερες εκδόσεις\n" #~ " -g, --group Εκτυπώνει μόνο τις ταυτότητες ομάδων\n" #~ " -G, --groups Εκτυπώνει μόνο τις συμπληρωματικές ομάδες\n" #~ " -n, --name Εκτυπώνει όνομα αντί για αριθμό, για την -ugG\n" #~ " -r, --real Εκτυπώνει την πραγματική ταυτότητα (real id) αντί της\n" #~ " ισχύουσας ταυτότητας χρήστη (effective id), για την -" #~ "ugG\n" #~ " -u, --user Εκτυπώνει μόνο την πραγματική ταυτότητα\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #~ "\n" #~ "Χωρίς καμιά ΕΠΙΛΟΓΗ, εκτυπώνει μια χρήσιμη σειρά πληροφοριών.\n" #, fuzzy #~ msgid "can't get process context" #~ msgstr "Δεν είναι δυνατόν να βρεθεί ο τύπος του επεξεργαστή." # #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "" #~ "δεν είναι δυνατό να γίνει διαχωρισμός σε περισσότερους από ένα τρόπο" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "Δεν μπορεί να εκτυπωθούν μόνο ονόματα ή πραγματική ταυτότητα(read ID) σε\n" #~ "τυπική μορφή" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "%s: δεν μπορει να βρεθεί όνομα χρήστη για το 'UID' %u\n" #~ msgid " groups=" #~ msgstr " ομάδες=" # #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "" #~ "Η αλυσίδα μορφής δεν πρέπει να καθορίζεται όταν εκτυπώνονται\n" #~ "αλυσίδες με ίσα μήκη." #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "" #~ "Η αλυσίδα μορφής δεν πρέπει να καθορίζεται όταν εκτυπώνονται\n" #~ "αλυσίδες με ίσα μήκη." # #, fuzzy #~ msgid "invalid mode %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "cannot set time stamps for %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "fork system call failed" #~ msgstr "ειδικό αρχείο μπλοκ" #, fuzzy #~ msgid "cannot run strip" #~ msgstr "Δεν είναι δυνατόν να εκτελεστεί το %s" # #, fuzzy #~ msgid "waiting for strip" #~ msgstr "σφάλμα εγγραφής %s" # #, fuzzy #~ msgid "invalid user %s" #~ msgstr "μη έγκυρος χρήστης" # #, fuzzy #~ msgid "invalid group %s" #~ msgstr "μη έγκυρη ομάδα" # #, fuzzy #~ msgid "creating directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΑΥΞΗΣΗ ΤΕΛΕΥΤΑΙΟΣ\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Η κατάληξη των αντιγράφων ασφαλείας είναι το `~', εκτός αν τεθεί με το\n" #~ "--suffix ή το SIMPLE_BACKUP_SUFFIX.\n" #~ "Ο έλεγχος έκδοσης μπορεί να τεθεί με την επιλογή --backup ή μέσω της\n" #~ "μεταβλητής περιβάλλοντος VERSION_CONTROL. Οι δυνατές τιμές είναι:\n" #~ "\n" #~ " none,off να μη δημιουργούνται αντίγραδα ασφαλείας (ακόμα και\n" #~ " αν δίνεται --backup)\n" #~ " numbered, t δημιουργία αριθμημένων αντιγράφων ασφαλείας\n" #~ " existing, nil αριθμημένων, αν υπάρχουν αριθμημένα αντίγραφα, " #~ "διαφορετικά\n" #~ " απλά αντίγραφα\n" #~ " simple, never πάντα δημιουργία απλών αντιγράφων\n" # #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ "Σύγκριση ταξινομημένων αρχείων ΑΡΙΣΤΕΡΌ_ΑΡΧΕΊΟ και ΔΕΞΙΌ_ΑΡΧΕΊΟ, ανά " #~ "γραμμή.\n" #~ "\n" #~ " -1 απόκρυψη μοναδικών γραμμών στο αριστερό αρχείο\n" #~ " -2 απόκρυψη μοναδικών γραμμών στο δεξιό αρχείο\n" #~ " -3 απόκρυψη μοναδικών γραμμών και στα δύο αρχεία\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "μη έγκυρος δηλωτής πεδίου: `%s'" # #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση πεδίου: `%s'" # #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "μη έγκυρη τάξη χαρακτήρων `%s'" # #~ msgid "both files cannot be standard input" #~ msgstr "και τα δύο αρχεία δε μπορεί να είναι η κανονική είσοδος" #, fuzzy #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ "Αντιγράφει την τυπική είσοδο σε κάθε ΑΡΧΕΙΟ, και στην τυπική έξοδο.\n" #~ "\n" #~ " -a, --append Προσθέτει στο ΑΡΧΕΙΟ(α), χωρίς να γράφει\n" #~ " πάνω απο τα υπάρχοντα\n" #~ " -i, --ignore-interrupts Αγνοεί σήματα διακοπής\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #, fuzzy #~ msgid "%s: invalid signal" #~ msgstr "%s: μη έγκυρος περιγραφέας διεργασίας (PID)" # #, fuzzy #~ msgid "%s: invalid process id" #~ msgstr "%s: μη έγκυρη μορφή" # #, fuzzy #~ msgid "invalid option -- %c" #~ msgstr "%s: μη έγκυρη επιλογή -- %c\n" #, fuzzy #~ msgid "%s: multiple signals specified" #~ msgstr "\\%c: Μη έγκυρη διαφυγή." # #, fuzzy #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "cannot create link %s to %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: προειδοποίηση: η δημιουργία σθεναρού συνδέσμου σε συμβολικό,\n" #~ "δεν είναι μεταφερτή" #, fuzzy #~ msgid "%s: hard link not allowed for directory" #~ msgstr "Το `%s' δεν είναι κατάλογος." # #, fuzzy #~ msgid "%s: cannot overwrite directory" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "%s: replace %s? " #~ msgstr "%s: αντικατάσταση του `%s'; " #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "δημιουργία συμβολικού συνδέσμου `%s' στο `%s'" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "δημιουργία συμβολικού συνδέσμου `%s' στο `%s'" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "δημιουργία σθεναρού συνδέσμου `%s' στο `%s'" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "δημιουργία σθεναρού συνδέσμου `%s' στο `%s'" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "δημιουργία σθεναρού συνδέσμου `%s' στο `%s'" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΠΗΓΗ ΠΡΟΟΡΙΣΜΟΣ (1η μορφή)\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΗΓΗ... ΚΑΤΑΛΟΓΟΣ (2η μορφή)\n" #~ " ή: %s -d [ΕΠΙΛΟΓΗ]... ΚΑΤΑΛΟΓΟΣ... (3η μορφή)\n" # #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "το `%s' υπάρχει ήδη άλλα δεν είναι κατάλογος" # #, fuzzy #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "no login name" #~ msgstr "%s: μη έγκυρος αριθμός" # #, fuzzy #~ msgid "%b %e %Y" #~ msgstr "%b %e %H:%M %Y" # #, fuzzy #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M %Y" #, fuzzy #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "αγνοείται μη έγκυρο πλάτος στη μεταβλητή περιβάλλοντος COLUMNS: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "αγνοείται μη έγκυρο πλάτος στη μεταβλητή περιβάλλοντος COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "αγνοείται μη έγκυρο μέγεθος οριζόντιου στηλοθέτη στη μεταβλητή " #~ "περιβάλλοντος TABSIZE: %s" # #, fuzzy #~ msgid "invalid line width: %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "invalid tab size: %s" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "invalid time style format %s" #~ msgstr "μη έγκυρο όρισμα %s για %s" # #, fuzzy #~ msgid "unrecognized prefix: %s" #~ msgstr "απαράδεκτη επιλογή `-%c'" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "" #~ "τιμή που δε μπορεί να αναγνωριστεί στη μεταβλητή περιβάλλοντος LS_COLORS" # #, fuzzy #~ msgid "cannot open directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot determine device and inode of %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "closing directory %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" #, fuzzy #~ msgid "cannot compare file names %s and %s" #~ msgstr "δεν είναι δυνατό να δημιουργηθεί το %s `%s' στο `%s'" #, fuzzy #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -g (αγνοείται)\n" #~ " -G, --no-group να μην εμφανίζονται πληροφορίες ομάδας\n" #~ " -h, --human-readable εμφάνιση μεγεθών σε ανθρωπίνως αναγνώσιμη\n" #~ " μορφή (π.χ. 1Κ 234M 2G)\n" #~ " -H, --si όπως παραπάνω, αλλά με δυνάμεις του 1000 " #~ "αντί\n" #~ " του 1024\n" #~ " --indicator-style=ΛΕΚΤΙΚΟ προσθήκη δείκτη ΛΕΚΤΙΚΟ στις " #~ "καταχωρίσεις\n" #~ " ονομάτων:\n" #~ " none (εξ ορισμού), classify (-F), file-" #~ "type\n" #~ " (-p)\n" #~ " -i, --inode εμφάνιση δείκτη κάθε αρχείου\n" #~ " -I, --ignore=PATTERN να μην εμφανίζονται αναφερόμενες " #~ "καταχωρίσεις \n" #~ " που ταιρίαζουν στο PATTERN του φλοιού\n" #~ " -k, --kilobytes όπως --block-size=1024\n" #~ " -l χρήση μακροσκελούς είδους εμφάνισης\n" #~ " -L, --dereference εμφάνιση καταχωρίσεων που δείχνουν οι\n" #~ " συμβολικοί σύνδεσμοι\n" #~ " -m συμπλήρωση του πλάτους με λίστα από\n" #~ " καταχωρίσεις διαχωριζόμενων με κόμμα\n" #~ " -n, --numeric-uid-gid εμφάνιση αριθμητικών UID και GID αντί για\n" #~ " ονόματα\n" #~ " -N, --literal εμφάνιση ακατέργαστων καταχωρίσεων (π.χ. να " #~ "μην\n" #~ " τυγχάνουν\n" #~ " ειδικής επεξεργασίας οι χαρακτήρες " #~ "ελέγχου)\n" #~ " -o χρήση μακροσκελούς εμφάνισης χωρίς " #~ "πληροφορίες\n" #~ " ομάδας\n" #~ " -p, --file-type προσθήκη ενδείξης (ένα από /=@|) στις\n" #~ " καταχωρίσεις\n" #~ " -q, --hide-control-chars εμφάνιση του ? αντί των μη-εκτυπώσιμων\n" #~ " χαρακτήρων\n" #~ " --show-control-chars εμφάνιση μη εκτυπώσιμων χαρακτήρων όπως " #~ "είναι\n" #~ " (εξ ορισμού εκτός αν το πρόγραμμα είναι " #~ "το\n" #~ " ls και η έξοδος είναι το τερματικό)\n" #~ " -Q, --quote-name εμφάνιση καταχωρίσεων μέσα σε διπλά " #~ "εισαγωγικά\n" #~ " --quoting-style=ΛΕΚΤΙΚΟ χρήση μορφής ΛΕΚΤΙΚΟ στην εμφάνιση " #~ "ονομάτων\n" #~ " καταχωρίσεων:\n" #~ " literal, shell, shell-always, c, escape\n" #~ " -r, --reverse αντίστροφη σειρά στην ταξινόμηση\n" #~ " -R, --recursive εμφάνιση υποκαταλόγων αναδρομικά\n" #~ " -s, --size εμφάνιση μεγέθους κάθε αρχείου, σε μπλοκ\n" # #, fuzzy #~ msgid "David Madore" #~ msgstr "Πωλ Ρούμπιν και Ντέιβιντ Μακένζη" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]\n" #~ "Εγγραφή πλήρους ταξινομημένης λίστας σε συμφωνία με τη μερική ταξινόμηση\n" #~ "στο ΑΡΧΕΙΟ. Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την\n" #~ "κανονική είσοδο.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary χρήση δυαδικών γραψιμάτων στη συσκευή της " #~ "κονσόλας.\n" #~ "\n" # #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "" #~ "%s: δε βρέθηκαν κανονικά μορφοποιημένες γραμμές αθροισμάτων ελέγχου MD5" # #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %lu: εσφαλμένα μορφοποιημένη γραμμή αθροίσματος ελέγχου MD5" # #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: ΑΝΕΠΙΤΥΧΕΣ άνοιγμα ή ανάγνωση\n" # #~ msgid "OK" #~ msgstr "ΕΝΤΑΞΕΙ" # #~ msgid "%s: read error" #~ msgstr "%s: σφάλμα ανάγνωσης" # #, fuzzy #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "" #~ "%s: δε βρέθηκαν κανονικά μορφοποιημένες γραμμές αθροισμάτων ελέγχου MD5" # #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: %d από %d αναφερόμενα %s δεν ήταν δυνατό να αναγνωστούν" #~ msgstr[1] "" #~ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: %d από %d αναφερόμενα %s δεν ήταν δυνατό να αναγνωστούν" # #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: %d από %d υπολόγισαν σε %s ΔΕΝ ταίριαξαν" #~ msgstr[1] "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: %d από %d υπολόγισαν σε %s ΔΕΝ ταίριαξαν" # #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "οι επιλογές --binary και --text δεν έχουν σημασία όταν επιβεβαιώνονται " #~ "αθροίσματα ελέγχου" # #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "" #~ "η επιλογή --status έχει έννοια μόνο στην επιβεβαίωση αθροισμάτων ελέγχου" # #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "" #~ "η επιλογή --warn έχει έννοια μόνο στην επιβεβαίωση αθροισμάτων ελέγχου" # #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ "Δημιουργία ΚΑΤΑΛΟΓΟΥ(ΩΝ), αν δεν υπάρχουν ήδη.\n" #~ "\n" #~ " -m, --mode=ΔΙΚΑΙΩΜΑΤΑ ορισμός δικαιωμάτων (όπως στη chmod), και όχι " #~ "rwxrwxrwx - umask\n" #~ " -p, --parents χωρίς σφάλμα όταν ο κατάλογος υπάρχει, δημιουργία " #~ "γονικών καταλόγων\n" #~ " όπου χρειάζεται\n" #~ " -v, --verbose εμφάνιση μηνύματος για κάθε κατάλογο που " #~ "δημιουργείται\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "created directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ "Δημιουργία επώνυμων σωληνώσεων (FIFOs) με το δοθέν ΟΝΟΜΑ(ΤΑ).\n" #~ "\n" #~ " -m, --mode=ΔΙΚΑΙΩΜΑ ορισμός δικαιωμάτων (όπως στη chmod), όχι a=rw - " #~ "umask\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "invalid mode" #~ msgstr "μη έγκυρος αριθμός" # #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΣΥΝΟΛΟ1 [ΣΥΝΟΛΟ2]\n" #, fuzzy #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "Δημιουργία ειδικού αρχείου ΟΝΟΜΑ του δοθέντος ΕΙΔΟΥΣ.\n" #~ "\n" #~ " -m, --mode=ΔΙΚΑΙΩΜΑ ορισμός δικαιωμάτων (όπως στη chmod), όχι a=rw - " #~ "umask\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "MAJOR MINOR δεν επιτρέπονται για ΕΙΔΟΣ p, διαφορετικά είναι υποχρεωτικά.\n" #~ "Το ΕΙΔΟΣ μπορεί να είναι: \n" #~ "\n" #~ " b δημιουργία ειδικού μπλοκ (με ενταμίευση) αρχείου\n" #~ " c, u δημιουργία ειδικού αρχείου χαρακτήρων (χωρίς ενταμίευση)\n" #~ " p δημιουργία αρχείου FIFO\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "όταν δημιουργούνται ειδικά αρχεία μπλοκ, οι major και minor\n" #~ "αριθμοί συσκευής πρέπει να ορίζονται" # #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "μη έγκυρος αρχικός αριθμός γραμμής: `%s'" # #, fuzzy #~ msgid "block special files not supported" #~ msgstr "ειδικό αρχείο μπλοκ" # #, fuzzy #~ msgid "character special files not supported" #~ msgstr "ειδικό αρχείο χαρακτήρων" # #, fuzzy #~ msgid "invalid major device number %s" #~ msgstr "μη έγκυρος αρχικός αριθμός γραμμής: `%s'" # #, fuzzy #~ msgid "invalid minor device number %s" #~ msgstr "μη έγκυρος αρχικός αριθμός γραμμής: `%s'" # #, fuzzy #~ msgid "invalid device %s %s" #~ msgstr "μη έγκυρο όρισμα %s για %s" # #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "μη έγκυρο όρισμα %s για %s" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "too many templates" #~ msgstr "πάρα πολλά ορίσματα" # #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "διατήρηση ωρών στο %s" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "Μετονομασία της ΠΗΓΗΣ σε ΠΡΟΟΡΙΣΜΟ ή μετακίνηση ΠΗΓΗΣ(ΩΝ) στο ΚΑΤΑΛΟΓΟ.\n" #~ "\n" #~ " --backup=[ΕΛΕΓΧΟΣ] δημιουργία αντιγράφου ασφαλείας για κάθε " #~ "αρχείο\n" #~ " προορισμού\n" #~ " -b όπως το --backup αλλά δεν απαιτεί " #~ "παράμετρο\n" #~ " -f, --force διαγραφή υπαρχόντων καταλόγων, χωρίς\n" #~ " επιβεβαίωση\n" #~ " -i, --interactive επιβεβαίωση πριν τη διαγραφή\n" #~ " --strip-trailing-slashes αφαίρεση χαρακτήρων καθέτων στο τέλος\n" #~ " γραμμής από κάθε ΠΗΓΗ\n" #~ " -S, --suffix=ΚΑΤΑΛΗΞΗ παράκαμψη της συνήθης κατάληξης " #~ "αντιγράφων\n" #~ " ασφαλείας\n" #~ " --target-directory=ΚΑΤΑΛΟΓΟΣ μετακίνηση όλων των ορισμάτων ΠΗΓΗΣ\n" #~ " στον ΚΑΤΑΛΟΓΟ\n" #~ " -u, --update μεταφορά μόνο των παλαιότερων ή " #~ "εξολοκλήρου\n" #~ " νέων αρχείων\n" #~ " -v, --verbose εξήγηση του τι συμβαίνει\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" # #, fuzzy #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "μη έγκυρο όρισμα %s για %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "Μια εντολή πρέπει να δίνεται με μια προσαρμογή (προτεραιότητας)." # #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "Δεν μπορεί να τεθεί η ημερομηνία." # #, fuzzy #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ "Εγγραφή κάθε αρχείου στην κανονική έξοδο, τελευταία γραμμή πρώτα.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -b, --before τοποθέτηση του διαχωριστή πριν αντί για μετά\n" #~ " -r, --regex μετάφραση του διαχωριστή ως κανονική έκφραση\n" #~ " -s, --separator=ΑΛΦΑΡΙΘΜ χρήση ΑΛΦΑΡΙΘΜητικού ως διαχωριστής αντί του " #~ "χαρακτήρα νέας γραμμής\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "line number overflow" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "μη έγκυρος αριθμός" # #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "μη έγκυρος αριθμός αρχείου στη δήλωση πεδίου: `%s'" # #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "μη έγκυρος αρχικός αριθμός γραμμής: `%s'" # #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "μη έγκυρη αύξηση στον αριθμό εντολής: `%s'" # #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "μη έγκυρος αριθμός από κενές γραμμές: `%s'" # #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "μη έγκυρος μήκος πεδίου αριθμού γραμμής: `%s'" # #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "μη έγκυρη αύξηση στον αριθμό εντολής: `%s'" # #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "ignoring input" #~ msgstr "πάρα πολλά ορίσματα" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "διατήρηση ωρών στο %s" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ]...\n" #~ " ή: %s --traditional [ΑΡΧΕΙΟ] [[+]ΘΕΣΗ [[+]ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ]]\n" # #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "μη έγκυρο είδος αλφαριθμητικού `%s';\n" #~ "αυτό το σύστημα δεν παρέχει τον εσωτερικό τύπο δεδομένων %lu-byte" # #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "μη έγκυρο είδος αλφαριθμητικού `%s';\n" #~ "αυτό το σύστημα δεν παρέχει τον εσωτερικό τύπο δεδομένων κινητής " #~ "υποδιαστολής %lu-byte" # #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'" # #~ msgid "cannot skip past end of combined input" #~ msgstr "αδυναμία προσπέρασης μετά το τέλος της συνδυασμένης εισόδου" # #~ msgid "no type may be specified when dumping strings" #~ msgstr "κανένα είδος δε μπορεί να δηλωθεί όταν τυπώνονται αλφαριθμητικά" # #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "η κατάσταση συμβατότητας υποστηρίζει το πολύ τρία ορίσματα" # #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" πλάτος=%d\n" # #~ msgid "standard input is closed" #~ msgstr "η κανονική είσοδος είναι κλεισμένη" # #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "μη έγκυρος χαρακτήρας `%c' στο τύπο αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "empty file name" #~ msgstr "κανονικό κενό αρχείο" # #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Σκοτ Μπάρτραμ και Ντέιβιντ Μακένζη" #, fuzzy #~ msgid "Login name: " #~ msgstr "%s: Δεν υπάρχει όνομα χρήστη (login name).\n" # #, fuzzy #~ msgid "Directory: " #~ msgstr "κατάλογος" #, fuzzy #~ msgid "Name" #~ msgstr "πμ" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "δε μπορούν να δηλώνονται αρχεία όταν γίνεται χρήση του --string" # #, fuzzy #~ msgid "Roland Huebner" #~ msgstr "Πιτ ΤερΜάτ και Ρόλαντ Χέμπνερ" # #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=ΠΡΩΤΗ_ΣΕΛΙΔΑ[:ΤΕΛΕΥΤΑΙΑ_ΣΕΛΙΔΑ]' απουσία ορίσματος" # #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l ΜΗΚΟΣ_ΣΕΛΙΔΑΣ' μη έγκυρος αριθμός γραμμών: `%s'" # #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N ΑΡΙΘΜΟΣ' μη έγκυρος αριθμός αρχικής σελίδας: `%s'" # #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o ΠΕΡΙΘΩΡΙΟ' μη έγκυρη θέση γραμμής: `%s'" # #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ' μη έγκυρος αριθμός χαρακτήρων : `%s'" # #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ' μη έγκυρος αριθμός χαρακτήρων : `%s'" # #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Δεν είναι δυνατό να δηλωθεί αριθμός στηλών στην παράλληλη εκτύπωση." # #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Δεν είναι δυνατό να δηλωθεί σειριακή και παράλληλη εκτύπωση." # #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c' επιπλέον χαρακτήρες ή μη έγκυρος αριθμός στο όρισμα: `%s'" # #~ msgid "page width too narrow" #~ msgstr "το πλάτος σελίδας είναι πολύ στενό" # #, fuzzy #~ msgid "Page number overflow" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ "Σύγκριση ταξινομημένων αρχείων ΑΡΙΣΤΕΡΌ_ΑΡΧΕΊΟ και ΔΕΞΙΌ_ΑΡΧΕΊΟ, ανά " #~ "γραμμή.\n" #~ "\n" #~ " -1 απόκρυψη μοναδικών γραμμών στο αριστερό αρχείο\n" #~ " -2 απόκρυψη μοναδικών γραμμών στο δεξιό αρχείο\n" #~ " -3 απόκρυψη μοναδικών γραμμών και στα δύο αρχεία\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "Μετατροπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γράφοντας στην " #~ "κανονική έξοδο.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -a, --all μετατροπή όλων των λευκών χαρακτήρων, αντί μόνο των " #~ "αρχικών\n" #~ " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χρήση λίστας χωρισμένης με κόμμα για τη δήλωση της " #~ "θέσης των στηλοθετών\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μπορούν να " #~ "χρησιμοποιηθούν.\n" #, fuzzy #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Εάν καμιά ΜΕΤΑΒΛΗΤΗ του περιβάλοντος δεν καθοριστεί, τις εκτυπώνει όλες.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "ΠΡΟΣΟΧΗ: %s: οι χαρακτήρες που ακολουθούσαν τον χαρακτήρα σταθερά " #~ "αγνοήθηκαν." # #, fuzzy #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: αναμενόταν αριθμητική τιμή." #~ msgid "%s: value not completely converted" #~ msgstr "%s: η τιμή δεν έχει πλήρως μετατραπεί." #~ msgid "missing hexadecimal number in escape" #~ msgstr "Λείπει ο δεκαεξαδικός αριθμός στον χαρακτήρα διαφυγής." # #, fuzzy #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "μη έγκυρη τάξη χαρακτήρων `%s'" # #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "μη έγκυρη δήλωση πεδίου `%s'" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "ΠΡΟΣΟΧΗ: οι υπερβολικές παράμετροι αγνοήθηκαν." # #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (για κανονική έκφραση `%s')" # #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ]... (χωρίς -G)\n" #~ " ή: %s -G [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "αποτυχία αλλαγής της ομάδας από %s σε %s\n" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "διατήρηση ωρών στο %s" # #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "πάρα πολλά ορίσματα που δεν έχουν επιλογές" # #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Κυκλική δομή καταλόγου.\n" #~ "Αυτό σχεδόν σίγουρα σημαίνει ότι έχετε ένα κατεστραμμένο σύστημα " #~ "αρχείων.\n" #~ "ΓΝΩΣΤΟΠΟΙΗΣΤΕ ΤΟ ΣΤΟ ΔΙΑΧΕΙΡΙΣΤΗ ΣΥΣΤΗΜΑΤΟΣ.\n" #~ "Οι παρακάτω δύο κατάλογοι έχουν την ίδια τιμή i-κόμβου:\n" # #, fuzzy #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "%s: descend into directory %s? " #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" #, fuzzy #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: διαγραφή προστατευμένου από εγγραφή καταλόγου `%s'; " #, fuzzy #~ msgid "%s: remove %s %s? " #~ msgstr "%s: διαγραφή του `%s'; " # #, fuzzy #~ msgid "removed directory: %s\n" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "cannot remove directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: διαγραφή του `%s'; " # #, fuzzy #~ msgid "removing directory, %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ "Διαγραφή ΚΑΤΑΛΟΓΟΥ(ΩΝ), αν είναι άδειος(οι).\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " αγνόησε κάθε μεμονωμένη αποτυχία όταν ο κατάλογος\n" #~ " δεν είναι άδειος\n" #~ " -p, --parents διαγραφή ΚΑΤΑΛΟΓΩΝ, έπειτα προσπάθεια διαγραφής κάθε\n" #~ " καταλόγου της διαδρομής. Π.χ., `rmdir -p a/b/c' \n" #~ " είναι παρόμοιο με `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose εμφάνιση διαγνωστικού για κάθε κατάλογο που " #~ "επεξεργάζεται\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" #, fuzzy #~ msgid "multiple types" #~ msgstr "είδος ώρας" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "διατήρηση ωρών στο %s" # #, fuzzy #~ msgid "no command specified" #~ msgstr "μόνο ένα όρισμα μπορεί να δηλωθεί" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "διατήρηση ωρών στο %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "διατήρηση ωρών στο %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "διατήρηση ωρών στο %s" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "διατήρηση ωρών στο %s" # #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ]... (χωρίς -G)\n" #~ " ή: %s -G [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "Εκτυπώνει τους αριθμούς απο τον ΠΡΩΤΟ μέχρι τον ΤΕΛΕΥΤΑΙΟ,\n" #~ "αυξάνοντας κατα ΑΥΞΗΣΗ.\n" #~ "\n" #~ " -f, --format ΔΙΑΜΟΡΦΩΣΗ χρησιμοποιεί τη ΔΙΑΜΟΡΦΩΣΗ της printf(3)\n" #~ " (εξ'ορισμού: %%g)\n" #~ " -s, --separator ΑΛΥΣΙΔΑ\n" #~ " χρησιμοποιεί την ΑΛΥΣΙΔΑ για να χωρίσει τους \n" #~ " αριθμούς (εξ'ορισμού: \\n)\n" #~ " -w, --equal-width εξισώνει το μήκος προσθέτοντας μηδενικά\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #~ "\n" #~ "Εάν ΠΡΩΤΟΣ ή ΑΥΞΗΣΗ παραλειφθουν, θεωρούνται 1 εξ'ορισμού.\n" #~ "ΠΡΩΤΟΣ, ΑΥΞΗΣΗ, ΤΕΛΕΥΤΑΙΟΣ επεξεργάζονται σαν τιμές κινητής " #~ "υποδιαστολής.\n" #~ "Η ΑΥΞΗΣΗ πρέπει να είναι θετική εαν ο\n" #~ "ΠΡΩΤΟΣ είναι μικρότερος απο τον ΤΕΛΕΥΤΑΙΟ και αρνητικός στην άλλη " #~ "περίπτωση.\n" #~ "Οταν δίνεται, η παράμετρος ΔΙΑΜΟΡΦΩΣΗ πρέπει να περιέχει ακριβώς μία από\n" #~ "τις διαμορφώσεις της printf για κινητής υποδιαστολής αριθμό %%e, %%f, or %" #~ "%g.\n" # #, fuzzy #~ msgid "invalid floating point argument: %s" #~ msgstr "μη έγκυρος αρχικός αριθμός γραμμής: `%s'" # #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "πάρα πολλές δηλώσεις μετατροπής στην κατάληξη" # #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "κανένα είδος δε μπορεί να δηλωθεί όταν τυπώνονται αλφαριθμητικά" # #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "Δεν μπορεί να παρθεί ο συμπληρωματικός κατάλογος ομάδων." # #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" # #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" # #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "%s: cannot rewind" #~ msgstr "Δεν είναι δυνατόν να εκτελεστεί το %s" # src/shred.c:1067 #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: πέρασμα %lu/%lu (%s)..." # #, fuzzy #~ msgid "%s: error writing at offset %s" #~ msgstr "σφάλμα εγγραφής %s" # #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "σφάλμα κλεισίματος αρχείου" # #, fuzzy #~ msgid "%s: file too large" #~ msgstr "το αρχείο μηδενίστηκε" # src/shred.c:1154 #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: πέρασμα %lu/%lu (%s)...%s" # src/shred.c:1149 #, fuzzy #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: πέρασμα %lu/%lu (%s)...%s/%s" # #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "αποτυχία εγγραφής" # #, fuzzy #~ msgid "%s: invalid file type" #~ msgstr "%s: μη έγκυρος αριθμός γραμμών" # src/shred.c:1424 #~ msgid "%s: file has negative size" #~ msgstr "%s: το αρχείο έχει αρνητικό μέγεθος" # #, fuzzy #~ msgid "%s: error truncating" #~ msgstr "το αρχείο μηδενίστηκε" # #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "αποτυχία εγγραφής" # src/shred.c:1483 #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: αδυναμία διάλυσης μόνο-προσθήκη περιγραφέα αρχείου" #~ msgid "%s: removing" #~ msgstr "%s: διαγράφεται" # #, fuzzy #~ msgid "%s: renamed to %s" #~ msgstr "%s: σφάλμα ανάγνωσης" # #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "το αρχείο μηδενίστηκε" #~ msgid "%s: removed" #~ msgstr "%s: διεγράφει" # #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "το αρχείο μηδενίστηκε" # #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "το αρχείο μηδενίστηκε" # #, fuzzy #~ msgid "%s: invalid number of passes" #~ msgstr "%s: μη έγκυρος αριθμός δευτερολέπτων" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "\\%c: Μη έγκυρη διαφυγή." # #, fuzzy #~ msgid "%s: invalid file size" #~ msgstr "%s: μη έγκυρος αριθμός γραμμών" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ]... (χωρίς -G)\n" #~ " ή: %s -G [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "\\%c: Μη έγκυρη διαφυγή." # #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "μη έγκυρος αριθμός" # #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "\\%c: Μη έγκυρη διαφυγή." #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Παύση για έναν ΑΡΙΘΜΟ δευτερολέπτων.\n" #~ "Το ΕΠΙΘΗΜΑ μπορεί να είναι: s για δευτερόλεπτα, m για λεπτά, h για ώρες\n" #~ "ή d για μέρες.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "ΘΕΣΗ είναι F[.C][OPTS], όπου F είναι ο αριθμός πεδίου και C η θέση του\n" #~ "χαρακτήρα στο πεδίο, και τα δύο μετρημένα από το ένα με -k ή από το " #~ "μηδέν\n" #~ "με την εκτός χρήσης μορφή. Το OPTS απαρτίζεται από ένα ή περισσότερα " #~ "από\n" #~ "τα Mbdfinr· αυτό ουσιαστικά απενεργοποιεί τις καθολικές ρυθμίσεις -" #~ "Mbdfinr\n" #~ "για το κλειδί αυτό. Αν δεν ορίζεται κλειδί, να γίνει χρήση ολόκληρης της\n" #~ "γραμμής για κλειδί. Χωρίς ΑΡΧΕΙΟ, ή όταν το ARXEIO είναι το -, ανάγνωση\n" #~ "από την κανονική είσοδο.\n" # #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "σφάλμα εγγραφής %s" # #, fuzzy #~ msgid "cannot create temporary file" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #~ msgid "open failed" #~ msgstr "αποτυχία ανοίγματος" # #, fuzzy #~ msgid "fflush failed" #~ msgstr "ολοκλήρωση αρχείου" # #, fuzzy #~ msgid "close failed" #~ msgstr "σφάλμα κλεισίματος αρχείου" # #, fuzzy #~ msgid "dup2 failed" #~ msgstr "αποτυχία ανοίγματος" # #, fuzzy #~ msgid "couldn't execute %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "couldn't execute %s -d" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #~ msgid "write failed" #~ msgstr "αποτυχία εγγραφής" # #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #~ msgid "read failed" #~ msgstr "αποτυχία ανάγνωσης" # #, fuzzy #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%d: όχι σε σειρά: " # #~ msgid "standard error" #~ msgstr "κανονικό σφάλμα" # #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "μη έγκυρη δήλωση πεδίου `%s'" # #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "μη έγκυρο όρισμα %s για `%s'" # #, fuzzy #~ msgid "invalid number after `-'" #~ msgstr "μη έγκυρος αριθμός από bytes" # #, fuzzy #~ msgid "invalid number after `.'" #~ msgstr "μη έγκυρος αριθμός από bytes" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "\\%c: Μη έγκυρη διαφυγή." # #, fuzzy #~ msgid "invalid number at field start" #~ msgstr "μη έγκυρος αριθμός από γραμμές" # #, fuzzy #~ msgid "field number is zero" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "invalid number after `,'" #~ msgstr "μη έγκυρος αριθμός από bytes" # #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΕΙΣΟΔΟΣ [ΠΡΟΘΕΜΑ]]\n" # #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ "Έξοδος τμημάτων σταθερού μεγέθους από την ΕΙΣΟΔΟ σε ΠΡΟΘΕΜΑaa, " #~ "ΠΡΟΘΕΜΑab, ...; εξ ορισμού\n" #~ "ΠΡΟΘΕΜΑ είναι το `x'. Χωρίς ΕΙΣΟΔΟ, ή όταν η ΕΙΣΟΔΟΣ είναι το -, " #~ "ανάγνωση από την κανονική είσοδο.\n" #~ "\n" #~ " -b, --bytes=ΜΕΓΕΘΟΣ τοποθέτηση ΜΕΓΕΘΟΣ bytes σε κάθε αρχείο εξόδου\n" #~ " -C, --line-bytes=ΜΕΓΕΘΟΣ τοποθέτηση το πολύ ΜΕΓΕΘΟΣ bytes από γραμμές " #~ "σε κάθε αρχείο εξόδου\n" #~ " -l, --lines=ΑΡΙΘΜΟΣ τοποθέτηση ΑΡΙΘΜΟΣ γραμμών σε κάθε αρχείου " #~ "εξόδου\n" #~ " -ΑΡΙΘΜΟΣ ίδιο με -l ΑΡΙΘΜΟΣ\n" #~ " --verbose εκτύπωση διαγνωστικού στο κανονικό σφάλμα μόλις " #~ "πριν\n" #~ " ανοιχτεί κάθε αρχείο εξόδου\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "ΜΕΓΕΘΟΣ μπορεί να έχει πρόθεμα πολλαπλασιαστή: b για 512, k για 1K, m για " #~ "1 Meg.\n" # #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "δημιουργία αρχείου `%s'\n" # #~ msgid "cannot split in more than one way" #~ msgstr "" #~ "δεν είναι δυνατό να γίνει διαχωρισμός σε περισσότερους από ένα τρόπο" # #, fuzzy #~ msgid "%s: invalid suffix length" #~ msgstr "%s: μη έγκυρος αριθμός γραμμών" # #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: μη έγκυρος αριθμός από bytes" # #~ msgid "%s: invalid number of lines" #~ msgstr "%s: μη έγκυρος αριθμός γραμμών" # #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "μη έγκυρος αριθμός από γραμμές" # #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: μη αναγνωρίσιμη επιλογή `-%c'\n" # #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s: μη έγκυρη μορφή" # #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "μη έγκυρη διαφυγή με πισωκάθετο στο τέλος του αλφαριθμητικού" # #, fuzzy #~ msgid "cannot read file system information for %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Εκτυπώνει ή αλλάζει τα χαρακτηριστικά του τερματικού.\n" #~ "\n" #~ " -a, --all εκτυπώνει όλα τα χαρακτηριστικά σε αναγνώσιμη μορφή\n" #~ " -g, --save εκτυπώνει όλα τα χαρακτηριστικά σε μορφή αναγνώσιμη " #~ "απο\n" #~ " το `stty'\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #~ "\n" #~ "Προεραιτικό - πριν την ΕΚΛΟΓΗ σημαίνει άρνηση. Το * σημαίνει μια\n" #~ "ΕΚΛΟΓΗ μη POSIX. Το σύστημα καθορίζει ποιές επιλογές είναι διαθέσιμες.\n" #, fuzzy #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ "\n" #~ "Επιλογές ελέγχου:\n" #~ " [-]clocal Απενεργοποιεί τα σήματα ελέχγου του modem\n" #~ " [-]cread Επιτρέπει την λήψη των εισαγωμένων\n" #~ "* [-]crtscts Ενεργοποιεί την RTS/CTS χειραψία\n" #~ " csN Θέτει το μέγεθος των χαρακτήρων σε N bits,\n" #~ " N μεταξύ [5..8]\n" #~ " [-]cstopb Χρησιμοποιεί 2 bits διακοπής ανα χαρακτήρα (ένα με `-')\n" #~ " [-]hup Μεταδίδει σήμα κλεισίματος όταν η τελευταία εφαρμογή\n" #~ " κλείσει το tty\n" #~ " [-]hupcl Ομοιο με το [-]hup\n" #~ " [-]parenb Δημιουργεί bit ισότημίας στην έξοδο και περιμένει bit\n" #~ " ισότημίας στην είσοδο\n" #~ " [-]parodd Θέτει περιτή ισοτημία (ακόμα και με `-')\n" #, fuzzy #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "\n" #~ "Επιλογές εξόδου:\n" #~ "* bsN Τύπος καθυστέρησης πισωδιαστήματος, N μεταξύ [0..1]\n" #~ "* crN Τύπος καθυστέρησης επιστροφής δρομέα, N μεταξύ [0..3]\n" #~ "* ffN Τύπος καθυστέρησης αλλαγής σελίδας, N μεταξύ [0..1]\n" #~ "* nlN Τύπος καθυστέρησης αλλαγής σειράς, N μεταξύ [0..1]\n" #~ "* [-]ocrnl Μετατρέπει την `επιστροφή δρομέα' σε `νέα γραμμή'\n" #~ "* [-]ofdel Χρησιμοποιεί χαρακτήρες σβησίματος για γέμισμα αντί\n" #~ " των κενών χαρακτήρων\n" #~ "* [-]ofill Χρησιμοποιεί χαρακτήρες γεμίσματος αντί χρονομέτρησης " #~ "για\n" #~ " τις καθυστερήσεις\n" #~ "* [-]olcuc Μετατρέπει τα μικρά σε κεφαλαία\n" #~ "* [-]onlcr Μετατρέπει την `νεα γραμμή' σε `επιστροφή δρομέα-νεα " #~ "γραμμή'\n" #~ "* [-]onlret Η `νεα γραμμή' προκαλεί `επιστροφή δρομέα'\n" #~ "* [-]onocr Δεν εκτυπώνει `επιστροφή δρομέα' στην πρώτη στήλη\n" #~ " [-]opost Εκτελεί μια προ-επεξεργασμένη έξοδο\n" #~ "* tabN Τύπος καθυστέρησης της οριζόντιας πινακοποίησης, \n" #~ " N μεταξύ [0..3]\n" #~ "* tabs Ομοιο με tab0\n" #~ "* -tabs Ομοιο με tab3\n" #~ "* vtN Τύπος καθυστέρησης της κάθετης πινακοποίησης, N μεταξύ " #~ "[0..1]\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Χειρίζεται την 'tty' γραμμή που συνδέεται με την τυπική είσοδο. Χωρίς\n" #~ "παραμέτρους, εκτυπώνει την ταχύτητα, την κατάσταση της γραμμής, και\n" #~ "τις εφαρμοσμένες μετατροπές από το 'stty sane'. Στις επιλογές, ο\n" #~ "ΧΑΡακτήρας εκλαμβάνεται κυριολεκτικά, ή κωδικοποιείται οπως ^c, 0x37, " #~ "0177\n" #~ "ή 127. Eιδικές τιμές όπως ^- ή το undef απενεργοποιούσαν τους ειδικούς\n" #~ "χαρακτήρες.\n" # #, fuzzy #~ msgid "only one device may be specified" #~ msgstr "μόνο ένα όρισμα μπορεί να δηλωθεί" # #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "" #~ "Οταν καθορίζεται ένας τύπος εξόδου, οι καταστάσεις λειτουργίας (modes)\n" #~ "δεν είναι δυνατόν να οριστούν" # #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "μη έγκυρο όρισμα %s για %s" # #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "ασαφές όρισμα %s για %s" # #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" #, fuzzy #~ msgid "%s: unable to perform all requested operations" #~ msgstr "" #~ "Τυπική είσοδος: αδύνατον να πραγματοποιήθουν όλες τις ζητούμενες\n" #~ "λειτουργίες" #~ msgid "new_mode: mode\n" #~ msgstr "νεα_κατάσταση: κατάσταση λειτουργίας\n" #, fuzzy #~ msgid "%s: no size information for this device" #~ msgstr "Δεν υπάρχουν πληροφορίες μεγέθους γι'αυτό το περιφερειακό" # #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "μη έγκυρη αύξηση στον αριθμό εντολής: `%s'" #~ msgid "Password:" #~ msgstr "Συνθηματικό:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass(): δεν είναι δυνατόν να ανοιχτεί το /dev/tty" # #, fuzzy #~ msgid "cannot set groups" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" # #, fuzzy #~ msgid "cannot set group id" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" # #, fuzzy #~ msgid "cannot set user id" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Αλλάζει την ισχύουσα ταυτότητα (effective id) χρήστη και ομάδας σε αυτές\n" #~ "του ΧΡΗΣΤΗ.\n" #~ "\n" #~ " -, -l, --login Μετατρέπει το κέλυφος (shell) σε κέλυφος " #~ "εισόδου\n" #~ " -c, --command=ΕΝΤΟΛΗ Στέλνει την ΕΝΤΟΛΗ στο φλοιό με -c\n" #~ " -f, --fast Στέλνει -f στο φλοιό (για csh ή tcsh)\n" #~ " -m, --preserve-environment Δεν ξαναθέτει τις μεταβλητές του " #~ "περιβάλλοντος\n" #~ " -p Ομοιο με -m\n" #~ " -s, --shell=ΚΕΛΥΦΟΣ Εκτελεί το ΚΕΛΥΦΟΣ εαν /etc/shells το " #~ "επιτρέπει\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και " #~ "τερματίζει\n" #~ "\n" #~ "Εαν απλό - υπονοείται -l. Εάν η παράμετρος ΧΡΗΣΤΗΣ δεν δίνεται,\n" #~ "θεωρείται οτι είναι ο `root'.\n" #~ msgid "user %s does not exist" #~ msgstr "ο χρήστης %s δεν υπάρχει" #~ msgid "incorrect password" #~ msgstr "λάθος συνθηματικό" #~ msgid "using restricted shell %s" #~ msgstr "χρησιμοποιείται το περιορισμένο κέλυφος (restricted shell) %s" # #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Εκτύπωση αθροισμάτων ελέγχου και μετρητές μπλοκ για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " -r υπερνίκηση του -s, χρήση του BSD αλγορίθμου " #~ "αθροίσματος, χρήση μπλοκ 1Κ\n" #~ " -s, --sysv χρήση System V αλγορίθμου αθροίσματος, χρήση μπλοκ 512 " #~ "bytes\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" # #, fuzzy #~ msgid "ignoring all arguments" #~ msgstr "πάρα πολλά ορίσματα" # #~ msgid " --help display this help and exit\n" #~ msgstr "" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ "\n" # #, fuzzy #~ msgid " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Αναφέρατε σφάλματα στο <%s>.\n" # #, fuzzy #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ "Εγγραφή κάθε αρχείου στην κανονική έξοδο, τελευταία γραμμή πρώτα.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -b, --before τοποθέτηση του διαχωριστή πριν αντί για μετά\n" #~ " -r, --regex μετάφραση του διαχωριστή ως κανονική έκφραση\n" #~ " -s, --separator=ΑΛΦΑΡΙΘΜ χρήση ΑΛΦΑΡΙΘΜητικού ως διαχωριστής αντί του " #~ "χαρακτήρα νέας γραμμής\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "σφάλμα κλεισίματος αρχείου" # #, fuzzy #~ msgid "record too large" #~ msgstr "το αρχείο μηδενίστηκε" # #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "αδυναμία μεταφοράς του `%s' στο `%s'" # #, fuzzy #~ msgid "%s: write error" #~ msgstr "σφάλμα εγγραφής" # #~ msgid "separator cannot be empty" #~ msgstr "ο διαχωριστής δε μπορεί να είναι κενός" # #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση των 10 πρώτων γραμμών από κάθε ΑΡΧΕΙΟ στην κανονική έξοδο.\n" #~ "Με περισσότερα από ένα ΑΡΧΕΙΟ, να προηγηθεί επισέλιδο με το όνομα του " #~ "αρχείου.\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -c, --bytes=ΜΕΓΕΘΟΣ εμφάνιση των πρώτων ΜΕΓΕΘΟΣ bytes\n" #~ " -n, --lines=ΑΡΙΘΜΟΣ εμφάνιση των πρώτων ΑΡΙΘΜΟΣ γραμμών αντί των " #~ "πρώτων 10\n" #~ " -q, --quiet, --silent να μην τυπώνονται επισέλιδα με τα ονόματα " #~ "αρχείων\n" #~ " -v, --verbose να τυπώνονται πάντα επισέλιδα με τα ονόματα " #~ "αρχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Το ΜΕΓΕΘΟΣ μπορεί να έχει κατάληξη με πολλαπλασιαστή: b για 512, k για " #~ "1K, m για 1 Meg.\n" #~ "Αν χρησιμοποιείται το -VALUE σαν πρώτη ΕΠΙΛΟΓΗ, ανάγνωσε -c ΤΙΜΗ όταν\n" #~ "ένας από τους πολλαπλασιαστές bkm ακολουθεί συνενωμένος, διαφορετικά " #~ "ανάγνωσε -n ΤΙΜΗ\n" # #~ msgid "closing %s (fd=%d)" #~ msgstr "κλείσιμο του %s (fd=%d)" # #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "το `%s' είναι μη-προσπελάσιμο" # #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s: αδύνατη η ακολούθηση του τέλους αυτού του είδους αρχείου· παράκαμψη" # #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "το `%s' έχει γίνει προσπελάσιμο" # #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "το `%s' εμφανίστηκε· ακολούθηση τέλους νέου αρχείου" # #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "το `%s' έχει αντικατασταθεί· ακολούθηση τέλους νέου αρχείου" # #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" # #, fuzzy #~ msgid "%s: file truncated" #~ msgstr "το αρχείο μηδενίστηκε" # #~ msgid "no files remaining" #~ msgstr "δεν υπολείπονται αρχεία" # #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: αδύνατη η ακολούθηση του τέλους αυτού του είδους αρχείου· παράκαμψη" # #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "το %s είναι πολύ μεγάλο" # #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: μη έγκυρος μέγιστος αριθμός από χωρίς μεταβολή `stats' μεταξύ " #~ "ανοιγμάτων" # #~ msgid "%s: invalid PID" #~ msgstr "%s: μη έγκυρος περιγραφέας διεργασίας (PID)" # #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: μη έγκυρος αριθμός δευτερολέπτων" # #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "προειδοποίηση: το --retry είναι χρήσιμο μόνο με παρακολούθηση βάση " #~ "ονόματος" # #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "προειδοποίηση: ο περιγραφέας διεργασίας αγνοείτε· το --pid=PID είναι " #~ "χρήσιμο μόνο σε παρακολούθηση" # #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα" # #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Αντιγράφει την τυπική είσοδο σε κάθε ΑΡΧΕΙΟ, και στην τυπική έξοδο.\n" #~ "\n" #~ " -a, --append Προσθέτει στο ΑΡΧΕΙΟ(α), χωρίς να γράφει\n" #~ " πάνω απο τα υπάρχοντα\n" #~ " -i, --ignore-interrupts Αγνοεί σήματα διακοπής\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "ασαφές όρισμα %s για %s" # #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "μη έγκυρος αριθμός" #, fuzzy #~ msgid "')' expected" #~ msgstr "αναμενόταν ')'\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "αναμενόταν ')', αλλά βρέθηκε %s\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: Αναμενόταν μοναδιαίος χειριστής.\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt δεν δέχεται -l\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef δεν δέχεται -l\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-nt δεν δέχεται -l\n" # #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "Άγνωστο σφάλμα συστήματος" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: Αναμενόταν δυαδικός χειριστής.\n" # #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #, fuzzy #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ( ΕΚΦΡΑΣΗ ) Η ΕΚΦΡΑΣΗ είναι αληθινή\n" #~ " ! ΕΚΦΡΑΣΗ Η ΕΚΦΡΑΣΗ είναι ψεύτικη\n" #~ " ΕΚΦΡΑΣΗ1 -a ΕΚΦΡΑΣΗ2 Και η ΕΚΦΡΑΣΗ1 και η ΕΚΦΡΑΣΗ2\n" #~ " είναι αληθινές\n" #~ " ΕΚΦΡΑΣΗ1 -o ΕΚΦΡΑΣΗ2 Ουτε η ΕΚΦΡΑΣΗ1 ούτε ΕΚΦΡΑΣΗ2 είναι αληθινές\n" #~ "\n" #~ " [-n] ΑΛΥΣΙΔΑ Το μήκος της ΑΛΥΣΙΔΑΣ δεν είναι μηδέν\n" #~ " -z ΑΛΥΣΙΔΑ Το μήκος της ΑΛΥΣΙΔΑΣ είναι μηδέν\n" #~ " ΑΛΥΣΙΔΑ1 = ΑΛΥΣΙΔΑ2 Οι αλυσίδες είναι ίσες\n" #~ " ΑΛΥΣΙΔΑ1 != ΑΛΥΣΙΔΑ2 Οι αλυσίδες δεν είναι ίσες\n" #~ "\n" #~ " ΑΚΕΡΑΙΟΣ1 -eq ΑΚΕΡΑΙΟΣ2 Ο ΑΚΕΡΑΙΟΣ1 είναι ίσος με τον ΑΚΕΡΑΙΟ2\n" #~ " ΑΚΕΡΑΙΟΣ1 -ge ΑΚΕΡΑΙΟΣ2 Ο ΑΚΕΡΑΙΟΣ1 είναι μεγαλύτερος ή ίσος του\n" #~ " ΑΚΕΡΑΙΟY2\n" #~ " ΑΚΕΡΑΙΟΣ1 -gt ΑΚΕΡΑΙΟΣ2 Ο ΑΚΕΡΑΙΟΣ1 είναι μεγαλύτερος του " #~ "ΑΚΕΡΑΙΟΥ2\n" #~ " ΑΚΕΡΑΙΟΣ1 -le ΑΚΕΡΑΙΟΣ2 Ο ΑΚΕΡΑΙΟΣ1 είναι μικρότερος ή ίσος του\n" #~ " ΑΚΕΡΑΙΟΥ2\n" #~ " ΑΚΕΡΑΙΟΣ1 -lt ΑΚΕΡΑΙΟΣ2 O ΑΚΕΡΑΙΟΣ1 είναι μικρότερος του ΑΚΕΡΑΙΟΥ2\n" #~ " ΑΚΕΡΑΙΟΣ1 -ne ΑΚΕΡΑΙΟΣ2 Ο ΑΚΕΡΑΙΟΣ1 δεν είναι ίσος με τον ΑΚΕΡΑΙΟ2\n" # ___ #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Προσέχτε οτι οι παρενθέσεις χρειάζονται τους χαρακτήρες διαφυγής \n" #~ "(π.χ. `\\') για κελύφη (shells).\n" #~ "Ενας ΑΚΕΡΑΙΟΣ μπορεί επίσης να είναι -l ΑΛΥΣΙΔΑ, το οποίο εκτιμάται\n" #~ "στο μήκος της ΑΛΥΣΙΔΑΣ.\n" #, fuzzy #~ msgid "missing `]'" #~ msgstr "το `]' λείπει\n" # #, fuzzy #~ msgid "extra argument %s" #~ msgstr "πάρα πολλά ορίσματα" # #, fuzzy #~ msgid "creating %s" #~ msgstr "δημιουργία αρχείου `%s'\n" # #, fuzzy #~ msgid "cannot touch %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" #, fuzzy #~ msgid "setting times of %s" #~ msgstr "διατήρηση ωρών στο %s" # #, fuzzy #~ msgid "cannot specify times from more than one source" #~ msgstr "" #~ "δεν είναι δυνατό να γίνει διαχωρισμός σε περισσότερους από ένα τρόπο" # #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΣΥΝΟΛΟ1 [ΣΥΝΟΛΟ2]\n" # #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Μετάφραση, συμπύκνωση και/η διαγραφή χαρακτήρων από την κανονική είσοδο,\n" #~ "γράφοντας στη κανονική έξοδο.\n" #~ "\n" #~ " -c, --complement χρήση του συμπληρώματος του ΣΥΝΟΛΟ1\n" #~ " -d, --delete διαγραφή χαρακτήρων από το ΣΥΝΟΛΟ1, όχι " #~ "μετάφραση\n" #~ " -s, --squeeze-repeats αντικατάσταση ακολουθίας χαρακτήρων με ένα\n" #~ " -t, --truncate-set1 πρώτα ελάττωσε το ΣΥΝΟΛΟ1 στο μέγεθος του " #~ "ΣΥΝΟΛΟ2\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "προειδοποίηση: ο ασαφής οκταδικός διαφυγής \\%c%c%c μεταφράζεται\n" #~ "ως την ακολουθία δύο bytes \\0%c%c, `%c'" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "%s: προειδοποίηση: η δημιουργία σθεναρού συνδέσμου σε συμβολικό,\n" #~ "δεν είναι μεταφερτή" # #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "τα άκρη του διαστήματος `%s-%s' είναι σε αντίστροφη σειρά" # #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "μη έγκυρη μέτρηση επανάληψης `%s' στη κατασκευή [c*n]" # #, fuzzy #~ msgid "missing character class name `[::]'" #~ msgstr "μη έγκυρη τάξη χαρακτήρων `%s'" # #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "μη έγκυρη τάξη χαρακτήρων `%s'" # #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "" #~ "%s: ο τελεστής ισοδυναμίας τάξης πρέπει να είναι ένας μόνο χαρακτήρας" # #, fuzzy #~ msgid "too many characters in set" #~ msgstr "πάρα πολλά ορίσματα" # #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "η δομή επανάληψης [c*] δε μπορεί να εμφανίζεται στο αλφαριθμητικό1" # #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "" #~ "μόνο μια δομή επανάληψης [c*] μπορεί να εμφανιστεί στο αλφαριθμητικό2" # #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "" #~ "εκφράσεις [=c=] δεν μπορούν να εμφανίζονται στο αλφαριθμητικό 2 στη " #~ "μετάφραση" # #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "" #~ "όταν δεν αποκόπτεται το σύνολο1, το αλφαριθμητικό 2 πρέπει να μην είναι " #~ "κενό" # #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "όταν γίνεται μετάφραση με συμπλήρωμα τάξης χαρακτήρων,\n" #~ "το αλφαριθμητικό 2 πρέπει να αντιστοιχίζει όλους τους χαρακτήρες στην " #~ "περιοχή με ένα" # #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "στη μετάφραση, οι μόνες κλάσεις χαρακτήρων που μπορούν να εμφανιστούν\n" #~ "στο αλφαριθμητικό 2 είναι `upper' και `lower'" # #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "" #~ "η δομή [c*] μπορεί να εμφανιστεί στο αλφαριθμητικό2 μόνο στη μετάφραση" # #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "δύο αλφαριθμητικά πρέπει να δίνονται στη μετάφραση" # #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "μόνο ένα αλφαριθμητικό μπορεί να δοθεί όταν γίνεται διαγραφή χωρίς\n" #~ "συμπυκνώσεις επαναλήψεων" # #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "κακώς στοιχισμένη δομή [:upper:] και/ή [:lower:]" # #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]\n" #~ "Εγγραφή πλήρους ταξινομημένης λίστας σε συμφωνία με τη μερική ταξινόμηση\n" #~ "στο ΑΡΧΕΙΟ. Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την\n" #~ "κανονική είσοδο.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: η είσοδος περιέχει βρόχο:" # #~ msgid "%s: input contains a loop:" #~ msgstr "%s: η είσοδος περιέχει βρόχο:" # #, fuzzy #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Εκτυπώνει το όνομα του τερματικού που είναι συνδεδεμένο με την τυπική " #~ "έξοδο.\n" #~ "\n" #~ " -s, --silent, --quiet Δεν εκτυπώνει τίποτα, επιστρέφει μόνο " #~ "κατάσταση\n" #~ " εξόδου\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #~ msgid "not a tty" #~ msgstr "δεν είναι tty'" #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Εκτυπώνει συγκεκριμένες πληροφορίες συστήματος.\n" #~ "Χωρίς ΕΠΙΛΟΓΗ, όμοιο με -s.\n" #~ "\n" #~ " -a, --all Εκτυπώνει όλες τις πληροφορίες\n" #~ " -m, --machine Εκτυπώνει τον τύπο της μηχανής (hardware)\n" #~ " -n, --nodename Εκτυπώνει το όνομα του δικτυακού κόμβου του\n" #~ " υπολογιστή (network node hostname)\n" #~ " -r, --release Εκτυπώνει την αναθεώρηση έκδοσης του λειτουργικού\n" #~ " συστήματος\n" #~ " -s, --sysname Εκτυπώνει το όνομα του λειτουργικού συστήματος\n" #~ " -p, --processor Εκτυπώνει τον τύπο του επεξεργαστή\n" #~ " -v Εκτυπώνει την έκδοση του λειτουργικού συστήματος\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #, fuzzy #~ msgid "cannot get system name" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Μετατροπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γράφοντας στην " #~ "κανονική έξοδο.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -a, --all μετατροπή όλων των λευκών χαρακτήρων, αντί μόνο των " #~ "αρχικών\n" #~ " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χρήση λίστας χωρισμένης με κόμμα για τη δήλωση της " #~ "θέσης των στηλοθετών\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μπορούν να " #~ "χρησιμοποιηθούν.\n" # #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "το %s είναι πολύ μεγάλο" # #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "πάρα πολλά ορίσματα" # #, fuzzy #~ msgid "invalid number of fields to skip" #~ msgstr "μη έγκυρος αριθμός πεδίων προς προσπέραση: `%s'" # #, fuzzy #~ msgid "invalid number of bytes to skip" #~ msgstr "μη έγκυρος αριθμός bytes προς προσπέραση: `%s'" # #, fuzzy #~ msgid "invalid number of bytes to compare" #~ msgstr "μη έγκυρος αριθμός από bytes προς σύγκριση: `%s'" # #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "εκτύπωση όλων των διπλών γραμμών και μετρητών επαναλήψεων δεν έχει έννοια" # #, fuzzy #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "cannot unlink %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" #~ msgid "couldn't get boot time" #~ msgstr "Δεν είναι δυνατόν να βρεθεί η ώρα εκκίνησης" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s up " #~ msgid "am" #~ msgstr "πμ" #~ msgid "pm" #~ msgstr "μμ" #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "μέρα" #~ msgstr[1] "μέρα" # #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "μη έγκυρος χρήστης" #~ msgstr[1] "μη έγκυρος χρήστης" #~ msgid ", load average: %.2f" #~ msgstr ", Μέσος όρος φόρτου: %.2f" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #, fuzzy #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Εκτυπώνει τον κατάλογο των ενεργών χρηστών σύμφωνα με το ΑΡΧΕΙΟ.\n" #~ "Εαν το ΑΡΧΕΙΟ δεν προσδιορίζεται, χρησιμοποιείται το %s.\n" #~ "Το %s σαν ΑΡΧΕΙΟ είναι κοινό.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #, fuzzy #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Εκτυπώνει τον κατάλογο των ενεργών χρηστών σύμφωνα με το ΑΡΧΕΙΟ.\n" #~ "Εαν το ΑΡΧΕΙΟ δεν προσδιορίζεται, χρησιμοποιείται το %s.\n" #~ "Το %s σαν ΑΡΧΕΙΟ είναι κοινό.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #, fuzzy #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Εμφάνιση μετρητών γραμμών, λέξεων και byte για κάθε ΑΡΧΕΙΟ, και μια " #~ "γραμμή συνόλων\n" #~ "αν ορίζονται περισσότερο από ένα ΑΡΧΕΙΑ. Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο " #~ "είναι το -,\n" #~ "ανάγνωση από την κανονική είσοδο.\n" #~ " -c, --bytes, --chars εμφάνιση του συνόλου των bytes\n" #~ " -l, --lines εμφάνιση του συνόλου των γραμμών\n" #~ " -L, --max-line-length εμφάνιση του μήκους της μεγαλύτερης γραμμής\n" #~ " -w, --words εμφάνιση του συνόλου των λέξεων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ msgid " old " #~ msgstr "παλιά" #, fuzzy #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# χρήστες=%u\n" #~ msgid "LINE" #~ msgstr "ΓΡΑΜΜΗ" # #, fuzzy #~ msgid "IDLE" #~ msgstr "ΑΝΕΠΙΤΥΧΕΣ" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΧΕΙΟ1 ΑΡΧΕΙΟ2\n" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Εκτυπώνει τον χρήστη που συνδέεται με την τρέχουσα ισχύουσα ταυτότητα\n" #~ "(effective id) χρηστη. Ομοιο με: id -un.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: δεν μπορει να βρεθεί όνομα χρήστη για το 'UID' %u\n" # #, fuzzy #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "unrecognized operand %s=%s" #~ msgstr "απαράδεκτη επιλογή `-%c'" # #~ msgid "program error" #~ msgstr "σφάλμα προγράμματος" # #~ msgid "stack overflow" #~ msgstr "υπερχείλιση στοίβας" # #~ msgid "block size" #~ msgstr "μέγεθος μπλοκ" # #, fuzzy #~ msgid "cannot change owner and/or group of %s" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" # #, fuzzy #~ msgid "cannot chdir to directory %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" # #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "" #~ "αδύνατη η λήψη της ομάδας εισαγωγής στο σύστημα ενός αριθμητικού UID" # #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Αυτό είναι ελεύθερο λογισμικό· δείτε το πηγαίο κώδικα για κανόνες " #~ "αντιγραφής\n" #~ "ΔΕΝ υπάρχει εγγύηση· ούτε ακόμα για ΧΡΗΣΙΜΟΤΗΤΑ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑ ΓΙΑ ΕΝΑ\n" #~ "ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ.\n" # #~ msgid "too few arguments" #~ msgstr "πολύ λίγα ορίσματα" # #, fuzzy #~ msgid "closing standard output" #~ msgstr "κανονική έξοδος" #~ msgid "group number" #~ msgstr "αριθμός ομάδας" # #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "μη έγκυρος αριθμός" # #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΑΡΙΣΤΕΡΌ_ΑΡΧΕΊΟ ΔΕΞΙΌ_ΑΡΧΕΊΟ\n" # #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "missing file arguments" #~ msgstr "πολύ λίγα ορίσματα" # #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "το `%s' υπάρχει ήδη άλλα δεν είναι κατάλογος" #, fuzzy #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "αντιγραφή πολλαπλών αρχείων, αλλά το τελευταίο όρισμα (%s) δεν είναι " #~ "κατάλογος" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "προειδοποίηση: το --version-control (-V) δε χρησιμοποιείται πλέον·\n" #~ "η υποστήρηξη για αυτό θα πάψει σε κάποια μελλοντική έκδοση. Κάντε\n" #~ "χρήση του --backup=%s στη θέση του." # #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "προειδοποίηση: το --pid=PID δεν υποστηρίζεται σε αυτό το σύστημα" # #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Στιούαρτ Κέμπ και Ντέιβιντ Μακένζη" # #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: αναμενόταν `+' ή `-' μετά το διαχωριστή" # #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "πάρα πολλά ορίσματα που δεν έχουν επιλογές" # #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "δε μπορούν να δηλώνονται αρχεία όταν γίνεται χρήση του --string" #~ msgid "undefined" #~ msgstr "Μή ορισμένο" # #, fuzzy #~ msgid "cannot get time of day" #~ msgstr "" #~ "δεν είναι δυνατό να γίνει διαχωρισμός σε περισσότερους από ένα τρόπο" # #, fuzzy #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Πωλ Ρούμπιν και Ντέιβιντ Μακένζη" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s εγγραφές μέσα\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s εγγραφές έξω\n" #~ msgid "truncated records" #~ msgstr "μηδενισμένες εγγραφές και γράψιμο πάνω σε αυτές (truncated)" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "μόνο ένα conv στο {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "δε μπορούν να χρησιμοποιηθούν ορίσματα ΑΡΧΕΙΟΥ με την επιλογή\n" #~ "εμφάνισης της εσωτερικής βάσης της dircolor" # #, fuzzy #~ msgid "Richard Mlynarik and David MacKenzie" #~ msgstr "Ρίτσαρντ Στάλμαν και Ντέιβιντ Μακένζη" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "ΠΡΟΣΟΧΗ: Το BRE δεν είναι συμβατό με διάφορα συστήματα: `%s':\n" #~ "η χρησιμοποίηση `^' για τον πρώτο χαρακτήρα μιας εκφρασης δεν είναι\n" #~ "συμβατή; Αγνοείται." #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Χρήση: %s [ΟΝΟΜΑ]\n" #~ " ή: %s ΕΠΙΛΟΓΗ\n" #~ "Εκτυπώνει το όνομα(hostname) του συστήματος.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #~ msgid "unrecognized option `-%c'" #~ msgstr "απαράδεκτη επιλογή `-%c'" # #, fuzzy #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Πωλ Ρούμπιν και Ντέιβιντ Μακένζη" # #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "δεν είναι δυνατό να παραληφθεί χρήστης και ομάδα" #, fuzzy #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "εγκατάσταση πολλαπλών αρχείων, αλλά το τελευταίο όρισμα (%s) δεν είναι " #~ "κατάλογος" # #, fuzzy #~ msgid "%s is a directory" #~ msgstr "το `%s' υπάρχει ήδη άλλα δεν είναι κατάλογος" # #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "μη έγκυρος αριθμός πεδίου για το αρχείο 1: `%s'" # #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "μη έγκυρος αριθμός πεδίου για το αρχείο 2: `%s'" # #~ msgid "too many non-option arguments" #~ msgstr "πάρα πολλά ορίσματα που δεν έχουν επιλογές" # #~ msgid "too few non-option arguments" #~ msgstr "πάρα πολλά ορίσματα που δεν έχουν επιλογές" # #, fuzzy #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Σκοτ Μπάρτραμ και Ντέιβιντ Μακένζη" #~ msgid "%s: File exists" #~ msgstr "%s: Το αρχείο υπάρχει ήδη" # #, fuzzy #~ msgid "create symbolic link %s to %s" #~ msgstr "συμβολικός σύνδεσμος" #, fuzzy #~ msgid "create hard link %s to %s" #~ msgstr "δημιουργία σθεναρού συνδέσμου `%s' στο `%s'" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΤΕΛΕΥΤΑΙΟΣ\n" #~ " ή: %s [ΕΠΙΛΟΓΗ]... ΠΡΩΤΟΣ ΑΥΞΗΣΗ ΤΕΛΕΥΤΑΙΟΣ\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "όταν δημιουργήτε πολλαπλούς συνδέσμους, το τελευταίο όρισμα πρέπει να " #~ "είναι κατάλογος" # #~ msgid "file" #~ msgstr "αρχείο" # #~ msgid "files" #~ msgstr "αρχεία" # #~ msgid "checksum" #~ msgstr "άθροισμα ελέγχου" # #~ msgid "checksums" #~ msgstr "αθροίσματα ελέγχου" # #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "οι επιλογές --string και --check είναι αμοιβαίως αποκλειόμενες" # #~ msgid "no files may be specified when using --string" #~ msgstr "δε μπορούν να δηλώνονται αρχεία όταν γίνεται χρήση του --string" # #~ msgid "only one argument may be specified when using --check" #~ msgstr "μόνο ένα όρισμα μπορεί να δηλώνεται όταν γίνεται χρήση του --check" # #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "πολύ λίγα ορίσματα" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "major και minor αριθμοί συσκευής δεν πρέπει να ορίζονται στα αρχεία fifo" # #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "όταν μετακινούνται πολλαπλά αρχεία, το τελευταίο όρισμα πρέπει να είναι " #~ "κατάλογος" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Εκτελεί την ΕΝΤΟΛΗ με μια προσαρμογή της προτεραιότητας.\n" #~ "Χωρίς καμιά ΕΝΤΟΛΗ, εκτυπώνει την τρέχουσα προγραμματισμένη " #~ "προτεραιότητα.\n" #~ "Εξ'ορισμού ή προσαρμογή είναι 10. Το πεδίο κυμαίνεται απο -20 " #~ "(υψηλότερη \n" #~ "προτεραιότητα) μέχρι 19 (η χαμηλότερη).\n" #~ "\n" #~ " -ΜΕΤΑΒΟΛΗ αυξάνει την προτεραιότητα σύμφωνα με τη " #~ "ΜΕΤΑΒΟΛΗ -n, --adjustment=AJUST όμοιο του -ΜΕΤΑΒΟΛΗ\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "μη έγκυρο είδος αλφαριθμητικού `%s'" # #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "μη έγκυρος αριθμός πεδίου: `%s'" # #, fuzzy #~ msgid "cannot get priority" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot set priority" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Σκοτ Μπάρτραμ και Ντέιβιντ Μακένζη" # #~ msgid "old-style offset" #~ msgstr "παλαιού είδους θέση" # #~ msgid "skip argument" #~ msgstr "προσπέρασμα ορίσματος" # #~ msgid "limit argument" #~ msgstr "όριο ορίσματος" # #~ msgid "minimum string length" #~ msgstr "ελάχιστο μέγεθος αλφαριθμητικού" # #~ msgid "width specification" #~ msgstr "δήλωση πλάτους" # #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "μη έγκυρος δεύτερος τελεστής σε κατάσταση συμβατότητας `%s'" # #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "σε κατάσταση συμβατότητας, τα τελευταία δύο ορίσματα πρέπει να είναι " #~ "θέσεις" #, fuzzy #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Διαγνώστηκαν μή συμβατές με άλλα συστήματα συντάξεις στο ΟΝΟΜΑ.\n" #~ "\n" #~ " -p, --portability Ελέγχει για όλα τα συστήματα POSIX, όχι μόνο για\n" #~ " το τρέχον.\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "το μέγεθος στηλογνώμονα περιέχει μη έγκυρο χαρακτήρα" # #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "το `%s' υπάρχει ήδη άλλα δεν είναι κατάλογος" #~ msgid "directory `%s' is not searchable" #~ msgstr "Ο κατάλογος `%s' δεν είναι προσιτός." #, fuzzy #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "Το όνομα `%s' έχει μήκος %d. Ξεπερνά το %d που είναι το όριο." #, fuzzy #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "Η διαδρομή `%s' έχει μήκος %d. Ξεπερνά το %d που είναι το όριο." # #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' μη έγκυρο όριο από αριθμούς σελίδων: `%s'" # #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' μη έγκυρος αριθμός αρχικής σελίδας: `%s'" # #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' μη έγκυρος αριθμός τελικής σελίδας: `%s'" # #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' ο αριθμός αρχικής σελίδας είναι μεγαλύτερος από της τελικής " #~ "σελίδας" # #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=ΣΤΗΛΗ' μη έγκυρος αριθμός στηλών: `%s'" # #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" # #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "" #~ "ο αρχικός αριθμός σελίδας είναι μεγαλύτερος από το συνολικό αριθμό " #~ "σελίδων: `%d'" # #~ msgid "Page %d" #~ msgstr "Σελίδα %d" # #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: μη έγκυρη μορφή" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Χρήση: %s ΜΟΡΦΗ [ΠΑΡΑΜΕΤΡΟΙ...]\n" # #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "Δεν είναι δυνατόν να εκτελεστεί το %s" # #, fuzzy #~ msgid "cannot lstat %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "δεν είναι δυνατό να διαγραφούν τα `.' ή `..'" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "Διαγραφή (unlink) ΑΡΧΕΙΟΥ(ΩΝ).\n" #~ "\n" #~ " -d, --directory διαγραφή καταλόγου, ακόμα και αν δεν είναι άδειος " #~ "(μόνο\n" #~ " υπερχρήστης)\n" #~ " -f, --force αγνόησε αρχεία που δεν υπάρχουν, χωρίς " #~ "επιβεβαίωση\n" #~ " -i, --interactive επιβεβαίωση πριν κάθε διαγραφή prompt\n" #~ " -r, -R, --recursive διαγραγή των περιεχομένων των καταλόγων " #~ "αναδρομικά\n" #~ " -v, --verbose εξήγηση του τι συμβαίνει\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Για τη διαγραφή ενός αρχείου που το όνομα του ξεκινά με `-', για " #~ "παράδειγμα\n" #~ "`-foo', κάντε χρήση μιας από τις παρακάτω εντολές:\n" #~ " %s -- -foo\n" #~ " %s ./-foo\n" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "Οταν η αρχική τιμή είναι μεγαλύτερη του όριου,\n" #~ "η αύξηση πρέπει να είναι αρνητική." # #, fuzzy #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "το όρισμα έναρξης πεδίου αριθμού στην επιλογή `-k' πρέπει να είναι θετικός" # #, fuzzy #~ msgid "sort size" #~ msgstr "μέγεθος μπλοκ" # #~ msgid "stdin: read error" #~ msgstr "stdin: σφάλμα ανάγνωσης" # #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: μη έγκυρος χαρακτήρας κατάληξης σε εκτός χρήσης επιλογή" # #, fuzzy #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "Προειδοποίηση: δεν είναι μεταφέρσιμο να γίνετε χρήση δύο ή περισσότερο " #~ "ορισμάτων\n" #~ "για αρχεία με το εκτός χρήσης συντακτικό (%s). Κάντε χρήση του ισοδύναμου " #~ "-n ή -c\n" #~ "στη περίπτωση αυτή." # #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Προειδοποίηση: δεν είναι μεταφέρσιμο να γίνετε χρήση δύο ή περισσότερο " #~ "ορισμάτων\n" #~ "για αρχεία με το εκτός χρήσης συντακτικό (%s). Κάντε χρήση του ισοδύναμου " #~ "-n ή -c\n" #~ "στη περίπτωση αυτή." # #, fuzzy #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s: το %s είναι τόσο μεγάλο που δε μπορεί να αναπαρασταθεί" # #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: μη έγκυρος μέγιστος αριθμός από διαδοχικές αλλαγές μεγέθους" # #, fuzzy #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Ρίτσαρντ Στάλμαν και Ντέιβιντ Μακένζη" #~ msgid "argument expected\n" #~ msgstr "Αναμενόταν παράμετρος.\n" #~ msgid "integer expression expected %s\n" #~ msgstr "Αναμενόταν ακέραια έκφραση %s\n" #~ msgid "before -lt" #~ msgstr "πριν -lt" #~ msgid "after -lt" #~ msgstr "μετά -lt" #~ msgid "before -le" #~ msgstr "πριν -le" #~ msgid "after -le" #~ msgstr "μετά -le" #~ msgid "before -gt" #~ msgstr "πριν -gt" #~ msgid "after -gt" #~ msgstr "μετά -gt" #~ msgid "before -ge" #~ msgstr "πριν -ge" #~ msgid "after -ge" #~ msgstr "μετά -ge" #~ msgid "before -ne" #~ msgstr "πριν -ne" #~ msgid "after -ne" #~ msgstr "μετά -ne" #~ msgid "before -eq" #~ msgstr "πριν -eq" #~ msgid "after -eq" #~ msgstr "μετά -eq" #, fuzzy #~ msgid "after -t" #~ msgstr "μετά -lt" # #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "πάρα πολλά ορίσματα" # #, fuzzy #~ msgid "file arguments missing" #~ msgstr "πολύ λίγα ορίσματα" # #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "μη έγκυρη διαφυγή με πισωκάθετο `\\%c'`" # #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "δύο αλφαριθμητικά πρέπει να δίνονται όταν γίνονται διαγραφή και\n" #~ "συμπυκνώσεις επαναλήψεων" # #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "τουλάχιστον ένα αλφαριθμητικό πρέπει να δίνεται όταν συμπυκνώνονται\n" #~ "επαναλήψεις" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Χρήση: %s [ΟΝΟΜΑ]\n" #~ " ή: %s ΕΠΙΛΟΓΗ\n" #~ "Εκτυπώνει το όνομα(hostname) του συστήματος.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" # #~ msgid "only one argument may be specified" #~ msgstr "μόνο ένα όρισμα μπορεί να δηλωθεί" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: δεν μπορει να βρεθεί όνομα χρήστη για το 'UID' %u\n" # #, fuzzy #~ msgid "Try %s --help' for more information.\n" #~ msgstr "Δοκιμάστε `%s --help' για περισσότερη βοήθεια.\n" #, fuzzy #~ msgid "cannot lstat `.'" #~ msgstr "Δεν μπορεί να τεθεί η ημερομηνία." # #, fuzzy #~ msgid "%s: remove directory %s? " #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #, fuzzy #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "" #~ "%s: ο κατάλογος `%s' προστατεύεται από εγγραφή· διάσχυση σε αυτό " #~ "παρολαυτά; " #~ msgid "removing all entries of directory %s\n" #~ msgstr "διαγραφή όλων των εγγραφών του καταλόγου %s\n" #~ msgid "continue? " #~ msgstr "συνέχεια; " # #, fuzzy #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "αδύνατη η αλλαγή στο κατάλογο %s" # #, fuzzy #~ msgid "%s: remove directory %s%s? " #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" #~ msgid " (might be nonempty)" #~ msgstr " (μπορεί να μην είναι άδειο)" #, fuzzy #~ msgid "removing the directory itself: %s\n" #~ msgstr "ΠΡΟΣΟΧΗ: δεν είναι δυνατόν να αλλαχτεί ο κατάλογος σε %s" # #, fuzzy #~ msgid "cannot fork" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" #, fuzzy #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "ΣΦΑΛΜΑ: ο κατάλογος `%s' είχε αρχικά αριθμούς συσκευής/ι-κόμβου\n" #~ "%lu/%lu, αλλά τώρα (μετά από ένα chdir σε αυτόν), οι αριθμοί για το `.'\n" #~ "είναι %lu/%lu. Αυτό σημαίνει ότι κατά την εκτέλεση της rm, o κατάλογος\n" #~ "αντικαταστάθηκε με είτε ένα άλλο κατάλογο ή με ένα σύνδεσμο σε άλλο " #~ "κατάλογο." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "ΣΦΑΛΜΑ: ο κατάλογος `%s' είχε αρχικά αριθμούς συσκευής/ι-κόμβου\n" #~ "%lu/%lu, αλλά τώρα (μετά από ένα chdir σε αυτόν), οι αριθμοί για το `.'\n" #~ "είναι %lu/%lu. Αυτό σημαίνει ότι κατά την εκτέλεση της rm, o κατάλογος\n" #~ "αντικαταστάθηκε με είτε ένα άλλο κατάλογο ή με ένα σύνδεσμο σε άλλο " #~ "κατάλογο." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after changing into at least one subdirectory\n" #~ "and changing back via `..'), the numbers for `.' are %lu/%lu.\n" #~ "That means that while rm was running, a partially-removed subdirectory\n" #~ "was moved to a different position in the file system hierarchy." #~ msgstr "" #~ "ΣΦΑΛΜΑ: ο κατάλογος `%s' είχε αρχικά αριθμούς συσκευής/ι-κόμβου\n" #~ "%lu/%lu, αλλά τώρα (μετά από ένα chdir σε αυτόν), οι αριθμοί για το `.'\n" #~ "είναι %lu/%lu. Αυτό σημαίνει ότι κατά την εκτέλεση της rm, o κατάλογος\n" #~ "αντικαταστάθηκε με είτε ένα άλλο κατάλογο ή με ένα σύνδεσμο σε άλλο " #~ "κατάλογο." #, fuzzy #~ msgid " or: %s [-acm] MMDDhhmm[YY] FILE... (obsolete)\n" #~ msgstr " η : %s [-acm] MMDDhhmm[YY] ΑΡΧΕΙΟ... (δεν είναι σε χρήση)\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Αλλαγή της συμμετοχής σε ομάδα κάθε αρχείου ΑΡΧΕΙΟ στην ΟΜΑΔΑ.\n" #~ "\n" #~ " -c, --changes όπως το \"--verbose\" αλλά εμφάνιση μηνύματος " #~ "μόνο\n" #~ " όταν γίνεται αλλαγή\n" #~ " --dereference αλλαγή στο αναφερόμενο αρχείο κάθε συμβολικού\n" #~ " συνδέσμου αντί στον ίδιο τον σύνδεσμο\n" #~ " -h, --no-dereference τροποποίηση μόνο των συμβολικών συνδέσμων αντί " #~ "στα\n" #~ " αναφερόμενα αρχεία (διαθέσιμο μόνο στα " #~ "συστήματα\n" #~ " που επιτρέπουν την αλλαγή ιδιοκτήτη σε " #~ "συμβολικό\n" #~ " σύνδεσμο)\n" #~ " -f, --silent, --quiet αποφυγή εμφάνισης των περισσότερων μηνυμάτων\n" #~ " σφάλματος\n" #~ " --reference=ΑΡΧΕΙΟΑΝΑΦΟΡΑΣ χρήση της ομάδας του ΑΡΧΕΙΟΑΝΑΦΟΡΑΣ\n" #~ " αντί τις τιμής ΟΜΑΔΑ\n" #~ " -R, --recursive αναδρομικές αλλαγές στα αρχεία και στους\n" #~ " καταλόγους\n" #~ " -v, --verbose εμφάνιση διαγνωστικών μηνυμάτων για κάθε " #~ "αρχείο\n" #~ " που επεξεργάζεται\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " the specified OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Αλλαγή του ιδιοκτήτη και/ή της ομάδα για κάθε αρχείο, σε ΙΔΙΟΚΤΗΤΗ και/η " #~ "ΟΜΑΔΑ.\n" #~ "\n" #~ " -c, --changes όπως το \"--verbose\" αλλά εμφάνιση μηνύματος " #~ "μόνο\n" #~ " όταν γίνεται αλλαγή\n" #~ " --dereference αλλαγή στο αναφερόμενο αρχείο κάθε συμβολικού\n" #~ " συνδέσμου αντί στον ίδιο το σύνδεσμο\n" #~ " -h, --no-dereference τροποποίηση μόνο των συμβολικών συνδέσμων αντί " #~ "στα\n" #~ " αναφερόμενα αρχεία (διαθέσιμο μόνο στα " #~ "συστήματα\n" #~ " που επιτρέπουν την αλλαγή ιδιοκτήτη σε " #~ "συμβολικό\n" #~ " σύνδεσμο)\n" #~ " --from=ΤΡΕΧΩΝ_ΙΔΙΟΚΤΗΤΗΣ:ΤΡΕΧΟΥΣΑ_ΟΜΑΔΑ\n" #~ " αλλαγή του ιδιοκτήτη και/ή της ομάδας κάθε " #~ "αρχείου μόνο\n" #~ " αν ο τρέχων ιδιοκτήτης και/ή ομάδα ταιριάζουν με " #~ "τις\n" #~ " τιμές εδώ. Ένα από τα δύο μπορεί να παραληφθεί, " #~ "οπότε\n" #~ " δεν απαιτείται ταίριασμα στο παραλειπόμενη " #~ "ιδιότητα.\n" #~ " -f, --silent, --quiet αποφυγή εμφάνισης των περισσότερων μηνυμάτων\n" #~ " σφάλματος\n" #~ " --reference=ΑΡΧΕΙΟΑΝΑΦΟΡΑΣ χρήση του ιδιοκτήτη και της ομάδας\n" #~ " του ΑΡΧΕΙΟΑΝΑΦΟΡΑΣ αντί των τιμών ΙΔΙΟΚΤΗΤΗΣ:" #~ "ΟΜΑΔΑ\n" #~ " -R, --recursive αλλαγές στα αρχεία και στους καταλόγους " #~ "αναδρομικά\n" #~ " -v, --verbose εμφάνιση διαγνωστικών μηνυμάτων για κάθε " #~ "αρχείο\n" #~ " που επεξεργάζεται\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Ο ιδιοκτήτης δεν αλλάζει αν έχει παραληφθεί. Η ομάδα δεν αλλάζει αν έχει\n" #~ "παραληφθεί, τροποποιείται στη βασική ομάδα χρήστη αν τοποθετηθεί ο\n" #~ "χαρακτήρας 'άνω-κάτω τελία'. Ο ΙΔΙΟΚΤΗΤΗΣ και η ΟΜΑΔΑ μπορούν να έχουν\n" #~ "είτε αριθμητική είτε συμβολική τιμή.\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links\n" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: links, all\n" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents append source path to DIRECTORY\n" #~ " -P same as `--no-dereference'\n" #~ " -r copy recursively, non-directories as " #~ "files\n" #~ " WARNING: use -R instead when you might " #~ "copy\n" #~ " special files like FIFOs or /dev/zero\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "Αντιγραφή της ΠΗΓΗς στο ΠΡΟΟΡΙΣΜΟΣ ή πολλαπλές ΠΗΓΗ(ΕΣ) στο ΚΑΤΑΛΟΓΟ.\n" #~ "\n" #~ " -a, --archive το ίδιο με -dpR\n" #~ " --backup=[ΕΛΕΓΧΟΣ] δημιουργία αντιγράφου ασφαλείας για κάθε " #~ "αρχείο\n" #~ " προορισμού\n" #~ " -b όπως το --backup αλλά δεν απαιτεί " #~ "παράμετρο\n" #~ " -d, --no-dereference διατήρηση συμβολικών συνδέσμων\n" #~ " -f, --force διαγραφή υπαρχόντων προορισμών, χωρίς\n" #~ " επιβεβαίωση διαγραφής\n" #~ " -i, --interactive απαίτηση διαβεβαίωσης διαγραφής πριν τη\n" #~ " διαγραφή λόγω επικάλυψης\n" #~ " -l, --link δημιουργία συνδέσμων αντί αντιγράφων\n" #~ " -p, --preserve διατήρηση χαρακτηριστικών των αρχείων, αν\n" #~ " είναι δυνατόν\n" #~ " -P, --parents προσθήκη διαδρομής της πηγής στο " #~ "ΚΑΤΑΛΟΓΟΣ\n" #~ " -r αντιγραφή αναδρομικά, τους μη-καταλόγους " #~ "σαν\n" #~ " αρχεία\n" #~ " ΠΡΟΕΙΔΟΠΟΙΗΣΗ: κάντε χρήση του -R όταν\n" #~ " πρόκειτε να αντιγράψετε ειδικά αρχεία " #~ "όπως\n" #~ " FIFO ή το /dev/zero\n" #~ " --sparse=WHEN έλεγχος της δημιουργίας αραιών (sparse)\n" #~ " αρχείων\n" #~ " -R, --recursive αντιγραφή καταλόγων αναδρομικά\n" #~ " --strip-trailing-slashes απομάκρυνση οτιδήποτε κάθετων που έπονται " #~ "από\n" #~ " κάθε όρισμα ΠΗΓΗΣ\n" #~ " -s, --symbolic-link δημιουργία συμβολικών συνδέσμων αντί\n" #~ " αντιγράφων\n" #~ " -S, --suffix=ΚΑΤΑΛΗΞΗ παράκαμψη της συνηθισμένης κατάληξης των\n" #~ " αντιγράφων ασφαλείας\n" #~ " --target-directory=ΚΑΤΑΛΟΓΟΣ μετακίνησε όλα τα ορίσματα για ΠΗΓΗ " #~ "στο\n" #~ " ΚΑΤΑΛΟΓΟΣ\n" #~ " -u, --update αντιγραφή μόνο όταν το αρχείο ΠΗΓΗ είναι\n" #~ " νεώτερο από το αρχείο ΠΡΟΟΡΙΣΜΟΣ ή όταν\n" #~ " το αρχείο προορισμός δεν υπάρχει\n" #~ " -v, --verbose εξήγηση του τί γίνεται\n" #~ " -x, --one-file-system παραμονή στο τρέχον σύστημα αρχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Έξ ορισμού, τα αραία (sparse) αρχεία ΠΗΓΗΣ αναγωρίζονται με ένα όχι τόσο\n" #~ "καλό ευρεστικό αλγόριθμο και το αντίστοιχο αρχείο ΠΡΟΟΡΙΣΜΟΥ γίνεται " #~ "αραιό\n" #~ "επίσης. Αυτή είναι η συμπεριφορά της επιλογής --sparse=auto. Επιλέξτε\n" #~ "--sparse=always για τη δημιουργία αραιών αρχείων ΠΡΟΟΡΙΣΜΟΥ οπότε το " #~ "αρχείο\n" #~ "ΠΗΓΗ περιέχει αρκετά μεγάλες σειρές από μηδενικά bytes.\n" #~ "Με --sparse=never απογορεύετε τη δημιουργία αραιών αρχείων.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Copy a file, converting and formatting according to the options.\n" #~ "\n" #~ " bs=BYTES force ibs=BYTES and obs=BYTES\n" #~ " cbs=BYTES convert BYTES bytes at a time\n" #~ " conv=KEYWORDS convert the file as per the comma separated keyword " #~ "list\n" #~ " count=BLOCKS copy only BLOCKS input blocks\n" #~ " ibs=BYTES read BYTES bytes at a time\n" #~ " if=FILE read from FILE instead of stdin\n" #~ " obs=BYTES write BYTES bytes at a time\n" #~ " of=FILE write to FILE instead of stdout\n" #~ " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" #~ " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "BLOCKS and BYTES may be followed by the following multiplicative " #~ "suffixes:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Each KEYWORD may be:\n" #~ "\n" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternated EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "Αντιγραφή αρχείου, μετατροπή και μορφοποίηση βάση των επιλογών.\n" #~ "\n" #~ " bs=BYTES επιβολή ibs=BYTES και obs=BYTES\n" #~ " cbs=BYTES μετατροπή BYTES bytes τη φορά\n" #~ " conv=ΛΕΚΤΙΚΑ μετατροπή σύμφωνα με τη διαχωριζόμενη με κόμμα " #~ "λίσταλεκτικών\n" #~ " count=ΜΠΛΟΚ αντιγραφή μόνο BLOCKS μπλοκ εισόδου\n" #~ " ibs=BYTES ανάγνωση BYTES bytes τη φορά\n" #~ " if=ΑΡΧΕΙΟ ανάγνωση από ΑΡΧΕΙΟ αντί από τη κανονική είσοδο\n" #~ " obs=BYTES εγγραφή BYTES bytes τη φορά\n" #~ " of=ΑΡΧΕΙΟ εγγραφή στο ΑΡΧΕΙΟ αντί στη κανονική έξοδο, χωρίς " #~ "επικάλυψη\n" #~ " seek=ΜΠΛΟΚ παράληψη των ΜΠΛΟΚ μπλοκ μεγέθους obs στην αρχή της " #~ "εξόδου\n" #~ " skip=ΜΠΛΟΚ παράληψη των ΜΠΛΟΚ μπλοκ μεγέθους ibs στην αρχή της " #~ "εισόδου\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "το BYTES μπορεί να φέρει τις επόμενες πολλαπλασιαστικές καταλήξεις:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Κάθε ΛΕΚΤΙΚΟ μπορεί να είναι:\n" #~ "\n" #~ " ascii από EBCDIC σε ASCII\n" #~ " ebcdic από ASCII σε EBCDIC\n" #~ " ibm από ASCII σε ενναλακτικό EBCDIC\n" #~ " block συμπλήρωση των εγγραφών που τερματίζονται με το χαρακτήρα" #~ "\t αλλαγής γραμμής με το χαρακτήρα διαστήματος για " #~ "σχηματισμό μεγέθους cbs\n" #~ " unblock αντικατάσταση τελικών διαστημάτων στις εγγραφές cbs με " #~ "χαρακτήρα αλλαγής γραμμής\n" #~ " lcase αλλαγή κεφαλαίων σε πεζά\n" #~ " notrunc αποφυγή δημιουργίας αρχείου εξόδου όταν υπάρχει αρχείο\n" #~ "\t με το ίδιο όνομα\n" #~ " ucase αλλαγή πεζών σε κεφαλαία\n" #~ " swab αντικατάσταση μεταξύ τους κάθε ζευγαριού από bytes εισόδου\n" #~ " noerror συνέχιση ακόμα και με σφάλματα ανάγνωσης\n" #~ " sync συμπλήρωση κάθε μπλοκ εισόδου με NUL για να σχηματιστεί " #~ "μέγεθος ibs\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση πληροφοριών για το σύστημα αρχείων στο οποίο κάθε ΑΡΧΕΙΟ " #~ "βρίσκεται\n" #~ "ή όλων των συστημάτων αρχείων εξ ορισμού.\n" #~ "\n" #~ " -a, --all συμπερίληψη συστημάτων αρχείων με 0 μπλοκ\n" #~ " --block-size=ΜΕΓΕΘΟΣ χρήση ΜΕΓΕΘΟΣ-byte μπλοκ\n" #~ " -h, --human-readable εμφάνιση μεγεθών σε ανθρωπίνως αναγνώσιμη μορφή " #~ "(π.χ. 1Κ 234Μ 2G)\n" #~ " -H, --si όπως παραπάνω, αλλά με δυνάμεις του 1000 αντί του " #~ "1024\n" #~ " -i, --inodes εμφάνιση πληροφοριών κόμβων-δ αντί χρήσης των " #~ "μπλοκ\n" #~ " -k, --kilobytes όπως --block-size=1024\n" #~ " -m, --megabytes όπως like --block-size=1048576\n" #~ " --no-sync να μη κληθεί η sync πριν παρθούν πληροφορίες " #~ "χρήσης(εξ ορισμού)\n" #~ " -P, --portability χρήση της μορφής εξόδου POSIX\n" #~ " --sync κλήση της sync πριν τη λήψη πληροφοριών χρήσης\n" #~ " -t, --type=ΕΙΔΟΣ περιορισμός εμφάνισης στα συστήματα αρχείων του " #~ "είδους ΕΙΔΟΣ\n" #~ " -T, --print-type εμφάνιση το είδος του συστήματος αρχείων\n" #~ " -x, --exclude-type=ΕΙΔΟΣ περιορισμός εμφάνισης συστήματος αρχείων σε " #~ "όχι είδος ΕΙΔΟΣ\n" #~ " -v (αγνοείται)\n" #~ " --help εμφάνιση αυτής βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Περιληπτική εμφάνιση χρήσης δίσκου για κάθε ΑΡΧΕΙΟ, αναδρομικά για " #~ "καταλόγους.\n" #~ "\n" #~ " -a, --all εμφάνιση τιμών για όλα τα αρχεία, όχι μόνο για\n" #~ " καταλόγους\n" #~ " --block-size=ΜΕΓΕΘΟΣ χρήση ΜΕΓΕΘΟΣ-byte μπλοκ\n" #~ " -b, --bytes εμφάνιση μεγεθών σε byte\n" #~ " -c, --total εμφάνιση τελικού μεγέθους\n" #~ " -D, --dereference-args αναδίπλωση ΜΟΝΟΠΑΤΙΩΝ όταν υπάρχει συμβολικός\n" #~ " σύνδεσμος\n" #~ " -h, --human-readable εμφάνιση μεγεθών σε εύκολη και αναγνώσιμη μορφή\n" #~ " (π.χ. 1K 234M 2G)\n" #~ " -H, --si όπως παραπάνω, αλλά με δυνάμεις του 1000 αντί του " #~ "1024\n" #~ " -k, --kilobytes όπως --block-size=1024\n" #~ " -l, --count-links μέτρημα μεγεθών πολλές φορές αν είναι σθεναρά\n" #~ " συνδεδεμένα(hard linked)\n" #~ " -L, --dereference αναδίπλωση όλων των συμβολικών συνδέσμων\n" #~ " -m, --megabytes όπως --block-size=1048576\n" #~ " -S, --separate-dirs χωρίς να συμπεριλαμβάνεται το μέγεθος των " #~ "υποκαταλόγων\n" #~ " -s, --summarize εμφάνιση μόνο συνόλου για κάθε όρισμα\n" #~ " -x, --one-file-system παράληψη καταλόγων σε διαφορετικά συστήματα " #~ "αρχείων\n" #~ " -X ΑΡΧΕΙΟ, --exclude-from=ΑΡΧΕΙΟ Παράληψη αρχείων με μορφή που\n" #~ " ταιριάζει μέσα στο ΑΡΧΕΙΟ\n" #~ " --exclude=ΜΟΡΦΗ Παράληψη αρχείων της μορφής ΜΟΡΦΗ.\n" #~ " --max-depth=N εμφάνιση του συνολικού ενός καταλόγου (ή " #~ "αρχείου,\n" #~ " με --all)\n" #~ " μόνο αν είναι N ή λιγότερα επίπεδα κάτω από το\n" #~ " όρισμα της γραμμής εντολών· --max-depth=0 " #~ "είναι\n" #~ " ίδιο με --summarize\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Στις πρώτες δύο μορφές, αντιγράφει τη ΠΗΓΗ στο ΠΡΟΟΡΙΣΜΟ ή πολλαπλές " #~ "ΠΗΓΕΣ\n" #~ "(ΠΗΓΗ) στον υπάρχον ΚΑΤΑΛΟΓΟ, ενώ τίθενται δικαιώματα αρχείου και\n" #~ "ιδιοκτήτης/ομάδα. Στη τρίτη μορφή, δημιουργία όλων των συστατικών του " #~ "δοθέντος\n" #~ "ΚΑΤΑΛΟΓΟΥ(ΩΝ).\n" #~ "\n" #~ " --backup=[ΕΛΕΓΧΟΣ] δημιουργία αντιγράφου ασφαλείας για κάθε αρχείο\n" #~ " προορισμού\n" #~ " -b όπως το --backup αλλά δεν απαιτεί παράμετρο\n" #~ " -c (αγνοείται)\n" #~ " -d, --directory μεταχείρηση όλων των ορισμάτων ως ονόματα " #~ "καταλόγων·\n" #~ " δημιουργία όλων των συστατικών των δοθέντων " #~ "καταλόγων\n" #~ " -D δημιουργία όλων των προπορευόμενων συστατικών του\n" #~ " ΠΡΟΟΡΙΣΜΟΥ εκτός του τελευταίου, και αντέγραψε τη " #~ "ΠΗΓΗ\n" #~ " στο ΠΡΟΟΡΙΣΜΟ· χρήσιμο στην πρώτη μορφή\n" #~ " -g, --group=ΟΜΑΔΑ ορισμός ιδιοκτησίας ομάδας, αντί της τρέχουσας της\n" #~ " διεργασίας\n" #~ " -m, --mode=ΔΙΚΑΙΩΜΑΤΑ ορισμός δικαιωμάτων (όπως με chmod), αντί του\n" #~ " rwxr-xr-x\n" #~ " -o, --owner=ΙΔΙΟΚΤΗΤΗΣ ορισμός ιδιοκτήτη (μόνο υπερχρήστης)\n" #~ " -p, --preserve-timestamps διατήρηση των ημερομηνιών πρόσβασης/" #~ "τροποποίησης\n" #~ " των αρχείων ΠΗΓΗΣ\n" #~ " -s, --strip απαλοιφή πινάκων συμβόλων, μόνο για 1η και 2η " #~ "μορφή\n" #~ " -S, --suffix=ΚΑΤΑΛΗΞΗ παράκαμψη της συνηθισμένης κατάληξης αρχείων " #~ "ασφαλείας\n" #~ " -v, --verbose εμφάνιση του ονόματος κάθε καταλόγου καθώς " #~ "δημιουργείται\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Δημιουργία συνδέσμου στον αναφερόμενο ΠΡΟΟΡΙΣΜΟ με προαιρετικό\n" #~ "ΟΝΟΜΑ_ΣΥΝΔΕΣΜΟΥ. Αν το ΟΝΟΜΑ_ΣΥΝΔΕΣΜΟΥ έχει παραληφθεί, να δημιουργηθεί\n" #~ "σύνδεσμος με την ίδια βάση ονόματος όπως ο προορισμός, στο τρέχον " #~ "κατάλογο.\n" #~ "Όταν γίνετε χρήση της δεύτερης μορφής με περισσότερους από έναν " #~ "ΠΡΟΟΡΙΣΜΟΥΣ,\n" #~ "το τελευταίο όρισμα πρέπει να είναι κατάλογος· δημιουργία συνδέσμων στο\n" #~ "ΚΑΤΑΛΟΓΟ για κάθε ΠΡΟΟΡΙΣΜΟ. Δημιουργία σθεναρών συνδέσμων εξ ορισμού,\n" #~ "συμβολικών συνδέσμων με --symbolic.\n" #~ "Όταν δημιουργούνται σθεναροί σύνδεσμοι, κάθε ΠΡΟΟΡΙΣΜΟΣ πρέπει να " #~ "προϋπάρχει.\n" #~ "\n" #~ " --backup=[ΕΛΕΓΧΟΣ] δημιουργία αντιγράφου ασφαλείας για κάθε " #~ "αρχείο\n" #~ " προορισμού\n" #~ " -b όπως το --backup αλλά δεν απαιτεί " #~ "παράμετρο\n" #~ " -d, -F, --directory σθεναροί σύνδεσμοι σε καταλόγους (μόνο\n" #~ " υπερχρήστης)\n" #~ " -f, --force διαγραφή υπαρχόντων αρχείων προορισμού\n" #~ " -n, --no-dereference μεταχείρηση προορισμών που είναι σύνδεσμος " #~ "σε\n" #~ " κατάλογο σα να ήταν κανονικό αρχείο\n" #~ " -i, --interactive επιβεβαίωση για διαγραφή προορισμών\n" #~ " -s, --symbolic δημιουργία συμβολικών συνδέσμων αντί " #~ "σθεναρών\n" #~ " -S, --suffix=ΚΑΤΑΛΗΞΗ παράκαμψη της συνηθησμένης κατάληξης " #~ "αρχείων\n" #~ " ασφαλείας\n" #~ " --target-directory=ΚΑΤΑΛΟΓΟΣ ορισμός ΚΑΤΑΛΟΓΟΥ στον οποίο θα\n" #~ " δημιουργηθούν σύνδεσμοι\n" #~ " -v, --verbose εμφάνιση ονόματος κάθε αρχείου πριν τη " #~ "σύνδεση\n" #~ " -V, --version-control=ΛΕΞΗ παράκαμψη του συνηθησμένου ελέγχου " #~ "έκδοσης\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuSUX nor --sort.\n" #~ "\n" #~ " -a, --all do not hide entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ " -f do not sort, enable -aU, disable -lst\n" #~ " -F, --classify append indicator (one of */=@|) to entries\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ "Παράθεση πληροφοριών για τα ΑΡΧΕΙΑ (εξ ορισμού ο τρέχον κατάλογος).\n" #~ "Ταξινόμηση καταχωρίσεων αλφαβητικά, αν κανένα από τα -cftuSUX ή --sort " #~ "δεν\n" #~ "έχει οριστεί.\n" #~ "\n" #~ " -a, --all να μην αποκρύπτονται οι καταχωρίσεις που\n" #~ " αρχίζουν με .\n" #~ " -A, --almost-all να μην εμφανίζονται τα . και .. που\n" #~ " εξυπακούονται\n" #~ " -b, --escape εμφάνιση οκταδικών αριθμών διαφυγής για μη\n" #~ " εμφανιζόμενους χαρακτήρες\n" #~ " --block-size=ΜΕΓΕΘΟΣ χρήση ΜΕΓΕΘΟΣ-byte μπλοκ\n" #~ " -B, --ignore-backups να μην εμφανίζονται καταχωρίσεις που " #~ "καταλήγουν\n" #~ " σε ~\n" #~ " -c με -lt: ταξινόμηση ανάλογα, και εμφάνιση,\n" #~ " της ώρας τελευταίας τροποποίησης των " #~ "πληρο-\n" #~ " φοριών κατάστασης του αρχείου (ctime),\n" #~ " με -l: εμφάνιση του ctime και ταξινόμηση\n" #~ " βάση ονόματος,\n" #~ " διαφορετικά, ταξινόμηση βάση ctime\n" #~ " -C εμφάνιση καταχωρίσεων σε στήλες\n" #~ " --color[=ΠΟΤΕ] έλεγχος πότε το χρώμα χρησιμοποιείται για " #~ "να\n" #~ " διαχωρίσει τα είδη αρχείων\n" #~ " Το ΠΟΤΕ μπορεί να είναι `never', `always' " #~ "ή\n" #~ " `auto'\n" #~ " -d, --directory εμφάνιση καταχωρίσεων καταλόγου αντί\n" #~ " περιεχομένων\n" #~ " -D, --dired το αποτέλεσμα να είναι της μορφής της\n" #~ " κατάστασης dired του Emacs\n" #~ " -f να μη ταξινομούνται, ενεργοποίηση με -aU,\n" #~ " απενεργοποίηση με -lst\n" #~ " -F, --classify προσθήκη χαρακτήρα κατηγοροποίησης στις\n" #~ " καταχώρισεις\n" #~ " (ένα από τα */=@|)\n" #~ " --format=ΛΕΚΤΙΚΟ κατά μήκος across -x, κόμματα commas -m,\n" #~ " οριζόντια horizontal -x, μακροσκελή long -" #~ "l,\n" #~ " μία στήλη single-column -1, περιφραστικά\n" #~ " verbose -l, κάθετα vertical -C\n" #~ " --full-time εμφάνιση πλήρης ώρας και πλήρης ημερομηνίας\n" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line follow symbolic links on the command " #~ "line\n" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode print index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -g (αγνοείται)\n" #~ " -G, --no-group να μην εμφανίζονται πληροφορίες ομάδας\n" #~ " -h, --human-readable εμφάνιση μεγεθών σε ανθρωπίνως αναγνώσιμη\n" #~ " μορφή (π.χ. 1Κ 234M 2G)\n" #~ " -H, --si όπως παραπάνω, αλλά με δυνάμεις του 1000 " #~ "αντί\n" #~ " του 1024\n" #~ " --indicator-style=ΛΕΚΤΙΚΟ προσθήκη δείκτη ΛΕΚΤΙΚΟ στις " #~ "καταχωρίσεις\n" #~ " ονομάτων:\n" #~ " none (εξ ορισμού), classify (-F), file-" #~ "type\n" #~ " (-p)\n" #~ " -i, --inode εμφάνιση δείκτη κάθε αρχείου\n" #~ " -I, --ignore=PATTERN να μην εμφανίζονται αναφερόμενες " #~ "καταχωρίσεις \n" #~ " που ταιρίαζουν στο PATTERN του φλοιού\n" #~ " -k, --kilobytes όπως --block-size=1024\n" #~ " -l χρήση μακροσκελούς είδους εμφάνισης\n" #~ " -L, --dereference εμφάνιση καταχωρίσεων που δείχνουν οι\n" #~ " συμβολικοί σύνδεσμοι\n" #~ " -m συμπλήρωση του πλάτους με λίστα από\n" #~ " καταχωρίσεις διαχωριζόμενων με κόμμα\n" #~ " -n, --numeric-uid-gid εμφάνιση αριθμητικών UID και GID αντί για\n" #~ " ονόματα\n" #~ " -N, --literal εμφάνιση ακατέργαστων καταχωρίσεων (π.χ. να " #~ "μην\n" #~ " τυγχάνουν\n" #~ " ειδικής επεξεργασίας οι χαρακτήρες " #~ "ελέγχου)\n" #~ " -o χρήση μακροσκελούς εμφάνισης χωρίς " #~ "πληροφορίες\n" #~ " ομάδας\n" #~ " -p, --file-type προσθήκη ενδείξης (ένα από /=@|) στις\n" #~ " καταχωρίσεις\n" #~ " -q, --hide-control-chars εμφάνιση του ? αντί των μη-εκτυπώσιμων\n" #~ " χαρακτήρων\n" #~ " --show-control-chars εμφάνιση μη εκτυπώσιμων χαρακτήρων όπως " #~ "είναι\n" #~ " (εξ ορισμού εκτός αν το πρόγραμμα είναι " #~ "το\n" #~ " ls και η έξοδος είναι το τερματικό)\n" #~ " -Q, --quote-name εμφάνιση καταχωρίσεων μέσα σε διπλά " #~ "εισαγωγικά\n" #~ " --quoting-style=ΛΕΚΤΙΚΟ χρήση μορφής ΛΕΚΤΙΚΟ στην εμφάνιση " #~ "ονομάτων\n" #~ " καταχωρίσεων:\n" #~ " literal, shell, shell-always, c, escape\n" #~ " -r, --reverse αντίστροφη σειρά στην ταξινόμηση\n" #~ " -R, --recursive εμφάνιση υποκαταλόγων αναδρομικά\n" #~ " -s, --size εμφάνιση μεγέθους κάθε αρχείου, σε μπλοκ\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD show time as WORD instead of modification " #~ "time:\n" #~ " atime, access, use, ctime or status; use\n" #~ " specified time as sort key if --sort=time\n" #~ " --time-style=WORD show times using style WORD:\n" #~ " full-iso, iso, locale, posix-iso\n" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -1 list one file per line\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ " -S ταξινόμηση βάση του μεγέθους αρχείου\n" #~ " --sort=ΛΕΚΤΙΚΟ κατάληξη -X, τίποτα -U, μέγεθος -S, ώρα -t\n" #~ " έκδοση -v,\n" #~ " κατάσταση -c, ώρα -t, ώρα πρόσβασης -u\n" #~ " --time=ΛΕΚΤΙΚΟ εμφάνιση ώρας σαν ΛΕΚΤΙΚΟ αντί της ώρας\n" #~ " τροποποίησης:\n" #~ " atime, access, use, ctime ή status· χρήση\n" #~ " κλειδιού ταξινόμησης την δοσμένη ώρα αν\n" #~ " --sort=time\n" #~ " -t ταξινόμηση βάση ώρας τροποποίησης\n" #~ " -T, --tabsize=ΣΤΗΛΕΣ θεώρησε τους οριζόντιους στηλοθέτες " #~ "μεγέθους\n" #~ " ΣΤΗΛΕΣ αντί για 8\n" #~ " -u ταξινόμηση βάση χρόνου τελευταίας " #~ "πρόσβασης·\n" #~ " με -l: εμφάνιση του atime\n" #~ " -U χωρίς ταξινόμηση· εμφάνιση καταχωρήσεων σε\n" #~ " φυσική σειρά\n" #~ " -v ταξινόμηση βάση έκδοσης\n" #~ " -w, --width=ΣΤΗΛΕΣ θεώρησε πλάτος οθόνης ΣΤΗΛΕΣ αντί τρεχούσης\n" #~ " τιμής\n" #~ " -x εμφάνισης καταχωρίσεων ανά γραμμές αντί για " #~ "στήλες\n" #~ " -X αλφαβητική ταξινόμηση βάση κατάληξης\n" #~ " -1 εμφάνιση ενός αρχείου ανά γραμμή\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Εξ ορισμού, το χρώμα δε χρησιμοποιείται στο διαχωρισμό των αρχείων " #~ "ανάλογα με το είδος. Δηλάδη, είναι σαν να είναι --color=none. Με την " #~ "επιλογή\n" #~ "--color χωρίς το προαιρετικό όρισμα WHEN είναι συνώνυμο με\n" #~ "--color=always. Με --color=auto, οι χρωματικές πληροφορίες εμφανίζονται\n" #~ "όταν η κανονική έξοδος συνδέεται με τερματικό (tty).\n" # src/shred.c:463 #, fuzzy #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " -s, --size=N shred this many bytes (suffixes like k, M, G accepted)\n" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ " - shred standard output\n" #~ " --help display this help and exit\n" #~ " --version print version information and exit\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the filesystem overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern filesystem designs do not satisfy this\n" #~ "assumption. The following are examples of filesystems on which shred is\n" #~ "not effective:\n" #~ "\n" #~ "* log-structured or journaled filesystems, such as those supplied with\n" #~ " AIX and Solaris (and JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* filesystems that write redundant data and carry on even if some writes\n" #~ " fail, such as RAID-based filesystems\n" #~ "\n" #~ "* filesystems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ "* filesystems that cache in temporary locations, such as NFS\n" #~ " version 3 clients\n" #~ "\n" #~ "* compressed filesystems\n" #~ "\n" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Διαγραφή αρχείου με ασφάλεια, πρώτα γράφοντας πάνω του για να χαθεί\n" #~ "το περιεχόμενό του.\n" #~ " -f, --force αλλαγή δικαιωμάτων για να επιτραπεί η εγγραφή, αν " #~ "απαιτείται\n" #~ " -n, --iterations=N Εγγραφή από επάνω Ν φορές αντί του κανονικού (%d)\n" #~ " -s, --size=N διάλυση Ν bytes (καταλήξεις όπως k, M, G είναι δεκτές)\n" #~ " -u, --remove μηδένισε και διέγραψε το αρχείο μετά το γράψιμο από " #~ "πάνω\n" #~ " -v, --verbose εμφάνιση προόδου\n" #~ " -x, --exact να μη στογγυλοποιούνται τα μεγέθη αρχείων μέχρι το " #~ "επόμενο πλήρες μπλόκ\n" #~ " -z, --zero προσθήκη ενός τελικού γραψίματος από πάνω με μηδενικά " #~ "για να αποκρυφτεί η διάλυση\n" #~ " - διάλυση της κανονικής εξόδου\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "FIXME maybe add more discussion here?" # #, fuzzy #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ "Ενημέρωση των ημερομηνιών και ωρών πρόσβασης και τροποποίησης για κάθε " #~ "ΑΡΧΕΙΟ στη τρέχουσα ημερομηνία και ώρα.\n" #~ "\n" #~ " -a αλλαγή μόνο της ημερομηνίας πρόσβασης\n" #~ " -c χωρίς δημιουργία αρχείων\n" #~ " -d, --date=ΑΛΦΑΡΙΘΜΗΤΙΚΟ επεξεργασία του ΑΛΦΑΡΙΘΜΗΤΙΚΟΥ και χρήση\n" #~ " του αντί τις τρέχουσας ημερομηνίας\n" #~ " -f (αγνοείται)\n" #~ " -m αλλαγή μόνο της ημερομηνίας τροποποίησης\n" #~ " -r, --reference=ΑΡΧΕΙΟ χρήση των ημερομηνιών του αρχείου τούτου αντί\n" #~ " της τρέχουσας ημερομηνίας\n" #~ " -t ΗΜΕΡΟΜΗΝΙΑ χρήση MMDDhhmm[[CC]YY][.ss] αντί τρέχουσας\n" #~ " ημερομηνίας/ώρας\n" #~ " --time=ΛΕΚΤΙΚΟ ορισμός ημερομηνίας δοθείσας από το ΛΕΚΤΙΚΟ:\n" #~ " access atime use (όπως το -a)\n" #~ " modify mtime (ίδιο με -m)\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Λάβετε υπ όψιν ότι οι τρεις μορφές ώρα/ημερομηνίας που\n" #~ "αναγνωρίζονται για τις επιλογές -d και -t καθώς και την επιλογή που\n" #~ "αγνοείται, είναι όλες διαφορετικές.\n" # #, fuzzy #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "Πνευματικά Δικαιώματα (C) 1999 Free Software Foundation, Inc." #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "όταν δημιουργούνται ειδικά αρχεία χαρακτήρων, οι major και minor\n" #~ "αριθμοί συσκευής πρέπει να ορίζονται" #~ msgid "group of %s changed to %s\n" #~ msgstr "η ομάδα του %s άλλαξε σε %s\n" #, fuzzy #~ msgid "ownership of %s changed to " #~ msgstr "ο ιδιοκτήτης του %s άλλαξε σε " #, fuzzy #~ msgid "you are not a member of group %s" #~ msgstr "δεν είστε μέλος της ομάδας `%s'" # #, fuzzy #~ msgid "cannot make fifo %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "cannot change permissions for %s" #~ msgstr "αδυναμία αλλαγής ιδιοκτησίας στο %s" # #, fuzzy #~ msgid "cannot remove old link to %s" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot create directory `%s'" #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "cannot remove `%s'" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "specified target, `%s' is not a directory" #~ msgstr "το `%s' υπάρχει ήδη άλλα δεν είναι κατάλογος" #~ msgid "`%s' and `%s' are the same file" #~ msgstr "τα `%s' και `%s' είναι το ίδιο αρχείο" # #, fuzzy #~ msgid "cannot backup `%s'" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "cannot un-backup `%s'" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #~ msgid "cannot chmod %s" #~ msgstr "αδύνατη η αλλαγή δικαιωμάτων στο %s" # #, fuzzy #~ msgid "`%s' exists but is not a directory" #~ msgstr "το `%s' υπάρχει ήδη άλλα δεν είναι κατάλογος" # src/cp.c:758 src/ln.c:454 src/mv.c:432 #~ msgid "--version-control" #~ msgstr "--version-control" #~ msgid "create %s %s to %s" #~ msgstr "δημιουργία %s %s στο %s" #~ msgid "link" #~ msgstr "σύνδεσμος" # #, fuzzy #~ msgid "current directory" #~ msgstr "κατάλογος" # #, fuzzy #~ msgid "starting directory" #~ msgstr "κατάλογος" # src/copy.c:549 #~ msgid "%s -> %s (backup)\n" #~ msgstr "%s -> %s (αντίγραφο ασφαλείας)\n" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ msgstr "" #~ "Χρήση: %s [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ]... (χωρίς -G)\n" #~ " ή: %s -G [ΕΠΙΛΟΓΗ]... [ΕΙΣΟΔΟΣ [ΕΞΟΔΟΣ]]\n" # #, fuzzy #~ msgid "Usage: %s [OPTION]... EXISTING_DIR NEW_DIR\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]... ΣΥΝΟΛΟ1 [ΣΥΝΟΛΟ2]\n" #, fuzzy #~ msgid "cannot rename `.' or `..'" #~ msgstr "Δεν μπορεί να καθοριστεί το όνομα του συστήματος" #~ msgid "sparse type" #~ msgstr "αραιό είδος" # #, fuzzy #~ msgid "%s is closed" #~ msgstr "η κανονική είσοδος είναι κλεισμένη" #~ msgid "format type" #~ msgstr "είδος μορφής" #~ msgid "colorization criterion" #~ msgstr "κριτήριο χρωματισμού" #~ msgid "indicator style" #~ msgstr "μορφή κατηγοροποιητή" #~ msgid "quoting style" #~ msgstr "μορφή παράθεσης" #~ msgid "time selector" #~ msgstr "επιλογέας χρόνου" #~ msgid "" #~ "the option for counting 1MB blocks may not be used\n" #~ "with the portable output format" #~ msgstr "" #~ "η επιλογή μέτρησης των 1M μπλοκ δε μπορεί να χρησιμοποιηθεί\n" #~ "με τη συμβατή μορφή εξόδου" #, fuzzy #~ msgid "removing non-directory %s\n" #~ msgstr "ΠΡΟΣΟΧΗ: δεν είναι δυνατόν να αλλαχτεί ο κατάλογος σε %s" # #, fuzzy #~ msgid "remove directory `%s'%s? " #~ msgstr "αδύνατη η δημιουργία καταλόγου `%s'" # #, fuzzy #~ msgid "Usage: %s [OPTION]... GROUP FILE...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" #~ msgid "cannot move `%s' across filesystems: Not a regular file" #~ msgstr "" #~ "αδυναμία μετακίνησης του `%s' μεταξύ συστημάτων αρχείων: Δεν είναι " #~ "κανονικό αρχείο" #~ msgid "%s: replace `%s', overriding mode %04o? " #~ msgstr "%s: αντικατάσταση του `%s', παράκαμψη δικαιωμάτων %04o; " #~ msgid "%s: remove %s`%s', overriding mode %04o? " #~ msgstr "%s: διαγραφή του %s`%s', παρακάπτωντας τα δικαιώματα %04o; " #~ msgid "%s: descend directory `%s', overriding mode %04o? " #~ msgstr "" #~ "%s: διαγραφή και του καταλόγου `%s', παρακάμπτωντας τα δικαιώματα %04o; " #~ msgid "%s: remove directory `%s' (might be nonempty)? " #~ msgstr "%s: διαγραφή καταλόγου `%s' (μπορεί να μην είναι άδειο); " #~ msgid "days" #~ msgstr "μέρες" #~ msgid "users" #~ msgstr "χρήστες" # #, fuzzy #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %%%% a literal %%\n" #~ " %%a locale's abbreviated weekday name (Sun..Sat)\n" #~ " %%A locale's full weekday name, variable length (Sunday..Saturday)\n" #~ " %%b locale's abbreviated month name (Jan..Dec)\n" #~ " %%B locale's full month name, variable length (January..December)\n" #~ " %%c locale's date and time (Sat Nov 04 12:02:33 EST 1989)\n" #~ " %%C century (year divided by 100 and truncated to an integer) [00-" #~ "99]\n" #~ " %%d day of month (01..31)\n" #~ " %%D date (mm/dd/yy)\n" #~ " %%e day of month, blank padded ( 1..31)\n" #~ " %%h same as %%b\n" #~ " %%H hour (00..23)\n" #~ " %%I hour (01..12)\n" #~ " %%j day of year (001..366)\n" #~ " %%k hour ( 0..23)\n" #~ " %%l hour ( 1..12)\n" #~ " %%m month (01..12)\n" #~ " %%M minute (00..59)\n" #~ " %%n a newline\n" #~ " %%p locale's AM or PM\n" #~ " %%r time, 12-hour (hh:mm:ss [AP]M)\n" #~ " %%s seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)\n" #~ " %%S second (00..60)\n" #~ " %%t a horizontal tab\n" #~ " %%T time, 24-hour (hh:mm:ss)\n" #~ " %%u day of week (1..7); 1 represents Monday\n" #~ " %%U week number of year with Sunday as first day of week (00..53)\n" #~ " %%V week number of year with Monday as first day of week (01..53)\n" #~ " %%w day of week (0..6); 0 represents Sunday\n" #~ " %%W week number of year with Monday as first day of week (00..53)\n" #~ " %%x locale's date representation (mm/dd/yy)\n" #~ " %%X locale's time representation (%%H:%%M:%%S)\n" #~ " %%y last two digits of year (00..99)\n" #~ " %%Y year (1970...)\n" #~ " %%z RFC-822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %%Z time zone (e.g., EDT), or nothing if no time zone is " #~ "determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ "\n" #~ "Η ΜΟΡΦΗ ελέγχει την εκτύπωση. Η μόνη ισχύουσα επιλογή για την δευτερη " #~ "φόρμα\n" #~ "καθορίζει την παγκόσμια ώρα(UTC). Οι σειρές που ερμηνεύονται ειναι:\n" #~ "\n" #~ " %%%% Ο χαρακτήρας %%\n" #~ " %%a Τα τοπικά ονόματα των ημερών της εβδομάδας (Κυρ..Σαβ)\n" #~ " %%A Τα ολόκληρα τοπικά ονόματα των ημερών της εβδομάδας\n" #~ " με μεταβλητό μήκος (Κυριακή..Σαββατο)\n" #~ " %%b Τα τοπικά ονόματα των μηνών (Ιαν..Δεκ)\n" #~ " %%B Τα ολόκληρα τοπικά ονόματα των μηνών μεταβλητού μήκους\n" #~ " (Ιανουάριος..Δεκέμβριος)\n" #~ " %%c Η τοπική ημερομηνία και ώρα (Σαβ 04 Νοε 12:02:33 EΕT 1989)\n" #~ " %%d Η μέρα του μήνα (01..31)\n" #~ " %%D Ημερομηνία (μμ/ηη/χχ)\n" #~ " %%d Η μέρα του μήνα, με ένα κενό ( 1..31)\n" #~ " %%h Ομοίως με %%b\n" #~ " %%H Ωρα (00..23)\n" #~ " %%I Ωρα (01..12)\n" #~ " %%j Η μέρα του χρόνου αριθμητικά (001..366)\n" #~ " %%k Ωρα ( 0..23)\n" #~ " %%l Ωρα ( 1..12)\n" #~ " %%m Μήνας (01..12)\n" #~ " %%M Λεπτό (00..59)\n" #~ " %%n Μια νέα γραμμή\n" #~ " %%p Τοπικό ΜΜ ή ΠΜ\n" #~ " %%r Ωρα, 12-ωρα (ωω:λλ:δδ [ΜΠ]M)\n" #~ " %%s Δευτερόλεπτα από 00:00:00, Ιαν 1, 1970 (μια επέκταση της GNU)\n" #~ " %%S Δευτερόλεπτα (00..61)\n" #~ " %%t Οριζόντια κατάταξη σε πίνακα (tab)\n" #~ " %%T Ωρα, 24-ωρα (ωω:λλ:δδ)\n" #~ " %%U Ο αριθμός της εβδομάδας του χρόνου με την Κυριακή να είναι\n" #~ " η πρώτη μέρα της εβδομάδας (00..53)\n" #~ " %%V Ο αριθμός της εβδομάδας του χρόνου με την Δευτέρα να είναι\n" #~ " η πρώτη μέρα της εβδομάδας (01..52)\n" #~ " %%w Μέρα της εβδομάδας (0..6); Το 0 παριστά την Κυριακή\n" #~ " %%W Ο αριθμός της εβδομάδας του χρόνου με την Δευτέρα να είναι η " #~ "πρώτη\n" #~ " μέρα της εβδομάδας (00..53)\n" #~ " %%x Τοπική αναπαράσταση της ημερομηνίας (ΜΜ/ΗΗ/ΧΧ)\n" #~ " %%X Τοπική αναπαράσταση της ώρας (%%Ω:%%Λ:%%Δ)\n" #~ " %%y Τα δύο τελευταία ψηφία της χρονιάς (00..99)\n" #~ " %%Y Χρόνος (1970...)\n" #~ " %%z Η ζώνη ώρας σε μορφή αριθμητική σύμφωνα με το RFC-822 (-0500)\n" #~ " (μια μη τυπική επέκταση)\n" #~ " %%Z Ζώνη ώρας (π.χ. EDT), ή τίποτα εαν δεν έχει καθοριστεί ζώνη ώρας\n" #~ "\n" #~ "Εξ'ορισμού, τα αριθμητικά στοιχεία της ημερομηνίας συμπληρώνονται με " #~ "μηδενικά.\n" #~ "Το GNU date αναγνωρίζει τους παρακάτω μετατροπείς μεταξύ `%%' και\n" #~ "αριθμητικής κατευθυντήριας γραμμής.\n" #~ " `-' (παύλα) Να μην συμπληρώθεί το πεδίο\n" #~ " `_' (υπογράμμιση) Να συμπληρωθεί το πεδίο με κενά\n" #, fuzzy #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ " --help display this help and exit (should be alone)\n" #~ " --version output version information and exit (should be alone)\n" #~ "\n" #~ "Without -E, the following sequences are recognized and interpolated:\n" #~ "\n" #~ " \\NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "Εκτυπώνει την ΑΛΥΣΙΔΑ στην τυπική έξοδο.\n" #~ "\n" #~ " -n Να μην εκτυπωθεί νεα γραμμή στο τέλος\n" #~ " -e (δεν χρησιμοποιείται)\n" #~ " -E Απενεργοποιεί την παρεμβολή μερικών διαδοχών στην \n" #~ " ΑΛΥΣΙΔΑ\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #~ "\n" #~ "Χωρίς την -E, οι διαδοχές που ακολουθούν αναγνωρίζονται και " #~ "παραμβάλονται:\n" #~ "\n" #~ " \\NNN Ο χαρακτήρας που ο ASCII κωδικός του είναι NNN (στο οκταδικό)\n" #~ " \\\\ Ο χαρακτήρας `\\'\n" #~ " \\a Ηχος αφύπνισης\n" #~ " \\b Πισωδιάστημα\n" #~ " \\c Παύει την νεα σειρά στο τέλος\n" #~ " \\f Αλλαγή σελίδας\n" #~ " \\n Νέα σειρά\n" #~ " \\r Επιστροφή του δρομέα\n" #~ " \\t Οριζόντια κατάταξη σε πίνακα (tab)\n" #~ " \\v Κάθετη καταξη σε πίνακα\n" #, fuzzy #~ msgid "" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 %% ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ "Εκτυπώνει την τιμή της ΕΚΦΡΑΣΗ στην τυπική έξοδο. Μια κενή γραμμή,\n" #~ " πιο κάτω, χωρίζει σε ομάδες με αύξουσα προτεραιότητα.\n" #~ "Η ΕΚΦΡΑΣΗ μπορεί να είναι:\n" #~ "\n" #~ " ΠΑΡΑΜ1 | ΠΑΡΑΜ2 ΠΑΡΑΜ1 αν δεν είναι κενή ή 0, αλλιώς ΠΑΡΑΜ2\n" #~ "\n" #~ " ΠΑΡΑΜ1 & ΠΑΡΑΜ2 ΠΑΡΑΜ1 εαν καμιά από τις παραμέτρους δεν ειναι " #~ "κενή\n" #~ " ή μηδέν, αλλιώς 0\n" #~ "\n" #~ " ΠΑΡΑΜ1 < ΠΑΡΑΜ2 ΠΑΡΑΜ1 είναι μικρότερη της ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 <= ΠΑΡΑΜ2 ΠΑΡΑΜ1 είναι μικρότερη ή ίση της ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 = ΠΑΡΑΜ2 ΠΑΡΑΜ1 είναι ίση με ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 != ΠΑΡΑΜ2 ΠΑΡΑΜ1 δεν είναι ίση με την ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 >= ΠΑΡΑΜ2 ΠΑΡΑΜ1 είναι μεγαλύτερη ή ίση της ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 > ΠΑΡΑΜ2 ΠΑΡΑΜ1 είναι μεγαλύτερη της ΠΑΡΑΜ2\n" #~ "\n" #~ " ΠΑΡΑΜ1 + ΠΑΡΑΜ2 Το αριθμητικό άθροισμα των ΠΑΡΑΜ1 και ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 - ΠΑΡΑΜ2 Η αριθμητική διαφορά της ΠΑΡΑΜ1 με την ΠΑΡΑΜ2\n" #~ "\n" #~ " ΠΑΡΑΜ1 * ΠΑΡΑΜ2 Το αριθμητικό γινόμενο των ΠΑΡΑΜ1 και ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 / ΠΑΡΑΜ2 Το αριθμητικό πηλίκο της ΠΑΡΑΜ1 δια της ΠΑΡΑΜ2\n" #~ " ΠΑΡΑΜ1 %% ΠΑΡΑΜ2 Το υπόλοιπο της ΠΑΡΑΜ1 δια την ΠΑΡΑΜ2\n" #~ "\n" #~ " ΑΛΥΣΙΔΑ : ΚΑΝ_ΕΚΦ\n" #~ " Ταίριασμα της ΚΑΝ_ΕΚΦ μεσα στην ΑΛΥΣΙΔΑ\n" #~ "\n" #~ " match ΑΛΥΣΙΔΑ ΚΑΝ_ΕΚΦ\n" #~ " Oμοιο με ΑΛΥΣΙΔΑ : ΚΑΝ_ΕΚΦ\n" #~ " substr ΑΛΥΣΙΔΑ ΘΕΣΗ ΜΗΚΟΣ\n" #~ " Aφαιρεί απο την ΑΛΥΣΙΔΑ, αρχίζοντας απο την ΘΕΣΗ\n" #~ " (μετρώντας απο το 1) \n" #~ " index ΑΛΥΣΙΔΑ Τιμή της θέσης του ΧΑΡΑΚΤΗΡΑ εάν βρεθεί στην\n" #~ " ΑΛΥΣΙΔΑ, αλλιώς 0\n" #~ " length ΑΛΥΣΙΔΑ Μήκος της ΑΛΥΣΙΔΑΣ\n" #~ "\n" #~ " ( EΚΦΡΑΣΗ ) Τιμή της ΕΚΦΡΑΣΗΣ\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\0NNN character with octal value NNN (0 to 3 digits)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " \\xNNN byte with hexadecimal value NNN (1 to 3 digits)\n" #~ "\n" #~ " \\uNNNN character with hexadecimal value NNNN (4 digits)\n" #~ " \\UNNNNNNNN character with hexadecimal value NNNNNNNN (8 digits)\n" #~ " %%%% a single %%\n" #~ " %%b ARGUMENT as a string with `\\' escapes interpreted\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ "Εκτυπώνει τις ΠΑΡΑΜΕΤΡΟΥΣ σύμφωνα μη την ΜΟΡΦΗ.\n" #~ "\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #~ "\n" #~ "Η ΜΟΡΦΗ ελέγχει την έξοδο όπως η συνάρτηση printf() στην C.\n" #~ "Οι σειρές που ερμηνεύονται ειναι:\n" #~ "\n" #~ " \\\" Εισαγωγικά\n" #~ " \\0NNN Ο χαρακτήρας με οκταδική τιμή NNN (0 μέχρι 3 ψηφία)\n" #~ " \\\\ Ο χαρακτήρας `\\'\n" #~ " \\a Ηχος αφύπνισης\n" #~ " \\b Πισωδιάστημα\n" #~ " \\c Σταματάει την εκτυπώση\n" #~ " \\f Αλλαγή σελίδας\n" #~ " \\n Αλλαγή γραμμής\n" #~ " \\r Επιστροφή δρομέα\n" #~ " \\t Οριζόντια κατάταξη σε πίνακα (tab)\n" #~ " \\v Κάθετη κατάταξη σε πίνακα\n" #~ " \\xNNN Ο χαρακτήρας με δεκαεξαδική τιμή NNN (1 μέχρι 3 ψηφία)\n" #~ "\n" #~ " %%%% Ο χαρακτήρας `%%'\n" #~ " %%b Οι ΠΑΡΑΜΕΤΡΟΙ σαν αλυσίδα με τους χαρακτήρες διαφυγής `\\'\n" #~ " ερμηνευμένους\n" #~ "\n" #~ "επίσης όλα τα χαρακτηριστικά της μορφής στη C, που λήγουν\n" #~ "σε ένα απο τα diouxXfeEgGcs, με την ΠΑΡΑΜΕΤΡΟ να έχει μετατραπεί\n" #~ "στον σωστό τύπο.\n" #~ "Οι μεταβλητές μεταβλητού μήκος υποστηρίζονται.\n" # #, fuzzy #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ "\n" #~ "Ειδικοί χαρακτήρες:\n" #~ "* dsusp ΧΑΡ Ο ΧΑΡ θα μεταδώσει σήμα αναστολής τερματικού αμέσως " #~ "μόλις\n" #~ " η είσοδος αδειάσει\n" #~ " eof ΧΑΡ Ο ΧΑΡ θα μεταδώσει ένα τελος αρχείου (τέλος εισόδου)\n" #~ " eol ΧΑΡ Ο ΧΑΡ θα μεταδώσει ένα τελος γραμμής\n" #~ "* eol2 ΧΑΡ Εναλακτικός ΧΑΡ για τέλος γραμμής\n" #~ " erase ΧΑΡ Ο ΧΑΡ θα σβήσει τον τελευταίο χαρακτήρα που " #~ "πληκτρολογήθηκε\n" #~ " intr ΧΑΡ Ο ΧΑΡ θα μεταδώσει σήμα διακοπής\n" #~ " kill ΧΑΡ Ο ΧΑΡ θα σβήσει την τρέχουσα γραμμή\n" #~ "* lnext ΧΑΡ Ο ΧΑΡ θα εισάγει τον επόμενο χαρακτήρα σε εισαγωγικά\n" #~ " quit ΧΑΡ Ο ΧΑΡ θα μεταδόσει σήμα τέλους\n" #~ "* rprnt ΧΑΡ Ο ΧΑΡ θα ξαναζωγραφίσει την τρέχουσα γραμμή\n" #~ " start ΧΑΡ Ο ΧΑΡ θα ξαναρχίσει την έξοδο μετά το σταματημά της\n" #~ " stop ΧΑΡ Ο ΧΑΡ θα σταματήσει την έξοδο\n" #~ " susp ΧΑΡ Ο ΧΑΡ θα μεταδώσει σήμα αναστολής τερματικού\n" #~ "* swtch ΧΑΡ Ο ΧΑΡ θα επιτρέψει την μεταφορά σε διαφορετική στρώση " #~ "κελύφους\n" #~ " (shell layer)\n" #~ "* werase ΧΑΡ Ο ΧΑΡ θα σβήσει την τελευταία λέξη που πληκτρολογήθηκε\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "\n" #~ "Ειδικές εκλογές:\n" #~ " N Θέτει την ταχύτητα είσοδου και έξοδου σε Ν baud\n" #~ "* cols N Πληροφορεί τον πυρήνα οτι το τερματικό έχει N στήλες\n" #~ "* columns N Ομοιο με το cols N\n" #~ " ispeed N Θέτει την ταχύτητα εισόδου σε N\n" #~ "* line N Χρησιμοποιεί την συμπεριφορά γραμμής N\n" #~ " min N Μαζί με -icanon, θέτει σε N τον αριθμό χαρακτήρων\n" #~ " απαραίτητων για μια πλήρη ανάγνωση\n" #~ " ospeed N Θέτει την ταχύτητα εξόδου σε N\n" #~ "* rows N Πληροφορεί τον πυρήνα ότι το τερματικό έχει N σειρές\n" #~ "* size Εκτυπώνει τον αριθμό γραμμών και στειλών\n" #~ " σύμφωνα με τον πυρήνα\n" #~ " speed Εκτυπώνει την ταχύτητα του τερματικού\n" #~ " time N Μαζί με -icanon, θέτει το χρονόμετρο τέρματισμού της\n" #~ " ανενεργής ανάγνωσης σε N δέκατα δευτερολέπτου\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "\n" #~ "Επιλογές εισόδου:\n" #~ " [-]brkint Το 'break' προκαλεί ένα σήμα διακοπής\n" #~ " [-]icrnl Μετατρέπει την `επαναφορά δρομέα' σε `νέα γραμμή'\n" #~ " [-]ignbrk Αγνοεί τους χαρακτήρες διακοπής (break)\n" #~ " [-]igncr Αγνοεί την επαναφορά δρομέα\n" #~ " [-]ignpar Αγνοεί τους χαρακτήρες με λάθη ισοτημίας\n" #~ "* [-]imaxbel Ενεργοποιεί τον ήχο και δεν αδειάζει ένα γεμάτο buffer\n" #~ " εισόδου με την άφιξη ενός χαρακτήρα\n" #~ " [-]inlcr Μετατρέπει την `νεα γραμμη' σε `επαναφορά δρομέα'\n" #~ " [-]inpck Ενεργοποιεί την επαλήθευση ισοτημίας εισόδου\n" #~ " [-]istrip Αφαιρεί το υψηλό bit (8ο) των χαρακτήρων εισόδου\n" #~ "* [-]iuclc Μετατρέπει τα κεφαλαία σε μικρά\n" #~ "* [-]ixany Αφήνει κάθε χαρακτήρα να ξαναρχίσει την έξοδο, όχι μονο " #~ "τον\n" #~ " χαρακτήρα εκκίνησης\n" #~ " [-]ixoff Ενεργοποιεί την αποστολή χαρακτήρων αρχή/τέλος\n" #~ " [-]ixon Ενεργοποιεί τον XON/XOFF έλεγχος ροής\n" #~ " [-]parmrk Δείχνει τα λάθη ισότημίας (με μια σειρά χαρακτήρων 255-" #~ "0)\n" #~ " [-]tandem Ομοιο με [-]ixoff\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ "\n" #~ "Τοπικές επιλογές:\n" #~ " [-]crterase Προσθέτει ηχώ στον χαρακτήρα σβησίματος σύμφωνα με την " #~ "σειρά\n" #~ " πισωδιάστημα-διάστημα-πισωδιάστημα\n" #~ "* crtkill Σκοτώνει όλη την γραμμή υπακούοντας στις επιλογές\n" #~ " 'echoprt' και 'echoe'\n" #~ "* -crtkill Σκοτώνει όλη την γραμμή υπακούοντας στις επιλογές\n" #~ " 'echoctl' και 'echok'\n" #~ "* [-]ctlecho Προσθέτει ηχώ στους χαρακτήρες ελέγχου στη σημειογραφία\n" #~ " καπέλο (`^c')\n" #~ " [-]echo Προσθέτει ηχώ στους εισαγώμενους χαρακτήρες\n" #~ "* [-]echoctl Ομοιο με [-]ctlecho\n" #~ " [-]echoe Ομοιο με [-]crterase\n" #~ " [-]echok Προσθέτει `νεα γραμμή' μετά απο ένα `kill' χαρακτήρα * [-]" #~ "echoke Ομοιο [-]crtkill\n" #~ " [-]echonl Προσθέτει ηχώ στη `νέα γραμμή' ακόμη και αν δεν " #~ "συμβαίνει\n" #~ " για τους άλλους χαρακτήρες\n" #~ "* [-]echoprt Προσθέτει ηχώ στους σβησμένους χαρακτήρες προς τα " #~ "πίσω μεταξύ `\\' και '/'\n" #~ " [-]icanon Ενεργοποιεί τους ειδικούς χαρακτήρες\n" #~ " 'erase', 'kill', 'werase', και 'rprnt'\n" #~ " [-]iexten Ενεργοποιεί τους μη-POSIX ειδικούς χαρακτήρες\n" #~ " [-]isig Ενεργοποιεί τους ειδικούς χαρακτήρες\n" #~ " 'interrupt', 'quit', και 'suspend'\n" #~ " [-]noflsh Απενεργοποιεί το άδειασμα μετά τους ειδικούς χαρακτήρες\n" #~ " 'interrupt' και 'quit'\n" #~ "* [-]prterase Ομοιο με [-]echoprt\n" #~ "* [-]tostop Σταματά τις δουλειές στο παρασκήνιο που προσπαθούν να\n" #~ " γράψουν στο τερματικό\n" #~ "* [-]xcase Μαζι με το 'icanon', διαφεύγει με `\\'\n" #~ " για τα κεφαλαία\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ "\n" #~ "Συνδυαστικές επιλογές:\n" #~ "* [-]LCASE Ομοιο με [-]lcase\n" #~ " cbreak Ομοιο με -icanon\n" #~ " -cbreak Ομοιο με icanon\n" #~ " cooked Ομοιο με brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof και eol στις εξ'ορισμού τιμές τους\n" #~ " -cooked Ομοιο με raw\n" #~ " crt Ομοιο με echoe echoctl echoke\n" #~ " dec Ομοιο με echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ "* [-]decctlq Ομοιο με [-]ixany\n" #~ " ek `erase' και `kill' χαρακτήρες στις εξ'ορισμού τιμές τους\n" #~ " evenp Ομοιο με parenb -parodd cs7\n" #~ " -evenp Ομοιο με -parenb cs8\n" #~ "* [-]lcase Ομοιο με xcase iuclc olcuc\n" #~ " litout Ομοιο με -parenb -istrip -opost cs8\n" #~ " -litout Ομοιο με parenb istrip opost cs7\n" #~ " nl Ομοιο με -icrnl -onlcr\n" #~ " -nl Ομοιο με icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp Ομοιο με parenb parodd cs7\n" #~ " -oddp Ομοιο με -parenb cs8\n" #~ " [-]parity Ομοιο με [-]evenp\n" #~ " pass8 Ομοιο με -parenb -istrip cs8\n" #~ " -pass8 Ομοιο με parenb istrip cs7\n" #~ " raw Ομοιο με -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 φορά 0\n" #~ " -raw Ομοιο με cooked\n" #~ " sane Ομοιο με cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, και όλους τους\n" #~ " ειδικούς χαρακτήρες με τις εξ'ορισμού τιμές τους.\n" #, fuzzy #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and is readable\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ " -S FILE FILE exists and is a socket\n" #~ " -t [FD] file descriptor FD (stdout by default) is opened on a " #~ "terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and is writable\n" #~ " -x FILE FILE exists and is executable\n" #~ msgstr "" #~ "\n" #~ " ΑΡΧΕΙΟ1 -ef ΑΡΧΕΙΟ2 ΑΡΧΕΙΟ1 και ΑΡΧΕΙΟ2 έχουν το ίδιο νούμερο\n" #~ " συσκευής και inode\n" #~ " ΑΡΧΕΙΟ1 -nt ΑΡΧΕΙΟ2 ΑΡΧΕΙΟ1 είναι πιο πρόσφατο (ημερομηνία " #~ "μετατροπής)\n" #~ " απο το ΑΡΧΕΙΟ2\n" #~ " ΑΡΧΕΙΟ1 -ot ΑΡΧΕΙΟ2 ΑΡΧΕΙΟ1 είναι πιο παλιό απο το ΑΡΧΕΙΟ2\n" #~ "\n" #~ " -b ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και είναι αρχείο τύπου block\n" #~ " -c ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και είναι ειδικού τύπου χαρακτήρων\n" #~ " -d ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και είναι κατάλογος\n" #~ " -e ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει\n" #~ " -f ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και είναι κανονικού τύπου\n" #~ " -g ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και το bit 'set-group-ID' έχει τεθεί\n" #~ " -G ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και ανήκει στην ισχύουσα ταυτότητα\n" #~ " (effective id) ομάδας\n" #~ " -k ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και το bit 'sticky' έχει τεθεί\n" #~ " -L ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και είναι συμβολική σύνδεση (symbolic " #~ "link)\n" #~ " -O ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και ανήκει στην ισχύουσα ταυτότητα χρήστη\n" #~ " -p ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και είναι αρχείο τύπου named pipe\n" #~ " -r ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και είναι αναγνώσιμο\n" #~ " -s ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και έχει μέγεθος θετικό\n" #~ " -S ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και είναι του τύπου socket\n" #~ " -t [ΠΑ] Ο περιγραφητης αρχείου (FD) (τυπική έξοδος εξ'ορισμού)\n" #~ " είναι ανοιχτός σε ένα τερματικό\n" #~ " -u ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και το bit 'set-user-ID' έχει τεθεί\n" #~ " -w ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και είναι εγγράψιμο\n" #~ " -x ΑΡΧΕΙΟ ΑΡΧΕΙΟ υπάρχει και είναι εκτελέσιμο\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " --login print system login processes\n" #~ " (equivalent to SUS -l)\n" #~ " -l, --lookup attempt to canonicalize hostnames via DNS\n" #~ " (-l is deprecated, use --lookup)\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users lists users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ " -H, --heading Εκτυπώνει γραμμή με τις επικεφαλίδες των στηλών\n" #~ " -i, -u, --idle Προσθέτει τον χρόνο που ο χρήστης είναι αδρανής\n" #~ " στη μορφή ΩΡΕΣ:ΛΕΠΤΑ, . ή 'παλιά'\n" #~ " -m Μόνο το όνομα του συστήματος (hostname) και\n" #~ " τον χρήστη που συνδέεται με την τυπική είσοδο\n" #~ " -q, --count Εκτυπώνει όλες τις ενεργές συνδέσεις και τον αριθμό " #~ "των\n" #~ " χρηστών που βρίσκονται στο σύστημα\n" #~ " -s (αγνοείται)\n" #~ " -T, -w, --mesg Εκτυπώνει την κατάσταση μηνυμάτων του χρήστη με +, - " #~ "ή ?\n" #~ " --message Ομοιο με -T\n" #~ " --writable Ομοιο με -T\n" #~ " --help Εκτυπώνει αυτή την βοήθεια και τερματίζει\n" #~ " --version Εκτυπώνει πληροφορίες έκδοσης και τερματίζει\n" #~ "\n" #~ "Εαν ΑΡΧΕΙΟ δεν καθορίζεται, χρησιμοποιείται το %s.\n" #~ "Το %s σαν ΑΡΧΕΙΟ είναι κοινό. Εάν ΠΑΡΑΜ1 και ΠΑΡΑΜ2 δοθούν,\n" #~ "το -m εννοείται: `am i' ή `mom likes' είναι συνηθισμένα.\n" # #, fuzzy #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ msgid "USER" #~ msgstr "ΧΡΗΣΤΗΣ" #~ msgid "MESG " #~ msgstr "ΜΗΝΜ " #~ msgid "LOGIN-TIME " #~ msgstr "ΩΡΑ-ΕΙΣΟΔΟΥ " #~ msgid "FROM\n" #~ msgstr "ΑΠΟ\n" #~ msgid "" #~ msgstr "<Μη ορισμένο>" #, fuzzy #~ msgid "Usage: %s [-v]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΗ]\n" # #, fuzzy #~ msgid "Usage: %s [OPTION]... [VARIABLE]...\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "Usage: %s [OPTION]... NUMBER[SUFFIX]\n" #~ msgstr "Χρήση: %s [ΕΠΙΛΟΓΕΣ]... [ΑΡΧΕΙΟ]...\n" # #, fuzzy #~ msgid "" #~ "\n" #~ "(obsolete) If -VALUE is used as first OPTION, same as -c VALUE when one " #~ "of\n" #~ "multipliers bkm follows concatenated, else same as -n VALUE.\n" #~ msgstr "" #~ "Εμφάνιση των 10 πρώτων γραμμών από κάθε ΑΡΧΕΙΟ στην κανονική έξοδο.\n" #~ "Με περισσότερα από ένα ΑΡΧΕΙΟ, να προηγηθεί επισέλιδο με το όνομα του " #~ "αρχείου.\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -c, --bytes=ΜΕΓΕΘΟΣ εμφάνιση των πρώτων ΜΕΓΕΘΟΣ bytes\n" #~ " -n, --lines=ΑΡΙΘΜΟΣ εμφάνιση των πρώτων ΑΡΙΘΜΟΣ γραμμών αντί των " #~ "πρώτων 10\n" #~ " -q, --quiet, --silent να μην τυπώνονται επισέλιδα με τα ονόματα " #~ "αρχείων\n" #~ " -v, --verbose να τυπώνονται πάντα επισέλιδα με τα ονόματα " #~ "αρχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Το ΜΕΓΕΘΟΣ μπορεί να έχει κατάληξη με πολλαπλασιαστή: b για 512, k για " #~ "1K, m για 1 Meg.\n" #~ "Αν χρησιμοποιείται το -VALUE σαν πρώτη ΕΠΙΛΟΓΗ, ανάγνωσε -c ΤΙΜΗ όταν\n" #~ "ένας από τους πολλαπλασιαστές bkm ακολουθεί συνενωμένος, διαφορετικά " #~ "ανάγνωσε -n ΤΙΜΗ\n" # #, fuzzy #~ msgid "" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolete\n" #~ msgstr "" #~ "Σύγκριση ταξινομημένων αρχείων ΑΡΙΣΤΕΡΌ_ΑΡΧΕΊΟ και ΔΕΞΙΌ_ΑΡΧΕΊΟ, ανά " #~ "γραμμή.\n" #~ "\n" #~ " -1 απόκρυψη μοναδικών γραμμών στο αριστερό αρχείο\n" #~ " -2 απόκρυψη μοναδικών γραμμών στο δεξιό αρχείο\n" #~ " -3 απόκρυψη μοναδικών γραμμών και στα δύο αρχεία\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Εμφάνιση άθροισμα ελέγχου CRC και αριθμό bytes για κάθε ΑΡΧΕΙΟ.\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -i, --initial do not convert TABs after non whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ "Μετατροπή στηλογνωμόνων σε κάθε ΑΡΧΕΙΟ σε διαστήματα, με εγγραφή στην " #~ "κανονική έξοδο.\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -i, --initial να μη μετατραπούν τα TAB μετά από μη-λευκούς " #~ "χαρακτήρες\n" #~ " -t, --tabs=ΑΡΙΘΜ οι στηλογνώμονες να έχουν μέγεθος ΑΡΙΘΜός " #~ "χαρακτήρες, όχι 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χρήση λίστας διαχωρισμένης με κόμματα για ορισμό " #~ "θέσεων στηλογνωμόνων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μπορούν να " #~ "χρησιμοποιηθούν.\n" # #, fuzzy #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "Μετατροπή στηλογνωμόνων σε κάθε ΑΡΧΕΙΟ σε διαστήματα, με εγγραφή στην " #~ "κανονική έξοδο.\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -i, --initial να μη μετατραπούν τα TAB μετά από μη-λευκούς " #~ "χαρακτήρες\n" #~ " -t, --tabs=ΑΡΙΘΜ οι στηλογνώμονες να έχουν μέγεθος ΑΡΙΘΜός " #~ "χαρακτήρες, όχι 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χρήση λίστας διαχωρισμένης με κόμματα για ορισμό " #~ "θέσεων στηλογνωμόνων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μπορούν να " #~ "χρησιμοποιηθούν.\n" # #, fuzzy #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Αναδίπλωση γραμμών εισόδου σε κάθε ΑΡΧΕΙΟ (κανονική είσοδος εξ ορισμού),\n" #~ "γράφοντας στην κανονική έξοδο.\n" #~ "\n" #~ " -b, --bytes μέτρηση bytes αντί στηλών\n" #~ " -s, --spaces αναδίπλωση σε διαστήματα μόνο\n" #~ " -w, --width=ΠΛΑΤΟΣ χρήση ΠΛΑΤΟΣ στήλες αντί για 80\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση γραμμών που απαρτίζονται από τις σειριακά αντίστοιχες γραμμές " #~ "από\n" #~ "κάθε ΑΡΧΕΙΟ, χωρισμένες με TABs, στην κανονική έξοδο.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -d, --delimiters=ΛΙΣΤΑ επαναχρησιμοποίηση χαρακτήρων από τη ΛΙΣΤΑ αντί " #~ "για TABs\n" #~ " -s, --serial επικόλληση ενός αρχείου τη φορά αντί παράλληλα\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" # #, fuzzy #~ msgid "" #~ " -NUMBER same as -l NUMBER\n" #~ " --verbose print a diagnostic to standard error just\n" #~ " before each output file is opened\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "Έξοδος τμημάτων σταθερού μεγέθους από την ΕΙΣΟΔΟ σε ΠΡΟΘΕΜΑaa, " #~ "ΠΡΟΘΕΜΑab, ...; εξ ορισμού\n" #~ "ΠΡΟΘΕΜΑ είναι το `x'. Χωρίς ΕΙΣΟΔΟ, ή όταν η ΕΙΣΟΔΟΣ είναι το -, " #~ "ανάγνωση από την κανονική είσοδο.\n" #~ "\n" #~ " -b, --bytes=ΜΕΓΕΘΟΣ τοποθέτηση ΜΕΓΕΘΟΣ bytes σε κάθε αρχείο εξόδου\n" #~ " -C, --line-bytes=ΜΕΓΕΘΟΣ τοποθέτηση το πολύ ΜΕΓΕΘΟΣ bytes από γραμμές " #~ "σε κάθε αρχείο εξόδου\n" #~ " -l, --lines=ΑΡΙΘΜΟΣ τοποθέτηση ΑΡΙΘΜΟΣ γραμμών σε κάθε αρχείου " #~ "εξόδου\n" #~ " -ΑΡΙΘΜΟΣ ίδιο με -l ΑΡΙΘΜΟΣ\n" #~ " --verbose εκτύπωση διαγνωστικού στο κανονικό σφάλμα μόλις " #~ "πριν\n" #~ " ανοιχτεί κάθε αρχείο εξόδου\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "ΜΕΓΕΘΟΣ μπορεί να έχει πρόθεμα πολλαπλασιαστή: b για 512, k για 1K, m για " #~ "1 Meg.\n" # #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --before attach the separator before instead of after\n" #~ msgstr "" #~ "Εγγραφή κάθε αρχείου στην κανονική έξοδο, τελευταία γραμμή πρώτα.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -b, --before τοποθέτηση του διαχωριστή πριν αντί για μετά\n" #~ " -r, --regex μετάφραση του διαχωριστή ως κανονική έκφραση\n" #~ " -s, --separator=ΑΛΦΑΡΙΘΜ χρήση ΑΛΦΑΡΙΘΜητικού ως διαχωριστής αντί του " #~ "χαρακτήρα νέας γραμμής\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" # #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ msgstr "" #~ "Εμφάνιση των 10 πρώτων γραμμών από κάθε ΑΡΧΕΙΟ στην κανονική έξοδο.\n" #~ "Με περισσότερα από ένα ΑΡΧΕΙΟ, να προηγηθεί επισέλιδο με το όνομα του " #~ "αρχείου.\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -c, --bytes=ΜΕΓΕΘΟΣ εμφάνιση των πρώτων ΜΕΓΕΘΟΣ bytes\n" #~ " -n, --lines=ΑΡΙΘΜΟΣ εμφάνιση των πρώτων ΑΡΙΘΜΟΣ γραμμών αντί των " #~ "πρώτων 10\n" #~ " -q, --quiet, --silent να μην τυπώνονται επισέλιδα με τα ονόματα " #~ "αρχείων\n" #~ " -v, --verbose να τυπώνονται πάντα επισέλιδα με τα ονόματα " #~ "αρχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Το ΜΕΓΕΘΟΣ μπορεί να έχει κατάληξη με πολλαπλασιαστή: b για 512, k για " #~ "1K, m για 1 Meg.\n" #~ "Αν χρησιμοποιείται το -VALUE σαν πρώτη ΕΠΙΛΟΓΗ, ανάγνωσε -c ΤΙΜΗ όταν\n" #~ "ένας από τους πολλαπλασιαστές bkm ακολουθεί συνενωμένος, διαφορετικά " #~ "ανάγνωσε -n ΤΙΜΗ\n" # #, fuzzy #~ msgid "" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart instead of 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "Μετατροπή στηλογνωμόνων σε κάθε ΑΡΧΕΙΟ σε διαστήματα, με εγγραφή στην " #~ "κανονική έξοδο.\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -i, --initial να μη μετατραπούν τα TAB μετά από μη-λευκούς " #~ "χαρακτήρες\n" #~ " -t, --tabs=ΑΡΙΘΜ οι στηλογνώμονες να έχουν μέγεθος ΑΡΙΘΜός " #~ "χαρακτήρες, όχι 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χρήση λίστας διαχωρισμένης με κόμματα για ορισμό " #~ "θέσεων στηλογνωμόνων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μπορούν να " #~ "χρησιμοποιηθούν.\n" # #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx01', " #~ "`xx02', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %%d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %%REGEXP%%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "Παρήγαγε τμήματα από το ΑΡΧΕΙΟ διαχωρισμένα από ΜΟΡΦΗ(ΕΣ) σε αρχεία " #~ "`xx01', `xx02', ...,\n" #~ "και εμφάνισε τους αριθμούς των byte κάθε τμήματος στην κανονική έξοδο.\n" #~ "\n" #~ " -b, --suffix-format=ΜΟΡΦΗ χρήση μορφής αλά sprintf αντί του %%d\n" #~ " -f, --prefix=ΚΑΤΑΛΗΞΗ χρήση ΚΑΤΑΛΗΞΗς αντί του `xx'\n" #~ " -k, --keep-files να μη διαγραφούν τα αρχεία εξόδου σε " #~ "περίπτωση σφαλμάτων\n" #~ " -n, --digits=ΨΗΦΙΑ χρήση ΨΗΦΙΑ αριθμό ψηφίων αντί 2\n" #~ " -s, --quiet, --silent να μην εμφανιστούν οι μετρήσεις των μεγεθών " #~ "των αρχείων\n" #~ " -z, --elide-empty-files διαγραφή των κενών αρχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Ανάγνωση από κανονική είσοδο εάν ΑΡΧΕΙΟ είναι το -. Κάθε ΜΟΡΦΗ μπορεί να " #~ "είναι:\n" #~ "\n" #~ " ΑΚΕΡΑΙΟΣ αντιγραφή μέχρι, αλλά χωρίς συμπερίληψη, αριθμό " #~ "γραμμής\n" #~ " /ΚΑΝΕΚΦ/[ΘΕΣΗ] αντιγραφή μέχρι, αλλά χωρίς συμπερίληψη, μιας " #~ "γραμμής που ταιριάζει\n" #~ " %%ΚΑΝΕΚΦ%%[ΘΕΣΗ] παρέκαμψε σε, αλλά χωρίς συμπερίληψη γραμμής που " #~ "ταιριάζει\n" #~ " {ΑΚΕΡΑΙΟΣ} επανάληψη της προηγούμενης μορφής ΑΚΕΡΑΙΟΣ φορές\n" #~ " {*} επανάληψη της προηγούμενης μορφής όσον το δυνατό " #~ "περισσότερες φορές\n" #~ "\n" #~ "Η ΘΕΣΗ γραμμής είναι ένα υποχρεωτικό `+' ή `-' ακολουθούμενο από ένα " #~ "θετικό ακέραιο.\n" # #, fuzzy #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --bytes=LIST output only these bytes\n" #~ " -c, --characters=LIST output only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ " -f, --fields=LIST output only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Εμφάνιση επιλεγμένων τμημάτων από γραμμές από κάθε ΑΡΧΕΙΟ στην κανονική " #~ "έξοδο.\n" #~ "\n" #~ " -b, --bytes=ΛΙΣΤΑ εμφάνιση μόνο αυτών των bytes\n" #~ " -c, --characters=ΛΙΣΤΑ εμφάνιση μόνο αυτών των χαρακτήρων\n" #~ " -d, --delimiter=ΔΙΑΧΩΡ χρήση ΔΙΑΧΩΡιστή αντί TAB για διαχωριστή " #~ "πεδίου\n" #~ " -f, --fields=ΛΙΣΤΑ εμφάνιση μόνο αυτών των πεδίων\n" #~ " -n (αγνοείτε)\n" #~ " -s, --only-delimited να μην εμφανιστούν γραμμές που δεν περιέχουν " #~ "διαχωριστές\n" #~ " --output-delimiter=ΑΛΦΑΡΙΘ χρήση ΑΛΦΑΡΙΘΜΗΤΙΚΟΥ για διαχωριστή " #~ "εξόδου\n" #~ " το εξ ορισμού είναι η χρήση του διαχωριστή " #~ "εισόδου\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Χρήση ενός και μόνου από τα -b, -c ή -f. Κάθε ΛΙΣΤΑ απαρτίζεται από ένα " #~ "διάστημα\n" #~ "ή πολλά διαστήματα διαχωρισμένα με κόμματα. Κάθε διάστημα είναι ένα " #~ "από:\n" #~ "\n" #~ " N N-οστό byte, χαρακτήρα ή πεδίο, μετρημένο από το 1\n" #~ " N- από το N-οστό byte, χαρακτήρα ή πεδίο, μέχρι τέλος γραμμής\n" #~ " N-M από Ν-οστό μέχρι Μ-οστό (συμπεριλαμβανομένων) byte, χαρακτήρα ή " #~ "πεδίο\n" #~ " -M από πρώτο έως Μ-οστό (συμπεριλαμβανομένων) byte, χαρακτήρα ή " #~ "πεδίο\n" #~ "\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν αρχείο είναι το -, ανάγνωση από κανονική είσοδο.\n" # #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a SIDE print unpairable lines coming from file SIDE\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD (obsolescent) equivalent to `-1 FIELD -2 FIELD'\n" #~ " -j1 FIELD (obsolescent) equivalent to `-1 FIELD'\n" #~ " -j2 FIELD (obsolescent) equivalent to `-2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `SIDE.FIELD' or `0'. Default FORMAT outputs the join field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ msgstr "" #~ "Για κάθε ζεύγος από γραμμές εισόδου με όμοια πεδία συνένωσης, εμφάνιση " #~ "μιας\n" #~ "γραμμής στην κανονική έξοδο. Το εξ ορισμού πεδίο συνένωσης είναι το " #~ "πρώτο,\n" #~ "διαχωρισμένο με λευκό χαρακτήρα. Όταν το ΑΡΧΕΙΟ1 ή ΑΡΧΕΙΟ2 (όχι και τα " #~ "δύο)\n" #~ "είναι το -, ανάγνωση από την κανονική είσοδο.\n" #~ "\n" #~ " -a ΜΕΡΟΣ εμφάνιση αταίριαστων γραμμών, προερχόμενες από το " #~ "αρχείο ΜΕΡΟΣ\n" #~ " -e ΚΕΝΟ αντικατάσταση ελλιπών πεδίων εισόδου με ΚΕΝΟ\n" #~ " -i, --ignore-case αγνόηση διαφορών μεταξύ πεζών/κεφαλαίων όταν " #~ "συγκρίνονται πεδία\n" #~ " -j ΠΕΔΙΟ (δεν είναι σε χρήση) ισοδύναμε με `-1 FIELD -2 " #~ "FIELD'\n" #~ " -j1 ΠΕΔΙΟ (δεν είναι σε χρήση) ισοδύναμο με `-1 FIELD'\n" #~ " -j2 ΠΕΔΙΟ (δεν είναι σε χρήση) ισοδύναμο με `-2 FIELD'\n" #~ " -o ΜΟΡΦΗ χρήση του ΜΟΡΦΗ στην κατασκευή της γραμμής εξόδου\n" #~ " -t ΧΑΡΑΚΤ χρήση ΧΑΡΑΚΤήρα για διαχωριστή πεδίου για είσοδο και " #~ "έξοδο\n" #~ " -v ΜΕΡΟΣ όπως -a ΜΕΡΟΣ, αλλά με απόκρυψη των συνενωμένων " #~ "γραμμών εξόδου\n" #~ " -1 ΠΕΔΙΟ συνένωση σε αυτό το ΠΕΔΙΟ του αρχείου 1\n" #~ " -2 ΠΕΔΙΟ συνένωση σε αυτό το πεδίο του αρχείου 2\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Εκτός αν δίνεται -t ΧΑΡΑΚΤήρας, τα προπορευόμενα κενά διαχωρίζουν τα " #~ "πεδία\n" #~ "και αγνοούνται, διαφορετικά τα πεδία χωρίζονται από το ΧΑΡΑΚΤήρα.\n" #~ "Οποιοδήποτε ΠΕΔΙΟ είναι ένας αριθμός πεδίου μετρούμενος από το 1.\n" #~ "Η ΜΟΡΦΗ είναι μια ή περισσότερες δηλώσεις διαχωρισμένες με κόμμα ή κενό,\n" #~ "με το καθένα να είναι `ΜΕΡΟΣ.ΠΕΔΙΟ' ή `0'. Η εξ ορισμού ΜΟΡΦΗ εμφανίζει\n" #~ "το πεδίο συνένωσης, τα υπόλοιπα πεδία από το ΑΡΧΕΙΟ1, τα υπόλοιπα πεδία\n" #~ "από το ΑΡΧΕΙΟ2, όλα διαχωρισμένα από το ΧΑΡΑΚΤήρα.\n" # #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ " or: %s [OPTION] --check [FILE]\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formated checksum lines\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "Χρήσηe: %s [ΕΠΙΛΟΓΗ] [ΑΡΧΕΙΟ]...\n" #~ " ή: %s [ΕΠΙΛΟΓΗ] --check [ΑΡΧΕΙΟ]\n" #~ "Εμφάνιση ή έλεγχος αθροισμάτων ελέγχου MD5.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -b, --binary ανάγνωση αρχείων σε δυαδική κατάσταση (εξ " #~ "ορισμού για DOS/Windows)\n" #~ " -c, --check έλεγχος αθροισμάτων MD5 σε σχέση με δοσμένη " #~ "λίστα\n" #~ " -t, --text ανάγνωση αρχείων σε κατάσταση κειμένου (εξ " #~ "ορισμού)\n" #~ "\n" #~ "Οι επόμενες δύο επιλογές είναι χρήσιμες μόνο στην επιβεβαίωση αθροισμάτων " #~ "ελέγχου:\n" #~ " --status να μην εμφανιστεί τίποτα, ο κώδικας κατάστασης " #~ "δηλώνει την επιτυχία\n" #~ " -w, --warn προειδοποίησε για αντικανονικά μορφοποιημένες " #~ "γραμμές με αθροίσματα ελέγχου MD5\n" #~ "\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Τα αθροίσματα υπολογίζονται όπως περιγράφεται στο RFC 1321. Στον έλεγχο, " #~ "η είσοδος\n" #~ "θα πρέπει να είναι μια προηγούμενη έξοδος αυτού του προγράμματος. Η εξ " #~ "ορισμού κατάσταση\n" #~ "είναι να εκτυπώνεται μια γραμμή με το άθροισμα ελέγχου, ένα χαρακτήρα " #~ "ένδειξης τύπου\n" #~ "(`*' για δυαδικό, ` ' για κείμενο), και το όνομα για κάθε ΑΡΧΕΙΟ.\n" # #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pREGEXP number only lines that contain a match for REGEXP\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση κάθε ΑΡΧΕΙΟΥ στην κανονική έξοδο, με πρόσθεση αριθμών γραμμής.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -b, --body-numbering=ΣΤΥΛ χρήση ΣΤΥΛ στην αρίθμηση των γραμμών " #~ "του\n" #~ " κυρίου μέρους\n" #~ " -d, --section-delimiter=CC χρήση του CC στο χωρισμό λογικών " #~ "σελίδων\n" #~ " -f, --footer-numbering=ΣΤΥΛ χρήση ΣΤΥΛ στην αρίθμηση των γραμμών " #~ "του\n" #~ " υποσέλιδου\n" #~ " -h, --header-numbering=ΣΤΥΛ χρήση ΣΤΥΛ στην αρίθμηση των γραμμών " #~ "του\n" #~ " επισέλιδου\n" #~ " -i, --page-increment=ΑΡΙΘΜΟΣ αύξηση αριθμού γραμμής σε κάθε γραμμή\n" #~ " -l, --join-blank-lines=ΑΡΙΘΜΟΣ ομάδα από ΑΡΙΘΜΟΣ κενών γραμμών που\n" #~ " μετρούνται ως μία\n" #~ " -n, --number-format=ΜΟΡΦΗ εισαγωγή αρίθμηση γραμμών σύμφωνα με " #~ "ΜΟΡΦΗ\n" #~ " -p, --no-renumber να μη μηδενίζεται η αρίθμηση γραμμών " #~ "στις\n" #~ " λογικές σελίδες\n" #~ " -s, --number-separator=ΑΛΦΑΡΙΘΜ πρόσθεση ΑΛΦΑΡΙΘΜητικού μετά από " #~ "(πιθανό)\n" #~ " αριθμό γραμμής\n" #~ " -v, --first-page=ΑΡΙΘΜΟΣ πρώτος αριθμός γραμμής σε κάθε λογική " #~ "σελίδα\n" #~ " -w, --number-width=ΑΡΙΘΜΟΣ χρήση ΑΡΙΘΜΟΣ από στήλες για αριθμούς " #~ "γραμμής\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και " #~ "έξοδος\n" #~ "\n" #~ "Εξ ορισμού, είναι -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC είναι\n" #~ "δύο χαρακτήρες διαχωρισμού για το χωρισμό των λογικών σελίδων, η απουσία\n" #~ "δεύτερου χαρακτήρα υποδηλώνει :. Γράψτε \\\\ για \\. Το ΣΤΥΛ είναι ένα " #~ "από:\n" #~ "\n" #~ " a αριθμός γραμμών\n" #~ " t αρίθμηση μόνο μη κενών γραμμών\n" #~ " n να μην αριθμηθούν οι γραμμές\n" #~ " pΚΑΝΕΚΦ να αριθμηθούν μόνο γραμμές που περιέχουν ταίριασμα για την\n" #~ " ΚΑΝονική ΈΚΦραση\n" #~ "\n" #~ "ΜΟΡΦΗ είναι ένα από:\n" #~ "\n" #~ " ln στοίχιση στα αριστερά, χωρίς προπορευόμενα μηδενικά\n" #~ " rn στοίχιση στα δεξιά, χωρίς προπορευόμενα μηδενικά\n" #~ " rz στοίχιση στα δεξιά, χωρίς προπορευόμενα μηδενικά\n" #~ "\n" # #, fuzzy #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -s, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in pre-POSIX form\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Pre-POSIX format specifications may be intermixed, they accumulate:\n" #~ " -a same as -t a, select named characters\n" #~ " -b same as -t oC, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal shorts\n" #~ " -f same as -t fF, select floats\n" #~ " -h same as -t x2, select hexadecimal shorts\n" #~ " -i same as -t d2, select decimal shorts\n" #~ " -l same as -t d4, select decimal longs\n" #~ " -o same as -t o2, select octal shorts\n" #~ " -x same as -t x2, select hexadecimal shorts\n" #~ msgstr "" #~ "Εμφάνιση μιας χωρίς ασάφειες αναπαράσταση, με οκταδικά bytes εξ ορισμού,\n" #~ "του ΑΡΧΕΙΟ στη κανονική έξοδο. Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το " #~ "-,\n" #~ "ανάγνωση από την κανονική είσοδο.\n" #~ "\n" #~ " -A, --address-radix=RADIX επιλογή του πώς εκτυπώνονται οι θέσεις " #~ "αρχείου\n" #~ " -j, --skip-bytes=BYTES προσπέρασμα των πρώτων BYTES bytes εισόδου " #~ "από\n" #~ " κάθε αρχείο\n" #~ " -N, --read-bytes=BYTES περιορισμός της εμφάνισης στα πρώτα BYTES\n" #~ " byte εισόδου για κάθε αρχείο\n" #~ " -s, --strings[=BYTES] εμφάνιση αλφαριθμητικών με τουλάχιστον " #~ "BYTES\n" #~ " γραφικούς χαρακτήρες\n" #~ " -t, --format=ΕΙΔΟΣ επιλογή μορφής εξόδου ή μορφές\n" #~ " -v, --output-duplicates να μη χρησιμοποιηθεί * να για υποδηλώσει\n" #~ " απόρριψη γραμμής\n" #~ " -w, --width[=BYTES] εμφάνιση BYTES bytes για κάθε γραμμή " #~ "εξόδου\n" #~ " --traditional αποδοχή ορισμάτων σε προ-POSIX μορφή\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "οι προ-POSIX δηλώσεις μορφών μπορούν να αναμιγνύονται, δρουν προσθετικά:\n" #~ " -a ίδιο με -t a, επιλογή δοθέντων χαρακτήρων\n" #~ " -b ίδιο με -t oC, επιλογή οκταδικών bytes\n" #~ " -c ίδιο με -t c, επιλογή χαρακτήρων ASCII ή διαφυγές με πισωκάθετο\n" #~ " -d ίδιο με -t u2, επιλογή μη-προσημασμένων δεκαδικών μικρών ακέραιων\n" #~ " -f ίδιο με -t fF, επιλογή αριθμών κινητής υποδιαστολής\n" #~ " -h ίδιο με -t x2, επιλογή δεκαεξαδικών μικρών ακεραίων\n" #~ " -i ίδιο με -t d2, επιλογή δεκαδικών μικρών ακεραίων\n" #~ " -l ίδιο με -t d4, επιλογή δεκαδικών ακεραίων\n" #~ " -o ίδιο με -t o2, επιλογή οκταδικών μικρών ακεραίων\n" #~ " -x ίδιο με -t x2, επιλογή δεκαεξαδικών μικρών ακεραίων\n" # #~ msgid "" #~ "\n" #~ "For older syntax (second call format), OFFSET means -j OFFSET. LABEL\n" #~ "is the pseudo-address at first byte printed, incremented when dump is\n" #~ "progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates\n" #~ "hexadecimal, suffixes maybe . for octal and b multiply by 512.\n" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character\n" #~ " c ASCII character or backslash escape\n" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, it is multiplied by 512\n" #~ "with b suffix, by 1024 with k and by 1048576 with m. Adding a z suffix " #~ "to\n" #~ "any type adds a display of printable characters to the end of each line\n" #~ "of output. -s without a number implies 3. -w without a number implies " #~ "32.\n" #~ "By default, od uses -A o -t d2 -w 16.\n" #~ msgstr "" #~ "\n" #~ "Για την παλαιότερη σύνταξη (δεύτερη μορφή κλήσης), η ΘΕΣΗ είναι -j ΘΕΣΗ.\n" #~ "Το ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ είναι η ψευδο-διεύθυνση στο πρώτο byte που τυπώνεται,\n" #~ "αυξανόμενο καθώς η έξοδος προοδεύει. Για ΘΕΣΗ και ΧΑΡΑΚΤΗΡΙΣΤΙΚΟ, το\n" #~ "πρόθεμα 0x ή 0X δηλώνει δεκαεξαδικό, οι καταλήξεις ίσως. Για οκταδικά " #~ "και\n" #~ "b πολλαπλασιάστε με 512.\n" #~ "\n" #~ "Το ΕΙΔΟΣ απαρτίζεται από μια ή περισσότερες από τις παρακάτω δηλώσεις:\n" #~ "\n" #~ " a δοθέν χαρακτήρας\n" #~ " c χαρακτήρας ASCII ή διαφυγή με πισωκάθετο\n" #~ " d[ΜΕΓΕΘΟΣ] προσημασμένος δεκαδικός, ΜΕΓΕΘΟΣ bytes ανά ακέραιο\n" #~ " f[ΜΕΓΕΘΟΣ] κινητής υποδιαστολής, ΜΕΓΕΘΟΣ bytes ανά ακέραιο\n" #~ " o[ΜΕΓΕΘΟΣ] οκταδικός, ΜΕΓΕΘΟΣ bytes ανά ακέραιο\n" #~ " u[ΜΕΓΕΘΟΣ] χωρίς πρόσημο δεκαδικός, ΜΕΓΕΘΟΣ bytes ανά ακέραιο\n" #~ " x[ΜΕΓΕΘΟΣ] δεκαεξαδικό, ΜΕΓΕΘΟΣ bytes ανά ακέραιο\n" #~ "\n" #~ "Το ΜΕΓΕΘΟΣ είναι ένας αριθμός. Για το ΕΙΔΟΣ, το ΜΕΓΕΘΟΣ μπορεί να είναι " #~ "C\n" #~ "για sizeof(char), S για sizeof(short), I για sizeof(int) ή L για\n" #~ "sizeof(long). Αν το ΕΙΔΟΣ είναι f, το ΜΕΓΕΘΟΣ μπορεί επίσης να είναι F\n" #~ "για sizeof(float), D για sizeof(double) ή L για sizeof(long double).\n" #~ "\n" #~ "Η ΒΑΣΗ είναι d για δεκαδικό, o για οκταδικό, x για δεκαεξαδικό ή n για " #~ "τίποτα.\n" #~ "Το BYTES είναι δεκαεξαδικό αν έχει πρόθεμα 0x ή 0X, πολλαπλασιάζεται με " #~ "512\n" #~ "αν έχει κατάληξη b, με 1024 αν έχει k και με 1048576 αν έχει m. " #~ "Προσθέτοντας\n" #~ "την κατάληξη z σε κάθε είδος, προσθέτει την εμφάνιση των εκτυπώσιμων\n" #~ "χαρακτήρων στο τέλος κάθε γραμμής της εξόδου. Το -s χωρίς αριθμό " #~ "υποδηλώνει\n" #~ "3. Το -w χωρίς αριθμό υποδηλώνει 32.\n" #~ "Εξ ορισμού, η od χρησιμοποιεί -A o -t d2 -w 16.\n" # #, fuzzy #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " produce COLUMN-column output and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ "Σελιδοποίηση ή στηλοποίηση ΑΡΧΕΙΟΥ(ΩΝ) για εκτύπωση.\n" #~ "\n" #~ " +ΠΡΩΤΗ_ΣΕΛΙΔΑ[:ΤΕΛΕΥΤΑΙΑ_ΣΕΛΙΔΑ], --pages=ΠΡΩΤΗ_ΣΕΛΙΔΑ[:" #~ "ΤΕΛΕΥΤΑΙΑ_ΣΕΛΙΔΑ]\n" #~ " έναρξη [διακοπή] εκτύπωσης με σελίδα\n" #~ " ΠΡΩΤΗ_[ΤΕΛΕΥΤΑΙΑ_]ΣΕΛΙΔΑ\n" #~ " -ΣΤΗΛΗ, --columns=ΣΤΗΛΗ\n" #~ " παραγωγή εξόδου με ΣΤΗΛΗ-στήλες και εκτύπωση στηλών\n" #~ " προς τα κάτω, εκτός αν χρησιμοποιείται το -a.\n" #~ " Ισορρόπηση του αριθμού γραμμών στις στήλες κάθε\n" #~ " σελίδας.\n" #~ " -a, --across εμφάνιση στηλών κατά μήκος αντί προς τα κάτω, σε " #~ "χρήση\n" #~ " με -ΣΤΗΛΗ\n" #~ " -c, --show-control-chars\n" #~ " χρήση αναπαράστασης με καπέλο (^G) και οκταδικής\n" #~ " αναπαράστασης με πισωκάθετο\n" #~ " -d, --double-space\n" #~ " διπλά διαστήματα στην έξοδο\n" #~ " -e[ΧΑΡΑΚΤ[ΠΛΑΤΟΣ]], --expand-tabs[=ΧΑΡΑΚΤ[ΠΛΑΤΟΣ]]\n" #~ " ανάπτυξη ΧΑΡΑΚΤήρων εισόδου (TABs) σε στηλοθέτη με\n" #~ " πλάτος ΠΛΑΤΟΣ(8)\n" #~ " -F, -f, --form-feed\n" #~ " χρήση χαρακτήρων αλλαγής σελίδας αντί χαρακτήρων " #~ "νέας\n" #~ " γραμμής για χωρισμό σελίδων\n" #~ " (-F για επισέλιδο 3 γραμμών ή επισέλιδο 5 γραμμών\n" #~ " και ακόλουθο χωρίς -F)\n" # #, fuzzy #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, -S[STRING] sets separators\n" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -h ΕΠΙΣΕΛΙΔΟ, --header=ΕΠΙΣΕΛΙΔΟ\n" #~ " χρήση κεντραρισμένου ΕΠΙΣΕΛΙΔΟΥ αντί του ονόματος\n" #~ " αρχείου στο επισέλιδο,\n" #~ " με μακρά επισέλιδα μπορεί να γίνει αποκοπή από τα " #~ "αριστερά,\n" #~ " -h \"\" τυπώνει μια κενή γραμμή, μην κάνετε χρήση του " #~ "-h\"\"\n" #~ " -i[ΧΑΡΑΚΤ[ΠΛΑΤΟΣ]], --output-tabs[=ΧΑΡΑΚΤ[ΠΛΑΤΟΣ]]\n" #~ " αντικατάσταση διαστημάτων με ΧΑΡΑΚΤήρα(TABs) σε " #~ "μήκος\n" #~ " στηλοθέτη ΠΛΑΤΟΣ(8)\n" #~ " -J, --join-lines συνένωση γεμάτων γραμμών, απενεργοποιεί μηδενισμό\n" #~ " γραμμής του -W, χωρίς\n" #~ " στοίχιση στήλης, -S[ΑΛΦΑΡΙΘΜ] θέτει διαχωριστές\n" #~ " -l ΜΗΚΟΣ_ΣΕΛΙΔΑΣ, --length=ΜΗΚΟΣ_ΣΕΛΙΔΑΣ\n" #~ " θέτει το μήκος σελίδας σε ΜΗΚΟΣ_ΣΕΛΙΔΑΣ (66) γραμμές\n" #~ " (εξ ορισμού αριθμός γραμμών κειμένου είναι 56, και " #~ "με\n" #~ " -F 63)\n" #~ " -m, --merge εκτύπωση όλων των αρχείων παράλληλα, ένα σε κάθε " #~ "στήλη,\n" #~ " μηδενισμός γραμμών άλλα συνένωση γραμμών πλήρους " #~ "μήκους\n" #~ " με -J\n" #~ " -n[ΔΙΑΧ[ΨΗΦΙΑ]], --number-lines[=ΔΙΑΧ[ΨΗΦΙΑ]]\n" #~ " αρίθμηση γραμμών, χρήση ΨΗΦΙΑ (5) ψηφία, μετά ΔΙΑΧ " #~ "(TAB),\n" #~ " εξ ορισμού μέτρηση ξεκινά με τη πρώτη γραμμή του\n" #~ " αρχείου εισόδου\n" #~ " -N ΑΡΙΘΜΟΣ, --first-line-number=ΑΡΙΘΜΟΣ\n" #~ " έναρξη μέτρησης με ΑΡΙΘΜΟΣ στη πρώτη γραμμή της " #~ "πρώτης\n" #~ " σελίδας\n" #~ " που εκτυπώνεται(δείτε +ΠΡΩΤΗ_ΣΕΛΙΔΑ)\n" #~ " -o ΠΕΡΙΘΩΡΙΟ, --indent=ΠΕΡΙΘΩΡΙΟ\n" #~ " παρέμβαλε κάθε γραμμή με ΠΕΡΙΘΩΡΙΟ (μηδέν) " #~ "διαστήματα,\n" #~ " να μην επηρεαστούν τα -w ή -W, το ΠΕΡΙΘΩΡΙΟ θα " #~ "προστεθεί\n" #~ " στο ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ\n" #~ " -r, --no-file-warnings\n" #~ " παράληψη προειδοποίησης όταν το αρχείο δεν μπορεί να\n" #~ " ανοιχτεί\n" # #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ " -S[STRING], --sep-string[=STRING]\n" #~ " separate columns by an optional STRING, don't use\n" #~ " -S \"STRING\", -S only: No separator used (same as -S" #~ "\"\"),\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ " -s[ΧΑΡΑΚΤ],--separator[=ΧΑΡΑΚΤ]\n" #~ " διαχωρισμός στηλών με ένα χαρακτήρα, εξ ορισμού τιμή\n" #~ " για ΧΑΡΑΚΤ\n" #~ " είναι το χωρίς -w και 'όχι χαρακτ' με -w\n" #~ " -s[ΧΑΡΑΚΤ] απενεργοποιεί το μηδενισμό γραμμής από " #~ "όλες\n" #~ " (3) της επιλογές\n" #~ " στήλης (-ΣΤΗΛΗ|-a -ΣΤΗΛΗ|-m) εκτός αν έχει τεθεί το -" #~ "w\n" #~ " -S[ΑΛΦΑΡΙΘΜ], --sep-string[=ΑΛΦΑΡΙΘΜ]\n" #~ " διαχωρισμός στηλών από ένα προαιρετικό ΑΛΦΑΡΙΘΜ, να " #~ "μην\n" #~ " κάνετε χρήση του -S \"ΑΛΦΑΡΙΘΜ\",\n" #~ " μόνο -S : Δεν χρησιμοποιείται διαχωριστής (ίδιο με\n" #~ " -S\"\"),\n" #~ " χωρίς -S: Εξ ορισμού διαχωριστής με -J και\n" #~ " <διάστημα> διαφορετικά (ίδιο με -S\" \"), χωρίς\n" #~ " επίδραση σε επιλογές για στήλες\n" #~ " -t, --omit-header παράληψη επισέλιδων και ακολούθων\n" #~ " -T, --omit-pagination\n" #~ " παράληψη επισέλιδων και ακολούθων, ελαχιστοποίηση " #~ "κάθε\n" #~ " σελιδοποίησης από `form feeds' που έχουν τυχόν " #~ "τεθεί\n" #~ " στα αρχεία εισόδου\n" #~ " -v, --show-nonprinting\n" #~ " χρήση οκταδικής κωδικογραφής με πισωκάθετο\n" #~ " -w ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ, --width=ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ\n" #~ " ορισμός πλάτους σελίδας σε ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ (72)\n" #~ " χαρακτήρες για\n" #~ " πολλαπλή έξοδο στηλών με κείμενο μόνο, -s[χαρακτ]\n" #~ " απενεργοποιεί (72)\n" #~ " -W ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ, --page-width=ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ\n" #~ " ορισμός πλάτους σελίδας σε ΠΛΑΤΟΣ_ΣΕΛΙΔΑΣ (72)\n" #~ " χαρακτήρες πάντα,\n" #~ " μηδενισμός γραμμών, εκτός αν έχει τεθεί -J, καμία\n" #~ " παρεμβολή\n" #~ " με -S ή -s\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Το -T εννοείτε από το -l nn όπου nn <= 10 ή <= 3 με -F. Χωρίς ΑΡΧΕΙΟ, ή\n" #~ "όταν το αρχείο είναι το -, ανάγνωση από την κανονική είσοδο.\n" # #, fuzzy #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -C, --copyright display Copyright and copying " #~ "conditions\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "Υποχρεωτικά ορίσματα για μακρές επιλογές είναι υποχρεωτικά για σύντομες\n" #~ "επιλογές επίσης.\n" #~ "\n" #~ " -A, --auto-reference εμφάνιση αυτόματα παραγόμενες αναφορές\n" #~ " -C, --copyright εμφάνιση Copyright και κανόνες " #~ "αντιγραφής\n" #~ " -G, --traditional συμπεριφορά περισσότερο όμοια με του " #~ "System\n" #~ " V την `ptx'\n" #~ " -F, --flag-truncation=ΑΛΦΑΡΙΘΜ χρήση ΑΛΦΑΡΙΘΜ για υποδήλωση " #~ "μηδενισμού\n" #~ " γραμμών\n" #~ " -M, --macro-name=ΑΛΦΑΡΙΘΜ όνομα μακροεντολής προς χρήση αντί του " #~ "`xx'\n" #~ " -O, --format=roff δημιουργία εξόδου ως εντολές roff\n" #~ " -R, --right-side-refs τοποθέτηση αναφορών στα δεξιά, χωρίς να\n" #~ " μετρώνται στο -w\n" #~ " -S, --sentence-regexp=ΚΑΝΕΚΦ για το τέλος γραμμών ή το τέλος των " #~ "προτάσεων\n" #~ " -T, --format=tex δημιουργία εξόδου ως εντολές TeX\n" #~ " -W, --word-regexp=ΚΑΝΕΚΦ χρήση ΚΑΝονικής ΕΚΦρασης στο ταίριασμα " #~ "κάθε\n" #~ " λέξης-κλειδί\n" #~ " -b, --break-file=ΑΡΧΕΙΟ η λέξη σπάει τους χαρακτήρες σε αυτό το\n" #~ " ΑΡΧΕΙΟ\n" #~ " -f, --ignore-case αναδίπλωση πεζών σε κεφαλαία για την\n" #~ " ταξινόμηση\n" #~ " -g, --gap-size=ΑΡΙΘΜΟΣ μέγεθος διάκενου στις στήλες μεταξύ " #~ "πεδίων\n" #~ " εξόδου\n" #~ " -i, --ignore-file=ΑΡΧΕΙΟ ανάγνωση λίστα λέξεων προς αγνόηση από " #~ "ΑΡΧΕΙΟ\n" #~ " -o, --only-file=ΑΡΧΕΙΟ ανάγνωση μόνο λίστα λέξεων από αυτό το " #~ "ΑΡΧΕΙΟ\n" #~ " -r, --references πρώτο πεδία κάθε γραμμής είναι μια " #~ "αναφορά\n" #~ " -t, --typeset-mode - δεν έχει υλοποιηθεί -\n" #~ " -w, --width=ΑΡΙΘΜΟΣ πλάτος εξόδου σε στήλες, με εξαίρεση " #~ "των\n" #~ " αναφορών\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "Είναι `-F /' εξ ορισμού.\n" # #, fuzzy #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check check whether input is sorted; do not sort\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS 2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ " -t, --field-separator=SEP use SEP instead of non- to whitespace " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c: check for strict ordering\n" #~ " otherwise: output only the first of an " #~ "equal run\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolescent\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση ταξινομημένης συνένωσης όλων των ΑΡΧΕΙΟ(ΩΝ) στην κανονική " #~ "έξοδο.\n" #~ "\n" #~ " +ΘΕΣΗ1 [-ΘΕΣΗ2] αρχή κλειδιού στη ΘΕΣΗ1, τερματισμός *πριν* τη " #~ "ΘΕΣΗ2\n" #~ " (εκτός χρήσης)\n" #~ " αριθμοί πεδίων και θέσεις χαρακτήρων αριθμούνται\n" #~ " αρχίζοντας από το μηδέν (σε αντίθεση με την " #~ "επιλογή -k)\n" #~ " -b αγνόηση προπορευόμενων κενών σε πεδία ταξινόμησης ή " #~ "κλειδιά\n" #~ " -c έλεγχος αν τα δοθέντα αρχεία είναι ήδη ταξινομημένα, " #~ "να\n" #~ " μην ταξινομηθούν\n" #~ " -d να θεωρηθούν μόνο οι χαρακτήρες [a-zA-Z0-9 ] στα " #~ "κλειδιά\n" #~ " -f αναδίπλωση πεζών χαρακτήρων σε κεφαλαία στα κλειδιά\n" #~ " -g σύγκριση σύμφωνα με τη γενική αριθμητική τιμή, θεώρησε " #~ "-b\n" #~ " -i θεώρησε μόνο τους χαρακτήρες [\\040-\\0176] στα " #~ "κλειδιά\n" #~ " -k ΘΕΣΗ1[,ΘΕΣΗ2] έναρξη κλειδιού στη θέση ΘΕΣΗ1, τερματιστός *στη* " #~ "ΘΕΣΗ2\n" #~ " αριθμοί πεδίων και θέσεις χαρακτήρων αριθμούνται\n" #~ " αρχίζοντας από το ένα (σε αντίθεση με τη βασισμένη " #~ "στο\n" #~ " μηδέν μορφή +ΘΕΣΗ)\n" #~ " -m συνένωση μόνο ταξινομημένων αρχείων, να μη γίνει " #~ "ταξινόμηση\n" #~ " -M σύγκριση (άγνωστο) < `ΙΑΝ' < ... < `ΔΕΚ', θεώρησε -b\n" #~ " -n σύγκριση σύμφωνα με τη αλφαριθμητική αριθμητική τιμή, " #~ "θεώρησε -b\n" #~ " -o ARXEIO εγγραφή αποτελέσματος στο ΑΡΧΕΙΟ αντί στην κανονική " #~ "έξοδο\n" #~ " -r αντιστροφή των αποτελεσμάτων των συγκρίσεων\n" #~ " -s σταθεροποίηση της ταξινόμησης με απενεργοποίηση τη\n" #~ " σύγκρισης τελευταίας ελπίδας\n" #~ " -t ΔΙΑΧ χρήση ΔΙΑΧωριστή αντί της μετάστασης από μη-κενό σε\n" #~ " λευκό χαρακτήρα\n" #~ " -T ΚΑΤΑΛΟΓΟΣ χρήση ΚΑΤΑΛΟΓΟΣ για προσωρινά αρχεία, όχι το $TMPDIR ή " #~ "%s\n" #~ " -u με -c, έλεγχος για αυστηρή τοποθέτηση σε σειρά\n" #~ " με -m, μόνο έξοδος του πρώτου από μια ίση ακολουθία\n" #~ " -z τερματισμός γραμμών με 0 byte, όχι με νέα γραμμή, για\n" #~ " τη find -print0\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" # #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ " -c, --bytes=N output the last N bytes\n" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, each iteration lasts approximately S\n" #~ " (default 1) seconds\n" #~ " -v, --verbose always output headers giving file names\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Εκτύπωση των τελευταίων %d γραμμών κάθε ΑΡΧΕΙΟΥ στην κανονική έξοδο.\n" #~ "Με περισσότερο από ένα ΑΡΧΕΙΑ, να τυπωθεί πρώτα κεφαλίδα με το όνομα του\n" #~ "αρχείου.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " --retry συνέχιση προσπάθειας ανοίγματος αρχείου ακόμα " #~ "και\n" #~ " αν αυτό δεν είναι προσπελάσιμο όταν η tail \n" #~ " εκκινείται ή αν γίνεται μη-προσπελάσιμο " #~ "μετά\n" #~ " χρήσιμο μόνο με την παράμετρο -f\n" #~ " -c, --bytes=N εμφάνιση των τελευταίων N bytes\n" #~ " -f, --follow[={name|descriptor}] εμφάνιση προστιθέμενων δεδομένων " #~ "όπως\n" #~ " αυξάνεται το αρχείο· τα -f, --follow και\n" #~ " --follow=descriptor είναι ισοδύναμα\n" #~ " -n, --lines=N εμφάνιση των τελευταίων Ν γραμμών, αντί των\n" #~ " τελευταίων %d\n" #~ " --max-unchanged-stats=N δείτε την τεκμηρίωση του texinfo\n" #~ " (εξ ορισμού είναι %d)\n" #~ " --max-consecutive-size-changes=N δείτε την τεκμηρίωση του texinfo\n" #~ " (εξ ορισμού είναι %d)\n" #~ " --pid=PID με -f, τερματισμός όταν η διεργασία με\n" #~ " ταυτότητα εργασίας PID πεθάνει\n" #~ " -q, --quiet, --silent να μην εκτυπώνονται κεφαλίδες με τα ονόματα " #~ "των\n" #~ " αρχείων\n" #~ " -s, --sleep-interval=S με -f, παύση για S δευτερόλεπτα μεταξύ " #~ "επαναλήψεων\n" #~ " -v, --verbose πάντα να τυπώνονται κεφαλίδες με ονόματα " #~ "αρχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Αν ο πρώτος χαρακτήρας του Ν (αριθμός byte ή γραμμών) είναι `+',\n" #~ "τύπωσε αρχίζοντας με το Ν-οστό αντικείμενο από την αρχή του κάθε " #~ "αρχείου,\n" #~ "διαφορετικά, τύπωσε τα τελευταία Ν αντικείμενα του αρχείου. Το Ν μπορεί\n" #~ "να έχει πολλαπλασιαστικό πρόθεμα:\n" #~ "b για 512, k για 1024, m για 1048576 (1 Meg). Μια πρώτη ΕΠΙΛΟΓΗ με -" #~ "ΤΙΜΗ\n" #~ "ή +ΤΙΜΗ θεωρείται για -n ΤΙΜΗ ή -n +ΤΙΜΗ εκτός αν η ΤΙΜΗ έχει ένα από " #~ "τις\n" #~ "πολλαπλασιαστικές καταλήξεις [bkm], στην οποία περίπτωση γίνεται χρήση " #~ "ως\n" #~ "-c ΤΙΜΗ ή -c +TIMH.\n" #~ "\n" #~ "Με --follow (-f), η tail εξ ορισμού παρακολουθεί τον περιγραφέα αρχείου,\n" #~ "που σημαίνει ότι ακόμα και αν το αρχείο μετονομασθεί, η tail θα " #~ "συνεχίσει\n" #~ "να το παρακολουθεί. Αυτή η εξ ορισμού συμπεριφορά δεν είναι επιθυμητή " #~ "όταν\n" #~ "θέλετε να παρακολουθήσετε το πραγματικό όνομα του αρχείου και όχι τον " #~ "περι-\n" #~ "γραφέα αρχείου (π.χ. περιστροφή αρχείου καταγραφών). Κάντε χρήση του\n" #~ "--follow=name στην περίπτωση αυτή. Αυτό προκαλεί την tail να " #~ "παρακολουθεί\n" #~ "το αρχείο με το συγκεκριμένο όνομα ανοίγοντας το περιοδικά για να δει αν\n" #~ "έχει διαγραφεί και επαναδημιουργηθεί από κάποιο άλλο πρόγραμμα.\n" # #, fuzzy #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ "\n" #~ "Τα ΣΥΝΟΛΑ ορίζονται ως αλφαριθμητικά. Τα περισσότερα αντιπροσωπεύουν τον " #~ "εαυτό τους.\n" #~ "Οι μεταφρασμένες ακολουθίες είναι:\n" #~ "\n" #~ " \\NNN χαρακτήρας με οκταδική τιμή NNN (1 με 3 οκταδικά " #~ "ψηφία)\n" #~ " \\\\ πισωκάθετος\n" #~ " \\a ηχητικό κουδούνι\n" #~ " \\b `backspace'\n" #~ " \\f `form feed'\n" #~ " \\n `new line'\n" #~ " \\r `return'\n" #~ " \\t οριζόντιος στηλοθέτης\n" #~ " \\v κάθετος στηλοθέτης\n" #~ " ΧΑΡΑΚΤ1-ΧΑΡΑΚΤ2 όλοι οι χαρακτήρες από ΧΑΡΑΚΤ1 μέχρι ΧΑΡΑΚΤ2 σε " #~ "αύξουσα σειρά\n" #~ " [ΧΑΡΑΚΤ1-ΧΑΡΑΚΤ2] όπως ΧΑΡΑΚΤ1-ΧΑΡΑΚΤ2, αν και τα δύο ΣΥΝΟΛΟ1, " #~ "ΣΥΝΟΛΟ2 το κάνουν χρήση\n" #~ " [ΧΑΡΑΚΤ*] στο ΣΥΝΟΛΟ2, αντιγράφει το ΧΑΡΑΚΤήρα μέχρι το μήκος " #~ "του ΣΥΝΟΛΟ1\n" #~ " [ΧΑΡΑΚΤ*ΕΠΑΝΑΛ] ΕΠΑΝΑΛηψη αντίγραφα του ΧΑΡΑΚΤήρα, ΕΠΑΝΑΛ είναι " #~ "οκταδικό αν αρχίζει από 0\n" #~ " [:alnum:] όλοι οι χαρακτήρες και τα ψηφία\n" #~ " [:alpha:] όλοι οι χαρακτήρες\n" #~ " [:blank:] όλοι οι οριζόντιοι λευκοί χαρακτήρες\n" #~ " [:cntrl:] όλοι οι χαρακτήρες ελέγχου\n" #~ " [:digit:] όλα τα ψηφία\n" #~ " [:graph:] όλοι οι εκτυπώσιμοι χαρακτήρες, χωρίς το διάστημα\n" #~ " [:lower:] όλα τα πεζά γράμματα\n" #~ " [:print:] όλοι οι εκτυπώσιμοι χαρακτήρες, μαζί με το διάστημα\n" #~ " [:punct:] όλα οι χαρακτήρες τονισμού\n" #~ " [:space:] όλοι οι οριζόντιοι ή κάθετοι λευκοί χαρακτήρες\n" #~ " [:upper:] όλοι οι κεφαλαίοι χαρακτήρες\n" #~ " [:xdigit:] όλα τα δεκαεξαδικά ψηφία\n" #~ " [=ΧΑΡΑΚΤ=] όλοι οι χαρακτήρες που είναι ισοδύναμοι με το ΧΑΡΑΚΤ\n" # #, fuzzy #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate)}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -w, --check-chars=N compare no more than N characters in lines\n" #~ " -N same as -f N\n" #~ " +N same as -s N (obsolescent; will be withdrawn)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "A field is a run of whitespace, then non-whitespace characters.\n" #~ "Fields are skipped before chars.\n" #~ msgstr "" #~ "Αποβολή όλες εκτός από τις συνεχόμενες όμοιες γραμμές από την ΕΙΣΟΔΟ\n" #~ "(ή κανονική είσοδο), γράφοντας στην έξοδο (ή κανονική έξοδο).\n" #~ "\n" #~ " -c, --count αριθμός των εμφανίσεων στην αρχή των γραμμών\n" #~ " -d, --repeated εμφάνιση μόνο διπλών γραμμών\n" #~ " -D, --all-repeated εμφάνιση όλων των διπλών γραμμών\n" #~ " -f, --skip-fields=N αποφυγή σύγκρισης των πρώτων N πεδίων\n" #~ " -i, --ignore-case αγνόηση διαφορών μεταξύ πεζών/κεφαλαίων στις " #~ "συγκρίσεις\n" #~ " -s, --skip-chars=N αγνόηση σύγκρισης των πρώτων Ν χαρακτήρων\n" #~ " -u, --unique εμφάνιση μόνο των μοναδικών γραμμών\n" #~ " -w, --check-chars=N σύγκριση όχι παραπάνω από Ν χαρακτήρες στη " #~ "γραμμή\n" #~ " -N ίδιο με -f N\n" #~ " +N ίδιο με -s N\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Πεδίο είναι μια σειρά από λευκούς χαρακτήρες, και μετά μη-λευκοί " #~ "χαρακτήρες.\n" #~ "Τα πεδία προσπερνώνται πριν τους χαρακτήρες.\n" # #~ msgid "" #~ "when using the old-style +POS and -POS key specifiers,\n" #~ "the +POS specifier must come first" #~ msgstr "" #~ "Όταν γίνετε χρήση παλιού-στυλ δηλωτών +ΘΕΣΗ και -ΘΕΣΗ,\n" #~ "ο δηλωτής +ΘΕΣΗ πρέπει να έρχεται πρώτος" # #~ msgid "option `-k' requires an argument" #~ msgstr "η επιλογή `-k' απαιτεί ένα όρισμα" # #~ msgid "starting field spec has `.' but lacks following character offset" #~ msgstr "" #~ "η δήλωση έναρξης πεδίου έχει `.' αλλά της λείπει η θέση επόμενου χαρακτήρα" # #, fuzzy #~ msgid "" #~ "starting field character offset argument to the `-k' option must be " #~ "positive" #~ msgstr "" #~ "το όρισμα έναρξης πεδίου αριθμού στην επιλογή `-k'\n" #~ "πρέπει να είναι θετικός" # #~ msgid "field specification has `,' but lacks following field spec" #~ msgstr "η δήλωση πεδίου έχει `,' αλλά της λείπει η δήλωση επόμενου πεδίου" # #~ msgid "ending field number argument to the `-k' option must be positive" #~ msgstr "" #~ "το όρισμα τέρματος πεδίου αριθμού στην επιλογή `-k' πρέπει να είναι " #~ "θετικός" # #~ msgid "ending field spec has `.' but lacks following character offset" #~ msgstr "" #~ "η δήλωση τέρματος πεδίου έχει `.' αλλά της λείπει η θέση επόμενου " #~ "χαρακτήρα" # #~ msgid "option `-o' requires an argument" #~ msgstr "η επιλογή `-o' απαιτεί ένα όρισμα" # #, fuzzy #~ msgid "option `-S' requires an argument" #~ msgstr "η επιλογή `-k' απαιτεί ένα όρισμα" # #~ msgid "option `-t' requires an argument" #~ msgstr "η επιλογή `-t' απαιτεί ένα όρισμα" # #~ msgid "option `-T' requires an argument" #~ msgstr "η επιλογή `-T' απαιτεί ένα όρισμα" # #~ msgid "%s%*s%s%*sPage" #~ msgstr "%s%*s%s%*sΣελίδα" # #~ msgid "" #~ "specified number of bytes `%s' is larger than the maximum\n" #~ "representable value of type `long'" #~ msgstr "" #~ "ο δηλωμένος αριθμός bytes `%s' είναι μεγαλύτερος από το μέγιστο\n" #~ "που μπορεί να αναπαρασταθεί από το τύπο δεδομένων `long'" # #~ msgid "could not find loop" #~ msgstr "αδυναμία εύρεσης βρόχου" # #~ msgid "%s: cannot follow end of non-regular file" #~ msgstr "%s: αδυναμία ακολούθησης τέλους μη-κανονικού αρχείου" # #~ msgid "" #~ "\n" #~ "Report bugs to ." #~ msgstr "" #~ "\n" #~ "Αναφέρατε σφάλματα στο ." # #~ msgid "`%s' has reappeared" #~ msgstr "το `%s' εμφανίστηκε ξανά" # #, fuzzy #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -i, --initial do not convert TABs after non whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "Μετατροπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γράφοντας στην " #~ "κανονική έξοδο.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -a, --all μετατροπή όλων των λευκών χαρακτήρων, αντί μόνο των " #~ "αρχικών\n" #~ " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χρήση λίστας χωρισμένης με κόμμα για τη δήλωση της " #~ "θέσης των στηλοθετών\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μπορούν να " #~ "χρησιμοποιηθούν.\n" # #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING combine only lines having STRING as prefix\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=NUMBER maximum line width (default of 75 columns)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "Μορφοποίηση ξανά κάθε παραγράφου στο ΑΡΧΕΙΟ(Α), γράφοντας στην κανονική " #~ "έξοδο.\n" #~ "Αν κανένα ΑΡΧΕΙΟ δεν έχει οριστεί ή το ΑΡΧΕΙΟ είναι το `-', ανάγνωση από " #~ "κανονική είσοδο.\n" #~ "\n" #~ "Υποχρεωτικά ορίσματα στις μακρές επιλογές είναι υποχρεωτικά για σύντομες " #~ "επιλογές επίσεις.\n" #~ " -c, --crown-margin διατήρησε την εσοχή των δύο πρώτων γραμμών\n" #~ " -p, --prefix=ΑΛΦΑΡΙΘ συνδύασε μόνο γραμμές με ΑΛΦΑΡΙΘΜητικό ως " #~ "πρόθεμα\n" #~ " -s, --split-only χώρισε στα δύο τις μακρές γραμμές αλλά χωρίς " #~ "γέμισμα ξανά\n" #~ " -t, --tagged-paragraph η εσοχή της πρώτης γραμμής να είναι " #~ "διαφορετική από τη δεύτερη\n" #~ " -u, --uniform-spacing ένα διάστημα μεταξύ λέξεων, δύο μετά από " #~ "προτάσεις\n" #~ " -w, --width=ΑΡΙΘΜΟΣ μέγιστο πλάτος γραμμής (εξ ορισμού 75 " #~ "στήλες)\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Στο -wΑΡΙΘΜΟΣ, το γράμμα `w' μπορεί να παραληφθεί.\n" # #~ msgid "" #~ "Print first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ "If -VALUE is used as first OPTION, read -c VALUE when one of\n" #~ "multipliers bkm follows concatenated, else read -n VALUE.\n" #~ msgstr "" #~ "Εμφάνιση των 10 πρώτων γραμμών από κάθε ΑΡΧΕΙΟ στην κανονική έξοδο.\n" #~ "Με περισσότερα από ένα ΑΡΧΕΙΟ, να προηγηθεί επισέλιδο με το όνομα του " #~ "αρχείου.\n" #~ "Χωρίς ΑΡΧΕΙΟ ή όταν το ΑΡΧΕΙΟ είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -c, --bytes=ΜΕΓΕΘΟΣ εμφάνιση των πρώτων ΜΕΓΕΘΟΣ bytes\n" #~ " -n, --lines=ΑΡΙΘΜΟΣ εμφάνιση των πρώτων ΑΡΙΘΜΟΣ γραμμών αντί των " #~ "πρώτων 10\n" #~ " -q, --quiet, --silent να μην τυπώνονται επισέλιδα με τα ονόματα " #~ "αρχείων\n" #~ " -v, --verbose να τυπώνονται πάντα επισέλιδα με τα ονόματα " #~ "αρχείων\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Το ΜΕΓΕΘΟΣ μπορεί να έχει κατάληξη με πολλαπλασιαστή: b για 512, k για " #~ "1K, m για 1 Meg.\n" #~ "Αν χρησιμοποιείται το -VALUE σαν πρώτη ΕΠΙΛΟΓΗ, ανάγνωσε -c ΤΙΜΗ όταν\n" #~ "ένας από τους πολλαπλασιαστές bkm ακολουθεί συνενωμένος, διαφορετικά " #~ "ανάγνωσε -n ΤΙΜΗ\n" # #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Αυτό το πρόγραμμα είναι ελεύθερο λογισμικό· μπορείτε να το \n" #~ "επαναδιανείμετε και/ή να το τροποποιήσετε υπό τους όρους της \n" #~ "Γενικής Δημόσιας ’δειας Χρήσεως Λογισμικού GNU (GNU General Public\n" #~ "Licence) όπως αυτή δημοσιεύτηκε από το Ίδρυμα Ελεύθερου Λογισμικού\n" #~ "(Free Software Foundation), είτε στην έκδοση 2, ή (κατά επιλογή σας)\n" #~ "οποιαδήποτε μεταγενέστερη έκδοση.\n" #~ "\n" #~ "Αυτό το πρόγραμμα διανέμεται με την ελπίδα ότι θα φανεί χρήσιμο,\n" #~ "αλλά ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ, χωρίς καν την εγγύηση ΧΡΗΣΙΜΟΤΗΤΑΣ ΓΙΑ \n" #~ "ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ. Παρακαλώ ανατρέξτε στη Γενική Δημόσια ’δεια \n" #~ "Χρήσης Λογισμικού GNU για περισσότερες λεπτομέρειες.\n" #~ "\n" #~ "Θα πρέπει να έχετε λάβει ένα αντίτυπο της άδειας αυτής μαζί με\n" #~ "αυτό το πρόγραμμα. Εάν όχι, γράψτε στο Ίδρυμα Ελεύθερου Λογισμικού\n" #~ "(Free Software Foundation) στη διεύθυνση Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" # #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ " +POS1 [-POS2] start a key at POS1, end it *before* POS2 " #~ "(obsolescent)\n" #~ "\t\t field numbers and character offsets are numbered\n" #~ " starting with zero (contrast with the -k option)\n" #~ " -b ignore leading blanks in sort fields or keys\n" #~ " -c check if given files already sorted, do not sort\n" #~ " -d consider only [a-zA-Z0-9 ] characters in keys\n" #~ " -f fold lower case to upper case characters in keys\n" #~ " -g compare according to general numerical value, imply -" #~ "b\n" #~ " -i consider only [\\040-\\0176] characters in keys\n" #~ " -k POS1[,POS2] start a key at POS1, end it *at* POS2\n" #~ "\t\t field numbers and character offsets are numbered\n" #~ " starting with one (contrast with zero-based +POS " #~ "form)\n" #~ " -m merge already sorted files, do not sort\n" #~ " -M compare (unknown) < `JAN' < ... < `DEC', imply -b\n" #~ " -n compare according to string numerical value, imply -b\n" #~ " -o FILE write result on FILE instead of standard output\n" #~ " -r reverse the result of comparisons\n" #~ " -s stabilize sort by disabling last resort comparison\n" #~ " -t SEP use SEParator instead of non- to whitespace " #~ "transition\n" #~ " -T DIRECTORY use DIRECTORY for temporary files, not $TMPDIR or %s\n" #~ " -u with -c, check for strict ordering;\n" #~ " with -m, only output the first of an equal sequence\n" #~ " -z end lines with 0 byte, not newline, for find -print0\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Εμφάνιση ταξινομημένης συνένωσης όλων των ΑΡΧΕΙΟ(ΩΝ) στην κανονική " #~ "έξοδο.\n" #~ "\n" #~ " +ΘΕΣΗ1 [-ΘΕΣΗ2] αρχή κλειδιού στη ΘΕΣΗ1, τερματισμός *πριν* τη " #~ "ΘΕΣΗ2\n" #~ " (εκτός χρήσης)\n" #~ " αριθμοί πεδίων και θέσεις χαρακτήρων αριθμούνται\n" #~ " αρχίζοντας από το μηδέν (σε αντίθεση με την " #~ "επιλογή -k)\n" #~ " -b αγνόηση προπορευόμενων κενών σε πεδία ταξινόμησης ή " #~ "κλειδιά\n" #~ " -c έλεγχος αν τα δοθέντα αρχεία είναι ήδη ταξινομημένα, " #~ "να\n" #~ " μην ταξινομηθούν\n" #~ " -d να θεωρηθούν μόνο οι χαρακτήρες [a-zA-Z0-9 ] στα " #~ "κλειδιά\n" #~ " -f αναδίπλωση πεζών χαρακτήρων σε κεφαλαία στα κλειδιά\n" #~ " -g σύγκριση σύμφωνα με τη γενική αριθμητική τιμή, θεώρησε " #~ "-b\n" #~ " -i θεώρησε μόνο τους χαρακτήρες [\\040-\\0176] στα " #~ "κλειδιά\n" #~ " -k ΘΕΣΗ1[,ΘΕΣΗ2] έναρξη κλειδού στη θέση ΘΕΣΗ1, τερματιστός *στη* " #~ "ΘΕΣΗ2\n" #~ " αριθμοί πεδίων και θέσεις χαρακτήρων αριθμούνται\n" #~ " αρχίζοντας από το ένα (σε αντίθεση με τη βασισμένη " #~ "στο\n" #~ " μηδέν μορφή +ΘΕΣΗ)\n" #~ " -m συνένωση μόνο ταξινομημένων αρχείων, να μη γίνει " #~ "ταξινόμηση\n" #~ " -M σύγκριση (άγνωστο) < `ΙΑΝ' < ... < `ΔΕΚ', θεώρησε -b\n" #~ " -n σύγκριση σύμφωνα με τη αλφαριθμητική αριθμητική τιμή, " #~ "θεώρησε -b\n" #~ " -o ARXEIO εγγραφή αποτελέσματος στο ΑΡΧΕΙΟ αντί στην κανονική " #~ "έξοδο\n" #~ " -r αντιστροφή των αποτελεσμάτων των συγκρίσεων\n" #~ " -s σταθεροποίηση της ταξινόμησης με απενεργοποίηση τη\n" #~ " σύγκρισης τελευταίας ελπίδας\n" #~ " -t ΔΙΑΧ χρήση ΔΙΑΧωριστή αντί της μετάστασης από μη-κενό σε\n" #~ " λευκό χαρακτήρα\n" #~ " -T ΚΑΤΑΛΟΓΟΣ χρήση ΚΑΤΑΛΟΓΟΣ για προσωρινά αρχεία, όχι το $TMPDIR ή " #~ "%s\n" #~ " -u με -c, έλεγχος για αυστηρή τοποθέτηση σε σειρά\n" #~ " με -m, μόνο έξοδος του πρώτου από μια ίση ακολουθία\n" #~ " -z τερματισμός γραμμών με 0 byte, όχι με νέα γραμμή, για\n" #~ " τη find -print0\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" # # xxx Check punctation # 2001-12-02 11:12:55 CET -ke- #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. -s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "\n" #~ "Μετάφραση συμβαίνει όταν δε δίνεται το -d και εμφανίζονται και τα δύο\n" #~ "ΣΥΝΟΛΟ1 και ΣΥΝΟΛΟ2. Το -t μπορεί να χρησιμοποιηθεί μόνο στη μετάφραση\n" #~ "Το ΣΥΝΟΛΟ2 αναπτύσσεται στο μήκος του ΣΥΝΟΛΟ1 με επανάληψη του " #~ "τελευταίου\n" #~ "χαρακτήρα, όπως χρειάζεται. Κατά υπέρβαση χαρακτήρες του ΣΥΝΟΛΟ2 " #~ "αγνοούνται\n" #~ "Μόνο τα [:lower:] και [:upper:] εγγυόνται την ανάπτυξη σε αύξουσα σειρά·\n" #~ "όταν χρησιμοποιούνται στο ΣΥΝΟΛΟ2 στη μετάφραση, μπορούν να " #~ "χρησιμοποιηθούν\n" #~ "μόνο σε ζεύγη για να ορίσουν μετατροπή μεταξύ πεζών/κεφαλαίων. Το -s\n" #~ "κάνει χρήση του ΣΥΝΟΛΟ1 αν δε μεταφράζει ή διαγράφει· διαφορετικά " #~ "συμπυκνώνει\n" #~ "κάνωντας χρήση του ΣΥΝΟΛΟ2 και συμβαίνει μετά από μετάφραση ή διαγραφή\n" # #, fuzzy #~ msgid "" #~ "Convert spaces in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -a, --all convert all whitespace, instead of initial " #~ "whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart instead of 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ "Μετατροπή διαστημάτων σε κάθε ΑΡΧΕΙΟ σε στηλοθέτες, γράφοντας στην " #~ "κανονική έξοδο.\n" #~ "Χωρίς ΑΡΧΕΙΟ, ή όταν το αρχείο είναι το -, ανάγνωση από την κανονική " #~ "είσοδο.\n" #~ "\n" #~ " -a, --all μετατροπή όλων των λευκών χαρακτήρων, αντί μόνο των " #~ "αρχικών\n" #~ " -t, --tabs=ΑΡΙΘΜΟΣ οι στηλοθέτες να έχουν απόσταση ΑΡΙΘΜΟΣ αντί 8\n" #~ " -t, --tabs=ΛΙΣΤΑ χρήση λίστας χωρισμένης με κόμμα για τη δήλωση της " #~ "θέσης των στηλοθετών\n" #~ " --help εμφάνιση αυτής της βοήθειας και έξοδος\n" #~ " --version εμφάνιση πληροφοριών έκδοσης και έξοδος\n" #~ "\n" #~ "Αντί για -t ΑΡΙΘΜΟΣ ή -t ΛΙΣΤΑ, -ΑΡΙΘΜΟΣ ή -ΛΙΣΤΑ μπορούν να " #~ "χρησιμοποιηθούν.\n" dc3dd-7.1.614/po/hu.po0000644000175000017500000125441311233346647014054 0ustar amedicoamedico# Hungarian translation of GNU coreutils # This file is distributed under the same license as the coreutils package. # Copyright (C) 2002, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # Emese Kovács , 2002. # Gabor Kelemen , 2005, 2006, 2007, 2008. # Translated using gnu.twm # The correct value of Language-Team is translation-team-hu@lists.sourceforge.net -kg msgid "" msgstr "" "Project-Id-Version: coreutils 6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-05-11 16:25+0200\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "nem hozható létre folyamat a következőhöz: %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "További információkért adja ki a(z) „%s --help” parancsot.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Használat: %s [OPERANDUS]...\n" " vagy: %s KAPCSOLÓ\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Fájl másolása, az operandusoknak megfelelő átalakítással és formázással.\n" "\n" " bs=BÁJT ibs=BÁJT és obs=BÁJT kényszerítése\n" " cbs=BÁJT BÁJT bájtot alakít át alkalmanként\n" " conv=KULCSSZÓ a vesszővel elválasztott szimbólumlistának megfelelően\n" " alakítja át a fájlt\n" " count=BLOKK csak BLOKK bemeneti blokkot másol\n" " ibs=BÁJT egyszerre BÁJT bájtot olvas be\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=FÁJL a FÁJLBÓL olvas a szabványos bemenet helyett\n" " iflag=JELÖLŐK a vesszővel elválasztott szimbólumlistának megfelelően " "olvas\n" " obs=BÁJT egyszerre BÁJT bájtot ír ki\n" " of=FÁJL a FÁJLBA ír a szabványos kimenet helyett\n" " oflag=JELÖLŐK a vesszővel elválasztott szimbólumlistának megfelelően ír\n" " seek=BLOKK ennyi obs-méretű blokkot hagy ki a kimenet elején\n" " skip=BLOKK ennyi ibs-méretű blokkot hagy ki a bemenet elején\n" " status=noxfer átviteli statisztika elnyomása\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "A BLOKKHOZ és a BÁJTHOZ a következő szorzó-utótagokat adhatod meg:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y.\n" "\n" "KULCSSZÓ szimbólumok az alábbiak lehetnek:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat ne hozza létre a kimeneti fájlt\n" " excl a működés visszautasítása, ha kimeneti fájl már létezik\n" " notrunc nem csonkolja a kimeneti fájlt\n" " ucase kisbetűről nagybetűre cserél\n" " swab minden bemeneti bájtpár sorrendjét megcseréli\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror folytatás olvasási hibák után\n" " sync minden bemeneti blokkot NULL bájtokkal ibs méretűre egészít ki;\n" " ha a „block” vagy „unblock” is szerepel a listában,\n" " akkor a feltöltéshez NULL helyett szóközt használ\n" " fdatasync a kimeneti fájladatok kiírása fizikailag a befejezés előtt\n" " fsync hasonló az előzőhöz, de a metaadatokat is kiírja\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "A JELÖLŐK az alábbiak lehetnek:\n" "\n" " append hozzáfűzési mód (csak kimenet esetén van értelme; javasolt a\n" " conv=notrunc)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct közvetlen I/O használata az adatokhoz\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory működés csak könyvtárakon\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync szinkronizált I/O használata az adatokhoz\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync hasonló az előzőhöz, de a metaadatok esetén is érvényes\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock nem blokkoló I/O használata\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime ne frissítse a hozzáférési időt\n" # fixme #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty ne rendelje hozzá a vezérlő terminált fájlból\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow ne kövesse a szimbolikus linkeket\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks többszörös linkek esetén a működés visszautasítása\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary bináris I/O használata az adatokhoz\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text szöveges I/O használata az adatokhoz\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Egy %s szignál küldésével egy futó „dd” folyamatnak kiírathatja az\n" "addig beolvasott és kiírt rekordok számát a szabványos hibakimenetre,\n" "majd folytathatja a másolást.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 beolvasott rekord\n" " 18335302+0 kiírt rekord\n" " 9387674624 bájt (9.4 GB) másolva, 34.6279 másodperc, 271 MB/mp\n" "\n" "A kapcsolók:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Ismeretlen rendszerhiba" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% beolvasott rekord\n" "%+% kiírt rekord\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% bájt (%s) másolva" msgstr[1] "% bájt (%s) másolva" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Végtelen B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g mp, %s/mp\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g mp, %s/mp\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "%s bemeneti fájl lezárása" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "%s kimeneti fájl lezárása" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "A kimenetifájl-utótagok elfogytak" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "%s megnyitása" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "HIBÁS" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "ismeretlen operandus: %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "érvénytelen dátum: %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "érvénytelen dátumformátum: %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "érvénytelen dátumformátum: %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "érvénytelen dátumformátum: %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "érvénytelen átalakítás" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "érvénytelen bemeneti jelölő" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "érvénytelen kimeneti jelölő" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "érvénytelen állapotjelölő" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "érvénytelen szám: %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "az excl és a nocreat nem adható meg egyszerre" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "a -e és -i kapcsolók nem kombinálhatók" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "a -e és -i kapcsolók nem kombinálhatók" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "a -e és -i kapcsolók nem kombinálhatók" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "a -e és -i kapcsolók nem kombinálhatók" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "a -e és -i kapcsolók nem kombinálhatók" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "figyelmeztetés: lseek kernel hiba kivédése a következő fájlnál:\n" "%s (mt_type=0x%0lx)\n" "A fájlban megtalálod a típusok listáját" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "%s olvasása" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: nem lehet pozicionálni" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "eltolástúlcsordulás a(z) %s fájl olvasása közben" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "figyelmeztetés: érvénytelen fájleltolás a meghiúsult olvasás után" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "a kernelhiba nem kerülhető meg" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "%s jelölőinek beállítása" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "%s könyvtár olvasása" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "%s könyvtár olvasása" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "írás a következőbe: %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "az fdatasync meghiúsult a következőhöz: %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "az fsync meghiúsult a következőhöz: %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "szabványos bemenet" #: src/dc3dd.c:3938 msgid "standard output" msgstr "szabványos kimenet" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "Az eltolás túl nagy: nem lehet seek=% (%lu bájt) blokk\n" "hosszára csonkítani" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "fstat %s sikertelen" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "csonkítás a(z) %. bájtnál a következő kimeneti fájlban: %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii EBCDIC-ből ASCII-ba\n" #~ " ebcdic ASCII-ból EBCDIC-be\n" #~ " ibm ASCII-ból módosított EBCDIC-be\n" #~ " block az új sorra végződő rekordokat cbs méretűre tölti ki " #~ "szóközökkel\n" #~ " unblock a sorvégi szóközöket cbs méretű rekordokban soremelésre " #~ "cseréli\n" #~ " lcase nagybetűről kisbetűre cserél\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% levágott rekord\n" #~ msgstr[1] "% levágott rekord\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "az {ascii,ebcdic,ibm} közül csak egy adható meg egyszerre" #~ msgid "cannot combine block and unblock" #~ msgstr "a block és az unblock nem adható meg egyszerre" #~ msgid "cannot combine lcase and ucase" #~ msgstr "az lcase és az ucase nem adható meg egyszerre" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "figyelmeztetés: érvénytelen fájleltolás a meghiúsult olvasás után" #~ msgid "error writing %s" #~ msgstr "hiba %s írása közben" #~ msgid "invalid argument %s for %s" #~ msgstr "a(z) „%s” argumentum érvénytelen a következőhöz: %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "a(z) „%s” argumentum nem egyértelmű a következőhöz: „%s”" #~ msgid "Valid arguments are:" #~ msgstr "Az érvényes argumentumok a következők:" #~ msgid "error closing file" #~ msgstr "hiba a fájl lezárásakor" #~ msgid "write error" #~ msgstr "íráshiba" #~ msgid "preserving permissions for %s" #~ msgstr "%s jogosultságainak megtartása" #~ msgid "cannot stat %s" #~ msgstr "stat %s sikertelen" #~ msgid "regular empty file" #~ msgstr "szabályos üres fájl" #~ msgid "regular file" #~ msgstr "szabályos fájl" #~ msgid "directory" #~ msgstr "könyvtár" #~ msgid "block special file" #~ msgstr "speciális blokkfájl" #~ msgid "character special file" #~ msgstr "speciális karakterfájl" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "szimbolikus link" #~ msgid "socket" #~ msgstr "foglalat" #~ msgid "message queue" #~ msgstr "üzenetsor" #~ msgid "semaphore" #~ msgstr "szemafor" #~ msgid "shared memory object" #~ msgstr "megosztott memóriaobjektum" #~ msgid "typed memory object" #~ msgstr "típusos memóriaobjektum" #~ msgid "weird file" #~ msgstr "szokatlan fájl" #~ msgid "Address family for hostname not supported" #~ msgstr "A címcsalád a gépnévhez nem támogatott" #~ msgid "Temporary failure in name resolution" #~ msgstr "Átmeneti névfeloldási hiba" #~ msgid "Bad value for ai_flags" #~ msgstr "Az ai_flags értéke hibás" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Helyreállíthatatlan névfeloldási hiba" #~ msgid "ai_family not supported" #~ msgstr "az ai_family nem támogatott" #~ msgid "Memory allocation failure" #~ msgstr "Memóriafoglalási hiba" #~ msgid "No address associated with hostname" #~ msgstr "Nincs cím társítva a gépnévhez" #~ msgid "Name or service not known" #~ msgstr "A név vagy a szolgáltatás nem ismert" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "A Servname nem támogatott az ai_socktype-hoz" #~ msgid "ai_socktype not supported" #~ msgstr "az ai_socktype nem támogatott" #~ msgid "System error" #~ msgstr "Rendszerhiba" #~ msgid "Argument buffer too small" #~ msgstr "A paraméterpuffer túl kicsi" #~ msgid "Processing request in progress" #~ msgstr "Kérés feldolgozása folyamatban" #~ msgid "Request canceled" #~ msgstr "Kérés megszakítva" #~ msgid "Request not canceled" #~ msgstr "A kérés nem lett megszakítva" #~ msgid "All requests done" #~ msgstr "Minden kérés kész" #~ msgid "Interrupted by a signal" #~ msgstr "Egy szignál megszakította" #~ msgid "Parameter string not correctly encoded" #~ msgstr "A Paraméter-karakterlánc kódolása nem megfelelő" #~ msgid "Unknown error" #~ msgstr "Ismeretlen hiba" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: a(z) „--%s” kapcsoló nem enged meg argumentumot\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: a(z) „%c%s” kapcsoló nem enged meg argumentumot\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: a(z) „%s” kapcsolóhoz argumentum szükséges\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: a(z) „--%s” kapcsoló ismeretlen\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: a(z) „%c%s” kapcsoló ismeretlen\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: illegális kapcsoló -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: érvénytelen kapcsoló -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: a kapcsoló egy argumentumot igényel -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: a „-W %s” kapcsoló nem egyértelmű\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: a „-W %s” kapcsoló nem enged meg argumentumot\n" #~ msgid "cannot change permissions of %s" #~ msgstr "nem lehet %s jogosultságait megváltoztatni" #~ msgid "cannot create directory %s" #~ msgstr "nem lehet a következő könyvtárat létrehozni: %s" #~ msgid "memory exhausted" #~ msgstr "elfogyott a memória" #~ msgid "unable to record current working directory" #~ msgstr "az aktuális munkakönyvtár feljegyzése meghiúsult" #~ msgid "failed to return to initial working directory" #~ msgstr "a visszatérés meghiúsult a kiinduló munkakönyvtárba" #~ msgid "`" #~ msgstr "”" #~ msgid "'" #~ msgstr "”" #~ msgid "%s: end of file" #~ msgstr "%s: fájl vége" #~ msgid "Success" #~ msgstr "Sikerült" #~ msgid "No match" #~ msgstr "Nincs találat" #~ msgid "Invalid regular expression" #~ msgstr "Érvénytelen szabályos kifejezés" #~ msgid "Invalid collation character" #~ msgstr "Érvénytelen leválogatási karakter" #~ msgid "Invalid character class name" #~ msgstr "érvénytelen karakterosztálynév" #~ msgid "Trailing backslash" #~ msgstr "Záró visszaper" #~ msgid "Invalid back reference" #~ msgstr "Érvénytelen visszahivatkozás" #~ msgid "Unmatched [ or [^" #~ msgstr "Pár nélküli [ vagy [^" #~ msgid "Unmatched ( or \\(" #~ msgstr "Pár nélküli ( vagy \\(" #~ msgid "Unmatched \\{" #~ msgstr "Pár nélküli \\{" #~ msgid "Invalid content of \\{\\}" #~ msgstr "A \\{\\} tartalma érvénytelen" #~ msgid "Invalid range end" #~ msgstr "Érvénytelen tartományvég" #~ msgid "Memory exhausted" #~ msgstr "Elfogyott a memória" #~ msgid "Invalid preceding regular expression" #~ msgstr "Érvénytelen megelőző szabályos kifejezés" #~ msgid "Premature end of regular expression" #~ msgstr "A szabályos kifejezés túl korán véget ért" #~ msgid "Regular expression too big" #~ msgstr "A szabályos kifejezés túl nagy" #~ msgid "Unmatched ) or \\)" #~ msgstr "Pár nélküli ) vagy \\)" #~ msgid "No previous regular expression" #~ msgstr "Nincs megelőző szabályos kifejezés" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "veszélyes rekurzívan dolgozni a következőn: %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "veszélyes rekurzívan dolgozni a következőn: %s (ugyanaz, mint %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "" #~ "a --no-preserve-root kapcsoló használatával ez a hibamentes mód " #~ "felülbírálható" #~ msgid "^[yY]" #~ msgstr "^[iIyY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "%s jogosultságainak beállítása" #~ msgid "iconv function not usable" #~ msgstr "az iconv függvény nem használható" #~ msgid "iconv function not available" #~ msgstr "az iconv függvény nem érhető el" #~ msgid "character out of range" #~ msgstr "tartományon kívüli karakter" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "nem lehet helyi karakterkészletbe átalakítani a következőt: U+%04X" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "nem lehet a(z) U+%04X-t helyi karakterkészletbe átalakítani: %s" #~ msgid "invalid user" #~ msgstr "érvénytelen felhasználó" #~ msgid "invalid group" #~ msgstr "érvénytelen csoport" #~ msgid "invalid spec" #~ msgstr "érvénytelen meghatározás" #~ msgid "(C)" #~ msgstr "(C)" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "A licenc GPLv3+: a GNU GPL 3. vagy újabb változata \n" #~ "Ez egy szabad szoftver, terjesztheti és/vagy módosíthatja.\n" #~ "NINCS GARANCIA, a törvény által engedélyezett mértékig.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Írta %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Írta %s és %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Írta %s, %s, és %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Írta %s, %s, %s,\n" #~ "és %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Írta %s, %s, %s,\n" #~ "%s, és %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Írta %s, %s, %s,\n" #~ "%s, %s, és %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Írta %s, %s, %s,\n" #~ "%s, %s, %s, és %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Írta %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "és %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Írta %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, és %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Írta %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, és mások.\n" #~ msgid "invalid argument: %s" #~ msgstr "érvénytelen argumentum: %s" #~ msgid "string comparison failed" #~ msgstr "karakterlánc-összehasonlítás sikertelen" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Állítsd be az LC_ALL='C' -t a probléma megkerüléséhez." #~ msgid "The strings compared were %s and %s." #~ msgstr "Az összehasonlított karakterláncok: %s és %s." #~ msgid "string transformation failed" #~ msgstr "a karakterlánc-átalakítás sikertelen" #~ msgid "The untransformed string was %s." #~ msgstr "Az átalakítatlan karakterlánc: %s." #~ msgid "cannot perform formatted output" #~ msgstr "a formázott kiírás nem hajtható végre" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "érvénytelen %s%s argumentum: „%s”" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "érvénytelen utótag a(z) %s%s argumentumban: „%s”" #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s%s: a(z) „%s” argumentum túl nagy" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ] [FÁJL]\n" #~ "A FÁJL vagy a szabványos bemenet Base64 kódolása vagy visszafejtése, a\n" #~ "szabványos kimenetre.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=OSZLOP Kódolt sorok tördelése OSZLOP karakter után\n" #~ " (alapértelmezett: 76).\n" #~ " A 0 használatával letiltható a sortörés.\n" #~ "\n" #~ " -d, --decode Adatok visszafejtése.\n" #~ " -i, --ignore-garbage Visszafejtéskor csak az ábécé karaktereit veszi\n" #~ " figyelembe.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Ezen súgó kiírása és kilépés.\n" #~ " --version Verzióinformációk megjelenítése és kilépés.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Az adatok kódolása a base64 ábécé által az RFC 3548-ban leírt módon " #~ "történik.\n" #~ "A visszafejtés a szabványnak megfelelő bemenetet követel meg " #~ "alapértelmezésben,\n" #~ "az --ignore-garbage kapcsoló használatával megkísérelhető a helyreállítás " #~ "az\n" #~ "ábécében nem szereplő karakterekből.\n" #~ msgid "read error" #~ msgstr "olvasási hiba" #~ msgid "invalid input" #~ msgstr "érvénytelen bemenet" #~ msgid "invalid wrap size: %s" #~ msgstr "érvénytelen sortörésméret: %s" #~ msgid "extra operand %s" #~ msgstr "extra operandus: „%s”" #~ msgid "closing standard input" #~ msgstr "a szabványos bemenet lezárása" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s NÉV [UTÓTAG]\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Kinyomtatja a NEVET a kezdő könyvtárösszetevő eltávolítása után.\n" #~ "Ha meg van adva, a záró UTÓTAGOT is eltávolítja.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Példák::\n" #~ " %s /usr/bin/sort A kimenet: „sort”.\n" #~ " %s include/stdio.h .h A kimenet: „stdio”.\n" #~ msgid "missing operand" #~ msgstr "hiányzó operandus" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... FÁJL...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Összefűzi a FÁJLOKAT, vagy a szabványos bemenetet a szabványos " #~ "kimenettel.\n" #~ "\n" #~ " -A, --show-all azonos a -vET-vel\n" #~ " -b, --number-nonblank a nem üres kimeneti sorok megszámozása\n" #~ " -e azonos a -vE-vel\n" #~ " -E, --show-ends egy $ jelet jelenít meg minden egyes sor " #~ "végén\n" #~ " -n, --number megszámoz minden kimeneti sort\n" #~ " -s, --squeeze-blank az ismétlődő üres kimeneti sorokat nem " #~ "jeleníti meg\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t azonos a -vT-vel\n" #~ " -T, --show-tabs a TAB karaktereket ^I formában jeleníti meg\n" #~ " -u (figyelmen kívül marad)\n" #~ " -v, --show-nonprinting a ^ és M- jelölés használata az LFD és TAB\n" #~ " kivételével\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Példák:\n" #~ " %s f - g Előbb f, majd a szabványos bemenet, majd g tartalmának " #~ "kiírása.\n" #~ " %s A szabványos bemenet másolása a szabványos kimenetre.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "nem végezhető ioctl a következőn: %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: a bemeneti fájl a kimeneti fájl" #~ msgid "failed to create security context: %s" #~ msgstr "a biztonsági kontextus létrehozása meghiúsult: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "" #~ "a(z) %s biztonsági kontextus összetevőjének beállítása meghiúsult a " #~ "következőre: %s" #~ msgid "failed to get security context of %s" #~ msgstr "%s biztonsági kontextusának lekérése meghiúsult" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "nem alkalmazható részleges kontextus a(z) %s nem címkézett fájlra" #~ msgid "failed to change context of %s to %s" #~ msgstr "%s kontextusának megváltoztatása meghiúsult a következőre: %s" #~ msgid "cannot access %s" #~ msgstr "%s nem érhető el" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "a következő könyvtár nem olvasható: %s" #~ msgid "changing security context of %s" #~ msgstr "%s biztonsági kontextusának megváltoztatása" #~ msgid "fts_read failed" #~ msgstr "az fts_read sikertelen" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... KONTEXTUS FÁJL...\n" #~ " vagy: %s [KAPCSOLÓ]... [-u FELHASZNÁLÓ] [-r SZEREP] [-l TARTOMÁNY] \n" #~ " [-t TÍPUS] FÁJL...\n" #~ " vagy: %s [KAPCSOLÓ]... --reference=REFERENCIAFÁJL FÁJL...\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Megváltoztatja mindegyik FÁJL kontextusát a KONTEXTUSRA.\n" #~ "A --reference használatával minden egyes FÁJL kontextusát a " #~ "REFERENCIAFÁJL\n" #~ "kontextusára változtatja.\n" #~ "\n" #~ " -c, --changes mint a részletes mód, de csak a végrehajtott\n" #~ " változtatásokat jelzi\n" #~ " -h, --no-dereference a szimbolikus linket érinti és nem a fájlt\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=RFÁJL a megadott RFÁJL biztonsági kontextusát " #~ "használja\n" #~ " egy KONTEXTUS érték megadása helyett\n" #~ " -R, --recursive rekurzívan működik a fájlokon és " #~ "könyvtárakon\n" #~ " -v, --verbose minden feldolgozott fájl után diagnosztikai\n" #~ " üzenetet ír ki\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=FELHASZNÁLÓ a FELHASZNÁLÓ felhasználó beállítása a cél " #~ "biztonsági\n" #~ " kontextusában\n" #~ " -r, --role=SZEREP a SZEREP szerep beállítása a cél biztonsági\n" #~ " kontextusában\n" #~ " -t, --type=TÍPUS a TÍPUS típus beállítása a cél biztonsági " #~ "kontextusában\n" #~ " -l, --range=TARTOMÁNY a TARTOMÁNY tartomány beállítása a cél " #~ "biztonsági\n" #~ " kontextusában\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Az alábbi kapcsolók a hierarchia bejárását módosítják, ha a -R kapcsoló\n" #~ "is meg van adva. Ha egynél több van megadva, akkor csak a legutolsó\n" #~ "fejti ki hatását.\n" #~ "\n" #~ " -H ha egy parancssori argumentum szimbolikus link\n" #~ " egy könyvtárra, akkor bejárja\n" #~ " -L minden könyvtárra mutató szimbolikus link " #~ "bejárása\n" #~ " -P ne járjon be egyetlen szimbolikus linket sem\n" #~ " (alapértelmezett)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "A -R --dereference igényli a -H vagy -L egyikét" #~ msgid "-R -h requires -P" #~ msgstr "a -R -h megköveteli a -P használatát" #~ msgid "missing operand after %s" #~ msgstr "a(z) „%s” operandusa hiányzik" #~ msgid "invalid context: %s" #~ msgstr "érvénytelen kontextus: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "ütköző biztonságikontextus-meghatározót adott meg" #~ msgid "failed to get attributes of %s" #~ msgstr "%s attribútumainak beolvasása sikertelen" #~ msgid "invalid group: %s" #~ msgstr "érvénytelen csoport: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... CSOPORT FÁJL...\n" #~ " vagy: %s [KAPCSOLÓ]... --reference=REFERENCIAFÁJL FÁJL...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Megváltoztatja mindegyik FÁJL csoportját a CSOPORTRA.\n" #~ "A --reference használatával minden egyes FÁJL csoportját a " #~ "REFERENCIAFÁJL\n" #~ "csoportjára változtatja.\n" #~ "\n" #~ " -c, --changes mint a bőbeszédű mód, de csak a végrehajtott\n" #~ " változásokat jelzi\n" #~ " --dereference nem a szimbolikus link csoportját változtatja " #~ "meg,\n" #~ " hanem a fájlét, amire az mutat (ez az\n" #~ " alapértelmezett)\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference nem a fájl, hanem a rá mutató szimbolikus " #~ "link\n" #~ " csoportját állítja át (csak azokon a " #~ "rendszereken\n" #~ " működik, ahol a szimlink csoportja " #~ "állítható)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root a „/”-t ne kezelje speciálisan " #~ "(alapértelmezett)\n" #~ " --preserve-root a rekurzív működés visszautasítása a „/” " #~ "könyvtáron\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet megszünteti a legtöbb hibaüzenetet\n" #~ " --reference=RFÁJL a megadott RFÁJL csoportját használja a " #~ "CSOPORT\n" #~ " értéke helyett\n" #~ " -R, --recursive rekurzívan működik a fájlokon és " #~ "könyvtárakon\n" #~ " -v, --verbose minden feldolgozott fájl után diagnosztikai\n" #~ " üzenetet ír ki\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Példák:\n" #~ " %s staff /u A /u csoportjának módosítása „staff”-ra.\n" #~ " %s -hR staff /u A /u és az alatta található fájlok csoportjának " #~ "módosítása\n" #~ " „staff”-ra.\n" #~ msgid "getting new attributes of %s" #~ msgstr "%s új attribútumainak beolvasása" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "" #~ "a szimbolikus link (%s) és az általa hivatkozott fájl egyaránt " #~ "változatlan\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "%s jogosultságai megváltoztatva a következőre: %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "" #~ "%s jogosultságainak megváltoztatása sikertelen a következőre: %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "%s jogosultsága a következő maradt: %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "nem lehet dolgozni a(z) %s törött szimbolikus linken" #~ msgid "changing permissions of %s" #~ msgstr "%s jogosultságainak megváltoztatása" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: az új jogosultságok: %s, nem pedig %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... MÓD[,MÓD]... FÁJL...\n" #~ " vagy: %s [KAPCSOLÓ]... OKTÁLIS-MÓD FÁJL...\n" #~ " vagy: %s [KAPCSOLÓ]... --reference=REFERENCIAFÁJL FÁJL...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Megváltoztatja minden egyes FÁJL jogosultságait a MÓDRA.\n" #~ "\n" #~ " -c, --changes mint a verbose, de csak a változásokat jelzi\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root a „/”-t ne kezelje speciálisan " #~ "(alapértelmezett)\n" #~ " --preserve-root a rekurzív működés visszautasítása a „/” " #~ "könyvtáron\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet megszünteti a legtöbb hibaüzenetet\n" #~ " -v, --verbose minden feldolgozott fájl után üzenetet ír ki\n" #~ " --reference=RFÁJL az RFÁJL MÓDJÁT állítja be a MÓD értékek " #~ "helyett\n" #~ " -R, --recursive rekurzívan módosítja a fájlokat és " #~ "könyvtárakat\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Minden egyes MÓD a következő formátumú: `[ugoa]*([-+=]([rwxXst]*|[ugo]))" #~ "+'.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "a mód és a --reference kapcsolók nem kombinálhatók" #~ msgid "invalid mode: %s" #~ msgstr "érvénytelen mód: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "%s tulajdonosa megváltoztatva a következőre: %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "%s csoportja megváltoztatva a következőre: %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "%s tulajdonosa nem változott meg\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "%s tulajdonosának megváltoztatása sikertelen a következőre: %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "%s csoportjának megváltoztatása sikertelen a következőre: %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "%s tulajdonosának megváltoztatása meghiúsult\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "%s tulajdonosa maradt %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "%s csoportja maradt %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "%s tulajdonosa megtartva\n" #~ msgid "cannot dereference %s" #~ msgstr "%s nem követhető" #~ msgid "changing ownership of %s" #~ msgstr "%s tulajdonosának megváltoztatása" #~ msgid "changing group of %s" #~ msgstr "%s csoportjának megváltoztatása" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... [TULAJDONOS] [:[CSOPORT] FÁJL...\n" #~ " vagy: %s [KAPCSOLÓ]... --reference=REFERENCIAFÁJL FÁJL...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Megváltoztatja mindegyik FÁJL tulajdonosát és/vagy csoportját a " #~ "TULAJDONOSRA\n" #~ "és/vagy a CSOPORTRA. A --reference használata esetén mindegyik FÁJL\n" #~ "tulajdonosát és csoportját a REFERENCIAFÁJLÉRA változtatja.\n" #~ "\n" #~ " -c, --changes mint a verbose, de csak a változásokat jelzi\n" #~ " --dereference nem a szimbolikus link csoportját változtatja " #~ "meg,\n" #~ " hanem a fájlét, amire az mutat\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=JELENLEGI_TULAJ:JELENLEGI_CSOPORT\n" #~ " csak akkor változtatja meg a fájl " #~ "tulajdonosát és/\n" #~ " vagy csoportját, ha a jelenlegi " #~ "beállítások\n" #~ " megegyeznek a megadottakkal. A két " #~ "attribútum\n" #~ " közül bármelyik elhagyható.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet megszünteti a legtöbb hibaüzenetet\n" #~ " --reference=RFÁJL a megadott RFÁJL csoportját és tulajdonosát\n" #~ " állítja be a TULAJ:CSOPORT értéke helyett\n" #~ " -R, --recursive rekurzívan módosítja a fájlokat és " #~ "könyvtárakat\n" #~ " -v, --verbose minden feldolgozott fájl után diagnosztikai\n" #~ " üzenetet ír ki\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "A tulajdonos változatlan marad, ha nincs megadva. A csoport változatlan\n" #~ "marad, ha nincs megadva, de megváltozik a bejelentkezési csoportra, a „:”-" #~ "ot\n" #~ "követő TULAJDONOS nevének megadásakor. A TULAJDONOST és a CSOPORTOT meg\n" #~ "lehet adni számmal vagy névvel.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Példák:\n" #~ " %s root /u A /u tulajdonosának megváltoztatása „root”-ra.\n" #~ " %s root:staff /u Hasonló, de a csoportot megváltoztatja „staff”-ra.\n" #~ " %s -hR root /u A /u és az alatta található fájlok tulajdonosának\n" #~ " módosítása „root”-ra.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s ÚJGYÖKÉR [PARANCS...]\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "A PARANCS futtatása a gyökérkönyvtár ÚJGYÖKÉRRE állításával.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Ha nincs parancs megadva, a ``${SHELL} -i'' (alapértelmezés: /bin/sh) " #~ "indul el.\n" #~ msgid "cannot change root directory to %s" #~ msgstr "a gyökérkönyvtár nem váltható át a következőre: %s" #~ msgid "cannot chdir to root directory" #~ msgstr "nem lehet a gyökérkönyvtárba lépni" #~ msgid "cannot run command %s" #~ msgstr "a(z) %s parancs nem futtatható" #~ msgid "%s: file too long" #~ msgstr "%s: a fájl túl nagy" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Használat: %s [FÁJL]...\n" #~ " vagy: %s [KAPCSOLÓ]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Minden egyes FÁJL CRC ellenőrzőösszegének és bájtjai számának kiírása.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... FÁJL1 FÁJL2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "A rendezett FÁJL1 és FÁJL2 összehasonlítása sorról sorra.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Kapcsolók nélkül három oszlopból álló kimenetet állít elő. Az első " #~ "oszlop \n" #~ "tartalmazza a FÁJL1-ben egyedi sorokat, a második a FÁJL2-ben egyedi " #~ "sorokat,\n" #~ "a harmadik oszlop pedig a mindkét fájlban közös sorokat.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 a FÁJL1-ben egyedi sorok elnyomása a kimenetben\n" #~ " -2 a FÁJL2-ben egyedi sorok elnyomása a kimenetben\n" #~ " -3 a mindkét fájlban szereplő sorok elnyomása a " #~ "kimenetben\n" #~ msgid "clearing permissions for %s" #~ msgstr "%s jogosultságainak törlése" #~ msgid "failed to preserve ownership for %s" #~ msgstr "%s tulajdonosának megtartása meghiúsult" #~ msgid "failed to lookup file %s" #~ msgstr "%s fájl kikeresése meghiúsult" #~ msgid "failed to preserve authorship for %s" #~ msgstr "%s szerzőjének megtartása meghiúsult" #~ msgid "cannot open %s for reading" #~ msgstr "%s nem nyitható meg olvasásra" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "%s fájl kihagyása, mivel kicserélték másolás közben" #~ msgid "failed to get file system create context" #~ msgstr "a fájlrendszer létrehozási kontextusának lekérése meghiúsult" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "%s biztonsági kontextusának beállítása meghiúsult a következőre: %s" #~ msgid "cannot remove %s" #~ msgstr "%s nem törölhető" #~ msgid "removed %s\n" #~ msgstr "%s törölve\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "nincs írás a(z) %s törött szimbolikus linken keresztül" #~ msgid "cannot create regular file %s" #~ msgstr "%s reguláris fájl nem hozható létre" #~ msgid "cannot lseek %s" #~ msgstr "lseek %s sikertelen" #~ msgid "writing %s" #~ msgstr "%s írása" #~ msgid "preserving times for %s" #~ msgstr "%s összes idejének megtartása" #~ msgid "closing %s" #~ msgstr "%s lezárása" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "" #~ "%s: megpróbálja felülírni a(z) %s fájlt, figyelmen kívül hagyva a(z) %" #~ "04lo (%s) módot? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: felülírod a(z) %s fájlt? " #~ msgid " (backup: %s)" #~ msgstr " (biztonsági mentés: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "" #~ "az alapértelmezett fájllétrehozási kontextus visszaállítása meghiúsult" #~ msgid "omitting directory %s" #~ msgstr "%s könyvtár kihagyása" #~ msgid "warning: source file %s specified more than once" #~ msgstr "figyelmeztetés: %s forrásfájl többször is meg van adva" #~ msgid "%s and %s are the same file" #~ msgstr "%s és %s ugyanaz a fájl" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "%s nem könyvtár; nem írható felül %s könyvtárral" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "az éppen létrehozott %s-t nem fogom felülírni ezzel: %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "%s könyvtárat nem írható felül nem könyvtárral" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "a könyvtárat nem lehet nem könyvtárba áthelyezni: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "" #~ "%s biztonsági mentése megsemmisítené a forrást; %s nem került áthelyezésre" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "" #~ "%s biztonsági mentése megsemmisítené a forrást; %s nem került másolásra" #~ msgid "cannot backup %s" #~ msgstr "%s biztonsági mentése sikertelen" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "" #~ "a(z) %s nem kerül átmásolásra az imént létrehozott %s szimbolikus linken " #~ "keresztül" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "%s könyvtárat nem lehet saját magába (%s) másolni" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "%2$s könyvtárra mutató %1$s hard link nem lesz létrehozva" #~ msgid "cannot create hard link %s to %s" #~ msgstr "%s hard link nem hozható létre a következőre: %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "%s-t nem lehet egy saját alkönyvtárába (%s) áthelyezni" #~ msgid "cannot move %s to %s" #~ msgstr "%s-t nem lehet ide áthelyezni: %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "eszközközi áthelyezés sikertelen:\n" #~ "%s --> %s; cél törlése sikertelen" #~ msgid "failed to set default file creation context to %s" #~ msgstr "" #~ "az alapértelmezett fájllétrehozási kontextus beállítása meghiúsult a " #~ "következőre: %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "%s körkörös szimbolikus link nem másolható" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: relatív szimbolikus linkeket csak az aktuális könyvtárban lehet " #~ "létrehozni" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "%s szimbolikus link nem hozható létre a következőre: %s" #~ msgid "cannot create link %s" #~ msgstr "%s link nem hozható létre" #~ msgid "cannot create fifo %s" #~ msgstr "%s fifo nem hozható létre" #~ msgid "cannot create special file %s" #~ msgstr "%s speciális fájl nem hozható létre" #~ msgid "cannot read symbolic link %s" #~ msgstr "%s szimbolikus link nem olvasható" #~ msgid "cannot create symbolic link %s" #~ msgstr "%s szimbolikus link nem hozható létre" #~ msgid "%s has unknown file type" #~ msgstr "%s fájltípusa ismeretlen" #~ msgid "cannot un-backup %s" #~ msgstr "%s biztonsági mentése nem állítható vissza" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (biztonsági mentés visszaállítása)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... [-T] FORRÁS CÉL\n" #~ " vagy: %s [KAPCSOLÓ]... FORRÁS... KÖNYVTÁR\n" #~ " vagy: %s [KAPCSOLÓ]... -t KÖNYVTÁR FORRÁS...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "A FORRÁST a CÉLRA, vagy több FORRÁST a KÖNYVTÁRBA másol.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Ha egy hosszú kapcsolóhoz kötelező argumentumot megadni, akkor ez a \n" #~ "megfelelő rövid kapcsolónál is kötelező.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive ugyanaz, mint a -dpR\n" #~ " --backup[=CONTROL] minden létező célfájlról mentést készít\n" #~ " -b mint a --backup, de nem fogad el " #~ "argumentumot\n" #~ " --copy-contents rekurzió esetén a speciális fájlok " #~ "tartalmát is\n" #~ " másolja\n" #~ " -d mint a --no-dereference --preserve=links\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force ha egy létező célfájlt nem lehet " #~ "megnyitni,\n" #~ " akkor törli azt, majd újrapróbálja\n" #~ " -i, --interactive felülírás előtt kérdez\n" #~ " -H parancssori szimbolikus linkek követése a\n" #~ " FORRÁSBAN\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link fájlok linkelése másolás helyett\n" #~ " -L, --dereference a szimbolikus linkek követése mindig a " #~ "FORRÁSBAN\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference soha ne kövesse a szimbolikus linkeket a\n" #~ " FORRÁSBAN\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p mint a --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LISTA] megadott attribútumok megtartása (alap:\n" #~ " mode,ownership,timestamps), ha lehet\n" #~ " további attribútumokat is: context, " #~ "links, all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=ATTR_LISTA nem őrzi meg a megadott attribútumokat\n" #~ " --parents teljes forrásfájlnév használata a KÖNYVTÁR " #~ "alatt\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive könyvtárak rekurzív másolása\n" #~ " --remove-destination törli a célfájl, még mielőtt megpróbálná\n" #~ " megnyitni (ellentétben a --force " #~ "kapcsolóval)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=EKKOR ritka fájlok létrehozásának szabályozása\n" #~ " --strip-trailing-slashes eltávolítja a befejező per jeleket minden\n" #~ " FORRÁS argumentumról\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link szimbolikus link létrehozása másolás " #~ "helyett\n" #~ " -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos " #~ "kiterjesztésének\n" #~ " felülbírálása\n" #~ " -t, --target-directory=KÖNYVTÁR minden FORRÁS argumentum másolása a\n" #~ " megadott KÖNYVTÁRBA\n" #~ " -T, --no-target-directory a CÉL kezelése normál fájlként\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update csak akkor másol, ha a CÉL fájl régebbi " #~ "mint a\n" #~ " FORRÁS, vagy ha a CÉL nem létezik\n" #~ " -v, --verbose elmagyarázza, mi történik\n" #~ " -x, --one-file-system az adott fájlrendszeren marad\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Alapértelmezésben a program kitalálja, hogy a FORRÁS fájl ritka-e vagy " #~ "nem.\n" #~ "Amennyiben igen, a megfelelő CÉL fájl is ritka lesz. Ez a --sparse=auto\n" #~ "kapcsolónak megfelelő viselkedés. Megadhatod a --sparse=always kapcsolót\n" #~ "ekkor a CÉL fájl ritka lesz, amennyiben a FORRÁS megfelelő mennyiségű " #~ "null\n" #~ "bájtot tartalmaz.\n" #~ "A --sparse=never kapcsolóval letilthatod a ritka fájlok létrehozását.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "A biztonsági másolat kiterjesztése „~”, hacsak nincs megadva a --suffix " #~ "vagy\n" #~ "a SIMPLE_BACKUP_SUFFIX használatával. A verziókövetés módját " #~ "megválaszthatod a\n" #~ "--backup kapcsolóval vagy a VERSION_CONTROL környezeti változó " #~ "segítségével.\n" #~ "Az érvényes értékek a következők:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off nem készít mentést (még a --backup megadása esetén " #~ "sem)\n" #~ " numbered, t számozott mentést készít\n" #~ " existing, nil számozott, ha már létezik számozott változat, " #~ "egyébként\n" #~ " egyszerű\n" #~ " simple, never mindig egyszerű biztonsági mentés\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Kivételt képez, amikor a cp biztonsági mentést készít a FORRÁSRÓL és a " #~ "force\n" #~ "és backup kapcsolók egyaránt meg vannak adva, továbbá a FORRÁS és a CÉL " #~ "ugyanaz a szabályos fájl.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "%s időinek megtartása meghiúsult" #~ msgid "failed to preserve permissions for %s" #~ msgstr "%s jogosultságainak megtartása sikertelen" #~ msgid "cannot make directory %s" #~ msgstr "%s könyvtár nem hozható létre" #~ msgid "%s exists but is not a directory" #~ msgstr "%s létezik, de nem könyvtár" #~ msgid "accessing %s" #~ msgstr "%s elérése" #~ msgid "missing file operand" #~ msgstr "hiányzó fájloperandus" #~ msgid "missing destination file operand after %s" #~ msgstr "hiányzik a célfájl-operandus a következő után: %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "A --target-directory (-t) és a --no-target-directory (-T)\n" #~ "nem kombinálhatók" #~ msgid "target %s is not a directory" #~ msgstr "a megadott cél (%s) nem könyvtár" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "a --parents használatakor a cél könyvtár kell legyen" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "" #~ "a --reply kapcsoló elavult, használja helyette a -i vagy a -f kapcsolót" #~ msgid "multiple target directories specified" #~ msgstr "több kimeneti célkönyvtár van megadva" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "nem lehet egyszerre hard linket és szimbolikus linket létrehozni" #~ msgid "backup type" #~ msgstr "biztonsági mentés típusa" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "" #~ "a biztonsági kontextus nem őrizhető meg SELinux-képes rendszermag nélkül" #~ msgid "input disappeared" #~ msgstr "a bemenet eltűnt" #~ msgid "%s: line number out of range" #~ msgstr "%s: a sorszám kívül esik a tartományon" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: a sorszám kívül esik a tartományon" #~ msgid " on repetition %s\n" #~ msgstr " a(z) %s ismétlésben\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: a találat nem található" #~ msgid "error in regular expression search" #~ msgstr "hiba a szabályos kifejezés keresésében" #~ msgid "write error for %s" #~ msgstr "írási hiba a következőhöz: %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s a program egész értéket várt az elhatároló után" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: egy „}” szükséges az ismétlésszámban" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: egy egész érték szükséges a „{” és „}” között" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: a záró „%c” elhatároló hiányzik" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: érvénytelen szabályos kifejezés: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: érvénytelen minta" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: a sorszámnak nagyobbnak kell lennie, mint 0" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "a(z) %s sorszám kisebb, mint a megelőző sorszám (%s)" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "figyelmeztetés: a(z) %s sorszám azonos a megelőző sorszámmal" #~ msgid "invalid format width" #~ msgstr "érvénytelen formátumú szélesség" #~ msgid "invalid format precision" #~ msgstr "érvénytelen formátumú pontosság" #~ msgid "missing conversion specifier in suffix" #~ msgstr "az utótagból hiányzik az átalakítás meghatározása" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "az utótagból hiányzik az átalakítás meghatározása: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "az utótagból hiányzik az átalakítás meghatározása: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "túl sok %% átalakítási meghatározás van az utótagban" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "az utótagból hiányzik a %% átalakítási meghatározás" #~ msgid "%s: invalid number" #~ msgstr "érvénytelen szám: %s" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... FÁJL MINTA...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "A FÁJL MINTÁK által elválasztott darabjait az „xx00”, „xx01”, ..., " #~ "fájlokba\n" #~ "írja, valamint az egyes darabok bájtjai számát a szabványos kimenetre " #~ "írja.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMÁTUM az sprintf FORMÁTUM használata a(z) %02d " #~ "helyett\n" #~ " -f, --prefix=ELŐTAG az ELŐTAG használata az „xx” helyett\n" #~ " -k, --keep-files ne törölje kimeneti fájlokat hiba esetén\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=SZÁMJEGYEK a megadott számú számjegy használata a 2 " #~ "helyett.\n" #~ " -s, --quiet, --silent ne írja ki a kimeneti fájlok méretének " #~ "összegét\n" #~ " -z, --elide-empty-files üres kimeneti fájlok eltávolítása\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Ha a FÁJL a -, akkor a szabványos bemenetet olvassa. A MINTA lehet:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " EGÉSZ másolás a megadott sorszámig, annak beleértése " #~ "nélkül\n" #~ " /REGEXP/[ELTOLÁS] másolás egy illeszkedő sorig, annak beleértése " #~ "nélkül \n" #~ " %REGEXP%[ELTOLÁS] kihagyás egy illeszkedő sorig, annak beleértése " #~ "nélkül\n" #~ " {EGÉSZ} az előző minta ismétlése a megadott számú " #~ "alkalommal\n" #~ " {*} az előző minta ismétlése ahányszor csak lehetséges\n" #~ "\n" #~ "A sor ELTOLÁS egy kötelező „+” vagy „-”, amelyet egy pozitív egész " #~ "követ.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "a mezők és pozíciók számozása 1-től kezdődik" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Használat: %s KAPCSOLÓ... [FÁJL]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Minden egyes FÁJL kiválasztott részeinek kiírása a szabványos kimenetre.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LISTA csak ezen bájtok kiválasztása\n" #~ " -c, --characters=LISTA csak ezen karakterek kiválasztása\n" #~ " -d, --delimiter=ELHAT az ELHAT használata a TAB helyett " #~ "mezőelválasztóként\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LISTA csak ezen mezők kiválasztása; valamint bármely " #~ "sor\n" #~ " kiírása, amely nem tartalmaz " #~ "elhatárolókaraktert,\n" #~ " kivéve ha a -s kapcsoló meg van adva\n" #~ " -n (figyelmen kívül marad)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement a kijelölt bájtok, karakterek vagy mezők " #~ "halmazának\n" #~ " kiegészítése.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited ne írja ki az elhatárolókat nem tartalmazó " #~ "sorokat\n" #~ " --output-delimiter=KARAKTERLÁNC a KARAKTERLÁNC használata a " #~ "kimenet\n" #~ " elhatárolójaként, az alapértelmezés a " #~ "bemenet\n" #~ " elhatárolójának használata\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "A -b, -c vagy -f közül csak egyet használj. Minden egyes LISTA legalább\n" #~ "egy, vesszőkkel elválasztott tartományból áll. A kiválasztott bemenet a\n" #~ "beolvasás sorrendjében és pontosan egyszer kerül kiírásra.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Minden egyes tartomány az alábbiak egyike:\n" #~ "\n" #~ " N N. bájt, karakter vagy mező, 1-től számítva\n" #~ " N- az N. bájttól, karaktertől vagy mezőtől, a sor végéig\n" #~ " N-M az N. bájttól, karaktertől vagy mezőtől, az M.-ig (azt is " #~ "beleértve)\n" #~ " -M az első bájttól, karaktertől vagy mezőtől az M.-ig (azt is " #~ "beleértve)\n" #~ "\n" #~ "Ha a FÁJL nincs megadva vagy -, akkor a szabványos bemenetet olvassa.\n" #~ msgid "invalid byte or field list" #~ msgstr "érvénytelen bájt- vagy mezőlista" #~ msgid "invalid range with no endpoint: -" #~ msgstr "érvénytelen tartomány végpont nélkül: -" #~ msgid "invalid decreasing range" #~ msgstr "érvénytelen csökkenő tartomány" #~ msgid "byte offset %s is too large" #~ msgstr "a(z) %s bájteltolás túl nagy" #~ msgid "field number %s is too large" #~ msgstr "a(z) %s mezőszám túl nagy" #~ msgid "only one type of list may be specified" #~ msgstr "csak egy listatípus adható meg" #~ msgid "the delimiter must be a single character" #~ msgstr "az elhatárolónak egyetlen karakternek kell lennie" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "bájtok, karakterek vagy mezők listáját kell megadnod" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "bemeneti elhatároló csak mezőkön való működés esetén adható meg" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "el nem határolt sorok elnyomásának csak mezőkön \n" #~ "\tvaló működés esetén van értelme" #~ msgid "missing list of fields" #~ msgstr "a mezőlista hiányzik" #~ msgid "missing list of positions" #~ msgstr "a pozíciólista hiányzik" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... [+FORMÁTUM]\n" #~ " vagy: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Az aktuális idő megjelenítése a megadott FORMÁTUMBAN, vagy a " #~ "rendszerdátum\n" #~ "beállítása.\n" #~ "\n" #~ " -d, --date=KARAKTERLÁNC a KARAKTERLÁNC által leírt dátum " #~ "megjelenítése\n" #~ " az aktuális helyett\n" #~ " -f, --file=DÁTUMFÁJL ugyanaz, mint a --date egyszer a DÁTUMFÁJL " #~ "minden\n" #~ " egyes sorára\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=FÁJL a FÁJL utolsó módosítása dátumának " #~ "megjelenítése\n" #~ " -R, --rfc-2822 Időpont kiírása RFC 2822 formátumban.\n" #~ " Például: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=IDŐMEGHAT dátum kiírása RFC 3339 formátumban.\n" #~ " Az IDŐMEGHAT=„date”, „seconds”, vagy „ns”\n" #~ " a jelzett pontosságú dátumhoz és időhöz.\n" #~ " A dátum- és időösszetevőket egyetlen " #~ "szóköz\n" #~ " választja el: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=KARAKTERLÁNC a KARAKTERLÁNC által leírt idő beállítása\n" #~ " -u, --utc, --universal a Koordinált világidő kiírása vagy\n" #~ " beállítása\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "A FORMÁTUM vezérli a kimenetet. A második alak egyetlen érvényes\n" #~ "kapcsolója a Koordinált világidőt adja meg. Az értelmezett sorozatok:\n" #~ "\n" #~ " %% egy % jel\n" #~ " %a a területi beállítások rövidített napneve (például: v)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A a területi beállítások teljes napneve, (például: vasárnap)\n" #~ " %b a területi beállítások rövidített hónapneve (például: Jan)\n" #~ " %B a területi beállítások teljes hónapneve, (például: Január)\n" #~ " %c a területi beállítások dátuma és ideje (2005. dec. 25., vasárnap,\n" #~ " 15.48.38 CET)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C század; hasonló a %Y-hoz, kivéve az utolsó két számjegy " #~ "kihagyását\n" #~ " (például: 21)\n" #~ " %d a hónap napja (például: 01)\n" #~ " %D dátum; ugyanaz, mint %m/%d/%y\n" #~ " %e a hónap napja, szóközökkel feltöltve; ugyanaz, mint a %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F teljes dátum; ugyanaz, mint a %Y-%m-%d\n" #~ " %g az ISO hétszám évének utolsó két számjegye (lásd %G)\n" #~ " %G az ISO hétszám éve (lásd %V); csak %V-vel hasznos\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h ugyanaz, mint %b\n" #~ " %H óra (00..23)\n" #~ " %I óra (01..12)\n" #~ " %j az év napja (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k óra ( 0..23)\n" #~ " %l óra ( 1..12)\n" #~ " %m hónap (01..12)\n" #~ " %M perc (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n egy új sor\n" #~ " %N nanomásodpercek (000000000..999999999)\n" #~ " %p a területi beállítások nagybetűs AM vagy PM jelzője; üres ha " #~ "ismeretlen\n" #~ " %P mint a %p, de kisbetűkkel\n" #~ " %r a területi beállítások szerinti idő, 12 órás (például: 00.55.52)\n" #~ " %R 24 órás óra és perc, ugyanaz mint a %H:%M\n" #~ " %s a „00:00:00 1970-01-01 UTC” óta eltelt másodpercek száma\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S másodperc (00..60)\n" #~ " %t egy tab\n" #~ " %T idő, ugyanaz , mint a %H:%M:%S\n" #~ " %u a hét napja (1..7); az 1 a Hétfőt jelenti\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U az év hetének száma, a hét első napja Vasárnap (00..53)\n" #~ " %V az év hetének száma (ISO), a hét első napja Hétfő (01..53)\n" #~ " %w a hét napja (0..6); a 0 Vasárnapot jelenti\n" #~ " %W az év hetének száma, a hét első napja Hétfő (00..53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x a területi beállítások dátumábrázolása (például 2006-01-12)\n" #~ " %X a területi beállítások időábrázolása (például 01.02.32)\n" #~ " %y az év utolsó két számjegye (00..99)\n" #~ " %Y év\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z +óópp numerikus időzóna (például: -0400)\n" #~ " %:z +óó:pp numerikus időzóna (például: -04:00)\n" #~ " %::z +óó:pp:ss numerikus időzóna (például: -04:00:00)\n" #~ " %:::z numerikus időzóna a :-tal a szükséges pontossághoz\n" #~ " (például: -04, +05:30)\n" #~ " %Z betűkből álló időzóna-rövidítés (például: CET)\n" #~ "\n" #~ "Alapértelmezésben a date a numerikus mezőket nullákkal tölti ki.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Az alábbi elhagyható jelölők követhetik a „%” jelet:\n" #~ "\n" #~ " - (kötőjel) ne töltse ki a mezőt\n" #~ " _ (aláhúzás) kitöltés szóközökkel\n" #~ " 0 (nulla) kitöltés nullákkal\n" #~ " ^ nagybetűk használata, ha lehetséges\n" #~ " # ellentétes (nagy<->kis) betűk használata, ha lehetséges\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Ezután minden jelölő egy decimális, elhagyható mezőszélességgel jön, " #~ "majd\n" #~ "egy szintén elhagyható módosító, amely vagy az E, a területi beállítások\n" #~ "alternatív ábrázolásának használatához, vagy O a területi beállítások\n" #~ "alternatív numerikus szimbólumainak használatához, ha ezek elérhetők.\n" #~ msgid "multiple output formats specified" #~ msgstr "több kimeneti formátum van megadva" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "" #~ "a dátumok megadására a kiíratáshoz használt kapcsolók egymást kölcsönösen " #~ "kizárják" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "az idő kiíratására és beállítására használt kapcsolók nem használhatók " #~ "együtt" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "a(z) %s argumentumból hiányzik egy kezdő „+”;\n" #~ "Ha egy kapcsolóval dátumot adsz meg, akkor minden nem kapcsoló\n" #~ "argumentum egy „+” jellel kezdődő formátum-karakterlánc kell legyen." #~ msgid "cannot set date" #~ msgstr "nem állítható be a dátum" #~ msgid "time %s is out of range" #~ msgstr "a(z)%s időpont kívül esik a tartományon" #~ msgid "Filesystem Type" #~ msgstr "Fájlrendszer Típus" #~ msgid "Filesystem " #~ msgstr "Fájlrendszer " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr "Inode-ok IFogl. ISzab. IFo.%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Méret Fogl. Szab. Fo.%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Méret Fogl. Szab. Fo.%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-blokk Fogl. Szabad Kapacitás" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr "%4s-blokk Foglalt Szabad Fo.%%" #~ msgid " Mounted on\n" #~ msgstr " Csatl. pont\n" #~ msgid "cannot get current directory" #~ msgstr "aktuális könyvtár beolvasása sikertelen" #~ msgid "cannot change to directory %s" #~ msgstr "nem lehet a következő könyvtárba lépni: %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "nem lehet az aktuális könyvtárat elérni (most %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [FÁJL]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Arról a fájlrendszerről jelenít meg adatokat, ahol a megadott FÁJLOK\n" #~ "találhatók, vagy alapértelmezésben minden fájlrendszerről.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all üres fájlrendszereket is listázza\n" #~ " -B, --block-size=MÉRET MÉRET bájtos blokkok használata\n" #~ " -h, --human-readable ember által olvasható formátum (például 1K 234M " #~ "2G)\n" #~ " -H, --si ugyanaz mint előbb, de 1000-es szorzó 1024-es " #~ "helyett\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes inode információk blokkhasználat helyett\n" #~ " -k ugyanaz, mint a --block-size=1K\n" #~ " -l, --local csak a helyi fájlrendszereket írja ki\n" #~ " --no-sync nem adja ki a sync parancsot a használati " #~ "információk\n" #~ " beolvasása előtt (alapértelmezett)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability POSIX kompatibilis kimenet\n" #~ " --sync kiadja a sync parancsot a használati " #~ "információk\n" #~ " beolvasása előtt\n" #~ " -t, --type=TÍPUS csak az adott TÍPUSÚ fájlrendszereket írja ki\n" #~ " -T, --print-type fájlrendszertípusok kiírása\n" #~ " -x, --exclude-type=TÍPUS a megadott TÍPUSÚ fájlrendszereket nem " #~ "listázza ki\n" #~ " -v (figyelmen kívül marad)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "A MÉRET lehet (egy egész, amelyet választhatóan követ) a következők " #~ "egyike:\n" #~ "kB 1000, K 1024, MB 1,000,000, M 1,048,576 és ugyanígy G, T, P, E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "" #~ "%s típusú fájlrendszer ki is van jelölve, de figyelmen kívül is van hagyva" #~ msgid "Warning: " #~ msgstr "Figyelmeztetés: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "a csatolt fájlrendszerek táblája nem olvasható" #~ msgid "no file systems processed" #~ msgstr "nem került feldolgozásra fájlrendszer" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [FÁJL]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Kiírja a megfelelő shell parancsot az LS_COLOR környezeti \n" #~ "változó beállításához.\n" #~ "\n" #~ "Kimeneti formátum megállapítása\n" #~ " -b, --sh, --bourne-shell Bourne shell kód az LS_COLORS " #~ "beállításához\n" #~ " -c, --csh, --c-shell C shell kód az LS_COLORS beállításához\n" #~ " -p, --print-data-base alapértelmezés kiírása\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Ha a FÁJL meg van adva, akkor beolvassa azt és megállapítja, hogy melyik\n" #~ "fájltípushoz milyen színt használjon. Ha nincs, akkor a program az\n" #~ "alapértelmezett adatbázist használja. Ha többet akar tudni a fájl\n" #~ "formátumáról, akkor futtassa a „dircolors --print-database” parancsot.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: érvénytelen sor; a második token hiányzik" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: a(z) %s kulcsszó ismeretlen" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "a dircolors belső adatbázisának kilistázása és a shell szintaxis\n" #~ "kiíratása két egymást kölcsönösen kizáró kapcsoló" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "" #~ "a fájloperandusok nem használhatók együtt a --print-database (-p) " #~ "kapcsolóval." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "nincs SHELL változó beállítva és nem adtad meg a shell típusát" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s NÉV\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Kiírja a NEVET az utolsó / összetevőjének eltávolítása után; ha a NÉV " #~ "nem\n" #~ "tartalmaz „/” jeleket, akkor egy „.” lesz a kimenet (ami az aktuális\n" #~ "könyvtárat jelenti).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Példák:\n" #~ " %s /usr/bin/sort A „/usr/bin” kiírása.\n" #~ " %s stdio.h A „.” kiírása.\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... FÁJL...\n" #~ " vagy: %s [KAPCSOLÓ]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Összefoglalja minden FÁJL lemezhasználatát, könyvtárakra rekurzívan.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all minden fájl adatait kiírja, nem csak a " #~ "könyvtárakat\n" #~ " --apparent-size a tényleges méretet írja ki a lemezhasználat " #~ "helyett,\n" #~ " jóllehet a tényleges méret általában kisebb, " #~ "nagyobb\n" #~ " is lehet a lyukak miatt a (ritka) fájlokban, a " #~ "belső\n" #~ " töredezettség, indirekt blokkok és hasonlók " #~ "miatt\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B --block-size=MÉRET MÉRET bájtos blokkokat használ\n" #~ " -b, --bytes ugyanaz, mint a „--apparent-size --block-size=1”\n" #~ " -c, --total összesítést ír ki\n" #~ " -D, --dereference-args csak a parancssorban felsorolt szimbolikus " #~ "linkek\n" #~ " törlése\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F az F fájlban megadott, NULL végű fájlnevek\n" #~ " lemezhasználatának összegzése\n" #~ " -H mint a --si, de kiad egy figyelmeztetést, " #~ "jelentése\n" #~ " hamarosan megváltozik és azonos lesz a\n" #~ " --dereference-args (-D) jelentésével\n" #~ " -h, --human-readable ember által olvasható formátum (például: 1K 234M " #~ "2G)\n" #~ " --si mint előbb, de 1000-es szorzó 1024-es helyett\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k mint a --block-size=1K\n" #~ " -l, --count-links többször számolja a méretet, ha hard linkek " #~ "vannak\n" #~ " -m mint a --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference mindig követi a szimbolikus linkeket\n" #~ " -P, --no-dereference ne kövesse a szimbolikus linkeket\n" #~ " (ez az alapértelmezés)\n" #~ " -0, --null minden egyes új sort a 0 bájttal fejez be új sor " #~ "helyett\n" #~ " -S, --separate-dirs alkönyvtárakat nem számolja bele\n" #~ " -s, --summarize argumentumonként egy összeget mutat\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system a más fájlrendszeren lévő könyvtárakat " #~ "kihagyja\n" #~ " -X FÁJL, --exclude-from=FÁJL\n" #~ " a FÁJLBAN található mintákra illeszkedő " #~ "fájlokat kihagyja\n" #~ " --exclude=MINTA a MINTÁRA illeszkedő nevű fájlokat kihagyja\n" #~ " --max-depth=N csak akkor írja ki az összesítést egy adott " #~ "könyvtárra\n" #~ " (vagy fájlra a --all esetén), ha az legfeljebb " #~ "N\n" #~ " szinttel van a parancssorban megadott könyvtár " #~ "alatt.\n" #~ " A --max-depth=0 ugyanaz, mint a --summarize\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time a könyvtár bármely fájljának vagy alkönyvtárának " #~ "utolsó\n" #~ " módosítása idejének kiírása\n" #~ " --time=SZÓ az idő mutatása a SZÓNAK megfelelően, a " #~ "módosítási idő\n" #~ " helyett: atime, access, use, ctime vagy status\n" #~ " --time-style=STÍLUS az idő megjelenítése a STÍLUSNAK megfelelően:\n" #~ " full-iso, long-iso, iso, +FORMÁTUM. A " #~ "FORMÁTUM a\n" #~ " „date” parancsnál megadottakhoz hasonlóan " #~ "kerül\n" #~ " értelmezésre\n" #~ msgid "total" #~ msgstr "összesen" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "FIGYELMEZTETÉS: használja az --si kapcsolót a -H helyett; a -H jelentése\n" #~ "hamarosan megváltozik és azonos lesz a --dereference-args (-D) " #~ "jelentésével" #~ msgid "invalid maximum depth %s" #~ msgstr "érvénytelen maximális mélység: %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "a --megabytes kapcsoló elavult, használja a - m kapcsolót helyette" #~ msgid "cannot both summarize and show all entries" #~ msgstr "" #~ "nem lehet egyszerre összesítést kérni és minden bejegyzést megjeleníteni" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "" #~ "figyelmeztetés: az összesítés megegyezik a --max-depth=0 kapcsoló " #~ "használatával" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "" #~ "figyelmeztetés: az összesítés kérése ütközik a --max-depth=%lu kapcsolóval" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "" #~ "A fájloperandusok nem használhatók együtt a --files0-from kapcsolóval." #~ msgid "cannot read file names from %s" #~ msgstr "nem olvashatók fájlnevek a következőből: %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "fájlnevek szabványos bemenetről való olvasásakor a(z) %s fájlnév nem " #~ "engedélyezett" #~ msgid "invalid zero-length file name" #~ msgstr "érvénytelen nulla hosszúságú fájlnév" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [KARAKTERLÁNC]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "A KARAKTERLÁNCOK kiírása a szabványos kimenetre.\n" #~ "\n" #~ " -n ne írja ki a befejező új sort\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e a visszaper escape-k értelmezésének bekapcsolása\n" #~ " (alapértelmezett)\n" #~ " -E a visszaper escape-k értelmezésének kikapcsolása\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "A -e nélkül az alábbi sorozatok kerülnek felismerésre:\n" #~ "\n" #~ " \\NNN a karakter, amely ASCII kódja NNN (oktálisan)\n" #~ " \\\\ visszaper\n" #~ " \\a riadó (BEL)\n" #~ " \\b karaktertörlés visszafelé\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c záró új sor elnyomása\n" #~ " \\f lapdobás\n" #~ " \\n új sor\n" #~ " \\r kocsivissza\n" #~ " \\t vízszintes tab\n" #~ " \\v függőleges tab\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [-] [NÉV=ÉRTÉK]... [PARANCS [ARG]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Minden egyes NÉVHEZ beállítja az ÉRTÉKET a környezetben és futtatja a " #~ "PARANCSOT.\n" #~ "\n" #~ " -i, --ignore-environment indulás üres környezettel\n" #~ " -u, --unset=NAME változó eltávolítása a környezetből\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Egy egyszerű - maga után vonja a -i kapcsolót. Ha nincs PARANCS megadva, " #~ "akkor\n" #~ "kiírja az eredményül kapott környezetet.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "A tabokat minden egyes FÁJLBAN szóközökké alakítja és kiírja a " #~ "szabványos\n" #~ "kimenetre. Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet\n" #~ "olvassa.\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial ne alakítsa át a tabokat nem üreshely karakterek " #~ "után\n" #~ " -t, --tabs=SZÁM a tabok SZÁM karakter szélesek legyenek, ne pedig " #~ "8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LISTA az explicit tab pozíciók vesszőkkel elválasztott\n" #~ " listájának használata\n" #~ msgid "tab stop is too large %s" #~ msgstr "a tab méret túl nagy: %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "a tabméret érvénytelen karaktereket tartalmaz: %s" #~ msgid "tab size cannot be 0" #~ msgstr "a tabméret nem lehet 0" #~ msgid "tab sizes must be ascending" #~ msgstr "a tabméreteknek növekedniük kell" #~ msgid "input line is too long" #~ msgstr "a bemeneti sor túl hosszú" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s KIFEJEZÉS\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "A KIFEJEZÉS értékének kiírása a szabványos kimenetre. Egy üres sor " #~ "alább \n" #~ "növekvő precedenciájú csoportokat választ el. A KIFEJEZÉS lehet:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1, ha az nem null vagy 0, egyébként ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1, ha egyik argumentum sem null vagy 0, egyébként " #~ "0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 kisebb, mint ARG2\n" #~ " ARG1 <= ARG2 ARG1 kisebb vagy egyenlő ARG2\n" #~ " ARG1 = ARG2 ARG1 egyenlő ARG2\n" #~ " ARG1 != ARG2 ARG1 nem egyenlő ARG2\n" #~ " ARG1 >= ARG2 ARG1 nagyobb vagy egyenlő ARG2\n" #~ " ARG1 > ARG2 ARG1 nagyobb mint ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 ARG1 és ARG2 aritmetikai összege\n" #~ " ARG1 - ARG2 ARG1 és ARG2 aritmetikai különbsége\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 ARG1 és ARG2 aritmetikai szorzata\n" #~ " ARG1 / ARG2 ARG1 és ARG2 aritmetikai hányadosa\n" #~ " ARG1 % ARG2 ARG1 és ARG2 aritmetikai maradéka\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " KARAKTERLÁNC : REGEXP a REGEXP horgonyzott mintaillesztése a " #~ "KARAKTERLÁNCRA\n" #~ "\n" #~ " match KARAKTERLÁNC REGEXP ugyanaz, mint a KARAKTERLÁNC : REGEXP\n" #~ " substr KARAKTERLÁNC POZ HOSSZ a KARAKTERLÁNC részkarakterlánca, a POZ " #~ "1-től\n" #~ " számítva\n" #~ " index KARAKTERLÁNC KARAKTEREK a KARAKTEREK előfordulásának indexe a\n" #~ " KARAKTERLÁNCBAN, vagy 0\n" #~ " length KARAKTERLÁNC a KARAKTERLÁNC hossza\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + JELSOR a JELSOR értelmezése karakterláncként, még " #~ "ha az\n" #~ " egy kulcsszó is, mint a „match”, vagy " #~ "operátor\n" #~ " mint a „/”\n" #~ "\n" #~ " ( KIFEJEZÉS ) a KIFEJEZÉS értéke\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Ne feledd, hogy sok operátort escape-elni vagy idézőjelek közé kell " #~ "tenni\n" #~ "parancsértelmezőkhöz. Az összehasonlítások aritmetikaiak, ha mindkét ARG " #~ "szám,\n" #~ "különben lexikografikusak. A mintaillesztések az illeszkedő " #~ "karakterláncot\n" #~ "adják vissza a \\( és \\) között, vagy nullértéket; ha a \\( és \\) " #~ "nincsenek\n" #~ "használva, akkor az illeszkedő karakterek számát vagy 0-t adnak vissza.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "A kilépési állapot 0, ha a KIFEJEZÉS nem null vagy 0 értékű, 1, ha a " #~ "KIFEJEZÉS\n" #~ "null vagy 0 értékű, 2, ha a KIFEJEZÉS szintaktikailag érvénytelen és 3, " #~ "ha\n" #~ "hiba történt.\n" #~ msgid "syntax error" #~ msgstr "szintaktikai hiba" #~ msgid "error in regular expression matcher" #~ msgstr "hiba a szabályos kifejezés illesztésében" #~ msgid "non-numeric argument" #~ msgstr "nem numerikus argumentum" #~ msgid "division by zero" #~ msgstr "osztás nullával" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s [SZÁM]...\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Kiírja minden egyes SZÁM prímtényezőit.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Kiírja az összes megadott egész SZÁM prímtényezőit. Ha nincsenek " #~ "argumentumok\n" #~ "megadva a parancssorban, akkor a szabványos bemenetről kerülnek " #~ "beolvasásra.\n" #~ msgid "%s is too large" #~ msgstr "a(z) %s túl nagy" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s nem egy érvényes pozitív egész" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Használat: %s [-SZÁMJEGYEK] [KAPCSOLÓ]... [FÁJL]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "A FÁJLOK minden egyes bekezdésének újraformázása és szabványos kimenetre " #~ "írása.\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin az első két sor behúzásának megtartása\n" #~ " -p, --prefix=KARAKTERLÁNC csak a KARAKTERLÁNC kezdetű sorok " #~ "újraformázása,\n" #~ " az előtag újraformázott sorokhoz való " #~ "ismételt\n" #~ " csatolásával\n" #~ " -s, --split-only hosszú sorok szétvágása, de újratöltés " #~ "nélkül\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph az első sor behúzása különbözik a " #~ "másodikétól\n" #~ " -u, --uniform-spacing egy szóköz szavak között, kettő mondatok " #~ "után\n" #~ " -w, --width=SZÉLESSÉG maximum sorszélesség (alapértelmezés 75 " #~ "oszlop)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "a(z) -- %c kapcsoló érvénytelen; a -WIDTH csak akkor ismerhető fel, ha az " #~ "az \n" #~ "első kapcsoló; használja helyette a -w N kapcsolót" #~ msgid "invalid width: %s" #~ msgstr "érvénytelen szélesség: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Minden egyes FÁJL (alapértelmezésben a szabványos bemenet) bemeneti " #~ "sorainak\n" #~ "tördelése és szabványos kimenetre írása.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes bájtok számolása az oszlopok helyett\n" #~ " -s, --spaces tördelés szóközöknél\n" #~ " -w, --width=SZÉLESSÉG SZÉLESSÉG darab oszlop használata 80 helyett\n" #~ msgid "invalid number of columns: %s" #~ msgstr "érvénytelen oszlopszám: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "%s felhasználó csoportjainak lekérése meghiúsult" #~ msgid "failed to get groups for the current process" #~ msgstr "a jelenlegi folyamat csoportjainak lekérése meghiúsult" #~ msgid "cannot find name for group ID %lu" #~ msgstr "nem található a név a(z) %lu csoportazonosítóhoz" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [FELHASZNÁLÓNÉV]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "A FELHASZNÁLÓNÉV vagy ha nincs megadva FELHASZNÁLÓNÉV, akkor az aktuális " #~ "folyamat\n" #~ "információinak kiírása (ami eltér, ha a csoportadatbázis módosult).\n" #~ msgid "%s: No such user" #~ msgstr "%s: Nincs ilyen felhasználó" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Minden egyes FÁJL első 10 sorának kiírása a szabványos kimenetre.\n" #~ "Több FÁJL esetén mindegyiket egy fejléc előzi meg, amely megadja a fájl " #~ "nevét.\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N minden egyes fájl első N bájtjának kiírása;\n" #~ " a kezdő „-” megadásakor minden egyes fájl " #~ "utolsó\n" #~ " N bájtja kivételével az összeset kiírja\n" #~ " -n, --lines=[-]N az első N sor kiírása az első 10 helyett;\n" #~ " a kezdő „-” megadásakor minden egyes fájl " #~ "utolsó\n" #~ " N sora kivételével az összeset kiírja\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent soha ne írja ki a fájlneveket megadó " #~ "fejléceket\n" #~ " -v, --verbose mindig írja ki a fájlneveket megadó " #~ "fejléceket\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Az N a következő szorzó-utótagokkal rendelkezhet:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y.\n" #~ msgid "error reading %s" #~ msgstr "hiba %s olvasása közben" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: a fájl túl sokat zsugorodott" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: a bájtszám túl nagy" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: nem lehet lseek-elni az eredeti pozícióra" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: nem lehet a(z) %s eltolásra pozicionálni" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "nem lehet újrapozicionálni %s fájlmutatóját" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s olyan nagy, hogy nem ábrázolható" #~ msgid "number of lines" #~ msgstr "sorok száma" #~ msgid "number of bytes" #~ msgstr "bájtok száma" #~ msgid "invalid number of lines" #~ msgstr "érvénytelen sorszám" #~ msgid "invalid number of bytes" #~ msgstr "érvénytelen bájtszám" #~ msgid "invalid trailing option -- %c" #~ msgstr "érvénytelen bevezető kapcsoló -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Használat: %s\n" #~ " vagy: %s KAPCSOLÓ\n" #~ "Kiírja az aktuális gép numerikus (hexadecimális) azonosítóját.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Használat: %s [NÉV]\n" #~ " vagy: %s KAPCSOLÓ\n" #~ "Az aktuális rendszer gépnevének kiíratása vagy beállítása.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "a név nem állítható be a következőre: %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "a gépnév nem állítható be; ebből a rendszerből hiányzik ez a " #~ "funkcionalitás" #~ msgid "cannot determine hostname" #~ msgstr "a gépnév nem határozható meg" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Információk kiírása a FELHASZNÁLÓNÉVRŐL vagy az aktuális felhasználóról.\n" #~ "\n" #~ " -a figyelmen kívül marad, a más verziókkal való " #~ "kompatibilitáshoz\n" #~ " -Z, --context csak a jelenlegi felhasználó biztonsági kontextusának " #~ "kiírása\n" #~ " -g, --group csak a hatásos csoportazonosító kiírása\n" #~ " -G, --groups az összes csoportazonosító kiírása\n" #~ " -n, --name egy név kiírása egy szám helyett, az -ugG kapcsolókhoz\n" #~ " -r, --real a valódi azonosító kiírása a hatásos helyett, az -ugG\n" #~ " kapcsolókkal\n" #~ " -u, --user csak a hatásos felhasználói azonosító kiírása\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "KAPCSOLÓK nélkül az azonosított információk egy hasznos halmazát írja " #~ "ki.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "a --context (-Z) csak SELinux-képes rendszermagokkal működik" #~ msgid "cannot print security context when user specified" #~ msgstr "a biztonsági kontextus nem írható ki, ha meg van adva felhasználó" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "a kontextus nem jeleníthető meg, ha a selinux nincs engedélyezve vagy " #~ "másik\n" #~ "felhasználó azonosítóját jeleníti meg" #~ msgid "can't get process context" #~ msgstr "a kontextus nem dolgozható fel" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "nem írható ki „csak” több választás" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "csak nevek vagy valódi azonosítók nem írhatók ki az alapértelmezett " #~ "formátumban" #~ msgid "cannot find name for user ID %lu" #~ msgstr "nem található a név a(z) %lu felhasználói azonosítóhoz" #~ msgid " groups=" #~ msgstr " csoportok=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "figyelmeztetés: %s: nem módosítható a kontextus a következőre: %s" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Figyelmeztetés: a --preserve-context figyelmen kívül marad; ez a " #~ "rendszermag nem SELinux-képes." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "" #~ "Figyelmeztetés: a --context (-Z) figyelmen kívül marad; ez a rendszermag " #~ "nem SELinux-képes." #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "könyvtár telepítésénél nem használható a „strip” kapcsoló" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "könyvtár telepítésénél nem engedélyezett a célkönyvtár" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "" #~ "a cél kontextusa nem kényszeríthető a következőre: %s és nem és őrizhető " #~ "meg" #~ msgid "invalid mode %s" #~ msgstr "érvénytelen mód: %s" #~ msgid "cannot change ownership of %s" #~ msgstr "%s tulajdonosa nem változtatható meg" #~ msgid "cannot set time stamps for %s" #~ msgstr "%s időbélyegei nem állíthatók be" #~ msgid "fork system call failed" #~ msgstr "a fork() rendszerhívás sikertelen" #~ msgid "cannot run strip" #~ msgstr "a strip futtatása sikertelen" #~ msgid "waiting for strip" #~ msgstr "várakozás a strip programra" #~ msgid "strip process terminated abnormally" #~ msgstr "A strip folyamat hibával fejeződött be" #~ msgid "invalid user %s" #~ msgstr "érvénytelen felhasználó: %s" #~ msgid "invalid group %s" #~ msgstr "érvénytelen csoport: %s" #~ msgid "creating directory %s" #~ msgstr "%s könyvtár létrehozása" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... [-T] FORRÁS CÉL\n" #~ " vagy: %s [KAPCSOLÓ]... FORRÁS... KÖNYVTÁR\n" #~ " vagy: %s [KAPCSOLÓ]... -t KÖNYVTÁR FORRÁS...\n" #~ " vagy: %s [KAPCSOLÓ]... -d KÖNYVTÁR...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Az első két alaknál a FORRÁST a CÉLRA másolja, több FORRÁS esetén a " #~ "létező\n" #~ "KÖNYVTÁRBA másolja a fájlokat. Másolás közben beállítja a fájlok\n" #~ "jogosultságait és a tulajdonosát/csoportját.\n" #~ "A negyedik alaknál létrehozza az adott KÖNYVTÁRAK minden elemét.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=CONTROL] minden létező célfájlról mentést készít\n" #~ " -b mint a --backup, de nem fogad el argumentumot\n" #~ " -c (figyelmen kívül marad)\n" #~ " -d, --directory minden argumentum könyvtárnév; a megadott " #~ "könyvtárak\n" #~ " minden elemét létrehozza\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D a CÉL minden elemét létrehozza, kivéve az utolsót,\n" #~ " majd a FORRÁST CÉLRA másolja; első alakkal " #~ "hasznos\n" #~ " -g, --group=CSOPORT a CSOPORTOT állítja be a folyamat csoportja " #~ "helyett\n" #~ " -m, --mode=MÓD a jogosultságot MÓDRA állítja (mint a chmodnál),\n" #~ " rwxr-xr-x helyett\n" #~ " -o, --owner=TULAJDONOS tulajdonos beállítása (csak root)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps a FORRÁS elérési és módosítási idejét " #~ "állítja\n" #~ " be a megfelelő célfájlokon\n" #~ " -s, --strip eltávolítja a szimbólum táblát, csak 1. és\n" #~ " 2. alaknál érvényes\n" #~ " -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos " #~ "kiterjesztésének\n" #~ " felülbírálása\n" #~ " -t, --target-directory=KÖNYVTÁR az összes FORRÁS argumentum másolása " #~ "a\n" #~ " KÖNYVTÁRBA\n" #~ " -T, --no-target-directory a CÉL kezelése normál fájlként\n" #~ " -v, --verbose minden létrehozott könyvtár nevét kiírja\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context a SELinux biztonsági kontextus megőrzése\n" #~ " -Z, --context=KONTEXTUS fájlok és könyvtárak SELinux biztonsági\n" #~ " kontextusának beállítása\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "A biztonsági másolat kiterjesztése „~”, hacsak nincs megadva a --suffix " #~ "vagy\n" #~ "a SIMPLE_BACKUP_SUFFIX használatával. A verziókövetés módját " #~ "megválaszthatod a\n" #~ "--backup kapcsolóval vagy a VERSION_CONTROL környezeti változó " #~ "segítségével.\n" #~ "Az érvényes értékek a következők:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Minden egyes azonos összekapcsolási mezővel rendelkező bementi sorpárhoz " #~ "kiír\n" #~ "egy sort a szabványos kimenetre. Az alapértelmezett összekapcsolási mező " #~ "az \n" #~ "első, üreshely karakterekkel elválasztva. Ha a FÁJL1 vagy FÁJL2 (nem " #~ "mindkettő)\n" #~ "a -, akkor a szabványos bemenetről olvas.\n" #~ "\n" #~ " -a FÁJLSZÁM a FÁJLSZÁM fájlból származó nem párosítható sorok " #~ "kiírása\n" #~ " ahol a FÁJLSZÁM 1 vagy 2, a FÁJL1-nek vagy a FÁJL2-" #~ "nek\n" #~ " megfelelően. \n" #~ " -e ÜRES a hiányzó bemeneti mezők helyettesítése az ÜRESSEL\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case kis- és nagybetűk közti különbség figyelmen kívül " #~ "hagyása\n" #~ " mezők összehasonlításakor\n" #~ " -j MEZŐ azonos a következővel: „-1 MEZŐ -2 MEZŐ”\n" #~ " -o FORMÁTUM a FORMÁTUM alkalmazása a kimeneti sor előállításánál\n" #~ " -t KARAKTER a KARAKTER használata a bementi és kimeneti mező\n" #~ " elválasztójaként\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v FÁJLSZÁM mint a -a FÁJLSZÁM, de elnyomja az összekapcsolt " #~ "kimeneti\n" #~ " sorokat\n" #~ " -1 MEZŐ összekapcsolás az 1. fájl ezen MEZŐJE alapján\n" #~ " -2 MEZŐ összekapcsolás a 2. fájl ezen MEZŐJE alapján\n" #~ " --check-order a bemenet megfelelő rendezésének ellenőrzése, még ha\n" #~ " minden bemeneti sor párosítható is.\n" #~ " --nocheck-order ne ellenőrizze a bemenet megfelelő rendezését\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Hacsak a -t KARAKTER nincs megadva, a kezdő üreshelyek választják el a " #~ "mezőket\n" #~ "és figyelmen kívül maradnak, különben a mezőket a KARAKTER választja el. " #~ "A \n" #~ "MEZŐK 1-től kezdve vannak sorszámozva. A FORMÁTUM egy vagy több vesszővel " #~ "vagy\n" #~ "üreshellyel elválasztott specifikáció, mindegyik „FÁJLSZÁM.MEZŐ” vagy 0.\n" #~ "Az alapértelmezett FORMÁTUM kiírja az összekapcsolási mezőt, a FÁJL1 " #~ "maradék\n" #~ "mezőit és a FÁJL2 maradék mezőit, mindet a KARAKTERREL elválasztva.\n" #~ "\n" #~ "Fontos: a FÁJL1-nek és a FÁJL2-nek az összekapcsolási mezők szerint kell\n" #~ "rendezve lennie.\n" #~ "Ha például a „join” nem rendelkezik kapcsolókkal, akkor használhatja a\n" #~ "„sort -k 1b,1” parancsot.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "A(z) %d. fájl nincs rendezve" #~ msgid "invalid field number: %s" #~ msgstr "érvénytelen mezőszám: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "érvénytelen mezőmeghatározás: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "érvénytelen mezőszám a mezőspecifikációban: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "inkompatibilis összekapcsolási mezők: %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "ütköző üres-mező helyettesítési karakterlánc" #~ msgid "empty tab" #~ msgstr "üres tab" #~ msgid "multi-character tab %s" #~ msgstr "többkarakteres tab: %s" #~ msgid "incompatible tabs" #~ msgstr "nem kompatibilis tabok" #~ msgid "both files cannot be standard input" #~ msgstr "mindkét fájl nem lehet a szabványos bemenet" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Használat: %s [-s SZIGNÁL | -SZIGNÁL] PID...\n" #~ " vagy: %s -l [SZIGNÁL]...\n" #~ " vagy: %s -t [SZIGNÁL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Szignálok küldése folyamatoknak, vagy szignálok felsorolása\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SZIGNÁL, -SZIGNÁL\n" #~ " megadja az elküldendő szignál nevét vagy számát\n" #~ " -l, --list szignálnevek felsorolása, vagy szignálnevek számokká " #~ "és\n" #~ " visszaalakítása\n" #~ " -t, --table szignálinformációkat tartalmazó táblázat kiírása\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "A SZIGNÁL egy szignálnév lehet, például „HUP”, vagy egy szignálszám, " #~ "például\n" #~ "„1”, vagy egy szignál által befejeztetett folyamat kilépési állapota.\n" #~ "A PID egy egész, ha negatív, akkor egy folyamatcsoportot azonosít.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: érvénytelen szignál" #~ msgid "%s: invalid process id" #~ msgstr "%s: érvénytelen folyamatazonosító" #~ msgid "invalid option -- %c" #~ msgstr "érvénytelen kapcsoló -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: több szignált adott meg" #~ msgid "multiple -l or -t options specified" #~ msgstr "több -l vagy -t kapcsolót adott meg" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "a szignál nem kombinálható a -l vagy -t kapcsolóval" #~ msgid "no process ID specified" #~ msgstr "nincs megadva folyamatazonosító" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s FÁJL1 FÁJL2\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "A link függvény meghívása egy létező FÁJL1-re mutató FÁJL2 nevű link\n" #~ "létrehozásához.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "%s link nem hozható létre a következőre: %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: figyelmeztetés: a szimbolikus linkre mutató hard link\n" #~ "létrehozása nem hordozható" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: könyvtárra mutató hard link nem engedélyezett" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: a könyvtár nem írható felül" #~ msgid "%s: replace %s? " #~ msgstr "%s: %s cseréje? " #~ msgid "creating symbolic link %s" #~ msgstr "%s szimbolikus link létrehozása" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "%s szimbolikus link létrehozása a következőre: %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "hard link létrehozása a következőre: %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "%s hard link létrehozása" #~ msgid "creating hard link %s => %s" #~ msgstr "%s hard link létrehozása a következőre: %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... [-T] CÉL LINK_NEVE (1. alak)\n" #~ " vagy: %s [KAPCSOLÓ]... CÉL (2. alak)\n" #~ " vagy: %s [KAPCSOLÓ]... CÉL... KÖNYVTÁR (3. alak)\n" #~ " vagy: %s [KAPCSOLÓ]... -t KÖNYVTÁR... CÉL... (4. alak)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Az 1. alakban használva linket hoz létre a megadott CÉLRA a LINK_NEVE " #~ "néven.\n" #~ "A 2. alakban használva a CÉLRA jön lére egy link az aktuális " #~ "könyvtárban.\n" #~ "A 3. és 4. alakban használva a KÖNYVTÁRBAN linkek jönnek létre minden " #~ "egyes\n" #~ "CÉLRA. Alapértelmezésben hard linkeket hoz létre, szimbolikus linkek a\n" #~ "--symbolic kapcsolóval hozhatók létre. Hard linkek létrehozásakor\n" #~ "minden CÉLNAK léteznie kell.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTROL] minden létező célfájlról mentést készít\n" #~ " -b mint a --backup, de nem fogad el " #~ "argumentumot\n" #~ " -d, -F, --directory könyvtárak hard linkelése (csak root)\n" #~ " (megjegyzés: valószínűleg meg fog hiúsulni " #~ "a\n" #~ " rendszer korlátozásai miatt, még a rootnak " #~ "is)\n" #~ " -f, --force létező célfájlok törlése\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference ha a cél szimbolikus link egy könyvtárra, " #~ "akkor\n" #~ " kezelje normális fájlként\n" #~ " -i, --interactive célfájlok törlésénél kérdez\n" #~ " -s, --symbolic szimbolikus link létrehozása hard link " #~ "helyett\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos " #~ "kiterjesztésének\n" #~ " felülbírálása\n" #~ " -t --target-directory=KÖNYVTÁR a linkek létrehozására szolgáló " #~ "KÖNYVTÁR\n" #~ " megadása\n" #~ " -T, --no-target-directory a LINK_NEVE fájl kezelése normál fájlként\n" #~ " -v, --verbose linkelés előtt kiírja minden fájl nevét\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "" #~ "A --target-directory és a --no-target-directory nem használhatók együtt" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Az aktuális felhasználó nevének kiírása.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "nincs bejelentkezési név" #~ msgid "%b %e %Y" #~ msgstr "%Y %b %e" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H.%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "a QUOTING_STYLE környezeti változóban megadott érvénytelen érték\n" #~ "figyelmen kívül hagyása: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "" #~ "a COLUMNS környezeti változóban megadott érvénytelen szélesség\n" #~ "figyelmen kívül hagyása: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "a TABSIZE környezeti változóban megadott érvénytelen tabulátorméret\n" #~ "figyelmen kívül hagyása: %s" #~ msgid "invalid line width: %s" #~ msgstr "érvénytelen sorhossz: %s" #~ msgid "invalid tab size: %s" #~ msgstr "érvénytelen tabulátorméret: %s" #~ msgid "invalid time style format %s" #~ msgstr "érvénytelen időformátum stílus: %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "ismeretlen előtag: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "az LS_COLORS környezeti változó értéke nem értelmezhető" #~ msgid "cannot open directory %s" #~ msgstr "nem lehet a következő könyvtárat megnyitni: %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "%s eszközét és inode-ját nem lehet megállapítani" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: a már listázott könyvtár nem kerül listázásra" #~ msgid "closing directory %s" #~ msgstr "%s könyvtár bezárása" #~ msgid "cannot compare file names %s and %s" #~ msgstr "%s és %s fájlnevek nem hasonlíthatók össze" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Információt ír ki a FÁJLOKRÓL, alapértelmezésben az aktuális " #~ "könyvtárról.\n" #~ "Ábécé sorrendbe rendezi a bejegyzéseket, ha nincs megadva a -cftuvSUX\n" #~ "vagy a --sort kapcsolók valamelyike.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all nem rejti el a .-al kezdődő bejegyzéseket\n" #~ " -A, --almost-all nem listázza ki a . és .. bejegyzéseket\n" #~ " --author kiírja minden egyes fájl szerzőjét\n" #~ " -b, --escape oktális escape karaktereket jelenít meg\n" #~ " a nem-grafikus karakterek helyett\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=MÉRET MÉRET bájtos blokkokat használ\n" #~ " -B, --ignore-backups nem listázza ki a ~-ra végződő fájlokat\n" #~ " -c „-lt”-vel: rendezés és kiírás ctime " #~ "(fájlállapot-\n" #~ " információk utolsó módosításának ideje) " #~ "szerint\n" #~ " „-l”-lel: kiírja a ctime-ot és név szerint " #~ "rendez\n" #~ " egyébként: ctime szerint rendez\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C oszlopok szerint listáz\n" #~ " --color[=EKKOR] beállítja, hogy mikor legyen színes a " #~ "kimenet\n" #~ " (fájltípusok szerint).\n" #~ " Az EKKOR lehet „always”, „never” vagy " #~ "„auto”\n" #~ " -d, --directory könyvtár listázása a könyvtár tartalma " #~ "helyett\n" #~ " és ne kövesse a szimbolikus linkeket\n" #~ " -D, --dired az Emacs dired módja által használt kimenet\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f nem rendez, bekapcsolja a „-aU” " #~ "kapcsolókat,\n" #~ " kikapcsolja a -ls --color kapcsolókat\n" #~ " -F, --classify jelet fűz a bejegyzéshez (a */=>@ vagy | " #~ "egyikét)\n" #~ " --file-type hasonló az előzőhöz, kivéve a „*”-ot\n" #~ " --format=SZÓ az érvényes értékek és a kapcsoló, amelynek\n" #~ " megfelelnek: across: -x, commas: -m, " #~ "horizontal:\n" #~ " -x, long: -l, single-column: -1, verbose: -" #~ "l,\n" #~ " vertical: -C\n" #~ " --full-time mint a -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr "" #~ " -g mint a -l, de tulajdonos kiírása nélkül\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " könyvtárak fájlok elé csoportosítása.\n" #~ " kiegészíthető --sort kapcsolóval, de a --" #~ "sort=none (-U)\n" #~ " használata letiltja a csoportosítást\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group hosszú felsorolásnál nem írja ki a " #~ "csoportneveket\n" #~ " -h, --human-readable ember által olvasható formátum (például 1K 234M " #~ "2G)\n" #~ " -H, --si ugyanaz mint előbb, de 1000-es szorzó 1024-es " #~ "helyett\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line parancssorban megadott szimbolikus " #~ "linkek\n" #~ " követése\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " minden egyes parancssori szimbolikus link " #~ "követése\n" #~ " amely egy könyvtárra mutat\n" #~ " --hide=MINTA ne listázza a parancsértelmező MINTÁRA " #~ "illeszkedő\n" #~ " bejegyzéseket (a -a vagy -A felülbírálja)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=SZÓ a bejegyzésnevekhez jelet fűz a SZÓ " #~ "alapján:\n" #~ " none (alapértelmezett), slash (-p),\n" #~ " file-type (--file-type) classify (-F)\n" #~ " -i, --inode kiírja az egyes fájlok indexszámát\n" #~ " -I, --ignore=MINTA nem írja ki a parancsértelmező MINTÁRA " #~ "illeszkedő\n" #~ " bejegyzéseket\n" #~ " -k mint a --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l hosszú formátum\n" #~ " -L, --dereference szimbolikus linkek fájlinformációinak\n" #~ " megjelenítésekor a szimbolikus linkek " #~ "által\n" #~ " mutatott fájlok adatait jeleníti meg a " #~ "link\n" #~ " adatai helyett\n" #~ " -m a szélességet a bejegyzések vesszővel\n" #~ " elválasztott listájával tölti ki\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid mint a -l, de az felhasználó- és \n" #~ " csoportazonosítókat számmal írja ki\n" #~ " -N, --literal nyers bejegyzésnevek kiírása (nem kezeli\n" #~ " megkülönböztetett módon például a\n" #~ " vezérlőkaraktereket)\n" #~ " -o mint a -l, de a csoportinformációk kiírása " #~ "nélkül\n" #~ " -p, --indicator-style=slash\n" #~ " egy / jelet fűz a könyvtárakhoz\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars ? kiírása a nem grafikus karakterek helyett\n" #~ " --show-control-chars megjeleníti a nem grafikus karaktereket\n" #~ " (alapértelmezett, kivéve ha a program az " #~ "„ls”\n" #~ " és a kimenet egy terminál)\n" #~ " -Q, --quote-name minden bejegyzésnevet idézőjelbe tesz\n" #~ " --quoting-style=SZÓ a SZÓ stílusnak megfelelően idézőjelez:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse fordított sorrendbe rendez\n" #~ " -R, --recursive alkönyvtárak rekurzív listázása\n" #~ " -s, --size kiírja az egyes fájlok méretét blokkban\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S rendezés fájlméret alapján\n" #~ " --sort=SZÓ rendezés a SZÓ szerint a név helyett, a SZÓ\n" #~ " érvényes értékei és a kapcsoló, amelynek\n" #~ " megfelelnek: extension -X, size -S,\n" #~ " time -t, version -v\n" #~ " --time=SZÓ a -l kapcsolóval együtt használva az időt a " #~ "SZÓNAK\n" #~ " megfelelően mutatja a módosítás ideje " #~ "helyett:\n" #~ " atime: -u, access: -u, use: -u, ctime: -c " #~ "vagy\n" #~ " status: -c; a megadott idő alapján " #~ "rendez,\n" #~ " ha a --sort=time kapcsoló meg van adva\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STÍLUS a -l kapcsolóval együtt használva az időt a\n" #~ " STÍLUSNAK megfelelő formátumban mutatja:\n" #~ " full-iso, long-iso, iso, locale, posix-" #~ "iso,\n" #~ " +FORMÁTUM. A FORMÁTUM értelmezése hasonló, " #~ "mint\n" #~ " a „date” esetén; ha a FORMÁTUM\n" #~ " FORMÁTUM1<új sor>FORMÁTUM2 alakú, akkor a\n" #~ " FORMÁTUM1 a régebbi, míg a FORMÁTUM2\n" #~ " az újabb fájlokra vonatkozik; ha a STÍLUS " #~ "a\n" #~ " „posix-” előtaggal rendelkezik, akkor a " #~ "STÍLUS\n" #~ " csak a POSIX területi beállításokon kívül\n" #~ " lép életbe.\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t módosítás dátuma alapján rendez\n" #~ " -T, --tabsize=OSZL tabulátor minden OSZL-nál, 8 helyett\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u „-lt”-vel: hozzáférési idő alapján rendez és " #~ "azt\n" #~ " is mutatja\n" #~ " „-l”-lel: név alapján rendez és a " #~ "hozzáférési\n" #~ " időt mutatja\n" #~ " egyébként: hozzáférési idő alapján rendez\n" #~ " -U nem rendez; a bejegyzéseket könyvtári " #~ "sorrendben\n" #~ " listázza\n" #~ " -v verzió alapján rendez\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=OSZL feltételezi, hogy a képernyő OSZL széles\n" #~ " -x a bejegyzéseket soronként, és nem " #~ "oszloponként\n" #~ " listázza\n" #~ " -X ábécé sorba rendez, kiterjesztés szerint\n" #~ " -Z, --context az egyes fájlok teljes SELinux biztonsági\n" #~ " kontextusának kiírása\n" #~ " -1 soronként egy fájlnevet ír ki\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Az alapértelmezett kimenet nem színes. Ez megegyezik a --color=none \n" #~ "beállítással. A --color kapcsoló használata az opcionális EKKOR " #~ "argumentum\n" #~ "nélkül megegyezik a --color=always viselkedésével. A --color=auto csak " #~ "akkor\n" #~ "jelenít meg színkódokat, ha a kimenet terminál (tty). Az LS_COLORS " #~ "környezeti\n" #~ "változó befolyásolhatja a színeket és könnyen beállítható a dircolors " #~ "paranccsal.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "A kilépési állapot 0, ha nincs hiba, 1 kis problémák és 2 komoly baj " #~ "esetén.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ] [FÁJL]...\n" #~ "%s (%d bites) ellenőrzőösszegek kiírása vagy ellenőrzése.\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ "\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary olvasás bináris módban (alapértelmezett, ha " #~ "nem\n" #~ " terminál szabványos bemenetet olvas)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -B, --binary bináris módú olvasás\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check %s összegek olvasása a FÁJLOKBÓL és\n" #~ " azok ellenőrzése\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text olvasás szöveges módban (alapértelmezett, ha\n" #~ " terminál szabványos bemenetet olvas)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr "" #~ " -t, --text olvasás szöveges módban (alapértelmezett)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Az alábbi két kapcsoló csak ellenőrzőösszegek ellenőrzésekor hasznos:\n" #~ " --status ne írjon ki semmit, az állapotkód jelzi a " #~ "sikert\n" #~ " -w, --warn helytelenül formázott ellenőrzőösszeg-sorokra\n" #~ " figyelmeztet\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Az összegek a(z) %s által leírt módon kerülnek kiszámításra.\n" #~ "Ellenőrzéskor a bemenetnek ezen program korábbi kimenetének kell lennie. " #~ "Az\n" #~ "alapértelmezett mód egy sornyi ellenőrzőösszeg, egy típust jelző " #~ "karakter\n" #~ "(„*” bináris, „ „ szöveges fájlokhoz) és egy név kiírása minden egyes " #~ "FÁJLHOZ.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: túl sok ellenőrzőösszeg-sor" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: nem megfelelően formázott %s ellenőrzőösszeg-sor" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: a megnyitás vagy olvasás meghiúsult\n" #~ msgid "OK" #~ msgstr "RENDBEN" #~ msgid "%s: read error" #~ msgstr "%s: olvasási hiba" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: nem találhatók megfelelően formázott %s ellenőrzőösszeg sorok" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "FIGYELMEZTETÉS: %/% felsorolt fájl nem olvasható" #~ msgstr[1] "" #~ "FIGYELMEZTETÉS: %/% felsorolt fájl nem olvasható" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "FIGYELMEZTETÉS: %/% számított ellenőrzőösszeg NEM " #~ "egyezett" #~ msgstr[1] "" #~ "FIGYELMEZTETÉS: %/% számított ellenőrzőösszeg NEM " #~ "egyezett" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "a --binary és --text kapcsolók értelmetlenek ellenőrzőösszegek " #~ "ellenőrzésekor" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "a --status kapcsoló csak ellenőrzőösszegek ellenőrzésekor értelmes" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "a --warn kapcsoló csak ellenőrzőösszegek ellenőrzésekor értelmes" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Használat: %s [KAPCSOLÓ] KÖNYVTÁR...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "KÖNYVTÁRAKAT hoz létre, ha még nem léteznek.\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MÓD fájlmód beállítása, (mint a chmod), nem a=rwx - " #~ "umask\n" #~ " -p, --parents könyvtárstruktúrát hoz létre. Nem ad hibát, ha már " #~ "létezik\n" #~ " -v, --verbose üzenetet ír ki minden egyes létrehozott könyvtárhoz\n" #~ " -Z, --context=KTX minden létrehozott könyvtár SELinux biztonsági\n" #~ " kontextusának beállítása a KTX-re\n" #~ msgid "created directory %s" #~ msgstr "%s könyvtár létrejött" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Használat: %s [KAPCSOLÓ] NÉV...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "NÉV nevű névvel rendelkező adatcsatornát (FIFO-t) hoz létre.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=KTX minden NÉV SELinux biztonsági kontextusának " #~ "beállítása a\n" #~ " KTX-re\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MÓD fájljogosultságok beállítása, nem a=rw - umask\n" #~ msgid "invalid mode" #~ msgstr "érvénytelen mód" #~ msgid "mode must specify only file permission bits" #~ msgstr "a mód csak fájljogosultságbiteket adhat meg" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... NÉV TÍPUS [MAJOR MINOR]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Az adott NEVŰ és TÍPUSÚ speciális fájl létrehozása.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=KTX a NÉV SELinux biztonsági kontextusának beállítása a " #~ "KTX-re\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Mind a MAJORT, mind a MINORT meg kell adni, ha a TÍPUS b, c vagy u és el " #~ "kell\n" #~ "őket hagyni, ha a TÍPUS p. Ha a MAJOR vagy MINOR kezdete 0x vagy 0X, " #~ "akkor ez\n" #~ "hexadecimálisan lesz értelmezve, egyébként ha 0-val, akkor oktálisan, " #~ "egyébként\n" #~ "decimálisan. A TÍPUS az alábbiak egyike lehet:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b speciális blokkfájl (pufferelt) létrehozása\n" #~ " c, u speciális karakterfájl (nem-pufferelt) létrehozása\n" #~ " p FIFO létrehozása\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Speciális fájlok létrehozásakor meg kell adni major és minor\n" #~ "eszközszámokat." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "A Fifo-k nem rendelkeznek major és minor eszközszámokkal." #~ msgid "block special files not supported" #~ msgstr "a speciális blokkfájl nem támogatott" #~ msgid "character special files not supported" #~ msgstr "a speciális karakterfájl nem támogatott" #~ msgid "invalid major device number %s" #~ msgstr "érvénytelen major eszközszám: %s" #~ msgid "invalid minor device number %s" #~ msgstr "érvénytelen minor eszközszám: %s" #~ msgid "invalid device %s %s" #~ msgstr "érvénytelen eszköz %s %s" #~ msgid "invalid device type %s" #~ msgstr "érvénytelen eszköztípus: %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [SABLON]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Ideiglenes fájl vagy könyvtár létrehozása biztonságosan és a nevének " #~ "kiírása.\n" #~ "Ha a SABLON nincs megadva, akkor a tmp.XXXXXXXXXX kerül felhasználásra.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory könyvtár és nem fájl létrehozása\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet a fájl- vagy könyvtárlétrehozási hibákkal kapcsolatos\n" #~ " diagnosztika elnyomása\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run nem hoz létre semmit, csak egy nevet ír ki (nem " #~ "biztonságos)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=KVT] a SABLON értelmezése a KVT könyvtárhoz képest. Ha a " #~ "KVT\n" #~ " nincs megadva és a $TMPDIR érték meg van adva, akkor " #~ "azt\n" #~ " használja, egyébként a /tmp könyvtárat.\n" #~ " Ezzel a kapcsolóval a SABLONNAK nem kell abszolút " #~ "névnek\n" #~ " lennie. A -t használatával ellentétben a SABLON " #~ "tartalmazhat\n" #~ " osztásjeleket, de az mktemp itt is csak az utolsó\n" #~ " összetevőt hozza létre.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p KVT a KVT használata előtagként, a -t használatát " #~ "feltételezi\n" #~ " [elavult]\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t a SABLON értelmezése egyetlen fájlnév-összetevőként,\n" #~ " egy könyvtárhoz képest: $TMPDIR, ha az be van " #~ "állítva,\n" #~ " különben a -p segítségével megadott könyvtár, " #~ "különben\n" #~ " /tmp [elavult]\n" #~ msgid "too many templates" #~ msgstr "túl sok sablon" #~ msgid "too few X's in template %s" #~ msgstr "túl kevés X a következő sablonban: %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "érvénytelen sablon, a(z) %s könyvtárelválasztót tartalmaz" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "" #~ "érvénytelen sablon, a(z) %s a --tmpdir használatakor nem lehet abszolút" #~ msgid "failed to create directory via template %s" #~ msgstr "" #~ "a könyvtár létrehozása meghiúsult a következő sablon használatával: %s" #~ msgid "failed to create file via template %s" #~ msgstr "a fájl létrehozása meghiúsult a következő sablon használatával: %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "A FORRÁST átnevezi a CÉLRA vagy több FORRÁST egy CÉLKÖNYVTÁRBA helyez " #~ "át.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=CONTROL] minden létező célfájlról biztonsági " #~ "mentést\n" #~ " készít\n" #~ " -b mint a --backup, de nem fogad el " #~ "argumentumot\n" #~ " -f, --force nem kérdez felülírás előtt\n" #~ " -i, --interactive felülírás előtt kérdez\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes eltávolítja a befejező per jeleket minden\n" #~ " FORRÁS argumentumról\n" #~ " -S, --suffix=KITERJESZTÉS a biztonsági másolat szokásos " #~ "kiterjesztésének\n" #~ " felülbírálása\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=KÖNYVTÁR minden FORRÁS áthelyezése a megadott\n" #~ " KÖNYVTÁRBA\n" #~ " -T, --no-target-directory a CÉL kezelése normál fájlként\n" #~ " -u, --update csak akkor helyezi át, ha a célfájl " #~ "régebbi,\n" #~ " mint a FORRÁS, vagy ha a célfájl nem " #~ "létezik\n" #~ " -v, --verbose elmagyarázza, mi történik\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Használat: %s [KAPCSOLÓ] [PARANCS [ARG]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "A PARANCS futtatása módosított nice értékkel, amely a folyamatütemezést " #~ "érinti.\n" #~ "Ha a PARANCS nincs megadva, akkor az aktuális nice értéket írja ki. A " #~ "nice\n" #~ "értékek a(z) %d (leginkább előnyben részesített) értéktől %d-ig " #~ "(legkevésbé\n" #~ "előnyben részesített) terjednek.\n" #~ "\n" #~ " -n, --adjustment=N az N egész szám hozzáadása a nice értékhez\n" #~ " (az alapértelmezett: 10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "érvénytelen módosítás: %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "meg kell adni egy parancsot a módosítással" #~ msgid "cannot get niceness" #~ msgstr "nem kérhető le a nice érték" #~ msgid "cannot set niceness" #~ msgstr "nem állítható be a nice érték" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Minden egyes FÁJL kiírása a szabványos kimenetre, sorszámokkal ellátva.\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STÍLUS a STÍLUS használata a törzs sorainak\n" #~ " számozásához\n" #~ " -d, --section-delimiter=CC a CC használata a logikai oldalak\n" #~ " elválasztásához\n" #~ " -f, --footer-numbering=STÍLUS a STÍLUS használata a lábléc sorainak\n" #~ " számozásához\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STÍLUS a STÍLUS használata a fejléc sorainak\n" #~ " számozásához\n" #~ " -i, --page-increment=SZÁM a sorszám növekménye soronként\n" #~ " -l, --join-blank-lines=SZÁM SZÁM darab üres sor számolása egynek\n" #~ " -n, --number-format=FORMÁTUM sorszámok beszúrása a FORMÁTUMNAK " #~ "megfelelően\n" #~ " -p, --no-renumber ne állítsa vissza a sorszámokat " #~ "logikai\n" #~ " oldalaknál\n" #~ " -s, --number-separator=KARAKTERLÁNC a KARAKTERLÁNC felvétele a " #~ "(lehetséges)\n" #~ " sorszámnál\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=SZÁM az első sorszám minden logikai oldalon\n" #~ " -w, --number-width=SZÁM SZÁM darab oszlop használata a " #~ "sorszámokhoz\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Az alapértelmezett kiválasztás a -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. " #~ "A CC\n" #~ "két, logikai oldalakat elválasztó karakter, ha a második karakter " #~ "hiányzik,\n" #~ "akkor : kerül felhasználásra. A \\\\ beírásával kapható a \\ jel. A " #~ "STÍLUS\n" #~ "az alábbiak egyike:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a az összes sor számozása\n" #~ " t csak a nem üres sorok számozása\n" #~ " n ne számozzon sorokat\n" #~ " pBRE csak a BRE alapvető szabályos kifejezésre illeszkedést " #~ "tartalmazó\n" #~ " sorok számozása\n" #~ "\n" #~ "A FORMÁTUM az alábbiak egyike:\n" #~ "\n" #~ " ln balra igazított, nincsenek kezdő nullák\n" #~ " rn jobbra igazított, nincsenek kezdő nullák\n" #~ " rz jobbra igazított, kezdő nullákkal\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "sorszámtúlcsordulás" #~ msgid "invalid header numbering style: %s" #~ msgstr "érvénytelen fejlécszámozási stílus: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "érvénytelen törzsszámozási stílus: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "érvénytelen láblécszámozási stílus: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "érvénytelen kezdősorszám: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "érvénytelen sorszámnövekmény: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "érvénytelen üressorszám: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "érvénytelen sorszámmező szélesség: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "érvénytelen sorszámozási formátum: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s PARANCS [ARG]...\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "A PARANCS futtatása a hangup szignálok figyelmen kívül\n" #~ "hagyásával.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Ha a szabványos bemenet egy terminál, akkor átirányítja a /dev/null-ból.\n" #~ "Ha a szabványos kimenet egy terminál, akkor a kimenetet hozzáfűzi a " #~ "„nohup.out”\n" #~ "fájlhoz, ha lehetséges, ellenkező esetben a „$HOME/nohup.out” fájlhoz.\n" #~ "Ha a szabványos hibakimenet egy terminál, akkor átirányítja a szabványos\n" #~ "kimenetre. A kimenet FÁJLBA mentéséhez használja a(z) „%s PARANCS > " #~ "FÁJL”\n" #~ "parancsot.\n" #~ msgid "ignoring input" #~ msgstr "bemenet figyelmen kívül hagyása" #~ msgid "failed to open %s" #~ msgstr "%s megnyitása meghiúsult" #~ msgid "ignoring input and appending output to %s" #~ msgstr "" #~ "bemenet figyelmen kívül hagyása és kimenet hozzáfűzése a következőhöz: %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "" #~ "a szabványos hibakimenet másolatának beállítása meghiúsult „bezárás\n" #~ "végrehajtáskor” módra" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "" #~ "bemenet figyelmen kívül hagyása és a szabványos hibakimenet átirányítása\n" #~ "a szabványos kimenetre" #~ msgid "failed to redirect standard error" #~ msgstr "a szabványos hibakimenet átirányítása meghiúsult" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... [FÁJL]...\n" #~ " vagy: %s [-abcdfilosx]... [FÁJL] [[+]ELTOLÁS[.][b]]\n" #~ " vagy: %s --traditional [KAPCSOLÓ]... [FÁJL] [[+]ELTOLÁS[.][b]\n" #~ " [+][CÍMKE][.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "A FÁJL egy egyértelmű ábrázolásának kiírása, alapértelmezetten oktális\n" #~ "bájtokkal, a szabványos kimenetre. Több FÁJL argumentumot összefűz a " #~ "felsorolás\n" #~ "sorrendjében a bemenet kialakítása érdekében.\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Ha egy hosszú kapcsolóhoz kötelező argumentumot megadni, akkor ez a \n" #~ "megfelelő rövid kapcsolónál is kötelező.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=ALAP a fájleltolások kiírási módjának eldöntése\n" #~ " -j, --skip-bytes=BÁJT BÁJT darab bemeneti bájt kihagyása először\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BÁJT a kiíratás korlátozása BÁJT darab bemeneti " #~ "bájtra\n" #~ " -S, --strings[=BÁJT] a legalább BÁJT darab grafikus karakterből " #~ "álló\n" #~ " karakterláncok kiírása\n" #~ " -t, --format=TÍPUS a kimeneti formátumok kiválasztása\n" #~ " -v, --output-duplicates ne használja a * jelet a sorelnyomások " #~ "jelölésére\n" #~ " -w, --width[=BÁJT] BÁJT darab bájt kiírása kimeneti soronként\n" #~ " --traditional argumentumok elfogadása a hagyományos " #~ "formában\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "A hagyományos formátummeghatározások keverhetők, az alábbiak lehetnek:\n" #~ " -a ugyanaz, mint -t a, megnevezett karakterek kiválasztása, a magas\n" #~ " sorrend bit figyelmen kívül hagyása\n" #~ " -b ugyanaz, mint -t o1, oktális bájtok kiválasztása\n" #~ " -c ugyanaz, mint -t c, ASCII karakterek vagy visszaper escape-ek\n" #~ " kiválasztása\n" #~ " -d ugyanaz, mint -t u2, előjel nélküli tízes alapú 2 bájtos egységek\n" #~ " kiválasztása\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f ugyanaz, mint -t fF, lebegőpontosak kiválasztása\n" #~ " -i ugyanaz, mint -t dI, decimális egészek kiválasztása\n" #~ " -l ugyanaz, mint -t dL, decimális hosszúak kiválasztása\n" #~ " -o ugyanaz, mint -t o2, oktális 2 bájtos egységek kiválasztása\n" #~ " -s ugyanaz, mint -t d2, tízes alapú 2 bájtos egységek kiválasztása\n" #~ " -x ugyanaz, mint -t x2, hexadecimális 2 bájtos egységek kiválasztása\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Az első és második hívási alak egyidejű alkalmazása esetén a második " #~ "alak\n" #~ "feltételezett, ha az utolsó operandus +-al vagy (2 operandus esetén) " #~ "számmal\n" #~ "kezdődik. Az ELTOLÁS operandus a -j ELTOLÁS kapcsolót jelenti. A CÍMKE az " #~ "első\n" #~ "kiírandó bájt pszeudo-címe, amely a kiíratás előrehaladásával növekszik. " #~ "Az\n" #~ "ELTOLÁS és a CÍMKE esetén egy 0x vagy 0X előtag hexadecimális ábrázolást " #~ "jelez;\n" #~ "az utótagok a . (oktális) és b (szorzás 512-vel) lehetnek.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "A TÍPUST az alábbi specifikációk közül néhány alkothatja:\n" #~ "\n" #~ " a megnevezett karakter, a magas sorrend bit figyelmen kívül " #~ "hagyása\n" #~ " c ASCII karakter vagy visszaper escape\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[MÉRET] előjeles decimális, MÉRET bájt egészenként\n" #~ " f[MÉRET] lebegőpontos, MÉRET bájt egészenként\n" #~ " o[MÉRET] oktális, MÉRET bájt egészenként\n" #~ " u[MÉRET] előjel nélküli decimális, MÉRET bájt egészenként\n" #~ " x[MÉRET] hexadecimális, MÉRET bájt egészenként\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "A MÉRET egy szám. For TYPE in doux, a MÉRET lehet C a\n" #~ "sizeof(char), S a sizeof(short), I a sizeof(int) vagy L a\n" #~ "sizeof(long) értékekhez. Ha a TÍPUS f, akkor a MÉRET szintén lehet F a\n" #~ "sizeof(float), D a sizeof(double) vagy L a sizeof(long double) " #~ "értékéhez.\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "Az ALAP d, ha decimális, o ha oktális, x ha hexadecimális vagy n, ha " #~ "nincs.\n" #~ "A BÁJT hexadecimális a 0x vagy 0X előtaggal és a következő szorzó-" #~ "utótagokkal\n" #~ "rendelkezhet: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y.\n" #~ "Egy z utótag hatására bármely típus esetén a nyomtatható karakterek " #~ "megjelennek\n" #~ "a kimeneti sorok végén." #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "A --string egy szám nélkül 3-at jelent. A --width egy szám nélkül\n" #~ "32-t. Alapértelmezésben az od a következőket használja: -A o -t d2 -w " #~ "16.\n" #~ msgid "invalid type string %s" #~ msgstr "érvénytelen típus-karakterlánc: %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "érvénytelen típus-karakterlánc: %s\n" #~ "ez a rendszer nem biztosít %lu bájtos egész típust" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "érvénytelen típus-karakterlánc: %s\n" #~ "ez a rendszer nem biztosít %lu bájtos lebegőpontos típust" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "a(z) %c karakter érvénytelen a(z) %s típus-karakterláncban" #~ msgid "cannot skip past end of combined input" #~ msgstr "nem lehet a kombinált bemenet elhagyott végére ugrani" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "„%c” érvénytelen kimeneti cím alap; a [doxn] karakterek egyikének kell " #~ "lennie" #~ msgid "no type may be specified when dumping strings" #~ msgstr "nem adható meg típus karakterláncok kiíratásakor" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "A kompatibilitási mód legfeljebb egy fájlt támogat." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "a kihagyandó és beolvasandó bájtok összege túl nagy" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "" #~ "figyelmeztetés: %lu szélesség érvénytelen, helyette %d kerül " #~ "felhasználásra" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=„%s” szélesség=%d\n" #~ msgid "standard input is closed" #~ msgstr "a szabványos bemenet le van zárva" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Az egyes FÁJLOK sorozatban megfelelő soraiból álló sorok kiírása a\n" #~ "szabványos kimenetre, tabokkal elválasztva.\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LISTA a LISTA karaktereinek újrafelhasználása tabok\n" #~ " helyett\n" #~ " -s, --serial egyszerre egy fájl beillesztése párhuzamos\n" #~ " feldolgozás helyett\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "az elválasztólista nem escapelt visszaperre végződik: %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Használat: %s [KAPCSOLÓ] NÉV...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Hordozhatatlan szerkezetek felismerése a NÉVBEN.\n" #~ "\n" #~ " -p a legtöbb POSIX rendszer ellenőrzéses\n" #~ " -P üres nevek és a kezdő „-” ellenőrzése\n" #~ " --portability az összes POSIX rendszer ellenőrzése (azonos a -p -" #~ "P-vel)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "kezdő „-” jel a(z) %s fájlnév összetevőjében" #~ msgid "nonportable character %s in file name %s" #~ msgstr "nem hordozható karakter (%s) a(z) %s fájlnévben" #~ msgid "empty file name" #~ msgstr "üres fájlnév" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: a maximális fájlnévhossz nem határozható meg" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "a(z) %1$lu korlát átlépve a(z) %3$s fájlnév %2$lu hossza által" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "" #~ "a(z) %1$lu korlát átlépve a(z) %3$s fájlnévösszetevő %2$lu hossza által" #~ msgid "Login name: " #~ msgstr "Bejelentkezési név: " #~ msgid "In real life: " #~ msgstr "Valójában: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Könyvtár: " #~ msgid "Shell: " #~ msgstr "Parancsértelmező: " #~ msgid "Project: " #~ msgstr "Projekt: " #~ msgid "Plan:\n" #~ msgstr "Terv:\n" #~ msgid "Login" #~ msgstr "Bejel." #~ msgid "Name" #~ msgstr "Név" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Üresj." #~ msgid "When" #~ msgstr "Mikor" #~ msgid "Where" #~ msgstr "Hol" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [FELHASZNÁLÓ]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l hosszú formátumú kimenet előállítása a megadott\n" #~ " FELHASZNÁLÓKHOZ\n" #~ " -b a felhasználó saját könyvtárának és " #~ "parancsértelmezőjének\n" #~ " kihagyása a hosszú formátumból\n" #~ " -h a felhasználó projektfájljának kihagyása a hosszú\n" #~ " formátumból\n" #~ " -p a felhasználó tervfájljának kihagyása a hosszú " #~ "formátumból\n" #~ " -s rövid formátumú kimenet előállítása, ez az " #~ "alapértelmezett\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f az oszlopfejlécek sorának kihagyása a rövid " #~ "formátumban\n" #~ " -w a felhasználó teljes nevének kihagyása a rövid " #~ "formátumban\n" #~ " -i a felhasználó teljes nevének és távoli kiszolgálójának\n" #~ " kihagyása a rövid formátumban\n" #~ " -q a felhasználó teljes nevének, távoli kiszolgálójának " #~ "és\n" #~ " üresjárati idejének kihagyása a rövid formátumban\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Egy könnyűsúlyú „finger” program, felhasználói információkat ír ki.\n" #~ "Az utmp fájl a következő lesz: %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "nincs megadva felhasználói név; legalább egyet meg kell adni\n" #~ "a -l használatakor" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "„--pages=ELSŐ_OLDAL[:UTOLSÓ_OLDAL]” hiányzó argumentum" #~ msgid "Invalid page range %s" #~ msgstr "Érvénytelen oldaltartomány: %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "„-l OLDALHOSSZ” érvénytelen sorszám: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "„-N SZÁM” érvénytelen kezdő sorszám: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "„-o MARGÓ” érvénytelen soreltolás: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "„-w OLDAL_SZÉLESSÉG” érvénytelen karakterszám: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "„-W OLDAL_SZÉLESSÉG” érvénytelen karakterszám: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Nem adható meg az oszlopok száma párhuzamos nyomtatás esetén." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Nem adható meg mind a vízszintes, mind a párhuzamos nyomtatás." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "" #~ "„-%c” extra karakterek vagy érvénytelen szám a következő argumentumban:\n" #~ "%s" #~ msgid "page width too narrow" #~ msgstr "az oldalszélesség túl keskeny" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "a(z) % kezdő oldalszám meghaladja a(z) % oldalszámot" #~ msgid "Page number overflow" #~ msgstr "Oldalszám-túlcsordulás" #~ msgid "Page %" #~ msgstr "%. oldal" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "A FÁJLOK oldalakra tördelése vagy oszlopokba rendezése\n" #~ "nyomtatáshoz.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +ELSŐ_OLDAL[:UTOLSÓ_OLDAL], --pages=ELSŐ_OLDAL[:UTOLSÓ_OLDAL]\n" #~ " a nyomtatás elkezdése [befejezése] az ELSŐ_[UTOLSÓ]" #~ "_OLDALON\n" #~ " -OSZLOP, --columns=OSZLOP\n" #~ " OSZLOP darab oszlop előállítása és az oszlopok " #~ "nyomtatása,\n" #~ " lefelé, hacsak a -a nincs megadva. A sorok számának\n" #~ " kiegyensúlyozása az oszlopokban minden egyes " #~ "oldalon.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across oszlopok kiírása vízszintesen és nem függőlegesen, a\n" #~ " -OSZLOP kapcsolóval együtt használatos\n" #~ " -c, --show-control-chars\n" #~ " kalapos (^G) és oktális visszaper jelölés használata\n" #~ " -d, --double-space\n" #~ " a kimenet dupla kitöltése\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMÁTUM\n" #~ " a FORMÁTUM használata a fejléc dátumához\n" #~ " -e[KAR[SZÉLESSÉG], --expand-tabs[=KAR[SZÉLESSÉG]]\n" #~ " a bemeneti KARAKTEREK (TAB-ok) kiterjesztése a tab\n" #~ " SZÉLESSÉGÉRE (8)\n" #~ " -F, -f, --form-feed\n" #~ " lapdobások használata új sorok helyett az oldalak\n" #~ " elválasztására\n" #~ " (egy 3 soros oldalfejléccel a -F vagy egy 5 soros\n" #~ " fejléccel és bevezetővel az -F nélkül)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h FEJLÉC, --header=FEJLÉC\n" #~ " egy középre igazított FEJLÉC használata a fájlnév " #~ "helyett\n" #~ " az oldalfejlécben, a -h \"\" egy üres sort nyomtat, " #~ "ne\n" #~ " használja a -h\"\" kapcsolót\n" #~ " -i[KAR[SZÉLESSÉG], --output-tabs[=KAR[SZÉLESSÉG]]\n" #~ " a szóközök cseréje KARAKTEREKRE (TAB-okra) a tab\n" #~ " SZÉLESSÉGÉIG (8)\n" #~ " -J, --join-lines teljes sorok összefésülése, kikapcsolja a -W " #~ "sorcsonkítást,\n" #~ " nincs oszlopigazítás, a --sep-string" #~ "[=KARAKTERLÁNC]\n" #~ " beállítja az elválasztókat\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l OLDALHOSSZ, --length=OLDALHOSSZ\n" #~ " beállítja az oldalhosszúságot OLDALHOSSZ (66) sorra\n" #~ " (a szövegsorok alapértelmezett száma 56, és a -F " #~ "esetén 63)\n" #~ " -m, --merge az összes fájl párhuzamos nyomtatása, egyet minden\n" #~ " oszlopba, a sorokat csonkítja, de a teljes " #~ "hosszúságú\n" #~ " sorokat a -J használatakor összekapcsolja\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[ELV[SZÁMJEGYEK]], --number-lines[=ELV[SZÁMJEGYEK]]\n" #~ " sorok számozása, SZÁMJEGYEK (5) darab számjegy majd " #~ "az\n" #~ " ELVÁLASZTÓ (TAB) használatával, a számolás\n" #~ " alapértelmezésben a bemeneti fájl első sorával " #~ "kezdődik.\n" #~ " -N NUMBER, --first-line-number=SZÁM\n" #~ " a számolás kezdése a SZÁMMAL az első kinyomtatott " #~ "oldal\n" #~ " első sorában (lásd +ELSŐ_OLDAL)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARGÓ, --indent=MARGÓ\n" #~ " minden egyes sor eltolása MARGÓ (nulla) szóközzel, " #~ "nincs\n" #~ " hatással a -w vagy -W kapcsolókra, a MARGÓ az\n" #~ " OLDAL_SZÉLESSÉGHEZ lesz hozzáadva.\n" #~ " -r, --no-file-warnings\n" #~ " figyelmeztetés kihagyása, ha egy fájl nem nyitható " #~ "meg\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[KARAKTER],--separator[=KARAKTER]\n" #~ " az oszlopok elválasztása egyetlen KARAKTERREL, az\n" #~ " alapértelmezés a karakter a -w nélkül és " #~ "„semmi”\n" #~ " a -w esetén. A -s[KARAKTER] kikapcsolja a " #~ "sorcsonkítást\n" #~ " mind a 3 oszlopkapcsolóhoz (-OSZLOP|-a -OSZLOP|-m), " #~ "kivéve\n" #~ " ha a -w be van állítva\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SKARAKTERLÁNC, --sep-string[=KARAKTERLÁNC]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " az oszlopok elválasztása a KARAKTERLÁNCCAL,\n" #~ " a -S nélkül: az alapértelmezett elválasztó a a -" #~ "J\n" #~ " kapcsolóval és egyébként (ugyanaz, mint a -" #~ "S” „)\n" #~ " nincs hatással az oszlopkapcsolókra\n" #~ " -t, --omit-header oldalfejlécek és befejezők kihagyása\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " oldalfejlécek és befejezők kihagyása, a bemeneti " #~ "fájlokban\n" #~ " található lapdobások által beállított oldalakra " #~ "tördelés\n" #~ " megszüntetése\n" #~ " -v, --show-nonprinting\n" #~ " oktális visszaper jelölés használata\n" #~ " -w OLDAL_SZÉLESSÉG, --width=OLDAL_SZÉLESSÉG\n" #~ " az oldalszélesség beállítása OLDAL_SZÉLESSÉG (72)\n" #~ " karakterre, csak több szöveges oszlopot tartalmazó\n" #~ " kimenethez, az s[karakter] kikapcsolja (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W OLDAL_SZÉLESSÉG, --page-width=OLDAL_SZÉLESSÉG\n" #~ " az oldalszélesség beállítása OLDAL_SZÉLESSÉG (72)\n" #~ " karakterre mindig, a sorok csonkítása, kivéve ha a -" #~ "J\n" #~ " kapcsoló be van állítva, nincs interferencia a -S " #~ "vagy -s\n" #~ " kapcsolókkal\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "A -t következik, ha az OLDALHOSSZ <= 10. Ha a FÁJL nincs megadva, vagy -, " #~ "akkor a szabványos bemenetet olvassa.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Használat: %s [VÁLTOZÓ]...\n" #~ " vagy: %s KAPCSOLÓ\n" #~ "Ha nincs megadva környezeti VÁLTOZÓ, akkor az összeset kiírja.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "figyelmeztetés: %s: a karakteres állandót követő karakterek \n" #~ "figyelmen kívül maradtak" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s FORMÁTUM [ARGUMENTUM]...\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Az ARGUMENTUMOK kiírása a FORMÁTUMNAK megfelelően vagy végrehajtásuk a\n" #~ "KAPCSOLÓNAK megfelelően:\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "A FORMÁTUM vezérli a kimenetet, mint a C printf(). Az értelmezett " #~ "sorozatok:\n" #~ "\n" #~ " \\” dupla idézőjel\n" #~ " \\NNN az NNN oktális értékű karakter (1-3 számjegy)\n" #~ " \\\\ visszaper\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a riadó (BEL)\n" #~ " \\b visszaper\n" #~ " \\c ne állítson elő további kimenetet\n" #~ " \\f lapdobás\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n új sor\n" #~ " \\r kocsivissza\n" #~ " \\t vízszintes tab\n" #~ " \\v függőleges tab\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH a HH hexadecimális értékű bájt (1 - 2 számjegy)\n" #~ " \\uHHHH a HHHH hexadecimális értékű Unicode (ISO/IEC 10646) karakter\n" #~ " (4 számjegy)\n" #~ " \\UHHHHHHHH a HHHHHHHH hexadecimális értékű Unicode karakter (8 " #~ "számjegy)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% egy % jel\n" #~ " %b az ARGUMENTUM a „\\” escape-jelölések értelmezésével,\n" #~ " kivéve a \\0 vagy \\0NNN formátumú oktális escape-eket\n" #~ "\n" #~ "valamint minden, a diouxXfeEgGcs egyikére végződő C formátumspecifikáció\n" #~ "az ARGUMENTUMOK megfelelő típusra alakítása után. A változó " #~ "szélességeket\n" #~ "kezeli a program.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: a várt érték numerikus" #~ msgid "%s: value not completely converted" #~ msgstr "%s: az érték átalakítása nem teljes" #~ msgid "missing hexadecimal number in escape" #~ msgstr "hiányzó hexadecimális érték az escape-ben" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "érvénytelen univerzális karakternév: \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "érvénytelen mezőszélesség: %s" #~ msgid "invalid precision: %s" #~ msgstr "érvénytelen pontosság: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: érvénytelen konverziós specifikáció" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "" #~ "figyelmeztetés: a többletargumentumok figyelmen kívül maradnak,\n" #~ " a következőtől kezdve: %s" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (a(z) %s regexphez)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... [BEMENET]... (-G nélkül)\n" #~ " vagy: %s -G [KAPCSOLÓ]... [BEMENET [KIMENET]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "A bemeneti fájlok szavai permutált indexének kiírása a kontextust is " #~ "beleértve.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference automatikusan előállított hivatkozások " #~ "kiírása\n" #~ " -G, --traditional a System V „ptx”-hez hasonló viselkedés\n" #~ " -F, --flag-truncation=KARAKTERLÁNC a KARAKTERLÁNC használata a\n" #~ " sorcsonkítások jelölésére\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=KARAKTERLÁNC a használandó makrónév az „xx” helyett\n" #~ " -O, --format=roff a kimenet előállítása roff " #~ "irányelvekként\n" #~ " -R, --right-side-refs hivatkozások jobb oldalra helyezése, a -" #~ "w\n" #~ " nem számolja őket\n" #~ " -S, --sentence-regexp=REGEXP sorok vagy mondatok végéhez\n" #~ " -T, --format=tex a kimenet előállítása TeX " #~ "irányelvekként\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP a REGEXP használata minden egyes " #~ "kulcsszó \n" #~ " -b, --break-file=FÁJL szótörő karakterek ebben a FÁJLBAN\n" #~ " -f, --ignore-case kisbetűk nagybetűkké alakítása a " #~ "rendezéshez\n" #~ " -g, --gap-size=SZÁM rés mérete oszlopokban a kimeneti mezők " #~ "között\n" #~ " -i, --ignore-file=FÁJL figyelmen kívül hagyandó szavak " #~ "listájának\n" #~ " olvasása a FÁJLBÓL\n" #~ " -o, --only-file=FÁJL az egyedüli szólista olvasása ebből a " #~ "FÁJLBÓL\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references minden egyes sor első mezője egy " #~ "hivatkozás\n" #~ " -t, --typeset-mode - nincs megvalósítva -\n" #~ " -w, --width=SZÁM a kimenet szélessége oszlopokban, a \n" #~ " hivatkozások kihagyásával\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ "A „-F /” az alapértelmezés.\n" #~ msgid "invalid gap width: %s" #~ msgstr "érvénytelen résszélesség: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Az aktuális munkakönyvtár teljes fájlnevének kiírása.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "a következő könyvtárba lépés meghiúsult: %s" #~ msgid "failed to stat %s" #~ msgstr "%s elérése meghiúsult" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "" #~ "nem található megegyező i-node-dal rendelkező könyvtárbejegyzés a " #~ "következőben:\n" #~ "%s" #~ msgid "ignoring non-option arguments" #~ msgstr "a nem kapcsoló argumentumok figyelmen kívül marad" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [FÁJL]\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Egy szimbolikus link értékének megjelenítése a szabványos kimeneten.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize egyszerűsítés minden szimbolikus link " #~ "rekurzív\n" #~ " követésével az adott név minden " #~ "összetevőjében,\n" #~ " az utolsó kivételével minden " #~ "összetevőnek\n" #~ " léteznie kell\n" #~ " -e, --canonicalize-existing egyszerűsítés minden szimbolikus link " #~ "rekurzív\n" #~ " követésével az adott név minden " #~ "összetevőjében,\n" #~ " minden összetevőnek léteznie kell\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing egyszerűsítés minden szimbolikus link " #~ "rekurzív\n" #~ " követésével az adott név minden " #~ "összetevőjében,\n" #~ " az összetevők létezésére tekintet nélkül\n" #~ " -n, --no-newline ne írja ki a záró új sort\n" #~ " -q, --quiet,\n" #~ " -s, --silent megszünteti a legtöbb hibaüzenetet\n" #~ " -v, --verbose hibaüzenetek kiírása\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "VÉGZETES: a könyvtár lezárása meghiúsult: %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "VÉGZETES: nem lehet a .. könyvtárat megnyitni a következőből: %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "VÉGZETES: nem biztosítható, hogy a szülőkönyvtáron keresztül visszaadott\n" #~ "%s biztonságos" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "VÉGZETES: %s könyvtár eszköze/inode-ja megváltozott" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "VÉGZETES: nem lehet a következő könyvtárba belépni: %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "VÉGZETES: a(z) %s könyvtár eszköze/inode-ja a belépés után megváltozott" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "FIGYELMEZTETÉS: körkörös könyvtárszerkezet.\n" #~ "Ez majdnem biztosan azt jelenti, hogy a fájlrendszer sérült.\n" #~ "ÉRTESÍTSD A RENDSZERGAZDÁT.\n" #~ "A következő könyvtár része a körnek:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: belép a(z) %s írásvédett könyvtárba? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: belép a(z) %s könyvtárba? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%1$s: eltávolítja az írásvédett %3$s nevű, „%2$s” típusú elemet? " #~ msgid "%s: remove %s %s? " #~ msgstr "%1$s: eltávolítja a(z) %3$s nevű, „%2$s” típusú elemet? " #~ msgid "removed directory: %s\n" #~ msgstr "%s könyvtár törölve\n" #~ msgid "failed to close directory %s" #~ msgstr "a következő könyvtár bezárása meghiúsult: %s" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "%s kihagyása, mivel másik eszközön van" #~ msgid "cannot remove directory %s" #~ msgstr "nem törölhető a következő könyvtár: „%s”" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "" #~ "VÉGZETES: nem lehet visszatérni a szülőkönyvtárba a következőből: %s" #~ msgid "cannot remove root directory %s" #~ msgstr "nem törölhető a gyökérkönyvtár (%s)" #~ msgid "cannot remove relative-named %s" #~ msgstr "nem törölhető a relatív elnevezésű %s" #~ msgid "cannot restore current working directory" #~ msgstr "az aktuális munkakönyvtár helyreállítása sikertelen" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Próbálja kiadni a(z) „%s ./%s” parancsot a(z) %s eltávolításához.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... FÁJL...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "A FÁJLOK eltávolítása (unlink).\n" #~ "\n" #~ " -f, --force nem létező fájlok figyelmen kívül hagyása, nem " #~ "kérdez\n" #~ " -i kérdés minden eltávolítás előtt\n" # rc/rm.c:166 #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I egyszer kérdez háromnál több fájl " #~ "eltávolításakor\n" #~ " vagy rekurzív törlés esetén. Nem olyan zavaró, " #~ "mint a\n" #~ " -i, de a legtöbb hiba ellen véd\n" #~ " --interactive[=MIKOR] a MIKOR-nak megfelelően kérdez: never " #~ "(soha), once\n" #~ " (egyszer, mint a -I), vagy always (mindig, " #~ "mint\n" #~ " a -i). A MIKOR megadása nélkül mindig " #~ "kérdez\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system könyvtárszerkezet rekurzív törlésekor minden " #~ "olyan\n" #~ " könyvtár kihagyása, amely a megfelelő " #~ "parancssori\n" #~ " kapcsoló ban megadottól eltérő fájlrendszeren " #~ "van\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root ne kezelje a „/” könyvtárat különlegesen\n" #~ " (alapértelmezett)\n" #~ " --preserve-root a rekurzív működés visszautasítása a „/” " #~ "könyvtáron\n" #~ " -r, -R, --recursive könyvtárak és tartalmuk rekurzív törlése\n" #~ " -v, --verbose elmagyarázza, mi történik\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Alapértelmezésben az rm nem töröl könyvtárakat. A --recursive (-r vagy -" #~ "R)\n" #~ "használatával minden egyes felsorolt könyvtár és azok tartalma is " #~ "törölhető.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Ha „-” jellel kezdődik a törlendő fájl, például „-foo”, akkor\n" #~ "használja a következő parancsok egyikét:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Megjegyzés: az rm paranccsal törölt fájl tartalma általában " #~ "visszaállítható.\n" #~ "Végleges törléshez fontolja meg a shred parancs használatát.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: rekurzívan eltávolítja az összes argumentumot? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: eltávolítja az összes argumentumot? " #~ msgid "removing directory, %s" #~ msgstr "%s könyvtár törlése" #~ msgid "failed to remove directory %s" #~ msgstr "a(z) %s könyvtár eltávolítása meghiúsult" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... KÖNYVTÁR...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Törli a KÖNYVTÁRAKAT, ha ezek üresek.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " törli a könyvtárat abban az esetben, ha a törlésnek " #~ "egyetlen\n" #~ " akadálya az, hogy a könyvtár nem üres\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents törli a KÖNYVTÁRAT, majd megpróbálja törölni a\n" #~ " szülőkönyvtárait. Például, az „rmdir -p a/b/c” ugyanaz, " #~ "mint\n" #~ " az „rmdir a/b/c a/b a”.\n" #~ " -v, --verbose minden feldolgozott könyvtár után diagnosztikai " #~ "üzenetet ír ki\n" #~ msgid "failed to remove %s" #~ msgstr "%s eltávolítása meghiúsult" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Használat: %s KONTEXTUS PARANCS [argumentumok]\n" #~ " vagy: %s [ -c ] [-u FELHASZNÁLÓ] [-r SZEREP] [-t TÍPUS] [-l " #~ "TARTOMÁNY]\n" #~ " PARANCS [argumentumok]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Egy program futtatása másik biztonsági kontextusban.\n" #~ "Ha sem a KONTEXTUS, sem a PARANCS nincs megadva, akkor kiírja a " #~ "jelenlegi\n" #~ "biztonsági kontextust.\n" #~ "\n" #~ " KONTEXTUS Teljes biztonsági kontextus\n" #~ " -c, --compute folyamatátmeneti kontextus kiszámítása a módosítás " #~ "előtt\n" #~ " -t, --type=TÍPUS típus (a szülővel egyező szerephez)\n" #~ " -u, --user=FELHASZNÁLÓ felhasználói személyazonosság\n" #~ " -r, --role=SZEREP szerep\n" #~ " -l, --range=TARTOMÁNY szinttartomány\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "több szerep" #~ msgid "multiple types" #~ msgstr "több típus" #~ msgid "multiple users" #~ msgstr "több felhasználó" #~ msgid "multiple levelranges" #~ msgstr "több szinttartomány" #~ msgid "failed to get current context" #~ msgstr "a jelenlegi kontextus lekérése meghiúsult" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "meg kell adnia a -c, -t, -u, -l, -r egyikét vagy a kontextust" #~ msgid "no command specified" #~ msgstr "nincs megadva parancs" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "a runcon csak SELinux rendszermagon használható" #~ msgid "failed to compute a new context" #~ msgstr "az új kontextus kiszámítása meghiúsult" #~ msgid "failed to set new user %s" #~ msgstr "%s új felhasználó beállítása meghiúsult" #~ msgid "failed to set new type %s" #~ msgstr "%s új típus beállítása meghiúsult" #~ msgid "failed to set new range %s" #~ msgstr "%s új tartomány beállítása meghiúsult" #~ msgid "failed to set new role %s" #~ msgstr "%s új szerep beállítása meghiúsult" #~ msgid "unable to set security context %s" #~ msgstr "%s biztonsági kontextus nem állítható be" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... UTOLSÓ\n" #~ " vagy: %s [KAPCSOLÓ]... ELSŐ UTOLSÓ\n" #~ " vagy: %s [KAPCSOLÓ]... ELSŐ NÖVEKMÉNY UTOLSÓ\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Számok kiírása az ELSŐTŐL az UTOLSÓIG, NÖVEKMÉNY lépésenként.\n" #~ "\n" #~ " -f, --format=FORMÁTUM printf stílusú lebegőpontos FORMÁTUM " #~ "használata\n" #~ " -s, --separator=KARAKTERLÁNC a KARAKTERLÁNC használata a számok\n" #~ " elválasztására (alapértelmezett: \\n)\n" #~ " -w, --equal-width szélesség kiegyenlítése bevezető nullákkal " #~ "való\n" #~ " kitöltéssel.\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Ha az ELSŐ vagy a NÖVEKMÉNY nincs megadva, akkor az alapértelmezés 1.\n" #~ "Ez azt jelenti, hogy a kihagyott NÖVEKMÉNY akkor is 1 lesz " #~ "alapértelmezésben,\n" #~ "ha az UTOLSÓ kisebb, mint az ELSŐ. Az ELSŐ, NÖVEKMÉNY és UTOLSÓ " #~ "lebegőpontos\n" #~ "értékekként kerülnek értelmezésre. A NÖVEKMÉNY általában pozitív, ha az " #~ "ELSŐ\n" #~ "kisebb, mint az UTOLSÓ, és általában negatív, ha az ELSŐ nagyobb, mint " #~ "az \n" #~ "UTOLSÓ.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "A FORMÁTUM argumentumnak alkalmasnak kell lennie egy duplapontos típusú\n" #~ "argumentum nyomtatására; az alapértelmezés a %.PONTOSSÁGf, ha az ELSŐ,\n" #~ "NÖVEKMÉNY és UTOLSÓ fixpontos decimális számok pontossága legfeljebb " #~ "PONTOSSÁG,\n" #~ "ellenkező esetben %g\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "érvénytelen lebegőpontos argumentum: %s" #~ msgid "no %% directive in format string %s" #~ msgstr "nincs %% direktíva a formátum-karakterláncban (%s)" #~ msgid "too many %% directives in format string %s" #~ msgstr "túl sok %% direktíva a formátum-karakterláncban (%s)" #~ msgid "invalid format string: %s" #~ msgstr "érvénytelen formátum-karakterlánc: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "a formátum-karakterlánc nem használható egyenlő szélességű\n" #~ "karakterláncok kiírásakor" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s KAPCSOLÓ FELHASZNÁLÓ PARANCS [ARGUMENTUM]...\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Minden kiegészítő csoport eldobása, a megadott FELHASZNÁLÓNÉV " #~ "felhasználó- és\n" #~ "csoportazonosítójának felvétele és a PARANCS futtatása a megadott\n" #~ "ARGUMENTUMOKKAL. 111-es állapottal lép ki, ha a szükséges UID és GID nem\n" #~ "vehető fel. Egyébként a PARANCS kilépési állapotával tér vissza.\n" #~ "Ez a program csak akkor hasznos, ha a root (0 felhasználói azonosító) " #~ "futtatja.\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] az elsődleges csoportazonosító beállítása a numerikus " #~ "GID-re\n" #~ " és (ha meg van adva) akkor a kiegészítő " #~ "csoportazonosítók\n" #~ " beállítása a GID1, ... értékeire\n" #~ msgid "unknown user-ID: %s" #~ msgstr "ismeretlen felhasználói azonosító: %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "" #~ "a(z) %s felhasználói azonosító használatához a -g kapcsolót is használnia " #~ "kell" #~ msgid "failed to set supplemental group(s)" #~ msgstr "a kiegészítő csoportok beállítása meghiúsult" #~ msgid "cannot set group-ID to %lu" #~ msgstr "a csoportazonosító nem állítható be a következőre: %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "a felhasználói azonosító nem állítható be a következőre: %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Használat: %s [KAPCSOLÓK] FÁJL [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "A megadott FÁJLT többször egymás után felülírja, így még nagyon " #~ "költséges\n" #~ "hardver megoldásokkal sem lehet könnyen visszaállítani az adatokat.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force jogosultságok megváltoztatása, ha akadályozzák az írást\n" #~ " -n, --iterations=N N-szer írja felül az alapértelmezett %d helyett\n" #~ " --random-source=FÁJL véletlenszerű bájtok olvasása a FÁJLBÓL \n" #~ " (alapértelmezett: /dev/urandom)\n" #~ " -s, --size=N ennyi bájt megsemmisítése (a k, M, G utótagok " #~ "megengedettek)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove fájl csonkítása és törlése felülírás után\n" #~ " -v, --verbose folyamat előrehaladásának mutatása\n" #~ " -x, --exact nem kerekíti fel a fájlméretet a következő teljes " #~ "blokkra\n" #~ " ez az alapértelmezés nem szabályos fájlok esetén\n" #~ " -z, --zero a végén nullákkal írja felül a fájlt, így álcázva a\n" #~ " megsemmisítést\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ha a FÁJL a -, akkor a szabványos kimenetet semmisíti meg\n" #~ "\n" #~ "Csak akkor törli a FÁJLOKAT, ha megadod a --remove (-u) kapcsolót.\n" #~ "Alapértelmezésben nem törli a fájlokat, mert gyakran használatos\n" #~ "eszközfájlokon (például /dev/hda), és ezeket a fájlokat általában nem " #~ "kell\n" #~ "törölni. Általános fájlokon általában használni szokták a --remove " #~ "kapcsolót.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "VIGYÁZAT: A shred működése egy fontos feltételezésen alapul:\n" #~ "azon, hogy a fájlrendszer azonnal felülírja az adatokat. Ez a " #~ "hagyományos\n" #~ "eljárás, de sok korszerű fájlrendszer eltér ettől. A következő \n" #~ "fájlrendszereken nem, vagy nem minden fájlrendszermód esetén garantált a " #~ "shred\n" #~ "hatásossága:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* naplózó fájlrendszerek, ilyen az AIX és a Solaris fájlrendszere " #~ "(valamint\n" #~ " a JFS, a ReiserFS, az XFS, az Ext3 stb.)\n" #~ "\n" #~ "* azon fájlrendszerek, amelyek redundánsan írják az adatokat és akkor is\n" #~ " továbbhaladnak az írással, ha valamelyik írás sikertelen, ilyenek a\n" #~ " RAID alapú fájlrendszerek.\n" #~ "\n" #~ "* pillanatfelvételeket alkalmazó fájlrendszerek, ilyen a Network " #~ "Appliance\n" #~ " NFS kiszolgálója\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* azon fájlrendszerek, amelyek gyorsítótárai átmeneti helyen találhatók,\n" #~ " ilyen az NFS kliens 3-as verziója\n" #~ "\n" #~ "* tömörített fájlrendszerek\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "Az ext3 fájlrendszerek esetén csak data=journal módban érvényes a fenti\n" #~ "figyelmeztetés (és így a shred csak korlátozott hatékonyságú), amely a\n" #~ "fájladatokat is naplózza a metaadatokon kívül. Mind a data=ordered\n" #~ "(alapértelmezett) és data=writeback módokban a shred a szokásos módon " #~ "működik.\n" #~ "Az Ext3 naplózási módjai megváltoztathatók a data=valami kapcsoló " #~ "felvételével\n" #~ "egy adott fájlrendszer csatlakoztatási kapcsolói közé az /etc/fstab " #~ "fájlban,\n" #~ "ahogyan az a mount kézikönyvoldalában dokumentálva van (man mount).\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Ezen kívül a törölni kívánt fájlnak lehetnek példányai " #~ "fájlrendszermentésben vagy\n" #~ "egy távoli tükörkiszolgálón. Ezek alapján vissza lehet állítani a " #~ "megsemmisített\n" #~ "fájlt.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: az fdatasync meghiúsult" #~ msgid "%s: fsync failed" #~ msgstr "%s: az fsync meghiúsult" #~ msgid "%s: cannot rewind" #~ msgstr "%s: nem lehet visszacsévélni" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: %lu/%lu menet (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: írási hiba a következő eltolásnál: %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: az lseek meghiúsult" #~ msgid "%s: file too large" #~ msgstr "%s: a fájl túl nagy" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: %lu/%lu menet (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: %lu/%lu menet (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: az elérés meghiúsult" #~ msgid "%s: invalid file type" #~ msgstr "%s: érvénytelen fájltípus" #~ msgid "%s: file has negative size" #~ msgstr "%s: a fájl métere negatív" #~ msgid "%s: error truncating" #~ msgstr "%s: hiba a csonkításnál" #~ msgid "%s: fcntl failed" #~ msgstr "%s: az fcntl meghiúsult" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "" #~ "%s: nem lehet a megsemmisíteni a csak hozzáfűzésre megnyitott fájlleírót" #~ msgid "%s: removing" #~ msgstr "%s: törlés alatt" #~ msgid "%s: renamed to %s" #~ msgstr "%s: átnevezve a következőre: %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: az eltávolítás meghiúsult" #~ msgid "%s: removed" #~ msgstr "%s: törölve" #~ msgid "%s: failed to close" #~ msgstr "%s: a bezárás meghiúsult" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: az írásra megnyitás meghiúsult" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: érvénytelen menetszám" #~ msgid "multiple random sources specified" #~ msgstr "több véletlen forrás van megadva" #~ msgid "%s: invalid file size" #~ msgstr "%s: érvénytelen fájlméret" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ]... [FÁJL]\n" #~ " vagy: %s -e [KAPCSOLÓ]... [ARG]...\n" #~ " vagy: %s -i LO-HI [KAPCSOLÓ]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "A bemeneti sorok véletlen permutációjának kiírása a szabványos " #~ "kimenetre.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo minden egyes ARG bemeneti sorként való " #~ "kezelése\n" #~ " -i, --input-range=LO-HI a LO és HI közötti számok kezelése bemeneti " #~ "sorként\n" #~ " -n, --head-lines=SOR legfeljebb SOR darab sor kiírása\n" #~ " -o, --output=FÁJL az eredmény kiírása a FÁJLBA a szabványos " #~ "kimenet\n" #~ " helyett\n" #~ " --random-source=FÁJL véletlen bájtok olvasása a FÁJLBÓL\n" #~ " (alapértelmezett: /dev/urandom)\n" #~ " -z, --zero-terminated a sorok lezárása a 0 bájttal az új sor " #~ "helyett\n" #~ msgid "multiple -i options specified" #~ msgstr "több -i kapcsolót adott meg" #~ msgid "invalid input range %s" #~ msgstr "érvénytelen bemeneti tartomány: %s" #~ msgid "invalid line count %s" #~ msgstr "érvénytelen sorszám: %s" #~ msgid "multiple output files specified" #~ msgstr "több kimeneti fájl van megadva" #~ msgid "extra operand %s\n" #~ msgstr "extra operandus: %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Használat: %s SZÁM[UTÓTAG]...\n" #~ " vagy: %s KAPCSOLÓ\n" #~ "Szünet SZÁM másodpercre. Az UTÓTAG lehet „s” a másodpercekhez,\n" #~ "(alapértelmezett) „m” percekhez, „h” órákhoz vagy „d” napokhoz. A " #~ "legtöbb\n" #~ "megvalósítással ellentétben, amelyek megkövetelik a SZÁM egész voltát, " #~ "itt a\n" #~ "SZÁM egy tetszőleges lebegőpontos szám lehet. Két vagy több argumentum " #~ "megadása esetén a szünet az értékeik összege által megadott időtartamig " #~ "tart\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "érvénytelen időtartam: %s" #~ msgid "cannot read realtime clock" #~ msgstr "a valósidejű óra nem olvasható" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Az összes FÁJL rendezett konkatenációjának kiírása a szabványos " #~ "kimenetre.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Rendezési lehetőségek:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks kezdő üreshelyek figyelmen kívül hagyása\n" #~ " -d, --dictionary-order csak üres és alfanumerikus karakterek " #~ "figyelembe\n" #~ " vétele\n" #~ " -f, --ignore-case kisbetűk nagybetűkké alakítása\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort összehasonlítás az általános numerikus " #~ "érték\n" #~ " szerint\n" #~ " -i, --ignore-nonprinting csak nyomtatható karakterek figyelembe " #~ "vétele\n" #~ " -M, --month-sort összehasonlítás: (ismeretlen) < „JAN” < ... " #~ "<\n" #~ " „DEC”\n" #~ " -n, --numeric-sort összehasonlítás a karakterlánc numerikus " #~ "értéke\n" #~ " szerint\n" #~ " -R, --random-sort rendezés a kulcsok véletlen hashe alapján\n" #~ " --random-source=FÁJL véletlenszerű bájtok olvasása a FÁJLBÓL\n" #~ " (alapértelmezett: /dev/urandom)\n" #~ " --sort=SZÓ rendezés a SZÓ szerint:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse az összehasonlítások eredményének " #~ "megfordítása\n" #~ "\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Egyéb kapcsolók:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first\n" #~ " a bemenet rendezettségének ellenőrzése; ne " #~ "rendezzen\n" #~ " -C, --check=quiet, --check=silent mint a -c, de ne jelentse az első " #~ "hibás sort\n" #~ " --compress-program=PROG ideiglenes fájlok tömörítése a PROG,\n" #~ " kibontása a PROG -d segítségével\n" #~ " -k, --key=POZ1[,POZ2] egy kulcs kezdése POZ1-nél, befejezése POZ2-" #~ "nél\n" #~ " (kezdet: 1)\n" #~ " -m, --merge a már rendezett fájlok összefésülése; ne " #~ "rendezzen\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=FÁJL az eredmény írása a FÁJLBA a szabványos " #~ "kimenet\n" #~ " helyett\n" #~ " -s, --stable a rendezés stabilizálása az utolsó " #~ "újrarendezési\n" #~ " összehasonlítás letiltásával\n" #~ " -S, --buffer-size=MÉRET a MÉRET használata a fő memóriapufferhez\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=ELV az ELV használata a nem üresről üresre " #~ "áttérés\n" #~ " helyett\n" #~ " -T, --temporary-directory=KÖNYVTÁR \n" #~ " a KÖNYVTÁR használata az átmeneti fájlokhoz " #~ "a\n" #~ " $TMPDIR vagy a(z) %s helyett;\n" #~ " több kapcsolóval több könyvtár adható meg\n" #~ " -u, --unique a -c esetén szigorú rendezés ellenőrzése, a\n" #~ " -c nélkül csak az elsőt írja ki egy " #~ "egyenlő\n" #~ " menetből\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated a sorok lezárása a 0 bájttal új sor helyett\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "A POZ az F[.C][KAPCS] alakú, ahol az F a mező száma és a C a " #~ "karakterpozíció\n" #~ "a mezőben. Ha sem a -t, sem a -b kapcsoló nincs megadva, akkor a mező\n" #~ "karakterei a megelőző üreshely karaktertől lesznek számolva. A KAPCS " #~ "néhány\n" #~ "egybetűs rendezési kapcsoló lehet, amelyek felülbírálják az adott " #~ "kulcsra\n" #~ "vonatkozó globális rendezési kapcsolókat. Ha nincs kulcs megadva, akkor " #~ "a\n" #~ "teljes sort használja kulcsként.\n" #~ "\n" #~ "A MÉRETET a következő többszöröző utótagok követhetik:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% a memóriából, b 1, K 1024 (alapértelmezett), és ugyanígy M, G, T, P, " #~ "E, Z, Y\n" #~ "\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ "\n" #~ "*** FIGYELMEZTETÉS ***\n" #~ "A környezet által megadott területi beállítások befolyásolják a " #~ "rendezési\n" #~ "sorrendet. Az LC_ALL=C beállításával megkapható a hagyományos rendezési\n" #~ "sorrend, amely a natív bájtértékeket használja.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "várakozás a következőre: %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "A(z) %s [-d] váratlanul befejeződött" #~ msgid "cannot create temporary file" #~ msgstr "nem hozható létre ideiglenes fájl" #~ msgid "open failed" #~ msgstr "a megnyitás meghiúsult" #~ msgid "fflush failed" #~ msgstr "az fflush meghiúsult" #~ msgid "close failed" #~ msgstr "a lezárás meghiúsult" #~ msgid "dup2 failed" #~ msgstr "a dup2 meghiúsult" #~ msgid "couldn't execute %s" #~ msgstr "nem hajtható végre: %s" #~ msgid "couldn't create temporary file" #~ msgstr "nem hozható létre ideiglenes fájl" #~ msgid "couldn't open temporary file" #~ msgstr "nem nyitható meg ideiglenes fájl" #~ msgid "couldn't execute %s -d" #~ msgstr "nem hajtható végre: %s -d" #~ msgid "write failed" #~ msgstr "az írás meghiúsult" #~ msgid "warning: cannot remove: %s" #~ msgstr "figyelmeztetés: a(z) %s nem távolítható el" #~ msgid "stat failed" #~ msgstr "az elérés meghiúsult" #~ msgid "read failed" #~ msgstr "az olvasás meghiúsult" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: rendezetlenség: " #~ msgid "standard error" #~ msgstr "szabványos hibakimenet" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: érvénytelen mezőspecifikáció: %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "a következő kapcsolók inkompatibilisak: „-%s”" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: érvénytelen szám a(z) %s kezdetén" #~ msgid "invalid number after `-'" #~ msgstr "érvénytelen szám a „-” után" #~ msgid "invalid number after `.'" #~ msgstr "érvénytelen szám a „.” után" #~ msgid "stray character in field spec" #~ msgstr "véletlen karakter a mezőspecifikációban" #~ msgid "multiple compress programs specified" #~ msgstr "több tömörítőprogram van megadva" #~ msgid "invalid number at field start" #~ msgstr "érvénytelen szám a mező kezdeténél" #~ msgid "field number is zero" #~ msgstr "a mezőszám nulla" #~ msgid "character offset is zero" #~ msgstr "karaktereltolás nulla" #~ msgid "invalid number after `,'" #~ msgstr "érvénytelen szám a „,” után" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "a(z) %s extra operandus nem engedélyezett a -%c kapcsolóval" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Használat: %s [KAPCSOLÓ] [BEMENET [ELŐTAG]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "A BEMENET rögzített méretű darabjainak kiírása az ELŐTAGaa, " #~ "ELŐTAGab, ...;\n" #~ "fájlokba, az alapértelmezett méret az 1000, és az alapértelmezett ELŐTAG " #~ "az\n" #~ "„x”. Ha a BEMENET nincs megadva, vagy -, akkor a szabványos bemenetet " #~ "olvassa.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N N hosszúságú utótagok használata " #~ "(alapértelmezett: %d)\n" #~ " -b, --bytes=MÉRET MÉRET darab bájt kimeneti fájlonként\n" #~ " -C, --line-bytes=MÉRET legfeljebb MÉRET darab bájt hosszú sorok " #~ "kimeneti\n" #~ " fájlonként\n" #~ " -d, --numeric-suffixes numerikus utótagok használata alfabetikusok " #~ "helyett\n" #~ " -l, --lines=SZÁM SZÁM darab sor kimeneti fájlonként\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose diagnosztikai üzenet kiírása minden egyes " #~ "kimeneti\n" #~ " fájl megnyitása előtt\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "A MÉRET a következő szorzó-utótagokkal rendelkezhet:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "%s fájl létrehozása\n" #~ msgid "cannot split in more than one way" #~ msgstr "egynél több módon nem lehet darabolni" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: érvénytelen utótaghossz" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: érvénytelen bájtszám" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: érvénytelen sorszám" #~ msgid "line count option -%s%c... is too large" #~ msgstr "a -%s%c... sorszámolási kapcsoló túl nagy" #~ msgid "invalid number of lines: 0" #~ msgstr "érvénytelen sorszám: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "figyelmeztetés: fel nem ismert védés `\\%c'" #~ msgid "%s: invalid directive" #~ msgstr "%s: érvénytelen direktíva" #~ msgid "warning: backslash at end of format" #~ msgstr "figyelmeztetés: fordított osztásjel a formátum végén" #~ msgid "cannot read file system information for %s" #~ msgstr "nem lehet fájlrendszer-információkat beolvasni a következőhöz: %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Használat: %s [KAPCSOLÓ] FÁJL...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Kijelzi a fájl vagy fájlrendszer állapotát.\n" #~ "\n" #~ " -L, --dereference kövesse a linkeket\n" #~ " -f, --file-system a fájlrendszer állapotát jelzi ki a fájl állapota " #~ "helyett\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=FORMÁTUM a megadott FORMÁTUMOT használja az " #~ "alapértelmezett helyett;\n" #~ " minden FORMÁTUM után új sor\n" #~ " --printf=FORMÁTUM mint a --format, de értelmezi a fordított " #~ "osztásjeles,\n" #~ " védelmet és nem tesz kötelezően befejező új " #~ "sort.\n" #~ " Új sorhoz a FORMÁTUMBAN használja a \\n " #~ "jelölést.\n" #~ " -t, --terse rövid információ kiírása\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Az érvényes formátumsorozatok fájlokhoz: (a --file-system nélkül):\n" #~ "\n" #~ " %a Hozzáférési jogok oktálisan\n" #~ " %A Hozzáférési jogok ember által olvasható formában\n" #~ " %b A lefoglalt blokkok száma (lásd %B)\n" #~ " %B A „%b” által jelentett egyes blokkok mérete bájtokban\n" #~ " %C SELinux biztonsági kontextus karakterlánc\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Eszközszám decimálisan\n" #~ " %D Eszközszám hexadecimálisan\n" #~ " %f Nyers mód hexadecimálisan\n" #~ " %F Fájltípus\n" #~ " %g A tulajdonos csoportazonosítója\n" #~ " %G A tulajdonos csoportneve\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h hard linkek száma\n" #~ " %i Inode szám\n" #~ " %n Fájlnév\n" #~ " %N Idézőjelek közé tett fájlnév, követéssel, ha szimbolikus link\n" #~ " %o IO blokkméret\n" #~ " %s Teljes méret, bájtokban\n" #~ " %t Major eszköztípus hexadecimálisan\n" #~ " %T Minor eszköztípus hexadecimálisan\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u A tulajdonos felhasználói azonosítója\n" #~ " %U A tulajdonos felhasználóneve\n" #~ " %x Utolsó hozzáférés ideje\n" #~ " %X Utolsó hozzáférés ideje az Epoch óta eltelt másodpercekként\n" #~ " %y Utolsó módosítás ideje\n" #~ " %Y Utolsó módosítás ideje az Epoch óta eltelt másodpercekként\n" #~ " %z Utolsó változtatás ideje\n" #~ " %Z Utolsó változtatás ideje az Epoch óta eltelt másodpercekként\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Az érvényes formátumsorozatok fájlrendszerekhez:\n" #~ "\n" #~ " %a A nem rendszergazda számára elérhető szabad blokkok\n" #~ " %b Adatblokkok összesen a fájlrendszeren\n" #~ " %c Fájlcsomópontok összesen a fájlrendszeren\n" #~ " %d Szabad fájlcsomópontok a fájlrendszeren\n" #~ " %f Szabad blokkok a fájlrendszeren\n" #~ " %C SELinux biztonsági kontextus karakterlánc\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Fájlrendszer-azonosító hexadecimálisan\n" #~ " %l Fájlnevek maximális hossza\n" #~ " %n Fájlnév\n" #~ " %s Blokkméret (gyorsabb átvitelekhez)\n" #~ " %S Alapvető blokkméret (blokkszámokhoz)\n" #~ " %t Típus hexadecimálisan\n" #~ " %T Típus ember által olvasható formában\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Használat: %s [-F ESZKÖZ] [--file=ESZKÖZ] [BEÁLLÍTÁS]...\n" #~ " vagy: %s [-F ESZKÖZ] [--file=ESZKÖZ] [-a|--all]\n" #~ " vagy: %s [-F ESZKÖZ] [--file=ESZKÖZ] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "A terminál jellemzőinek kiírása vagy megváltoztatása.\n" #~ "\n" #~ " -a, --all az összes aktuális beállítás kiírása ember által " #~ "olvasható\n" #~ " formában.\n" #~ " -g, --save az összes aktuális beállítás kiírása az stty által\n" #~ " olvasható formában.\n" #~ " -F, --file=ESZKÖZ a megadott ESZKÖZ használata a szabványos bemenet " #~ "helyett\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "A BEÁLLÍTÁSOK előtti elhagyható - tagadást jelöl. A * nem POSIX " #~ "beállításokat\n" #~ "jelöl. Az alapul szolgáló rendszer határozza meg az elérhető " #~ "beállításokat.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Speciális karakterek:\n" #~ " * dsusp KAR a KAR egy terminál leállítása szignált fog küldeni a " #~ "bemenet\n" #~ " kiürítésekor\n" #~ " eof KAR a KAR egy fájl végét fog küldeni (a bemenet " #~ "befejeztetése)\n" #~ " eol KAR a KAR lezárja a sort\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 KAR alternatív KAR a sor lezárására\n" #~ " erase KAR a KAR törli az utoljára beírt karaktert\n" #~ " intr KAR a KAR egy megszakítási szignált fog küldeni\n" #~ " kill KAR a KAR törli az aktuális sort\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext KAR a KAR hatására a következő karakter idézőjelek között " #~ "kerül\n" #~ " bevitelre\n" #~ " quit KAR a KAR egy kilépési szignált fog küldeni\n" #~ " * rprnt KAR a KAR újrarajzolja az aktuális sort\n" #~ " start KAR a KAR újraindítja a kimenetet annak leállítása után\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop KAR a KAR leállítja a kimenetet\n" #~ " susp KAR a KAR egy terminál leállítása szignált küld\n" #~ " * swtch KAR a KAR egy másik parancsértelmező-rétegre fog váltani\n" #~ " * werase KAR a KAR törli az utoljára begépelt szót\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Speciális beállítások:\n" #~ " N beállítja a bemeneti és kimeneti sebességeket N baudra\n" #~ " * cols N közli a kernellel, hogy a terminál N oszloppal " #~ "rendelkezik\n" #~ " * columns N ugyanaz, mint a cols N\n" # fixme line discipline??? #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N beállítja a bemeneti sebességet N-re\n" #~ " * line N az N vonalmódszer használata\n" #~ " min N az -icanon használatakor N karakteres minimumot állít be " #~ "egy\n" #~ " befejezett olvasáshoz\n" #~ " ospeed N beállítja a kimeneti sebességet N-re\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N közli a kernellel, hogy a terminál N sorral rendelkezik\n" #~ " * size kiírja a sorok és oszlopok számát a kernellel " #~ "összhangban\n" #~ " speed kiírja a terminál sebességét\n" #~ " time N az -icanon használatakor beállítja az olvasási " #~ "időtúllépést N\n" #~ " tizedmásodpercre\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Vezérlőbeállítások:\n" #~ " [-]clocal modem vezérlőszignálok letiltása\n" #~ " [-]cread engedélyezi a bemenet fogadását\n" #~ " * [-]crtscts engedélyezi az RTS/CTS kézfogást\n" #~ " csN beállítja a karakterméretet N bitre, N értéke [5..8] " #~ "lehet\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb két stop bit használata karakterenként (egy, ha „-”)\n" #~ " [-]hup egy hangup szignál küldése amikor az utolsó folyamat " #~ "lezárja\n" #~ " a tty-t\n" #~ " [-]hupcl ugyanaz, mint a [-]hup\n" #~ " [-]parenb paritásbit előállítása a kimenetben és paritásbit\n" #~ " feltételezése a bemenetben\n" #~ " [-]parodd páratlan paritás beállítása (páros, ha „-”)\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Bemeneti beállítások:\n" #~ " [-]brkint a sortörés megszakítás szignált okoz\n" #~ " [-]icrnl a kocsivissza új sorrá fordítása\n" #~ " [-]ignbrk sortörés karakterek figyelmen kívül hagyása\n" #~ " [-]igncr kocsivissza figyelmen kívül hagyása\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar paritáshibás karakterek figyelmen kívül hagyása\n" #~ " * [-]imaxbel hangjelzés és ne ürítse a teli bemeneti puffert " #~ "karakter\n" #~ " érkezésekor\n" #~ " [-]inlcr új sor fordítása kocsivissza karakterré\n" #~ " [-]inpck bemeneti paritásellenőrzés engedélyezése\n" #~ " [-]istrip bemeneti karakterek magas (8.) bitjének törlése\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "" #~ " * [-]iutf8 a bemeneti karakterek UTF-8 kódolásának feltételezése\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc nagybetűs karakterek kisbetűssé alakítása\n" #~ " * [-]ixany bármely karakter újrakezdheti a kimenetet, nem csak a " #~ "start\n" #~ " [-]ixoff start/stop karakterek küldésének engedélyezése\n" #~ " [-]ixon XON/XOFF folyamvezérlés engedélyezése\n" #~ " [-]parmrk paritáshibák jelölése (egy 255-0 karaktersorozattal)\n" #~ " [-]tandem ugyanaz, mint a [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Kimeneti beállítások:\n" #~ " * bsN a backspace késleltetési stílusa, N lehet [0..1]\n" #~ " * crN a kocsivissza késleltetési stílusa, N lehet [0..3]\n" #~ " * ffN lapdobás késleltetési stílusa, N lehet [0..1]\n" #~ " * nlN új sor késleltetési stílusa, N lehet [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl a kocsivissza új sorrá fordítása\n" #~ " * [-]ofdel delete karakterek használata kitöltéshez null " #~ "karakterek\n" #~ " helyett\n" #~ " * [-]ofill kitöltő karakterek használata időzítés helyett a\n" #~ " késleltetésekhez\n" #~ " * [-]olcuc kisbetűs karakterek nagybetűssé alakítása\n" #~ " * [-]onlcr új sor karakterek kocsivissza - új sorrá alakítása\n" #~ " * [-]onlret az új sor kocsivisszát hajt végre\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr ne írjon ki kocsivissza karaktereket az első oszlopba\n" #~ " [-]opost kimenet utófeldolgozása\n" #~ " * tabN vízszintes tab késleltetési stílus, N lehet [0..3]\n" #~ " * tabs ugyanaz, mint a tab0\n" #~ " * -tabs ugyanaz, mint a tab3\n" #~ " * vtN függőleges tab késleltetési stílus, N lehet [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Helyi beállítások:\n" #~ " [-]crterase az erase karakterek visszaadása mint backspace-szóköz-" #~ "backspace\n" #~ " * crtkill az összes vonal kilövése az echoprt és echoe " #~ "beállítások\n" #~ " alkalmazásával\n" #~ " * -crtkill az összes vonal kilövése az echoctl és echok " #~ "beállítások\n" #~ " alkalmazásával\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho vezérlőkarakterek visszaadása kalapos jelöléssel („^c”)\n" #~ " [-]echo bemeneti karakterek visszaadása\n" #~ " * [-]echoctl ugyanaz, mint a [-]ctlecho\n" #~ " [-]echoe ugyanaz, mint a [-]crterase\n" #~ " [-]echok új sor visszaadása egy kill karakter után\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke ugyanaz, mint a [-]crtkill\n" #~ " [-]echonl új sor visszaadása akkor is, ha más karaktereket nem ad " #~ "vissza\n" #~ " * [-]echoprt törölt karakterek visszaadása visszafelé, „\\” és „/” " #~ "között\n" #~ " [-]icanon az erase, kill, werase és rprnt különleges karakterek\n" #~ " bekapcsolása\n" #~ " [-]iexten a nem POSIX különleges karakterek bekapcsolása\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig a interrupt, quit és suspend különleges karakterek\n" #~ " bekapcsolása\n" #~ " [-]noflsh az ürítés kikapcsolása az interrupt és quit különleges\n" #~ " karakterek után\n" #~ " * [-]prterase ugyanaz, mint a [-]echoprt\n" #~ " * [-]tostop azon háttérfolyamatok leállítása, amelyek a terminálra\n" #~ " próbálnak írni\n" #~ " * [-]xcase az icanon használatakor escape-elés a „\\” " #~ "karakterekkel\n" #~ " nagybetűs karakterekhez\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Kombinációs beállítások:\n" #~ " * [-]LCASE ugyanaz, mint a [-]lcase\n" #~ " cbreak ugyanaz, mint a -icanon\n" #~ " -cbreak ugyanaz, mint az icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked ugyanaz, mint a brkint ignpar istrip icrnl ixon opost " #~ "isig\n" #~ " icanon, eof és eol karakterek beállítása az " #~ "alapértelmezett\n" #~ " értékeikre\n" #~ " -cooked ugyanaz, mint a raw\n" #~ " crt ugyanaz, mint az echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec ugyanaz, mint az echoe echoctl echoke -ixany intr ^c " #~ "erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq ugyanaz, mint a [-]ixany\n" #~ " ek erase és kill karakterek beállítása az alapértelmezett\n" #~ " értékeikre\n" #~ " evenp ugyanaz, mint a parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp ugyanaz, mint a -parenb cs8\n" #~ " * [-]lcase ugyanaz, mint az xcase iuclc olcuc\n" #~ " litout ugyanaz, mint a -parenb -istrip -opost cs8\n" #~ " -litout ugyanaz, mint a parenb istrip opost cs7\n" #~ " nl ugyanaz, mint az -icrnl -onlcr\n" #~ " -nl ugyanaz, mint az icrnl -inlcr -igncr onlcr -ocrnl -" #~ "onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp ugyanaz, mint a parenb parodd cs7\n" #~ " -oddp ugyanaz, mint a -parenb cs8\n" #~ " [-]parity ugyanaz, mint a [-]evenp\n" #~ " pass8 ugyanaz, mint a -parenb -istrip cs8\n" #~ " -pass8 ugyanaz, mint a parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw ugyanaz, mint az -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw ugyanaz, mint a cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane ugyanaz, mint a cread -ignbrk brkint -inlcr -igncr " #~ "icrnl\n" #~ " -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl " #~ "onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, az összes " #~ "különleges\n" #~ " karakter beállítása az alapértelmezett értékeikre\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "A szabványos bemenetre kötött tty vonalat kezeli. Argumentumok nélkül " #~ "kiírja\n" #~ "a baud sebességet, vonalmódszert és az eltéréseket az stty sane " #~ "beállítástól. A\n" #~ "beállításokban a KAR literálisan lesz értelmezve, vagy kódolva mint a ^c, " #~ "0x37,\n" #~ "0177 vagy 127; a ^- vagy undef különleges értékek a különleges " #~ "karakterek\n" #~ "letiltására használatosak.\n" #~ msgid "only one device may be specified" #~ msgstr "csak egyetlen eszköz adható meg" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "a bőbeszédű és az stty-által olvasható kimeneti stílusok\n" #~ "két egymást kölcsönösen kizáró kapcsoló" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "egy kimeneti stílus megadásakor nem állíthatók be módok" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: nem állítható vissza a nem blokkoló mód" #~ msgid "invalid argument %s" #~ msgstr "érvénytelen argumentum: %s" #~ msgid "missing argument to %s" #~ msgstr "a(z) %s argumentuma hiányzik" #~ msgid "invalid line discipline %s" #~ msgstr "érvénytelen vonalmódszer: %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: nem hajtható végre az össze kért művelet" #~ msgid "new_mode: mode\n" #~ msgstr "új_mód: mód\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: nincsenek méretinformációk ehhez az eszközhöz" #~ msgid "invalid integer argument %s" #~ msgstr "érvénytelen egész argumentum: %s" #~ msgid "Password:" #~ msgstr "Jelszó:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: a /dev/tty nem nyitható meg" #~ msgid "cannot set groups" #~ msgstr "a csoportok nem állíthatók be" #~ msgid "cannot set group id" #~ msgstr "a csoportazonosító nem állítható be" #~ msgid "cannot set user id" #~ msgstr "a felhasználói azonosító nem állítható be" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [-] [FELHASZNÁLÓ [ARGUMENTUM]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "A hatásos felhasználói azonosító és csoportazonosító megváltoztatása a\n" #~ "FELHASZNÁLÓÉRA.\n" #~ "\n" #~ " -, -l, --login a parancsértelmező legyen bejelentkezési\n" #~ " parancsértelmező\n" #~ " -c, --command=PARANCS egyetlen PARANCS átadása a " #~ "parancsértelmezőnek\n" #~ " -f, --fast a -f átadása a parancsértelmezőnek (csh " #~ "vagy\n" #~ " tcsh esetén)\n" #~ " -m, --preserve-environment ne állítsa vissza a környezeti változókat\n" #~ " -p ugyanaz, mint a -m\n" #~ " -s, --shell=PARANCSÉRTELMEZŐ a PARANCSÉRTELMEZŐ futtatása, ha az /etc/" #~ "shells\n" #~ " engedélyezi\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "egy egyszerű - a -l kapcsolót jelenti. Ha a FELHASZNÁLÓ nincs megadva, " #~ "akkor a\n" #~ "root az alapértelmezés.\n" #~ msgid "user %s does not exist" #~ msgstr "a(z) %s felhasználó nem létezik" #~ msgid "incorrect password" #~ msgstr "helytelen jelszó" #~ msgid "using restricted shell %s" #~ msgstr "a(z) %s korlátozott parancsértelmező használata" #~ msgid "warning: cannot change directory to %s" #~ msgstr "figyelmeztetés: nem lehet a következő könyvtárba lépni: %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Minden egyes FÁJLHOZ ellenőrzőösszeg és blokkszámok kiírása.\n" #~ "\n" #~ " -r a -s felülbírálása, a BSD sum algoritmus és 1K blokkok\n" #~ " használata\n" #~ " -s, --sysv a System V sum algoritmus és 512 bájtos blokkok " #~ "használata\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "A megváltozott blokkokat azonnal kiírja lemezre, frissíti a " #~ "szuperblokkot\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "minden argumentum figyelmen kívül marad" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "MEGJEGYZÉS: a parancsértelmező rendelkezhet a(z) %s egy saját\n" #~ "változatával, amely általában helyettesíti az itt leírt változatot. Az az " #~ "által\n" #~ "támogatott kapcsolókkal kapcsolatos részletekért forduljon a " #~ "parancsértelmező\n" #~ "dokumentációjához.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help ezen súgó megjelenítése és kilépés\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version verzióinformációk megjelenítése és kilépés\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "A programhibákat a(z) <%s> címen jelentheted.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Minden egyes FÁJL kiírása a szabványos kimenetre, az utolsó sorral " #~ "kezdve.\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before az elválasztó elé és nem utána kerül " #~ "csatolásra\n" #~ " -r, --regex az elválasztó értelmezése szabályos " #~ "kifejezésként\n" #~ " -s, --separator=KARAKTERLÁNC a KARAKTERLÁNC használata elválasztóként " #~ "az\n" #~ " új sor helyett\n" #~ msgid "%s: seek failed" #~ msgstr "%s: a keresés meghiúsult" #~ msgid "record too large" #~ msgstr "a rekord túl nagy" #~ msgid "cannot create temporary file %s" #~ msgstr "nem hozható létre a következő ideiglenes fájl: %s" #~ msgid "cannot open %s for writing" #~ msgstr "%s nem nyitható meg olvasásra" #~ msgid "%s: write error" #~ msgstr "%s: íráshiba" #~ msgid "separator cannot be empty" #~ msgstr "az elválasztó nem lehet üres" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Minden egyes FÁJL utolsó %d sorának kiírása a szabványos kimenetre.\n" #~ "Több FÁJL esetén mindegyiket megelőzi egy fejléc, amely megadja a " #~ "fájlnevet.\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet olvassa.\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry próbálja megnyitni a fájlt még akkor is, ha " #~ "nem\n" #~ " érhető el a tail indul vagy később válik\n" #~ " elérhetetlenné; a név szerinti követésnél, " #~ "azaz a\n" #~ " --follow=name kapcsolóval együtt hasznos\n" #~ " -c, --bytes=N az utolsó N bájt kiírása, ennek " #~ "alternatívájaként\n" #~ " a +N segítségével lehetséges a kiíratás az " #~ "egyes\n" #~ " fájlok N. bájtjától kezdve\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " a fájl növekedése során hozzáfűzött adatok " #~ "kiírása;\n" #~ " a -f, --follow és --follow=descriptor " #~ "megegyeznek\n" #~ " -F ugyanaz, mint a --follow=name --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N az utolsó N sor kiírása az utolsó %d helyett\n" #~ " vagy a +N segítségével a sorok az N. " #~ "bájttól\n" #~ " kezdődően írathatók ki\n" #~ " --max-unchanged-stats=N\n" #~ " a --follow=name kapcsolóval újranyit egy " #~ "FÁJLT,\n" #~ " amely mérete nem változott N " #~ "(alapértelmezett: %d)\n" #~ " ismétlés után, annak kiderítése érdekében, " #~ "hogy az\n" #~ " törlésre vagy átnevezésre került-e (ez a " #~ "megszokott\n" #~ " eset forgatott naplófájlok esetén)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID a -f kapcsolóval, befejeződik, ha a PID\n" #~ " folyamatazonosító megszűnik\n" #~ " -q, --quiet, --silent ne írja ki a fájlneveket megadó fejléceket\n" #~ " -s, --sleep-interval=S a -f kapcsolóval, aludjon körülbelül S " #~ "másodpercig\n" #~ " (alapértelmezett: 1.0) az ismétlések között\n" #~ " -v, --verbose mindig írja ki a fájlneveket megadó " #~ "fejléceket\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ha az N (a bájtok vagy sorok száma) első karaktere egy + jel, akkor a " #~ "kiírás\n" #~ "az egyes fájlok N. elemével kezdődik, egyébként az utolsó N elemet írja " #~ "ki.\n" #~ "Az N a következő szorzó-utótagokkal rendelkezhet:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, és ugyanígy T, P, E, Z, Y.\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "A --follow (-f) kapcsolóval a tail alapértelmezésben a fájlleírót követi, " #~ "ez\n" #~ "azt jelenti, hogy a tail a fájlt még annak átnevezése után is követi.\n" #~ " " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Ez az alapértelmezett viselkedés nem fogadható el, ha valójában a " #~ "fájlnevet\n" #~ "és nem a fájlleírót akarja követni (például naplóforgatás esetén). Ebben " #~ "az\n" #~ "esetben használja a --follow=name kapcsolót. Ennek hatására a tail az " #~ "adott\n" #~ "nevű fájlt követi és időközönként megnyitja, így látható, ha törölve " #~ "lett\n" #~ "és egy másik program újra létrehozta.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "%s lezárása (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: nem lehet a(z) %s relatív eltolásra keresni" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: nem lehet a(z) %s befejező relatív eltolásra keresni" #~ msgid "%s has become inaccessible" #~ msgstr "%s elérhetetlenné vált" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s le lett cserélve egy követhetetlen fájlra;\n" #~ "a program ezen a néven befejezi a próbálkozást" #~ msgid "%s has become accessible" #~ msgstr "%s elérhetővé vált" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s megjelent; a program az új fájl végét követi" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s helyettesítésre került; a program az új fájl végét követi" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: nem módosítható a nem blokkoló mód" #~ msgid "%s: file truncated" #~ msgstr "%s: a fájl csonkítva" #~ msgid "no files remaining" #~ msgstr "nem maradtak fájlok" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: ezen fájltípus vége nem követhető;\n" #~ "a program ezen a néven befejezi a próbálkozást" #~ msgid "number in %s is too large" #~ msgstr "a szám túl nagy a következőben: %s" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: a változatlan statok maximális száma érvénytelen a megnyitások között" #~ msgid "%s: invalid PID" #~ msgstr "%s: érvénytelen PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: a másodpercek száma érvénytelen" #~ msgid "option used in invalid context -- %c" #~ msgstr "a kapcsoló érvénytelen kontextusban került felhasználásra: -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "figyelmeztetés: a --retry elsősorban név szerinti követés esetén hasznos" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "figyelmeztetés: a PID figyelmen kívül marad; a --pid=PID csak követés\n" #~ "esetén hasznos" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "figyelmeztetés: ez a rendszer nem támogatja a --pid=PID kapcsolót" #~ msgid "cannot follow %s by name" #~ msgstr "%s nem követhető név szerint" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "" #~ "figyelmeztetés: a szabványos bemenet korlátlan követése nem hatékony" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "A szabványos bemenet másolása minden egyes FÁJLBA, valamint a\n" #~ "szabványos kimenetre is.\n" #~ "\n" #~ " -a, --append hozzáfűzés a megadott FÁJLOKHOZ, felülírás " #~ "helyett\n" #~ " -i, --ignore-interrupts megszakítási szignálok figyelmen kívül " #~ "hagyása.\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Ha a FÁJL nincs megadva, vagy -, akkor újra a szabványos bemenetre " #~ "másol.\n" #~ msgid "missing argument after %s" #~ msgstr "a(z) %s utáni argumentum hiányzik" #~ msgid "invalid integer %s" #~ msgstr "érvénytelen egész: %s" #~ msgid "')' expected" #~ msgstr "a program „)” jelet várt" #~ msgid "')' expected, found %s" #~ msgstr "a program „)” jelet várt, de a következőt találta: %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: a program egyoperandusú operátort várt" #~ msgid "-nt does not accept -l" #~ msgstr "a -nt nem fogadja el a -l kapcsolót" #~ msgid "-ef does not accept -l" #~ msgstr "a -ef nem fogadja el a -l kapcsolót" #~ msgid "-ot does not accept -l" #~ msgstr "a -ot nem fogadja el a -l kapcsolót" #~ msgid "unknown binary operator" #~ msgstr "ismeretlen bináris operátor" #~ msgid "%s: binary operator expected" #~ msgstr "%s: a program bináris operátort várt" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Használat: test KIFEJEZÉS\n" #~ " vagy: test\n" #~ " vagy: [ KIFEJEZÉS ]\n" #~ " vagy: [ ]\n" #~ " vagy: [ KAPCSOLÓ\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Kilépés a KIFEJEZÉS által meghatározott állapottal.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Egy kihagyott KIFEJEZÉS alapértelmezett értéke hamis. Egyébként a " #~ "KIFEJEZÉS\n" #~ "igaz vagy hamis és beállítja a kilépési állapotot. A KIFEJEZÉS az " #~ "alábbiak\n" #~ "egyike:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( KIFEJEZÉS ) a KIFEJEZÉS igaz\n" #~ " ! KIFEJEZÉS a KIFEJEZÉS hamis\n" #~ " KIFEJEZÉS1 -a KIFEJEZÉS2 mind a KIFEJEZÉS1, mind a KIFEJEZÉS2 igaz\n" #~ " KIFEJEZÉS1 -o KIFEJEZÉS2 vagy a KIFEJEZÉS1, vagy a KIFEJEZÉS2 igaz\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n KARAKTERLÁNC a KARAKTERLÁNC hossza nem nulla\n" #~ " KARAKTERLÁNC azonos a -n KARAKTERLÁNCCAL\n" #~ " -z KARAKTERLÁNC a KARAKTERLÁNC hossza nulla\n" #~ " KARAKTERLÁNC1 = KARAKTERLÁNC2 a karakterláncok azonosak\n" #~ " KARAKTERLÁNC1 != KARAKTERLÁNC2 a karakterláncok nem azonosak\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " EGÉSZ1 -eq EGÉSZ2 az EGÉSZ1 egyenlő az EGÉSZ2-vel\n" #~ " EGÉSZ1 -ge EGÉSZ2 az EGÉSZ1 nagyobb vagy egyenlő, mint az EGÉSZ2\n" #~ " EGÉSZ1 -gt EGÉSZ2 az EGÉSZ1 nagyobb, mint az EGÉSZ2\n" #~ " EGÉSZ1 -le EGÉSZ2 az EGÉSZ1 kisebb vagy egyenlő, mint az EGÉSZ2\n" #~ " EGÉSZ1 -lt EGÉSZ2 az EGÉSZ1 kisebb, mint az EGÉSZ2\n" #~ " EGÉSZ1 -ne EGÉSZ2 az EGÉSZ1 nem egyenlő az EGÉSZ2-vel \n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " FÁJL1 -ef FÁJL2 a FÁJL1 és a FÁJL2 azonos eszköz- és inode számokkal\n" #~ " rendelkeznek\n" #~ " FÁJL1 -nt FÁJL2 a FÁJL1 újabb (a módosítás dátuma szerint), mint a " #~ "FÁJL2\n" #~ " FÁJL1 -ot FÁJL2 a FÁJL1 régebbi, mint a FÁJL2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b FÁJL a FÁJL létezik és speciális blokkfájl\n" #~ " -c FÁJL a FÁJL létezik és speciális karakterfájl\n" #~ " -d FÁJL a FÁJL létezik és könyvtár\n" #~ " -e FÁJL a FÁJL létezik\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f FÁJL a FÁJL létezik és szabályos fájl\n" #~ " -g FÁJL a FÁJL létezik és a setgid bit be van állítva\n" #~ " -G FÁJL a FÁJL létezik és a hatásos csoportazonosító tulajdona\n" #~ " -h FÁJL a FÁJL létezik és szimbolikus link (ugyanaz, mint a -L)\n" #~ " -k FÁJL a FÁJL létezik és a ragadós bit be van állítva\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L FÁJL a FÁJL létezik és szimbolikus link (ugyanaz, mint a -h)\n" #~ " -O FÁJL a FÁJL létezik és a hatásos felhasználói azonosító " #~ "tulajdona\n" #~ " -p FÁJL a FÁJL létezik és egy névvel rendelkező adatcsatorna\n" #~ " -r FÁJL a FÁJL létezik és olvasható\n" #~ " -s FÁJL a FÁJL létezik és mérete nagyobb, mint nulla\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S FÁJL a FÁJL létezik és az egy foglalat\n" #~ " -t [FD] az FD fájlleíró (alapértelmezésben a szabványos kimenet) " #~ "meg van\n" #~ " nyitva egy terminálon\n" #~ " -u FÁJL a FÁJL létezik és a setuid bitje be van állítva\n" #~ " -w FÁJL a FÁJL létezik és írható\n" #~ " -x FÁJL a FÁJL létezik és végrehajtható (vagy kereshető)\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "A -h és -L kivételével az összes, a FÁJLLAL kapcsolatos teszt követi a\n" #~ "szimbolikus hivatkozásokat. Ne feledje, hogy a zárójeleket escapelni " #~ "kell\n" #~ "(például visszaper jelekkel) a parancsértelmezők számára.\n" #~ "Az EGÉSZ lehet -l KARAKTERLÁNC is, ez a KARAKTERLÁNC hosszát veszi fel " #~ "értékül.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "MEGJEGYZÉS: A [ figyelembe veszi a --help és --version kapcsolókat, de a " #~ "test\n" #~ "nem. A test ezeket bármely más nem üres KARAKTERLÁNCHOZ hasonlóan " #~ "kezeli.\n" #~ msgid "test and/or [" #~ msgstr "test és/vagy [" #~ msgid "missing `]'" #~ msgstr "hiányzó „]”" #~ msgid "extra argument %s" #~ msgstr "extra argumentum: %s" #~ msgid "creating %s" #~ msgstr "%s létrehozása" #~ msgid "cannot touch %s" #~ msgstr "%s elérése sikertelen" #~ msgid "setting times of %s" #~ msgstr "%s idejének beállítása" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Frissíti mindegyik FÁJL elérési és módosítási idejét a jelenlegi időre.\n" #~ "\n" #~ "A nem létező FÁJL üresen kerül létrehozásra.\n" #~ "\n" #~ "A - FÁJL argumentum jelentése speciális és hatására a touch\n" #~ "a szabványos kimenethez társított fájl időit módosítja.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a csak az elérési időt módosítja\n" #~ " -c, --no-create nem hoz létre fájlt\n" #~ " -d, --date=KARAKTERLÁNC a KARAKTERLÁNC feldolgozása és használata a\n" #~ " jelenlegi idő helyett\n" #~ " -f (figyelmen kívül marad)\n" #~ " -m csak a módosítási időt módosítja\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=FÁJL a FÁJL dátumát használja a jelenlegi idő helyett\n" #~ " -t IDŐ a [[CC]ÉÉ]HHNNóópp[.ss] formátumot használja a \n" #~ " jelenlegi idő helyett\n" #~ " --time=SZÓ a megadott időt módosítja. A SZÓ lehet:\n" #~ " access atime use: ugyanaz, mint a -a\n" #~ " modify mtime: ugyanaz, mint a -m\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Megjegyzés: a -d és -t kapcsolókhoz megadandó dátum- és időformátumok\n" #~ "különböznek.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "az idők nem adhatók meg több forrásból" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "figyelmeztetés: a „touch %s” elavult; helyette használja a\n" #~ "„touch -t %04ld%02d%02d%02d%02d.%02d” alakot." #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... HALMAZ1 [HALMAZ2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Karakterek fordítása, összenyomása és/vagy törlése a szabványos " #~ "bemenetről\n" #~ "és kiírás a szabványos kimenetre.\n" #~ "\n" #~ " -c, -C, --complement a HALMAZ1 első komplemense\n" #~ " -d, --delete a HALMAZ1 karaktereinek törlése, nincs " #~ "fordítás\n" #~ " -s, --squeeze-repeats a HALMAZ1-ben felsorolt karakterek ismétlődő\n" #~ " bemeneti sorozatainak helyettesítése a " #~ "karakter\n" #~ " egyetlen előfordulásával\n" #~ " -t, --truncate-set1 a HALMAZ1 csonkítása a HALMAZ2 hosszára\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "A HALMAZOK karakterláncokként vannak meghatározva. A legtöbb saját magát\n" #~ "képviseli. Az értelmezett sorozatok:\n" #~ "\n" #~ " \\NNN az NNN oktális értékű karakter (1-3 számjegy)\n" #~ " \\\\ fordított osztásjel\n" #~ " \\a riadó (BEL)\n" #~ " \\b visszaper\n" #~ " \\f lapdobás\n" #~ " \\n új sor\n" #~ " \\r kocsivissza\n" #~ " \\t vízszintes tab\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v függőleges tab\n" #~ " KAR1-KAR2 az összes karakter KAR1 és KAR2 között növekvő " #~ "sorrendben\n" #~ " [KAR*] a HALMAZ2-ben, a KAR másolatai a HALMAZ1 hosszáig\n" #~ " [KAR*ISMÉTLÉS] a KAR ISMÉTLÉS darab másolata, az ISMÉTLÉS oktális, ha " #~ "0-val\n" #~ " kezdődik\n" #~ " [:alnum:] az összes betű és számjegy\n" #~ " [:alpha:] az összes betű\n" #~ " [:blank:] az összes vízszintes üreshely\n" #~ " [:cntrl:] az összes vezérlőkarakter\n" #~ " [:digit:] az összes számjegy\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] az összes nyomtatható karakter, kivéve a szóközt\n" #~ " [:lower:] az összes kisbetű\n" #~ " [:print:] az összes nyomtatható karakter, beleértve a szóközt\n" #~ " [:punct:] az összes központozó karakter\n" #~ " [:space:] az összes vízszintes vagy függőleges üreshely\n" #~ " [:upper:] az összes nagybetű\n" #~ " [:xdigit:] az összes hexadecimális számjegy\n" #~ " [=KAR=] az összes karakter, amely azonos a KAR karakterrel\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "A fordítás akkor következik be, ha a -d nincs megadva és mind a HALMAZ1,\n" #~ "mind a HALMAZ2 megjelenik. A -t csak fordításkor használható. A HALMAZ2\n" #~ "kiterjesztésre kerül a HALMAZ1 hosszára az utolsó karakter szükség " #~ "szerinti\n" #~ "ismétlésével. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "A HALMAZ2 többletkarakterei figyelmen kívül maradnak. Csak\n" #~ "a [:lower:] és [:upper:] kiterjesztése garantált növekvő sorrendben;\n" #~ "a HALMAZ2-ben fordításkor csak párban alkalmazhatók a kis- és " #~ "nagybetűsség\n" #~ "átalakításának megadásához. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "A -s a HALMAZ1-et használja ha nincs fordítás\n" #~ "vagy törlés, különben az összenyomás a HALMAZ2-t használja és a fordítás\n" #~ "vagy törlés után megy végbe.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "figyelmeztetés: a nem egyértelmű oktális \\%c%c%c sorozat\n" #~ "\ta következőképpen lesz értelmezve: \\0%c%c, %c" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "figyelmeztetés: a karakterlánc végén a nem escape-elt fordított " #~ "osztásjel\n" #~ "nem portolható" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "" #~ "a(z) „%s-%s” tartományvégpontok fordított rendezési sorrendben vannak" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "%s ismétlési szám érvénytelen a [c*n] szerkezetben" #~ msgid "missing character class name `[::]'" #~ msgstr "hiányzó karakterosztály-név: „[::]”" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "hiányzó egyenlőségosztály-karakter: „[==]”" #~ msgid "invalid character class %s" #~ msgstr "érvénytelen karakterosztály: %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "" #~ "%s: az egyenlőségosztály operandusnak egyetlen karakternek kell lennie" #~ msgid "too many characters in set" #~ msgstr "túl sok karakter a halmazban" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "a [c*] ismétlési szerkezet nem jelenhet meg az 1. karakterláncban" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "csak egy [c*] ismétlési szerkezet jelenhet meg a 2. karakterláncban" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "" #~ "[=c=] kifejezések nem jelenhetnek meg a 2. karakterláncban fordításkor" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "a halmaz1 csonkításakor a 2. karakterlánc nem lehet üres" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "kiegészítő karakterosztályokkal való fordításkor a 2. karakterláncnak\n" #~ "a tartomány összes karakterét egyre kell leképeznie" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "fordításkor a 2. karakterláncban csak az „upper” és a „lower”\n" #~ "karakterosztályok jelenhetnek meg " #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "a [c*] szerkezet a 2. karakterláncban csak fordításkor jelenhet meg" #~ msgid "Two strings must be given when translating." #~ msgstr "Fordításkor meg kell adni két karakterláncot." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Csak egy karakterlánc adható meg az ismétlések összenyomása nélküli " #~ "törlésnél." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "hibásan igazított [:upper:] és/vagy [:lower:] szerkezet" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s [figyelmen kívül hagyott parancssori argumentumok]\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Kilépés egy sikert jelző állapotkóddal." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Használat: %s [KAPCSOLÓ] [FÁJL]\n" #~ "Teljesen rendezett lista kiírása a FÁJLBAN található részleges " #~ "rendezéssel\n" #~ "összhangban. Ha a FÁJL nincs megadva, vagy -, akkor a szabványos " #~ "bemenetet\n" #~ "olvassa.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: a bemenet páratlan számú jelsort tartalmaz" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: bemenet hurkot tartalmaz:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Használat: %s [KAPCSOLÓ]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "A szabványos bemenetre kapcsolt terminál fájlnevének kiírása.\n" #~ "\n" #~ " -s, --silent, --quiet nem ír ki semmit, csak a kilépési állapotot " #~ "adja\n" #~ " vissza\n" #~ msgid "not a tty" #~ msgstr "nem tty" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Bizonyos rendszerinformációkat ír ki. KAPCSOLÓ nélkül ugyanaz, mint a -" #~ "s.\n" #~ "\n" #~ " -a, --all az össze információ kiírása a következő " #~ "sorrendben:\n" #~ " kivéve a -p és -i kihagyását, ha " #~ "ismeretlenek:\n" #~ " -s, --kernel-name a kernel nevének kiírása\n" #~ " -n, --nodename a hálózati csomópont gépnevének kiírása\n" #~ " -r, --kernel-release a kernel kiadásának kiírása\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version a kernel verziójának kiírása\n" #~ " -m, --machine a gép hardvere nevének kiírása\n" #~ " -p, --processor a processzor típusának vagy az „unknown” szó\n" #~ " kiírása\n" #~ " -i, --hardware-platform a hardverplatform vagy „unknown” az „unknown” " #~ "szó\n" #~ " kiírása\n" #~ " -o, --operating-system az operációs rendszer kiírása\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "A gép architektúrájának kiírása.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "nem kérhető le a rendszer neve" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Szóközök átalakítása minden egyes FÁJLBAN tabokká és kiírás a szabványos\n" #~ "kimenetre. Ha a FÁJL nincs megadva, vagy -, akkor a szabványos bemenetet\n" #~ "olvassa.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all az összes üreshely karakter átalakítása csak a kezdők\n" #~ " helyett\n" #~ " --first-only csak a kezdő üreshelykarakter-sorozatok átalakítása\n" #~ " (felülbírálja a -a kapcsolót)\n" #~ " -t, --tabs=N a tabok N karakter szélesek 8 helyett (bekapcsolja a -" #~ "a\n" #~ " kapcsolót)\n" #~ " -t, --tabs=LISTA a tabpozíciók vesszőkkel elválasztott LISTÁJÁNAK " #~ "használata\n" #~ " (bekapcsolja a -a kapcsolót)\n" #~ msgid "tabs are too far apart" #~ msgstr "a tabok túl messze vannak egymástól" #~ msgid "tab stop value is too large" #~ msgstr "a tab méret túl nagy" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [BEMENET [KIMENET]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "A BEMENETBŐL (vagy szabványos bemenetből) az egymást követő azonos sorok\n" #~ "eldobása egy kivételével és azok kiírása a KIMENETRE (vagy szabványos\n" #~ "kimenetre).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count a sorok elé az előfordulások számának kiírása\n" #~ " -d, --repeated csak a kettőzött sorok kiírása\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=elhatárolási-mód] az összes többszörözött sor " #~ "kiírása\n" #~ " elhatárolási-mód={none(alapért.),prepend," #~ "separate}\n" #~ " Az elhatárolás üres sorokkal valósul meg.\n" #~ " -f, --skip-fields=N az első N mező összehasonlításának elkerülése\n" #~ " -i, --ignore-case a kis- és nagybetűk nem különböznek " #~ "összehasonlításkor\n" #~ " -s, --skip-chars=N az első N karakter összehasonlításának " #~ "elkerülése\n" #~ " -u, --unique csak az egyedi sorok kiírása\n" #~ " -z, --zero-terminated a sorok befejezése 0 bájttal új sor helyett\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N a sorokban N-től ne hasonlítson össze több " #~ "karaktert\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Egy mező üreshely karakterek sorozata, amit nem üreshely karakterek " #~ "követnek.\n" #~ "A mezők karakterek előtti része ki lesz hagyva.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Megjegyzés: A „uniq” nem ismeri fel az ismétlődő sorokat, hacsak nem " #~ "állnak\n" #~ "egymás után. Először rendezze a bemenetet, vagy használja a „sort -u”\n" #~ "parancsot a „uniq” nélkül.\n" #~ msgid "too many repeated lines" #~ msgstr "túl sok ismétlődő sor" #~ msgid "invalid number of fields to skip" #~ msgstr "a kihagyandó mezők száma érvénytelen" #~ msgid "invalid number of bytes to skip" #~ msgstr "a kihagyandó bájtok száma érvénytelen" #~ msgid "invalid number of bytes to compare" #~ msgstr "az összehasonlítandó bájtok száma érvénytelen" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "az összes kettőzött sor és az ismétlődések kiírása értelmetlen" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s FÁJL\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Az unlink függvény meghívása a megadott FÁJL törlése érdekében.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "%s törlése sikertelen" #~ msgid "couldn't get boot time" #~ msgstr "a rendszerindítás ideje nem kérhető le" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d.%02d%s fut: " #~ msgid "am" #~ msgstr "de" #~ msgid "pm" #~ msgstr "du" #~ msgid " ??:???? up " #~ msgstr " ??.???? fut: " #~ msgid "???? days ??:??, " #~ msgstr "???? nap ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld nap" #~ msgstr[1] "%ld nap" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu felhasználó" #~ msgstr[1] "%lu felhasználó" #~ msgid ", load average: %.2f" #~ msgstr ", átlagos terh.: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [ FÁJL ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Az aktuális idő, a rendszer futásidejének, a rendszer felhasználói " #~ "számának és a\n" #~ "futási sorban található feladatok átlagos számának kiírása az elmúlt 1, 5 " #~ "és 15\n" #~ "percre vonatkozóan. Ha a FÁJL nincs megadva, akkor a %s fájlt használja.\n" #~ "A %s használata általános\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Kiírja, hogy a FÁJL szerint ki van bejelentkezve.\n" #~ "Ha a FÁJL nincs megadva, akkor a %s fájlt használja.\n" #~ "A %s használata általános\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Új sor, szó- és bájtszámokat ír ki minden egyes FÁJLHOZ és a sorok " #~ "számának\n" #~ "összesítését, ha több FÁJL van megadva. Ha a FÁJL nincs megadva, vagy -, " #~ "akkor a\n" #~ "szabványos bemenetet olvassa.\n" #~ " -c, --bytes a bájtok számának kiírása\n" #~ " -m, --chars a karakterek számának kiírása\n" #~ " -l, --lines az új sorok számának kiírása\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=F bemenet olvasása az F fájlban megadott NULL végű " #~ "nevek által\n" #~ " \n" #~ " -L, --max-line-length a leghosszabb sor hosszának kiírása\n" #~ " -w, --words szószámok kiírása\n" #~ msgid " old " #~ msgstr " régi " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "kilép=" #~ msgid "clock change" #~ msgstr "óraváltozás" #~ msgid "run-level" #~ msgstr "futási szint" #~ msgid "last=" #~ msgstr "utolsó=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# felhasználók=%lu\n" #~ msgid "NAME" #~ msgstr "NÉV" #~ msgid "LINE" #~ msgstr "VONAL" #~ msgid "TIME" #~ msgstr "IDŐ" #~ msgid "IDLE" #~ msgstr "ÜRES" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "MEGJEGYZÉS" #~ msgid "EXIT" #~ msgstr "KILÉP" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Használat: %s [KAPCSOLÓ]... [ FÁJL | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all ugyanaz, mint -b -d --login -p -r -t -T -u\n" #~ " -b, --boot az utolsó rendszerindítás ideje\n" #~ " -d, --dead döglött folyamatok kiírása\n" #~ " -H, --heading oszlopfejléceket tartalmazó sor kiírása\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login kiírja a rendszer bejelentkezési folyamatait\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup kísérlet a gépnevek egyszerűsítésére a DNS " #~ "használatával\n" #~ " -m csak a szabványos bemenethez társított gépnév és " #~ "felhasználó\n" #~ " -p, --process az init által indított aktív folyamatok kiírása\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count az összes bejelentkezési név és a bejelentkezett \n" #~ " felhasználók számának kiírása\n" #~ " -r, --runlevel a jelenlegi futási szint\n" #~ " -s, --short csak a név, vonal és idő kiírása (alapértelmezett)\n" #~ " -t, --time az utolsó rendszeróra-változás kiírása\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg a felhasználó üzenetállapotának hozzáadása mint +, - " #~ "vagy ?\n" #~ " -u, --users bejelentkezett felhasználók felsorolása\n" #~ " --message ugyanaz, mint a -T\n" #~ " --writable ugyanaz, mint a -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Ha a FÁJL nincs megadva, akkor a %s fájlt használja.\n" #~ "A %s használata általános a FÁJLKÉNT. Az ARG1 ARG2 hatása azonos\n" #~ " a -m kapcsolóval; funkciója csupán a „who am i” vagy a „who mom likes” " #~ "és\n" #~ "hasonló parancsok értelmes megválaszolása.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Az aktuális hatásos felhasználói azonosítóhoz társított felhasználónév " #~ "kiírása.\n" #~ "Ugyanaz, mint az id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: nem található a név a(z) %lu felhasználói azonosítóhoz\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Használat: %s [KARAKTERLÁNC]...\n" #~ " vagy: %s KAPCSOLÓ\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Az összes megadott KARAKTERLÁNCOT vagy az „y”-t tartalmazó sor ismételt\n" #~ "kiírása.\n" #~ "\n" dc3dd-7.1.614/po/af.po0000644000175000017500000025703311233346647014026 0ustar amedicoamedico# coreutils-5.2.1.af.po. # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # Petri Jooste , 2004. # msgid "" msgstr "" "Project-Id-Version: coreutils 5.2.1\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2004-03-17 11:58+0200\n" "Last-Translator: Petri Jooste \n" "Language-Team: Afrikaans \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "Kan nie lêergids %s skep nie." #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer `%s --help' vir meer inligting.\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Gebruik so: %s [GETAL]... \n" " of: %s OPSIE\n" #: src/dc3dd.c:1099 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=LÊER lees vanaf LÊER in plaas van stdin\n" " obs=GREPE skryf GREPE(aantal) grepe op 'n slag\n" " of=LÊER skryf na LÊER in plaas van na stdout\n" " seek=BLOKKE slaan BLOKKE(aantal) obs-grootte blokke oor aan die begin " "van afvoer\n" " skip=BLOKKE slaan BLOKKE(aantal) ibs-grootte blokke oor aan die begin " "van toevoer\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s: hierdie bestemming is nie 'n lêergids nie" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Onbekende stelselfout" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "toevoerlêer %s word toegemaak" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "afvoerlêer %s word toegemaak" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "uitgange vir afvoerlêers is uitgeput" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "%s word oopgemaak" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "GEFAAL" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "onbekende opsie %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "ongeldige datum `%s'" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "ongeldige datumformaat %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "ongeldige datumformaat %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "ongeldige datumformaat %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "ongeldige omskakeling: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "ongeldige nommer by begin van veld" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "ongeldige groep " #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "ongeldige gebruiker %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "ongeldige nommer %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "die gebruikernaam en groepnaam mag nie albei ontbreek nie" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "die gebruikernaam en groepnaam mag nie albei ontbreek nie" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "die gebruikernaam en groepnaam mag nie albei ontbreek nie" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "die gebruikernaam en groepnaam mag nie albei ontbreek nie" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "die gebruikernaam en groepnaam mag nie albei ontbreek nie" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "besig om %s te lees" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: kan nie verwyder nie" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 msgid "advance: warning: invalid file offset after failed read" msgstr "" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "die tyd van %s is verstel" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "lêergids %s word gelees" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "lêergids %s word gelees" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "besig om te skryf na %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, fuzzy, c-format msgid "fsync failed for %s" msgstr "kon nie %s oopmaak nie" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standaardtoevoer" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standaard-afvoer" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "kan nie fstat op %s uitvoer nie" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii van EBCDIC na ASCII\n" #~ " ebcdic van ASCII na EBCDIC\n" #~ " ibm van ASCII na afwisselende EBCDIC\n" #~ " block vul nuwereël-getermineerde rekords met spasies tot by cbs-" #~ "grootte\n" #~ " unblock vervang spasies agteraan cbs-grootte rekords met " #~ "nuwereëlkarakters\n" #~ " lcase verander bokas na onderkas\n" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "afgekapte rekord" #~ msgstr[1] "afgekapte rekord" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "die gebruikernaam en groepnaam mag nie albei ontbreek nie" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "die gebruikernaam en groepnaam mag nie albei ontbreek nie" #~ msgid "error writing %s" #~ msgstr "fout met die skryf na %s" #~ msgid "invalid argument %s for %s" #~ msgstr "ongeldige parameter %s vir %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "dubbelsinnige parameter %s vir %s" #~ msgid "Valid arguments are:" #~ msgstr "Geldige parameters is soos volg:" #, fuzzy #~ msgid "error closing file" #~ msgstr "toevoerlêer %s word toegemaak" #~ msgid "write error" #~ msgstr "skryffout" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "toegangsregte vir %s word gestel" #~ msgid "cannot stat %s" #~ msgstr "kan nie stat %s uitvoer nie" #~ msgid "regular empty file" #~ msgstr "gewone leë lêer" #~ msgid "regular file" #~ msgstr "gewone lêer" #~ msgid "directory" #~ msgstr "lêergids" #~ msgid "block special file" #~ msgstr "spesiale bloklêer" #~ msgid "character special file" #~ msgstr "spesiale karakterlêer" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "simboliese skakel" #~ msgid "socket" #~ msgstr "sok" #~ msgid "message queue" #~ msgstr "boodskapwagtou" #~ msgid "semaphore" #~ msgstr "semafoor" #~ msgid "shared memory object" #~ msgstr "gedeeldegeheue-objek" #, fuzzy #~ msgid "typed memory object" #~ msgstr "gedeeldegeheue-objek" #~ msgid "weird file" #~ msgstr "vreemde lêer" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "fifo-lêers word nie ondersteun nie" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "fifo-lêers word nie ondersteun nie" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "fifo-lêers word nie ondersteun nie" #, fuzzy #~ msgid "System error" #~ msgstr "skryffout" #, fuzzy #~ msgid "Unknown error" #~ msgstr "Onbekende stelselfout" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: opsie `%s' is dubbelsinnig\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: opsie `--%s' laat nie 'n parameter toe nie\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: opsie `%c%s' laat nie 'n parameter toe nie\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: opsie `%s' benodig 'n parameter\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: onbekende opsie `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: onbekende opsie `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: onwettige opsie -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: ongeldige opsie -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: opsie benodig 'n parameter -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: opsie `-W %s' is dubbelsinnig\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: opsie `-W %s' laat nie 'n parameter toe nie\n" #~ msgid "cannot change permissions of %s" #~ msgstr "kan nie toegangsregte van %s verander nie" #~ msgid "cannot create directory %s" #~ msgstr "Kan nie lêergids %s skep nie." #~ msgid "memory exhausted" #~ msgstr "geheue uitgeput" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "kon nie na aanvanklike werkgids terugkeer nie" #~ msgid "failed to return to initial working directory" #~ msgstr "kon nie na aanvanklike werkgids terugkeer nie" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: seek het misluk" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: ongeldige reëlmatige uitdrukking: %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "ongeldige karakterklas `%s'" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "geheue uitgeput" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: ongeldige reëlmatige uitdrukking: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "fout in soektog met reëlmatige uitdrukking" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "fout in soektog met reëlmatige uitdrukking" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "fout in soektog met reëlmatige uitdrukking" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "dit is gevaarlik om rekursief te werk op %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "dit is gevaarlik om rekursief te werk op %s (net soos %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "" #~ "gebruik --no-preserve-root om hierdie veiligheidsnet ter syde te stel" #~ msgid "^[yY]" #~ msgstr "^[jJ]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "toegangsregte vir %s word gestel" #~ msgid "iconv function not usable" #~ msgstr "iconv-funksie onbruikbaar" #~ msgid "iconv function not available" #~ msgstr "iconv-funksie is nie beskikbaar nie" #~ msgid "character out of range" #~ msgstr "karakter is buite die grense" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "kan nie U+%04X omskakel na 'n plaaslike karakterstel nie" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "kan nie U+%04X omskakel na 'n plaaslike karakterstel nie: %s" #~ msgid "invalid user" #~ msgstr "ongeldige gebruiker" #~ msgid "invalid group" #~ msgstr "ongeldige groep " #, fuzzy #~ msgid "invalid spec" #~ msgstr "ongeldige gebruiker" # TRANSLATORS: %s denotes an author name. # TRANSLATORS: %s denotes an author name. #~ msgid "Written by %s.\n" #~ msgstr "Geskryf deur %s.\n" # TRANSLATORS: Each %s denotes an author name. # TRANSLATORS: Each %s denotes an author name. #~ msgid "Written by %s and %s.\n" #~ msgstr "Geskryf deur %s en %s.\n" # TRANSLATORS: Each %s denotes an author name. #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Geskryf deur %s, %s en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Geskryf deur %s, %s, %s \n" #~ "en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Geskryf deur %s, %s, %s, \n" #~ "%s en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Geskryf deur %s, %s, %s, \n" #~ "%s, %s en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Geskryf deur %s, %s, %s, \n" #~ "%s, %s, %s en %s.\n" # TRANSLATORS: Each %s denotes an author name. # You can use line breaks, estimating that each author name occupies # ca. 16 screen columns and that a screen line has ca. 80 columns. #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Geskryf deur %s, %s, %s, \n" #~ "%s, %s, %s, %s\n" #~ "en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Geskryf deur %s, %s, %s, \n" #~ "%s, %s, %s, %s,\n" #~ "%s en %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Geskryf deur %s, %s, %s, \n" #~ "%s, %s, %s, %s\n" #~ "%s, %s en ander.\n" #~ msgid "invalid argument: %s" #~ msgstr "ongeldige parameter: %s" #~ msgid "string comparison failed" #~ msgstr "stringvergelyking het gefaal" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Stel LC_ALL='C' om die probleem te systap" #~ msgid "The strings compared were %s and %s." #~ msgstr "Die stringe wat vergelyk is, is %s en %s." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "stringvergelyking het gefaal" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "ongeldige parameter `%s'" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "ongeldige heelgetalparameter `%s'" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: telling `%.*s' is te groot" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version wys weergawe-inligting en stop\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Met geen LÊER, of wanneer die LÊER - is, lees standaardtoevoer.\n" #~ msgid "read error" #~ msgstr "leesfout" #, fuzzy #~ msgid "invalid input" #~ msgstr "ongeldige gebruiker" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "ongeldige keepgrootte: %s" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "ekstra operand `%s'" #~ msgid "closing standard input" #~ msgstr "standaard-toevoer word nou toegemaak" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s NAAM [SUFFIKS]\n" #~ " of: %s OPSIE\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Druk NAAM sonder enige voorafgaande gidsaanduiding.\n" #~ "Indien gespesifiseer, word die SUFFIKS agteraan ook verwyder.\n" #~ "\n" #, fuzzy #~ msgid "missing operand" #~ msgstr "lêerparameter ontbreek" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Gebruik so: %s [OPSIE] [ LÊER]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Skakel LÊER(s) of standaardtoevoer aaneen en stuur dit na " #~ "standaardafvoer.\n" #~ "\n" #~ " -A, --show-all ekwivalent aan -vET\n" #~ " -b, --number-nonblank nommer nie-leë afvoerreëls\n" #~ " -e ekwivalent aan -vE\n" #~ " -E, --show-ends wys 'n $ aan die einde van elke reël\n" #~ " -n, --number nommer al die afvoerreëls\n" #~ " -s, --squeeze-blank nooit meer as een leë reël word gewys nie\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t ekwivalent aan -vT\n" #~ " -T, --show-tabs wys keepkarakters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting gebruik ^ and M- notasie, behalwe vir LFD and " #~ "TAB\n" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "kan nie ioctl uitvoer op `%s' nie" #~ msgid "%s: input file is output file" #~ msgstr "%s: Die toevoerlêernaam is 'n afvoerlêer." #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "kon nie attribute van %s verkry nie" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "kon nie attribute van %s verkry nie" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "groep kon nie eienaarskap van %s na %s verander nie\n" #~ msgid "cannot access %s" #~ msgstr "kan nie toegang verkry na %s nie" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "kan nie gids %s lees nie" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "toegangsregte van %s word verander" #~ msgid "fts_read failed" #~ msgstr "fts_read het misluk" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Gebruik so: %s [OPSIE]... EIENAAR[:[GROEP]] LÊER...\n" #~ " or: %s [OPSIE]... :GROEP LÊER...\n" #~ " or: %s [OPSIE]... --reference=RLÊER LÊER...\n" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "parameter vir `%s' ontbreek" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "ongeldige omskakeling: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "kon nie attribute van %s verkry nie" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "ongeldige groep %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Gebruik so: %s [OPSIE]... GROEP LÊER...\n" #~ " of: %s [OPSIE]... --reference=RLÊER LÊER...\n" #, fuzzy #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root moenie `/' spesiaal anders hanteer nie (by " #~ "verstek)\n" #~ " --preserve-root moenie rekursief te werk gaan met `/' nie\n" #~ msgid "getting new attributes of %s" #~ msgstr "nuwe attribute van %s word verkry" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "modus %s is verander na %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "modus %s kon nie na %04lo (%s) verander word nie\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "modus van %s is behou as %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "kon nie simboliese skakel %s skep nie" #~ msgid "changing permissions of %s" #~ msgstr "toegangsregte van %s word verander" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "toegangsregte vir %s word gestel" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Verander die modus vir elke LÊER na MODUS.\n" #~ "\n" #~ " -c, --changes soos verbose maar meld slegs veranderinge\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root moenie `/' spesiaal anders hanteer nie (by " #~ "verstek)\n" #~ " --preserve-root moenie rekursief te werk gaan met `/' nie\n" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "ongeldige modus %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "eienaarskap is vernader van %s na %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "die groep is verander van %s na %s\n" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "kan nie eienaarskap van %s verander nie" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "groep kon nie eienaarskap van %s na %s verander nie\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "groep kon nie van %s na %s verander word nie\n" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "groep kon nie eienaarskap van %s na %s verander nie\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "eienaarskap van %s is behou as %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "groep van %s is behou as %s\n" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "eienaarskap van %s is behou as %s\n" #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "kan nie %s verwyder nie" #~ msgid "changing ownership of %s" #~ msgstr "eienaarskap van %s word verander" #~ msgid "changing group of %s" #~ msgstr "groep van %s word verander" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Gebruik so: %s [OPSIE]... GROEP LÊER...\n" #~ " of: %s [OPSIE]... --reference=RLÊER LÊER...\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s NUWEBEGINPUNT [BEVEL...]\n" #~ " of: %s OPSIE\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Loop BEVEL met wortelgids gestel volgens NUWEBEGINPUNT.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "As geen bevel gegee is nie, loop ``${SHELL} -i'' (verstek: /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "kan nie wortelgids verander na %s toe nie" #~ msgid "cannot chdir to root directory" #~ msgstr "kan nie chdir uitvoer na wortelgids toe nie" #~ msgid "cannot run command %s" #~ msgstr "kan nie bevel %s uitvoer nie" #~ msgid "%s: file too long" #~ msgstr "%s: lêer te lank" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Gebruik so: %s [LÊER]... \n" #~ " of: %s [OPSIE]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Druk CRC-toetssom en greeptellings van elke LÊER.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Gebruik so: %s [OPSIE]... LÊER1 LÊER2 \n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Vergelyk gesorteerde lêers LÊER1 en LÊER2 reël-vir-reël.\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "toegangsregte vir %s word gestel" #~ msgid "failed to preserve ownership for %s" #~ msgstr "eienaarskap van %s kon nie behou word nie" #~ msgid "failed to lookup file %s" #~ msgstr "kon nie lêer %s opspoor nie" #~ msgid "failed to preserve authorship for %s" #~ msgstr "outeurskap van %s kon nie behou word nie" #~ msgid "cannot open %s for reading" #~ msgstr "kan nie %s oopmaak om te lees nie" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "lêer %s word oorgeslaan, want dit is vervang tydens kopieëring" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "groep kon nie van %s na %s verander word nie\n" #~ msgid "cannot remove %s" #~ msgstr "kan nie %s verwyder nie" #~ msgid "removed %s\n" #~ msgstr "%s is verwyder.\n" #~ msgid "cannot create regular file %s" #~ msgstr "kan nie 'n gewone lêer %s skep nie" #~ msgid "cannot lseek %s" #~ msgstr "kan nie lseek op %s doen nie" #~ msgid "writing %s" #~ msgstr "besig om %s te skryf" #~ msgid "preserving times for %s" #~ msgstr "lêertye van %s word behou" #~ msgid "closing %s" #~ msgstr "besig om %s toe te maak" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: oorskryf %s, moet modus %04lo ter syde gestel word? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: oorskryf %s?" #~ msgid " (backup: %s)" #~ msgstr "(rugsteun: %s)" #~ msgid "omitting directory %s" #~ msgstr "lêergids %s word oorgeslaan" #~ msgid "warning: source file %s specified more than once" #~ msgstr "waarskuwing: bronlêer %s is meer as een keer gespesifiseer" #~ msgid "%s and %s are the same file" #~ msgstr "%s en %s is dieselfde lêer" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "die nie-gids %s kan nie met gids %s oorskryf word nie" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "die pasgeskepte %s sal nie met %s oorskryf word nie" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "gids %s kan nie oorskryf word met 'n nie-gids nie" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "'n gids kan nie geskuif word bo-oor 'n nie-gids nie: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "" #~ "om rugsteun te neem van %s sal die bron vernietig; %s is nie verskuif nie" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "" #~ "om rugsteun te neem van %s sal die bron vernietig; %s is nie gekopieer nie" #~ msgid "cannot backup %s" #~ msgstr "kan nie rugsteun neem van %s nie" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "die pasgeskepte %s sal nie met %s oorskryf word nie" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "kan nie 'n lêergids, %s, na homself kopieer nie, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "sal nie 'n vaste skakel %s skep na gids %s nie" #~ msgid "cannot create hard link %s to %s" #~ msgstr "kon nie vaste skakel %s na %s skep nie" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "kan nie 'n gids %s skuif na 'n kind van dieselfde gids nie, %s" #~ msgid "cannot move %s to %s" #~ msgstr "kan nie %s skuif na %s nie" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "inter-toestel verskuiwing het misluk: %s na %s; die bestemming kan nie " #~ "verwyder word nie" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "kon nie attribute van %s verkry nie" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "sikliese simboliese skakel %s kan nie gekopieer word nie" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: relatiewe simboliese skakels kan slegs in die huidige gids gemaak word" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "kon nie simboliese skakel %s na %s skep nie" #~ msgid "cannot create link %s" #~ msgstr "kan nie die skakel %s skep nie" #~ msgid "cannot create fifo %s" #~ msgstr "kan nie die pyp %s skep nie" #~ msgid "cannot create special file %s" #~ msgstr "kan nie spesiale lêer %s skep nie" #~ msgid "cannot read symbolic link %s" #~ msgstr "simboliese skakel %s kan nie gelees word nie" #~ msgid "cannot create symbolic link %s" #~ msgstr "kon nie simboliese skakel %s skep nie" #~ msgid "%s has unknown file type" #~ msgstr "%s het 'n onbekende lêertipe" #~ msgid "cannot un-backup %s" #~ msgstr "kan nie %s ont-rugsteun nie" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (ont-rugsteun)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Gebruik so: %s [OPSIE]... EIENAAR[:[GROEP]] LÊER...\n" #~ " or: %s [OPSIE]... :GROEP LÊER...\n" #~ " or: %s [OPSIE]... --reference=RLÊER LÊER...\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Verpligte parameters vir langformaat opsies is ook verpligtend vir " #~ "kortformaat opsies.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "lêertye van %s kon nie behou word nie" #~ msgid "failed to preserve permissions for %s" #~ msgstr "magtigings vir %s kon nie behou word nie" #~ msgid "cannot make directory %s" #~ msgstr "kan nie gids %s maak nie" #~ msgid "%s exists but is not a directory" #~ msgstr "%s bestaan maar is nie 'n lêergids nie" #~ msgid "accessing %s" #~ msgstr "verkry toegang na %s" #, fuzzy #~ msgid "missing file operand" #~ msgstr "lêerparameter ontbreek" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "spesifikasie lêer ontbreek" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "%s: hierdie bestemming is nie 'n lêergids nie" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "wanneer paaie behou word, moet die bestemming 'n gids wees" #, fuzzy #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "Waarskuwing: `-l' is verouderd; gebruik eerder `-L'" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "veelvuldige afvoerlêers is gespesifiseer" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "kan nie sowel vaste skakels as simboliese skakels maak nie" #~ msgid "backup type" #~ msgstr "rugsteuntipe" #~ msgid "input disappeared" #~ msgstr "toevoer het verdwyn" #~ msgid "%s: line number out of range" #~ msgstr "%s: reëlnommer buite bereik" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: `%s': reëlnommer buite bereik" #~ msgid " on repetition %s\n" #~ msgstr "by herhaling %s\n" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: `%s': patroon nie gevind nie" #~ msgid "error in regular expression search" #~ msgstr "fout in soektog met reëlmatige uitdrukking" #, fuzzy #~ msgid "write error for %s" #~ msgstr "skryffout vir `%s'" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: 'n heelgetal is verwag na die skeisimbool" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: `}' word benodig in herhaaltelling" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: tussen `{' en `}' moet 'n heelgetal wees" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: afsluit-skeisimbool `%c' ontbreek" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: ongeldige reëlmatige uitdrukking: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: ongeldige patroon" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: reëlnommer moet groter as nul wees" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "reëlnommer `%s' is kleiner as die voorafgaande reëlnommer, %s" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "" #~ "waarskuwing: reëlnommer `%s' is dieselfde as die voorafgaande reëlnommer" #~ msgid "invalid format width" #~ msgstr "ongeldige wydte vir formaat" #~ msgid "invalid format precision" #~ msgstr "ongeldige presisie vir formaat" #~ msgid "missing conversion specifier in suffix" #~ msgstr "ontbrekende omskakelingaanduider in suffiks" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "ontbrekende omskakelingaanduider in suffiks: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "ontbrekende omskakelingaanduider in suffiks: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "te veel %% omskakelingaanduiders in suffiks" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "ontbrekende %% omskakelingaanduider in suffiks" #~ msgid "%s: invalid number" #~ msgstr "%s: ongeldige getal" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Gebruik so: %s [OPSIE]... LÊER PATROON...\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Lees vanaf standaardtoevoer as LÊER gegee is as -. Elke PATROON kan " #~ "wees:\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Gebruik so: %s [OPSIE]... [LÊER]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Druk die geselekteerde dele van reëls uit elke LÊER na standaardafvoer.\n" #~ "\n" #~ msgid "invalid byte or field list" #~ msgstr "ongeldige greep of veldlys" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "ongeldige opsie %s vir wydte" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "ongeldige modusstring: %s" #~ msgid "byte offset %s is too large" #~ msgstr "greepuitwyking %s is te groot" #~ msgid "field number %s is too large" #~ msgstr "veldnommer %s is te groot" #~ msgid "only one type of list may be specified" #~ msgstr "slegs een soort lys mag gespesifiseer word" #~ msgid "the delimiter must be a single character" #~ msgstr "die verdeler mag net een karakter wees" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "u moet 'n lys van grepe, karakters of velde spesifiseer" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "slegs wanneer velde gebruik word mag 'n toevoer-skeikarakter " #~ "gespesifiseer word" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "om nie-afgeslote reëls te onderdruk, maak slegs sin\n" #~ "\twanneer dit op velde van toepassing gemaak word" #~ msgid "missing list of fields" #~ msgstr "ontbrekende lys van velde" #~ msgid "missing list of positions" #~ msgstr "ontbrekende lys van posisies" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "veelvuldige afvoerlêers is gespesifiseer" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "die opsies om drukdatums te spesifiseer is onderling uitsluitend" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "die opsies om die tyd te vertoon en te stel kan nie saam gebruik word nie" #~ msgid "cannot set date" #~ msgstr "kon nie die datum stel nie" #~ msgid "time %s is out of range" #~ msgstr "tyd %s is buite bereik" #~ msgid "Filesystem Type" #~ msgstr "Lêerstelseltipe: " #~ msgid "Filesystem " #~ msgstr "Lêerstelsel" #~ msgid " Size Used Avail Use%%" #~ msgstr " Grootte InGebruik Beskikbaar Gebruik%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Grootte InGebruik Beskikbaar Gebruik%%" #~ msgid " Mounted on\n" #~ msgstr " geheg aan\n" #~ msgid "cannot get current directory" #~ msgstr "kan nie huidige gids verkry nie" #~ msgid "cannot change to directory %s" #~ msgstr "kan nie chdir doen om na gids %s te gaan nie" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Gebruik so: %s [OPSIE]... [LÊER]...\n" #~ msgid "Warning: " #~ msgstr "Waarskuwing: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%s kan nie die tabel met gemonteerde lêerstelsels lees nie" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Gebruik so: %s [OPSIE]... [ LÊER ]\n" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: onbekende sleutelwoord %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s NAAM\n" #~ " of: %s OPSIE\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Gebruik so: %s [OPSIE]... GROEP LÊER...\n" #~ " of: %s [OPSIE]... --reference=RLÊER LÊER...\n" #~ msgid "total" #~ msgstr "totaal" #~ msgid "invalid maximum depth %s" #~ msgstr "ongeldige maksimum diepte %s" #, fuzzy #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "Waarskuwing: `-l' is verouderd; gebruik eerder `-L'" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "kan nie die pyp %s skep nie" #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "ongeldige groepnaam %s" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Gebruik so: %s [OPSIE]... [STRING]... \n" #~ msgid "tab stop is too large %s" #~ msgstr "inkeping is te groot %s" #~ msgid "tab size cannot be 0" #~ msgstr "inkeping mag nie 0 wees nie" #, fuzzy #~ msgid "input line is too long" #~ msgstr "groepnaam te lank" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s UITDRUKKING \n" #~ " of: %s OPSIE\n" #~ msgid "syntax error" #~ msgstr "sintaksfout" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "fout in soektog met reëlmatige uitdrukking" #~ msgid "non-numeric argument" #~ msgstr "nie-numeriese parameter" #~ msgid "division by zero" #~ msgstr "deling deur nul" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s [GETAL]... \n" #~ " of: %s OPSIE\n" #~ msgid "%s is too large" #~ msgstr "%s is te groot" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "`%s' is nie 'n geldige positiewe heelgetal nie" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Gebruik so: %s [-SYFERS] [OPSIE]... [LÊER]... \n" #~ msgid "invalid width: %s" #~ msgstr "ongeldige wydte: %s" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "ongeldige aantal kolomme: `%s'" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "groep kon nie van %s na %s verander word nie\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "groep kon nie van %s na %s verander word nie\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "%s: kan nie die gebruikersnaam vir UID %u opspoor nie\n" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Gebruik so: %s [OPSIE]... [ LÊER ]\n" #~ msgid "%s: No such user" #~ msgstr "%s: gebruiker bestaan nie" #~ msgid "error reading %s" #~ msgstr "fout met die les van %s" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: aantal grepe is te veel" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: kan nie skuif tot by uitwyking %s nie" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "kan nie die lêerwyser herposisioneer vir %s nie" #~ msgid "number of lines" #~ msgstr "aantal reëls" #~ msgid "number of bytes" #~ msgstr "aantal grepe" #~ msgid "invalid number of lines" #~ msgstr "ongeldige aantal reëls" #~ msgid "invalid number of bytes" #~ msgstr "ongeldige aantal grepe" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "ongeldige opsie -- %c" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "kan nie die masjiennaam verander na `%s' nie" #~ msgid "cannot determine hostname" #~ msgstr "kan die masjiennaam nie vasstel nie" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "kan nie verdeel op meer as een manier nie" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "%s: kan nie die gebruikersnaam vir UID %u opspoor nie\n" #~ msgid " groups=" #~ msgstr "groepe=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "waarskuwing: kan nie chdir uitvoer na gids %s toe nie" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "%s: hierdie bestemming is nie 'n lêergids nie" #~ msgid "invalid mode %s" #~ msgstr "ongeldige modus %s" #~ msgid "cannot change ownership of %s" #~ msgstr "kan nie eienaarskap van %s verander nie" #~ msgid "fork system call failed" #~ msgstr "fork-stelselroep het gefaal" #~ msgid "cannot run strip" #~ msgstr "kan nie strip-bevel uitvoer nie" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "besig om te skryf na %s" #~ msgid "invalid user %s" #~ msgstr "ongeldige gebruiker %s" #~ msgid "invalid group %s" #~ msgstr "ongeldige groep %s" #~ msgid "creating directory %s" #~ msgstr "gids %s word geskep" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Gebruik so: %s [OPSIE]... EIENAAR[:[GROEP]] LÊER...\n" #~ " or: %s [OPSIE]... :GROEP LÊER...\n" #~ " or: %s [OPSIE]... --reference=RLÊER LÊER...\n" #~ msgid "invalid field number: %s" #~ msgstr "ongeldige veldnommer: %s" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "ongeldige veld-aanduider: `%s'" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "ongeldige wydte vir reëlnommer veld: %s" #~ msgid "empty tab" #~ msgstr "leë keepkarakter" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "saamgestelde keepkarakter `%s'" #~ msgid "incompatible tabs" #~ msgstr "onversoenbare keepkarakters" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Gebruik so: %s [-s SEIN | -SEIN] PID... \n" #~ " of: %s -l [SEIN]...\n" #~ " of: %s -t [SEIN]...\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: ongeldige sein" #~ msgid "%s: invalid process id" #~ msgstr "%s: ongeldige proses-id" #~ msgid "invalid option -- %c" #~ msgstr "ongeldige opsie -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: veelvuldige seine is gespesifiseer" #~ msgid "multiple -l or -t options specified" #~ msgstr "veelvuldige -l of -t opsies is gespesifiseer" #~ msgid "no process ID specified" #~ msgstr "geen proses-id is gespesifiseer" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s LÊER1 LÊER2\n" #~ " of: %s OPSIE\n" #~ msgid "cannot create link %s to %s" #~ msgstr "kon nie skakel %s na %s skep nie" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: 'n vaste skakel word nie toegelaat vir 'n gids nie" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: kan nie die gids oorskryf nie" #~ msgid "%s: replace %s? " #~ msgstr "%s: vervang %s?" #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "simboliese skakel %s na %s word geskep" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "simboliese skakel %s na %s word geskep" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "vaste skakel %s na %s word geskep" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "vaste skakel %s na %s word geskep" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "vaste skakel %s na %s word geskep" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s: hierdie bestemming is nie 'n lêergids nie" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Gebruik so: %s [OPSIE]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Druk die naam van die huidige gebruiker.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "geen gebruikersnaam" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "invalid line width: %s" #~ msgstr "ongeldige reëlwydte: %s" #~ msgid "invalid tab size: %s" #~ msgstr "ongeldige keepgrootte: %s" #~ msgid "invalid time style format %s" #~ msgstr "ongeldige tydformaatstring: %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "onbekende voorvoegsel: %s" #~ msgid "cannot open directory %s" #~ msgstr "Kan nie lêergids %s oopmaak nie." #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: kan nie die gids oorskryf nie" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "lêergids %s word oorgeslaan" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " #~ "standaardafvoer geskryf word.\n" #~ "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" #~ "\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary skryf binêre data na die konsole-toestel.\n" #~ "\n" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: MISLUKTE open of lees\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: leesfout" #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "WAARSKUWING: %d van %d gelyste %s kon nie gelees word nie" #~ msgstr[1] "WAARSKUWING: %d van %d gelyste %s kon nie gelees word nie" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "die --status opsie is slegs sinvol by die nagaan van toetssomme" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "die --warn opsie is slegs sinvol by die nagaan van toetssomme" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Gebruik so: %s [OPSIE] GIDS...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Skep die LÊERGIDS(e), as hulle nie reeds bestaan nie.\n" #~ "\n" #~ msgid "created directory %s" #~ msgstr "gids %s is geskep" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Gebruik so: %s [OPSIE] NAAM...\n" #~ msgid "invalid mode" #~ msgstr "ongeldige modus" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "ongeldige subtoestelnommer %s" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "ongeldige subtoestelnommer %s" #~ msgid "block special files not supported" #~ msgstr "spesiale bloklêers word nie ondersteun nie" #~ msgid "character special files not supported" #~ msgstr "spesiale karakterlêers word nie ondersteun nie" #~ msgid "invalid major device number %s" #~ msgstr "ongeldige hooftoestelnommer %s" #~ msgid "invalid minor device number %s" #~ msgstr "ongeldige subtoestelnommer %s" #~ msgid "invalid device %s %s" #~ msgstr "ongeldige toestel %s %s" #~ msgid "invalid device type %s" #~ msgstr "ongeldige toesteltipe %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Gebruik so: %s [OPSIE]... [ LÊER ]\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "te veel parameters" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "Kan nie lêergids %s skep nie." #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "lêertye van %s kon nie behou word nie" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Gebruik so: %s [OPSIE] [BEVEL [ARG]...]\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "ongeldige parameter: %s" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "kan nie die stelselnaam vasstel nie" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "kon nie die datum stel nie" #, fuzzy #~ msgid "line number overflow" #~ msgstr "veldnommer is nul" #~ msgid "invalid header numbering style: %s" #~ msgstr "ongeldige styl vir kopnommering: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "ongeldige styl vir lyfnommering: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "ongeldige styl vir voetnommering: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "ongeldige beginreëlnommer: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "ongeldige inkrement vir reëlnommers: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "ongeldige aantal leë reëls: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "ongeldige wydte vir reëlnommer veld: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "ongeldige reëlnommeringformaat: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s BEVEL [ARG]...\n" #~ " of: %s OPSIE\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "all parameters word geïgnoreer" #~ msgid "failed to open %s" #~ msgstr "kon nie %s oopmaak nie" #, fuzzy #~ msgid "ignoring input and appending output to %s" #~ msgstr "afvoer word bygevoeg by %s" #~ msgid "failed to redirect standard error" #~ msgstr "kon nie standaardfoutafvoer herlei nie" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "ongeldige tipe-string `%s'" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "ongeldige karakter `%c' in tipe-string `%s'" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" wydte=%d\n" #~ msgid "standard input is closed" #~ msgstr "standaardtoevoer is gesluit" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Gebruik so: %s [OPSIE]... NAAM...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "ongeldige karakter %s in modusstring %s" #, fuzzy #~ msgid "empty file name" #~ msgstr "gewone leë lêer" #~ msgid "Login name: " #~ msgstr "Aantekennaam:" #~ msgid "In real life: " #~ msgstr "In die regte lewe:" #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Lêergids:" #~ msgid "Shell: " #~ msgstr "Dop:" #~ msgid "Project: " #~ msgstr "Projek:" #~ msgid "Plan:\n" #~ msgstr "Plan:\n" #~ msgid "Login" #~ msgstr "Aanteken" #~ msgid "Name" #~ msgstr "Naam" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Luier" #~ msgid "When" #~ msgstr "Wanneer" #~ msgid "Where" #~ msgstr "Waar" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Gebruik so: %s [OPSIE]... [GEBRUIKER]...\n" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "ongeldige tipe-string `%s'" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l PAGE_LENGTH' ongeldige aantal reëls: `%s'" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N NUMBER' ongeldige beginreëlnommer: `%s'" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o MARGIN' ongeldige lynuitwyking: `%s'" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w PAGE_WIDTH' ongeldige aantal karakters: `%s'" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W PAGE_WIDTH' ongeldige aantal karakters: `%s'" #~ msgid "page width too narrow" #~ msgstr "Bladsywydte te nou" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "veldnommer is nul" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SSTRING, --sep-string[=STRING]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Met geen LÊER, of wanneer die LÊER - is, lees standaardtoevoer.\n" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s FORMAAT [ARGUMENT]...\n" #~ " of: %s OPSIE\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: 'n numeriese waarde is verwag" #~ msgid "%s: value not completely converted" #~ msgstr "%s: waarde is nie volledig omgeskakel nie" #~ msgid "missing hexadecimal number in escape" #~ msgstr "heksadesimale getal ontbreek in ontsnapkode" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "ongeldige universele karakternaam \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "ongeldige veldwydte: %s" #~ msgid "invalid precision: %s" #~ msgstr "ongeldige presisie: %s" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: ongeldige veldspesifikasie `%s'" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "waarskuwing: oortollige parameters geïgnoreer; begin by `%s'" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (vir regexp `%s')" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "ongeldige wydte: %s" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "kon nie %s oopmaak nie" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "kon nie %s oopmaak nie" #~ msgid "ignoring non-option arguments" #~ msgstr "parameters wat nie opsies is nie word geïgnoreer" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Gebruik so: %s [OPSIE]... LÊER \n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "kon nie lêer %s opspoor nie" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "Kan nie lêergids %s oopmaak nie." #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "%s dev/ino is verander" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "Kan nie lêergids %s skep nie." #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: wil jy ingaan in lêergids %s?" #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: verwyder lees-alleen %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: verwyder %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "lêergids is verwyder: %s\n" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "kon nie lêer %s opspoor nie" #~ msgid "cannot remove directory %s" #~ msgstr "kan nie gids %s verwyder nie" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "kan nie gids %s verwyder nie" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "kan nie gids %s verwyder nie" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "kan nie huidige gids verkry nie" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Gebruik so: %s [OPSIE]... LÊER...\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: verwyder %s %s? " #~ msgid "removing directory, %s" #~ msgstr "lêergids word verwyder, %s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "kan nie gids %s verwyder nie" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Gebruik so: %s [OPSIE]... GIDS...\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "kon nie %s oopmaak nie" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "kon nie attribute van %s verkry nie" #, fuzzy #~ msgid "no command specified" #~ msgstr "geen proses-id is gespesifiseer" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "kon nie %s oopmaak nie" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "kon nie %s oopmaak nie" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "kon nie %s oopmaak nie" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "kon nie %s oopmaak nie" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "kon nie %s oopmaak nie" #~ msgid "invalid floating point argument: %s" #~ msgstr "ongeldige wisselpunt parameter: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "ongeldige formaatstring: `%s'" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "te veel %% omskakelingaanduiders in suffiks" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "ongeldige formaatstring: `%s'" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s FORMAAT [ARGUMENT]...\n" #~ " of: %s OPSIE\n" #~ msgid "unknown user-ID: %s" #~ msgstr "onbekende gebruiker-id: %s" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "kan nie die aanvullende groep stel nie" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "kan nie groep-ID na %ld verander nie" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "kan nie gebruiker-ID na %ld verander nie" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Gebruik so: %s [OPSIES] LÊER [...]\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "%s: seek het misluk" #, fuzzy #~ msgid "%s: fsync failed" #~ msgstr "%s: seek het misluk" #~ msgid "%s: cannot rewind" #~ msgstr "%s: kan nie teruggaan nie" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: pass %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: fout tydens skryfbewerking by uitwyking %s" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "%s: seek het misluk" #~ msgid "%s: file too large" #~ msgstr "%s: lêer te groot" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: pass %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: pass %lu/%lu (%s)...%s/%s %d%%" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "'stat' het gefaal" #~ msgid "%s: invalid file type" #~ msgstr "%s: ongeldige lêertipe:" #~ msgid "%s: file has negative size" #~ msgstr "%s: lêer het negatiewe grootte" #~ msgid "%s: error truncating" #~ msgstr "%s: fout tydens afeindiging" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "%s: seek het misluk" #~ msgid "%s: removing" #~ msgstr "%s: besig om te verwyder" #~ msgid "%s: renamed to %s" #~ msgstr "%s: hernoem as %s" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s: lêer te groot" #~ msgid "%s: removed" #~ msgstr "%s: is verwyder" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s: lêer te lank" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s: lêer te lank" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: ongeldige aantal lopies" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "veelvuldige afvoerlêers is gespesifiseer" #~ msgid "%s: invalid file size" #~ msgstr "%s: ongeldige lêergrootte." #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Gebruik so: %s [OPSIE]... EIENAAR[:[GROEP]] LÊER...\n" #~ " or: %s [OPSIE]... :GROEP LÊER...\n" #~ " or: %s [OPSIE]... --reference=RLÊER LÊER...\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Druk die geselekteerde dele van reëls uit elke LÊER na standaardafvoer.\n" #~ "\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "veelvuldige -l of -t opsies is gespesifiseer" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "ongeldige nommer %s" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "ongeldige reëlwydte: %s" #~ msgid "multiple output files specified" #~ msgstr "veelvuldige afvoerlêers is gespesifiseer" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "ekstra operand `%s'" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "ongeldige tydinterval `%s'" #~ msgid "cannot read realtime clock" #~ msgstr "kan nie die reëletyd-horlosie lees nie" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Druk die geselekteerde dele van reëls uit elke LÊER na standaardafvoer.\n" #~ "\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated beëindig reëls met 'n 0-greep, i.p.v. 'n " #~ "nuwereëlkarakter\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "besig om te skryf na %s" #~ msgid "cannot create temporary file" #~ msgstr "kan nie 'n tydelike lêer skep nie" #~ msgid "open failed" #~ msgstr "'open' het gefaal" #, fuzzy #~ msgid "fflush failed" #~ msgstr "'close' het gefaal" #~ msgid "close failed" #~ msgstr "'close' het gefaal" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "'open' het gefaal" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "kan nie 'n tydelike lêer skep nie" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "kan nie 'n tydelike lêer skep nie" #~ msgid "write failed" #~ msgstr "'write' het gefaal" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "kan nie %s verwyder nie" #~ msgid "stat failed" #~ msgstr "'stat' het gefaal" #~ msgid "read failed" #~ msgstr "'read' het gefaal" #~ msgid "standard error" #~ msgstr "standaardfout-afvoer" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: ongeldige veldspesifikasie `%s'" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: ongeldige telling by begin van `%s'" #~ msgid "invalid number after `-'" #~ msgstr "ongeldige getal na `-'" #~ msgid "invalid number after `.'" #~ msgstr "ongeldige getal na `.'" #~ msgid "stray character in field spec" #~ msgstr "verdwaalde karakter in veldspesifikasie" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "veelvuldige -l of -t opsies is gespesifiseer" #~ msgid "invalid number at field start" #~ msgstr "ongeldige nommer by begin van veld" #~ msgid "field number is zero" #~ msgstr "veldnommer is nul" #~ msgid "character offset is zero" #~ msgstr "karakteruitwyking is nul" #~ msgid "invalid number after `,'" #~ msgstr "ongeldige getal na `,'" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Gebruik so: %s [OPSIE] [TOEVOER [PREFIKS]]\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose druk 'n diagnostiese boodskap op " #~ "standaardafvoer\n" #~ " direk voor elke afvoerlêer oopgemaak word\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "besig om nuwe lêer `%s' te skep\n" #~ msgid "cannot split in more than one way" #~ msgstr "kan nie verdeel op meer as een manier nie" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: ongeldige suffikslengte" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: ongeldige aantal grepe" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: ongeldige aantal reëls" #~ msgid "line count option -%s%c... is too large" #~ msgstr "opsie om reëls te tel -%s%c... is te groot" #~ msgid "invalid number of lines: 0" #~ msgstr "ongeldige aantal reëls: 0" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: onbekende opsie `%c%s'\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%%%c: ongeldige direktief" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Gebruik so: %s [OPSIE] LÊER...\n" #~ msgid "only one device may be specified" #~ msgstr "slegs een toestel mag gespesifiseer word" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "ongeldige parameter: %s" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "parameter vir `%s' ontbreek" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "ongeldige reëlwydte: %s" #~ msgid "new_mode: mode\n" #~ msgstr "nuwe_modus: modus\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: geen grootte-inligting is beskikbaar vir hierdie toestel nie" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "ongeldige heelgetalparameter `%s'" #~ msgid "Password:" #~ msgstr "Wagwoord:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: kan nie /dev/tty oopmaak nie" #~ msgid "cannot set groups" #~ msgstr "kan nie groepe stel nie" #~ msgid "cannot set group id" #~ msgstr "kan nie die groep-id stel nie" #~ msgid "cannot set user id" #~ msgstr "kan nie gebruiker-id stel nie" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Gebruik so: %s [OPSIE]... [-] [GEBRUIKER [ARG]...]\n" #~ msgid "user %s does not exist" #~ msgstr "gebruiker %s bestaan nie" #~ msgid "incorrect password" #~ msgstr "verkeerde wagwoord" #~ msgid "using restricted shell %s" #~ msgstr "gebruik tans beperkte dop %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "waarskuwing: kan nie chdir uitvoer na gids %s toe nie" #~ msgid "ignoring all arguments" #~ msgstr "all parameters word geïgnoreer" #~ msgid " --help display this help and exit\n" #~ msgstr " --help wys hierdie teks en stop\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version wys weergawe-inligting en stop\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Rapporteer foute aan <%s>.\n" #~ msgid "%s: seek failed" #~ msgstr "%s: seek het misluk" #, fuzzy #~ msgid "record too large" #~ msgstr "%s: lêer te groot" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "kan nie 'n tydelike lêer skep nie" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "kan nie %s oopmaak om te lees nie" #, fuzzy #~ msgid "%s: write error" #~ msgstr "skryffout" #~ msgid "separator cannot be empty" #~ msgstr "verdeler mag nie leeg wees nie" #~ msgid "closing %s (fd=%d)" #~ msgstr "lêer word toegemaak: %s (fd=%d)" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "`%s' het ontoeganklik geword" #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "`%s' het toeganklik geword" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "kan nie verander na die null-groep nie" #~ msgid "%s: file truncated" #~ msgstr "%s: lêer is afgekap" #~ msgid "no files remaining" #~ msgstr "geen oorblywende lêers" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "veldnommer %s is te groot" #~ msgid "%s: invalid PID" #~ msgstr "%s: ongeldige PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: ongeldige aantal sekondes" #~ msgid "cannot follow %s by name" #~ msgstr "kan nie %s per naam volg nie" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Met geen LÊER, of wanneer die LÊER - is, lees standaardtoevoer.\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "parameter vir `%s' ontbreek" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "ongeldige nommer %s" #, fuzzy #~ msgid "')' expected" #~ msgstr "')' is verwag\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "')' is verwag, maar %s gevind\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: unitêre operator is verwag\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt aanvaar nie -l nie\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef aanvaar nie -l nie \n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-ot aanvaar nie -l nie \n" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "onbenede binêre operator\n" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: binêre operator is verwag\n" #, fuzzy #~ msgid "missing `]'" #~ msgstr "ontbrekende `]'\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "ongeldige parameter: %s" #~ msgid "creating %s" #~ msgstr "besig om %s te skep" #~ msgid "cannot touch %s" #~ msgstr "kan nie %s aanraak nie" #~ msgid "setting times of %s" #~ msgstr "die tyd van %s is verstel" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Gebruik so: %s [OPSIE]... STEL1 [STEL2]\n" #~ msgid "missing character class name `[::]'" #~ msgstr "karakterklasnaam ontbreek `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "ekwivalensieklaskarakter ontbreek `[==]'" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "ongeldige karakterklas `%s'" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "verdwaalde karakter in veldspesifikasie" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "twee stringe moet gegee word tydens vertaling" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s NAAM\n" #~ " of: %s OPSIE\n" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: toevoer bevat 'n lus" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Gebruik so: %s [OPSIE]...\n" #~ msgid "not a tty" #~ msgstr "nie 'n tty nie" #~ msgid "cannot get system name" #~ msgstr "kan nie die stelselnaam vasstel nie" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Verander spasies in elke LÊER na keepkarakters, terwyl dit op " #~ "standaardafvoer geskryf word.\n" #~ "Met geen LÊER, of as LÊER gegee is as -, lees vanaf standaardtoevoer.\n" #~ "\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "inkeping is te groot %s" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Gebruik so: %s [OPSIE]... [TOEVOER [AFVOER]]\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "te veel parameters" #~ msgid "invalid number of fields to skip" #~ msgstr "ongeldige aantal velde om oor te slaan" #~ msgid "invalid number of bytes to skip" #~ msgstr "ongeldige aantal grepe om oor te slaan" #~ msgid "invalid number of bytes to compare" #~ msgstr "ongeldige aantal grepe om te vergelyk" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s LÊER \n" #~ " of: %s OPSIE\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Roep die unlink-funksie om die gespesifiseerde LÊER te verwyder.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "kan nie %s ontkoppel nie" #~ msgid "couldn't get boot time" #~ msgstr "kon nie die herlaaityd vasstel nie" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s verby " #~ msgid "am" #~ msgstr "vm" #~ msgid "pm" #~ msgstr "nm" #~ msgid " ??:???? up " #~ msgstr " ??:???? verby" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "ongeldige gebruiker" #~ msgstr[1] "ongeldige gebruiker" #~ msgid ", load average: %.2f" #~ msgstr ", ladinggemiddeld: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Gebruik so: %s [OPSIE]... [ LÊER ]\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Vertoon wie tans aangeteken is volgens LÊER.\n" #~ "As LÊER nie gespesifiseer is nie, gebruik %s. %s vir LÊER is algemeen.\n" #~ "\n" #~ msgid " old " #~ msgstr " oud" #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "verlaat=" #~ msgid "clock change" #~ msgstr "horlosieverandering" #~ msgid "run-level" #~ msgstr "uitvoervlak" #~ msgid "last=" #~ msgstr "laaste=" #, fuzzy #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# gebruikers=%u\n" #~ msgid "NAME" #~ msgstr "NAAM" #~ msgid "LINE" #~ msgstr "LYN" #~ msgid "TIME" #~ msgstr "TYD" #~ msgid "IDLE" #~ msgstr "LUIER" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "KOMMENTAAR" #~ msgid "EXIT" #~ msgstr "VERLAAT" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Gebruik so: %s [OPSIE]... [ LÊER | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "As LÊER nie gespesifiseer is nie, gebruik %s. %s vir LÊER is algemeen.\n" #~ "As ARG1 ARG2 gegee is, word -n veronderstel: `am i'of `mom likes' is " #~ "normaal.\n" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Druk die gebruikersnaam geassosieer met die gebruikers-id wat tans aktief " #~ "is.\n" #~ "Dieselfde as id -un.\n" #~ "\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: kan nie die gebruikersnaam vir UID %u opspoor nie\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Gebruik so: %s [STRING]... \n" #~ " of: %s OPSIE\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Skryf voortdurend 'n reël met al die gespesifiseerde STRING(e), of `y'.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Gebruik so: %s FORMAAT [ARGUMENT]...\n" #~ " of: %s OPSIE\n" #~ msgid "block size" #~ msgstr "blokgrootte" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "kan nie die eienaar en/of groep van %s verander nie" #~ msgid "cannot chdir to directory %s" #~ msgstr "kan nie chdir doen om na gids %s te gaan nie" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "kan nie die aantekengroep van 'n numeriese UID verkry nie" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Hierdie is vry sagteware; kyk in die bronkode vir kopieërvoorwaardes. " #~ "Daar is GEEN\n" #~ "waarborg nie; selfs nie vir VERKOOPBAARHEID of GESKIKTHEID VIR 'N " #~ "SPESIFIEKE DOEL nie.\n" #~ msgid "too few arguments" #~ msgstr "te min parameters" #~ msgid "closing standard output" #~ msgstr "standaard-afvoer word nou toegemaak" #~ msgid "group number" #~ msgstr "groepnommer" #~ msgid "invalid group number %s" #~ msgstr "ongeldige groepnommer %s" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root moenie `/' spesiaal anders hanteer nie (by " #~ "verstek)\n" #~ " --preserve-root moenie rekursief te werk gaan met `/' nie\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "kan nie die gids %s oorskryf nie" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: die gespesifiseerde doelgids bestaan nie" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: hierdie bestemming is nie 'n lêergids nie" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "meer as een lêer word gekopieer, maar die laaste parameter %s is nie 'n " #~ "gids nie" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "waarskuwing: --version-control (-V) is verouderd; dit sal nie meer\n" #~ "ondersteun word in die toekoms nie. Gebruik eerder --backup=%s." #~ msgid "symbolic links are not supported on this system" #~ msgstr "simboliese skakels word nie ondersteun op hierdie stelsel nie" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "te veel nie-opsie parameters: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "'n formaatstring mag nie gespesifiseer word saam met die opsie --rfc-2822 " #~ "(-R) nie" #~ msgid "undefined" #~ msgstr "ongedefinieerd" #~ msgid "cannot get time of day" #~ msgstr "kon nie die tyd van die dag vasstel nie" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s rekords in\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s rekords uit\n" #~ msgid "truncated records" #~ msgstr "afgekap" #~ msgid "unrecognized option %s=%s" #~ msgstr "onbekende opsie %s=%s" #~ msgid "file offset out of range" #~ msgstr "lêeruitwyking buite bereik" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "`-LIST' opsie is verouderd; gebruik `-t LIST'" #~ msgid "`%s' is too large" #~ msgstr "%s: lêer is te groot" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "`%s' opsie is verouderd; gebruik `%s'" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: aantal grepe is groot" #~ msgid "unrecognized option `-%c'" #~ msgstr "onherkenbare opsie `-%c'" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "`-%s' opsie is verouderd; gebruik `-%c %.*s%.*s%s'" #~ msgid "cannot print only user and only group" #~ msgstr "kan nie slegs gebruikernaam of slegs groepnaam druk nie" #~ msgid "cannot get supplemental group list" #~ msgstr "kan nie aanvullende groeplys verkry nie" #~ msgid "%s is a directory" #~ msgstr "%s is 'n gids" #~ msgid "strip failed" #~ msgstr "strip het misluk" #~ msgid "too many non-option arguments" #~ msgstr "te veel nie-opsie parameters" #~ msgid "invalid field number: `%s'" #~ msgstr "ongeldige veldnommer: `%s'" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "ongeldige veldnommer vir lêer 1: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "ongeldige veldnommer vir lêer 2: `%s'" #~ msgid "too few non-option arguments" #~ msgstr "te min nie-opsie parameters" #~ msgid "%s: File exists" #~ msgstr "%s: lêer bestaan" #~ msgid "create symbolic link %s to %s" #~ msgstr "skep simboliese skakel %s na %s" #~ msgid "create hard link %s to %s" #~ msgstr "skep vaste skakel %s na %s" #~ msgid "User name too long" #~ msgstr "gebruikersnaam te lank" #~ msgid "file" #~ msgstr "lêer" #~ msgid "files" #~ msgstr "lêers" #~ msgid "checksum" #~ msgstr "toetssom" #~ msgid "checksums" #~ msgstr "toetssomme" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "die --string en --check opsies is onderling uitsluitend" #~ msgid "no files may be specified when using --string" #~ msgstr "geen lêers mag gespesifiseer word wanneer --string gebruik word nie" #~ msgid "only one argument may be specified when using --check" #~ msgstr "slegs een argument mag gegee word wanneer --check gebruik word" #~ msgid "cannot set permissions of directory %s" #~ msgstr "kan nie toegangsregte van gids %s verander nie" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "kan nie die toegangsregte van fifo %s verander nie" #~ msgid "wrong number of arguments" #~ msgstr "verkeerde aantal parameters" #~ msgid "cannot set permissions of %s" #~ msgstr "kan nie toegangsregte van %s verander nie" #~ msgid "invalid option `%s'" #~ msgstr "ongeldige opsie `%s'" #~ msgid "invalid priority `%s'" #~ msgstr "ongeldige prioriteit `%s'" #~ msgid "cannot get priority" #~ msgstr "kan nie prioriteit verkry nie" #~ msgid "cannot set priority" #~ msgstr "kan nie prioriteit stel nie" #~ msgid "failed to redirect standard output" #~ msgstr "herleiding van standaardafvoer het misluk" #~ msgid "old-style offset" #~ msgstr "ou uitwykingstyl" #~ msgid "skip argument" #~ msgstr "oorslaanparameter" #~ msgid "limit argument" #~ msgstr "grensparameter" #~ msgid "minimum string length" #~ msgstr "minimum stringlengte" #~ msgid "width specification" #~ msgstr "wydte-spesifikasie" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "pad `%s' bevat 'n nie-oordraagbare karakter `%c'" #~ msgid "`%s' is not a directory" #~ msgstr "`%s' is nie 'n gids nie" #~ msgid "directory `%s' is not searchable" #~ msgstr "gids `%s' is nie deursoekbaar nie" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' ongeldige omvang vir bladsynommers: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' ongeldige nommer vir beginbladsy: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' ongeldige nommer vir eindbladsy: `%s'" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=COLUMN' ongeldige aantal kolomme: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "Page %d" #~ msgstr "Blady %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Gebruik so: %s formaat [parameter]...\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "kan nie chdir doen vanaf gids %s na ... nie" #~ msgid "cannot lstat `.' in %s" #~ msgstr "kan nie lstat op `.' in %s uitvoer nie" #~ msgid "cannot lstat %s" #~ msgstr "kan nie lstat %s uitvoer nie" #~ msgid "cannot chdir from %s to %s" #~ msgstr "kan nie chdir doen van %s na %s nie" #~ msgid "cannot remove `.' or `..'" #~ msgstr "kan nie `.' of `..'verwyder nie" #~ msgid "sort size" #~ msgstr "sorteergrootte" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "`%s' opsie is verouderd; gebruik `-l %s'" #~ msgid "stdin: read error" #~ msgstr "stdin: leesfout" #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "`%s' opsie is verouderd; gebruik `%s-%c %.*s'" #~ msgid "argument expected\n" #~ msgstr "argument verwag\n" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: heelgetal-uitdrukking is verwag\n" #~ msgid "before -lt" #~ msgstr "voor -lt" #~ msgid "after -lt" #~ msgstr "na -lt" #~ msgid "before -le" #~ msgstr "voor -le" #~ msgid "after -le" #~ msgstr "na -le" #~ msgid "before -gt" #~ msgstr "voor -gt" #~ msgid "after -gt" #~ msgstr "na -gt" #~ msgid "before -ge" #~ msgstr "voor -ge" #~ msgid "after -ge" #~ msgstr "na -ge" #~ msgid "before -ne" #~ msgstr "voor -ne" #~ msgid "after -ne" #~ msgstr "na -ne" #~ msgid "before -eq" #~ msgstr "voor -eq" #~ msgid "after -eq" #~ msgstr "na -eq" #~ msgid "after -t" #~ msgstr "na -t" #~ msgid "too many arguments\n" #~ msgstr "te veel parameters\n" #~ msgid "file arguments missing" #~ msgstr "lêerparameters ontbreek" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "ongeldige tru-skuinsstreep-ontsnapkode `\\%c'" #~ msgid "only one argument may be specified" #~ msgstr "slegs een parameter mag gespesifiseer word" #~ msgid "tab size contains an invalid character" #~ msgstr "keepgrootte bevat 'n ongeldige karakter" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "`-LIST' opsie is verouderd; gebruik `--first-only -t LIST'" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "`-%lu' opsie is verouderd; gebruik `-f %lu'" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Waarskuwing: -i sal wegval in 'n toekomstige vrystelling; gebruik eerder -" #~ "u" dc3dd-7.1.614/po/sv.po0000644000175000017500000116332611233346647014072 0ustar amedicoamedico# Swedish messages for coreutils. # Copyright © 1997, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Peter Antman , 1997. # Thomas Olsson , 1997. # Daniel Resare 1999, 2000. # Göran Uddeborg , 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008. # # $Revision: 1.86 $ # msgid "" msgstr "" "Project-Id-Version: coreutils 6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-05-16 23:07+0200\n" "Last-Translator: Göran Uddeborg \n" "Language-Team: Swedish \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "det gick inte att skapa en process för %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Försök med \"%s --help\" för mer information.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Användning: %s [OPERAND]...\n" " eller: %s FLAGGA\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Kopiera en fil med konvertering och formatering enligt operanderna.\n" "\n" " bs=BYTE framtvinga ibs=BYTE och obs=BYTE\n" " cbs=BYTE konvertera BYTE byte åt gången\n" " conv=KONVar konvertera filen enligt den kommaseparerade symbollistan\n" " count=BLOCK kopiera endast BLOCK inblock\n" " ibs=BYTE läs BYTE byte åt gången\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=FIL läs från FIL istället för standard in\n" " iflag=FLAGGOR läs enligt den kommaseparerade symbollistan\n" " obs=BYTE skriv BYTE byte åt gången\n" " of=FIL skriv FIL istället för standard ut\n" " oflag=FLAGGOR skriv enligt den kommaseparerade symbollistan\n" " seek=BLOCK hoppa över BLOCK obs-stora block från början av utfil\n" " skip=BLOCK hoppa över BLOCK ibs-stora block från början av infil\n" " status=noxfer utelämna överföringsstatistik\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOCK och BYTE kan följas av de följande multiplikativa ändelserna:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024,\n" "GB 1000·1000·1000, G 1024·1024·1024, och så vidare för T, P, E, Z, Y.\n" "\n" "Varje KONV kan vara:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat skapa inte utfilen\n" " excl misslyckas om utilen redan finns\n" " notrunc hugg inte av utfilen\n" " ucase ändra gemena till versaler\n" " swab byt plats på varje par av byte i indata\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror fortsätt efter läsfel\n" " sync fyll ut varje indatablock med nulltecken till ibs-storlek; när\n" " det används med block eller unblock, fyll ut med blanktecken\n" " istället för nulltecken\n" " fdatasync skriv fysiskt data till utfilen före svslut\n" " fsync d:o, men skriv även metadata\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Varje FLAGGsymbol kan vara:\n" "\n" " append lägg-till-läge (meningsfullt endast för utmatning, conv=notrunc\n" " rekommenderas)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct använd direkt I/O för data\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory misslyckas om inte en katalog\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync använd synkroniserad I/O för data\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync d:o, men även för metadata\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock använd icke blockerande I/O\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime uppdatera inte åtkomsttiden\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty tilldela inte styrterminal från fil\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow följ inte symboliska länkar\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks misslyckas ifall flera länkar\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary använd binär I/O för data\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text använd text-I/O för data\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Genom att skicka en %s-signal till en körande \"dd\"-process får\n" "man den att skriva in-/utstatistik på standard, och sedan fortsätta\n" "kopiera.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 poster in\n" " 18335302+0 poster ut\n" " 9387674624 byte (9.4 GB) kopierade, 34.6279 sekunder, 271 MB/s\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Okänt systemfel" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% poster in\n" "%+% poster ut\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% byte (%s) kopierad" msgstr[1] "% byte (%s) kopierade" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Oändligt B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "stänger infil %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "stänger utdatafil %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Slut på utfiländelser" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "öppnar %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "MISSLYCKADES" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "okänd operand %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "ogiltigt datum %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "felaktigt datumformat %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "felaktigt datumformat %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "felaktigt datumformat %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "ogiltig konvertering" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "ogiltig inflagga" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "ogiltig utflagga" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "ogiltig statusflagga" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "ogiltigt antal %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "kan inte kombinera excl och nocreate" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "det går inte att kombinera flaggorna -e och -i" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "det går inte att kombinera flaggorna -e och -i" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "det går inte att kombinera flaggorna -e och -i" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "det går inte att kombinera flaggorna -e och -i" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "det går inte att kombinera flaggorna -e och -i" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "varning: går runt fel i kärnan i lseek för fil (%s)\n" " med mt_type=0x%0lx -- se för en lista av typer" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "läser %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: kan inte söka" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "spill i filposition vid läsning av filen %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "varning: ogiltig filposition efter misslyckad läsning" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "kan inte kringgå fel i kärnan trots allt" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "sätter flaggor för %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "läser katalog %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "läser katalog %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "skrivning till %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync misslyckades för %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "fsync misslyckades för %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standard in" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standard ut" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "positionen för stor: kan inte hugga av till en längd av seek=% (%lu-" "byte-)block" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "kan inte göra fstat på %s" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "hugger av vid % byte i utdatafil %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii från EBCDIC till ASCII\n" #~ " ebcdic från ASCII till EBCDIC\n" #~ " ibm från ASCII till en annan EBCDIC\n" #~ " block fyll ut nyradsavslutade poster med blanktecken till cbs-" #~ "storlek\n" #~ " unblock ersätt avslutande blanktecken med nyrad i cbs-stora poster\n" #~ " lcase ändra versaler till gemena\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% avhuggen post\n" #~ msgstr[1] "% avhuggna poster\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "kan inte kombinera något par av {ascii,ebcdic,ibm}" #~ msgid "cannot combine block and unblock" #~ msgstr "kan inte kombinera block och unblock" #~ msgid "cannot combine lcase and ucase" #~ msgstr "kan inte kombinera lcase och ucase" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "varning: ogiltig filposition efter misslyckad läsning" #~ msgid "error writing %s" #~ msgstr "fel vid skrivning av %s" #~ msgid "invalid argument %s for %s" #~ msgstr "felaktigt argument %s till %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "tvetydigt argument %s till %s" #~ msgid "Valid arguments are:" #~ msgstr "Giltiga argument är:" #~ msgid "error closing file" #~ msgstr "fel när fil stängdes" #~ msgid "write error" #~ msgstr "skrivfel" #~ msgid "preserving permissions for %s" #~ msgstr "bevarar rättigheter på %s" #~ msgid "cannot stat %s" #~ msgstr "kan inte ta status på %s" #~ msgid "regular empty file" #~ msgstr "tom normal fil" #~ msgid "regular file" #~ msgstr "normal fil" #~ msgid "directory" #~ msgstr "katalog" #~ msgid "block special file" #~ msgstr "blockspecialfil" #~ msgid "character special file" #~ msgstr "teckenspecialfil" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "symbolisk länk" #~ msgid "socket" #~ msgstr "uttag (socket)" #~ msgid "message queue" #~ msgstr "meddelandekö" #~ msgid "semaphore" #~ msgstr "semafor" #~ msgid "shared memory object" #~ msgstr "delat minne-objekt" #~ msgid "typed memory object" #~ msgstr "typat minne-objekt" #~ msgid "weird file" #~ msgstr "konstig fil" #~ msgid "Address family for hostname not supported" #~ msgstr "Adressfamiljen för värdnamnet stöds inte" #~ msgid "Temporary failure in name resolution" #~ msgstr "Tillfälligt fel i namnuppslagning" #~ msgid "Bad value for ai_flags" #~ msgstr "Felaktigt värde för ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Oreparabelt fel i namnuppslagning" #~ msgid "ai_family not supported" #~ msgstr "ai_family stöds inte" #~ msgid "Memory allocation failure" #~ msgstr "Minnesallokeringsfel" #~ msgid "No address associated with hostname" #~ msgstr "Ingen adress associerad med värdnamnet" #~ msgid "Name or service not known" #~ msgstr "Namn eller tjänst okänd" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Servname stöds inte för ai_socktype" #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype stöds inte" #~ msgid "System error" #~ msgstr "Systemfel" #~ msgid "Argument buffer too small" #~ msgstr "Argumentbufferten är för liten" #~ msgid "Processing request in progress" #~ msgstr "Bearbetar pågående begäran" #~ msgid "Request canceled" #~ msgstr "Begäran annulerad" #~ msgid "Request not canceled" #~ msgstr "Begäran inte annulerad" #~ msgid "All requests done" #~ msgstr "Alla begäran utförda" #~ msgid "Interrupted by a signal" #~ msgstr "Avbruten av en signal" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Parametersträng inte korrekt kodad" #~ msgid "Unknown error" #~ msgstr "Okänt fel" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: flaggan \"%s\" är tvetydig\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: flaggan \"--%s\" tar inget argument\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: flaggan \"%c%s\" tar inget argument\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: flaggan \"%s\" kräver ett argument\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: okänd flagga \"--%s\"\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: okänd flagga \"%c%s\"\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: otillåten flagga -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: ogiltig flagga -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: flaggan kräver ett argument -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: flaggan \"-W %s\" är tvetydig\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: flaggan \"-W %s\" tar inget argument\n" #~ msgid "cannot change permissions of %s" #~ msgstr "kan inte ändra rättigheter på %s" #~ msgid "cannot create directory %s" #~ msgstr "kan inte skapa katalog %s" #~ msgid "memory exhausted" #~ msgstr "minnet slut" #~ msgid "unable to record current working directory" #~ msgstr "kan inte notera aktuell arbetskatalog" #~ msgid "failed to return to initial working directory" #~ msgstr "kunde inte återvända till den ursprungliga arbetskatalogen" #~ msgid "`" #~ msgstr "\"" #~ msgid "'" #~ msgstr "\"" #~ msgid "%s: end of file" #~ msgstr "%s: filslut" #~ msgid "Success" #~ msgstr "Lyckas" #~ msgid "No match" #~ msgstr "Ingen matchning" #~ msgid "Invalid regular expression" #~ msgstr "Felaktigt reguljärt uttryck" #~ msgid "Invalid collation character" #~ msgstr "Ogiltigt sorteringstecken" #~ msgid "Invalid character class name" #~ msgstr "Ogiltigt teckenklassnamn" #~ msgid "Trailing backslash" #~ msgstr "Avslutande bakstreck" #~ msgid "Invalid back reference" #~ msgstr "Ogiltig bakåtreferens" #~ msgid "Unmatched [ or [^" #~ msgstr "Ensam [ eller [^" #~ msgid "Unmatched ( or \\(" #~ msgstr "Ensam ( eller \\(" #~ msgid "Unmatched \\{" #~ msgstr "Ensam \\{" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Ogiltigt innehåll i \\{\\}" #~ msgid "Invalid range end" #~ msgstr "Ogiltigt intervallslut" #~ msgid "Memory exhausted" #~ msgstr "Minnet slut" #~ msgid "Invalid preceding regular expression" #~ msgstr "Felaktigt tidigare reguljärt uttryck" #~ msgid "Premature end of regular expression" #~ msgstr "För tidigt slut på reguljärt uttryck" #~ msgid "Regular expression too big" #~ msgstr "Reguljärt uttryck för stort" #~ msgid "Unmatched ) or \\)" #~ msgstr "Ensam ) eller \\)" #~ msgid "No previous regular expression" #~ msgstr "Inget tidigare reguljärt uttryck" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "det är farligt att arbeta rekursivt på %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "det är farligt att arbeta rekursivt på %s (samma som %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "använd --no-preserve-root för att åsidosätta detta säkerhetsskydd" #~ msgid "^[yY]" #~ msgstr "^[yYjJ]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "sätter rättigheter på %s" #~ msgid "iconv function not usable" #~ msgstr "iconv-funktion inte användbar" #~ msgid "iconv function not available" #~ msgstr "iconv-funktion inte tillgänglig" #~ msgid "character out of range" #~ msgstr "tecken utanför intervall" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "kan inte konvertera U+%04X till lokal teckenuppsättning" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "kan inte konvertera U+%04X till lokal teckenuppsättning: %s" #~ msgid "invalid user" #~ msgstr "ogiltig användare" #~ msgid "invalid group" #~ msgstr "ogiltig grupp" #~ msgid "invalid spec" #~ msgstr "ogiltig spec" #~ msgid "(C)" #~ msgstr "©" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Licens GPLv3+: GNU GPL version 3 eller senare \n" #~ "Detta är fri programvara: du får lov att ändra och vidaredistribuera " #~ "den.\n" #~ "Det finns INGEN GARANTI, så långt lagen tillåter.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Skrivet av %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Skrivet av %s och %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Skrivet av %s, %s och %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Skrivet av %s, %s, %s\n" #~ "och %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Skrivet av %s, %s, %s,\n" #~ "%s och %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Skrivet av %s, %s, %s,\n" #~ "%s, %s och %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Skrivet av %s, %s, %s,\n" #~ "%s, %s, %s och %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Skrivet av %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "och %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Skrivet av %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s och %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Skrivet av %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s med flera.\n" #~ msgid "invalid argument: %s" #~ msgstr "felaktigt argument: %s" #~ msgid "string comparison failed" #~ msgstr "strängjämförelse misslyckades" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Sätt LC_ALL='C' för att kringgå problemet." #~ msgid "The strings compared were %s and %s." #~ msgstr "De jämförda strängarna var %s och %s." #~ msgid "string transformation failed" #~ msgstr "strängtransformation misslyckades" #~ msgid "The untransformed string was %s." #~ msgstr "Den otransformerade strängen var %s." #~ msgid "cannot perform formatted output" #~ msgstr "det går inte att göra formaterad utmatning" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "felaktigt argument till %s%s: \"%s\"" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "felaktigt suffix i argument till %s%s \"%s\"" #~ msgid "%s%s argument `%s' too large" #~ msgstr "argument \"%3$s\" till %1$s%2$s är för stort" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Användning: %s [FLAGGA] [FIL]\n" #~ "Base64-koda eller -avkoda FIL, eller standard in, till standard ut.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=KOLR Radbryt kodade rader efter KOLR tecken (normalt " #~ "76).\n" #~ " Använd 0 för att inte bryta rader.\n" #~ "\n" #~ " -d, --decode Avkoda data.\n" #~ " -i, --ignore-garbage Vid avkodning, ingorera icke alfabetiska tecken.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Visa denna hjälptext och avsluta.\n" #~ " --version Visa versionsinformation och avsluta.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Utan FIL, eller när FIL är -, läs standard in.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Data kodas för base64-alfabetet enligt beskrivningen i RFC 3548. Vid\n" #~ "avkodning kan indata innehålla nyradstecken förutom de byte som\n" #~ "tillhör det egentliga base64-alfabetet. Använd --ignore-garbage för\n" #~ "att försöka återhämta från tecken utanför alfabetet i den kodade\n" #~ "strömmen.\n" #~ msgid "read error" #~ msgstr "läsfel" #~ msgid "invalid input" #~ msgstr "ogiltig indata" #~ msgid "invalid wrap size: %s" #~ msgstr "ogiltig radbrytningslängd: %s" #~ msgid "extra operand %s" #~ msgstr "extra operand %s" #~ msgid "closing standard input" #~ msgstr "stänger standard in" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s NAMN [ÄNDELSE]\n" #~ " eller: %s FLAGGA\n" #~ "\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Skriv NAMN med eventuella inledande sökvägskomponenter borttagna.\n" #~ "Tag bort eventuell specificerad ÄNDELSE.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Exempel:\n" #~ " %s /usr/bin/sort Skriv \"sort\".\n" #~ " %s include/stdio.h .h Skriv \"stdio\".\n" #~ msgid "missing operand" #~ msgstr "argument saknas" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Användning: %s [FLAGGA] [FIL]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Sammanfoga FIL(er), eller standard in, till standard ut.\n" #~ "\n" #~ " -A, --show-all som -vET\n" #~ " -b, --number-nonblank numrera icke-tomma rader\n" #~ " -e som -vE\n" #~ " -E, --show-ends visa $ i slutet av varje rad\n" #~ " -n, --number numrera alla rader\n" #~ " -s, --squeeze-blank utelämna upprepade tomma rader\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t likvärdigt med -vT\n" #~ " -T, --show-tabs visa TAB-tecken som ^I\n" #~ " -u (ignorerad)\n" #~ " -v, --show-nonprinting använd ^ och M-notation, utom för nyrad och " #~ "TAB\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Exempel:\n" #~ " %s f - g Skriv f:s innehåll, därefter standard in, och sedan g:s " #~ "innehåll.\n" #~ " %s Kopiera standard in till standard ut.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "kan inte göra \"ioctl\" på %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: infil är utfil" #~ msgid "failed to create security context: %s" #~ msgstr "kunde inte skapa säkerhetskontext: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "kunde inte sätta %s-komponenten av säkerhetskontexten till %s" #~ msgid "failed to get security context of %s" #~ msgstr "kunde inte ta reda på säkerhetskontext för %s" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "det går inte att sätta en partiell kontext på filen %s utan etikett" #~ msgid "failed to change context of %s to %s" #~ msgstr "kunde inte byta kontext på %s till %s" #~ msgid "cannot access %s" #~ msgstr "kan inte komma åt %s" # Jag har påpekat att det inte är så stor mening att markera detta för # översättning. #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "kan inte läsa katalog %s" #~ msgid "changing security context of %s" #~ msgstr "ändrar säkerhetskontext för %s" #~ msgid "fts_read failed" #~ msgstr "fts_read misslyckades" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... KONTEXT FIL...\n" #~ " eller: %s [FLAGGA]... [-u ANVÄNDARE] [-r ROLL] [-l INTVL] [-t TYP] " #~ "FIL...\n" #~ " eller: %s [FLAGGA]... --reference=RFIL FIL...\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Ändra säkerhetskontext för varje FIL till KONTEXT.\n" #~ "Med --reference, ändra säkerhetskontext för varje FIL till den hos RFIL.\n" #~ "\n" #~ " -c, --changes som \"verbose\", men rapportera endast när " #~ "ändring görs\n" #~ " -h, --no-dereference ändra symboliska länkar istället för refererade " #~ "filer\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=RFIL använd RFIL:s säkerhetskontext istället för att " #~ "ange\n" #~ " ett KONTEXTvärde\n" #~ " -R, --recursive ändra filer och kataloger rekursivt\n" #~ " -v, --verbose skriv ett meddelande för varje behandlad fil\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=ANVÄNDARE sätt användaren ANVÄNDARE i målets " #~ "säkerhetskontext\n" #~ " -r, --role=ROLL sätt rollen ROLL i målets säkerhetskontext\n" #~ " -t, --type=TYP sätt typen TYP i målets säkerhetskontext\n" #~ " -l, --range=INTERVALL sätt intervallet INTERVALL i målets " #~ "säkerhetskontext\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Följande flaggor modifierar hur en hierarki traverseras när flaggan -R\n" #~ "också anges. Om mer än en anges har enbart den sista någon verkan.\n" #~ "\n" #~ " -H om ett kommandoradsargument för ett kommando är\n" #~ " en symbolisk länk, följ den.\n" #~ " -L följ varje symbolisk länk till en katalog som\n" #~ " påträffas\n" #~ " -P följ inga symboliska länkar (normalfall)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference kräver antingen -H eller -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h kräver -P" #~ msgid "missing operand after %s" #~ msgstr "operand saknas efter %s" #~ msgid "invalid context: %s" #~ msgstr "ogiltig kontext: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "motstridiga specificerare för säkerhetskontext angivna" #~ msgid "failed to get attributes of %s" #~ msgstr "kunde inte hämta attribut för %s" #~ msgid "invalid group: %s" #~ msgstr "ogiltig grupp: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... GRUPP FIL...\n" #~ " eller: %s [FLAGGA]... --reference=RFIL FIL...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Ändra grupptillhörighet på varje FIL till GRUPP.\n" #~ "Med --reference, ändra grupptillhörighet på varje FIL till den hos RFIL.\n" #~ "\n" #~ " -c, --changes som \"verbose\", men rapportera endast när " #~ "ändring görs\n" #~ " --dereference ändra det varje symbolisk länk pekar på (detta " #~ "är\n" #~ " normalfallet), istället för själva länken\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference ändra varje symbolisk länk istället för det den " #~ "pekar\n" #~ " på (meningsfullt endast på system där det går " #~ "att\n" #~ " ändra ägare på en symbolisk länk)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root behandla inte \"/\" speciellt (normalfall)\n" #~ " --preserve-root låt bli att arbeta på \"/\"\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet utelämna de flesta felmeddelanden\n" #~ " --reference=RFIL använd RFIL:s grupp istället för att ange ett\n" #~ " GRUPPvärde\n" #~ " -R, --recursive ändra filer och kataloger rekursivt\n" #~ " -v, --verbose rapportera alla behandlade filer\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Exempel:\n" #~ " %s staff /u Ändra gruppen för /u till \"staff\".\n" #~ " %s -hR staff /u Ändra gruppen för /u och underfiler till \"staff\".\n" #~ msgid "getting new attributes of %s" #~ msgstr "hämtar nya attribut för %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "" #~ "varken den symboliska länken %s eller det den refererar har ändrats\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "rättigheterna hos %s ändrade till %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "kunde inte ändra rättigheterna på %s till %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "rättigheterna hos %s är oförändrat %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "det går inte att ändra den lösa symboliska länken %s" #~ msgid "changing permissions of %s" #~ msgstr "ändrar rättigheter på %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: nya rättigheter är %s, inte %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... RÄTTIGHET[,RÄTTIGHET]... FIL...\n" #~ " eller: %s [FLAGGA]... OKTAL-RÄTTIGHET FIL...\n" #~ " eller: %s [FLAGGA]... --reference=RFIL FIL...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Ändra rättigheterna på varje FIL till RÄTTIGHET.\n" #~ "\n" #~ " -c, --changes som \"verbose\", men rapportera bara när något " #~ "ändras\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root behandla inte \"/\" speciellt (normalfall)\n" #~ " --preserve-root låt bli att arbeta på \"/\"\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet utelämna de flesta felmeddelanden\n" #~ " -v, --verbose rapportera alla behandlade filer\n" #~ " --reference=RFIL använd RFILs rättigheter istället för något " #~ "argument\n" #~ " -R, --recursive ändra filer och kataloger rekursivt\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Varje RÄTTIGHET har formen \"[ugoa]*([-+=]([rwxXst]*|[ugo]))+\".\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "kan inte kombinera rättighets- och --reference-flaggor" #~ msgid "invalid mode: %s" #~ msgstr "ogiltig rättighet: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "bytte ägare av %s till %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "bytte grupp av %s till %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "inget byte av ägare av %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "kunde inte byta ägare på %s till %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "kunde inte byta grupp för %s till %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "kunde inte byta ägare på %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "ägare av %s bevarad som %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "grupp av %s bevarad som %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "ägare av %s bevarad\n" #~ msgid "cannot dereference %s" #~ msgstr "kan inte följa %s" #~ msgid "changing ownership of %s" #~ msgstr "byter ägare av %s" #~ msgid "changing group of %s" #~ msgstr "byter grupp av %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... [ÄGARE][:[GRUPP]] FIL...\n" #~ " eller: %s [FLAGGA]... --reference=RFIL FIL...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Ändra ägaren och/eller gruppen på varje FIL till ÄGARE och/eller GRUPP.\n" #~ "Med --reference, ändra ägare och grupp på varje FIL till dem hos RFIL.\n" #~ "\n" #~ " -c, --changes som \"verbose\", men rapportera endast när " #~ "ändring görs\n" #~ " --dereference ändra det varje symbolisk länk pekar på (detta " #~ "är\n" #~ " normalfallet), istället för själva länken\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=NUVARANDE_ÄGARE:NUVARANDE_GRUPP\n" #~ " byt ägare och/eller grupp endast på filer som " #~ "nu\n" #~ " tillhör den angivna ägaren och/eller gruppen. " #~ "Den\n" #~ " ena eller andra kan utelämnas, och då ställs " #~ "inget\n" #~ " krav på tillhörighet i det avseendet.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet utelämna de flesta felmeddelanden\n" #~ " --reference=RFIL använd RFILs ägare och grupp istället för att " #~ "ange\n" #~ " ÄGARE:GRUPPvärden\n" #~ " -R, --recursive arbeta med filer och kataloger rekursivt\n" #~ " -v, --verbose visa ett meddelande för varje bearbetad fil\n" #~ " --help visa denna hjälptext och avsluta\n" #~ " --version visa versionsinformation och avsluta\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Ägaren byts inte om den utelämnas. Grupp byts inte om utelämnad,\n" #~ "men byts till inloggningsgrupp om underförstådd av \":\" efter en\n" #~ "symbolisk ÄGARE. ÄGARE och GRUPP kan vara numeriska såväl som\n" #~ "symboliska.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Exempel:\n" #~ " %s root /u Ändra ägare av /u till \"root\".\n" #~ " %s root:staff /u Samma, men ändra även dess grupp till \"staff\".\n" #~ " %s -hR root /u Ändra ägare av /u och underfiller \"root\".\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s NYROT [KOMMANDO...]\n" #~ " eller: %s FLAGGA\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Kör KOMMANDO med rootkatalogen satt till NYROOT.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Om inget kommando angivs, kör \"${SHELL} -i\" (i normalfallet /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "kan inte ändra rotkatalog till %s" #~ msgid "cannot chdir to root directory" #~ msgstr "kan inte byta katalog till rotkatalog" #~ msgid "cannot run command %s" #~ msgstr "kan inte köra kommando %s" #~ msgid "%s: file too long" #~ msgstr "%s: fil för lång" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Användning: %s [FIL]...\n" #~ " eller: %s [FLAGGA]\n" #~ "\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Skriv CRC-kontrollsumma och byteantal för varje FIL.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Användning: %s [FLAGGA]... FIL1 FIL2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Jämför de sorterade filerna FIL1 och FIL2 rad för rad.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Utan flaggor produceras tre kolumner utdata. Kolumn ett innehåller\n" #~ "rader unika för FIL1, kolumn två innehåller filer unika för FIL2 och\n" #~ "kolumn tre innehåller rader gemensamma för båda filerna.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 skriv ej rader som är unika för FIL1\n" #~ " -2 skriv ej rader som är unika för FIL2\n" #~ " -3 skriv ej rader som är gemensamma för båda filerna\n" #~ msgid "clearing permissions for %s" #~ msgstr "tar bort rättigheter på %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "misslyckades att bevara ägare av %s" #~ msgid "failed to lookup file %s" #~ msgstr "misslyckades att hitta filen %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "misslyckades att bevara författarskap för %s" #~ msgid "cannot open %s for reading" #~ msgstr "kan inte öppna %s för läsning" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "hoppar över fil %s eftersom den byttes ut medan den kopierades" #~ msgid "failed to get file system create context" #~ msgstr "misslyckades att hämta skapandekontexten för filsystemet" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "misslyckades att sätta säkerhetskontexten för %s till %s" #~ msgid "cannot remove %s" #~ msgstr "kan inte ta bort %s" #~ msgid "removed %s\n" #~ msgstr "tog bort %s\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "skriver inte via en lös symbolisk länk %s" #~ msgid "cannot create regular file %s" #~ msgstr "kan inte skapa normal fil %s" #~ msgid "cannot lseek %s" #~ msgstr "kan inte göra lseek i %s" #~ msgid "writing %s" #~ msgstr "skriver %s" #~ msgid "preserving times for %s" #~ msgstr "bevarar tider på %s" #~ msgid "closing %s" #~ msgstr "stänger %s" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: försök skriva över %s, åsidosätt rättigheterna %04lo (%s)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: skriva över %s? " #~ msgid " (backup: %s)" #~ msgstr "(säkerhetskopia: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "misslyckades att återställa standardkontext för filskapande" #~ msgid "omitting directory %s" #~ msgstr "utesluter katalog %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "varning: källfil %s angiven mer än en gång" #~ msgid "%s and %s are the same file" #~ msgstr "%s och %s är samma fil" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "kan inte skriva över icke-katalog %s med katalog %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "kommer inte skriva över nyligen skapade %s med %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "kan inte skriva över katalog %s med icke-katalog" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "kan inte flytta katalog på icke-katalog: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "säkerhetskopiering av %s skulle förstöra källan; %s inte flyttad" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "säkerhetskopiering av %s skulle förstöra källan; %s inte kopierad" #~ msgid "cannot backup %s" #~ msgstr "kan inte göra säkerhetskopia %s" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "kommer inte kopiera %s genom en nyskapad symlänk %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "kan inte kopiera en katalog, %s, på sig själv, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "kommer inte skapa hård länk %s till katalog %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "kan inte skapa hård länk %s till %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "kan inte flytta %s till en underkatalog till sig själv, %s" #~ msgid "cannot move %s to %s" #~ msgstr "kan inte flytta %s till %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "flytt mellan enheter misslyckades: %s till %s; kan inte ta bort målet" #~ msgid "failed to set default file creation context to %s" #~ msgstr "misslyckades att sätta standardkontext för skapade filer till %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "kan inte kopiera cyklisk symbolisk länk %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s: kan bara skapa relativa symboliska länkar i aktuell katalog" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "kan inte skapa symbolisk länk %s till %s" #~ msgid "cannot create link %s" #~ msgstr "kan inte skapa länk %s" #~ msgid "cannot create fifo %s" #~ msgstr "kan inte skapa fifo %s" #~ msgid "cannot create special file %s" #~ msgstr "kan inte skapa specialfil %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "kan inte läsa symbolisk länk %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "kan inte skapa symbolisk länk %s" #~ msgid "%s has unknown file type" #~ msgstr "%s har okänd filtyp" #~ msgid "cannot un-backup %s" #~ msgstr "kan inte avsäkerhetskopiera %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (återta säkerhetskopia)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... [-T] KÄLLA DEST\n" #~ " eller: %s [FLAGGA]... KÄLLA... KATALOG\n" #~ " eller: %s [FLAGGA]... -t KATALOG KÄLLA...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Kopiera KÄLLA till DEST, eller flera KÄLLOR till KATALOG.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Obligatoriska argument till långa flaggor är obligatoriska även för de " #~ "korta.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive samma som -dpR\n" #~ " --backup[=STYR] gör en säkerhetskopia av varje befintlig\n" #~ " destinationsfil\n" #~ " -b som --backup men tar inget argument\n" #~ " --copy-contents kopiera innehåll i specialfiler när " #~ "rekursivt\n" #~ " -d samma som --no-dereference --" #~ "preserve=links\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force om en befintlig destinationsfil inte kan\n" #~ " öppnas, ta bort den och försök igen\n" #~ " -i, --interactive fråga innan något skrivs över\n" #~ " -H följ symboliska länkar på kommandoraden i " #~ "KÄLLA\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link länka filer istället fär att kopiera\n" #~ " -L, --dereference följ alltid symboliska länkar i KÄLLA\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference följ aldrig symboliska länkar i KÄLLA\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p samma som --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LISTA] bevara de angivna attributen (standard:\\n" #~ "\"\n" #~ " mode,ownership,timestamps), om möjligt \n" #~ " ytterligare attribut: context, links, all" #~ "\\n\"\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=ATTR_LISTA bevara inte de angivna attributen\n" #~ " --parents lägg till källsökvägen till KATALOG\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive kopiera kataloger rekursivt\n" #~ " --remove-destination ta bort varje befintlig destinationsfil " #~ "före\n" #~ " försök att öppna den (jämför med --" #~ "force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=NÄR styr skapande av glesa filer\n" #~ " --strip-trailing-slashes ta bort avslutande snedstreck från varje " #~ "KÄLLa\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link gör symboliska länkar istället för att " #~ "kopiera\n" #~ " -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen\n" #~ " -t, --target-directory=KATALOG flytta alla KÄLLOR till KATALOG\n" #~ " -T, --no-target-directory behandla DEST som en vanlig fil\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update kopiera bara när KÄLLA är nyare än\n" #~ " destinationen, eller när destinationen\n" #~ " saknas helt\n" #~ " -v, --verbose berätta vad som görs\n" #~ " -x, --one-file-system stanna inom detta filsystem\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Normalt upptäcks en gles KÄLLA med en grov heuristik och motsvarande " #~ "DEST\n" #~ "görs likaledes gles. Det beteendet väljs av --sparse=auto. Ange\n" #~ "--sparse=always för att alltid göra DEST gles när KÄLLA innehåller\n" #~ "tillräckligt långa nollbytesekvenser.\n" #~ "\n" #~ "Ange --sparse=never för att hindra skapandet av glesa filer.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Ändelsen på säkerhetskopior är \"~\" om inte annat anges av --suffix " #~ "eller\n" #~ "SIMPLE_BACKUP_SUFFIX. Versionhanteringen kan styras med --backup-flaggan " #~ "eller\n" #~ "med miljövariabeln VERSION_CONTROL. Den kan ha följande värden:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off gör aldrig säkerhetskopior (ens om --backup anges)\n" #~ " numbered, t gör numrerade säkerhetskopior\n" #~ " existing, nil numrerade om det redan finns numrerade, annars enkla\n" #~ " simple, never gör alltid enkla säkerhetskopior\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Som ett specialfall gör cp en säkerhetskopia av KÄLLA när force- och\n" #~ "backup-flaggorna är givna, och KÄLLA och DEST är samma namn på en " #~ "befintlig\n" #~ "normal fil.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "misslyckades att bevara tider för %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "misslyckades att bevara rättigheter på %s" #~ msgid "cannot make directory %s" #~ msgstr "kan inte skapa katalog %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s finns men är inte en katalog" #~ msgid "accessing %s" #~ msgstr "bearbetar %s" #~ msgid "missing file operand" #~ msgstr "filoperand saknas" #~ msgid "missing destination file operand after %s" #~ msgstr "destinationfilsoperand saknas efter %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Kan inte kombinera --target-directory (-t) och --no-target-directory (-T)" #~ msgid "target %s is not a directory" #~ msgstr "målet %s är inte en katalog" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "med --parents måste destinationen vara en katalog" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "flaggan --reply undanbedes; använd -i eller -f istället" #~ msgid "multiple target directories specified" #~ msgstr "multipla målkataloger angivna" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "kan inte göra både hårda och symboliska länkar" #~ msgid "backup type" #~ msgstr "säkerhetskopietyp" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "kan inte bevara säkerhetskontext utan en kärna med SELinux" #~ msgid "input disappeared" #~ msgstr "indata försvann" #~ msgid "%s: line number out of range" #~ msgstr "%s: radnummer utanför intervallet" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: radnummer utanför intervallet" #~ msgid " on repetition %s\n" #~ msgstr " vid upprepning %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: ingen träff" #~ msgid "error in regular expression search" #~ msgstr "fel i sökning med reguljärt uttryck" #~ msgid "write error for %s" #~ msgstr "skrivfel för %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: heltal förväntades efter avskiljare" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: upprepningsoperatorn måste avslutas med \"}\"" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: heltal krävs mellan \"{\" och \"}\"" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: avslutande avskiljare \"%c\" saknas" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: felaktigt reguljärt uttryck: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: felaktigt mönster" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: radnummer måste vara större än noll" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "radnummer %s är lägre än föregående radnummer, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "varning: radnummer %s är detsamma som föregående radnummer" #~ msgid "invalid format width" #~ msgstr "felaktig formatbredd" #~ msgid "invalid format precision" #~ msgstr "felaktig formatprecision" #~ msgid "missing conversion specifier in suffix" #~ msgstr "saknar formatbeskrivning i ändelse" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "felaktig formatbeskrivning i ändelse: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "felaktig formatbeskrivning i ändelse: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "för många %%-formatbeskrivningar i ändelse" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "saknar %%-formatbeskrivning i ändelse" #~ msgid "%s: invalid number" #~ msgstr "%s: felaktigt tal" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Användning: %s [FLAGGA]... FIL MÖNSTER...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut delar av FIL avdelade med MÖNSTER till filer \"xx00\", \"xx01" #~ "\", ...,\n" #~ "och skriv ut byte-antal för varje del till standard ut.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMAT använd sprintf-FORMAT i stället för %02d\n" #~ " -f, --prefix=PREFIX använd PREFIX i stället för \"xx\"\n" #~ " -k, --keep-files ta inte bort utfiler vid fel\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=SIFFROR använd angivet antal siffror istället för 2\n" #~ " -s, --quiet, --silent skriv inte ut storleken på utmatningsfiler\n" #~ " -z, --elide-empty-files ta bort tomma utmatningsfiler\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Läs standard in om FIL är -. Varje MÖNSTER kan vara:\n" #~ "\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " HELTAL kopiera till men ej inklusive angivet radnummer\n" #~ " /MÖNSTER/[AVSTÅND] kopiera till men ej inklusive en rad som matchar\n" #~ " %MÖNSTER%[AVSTÅND] hoppa över till men ej inklusive, en rad som " #~ "matchar\n" #~ " {HELTAL} upprepa föregående mönster HELTAL gånger\n" #~ " {*} upprepa föregående mönster så många gånger som " #~ "möjligt\n" #~ "\n" #~ "Ett radAVSTÅND är ett \"+\" eller \"-\" följt av ett positivt heltal.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "fält och positioner numreras från 1" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Användning: %s FLAGGA... [FIL]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Skriv valda delar av rader från varje FIL till standard ut.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LISTA välj endast dessa byte\n" #~ " -c, --characters=LISTA välj endast dessa tecken\n" #~ " -d, --delimiter=AVSKILJ använd AVSKILJ i stället för TAB som " #~ "fältavskiljare\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LISTA välj endast dessa fält; skriv också ut rader " #~ "som\n" #~ " saknar avkiljare, om inte flaggan -s anges\n" #~ " -n (ignorerad)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement komplementmängden till de valda byten, tecknen " #~ "eller \n" #~ " fälten.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited skriv inte ut rader som saknar fältavskiljare\n" #~ " --output-delimiter=STRÄNG använd STRÄNG som avskiljare vid " #~ "utmatning\n" #~ " standard är att avända inmatningsavskiljaren\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Använd en och endast en av -b, -c eller -f. Varje LISTA består av ett\n" #~ "intervall, eller flera intervall avskilda med komman. Utvald indata\n" #~ "skrivs i samma ordning som den läses, och skrivs exakt en gång.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Varje intervall är en av:\n" #~ "\n" #~ " N N:te byte, tecken eller fält, räknat från 1\n" #~ " N- från N:te byte, tecken eller fält, till radslut\n" #~ " N-M från N:te till och med M:te byte, tecken eller fält\n" #~ " -M från första till och med M:te byte, tecken eller fält\n" #~ "\n" #~ "Utan FIL eller när FIL är -, läs standard in.\n" #~ msgid "invalid byte or field list" #~ msgstr "felaktig byte- eller fältlista" #~ msgid "invalid range with no endpoint: -" #~ msgstr "ogiltigt intervall utan slutpunkt: -" #~ msgid "invalid decreasing range" #~ msgstr "ogiltigt sjunkande intervall" #~ msgid "byte offset %s is too large" #~ msgstr "byteposition %s är för stor" #~ msgid "field number %s is too large" #~ msgstr "fältnummer %s är för stort" #~ msgid "only one type of list may be specified" #~ msgstr "endast en sorts lista får användas" #~ msgid "the delimiter must be a single character" #~ msgstr "avskiljaren måste vara endast ett tecken" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "du måste specificera en lista med byte, tecken eller fält" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "en indataavskiljare kan endast specificeras vid arbete på fält" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "att undertrycka ej avskilda rader är endast rimligt\n" #~ "\tvid arbete på fält" #~ msgid "missing list of fields" #~ msgstr "saknar fältlista" #~ msgid "missing list of positions" #~ msgstr "saknar lista med positionsangivelser" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... [+FORMAT]\n" #~ " eller: %s [-u|--utc|--universal] [MMDDhhmm[[ÅÅ]ÅÅ][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Visa aktuell tid på angivet FORMAT, eller ställ systemklockan.\n" #~ "\n" #~ " -d, --date=STRÄNG visa tid som beskrivs av STRÄNG, inte \"nu\"\n" #~ " -f, --file=DATUMFIL samma som --date en gång per rad i DATUMFIL\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=FIL visa den tidpunkt då FIL senast modifierades\n" #~ " -R, --rfc-2822 skriv ut tid och datum enligt formatet RFC " #~ "2822\n" #~ " Exampel: Mon, 07 Aug 2006 12:34:56 +0200\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=TIDSPEC skriv ut tid och datum enligt formatet RFC " #~ "3339.\n" #~ " TIDSPEC=\"date\", \"seconds\" eller \"ns\" " #~ "för att tid\n" #~ " datum skall anges med angiven precision. " #~ "Datum-\n" #~ " och tidsdelen separeras av ett ensamt " #~ "blanktecken:\n" #~ " 2006-08-07 12:34:56+02:00\n" #~ " -s, --set=STRÄNG sätt tiden som den beskrivs i STRÄNG\n" #~ " -u, --utc, --universal sätt eller visa tiden i Universell Tid (UTC)\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "FORMAT styr utskriften. Den enda giltiga flaggan för den andra\n" #~ "formen specifierar Universell Tid (UTC). Tolkade sekvenser är:\n" #~ "\n" #~ " %% ett literalt %\n" #~ " %a lokalanpassat veckodagsnamn (t.ex. sön)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A lokalens fullständiga veckodagsnamn (t.ex. söndag)\n" #~ " %b lokalens förkortade månadsnamn (t.ex. jan)\n" #~ " %B lokalens fullständiga månadsnamn (t.ex. januari)\n" #~ " %c lokalens dag och tid (t.ex. ons 5 okt 2005 22.02.05)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C århundrade, som %Y, fast utelämna de sista två siffrorna (t.ex. " #~ "21)\n" #~ " %d dag i månad (t.ex. 01)\n" #~ " %D datum, samma som %m/%d/%y\n" #~ " %e dag i månad, blankutfyllt, samma som %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F fullständigt datum, samma som %Y-%m-%d\n" #~ " %g de sista två siffrorna i året för ISO-veckonumret (se %G)\n" #~ " %G året motsvarande ISO-veckonumret (se %V), normalt användbart " #~ "endast\n" #~ " med %V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h samma som %b\n" #~ " %H timme (00-23)\n" #~ " %I timme (01-12)\n" #~ " %j dag på året (001-366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k timme ( 0-23)\n" #~ " %l timme ( 1-12)\n" #~ " %m månad (01-12)\n" #~ " %M minut (00-59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n en ny rad\n" #~ " %N nanosekunder (000000000-999999999)\n" #~ " %p lokalens FM- eller EM-indikator (tom i många lokaler)\n" #~ " %P lokalens fm- eller em-indikator (tom i många lokaler)\n" #~ " %r lokalens tid, 12-timmars (t.ex. 10:04:26)\n" #~ " %R 24-timmars timme och minut, samma som %H:%M\n" #~ " %s sekunder sedan \"1970-01-01 00.00.00 UTC\"\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S sekunder (00-60)\n" #~ " %t en tabulator\n" #~ " %T tid, samma som %H:%M:%s\n" #~ " %u dag i veckan (1-7), 1 är måndag\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U veckonummer, med söndag som första dag i veckan (00-53)\n" #~ " %V ISO-veckonummer, med måndag som första dag i veckan (01-53)\n" #~ " %w veckodag (0-6); 0 är söndag\n" #~ " %W veckonummer, med måndag som första dag i veckan (00-53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x lokalens datumrepresentation (t.ex. 2005-10-06)\n" #~ " %X lokalens tidrepresentation (t.ex 23.43.02)\n" #~ " %y sista två siffrorna i årtalet (00-99)\n" #~ " %Y år\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z +hhmm numerisk tidszon (t.ex., -0400)\n" #~ " %:z +hh:mm numerisk tidszon (t.ex., -04:00)\n" #~ " %::z +hh:mm:ss numerisk tidszon (t.ex., -04:00:00)\n" #~ " %:::z numerisk tidszon med : som behövs för precisionen (t.ex., -04, " #~ "+05:30)\n" #~ " %Z alfabetisk tidszonsförkortning (t.ex., CET)\n" #~ "\n" #~ "Normalt fyller date ut numeriska fält med nollor.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Följande frivilliga flaggor kan komma efter \"%\":\n" #~ "\n" #~ " - (bindestreck) fyll inte ut fältet\n" #~ " _ (understrykning) fyll ut med blanksteg\n" #~ " 0 (noll) fyll ut med nollor\n" #~ " ^ använd versaler om möjligt\n" #~ " # använd motsatt skiftläge om möjligt\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Efter eventuella flaggor följer en valfri fältbredd, som ett decimalt\n" #~ "tal, sedan en valfri modifierare, som är antingen\n" #~ "E för att använda lokalens alternativa representationer om tillgängliga, " #~ "eller\n" #~ "O för att använda lokalens alternativa numeriska symboler om " #~ "tillgängliga.\n" #~ msgid "multiple output formats specified" #~ msgstr "multipla utformat angivna" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "flaggorna för att ange datum för utskrift är ömsesidigt uteslutande" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "argumenten för utskrift och för tidsinställning får inte användas " #~ "tillsammans" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "argumentet %s saknar ett inledande \"+\";\n" #~ "När en flagga argument som anger datum används måste eventuellt " #~ "argument,\n" #~ "som inte är en flagga, vara en formatsträng som börjar med \"+\"" #~ msgid "cannot set date" #~ msgstr "kan inte ställa klockan" #~ msgid "time %s is out of range" #~ msgstr "tiden %s är utanför tillåtet intervall" #~ msgid "Filesystem Type" #~ msgstr "Filsystem Typ" #~ msgid "Filesystem " #~ msgstr "Filsystem " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inoder IAnvända IFria IAnv%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Storlek Anvnt Tillg Anv%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Storlek Använt Tillg Anv%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-block Använt Tillgängl Kapacit" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-block Använt Tillgängl Anv%%" #~ msgid " Mounted on\n" #~ msgstr " Monterat på\n" #~ msgid "cannot get current directory" #~ msgstr "kan inte avgöra aktuell katalog" #~ msgid "cannot change to directory %s" #~ msgstr "kan inte byta till katalog %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "kan inte ta status på aktuell katalog (nu %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Användning: %s [FLAGGA]... [FIL]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Visa information om filsystemet där varje FIL ligger, eller annars alla\n" #~ "filsystem.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all tag med låtsasfilsystem\n" #~ " -B, --block-size=STRL använd STRL byte stora block\n" #~ " -h, --human-readable skriv storlekar i läsbart format (t.ex. 1K 234M " #~ "2G)\n" #~ " -H, --si d:o, men använd potenser av 1000 istället för " #~ "1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes skriv inodinformation istället för " #~ "blockinformation\n" #~ " -k som --block-size=1K\n" #~ " -l, --local visa endast lokala filsystem\n" #~ " --no-sync anropa inte sync innan information hämtas " #~ "(normalfall)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability använd POSIX-format\n" #~ " --sync anropa sync innan information hämtas\n" #~ " -t, --type=TYP begränsa listningen till filsystem av typen TYP\n" #~ " -T, --print-type skriv ut filsystemtyp\n" #~ " -x, --exclude-type=TYP utelämna filsystem av typ TYP\n" #~ " -v (ignorerad)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "STRL kan vara (eller kan vara ett heltal eventuellt följt av) en av de\n" #~ "följande: kB 1000, K 1024, MB 1000·1000, M 1024·1024, och så vidare\n" #~ "för G, T, P, E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "filsystemstypen %s är både vald och exkluderad" #~ msgid "Warning: " #~ msgstr "Varning: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "kan inte läsa tabellen över monterade filsystem" #~ msgid "no file systems processed" #~ msgstr "inga filsystem bearbetade" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Användning: %s [FLAGGA]... [FIL]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Skriv ut kommandon för att sätta miljövariabeln LS_COLORS.\n" #~ "\n" #~ "Bestäm utformat:\n" #~ " -b, --sh, --bourne-shell skriv kod för att sätta LS_COLORS i Bourne-" #~ "skal\n" #~ " -c, --csh, --c-shell skriv kod för att sätta LS_COLORS i C-skal\n" #~ " -p, --print-database visa standardvärden\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Om FIL anges, läs den för att bestämma vilka färger som skall användas " #~ "till\n" #~ "vilka filtyper och ändelser. Annars används en fördefinierad databas. " #~ "För\n" #~ "detaljer om formatet på dessa filer, kör \"dircolors --print-database\".\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: ogiltig rad; inget andra element" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: okänt nyckelord %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "flaggorna för att skriva ut dircolors interna databas och att välja en\n" #~ "skalsyntax är ömsesidigt uteslutande" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "Filoperander kan inte kombineras med --print-database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "ingen SHELL-miljövariabel, och ingen flagga för skalvariant angiven" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s NAMN\n" #~ " eller: %s FLAGGA\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Skriv ut NAMN med dess avslutande /komponent borttagen; om NAMN inte\n" #~ "innehåller något /, skriv \".\" (som betyder aktuell katalog)\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Exempel:\n" #~ " %s /usr/bin/sort Skriv \"/usr/bin\".\n" #~ " %s stdio.h Skriv \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... [FIL]...\n" #~ " eller: %s [FLAGGA]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Sammanfatta diskanvändningen för varje FIL, rekursivt för kataloger.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all skriv ut värden för alla filer, inte bara " #~ "kataloger\n" #~ " --apparent-size skriv skenbar storlek, istället för " #~ "diskanvändning;\n" #~ " även om den skenbara storleken normalt är " #~ "mindre, kan\n" #~ " den vara större på grund av hål i (\"glesa\") " #~ "filer,\n" #~ " intern fragmentering, indirekta block, och " #~ "liknande\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=STRL använd STRL byte stora block\n" #~ " -b, --bytes likvärdigt med \"--apparent-size --block-size=1" #~ "\"\n" #~ " -c, --total rapportera totalsumman\n" #~ " -D, --dereference-args följ endast symboliska länkar som är uppräknade " #~ "på\n" #~ " kommandoraden\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F summera diskanvändning för de NOLL-terminerade\n" #~ " filnamnen som anges i filen F\n" #~ " -H som --si, men ger också en varning; kommer snart " #~ "att\n" #~ " ändras till att bli detsamma som --dereference-" #~ "args\n" #~ " (-D)\n" #~ " -h, --human-readable skriv storlekar i läsbart format (t.ex. 1K 234M " #~ "2G)\n" #~ " --si som -h men i exponenter av 1000 istället för " #~ "1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k som --block-size=1K\n" #~ " -l, --count-links räkna storlek flera gånger för hårda länkar\n" #~ " -m som --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference följ alla symboliska länkar\n" #~ " -P, --no-dereference följ inga symboliska länkar (detta är " #~ "normalfallet)\n" #~ " -0, --null avsluta varje utrad med en 0-byte istället för " #~ "nyrad\n" #~ " -S, --separate-dirs ta inte med storlek på underkataloger\n" #~ " -s, --summarize visa bara summan för varje argument\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system hoppa över kataloger på andra filsystem\n" #~ " -X FIL, --exclude-from=FIL hoppa över filer som matchar mönster i " #~ "FIL.\n" #~ " --exclude=MÖNSTER hoppa över filer som matchar MÖNSTER.\n" #~ " --max-depth=N skriv summan för en katalog (eller fil, med --" #~ "all)\n" #~ " endast om den är N eller färre nivåer nedanför\n" #~ " kommandoradsargumentet; --maxdepth=0 är " #~ "detsamma som\n" #~ " --summarize\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time visa tiden för senaste ändring av filer i " #~ "katalogen,\n" #~ " eller någon av dess underkataloger\n" #~ " --time=ORD visa tid som ORD istället för modifieringstid:\n" #~ " atime, access, use, ctime eller status\n" #~ " --time-style=STIL visa tider med stilen STIL:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT tolkas so för \"date\"\n" #~ msgid "total" #~ msgstr "totalt" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "VARNING: använd --si, inte -H. Betydelsen av -H kommer snart ändras\n" #~ "till att bli samma som den för --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "ogiltigt maxdjup %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "flaggan --megabytes undanbedes; använd -m istället" #~ msgid "cannot both summarize and show all entries" #~ msgstr "kan inte samtidigt bara visa summan och alla storlekar" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "varning: att summera är detsamma som att använda --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "varning: att summera står i konflikt med --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Filoperander kan inte kombineras med --files0-from" #~ msgid "cannot read file names from %s" #~ msgstr "kan inte läsa filnamn från %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "när filnamn läses från standard in tillåts inte filnamnet %s" #~ msgid "invalid zero-length file name" #~ msgstr "ogiltigt filnamn med längd noll" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Användning: %s [FLAGGA]... [STRÄNG]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Eka STRÄNG(arna) till standard ut.\n" #~ "\n" #~ " -n skriv inte ut den avslutande nyraden\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e slå på tolkning av sekvenser med omvänt snedstreck " #~ "(standard)\n" #~ " -E slå av tolkning av sekvenser med omvänt snedstreck\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Om -e är aktivt kommer följande sekvenser att förstås:\n" #~ "\n" #~ " \\0NNN det tecken, vars ASCII-värde är NNN (oktalt)\n" #~ " \\\\ omvänt snedstreck\n" #~ " \\a varning (SIGNAL)\n" #~ " \\b backsteg\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c utelämna nyrad på slutet\n" #~ " \\f sidmatning\n" #~ " \\n ny rad\n" #~ " \\r vagnretur\n" #~ " \\t horisontell tabulator\n" #~ " \\v vertikal tabulator\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... [-] [NAMN=VÄRDE]... [KOMMANDO [ARG]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Sätt varje NAMN till VÄRDE i miljön och kör KOMMANDO.\n" #~ "\n" #~ " -i, --ignore-environment börja med en tom miljö\n" #~ " -u, --unset=NAMN ta bort variabeln från miljön\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Ett ensamt - medför -i. Om inget KOMMANDO, skriv ut den resulterande " #~ "miljön.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Konvertera tabulatorer i varje FIL till mellanslag, skriv till standard " #~ "ut.\n" #~ "Utan FIL eller om FIL är -, läs standard in.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial konvertera inte tabulatorer efter icke-blanktecken\n" #~ " -t, --tabs=ANTAL använd ANTAL tecken mellan tabulatorer, ej 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LISTA använd kommaseparerad lista med " #~ "tabulatorpositioner\n" #~ msgid "tab stop is too large %s" #~ msgstr "tabulatorsteg är för stort %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "tabulatorsteg innehåller felaktiga tecken: %s" #~ msgid "tab size cannot be 0" #~ msgstr "tabulatorsteg kan inte vara 0" #~ msgid "tab sizes must be ascending" #~ msgstr "tabulatorsteg måste vara stigande" #~ msgid "input line is too long" #~ msgstr "för lång rad in" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s UTTRYCK\n" #~ " eller: %s FLAGGA\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Skriv ut värdet på UTTRYCK till standard ut. En tom rad nedan separerar " #~ "grupper\n" #~ "med ökande prioritetsordning. UTTRYCK kan vara:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 om det varken är null eller 0, annars ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 om inget av argumenten är null eller 0, annars " #~ "0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 är mindre än ARG2\n" #~ " ARG1 <= ARG2 ARG1 är mindre än eller lika med ARG2\n" #~ " ARG1 = ARG2 ARG1 är lika med ARG2\n" #~ " ARG1 != ARG2 ARG1 är inte lika med ARG2\n" #~ " ARG1 >= ARG2 ARG1 är större än eller lika med ARG2\n" #~ " ARG1 > ARG2 ARG1 är större än ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 aritmetisk summa av ARG1 och ARG2\n" #~ " ARG1 - ARG2 aritmetisk differens mellan ARG1 och ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 aritmetisk produkt av ARG1 och ARG2\n" #~ " ARG1 / ARG2 aritmetisk kvot av ARG1 dividerat med ARG2\n" #~ " ARG1 % ARG2 aritmetisk rest av ARG1 dividerat med ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " STRÄNG : REGUTTR förankrad mönstersökning efter REGUTTR i STRÄNG\n" #~ "\n" #~ " match STRÄNG REGUTTR samma som STRÄNG : REGUTTR\n" #~ " subtr STRÄNG POS LÄNGD delsträng av STRÄNG, POS räknas från 1\n" #~ " index STRÄNG BOKST index i STRÄNG där BOKST påträffats, eller 0\n" #~ " length STRÄNG längden av STRÄNG\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + ELEMENT tolka ELEMENT som en sträng, även om den är " #~ "ett\n" #~ " nyckelord som \"match\" eller en operator " #~ "som \"/\"\n" #~ " ( UTTRYCK ) värdet av UTTRYCK\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Var medveten om att vissa skal tolkar många operatorer, som därför måste\n" #~ "markeras. Jämförelser är aritmetiska om båda ARG är siffror, annars\n" #~ "lexikografiska. Mönsterträffar returnerar strängen som stämmer\n" #~ "mellan \\( och \\), eller tom sträng. Om \\( och \\) inte använts, " #~ "returneras \n" #~ "antalet tecken som överensstämmer, eller 0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Slutstatus är 0 om UTTRYCK varken är tomt eller 0, 1 om UTTRYCK är tomt\n" #~ "eller 0, 2 om UTTRYCK är syntaktiskt felaktigt och 3 om ett fel uppstod.\n" #~ msgid "syntax error" #~ msgstr "syntaxfel" #~ msgid "error in regular expression matcher" #~ msgstr "fel i matchningen av reguljärt uttryck" #~ msgid "non-numeric argument" #~ msgstr "ickenumeriskt argument" #~ msgid "division by zero" #~ msgstr "division med noll" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s [TAL]...\n" #~ " eller: %s FLAGGA\n" #~ "\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut faktorerna i NUMMER. Om inget argument angivits, läs standard " #~ "in.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Skriv ut primfaktorerna till alla angivna heltal NUMMER. Om inga " #~ "argument\n" #~ "angivits på kommandoraden, läses de från standard in.\n" #~ msgid "%s is too large" #~ msgstr "%s är för stort" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s är inte ett giltigt positivt heltal" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Användning: %s [-SIFFROR] [FLAGGA]... [FIL]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Formatera om varje stycke i FIL(er), skriv till standard ut.\n" #~ "Utan FIL eller om FIL är -, läs standard in.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin bibehåll indragning av de två första raderna\n" #~ " -p, --prefix=STRÄNG formatera bara om rader som börjar med " #~ "STRÄNG\n" #~ " sätt tillbaka prefixet på omformaterade " #~ "rader\n" #~ " -s, --split-only dela långa rader, men justera ej\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph indrag av första raden inte samma som andra " #~ "raden\n" #~ " -u, --uniform-spacing ett mellanslag mellan ord, två efter " #~ "meningar\n" #~ " -w, --width=LÄNGD maximal radlängd (standardvärde 75 kolumner)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "ogiltig flagga -- %c; -RADLÄNGD accepteras bara när det är den första\n" #~ "flaggan; använd -w N istället" #~ msgid "invalid width: %s" #~ msgstr "ogiltig radlängd: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Bryt inmatade rader i varje fil (standard in som standard) och skriv " #~ "till\n" #~ "standard ut.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes räkna byte i stället för kolumner\n" #~ " -s, --spaces bryt vid mellanrum\n" #~ " -w, --width=ANTAL använd ANTAL kolumner i stället för 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "felaktigt antal kolumner: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "kunde inte avgöra grupper för användaren %s" #~ msgid "failed to get groups for the current process" #~ msgstr "kunde inte avgöra grupper för dem aktuella processen" #~ msgid "cannot find name for group ID %lu" #~ msgstr "kan inte hitta ett namn för grupp-ID %lu" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Användning: %s [FLAGGA]... [ANVÄNDARNAMN]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "Skriv ut information för ANVÄNDARNAMN eller, om inget ANVÄNDARNAMN " #~ "angavs,\n" #~ "för den aktuella processen (som är annorlunda om gruppdatabasen har " #~ "ändrats).\n" #~ msgid "%s: No such user" #~ msgstr "%s: Ingen sådan användare" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv de 10 första raderna av varje FIL till standard ut.\n" #~ "Vid fler än en FIL, föregå varje fil med ett huvud med filens namn.\n" #~ "Utan FIL eller när FIL är -, läs standard in.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N skriv de första N byte av varje fil;\n" #~ " med det inledande \"-\", skriv allt utom de " #~ "sista\n" #~ " N byte av varje fil\n" #~ " -n, --lines=[-]N skriv de första N raderna istället för de " #~ "första 10;\n" #~ " med det inledande \"-\", skriv alla utom de " #~ "sista\n" #~ " N raderna av varje fil\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent skriv aldrig huvuden med filnamn\n" #~ " -v, --verbose skriv alltid huvuden med filnamn\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "N kan ha en multiplikativ ändelse:\n" #~ "b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024,\n" #~ "GB 1000·1000·1000, G 1024·1024·1024, och så vidare för T, P, E, Z, Y.\n" #~ msgid "error reading %s" #~ msgstr "fel vid läsning av %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: filen har krympt för mycket" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: antal byte är för stort" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: kan inte söka tillbaka till startposition" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: kan inte söka till position %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "kan inte flytta filpekaren för %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s är så stor att den inte kan representeras" #~ msgid "number of lines" #~ msgstr "antal rader" #~ msgid "number of bytes" #~ msgstr "antal byte" #~ msgid "invalid number of lines" #~ msgstr "felaktigt antal rader" #~ msgid "invalid number of bytes" #~ msgstr "felaktigt antal byte" #~ msgid "invalid trailing option -- %c" #~ msgstr "ogiltig avslutande flagga -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Användning: %s\n" #~ " eller: %s FLAGGA\n" #~ "Skriv ut den numeriska identifieraren (i hexadecimal form) för aktuell " #~ "värd.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Användning: %s [NAMN]\n" #~ " eller: %s FLAGGA\n" #~ "Skriv ut eller ställ in värdnamnet på aktuellt system.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "kan inte sätta namnet till %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "kan inte sätta värdnamn; detta system saknar denna funktionen" #~ msgid "cannot determine hostname" #~ msgstr "kan inte avgöra värdnamnet" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Skriv ut information om ANVÄNDARNAMN, eller den aktuella användaren.\n" #~ "\n" #~ " -a ignoreras, finns för kompabilitet med andra versioner\n" #~ " -Z, --context skriv endast säkerhetskontexten för den aktuella " #~ "användaren\n" #~ " -g, --group skriv endast gällande grupp-id\n" #~ " -G, --groups skriv alla grupp-id\n" #~ " -n, --name skriv ett namn i stället för ett nummer, gäller -ugG\n" #~ " -r, --real skriv verklig ID i stället för den gällande, gäller -" #~ "ugG\n" #~ " -u, --user skriv endast gällande användar-id\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Utan någon FLAGGA skrivs lite användbar, identifierad information ut.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "--context (-Z) fungerar endast med en kärna med SELinux" #~ msgid "cannot print security context when user specified" #~ msgstr "kan inte visa säkerhetskontext när en användare är angiven" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "kan inte visa kontext när selinux inte är aktiverat eller när id för en\n" #~ "annan användare visas" #~ msgid "can't get process context" #~ msgstr "kan inte få processkontexten" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "kan inte skriva \"endast\" för mer än ett val" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "kan inte skriva ut bara namn eller faktiskt ID på standardformat" #~ msgid "cannot find name for user ID %lu" #~ msgstr "kan inte hitta ett namn för användar-ID %lu" #~ msgid " groups=" #~ msgstr " grupper=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "varning: %s: misslyckades att byta kontext till %s" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Varning: ignorerar --preserve-context; denna kärna har inte SELinux." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "Varning: ignorerar --context (-Z); denna kärna har inte SELinux." #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "strip-flaggan kan inte användas vid installation av en katalog" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "målkatalog kan inte användas vid installation av en katalog" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "det går inte att tvinga målkontext till %s och bevara den" #~ msgid "invalid mode %s" #~ msgstr "ogiltig rättighet %s" #~ msgid "cannot change ownership of %s" #~ msgstr "kan inte byta ägare av %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "kan inte sätta tidsstämpel för %s" #~ msgid "fork system call failed" #~ msgstr "systemanropet fork misslyckades" #~ msgid "cannot run strip" #~ msgstr "kan inte köra strip" #~ msgid "waiting for strip" #~ msgstr "väntar på strip" #~ msgid "strip process terminated abnormally" #~ msgstr "strip-processen slutade onormalt" #~ msgid "invalid user %s" #~ msgstr "ogiltig användare %s" #~ msgid "invalid group %s" #~ msgstr "ogiltig grupp %s" #~ msgid "creating directory %s" #~ msgstr "skapar katalog %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... [-T] KÄLLA DEST\n" #~ " eller: %s [FLAGGA]... KÄLLA... KATALOG\n" #~ " eller: %s [FLAGGA]... -t KATALOG KÄLLA...\n" #~ " eller: %s [FLAGGA]... -d KATALOG...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "De första tre formaten kopierar KÄLLA till DEST eller flera KÄLLor till\n" #~ "en befintlig KATALOG, samtidigt som rättigheter och ägare/grupp sätts.\n" #~ "Det fjärde formatet skapar KATALOG(er) inklusive eventuella " #~ "föräldrakataloger.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=STYR] säkerhetskopiera varje befintlig destination\n" #~ " -b som --backup, fast tar inget argument\n" #~ " -c (ignoreras)\n" #~ " -d, --directory betrakta alla argument som kataloger; skapa dem\n" #~ " inklusive eventuella föräldrakataloger\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D skapa alla föräldrakataloger till DEST; kopiera " #~ "sedan\n" #~ " KÄLLA till DEST\n" #~ " -g, --group=GRUPP sätt grupptillhörighet, istället för processens " #~ "grupp\n" #~ " -m, --mode=RÄTTIGHET sätt rättigheter (som för chmod), istället för " #~ "rwxr-xr-x\n" #~ " -o, --owner=ÄGARE sätt ägare (endast superanvändare)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps sätt KÄLLors åtkomst- och modifikationstid " #~ "även på\n" #~ " destinationsfiler\n" #~ " -s, --strip ta bort symboltabeller\n" #~ " -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen\n" #~ " -t, --target-directory=KATALOG kopiera alla KÄLLargument till KATALOG\n" #~ " -T, --no-target-directory behandla DEST som en vanlig fil\n" #~ " -v, --verbose skriv namnet på varje katalog som skapas\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context bevara SELinux-säkerhetskontext\n" #~ " -Z, --context=KONTEXT sätt SELinux-säkerhetskontext på filer och " #~ "kataloger\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ändelsen på säkerhetskopior är \"~\" om inte annat anges av --suffix " #~ "eller\n" #~ "SIMPLE_BACKUP_SUFFIX. Versionhanteringen kan styras med --backup-flaggan " #~ "eller\n" #~ "med miljövariabeln VERSION_CONTROL. Den kan ha följande värden:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "För varje par av inmatade rader med identiska join-fält, skriv en rad\n" #~ "till standard ut. Om inget annat anges används det första fältet som\n" #~ "join-fält avskiljda med blanktecken. När FIL1 eller FIL2 (inte båda)\n" #~ "är -, läs standard in.\n" #~ "\n" #~ " -a FILNUM skriv omatchade rader från fil FILNUM, där FILNUM är 1 " #~ "eller\n" #~ " 2, motsvarande FIL1 eller FIL2\n" #~ " -e TOM ersätt tomma inmatningsfält med TOM\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case ignorera skiftläge när fält jämförs\n" #~ " -j FÄLT samma som \"-1 FÄLT -2 FÄLT\"\n" #~ " -o FORMAT följ FORMAT när utskriftsrader konstrueras\n" #~ " -t TECKEN använd TECKEN som fältseparator för in- och " #~ "utmatning\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v FILNUM som -a FILNUM, men undertrycker förenade utmatade " #~ "rader\n" #~ " -1 FÄLT förena med FÄLT i fil 1\n" #~ " -2 FÄLT förena med FÄLT i fil 2\n" #~ " --check-order kontrollera att indata är korrekt sorterad, även om\n" #~ " alla indatarader går att para ihop\n" #~ " --nocheck-order kontrollera inte att indata är korrekt sorterad\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Om inte -t TECKEN är givet, separeras fält av inledande mellanslag\n" #~ "som ignoreras, annars separeras fält av TECKEN. Varje FÄLT är ett\n" #~ "fältnummer räknat från 1. FORMAT är en eller flera specifikationer\n" #~ "åtskilda med komma eller mellanslag, var och en är \"FILNUM.FÄLT\"\n" #~ "eller \"0\". Normalvärdet för FORMAT skriver ut de förenade fälten, de\n" #~ "kvarvarande fälten från FIL1, de kvarvarande fälten från FIL2, allt\n" #~ "separerat med TECKEN.\n" #~ "\n" #~ "Viktigt: FIL1 och FIL2 måste vara sorterade på föreningsfälten.\n" #~ "T.ex., använd \"sort -k 1b,1\" om \"join\" inte har några flaggor.\n" #~ "Om indata inte är sorterad och några rader inte kan förenas, ges ett\n" #~ "varningsmeddelande.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "Fil %d är inte i sorterad ordning" #~ msgid "invalid field number: %s" #~ msgstr "felaktigt fältnummer: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "felaktig fältspecifikation: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "felaktigt filnummer i fältspec: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "inkompatibla join-fält %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "motsägelsefulla ersättningssträngar för tomma fält" #~ msgid "empty tab" #~ msgstr "tom tabulator" #~ msgid "multi-character tab %s" #~ msgstr "flerteckenstabulator %s" #~ msgid "incompatible tabs" #~ msgstr "inkompatibla tabulatorer" #~ msgid "both files cannot be standard input" #~ msgstr "båda filerna kan inte vara standard in" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Användning: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " eller: %s -l [SIGNAL]...\n" #~ " eller: %s -t [SIGNAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Skickar signaler till processer, eller räknar upp signaler.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " ange namnet eller numret på signalen som skall " #~ "skickas\n" #~ " -l, --list räkna upp signalnamn, eller konvertera signalnamn till/" #~ "från\n" #~ " nummer\n" #~ " -t, --table skriv en tabell med signalinformation\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SIGNAL kan vara ett signalnamn som \"HUP\" eller ett signalnummer som\n" #~ "\"1\", eller en slutstatus från en process avslutad av en signal. PID\n" #~ "är ett heltal; om det är negativt identifierar det en processgrupp.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: felaktig signal" #~ msgid "%s: invalid process id" #~ msgstr "%s: ogiltigt process-id" #~ msgid "invalid option -- %c" #~ msgstr "ogiltig flagga -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: flera signaler angivna" #~ msgid "multiple -l or -t options specified" #~ msgstr "multipla -l eller -t-flaggor angivna" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "kan inte kombinera signal med -l eller -t" #~ msgid "no process ID specified" #~ msgstr "inget process-ID angivet" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s FIL1 FIL2\n" #~ " eller: %s [FLAGGA]\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Anropa funktionen link för att skapa en länk som heter FIL2 till en\n" #~ "befintlig FIL1.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "kan inte skapa länk %s till %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: varning: att göra en hård länk till en symbolisk länk är inte " #~ "portabelt" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: hård länk inte tillåten för katalog" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: kan inte skriva över katalog" #~ msgid "%s: replace %s? " #~ msgstr "%s: ersätt %s? " #~ msgid "creating symbolic link %s" #~ msgstr "skapar symbolisk länk %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "skapar symbolisk länk %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "skapar hård länk till %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "skapar hård länk %s" #~ msgid "creating hard link %s => %s" #~ msgstr "skapar hård länk %s => %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... [-T] MÅL LÄNKNAMN (format 1)\n" #~ " eller: %s [FLAGGA]... MÅL (format 2)\n" #~ " eller: %s [FLAGGA]... MÅL... KATALOG (format 3)\n" #~ " eller: %s [FLAGGA]... -t KATALOG MÅL... (format 4)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "I det första formatet, skapa en link till MÅL med namnet LÄNKNAMN.\n" #~ "I det andra formatet, skapa en länk till MÅL i aktuell katalog.\n" #~ "I de tredje och fjärde formaten, skapa länkar till varje MÅL i KATALOG.\n" #~ "Skapa hårda länkar om inget annat anges, symboliska länkar med\n" #~ "--symbolic. När hårda länkar skapas måste varje MÅL existera.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=STYR] säkerhetskopiera varje befintlig " #~ "destination\n" #~ " -b som --backup, fast tar inget argument\n" #~ " -d, -F, --directory tillåt superanvändaren att försöka hårt " #~ "länka\n" #~ " kataloger (obs: detta kommer formodligen\n" #~ " misslyckas på grund av " #~ "systemrestriktioner,\n" #~ " även för superanvändaren)\n" #~ " -f, --force ta bort befintliga destinationsfiler\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference behandla destination som är symbolisk länk " #~ "till\n" #~ " en katalog som om det vore en vanlig fil\n" #~ " -i, --interactive fråga om destinationer skall tas bort\n" #~ " -s, --symbolic gör symboliska länkar istället för hårda\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen\n" #~ " -t, --target-directory=KATALOG ange KATALOG som länkarna skall skapas " #~ "i\n" #~ " -T, --no-target-directory behandla LÄNKNAMN som en vanlig fil\n" #~ " -v, --verbose skriv namnet på varje länkad fil\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "Kan inte kombinera --target-directory och --no-target-directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Användning: %s [FLAGGA]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut namnet på aktuell användare.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "inget inloggningsnamn" # Dessa två format skall expandera till samma längd. (Det finns en # kommentar omedelbart innan dem i koden om det. Hur får man xgettext # att ta med kommentarer?) #~ msgid "%b %e %Y" #~ msgstr "%e %b %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%e %b %H.%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "ignorerar ogiltigt värde på miljövariabeln QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "ignorerar felaktig bredd i miljövariabeln COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "ignorerar felaktigt tabulatorsteg i miljövariabeln TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "felaktig radlängd: %s" #~ msgid "invalid tab size: %s" #~ msgstr "felaktigt tabulatorsteg %s" #~ msgid "invalid time style format %s" #~ msgstr "felaktigt tidsstilsformat %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "okänt prefix: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "obegripligt värde på LS_COLORS-miljövariabeln" #~ msgid "cannot open directory %s" #~ msgstr "kan inte öppna katalog %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "kan inte avgöra enhet och inod för %s" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: listar inte redan listad katalog" #~ msgid "closing directory %s" #~ msgstr "stänger katalog %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "kan inte jämföra filnamnen %s och %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Visa information om FILerna (aktuell katalog om inget anges). Sortera\n" #~ "posterna alfabetiskt om ingen av -cftuvSUX eller --sort anges.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all bortse inte från poster som inleds med .\n" #~ " -A, --almost-all lista inte underförstådda . och ..\n" #~ " --author med -l, skriv ut författare för varje fil\n" #~ " -b, --escape skriv oktala koder för ickegrafiska tecken\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=STORLEK använd STORLEK byte stora block\n" #~ " -B, --ignore-backups lista inte underförstådda poster som slutar " #~ "på ~\n" #~ " -c med -lt: sortera efter och visa ctime, (tid " #~ "för\n" #~ " senaste ändring av filstatusinformation)\n" #~ " med -l: visa ctime och sortera " #~ "alfabetiskt\n" #~ " annars: sortera efter ctime\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C lista poster kolumnvis\n" #~ " --color[=NÄR] ange om färger skall användas för att " #~ "särskilja\n" #~ " filetyper. NÄR kan vara \"never\", " #~ "\"always\"\n" #~ " eller \"auto\".\n" #~ " -d, --directory lista kataloger istället för deras " #~ "innehåll,\n" #~ " och följ inte symboliska länkar\n" #~ " -D, --dired anpassa utdata för Emacs dired-funktion\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f sortera inte, slå på -aU, slå av -ls --" #~ "color\n" #~ " -F, --classify lägg till en indikator (en av */=>@|) till " #~ "poster\n" #~ " --file-type detsamma, med undantag av \"*\"\n" #~ " --format=ORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time som -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g som -l, men skriv inte ut ägare\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " gruppera kataloger före filer.\n" #~ " utöka med en flagga --sort, men " #~ "användning\n" #~ " av --sort=none (-U) avaktiverar " #~ "gruppering\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group i långa listningar: skriv inte ut gruppnamn\n" #~ " -h, --human-readable skriv storlekar i läsbart format (t.ex. 1K " #~ "234M 2G)\n" #~ " -H, --si d:o, men använd potenser av 1000, inte 1024\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " följ symboliska länkar angivna på " #~ "kommandoraden\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " följ varje kommandoradsargument som är en " #~ "symbolisk\n" #~ " länk som pekar på en katalog\n" #~ " --hide=MÖNSTER visa inte underförstådda poster som matchar " #~ "MÖNSTER\n" #~ " (åsidosätts av -a eller -A)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=ORD lägg till en indikator med stil ORD till " #~ "postnamn:\n" #~ " none (standard), slash (-p),\n" #~ " file-type (-p), classify (-F)\n" #~ " -i, --inode visa indexnummer för varje fil\n" #~ " -I, --ignore=MÖNSTER visa inte underförstådda poster som matchar\n" #~ " skalMÖNSTER\n" #~ " -k som --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l använd långt listningsformat\n" #~ " -L, --dereference när filinformation visas för en symbolisk " #~ "länk,\n" #~ " visa information om filen länken " #~ "refererar\n" #~ " snarare än för själva länken\n" #~ " -m fyll bredden med en kommaseparerad lista av " #~ "poster\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid som -l, men lista numeriska användar- och " #~ "gruppid\n" #~ " -N, --literal skriv ut råa postnamn (specialbehandla inte\n" #~ " kontrolltecken till exempel)\n" #~ " -o som -l, men lista inte gruppinformation\n" #~ " -p, --indicator-style=slash\n" #~ " lägg till en /-indikator till kataloger\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars skriv ? istället för ickegrafiska tecken\n" #~ " --show-control-chars visa ickegrafiska tecken som de är " #~ "(normalfall utom\n" #~ " om programmet är \"ls\" och utdata är en " #~ "terminal)\n" #~ " -Q, --quote-name omge postnamnen med citationstecken\n" #~ " --quoting-style=ORD använd citationsstil ORD för postnamn:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse sortera baklänges\n" #~ " -R, --recursive visa underkataloger rekursivt\n" #~ " -s, --size skriv storleken i block för varje fil\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S sortera efter filstorlek\n" #~ " --sort=ORD sortera ORDvis istället för efter namn: none " #~ "-U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=ORD visa tid som ORD istället för " #~ "modifieringstid:\n" #~ " atime, access, use, ctime eller status; " #~ "använd\n" #~ " angiven tid som sorteringsnyckel om --" #~ "sort=time\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STIL med -l, visa tider i med stil STIL:\n" #~ " full-iso, long-sio, iso, locale, +FORMAT\n" #~ " FORMAT tolkas som \"date\"; om FORMAT är\n" #~ " FORMAT1FORMAT2, används FORMAT1 för " #~ "gamla\n" #~ " filer och FORMAT2 för nyare filer;\n" #~ " vid tillägg av prefixet \"posix-\" till " #~ "STIL, gäller\n" #~ " STIL endast utanför lokalen POSIX\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t sortera efter modifieringstid\n" #~ " -T, --tabsize=KOLUMN antag tabulatorsteg varje KOLUMN, inte var 8:" #~ "e\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u med -lt: sortera efter och visa åtkomsttid\n" #~ " med -l: visa åtkomsttid men sortera " #~ "alfabetiskt\n" #~ " annars: sortera enligt åtkomsttid\n" #~ " -U sortera inte; lista poster i katalogordning\n" #~ " -v sortera efter version\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=KOLUMN anta skärmbredd istället för aktuellt värde\n" #~ " -x lista poster radvis istället för kolumnvis\n" #~ " -X sortera alfabetiskt efter ändelser\n" #~ " -Z, --context skriv eventuell SELinuxsäkerhetskontext för\n" #~ " varje fil\n" #~ " -1 lista en fil per rad\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Normalt används inte färger för att särskilja filtyper. Det är " #~ "likvärdigt\n" #~ "med att ange --color=none. Att använda flaggan --color utan något NÄR " #~ "är\n" #~ "detsamma som att ange --color=always. Med --color=auto används " #~ "färgkodning\n" #~ "endast om standard ut är en terminal (tty). Miljövariabeln LS_COLORS " #~ "kan\n" #~ "påverka färgerna, och kan lätt sättas av kommandot dircolors.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Slutstatus är 0 om OK, 1 vid smärre problem, 2 vid allvarligare " #~ "bekymmer.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Användning: %s [FLAGGA] [FIL]...\n" #~ "Skriv eller kontrollera %s (%d-bitars) kontrollsummor.\n" #~ "Utan FIL eller om FIL är -, läs standard in.\n" #~ "\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary läs i binärt läge (standard om inte standard in " #~ "läses)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary läs i binärt läge\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check läs %s-summor från FILen och kontrollera dem\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text läs i textläge (standard om standard in läses)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text läs i textläge (standard)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "De två följande flaggorna är användbara enbart vid verifikation av\n" #~ "kontrollsummor:\n" #~ " --status skriv inte ut något, statuskoden visar " #~ "resultatet\n" #~ " -w, --warn varna för felaktigt formaterade " #~ "kontrollsummerader\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Summorna beräknas så som beskrivs i %s. Vid kontroll ska indata vara\n" #~ "tidigare utdata från detta program. Normalläge är att skriva en rad\n" #~ "med en kontrollsumma, ett tecken som indikerar typen (\"*\" för binärt,\n" #~ "\" \" för text), och namnet på varje fil.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: för många kontrollsummerader" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: felaktigt formaterad %s-kontrollsummerad" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: MISSLYCKADES att öppna eller läsa\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: läsfel" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: inga korrekt formaterade %s-kontrollsummerader funna" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "VARNING: % av % listad fil kunde inte läsas" #~ msgstr[1] "VARNING: % av % listade filer kunde inte läsas" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "VARNING: % av % beräknad kontrollsumma stämde INTE" #~ msgstr[1] "" #~ "VARNING: % av % beräknade kontrollsummor stämde INTE" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "flaggorna --binary och --text är meningsfulla enbart när kontrollsummor\n" #~ "verifieras" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "" #~ "flaggan --status är meningsfull enbart när kontrollsummor verifieras" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "flaggan --warn är meningsfull enbart när kontrollsummor verifieras " #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Användning: %s [FLAGGA] KATALOG...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Skapa KATALOG(er), om de inte redan finns.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=RÄTTIGHET sätt filrättigheter (som i chmod), inte rwxrwxrwx " #~ "- umask\n" #~ " -p, --parents inget fel om den finns, gör föräldrakataloger vid " #~ "behov\n" #~ " -v, --verbose skriv meddelande för varje skapad katalog\n" #~ " -Z, --context=KTX sätt SELinuxsäkerhetskontexten på varje skapad " #~ "katalog\n" #~ " till KTX\n" #~ msgid "created directory %s" #~ msgstr "skapade katalog %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Användning: %s [FLAGGA] NAMN...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Skapa namngivna rör (FIFO) med de givna NAMNen.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=KTX sätt SELinux-säkerhetskontexten på varje NAMN till " #~ "KTX\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=RÄTTIGHET sätt filrättighetsbitar till RÄTTIGHET, inte a=rw " #~ "- umask\n" #~ msgid "invalid mode" #~ msgstr "felaktig rättighet" #~ msgid "mode must specify only file permission bits" #~ msgstr "rättigheter måste ange endast filrättighetsbitar" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Användning: %s [FLAGGA]... NAMN TYP [ÖVRE LÄGRE]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Skapa specialfilen NAMN av angiven TYP.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr "" #~ " -Z, --context=KTX sätt SELinux-säkerhetskontexten på NAMN till KTX\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Både ÖVRE och LÄGRE måste anges när TYP är b, c eller u, och de får\n" #~ "inte anges när TYP är p. Om ÖVRE eller LÄGRE börjar med 0x eller 0X\n" #~ "tolkas det som hexadecimalt; annars, om det börjar med 0 som oktalt;\n" #~ "annars som decimalt. TYP får vara:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b skapa en (buffrad) blockspecialfil\n" #~ " c, u skapa en (obuffrad) teckenspecialfil\n" #~ " p skapa en FIFO\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "Specialfiler kräver övre och undre enhetsnummer" #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Fifo:er har inte övre och undre enhetsnummer." #~ msgid "block special files not supported" #~ msgstr "blockspecialfiler stöds inte" #~ msgid "character special files not supported" #~ msgstr "teckenspecialfiler stöds inte" #~ msgid "invalid major device number %s" #~ msgstr "ogiltigt övre enhetsnummer %s" #~ msgid "invalid minor device number %s" #~ msgstr "ogiltigt undre enhetsnummer %s" #~ msgid "invalid device %s %s" #~ msgstr "ogiltig enhet %s %s" #~ msgid "invalid device type %s" #~ msgstr "ogiltig enhetstyp %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Användning: %s [FLAGGA]... [MALL]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "skapa en temporarfil eller -katalog, säkert, och skriv dess namn.\n" #~ "Om MALL inte är angivet, använd tmp.XXXXXXXXXX.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory skapa en katalog, inte en fil\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet utelämna meddelanden när det inte går att skapa filer/" #~ "kataloger\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr " -u, --dry-run skapa ingenting, skriv bara ett namn (osäkert)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=KAT] tolka MALL relativt KAT. Om KAT inte anges använd\n" #~ " $TMPDIR om den är satt, annars /tmp. Med denna " #~ "flagga\n" #~ " får MALL inte vara ett absolut namn. Till skillnad " #~ "mot\n" #~ " -t, får MALL innehålla snedstreck, men även då " #~ "skapar\n" #~ " mktemp endast den sista komponenten.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr "" #~ " -p KAT använd KAT som ett prefix, implicerar -t [undanbedes]\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t tolka MALL som en ensam filnamnskomponent,\n" #~ " relativt en katalog: $TMPDIR, om det är satt, " #~ "annars\n" #~ " katalogen som angetts via -p, annars /tmp " #~ "[undanbedes]\n" #~ msgid "too many templates" #~ msgstr "för många mallar" #~ msgid "too few X's in template %s" #~ msgstr "för få X i mallen %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "ogiltig mall, %s, innehåller katalogseparator" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "ogiltig mall, %s, med --tmpdir får den inte vara absolut" #~ msgid "failed to create directory via template %s" #~ msgstr "misslyckades att skapa en katalog via mallen %s" #~ msgid "failed to create file via template %s" #~ msgstr "misslyckades att skapa en fil via mallen %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Byt namn på KÄLLA till DEST eller flytta KÄLLor till KATALOG.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=STYR] säkerhetskopiera varje befintlig " #~ "destination\n" #~ " -b som --backup, fast tar inget argument\n" #~ " -f, --force fråga inte innan något skrivs över\n" #~ " -i, --interactive fråga innan något skrivs över\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes ta bort avslutande snedstreck från " #~ "varje \n" #~ " KÄLLargument\n" #~ " -S, --suffix=ÄNDELSE ersätt den vanliga säkerhetskopieändelsen\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=KATALOG flytta alla KÄLLargument in i KATALOG\n" #~ " -T, --no-target-directory behandla DEST som en vanlig fil\n" #~ " -u, --update flytta nedast när KÄLLfilen är nyare än\n" #~ " destinationsfilen eller när " #~ "destinationsfilen\n" #~ " inte finns\n" #~ " -v, --verbose förklara vad som görs\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Användning: %s [FLAGGA] [KOMMANDO [ARG]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Kör KOMMANDO med justerat nice-värde, vilket påverkar processens\n" #~ "schemaläggning. Utan KOMMANDO skrivs nuvarande nice-värde.\n" #~ "Nice-värden går från %d (mest gynnad schemaläggning) till %d (minst\n" #~ "gynnad).\n" #~ "\n" #~ " -n, --adjustment=N lägg till heltalet N till nice-värdet (10 som " #~ "standard)\n" #~ msgid "invalid adjustment %s" #~ msgstr "felaktigt justering %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "ett kommando måste anges med en justering" #~ msgid "cannot get niceness" #~ msgstr "kan inte avgöra nice-värde" #~ msgid "cannot set niceness" #~ msgstr "kan inte sätta nice-värde" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv varje FIL till standard ut och lägg till radnummer.\n" #~ "Utan FIL eller om FIL är -, läs standard in.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STIL använd STIL för att numrera rader i " #~ "kroppen\n" #~ " -d, --section-delimiter=CC använd CC för att avgränsa logiska " #~ "sidor\n" #~ " -f, --footer-numbering=STIL använd STIL för att numrera rader i " #~ "fot\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STIL använd STIL för att numrera rader i " #~ "huvud\n" #~ " -i, --page-increment=ANTAL öka radnummer med ANTAL för varje rad\n" #~ " -l, --join-blank-lines=ANTAL grupp med ANTAL tomma rader räknade som " #~ "en\n" #~ " -n, --number-format=FORMAT följ FORMAT när radnummer sätts in\n" #~ " -p, --no-renumber börja inte om radnummer vid logiska " #~ "sidor\n" #~ " -s, --number-separator=STRÄNG lägg till STRÄNG efter (möjligt) " #~ "radnummer\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=NUMMER första radnumret på varje logisk sida\n" #~ " -w, --number-width=ANTAL använd ANTAL kolumner för radnummer\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "I normalläge används -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC\n" #~ "består av två tecken för att avskilja logiska sidor, saknas andra\n" #~ "tecknet menas :. Skriv \\\\ för \\. STIL är någon av:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a numrera alla rader\n" #~ " t numrera endast icketomma rader\n" #~ " n numrera inga rader\n" #~ " pGRU numrera endast rader som stämmer med det grundläggande " #~ "reguljära\n" #~ " uttrycket, GRU\n" #~ "\n" #~ "FORMAT är någon av:\n" #~ "\n" #~ " ln vänsterjusterat, inga inledande nollor\n" #~ " rn högerjusterat, inga inledande nollor\n" #~ " rz högerjusterat, inledande nollor\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "spill i radnummer" #~ msgid "invalid header numbering style: %s" #~ msgstr "felaktig stil för numrering av sidhuvud: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "felaktig stil för numrering av kropp: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "felaktig stil för numrering av sidfot: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "felaktigt första radnummer: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "felaktig ökning av radnummer: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "felaktigt antal tomma rader: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "felaktig bredd på radnumrets fält: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "felaktigt format på radnummer: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s KOMMANDO [ARGUMENT]...\n" #~ " eller: %s FLAGGA\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Kör KOMMANDO, ignorera avringningssignaler.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Om standard in är en terminal, omdirigera den från /dev/null.\n" #~ "Om standard ut är en terminal, lägg till utdata till \"nohup.out\" om " #~ "möjligt,\n" #~ "\"$HOME/nohup.out\" annars.\n" #~ "Om standard fel är en terminal, omdirigera den till standard ut.\n" #~ "För att spara utadata till FIL, använd \"%s KOMMANDO > FIL\".\n" #~ msgid "ignoring input" #~ msgstr "ignorerar indata" #~ msgid "failed to open %s" #~ msgstr "misslyckades att öppna %s" #~ msgid "ignoring input and appending output to %s" #~ msgstr "ignorerar indata och lägger till utdata till %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "" #~ "misslyckades att ställa in kopian av standard fel att stängas vid exec" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "ingorerar indata och omdirigerar standard fel och standard ut" #~ msgid "failed to redirect standard error" #~ msgstr "misslyckades att omdirigera standard fel" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... [FIL]...\n" #~ " eller: %s [-abcdfilosx]... [FIL] [[+]FÖRSKUTNING[.][b]]\n" #~ " eller: %s --traditional [FLAGGA]... [FIL] [[+]FÖRSKUTNING[.][b] [+]" #~ "[ETIKETT][.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Skriv en otvetydig representation, normalt oktala tecken, av FIL till\n" #~ "standard ut. Med mer än ett FIL-argument, slå samman dem i den\n" #~ "angivna orningen som indata. Utan FIL eller om FIL är -, läs standard\n" #~ "in.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "Alla argument till långa flaggor är obligatoriska korta flaggor.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=RADIX avgör hur filposition skrivs\n" #~ " -j, --skip-bytes=BYTE hoppa först över BYTE byt i indata\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BYTE begränsa utmatning till BYTE byte från " #~ "indata\n" #~ " -S, --strings[=BYTE] skriv ut strängar med minst BYTE grafiska " #~ "tecken\n" #~ " -t, --format=TYP välj format för utmatning\n" #~ " -v, --output-duplicates använd inte * för att markera undertryckta " #~ "rader\n" #~ " -w, --width[=BYTE] skriv ut BYTE byte per rad\n" #~ " --traditional acceptera argument i traditionellt format\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Traditionella formatspecifikationer kan blandas, de ackumuleras:\n" #~ " -a samma som -t a, välj namngivna tecken, ingorera höga biten\n" #~ " -b samma som -t o1, välj oktala byte\n" #~ " -c samma som -t c, välj ASCII-tecken eller sekvenser med omvänt " #~ "snedstreck\n" #~ " -d samma som -t u2, välj 2-bytenheter, utan tecken, decimalt\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f samma som -t fF, välj flyttal\n" #~ " -i samma som -t dI, välj decimala heltal\n" #~ " -l samma som -t dL, välj decimala långa heltal\n" #~ " -o samma som -t o2, välj oktala 2-byteenheter\n" #~ " -s samma som -t d2, välj decimala 2-byteenheter\n" #~ " -x samma som -t x2, välj hexadecimala 2-bytenheter\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Om både det första och andra anropsformatet är tillämpligt, används\n" #~ "det andra formate om den sista operanden börjar med + eller (om det\n" #~ "finns två operander) en siffra. En operand FÖRSKJUTNING betyder -j\n" #~ "FÖRSKJUTNING. ETIKETT är den första skrivna bytens pseudoadress,\n" #~ "vilken ökas så länge utmatningen pågår. För FÖRSKJUTNING och ETIKETT\n" #~ "indikerar förstavelserna 0x eller 0X hexadecimalt, ändelser kan vara\n" #~ ". för oktalt och b multiplicerar med 512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "TYP skapas av en eller fler av dessa specifikationer:\n" #~ "\n" #~ " a namngivet tecken, ignorera höga biten\n" #~ " c ASCII-tecken eller sekvens med omvänt snedstreck\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[STORLEK] decimalt med tecken, STORLEK byte per heltal\n" #~ " f[STORLEK] flyttal, STORLEK byte per heltal\n" #~ " o[STORLEK] oktalt, STORLEK byte per heltal\n" #~ " u[STORLEK] decimalt utan tecken, STORLEK byte per heltal\n" #~ " x[STORLEK] hexadecimalt, STORLEK byte per heltal\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "STORLEK är ett tal. För TYP doux, kan STORLEK också vara C för\n" #~ "sizeof(char), S för sizeof(short), I för sizeof(int) eller L för\n" #~ "sizeof(long). Om TYP är f, kan STORLEK också var F för sizeof(float), D\n" #~ "för sizeof(double) eller L för sizeof(long double).\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "RADIX är d för decimalt, o för oktalt, x för hexadecimalt eller n för " #~ "inget.\n" #~ "BYTE är hexadecimalt med 0x eller 0X som prefix, och kan ha ett " #~ "multiplikativt\n" #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024,\n" #~ "GB 1000·1000·1000, G 1024·1024·1024, and so on for T, P, E, Z, Y.\n" #~ "Genom att lägga till ett z till någon typ visas skrivbara tecken på " #~ "slutet av\n" #~ "varje rad. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string utan ett tal implicerar 3. --width utan ett tal implicerar\n" #~ "32. I normalläge använder od -A o -t d2 -w16.\n" #~ msgid "invalid type string %s" #~ msgstr "ogiltig typsträng %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "ogiltig typsträng %s;\n" #~ "detta system har ingen %lu-bytes heltalstyp" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "ogiltig typsträng %s;\n" #~ "detta system har ingen %lu-bytes flyttalstyp" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "ogiltigt tecken \"%c\" i typsträngen %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "kan inte hoppa förbi slutet på en kombinerad inmatning" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "ogiltig radix för utmatningsadress \"%c\"; måste vara ett tecken från " #~ "[doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "ingen typ kan anges när strängar sparas" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Kompatibelt läge stöder högst en fil." # "skip-bytes" och "read-bytes" är flaggor #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "skip-bytes + read-bytes är för stort" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "varning: ogiltig bredd %lu; använder %d i stället" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" bredd=%d\n" #~ msgid "standard input is closed" #~ msgstr "standard in stängd" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv rader som består av sekventiellt korresponderande rader från\n" #~ "varje FIL, åtskilda med TAB, till standard ut. Utan FIL eller om\n" #~ "FIL är -, läs standard in.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LISTA återanvänd tecken från LISTA inställer för TAB\n" #~ " -s, --serial klistra in en fil i taget i stället för " #~ "parallellt\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "avgränsningslistor avslutas med en oskyddat omvänt snedstreck: %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Användning: %s [FLAGGA]... NAMN...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Diagnostisera oportabla konstruktioner i NAMN.\n" #~ "\n" #~ " -p kontrollera för de flesta POSIX-system\n" #~ " -P kontrollera tomma namn och inledande \"-\"\n" #~ " --portability kontrollera för alla POSIX-system (detsamma som -p -" #~ "P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "inledande \"-\" i en komponent av filnamnet %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "ej portabelt tecken %s i filnamnet %s" #~ msgid "empty file name" #~ msgstr "tomt filnamn" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: kan inte avgöra maximal filnamnslängd" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "gränsen %lu överskreds av längden %lu för filnamnet %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "gränsen %lu överskreds av längden %lu för filnamnsdelen %s" #~ msgid "Login name: " #~ msgstr "Inloggningsnamn: " #~ msgid "In real life: " #~ msgstr "I verkliga livet: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Katalog: " #~ msgid "Shell: " #~ msgstr "Skal: " #~ msgid "Project: " #~ msgstr "Projekt: " #~ msgid "Plan:\n" #~ msgstr "Plan:\n" # Rubrik i 8 tecken bred kolumn. #~ msgid "Login" #~ msgstr "Login" #~ msgid "Name" #~ msgstr "Namn" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Overksam" #~ msgid "When" #~ msgstr "När" #~ msgid "Where" #~ msgstr "Var" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Användning: %s [FLAGGA]... [ANVÄNDARE]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l skriv ut i långt format\n" #~ " -b utelämna användarens hemkatalog och skal i det långa " #~ "formatet\n" #~ " -h utelämna användarens projektfil i det långa formatet\n" #~ " -p utelämna användarens planfil i det långa formatet\n" #~ " -s skriv ut i kort format\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f utelämna raden med kolumnrubriker i kort format\n" #~ " -w utelämna anävndarens fullständiga namn i kort format\n" #~ " -i utelämna användarens fullständiga namn och fjärrvärd i " #~ "kort\n" #~ " format\n" #~ " -q utelämna användarens fullstädniga namn, fjärrvärd och \n" #~ " overksamma tiden i kort format\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Ett lättviktigt \"finger\"-program; skriver ut användarinformation.\n" #~ "utmp-filen kommer att vara %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "inget användarnamn angivet; åtminstone ett måsta anges när -l används" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "\"--pages=FÖRSTA_SIDA[:SISTA_SIDA]\" saknar argument" #~ msgid "Invalid page range %s" #~ msgstr "Ogiltigt sidintervall %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "\"-l SIDLÄNGD\" felaktigt antal rader: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "\"-N NUMMER\" felaktigt första radnummer: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "\"-o MARGINAL felaktigt indrag av rad: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "\"-w SIDBREDD\" felaktigt antal tecken: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "\"-W SIDBREDD\" felaktigt antal tecken: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Kan inte specificera antal kolumner vid parallell utskrift." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "" #~ "Kan inte specificera både utskrift på tvären och parallell utskrift." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "\"-%c\" extra tecken eller felaktigt tal i argumentet: %s" #~ msgid "page width too narrow" #~ msgstr "bredden på sidan är för smal" #~ msgid "starting page number % exceeds page count %" #~ msgstr "första sidnummer % överskrider antalet sidor %" #~ msgid "Page number overflow" #~ msgstr "Spill i sidnummer" #~ msgid "Page %" #~ msgstr "Sida %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Paginera eller skapa kolumner av FIL(er) för utskrift.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +FÖRSTA_SIDA[:SISTA_SIDA], --pages=FÖRSTA_SIDA[:SISTA_SIDA]\n" #~ " börja [sluta] skriva vid sida FÖRSTA_[SISTA_]SIDA\n" #~ " -KOLUMN, --columns=KOLUMN\n" #~ " skapa KOLUMN-kolumnutmatning och skriv kolumner " #~ "nedåt,\n" #~ " om inte -a används. Balansera antalet rader i " #~ "kolumnerna\n" #~ " på varje sida\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across skriv kolumner på tvären i stället för nedåt, " #~ "används\n" #~ " tillsammans med -KOLUMN\n" #~ " -c, --show-control-chars\n" #~ " använd hattnotation (^G) och oktal notation med " #~ "omvänt\n" #~ " snedstreck\n" #~ " -d, --double-space\n" #~ " skriv ut med dubbelt radavstånd\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMAT\n" #~ " använd FORMAT för huvuddatum\n" #~ " -e[TECKEN[BREDD]], --expand-tabs[=TECKEN[BREDD]]\n" #~ " expandera inmatade TECKEN (tabulatorer) till\n" #~ " tabulatorBREDD (8)\n" #~ " -F, -f, --form-feed\n" #~ " använd sidmatning i stället för nya rader för att\n" #~ " separera sidor (med ett 3-raders huvud vid -F eller\n" #~ " 5-raders huvud och fot utan -F)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h HUVUD, --header=HUVUD\n" #~ " använd ett centrerat HUVUD i stället för filnamn i\n" #~ " sidhuvud, -h \"\" skriver en tom rad. Använd inte -h" #~ "\"\"\n" #~ " -i[TECKEN[BREDD]], --output-tabs[=TECKEN[BREDD]]\n" #~ " ersätt mellanslag med TECKEN (tabulatorer), BREDD " #~ "breda (8)\n" #~ " -J, --join-lines sammanfoga hela rader, stänger av -W radstympning, " #~ "ingen\n" #~ " kolumnjustering, --sep-string[STRÄNG] anger " #~ "avskiljare\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l SIDLÄNGD, --length=SIDLÄNGD\n" #~ " sätt sidlängden till SIDLÄNGD (66) rader\n" #~ " (standard 56 rader text, och med -F 63)\n" #~ " -m, --merge skriv alla filer parallellt, en i varje kolumn, hugg " #~ "av\n" #~ " rader, men slå samman rader till full längd med -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEP[SIFFROR]], --number-lines[=SEP[SIFFROR]]\n" #~ " numrera rader, använd SIFFROR (5) siffror, sedan SEP " #~ "(TAB),\n" #~ " i normalläge startar räkning vid infilens första rad\n" #~ " -N NUMMER, --first-line-number=NUMMER\n" #~ " börja räkna med NUMMER vid första raden på första " #~ "sidan\n" #~ " som skrivs ut (se +FÖRSTA_SIDA)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARGINAL, --indent=MARGINAL\n" #~ " skjut in varje rad med MARGINAL (noll) mellanrum, " #~ "påverka\n" #~ " ej -w eller -W, MARGINAL läggs till SIDBREDD\n" #~ " -r, --no-file-warnings\n" #~ " utelämna varning när en fil inte kan öppnas\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[TECKEN], --separator[=TECKEN]\n" #~ " åtskilj kolumner med ett enda tecken, standard för " #~ "TECKEN\n" #~ " är tabulatortecknet utan -w och \"inget tecken\" med -" #~ "w\n" #~ " -s[TECKEN] slår av avhuggning för alla tre " #~ "kolumnflaggorna\n" #~ " (-KOLUMN|-a KOLUMN|-m) utom när -w är angivet\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SSTRÄNG, --sep-string[=STRÄNG]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " åtskilj kolumner med STRÄNG,\n" #~ " utan -S: Standardseparator med -J och \n" #~ " annars (samma som -S\" \"), ingen effekt på " #~ "kolumnflaggor\n" #~ " -t, --omit-header utelämna sidhuvud och sidfot\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " utelämna sidhuvud och sidfot, ta bort paginering\n" #~ " gjord med sidmatning i infiler\n" #~ " -v, --show-nonprinting\n" #~ " använd oktal notation med omvänt snedstreck\n" #~ " -w SIDBREDD, --width=SIDBREDD\n" #~ " sätt sidbredd till SIDBREDD (72) kolumner vid " #~ "utmatning\n" #~ " med flera textkolumner, -s[TECKEN] slår av (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W SIDBREDD, --page-width=SIDBREDD\n" #~ " sätt sidbredd till SIDBREDD (72) kolumner vid all \n" #~ " utmatning, hugg av rader utom om flagga -J är satt,\n" #~ " ingen koppling till -S eller -s\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-t är implicit om SIDLÄNGD <= 10. Utan FIL, eller när FIL är -,\n" #~ "läs standard in.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Användning: %s [MILJÖVARIABEL]...\n" #~ " eller: %s FLAGGA\n" #~ "Om ingen MILJÖVARIABEL angetts, skriv ut allihop.\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "varning: %s: tecken som följer efter teckenkonstanten har ignorerats" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s FORMAT [ARGUMENT]...\n" #~ " eller: %s FLAGGA\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Skriv ut ARGUMENT enligt FORMAT, eller kör enligt FLAGGA:\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "FORMAT styr utdatan som i C printf. Tolkade sekvenser är:\n" #~ "\n" #~ " \\\" citationstecken\n" #~ " \\NNN tecken med oktalt värde NNN (1 till 3 siffror)\n" #~ " \\\\ omvänt snedstreck\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a varning (SIGNAL)\n" #~ " \\b backsteg\n" #~ " \\c producera inte mer utdata\n" #~ " \\f sidmatning\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n ny rad\n" #~ " \\r vagnretur\n" #~ " \\t horisontell tabulator\n" #~ " \\v vertikal tabulator\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xHH byte med hexadecimalt värde HH (1 till 2 siffror)\n" #~ "\n" #~ " \\xHHHH Unicodetecken (ISO/IEC 10646) med hexadecimalt värde HHHH (4 " #~ "siffror)\n" #~ " \\UHHHHHHHH Unicodetecken med hexadecimalt värde HHHHHHHH (8 siffror)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% ett enkelt %\n" #~ " %b ARGUMENT som en sträng med \"\\\"-kontrollsekvenser tolkade,\n" #~ " utom att oktala sekvenser är på formen \\0 eller \\0NNN\n" #~ "\n" #~ "och alla specifikationer på C-format som slutar med en av diouxXfeEgGcs, " #~ "med \n" #~ "ARGUMENT konverterade till en passande typ först. Klarar av varierande " #~ "storlek.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: ett numeriskt värde förväntas" #~ msgid "%s: value not completely converted" #~ msgstr "%s: värdet kunde inte konverteras helt" #~ msgid "missing hexadecimal number in escape" #~ msgstr "saknar hexadecimal siffra i kontrollsekvens" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "ogiltigt universellt-teckennamn \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "ogiltig fältbredd: %s" #~ msgid "invalid precision: %s" #~ msgstr "ogiltig precision: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: felaktig fältspecifikation" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "varning: ignorerar överflödiga argument, startar med %s" # Denna kommentar skulle varit med i po-filen, men har av någon # anledning fallit bort. Jag har felrapporterat att den saknas. # # Note to translator: Please translate "F. Pinard" to "François # Pinard" if "ç" (c-with-cedilla) is available in the # translation's character set and encoding. #, fuzzy #~ msgid "F. Pinard" #~ msgstr "François Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (för reguljäruttrycket %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... [INFIL]... (utan -G)\n" #~ " eller: %s -G [FLAGGA]... [INFIL [UTFIL]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Utdata är ett permuterat index, med sammanhang, av orden i indatafilerna\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference skriv ut automatiskt genererade " #~ "referenser\n" #~ " -G, --traditional uppträd mer som System V:s \"ptx\"\n" #~ " -F, --flag-truncation=STRÄNG använd STRÄNG för att markera avhuggnar " #~ "rader\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=STRÄNG makronamn att använda istället för \"xx" #~ "\"\n" #~ " -O, --format=roff generera utdata som roff-direktiv\n" #~ " -R, --right-side-refs skriv referenser till höger, ej med i -" #~ "w\n" #~ " -S, --sentence-regexp=REGUTTR för radslut eller meningsslut\n" #~ " -T, --format=tex generera utdata som TeX-direktiv\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGUTTR använd REGUTTRY för att macha varje " #~ "nyckelord\n" #~ " -b, --break-file=FIL ordmellanrumstecken i denna FIL\n" #~ " -f, --ignore-case gör om gemener till versaler för " #~ "sortering\n" #~ " -g, --gap-size=ANTAL mellanrum i kolumner mellan utdatafält\n" #~ " -i, --ignore-file=FIL läs lista av ord att ignorera från FIL\n" #~ " -o, --only-file=FIL läs lista av ord att endast använda från " #~ "FIL\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references första fältet på varje rad är en " #~ "referens\n" #~ " -t, --typeset-mode - ej implementerat -\n" #~ " -w, --width=ANTAL utmatningsbredd i kolumner, utan " #~ "referenser\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Utan FIL eller om FIL är -, läs standard in. \"-F /\" är standard.\n" #~ msgid "invalid gap width: %s" #~ msgstr "ogiltig gapbredd: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut hela filnamnet på aktuell katalog.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "misslyckades att ändra katalog till %s" #~ msgid "failed to stat %s" #~ msgstr "misslyckades att ta status på %s" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "kunde inte hitta katalogpost i %s med matchande i-nod" #~ msgid "ignoring non-option arguments" #~ msgstr "ignorerar argument som inte är flaggor" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Användning: %s [FLAGGA]... FIL\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Visa värdet på en symbolisk länk på standard ut.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize gör kanoniskt genom att följa varje " #~ "symbolisk\n" #~ " länk i varje komponent av det givna " #~ "namnet\n" #~ " rekursivt; alla utom den sista " #~ "komponenten\n" #~ " måste existera\n" #~ " -e, --canonicalize-existing gör kanoniskt genom att följa varje " #~ "symbolisk\n" #~ " länk i varje komponent av det givna " #~ "namnet\n" #~ " rekursivt, alla komponenter måste " #~ "existera\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing gör kanoniskt genom att följa varje " #~ "symbolisk\n" #~ " länk i varje komponent av det givna " #~ "namnet\n" #~ " rekursivt, utan krav på att " #~ "komponenterna\n" #~ " existerar\n" #~ " -n, --no-newline skriv inte ut den avslutande nyraden\n" #~ " -q, --quiet,\n" #~ " -s, --silent undertryck de flesta meddelanden\n" #~ " -v, --verbose rapportera felmeddelanden\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "ÖDESDIGERT: misslyckades att stänga katalog %s" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "ÖDESDIGERT: kan inte öppna .. från %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "ÖDESDIGERT: kan inte förvissa om att %s (återvänt till via ..) är säkert" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "ÖDESDIGERT: katalog %s ändrade enh/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "ÖDESDIGERT: kan inte gå in i katalog %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "ÖDESDIGERT: nyanländ till katalog %s ändrade dev/ino" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "VARNING: Cirkulär katalogstruktur.\n" #~ "Detta betyder nästan säkert att du har ett trasigt filsystem.\n" #~ "RAPPORTERA TILL SYSTEMANSVARIG.\n" #~ "Följande katalog utgör del av cykeln:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: gå ner i skrivskyddad katalog %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: gå ner i katalog %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: ta bort skrivskyddad %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: ta bort %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "tog bort katalog: %s\n" #~ msgid "failed to close directory %s" #~ msgstr "misslyckades att stänga katalog %s" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "hoppar över %s, eftersom den är på en annan enhet" #~ msgid "cannot remove directory %s" #~ msgstr "kan inte ta bort katalog %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "ÖDESDIGERT: kan inte återvända till .. från %s" #~ msgid "cannot remove root directory %s" #~ msgstr "kan inte ta bort rotkatalog %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "kan inte ta bort relativt namngivna %s" #~ msgid "cannot restore current working directory" #~ msgstr "kan inte återställa aktuell katalog" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Försök med \"%s ./%s\" för att ta bort filen %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Användning: %s [FLAGGA]... FIL...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Ta bort (avlänka) FIL(en/erna).\n" #~ "\n" #~ " -f, --force ignorera icke existerande filer, fråga aldrig\n" #~ " -i fråga före varje borttagning\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I fråga en gång före mer än tre filer tas bort, " #~ "eller\n" #~ " vid rekursiv borttagning. Mindre påträngande " #~ "än -i,\n" #~ " men skyddar ändå mot de flesta misstag\n" #~ " --interactive[=NÄR] fråga enligt NÄR: never, once (-I), eller\n" #~ " always (-i). Utan NÄR, fråga alltid\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system när en hierarki tas bort rekursivt, hoppa över\n" #~ " eventuella kataloger som ligger på andra " #~ "filsystem\n" #~ " än motsvarande kommandoradsargument gör\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root behandla inte \"/\" speciellt\n" #~ " --preserve-root ta inte bort \"/\" (normalfall)\n" #~ " -r, -R, --recursive ta bort kataloger och deras innehåll rekursivt\n" #~ " -v, --verbose berätta vad som görs\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "Som standard tar rm inte bort kataloger. Använd flaggan --recursive (-r " #~ "eller\n" #~ "-R) för att ta bort varje uppräknad katalog också, tillsammans med hela " #~ "dess\n" #~ "inenhåll.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "För att ta bort filer vars namn börjar med \"-\", till exempel \"-apa\",\n" #~ "använder du ett av dessa kommandon:\n" #~ " %s -- -apa\n" #~ "\n" #~ " %s ./-apa\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Observera att om du använder rm för att ta bort en fil är det oftast " #~ "möjligt\n" #~ "att ta reda på vad filen innehöll. Överväg att använda shred om du vill\n" #~ "förvissa dig om att innehållet verkligen är borta.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: ta bort alla argument rekursivt? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: ta bort alla argument? " #~ msgid "removing directory, %s" #~ msgstr "tar bort katalog, %s" #~ msgid "failed to remove directory %s" #~ msgstr "misslyckades att ta bort katalogen %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Användning: %s [FLAGGA]... KATALOG...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Ta bort KATALOG(er) om de är tomma.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignorera alla fel som beror enbart på att katalogen " #~ "inte är\n" #~ " tom\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents ta bort KATALOG och dess föräldrar. T.ex. \"rmdir -p a/" #~ "b/c\"\n" #~ " motsvarar \"rmdir a/b/c a/b a\".\n" #~ " -v, --verbose skriv ett meddelande för varje behandlad katalog\n" #~ msgid "failed to remove %s" #~ msgstr "misslyckades att ta bort %s" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Användning: %s KONTEXT KOMMANDO [arg]\n" #~ " eller: %s [ -c ] [-u ANV] [-r ROLL] [-t TYP] [-l INTVL] KOMMANDO " #~ "[arg]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Kör ett program i en annan säkerhetskontext.\n" #~ "Med varken KONTEXT eller KOMMANDO, skriv ut den aktuella " #~ "säkerhetskontexten.\n" #~ "\n" #~ " KONTEXT Fullständig säkerhetskontext\n" #~ " -c, --compute beräkna processövergångskontext före modifiering\n" #~ " -t, --type=TYP typ (för samma roll som föräldern)\n" #~ " -u, --user=ANV användaridentitet\n" #~ " -r, --role=ROLL roll\n" #~ " -l, --range=INTVL nivåintervall\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "flera roller" #~ msgid "multiple types" #~ msgstr "flera typer" #~ msgid "multiple users" #~ msgstr "flera användare" #~ msgid "multiple levelranges" #~ msgstr "flera nivåintervall" #~ msgid "failed to get current context" #~ msgstr "misslyckades att hämta aktuell kontext" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "du måste ange -c, -t, -u, -l, -r eller kontext" #~ msgid "no command specified" #~ msgstr "inget kommando angivet" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "runcon kan bara användas på en SELinuxkärna" #~ msgid "failed to compute a new context" #~ msgstr "misslyckades att beräkna en ny kontext" #~ msgid "failed to set new user %s" #~ msgstr "misslyckades att sätta ny användare %s" #~ msgid "failed to set new type %s" #~ msgstr "misslyckades att sätta ny typ %s" #~ msgid "failed to set new range %s" #~ msgstr "misslyckades att sätta nytt intervall %s" #~ msgid "failed to set new role %s" #~ msgstr "misslyckades att sätta ny roll %s" #~ msgid "unable to set security context %s" #~ msgstr "kan inte sätta säkerhetskontext %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... SISTA\n" #~ " eller: %s [FLAGGA]... FÖRSTA SISTA\n" #~ " eller: %s [FLAGGA]... FÖRSTA ÖKNING SISTA\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Skriv ut tal från FÖRSTA till SISTA, i steg om ÖKNING.\n" #~ "\n" #~ " -f, --format=FORMAT använd flyttalsFORMAT av typ printf\n" #~ " -s, --separator=STRÄNG använd STRÄNG för att separera tal (standard: " #~ "\\n)\n" #~ " -w, --equal-width jämna ut bredd genom att lägga till inledande " #~ "nollor\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Om FÖRSTA eller ÖKNING utelämnas, sätts de till 1. Det vill säga, en\n" #~ "utelämnad ÖKNING sätts till 1 även när SISTA är mindre än FÖRSTA.\n" #~ "FÖRSTA, ÖKNING och SISTA tolkas som flyttal. ÖKNING är normalt\n" #~ "positivt om FÖRSTA är mindre än SISTA och ÖKNING är normalt negativt\n" #~ "om FÖRSTA är större än SISTA.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "FORMAT måste passa för att skriva ett argument av typen \"double\". Som\n" #~ "standard är det %.PRECf om FÖRSTA, ÖKNING och SISTA alla är\n" #~ "fixpunktsdecimaltal med maximal precision PREC, och annars %g.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "felaktigt flyttalsargument: %s" #~ msgid "no %% directive in format string %s" #~ msgstr "inget %%-direktiv i formatsträng %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "för många %%-direktiv i formatsträng %s" #~ msgid "invalid format string: %s" #~ msgstr "felaktig formatsträng: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "formatsträng får inte anges när strängar med lika bredd skrivs" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s FLAGGA ANVÄNDARE KOMMANDO [ARGUMENT]...\n" #~ " eller: %s FLAGGA\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Släpp eventuella tilläggsgrupper, anta användar-ID och grupp-ID för\n" #~ "den angivna ANVÄNDAREn (numeriskt ID eller användarnamn), och kör\n" #~ "KOMMANDO med angivna ARGUMENT. Avsluta med status 111 om det inte\n" #~ "gick att anta begärda användar- och grupp-ID. Annars, avsluta med\n" #~ "slutstatus hos KOMMANDO. Detta program är användbart endast när det\n" #~ "körs av root (användar-ID noll).\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] sätt också den primära grupp-ID:n till den numeriska " #~ "GID,\n" #~ " och (om angivet) tilläggsgrupp-ID:n till GID1, ...\n" #~ msgid "unknown user-ID: %s" #~ msgstr "okänt användar-ID: %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "för att använda användar-ID %s behöver du använda -g också" #~ msgid "failed to set supplemental group(s)" #~ msgstr "misslyckades att sätta tilläggsgrupp(er)" #~ msgid "cannot set group-ID to %lu" #~ msgstr "kan inte sätta grupp-id till %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "kan inte sätta användar-id till %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Användning: %s [FLAGGOR] FIL [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Skriv över de angivna FIL(erna) upprepade gånger, för att göra det " #~ "svårare\n" #~ "även för väldigt dyra hårdvaruutrustningar att ta fram data.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force ändra rättigheter för att tillåta skrivning, om " #~ "nödvändigt\n" #~ " -n, --iterations=N Skriv över N gånger istället för standard (%d)\n" #~ " --random-source=FIL hämta slumpbytar från FIL (standard /dev/" #~ "urandom)\n" #~ " -s, --size=N strimla detta antal byte (ändelse som K, M, G fungerar)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove stympa och ta bort filen efter överskrivningen\n" #~ " -v, --verbose följ processen\n" #~ " -x, --exact avrunda inte filstorlekar upp till nästa hela block;\n" #~ " detta är standardfallet för icke-normala filer\n" #~ " -z, --zero lägg till en avslutande överskrivning med nollor för " #~ "att\n" #~ " dölja strimlandet\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Om FIL är -, strimla standard ut.\n" #~ "\n" #~ "Ta bort FIL(er) om --remove (-u) anges. Standard är att inte ta bort " #~ "filerna\n" #~ "för det är vanligt att arbeta på enhetsfiler som /dev/hda, och dessa " #~ "filer\n" #~ "bör inte tas bort. När man kör på en vanlig fil använder de flesta " #~ "flaggan\n" #~ "--remove.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "VARNING: Observera att shred bygger på ett väldigt viktigt antagande: " #~ "att\n" #~ "filsystemet skriver över data på plats. Detta är det traditionella " #~ "sättet\n" #~ "att göra saker, men många moderna filsystemskonstruktioner uppfyller " #~ "inte\n" #~ "detta antagande. Följande är exempel på filsystem på vilka shred inte " #~ "har\n" #~ "någon effekt, eller inte är garanterat att vara effektivt i alla " #~ "filsystemets\n" #~ "lägen:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* loggstrukturerade eller journalfilsystem, som de som kommer med AIX " #~ "och\n" #~ "Solaris (och JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* filsystem som skriver skriver extra data och fortsätter även om en del\n" #~ "skrivningar misslyckas, såsom RAID-baserade filsystem\n" #~ "\n" #~ "* filsystem som tar ögonblicksbilder, såsom Network Appliances NFS-" #~ "server\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* filsystem som mellanlagrar på temporära platser, såsom klienter till\n" #~ "NFS version 3\n" #~ "\n" #~ "* comprimerade filsystem\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "I fallet ext3-filsystem gäller den ovanstående friskrivningen (och shred " #~ "är\n" #~ "därmed av begränsad nytta) bara i läget data=journal, som lägger fildata " #~ "i\n" #~ "journal utöver bara metadata. I både läget data=ordered (standard) och\n" #~ "data=writeback fungerar shred som vanligt. Ext3-journallägen kan ändras " #~ "genom\n" #~ "att lägga till flaggan data=något till monteringsflaggorna för ett " #~ "särskilt\n" #~ "filsystem i filen /etc/fstab, så som det är dokumenterat i manualsidan " #~ "för\n" #~ "mount (man mount).\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Dessutom kan säkerhetskopior av filsystemet och fjärrspeglar innehålla " #~ "kopior\n" #~ "av filen som inte kan tas bort, och som kan göra det möjligt att återta " #~ "en\n" #~ "strimlad fil senare.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: fdatasync misslyckades" #~ msgid "%s: fsync failed" #~ msgstr "%s: fsync misslyckades" #~ msgid "%s: cannot rewind" #~ msgstr "%s: kan inte backa till början" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: pass %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: fel vid skrivning vid position %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: lseek misslyckades" #~ msgid "%s: file too large" #~ msgstr "%s: filen är för stor" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: pass %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: fstat misslyckades" #~ msgid "%s: invalid file type" #~ msgstr "%s: ogiltig filtyp" #~ msgid "%s: file has negative size" #~ msgstr "%s: filen har negativ storlek" #~ msgid "%s: error truncating" #~ msgstr "%s: fel vid avhuggning" #~ msgid "%s: fcntl failed" #~ msgstr "%s: fcntl misslyckades" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "" #~ "%s: kan inte skriva över filidentiferare som bara är öppnad för tillägg" #~ msgid "%s: removing" #~ msgstr "%s: tar bort" #~ msgid "%s: renamed to %s" #~ msgstr "%s: namnändrad till %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: misslyckades att ta bort" #~ msgid "%s: removed" #~ msgstr "%s: borttagen" #~ msgid "%s: failed to close" #~ msgstr "%s: misslyckades att stänga" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: misslyckades öppna för skrivning" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: ogiltigt antal pass" #~ msgid "multiple random sources specified" #~ msgstr "multipla slumpkällor angivna" #~ msgid "%s: invalid file size" #~ msgstr "%s: ogiltig filstorlek" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Användning: %s [FLAGGA]... [FIL]\n" #~ " eller: %s -e [FLAGGA]... [ARG]\n" #~ " eller: %s -i LÅ-HÖ [FLAGGA]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Skriv en slumpvis permutation av indataraderna till standard ut.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo behandla varje ARG som en indatarad\n" #~ " -i, --input-range=LÅ-HÖ behandla varje nummer LÅ till HÖ som en " #~ "indatarad\n" #~ " -n, --head-lines=RADER skriv ut högst RADER rader\n" #~ " -o, --output=FIL skriv resultatet till FIL istället för " #~ "standard ut\n" #~ " --random-source=FIL hämta slumpbytear från FIL (normalt /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated avsluta rader med 0-byte, inte nyrad\n" #~ msgid "multiple -i options specified" #~ msgstr "multipla -l-flaggor angivna" #~ msgid "invalid input range %s" #~ msgstr "ogiltigt indataintervall %s" #~ msgid "invalid line count %s" #~ msgstr "felaktig radantal %s" #~ msgid "multiple output files specified" #~ msgstr "multipla utfiler angivna" #~ msgid "extra operand %s\n" #~ msgstr "extra operand %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Användning: %s ANTAL[ÄNDELSE]...\n" #~ " eller: %s FLAGGA\n" #~ "Gör paus i ANTAL sekunder. ÄNDELSE kan vara \"s\" för att ange sekunder\n" #~ "(standardval), \"m\" för minuter, \"h\" för timmar eller \"d\" för " #~ "dagar.\n" #~ "Till skillnad från de flesta implementationer som kräver att ANTAL är\n" #~ "ett heltal, kan ANTAL här vara ett valfritt flyttal. Med två eller\n" #~ "flera agument, gör paus så länge som summan av dem anger\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "felaktigt tidsintervall: %s" #~ msgid "cannot read realtime clock" #~ msgstr "kan inte läsa realtidsklockan" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Skriv en sorterad sammanfogning av alla FIL(er) till standard ut.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Sorteringsflaggor:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ignorera inledande mellanslag\n" #~ " -d, --dictionary-order betrakta endast alfanumeriska och blanka " #~ "tecken\n" #~ " -f, --ignore-case byt gemener mot versaler\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort jämför enligt generella numeriska värden\n" #~ " -i, --ignore-nonprinting beakta enbart skrivbara tecken\n" #~ " -M, --month-sort jämför (okänd) < \"JAN\" < ... < \"DEC\"\n" #~ " -n, --numeric-sort jämför i enlighet strängens numeriska " #~ "värde\n" #~ " -R, --random-sort sortera efter en slumpkontrollsumma av " #~ "nycklar\n" #~ " --random-source=FIL hämta slumpbyte:ar från FIL (/dev/urandom " #~ "som\n" #~ " standard)\n" #~ " --sort=WORD sortera enligt ORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse vänd på resultatet av jämförelser\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Andra flaggor:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first kontrollera om indata är " #~ "sorterad,\n" #~ " sortera ej\n" #~ " -C, --check=quiet, --check=silent som -c, men rapportera inte en " #~ "första\n" #~ " felaktig rad\n" #~ " --compress-program=PROG komprimera temporärfiler med PROG;\n" #~ " packa up dem med PROG -d\n" #~ " -k, --key=POS1[,POS2] starta nyckel vid POS1, sluta den vid POS2\n" #~ " (räknas från 1)\n" #~ " -m, --merge slå samman redan sorterade filer, sortera ej\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=FIL skriv resultatet till FIL i stället för " #~ "standard ut\n" #~ " -s, --stable stabilisera sortering genom att stänga av\n" #~ " sista-utvägsjämförelse\n" #~ " -S, --buffer-size=STORLEK använd STORLEK för huvudminnesbuffert\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP använd SEP istället för övergång från ej " #~ "blanka\n" #~ " till blanka\n" #~ " -T, --temporary-directory=KAT använd KAT för tillfälliga filer, ej " #~ "$TMPDIR\n" #~ " eller %s;\n" #~ " flera argument anger flera kataloger\n" #~ " -u, --unique med -c, kontrollera strikt ordningsföljd;\n" #~ " utan -c, skriv ut endast den första av " #~ "flera lika\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr " -z, --zero-terminated avsluta rader med byte 0, inte ny rad\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS är F[.C][FLGR], där F är fältnumret och C teckenpositionen inom\n" #~ "fältet, båda börjar på 1. Om vare sig flaggan -t eller -b är aktiv\n" #~ "räknas tecken i fältet från början av föregående blanktecken. FLGR är\n" #~ "en eller flera enbokstavs ordningsflaggor, vilka ersätter globala\n" #~ "ordningsflaggor för den nyckeln. Om ingen nyckel är angiven, använd\n" #~ "hela raden som nyckel.\n" #~ "\n" #~ "STORLEK kan följas av följande multiplikativa ändelser:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% av minne, b 1, K 1024 (standard), och så vidare för M, G, T, P, E, " #~ "Z, Y.\n" #~ "\n" #~ "Utan FIL eller om FIL är -, läs standard in.\n" #~ "\n" #~ "*** VARNING ***\n" #~ "Lokalen som är angiven i omgivningen påverkar sorteringsordning.\n" #~ "Sätt LC_ALL=C för att få traditionell sorteringsordning som använder\n" #~ "de underliggande bytevärdena.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "väntar på %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "%s [-d] avlutade oväntat" #~ msgid "cannot create temporary file" #~ msgstr "kan inte skapa temporärfil" #~ msgid "open failed" #~ msgstr "misslyckades öppna" #~ msgid "fflush failed" #~ msgstr "fflush misslyckades" #~ msgid "close failed" #~ msgstr "misslyckades stänga" #~ msgid "dup2 failed" #~ msgstr "dup2 misslyckades" #~ msgid "couldn't execute %s" #~ msgstr "det gick inte att köra %s" #~ msgid "couldn't create temporary file" #~ msgstr "det går inte att skapa temporärfil" #~ msgid "couldn't open temporary file" #~ msgstr "det går inte att öppna temporärfil" #~ msgid "couldn't execute %s -d" #~ msgstr "det gick inte att köra %s -d" #~ msgid "write failed" #~ msgstr "misslyckaes skriva" #~ msgid "warning: cannot remove: %s" #~ msgstr "varning: kan inte ta bort: %s" #~ msgid "stat failed" #~ msgstr "misslyckades ta status" #~ msgid "read failed" #~ msgstr "misslyckades läsa" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: oordning: " #~ msgid "standard error" #~ msgstr "standard fel" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: felaktig fältspecifikation %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "flaggorna \"-%s\" är inkompatibla" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: felaktigt antal i början på %s" #~ msgid "invalid number after `-'" #~ msgstr "felaktigt nummer efter \"-\"" #~ msgid "invalid number after `.'" #~ msgstr "felaktigt nummer efter \".\"" #~ msgid "stray character in field spec" #~ msgstr "extra tecken i fältspecifikation" #~ msgid "multiple compress programs specified" #~ msgstr "multipla komprimeringsprogram angivna" #~ msgid "invalid number at field start" #~ msgstr "felaktigt nummer vid fältstart" #~ msgid "field number is zero" #~ msgstr "fältnummer är noll" #~ msgid "character offset is zero" #~ msgstr "teckenplats är noll" #~ msgid "invalid number after `,'" #~ msgstr "felaktigt nummer efter \",\"" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "extra operand %s inte tillåten med -%c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Användning: %s [FLAGGA] [INFIL [PREFIX]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut delar av INFIL med bestämd storlek till PREFIXaa, PREFIXab, ...\n" #~ "Standardstorlek är 1000 rader, och standardprefix är \"x\". Utan INFIL,\n" #~ "eller när INFIL är -, läs standard in.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N använd ändelse av längd N (standard %d)\n" #~ " -b, --bytes=ANTAL placera ANTAL byte i varje utfil\n" #~ " -C, --line-bytes=ANTAL placera max ANTAL byte rader per utfil\n" #~ " -d, --numeric-suffixes använd numeriska suffix istället för " #~ "alfabetiska\n" #~ " -l, --lines=RADER placera RADER rader i varje utfil\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose skriv ett meddelande strax före varje\n" #~ " utfil öppnas\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "STORLEK kan ha en multiplikativ ändelse:\n" #~ "b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024,\n" #~ "GB 1000·1000·1000, G 1024·1024·1024, and so on for T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "skapar filen %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "kan inte dela på mer än ett sätt" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: felaktig ändelselängd" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: felaktigt antal byte" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: felaktigt antal rader" #~ msgid "line count option -%s%c... is too large" #~ msgstr "radantalsflagga -%s%c... är för stor" #~ msgid "invalid number of lines: 0" #~ msgstr "felaktigt antal rader: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "varning: okänd sekvens med omvänt snedstreck \"\\%c\"" #~ msgid "%s: invalid directive" #~ msgstr "%s: ogiltigt direktiv" #~ msgid "warning: backslash at end of format" #~ msgstr "varning: omvänt snedstreck vid slutet av formatet" #~ msgid "cannot read file system information for %s" #~ msgstr "kan inte läsa filsysteminformation för %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Användning: %s [FLAGGA] FIL...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Visa fil- eller filsystemstatus.\n" #~ "\n" #~ " -L, --dereference följ länkar\n" #~ " -f, --file-system visa filsystemstatus istället för filstatus\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=FORMAT använd angivet FORMAT istället för " #~ "standardformat;\n" #~ " skriv ut en nyrad efter varje användning av " #~ "FORMAT\n" #~ " --printf=FORMAT som --format, men tolka specialkoder med omvänt\n" #~ " snedstreck, och skriv inte ut en obligatorisk\n" #~ " avslutande nyrad. Om du vill ha en nyrad, ta " #~ "med\n" #~ " \\n i FORMAT.\n" #~ " -t, --terse skriv informationen kortfattat\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "De giltiga formatsekvenserna för filer (utan --file-system):\n" #~ "\n" #~ " %a Åtkomsträttigheter oktalt\n" #~ " %A Åtkomsträttigheter i format läsbart för människa\n" #~ " %b Antal använda block (se %B)\n" #~ " %B Storleken i byte på varje block rapporterat av %b\n" #~ " %C SELinux säkerhetskontextsträng\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Enhetsnummer decimalt\n" #~ " %D Enhetsnummer hexadecimalt\n" #~ " %f Tillståndet rått hexadecimalt\n" #~ " %F Filtyp\n" #~ " %g Gruppid på ägare\n" #~ " %G Gruppnamn på ägare\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Antal hårda länkar\n" #~ " %i Inodnummer\n" #~ " %n Filnamn\n" #~ " %N Citerat filnamn, med dereferens om symbolisk länk\n" #~ " %o I/O-blockstorlek\n" #~ " %s Total storlek, i byte\n" #~ " %t Övre enhetsnummer hexadecimalt\n" #~ " %T Undre enhetsnummer hexadecimalt\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u Användarid på ägare\n" #~ " %U Användarnamn på ägare\n" #~ " %x Senaste åtkomsttidpunkt\n" #~ " %X Senaste åtkomsttidpunkt i sekunder sedan Epok\n" #~ " %y Senaste modifieringstidpunkt\n" #~ " %Y Senaste modifieringstidpunkt i sekunder sedan Epok\n" #~ " %z Senaste ändringstidpunkt\n" #~ " %Z Senaste ändringstidpunkt i sekunder sedan Epok\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Giltiga formatsekvenser för filsystem:\n" #~ "\n" #~ " %a Fria block tillgängliga för icke superanvändare\n" #~ " %b Totalt antal datablock i filsystem\n" #~ " %c Totalt antal filnoder i filsystem\n" #~ " %d Fria filnoder i filsystem\n" #~ " %f Fria block i filsystem\n" #~ " %C SELinux säkerhetskontextsträng\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Filsystem-ID hexadecimalt\n" #~ " %l Maxlängd på filnamn\n" #~ " %n Filnamn\n" #~ " %s Blockstorlek (för snabbare överföringar)\n" #~ " %S Grundläggande blockstorlek (för antal block)\n" #~ " %t Typ hexadecimalt\n" #~ " %T Typ i format läsbart för människa\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Användning: %s [-F ENHETSFIL] [--file=ENHETSFIL] [INSTÄLLNING]...\n" #~ " eller: %s [-F ENHETSFIL] [--file=ENHETSFIL] [-a|--all]\n" #~ " eller: %s [-F ENHETSFIL] [--file=ENHETSFIL] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Skriv ut eller ändra terminalkarakteristik.\n" #~ "\n" #~ " -a, --all skriv ut alla nuvarande inställningar läsligt\n" #~ " -g, --save skriv ut alla nuvarande inställningar i stty-format\n" #~ " -F, --file=ENHET öppna och använd angiven ENHET istället för standard " #~ "in\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Möjligt - före INSTÄLLNING indikerar negation. En * indikerar en\n" #~ "icke-POSIX-inställning. Det underliggande systemet definierar vilka\n" #~ "inställningar som är tillgängliga.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Specialtecken:\n" #~ " * dsusp TECKEN TECKEN skickar en stoppsignal så fort indata är slut.\n" #~ " eof TECKEN TECKEN skickar ett filslut (avsluta inmatning)\n" #~ " eol TECKEN TECKEN avslutar raden\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 TECKEN alternativt TECKEN för radslut\n" #~ " erase TECKEN TECKEN raderar det senast skrivna tecknet\n" #~ " intr TECKEN TECKEN skickar en avbrottssignal\n" #~ " kill TECKEN TECKEN raderar nuvarande rad\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext TECKEN TECKEN skriver nästa tecken som ett specialtecken\n" #~ " quit TECKEN TECKEN skickar en avslutningssignal\n" #~ " * rprnt TECKEN TECKEN ritar om nuvarande rad\n" #~ " start TECKEN TECKEN startar utskrift igen efter att ha stoppat den\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop TECKEN TECKEN stoppar utskriften\n" #~ " susp TECKEN TECKEN skickar en terminalstoppsignal\n" #~ " * swtch TECKEN TECKEN byter till ett annat skal\n" #~ " * werase TECKEN TECKEN raderar det senast skrivna ordet\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Specialinställningar:\n" #~ " N sätt in- och utmatninshastighet till N baud\n" #~ " * cols N säg till kärnan att terminalen har N kolumner\n" #~ " * columns N samma som cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N sätt inmatningshastighet till N\n" #~ " * line N använd linjetyp N\n" #~ " min N med -icanon, sätt N tecken till minimum för en avslutad " #~ "läsning\n" #~ " ospeed N sätt utmatningshastighet till N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N säg till kärnan att terminalen har N rader\n" #~ " * size skriv ut antalet rader och kolumner enligt kärnan\n" #~ " speed skriv ut terminalens hastighet\n" #~ " time N med -icanon, sätt timeout för läsning till N tiondels " #~ "sekunder\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Kontrollinställningar:\n" #~ " [-]clocal stäng av kontrollsignaler till modem\n" #~ " [-]cread tillåt mottagandet av indata\n" #~ " * [-]crtscts möjliggör RTS/CTS handskakning\n" #~ " csN sätt teckenstorleken till N bitar, N 5-8\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb använd två stoppbitar per tecken (en med \"-\")\n" #~ " [-]hup skicka en påläggningssignal när sista processen stänger " #~ "ttyn\n" #~ " [-]hupcl samma som [-]hup\n" #~ " [-]parenb generera paritetsbit i utdata och förvänta paritetsbit i " #~ "indata\n" #~ " [-]parodd ställ in udda paritet (jämn med \"-\")\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Inställningar för inmatning:\n" #~ " [-]brkint avbrott orsakar en avbrottssignal\n" #~ " [-]icrnl översätt vagnretur till nyrad\n" #~ " [-]ignbrk ignorera avbrottstecken\n" #~ " [-]igncr ignorera vagnretur\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar ignorera tecken med paritetsfel\n" #~ " * [-]imaxbel ljud signal, men töm inte full indatabuffert på grund " #~ "av\n" #~ " ett tecken\n" #~ " [-]inlcr översätt nyrad till vagnretur\n" #~ " [-]inpck möjliggör paritetskontroll av indata\n" #~ " [-]istrip rensa den höga (8:e) biten i ett inmatningstecken\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr " * [-]iutf8 anta inmatningstecken är UTF-8-kodade\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc översätt versaler till gemener\n" #~ " * [-]ixany tillåt vilket tecken som helst att starta om " #~ "utmatning, \n" #~ " inte bara starttecken\n" #~ " [-]ixoff möjliggör start/stopp-tecken\n" #~ " [-]ixon möjliggör XON/XOFF flödeskontroll\n" #~ " [-]parmrk markera paritetsfel (med en 255-0 teckensekvens)\n" #~ " [-]tandem samma som [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Inställningar för utmatning:\n" #~ " * bsN fördröjning på backsteg, N är [0-1]\n" #~ " * crN fördröjning på vagnretur, N är [0-3]\n" #~ " * ffN fördröjning på sidmatning, N är [0-1]\n" #~ " * nlN fördröjning på nyrad, N är [0-1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl översätt vagnretur till nyrad\n" #~ " * [-]ofdel använd raderingstecken till utfyllnad, istället för " #~ "nulltecken\n" #~ " * [-]ofill använd utfyllnadstecken istället för tidstagning \n" #~ " vid fördröjningar\n" #~ " * [-]olcuc översätt gemener till versaler\n" #~ " * [-]onlcr översätt nyrad till vagnretur-nyrad\n" #~ " * [-]onlret nyrad utför vagnretur\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr skriv inte ut vagnretur i första kolumnen\n" #~ " [-]opost bearbetar utdata\n" #~ " * tabN fördröjning på horisontell tabulator, N är [0-3]\n" #~ " * tabs samma som tab0\n" #~ " * -tabs samma som tab3\n" #~ " * vtN fördröjning på vertikal tabulator, N är [0-1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Lokala inställningar:\n" #~ " [-]crterase eka raderingstecken som backsteg-mellanslag-backsteg\n" #~ " * crtkill radera hela raden genom att använda inställningarna \n" #~ " för echoprt och echoe\n" #~ " * -crtkill radera hela raden genom att använda inställningarna\n" #~ " för echoctl och echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho eka kontrolltecken med hattnotation (\"^c\")\n" #~ " [-]echo eka inmatade tecken\n" #~ " * [-]echoctl samma som [-]ctlecho\n" #~ " [-]echoe samma som [-]crterase\n" #~ " [-]echok eka ett nyrad efter ett dödatecken\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke samma som [-]crtkill\n" #~ " [-]echonl eka nyrad även om inga andra tecken ekas\n" #~ " * [-]echoprt eka raderade tecken baklänges, mellan \"\\\" och \"/\"\n" #~ " [-]icanon möjliggör specialtecknen erase, kill, werase och rprnt\n" #~ " [-]iexten möjliggör specialtecken som inte är POSIX-tecken\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig möjliggör specialtecken för avbrott, slut och vila\n" #~ " [-]noflsh koppla bort rensning efter avbrottsignaler och \n" #~ " specialsluttecken\n" #~ " * [-]prterase samma som [-]echoprt\n" #~ " * [-]tostop stoppa bakgrundsjobb som försöker skriva till " #~ "terminalen\n" #~ " * [-]xcase tillsammans med icanon, används \"\\\" som " #~ "kontrollsekvens\n" #~ " för versaltecken\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Kombinationsinställningar:\n" #~ " * [-]LCASE samma som [-]lcase\n" #~ " cbreak samma som -icanon\n" #~ " -cbreak samma som icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked samma som brkint ignpar istrip icrnl ixon oppst isig " #~ "icanon,\n" #~ " filsluttecken och radsluttecken till sina " #~ "standardvärden\n" #~ " -cooked samma som raw\n" #~ " crt samma som echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec samma som echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ " * [-]decctlq samma som [-]ixany\n" #~ " ek radera- och återställtecken till sina standardvärden\n" #~ " evenp samma som parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp samma som -parenb cs8\n" #~ " * [-]lcase samma som xcase iuclc olcuc\n" #~ " litout samma som -parenb -istrip -opost cs8\n" #~ " -litout samma som parenb istrip opost cs7\n" #~ " nl samma som -icrnl -onlcr\n" #~ " -nl samma som icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp samma som parenb parodd cs7\n" #~ " -oddp samma som -parenb cs8\n" #~ " [-]parity samma som [-]evenp\n" #~ " pass8 samma som -parenb -istrip cs8\n" #~ " -pass8 samma som parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw samma som -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw samma som cooked\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane samma som cread -ignbrk brkint -inlcr -igncr icrnl -" #~ "iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, \n" #~ " alla specialtecken till sina standardvärden.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Hantera ttylinjen kopplad till standard in. Utan argument skrivs \n" #~ "baudhastighet, radtyp och avvikelse från stty sane ut. I " #~ "inställningarna \n" #~ "tolkas TECKEN ordagrant, eller kodat som i ^c, 0x37, 0177 eller 127;\n" #~ "specialvärdet ^- eller undef används för att stänga av specialtecken.\n" #~ msgid "only one device may be specified" #~ msgstr "endast en enhet får anges" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "flaggorna för utförlig och stty-läsbar utmatningsstil är ömsesidigt\n" #~ "uteslutande" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "när en utmatningstyp specificeras, kan inte inställningar göras" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: kan inte starta om icke-blockerande läge" #~ msgid "invalid argument %s" #~ msgstr "felaktigt argument %s" #~ msgid "missing argument to %s" #~ msgstr "argument saknas till %s" #~ msgid "invalid line discipline %s" #~ msgstr "felaktig linjedisciplin %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: kunde inte utföra alla efterfrågade operationer" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: inställning\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: ingen storleksinformation på denna enhet" #~ msgid "invalid integer argument %s" #~ msgstr "felaktigt heltalsargument %s" #~ msgid "Password:" #~ msgstr "Lösenord:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: kan inte öppna /dev/tty" #~ msgid "cannot set groups" #~ msgstr "kan inte sätta grupper" #~ msgid "cannot set group id" #~ msgstr "kan inte sätta grupp-id" #~ msgid "cannot set user id" #~ msgstr "kan inte sätta användar-id" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Användning: %s [FLAGGA]... [-] [ANVÄNDARE [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Ändra gällande användar-id och grupp-id till ANVÄNDAREs.\n" #~ "\n" #~ " -, -l, --login gör skalet till ett inloggningsskal\n" #~ " -c, --command=KOMMANDO skicka ett enskilt KOMMANDO till skalet " #~ "med -c\n" #~ " -f, --fast skicka -f till skalet (för csh eller " #~ "tcsh)\n" #~ " -m, --preserve-environment återställ inte miljövariabler\n" #~ " -p samma som -m\n" #~ " -s, --shell=SKAL kör SKAL, om /etc/shells tillåter det\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Att bara ange - implierar -l. Om ANVÄDNARE inte anges, antas root.\n" #~ msgid "user %s does not exist" #~ msgstr "användaren %s existerar inte" #~ msgid "incorrect password" #~ msgstr "felaktigt lösenord" #~ msgid "using restricted shell %s" #~ msgstr "använder ett skyddat skal %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "varning: kan inte byta katalog till %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Skriv kontrollsumma och antal block för varje FIL.\n" #~ "\n" #~ " -r överge -s, använd BSD summeringsalgoritm, använd 1 k " #~ "block\n" #~ " -s, --sysv använd System V:s summeringsalgoritm, använd 512-" #~ "byteblock\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Tvinga ut ändrade block till disk, uppdatera superblocket.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "ignorerar alla argument" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "OBS: ditt skal kan ha sin egen version av %s, som ofta ersätter versionen " #~ "som\n" #~ "beskrivs här. Se dokumentationen för ditt skal för detaljer om valen " #~ "det\n" #~ "stödjer.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help visa denna hjälptext och avsluta\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version visa versionsinformation och avsluta\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Rapportera fel till <%s>.\n" #~ "Rapportera kommentarer om översättningen till .\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv varje FIL till standard ut, sista raden först.\n" #~ "Utan FIL, eller när FIL är -, läs standard in.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before sätt in skiljetecken före i stället för efter\n" #~ " -r, --regex tolka skiljetecknet som ett reguljärt uttryck\n" #~ " -s, --separator=STRÄNG använd STRÄNG som skiljetecken i stället för " #~ "ny rad\n" #~ msgid "%s: seek failed" #~ msgstr "%s: sökning misslyckades" #~ msgid "record too large" #~ msgstr "för stor post" #~ msgid "cannot create temporary file %s" #~ msgstr "kan inte skapa temporärfil %s" #~ msgid "cannot open %s for writing" #~ msgstr "kan inte öppna %s för skrivning" #~ msgid "%s: write error" #~ msgstr "%s: skrivfel" #~ msgid "separator cannot be empty" #~ msgstr "skiljetecken kan inte vara tomt" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv de sista %d raderna från varje FIL till standard ut.\n" #~ "Vid fler än en FIL, inled varje med ett huvud med filnamnet.\n" #~ "Utan FIL eller om FIL är -, läs standard in.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry fortsätt försök öppna filen även om den inte " #~ "är\n" #~ " åtkomlig när tail startar eller om den blir\n" #~ " oåtkomlig senare; användbart när man följer " #~ "ett\n" #~ " namn, d.v.s. med --follow=namn\n" #~ " -c, --bytes=N skriv ut de N sista byten; alternativt, använd " #~ "+N\n" #~ " för att skriva ut byte med början på den N:e i " #~ "varje\n" #~ " fil\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={namn|filidentifierare}]\n" #~ " skriv ut nya rader i takt med att filen " #~ "växer;\n" #~ " -f, --follow och --follow=descriptor är\n" #~ " likvärdiga\n" #~ " -F samma som --follow=name --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N skriv ut de sista N raderna istället för de " #~ "sista\n" #~ " %d, eller använd +N för att skriva ut rader " #~ "med\n" #~ " början från den N:e\n" #~ " --max-unchanged-stats=N\n" #~ " med --follow=name, öppna om FIL som inte har " #~ "ändrat\n" #~ " storlek efter N (standard %d) iterationer för " #~ "att\n" #~ " se om den har tagits bort eller ändrat namn\n" #~ " (detta är det vanliga fallet för roterade " #~ "loggfiler)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID med -f, avsluta efter att process-id PID dör\n" #~ " -q, --quiet, --silent skriv aldrig ut huvuden med filnamn\n" #~ " -s, --sleep-interval=S med -f, sov ungefär S sekunder (standard 1,0)\n" #~ " mellan iterationer.\n" #~ " -v, --verbose skriv alltid ut huvuden med filnamn\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Om det första tecknet i N (antal byte eller rader) är \"+\", starta\n" #~ "utmatning med den N:te posten räknat från början av varje fil. Skriv\n" #~ "annars ut de sista N posterna i filen. N kan ha en multiplikativ " #~ "ändelse:\n" #~ "b 512, kB 1000, K 1024, MB 1000·1000, M 1024·1024,\n" #~ "GB 1000·1000·1000, G 1024·1024·1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Med --follow (-f) följer tail normalt filidentifieraren, vilket\n" #~ "betyder att även om filen man gör tail på byter namn, kommer tail att\n" #~ "fortsätta följa dess slut. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Detta standardbeteende är inte önskvärt\n" #~ "när du verkligen vill följa det faktiska namnet på filen, inte\n" #~ "filidentifieraren (t.ex. roterade loggfiler). Använd --follow=name i\n" #~ "så fall. Det gör att tail följer den namngivna filen genom att öppna\n" #~ "om den med jämna mellanrum för att se om den har tagits bort och\n" #~ "skapats om av något annat program.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "stänger %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: kan inte söka till relativ position %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: kan inte söka till slut-relativ position %s" #~ msgid "%s has become inaccessible" #~ msgstr "%s har blivit oåtkomlig" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "%s har ersatts av en fil som inte kan följas; ger upp detta namn" #~ msgid "%s has become accessible" #~ msgstr "%s har blivit åtkomlig" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s har dykt upp; följer slutet på en ny fil" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s har bytts ut, följer slutet på den nya filen" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: kan inte ändra icke-blockerande läge" #~ msgid "%s: file truncated" #~ msgstr "%s: filen avhuggen" #~ msgid "no files remaining" #~ msgstr "inga fler filer" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: kan inte följa slutet på denna sorts fil, ger upp med detta namn" #~ msgid "number in %s is too large" #~ msgstr "tal i %s är för stort" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: ogiltigt antal oförändrade status mellan öppningar" #~ msgid "%s: invalid PID" #~ msgstr "%s: felaktigt PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: ogiltigt antal sekunder" #~ msgid "option used in invalid context -- %c" #~ msgstr "flagga använd i felaktigt sammanhang -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "varning: --retry är huvudsakligen användbar när filer följs via namn" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "varning: PID ignorerad, --pid=PID är användbar bara när man följer" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "varning: --pid=PID stöds inte på detta system" #~ msgid "cannot follow %s by name" #~ msgstr "kan inte följa %s vid namn" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "varning: att följa standar in obegränsat är ineffektivt" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Kopiera standard in till varje FIL, och även till standard ut.\n" #~ "\n" #~ " -a, --append lägg till till angivna FILer, skriv inte " #~ "över\n" #~ " -i, --ignore-interrupts ignorera avbrottssignaler\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Om FIL är -, kopiera igen till standard ut.\n" #~ msgid "missing argument after %s" #~ msgstr "argument saknas efter %s" #~ msgid "invalid integer %s" #~ msgstr "ogiltigt heltal %s" #~ msgid "')' expected" #~ msgstr "\")\" förväntades" #~ msgid "')' expected, found %s" #~ msgstr "\")\" förväntades, fann %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: unär operator förväntas" #~ msgid "-nt does not accept -l" #~ msgstr "-nt tar inte -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef tar inte -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot accepterar inte -l" #~ msgid "unknown binary operator" #~ msgstr "okänd binär operator" #~ msgid "%s: binary operator expected" #~ msgstr "%s: binär operator förväntades" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Användning: test UTTRYCK\n" #~ " eller: test\n" #~ " eller: [ UTTRYCK ]\n" #~ " eller: [ ]\n" #~ " eller: [ FLAGGA\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Avsluta med status som bestäms av UTTRYCK.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Ett utelämnat UTTRYCK behandlas som falskt. Annars är UTTRYCK sant\n" #~ "eller falskt och sätter returvärdet. Det är något av:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( UTTRYCK ) UTTRYCK är sant\n" #~ " ! UTTRYCK UTTRYCK är falskt\n" #~ " UTTRYCK1 -a UTTRYCK2 både UTTRYCK1 och UTTRYCK2 är sanna\n" #~ " UTTRYCK1 -o UTTRYCK2 något av UTTRYCK1 eler UTTRYCK2 är sant\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n STRÄNG längden på STRÄNG är inte noll\n" #~ " STRÄNG likvärdigt med -n STRÄNG\n" #~ " -z STRÄNG längden på STRÄNG är noll\n" #~ " STRÄNG1 = STRÄNG2 strängarna är lika\n" #~ " STRÄNG1 != STRÄNG2 strängarna är inte lika\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " HELTAL1 -eq HELTAL2 HELTAL1 är lika med HELTAL2\n" #~ " HELTAL1 -ge HELTAL2 HELTAL1 är större än eller lika med HELTAL2\n" #~ " HELTAL1 -gt HELTAL2 HELTAL1 är större än HELTAL2\n" #~ " HELTAL1 -le HELTAL2 HELTAL1 är mindre än eller lika med HELTAL2\n" #~ " HELTAL1 -lt HELTAL2 HELTAL1 är mindre än HELTAL2\n" #~ " HELTAL1 -ne HELTAL2 HELTAL1 är inte lika med HELTAL2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " FIL1 -ef FIL2 FIL1 och FIL2 har samma enhets- och inodnummer\n" #~ " FIL1 -nt FIL2 FIL1 är nyare (ändringstidpunkt) än FIL2\n" #~ " FIL1 -ot FIL2 FIL1 är äldre än FIL2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b FIL FIL finns och är en specialfil för blockåtkomst\n" #~ " -c FIL FIL finns och är en specialfil för teckenåtkomst\n" #~ " -d FIL FIL finns och är en katalog\n" #~ " -e FIL FIL finns\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f FIL FIL finns och är en vanlig fil\n" #~ " -g FIL FIL finns och har sätt-grupp-ID-biten satt\n" #~ " -G FIL FIL finns och ägs av verksam gruppidetnitet\n" #~ " -h FIL FIL finns och är en symbolisk länk (samma som -L)\n" #~ " -k FIL FIL finns med fastbiten satt\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L FIL FIL finns och är en symbolisk länk (samma som -h)\n" #~ " -O FIL FIL finns coh ägs av verksam användaridentitet\n" #~ " -p FIL FIL finns och är ett namngivet rör\n" #~ " -r FIL FIL finns och läsning är tillåten\n" #~ " -s FIL FIL finns och har större storlek än noll\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S FIL FIL existterar och är ett uttag (socket)\n" #~ " -t FI filidentifierare FI är öppnad mot en terminal\n" #~ " -u FIL FIL existerar och dess set-user-ID-bit är satt\n" #~ " -w FIL FIL existerar och skrivning är tillåten\n" #~ " -x FIL FIL existerar och körning (eller sökning) är tillåten\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Förutom för -h och -L följer alla filrelaterade tester symboliska " #~ "länkar.\n" #~ "Var medveten om att parenteser måste föregås av kontrollsekvens \n" #~ "(t.ex. av omvänt snedstreck) för skal. HELTAL kan också vara -l STRÄNG,\n" #~ "som har värdet av längden på STRÄNG.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "OBS: [ godkänner flaggorna --help och --version, men test gör det inte.\n" #~ "test behandlar båda dessa som den behandlar alla andra icketomma " #~ "strängar.\n" #~ msgid "test and/or [" #~ msgstr "test och/eller [" #~ msgid "missing `]'" #~ msgstr " \"]\" saknas" #~ msgid "extra argument %s" #~ msgstr "extra argument %s" #~ msgid "creating %s" #~ msgstr "skapar %s" #~ msgid "cannot touch %s" #~ msgstr "kan inte beröra %s" #~ msgid "setting times of %s" #~ msgstr "sätter tider på %s" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Uppdatera åtkomst- och modifieringstiderna på varje fil till aktuell " #~ "tid.\n" #~ "\n" #~ "Ett FIL-argument som inte finns skapas tomt.\n" #~ "\n" #~ "En - som FIL-argumentsträng hanteras speciellt och får touch att ändra\n" #~ "tiden på filen som är kopplad till standard ut.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a ändra bara åtkomsttiden\n" #~ " -c --no-create skapa inga filer\n" #~ " -d, --date=STRÄNG tolka STRÄNG och använd det istället för aktuell " #~ "tid\n" #~ " -f (ignorerad)\n" #~ " -m ändra bara modifikationstiden\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=FIL använd FILs tider istället för aktuell tid\n" #~ " -t STÄMPEL använd [[ÅÅ]ÅÅ]MMDDhhmm[.ss] istället för " #~ "aktuell tid\n" #~ " --time=ORD sätt den angivna tiden:\n" #~ " ORD är access, atime eller use: detsamma som -" #~ "a\n" #~ " ORT är modify eller mtime: detsamma som -m\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Observera att flaggorna -d och -t tar olika tid-datumformat.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "kan inte ange tider från mer än en källa" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "varning: \"touch %s\" är föråldrat; använd \"touch -t %04ld%02d%02d%02d%" #~ "02d.%02d\"" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Användning: %s [FLAGGA]... MÄNGD1 [MÄNGD2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Översätt, pressa ihop och/eller ta bort tecken från standard in, skriv " #~ "till\n" #~ "standard ut.\n" #~ "\n" #~ " -c, -C, --complement komplementera först MÄNGD1\n" #~ " -d, --delete ta bort tecken i MÄNGD1, översätt inte\n" #~ " -s, --squeeze-repeats ersätt varje insekvens av upprepade tecken som " #~ "är\n" #~ " uppräknat i MÄNGD1 med en ensam förekomst av " #~ "det\n" #~ " tecknet\n" #~ " -t, --truncate-set1 stympa först MÄNGD1 till längden hos MÄNGD2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "MÄNGDer anges som en sträng tecken. De flesta representerar sig själva.\n" #~ "Följande sekvenser tolkas:\n" #~ "\n" #~ " \\NNN tecken med det oktala värdet NNN (1 till 3 oktala " #~ "siffror)\n" #~ " \\\\ omvänt snedstreck\n" #~ " \\a ljudsignal\n" #~ " \\b baksteg\n" #~ " \\f sidmatning\n" #~ " \\n nyrad\n" #~ " \\r vagnretur\n" #~ " \\t horisontell tabulator\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v vertikal tabulator\n" #~ " TECK1-TECK2 alla tecken från TECK1 till TECK2 i stigande ordning\n" #~ " [TECK*] i MÄNGD2, repetera TECK upp till längden av MÄNGD1\n" #~ " [TECK*REP] REP kopior av TECK, REP är oktalt om det startar med 0\n" #~ " [:alnum:] alla bokstäver och siffror\n" #~ " [:alpha:] alla bokstäver\n" #~ " [:blank:] alla horisontella blanktecken\n" #~ " [:cntrl:] alla styrtecken\n" #~ " [:digit:] alla siffror\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] alla utskrivbara tecken, ej blanka\n" #~ " [:lower:] alla gemena bokstäver\n" #~ " [:print:] alla skrivbara tecken, inklusive mellanrum\n" #~ " [:punct:] alla tecken för interpunktion\n" #~ " [:space:] alla horisontella och vertikala blanka\n" #~ " [:upper:] alla versala bokstäver\n" #~ " [:xdigit:] alla hexidecimala siffror\n" #~ " [=TECKEN=] alla tecken som är lika med TECKEN\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Översättning sker om -d inte ges och både MÄNGD1 och MÄNGD2 finns. -t\n" #~ "kan endast användas vid översättning. MÄNGD2 expanderas till längden\n" #~ "av MÄNGD1 genom att dess sista tecken upprepas tillräckligt många\n" #~ "gånger. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Överflödiga tecken i MÄNGD2 ignoreras. Endast [:lower:] och\n" #~ "[:upper:] expanderas garanterat i stigande ordning. Används de i\n" #~ "MÄNGD2 vid översättning kan de endast användas parvis för att ange\n" #~ "skiftlägesändring. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s använder MÄNGD1 om det ej är översättning eller\n" #~ "borttagning; annars använder sammanpressning MÄNGD2 och sker efter\n" #~ "översättning och borttagning.\n" # Hur översätta escape? #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "varning: den tvetydiga oktala kontrollsekvensen \\%c%c%c tolkas som\n" #~ "en 2-byte sekvens \\0%c%c, %c" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "varning: ett oskyddat omvänt snedstreck vid strängslut är inte portabelt" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "intervallets ändpunkter för \"%s-%s\"är i omvänd ordning" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "ogiltig upprepningsantal %s i konstruktionen [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "saknat teckenklassnamn \"[::]\"" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "saknat ekvivalensklasstecken \"[==]\"" #~ msgid "invalid character class %s" #~ msgstr "ogiltig teckenklass %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: likhetsklassoperand får bara bestå av ett tecken" #~ msgid "too many characters in set" #~ msgstr "för många tecken i mängd" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "återupprepningssammansättningen [c*] får ej förekomma i sträng1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "" #~ "endast en [c*] återupprepningssammansättning kan förekomma i sträng2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "[=c=]-uttryck får inte förekomma i sträng2 vid översättning" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "när set1 inte stympas får sträng2 ej vara tom" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "vid översättning med kompleterande teckenklasser måste sträng2\n" #~ "översätta alla tecken i domänen till ett" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "vid översättning får endast teckenklasserna \"upper\" och \"lower\"\n" #~ "finnas i sträng2" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "" #~ "sammansättningen [c*] får förekomma i sträng2 endast vid översättning" #~ msgid "Two strings must be given when translating." #~ msgstr "Två strängar måste ges vid översättning" #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Endast en sträng får anges när man tar bort utan återupprepad\n" #~ "sammanpressning" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "[:upper:] och/eller [:lower:] är felaktigt uppställda" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s [ignorerade kommandoradsargument]\n" #~ " eller: %s FLAGGA\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Avsluta med en statuskod som indikerar framgång." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Användning: %s [FLAGGA] [FIL]\n" #~ "Skriv en fullständigt ordnad lista konsistent med den partiella ordningen " #~ "i\n" #~ "FIL. \"Utan FIL eller om FIL är -, läs standard in.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: indata innehåller ett udda antal element" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: indata innehåller en slinga:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Användning: %s [FLAGGA]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Skriv ut filnamnet på den terminal som är kopplad till standard in.\n" #~ "\n" #~ " -s, --silent, --quiet skriv inte ut någonting, returnera endast " #~ "slutstatus\n" #~ msgid "not a tty" #~ msgstr "inte en tty" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Skriv ut viss systeminformation. Om ingen FLAGGA angetts används -s.\n" #~ "\n" #~ " -a, --all skriv ut all information, i följande ordning,\n" #~ " men utelämna -p och -i om okända:\n" #~ " -s, --kernel-name skriv ut kärnans namn\n" #~ " -n, --nodename skriv ut maskinens nätverksnodnamn\n" #~ " -r, --kernel-release skriv ut kärnans utgåva\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version skriv ut kärnans version\n" #~ " -m, --machine skriv ut maskin(hårdvaru)typen\n" #~ " -p, --processor skriv ut processortypen eller \"unknown\"\n" #~ " -i, --hardware-platform skriv ut hårdvaruplattform eller \"unknown" #~ "\"\n" #~ " -o, --operating-system skriv ut operativsystemet\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut maskinarkitekturen.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "kan inte avgöra systemnamn" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Konvertera mellanrum i varje FIL till tabulatorer, skriv till standard " #~ "ut.\n" #~ "Utan FIL eller om FIL är -, läs standard in.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all konvertera alla mellanrum, i stället för bara " #~ "inledande\n" #~ " --first-only konvertera bara inledande mellanrumsekvenser " #~ "(ersätter -a)\n" #~ " -t, --tabs=N tabulatorstegen är N långa i stället för 8 (aktiverar -" #~ "a)\n" #~ " -t, --tabs=LISTA använd kommaseparerad LISTA med tabulatorpositioner\n" #~ " (aktiverar -a)\n" #~ msgid "tabs are too far apart" #~ msgstr "tabulatorer är för långt isär" #~ msgid "tab stop value is too large" #~ msgstr "tabulatorsteg är för stort" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Användning: %s [FLAGGA]... [INFIL [UTFIL]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Ta bort alla utom en av på varandra följande identiska rader från\n" #~ "INFIL (eller standard in), skriv till UTFIL (eller standard ut).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count skriv antalet gånger raden förekom framför raden\n" #~ " -d, --repeated skriv endast rader som förekommer flera gånger\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=avgränsningsmetod] skriv alla upprepade rader\n" #~ " avgränsningsmetod={none(standard),prepend," #~ "separate}\n" #~ " Avgränsning görs med blanka rader.\n" #~ " -f, --skip-fields=N undvik jämförelse av de första N fälten\n" #~ " -i, --ignore-case ignorera skiftläge vid jämförelse\n" #~ " -s, --skip-chars=N undvik jämförelse av de första N tecknen\n" #~ " -u, --unique skriv endast unika rader\n" #~ " -z, --zero-terminated avsluta rader med 0-byte, inte nyrad\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N jämför inte mer än N tecken i rader\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Ett fält är en följd av mellanslag och sedan tecken som ej är " #~ "mellanslag.\n" #~ "Fält hoppas över före tecken.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Obs: \"uniq\" upptäcker inte upprepade rader om de inte är efter " #~ "varandra.\n" #~ "Du kanske vill sortera indata först, eller använda \"sort -u\" utan \"uniq" #~ "\".\n" #~ msgid "too many repeated lines" #~ msgstr "för många upprepade rader" #~ msgid "invalid number of fields to skip" #~ msgstr "ogiltigt antal fält att hoppa över" #~ msgid "invalid number of bytes to skip" #~ msgstr "ogiltigt antal byte att hoppa över" #~ msgid "invalid number of bytes to compare" #~ msgstr "ogiltigt antal byte att jämföra" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "att skriva alla duplicerade rader och antalet upprepningar är meningslöst" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s FIL\n" #~ " eller: %s FLAGGA\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Anropa funktionen unlink för att ta bort angiven FIL.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "kan inte ta bort %s" #~ msgid "couldn't get boot time" #~ msgstr "kunde inte avgöra boot-tillfälle" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d.%02d%s igång " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??.???? igång " #~ msgid "???? days ??:??, " #~ msgstr "???? dagar ??.??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld dag" #~ msgstr[1] "%ld dagar" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu användare" #~ msgstr[1] "%lu användare" #~ msgid ", load average: %.2f" #~ msgstr ", medellast: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Användning: %s [FLAGGA]... [ FIL ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Skriver ut aktuell tid, den tid som systemet varit uppe,\n" #~ "antalet användare på systemet och medelvärdet av antalet jobb\n" #~ "i körkön under de senaste 1, 5 och 15 minuterna.\n" #~ "Om FIL är specifierad, använd %s. %s som FIL är vanligt.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut vilka som är påloggade enligt FIL.\n" #~ "Om FIL inte är angiven, använd %s. %s som FIL är vanligt.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Skriv antal nyrader, ord och byte för varje FIL och en rad med totaler\n" #~ "om mer än en FIL angivits. Utan FIL eller om FIL är -, läs standard\n" #~ "in.\n" #~ " -c, --bytes skriv antalet byte\n" #~ " -m, --chars skriv antalet tecken\n" #~ " -l, --lines skriv antalet rader\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=F läs indata från filer som anges med\n" #~ " NULL-terminerade namn i filen F\n" #~ " -L, --max-line-length skriv längden på den längsta raden\n" #~ " -w, --words skriv antalet ord\n" #~ msgid " old " #~ msgstr "länge" #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "slut=" #~ msgid "clock change" #~ msgstr "klockändring" #~ msgid "run-level" #~ msgstr "körnivå" #~ msgid "last=" #~ msgstr "sist=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# användare=%lu\n" #~ msgid "NAME" #~ msgstr "NAMN" #~ msgid "LINE" #~ msgstr "LINJE" #~ msgid "TIME" #~ msgstr "TID" # Högst 6 tecken kommer skrivas ut. #~ msgid "IDLE" #~ msgstr "LUGN" #~ msgid "PID" #~ msgstr "PID" # Högst 8 tecken kommer skrivas ut. #~ msgid "COMMENT" #~ msgstr "KOMMENTAR" #~ msgid "EXIT" #~ msgstr "SLUT" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Användning: %s [FLAGGA]... [ FIL | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all samma som -b -d --login -p -r -t -T -u\n" #~ " -b, --boot tid för senaste systemuppstart\n" #~ " -d, --dead skriv ut döda processer\n" #~ " -H, --heading skriv ut rad med kolumnhuvuden\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login skriv ut inloggningsprocesser\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup försök kvalificera värdnamn med hjälp av DNS\n" #~ " -m endast värdnamn och användarnamn associerat med " #~ "standard in\n" #~ " -p, --process skriv aktiva processer startade av init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count alla inloggningsnamn och antal inloggade användare\n" #~ " -r, --runleve skriv aktuell körnivå\n" #~ " -s, --short skriv endast namn, linje och tid (standard)\n" #~ " -t, --time skriv alla ändringar av systemklockan\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg lägg till användares meddelandestatus som +, - " #~ "eller ?\n" #~ " -u, --users lista inloggade användare\n" #~ " --message samma som -T\n" #~ " --writeable samma som -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Om FIL inte är angiven, använd %s. %s som FIL är vanligt.\n" #~ "Om ARG1 ARG2 är angivna, antas -m: \"är jag\" eller \"mamma gillar\" är " #~ "vanligt.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Skriv ut användarnamnet som associeras med den aktuella gällande användar-" #~ "ID:t.\n" #~ "Samma som id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: kan inte hitta namn för användar-ID %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Användning: %s [STRÄNG]...\n" #~ " eller: %s FLAGGA\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Skriv gång på gång en rad med alla specifierade STRÄNG(ar), eller \"y\"\n" #~ "\n" dc3dd-7.1.614/po/sk.po0000644000175000017500000121470711233346647014057 0ustar amedicoamedico# Slovak translations for GNU coreutils # Copyright (C) 1996 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Miroslav Vasko , 1999. # Ivan Masár , 2007, 2008. # msgid "" msgstr "" "Project-Id-Version: coreutils 6.10\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-04-04 10:01+0100\n" "Last-Translator: Ivan Masár \n" "Language-Team: Slovak \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "nie je možné vytvoriť proces pre %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Viac informácií získate príkazom `%s --help'.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Použitie: %s [SÚBOR]...\n" " alebo: %s [VOĽBA]\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Kopírovač súbor, pričom sa skonvertuje a sformátuje podľa operandov.\n" "\n" " bs=BAJTOV vynútiť ibs=BAJTOV a obs=BAJTOV\n" " cbs=BAJTOV skonvertovať BAJTOV bajtov naraz\n" " conv=KONV skonvertovať podľa tohto zoznamu symbolov oddelených " "čiarkami\n" " count=BLOKOV skopírovať iba BLOKOV vstupných blokov\n" " ibs=BAJTOV čítať BAJTOV bajtov naraz\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=SÚBOR čítať zo SÚBORu namiesto štandardného vstupu\n" " iflag=PRÍZN čítať podľa tohto zoznamu symbolov oddelených čiarkami\n" " obs=BAJTOV zapísať BAJTOV bajtov naraz\n" " of=SÚBOR zapísať do SÚBORu namiesto na štandardný výstup\n" " oflag=PRÍZN zapisovať podľa tohto zoznamu symbolov oddelených " "čiarkami\n" " seek=BLOKOV preskočiť BLOKOV s veľkosťou obs na začiatku výstupu\n" " skip=BLOKOV preskočiť BLOKOV s veľkosťou ibs na začiatku vstupu\n" " status=noxfer potlačiť výpis štatistiky prenosu\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Po BLOKOV a BAJTOV môže byť uvedená jedna z nasledovných prípon:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024 atď pre T, P, E, Z, Y.\n" "\n" "Každý symbol KONV môže byť:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat nevytvárať výstupný súbor\n" " excl skončiť neúspešne, ak výstupný súbor už existuje\n" " notrunc neskracovať výstupný súbor\n" " ucase zmeniť malé písmená na veľké\n" " swab vymeniť každú dvojicu bajtov na vstupe\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror pokračovať aj pri chybách pri čítaní\n" " sync vyplniť každý blok znakom NULL na veľkosť ibs;\n" " keď sa použije s block alebo unblock, vyplniť medzerami namiesto " "NULL\n" " fdatasync pred ukončením fyzicky zapísať údaje\n" " fsync podobne, ale zapísať aj metadáta\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Každý symbol PRÍZN môže byť:\n" "\n" " append režim pridávania (zmysluplné iba pre výstup; navrhuje sa " "conv=notrunc)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct použiť pre dáta priamy V/V\n" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s existuje, ale nie je adresárom" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync použiť pre dáta synchronizovaný V/V\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync podobne, ale aj pre metadáta\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock použiť neblokoujúci V/V\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime neaktualizovať čas posledného prístupu\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty nepriraďovať zo súboru riadiaci terminál\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow nenasledovať symbolické odkazy\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks skončiť neúspešne pri viacnásobnom odkaze\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary použiť pre dáta binárny V/V\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text použiť pre dáta textový V/V\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Poslaním signálu %s bežiacemu procesu „dd“ spôsobíte, že\n" "vypíše štatistiku V/V na štandardný chybový výstup a bude pokračovať v " "kopírovaní.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 záznamov prečítaných\n" " 18335302+0 záznamov zapísaných\n" " 9387674624 skopírovaných bajtov (9.4 GB), 34.6279 sekúnd, 271 MB/s\n" "\n" "Voľby sú:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Neznáma systémová chyba" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% záznamov prečítaných\n" "%+% záznamov zapísaných\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "% byte (%s) copied" msgstr[1] "% skopírované bajty (%s)" msgstr[2] "% skopírovaných bajtov (%s)" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "nekonečno B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, fuzzy, c-format msgid "closing input file %s" msgstr "vytváram súbor `%s'\n" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "zatváram výstupný súbor %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 msgid "Split extensions exhausted" msgstr "" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "otváram %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "CHYBNÝ" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "neznámy operand %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "neplatný dátum %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "chybný argument %s pre `%s'" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "chybný argument %s pre `%s'" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "chybný argument %s pre `%s'" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "neplatná konverzia: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "neplatný vstupný prepínač: %s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "neplatný výstupný prepínač: %sneplatná skupina" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "neplatný stavový prepínač: %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "neplatné číslo %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "nie je možné skombinovať excl a nocreat" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "nie je možné vytvoriť adresár %s" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "nie je možné vytvoriť adresár %s" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "nie je možné vytvoriť adresár %s" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "nie je možné vytvoriť adresár %s" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "nie je možné vytvoriť adresár %s" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "upozornenie: obchádza sa chyba jadra vo funkcii lseek v súbore (%s)\n" " mt_type=0x%0lx -- pozri zoznam typov v " #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "číta sa %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: nie je možné vyhľadať" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "pretečenie pozície pri čítaní súboru %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "upozornenie: chybný ofset v súbore po neúspešnom čítaní" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "nakoniec nie je možné obísť chybu jadra" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "nastavujem príznaky %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "nie je možné vytvoriť adresár %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "nie je možné vytvoriť adresár %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "zápis do %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "fdatasync zlyhalo na %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "fsync zlyhalo na %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "štandardný vstup" #: src/dc3dd.c:3938 msgid "standard output" msgstr "štandardný výstup" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "hodnota pozície je príliš veľká: nie je možné skrátiť na dĺžku seek=%" " (%lu-bajtových) blokov" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "nie je možné vykonať fstat %s" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "presúvam sa za %s bajtov vo výstupnom súbore %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii z EBCDIC do ASCII\n" #~ " ebcdic z ASCII do EBCDIC\n" #~ " ibm z ASCII do alternatívneho EBCDIC\n" #~ " block vyplniť záznamy ukončené novým riadkom medzerami na veľkosť " #~ "cbs\n" #~ " unblock nahradiť medzery na konci záznamov s veľkosťou cbs znakom " #~ "nového riadka\n" #~ " lcase zmeniť veľké písmená na malé\n" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "skrátený záznam" #~ msgstr[1] "skrátený záznam" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "nie je možné skombinovať dve z {ascii,ebcdic,ibm}" #~ msgid "cannot combine block and unblock" #~ msgstr "nie je možné skombinovať block a unblock" #~ msgid "cannot combine lcase and ucase" #~ msgstr "nie je možné skombinovať lcase a ucase" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "upozornenie: chybný ofset v súbore po neúspešnom čítaní" #~ msgid "error writing %s" #~ msgstr "chyba pri zápise %s" #~ msgid "invalid argument %s for %s" #~ msgstr "neplatný argument %s pre %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "nejednoznačný argument %s pre %s" #~ msgid "Valid arguments are:" #~ msgstr "Platné argumenty sú:" #~ msgid "error closing file" #~ msgstr "chyba pri zatváraní súboru" #~ msgid "write error" #~ msgstr "chyba pri zápise" #~ msgid "preserving permissions for %s" #~ msgstr "zachovávajú sa práva %s" #~ msgid "cannot stat %s" #~ msgstr "nie je možné stat() %s" #~ msgid "regular empty file" #~ msgstr "obyčajný prázdny súbor" #~ msgid "regular file" #~ msgstr "obyčajný súbor" #~ msgid "directory" #~ msgstr "adresár" #~ msgid "block special file" #~ msgstr "blokový špeciálny súbor" #~ msgid "character special file" #~ msgstr "znakový špeciálny súbor" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "symbolický odkaz" #~ msgid "socket" #~ msgstr "socket" #~ msgid "message queue" #~ msgstr "front správ" #~ msgid "semaphore" #~ msgstr "semafor" #~ msgid "shared memory object" #~ msgstr "zdieľaný pamäťový objekt" #~ msgid "typed memory object" #~ msgstr "typový pamäťový objekt" #~ msgid "weird file" #~ msgstr "čudný súbor" #~ msgid "Address family for hostname not supported" #~ msgstr "Rodina adries názvu stroja nie je podporovaná" #~ msgid "Temporary failure in name resolution" #~ msgstr "Dočasná chyba v rozlíšení názvu" #~ msgid "Bad value for ai_flags" #~ msgstr "Zlá hodnota ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Nenapraviteľná chyba v rozlíšení názvu" #~ msgid "ai_family not supported" #~ msgstr "ai_family nie je podporovaná" #~ msgid "Memory allocation failure" #~ msgstr "Chyba alokácie pamäte" #~ msgid "No address associated with hostname" #~ msgstr "S názvom stroja nie je asociovaná žiadna adresa" #~ msgid "Name or service not known" #~ msgstr "Názov alebo služba nie je známa" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "ai_socktype nepodporuje servname " #~ msgid "ai_socktype not supported" #~ msgstr "ai_socktype nie je podporovaný" #~ msgid "System error" #~ msgstr "Systémová chyba" #~ msgid "Argument buffer too small" #~ msgstr "Buffer pre argumenty je príliš malý" #~ msgid "Processing request in progress" #~ msgstr "Prebieha spracovanie požiadavky" #~ msgid "Request canceled" #~ msgstr "Požiadavka zrušená" #~ msgid "Request not canceled" #~ msgstr "Požiadavka nebola zrušená" #~ msgid "All requests done" #~ msgstr "Všetky požiadavky vykonané" #~ msgid "Interrupted by a signal" #~ msgstr "Prerušené signálom" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Reťazec parametrov nebol korektne zakódovaný" #~ msgid "Unknown error" #~ msgstr "Neznáma chyba" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: voľba `%s' nie je jednoznačná\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: prepínač `--%s' nepovoľuje argument\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: prepínač `%c%s' nepovoľuje argument\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: prepínač `%s' vyžaduje argument\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: neznámy prepínač `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: neznámy prepínač `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: nepovolený prepínač -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: chybný prepínač -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: prepínač vyžaduje argument -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: prepínač `-W %s' nie je jednoznačný\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: prepínač `-W %s' nepovoľuje argument\n" #~ msgid "cannot change permissions of %s" #~ msgstr "nie je možné zmeniť práva %s" #~ msgid "cannot create directory %s" #~ msgstr "nie je možné vytvoriť adresár %s" #~ msgid "memory exhausted" #~ msgstr "vyčerpaná pamäť" #~ msgid "unable to record current working directory" #~ msgstr "nie je možné zaznamenať aktuálny pracovný adresár" #~ msgid "failed to return to initial working directory" #~ msgstr "nepodarilo sa vrátiť prvotný pracovný adreár" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #~ msgid "%s: end of file" #~ msgstr "%s: koniec súboru" #~ msgid "Success" #~ msgstr "Úspešné" #~ msgid "No match" #~ msgstr "Bez zhody" #~ msgid "Invalid regular expression" #~ msgstr "Neplatný regulárny výraz" #~ msgid "Invalid collation character" #~ msgstr "Neplatný znak kolacionovania" #~ msgid "Invalid character class name" #~ msgstr "Neplatný názov triedy znaku" #~ msgid "Trailing backslash" #~ msgstr "Lomka na konci" #~ msgid "Invalid back reference" #~ msgstr "Neplatná spätná referencia" #~ msgid "Unmatched [ or [^" #~ msgstr "[ alebo [^ bez náprotivku" #~ msgid "Unmatched ( or \\(" #~ msgstr "( alebo \\( bez náprotivku" #~ msgid "Unmatched \\{" #~ msgstr "\\{ bez náprotivku" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Neplatný obsah \\{\\}" #~ msgid "Invalid range end" #~ msgstr "Neplatné ukončenie rozsahu" #~ msgid "Memory exhausted" #~ msgstr "Pamäť bola vyčerpaná" #~ msgid "Invalid preceding regular expression" #~ msgstr "Neplatný predchádzajúci regulárny výraz" #~ msgid "Premature end of regular expression" #~ msgstr "Predčasný koniec regulárneho výrazu" #~ msgid "Regular expression too big" #~ msgstr "Tegulárny výraz je príliš veľký" #~ msgid "Unmatched ) or \\)" #~ msgstr ") alebo \\) bez náprotivku" #~ msgid "No previous regular expression" #~ msgstr "Žiaden predošlý regulárny výraz" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "je nebezpečné rekurzívne operovať nad %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "je nebezpečné rekurzívne operovať nad %s (zhodné s %s)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "použite --no-preserve-root na vypnutie tejto bezpečnostnej poistky" #~ msgid "^[yY]" #~ msgstr "^[yYaAáÁ]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "nastavujú sa práva %s" #~ msgid "iconv function not usable" #~ msgstr "funkcia iconv nie je použiteľná" #~ msgid "iconv function not available" #~ msgstr "funkcia iconv nie je dostupná" #~ msgid "character out of range" #~ msgstr "znak je mimo rozsahu" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "nie je možné konvertovať U+%04X do lokálnej znakovej sady" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "nie je možné konvertovať U+%04X do lokálnej znakovej sady: %s" #~ msgid "invalid user" #~ msgstr "neplatný používateľ" #~ msgid "invalid group" #~ msgstr "neplatná skupina" #~ msgid "invalid spec" #~ msgstr "neplatná špec." #~ msgid "(C)" #~ msgstr "©" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Licencia GPLv3+: GNU GPL versie 3 alebo neskoršia \n" #~ "Toto je slobodný softvér: môžete ho slobodne meniť a šíriť.\n" #~ "Neexistuje ŽIADNA ZÁRUKA do rozsahu aký povoľuje aplikovateľné právo.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Napísal %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Napísal %s a %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Napísal %s, %s a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Napísal %s, %s, %s\n" #~ "a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Napísal %s, %s, %s,\n" #~ "%s a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Napísal %s, %s, %s,\n" #~ "%s, %s a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Napísal %s, %s, %s,\n" #~ "%s, %s, %s a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Napísal %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Napísal %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s a %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Napísal %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s a ďalší.\n" #~ msgid "invalid argument: %s" #~ msgstr "neplatný argument: %s" #~ msgid "string comparison failed" #~ msgstr "porovnanie reťazcov zlyhalo" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Nastavením LC_ALL='C' obídete rento problém." #~ msgid "The strings compared were %s and %s." #~ msgstr "Porovnávané reťazce boli %s a %s." #~ msgid "string transformation failed" #~ msgstr "transformácia reťazca sa nepodarila" #~ msgid "The untransformed string was %s." #~ msgstr "Netransformovaný reťazec bol %s." #~ msgid "cannot perform formatted output" #~ msgstr "nie je možné vykonať formátovaný výstup" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "neplatný %s%s argument „%s“" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "naplatná prípona v argumente %s%s „%s“" #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s%s argument „%s“ je príliš veľký" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA] [SÚBOR]\n" #~ "Base64 zakódovanie alebo dekódovanie SÚBORu alebo štand. vstupu na štand. " #~ "výstup.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=STĹP Zalamovať zakódované riadky po STĹP znakoch " #~ "(štandardne 76).\n" #~ " Nastavením na 0 vypnete zalamovanie riadkov.\n" #~ "\n" #~ " -d, --decode Dekódovať dáta.\n" #~ " -i, --ignore-garbage Pri dekódovaní ignorovať nealfabetické znaky.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help vypíše tohto pomocníka a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Bez SÚBORu alebo keď SÚBOR je - číta zo štand. vstupu.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Dáta sú zakódované podľa popisu base64 abecedy v RFC 3548.\n" #~ "Pri dekódovaní môže vstup okrem bajtov formálnej base64 abecedy\n" #~ "obsahovať znaky nového riadka. Použitím --ignore-garbage zapnete\n" #~ "pokus o zotavenie v prípade výskytu iných nealfabetických znakov\n" #~ "v kódovanom toku.\n" #~ msgid "read error" #~ msgstr "chyba pri čítaní" #~ msgid "invalid input" #~ msgstr "neplatný vstup" #~ msgid "invalid wrap size: %s" #~ msgstr "neplatná veľkosť zalamovania: %s" #~ msgid "extra operand %s" #~ msgstr "nadbytočný operand %s" #~ msgid "closing standard input" #~ msgstr "zatvára sa štandardný vstup" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s [SÚBOR]...\n" #~ " alebo: %s [VOĽBA]\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Vypísať NÁZOV bez adresárov vedúcich k nemu.\n" #~ "Odstrániť aj PRÍPONU, pokiaľ bola zadaná.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Príklady:\n" #~ " %s /usr/bin/sort Výstup \"sort\".\n" #~ " %s include/stdio.h .h Výstup \"stdio\".\n" #~ msgid "missing operand" #~ msgstr "chýba operand" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Použitie: %s [PREPÍNAČ] [SÚBOR]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Spája SÚBOR(Y) alebo štandardný vstup na štandardný výstup.\n" #~ "\n" #~ " -A, --show-all rovnaké ako -vET\n" #~ " -b, --number-nonblank čísluje neprázdne výstupné riadky\n" #~ " -e rovnaké ako -vE\n" #~ " -E, --show-ends vypíše $ na konci každého riadku\n" #~ " -n, --number čísluje všetky výstupné riadky\n" #~ " -s, --squeeze-blank prázdne riadky idúce po sebe redukuje na " #~ "jediný\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t rovnaké ako -vT\n" #~ " -T, --show-tabs vypisuje znak TAB ako ^I\n" #~ " -u (ignorované)\n" #~ " -v, --show-nonprinting použije zápis ^ a M-, okrem znakov LF a TAB\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Príklady:\n" #~ " %s f - g Výstup obsah f, potom štand. vstup, potom obsah g.\n" #~ " %s Kopírovať štand. vstup na štand. výstup.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "nie je možné vykonať ioctl na %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: vstupný súbor je zároveň výstupným" #~ msgid "failed to create security context: %s" #~ msgstr "nie je možné vytvoriť bezpečnostný kontext: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "nepodarilo sa nastaviť %s zložku bezpečnostného kontextu na %s" #~ msgid "failed to get security context of %s" #~ msgstr "nepodarilo sa získať bezpečnostný kontext %s" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "nie je možné použiť čiastočný kontext na súbor bez označenia %s" #~ msgid "failed to change context of %s to %s" #~ msgstr "nepodarilo sa zmeniť bezpečnostný kontext %s na %s" #~ msgid "cannot access %s" #~ msgstr "nie je možné pristupovať k %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "nie je možné načítať adresár %s" #~ msgid "changing security context of %s" #~ msgstr "nie je možné zmeniť bezpečnostný kontext %s" #~ msgid "fts_read failed" #~ msgstr "fts_read zlyhalo" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... KOTEXT SÚBOR\n" #~ " alebo: %s [VOĽBA]... [-u POUŽ] [-r ROLA] [-l ROZSAH] [-t TYP] " #~ "SÚBOR...\n" #~ " alebo: %s [VOĽBA]... --reference=RSÚBOR SÚBOR...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Zmeniť bezpečnostný kontext každého SÚBORu na KONTEXT.\n" #~ "S parametrom --reference sa zmení bezpečnostný kontext každého\n" #~ "SÚBORU na rovnaký ako má RSÚBOR.\n" #~ "\n" #~ " -c, --changes ako verbose, ale oznamovať iba keď sa vykoná " #~ "zmena\n" #~ " -h, --no-dereference ovplyvňuje referenta každého symbolického " #~ "odkazu\n" #~ " (toto je štandardné správanie) namiesto " #~ "samotného\n" #~ " symbolického odkazu\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=RSÚBOR použiť bezpečnostný kontext RSÚBORU namiesto " #~ "zadania\n" #~ " hodnoty KONTEXT\n" #~ " -R, --recursive rekurzívne vykonávať na adresároch súboroch\n" #~ " -v, --verbose vypísať diagnostiku každého spracovaného súboru\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=POUŽ nastaviť používateľa POUŽ v cieľovom " #~ "bezpečnostnom kontexte\n" #~ " -r, --role=ROLA nastaviť rolu ROLA v cieľovom bezpečnostnom " #~ "kontexte\n" #~ " -t, --type=TYP nastaviť typ TYP v cieľovom bezpečnostnom " #~ "kontexte\n" #~ " -l, --range=ROZSAH nastaviť rozsah ROZSAH v cieľovom bezpečnostnom " #~ "kontexte\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Nasledovné voľby menia spôsob prechádzania hierarchie, keď je\n" #~ "uvedená voľba -R. Ak je uvedená viac ako jedna, účinná je iba\n" #~ "posledná uvedená.\n" #~ "\n" #~ " -H ak je argument príkazového riadka symbolický " #~ "odkaz\n" #~ " na adresár, prechádzať ním\n" #~ " -L prechádzať každý symbolický odkaz v adresári\n" #~ " -P neprechádzať žiadne symbolické odkazy " #~ "(štandardne)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference vyžaduje buď -H alebo -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h vyžaduje -P" #~ msgid "missing operand after %s" #~ msgstr "chýba operand po %s" #~ msgid "invalid context: %s" #~ msgstr "neplatný kontexxt: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "boli zadané konflitné špecifikátory kontextu" #~ msgid "failed to get attributes of %s" #~ msgstr "nepodarilo sa zistiť atribúty %s" #~ msgid "invalid group: %s" #~ msgstr "neplatná skupina: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Použitie: %s [PREPÍNAČ]... [SÚBOR]...\n" #~ " alebo: %s [PREPÍNAČ]... --reference=RSÚBOR SÚBOR...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Zmeniť skupinu každého SÚBORu na SKUPINA.\n" #~ "S parametrom --reference sa zmení skupina každého SÚBORU\n" #~ "na rovnakú ako skupin RSÚBORu.\n" #~ "\n" #~ " -c, --changes ako výrečný ale oznamovať iba keď sa vykoná " #~ "zmena\n" #~ " --dereference ovplyvňuje referenta každého symbolického " #~ "odkazu\n" #~ " (toto je štandardné správanie) namiesto " #~ "samotného\n" #~ " symbolického odkazu\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference má vplyv na každý symbolický odkaz, nie len na\n" #~ " súbory, na ktoré sa odkazuje (to je užitičné iba " #~ "na\n" #~ " systémoch, ktoré môžu zmeniť vlastníctvo " #~ "symbolického\n" #~ " odkazu)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root nezaobchádzať s „/“ špeciálne (štandardné)\n" #~ " --preserve-root zabrániť rekurzívnemu prechádzaniu od „/“\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet potlačí väčšinu chybových správ\n" #~ " --reference=RSÚBOR použiť skupiny RSÚBORu namiesto zadania\n" #~ " hodnoty SKUPINA\n" #~ " -R, --recursive rekurzívne vykonávať na adresároch súboroch\n" #~ " -v, --verbose vypísať diagnostiku každého spracovaného súboru\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Príklady:\n" #~ " %s staff /u Zmeniť skupinu /u na „staff“.\n" #~ " %s -hR staff /u Zmeniť skupinu /u a podsúborov na „staff“.\n" #~ msgid "getting new attributes of %s" #~ msgstr "zisťujem nové atribúty %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "symbolický odkaz %s ani odkazovaný súbor neboli zmenené\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "práva súboru %s boli zmenené na %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "zmena práv súboru %s na %04lo (%s) zlyhala\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "práva súboru %s zostali %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "nie je možné pracovať s visiacim symbolickým odkazom %s" #~ msgid "changing permissions of %s" #~ msgstr "menia sa práva %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: nové práva sú %s, nie %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... REŽIM[,REŽIM]... SÚBOR...\n" #~ " or: %s [VOĽBA]... OSMIČ-REŽIM SÚBOR...\n" #~ " or: %s [VOĽBA]... --reference=RSÚBOR SÚBOR...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Zmeniť režim každého SÚBORu na REŽIM.\n" #~ "\n" #~ " -c, --changes rovnaké ako verbose, ale oznamovať len " #~ "vykonanie zmeny\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root nezaobchádzať s „/“ špeciálne (štandardné)\n" #~ " --preserve-root zabrániť rekurzívnemu prechádzaniu od „/“\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet potlačiť väčšinu chybových správ\n" #~ " -v, --verbose vypísať informáciu o každom spracovanom súbore\n" #~ " --reference=RSÚBOR použiť práva RSÚBORu namiesto PRÁV\n" #~ " -R, --recursive vykonať operáciu aj vo vnorených adresároch\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "každý REŽIM je v tvare „[ugoa]*([-+=]([rwxXst]*|[ugo]))+“.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "nie je možné kombinovať voľby režimu a --reference" #~ msgid "invalid mode: %s" #~ msgstr "neplatný režim: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "vlastníka %s zmenený na %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "skupina %s zmenená na %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "vlastníctvo %s zostalo nezmenené\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "nepodarilo sa zmeniť práva %s na %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "zmena skupiny %s na %s zlyhala\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "nepodarilo sa zmeniť práva %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "vlastník %s zostal %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "skupina súboru %s zostala %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "vlastník %s zostal zachovaný\n" #~ msgid "cannot dereference %s" #~ msgstr "nie je možné dereferencovať %s" #~ msgid "changing ownership of %s" #~ msgstr "mením vlastníctvo %s" #~ msgid "changing group of %s" #~ msgstr "mená sa skupina %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Usage: %s [VOĽBA]... [VLASTNÍK][:[SKUPINA]] SÚBOR...\n" #~ " or: %s [VOĽBA]... --reference=RSÚBOR SÚBOR...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "Vlastník nie je zmenený, pokiaľ nebol zadaný. Skupina nie je zmenená,\n" #~ "pokiaľ nie je zadaná, ale bude zmenená na prihlasovaciu skupinu,\n" #~ "pokiaľ je to vyžiadané dvojbodkou. VLASTNÍK aj SKUPINA môžu byť\n" #~ "tak číselné, ako aj symbolické.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s NOVÝKOREŇ [PRÍKAZ...]\n" #~ " alebo: %s VOĽBA\n" #~ msgid "cannot change root directory to %s" #~ msgstr "nie je možné zmeniť koreňový adresár na %s" #~ msgid "cannot chdir to root directory" #~ msgstr "nie je možné vojsť do koreňového adresára" #~ msgid "cannot run command %s" #~ msgstr "nie je možné vykonať príkaz %s" #~ msgid "%s: file too long" #~ msgstr "%s: súbor je príliš dlhý" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Použitie: %s [SÚBOR]...\n" #~ " alebo: %s [VOĽBA]\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... SÚBOR1 SÚBOR2\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 neukazuje riadky obsiahnuté iba v súbore SÚBOR1\n" #~ " -2 neukazuje riadky obsiahnuté iba v súbore SÚBOR2\n" #~ " -3 neukazuje riadky spoločné obom súborom\n" #~ msgid "clearing permissions for %s" #~ msgstr "čistia sa oprávnenia %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "nepodarilo sa zachovať vlastníctvo %s" #~ msgid "failed to lookup file %s" #~ msgstr "nepodarilo sa vyhľadať súbor %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "nepodarilo sa zachovať autorstvo %s" #~ msgid "cannot open %s for reading" #~ msgstr "nie je možné otvoriť %s pre čítanie" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "nie je možné nastaviť bezpečnostný kontext %s na %s" #~ msgid "cannot remove %s" #~ msgstr "nie je možné odstrániť %s" #~ msgid "removed %s\n" #~ msgstr "odstránené %s\n" #~ msgid "cannot create regular file %s" #~ msgstr "nie je možné vytvoriť obyčajný súbor %s" #~ msgid "cannot lseek %s" #~ msgstr "nie je možné vykonať lseek %s" #~ msgid "writing %s" #~ msgstr "zapisuje sa %s" #~ msgid "preserving times for %s" #~ msgstr "zachovávam časy %s" #~ msgid "closing %s" #~ msgstr "zatvára sa %s" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: prepísať %s bez ohľadu na práva %04lo? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: prepísať %s? " #~ msgid " (backup: %s)" #~ msgstr "(záloha: %s)" #, fuzzy #~ msgid "omitting directory %s" #~ msgstr "nie je možné vytvoriť adresár %s" #~ msgid "%s and %s are the same file" #~ msgstr "%s a %s predstavujú ten istý súbor" #, fuzzy #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "nie je možné vojsť do adresára, %s" #, fuzzy #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "nie je možné prepísať ne-adresár %s adresárom %s" #, fuzzy #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "nie je možné vojsť do adresára, %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "vytvorenie záložnej kópie %s by zničilo zdroj; %s nebol presunutý" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "vytvorenie záložnej kópie %s by zničilo zdroj; %s nebol skopírovaný" #, fuzzy #~ msgid "cannot backup %s" #~ msgstr "nie je možné spustiť %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "nie je možné prepísať ne-adresár %s adresárom %s" #, fuzzy #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "will not create hard link %s to directory %s" #~ msgstr "nie je možné vojsť do adresára, %s" #, fuzzy #~ msgid "cannot create hard link %s to %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "nie je možné vojsť do adresára, %s" #, fuzzy #~ msgid "cannot move %s to %s" #~ msgstr "ioctl na `%s' nie je možné vykonať" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "zisťujem atribúty %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "nie je možné skopírovať zacyklený symbolický odkaz %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: relatívne symbolické odkazy je možné vytvoriť iba v aktuálnom adresári" #, fuzzy #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "cannot create link %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "cannot create fifo %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "cannot create special file %s" #~ msgstr "pozícia znaku je nula" #, fuzzy #~ msgid "cannot read symbolic link %s" #~ msgstr "ioctl na `%s' nie je možné vykonať" #, fuzzy #~ msgid "cannot create symbolic link %s" #~ msgstr "nie je možné vytvoriť adresár %s" #~ msgid "%s has unknown file type" #~ msgstr "%s je neznámy typ souboru" #, fuzzy #~ msgid "cannot un-backup %s" #~ msgstr "nie je možné spustiť %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (obnovenie zálohy)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... KONIEC\n" #~ " alebo: %s [VOĽBA]... ZAČIATOK KONIEC\n" #~ " alebo: %s [VOĽBA]... ZAČIATOK KROK LAST\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=KEDY tvorba nesúvislých (deravých) súborov\n" #~ " -R, --recursive kopírovať adresáre rekurzívne\n" #~ " --strip-trailing-slashes odstrániť z každého ZDROJa koncové " #~ "lomítko\n" #~ " -s, --symbolic-link namiesto odkazov vytvoriť symbolické " #~ "odkazy\n" #~ " -S, --suffix=PRÍPONA zmeniť obvyklú príponu zálohových súborov\n" #~ " na PRÍPONU\n" #~ " --target-directory=ADR presunúť všetky ZDROJe do ADResára\n" #~ " -u, --update kopírovať iba pokiaľ je zdrojový súbor " #~ "novší\n" #~ " ako cieľový alebo pokiaľ cieľový súbor " #~ "neexistuje\n" #~ " -v, --verbose vypisovať informácie o vykonaných " #~ "operáciách\n" #~ " -x, --one-file-system zostať v tomto súborovom systéme\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #~ "Pokiaľ nie je zadané inak, nesúvislé (deravé) súbory sú detekované\n" #~ "a zodpovedajúci cieľový súbor je vytvorený taktiež ako nesúvislý.\n" #~ "Toto je tiež správanie sa pri voľbe --sparse=auto. Pri zadaní voľby\n" #~ "--sparse=always bude vytvorený nesúvislý súbor vždy ak zdrojový\n" #~ "súbor obsahuje dostatočne dlhú postupnosť nulových bajtov. Voľba\n" #~ "--sparse=never zabráni tvoreniu nesúvislých súborov.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ "Premenovanie ZDROJa na CIEĽ alebo premiestnenie ZDROJa(ov) do ADRESÁRa.\n" #~ "\n" #~ " --backup[=CONTROL] vytvoriť záložnú kópiu každého " #~ "existujúceho\n" #~ " CIEĽa\n" #~ " -b ako --backup, ale nepovoľuje argument\n" #~ " -f, --force prepísať existujúce ciele bez opýtania\n" #~ " -i, --interactive pred prepísaním súboru sa opýtať\n" #~ " --strip-trailing-slashes odstrániť koncové lomítka z každého\n" #~ " ZDROJa\n" #~ " -S, --suffix=PRÍPONA zmeniť obvyklú príponu záložných kópií\n" #~ " --target-directory=ADR presunúť všetky ZDROJe do ADResára\n" #~ " -u, --update premiestniť iba novšie a úplne nové " #~ "soubory\n" #~ " -v, --verbose vypisovať informácie o priebehu\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ " --sparse=KEDY tvorba nesúvislých (deravých) súborov\n" #~ " -R, --recursive kopírovať adresáre rekurzívne\n" #~ " --strip-trailing-slashes odstrániť z každého ZDROJa koncové " #~ "lomítko\n" #~ " -s, --symbolic-link namiesto odkazov vytvoriť symbolické " #~ "odkazy\n" #~ " -S, --suffix=PRÍPONA zmeniť obvyklú príponu zálohových súborov\n" #~ " na PRÍPONU\n" #~ " --target-directory=ADR presunúť všetky ZDROJe do ADResára\n" #~ " -u, --update kopírovať iba pokiaľ je zdrojový súbor " #~ "novší\n" #~ " ako cieľový alebo pokiaľ cieľový súbor " #~ "neexistuje\n" #~ " -v, --verbose vypisovať informácie o vykonaných " #~ "operáciách\n" #~ " -x, --one-file-system zostať v tomto súborovom systéme\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #~ "Pokiaľ nie je zadané inak, nesúvislé (deravé) súbory sú detekované\n" #~ "a zodpovedajúci cieľový súbor je vytvorený taktiež ako nesúvislý.\n" #~ "Toto je tiež správanie sa pri voľbe --sparse=auto. Pri zadaní voľby\n" #~ "--sparse=always bude vytvorený nesúvislý súbor vždy ak zdrojový\n" #~ "súbor obsahuje dostatočne dlhú postupnosť nulových bajtov. Voľba\n" #~ "--sparse=never zabráni tvoreniu nesúvislých súborov.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Prípona záložných súborov je ~, pokiaľ nie je nastavená voľbou --suffix " #~ "alebo\n" #~ "premennou SIMPLE_BACKUP_SUFFIX. Spôsob tvorby záložných kópií súborov " #~ "môže byť\n" #~ "nastavený premennou VERSION_CONTROL, prípustné hodnoty sú:\n" #~ "\n" #~ " none, off nikdy nevytvárať záložné kópie (ani ak bolo zadané --" #~ "backup)\n" #~ " numbered, t tvoriť číslované záložné kópie\n" #~ " existing, nil tvoriť číslované, pokiaľ už číslované záložné kópie\n" #~ " existujú, inak tvoriť jednoduché\n" #~ " simple, never vždy tvoriť jednoduché záložné kópie súborov \n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off nikdy nevytvárať záložné kópie (ani ak bolo zadané --" #~ "backup)\n" #~ " numbered, t tvoriť číslované záložné kópie\n" #~ " existing, nil tvoriť číslované, pokiaľ už číslované záložné kópie\n" #~ " existujú, inak tvoriť jednoduché\n" #~ " simple, never vždy tvoriť jednoduché záložné kópie súborov \n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Ako špeciálny prípad, cp tvorí záložné kópie ZDROJa, pokiaľ sú zadané " #~ "voľby\n" #~ "force a backup a ZDROJ a CIEĽ sú rovnakým menom pre existujúci bežný " #~ "súbor.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "nie je možné zachovať časy %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "nie je možné zachovať práva %s" #~ msgid "cannot make directory %s" #~ msgstr "nie je možné vytvoriť adresár %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s existuje, ale nie je adresárom" #~ msgid "accessing %s" #~ msgstr "pristupujem k %s" #~ msgid "missing file operand" #~ msgstr "chýba operand súboru" #~ msgid "missing destination file operand after %s" #~ msgstr "chýba operand cieľového súboru po %s" #~ msgid "target %s is not a directory" #~ msgstr "cieľ %s nie je adresárom" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "pri použití voľby --parents cieľ musí byť adresárom" #~ msgid "multiple target directories specified" #~ msgstr "boli uvedené viaceré cieľové adresáre" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "nie je možné zároveň vytvoriť pevný a symbolický odkaz" #~ msgid "backup type" #~ msgstr "typ zálohy" #~ msgid "input disappeared" #~ msgstr "vstup sa stratil" #~ msgid "%s: line number out of range" #~ msgstr "%s: číslo riadku je mimo rozsah" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: číslo riadka je mimo rozsahu" #~ msgid " on repetition %s\n" #~ msgstr " v opakovaní %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: zhoda nenájdená" #~ msgid "error in regular expression search" #~ msgstr "chyba pri vyhľadávaní pomocou regulárneho výrazu" #~ msgid "write error for %s" #~ msgstr "chyba pri zápise do %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: po oddeľovači sa očakáva celé číslo" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: '}' je požadovaná v počítadle opakovaní" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: medzi `{' a `}' musí byť celé číslo" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: chýba koncový oddeľovač „%c“" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: chybný regulárny výraz: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: chybný vzor" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: číslo riadku musí byť väčšie ako nula" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "číslo riadka %s je menšie ako číslo predchádzajúceho riadka, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "" #~ "upozornenie: číslo riadka %s je rovnaké ako číslo predcházajúceho riadka" #~ msgid "invalid format width" #~ msgstr "neplatná šírka vo formáte" #~ msgid "invalid format precision" #~ msgstr "neplatná presnosť vo formáte" #~ msgid "missing conversion specifier in suffix" #~ msgstr "v parametri prepínača chýba určenie typu konverzie" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "chybne zadaný typ konverzie v parametri prepínača: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "chybne zadaný typ konverzie v parametri prepínača: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "príliš mnoho typov konverzie %% v parametri prepínača" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "v parametri prepínača chýba zadanie typu konverzie pomocou %%" #~ msgid "%s: invalid number" #~ msgstr "%s: chybné číslo" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... SÚBOR VZOROV...\n" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Použitie: %s [VOĽBA]... [SÚBOR]...\n" #~ msgid "invalid byte or field list" #~ msgstr "chybný zoznam bajtov alebo položiek" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "chybný typ reťazca `%s'" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "neplatné číslo" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "%s je príliš veľa" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "číslo položky je nula" #~ msgid "only one type of list may be specified" #~ msgstr "môže byť zadaný iba jeden typ zoznamu" #~ msgid "the delimiter must be a single character" #~ msgstr "oddeľovač musí byť jediný znak" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "musíte zadat zoznam bajtov, znakov alebo položiek" #, fuzzy #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "oddeľovač môže byť zadaný iba pri práci s položkami" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "potlačenie riadkov neobsahujúcich oddeľovač, má význam iba\n" #~ "\tpri použití pracuje s poľami" #~ msgid "missing list of fields" #~ msgstr "chýba zoznam položiek" #~ msgid "missing list of positions" #~ msgstr "chýba zoznam pozícií" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... [+FORMÁT]\n" #~ " alebo: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #, fuzzy #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Vypísať aktuálny čas v zadanom FORMÁTE alebo nastaviť systémový čas.\n" #~ "\n" #~ " -d, --date=REŤAZEC zobraziť čas zadaný REŤAZCOM namiesto `teraz'\n" #~ " -f, --file=SÚBOR ako --date pre každý riadok SÚBORU\n" #~ " -I, --iso-8601[=ŠPEC] vypísať dátum/čas v ISO-8601 formáte.\n" #~ " ŠPEC=`date' (alebo nič) pre samotný dátum,\n" #~ " `hours', `minutes', alebo `seconds' pre dátum\n" #~ " a čas po zadanú presnosť.\n" #~ " -r, --reference=SÚBOR zobraziť čas poslednej zmeny SÚBORU\n" #~ " -R, --rfc-822 vypísať čas vo formáte vyhovujúcom RFC-822\n" #~ " -s, --set=REŤAZEC nastaviť čas zadaný REŤAZCOM\n" #~ " -u, --utc, --universal vypísať alebo nastaviť univerzálny svetový " #~ "čas\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "\\%c: neprípustná sekvencia" #, fuzzy #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "prepínače --string a --check sa vzájomne vylučujú" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "voľby pre výpis a nastavenie času nemôžu byť použité spoločne" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "argumentu `%s' chýba úvodný znak `+';\n" #~ "Pokiaľ je pre špecifikáciu dátumu použitá voľba, všetky argumenty,\n" #~ "ktoré nie sú voľbami, musia byť formátovacím reťazcom s úvodným `+'." #~ msgid "cannot set date" #~ msgstr "nie je možné nastaviť dátum" #~ msgid "time %s is out of range" #~ msgstr "čas %s je mino rozsahu" #~ msgid "Filesystem Type" #~ msgstr "Súborový systém Typ" #~ msgid "Filesystem " #~ msgstr "Súborový systém " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " I-uzly IPouž IVoľ IPou%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Veľk Použ Dost Pou%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Veľk Použ Dost Pou%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-blokov Použ Dostupné Kapacita" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-bloky Použ Dostupné Pou%%" #~ msgid " Mounted on\n" #~ msgstr " Namontovaný na\n" #~ msgid "cannot get current directory" #~ msgstr "nie je možné zmeniť aktuálny adresár" #~ msgid "cannot change to directory %s" #~ msgstr "nie je možné vojsť do adresára %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "nie je možné stat() aktuálny adresár (%s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... [SÚBOR]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Zobraziť informácie o súborovom systéme, na ktorom sa nachádza SÚBOR\n" #~ "alebo štandardne o všetkých súborových systémoch.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all vrátane čisto logických súborových systémov\n" #~ " -B, --block-size=VEĽ použiť bloky s veľkosťou VEĽ\n" #~ " -h, --human-readable vypisovať veľkosti vo formáte čitateľnom pre " #~ "človeka (napr., 1K 234M 2G)\n" #~ " -H, --si podobne, ale používať násobky 1000, nie 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes vypísať informácue o inode-och namiesto využitia " #~ "blokov\n" #~ " -k ekvivalent --block-size=1K\n" #~ " -l, --local obmedziť výpis iba na lokálne súborové systémy\n" #~ " --no-sync nevyvolávať sync pred získaním informácií o " #~ "využití (štandardne)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability použiť výstup vo formáte POSIX\n" #~ " --sync vyvolať sync pred získaním informácií o využití\n" #~ " -t, --type=TYP obmedziť výpis iba na súborové systémy typu TYP\n" #~ " -T, --print-type vypísať typ súborového systému\n" #~ " -x, --exclude-type=TYP obmedziť výpis iba na súborové systémy, ktoré " #~ "nie sú typu TYP\n" #~ " -v (ignoruje sa)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "VEĽKOSŤ môže byť (alebo môže byť celé číslo, po ktorom nasleduje) jedno z " #~ "nasledovných:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024 atď pre G, T, P, E, Z, Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "súborový systém %s je zároveň vybratý a vylúčený" #~ msgid "Warning: " #~ msgstr "Upozornenie: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%snie je možné prečítať tabuľku namontovaných súborových systémov" #~ msgid "no file systems processed" #~ msgstr "neboli spracované žiadne súborové systémy" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... [SÚBOR]...\n" #, fuzzy #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Príkaz pre nastavenie premennej prostredia LS_COLOR.\n" #~ "\n" #~ "Špecifikovať výstupný formát:\n" #~ " -b, --sh, --bourne-shell výstupom je Bourne shellový príkaz\n" #~ " pre nastavenie LS_COLORS\n" #~ " -c, --csh, --c-shell výstupom je C shellový príkaz\n" #~ " pre nastavenie LS_COLORS\n" #~ " -p, --print-database vypísať štandardné nastavenia\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Ak je zadaný SÚBOR, načítať ho, aby sa zistilo, ktoré farby použiť pre\n" #~ "ktoré typy a prípony súborov. Inak použiť predkompilovanú databázu.\n" #~ "Podrobnosti o formáte týchto súborov spustite „dircolors --print-" #~ "database“.\n" #, fuzzy #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s: neplatný počet sekúnd" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: neznáme kľúčové slovo %s" #~ msgid "" #~ msgstr "" #, fuzzy #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "voľby pre podrobný a stty-čitateľný formát výstupu\n" #~ "sa navzájom vylučujú" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "Operandy súboru nie je možné kombinovať s --print-database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "nie je nastavená premenná prostredia SHELL a typ shellu nie je zadaný" #, fuzzy #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s [SÚBOR]...\n" #~ " alebo: %s [VOĽBA]\n" #, fuzzy #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Vypísať NÁZOV s odstráneným koncovým komponentom a predchádzajúcim " #~ "lomítkom.\n" #~ "Pokiaľ NÁZOV neobsahuje lomítko, vypísať `.' (s významom aktuálneho " #~ "adresára).\n" #~ "\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "príklady:\n" #~ " %s /usr/bin/sort Vypísať \"/usr/bin\".\n" #~ " %s stdio.h Vypísať \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... [SÚBOR]...\n" #~ " or: %s [VOĽBA]... --files0-from=F\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Vypísať zhrnutie využitia disku každým SÚBORom, rekurzívne prechádzať " #~ "adresáre.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all vypísať čísla pri všetkých súboroch, nie len pri " #~ "adresároch\n" #~ " --apparent-size napísať veľkosti ako vyzerajú namiesto využitia " #~ "disku;\n" #~ " hoci sú veľkosti ako vyzerajú zvyčajne menšie, " #~ "môžu\n" #~ " byť väčšie z dôvodu dier v („sparse“) súboroch, " #~ "vnútornej\n" #~ " fragmentácii, nepriamym blokom a podobne\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=VEĽ použiť bloky s veľkosťou VEĽ\n" #~ " -b, --bytes ekvivalent „--apparent-size --block-size=1“\n" #~ " -c, --total vypísať celkové zhrnutie\n" #~ " -D, --dereference-args dereferencovať iba symbolické odkazy, ktoré sú " #~ "uvedené\n" #~ " na príkazovom riadku\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=F summarizovať využitie disku súbormi uvedenými\n" #~ " v súbore s názvami ukončeným znakmi NULL\n" #~ " -H ako --si, ale vyvolá aj upozornenie; čoskoro sa " #~ "zmení\n" #~ " na ekvivalent --dereference-args (-D)\n" #~ " -h, --human-readable vypísať veľkosti vo formáte čitateľnompre človeka " #~ "(napr., 1K 234M 2G)\n" #~ " --si ako -h, ale použiť násobky 1000, nie 1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k ako --block-size=1K\n" #~ " -l, --count-links počítať veľkosť viacnásobne pri pevných odkazoch\n" #~ " -m ako --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference dereferencovať všetky symbolické odkazy\n" #~ " -P, --no-dereference nenasledovať žiadne symbolické odkazy " #~ "(štandardne)\n" #~ " -0, --null ukončiť každý riadok výstupu bajtom 0 namiesto " #~ "znaku nového riadka\n" #~ " -S, --separate-dirs nevypisovať veľkosti podadresárov\n" #~ " -s, --summarize zobraziť iba zhrnutie pre každý z argumentov\n" #~ msgid "total" #~ msgstr "celkom" #, fuzzy #~ msgid "invalid maximum depth %s" #~ msgstr "chybné číslo položky: `%s'" #~ msgid "cannot both summarize and show all entries" #~ msgstr "nie je možné súčasne sumarizovať a vypisovať všetky položky" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "upozornenie: sumarizácia je to isté ako --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "upozornenie: sumarizácia je v konflikte s --max-depth=%lu" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "nie je možné vytvoriť odkaz %s" #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "neplatná skupina" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Použitie: %s [VOĽBA]... [SÚBOR]...\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Použitie: %s [VOĽBA]... [-] [NÁZOV=HODNOTA]... [PRÍKAZ [ARG]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Nastaviť v prostredí každú PREMENNÚ na HODNOTU a spustiť PRÍKAZ.\n" #~ "\n" #~ " -i, --ignore-environment začať s prázdnym prostredím\n" #~ " -u, --unset=NAME odstrániť premennú z prostredia\n" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "%s je príliš veľa" #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "veľkosť tabulátoru obsahuje neplatný znak" #~ msgid "tab size cannot be 0" #~ msgstr "veľkosť tabulátoru nemôže byť 0" # sizes or positions? - rzm #~ msgid "tab sizes must be ascending" #~ msgstr "postupnosť pozíc tabulátorov musí byť rastúca" #~ msgid "input line is too long" #~ msgstr "vstupný riadok je príliš dlhý" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s VÝRAZ...\n" #~ " alebo: %s VOĽBA\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Pozor na to, že veľa operátorov musí byť v shelli citovaných. Porovnania " #~ "sú\n" #~ "aritmetické, pokiaľ sú oba argumenty číselné, inak sú lexikografické.\n" #~ " Hľadanievzoru vracia vyhovujúci reťazec medzi \\( a \\) alebo prázdny " #~ "reťazec; pokiaľ\n" #~ "\\( a \\) nie sú použité, vracia počet vyhovujúcich znakov alebo 0.\n" #~ msgid "syntax error" #~ msgstr "syntaktická chyba" #~ msgid "error in regular expression matcher" #~ msgstr "chyba pri vyhľadávaní pomocou regulárneho výrazu" #~ msgid "non-numeric argument" #~ msgstr "nečíselný argument" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s [ČÍSLO]...\n" #~ " alebo: %s VOĽBA\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " Vypíše prvočinitele všetkých zadaných celých ČÍSIEL. Pokiaľ na " #~ "príkazovom\n" #~ " riadku nie sú zadané žiadne argumenty, budú načítané zo štandardného " #~ "vstupu.\n" #~ msgid "%s is too large" #~ msgstr "%s je príliš veľa" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s nie je platné kladné celé číslo" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Použitie: %s [-ČÍSLICA] [PREPÍNAČ]... [SÚBOR]...\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin zachová odsadenie prvých dvoch riadkov\n" #~ " -p, --prefix=REŤAZEC pracuje iba s riadkami začínajúcimi " #~ "REŤAZCOM,\n" #~ " ktorý pripojí pred riadky so zmeneným " #~ "formátom\n" #~ " -s, --split-only iba rozdelí dlhé riadky\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph odsadí prvý riadok rozdielne od druhého\n" #~ " -u, --uniform-spacing jedna medzera medzi slovami, dve za vetou\n" #~ " -w, --width=ŠÍRKA maximálna šírka riadka (implicitne 75 " #~ "stĺpcov)\n" #~ msgid "invalid width: %s" #~ msgstr "neplatná šírka: %s" #~ msgid "invalid number of columns: %s" #~ msgstr "neplatný počet stĺpcov: %s" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "zmena skupiny %s na %s zlyhala\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "zmena skupiny %s na %s zlyhala\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "nie je možné zmeniť používateľa a/alebo skupinu %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... MNOŽINA1 [MNOŽINA2]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Používateľ neexistuje" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vypíše prvých 10 riadkov každého SÚBORu na štandardný výstup. S viac ako\n" #~ "jedným SÚBORom, bude pred vypísaním každého uvedená hlavička obsahujúca " #~ "názov\n" #~ "súboru. Ak SÚBOR nebude zadaný alebo bude -, načíta sa štandardný vstup.\n" #~ "\n" #~ msgid "error reading %s" #~ msgstr "chyba pri čítaní %s" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: počet bajtov je príliš veľký" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: nie je možné presunúť sa na pozíciu %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "nie je možné zmeniť pozíciu ukazovateľa v súbore %s" # src/tail.c:968 #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s je príliš veľký, preto nie je reprezentovateľný" #~ msgid "number of lines" #~ msgstr "počet riadkov" #~ msgid "number of bytes" #~ msgstr "počet bajtov" #~ msgid "invalid number of lines" #~ msgstr "chybný počet riadkov" #~ msgid "invalid number of bytes" #~ msgstr "chybný počet bajtov" #~ msgid "invalid trailing option -- %c" #~ msgstr "chybná posledná voľba -- %c" #, fuzzy #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s\n" #~ " alebo: %s VOĽBA\n" #~ "Vypísať numerický (hexadecimálny) identifikátor aktuálneho počítača.\n" #~ "\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s [NÁZOV]\n" #~ " alebo: %s VOĽBA\n" #~ "Vypísať názov tohoto systému.\n" #~ "\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "ioctl na `%s' nie je možné vykonať" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "nie je možné nastaviť názov; tento systém to neumožňuje" #~ msgid "cannot determine hostname" #~ msgstr "nie je možné zistiť názov systému" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Vypísať informáciu o POUŽÍVATEĽOVI, alebo o aktuálnom používateľovi.\n" #~ "\n" #~ " -a ignorované, kvôli kompatibilite s inými verziami\n" #~ " -g, --group vypísať iba identifikáciu skupiny\n" #~ " -G, --groups vypísať iba identifikáciu doplnkových skupín\n" #~ " -n, --name namiesto čísla vypísať meno, pre -ugG\n" #~ " -r, --real vypísať reálne ID namiesto efektívneho ID, pre -ugG\n" #~ " -u, --user vypísať iba ID používateľa\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "can't get process context" #~ msgstr "nie je možné zistiť typ procesora" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "súbor sa nedá rozdeliť viacerými spôsobmi" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "v implicitnom formáte nie je možné vypísať iba mená alebo reálne ID" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "nie je možné zistiť meno pre ID používateľa %u\n" #~ msgid " groups=" #~ msgstr " skupiny=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "" #~ "formátovací reťazec nemôže byť použitý, pokiaľ je požadovaná rovnaká šírka" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "" #~ "formátovací reťazec nemôže byť použitý, pokiaľ je požadovaná rovnaká šírka" #, fuzzy #~ msgid "invalid mode %s" #~ msgstr "chybné číslo položky: `%s'" #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "nie je možné zmeniť práva %s" #, fuzzy #~ msgid "cannot set time stamps for %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "fork system call failed" #~ msgstr "veľkosť bloku" #, fuzzy #~ msgid "cannot run strip" #~ msgstr "nie je možné spustiť %s" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "chyba pri zápise %s" #, fuzzy #~ msgid "invalid user %s" #~ msgstr "neplatný používateľ" #, fuzzy #~ msgid "invalid group %s" #~ msgstr "neplatná skupina" #, fuzzy #~ msgid "creating directory %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... KONIEC\n" #~ " alebo: %s [VOĽBA]... ZAČIATOK KONIEC\n" #~ " alebo: %s [VOĽBA]... ZAČIATOK KROK LAST\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Prípona záložných súborov je ~, pokiaľ nie je nastavená voľbou --suffix " #~ "alebo\n" #~ "premennou SIMPLE_BACKUP_SUFFIX. Spôsob tvorby záložných kópií súborov " #~ "môže byť\n" #~ "nastavený premennou VERSION_CONTROL, prípustné hodnoty sú:\n" #~ "\n" #~ " none, off nikdy nevytvárať záložné kópie (ani ak bolo zadané --" #~ "backup)\n" #~ " numbered, t tvoriť číslované záložné kópie\n" #~ " existing, nil tvoriť číslované, pokiaľ už číslované záložné kópie\n" #~ " existujú, inak tvoriť jednoduché\n" #~ " simple, never vždy tvoriť jednoduché záložné kópie súborov \n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " Porovnáva súbory ĽAVÝ_SÚBOR a PRAVÝ_SÚBOR, ktorých riadky sú " #~ "usporiadané\n" #~ "podľa nejakého kľúča, riadok po riadku. Výstupom sú tri stĺpce, riadky " #~ "obsiahnuté\n" #~ "iba v ľavom súbore, riadky obsiahnuté iba v pravom súbore, riadky " #~ "spoločné\n" #~ "obom súborom.\n" #~ "\n" #~ " -1 neukazuje riadky obsiahnuté iba v ľavom súbore\n" #~ " -2 neukazuje riadky obsiahnuté iba v pravom súbore\n" #~ " -3 neukazuje riadky spoločné obom súborom\n" #~ " --help vypíše tuto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "chybné číslo položky: `%s'" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "chybne zadaná položka: `%s'" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "chybné číslo súboru v popise položky: `%s'" #~ msgid "empty tab" #~ msgstr "prázdna záložka" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "viacznakový tabulátor `%s'" #~ msgid "both files cannot be standard input" #~ msgstr "obidva súbory nemôžu byť štandardným vstupom" #, fuzzy #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ "Kopírovať štandardný vstup do každého SÚBORU a tiež na štandardný " #~ "výstup.\n" #~ "\n" #~ " -a, --append pridať na koniec SÚBORU, neprepisovať\n" #~ " -i, --ignore-interrupts ignorovať signály prerušenia\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "%s: invalid signal" #~ msgstr "%s: chybné PID" #, fuzzy #~ msgid "%s: invalid process id" #~ msgstr "%s: chybný vzor" #, fuzzy #~ msgid "invalid option -- %c" #~ msgstr "%s: chybný prepínač -- %c\n" #, fuzzy #~ msgid "%s: multiple signals specified" #~ msgstr "\\%c: neprípustná sekvencia" #, fuzzy #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s [SÚBOR]...\n" #~ " alebo: %s [VOĽBA]\n" #, fuzzy #~ msgid "cannot create link %s to %s" #~ msgstr "nie je možné vytvoriť adresár %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: upozornenie: pevný odkaz na symbolický odkaz nie je prenositeľný" #, fuzzy #~ msgid "%s: hard link not allowed for directory" #~ msgstr "`%s' nie je adresár" #, fuzzy #~ msgid "%s: cannot overwrite directory" #~ msgstr "nie je možné vytvoriť adresár %s" #~ msgid "%s: replace %s? " #~ msgstr "%s: prepísať %s? " #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "vytváram symbolický odkaz %s na %s" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "vytváram symbolický odkaz %s na %s" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "vytváram pevný odkaz %s na %s" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "vytváram pevný odkaz %s na %s" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "vytváram pevný odkaz %s na %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... ZDROJ CIEĽ (1. formát)\n" #~ " alebo: %s [VOĽBA]... ZDROJ... ADRESÁR (2. formát)\n" #~ " alebo: %s -d [VOĽBA]... ADRESÁR... (3. formát)\n" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s existuje, ale nie je adresárom" #, fuzzy #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Použitie: %s [PREPÍNAČ] [SÚBOR]...\n" #, fuzzy #~ msgid "no login name" #~ msgstr "%s: chybné číslo" #, fuzzy #~ msgid "%b %e %Y" #~ msgstr "%b %e %H:%M %Y" #, fuzzy #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M %Y" #, fuzzy #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "ignorujem chybný rozostup tabulátorov v premennej prostredia TABSIZE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "ignorujem chybnú šírku v premennej prostredia COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "ignorujem chybný rozostup tabulátorov v premennej prostredia TABSIZE: %s" #, fuzzy #~ msgid "invalid line width: %s" #~ msgstr "chybné číslo položky: `%s'" #, fuzzy #~ msgid "invalid tab size: %s" #~ msgstr "chybný typ reťazca `%s'" #, fuzzy #~ msgid "invalid time style format %s" #~ msgstr "chybný argument %s pre `%s'" #, fuzzy #~ msgid "unrecognized prefix: %s" #~ msgstr "neznámy prepínač `-%c'" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "nezrozumiteľná hodnota v premennej prostredia LS_COLORS" #, fuzzy #~ msgid "cannot open directory %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "cannot determine device and inode of %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "nie je možné vojsť do adresára, %s" #, fuzzy #~ msgid "cannot compare file names %s and %s" #~ msgstr "nie je možné vytvoriť odkaz %s" #, fuzzy #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -g (ignorované)\n" #~ " -G, --no-group nevypisovať informácie o skupinách\n" #~ " -h, --human-readable veľkosti v ľahko čitateľnom formáte\n" #~ " (napr. 1K 234M 2G)\n" #~ " --si podobne, ale použiť mocniny 1000 namiesto " #~ "1024\n" #~ " -H zatiaľ to isté ako --si; čoskoro sa zmení\n" #~ " kvôli kompatibilite s POSIX-om\n" #~ " --indicator-style=ŠTÝL pripojiť indikátor štýlu ŠTÝL k názvom:\n" #~ " none (predvoľba), classify (-F), file-type " #~ "(-p)\n" #~ " -i, --inode ku každému súboru vypísať aj číslo jeho i-" #~ "uzlu\n" #~ " -I, --ignore=VZOR nevypisovať súbory vyhovujúce shellovému " #~ "VZORu\n" #~ " -k, --kilobytes ako --block-size=1024\n" #~ " -l použiť dlhý formát\n" #~ " -L, --dereference v prípade symbolických odkazov vypísať " #~ "vlastnosti,\n" #~ " súboru, na ktorý odkaz odkazuje\n" #~ " -m oddeľovať súbory čiarkami\n" #~ " -n, --numeric-uid-gid namiesto mena vlastníka (UID) a skupiny " #~ "(GID)\n" #~ " vypísať čísla\n" #~ " -N, --literal nespracovávať riadiace znaky v názvoch " #~ "súborov\n" #~ " -o použiť dlhý formát bez informácií o " #~ "skupinách\n" #~ " -p, --file-type doplniť znak určujúci typ každého souboru " #~ "(jeden z /=@|)\n" #~ " -q, --hide-control-chars namiesto negrafických znakov vypísať '?'\n" #~ " --show-control-chars vypísať aj negrafické znaku (predvolené)\n" #~ " -Q, --quote-name vložiť názvy do úvodzoviek (citácia)\n" #~ " --quoting-style=SLOVO citovať mená štýlom SLOVO:\n" #~ " literal, shell, shell-always, c, escape\n" #~ " -r, --reverse usporiadať v opačnom poradí\n" #~ " -R, --recursive vypísať adresáre rekurzívne\n" #~ " -s, --size vypísať veľkosť každého súboru v blokoch\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA] [SÚBOR]...\n" #~ "Vypíše alebo skontroluje kontrolné súčty %s (%d-bit).\n" #~ " Pokiaľ nie je SÚBOR zadaný, načíta sa štandardný vstup.\n" #~ "\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary čítať v binárnom režime\n" #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "%s: nenájdené správne sformátované riadky %s kontrolného súčtu" #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %lu: nesprávne sformátovaný riadok %s kontrolného súčtu" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: ZLYHALO otvorenie alebo čítanie\n" #~ msgid "OK" #~ msgstr "V PORIADKU" #~ msgid "%s: read error" #~ msgstr "%s: chyba pri čítaní" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: nenájdené správne sformátované riadky %s kontrolného súčtu" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "prepínače --binary a --text sú bezvýznamné pri overovaní kontrolných " #~ "súčtov" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "prepínač --status má význam iba pri overovaní kontrolných súčtov" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "prepínač --warn má význam iba pri overovaní kontrolných súčtov" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Použitie: %s [VOĽBA] ADRESÁR...\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=PRÁVA nastaviť prístupové práva (ako s 'chmod'), nie " #~ "rwxrwxrwx -\n" #~ " umask\n" #~ " -p, --parents existencia nie je chybou, vytvoriť rodičovské " #~ "adresáre,\n" #~ " pokiaľ je to potrebné.\n" #~ " -v, --verbose vypísať správu o každom vytváranom adresári\n" #~ msgid "created directory %s" #~ msgstr "bol vytvorený adresár %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Použitie: %s [VOĽBA] NÁZOV...\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=PRÁVA nastaviť prístupové PRÁVA (ako s „chmod“), nie a=rw - " #~ "umask\n" #~ msgid "invalid mode" #~ msgstr "neplatný režim" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Použitie: %s [VOĽBA]... NÁZOV TYP [HLAVNÉ VEDĽAJŠIE]\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b vytvoriť blokový špeciálny súbor (s buferom)\n" #~ " c, u vytvoriť znakový špeciálny súbor (bez bufera)\n" #~ " p vytvoriť rúru (FIFO)\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Pri vytváraní špeciálneho blokového súboru musí byť zadané\n" #~ "hlavné a vedľajšie číslo zariadenia." #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "FIFO nemajú hlavné a vedľajšie čísla zariadenia." #~ msgid "block special files not supported" #~ msgstr "špeciálne blokové súbory nie sú podporované" #~ msgid "character special files not supported" #~ msgstr "špeciálne znakové súbory nie sú podporované" #~ msgid "invalid major device number %s" #~ msgstr "neplatné hlavné číslo zariadenia %s" #~ msgid "invalid minor device number %s" #~ msgstr "neplatné vedľajšie číslo zariadenia %s" #~ msgid "invalid device %s %s" #~ msgstr "neplatné zariadenie %s %s" #~ msgid "invalid device type %s" #~ msgstr "neplatný typ zariadenia %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Použitie: %s [VOĽBA]... [ŠABLÓNA]...\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory vytvoriť adresár, nie súbor\n" #~ msgid "too many templates" #~ msgstr "príliš veľa šablón" #~ msgid "failed to create directory via template %s" #~ msgstr "nie je možné vytvoriť adresár prostredníctvom šablóny %s" #~ msgid "failed to create file via template %s" #~ msgstr "nepodarilo sa vytvoriť súbor prostredníctvom šablóny %s" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " -t, --target-directory=ADR presunúť všetky ZDROJe do ADResára\n" #~ " -T, --no-target-directory považovať CIEĽ za bežný súbor\n" #~ " -u, --update premiestniť iba ak je ZDROJový súbor " #~ "novší\n" #~ " ako cieľový súbor alebo keď cieľový " #~ "súbor chýba\n" #~ " -v, --verbose vypisovať informácie o priebehu\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Použitie: %s [VOĹBA] [PRÍKAZ [ARG]...]\n" #~ msgid "invalid adjustment %s" #~ msgstr "neplatné nastavenie %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "s úpravou musí byť zadaný príkaz" #~ msgid "cannot get niceness" #~ msgstr "nie je možné zistiť nice" #~ msgid "cannot set niceness" #~ msgstr "nie je možné nastaviť nice" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=ŠTÝL použiť ŠTÝL na číslovanie riadkov tela\n" #~ " -d, --section-delimiter=CC použiť CC na oddelenie logických " #~ "stránok\n" #~ " -f, --footer-numbering=ŠTÝL použiť ŠTÝL na číslovanie riadkov " #~ "pätičky\n" #~ msgid "line number overflow" #~ msgstr "pretečenie počtu riadkov" #~ msgid "invalid header numbering style: %s" #~ msgstr "neplatný štýl číslovania hlavičky: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "neplatný štýl číslovania tela: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "neplatný štýl číslovania pätičky: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "neplatné počiatočné číslo riadka: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "neplatná hodnota prírastku čísla riadka: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "neplatný počet prázdnych riadkov: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "neplatná šírka poľa čísla riadku: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "neplatný formát číslovania riadkov: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s PRÍKAZ [ARG]...\n" #~ " alebo: %s VOĽBA\n" #~ msgid "ignoring input" #~ msgstr "ignoruje sa vstup" #~ msgid "failed to open %s" #~ msgstr "nepodarilo sa otvoriť %s" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... [SÚBOR]...\n" #~ " alebo: %s [-abcdfilosx]... [SÚBOR] [[+]POSUN[.][b]]\n" #~ " alebo: %s --traditional [VOĽBA]... [SÚBOR] [[+]POSUN[.][b] [+]" #~ "[NÁVESTIE][.][b]]\n" #~ msgid "invalid type string %s" #~ msgstr "neplatný reťazec typu %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "neplatný reťazec typu %s;\n" #~ "tento systém neposkytuje %lu-bajtové celé čísla" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "neplatný reťazec typu %s;\n" #~ "tento systém neposkytuje %lu-bajtové čísla s plávajúcou desatinnou\n" #~ "čiarkou" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "neplatný znak „%c“ v reťazci typu „%s“" #~ msgid "cannot skip past end of combined input" #~ msgstr "nemožno preskočiť koniec kombinovaného vstupu" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "chybný základ výstupnej adresy `%c'; musí to byť jeden zo znakov [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "pri vypisovaní reťazcov nemožno zadať typ" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "V kompatibilnom režime je podporovaný najviac jeden súbor." #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "upozornenie: chybná šírka %lu; namiesto nej sa použije %d" # should this be translated? - rzm #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: formát='%s' šírka=%d\n" #~ msgid "standard input is closed" #~ msgstr "štandardný vstup je uzavrený" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Použitie: %s [VOĽBA]... NÁZOV...\n" #~ msgid "nonportable character %s in file name %s" #~ msgstr "neprenosný znak %s v názve súboru %s" #~ msgid "Login name: " #~ msgstr "Prihlasovacie meno: " #~ msgid "In real life: " #~ msgstr "V reáli: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Adresár: " #~ msgid "Shell: " #~ msgstr "Shell: " #~ msgid "Project: " #~ msgstr "Projekt: " #~ msgid "Plan:\n" #~ msgstr "Plán:\n" #~ msgid "Login" #~ msgstr "Login" #~ msgid "Name" #~ msgstr " Meno" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Nečin" #~ msgid "When" #~ msgstr "Kedy" #~ msgid "Where" #~ msgstr "Kde " #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... [SÚBOR]...\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "neboli zadané používateľské mená; pri použití prepínača -l je potrebné " #~ "zadať aspoň jedno" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=PRVÁ_STRÁNKA[:POSLEDNÁ_STRÁNKA]' chýbajúci parameter" #~ msgid "Invalid page range %s" #~ msgstr "chybný rozsah stránok %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "„-l DĹŽKA_STRÁNKY“ neplatný počet riadkov: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "„-N ČÍSLO“ chybné číslo počiatočného riadka: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "„-o OKRAJ“ chybný posun riadka: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "„-w ŠÍRKA_STRÁNKY“ neplatný počet znakov: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "„-W ŠÍRKA_STRÁNKY“ neplatný počet znakov: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Pri výpise vedľa seba, nie je možné zadať počet stĺpcov." # wzdluz? - rzm #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Nie je možné zadať výpis súborov po sebe a vedľa seba." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "„-%c“ nadbytočné znaky alebo neplatné číslo v argumente: %s" #~ msgid "page width too narrow" #~ msgstr "šírka stránky je príliš malá" #~ msgid "Page number overflow" #~ msgstr "Pretečenie čísla strany" #, fuzzy #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " Porovnáva súbory ĽAVÝ_SÚBOR a PRAVÝ_SÚBOR, ktorých riadky sú " #~ "usporiadané\n" #~ "podľa nejakého kľúča, riadok po riadku. Výstupom sú tri stĺpce, riadky " #~ "obsiahnuté\n" #~ "iba v ľavom súbore, riadky obsiahnuté iba v pravom súbore, riadky " #~ "spoločné\n" #~ "obom súborom.\n" #~ "\n" #~ " -1 neukazuje riadky obsiahnuté iba v ľavom súbore\n" #~ " -2 neukazuje riadky obsiahnuté iba v pravom súbore\n" #~ " -3 neukazuje riadky spoločné obom súborom\n" #~ " --help vypíše tuto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Bez SÚBORu alebo keď SÚBOR je - číta zo štand. vstupu.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s [PREMENNÁ]...\n" #~ " alebo: %s VOĽBA\n" #~ "Pokiaľ nie je zadaná PREMENNÁ, vypísať všetky.\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "upozornenie: %s: znak (znaky) nasledujúce za znakovou konštantou boli " #~ "ignorované" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s FORMÁT [ARGUMENT]...\n" #~ " alebo: %s [VOĽBA]\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: očakávaná numerická hodnota" #~ msgid "%s: value not completely converted" #~ msgstr "%s: hodnota nebola úplne prevedená" #~ msgid "missing hexadecimal number in escape" #~ msgstr "v sekvencii chýba hexadecimálne číslo" #, fuzzy #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "chybná trieda znaku `%s'" #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "chybné číslo položky: `%s'" #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "chybný typ reťazca `%s'" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: chybne zadaná položka `%s'" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "upozornenie: nadbytočné argumenty boli ignorované, začína sa s %s" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (pre regvýr `%s')" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Použitie: %s [PREPÍNAČ]... [VSTUP]... (bez -G)\n" #~ " alebo: %s -G [PREPÍNAČ]... [VSTUP [VÝSTUP]]\n" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "chybné číslo položky: `%s'" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "zmena skupiny %s na %s zlyhala\n" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "zisťujem atribúty %s" #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "príliš mnoho argumentov, ktoré nie sú prepínačmi" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... [SÚBOR]...\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "nie je možné vojsť do adresára, %s" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "nie je možné vytvoriť adresár %s" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "UPOZORNENIE: Zacyklená štruktúra adresárov.\n" #~ "To skoro určite znamená, že máte poškodený súborový systém.\n" #~ "INFORMUJTE SVOJHO SPRÁVCU SYSTÉMU.\n" #~ "Nasledujúce adresáre sú súčasťou cyklu:\n" #~ " %s\n" #, fuzzy #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "%s: descend into directory %s? " #~ msgstr "nie je možné vojsť do adresára, %s" #, fuzzy #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: zmazať súbor chránený proti zápisu %s? " #, fuzzy #~ msgid "%s: remove %s %s? " #~ msgstr "%s: zmazať %s? " #, fuzzy #~ msgid "removed directory: %s\n" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "nie je možné vojsť do adresára, %s" #, fuzzy #~ msgid "cannot remove directory %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "nie je možné vojsť do adresára, %s" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... [SÚBOR]...\n" #~ msgid "%s: remove all arguments? " #~ msgstr "%s: odstrániť všetky argumenty? " #~ msgid "removing directory, %s" #~ msgstr "odstraňuje sa adresár, %s" #~ msgid "failed to remove directory %s" #~ msgstr "nepodarilo sa odstrániť adresár %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Použitie: %s [VOĽBA... ADRESÁR...\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents odstrániť ADRESÁR a potom všetky elementy cesty k " #~ "nemu.\n" #~ " Napr. „rmdir -p a/b/c“ je podobný ako „rmdir a/b/c a/b " #~ "a“.\n" #~ " --verbose vypísať správu pre každý spracovaný adresár\n" #~ msgid "failed to remove %s" #~ msgstr "nepodarilo sa odstrániť %s" #~ msgid "failed to get current context" #~ msgstr "nepodarilo sa zistiť aktuálny kontext" #~ msgid "no command specified" #~ msgstr "nebol zadaný príkaz" #~ msgid "failed to compute a new context" #~ msgstr "nepodarilo sa vypočítať nový kontext" #~ msgid "failed to set new user %s" #~ msgstr "nepodarilo sa nastaviť nového používateľa %s" #~ msgid "failed to set new type %s" #~ msgstr "nepodarilo sa nastaviť nový typ %s" #~ msgid "failed to set new range %s" #~ msgstr "nepodarilo sa nastaviť nový rozsah %s" #~ msgid "failed to set new role %s" #~ msgstr "nepodarilo sa nastaviť novú rolu %s" #~ msgid "unable to set security context %s" #~ msgstr "nie je možné nastaviť bezpečnostný kontext %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... POSLEDNÝ\n" #~ " alebo: %s [VOĽBA]... PRVÝ POSLEDNÝ\n" #~ " alebo: %s [VOĽBA]... PRVÝ KROK POSLEDNÝ\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "KROK by mal byť kladný, pokiaľ je ZAČIATOK menší ako KONIEC, inak " #~ "záporný.\n" #~ "Pokiaľ je zadaný, FORMÁT musí obsahovať práve jeden z výstupných\n" #~ "printf-formátov pre čísla v pohyblivej rádovej čiarke %%e, %%f alebo %%" #~ "g.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "neplatný argument s plávajúcou desatinnou čiarkou: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "neplatný formátovací reťazec: %s" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "príliš mnoho typov konverzie %% v parametri prepínača" #~ msgid "invalid format string: %s" #~ msgstr "neplatný formátovací reťazec: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "keď sa tlačia reťazce s rovnakou šírkou, formátovací reťazec nemusí byť " #~ "zadaný" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s VOĽBA POUŽÍVATEĽ PRÍKAZ [ARGUMENT]...\n" #~ " alebo: %s VOĽBA\n" #~ msgid "failed to set supplemental group(s)" #~ msgstr "nie je možné nastaviť ďalšie skupiny" #~ msgid "cannot set group-ID to %lu" #~ msgstr "nie je možné nastaviť ID-skupiny na %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "nie je možné nastaviť ID-používateľa na %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Použitie: %s [VOĽBA] SÚBOR [...]\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: fdatasync zlyhalo" #~ msgid "%s: cannot rewind" #~ msgstr "%s: nie je možné presunúť sa na začiatok súboru" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: prechod %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: chyba pri zápise na ofset %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: lseek zlyhal" #~ msgid "%s: file too large" #~ msgstr "%s: súbor je príliš veľký" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: prechod %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: prechod %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: fstat zlyhal" #~ msgid "%s: invalid file type" #~ msgstr "%s: neplatný typ súboru" #~ msgid "%s: file has negative size" #~ msgstr "%s: súbor má zápornú dĺžku" #~ msgid "%s: error truncating" #~ msgstr "%s: chyba pri skracovaní" #~ msgid "%s: fcntl failed" #~ msgstr "%s: fcntl zlyhalo" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: nie je možné skartovať deskriptor určený iba pre pridávanie" #~ msgid "%s: removing" #~ msgstr "%s: maže sa" #~ msgid "%s: renamed to %s" #~ msgstr "%s: premenovaný na %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: nepodarilo sa odstrániť" #~ msgid "%s: removed" #~ msgstr "%s: zmazaný" #~ msgid "%s: failed to close" #~ msgstr "%s: nepodarilo sa zatvoriť" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: nepodarilo sa otvoriť na zápis" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: neplatný počet prechodov" #~ msgid "multiple random sources specified" #~ msgstr "boli uvedené viaceré náhodné zdroje" #~ msgid "%s: invalid file size" #~ msgstr "%s: neplatná veľkosť súboru" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Použitie: %s [PREPÍNAČ]... [VSTUP]... (bez -G)\n" #~ " alebo: %s -G [PREPÍNAČ]... [VSTUP [VÝSTUP]]\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "\\%c: neprípustná sekvencia" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "neplatné číslo" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "chybné číslo položky: `%s'" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "\\%c: neprípustná sekvencia" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "nadbytočný operand `%s' nie je povolený, pokiaľ je použité -c" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s ČÍSLO[PRÍPONA]...\n" #~ " alebo: %s VOĽBA\n" #~ "Počkať POČET sekúnd.\n" #~ "PRÍPONA môže byť s pre sekundy, m pre minúty, h pre hodiny alebo d pre " #~ "dni.\n" #~ "Na rozdiel od väčšiny implementácií vyžadujúcich, aby ČÍSLO bolo celé, " #~ "tu\n" #~ "môže byť zadané aj ako desatinné.\n" #~ "\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "chybné číslo položky: `%s'" #~ msgid "cannot read realtime clock" #~ msgstr "nie je možné prečítať hodiny reálneho času" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ "Spojí všetky SÚBORy a zotriedený výsledok zapíše na štandardný výstup.\n" #~ "\n" #~ "Voľby zoraďovania:\n" #~ "\n" #~ " -b, --ignore-leading-blanks ignoruje úvodné medzery\n" #~ " -d, --dictionary-order zohľadňuje iba medzery a alfanumerické " #~ "znaky\n" #~ " -f, --ignore-case zamení v kľúčoch malé písmená za veľké\n" #~ " -g, --general-numeric-sort porovnáva podľa všeobecnej veľkosti " #~ "čísiel\n" #~ " -i, --ignore-nonprinting zohľadňuje iba tlačiteľné znaky\n" #~ " -M, --month-sort porovná podľa mesiacov (neznámy) < `JAN' " #~ "<\n" #~ " ... < `DEC'\n" #~ " -n, --numeric-sort porovná podľa reťazcovej veľkosti čísiel\n" #~ " -r, --reverse obrátený výsledok porovnávania\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ "Spojí všetky SÚBORy a zotriedený výsledok zapíše na štandardný výstup.\n" #~ "\n" #~ "Voľby zoraďovania:\n" #~ "\n" #~ " -b, --ignore-leading-blanks ignoruje úvodné medzery\n" #~ " -d, --dictionary-order zohľadňuje iba medzery a alfanumerické " #~ "znaky\n" #~ " -f, --ignore-case zamení v kľúčoch malé písmená za veľké\n" #~ " -g, --general-numeric-sort porovnáva podľa všeobecnej veľkosti " #~ "čísiel\n" #~ " -i, --ignore-nonprinting zohľadňuje iba tlačiteľné znaky\n" #~ " -M, --month-sort porovná podľa mesiacov (neznámy) < `JAN' " #~ "<\n" #~ " ... < `DEC'\n" #~ " -n, --numeric-sort porovná podľa reťazcovej veľkosti čísiel\n" #~ " -r, --reverse obrátený výsledok porovnávania\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POZ je F[.C][PREPÍNAČE], kde F je číslo položky a C pozícia znaku v " #~ "položke,\n" #~ "obidvoje počítané od 1 s -k, od 0 so zastaranou formou. PREPÍNAČE sú " #~ "vytvorené\n" #~ "z jedného alebo viacerých písmen radenia, ktoré zablokujú globálne " #~ "nastavenie\n" #~ "pre tento kľúč. Ak nebude kľúč zadaný, ako kľúč sa použije celý riadok.\n" #~ "Ak nebude SÚBOR zadaný alebo bude -, načíta sa štandardný vstup.\n" #~ "\n" #~ "VEĽKOSŤ môže byť nasledovaná nasledovnými príponami násobkov:\n" #~ msgid "waiting for %s [-d]" #~ msgstr "4ak8 sa na %s [-d]" #~ msgid "cannot create temporary file" #~ msgstr "nie je možné vytvoriť dočasný súbor" #~ msgid "open failed" #~ msgstr "zlyhalo otvorenie" #~ msgid "fflush failed" #~ msgstr "fflush zlyhalo" #~ msgid "close failed" #~ msgstr "zlyhalo zatvorenie súboru" #~ msgid "dup2 failed" #~ msgstr "dup2 zlyhalo" #~ msgid "couldn't execute %s" #~ msgstr "nebolo možné spustiť %s" #~ msgid "couldn't create temporary file" #~ msgstr "nebolo možné vytvoriť dočasný súbor" #~ msgid "couldn't open temporary file" #~ msgstr "nebolo možné otvoriť dočasný súbor" #~ msgid "couldn't execute %s -d" #~ msgstr "nebolo možné vykonať %s -d" #~ msgid "write failed" #~ msgstr "chyba pri zápise" #~ msgid "warning: cannot remove: %s" #~ msgstr "upozornenie: nie je možné odstrániť: %s" #~ msgid "stat failed" #~ msgstr "zlyhal stat" #~ msgid "read failed" #~ msgstr "zlyhalo čítanie" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: nezotriediteľné: " #~ msgid "standard error" #~ msgstr "štandardná chyba" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: chybne zadaná položka `%s'" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: chybný počet na začiatku `%s'" #~ msgid "invalid number after `-'" #~ msgstr "chybné číslo za `-'" #~ msgid "invalid number after `.'" #~ msgstr "chybné číslo za `.'" #~ msgid "stray character in field spec" #~ msgstr "neočakávaný znak v špecifikácii položky" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "\\%c: neprípustná sekvencia" #~ msgid "invalid number at field start" #~ msgstr "chybné číslo na začiatku položky" #~ msgid "field number is zero" #~ msgstr "číslo položky je nula" #~ msgid "character offset is zero" #~ msgstr "pozícia znaku je nula" #~ msgid "invalid number after `,'" #~ msgstr "chybné číslo za `,'" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "nadbytočný operand `%s' nie je povolený, pokiaľ je použité -c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Použitie: %s [PREPÍNAČ] [SÚBOR [PREDPONA]]\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N použiť prípony s dĺžkou N (štandardne %d)\n" #~ " -b, --bytes=VEĽKOSŤ zapíše VEĽKOST bajtov do výstupného súboru\n" #~ " -C, --line-bytes=VEĽKOSŤ zapíše najviac VEĽKOST bytov na výstupný " #~ "riadok\n" #~ " -d, --numeric-suffixes použiť číselné prípony namiesto abecedných\n" #~ " -l, --lines=POČET zapíše POČET riadkov do výstupného súboru\n" #~ msgid "creating file %s\n" #~ msgstr "vytvára sa súbor %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "súbor sa nedá rozdeliť viacerými spôsobmi" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: neplatná dĺžka prípony" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: chybný počet bajtov" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: chybný počet riadkov" #~ msgid "line count option -%s%c... is too large" #~ msgstr "voľba počtu riadkov -%s%c... je príliš veľká" #~ msgid "invalid number of lines: 0" #~ msgstr "chybný počet riadkov: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "upozornenie: nerozpoznaná úniková klauzula „\\%c“" #~ msgid "%s: invalid directive" #~ msgstr "%s: neplatná direktíva" #~ msgid "warning: backslash at end of format" #~ msgstr "upozornenie: spätná lomka na konci reťazca" #~ msgid "cannot read file system information for %s" #~ msgstr "nie je možné načítať systémové informácie %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Použitie: %s [VOĽBA] [SÚBOR]...\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Použitie: %s [-F ZARIADENIE] [--file=ZARIADENIE] [NASTAVENIE]...\n" #~ " alebo: %s [-F ZARIADENIE] [--file=ZARIADENIE] [-a|--all]\n" #~ " alebo: %s [-F ZARIADENIE] [--file=ZARIADENIE] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Nastaviť alebo zmeniť charakteristiku terminálu.\n" #~ "\n" #~ " -a, --all vypísať všetky aktuálne nastavenia vo formáte\n" #~ " čitateľnom pre človeka\n" #~ " -g, --save vypísať všetky aktuálne nastavenia vo formáte\n" #~ " čitateľnom pre stty\n" #~ " -F, --file=ZARIADENIE otvoriť a používať zadané zariadenie namiesto\n" #~ " štandardného vstupu\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb používať dva stop bity (jeden s „-“)\n" #~ " [-]hup poslať signál zavesenia, keď posledný proces zatvorí " #~ "terminál\n" #~ " [-]hupcl ako [-]hup\n" #~ " [-]parenb generovať paritný bit na výstupa a očakávať ho na vstupe\n" #~ " [-]parodd nastaviť nepárnu paritu (aj s „-“)\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "* [-]ocrnl prekladať znaky návratu na začiatok riadka na nové " #~ "riadky\n" #~ "* [-]ofdel pre vyplnenie použiť znaky vymazania namiesto nulových " #~ "znakov\n" #~ "* [-]ofill použiť výplňové znaky namiesto oneskorení\n" #~ "* [-]olcuc prekladať malé znaky na veľké\n" #~ "* [-]onlcr prekladať nové riadky na znaky návratu na začiatok " #~ "riadka\n" #~ "* [-]onlret znak nového riadku prejde na začiatok riadka\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Ovládanie terminálu pripojeného na štandardný vstup. Bez argumentov\n" #~ "vypíše baudovú rýchlosť, linkovú disciplínu a odchylky od stty sane.\n" #~ "V nastaveniach sa ZNAK špecifikuje tak ako je, alebo kódovaný spôsobom\n" #~ "^c, 0x37, 0177 alebo 127; pre zákaz špeciálneho znaku treba použiť\n" #~ "^- alebo undef.\n" #~ msgid "only one device may be specified" #~ msgstr "môže byť zadané iba jedno zariadenie" #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "prepínače --string a --check sa vzájomne vylučujú" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "úri špecifikácii výstupného štýlu nemusia byť režimy nastavené" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: nie je možné opustiť neblokovací režim" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "chybný argument %s pre `%s'" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "nejednoznačný argument %s pre `%s'" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "chybné číslo položky: `%s'" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: nie je možné vykonať všetky požadované operácie" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mode\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: neexistuje informácia o veľkosti tohoto zariadenia" #~ msgid "invalid integer argument %s" #~ msgstr "neplatný celočíselný argument %s" #~ msgid "Password:" #~ msgstr "Heslo:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: nie je možné otvoriť /dev/tty" #~ msgid "cannot set groups" #~ msgstr "nie je možné nastaviť skupiny" #~ msgid "cannot set group id" #~ msgstr "nie je možné nastaviť ID skupiny" #~ msgid "cannot set user id" #~ msgstr "nie je možné nastaviť ID používateľa" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Použitie: %s [VOĽBA]... [-] [POUŽÍVATEĽ [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Zmeniť efektívne id používateľa a skupiny na id POUŽÍVATEĽA.\n" #~ "\n" #~ " -, -l, --login urobiť tento shell prihlasovacím\n" #~ " -c, --command=PRÍKAZ odovzdať shellu jediný PRÍKAZ pomocou -c\n" #~ " -f, --fast odovzdať shellu -f (pre csh alebo tcsh)\n" #~ " -m, --preserve-environment zachovať premenné prostredia\n" #~ " -p rovnaké ako -m\n" #~ " -s, --shell=SHELL spustiť SHELL, pokiaľ to /etc/shells " #~ "povoľuje\n" #~ msgid "user %s does not exist" #~ msgstr "používateľ %s neexistuje" #~ msgid "incorrect password" #~ msgstr "nesprávne heslo" #~ msgid "using restricted shell %s" #~ msgstr "použitý obmedzený shell %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "upozornenie: nie je možné zmeniť adresár na %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Ku každému SÚBORu vypíše kontrolný súčet a počet blokov.\n" #~ "\n" #~ " -r má prednosť pred -s, použije algoritmus BSD a bloky " #~ "veľkosti 1 KB\n" #~ " -s, --sysv použije algoritmus System V a bloky veľkosti 512 " #~ "bajtov\n" #~ msgid "ignoring all arguments" #~ msgstr "ignorujú sa všetky argumenty" #~ msgid " --help display this help and exit\n" #~ msgstr " --help zobrazí tohto pomocníka a skončí\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version vypíše informácie o verzii a skončí\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Chyby v programe oznamujte tu: <%s>.\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before pripojí oddeľovač riadkov pred riadky " #~ "namiesto\n" #~ " za ne\n" #~ " -r, --regex interpretuje oddeľovač ako regulárny výraz\n" #~ " -s, --separator=REŤAZEC použije REŤAZEC ako oddeľovač namiesto nového " #~ "riadku\n" #~ msgid "%s: seek failed" #~ msgstr "%s: zlyhalo posunutie v súbore" #~ msgid "record too large" #~ msgstr "záznam je príliš dlhý" #~ msgid "cannot create temporary file %s" #~ msgstr "nie je možné vytvoriť dočasný súbor %s" #~ msgid "cannot open %s for writing" #~ msgstr "nie je možné otvoriť %s na čítanie" #~ msgid "%s: write error" #~ msgstr "%s: chyba pri zápise" #~ msgid "separator cannot be empty" #~ msgstr "oddeľovač nemôže byť prázdny" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Vypíše prvých %d riadkov každého súboru na štandardný výstup. S viac ako\n" #~ "jedným súborom, bude pred vypísaním každého uvedená hlavička obsahujúca " #~ "meno\n" #~ "súboru. Ak SÚBOR nebude zadaný alebo bude -, načíta sa štandardný vstup.\n" #~ "\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "zatvára sa %s (fd=%d)" #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "`%s' sa stal nedostupným" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "súbor `%s' bol nahradený iným, neumožňujúcim sledovanie jeho konca." #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "`%s' sa stal dostupným" #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "súbor %s sa objavil. Sledovanie konca súboru pokračuje." #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "" #~ "súbor %s bol nahradený iným. Sledovanie konca súboru\n" #~ "pokračuje." #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: nie je možné opustiť neblokovací režim" #~ msgid "%s: file truncated" #~ msgstr "%s: súbor bol skrátený" #~ msgid "no files remaining" #~ msgstr "už nezostávajú žiadne súbory" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: nie je možné sledovať koniec tohoto typu súboru; zanechávam tento " #~ "názov" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "%s je príliš veľa" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: neplatné číslo maximálneho počtu nezmenených výsledkov funkcie stat\n" #~ "medzi otvoreniami" #~ msgid "%s: invalid PID" #~ msgstr "%s: chybné PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: neplatný počet sekúnd" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "upozornenie: --retry je užitočné najmä pri sledovaní podľa názvu" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "upozornenie: PID bol ignorovaný; --pid=PID je užitočné iba pri nasledovaní" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "upozornenie: --pid=PID nie je na tomto systéme podporované" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "nie je možné vytvoriť dočasný súbor" #, fuzzy #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Kopírovať štandardný vstup do každého SÚBORU a tiež na štandardný " #~ "výstup.\n" #~ "\n" #~ " -a, --append pridať na koniec SÚBORU, neprepisovať\n" #~ " -i, --ignore-interrupts ignorovať signály prerušenia\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "nejednoznačný argument %s pre `%s'" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "neplatné číslo" #, fuzzy #~ msgid "')' expected" #~ msgstr "očakávaný znak ')'\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "očakávaný znak ')', nájdený %s\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: očakávaný unárny operátor\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt neakceptuje -l\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef neakceptuje -l\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-nt neakceptuje -l\n" #, fuzzy #~ msgid "unknown binary operator" #~ msgstr "Neznáma systémová chyba" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: očakávaný binárny operátor\n" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Použitie: %s [SÚBOR]...\n" #~ " alebo: %s [VOĽBA]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ( VÝRAZ ) VÝRAZ je pravdivý\n" #~ " ! VÝRAZ VÝRAZ je nepravdivý\n" #~ " VÝRAZ1 -a VÝRAZ2 VÝRAZ1 aj VÝRAZ2 sú pravdivé\n" #~ " VÝRAZ1 -o VÝRAZ2 VÝRAZ1 alebo VÝRAZ2 je pravdivý\n" #~ "\n" #~ " [-n] REŤAZEC dĺžka REŤAZCA je nenulová\n" #~ " -z REŤAZEC dĺžka REŤAZCA je nulová\n" #~ " REŤAZEC1 = REŤAZEC2 reťazce sa rovnajú\n" #~ " REŤAZEC1 != REŤAZEC2 reťazce sa nerovnajú\n" #~ "\n" #~ " CELÉČÍSLO1 -eq CELÉČÍSLO2 CELÉČÍSLO1 sa rovná CELÉČÍSLO2\n" #~ " CELÉČÍSLO1 -ge CELÉČÍSLO2 CELÉČÍSLO1 je väčšie alebo rové CELÉČÍSLO2\n" #~ " CELÉČÍSLO1 -gt CELÉČÍSLO2 CELÉČÍSLO1 je väčšie ako CELÉČÍSLO2\n" #~ " CELÉČÍSLO1 -le CELÉČÍSLO2 CELÉČÍSLO1 je menšie alebo rovné " #~ "CELÉČÍSLO2\n" #~ " CELÉČÍSLO1 -lt CELÉČÍSLO2 CELÉČÍSLO1 je menšie ako CELÉČÍSLO2\n" #~ " CELÉČÍSLO1 -ne CELÉČÍSLO2 CELÉČÍSLO1 sa nerovná CELÉČÍSLO2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Pozor na to, že zátvorky musia byť v shelli chránené (napr. spätnými\n" #~ "lomítkami. CELÉČÍSLO môže byť tiež -l REŤAZEC, čo sa vyhodnotí na\n" #~ "dĺžku REŤAZCA.\n" #, fuzzy #~ msgid "missing `]'" #~ msgstr "chýbajúca `]'\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "príliš veľa argumentov" #, fuzzy #~ msgid "creating %s" #~ msgstr "vytváram súbor `%s'\n" #, fuzzy #~ msgid "cannot touch %s" #~ msgstr "ioctl na `%s' nie je možné vykonať" #~ msgid "setting times of %s" #~ msgstr "nastavujem časy %s" #, fuzzy #~ msgid "cannot specify times from more than one source" #~ msgstr "súbor sa nedá rozdeliť viacerými spôsobmi" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "upozornenie: „touch %s“ je zastaralé; použite „touch -t %04ld%02d%02d%02d%" #~ "02d.%02d“" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... MNOŽINA1 [MNOŽINA2]\n" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ " Nahradzuje, komprimuje a/alebo maže znaky zo štandardného vstupu, " #~ "výsledok\n" #~ "je zapisovaný na štandardný výstup.\n" #~ "\n" #~ " -c, --complement najprv vytvorí doplnok MNOŽINY1\n" #~ " -d, --delete iba maže znaky z MNOŽINY1\n" #~ " -s, --squeeze-repeats nahradí postupnosti jedného znaku iba jedným\n" #~ " -t, --truncate-set1 najprv skráti MNOŽINU1 na dĺžku MNOŽINY2\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ " Nahradenie nastane, ak nie je zadaný prepínač -d a sú zadané obe\n" #~ "množiny. -t môže byť použité iba pri nahradzovaní. V prípade potreby je\n" #~ "MNOŽINA2 rozšírená na dĺžku MNOŽINY1 opakovaním posledného znaku. " #~ "Prebytočné\n" #~ "znaky MNOŽINY2 sú ignorované. Iba pri [:lower:] a [:upper:] je " #~ "garantované,\n" #~ "že budú rozpísané vzostupne; pri použití v MNOŽINE2 pri nahradzovaní môžu " #~ "byť\n" #~ "používané iba v pároch pre zmenu veľkosti písmen. -s používa MNOŽINU2\n" #~ "pri nahradzovaní alebo mazaní a kompresia je vykonaná až po tomto. Inak -" #~ "s\n" #~ "používa MNOŽINU1.\n" #, fuzzy #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "\n" #~ " Nahradenie nastane, ak nie je zadaný prepínač -d a sú zadané obe\n" #~ "množiny. -t môže byť použité iba pri nahradzovaní. V prípade potreby je\n" #~ "MNOŽINA2 rozšírená na dĺžku MNOŽINY1 opakovaním posledného znaku. " #~ "Prebytočné\n" #~ "znaky MNOŽINY2 sú ignorované. Iba pri [:lower:] a [:upper:] je " #~ "garantované,\n" #~ "že budú rozpísané vzostupne; pri použití v MNOŽINE2 pri nahradzovaní môžu " #~ "byť\n" #~ "používané iba v pároch pre zmenu veľkosti písmen. -s používa MNOŽINU2\n" #~ "pri nahradzovaní alebo mazaní a kompresia je vykonaná až po tomto. Inak -" #~ "s\n" #~ "používa MNOŽINU1.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "upozornenie: nejednoznačný osmičkový zápis \\%c%c%c bude\n" #~ "\tinterpretovaný ako 2-bajtová postupnosť \\0%c%c, %c" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "chybne použité spätné lomítko na konci reťazca" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "konce rozsahu `%s-%s' sú v obrátenom poradí" #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "chybný počet opakovania `%s' v konštrukcii [c*n]" #, fuzzy #~ msgid "missing character class name `[::]'" #~ msgstr "chybná trieda znaku `%s'" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "chybná trieda znaku `%s'" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: operand v triede [=c=] musí byť jediný znak" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "neočakávaný znak v špecifikácii položky" # should it be string1 or SET1? #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "konštrukcia opakovania [c*] sa nemôže vyskytovať v string1" # string2 or SET2? #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "konštrukcia opakovania [c*] sa môže vyskytovať v string1 iba raz" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "výraz [=c=] sa nemôže vyskytovať v string1 pri nahradzovaní" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "" #~ "pokiaľ MNOŽINA1 nie je skracovaná, potom MNOŽINA2 nesmie byť prázdna" # ? - rzm #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "pri nahradzovaní s triedou doplnku množiny znakov\n" #~ "string2 musí mapovať všetky znaky z tejto oblasti do jedného" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "pri nahradzovaní môžu byť v string2 iba triedy znakov\n" #~ "`upper' a `lower'" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "výraz [c*] môže byť v string2 iba pri nahradzovaní" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "obidve množiny musia byť zadané pri nahradzovaní" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "iba jedna množina môže byť zadaná pri mazaní bez komprimovania\n" #~ "opakujúcich sa znakov" # ? - rzm #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "nezarovnané(á) konštrukcie(a) [:upper:] a/alebo [:lower:]" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s [SÚBOR]...\n" #~ " alebo: %s [VOĽBA]\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA] [SÚBOR]\n" #~ "Výstupom je úplne zotriedený zoznam v súlade s čiastočným zotriedením " #~ "SÚBORU.\n" #~ " Pokiaľ nie je SÚBOR zadaný, načíta sa štandardný vstup.\n" #~ "\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: vstup obsahuje cyklus:" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: vstup obsahuje cyklus:" #, fuzzy #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Použitie: %s [PREPÍNAČ] [SÚBOR]...\n" #, fuzzy #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Vypísať názov súboru terminálu spojeného so štandardným vstupom.\n" #~ "\n" #~ " -s, --silent, --quiet nevypisovať nič, iba vrátiť výstupný stav\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ msgid "not a tty" #~ msgstr "nie je terminál" #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Vypísať niektoré systémové informácie. Žiadna VOĽBA zodpovedá -s.\n" #~ "\n" #~ " -a, --all vypísať všetky informácie\n" #~ " -m, --machine vypísať typ (hardware) počítača\n" #~ " -n, --nodename vypísať názov počítača v sieti\n" #~ " -r, --release vypísať verziu jadra operačného systému\n" #~ " -s, --sysname vypísať názov operačného systému\n" #~ " -p, --processor vypísať typ procesora\n" #~ " -v vypísať verziu zostavenia operačného systému\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "cannot get system name" #~ msgstr "nie je možné vytvoriť dočasný súbor" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "V každom SÚBORe prevedie medzery na tabulátory a výsledok vypisuje\n" #~ "na štandardný výstup. Ak nebude SÚBOR zadaný alebo bude -, načíta sa\n" #~ "štandardný vstup.\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "%s je príliš veľa" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... [VSTUP [VÝSTUP]]\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "príliš veľa argumentov" #, fuzzy #~ msgid "invalid number of fields to skip" #~ msgstr "chybný počet položiek na preskočenie: `%s'" # bytes to skip? we were talking about chars? - rzm #, fuzzy #~ msgid "invalid number of bytes to skip" #~ msgstr "chybný počet znakov na preskočenie: `%s'" #, fuzzy #~ msgid "invalid number of bytes to compare" #~ msgstr "chybný počet znakov pre porovnanie: `%s'" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "výpis všetkých opakujúcich sa riadkov a počítadla opakovania nemá zmysel" #, fuzzy #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s [SÚBOR]...\n" #~ " alebo: %s [VOĽBA]\n" #, fuzzy #~ msgid "cannot unlink %s" #~ msgstr "ioctl na `%s' nie je možné vykonať" #~ msgid "couldn't get boot time" #~ msgstr "nie je možné zistiť čas zavedenia systému" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s beží " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "deň" #~ msgstr[1] "deň" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "neplatný používateľ" #~ msgstr[1] "neplatný používateľ" #~ msgid ", load average: %.2f" #~ msgstr ", priemerná záťaž: %.2f" #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... [SÚBOR]...\n" #, fuzzy #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Vypísať aktuálny čas, čas od spustenia systému, počet používateľov\n" #~ "v systéme a priemerný počet úloh vo fronte za poslednú minútu,\n" #~ "5 minút a 15 minút.\n" #~ "Pokiaľ nie je zadaný SÚBOR, použiť %s. %s ako SÚBOR je obvyklý.\n" #~ "\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Vypísať, kto je momentálne prihlásený podľa SÚBORU.\n" #~ "Pokiaľ nie je zadaný SÚBOR, použiť %s. %s ako SÚBOR je obvyklý.\n" #~ "\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Ku každému SÚBORu vypíše počet riadkov, slov a bajtov. Ak bude zadaný " #~ "viac\n" #~ "ako jeden SÚBOR, vypíše aj celkové údaje. Pokiaľ SÚBOR nebude zadaný " #~ "alebo\n" #~ "bude -, načíta sa štandardný vstup.\n" #~ "\n" #~ " -c, --bytes vypíše počet bajtov\n" #~ " -m, --chars vypíše počet znakov\n" #~ " -l, --lines vypíše počet riadkov\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=F načítať vstup zo súborov na základe\n" #~ " nulou ukončených názvov v súbore F\n" #~ " -L, --max-line-length vypísať dĺžku najdlhšieho riadka\n" #~ " -w, --words vypísať počty slov\n" #~ msgid " old " #~ msgstr " dávno " #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# používateľov=%lu\n" #~ msgid "LINE" #~ msgstr "TERM" #~ msgid "IDLE" #~ msgstr "NEČINNÝ" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... [ SÚBOR | ARG1 ARG2 ]\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Vypísať meno používateľa spojené s aktuálnym efektívnym id používateľa.\n" #~ "Rovnaké ako id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: nie je možné zistiť meno pre ID používateľa %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Použitie: %s [SÚBOR]...\n" #~ " alebo: %s [VOĽBA]\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "nerozpoznaný operand %s=%s" #~ msgid "block size" #~ msgstr "veľkosť bloku" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License .\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Tento program je slobodný softvér; môžete ho šíriť a modifikovať\n" #~ "podľa podmienok Všeobecnej verejnej licencie GNU , ale\n" #~ "BEZ AKEJKOĽVEK ZÁRUKY do miery povolenej zákonom.\n" #~ "\n" #~ msgid "invalid %s `%s'" #~ msgstr "neplatný %s `%s'" #~ msgid "invalid character following %s in `%s'" #~ msgstr "neplatný znak nasledujúci po %s v `%s'" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "nie je možné vynechať používateľa aj skupinu" #~ msgid "cannot get supplemental group list" #~ msgstr "nie je možné zistiť zoznam doplnkových skupín" #~ msgid "skip argument" #~ msgstr "preskakujem argument" #~ msgid "limit argument" #~ msgstr "argument orezaný" #~ msgid "minimum string length" #~ msgstr "minimálna dĺžka reťazca" #~ msgid "width specification" #~ msgstr "specifikácia šírky" #~ msgid "sort size" #~ msgstr "veľkosť triedenia" #, fuzzy #~ msgid "program error" #~ msgstr "chyba pri čítaní" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "nie je možné zmeniť používateľa a/alebo skupinu %s" #, fuzzy #~ msgid "cannot chdir to directory %s" #~ msgstr "nie je možné vojsť do adresára, %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "nie je možné určiť skupinu číselného UID" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Toto je voľne šíriteľný softvér - pre podmienky šírenia pozri zdrojový\n" #~ "kód. Neexistuje ŽIADNA ZÁRUKA, ani OBCHODOVATEĽNOSTI alebo VHODNOSTI\n" #~ "PRE KONKRÉTNY ÚČEL.\n" #~ msgid "too few arguments" #~ msgstr "príliš málo argumentov" #, fuzzy #~ msgid "closing standard output" #~ msgstr "štandardný výstup" #, fuzzy #~ msgid "cannot change to null group" #~ msgstr "nie je možné zmeniť používateľa a/alebo skupinu %s" #~ msgid "group number" #~ msgstr "číslo skupiny" #, fuzzy #~ msgid "invalid group number %s" #~ msgstr "neplatné číslo" #, fuzzy #~ msgid "invalid mode string: %s" #~ msgstr "chybný typ reťazca `%s'" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Použitie: %s [PREPÍNAČ]... ĽAVÝ_SÚBOR PRAVÝ_SÚBOR\n" #, fuzzy #~ msgid "cannot overwrite directory %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "missing file arguments" #~ msgstr "príliš málo argumentov" #, fuzzy #~ msgid "%s: specified target is not a directory" #~ msgstr "%s existuje, ale nie je adresárom" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "je požadované kopírovanie viacerých súborov, ale posledný argument %s nie " #~ "je adresár" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "varovanie: voľba --version-control (-V) je zastaralá a jej\n" #~ "podpora bude v niektorej budúcej verzii odstránená. Namiesto\n" #~ "nej použite --backup=%s." #, fuzzy #~ msgid "symbolic links are not supported on this system" #~ msgstr "varovanie: --pid=PID nie je na tomto systéme podporované" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: po oddeľovači je očakávané `+' alebo `-'" #, fuzzy #~ msgid "too many non-option arguments: %s%s" #~ msgstr "príliš mnoho argumentov, ktoré nie sú prepínačmi" #, fuzzy #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "pri použití prepínača --string nemôžu byť zadané súbory" #~ msgid "undefined" #~ msgstr "nedefinovaný" #, fuzzy #~ msgid "cannot get time of day" #~ msgstr "súbor sa nedá rozdeliť viacerými spôsobmi" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s záznamov dnu\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s záznamov von\n" #~ msgid "truncated records" #~ msgstr "skrátených záznamov" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "prípustná je iba jedna z konverzií {ascii,ebcdic,ibm}, {lcase,ucase},\n" #~ "{block,unblock}, {unblock,sync}" #~ msgid " Type" #~ msgstr " Typ" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "pokiaľ je požadovaný výpis vnútornej databázy 'dircolors', nie\n" #~ "je možné použiť argumenty pre súbor" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "varovanie: neprenositeľný BRE (základný regulérny výraz): `%s': použitie\n" #~ "znaku `^' na začiatku nie je prenositeľné a je ignorovaný" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s [ignorované argumenty]\n" #~ " alebo: %s VOĽBA\n" #~ "Skončiť s výstupným kódom indikujúcim chybu.\n" #~ "\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #~ msgid "unrecognized option `-%c'" #~ msgstr "neznámy prepínač `-%c'" #, fuzzy #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "je požadovaná inštalácia viacerých súborov, ale posledný argument %s nie " #~ "je adresár" #, fuzzy #~ msgid "%s is a directory" #~ msgstr "%s existuje, ale nie je adresárom" #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "strip failed" #~ msgstr "zlyhal stat" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "chybné číslo položky pre súbor 1: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "chybné číslo položky pre súbor 2: `%s'" #~ msgid "too many non-option arguments" #~ msgstr "príliš mnoho argumentov, ktoré nie sú prepínačmi" #~ msgid "too few non-option arguments" #~ msgstr "príliš málo argumentov, ktoré nie sú prepínačmi" #~ msgid "%s: File exists" #~ msgstr "%s: Súbor existuje" #~ msgid "create symbolic link %s to %s" #~ msgstr "vytvoriť symbolický odkaz %s na %s" #~ msgid "create hard link %s to %s" #~ msgstr "vytvoriť pevný odkaz %s na %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Použitie: %s [VOĽBA]... KONIEC\n" #~ " alebo: %s [VOĽBA]... ZAČIATOK KONIEC\n" #~ " alebo: %s [VOĽBA]... ZAČIATOK KROK LAST\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "pri vytváraní viacerých odkazov musí byť posledným argumentom adresár" # in Genitive - rzm #~ msgid "file" #~ msgstr "zadaného súboru" # in Genitive - rzm #~ msgid "files" #~ msgstr "zadaných súborov" #~ msgid "checksum" #~ msgstr "kontrolného súčtu" #~ msgid "checksums" #~ msgstr "kontrolných súčtov" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "prepínače --string a --check sa vzájomne vylučujú" #~ msgid "no files may be specified when using --string" #~ msgstr "pri použití prepínača --string nemôžu byť zadané súbory" #~ msgid "only one argument may be specified when using --check" #~ msgstr "iba jeden argument môže byť zadaný pri použití prepínača --check" #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "nie je možné zmeniť práva %s" #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "nie je možné zmeniť práva %s" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "príliš málo argumentov" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "pre rúry nie je potrebné zadávať hlavné a vedľajšie číslo zariadenia" #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "nie je možné zmeniť práva %s" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "pri premiestňovaní viacerých súborov musí byť posledným argumentom adresár" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Spustiť PRÍKAZ s upravenou plánovacou prioritou.\n" #~ "Bez PRÍKAZU vypíše aktuálnu prioritu. ÚPRAVA je implicitne 10.\n" #~ "Rozsah je od -20 (najvyššia priorita) po 19 (najnižšia).\n" #~ "\n" #~ " -ÚPRAVA najprv pripočítať k priorite ÚPRAVU\n" #~ " -n, --adjustment=ÚPRAVA ako -ADJUST\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "chybný typ reťazca `%s'" #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "chybné číslo položky: `%s'" #, fuzzy #~ msgid "cannot get priority" #~ msgstr "nie je možné vytvoriť adresár %s" #, fuzzy #~ msgid "cannot set priority" #~ msgstr "nie je možné vytvoriť adresár %s" #~ msgid "old-style offset" #~ msgstr "posunutie v starom štýle" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "chybný druhý argument '%s' v starom formáte" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "v kompatibilnom móde musia byť posledné dva argumenty posuny" #, fuzzy #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Diagnostikovať neprenositeľné prvky v NÁZVE.\n" #~ "\n" #~ " -p, --portability skontrolovať pre všetky POSIX systémy, nielen " #~ "tento\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "veľkosť tabulátoru obsahuje neplatný znak" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s existuje, ale nie je adresárom" #~ msgid "directory `%s' is not searchable" #~ msgstr "adresár `%s' nie je možné prehľadávať" #, fuzzy #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "názov `%s' má dĺžku %d; presahuje limit %d" #, fuzzy #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "cesta `%s' má dĺžku %d; presahuje limit %d" # c-format #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' - chybný rozsah čísiel stránok: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' - chybné číslo počiatočnej stránky: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' - chybné číslo koncovej stránky: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' - číslo počiatočnej stránky je väčšie ako číslo koncovej stránky" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=STĹPCOV' neplatný počet stĺpcov: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "číslo počiatočnej stránky je väčšie ako počet stránok: `%d'" #~ msgid "Page %d" #~ msgstr "Stránka %d" #, fuzzy #~ msgid "\\%c: invalid escape" #~ msgstr "%s: chybný vzor" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Použitie: %s formát [argument...]\n" #, fuzzy #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ " Tento program je voľné programové vybavenie; môžete ho šíriť a " #~ "modifikovať\n" #~ "podľa podmienok Všeobecnej verejnej licencie GNU, vydávanej Free " #~ "Software\n" #~ "Foundation; a to buď verzie 2 tejto licencie alebo (podľa vášho " #~ "uváženia),\n" #~ "ktorejkoľvek neskoršej verzie.\n" #~ "\n" #~ " Tento program je rozširovaný v nádeji, že bude užitočný, avšak BEZ " #~ "AKEJKOĽVEK\n" #~ "ZÁRUKY; neposkytujú sa ani odvodené záruky PREDAJNOSTI alebo VHODNOSTI " #~ "PRE\n" #~ "NEJAKÝ KONKRÉTNY ÚČEL. Ďaľšie podrobnosti nájdete vo Všeobecnej verejnej\n" #~ "licencii GNU.\n" #~ "\n" #~ " Kópia Všeobecnej verejnej licencie GNU mala byť dodaná spolu s týmto\n" #~ "programom; pokiaľ sa tak nestalo, napíšte do Free Software Foundation, " #~ "Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "nie je možné vojsť do adresára, %s" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "nie je možné spustiť %s" #, fuzzy #~ msgid "cannot lstat %s" #~ msgstr "nie je možné nastaviť dátum" #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "nie je možné vojsť do adresára, %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "nie je možné zmazať `.' alebo `..'" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "Zmazať SÚBOR(y).\n" #~ "\n" #~ " -d, --directory zmazať adresár, aj pokiaľ nie je prázdny (iba\n" #~ " superužívateľ)\n" #~ " -f, --force ignorovať neexistujúce soubory, nikdy sa nepýtať\n" #~ " -i, --interactive pred každým zmazaním sa opýtať\n" #~ " -r, -R, --recursive rekurzívne zmazať obsah adresárov\n" #~ " -v, --verbose vypisovať infomácie o priebehu\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #~ "Súbor s menom začínajúcim `-' (napr. `-foo') zmažete nasledovne:\n" #~ " %s -- -foo\n" #~ " %s ./-foo\n" #~ "\n" #~ "Pamätajte na to, že pri zmazaní súboru pomocou rm je obvykle možné obsah\n" #~ "daného súboru obnoviť. Pokiaľ sa chete lepšie uistiť, že obsah nebude\n" #~ "možné obnoviť, uvážte použitie pomôcky shred.\n" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "pokiaľ je počiatočná hodnota väčšia ako konečná,\n" #~ "krok musí byť záporný" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "pokiaľ je počiatočná hodnota menšia ako konečná,\n" #~ "krok musí byť kladný" #, fuzzy #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #~ msgid "stdin: read error" #~ msgstr "stdin: chyba pri čítaní" # src/tail.c:938 #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: neplatný znak v zastaralom prepínači" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "príliš mnoho argumentov; Pri použití zastaralej syntaxe prepínača %s,\n" #~ "môže byť uvedený iba jeden súborový argument. Radšej použite\n" #~ "ekvivalentný prepínač -n alebo -c." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Varovanie: použitie dvoch alebo viacerých súborových argumentov so " #~ "zastaralou\n" #~ "syntaxou prepínača %s nie je prenosné. Radšeji použite ekvivalentný " #~ "prepínač\n" #~ "-n alebo -c." #, fuzzy #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" # src/tail.c:968 #~ msgid "%s: is so large that it is not representable" #~ msgstr "%s: je tak veľký, že nie je reprezentovateľný" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s je viac ako maximálna veľkosť súboru na tomto systéme" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: neplatné číslo maximálneho počtu po sebe idúcich zmien veľkosti" #~ msgid "argument expected\n" #~ msgstr "očakávaný argument\n" #~ msgid "integer expression expected %s\n" #~ msgstr "očakávaný celočíselný výraz %s\n" #~ msgid "before -lt" #~ msgstr "pred -lt" #~ msgid "after -lt" #~ msgstr "po -lt" #~ msgid "before -le" #~ msgstr "pred -le" #~ msgid "after -le" #~ msgstr "po -le" #~ msgid "before -gt" #~ msgstr "pred -gt" #~ msgid "after -gt" #~ msgstr "po -gt" #~ msgid "before -ge" #~ msgstr "pred -ge" #~ msgid "after -ge" #~ msgstr "po -ge" #~ msgid "before -ne" #~ msgstr "pred -ne" #~ msgid "after -ne" #~ msgstr "po -ne" #~ msgid "before -eq" #~ msgstr "pred -eq" #~ msgid "after -eq" #~ msgstr "po -eq" #~ msgid "after -t" #~ msgstr "po -t" #, fuzzy #~ msgid "too many arguments\n" #~ msgstr "príliš veľa argumentov" #, fuzzy #~ msgid "file arguments missing" #~ msgstr "príliš málo argumentov" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "chybný zápis `\\%c'" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "dve množiny musia byť zadané pri mazaní a komprimovaní opakujúcich sa " #~ "znakov" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "najmenej jedna množina musí byť zadaná pri komprimovaní opakujúcich sa " #~ "znakov" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "nie je možné identifikovať mapovanie: pri nahradzovaní, ľubovoľná " #~ "konštrukcia\n" #~ "[:lower:] alebo [:upper:] v MNOŽINE1 musí byť zarovnaná so " #~ "zodpovedajúcou\n" #~ "konštrukciou ([:upper:] alebo [:lower:]) v MNOŽINE2." #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Použitie: %s [ignorované argumenty]...\n" #~ " alebo: %s VOĽBA\n" #~ "Skončiť s výstupným kódom indikujúcim úspech.\n" #~ "\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ msgid "only one argument may be specified" #~ msgstr "môže byť zadaný iba jeden argument" #, fuzzy #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: nie je možné zistiť meno používateľa pre UID %u\n" #, fuzzy #~ msgid "Try %s --help' for more information.\n" #~ msgstr "Viac informácií získate príkazom `%s --help'.\n" #, fuzzy #~ msgid "cannot lstat `.'" #~ msgstr "nie je možné nastaviť dátum" #, fuzzy #~ msgid "%s: remove directory %s? " #~ msgstr "nie je možné vytvoriť adresár %s" #~ msgid "%s: directory %s is write protected; descend into it anyway? " #~ msgstr "" #~ "%s: adresár %s je chránený proti zápisu; zostúpiť napriek tomu do neho? " #~ msgid "removing all entries of directory %s\n" #~ msgstr "mažem všetky záznamy adresára `%s'\n" #~ msgid "continue? " #~ msgstr "pokračovať? " #, fuzzy #~ msgid "cannot change back to directory %s via `..'" #~ msgstr "nie je možné vojsť do adresára, %s" #, fuzzy #~ msgid "%s: remove directory %s%s? " #~ msgstr "nie je možné vytvoriť adresár %s" #~ msgid " (might be nonempty)" #~ msgstr " (môže byť neprázdny)" #, fuzzy #~ msgid "removing the directory itself: %s\n" #~ msgstr "varovanie: nie je možné zmeniť adresár na %s" #, fuzzy #~ msgid "cannot fork" #~ msgstr "nie je možné spustiť %s" #, fuzzy #~ msgid "" #~ "ERROR: the source file %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after opening it), the numbers\n" #~ "are %lu/%lu. That means that while this program was running,\n" #~ "the file was replaced with another one. Skipping this file." #~ msgstr "" #~ "CHYBA: adresár %s mal pôvodne číslo zariadenia/i-uzlu %lu/%lu,\n" #~ "ale teraz (po vojdení do neho prostredníctvom chdir) sú čísla\n" #~ "pre `.' %lu/%lu. To znamená, že počas behu rm bol adresár buď\n" #~ "vymenený za iný, alebo nahradený odkazom na iný adresár." #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after a chdir into it), the numbers for `.'\n" #~ "are %lu/%lu. That means that while rm was running, the directory\n" #~ "was replaced with either another directory or a link to another directory." #~ msgstr "" #~ "CHYBA: adresár %s mal pôvodne číslo zariadenia/i-uzlu %lu/%lu,\n" #~ "ale teraz (po vojdení do neho prostredníctvom chdir) sú čísla\n" #~ "pre `.' %lu/%lu. To znamená, že počas behu rm bol adresár buď\n" #~ "vymenený za iný, alebo nahradený odkazom na iný adresár." #, fuzzy #~ msgid "" #~ "ERROR: the directory %s initially had device/inode\n" #~ "numbers %lu/%lu, but now (after changing into at least one subdirectory\n" #~ "and changing back via `..'), the numbers for `.' are %lu/%lu.\n" #~ "That means that while rm was running, a partially-removed subdirectory\n" #~ "was moved to a different position in the file system hierarchy." #~ msgstr "" #~ "CHYBA: adresár %s mal pôvodne číslo zariadenia/i-uzlu %lu/%lu,\n" #~ "ale teraz (po vojdení do neho prostredníctvom chdir) sú čísla\n" #~ "pre `.' %lu/%lu. To znamená, že počas behu rm bol adresár buď\n" #~ "vymenený za iný, alebo nahradený odkazom na iný adresár." #, fuzzy #~ msgid " or: %s [-acm] MMDDhhmm[YY] FILE... (obsolete)\n" #~ msgstr " alebo: %s [-acm] MMDDhhmm[RR] SÚBOR... (zastaralé)\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ msgid "" #~ "Change the group membership of each FILE to GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than the specified\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Zmena skupinového vlastníka každého SÚBORu na SKUPINU.\n" #~ "\n" #~ " -c, --changes ako voľba 'verbose', ale zobraziť iba zmeny\n" #~ " --dereference pôsobiť na odkazované súbory namiesto na\n" #~ " samotný odkaz\n" #~ " -h, --no-dereference pôsobiť na symbolické odkazy namiesto na " #~ "súbor,\n" #~ " na ktorý odkaz odkazuje (dostupné iba na\n" #~ " systémoch umožňujúcich zmeniť vlastníka\n" #~ " symbolického odkazu)\n" #~ " -f, --silent, --quiet potlačiť väčšinu chybových správ\n" #~ " --reference=SÚBOR2 použiť skupinu SÚBORU2 namiesto SKUPINy\n" #~ " -R, --recursive rekurzívne zmeniť skupinu aj vo vnorených " #~ "adresároch\n" #~ " -v, --verbose vypísať informáciu o každom spracovanom súbore\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link, " #~ "rather\n" #~ " than the symbolic link itself\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ " (available only on systems that can change the\n" #~ " ownership of a symlink)\n" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " the specified OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Zmena vlastníka a/alebo skupinového vlastníka každého SÚBORu na VLASTNÍKa " #~ "a/alebo SKUPINU.\n" #~ "\n" #~ " -c, --changes ako voľba 'verbose', ale zobraziť iba zmeny\n" #~ " --dereference pôsobiť na odkazovaný súbor namiesto na\n" #~ " samotný symbolický odkaz\n" #~ " -h, --no-dereference pôsobiť na symbolické odkazy namiesto na " #~ "súbor,\n" #~ " na ktorý odkaz odkazuje (dostupné iba na\n" #~ " systémoch umožňujúcich zmeniť vlastníka\n" #~ " symbolického odkazu)\n" #~ " --from=SÚČASNÝ_VLASTNÍK:SÚČASNÁ_SKUPINA\n" #~ " zmeniť vlastníka a/alebo skupinu iba pokiaľ\n" #~ " sa súčasný vlastník a/alebo skupina zhoduje\n" #~ " so zadanými. Vlastník alebo skupina môžu\n" #~ " byť vynechané, v takom prípade sa pre\n" #~ " vynechaný atribút zhoda nevyžaduje.\n" #~ " -f, --silent, --quiet potlačiť väčšinu chybových správ\n" #~ " --reference=RSÚBOR použiť vlastníka a skupinu RSÚBORU namiesto\n" #~ " explicitných hodnôt VLASTNÍK:SKUPINA\n" #~ " -R, --recursive vykonať operáciu aj vo vnorených adresároch\n" #~ " -v, --verbose vypísať informáciu o každom spracovanom súbore\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links\n" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: links, all\n" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents append source path to DIRECTORY\n" #~ " -P same as `--no-dereference'\n" #~ " -r copy recursively, non-directories as " #~ "files\n" #~ " WARNING: use -R instead when you might " #~ "copy\n" #~ " special files like FIFOs or /dev/zero\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ "Kópia ZDROJa do CIEĽa alebo viac ZDROJov do ADRESÁRA.\n" #~ "\n" #~ " -a, --archive ekvivalent volieb '-dpR'\n" #~ " --backup[=CONTROL] vytvoriť zálohu každého existujúceho " #~ "cieľového\n" #~ " súboru\n" #~ " -b ako --backup, ale nepovoľuje argument\n" #~ " -d, --no-dereference nikdy nenasledovať symbolické odkazy\n" #~ " -f, --force pokiaľ existujúci CIEĽ nemôže byť " #~ "otvorený,\n" #~ " zmazať ho a skúsiť znovu\n" #~ " -i, --interactive pred prepísaním sa opýtať\n" #~ " -H nasledovať symbolické odkazy z " #~ "príkazového\n" #~ " riadku\n" #~ " -l, --link namiesto kópií vytvoriť odkazy\n" #~ " -L, --dereference vždy nasledovať symbolické odkazy\n" #~ " -p, --preserve pokiaľ je to možné, zachovať práva a časy " #~ "súborov\n" #~ " --parents pridať cestu k zdroju k cieľovému " #~ "ADRESÁRu\n" #~ " -P zatiaľ to isté ako --parents; čoskoro sa\n" #~ " ale zmení na --no-dereference kvôli\n" #~ " kompatibilite s POSIX-om\n" #~ " -r kopírovať rekurzívne, všetko čo nie je " #~ "adresárom\n" #~ " kopírovať ako keby to bol súbor.\n" #~ " VAROVANIE: pokiaľ by ste mohli " #~ "kopírovať\n" #~ " špeciálne súbory ako FIFO alebo /dev/" #~ "zero,\n" #~ " použite -R.\n" #~ " --remove-destination odstrániť každý existujúci CIEĽ pred " #~ "pokusom\n" #~ " o jeho otvorenie (porovnaj s --force)\n" #~ msgid "" #~ "Copy a file, converting and formatting according to the options.\n" #~ "\n" #~ " bs=BYTES force ibs=BYTES and obs=BYTES\n" #~ " cbs=BYTES convert BYTES bytes at a time\n" #~ " conv=KEYWORDS convert the file as per the comma separated keyword " #~ "list\n" #~ " count=BLOCKS copy only BLOCKS input blocks\n" #~ " ibs=BYTES read BYTES bytes at a time\n" #~ " if=FILE read from FILE instead of stdin\n" #~ " obs=BYTES write BYTES bytes at a time\n" #~ " of=FILE write to FILE instead of stdout\n" #~ " seek=BLOCKS skip BLOCKS obs-sized blocks at start of output\n" #~ " skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "BLOCKS and BYTES may be followed by the following multiplicative " #~ "suffixes:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1,000,000, M 1,048,576,\n" #~ "GD 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.\n" #~ "Each KEYWORD may be:\n" #~ "\n" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternated EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ "Kopírovanie súboru, konverzia a formátovanie podľa volieb.\n" #~ "\n" #~ " bs=BAJTOV vnútiť ibs=BAJTOV a obs=BAJTOV\n" #~ " cbs=BAJTOV konvertovať BAJTOV bajtov naraz\n" #~ " conv=KĽÚČ_SLOVÁ konvertovať podľa čiarkami oddeleného zoznamu " #~ "kľúčových slov\n" #~ " count=BLOKOV kopírovať iba BLOKOV vstupných blokov\n" #~ " ibs=BAJTOV čítať BAJTOV bajtov naraz\n" #~ " if=SÚBOR čítať zo súboru SÚBOR namiesto zo štandardného vstupu\n" #~ " obs=BAJTOV zapisovať BAJTOV bajtov naraz\n" #~ " of=SÚBOR zapisovať do súboru SÚBOR namiesto na štandardný " #~ "výstup\n" #~ " seek=BLOKOV preskočiť prvých BLOKOV výstupných blokov veľkosti " #~ "obs\n" #~ " skip=BLOKOV preskočiť prvých BLOKOV vstupných blokov veľkosti ibs\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #~ "Počet BAJTOV môže mať nasledovné prípony násobku:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1 000 000, M 1 048 576,\n" #~ "GD 1 000 000 000, G 1 073 741 824, atď. pre T, P, E, Z, Y.\n" #~ "Každé KĽÚČ_SLOVO môže byť:\n" #~ "\n" #~ " ascii z EBCDIC do ASCII\n" #~ " ebcdic z ASCII do EBCDIC\n" #~ " ibm z ASCII do alternatívneho EBCDIC\n" #~ " block doplniť záznamy ukončené zn. nového riadku medzerami do " #~ "veľkosti cbs\n" #~ " unblock zameniť koncové medzery v záznamoch dĺžky cbs za zn. nového\n" #~ " riadku\n" #~ " lcase zmeniť veľké písmená na malé\n" #~ " notrunc neskracovať výstupný súbor\n" #~ " ucase zmeniť malé písmená na veľké\n" #~ " swab zameniť každý pár vstupných bajtov\n" #~ " noerror pokračovať aj v prípade chyby pri čítaní\n" #~ " sync doplniť každý vstupný blok nulovými bajtami do veľkosti ibs\n" #~ msgid "" #~ "Show information about the filesystem on which each FILE resides,\n" #~ "or all filesystems by default.\n" #~ "\n" #~ " -a, --all include filesystems having 0 blocks\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --local limit listing to local filesystems\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to filesystems of type TYPE\n" #~ " -T, --print-type print filesystem type\n" #~ " -x, --exclude-type=TYPE limit listing to filesystems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Výpis informácie o súborových systémoch, v ktorých sa SÚBORy nachádzajú\n" #~ "alebo o všetkých súborových systémoch.\n" #~ "\n" #~ " -a, --all aj súborové systémy s 0 blokmi\n" #~ " --block-size=VEĽKOSŤ použiť bloky dĺžky VEĽKOSŤ bajtov\n" #~ " -h, --human-readable veľkosti v ľahko čitateľnom formáte\n" #~ " (napr. 1K 234M 2G)\n" #~ " -H, --si podobne, ale použiť mocniny 1000 namiesto " #~ "1024\n" #~ " -i, --inodes vypísať informácie o i-uzloch namiesto " #~ "veľkosti v blokoch\n" #~ " -k, --kilobytes ako --block-size=1024\n" #~ " -l, --local obmedziť výpis na lokálne súborové systémy\n" #~ " -m, --megabytes ako --block-size=1048576\n" #~ " --no-sync nevykonať 'sync' pred získaním informácií " #~ "(štandard)\n" #~ " -P, --portability použiť formát definovaný normou POSIX\n" #~ " --sync vykonať 'sync' pred získaním informácií\n" #~ " -t, --type=TYP obmedziť výstup na súborové systémy typu TYP\n" #~ " -T, --print-type vypísať typ súborového systému\n" #~ " -x, --exclude-type=TYP vo výstupe nebudú súborové systémy typu TYP\n" #~ " -v (ignorované)\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ " -a, --all write counts for all files, not just directories\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes print size in bytes\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference PATHs when symbolic link\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -L, --dereference dereference all symbolic links\n" #~ " -m, --megabytes like --block-size=1048576\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ " -x, --one-file-system skip directories on different filesystems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PAT Exclude files that match PAT.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Sumarizácia miesta na disku zabraného každým SÚBORom, adresáre prechádza\n" #~ "rekurzívne.\n" #~ "\n" #~ " -a, --all vypísať diskový priestor pre všetky súbory,\n" #~ " nie iba pre adresáre\n" #~ " --block-size=VEĽKOSŤ použiť bloky dĺžky VEĽKOSŤ bajtov\n" #~ " -b, --bytes vypísať veľkosti v bajtoch\n" #~ " -c, --total vypísať aj celkový súčet\n" #~ " -D, --dereference-args pokiaľ je ako argument zadaný symbolický\n" #~ " odkaz, nasledovať ho\n" #~ " -h, --human-readable veľkosti v ľahko čitateľnom formáte\n" #~ " (napr. 1K 234M 2G)\n" #~ " -H, --si podobne, ale použiť mocniny 1000 namiesto " #~ "1024\n" #~ " -k, --kilobytes ako --block-size=1024\n" #~ " -l, --count-links započítať veľkosti pevných odkazov viackrát\n" #~ " -L, --dereference nasledovať všetky symbolické odkazy\n" #~ " -m, --megabytes ako --block-size=1048576\n" #~ " -S, --separate-dirs nezapočítať do veľkosti adresárov veľkosti " #~ "ich\n" #~ " podadresárov\n" #~ " -s, --summarize vypísať iba celkový súčet pre každý argument\n" #~ " -x, --one-file-system preskočiť adresáre na iných súborových " #~ "systémoch\n" #~ " -X SÚBOR, --exclude-from=SÚBOR vynechať súbory definované vzormi v " #~ "SÚBORe\n" #~ " --exclude=VZOR vynechať súbory definované VZORom\n" #~ " --max-depth=N vypísať súčet pre adresár (alebo súbor pre --" #~ "all)\n" #~ " iba pokiaľ je N alebo menej úrovní pod " #~ "argumentom\n" #~ " príkazového riadku; --max-depth=0 je to " #~ "isté ako\n" #~ " --summarize\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ msgid "" #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the third format, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST; useful in the 1st " #~ "format\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables, only for 1st and 2nd formats\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Prvé dva formáty skopírujú ZDROJ do CIEĽa alebo viac ZDROJov do " #~ "existujúceho\n" #~ "ADRESÁRa vrátane nastavenia práv, vlastníka a/alebo skupiny. Tretí " #~ "formát\n" #~ "vytvorí ADRESÁR vrátane adresárov v jeho ceste.\n" #~ "\n" #~ " --backup=CONTROL pred zmazaním vytvoriť záložnú kópiu\n" #~ " -b ako --backup, ale nepovoľuje argument\n" #~ " -c (ignorované)\n" #~ " -d, --directory vytvoriť všetky prvky cesty k adresárom;\n" #~ " povinné pre 3. formát\n" #~ " -D vytvoriť všetky prvky cesty okrem posledného, " #~ "potom\n" #~ " skopírovať ZDROJ do CIEĽa; užitočné v 1. " #~ "formáte\n" #~ " -g, --group=SKUPINA nastaviť SKUPINU ako vlastníka namiesto skupiny " #~ "procesu\n" #~ " -m, --mode=PRÁVA nastaviť prístupové práva PRÁVA (ako s 'chmod') " #~ "namiesto\n" #~ " rwxr-xr-x\n" #~ " -o, --owner=VLASTNÍK nastaviť vlastníka (iba superužívateľ - root)\n" #~ " -p, --preserve-timestamps nastaviť čas prístupu a zmeny podľa ZDROJa\n" #~ " -s, --strip odstrániť tabuľku symbolov (iba 1. a 2. formát)\n" #~ " -S, --suffix=PRÍPONA nastaviť novú príponu záložných súborov\n" #~ " --verbose vypísať názov každého vytváraného adresára\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #~ msgid "" #~ "Create a link to the specified TARGET with optional LINK_NAME.\n" #~ "If LINK_NAME is omitted, a link with the same basename as the TARGET is\n" #~ "created in the current directory. When using the second form with more\n" #~ "than one TARGET, the last argument must be a directory; create links\n" #~ "in DIRECTORY to each TARGET. Create hard links by default, symbolic\n" #~ "links with --symbolic. When creating hard links, each TARGET must " #~ "exist.\n" #~ "\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory hard link directories (super-user only)\n" #~ " -f, --force remove existing destination files\n" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -v, --verbose print name of each file before linking\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Vytvoriť odkaz na CIEĽ, voliteľne so zadaným MENOM_ODKAZU. Pokiaľ\n" #~ "je MENO_ODKAZU vynechané, vytvorí sa odkaz s rovnakým menom ako\n" #~ "CIEĽ v aktuálnom adresári. Pri použití druhej formy s viac ako\n" #~ "jedným CIEĽom musí byť posledný argument adresár, v ktorom majú\n" #~ "byť odkazy vytvorené. Pokiaľ nie je zadané inak, budú vytvorené\n" #~ "pevné odkazy, pri zadaní --symbolic budú vytvorené symbolické.\n" #~ "Pokiaľ sú vytvárané pevné odkazy, každý CIEĽ musí existovať.\n" #~ "\n" #~ "\n" #~ " --backup[=CONTROL] vytvoriť zálohu každého existujúceho " #~ "cieľového\n" #~ " súboru\n" #~ " -b ako --backup, ale nepovoľuje argument\n" #~ " -d, -F, --directory pevný odkaz na adresár (len " #~ "superužívateľ)\n" #~ " -f, --force zmazať existujúce súbory\n" #~ " -n, --no-dereference pokiaľ je MENO_ODKAZU symbolický odkaz na " #~ "adresár,\n" #~ " zachádzať s ním ako s obyčajným súborom\n" #~ " -i, --interactive pred prípadným zmazaním súboru sa opýtať\n" #~ " -s, --symbolic vytvoriť symbolický odkaz namiesto pevného " #~ "odkazu\n" #~ " -S, --suffix=PRÍPONA zmeniť obvyklú príponu záložných kópií\n" #~ " --target-directory=ADR presunúť všetky ZDROJe do ADResára\n" #~ " -v, --verbose pred vytvorením odkazu vypísať meno " #~ "každého súboru\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuSUX nor --sort.\n" #~ "\n" #~ " -a, --all do not hide entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ " -f do not sort, enable -aU, disable -lst\n" #~ " -F, --classify append indicator (one of */=@|) to entries\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ "Výpis informácií o SÚBORoch (v aktuálnom adresári, pokiaľ nie sú " #~ "zadané).\n" #~ "Pokiaľ nie je zadaná žiadna z volieb -cftuSUX alebo --sort, bude výstup\n" #~ "usporiadaný abecedne.\n" #~ "\n" #~ " -a, --all vypísať aj súbory začínajúce bodkou\n" #~ " -A, --almost-all vypísať všetky súbory okrem . a ..\n" #~ " -b, --escape vypísať negrafické znaky osmičkovo\n" #~ " --block-size=VEĽKOSŤ použiť bloky dĺžky VEĽKOSŤ bajtov\n" #~ " -B, --ignore-backups nevypisovať súbory končiace ~\n" #~ " -c spoločne s -lt: zobraziť ctime a zoradiť " #~ "podľa neho\n" #~ " (čas poslednej zmeny stavovej informácie " #~ "súboru)\n" #~ " spoločne s -l: zobraziť ctime a zoradiť " #~ "podľa mena\n" #~ " inak: zoradiť podľa ctime\n" #~ " -C vypísať súbory v stĺpcoch\n" #~ " --color[=KEDY] určiť, ako sú použité farby pre rozlíšenie " #~ "typov\n" #~ " súborov. KEDY môže byť `never', `always' " #~ "alebo\n" #~ " `auto'\n" #~ " -d, --directory vypísať názvy adresárov namiesto ich obsahu\n" #~ " -D, --dired generovať výstup pre Emacsový dired mód\n" #~ " -f neusporiadať, povoliť -aU, zakázať -lst\n" #~ " -F, --classify doplniť znak určujúci typ súborov (jeden z */" #~ "=@|)\n" #~ " --format=SLOVO across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time vypísať plný dátum aj čas\n" #, fuzzy #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line follow symbolic links on the command " #~ "line\n" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), classify (-F), file-type (-" #~ "p)\n" #~ " -i, --inode print index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k, --kilobytes like --block-size=1024\n" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -g (ignorované)\n" #~ " -G, --no-group nevypisovať informácie o skupinách\n" #~ " -h, --human-readable veľkosti v ľahko čitateľnom formáte\n" #~ " (napr. 1K 234M 2G)\n" #~ " --si podobne, ale použiť mocniny 1000 namiesto " #~ "1024\n" #~ " -H zatiaľ to isté ako --si; čoskoro sa zmení\n" #~ " kvôli kompatibilite s POSIX-om\n" #~ " --indicator-style=ŠTÝL pripojiť indikátor štýlu ŠTÝL k názvom:\n" #~ " none (predvoľba), classify (-F), file-type " #~ "(-p)\n" #~ " -i, --inode ku každému súboru vypísať aj číslo jeho i-" #~ "uzlu\n" #~ " -I, --ignore=VZOR nevypisovať súbory vyhovujúce shellovému " #~ "VZORu\n" #~ " -k, --kilobytes ako --block-size=1024\n" #~ " -l použiť dlhý formát\n" #~ " -L, --dereference v prípade symbolických odkazov vypísať " #~ "vlastnosti,\n" #~ " súboru, na ktorý odkaz odkazuje\n" #~ " -m oddeľovať súbory čiarkami\n" #~ " -n, --numeric-uid-gid namiesto mena vlastníka (UID) a skupiny " #~ "(GID)\n" #~ " vypísať čísla\n" #~ " -N, --literal nespracovávať riadiace znaky v názvoch " #~ "súborov\n" #~ " -o použiť dlhý formát bez informácií o " #~ "skupinách\n" #~ " -p, --file-type doplniť znak určujúci typ každého souboru " #~ "(jeden z /=@|)\n" #~ " -q, --hide-control-chars namiesto negrafických znakov vypísať '?'\n" #~ " --show-control-chars vypísať aj negrafické znaku (predvolené)\n" #~ " -Q, --quote-name vložiť názvy do úvodzoviek (citácia)\n" #~ " --quoting-style=SLOVO citovať mená štýlom SLOVO:\n" #~ " literal, shell, shell-always, c, escape\n" #~ " -r, --reverse usporiadať v opačnom poradí\n" #~ " -R, --recursive vypísať adresáre rekurzívne\n" #~ " -s, --size vypísať veľkosť každého súboru v blokoch\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=WORD show time as WORD instead of modification " #~ "time:\n" #~ " atime, access, use, ctime or status; use\n" #~ " specified time as sort key if --sort=time\n" #~ " --time-style=WORD show times using style WORD:\n" #~ " full-iso, iso, locale, posix-iso\n" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -1 list one file per line\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty).\n" #~ msgstr "" #~ " -S uspoiadať podľa dĺžky súborov\n" #~ " --sort=SLOVO extension -X, none -U, size -S, time -t,\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=SLOVO zobraziť čas ako SLOVO namiesto času zmeny:\n" #~ " atime, access, use, ctime alebo status; " #~ "použi\n" #~ " zadaný čas pre triedenie, pokiaľ --" #~ "sort=time\n" #~ " -t usporiadať podľa času poslednej zmeny\n" #~ " -T, --tabsize=ROZOSTUP nastaviť tabulátory každých ROZOSTUP znakov\n" #~ " -u spoločne s -lt: zobraziť čas posledného " #~ "prístupu\n" #~ " (atime) a zoradiť podľa neho\n" #~ " spoločne s -l: zobraziť atime a zoradiť " #~ "podľa mena\n" #~ " inak: zoradiť podľa atime\n" #~ " -U neusporiadavať - vypísať v poradí, aké je\n" #~ " v adresári\n" #~ " -v usporiadať podľa verzie\n" #~ " -w, --width=STĹPCOV použiť túto šírku obrazovky pri vypisovaní\n" #~ " -x vypisovať názvy po riadkoch namiesto po " #~ "stĺpcoch\n" #~ " -X usporiadať podľa prípon\n" #~ " -1 vypísať jeden súbor na jednom riadku\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "Pokiaľ nie je nastavené inak, farba sa pre označenie typov súborov " #~ "nepoužije,\n" #~ "čo je rovnocenné s voľbou --color=none. Použitie voľby --color bez " #~ "argumentu\n" #~ "KEDY je rovnocenné s použitím voľby --color=always. Voľba --color=auto " #~ "spôsobí,\n" #~ "že farby budú použité iba pokiaľ je štandardný výstup pripojený k " #~ "terminálu\n" #~ "(tty).\n" #, fuzzy #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " -s, --size=N shred this many bytes (suffixes like k, M, G accepted)\n" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ " - shred standard output\n" #~ " --help display this help and exit\n" #~ " --version print version information and exit\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the filesystem overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern filesystem designs do not satisfy this\n" #~ "assumption. The following are examples of filesystems on which shred is\n" #~ "not effective:\n" #~ "\n" #~ "* log-structured or journaled filesystems, such as those supplied with\n" #~ " AIX and Solaris (and JFS, ReiserFS, XFS, etc.)\n" #~ "\n" #~ "* filesystems that write redundant data and carry on even if some writes\n" #~ " fail, such as RAID-based filesystems\n" #~ "\n" #~ "* filesystems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ "* filesystems that cache in temporary locations, such as NFS\n" #~ " version 3 clients\n" #~ "\n" #~ "* compressed filesystems\n" #~ "\n" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Opakovane prepisuje SÚBOR(y), aby sa aj veľmi nákladnému hardvéru\n" #~ "maximálne sťažili pokusy o obnovu údajov.\n" #~ "\n" #~ " -f, --force zmeniť práva pre povolenie zápisu, ak je to potrebné\n" #~ " -n, --iterations=N prepísať N-krát namiesto prednastavených (%d)\n" #~ " -s, --size=N prepísať N bajtov (prípony ako k, M, G sú možné)\n" #~ " -u, --remove skrátiť a odstrániť súbor po prepísaní\n" #~ " -v, --verbose zobraziť postup\n" #~ " -x, --exact nezaokrúhľovať veľkosti súborov na ďalší úplný blok\n" #~ " -z, --zero na záver prepísať nulami, aby sa prepisovanie skrylo\n" #~ " - prepisovať štandardný výstup\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #~ "SÚBOR bude zmazaný, pokiaľ bolo zadané --remove (-u). Inak sa nemaže,\n" #~ "keďže je obvyklé prepisovať súbory zariadení ako /dev/hda a tieto\n" #~ "obvykle vymazané byť nemajú. Pre obyčajné súbory väčšina ľudí používa\n" #~ "voľbu --remove.\n" #~ "\n" #~ "POZOR: Prepisovanie funguje len pokiaľ je splnený dôležitý predpoklad:\n" #~ "že súborový systém prepisuje údaje na mieste. Tak sa to obvykle aj " #~ "robí,\n" #~ "ale pre veľa moderných súborových systémoch to splnené nie je.\n" #~ "Nasledujúce súborové systémy sú príkladom takých, kde shred nie je\n" #~ "účinný:\n" #~ "\n" #~ "* systémy založené na log-súboroch alebo žurnáli, ako napr. systémy\n" #~ " obsiahnuté v systémoch AIX, Solaris (a JFS, ReiserFS, XFS, atď.)\n" #~ "\n" #~ "* systémy zapisujúce redundantné údaje a sú schopné fungovať aj keď\n" #~ " niektoré zo zápisov zlyhajú, ako napr. systémy založené na RAID\n" #~ "\n" #~ "* systémy tvoriace 'snímky', ako napr. NFS server Network Appliance\n" #~ "\n" #~ "* systémy využívajúce cache na dočasných miestach, ako napr. klienti\n" #~ " NFS verzie 3\n" #~ "\n" #~ "* komprimované súborové systémy\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD set time given by WORD: access atime use (same " #~ "as -a)\n" #~ " modify mtime (same as -m)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Note that the three time-date formats recognized for the -d and -t " #~ "options\n" #~ "and for the obsolescent argument are all different.\n" #~ msgstr "" #~ "Aktualizovať čas posledného prístupu a poslednej zmeny každého SÚBORu\n" #~ "na aktuálny čas\n" #~ "\n" #~ " -a zmeniť iba čas posledného prístupu\n" #~ " -c nevytvárať nové súbory\n" #~ " -d, --date=REŤAZEC analyzovať REŤAZEC a použiť ho namiesto " #~ "aktuálneho času\n" #~ " -f (ignorované)\n" #~ " -m zmeniť iba čas poslednej zmeny súboru\n" #~ " -r, --reference=SÚBOR použiť časy SÚBORu namiesto aktuálneho času\n" #~ " -t ČAS použiť [[SS]RR]MMDDhhmm[.ss] namiesto aktuálneho " #~ "času\n" #~ " --time=SLOVO aktualizovať čas zadaný SLOVOm - access, atime,\n" #~ " use (to isté ako -a); modify, mtime (ako -m)\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #~ "Zoberte na vedomie, že tri formáty dátumu a času (rozpoznávané \n" #~ "voľbami -d a -t a zastaralým spôsobom ich zadania) sú všetky rozdielne.\n" #~ msgid "" #~ "Warning: the meaning of `-P' will change in the future to conform to " #~ "POSIX.\n" #~ "Use `--parents' for the old meaning, and `--no-dereference' for the new " #~ "one." #~ msgstr "" #~ "Varovanie: význam `-P' sa v budúcnosti zmení, aby bolo vyhovené POSIX-u.\n" #~ "Pre pôvodný význam použite `--parents' a pre nový `--no-dereference'." #, fuzzy #~ msgid "Copyright (C) 2001 Free Software Foundation, Inc." #~ msgstr "Copyright (C) 2001 Free Software Foundation, Inc." #, fuzzy #~ msgid "%a %b %d %H:%M:%S %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "" #~ "when creating character special files, major and minor device\n" #~ "numbers must be specified" #~ msgstr "" #~ "pri vytváraní špeciálneho znakového súboru musí byť zadané\n" #~ "hlavné a vedľajšie číslo zariadenia" #~ msgid "days" #~ msgstr "dni" #~ msgid "users" #~ msgstr "použív." #, fuzzy #~ msgid "%s: only one signal specififier allowed" #~ msgstr "môže byť zadaný iba jeden argument" #, fuzzy #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %%%% a literal %%\n" #~ " %%a locale's abbreviated weekday name (Sun..Sat)\n" #~ " %%A locale's full weekday name, variable length (Sunday..Saturday)\n" #~ " %%b locale's abbreviated month name (Jan..Dec)\n" #~ " %%B locale's full month name, variable length (January..December)\n" #~ " %%c locale's date and time (Sat Nov 04 12:02:33 EST 1989)\n" #~ " %%C century (year divided by 100 and truncated to an integer) [00-" #~ "99]\n" #~ " %%d day of month (01..31)\n" #~ " %%D date (mm/dd/yy)\n" #~ " %%e day of month, blank padded ( 1..31)\n" #~ " %%h same as %%b\n" #~ " %%H hour (00..23)\n" #~ " %%I hour (01..12)\n" #~ " %%j day of year (001..366)\n" #~ " %%k hour ( 0..23)\n" #~ " %%l hour ( 1..12)\n" #~ " %%m month (01..12)\n" #~ " %%M minute (00..59)\n" #~ " %%n a newline\n" #~ " %%p locale's AM or PM\n" #~ " %%r time, 12-hour (hh:mm:ss [AP]M)\n" #~ " %%s seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)\n" #~ " %%S second (00..60)\n" #~ " %%t a horizontal tab\n" #~ " %%T time, 24-hour (hh:mm:ss)\n" #~ " %%u day of week (1..7); 1 represents Monday\n" #~ " %%U week number of year with Sunday as first day of week (00..53)\n" #~ " %%V week number of year with Monday as first day of week (01..53)\n" #~ " %%w day of week (0..6); 0 represents Sunday\n" #~ " %%W week number of year with Monday as first day of week (00..53)\n" #~ " %%x locale's date representation (mm/dd/yy)\n" #~ " %%X locale's time representation (%%H:%%M:%%S)\n" #~ " %%y last two digits of year (00..99)\n" #~ " %%Y year (1970...)\n" #~ " %%z RFC-822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %%Z time zone (e.g., EDT), or nothing if no time zone is " #~ "determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ "\n" #~ "FORMÁT určuje výstup. Pre druhú formu je jedinou povolenou voľbou\n" #~ "špecifikácia univerzálneho času. Platné formátovacie sekvencie sú:\n" #~ "\n" #~ " %%%% znak %%\n" #~ " %%a skratka dňa v týždni podľa aktuálneho národného prostredia (Po.." #~ "Ne)\n" #~ " %%A úplný názov dňa podľa národného prostredia, premenná dĺžka " #~ "(Pondelok..Nedeľa)\n" #~ " %%b skratka mesiaca podľa národného prostredia (Jan..Dec)\n" #~ " %%B úplný názov mesiaca podľa národného prostredia, premenná dĺžka " #~ "(Január..December)\n" #~ " %%c dátum a čas podľa národného prostredia (Ne 28. február 1999, " #~ "18:48:59 CET)\n" #~ " %%d de+n v mesiaci (01..31)\n" #~ " %%D dátum (mm/dd/rr)\n" #~ " %%e deň v mesiaci, zarovnanie medzerou ( 1..31)\n" #~ " %%h ako %%b\n" #~ " %%H hodina (00..23)\n" #~ " %%I hodina (01..12)\n" #~ " %%j deň v roku (001..366)\n" #~ " %%k hodina ( 0..23)\n" #~ " %%l hodina ( 1..12)\n" #~ " %%m mesiac (01..12)\n" #~ " %%M minúta (00..59)\n" #~ " %%n prechod na nový riadok\n" #~ " %%p doobeda alebo poobede (podľa národného prostredia)\n" #~ " %%r čas, 12-hodinový formát (hh:mm:ss [AP]M)\n" #~ " %%s sekundy od 00:00:00, Jan 1, 1970 (GNU rozšírenie)\n" #~ " %%S sekunda (00..60)\n" #~ " %%t horizontálny tabulátor\n" #~ " %%T čas, 24-hodinový formát (hh:mm:ss)\n" #~ " %%U číslo týždňa v roku s nedeľou ako prvým dňom týždňa (00..53)\n" #~ " %%V číslo týždňa v roku s pondelkom ako prvým dňom týždňa (01..52)\n" #~ " %%w deň v týždni (0..6); 0 reprezentuje nedeľu\n" #~ " %%W číslo týždňa v roku s pondelkom ako prvým dňom týždňa (00..53)\n" #~ " %%x dátum podľa národného prostredia (dd.mm.rrrr)\n" #~ " %%X čas podľa národného prostredia (%%H:%%M:%%S)\n" #~ " %%y posledné dve číslice roku (00..99)\n" #~ " %%Y rok (1970...)\n" #~ " %%z číselné časové pásmo podľa RFC-822 (+0100) (neštandardné " #~ "rozšírenie)\n" #~ " %%Z časové pásmo (napr. CET) alebo prázdny reťazec, pokiaľ sa nedá " #~ "určiť\n" #~ "\n" #~ "Číselné údaje sú implicitne zarovnávané nulami. GNU date rozpoznáva\n" #~ "medzi `%%' a číselnou direktívou nasledovné modifikátory:\n" #~ "\n" #~ " `-' (pomlčka) nezarovnávať\n" #~ " `_' (podčiarnik) zarovnávať medzerami\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ " --help display this help and exit (should be alone)\n" #~ " --version output version information and exit (should be alone)\n" #~ "\n" #~ "Without -E, the following sequences are recognized and interpolated:\n" #~ "\n" #~ " \\NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ "Vypísať REŤAZEC (REŤAZCE) na štandardný výstup.\n" #~ "\n" #~ " -n po výpise neprejsť na nový riadok\n" #~ " -e povoliť rozpoznanie znakov uvádzaných spätným " #~ "lomítkom,\n" #~ " popísaných ďalej\n" #~ " -E zakázať spracovanie takýchto sekvencií\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #~ "Bez -E sú rozpoznávané a spracované nasledujúce sekvencie:\n" #~ "\n" #~ " \\NNN znak, ktorého ASCII kód je NNN (oktalovo)\n" #~ " \\\\ spätné lomítko\n" #~ " \\a pípnutie (BEL)\n" #~ " \\b krok späť\n" #~ " \\c potlačiť koncový znak nového riadku\n" #~ " \\f prechod na novú stránku\n" #~ " \\n prechod na nový riadok\n" #~ " \\r návrat na začiatok riadku\n" #~ " \\t horizontálny tabulátor\n" #~ " \\v vertikálny tabulátor\n" #, fuzzy #~ msgid "" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 %% ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ "Vypísať hodnotu VÝRAZU na štandardný výstup. V nasledujúcom texte\n" #~ "prázdny riadok oddeľuje skupiny podľa stúpajúcej priority. VÝRAZ môže " #~ "byť:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 ak nie je prázdny ani 0, inak ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 ak žiadny argument nie je prázdny ani nula, " #~ "otherwise 0\n" #~ "\n" #~ " ARG1 < ARG2 ARG1 je menší ako ARG2\n" #~ " ARG1 <= ARG2 ARG1 je menší alebo rovný ARG2\n" #~ " ARG1 = ARG2 ARG1 je rovný ARG2\n" #~ " ARG1 != ARG2 ARG1 nie je rovný ARG2\n" #~ " ARG1 >= ARG2 ARG1 je väčší alebo rovný ARG2\n" #~ " ARG1 > ARG2 ARG1 je väčší ako ARG2\n" #~ "\n" #~ " ARG1 + ARG2 aritmetický súčet ARG1 a ARG2\n" #~ " ARG1 - ARG2 aritmetický rozdiel ARG1 a ARG2\n" #~ "\n" #~ " ARG1 * ARG2 aritmetický súčin ARG1 a ARG2\n" #~ " ARG1 / ARG2 aritmetický podiel ARG1 a ARG2\n" #~ " ARG1 %% ARG2 aritmetický zvyšok po delení ARG1 ARG2\n" #~ "\n" #~ " REŤAZEC : REGEXP výskyt vzoru REGEXP v REŤAZCI\n" #~ "\n" #~ " match REŤAZEC REGEXP ako REŤAZEC : REGEXP\n" #~ " substr REŤAZEC POS DĹŽKA podreťazec REŤAZCA, POS počítaná od 1\n" #~ " index REŤAZEC ZNAKY index v REŤAZCI, kde bol nájdený niektorý " #~ "ZNAK, inak 0\n" #~ " length REŤAZEC dĺžka REŤAZCA\n" #~ " quote TOKEN interpretuj TOKEN ako reťazec, aj pokiaľ je " #~ "kľúčovým\n" #~ " slovom ako `match' alebo operátorom ako " #~ "`/'\n" #~ "\n" #~ " ( VÝRAZ ) hodnota of VÝRAZU\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ " -l dlhá forma výstupu\n" #~ " -b vynechať domovský adresár a shell používateľa v dlhej " #~ "forme\n" #~ " -h vynechať projektový súbor používateľa v dlhej forme\n" #~ " -p vynechať súbor s plánom používateľa v dlhej forme\n" #~ " -s krátka forma (implicitná)\n" #~ " -f vynechať nadpisy stĺpcov v krátkej forme\n" #~ " -w vynechať úplné meno používateľa v krátkej forme\n" #~ " -i vynechať úplné meno používateľa a vzdialený systém v " #~ "krátkej forme\n" #~ " -q vynechať úplné meno používateľa, vzdialený systém a čas " #~ "nečinnosti\n" #~ " v krátkej forme\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #~ "Odľahčený program `finger'; výpis informácie o používateľovi.\n" #~ "utmp súbor bude %s.\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\0NNN character with octal value NNN (0 to 3 digits)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " \\xNNN byte with hexadecimal value NNN (1 to 3 digits)\n" #~ "\n" #~ " \\uNNNN character with hexadecimal value NNNN (4 digits)\n" #~ " \\UNNNNNNNN character with hexadecimal value NNNNNNNN (8 digits)\n" #~ " %%%% a single %%\n" #~ " %%b ARGUMENT as a string with `\\' escapes interpreted\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ "Vypísať ARGUMENT(y) podľa FORMÁTU.\n" #~ "\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "FORMÁT riadi výstup analogicky C-funkcii printf. Spracovávané sekvencie " #~ "sú:\n" #~ "\n" #~ " \\\" úvodzovky\n" #~ " \\0NNN znak s oktalovou hodnotou NNN (0 až 3 číslice)\n" #~ " \\\\ spätné lomítko\n" #~ " \\a pípnutie (BEL)\n" #~ " \\b krok späť\n" #~ " \\c neprodukovať ďalší výstup\n" #~ " \\f nová stránka\n" #~ " \\n nový riadok\n" #~ " \\r návrat na začiatok riadku\n" #~ " \\t horizontálny tabulátor\n" #~ " \\v vertikálny tabulátor\n" #~ " \\xNNN znak s hexadecimálnou hodnotou NNN (1 až 3 číslice)\n" #~ " \\uNNNN znak s hexadecimálnou hodnotou NNNN (4 číslice)\n" #~ " \\UNNNNNNNN znak s hexadecimálnou hodnotou NNNNNNNN (8 číslic)\n" #~ "\n" #~ " %%%% znak %%\n" #~ " %%b ARGUMENT ako reťazec s interpretovanými `\\' sekvenciami\n" #~ "\n" #~ "a všetky C špecifikácie formátu končiace jedným znakov diouxXfeEgGcs, s " #~ "ARGUMENTAMI\n" #~ "najprv prevedenými na správny typ. Premenné šírky budú spracované.\n" #, fuzzy #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ "\n" #~ "Special characters:\n" #~ "* dsusp ZNAK ZNAK pošle signál zastavenia terminálu po zahodení\n" #~ " neprečítaného vstupu\n" #~ " eof ZNAK ZNAK pošle koniec súboru (ukončenie vstupu)\n" #~ " eol ZNAK ZNAK ukončuje riadok\n" #~ "* eol2 ZNAK alternatívny ZNAK pre ukončenie riadku\n" #~ " erase ZNAK ZNAK zmaže posledný napísaný znak\n" #~ " intr ZNAK ZNAK pošle signál prerušenia\n" #~ " kill ZNAK ZNAK zmaže aktuálny riadok\n" #~ "* lnext ZNAK ZNAK spôsobí citáciu nasledujúceho znaku\n" #~ " quit ZNAK ZNAK pošle signál ukončenia\n" #~ "* rprnt ZNAK ZNAK znovu vykreslí aktuálny riadok\n" #~ " start ZNAK ZNAK spustí výstup po jeho zastavení\n" #~ " stop ZNAK ZNAK zastaví výstup\n" #~ " susp ZNAK ZNAK pošle signál zastavenia terminálu\n" #~ "* swtch ZNAK ZNAK prepne do odlišnej úrovne shellu\n" #~ "* werase ZNAK ZNAK zmaže posledné napísané slovo\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ "\n" #~ "Špeciálne nastavenia:\n" #~ " N nastaviť rýchlosť vstupu a výstupu na N baudov\n" #~ "* cols N oznámiť jadru, že terminál má N stĺpcov\n" #~ "* columns N ako cols N\n" #~ " ispeed N nastaviť rýchlosť vstupu N\n" #~ "* line N použiť linkovú disciplínu N\n" #~ " min N s -icanon nastaviť minimum N znakov pre ukončené čítanie\n" #~ " ospeed N nastaviť rýchlosť výstupu N\n" #~ "* rows N oznámiť jadru, že terminál má N riadkov\n" #~ "* size vypísať počet riadkov a stĺpcov podľa údajov jadra\n" #~ " speed vypísať rýchlosť terminálu\n" #~ " time N s -icanon nastaviť časový limit vstupu na N desatín " #~ "sekundy\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ "\n" #~ "Nastavenia vstupu:\n" #~ " [-]brkint break vyvolá signál prerušenia\n" #~ " [-]icrnl prekladať znaky návratu na začiatok riadku na nové " #~ "riadky\n" #~ " [-]ignbrk ignorovať break znaku\n" #~ " [-]igncr ignorovať znaky návratu na začiatok riadku\n" #~ " [-]ignpar ignorovať znaky s chybou parity\n" #~ "* [-]imaxbel pokiaľ príde znak a vyrovnávacia pamäť je plná, pípnuť\n" #~ " a nezahodiť vstup\n" #~ " [-]inlcr prekladať nové riadky na znaky návratu na začiatok " #~ "riadku\n" #~ " [-]inpck povoliť kontrolu parity na vstupe\n" #~ " [-]istrip vynulovať najvyšší (ôsmy) bit vstupujúcich znakov\n" #~ "* [-]iuclc prekladať veľké znaky na malé\n" #~ "* [-]ixany znovu spustiť výstup ľubovoľným znakom, nielen znakom " #~ "štart\n" #~ " [-]ixoff povoliť posielanie štart/stop znakom\n" #~ " [-]ixon povoliť XON/XOFF riadenie toku\n" #~ " [-]parmrk označiť chyby parity (postupnosťou znakov 255-0)\n" #~ " [-]tandem ako [-]ixoff\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ "\n" #~ "Lokálne nastavenia:\n" #~ " [-]crterase echovať znaky zmazania ako krok späť-medzera-krok späť\n" #~ "* crtkill vymazať riadok s rešpektovaním nastavení echoprt a echoe\n" #~ "* -crtkill vymazať riadok s rešpektovaním nastavení echoctl a echok\n" #~ "* [-]ctlecho echovať riadiace znaky v strieškovej notácii (`^c')\n" #~ " [-]echo echovať vstupujúce znaky\n" #~ "* [-]echoctl ako [-]ctlecho\n" #~ " [-]echoe ako [-]crterase\n" #~ " [-]echok echovať nový riadok po znaku vymazania riadku\n" #~ "* [-]echoke ako [-]crtkill\n" #~ " [-]echonl echovať nový riadok aj pokiaľ sa ostatné znaky neechujú\n" #~ "* [-]echoprt echovať vymazané znaky v obrátenom poradí medzi `\\' a " #~ "'/'\n" #~ " [-]icanon povoliť špeciálne znaky erase, kill, werase, a rprnt\n" #~ " [-]iexten povoliť špeciálne ne-POSIX-ové znaky\n" #~ " [-]isig povoliť špeciálne znaky interrupt, quit a suspend\n" #~ " [-]noflsh zakázať zahodenie vstupu po znakoch interrupt and quit\n" #~ "* [-]prterase ako [-]echoprt\n" #~ "* [-]tostop zastaviť úlohy v pozadí, keď skúsia zapisovať na " #~ "terminál\n" #~ "* [-]xcase s icanon, predradiť `\\' pre veľké písmená\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ "\n" #~ "Kombinované nastavenia:\n" #~ "* [-]LCASE ako [-]lcase\n" #~ " cbreak ako -icanon\n" #~ " -cbreak ako icanon\n" #~ " cooked ako brkint ignpar istrip icrnl ixon opost isig\n" #~ " znaky icanon, eof a eol sa nastavia na implicitné " #~ "hodnoty\n" #~ " -cooked ako raw\n" #~ " crt ako echoe echoctl echoke\n" #~ " dec ako echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ "* [-]decctlq ako [-]ixany\n" #~ " ek znaky erase a kill sa nastavia na implicitné hodnoty\n" #~ " evenp ako parenb -parodd cs7\n" #~ " -evenp ako -parenb cs8\n" #~ "* [-]lcase ako xcase iuclc olcuc\n" #~ " litout ako -parenb -istrip -opost cs8\n" #~ " -litout ako parenb istrip opost cs7\n" #~ " nl ako -icrnl -onlcr\n" #~ " -nl ako icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ " oddp ako parenb parodd cs7\n" #~ " -oddp ako -parenb cs8\n" #~ " [-]parity ako [-]evenp\n" #~ " pass8 ako -parenb -istrip cs8\n" #~ " -pass8 ako parenb istrip cs7\n" #~ " raw ako -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw ako cooked\n" #~ " sane ako cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, všetky špeciálne\n" #~ " znaky sa nastavia na implicitné hodnoty.\n" #, fuzzy #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and is readable\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ " -S FILE FILE exists and is a socket\n" #~ " -t [FD] file descriptor FD (stdout by default) is opened on a " #~ "terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and is writable\n" #~ " -x FILE FILE exists and is executable\n" #~ msgstr "" #~ "\n" #~ " SÚBOR1 -ef SÚBOR2 SÚBOR1 a SÚBOR2 majú rovnaké čísla zariadenia a " #~ "inode\n" #~ " SÚBOR1 -nt SÚBOR2 SÚBOR1 je novší (čas zmeny) ako SÚBOR2\n" #~ " SÚBOR1 -ot SÚBOR2 SÚBOR1 je starší ako SÚBOR2\n" #~ "\n" #~ " -b SÚBOR SÚBOR existuje a je blokový špeciálny súbor\n" #~ " -c SÚBOR SÚBOR existuje a je znakový špeciálny súbor\n" #~ " -d SÚBOR SÚBOR existuje a je adresár\n" #~ " -e SÚBOR SÚBOR existuje\n" #~ " -f SÚBOR SÚBOR existuje a je bežný súbor\n" #~ " -g SÚBOR SÚBOR existuje a má nastavný set-group-ID bit\n" #~ " -G SÚBOR SÚBOR existuje a je vlastnený efektívnym skupinovým ID\n" #~ " -k SÚBOR SÚBOR existuje a má nastavený sticky bit\n" #~ " -L SÚBOR SÚBOR existuje a je symbolický odkaz\n" #~ " -O SÚBOR SÚBOR existuje a je vlastnený efektívnym ID používateľa\n" #~ " -p SÚBOR SÚBOR existuje a je pomenovaná rúra\n" #~ " -r SÚBOR SÚBOR existuje a je čitateľný\n" #~ " -s SÚBOR SÚBOR existuje a má nenulovú dĺžku\n" #~ " -S SÚBOR SÚBOR existuje a je socket\n" #~ " -t [FD] deskriptor súboru FD (implicitne štandardný výstup)\n" #~ " je otvorený na termináli\n" #~ " -u SÚBOR SÚBOR existuje a má nastavený set-user-ID bit\n" #~ " -w SÚBOR SÚBOR existuje a je zapisovateľný\n" #~ " -x SÚBOR SÚBOR existuje a je vykonateľný\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " --login print system login processes\n" #~ " (equivalent to SUS -l)\n" #~ " -l, --lookup attempt to canonicalize hostnames via DNS\n" #~ " (-l is deprecated, use --lookup)\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users lists users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ " -H, --heading vypísať hlavičky stĺpcov\n" #~ " -i, -u, --idle vypísať čas nečinnosti ako HOD:MIN, . alebo dávno\n" #~ " -l, --lookup pokúsiť sa o kanonizáciu mien prostredníctvom DNS\n" #~ " -m iba meno počítača a používateľa spojené so štand. " #~ "vstupom\n" #~ " -q, --count všetky mená používateľov a ich počet\n" #~ " -s (ignorované)\n" #~ " -T, -w, --mesg pridať stav povolenia príjmu správ ako +, - or ?\n" #~ " --message ako -T\n" #~ " --writable ako -T\n" #~ " --help vypísať túto pomoc a skončiť\n" #~ " --version vypísať informáciu o verzii a skončiť\n" #~ "\n" #~ "Ak SÚBOR nebol zadaný, použíje sa %s. %s ako SÚBOR je obvyklý.\n" #~ "Pokiaľ sú zadané ARG1 a ARG2, predpokladá sa -m: `am i' alebo `mom " #~ "likes'\n" #~ "sú obvyklé.\n" #, fuzzy #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ msgid "USER" #~ msgstr "UŽÍV" #~ msgid "MESG " #~ msgstr "SPR " #~ msgid "LOGIN-TIME " #~ msgstr "ČAS-PRIHLÁS " #~ msgid "FROM\n" #~ msgstr "Z\n" #, fuzzy #~ msgid "" #~ "\n" #~ "(obsolete) If -VALUE is used as first OPTION, same as -c VALUE when one " #~ "of\n" #~ "multipliers bkm follows concatenated, else same as -n VALUE.\n" #~ msgstr "" #~ " Vypíše prvých 10 riadkov každého súboru na štandardný výstup. S viac " #~ "ako\n" #~ "jedným súborom, bude pred vypísaním každého uvedená hlavička obsahujúca " #~ "meno\n" #~ "súboru. Ak SÚBOR nebude zadaný alebo bude -, bude čítaný štandardný " #~ "vstup.\n" #~ "\n" #~ " -c, --bytes=VEĽKOSŤ vypíše prvých VEĽKOSŤ bytov\n" #~ " -n, --lines=POČET vypíše prvých POČET riadkov namiesto prvých " #~ "10\n" #~ " -q, --quiet, --silent nikdy nevypisuje hlavičky s názvami súborov\n" #~ " -v, --verbose vypisuje hlavičky s názvami súborov vždy\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ " VEĽKOSŤ môže mať násobiacu príponu: b pre 512, k pre 1K, m pre 1M. " #~ "Pokiaľ\n" #~ "prvý prepínač bude -HODNOTA a ak bude použitá násobiaca prípona, potom " #~ "bude braný\n" #~ "ako -c HODNOTA. Inak bude prepínač braný ako -n HODNOTA.\n" #, fuzzy #~ msgid "warning: `od -w' is obsolete; use `od --width'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "warning: `pr -S' is obsolete; use `pr --sep-string'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolete\n" #~ msgstr "" #~ " Porovnáva súbory ĽAVÝ_SÚBOR a PRAVÝ_SÚBOR, ktorých riadky sú " #~ "usporiadané\n" #~ "podľa nejakého kľúča, riadok po riadku. Výstupom sú tri stĺpce, riadky " #~ "obsiahnuté\n" #~ "iba v ľavom súbore, riadky obsiahnuté iba v pravom súbore, riadky " #~ "spoločné\n" #~ "obom súborom.\n" #~ "\n" #~ " -1 neukazuje riadky obsiahnuté iba v ľavom súbore\n" #~ " -2 neukazuje riadky obsiahnuté iba v pravom súbore\n" #~ " -3 neukazuje riadky spoločné obom súborom\n" #~ " --help vypíše tuto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "warning: `sort -y' is obsolete; omit `-y'" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "warning: `tail %s' is obsolete; use -n or -c instead" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "warning: `uniq %s' is obsolete; use `uniq -s %s' instead" #~ msgstr "varovanie: chybná šírka %lu; namiesto nej použijem %d" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ "Vypíše CRC kontrolný súčet a dĺžku v bytoch každého SÚBORu.\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -i, --initial do not convert TABs after non whitespace\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " Konvertuje tabulátory v každom SÚBORe na medzery, výstup ide na " #~ "štandardný\n" #~ "výstup. Ak nebude SÚBOR zadaný alebo ak bude -, bude čítaný štandardný " #~ "vstup.\n" #~ "\n" #~ " -i, --initial konvertuje iba tabulátory pred prvým znakom na " #~ "riadku\n" #~ " -t, --tabs=POČET tabulátor považuje za POČET (8) medzier\n" #~ " -t, --tabs=ZOZNAM použije čiarkami oddelený zoznam pozícií " #~ "tabulátorov\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ "Namiesto -t POČET alebo -t ZOZNAM môžete použiť -POČET alebo -ZOZNAM.\n" #, fuzzy #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ " Konvertuje tabulátory v každom SÚBORe na medzery, výstup ide na " #~ "štandardný\n" #~ "výstup. Ak nebude SÚBOR zadaný alebo ak bude -, bude čítaný štandardný " #~ "vstup.\n" #~ "\n" #~ " -i, --initial konvertuje iba tabulátory pred prvým znakom na " #~ "riadku\n" #~ " -t, --tabs=POČET tabulátor považuje za POČET (8) medzier\n" #~ " -t, --tabs=ZOZNAM použije čiarkami oddelený zoznam pozícií " #~ "tabulátorov\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ "Namiesto -t POČET alebo -t ZOZNAM môžete použiť -POČET alebo -ZOZNAM.\n" #, fuzzy #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ msgstr "" #~ " Zalamuje vstupné riadky každého SÚBORu (implicitne štandardného " #~ "vstupu),\n" #~ "zapisujúc výstup na štandardný výstup.\n" #~ "\n" #~ " -b, --bytes pre zalamovanie počíta bajty na riadku namiesto " #~ "stĺpcov\n" #~ " -s, --spaces zalamuje riadky v medzerách\n" #~ " -w, --width=ŠÍRKA používa ŠÍRKA stĺpcov namiesto 80\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ "V stĺpcoch nie sú zahrnuté kontrolné znaky na rozdiel od bytov.\n" #, fuzzy #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ " Vypíše riadky skladajúce sa z riadkov jednotlivých SÚBORov, v zadanom " #~ "poradí,\n" #~ "a oddelených tabulátormi na štandardný výstup. Pokiaľ SÚBOR nebude " #~ "zadaný\n" #~ "alebo bude -, bude čítaný štandardný vstup.\n" #~ "\n" #~ " -d, --delimiters=ZOZNAM použije znaky zo ZOZNAMU ako oddeľovače " #~ "(namiesto TAB)\n" #~ " -s, --serial vypíše súbory za sebou namiesto vedľa seba\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -NUMBER same as -l NUMBER\n" #~ " --verbose print a diagnostic to standard error just\n" #~ " before each output file is opened\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ " Rozdelí SÚBOR do súborov PREDPONAaa, PREDPONAab, ... s pevnou dĺžkou.\n" #~ "Implicitná PREDPONA je `x'. Pokiaľ SÚBOR nebude zadaný alebo bude -, bude " #~ "čítaný\n" #~ "štandardný vstup.\n" #~ "\n" #~ " -b, --bytes=VEĽKOSŤ zapíše VEĽKOST bytov do výstupného súboru\n" #~ " -C, --line-bytes=VEĽKOSŤ zapíše najviac VEĽKOST bytov na výstupný " #~ "riadok\n" #~ " -l, --lines=POČET zapíše POČET riadkov do výstupného súboru\n" #~ " -POČET to isté ako -l POČET\n" #~ " --verbose pred otvorením každého výstupného súboru " #~ "vypíše\n" #~ " o tom oznámenie na štandardný výstup\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenei verzie a skončí\n" #~ "\n" #~ "VEĽKOSŤ môže mať násobiacu príponu: b - 512, k - 1024, m - 1 Mega.\n" #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --before attach the separator before instead of after\n" #~ msgstr "" #~ " Vypíše každý SÚBOR na štandardný výstup. Posledný riadok ako prvý.\n" #~ "Pokiaľ SÚBOR nebude zadaný alebo bude -, bude čítaný štandardný vstup.\n" #~ "\n" #~ " -b, --before pripojí oddeľovač riadkov pred riadky " #~ "namiesto\n" #~ " za ne\n" #~ " -r, --regex interpretuje oddeľovač ako regulárny výraz\n" #~ " -s, --separator=REŤAZEC použije REŤAZEC ako oddeľovač namiesto nového " #~ "riadku\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ msgstr "" #~ " Vypíše prvých 10 riadkov každého súboru na štandardný výstup. S viac " #~ "ako\n" #~ "jedným súborom, bude pred vypísaním každého uvedená hlavička obsahujúca " #~ "meno\n" #~ "súboru. Ak SÚBOR nebude zadaný alebo bude -, bude čítaný štandardný " #~ "vstup.\n" #~ "\n" #~ " -c, --bytes=VEĽKOSŤ vypíše prvých VEĽKOSŤ bytov\n" #~ " -n, --lines=POČET vypíše prvých POČET riadkov namiesto prvých " #~ "10\n" #~ " -q, --quiet, --silent nikdy nevypisuje hlavičky s názvami súborov\n" #~ " -v, --verbose vypisuje hlavičky s názvami súborov vždy\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ " VEĽKOSŤ môže mať násobiacu príponu: b pre 512, k pre 1K, m pre 1M. " #~ "Pokiaľ\n" #~ "prvý prepínač bude -HODNOTA a ak bude použitá násobiaca prípona, potom " #~ "bude braný\n" #~ "ako -c HODNOTA. Inak bude prepínač braný ako -n HODNOTA.\n" #, fuzzy #~ msgid "" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart instead of 8\n" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Instead of -t NUMBER or -t LIST, -NUMBER or -LIST may be used.\n" #~ msgstr "" #~ " V každom SÚBORe konvertuje medzery na tabulátory a výsledok vypisuje\n" #~ "na štandardný výstup. Ak nebude SÚBOR zadaný alebo bude -, bude čítaný\n" #~ "štandardný vstup.\n" #~ "\n" #~ " -a, --all konvertuje všetky medzery, namiesto iba úvodných\n" #~ " -t, --tabs=POČET nastaví tabulátor na POČET medzier (8)\n" #~ " -t, --tabs=ZOZNAM použije čiarkami oddelený zoznam pre pozície " #~ "tabulátorov\n" #~ " --help vypíše tuto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ "Namiesto -t POČET alebo -t ZOZNAM je možné použiť -POČET alebo -ZOZNAM.\n" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx01', " #~ "`xx02', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %%d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %%REGEXP%%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ " Rozdeľuje SÚBOR v miestach VZORu(ov) do súborov `xx01', `xx02', ...\n" #~ "a vypisuje veľkosti každého súboru na štandardný výstup.\n" #~ "\n" #~ " -b, --suffix-format=FORMÁT použije sprintf FORMÁT namiesto %%d\n" #~ " -f, --prefix=PREDPONA použije PREDPONU namiesto `xx'\n" #~ " -k, --keep-files nemaže výstupné súbory pri chybách\n" #~ " -n, --digits=ČÍSLIC použije zadaný počet číslic namiesto 2\n" #~ " -s, --quiet, --silent nevypisuje veľkosti výstupných súborov\n" #~ " -z, --elide-empty-files maže prázdne výstupné súbory\n" #~ " --help vypíše tuto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ "Ak SÚBOR bude -, bude čítaný štandardný vstup. Každý VZOR môže byť:\n" #~ "\n" #~ " CELÉ_ČÍSLO kopíruje všetko až do riadku tohto čísla, ale bez " #~ "neho\n" #~ " /REGVÝR/[POSUN] kopíruje všetko do riadku zodpovedajúceho " #~ "regulárnemu výrazu,\n" #~ " ale bez neho\n" #~ " %%REGVÝR%%[POSUN] preskočí všetko až do riadku zodpovedajúceho " #~ "regulárnemu\n" #~ " výrazu, ale bez neho\n" #~ " {CELÉ_ČÍSLO} opakuje predchádzajúci vzor toľkokrát, koľko je tu " #~ "uvedené\n" #~ " {*} opakuje predchádzajúci vzor toľkokrát, koľko je to " #~ "možné\n" #~ "\n" #~ " POSUN musí začínať s `+' alebo `-', nasledovaný celým kladným číslom. " #~ "Posun\n" #~ "určuje koľko znakov se ešte zahrnie do bloku v mieste vyhodnotenia " #~ "REGVÝR.\n" #, fuzzy #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --bytes=LIST output only these bytes\n" #~ " -c, --characters=LIST output only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ " -f, --fields=LIST output only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Vypíše iba vybrané časti riadkov z každého SÚBORu na štandardný výstup.\n" #~ "\n" #~ " -b, --bytes=ZOZNAM vypíše iba tieto byty\n" #~ " -c, --characters=ZOZNAM vypíše iba tieto znaky\n" #~ " -d, --delimiter=ODDEĽOVAČ ako oddeľovač použije ODDEĽOVAČ (namiesto " #~ "TAB)\n" #~ " -f, --fields=ZOZNAM vypíše iba tieto položky; pokiaľ nie je " #~ "zadaná\n" #~ " voľba -s, vypíše aj všetky riadky " #~ "neobsahujúce\n" #~ " žiadny oddeľovač\n" #~ " -n (ignorované)\n" #~ " -s, --only-delimited potlačí riadky neobsahujúce znak oddeľovača\n" #~ " --output-delimiter=REŤAZEC REŤAZEC sa použije ako výstupný " #~ "oddeľovač.\n" #~ " Implicitne je ako tento oddeľovač použitý " #~ "vstupný\n" #~ " oddeľovač.\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ "Použite jeden a iba jeden z prepínačov -b, -c a -f. Každý zoznam sa " #~ "skladá\n" #~ "z jedného rozsahu alebo z viac rozsahov oddelených čiarkami. Každý rozsah " #~ "môže\n" #~ "byť:\n" #~ "\n" #~ " N N-tý byt, znak alebo položka, počítané od 1\n" #~ " N- od N-tého bytu, znaku alebo položky, do konca riadku\n" #~ " N-M od N-tého do M-tého (vrátane) bytu, znaku alebo položky\n" #~ " -M od prvního do M-tého (vrátane) bytu, znaku alebo položky\n" #~ "\n" #~ "Ak SÚBOR nie je zadaný alebo je `-', bude čítaný zo štandardného vstupu.\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a SIDE print unpairable lines coming from file SIDE\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD (obsolescent) equivalent to `-1 FIELD -2 FIELD'\n" #~ " -j1 FIELD (obsolescent) equivalent to `-1 FIELD'\n" #~ " -j2 FIELD (obsolescent) equivalent to `-2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ " -v SIDE like -a SIDE, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `SIDE.FIELD' or `0'. Default FORMAT outputs the join field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ msgstr "" #~ " Pre každý pár vstupných riadkov s rovnakými prepojovacími položkami, " #~ "zapíše\n" #~ "riadok na štandardný výstup. Implicitne je prepojovacou položkou položka " #~ "prvá\n" #~ "a oddeľovač je medzera. Pokiaľ SÚBOR1 alebo SÚBOR2 bude -, potom tento " #~ "bude\n" #~ "čítaný zo štandardného vstupu.\n" #~ "\n" #~ " -a STRANA vypíše nepárové riadky pochádzajúce zo súboru STRANA\n" #~ " -e PRÁZDN nahradí chýbajúce vstupné položky znakom PRÁZDN\n" #~ " -i, --ignore-case pri porovnávaní položiek ignoruje rozdiely medzi " #~ "malými\n" #~ " a veľkými písmenami\n" #~ " -j POLOŽKA (zastarané) rovnocenné s `-1 POLE -2 POLE'\n" #~ " -j1 POLOŽKA (zastarané) rovnocenné s `-1 POLE'\n" #~ " -j2 POLOŽKA (zastarané) rovnocenné s `-2 POLE'\n" #~ " -o FORMÁT riadi sa FORMÁTom pri tvorbe výstupného riadku\n" #~ " -t ZNAK použije ZNAK ako oddeľovač položiek na vstupe aj " #~ "výstupe.\n" #~ " -v STRANA ako -a STRANA, ale bez spojených riadkov.\n" #~ " -1 POLOŽKA spája pomocou tejto POLOŽKY súboru 1\n" #~ " -2 POLOŽKA spája pomocou tejto POLOŽKY súboru 2\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ " Pokiaľ prepínač -t ZNAK nebude zadaný, ako oddeľovač bude použitá " #~ "medzera\n" #~ "a prázdne položky na začiatku riadku budú ignorované. Inak bude " #~ "oddeľovačom\n" #~ "položiek ZNAK. Ľubovoľná POLOŽKA je poradie položky počítané od 1. FORMÁT " #~ "je\n" #~ "jedna alebo viac čiarkami alebo medzerami oddelených popisovačov, každý " #~ "môže byť\n" #~ "'STRANA.POLOŽKA' alebo '0'. Implicitný FORMÁT vypisuje prepojovaciu " #~ "položku,\n" #~ "zbytok položiek zo súboru 1, zbytok položiek zo súboru 2. Všetky sú " #~ "oddelené\n" #~ "znakom ZNAK.\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ " or: %s [OPTION] --check [FILE]\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formated checksum lines\n" #~ "\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "Použitie: %s [PREPÍNAČ] [SÚBOR]...\n" #~ " alebo: %s [PREPÍNAČ] --check [SÚBOR]\n" #~ "\n" #~ " Vypíše alebo kontroluje %s (%d-bitové) kontrolné súčty. Pokiaľ SÚBOR\n" #~ "nebude zadaný alebo bude -, bude čítaný štandardný vstup.\n" #~ "\n" #~ " -b, --binary číta súbory v binárnom móde (implicitné\n" #~ " v DOSe/Windows)\n" #~ " -c, --check porovnáva %s súčty so zadaným zoznamom\n" #~ " -t, --text číta súbory v textovom móde (implicitné)\n" #~ "\n" #~ "Nasledujúce prepínače sú užitočné iba pri overovaní kontrolných súčtov:\n" #~ " --status nevypisuje nič, status kód ukazuje úspešnosť\n" #~ " -w, --warn varovanie o nesprávne formátovaných riadkoch\n" #~ " kontrolných súčtov\n" #~ "\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ " Súčty sú počítané podľa definície v %s. Pri testovaní by vstup mal\n" #~ "byť skorším výstupom tohoto programu. Implicitné nastavenie je výpis " #~ "jedného\n" #~ "riadku pre každý SÚBOR. Formát riadku je kontrolný súčet, znak indikujúci " #~ "typ\n" #~ "('*' pre binárny, ' ' pre textový) a meno SÚBORu.\n" #, fuzzy #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pREGEXP number only lines that contain a match for REGEXP\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ " Prepíše každý SÚBOR na štandardný výstup a ku každému riadku pridá " #~ "jeho\n" #~ "číslo. Pokiaľ SÚBOR nebude zadaný alebo bude -, bude čítaný štandardný " #~ "vstup.\n" #~ "\n" #~ " -b, --body-numbering=ŠTÝL použije ŠTÝL na číslovanie riadkov v " #~ "tele\n" #~ " -d, --section-delimiter=CC použije CC pre oddelenie logických " #~ "stránok\n" #~ " -f, --footer-numbering=ŠTÝL použije ŠTÝL na číslovanie riadkov v " #~ "pätičke\n" #~ " -h, --header-numbering=ŠTÝL použije ŠTÝL na číslovanie riadkov v " #~ "hlavičke\n" #~ " -i, --page-increment=ČÍSLO o koľko zvyšovať číslo riadkov\n" #~ " -l, --join-blank-lines=POČET berie POČET prázdnych riadkov ako " #~ "jeden\n" #~ " -n, --number-format=FORMÁT čísla riadkov vypisuje podľa FORMÁTu\n" #~ " -p, --no-renumber nenuluje číslo riadku na začiatku " #~ "logickej\n" #~ " stránky\n" #~ " -s, --number-separator=REŤAZEC pridá reťazec za číslo riadku " #~ "(oddeľovač\n" #~ " čísla od ďaľšieho riadku)\n" #~ " -v, --first-page=ČÍSLO číslo prvého riadku na logickej " #~ "stránke\n" #~ " -w, --number-width=POČET čísla riadkov vypisuje na POČET miest\n" #~ " --help vypíše tuto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ " Implicitné sú parametre -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC sú\n" #~ "dva znaky, ktoré sú použité na oddeľovanie logických stránok. Pre zadanie " #~ "'\\'\n" #~ "je treba napísať '\\\\'. ŠTÝL je jeden z:\n" #~ "\n" #~ " a čísluje všetky riadky\n" #~ " t čísluje iba neprázdne riadky\n" #~ " n riadky nečísluje\n" #~ " pREGVÝR čísluje iba riadky vyhovujúce REGVÝR\n" #~ "\n" #~ "FORMÁT je jeden z:\n" #~ "\n" #~ " ln zarovnáva vľavo, bez úvodných núl\n" #~ " rn zarovnáva vpravo, bez úvodných núl\n" #~ " rz zarovnáva vpravo, s úvodnými nulami\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -s, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in pre-POSIX form\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "Pre-POSIX format specifications may be intermixed, they accumulate:\n" #~ " -a same as -t a, select named characters\n" #~ " -b same as -t oC, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal shorts\n" #~ " -f same as -t fF, select floats\n" #~ " -h same as -t x2, select hexadecimal shorts\n" #~ " -i same as -t d2, select decimal shorts\n" #~ " -l same as -t d4, select decimal longs\n" #~ " -o same as -t o2, select octal shorts\n" #~ " -x same as -t x2, select hexadecimal shorts\n" #~ msgstr "" #~ " Vypíše SÚBOR v zadanom formáte, implicitný je osmičkový výpis, na\n" #~ "štandardný výstup. Pokiaľ SÚBOR nebude zadaný alebo bude -, bude čítaný\n" #~ "štandardný vstup.\n" #~ "\n" #~ " -A, --address-radix=ZÁKLAD pozíciu v súbore vypisuje v zadanej " #~ "sústave\n" #~ " -j, --skip-bytes=POČET preskočí prvých POČET bytov každého súboru\n" #~ " -N, --read-bytes=POČET vypíše iba POČET bytov každého súboru\n" #~ " -s, --strings[=POČET] vypíše iba reťazce obsahujúce najmenej " #~ "POČET\n" #~ " znakov\n" #~ " -t, --format=TYP vyberie výstupný formát alebo formáty\n" #~ " -v, --output-duplicates vypisuje aj za sebou sa opakujúce rovnaké " #~ "riadky\n" #~ " -w, --width[=POČET] vypíše POČET bytov na výstupný riadok\n" #~ " --traditional akceptuje argumenty v pred-POSIXovom tvare\n" #~ " --help vypíše tuto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ "Pred-POSIXové formáty môžu byť používané spolu s POSIXovými, to zahŕňa:\n" #~ " -a rovnaké ako -t a, názvy znakov\n" #~ " -b rovnaké ako -t oC, byty osmičkovo\n" #~ " -c rovnaké ako -t c, ASCII znaky alebo kódy znakov so spätným " #~ "lomítkom\n" #~ " -d rovnaké ako -t u2, desiatkové bez znamienka (dvoj bytové - short)\n" #~ " -f rovnaké ako -t fF, čísla s plávajúcou radovou čiarkou\n" #~ " -h rovnaké ako -t x2, šestnástkové (dvoj bytové - short)\n" #~ " -i rovnaké ako -t d2, desiatkové so znamienkom (dvoj bytové - short)\n" #~ " -l rovnaké ako -t d4, desiatkové so znamienkom (štvor bytové - long)\n" #~ " -o rovnaké ako -t o2, osmičkové (dvoj bytové - short)\n" #~ " -x rovnaké ako -t x2, šestnástkové (dvoj bytové - short)\n" # `maybe' or `may be'? - rzm #~ msgid "" #~ "\n" #~ "For older syntax (second call format), OFFSET means -j OFFSET. LABEL\n" #~ "is the pseudo-address at first byte printed, incremented when dump is\n" #~ "progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates\n" #~ "hexadecimal, suffixes maybe . for octal and b multiply by 512.\n" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character\n" #~ " c ASCII character or backslash escape\n" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, it is multiplied by 512\n" #~ "with b suffix, by 1024 with k and by 1048576 with m. Adding a z suffix " #~ "to\n" #~ "any type adds a display of printable characters to the end of each line\n" #~ "of output. -s without a number implies 3. -w without a number implies " #~ "32.\n" #~ "By default, od uses -A o -t d2 -w 16.\n" #~ msgstr "" #~ "\n" #~ " Pri starej syntaxi (druhý spôsob volania), POSUN znamená -j POSUN. " #~ "NÁVESTIE\n" #~ "je pseudo-adresa vypísaná pri prvom byte a zväčšovaná behom výpisu. " #~ "POSUN\n" #~ "a NÁVESTIE sú brané ako osmičkové čísla. Pokiaľ číslo začína 0x alebo " #~ "0X,\n" #~ "označuje šestnástkové číslo. Pokiaľ číslo končí desatinnou čiarkou '.', " #~ "označuje\n" #~ "desiatkové číslo. Pokiaľ číslo končí znakom 'b', znamená to, že bude " #~ "násobené\n" #~ "512-timi.\n" #~ "\n" #~ "TYP je tvorené z jednej alebo viacerých týchto možností:\n" #~ "\n" #~ " a názvy znakov\n" #~ " c ASCII znaky alebo kódy znakov so spätným lomítkom\n" #~ " d[BYTOV] desiatkové so znamienkovm s počtom BYTOV na číslo\n" #~ " f[BYTOV] s plávajúcou radovou čiarkou s počtom BYTOV na číslo\n" #~ " o[BYTOV] osmičkové s počtom BYTOV na číslo\n" #~ " u[BYTOV] desiatkové bez znamienka s počtom BYTOV na číslo\n" #~ " x[BYTOV] šestnástkové s počtom BYTOV na číslo\n" #~ "\n" #~ " BYTOV je číslo. Pre TYPy d, o, u, x môže byť BYTOV tiež C ako\n" #~ "sizeof(char), S ako sizeof(short), I ako sizeof(int) alebo L ako\n" #~ "sizeof(long). Pokiaľ je TYP f, BYTOV môže byť tiež F ako sizeof(float),\n" #~ "D ako sizeof(double) alebo L ako sizeof(long double).\n" #~ "\n" #~ " ZÁKLAD je d pre dekadické, o - osmičkové, x - šestnástkové, n - " #~ "žiadne.\n" #~ "POČET je braný ako šestnástkové číslo ak začína 0x alebo 0X, ak končí " #~ "znakom\n" #~ "'b', bude násobeno 512-ti, k - 1024-mi, m - 1048576-ti. -s bez zadaného " #~ "čísla\n" #~ "je brané ako -s 3. -w bez čísla je brané ako -w 32. Implicitné sú tieto\n" #~ "hodnoty -A o -t d2 -w 16.\n" #, fuzzy #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " produce COLUMN-column output and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ "Nastránkuje alebo nastĺpcuje SÚBOR(y) pre tlač.\n" #~ "\n" #~ " +PRVÁ_STRANA[:POSLEDNÁ_STRANA], --pages=PRVÁ_STRANA[:POSLEDNÁ_STRANA]\n" #~ " začne [skončí] výpis na strane PRVNÁ_[POSLEDNÁ_]" #~ "STRANA\n" #~ " -STĹPCOV, --columns=STĹPCOV\n" #~ " produkuje STĹPCOV-stĺpcový výstup. Riadky vypisuje\n" #~ " na stránku do stĺpcov, pokiaľ nie je špecifikovaná\n" #~ " voľba -a. Vyvažuje počet riadkov v stĺpcoch na " #~ "každej\n" #~ " strane.\n" #~ " -a, --across vypisuje stĺpce vodorovne miesto nadol. Používa sa " #~ "spolu\n" #~ " s prepínačom -STĹPCOV.\n" #~ " -c, --show-control-chars\n" #~ " použije strieškovú notáciu (^G) a osmičkovú so " #~ "spätným lomítkom\n" #~ " -d, --double-space\n" #~ " za každý riadok vloží jeden prázdny\n" #~ " -D, --date-format=FORMÁT\n" #~ " použije FORMÁT pre dátum v hlavičke\n" #~ " -e[ZNAK[ŠÍRKA]], --expand-tabs[=ZNAK[ŠÍRKA]]\n" #~ " expanduje vstupné ZNAKy(tabulátory) na ŠÍRKA(8) " #~ "medzier\n" #~ " -F, -f, --form-feed\n" #~ " použije znak novej strany (FF) namiesto nových " #~ "riadkov (CR)\n" #~ " na oddelenie stránok (a 3-riadkovú hlavičku strany " #~ "pri -F\n" #~ " alebo 5-riadkovú hlavičku s pätičkou bez -F).\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, -S[STRING] sets separators\n" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -h HLAVIČKA, --header=HLAVIČKA\n" #~ " použije vycentrovanú HLAVIČKU namiesto mena súboru.\n" #~ " Pri dlhej hlavičke bude ľavá strana orezaná.\n" #~ " -h \"\" vypíše prázdnu hlavičku. Nepoužívajte -h\"\"\n" #~ " -i[ZNAK[ŠÍRKA]], --output-tabs[=ZNAK[ŠÍRKA]]\n" #~ " nahradí ŠÍRKA (8) medzier ZNAKom (tabulátorom)\n" #~ " -J, --join-lines spája celé riadky, vyradí -W skracovanie riadkov,\n" #~ " ruší stĺpce, -S[REŤAZEC] nastaví oddeľovač\n" #~ " -l DĹŽKA_STRÁNKY, --length=DĹŽKA_STRÁNKY\n" #~ " nastaví dĺžku strany na DĹŽKA_STRÁNKY riadkov.\n" #~ " (implicitne je 56 riadkov textu, s -F 63)\n" #~ " -m, --merge vypíše súbory vedľa seba, každý v jednom stĺpci,\n" #~ " skracuje riadky, ale spolu s prepínačom -J ich " #~ "vypisuje celé\n" #~ " -n[ODDEĽ[ČÍSLIC]], --number-lines[=ODDEĽ[ČÍSLIC]]\n" #~ " čísluje riadky, vypisuje ČÍSLIC (5) číslic a potom " #~ "ODDEĽ\n" #~ " (TAB). Implicitne počítanie začína od jednotky prvým\n" #~ " vstupným riadkom\n" #~ " -N ČÍSLO, --first-line-number=ČÍSLO\n" #~ " začne počítanie číslom ČÍSLO prvého riadku prvej\n" #~ " vypisovanej strany (viď +PRVÁ_STRANA)\n" #~ " -o OKRAJ, --indent=OKRAJ\n" #~ " odsadzuje každý riadok s OKRAJ (nula) medzerami,\n" #~ " neovplyvní -w alebo -W, OKRAJ bude pridaný do " #~ "ŠÍRKA_STRÁNKY\n" #~ " -r, --no-file-warnings\n" #~ " potlačí varovanie, keď súbor nemôže byť otvorený\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ " -S[STRING], --sep-string[=STRING]\n" #~ " separate columns by an optional STRING, don't use\n" #~ " -S \"STRING\", -S only: No separator used (same as -S" #~ "\"\"),\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "-T implied by -l nn when nn <= 10 or <= 3 with -F. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ " -s[ZNAK], --separator[=ZNAK]\n" #~ " oddelí stĺpce jedným ZNAKom, štandardná hodnota pre " #~ "ZNAK\n" #~ " je znak bez -w a 'žiadny znak' s -w\n" #~ " -s[CHAR] vypína orezávanie riadkov vo všetkých troch\n" #~ " stĺpcových voľbách (-COLUMN|-a -COLUMN|-m), okrem " #~ "prípadu,\n" #~ " že je zapnuté -w\n" #~ " -S[REŤAZEC], --sep-string[=REŤAZEC]\n" #~ " oddeľuje stĺpce s voliteľným REŤAZCOM, nepoužívajte\n" #~ " -S \"REŤAZEC\", iba -S: nepoužitý žiadny oddeľovač " #~ "(rovnako\n" #~ " ako -S\"\", bez -S: štandardný oddeľovač s -J, " #~ "inak\n" #~ " (rovnako ako -S\" \"), žiadny efekt na " #~ "stĺpcové\n" #~ " voľby\n" #~ " -t, --omit-header nevypisuje hlavičky a pätičky stránok\n" #~ " -T, --omit-pagination\n" #~ " nevypisuje hlavičky a pätičky, odstráni stránkovanie\n" #~ " vstupného súboru (ignoruje znak novej stránky 'form " #~ "feed')\n" #~ " -v, --show-nonprinting\n" #~ " použije osmičkovú notáciu so spätným lomítkom\n" #~ " -w ŠÍRKA_STRÁNKY, --width=ŠÍRKA_STRANY\n" #~ " nastaví šírku strany na ŠÍRKA_STRANY (72) znakov,\n" #~ " iba pre viacstĺpcový výstup, -s[ZNAK] vypína (72)\n" #~ " -W ŠÍRKA_STRÁNKY, --page-width=ŠÍRKA_STRANY\n" #~ " nastaví šírku strany na ŠÍRKA_STRANY (72) znakov " #~ "vždy,\n" #~ " orezáva riadky, pokiaľ nie je špecifikovaná voľba -" #~ "J,\n" #~ " žiadne konflikty s -S alebo -s\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ "-T mlčky predopkladané voľbou -l nn, keď nn <= 10 alebo <= 3 s -F. So " #~ "žiadnym\n" #~ "SÚBOROM, alebo keď je SÚBOR rovný -, číta štandardný vstup.\n" #, fuzzy #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -C, --copyright display Copyright and copying " #~ "conditions\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ " Povinné argumenty dlhých prepínačov, sú tiež povinné aj pri " #~ "zodpovedajúcich\n" #~ "krátkych prepínačoch.\n" #~ "\n" #~ " -A, --auto-reference vo výstupe sú automaticky generované " #~ "odkazy\n" #~ " -C, --copyright vypíše autorské práva a podmeinky " #~ "kopírovania\n" #~ " -G, --traditional spôsobí chovanie ako System V `ptx'\n" #~ " -F, --flag-truncation=REŤAZEC použije REŤAZEC na určenie skracovania " #~ "riadkov\n" #~ " -M, --macro-name=REŤAZEC meno makra, ktoré sa má použiť namiesto " #~ "`xx'\n" #~ " -O, --format=roff generuje výstup pre program roff\n" #~ " -R, --right-side-refs vloží odkazy vpravo, nepočítané v -w\n" #~ " -S, --sentence-regexp=REGVÝR pre koniec riadkov a koniec viet\n" #~ " -T, --format=tex generuje výstup pre TeX\n" #~ " -W, --word-regexp=REGVÝR použije REGVÝR na určenie každého slova\n" #~ " -b, --break-file=SÚBOR znaky prerušujúce slovo v tomto SÚBORe\n" #~ " -f, --ignore-case prepísanie malých písmen na veľké pre " #~ "triedenie\n" #~ " -g, --gap-size=ČÍSLO veľkosť medzery v stĺpcoch medzi " #~ "výstupnými\n" #~ " položkami\n" #~ " -i, --ignore-file=SÚBOR prečíta slová, ktoré sa majú ignorovať\n" #~ " zo SÚBORu\n" #~ " -o, --only-file=SÚBOR prečítanie zoznamu slov iba zo SÚBORu\n" #~ " -r, --references prvná položka každého riadku je odkaz\n" #~ " -t, --typeset-mode - neimplementované -\n" #~ " -w, --width=ČÍSLO šírka výstupu v stĺpcoch, bez odkazov\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ "Pokiaľ nie je SÚBOR zadaný alebo je -, bude čítaný štandardný vstup. " #~ "Implicitné\n" #~ "prepínače: `-F /'\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check check whether input is sorted; do not sort\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS 2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ " -t, --field-separator=SEP use SEP instead of non- to whitespace " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c: check for strict ordering\n" #~ " otherwise: output only the first of an " #~ "equal run\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ " +POS1 [-POS2] start a key at POS1, end it before POS2 " #~ "(origin 0)\n" #~ " Warning: this option is obsolescent\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ "Ostatné voľby:\n" #~ "\n" #~ " -c, --check v prípade, že vstupné súbory sú už " #~ "zoradené,\n" #~ " netriedi ich\n" #~ " -k, --key=POZ1[,POZ2] kľúč začína od POZ1, končí na POZ2 (zač. " #~ "je 1)\n" #~ " -m, --merge spojí už zoradené súbory, netriedi ich\n" #~ " -o, --output=SÚBOR výsledok zapíše do SÚBORu namiesto na " #~ "štandardný\n" #~ " výstup\n" #~ " -s, --stable stabilizuje triedenie zakázaním konečného\n" #~ " triedenia rovnakých položiek\n" #~ " -S, --buffer-size=VEĽKOSŤ použi VEĽKOSŤ pre buffer v hlavnej pamäti\n" #~ " -t, --field-separator=ODDEĽ použije ODDEĽovač namiesto hranice\n" #~ " medzera/nemedzera\n" #~ " -T, --temporary-directory=ADRESÁR použije ADRESÁR na dočasné súbory,\n" #~ " nepoužíva $TMPDIR ani %s.\n" #~ " Viac volieb znamená viac adresárov.\n" #~ " -u s -c testuje striktné usporiadanie\n" #~ " inak vypíše iba prvú z rovnakých " #~ "postupností\n" #~ " -z vstupné riadky budú ukončené bytom 0 " #~ "namiesto\n" #~ " nového riadku\n" #~ " +POZ1 [-POZ2] začni kľúč na pozícii POZ1, ukonči pred " #~ "POZ2\n" #~ " (zač. 0). Pozor: táto voľba je zastaraná\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later -- useful only with -f\n" #~ " -c, --bytes=N output the last N bytes\n" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, each iteration lasts approximately S\n" #~ " (default 1) seconds\n" #~ " -v, --verbose always output headers giving file names\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ msgstr "" #~ " Vypíše na štandardný výstup, posledných %d riadkov každého SÚBORu. " #~ "Pokiaľ\n" #~ "bude zadaný viac ako jeden súbor, predchádza výpisu každého súboru jeho " #~ "názov.\n" #~ "Pokiaľ SÚBOR nebude zadaný alebo bude -, bude čítaný štandardný vstup.\n" #~ "\n" #~ " --retry skúša opakovane otvoriť súbor, pokiaľ je " #~ "nedostupný\n" #~ " v čase spustenia tail-u, prípadne pokiaľ sa " #~ "stane\n" #~ " nedostupným neskôr - užitočné iba s -f\n" #~ " -c, --bytes=N vypíše posledných N bytov\n" #~ " -f, --follow[={name|descriptor}]\n" #~ " vypisuje iba dáta pridávané do súboru\n" #~ " -f, --follow a --follow=descriptor sú " #~ "ekvivalenty\n" #~ " -n, --lines=N vypíše posledných N riadkov namiesto %d\n" #~ " --max-unchanged-stats=N\n" #~ " s --follow=name znovu otvorí SÚBOR, ktorý " #~ "nezmenil\n" #~ " veľkosť po N (implicitne %d) iteráciách, " #~ "aby\n" #~ " zistil, či nebol zmazaný alebo premenovaný\n" #~ " (čo je zvykom pri rotovaných log súboroch)\n" #~ " --pid=PID s -f skončí po tom, ako proces PID skončí\n" #~ " -q, --quiet, --silent nevypisuje názvy súborov\n" #~ " -s, --sleep-interval=S spolu s -f čaká približne S sekúnd medzi " #~ "výpismi\n" #~ " (implicitne 1)\n" #~ " -v, --verbose vždy vypisuje názvy súborov\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ msgid "" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b for 512, k for 1024, m for 1048576 (1 Meg). A first OPTION of -VALUE\n" #~ "or +VALUE is treated like -n VALUE or -n +VALUE unless VALUE has one of\n" #~ "the [bkm] suffix multipliers, in which case it is treated like -c VALUE\n" #~ "or -c +VALUE. Warning: a first option of +VALUE is obsolescent, and " #~ "support\n" #~ "for it will be withdrawn.\n" #~ "\n" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ "\n" #~ msgstr "" #~ " Pokiaľ prvný znak N (počet bytov alebo riadkov) je `+', výpis začína\n" #~ "od N-tého elementu od začiatku každého súboru. Inak sa vypisuje " #~ "posledných\n" #~ "N elementov súboru. N môže mať násobiacu príponu: b - 512, k - 1024 " #~ "alebo\n" #~ "m - 1048576 (1 Mega). Ak je prvý prepínač -HODNOTA alebo +HODNOTA, potom " #~ "je\n" #~ "bran ako -n HODNOTA alebo -n +HODNOTA, pokiaľ HODNOTA nemá násobiacu\n" #~ "príponu [bkm]. Pokiaľ ju má, potom je HODNOTA braná ako -c HODNOTA \n" #~ "alebo -c +HODNOTA. Varovanie: prvá možnosť +HODNOTA je zastaralá\n" #~ "a jej podpora bude odstránená.\n" #~ "\n" #~ "Pri použití --follow (-f) tail implicitne sleduje deskriptor súboru, t." #~ "j.\n" #~ "vypisuje ten istý súbor aj v prípade jeho premenovania. Toto správanie\n" #~ "sa nie je vhodné v prípade, pokiaľ skutočne chcete sledovať konkrétny\n" #~ "názov súboru a nie deskriptor súboru (napr. pri rotácii log súborov).\n" #~ "V takom prípade použite --follow=name - tail bude znovu otvárať daný\n" #~ "súbor, aby mohol zistiť jeho prípadné odstránenie a znovuvytvorenie\n" #~ "iným programom.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ "\n" #~ " MNOŽINY sú zadané ako reťazce znakov. Väčšina znakov reprezentuje ich " #~ "samých,\n" #~ "špeciálny význam majú tieto:\n" #~ "\n" #~ " \\NNN znak v hodnote NNN (zadané v osmičkovej sústave)\n" #~ " \\\\ spätné lomítko\n" #~ " \\a znak BEL (pípnutie)\n" #~ " \\b backspace - vymaže znak vľavo od kurzoru\n" #~ " \\f nová strana (form feed)\n" #~ " \\n nový riadok (line feed)\n" #~ " \\r návrat vozíku (return)\n" #~ " \\t horizontálny tabulátor\n" #~ " \\v vertikálny tabulátor\n" #~ " ZNAK1-ZNAK2 všetky znaky od ZNAKu1 po ZNAK2, vzostupne\n" #~ " [ZNAK1-ZNAK2] rovnakné ako ZNAK1-ZNAK2, ak je použité v oboch " #~ "množinách\n" #~ " [ZNAK*] v MNOŽINE2 kopíruje ZNAK toľkokrát, aby bola MNOŽINA2 " #~ "rovnako\n" #~ " dlhá ako MNOŽINA1\n" #~ " [ZNAK*KOĽKOKRÁT] KOĽKOKRÁT kópií ZNAKu, osmičkovo, keď začína číslicou " #~ "0\n" #~ " [:alnum:] všetky písmená a číslice\n" #~ " [:alpha:] všetky písmená\n" #~ " [:blank:] všetky horizontálne medzery\n" #~ " [:cntrl:] všetky riadiace znaky\n" #~ " [:digit:] všetky číslice\n" #~ " [:graph:] všetky tlačiteľné znaky bez medzier\n" #~ " [:lower:] všetky malé písmená\n" #~ " [:print:] všetky tlačiteľné znaky vrátane medzier\n" #~ " [:punct:] všetky interpunkčné znaky\n" #~ " [:space:] všetky horizontálne a vertikálne medzery\n" #~ " [:upper:] všetky veľké písmená\n" #~ " [:xdigit:] všetky šestnástkové číslice\n" #~ " [=ZNAK=] všetky znaky rovnocenné so ZNAKom\n" #, fuzzy #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate)}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -w, --check-chars=N compare no more than N characters in lines\n" #~ " -N same as -f N\n" #~ " +N same as -s N (obsolescent; will be withdrawn)\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ "\n" #~ "A field is a run of whitespace, then non-whitespace characters.\n" #~ "Fields are skipped before chars.\n" #~ msgstr "" #~ " Zo všetkých po sebe idúcich rovnakých vstupných riadkov, vypíše na " #~ "výstup\n" #~ "vždy iba jeden. Implicitne je ako VSTUP braný štandardný vstup a ako " #~ "VÝSTUP\n" #~ "štandardný výstup.\n" #~ "\n" #~ " -c, --count pred každý riadok vloží počet opakovania\n" #~ " -d, --repeated vypisuje iba opakujúce sa riadky\n" #~ " -D, --all-repeated vypisuje všetky opakujúce sa riadky\n" #~ " -f, --skip-fields=N neporovnáva prvých N položiek\n" #~ " -i, --ignore-case ignoruje rozdiel medzi malými a veľkými " #~ "písmenami\n" #~ " -s, --skip-chars=N neporovnáva prvých N znakov\n" #~ " -u, --unique vypisuje iba neopakujúce sa riadky\n" #~ " -w, --check-chars=N porovnává najviac N prvých znakov každého riadku\n" #~ " -N rovnaké ako -f N\n" #~ " +N rovnaké ako -s N (zastaralé, bude zrušené)\n" #~ " --help vypíše túto nápovedu a skončí\n" #~ " --version vypíše označenie verzie a skončí\n" #~ "\n" #~ " Položkou je chápaný neprázdny reťazec znakov, ktoré nie sú medzerami " #~ "alebo\n" #~ "tabulátormi. Položky sú oddelené medzerami a tabulátormi. Položky budú\n" #~ "preskočené pred znakmi.\n" dc3dd-7.1.614/po/boldquot.sed0000644000175000017500000000033111022023316015366 0ustar amedicoamedicos/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g s/“/“/g s/”/”/g s/‘/‘/g s/’/’/g dc3dd-7.1.614/po/bg.po0000644000175000017500000151237411233346647014033 0ustar amedicoamedico# translation of coreutils.bg.po to Bulgarian # Message catalog for coreutils # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Anton Zinoviev , 2003,2004,2005,2006. # # Thanks to Alexander Shopov for some bug reports. # # Look at the CHECK string. # # This file should be sent to translation@iro.umontreal.ca with the # following subject line: TP-Robot coreutils-6.5.bg.po msgid "" msgstr "" "Project-Id-Version: coreutils 6.5\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2006-11-23 22:41+0200\n" "Last-Translator: Anton Zinoviev \n" "Language-Team: Bulgarian \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin и David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "не може да се създаде каталог %s" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Използвайте „%s --help“ за повече информация.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Използване: %s [ОПЕРАНД]...\n" " или: %s ОПЦИЯ\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Копира файл, преобразуван и форматиран според посочените опции.\n" "\n" " bs=БАЙТОВЕ еквивалентно на „ibs=БАЙТОВЕ obs=БАЙТОВЕ“\n" " cbs=БАЙТОВЕ преобразува на парчета от по БАЙТОВЕ байта\n" " conv=КЛЮЧДУМИ преобразува файла съгласно списъка КЛЮЧДУМИ\n" " count=БЛОКОВЕ копира само БЛОКОВЕ входни блока\n" " ibs=БАЙТОВЕ чете на парчета от по БАЙТОВЕ байта\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=ФАЙЛ чете от ФАЙЛ вместо от стандартния вход\n" " iflag=ФЛАГ,... чете според посочените флагове\n" " obs=БАЙТОВЕ записва на парчета от по БАЙТОВЕ байта\n" " of=ФАЙЛ записва във ФАЙЛ, вместо на стандартния изход\n" " oflag=ФЛАГ,... записва според посочените флагове\n" " seek=БЛОКОВЕ пропуска БЛОКОВЕ изходни блока с размер obs всеки\n" " skip=БЛОКОВЕ пропуска БЛОКОВЕ входни блока с размер ibs всеки\n" " status=noxfer без статистика за трансфера\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "БЛОКОВЕ и БАЙТОВЕ могат да бъдат следвани от следните суфикси-множители:\n" "xM=M, c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024,\n" "GB=1000*1000*1000, G=1024*1024*1024 и аналогично за T, P, E, Z и Y.\n" "Всяка КЛЮЧДУМА може да бъде:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat да не се създава изходния файл\n" " excl да не действа, ако изходния файл вече съществува\n" " notrunc да не съкращава изходния файл\n" " ucase променя от малки в главни букви\n" " swab разменя всяка двойка входни байтове\n" " noerror продължава дори при възникване на грешка\n" " sync попълва всеки входен блок с нули до размера на входния блок; " "при\n" " използване с block или unblock попълва с интервали вместо с " "нули\n" " fdatasync записва физически изходните данни още преди пълното приключване\n" " fsync подобно, но освен това записва и метаданните\n" #: src/dc3dd.c:1174 #, fuzzy msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " nocreat да не се създава изходния файл\n" " excl да не действа, ако изходния файл вече съществува\n" " notrunc да не съкращава изходния файл\n" " ucase променя от малки в главни букви\n" " swab разменя всяка двойка входни байтове\n" " noerror продължава дори при възникване на грешка\n" " sync попълва всеки входен блок с нули до размера на входния блок; " "при\n" " използване с block или unblock попълва с интервали вместо с " "нули\n" " fdatasync записва физически изходните данни още преди пълното приключване\n" " fsync подобно, но освен това записва и метаданните\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Всеки знак за ФЛАГ може да бъде:\n" "\n" " append режим добавяне (смислено само за изхода, препоръчва се " "conv=notrunc)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" " direct да се използват директни входно/изходни операции за данните\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory отказва да работи, освен при каталог\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" " dsync да се използват синхронизирани входно/изходни операции за " "данните\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" " sync подобно, но също и за метаданните (напр. на файловата система)\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock да се използват неблокиращи входно/изходни операции\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime да не се обновява времето за достъп\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty да не се определя управляващ терминал от файл\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow да не се следват символните връзки\n" # TODO: наистина ли се имат предвид твърди връзки? #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks отказва да работи при множество твърди връзки\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" " binary да се използват двоични входно/изходни операции за данните\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" " text да се използват текстови входно/изходни операции за данните\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Изпращането на сигнал %s към към работещ процес „dd“ го кара да изведе\n" "на стандартната грешка статистика за броя прочетени и записани до\n" "момента блокове, след което копирането продължава.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 прочетени блока\n" " 18335302+0 записани блока\n" " изкопирани са 9387674624 байта (9.4 GB) за 34,6279 секунди с 271 MB/s\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Непозната системна грешка" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% прочетени блока\n" "%+% записани блока\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "изкопиран е % байт (%s)" msgstr[1] "изкопирани са % байта (%s)" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Безброй" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g s, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "затваряне на входния файл %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "затваряне на изходния файл %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Изчерпаха се суфиксите за изходни файлове" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "отваряне на %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" # Не е ясно къде се използва #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "НЕУСПЕШНО" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "непознат операнд %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "неправилна дата %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "неправилен формат за дата %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "неправилен формат за дата %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "неправилен формат за дата %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "неправилно посочено преобразуване: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "непознат входен флаг: %s" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "непознат изходен флаг: %s" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "непознат флаг за състояние: %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "недопустимо число %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "не може да се комбинират excl и nocreat" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "не може да се комбинират опциите -e и -i" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "не може да се комбинират опциите -e и -i" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "не може да се комбинират опциите -e и -i" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "не може да се комбинират опциите -e и -i" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "не може да се комбинират опциите -e и -i" # Това ме мързи да го превеждам. #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "чете се %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: неуспешно позициониране" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "препълване на отместването при четене на файла %s" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "внимание: съмнително отместване във файла след пропаднало четене" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "в крайна сметка не може да се компенсира грешката в ядрото" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "задействат се флаговете за %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "чете се каталогът %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "чете се каталогът %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "запис в %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "неуспешно извикване на fdatasync за %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "неуспешнен запис (fsync) за %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "стандартният вход" #: src/dc3dd.c:3938 msgid "standard output" msgstr "стандартният изход" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "твърде голямо отместване: не може да се отреже до дължината на seek=%" " (%lu-byte) блокове" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "не може да се получи режимът за достъп до %s" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "съкращаване до % байта в изходния файл %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii от EBCDIC към ASCII\n" #~ " ebcdic от ASCII към EBCDIC\n" #~ " ibm от ASCII към алтернативен EBCDIC\n" #~ " block попълва блоковете, завършващи с нов ред, с интервали до " #~ "размер cbs\n" #~ " unblock заменя крайните интервали във всеки блок с размер cbs с нови " #~ "редове\n" #~ " lcase променя от главни в малки букви\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% съкратен запис\n" #~ msgstr[1] "% съкратени записа\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "не може да се комбинират никои две от {ascii,ebcdic,ibm}" #~ msgid "cannot combine block and unblock" #~ msgstr "не може да се комбинират block и unblock" #~ msgid "cannot combine lcase and ucase" #~ msgstr "не може да се комбинират lcase и ucase" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "внимание: съмнително отместване във файла след пропаднало четене" #~ msgid "error writing %s" #~ msgstr "грешка при запис в %s" #~ msgid "invalid argument %s for %s" #~ msgstr "недопустим аргумент %s за %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "двусмислен аргумент %s за %s" #~ msgid "Valid arguments are:" #~ msgstr "Допустими аргументи са:" #, fuzzy #~ msgid "error closing file" #~ msgstr "затваряне на входния файл %s" #~ msgid "write error" #~ msgstr "грешка при запис" #~ msgid "preserving permissions for %s" #~ msgstr "режимът за достъп до %s е запазен" #~ msgid "cannot stat %s" #~ msgstr "не могат да се получат атрибутите на %s" #~ msgid "regular empty file" #~ msgstr "обикновен празен файл" #~ msgid "regular file" #~ msgstr "обикновен файл" #~ msgid "directory" #~ msgstr "каталог" #~ msgid "block special file" #~ msgstr "специален блоков файл" #~ msgid "character special file" #~ msgstr "специален символен файл" #~ msgid "fifo" #~ msgstr "именуван канал" #~ msgid "symbolic link" #~ msgstr "символна връзка" #~ msgid "socket" #~ msgstr "гнездо" #~ msgid "message queue" #~ msgstr "опашка със съобщения" #~ msgid "semaphore" #~ msgstr "семафор" #~ msgid "shared memory object" #~ msgstr "споделен обект в паметта" #~ msgid "typed memory object" #~ msgstr "типизиран обект в паметта" #~ msgid "weird file" #~ msgstr "непознат тип файл" #~ msgid "Address family for hostname not supported" #~ msgstr "Този тип адреси не се поддържа за името на хоста" #~ msgid "Temporary failure in name resolution" #~ msgstr "Временен проблем при намиране IP-адреса на хост" #~ msgid "Bad value for ai_flags" #~ msgstr "Неправилна стойност за ai_flags" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Окончателен неуспех при намиране IP-адреса на хост" #~ msgid "ai_family not supported" #~ msgstr "не се поддържа посочването на тип адреси (ai_family)" #~ msgid "Memory allocation failure" #~ msgstr "Неуспешно заделяне на памет" #~ msgid "No address associated with hostname" #~ msgstr "Няма IP-адрес с посоченото име на хост" #~ msgid "Name or service not known" #~ msgstr "Името или услугата са непознати" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "" #~ "Името на услугата не се поддържа за използваното тип гнездо (ai_socktype)" #~ msgid "ai_socktype not supported" #~ msgstr "не се поддържа посочването на тип гнездо (ai_socktype)" #~ msgid "System error" #~ msgstr "грешка в системата" #~ msgid "Processing request in progress" #~ msgstr "Заявката е в процес на изпълнение" #~ msgid "Request canceled" #~ msgstr "Заявката е отменена" #~ msgid "Request not canceled" #~ msgstr "Заявката не е отменена" #~ msgid "All requests done" #~ msgstr "Изпълнени са всички заявки" #~ msgid "Interrupted by a signal" #~ msgstr "Прекъснат със сигнал" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Неправилно кодиран низ на аргумент" #~ msgid "Unknown error" #~ msgstr "Непозната грешка" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: опцията „%s“ е двусмислена\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: опцията „--%s“ не допуска аргумент\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: опцията „%c%s“ не допуска аргумент\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: опцията „%s“ изисква аргумент\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: непозната опция „--%s“\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: непозната опция „%c%s“\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: неправилна опция -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: неправилна опция -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: опцията изисква аргумент -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: опцията „-W %s“ е двусмислена\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: опцията „-W %s“ не допуска аргумент\n" #~ msgid "cannot change permissions of %s" #~ msgstr "не може да се сменят правата за достъп до %s" #~ msgid "cannot create directory %s" #~ msgstr "не може да се създаде каталог %s" #~ msgid "memory exhausted" #~ msgstr "паметта е изчерпана" #~ msgid "unable to record current working directory" #~ msgstr "не може да се запомни текущият работен каталог" #~ msgid "failed to return to initial working directory" #~ msgstr "невъзможно връщане в първоначалния работен каталог" #~ msgid "`" #~ msgstr "„" #~ msgid "'" #~ msgstr "“" #~ msgid "%s: end of file" #~ msgstr "%s: край на файла" #~ msgid "Success" #~ msgstr "Успех" #~ msgid "No match" #~ msgstr "Няма съответствие" #~ msgid "Invalid regular expression" #~ msgstr "Неправилен регулярен израз" #~ msgid "Invalid collation character" #~ msgstr "Неправилен знак за съпоставяне" #~ msgid "Invalid character class name" #~ msgstr "Неправилно име на клас символи" #~ msgid "Trailing backslash" #~ msgstr "Завършваща обратно наклонена черта" #~ msgid "Invalid back reference" #~ msgstr "Неправилно обратно позоваване" #~ msgid "Unmatched [ or [^" #~ msgstr "Незатворена [ или [^" #~ msgid "Unmatched ( or \\(" #~ msgstr "Незатворена ( или \\(" #~ msgid "Unmatched \\{" #~ msgstr "Незатворена \\{" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Неправилно съдържание на \\{\\}" #~ msgid "Invalid range end" #~ msgstr "Неправилен край на диапазон" #~ msgid "Memory exhausted" #~ msgstr "Паметта е изчерпана" #~ msgid "Invalid preceding regular expression" #~ msgstr "Неправилен предхождащ регулярен израз" #~ msgid "Premature end of regular expression" #~ msgstr "Неочакван край на регулярен израз" #~ msgid "Regular expression too big" #~ msgstr "Регулярният израз е твърде голям" #~ msgid "Unmatched ) or \\)" #~ msgstr "Неотворена ) или \\)" #~ msgid "No previous regular expression" #~ msgstr "Няма предходен регулярен израз" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "опасно е да се работи рекурсивно върху %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "опасно е да се работи рекурсивно върху %s, т.е. върху %s" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "ползвайте --no-preserve-root, за да отмените тази предпазна мярка" # Клавишът О (латинско) генерира "Д" според подредбата по БДС #~ msgid "^[yY]" #~ msgstr "^[дДoOyY]" # Клавишът K (латинско) генерира "Н" според подредбата по БДС #~ msgid "^[nN]" #~ msgstr "^[нНkKnN]" #~ msgid "setting permissions for %s" #~ msgstr "установява се режимът за достъп до %s" #~ msgid "iconv function not usable" #~ msgstr "функцията iconv не е използваема" #~ msgid "iconv function not available" #~ msgstr "функцията iconv е недостъпна" #~ msgid "character out of range" #~ msgstr "знак извън диапазона" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "не може да се конвертира U+%04X в локалното кодиране" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "не може да се конвертира U+%04X в локалното кодиране: %s" #~ msgid "invalid user" #~ msgstr "несъществуващ потребител" #~ msgid "invalid group" #~ msgstr "несъществуваща група" #~ msgid "invalid spec" #~ msgstr "неправилна спецификация" #~ msgid "(C)" #~ msgstr "©" #~ msgid "Written by %s.\n" #~ msgstr "Написан от %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Написан от %s и %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Написан от %s, %s и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Написан от %s, %s, %s\n" #~ "и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Написан от %s, %s, %s,\n" #~ "%s и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Написан от %s, %s, %s,\n" #~ "%s, %s и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Написан от %s, %s, %s,\n" #~ "%s, %s, %s и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Написан от %s, %s, %s,\n" #~ "%s, %s, %s, %s\n" #~ "и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Написан от %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s и %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Написан от %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s и други.\n" #~ msgid "invalid argument: %s" #~ msgstr "неправилен аргумент: %s" #~ msgid "string comparison failed" #~ msgstr "сравнението на низове не успя" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Използвайте LC_ALL='C', за да заобиколите този проблем." #~ msgid "The strings compared were %s and %s." #~ msgstr "Сравняваните низове бяха %s и %s." #~ msgid "string transformation failed" #~ msgstr "неуспешно преобразуване на низ" #~ msgid "The untransformed string was %s." #~ msgstr "Непреобразуваният низ беше %s." #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "неправилен аргумент „%s“" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "неправилен аргумент „%s“" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: броят „%.*s“ е твърде голям" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ] [ФАЙЛ]\n" #~ "Кодира/декодира с основа 64 от ФАЙЛ или стандартния вход към стандартния " #~ "изход\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=ШИРИНА Пренася кодираните редове след ШИРИНА знаци " #~ "(подразбира\n" #~ " се 76). Използвайте 0, за да забраните " #~ "пренасянето.\n" #~ "\n" #~ " -d, --decode Декодира данните.\n" #~ " -i, --ignore-garbage При декодиране пренебрегва небуквените знаци.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Извежда тази справка и завършва.\n" #~ " --version Извежда информация за версията и завършва.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Ако няма ФАЙЛ или ако ФАЙЛ е -, се чете от стандартния вход.\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Данните се кодират по основа 64, както това е описано в RFC 3548.\n" #~ "Декодирането изисква правилни входни данни, ползвайте --ignore-garbage,\n" #~ "за да се опита да се преодолеят небуквените знаци (например знаци за нов " #~ "ред)\n" #~ "във входния поток.\n" #~ msgid "read error" #~ msgstr "грешка при четене" #~ msgid "invalid input" #~ msgstr "недопустим вход" #~ msgid "invalid wrap size: %s" #~ msgstr "неправилен размер за пренасяне: %s" #~ msgid "extra operand %s" #~ msgstr "излишен операнд „%s“" #~ msgid "closing standard input" #~ msgstr "затваряне на стандартния вход" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s ИМЕ [РАЗШИРЕНИЕ]\n" #~ " или: %s ОПЦИЯ\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Отстранява от ИМЕ каталозите в началото и го отпечатва.\n" #~ "Ако е посочено, изтрива също и РАЗШИРЕНИЕ-то в края.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Примери:\n" #~ " %s /usr/bin/sort извежда „sort“.\n" #~ " %s include/stdio.h .h извежда „stdio“.\n" #~ msgid "missing operand" #~ msgstr "липсващ операнд" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjorn Granlund и Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Използване: %s [ОПЦИЯ] [ФАЙЛ]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Съединява ФАЙЛ(овете) или стандартния вход и ги изпраща на стандартния " #~ "изход.\n" #~ "\n" #~ " -A, --show-all еквивалентно на -vET\n" #~ " -b, --number-nonblank брой непразни редове на изхода\n" #~ " -e еквивалентно на -vE\n" #~ " -E, --show-ends поставя $ в края на всеки ред\n" #~ " -n, --number номерира изведените редове\n" #~ " -s, --squeeze-blank никога последователност от повече от един " #~ "празен ред\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t еквивалентно на -vT\n" #~ " -T, --show-tabs изобразява табулациите като ^I\n" #~ " -u (пренебрегва се)\n" #~ " -v, --show-nonprinting ползва запис с ^ и M-, освен за нов ред и " #~ "табулация\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Примери:\n" #~ " %s f - g Извежда съдържанието на f, после стандартния изход и g\n" #~ " %s Копира стандартния вход на стандартния изход.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "не може да се изпълни ioctl за „%s“" #~ msgid "%s: input file is output file" #~ msgstr "%s: входният файл е изходен файл" #, fuzzy #~ msgid "Jim Meyering" #~ msgstr "Jim Meyering и Paul Eggert" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "промяната на собственика на %s не успя\n" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "не могат да се получат атрибутите на %s" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "собственик на %s не можа да се промени на %s\n" #~ msgid "cannot access %s" #~ msgstr "няма достъп до %s" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "каталогът %s не може да се чете" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "променят се правата за достъп до %s" #~ msgid "fts_read failed" #~ msgstr "неуспешен fts_read" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... СОБСТВЕНИК[:[ГРУПА]] ФАЙЛ...\n" #~ " или: %s [ОПЦИЯ]... :ГРУПА ФАЙЛ...\n" #~ " или: %s [ОПЦИЯ]... --reference=ЕТФАЙЛ ФАЙЛ...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Прави ГРУПА да бъде групата на всеки ФАЙЛ.\n" #~ "При --reference прави групата на всеки ФАЙЛ да бъде същата като тази на " #~ "ЕТФАЙЛ.\n" #~ "\n" #~ " -c, --changes подобно на verbose, но съобщава само при " #~ "промени\n" #~ " --dereference действа върху файловете, сочени от символни " #~ "връзки\n" #~ " (по подразбиране), вместо върху самите символни " #~ "връзки\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet потиска повечето съобщения за грешки\n" #~ " --reference=ЕТФАЙЛ ползва групата на ЕТФАЙЛ вместо посочена ГРУПА\n" #~ " -R, --recursive действа рекурсивно върху файловете и каталозите\n" #~ " -v, --verbose извежда диагностично съобщение за всеки " #~ "обработен файл\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Следните опции влияят на обхождането на йерархията, когато е посочена\n" #~ "също и опция -R. Ако е зададена повече от една тях, взема се пред вид\n" #~ "само последната зададена.\n" #~ "\n" #~ "\n" #~ " -H ако аргумент от командния ред е символна връзка\n" #~ " към каталог, да се обходи и той\n" #~ " -L да се обхожда всеки каталог, сочен от срещната\n" #~ " символна връзка\n" #~ " -P да не се обхождат символните връзки (по " #~ "подразбиране)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "-R --dereference изисква -H или -L" #~ msgid "-R -h requires -P" #~ msgstr "-R -h изисква -P" #~ msgid "missing operand after %s" #~ msgstr "липсващ операнд след %s" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "неправилен режим за достъп %s" #~ msgid "failed to get attributes of %s" #~ msgstr "не могат да се получат атрибутите на %s" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "неправилна група %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... ГРУПА ФАЙЛ...\n" #~ " или: %s [ОПЦИЯ]... --reference=ЕТФАЙЛ ФАЙЛ...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Прави ГРУПА да бъде групата на всеки ФАЙЛ.\n" #~ "При --reference прави групата на всеки ФАЙЛ да бъде същата като тази на " #~ "ЕТФАЙЛ.\n" #~ "\n" #~ " -c, --changes подобно на verbose, но съобщава само при " #~ "промени\n" #~ " --dereference действа върху файловете, сочени от символни " #~ "връзки\n" #~ " (по подразбиране), вместо върху самите символни " #~ "връзки\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference действа върху символните връзки, вместо върху " #~ "сочените\n" #~ " файлове (само при системи, позволяващи промяна " #~ "на\n" #~ " собствеността на символна връзка)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root да не се обработва „/“ по-особено (по " #~ "подразбиране)\n" #~ " --preserve-root да не се действа рекурсивно от „/“\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet потиска повечето съобщения за грешки\n" #~ " --reference=ЕТФАЙЛ ползва групата на ЕТФАЙЛ вместо посочена ГРУПА\n" #~ " -R, --recursive действа рекурсивно върху файловете и каталозите\n" #~ " -v, --verbose извежда диагностично съобщение за всеки " #~ "обработен файл\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Примери:\n" #~ " %s staff /u прави групата на /u да бъде „staff“.\n" #~ " %s -hR staff /u прави групата на /u и файловете в /u да бъде „staff“.\n" #~ msgid "getting new attributes of %s" #~ msgstr "получават се новите атрибути на %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "нито символната връзка %s, нито соченият файл бяха променени\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "режимът за достъп до %s е променен на %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "режимът за достъп до %s не може да се смени на %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "режимът за достъп до %s е запазен на %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "не може да се създаде символна връзка %s" #~ msgid "changing permissions of %s" #~ msgstr "променят се правата за достъп до %s" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: новият режим за достъп е %s, а не %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... РЕЖИМ[,РЕЖИМ]... ФАЙЛ...\n" #~ " или: %s [ОПЦИЯ]... ОСМИЧЕН-РЕЖИМ ФАЙЛ...\n" #~ " или: %s [ОПЦИЯ]... --reference=ЕТФАЙЛ ФАЙЛ...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Режимът за достъп до всеки ФАЙЛ става РЕЖИМ.\n" #~ "\n" #~ " -c, --changes като verbose, но съобщава само за направени " #~ "промени\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root да не се обработва „/“ по-особено (по " #~ "подразбиране)\n" #~ " --preserve-root да не се действа рекурсивно от „/“\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet потиска повечето съобщения за грешки\n" #~ " -v, --verbose извежда диагностично съобщение за всеки " #~ "обработен файл\n" #~ " --reference=ЕТФАЙЛ ползва режимa за достъп до ЕТФАЙЛ вместо РЕЖИМ\n" #~ " -R, --recursive действа рекурсивно върху файловете и " #~ "каталозите\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Всеки РЕЖИМ е от вида „[ugoa]*([-+=]([rwxXst]*|[ugo]))+“.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "не може да се комбинират опциите за режим и --reference" #~ msgid "invalid mode: %s" #~ msgstr "неправилен режим за достъп %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "собственик на %s става %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "група на %s става %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "без промяна на собственика на %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "собственик на %s не можа да се промени на %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "групата на %s не можа да се промени на %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "промяната на собственика на %s не успя\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "собственик на %s остана %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "групата на %s остана %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "собственик на %s остана непроменен\n" #~ msgid "cannot dereference %s" #~ msgstr "символната връзка %s не може да бъде последвана" #~ msgid "changing ownership of %s" #~ msgstr "променя се собствеността на %s" #~ msgid "changing group of %s" #~ msgstr "променя се групата на %s" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... [СОБСТВЕНИК][:[ГРУПА]] ФАЙЛ...\n" #~ " или: %s [ОПЦИЯ]... --reference=ЕТФАЙЛ ФАЙЛ...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Собственик и/или група на всеки ФАЙЛ стават СОБСТВЕНИК и/или ГРУПА.\n" #~ "При --reference прави собственика и групата на ФАЙЛ да са същите като на " #~ "ЕТФАЙЛ.\n" #~ "\n" #~ " -c, --changes като verbose, но съобщава само за направени " #~ "промени\n" #~ " --dereference действа върху файла, сочен от символните връзки\n" #~ " (по подразбиране), вместо върху самата символна " #~ "връзка\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=ТЕКУЩ_СОБСТВЕНИК:ТЕКУЩА_ГРУПА\n" #~ " собственикът и/или групата на всеки файл се " #~ "променя\n" #~ " само ако текущият му собственик и/или група " #~ "отговарят\n" #~ " на посочените. Всяко от двете може да се " #~ "изпусне, при\n" #~ " което съответствие с пропуснатия атрибут не е " #~ "нужно.\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet потиска повечето съобщения за грешка\n" #~ " --reference=ЕТФАЙЛ да се ползват собственикът и групата на ЕТФАЙЛ " #~ "вместо\n" #~ " посочени стойности СОБСТВЕНИК:ГРУПА\n" #~ " -R, --recursive действа върху файловете и каталозите рекурсивно\n" #~ " -v, --verbose извежда диагностично съобщение за всеки " #~ "обработен файл\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Ако собственик не е посочен, той остава непроменен. Ако група не е\n" #~ "посочена, тя остава непроменена, освен ако има „:“, в който случай се " #~ "използва\n" #~ "входящата група на новия собственик. СОБСТВЕНИК и ГРУПА могат да бъдат\n" #~ "както номера, така и имена.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Примери:\n" #~ " %s root /u прави собственика на /u да бъде „root“.\n" #~ " %s root:staff /u подобно, но променя и групата на „staff“.\n" #~ " %s -hR root /u прави собственика на /u и файловете в /u да е „root“.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s НОВКОРЕНОВ [КОМАНДА...]\n" #~ " или: %s ОПЦИЯ\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Изпълнява КОМАНДА с коренов каталог НОВКОРЕНОВ.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Ако не е посочена команда, изпълнява „${SHELL} -i“ (по подразбиране: /bin/" #~ "sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "кореновият каталог не може да се смени на %s" #~ msgid "cannot chdir to root directory" #~ msgstr "с chdir не може да се влиза в главния каталог" #~ msgid "cannot run command %s" #~ msgstr "неуспешно изпълнение на командата %s" #~ msgid "%s: file too long" #~ msgstr "%s: файлът е твърде дълъг" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Използване: %s [ФАЙЛ]...\n" #~ " или: %s [ОПЦИЯ]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Отпечатва контролна сума CRC и броя байтове на всеки ФАЙЛ.\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman и David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Използване: %s [ОПЦИЯ]... ФАЙЛ1 ФАЙЛ2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "Сравнява сортираните файлове ФАЙЛ1 и ФАЙЛ2 ред по ред.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Без опции извежда информацията в триколонен формат. Първият стълб " #~ "съдържа\n" #~ "редовете, които са само във ФАЙЛ1. Вторият стълб съдържа редовете, " #~ "които\n" #~ "са само във ФАЙЛ2. Третият стълб съдържа редовете, общи и за двата " #~ "файла.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 не извежда редовете, които са само във ФАЙЛ1\n" #~ " -2 не извежда редовете, които са само във ФАЙЛ2\n" #~ " -3 не извежда редовете, които се появяват и в двата файла\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "установява се режимът за достъп до %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "собствеността на %s не можа да се запази" #~ msgid "failed to lookup file %s" #~ msgstr "не може да се търси файла %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "не можа да се запази авторството на %s" #~ msgid "cannot open %s for reading" #~ msgstr "не може да се отвори %s за четене" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "файлът %s се пропуска, тъй като бе заместен по време на копирането" #, fuzzy #~ msgid "failed to get file system create context" #~ msgstr "не успешно затваряне на стандартната грешка" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "групата на %s не можа да се промени на %s\n" #~ msgid "cannot remove %s" #~ msgstr "не може да се изтрие %s" #~ msgid "removed %s\n" #~ msgstr "%s е изтрит\n" #~ msgid "cannot create regular file %s" #~ msgstr "не може да се създаде обикновен файл %s" #~ msgid "cannot lseek %s" #~ msgstr "не може да се обработи непоследователно %s" #~ msgid "writing %s" #~ msgstr "записва се %s" #~ msgid "preserving times for %s" #~ msgstr "времената за %s се запазват" #~ msgid "closing %s" #~ msgstr "затваря се %s" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: да се замести ли %s (режимът за достъп е %04lo)? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: да се замести ли %s? " #~ msgid " (backup: %s)" #~ msgstr " (резервно копие: %s)" #~ msgid "omitting directory %s" #~ msgstr "каталогът %s се пропуска" #~ msgid "warning: source file %s specified more than once" #~ msgstr "внимание: изходния файл %s е посочен повече от веднъж" #~ msgid "%s and %s are the same file" #~ msgstr "%s и %s са един и същ файл" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "%s не е каталог и не може да се замести с каталога %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "току що създаденият %s няма да бъде заместен с %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "каталогът %s не може да се замести с файл, който не е каталог" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "" #~ "каталог не може да се премести върху файл, който не е каталог: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "" #~ "резервното копиране на %s би разрушило източника; %s не бе преместен" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "резервното копиране на %s би разрушило източника; %s не бе копиран" #~ msgid "cannot backup %s" #~ msgstr "не може да се направи резервно копие на %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "току що създаденият %s няма да бъде заместен с %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "не може да се копира каталог (%s) в самия себе си (%s)" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "няма да се направи твърда връзка %s към каталога %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "не може да се направи твърда връзка %s към %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "не може да се премести %s в своя подкаталог %s" #~ msgid "cannot move %s to %s" #~ msgstr "не може да се премести %s в %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "преместването между устройства не успя (от %s в %s); целевият файл не " #~ "можа да се изтрие" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "не могат да се получат атрибутите на %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "не може да се копира цикличната символна връзка %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: относителни символни връзки може да се правят само в текущия каталог" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "не може да се създаде символна връзка %s към %s" #~ msgid "cannot create link %s" #~ msgstr "не може да се създаде връзка %s" #~ msgid "cannot create fifo %s" #~ msgstr "не може да се създаде именуван канал %s" #~ msgid "cannot create special file %s" #~ msgstr "не може да се създаде специален файл %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "не може да се чете символната връзка %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "не може да се създаде символна връзка %s" #~ msgid "%s has unknown file type" #~ msgstr "%s има непознат файлов тип" #~ msgid "cannot un-backup %s" #~ msgstr "не може да се възстанови от резервно копие %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (от резервно копие)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... [-T] ИЗТОЧНИК ЦЕЛ\n" #~ " или: %s [ОПЦИЯ]... ИЗТОЧНИК... КАТАЛОГ\n" #~ " или: %s [ОПЦИЯ]... -t КАТАЛОГ ИЗТОЧНИК...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Копира ИЗТОЧНИК в ЦЕЛ или много ИЗТОЧНИЦ(и) в КАТАЛОГ.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Аргументите, задължителни за дългите опции, са задължителни и за късите.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive също като -dpPR\n" #~ " --backup[=МЕТОД] резервно копира съществуващите целеви " #~ "файлове\n" #~ " -b като --backup, но не може да получава " #~ "аргумент\n" #~ " --copy-contents копира съдържанието на спец. файлове при " #~ "рекурс.\n" #~ " -d като --no-dereference --preserve=link\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force ако съществуващ целеви файл не може да " #~ "бъде\n" #~ " отворен, да се изтрие и да се опита " #~ "отново\n" #~ " -i, --interactive да се пита преди заместване\n" #~ " -H копира файла от символна връзка на " #~ "командния ред\n" #, fuzzy #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link не копира, а прави връзки (твърди)\n" #~ " -L, --dereference винаги проследява символните връзки\n" #, fuzzy #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr " -P, --no-dereference не проследява символните връзки\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p също като --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=СПИС_АТРИБ] да се запазват посочените атрибути " #~ "(подразбиране:\n" #~ " mode,ownership,timestamps), а при " #~ "възможност и\n" #~ " следните допълнителни атрибути: links, " #~ "all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=СПИС_АТРИБ да не се запазват посочените атрибути\n" #~ " --parents допълва КАТАЛОГ с пътеката в ИЗТОЧНИК\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive копира каталозите рекурсивно\n" #~ " --remove-destination премахва всеки съществуващ целеви файл " #~ "преди\n" #~ " да се опитва отваряне (сравнете с --" #~ "force)\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=КОГА регулира създаването на разредени файлове\n" #~ " --strip-trailing-slashes премахва крайните „/“ от всеки аргумент " #~ "ИЗТОЧНИК\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link правене на символни връзки, а не копиране\n" #~ " -S, --suffix=СУФИКС вместо обичайния префикс за резервни " #~ "копия\n" #~ " --target-directory=КАТАЛОГ копира всички аргументи ИЗТОЧНИК в " #~ "КАТАЛОГ\n" #~ " -T, --no-target-directory работи с ЦЕЛ като с нормален файл\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update копира само, ако ИЗТОЧНИК е по-нов от " #~ "целевия\n" #~ " файл или ако целевият файл липсва\n" #~ " -v, --verbose съобщава какво се прави\n" #~ " -x, --one-file-system остава в текущата файлова система\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "По подразбиране се приема --sparse=auto, при което чрез груба евристика " #~ "се\n" #~ "разпознава кои файлове ИЗТОЧНИК са разредени и целевите файлове също се " #~ "правят\n" #~ "такива. При --sparse=always целевите файлове се правят разредени, винаги " #~ "когато\n" #~ "файловете ИЗТОЧНИК съдържат достатъчно дълга последователност от нули.\n" #~ "Ползвайте --sparse=never, за да забраните създаването на разредени " #~ "файлове.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Суфиксът за резервни копия е „~“, освен при промяна с --suffix или с " #~ "променлива\n" #~ "от обкръжението SIMPLE_BACKUP_SUFFIX. Методът за управление на версиите " #~ "може да\n" #~ "се посочва с --backup или с променливата VERSION_CONTROL. Ето " #~ "стойностите:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off никога да не се правят резервни копия (освен при --" #~ "backup)\n" #~ " numbered, t да се правят номерирани резервни копия\n" #~ " existing, nil номерирани, ако вече са правени номерирани, а прости " #~ "иначе\n" #~ " simple, never винаги да се правят прости резервни копия\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "По изключение ако са зададени опции --force и --backup, а ИЗТОЧНИК и ЦЕЛ " #~ "са едно\n" #~ "и също име на съществуващ обикновен файл, cp прави резервно копие на " #~ "ИЗТОЧНИК.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "времената на %s не можаха да се запазят" #~ msgid "failed to preserve permissions for %s" #~ msgstr "правата за достъп до %s не можаха да се запазят" #~ msgid "cannot make directory %s" #~ msgstr "не може да се направи каталог %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s съществува, но не е каталог" #~ msgid "accessing %s" #~ msgstr "достъп до %s" #~ msgid "missing file operand" #~ msgstr "липсващ файлов операнд" #~ msgid "missing destination file operand after %s" #~ msgstr "липсващ операнд за целеви файл след %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Не може да се комбинират --target-directory (-t) и --no-target-directory " #~ "(-T)" #~ msgid "target %s is not a directory" #~ msgstr "целта %s не е каталог" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "с --parents целта трябва да бъде каталог" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "опцията --reply е остаряла; ползвайте -i или -f вместо нея" #~ msgid "multiple target directories specified" #~ msgstr "посочени са много целеви каталози" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "не може едновременно да се правят твърди и символни връзки" #~ msgid "backup type" #~ msgstr "тип резервни копия" #~ msgid "input disappeared" #~ msgstr "входът изчезна" #~ msgid "%s: line number out of range" #~ msgstr "%s: номерът на ред е извън диапазона" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: номерът на ред е извън диапазона" # Не е ясно за какво служи това. #~ msgid " on repetition %s\n" #~ msgstr " при повтаряне %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: не е открито съответствие" #~ msgid "error in regular expression search" #~ msgstr "грешка при търсене на регулярен израз" #~ msgid "write error for %s" #~ msgstr "грешка при запис за %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: след разделител се очаква цяло число" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: при означаване брой повторения е необходим „}“" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: между „{“ и „}“ е необходимо цяло число" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: липсва затварящ ограничител „%c“" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: неправилен регулярен израз: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: неправилен образец" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: номерът на ред трябва да бъде положителен" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "номерът на ред %s е по-малък от предходния номер - %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "внимание: номерът на ред %s съвпада с предходния номер на ред" #~ msgid "invalid format width" #~ msgstr "неправилна ширина на формат" #~ msgid "invalid format precision" #~ msgstr "неправилна точност на формат" #~ msgid "missing conversion specifier in suffix" #~ msgstr "в суфикса липсва означител за преобразуване" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "неправилен означител за преобразуване в суфикса: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "неправилен означител за преобразуване в суфикса: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "твърде много означители за преобразуване %% в суфикса" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "липсва означител %% за преобразуване в суфикса" #~ msgid "%s: invalid number" #~ msgstr "%s: недопустимо число" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Използване: %s [ОПЦИЯ]... ФАЙЛ ОБРАЗЕЦ...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Отделя частите на ФАЙЛ, разделени от ОБРАЗЕЦ(и) и ги записва във файлове\n" #~ "“xx01“, „xx02“,... Дължината им в байтове се извежда на стандартния " #~ "изход.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=ФОРМАТ да се ползва sprintf-ФОРМАТ вместо %02d\n" #~ " -f, --prefix=ПРЕФИКС да се ползва ПРЕФИКС вместо „xx“\n" #~ " -k, --keep-files да не се изтриват създадените файлове при " #~ "грешка\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=ЦИФРИ да се използва посоченият брой цифри вместо " #~ "2\n" #~ " -s, --quiet, --silent да не се извеждат размерите на генерираните " #~ "файлове\n" #~ " -z, --elide-empty-files да се изтриват генерираните празни файлове\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Ако ФАЙЛ е -, се чете от стандартния вход. Всеки ОБРАЗЕЦ може да бъде:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " ЦЯЛО_ЧИСЛО копира до посочения номер на ред, без да го включва\n" #~ " /РЕГИЗРАЗ/[ОТМЕСТ] копира до отговарящ ред, но без да го включва\n" #~ " %РЕГИЗРАЗ%[ОТМЕСТ] пропуска до отговарящ ред, но без да го включва\n" #~ " {ЦЯЛО_ЧИСЛО} повтаря предходния образец посочения брой пъти\n" #~ " {*} повтаря предходния образец колкото пъти е възможно\n" #~ "\n" #~ "ОТМЕСТ мери брой редове и е положително число, предхождано от „+“ или " #~ "„-“.\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ФАЙЛ]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Отпечатва избраните части от редовете на всеки ФАЙЛ на стандартния " #~ "изход.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=СПИСЪК извежда само тези байтове\n" #~ " -c, --characters=СПИСЪК извежда само тези знаци\n" #~ " -d, --delimiter=РАЗДЕЛ РАЗДЕЛ вместо табулация като разделител между " #~ "полетата\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=СПИС извежда само тези полета; отпечатва и всеки " #~ "ред,\n" #~ " който не съдържа разделители между полетата, " #~ "освен\n" #~ " ако е посочена и опцията -s.\n" #~ " -n (пренебрегва се)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement извежда допълнението на съвкупността от " #~ "избрани\n" #~ " байтове, знаци или полета.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited да не се отпечатват редове, несъдържащи " #~ "разделители\n" #~ " --output-delimiter=НИЗ да се ползва НИЗ като разделител на изхода\n" #~ " по подразбиране се използва входният " #~ "разделител\n" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Използвайте точно една от опциите -b, -c и -f. Всеки СПИС се състои\n" #~ "от един или повече диапазона, разделени със запетаи. Редовете се\n" #~ "извеждат в същия ред, в който са били прочетени, и при това точно\n" #~ "по веднъж. Всеки диапазон е едно от следните:\n" #~ "\n" #~ " n n-тият байт, знак или поле, броейки от 1\n" #~ " n- от n-тия байт, знак или поле до края на реда\n" #~ " n-m от n-тия до m-тия (включително) байт, знак или поле\n" #~ " -n от първия до m-тия (включително) байт, знак или поле\n" #~ "\n" #~ "Без ФАЙЛ или ако ФАЙЛ е - се чете от стандартния вход.\n" #~ msgid "invalid byte or field list" #~ msgstr "неправилен списък байтове или полета" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "неправилна опция за ширина: %s" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "неправилен входен диапазон: %s" #~ msgid "byte offset %s is too large" #~ msgstr "байтовото отместване %s е твърде дълго" #~ msgid "field number %s is too large" #~ msgstr "номерът на поле %s е твърде голям" #~ msgid "only one type of list may be specified" #~ msgstr "трябва да се посочи само един вид списък" #~ msgid "the delimiter must be a single character" #~ msgstr "разделителят трябва да се състои от един знак" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "трябва да посочите списък байтове, знаци или полета" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "входен разделител може да се посочва само ако се работи с полета" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "потискането на редове, несъдържащи разделител, има смисъл\n" #~ "\tсамо ако се работи с полета" #~ msgid "missing list of fields" #~ msgstr "липсва списък полета" #~ msgid "missing list of positions" #~ msgstr "липсва списък позиции" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... [+ФОРМАТ]\n" #~ " или: %s [-u|--utc|--universal] [ММДДччмм[[ГГ]ГГ][.сс]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Извежда текущото време в посочения ФОРМАТ или установява датата на " #~ "системата.\n" #~ "\n" #~ " -d, --date=НИЗ извежда времето, посочено от НИЗ, вместо " #~ "„now“\n" #~ " -f, --file=ФАЙЛДАТИ като --date по веднъж за всеки ред от " #~ "ФАЙЛДАТИ\n" #, fuzzy #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " -r, --reference=ФАЙЛ извежда времето на последна промяна на ФАЙЛ\n" #~ " -R, --rfc-2822 извежда датов низ според RFC-2822\n" #~ " --rfc-3339=ТОЧНОСТ извежда датата и времето във формат RFC " #~ "3339.\n" #~ " ТОЧНОСТ може да бъде `date' (само датата), " #~ "`seconds'\n" #~ " (до секунди) или `ns' (наносекунди)\n" #~ " -s, --set=НИЗ настройва системното време да бъде посоченото " #~ "в НИЗ\n" #~ " -u, --utc, --universal отпечатва или настройва гринуичко време\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "ФОРМАТ управлява изхода. Единствената допустима опция за втората форма е " #~ "да се\n" #~ "посочи използването на гринуичко време. Разпознавани редици във ФОРМАТ " #~ "са:\n" #~ "\n" #~ " %% знакът %\n" #~ " %a съкратено наименование на деня от седмицата според локала (пн,вт," #~ "ср,...)\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A деня от седмицата според локала, променлива дължина (напр. " #~ "понеделник)\n" #~ " %b съкратено име на месеца според локала (яну, фев, мар)\n" #~ " %B име на месеца според локала, променлива дължина (напр. януари)\n" #~ " %c датата и часът според локала (например сб ное 4 12:02:33 EЕТ " #~ "1989)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C векът, т.е. като %Y, но без последните две цифри (напр. 21)\n" #~ " %d денят от месеца (01, 02, ..., 31)\n" #~ " %D датата; същото като %m/%d/%y\n" #~ " %e денят от месеца с пълнеж от интервал; същото като %_d (напр. " #~ "„ 1“)\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F пълната дата; същото като %Y-%m-%d\n" #~ " %g последните две цифри на годината, съдържаща седмицата с номер %V\n" #~ " %G годината, съдържаща седмицата с номер %V\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h също като %b\n" #~ " %H часът (00-23)\n" #~ " %I часът (01-12)\n" #~ " %j поредният ден в годината (001-366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k часът ( 0-23)\n" #~ " %l часът ( 1-12)\n" #~ " %m месецът (01-12)\n" #~ " %M минутата (00-59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n нов ред\n" #~ " %N наносекунди (000000000-999999999)\n" #~ " %p указателят AM или PM с главни букви (празен в българския локал)\n" #~ " %P като %p, но с малки букви\n" #~ " %r 12 часово време според локала (напр. 11,11,04)\n" #~ " %R 24 часово време, същото като %H:%M\n" #~ " %s секундите изминали от 1 януари 1970, 00:00:00 по гринуич\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S секундите (00-60); 60 вместо 59, за да се обхване и коригираща " #~ "секунда\n" #~ " %t хоризонтална табулация\n" #~ " %T 24 часово време, същото като %H:%M:%S\n" #~ " %u денят от седмицата (1-7); 1 означава понеделник\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U номерът на седмицата в годината, неделя е пръв седмичен ден (00-" #~ "53)\n" #~ " %V номерът на седмицата в годината, понеделник е пръв седмичен ден " #~ "(01-53)\n" #~ " %w деня от седмицата (0-6); 0 означава неделя\n" #~ " %W номерът на седмицата в годината, понеделник е пръв седмичен ден " #~ "(00-53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x датата, представена според локала (напр. 31.12.99)\n" #~ " %X времето, представено според локала (напр. 23,13,48)\n" #~ " %y последните две цифри от годината (00-99)\n" #~ " %Y годината\n" #, fuzzy #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z +hhmm часови пояс като число (напр. -0400)\n" #~ " %:z +hh:mm часовия пояс като час:минути (напр. -04:00)\n" #~ " %::z +hh:mm:ss часовия пояс като час:минути:секунди (напр. -04:00:00)\n" #~ " %:::z едно от горните само до необходимата точност (напр. -04, +05:30)\n" #~ " %Z съкращение за използвания часови пояс (напр. EEST за времето в " #~ "България)\n" #~ "\n" #~ "По подразбиране date допълва числовите полета с нули.\n" #~ "Следните флагове могат да следват „%“:\n" #~ "\n" #~ " - (минус) да не се допълва с нули\n" #~ " _ (знак за подчертаване) да се допълва с интервали\n" #~ " 0 (нула) да се допълва с нули\n" #~ " ^ да се използват главни букви, където може\n" #~ " # да се използват малки букви, където може\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "След кой да е от флаговете може да бъде посочена ширина на полето във вид " #~ "на\n" #~ "десетично число, след което може да е зададен още един от следните " #~ "модификатори:\n" #~ "\n" #~ "E за да се използва алтернативното представяне според локала, или\n" #~ "O за да се използват алтернативните числови знаци, ако ги има.\n" #~ msgid "multiple output formats specified" #~ msgstr "посочени са много формати за изхода" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "посочените опции за дати за отпечатване са взаимно изключващи се" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "не може едновременно да се използват опции за отпечатване и настройка на " #~ "времето" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "липсва начален знак „+“ за аргумента %s.\n" #~ "При използване на опция за посочване на дата/дати, всеки задължителен " #~ "аргумент\n" #~ "трябва да бъде форматен низ, започващ с „+“." #~ msgid "cannot set date" #~ msgstr "не може да се настрои датата" #~ msgid "time %s is out of range" #~ msgstr "времето %s е извън допустимия диапазон" #~ msgid "Filesystem Type" #~ msgstr "Файлова с-ма Тип " #~ msgid "Filesystem " #~ msgstr "Файлова с-ма " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " I-възли Заети Свобод Изп%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Размер Заети Своб Изп%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Размер Заети Свобод Изп%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-блокове Заети Свободни Обем" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %3s-блокове Заети Свободни Изп%%" #~ msgid " Mounted on\n" #~ msgstr " Монтирана на\n" #~ msgid "cannot get current directory" #~ msgstr "не може да се определи кой е текущият каталог" #~ msgid "cannot change to directory %s" #~ msgstr "не може да се влезе в каталога %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "не може да се намери текущият каталог (сега %s)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ФАЙЛ]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Дава информация за файловата система, съдържаща всеки от ФАЙЛ-овете\n" #~ "или за всички файлови системи по подразбиране.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all включително празните файлови системи (с 0 " #~ "блокове)\n" #~ " -B, --block-size=РАЗМ да се ползват блокове с размер РАЗМ байта\n" #~ " -h, --human-readable извежда размерите като за хора (напр. 1K, 234M, " #~ "2G)\n" #~ " -H, --si подобно, но с множител 1000 вместо 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes извежда информация за използваните i-възли, а не " #~ "блокове\n" #~ " -k като --block-size=1K\n" #~ " -l, --local извежда информация само за локалните файлови " #~ "системи\n" #~ " --no-sync без sync преди получаване на използването (по " #~ "подразб.)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability да се използва изходен формат POSIX\n" #~ " --sync изпълнява sync преди получаване на информация\n" #~ " -t, --type=ТИП извежда информация само за файлови системи от тип " #~ "ТИП\n" #~ " -T, --print-type извежда типа на файловата система\n" #~ " -x, --exclude-type=ТИП не извежда информация за файлови системи от тип " #~ "ТИП\n" #~ " -v (пренебрегва се)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "РАЗМ се състои от незадължително цяло число, следвано от едно от:\n" #~ "kB=1000, K=1024, MB=1000*1000, M=1024*1024 и аналогично за G, T, P, E, Z " #~ "и Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "файловите системи от тип %s са едновременно избрани и изключени" #~ msgid "Warning: " #~ msgstr "Внимание: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%sне може да се прочете таблицата на монтирани файлови системи" #~ msgid "no file systems processed" #~ msgstr "нито една файлова система не бе обработена" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ФАЙЛ]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Извежда команди за присвояване стойност на променливата LS_COLORS.\n" #~ "\n" #~ "Опции, определящи формата на изхода:\n" #~ " -b, --sh, --bourne-shell извежда код за обвивка на Бурн\n" #~ " -c, --csh, --c-shell извежда код за Си-обвивка\n" #~ " -p, --print-database извежда стойностите по подразбиране\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Ако е посочен, ФАЙЛ определя какви цветове да се използват за различните\n" #~ "файлови типове и разширения. В противен случай се използва вградена база " #~ "данни.\n" #~ "За подробности относно формата на ФАЙЛ, изпълнете „dircolors --print-" #~ "database“.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: неправилен ред; липсва втора лексема" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: непозната ключова дума %s" #~ msgid "" #~ msgstr "<интервал>" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "опциите за извеждане на вътрешната база данни на dircolors и\n" #~ "за избор на обвивка се изключват взаимно" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "Файлови операнди не може да се комбинират с --print-database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "променливата SHELL няма стойност, а не дадена и опция за тип обвивка" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s ИМЕ\n" #~ " или: %s ОПЦИЯ\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Отстранява от ИМЕ крайната /част и го извежда, а в случай, че ИМЕ не " #~ "съдържа /,\n" #~ "извежда „.“ (като по този начин означава текущия каталог).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Примери:\n" #~ " %s /usr/bin/sort извежда „/usr/bin“.\n" #~ " %s stdio.h извежда „.“.\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... [ФАЙЛ]...\n" #~ " или: %s [ОПЦИЯ]... --files0-from==Ф\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Резюмира използването на диска от всеки ФАЙЛ, рекурсивно за каталозите.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all извежда сума за всички файлове, не само за " #~ "каталозите\n" #~ " --apparent-size извежда действителни размери, а не използваното " #~ "дисково\n" #~ " пространство. Обикновено действителният размер " #~ "е\n" #~ " по-малък, но може да бъде и по-голям в " #~ "следствие на\n" #~ " дупки в „разредени“ (sparse) файлове, вътрешна\n" #~ " фрагментация, недиректни блокове и други " #~ "подобни.\n" #~ " -B, --block-size=РАЗМ да се ползват блокове с размер РАЗМ байта\n" #~ " -b, --bytes отпечатва размера в байтове\n" #~ " -c, --total пресмята и обща сума на използването\n" #~ " -D, --dereference-args работи върху файловете, сочени от ФАЙЛ-символна " #~ "връзка\n" #, fuzzy #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=Ф резюмира използваното дисково пространство от " #~ "файловите\n" #~ " имена със завършител NUL, посочени във файла Ф\n" #~ " -H като --si, но генерира предупреждение; скоро ще " #~ "бъде\n" #~ " променено да бъде същото като --dereference-args " #~ "(-D)\n" #~ " -h, --human-readable отпечатва размерите като за хора (напр. 1K, 234M, " #~ "2G)\n" #~ " --si подобно, но с множители 1000 вместо 1024\n" #~ " -k също като --block-size=1K\n" #~ " -l, --count-links брои размерите многократно при твърди връзки\n" #~ " -m също като --block-size=1M\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference работи върху файловете, сочени от символни " #~ "връзки\n" #~ " -P, --no-dereference да не се следват символни връзки (по " #~ "подразбиране)\n" #~ " -0, --null завършва всеки изведен ред с байт 0 вместо с нов " #~ "ред\n" #~ " -S, --separate-dirs да не се включва размерът на подкаталозите\n" #~ " -s, --summarize резюмира -- извежда само общата сума за всеки " #~ "аргумент\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system пропуска каталозите, които са в друга файлова " #~ "система\n" #~ " -X ФАЙЛ, --exclude-from=ФАЙЛ изключва файлове, пасващи на образец от " #~ "ФАЙЛ\n" #~ " --exclude=ОБРАЗЕЦ изключва файлове, чието име пасва на ОБРАЗЕЦ\n" #~ " --max-depth=N отпечатва общ размер на каталози (или файлове с --" #~ "all)\n" #~ " само ако те са с N или по-малко нива под " #~ "аргумента\n" #~ " на командния ред; --max-depth=0 е еквивалентно " #~ "на\n" #~ " --summarize\n" #, fuzzy #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time показва времето на последна промяна на всеки файл " #~ "от\n" #~ " каталога или всеки от подкаталозите му\n" #~ " --time=ДУМА показва времето от ДУМА вместо последната " #~ "промяна.\n" #~ " ДУМА може да бъде atime, access, use, ctime или " #~ "status\n" #~ " --time-style=СТИЛ показва времената използвайки стил СТИЛ, т.е.\n" #~ " full-iso, long-iso, iso или +ФОРМАТ\n" #~ " ФОРМАТ се интерпретира както от „date“\n" #~ msgid "total" #~ msgstr "общо" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "ВНИМАНИЕ: ползвайте --si вместо -H; скоро действието на опцията -H ще " #~ "бъде\n" #~ "променено да бъде същото като това на опцията --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "неправилна максимална дълбочина %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "опцията --megabytes е остаряла; ползвайте -m вместо нея" #~ msgid "cannot both summarize and show all entries" #~ msgstr "" #~ "не може едновременно да се резюмира и да се показват всички елементи" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "внимание: резюмирането е еквивалентно на --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "внимание: резюмирането влиза в конфликт с --max-depth=%lu" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Не може да се комбинират файлови операнди с --files0-from." #~ msgid "cannot read file names from %s" #~ msgstr "не може да се четат файлови имена от %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "при четене на файлови имена от stdin, никое файлово име не може да бъде %s" #~ msgid "invalid zero-length file name" #~ msgstr "неправилно файлово име с дължина нула" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [НИЗ]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Извежда НИЗовете на стандартния изход.\n" #~ "\n" #~ " -n не извежда знаци за нов ред след всеки от НИЗовете\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e позволява обработката знаци, защитени с \\ (по " #~ "подразбиране)\n" #~ " -E забранява специалната обработка на \\\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Ако е в сила -e, се разпознават и интерпретират следните " #~ "последователности:\n" #~ "\n" #~ " \\NNN знакът, чийто осмичен ASCII код е NNN\n" #~ " \\\\ обратно наклонена черта\n" #~ " \\a звуков сигнал (BEL)\n" #~ " \\b връщане назад (backspace)\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c забранява новия ред в края\n" #~ " \\f нова страница (FF)\n" #~ " \\n нов ред (LF)\n" #~ " \\r връщане на курсора (CR)\n" #~ " \\t хоризонтална табулация (HT)\n" #~ " \\v вертикална табулация (VT)\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Mlynarik и David MacKenzie" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... [-] [ПРОМЕНЛИВА=СТОЙНОСТ]... [КОМАНДА " #~ "[АРГ]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Присвоява СТОЙНОСТ на всяка ПРОМЕНЛИВА и изпълнява КОМАНДА в новото " #~ "обкръжение.\n" #~ "\n" #~ " -i, --ignore-environment започва с празно обкръжение\n" #~ " -u, --unset=ПРОМЕНЛИВА отстранява променливата от обкръжението\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Просто - означава -i. Ако не е дадена КОМАНДА, отпечатва полученото " #~ "обкръжение.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Замества табулациите във всеки ФАЙЛ с интервали и извежда на стандартния " #~ "изход.\n" #~ "Без ФАЙЛ или ако ФАЙЛ е - чете от стандартния вход.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial не преобразува табулациите след не-интервал\n" #~ " -t, --tabs=БРОЙ работи с табулации през БРОЙ интервала вместо през " #~ "8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=СПИС да се ползва списък от явно зададени табулационни " #~ "позиции\n" #~ msgid "tab stop is too large %s" #~ msgstr "табулацията е твърде дълга %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "размерът на табулациите включва непозволен знак: %s" #~ msgid "tab size cannot be 0" #~ msgstr "размерът на табулациите не може да бъде 0" #~ msgid "tab sizes must be ascending" #~ msgstr "позициите на табулациите трябва да са в нарастващ ред" #~ msgid "input line is too long" #~ msgstr "входният ред е твърде дълъг" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Mike Haertel и Paul Eggert" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s ИЗРАЗ\n" #~ " или: %s ОПЦИЯ\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Отпечатва стойността на ИЗРАЗ на стандартния изход. По-долу празни " #~ "редове\n" #~ "отделят групите операции с нарастващ приоритет. ИЗРАЗ може да бъде:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1, ако той не е нито празен, нито 0, а иначе ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1, ако никой от аргументите не е празен или 0, " #~ "иначе 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 е по-малък от ARG2\n" #~ " ARG1 <= ARG2 ARG1 е по-малък или равен на ARG2\n" #~ " ARG1 = ARG2 ARG1 е равен на ARG2\n" #~ " ARG1 != ARG2 ARG1 е различен от ARG2\n" #~ " ARG1 >= ARG2 ARG1 е по-голям или равен на ARG2\n" #~ " ARG1 > ARG2 ARG1 е по-голям от ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 аритметична сума на ARG1 и ARG2\n" #~ " ARG1 - ARG2 аритметична разлика на ARG1 и ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 аритметично произведение на ARG1 и ARG2\n" #~ " ARG1 / ARG2 аритметично частно на ARG1 разделен на ARG2\n" #~ " ARG1 % ARG2 аритметичен остатък на ARG1 разделен на ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " НИЗ : РЕГИЗР стриктно (anchored) съпоставяне на образеца РЕГИЗР в " #~ "НИЗ\n" #~ "\n" #~ " match НИЗ РЕГИЗР същото като НИЗ : РЕГИЗР\n" #~ " substr НИЗ ПОЗИЦ ДЪЛЖ подниз на НИЗ, ПОЗИЦ се брои от 1\n" #~ " index НИЗ ЗНАЦИ място в НИЗ, където се намира някой от " #~ "ЗНАЦИ, или 0\n" #~ " length НИЗ дължината на НИЗ\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + ЛЕКСЕМА разглежда ЛЕКСЕМА като низ дори и ако е\n" #~ " ключова дума като „match“ или оператор " #~ "като „/“\n" #~ "\n" #~ " ( ИЗРАЗ ) стойността на ИЗРАЗ\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "В командните обвивки трябва да защитавате много от операторите с кавички " #~ "или \\.\n" #~ "Сравненията са аритметични, ако и двата ARG са числа, а иначе " #~ "лексикографски.\n" #~ "Съпоставянията с образец връщат низа, паснал между първите \\( и \\) или " #~ "празен,\n" #~ "а ако не са използвани \\( и \\) връща броя паснали знаци или 0.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Кодът на завършване е 0, ако ИЗРАЗ не е нито празен, нито 0; 1, ако ИЗРАЗ " #~ "е\n" #~ "празен или 0; 2, ако ИЗРАЗ е синтактично неправилен и 3, ако е станала " #~ "грешка.\n" #~ msgid "syntax error" #~ msgstr "синтактична грешка" #~ msgid "error in regular expression matcher" #~ msgstr "грешка при пасването на регулярния израз" #~ msgid "non-numeric argument" #~ msgstr "нечислов аргумент" #~ msgid "division by zero" #~ msgstr "делене на нула" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s [ЧИСЛО]...\n" #~ " или: %s ОПЦИЯ\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Отпечатва простите множители на всяко ЧИСЛО.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " Отпечатва простите множители на всички посочени целочислени ЧИСЛА. При " #~ "липса\n" #~ " на аргументи на командния ред, числата се четат от стандартния вход.\n" #~ msgid "%s is too large" #~ msgstr "%s е твърде дълго" #~ msgid "%s is not a valid positive integer" #~ msgstr "%s не е правилно положително цяло число" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Използване: %s [-ШИРИНА] [ОПЦИЯ]... [ФАЙЛ]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Преформатира всеки абзац във ФАЙЛовете, извеждайки на стандартния изход.\n" #~ "Ако няма посочен ФАЙЛ или ако ФАЙЛ е „-“, чете от стандартния вход.\n" #~ "\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin запазва отстъпа на първите два реда\n" #~ " -p, --prefix=НИЗ преформатира само редовете, започващи с НИЗ. " #~ "Маха\n" #~ " НИЗ, форматира, след което добавя пак НИЗ\n" #~ " -s, --split-only цепи дългите редове, но не попълва късите\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph отстъпа на първия ред да се отличава от " #~ "втория\n" #~ " -u, --uniform-spacing един интервал между думите, два между " #~ "изречения\n" #~ " -w, --width=ШИРИНА максимална ширина на реда (по подразбиране 75 " #~ "знака)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "неправилна опция -- %c; -ШИРИНА се разпознава само ако е първа опция;\n" #~ "в противен случай ползвайте -w ШИРИНА" #~ msgid "invalid width: %s" #~ msgstr "неправилна ширина: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Развива поредово входните редове на всеки ФАЙЛ (или стандартния вход), " #~ "като\n" #~ "извежда резултата на стандартния изход.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes брои байтовете, вместо стълбовете\n" #~ " -s, --spaces прекъсва при интервали\n" #~ " -w, --width=ШИРИНА да се ползват ШИРИНА стълбове, вместо 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "неправилен номер стълбове: %s" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "групата на %s не можа да се промени на %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "групата на %s не можа да се промени на %s\n" #~ msgid "cannot find name for group ID %lu" #~ msgstr "не може да се намери името на група с номер %lu" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ПОТРЕБИТЕЛ]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Няма такъв потребител" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Извежда първите 10 реда от всеки ФАЙЛ на стандартния изход.\n" #~ "При повече от един ФАЙЛ, поставя заглавия с файловите имена.\n" #~ "При отсъствие на ФАЙЛ или ако ФАЙЛ е -, чете от стандартния вход.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N извежда първите N байта от всеки файл;\n" #~ " със знак минус преди N извежда всички, " #~ "освен\n" #~ " последните N байта от всеки файл\n" #~ " -n, --lines=[-]N извежда първите N реда вместо първите 10;\n" #~ " със знак минус преди N извежда всички, " #~ "освен\n" #~ " последните N реда от всеки файл\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent да не се извеждат заглавия с файловите имена\n" #~ " -v, --verbose винаги да извежда заглавия с файловите имена\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "БЛОКОВЕ и БАЙТОВЕ могат да бъдат следвани от следните суфикси-множители:\n" #~ "xM=M, c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024,\n" #~ "GB=1000*1000*1000, G=1024*1024*1024 и аналогично за T, P, E, Z и Y.\n" #~ "Всяка КЛЮЧДУМА може да бъде:\n" #~ "\n" #~ msgid "error reading %s" #~ msgstr "грешка при четене на %s" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: файлът се е свил твърде много" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: твърде голям брой байтове" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: не може да се отиде на първоначалното място във файла" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: не може да се отиде на отместване %s във файла" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "не може да се смени мястото на файловия указател за %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s е толкова голям, че не е изводим" #~ msgid "number of lines" #~ msgstr "брой на редовете" #~ msgid "number of bytes" #~ msgstr "количество байтове" #~ msgid "invalid number of lines" #~ msgstr "недопустим брой редове" #~ msgid "invalid number of bytes" #~ msgstr "недопустимо количество байтове" # TODO: Как да се праведе trailing? #~ msgid "invalid trailing option -- %c" #~ msgstr "неправилна опция -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s\n" #~ " или: %s ОПЦИЯ\n" #~ "Извежда шестнадесетичен числов идентификатор на хоста.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s [ИМЕ]\n" #~ " или: %s ОПЦИЯ\n" #~ "Извежда или задава хост-името на текущата система.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "името не може да се направи %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "не може да се задава хост-име, тази система не притежава такава възможност" #~ msgid "cannot determine hostname" #~ msgstr "хост-името не може да бъде определено" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Извежда информация за ПОТРЕБИТЕЛ или текущия потребител.\n" #~ "\n" #~ " -a пренебрегва се; за съвместимост с предишни версии\n" #~ " -g, --group извежда само номера на действащата (effective) група\n" #~ " -G, --groups извежда номерата на всички групи\n" #~ " -n, --name извежда име вместо номер; -ugG\n" #~ " -r, --real извежда реалните (real) вместо действащите номера, с -" #~ "ugG\n" #~ " -u, --user извежда само номера на действащия (effective) " #~ "потребител\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Без никаква ОПЦИЯ просто отпечатва полезна идентификационна информация.\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "не може да се цепи по повече от един начин" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "не може да се извеждат само имена или номера във формата по подразбиране" #~ msgid "cannot find name for user ID %lu" #~ msgstr "не може да се намери името на потребител с номер %lu" #~ msgid " groups=" #~ msgstr " групи=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "внимание: каталогът не може да се смени на %s" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "" #~ "опцията махане на символните таблици не може да се използва при " #~ "инсталиране на каталог" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "" #~ "при инсталиране на каталог не се позволява посочването на целеви каталог" #~ msgid "invalid mode %s" #~ msgstr "неправилен режим %s" #~ msgid "cannot change ownership of %s" #~ msgstr "не може да се смени собствеността на %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "не може да се зададе времето на %s" #~ msgid "fork system call failed" #~ msgstr "системната функция за нов процес (fork) не успя" #~ msgid "cannot run strip" #~ msgstr "не може да се стартира strip" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "запис в %s" #~ msgid "invalid user %s" #~ msgstr "неправилен потребител %s" #~ msgid "invalid group %s" #~ msgstr "неправилна група %s" #~ msgid "creating directory %s" #~ msgstr "създава се каталог %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... [-T] ИЗТОЧНИК ЦЕЛ\n" #~ " или: %s [ОПЦИЯ]... ИЗТОЧНИК... КАТАЛОГ\n" #~ " или: %s [ОПЦИЯ]... -t КАТАЛОГ ЦЕЛ...\n" #~ " или: %s [ОПЦИЯ]... -d КАТАЛОГ...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "При първите три формата ИЗТОЧНИК се копира в ЦЕЛ или няколкото ИЗТОЧНИКа\n" #~ "в съществуващ КАТАЛОГ, като се установяват режим на достъп и собственик/" #~ "група.\n" #~ "При четвъртия формат се създават всички компоненти на дадения(ните) " #~ "КАТАЛОГ(зи).\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=МЕТОД] прави резервно копие на съществуващите целеви " #~ "файлове\n" #~ " -b като --backup, но не допуска използването на " #~ "аргумент\n" #~ " -c (пренебрегва се)\n" #~ " -d, --directory приема всички аргументи като имена на каталози; " #~ "създава\n" #~ " всички компоненти на посочените каталози\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D създава всички начални компоненти на ЦЕЛ освен " #~ "последния,\n" #~ " а след това копира ИЗТОЧНИК в ЦЕЛ\n" #~ " -g, --group=ГРУПА посочва група вместо текущата група на процеса\n" #~ " -m, --mode=РЕЖИМ посочва режим за достъп (като при chmod), вместо " #~ "rwxr-xr-x\n" #~ " -o, --owner=СОБСТВ посочва собственик (само от привилегирован " #~ "потребител)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps прилага времената за достъп/промяна на\n" #~ " файловете-ИЗТОЧНИК за съответните целеви файлове\n" #~ " -s, --strip маха символните таблици\n" #~ " -S, --suffix=СУФИКС вместо обичайния суфикс за резервни копия\n" #~ " -t, --target-directory=КАТАЛОГ копира всички аргументи ИЗТОЧНИК в " #~ "КАТАЛОГ\n" #~ " -T, --no-target-directory работи с ЦЕЛ като с обикновен файл\n" #~ " -v, --verbose извежда името на всеки каталог при създаването му\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Суфиксът за резервни копия е „~“, освен при промяна с --suffix или с " #~ "променлива\n" #~ "от обкръжението SIMPLE_BACKUP_SUFFIX. Методът за управление на версиите " #~ "може да\n" #~ "се посочва с --backup или с променливата VERSION_CONTROL. Ето " #~ "стойностите:\n" #~ "\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Mike Haertel и Paul Eggert" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Извежда ред за всяка двойка входни редове с идентични свързващи полета.\n" #~ "По подразбиране свързващо поле е първото, ограничава се интервали и " #~ "табулации.\n" #~ "Когато ФАЙЛ1 или ФАЙЛ2 (не едновременно) е -, се чете от стандартния " #~ "вход.\n" #~ "\n" #~ " -a ФАЙЛНОМ извежда несъответстващите редове от файла ФАЙЛНОМ, " #~ "където\n" #~ " ФАЙЛНОМ е 1 или 2 съответно за ФАЙЛ1 и ФАЙЛ2\n" #~ " -e ПРАЗНО заменя липсващите входни полета с ПРАЗНО\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case не различава големи/малки букви при сравняване на " #~ "полетата\n" #~ " -j ПОЛЕ също като „-1 ПОЛЕ -2 ПОЛЕ“\n" #~ " -o ФОРМАТ следва ФОРМАТ при съставяне на изходните редове\n" #~ " -t ЗНАК ползва ЗНАК като разделител на входните и изходни " #~ "полета\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v ФАЙЛНОМ като -a ФАЙЛНОМ, но потиска съответстващите входни " #~ "редове\n" #~ " -1 ПОЛЕ свързва според това ПОЛЕ във файл 1\n" #~ " -2 ПОЛЕ свързва според това ПОЛЕ във файл 2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Ако не е зададен -t ЗНАК, бялото поле пред полетата е разделител и се " #~ "игнорира.\n" #~ "Иначе полетата са разделени със ЗНАК. Всяко ПОЛЕ е номер, който се брои " #~ "от 1.\n" #~ "ФОРМАТ е една или повече спецификации, разделени със запетая или " #~ "интервал,\n" #~ "всяка от които е „ФАЙЛНОМ.ПОЛЕ“ или „0“. По подразбиране ФОРМАТ извежда\n" #~ "свързващото поле, останалите полета от ФАЙЛ1 и останалите полета от " #~ "ФАЙЛ2, като\n" #~ "ги разделя със ЗНАК.\n" #~ "\n" #~ "Важно: ФАЙЛ1 и ФАЙЛ2 трябва да бъдат сортирани по свързващите полета. " #~ "Например\n" #~ "ако на join не са подадени опции, ползвайте „sort -k 1b,1“.\n" #~ msgid "invalid field number: %s" #~ msgstr "неправилен номер на поле: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "неправилен означител за поле: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "неправилен номер на файл при означител на поле: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "неправилни свързващи полета %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "несъвместими заменящи низове за празно поле" #~ msgid "empty tab" #~ msgstr "празна табулация" #~ msgid "multi-character tab %s" #~ msgstr "многосимволна табулация %s" #~ msgid "incompatible tabs" #~ msgstr "несъвместими табулации" #~ msgid "both files cannot be standard input" #~ msgstr "не може и двата файла да са стандартният вход" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Използване: %s [-s СИГНАЛ | -СИГНАЛ] PID...\n" #~ " или: %s -l [СИГНАЛ]...\n" #~ " или: %s -t [СИГНАЛ]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Изпраща сигнали на процесите или извежда сигналите.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=СИГНАЛ, -СИГНАЛ\n" #~ " посочва името или номера на сигнала, който да бъде " #~ "изпратен\n" #~ " -l, --list извежда имената на сигналите или ги преобразува в/от " #~ "номера\n" #~ " -t, --table извежда таблица с информация за сигналите\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "СИГНАЛ може да бъде име на сигнал (напр. „HUP“) или номер (напр. „1“)\n" #~ "или код-състояние на изход на процес, прекратен чрез сигнал.\n" #~ "PID е цяло число; ако е отрицателно, посочва група от процеси.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: неправилен сигнал" #~ msgid "%s: invalid process id" #~ msgstr "%s: неправилен номер на процес" #~ msgid "invalid option -- %c" #~ msgstr "неправилна опция -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: посочени са много сигнали" #~ msgid "multiple -l or -t options specified" #~ msgstr "посочени са много опции -l или -t" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "не може да се задават сигнали заедно с -l или -t" #~ msgid "no process ID specified" #~ msgstr "не е посочен номер на процес" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s ФАЙЛ1 ФАЙЛ2\n" #~ " или: %s ОПЦИЯ\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Извиква функцията за правене на твърда връзка ФАЙЛ2 към съществуващ " #~ "ФАЙЛ2.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "не може да се направи връзка %s към %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: внимание: създаването на твърда връзка към символна връзка не е " #~ "преносимо" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: не се позволява твърда връзка към каталог" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: каталогът не може да се замести" #~ msgid "%s: replace %s? " #~ msgstr "%s: да се замени ли %s? " #~ msgid "creating symbolic link %s" #~ msgstr "създава се символна връзка %s" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "създава се символна връзка %s -> %s" #~ msgid "creating hard link to %.0s%s" #~ msgstr "създава се твърда връзка към %.0s%s" #~ msgid "creating hard link %s" #~ msgstr "създава се твърда връзка %s" #~ msgid "creating hard link %s => %s" #~ msgstr "създава се твърда връзка %s => %s" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... [-T] ИЗТОЧНИК ИМЕ_НА_ВРЪЗКА (1-ви формат)\n" #~ " или: %s [ОПЦИЯ]... ИЗТОЧНИК (2-ри формат)\n" #~ " или: %s [ОПЦИЯ]... ИЗТОЧНИК... КАТАЛОГ (3-ти формат)\n" #~ " или: %s [ОПЦИЯ]... -t КАТАЛОГ ЦЕЛ... (4-ти формат)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "При първия формат създава връзка към посочения файл-ЦЕЛ с име " #~ "ИМЕ_НА_ВРЪЗКА.\n" #~ "При втория формат създава връзка към посочения файл-ЦЕЛ в текущия " #~ "каталог.\n" #~ "При третия и четвъртия формат създава в КАТАЛОГ връзки към файловете-" #~ "ЦЕЛ.\n" #~ "По подразбиране се правят твърди връзки, а символни при --symbolic.\n" #~ "При правене на твърди връзки всяка ЦЕЛ трябва да съществува.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=МЕТОД] копира резервно всеки съществуващ целеви " #~ "файл\n" #~ " -b като --backup, но не позволява аргумент\n" #~ " -d, -F, --directory позволява на root да се опита да направи " #~ "твърди\n" #~ " връзки към каталози (забележка: поради " #~ "ограни-\n" #~ " чения в системата това вероятно ще " #~ "пропадне)\n" #~ " -f, --force изтрива съществуващи целеви файлове\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference приема цел, която е символна връзка към " #~ "каталог,\n" #~ " все едно че е нормален файл\n" #~ " -i, --interactive да се пита при заместване на съществуващи " #~ "файлове\n" #~ " -s, --symbolic да се правят символни връзки вместо твърди " #~ "връзки\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=СУФИКС вместо обичайният суфикс за резервни копия\n" #~ " -t, --target-directory=КАТАЛОГ посочва каталога, в който да се правят\n" #~ " връзките\n" #~ " -T, --no-target-directory работи с ИМЕ_НА_ВРЪЗКА като с обикновен " #~ "файл\n" #~ " -v, --verbose извежда името на всеки файл преди " #~ "свързване\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "" #~ "Не може да се използват едновременно --target-directory и --no-target-" #~ "directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Използване: %s [ОПЦИЯ]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Извежда името на текущия потребител.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "няма входящо име" #~ msgid "%b %e %Y" #~ msgstr "%e %b %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%e %b %k,%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "пренебрегва се неправилната стойност на променливата от обкръжението " #~ "QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "" #~ "пренебрегва се неправилната ширина в променливата от обкръжението " #~ "COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "пренебрегва се неправилният размер на табулациите в променливата от " #~ "обкръжението TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "неправилна дължина на реда: %s" #~ msgid "invalid tab size: %s" #~ msgstr "неправилен размер на табулациите: %s" #~ msgid "invalid time style format %s" #~ msgstr "неправилен формат за времето %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "непознат префикс: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "неразбираема стойност на променливата от обкръжението LS_COLORS" #~ msgid "cannot open directory %s" #~ msgstr "не може да се отвори каталогът %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "не може да се установи устройството и i-възлите на %s" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: вече изведеният каталог не се извежда" #~ msgid "closing directory %s" #~ msgstr "затваря се каталогът %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "не може да се сравнят файловите имена %s и %s" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Извежда информация за ФАЙЛовете (по подразбиране за текущия каталог).\n" #~ "Сортира елементите азбучно, освен ако има опция -cftuSUX или --sort.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all не скрива елементите, започващи с .\n" #~ " -A, --almost-all не извежда подразбиращите се . и ..\n" #~ " --author с -l извежда автора на всеки файл\n" #~ " -b, --escape извежда осмични числа за неграфичните знаци\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=РАЗМ ползва блокове с размер РАЗМ байта\n" #~ " -B, --ignore-backups не извежда елементи, завършващи с ~\n" #~ " -c с -lt: сортира и показва според ctime " #~ "(времето на\n" #~ " последна промяна на информацията за " #~ "файла)\n" #~ " с -l: показва ctime и сортира според " #~ "името\n" #~ " иначе: сортира според ctime\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C извежда елементите в колони\n" #~ " --color[=КОГА] определя дали да се използват цветове за " #~ "посочване\n" #~ " типовете на файловете. КОГА може да бъде\n" #~ " „never“ (никога), „always“ (винаги) или\n" #~ " „auto“ (автоматично)\n" #~ " -d, --directory извежда самите каталози, вместо съдържанието " #~ "им\n" #~ " и символните връзки, вместо сочените " #~ "файлове\n" #~ " -D, --dired генерира изход за режима „dired“ на Емакс\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f да не сортира; позволява -aU, забранява -ls " #~ "--color\n" #~ " -F, --classify добавя знак за типа на файловете (някой от */" #~ "=>@|)\n" #~ " --file-type подобно, но не се добавя „*“\n" #~ " --format=ДУМА across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time като -l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr " -g като -l, но не извежда собственика\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all включително празните файлови системи (с 0 " #~ "блокове)\n" #~ " -B, --block-size=РАЗМ да се ползват блокове с размер РАЗМ байта\n" #~ " -h, --human-readable извежда размерите като за хора (напр. 1K, 234M, " #~ "2G)\n" #~ " -H, --si подобно, но с множител 1000 вместо 1024\n" #, fuzzy #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -G, --no-group при подробно изреждане не извежда групата\n" #~ " -h, --human-readable с -l извежда размерите като за хора\n" #~ " (напр. 1K, 234M, 2G)\n" #~ " --si подобно, но с множител 1000 вместо 1024\n" #~ " -H, --dereference-command-line\n" #~ " следва символните връзки на командния ред\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " следва символните връзки на командния ред, \n" #~ " които сочат към каталог\n" #~ " --hide=ОБРАЗЕЦ не извежда елементите, пасващи на ОБРАЗЕЦ\n" #~ " (пренебрегва се, ако има -a или -A)\n" # TODO: превод на shell-ОБРАЗЕЦ? #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=ДУМА добавя знак в стил ДУМА към файловете:\n" #~ " none (стандартно), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode с -l извежда номера на i-възела на всеки " #~ "файл\n" #~ " -I, --ignore=ОБРАЗЕЦ не извежда елементите, пасващи на shell-" #~ "ОБРАЗЕЦ\n" #~ " -k като --block-size=1K\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l да се ползва формат с подробно изброяване\n" #~ " -L, --dereference при показване на информация за символна " #~ "връзка\n" #~ " да показва информация за сочения файл " #~ "вместо за\n" #~ " самата символна връзка\n" #~ " -m попълва в широчина с разделени със запетая " #~ "елементи\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid като -l, но извежда номера за потребител и " #~ "група\n" #~ " -N, --literal извежда „сурови“ имена (напр. управляващите " #~ "кодове\n" #~ " не се обработват по по-различен начин)\n" #~ " -o като -l, но не извежда информация за " #~ "групата\n" #~ " -p, --file-type добавя знак за типа (някой от /=@|) към " #~ "елементите\n" #~ " -p, --indicator-style=slash\n" #~ " добавя знак / към каталозите\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars извежда ? вместо неграфични знаци\n" #~ " --show-control-chars извежда неграфичните знаци както са си " #~ "(стандартно,\n" #~ " освен ако програмата е „ls“ и изходът е " #~ "терминал)\n" #~ " -Q, --quote-name огражда имената на елементите с кавички\n" #~ " --quoting-style=ДУМА стил ДУМА за извеждане на неграфични знаци:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse обратен ред при сортиране\n" #~ " -R, --recursive извежда подкаталозите рекурсивно\n" #~ " -s, --size извежда размера в блокове на всеки файл\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S сортира според размера на файловете\n" #~ " --sort=ДУМА сортира според ДУМА: none -U, extension -X,\n" #~ " size -S, time -t, version -v\n" #~ " --time=ДУМА с -l показва времето ДУМА вместо времето на " #~ "промя-\n" #~ " на. ДУМА може да бъде atime, access, use, " #~ "ctime,\n" #~ " или status; по това време се и сортира\n" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=СТИЛ с -l показва времената използвайки стил " #~ "СТИЛ:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT\n" #~ " ФОРМАТ се обработва също както „date“; ako " #~ "ФОРМАТ е\n" #~ " ФОРМАТ1<новред>ФОРМАТ2, ФОРМАТ1 се отнася " #~ "към\n" #~ " по-отдавнашните файлове, а ФОРМАТ2 към " #~ "скорошните;\n" #~ " ако СТИЛ се предшества от „posix-“, СТИЛ " #~ "влиза\n" #~ " в сила само извън POSIX локал\n" #~ " -t сортира според времето на промяна\n" #~ " -T, --tabsize=КОЛОНИ приема, че табулациите са през КОЛОНИ вместо " #~ "през 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u с -lt: сортира и извежда според времето за " #~ "достъп,\n" #~ " с -l: извежда времето за достъп, сортира " #~ "по име,\n" #~ " иначе: сортира по времето за достъп\n" #~ " -U да не се сортира: извежда се както е в " #~ "каталога\n" #~ " -v сортира според версията\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=КОЛОНИ приема, че екранът има ширина КОЛОНИ\n" #~ " -x извежда елементите по редове, а не в " #~ "стълбове\n" #~ " -X сортира в азбучен ред според разширението\n" #~ " -1 извежда по един файл на ред\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "По подразбиране не се използват цветове за отличаване на типовете. Това " #~ "е все\n" #~ "едно да се използва --color=none. Използването на --color без " #~ "незадължителния\n" #~ "аргумент КОГА е еквивалентно на --color=always. С --color=auto цветове " #~ "се\n" #~ "използват само, ако стандартният изход е свързан с терминал (tty). " #~ "Променливата\n" #~ "от обкръжението LS_COLORS може да влияе на цветовете, а стойност може " #~ "лесно да и\n" #~ "бъде зададена посредством командата dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Кодът на завършване е 0 при успех, 1 при малък проблем и 2 при по-" #~ "сериозен.\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper и Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Paul Rubin и David MacKenzie" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ] [ФАЙЛ]...\n" #~ "Извежда или проверява контролни суми %s (%d-битови).\n" #~ "Без ФАЙЛ или ако ФАЙЛ е -, чете от стандартния вход.\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary чете в двоичен режим (по подразбиране, при четене от " #~ "терминал)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary чете в двоичен режим\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check прочита %s суми от ФАЙЛовете и ги проверява\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text чете в текстов режим (по подразбиране, ako\n" #~ " стандартният вход е от терминал)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text чете в текстов режим (по подразбиране)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Следните две опции са полезни само при проверяване на контролни суми:\n" #~ " --status без изход, успехът се определя според кода за " #~ "изход\n" #~ " -w, --warn съобщава при неправилно форматирани редове със " #~ "суми\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Сумите се изчисляват така, както е посочено в %s. При проверка входът\n" #~ "трябва да бъде предишен изход от тази програма. По подразбиране се " #~ "извежда ред\n" #~ "с контролна сума, знак посочващ типа (“*“ за двоичен, „ “ за текстов)\n" #~ "и името на всеки ФАЙЛ.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: твърде много редове с контролни суми" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: неправилно форматиран ред с контролна сума %s" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: НЕ УСПЯ системна функция open или read\n" # Не е ясно къде се използва #~ msgid "OK" #~ msgstr "ОК" #~ msgid "%s: read error" #~ msgstr "%s: грешка при четене" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: не са открити правилно форматирани %s редове с контролни суми" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "" #~ "ВНИМАНИЕ: % от общо % изброен файл не може да бъде " #~ "прочетен" #~ msgstr[1] "" #~ "ВНИМАНИЕ: % от общо % изброени файла не могат да бъдат " #~ "прочетени" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "" #~ "ВНИМАНИЕ: % от % пресметната контролна сума НЕ пасва" #~ msgstr[1] "" #~ "ВНИМАНИЕ: % от % пресметнати контролни суми НЕ пасват" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "опциите --binary и --text са безсмислени при проверка на контролни суми" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "опцията --status е смислена само при проверяване на контролни суми" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "опцията --warn е смислена само при проверяване на контролни суми" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Използване: %s [ОПЦИЯ] КАТАЛОГ...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Създава КАТАЛОГ(зи), ако вече не са създадени.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=РЕЖИМ задава режим за достъп (като chmod), not a=rwx - " #~ "umask\n" #~ " -p, --parents създава и родителските каталози, без грешка за " #~ "съществуващи\n" #~ " -v, --verbose извежда съобщение за всеки създаден каталог\n" #~ msgid "created directory %s" #~ msgstr "създаден е каталог %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Използване: %s [ОПЦИЯ] ИМЕ...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Създава именувани канали (FIFO) с посочените ИМЕна.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=РЕЖИМ задава режим за достъп (като при chmod), not a=rw - " #~ "umask\n" #~ msgid "invalid mode" #~ msgstr "неправилен режим за достъп" #~ msgid "mode must specify only file permission bits" #~ msgstr "режимът трябва да определя само битовете за достъп до файла" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... ИМЕ ТИП [ГОЛЯМ МАЛЪК]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Създава специален файл ИМЕ от зададен ТИП.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Както ГОЛЯМ, така и МАЛЪК трябва да се посочат, ако ТИП е „b“, „c“ или " #~ "„u“, и\n" #~ "трябва да се пропуснат, ако ТИП е „p“. Ако ГОЛЯМ или МАЛЪК започва с 0x " #~ "или 0X,\n" #~ "номерът се интерпретира като шестнадесетичен, иначе ако започва с 0, " #~ "като\n" #~ "осмичен и иначе -- като десетичен. ТИП може да бъде:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b създава блоков (буфериран) специален файл\n" #~ " c, u създава символен (небуфериран) специален файл\n" #~ " p създава именуван канал\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "при създаване на специални файлове трябва да се посочат\n" #~ "голям и малък номер на устройство" #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Именуваните канали нямат малък и голям номер на устройство." #~ msgid "block special files not supported" #~ msgstr "не се поддържа работа с блокови специални файлове" #~ msgid "character special files not supported" #~ msgstr "не се поддържа работа със символни специални файлове" #~ msgid "invalid major device number %s" #~ msgstr "погрешен голям номер на устройство %s" #~ msgid "invalid minor device number %s" #~ msgstr "погрешен малък номер на устройство %s" #~ msgid "invalid device %s %s" #~ msgstr "неправилно устройство %s %s" #~ msgid "invalid device type %s" #~ msgstr "неправилен тип на устройство %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ФАЙЛ]\n" #, fuzzy #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " directory отказва да работи, освен при каталог\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "твърде много повторени редове" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "каталогът %s не може да се затвори" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "времената на %s не можаха да се запазят" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Преименува ИЗТОЧНИК на ЦЕЛ или премества ИЗТОЧНИК(ци) в КАТАЛОГ.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=МЕТОД] прави резервно копие на съществуващи целеви " #~ "файлове\n" #~ " -b като --backup, но не допуска на аргумент\n" #~ " -f, --force да не се пита преди заместване на файлове\n" #~ " -i, --interactive да се пита преди заместване на файлове\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes отстранява крайните наклонени черти от " #~ "всеки\n" #~ " аргумент ЦЕЛ\n" #~ " -S, --suffix=СУФИКС вместо обичайния суфикс за резервни копия\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=КАТАЛОГ премества всички аргументи ИЗТОЧНИК в " #~ "КАТАЛОГ\n" #~ " -T, --no-target-directory работи с DEST като с обикновен файл\n" #~ " -u, --update премества само ако ИЗТОЧНИК е по-нов от " #~ "целевия\n" #~ " файл, или ако целевият файл липсва\n" #~ " -v, --verbose съобщава какво се прави\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Използване: %s [ОПЦИЯ] [КОМАНДА [АРГУМЕНТ]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Изпълнява КОМАНДА с нагодена стойност на nice, влияеща на диспечера на " #~ "задачите\n" #~ "на операционната система. Без КОМАНДА извежда текущата стойност. " #~ "Диапазонът на\n" #~ "nice е от %d (най-голямо предимство за процеса) до %d (най-малко " #~ "предимство).\n" #~ "\n" #~ " -n, --adjustment=N добавя N към стойността на nice (по подразбиране " #~ "10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "неправилна настройка: %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "заедно с корекцията трябва да се посочи команда" #~ msgid "cannot get niceness" #~ msgstr "не може да се получи стойността на nice" #~ msgid "cannot set niceness" #~ msgstr "не може да се настрои стойността на nice" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Извежда всеки от ФАЙЛовете на стандартния изход с добавени номера на " #~ "редовете.\n" #~ "Без ФАЙЛ или ако ФАЙЛ е - се чете от стандартния вход.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=СТИЛ ползва СТИЛ при номериране редовете от " #~ "тялото\n" #~ " -d, --section-delimiter=CC CC да е разделител между логическите " #~ "страници\n" #~ " -f, --footer-numbering=СТИЛ ползва СТИЛ при номериране долния " #~ "колонтитул\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=СТИЛ ползва СТИЛ при номериране горния " #~ "колонтитул\n" #~ " -i, --page-increment=РАЗЛИКА с колко нараства номера на всеки " #~ "следващ ред\n" #~ " -l, --join-blank-lines=БРОЙ номерира от БРОЙ празни реда само " #~ "последния\n" #~ " -n, --number-format=ФОРМАТ вмъква номерата на редовете според " #~ "ФОРМАТ\n" #~ " -p, --no-renumber не брои отначало при нова логическа " #~ "страница\n" #~ " -s, --number-separator=НИЗ добавя НИЗ след всеки номер на ред\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=НОМЕР номер на първия ред от логическите " #~ "страници\n" #~ " -w, --number-width=БРОЙ ползва БРОЙ стълбове за номерата на " #~ "редовете\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "По подразбиране се използва -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC " #~ "са\n" #~ "двата символа, използвани за разделяне на логическите страници. Ако " #~ "липсва,\n" #~ "по подразбиране вторият символ е :. Използвайте \\\\ за \\. СТИЛ е едно " #~ "от:\n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a за да се номерират всички редове\n" #~ " t за да се номерират само непразните редове\n" #~ " n за да не се номерира никой ред\n" #~ " pРЕГИЗР за да се номерират само редове, съдържащи съответствие на " #~ "РЕГИЗР\n" #~ "\n" #~ "ФОРМАТ е едно от:\n" #~ "\n" #~ " ln за ляво подравняване, без предхождащи нули\n" #~ " rn за дясно подравняване, без предхождащи нули\n" #~ " rz за дясно подравняване, с предхождащи нули\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "препълване на номера на ред" #~ msgid "invalid header numbering style: %s" #~ msgstr "неправилен формат за номериране на горен колонтитул: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "неправилен формат за номериране: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "неправилен формат за номериране на долен колонтитул: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "неправилен начален номер на ред: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "неправилна разлика между съседни редове: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "неправилен брой празни редове: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "неправилна ширина на полето за номер на ред: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "неправилен формат за номериране на редове: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s КОМАНДА [АРГУМЕНТ]...\n" #~ " или: %s ОПЦИЯ\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Изпълнява КОМАНДА, пренебрегвайки сигналите за увисване (SIGHUP).\n" #~ "\n" #~ msgid "ignoring input" #~ msgstr "входът се пренебрегва" #~ msgid "failed to open %s" #~ msgstr "не може да се отвори %s" #~ msgid "ignoring input and appending output to %s" #~ msgstr "входът се пренебрегва, а изходът се насочва към %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "не успешно затваряне на стандартната грешка" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "" #~ "входът се пренебрегва, а стандартната грешка се пренасочва към " #~ "стандартния изход" #~ msgid "failed to redirect standard error" #~ msgstr "неуспешно пренасочване на стандартната грешка" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... [ФАЙЛ]...\n" #~ " или: %s [-abcdfilosx]... [ФАЙЛ] [[+]ОТМЕСТВАНЕ[.][b]]\n" #~ " или: %s --traditional [ФАЙЛ] [[+]ОТМЕСТВАНЕ [[+]ЕТИКЕТ]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Извежда еднозначно представяне (по подразбиране осмични байтове) на\n" #~ "ФАЙЛ на стандартния изход. Ако са посочени повече от един ФАЙЛ,\n" #~ "последователно обработва и извежда файловете в посочения ред. Без\n" #~ "ФАЙЛ или ако ФАЙЛ е - се чете от стандартния вход.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Всички аргументи, задължителни за дългите опции, са задължителни и за " #~ "късите.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=БАЗА как да се извежда отместването\n" #~ " -j, --skip-bytes=БАЙТОВЕ пропуска БАЙТОВЕ входни байта в началото\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=БАЙТОВЕ обработва до БАЙТОВЕ входни байта\n" #~ " -S, --strings[=ДЪЛЖИНА] извежда низове от поне по ДЪЛЖИНА графични " #~ "знаци\n" #~ " -t, --format=ТИП посочва формат или формати за извеждане\n" #~ " -v, --output-duplicates да не се ползва * за отбелязване на еднакви " #~ "редове\n" #~ " -w, --width[=БАЙТОВЕ] извежда по БАЙТОВЕ входни байта на един " #~ "ред\n" #~ " --traditional да се приемат аргументи в традиционния " #~ "формат\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Спецификациите в традиционен формат може да се смесват и се натрупват:\n" #~ " -a е същото като -t a, извеждат се именувани знаци, пренебрегва " #~ "старшия бит\n" #~ " -b е същото като -t o1, извеждат се осмични байтове\n" #~ " -c е същото като -t c, извеждат се ASCII знаци или префикси с \\\n" #~ " -d е същото като -t u2, извеждат се беззнакови двубайтови десетични " #~ "числа\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f е същото като -t fF, извеждат се числа с плаваща запетая\n" #~ " -i е същото като -t dI, извеждат се десетични цели числа\n" #~ " -l е същото като -t dL, извеждат се десетични дълги числа\n" #~ " -o е същото като -t o2, извеждат се двубайтови осмични числа\n" #~ " -s е същото като -t d2, извеждат се двубайтови десетични числа\n" #~ " -x е същото като -t x2, извеждат се двубайтови шестнадесетични числа\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Ако и първият, и вторият формат са валидни, се приема вторият, ако " #~ "последният\n" #~ "операнд започва с + или (ако има два операнда) число. \n" #~ "Операнд ОТМЕСТВАНЕ означава -j ОТМЕСТВАНЕ. ЕТИКЕТ е псевдоадресът на " #~ "първия\n" #~ "изведен байт и се увеличава постепенно заедно с обработката. При\n" #~ "ОТМЕСТВАНЕ и ЕТИКЕТ може да има префикси 0x или 0X, които показват\n" #~ "шестнадесетично число, и суфикси . за осмично число и b за множител 512.\n" #~ "\n" #~ "ТИП се състои от една или повече от следните спецификации:\n" #~ "\n" #~ " a именуван знак, старшият бит се пренебрегва\n" #~ " c знак от ASCII или код, защитен с \\\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[РАЗМ] знаково десетично число от РАЗМ байта\n" #~ " f[РАЗМ] число с плаваща запетая от РАЗМ байта\n" #~ " o[РАЗМ] знаково осмично число от РАЗМ байта\n" #~ " u[РАЗМ] беззнаково десетично число от РАЗМ байта\n" #~ " x[РАЗМ] шестнадесетично число от РАЗМ байта\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "РАЗМ е число. Ако ТИП е doux, РАЗМ може да бъде и C за sizeof(char),\n" #~ "S за sizeof(short), I за sizeof(int) или L за sizeof(long). Ако ТИП е\n" #~ "f, РАЗМ може да бъде и F за sizeof(float), D за sizeof(double) или L\n" #~ "за sizeof(long double).\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "БАЗА е d за десетична бройна система, o за осмична, x за\n" #~ "шестнадесетична или n за никаква. БАЙТОВЕ е шестнадесетично, ако има\n" #~ "префикс 0x или 0X и се умножава по 512 при суфикс b, по 1024 при k и\n" #~ "по 1048576 при m. Ако се добави суфикс z, в края на всеки изведен ред\n" #~ "се добавя изображение на входните знаци. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string без число предполага 3. --width без число предполага 32.\n" #~ "По подразбиране od ползва -A o -t d2 -w16. \n" #~ msgid "invalid type string %s" #~ msgstr "неправилен низ за тип %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "неправилен низ за тип %s;\n" #~ "тази система не поддържа %lu-байтови целочислени числа" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "неправилен низ за тип %s;\n" #~ "тази система не поддържа %lu-байтови числа с плаваща запетая" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "неправилен знак „%c“ в низа за тип %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "не може да се пропусне след края на комбинирания вход" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "неправилна база „%c“ на изходния адрес; трябва да бъде знак измежду [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "при извеждане на низове не може да се посочва тип" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "При традиционния формат се поддържа най-много един файл." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "skip-bytes + read-bytes са твърде много" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "внимание: неправилна ширина %lu; вместо нея се ползва %d" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: формат=„%s“ ширина=%d\n" #~ msgid "standard input is closed" #~ msgstr "стандартният вход е затворен" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Извежда на стандартния изход редове, състоящи се от поредно\n" #~ "съответстващи си редове от всеки ФАЙЛ, разделени с табулации.\n" #~ "Без ФАЙЛ или ако ФАЙЛ е - чете от стандартния вход.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=СПИС разделя със знаците от СПИС вместо с табулации\n" #~ " -s, --serial изкарва файловете един след друг вместо " #~ "паралелно\n" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Използване: %s [ОПЦИЯ]... ИМЕ...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Определя платформенозависимите конструкции в ИМЕ.\n" #~ "\n" #~ " -p проверки за повечето POSIX-съвместими системи\n" #~ " -P проверява за празни имена и начални „-“\n" #~ " --portability проверява за всички POSIX-съвместими системи (като -" #~ "p -P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "начален „-“ в компонент на файловото име %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "платформенозависим знак %s във файловото име %s" #~ msgid "empty file name" #~ msgstr "празно файлово име" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: не може да се определи максималната дължина за име на файл" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "ограничението %lu е задминато от дължината %lu на файловото име %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "" #~ "ограничението %lu е надминато от дължината %lu на компонента на файловото " #~ "име %s" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Joseph Arceneaux и David MacKenzie" #~ msgid "Login name: " #~ msgstr "Входящо име: " #~ msgid "In real life: " #~ msgstr "В реалния живот: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Каталог: " #~ msgid "Shell: " #~ msgstr "Обвивка: " #~ msgid "Project: " #~ msgstr "Проект: " #~ msgid "Plan:\n" #~ msgstr "План:\n" #~ msgid "Login" #~ msgstr "Вход " #~ msgid "Name" #~ msgstr "Име " #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Неактивен" #~ msgid "When" #~ msgstr "Кога" #~ msgid "Where" #~ msgstr "Къде" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ПОТРЕБИТЕЛ]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l извежда в дълъг по-подробен формат за посочените " #~ "ПОТРЕБИТЕЛи\n" #~ " -b изпуска потребителския домашен каталог в дългия формат\n" #~ " -h изпуска потребителския файл проект в дългия формат\n" #~ " -p изпуска потребителския файл план в дългия формат\n" #~ " -s извежда в кратък формат; по подразбиране е така\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f изпуска реда-антетка при късия формат\n" #~ " -w изпуска пълните имена при късия формат\n" #~ " -i изпуска пълните имена и отдалечените хостове при късия " #~ "формат\n" #~ " -q изпуска пълните имена, отдалечените хостове и\n" #~ " време на неактивност при късия формат\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Олекотена програма „finger“ -- извежда информация за потребител.\n" #~ "Файлът utmp ще бъде %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "" #~ "при използване на -l трябва да се посочи поне едно потребителско име" #, fuzzy #~ msgid "Roland Huebner" #~ msgstr "Pete TerMaat и Roland Huebner" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "на „--pages=ПЪРВА_СТР[:ПОСЛ_СТР]“ липсва аргумент" #~ msgid "Invalid page range %s" #~ msgstr "Неправилен диапазон от страници %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "“-l СТР_ДЪЛЖ“ неправилен брой редове: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "“-N НОМЕР“ неправилен номер на ред: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "“-o ПОЛЕ“ неправилно отместване на редовете: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "“-w СТР_ШИР“ неправилен брой знаци: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "“-W СТР_ШИР“ неправилен брой знаци: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Не може да се посочва номер на стълбове при паралелен печат." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Не може да се задава едновременно успореден печат и печат напреки." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "“-%c“ излишни знаци или неправилен номер в аргумент: %s" #~ msgid "page width too narrow" #~ msgstr "ширината на страницата е твърде малка" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "началният номер на страница % надминава броя страници %" #~ msgid "Page number overflow" #~ msgstr "Препълване на номера на страница" #~ msgid "Page %" #~ msgstr "Стр. %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Форматира за печат ФАЙЛовете по страници и стълбове.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +ПЪРВА_СТР[:ПОСЛ_СТР], --pages=ПЪРВА_СТР[:ПОСЛ_СТР]\n" #~ " започва/свършва печата при ПЪРВА_СТР/ПОСЛ_СТР\n" #~ " -COLUMN, --columns=СТЪЛБОВЕ\n" #~ " извежда СТЪЛБОВЕ стълба и отпечатва стълбовете " #~ "надолу,\n" #~ " освен ако е използвано -a. Подравнява броя на " #~ "редове\n" #~ " в стълбовете на всяка страница.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across печата стълбовете напреки вместо надолу, използва се\n" #~ " заедно с -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " използва запис със шапки (^G) и осмични числа\n" #~ " -d, --double-space\n" #~ " двойни интервали в изхода\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=ФОРМАТ\n" #~ " да се ползва ФОРМАТ при датата на колонтитула\n" #~ " -e[ЗНАК[ШИР]], --expand-tabs[=ЗНАК[ШИР]]\n" #~ " разширява всеки входен ЗНАК като табулация със ШИРина " #~ "(8)\n" #~ " -F, -f, --form-feed\n" #~ " разделя страниците с form feed вместо с нови редове\n" #~ " (при -F има 3-редов горен колонтитул, а без -F има 5-" #~ "редови\n" #~ " горен и долен колонтитули)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h ГКОЛОНТ, --header=ГКОЛОНТ\n" #~ " ГКОЛОНТ в средата на горния колонтитул вместо името " #~ "на файла\n" #~ " -h \"\" отпечатва празен ред, не ползвайте -h\"\"\n" #~ " -i[ЗНАК[ШИР]], --output-tabs[=ЗНАК[ШИР]]\n" #~ " заменя интервалите със ЗНАЦи (табулации) със ШИРина " #~ "(8)\n" #~ " -J, --join-lines слива пълните редове, отменя съкращаването на редове " #~ "с -W,\n" #~ " без подравняване на стълбовете, --sep-string[=НИЗ] " #~ "посочва\n" #~ " ограничителите\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l СТР_ДЪЛЖ, --length=СТР_ДЪЛЖ\n" #~ " посочва дължина на страниците от СТР_ДЪЛЖ (66) реда\n" #~ " (по подразбиране броят редове на текст е 56, с -F -- " #~ "63)\n" #~ " -m, --merge извежда паралелно всички файлове, по един в стълб.\n" #~ " съкращава редовете, но с -J слива пълните редове\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[РАЗД[ЦИФРИ]], --number-lines[=РАЗД[ЦИФРИ]]\n" #~ " номерира редовете, номерата са с ширина ЦИФРИ (5), " #~ "след тях \n" #~ " РАЗД (табулации); по подразб. започва да брои от 1\n" #~ " -N НОМЕР, --first-line-number=НОМЕР\n" #~ " при номериране на редовете първият ред от първата " #~ "страница\n" #~ " е с номер НОМЕР (вж. +ПЪРВА_СТР)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o ПОЛЕ, --indent=ПОЛЕ\n" #~ " всеки ред е отместен с ПОЛЕ (нула) интервала, не " #~ "влияе на\n" #~ " -w и -W, ПОЛЕ ще бъде добавено към СТР_ШИР\n" #~ " -r, --no-file-warnings\n" #~ " не предупреждава, ако файлът не може да бъде отворен\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[ЗНАК],--separator[=ЗНАК]\n" #~ " разделя стълбовете с един знак, без -w по " #~ "подразбиране e\n" #~ " табулация, а с -w няма разделител. Без -s " #~ "разделителят е\n" #~ " интервал. -s отменя съкращаването на редовете при " #~ "всички\n" #~ " опции за стълбове (-СТЪЛБОВЕ|-a -СТЪЛБОВЕ|-m), освен " #~ "ако е\n" #~ " зададено и -w\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SНИЗ, --sep-string[=НИЗ]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " разделя стълбовете с НИЗ; без -S, но с -J разделител " #~ "е табу-\n" #~ " лация, а без -J е интервал. Не влияе на стълбовите " #~ "опции.\n" #~ " -t, --omit-header пропуска горните и долните колонтитули\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " не слага горни и долни колонтитули, изпуска " #~ "управляващите\n" #~ " кодове form feed от входните файлове.\n" #~ " -v, --show-nonprinting\n" #~ " използва осмични числа с наклонена черта (\\019)\n" #~ " -w СТР_ШИР, --width=СТР_ШИР\n" #~ " задава ширина на страницата от СТР_ШИР (72) знака " #~ "при\n" #~ " многоколонен извод, -s[знак] отменя (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W СТР_ШИР, --page-width=СТР_ШИР\n" #~ " задава ширина на страницата от СТР_ШИР (72) знака " #~ "винаги,\n" #~ " съкращава редовете, освен ако е зададена опция -J, не " #~ "се\n" #~ " влияе от -S и -s\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-T се подразбира при -l n, ако n <= 10 или <= 3 при -F. Без ФАЙЛ или " #~ "ако\n" #~ "ФАЙЛ е -, се чете от стандартния вход.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s [ПРОМЕНЛИВА]...\n" #~ " или: %s ОПЦИЯ\n" #~ "Ако не е посочена ПРОМЕНЛИВА от обкръжението, отпечатва всички.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "внимание: %s: знакът(знаците) следващи знакова константа са пренебрегнати" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s ФОРМАТ [АРГУМЕНТ]...\n" #~ " или: %s ОПЦИЯ\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Отпечатва АРГУМЕНТ(ите) според ФОРМАТ.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "ФОРМАТ управлява изхода както при командата printf на Си. Разпознават " #~ "се:\n" #~ "\n" #~ " \\\" двойни прави кавички\n" #~ " \\NNN знакът, чийто осмичен код е NNN (от 1 to 3 цифри)\n" #~ " \\\\ обратна наклонена черта\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a звуков сигнал (BEL)\n" #~ " \\b връщане назад (backspace)\n" #~ " \\c повече не извежда изход\n" #~ " \\f край на страницата (form feed)\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n нов ред\n" #~ " \\r връщане на курсора\n" #~ " \\t хоризонтална табулация\n" #~ " \\v вертикална табулация\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xNN байт със шестнадесетичен код NN (от 1 до 2 цифри)\n" #~ "\n" #~ " \\uNNNN знак от Unicode (ISO/IEC 10646) със 16-ичен код NNNN (4 " #~ "цифри)\n" #~ " \\UNNNNNNNN знак от Unicode със шестнадесетичен код NNNNNNNN (8 " #~ "цифри)\n" #, fuzzy #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% знак процент\n" #~ " %b АРГУМЕНТ, в който се обработват обратните наклонени черти " #~ "„\\“,\n" #~ " но осмичните числа имат вида \\0 или \\0NNN\n" #~ "\n" #~ "и всички форматни спецификации на Си, завършващи със знак измежду " #~ "diouxXfeEgGcs.\n" #~ "АРГУМЕНТите се преобразуват в нужния тип. Поддържат се променливи " #~ "ширини.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: очаква се числова стойност" #~ msgid "%s: value not completely converted" #~ msgstr "%s: стойността не е напълно преобразувана" #~ msgid "missing hexadecimal number in escape" #~ msgstr "липсва шестнадесетично число след \\" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "неправилно универсално име на знак \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "неправилна ширина на поле: %s" #~ msgid "invalid precision: %s" #~ msgstr "неправилна точност: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: неправилна спецификация на преобразувание" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "внимание: пренебрегват се излишните аргументи започвайки от %s" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "Ф. Пинард" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (за рег. израз %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... [ВХОД]... (без -G)\n" #~ " или: %s -G [ОПЦИЯ]... [ВХОД [ИЗХОД]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Извежда подреден азбучен показалец на думите и контекста им във входните " #~ "файлове\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference извежда автоматично генерираните " #~ "препратки\n" #~ " -G, --traditional работи подобно на командата „ptx“ от " #~ "System V\n" #~ " -F, --flag-truncation=НИЗ обозначава с НИЗ при съкращаване на " #~ "редовете\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=НИЗ използва НИЗ вместо „xx“ за макроси\n" #~ " -O, --format=roff извежда изход с команди за roff\n" #~ " -R, --right-side-refs поставя препратките отдясно, не се броят " #~ "при -w\n" #~ " -S, --sentence-regexp=РЕГИЗР за край на редовете или край на " #~ "изреченията\n" #~ " -T, --format=tex извежда изход с команди за TeX\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=РЕГИЗР ползва РЕГИЗР като определящ какво е " #~ "дума\n" #~ " -b, --break-file=ФАЙЛ думите свършват при знак от този ФАЙЛ\n" #~ " -f, --ignore-case сортира еднакво главните и малките " #~ "букви\n" #~ " -g, --gap-size=БРОЙ място между полетата в изхода\n" #~ " -i, --ignore-file=ФАЙЛ ФАЙЛ с думи, които да се пренебрегват\n" #~ " -o, --only-file=ФАЙЛ признават се само думи от този ФАЙЛ\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references първото поле на всеки ред е препратка\n" #~ " -t, --typeset-mode - не е реализирана -\n" #~ " -w, --width=БРОЙ ширина на изхода, препратките не се " #~ "броят\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Без ФАЙЛ или ако ФАЙЛ е -, се чете от стандартния вход. „-F /“ се " #~ "подразбира.\n" #~ msgid "invalid gap width: %s" #~ msgstr "неправилна ширина на мястото между полетата: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Извежда пълното файлово име на текущия работен каталог.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "не може отвори каталогът %s" #~ msgid "failed to stat %s" #~ msgstr "не може да се изпълни stat за %s" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "" #~ "не може да се намери елемента на каталога в %s със съответстващ i-възел" #~ msgid "ignoring non-option arguments" #~ msgstr "пренебрегват се аргументи, които не са опции" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Използване: %s [ОПЦИЯ]... ФАЙЛ\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Извежда стойността на символна препратка на стандартния изход.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize прави в канонична форма следвайки всяка " #~ "символна\n" #~ " връзка във всеки компонент на даденото " #~ "име\n" #~ " рекурсивно; всички освен последният " #~ "компонент\n" #~ " трябва да съществуват\n" #~ " -e, --canonicalize-existing прави в канонична форма следвайки всяка " #~ "символна\n" #~ " връзка във всеки компонент на даденото " #~ "име\n" #~ " рекурсивно; компонентите трябва да " #~ "съществуват\n" #~ " -m, --canonicalize-missing прави в канонична форма следвайки всяка " #~ "символна\n" #~ " връзка във всеки компонент на да даденото " #~ "име\n" #~ " без изисквания за съществуването на " #~ "компонентите\n" #~ " -n, --no-newline не символи за нов ред в края\n" #~ " -q, --quiet,\n" #~ " -s, --silent потиска повечето съобщения за грешка\n" #~ " -v, --verbose извежда съобщенията за грешки\n" #, fuzzy #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -f, --canonicalize нормализира, следвайки рекурсивно всяка " #~ "символна\n" #~ " връзка, която е компонент на зададената пътека\n" #~ " -n, --no-newline не извежда в края знак за нов ред\n" #~ " -q, --quiet,\n" #~ " -s, --silent потиска повечето съобщения за грешка\n" #~ " -v, --verbose съобщава при наличие на грешка\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "КРИТИЧНА ГРЕШКА: каталогът %s не може да се затвори" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "КРИТИЧНА ГРЕШКА: не може да се отвори .. от %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "КРИТИЧНА ГРЕШКА: не може да се гарантира, че %s (върнато през ..) е " #~ "сигурно" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "КРИТИЧНА ГРЕШКА: промени се dev/ino на %s" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "КРИТИЧНА ГРЕШКА: не може да се влезе в каталога %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "КРИТИЧНА ГРЕШКА: каталогът %s, в който току що се влезе, си смени dev/ino" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "ВНИМАНИЕ: Циклична каталожна структура.\n" #~ "Това почти със сигурност означава, че имате повредена файлова система.\n" #~ "ИЗВЕСТЕТЕ ВАШИЯ СИСТЕМЕН АДМИНИСТРАТОР.\n" #~ "Следващият каталог е част от цикъла:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: да се навлезе ли в защитения срещу запис каталог %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: да се навлезе ли в каталога %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: да се изтрие ли %s със защита срещу запис %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: да се изтрие ли %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "каталогът %s е изтрит\n" #~ msgid "failed to close directory %s" #~ msgstr "каталогът %s не може да се затвори" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "пропуска се %s тъй като е на друго устройство" #~ msgid "cannot remove directory %s" #~ msgstr "не може да се изтрие каталогът %s" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "КРИТИЧНА ГРЕШКА: не може да се върне в .. от %s" #~ msgid "cannot remove root directory %s" #~ msgstr "не може да се изтрие кореновият каталог %s" #~ msgid "cannot remove relative-named %s" #~ msgstr "не може да се изтрие относително именуваният %s" #~ msgid "cannot restore current working directory" #~ msgstr "не може да се възстанови текущият работен каталог" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Опитайте „%s ./%s“, за да изтриете файла %s.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Използване: %s [ОПЦИЯ]... ФАЙЛ...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Изтрива (unlink) ФАЙЛовете.\n" #~ "\n" #~ " -f, --force пренебрегва несъществуващи файлове, не пита\n" #~ " -i пита преди всяко триене\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I пита веднъж преди изтриването на повече от три " #~ "файла\n" #~ " или при рекурсивно триене. По-малко досадно от " #~ "-i,\n" #~ " но все пак защитава срещу повечето грешки\n" #~ " --interactive[=КОГА] пита според КОГА: never, once (-I) или always " #~ "(-i).\n" #~ " Без КОГА пита винаги\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system при рекурсивно остраняване на файлове, пропуска\n" #~ " каталози, които са на файлова система, различна " #~ "от\n" #~ " тази на съответния аргумент на командния ред\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root да не се обработва „/“ по-особено\n" #~ " --preserve-root да не се действа рекурсивно от „/“ (по " #~ "подразбиране)\n" #~ " -r, -R, --recursive изтрива рекурсивно каталозите и съдържанието им\n" #~ " -v, --verbose съобщава какво се прави\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "По подразбиране rm не изтрива каталози. За целта ползвайте опцията --" #~ "recursive\n" #~ "(-r или -R), която ще изтрие всеки изброен каталог, заедно със " #~ "съдържанието му.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "За да се изтрие файл, чието име започва с „-“ (напр. „-трънки“),\n" #~ "използвайте една от командите:\n" #~ " %s -- -трънки\n" #~ "\n" #~ " %s ./-трънки\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Забележете, че ако използвате rm, за да изтриете даден файл, обикновено " #~ "е\n" #~ "възможно съдържанието му да бъде възстановено. Ако искате да си " #~ "гарантирате, че\n" #~ "съдържанието му е напълно невъзстановимо, помислете дали да не използвате " #~ "shred.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: да се изтрият ли рекурсивно всички аргументи? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: да се изтрият ли всички аргументи" #~ msgid "removing directory, %s" #~ msgstr "каталогът %s се изтрива" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "каталогът %s не може да се затвори" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Използване: %s [ОПЦИЯ]... КАТАЛОГ...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Изтрива КАТАЛОГ(зите), ако са празни.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " пренебрегва всеки неуспех, дължащ се само на това, че " #~ "някой\n" #~ " каталог е бил непразен\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents изтрива КАТАЛОГ, след това се опитва да изтрие всеки " #~ "каталог,\n" #~ " който е част от посочената пътека. Напр. „rmdir -p a/b/" #~ "c“ е\n" #~ " като „rmdir a/b/c a/b a“.\n" #~ " -v, --verbose извежда съобщение за всеки обработен каталог\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "не може да се отвори %s" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "не могат да се получат атрибутите на %s" #, fuzzy #~ msgid "no command specified" #~ msgstr "не е посочен номер на процес" #, fuzzy #~ msgid "failed to compute a new context" #~ msgstr "не може да се отвори %s" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "не може да се отвори %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "не може да се изпълни stat за %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "не може да се изпълни stat за %s" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "не може да се отвори %s" #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "не може да се възстановят правата за достъп до %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... ПОСЛЕДНО\n" #~ " или: %s [ОПЦИЯ]... ПЪРВО ПОСЛЕДНО\n" #~ " или: %s [ОПЦИЯ]... ПЪРВО СТЪПКА ПОСЛЕДНО\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Извежда числата от ПЪРВО до ПОСЛЕДНО със стъпка СТЪПКА.\n" #~ "\n" #~ " -f, --format=ФОРМАТ използва ФОРМАТ за плаваща запетая на printf\n" #~ " -s, --separator=НИЗ ползва НИЗ, за да разделя числата (по подразб. " #~ "\\n)\n" #~ " -w, --equal-width подравнява ширината, попълвайки в началото с " #~ "нули\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Ако ПЪРВО или СТЪПКА са пропуснати, по подразбиране се използва 1. " #~ "Например ако\n" #~ "е пропусната СТЪПКА, по подразбиране тя е 1 дори и ако ПОСЛЕДНО е по-" #~ "малко от\n" #~ "ПЪРВО. ПЪРВО, СТЪПКА И ПОСЛЕДНО се интерпретират като числа с плаваща " #~ "запетая.\n" #~ "Обикновено СТЪПКА е положителна, ако ПЪРВО е по-малко от ПОСЛЕДНО и " #~ "отрицателна\n" #~ "иначе. ФОРМАТът трябва да бъде подходящ за извеждането на едно число с " #~ "плаваща\n" #~ "запетая; по подразбиране е %.ТОЧНОСТf, ако всяко от ПЪРВО, СТЪПКА И " #~ "ПОСЛЕДНО е\n" #~ "число с плаваща запетая с максимална точност TOЧНОСТ и %g иначе.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "неправилно число с плаваща запетая като аргумент: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "неправилен низ за формат: %s" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "твърде много означители за преобразуване %% в суфикса" #~ msgid "invalid format string: %s" #~ msgstr "неправилен низ за формат: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "не може да се използва форматен низ, когато се извеждат низове с еднаква " #~ "ширина" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s ПОТРЕБ_ИМЕ КОМАНДА [АРГУМЕНТ]...\n" #~ " или: %s ОПЦИЯ\n" #, fuzzy #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Отказва се от всички допълнителни групи, приема потребителя и групата на\n" #~ "посоченото ПОТРЕБ_ИМЕ и изпълнява КОМАНДАта с всички посочени АРГУМЕНТи.\n" #~ "Приключва с код-състояние 111, ако не могат да се приемат необходимите\n" #~ "потребител и група. В противен случай приключва с кода-състояние на\n" #~ "КОМАНДАта. Тази програма е полезна само ако се изпълнява от root.\n" #~ "\n" #~ msgid "unknown user-ID: %s" #~ msgstr "непознат потребител: %s" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "не може да се установи допълнителна група" #~ msgid "cannot set group-ID to %lu" #~ msgstr "не може да се приеме група %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "не може да се приеме потребител %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Използване: %s [ОПЦИИ] ФАЙЛ [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Заличава многократно посочените ФАЙЛ(ове) с цел да се затрудни " #~ "значително\n" #~ "възстановяването на данните от тях дори и с използване на специална " #~ "апаратура.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force ако трябва, променя режимът за достъп, за да се позволи " #~ "запис\n" #~ " -n, --iterations=N Заличава N пъти (по подразбиране %d пъти)\n" #~ " --random-source=ФАЙЛ чете случайни байтове от ФАЙЛ (вместо /dev/" #~ "urandom)\n" #~ " -s, --size=N заличава N байта (приемат се суфикси като K, M, G)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove съкращава до нулева дължина и изтрива файла след " #~ "заличаването\n" #~ " -v, --verbose показва информация за напредъка\n" #~ " -x, --exact не закръглява размерите на файловете до следващия пълен " #~ "блок;\n" #~ " за специални файлове и каталози това е по " #~ "подразбиране\n" #~ " -z, --zero накрая заличава с нули, за да се скрие използването на " #~ "shred\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ако ФАЙЛ е -, заличава стандартния изход.\n" #~ "\n" #~ "Изтрива ФАЙЛ(овете), ако е посочена опция --remove (-u). По " #~ "подразбиране\n" #~ "файловете не се изтриват, защото е обичайно shred да се използва за " #~ "устройства\n" #~ "като /dev/hda, а обикновено такива файлове не трябва да се изтриват. " #~ "Когато се\n" #~ "действа върху обикновени файлове, повечето хора използват опцията --" #~ "remove.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "ВНИМАНИЕ: Забележете, че shred разчита на следното съществено " #~ "предположение:\n" #~ "файловата система заличава данните на мястото им. Традиционно се прави " #~ "точно\n" #~ "това, но замисълът на много от модерните файлови системи е такъв, че те " #~ "не\n" #~ "отговарят на това предположение. Следват примери на файлови системи, при " #~ "които\n" #~ "shred не е ефективна команда или поне не се гарантира да бъде ефективна " #~ "при\n" #~ "всички режими на работа на файловата система:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "- log-структурираните или журнализирани файлови системи като JFS, " #~ "ReiserFS, XFS,\n" #~ " Ext3 (включително файловите системи, разпространявани с AIX и Solaris)\n" #~ "\n" #~ "- файловите системи, които записват излишни данни и ги пазят, дори когато " #~ "някой\n" #~ " записва върху файла, например файловите системи, използващи RAID\n" #~ "\n" #~ "- файловите системи, които правят копия, като напр. NFS-сървърът на\n" #~ " Network Appliance\n" #~ "\n" #, fuzzy #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "- файловите системи които кешират информацията на временни места, " #~ "например\n" #~ " клиентите на NFS, версия 3\n" #~ "\n" #~ "- компресиращите файлови системи\n" #~ "\n" #~ "По отношение на файловата система ext3 горното предупреждение е " #~ "приложимо\n" #~ "(и следователно shred е с ограничена ефективност) само в режим " #~ "data=journal,\n" #~ "при който освен метаданни се журнализират и данни от файловете. Както " #~ "при\n" #~ "data=ordered (по подразбиране), така и при data=writeback, shred работи\n" #~ "както трябва. Журнализиращият режим на Ext3 може да бъде избран " #~ "посредством\n" #~ "добавяне на опция data=нещо към опциите при монтиране на съответната " #~ "файлова\n" #~ "система във файла /etc/fstab, както това е описано в man-страницата на " #~ "mount\n" #~ "(използвайте: man mount).\n" #~ "\n" #~ "Трябва да се има предвид още и това, че резервните копия и отдалечени " #~ "огледала\n" #~ "също могат да съдържат копия на файла, които не могат да бъдат отстранени " #~ "и\n" #~ "дават възможност заличеният със shred файл да бъде възстановен.\n" #, fuzzy #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "- файлови системи, които кешират информацията на временни места, като " #~ "клиентите\n" #~ " на NFS версия 3\n" #~ "\n" #~ "- компресираните файлови системи\n" #~ "\n" #~ "Освен това резервните копия на файловите системи могат да съдържат копия " #~ "на\n" #~ "файла, които не могат да бъдат изтрити и които ще позволят по-късно " #~ "изтритият\n" #~ "файл да бъде възстановен.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: неуспешно извикване на fdatasync" #~ msgid "%s: fsync failed" #~ msgstr "%s: неуспешно извикване на fsync" #~ msgid "%s: cannot rewind" #~ msgstr "%s: битовете не могат да се обръщат" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: итерация %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: грешка при запис на отместване %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: неуспешно извикване на lseek" #~ msgid "%s: file too large" #~ msgstr "%s: файлът е твърде дълъг" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: итерация %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: итерация %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: неуспешно извикване на fstat" #~ msgid "%s: invalid file type" #~ msgstr "%s: недопустим тип на файла" #~ msgid "%s: file has negative size" #~ msgstr "%s: файлът има отрицателен размер" #~ msgid "%s: error truncating" #~ msgstr "%s: грешка при съкращаване" #~ msgid "%s: fcntl failed" #~ msgstr "%s: неуспешно извикване на fcntl" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: не може да се заличава файл с режим на достъп само за добавяне" #~ msgid "%s: removing" #~ msgstr "%s: изтриване" #~ msgid "%s: renamed to %s" #~ msgstr "%s: преименуван на %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: не може да се отстрани" #~ msgid "%s: removed" #~ msgstr "%s: изтрит" #~ msgid "%s: failed to close" #~ msgstr "%s: не може да се затвори" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: не може да се отвори в режим за писане" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: неправилен брой итерации" #~ msgid "multiple random sources specified" #~ msgstr "посочени са много случайни източници" #~ msgid "%s: invalid file size" #~ msgstr "%s: неправилен размер на файла" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... [ФАЙЛ]\n" #~ " или: %s -e [ОПЦИЯ]... [АРГУМЕНТ]...\n" #~ " или: %s -i ОТ-ДО [ОПЦИЯ]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Извежда на стандартния изход случайни пермутации на входните редове.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo работи с всеки АРГУМЕНТ като с входен ред\n" #~ " -i, --input-range=ОТ-ДО работи с всяко число от ОТ до ДО като с " #~ "входен ред\n" #~ " -n, --head-lines=БРОЙ извежда най-много БРОЙ реда\n" #~ " -o, --output=ФАЙЛ извежда резултата във ФАЙЛ вместо на станд. " #~ "изход\n" #~ " --random-source=ФАЙЛ чете случайни байтове от ФАЙЛ (вместо /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated завършва редовете с нулев байт вместо с нов " #~ "ред\n" #~ msgid "multiple -i options specified" #~ msgstr "посочени са много опции -i" #~ msgid "invalid input range %s" #~ msgstr "неправилен входен диапазон: %s" #~ msgid "invalid line count %s" #~ msgstr "неправилен брой редове: %s" #~ msgid "multiple output files specified" #~ msgstr "посочени са твърде много изходни файлове" #~ msgid "extra operand %s\n" #~ msgstr "излишен операнд %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s ЧИСЛО[СУФИКС]...\n" #~ " или: %s ОПЦИЯ\n" #~ "Чака ЧИСЛО секунди. СУФИКС може да бъде „s“ за секунди (по " #~ "подразбиране),\n" #~ "“m“ за минути, „h“ за часове или „d“ за дни. За разлика от повечето " #~ "други\n" #~ "реализации, при които ЧИСЛО трябва да бъде цяло число, тук ЧИСЛО може да " #~ "бъде\n" #~ "произволно число с плаваща запетая. При повече от един аргументи чака " #~ "сумата\n" #~ "от посочените времена.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "неправилен интервал за време %s" #~ msgid "cannot read realtime clock" #~ msgstr "не може да се чете часовникът в реално време" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Извежда на стандартния изход сортирана конкатенация на всички ФАЙЛ(ове).\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Опции, определящи наредбата:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks не отчита интервалите в началото\n" #~ " -d, --dictionary-order отчита само интервалите и буквено-цифровите " #~ "знаци\n" #~ " -f, --ignore-case приравнява малките с главните букви\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort сравнява според общата числова стойност\n" #~ " -i, --ignore-nonprinting отчита само печатните знаци\n" #~ " -M, --month-sort сравнява (неизвестно) < `ЯНУ' < ... < " #~ "`ДЕК'\n" #~ " -n, --numeric-sort сравнява според числовата стойност на " #~ "низовете\n" #~ " -R, --random-sort сортира според случаен хеш\n" #~ " --random-source=FILE чете случайни байтове от ФАЙЛ (вместо /dev/" #~ "urandom)\n" #~ " -r, --reverse сортира в обратен ред\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "Други опции:\n" #~ "\n" #~ " -c, --check проверява дали входът е сортиран; не сортира\n" #~ " -k, --key=ПОЗ1[,ПОЗ2] сортира по ключ от ПОЗ1 до ПОЗ2 (брои се от " #~ "1)\n" #~ " -m, --merge слива вече сортирани файлове; не сортира\n" #~ " -o, --output=ФАЙЛ записва резултата във ФАЙЛ вместо на станд. " #~ "изход\n" #~ " -s, --stable стабилизира sort пропускайки last-resort " #~ "comparison\n" #~ " -S, --buffer-size=РАЗМ използва буфер в паметта с размер РАЗМ\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=РАЗД ползва РАЗД вместо преход от видим знак към " #~ "интерв.\n" #~ " -T, --temporary-directory=КАТ каталог за временни файлове вместо " #~ "$TMPDIR или\n" #~ " %s; няколко такива опции за няколко " #~ "каталога\n" #~ " -u, --unique с „-c“ проверява за строга наредба; иначе\n" #~ " извежда само първия от група еквивалентни " #~ "редове\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated завършва редовете с байт 0 вместо с нов ред\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "ПОЗ е F[.C][ОПЦ], където F е номер на поле, а C - мястото на знака в\n" #~ "полето, броейки от 1. Ако нито -t, нито -b е активно, знаците се\n" #~ "броят от началото на предхождащото бяло поле. ОПЦ е една или повече\n" #~ "еднобуквени опции за наредба на буквите, които има приоритет при това\n" #~ "поле пред глобалните опции за наредба. Ако не е посочено поле, като\n" #~ "поле се ползва целият ред.\n" #~ "\n" #~ "РАЗМ може да бъде следван от някой от следните множители:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% от паметта, b 1, K 1024 (по подразб.) и т.н. за M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "Без ФАЙЛ или ако ФАЙЛ е -, чете от стандартния вход.\n" #~ "\n" #~ "*** ВНИМАНИЕ ***\n" #~ "Локалът, посочен в обкръжението, влияе на наредбата.\n" #~ "Използвайте LC_ALL=C, за да получите традиционната наредба,\n" #~ "която сравнява според кодовете на знаците.\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "запис в %s" #~ msgid "cannot create temporary file" #~ msgstr "не може да се направи временен файл" #~ msgid "open failed" #~ msgstr "неуспешно отваряне на файл" #~ msgid "fflush failed" #~ msgstr "неуспешно извикване на fflush" #~ msgid "close failed" #~ msgstr "неуспешно затваряне на файл" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "неуспешно отваряне на файл" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "не може да се направи временен файл" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "не може да се направи временен файл" #~ msgid "write failed" #~ msgstr "неуспешен запис" #~ msgid "warning: cannot remove: %s" #~ msgstr "внимание: не може да се изтрие: %s" #~ msgid "stat failed" #~ msgstr "файл не може да бъде открит" #~ msgid "read failed" #~ msgstr "не може да се чете" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: разбърканост: " #~ msgid "standard error" #~ msgstr "стандартната грешка" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: неправилна спецификация на поле %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "опциите „-%s“ са несъвместими" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: неправилен брой в началото на %s" #~ msgid "invalid number after `-'" #~ msgstr "неправилно число след „-“" #~ msgid "invalid number after `.'" #~ msgstr "неправилно число след „.“" #~ msgid "stray character in field spec" #~ msgstr "неочакван знак в спецификация на поле" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "посочени са много формати за изхода" #~ msgid "invalid number at field start" #~ msgstr "неправилно число в началото на поле" #~ msgid "field number is zero" #~ msgstr "номерът на поле е нула" #~ msgid "character offset is zero" #~ msgstr "отместването в знаци е нула" #~ msgid "invalid number after `,'" #~ msgstr "неправилно число след „,“" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "допълнителният операнд %s не е позволен с -c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Използване: %s [ОПЦИЯ] [ВХОД [ПРЕФИКС]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Разделя ВХОД на парчета ПРЕФИКСaa, ПРЕФИКСab,... с фиксиран размер. По \n" #~ "подразбиране ПРЕФИКС е „xx“, а размерът - 1000 реда. Без ВХОД или ако " #~ "ВХОД e -,\n" #~ "чете от стандартния вход.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N ползва суфикси с дължина N (по подразбиране %" #~ "d)\n" #~ " -b, --bytes=РАЗМ дели на парчета с размер РАЗМ байта\n" #~ " -C, --line-bytes=РАЗМ разделя по редове до РАЗМ байта на изходен " #~ "файл\n" #~ " -d, --numeric-suffixes ползва числови суфикси вместо буквени\n" #~ " -l, --lines=ЧИСЛО дели на по ЧИСЛО редове на изходен файл\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose съобщава на стандартната грешка преди " #~ "отварянето\n" #~ " на всеки изходен файл\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "БЛОКОВЕ и БАЙТОВЕ могат да бъдат следвани от следните суфикси-множители:\n" #~ "xM=M, c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024,\n" #~ "GB=1000*1000*1000, G=1024*1024*1024 и аналогично за T, P, E, Z и Y.\n" #~ "Всяка КЛЮЧДУМА може да бъде:\n" #~ "\n" #~ msgid "creating file %s\n" #~ msgstr "създава се файл %s\n" #~ msgid "cannot split in more than one way" #~ msgstr "не може да се цепи по повече от един начин" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: неправилна дължина на суфикс" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: неправилен брой байтове" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: неправилен брой редове" #~ msgid "line count option -%s%c... is too large" #~ msgstr "опцията за брой редове -%s%c... е твърде голямa" #~ msgid "invalid number of lines: 0" #~ msgstr "недопустим брой редове: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "внимание: неразпозната команда с обратна наклонена черта „\\%c“" #~ msgid "%s: invalid directive" #~ msgstr "%s: неправилна команда" #~ msgid "warning: backslash at end of format" #~ msgstr "внимание: обратна наклонена черта в края на форматен низ" #~ msgid "cannot read file system information for %s" #~ msgstr "не може да се прочете от файловата система информация за %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Използване: %s [ОПЦИЯ] ФАЙЛ...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Извежда състоянието на файл или файлова система.\n" #~ "\n" #~ " -L, --dereference следва символните връзки\n" #~ " -f, --file-system извежда състоянието на файловата система, вместо " #~ "на файла\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=ФОРМАТ да се използва посоченият ФОРМАТ, вместо " #~ "подразбиращия се;\n" #~ " да се изведе нов ред след всяко използване на " #~ "ФОРМАТ\n" #~ " --printf=ФОРМАТ като --format, но да се интерпретират обратно " #~ "наклонените черти\n" #~ " и да не се извежда задължителния завършващ нов " #~ "ред.\n" #~ " Ако искате нов ред, вмъкнете \\n във ФОРМАТ.\n" #~ " -t, --terse информацията да се извежда в сбита форма\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Допустими ФОРМАТи за файлове (без --file-system) са:\n" #~ "\n" #~ " %a Режим за достъп като осмично число\n" #~ " %A Режим за достъп във формат удобен за четене от хора\n" #~ " %b Брой заделени блокове (вж. %B)\n" #~ " %B Размерът в байтове на всеки блок, съобщен от %b\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Десетичен номер на устройство\n" #~ " %D Шестнадесетичен номер на устройство\n" #~ " %f Шестнадесетичен суров режим (raw mode)\n" #~ " %F Тип на файла\n" #~ " %g Номер на групата на собственика\n" #~ " %G Име на групата на собственика\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Брой твърди връзки\n" #~ " %i Номер на i-възел\n" #~ " %n Име на файла\n" #~ " %N Име на файла в кавички и сочен файл, ако е символна връзка\n" #~ " %o размер на входно-изходния блок\n" #~ " %s Общ размер в байтове\n" #~ " %t Голям шестнадесетичен номер на устройство\n" #~ " %T Малък шестнадесетичен номер на устройство\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u Потребителски номер на собственика\n" #~ " %U Потребителско име на собственика\n" #~ " %x Време на последен достъп\n" #~ " %X Време на последен достъп в секунди от Епохата\n" #~ " %y Време на последно изменение (modification)\n" #~ " %Y Време на последно изменение в секунди от Епохата\n" #~ " %z Време на последна промяна (change)\n" #~ " %Z Време на последна промяна в секунди от Епохата\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Валидни формати за файловите системи са:\n" #~ "\n" #~ " %a Свободни блокове, достъпни за обикновени потребители\n" #~ " %b Общ брой блокове за данни във файловата система\n" #~ " %c Общ брой файлови възли във файловата система\n" #~ " %d Свободни файлови възли във файловата система\n" #~ " %f Свободни блокове във файловата система\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Шестнадесетичен индекс на файловата система\n" #~ " %l Максимална дължина на файловите имена\n" #~ " %n Име на файла\n" #~ " %s Оптимален размер на блока за бърз трансфер\n" #~ " %S Основен размер на блока (при броене на блоковете)\n" #~ " %t Типът като шестнадесетично число\n" #~ " %T Типът във вид за четене от човек\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Използване: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [НАСТРОЙКА]...\n" #~ " или: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-a|--all]\n" #~ " или: %s [-F УСТРОЙСТВО] [--file=УСТРОЙСТВО] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Извежда или променя характеристиките на терминала\n" #~ "\n" #~ " -a, --all извежда всички текущи настройки в удобен за четене " #~ "вид\n" #~ " -g, --save извежда всички текущи настройки във формат, четим от " #~ "stty\n" #~ " -F, --file=УСТРОЙСТВО отваря и използва посоченото УСТРОЙСТВО вместо " #~ "стд.вход\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Минус преди НАСТРОЙКА показва отрицание. Знак * означава не POSIX " #~ "настройка.\n" #~ "Кои настройки са допустими зависи от използваната система.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Управляващи кодове:\n" #~ " * dsusp ЗНАК ЗНАК ще изпрати сигнал terminal stop, когато входът " #~ "изпрати\n" #~ " eof ЗНАК ЗНАК ще изпрати сигнал край на файл (ще прекрати входа)\n" #~ " eol ЗНАК ЗНАК ще завърши реда\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 ЗНАК алтернативен ЗНАК за край на реда\n" #~ " erase ЗНАК ЗНАК ще изтрие последния въведен знак\n" #~ " intr ЗНАК ЗНАК ще изпрати сигнал за прекъсване\n" #~ " kill ЗНАК ЗНАК ще изтрие текущия ред\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext ЗНАК ЗНАК ще въведе следващия знак буквално, дори ако е " #~ "управляващ\n" #~ " quit ЗНАК ЗНАК ще изпрати сигнал „изход“\n" #~ " * rprnt ЗНАК ЗНАК ще пречертае текущия ред\n" #~ " start ЗНАК ЗНАК ще възобнови извеждането, след като е било " #~ "прекъснато\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop ЗНАК ЗНАК ще спре извеждането\n" #~ " susp ЗНАК ЗНАК ще изпрати сигнал „спиране на терминала“\n" #~ " * swtch ЗНАК ЗНАК ще превключи на друг слой на обвивката (shell " #~ "layer)\n" #~ " * werase ЗНАК ЗНАК ще изтрие последната въведена дума\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Специални настройки:\n" #~ " N посочва скорости за входа и изхода N бода\n" #~ " * cols N казва на ядрото, че терминалът има N стълба\n" #~ " * columns N същото като cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N посочва скорост на входа N бода\n" #~ " * line N ползва редова дисциплина N\n" #~ " min N с -icanon посочва поне N знака за завършено четене\n" #~ " ospeed N посочва скорост на изхода N бода\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N казва на ядрото, че терминалът има N реда\n" #~ " * size извежда броя редове и стълбове според ядрото\n" #~ " speed извежда скоростта на терминала\n" #~ " time N с -icanon посочва прекъсване при четене до N десети от " #~ "секундата\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Управляващи настройки:\n" #~ " [-]clocal забранява сигналите управляващите сигнали за модем\n" #~ " [-]cread позволява да се получава входа\n" #~ " * [-]crtscts позволява диалог (handshaking) RTS/CTS\n" #~ " csN посочва размер на знаците до N бита, N е от 5 до 8\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb използва два стоп-бита на знак (един с „-“)\n" #~ " [-]hup изпраща сигнал за увисване, ako всички процеси затворят " #~ "tty\n" #~ " [-]hupcl същото като [-]hup\n" #~ " [-]parenb генерира на изхода и очаква на входа бит за четност\n" #~ " [-]parodd посочва текова четност (четна с „-“)\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Настройки на входа:\n" #~ " [-]brkint прекъсванията да довеждат до сигнал за прекъсване\n" #~ " [-]icrnl превежда кодовете за връщане на курсора в кодове за нов " #~ "ред\n" #~ " [-]ignbrk пренебрегва знаците за прекъсване\n" #~ " [-]igncr пренебрегва знаците за връщане на курсора\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar пренебрегва знаците с грешка на четността\n" #~ " * [-]imaxbel звуков сигнал и запазване на препълнен буфер при нов " #~ "знак\n" #~ " [-]inlcr превежда кодовете за нов ред в кодове за връщане на " #~ "курсора\n" #~ " [-]inpck позволява проверка за четността на входа\n" #~ " [-]istrip изчиства старшия (8-мия) бит на входните знаци\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr "" #~ " * [-]iutf8 да се предполага, че входните знаци са кодирани в UTF-8\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc превежда знаците от горен регистър в долен регистър\n" #~ " * [-]ixany всеки знак да рестартира извеждането (не само знака за " #~ "старт)\n" #~ " [-]ixoff позволява изпращането на знаци за старт/стоп\n" #~ " [-]ixon позволява управление на потока XON/XOFF (т.е. Ctrl-S/" #~ "Ctrl-Q)\n" #~ " [-]parmrk маркира грешките по четност (с последователност 255-0)\n" #~ " [-]tandem същото като [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Настройки на извеждането:\n" #~ " * bsN стил за задържане на backspace, N е 0 или 1\n" #~ " * crN стил за задържане на връщане на курсора, N е от 0 до 3\n" #~ " * ffN стил за задържане на код за нова страница, N е 0 или 1\n" #~ " * nlN стил за задържане на код за нов ред, N е 0 или 1\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl превежда кодовете за връщане на курсора в кодове за нов " #~ "ред\n" #~ " * [-]ofdel използва кодове delete за попълване вместо null\n" #~ " * [-]ofill използва попълващи кодове вместо синхронизиране при " #~ "забавяне\n" #~ " * [-]olcuc превежда знаците от долен регистър в знаци от горен " #~ "регистър\n" #~ " * [-]onlcr превежда кодовете нов ред в кодове връщане на курсора и " #~ "нов ред\n" #~ " * [-]onlret кодът за нов ред осъществява връщане на курсора\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr не извежда знаци за връщане на курсора в първия стълб\n" #~ " [-]opost дообработка (postprocess) на изхода\n" #~ " * tabN стил за задържане на кодове за хориз. табулация, N е от " #~ "0 до 3\n" #~ " * tabs същото като tab0\n" #~ " * -tabs същото като tab3\n" #~ " * vtN стил за задържане на кодове за вертик. табулация, N е 0 " #~ "или 1\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Локални настройки:\n" #~ " [-]crterase ехо на кодовете за изтриване като backspace-интервал-" #~ "backspace\n" #~ " * crtkill убива реда според на настройките echoprt и echoe\n" #~ " * -crtkill убива реда според на настройките echoctl и echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho ехо на управляващите кодове с шапки (“^c“)\n" #~ " [-]echo ехо на входните знаци\n" #~ " * [-]echoctl същото като [-]ctlecho\n" #~ " [-]echoe същото като [-]crterase\n" #~ " [-]echok ехо на нов ред след код за убиване\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke същото като [-]crtkill\n" #~ " [-]echonl ехо на нов ред дори ако не е имало ехо на други символи\n" #~ " * [-]echoprt ехо на изтритите знаци назад, между „\\“ и „/“\n" #~ " [-]icanon позволява управляващите кодове за erase, kill, werase и " #~ "rprnt\n" #~ " [-]iexten позволява управляващите кодове, които не отговарят на " #~ "POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig позволява управляващите кодове за interrupt, quit и " #~ "suspend\n" #~ " [-]noflsh забранява моменталното извеждане след кодове interrupt и " #~ "quit\n" #~ " * [-]prterase същото като [-]echoprt\n" #~ " * [-]tostop спира фоновите задачи, които се опитват да пишат на " #~ "терминала\n" #~ " * [-]xcase с icanon извежда главните букви като предшествани от " #~ "„\\“ малки\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Комбинирани настройки:\n" #~ " * [-]LCASE същото като [-]lcase\n" #~ " cbreak същото като -icanon\n" #~ " -cbreak същото като icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked същото като brkint ignpar istrip icrnl ixon opost isig " #~ "icanon\n" #~ " управляващите символи eof и eol имат стандартното си " #~ "значение\n" #~ " -cooked същото като raw\n" #~ " crt същото като echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec същото като echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ " * [-]decctlq същото като [-]ixany\n" #~ " ek управляващите символи erase и kill със стандартната си " #~ "стойност\n" #~ " evenp същото като parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp същото като -parenb cs8\n" #~ " * [-]lcase същото като xcase iuclc olcuc\n" #~ " litout същото като -parenb -istrip -opost cs8\n" #~ " -litout същото като parenb istrip opost cs7\n" #~ " nl същото като -icrnl -onlcr\n" #~ " -nl същото като icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp същото като parenb parodd cs7\n" #~ " -oddp същото като -parenb cs8\n" #~ " [-]parity същото като [-]evenp\n" #~ " pass8 същото като -parenb -istrip cs8\n" #~ " -pass8 същото като parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw същото като -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw същото като\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane същото като -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, всички " #~ "управляващи\n" #~ " знаци запазват стандартната си стойност.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Управлява терминалната линия, свързана на стандартния изход. Без " #~ "аргументи\n" #~ "извежда скоростта в бодове (т.е. бит/сек), дисциплината на линията и\n" #~ "различията от stty sane. В настройките ЗНАК се задава буквално или " #~ "кодиран\n" #~ "като ^c, 0x37, 0177 или 127; специалните стойности ^- и undef се " #~ "използват,\n" #~ "за да се забранят съответните управляващи знаци.\n" #~ msgid "only one device may be specified" #~ msgstr "може да се посочва само едно устройство" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "опциите за подробен и stty-четим изходен стил\n" #~ "взаимно се изключват" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "при посочване на изходен стил не може да се настройват режими" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: не може да се презададе режимът non-blocking" #~ msgid "invalid argument %s" #~ msgstr "неправилен аргумент %s" #~ msgid "missing argument to %s" #~ msgstr "липсва аргумент за %s" #~ msgid "invalid line discipline %s" #~ msgstr "неправилна дисциплина на редовете %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: не може да се осъществят всички поискани операции" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mode\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: няма информация за размера на това устройство" #~ msgid "invalid integer argument %s" #~ msgstr "неправилен числов аргумент %s" #~ msgid "Password:" #~ msgstr "Парола:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: не може да се отвори /dev/tty" #~ msgid "cannot set groups" #~ msgstr "не може да се зададат групите" #~ msgid "cannot set group id" #~ msgstr "не може да се зададе групата" #~ msgid "cannot set user id" #~ msgstr "не може да се зададе потребителят" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [-] [ПОТР [АРГ]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Прави действащите (effective) номера на потребител и група да са тези на " #~ "ПОТР.\n" #~ "\n" #~ " -, -l, --login прави обвивката да бъде входяща обвивка\n" #~ " -c, --command=КОМАНДА подава с -c на обвивката несъставна " #~ "КОМАНДА\n" #~ " -f, --fast подава -f на обвивката (за csh и tcsh)\n" #~ " -m, --preserve-environment не преустановява променливите от " #~ "обкръжението\n" #~ " -p същото като -m\n" #~ " -s, --shell=ОБВИВКА стартира ОБВИВКА, ако /etc/shells " #~ "позволява това\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Само - влече -l. Ако не е посочен ПОТР, приема се root.\n" #~ msgid "user %s does not exist" #~ msgstr "не съществува потребител %s" #~ msgid "incorrect password" #~ msgstr "неправилна парола" #~ msgid "using restricted shell %s" #~ msgstr "използва се ограничената обвивка %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "внимание: каталогът не може да се смени на %s" #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Kayvan Aghaiepour и David MacKenzie" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Извежда контролна сума и количеството блокове на всеки ФАЙЛ.\n" #~ "\n" #~ " -r отменя -s, използва сумиращия алгоритъм на BSD, блокове " #~ "от 1K\n" #~ " -s, --sysv ползва сумиращия алгоритъм на System V, блокове от 512 " #~ "байта\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "Записва на диска изменените блокове, актуализира суперблока.\n" #~ msgid "ignoring all arguments" #~ msgstr "всички аргументи се пренебрегват" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "ЗАБЕЛЕЖКА: Обвивката ви може да има своя собствена версия на %s.\n" #~ "Тя обикновено се предпочита пред версията, описана тук. Моля обърнете се\n" #~ "към документацията на използваната от вас обвивка за поддържаните от нея " #~ "опции.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help извежда тази справка и завършва\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version извежда информация за версията и завършва\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Съобщавайте за програмни грешки на <%s>.\n" #~ "За грешки в българския превод на \n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Извежда на стандартния изход всеки ФАЙЛ, последеният ред е пръв.\n" #~ "Без ФАЙЛ или ако ФАЙЛ е -, се чете от стандартния вход.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before прикрепя разделителя преди, а не след\n" #~ " -r, --regex интерпретира разделителя като регулярен израз\n" #~ " -s, --separator=НИЗ вместо кода за нов ред, използва като " #~ "разделител НИЗ\n" #~ msgid "%s: seek failed" #~ msgstr "%s: неуспешно позициониране (seek) във файл" #~ msgid "record too large" #~ msgstr "твърде дълъг запис" #~ msgid "cannot create temporary file %s" #~ msgstr "не може да се направи временен файл %s" #~ msgid "cannot open %s for writing" #~ msgstr "не може да се отвори %s за запис" #~ msgid "%s: write error" #~ msgstr "%s: грешка при запис" #~ msgid "separator cannot be empty" #~ msgstr "разделителят не може да бъде празен" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Извежда на стандартния изход последните %d реда от всеки ФАЙЛ.\n" #~ "Ако има повече от един ФАЙЛ, преди всеки поставя заглавие с файловото " #~ "име.\n" #~ "Без ФАЙЛ или ако ФАЙЛ е -, се чете от стандартния вход.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry продължава опитите да отвори файла, дори ако " #~ "той\n" #~ " бъде недостъпен при стартирането на tail или " #~ "стане\n" #~ " недостъпен по-късно; полезно е само съвместно " #~ "с\n" #~ " --follow=name\n" #~ " -c, --bytes=N извежда последните N байта\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " извежда добавяните данни при нарастване на " #~ "файла;\n" #~ " -f, --follow и --follow=descriptor са " #~ "еквивалентни\n" #~ " -F същото като --follow=name --retry\n" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N извежда последните N реда вместо последните %" #~ "d\n" #~ " --max-unchanged-stats=N\n" #~ " с --follow=name отваря повторно всеки ФАЙЛ, " #~ "който не\n" #~ " си е сменил размера след N (стандартно %d) " #~ "итерации,\n" #~ " за да се провери, дали не е бил изтрит или\n" #~ " преименуван (което е обичайно при завъртане " #~ "на\n" #~ " журналните файлове)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID с -f завършва след като процесът с номер PID " #~ "умре\n" #~ " -q, --quiet, --silent не извежда заглавия с файловите имена\n" #~ " -s, --sleep-interval=S с -f интервалът между итерациите е около S " #~ "секунди\n" #~ " (стандартно 1.0)\n" #~ " -v, --verbose винаги извежда заглавия с файловите имена\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ако първият знак в N (броят байтове или редове) е „+“, извеждането " #~ "започва\n" #~ "от N-тия ред или знак от началото на всеки от файловете. В противен " #~ "случай\n" #~ "извежда последните N реда или знака от всеки файл. N може да има\n" #~ "суфикс-множител: b за 512, k за 1024, m за 1024*1024.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "С --follow (-f) tail използва един и същ файлов дескриптор, т.е. tail ще\n" #~ "продължи да следи края на файля, дори ако файлът бъде преименуван. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Това стандартно поведение не е желателно, ако искате да следите файла с\n" #~ "посоченото име, а не файловия дескриптор (което е важно напр. при " #~ "завъртане на\n" #~ "журналните файлове). В този случай използвайте --follow=name и tail ще " #~ "отваря\n" #~ "многократно файла, за да провери дали той не е бил отстранен или " #~ "създаден\n" #~ "нов файл със същото име от друга програма.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "Затваряне на %s (файлов дескриптор=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: не може да се отиде на относително отместване %s във файла" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: не може да се отиде на отместване %s относно края на файла" #~ msgid "%s has become inaccessible" #~ msgstr "%s е станал недостъпен" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "%s е бил заменен с файл, който е недостъпен за tail; tail повече няма да " #~ "го следи" #~ msgid "%s has become accessible" #~ msgstr "%s е станал достъпен" #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s се е появил; следва се краят на новия файл" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "%s е бил заменен; следва се краят на новия файл" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: не може да се смени режимът non-blocking" #~ msgid "%s: file truncated" #~ msgstr "%s: файлът е съкратен" #~ msgid "no files remaining" #~ msgstr "няма повече файлове" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: не може да се следва края на този тип файлове; tail няма да следи " #~ "този файл" #~ msgid "number in %s is too large" #~ msgstr "номерът в %s е твърде голям" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: неправилен максимален брой достъпи без промяна между отварянията" #~ msgid "%s: invalid PID" #~ msgstr "%s: неправилен номер на процес" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: неправилен брой секунди" #~ msgid "option used in invalid context -- %c" #~ msgstr "опция, използване в грешен контекст -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "внимание: опцията --retry обикновено е полезна само с --follow=name" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "внимание: пренебрегва се номера на процес; --pid=PID е полезно само при " #~ "следване" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "внимание: --pid=PID не се поддържа на тази система" #~ msgid "cannot follow %s by name" #~ msgstr "не може да се следва %s според името" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "внимание: безкрайното следване на стандартния вход е безполезно" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Копира стандартния изход във всеки от ФАЙЛовете, а също и на стандартния " #~ "изход.\n" #~ "\n" #~ " -a, --append добавя към посочените ФАЙЛове, а не ги " #~ "замества\n" #~ " -i, --ignore-interrupts пренебрегва сигналите за прекъсване\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Ако ФАЙЛ е -, копира отново към стандартния изход.\n" #~ msgid "missing argument after %s" #~ msgstr "липсва аргумент след %s" #~ msgid "invalid integer %s" #~ msgstr "неправилно цяло число %s" #~ msgid "')' expected" #~ msgstr "очаква се „)“" #~ msgid "')' expected, found %s" #~ msgstr "очаква се „)“, а е намерен %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: очаква се унарна операция" #~ msgid "-nt does not accept -l" #~ msgstr "-nt не допуска -l" #~ msgid "-ef does not accept -l" #~ msgstr "-ef не приема -l" #~ msgid "-ot does not accept -l" #~ msgstr "-ot не приема -l" #~ msgid "unknown binary operator" #~ msgstr "непозната двуместна операция" #~ msgid "%s: binary operator expected" #~ msgstr "%s: очаква се двуместна операция" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Използване: test ИЗРАЗ\n" #~ " или: test\n" #~ " или: [ ИЗРАЗ ]\n" #~ " или: [ ]\n" #~ " или: [ ОПЦИЯ\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Завършва с код-състояние, определен от ИЗРАЗ.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Ако ИЗРАЗ е изпуснат, се приема лъжа. Иначе ИЗРАЗ е истина и лъжа и " #~ "определя\n" #~ "кода на завършване. Той може да бъде:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( ИЗРАЗ ) ИЗРАЗ е истина\n" #~ " ! ИЗРАЗ ИЗРАЗ е лъжа\n" #~ " ИЗРАЗ1 -a ИЗРАЗ2 както ИЗРАЗ1, така и ИЗРАЗ2 са истина\n" #~ " ИЗРАЗ1 -o ИЗРАЗ2 поне един от ИЗРАЗ1 и ИЗРАЗ2 е истина\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " [-n] НИЗ НИЗ е с ненулева дължина\n" #~ " НИЗ същото като -n НИЗ\n" #~ " -z НИЗ НИЗ е с дължина нула\n" #~ " НИЗ1 = НИЗ2 низовете са еднакви\n" #~ " НИЗ1 != НИЗ2 низовете не са еднакви\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ЦЯЛО1 -eq ЦЯЛО2 ЦЯЛО1 е равно на ЦЯЛО2\n" #~ " ЦЯЛО1 -ge ЦЯЛО2 ЦЯЛО1 е по-голямо или равно на ЦЯЛО2\n" #~ " ЦЯЛО1 -gt ЦЯЛО2 ЦЯЛО1 е по-голямо от ЦЯЛО2\n" #~ " ЦЯЛО1 -le ЦЯЛО2 ЦЯЛО1 е по-малко или равно на ЦЯЛО2\n" #~ " ЦЯЛО1 -lt ЦЯЛО2 ЦЯЛО1 е по-малко от ЦЯЛО2\n" #~ " ЦЯЛО1 -ne ЦЯЛО2 ЦЯЛО1 е различно от ЦЯЛО2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " ФАЙЛ1 -ef ФАЙЛ2 ФАЙЛ1 и ФАЙЛ2 имат еднакви номера на устройство и i-" #~ "възел\n" #~ " ФАЙЛ1 -nt ФАЙЛ2 ФАЙЛ1 е по-нов (спрямо датата на изменение) от ФАЙЛ2\n" #~ " ФАЙЛ1 -ot ФАЙЛ2 ФАЙЛ1 е по-стар от ФАЙЛ2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b ФАЙЛ ФАЙЛ съществува и е специален блоков\n" #~ " -c ФАЙЛ ФАЙЛ съществува и е символен специален\n" #~ " -d ФАЙЛ ФАЙЛ съществува и е каталог\n" #~ " -e ФАЙЛ ФАЙЛ съществува\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f ФАЙЛ ФАЙЛ съществува и е обикновен файл\n" #~ " -g ФАЙЛ ФАЙЛ съществува и е със set-group-ID\n" #~ " -h ФАЙЛ ФАЙЛ съществува и е символна връзка (същото като -L)\n" #~ " -G ФАЙЛ ФАЙЛ съществува и се притежава от действащата (effective) " #~ "група\n" #~ " -k ФАЙЛ ФАЙЛ съществува и е със sticky bit\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L ФАЙЛ ФАЙЛ съществува и е символна връзка (същото като -h)\n" #~ " -O ФАЙЛ ФАЙЛ съществува и се притежава от действащият потребител\n" #~ " -p ФАЙЛ ФАЙЛ съществува и е именуван канал\n" #~ " -r ФАЙЛ ФАЙЛ съществува и е достъпен за четене\n" #~ " -s ФАЙЛ ФАЙЛ съществува и има ненулев размер\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S ФАЙЛ ФАЙЛ съществува и е гнездо\n" #~ " -t [FD] файловият дескриптор FD е отворен на терминал\n" #~ " -u ФАЙЛ ФАЙЛ съществува и е със set-user-ID\n" #~ " -w ФАЙЛ ФАЙЛ съществува и е достъпен за запис\n" #~ " -x ФАЙЛ ФАЙЛ съществува и е изпълним файл (при каталог: може да се " #~ "търси)\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Освен -h и -L, всички файлови проверки се отнасят към сочените от " #~ "символни\n" #~ "връзки файлове. Имайте предвид, че при повечето обвивки скобите трябва " #~ "да\n" #~ "бъдат защитени (напр. с \\).\n" #~ "\n" #~ "ЦЯЛО може да бъде също и -l НИЗ и дава дължината на НИЗ.\n" #~ msgid "test and/or [" #~ msgstr "test и/или [" #~ msgid "missing `]'" #~ msgstr "липсва „]“" #~ msgid "extra argument %s" #~ msgstr "излишен аргумент %s" #, fuzzy #~ msgid "Jim Kingdon" #~ msgstr "Jim Meyering и Paul Eggert" #~ msgid "creating %s" #~ msgstr "създава се %s" #~ msgid "cannot touch %s" #~ msgstr "не може да се въздейства на %s" #~ msgid "setting times of %s" #~ msgstr "задава се време на %s" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a променя само времето за достъп\n" #~ " -c, --no-create не създава файловете, ако не съществуват\n" #~ " -d, --date=НИЗ прави разбор на НИЗ и го използва вместо " #~ "текущото време\n" #~ " -f (пренебрегва се)\n" #~ " -m променя само времето на последна промяна\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=ФАЙЛ използва времената на този ФАЙЛ вместо текущото " #~ "време\n" #~ " -t ЩАМПА ползва [[ГГ]ГГ]ММДДччММ[.сс] вместо текущото " #~ "време\n" #~ " --time=ДУМА променя означеното с ДУМА време:\n" #~ " access, atime и use: същото като -а\n" #~ " modify и mtime: същото като -m\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Забележете, че опциите -d и -t приемат различни формати за време и дата.\n" #~ "\n" #~ "Ако ФАЙЛ е -, действа с файловия дескриптор за стандартния изход.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "не може да се посочват времена с повече от един източник" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "внимание: „touch %s“ e архаично; ползвайте „touch -t %04ld%02d%02d%02d%" #~ "02d.%02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... МНОЖ1 [МНОЖ2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Превежда или отстранява знаци и/или повторения от стандартния вход,\n" #~ "пише на стандартния изход.\n" #~ "\n" #~ " -c, -C, --complement първо заменя МНОЖ1 с неговото допълнение\n" #~ " -d, --delete отстранява знаците от МНОЖ1, не превежда\n" #~ " -s, --squeeze-repeats заменя всяка входяща редица от един и същ " #~ "повтарящ се\n" #~ " знак, описан в МНОЖ1, с един такъв знак\n" #~ " -t, --truncate-set1 първо съкращава МНОЖ1 до дължината на МНОЖ2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "МНОЖ се задават като низове от знаци. Повечето представят себе си.\n" #~ "Интерпретирани последователности са следните:\n" #~ "\n" #~ " \\NNN знакът с осмичен код NNN (1 до 3 осмични цифри)\n" #~ " \\\\ обратна наклонена черта\n" #~ " \\a BEL (звуков сигнал)\n" #~ " \\b backspace\n" #~ " \\f form feed (край на страницата)\n" #~ " \\n нов ред (new line)\n" #~ " \\r връщане на курсора (return)\n" #~ " \\t хоризонтална табулация\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v вертикална табулация\n" #~ " ЗНАК1-ЗНАК2 всички знаци от ЗНАК1 до ЗНАК2\n" #~ " [ЗНАК*] (само при МНОЖ2) копия на ЗНАК до достигане дължината " #~ "на МНОЖ1\n" #~ " [ЗНАК*ПОВТ] ПОВТ броя на ЗНАК; ПОВТ е осмично число, ако започва с " #~ "0\n" #~ " [:alnum:] всички букви и цифри\n" #~ " [:alpha:] всички букви\n" #~ " [:blank:] всички празни знаци (интервал, табулации)\n" #~ " [:cntrl:] всички управляващи символи\n" #~ " [:digit:] всички цифри\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] всички видими знаци с изключение на интервали, " #~ "табулации и др.\n" #~ " [:lower:] всички малки букви\n" #~ " [:print:] всички видими знаци, включително интервали, табулации\n" #~ " [:punct:] всички препинателни знаци\n" #~ " [:space:] хоризонтално или вертикално бяло поле\n" #~ " [:upper:] всички главни букви\n" #~ " [:xdigit:] всички шестнадесетични цифри\n" #~ " [=ЗНАК=] всички знаци, еквивалентни на ЗНАК\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Извършва се превод, ако не е посочено -d и има както МНОЖ1, така и " #~ "МНОЖ2.\n" #~ "-t може да се използва само при превод. Ако трябва, МНОЖ2 се разширява " #~ "до\n" #~ "дължината на МНОЖ1 с повтаряне на последния знак. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Излишните знаци от МНОЖ2\n" #~ "се пренебрегват. Само за знаците от [:lower:] и [:upper:] е гарантирано, " #~ "че ще\n" #~ "са подредени последователно; използвани в МНОЖ2 при превод, те могат да " #~ "бъдат\n" #~ "използвани само в двойки, за да означат смяна на големи/малки букви. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s използва МНОЖ1,\n" #~ "ако не се превежда, нито изтрива; в противен случай се отстраняват " #~ "повторните\n" #~ "знаци от МНОЖ2, като това става след преводa или изтриването.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "внимание: двусмислената осмична последователност \\%c%c%c е " #~ "интерпретирана\n" #~ "\tкато двубайтовата последователност \\0%c%c, %c" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "внимание: обратна наклонена черта в края на форматен низ" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "граници на интервала „%s-%s“ са в обратен ред" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "неправилен брой повторения %s в конструкция [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "липсва име на клас от символи „[::]“" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "липсва знак за клас на еквивалентност „[==]“" #~ msgid "invalid character class %s" #~ msgstr "неправилен клас от символи %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: класът на еквивалентност трябва да се означи само един знак" #~ msgid "too many characters in set" #~ msgstr "множество с твърде много знаци" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "конструкцията [c*] не може да се появява в МНОЖ1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "в МНОЖ2 може да се среща само конструкцията за повторение [c*]" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "при превод не може да се срещат конструкции [=c=] в МНОЖ2" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "когато не се съкращава МНОЖ1, МНОЖ2 трябва да бъде непразно" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "при превод с допълнителни (обратни) класове символи, МНОЖ2 трябва\n" #~ "да изобразява всички знаци от областта в един" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "при превод единствените класове символи, които може да се срещат в\n" #~ "МНОЖ2 са „upper“ и „lower“" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "конструкцията [c*] може да се среща в МНОЖ2 само при превод" #~ msgid "Two strings must be given when translating." #~ msgstr "При превод трябва да се посочат два низа (множества)" #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Само един низ може да бъде даден, когато се изтрива без отстраняване на " #~ "повторенията" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "лошо подравнена [:upper:] и/или [:lower:] конструкция" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s [аргументи, които се пренебрегват]\n" #~ " или: %s ОПЦИЯ\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Завършва с код-състояние, посочващ успех." #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ] [ФАЙЛ]\n" #~ "\n" #~ "Извежда линейно нареден списък, съвместим с частичната наредба във ФАЙЛ.\n" #~ "Без ФАЙЛ или ако ФАЙЛ е -, чете от стандартния вход.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: входните данни съдържат нечетен брой лексеми" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: входният файл съдържа цикъл:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Използване: %s [ОПЦИЯ]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Извежда файловото име на терминала, свързан със стандартния вход.\n" #~ "\n" #~ " -s, --silent, --quiet не извежда нищо, връща само код на завършване\n" #~ msgid "not a tty" #~ msgstr "не е tty" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Извежда определена системна информация. Без никаква ОПЦИЯ е същото като " #~ "с -s.\n" #~ "\n" #~ " -a, --all извежда всякаква информация в следния ред\n" #~ " (но пропуска -p и -i, ако не са известни):\n" #~ " -s, --kernel-name извежда името на ядрото\n" #~ " -n, --nodename извежда името на компютъра в мрежата\n" #~ " -r, --kernel-release извежда изданието на ядрото\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version извежда версията на ядрото\n" #~ " -m, --machine извежда хардуерното име на машината\n" #~ " -p, --processor извежда типа на микропроцесора или „unknown“\n" #~ " -i, --hardware-platform извежда хардуерната платформа или „unknown“\n" #~ " -o, --operating-system извежда операционната система\n" #~ msgid "cannot get system name" #~ msgstr "не може да се получи системното име" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Преобразува интервалите във всеки от ФАЙЛовете в табулации, извежда на\n" #~ "стандартния изход. Без ФАЙЛ или ако ФАЙЛ е - чете от стандартния вход.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all преобразува всяко бяло поле, а не само в началото на " #~ "редовете\n" #~ " --first-only преобразува само бяло поле в началото на редовете " #~ "(отменя -a)\n" #~ " -t, --tabs=N използва табулации през N знака вместо през 8 " #~ "(позволява -a)\n" #~ " -t, --tabs=СПИС СПИСък от разделени с „,“ позиции за табулации " #~ "(позволява -a)\n" #~ msgid "tabs are too far apart" #~ msgstr "табулациите са твърде отдалечени" #~ msgid "tab stop value is too large" #~ msgstr "табулацията е твърде дълга" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ВХОД [ИЗХОД]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Отстранява всички освен един от съседни повтарящи се редове от ВХОД\n" #~ "(или стандартния вход); извежда в ИЗХОД (или стандартния изход).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count редовете да се предхождат от брой срещания\n" #~ " -d, --repeated извежда само повтарящите се редове\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=delimit-method] извежда всички повтарящи се редове\n" #~ " delimit-method={none(по подразбиране),prepend," #~ "separate}\n" #~ " Разделянето се прави с празни редове.\n" #~ " -f, --skip-fields=N не сравнява първите N полета\n" #~ " -i, --ignore-case не различава големите от малките букви\n" #~ " -s, --skip-chars=N не сравнява първите N знака\n" #~ " -u, --unique извежда само редовете, които не се повтарят\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr "" #~ " -w, --check-chars=N сравнява по не повече от N знака в редовете\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Полето се състои от бяло поле, следвано от видими знаци.\n" #~ "Fields are skipped before chars.\n" #~ msgid "too many repeated lines" #~ msgstr "твърде много повторени редове" #~ msgid "invalid number of fields to skip" #~ msgstr "неправилен брой полета за пропускане" #~ msgid "invalid number of bytes to skip" #~ msgstr "неправилен брой байтове за пропускане" #~ msgid "invalid number of bytes to compare" #~ msgstr "неправилен брой знаци за сравняване" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "безсмислено е да се извеждат всички повтарящи се редове и броя срещания" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s ФАЙЛ\n" #~ " или: %s ФАЙЛ\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Отстранява посочения ФАЙЛ посредством системната функция „unlink“.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "неуспешно изпълнение на unlink за %s" #~ msgid "couldn't get boot time" #~ msgstr "не може да се получи времето на начално зареждане" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s включен " #~ msgid "am" #~ msgstr "пр.обед" #~ msgid "pm" #~ msgstr "сл.обед" #~ msgid " ??:???? up " #~ msgstr " ??:???? включен " #~ msgid "???? days ??:??, " #~ msgstr "???? дена ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld ден" #~ msgstr[1] "%ld дена" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu потребител" #~ msgstr[1] "%lu потребителя" #~ msgid ", load average: %.2f" #~ msgstr ", средно натоварване: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ ФАЙЛ ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Извежда текущото време, продължителността на времето, през което " #~ "системата е била\n" #~ "стартирана, броят потребители, използващи в момента системата, и средният " #~ "брой задачи\n" #~ "в опашката на многозадачния диспечер през последните 1, 5 и 15 минути.\n" #~ "Ако не е посочен ФАЙЛ, използва %s. Обичайно е използването на %s като " #~ "име на файл.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Извежда кой в момента е влязъл в системата според ФАЙЛ.\n" #~ "Ако не е посочен ФАЙЛ, използва %s. Често ФАЙЛ е %s.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Извежда броя байтове, думи и редове във всеки ФАЙЛ, както и общия брой, " #~ "ако е\n" #~ "посочен повече от един ФАЙЛ. Без ФАЙЛ или ако ФАЙЛ е - чете от " #~ "стандартния вход.\n" #~ " -c, --bytes извежда броя байтове\n" #~ " -m, --chars извежда броя букви\n" #~ " -l, --lines извежда броя редове\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=Ф чете от файловете, чиито имена са изредени във " #~ "файла Ф,\n" #~ " като всяко име завършва с нулев байт\n" #~ " -L, --max-line-length извежда дължината на най-дългия ред\n" #~ " -w, --words извежда броя думи\n" #~ msgid " old " #~ msgstr " стар " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "exit=" #~ msgid "clock change" #~ msgstr "смяна на часа" #~ msgid "run-level" #~ msgstr "стартниво" #~ msgid "last=" #~ msgstr "last=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "брой потребители - %lu\n" #~ msgid "NAME" #~ msgstr "ИМЕ" #~ msgid "LINE" #~ msgstr "ЛИНИЯ" #~ msgid "TIME" #~ msgstr "ВРЕМЕ" #~ msgid "IDLE" #~ msgstr "БЕЗДЕЕН" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "КОМЕНТАР" #~ msgid "EXIT" #~ msgstr "ИЗХОД" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Използване: %s [ОПЦИЯ]... [ ФАЙЛ | АРГ1 АРГ2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all същото като -b -d --login -p -r -t -T -u\n" #~ " -b, --boot времето на последното начално зареждане\n" #~ " -d, --dead извежда броя умрели процеси\n" #~ " -H, --heading извежда антетка\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login извежда процесите за влизане в системата\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " --lookup опитва да канонизира мрежовите имена на компютрите " #~ "чрез DNS\n" #~ " -m само мрежовото име и потребителя, свързан на станд. " #~ "вход\n" #~ " -p, --process извежда активните процеси, породени от init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count извежда всички входни имена и броя на влезлите " #~ "потребители\n" #~ " -r, --runlevel извежда текущото ниво на стартиране\n" #~ " -s, --short извежда само името, линията и времето (по " #~ "подразбиране)\n" #~ " -t, --time извежда последната промяна на системния часовник\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg добавя състоянието на mesg на потребителите (+, - " #~ "или ?)\n" #~ " -u, --users изрежда потребителите, влезли в системата\n" #~ " --message същото като -T\n" #~ " --writable същото като -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Ако не е посочен ФАЙЛ, се използва %s. Често ФАЙЛ е %s.\n" #~ "Ако са посочени АРГ1 АРГ2, се предполага -m, обичайни са „am i“ и „съм " #~ "аз“.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Извежда името текущия действителен (effective) потребител.\n" #~ "Същото като id -un.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: не може да се намери името на потребител с номер %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Използване: %s [НИЗ]...\n" #~ " или: %s ОПЦИЯ\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Непрекъснато извежда ред, състоящ се от посочените НИЗ(ове) или „y“.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Използване: %s ПОТРЕБ_ИМЕ КОМАНДА [АРГУМЕНТ]...\n" #~ " или: %s ОПЦИЯ\n" #~ msgid "block size" #~ msgstr "блоковият размер" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License .\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Това е свободен софтуер. Можете да разпространявате негови копия " #~ "съгласно\n" #~ "условията на Основната общодостъпна лицензия на ГНУ\n" #~ " .\n" #~ "Не се дават НИКАКВИ ГАРАНЦИИ до степента, позволявана от закона.\n" #~ msgid "invalid %s `%s'" #~ msgstr "неправилен %s „%s“" #~ msgid "invalid character following %s in `%s'" #~ msgstr "неправилен писмен знак, следващ %s в „%s“" #~ msgid "%s `%s' too large" #~ msgstr "%s „%s“ е твърде дълго" #~ msgid "unrecognized operand %s=%s" #~ msgstr "непознат операнд %s=%s" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "опцията --kilobytes е остаряла; ползвайте -k вместо нея" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "N може да има суфикс-множител: b за 512, k за 1024, m за 1024*1024.\n" #~ msgid "cannot print only user and only group" #~ msgstr "не може да се извежда хем само потребителят, хем само групата" #~ msgid "cannot get supplemental group list" #~ msgstr "не може да се получи списъка от допълнителни групи" #~ msgid "strip failed" #~ msgstr "strip не успя" #~ msgid "value %s is so large that it is not representable" #~ msgstr "стойността %s е толкова голяма, че не може да се изведе" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " извежда каталозите преди другите файлове\n" #~ msgid "skip argument" #~ msgstr "пропускане на аргумент" #~ msgid "limit argument" #~ msgstr "ограничаване на аргумента" #~ msgid "minimum string length" #~ msgstr "минимална дължина на низа" #~ msgid "width specification" #~ msgstr "спецификация за ширина" #~ msgid "page range" #~ msgstr "диапазон страници" #~ msgid "the --copyright option is deprecated; use --version instead" #~ msgstr "опцията --copyright е остаряла; ползвайте --version вместо нея" #~ msgid "sort size" #~ msgstr "сортировка размер" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "РАЗМ може да има суфикс-множител: b за 512, k за 1 Kб, m за 1 Мб.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Прави времето на достъп и последна промяна на всеки ФАЙЛовете текущото " #~ "време.\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Внимание: в следваща версия -i ще бъде отстранено; използвайте вместо " #~ "това -u" #~ msgid "symbolic links are not supported on this system" #~ msgstr "тази система не поддържа работа със символни връзки" #~ msgid "fifo files not supported" #~ msgstr "не се поддържа работа с именувани канали" #~ msgid "cannot remove `.' or `..'" #~ msgstr "не може да се изтриват „.“ и „..“" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "не може да се смени собственика и/или групата на %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "не може да се влезе в каталога %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "не може да се получи входящата група по потребителски номер" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root да не се обработва „/“ по-особено (по " #~ "подразбиране)\n" #~ " --preserve-root да не се действа рекурсивно от „/“\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes\n" #~ " -E disable interpretation of backslash escapes (default)\n" #~ msgstr "" #~ " -e позволява обработката знаци, защитени с \\\n" #~ " -E забранява специалната обработка на \\ (по подразбиране)\n" #~ msgid "" #~ "warning: unportable BRE: %s: using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "внимание: непреносим BRE: „%s“: използването на „^“ като пръв знак на\n" #~ "базовия регулярен израз не е преносимо; „^“ бе пренебрегнат" #~ msgid "unrecognized option `-%c'" #~ msgstr "непозната опция „-%c“" #~ msgid "cannot return to working directory" #~ msgstr "невъзможно връщане в работния каталог" #~ msgid "cannot return to current directory" #~ msgstr "невъзможно връщане в текущия каталог" #~ msgid "create symbolic link %s to %s" #~ msgstr "създава се символна връзка %s към %s" #~ msgid "create hard link %s to %s" #~ msgstr "създава се твърда връзка %s към %s" #~ msgid "cannot set permissions of directory %s" #~ msgstr "не може да се посочи режим за достъп до каталог %s" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "не може да се зададе режим за достъп до именуван канал %s" #~ msgid "cannot set permissions of %s" #~ msgstr "не може да се зададат правата за достъп до %s" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Тази програма е свободен софтуер; може да я разпространявате и/или " #~ "изменяте\n" #~ "съгласно условията на Основната общодостъпна лицензия на ГНУ, както тя е\n" #~ "публикувана от Free Software Foundation -- версия 2 или (по ваш избор)\n" #~ "коя да е следваща версия.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Тази програма се разпространява с надеждата, че ще бъде полезна,\n" #~ "но БЕЗ НИКАКВИ ГАРАНЦИИ -- включително без предполагаемите гаранции,\n" #~ "ЧЕ ЩЕ Е ПОЛЕЗНА или ЩЕ СЛУЖИ ЗА НЕЩО. Вж. Основната общодостъпна\n" #~ "лицензия на ГНУ за повече подробности.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #~ msgstr "" #~ "Вие би трябвало да сте получили копие на Основната общодостъпна лицензия\n" #~ "на ГНУ заедно с тази програма; в противен случай пишете на Free Software\n" #~ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " #~ "USA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "не може да се смени каталогът от %s на .." #~ msgid "cannot lstat `.' in %s" #~ msgstr "не може да се открие „.“ в %s" #~ msgid "cannot lstat %s" #~ msgstr "не може да се открие %s" #~ msgid "cannot chdir from %s to %s" #~ msgstr "каталогът не може да се смени от %s на %s" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Изтрива (с операция unlink) ФАЙЛовете.\n" #~ "\n" #~ " -d, --directory изпълнява unlink за всеки ФАЙЛ, дори и ако е " #~ "непразен\n" #~ " каталог (само за root, работи само ако " #~ "системата\n" #~ " поддържа „unlink“ за непразни каталози)\n" #~ " -f, --force пренебрегва несъществуващи файлове, за нищо не " #~ "пита\n" #~ " -i, --interactive пита преди изтриване\n" #~ msgid "Exit with a status code indicating failure." #~ msgstr "Завършва с код-състояние, посочващ неуспех." #~ msgid "cannot overwrite directory %s" #~ msgstr "не може да бъде заместен каталогът %s" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Извежда информация за състоянието на файл или файлова система.\n" #~ "\n" #~ " -f, --file-system извежда състоянието на файлова система вместо на " #~ "файл\n" #~ " -c --format=ФОРМАТ ползва посочения ФОРМАТ вместо стандартния\n" #~ " -L, --dereference следва символните връзки\n" #~ " -t, --terse извежда информацията в сбит вид\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Внимание: „-l“ е остаряла опция; вместо нея ползвайте „-L“" #~ msgid "the --allow-missing option is deprecated; use --retry instead" #~ msgstr "опцията --allow-missing е остаряла; ползвайте --retry вместо нея" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle добавя времето за бездействие като ЧАСОВЕ:МИНУТИ, . " #~ "или стар\n" #~ " (остаряла опция, използвайте -u)\n" #~ " --login извежда процесите за влизане в системата\n" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Това е свободен софтуер; вижте изходния код за условията за копиране.\n" #~ "Не се дават НИКАКВИ гаранции, включително предполаганата гаранция,\n" #~ "че е ПОЛЕЗЕН или ПРИГОДЕН ЗА НЯКАКВА ЦЕЛ.\n" #~ msgid "too few arguments" #~ msgstr "твърде малко аргументи" #~ msgid "closing standard output" #~ msgstr "затваряне на стандартния изход" #~ msgid "cannot change to null group" #~ msgstr "не може да се смени на несъществуваща група" #~ msgid "group number" #~ msgstr "номер на група" #~ msgid "invalid group number %s" #~ msgstr "неправилен номер на група %s" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Всеки РЕЖИМ е една или повече от буквите ugoa, един от знаците +-= и\n" #~ "една или повече от буквите rwxXstugo.\n" #~ msgid "invalid mode string: %s" #~ msgstr "недопустим низ за режим: %s" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: посоченият целеви каталог не съществува" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: посочената цел не е каталог" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "копират се много файлове, но последният аргумент %s не е каталог" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "внимание: --version-control (-V) остаряла опция; поддръжката за нея ще " #~ "бъде\n" #~ "спряна в някоя бъдеща версия. Вместо това ползвайте --backup=%s." #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] output date/time in ISO 8601 " #~ "format.\n" #~ " TIMESPEC=`date' for date only,\n" #~ " `hours', `minutes', or `seconds' for date " #~ "and\n" #~ " time to the indicated precision.\n" #~ " --iso-8601 without TIMESPEC defaults to " #~ "`date'.\n" #~ msgstr "" #~ "Извежда текущото време според посочения ФОРМАТ или настройва системната " #~ "дата.\n" #~ "\n" #~ " -d, --date=НИЗ извежда времето, посочено с НИЗ; не може да е " #~ "„now“\n" #~ " -f, --file=ФАЙЛДАТИ като --date веднъж за всеки ред от ФАЙЛДАТИ\n" #~ " -IВИДВРЕМЕ, --iso-8601[=ВИДВРЕМЕ] извежда датата/часа във формат ISO " #~ "8601.\n" #~ " ВИДВРЕМЕ=“date“ за извеждане само на датата,\n" #~ " `hours', `minutes' или `seconds' за извеждане " #~ "на\n" #~ " датата и часа с посочената точност.\n" #~ " --iso-8601 без ВИДВРЕМЕ е еквивалентно на " #~ "„date“.\n" #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z часовата зона в стил RFC-2822 (+0200) (нестандартно разширение)\n" #~ " %Z часовата зона (напр. EET) или нищо, ако тя не може да се определи\n" #~ "\n" #~ "По подразбиране date допълва числовите полета с нули. ГНУ реализацията на " #~ "date\n" #~ "разпознава и следните модификатори между знака „%“ и числовата " #~ "директива:\n" #~ "\n" #~ " `-' (тире) да не се попълва полето\n" #~ " `_' (знак за подчертаване) полето да се попълва с интервали\n" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "твърде много аргументи, които не са опции: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "при използване на опцията --rfc-2822 (-R) не може да се посочва форматен " #~ "низ" #~ msgid "undefined" #~ msgstr "неопределено" #~ msgid "cannot get time of day" #~ msgstr "не може да се получи времето от деня" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s прочетени блока\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s записани блока\n" #~ msgid "truncated records" #~ msgstr "съкратени записи" #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "" #~ "\tсамо по един conv от {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgid "file offset out of range" #~ msgstr "файлово отместване извън допустимия диапазон" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "при опция за извеждане вътрешната база данни на dircolors\n" #~ "не може да се използва аргумент ФАЙЛ" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Извежда НИЗовете на стандартния изход.\n" #~ "\n" #~ " -n не извежда в края нов ред\n" #~ " -e позволява специалното значение на знаците, предшествани " #~ "от \\,\n" #~ " описани по-долу\n" #~ " -E забранява специалното значение на тези знаци в " #~ "НИЗовете\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "опцията „-СПИС“ е остаряла; ползвайте „-t СПИС“" #~ msgid "`%s' is too large" #~ msgstr "“%s“ е твърде дълго" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s [командни аргументи, които се пренебрегват]\n" #~ " или: %s ОПЦИЯ\n" #~ "Приключва с код на завършване, посочващ неуспех.\n" #~ "\n" #~ "Имената на следващите опции не могат да се съкращават.\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "опцията „%s“ е остаряла; ползвайте „%s“" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: твърде голям брой байтове" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "опцията „-%s“ е архаична, ползвайте „-%c %.*s%.*s%s“" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "инсталират се няколко файлове, а последният аргумент (%s) не е каталог" #~ msgid "%s is a directory" #~ msgstr "%s е каталог" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "не може да се получат данни за времето на %s" #~ msgid "too many non-option arguments" #~ msgstr "твърде много аргументи, които не са опции" #~ msgid "invalid field number: `%s'" #~ msgstr "неправилен номер на поле: „%s“" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "неправилен номер на поле за файл 1: „%s“" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "неправилен номер на поле за файл 2: „%s“" #~ msgid "too few non-option arguments" #~ msgstr "няма достатъчно аргументи, които не са опции" #~ msgid "%s: File exists" #~ msgstr "%s: Файлът съществува" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Използване: %s [ОПЦИЯ]... ЦЕЛ [ИМЕ_НА_ВРЪЗКА]\n" #~ " или: %s [ОПЦИЯ]... ЦЕЛ... КАТАЛОГ\n" #~ " или: %s [ОПЦИЯ]... --target-directory=КАТАЛОГ ЦЕЛ...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "при правене на няколко връзки последният аргумент трябва да бъде каталог" #~ msgid "User name too long" #~ msgstr "Твърде дълго потребителско име" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary чете в двоичен режим (стандартно при DOS/" #~ "Windows)\n" #~ " -c, --check проверява сумите %s според зададен списък\n" #~ " -t, --text чете файловете в текстов режим (стандартно)\n" #~ "\n" #~ msgid "file" #~ msgstr "файл" #~ msgid "files" #~ msgstr "файла" #~ msgid "checksum" #~ msgstr "контролна сума" #~ msgid "checksums" #~ msgstr "контролни суми" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "опциите --string и --check не може да се използват едновременно" #~ msgid "no files may be specified when using --string" #~ msgstr "не може да се посочват файлове при използване на --string" #~ msgid "only one argument may be specified when using --check" #~ msgstr "може да се посочва само един аргумент при използване на --check" #~ msgid "wrong number of arguments" #~ msgstr "неправилен брой аргументи" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "не може да се посочват голям и малък номер на устройство при именувани " #~ "канали" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "при преместване на няколко файла последният аргумент трябва да е каталог" #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Изпълнява КОМАНДА с регулиран приоритет за многозадачното планиране.\n" #~ "Без КОМАНДА отпечатва текущия приоритет. По подразбиране КОРЕКЦИЯ е 10.\n" #~ "Допустимият интервал е от -20 (най-голям приоритет) до 19 (най-малък).\n" #~ "\n" #~ " -n, --adjustment=КОРЕКЦИЯ увеличава в началото приоритета с КОРЕКЦИЯ\n" #~ msgid "invalid option `%s'" #~ msgstr "неправилна опция „%s“" #~ msgid "invalid priority `%s'" #~ msgstr "неправилен приоритет „%s“" #~ msgid "cannot get priority" #~ msgstr "не може да се получи приоритетът" #~ msgid "cannot set priority" #~ msgstr "не може да се зададе приоритета" #~ msgid "failed to redirect standard output" #~ msgstr "не може да се пренасочи стандартния изход" #~ msgid "old-style offset" #~ msgstr "отместване в традиционен формат" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "неправилен втори операнд при режим за съвместимост „%s“" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "при използване на традиционния формат последните два аргумента трябва да " #~ "бъдат отмествания" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Установява непреносимите конструкции в ИМЕ.\n" #~ "\n" #~ " -p, --portability проверка за всякакви POSIX-системи, а не само за " #~ "тази\n" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "пътеката „%s“ съдържа непреносим символ „%c“" #~ msgid "`%s' is not a directory" #~ msgstr "“%s“ не е каталог" #~ msgid "directory `%s' is not searchable" #~ msgstr "в каталога „%s“ не може да се извършва търсене" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "името „%s“ има дължина %ld, превишаващo пределната граница %ld" #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "пътеката „%s“ има дължина %lu, превишаваща пределната граница %ld" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "“--pages“ неправилен интервал от номера на страници: „%s“" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "“--pages“ неправилен начален номер на страница: „%s“" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "“--pages“ неправилен краен номер на страница: „%s“" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "“--pages“ началният номер на страница е по-голям от крайния" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "“--columns=СТЪЛБОВЕ“ неправилен брой стълбове: „%s“" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%e %b %Y %k,%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "началният номер на страница е по-голям от общия брой страници: „%d“" #~ msgid "Page %d" #~ msgstr "стр. %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Използване: %s формат [аргументи...]\n" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "опцията „-%s“ е остаряла; ползвайте „-l %s“" #~ msgid "stdin: read error" #~ msgstr "stdin: грешка при четене" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: неправилен знак за суфикс в архаична опция" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "твърде много аргументи. Когато се използва архаичния синтаксис за " #~ "опциите на\n" #~ "tail (%s), не може да се използва повече от един аргумент. Вместо това\n" #~ "използвайте еквивалентната опция -n или -c." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Внимание: използването на две или повече файлови аргумента не е преносимо " #~ "с\n" #~ "архаичния синтаксис на опция (%s). Вместо това използвайте " #~ "еквивалентната\n" #~ "опция -n или -c." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "опцията „%s“ е архаична; ползвайте „%s-%c %.*s“" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: неправилен максимален брой съседни промени в размера" #~ msgid "argument expected\n" #~ msgstr "очаква се аргумент\n" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: очаква се целочислен израз\n" #~ msgid "before -lt" #~ msgstr "преди -lt" #~ msgid "after -lt" #~ msgstr "след -lt" #~ msgid "before -le" #~ msgstr "преди -le" #~ msgid "after -le" #~ msgstr "след -le" #~ msgid "before -gt" #~ msgstr "преди -gt" #~ msgid "after -gt" #~ msgstr "след -gt" #~ msgid "before -ge" #~ msgstr "преди -ge" #~ msgid "after -ge" #~ msgstr "след -ge" #~ msgid "before -ne" #~ msgstr "преди -ne" #~ msgid "after -ne" #~ msgstr "след -ne" #~ msgid "before -eq" #~ msgstr "преди -eq" #~ msgid "after -eq" #~ msgstr "след -eq" #~ msgid "after -t" #~ msgstr "след -t" #~ msgid "too many arguments\n" #~ msgstr "твърде много аргументи\n" #~ msgid "file arguments missing" #~ msgstr "липсва файлов аргумент" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "неправилна обратно наклонена черта „\\%c“" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "когато едновременно се отстраняват повторения и изтрива знаци, трябва да " #~ "са дадени два низа" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "при отстраняване на повторения трябва да се посочи поне един низ" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "неправилно изображение идентитет; при превод всяка конструкция [:lower:] " #~ "или\n" #~ "[:upper:] в МНОЖ1 трябва да бъде подравнена със съответна конструкция\n" #~ "([:upper:] или [:lower:] съответно) в МНОЖ2" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Използване: %s [аргументи, които се пренебрегват]\n" #~ " или: %s ОПЦИЯ\n" #~ "Завършва с код-състояние, посочващ успех.\n" #~ "\n" #~ "Следващите имена на опции не могат да бъдат съкращавани.\n" #~ "\n" #~ msgid "only one argument may be specified" #~ msgstr "може да се посочва само един аргумент" #~ msgid "tab size contains an invalid character" #~ msgstr "размерът на табулациите включва непозволен знак" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "опцията „-LIST“ е архаична; използвайте „--first-only -t LIST“" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "опцията „-%lu“ е архаична; използвайте „-f %lu“" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "" #~ "%s: не може да се установи потребителското име на потребител с номер %u\n" #~ msgid "program error" #~ msgstr "програмна грешка" #~ msgid "stack overflow" #~ msgstr "препълване на стека" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Използване: %s [ОПЦИЯ]... ЛЯВ_ФАЙЛ ДЕСЕН_ФАЙЛ\n" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie и Jim Meyering" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp и David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: очаква се „+“ или „-“ след разделителя" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie и Jim Meyering" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie и Stuart Kemp" #~ msgid "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgstr "Torbjorn Granlund, David MacKenzie, Larry McVoy и Paul Eggert" #~ msgid " Type" #~ msgstr " Тип " #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie и Jim Meyering" #~ msgid "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgstr "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert и Jim " #~ "Meyering" #~ msgid "cannot change to parent of directory %s" #~ msgstr "не може да се влече в родителя на каталога %s" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "В -wЧИСЛО буквата „w“ може да се пропусне.\n" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=РАЗМ извежда началните РАЗМ байтове\n" #~ " -n, --lines=БРОЙ извежда първите БРОЙ реда вместо първите 10\n" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins и David MacKenzie" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker и David MacKenzie" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie и Jim Meyering" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram и David MacKenzie" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat и David MacKenzie" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie и Kaveh Ghazi" #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David MacKenzie и Richard Mlynarik" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: неправилно използване на \\" #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Richard Stallman и Jim Meyering" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "ако началната стойност е по-голяма от границата,\n" #~ "стъпката трябва да бъде отрицателна" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "Ако началната стойност е по-малка от границата,\n" #~ "стъпката трябва да бъде положителна" #~ msgid "invalid number" #~ msgstr "неправилно число" #~ msgid "*** invalid date/time ***" #~ msgstr "*** неправилна дата/време ***" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau и David MacKenzie" #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Ian Lance Taylor и Jim Meyering" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "" #~ "%s е по-голям от максимално допустимия размер на файл при тази система" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman и David MacKenzie" #~ msgid "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith" #~ msgstr "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie и Randy Smith" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie и Michael Stone" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Внимание: значението на „-l“ в бъдеще ще се промени да отговаря на " #~ "стандарта POSIX" dc3dd-7.1.614/po/insert-header.sin0000644000175000017500000000124011022023316016305 0ustar amedicoamedico# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } dc3dd-7.1.614/po/Rules-quot0000644000175000017500000000337611022023316015057 0ustar amedicoamedico# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$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 "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header dc3dd-7.1.614/po/stamp-po0000644000175000017500000000001211022023316014517 0ustar amedicoamedicotimestamp dc3dd-7.1.614/po/ga.po0000644000175000017500000127554711233346647014042 0ustar amedicoamedico# Irish translations for coreutils. # Copyright (C) 2003 Free Software Foundation, Inc. # This file is distributed under the same license as the coreutils package. # Kevin Patrick Scannell , 2004, 2006, 2007, 2008. # msgid "" msgstr "" "Project-Id-Version: coreutils 6.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2008-04-20 12:24-0600\n" "Last-Translator: Kevin Scannell \n" "Language-Team: Irish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :" "(n>6 && n<11) ? 3 : 4;\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 msgid "David MacKenzie" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "níorbh fhéidir próiseas a chruthú le haghaidh %s -d" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Bain triail as `%s --help' chun tuilleadh eolais a fháil.\n" #: src/dc3dd.c:1094 #, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Úsáid: %s [OIBREANN]...\n" " nó: %s ROGHA\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Cóipeáil comhad, ag tiontú agus ag formáidiú dar leis na hoibrinn.\n" "\n" " bs=BEARTA fórsáil ibs=BEARTA agus obs=BEARTA\n" " cbs=BEARTA tiontaigh BEARTA beart sa turas\n" " conv=EOCHAIR tiontaigh de réir an liosta siombailí (scartha le camóga)\n" " count=BLOIC cóipeáil BLOIC bloc ionchurtha amháin\n" " ibs=BEARTA léigh BEARTA beart sa turas\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=COMHAD léigh ó CHOMHAD in ionad an ghnáth-ionchuir\n" " iflag=BRATACH léigh de réir an liosta siombailí, scartha le camóga\n" " obs=BEARTA scríobh BEARTA beart sa turas\n" " of=COMHAD scríobh chuig COMHAD in ionad an ghnáth-aschuir\n" " oflag=BRATACH scríobh de réir an liosta siombailí, scartha le camóga\n" " seek=BLOIC gabh thar BLOIC bloc (den mhéid obs) ar tosach an aschuir\n" " skip=BLOIC gabh thar BLOIC bloc (den mhéid ibs) ar tosach an " "ionchuir\n" " status=noxfer ná taispeáin staitistic faoin aistriú\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "Is féidir na hiarmhíreanna seo a leanas a chur i ndiaidh BLOIC nó BEARTA:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" "\n" "Is féidir EOCHAIRFHOCAL a bheith:\n" "\n" #: src/dc3dd.c:1169 #, fuzzy msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" " nocreat ná cruthaigh an t-aschomhad\n" " excl teip má tá an t-aschomhad ann cheana\n" " notrunc ná déan teascadh ar an aschomhad\n" " ucase athraigh an cás íochtair go dtí an cás uachtair\n" " swab babhtáil gach cúpla beart san ionchur\n" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" " noerror lean ar aghaidh tar éis earráidí sa léamh\n" " sync stuáil gach bloc ionchurtha le carachtair NUL go dtí ibs-size;\n" " nuair atá `block' nó `unblock' in úsáid, stuáil le spásanna\n" " in ionad carachtair NUL\n" " fdatasync scríobh ar an aschomhad go fisiceach roimh chríochnú\n" " fsync mar an gcéanna, ach scríobh meiteashonraí freisin\n" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" "\n" "Is féidir le gach BRATACH a bheith:\n" "\n" " append mód iarcheangail (ná húsáid ach le haschur; moltar " "conv=notrunc)\n" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr " direct úsáid I/A díreach le haghaidh sonraí\n" #: src/dc3dd.c:1190 msgid " directory fail unless a directory\n" msgstr " directory teip mura comhadlann é\n" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr " dsync úsáid I/A sioncrónaithe le haghaidh sonraí\n" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr " sync mar an gcéanna, ach le haghaidh meiteashonraí fosta\n" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr " nonblock úsáid I/A gan bhacainní\n" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr " noatime ná nuashonraigh an t-am rochtana\n" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr " noctty ná ceap an teirminéal rialaithe ó chomhad\n" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr " nofollow ná lean naisc shiombalacha\n" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr " nolinks teip má tá naisc iomadúla ann\n" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr " binary úsáid I/A dénártha le haghaidh sonraí\n" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr " text úsáid I/A téacs le haghaidh sonraí\n" #: src/dc3dd.c:1213 #, fuzzy, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" "\n" "Má sheoltar comhartha %s chuig próiseas `dd' beo, scríobhfaidh sé " "staitistic\n" "I/A chuig an ghnáth-aschur earráide, agus ansin atosóidh sé an chóipeáil.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 taifead isteach\n" " 18335302+0 taifead amach\n" " 9387674624 beart (9.4 GB) cóipeáilte, 34.6279 soicind, 271 MB/s\n" "\n" "Roghanna:\n" "\n" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Earráid chórais anaithnid" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, fuzzy, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" "%+% taifead isteach\n" "%+% taifead amach\n" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, fuzzy, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "cóipeáladh % bheart (%s)" msgstr[1] "cóipeáladh % bheart (%s)" msgstr[2] "cóipeáladh % bheart (%s)" msgstr[3] "cóipeáladh % mbeart (%s)" msgstr[4] "cóipeáladh % beart (%s)" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "Éigríoch B" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, fuzzy, c-format msgid ", %g s, %s/s " msgstr ", %g shoicind, %s/s\n" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr ", %g shoicind, %s/s\n" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "inchomhad %s á dhúnadh" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "aschomhad %s á dhúnadh" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Iarmhíreanna don aschomhad ídithe" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "%s á oscailt" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "TEIPTHE" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, c-format msgid "unrecognized operand %s" msgstr "oibreann anaithnid %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "dáta neamhbhailí %s" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" # similar string for time format in ls.c -KPS #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "formáid neamhbhailí ar an dáta: %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" # similar string for time format in ls.c -KPS #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "formáid neamhbhailí ar an dáta: %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" # similar string for time format in ls.c -KPS #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "formáid neamhbhailí ar an dáta: %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 msgid "invalid conversion" msgstr "tiontú neamhbhailí" #: src/dc3dd.c:2850 msgid "invalid input flag" msgstr "bratach neamhbhailí ionchurtha" #: src/dc3dd.c:2853 msgid "invalid output flag" msgstr "bratach neamhbhailí aschurtha" #: src/dc3dd.c:2856 msgid "invalid status flag" msgstr "bratach neamhbhailí stádais" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "uimhir neamhbhailí %s" #: src/dc3dd.c:2938 msgid "cannot combine excl and nocreat" msgstr "ní féidir `excl' agus `nocreat' a úsáid lena chéile" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "ní féidir roghanna -e agus -i a chumasc" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "ní féidir roghanna -e agus -i a chumasc" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "ní féidir roghanna -e agus -i a chumasc" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "ní féidir roghanna -e agus -i a chumasc" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "ní féidir roghanna -e agus -i a chumasc" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "rabhadh: ag seachaint fabht eithne `lseek' don chomhad (%s)\n" " de mt_type=0x%0lx -- féach ar le haghaidh liosta cineálacha" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "%s á léamh" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, c-format msgid "%s: cannot seek" msgstr "%s: ní féidir seek a dhéanamh" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "fritháireamh thar maoil agus comhad %s á léamh" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "rabhadh: fritháireamh neamhbhailí i ndiaidh léamh teipthe" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "tar éis an tsaoil, ní féidir fabht san eithne a sheachaint" #: src/dc3dd.c:3291 #, c-format msgid "setting flags for %s" msgstr "bratacha á socraithe le haghaidh %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "comhadlann %s á léamh" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "comhadlann %s á léamh" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "á scríobh i %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "theip ar fdatasync i gcomhair %s" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "theip ar fsync i gcomhair %s" #: src/dc3dd.c:3907 msgid "standard input" msgstr "gnáth-ionchur" #: src/dc3dd.c:3938 msgid "standard output" msgstr "gnáth-aschur" #: src/dc3dd.c:4016 #, fuzzy, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" "fritháireamh rómhór: ní féidir teascadh go fad % (%lu beart) bloc" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "ní féidir %s a `fstat'" #: src/dc3dd.c:4037 #, c-format msgid "truncating at % bytes in output file %s" msgstr "á theascadh ag % beart san aschomhad %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii ó EBCDIC go ASCII\n" #~ " ebcdic ó ASCII go EBCDIC\n" #~ " ibm ó ASCII go EBCDIC malartach\n" #~ " block stuáil le spásanna go cbs-size gach taifead atá scortha le " #~ "líne nua\n" #~ " unblock cuir línte nua in ionad spásanna ag deireadh de thaifid de " #~ "cbs-size\n" #~ " lcase athraigh an cás uachtair go dtí an cás íochtair\n" #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "% taifead teasctha\n" #~ msgstr[1] "% thaifead teasctha\n" #~ msgstr[2] "% thaifead teasctha\n" #~ msgstr[3] "% dtaifead teasctha\n" #~ msgstr[4] "% taifead teasctha\n" #~ msgid "cannot combine any two of {ascii,ebcdic,ibm}" #~ msgstr "ní féidir aon dá cheann de {ascii,ebcdic,ibm} a úsáid lena chéile" #~ msgid "cannot combine block and unblock" #~ msgstr "ní féidir `block' agus `unblock' a úsáid lena chéile" #~ msgid "cannot combine lcase and ucase" #~ msgstr "ní féidir `lcase' agus `ucase' a úsáid lena chéile" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "rabhadh: fritháireamh neamhbhailí i ndiaidh léamh teipthe" #~ msgid "error writing %s" #~ msgstr "earráid agus %s á scríobh" #~ msgid "invalid argument %s for %s" #~ msgstr "argóint neamhbhailí %s chun %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "argóint dhébhríoch %s chun %s" #~ msgid "Valid arguments are:" #~ msgstr "Na hargóintí bailí:" #~ msgid "error closing file" #~ msgstr "earráid agus comhad á dhúnadh" #~ msgid "write error" #~ msgstr "earráid sa scríobh" #~ msgid "preserving permissions for %s" #~ msgstr "ceadanna ar %s á gcaomhnú" #~ msgid "cannot stat %s" #~ msgstr "ní féidir %s a `stat'" #~ msgid "regular empty file" #~ msgstr "gnáthchomhad folamh" #~ msgid "regular file" #~ msgstr "gnáthchomhad" #~ msgid "directory" #~ msgstr "comhadlann" #~ msgid "block special file" #~ msgstr "comhad speisialta den chineál `bloc'" #~ msgid "character special file" #~ msgstr "comhad speisialta den chineál `carachtar'" # `TITA' ?! -KPS #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "nasc siombalach" #~ msgid "socket" #~ msgstr "soicéad" #~ msgid "message queue" #~ msgstr "ciú teachtaireachta" #~ msgid "semaphore" #~ msgstr "séamafór" # FARF --KPS #~ msgid "shared memory object" #~ msgstr "comhad comhchuimhne" #~ msgid "typed memory object" #~ msgstr "comhad cuimhne le cineál" #~ msgid "weird file" #~ msgstr "comhad aisteach" #~ msgid "Address family for hostname not supported" #~ msgstr "Aicme sheolta d'óstainm gan tacaíocht" #~ msgid "Temporary failure in name resolution" #~ msgstr "Teip shealadach ar réiteach na n-ainmneacha" #~ msgid "Bad value for ai_flags" #~ msgstr "Luach neamhbhailí do 'ai_flags'" #~ msgid "Non-recoverable failure in name resolution" #~ msgstr "Teip dhocheartaithe ar réiteach na n-ainmneacha" #~ msgid "ai_family not supported" #~ msgstr "ní thacaítear le 'ai_family'" #~ msgid "Memory allocation failure" #~ msgstr "Theip ar dháil chuimhne" #~ msgid "No address associated with hostname" #~ msgstr "Níl seoladh ar bith ceangailte leis an óstainm" #~ msgid "Name or service not known" #~ msgstr "Ainm nó seirbhís anaithnid" #~ msgid "Servname not supported for ai_socktype" #~ msgstr "Ní thacaítear le hainm freastalaithe do 'ai_socktype'" #~ msgid "ai_socktype not supported" #~ msgstr "ní thacaítear le 'ai_socktype'" #~ msgid "System error" #~ msgstr "Earráid chórais" #~ msgid "Argument buffer too small" #~ msgstr "Tá an maolán argóinte róbheag" #~ msgid "Processing request in progress" #~ msgstr "Iarratas próiseála ar siúl" #~ msgid "Request canceled" #~ msgstr "Cealaíodh an t-iarratas" #~ msgid "Request not canceled" #~ msgstr "Níor cealaíodh an t-iarratas" #~ msgid "All requests done" #~ msgstr "Cuireadh gach iarratas i gcrích" #~ msgid "Interrupted by a signal" #~ msgstr "Idirbhriste ag comhartha" #~ msgid "Parameter string not correctly encoded" #~ msgstr "Níl an teaghrán paraiméadair ionchódaithe i gceart" #~ msgid "Unknown error" #~ msgstr "Earráid anaithnid" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: Tá an rogha `%s' débhríoch\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `--%s'\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `%c%s'\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: rogha anaithnid `--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: rogha anaithnid `%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: rogha neamhcheadaithe -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: rogha neamhbhailí -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: tá argóint de dhíth i ndiaidh na rogha -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: Tá an rogha `-W %s' débhríoch\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `-W %s'\n" #~ msgid "cannot change permissions of %s" #~ msgstr "ní féidir na ceadanna de %s a athrú" #~ msgid "cannot create directory %s" #~ msgstr "ní féidir comhadlann %s a chruthú" #~ msgid "memory exhausted" #~ msgstr "cuimhne ídithe" #~ msgid "unable to record current working directory" #~ msgstr "ní féidir an chomhadlann oibre a thaifead" #~ msgid "failed to return to initial working directory" #~ msgstr "níl aon fháil ar an chéad chomhadlann oibre" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" #~ msgid "%s: end of file" #~ msgstr "%s: comhadchríoch" #~ msgid "Success" #~ msgstr "D'éirigh leis" #~ msgid "No match" #~ msgstr "Níl a leithéid ann" #~ msgid "Invalid regular expression" #~ msgstr "Slonn ionadaíochta neamhbhailí" #~ msgid "Invalid collation character" #~ msgstr "Carachtar neamhbhailí comhordaithe" #~ msgid "Invalid character class name" #~ msgstr "Ainm neamhbhailí ar aicme charachtar" #~ msgid "Trailing backslash" #~ msgstr "Cúlslais chun deiridh" #~ msgid "Invalid back reference" #~ msgstr "Cúltagairt neamhbhailí" #~ msgid "Unmatched [ or [^" #~ msgstr "[ nó [^ corr" #~ msgid "Unmatched ( or \\(" #~ msgstr "( nó \\( corr" #~ msgid "Unmatched \\{" #~ msgstr "\\{ corr" #~ msgid "Invalid content of \\{\\}" #~ msgstr "Ábhar neamhbhailí idir \\{ agus \\}" #~ msgid "Invalid range end" #~ msgstr "Tá deireadh an raoin neamhbhailí" #~ msgid "Memory exhausted" #~ msgstr "Cuimhne ídithe" #~ msgid "Invalid preceding regular expression" #~ msgstr "Slonn ionadaíochta neamhbhailí roimhe seo" #~ msgid "Premature end of regular expression" #~ msgstr "Deireadh an tsloinn gan choinne" #~ msgid "Regular expression too big" #~ msgstr "Slonn ionadaíochta rómhor" #~ msgid "Unmatched ) or \\)" #~ msgstr ") nó \\) corr" #~ msgid "No previous regular expression" #~ msgstr "Ní raibh slonn ionadaíochta roimhe seo" #~ msgid "it is dangerous to operate recursively on %s" #~ msgstr "tá sé contúirteach oibriú go hathchúrsach ar %s" #~ msgid "it is dangerous to operate recursively on %s (same as %s)" #~ msgstr "" #~ "tá sé contúirteach oibriú go hathchúrsach ar %s (is ionann agus %s é)" #~ msgid "use --no-preserve-root to override this failsafe" #~ msgstr "bain úsáid as --no-preserve-root chun na cosanta seo a shárú" # allow yes, but also 'i' as in 'is sea' or 's' for 'sea' -- KPS # neither of these letters is near the 'N' on standard keyboard... #~ msgid "^[yY]" #~ msgstr "^[yYiIsS]" # fortunately, 'n' for 'no' or 'ní hea' - KPS #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "ceadanna ar %s á socrú" #~ msgid "iconv function not usable" #~ msgstr "ní féidir an fheidhm iconv a úsáid" #~ msgid "iconv function not available" #~ msgstr "níl an fheidhm iconv ar fáil" #~ msgid "character out of range" #~ msgstr "carachtar as raon" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "ní féidir U+%04X a thiontú chuig an fhoireann carachtar logánta" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "ní féidir U+%04X a thiontú chuig an fhoireann carachtar logánta: %s" #~ msgid "invalid user" #~ msgstr "úsáideoir neamhbhailí" #~ msgid "invalid group" #~ msgstr "grúpa neamhbhailí" #~ msgid "invalid spec" #~ msgstr "sonraíocht neamhbhailí" #~ msgid "(C)" #~ msgstr "©" #~ msgid "" #~ "\n" #~ "License GPLv3+: GNU GPL version 3 or later \n" #~ "This is free software: you are free to change and redistribute it.\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ceadúnas GPLv3+: GNU GPL leagan 3 nó níos nuaí \n" #~ "Is saorbhogearra é seo: ceadaítear duit é a athrú agus a athdháileadh.\n" #~ "Níl baránta AR BITH ann, an oiread atá ceadaithe de réir dlí.\n" #~ "\n" #~ msgid "Written by %s.\n" #~ msgstr "Le %s.\n" #~ msgid "Written by %s and %s.\n" #~ msgstr "Le %s agus %s.\n" #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Le %s, %s, agus %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Le %s, %s, %s,\n" #~ "agus %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Le %s, %s, %s,\n" #~ "%s, agus %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, and %s.\n" #~ msgstr "" #~ "Le %s, %s, %s,\n" #~ "%s, %s, agus %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, and %s.\n" #~ msgstr "" #~ "Le %s, %s, %s,\n" #~ "%s, %s, %s, agus %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "" #~ "Le %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "agus %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "" #~ "Le %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, agus %s.\n" #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, and others.\n" #~ msgstr "" #~ "Le %s, %s, %s,\n" #~ "%s, %s, %s, %s,\n" #~ "%s, %s, agus daoine eile nach iad.\n" #~ msgid "invalid argument: %s" #~ msgstr "argóint neamhbhailí: %s" #~ msgid "string comparison failed" #~ msgstr "theip ar chomparáid idir teaghráin" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Cuir LC_ALL='C' ionas gur féidir an fhadhb seo a sheachaint." #~ msgid "The strings compared were %s and %s." #~ msgstr "Rinneadh comparáid idir na teaghráin %s agus %s." #~ msgid "string transformation failed" #~ msgstr "theip ar thiontú teaghráin" #~ msgid "The untransformed string was %s." #~ msgstr "Ba é %s an teaghrán gan trasfhoirmiú." #~ msgid "cannot perform formatted output" #~ msgstr "ní féidir aschur formáidithe a dhéanamh" #~ msgid "invalid %s%s argument `%s'" #~ msgstr "argóint neamhbhailí %s%s: `%s'" #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "iarmhír neamhbhailí in argóint %s%s: `%s'" #~ msgid "%s%s argument `%s' too large" #~ msgstr "argóint %s%s rómhór: `%s'" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Base64 encode or decode FILE, or standard input, to standard output.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA] [COMHAD]\n" #~ "Ionchódaigh nó díchódaigh COMHAD, nó an gnáth-ionchur,\n" #~ "le bunuimhir 64, go dtí an gnáth-aschur.\n" #~ "\n" #~ msgid "" #~ " -w, --wrap=COLS Wrap encoded lines after COLS character (default " #~ "76).\n" #~ " Use 0 to disable line wrapping.\n" #~ "\n" #~ " -d, --decode Decode data.\n" #~ " -i, --ignore-garbage When decoding, ignore non-alphabet characters.\n" #~ "\n" #~ msgstr "" #~ " -w, --wrap=COLÚIN Timfhill línte ionchódaithe tar éis COLÚIN " #~ "charachtar\n" #~ " (réamhshocrú=76).\n" #~ " Úsáid 0 chun timfhilleadh a dhíchumasú.\n" #~ "\n" #~ " -d, --decode Díchódaigh sonraí.\n" #~ " -i, --ignore-garbage Déan neamhshuim ar charachtair neamhaibítreacha " #~ "le\n" #~ " linn díchódaithe.\n" #~ "\n" #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ " --help Taispeáin an chabhair seo agus scoir.\n" #~ " --version Taispeáin eolas faoin leagan agus scoir.\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón gnáth-ionchur.\n" #~ msgid "" #~ "\n" #~ "The data are encoded as described for the base64 alphabet in RFC 3548.\n" #~ "When decoding, the input may contain newlines in addition to the bytes " #~ "of\n" #~ "the formal base64 alphabet. Use --ignore-garbage to attempt to recover\n" #~ "from any other non-alphabet bytes in the encoded stream.\n" #~ msgstr "" #~ "\n" #~ "Ionchódaítear na sonraí mar a thuairiscítear d'aibítir base64 i RFC " #~ "3548.\n" #~ "Le linn díchódaithe, is féidir línte nua a bheith san ionchur in éineacht " #~ "leis\n" #~ "na bearta den aibítir fhoirmiúil base64. Úsáid --ignore-garbage chun\n" #~ "iarracht a dhéanamh teacht slán ó charachtair neamhaibítreacha eile sa\n" #~ "sruth ionchódaithe.\n" #~ msgid "read error" #~ msgstr "earráid sa léamh" #~ msgid "invalid input" #~ msgstr "ionchur neamhbhailí" #~ msgid "invalid wrap size: %s" #~ msgstr "méid neamhbhailí timfhillte: %s" #~ msgid "extra operand %s" #~ msgstr "oibreann breise %s" #~ msgid "closing standard input" #~ msgstr "gnáth-ionchur á dhúnadh" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s AINM [IARMHÍR]\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin an tAINM agus bain amach ainmneacha comhadlainne ar tosach.\n" #~ "Má tá IARMHÍR ann, bain é amach fosta.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"sort\".\n" #~ " %s include/stdio.h .h Output \"stdio\".\n" #~ msgstr "" #~ "\n" #~ "Mar shampla:\n" #~ " %s /usr/bin/sort Aschur: \"sort\".\n" #~ " %s include/stdio.h .h Aschur: \"stdio\".\n" # plural above under cp.c -KPS #~ msgid "missing operand" #~ msgstr "oibreann ar iarraidh" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Úsáid: %s [ROGHA] [COMHAD]...\n" #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Comhcheangail COMHA(I)D, nó an gnáth-ionchur, leis an ngnáth-aschur.\n" #~ "\n" #~ " -A, --show-all ar comhbhrí le -vET\n" #~ " -b, --number-nonblack uimhrigh línte aschurtha nach bhfuil folamh\n" #~ " -e ar comhbhrí le -vE\n" #~ " -E, --show-ends taispeáin $ ag deireadh gach líne\n" #~ " -n, --number uimhrigh gach líne aschurtha\n" #~ " -s, --squeeze-blank laghdaigh línte folmha iomadúla go ceann " #~ "amháin\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t ar comhbhrí le -vT\n" #~ " -T, --show-tabs taispeáin táib mar ^I\n" #~ " -u (gan feidhm)\n" #~ " -v, --show-nonprinting taispeáin rialúcháin le ^, M-; ní LFD agus " #~ "TAB\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s f - g Output f's contents, then standard input, then g's contents.\n" #~ " %s Copy standard input to standard output.\n" #~ msgstr "" #~ "\n" #~ "Mar shampla:\n" #~ " %s f - g Taispeáin f, ansin an gnáth-ionchur, agus g ina dhiaidh sin.\n" #~ " %s Cóipeáil an gnáth-ionchur go dtí an gnáth-aschur.\n" #~ msgid "cannot do ioctl on %s" #~ msgstr "ní féidir ioctl a dhéanamh ar %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: is ionann iad an t-inchomhad agus an t-aschomhad" #~ msgid "failed to create security context: %s" #~ msgstr "theip ar chomhthéacs slándála a chruthú: %s" #~ msgid "failed to set %s security context component to %s" #~ msgstr "theip ar chomhpháirt chomhthéacs slándála %s a shocrú mar %s" #~ msgid "failed to get security context of %s" #~ msgstr "níorbh fhéidir comhthéacs slándála de %s a fháil" #~ msgid "can't apply partial context to unlabeled file %s" #~ msgstr "" #~ "ní féidir comhthéacs neamhiomlán a chur i bhfeidhm ar chomhad gan lipéad %" #~ "s" #~ msgid "failed to change context of %s to %s" #~ msgstr "theip ar chomhthéacs de %s a athrú go %s" #~ msgid "cannot access %s" #~ msgstr "ní féidir %s a rochtain" #~ msgid "%s" #~ msgstr "%s" #~ msgid "cannot read directory %s" #~ msgstr "ní féidir comhadlann %s a léamh" #~ msgid "changing security context of %s" #~ msgstr "comhthéacs slándála de %s á athrú" #~ msgid "fts_read failed" #~ msgstr "theip ar fts_read" #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... COMHTHÉACS COMHAD...\n" #~ " nó: %s [ROGHA]... [-u ÚSÁIDEOIR] [-r RÓL] [-l RAON] [-t CINEÁL] " #~ "COMHAD...\n" #~ " nó: %s [ROGHA]... --reference=TCOMHAD COMHAD...\n" #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Athraigh an comhthéacs slándála de gach COMHAD go COMHTHÉACS.\n" #~ "Le --reference, athraigh an comhthéacs slándála de gach COMHAD go dtí an " #~ "comhthéacs de TCOMHAD.\n" #~ "\n" #~ " -c, --changes cosúil le `verbose' ach tabhair tuairisc nuair " #~ "a\n" #~ " athraítear rud éigin amháin\n" #~ " -h, --no-dereference téigh i bhfeidhm ar naisc shiombalacha in ionad " #~ "an\n" #~ " chomhaid tagartha\n" #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " --reference=TCOMHAD bain úsáid as an gcomhthéacs slándála atá ag " #~ "TCOMHAD\n" #~ " in ionad luach COMHTHÉACS a shonrú\n" #~ " -R, --recursive oibrigh ar chomhaid/chomhadlanna go " #~ "hathchúrsach\n" #~ " -v, --verbose taispeáin diagnóisic do gach comhad " #~ "próiseáilte\n" #~ msgid "" #~ " -u, --user=USER set user USER in the target security context\n" #~ " -r, --role=ROLE set role ROLE in the target security context\n" #~ " -t, --type=TYPE set type TYPE in the target security context\n" #~ " -l, --range=RANGE set range RANGE in the target security context\n" #~ "\n" #~ msgstr "" #~ " -u, --user=ÚSÁIDEOIR socraigh ÚSÁIDEOIR sa chomhthéacs sprice " #~ "slándála\n" #~ " -r, --role=RÓL socraigh RÓL sa chomhthéacs sprice slándála\n" #~ " -t, --type=CINEÁL socraigh CINEÁL sa chomhthéacs sprice slándála\n" #~ " -l, --range=RAON socraigh RAON sa chomhthéacs sprice slándála\n" #~ "\n" #~ msgid "" #~ "The following options modify how a hierarchy is traversed when the -R\n" #~ "option is also specified. If more than one is specified, only the final\n" #~ "one takes effect.\n" #~ "\n" #~ " -H if a command line argument is a symbolic link\n" #~ " to a directory, traverse it\n" #~ " -L traverse every symbolic link to a directory\n" #~ " encountered\n" #~ " -P do not traverse any symbolic links (default)\n" #~ "\n" #~ msgstr "" #~ "Athraíonn na roghanna seo a leanas an chaoi a siúltar trí chomhadlanna " #~ "nuair\n" #~ "a roghnaítear -R. Má tá níos mó ná rogha amháin sonraithe, ní úsáidfear " #~ "ach\n" #~ "an ceann deireanach.\n" #~ "\n" #~ " -H má tá nasc siombalach go comhadlann tugtha mar\n" #~ " argóint ar an líne ordaithe, lean é\n" #~ " -L lean gach uile nasc siombalach le comhadlann\n" #~ " -P ná lean aon nasc siombalach (réamhshocrú)\n" #~ "\n" #~ msgid "-R --dereference requires either -H or -L" #~ msgstr "tá gá le ceann de -H nó -L leis na roghanna -R --dereference" #~ msgid "-R -h requires -P" #~ msgstr "tá gá le -P leis na roghanna -R -h" #~ msgid "missing operand after %s" #~ msgstr "oibreann ar iarraidh i ndiaidh %s" #~ msgid "invalid context: %s" #~ msgstr "comhthéacs neamhbhailí: %s" #~ msgid "conflicting security context specifiers given" #~ msgstr "sonraitheoirí contrártha um chomhthéacs slándála" #~ msgid "failed to get attributes of %s" #~ msgstr "níorbh fhéidir na saintréithe de %s a rochtain" #~ msgid "invalid group: %s" #~ msgstr "grúpa neamhbhailí: %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... GRÚPA COMHAD...\n" #~ " nó: %s [ROGHA]... --reference=TCOMHAD COMHAD...\n" #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Athraigh an grúpa de gach COMHAD go GRÚPA.\n" #~ "Le --reference, athraigh an grúpa de gach COMHAD go dtí an grúpa de " #~ "TCOMHAD.\n" #~ "\n" #~ " -c, --changes cosúil le `verbose' ach ná tabhair tuairisc ach\n" #~ " nuair a athraítear rud éigin\n" #~ " --dereference téigh i bhfeidhm ar thagrán gach naisc\n" #~ " shiombalaigh (réamhshocrú) in ionad an naisc\n" #~ " shiombalaigh féin\n" #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference téigh i bhfeidhm ar an nasc siombalach in ionad\n" #~ " comhad tagartha ar bith (le fáil más féidir le " #~ "do\n" #~ " chóras an t-úinéir de nasc siombalach a athrú)\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root ná caith le `/' go speisialta (réamhshocrú)\n" #~ " --preserve-root ná hoibrigh ar `/' go hathchúrsach\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet múch formhór na n-earráidí\n" #~ " --reference=TCOMHAD bain úsáid as an ghrúpa atá ag TCOMHAD\n" #~ " agus ná sonraigh luach GRÚPA\n" #~ " -R, --recursive oibrigh ar chomhaid/chomhadlanna go " #~ "hathchúrsach\n" #~ " -v, --verbose taispeáin diagnóisic do gach comhad " #~ "próiseáilte\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s staff /u Change the group of /u to \"staff\".\n" #~ " %s -hR staff /u Change the group of /u and subfiles to \"staff\".\n" #~ msgstr "" #~ "\n" #~ "Mar shampla:\n" #~ " %s foireann /u Athraigh grúpa de /u go \"foireann\".\n" #~ " %s -hR foireann /u Athraigh grúpa de /u agus a fhochomhaid go \"foireann" #~ "\".\n" #~ msgid "getting new attributes of %s" #~ msgstr "saintréithe nua de %s á bhfáil" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "níor athraíodh nasc siombalach %s ná a thagrán\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "rinneadh athrú ar mhód %s go %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "níorbh fhéidir an mód de %s a athrú go %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "coimeádadh an mód de %s mar %04lo (%s)\n" #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "ní féidir oibriú ar nasc siombalach %s gan sprioc" #~ msgid "changing permissions of %s" #~ msgstr "ceadanna %s á n-athrú" #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "%s: is %s na ceadanna nua, ní %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... MÓD[,MÓD]... COMHAD...\n" #~ " nó: %s [ROGHA]... MÓD-OCHTACH COMHAD...\n" #~ " nó: %s [ROGHA]... --reference=TCOMHAD COMHAD...\n" #~ msgid "" #~ "Change the mode of each FILE to MODE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ msgstr "" #~ "Athraigh an mód de gach COMHAD go dtí MÓD.\n" #~ "\n" #~ " -c, --changes cosúil le `verbose' ach ná tabhair tuairisc ach " #~ "ar athruithe\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root ná tabhair cóir speisialta do " #~ "`/' (réamhshocrú)\n" #~ " --preserve-root ná caith le `/' go hathchúrsach\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ " -f, --silent, --quiet múch formhór na n-earráidí\n" #~ " -v, --verbose taispeáin diagnóisic do gach comhad\n" #~ " --reference=COMHAD bain úsáid as an ghrúpa atá ag COMHAD\n" #~ " -R, --recursive athraigh comhaid agus comhadlanna go " #~ "hathchúrsach\n" #~ msgid "" #~ "\n" #~ "Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgstr "" #~ "\n" #~ "Tá gach MÓD den fhoirm `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.\n" #~ msgid "cannot combine mode and --reference options" #~ msgstr "ní féidir rogha mhóid a chumasc leis an rogha --reference" #~ msgid "invalid mode: %s" #~ msgstr "mód neamhbhailí: %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "tá athrach úinéireachta ar %s go dtí %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "tá athrach grúpa ar %s go dtí %s\n" #~ msgid "no change to ownership of %s\n" #~ msgstr "níor athraíodh an t-úinéir de %s\n" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "theip ar athrú úinéireachta de %s go %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "theip ar athrú grúpa de %s go %s\n" #~ msgid "failed to change ownership of %s\n" #~ msgstr "theip ar athrú úinéireachta de %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "tá an t-úinéir de %s fós %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "Tá an grúpa de %s fós %s\n" #~ msgid "ownership of %s retained\n" #~ msgstr "tá an t-úinéir de %s gan athrú\n" #~ msgid "cannot dereference %s" #~ msgstr "ní féidir %s a dhí-thagairt" #~ msgid "changing ownership of %s" #~ msgstr "úinéireacht ar %s á hathrú" #~ msgid "changing group of %s" #~ msgstr "grúpa de %s á athrú" #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... [ÚINÉIR][:[GRÚPA]] COMHAD...\n" #~ " nó: %s [ROGHA]... --reference=TCOMHAD COMHAD...\n" #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Athraigh an t-úinéir agus/nó an grúpa de gach COMHAD go ÚINÉIR agus/nó " #~ "GRÚPA.\n" #~ "Le --reference, athraigh an t-úinéir agus an grúpa de gach COMHAD go dtí " #~ "an\n" #~ "t-úinéir agus an grúpa de TCOMHAD.\n" #~ "\n" #~ " -c, --changes cosúil le `verbose' ach ná tabhair tuairisc ach " #~ "nuair\n" #~ " a athraítear rud éigin\n" #~ " --dereference téigh i bhfeidhm ar thagrán gach naisc\n" #~ " shiombalaigh (réamhshocrú) in ionad an naisc\n" #~ " shiombalaigh féin\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=ÚINÉIR_FAOI_LÁTHAIR:GRÚPA_FAOI_LÁTHAIR\n" #~ " athraigh an t-úinéir agus/nó an grúpa de gach " #~ "comhad\n" #~ " ach amháin más mar a chéile a úinéir agus/nó " #~ "grúpa\n" #~ " agus na cinn atá ceaptha anseo. Is féidir " #~ "ceachtar\n" #~ " acu a fhágáil ar lár, agus sa chás sin, ní gá\n" #~ " don tréith ar iarraidh a aontú\n" #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet múch formhór na n-earráidí\n" #~ " --reference=TCOMHAD bain úsáid as an úinéir/ngrúpa atá ag TCOMHAD\n" #~ " agus ná sonraigh luach ÚINÉIR:GRÚPA\n" #~ " -R, --recursive oibrigh ar chomhaid/chomhadlanna go " #~ "hathchúrsach\n" #~ " -v, --verbose taispeáin diagnóisic do gach comhad " #~ "próiseáilte\n" #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Coinnigh úinéir gan athrú má tá sé ar iarraidh. An grúpa ar an nós " #~ "céanna,\n" #~ "ach athraigh é go dtí an grúpa logála isteach má tá grúpa intuigthe le " #~ "`:' ann\n" #~ "in éineacht le húinéir siombalach.\n" #~ "Is féidir ÚINÉIR nó GRÚPA a bheith uimhriúil chomh maith le siombalach.\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s root /u Change the owner of /u to \"root\".\n" #~ " %s root:staff /u Likewise, but also change its group to \"staff\".\n" #~ " %s -hR root /u Change the owner of /u and subfiles to \"root\".\n" #~ msgstr "" #~ "\n" #~ "Mar shampla:\n" #~ " %s root /u Athraigh an t-úinéir de /u go \"root\".\n" #~ " %s root:foireann /u Mar an gcéanna, ach athraigh a ghrúpa go \"foireann" #~ "\" freisin.\n" #~ " %s -hR root /u Athraigh an t-úinéir de /u agus a fochomhaid go " #~ "\"root\".\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s FRÉAMHNUA [ORDÚ...]\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Rith ORDÚ leis an fhréamhchomhadlann mar FRÉAMHNUA.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Mura bhfuil ORDÚ ann, rith ``${SHELL} -i'' (réamhshocrú: /bin/sh).\n" # in FARF --KPS #~ msgid "cannot change root directory to %s" #~ msgstr "ní féidir an fhréamhchomhadlann a athrú go %s" #~ msgid "cannot chdir to root directory" #~ msgstr "ní féidir chdir a dhéanamh go dtí an fhréamhchomhadlann" #~ msgid "cannot run command %s" #~ msgstr "ní féidir ordú %s a rith" #~ msgid "%s: file too long" #~ msgstr "%s: comhad rófhada" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Úsáid: %s [COMHAD]...\n" #~ " nó: %s [ROGHA]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin suim sheiceála CRC agus líon bearta di gach COMHAD.\n" #~ "\n" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Úsáid: %s [ROGHA]... COMHAD1 COMHAD2\n" #~ msgid "Compare sorted files FILE1 and FILE2 line by line.\n" #~ msgstr "" #~ "Déan comparáid idir na comhaid shórtáilte COMHAD1 agus COMHAD2, líne ar " #~ "líne.\n" #~ msgid "" #~ "\n" #~ "With no options, produce three-column output. Column one contains\n" #~ "lines unique to FILE1, column two contains lines unique to FILE2,\n" #~ "and column three contains lines common to both files.\n" #~ msgstr "" #~ "\n" #~ "Mura bhfuil aon rogha ann, taispeáin an t-aschur i trí cholún. Sa chéad\n" #~ "cholún, línte atá i gCOMHAD1 ach nach COMHAD2; sa dara cholún, línte atá\n" #~ "i gCOMHAD2 ach nach COMHAD2, agus comhlínte sa tríú colún.\n" #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "\n" #~ " -1 ceil línte atá i gCOMHAD1 ach nach i gCOMHAD2\n" #~ " -2 ceil línte atá i gCOMHAD2 ach nach i gCOMHAD1\n" #~ " -3 ceil línte atá sna comhaid araon\n" #~ msgid "clearing permissions for %s" #~ msgstr "ceadanna ar %s á nglanadh" #~ msgid "failed to preserve ownership for %s" #~ msgstr "níorbh fhéidir an úinéireacht de %s a chaomhnú" #~ msgid "failed to lookup file %s" #~ msgstr "theip ar luchtú an chomhaid %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "níorbh fhéidir an t-údar de %s a chaomhnú" #~ msgid "cannot open %s for reading" #~ msgstr "ní féidir %s a oscailt chun léamh" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "" #~ "ag gabháil thar an chomhad %s; bhí sé curtha as áit agus á chóipeáil" #~ msgid "failed to get file system create context" #~ msgstr "níorbh fhéidir comhthéacs chruthú an chórais comhad a fháil" #~ msgid "failed to set the security context of %s to %s" #~ msgstr "theip ar an gcomhthéacs slándála de %s a athrú go %s" #~ msgid "cannot remove %s" #~ msgstr "ní féidir %s a scriosadh" #~ msgid "removed %s\n" #~ msgstr "%s scriosta\n" #~ msgid "not writing through dangling symlink %s" #~ msgstr "ní scríobhfar trí nasc siombalach %s gan sprioc" #~ msgid "cannot create regular file %s" #~ msgstr "ní féidir gnáthchomhad %s a chruthú" #~ msgid "cannot lseek %s" #~ msgstr "ní féidir %s a `lseek'" #~ msgid "writing %s" #~ msgstr "%s á scríobh" #~ msgid "preserving times for %s" #~ msgstr "amanna á gcaomhnú le haghaidh %s" #~ msgid "closing %s" #~ msgstr "%s á dhúnadh" #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "" #~ "%s: déan iarracht ar %s a fhorscríobh, agus mód %04lo (%s) a shárú? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: forscríobh %s? " #~ msgid " (backup: %s)" #~ msgstr " (cúltaca: %s)" #~ msgid "failed to restore the default file creation context" #~ msgstr "" #~ "níorbh fhéidir an comhthéacs réamhshocraithe cruthaithe comhad a " #~ "athchóiriú" #~ msgid "omitting directory %s" #~ msgstr "comhadlann %s á fágáil ar lár" #~ msgid "warning: source file %s specified more than once" #~ msgstr "rabhadh: comhad foinse %s tugtha níos mó ná uair amháin" #~ msgid "%s and %s are the same file" #~ msgstr "is iad %s agus %s an comhad céanna" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "" #~ "ní féidir forscríobh a dhéanamh ar %s (ní comhadlann é) le %s (comhadlann)" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "diúltaíodh forscríobh ar an chomhad nua %s le %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "ní féidir forscríobh a dhéanamh ar %s (comhadlann) le gnáthchomhad" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "ní féidir comhadlann a aistriú go dtí gnáthchomhad: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "léirscriosfadh cúltaca de %s an comhad foinse; níor aistríodh %s" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "léirscriosfadh cúltaca de %s an comhad foinse; níor cóipeáladh %s" #~ msgid "cannot backup %s" #~ msgstr "ní féidir cúltaca a dhéanamh ar %s" #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "ní chóipeálfar %s trí nasc siombalach %s a cruthaíodh anois beag" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "" #~ "ní féidir an chomhadlann %s a chóipeáil isteach sa chomhadlann féin, %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "ní chruthófar nasc crua %s go dtí comhadlann %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "ní féidir nasc crua %s a chruthú go dtí %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "" #~ "ní féidir an chomhadlann %s a aistriú go dtí fochomhadlann dá chuid féin, " #~ "%s" #~ msgid "cannot move %s to %s" #~ msgstr "ní féidir %s a aistriú go %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "aistriú idir gléasanna teipthe: %s go %s; ní féidir an sprioc a scriosadh" #~ msgid "failed to set default file creation context to %s" #~ msgstr "" #~ "níorbh fhéidir an comhthéacs réamhshocraithe cruthaithe comhad a shocrú " #~ "go %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "ní féidir nasc siombalach ciorclach %s a chóipeáil" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "" #~ "%s: ní foláir naisc shiombalacha coibhneasta a dhéanamh sa chomhadlann " #~ "oibre" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "ní féidir nasc siombalach a dhéanamh ó %s go %s" #~ msgid "cannot create link %s" #~ msgstr "ní féidir an nasc %s a chruthú" #~ msgid "cannot create fifo %s" #~ msgstr "ní féidir an `fifo' %s a chruthú" #~ msgid "cannot create special file %s" #~ msgstr "ní féidir comhad speisialta %s a chruthú" #~ msgid "cannot read symbolic link %s" #~ msgstr "ní féidir nasc siombalach %s a léamh" #~ msgid "cannot create symbolic link %s" #~ msgstr "ní féidir an nasc siombalach %s a chruthú" #~ msgid "%s has unknown file type" #~ msgstr "tá %s de chineál anaithnid" # bad coinage --KPS #~ msgid "cannot un-backup %s" #~ msgstr "ní féidir dí-chúltaca a dhéanamh ar %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (dí-chúltaca)\n" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... [-T] FOINSE SPRIOC\n" #~ " nó: %s [ROGHA]... FOINSE... COMHADLANN\n" #~ " nó: %s [ROGHA]... -t COMHADLANN FOINSE...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Cóipeáil FOINSE go SPRIOC, nó FOINSE/Í go COMHADLANN.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Is riachtanach le rogha ghearr aon argóint atá riachtanach leis an rogha " #~ "fhada.\n" #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive is ionann é seo agus -dpR\n" #~ " --backup[=RIALÚ] déan cúltaca de gach sprioc-chomhad atá " #~ "ann\n" #~ " -b cosúil le `--backup' ach gan argóint\n" #~ " --copy-contents cóipeáil inneachar de chomhaid speisialta\n" #~ " más athchúrsach é\n" #~ " -d == `--no-dereference --preserve=links'\n" #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " -f, --force mura féidir sprioc-chomhad a oscailt, " #~ "scrios\n" #~ " é agus bain triail eile as\n" #~ " -i, --interactive fiafraigh roimh fhorscríobh\n" #~ " -H lean naisc shiombalacha ar líne na n-" #~ "orduithe\n" #~ msgid "" #~ " -l, --link link files instead of copying\n" #~ " -L, --dereference always follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -l, --link nasc comhaid in ionad iad a chóipeáil\n" #~ " -L, --dereference lean naisc shiombalacha i FOINSE i gcónaí\n" #~ msgid "" #~ " -P, --no-dereference never follow symbolic links in SOURCE\n" #~ msgstr "" #~ " -P, --no-dereference ná lean naisc shiombalacha i FOINSE riamh\n" #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -p == `--preserve=mode,ownership,timestamps'\n" #~ " --preserve[=TRÉITHE] caomhnaigh na tréithe ceaptha " #~ "(réamhshocrú:\n" #~ " mode,ownership,timestamps), más féidir\n" #~ " tréithe eile: context, links, all\n" #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=TRÉITHE ná caomhnaigh na tréithe ceaptha\n" #~ " --parents úsáid ainm lán an chomhaid faoi " #~ "CHOMHADLANN\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive cóipeáil comhadlanna go hathchúrsach\n" #~ " --remove-destination scrios gach sprioc-chomhad atá ann roimh\n" #~ " oscailt (i gcodarsnacht le `--force')\n" #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --sparse=CATHAIN rialaigh cruthú na gcomhad tanaí\n" #~ " --strip-trailing-slashes scrios slaiseanna chun deiridh ó gach " #~ "argóint\n" #~ " FOINSE\n" #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link nasc comhaid in ionad iad a chóipeáil\n" #~ " -S, --suffix=IARMHÍR sáraigh an iarmhír chúltaca " #~ "réamhshocraithe\n" #~ " -t, --target-directory=COMHADLANN cóipeáil gach FOINSE go dtí " #~ "COMHADLANN\n" #~ " -T, --no-target-directory caith le SPRIOC mar ghnáthchomhad\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update ná cóipeáil ach amháin nuair atá FOINSE\n" #~ " níos úire ná an sprioc-chomhad, nó nuair " #~ "atá\n" #~ " an sprioc-chomhad ar iarraidh\n" #~ " -v, --verbose mínigh na rudaí atá ag tarlú\n" #~ " -x, --one-file-system fan ar an chóras chomhaid seo\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Mar réamhshocrú, aimsítear comhaid FOINSE tanaí trí mhodh iúraisticiúil\n" #~ "garbh agus beidh an comhad SPRIOC tanaí chomh maith. Is í seo an mód " #~ "atá\n" #~ "roghnaithe ag `--sparse=auto'. Roghnaigh `--sparse=always' chun comhad " #~ "SPRIOC\n" #~ "tanaí a chruthú i gcónaí nuair atá sraith nialasach fhada go leor i " #~ "bhFOINSE.\n" #~ "Bain úsáid as `--sparse=never' chun an cruthú de chomhaid thanaí a " #~ "chosc.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Is é `~' an iarmhír chúltaca, mura dtugtar é le --suffix nó " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "Is féidir an modh de rialú foinsí a roghnú le `--backup', nó leis an " #~ "athróg\n" #~ "thimpeallachta VERSION_CONTROL. Seo duit na luachanna bailí:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off ná déan cúltacaí choíche (fiú má tá --backup ceaptha)\n" #~ " numbered, t déan cúltacaí agus uimhreacha orthu\n" #~ " existing, nil numbered má tá uimhreacha orthu anois, simple mura " #~ "bhfuil\n" #~ " simple, never déan cúltacaí simplí i gcónaí\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Mar chás speisialta, déanann `cp' cúltaca de FOINSE nuair a thugtar na\n" #~ "roghanna --force agus --backup, agus is ionann iad na hainmneacha FOINSE " #~ "agus\n" #~ "SPRIOC ar ghnáthchomhad atá ann.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "níorbh fhéidir amanna a chaomhnú ar %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "níorbh fhéidir ceadanna a chaomhnú ar %s" #~ msgid "cannot make directory %s" #~ msgstr "ní féidir an chomhadlann %s a chruthú" #~ msgid "%s exists but is not a directory" #~ msgstr "Tá %s ann cheana, ach ní comhadlann é" #~ msgid "accessing %s" #~ msgstr "%s á rochtain" #~ msgid "missing file operand" #~ msgstr "oibreann comhaid ar iarraidh" #~ msgid "missing destination file operand after %s" #~ msgstr "oibreann sprioc-chomhaid ar iarraidh i ndiaidh %s" #~ msgid "" #~ "Cannot combine --target-directory (-t) and --no-target-directory (-T)" #~ msgstr "" #~ "Ní féidir --target-directory (-t) agus --no-target-directory (-T) a úsáid " #~ "lena chéile" #~ msgid "target %s is not a directory" #~ msgstr "ní comhadlann é an sprioc-chomhad %s" #~ msgid "with --parents, the destination must be a directory" #~ msgstr "le --parents, caithfidh an sprioc-chomhad a bheith ina chomhadlann" #~ msgid "the --reply option is deprecated; use -i or -f instead" #~ msgstr "tá an rogha --reply dulta i léig; bain úsáid as -i nó -f ina háit" #~ msgid "multiple target directories specified" #~ msgstr "sonraíodh sprioc-chomhadlanna iomadúla" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "ní féidir nasc crua agus nasc siombalach araon a dhéanamh" #~ msgid "backup type" #~ msgstr "cineál cúltaca" #~ msgid "cannot preserve security context without an SELinux-enabled kernel" #~ msgstr "" #~ "ní féidir an comhthéacs slándála a chaomhnú gan eithne atá cumasaithe do " #~ "SELinux" #~ msgid "input disappeared" #~ msgstr "ionchur imithe" #~ msgid "%s: line number out of range" #~ msgstr "%s: líne-uimhir as raon" #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: %s: líne-uimhir as raon" #~ msgid " on repetition %s\n" #~ msgstr " le linn timthriall %s\n" #~ msgid "%s: %s: match not found" #~ msgstr "%s: %s: níl a leithéid ann" #~ msgid "error in regular expression search" #~ msgstr "earráid le linn cuardaigh ar shlonn ionadaíochta" #~ msgid "write error for %s" #~ msgstr "earráid sa scríobh le haghaidh %s" #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: bhíothas ag súil le slánuimhir i ndiaidh teormharcóra" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: tá gá le `}' i líon na hathráite" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: tá gá le slánuimhir idir `{' agus `}'" #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: teormharcóir foirceanta `%c' ar iarraidh" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: slonn ionadaíochta neamhbhailí: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: patrún neamhbhailí" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: ní foláir líne-uimhir dheimhneach" #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "líne-uimhir %s níos lú ná an líne-uimhir roimpi, %s" #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "rabhadh: is ionann líne-uimhir %s agus an líne-uimhir roimpi" # similar string for time format in ls.c -KPS #~ msgid "invalid format width" #~ msgstr "leithead neamhbhailí na formáide" #~ msgid "invalid format precision" #~ msgstr "beachtas neamhbhailí na formáide" #~ msgid "missing conversion specifier in suffix" #~ msgstr "tá sonraitheoir tiontaithe ar iarraidh in iarmhír" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "sonraitheoir tiontaithe neamhbhailí in iarmhír: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "sonraitheoir tiontaithe neamhbhailí in iarmhír: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "an iomarca sonraitheoirí tiontaithe %% in iarmhír" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "sonraitheoir tiontaithe %% ar iarraidh in iarmhír" #~ msgid "%s: invalid number" #~ msgstr "%s: uimhir neamhbhailí" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Úsáid: %s [ROGHA]... COMHAD PATRÚN...\n" #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Scríobh píosaí de CHOMHAD, scartha le PATRÚ(I)N, i gcomhaid `xx00'," #~ "`xx01',...\n" #~ "agus taispeáin líon na mbeart i ngach píosa ar an gnáth-aschur.\n" #~ "\n" #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMÁID bain úsáid as FORMÁID sprintf in ionad %" #~ "02d\n" #~ " -f, --prefix=RÉIMÍR bain úsáid as RÉIMÍR in ionad `xx'\n" #~ " -k, --keep-files ná scrios aschomhaid tar éis earráidí\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=DIGITÍ bain úsáid as DIGITÍ digit, in ionad 2\n" #~ " -s, --quiet, --silent ná taispeáin líonta na mbeart in " #~ "aschomhaid\n" #~ " -z, --elide-empty-files scrios aschomhaid fholmha\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Má tá an COMHAD `-', léigh ón ghnáth-ionchur. Is féidir PATRÚN a " #~ "bheith:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " SLÁNUIMHIR cóipeáil go dtí an líne-uimhir cheaptha (ach amháin é " #~ "féin)\n" #~ " /SLONN/[FRITHÁIREAMH] cóipeáil go dtí líne chomhoiriúnach (ach amháin é " #~ "féin)\n" #~ " %SLONN%[FRITHÁIREAMH] bog go dtí líne chomhoiriúnach\n" #~ " {SLÁNUIMHIR} aithris an patrún is déanaí SLÁNUIMHIR uaire\n" #~ " {*} aithris an patrún is déanaí is mó is féidir\n" #~ "\n" #~ "FRITHÁIREAMH = `+' nó `-' (riachtanach) agus ansin slánuimhir " #~ "dheimhneach.\n" #~ msgid "fields and positions are numbered from 1" #~ msgstr "uimhrítear réimsí agus ionaid ó 1" #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Úsáid: %s ROGHA... [COMHAD]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin codanna tofa de na línte as gach COMHAD ar an ngnáth-aschur.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LIOSTA ná taispeáin ach na bearta seo\n" #~ " -c, --characters=LIOSTA ná taispeáin ach na carachtair seo\n" #~ " -d, --delimiter=TEORAN úsáid TEORAN in ionad TAB mar theormharcóir " #~ "réimse\n" #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LIOSTA ná taispeáin ach na réimsí seo; sa bhreis, " #~ "taispeáin\n" #~ " gach líne gan aon teormharcóir, mura bhfuil " #~ "an\n" #~ " rogha -s tugtha\n" #~ " -n (gan feidhm)\n" #~ msgid "" #~ " --complement complement the set of selected bytes, " #~ "characters\n" #~ " or fields.\n" #~ msgstr "" #~ " --complement inbhéartaigh na bearta, carachtair, nó réimsí\n" #~ " roghnaithe.\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited ná taispeáin ach na línte le teormharcóirí\n" #~ " --output-delimiter=TEAGHRÁN úsáid TEAGHRÁN mar theormharcóir " #~ "aschuir\n" #~ " agus an teormharcóir ionchurtha mar " #~ "réamhshocrú\n" #~ msgid "" #~ "\n" #~ "Use one, and only one of -b, -c or -f. Each LIST is made up of one\n" #~ "range, or many ranges separated by commas. Selected input is written\n" #~ "in the same order that it is read, and is written exactly once.\n" #~ msgstr "" #~ "\n" #~ "Úsáid ceann, agus gan ach ceann de -b, -c, nó -f. Is raon é gach " #~ "LIOSTA,\n" #~ "nó roinnt raonta scartha le camóga. Scríobhann an t-ionchur roghnaithe\n" #~ "san ord á léadh, agus ní scríobhtar é ach uair amháin.\n" #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "Is éard atá i ngach raon ná ceann de:\n" #~ "\n" #~ " N N-ú beart, carachtar, nó réimse, uimhrithe ó 1\n" #~ " N- ón N-ú beart, carachtar, nó réimse go dtí deireadh na líne\n" #~ " N-M ón N-ú go dtí M-ú beart, carachtar, nó réimse (araon san " #~ "áireamh)\n" #~ " -M ón aonú go dtí M-ú beart, carachtar, nó réimse (araon san " #~ "áireamh)\n" #~ "\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ msgid "invalid byte or field list" #~ msgstr "liosta bearta nó réimsí neamhbhailí" #~ msgid "invalid range with no endpoint: -" #~ msgstr "raon neamhbhailí gan chríoch: -" #~ msgid "invalid decreasing range" #~ msgstr "raon neamhbhailí laghdaitheach" #~ msgid "byte offset %s is too large" #~ msgstr "tá an fritháireamh birt %s rómhór" #~ msgid "field number %s is too large" #~ msgstr "tá an uimhir réimse %s rómhór" #~ msgid "only one type of list may be specified" #~ msgstr "ní cheadaítear liostaí iomadúla" #~ msgid "the delimiter must be a single character" #~ msgstr "is gá an teormharcóir a bheith ina charachtar aonarach" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "ní foláir duit liosta bearta, carachtair, nó réimsí a cheapadh" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "" #~ "ní cheadaítear teormharcóir a thabhairt ach nuair atáthar ag oibriú le " #~ "réimsí" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "ní cheiltear línte gan teormharcóirí ach nuair\n" #~ "\tatáthar ag oibriú le réimsí" #~ msgid "missing list of fields" #~ msgstr "liosta réimsí ar iarraidh" #~ msgid "missing list of positions" #~ msgstr "liosta ionad ar iarraidh" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... [+FORMÁID]\n" #~ " nó: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ msgstr "" #~ "Taispeáin an t-am anois i gcruth FORMÁID, nó socraigh dáta an chórais.\n" #~ "\n" #~ " -d, --date=TEAGHRÁN taispeáin am tugtha i dTEAGHRÁN, ní `now'\n" #~ " -f, --file=COMHADDÁTA mar --date uair amháin sa líne de " #~ "CHOMHADDÁTA\n" #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=COMHAD taispeáin am an athraithe is déanaí do " #~ "COMHAD\n" #~ " -R, --rfc-2822 taispeáin dáta agus am de réir RFC 2822\n" #~ " Mar shampla: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgid "" #~ " --rfc-3339=TIMESPEC output date and time in RFC 3339 format.\n" #~ " TIMESPEC=`date', `seconds', or `ns' for\n" #~ " date and time to the indicated precision.\n" #~ " Date and time components are separated by\n" #~ " a single space: 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=STRING set time described by STRING\n" #~ " -u, --utc, --universal print or set Coordinated Universal Time\n" #~ msgstr "" #~ " --rfc-3339=AMCHÓD taispeáin dáta/am de réir RFC 3339.\n" #~ " AMCHÓD=`date', `seconds', nó `ns' do dháta\n" #~ " agus am leis an mbeachtas sonraithe.\n" #~ " Scartar comhpháirteanna dáta/ama le spás " #~ "aonair:\n" #~ " 2006-08-07 12:34:56-06:00\n" #~ " -s, --set=TEAGHRÁN socraigh an t-am de réir an TEAGHRÁIN\n" #~ " -u, --utc, --universal taispeáin nó socraigh UTC\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "Rialaíonn FORMÁID an t-aschur. Sa dara foirm, níl aon rogha bhailí\n" #~ "ach an ceann a shocraíonn UTC. Teaghráin léirmhínithe:\n" #~ "\n" #~ " %% '%' litriúil\n" #~ " %a lá den tseachtain de réir an logchaighdeáin, giorraithe\n" #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A lá den tseachtain ina iomláine (m.sh., \"Dé Domhnaigh\")\n" #~ " %b an mhí ghiorraithe (m.sh. \"Ean\")\n" #~ " %B an mhí ina hiomláine (m.sh. \"Eanáir\")\n" #~ " %c an dáta agus an t-am (m.sh., Aoine 30 MFómh 2005 14:23:52 UTC)\n" #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C an aois; cosúil le %Y ach gan an dá dhigit deiridh (m.sh., 21)\n" #~ " %d lá den mhí (m.sh., 01)\n" #~ " %D dáta; ar comhbhrí le %m/%d/%y\n" #~ " %e lá den mhí, stuáilte le spásanna; ar comhbhrí le %_d\n" #~ msgid "" #~ " %F full date; same as %Y-%m-%d\n" #~ " %g last two digits of year of ISO week number (see %G)\n" #~ " %G year of ISO week number (see %V); normally useful only with %V\n" #~ msgstr "" #~ " %F an dáta iomlán; ar comhbhrí le %Y-%m-%d\n" #~ " %g bliain uimhir na seachtaine ISO: an dá dhigit deiridh (féach ar %" #~ "G)\n" #~ " %G bliain uimhir na seachtaine ISO (féach ar %V); de ghnáth úsáidtear " #~ "é seo le %V amháin\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h ar comhbhrí le %b\n" #~ " %H uair (00..23)\n" #~ " %I uair (01..12)\n" #~ " %j lá den bhliain (001..366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k uair ( 0..23)\n" #~ " %l uair ( 1..12)\n" #~ " %m mí (01..12)\n" #~ " %M nóiméad (00..59)\n" #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n líne nua\n" #~ " %N nanashoicindí (000000000..999999999)\n" #~ " %p AM nó PM de réir an logchaighdeáin; (folamh más anaithnid é)\n" #~ " %P cosúil le %p, ach le litreacha beaga\n" #~ " %r an t-am, dhá uair déag (m.sh., 11:11:04 PM)\n" #~ " %R an t-am, ceithre huaire fichead; ar comhbhrí le %H:%M\n" #~ " %s soicindí ó `00:00:00 1970-01-01 UTC'\n" #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S soicind (00..60)\n" #~ " %t táb cothrománach\n" #~ " %T an t-am; ar comhbhrí le %H:%M:%S\n" #~ " %u lá den tseachtain (1..7); 1 = Dé Luain\n" #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U uimhir na seachtaine sa bhliain, le Domhnach mar an chéad lá " #~ "(00..53)\n" #~ " %V uimhir na seachtaine ISO, le Luan mar an chéad lá (01..53)\n" #~ " %w lá na seachtaine (0..6); 0=Dé Domhnaigh\n" #~ " %W uimhir na seachtaine sa bhliain, le Luan mar an chéad lá (00.53)\n" #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x léiriú den dáta de réir an logchaighdeáin (m.sh., 30.09.05)\n" #~ " %X léiriú den am de réir an logchaighdeáin (m.sh., 14:34:58)\n" #~ " %y dhá dhigit deiridh den bhliain (00..99)\n" #~ " %Y an bhliain\n" #~ msgid "" #~ " %z +hhmm numeric timezone (e.g., -0400)\n" #~ " %:z +hh:mm numeric timezone (e.g., -04:00)\n" #~ " %::z +hh:mm:ss numeric time zone (e.g., -04:00:00)\n" #~ " %:::z numeric time zone with : to necessary precision (e.g., -04, " #~ "+05:30)\n" #~ " %Z alphabetic time zone abbreviation (e.g., EDT)\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes.\n" #~ msgstr "" #~ " %z +uunn crios ama uimhriúil (m.sh., -0400)\n" #~ " %:z +uu:nn crios ama uimhriúil (m.sh., -04:00)\n" #~ " %::z +uu:nn:ss crios ama uimhriúil (m.sh., -04:00:00)\n" #~ " %:::z crios ama uimhriúil le : go dtí an beachtas riachtanach\n" #~ " (m.sh., -04, +05:30)\n" #~ " %Z giorrúchán aibítreach ar an chrios ama (m.sh., EDT)\n" #~ "\n" #~ "De réir réamhshocraithe, stuálann `date' réimsí uimhriúla le nialais.\n" #~ msgid "" #~ "The following optional flags may follow `%':\n" #~ "\n" #~ " - (hyphen) do not pad the field\n" #~ " _ (underscore) pad with spaces\n" #~ " 0 (zero) pad with zeros\n" #~ " ^ use upper case if possible\n" #~ " # use opposite case if possible\n" #~ msgstr "" #~ "Is féidir na bratacha roghnacha seo a leanas a chur i ndiaidh `%':\n" #~ "\n" #~ " - (fleiscín) ná stuáil an réimse\n" #~ " _ (fostríoc) stuáil le spásanna\n" #~ " 0 (nialas) stuáil le nialais\n" #~ " ^ úsáid an cás uachtair más féidir\n" #~ " # úsáid an cás codarsnach más féidir\n" #~ msgid "" #~ "\n" #~ "After any flags comes an optional field width, as a decimal number;\n" #~ "then an optional modifier, which is either\n" #~ "E to use the locale's alternate representations if available, or\n" #~ "O to use the locale's alternate numeric symbols if available.\n" #~ msgstr "" #~ "\n" #~ "Tá leithead roghnach an réimse i ndiaidh na mbratach, mar uimhir " #~ "dheachúlach;\n" #~ "ansin mionathraitheoir roghnach atá ceann de:\n" #~ "E, chun léirithe malartacha an logchaighdeán a úsáid, más féidir, nó\n" #~ "O, chun siombalacha malartacha uimhriúla an logchaighdeán a úsáid, más " #~ "féidir.\n" #~ msgid "multiple output formats specified" #~ msgstr "sonraíodh formáidí iomadúla aschurtha" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "is comheisiatach iad na roghanna chun dátaí a cheapadh le priontáil" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "ní cheadaítear na roghanna chun an t-am a thaispeáint agus shocrú le " #~ "chéile" #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "tá `+' de dhíth ag tosach na hargóinte %s;\n" #~ "Má tá tú ag baint úsáid as rogha chun dáta(í) a shocrú,\n" #~ "ní foláir do gach rogha eile a bheith ina teaghrán formáide le `+' ar " #~ "tosach." #~ msgid "cannot set date" #~ msgstr "ní féidir an dáta a shocrú" #~ msgid "time %s is out of range" #~ msgstr "is as raon an t-am %s" #~ msgid "Filesystem Type" #~ msgstr "Córas comhaid Cineál" #~ msgid "Filesystem " #~ msgstr "Córas comhaid " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inóid Iídithe Isaor IÚsáid%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Méid ÍditheArFáilÚsáid%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Méid ÍditheArFáilÚsáid%%" #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %s-bloc Ídithe Ar Fáil Iomlán" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-bloc Ídithe Ar Fáil Úsáid" # my coinage - cuir suas = mount in this sense --KPS #~ msgid " Mounted on\n" #~ msgstr " Curtha suas ar\n" #~ msgid "cannot get current directory" #~ msgstr "níl an chomhadlann reatha ar fáil" #~ msgid "cannot change to directory %s" #~ msgstr "ní féidir an chomhadlann oibre a athrú go %s" #~ msgid "cannot stat current directory (now %s)" #~ msgstr "níl an chomhadlann oibre ar fáil (%s anois)" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Úsáid: %s [ROGHA]... [COMHAD]...\n" #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin eolas faoin chóras comhaid ar a bhfuil gach COMHAD,\n" #~ "nó faoi gach córas comhaid mar réamhshocrú.\n" #~ "\n" #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all cuir córais chaocha chomhaid san áireamh\n" #~ " -B, --block-size=MÉID úsáid bloic den mhéid MÉID beart\n" #~ " -h, --human-readable taispeáin méideanna i gcruth inléite (m.sh., 1K " #~ "2G srl)\n" #~ " -H, --si mar an gcéanna, ach le 1K=1000, nach 1024\n" #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes taispeáin eolas inode in ionad úsáid na mbloc\n" #~ " -k ar comhbhrí le `--block-size=1K'\n" #~ " -l, --local ná taispeáin ach córais chomhaid logánta\n" #~ " --no-sync ná sync roimh eolas úsáide a fháil (réamhshocrú)\n" #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability taispeáin torthaí i gcruth POSIX\n" #~ " --sync sync roimh eolas úsáide a fháil\n" #~ " -t, --type=CINEÁL ná taispeáin ach córais chomhaid den chineál " #~ "CINEÁL\n" #~ " -T, --print-type taispeáin an cineál chóras comhaid\n" #~ " -x, --exclude-type=CINEÁL ná taispeáin córais chomhaid den chineál " #~ "CINEÁL\n" #~ " -v (gan feidhm)\n" #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "Is féidir MÉID a bheith ceann acu seo a leanas (le, go roghnach, " #~ "slánuimhir\n" #~ "ar tosach): kB 1000, K 1024, MB 1,000,000, M 1,048,576, srl. do G,T,P,E,Z," #~ "Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "Tá an cineál %s roghnaithe agus fágtha as" #~ msgid "Warning: " #~ msgstr "Rabhadh: " #~ msgid "cannot read table of mounted file systems" #~ msgstr "ní féidir an tábla de chórais chomhad feistithe a léamh" #~ msgid "no file systems processed" #~ msgstr "níor próiseáladh aon chórais chomhaid" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Úsáid: %s [ROGHA]... [COMHAD]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Taispeáin orduithe chun na hathróige thimpeallachta LS_COLORS a shocrú.\n" #~ "\n" #~ "Roghnaigh an fhormáid aschurtha:\n" #~ " -b, --sh, --bourne-shell taispeáin cód Bourne chun LS_COLORS a " #~ "shocrú\n" #~ " -c, --csh, --c-shell taispeáin cód C-shell chun LS_COLORS a " #~ "shocrú\n" #~ " -p, --print-database taispeáin réamhshocruithe\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Má tá COMHAD tugtha, léigh uaidh na dathanna a úsáid le gach cineál " #~ "comhaid.\n" #~ "Mura bhfuil, bainfear úsáid as bunachar sonraí réamhthiomsaithe.\n" #~ "Úsáid `dircolors --print-database' chun an cruth de na comhaid seo a " #~ "fheiceáil\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: líne neamhbhailí; dara teaghrán ar iarraidh" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: lorgfhocal anaithnid %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "is comheisiatach iad na roghanna chun an bunachar sonraí dircolors a " #~ "aschur\n" #~ "agus na roghanna chun comhréire blaoisce a roghnú" #~ msgid "File operands cannot be combined with --print-database (-p)." #~ msgstr "" #~ "Ní féidir oibrinn chomhaid a úsáid in éineacht leis an rogha --print-" #~ "database (-p)." #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "níl an athróg thimpeallachta SHELL ar fáil, agus ní thugtar rogha den " #~ "chineál blaoisce" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s AINM\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Taispeáin AINM lena /bhall deiridh bainte amach; mura bhfuil slais in " #~ "AINM,\n" #~ "priontáil `.' (an chomhadlann oibre).\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Examples:\n" #~ " %s /usr/bin/sort Output \"/usr/bin\".\n" #~ " %s stdio.h Output \".\".\n" #~ msgstr "" #~ "\n" #~ "Mar shampla:\n" #~ " %s /usr/bin/sort Aschur \"/usr/bin\".\n" #~ " %s stdio.h Aschur \".\".\n" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... [COMHAD]...\n" #~ " nó: %s [ROGHA]... --files0-from=C\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Coimrigh úsáid diosca do gach COMHAD, go hathchúrsach do chomhadlanna.\n" #~ "\n" #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all taispeáin gach comhad, nach comhadlanna amháin\n" #~ " --apparent-size taispeáin méideanna dealraitheacha, in ionad " #~ "úsáid\n" #~ " dhiosca; tá an mhéid dealraitheach níos lú go " #~ "minic,\n" #~ " ach is féidir a bheith níos mó mar thoradh ar " #~ "phoill\n" #~ " i gcomhaid (`tanaí), bloghadh inmheánach, bloic\n" #~ " indíreacha agus a leithéidí\n" #~ msgid "" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -b, --bytes equivalent to `--apparent-size --block-size=1'\n" #~ " -c, --total produce a grand total\n" #~ " -D, --dereference-args dereference only symlinks that are listed on " #~ "the\n" #~ " command line\n" #~ msgstr "" #~ " -B, --block-size=MÉID bain úsáid as bloic den mhéid MÉID\n" #~ " -b, --bytes ar comhbhrí le `--apparent-size --block-size=1'\n" #~ " -c, --total taispeáin suim iomlán\n" #~ " -D, --dereference-args dí-thagair naisc shiombalacha a thugtar ar\n" #~ " líne na n-orduithe amháin\n" #~ msgid "" #~ " --files0-from=F summarize disk usage of the NUL-terminated file\n" #~ " names specified in file F\n" #~ " -H like --si, but also evokes a warning; will soon\n" #~ " change to be equivalent to --dereference-args (-" #~ "D)\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si like -h, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " --files0-from=C achoimrigh spás diosca úsáidte ag na comhaid atá\n" #~ " ainmnithe i gcomhad C, foirceanta le NULanna\n" #~ " -H cosúil le --si, ach taispeánann sé rabhadh; beidh " #~ "sé\n" #~ " ar comhbhrí le --dereference-args (-D) go " #~ "luath\n" #~ " -h, --human-readable taispeáin méideanna i gcruth inléite (m.sh, 1K " #~ "234M 2G)\n" #~ " --si cosúil le -h, ach le 1K=1000 in ionad 1024\n" #~ msgid "" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ " -m like --block-size=1M\n" #~ msgstr "" #~ " -k ar comhbhrí le `--block-size=1K'\n" #~ " -l, --count-links cuir méid san áireamh gach uair más nasc crua é\n" #~ " -m ar comhbhrí le `--block-size=1M'\n" #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference dí-thagair gach nasc siombalach\n" #~ " -P, --no-dereference ná lean aon nasc siombalach (réamhshocrú)\n" #~ " -0, --null Foirceann gach líne aschurtha le 0 in ionad líne " #~ "nua\n" #~ " -S, --separate-dirs ná cuir comhadlanna san áireamh\n" #~ " -s, --summarize ná taispeáin ach an tsuim iomlán\n" #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system fan ar an chóras chomhaid seo\n" #~ " -X COMHAD, --exclude-from=COMHAD Ná cuir comhaid san áireamh atá\n" #~ " comhoiriúnach le haon phatrún i " #~ "gCOMHAD.\n" #~ " --exclude=PATRÚN Ná cuir comhaid atá comhoiriúnach le PATRÚN san " #~ "áireamh\n" #~ " --max-depth=N taispeáin iomlán do chomhadlann (nó comhad, le --" #~ "all)\n" #~ " nuair atá sé N leibhéal, ar a mhéad, faoin " #~ "argóint\n" #~ " ar líne na n-orduithe; is ionann --max-depth=0 " #~ "agus\n" #~ " --summarize\n" #~ msgid "" #~ " --time show time of the last modification of any file in " #~ "the\n" #~ " directory, or any of its subdirectories\n" #~ " --time=WORD show time as WORD instead of modification time:\n" #~ " atime, access, use, ctime or status\n" #~ " --time-style=STYLE show times using style STYLE:\n" #~ " full-iso, long-iso, iso, +FORMAT\n" #~ " FORMAT is interpreted like `date'\n" #~ msgstr "" #~ " --time taispeáin am an mhionathraithe is déanaí d'aon " #~ "chomhad\n" #~ " sa chomhadlann, nó ina fochomhadlanna\n" #~ " --time=FOCAL taispeáin an t-am mar FOCAL in ionad an ama " #~ "mionathraithe:\n" #~ " atime, access, use, ctime nó status\n" #~ " --time-style=STÍL taispeáin an t-am de réir na STÍLE sonraithe:\n" #~ " full-iso, long-iso, iso, +FORMÁID\n" #~ " Parsáiltear FORMÁID cosúil le `date'\n" #~ msgid "total" #~ msgstr "iomlán" #~ msgid "" #~ "WARNING: use --si, not -H; the meaning of the -H option will soon\n" #~ "change to be the same as that of --dereference-args (-D)" #~ msgstr "" #~ "FAINIC: bain úsáid as --si in ionad -H; athrófar an rogha -H a bheith ar\n" #~ "comhbhrí leis an rogha --dereference-args (-D)" #~ msgid "invalid maximum depth %s" #~ msgstr "doimhneacht uasta neamhbhailí %s" #~ msgid "the --megabytes option is deprecated; use -m instead" #~ msgstr "tá an rogha --megabytes dulta i léig; bain úsáid as -m ina háit" #~ msgid "cannot both summarize and show all entries" #~ msgstr "ní féidir coimriú a dhéanamh agus gach iontráil a thaispeáint" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "rabhadh: is ionann iad coimriú agus --max-depth=0" #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "rabhadh: tagann an coimriú agus --max-depth=%lu salach ar a chéile" #~ msgid "File operands cannot be combined with --files0-from." #~ msgstr "Ní féidir oibrinn chomhaid a úsáid in éineacht le --files0-from." #~ msgid "cannot read file names from %s" #~ msgstr "ní féidir ainmneacha comhaid a léamh ó %s" #~ msgid "when reading file names from stdin, no file name of %s allowed" #~ msgstr "" #~ "ní cheadaítear comhad darbh ainm %s agus ainmneacha comhaid á léamh ón " #~ "ghnáth-ionchur" #~ msgid "invalid zero-length file name" #~ msgstr "ainm neamhbhailí comhaid: folamh" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Úsáid: %s [ROGHA]... [TEAGHRÁN]...\n" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ msgstr "" #~ "Déan macalla ar an/na TEAGHRÁ(I)N chuig an ghnáth-aschur.\n" #~ "\n" #~ " -n ná scríobh an líne nua fhoirceanta\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes (default)\n" #~ " -E disable interpretation of backslash escapes\n" #~ msgstr "" #~ " -e úsáid carachtair éalúcháin le cúlslaiseanna " #~ "(réamhshocrú)\n" #~ " -E ná húsáid na carachtair éalúcháin\n" #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Má tá an rogha -e in éifeacht, aithnítear na carachtair éalúcháin a " #~ "leanas:\n" #~ "\n" #~ " \\0NNN an carachtar leis an gcód ASCII NNN (ochtnártha)\n" #~ " \\\\ cúlslais\n" #~ " \\a rabhadh (BEL)\n" #~ " \\b cúlspás\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c lig an líne nua fhoirceanta ar lár\n" #~ " \\f foirmfhotha\n" #~ " \\n líne nua\n" #~ " \\r aisfhilleadh\n" #~ " \\t táb cothrománach\n" #~ " \\v táb ingearach\n" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Úsáid: %s [ROGHA]... [-] [AINM=LUACH]... [ORDÚ [ARG]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Sann an LUACH go gach AINM sa timpeallacht agus rith ORDÚ.\n" #~ "\n" #~ " -i, --ignore-environment tosaigh le timpeallacht fholamh\n" #~ " -u, --unset=AINM scrios an athróg AINM as an timpeallacht\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Ciallaíonn `-' lom an rogha `-i'. Mura bhfuil ORDÚ ann, taispeáin an " #~ "timpeallacht.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Tiontaigh na táib i ngach COMHAD go spásanna agus scríobh chuig an\n" #~ "ghnáth-aschur. Mura bhfuil COMHAD ann, nó más - é, léigh ón ghnáth-" #~ "ionchur.\n" #~ "\n" #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial ná tiontaigh TÁB i ndiaidh carachtair nach spás " #~ "bán\n" #~ " -t, --tabs=UIMHIR cuir táib UIMHIR carachtar ó chéile in ionad 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LIOSTA úsáid LIOSTA táib faoi leith, scartha le camóga\n" #~ msgid "tab stop is too large %s" #~ msgstr "is rómhór an tábstop %s" #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "tá carachta(i)r neamhbhailí sa mhéid táib: %s" #~ msgid "tab size cannot be 0" #~ msgstr "ní féidir méid táib nialasach" #~ msgid "tab sizes must be ascending" #~ msgstr "caithfidh na méideanna táib a bheith ardaitheach" #~ msgid "input line is too long" #~ msgstr "tá an líne ionchurtha rófhada" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s SLONN\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Cuir an luach de SLONN chuig an ghnáth-aschur. Dealaíonn líne fholamh\n" #~ "thíos grúpaí tosaíochta. Is féidir SLONN a bheith:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 mura bhfuil sé nialasach, ARG2 má tá\n" #~ "\n" #~ " ARG1 & ARG2 0 má tá ceachtar nialasach, ARG1 mura bhfuil\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 Tá ARG1 níos lú ná ARG2\n" #~ " ARG1 <= ARG2 Tá ARG1 níos lú ná, nó is ionann agus, ARG2\n" #~ " ARG1 = ARG2 is ionann iad ARG1 agus ARG2\n" #~ " ARG1 != ARG2 ní ionann ARG1 agus ARG2\n" #~ " ARG1 >= ARG2 Tá ARG1 níos mó ná, nó is ionann agus, ARG2\n" #~ " ARG1 > ARG2 Tá ARG1 níos mó ná ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 suim uimhríochtúil de ARG1 agus ARG2\n" #~ " ARG1 - ARG2 difríocht uimhríochtúil idir ARG1 agus ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 iolrach uimhríochtúil de ARG1 agus ARG2\n" #~ " ARG1 / ARG2 líon uimhríochtúil de ARG1 roinnte le ARG2\n" #~ " ARG1 % ARG2 fuílleach agus ARG1 á roinnt le ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " TEAGHRÁN : SLONN comhoiriúnaigh an patrún SLONN i dTEAGHRÁN\n" #~ "\n" #~ " match TEAGHRÁN SLONN ar comhbhrí le `TEAGHRÁN : SLONN\n" #~ " substr TEAGHRÁN ÁIT FAD fotheaghrán de TEAGHRÁN, tosaíonn ÁIT ag 1\n" #~ " index TEAGHRÁN CAR áit i dTEAGHRÁN atá aon charachtar i CAR, nó " #~ "0\n" #~ " length TEAGHRÁN fad an TEAGHRÁIN\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + SIOMBAIL caith le SIOMBAIL mar theaghrán, fiú más\n" #~ " lorgfhocal é, mar `match', nó oibreoir mar " #~ "`/'\n" #~ "\n" #~ " ( SLONN ) luach de SLONN\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Ní foláir duit cuid mhór oibreoirí a chur idir comharthaí athfhriotal " #~ "chun\n" #~ "iad a chosaint ón bhlaosc. Déan comparáid uimhríochtúil más uimhreacha " #~ "ARG1\n" #~ "agus ARG2; i ngach cás eile, déan comparáid fhoclóireachta. Ais-seolann " #~ "patrúin\n" #~ "chomhoiriúnacha an teaghrán atá idir \\( agus \\), nó nialas; mura " #~ "bhfuil\n" #~ "\\( agus \\) ann, ais-seolann siad líon na gcarachtar a bhí " #~ "comhoiriúnaithe.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is " #~ "null\n" #~ "or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error " #~ "occurred.\n" #~ msgstr "" #~ "\n" #~ "Stádas scortha = 0 mura bhfuil SLONN nialasach, 1 má tá,\n" #~ "2 más slonn neamhbhailí é, agus 3 má tharlaíonn earráid.\n" # in FARF --KPS #~ msgid "syntax error" #~ msgstr "earráid chomhréire" #~ msgid "error in regular expression matcher" #~ msgstr "earráid le linn cuardaigh ar shlonn ionadaíochta" #~ msgid "non-numeric argument" #~ msgstr "argóint neamhuimhriúil" #~ msgid "division by zero" #~ msgstr "roinnt le nialas" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s [UIMHIR]...\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin na fachtóirí príomha de gach UIMHIR.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ "Taispeáin na fachtóirí príomha de gach UIMHIR sonraithe. Mura bhfuil\n" #~ "argóintí ann, léigh iad ón ghnáth-ionchur.\n" #~ msgid "%s is too large" #~ msgstr "tá %s rómhór" #~ msgid "%s is not a valid positive integer" #~ msgstr "Ní slánuimhir dheimhneach bhailí é %s" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Úsáid: %s [-DIGITÍ] [ROGHA]... [COMHAD]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Athdhéan an fhormáid de gach paragraf s(n)a COMHA(I)D, agus scríobh\n" #~ "an toradh chuig an ghnáth-aschur. Mura bhfuil COMHAD ann, nó más '-' é,\n" #~ "léigh ón ghnáth-ionchur.\n" #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin coinnigh eangú den chéad dá líne\n" #~ " -p, --prefix=TEAGHRÁN ná ceangail ach línte le réimír TEAGHRÁN, " #~ "agus\n" #~ " athcheangail an réimír le línte " #~ "athfhormáidithe\n" #~ " -s, --split-only deighil línte fada, ach ná hathlíon\n" #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph déan eangú an chéad líne leis an dara cheann\n" #~ " -u, --uniform-spacing spás aonarach idir focail, dhá i ndiaidh " #~ "abairtí\n" #~ " -w, --width=UIMHIR uasmhéid leithid líne (réamhshocrú 75 colún)\n" #~ msgid "" #~ "invalid option -- %c; -WIDTH is recognized only when it is the first\n" #~ "option; use -w N instead" #~ msgstr "" #~ "rogha neamhbhailí -- %c; ní ghlactar le -LEITHEAD ach nuair atá sé an " #~ "chéad\n" #~ "rogha; úsáid -w N ina háit" #~ msgid "invalid width: %s" #~ msgstr "leithead neamhbhailí: %s" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Timfhill línte ionchurtha i ngach COMHAD (gnáth-ionchur mar réamhshocrú)\n" #~ "agus scríobh chuig an ghnáth-aschur.\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes uimhrigh bearta seachas colúin\n" #~ " -s, --spaces bris ag spásanna\n" #~ " -w, --width=LEITHEAD úsáid LEITHEAD colún in ionad 80\n" #~ msgid "invalid number of columns: %s" #~ msgstr "líon neamhbhailí na gcolún: %s" #~ msgid "failed to get groups for user %s" #~ msgstr "níorbh fhéidir grúpaí a fháil le haghaidh %s" #~ msgid "failed to get groups for the current process" #~ msgstr "níorbh fhéidir grúpaí a fháil le haghaidh an phróisis reatha" #~ msgid "cannot find name for group ID %lu" #~ msgstr "níl aon fháil ar ainm don aitheantas grúpa %lu" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Úsáid: %s [ROGHA]... [ÚSÁIDEOIR]\n" #~ msgid "" #~ "Print information for USERNAME or, if no USERNAME is specified,\n" #~ "the current process (which is different if the groups database has " #~ "changed).\n" #~ msgstr "" #~ "Taispeáin faisnéis le haghaidh ÚSÁIDEOIR nó, mura dtugtar ÚSÁIDEOIR,\n" #~ "an próiseas reatha (atá difriúil má tá an bunachar sonraí grúpaí tar éis " #~ "a athrú).\n" #~ msgid "%s: No such user" #~ msgstr "%s: Níl a leithéid d'úsáideoir ann" #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin an chéad deich líne i ngach COMHAD chuig an ghnáth-aschur.\n" #~ "Má tá níos mó ná COMHAD amháin, taispeáin ceanntásc leis an ainm comhaid\n" #~ "roimh gach COMHAD. Mura bhfuil COMHAD ann, nó más '-' é, léigh ón\n" #~ "ghnáth-ionchur.\n" #~ "\n" #~ msgid "" #~ " -c, --bytes=[-]N print the first N bytes of each file;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N bytes of each file\n" #~ " -n, --lines=[-]N print the first N lines instead of the first " #~ "10;\n" #~ " with the leading `-', print all but the " #~ "last\n" #~ " N lines of each file\n" #~ msgstr "" #~ " -c, --bytes=[-]N taispeáin an chéad N beart de gach comhad;\n" #~ " leis an `-' tosaigh, taispeáin an comhad " #~ "uile\n" #~ " seachas an N beart is déanaí ó gach comhad\n" #~ " -n, --lines=[-]N taispeáin an chéad N líne in ionad an chéad " #~ "10;\n" #~ " leis an `-' tosaigh, taispeáin an comhad " #~ "uile\n" #~ " seachas an N líne is déanaí ó gach comhad\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent ná taispeáin ceanntásc leis an ainm comhaid\n" #~ " -v, --verbose taispeáin an ceanntásc leis an ainm comhaid\n" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Is féidir na hiarmhíreanna seo a leanas a chur i ndiaidh N:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" #~ msgid "error reading %s" #~ msgstr "earráid agus %s á léamh" #~ msgid "%s: file has shrunk too much" #~ msgstr "%s: is róchraptha an comhad" #~ msgid "%s: number of bytes is too large" #~ msgstr "%s: is rómhór líon na mbeart" #~ msgid "%s: cannot lseek back to original position" #~ msgstr "" #~ "%s: ní féidir `lseek' a dhéanamh ar ais go dtí an láthair thionscantach" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: ní féidir bogadh go fritháireamh %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "ní féidir an pointeoir comhaid a athshocrú do %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: tá %s chomh mór nach inléirithe é" #~ msgid "number of lines" #~ msgstr "líon na línte" #~ msgid "number of bytes" #~ msgstr "líon na mbeart" #~ msgid "invalid number of lines" #~ msgstr "líon na línte neamhbhailí" #~ msgid "invalid number of bytes" #~ msgstr "líon neamhbhailí na mbeart" #~ msgid "invalid trailing option -- %c" #~ msgstr "rogha neamhbhailí chun deiridh -- %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s\n" #~ " nó: %s ROGHA\n" #~ "Taispeáin an t-aitheantóir uimhriúil (heicsidheachúlach) don " #~ "óstríomhaire.\n" #~ "\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s [AINM]\n" #~ " nó: %s ROGHA\n" #~ "Taispeáin nó socraigh óstainm an chórais reatha.\n" #~ "\n" #~ msgid "cannot set name to %s" #~ msgstr "ní féidir an t-ainm a shocrú mar %s" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "ní féidir leis an chóras seo a óstainm a shocrú" #~ msgid "cannot determine hostname" #~ msgstr "ní féidir an t-óstainm a aimsiú" #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Taispeáin eolas faoi ÚSÁIDEOIR, nó faoin úsáideoir reatha.\n" #~ "\n" #~ " -a déan neamhshuim de (le haghaidh comhoiriúnacht siar)\n" #~ " -Z, --context ná taispeáin ach comhthéacs slándála an úsáideora " #~ "reatha\n" #~ " -g, --group ná taispeáin ach an t-aitheantas grúpa atá i bhfeidhm\n" #~ " -G, --groups taispeáin gach aitheantas grúpa\n" #~ " -n, --name taispeáin ainm in ionad uimhreach, le -ugG\n" #~ " -r, --real taispeáin an fíoraitheantas in ionad an aitheantais " #~ "atá\n" #~ " i bhfeidhm, le -ugG\n" #~ " -u, --user ná taispeáin ach an t-aitheantas úsáideora atá i " #~ "bhfeidhm\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Mura bhfuil ROGHA ann, taispeáin roinnt bheag eolais thairbhigh.\n" #~ msgid "--context (-Z) works only on an SELinux-enabled kernel" #~ msgstr "oibríonn --context (-Z) le heithne atá cumasaithe do SELinux amháin" #~ msgid "cannot print security context when user specified" #~ msgstr "" #~ "ní féidir an comhthéacs slándála nuair atá sonraithe ag an úsáideoir" #~ msgid "" #~ "cannot display context when selinux not enabled or when displaying the " #~ "id\n" #~ "of a different user" #~ msgstr "" #~ "ní féidir comhthéacs a thaispeáint nuair nach bhfuil selinux cumasaithe " #~ "nó\n" #~ "nuair atá aitheantas úsáideora eile á thaispeáint" #~ msgid "can't get process context" #~ msgstr "níl aon fháil ar chomhthéacs an phróisis" #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "" #~ "ní féidir \"only\" a thaispeáint le haghaidh níos mó ná rogha amháin" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "" #~ "ní féidir ach ainmneacha nó fíoraitheantais a thaispeáint san fhormáid " #~ "réamhshocraithe" #~ msgid "cannot find name for user ID %lu" #~ msgstr "níl aon fháil ar ainm don aitheantas úsáideora %lu" #~ msgid " groups=" #~ msgstr " grúpaí=" #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "rabhadh: %s: níorbh fhéidir an comhthéacs a athrú go %s" #~ msgid "" #~ "Warning: ignoring --preserve-context; this kernel is not SELinux-enabled." #~ msgstr "" #~ "Rabhadh: ag déanamh neamhaird de --preserve-context; níl an eithne seo " #~ "cumasaithe do SELinux." #~ msgid "" #~ "Warning: ignoring --context (-Z); this kernel is not SELinux-enabled." #~ msgstr "" #~ "Rabhadh: ag déanamh neamhaird de --context (-Z); níl an eithne seo " #~ "cumasaithe do SELinux." #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "ní cheadaítear an rogha --strip agus comhadlann á suiteáil" #~ msgid "target directory not allowed when installing a directory" #~ msgstr "ní cheadaítear sprioc-chomhadlann agus comhadlann á suiteáil" #~ msgid "cannot force target context to %s and preserve it" #~ msgstr "ní féidir cur iallach ar chomhthéacs sprice %s agus é a chaomhnú" #~ msgid "invalid mode %s" #~ msgstr "mód neamhbhailí %s" #~ msgid "cannot change ownership of %s" #~ msgstr "ní féidir an t-úinéir de %s a athrú" #~ msgid "cannot set time stamps for %s" #~ msgstr "ní féidir an stampa ama a shocrú do %s" #~ msgid "fork system call failed" #~ msgstr "theip ar ghlao córais fork()" #~ msgid "cannot run strip" #~ msgstr "ní féidir \"strip\" a rith" #~ msgid "waiting for strip" #~ msgstr "ag feitheamh le \"strip\"" #~ msgid "strip process terminated abnormally" #~ msgstr "chríochnaigh \"strip\" gan an chúis a mhíniú" #~ msgid "invalid user %s" #~ msgstr "úsáideoir neamhbhailí %s" #~ msgid "invalid group %s" #~ msgstr "grúpa neamhbhailí %s" #~ msgid "creating directory %s" #~ msgstr "comhadlann %s á cruthú" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... [-T] FOINSE SPRIOC\n" #~ " nó: %s [ROGHA]... FOINSE... COMHADLANN\n" #~ " nó: %s [ROGHA]... -t COMHADLANN FOINSE...\n" #~ " nó: %s [ROGHA]... -d COMHADLANN...\n" #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "Sa chéad trí leagan, cóipeáil FOINSE go SPRIOC nó FOINSE/Í go COMHADLANN " #~ "atá\n" #~ "ann cheana, agus socraigh ceadanna, úinéir, agus grúpa.\n" #~ "Sa cheathrú leagan, cruthaigh gach ball den chomhadlann(a) atá tugtha.\n" #~ "\n" # backup stuff same as cp. -KPS #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=RIALÚ] déan cúltaca de gach sprioc-chomhad atá ann\n" #~ " -b cosúil le `--backup' ach gan argóint\n" #~ " -c (gan feidhm)\n" #~ " -d, --directory is comhadlann gach argóint; cruthaigh gach ball de " #~ "na\n" #~ " comhadlanna sonraithe\n" #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D cruthaigh gach ball de SPRIOC seachas an deireadh,\n" #~ " agus ansin cóipeáil FOINSE go SPRIOC\n" #~ " -g, --group=GRÚPA socraigh grúpa in ionad an ghrúpa den phróiseas " #~ "reatha\n" #~ " -m, --mode=MÓD socraigh na ceadanna (mar le chmod), in ionad `rwxr-" #~ "xr-x\n" #~ " -o, --owner=ÚINÉIR socraigh an t-úinéir (forúsáideoir amháin)\n" #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps caomhnaigh amanna rochtana/mionathraithe de " #~ "na\n" #~ " FOINSÍ leis na sprioc-chomhaid faoi seach\n" #~ " -s, --strip struipeáil siombailí\n" #~ " -S, --suffix=IARMHÍR sáraigh an iarmhír réamhshocraithe cúltaca\n" #~ " -t, --target-directory=CMDLANN cóipeáil gach FOINSE go dtí an CMDLANN\n" #~ " -T, --no-target-directory caith le SPRIOC mar ghnáthchomhad\n" #~ " -v, --verbose taispeáin gach comhadlann agus á cruthú\n" #~ msgid "" #~ " --preserve-context preserve SELinux security context\n" #~ " -Z, --context=CONTEXT set SELinux security context of files and " #~ "directories\n" #~ msgstr "" #~ " --preserve-context caomhnaigh an comhthéacs slándála SELinux\n" #~ " -Z, --context=CMHTCS socraigh comhthéacs slándála de chomhaid/" #~ "chomhadlanna\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Is é `~' an iarmhír chúltaca, mura dtugtar é le --suffix nó " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "Is féidir an modh de rialú foinsí a roghnú le `--backup', nó leis an " #~ "athróg\n" #~ "thimpeallachta VERSION_CONTROL. Seo duit na luachanna bailí:\n" #~ "\n" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "Scríobh líne chuig an ghnáth-aschur do gach péire de línte ionchurtha le\n" #~ "réimsí ceangal comhoiriúnacha. Is an chéad réimse an ceann " #~ "réamhshocraithe,\n" #~ "cuimsithe le spás bán. Más `-' COMHAD1 nó COMHAD2 (nach iad araon), " #~ "léigh\n" #~ "ón ghnáth-ionchur.\n" #~ " -a TAOBH taispeáin línte gan phéire as an gcomhad TAOBH\n" #~ " -e FOLAMH cuir FOLAMH in ionad réimsí ionchurtha ar iarraidh\n" #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case ná bí cásíogair agus réimsí á gcur i gcomparáid\n" #~ " -j RÉIMSE ar comhbhrí le `-1 RÉIMSE -2 RÉIMSE'\n" #~ " -o FORMÁID tóg an líne aschurtha de réir FORMÁID\n" #~ " -t CAR úsáid CAR mar theormharcóir idir réimsí ionchur/" #~ "aschur\n" #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v TAOBH cosúil le `-a TAOBH', ach múch línte nasctha " #~ "aschurtha\n" #~ " -1 RÉIMSE nasc ag an RÉIMSE seo i gcomhad 1\n" #~ " -2 RÉIMSE nasc ag an RÉIMSE seo i gcomhad 2\n" #~ " --check-order féach an bhfuil an t-ionchur sórtáilte mar is ceart,\n" #~ " fiú má táthar in ann gach líne ionchurtha a " #~ "phéireáil.\n" #~ " --nocheck-order ná féach an bhfuil an t-ionchur sórtáilte mar is " #~ "ceart\n" #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Má tá `-t CAR' ceaptha, scar réimsí le CAR; mura bhfuil sé ceaptha, scar\n" #~ "réimsí le spásanna tosaigh. Is uimhir RÉIMSE, uimhrithe ó 1. Is éard\n" #~ "atá i bhFORMÁID: sonraitheoir i gcruth `TAOBH.RÉIMSE' nó `0', nó roinnt\n" #~ "sonraitheoirí mar seo, scartha le camóga nó spásanna. Taispeánann an\n" #~ "FHORMÁID réamhshocraithe an réimse ceangail, na réimsí fuílligh as " #~ "COMHAD1,\n" #~ "agus na réimsí fuílligh as COMHAD2, scartha le CAR.\n" #~ "\n" #~ "Tábhachtach: ní foláir COMHAD1 agus COMHAD2 a shórtáil de réir na\n" #~ "réimsí ceangail.\n" #~ "Mar shampla, úsáid `sort -k 1b,1' mura bhfuil roghanna ag `join'.\n" #~ "Mura bhfuil an t-ionchur sórtáilte agus ní féidir roinnt línte a " #~ "nascadh,\n" #~ "taispeánfar teachtaireacht rabhaidh duit.\n" #~ msgid "File %d is not in sorted order" #~ msgstr "Níl comhad %d in ord sórtáilte" #~ msgid "invalid field number: %s" #~ msgstr "uimhir neamhbhailí réimse: %s" #~ msgid "invalid field specifier: %s" #~ msgstr "sonraitheoir neamhbhailí réimse: %s" #~ msgid "invalid file number in field spec: %s" #~ msgstr "uimhir neamhbhailí chomhaid i sonraitheoir réimse: %s" #~ msgid "incompatible join fields %lu, %lu" #~ msgstr "réimsí neamh-chomhoiriúnacha ceangail %lu, %lu" #~ msgid "conflicting empty-field replacement strings" #~ msgstr "teaghrán ionaid le haghaidh réimsí folmha i gcoinbhleacht" #~ msgid "empty tab" #~ msgstr "táb folamh" #~ msgid "multi-character tab %s" #~ msgstr "táb ilcharachtair %s" #~ msgid "incompatible tabs" #~ msgstr "táib éaguibhreannacha" #~ msgid "both files cannot be standard input" #~ msgstr "ní gnáth-ionchur é ceann de na comhaid" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Úsáid: %s [-s COMHARTHA | -SIGNAL] PID...\n" #~ " nó: %s -l [COMHARTHA]...\n" #~ " nó: %s -t [COMHARTHA]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Cuir comharthaí chuig próisis, nó taispeáin comharthaí.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=COMHARTHA, -COMHARTHA\n" #~ " tabhair an t-ainm nó an uimhir den chomhartha le " #~ "seoladh\n" #~ " -l, --list taispeáin ainmneacha na gcomharthaí, nó tiontaigh\n" #~ " ainmneacha go/ó uimhreacha\n" #~ " -t, --table taispeáin tábla le heolas faoi chomharthaí\n" # stádas scortha in FARF --KPS #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "Is féidir COMHARTHA a bheith ainm, mar `HUP', nó uimhir mar `1',\n" #~ "nó stádas scortha de phróiseas a bhí scortha le comhartha.\n" #~ "Is slánuimhir PID; más diúltach é, ciallaíonn sé grúpa próisis.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: comhartha neamhbhailí" #~ msgid "%s: invalid process id" #~ msgstr "%s: aitheantas neamhbhailí próisis" #~ msgid "invalid option -- %c" #~ msgstr "rogha neamhbhailí -- %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: Tugadh comharthaí iomadúla" #~ msgid "multiple -l or -t options specified" #~ msgstr "roghanna -l nó -t iomadúla" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "ní féidir comhartha a chumasc le -l nó -t" #~ msgid "no process ID specified" #~ msgstr "níor tugadh aitheantas próisis ar bith" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s COMHAD1 COMHAD2\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Glaoigh ar an fheidhm link() chun COMHAD2 a nascadh le COMHAD1.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "ní féidir nasc a chruthú ó %s chuig %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "%s: rabhadh: ní iniompartha nasc crua go nasc siombalach" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: ní cheadaítear nasc crua le comhadlann" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: ní féidir forscríobh a dhéanamh ar chomhadlann" #~ msgid "%s: replace %s? " #~ msgstr "%s: ionadaigh %s? " #~ msgid "creating symbolic link %s" #~ msgstr "nasc siombalach %s á chruthú" #~ msgid "creating symbolic link %s -> %s" #~ msgstr "nasc siombalach %s le %s á chruthú" #~ msgid "creating hard link to %.0s%s" #~ msgstr "nasc crua le %.0s%s á chruthú" #~ msgid "creating hard link %s" #~ msgstr "nasc crua %s á chruthú" #~ msgid "creating hard link %s => %s" #~ msgstr "nasc crua %s le %s á chruthú" #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... [-T] SPRIOC AINM_NAISC (an chéad leagan)\n" #~ " nó: %s [ROGHA]... SPRIOC (an dara leagan)\n" #~ " nó: %s [ROGHA]... SPRIOC... COMHADLANN (an tríú leagan)\n" #~ " nó: %s [ROGHA]... -t COMHADLANN SPRIOC... (an cheathrú leagan)\n" #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Sa chéad fhoirm, cruthaigh nasc le SPRIOC, darb ainm AINM_NAISC.\n" #~ "Sa dara foirm, cruthaigh nasc le SPRIOC sa chomhadlann reatha.\n" #~ "Sa 3ú agus 4ú foirm, cruthaigh nasc le gach SPRIOC i gCOMHADLANN.\n" #~ "Is naisc chrua an réamhshocrú, agus naisc shiombalacha le --symbolic.\n" #~ "Ní foláir gach SPRIOC a bheith ann agus naisc chrua á gcruthú.\n" #~ "\n" #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=RIALÚ] déan cúltaca de gach sprioc-chomhad atá " #~ "ann\n" #~ " -b cosúil le `--backup' ach gan argóint\n" #~ " -d, -F, --directory ceadaigh don fhorúsáideoir nasc crua do\n" #~ " chomhadlanna a dhéanamh (ach is dócha go\n" #~ " dteipfear de bharr srianta an chórais, go " #~ "fiú\n" #~ " don fhorúsáideoir)\n" #~ " -f, --force scrios sprioc-chomhad má tá sé ann cheana\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference ná lean naisc shiombalacha\n" #~ " -i, --interactive fiafraigh roimh sprioc-chomhaid a " #~ "scriosadh\n" #~ " -s, --symbolic naisc shiombalacha in ionad nasc crua\n" #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=IARMHÍR sáraigh an iarmhír réamhshocraithe cúltaca\n" #~ " -t, --target-directory=COMHADLANN socraigh an CHOMHADLANN ina " #~ "gcruthaítear\n" #~ " na naisc\n" #~ " -T, --no-target-directory caith le AINM_NAISC mar ghnáthchomhad\n" #~ " -v, --verbose taispeáin an t-ainm de gach comhad nasctha\n" #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "" #~ "Ní féidir --target-directory a úsáid in éineacht le --no-target-directory" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Úsáid: %s [ROGHA]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin an t-ainm den úsáideoir reatha.\n" #~ "\n" #~ msgid "no login name" #~ msgstr "níl aon ainm logáilte isteach ann" #~ msgid "%b %e %Y" #~ msgstr "%b %e %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "tá an athróg thimpeallachta QUOTING_STYLE neamhbhailí: %s; ag ligean thar" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "tá an athróg thimpeallachta COLUMNS neamhbhailí: %s; ag ligean thar" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "tá an athróg thimpeallachta TABSIZE neamhbhailí: %s; ag ligean thar" #~ msgid "invalid line width: %s" #~ msgstr "leithead líne neamhbhailí: %s" #~ msgid "invalid tab size: %s" #~ msgstr "méid neamhbhailí táib: %s" #~ msgid "invalid time style format %s" #~ msgstr "formáid neamhbhailí ar an am: %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "réimír anaithnid: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "tá an athróg thimpeallachta LS_COLORS neamhbhailí" #~ msgid "cannot open directory %s" #~ msgstr "ní féidir an chomhadlann %s a oscailt" #~ msgid "cannot determine device and inode of %s" #~ msgstr "ní féidir an gléas agus inode de %s a dhéanamh amach" #~ msgid "%s: not listing already-listed directory" #~ msgstr "%s: ní liostófar comhadlann atá liostaithe cheana" #~ msgid "closing directory %s" #~ msgstr "comhadlann %s á dúnadh" #~ msgid "cannot compare file names %s and %s" #~ msgstr "" #~ "ní féidir na hainmneacha comhaid %s agus %s a chur i gcomparáid le chéile" #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin eolas faoin COMHA(I)D (sa chomhadlann reatha mar réamhshocrú).\n" #~ "Sórtáil san ord aibítre mura bhfuil --sort ná aon cheann de -cftuvSUX " #~ "ann.\n" #~ "\n" #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all ná folaigh iontrálacha le . ar tosach\n" #~ " -A, --almost-all ná taispeáin . agus .. intuigthe\n" #~ " --author le -l, taispeáin an t-údar de gach comhad\n" #~ " -b, --escape ochtnártha in ionad carachtair " #~ "neamhghrafacha\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=MÉID úsáid bloic den mhéid MÉID beart\n" #~ " -B, --ignore-backups ná taispeáin iontrálacha le ~ ag deireadh\n" #~ " -c le -lt: sórtáil de réir, agus taispeáin " #~ "ctime\n" #~ " le -l: taispeáin ctime agus sórtáil de " #~ "réir ainm\n" #~ " i ngach cás eile: sórtáil de réir ctime\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C taispeáin iontrálacha de réir colúin\n" #~ " --color[=CATHAIN] rialú an úsáid de dhathanna chun comhaid a " #~ "dhealú\n" #~ " CATHAIN = `never', `always', nó `auto'\n" #~ " -d, --directory taispeáin comhadlanna in ionad a n-ábhar\n" #~ " -D, --dired gin aschur chun an mhóid dired i Emacs\n" #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f ná sórtáil, úsáid -aU, ná húsáid -ls --" #~ "color\n" #~ " -F, --classify cuir ceann de */=>@| leis na hiontrálacha\n" #~ " --file-type mar an gcéanna, ach ná hiarcheangail `*'\n" #~ " --format=FOCAL across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time ar comhbhrí le `-l --time-style=full-iso\n" #~ msgid " -g like -l, but do not list owner\n" #~ msgstr "" #~ " -g cosúil le -l, ach ná taispeáin úinéir an " #~ "liosta\n" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files.\n" #~ " augment with a --sort option, but any\n" #~ " use of --sort=none (-U) disables grouping\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " grúpáil comhadlanna roimh chomhaid.\n" #~ " méadaigh le rogha --sort, ach " #~ "díchumasófar\n" #~ " grúpáil má bhaintear úsáid ar bith as\n" #~ " --sort=none (-U)\n" #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -G, --no-group i liosta fada, ná taispeáin ainm an ghrúpa\n" #~ " -h, --human-readable le -l, taispeáin méideanna i bhformáid " #~ "inléite\n" #~ " (m.sh., 1K 234M 2G srl.)\n" #~ " --si mar an gcéanna, ach le 1K=1000, ní 1024\n" #~ msgid "" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ " --hide=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " (overridden by -a or -A)\n" #~ msgstr "" #~ " -H, --dereference-command-line\n" #~ " lean naisc shiombalacha ó líne na n-" #~ "orduithe\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " lean gach nasc siombalach ar líne na n-" #~ "orduithe\n" #~ " atá nasctha le comhadlann\n" #~ " --hide=PATRÚN ná taispeáin iontrálacha atá comhoiriúnach " #~ "leis\n" #~ " an PATRÚN blaoisce (sáraithe ag -a nó -A)\n" #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=FOCAL cuir táscaire den chineál FOCAL le " #~ "hiontrálacha:\n" #~ " none (réamhshocrú), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode taispeáin treoiruimhir de gach comhad\n" #~ " -I, --ignore=PATRÚN ná taispeáin iontrálacha intuigthe atá\n" #~ " comhoiriúnach le PATRÚN\n" #~ " -k ar comhbhrí le `--block-size=1K'\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l bain úsáid as an mhód fhoclach\n" #~ " -L, --dereference nuair atá nasc siombalach ann, taispeáin an\n" #~ " t-eolas faoin tagraí seachas an nasc féin\n" #~ " -m taispeáin iontrálacha scartha le camóga\n" #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid cosúil le -l, ach taispeáin UID/GID " #~ "uimhriúla\n" #~ " -N, --literal taispeáin ainmneacha amha (ná caith le " #~ "carachtair\n" #~ " éalúcháin go speisialta)\n" #~ " -o cosúil le `-l', ach gan eolas faoin ghrúpa\n" #~ " -p, --indicator-style=slash\n" #~ " cuir táscaire / le comhadlanna\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars taispeáin ? in ionad carachtair " #~ "neamhghrafacha\n" #~ " --show-control-chars taispeáin carachtair neamhghrafacha " #~ "(réamhshocrú\n" #~ " mura `ls' an clár agus aschur chuig " #~ "teirminéal)\n" #~ " -Q, --quote-name cuir ainmneacha idir comharthaí " #~ "athfhriotail\n" #~ " --quoting-style=FOCAL bain úsáid as an stíl FOCAL do na " #~ "hainmneacha:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse Cuir in ord droim ar ais le linn sórtála\n" #~ " -R, --recursive taispeáin comhadlanna go hathchúrsach\n" #~ " -s, --size taispeáin an mhéid de gach comhad (bloic)\n" #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S sórtáil de réir méid an chomhaid\n" #~ " --sort=FOCAL sórtáil de réir FOCAL in ionad an ainm: none " #~ "-U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=FOCAL le -l, taispeáin an t-am mar FOCAL in ionad\n" #~ " am mionathraithe: atime -u, access -u, use " #~ "-u,\n" #~ " ctime -c, nó status -c; úsáid an t-am " #~ "sonraithe\n" #~ " mar eochair shórtála más --sort=time\n" #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STÍL le -l, taispeáin amanna de réir na stíle " #~ "STÍL:\n" #~ " full-iso, long-iso, iso, locale, +FORMÁID.\n" #~ " Léirmhínigh FORMÁID mar `date'; más é\n" #~ " FORMÁID1FORMÁID2, úsáid FORMÁID1 " #~ "le\n" #~ " seanchomhaid agus FORMÁID2 le comhaid nua;\n" #~ " má tá réimír `posix-' ar STÍL, bain úsáid " #~ "as\n" #~ " mura bhfuil an logchaighdeán POSIX " #~ "socraithe\n" #~ msgid "" #~ " -t sort by modification time\n" #~ " -T, --tabsize=COLS assume tab stops at each COLS instead of 8\n" #~ msgstr "" #~ " -t sórtáil de réir am mionathraithe\n" #~ " -T, --tabsize=COLÚIN cuir táb ar gach COLÚIN colún " #~ "(réamhshocrú=8)\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u le -lt: sórtáil le, agus taispeáin am " #~ "rochtana\n" #~ " le -l: taispeáin am rochtana, sórtáil le " #~ "hainm\n" #~ " i ngach cás eile: sórtáil de réir am " #~ "rochtana\n" #~ " -U ná sórtáil; taispeáin in ord na " #~ "comhadlainne\n" #~ " -v sórtáil de réir leagan\n" #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=COLÚIN socraigh leithead den scáileán\n" #~ " -x taispeáin ar línte in ionad colún\n" #~ " -X sórtáil de réir iarmhíre an chomhaid,\n" #~ " san ord aibítre\n" #~ " -Z, --context taispeáin comhthéacs slándála SELinux de " #~ "gach\n" #~ " comhad má tá ann\n" #~ " -1 taispeáin aon chomhad sa líne\n" #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Ní bhaintear úsáid as dathanna chun comhaid a dhealú, mar réamhshocrú.\n" #~ "Tá sé sin ar comhbhrí le `--color=none'. Má tá `--color' tugtha gan an\n" #~ "argóint CATHAIN, tá sé sin ar comhbhrí le `--color=always'. Le `--" #~ "color=auto',\n" #~ "baintear úsáid as dathanna nuair atá an gnáth-aschur ceangailte le\n" #~ "teirminéal (tty). Téann an athróg thimpeallachta LS_COLORS i bhfeidhm " #~ "ar\n" #~ "na dathanna, agus is féidir é a shocrú gan stró leis an ordú dircolors.\n" #~ msgid "" #~ "\n" #~ "Exit status is 0 if OK, 1 if minor problems, 2 if serious trouble.\n" #~ msgstr "" #~ "\n" #~ "Stádas scortha = 0 (OK), 1 (deacrachtaí beaga), 2 (deacrachtaí troma).\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA] [COMHAD]...\n" #~ "Taispeáin nó seiceáil suimeanna sheiceála %s (%d giotán).\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ msgid "" #~ " -b, --binary read in binary mode (default unless reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -b, --binary léigh sa mhód dénártha (réamhshocrú mura bhfuil " #~ "sé ón ghnath-ionchur)\n" #~ msgid " -b, --binary read in binary mode\n" #~ msgstr " -b, --binary léigh sa mhód dénártha\n" #~ msgid "" #~ " -c, --check read %s sums from the FILEs and check them\n" #~ msgstr "" #~ " -c, --check léigh %s suim ó na COMHAID agus seiceáil iad\n" #~ msgid "" #~ " -t, --text read in text mode (default if reading tty " #~ "stdin)\n" #~ msgstr "" #~ " -t, --text léigh sa mhód téacs (réamhshocrú mura bhfuil sé " #~ "ónghnáth-ionchur)\n" #~ msgid " -t, --text read in text mode (default)\n" #~ msgstr " -t, --text léigh sa mhód téacs (réamhshocrú)\n" #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Ní úsáidtear an dá rogha seo a leanas ach nuair atáthar ag fíorú\n" #~ "suimeanna seiceála:\n" #~ " --status ná taispeáin dada, comharthaítear bua le cód " #~ "scortha\n" #~ " -w, --warn tabhair rabhadh má tá línte míchumtha ann\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Ríomhtar na suimeanna mar atá mínithe i %s. Má táthar ag seiceáil, is " #~ "gá\n" #~ "an t-ionchur a bheith ina aschur den ríomhchlár seo. Sa mhód " #~ "réamhshocraithe,\n" #~ "taispeáin líne le suim sheiceála, carachtar a chomharthaíonn an cineál\n" #~ "(`*'=dénártha, ` '=téacs), agus an t-ainm gach COMHAD.\n" #~ msgid "%s: too many checksum lines" #~ msgstr "%s: an iomarca línte shuim sheiceála" #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %: líne mhíchumtha le suim sheiceála %s" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: Theip ar oscailt nó ar léamh\n" #~ msgid "OK" #~ msgstr "OK" #~ msgid "%s: read error" #~ msgstr "%s: earráid sa léamh" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: níl aon líne dhea-chumtha ar fáil le suim sheiceála %s" #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "RABHADH: ní féidir % as % comhaid a léamh" #~ msgstr[1] "RABHADH: ní féidir % as % comhaid a léamh" #~ msgstr[2] "RABHADH: ní féidir % as % comhaid a léamh" #~ msgstr[3] "RABHADH: ní féidir % as % comhaid a léamh" #~ msgstr[4] "RABHADH: ní féidir % as % comhaid a léamh" #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "RABHADH: ní ceart % as % shuim ríofa seiceála" #~ msgstr[1] "RABHADH: ní ceart % as % shuim ríofa seiceála" #~ msgstr[2] "RABHADH: ní ceart % as % shuim ríofa seiceála" #~ msgstr[3] "RABHADH: ní ceart % as % suim ríofa seiceála" #~ msgstr[4] "RABHADH: ní ceart % as % suim ríofa seiceála" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "tá na roghanna --binary agus --text gan bhrí agus suimeanna seiceála á " #~ "bhfíorú" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "" #~ "tá an rogha --status gan bhrí ach amháin nuair atáthar ag fíorú suimeanna " #~ "seiceála" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "" #~ "tá an rogha --warn gan bhrí ach amháin nuair atáthar ag fíorú suimeanna " #~ "seiceála" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Úsáid: %s [ROGHA] COMHADLANN...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Cruthaigh an chomhadlann/na comhadlanna, mura bhfuil siad ann cheana " #~ "féin.\n" #~ "\n" #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=MÓD socraigh mód an chomhaid (mar le chmod), ní a=rwx - " #~ "umask\n" #~ " -p, --parents gan earráid má tá sé ann cheana, déan tuismitheoirí " #~ "más gá\n" #~ " -v, --verbose taispeáin tcht nuair a chruthaítear gach comhadlann\n" #~ " -Z, --context=CTCS socraigh comhthéacs slándála SELinux de gach " #~ "comhadlann\n" #~ " a chruthaítear go CTCS\n" #~ msgid "created directory %s" #~ msgstr "cruthaíodh comhadlann %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Úsáid: %s [ROGHA] AINM...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Cruthaigh píopaí ainmnithe (FIFO) leis na hAINMneacha tugtha.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of each NAME to " #~ "CTX\n" #~ msgstr "" #~ " -Z, --context=CTCS socraigh comhthéacs slándála de gach AINM go CTCS\n" #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=MÓD socraigh ceadanna (mar le chmod), ní a=rw - umask\n" #~ msgid "invalid mode" #~ msgstr "mód neamhbhailí" #~ msgid "mode must specify only file permission bits" #~ msgstr "caithfidh an mód na giotáin cheada amháin a shonrú" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Úsáid: %s [ROGHA]... AINM CINEÁL [PRÍOMH MION]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Cruthaigh an comhad speisialta AINM den chineál ceaptha CINEÁL.\n" #~ "\n" #~ msgid "" #~ " -Z, --context=CTX set the SELinux security context of NAME to CTX\n" #~ msgstr " -Z, --context=CTCS socraigh comhthéacs slándála de AINM go CTCS\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "ní foláir PRÍOMH agus MION araon a thabhairt má tá an CINEÁL b, c, nó u, " #~ "agus\n" #~ "ní cheadaítear iad ar chor ar bith le CINEÁL p. Má tá 0x nó 0X ag ceann\n" #~ "PRÍOMH nó MION, caith leis mar heicsidheachúlach; le 0 aonraic, mar " #~ "ochtnártha;\n" #~ "agus i ngach cás eile, mar deachúlach. CINEÁLacha bailí:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b cruthaigh comhad speisialta den chineál `bloc' (maolánaithe)\n" #~ " c, u cruthaigh comhad speisialta den chineál `carachtar' (gan " #~ "mhaolán)\n" #~ " p cruthaigh FIFO\n" #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "Ní mór príomhuimhir ghléis agus mionuimhir ghléis a cheapadh le haghaidh " #~ "na gcomhad speisialta" #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "Níl príomhuimhir ná mionuimhir ghléis ag comhaid fifo." #~ msgid "block special files not supported" #~ msgstr "Níl comhaid speisialta den chineál `bloc' ar fáil" #~ msgid "character special files not supported" #~ msgstr "Níl comhaid speisialta den chineál `carachtar' ar fáil" #~ msgid "invalid major device number %s" #~ msgstr "is neamhbhailí an phríomhuimhir ghléis %s" #~ msgid "invalid minor device number %s" #~ msgstr "is neamhbhailí an mhionuimhir ghléis %s" #~ msgid "invalid device %s %s" #~ msgstr "gléas neamhbhailí %s %s" #~ msgid "invalid device type %s" #~ msgstr "gléas neamhbhailí %s" #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Úsáid: %s [ROGHA]... [TEIMPLÉAD]\n" #~ msgid "" #~ "Create a temporary file or directory, safely, and print its name.\n" #~ "If TEMPLATE is not specified, use tmp.XXXXXXXXXX.\n" #~ msgstr "" #~ "Cruthaigh comhad nó comhadlann shealadach, go sábháilte, agus\n" #~ "taispeáin a ainm. Mura dtugtar TEIMPLÉAD, úsáid tmp.XXXXXXXXXX.\n" #~ msgid " -d, --directory create a directory, not a file\n" #~ msgstr " -d, --directory cruthaigh comhadlann in ionad comhaid\n" #~ msgid "" #~ " -q, --quiet suppress diagnostics about file/dir-creation failure\n" #~ msgstr "" #~ " -q, --quiet ná taispeáin diagnóisic nuair nach féidir comhad nó\n" #~ " comhadlann a chruthú\n" #~ msgid "" #~ " -u, --dry-run do not create anything; merely print a name (unsafe)\n" #~ msgstr "" #~ " -u, --dry-run ná cruthaigh faic; taispeáin ainm amháin " #~ "(contúirteach)\n" #~ msgid "" #~ " --tmpdir[=DIR] interpret TEMPLATE relative to DIR. If DIR is\n" #~ " not specified, use $TMPDIR if set, else /tmp.\n" #~ " With this option, TEMPLATE must not be an absolute " #~ "name.\n" #~ " Unlike with -t, TEMPLATE may contain slashes, but " #~ "even\n" #~ " here, mktemp still creates only the final " #~ "component.\n" #~ msgstr "" #~ " --tmpdir[=CMHDLNN] TEIMPLÉAD i gcoibhneas le CMHDLNN. Mura dtugtar\n" #~ " CMHDLNN, úsáid $TMPDIR má tá ann, nó /tmp.\n" #~ " Ní cheadaítear TEIMPLÉAD a bheith dearbhchonair " #~ "leis\n" #~ " an rogha seo. Ceadaítear slaiseanna i dTEIMPLÉAD, " #~ "ach\n" #~ " ní chruthóidh 'mktemp' ach an chomhpháirt deiridh.\n" #~ msgid " -p DIR use DIR as a prefix; implies -t [deprecated]\n" #~ msgstr " -p CMHDLNN úsáid CMHDLNN mar réimír; => -t [i léig]\n" #~ msgid "" #~ " -t interpret TEMPLATE as a single file name component,\n" #~ " relative to a directory: $TMPDIR, if set; else the\n" #~ " directory specified via -p; else /tmp [deprecated]\n" #~ msgstr "" #~ " -t comhpháirt aonair in ainm comhaid é TEIMPLÉAD,\n" #~ " i gcoibhneas le comhadlann: $TMPDIR, má tá ann; is\n" #~ " é sin nó an chomhadlann a thugtar le -p; nó /tmp [i " #~ "léig]\n" #~ msgid "too many templates" #~ msgstr "an iomarca teimpléad" #~ msgid "too few X's in template %s" #~ msgstr "easpa Xanna i dteimpléad %s" #~ msgid "invalid template, %s, contains directory separator" #~ msgstr "teimpléad neamhbhailí, %s, tá deighilteoir comhadlainne ann" #~ msgid "invalid template, %s; with --tmpdir, it may not be absolute" #~ msgstr "" #~ "teimpléad neamhbhailí, %s; le --tmpdir, seans nach dearbhchonair atá ann" #~ msgid "failed to create directory via template %s" #~ msgstr "níorbh fhéidir comhadlann a chruthú le teimpléad %s" #~ msgid "failed to create file via template %s" #~ msgstr "níorbh fhéidir comhad a chruthú le teimpléad %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Athraigh ainm de FOINSE go SPRIOC, nó aistrigh FOINSE/Í go COMHADLANN.\n" #~ "\n" # same stuff under cp, install, etc. --KPS #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=RIALÚ] déan cúltaca de gach sprioc-chomhad atá " #~ "ann\n" #~ " -b cosúil le `--backup' ach gan argóint\n" #~ " -f, --force ná fiafraigh roimh fhorscríobh\n" #~ " -i, --interactive fiafraigh roimh fhorscríobh\n" #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --strip-trailing-slashes scrios slaiseanna ag deireadh gach " #~ "argóint\n" #~ " FOINSE\n" #~ " -S, --suffix=IARMHÍR sáraigh an gnáth-iarmhír cúltaca\n" #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=COMHADLANN aistrigh gach FOINSE isteach i " #~ "gCOMHADLANN\n" #~ " -T, --no-target-directory caith le SPRIOC mar ghnáthchomhad\n" #~ " -u, --update ná haistrigh ach amháin nuair atá FOINSE\n" #~ " níos úire ná an sprioc-chomhad, nó nuair " #~ "atá\n" #~ " an sprioc-chomhad ar iarraidh\n" #~ " -v, --verbose mínigh na rudaí atá ag tarlú\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Úsáid: %s [ROGHA] [ORDÚ [ARG]...]\n" #~ msgid "" #~ "Run COMMAND with an adjusted niceness, which affects process scheduling.\n" #~ "With no COMMAND, print the current niceness. Nicenesses range from\n" #~ "%d (most favorable scheduling) to %d (least favorable).\n" #~ "\n" #~ " -n, --adjustment=N add integer N to the niceness (default 10)\n" #~ msgstr "" #~ "Rith ORDÚ le tosaíocht coigeartaithe chun sceidealadh na bpróiseas a " #~ "athrú.\n" #~ "Gan ORDÚ, taispeáin an tosaíocht reatha. Is féidir luachanna idir %d\n" #~ "(is mó tosaíocht) agus %d (is lú tosaíocht) a roghnú.\n" #~ "\n" #~ " -n, --adjustment=N cuir an tslánuimhir N leis an tosaíocht " #~ "(réamhshocrú=10)\n" #~ msgid "invalid adjustment %s" #~ msgstr "coigeartú neamhbhailí %s" #~ msgid "a command must be given with an adjustment" #~ msgstr "ní foláir ordú a thabhairt le coigeartú" #~ msgid "cannot get niceness" #~ msgstr "níl an tosaíocht ar fáil" #~ msgid "cannot set niceness" #~ msgstr "ní féidir an tosaíocht a shocrú" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Scríobh gach COMHAD chuig an ghnáth-aschur, le líne-uimhreacha sa " #~ "bhreis.\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STÍL uimhrigh línte an choirp de réir STÍL\n" #~ " -d, --section-delimiter=CAR Idirscar leathanaigh loighciúla le CAR\n" #~ " -f, --footer-numbering=STÍL uimhrigh línte an bhuntáisc de réir STÍL\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STÍL uimhrigh línte an cheanntáisc de réir " #~ "STÍL\n" #~ " -i, --page-increment=UIMHIR incrimint líne-uimhir ag gach líne\n" #~ " -l, --join-blank-lines=UIMHIR cruinnigh UIMHIR líne folamh le chéile\n" #~ " -n, --number-format=FORMÁID ionsáigh líne-uimhreacha de réir " #~ "FORMÁIDE\n" #~ " -p, --no-renumber ná hatosaigh líne-uimhreacha ag " #~ "leathanaigh nua\n" #~ " -s, --number-separator=TEAGHRÁN cuir TEAGHRÁN isteach i ndiaidh\n" #~ " líne-uimhir (fhéideartha)\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=UIMHIR an chéad líne-uimhir ar gach " #~ "leathanach\n" #~ " -w, --number-width=UIMHIR bain úsáid as UIMHIR colún do líne-" #~ "uimhreacha\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Mar réamhshocrú, roghnaítear -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn.\n" #~ "Is dhá charachtar teormharcóra CC chun leathanaigh loighciúla a scaradh.\n" #~ "Má tá an dara carachtar ar iarraidh, glactar le :. Iontráil \\\\ do \\.\n" #~ "Tá STÍL ar cheann de na roghanna seo a leanas:\n" #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a uimhrigh gach líne\n" #~ " t ná huimhrigh ach línte nach folamh\n" #~ " n ná huimhrigh ar chor ar bith\n" #~ " pSLONN ná huimhrigh ach na línte atá comhoiriúnach le SLONN " #~ "bunúsach\n" #~ "\n" #~ "Tá FORMÁID ar cheann de na roghanna seo a leanas:\n" #~ "\n" #~ " ln comhfhadaithe ar clé agus gan nialais ar tosach\n" #~ " rn comhfhadaithe ar dheis agus gan nialais ar tosach\n" #~ " rz comhfhadaithe ar dheis, le nialais ar tosach\n" #~ "\n" #~ msgid "line number overflow" #~ msgstr "líne-uimhir thar maoil" #~ msgid "invalid header numbering style: %s" #~ msgstr "stíl uimhrithe neamhbhailí do cheanntásca: %s" #~ msgid "invalid body numbering style: %s" #~ msgstr "stíl uimhrithe neamhbhailí don chorp: %s" #~ msgid "invalid footer numbering style: %s" #~ msgstr "stíl uimhrithe neamhbhailí do bhuntáisc: %s" #~ msgid "invalid starting line number: %s" #~ msgstr "líne-uimhir imeachta neamhbhailí: %s" #~ msgid "invalid line number increment: %s" #~ msgstr "incrimint líne-uimhreach neamhbhailí: %s" #~ msgid "invalid number of blank lines: %s" #~ msgstr "líon na línte folmha neamhbhailí: %s" #~ msgid "invalid line number field width: %s" #~ msgstr "réimseleithead líne-uimhreach neamhbhailí: %s" #~ msgid "invalid line numbering format: %s" #~ msgstr "formáid líne-uimhreach neamhbhailí: %s" #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s ORDÚ [ARGÓINT]...\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "Run COMMAND, ignoring hangup signals.\n" #~ "\n" #~ msgstr "" #~ "Rith ORDÚ agus lig comharthaí HUP thar.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If standard input is a terminal, redirect it from /dev/null.\n" #~ "If standard output is a terminal, append output to `nohup.out' if " #~ "possible,\n" #~ "`$HOME/nohup.out' otherwise.\n" #~ "If standard error is a terminal, redirect it to standard output.\n" #~ "To save output to FILE, use `%s COMMAND > FILE'.\n" #~ msgstr "" #~ "\n" #~ "Más teirminéal é an gnáth-ionchur, athdhírigh é ó /dev/null.\n" #~ "Más teirminéal é an gnáth-aschur, iarcheangail aschur le `nohup.out' más " #~ "féidir,\n" #~ "nó `$HOME/nohup.out'.\n" #~ "Más teirminéal é an gnáth-aschur earráide, athdhírigh é go dtí an gnáth-" #~ "aschur.\n" #~ "Chun aschur a shábháil i gCOMHAD, úsáid `%s ORDÚ > COMHAD'.\n" #~ msgid "ignoring input" #~ msgstr "ag déanamh neamhshuim ar ionchur" #~ msgid "failed to open %s" #~ msgstr "Ní féidir %s a oscailt" #~ msgid "ignoring input and appending output to %s" #~ msgstr "" #~ "ag déanamh neamhshuim ar an ionchur agus an t-aschur á iarcheangal le %s" #~ msgid "failed to set the copy of stderr to close on exec" #~ msgstr "" #~ "níorbh fhéidir an chóip den ghnáth-aschur earráide a dhúnadh i ndiaidh " #~ "exec" #~ msgid "ignoring input and redirecting stderr to stdout" #~ msgstr "" #~ "ag déanamh neamhshuim ar an ionchur, agus an gnáth-aschur earráid á " #~ "athdhíriú go dtí an gnáth-aschur" #~ msgid "failed to redirect standard error" #~ msgstr "níorbh fhéidir an gnáth-ionchur earráide a athsheoladh" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... [COMHAD]...\n" #~ " nó: %s [-abcdfilosx]... [COMHAD] [[+]FRITHÁIREAMH[.][b]]\n" #~ " nó: %s --traditional [ROGHA]... [COMHAD] [[+]FRITHÁIREAMH[.][b] [+]" #~ "[LIPÉAD][.][b]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Scríobh léiriú gan athbhrí, bearta ochtnártha mar réamhshocrú,\n" #~ "de CHOMHAD chuig an ghnáth-aschur. Má tá níos mó ná argóint CHOMHAD\n" #~ "amháin ann, comhcheangail iad in ord leis an ionchur a chruthú.\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Is riachtanach le rogha ghearr aon argóint atá riachtanach leis an rogha " #~ "fhada.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=BUNUIMHIR formáid de fhritháireamh comhaid\n" #~ " -j, --skip-bytes=BEARTA gabh thar BEARTA beart ionchurtha ar dtús\n" #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BEARTA teorannaigh dumpa le BEARTA beart " #~ "ionchurtha\n" #~ " -s, --strings[=BEARTA] teaghráin aschurtha le BEARTA carachtar\n" #~ " grafach ar a laghad\n" #~ " -t, --format=CINEÁL roghnaigh formáid(í) aschurtha\n" #~ " -v, --output-duplicates ná húsáid * chun ceilt líne a chomharthú\n" #~ " -w, --width[=BEARTA] BEARTA beart ar líne aschuir\n" #~ " --traditional glac le hargóintí san fhoirm thraidisiúnta\n" #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Is féidir roghanna formáide traidisiúnta a bheith measctha lena chéile,\n" #~ "agus cnuasaíonn siad:\n" #~ " -a ar comhbhrí le `-t a', roghnaigh carachtair ainmnithe, agus déan\n" #~ " neamhshuim ar an ngiotán is airde\n" #~ " -b ar comhbhrí le `-t o1', roghnaigh bearta ochtnártha\n" #~ " -c ar comhbhrí le `-t c', roghnaigh ASCII nó éalúcháin le " #~ "cúlslaiseanna\n" #~ " -d ar comhbhrí le `-t u2', roghnaigh aonaid dheachúlacha gan sín, 2 " #~ "bheart\n" #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f ar comhbhrí le `-t fF', roghnaigh uimhreacha shnámhphointe\n" #~ " -i ar comhbhrí le `-t dI', roghnaigh slánuimhreacha deachúlacha\n" #~ " -l ar comhbhrí le `-t dL', roghnaigh `long'anna deachúlacha\n" #~ " -o ar comhbhrí le `-t o2', roghnaigh aonaid ochtnártha, 2 bheart\n" #~ " -s ar comhbhrí le `-t d2', roghnaigh aonaid dheachúlacha, 2 bheart\n" #~ " -x ar comhbhrí le `-t x2', roghnaigh aonaid heicsidheachúlacha, 2 " #~ "bheart\n" #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Má tá an chéad fhormáid agus an dara formáid araon i bhfeidhm, glac leis\n" #~ "an dara ceann nuair a thosaíonn an t-oibreann deiridh le + nó (má tá dhá\n" #~ "oibreann ann) digit. Is ionann an t-oibreann FRITHÁIREAMH agus -j " #~ "FRITHÁIREAMH.\n" #~ "Is LIPÉAD an seoladh bréige ag an chéad bheart priontáilte, incrimintithe " #~ "le\n" #~ "linn na dumpála. Le haghaidh FRITHÁIREAMH agus LIPÉAD, comharthaíonn " #~ "réimír\n" #~ "0x nó 0X heicsidheachúlach; úsáid iarmhír `.' don ochtnártha agus `b' mar " #~ "512.\n" #~ msgid "" #~ "\n" #~ "TYPE is made up of one or more of these specifications:\n" #~ "\n" #~ " a named character, ignoring high-order bit\n" #~ " c ASCII character or backslash escape\n" #~ msgstr "" #~ "\n" #~ "Is éard atá i gCINEÁL: sonrú amháin ar a laghad de na cinn seo a leanas:\n" #~ "\n" #~ " a carachtar ainmnithe, déan neamhshuim ar an ngiotán is airde\n" #~ " c carachtar ASCII nó carachtar éalúcháin le cúlslais\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[MÉID] slánuimhir dheachúlach le sín, MÉID beart ar cheann\n" #~ " f[MÉID] uimhir shnámhphointe, MÉID beart ar an gceann\n" #~ " o[MÉID] ochtnártha, MÉID beart ar an gceann\n" #~ " u[MÉID] slánuimhir dheachúlach gan sín, MÉID beart ar an gceann\n" #~ " x[MÉID] heicsidheachúlach, MÉID beart ar an gceann\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "Is uimhir í MÉID. Má tá CINEÁL as d,o,u,x, is féidir MÉID a bheith\n" #~ "`C'=sizeof(char), `S'=sizeof(short), `I'=sizeof(int), nó `L'=sizeof" #~ "(long).\n" #~ "Más ionann CINEÁL agus f, is féidir MÉID a bheith `F'=sizeof(float),\n" #~ "`D'=sizeof(double), nó `L'=sizeof(long double).\n" #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "BUNUIMHIR: d=deachúlach, o=ochtnártha, x=heicsidheachúlach, nó " #~ "n=neamhní.\n" #~ "Comharthaíonn réimír 0x nó 0X go bhfuil BEARTA heicsidheachúlach, agus " #~ "is\n" #~ "féidir iarmhír iolraithe a chur leis:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" #~ "Má tá iarmhír `z' ann le cineál ar bith, taispeánfar carachtair\n" #~ "inphriontáilte ag an deireadh de gach líne aschurtha. " #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "Glactar le 3 mura bhfuil uimhir i ndiaidh --string, agus glactar le 32\n" #~ "i ndiaidh --width mar an gcéanna. De réir réamhshocraithe, úsáideann od\n" #~ "roghanna -A o -t d2 -w16.\n" #~ msgid "invalid type string %s" #~ msgstr "teaghrán neamhbhailí cineáil %s" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "teaghrán neamhbhailí cineáil %s;\n" #~ "níl slánuimhreacha le %lu beart le fáil ar an gcóras seo" #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "teaghrán neamhbhailí cineáil %s;\n" #~ "níl uimhreacha shnámhphointe le %lu beart le fáil ar an gcóras seo" #~ msgid "invalid character `%c' in type string %s" #~ msgstr "carachtar neamhbhailí `%c' i dteaghrán cineáil %s" #~ msgid "cannot skip past end of combined input" #~ msgstr "ní féidir a ghabháil thar dheireadh an ionchuir iomláin" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "bunuimhir neamhbhailí `%c' do sheoltaí aschuir; roghnaigh as [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "ní cheadaítear sonrú cineáil agus teaghráin á ndumpáil" #~ msgid "Compatibility mode supports at most one file." #~ msgstr "Aon chomhad amháin ar a mhéad sa mhód comhoiriúnachta." #~ msgid "skip-bytes + read-bytes is too large" #~ msgstr "is rómhór skip-bytes + read-bytes" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "rabhadh: leithead neamhbhailí %lu; bainfear úsáid as %d ina ionad" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmd=\"%s\" leithead=%d\n" #~ msgid "standard input is closed" #~ msgstr "tá an gnáth-ionchur dúnta" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Scríobh, chuig an ghnáth-aschur, línte comhoiriúnacha go seicheamhach\n" #~ "as gach COMHAD, scartha le TÁIB.\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LIOSTA athúsáid carachtair as LIOSTA in ionad TÁIB\n" #~ " -s, --serial greamaigh i ndiaidh a chéile, nach go " #~ "comhuaineach\n" #~ msgid "delimiter list ends with an unescaped backslash: %s" #~ msgstr "críochnaíonn liosta na dteormharcóirí le cúlslais gan éalúchán: %s" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Úsáid: %s [ROGHA]... AINM...\n" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p check for most POSIX systems\n" #~ " -P check for empty names and leading \"-\"\n" #~ " --portability check for all POSIX systems (equivalent to -p -P)\n" #~ msgstr "" #~ "Aimsigh struchtúir dho-iompartha in AINM.\n" #~ "\n" #~ " -p seiceáil ar fhormhór na gcóras POSIX\n" #~ " -P cuardaigh ar ainmneacha folmha agus \"-\" tosaigh\n" #~ " --portability seiceáil ar gach córas POSIX (ar comhbhrí le -p -" #~ "P)\n" #~ msgid "leading `-' in a component of file name %s" #~ msgstr "tá `-' tosaigh i gcomhpháirt d'ainm comhaid %s" #~ msgid "nonportable character %s in file name %s" #~ msgstr "carachtar neamhiompartha %s in ainm comhaid %s" #~ msgid "empty file name" #~ msgstr "comhadainm folamh" #~ msgid "%s: unable to determine maximum file name length" #~ msgstr "%s: ní féidir an t-uasfhad d'ainmneacha comhaid a dhéanamh amach" #~ msgid "limit %lu exceeded by length %lu of file name %s" #~ msgstr "sáraíodh an t-uasfhad %lu: fad %lu den ainm comhad %s" #~ msgid "limit %lu exceeded by length %lu of file name component %s" #~ msgstr "sáraíodh an t-uasfhad %lu: fad %lu den chomhpháirt ainm comhaid %s" #~ msgid "Login name: " #~ msgstr "Ainm logála isteach: " #~ msgid "In real life: " #~ msgstr "I réaltacht: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Comhadlann: " #~ msgid "Shell: " #~ msgstr "Blaosc: " #~ msgid "Project: " #~ msgstr "Tionscadal: " #~ msgid "Plan:\n" #~ msgstr "Plean:\n" #~ msgid "Login" #~ msgstr "Logáil Isteach" #~ msgid "Name" #~ msgstr "Ainm" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Díomhaoin" #~ msgid "When" #~ msgstr "Cathain" #~ msgid "Where" #~ msgstr "Cén Áit" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Úsáid: %s [ROGHA]... [ÚSÁIDEOIR]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l taispeáin eolas faoin ÚSÁIDEOIR i bhformáid fhada " #~ "aschurtha\n" #~ " -b ná taispeáin comhadlann bhaile agus blaosc i bhformáid " #~ "fhada\n" #~ " -h ná taispeáin an comhad tionscadail i bhformáid fhada\n" #~ " -p ná taispeáin an comhad plean i bhformáid fhada\n" #~ " -s formáid achomair (réamhshocrú)\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f ná taispeáin teidil na gcolún i bhformáid achomair\n" #~ " -w ná taispeáin an t-ainm iomlán i bhformáid achomair\n" #~ " -i ná taispeáin an t-ainm iomlán nó cianóstach i bhformáid " #~ "achomair\n" #~ " -q ná taispeáin ainm iomlán, cianóstach, nó am díomhaoin\n" #~ " i bhformáid achomair\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Feidhmchlár beag cosúil le `finger'; taispeáin eolas faoi úsáideoir.\n" #~ "Beidh %s an comhad utmp.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "is gá ainm úsáideora amháin a thabhairt ar a laghad le -l" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=AONÚ[:DEIREADH]' argóint ar iarraidh" #~ msgid "Invalid page range %s" #~ msgstr "Raon neamhbhailí leathanach %s" #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l FAD' líon neamhbhailí na línte: %s" #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N UIMHIR' líne-uimhir neamhbhailí thosaigh: %s" #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o CIUMHAIS' fritháireamh neamhbhailí líne: %s" #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w LEITHEAD' líon neamhbhailí carachtar: %s" #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W LEITHEAD' líon neamhbhailí carachtar: %s" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "" #~ "Ní cheadaítear líon na gcolún a shocrú le linn priontála go comhuaineach." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Ní cheadaítear priontáil trasna agus go comhuaineach araon." #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "`-%c' carachtair breise, nó uimhir neamhbhailí san argóint: %s" #~ msgid "page width too narrow" #~ msgstr "leathanach róchúng" #~ msgid "starting page number % exceeds page count %" #~ msgstr "" #~ "tá an uimhir leathanach tosaigh % níos mó ná líon na leathanach %" #~ "" #~ msgid "Page number overflow" #~ msgstr "Uimhir leathanaigh thar maoil" #~ msgid "Page %" #~ msgstr "Leathanach %" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "" #~ "Uimhrigh leathanaigh nó colúin de CHOMHA(I)D le haghaidh priontála.\n" #~ "\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +AONÚ[:DEIREADH], --pages=AONÚ[:DEIREADH]\n" #~ " tosaigh [stop] priontáil ag leathanach AONÚ " #~ "[DEIREADH]\n" #~ " -COLÚN, --columns=COLÚN\n" #~ " aschur le COLÚN colúin agus priontáil anuas,\n" #~ " mura bhfuil -a tugtha. Cothromaigh líon na línte " #~ "sna\n" #~ " colúin ar gach leathanach.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across taispeáin colúin trasna an scáileáin seachas anuas\n" #~ " úsáid le -COLÚN\n" #~ " -c, --show-control-chars\n" #~ " carachtair rialúcháin mar ^G nó le cúlslais " #~ "ochtnártha\n" #~ " -d, --double-space\n" #~ " spásáil dhúbailte\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMÁID\n" #~ " taispeáin an dáta cheanntáisc de réir na FORMÁIDE\n" #~ " -e[CAR[LEITHEAD]], --expand-tabs[=CAR[LEITHEAD]]\n" #~ " tiontaigh CAR (TÁIB) go táb LEITHEAD (8)\n" #~ " -F, -f, --form-feed\n" #~ " scar leathanaigh le foirmfhothaí in ionad línte nua\n" #~ " (le -F, úsáid ceanntásc leathanaigh de trí líne, nó,\n" #~ " gan -F, de cúig líne agus le buntásc)\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h CEANNTÁSC, --header=CEANNTÁSC\n" #~ " úsáid CEANNTÁSC láraithe in ionad ainm comhad i " #~ "gceanntásc\n" #~ " -h \"\" do líne bhán, ná húsáid -h\"\"\n" #~ " -i[CAR[LEITHEAD]], --output-tabs[=CAR[LEITHEAD]]\n" #~ " cuir CAR in ionad spásanna go dtí LEITHEAD táib (8)\n" #~ " -J, --join-lines cónaisc línte iomlána, stop teascadh línte -W, ná " #~ "hailínigh\n" #~ " colúin, socraigh deighilteoirí le --sep-string" #~ "[=TEAGHRÁN]\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l FAD_LEATHANAIGH, --length=FAD_LEATHANAIGH\n" #~ " socraigh fad an leathanaigh go FAD_LEATHANAIGH (66) " #~ "líne\n" #~ " (línte téacs réamhshocraithe = 56, agus le -F 63)\n" #~ " -m, --merge taispeáin na comhaid go comhuaineach, ceann sa " #~ "cholún,\n" #~ " teasc línte, ach cónaisc línte iomlána le -J\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[BEARNA[DIGITÍ]], --number-lines[=BEARNA[DIGITÍ]]\n" #~ " uimhrigh línte, úsáid DIGITÍ (5) digit, ansin BEARNA " #~ "(TAB),\n" #~ " uimhriú ón chéad líne ionchurtha, mar réamhshocrú\n" #~ " -N UIMHIR, --first-line-number=UIMHIR\n" #~ " crom ar áireamh le hUIMHIR ag an chéad líne den " #~ "chéad\n" #~ " leathanach priontáilte (féach ar +AONÚ)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o CIUMHAIS, --indent=CIUMHAIS\n" #~ " déan fritháireamh de CIUMHAIS (0) spás ar gach líne, " #~ "ná modhnaigh -w nó -W, cuirfidh CIUMHAIS le LEITHEAD\n" #~ " -r, --no-file-warnings\n" #~ " ná taispeáin rabhadh mura féidir comhad a oscailt\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[CAR],--separator[=CAR]\n" #~ " dealaigh colúin le carachtar aonarach; mar " #~ "réamhshocrú,\n" #~ " CAR= gan -w agus CAR=`no char' le -w\n" #~ " stopann -s[CAR] teascadh línte de na trí rogha\n" #~ " (-COLÚN|-a -COLÚN|-m) ach is lasta an rogha -w\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -STEAGHRÁN, --sep-string[=TEAGHRÁN]\n" #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " dealaigh colúin le TEAGHRÁN,\n" #~ " gan -S: is é an deighilteoir réamhshocraithe le -" #~ "J\n" #~ " agus is é i ngach cás eile (ar comhbhrí le -S\" " #~ "\");\n" #~ " níl aon éifeacht ar roghanna colúin\n" #~ " -t, --omit-header fág na ceanntásca agus na buntásca leathanaigh ar " #~ "lár\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " fág ceanntásca/buntásca ar lár, ná huimhrigh " #~ "leathanaigh le foirmfhothaí leabaithe in inchomhaid\n" #~ " -v, --show-nonprinting\n" #~ " bain úsáid as cúlslaiseanna don ochtnártha\n" #~ " -w LEITHEAD, --width=LEITHEAD\n" #~ " leithead an leathanaigh = LEITHEAD (72) carachtar\n" #~ " d'aschur ilcholúnach, stopann -s[car] é seo (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W LEITHEAD, --page-width=LEITHEAD\n" #~ " leithead an leathanaigh = LEITHEAD carachtar i " #~ "gcónaí,\n" #~ " teasc línte, ach is lasta an rogha -J, níl aon chur " #~ "isteach\n" #~ " ar na roghanna -S nó -s\n" #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Úsáidfear -t go huathoibríoch má tá FAD_LEATHANAIGH <= 10. Mura bhfuil\n" #~ "COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s [ATHRÓG]...\n" #~ " nó: %s ROGHA\n" #~ "Mura bhfuil ATHRÓG thimpeallachta ann, taispeáin gach ceann acu.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "rabhadh: %s: ag déanamh neamhshuim ar charachtair i ndiaidh tairiseach " #~ "carachtair" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s FORMÁID [ARGÓINT]...\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Taispeáin ARGÓINT(Í) de réir FORMÁID, nó rith de réir ROGHA:\n" #~ "\n" #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "Rialaíonn FORMÁID an t-aschur mar a dhéanann C printf. Cóid bailí:\n" #~ "\n" #~ " \\\" comhartha athfhriotal\n" #~ " \\0NNN carachtar leis an luach ochtnártha NNN (0..3 digit)\n" #~ " \\\\ cúlslais\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a rabhadh (BEL)\n" #~ " \\b cúlspás\n" #~ " \\c stop an t-aschur\n" #~ " \\f foirmfhotha\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n líne nua\n" #~ " \\r athfhilleadh\n" #~ " \\t táb cothrománach\n" #~ " \\v táb ingearach\n" #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xNN beart le luach heicsidheachúlach NN (1 nó 2 dhigit)\n" #~ " \\uNNNN carachtar Unicode (ISO/IEC 10646) le luach heics NNNN (4 " #~ "dhigit)\n" #~ " \\UNNNNNNNN carachtar Unicode le luach heics NNNNNNNN (8 ndigit)\n" #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% '%' aonair\n" #~ " %b ARGÓINT mar theaghrán le carachtair éalúcháin `\\' léirithe,\n" #~ " cé go bhfuil éalúcháin ochtnártha i bhfoirm \\0 nó \\0NNN\n" #~ "\n" #~ "agus tá ceann de [diouxXfeEgGcs] ag deireadh gach sonraíochta formáide " #~ "C,\n" #~ "agus ARGÓINTí churtha ina gceart ar dtús. Glactar le leithid " #~ "luaineacha.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: bhíothas ag súil le luach uimhriúil" #~ msgid "%s: value not completely converted" #~ msgstr "%s: níl an luach tiontaithe ar fad" #~ msgid "missing hexadecimal number in escape" #~ msgstr "uimhir heicsidheachúlach ar iarraidh sa chód éalúcháin" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "tá an t-ainm carachtair uilíoch \\%c%0*x neamhbhailí" #~ msgid "invalid field width: %s" #~ msgstr "leithead líne neamhbhailí: %s" #~ msgid "invalid precision: %s" #~ msgstr "beachtas neamhbhailí: %s" #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%.*s: tiontú neamhbhailí" #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "rabhadh: ag déanamh neamhshuim ar argóintí breise, ó %s amach" #, fuzzy #~ msgid "F. Pinard" #~ msgstr "F. Pinard" #~ msgid "%s (for regexp %s)" #~ msgstr "%s (ar regexp %s)" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... [IONCHUR]... (gan -G)\n" #~ " nó: %s -G [ROGHA]... [IONCHUR [ASCHUR]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Cuir as innéacs iomalartaithe, le comhthéacs, de na focail sna " #~ "hinchomhaid.\n" #~ "\n" #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference cruthaigh tagairtí go huathoibríoch\n" #~ " -G, --traditional oibrigh ar nós `ptx' System V\n" #~ " -F, --flag-truncation=TGHRÁN úsáid TGHRÁN chun línte teasctha a léiriú\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=STRING úsáid an macra STRING in ionad `xx'\n" #~ " -O, --format=roff táirg an t-aschur i riocht treoracha " #~ "`roff'\n" #~ " -R, --right-side-refs cuir tagairtí ar dheis; ní chuirtear seo i " #~ "-w\n" #~ " -S, --sentence-regexp=REGEXP foircinn línte ní foircinn abairtí\n" #~ " -T, --format=tex táirg an t-aschur i riocht treoracha " #~ "`TeX'\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGEXP úsáid REGEXP chun treoirfhocail a thógáil\n" #~ " -b, --break-file=COMHAD tá carachtair le briseadh focail i " #~ "gCOMHAD\n" #~ " -f, --ignore-case sórtáil an cás íochtair leis an gcás " #~ "uachtair\n" #~ " -g, --gap-size=UIMHIR bearna idir colúin san aschur\n" #~ " -i, --ignore-file=COMHAD tá focail le ligean tharat i gCOMHAD\n" #~ " -o, --only-file=COMHAD tá liosta treoirfhocal i gCOMHAD\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references is tagairt é an chéad réimse ar gach líne\n" #~ " -t, --typeset-mode - neamhchríochnaithe -\n" #~ " -w, --width=UIMHIR leithead an aschuir, gan tagairt\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é,\n" #~ "léigh ón ghnáth-ionchur. `-F /' mar réamhshocrú.\n" #~ msgid "invalid gap width: %s" #~ msgstr "leithead neamhbhailí bearna: %s" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin an t-ainm iomlán den chomhadlann oibre.\n" #~ "\n" #~ msgid "failed to chdir to %s" #~ msgstr "theip ar chdir go dtí an chomhadlann %s" #~ msgid "failed to stat %s" #~ msgstr "theip ar stat %s" #~ msgid "couldn't find directory entry in %s with matching i-node" #~ msgstr "níorbh fhéidir iontráil chomhadlainne i %s le i-nód comhoiriúnach" #~ msgid "ignoring non-option arguments" #~ msgstr "ag déanamh neamhshuim ar argóintí nach roghanna iad" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Úsáid: %s [ROGHA]... COMHAD\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin luach de nasc siombalach ar an ngnáth-aschur.\n" #~ "\n" #~ msgid "" #~ " -f, --canonicalize canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively;\n" #~ " all but the last component must exist\n" #~ " -e, --canonicalize-existing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " all components must exist\n" #~ msgstr "" #~ " -f, --canonicalize caighdeánaigh trí leanúint gach nasc " #~ "siombalach\n" #~ " i ngach ball den chonair, go hathchúrsach;\n" #~ " ní mór gach comhpháirt (seachas an ceann\n" #~ " deiridh) a bheith ann\n" #~ " -e, --canonicalize-existing caighdeánaigh trí leanúint gach nasc " #~ "siombalach\n" #~ " i ngach ball den chonair, go hathchúrsach;\n" #~ " ní mór gach comhpháirt a bheith ann\n" #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -m, --canonicalize-missing caighdeánaigh trí leanúint gach nasc " #~ "siombalach\n" #~ " i ngach ball den chonair, go hathchúrsach;\n" #~ " ceadaítear comhpháirteanna ar iarraidh\n" #~ " -n, --no-newline ná scríobh an líne nua fhoirceanta\n" #~ " -q, --quiet,\n" #~ " -s, --silent múch formhór na n-earráidí\n" #~ " -v, --verbose taispeáin earráidí\n" #~ msgid "FATAL: failed to close directory %s" #~ msgstr "MARFACH: theip ar chomhadlann %s a dhúnadh" #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "MARFACH: ní féidir `..' a oscailt ó %s" #~ msgid "FATAL: cannot ensure %s (returned to via ..) is safe" #~ msgstr "" #~ "MARFACH: ní féidir deimhniú go bhfuil %s (áit a bhfilleadh uirthi trí ..) " #~ "slán" #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "MARFACH: d'athraigh comhadlann %s dev/ino" #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "MARFACH: ní féidir dul isteach i gcomhadlann %s" #~ msgid "FATAL: just-changed-to directory %s changed dev/ino" #~ msgstr "" #~ "MARFACH: d'athraigh dev/ino na comhadlainne a bhfuil tú tar éis dul inti " #~ "(%s)" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "RABHADH: struchtúr comhadlainne ciorclach.\n" #~ "Is cinnte, mar an gcéanna, go bhfuil córas comhaid truaillithe agatsa.\n" #~ "CUIR AN FHADHB SEO IN IÚL DO RIARTHÓIR DO CHÓRAIS.\n" #~ "Tá an chomhadlann a leanas cuid den struchtúr ciorclach:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: téigh síos isteach i gcomhadlann scríobh-bhactha %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: téigh síos isteach i gcomhadlann %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: scrios %s scríobh-bhactha %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: scrios %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "scriosadh comhadlann %s\n" #~ msgid "failed to close directory %s" #~ msgstr "theip ar dhúnadh comhadlann %s" #~ msgid "skipping %s, since it's on a different device" #~ msgstr "ag gabháil thar %s, de bhrí go bhfuil sé ar ghléas difriúil" #~ msgid "cannot remove directory %s" #~ msgstr "ní féidir comhadlann %s a scriosadh" #~ msgid "FATAL: cannot return to .. from %s" #~ msgstr "MARFACH: ní féidir dul ar ais go .. ó %s" #~ msgid "cannot remove root directory %s" #~ msgstr "ní féidir fréamhchomhadlann %s a scriosadh" #~ msgid "cannot remove relative-named %s" #~ msgstr "ní féidir gaol darbh ainm %s a bhaint" #~ msgid "cannot restore current working directory" #~ msgstr "ní féidir an chomhadlann reatha a athchóiriú" #~ msgid "Try `%s ./%s' to remove the file %s.\n" #~ msgstr "Bain triail as `%s ./%s' chun an comhad %s a bhaint.\n" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Úsáid: %s [ROGHA]... COMHAD...\n" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i prompt before every removal\n" #~ msgstr "" #~ "Bain (dínasc) an COMHAD/na COMHAID.\n" #~ "\n" #~ " -f, --force déan neamhshuim ar chomhaid nach bhfuil ann, " #~ "agus\n" #~ " ná tabhair leid riamh\n" #~ " -i tabhair leid sula mbainfear aon rud\n" #~ msgid "" #~ " -I prompt once before removing more than three " #~ "files, or\n" #~ " when removing recursively. Less intrusive than " #~ "-i,\n" #~ " while still giving protection against most " #~ "mistakes\n" #~ " --interactive[=WHEN] prompt according to WHEN: never, once (-I), " #~ "or\n" #~ " always (-i). Without WHEN, prompt always\n" #~ msgstr "" #~ " -I tabhair leid uair amháin sula mbainfear níos mó " #~ "ná\n" #~ " trí chomhad, nó nuair a bhainfear go " #~ "hathchúrsach.\n" #~ " Níl sé seo chomh sáiteach le -i, cé go ndéanann " #~ "sé\n" #~ " cosaint shásúil ar an chuid is mó de bhotúin\n" #~ " --interactive[=CATHAIN] tabhair leid de réir CATHAIN: never, once " #~ "(-I), nó\n" #~ " always (-i). Gan CATHAIN, tabhair leid i " #~ "gcónaí\n" #~ msgid "" #~ " --one-file-system when removing a hierarchy recursively, skip any\n" #~ " directory that is on a file system different " #~ "from\n" #~ " that of the corresponding command line " #~ "argument\n" #~ msgstr "" #~ " --one-file-system nuair atá comhadlanna á mbaint go hathchúrsach,\n" #~ " ná bain comhadlanna atá ar chóras comhad nach\n" #~ " ionann leis an gceann a sonraíodh in argóint " #~ "ar\n" #~ " líne na n-orduithe\n" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially\n" #~ " --preserve-root do not remove `/' (default)\n" #~ " -r, -R, --recursive remove directories and their contents " #~ "recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --no-preserve-root ná tabhair cóir speisialta do `/'\n" #~ " --preserve-root ná bain `/' (réamhshocrú)\n" #~ " -r, -R, --recursive bain comhadlanna agus a n-inneachar go " #~ "hathchúrsach\n" #~ " -v, --verbose mínigh na rudaí atá ag tarlú\n" #~ msgid "" #~ "\n" #~ "By default, rm does not remove directories. Use the --recursive (-r or -" #~ "R)\n" #~ "option to remove each listed directory, too, along with all of its " #~ "contents.\n" #~ msgstr "" #~ "\n" #~ "De réir réamhshocraithe, ní bhaineann rm comhadlanna. Úsáid an rogha\n" #~ "--recursive (-r nó -R) chun na comhadlanna uile a bhaint freisin, in " #~ "éineacht\n" #~ "le gach rud atá isteach iontu.\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "Le scrios a dhéanamh ar chomhad le hainm le `-' ar tosach (m.sh. `-foo')\n" #~ "bain triail as ceann de na horduithe a leanas:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Tabhair faoi deara gur féidir na hábhair a fháil ar ais ó chomhad a bhí\n" #~ "scriosta le `rm'. Más mian leat na hábhair a scriosadh níos cinnte,\n" #~ "bain úsáid as `shred'.\n" #~ msgid "%s: remove all arguments recursively? " #~ msgstr "%s: bain gach argóint go hathchúrsach? " #~ msgid "%s: remove all arguments? " #~ msgstr "%s: bain gach argóint? " #~ msgid "removing directory, %s" #~ msgstr "comhadlann %s á baint" #~ msgid "failed to remove directory %s" #~ msgstr "theip ar chomhadlann %s a bhaint" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Úsáid: %s [ROGHA]... COMHADLANN...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Scrios an CHOMHADLANN/na COMHADLANNA, má tá sí/siad folamh.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ná tuairiscigh cliseadh mar gheall ar chomhadlanna " #~ "nach\n" #~ " folamh\n" #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents scrios COMHADLANN, agus ansin a thuismitheoirí\n" #~ " mar shampla, tá `rmdir -p a/b/c' ar comhbhrí le\n" #~ " `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose taispeáin diagnóisic do gach comhadlann phróiseáilte\n" #~ msgid "failed to remove %s" #~ msgstr "theip ar %s a bhaint" #~ msgid "" #~ "Usage: %s CONTEXT COMMAND [args]\n" #~ " or: %s [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]\n" #~ msgstr "" #~ "Úsáid: %s COMHTHÉACS ORDÚ [argóintí]\n" #~ " or: %s [ -c ] [-u ÚSÁIDEOIR] [-r RÓL] [-t CINEÁL] [-l RAON] ORDÚ " #~ "[argóintí]\n" #~ msgid "" #~ "Run a program in a different security context.\n" #~ "With neither CONTEXT nor COMMAND, print the current security context.\n" #~ "\n" #~ " CONTEXT Complete security context\n" #~ " -c, --compute compute process transition context before modifying\n" #~ " -t, --type=TYPE type (for same role as parent)\n" #~ " -u, --user=USER user identity\n" #~ " -r, --role=ROLE role\n" #~ " -l, --range=RANGE levelrange\n" #~ "\n" #~ msgstr "" #~ "Rith ríomhchlár le comhthéacs difriúil slándála.\n" #~ "Mura dtugtar COMHTHÉACS ná ORDÚ, taispeáin an comhthéacs slándála " #~ "reatha.\n" #~ "\n" #~ " COMHTHÉACS Comhthéacs iomlán slándála\n" #~ " -c, --compute ríomh comhthéacs trasdulta próisis sula n-athraítear " #~ "é\n" #~ " -t, --type=CINEÁL cineál (ról céanna agus an máthairphróiseas)\n" #~ " -u, --user=ÚSÁIDEOIR aitheantas úsáideora\n" #~ " -r, --role=RÓL ról\n" #~ " -l, --range=RAON raon leibhéal\n" #~ "\n" #~ msgid "multiple roles" #~ msgstr "il-rólanna" #~ msgid "multiple types" #~ msgstr "ilchineálacha" #~ msgid "multiple users" #~ msgstr "ilúsáideoirí" #~ msgid "multiple levelranges" #~ msgstr "ilraonta leibhéil" #~ msgid "failed to get current context" #~ msgstr "níorbh fhéidir an comhthéacs reatha a fháil" #~ msgid "you must specify -c, -t, -u, -l, -r, or context" #~ msgstr "caithfidh tú -c, -t, -u, -l, -r, nó comhthéacs a shonrú" #~ msgid "no command specified" #~ msgstr "níor sonraíodh ordú ar bith" #~ msgid "runcon may be used only on a SELinux kernel" #~ msgstr "is féidir runcon a úsáid le heithne SELinux amháin." #~ msgid "failed to compute a new context" #~ msgstr "theip ar chomhthéacs nua a chruthú" #~ msgid "failed to set new user %s" #~ msgstr "níorbh fhéidir úsáideoir nua %s a shocrú" #~ msgid "failed to set new type %s" #~ msgstr "theip ar chineál nua %s a shocrú" #~ msgid "failed to set new range %s" #~ msgstr "theip ar raon nua %s a shocrú" #~ msgid "failed to set new role %s" #~ msgstr "theip ar ról nua %s a shocrú" #~ msgid "unable to set security context %s" #~ msgstr "ní féidir comhthéacs slándála %s a shocrú" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... DEIREADH\n" #~ " nó: %s [ROGHA]... AONÚ DEIREADH\n" #~ " nó: %s [ROGHA]... AONÚ INCRIMINT DEIREADH\n" #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Taispeáin uimhreacha ón AONÚ go dtí an DEIREADH, i gcéimeanna INCRIMINT.\n" #~ "\n" #~ " -f, --format=FORMÁID FORMÁID shnámhphointe cosúil le printf\n" #~ " -s, --separator=TEAGHRÁN dealaigh uimhreacha le TEAGHRÁN (réamhshocrú: " #~ "\\n)\n" #~ " -w, --equal-width cothromaigh leithead le nialais tosaigh\n" #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Mura bhfuil AONÚ nó INCRIMINT tugtha, tá siad réamhshocraithe go 1. Is " #~ "ionann\n" #~ "sin agus a rá go réamhshocraítear INCRIMINT go 1, fiú amháin má tá " #~ "DEIREADH\n" #~ "níos lú ná AONÚ. Caitear le AONÚ, INCRIMINT, agus DEIREADH mar " #~ "luachanna\n" #~ "snámhphointe. Tá INCRIMINT deimhneach de ghnáth má tá AONÚ níos lú ná\n" #~ "DEIREADH, agus tá INCRIMINT diúltach de ghnáth má tá AONÚ níos mó ná " #~ "DEIREADH.\n" #~ msgid "" #~ "FORMAT must be suitable for printing one argument of type `double';\n" #~ "it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point\n" #~ "decimal numbers with maximum precision PREC, and to %g otherwise.\n" #~ msgstr "" #~ "Ní mór do FORMÁID a bheith oiriúnach chun argóint amháin den chineál " #~ "`double'\n" #~ "a phriontáil; is é %.BCHTf an luach réamhshocraithe más uimhreacha\n" #~ "deachúlacha pointe fosaithe iad AONÚ, INCRIMINT, agus DEIREADH le\n" #~ "huasbheachtas BCHT, agus is é %g i ngach cás eile.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "argóint neamhbhailí shnámhphointe: %s" #~ msgid "no %% directive in format string %s" #~ msgstr "gan treoir %% i dteaghrán formáide %s" #~ msgid "too many %% directives in format string %s" #~ msgstr "an iomarca treoracha %% i dteaghrán formáide %s" #~ msgid "invalid format string: %s" #~ msgstr "teaghrán neamhbhailí formáide: %s" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "ní cheadaítear teaghrán formáide agus teaghráin ar comhfhad á dtaispeáint" #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s ROGHA ÚSÁIDEOIR ORDÚ [ARGÓINT]...\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "Drop any supplemental groups, assume the user-ID and group-ID of the " #~ "specified\n" #~ "USER (numeric ID or user name), and run COMMAND with any specified " #~ "ARGUMENTs.\n" #~ "Exit with status 111 if unable to assume the required user and group ID.\n" #~ "Otherwise, exit with the exit status of COMMAND.\n" #~ "This program is useful only when run by root (user ID zero).\n" #~ "\n" #~ msgstr "" #~ "Tréig aon ghrúpaí forlíontacha, glac le haitheantas úsáideora/grúpa\n" #~ "an ÚSÁIDEORA sonraithe (aitheantas uimhriúil nó ainm an úsáideora), agus\n" #~ "rith ORDÚ le ARGÓINTí, má tá ann. Scoir le stádas 111 mura bhfuiltear\n" #~ "in ann na haitheantais úsáideora/grúpa a ghlacadh.\n" #~ "I ngach cás eile, scoir le stádas scortha an ORDÚ.\n" #~ "Ní úsáideach an clár seo mura bhfuil sé rite ag an bhforúsáideoir " #~ "(UID=0).\n" #~ "\n" #~ msgid "" #~ " -g GID[,GID1...] also set the primary group-ID to the numeric GID, " #~ "and\n" #~ " (if specified) supplemental group IDs to GID1, ...\n" #~ msgstr "" #~ " -g GID[,GID1...] socraigh aitheantas an phríomhghrúpa go dtí an GID " #~ "uimhriúil,\n" #~ " agus (má thugtar iad) na haitheantais forlíontacha go " #~ "GID1,...\n" #~ msgid "unknown user-ID: %s" #~ msgstr "Aitheantas úsáideora anaithnid: %s" #~ msgid "to use user-ID %s you need to use -g too" #~ msgstr "" #~ "chun aitheantas úsáideora %s a úsáid, ní mór duit -g a úsáid freisin" #~ msgid "failed to set supplemental group(s)" #~ msgstr "níorbh fhéidir an grúpa (nó na grúpaí) forlíontach a shocrú" #~ msgid "cannot set group-ID to %lu" #~ msgstr "ní féidir aitheantas grúpa a shocrú mar %lu" #~ msgid "cannot set user-ID to %lu" #~ msgstr "ní féidir aitheantas úsáideora a shocrú mar %lu" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Úsáid: %s [ROGHANNA] COMHAD [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Forscríobh an COMHA(I)D arís agus arís eile chun go bhfuil sé níos\n" #~ "deacra na sonraí a fháil ar ais, fiú le crua-earraí an-chostasacha.\n" #~ "\n" #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force más gá, athraigh ceadanna chun scríobh a cheadú\n" #~ " -n, --iterations=N Forscríobh N uaire in ionad an réamhshocraithe (%" #~ "d)\n" #~ " --random-source=COMHAD faigh bearta randamacha as COMHAD " #~ "(réamhshocrú: /dev/urandom)\n" #~ " -s, --size=N léirscrios N beart (glactar le hiarmhíreanna mar K, M, " #~ "G)\n" #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove teasc agus scrios comhad i ndiaidh forscríobh\n" #~ " -v, --verbose taispeáin eolas faoin dul chun cinn\n" #~ " -x, --exact ná slánaigh méideanna comhaid suas;\n" #~ " is réamhshocraithe é seo le haghaidh comhad " #~ "neamhghnách\n" #~ " -z, --zero forscríobh deireanach le nialais, folaigh an léirscrios\n" #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Más '-' é COMHAD, léirscrios an gnáth-aschur.\n" #~ "\n" #~ "Scrios COMHA(I)D má tá --remove (-u) ceaptha. De réir an réamhshocraithe, " #~ "ná\n" #~ "scrios na comhaid de bhrí go mbaintear le comhaid ghléis mar /dev/hda\n" #~ "go coitianta, agus ní ceart na comhaid seo a scriosadh. Baintear úsáid " #~ "as\n" #~ "an rogha --remove go hiondúil le gnáthchomhaid.\n" #~ "\n" #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "FAINIC: Braitheann `shred' ar ghlacadh tromchúiseach:\n" #~ "go ndéanann an córas comhaid forscríobh ar shonraí ina n-ionad.\n" #~ "Is é sin an sean-nós, ach níl an glacadh seo bailí ar mhórán córais\n" #~ "nua-aimseartha. Níl `shred' cumasach, nó níl ráthaíocht ar bith go " #~ "mbeidh\n" #~ "sé cumasach i ngach mód ar na córais a leanas:\n" #~ "\n" #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* córais chomhaid atá bunaithe ar log nó dialann, mar shampla le\n" #~ " AIX agus Solaris (agus JFS, ReiserFS, XFS, Ext3, srl.)\n" #~ "\n" #~ "* córais chomhaid a scríobh sonraí iomarcacha agus a leanann fiú má " #~ "theipeann\n" #~ " cuid den scríobh, mar shampla chórais bunaithe ar RAID\n" #~ "\n" #~ "* córais a dhéanann `grianghraif', mar shampla an freastalaí NFS atá ag " #~ "Network Appliances\n" #~ "\n" #~ msgid "" #~ "* file systems that cache in temporary locations, such as NFS\n" #~ "version 3 clients\n" #~ "\n" #~ "* compressed file systems\n" #~ "\n" #~ msgstr "" #~ "* córais chomhad a chuireann sonraí i dtaisce i suímh shealadacha,\n" #~ "mar shampla cliaint NFS leagan 3\n" #~ "\n" #~ "* córais chomhad comhbhrúite\n" #~ "\n" #~ msgid "" #~ "In the case of ext3 file systems, the above disclaimer applies\n" #~ "(and shred is thus of limited effectiveness) only in data=journal mode,\n" #~ "which journals file data in addition to just metadata. In both the\n" #~ "data=ordered (default) and data=writeback modes, shred works as usual.\n" #~ "Ext3 journaling modes can be changed by adding the data=something option\n" #~ "to the mount options for a particular file system in the /etc/fstab " #~ "file,\n" #~ "as documented in the mount man page (man mount).\n" #~ "\n" #~ msgstr "" #~ "Má tá córas comhad ext3 agat, tá an séanadh thuasluaite i bhfeidhm\n" #~ "(.i. is neamhéifeachtach é `shred') sa mhód data=journal amháin - \n" #~ "seo é an mód a scríobhann sonraí comhaid mar aon le meiteashonraí.\n" #~ "Sna móid data=ordered (réamhshocrú) agus data=writeback, oibríonn " #~ "`shred'\n" #~ "mar is gnách. Is féidir na móid iriseáin Ext3 a athrú trí chur na rogha\n" #~ "data=something leis na roghanna feistithe sa chomhad /etc/fstab do\n" #~ "chórais chomhad áirithe, mar a thuairiscítear sa leathanach lámhleabhair\n" #~ "mount (`man mount').\n" #~ "\n" #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "Is féidir freisin go bhfuil cóipeanna den chomhad i gcúltacaí an chórais\n" #~ "comhad nó ar shuímh scáthánaithe, agus ní féidir na cóipeanna seo a " #~ "bhaint.\n" #~ "Dá bharr seo, b'fhéidir comhad léirscriosta a fháil ar ais amach anseo.\n" #~ msgid "%s: fdatasync failed" #~ msgstr "%s: theip ar fdatasync" #~ msgid "%s: fsync failed" #~ msgstr "%s: theip ar fsync" #~ msgid "%s: cannot rewind" #~ msgstr "%s: ní féidir atochras" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: timthriall %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: earráid le linn scríobh ag fritháireamh %s" #~ msgid "%s: lseek failed" #~ msgstr "%s: theip ar lseek" #~ msgid "%s: file too large" #~ msgstr "%s: tá an comhad rómhór" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: timthriall %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: timthriall %lu/%lu (%s)...%s/%s %d%%" #~ msgid "%s: fstat failed" #~ msgstr "%s: theip ar fstat" # in FARF -KPS #~ msgid "%s: invalid file type" #~ msgstr "%s: cineál comhaid neamhbhailí" #~ msgid "%s: file has negative size" #~ msgstr "%s: comhad de mhéid diúltach" #~ msgid "%s: error truncating" #~ msgstr "%s: earráid le linn teasctha" #~ msgid "%s: fcntl failed" #~ msgstr "%s: theip ar fcntl" # file descriptor in FARF -KPS #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: ní féidir tuarascálaí comhaid sínte amháin a léirscriosadh" #~ msgid "%s: removing" #~ msgstr "%s: á scriosadh" #~ msgid "%s: renamed to %s" #~ msgstr "%s: ainm nua %s" #~ msgid "%s: failed to remove" #~ msgstr "%s: theip ar bhaint" #~ msgid "%s: removed" #~ msgstr "%s: scriosta" #~ msgid "%s: failed to close" #~ msgstr "%s: theip ar dhúnadh" #~ msgid "%s: failed to open for writing" #~ msgstr "%s: theip ar oscailt chun é a scríobh" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: líon na dtimthriallta neamhbhailí" #~ msgid "multiple random sources specified" #~ msgstr "sonraíodh foinsí iomadúla randamacha" #~ msgid "%s: invalid file size" #~ msgstr "%s: méid comhaid neamhbhailí" #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... [COMHAD]\n" #~ " nó: %s -e [ROGHA]... [ARG]...\n" #~ " nó: %s -i ÍSEAL-ARD [ROGHA]...\n" #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Scríobh iomalartú randamach de na línte ionchurtha go dtí an gnáth-" #~ "aschur.\n" #~ "\n" #~ msgid "" #~ " -e, --echo treat each ARG as an input line\n" #~ " -i, --input-range=LO-HI treat each number LO through HI as an input " #~ "line\n" #~ " -n, --head-lines=LINES output at most LINES lines\n" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -e, --echo caith le gach ARG mar líne ionchurtha\n" #~ " -i, --input-range=LO-HI caith le huimhreacha idir LO agus HI mar " #~ "línte ionchurtha\n" #~ " -n, --head-lines=UIMHIR aschuir UIMHIR líne ar a mhéad\n" #~ " -o, --output=COMHAD scríobh torthaí i gCOMHAD in ionad an ghnáth-" #~ "aschuir\n" #~ " --random-source=COMHAD faigh bearta randamacha as COMHAD\n" #~ " (réamhshocrú /dev/urandom)\n" #~ " -z, --zero-terminated cuir beart nialasach ag deireadh na línte,\n" #~ " in ionad líne nua\n" #~ msgid "multiple -i options specified" #~ msgstr "sonraíodh roghanna -i iomadúla" #~ msgid "invalid input range %s" #~ msgstr "raon neamhbhailí ionchurtha: %s" #~ msgid "invalid line count %s" #~ msgstr "líon neamhbhailí línte %s" #~ msgid "multiple output files specified" #~ msgstr "aschomhaid iomadúla" #~ msgid "extra operand %s\n" #~ msgstr "oibreann breise %s\n" #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s UIMHIR[IARMHÍR]...\n" #~ " nó: %s ROGHA\n" #~ "Déan moill de UIMHIR soicind. Is féidir `s' a úsáid mar IARMHÍR\n" #~ "(soicindí - an réamhshocrú), `m'=nóiméid, `h'=uaire, agus `d'=laethanta.\n" #~ "Cé go dteastaíonn an chuid is mó de chórais UIMHIR a bheith ina " #~ "slánuimhir,\n" #~ "is féidir aon uimhir shnámhphointe a úsáid anseo le haghaidh UIMHIR.\n" #~ "Má tá níos mó ná argóint amháin ann, suimigh na hargóintí agus déan " #~ "moill\n" #~ "den luach iomlán.\n" #~ "\n" #~ msgid "invalid time interval %s" #~ msgstr "tréimhse neamhbhailí %s" #~ msgid "cannot read realtime clock" #~ msgstr "ní féidir an clog fhíor-ama a léamh" #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Scríobh gach COMHAD, comhchaitéinithe agus sórtáilte, go dtí an gnáth-" #~ "aschur.\n" #~ "\n" #~ msgid "" #~ "Ordering options:\n" #~ "\n" #~ msgstr "" #~ "Roghanna sórtála:\n" #~ "\n" #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks déan neamhshuim ar spásanna tosaigh\n" #~ " -d, --dictionary-order ná húsáid ach spásanna agus carachtair alfa-" #~ "uimhriúla\n" #~ " -f, --ignore-case sórtáil an cás íochtair leis an gcás " #~ "uachtair\n" #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort sórtáil de réir luach uimhriúil ginearálta\n" #~ " -i, --ignore-nonprinting ná húsáid ach carachtair ghrafacha\n" #~ " -M, --month-sort sórtáil (anaithnid) < `EAN' < ... < `NOL'\n" #~ " -n, --numeric-sort sórtáil de réir luach uimhriúil na " #~ "dteaghrán\n" #~ " -R, --random-sort sórtáil de réir hais randamach de na " #~ "heochracha\n" #~ " --random-source=COMHAD faigh bearta randamacha as COMHAD " #~ "(réamhshocrú:\n" #~ " /dev/urandom)\n" #~ " --sort=FOCAL sórtáil de réir FOCAL:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse sórtáil bun os cionn\n" #~ msgid "" #~ "Other options:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first check for sorted input; do not " #~ "sort\n" #~ " -C, --check=quiet, --check=silent like -c, but do not report first bad " #~ "line\n" #~ " --compress-program=PROG compress temporaries with PROG;\n" #~ " decompress them with PROG -d\n" #~ " -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin " #~ "1)\n" #~ " -m, --merge merge already sorted files; do not sort\n" #~ msgstr "" #~ "Roghanna eile:\n" #~ "\n" #~ " -c, --check, --check=diagnose-first ná sórtáil; deimhnigh an bhfuil an\n" #~ " an t-ionchur sórtáilte\n" #~ " -C, --check=quiet, --check=silent cosúil le -c, ach ná déan tuairisc " #~ "ar\n" #~ " an chéad drochlíne\n" #~ " -k, --key=ÁIT1[,ÁIT2] tosaigh eochair ag ÁIT1, deireadh ag ÁIT2 " #~ "(tús=1)\n" #~ " -m, --merge cumaisc comhaid atá sórtáilte cheana; ná " #~ "sórtáil\n" #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ " -o, --output=COMHAD scríobh na torthaí i gCOMHAD in ionad an " #~ "ghnáth-aschuir\n" #~ " -s, --stable caighdeánaigh an t-ord trí dhíchumasú na\n" #~ " sórtála den rogha dheireanach\n" #~ " -S, --buffer-size=MÉID maolán príomhchuimhne = MÉID\n" #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=CAR úsáid CAR in ionad athrú ó neamh- go spás " #~ "bán\n" #~ " -T, --temporary-directory=COMHADLANN cuir comhaid shealadacha i " #~ "gCOMHADLANN\n" #~ " in ionad $TMPDIR nó %s; comharthaíonn gach " #~ "rogha\n" #~ " comhadlann ar leith\n" #~ " -u, --unique le -c, deimhnigh sórtáil gan dúblaigh;\n" #~ " gan -c, ná taispeáin ach línte uathúla\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated úsáid NUL foirceanta in ionad líne nua\n" #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "ÁIT = R[.C][ROGHANNA], le R = uimhir an réimse agus C = ionad an " #~ "charachtair\n" #~ "sa réimse; áirigh ó 1 i ngach cás. Mura bhfuil rogha -t ná rogha -b i " #~ "bhfeidhm,\n" #~ "uimhrigh na carachtair i réimse ó thús an spáis báin roimhe. Is éard atá " #~ "i\n" #~ "ROGHANNA ná liosta de roghanna sórtála, gach ceann ina charachtar singil, " #~ "a\n" #~ "sháraíonn roghanna comhchoiteanna sórtála don eochair sin. Gan eochair, " #~ "úsáid\n" #~ "an líne iomlán mar an eochair.\n" #~ "\n" #~ "Is féidir na hiarmhíreanna seo a leanas a chur i ndiaidh MÉID:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "% 1% den chuimhne, b 1, K 1024 (réamhshocrú), srl. le M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ "\n" #~ "*** RABHADH ***\n" #~ "Athraíonn an logchaighdeán na torthaí a ghineann `sort'.\n" #~ "Cuir LC_ALL=C chun sórtáil de réir an oird traidisiúnta\n" #~ "(.i. de réir luachanna dúchasacha de na bearta.\n" #~ msgid "waiting for %s [-d]" #~ msgstr "ag feitheamh le %s [-d]" #~ msgid "%s [-d] terminated abnormally" #~ msgstr "Chríochnaigh %s [-d] gan an chúis a mhíniú" #~ msgid "cannot create temporary file" #~ msgstr "ní féidir comhad sealadach a chruthú" #~ msgid "open failed" #~ msgstr "theip ar oscailt" #~ msgid "fflush failed" #~ msgstr "theip ar fflush" #~ msgid "close failed" #~ msgstr "theip ar dhúnadh" #~ msgid "dup2 failed" #~ msgstr "theip ar dup2" #~ msgid "couldn't execute %s" #~ msgstr "níorbh fhéidir %s a rith" #~ msgid "couldn't create temporary file" #~ msgstr "níorbh fhéidir comhad sealadach a chruthú" #~ msgid "couldn't open temporary file" #~ msgstr "níorbh fhéidir comhad sealadach a oscailt" #~ msgid "couldn't execute %s -d" #~ msgstr "níorbh fhéidir %s -d a rith" #~ msgid "write failed" #~ msgstr "theip ar scríobh" #~ msgid "warning: cannot remove: %s" #~ msgstr "rabhadh: ní féidir %s a scriosadh" #~ msgid "stat failed" #~ msgstr "stat() teipthe" #~ msgid "read failed" #~ msgstr "theip ar léamh" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: mí-eagar: " #~ msgid "standard error" #~ msgstr "gnáth-aschur earráide" #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: sonraíocht neamhbhailí réimse %s" #~ msgid "options `-%s' are incompatible" #~ msgstr "níl na roghanna `-%s' comhoiriúnach" #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: áireamh neamhbhailí ag tús %s" #~ msgid "invalid number after `-'" #~ msgstr "uimhir neamhbhailí i ndiaidh `-'" #~ msgid "invalid number after `.'" #~ msgstr "uimhir neamhbhailí i ndiaidh `.'" #~ msgid "stray character in field spec" #~ msgstr "carachtar ar seachrán i sonrú réimse" #~ msgid "multiple compress programs specified" #~ msgstr "sonraíodh cláir iomadúla chomhbhrúite" #~ msgid "invalid number at field start" #~ msgstr "uimhir neamhbhailí ag tús réimse" #~ msgid "field number is zero" #~ msgstr "is nialas an uimhir réimse" #~ msgid "character offset is zero" #~ msgstr "is nialas an fritháireamh carachtair" #~ msgid "invalid number after `,'" #~ msgstr "uimhir neamhbhailí i ndiaidh `,'" #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "ní cheadaítear oibreann breise %s le -%c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Úsáid: %s [ROGHA] [IONCHUR [RÉIMÍR]]\n" #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Scríobh píosaí de mhéid sheasta ó IONCHUR chuig RÉIMÍRaa, RÉIMÍRab, ...;\n" #~ "Méid réamhshocraithe = 1000 líne, agus an RÉIMÍR réamhshocraithe = `x'.\n" #~ "Mura bhfuil IONCHUR ann, nó más `-' é, léigh ón ghnáth-ionchur.\n" #~ "\n" #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N fad na hiarmhíreanna = N (réamhshocrú %d)\n" #~ " -b, --bytes=MÉID cuir MÉID beart do gach aschomhad\n" #~ " -C, --line-bytes=MÉID cuir MÉID beart línte ar a mhéad do gach " #~ "aschomhad\n" #~ " -d, --numeric-suffixes úsáid iarmhíreanna uimhriúla in ionad " #~ "aibítreacha\n" #~ " -l, --lines=UIMHIR cuir UIMHIR líne do gach aschomhad\n" #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose taispeáin diagnóisic go díreach roimh atá\n" #~ " gach aschomhad oscailte\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "Is féidir na hiarmhíreanna seo a leanas a chur i ndiaidh MÉID:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" #~ msgid "creating file %s\n" #~ msgstr "comhad %s á chruthú\n" #~ msgid "cannot split in more than one way" #~ msgstr "ní féidir scoilt a dhéanamh de réir níos mó ná dóigh amháin" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: fad iarmhíre neamhbhailí" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: líon neamhbhailí na mbeart" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: líon na línte neamhbhailí" #~ msgid "line count option -%s%c... is too large" #~ msgstr "is rómhór an rogha -%s%c... don áireamh línte" #~ msgid "invalid number of lines: 0" #~ msgstr "líon na línte neamhbhailí: 0" #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "rabhadh: éalúchán anaithnid `\\%c'" #~ msgid "%s: invalid directive" #~ msgstr "%s: treoir neamhbhailí" #~ msgid "warning: backslash at end of format" #~ msgstr "rabhadh: cúlslais ag deireadh na formáide" #~ msgid "cannot read file system information for %s" #~ msgstr "ní féidir an t-eolas faoin chóras comhaid a léamh do %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Úsáid: %s [ROGHA] COMHAD...\n" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -L, --dereference follow links\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ msgstr "" #~ "Taispeáin stádas de chomhad nó de chóras comhaid.\n" #~ "\n" #~ " -L, --dereference lean naisc\n" #~ " -f, --file-system taispeáin stádas de chóras in ionad comhaid\n" #~ msgid "" #~ " -c --format=FORMAT use the specified FORMAT instead of the default;\n" #~ " output a newline after each use of FORMAT\n" #~ " --printf=FORMAT like --format, but interpret backslash escapes,\n" #~ " and do not output a mandatory trailing " #~ "newline.\n" #~ " If you want a newline, include \\n in FORMAT.\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ " -c --format=FORMÁID úsáid FORMÁID in ionad an réamhshocraithe;\n" #~ " scríobh líne nua tar éis gach úsáid de FORMÁID\n" #~ " --printf=FORMÁID cosúil le --format, ach léirmhínigh éalúcháin le\n" #~ " cúlslaiseanna, agus ná scríobh an líne nua.\n" #~ " Má tá línte nua uait, cuir \\n i bhFORMÁID.\n" #~ " -t, --terse taispeáin an t-eolas i bhfoirm ghonta\n" #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "Seichimh bhailí fhormáide le haghaidh comhad (gan --file-system):\n" #~ "\n" #~ " %a cearta rochtana, ochtnártha\n" #~ " %A cearta rochtana i bhformáid inléite\n" #~ " %b líon na mbloc dáilte (féach ar %B)\n" #~ " %B an mhéid, i mbearta, de gach bloc tugtha ag %b\n" #~ " %C comhthéacs slándála SELinux\n" #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %d Uimhir ghléis, deachúil\n" #~ " %D Uimhir ghléis, heicsidheachúlach\n" #~ " %f mód amh, heicsidheachúlach\n" #~ " %F Cineál comhaid\n" #~ " %g Aitheantas ghrúpa den úinéir\n" #~ " %G Ainm grúpa den úinéir\n" #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h Líon na nasc crua\n" #~ " %i Uimhir inode\n" #~ " %n Ainm comhaid\n" #~ " %N Ainm comhaid in athfhriotal, dí-thagartha más nasc siombalach é\n" #~ " %o Méid bhloic I/A\n" #~ " %s Méid iomlán, bearta\n" #~ " %t Cineál gléis príomha, heicsidheachúlach\n" #~ " %T Cineál gléis mion, heicsidheachúlach\n" #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %u Aitheantas an úinéara\n" #~ " %U Ainm an úinéara\n" #~ " %x Am den rochtain is déanaí\n" #~ " %X Am den rochtain is déanaí, soicindí ón tSainré\n" #~ " %y Am den mhionathrú is déanaí\n" #~ " %Y Am den mhionathrú is déanaí, soicindí ón tSainré\n" #~ " %z Am den athrú is déanaí\n" #~ " %Z Am den athrú is déanaí, soicindí ón tSainré\n" #~ "\n" #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Seichimh bhailí formáide le haghaidh córas comhaid:\n" #~ "\n" #~ " %a Bloic ar fáil do ghnáthúsáideoir\n" #~ " %b Bloic sa chóras comhaid, go hiomlán\n" #~ " %c Nóid sa chóras comhaid, go hiomlán\n" #~ " %d Nóid atá saor sa chóras comhaid\n" #~ " %f Bloic ar fáil sa chóras comhaid\n" #~ " %C Comhthéacs slándála SELinux\n" #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i Aitheantas an chórais comhad, heicsidheachúlach\n" #~ " %l Uasfhad d'ainmneacha comhaid\n" #~ " %n Ainm comhaid\n" #~ " %s Méid bloic (le haghaidh aistrithe níos tapa)\n" #~ " %S Bunmhéid bloc (le haghaidh áirithe na mbloc)\n" #~ " %t Cineál, heicsidheachúlach\n" #~ " %T Cineál i bhformáid inléite\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Úsáid: %s [-F GLÉAS] [--file=GLÉAS] [LUACH]...\n" #~ " nó: %s [-F GLÉAS] [--file=GLÉAS] [-a|--all]\n" #~ " nó: %s [-F GLÉAS] [--file=GLÉAS] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Taispeáin nó athraigh na hairíonna den teirminéal.\n" #~ "\n" #~ " -a, --all taispeáin na hairíonna go léir i gcruth inléite\n" #~ " -g, --save taispeáin na hairíonna go léir i gcruth stty-" #~ "inléite\n" #~ " -F, --file=GLÉAS oscail úsáid GLÉAS in ionad an ghnáth-ionchuir\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Cuir `-' roghnach roimh LUACH chun diúltú a dhéanamh. Comharthaítear\n" #~ "roghanna neamh-POSIX le `*'. Socraíonn an córas féin na roghanna atá ar " #~ "fáil.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Carachtair speisialta:\n" #~ " * dsusp CAR Seolfaidh CAR comhartha chun an teirminéal a stopadh\n" #~ " nuair a bheidh an t-ionchur sruthlaithe\n" #~ " eof CAR Seolfaidh CAR comhadchríoch (críochnaigh ionchur)\n" #~ " eol CAR Críochnóidh CAR an líne\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 CAR CAR eile chun an líne a chríochnú\n" #~ " erase CAR léirscriosfaidh CAR an carachtar is déanaí\n" #~ " intr CAR seolfaidh CAR comhartha idirbhriste\n" #~ " kill CAR léirscriosfaidh CAR an líne reatha\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext CAR iontrálfaidh CAR an chéad charachtar luaite eile\n" #~ " quit CAR seolfaidh CAR comhartha scortha\n" #~ " * rprnt CAR priontálfaidh CAR an líne reatha arís\n" #~ " start CAR atosóidh CAR an t-aschur i ndiaidh á stopadh\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop CAR stopfaidh CAR an t-aschur\n" #~ " susp CAR seolfaidh CAR comhartha chun an teirminéal a stopadh\n" #~ " * swtch CAR athróidh CAR chuig sraith bhlaoisce eile\n" #~ " * werase CAR léirscriosfaidh CAR an focal is déanaí\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Roghanna speisialta:\n" #~ " N socraigh an luas ionchurtha/aschurtha a bheith N bád\n" #~ " * cols N cuir in iúl go bhfuil N colún ag an teirminéal\n" #~ " * columns N ar comhbhrí le `cols N'\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N socraigh an luas ionchurtha a bheith N bád\n" #~ " * line N socraigh disciplín líne N\n" #~ " min N le -icanon, N=íosmhéid de charachtair in aon léamh\n" #~ " ospeed N socraigh an luas aschurtha a bheith N bád\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N cuir in iúl go bhfuil N líne ag an teirminéal\n" #~ " * size taispeáin líon na línte agus na gcolún de réir na " #~ "heithne\n" #~ " speed taispeáin luas an teirminéil\n" #~ " time N le -icanon, socraigh seal fanachta, N deachú soicind\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Roghanna rialaithe:\n" #~ " [-]clocal stop comharthaí a rialaíonn an móideim\n" #~ " [-]cread cumasaigh ionchur\n" #~ " * [-]crtscts cuir croitheadh láimhe RTS/CTS ar siúl\n" #~ " csN socraigh an mhéid carachtair, N giotán, N=5,6,7, nó 8\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb dhá ghiotán stoptha an charachtair (1 le `-')\n" #~ " [-]hup seol comhartha HUP nuair a dhúnann an tty\n" #~ " [-]hupcl ar comhbhrí le [-]hup\n" #~ " [-]parenb gin giotán paireachta san aschur agus iarr é san " #~ "ionchur\n" #~ " [-]parodd socraigh paireacht chorr (cothrom le `-')\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Roghanna ionchurtha:\n" #~ " [-]brkint seol comhartha idirbhriste i ndiaidh briseadh\n" #~ " [-]icrnl tiontaigh aisfhilleadh go líne nua\n" #~ " [-]ignbrk déan neamhshuim ar charachtair bhriste\n" #~ " [-]igncr déan neamhshuim ar aisfhilleadh\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar déan neamhshuim ar charachtair le hearráidí phaireachta\n" #~ " * [-]imaxbel bíp agus ná sruthlaigh maolán lán ionchurtha\n" #~ " [-]inlcr tiontaigh líne nua go haisfhilleadh\n" #~ " [-]inpck cuir seiceáil phaireachta den ionchur ar siúl\n" #~ " [-]istrip glan an t-ochtú giotán de gach carachtar ionchurtha\n" #~ msgid " * [-]iutf8 assume input characters are UTF-8 encoded\n" #~ msgstr " * [-]iutf8 glac le carachtair san ionchódú UTF-8\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc tiontaigh an cás uachtair go dtí an cás íochtair\n" #~ " * [-]ixany ceadaigh atosú le haon charachtar\n" #~ " [-]ixoff cumasaigh seoladh de charachtair thosaigh/stoptha\n" #~ " [-]ixon cumasaigh rialú sreafa XON/XOFF\n" #~ " [-]parmrk comharthaigh earráidí phaireachta (le cód 255-0-" #~ "carachtar)\n" #~ " [-]tandem ar comhbhrí le [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Roghanna aschuir:\n" #~ " * bsN mód moille do chúlspásanna, N=0 nó 1\n" #~ " * crN mód moille d'aisfhilleadh, N=0,1,2, nó 3\n" #~ " * ffN mód moille d'fhoirmfhotha, N=0 nó 1\n" #~ " * nlN mód moille do línte nua, N=0 nó 1\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ " * [-]ocrnl tiontaigh aisfhilleadh go líne nua\n" #~ " * [-]ofdel stuáil le scrioscharachtair in ionad carachtair " #~ "nialasacha\n" #~ " * [-]ofill stuáil le carachtair in ionad am-áireamh i gcás moille\n" #~ " * [-]olcuc tiontaigh an cás íochtair go dtí an cás uachtair\n" #~ " * [-]onlcr tiontaigh líne nua go haisfhilleadh+líne nua\n" #~ " * [-]onlret déan líne nua aisfhilleadh\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ " * [-]onocr ná taispeáin aisfhilleadh sa chéad cholún\n" #~ " [-]opost iarphróiseáil an t-aschur\n" #~ " * tabN mód moille do tháib chothrománacha, N=0,1,2, nó 3\n" #~ " * tabs ar comhbhrí le tab0\n" #~ " * -tabs ar comhbhrí le tab3\n" #~ " * vtN mód moille do tháib ingearacha, N=0 nó 1\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Roghanna logánta:\n" #~ " [-]crterase déan macalla de charachtair léirscriosta mar\n" #~ " cúlspás+spás+cúlspás\n" #~ " * crtkill scrios gach líne trí ghéilleadh do na roghanna echoprt/" #~ "echoe\n" #~ " * -crtkill scrios gach líne trí ghéilleadh do na roghanna echoctl/" #~ "echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho déan macalla de charachtair rialúcháin mar `^c', srl.\n" #~ " [-]echo déan macalla de gach carachtar ionchurtha\n" #~ " * [-]echoctl ar comhbhrí le [-]ctlecho\n" #~ " [-]echoe ar comhbhrí le [-]crterase\n" #~ " [-]echok déan macalla de líne nua i ndiaidh carachtair maraithe\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke ar comhbhrí le [-]crtkill\n" #~ " [-]echonl déan macalla de líne nua, fiú mura carachtair eile\n" #~ " * [-]echoprt déan macalla de charachtair léirscriosta ar gcúl,\n" #~ " idir `\\' agus `/'\n" #~ " [-]icanon cumasaigh carachtair speisialta erase,kill,werase,agus " #~ "rprnt\n" #~ " [-]iexten cumasaigh carachtair speisialta neamh-POSIX\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig cumasaigh interrupt, quit, agus cuir carachtair\n" #~ " speisialta ar fionraí\n" #~ " [-]noflsh stop sruthlú i ndiaidh carachtair speisialta interrupt/" #~ "quit\n" #~ " * [-]prterase ar comhbhrí le [-]echoprt\n" #~ " * [-]tostop stop tascanna sa chúlra atá scríobh chuig an teirminéal\n" #~ " * [-]xcase le icanon, éalúchán le `\\' do charachtair sa chás " #~ "uachtair\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Roghanna measctha:\n" #~ " * [-]LCASE ar comhbhrí le [-]lcase\n" #~ " cbreak ar comhbhrí le -icanon\n" #~ " -cbreak ar comhbhrí le icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked ar comhbhrí le brkint ignpar istrip icrnl ixon opost " #~ "isig\n" #~ " icanon, eof agus eol ag glacadh a luachanna " #~ "réamhshocraithe\n" #~ " -cooked ar comhbhrí le `raw'\n" #~ " crt ar comhbhrí le echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec ar comhbhrí le echoe echoctl echoke -ixany intr ^c " #~ "erase\n" #~ " 0177 kill ^u\n" #~ " * [-]decctlq ar comhbhrí le [-]ixany\n" #~ " ek glac carachtair scriosta/maraithe a luachanna " #~ "réamhshocraithe\n" #~ " evenp ar comhbhrí le parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp ar comhbhrí le -parenb cs8\n" #~ " * [-]lcase ar comhbhrí le xcase iuclc olcuc\n" #~ " litout ar comhbhrí le -parenb -istrip -opost cs8\n" #~ " -litout ar comhbhrí le parenb istrip opost cs7\n" #~ " nl ar comhbhrí le -icrnl -onlcr\n" #~ " -nl ar comhbhrí le icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp ar comhbhrí le parenb parodd cs7\n" #~ " -oddp ar comhbhrí le -parenb cs8\n" #~ " [-]parity ar comhbhrí le [-]evenp\n" #~ " pass8 ar comhbhrí le -parenb -istrip cs8\n" #~ " -pass8 ar comhbhrí le parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw ar comhbhrí le -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw ar comhbhrí le `cooked'\n" #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane ar comhbhrí le cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl " #~ "onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke,\n" #~ " agus glacann carachtair speisialta a luach " #~ "réamhshocraithe.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Láimhseáil an líne tty atá ceangailte leis an ngnáth-ionchur. Gan\n" #~ "argóintí, taispeáin ráta bád, disciplín líne, agus claonadh ó stty sane.\n" #~ "I roghanna, glactar CAR go litriúil, nó ionchódaithe m.sh. ^c, 0x37, 0177 " #~ "nó\n" #~ "127; úsáid luachanna ^- nó undef chun carachtair speisialta a stopadh.\n" #~ msgid "only one device may be specified" #~ msgstr "ní cheadaítear ach gléas amháin a bheith ceaptha" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "" #~ "is comheisiatach iad na roghanna d'aschur foclach agus\n" #~ "d'aschur stty-inléite" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "ní cheadaítear móid a shocrú agus an fhormáid aschurtha a cheapadh" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: ní féidir mód gan bacainní a athshocrú" #~ msgid "invalid argument %s" #~ msgstr "argóint neamhbhailí %s" #~ msgid "missing argument to %s" #~ msgstr "tá argóint de dhíth i ndiaidh na rogha %s" #~ msgid "invalid line discipline %s" #~ msgstr "disciplín neamhbhailí líne %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: ní féidir gach tasc iarrtha a dhéanamh" # French did this too -KPS #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: mode\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: níl aon eolas ar fáil faoin mhéid den ghléas seo" #~ msgid "invalid integer argument %s" #~ msgstr "argóint neamhbhailí shlánuimhreach %s" #~ msgid "Password:" #~ msgstr "Focal faire:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: ní féidir /dev/tty a oscailt" #~ msgid "cannot set groups" #~ msgstr "ní féidir grúpaí a shocrú" #~ msgid "cannot set group id" #~ msgstr "ní féidir aitheantas an ghrúpa a shocrú" #~ msgid "cannot set user id" #~ msgstr "ní féidir aitheantas an úsáideora a shocrú" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Úsáid: %s [ROGHA]... [-] [ÚSÁIDEOIR [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Athraigh an t-aitheantas úsáideora/grúpa i bhfeidhm go dtí na cinn\n" #~ "atá ag ÚSÁIDEOIR.\n" #~ "\n" #~ " -, -l, --login bain úsáid as blaosc logála isteach\n" #~ " -c, --commmand=ORDÚ seachaid ORDÚ chuig an bhlaosc le -c\n" #~ " -f, --fast seachaid -f chuig an bhlaosc (csh nó " #~ "tcsh)\n" #~ " -m, --preserve-environment ná hathshocraigh athróga thimpeallachta\n" #~ " -p ar comhbhrí le -m\n" #~ " -s, --shell=BLAOSC rith BLAOSC má cheadaíonn /etc/shells é\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "Úsáidtear -l go huathoibríoch nuair a shonraítear `-' lom.\n" #~ "Mura bhfuil ÚSÁIDEOIR ann, glactar le root.\n" #~ msgid "user %s does not exist" #~ msgstr "níl a leithéid d'úsáideoir %s" #~ msgid "incorrect password" #~ msgstr "focal faire mícheart" #~ msgid "using restricted shell %s" #~ msgstr "ag baint úsáid as blaosc shrianta %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "rabhadh: ní féidir an chomhadlann oibre a athrú go %s" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Taispeáin suim sheiceála agus líon na mbloc in aghaidh gach COMHAD.\n" #~ "\n" #~ " -r stop -s, úsáid algartam BSD agus bloic 1K\n" #~ " -s, --sysv úsáid algartam System V agus bloic 512 beart\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Scríobh bloic athraithe chuig an diosca, nuashonraigh an t-osbhloc.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "ag déanamh neamhshuim ar gach argóint" #~ msgid "" #~ "\n" #~ "NOTE: your shell may have its own version of %s, which usually " #~ "supersedes\n" #~ "the version described here. Please refer to your shell's documentation\n" #~ "for details about the options it supports.\n" #~ msgstr "" #~ "\n" #~ "NÓTA: is féidir go bhfuil leagan eile de %s ag do bhlaosc féin, agus\n" #~ "go hiondúil sháródh sé an leagan a ndéantar cur síos air anseo. Féach " #~ "ar\n" #~ "dhoiciméadú do bhlaoisce chun tuilleadh eolais a fháil faoi na roghanna\n" #~ "a dtacaíonn sé leo.\n" #~ msgid " --help display this help and exit\n" #~ msgstr " --help taispeáin an chabhair seo agus scoir\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version taispeáin eolas faoin leagan agus scoir\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Seol tuairiscí fabhtanna chuig <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Scríobh gach COMHAD chuig an ghnáth-aschur, bun os cionn.\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before ceangail an deighilteoir roimh in ionad i " #~ "ndiaidh\n" #~ " -r, --regex caith leis an deighilteoir mar shlonn " #~ "ionadaíochta\n" #~ " -s, --separator=TEAGHRÁN úsáid TEAGHRÁN mar dheighilteoir in ionad líne " #~ "nua\n" #~ msgid "%s: seek failed" #~ msgstr "%s: níorbh fhéidir `seek' a dhéanamh" #~ msgid "record too large" #~ msgstr "tá an taifead rómhór" #~ msgid "cannot create temporary file %s" #~ msgstr "ní féidir comhad sealadach %s a chruthú" #~ msgid "cannot open %s for writing" #~ msgstr "ní féidir %s a oscailt chun scríobh air" #~ msgid "%s: write error" #~ msgstr "%s: earráid sa scríobh" #~ msgid "separator cannot be empty" #~ msgstr "ní cheadaítear deighilteoir folamh" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Scríobh an %d líne ag an deireadh de gach COMHAD chuig an ghnáth-aschur.\n" #~ "Má tá níos mó ná COMHAD amháin ann, cuir ceanntásc lena ainm comhaid " #~ "roimh gach.\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ "\n" #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry lean ar aghaidh déanamh iarracht comhad a " #~ "oscailt\n" #~ " fiú más dorochtana é nuair a thosaíonn `tail' " #~ "nó\n" #~ " má éiríonn sé dorochtana ina dhiaidh sin; " #~ "áisiúil\n" #~ " nuair atá tú ag leanúint de réir an ainm, .i. " #~ "le\n" #~ " --follow=name\n" #~ " -c, --bytes=N taispeáin an N beart deireanach; nó, úsáid +N " #~ "chun\n" #~ " bearta a aschur ón N-ú beart de gach comhad\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={name|descriptor}]\n" #~ " scríobh sonraí ceangailte de réir mar fásann an " #~ "comhad;\n" #~ " tá -f, --follow, agus --follow=descriptor ar " #~ "comhbhrí\n" #~ " -F ar comhbhrí le --follow=name --retry\n" #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N scríobh an N líne is déanaí, in ionad an %d " #~ "líne\n" #~ " is déanaí; nó bain úsáid as +N chun línte a\n" #~ " scríobh ón N-ú\n" #~ " --max-unchanged-stats=N\n" #~ " le --follow=name, athoscail COMHAD nach n-" #~ "athraíonn\n" #~ " a mhéid i ndiaidh N (réamhshocrú=%d) " #~ "timthriall\n" #~ " féachaint an raibh sé dínasctha nó " #~ "athainmnithe\n" #~ " (mar shampla do logchomhaid uainíochta go " #~ "minic)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID le -f, stop tar éis bháis an phróisis\n" #~ " -q, --quiet, --silent ná taispeáin ceanntásca le hainmneacha " #~ "comhaid\n" #~ " -s, --sleep-interval=N le -f, maireann gach timthriall timpeall is N\n" #~ " (réamhshocrú 1) soicind\n" #~ " -v, --verbose taispeáin ceanntásca le hainmneacha comhaid i " #~ "gcónaí\n" #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Más é `+' an chéad charachtar de N (líon na mbeart nó línte),\n" #~ "tosaigh ag an N-ú mír ón tosach de gach comhad, agus i ngach cás\n" #~ "eile, taispeáin an N mír ag deireadh an chomhaid.\n" #~ "Is féidir iarmhír iolraithe a chur le N:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, srl. le T, P, E, Z, Y.\n" #~ "\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Le --follow (-f), úsáidfidh tail an tuarascálaí comhaid seo a leanas, " #~ "agus\n" #~ "dá bhrí sin, fiú má athainmnítear an comhad idir lámha, leanfaidh tail\n" #~ "ag próiseáil a chríoch. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Níl an t-oibriú seo inmhianaithe más mian leat an fíor-ainm comhaid a " #~ "lorg,\n" #~ "in ionad an tuarascálaí comhaid (m.sh. le huainíocht logchomhaid). Bain\n" #~ "úsáid as `--follow=name' sa chás sin. Leis an rogha seo, leanfadh `tail' " #~ "an\n" #~ "comhad tugtha trína athoscailt anois agus arís, féachaint ar scrios agus\n" #~ "ar athchruthaigh clár eile é.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "%s (fd=%d) á dhúnadh" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: ní féidir bogadh go fritháireamh coibhneasta %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: ní féidir bogadh go fritháireamh coibhneasta ón chríoch %s" #~ msgid "%s has become inaccessible" #~ msgstr "tá %s dorochtana anois" #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "cuireadh comhad nach féidir a `tail' in áit %s; á thréigean" #~ msgid "%s has become accessible" #~ msgstr "tá %s insroichte anois" #~ msgid "%s has appeared; following end of new file" #~ msgstr "tá %s ann anois; críoch an chomhaid nua á leanúint" #~ msgid "%s has been replaced; following end of new file" #~ msgstr "tá comhad nua in áit %s anois; críoch an chomhaid nua á leanúint" #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: ní féidir mód gan bacainní a athshocrú" #~ msgid "%s: file truncated" #~ msgstr "%s: comhad teasctha" #~ msgid "no files remaining" #~ msgstr "níl aon chomhad fágtha" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: ní féidir an chríoch a lorg do chomhad den chineál seo; ag tréigean" #~ msgid "number in %s is too large" #~ msgstr "tá an uimhir i %s rómhór" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: is neamhbhailí é an líon uasta `stat'anna gan athrú idir oscailtí" #~ msgid "%s: invalid PID" #~ msgstr "%s: PID neamhbhailí" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: líon na soicindí neamhbhailí" #~ msgid "option used in invalid context -- %c" #~ msgstr "úsáideadh an rogha i gcomhthéacs neamhbhailí -- %c" #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "" #~ "rabhadh: níl --retry áisiúil ach amháin nuair a leantar de réir ainm" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "" #~ "rabhadh: rinneadh neamhshuim ar PID; níl --pid=PID tairbheach\n" #~ "mura bhfuiltear ag leanúint" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "rabhadh: níl --pid=PID ar fáil ar an gcóras seo" #~ msgid "cannot follow %s by name" #~ msgstr "ní féidir %s a leanúint de réir a ainm" #~ msgid "warning: following standard input indefinitely is ineffective" #~ msgstr "" #~ "rabhadh: níl maith ar bith i lorg an ghnáth-ionchur gan teorainn ama" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Cóipeáil an gnáth-ionchur chuig gach COMHAD, agus chuig an ghnáth-aschur\n" #~ "freisin.\n" #~ "\n" #~ " -a, --append iarcheangail leis na COMHA(I)D, ná " #~ "forscríobh\n" #~ " -i, --ignore-interrupts déan neamhshuim ar chomharthaí idirbhriste\n" #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Más '-' é an COMHAD, cóipeáil arís go dtí an gnáth-aschur.\n" #~ msgid "missing argument after %s" #~ msgstr "argóint ar iarraidh i ndiaidh %s" #~ msgid "invalid integer %s" #~ msgstr "slánuimhir neamhbhailí %s" #~ msgid "')' expected" #~ msgstr "bhíothas ag súil le ')'" #~ msgid "')' expected, found %s" #~ msgstr "bhíothas ag súil le ')', fuarthas %s" #~ msgid "%s: unary operator expected" #~ msgstr "%s: bhíothas ag súil le hoibreoir aonártha" #~ msgid "-nt does not accept -l" #~ msgstr "ní ghlacann -nt le -l" #~ msgid "-ef does not accept -l" #~ msgstr "ní ghlacann -ef le -l" #~ msgid "-ot does not accept -l" #~ msgstr "ní ghlacann -ot le -l" #~ msgid "unknown binary operator" #~ msgstr "oibreoir dénártha anaithnid" #~ msgid "%s: binary operator expected" #~ msgstr "%s: bhíothas ag súil le hoibreoir dénártha" #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Úsáid: test SLONN\n" #~ " nó: test\n" #~ " nó: [ SLONN ]\n" #~ " nó: [ ]\n" #~ " nó: [ ROGHA\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Scoir leis an stádas scortha tugtha ag SLONN.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "Mura bhfuil SLONN ann, is bréagach an luach réamhshocraithe. I ngach cás " #~ "eile,\n" #~ "is fíor nó bréagach SLONN agus socraíonn sé an stádas scortha. Tá sé " #~ "ceann\n" #~ "de na luachanna seo a leanas:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( SLONN ) tá SLONN fíor\n" #~ " ! SLONN tá SLONN bréagach\n" #~ " SLONN1 -a SLONN2 tá SLONN1 agus SLONN2 fíor\n" #~ " SLONN1 -o SLONN2 tá SLONN1 nó SLONN2 fíor\n" #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " -n TEAGHRÁN níl TEAGHRÁN folamh\n" #~ " TEAGHRÁN ar comhbhrí le -n TEAGHRÁN\n" #~ " -z TEAGHRÁN tá TEAGHRÁN folamh\n" #~ " TEAGHRÁN1 = TEAGHRÁN2 is ionann iad\n" #~ " TEAGHRÁN1 != TEAGHRÁN2 ní ionann iad\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " UIMHIR1 -eq UIMHIR2 is ionann iad\n" #~ " UIMHIR1 -ge UIMHIR2 tá UIMHIR1 níos mó, nó is ionann agus, UIMHIR2\n" #~ " UIMHIR1 -gt UIMHIR2 tá UIMHIR1 níos mó ná UIMHIR2\n" #~ " UIMHIR1 -le UIMHIR2 tá UIMHIR1 níos lú, nó is ionann agus, UIMHIR2\n" #~ " UIMHIR1 -lt UIMHIR2 tá UIMHIR1 níos lú ná UIMHIR2\n" #~ " UIMHIR1 -ne UIMHIR2 ní ionann iad\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " COMHAD1 -ef COMHAD2 tá uimhreacha ghléis agus inode céanna acu\n" #~ " COMHAD1 -ef COMHAD2 tá COMHAD1 níos úire (mionathrú) ná COMHAD2\n" #~ " COMHAD1 -ot COMHAD2 tá COMHAD2 níos úire ná COMHAD1\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b COMHAD tá COMHAD ann agus is comhad speisialta den chineál `bloc' " #~ "é\n" #~ " -c COMHAD tá COMHAD ann agus is comhad speisialta den chineál " #~ "`carachtar' é\n" #~ " -d COMHAD tá COMHAD ann agus is comhadlann é\n" #~ " -e COMHAD tá COMHAD ann\n" #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f COMHAD tá COMHAD ann agus is gnáthchomhad é\n" #~ " -g COMHAD tá COMHAD ann agus is set-group-ID é\n" #~ " -G COMHAD tá COMHAD ann agus is leis an ID grúpa i bhfeidhm é\n" #~ " -h COMHAD tá COMHAD ann agus is nasc siombalach é (is ionann agus -" #~ "L)\n" #~ " -k COMHAD tá COMHAD ann agus tá sé a ghiotán greamaitheach lasta\n" #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L COMHAD tá COMHAD ann agus is nasc siombalach é (is ionann agus -" #~ "h)\n" #~ " -O COMHAD tá COMHAD ann agus is leis an aitheantas úsáideora i " #~ "bhfeidhm\n" #~ " -p COMHAD tá COMHAD ann agus is píopa ainmnithe é\n" #~ " -r COMHAD tá COMHAD ann agus tá sé inléite\n" #~ " -s COMHAD tá COMHAD ann agus níl sé folamh\n" #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S COMHAD tá COMHAD ann agus is soicéad é\n" #~ " -t FD tuarascálaí comhaid FD oscailte ar theirminéal\n" #~ " -u COMHAD tá COMHAD ann agus a ghiotán set-user-ID lasta\n" #~ " -w COMHAD tá COMHAD ann agus is inscríofa é\n" #~ " -x COMHAD tá COMHAD ann agus is féidir é a rith nó a chuardach\n" #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Seachas -h agus -L, dí-thagróidh tástálacha COMHAID gach nasc " #~ "siombalach.\n" #~ "Ní foláir duit `(' agus `)' a chosaint ón bhlaosc le, m.sh., " #~ "cúlslaiseanna.\n" #~ "Is féidir le hUIMHIR a bheith -l TEAGHRÁN, fad an teaghráin.\n" #~ msgid "" #~ "\n" #~ "NOTE: [ honors the --help and --version options, but test does not.\n" #~ "test treats each of those as it treats any other nonempty STRING.\n" #~ msgstr "" #~ "\n" #~ "NÓTA: géilleann '[' do na roghanna --help agus --version, ach\n" #~ "úsáideann 'test' --help agus --version díreach cosúil le aon\n" #~ "TEAGHRÁN eile nach bhfuil folamh.\n" #~ msgid "test and/or [" #~ msgstr "test agus/nó [" #~ msgid "missing `]'" #~ msgstr "`]' ar iarraidh" #~ msgid "extra argument %s" #~ msgstr "argóint bhreise %s" #~ msgid "creating %s" #~ msgstr "%s á chruthú" #~ msgid "cannot touch %s" #~ msgstr "ní féidir %s a `touch'" #~ msgid "setting times of %s" #~ msgstr "amanna de %s á socrú" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ "A FILE argument that does not exist is created empty.\n" #~ "\n" #~ "A FILE argument string of - is handled specially and causes touch to\n" #~ "change the times of the file associated with standard output.\n" #~ "\n" #~ msgstr "" #~ "Nuashonraigh na hamanna rochtana/athraithe de gach COMHAD chuig an am " #~ "anois.\n" #~ "\n" #~ "Mura bhfuil argóint COMHAD ann, cruthófar é mar chomhad folamh.\n" #~ "\n" #~ "Má thugtar - mar argóint COMHAD, láimhseáiltear é ar bhealach\n" #~ "speisialta. Athróidh 'touch' amanna an chomhaid a bhaineann leis\n" #~ "an ngnáth-aschur.\n" #~ "\n" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a ná hathraigh ach an t-am rochtana\n" #~ " -c, --no-create ná cruthaigh aon chomhad\n" #~ " -d, --date=TEAGHRÁN parsáil TEAGHRÁN agus úsáid in ionad an ama " #~ "anois\n" #~ " -f (gan feidhm)\n" #~ " -m ná hathraigh ach an t-am mionathraithe\n" #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=COMHAD úsáid na hamanna ar an chomhad seo, ní an t-am " #~ "anois\n" #~ " -t STAMPA úsáid [[CC]YY]MMDDhhmm[.ss] in ionad an ama " #~ "anois\n" #~ " --time=FOCAL socraigh an t-am le FOCAL:\n" #~ " FOCAL = access, atime, nó use: ar comhbhrí le -" #~ "a\n" #~ " FOCAL = modify nó mtime: ar comhbhrí le -m\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Tabhair faoi deara go bhfuil formáidí difriúla am-dáta\n" #~ "ag na roghanna -d agus -t.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "ní féidir amanna a shocrú ó fhoinsí iomadúla" #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "rabhadh: Tá `touch %s' i léig; bain úsáid as `touch -t %04ld%02d%02d%02d%" #~ "02d.%02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Úsáid: %s [ROGHA]... TACAR1 [TACAR2]\n" #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Aistrigh, fáisc, agus/nó scrios carachtair as an ngnáth-ionchur,\n" #~ "ag scríobh chuig an ghnáth-aschur.\n" #~ "\n" #~ " -c, -C, --complement comhlánaigh TACAR1 ar dtús\n" #~ " -d, --delete scrios carachtair ó TACAR1, ná haistrigh\n" #~ " -s, --squeeze-repeats cuir carachtar singil in ionad seicheamh " #~ "leantach\n" #~ " d'aon charachtar ó TACAR1\n" #~ " -t, --truncate-set1 teasc TACAR1 go dtí an fad de TACAR2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "Sonraíonn TACAR mar theaghrán carachtar. Ciallaíonn carachtar é féin de " #~ "ghnáth.\n" #~ "Cóid léirmhínithe:\n" #~ "\n" #~ " \\NNN carachtar le luach ochtnártha NNN (1,2, nó 3 digit)\n" #~ " \\\\ cúlslais\n" #~ " \\a BEL inchloiste\n" #~ " \\b cúlspás\n" #~ " \\f foirmfhotha\n" #~ " \\n líne nua\n" #~ " \\r aisfhilleadh\n" #~ " \\t táb cothrománach\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v táb ingearach\n" #~ " CAR1-CAR2 gach carachtar idir CAR1 agus CAR2, in ord\n" #~ " [CAR*] i dTACAR2, cóipeanna CAR go dtí fad TACAR1\n" #~ " [CAR*UIMHIR] UIMHIR cóip de CAR, ochtnártha má thosaíonn sé le 0\n" #~ " [:alnum:] litreacha agus digití\n" #~ " [:alpha:] litreacha\n" #~ " [:blank:] spás bán cothrománach\n" #~ " [:cntrl:] carachtair rialúcháin\n" #~ " [:digit:] digití\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] carachtair ghrafacha, ach amháin spás\n" #~ " [:lower:] litreacha cás íochtair\n" #~ " [:print:] carachtair ghrafacha, spás san áireamh\n" #~ " [:punct:] comharthaí poncaíochta\n" #~ " [:space:] spás bán, cothrománach nó ingearach\n" #~ " [:upper:] litreacha cás uachtair\n" #~ " [:xdigit:] digití heicsidheachúlacha\n" #~ " [=CAR=] carachtair ar comhbhrí le CAR\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Aistrigh má tá TACAR1 agus TACAR2 araon ann agus mura bhfuil -d tugtha.\n" #~ "Ní cheadaítear -t ach nuair atáthar ag aistriú. Fadófar TACAR2 go dtí " #~ "fad\n" #~ "TACAR1 trí athrá dá charachtar deireanach, a mhéad is gá" #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Déanfar neamhshuim ar\n" #~ "charachtair bhreise ó TACAR2. Níl aon aicme charachtair ach [:lower:] " #~ "agus\n" #~ "[:upper:] a leathnaíonn in ord ardaitheach go cinnte; ní cheadaítear iad " #~ "a\n" #~ "úsáid ach don tiontú cáis. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "Úsáideann an rogha -s TACAR1 mura bhfuiltear\n" #~ "ag aistriú ná ag scriosadh; úsáidtear TACAR2 le linn fáiscthe, déanta\n" #~ "tar éis aistriú nó scriosadh.\n" #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "rabhadh: léirmhíneofar an t-éalúchán débhríoch ochtnártha \\%c%c%c mar\n" #~ "\tan seicheamh dhá bheart: \\0%c%c, %c" #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "rabhadh: cúlslais gan éalúchán ag deireadh an teaghráin agus ní " #~ "inaistrithe é seo" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "tá na teorainneacha i `%s-%s' as ord" #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "líon neamhbhailí na hathráite %s i gcomhstruchtúr [c*n]" #~ msgid "missing character class name `[::]'" #~ msgstr "tá ainm na haicme charachtair `[::]' ar iarraidh" # equivalence in FE94 (though not equivalence class) #~ msgid "missing equivalence class character `[==]'" #~ msgstr "carachtar ar iarraidh in aicme choibhéise `[==]'" #~ msgid "invalid character class %s" #~ msgstr "aicme neamhbhailí charachtair %s" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: ní foláir carachtar aonarach mar oibreann d'aicme coibhéise" #~ msgid "too many characters in set" #~ msgstr "an iomarca carachtar sa tacar" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "ní cheadaítear an comhstruchtúr [c*] i teaghrán1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "ní cheadaítear ach comhstruchtúr [c*] amháin i teaghrán2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "ní cheadaítear sloinn [=c=] i dteaghrán2 le linn aistrithe" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "" #~ "mura bhfuiltear ag teascadh tacar1, ní féidir teaghrán2 a bheith folamh" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "ní foláir do theaghrán2 na carachtair ar fad a mhapáil go carachtar " #~ "singil\n" #~ "le linn aistrithe le haicme charachtair comhlánaithe" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "ní cheadaítear aon aicme charachtair ach `upper' nó `lower' i dteaghrán2\n" #~ "le linn aistrithe" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "ní cheadaítear [c*] i dteaghrán2 ach nuair atáthar ag aistriú" #~ msgid "Two strings must be given when translating." #~ msgstr "Ní foláir dhá theaghrán le linn aistrithe." #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "Ní foláir teaghrán aonarach a thabhairt le linn scriosta gan fáscadh." #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "comhstruchtúr [:upper:] agus/nó [:lower:] mí-ailínithe" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s [argóintí gan úsáid]\n" #~ " nó: %s ROGHA\n" #~ msgid "Exit with a status code indicating success." #~ msgstr "Scoir le cód scortha a chomharthaíonn bua." # partial and total ordering not in FE94; ordúil for ordered # seems not to have the force of a past participle # coined "páirtord" by analogy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA] [COMHAD]\n" #~ "Scríobh liosta sórtáilte go hiomlán is comhchuí leis an pháirtord i " #~ "gCOMHAD.\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ "\n" #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: is corr líon na dteaghrán san ionchur" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: tá lúb san ionchur:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Úsáid: %s [ROGHA]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Taispeáin ainm an teirminéil atá ceangailte leis an ngnáth-ionchur.\n" #~ "\n" #~ " -s, --silent, --quiet ná taispeáin aon ní; aischuir stádas scortha\n" #~ msgid "not a tty" #~ msgstr "ní tty é" #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Taispeáin eolas áirithe faoin gcóras. Gan ROGHA, is ionann é agus `-s'.\n" #~ "\n" #~ " -a, --all taispeáin gach faisnéis, san ord seo a " #~ "leanas,\n" #~ " ach fág -p agus -i ar lár más anaithnid:\n" #~ " -s, --kernel-name taispeáin ainm na heithne\n" #~ " -n, --nodename taispeáin óstainm an nóid lín\n" #~ " -r, --kernel-release taispeáin leagan na heithne\n" #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version taispeáin leagan na heithne\n" #~ " -m, --machine taispeáin ainm na gcrua-earraí\n" #~ " -p, --processor taispeáin cineál an phróiseálaí, nó \"unknown" #~ "\"\n" #~ " -i, --hardware-platform taispeáin ardán na gcrua-earraí nó \"unknown" #~ "\"\n" #~ " -o, --operating-system taispeáin an córas oibriúcháin\n" #~ msgid "" #~ "Print machine architecture.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin ailtireacht an ríomhaire.\n" #~ "\n" #~ msgid "cannot get system name" #~ msgstr "níl aon fháil ar an ainm córais" #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Tiontaigh spásanna i ngach COMHAD go táib, agus scríobh ar an ngnáth-" #~ "aschur.\n" #~ "Mura bhfuil COMHAD ann, nó más '-' é, léigh ón ghnáth-ionchur.\n" #~ "\n" #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all tiontaigh an spás bán ar fad, in ionad an spáis " #~ "tosaigh\n" #~ " --first-only ná tiontaigh ach an spás bán tosaigh (sáraíonn -a)\n" #~ " -t, --tabs=N táib N carachtar óna chéile in ionad 8 (cumasaigh -" #~ "a)\n" #~ " -t, --tabs=LIOSTA liosta de tháib, scartha le camóga (cumasaigh -a)\n" #~ msgid "tabs are too far apart" #~ msgstr "táib rófhada ó chéile" #~ msgid "tab stop value is too large" #~ msgstr "is rómhór an luach tábstoip" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Úsáid: %s [ROGHA]... [IONCHUR [ASCHUR]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Coinnigh aon líne amháin as seicheamh athráite ón IONCHUR (nó\n" #~ "ón ghnáth-ionchur) agus scríobh chuig ASCHUR (nó an gnáth-aschur).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count taispeáin líon na dtarluithe ar tosach gach líne " #~ "-d, --repeated ná taispeáin ach línte dúblacha\n" #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=modh] taispeáin gach líne dhúblach\n" #~ " modh={none(réamhshocrú),prepend,separate}\n" #~ " Úsáidtear línte folmha mar theormharcóirí.\n" #~ " -f, --skip-fields=N ná déan comparáid ar an chéad N réimse\n" #~ " -i, --ignore-case déan neamhshuim ar chás i gcomparáidí\n" #~ " -s, --skip-chars=N ná déan comparáid ar an chéad N carachtar\n" #~ " -u, --unique ná taispeáin ach línte uathúla\n" #~ " -z, --zero-terminated cuir beart 0 ag deireadh gach líne in ionad líne " #~ "nuaí\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N déan comparáid ar N carachtar ar a mhéad\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Is éard atá i réimse: stráice spás bán agus ansin carachtair nach spás " #~ "bán.\n" #~ "Gabhtar thar réimsí roimh charachtair.\n" #~ msgid "" #~ "\n" #~ "Note: 'uniq' does not detect repeated lines unless they are adjacent.\n" #~ "You may want to sort the input first, or use `sort -u' without `uniq'.\n" #~ msgstr "" #~ "\n" #~ "Nóta: ní bhraitheann 'uniq' línte athdhéanta mura bhfuil siad as a " #~ "chéile.\n" #~ "Dá bhrí seo is fearr má sórtálann tú an t-ionchur ar dtús, nó bain\n" #~ "úsáid as `sort -u' gan `uniq'.\n" #~ msgid "too many repeated lines" #~ msgstr "an iomarca línte dúblacha" #~ msgid "invalid number of fields to skip" #~ msgstr "is neamhbhailí líon na réimsí le ligean thar" #~ msgid "invalid number of bytes to skip" #~ msgstr "is neamhbhailí líon na mbeart le ligean thar" #~ msgid "invalid number of bytes to compare" #~ msgstr "is neamhbhailí líon na mbeart a chur i gcomparáid" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "Is gan chiall línte dúblacha AGUS líon na hathráite a thaispeáint" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s COMHAD\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Bain úsáid as an fheidhm unlink() chun an COMHAD a scriosadh.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "ní féidir %s a dhínasc" #~ msgid "couldn't get boot time" #~ msgstr "níl aon fháil ar am an tosaithe is déanaí" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s beo " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #~ msgid " ??:???? up " #~ msgstr " ??:???? beo " #~ msgid "???? days ??:??, " #~ msgstr "???? lá ??:??, " #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%ld lá" #~ msgstr[1] "%ld lá" #~ msgstr[2] "%ld lá" #~ msgstr[3] "%ld lá" #~ msgstr[4] "%ld lá" #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%lu úsáideoir" #~ msgstr[1] "%lu úsáideoir" #~ msgstr[2] "%lu úsáideoir" #~ msgstr[3] "%lu n-úsáideoir" #~ msgstr[4] "%lu úsáideoir" #~ msgid ", load average: %.2f" #~ msgstr ", meánlód: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Úsáid: %s [ROGHA]... [ COMHAD ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin an t-am anois, an tréimhse atá an córas ar siúl,\n" #~ "líon na n-úsáideoirí, agus líon na dtascanna sa chiú, ar mheán, le linn\n" #~ "na 1, 5, agus 15 nóiméad is déanaí.\n" #~ "Mura bhfuil COMHAD tugtha, úsáid %s. Feictear %s mar CHOMHAD go minic.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin úsáideoirí atá logáilte isteach faoi láthair, dar le COMHAD.\n" #~ "Gan CHOMHAD, úsáid %s. Feictear %s mar CHOMHAD go minic.\n" #~ "\n" #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Taispeáin líon na mbeart, na bhfocal, agus na línte nua do gach COMHAD, " #~ "agus\n" #~ "línte go hiomlán má tá níos mó ná comhad amháin ann. Mura bhfuil aon " #~ "CHOMHAD\n" #~ "ann, nó más `-' é, léigh ón ghnáth-ionchur.\n" #~ " -c, --bytes taispeáin líon na mbeart\n" #~ " -m, --chars taispeáin líon na gcarachtar\n" #~ " -l, --lines taispeáin líon na línte nua\n" #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " --files0-from=C léigh na comhaid a shonraítear i gcomhad C le\n" #~ " hainmneacha atá críochnaithe ag carachtair " #~ "nialasacha\n" #~ " -L, --max-line-length taispeáin fad na líne is faide\n" #~ " -w, --words taispeáin líonta na bhfocal\n" #~ msgid " old " #~ msgstr " sean " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "teirm=" #~ msgid "exit=" #~ msgstr "stádas=" #~ msgid "clock change" #~ msgstr "athrú an chloig" #~ msgid "run-level" #~ msgstr "leibhéal feidhmithe" #~ msgid "last=" #~ msgstr "déanach=" #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# úsáideoirí=%lu\n" #~ msgid "NAME" #~ msgstr "AINM" #~ msgid "LINE" #~ msgstr "LÍNE" #~ msgid "TIME" #~ msgstr "AM " #~ msgid "IDLE" #~ msgstr "DÍOMHAOIN" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "NÓTA" #~ msgid "EXIT" #~ msgstr "SCOIR" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Úsáid: %s [ROGHA]... [ COMHAD | ARG1 ARG2 ]]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all ar comhbhrí le `-b -d --login -p -r -t -T -u'\n" #~ " -b, --boot am an atosaithe is déanaí\n" #~ " -d, --dead taispeáin próisis mharbha\n" #~ " -H, --heading taispeáin teidil na gcolún\n" #~ msgid " -l, --login print system login processes\n" #~ msgstr " -l, --login taispeáin próisis logála isteach an chórais\n" #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " -l, --lookup féach le caighdeánú na hóstainmneacha le DNS\n" #~ " -m níl ach óstainm agus úsáideoir nasctha leis an ngnáth-" #~ "ionchur\n" #~ " -p, --process taispeáin próisis a chuir init ar bun\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count taispeáin gach ainm logála isteach agus\n" #~ " líon na n-úsáideoirí faoi láthair\n" #~ " -r, --runlevel taispeáin an leibhéal feidhmithe faoi láthair\n" #~ " -s, --short ná taispeáin ach ainm, líne, agus am (réamhshocrú)\n" #~ " -t, --time taispeáin athrú an chloig is déanaí\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg taispeáin stádas teachtaireachta mar +, -, nó ?\n" #~ " -u, --users taispeáin úsáideoirí atá logáilte isteach faoi " #~ "láthair\n" #~ " --message ar comhbhrí le -T\n" #~ " --writable ar comhbhrí le -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Mura bhfuil COMHAD tugtha, úsáid %s. Feictear %s mar CHOMHAD go minic.\n" #~ "Má tá ARG1 agus ARG2 ann, glactar le -m: is gnách `am i' nó `mom likes'.\n" #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Taispeáin an t-ainm úsáideora nasctha leis an aitheantas atá i bhfeidhm\n" #~ "faoi láthair. Ar comhbhrí le `id -un'.\n" #~ "\n" #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "%s: níl aon fháil ar ainm don aitheantas úsáideora %lu\n" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Úsáid: %s [TEAGHRÁN]...\n" #~ " nó: %s ROGHA\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Priontáil líne arís agus arís le gach TEAGHRÁN ceaptha, nó `y'.\n" #~ "\n" #~ msgid "unrecognized operand %s=%s" #~ msgstr "oibreann anaithnid %s=%s" #~ msgid "" #~ " --group-directories-first\n" #~ " group directories before files\n" #~ msgstr "" #~ " --group-directories-first\n" #~ " grúpáil comhadlanna roimh chomhaid\n" #~ msgid "block size" #~ msgstr "méid bloc" #~ msgid "" #~ "\n" #~ "This is free software. You may redistribute copies of it under the terms " #~ "of\n" #~ "the GNU General Public License .\n" #~ "There is NO WARRANTY, to the extent permitted by law.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Is saorbhogearra é seo. Is féidir leat cóipeanna a scaipeadh de réir na\n" #~ "gcoinníollacha den GNU General Public License\n" #~ ".\n" #~ "Níl baránta AR BITH ann, an oiread atá ceadaithe de réir dlí.\n" #~ "\n" #~ msgid "invalid %s `%s'" #~ msgstr "%s neamhbhailí `%s'" #~ msgid "invalid character following %s in `%s'" #~ msgstr "carachtar neamhbhailí tar éis %s i `%s'" #~ msgid "%s `%s' too large" #~ msgstr "%s `%s' rómhór" #~ msgid "the --kilobytes option is deprecated; use -k instead" #~ msgstr "tá an rogha --kilobytes dulta i léig; bain úsáid as -k ina háit" #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix: b 512, k 1024, m 1024*1024.\n" #~ msgstr "" #~ "\n" #~ "Is féidir iarmhír a chur le MÉID: b=512, k=1K, m=1 Meig.\n" #~ msgid "cannot print only user and only group" #~ msgstr "ní féidir an t-úsáideoir amháin agus an grúpa amháin a thaispeáint" #~ msgid "cannot get supplemental group list" #~ msgstr "níl aon fháil ar liosta na ngrúpaí forlíontach" #~ msgid "skip argument" #~ msgstr "gabh thar argóint" #~ msgid "limit argument" #~ msgstr "teorannaigh argóint" #~ msgid "minimum string length" #~ msgstr "fad íosta do theaghráin" #~ msgid "width specification" #~ msgstr "sainiú leithid" #~ msgid "page range" #~ msgstr "raon leathanach" #~ msgid "the --copyright option is deprecated; use --version instead" #~ msgstr "" #~ "tá an rogha --copyright dulta i léig; bain úsáid as --version ina háit" #~ msgid "sort size" #~ msgstr "méid na sórtála" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "Is féidir iarmhír a chur le MÉID: b=512, k=1K, m=1 Meig.\n" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Nuashonraigh na hamanna rochtana/mionathraithe do gach COMHAD chuig an am " #~ "anois.\n" #~ "\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "rabhadh: tá --i dulta i léig agus beidh sé scriosta\n" #~ "i leagan éigin amach anseo. Bain úsáid as `-u' ina háit" #~ msgid "strip failed" #~ msgstr "teipthe ar an struipeáil" #~ msgid "value %s is so large that it is not representable" #~ msgstr "tá %s chomh mór nach inléirithe é" #~ msgid "symbolic links are not supported on this system" #~ msgstr "níl naisc shiombalacha ar fáil ar an gcóras seo" #~ msgid "fifo files not supported" #~ msgstr "níl comhaid FIFO ar fáil" #~ msgid "cannot remove `.' or `..'" #~ msgstr "ní féidir na comhadlanna `.' nó `..' a scriosadh" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "ní féidir an t-úinéir agus/nó an grúpa de %s a athrú" #~ msgid "cannot chdir to directory %s" #~ msgstr "ní féidir chdir a dhéanamh go dtí an chomhadlann %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "níl aon fháil ar an ghrúpa don UID uimhriúil seo" #~ msgid "" #~ " --no-preserve-root do not treat `/' specially (the default)\n" #~ " --preserve-root fail to operate recursively on `/'\n" #~ msgstr "" #~ " --no-preserve-root ná tabhair cóir speisialta do `/' (réamhshocrú)\n" #~ " --preserve-root ná caith le `/' go hathchúrsach\n" #~ msgid "" #~ " -e enable interpretation of backslash escapes\n" #~ " -E disable interpretation of backslash escapes (default)\n" #~ msgstr "" #~ " -e bain úsáid as na carachtair éalúcháin le cúlslaiseanna\n" #~ " -E ná bain úsáid as na carachtair éalúcháin (réamhshocrú)\n" #~ msgid "" #~ "warning: unportable BRE: %s: using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "rabhadh: bunshlonn ionadaíochta do-iompartha: %s: ní iniompartha é `^'\n" #~ "mar an chéad charachtar den slonn ionadaíochta; ag déanamh neamhshuim air" #~ msgid "unrecognized option `-%c'" #~ msgstr "rogha anaithnid `-%c'" #~ msgid "cannot return to working directory" #~ msgstr "ní féidir dul ar ais go dtí an chomhadlann oibre" #~ msgid "cannot return to current directory" #~ msgstr "ní féidir dul ar ais go dtí an chomhadlann reatha" #~ msgid "create symbolic link %s to %s" #~ msgstr "cruthaigh nasc siombalach %s go %s" #~ msgid "create hard link %s to %s" #~ msgstr "cruthaigh nasc crua %s go %s" #~ msgid "cannot set permissions of directory %s" #~ msgstr "ní féidir na ceadanna den chomhadlann %s a shocrú" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "ní féidir na ceadanna den FIFO %s a shocrú" #~ msgid "cannot set permissions of %s" #~ msgstr "ní féidir na ceadanna de %s a shocrú" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Is saorbhogearra an ríomhchlár seo; is féidir leat é a scaipeadh agus/nó\n" #~ "a athrú de réir na gcoinníollacha den GNU General Public License mar atá\n" #~ "foilsithe ag an Free Software Foundation; faoi leagan 2 den cheadúnas,\n" #~ "nó (más mian leat) aon leagan níos déanaí.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Scaiptear an ríomhchlár seo le súil go mbeidh sé áisiúil,\n" #~ "ach GAN AON BARÁNTA; go fiú gan an barántas intuigthe\n" #~ "d'INDÍOLTACHT nó FEILIÚNACHT D'FHEIDHM AR LEITH. Féach ar an\n" #~ "GNU General Public License chun níos mó sonraí a fháil.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" #~ msgstr "" #~ "Ba chóir go mbeifeá tar éis cóip den GNU General Public License a fháil\n" #~ "in éineacht leis an ríomhchlár seo; mura bhfuair, scríobh chuig an\n" #~ "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" #~ "Boston, MA 02110-1301, USA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "ní féidir an chomhadlann oibre a athrú ó %s go dtí .." #~ msgid "cannot lstat `.' in %s" #~ msgstr "ní féidir `.' a `lstat' i %s" #~ msgid "cannot lstat %s" #~ msgstr "ní féidir %s a `lstat'" #~ msgid "cannot chdir from %s to %s" #~ msgstr "ní féidir an chomhadlann oibre a athrú ó %s go %s" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only; this works only if your " #~ "system\n" #~ " supports `unlink' for nonempty directories)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ msgstr "" #~ "Scrios (dínasc) an COMHA(I)D.\n" #~ "\n" #~ " -d, --directory dínasc COMHAD, fiú más comhadlann le hábhair é\n" #~ " (forúsáideoir; teipfidh an rogha seo mura bhfuil " #~ "do\n" #~ " chóras in ann comhadlanna le hábhair a " #~ "dhínascadh)\n" #~ " -f, --force ná fiafraigh, déan neamhshuim ar chomhaid ar " #~ "iarraidh\n" #~ " -i, --interactive fiafraigh roimh scriosadh\n" #~ msgid "Exit with a status code indicating failure." #~ msgstr "Scoir le cód scortha a chomharthaíonn teip." #~ msgid "cannot overwrite directory %s" #~ msgstr "ní féidir an chomhadlann %s a fhorscríobh" #~ msgid "" #~ "Display file or file system status.\n" #~ "\n" #~ " -f, --file-system display file system status instead of file " #~ "status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Taispeáin stádas de chomhad nó de chóras comhaid.\n" #~ "\n" #~ " -f, --file-system taispeáin stádas de chóras in ionad comhaid\n" #~ " -c --format=FORMÁID bain úsáid as an FHORMÁID ceaptha\n" #~ " -L, --dereference lean naisc\n" #~ " -t, --terse taispeáin an t-eolas go gonta\n" #~ msgid "Warning: `-l' is deprecated; use `-L' instead" #~ msgstr "Rabhadh: tá --l dulta i léig; bain úsáid as `-L' ina háit" #~ msgid "the --allow-missing option is deprecated; use --retry instead" #~ msgstr "" #~ "tá an rogha --allow-missing dulta i léig; bain úsáid as --retry ina háit" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " -l, --login print system login processes\n" #~ msgstr "" #~ " -i, --idle taispeáin am díomhaoin mar UAIRE:NÓIMÉID, . nó old\n" #~ " (i léig, bain úsáid as -u)\n" #~ " --login taispeáin próisis logála isteach don chóras\n" #~ msgid "openat: unable to restore working directory" #~ msgstr "openat: ní féidir an chomhadlann oibre a athchóiriú" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Is saorbhogearra an ríomhchlár seo; féach ar an bhunchód le haghaidh\n" #~ "coinníollacha cóipeála. Níl baránta ar bith ann; go fiú níl baránta ann\n" #~ "d'INDÍOLTACHT nó FEILIÚNACHT D'FHEIDHM AR LEITH.\n" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Is éard atá i ngach MÓD: litir amháin as `ugoa' ar a laghad, ceann de na\n" #~ "siombailí `+-=' agus litir amháin as `rwxXstugo' ar a laghad.\n" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "rabhadh: tá --version-control (-V) dulta i léig agus beidh sé scriosta\n" #~ "i leagan éigin amach anseo. Bain úsáid as `--backup=%s' ina háit." #~ msgid "" #~ " %z RFC-2822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z crios ama uimhriúil de réir RFC-822 (-0500) (neamhchaighdeánach)\n" #~ " %Z crios ama (m.sh., EDT), nó neamhní mura bhfuil crios ama ar fáil\n" #~ "\n" #~ "Mar réamhshocrú, stuáil réimsí uimhriúla le nialais. Aithníonn\n" #~ "GNU date na mionathraitheoirí idir `%' agus treoir uimhriúil:\n" #~ "\n" #~ " `-' (fleiscín) ná stuáil an réimse\n" #~ " `_' (folíne) stuáil an réimse le spásanna\n" #~ msgid "" #~ "a format string may not be specified when using the --rfc-2822 (-R) option" #~ msgstr "" #~ "ní cheadaítear teaghrán formáide a cheapadh leis an rogha --rfc-822 (-R)" #~ msgid "undefined" #~ msgstr "gan sainmhíniú" #~ msgid "cannot get time of day" #~ msgstr "níl aon fháil ar an am lae" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s taifead isteach\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s taifead amach\n" #~ msgid "truncated records" #~ msgstr "taifid teasctha" #~ msgid "file offset out of range" #~ msgstr "fritháireamh comhaid as raon" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "tá an rogha `-LIOSTA' i léig; bain úsáid as `-t LIOSTA'" #~ msgid "`%s' is too large" #~ msgstr "tá `%s' rómhór" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s [déan neamhshuim ar argóintí]\n" #~ " nó: %s ROGHA\n" #~ "Scoir le cód stádais a chomharthaíonn teip.\n" #~ "\n" #~ "Ní cheadaítear na roghanna seo a ghiorrú.\n" #~ "\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "tá an rogha `%s' i léig; bain úsáid as `%s'" #~ msgid "%s: number of bytes is large" #~ msgstr "%s: is mór líon na mbeart" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "tá an rogha `-%s' i léig; bain úsáid as `-%c %.*s%.*s%s'" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "níl stampa ama ar fáil do %s" #~ msgid "invalid field number: `%s'" #~ msgstr "uimhir réimse neamhbhailí: `%s'" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "uimhir réimse neamhbhailí do chomhad 1: `%s'" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "uimhir réimse neamhbhailí do chomhad 2: `%s'" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary léigh comhaid sa mhód dénártha (réamhshocrú ar " #~ "DOS)\n" #~ " -c, --check seiceáil suimeanna %s in aghaidh liosta tugtha\n" #~ " -t, --text léigh comhaid sa mhód téacs (réamhshocrú)\n" #~ "\n" #~ msgid "Only one operand may be specified when using --check." #~ msgstr "Ní cheadaítear ach oibreann amháin leis an rogha --check." #~ msgid "cannot get priority" #~ msgstr "níl an tosaíocht ar fáil" #~ msgid "cannot set priority" #~ msgstr "ní féidir an tosaíocht a shocrú" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Tar ar struchtúir do-iompartha in AINM.\n" #~ "\n" #~ " -p, --portability seiceáil do gach córas POSIX, ní an ceann seo " #~ "amháin\n" #~ msgid "column count too large" #~ msgstr "líon rómhór na gcolún" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=COLÚN' líon neamhbhailí na gcolún: `%s'" #~ msgid "`-%s' option is obsolete; use `-l %s'" #~ msgstr "tá an rogha `-%s' i léig; bain úsáid as `-l %s'" #~ msgid "`%s' option is obsolete; use `%s-%c %'" #~ msgstr "tá an rogha `%s' i léig; úsáid `%s-%c %'" #~ msgid "%s: integer expression expected\n" #~ msgstr "%s: bhíothas ag súil le slonn slánuimhreach\n" #~ msgid "before -lt" #~ msgstr "roimh -lt" #~ msgid "after -lt" #~ msgstr "i ndiaidh -lt" #~ msgid "before -le" #~ msgstr "roimh -le" #~ msgid "after -le" #~ msgstr "i ndiaidh -le" #~ msgid "before -gt" #~ msgstr "roimh -gt" #~ msgid "after -gt" #~ msgstr "i ndiaidh -gt" #~ msgid "before -ge" #~ msgstr "roimh -ge" #~ msgid "after -ge" #~ msgstr "i ndiaidh -ge" #~ msgid "before -ne" #~ msgstr "roimh -ne" #~ msgid "after -ne" #~ msgstr "i ndiaidh -ne" #~ msgid "before -eq" #~ msgstr "roimh -eq" #~ msgid "after -eq" #~ msgstr "i ndiaidh -eq" #~ msgid "after -t" #~ msgstr "i ndiaidh -t" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Úsáid: %s [déan neamhshuim ar argóintí]\n" #~ " nó: %s ROGHA\n" #~ "Scoir le cód stádais a chomharthaíonn bua.\n" #~ "\n" #~ "Ní cheadaítear na roghanna a ghiorrú.\n" #~ "\n" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "tá an rogha `-LIST' i léig; bain úsáid as `--first-only -t LIST'" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "tá an rogha `-%lu' i léig; bain úsáid as `-f %lu'" #~ msgid "%s: cannot find username for UID %lu\n" #~ msgstr "%s: níl aon fháil ar ainm úsáideora don UID %lu\n" #~ msgid "too few arguments" #~ msgstr "níl go leor argóintí ann" #~ msgid "cannot change to null group" #~ msgstr "ní féidir athrach a dhéanamh go dtí grúpa nialasach" #~ msgid "group number" #~ msgstr "uimhir ghrúpa" #~ msgid "invalid group number %s" #~ msgstr "uimhir ghrúpa neamhbhailí %s" #~ msgid "invalid mode string: %s" #~ msgstr "teaghrán neamhbhailí móid: %s" #~ msgid "%s: specified destination directory does not exist" #~ msgstr "%s: níl a leithéid de sprioc-chomhadlann ann" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: ní comhadlann an sprioc-chomhad ceaptha" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "ní comhadlann an argóint deiridh %s agus ag cóipeáil comhaid iomadúla" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "an iomarca argóintí nach roghanna iad: %s%s" #~ msgid "" #~ "\tonly one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}" #~ msgstr "" #~ "\tní cheadaítear ach conv amháin ó: {ascii,ebcdic,ibm}, {lcase,ucase}, " #~ "{block,unblock}, {unblock,sync}" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "ní cheadaítear argóintí COMHAD leis an rogha chun an bunachar sonraí\n" #~ "dircolors a aschur" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "comhaid iomadúla á suiteáil, ach ní comhadlann í an argóint deiridh, %s" #~ msgid "%s is a directory" #~ msgstr "is comhadlann %s" #~ msgid "too many non-option arguments" #~ msgstr "an iomarca argóintí nach roghanna" #~ msgid "too few non-option arguments" #~ msgstr "níl go leor argóintí nach roghanna" #~ msgid "%s: File exists" #~ msgstr "%s: Tá an comhad ann cheana" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Úsáid: %s [ROGHA]... SPRIOC [NASC]\n" #~ " nó: %s [ROGHA]... SPRIOC... COMHADLANN\n" #~ " nó: %s [ROGHA]... --target-directory=COMHADLANN SPRIOC...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "ní foláir an argóint deiridh a bheith ina chomhadlann agus ag cruthú naisc" #~ msgid "User name too long" #~ msgstr "Ainm úsáideora rófhada" #~ msgid "file" #~ msgstr "comhad" #~ msgid "files" #~ msgstr "comhaid" #~ msgid "checksum" #~ msgstr "suim sheiceála" #~ msgid "checksums" #~ msgstr "suimeanna sheiceála" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "is comheisiatach iad na roghanna --string agus --check" #~ msgid "no files may be specified when using --string" #~ msgstr "ní cheadaítear comhaid agus ag baint úsáid as an rogha --string" #~ msgid "wrong number of arguments" #~ msgstr "tá líon na n-argóintí mícheart" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "ní cheadaítear uimhreacha gléis do chomhaid fifo" # Compare ln.c, making multiple links -KPS #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "ní foláir an argóint deiridh a bheith ina chomhadlann agus ag aistriú " #~ "comhaid" #~ msgid "invalid option `%s'" #~ msgstr "rogha neamhbhailí `%s'" #~ msgid "invalid priority `%s'" #~ msgstr "tosaíocht neamhbhailí `%s'" #~ msgid "old-style offset" #~ msgstr "fritháireamh ar an sean-nós" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "tá an dara hoibreann neamhbhailí sa mhód comhoiriúnachta `%s'" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "caithfidh an dá argóint deiridh a bheith fritháireamh sa mhód " #~ "comhoiriúnachta" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "tá carachtar do-iompartha sa chonair `%s' (`%c')" #~ msgid "`%s' is not a directory" #~ msgstr "Ní comhadlann `%s'" #~ msgid "directory `%s' is not searchable" #~ msgstr "Ní féidir an comhad `%s' a chuardach" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "tá fad an ainm `%s' = %ld; uasmhéid=%ld" #~ msgid "path `%s' has length %lu; exceeds limit of %ld" #~ msgstr "tá fad na conaire `%s' = %lu; uasmhéid = %ld" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages': raon leathanach neamhbhailí: `%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' leathanach tosaigh neamhbhailí: `%s'" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' leathanach deiridh neamhbhailí: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "`--pages' leathanach tosaigh níos mó ná leathanach deiridh" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "leathanach tosaigh níos mó ná an t-iomlán: `%d'" #~ msgid "Page %d" #~ msgstr "Leathanach %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Úsáid: %s formáid [argóint...]\n" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: carachtar iarmhíre neamhbhailí le rogha i léig" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "an iomarca argóint; ní cheadaítear ach argóint chomhaid amháin agus ag " #~ "úsáid\n" #~ "an chomhréir i léig (%s) atá ag tail. Bain úsáid as -n nó -c ina háit " #~ "sin." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Rabhadh: ní iniompartha ach argóint chomhaid amháin a úsáid leis\n" #~ "an chomhréir i léig (%s) atá ag tail. Bain úsáid as -n nó -c ina háit " #~ "sin." #~ msgid "argument expected\n" #~ msgstr "bhíothas ag súil le hargóint\n" #~ msgid "too many arguments\n" #~ msgstr "an iomarca argóintí\n" #~ msgid "file arguments missing" #~ msgstr "ainmneacha comhaid ar iarraidh" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "éalúchán neamhbhailí `\\%c'" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "ní foláir dhá theaghrán a thabhairt agus scriosadh agus fáisceadh araon" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "ní foláir aon teaghrán a thabhairt ar a laghad le linn fáiscthe" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "mapáil neamhbhailí; ní foláir chomhstruchtúir [:lower:] nó [:upper:]\n" #~ "i dteaghrán1 a ailíniú le comhstruchtúr freagrach ([:upper:] nó [:" #~ "lower:],\n" #~ "faoi seach) i dteaghrán2, agus ag aistriú." #~ msgid "only one argument may be specified" #~ msgstr "ní féidir níos mó ná argóint amháin a shonrú" #~ msgid "tab size contains an invalid character" #~ msgstr "tá carachtar neamhbhailí sa mhéid táib" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Úsáid: %s [ROGHA]... COMHAD_AR_CLE COMHAD_AR_DHEIS\n" #~ msgid "*** invalid date/time ***" #~ msgstr "*** dáta/am neamhbhailí ***" dc3dd-7.1.614/po/da.po0000644000175000017500000110033011233346647014010 0ustar amedicoamedico# Danish messages for core-utils. # Copyright (C) 1996 Free Software Foundation, Inc. # Keld Jørn Simonsen , 2000-2003. # # Review 2003-03-26 Ole Laursen # msgid "" msgstr "" "Project-Id-Version: coreutils 4.5.11\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2003-03-30 19:53+0200\n" "Last-Translator: Keld Jørn Simonsen \n" "Language-Team: Danish \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" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Paul Rubin og David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "kan ikke oprette katalog %s" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prøv '%s --help' for mere information.\n" #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Brug: %s [TAL]...\n" " eller: %s FLAG\n" #: src/dc3dd.c:1099 #, fuzzy msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" "Kopiér en fil med konvertering og formatering som angivet.\n" "\n" " bs=BYTE tving ibs=BYTE og obs=BYTE\n" " cbs=BYTE konvertér BYTE byte ad gangen\n" " conv=NØGLEORD konvertér filen vha. en liste med kommaadskilte nøgleord\n" " count=BLOKKE kopiér kun BLOKKE indblokke\n" " ibs=BYTE læs BYTE byte ad gangen\n" #: src/dc3dd.c:1107 #, fuzzy msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" " if=FIL læs fra FIL i stedet for stdin\n" " obs=BYTE skriv BYTE byte ad gangen\n" " of=FIL skriv til FIL i stedet for stdout\n" " seek=BLOKKE udelad BLOKKE blokke med obs-størrelse fra\n" " begyndelsen af uddata\n" " skip=BLOKKE udelad BLOKKE blokke med ibs-størrelse fra\n" " begyndelsen af inddata\n" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 #, fuzzy msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" "\n" "BLOKKE og BYTE kan have følgende multiplikative suffikser:\n" "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1.000.000, M 1.048.576,\n" "GD 1.000.000.000, G 1.073.741.824, og så videre for T, P, E, Z og Y.\n" "Hvert NØGLEORD kan være:\n" "\n" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s: angivet målkatalog er ikke et katalog" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "ukendt systemfejl" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "lukker indfil %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "lukker uddatafil %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 #, fuzzy msgid "Split extensions exhausted" msgstr "Løbet tør for endelser til uddatafiler" #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "åbner %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "MISLYKKEDES" #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "ukendt flag %s" #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "ugyldig dato '%s'" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "ugyldigt datoformat %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "ugyldigt datoformat %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "ugyldigt datoformat %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "ugyldig konvertering: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "ugyldigt tal ved feltbegyndelsen" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "ugyldig gruppe" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "ugyldig bruger %s" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "ugyldigt antal %s" #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "kan ikke kombinere signal med -l eller -t" #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "kan ikke kombinere signal med -l eller -t" #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "kan ikke kombinere signal med -l eller -t" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "kan ikke kombinere signal med -l eller -t" #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "kan ikke kombinere signal med -l eller -t" #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "kan ikke kombinere signal med -l eller -t" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" "advarsel: omgår lseek-kernefejl for fil (%s)\n" " med mt_type=0x%0lx -- se for listen af typer" #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "læser %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "%s: kan ikke slette" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "advarsel: ugyldig bredde %lu; bruger %d i stedet" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "sætter tider for %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "læser katalog %s" #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "læser katalog %s" #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "skriver til %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dc3dd.c:3907 msgid "standard input" msgstr "standard-ind" #: src/dc3dd.c:3938 msgid "standard output" msgstr "standard-ud" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "kan ikke udføre fstat() %s" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "passerer forbi %s byte i uddatafil %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "" #~ " ascii from EBCDIC to ASCII\n" #~ " ebcdic from ASCII to EBCDIC\n" #~ " ibm from ASCII to alternate EBCDIC\n" #~ " block pad newline-terminated records with spaces to cbs-size\n" #~ " unblock replace trailing spaces in cbs-size records with newline\n" #~ " lcase change upper case to lower case\n" #~ msgstr "" #~ " ascii fra EBCDIC til ASCII\n" #~ " ebcdic fra ASCII til EBCDIC\n" #~ " ibm fra ASCII til alterneret EBCDIC\n" #~ " block udfyld felter afsluttet med linjeskift med mellemrum til\n" #~ " cbs-størrelse\n" #~ " unblock erstat mellemrum med linjeskift i blokke med størrelse\n" #~ " som givet i cbs\n" #~ " lcase lav store bogstaver om til små\n" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "afkortet blok" #~ msgstr[1] "afkortet blok" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "kan ikke undlade både bruger *og* gruppe" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "kan ikke sammenligne filnavnene %s og %s" #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "advarsel: ugyldig bredde %lu; bruger %d i stedet" #~ msgid "error writing %s" #~ msgstr "fejl ved skrivning til %s" #~ msgid "invalid argument %s for %s" #~ msgstr "ugyldigt argument %s for %s" #~ msgid "ambiguous argument %s for %s" #~ msgstr "flertydigt argument %s til %s" #~ msgid "Valid arguments are:" #~ msgstr "Gyldige argumenter er: " #, fuzzy #~ msgid "error closing file" #~ msgstr "lukker indfil %s" #~ msgid "write error" #~ msgstr "fejl ved skrivning" #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "sætter adgangsrettigheder på %s" #~ msgid "cannot stat %s" #~ msgstr "kan ikke udføre stat() %s" #~ msgid "regular empty file" #~ msgstr "almindelig tom fil" #~ msgid "regular file" #~ msgstr "almindelig fil" #~ msgid "directory" #~ msgstr "katalog" #~ msgid "block special file" #~ msgstr "blokspecialfil" #~ msgid "character special file" #~ msgstr "tegnspecialfil" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "symbolsk lænke" #~ msgid "socket" #~ msgstr "sokkel" #~ msgid "message queue" #~ msgstr "meddelelseskø" #~ msgid "semaphore" #~ msgstr "semafor" #~ msgid "shared memory object" #~ msgstr "delt hukommelsesobjekt" #, fuzzy #~ msgid "typed memory object" #~ msgstr "delt hukommelsesobjekt" #~ msgid "weird file" #~ msgstr "mærkelig fil" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "fifo-filer er ikke understøttet" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "fifo-filer er ikke understøttet" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "fifo-filer er ikke understøttet" #, fuzzy #~ msgid "System error" #~ msgstr "fejl ved skrivning" #, fuzzy #~ msgid "Unknown error" #~ msgstr "ukendt systemfejl" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: flag '%s' er flertydigt\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: flag '--%s' tillader ikke et argument\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: flag '%c%s' tillader ikke et argument\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: flag '%s' kræver et argument\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: ugyldigt flag '--%s'\n" #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: ugyldigt flag '%c%s'\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: ulovligt flag -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: ugyldigt flag -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: flag kræver et argument -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: flag '-W %s' er flertydigt\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: flag '-W %s' tillader ikke et argument\n" #~ msgid "cannot change permissions of %s" #~ msgstr "kan ikke ændre adgangsrettigheder på %s" #~ msgid "cannot create directory %s" #~ msgstr "kan ikke oprette katalog %s" #~ msgid "memory exhausted" #~ msgstr "hukommelsen opbrugt" #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "Mislykkedes med at returnere til oprindeligt arbejdskatalog" #~ msgid "failed to return to initial working directory" #~ msgstr "Mislykkedes med at returnere til oprindeligt arbejdskatalog" #~ msgid "`" #~ msgstr "'" #~ msgid "'" #~ msgstr "'" #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: omdøbt til %s" #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: ugyldigt regulært udtryk: %s" #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "ugyldig tegnklasse '%s'" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "hukommelsen opbrugt" #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: ugyldigt regulært udtryk: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "fejl i søgning med regulært udtryk" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "fejl i søgning med regulært udtryk" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "fejl i søgning med regulært udtryk" #~ msgid "^[yY]" #~ msgstr "^[YyJj]" #~ msgid "^[nN]" #~ msgstr "^[nN]" #~ msgid "setting permissions for %s" #~ msgstr "sætter adgangsrettigheder på %s" #~ msgid "iconv function not usable" #~ msgstr "iconv-funktion ikke brugelig" #~ msgid "iconv function not available" #~ msgstr "iconv-funktion ikke til stede" #~ msgid "character out of range" #~ msgstr "tegn uden for område" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "kan ikke konvertere U+%04X til lokalt tegnsæt" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "Kan ikke konvertere U+%04X til lokalt tegnsæt: %s" #~ msgid "invalid user" #~ msgstr "ugyldig bruger" #~ msgid "invalid group" #~ msgstr "ugyldig gruppe" #, fuzzy #~ msgid "invalid spec" #~ msgstr "ugyldig bruger" #~ msgid "Written by %s.\n" #~ msgstr "Skrevet af %s.\n" #, fuzzy #~ msgid "Written by %s and %s.\n" #~ msgstr "Skrevet af %s.\n" #, fuzzy #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Skrevet af %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "Skrevet af %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "Skrevet af %s.\n" #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "ugyldigt argument '%s'" #~ msgid "string comparison failed" #~ msgstr "strengsammenligning mislykkedes" #~ msgid "Set LC_ALL='C' to work around the problem." #~ msgstr "Sæt LC_ALL='C' for at omgå problemet." #~ msgid "The strings compared were %s and %s." #~ msgstr "De sammenlignede strenge var '%s' og '%s'." #, fuzzy #~ msgid "string transformation failed" #~ msgstr "strengsammenligning mislykkedes" #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "ugyldigt argument '%s'" #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "ugyldig heltalsargument '%s'" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: antallet `%.*s' er for stort" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr " --version vis versionsinformation og afslut\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #~ msgid "read error" #~ msgstr "læsefejl" #, fuzzy #~ msgid "invalid input" #~ msgstr "ugyldigt tal" #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "ugyldig tabulatorstørrelse %s" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "ekstra operand '%s'" #~ msgid "closing standard input" #~ msgstr "lukker standard-ind" #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s NAVN [SUFFIKS]\n" #~ " eller: %s FLAG\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Udskriv NAVN med eventuelle indledende katalog-komponenter fjernet.\n" #~ "Hvis SUFFIKS er angivet, fjernes også afsluttende SUFFIKS.\n" #~ "\n" #, fuzzy #~ msgid "missing operand" #~ msgstr "manglende argument efter '%s'" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjørn Granlund og Richard M. Stallman" #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Brug: %s [FLAG] [FIL]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Flet FILer eller standard-ind, til standard-ud.\n" #~ "\n" #~ " -A, --show-all samme som -vET\n" #~ " -b, --number-nonblank nummerér ikke-blanke ud-linjer\n" #~ " -e samme som -vE\n" #~ " -E, --show-ends skriv $ i slutningen af hver linje\n" #~ " -n, --number nummerér alle ud-linjer\n" #~ " -s, --squeeze-blank aldrig mere end én blank linje\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ " -t samme som -vT\n" #~ " -T, --show-tabs vis tabulatorer som ^I\n" #~ " -u (ignoreret)\n" #~ " -v, --show-nonprinting brug ^ og M- notation, undtagen for LFD og " #~ "TAB\n" #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "kan ikke lave ioctl på %s" #~ msgid "%s: input file is output file" #~ msgstr "%s: indfil er udfil" #, fuzzy #~ msgid "Jim Meyering" #~ msgstr "Jim Meyering og Paul Eggert" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "Kunne ikke hente attributter for %s" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "Kunne ikke hente attributter for %s" #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "kunne ikke ændre ejerskab på %s til %s\n" #~ msgid "cannot access %s" #~ msgstr "kan ikke tilgå %s" #~ msgid "cannot read directory %s" #~ msgstr "kan ikke læse katalog %s" #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "ændrer rettigheder på %s" #, fuzzy #~ msgid "fts_read failed" #~ msgstr "læsefejl" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Brug: %s [FLAG]... EJER[:[GRUPPE]] FIL...\n" #~ " eller: %s [FLAG]... :GRUPPE FIL...\n" #~ " eller: %s [FLAG]... --reference=RFIL FIL...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Ændr ejer og/eller gruppe for hver FIL til EJER og/eller GRUPPE.\n" #~ "\n" #~ " -c, --changes som verbose, men rapportér kun når en ændring er " #~ "gjort\n" #~ " --dereference foretag ændringerne på referenten af hver " #~ "symbolsk\n" #~ " lænke i stedet for den symbolske lænke selv\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet undertryk de fleste fejlmeldinger\n" #~ " --reference=RFIL brug RFIL's gruppe i stedet for at den angivne\n" #~ " GRUPPE-værdi\n" #~ " -R, --recursive ændr filer og kataloger rekursivt (inkl. " #~ "underkataloger)\n" #~ " -v, --verbose vis en meddelelse for hver fil som behandles\n" #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "manglende argument efter '%s'" #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "ugyldig konvertering: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "Kunne ikke hente attributter for %s" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "ugyldig gruppe %s" #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Brug: %s [FLAG]... GRUPPE FIL...\n" #~ " eller: %s [FLAG]... --reference=RFIL FIL...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Ændr gruppemedlemskab af hver FIL til GRUPPE.\n" #~ "\n" #~ " -c, --changes som verbose, men fortæl kun om ændringer\n" #~ " --dereference ændr referent for hver symbolsk lænke i stedet " #~ "for\n" #~ " den symbolske lænke selv\n" #, fuzzy #~ msgid "" #~ " -h, --no-dereference affect each symbolic link instead of any " #~ "referenced\n" #~ " file (useful only on systems that can change " #~ "the\n" #~ " ownership of a symlink)\n" #~ msgstr "" #~ " -h, --no-dereference ændr symbolske lænker i stedet for refererede " #~ "filer\n" #~ " (kun for systemer der kan ændre ejerskabet af\n" #~ " en symlænke)\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet undertryk de fleste fejlmeldinger\n" #~ " --reference=RFIL brug RFIL's gruppe i stedet for at den angivne\n" #~ " GRUPPE-værdi\n" #~ " -R, --recursive ændr filer og kataloger rekursivt (inkl. " #~ "underkataloger)\n" #~ " -v, --verbose vis en meddelelse for hver fil som behandles\n" #~ msgid "getting new attributes of %s" #~ msgstr "henter nye attributter for %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "hverken symbolsk lænke %s eller referent er blevet ændret\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "tilstand for %s ændret til %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "kunne ikke ændre tilstand for %s til %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "tilstand for %s beholdt som %04lo (%s)\n" #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "kan ikke oprette symbolsk lænke %s" #~ msgid "changing permissions of %s" #~ msgstr "ændrer rettigheder på %s" #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "sætter adgangsrettigheder på %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Brug: %s [FLAG]... TILSTAND[,TILSTAND]... FIL...\n" #~ " eller: %s [FLAG]... OKTAL-TILSTAND FIL...\n" #~ " eller: %s [FLAG]... --reference=RFIL FIL...\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "Ændr tilstanden for hver FIL til TILSTAND.\n" #~ "\n" #~ " -c, --changes som verbose, men siger kun noget ved ændringer\n" #~ " -f, --silent, --quiet undertryk de fleste fejlmeldinger\n" #~ " -v, --verbose giv en meddelelse for hver fil som behandles\n" #~ " --reference=RFIL brug RFIL's tilstand i stedet for TILSTAND-" #~ "værdier\n" #~ " -R, --recursive ændr filer og kataloger rekursivt (med " #~ "underkataloger)\n" #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "ugyldig rettighed %s" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "ændrede ejer af %s til %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "ændrede gruppe for %s til %s\n" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "ændrer ejerskab for %s" #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "kunne ikke ændre ejerskab på %s til %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "kunne ikke ændre gruppe for %s til %s\n" #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "kunne ikke ændre ejerskab på %s til %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "ejer af %s beholdt som %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "gruppe for %s beholdt som %s\n" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "ejer af %s beholdt som %s\n" #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "kan ikke fjerne %s" #~ msgid "changing ownership of %s" #~ msgstr "ændrer ejerskab for %s" #~ msgid "changing group of %s" #~ msgstr "ændrer gruppe for %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Brug: %s [FLAG]... GRUPPE FIL...\n" #~ " eller: %s [FLAG]... --reference=RFIL FIL...\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Ændr ejer og/eller gruppe for hver FIL til EJER og/eller GRUPPE.\n" #~ "\n" #~ " -c, --changes som verbose, men rapportér kun når en ændring er " #~ "gjort\n" #~ " --dereference foretag ændringerne på referenten af hver " #~ "symbolsk\n" #~ " lænke i stedet for den symbolske lænke selv\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=AKTUELLE_EJER:AKTUELLE_GRUPPE\n" #~ " ændr kun ejer og/eller gruppe for hver fil, " #~ "hvis\n" #~ " filens aktuelle ejer eller gruppe er lig dem " #~ "angivet\n" #~ " her. Ejer eller gruppe kan udelades, i så fald " #~ "er overensstemmelse\n" #~ " ikke krævet for den udeladte attribut.\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet undertryk de fleste fejlmeldinger\n" #~ " --reference=RFIL brug ejer og gruppe af RFIL i stedet for at " #~ "bruge\n" #~ " de angivne EJER:GRUPPE-værdier\n" #~ " -R, --recursive arbejd på filer og kataloger rekursivt\n" #~ " -v, --verbose vis oplysninger om hver eneste fil der " #~ "behandles\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Ejer forbliver uændret hvis udeladt. Gruppe forbliver uændret hvis andet\n" #~ "ikke er angivet, men bliver sat til det samme som logind-gruppen hvis det " #~ "er\n" #~ "angivet med et ':'. EJER og GRUPPE kan være numerisk eller symbolsk.\n" #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s NYROD [KOMMANDO...]\n" #~ "eller: %s FLAG\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Kør KOMMANDO med rod-kataloget sat til NYROD.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Hvis ingen kommando er angivet, kør '${SHELL} -i' (default: /bin/sh).\n" #~ msgid "cannot change root directory to %s" #~ msgstr "kan ikke ændre rod-kataloget til %s" #~ msgid "cannot chdir to root directory" #~ msgstr "kan ikke ændre til rod-katalog" #, fuzzy #~ msgid "cannot run command %s" #~ msgstr "kan ikke aflænke %s" #~ msgid "%s: file too long" #~ msgstr "%s: fil for lang" #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Brug: %s [FIL]...\n" #~ " eller: %s [FLAG]...\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Udskriv CRC-kontrolsum og byteantal for hver FIL.\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman og David MacKenzie" #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Brug: %s [FLAG]... FIL1 FIL2\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "Sammenlign de sorterede filer VENSTRE_FIL og HØJRE_FIL linje for linje.\n" #~ "\n" #~ " -1 se bort fra linjer som kun findes i den venstre fil\n" #~ " -2 se bort fra linjer som kun findes i den højre fil\n" #~ " -3 se bort fra linjer som findes i begge filer\n" #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "sætter adgangsrettigheder på %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "kunne ikke bevare ejerskab for %s" #, fuzzy #~ msgid "failed to lookup file %s" #~ msgstr "kunne ikke beholde tider for %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "kunne ikke bevare forfatter af %s" #~ msgid "cannot open %s for reading" #~ msgstr "kan ikke åbne %s til læsning" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "overspringer fil %s, da den blev erstattet mens den blev kopieret" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "kunne ikke ændre gruppe for %s til %s\n" #~ msgid "cannot remove %s" #~ msgstr "kan ikke fjerne %s" #~ msgid "removed %s\n" #~ msgstr "fjernede %s\n" #~ msgid "cannot create regular file %s" #~ msgstr "kan ikke oprette almindelig fil %s" #~ msgid "cannot lseek %s" #~ msgstr "kan ikke udføre lseek() %s" #~ msgid "writing %s" #~ msgstr "skriver %s" #~ msgid "preserving times for %s" #~ msgstr "beholder tider for %s" #~ msgid "closing %s" #~ msgstr "lukker %s" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: overskriv %s, uden hensyn til tilstand %04lo?" #~ msgid "%s: overwrite %s? " #~ msgstr "%s: overskriv %s? " #~ msgid " (backup: %s)" #~ msgstr " (sikkerhedskopi: %s)" #~ msgid "omitting directory %s" #~ msgstr "udelader katalog %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "advarsel: kildefil %s er angivet mere end én gang" #~ msgid "%s and %s are the same file" #~ msgstr "%s og %s er den samme fil" #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "kan ikke overskrive ikke-katalog %s med katalog %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "vil ikke overskrive netop oprettet %s med %s" #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "kan ikke overskrive katalog %s med ikke-katalog" #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "kan ikke flytte katalog til ikke-katalog: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "sikkerhedskopi af %s vil overskrive kildefil; %s er ikke flyttet" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "sikkerhedskopi af %s vil overskrive kildefil; %s er ikke kopieret" #~ msgid "cannot backup %s" #~ msgstr "kan ikke sikkerhedskopiere %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "vil ikke overskrive netop oprettet %s med %s" #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "kan ikke kopiere et katalog %s til sig selv %s" #~ msgid "will not create hard link %s to directory %s" #~ msgstr "vil ikke oprette hård lænke %s til katalog %s" #~ msgid "cannot create hard link %s to %s" #~ msgstr "kan ikke oprette hård lænke %s til %s" #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "kan ikke flytte %s til et underkatalog af sig selv, %s" #~ msgid "cannot move %s to %s" #~ msgstr "kan ikke flytte %s til %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "flytning mellem enheder mislykkedes: %s til %s; kan ikke fjerne målet" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "Kunne ikke hente attributter for %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "kan ikke kopiere cyklisk symbolsk lænke %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s: kan kun oprette relative symbolske lænker i aktuelt katalog" #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "kan ikke oprette symbolsk lænke %s til %s" #~ msgid "cannot create link %s" #~ msgstr "kan ikke oprette lænke %s" #~ msgid "cannot create fifo %s" #~ msgstr "kan ikke oprette fifo %s" #~ msgid "cannot create special file %s" #~ msgstr "kan ikke oprette specialfil %s" #~ msgid "cannot read symbolic link %s" #~ msgstr "kan ikke læse symbolsk lænke %s" #~ msgid "cannot create symbolic link %s" #~ msgstr "kan ikke oprette symbolsk lænke %s" #~ msgid "%s has unknown file type" #~ msgstr "%s har ukendt filtype" #~ msgid "cannot un-backup %s" #~ msgstr "kan ikke genoprette sikkerhedskopi af %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (genopret sikkerhedskopi)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Brug: %s [FLAG]... KILDE MÅL\n" #~ " eller: %s [FLAG]... KILDE... KATALOG\n" #~ " eller: %s [FLAG]... --target-directory=KATALOG KILDE...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Kopiér KILDE til MÅL eller en eller flere KILDE'r til KATALOG.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Obligatoriske argumenter til lange flag er også obligatoriske for de " #~ "korte.\n" #, fuzzy #~ msgid "" #~ " -a, --archive same as -dpR\n" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " --copy-contents copy contents of special files when " #~ "recursive\n" #~ " -d same as --no-dereference --preserve=links\n" #~ msgstr "" #~ " -a, --archive det samme som -dpR\n" #~ " --backup[=KONTROL] lav sikkerhedskopi af hver eksisterende " #~ "målfil\n" #~ " -b ligesom --backup, men tager ikke noget " #~ "argument\n" #~ " --copy-contents kopiér indholdet af specialfiler når " #~ "rekursiv\n" #~ " -d det samme som --no-dereference --" #~ "preserve=link\n" #, fuzzy #~ msgid "" #~ " -f, --force if an existing destination file cannot be\n" #~ " opened, remove it and try again\n" #~ " -i, --interactive prompt before overwrite\n" #~ " -H follow command-line symbolic links in " #~ "SOURCE\n" #~ msgstr "" #~ " --no-dereference følg aldrig symbolske henvisninger\n" #~ " -f, --force hvis en eksisterende målfil ikke kan " #~ "åbnes, så\n" #~ " fjern den og prøv igen\n" #~ " -i, --interactive bed om bekræftelse før overskrivning af " #~ "filer\n" #~ " -H følg kommandolinje symbolske henvisninger\n" #, fuzzy #~ msgid "" #~ " -p same as --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[=ATTR_LIST] preserve the specified attributes " #~ "(default:\n" #~ " mode,ownership,timestamps), if possible\n" #~ " additional attributes: context, links, " #~ "all\n" #~ msgstr "" #~ " -l, --link opret lænker i stedet for at kopiere\n" #~ " -L, --dereference følg altid symbolske henvisninger\n" #~ " -p det samme som --preserve=mode,ownership," #~ "timestamps\n" #~ " --preserve[ATTR_LIST] bevar filattributter om muligt (standard:\n" #~ " 'mode','ownership','timestamps'), om " #~ "muligt\n" #~ " yderligere attributter: 'links', 'all'\n" #, fuzzy #~ msgid "" #~ " --no-preserve=ATTR_LIST don't preserve the specified attributes\n" #~ " --parents use full source file name under DIRECTORY\n" #~ msgstr "" #~ " --no-preserve=ATTR_LIST bevar ikke de angivne attributter\n" #~ " --parents tilføj kildens søgesti efter KATALOG\n" #~ " -P det samme som '--no-dereference'\n" #~ msgid "" #~ " -R, -r, --recursive copy directories recursively\n" #~ " --remove-destination remove each existing destination file " #~ "before\n" #~ " attempting to open it (contrast with --" #~ "force)\n" #~ msgstr "" #~ " -R, -r, --recursive kopiér kataloger rekursivt\n" #~ " --remove-destination fjern hver eksisterende målfil før forsøg " #~ "på at\n" #~ " åbne den (sammenlign med --force)\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --reply={yes,no,query} angiv hvorledes forespørgsel om " #~ "eksisterende målfil\n" #~ " skal behandles\n" #~ " --sparse=NÅR bestem oprettelsen af tynde filer\n" #~ " --strip-trailing-slashes fjern eventuelle skråstreger i slutningen " #~ "af \n" #~ " hvert KILDE-argument\n" #, fuzzy #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link opret symbolske lænker i stedet for " #~ "kopiering\n" #~ " -S, --suffix=ENDELSE tilsidesæt den sædvanlige sikkerhedskopi-" #~ "endelse\n" #~ " --target-directory=KATALOG flyt alle KILDE-argumenter til KATALOG\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update kopiér kun hvis KILDE-filen er nyere end\n" #~ " målfilen, eller når målfilen ikke " #~ "findes\n" #~ " -v, --verbose forklar hvad der sker\n" #~ " -x, --one-file-system bliv på dette filsystem\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Normalt bliver KILDE-filer med huller opdaget ved hjælp af en enkel " #~ "heuristik,\n" #~ "og den korresponderende MÅL-fil bliver også lavet med huller. Det er den\n" #~ "opførsel som er givet med --sparse=auto. Angiv --sparse=always for at\n" #~ "oprette en MÅL-fil med huller i, hvis KILDE-filen indeholder en " #~ "tilstrækkeligt\n" #~ "lang sekvens med nul-tegn.\n" #~ "Brug --sparse=never for at forhindre oprettelse af filer med huller.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "Endelsen for sikkerhedskopiering er '~', med mindre andet er angivet med\n" #~ "--suffix eller SIMPLE_BACKUP_SUFFIX. Versionskontrolmetoden kan vælges " #~ "med\n" #~ "--backup flaget eller vha. miljøvariabelen VERSION_CONTROL. Gyldige " #~ "værdier er:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off lav aldrig sikkerhedskopier (selvom --backup er givet)\n" #~ " numbered, t lav nummererede sikkerhedskopier\n" #~ " existing, nil nummererede, hvis nummererede sikkerhedskopier " #~ "eksisterer,\n" #~ " ellers enkle sikkerhedskopier\n" #~ " simple, never lav altid enkle sikkerhedskopier\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Som et specialtilfælde laver cp en sikkerhedskopi af KILDE når flagene " #~ "for\n" #~ "'force' og 'backup' er angivet, og KILDE og MÅL er samme navn for en " #~ "eksisterende,\n" #~ "regulær fil.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "kunne ikke beholde tider for %s" #~ msgid "failed to preserve permissions for %s" #~ msgstr "kan ikke beholde adgangsrettigheder på %s" #~ msgid "cannot make directory %s" #~ msgstr "kan ikke oprette katalog %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s eksisterer, men er ikke et katalog" #~ msgid "accessing %s" #~ msgstr "tilgår %s" #, fuzzy #~ msgid "missing file operand" #~ msgstr "manglende fil-argument" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "manglende målfil" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "angivet mål '%s' er ikke et katalog" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "når stier beholdes, skal målet være et katalog" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "flere -l eller -t-flag angivet" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "kan ikke lave både hårde og symbolske lænker" #~ msgid "backup type" #~ msgstr "type af sikkerhedskopi" #~ msgid "input disappeared" #~ msgstr "inddata forsvandt" #~ msgid "%s: line number out of range" #~ msgstr "%s: linjenummer uden for område" #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: '%s': linjenummer uden for område" #, fuzzy #~ msgid " on repetition %s\n" #~ msgstr " ved %d. gentagelse\n" #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: '%s': ingen træffer fundet" #~ msgid "error in regular expression search" #~ msgstr "fejl i søgning med regulært udtryk" #, fuzzy #~ msgid "write error for %s" #~ msgstr "skrivefejl for \"%s\"" #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: heltal forventedes efter \"%c\"" #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: '}' er nødvendig i gentagelsesantal" #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: heltal kræves mellem '{' og '}'" #, fuzzy #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: afslutningende skilletegn '%c' mangler" #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: ugyldigt regulært udtryk: %s" #~ msgid "%s: invalid pattern" #~ msgstr "%s: ugyldigt mønster" #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: linjenummeret skal være større end nul" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "linjenummer '%s' er mindre end foregående linjenummer, %s" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "advarsel: linjenummer '%s' er det samme som foregående" #, fuzzy #~ msgid "invalid format width" #~ msgstr "ugyldigt datoformat %s" #, fuzzy #~ msgid "invalid format precision" #~ msgstr "ugyldig præcision: %s" #~ msgid "missing conversion specifier in suffix" #~ msgstr "manglende konverteringsspecifikator i suffiks" #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "ugyldig konverteringsspecifikator i suffiks: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "ugyldig konverteringsspecifikator i suffiks: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "for mange %%-konverteringsspecifikationer i suffiks" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "manglende %%-konverteringsspecifikation i suffiks" #~ msgid "%s: invalid number" #~ msgstr "%s: ugyldigt tal" #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Brug: %s [FLAG]... FIL MØNSTER...\n" #, fuzzy #~ msgid "" #~ "Output pieces of FILE separated by PATTERN(s) to files `xx00', " #~ "`xx01', ...,\n" #~ "and output byte counts of each piece to standard output.\n" #~ "\n" #~ msgstr "" #~ "Udskriv dele af FIL separeret af MØNSTER til filerne 'xx01', 'xx02',...,\n" #~ "og vis antal byte for hver del på standard-ud.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n" #~ " -f, --prefix=PREFIX use PREFIX instead of `xx'\n" #~ " -k, --keep-files do not remove output files on errors\n" #~ msgstr "" #~ " -b, --suffix-format=FORMAT brug sprintf-FORMAT i stedet for %d\n" #~ " -f, --prefix=PRÆFIKS brug PRÆFIKS i stedet for 'xx'\n" #~ " -k, --keep-files fjern ikke udfiler ved fejl\n" #~ msgid "" #~ " -n, --digits=DIGITS use specified number of digits instead of 2\n" #~ " -s, --quiet, --silent do not print counts of output file sizes\n" #~ " -z, --elide-empty-files remove empty output files\n" #~ msgstr "" #~ " -n, --digits=CIFRE brug angivet antal cifre i stedet for 2\n" #~ " -s, --quiet, --silent vis ikke størrelsen af udfilerne\n" #~ " -z, --elide-empty-files fjern tomme udfiler\n" #~ msgid "" #~ "\n" #~ "Read standard input if FILE is -. Each PATTERN may be:\n" #~ msgstr "" #~ "\n" #~ "Læs standard-ind når FIL er '-'. Hvert MØNSTER kan være:\n" #~ msgid "" #~ "\n" #~ " INTEGER copy up to but not including specified line number\n" #~ " /REGEXP/[OFFSET] copy up to but not including a matching line\n" #~ " %REGEXP%[OFFSET] skip to, but not including a matching line\n" #~ " {INTEGER} repeat the previous pattern specified number of " #~ "times\n" #~ " {*} repeat the previous pattern as many times as " #~ "possible\n" #~ "\n" #~ "A line OFFSET is a required `+' or `-' followed by a positive integer.\n" #~ msgstr "" #~ "\n" #~ " HELTAL kopier frem til, men ikke med, angivet " #~ "linjenummer\n" #~ " /REGUDT/[POSITION] kopier frem til, men ikke med, en 'passende' " #~ "linje\n" #~ " %%REGUDT%%[POSITION] hop frem til, men ikke med, en 'passende' linje\n" #~ " {HELTAL} gentag forrige mønster så mange gange som angivet\n" #~ " {*} gentag forrige mønster så mange gange som muligt\n" #~ "\n" #~ "En linje-POSITION skal være '+' eller '-' fulgt af et positivt heltal\n" #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Brug: %s [FLAG]... [FIL]...\n" #~ msgid "" #~ "Print selected parts of lines from each FILE to standard output.\n" #~ "\n" #~ msgstr "" #~ "Udskriv valgte dele af linjerne fra hver FIL til standard-ud.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ " -b, --bytes=LISTE udskriv kun disse byte\n" #~ " -c, --characters=LISTE udskriv kun disse tegn\n" #~ " -d, --delimiter=SKILLE brug SKILLE i stedet for TAB som skilletegn\n" #, fuzzy #~ msgid "" #~ " -f, --fields=LIST select only these fields; also print any line\n" #~ " that contains no delimiter character, unless\n" #~ " the -s option is specified\n" #~ " -n (ignored)\n" #~ msgstr "" #~ " -f, --fields=LISTE udskriv kun disse felter; udskriv også enhver\n" #~ " linje som ikke indeholder et skilletegn, " #~ "medmindre\n" #~ " flaget -s er angivet\n" #~ " -n (ignoreret)\n" #~ msgid "" #~ " -s, --only-delimited do not print lines not containing delimiters\n" #~ " --output-delimiter=STRING use STRING as the output delimiter\n" #~ " the default is to use the input delimiter\n" #~ msgstr "" #~ " -s, --only-delimited udskriv ikke linjer som ikke indeholder " #~ "skilletegn\n" #~ " --output-delimiter=STRENG brug STRENG som forvalgt ud-skilletegn.\n" #~ " forvalgt er at bruge ind-skilletegnet\n" #, fuzzy #~ msgid "" #~ "Each range is one of:\n" #~ "\n" #~ " N N'th byte, character or field, counted from 1\n" #~ " N- from N'th byte, character or field, to end of line\n" #~ " N-M from N'th to M'th (included) byte, character or field\n" #~ " -M from first to M'th (included) byte, character or field\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Brug én, og kun én af -b, -c og -f. Hver LISTE er lavet af en\n" #~ "'serie', eller mange serier separeret af komma. Hver serie er en af:\n" #~ "\n" #~ " N N'te byte, tegn eller felt, talt fra 1\n" #~ " N- fra N'te byte, tegn eller felt, til slutningen af linjen\n" #~ " N-M fra N'te til M'te (til og med) byte, tegn eller felt\n" #~ " -M fra første til M'te (til og med) byte, tegn eller felt\n" #~ "\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #~ msgid "invalid byte or field list" #~ msgstr "ugyldig byte- eller feltliste" #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "ugyldig linjelængdeflag: \"%s\"" #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "ugyldig tilstands-streng: %s" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "%s er for stor" #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "felt-nummeret er nul" #~ msgid "only one type of list may be specified" #~ msgstr "kun én slags liste må bruges" #~ msgid "the delimiter must be a single character" #~ msgstr "skilletegnet skal være et enkelt tegn" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "du skal angive en liste af byte, tegn eller felt" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "et inddataskilletegn kan kun specificeres ved arbejde på felter" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "fjernelse af linjer uden skilletegn giver kun mening hvis man opererer\n" #~ "\tmed felter" #~ msgid "missing list of fields" #~ msgstr "feltliste mangler" #~ msgid "missing list of positions" #~ msgstr "positionsliste mangler" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Brug: %s [FLAG]... [+FORMAT]\n" #~ " eller: %s [FLAG] [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE display the last modification time of FILE\n" #~ " -R, --rfc-2822 output date and time in RFC 2822 format.\n" #~ " Example: Mon, 07 Aug 2006 12:34:56 -0600\n" #~ msgstr "" #~ " -r, --reference=FIL vis sidste ændringsdato for FIL\n" #~ " -R, --rfc-822 udskriv en datostreng i henhold til RFC-822\n" #~ " -s, --set=STRENG sæt tiden som er beskrevet af STRENG\n" #~ " -u, --utc, --universal udskriv eller sæt 'Coordinated Universal " #~ "Time'\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output. The only valid option for the second form\n" #~ "specifies Coordinated Universal Time. Interpreted sequences are:\n" #~ "\n" #~ " %% a literal %\n" #~ " %a locale's abbreviated weekday name (e.g., Sun)\n" #~ msgstr "" #~ "\n" #~ "FORMAT styrer udskriften. Den eneste gyldige flag for den anden\n" #~ "form specificerer Koordineret Universel Tid (UTC). Fortolkede sekvenser " #~ "er:\n" #~ "\n" #~ " %% et egentligt %\n" #~ " %a lokaltilrettet ugedagsnavn (man..søn)\n" #, fuzzy #~ msgid "" #~ " %A locale's full weekday name (e.g., Sunday)\n" #~ " %b locale's abbreviated month name (e.g., Jan)\n" #~ " %B locale's full month name (e.g., January)\n" #~ " %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)\n" #~ msgstr "" #~ " %A ugedag ifølge lokale (mandag-søndag), fuldstændigt (variabel " #~ "længde)\n" #~ " %b måned ifølge lokal (jan-dec), forkortet\n" #~ " %B måned ifølge lokal (januar-december), fuldstændigt (variabel " #~ "længde)\n" #~ " %c dato og tid (som lør 04 nov 12:02:33 CET 1989)\n" #, fuzzy #~ msgid "" #~ " %C century; like %Y, except omit last two digits (e.g., 21)\n" #~ " %d day of month (e.g, 01)\n" #~ " %D date; same as %m/%d/%y\n" #~ " %e day of month, space padded; same as %_d\n" #~ msgstr "" #~ " %C århundrede (heltalsdelen af år divideret med 100) [00-99]\n" #~ " %d dag i måned (01-31)\n" #~ " %D dato ifølge amerikansk format (mm/dd/åå)\n" #~ " %e dag i måned, indledende nul erstattet med blanktegn ( 1-31)\n" #~ msgid "" #~ " %h same as %b\n" #~ " %H hour (00..23)\n" #~ " %I hour (01..12)\n" #~ " %j day of year (001..366)\n" #~ msgstr "" #~ " %h samme som %b\n" #~ " %H time (00-23)\n" #~ " %I time (01-12)\n" #~ " %j dag på året (001-366)\n" #~ msgid "" #~ " %k hour ( 0..23)\n" #~ " %l hour ( 1..12)\n" #~ " %m month (01..12)\n" #~ " %M minute (00..59)\n" #~ msgstr "" #~ " %k time ( 0-23)\n" #~ " %l time ( 1-12)\n" #~ " %m måned (01-12)\n" #~ " %M minut (00-59)\n" #, fuzzy #~ msgid "" #~ " %n a newline\n" #~ " %N nanoseconds (000000000..999999999)\n" #~ " %p locale's equivalent of either AM or PM; blank if not known\n" #~ " %P like %p, but lower case\n" #~ " %r locale's 12-hour clock time (e.g., 11:11:04 PM)\n" #~ " %R 24-hour hour and minute; same as %H:%M\n" #~ " %s seconds since 1970-01-01 00:00:00 UTC\n" #~ msgstr "" #~ " %n en ny linje\n" #~ " %N nanosekunder (000000000..999999999)\n" #~ " %p FM eller EM i store bogstaver ifølge lokale (tom i mange lokaler)\n" #~ " %P fm eller em i små bogstaver ifølge lokale (tom i mange lokaler)\n" #~ " %r tid, 12-timers (hh:mm:ss [FE]M)\n" #~ " %R tid, 2stimers (hh:mm)\n" #~ " %s sekunder siden \"1970-01-01 00:00:00 UTC\" (en GNU-tilføjelse)\n" #, fuzzy #~ msgid "" #~ " %S second (00..60)\n" #~ " %t a tab\n" #~ " %T time; same as %H:%M:%S\n" #~ " %u day of week (1..7); 1 is Monday\n" #~ msgstr "" #~ " %S sekunder (00-60), 60 behøves for at klare et skudsekund\n" #~ " %t en vandret tabulator\n" #~ " %T tid, 24-timers (hh:mm:ss)\n" #~ " %u dag i ugen (1-7), 1 betyder mandag\n" #, fuzzy #~ msgid "" #~ " %U week number of year, with Sunday as first day of week (00..53)\n" #~ " %V ISO week number, with Monday as first day of week (01..53)\n" #~ " %w day of week (0..6); 0 is Sunday\n" #~ " %W week number of year, with Monday as first day of week (00..53)\n" #~ msgstr "" #~ " %U ugenummer, med søndag som første dag i ugen (00-53)\n" #~ " %V ugenummer, med mandag som første dag i ugen (01-53)\n" #~ " %w ugedag (0-6); søndag repræsenteres som 0\n" #~ " %W ugenummer, med mandag som første dag i ugen (00-53)\n" #, fuzzy #~ msgid "" #~ " %x locale's date representation (e.g., 12/31/99)\n" #~ " %X locale's time representation (e.g., 23:13:48)\n" #~ " %y last two digits of year (00..99)\n" #~ " %Y year\n" #~ msgstr "" #~ " %x dato på lokaleformat (åå-mm-dd)\n" #~ " %X tid på lokaleformat (%H:%M:%S)\n" #~ " %y sidste to cifre i årstallet (00-99)\n" #~ " %Y år (1970-)\n" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "flere -l eller -t-flag angivet" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "flagene for at angive datoer til udskriving kan ikke bruges sammen" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "flagene for at udskrive og sætte tiden kan ikke bruges sammen" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "argumentet '%s' mangler et indledende '+';\n" #~ "Når man bruger et flag for at angive datoer skal eventuelle\n" #~ "andre typer argumenter bestå af en formatstreng som begynder med '+'" #~ msgid "cannot set date" #~ msgstr "kan ikke sætte dato" #, fuzzy #~ msgid "time %s is out of range" #~ msgstr "filposition uden for interval" #~ msgid "Filesystem Type" #~ msgstr "Filsystem Type" #~ msgid "Filesystem " #~ msgstr "Filsystem " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inoder IBrugt IFri IBrug%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Størr Brugt Tilb Brug%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Størr Brugt Tilb Brug" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %4s-blokke Brugt Tilbage Kapacitet" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-blokke Brugt Tilbage Brug%%" #~ msgid " Mounted on\n" #~ msgstr " Monteret på\n" #~ msgid "cannot get current directory" #~ msgstr "kan ikke finde aktuelt katalog" #~ msgid "cannot change to directory %s" #~ msgstr "kan ikke gå til kataloget %s" #, fuzzy #~ msgid "cannot stat current directory (now %s)" #~ msgstr "kan ikke finde aktuelt katalog" #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Brug: %s [FLAG]... [FIL]...\n" #, fuzzy #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Vis information om filsystemet som FIL ligger på, eller normalt alle " #~ "filsystemer.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all include dummy file systems\n" #~ " -B, --block-size=SIZE use SIZE-byte blocks\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all medtag filsystemer med 0 blokke\n" #~ " -B, --block-size=STR brug blokke på STR byte\n" #~ " -h, --human-readable skriv størrelser på en læsevenlig form \n" #~ " (f.eks. 1K 234M 2G)\n" #~ " -H, --si det samme, men brug 1000 som grundtal, ikke 1024\n" #, fuzzy #~ msgid "" #~ " -i, --inodes list inode information instead of block usage\n" #~ " -k like --block-size=1K\n" #~ " -l, --local limit listing to local file systems\n" #~ " --no-sync do not invoke sync before getting usage info " #~ "(default)\n" #~ msgstr "" #~ " -i, --inodes skriv inodeinformation i stedet for blokforbrug\n" #~ " -k, --kilobytes ligesom --block-size=1024\n" #~ " -l, --local begræns til lokale filsystemer\n" #~ " --no-sync kør ikke sync før hentning af information " #~ "(standard)\n" #, fuzzy #~ msgid "" #~ " -P, --portability use the POSIX output format\n" #~ " --sync invoke sync before getting usage info\n" #~ " -t, --type=TYPE limit listing to file systems of type TYPE\n" #~ " -T, --print-type print file system type\n" #~ " -x, --exclude-type=TYPE limit listing to file systems not of type " #~ "TYPE\n" #~ " -v (ignored)\n" #~ msgstr "" #~ " -P, --portability brug POSIX-format for uddata\n" #~ " --sync kør sync før hentning af oplysninger om forbrug\n" #~ " -t, --type=TYPE vis kun filsystemer af typen TYPE\n" #~ " -T, --print-type vis filsystemtype\n" #~ " -x, --exclude-type=TYPE vis kun filsystemer som ikke er af typen TYPE\n" #~ " -v (ignoreret)\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may be (or may be an integer optionally followed by) one of " #~ "following:\n" #~ "kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, " #~ "Y.\n" #~ msgstr "" #~ "\n" #~ "STØRRELSE kan være (eller kan være et heltal muligvis fulgt af) en af de " #~ "følgende:\n" #~ "kB 1000, K 1024, MB 1.000.000 og M 1.048.576, og så videre for G, T, P, " #~ "E, Z og Y.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "filsystem af typen %s er både valgt og udeladt" #~ msgid "Warning: " #~ msgstr "Advarsel: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%s kan ikke læse tabellen over monterede filsystemer" #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Brug: %s [FLAG]... [FIL]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Udskriv kommandoer for at sætte miljøvariablen LS_COLORS.\n" #~ "\n" #~ "Bestem ud-format:\n" #~ " -b, --sh, --bourne-shell udskriv Bourne shell-kode for at sætte " #~ "LS_COLORS\n" #~ " -c, --csh, --c-shell udskriv C skal-kode for at sætte LS_COLORS\n" #~ " -p, --print-data-base udskriv den interne database\n" #~ msgid "" #~ "\n" #~ "If FILE is specified, read it to determine which colors to use for which\n" #~ "file types and extensions. Otherwise, a precompiled database is used.\n" #~ "For details on the format of these files, run `dircolors --print-" #~ "database'.\n" #~ msgstr "" #~ "\n" #~ "Hvis FIL er angivet, læs den for at bestemme hvilke farver der skal " #~ "bruges til\n" #~ "hvilke filtyper og endelser. Ellers bliver en foroversat database brugt.\n" #~ "For detaljer om formatet af disse filer kør 'dircolors --print-" #~ "database'.\n" #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s:%lu: ugyldig linje; mangler andet element" #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s:%lu: ukendt nøgleord %s" #~ msgid "" #~ msgstr "" #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "flagene for at udskrive dircolors interne database og at vælge en\n" #~ "skálsyntaks er gensidigt udelukkende" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "ingen SHELL-miljøvariabel, og ingen skal-type angivet med flag" #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s NAVN\n" #~ " eller: %s FLAG\n" #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Udskriv NAVN med alt fra sidste '/' fjernet; Hvis NAVN ikke indeholder " #~ "nogen '/'-er, udskriv '.' (for nuværende katalog).\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Brug: %s [FLAG]... GRUPPE FIL...\n" #~ " eller: %s [FLAG]... --reference=RFIL FIL...\n" #~ msgid "" #~ "Summarize disk usage of each FILE, recursively for directories.\n" #~ "\n" #~ msgstr "" #~ "Opsummér diskforbrug for hver FIL, rekursivt for kataloger.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all write counts for all files, not just directories\n" #~ " --apparent-size print apparent sizes, rather than disk usage; " #~ "although\n" #~ " the apparent size is usually smaller, it may " #~ "be\n" #~ " larger due to holes in (`sparse') files, " #~ "internal\n" #~ " fragmentation, indirect blocks, and the like\n" #~ msgstr "" #~ " -a, --all medtag filer, ikke kun kataloger\n" #~ " --apparent-size udskriv tilsyneladende størrelse i stedet for " #~ "diskforbrug;\n" #~ " selvom den tilsyneladende størrelse normalt er " #~ "mindre,\n" #~ " kan den være større på grund af huller i " #~ "(tynde) filer,\n" #~ " intern fragmentering, indirekte blokke og " #~ "lignende\n" #~ " -B, --block-size=STØR brug blokke på STØR byte\n" #~ " -b, --bytes skriv størrelse i byte\n" #~ " -c, --total vis totalsum\n" #~ " -D, --dereference-args følg FIL'er når de er symbolske lænker\n" #, fuzzy #~ msgid "" #~ " -L, --dereference dereference all symbolic links\n" #~ " -P, --no-dereference don't follow any symbolic links (this is the " #~ "default)\n" #~ " -0, --null end each output line with 0 byte rather than " #~ "newline\n" #~ " -S, --separate-dirs do not include size of subdirectories\n" #~ " -s, --summarize display only a total for each argument\n" #~ msgstr "" #~ " -L, --dereference følg alle symbolske lænker\n" #~ " -S, --separate-dirs medtag ikke størrelsen på underkataloger\n" #~ " -s, --summarize vis kun sum for hvert argument\n" #, fuzzy #~ msgid "" #~ " -x, --one-file-system skip directories on different file systems\n" #~ " -X FILE, --exclude-from=FILE Exclude files that match any pattern in " #~ "FILE.\n" #~ " --exclude=PATTERN Exclude files that match PATTERN.\n" #~ " --max-depth=N print the total for a directory (or file, with --" #~ "all)\n" #~ " only if it is N or fewer levels below the " #~ "command\n" #~ " line argument; --max-depth=0 is the same as\n" #~ " --summarize\n" #~ msgstr "" #~ " -x, --one-file-system udelad kataloger på andre filsystemer\n" #~ " -X FIL, --exclude-from=FIL udelad filer som svarer til et hvilket som\n" #~ " helst mønster i FIL.\n" #~ " --exclude=MØN udelad filer som svarer til MØN\n" #~ " --max-depth=N vis kun totalsum for et katalog (eller fil, med --" #~ "all)\n" #~ " hvis der er N eller færre niveauer under " #~ "kommandolinje-\n" #~ " argumentet; --max-depth=0 er det samme som\n" #~ " --summarize\n" #~ msgid "total" #~ msgstr "totalt" #~ msgid "invalid maximum depth %s" #~ msgstr "ugyldig største dybde %s" #~ msgid "cannot both summarize and show all entries" #~ msgstr "kan ikke både summere og vise alle størrelser" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "advarsel: summering er det samme som at bruge --max-depth=0" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "advarsel: summering er i konflikt med --max-depth=%d" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "kan ikke sammenligne filnavnene %s og %s" #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "ugyldigt gruppenavn %s" #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Brug: %s [FLAG]... [STRENG]...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Uden -E vil følgende sekvenser blive forstået og indsat:\n" #~ "\n" #~ " \\NNN det tegn, hvis ASCII-værdi er NNN (oktalt)\n" #~ " \\\\ omvendt skråstreg\n" #~ " \\a advarsel (SIGNAL)\n" #~ " \\b baktegn\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c udelad linjeskift på slutningen\n" #~ " \\f sideskift\n" #~ " \\n ny linje\n" #~ " \\r vognretur\n" #~ " \\t vandret tabulator\n" #~ " \\v lodret tabulator\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Mlynarik og David MacKenzie" #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Brug: %s [FLAG]... [-] [NAVN=VÆRDI]... [KOMMANDO [ARG]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Sæt hvert NAVN til VÆRDI fra miljøvariable og udfør KOMMANDO.\n" #~ " -i, --ignore-environment start uden miljøvariable\n" #~ " -u, --unset=NAVN fjern miljøvariablen NAVN\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "En - for sig selv implicerer -i. Hvis ingen KOMMANDO er angivet, " #~ "udskriv\n" #~ "det resulterende miljø.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Konvertér tabulatorer i hver FIL til mellemrum, skriv til standard-ud.\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial konvertér ikke tabulatorer efter ikke-blanke tegn\n" #~ " -t, --tabs=TAL hav tabulatorer TAL tegn fra hinanden, ikke 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LISTE brug komma-separeret LISTE med tab-positioner\n" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "%s er for stor" #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "tabulatorstørrelsen indeholder et ugyldigt tegn" #~ msgid "tab size cannot be 0" #~ msgstr "tabulatorstørrelse kan ikke være 0" #~ msgid "tab sizes must be ascending" #~ msgstr "tabulatorstørrelser skal være stigende" #, fuzzy #~ msgid "input line is too long" #~ msgstr "%s: fil for lang" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Mike Haertel og Paul Eggert" #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s UDTRYK\n" #~ " eller: %s FLAG\n" #~ msgid "" #~ "\n" #~ "Print the value of EXPRESSION to standard output. A blank line below\n" #~ "separates increasing precedence groups. EXPRESSION may be:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" #~ msgstr "" #~ "\n" #~ "Udskriv værdien på UDTRYK til standard-ud. En tom linje nedenfor " #~ "adskiller grupper\n" #~ "med voksende prioritet. UDTRYK kan være:\n" #~ "\n" #~ " ARG1 | ARG2 ARG1 hvis det hverken er nul eller 0, ellers ARG2\n" #~ "\n" #~ " ARG1 & ARG2 ARG1 hvis intet af argumenterne er nul eller 0, " #~ "ellers 0\n" #~ msgid "" #~ "\n" #~ " ARG1 < ARG2 ARG1 is less than ARG2\n" #~ " ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" #~ " ARG1 = ARG2 ARG1 is equal to ARG2\n" #~ " ARG1 != ARG2 ARG1 is unequal to ARG2\n" #~ " ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" #~ " ARG1 > ARG2 ARG1 is greater than ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 < ARG2 ARG1 er mindre end ARG2\n" #~ " ARG1 <= ARG2 ARG1 er mindre end eller lig med ARG2\n" #~ " ARG1 = ARG2 ARG1 er lig med ARG2\n" #~ " ARG1 != ARG2 ARG1 er ikke lig med ARG2\n" #~ " ARG1 >= ARG2 ARG1 er større end eller lig med ARG2\n" #~ " ARG1 > ARG2 ARG1 er større end ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" #~ " ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 + ARG2 aritmetisk sum af ARG1 og ARG2\n" #~ " ARG1 - ARG2 aritmetisk forskel mellem ARG1 og ARG2\n" #~ msgid "" #~ "\n" #~ " ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" #~ " ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" #~ " ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" #~ msgstr "" #~ "\n" #~ " ARG1 * ARG2 aritmetisk produkt af ARG1 og ARG2\n" #~ " ARG1 / ARG2 aritmetisk kvotient af ARG1 divideret med ARG2\n" #~ " ARG1 % ARG2 aritmetisk rest af ARG1 divideret med ARG2\n" #~ msgid "" #~ "\n" #~ " STRING : REGEXP anchored pattern match of REGEXP in STRING\n" #~ "\n" #~ " match STRING REGEXP same as STRING : REGEXP\n" #~ " substr STRING POS LENGTH substring of STRING, POS counted from 1\n" #~ " index STRING CHARS index in STRING where any CHARS is found, or " #~ "0\n" #~ " length STRING length of STRING\n" #~ msgstr "" #~ "\n" #~ " STRENG : REGUDTRYK forankret mønstersøgning efter REGUDTRYK i " #~ "STRENG\n" #~ "\n" #~ " match STRENG REGUDTRYK samme som STRENG : REGUDTRYK\n" #~ " subtr STRENG POS LÆNGDE delstreng af STRENG, POS regnes fra 1\n" #~ " index STRENG BOGST index i STRENG hvor BOGST fandtes, eller 0\n" #~ " length STRENG længden af STRENG\n" #~ msgid "" #~ " + TOKEN interpret TOKEN as a string, even if it is " #~ "a\n" #~ " keyword like `match' or an operator like " #~ "`/'\n" #~ "\n" #~ " ( EXPRESSION ) value of EXPRESSION\n" #~ msgstr "" #~ " + ELEMENT tolk ELEMENT som en streng, selv om den er " #~ "et\n" #~ " nøgleord som \"match\" eller en operator " #~ "som \"/\"\n" #~ " ( UDTRYK ) værdien af UDTRYK\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "Vær opmærksom på at mange operatorer skal beskyttes mod " #~ "kommandofortolkeren,\n" #~ "f.eks. med gåseøjne. Sammenligninger er aritmetiske hvis begge\n" #~ "ARG'umenter er tal, ellers leksikografiske. Mønster-sammenligninger\n" #~ "returnerer strengen som passede på mønstret mellem \\( og \\) eller nul.\n" #~ "Hvis \\( og \\) ikke bruges, returneres antal tegn som passede eller 0.\n" #~ msgid "syntax error" #~ msgstr "syntaksfejl" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "fejl i søgning med regulært udtryk" #~ msgid "non-numeric argument" #~ msgstr "ikke-numerisk argument" #~ msgid "division by zero" #~ msgstr "deling med nul" #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s [TAL]...\n" #~ " eller: %s FLAG\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Udskriv primtalsfaktorerne for hvert TAL.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " Udskriv primtals-faktorerne til alle angivne heltal TAL. Hvis \n" #~ " ingen argumenter er angivet på kommandolinjen læses de fra standard-" #~ "ind.\n" #~ msgid "%s is too large" #~ msgstr "%s er for stor" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "'%s' er ikke et gyldig positivt heltal" #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Brug: %s [-CIFRE] [FLAG]... [FIL]...\n" #~ msgid "" #~ "Reformat each paragraph in the FILE(s), writing to standard output.\n" #~ "If no FILE or if FILE is `-', read standard input.\n" #~ "\n" #~ msgstr "" #~ "Omformatér hvert afsnit i FILerne, og skriv til standard-ud.\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ " -c, --crown-margin behold indrykning for de første to linjer\n" #~ " -p, --prefix=STRENG sammensæt kun linjer som har STRENG som\n" #~ " forstavelse\n" #~ " -s, --split-only opdel lange linjer, men fyld ikke op\n" #, fuzzy #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ " -t, --tagged-paragraph indrykning for første linje er forskellig fra " #~ "næste\n" #~ " -u, --uniform-spacing et mellemrum mellem ord, to efter sætninger\n" #~ " -w, --width=TAL maksimal linjelængde (ellers 75 kolonner)\n" #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "ugyldig linjelængde: \"%s\"" #~ msgid "" #~ "Wrap input lines in each FILE (standard input by default), writing to\n" #~ "standard output.\n" #~ "\n" #~ msgstr "" #~ "Ombryd linjerne i hver FIL (forvalgt standard-ind), og skriv til standard-" #~ "ud\n" #~ "\n" #~ msgid "" #~ " -b, --bytes count bytes rather than columns\n" #~ " -s, --spaces break at spaces\n" #~ " -w, --width=WIDTH use WIDTH columns instead of 80\n" #~ msgstr "" #~ " -b, --bytes tæl byte i stedet for kolonner\n" #~ " -s, --spaces ombryd ved mellemrum\n" #~ " -w, --width=BREDDE brug BREDDE kolonner i stedet for 80\n" #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "ugyldigt antal kolonner: \"%s\"" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "kunne ikke ændre gruppe for %s til %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "kunne ikke ændre gruppe for %s til %s\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "kan ikke finde navnet for gruppe-ID %u" #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Brug: %s [FLAG]... [BRUGERNAVN]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Ingen sådan bruger" #, fuzzy #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv de første 10 linjer af hver FIL til standard-ud.\n" #~ "Med mere end en FIL angivet udskrives filnavnet før hver FIL.\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #~ "\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent udskriv ikke overskrifter med filnavne først\n" #~ " -v, --verbose skriv altid overskrifter med filnavne først\n" #, fuzzy #~ msgid "" #~ "\n" #~ "N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BLOKKE og BYTE kan have følgende multiplikative suffikser:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1.000.000, M 1.048.576,\n" #~ "GD 1.000.000.000, G 1.073.741.824, og så videre for T, P, E, Z og Y.\n" #~ "Hvert NØGLEORD kan være:\n" #~ "\n" #~ msgid "error reading %s" #~ msgstr "fejl ved læsning af %s" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "ugyldigt antal byte at sammenligne" #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "%s: kan ikke søge til relativt afsæt %s" #~ msgid "%s: cannot seek to offset %s" #~ msgstr "%s: kan ikke søge til afsæt %s" #~ msgid "cannot reposition file pointer for %s" #~ msgstr "kan ikke flytte filpegeren for %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s er så stor at den ikke kan repræsenteres" #~ msgid "number of lines" #~ msgstr "antal linjer" #~ msgid "number of bytes" #~ msgstr "antal bytes" #~ msgid "invalid number of lines" #~ msgstr "ugyldigt antal linjer" #~ msgid "invalid number of bytes" #~ msgstr "ugyldigt antal byte" #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "ugyldigt flag - %c" #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Brug: %s\n" #~ " eller: %s FLAG\n" #~ "Udskriv den numeriske identifikator (heksadecimalt) for dette system.\n" #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Brug: %s [NAVN]\n" #~ " eller: %s FLAG\n" #~ "Udskriv eller sæt værtsnavnet for dette system.\n" #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "kan ikke sætte værtsnavnet til '%s'" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "kan ikke sætte værtsnavnet; dette system mangler funktionaliteten" #~ msgid "cannot determine hostname" #~ msgstr "kan ikke bestemme værtsnavnet" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Udskriv information for BRUGERNAVN eller nuværende bruger.\n" #~ "\n" #~ " -a ignoreres, for kompatibilitet med andre versioner\n" #~ " -g, --group udskriv kun gruppe-ID\n" #~ " -G, --groups udskriv alle gruppe-ID'er\n" #~ " -n, --name skriv et navn i stedet for et nummer, for -ugG\n" #~ " -r, --real udskriv den virkelige ID i stedet for den effektive,\n" #~ " for -ugG\n" #~ " -u, --user udskriv kun brugeridentiteten\n" #~ msgid "" #~ "\n" #~ "Without any OPTION, print some useful set of identified information.\n" #~ msgstr "" #~ "\n" #~ "Uden nogen FLAG udskrives et nyttigt udvalg af identificeret " #~ "information.\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "kan ikke opdele på mere end én måde" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "kan ikke udskrive kun navn eller virkelige ID'er i forvalgt format" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "kan ikke finde navnet for bruger-ID %u" #~ msgid " groups=" #~ msgstr " grupper=" #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "advarsel: kan ikke skifte katalog til %s" #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "strip-flaget kan ikke bruges ved installation af et katalog" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "strip-flaget kan ikke bruges ved installation af et katalog" #~ msgid "invalid mode %s" #~ msgstr "ugyldig rettighed %s" #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "kan ikke ændre adgangsrettigheder på %s" #~ msgid "cannot set time stamps for %s" #~ msgstr "kan ikke sætte tidsstempler for %s" #~ msgid "fork system call failed" #~ msgstr "systemkaldet fork mislykkedes" #~ msgid "cannot run strip" #~ msgstr "kan ikke køre strip" #, fuzzy #~ msgid "waiting for strip" #~ msgstr "skriver til %s" #~ msgid "invalid user %s" #~ msgstr "ugyldig bruger %s" #~ msgid "invalid group %s" #~ msgstr "ugyldig gruppe %s" #~ msgid "creating directory %s" #~ msgstr "opretter katalog %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Brug: %s [FLAG]... KILDE MÅL\n" #~ " eller: %s [FLAG]... KILDE... KATALOG\n" #~ " eller: %s [FLAG]... --target-directory=KATALOG KILDE...\n" #, fuzzy #~ msgid "" #~ "In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n" #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n" #~ "In the 4th form, create all components of the given DIRECTORY(ies).\n" #~ "\n" #~ msgstr "" #~ "De to første formater kopierer KILDE til MÅL eller en eller flere " #~ "KILDE'r\n" #~ "til KATALOG, samtidig med at tilstand og ejer/gruppe angives. Det tredje\n" #~ "format opretter KATALOG'er samt alle disses komponenter.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an argument\n" #~ " -c (ignored)\n" #~ " -d, --directory treat all arguments as directory names; create all\n" #~ " components of the specified directories\n" #~ msgstr "" #~ " --backup[=KONTROL] opret sikkerhedskopi før sletning\n" #~ " -b som --backup, men accepterer ikke et argument\n" #~ " -c (ignoreret)\n" #~ " -d, --directory behandl alle argumenter som katalognavne, opret " #~ "alle\n" #~ " komponenter i de angivne kataloger.\n" #, fuzzy #~ msgid "" #~ " -D create all leading components of DEST except the " #~ "last,\n" #~ " then copy SOURCE to DEST\n" #~ " -g, --group=GROUP set group ownership, instead of process' current " #~ "group\n" #~ " -m, --mode=MODE set permission mode (as in chmod), instead of rwxr-" #~ "xr-x\n" #~ " -o, --owner=OWNER set ownership (super-user only)\n" #~ msgstr "" #~ " -D opret alle indledende komponenter af MÅL " #~ "undtagen den\n" #~ " sidste, kopiér derefter KILDE til MÅL; nyttigt " #~ "med\n" #~ " det første format.\n" #~ " -g, --group=GRUPPE vælg gruppeejerskab, i stedet for processens\n" #~ " nuværende gruppe\n" #~ " -m, --mode=TILSTAND vælg tilstand (ligesom chmod), i stedet for rwxr-" #~ "xr-x\n" #~ " -o, --owner=EJER vælg ejerskabsrettigheder (kun superbruger)\n" #, fuzzy #~ msgid "" #~ " -p, --preserve-timestamps apply access/modification times of SOURCE " #~ "files\n" #~ " to corresponding destination files\n" #~ " -s, --strip strip symbol tables\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -v, --verbose print the name of each directory as it is created\n" #~ msgstr "" #~ " -p, --preserve-timestamps brug samme læse/ændringstider på MÅL-" #~ "filerne\n" #~ " som der er på KILDE-filerne.\n" #~ " -s, --strip fjern symboltabeller, kun for 1. og 2. format\n" #~ " -S, --suffix=SUFFIKS tilsidesæt det sædvanlige sikkerhedskopi-" #~ "suffiks\n" #~ " -v, --verbose skriv navnet på hvert katalog når det bliver " #~ "oprettet\n" #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Suffikset for sikkerhedskopiering er '~', med mindre andet er angivet " #~ "med\n" #~ "--suffix eller SIMPLE_BACKUP_SUFFIX. Versionskontrolmetoden kan vælges " #~ "med\n" #~ "--backup flaget eller vha. miljøvariabelen VERSION_CONTROL. Gyldige " #~ "værdier er:\n" #~ "\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Mike Haertel og Paul Eggert" #~ msgid "" #~ "For each pair of input lines with identical join fields, write a line to\n" #~ "standard output. The default join field is the first, delimited\n" #~ "by whitespace. When FILE1 or FILE2 (not both) is -, read standard " #~ "input.\n" #~ "\n" #~ " -a FILENUM print unpairable lines coming from file FILENUM, " #~ "where\n" #~ " FILENUM is 1 or 2, corresponding to FILE1 or FILE2\n" #~ " -e EMPTY replace missing input fields with EMPTY\n" #~ msgstr "" #~ "For hvert par af ind-linjer med ens flettefelt skrives en linje til\n" #~ "standard-ud. Det forvalgte flettefelt er det første\n" #~ "felt, begrænset af blanktegn. Hvis FIL1 eller FIL2 (ikke begge)\n" #~ "er -, læses fra standard-ind.\n" #~ "\n" #~ " -a FILNR udskriv linjer som ikke kan parres som fra fil " #~ "FILNR,\n" #~ " hvor FILNR er 1 eller 2 svarende til FIL1 eller " #~ "FIL2\n" #~ " -e TOM erstat manglende ind-felter med TOM\n" #, fuzzy #~ msgid "" #~ " -i, --ignore-case ignore differences in case when comparing fields\n" #~ " -j FIELD equivalent to `-1 FIELD -2 FIELD'\n" #~ " -o FORMAT obey FORMAT while constructing output line\n" #~ " -t CHAR use CHAR as input and output field separator\n" #~ msgstr "" #~ " -i, --ignore-case ignorer forskelle i store/små bogstaver ved\n" #~ " sammenligning af felter\n" #~ " -j FELT (forældet) samme som '-1 FELT -2 FELT'\n" #~ " -j1 FELT (forældet) samme som '-1 FELT'\n" #~ " -j2 FELT (forældet) samme som '-2 FELT'\n" #~ " -o FORMAT følg FORMAT når udlinjen laves\n" #~ " -t TEGN brug TEGN som feltseparator for ind og ud\n" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ " -v FILNR som -a FILNR, men drop flettede ud-linjer\n" #~ " -1 FELT flet ved dette FELT fra fil 1\n" #~ " -2 FELT flet ved dette FELT fra fil 2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Unless -t CHAR is given, leading blanks separate fields and are ignored,\n" #~ "else fields are separated by CHAR. Any FIELD is a field number counted\n" #~ "from 1. FORMAT is one or more comma or blank separated specifications,\n" #~ "each being `FILENUM.FIELD' or `0'. Default FORMAT outputs the join " #~ "field,\n" #~ "the remaining fields from FILE1, the remaining fields from FILE2, all\n" #~ "separated by CHAR.\n" #~ "\n" #~ "Important: FILE1 and FILE2 must be sorted on the join fields.\n" #~ "E.g., use `sort -k 1b,1' if `join' has no options.\n" #~ "If the input is not sorted and some lines cannot be joined, a\n" #~ "warning message will be given.\n" #~ msgstr "" #~ "\n" #~ "Hvis -t TEGN ikke er angivet, er 'indledende blanke' feltseparator, og " #~ "ignoreres,\n" #~ "ellers er felt adskilt af TEGN. Hvert FELT er et feltnummer talt fra 1.\n" #~ "FORMAT er en eller flere komma- eller blank-separerede specifikationer, " #~ "der\n" #~ "hver er 'FILNR.FELT' eller '0'. Det forvalgte FORMAT udskriver\n" #~ "flettefeltet, resten af felterne fra FIL1 og resten af felterne fra\n" #~ "FIL2, alle adskilt med TEGN.\n" #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "ugyldigt feltnummer: \"%s\"" #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "ugyldig specifikation af felt: \"%s\"" #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "ugyldigt filnummer i feltspec: \"%s\"" #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "flertegns-tabulator '%s'" #~ msgid "both files cannot be standard input" #~ msgstr "begge filer kan ikke være standard-ind" #~ msgid "" #~ "Usage: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " or: %s -l [SIGNAL]...\n" #~ " or: %s -t [SIGNAL]...\n" #~ msgstr "" #~ "Brug: %s [-s SIGNAL | -SIGNAL] PID...\n" #~ " eller: %s -l [SIGNAL]...\n" #~ " eller: %s -t [SIGNAL]...\n" #~ msgid "" #~ "Send signals to processes, or list signals.\n" #~ "\n" #~ msgstr "" #~ "Send signaler til processer, eller vís signaler.\n" #~ "\n" #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " angiv navnet eller nummeret på signalet som skal " #~ "sendes\n" #~ " -l, --list list signalnavne, eller konvertér signalnavn til/fra\n" #~ " nummer\n" #~ " -t, --table skriv en tabel med signalinformation\n" #~ msgid "" #~ "\n" #~ "SIGNAL may be a signal name like `HUP', or a signal number like `1',\n" #~ "or an exit status of a process terminated by a signal.\n" #~ "PID is an integer; if negative it identifies a process group.\n" #~ msgstr "" #~ "\n" #~ "SIGNAL kan være et signalnavn som \"HUP\" eller et signalnummer som\n" #~ "\"1\", eller en slutstatus fra en proces afsluttet af et signal. PID\n" #~ "er et heltal; hvis det er negativt, identificerer det en procesgruppe.\n" #~ msgid "%s: invalid signal" #~ msgstr "%s: ugyldigt signal" #~ msgid "%s: invalid process id" #~ msgstr "%s: ugyldig proces-id" #~ msgid "invalid option -- %c" #~ msgstr "ugyldigt flag - %c" #~ msgid "%s: multiple signals specified" #~ msgstr "%s: flere signaler angivet" #~ msgid "multiple -l or -t options specified" #~ msgstr "flere -l eller -t-flag angivet" #~ msgid "cannot combine signal with -l or -t" #~ msgstr "kan ikke kombinere signal med -l eller -t" #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s FIL1 FIL2\n" #~ " eller: %s [FLAG]\n" #~ msgid "" #~ "Call the link function to create a link named FILE2 to an existing " #~ "FILE1.\n" #~ "\n" #~ msgstr "" #~ "Kald funktionen link for at oprette en lænke FIL2 til en\n" #~ "eksisterende FIL1.\n" #~ "\n" #~ msgid "cannot create link %s to %s" #~ msgstr "kan ikke oprette lænke %s til %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: advarsel: at lave en hård lænke til en symbolsk lænke er ikke " #~ "portabelt" #~ msgid "%s: hard link not allowed for directory" #~ msgstr "%s: hård lænke ikke tilladt for katalog" #~ msgid "%s: cannot overwrite directory" #~ msgstr "%s: kan ikke overskrive katalog" #~ msgid "%s: replace %s? " #~ msgstr "%s: overskriv %s? " #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "opret symbolsk lænke %s til %s" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "opret symbolsk lænke %s til %s" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "opret hård lænke %s til %s" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "opret hård lænke %s til %s" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "opret hård lænke %s til %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Brug: %s [FLAG]... KILDE MÅL (1. format)\n" #~ " eller: %s [FLAG]... KILDE... KATALOG (2. format)\n" #~ " eller: %s -d [FLAG]... KATALOG... (3. format)\n" #, fuzzy #~ msgid "" #~ "In the 1st form, create a link to TARGET with the name LINK_NAME.\n" #~ "In the 2nd form, create a link to TARGET in the current directory.\n" #~ "In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.\n" #~ "Create hard links by default, symbolic links with --symbolic.\n" #~ "When creating hard links, each TARGET must exist.\n" #~ "\n" #~ msgstr "" #~ "Opret en lænke til det angivne MÅL med et valgfrit LÆNKENAVN. Hvis\n" #~ "LÆNKENAVN er udeladt, vil en lænke med samme basisnavn som MÅL blive\n" #~ "oprettet i det aktuelle katalog. Hvis du bruger det andet format med mere " #~ "end\n" #~ "et mål, skal det sidste argument være et katalog; opret lænker i KATALOG " #~ "til\n" #~ "hvert MÅL. Opret hårde lænker som standard, symbolske lænker med --" #~ "symbolic.\n" #~ "Når du opretter hårde lænker, skal hvert MÅL eksistere.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -d, -F, --directory allow the superuser to attempt to hard " #~ "link\n" #~ " directories (note: will probably fail due " #~ "to\n" #~ " system restrictions, even for the " #~ "superuser)\n" #~ " -f, --force remove existing destination files\n" #~ msgstr "" #~ " --backup[=CONTROL] lav sikkerhedskopi af hver eksisterende\n" #~ " destinationsfil\n" #~ " -b ligesom --backup, men tager ikke noget " #~ "argument\n" #~ " -d, -F, --directory lav hårde lænker for kataloger (kun " #~ "superbruger)\n" #~ " -f, --force fjern eksisterende destinationsfiler\n" #~ msgid "" #~ " -n, --no-dereference treat destination that is a symlink to a\n" #~ " directory as if it were a normal file\n" #~ " -i, --interactive prompt whether to remove destinations\n" #~ " -s, --symbolic make symbolic links instead of hard links\n" #~ msgstr "" #~ " -n, --no-dereference behandl destination som er en symbolsk " #~ "lænke\n" #~ " til et katalog som om den er en normal " #~ "fil\n" #~ " -i, --interactive bekræft før sletning af destinationer\n" #~ " -s, --symbolic lav symbolske lænker i stedet for hårde " #~ "lænker\n" #, fuzzy #~ msgid "" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY specify the DIRECTORY in which to " #~ "create\n" #~ " the links\n" #~ " -T, --no-target-directory treat LINK_NAME as a normal file\n" #~ " -v, --verbose print name of each linked file\n" #~ msgstr "" #~ " -S, --suffix=SUFFIKS tilsidesæt det sædvanlige sikkerhedskopi-" #~ "suffiks\n" #~ " --target-directory=KATALOG angiv det KATALOG som lænkerne skal " #~ "oprettes i\n" #~ " -v, --verbose skriv navnet på hver fil før lænkning\n" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s: angivet målkatalog er ikke et katalog" #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Brug: %s [FLAG]\n" #~ msgid "" #~ "Print the name of the current user.\n" #~ "\n" #~ msgstr "" #~ "Udskriv navnet på den nuværende bruger.\n" #~ "\n" #, fuzzy #~ msgid "no login name" #~ msgstr "%s: ikke noget login-navn\n" # Disse to format skal expandera til samme længd. (Det findes en # kommentar omedelbart inden dem i koden om det. Hur får man xgettext # at tage med kommentarer?) #~ msgid "%b %e %Y" #~ msgstr "%e %b %Y" #~ msgid "%b %e %H:%M" #~ msgstr "%e %b %H:%M" #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "ignorerer ugyldig værdi af miljøvariabelen QUOTING_STYLE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "ignorerer ugyldig længde i miljøvariabelen COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "ignorerer ugyldig tabulatorstørrelse i miljøvariabelen TABSIZE: %s" #~ msgid "invalid line width: %s" #~ msgstr "ugyldig linjelængde: %s" #~ msgid "invalid tab size: %s" #~ msgstr "ugyldig tabulatorstørrelse %s" #~ msgid "invalid time style format %s" #~ msgstr "ugyldig tidsstílsformat %s" #~ msgid "unrecognized prefix: %s" #~ msgstr "ukendt præfiks: %s" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "uforståelig værdi i miljøvariabelen LS_COLORS" #~ msgid "cannot open directory %s" #~ msgstr "kan ikke åbne katalog %s" #~ msgid "cannot determine device and inode of %s" #~ msgstr "kan ikke bestemme enhed og inode for %s" #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "viser ikke allerede vist katalog: %s" #, fuzzy #~ msgid "closing directory %s" #~ msgstr "udelader katalog %s" #~ msgid "cannot compare file names %s and %s" #~ msgstr "kan ikke sammenligne filnavnene %s og %s" #, fuzzy #~ msgid "" #~ "List information about the FILEs (the current directory by default).\n" #~ "Sort entries alphabetically if none of -cftuvSUX nor --sort.\n" #~ "\n" #~ msgstr "" #~ "Vis information om FIL'er (nuværende katalog med mindre andet er " #~ "angivet).\n" #~ "Sortér filerne alfabetisk hvis ingen af flagene -cftuSUX eller --sort\n" #~ "er givet.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --all do not ignore entries starting with .\n" #~ " -A, --almost-all do not list implied . and ..\n" #~ " --author with -l, print the author of each file\n" #~ " -b, --escape print octal escapes for nongraphic " #~ "characters\n" #~ msgstr "" #~ " -a, --all skjul ikke filer som starter med .\n" #~ " -A, --almost-all vis ikke . og ..\n" #~ " --author skriv forfatter for hver fil\n" #~ " -b, --escape skriv oktale koder for ikke-grafiske tegn\n" #~ msgid "" #~ " --block-size=SIZE use SIZE-byte blocks\n" #~ " -B, --ignore-backups do not list implied entries ending with ~\n" #~ " -c with -lt: sort by, and show, ctime (time of " #~ "last\n" #~ " modification of file status information)\n" #~ " with -l: show ctime and sort by name\n" #~ " otherwise: sort by ctime\n" #~ msgstr "" #~ " --block-size=STØR brug blokke på STØR byte\n" #~ " -B, --ignore-backups vis ikke filer som ender på ~\n" #~ " -c med -lt: sortér efter, og vis, ctime " #~ "(sidste\n" #~ " ændring af filstatusinformation)\n" #~ " med -l: vis ctime og sortér efter navn\n" #~ " ellers: sortér efter ctime\n" #~ msgid "" #~ " -C list entries by columns\n" #~ " --color[=WHEN] control whether color is used to distinguish " #~ "file\n" #~ " types. WHEN may be `never', `always', or " #~ "`auto'\n" #~ " -d, --directory list directory entries instead of contents,\n" #~ " and do not dereference symbolic links\n" #~ " -D, --dired generate output designed for Emacs' dired " #~ "mode\n" #~ msgstr "" #~ " -C vis filer i kolonner\n" #~ " --color[=NÅR] angiv om du vil bruge farver for at skelne\n" #~ " mellem filtyper. NÅR kan være 'never',\n" #~ " 'always' eller 'auto'.\n" #~ " -d, --directory vis kataloger uden at vise indholdet,\n" #~ " og behold symbolske lænker\n" #~ " -D, --dired lav uddata for Emacs' dired-tilstand\n" #, fuzzy #~ msgid "" #~ " -f do not sort, enable -aU, disable -ls --" #~ "color\n" #~ " -F, --classify append indicator (one of */=>@|) to entries\n" #~ " --file-type likewise, except do not append `*'\n" #~ " --format=WORD across -x, commas -m, horizontal -x, long -" #~ "l,\n" #~ " single-column -1, verbose -l, vertical -C\n" #~ " --full-time like -l --time-style=full-iso\n" #~ msgstr "" #~ " -f sortér ikke, brug -aU, brug ikke -lst\n" #~ " -F, --classify tilføj et bogstav (*/=@|) for at vise " #~ "filtype\n" #~ " --format=ORD 'across' -x, 'commas' -m, 'horizontal' -x, " #~ "'long' -l,\n" #~ " 'single-column' -1, 'verbose' -l, " #~ "'vertical' -C\n" #~ " --full-time ligesom -l --time-style=full-iso\n" #, fuzzy #~ msgid "" #~ " -G, --no-group in a long listing, don't print group names\n" #~ " -h, --human-readable with -l, print sizes in human readable " #~ "format\n" #~ " (e.g., 1K 234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ msgstr "" #~ " -a, --all medtag filsystemer med 0 blokke\n" #~ " -B, --block-size=STR brug blokke på STR byte\n" #~ " -h, --human-readable skriv størrelser på en læsevenlig form \n" #~ " (f.eks. 1K 234M 2G)\n" #~ " -H, --si det samme, men brug 1000 som grundtal, ikke 1024\n" #, fuzzy #~ msgid "" #~ " --indicator-style=WORD append indicator with style WORD to entry " #~ "names:\n" #~ " none (default), slash (-p),\n" #~ " file-type (--file-type), classify (-F)\n" #~ " -i, --inode print the index number of each file\n" #~ " -I, --ignore=PATTERN do not list implied entries matching shell " #~ "PATTERN\n" #~ " -k like --block-size=1K\n" #~ msgstr "" #~ " --indicator-style=ORD tilføj indikator med stilen ORD til " #~ "elementer:\n" #~ " none (standard), classify (-F), file-type " #~ "(-p)\n" #~ " -i, --inode vis indeksnummer for hver fil\n" #~ " -I, --ignore=MØNSTER vis ikke filer som stemmer overens med\n" #~ " skal-MØNSTER\n" #~ " -k, --kilobytes ligesom --block-size=1024\n" #~ msgid "" #~ " -l use a long listing format\n" #~ " -L, --dereference when showing file information for a " #~ "symbolic\n" #~ " link, show information for the file the " #~ "link\n" #~ " references rather than for the link " #~ "itself\n" #~ " -m fill width with a comma separated list of " #~ "entries\n" #~ msgstr "" #~ " -l brug langt listeformat\n" #~ " -L, --dereference vis filer som peges på af symbolske lænker\n" #~ " -m brug hele skærmbredden med en liste adskilt " #~ "af\n" #~ " kommaer\n" #, fuzzy #~ msgid "" #~ " -n, --numeric-uid-gid like -l, but list numeric user and group " #~ "IDs\n" #~ " -N, --literal print raw entry names (don't treat e.g. " #~ "control\n" #~ " characters specially)\n" #~ " -o like -l, but do not list group information\n" #~ " -p, --indicator-style=slash\n" #~ " append / indicator to directories\n" #~ msgstr "" #~ " -n, --numeric-uid-gid ligesom -l, men skriv UID og GID med tal\n" #~ " -N, --literal skriv rå filnavne (behandl ikke fx " #~ "kontroltegn\n" #~ " anderledes)\n" #~ " -o ligesom -l, men vís ikke gruppeinformation\n" #~ " -p --file-type tilføj indikator (/=@|) for filtype\n" #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -q, --hide-control-chars skriv ? i stedet for ikke-grafiske tegn\n" #~ " --show-control-chars vis ikke-grafiske tegn som de er (standard " #~ "med\n" #~ " mindre programmet er 'ls' og uddata er en\n" #~ " terminal)\n" #~ " -Q, --quote-name sæt filnavne i gåseøjne\n" #~ " --quoting-style=ORD brug anførselsstil ORD for filnavn:\n" #~ " literal, locale, shell, shell-always, c\n" #~ " eller escape\n" #, fuzzy #~ msgid "" #~ " -r, --reverse reverse order while sorting\n" #~ " -R, --recursive list subdirectories recursively\n" #~ " -s, --size print the size of each file, in blocks\n" #~ msgstr "" #~ " -r, --reverse sortér i omvendt rækkefølge\n" #~ " -R, --recursive vis underkataloger rekursivt\n" #~ " -s, --size skriv blokstørrelse for hver fil\n" #, fuzzy #~ msgid "" #~ " -S sort by file size\n" #~ " --sort=WORD sort by WORD instead of name: none -U,\n" #~ " extension -X, size -S, time -t, version -v\n" #~ " --time=WORD with -l, show time as WORD instead of " #~ "modification\n" #~ " time: atime -u, access -u, use -u, ctime -" #~ "c,\n" #~ " or status -c; use specified time as sort " #~ "key\n" #~ " if --sort=time\n" #~ msgstr "" #~ " -S sortér efter filstørrelse\n" #~ " --sort=ORD extension -X, none -U, size -S, time -t\n" #~ " version -v\n" #~ " status -c, time -t, atime -u, access -u, use " #~ "-u\n" #~ " --time=ORD vis tid som ORD i stedet for " #~ "ændringstidspunkt:\n" #~ " atime, access, use, ctime eller status; " #~ "brug\n" #~ " angivet tid som sorteringsnøgle hvis --" #~ "sort=tid\n" #, fuzzy #~ msgid "" #~ " --time-style=STYLE with -l, show times using style STYLE:\n" #~ " full-iso, long-iso, iso, locale, +FORMAT.\n" #~ " FORMAT is interpreted like `date'; if FORMAT " #~ "is\n" #~ " FORMAT1FORMAT2, FORMAT1 applies to\n" #~ " non-recent files and FORMAT2 to recent " #~ "files;\n" #~ " if STYLE is prefixed with `posix-', STYLE\n" #~ " takes effect only outside the POSIX locale\n" #~ msgstr "" #~ " --time-style=STIL vis tidspunkter med stilen STIL:\n" #~ " full-iso, iso, locale, posix-iso, +FORMAT\n" #~ " FORMAT fortolkes som 'date'; hvis FORMAT er\n" #~ " FORMAT1FORMAT2, gælder FORMAT1 " #~ "for\n" #~ " ældre filer, og FORMAT2 for nyere filer\n" #~ " -t sortér efter ændringstidspunkt\n" #~ " -T, --tabsize=KOLONNER brug KOLONNER som tabulatorlængde i stedet " #~ "for 8\n" #~ msgid "" #~ " -u with -lt: sort by, and show, access time\n" #~ " with -l: show access time and sort by " #~ "name\n" #~ " otherwise: sort by access time\n" #~ " -U do not sort; list entries in directory " #~ "order\n" #~ " -v sort by version\n" #~ msgstr "" #~ " -u med -lt: sortér efter, og vis, læsningstid\n" #~ " med -l: vis læsningstid og sortér efter " #~ "navn\n" #~ " ellers: sortér efter læsningstid\n" #~ " -U sortér ikke; vis filer som de ligger i " #~ "kataloget\n" #~ " -v sortér efter version\n" #, fuzzy #~ msgid "" #~ " -w, --width=COLS assume screen width instead of current " #~ "value\n" #~ " -x list entries by lines instead of by columns\n" #~ " -X sort alphabetically by entry extension\n" #~ " -Z, --context print any SELinux security context of each " #~ "file\n" #~ " -1 list one file per line\n" #~ msgstr "" #~ " -w, --width=KOLONNER antag skærmbredde i stedet for aktuel værdi\n" #~ " -x vís indgange linjevis i stedet for " #~ "kolonnevis\n" #~ " -X sortér alfabetisk efter endelser\n" #~ " -1 list én fil per linje\n" #, fuzzy #~ msgid "" #~ "\n" #~ "By default, color is not used to distinguish types of files. That is\n" #~ "equivalent to using --color=none. Using the --color option without the\n" #~ "optional WHEN argument is equivalent to using --color=always. With\n" #~ "--color=auto, color codes are output only if standard output is " #~ "connected\n" #~ "to a terminal (tty). The environment variable LS_COLORS can influence " #~ "the\n" #~ "colors, and can be set easily by the dircolors command.\n" #~ msgstr "" #~ "\n" #~ "Normalt bruges farver ikke til at skelne mellem filtyper. Det svarer " #~ "til \n" #~ "at bruge --color=none. At bruge --color-flaget uden det valgfri argument\n" #~ "NÅR svarer til at bruge --color=always. Med --color=auto bruges " #~ "farvekoder\n" #~ "kun hvis standard-uddata er forbundet med en terminal (tty).\n" #, fuzzy #~ msgid "Ulrich Drepper" #~ msgstr "Ulrich Drepper og Scott Miller" #, fuzzy #~ msgid "David Madore" #~ msgstr "Paul Rubin og David MacKenzie" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Brug: %s [FLAG] [FIL]...\n" #~ " eller: %s [FLAG] --check [FIL]\n" #~ "Skriv eller tjek %s-kontrolsummer (%d-bit).\n" #~ "Hvis ingen FIL er angivet eller FIL er -, læses fra standard-ind.\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary skriv binært til konsolenheden.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The following two options are useful only when verifying checksums:\n" #~ " --status don't output anything, status code shows " #~ "success\n" #~ " -w, --warn warn about improperly formatted checksum lines\n" #~ "\n" #~ msgstr "" #~ "De følgende to flag bruges kun ved kontrol af kontrolsummer:\n" #~ " --status udskriv ikke noget, statuskode angiver resultat\n" #~ " -w, --warn advar mod fejlformatterede kontrolsum-linjer\n" #~ "\n" #~ msgid "" #~ "\n" #~ "The sums are computed as described in %s. When checking, the input\n" #~ "should be a former output of this program. The default mode is to print\n" #~ "a line with checksum, a character indicating type (`*' for binary, ` ' " #~ "for\n" #~ "text), and name for each FILE.\n" #~ msgstr "" #~ "\n" #~ "Summerne bliver beregnet som beskrevet i %s. Ved kontrol skal\n" #~ "inddata være tidligere uddata fra dette program. Forvalgt \n" #~ "tilstand er at udskrive en linje med kontrolsum, et tegn som indikerer\n" #~ "type ('*' for binær, ' ' for tekst), og navnet på hver FIL.\n" #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "%s: ingen rigtigt formatterede %s-kontrolsumlinjer fundet" #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %lu: ukorrekt formatteret %s-kontrolsumlinje" #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: FEJL ved åbning eller læsning\n" #~ msgid "OK" #~ msgstr "O.k." #~ msgid "%s: read error" #~ msgstr "%s: læsefejl" #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: ingen rigtigt formatterede %s-kontrolsumlinjer fundet" #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "ADVARSEL: %d af %d opførte %s kunne ikke læses" #~ msgstr[1] "ADVARSEL: %d af %d opførte %s kunne ikke læses" #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "ADVARSEL: %d af %d beregnede %s stemte IKKE overens" #~ msgstr[1] "ADVARSEL: %d af %d beregnede %s stemte IKKE overens" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "flagene --binary og --text giver ikke mening ved verificering af " #~ "kontrolsummer" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "flaget --status har kun betydning ved kontrol af kontrolsummer" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "flaget --warn har kun betydning ved kontrol af kontrolsummer" #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Brug: %s [FLAG] KATALOG...\n" #~ msgid "" #~ "Create the DIRECTORY(ies), if they do not already exist.\n" #~ "\n" #~ msgstr "" #~ "Opret KATALOG(erne), hvis de ikke allerede eksisterer.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ " -m, --mode=RETTIGHEDER sæt rettigheder (som chmod), ikke rwxrwxrwx - " #~ "umask\n" #~ " -p, --parents opret forældrekataloger om nødvendigt\n" #~ " -v, --verbose skriv en besked for hvert katalog som oprettes\n" #~ msgid "created directory %s" #~ msgstr "oprettede katalog %s" #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Brug: %s [FLAG] NAVN...\n" #~ msgid "" #~ "Create named pipes (FIFOs) with the given NAMEs.\n" #~ "\n" #~ msgstr "" #~ "Opret navngivne datakanaler (FIFO-er) med angivne NAVN'e.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ " -m, --mode=TILSTAND sæt rettighedstilstand (ligesom chmod), ikke a=rw " #~ "- umask\n" #~ msgid "invalid mode" #~ msgstr "ugyldig tilstand" #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Brug: %s [FLAG]... NAVN TYPE [STØRRE MINDRE]\n" #~ msgid "" #~ "Create the special file NAME of the given TYPE.\n" #~ "\n" #~ msgstr "" #~ "Opret specialfilen NAVN med den angivne TYPE.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they\n" #~ "must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X,\n" #~ "it is interpreted as hexadecimal; otherwise, if it begins with 0, as " #~ "octal;\n" #~ "otherwise, as decimal. TYPE may be:\n" #~ msgstr "" #~ "\n" #~ "Både STØRRE og MINDRE skal angives når TYPE er b, c eller u, og de\n" #~ "må ikke angives når TYPE er p. Hvis STØRRE eller MINDRE begynder med 0x " #~ "eller 0X,\n" #~ "forstås det som heksadecimalt; ellers hvis de begynder med 0, som " #~ "oktalt;\n" #~ "ellers decimalt. TYPE kan være:\n" #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "\n" #~ " b opret en blok-specialfil (bufret) \n" #~ " c, u opret en tegn-specialfil (ubufret) \n" #~ " p opret en FIFO\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "ved oprettelse af specialfiler skal større og mindre\n" #~ "enhedsnumre angives" #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "ugyldigt mindre enhedsnummer %s" #~ msgid "block special files not supported" #~ msgstr "blokspecialfiler understøttes ikke" #~ msgid "character special files not supported" #~ msgstr "tegnspecialfiler understøttes ikke" #~ msgid "invalid major device number %s" #~ msgstr "ugyldigt større enhedsnummer %s" #~ msgid "invalid minor device number %s" #~ msgstr "ugyldigt mindre enhedsnummer %s" #~ msgid "invalid device %s %s" #~ msgstr "ugyldig enhed %s %s" #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "ugyldig enhed %s %s" #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Brug: %s [FLAG]... [FIL]\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "for mange argumenter" #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "kan ikke oprette katalog %s" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "kunne ikke beholde tider for %s" #~ msgid "" #~ "Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Omdøb KILDE til MÅL eller flyt KILDE(r) til KATALOG.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --backup[=CONTROL] make a backup of each existing destination " #~ "file\n" #~ " -b like --backup but does not accept an " #~ "argument\n" #~ " -f, --force do not prompt before overwriting\n" #~ " -i, --interactive prompt before overwrite\n" #~ msgstr "" #~ " --backup[=KONTROL] lav sikkerhedskopi af hver eksisterende " #~ "målfil\n" #~ " -b ligesom --backup, men tager ikke noget " #~ "argument\n" #~ " -f, --force overskriv eksisterende filer uden " #~ "bekræftelse\n" #~ " -i, --interactive bekræft før overskrivning af filer\n" #~ " det samme som --reply=query\n" #, fuzzy #~ msgid "" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ msgstr "" #~ " --reply={yes,no,query} angiv hvorledes forespørgsel om " #~ "eksisterende målfil\n" #~ " skal behandles\n" #~ " --strip-trailing-slashes fjern evt. skråstreger i slutningen af \n" #~ " hvert MÅL-argument\n" #~ " -S, --suffix=ENDELSE tilsidesæt den sædvanlige sikkerhedskopi-" #~ "endelse\n" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ " --target-directory=KATALOG flyt alle MÅL-argumenter til KATALOG\n" #~ " -u, --update kopiér kun hvis KILDE-filen er nyere end\n" #~ " målfilen, eller når målfilen ikke " #~ "findes\n" #~ " -v, --verbose forklar hvad der sker\n" #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Brug: %s [FLAG]... [KOMMANDO [ARG]...]\n" #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "ugyldigt argument '%s'" #~ msgid "a command must be given with an adjustment" #~ msgstr "en kommando skal være givet med en justering" #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "kan ikke finde ud af systemnavnet" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "kan ikke sætte dato" #~ msgid "" #~ "Write each FILE to standard output, with line numbers added.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv hver fil til standard-ud, med linjenummer lagt til.\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #~ "\n" #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ " -b, --body-numbering=STIL brug STIL til nummerering\n" #~ " -d, --section-delimiter=CC brug CC til at skille logiske sider\n" #~ " -f, --footer-numbering=STIL brug STIL til at nummerere bundtekst\n" #~ "\n" #~ msgid "" #~ " -h, --header-numbering=STYLE use STYLE for numbering header lines\n" #~ " -i, --page-increment=NUMBER line number increment at each line\n" #~ " -l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as " #~ "one\n" #~ " -n, --number-format=FORMAT insert line numbers according to " #~ "FORMAT\n" #~ " -p, --no-renumber do not reset line numbers at logical " #~ "pages\n" #~ " -s, --number-separator=STRING add STRING after (possible) line " #~ "number\n" #~ msgstr "" #~ " -h, --header-numbering=STIL brug STIL for at nummerere toptekst\n" #~ " -i, --page-increment=ANTAL linjenummerforøgelse for hver linje\n" #~ " -l, --join-blank-lines=ANTAL ANTAL tomme linjer som tæller som en\n" #~ " -n, --number-format=FORMAT indsæt linjenummer efter FORMAT\n" #~ " -p, --no-renumber begynd ikke linjenumre på ny ved " #~ "logiske\n" #~ " sider\n" #~ " -s, --number-separator=STRENG tilføj STRENG efter (muligt) " #~ "linjenummer\n" #~ msgid "" #~ " -v, --first-page=NUMBER first line number on each logical page\n" #~ " -w, --number-width=NUMBER use NUMBER columns for line numbers\n" #~ msgstr "" #~ " -v, --first-page=ANTAL første linjenummer på hver logiske " #~ "side\n" #~ " -w, --number-width=ANTAL brug ANTAL kolonner for " #~ "linjenummerering\n" #~ msgid "" #~ "\n" #~ "By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n" #~ "two delimiter characters for separating logical pages, a missing\n" #~ "second character implies :. Type \\\\ for \\. STYLE is one of:\n" #~ msgstr "" #~ "\n" #~ "Forvalgt er -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC er\n" #~ "to skilletegn for at skille logiske sider, et manglende tegn nummer to\n" #~ "implicerer ':'. Brug \\\\ for \\. STIL er en af:\n" #, fuzzy #~ msgid "" #~ "\n" #~ " a number all lines\n" #~ " t number only nonempty lines\n" #~ " n number no lines\n" #~ " pBRE number only lines that contain a match for the basic regular\n" #~ " expression, BRE\n" #~ "\n" #~ "FORMAT is one of:\n" #~ "\n" #~ " ln left justified, no leading zeros\n" #~ " rn right justified, no leading zeros\n" #~ " rz right justified, leading zeros\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " a nummerér alle linjer\n" #~ " t nummerér kun ikke-tomme linjer\n" #~ " n nummerér ingen linjer\n" #~ " pREGUDT nummerér kun linjer som passer REGUDT\n" #~ "\n" #~ "FORMAT er et af følgende:\n" #~ "\n" #~ " ln venstrejusteret, ingen ledende nuller\n" #~ " rn højrejusteret, ingen ledende nuller\n" #~ " rz højrejusteret, ledende nuller\n" #~ "\n" #, fuzzy #~ msgid "line number overflow" #~ msgstr "felt-nummeret er nul" #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "ugyldigt feltnummer: \"%s\"" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "ugyldigt antal %s" #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "ugyldigt filnummer i feltspec: \"%s\"" #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "ugyldigt første linjenummer: \"%s\"" #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "ugyldig øgning af linjenummer: \"%s\"" #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "ugyldigt antal tomme linjer: \"%s\"" #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "ugyldig bredde på linjenummerfelt: \"%s\"" #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "ugyldig øgning af linjenummer: \"%s\"" #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s FORMAT [ARGUMENT]...\n" #~ " eller: %s FLAG\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "ignorerer alle argumenter" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "kunne ikke beholde tider for %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Brug: %s [FLAG]... [FIL]...\n" #~ " eller: %s --traditional [FIL] [[+]POSITION [[+]MÆRKE]]\n" #~ msgid "" #~ "\n" #~ "Write an unambiguous representation, octal bytes by default,\n" #~ "of FILE to standard output. With more than one FILE argument,\n" #~ "concatenate them in the listed order to form the input.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Skriv en entydig repræsentation, oktale byte forvalgt, af FIL\n" #~ "til standard-ud. Med mere end ét FIL-argument sammenkædes de i\n" #~ "den angivne rækkefølge som inddata. Hvis ingen FIL er angivet,\n" #~ "eller FIL er -, læses fra standard-ind.\n" #~ "\n" #~ msgid "All arguments to long options are mandatory for short options.\n" #~ msgstr "" #~ "Alle argumenter til lange flag er obligatoriske for de korte flag.\n" #~ msgid "" #~ " -A, --address-radix=RADIX decide how file offsets are printed\n" #~ " -j, --skip-bytes=BYTES skip BYTES input bytes first\n" #~ msgstr "" #~ " -A, --address-radix=RADIX bestem hvordan filoffset'er skrives\n" #~ " -j, --skip-bytes=BYTE overspring første BYTE fra hver fil\n" #, fuzzy #~ msgid "" #~ " -N, --read-bytes=BYTES limit dump to BYTES input bytes\n" #~ " -S, --strings[=BYTES] output strings of at least BYTES graphic " #~ "chars\n" #~ " -t, --format=TYPE select output format or formats\n" #~ " -v, --output-duplicates do not use * to mark line suppression\n" #~ " -w, --width[=BYTES] output BYTES bytes per output line\n" #~ " --traditional accept arguments in traditional form\n" #~ msgstr "" #~ " -N, --read-bytes=BYTE begræns opgaven til første antal BYTE fra " #~ "hver fil\n" #~ " -s, --strings[=BYTE] udskriv strenge med mindst antal BYTE " #~ "grafiske tegn\n" #~ " -t, --format=TYPE vælg udformater\n" #~ " -v, --output-duplicates brug ikke * for at markere linjefjernelse\n" #~ " -w, --width[=BYTE] skriv BYTE byte per udlinje\n" #~ " --traditional acceptér argumenter på traditionel form\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Traditional format specifications may be intermixed; they accumulate:\n" #~ " -a same as -t a, select named characters, ignoring high-order bit\n" #~ " -b same as -t o1, select octal bytes\n" #~ " -c same as -t c, select ASCII characters or backslash escapes\n" #~ " -d same as -t u2, select unsigned decimal 2-byte units\n" #~ msgstr "" #~ "\n" #~ "Traditionelle formatangivelser kan blandes, de akkumulerer:\n" #~ " -a samme som -t a, vælg navngivne tegn\n" #~ " -b samme som -t oC, vælg oktalbyte\n" #~ " -c samme som -t c, vælg ASCII-tegn eller omvendt skråstreg-notation\n" #~ " -d samme som -t u2, vælg korte decimaler uden fortegn\n" #, fuzzy #~ msgid "" #~ " -f same as -t fF, select floats\n" #~ " -i same as -t dI, select decimal ints\n" #~ " -l same as -t dL, select decimal longs\n" #~ " -o same as -t o2, select octal 2-byte units\n" #~ " -s same as -t d2, select decimal 2-byte units\n" #~ " -x same as -t x2, select hexadecimal 2-byte units\n" #~ msgstr "" #~ " -f samme som -t fF, vælg flydende tal\n" #~ " -h samme som -t x2, vælg korte hexadecimaler\n" #~ " -i samme som -t d2, vælg korte decimaler\n" #~ " -l samme som -t d4, vælg lange decimaler\n" #~ " -o samme som -t o2, vælg korte oktaler\n" #~ " -x samme som -t x2, vælg korte hexadecimaler\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If first and second call formats both apply, the second format is " #~ "assumed\n" #~ "if the last operand begins with + or (if there are 2 operands) a digit.\n" #~ "An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n" #~ "at first byte printed, incremented when dump is progressing.\n" #~ "For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n" #~ "suffixes may be . for octal and b for multiply by 512.\n" #~ msgstr "" #~ "\n" #~ "Ved ældre syntaks ('second call format') opfattes POSITION som -j " #~ "POSITION. \n" #~ "MÆRKE er pseudoadressen til den første udskrevne byte, som øges mens\n" #~ "udskriften pågår. For POSITION og MÆRKE indikerer en 0x- eller \n" #~ "0X-forstavelse hexadecimalt talformat. Endelser kan være '.' for oktal,\n" #~ "og b for blokke på 512 bytes.\n" #~ "\n" #~ "TYPE er lavet af en eller flere af følgende angivelser:\n" #~ "\n" #~ " a et navngivet tegn\n" #~ " c ASCII-tegn eller omvendt skråstreg-notation\n" #~ msgid "" #~ " d[SIZE] signed decimal, SIZE bytes per integer\n" #~ " f[SIZE] floating point, SIZE bytes per integer\n" #~ " o[SIZE] octal, SIZE bytes per integer\n" #~ " u[SIZE] unsigned decimal, SIZE bytes per integer\n" #~ " x[SIZE] hexadecimal, SIZE bytes per integer\n" #~ msgstr "" #~ " d[STØRRELSE] decimal med fortegn, STØRRELSE byte per tal\n" #~ " f[STØRRELSE] flydende tal, STØRRELSE byte per tal\n" #~ " o[STØRRELSE] oktal, STØRRELSE byte per tal\n" #~ " u[STØRRELSE] decimal uden fortegn, STØRRELSE byte per tal\n" #~ " x[STØRRELSE] hexadecimal, STØRRELSE byte per tal\n" #~ msgid "" #~ "\n" #~ "SIZE is a number. For TYPE in doux, SIZE may also be C for\n" #~ "sizeof(char), S for sizeof(short), I for sizeof(int) or L for\n" #~ "sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D\n" #~ "for sizeof(double) or L for sizeof(long double).\n" #~ msgstr "" #~ "\n" #~ "STØRRELSE er et tal. For TYPE lig med d, o, u eller x, kan STØRRELSE også " #~ "være\n" #~ "C for sizeof(char), S for sizeof(short), I for sizeof(int) eller L for \n" #~ "sizeof(long). Når TYPE er f, kan STØRRELSE være F for sizeof(float), \n" #~ "D for sizeof(double) eller L for sizeof(long double).\n" #, fuzzy #~ msgid "" #~ "\n" #~ "RADIX is d for decimal, o for octal, x for hexadecimal or n for none.\n" #~ "BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier " #~ "suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "Adding a z suffix to any type displays printable characters at the end of " #~ "each\n" #~ "output line. " #~ msgstr "" #~ "\n" #~ "RADIX er d for decimal, o for oktal, x for hexadecimal eller n for " #~ "ingen.\n" #~ "BYTE er hexadecimal med 0x- eller 0X-prefix, multipliceres med 512\n" #~ "med endelse b, med 1024 med endelse k og med 1048576 med endelse m. \n" #~ "En z-endelse for en hvilken som helst type viser skrivbare tegn til " #~ "slutningen\n" #~ "af hver linje af udskriften. " #, fuzzy #~ msgid "" #~ "--string without a number implies 3. --width without a number\n" #~ "implies 32. By default, od uses -A o -t d2 -w16.\n" #~ msgstr "" #~ "--string uden et tal implicerer 3. --width uden et tal implicerer 32.\n" #~ "Normalt bruger od: -A o -t d2 -w 16.\n" #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "ugyldig typestreng \"%s\"" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "ugyldig type-streng '%s';\n" #~ "dette system understøtter ikke en %lu-byte heltalstype" #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "ugyldig type-streng '%s';\n" #~ "dette system understøtter ikke en %lu-byte flydende-talstype" #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "ugyldigt tegn \"%c\" i typestreng \"%s\"" #~ msgid "cannot skip past end of combined input" #~ msgstr "kan ikke hoppe til efter slutning på kombineret inddata" #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "" #~ "ugyldig ud-adresse-grundtal '%c'; det skal være et af tegnene [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "ingen type kan angives når strenge gemmes" #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "kompatibilitetstilstand støtter maksimum tre argumenter" #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "advarsel: ugyldig bredde %lu; bruger %d i stedet" #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" bredde=%d\n" #~ msgid "standard input is closed" #~ msgstr "standard-ind er lukket" #~ msgid "" #~ "Write lines consisting of the sequentially corresponding lines from\n" #~ "each FILE, separated by TABs, to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv linjer som består af de sekventielt tilsvarende linjer fra hver\n" #~ "FIL, separeret med tabulatorer, til standard-ud.\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #~ "\n" #~ msgid "" #~ " -d, --delimiters=LIST reuse characters from LIST instead of TABs\n" #~ " -s, --serial paste one file at a time instead of in " #~ "parallel\n" #~ msgstr "" #~ " -d, --delimiters=LISTE brug tegn fra LISTE i stedet for tabulatorer\n" #~ " -s, --serial indsæt en fil ad gangen i stedet for i " #~ "parallel\n" #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Brug: %s [FLAG]... NAVN...\n" #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "ugyldigt tegn %s i tilstands-streng %s" #, fuzzy #~ msgid "empty file name" #~ msgstr "almindelig tom fil" #, fuzzy #~ msgid "Joseph Arceneaux" #~ msgstr "Joseph Arceneaux og David MacKenzie" #~ msgid "Login name: " #~ msgstr "Login-navn: " #~ msgid "In real life: " #~ msgstr "I virkeligheden: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Katalog: " #~ msgid "Shell: " #~ msgstr "Skal: " #~ msgid "Project: " #~ msgstr "Projekt: " #~ msgid "Plan:\n" #~ msgstr "Plan:\n" #~ msgid "Login" #~ msgstr "Login" #~ msgid "Name" #~ msgstr "Navn" #~ msgid " TTY" #~ msgstr " TTY" #~ msgid "Idle" #~ msgstr "Inaktiv" #~ msgid "When" #~ msgstr "Hvornår" #~ msgid "Where" #~ msgstr "Hvor" #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Brug: %s [FLAG]... [BRUGER]...\n" #~ msgid "" #~ "\n" #~ " -l produce long format output for the specified USERs\n" #~ " -b omit the user's home directory and shell in long " #~ "format\n" #~ " -h omit the user's project file in long format\n" #~ " -p omit the user's plan file in long format\n" #~ " -s do short format output, this is the default\n" #~ msgstr "" #~ "\n" #~ " -l udskriv i langt format for de angivne BRUGER'e\n" #~ " -b udelad brugerens hjemmekatalog og skál i det lange " #~ "format\n" #~ " -h udelad brugerens projektfil i det lange format\n" #~ " -p udelad brugerens planfil i det lange format\n" #~ " -s udskriv i kort format, dette er standard\n" #~ msgid "" #~ " -f omit the line of column headings in short format\n" #~ " -w omit the user's full name in short format\n" #~ " -i omit the user's full name and remote host in short " #~ "format\n" #~ " -q omit the user's full name, remote host and idle time\n" #~ " in short format\n" #~ msgstr "" #~ " -f udelad linjen med kolonneoverskrifter i kort format\n" #~ " -w udelad brugerens fuldstændige navn i kort format\n" #~ " -i udelad brugerens fuldstændige navn og fjernvært i kort\n" #~ " format\n" #~ " -q udelad brugerens fuldstændige navn, fjernvært og \n" #~ " inaktiv tid i kort format\n" #~ msgid "" #~ "\n" #~ "A lightweight `finger' program; print user information.\n" #~ "The utmp file will be %s.\n" #~ msgstr "" #~ "\n" #~ "Et letvægts \"finger\"-program; udskriver brugerinformation.\n" #~ "utmp-filen vil være %s.\n" #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "intet brugernavn angivet; mindst ét skal angives når -l bruges" #, fuzzy #~ msgid "Roland Huebner" #~ msgstr "Pete TerMaat og Roland Hübner" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "'--pages=START_SIDE[:SLUT_SIDE]' mangler argument" #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "ugyldig typestreng \"%s\"" #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "'-l SIDELÆNGDE' ugyldigt antal linjer: '%s'" #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "'-N TAL' ugyldigt start-linjenummer: '%s'" #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "'-o MARGEN' ugyldigt linje-afsæt: '%s'" #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "'-w SIDEBREDDE' ugyldigt antal tegn: '%s'" #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "'-W SIDEBREDDE' ugyldigt antal tegn: '%s'" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "Kan ikke angive antal kolonner når der skrives i parallel." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "Kan ikke angive både skrivning på tværs og skriving parallelt" #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "'-%c' ekstra tegn eller ugyldig tal i argumentet: '%s'" #~ msgid "page width too narrow" #~ msgstr "sidebredde for smal" #, fuzzy #~ msgid "Page number overflow" #~ msgstr "felt-nummeret er nul" #~ msgid "" #~ "Paginate or columnate FILE(s) for printing.\n" #~ "\n" #~ msgstr "Sidenummerér eller omform FIL(er) til kolonner for udskrivning.\n" #~ msgid "" #~ " +FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n" #~ " begin [stop] printing with page FIRST_[LAST_]PAGE\n" #~ " -COLUMN, --columns=COLUMN\n" #~ " output COLUMN columns and print columns down,\n" #~ " unless -a is used. Balance number of lines in the\n" #~ " columns on each page.\n" #~ msgstr "" #~ " +FØRSTE_SIDE[:SIDSTE_SIDE], --pages=FØRSTE_SIDE[:SIDSTE_SIDE]\n" #~ " start [slut] udskrift med FØRSTE_[SIDSTE_]SIDE\n" #~ " -KOLONNER, --columns=KOLONNER\n" #~ " lav KOLONNER-kolonners udskrift og skriv kolonner " #~ "nedad\n" #~ " medmindre '-a' er angivet: balancér antal linjer\n" #~ " i kolonnerne på hver side.\n" #~ msgid "" #~ " -a, --across print columns across rather than down, used together\n" #~ " with -COLUMN\n" #~ " -c, --show-control-chars\n" #~ " use hat notation (^G) and octal backslash notation\n" #~ " -d, --double-space\n" #~ " double space the output\n" #~ msgstr "" #~ " -a, --across skriv kolonner henover i stedet for nedad. Bruges\n" #~ " sammen med -KOLONNER\n" #~ " -c, --show-control-chars\n" #~ " brug hat-notation (^G) og oktal omvendt " #~ "skråstrgsnotation\n" #~ " -d, --double-space\n" #~ " dobbelt afstand i udskriften\n" #~ msgid "" #~ " -D, --date-format=FORMAT\n" #~ " use FORMAT for the header date\n" #~ " -e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]]\n" #~ " expand input CHARs (TABs) to tab WIDTH (8)\n" #~ " -F, -f, --form-feed\n" #~ " use form feeds instead of newlines to separate pages\n" #~ " (by a 3-line page header with -F or a 5-line header\n" #~ " and trailer without -F)\n" #~ msgstr "" #~ " -D, --date-format=FORMAT\n" #~ " brug FORMAT for dato i overskriften\n" #~ " -e[TEGN[BREDDE]], --expand-tabs[=TEGN[BREDDE]]\n" #~ " udvid ind-TEGN (TABs) til BREDDE blanktegn (8)\n" #~ " -F, -f, --form-feed\n" #~ " brug sideskift(FF) i stedet for linjeskift for at\n" #~ " separere sider (med et 3-linjers sidehoved med -F " #~ "eller\n" #~ " et 5-linjers hoved og bund uden -F).\n" #~ msgid "" #~ " -h HEADER, --header=HEADER\n" #~ " use a centered HEADER instead of filename in page " #~ "header,\n" #~ " -h \"\" prints a blank line, don't use -h\"\"\n" #~ " -i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]]\n" #~ " replace spaces with CHARs (TABs) to tab WIDTH (8)\n" #~ " -J, --join-lines merge full lines, turns off -W line truncation, no " #~ "column\n" #~ " alignment, --sep-string[=STRING] sets separators\n" #~ msgstr "" #~ " -h OVERSKRIFT, --header=OVERSKRIFT\n" #~ " brug centreret OVERSKRIFT i stedet for filnavn i " #~ "sidetopteksterne\n" #~ " -h \"\" skriver en blank linje. Brug ikke -h\"\".\n" #~ " -i[TEGN[BREDDE]], --output-tabs=[TEGN[BREDDE]]\n" #~ " erstat BREDDE (8) mellemrum til TEGN (TABs) \n" #~ " -J, --join-lines flet fulde linjer. Deaktiverer -W linjetrunkering,\n" #~ " ingen kolonnejustering, --sep-string[=STRENG] sætter " #~ "separatorer\n" #~ msgid "" #~ " -l PAGE_LENGTH, --length=PAGE_LENGTH\n" #~ " set the page length to PAGE_LENGTH (66) lines\n" #~ " (default number of lines of text 56, and with -F 63)\n" #~ " -m, --merge print all files in parallel, one in each column,\n" #~ " truncate lines, but join lines of full length with -" #~ "J\n" #~ msgstr "" #~ " -l SIDELÆNGDE, --length=SIDELÆNGDE\n" #~ " sæt sidelængde til SIDELÆNGDE (66) linjer\n" #~ " (forvalgt antal linjer med tekst er 56 med -f 63)\n" #~ " -m, --merge udskriv alle filer parallelt, en i hver kolonne\n" #~ " trunkér linjer, men flet linjer af fuld længde med -" #~ "j\n" #~ msgid "" #~ " -n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]]\n" #~ " number lines, use DIGITS (5) digits, then SEP (TAB),\n" #~ " default counting starts with 1st line of input file\n" #~ " -N NUMBER, --first-line-number=NUMBER\n" #~ " start counting with NUMBER at 1st line of first\n" #~ " page printed (see +FIRST_PAGE)\n" #~ msgstr "" #~ " -n[SEP[CIFRE]], --number-lines[=SEP[CIFRE]\n" #~ " nummerér linjer, brug CIFRE (5) cifre, så SEP (TAB)\n" #~ " forvalgt tælling starter med første linje af indfil\n" #~ " -N NUMMER, --first-line-number=NUMMER\n" #~ " start tælling med NUMMER på første linje på første " #~ "side\n" #~ " som skrives (se +FØRSTE_SIDE)\n" #~ msgid "" #~ " -o MARGIN, --indent=MARGIN\n" #~ " offset each line with MARGIN (zero) spaces, do not\n" #~ " affect -w or -W, MARGIN will be added to PAGE_WIDTH\n" #~ " -r, --no-file-warnings\n" #~ " omit warning when a file cannot be opened\n" #~ msgstr "" #~ " -o MARGEN, --indent=MARGEN\n" #~ " indryk linjer MARGEN mellemrum (påvirker ikke -w)\n" #~ " eller -W, MARGEN vil blive lagt til SIDEBREDDE\n" #~ " -r, --no-file-warnings\n" #~ " advar ikke når en fil ikke kan åbnes\n" #~ msgid "" #~ " -s[CHAR],--separator[=CHAR]\n" #~ " separate columns by a single character, default for " #~ "CHAR\n" #~ " is the character without -w and 'no char' with -" #~ "w\n" #~ " -s[CHAR] turns off line truncation of all 3 column\n" #~ " options (-COLUMN|-a -COLUMN|-m) except -w is set\n" #~ msgstr "" #~ " -s[TEGN], --separator[=TEGN]\n" #~ " adskil kolonner med et enkelt TEGN. Forvalgt TEGN " #~ "er\n" #~ " TAB uden -w og 'ingen tegn' med -w.\n" #~ " -s[TEGN] slår linjetrunkering fra for alle 3 " #~ "kolonne-\n" #~ " flagene (-KOLONNER|-a -KOLONNER|-m) bortset fra -w\n" #~ msgid " -SSTRING, --sep-string[=STRING]\n" #~ msgstr " -SSTRENG, --sep-string[=STRENG]\n" #, fuzzy #~ msgid "" #~ " separate columns by STRING,\n" #~ " without -S: Default separator with -J and " #~ "\n" #~ " otherwise (same as -S\" \"), no effect on column " #~ "options\n" #~ " -t, --omit-header omit page headers and trailers\n" #~ msgstr "" #~ " adskil kolonner med STRENG,\n" #~ " uden -S: forvalgt skilletegn er med -J og " #~ "\n" #~ " ellers (samme som -S\" \"), ingen effekt på " #~ "kolonneflag\n" #~ " -t, --omit-header brug ikke top- og bundtekst\n" #~ msgid "" #~ " -T, --omit-pagination\n" #~ " omit page headers and trailers, eliminate any " #~ "pagination\n" #~ " by form feeds set in input files\n" #~ " -v, --show-nonprinting\n" #~ " use octal backslash notation\n" #~ " -w PAGE_WIDTH, --width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters for\n" #~ " multiple text-column output only, -s[char] turns off " #~ "(72)\n" #~ msgstr "" #~ " -T, --omit-pagination\n" #~ " brug ikke top- og bundtekst, eliminer evt. side-" #~ "layout\n" #~ " ved sideskift(FF) sat i indfiler\n" #~ " -v, --show-nonprinting\n" #~ " brug oktal omvendt skråstregsnotation\n" #~ " -w SIDEBREDDE, --width=SIDEBREDDE\n" #~ " sæt sidebredde til SIDEBREDDE (72) kolonner, kun for\n" #~ " flerkolonneudskrift, -s[tegn] slår fra (72)\n" #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ " -W SIDEBREDDE, --page-width=SIDEBREDDE\n" #~ " sæt sidebredde til SIDEBREDDE (72) kolonner, altid.\n" #~ " Trunkér linjer hvis -J ikke er sat. Påvirker\n" #~ " ikke -S eller -s\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "-T er medført af -l nn, når nn <= 10 eller <= 3 ved -F. Hvis ingen FIL\n" #~ "er angivet eller FIL er -, læses fra standard-ind.\n" #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Brug: %s [VARIABEL]...\n" #~ "eller: %s FLAG\n" #~ "Hvis ingen miljø-VARIABEL er angivet, udskriv alle.\n" #~ "\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "advarsel: %s: tegn efter tegnkonstant er blevet ignorerede" #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s FORMAT [ARGUMENT]...\n" #~ " eller: %s FLAG\n" #, fuzzy #~ msgid "" #~ "Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:\n" #~ "\n" #~ msgstr "" #~ "Udskriv ARGUMENT'er ifølge FORMAT.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "FORMAT controls the output as in C printf. Interpreted sequences are:\n" #~ "\n" #~ " \\\" double quote\n" #~ " \\NNN character with octal value NNN (1 to 3 digits)\n" #~ " \\\\ backslash\n" #~ msgstr "" #~ "\n" #~ "FORMAT styrer uddata som i C printf. Tolkede sekvenser er:\n" #~ "\n" #~ " \\\" citationstegn\n" #~ " \\0NNN tegn med oktal værdi NNN (0 til 3 cifre)\n" #~ " \\\\ omvendt skråstreg\n" #~ msgid "" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ " \\c produce no further output\n" #~ " \\f form feed\n" #~ msgstr "" #~ " \\a advarsel (SIGNAL)\n" #~ " \\b baktegn\n" #~ " \\c lav ikke mere uddata\n" #~ " \\f sideskift\n" #~ msgid "" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\n ny linje\n" #~ " \\r vognretur\n" #~ " \\t vandret tabulator\n" #~ " \\v lodret tabulator\n" #, fuzzy #~ msgid "" #~ " \\xHH byte with hexadecimal value HH (1 to 2 digits)\n" #~ " \\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 " #~ "digits)\n" #~ " \\UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits)\n" #~ msgstr "" #~ " \\xNN byte med heksadecimal værdi NN (1 il 2 cifre)\n" #~ "\n" #~ " \\uNNNN tegn med heksadecimal værdi NNNN (4 cifre)\n" #~ " \\UNNNNNNNN tegn med heksadecimal værdi NNNNNNNN (8 cifre)\n" #, fuzzy #~ msgid "" #~ " %% a single %\n" #~ " %b ARGUMENT as a string with `\\' escapes interpreted,\n" #~ " except that octal escapes are of the form \\0 or \\0NNN\n" #~ "\n" #~ "and all C format specifications ending with one of diouxXfeEgGcs, with\n" #~ "ARGUMENTs converted to proper type first. Variable widths are handled.\n" #~ msgstr "" #~ " %% et enkelt %\n" #~ " %b ARGUMENT som en streng med \"\\\"-kontrolsekvenser tolkes\n" #~ "\n" #~ "og alle specifikationer i C-format som slutter med en af diouxXfeEgGcs, " #~ "med \n" #~ "ARGUMENT'er konverterede til en passende type først. Variable bredder " #~ "behandles.\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: forventede en numerisk værdi" #~ msgid "%s: value not completely converted" #~ msgstr "%s: værdi ikke fuldstændig konverteret" #~ msgid "missing hexadecimal number in escape" #~ msgstr "manglende heksadecimal-tal i beskyttet tegnsekvens" #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "ugyldigt universelt tegnnavn \\%c%0*x" #~ msgid "invalid field width: %s" #~ msgstr "ugyldig feltlængde: %s" #~ msgid "invalid precision: %s" #~ msgstr "ugyldig præcision: %s" #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: ugyldig feltangivelse '%s'" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "advarsel: ignorerer overflødige argumenter, startende med '%s'" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (for regexp '%s')" #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Brug: %s [FLAG]... [INDFIL]... (uden -G)\n" #~ " eller: %s -G [FLAG]... [INDFIL [UDFIL]]\n" #~ msgid "" #~ "Output a permuted index, including context, of the words in the input " #~ "files.\n" #~ "\n" #~ msgstr "" #~ "Udskriv et permuteret indeks, med kontekst, over ordene i " #~ "inddatafilerne.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -A, --auto-reference output automatically generated " #~ "references\n" #~ " -G, --traditional behave more like System V `ptx'\n" #~ " -F, --flag-truncation=STRING use STRING for flagging line " #~ "truncations\n" #~ msgstr "" #~ " -A, --auto-reference udskriv automatisk genererede " #~ "referencer\n" #~ " -C, --copyright vis Copyright og kopieringsbetingelser\n" #~ " -G, --traditional vær mere som System V's 'ptx'\n" #~ " -F, --flag-truncation=STRENG brug STRENG for at markere " #~ "linjetrunkering\n" #~ msgid "" #~ " -M, --macro-name=STRING macro name to use instead of `xx'\n" #~ " -O, --format=roff generate output as roff directives\n" #~ " -R, --right-side-refs put references at right, not counted in -" #~ "w\n" #~ " -S, --sentence-regexp=REGEXP for end of lines or end of sentences\n" #~ " -T, --format=tex generate output as TeX directives\n" #~ msgstr "" #~ " -M, --macro-name=STRENG makronavn at bruge i stedet for 'xx'\n" #~ " -O, --format=roff generér udskrift som roff-direktiver\n" #~ " -R, --right-side-refs placér referencerne på højre side, ikke\n" #~ " talt med i -w\n" #~ " -S, --sentence-regexp=REGUDT for slutningen af linjer eller " #~ "slutningen af\n" #~ " sætninger\n" #~ " -T, --format=tex generér udskrift som TeX-direktiver\n" #~ " -o, --only-file=FIL læs liste over ord som *ikke* skal " #~ "ignoreres\n" #~ " fra denne FIL\n" #~ msgid "" #~ " -W, --word-regexp=REGEXP use REGEXP to match each keyword\n" #~ " -b, --break-file=FILE word break characters in this FILE\n" #~ " -f, --ignore-case fold lower case to upper case for " #~ "sorting\n" #~ " -g, --gap-size=NUMBER gap size in columns between output " #~ "fields\n" #~ " -i, --ignore-file=FILE read ignore word list from FILE\n" #~ " -o, --only-file=FILE read only word list from this FILE\n" #~ msgstr "" #~ " -W, --word-regexp=REGUDT brug REGUDT for at ramme hvert nøgleord\n" #~ " -b, --break-file=FIL tegn for orddeling i denne FIL\n" #~ " -f, --ignore-case lav små bogstaver om til store for " #~ "sortering\n" #~ " -g, --gap-size=TAL størrelse på mellemrum mellem kolonner i " #~ "udfelter\n" #~ " -i, --ignore-file=FIL læs liste over ord som skal ignoreres " #~ "fra\n" #~ " denne FIL\n" #~ msgid "" #~ " -r, --references first field of each line is a reference\n" #~ " -t, --typeset-mode - not implemented -\n" #~ " -w, --width=NUMBER output width in columns, reference " #~ "excluded\n" #~ msgstr "" #~ " -r, --references første felt i hver linje er en " #~ "reference\n" #~ " -t, --typeset-mode - ikke implementeret -\n" #~ " -w, --width=BREDDE udskriftbredde for kolonner, eksklusive\n" #~ " referencer\n" #~ msgid "" #~ "\n" #~ "With no FILE or if FILE is -, read Standard Input. `-F /' by default.\n" #~ msgstr "" #~ "\n" #~ "Ved ingen FIL eller hvis FIL er -, læses fra standard-ind. '-F /' er\n" #~ "forvalgt.\n" #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "ugyldig linjelængde: \"%s\"" #~ msgid "" #~ "Print the full filename of the current working directory.\n" #~ "\n" #~ msgstr "" #~ "Udskriv hele filnavnet på det aktuelle arbejdskatalog.\n" #~ "\n" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "kunne ikke ændre gruppe for %s til %s\n" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "Kunne ikke hente attributter for %s" #~ msgid "ignoring non-option arguments" #~ msgstr "ignorerer argumenter som ikke er flag" #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Brug: %s [FLAG]... [FIL]\n" #~ msgid "" #~ "Display value of a symbolic link on standard output.\n" #~ "\n" #~ msgstr "" #~ "Vis værdien af en symbolsk lænke på standard-uddata.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -m, --canonicalize-missing canonicalize by following every symlink " #~ "in\n" #~ " every component of the given name " #~ "recursively,\n" #~ " without requirements on components " #~ "existence\n" #~ " -n, --no-newline do not output the trailing newline\n" #~ " -q, --quiet,\n" #~ " -s, --silent suppress most error messages\n" #~ " -v, --verbose report error messages\n" #~ msgstr "" #~ " -f, --canonicalize normalisér ved at følge hver symlænke i hver\n" #~ " komponent i den givne sti rekursivt\n" #~ " -n, --no-newline udskriv ikke et afsluttende linjeskift\n" #~ " -q, --quiet,\n" #~ " -s, --silent undertryk de fleste fejlmeddelelser\n" #~ " -v, --verbose rapportér fejlmeddelelser\n" #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "kan ikke åbne katalog %s" #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "kan ikke åbne katalog %s" #, fuzzy #~ msgid "FATAL: directory %s changed dev/ino" #~ msgstr "%s ændrede enh/ino" #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "kan ikke oprette katalog %s" #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "ADVARSEL: Cirkulær katalogstruktur.\n" #~ "Dette betyder næsten helt sikkert at du har et ødelagt filsystem.\n" #~ "RAPPORTÉR TIL SYSTEMANSVARLIG.\n" #~ "Følgende katalog udgør en del af cirkelen:\n" #~ " %s\n" #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "%s: gå ned i skrivebeskyttet katalog %s? " #~ msgid "%s: descend into directory %s? " #~ msgstr "%s: gå ned i katalog %s? " #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: fjern skrivebeskyttet %s %s? " #~ msgid "%s: remove %s %s? " #~ msgstr "%s: fjern %s %s? " #~ msgid "removed directory: %s\n" #~ msgstr "fjernede katalog %s\n" #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "kan ikke åbne katalog %s" #~ msgid "cannot remove directory %s" #~ msgstr "kan ikke fjerne katalog %s" #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "kan ikke fjerne katalog %s" #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "kan ikke fjerne katalog %s" #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "kan ikke finde aktuelt katalog" #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Brug: %s [FLAG]... [FIL]...\n" #~ msgid "" #~ "\n" #~ "To remove a file whose name starts with a `-', for example `-foo',\n" #~ "use one of these commands:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgstr "" #~ "\n" #~ "For at fjerne en fil hvis navn begynder med et '-', for eksempel '-foo',\n" #~ "kan du bruge en af disse kommandoer:\n" #~ " %s -- -foo\n" #~ "\n" #~ " %s ./-foo\n" #~ msgid "" #~ "\n" #~ "Note that if you use rm to remove a file, it is usually possible to " #~ "recover\n" #~ "the contents of that file. If you want more assurance that the contents " #~ "are\n" #~ "truly unrecoverable, consider using shred.\n" #~ msgstr "" #~ "\n" #~ "Bemærk at hvis du bruger 'rm' til at fjerne en fil, er det normalt muligt " #~ "at\n" #~ "genskabe indholdet af denne fil. Hvis du ønsker større sikkerhed for at " #~ "indholdet\n" #~ "virkelig ikke kan genskabes, så overvej at bruge 'shred'.\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: fjern %s %s? " #~ msgid "removing directory, %s" #~ msgstr "fjerner katalog, %s" #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "kan ikke fjerne katalog %s" #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Brug: %s [FLAG]... [KATALOG]...\n" #~ msgid "" #~ "Remove the DIRECTORY(ies), if they are empty.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignore each failure that is solely because a directory\n" #~ " is non-empty\n" #~ msgstr "" #~ "Slet KATALOG'er, hvis de er tomme.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignorér alle fejl som udelukkende skyldes at kataloget " #~ "ikke\n" #~ " er tomt\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ " -p, --parents slet KATALOG, prøv dernæst at fjerne hvert katalog-" #~ "element i\n" #~ " hele stinavnet. F.eks. 'rmdir -p a/b/c' virker ligesom\n" #~ " 'rmdir a/b/c a/b a'.\n" #~ " -v, --verbose vis meddelelse for hvert katalog som behandles\n" #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "kan ikke fjerne %s" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "Kunne ikke hente attributter for %s" #, fuzzy #~ msgid "no command specified" #~ msgstr "kun en enhed kan angives" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "kunne ikke beholde tider for %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "kunne ikke beholde tider for %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "kunne ikke beholde tider for %s" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "Kunne ikke hente attributter for %s" #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "kunne ikke genskabe adgangsrettigheder på %s" #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Brug: %s [FLAG]... SIDSTE\n" #~ " eller: %s [FLAG]... FØRSTE SIDSTE\n" #~ " eller: %s [FLAG]... FØRSTE FORØGELSE SIDSTE\n" #, fuzzy #~ msgid "" #~ "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" #~ "\n" #~ " -f, --format=FORMAT use printf style floating-point FORMAT\n" #~ " -s, --separator=STRING use STRING to separate numbers (default: \\n)\n" #~ " -w, --equal-width equalize width by padding with leading zeroes\n" #~ msgstr "" #~ "Udskriv tallene fra FØRSTE til SIDSTE, med trin på FORØGELSE.\n" #~ "\n" #~ " -f, --format=FORMAT brug printf-lignende flydendetals-FORMAT " #~ "(forvalgt: %g)\n" #~ " -s, --separator=STRENG brug STRENG for at separere tallene (forvalgt: " #~ "\\n)\n" #~ " -w, --equal-width gør bredden ens ved at udfylde med nuller " #~ "foran\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "\n" #~ "Hvis FØRSTE eller FORØGELSE er udeladt, er forvalgt værdi 1.\n" #~ "FØRSTE, FORØGELSE og SIDSTE tolkes som flydendetals-værdier. FORØGELSE " #~ "bør være\n" #~ "positiv hvis FØRSTE er mindre end SIDSTE, og negativ ellers. Når FORMAT\n" #~ "er angivet, skal det indeholde nøjagtig ét af printf-direktiverne for\n" #~ "flydende tal: %e, %f eller %g.\n" #~ msgid "invalid floating point argument: %s" #~ msgstr "ugyldigt flydende tal-argument: %s" #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "ugyldig formatstreng: '%s'" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "for mange %%-konverteringsspecifikationer i suffiks" #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "ugyldig formatstreng: '%s'" #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "" #~ "formatstrengen kan ikke angives når der udskrives strenge\n" #~ "med ens bredde" #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s FORMAT [ARGUMENT]...\n" #~ " eller: %s FLAG\n" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "kan ikke hente supplerende gruppeliste" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "kan ikke sætte gruppe-id" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "kan ikke sætte bruger-id" #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Brug: %s [FLAG] FIL [...]\n" #~ msgid "" #~ "Overwrite the specified FILE(s) repeatedly, in order to make it harder\n" #~ "for even very expensive hardware probing to recover the data.\n" #~ "\n" #~ msgstr "" #~ "Overskiv de angivne FILER gentagne gange for at gøre det sværere for\n" #~ "selv meget dyrt genoprettelsesudstyr at genskabe data.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -f, --force change permissions to allow writing if necessary\n" #~ " -n, --iterations=N Overwrite N times instead of the default (%d)\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " -s, --size=N shred this many bytes (suffixes like K, M, G accepted)\n" #~ msgstr "" #~ " -f, --force ændr om nødvendigt rettigheder for at tillade skrivning\n" #~ " -n, --iterations=N Overskriv N gange i stedet for det normale (%d)\n" #~ " -s, --size=N makulér dette antal byte (endelser som k, M, G " #~ "accepteret)\n" #, fuzzy #~ msgid "" #~ " -u, --remove truncate and remove file after overwriting\n" #~ " -v, --verbose show progress\n" #~ " -x, --exact do not round file sizes up to the next full block;\n" #~ " this is the default for non-regular files\n" #~ " -z, --zero add a final overwrite with zeros to hide shredding\n" #~ msgstr "" #~ " -u, --remove afkort og fjern fil efter overskrivningen\n" #~ " -v, --verbose vis fremskridt\n" #~ " -x, --exact rund ikke filstørrelser op til den næste fulde blok\n" #~ " dette er standard for ikke-regulære filer\n" #~ " -z, --zero tilføj til slut en overskrivning med nul-tegn for at " #~ "skjule makulering\n" #~ " - standard-uddata for 'shred'\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FILE is -, shred standard output.\n" #~ "\n" #~ "Delete FILE(s) if --remove (-u) is specified. The default is not to " #~ "remove\n" #~ "the files because it is common to operate on device files like /dev/hda,\n" #~ "and those files usually should not be removed. When operating on " #~ "regular\n" #~ "files, most people use the --remove option.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Slet FILER hvis --remove er angivet. Det normale er at ikke fjerne " #~ "filerne\n" #~ "fordi det er almindeligt at behandle enhedsfiler som /dev/hda,\n" #~ "og disse filer bør normalt ikke fjernes. Ved behandling af almindelige " #~ "filer\n" #~ "bruger de fleste --remove-valgmuligheden.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "CAUTION: Note that shred relies on a very important assumption:\n" #~ "that the file system overwrites data in place. This is the traditional\n" #~ "way to do things, but many modern file system designs do not satisfy " #~ "this\n" #~ "assumption. The following are examples of file systems on which shred " #~ "is\n" #~ "not effective, or is not guaranteed to be effective in all file system " #~ "modes:\n" #~ "\n" #~ msgstr "" #~ "PAS PÅ: Bemærk at 'shred' bygger på en meget vigtig antagelse:\n" #~ "at filsystemet overskriver data på stedet. Dette er den traditionelle\n" #~ "måde at det på, men mange moderne filsystemsdesign opfylder ikke denne\n" #~ "antagelse. Det følgende er eksempler på filsystemer hvor 'shred' ikke er\n" #~ "effektiv:\n" #~ "\n" #, fuzzy #~ msgid "" #~ "* log-structured or journaled file systems, such as those supplied with\n" #~ "AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)\n" #~ "\n" #~ "* file systems that write redundant data and carry on even if some " #~ "writes\n" #~ "fail, such as RAID-based file systems\n" #~ "\n" #~ "* file systems that make snapshots, such as Network Appliance's NFS " #~ "server\n" #~ "\n" #~ msgstr "" #~ "* log-strukturerede eller journaliserende filsystemer, såsom dem der " #~ "leveres\n" #~ " med AIX, Solaris (og JFS, ReiserFS, XFS, Ext3 osv.)\n" #~ "\n" #~ "* filsystemer som skriver redundante data og fortsætter selv om nogle " #~ "skrivninger\n" #~ " mislykkes, såsom RAID-baserede filsystemer\n" #~ "\n" #~ "* filsystemer som laver øjebliksbilleder, såsom Network Appliances' NFS " #~ "server\n" #~ "\n" #, fuzzy #~ msgid "" #~ "In addition, file system backups and remote mirrors may contain copies\n" #~ "of the file that cannot be removed, and that will allow a shredded file\n" #~ "to be recovered later.\n" #~ msgstr "" #~ "* filsystemer der mellemlagrer på midlertidige steder, såsom NFS version " #~ "3-klienter\n" #~ "\n" #~ "* komprimerede filsystemer\n" #~ "\n" #~ "Derudover kan sikkerhedskopier af filsystemer og eksterne spejlinger " #~ "indeholde\n" #~ "kopier af filen, som ikke kan fjernes, og som vil tillade genskabelse " #~ "senere af\n" #~ "en makuleret fil.\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "stat() mislykkedes" #~ msgid "%s: cannot rewind" #~ msgstr "%s: kan ikke tilbagespole" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: gennemløb %lu/%lu (%s)..." #~ msgid "%s: error writing at offset %s" #~ msgstr "%s: fejl ved skrivning fra afsæt %s" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "fejl ved lukning af filen" #~ msgid "%s: file too large" #~ msgstr "%s: fil for stor" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: gennemløb %lu/%lu (%s)...%s" #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: gennemløb %lu/%lu (%s)...%s/%s %d%%" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "stat() mislykkedes" #~ msgid "%s: invalid file type" #~ msgstr "%s: ugyldig filtype" #~ msgid "%s: file has negative size" #~ msgstr "%s: fil har negativ størrelse" #~ msgid "%s: error truncating" #~ msgstr "%s: fejl ved afkortning" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "stat() mislykkedes" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "%s: kan ikke makulere beskriver for fil, der kun kan tilføjes til" #~ msgid "%s: removing" #~ msgstr "%s: sletter" #~ msgid "%s: renamed to %s" #~ msgstr "%s: omdøbt til %s" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s: fil for stor" #~ msgid "%s: removed" #~ msgstr "%s: slettet" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s: fil for lang" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s: fil for lang" #~ msgid "%s: invalid number of passes" #~ msgstr "%s: ugyldigt antal gennemløb" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "flere -l eller -t-flag angivet" #~ msgid "%s: invalid file size" #~ msgstr "%s: ugyldig filstørrelse" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Brug: %s [FLAG]... SIDSTE\n" #~ " eller: %s [FLAG]... FØRSTE SIDSTE\n" #~ " eller: %s [FLAG]... FØRSTE FORØGELSE SIDSTE\n" #, fuzzy #~ msgid "" #~ "Write a random permutation of the input lines to standard output.\n" #~ "\n" #~ msgstr "" #~ "Udskriv valgte dele af linjerne fra hver FIL til standard-ud.\n" #~ "\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "flere -l eller -t-flag angivet" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "ugyldigt antal %s" #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "ugyldig linjelængde: %s" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "flere -l eller -t-flag angivet" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "ekstra operand '%s'" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Brug: %s ANTAL[SUFFIKS]...\n" #~ " eller: %s FLAG\n" #~ "Sov i ANTAL sekunder. SUFFIKS kan være 's' for at angive sekunder " #~ "(forvalgt),\n" #~ "'m' for minutter, 'h' for timer (hours) og 'd' for dage. Ulig de fleste " #~ "implementeringer\n" #~ "som kræver at ANTAL er et heltal, kan ANTAL her være et vilkårligt\n" #~ "flydende tal.\n" #~ "\n" #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "ugyldigt tidsinterval '%s'" #~ msgid "cannot read realtime clock" #~ msgstr "kan ikke læse realtids-ur" #, fuzzy #~ msgid "" #~ "Write sorted concatenation of all FILE(s) to standard output.\n" #~ "\n" #~ msgstr "" #~ "Skriv sorteret konkatenering af alle FILER til standard-uddata.\n" #~ "\n" #~ "Sorteringsmuligheder:\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ " -b, --ignore-leading-blanks ignorér indledende blanke\n" #~ " -d, --dictionary-order tag kun blanke og alfanumeriske tegn i " #~ "betragtning\n" #~ " -f, --ignore-case behandl små bogstaver som store bogstaver\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ " -g, --general-numeric-sort sammenlign ifølge generel numerisk værdi\n" #~ " -i, --ignore-nonprinting tag kun synlige tegn i betragtning\n" #~ " -M, --month-sort sammenlign (ukendt) < 'JAN' < ... < 'DEC'\n" #~ " -n, --numeric-sort sammenlign ifølge numerisk værdi af " #~ "strenge\n" #~ " -r, --reverse vend resultaterne af sammenligningerne om\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -o, --output=FILE write result to FILE instead of standard " #~ "output\n" #~ " -s, --stable stabilize sort by disabling last-resort " #~ "comparison\n" #~ " -S, --buffer-size=SIZE use SIZE for main memory buffer\n" #~ msgstr "" #~ "Andre muligheder:\n" #~ "\n" #~ " -c, --check tjek om inddata er sorteret; sortér ikke\n" #~ " -k, --key=POS1[,POS2] start en nøgle ved POS1, afslut den ved POS 2 " #~ "(startpunkt 1)\n" #~ " -m, --merge sammenflet allerede sorterede filer; sortér " #~ "ikke\n" #~ " -o, --output=FIL udskriv resultat til FIL i stedet for " #~ "standard-uddata\n" #~ " -s, --stable stabilisér sortering ved deaktivering af " #~ "sidste-udvejs-sammenligning\n" #~ " -S, --buffer-size=STØR brug størrelsen STØR for indre " #~ "hukommelsesbuffer\n" #, fuzzy #~ msgid "" #~ " -t, --field-separator=SEP use SEP instead of non-blank to blank " #~ "transition\n" #~ " -T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or %" #~ "s;\n" #~ " multiple options specify multiple " #~ "directories\n" #~ " -u, --unique with -c, check for strict ordering;\n" #~ " without -c, output only the first of an " #~ "equal run\n" #~ msgstr "" #~ " -t, --field-separator=SEP brug SEP i stedet for ikke-mellemrum til " #~ "mellemrums-overgang\n" #~ " -T, --temporary-directory=KAT brug KAT til mellemlagring, ikke $TMPDIR " #~ "eller %s\n" #~ " flere muligheder angiver flere kataloger\n" #~ " -u, --unique med -c: tjek for streng ordning\n" #~ " ellers: udskriv kun den første af en række " #~ "ens\n" #~ msgid " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -z, --zero-terminated afslut linjer med en 0 byte, ikke ny-linje\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "\n" #~ "POS er F[.T][FLAG], hvor F er et feltnummer og T en tegnposition\n" #~ "i feltet. FLAG er sat sammen af en eller flere enkeltbogstavs-flag,\n" #~ "som tilsidesætter globale sorterings-flag for denne nøgle. Hvis ingen\n" #~ "nøgle er angivet, bruges hele linjen som nøgle.\n" #~ "\n" #~ "STØRRELSE kan efterfølges af de følgende endelser, som kan kombineres:\n" #~ msgid "" #~ "% 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, " #~ "Y.\n" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ "*** WARNING ***\n" #~ "The locale specified by the environment affects sort order.\n" #~ "Set LC_ALL=C to get the traditional sort order that uses\n" #~ "native byte values.\n" #~ msgstr "" #~ "%% 1%% af hukommelse, b 1, k 1024 (forvalgt), og så videre for M, G, T, " #~ "P, E, Z, Y.\n" #~ "\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #~ "\n" #~ "*** ADVARSEL ***\n" #~ "Lokalet angivet i miljøet påvirker sorteringsordenen.\n" #~ "Sæt LC_ALL=C for at få den traditionelle sorteringsorden som benytter\n" #~ "de interne byte-værdier.\n" #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "skriver til %s" #~ msgid "cannot create temporary file" #~ msgstr "kan ikke oprette midlertidig fil %s" #~ msgid "open failed" #~ msgstr "fejl ved åbning af filen" #, fuzzy #~ msgid "fflush failed" #~ msgstr "fejl ved lukning af filen" #~ msgid "close failed" #~ msgstr "fejl ved lukning af filen" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "fejl ved åbning af filen" #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "kan ikke oprette midlertidig fil %s" #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "kan ikke oprette midlertidig fil %s" #~ msgid "write failed" #~ msgstr "fejl ved skrivning" #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "kan ikke fjerne %s" #~ msgid "stat failed" #~ msgstr "stat() mislykkedes" #~ msgid "read failed" #~ msgstr "læsefejl" #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: uorden: " #~ msgid "standard error" #~ msgstr "standardfejl" #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: ugyldig feltangivelse '%s'" #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: ugyldigt antal ved starten af '%s'" #~ msgid "invalid number after `-'" #~ msgstr "ugyldigt tal efter '-'" #~ msgid "invalid number after `.'" #~ msgstr "ugyldigt tal efter '.'" #~ msgid "stray character in field spec" #~ msgstr "forvildet tegn i feltangivelse" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "flere -l eller -t-flag angivet" #~ msgid "invalid number at field start" #~ msgstr "ugyldigt tal ved feltbegyndelsen" #~ msgid "field number is zero" #~ msgstr "felt-nummeret er nul" #~ msgid "character offset is zero" #~ msgstr "tegnafsæt er nul" #~ msgid "invalid number after `,'" #~ msgstr "ugyldigt tal efter ','" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "ekstra operand '%s' er ikke tilladt med -c" #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Brug: %s [FLAG] [INDDATA [PRÆFIKS]]\n" #, fuzzy #~ msgid "" #~ "Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n" #~ "size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when " #~ "INPUT\n" #~ "is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv stykker af fast størrelse af INDDATA til PRÆFIKSaa, " #~ "PRÆFIKSab, ...;\n" #~ "Forvalgt PRÆFIKS er `x'. Hvis ingen INPUT er angivet, eller INPUT er -,\n" #~ "læses fra standard-ind.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ " -a, --suffix-length=N brug endelser med længden N (normalt %d)\n" #~ " -b, --bytes=STØRRELSE skriv STØRRELSE byte i hver udfil\n" #~ " -C, --line-bytes=STØRRELSE skriv maksimum STØRRELSE byte med linjer " #~ "per\n" #~ " udfil\n" #~ " -l, --lines=ANTAL skriv ANTAL linjer i hver udfil\n" #, fuzzy #~ msgid "" #~ " --verbose print a diagnostic just before each\n" #~ " output file is opened\n" #~ msgstr "" #~ " --verbose skriv en diagnostik til standard error lige\n" #~ " før hver udfil åbnes\n" #, fuzzy #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ msgstr "" #~ "\n" #~ "BLOKKE og BYTE kan have følgende multiplikative suffikser:\n" #~ "xM M, c 1, w 2, b 512, kD 1000, k 1024, MD 1.000.000, M 1.048.576,\n" #~ "GD 1.000.000.000, G 1.073.741.824, og så videre for T, P, E, Z og Y.\n" #~ "Hvert NØGLEORD kan være:\n" #~ "\n" #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "opretter filen '%s'\n" #~ msgid "cannot split in more than one way" #~ msgstr "kan ikke opdele på mere end én måde" #~ msgid "%s: invalid suffix length" #~ msgstr "%s: ugyldig længde på endelse" #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: ugyldigt antal oktetter" #~ msgid "%s: invalid number of lines" #~ msgstr "%s: ugyldigt antal linjer" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "%s: antallet `%.*s' er for stort" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "ugyldigt antal linjer" #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: ugyldigt flag '%c%s'\n" #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%%%c: ugyldigt direktiv" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "ugyldig omvendt skråstreg-beskyttelse ved slutningen af streng" #~ msgid "cannot read file system information for %s" #~ msgstr "kan ikke læse information om filsystem for %s" #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Brug: %s [FLAG] FIL...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The valid format sequences for files (without --file-system):\n" #~ "\n" #~ " %a Access rights in octal\n" #~ " %A Access rights in human readable form\n" #~ " %b Number of blocks allocated (see %B)\n" #~ " %B The size in bytes of each block reported by %b\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "\n" #~ "De gyldige format-sekvenser for filer (uden --filesystem):\n" #~ "\n" #~ " %A - Adgangsrettigheder på læsevenlig form\n" #~ " %a - Adgangsrettigheder oktalt\n" #~ " %B Størrelsen i byte for hver blok rapporteret af '%b'\n" #~ " %b - Antal blokke allokeret (se %B)\n" #, fuzzy #~ msgid "" #~ " %d Device number in decimal\n" #~ " %D Device number in hex\n" #~ " %f Raw mode in hex\n" #~ " %F File type\n" #~ " %g Group ID of owner\n" #~ " %G Group name of owner\n" #~ msgstr "" #~ " %D - Enhedsnummer i hex\n" #~ " %d - Enhedsnummer decimalt\n" #~ " %F - Filtype\n" #~ " %f - Rå tilstand i hex\n" #~ " %G - Gruppenavn på ejer\n" #~ " %g - Gruppe-ID på ejer\n" #, fuzzy #~ msgid "" #~ " %h Number of hard links\n" #~ " %i Inode number\n" #~ " %n File name\n" #~ " %N Quoted file name with dereference if symbolic link\n" #~ " %o I/O block size\n" #~ " %s Total size, in bytes\n" #~ " %t Major device type in hex\n" #~ " %T Minor device type in hex\n" #~ msgstr "" #~ " %h - Antal hårde lænker\n" #~ " %i - Inode-nummer\n" #~ " %N - Citeret filnavn med dereference hvis symbolsk lænke\n" #~ " %n - Filnavn\n" #~ " %o - IO-blokstørrelse\n" #~ " %s - Total størrelse, i byte\n" #~ " %T - Større enhedstype i hex\n" #~ " %t - Mindre enhedstype i hex\n" #, fuzzy #~ msgid "" #~ " %u User ID of owner\n" #~ " %U User name of owner\n" #~ " %x Time of last access\n" #~ " %X Time of last access as seconds since Epoch\n" #~ " %y Time of last modification\n" #~ " %Y Time of last modification as seconds since Epoch\n" #~ " %z Time of last change\n" #~ " %Z Time of last change as seconds since Epoch\n" #~ "\n" #~ msgstr "" #~ " %U - Brugernavn på ejer\n" #~ " %u - Bruger-ID på ejer\n" #~ " %X - Tidspunkt for sidste tilgang som sekunder siden Epoken\n" #~ " %x - Tidspunkt for sidste tilgang\n" #~ " %Y - Tidspunkt for sidste modificering som sekunder siden Epoken\n" #~ " %y - Tidspunkt for sidste modificering\n" #~ " %Z - Tidspunkt for sidste ændring som sekunder siden Epoken\n" #~ " %z - Tidspunkt for sidste ændring\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Valid format sequences for file systems:\n" #~ "\n" #~ " %a Free blocks available to non-superuser\n" #~ " %b Total data blocks in file system\n" #~ " %c Total file nodes in file system\n" #~ " %d Free file nodes in file system\n" #~ " %f Free blocks in file system\n" #~ " %C SELinux security context string\n" #~ msgstr "" #~ "Gyldige formatsekvenser for filsystemer:\n" #~ "\n" #~ " %a - Frie blokke tilgængelige for ikke-superbruger\n" #~ " %b - Totale datablokke i filsystem\n" #~ " %c - Totale filnoder i filsystem\n" #~ " %d - Frie filnoder i filsystem\n" #~ " %f - Frie blokke i filsystem\n" #, fuzzy #~ msgid "" #~ " %i File System ID in hex\n" #~ " %l Maximum length of filenames\n" #~ " %n File name\n" #~ " %s Block size (for faster transfers)\n" #~ " %S Fundamental block size (for block counts)\n" #~ " %t Type in hex\n" #~ " %T Type in human readable form\n" #~ msgstr "" #~ " %i - Filsystems-id i hex\n" #~ " %l - Største længde på filnavne\n" #~ " %n - Filnavn\n" #~ " %s - Optimal størrelse på overførelsesblokke\n" #~ " %T - Type på læsevenlig form\n" #~ " %t - Type i hex\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Brug: %s [-F ENHED] [--file=ENHED] [INDSTILLING]...\n" #~ " eller: %s [-F ENHED] [--file=ENHED] [-a|--all]\n" #~ " eller: %s [-F ENHED] [--file=ENHED] [-g|--save]\n" #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Udskriv eller ændr terminal-egenskaber.\n" #~ "\n" #~ " -a, --all udskriv alle nuværende indstillinger i læsevenlig " #~ "form\n" #~ " -g, --save udskriv alle nuværende indstillinger i stty-læsbar " #~ "form\n" #~ " -F, --file=ENHED åbn og brug den angivne ENHED i stedet for stdin\n" #~ msgid "" #~ "\n" #~ "Optional - before SETTING indicates negation. An * marks non-POSIX\n" #~ "settings. The underlying system defines which settings are available.\n" #~ msgstr "" #~ "\n" #~ "Eventuelt '-' før INDSTILLING indikerer en modsat indstilling. '*' " #~ "markerer\n" #~ "indstillinger som ikke følger POSIX-standarden. Det underliggende system\n" #~ "definerer hvilke indstillinger som er tilgængelige.\n" #~ msgid "" #~ "\n" #~ "Special characters:\n" #~ " * dsusp CHAR CHAR will send a terminal stop signal once input " #~ "flushed\n" #~ " eof CHAR CHAR will send an end of file (terminate the input)\n" #~ " eol CHAR CHAR will end the line\n" #~ msgstr "" #~ "\n" #~ "Specialtegn:\n" #~ " * dsusp TEGN TEGN sender et stopsignal så snart inddata er slut.\n" #~ " eof TEGN TEGN sender et filslut (afslutter inddata)\n" #~ " eol TEGN TEGN afslutter linjen\n" #~ msgid "" #~ " * eol2 CHAR alternate CHAR for ending the line\n" #~ " erase CHAR CHAR will erase the last character typed\n" #~ " intr CHAR CHAR will send an interrupt signal\n" #~ " kill CHAR CHAR will erase the current line\n" #~ msgstr "" #~ " * eol2 TEGN alternativt TEGN for linjeslut\n" #~ " erase TEGN TEGN sletter det senest skrevne tegn\n" #~ " intr TEGN TEGN sender et afbrydningssignal\n" #~ " kill TEGN TEGN sletter nuværende linje\n" #~ msgid "" #~ " * lnext CHAR CHAR will enter the next character quoted\n" #~ " quit CHAR CHAR will send a quit signal\n" #~ " * rprnt CHAR CHAR will redraw the current line\n" #~ " start CHAR CHAR will restart the output after stopping it\n" #~ msgstr "" #~ " * lnext TEGN TEGN skriver næste tegn som et specialtegn\n" #~ " quit TEGN TEGN sender en afslutningssignal\n" #~ " * rprnt TEGN TEGN genskriver nuværende linje\n" #~ " start TEGN TEGN starter udskrift igen efter at have stoppet den\n" #~ msgid "" #~ " stop CHAR CHAR will stop the output\n" #~ " susp CHAR CHAR will send a terminal stop signal\n" #~ " * swtch CHAR CHAR will switch to a different shell layer\n" #~ " * werase CHAR CHAR will erase the last word typed\n" #~ msgstr "" #~ " stop TEGN TEGN stopper udskriften\n" #~ " susp TEGN TEGN sender et terminalstopsignal\n" #~ " * swtch TEGN TEGN skifter til en anden skál\n" #~ " * werase TEGN TEGN sletter det senest skrevne ord\n" #~ msgid "" #~ "\n" #~ "Special settings:\n" #~ " N set the input and output speeds to N bauds\n" #~ " * cols N tell the kernel that the terminal has N columns\n" #~ " * columns N same as cols N\n" #~ msgstr "" #~ "\n" #~ "Specialindstillinger:\n" #~ " N sæt ind- og uddatahastighed til N baud\n" #~ " * cols N sig til kernen at terminalen har N kolonner\n" #~ " * columns N samme som cols N\n" #~ msgid "" #~ " ispeed N set the input speed to N\n" #~ " * line N use line discipline N\n" #~ " min N with -icanon, set N characters minimum for a completed " #~ "read\n" #~ " ospeed N set the output speed to N\n" #~ msgstr "" #~ " ispeed N sæt inddatahastighed til N\n" #~ " * line N anvend linjetype N\n" #~ " min N med -icanon, sæt N tegn til minimum for en afsluttet " #~ "læsning\n" #~ " ospeed N sæt udskriftshastighed til N\n" #~ msgid "" #~ " * rows N tell the kernel that the terminal has N rows\n" #~ " * size print the number of rows and columns according to the " #~ "kernel\n" #~ " speed print the terminal speed\n" #~ " time N with -icanon, set read timeout of N tenths of a second\n" #~ msgstr "" #~ " * rows N sig til kernen at terminalen har N linjer\n" #~ " * size udskriv antal linjer og kolonner ifølge kernen\n" #~ " speed udskriv terminalens hastighed\n" #~ " time N med -icanon, sæt timeout for læsning til N tiendedels " #~ "sekunder\n" #~ msgid "" #~ "\n" #~ "Control settings:\n" #~ " [-]clocal disable modem control signals\n" #~ " [-]cread allow input to be received\n" #~ " * [-]crtscts enable RTS/CTS handshaking\n" #~ " csN set character size to N bits, N in [5..8]\n" #~ msgstr "" #~ "\n" #~ "Kontrollindstillinger:\n" #~ " [-]clocal deaktivér signaler for modem-kontrol\n" #~ " [-]cread lad inddata blive modtaget\n" #~ "* [-]crtscts aktivér RTS/CTS-forhandling ('handshaking')\n" #~ " csN sæt tegnstørrelse til N bit, N i [5..8]\n" #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ " [-]cstopb brug to stop-bit per tegn (én med '-')\n" #~ " [-]hup send et hangup-signal når den sidste proces lukker tty-" #~ "en\n" #~ " [-]hupcl samme som [-]hup\n" #~ " [-]parenb generér paritetsbit ved skriving og forvent paritetsbit " #~ "ved\n" #~ " læsning\n" #~ " [-]parodd sæt ulige paritet (lige paritet med '-')\n" #~ msgid "" #~ "\n" #~ "Input settings:\n" #~ " [-]brkint breaks cause an interrupt signal\n" #~ " [-]icrnl translate carriage return to newline\n" #~ " [-]ignbrk ignore break characters\n" #~ " [-]igncr ignore carriage return\n" #~ msgstr "" #~ "\n" #~ "Indstillinger for inddata:\n" #~ " [-]brkint afbrydning forårsager et afbrydningssignal\n" #~ " [-]icrnl oversæt vognretur til linjeskift\n" #~ " [-]ignbrk ignorér afbrydningstegn\n" #~ " [-]igncr ignorér vognretur\n" #~ msgid "" #~ " [-]ignpar ignore characters with parity errors\n" #~ " * [-]imaxbel beep and do not flush a full input buffer on a " #~ "character\n" #~ " [-]inlcr translate newline to carriage return\n" #~ " [-]inpck enable input parity checking\n" #~ " [-]istrip clear high (8th) bit of input characters\n" #~ msgstr "" #~ " [-]ignpar ignorér tegn med paritetsfejl\n" #~ " * [-]imaxbel bip-signal, men tøm ikke fuld inddatabuffer på grund af\n" #~ " et tegn\n" #~ " [-]inlcr oversæt linjeskift til vognretur\n" #~ " [-]inpck muliggør paritetskontrol af inddata\n" #~ " [-]istrip nulstil den høje (8.) bit i et inddatategn\n" #~ msgid "" #~ " * [-]iuclc translate uppercase characters to lowercase\n" #~ " * [-]ixany let any character restart output, not only start " #~ "character\n" #~ " [-]ixoff enable sending of start/stop characters\n" #~ " [-]ixon enable XON/XOFF flow control\n" #~ " [-]parmrk mark parity errors (with a 255-0-character sequence)\n" #~ " [-]tandem same as [-]ixoff\n" #~ msgstr "" #~ " * [-]iuclc oversæt store til små bogstaver\n" #~ " * [-]ixany tillad hvilket tegn som helst at genstarte udskrift, \n" #~ " ikke kun starttegn\n" #~ " [-]ixoff aktivér start/stop-tegn\n" #~ " [-]ixon aktivér XON/XOFF flydningskontrol\n" #~ " [-]parmrk markér paritetsfejl (med en 255-0 tegnsekvens)\n" #~ " [-]tandem samme som [-]ixoff\n" #~ msgid "" #~ "\n" #~ "Output settings:\n" #~ " * bsN backspace delay style, N in [0..1]\n" #~ " * crN carriage return delay style, N in [0..3]\n" #~ " * ffN form feed delay style, N in [0..1]\n" #~ " * nlN newline delay style, N in [0..1]\n" #~ msgstr "" #~ "\n" #~ "Indstillinger for uddata:\n" #~ "* bsN baktegn-forsinkelsesstil, N i [0..1]\n" #~ "* crN vognretur-forsinkelsesstil, N i [0..3]\n" #~ "* ffN sideskift-forsinkelsesstil, N i [0..1]\n" #~ "* nlN linjeskift-forsinkelsesstil, N i [0..1]\n" #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "* [-]ocrnl oversæt vognretur til linjeskift\n" #~ "* [-]ofdel brug slettetegn til fyld i stedet for nul-tegn\n" #~ "* [-]ofill brug fyld-tegn (padding) i stedet for forsinkelses-" #~ "timing\n" #~ "* [-]olcuc oversæt små bogstaver til store\n" #~ "* [-]onlcr oversæt linjeskift til vognretur-linjeskift\n" #~ "* [-]onlret linjeskift foretager vognretur\n" #~ msgid "" #~ " * [-]onocr do not print carriage returns in the first column\n" #~ " [-]opost postprocess output\n" #~ " * tabN horizontal tab delay style, N in [0..3]\n" #~ " * tabs same as tab0\n" #~ " * -tabs same as tab3\n" #~ " * vtN vertical tab delay style, N in [0..1]\n" #~ msgstr "" #~ "* [-]onocr skriv ikke vognreturer i første kolonne\n" #~ " [-]opost efterbehandl uddata\n" #~ "* tabN vandret tab-forsinkelsesstil, N i [0..3]\n" #~ "* tabs samme som tab0\n" #~ "* -tabs samme som tab3\n" #~ "* vtN lodret tab-forsinkelsesstil, N i [0..1]\n" #~ msgid "" #~ "\n" #~ "Local settings:\n" #~ " [-]crterase echo erase characters as backspace-space-backspace\n" #~ " * crtkill kill all line by obeying the echoprt and echoe settings\n" #~ " * -crtkill kill all line by obeying the echoctl and echok settings\n" #~ msgstr "" #~ "\n" #~ "Lokale indstillinger:\n" #~ " [-]crterase ekko slettetegn som baglæns-mellemrum-baglæns\n" #~ " * crtkill dræb hele linjen ved at bruge indstillingerne \n" #~ " for echoprt og echoe\n" #~ " * -crtkill dræb hele linjen ved at bruge indstillingerne\n" #~ " for echoctl og echok\n" #~ msgid "" #~ " * [-]ctlecho echo control characters in hat notation (`^c')\n" #~ " [-]echo echo input characters\n" #~ " * [-]echoctl same as [-]ctlecho\n" #~ " [-]echoe same as [-]crterase\n" #~ " [-]echok echo a newline after a kill character\n" #~ msgstr "" #~ " * [-]ctlecho ekko kontroltegn med hatnotation (\"^c\")\n" #~ " [-]echo ekko indtastede tegn\n" #~ " * [-]echoctl samme som [-]ctlecho\n" #~ " [-]echoe samme som [-]crterase\n" #~ " [-]echok ekko et linjeskift efter et dræbertegn\n" #~ msgid "" #~ " * [-]echoke same as [-]crtkill\n" #~ " [-]echonl echo newline even if not echoing other characters\n" #~ " * [-]echoprt echo erased characters backward, between `\\' and '/'\n" #~ " [-]icanon enable erase, kill, werase, and rprnt special " #~ "characters\n" #~ " [-]iexten enable non-POSIX special characters\n" #~ msgstr "" #~ " * [-]echoke samme som [-]crtkill\n" #~ " [-]echonl ekko linjeskift selv om ingen andre tegn ekkoes\n" #~ " * [-]echoprt ekko slettede tegn baglæns, mellem \"\\\" og \"/\"\n" #~ " [-]icanon aktivér specialtegnene erase, kill, werase og rprnt\n" #~ " [-]iexten aktivér specialtegn som ikke er POSIX-tegn\n" #~ msgid "" #~ " [-]isig enable interrupt, quit, and suspend special characters\n" #~ " [-]noflsh disable flushing after interrupt and quit special " #~ "characters\n" #~ " * [-]prterase same as [-]echoprt\n" #~ " * [-]tostop stop background jobs that try to write to the terminal\n" #~ " * [-]xcase with icanon, escape with `\\' for uppercase characters\n" #~ msgstr "" #~ " [-]isig aktivér specialtegn for afbrydning, afslut og hvile\n" #~ " [-]noflsh deaktivér rensning efter afbrydningssignaler og \n" #~ " specialsluttegn\n" #~ " * [-]prterase samme som [-]echoprt\n" #~ " * [-]tostop stop baggrundsjob som forsøger at skrive til terminalen\n" #~ " * [-]xcase sammen med icanon, brug \"\\\" som kontrolsekvens\n" #~ " for store bogstaver\n" #~ msgid "" #~ "\n" #~ "Combination settings:\n" #~ " * [-]LCASE same as [-]lcase\n" #~ " cbreak same as -icanon\n" #~ " -cbreak same as icanon\n" #~ msgstr "" #~ "\n" #~ "Kombinationsindstillinger:\n" #~ " * [-]LCASE samme som [-]lcase\n" #~ " cbreak samme som -icanon\n" #~ " -cbreak samme som icanon\n" #~ msgid "" #~ " cooked same as brkint ignpar istrip icrnl ixon opost isig\n" #~ " icanon, eof and eol characters to their default values\n" #~ " -cooked same as raw\n" #~ " crt same as echoe echoctl echoke\n" #~ msgstr "" #~ " cooked samme som at sætte brkint ignpar istrip icrnl ixon oppst " #~ "isig icanon,\n" #~ " filsluttegn og linjesluttegn til deres standardværdier\n" #~ " -cooked samme som raw\n" #~ " crt samme som echoe echoctl echoke\n" #~ msgid "" #~ " dec same as echoe echoctl echoke -ixany intr ^c erase 0177\n" #~ " kill ^u\n" #~ " * [-]decctlq same as [-]ixany\n" #~ " ek erase and kill characters to their default values\n" #~ " evenp same as parenb -parodd cs7\n" #~ msgstr "" #~ " dec samme som echoe echoctl echoke -ixany intr ^c erase " #~ "0177\n" #~ " kill ^u\n" #~ " * [-]decctlq samme som [-]ixany\n" #~ " ek slette- og dræbertegn sættes til deres standardværdier\n" #~ " evenp samme som parenb -parodd cs7\n" #~ msgid "" #~ " -evenp same as -parenb cs8\n" #~ " * [-]lcase same as xcase iuclc olcuc\n" #~ " litout same as -parenb -istrip -opost cs8\n" #~ " -litout same as parenb istrip opost cs7\n" #~ " nl same as -icrnl -onlcr\n" #~ " -nl same as icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgstr "" #~ " -evenp samme som -parenb cs8\n" #~ " * [-]lcase samme som xcase iuclc olcuc\n" #~ " litout samme som -parenb -istrip -opost cs8\n" #~ " -litout samme som parenb istrip opost cs7\n" #~ " nl samme som -icrnl -onlcr\n" #~ " -nl samme som icrnl -inlcr -igncr onlcr -ocrnl -onlret\n" #~ msgid "" #~ " oddp same as parenb parodd cs7\n" #~ " -oddp same as -parenb cs8\n" #~ " [-]parity same as [-]evenp\n" #~ " pass8 same as -parenb -istrip cs8\n" #~ " -pass8 same as parenb istrip cs7\n" #~ msgstr "" #~ " oddp samme som parenb parodd cs7\n" #~ " -oddp samme som -parenb cs8\n" #~ " [-]parity samme som [-]evenp\n" #~ " pass8 samme som -parenb -istrip cs8\n" #~ " -pass8 samme som parenb istrip cs7\n" #~ msgid "" #~ " raw same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw same as cooked\n" #~ msgstr "" #~ " raw samme som -ignbrk -brkint -ignpar -parmrk -inpck -" #~ "istrip\n" #~ " -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany\n" #~ " -imaxbel -opost -isig -icanon -xcase min 1 time 0\n" #~ " -raw samme som cooked\n" #, fuzzy #~ msgid "" #~ " sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, all special\n" #~ " characters to their default values.\n" #~ msgstr "" #~ " sane samme som cread -ignbrk brkint -inlcr -igncr icrnl\n" #~ " -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr\n" #~ " -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0\n" #~ " isig icanon iexten echo echoe echok -echonl -noflsh\n" #~ " -xcase -tostop -echoprt echoctl echoke, \n" #~ " alle specialtegn sættes til deres standardværdier.\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Håndtér tty-linjen koblet til standard-ind. Uden argumenter, udskriv\n" #~ "bitrate, linjedisciplin og afvigelse fra 'stty sane'. I indstillinger " #~ "tages\n" #~ "TEGN bogstaveligt eller kodet som i ^c, 0x37, 0177 eller 127; specielle\n" #~ "værdier, ^- eller undef bruges for at deaktivere specielle tegn\n" #~ msgid "only one device may be specified" #~ msgstr "kun en enhed kan angives" #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "flagene for fyldig og stty-læsbar udskrift udelukker hinanden" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "når en stil for uddata angives kan tilstande ikke sættes" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: kunne ikke nulstille ikke-blokerende tilstand" #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "ugyldigt argument '%s'" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "manglende argument til '%s'" #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "ugyldig linjelængde: %s" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: ikke i stand til at udføre alle forespurgte operationer" #~ msgid "new_mode: mode\n" #~ msgstr "new_mode: tilstand\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: ingen information for denne enhed" #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "ugyldig heltalsargument '%s'" #~ msgid "Password:" #~ msgstr "Adgangskode:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: kan ikke åbne /dev/tty" #~ msgid "cannot set groups" #~ msgstr "kan ikke sætte grupper" #~ msgid "cannot set group id" #~ msgstr "kan ikke sætte gruppe-id" #~ msgid "cannot set user id" #~ msgstr "kan ikke sætte bruger-id" #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Brug: %s [FLAG]... [-] [BRUGER [ARG]...]\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Ændr den effektive bruger-id og gruppe-id til BRUGER.\n" #~ "\n" #~ " -, -l, --login gør skallen til en login-skal\n" #~ " -c, --command=KOMMANDO send en enkelt kommando til skallen med -" #~ "c\n" #~ " -f, --fast send -f til skallen (for csh eller tcsh)\n" #~ " -m, --preserve-environment nulstil ikke miljøvariable\n" #~ " -s, --shell=SHELL kør SHELL hvis /etc/shells tillader det\n" #~ msgid "" #~ "\n" #~ "A mere - implies -l. If USER not given, assume root.\n" #~ msgstr "" #~ "\n" #~ "En enkelt - implicerer -l. Hvis BRUGER ikke er angivet, antag root.\n" #~ msgid "user %s does not exist" #~ msgstr "bruger %s eksisterer ikke" #~ msgid "incorrect password" #~ msgstr "forkert adgangskode" #~ msgid "using restricted shell %s" #~ msgstr "bruger begrænset skal %s" #~ msgid "warning: cannot change directory to %s" #~ msgstr "advarsel: kan ikke skifte katalog til %s" #, fuzzy #~ msgid "Kayvan Aghaiepour" #~ msgstr "Kayvan Aghaiepour og David MacKenzie" #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Udskriv kontrolsum og blok-antal for hver FIL.\n" #~ "\n" #~ " -r brug BSD-sum-algoritme, brug 1K-blokke\n" #~ " -s, --sysv brug System V-sum-algoritme, brug 512 byte-blokke\n" #~ msgid "" #~ "Force changed blocks to disk, update the super block.\n" #~ "\n" #~ msgstr "" #~ "Gem ændrede blokke til disk, opdatér superblokken.\n" #~ "\n" #~ msgid "ignoring all arguments" #~ msgstr "ignorerer alle argumenter" #~ msgid " --help display this help and exit\n" #~ msgstr " --help vis denne hjælpetekst og afslut\n" #~ msgid " --version output version information and exit\n" #~ msgstr " --version vis versionsinformation og afslut\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Rapportér fejl til <%s>.\n" #~ msgid "" #~ "Write each FILE to standard output, last line first.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv hver fil til standard-uddata, sidste linje først.\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #~ "\n" #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ " -b, --before indsæt separator før i stedet for efter\n" #~ " -r, --regex fortolk separatoren som et regulært udtryk\n" #~ " -s, --separator=STRENG brug STRENG som separator i stedet for " #~ "linjeskift\n" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "fejl ved lukning af filen" #, fuzzy #~ msgid "record too large" #~ msgstr "%s: fil for stor" #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "kan ikke oprette midlertidig fil %s" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "kan ikke åbne %s til læsning" #, fuzzy #~ msgid "%s: write error" #~ msgstr "fejl ved skrivning" #~ msgid "separator cannot be empty" #~ msgstr "separatoren kan ikke være tom" #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Skriv de sidste %d linjer af hver FIL til standard-ud.\n" #~ "Med mere end en FIL angivet, udskriv filnavnet før hver FIL.\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " --retry keep trying to open a file even if it is\n" #~ " inaccessible when tail starts or if it " #~ "becomes\n" #~ " inaccessible later; useful when following by " #~ "name,\n" #~ " i.e., with --follow=name\n" #~ " -c, --bytes=N output the last N bytes; alternatively, use +N " #~ "to\n" #~ " output bytes starting with the Nth of each " #~ "file\n" #~ msgstr "" #~ " --retry bliv ved med at forsøge at åbne en fil selvom " #~ "den\n" #~ " er utilgængelig når 'tail' starter, eller " #~ "hvis\n" #~ " den bliver utilgængelig senere - kun nyttigt " #~ "med -f\n" #~ " -c, --bytes=N udskriv de sidste N byte\n" #~ msgid "" #~ " -f, --follow[={name|descriptor}]\n" #~ " output appended data as the file grows;\n" #~ " -f, --follow, and --follow=descriptor are\n" #~ " equivalent\n" #~ " -F same as --follow=name --retry\n" #~ msgstr "" #~ " -f, --follow[={navn|deskriptor}] udskriv tilføjede data efterhånden som " #~ "filen vokser\n" #~ " -f, --follow, og --follow=deskriptor er\n" #~ " det samme\n" #~ " -F det samme som --follow=navn --retry\n" #, fuzzy #~ msgid "" #~ " -n, --lines=N output the last N lines, instead of the last %" #~ "d;\n" #~ " or use +N to output lines starting with the " #~ "Nth\n" #~ " --max-unchanged-stats=N\n" #~ " with --follow=name, reopen a FILE which has " #~ "not\n" #~ " changed size after N (default %d) iterations\n" #~ " to see if it has been unlinked or renamed\n" #~ " (this is the usual case of rotated log files)\n" #~ msgstr "" #~ " -n, --lines=N udskriv de sidste N linjer i stedet for de " #~ "sidste %d\n" #~ " --max-unchanged-stats=N\n" #~ " med --follow=navn, genåbn en FIL som ikke har\n" #~ " ændret størrelse efter N (normalt %d) " #~ "iterationer\n" #~ " for at se om den er blevet afrefereret eller " #~ "omdøbt\n" #~ " (dette er det normale for roterede " #~ "logfiler)\n" #~ msgid "" #~ " --pid=PID with -f, terminate after process ID, PID dies\n" #~ " -q, --quiet, --silent never output headers giving file names\n" #~ " -s, --sleep-interval=S with -f, sleep for approximately S seconds\n" #~ " (default 1.0) between iterations.\n" #~ " -v, --verbose always output headers giving file names\n" #~ msgstr "" #~ " --pid=PID med -f, terminér efter proces med ID, PID er " #~ "død\n" #~ " -q, --quiet, --silent udskriv ikke filnavne\n" #~ " -s, --sleep-interval=S med -f, sov cirka S sekunder mellem hvert " #~ "gennemløb,\n" #~ " (normalt 1,0 sekund)\n" #~ " -v, --verbose udskriv altid filnavnet i toptekster\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If the first character of N (the number of bytes or lines) is a `+',\n" #~ "print beginning with the Nth item from the start of each file, " #~ "otherwise,\n" #~ "print the last N items in the file. N may have a multiplier suffix:\n" #~ "b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" #~ "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Hvis det første tegn i N (antal byte eller linjer) er et '+',\n" #~ "så udskriv fra N'te element fra starten af hver fil, ellers udskriv de\n" #~ "sidste N elementer i filen. N kan have en multiplikatorendelse:\n" #~ "b for 512, k for 1024, m for 1048576 (1 Meg).\n" #~ msgid "" #~ "With --follow (-f), tail defaults to following the file descriptor, " #~ "which\n" #~ "means that even if a tail'ed file is renamed, tail will continue to " #~ "track\n" #~ "its end. " #~ msgstr "" #~ "Med --follow (-f) vil 'tail' som standard følge fildeskriptoren, hvilket\n" #~ "betyder at selv om en 'tail'-et fil omdøbes, vil 'tail' fortsætte med at " #~ "følge\n" #~ "dens slutning. " #~ msgid "" #~ "This default behavior is not desirable when you really want to\n" #~ "track the actual name of the file, not the file descriptor (e.g., log\n" #~ "rotation). Use --follow=name in that case. That causes tail to track " #~ "the\n" #~ "named file by reopening it periodically to see if it has been removed " #~ "and\n" #~ "recreated by some other program.\n" #~ msgstr "" #~ "Den normale opførsel er ikke ønskværdig når du virkelig ønsker at\n" #~ "følge det faktiske navn på filen og ikke fildeskriptoren (fx ved " #~ "logrotation).\n" #~ "Brug --follow=navn i dette tilfælde. Dette får 'tail' til at følge den\n" #~ "angivne fil ved at genåbne den med mellemrum for at se om den er blevet " #~ "fjernet og\n" #~ "genskabt af et andet program.\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "lukker %s (fd=%d)" #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "%s: kan ikke søge til relativt afsæt %s" #~ msgid "%s: cannot seek to end-relative offset %s" #~ msgstr "%s: kan ikke søge til afsæt relativt til slutningen %s" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "'%s' er blevet utilgængelig" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "'%s' er blevet erstattet af en fil der ikke kan laves 'tail' på; giver op " #~ "for dette navn" #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "'%s' er blevet tilgængelig" #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "'%s' er blevet oprettet. Følger efter slutningen af ny fil" #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "'%s' er blevet erstattet. Følger efter slutningen af ny fil" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: kunne ikke nulstille ikke-blokerende tilstand" #~ msgid "%s: file truncated" #~ msgstr "%s: fil trunkeret" #~ msgid "no files remaining" #~ msgstr "ingen filer tilbage" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: kan ikke følge slutningen på denne filtype; giver op for dette navn" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "%s er for stor" #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "" #~ "%s: ugyldig maksimum antal af uændrede resultater af kald til stat() " #~ "mellem kald til open()" #~ msgid "%s: invalid PID" #~ msgstr "%s: ugyldig PID" #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: ugyldigt antal sekunder" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "advarsel: --retry er kun brugbart ved følgning af navn" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "advarsel: PID ignoreret; --pid=PID er kun brugbart ved følgning" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "advarsel: --pid=PID er ikke understøttet på dette system" #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "kan ikke finde ud af systemnavnet" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Kopier standard-ind til hver FIL og til standard-ud.\n" #~ "\n" #~ " -a, --append tilføj til de angivne FILer, overskriv ikke\n" #~ " -i, --ignore-interrrupts ignorer afbrydningssignaler\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Hvis ingen FIL er angivet, eller FIL er -, læses fra standard-ind.\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "manglende argument til '%s'" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "ugyldigt antal %s" #, fuzzy #~ msgid "')' expected" #~ msgstr "')' forventet\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "')' forventet, fandt %s\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: unær operator forventet\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt accepterer ikke -l\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef accepterer ikke -l\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-ot accepterer ikke -l\n" #~ msgid "unknown binary operator" #~ msgstr "ukendt binær operator" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: binær operator forventet\n" #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Brug: %s UDTRYK\n" #~ " eller: [ UDTRYK ]\n" #~ " eller: %s FLAG\n" #~ msgid "" #~ "Exit with the status determined by EXPRESSION.\n" #~ "\n" #~ msgstr "" #~ "Returnér med en statusværdi som bestemmes af UDTRYK.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "An omitted EXPRESSION defaults to false. Otherwise,\n" #~ "EXPRESSION is true or false and sets exit status. It is one of:\n" #~ msgstr "" #~ "\n" #~ "UDTRYK er sandt eller falsk og sætter returværdien. Det er én af:\n" #~ msgid "" #~ "\n" #~ " ( EXPRESSION ) EXPRESSION is true\n" #~ " ! EXPRESSION EXPRESSION is false\n" #~ " EXPRESSION1 -a EXPRESSION2 both EXPRESSION1 and EXPRESSION2 are true\n" #~ " EXPRESSION1 -o EXPRESSION2 either EXPRESSION1 or EXPRESSION2 is true\n" #~ msgstr "" #~ "\n" #~ " ( UDTRYK ) UDTRYK er sandt\n" #~ " ! UDTRYK UDTRYK er falsk\n" #~ " UDTRYK1 -a UDTRYK2 både UDTRYK1 og UDTRYK2 er sande\n" #~ " UDTRYK1 -o UDTRYK2 mindst ét af udtrykkene er sande\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -n STRING the length of STRING is nonzero\n" #~ " STRING equivalent to -n STRING\n" #~ " -z STRING the length of STRING is zero\n" #~ " STRING1 = STRING2 the strings are equal\n" #~ " STRING1 != STRING2 the strings are not equal\n" #~ msgstr "" #~ "\n" #~ " [-n] STRENG længden af STRENG er forskellig fra nul\n" #~ " -z STRENG længden af STRENG er nul\n" #~ " STRENG1 = STRENG2 strengene er ens\n" #~ " STRENG1 != STRENG2 strengene er forskellige\n" #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " HELTAL1 -eq HELTAL2 HELTAL1 er lig med HELTAL2\n" #~ " HELTAL1 -ge HELTAL2 HELTAL1 er større end eller lig med " #~ "HELTAL2\n" #~ " HELTAL1 -gt HELTAL2 HELTAL1 er større end HELTAL2\n" #~ " HELTAL1 -le HELTAL2 HELTAL1 er mindre end eller lig med " #~ "HELTAL2\n" #~ " HELTAL1 -lt HELTAL2 HELTAL1 er mindre end HELTAL2\n" #~ " HELTAL1 -ne HELTAL2 HELTAL1 er forskellig fra HELTAL2\n" #~ msgid "" #~ "\n" #~ " FILE1 -ef FILE2 FILE1 and FILE2 have the same device and inode " #~ "numbers\n" #~ " FILE1 -nt FILE2 FILE1 is newer (modification date) than FILE2\n" #~ " FILE1 -ot FILE2 FILE1 is older than FILE2\n" #~ msgstr "" #~ "\n" #~ " FIL1 -ef FIL2 FIL1 og FIL2 har samme enheds- og inodenummer\n" #~ " FIL1 -nt FIL2 FIL1 er nyere (ændringstidspunkt) end FIL2\n" #~ " FIL1 -ot FIL2 FIL1 er ældre end FIL2\n" #~ msgid "" #~ "\n" #~ " -b FILE FILE exists and is block special\n" #~ " -c FILE FILE exists and is character special\n" #~ " -d FILE FILE exists and is a directory\n" #~ " -e FILE FILE exists\n" #~ msgstr "" #~ "\n" #~ " -b FIL FIL findes og er en specialfil for blokadgang\n" #~ " -c FIL FIL findes og er en specialfil for tegnadgang\n" #~ " -d FIL FIL findes og er et katalog\n" #~ " -e FIL FIL findes\n" #, fuzzy #~ msgid "" #~ " -f FILE FILE exists and is a regular file\n" #~ " -g FILE FILE exists and is set-group-ID\n" #~ " -G FILE FILE exists and is owned by the effective group ID\n" #~ " -h FILE FILE exists and is a symbolic link (same as -L)\n" #~ " -k FILE FILE exists and has its sticky bit set\n" #~ msgstr "" #~ " -f FIL FIL findes og er en almindelig fil\n" #~ " -g FIL FIL findes og har sæt-gruppe-ID-bitten sat\n" #~ " -h FIL FIL findes og er en symbolsk lænke (samme som -L)\n" #~ " -G FIL FIL findes og ejes af den effektiv gruppeidentitet\n" #~ " -k FIL FIL findes med klæbrigbitten sat\n" #, fuzzy #~ msgid "" #~ " -L FILE FILE exists and is a symbolic link (same as -h)\n" #~ " -O FILE FILE exists and is owned by the effective user ID\n" #~ " -p FILE FILE exists and is a named pipe\n" #~ " -r FILE FILE exists and read permission is granted\n" #~ " -s FILE FILE exists and has a size greater than zero\n" #~ msgstr "" #~ " -L FIL FIL findes og er en symbolsk lænke (samme som -h)\n" #~ " -O FIL FIL findes og ejes af den effektive brugeridentitet\n" #~ " -p FIL FIL findes og er en navngivet datakanal\n" #~ " -r FIL FIL findes og er læsbar\n" #~ " -s FIL FIL findes og har størrelse større end nul\n" #, fuzzy #~ msgid "" #~ " -S FILE FILE exists and is a socket\n" #~ " -t FD file descriptor FD is opened on a terminal\n" #~ " -u FILE FILE exists and its set-user-ID bit is set\n" #~ " -w FILE FILE exists and write permission is granted\n" #~ " -x FILE FILE exists and execute (or search) permission is granted\n" #~ msgstr "" #~ " -S FIL FIL findes og er en sokkel\n" #~ " -t [FI] filidentifikator FI (standard-ud hvis intet angives) er " #~ "åbnet på en\n" #~ " terminal\n" #~ " -u FIL FIL findes og dens set-user-ID-bit er sat\n" #~ " -w FIL FIL findes og er skrivbar\n" #~ " -x FIL FIL findes og kan udføres\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Vær opmærksom på at paranteser skal være beskyttet (f.eks. med omvendte " #~ "skråstreger)\n" #~ "for skaller. HELTAL kan også være -l STRENG, som evalueres til længden\n" #~ "af STRENG'en.\n" #, fuzzy #~ msgid "missing `]'" #~ msgstr "manglende ']'\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "for mange argumenter" #, fuzzy #~ msgid "Jim Kingdon" #~ msgstr "Jim Meyering og Paul Eggert" #~ msgid "creating %s" #~ msgstr "opretter %s" #~ msgid "cannot touch %s" #~ msgstr "kan ikke røre %s" #~ msgid "setting times of %s" #~ msgstr "sætter tider for %s" #~ msgid "" #~ " -a change only the access time\n" #~ " -c, --no-create do not create any files\n" #~ " -d, --date=STRING parse STRING and use it instead of current time\n" #~ " -f (ignored)\n" #~ " -m change only the modification time\n" #~ msgstr "" #~ " -a ændr kun læsningstidspunkt\n" #~ " -c opret ikke nogen filer\n" #~ " -d, --date=STRENG læs STRENG og brug det i stedet for nuværende " #~ "klokkeslæt\n" #~ " -f (ignoreret)\n" #~ " -m ændr kun ændringstidspunkt\n" #, fuzzy #~ msgid "" #~ " -r, --reference=FILE use this file's times instead of current time\n" #~ " -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current " #~ "time\n" #~ " --time=WORD change the specified time:\n" #~ " WORD is access, atime, or use: equivalent to -" #~ "a\n" #~ " WORD is modify or mtime: equivalent to -m\n" #~ msgstr "" #~ " -r, --reference=FIL brug denne fils tider i stedet for nuværende\n" #~ " klokkeslæt\n" #~ " -t STAMP brug MMDDttmm[[HH]ÅÅ][.ss] i stedet for " #~ "nuværende\n" #~ " klokkeslæt\n" #~ " --time=ORD ORD er tidsformat: access, atime, use (ligesom -" #~ "a)\n" #~ " mtime, modify (ligesom -m)\n" #~ msgid "" #~ "\n" #~ "Note that the -d and -t options accept different time-date formats.\n" #~ msgstr "" #~ "\n" #~ "Bemærk at -d og -t flagene tager forskellige tidspunkts- og dato-" #~ "formater.\n" #~ msgid "cannot specify times from more than one source" #~ msgstr "kan ikke angive tidspunkter fra mere end én kilde" #, fuzzy #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "" #~ "advarsel: 'touch %s' er forældet; brug 'touch -t %04d%02d%02d%02d%02d.%" #~ "02d'" #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Brug: %s [OPTION]... MÆNGDE1 [MÆNGDE2]\n" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Oversæt, klem sammen og/eller fjern tegn fra standard-ind,\n" #~ "udskriv til standard-ud.\n" #~ "\n" #~ " -c, --complement komplementér først MÆNGDE1\n" #~ " -d, --delete slet tegn i MÆNGDE1, oversæt ikke\n" #~ " -s, --squeeze-repeats erstat hver række af gentagne inddatategn som " #~ "er\n" #~ " listet i MÆNGDE1 med et enkelt af dette tegn\n" #~ " -t, --truncate-set1 forkort først MÆNGDE1 til længden af MÆNGDE2\n" #~ msgid "" #~ "\n" #~ "SETs are specified as strings of characters. Most represent themselves.\n" #~ "Interpreted sequences are:\n" #~ "\n" #~ " \\NNN character with octal value NNN (1 to 3 octal digits)\n" #~ " \\\\ backslash\n" #~ " \\a audible BEL\n" #~ " \\b backspace\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r return\n" #~ " \\t horizontal tab\n" #~ msgstr "" #~ "\n" #~ "MÆNGDE er angivet med strenge af tegn. De fleste tegn står for sig\n" #~ "selv. Følgende sekvenser tolkes specielt:\n" #~ "\n" #~ " \\NNN tegn med oktalværdi NNN (1 til 3 oktale cifre)\n" #~ " \\\\ omvendt skråstreg\n" #~ " \\a hørbar BEL\n" #~ " \\b baktegn\n" #~ " \\f sideskift (FF)\n" #~ " \\n linjeskift (LF)\n" #~ " \\r vognretur (CR)\n" #~ " \\t vandret tabulator\n" #~ msgid "" #~ " \\v vertical tab\n" #~ " CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order\n" #~ " [CHAR*] in SET2, copies of CHAR until length of SET1\n" #~ " [CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0\n" #~ " [:alnum:] all letters and digits\n" #~ " [:alpha:] all letters\n" #~ " [:blank:] all horizontal whitespace\n" #~ " [:cntrl:] all control characters\n" #~ " [:digit:] all digits\n" #~ msgstr "" #~ " \\v lodret tabulator\n" #~ " TEGN1-TEGN2 alle tegn fra TEGN1 til TEGN2, stigende\n" #~ " [TEGN*] i MÆNGDE2, kopier af TEGN indtil samme længde til " #~ "MÆNGDE1\n" #~ " [TEGN*ANTAL] ANTAL kopier af TEGN, ANTAL er oktal, hvis det begynder " #~ "med 0\n" #~ " [:alnum:] alle bogstaver og tal\n" #~ " [:alpha:] alle bogstaver\n" #~ " [:blank:] alle vandrette blanke tegn\n" #~ " [:cntrl:] alle kontroltegn\n" #~ " [:digit:] alle cifre\n" #~ msgid "" #~ " [:graph:] all printable characters, not including space\n" #~ " [:lower:] all lower case letters\n" #~ " [:print:] all printable characters, including space\n" #~ " [:punct:] all punctuation characters\n" #~ " [:space:] all horizontal or vertical whitespace\n" #~ " [:upper:] all upper case letters\n" #~ " [:xdigit:] all hexadecimal digits\n" #~ " [=CHAR=] all characters which are equivalent to CHAR\n" #~ msgstr "" #~ " [:graph:] alle skrivbare tegn, undtaget blanke tegn\n" #~ " [:lower:] alle små bogstaver\n" #~ " [:print:] alle skrivbare tegn, inkluderet blanke tegn\n" #~ " [:punct:] alle tegnsætningstegn\n" #~ " [:space:] alle vandrette og lodrette blanke tegn\n" #~ " [:upper:] alle store bogstaver\n" #~ " [:xdigit:] alle hexadecimale cifre\n" #~ " [=TEGN=] alle tegn som er lig TEGN\n" #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "Oversættelse sker hvis -d ikke er givet, og både MÆNGDE1 og MÆNGDE2 er " #~ "der.\n" #~ "-t kan kun blive brugt ved oversættelse. MÆNGDE2 bliver udvidet til " #~ "længden af\n" #~ "MÆNGDE1 ved at repetere dets sidste tegn om nødvendigt. " #~ msgid "" #~ "Excess characters\n" #~ "of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to\n" #~ "expand in ascending order; used in SET2 while translating, they may\n" #~ "only be used in pairs to specify case conversion. " #~ msgstr "" #~ "Tegn til overs i \n" #~ "MÆNGDE2 ignoreres. Kun [:lower:] og [:upper:] er garanteret at ekspandere " #~ "i\n" #~ "stigende rækkefølge; brugt i MÆNGDE2 ved oversættelse kan de kun bruges i " #~ "par\n" #~ "for at angive oversættelse fra store/små til små/store bogstaver. " #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "-s bruger MÆNGDE1 hvis der ikke er oversættelse eller sletning; ellers " #~ "bruger \n" #~ "sammenklemning MÆNGDE2 og sker efter oversættelse eller sletning.\n" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "advarsel: den flertydige oktal-beskyttelse \\%c%c%c bliver tolket som \n" #~ "\t2-byte-sekvensen \\0%c%c, '%c'" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "%s: advarsel: at lave en hård lænke til en symbolsk lænke er ikke " #~ "portabelt" #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "række-slutpunkt i '%s-%s' er i omvendt sorteringsrækkefølge" #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "ugyldig gentagelsestæller '%s' i [c*n]-konstruktion" #~ msgid "missing character class name `[::]'" #~ msgstr "mangler navn på tegnklasse '[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "mangler tegn for ækvivalensklasse '[==]'" #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "ugyldig tegnklasse '%s'" #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: ækvivalensklasseoperanden skal være et enkelt tegn" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "forvildet tegn i feltangivelse" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "gentagelseskonstruktionen [c*] kan ikke optræde i streng1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "kun en [c*] gentagelseskonstruktion kan optræde i streng2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "[=c=]-udtryk kan ikke optræde i streng2 under oversættelse" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "når mængde1 ikke bliver forkortet, kan streng2 ikke være tom" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "når det oversættes med komplementerede tegnklasser\n" #~ "skal streng2 mappe alle tegn i domænet til én" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "ved oversættelse er de eneste tegnklasser som kan være i streng2\n" #~ "'upper' og 'lower'" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "[c*]-konstruktionen kan kun optræde i streng2 ved oversættelse" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "to strenge skal være givet ved oversættelse" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "kun én streng kan opgives når der slettes uden sammenklemning af " #~ "gentagelser" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "fejlplaceret [:upper:]- og/eller [:lower:]-konstruktion" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s NAVN\n" #~ " eller: %s FLAG\n" #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Brug: %s [FLAG] [FIL]\n" #~ "Skriv en fuldstændig sorteret liste konsistent med den delvise sortering\n" #~ "i FIL. Hvis ingen FIL eller hvis FIL er -, læses fra standard-ind.\n" #~ "\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: inddata indeholder en løkke:" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: inddata indeholder en løkke:" #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Brug: %s [FLAG]...\n" #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Udskriv filnavnet for terminalen som er koblet til standard-ind.\n" #~ "\n" #~ " -s, --silent, --quiet udskriv ikke noget, returnér kun en " #~ "afslutningsstatus\n" #~ msgid "not a tty" #~ msgstr "ikke en tty" #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Udskriv bestemt systeminformation. Hvis ingen FLAG blev angivet bruges -" #~ "s.\n" #~ "\n" #~ " -a, --all udskriv al information, i følgende " #~ "rækkefølge:\n" #~ " -s, --kernel-name udskriv kernens navn\n" #~ " -n, --nodename udskriv maskinens netværksnavn\n" #~ " -r, --kernel-release udskriv kernens udgave\n" #, fuzzy #~ msgid "" #~ " -v, --kernel-version print the kernel version\n" #~ " -m, --machine print the machine hardware name\n" #~ " -p, --processor print the processor type or \"unknown\"\n" #~ " -i, --hardware-platform print the hardware platform or \"unknown\"\n" #~ " -o, --operating-system print the operating system\n" #~ msgstr "" #~ " -v, --kernel-version udskriv kernens version\n" #~ " -m, --machine udskriv maskintypen\n" #~ " -p, --processor udskriv processortypen\n" #~ " -i, --hardware-platform udskriv maskinelplatform\n" #~ " -o, --operating-system udskriv operativsystemet\n" #~ msgid "cannot get system name" #~ msgstr "kan ikke finde ud af systemnavnet" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Konvertér mellemrum i hver FIL til tabulatorer, med uddata til standard-" #~ "ud.\n" #~ "Uden en FIL, eller når FIL er -, læses standard-ind.\n" #, fuzzy #~ msgid "" #~ " -a, --all convert all blanks, instead of just initial blanks\n" #~ " --first-only convert only leading sequences of blanks (overrides -" #~ "a)\n" #~ " -t, --tabs=N have tabs N characters apart instead of 8 (enables -" #~ "a)\n" #~ " -t, --tabs=LIST use comma separated LIST of tab positions (enables -" #~ "a)\n" #~ msgstr "" #~ " -a, --all konvertér alle blanke, i stedet for initielle " #~ "blanke\n" #~ " --first-only konvertér kun indledende sekvenser af blanke " #~ "(tilsidesætter -a)\n" #~ " -t, --tabs=ANTAL hav tabulatorer ANTAL tegn fra hinanden i stedet " #~ "for 8\n" #~ " -t, --tabs=LISTE brug en kommasepareret liste med eksplicitte " #~ "tabulatorpositioner\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "%s er for stor" #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Brug: %s [FLAG]... [INDDATA [UDDATA]]\n" #~ msgid "" #~ "Discard all but one of successive identical lines from INPUT (or\n" #~ "standard input), writing to OUTPUT (or standard output).\n" #~ "\n" #~ msgstr "" #~ "Fjern ekstra identiske efterfølgende linjer fra IND\n" #~ "(eller standard-ind), og skriv til UD (eller standard-ud).\n" #~ "\n" #~ msgid "" #~ " -c, --count prefix lines by the number of occurrences\n" #~ " -d, --repeated only print duplicate lines\n" #~ msgstr "" #~ " -c, --count begynd linjer med antal forekomster\n" #~ " -d, --repeated udskriv kun linjer der er flere af\n" #, fuzzy #~ msgid "" #~ " -D, --all-repeated[=delimit-method] print all duplicate lines\n" #~ " delimit-method={none(default),prepend,separate}\n" #~ " Delimiting is done with blank lines.\n" #~ " -f, --skip-fields=N avoid comparing the first N fields\n" #~ " -i, --ignore-case ignore differences in case when comparing\n" #~ " -s, --skip-chars=N avoid comparing the first N characters\n" #~ " -u, --unique only print unique lines\n" #~ " -z, --zero-terminated end lines with 0 byte, not newline\n" #~ msgstr "" #~ " -D, --all-repeated[=adskillelses-metode] skriv alle linjer der er " #~ "flere af\n" #~ " adskillelses-metode={none(forvalgt),prepend," #~ "separate)}\n" #~ " Adskillelse gøres med blanke linjer.\n" #~ " -f, --skip-fields=N sammenlign ikke de første N felter\n" #~ " -i, --ignore-case ignorér forskelle med store og små bogstaver\n" #~ " -s, --skip-chars=N sammenlign ikke de første N tegn\n" #~ " -u, --unique udskriv kun unikke linjer\n" #~ msgid " -w, --check-chars=N compare no more than N characters in lines\n" #~ msgstr " -w, --check-chars=N sammenlign ikke mere end N tegn per linje\n" #, fuzzy #~ msgid "" #~ "\n" #~ "A field is a run of blanks (usually spaces and/or TABs), then non-blank\n" #~ "characters. Fields are skipped before chars.\n" #~ msgstr "" #~ "\n" #~ "Et felt er en række blanke tegn, derefter andre tegn. Felter hoppes over " #~ "før tegn.\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "for mange argumenter" #~ msgid "invalid number of fields to skip" #~ msgstr "ugyldigt antal felter at hoppe over" #~ msgid "invalid number of bytes to skip" #~ msgstr "ugyldigt antal byte at hoppe over" #~ msgid "invalid number of bytes to compare" #~ msgstr "ugyldigt antal byte at sammenligne" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "skrivning af alle duplikerede linjer *og* gentagelsesantal giver ikke " #~ "mening" #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s FIL\n" #~ " eller: %s FLAG\n" #~ msgid "" #~ "Call the unlink function to remove the specified FILE.\n" #~ "\n" #~ msgstr "" #~ "Kald funktionen unlink for at fjerne angivet FIL.\n" #~ "\n" #~ msgid "cannot unlink %s" #~ msgstr "kan ikke aflænke %s" #~ msgid "couldn't get boot time" #~ msgstr "kunne ikke finde ud af boot-tid" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s oppe " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "%d dage" #~ msgstr[1] "%d dag" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "%d brugere" #~ msgstr[1] "%d bruger" #~ msgid ", load average: %.2f" #~ msgstr ", belastningennemsnit: %.2f" #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Brug: %s [FLAG]... [ FIL ]\n" #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Udskriv den aktuelle tid, hvor længe systemet har været oppe,\n" #~ "antal brugere på systemet, og det gennemsnitlige antal opgaver\n" #~ "i kørselskøen for de seneste 1, 5 og 15 minutter.\n" #~ "Hvis FIL ikke er angivet, brug da %s. %s som FIL er almindeligt.\n" #~ "\n" #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Udskriv hvem som for øjeblikket er logget ind ifølge FIL.\n" #~ "Hvis FIL ikke er angivet bruges %s. %s som FIL er almindeligt.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Udskriv antal oktetter, ord og linjeskift for hver FIL, og en total-" #~ "linje\n" #~ "hvis mere end én FIL er angivet. Hvis ingen FIL er angivet,\n" #~ "eller FIL er -, læses fra standard-ind.\n" #~ " -c, --bytes udskriv antal oktetter\n" #~ " -m, --bytes udskriv antal tegn\n" #~ " -l, --lines udskriv antal linjeskift.\n" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ " -L, --max-line-length udskriv længden af den længste linje\n" #~ " -w, --words udskriv antal ord\n" #~ msgid " old " #~ msgstr " gammel " #~ msgid "id=" #~ msgstr "id=" #~ msgid "term=" #~ msgstr "term=" #~ msgid "exit=" #~ msgstr "afslut=" #~ msgid "clock change" #~ msgstr "tidsændring" #~ msgid "run-level" #~ msgstr "kørselsniveau" #~ msgid "last=" #~ msgstr "sidste=" #, fuzzy #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "antal brugere=%u\n" #~ msgid "NAME" #~ msgstr "NAVN" #~ msgid "LINE" #~ msgstr "LINJE" #~ msgid "TIME" #~ msgstr "TID" #~ msgid "IDLE" #~ msgstr "INAKTIV" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "KOMMENTAR" #~ msgid "EXIT" #~ msgstr "AFSLUT" #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Brug: %s [FLAG]... [ FIL | ARG1 ARG2 ]\n" #~ msgid "" #~ "\n" #~ " -a, --all same as -b -d --login -p -r -t -T -u\n" #~ " -b, --boot time of last system boot\n" #~ " -d, --dead print dead processes\n" #~ " -H, --heading print line of column headings\n" #~ msgstr "" #~ "\n" #~ " -a, --all samme som -b -d --login -p -r -t -T -u\n" #~ " -b, --boot tid for seneste systemopstart\n" #~ " -d, --dead udskriv døde processer\n" #~ " -H, --heading udskriv linje med kolonneoverskrifter\n" #, fuzzy #~ msgid "" #~ " --lookup attempt to canonicalize hostnames via DNS\n" #~ " -m only hostname and user associated with stdin\n" #~ " -p, --process print active processes spawned by init\n" #~ msgstr "" #~ " -l, --lookup forsøg at finde værtsnavne med hjælp af DNS\n" #~ " (-l forældet, brug --lookup)\n" #~ " -m kun værtsnavn og brugernavn associeret med standard-" #~ "ind\n" #~ " -p, --process udskriv aktive processer startede af init\n" #~ msgid "" #~ " -q, --count all login names and number of users logged on\n" #~ " -r, --runlevel print current runlevel\n" #~ " -s, --short print only name, line, and time (default)\n" #~ " -t, --time print last system clock change\n" #~ msgstr "" #~ " -q, --count alle indlogningsnavne og antal indloggede brugere\n" #~ " -r, --runleve skriv aktuelt kørselsniveau\n" #~ " -s, --short skriv kun navn, linje og tid (standard)\n" #~ " -t, --time skriv seneste ændring af systemklokken\n" #~ msgid "" #~ " -T, -w, --mesg add user's message status as +, - or ?\n" #~ " -u, --users list users logged in\n" #~ " --message same as -T\n" #~ " --writable same as -T\n" #~ msgstr "" #~ " -T, -w, --mesg tilføj brugeres meddelelsestatus som +, - eller ?\n" #~ " -u, --users list indloggede brugere\n" #~ " --message samme som -T\n" #~ " --writeable samme som -T\n" #~ msgid "" #~ "\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are usual.\n" #~ msgstr "" #~ "\n" #~ "Hvis FIL ikke er angivet, brug %s. %s som FIL er almindeligt.\n" #~ "Hvis ARG1 ARG2 er angivet, antages -m: \"am i\" eller \"mom likes\" er " #~ "almindeligt.\n" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Udskriv brugernavnet tilknyttet den nuværende effektive brugeridentitet.\n" #~ "Samme som id -un.\n" #~ "\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "kan ikke finde navnet for bruger-ID %u" #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Brug: %s [STRENG]...\n" #~ " eller: %s FLAG\n" #~ msgid "" #~ "Repeatedly output a line with all specified STRING(s), or `y'.\n" #~ "\n" #~ msgstr "" #~ "Skriv gentagne gange en linje med alle specificerede STRENG'e, eller \"y" #~ "\"\n" #~ "\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Brug: %s FORMAT [ARGUMENT]...\n" #~ " eller: %s FLAG\n" #~ msgid "block size" #~ msgstr "blokstørrelse" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "kan ikke ændre ejer og/eller gruppe på %s" #~ msgid "cannot chdir to directory %s" #~ msgstr "kan ikke skifte katalog til %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "kan ikke finde logind-gruppen for en numerisk bruger-ID" #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "Dette er frit programmel; se kildeteksten for betingelser for kopiering. " #~ "Der er INGEN\n" #~ "garanti; ikke engang for SALGBARHED eller EGNETHED FOR ET SPECIELT " #~ "FORMÅL.\n" #~ msgid "too few arguments" #~ msgstr "for få argumenter" #~ msgid "closing standard output" #~ msgstr "lukker standard-ud" #~ msgid "cannot change to null group" #~ msgstr "kan ikke ændre til nul-gruppe" #~ msgid "group number" #~ msgstr "gruppenummer" #~ msgid "invalid group number %s" #~ msgstr "ugyldigt gruppenummer %s" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Hver TILSTAND skal være ét eller flere af bogstaverne ugoa, ét af " #~ "symbolerne +-=\n" #~ "og ét eller flere af bogstaverne rwxXstugo.\n" #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Brug: %s [FLAG]... VENSTRE_FIL HØJRE_FIL\n" #~ msgid "cannot overwrite directory %s" #~ msgstr "kan ikke overskrive katalog %s" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjørn Granlund, David MacKenzie og Jim Meyering" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: angivet mål er ikke et katalog" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "kopierer flere filer, men sidste argument, %s, er ikke et katalog" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "advarsel: --version-control (-V) er forældet; understøttelse for det\n" #~ "vil blive fjernet i en fremtidig udgave. Brug --backup=%s i stedet." #~ msgid "symbolic links are not supported on this system" #~ msgstr "symbolske lænker understøttes ikke på dette system" #~ msgid "Stuart Kemp and David MacKenzie" #~ msgstr "Stuart Kemp og David MacKenzie" #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: '+' eller '-' forventet efter skilletegn" #~ msgid "David Ihnat, David MacKenzie, and Jim Meyering" #~ msgstr "David Ihnat, David MacKenzie og Jim Meyering" #~ msgid "" #~ "Display the current time in the given FORMAT, or set the system date.\n" #~ "\n" #~ " -d, --date=STRING display time described by STRING, not `now'\n" #~ " -f, --file=DATEFILE like --date once for each line of DATEFILE\n" #~ " -ITIMESPEC, --iso-8601[=TIMESPEC] output date/time in ISO 8601 " #~ "format.\n" #~ " TIMESPEC=`date' for date only,\n" #~ " `hours', `minutes', or `seconds' for date " #~ "and\n" #~ " time to the indicated precision.\n" #~ " --iso-8601 without TIMESPEC defaults to " #~ "`date'.\n" #~ msgstr "" #~ "Vis den nuværende tid i det givne FORMAT eller sæt systemdatoen.\n" #~ "\n" #~ " -d, --date=STRENG vis tiden beskrevet af STRENG, ikke 'nu'\n" #~ " -f, --file=DATOFIL som --date en gang for hver linje af DATOFIL\n" #~ " -ITIDSSPEC, --iso-8601[=TIDSSPEC] udskriv en dato/tid streng i henhold " #~ "til ISO 8601.\n" #~ " TIDSSPEC='date' for kun dato,\n" #~ " 'hours', 'minutes', eller `seconds' for dato " #~ "og\n" #~ " tid til den indikerede præcision.\n" #~ " --iso-8601 uden TIDSSPEC er det samme som " #~ "'date'.\n" #~ msgid "" #~ " %F same as %Y-%m-%d\n" #~ " %g the 2-digit year corresponding to the %V week number\n" #~ " %G the 4-digit year corresponding to the %V week number\n" #~ msgstr "" #~ " %F samme som %Y-%m-%d\n" #~ " %g det 2-cifrede årstal svarende til %V-ugenummeret\n" #~ " %G det 4-cifrede årstal svarende til %V-ugenummeret\n" #~ msgid "" #~ " %z RFC-822 style numeric timezone (-0500) (a nonstandard extension)\n" #~ " %Z time zone (e.g., EDT), or nothing if no time zone is determinable\n" #~ "\n" #~ "By default, date pads numeric fields with zeroes. GNU date recognizes\n" #~ "the following modifiers between `%' and a numeric directive.\n" #~ "\n" #~ " `-' (hyphen) do not pad the field\n" #~ " `_' (underscore) pad the field with spaces\n" #~ msgstr "" #~ " %z RFC-822-numerisk tidszone (+0100) (en tilføjelse som ikke er " #~ "standard)\n" #~ " %Z tidszone (fx CET), eller intet hvis tidszonen ikke kunne " #~ "bestemmes\n" #~ "\n" #~ "Normalt udfylder date numeriske felter med nuller. GNU date forstår\n" #~ "følgende bestemningstegn mellem \"%\" og en numerisk anvisning.\n" #~ "\n" #~ " \"-\" (bindestreg) udfyld ikke feltet\n" #~ " \"_\" (understregning) udfyld feltet med blanktegn\n" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "for mange argumenter der ikke er flag: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "en formatstreng kan ikke angives når tilvalget --rfc-822 bruges" #~ msgid "undefined" #~ msgstr "ikke-defineret" #~ msgid "cannot get time of day" #~ msgstr "kan ikke bestemme klokkeslæt" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie og Stuart Kemp" #~ msgid "" #~ " notrunc do not truncate the output file\n" #~ " ucase change lower case to upper case\n" #~ " swab swap every pair of input bytes\n" #~ " noerror continue after read errors\n" #~ " sync pad every input block with NULs to ibs-size; when used\n" #~ " with block or unblock, pad with spaces rather than NULs\n" #~ msgstr "" #~ " notrunc afkort ikke uddatafilen\n" #~ " ucase lav små bogstaver om til store\n" #~ " swab ombyt hvert par af byte i inddata\n" #~ " noerror fortsæt efter læsefejl\n" #~ " sync udfyld hver inddatablok med nul-tegn indtil ibs-størrelse;\n" #~ " ved brug med block eller unblock - udfyld med blanke i " #~ "stedet\n" #~ " for med nul-tegn\n" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s blokke ind\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s blokke ud\n" #~ msgid "truncated records" #~ msgstr "afkortede blokke" #~ msgid "unrecognized option %s=%s" #~ msgstr "ukendt flag %s=%s" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "kun én konvertering i {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgid "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgstr "Torbjørn Granlund, David MacKenzie, Larry McVoy og Paul Eggert" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "flaget for at udskrive dircolors' interne database til uddata\n" #~ "tillader ikke argumenter" #~ msgid "David MacKenzie and Jim Meyering" #~ msgstr "David MacKenzie og Jim Meyering" #~ msgid "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgstr "" #~ "Torbjørn Granlund, David MacKenzie, Larry McVoy, Paul Eggert og Jim " #~ "Meyering" #~ msgid "" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " -H, --si likewise, but use powers of 1000 not 1024\n" #~ " -k like --block-size=1K\n" #~ " -l, --count-links count sizes many times if hard linked\n" #~ msgstr "" #~ " -h, --human-readable skriv størrelser i et læsevenligt format \n" #~ " (fx 1K 234M 2G)\n" #~ " -H, --si det samme, men brug 1000 som grundtal, ikke 1024\n" #~ " -k, --kilobytes ligesom --block-size=1024\n" #~ " -l, --count-links tæl størrelsen med flere gange for hårde lænker\n" #~ msgid "cannot change to parent of directory %s" #~ msgstr "kan ikke gå til overkatalog for kataloget %s" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Ekko STRENG'e til standard-ud.\n" #~ "\n" #~ " -n udskriv ikke det efterfølgende linjeskift\n" #~ " -e aktivér tolkning af sekvenserne med omvendt skråstreg " #~ "nævnt nedenfor\n" #~ " -E deaktivér tolkningen af disse sekvenser i STRENG'e\n" #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "'-LIST'-flaget er forældet; brug '-t LIST'" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "advarsel: ikke-portabel BRE (Basic Regular Expression): '%s': \n" #~ "brug af '^' som første tegn af et almindelig regulært udtryk er ikke\n" #~ "portabelt; '^' ignoreres" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Brug: %s [ignorerede kommandolinje-argumenter]\n" #~ " eller: %s FLAG\n" #~ "Afslut med en statuskode der angiver fejl.\n" #~ "\n" #~ "Disse navne på flag kan ikke forkortes.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "In -wNUMBER, the letter `w' may be omitted.\n" #~ msgstr "" #~ "\n" #~ "Ved -wTAL kan bogstavet 'w' udelades.\n" #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "'%s'-flag er forældet; brug '%s'" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=STØRRELSE udskriv første STØRRELSE bytes\n" #~ " -n, --lines=ANTAL udskriv første ANTAL linjer i stedet for 10\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "STØRRELSE kan have en multiplikatorendelse: b for 512, k for 1K eller\n" #~ " m for 1 Meg.\n" #~ msgid "unrecognized option `-%c'" #~ msgstr "ukendt flag \"-%c\"" #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "'-%s'-flaget er forældet; brug '-%c %.*s%.*s%s'" #~ msgid "Arnold Robbins and David MacKenzie" #~ msgstr "Arnold Robbins og David MacKenzie" #~ msgid "cannot print only user and only group" #~ msgstr "kan ikke udskrive kun bruger *og* kun gruppe" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "installerer flere filer, men sidste argument, %s, er ikke et katalog" #~ msgid "%s is a directory" #~ msgstr "%s er et katalog" #~ msgid "cannot obtain time stamps for %s" #~ msgstr "kan ikke få tidsstempler for %s" #~ msgid "strip failed" #~ msgstr "strip mislykkedes" #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "ugyldigt feltnummer for fil 1: \"%s\"" #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "ugyldigt feltnummer for fil 2: \"%s\"" #~ msgid "too many non-option arguments" #~ msgstr "for mange argumenter, der ikke er flag" #~ msgid "too few non-option arguments" #~ msgstr "for få argumenter, der ikke er flag" #~ msgid "Mike Parker and David MacKenzie" #~ msgstr "Mike Parker og David MacKenzie" #~ msgid "%s: File exists" #~ msgstr "%s: Filen eksisterer" #~ msgid "create symbolic link %s to %s" #~ msgstr "opret symbolsk lænke %s til %s" #~ msgid "create hard link %s to %s" #~ msgstr "opret hård lænke %s til %s" #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Brug: %s [FLAG]... MÅL [LÆNKENAVN]\n" #~ " eller: %s [FLAG]... MÅL... KATALOG\n" #~ " eller: %s [FLAG]... --target-directory=KATALOG MÅL...\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "ved oprettelse af flere lænker skal sidste argument være et katalog" #~ msgid "" #~ " -g like -l, but do not list owner\n" #~ " -G, --no-group inhibit display of group information\n" #~ " -h, --human-readable print sizes in human readable format (e.g., 1K " #~ "234M 2G)\n" #~ " --si likewise, but use powers of 1000 not 1024\n" #~ " -H, --dereference-command-line\n" #~ " follow symbolic links listed on the command " #~ "line\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " follow each command line symbolic link\n" #~ " that points to a directory\n" #~ msgstr "" #~ " -g som -l, men vís ikke ejer\n" #~ " -G, --no-group medtag ikke gruppeinformation\n" #~ " -h, --human-readable skriv størrelser i et læsevenligt format \n" #~ " (f.eks. 1K 234M 2G)\n" #~ " --si det samme, men brug 1000 som grundtal, ikke " #~ "1024\n" #~ " -H --dereference-command-line følg symbolske lænker på kommandolinjen\n" #~ " --dereference-command-line-symlink-to-dir\n" #~ " følg symbolske lænker på kommandolinjen,\n" #~ " der peger til et katalog\n" #~ msgid "" #~ "\n" #~ " -b, --binary read files in binary mode (default on DOS/" #~ "Windows)\n" #~ " -c, --check check %s sums against given list\n" #~ " -t, --text read files in text mode (default)\n" #~ "\n" #~ msgstr "" #~ "\n" #~ " -b, --binary læs filerne i binærtilstand (forvalg i DOS/" #~ "Windows)\n" #~ " -c, --check tjek %s-summerne mod angivet liste\n" #~ " -t, --text læs filerne i teksttilstand (forvalgt)\n" #~ "\n" #~ msgid "file" #~ msgstr "fil" #~ msgid "files" #~ msgstr "filer" #~ msgid "checksum" #~ msgstr "kontrolsum" #~ msgid "checksums" #~ msgstr "kontrolsummer" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "flagene --string og --check kan ikke bruges samtidigt" #~ msgid "no files may be specified when using --string" #~ msgstr "ingen fil kan angives når --string bruges" #~ msgid "only one argument may be specified when using --check" #~ msgstr "kun et argument kan angives når --check bruges" #~ msgid "cannot set permissions of directory %s" #~ msgstr "kan ikke sætte adgangsrettigheder på kataloget %s" #~ msgid "cannot set permissions of fifo %s" #~ msgstr "kan ikke ændre adgangsrettigheder på fifo %s" #~ msgid "wrong number of arguments" #~ msgstr "forkert antal argumenter" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "større- og mindre-nummer kan ikke angives for fifo-filer" #~ msgid "cannot set permissions of %s" #~ msgstr "kan ikke sætte adgangsrettigheder på %s" #~ msgid "Mike Parker, David MacKenzie, and Jim Meyering" #~ msgstr "Mike Parker, David MacKenzie og Jim Meyering" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "ved flytning af flere filer skal sidste argument være et katalog" #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Kør KOMMANDO med en justeret behandlingsprioritet.\n" #~ "Uden nogen KOMMANDO, udskriv nuværende behandlingsprioritet. JUSTERING\n" #~ "er forvalgt til 10. Skalaen går fra -20 (højeste prioritet) til 19 " #~ "(laveste).\n" #~ "\n" #~ " -n, --adjustment=JUSTERING øg prioriteten med JUSTERING først\n" #~ msgid "invalid option `%s'" #~ msgstr "ugyldigt flag '%s'" #~ msgid "invalid priority `%s'" #~ msgstr "ugyldig prioritet '%s'" #~ msgid "cannot get priority" #~ msgstr "kan ikke bestemme prioritet" #~ msgid "cannot set priority" #~ msgstr "kan ikke sætte prioritet" #~ msgid "Scott Bartram and David MacKenzie" #~ msgstr "Scott Bartram og David MacKenzie" #~ msgid "old-style offset" #~ msgstr "position på gammel form" #~ msgid "skip argument" #~ msgstr "overspring argument" #~ msgid "limit argument" #~ msgstr "begræns argument" #~ msgid "minimum string length" #~ msgstr "minimal strenglængde" #~ msgid "width specification" #~ msgstr "breddespecifikation" #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "ugyldig 2. operand i kompatibilitetstilstand '%s'" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "i kompatibilitetstilstand skal de sidste to argumenter være positioner" #~ msgid "David M. Ihnat and David MacKenzie" #~ msgstr "David M. Ihnat og David MacKenzie" #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Tjekker for ikke-portable konstruktioner i filNAVN.\n" #~ "\n" #~ " -p, --portability tjek for alle POSIX-systemer, ikke kun dette\n" #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "stien '%s' indeholder et ikke-portabelt tegn '%c'" #~ msgid "`%s' is not a directory" #~ msgstr "'%s' er ikke et katalog" #~ msgid "directory `%s' is not searchable" #~ msgstr "kataloget '%s' er ikke søgbart" #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "navnet '%s' har længde %ld; overstiger grænsen på %ld" #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "stien '%s' har længde %d; overstiger grænsen på %ld" #~ msgid "Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi" #~ msgstr "Joseph Arceneaux, David MacKenzie og Kaveh Ghazi" #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "'--pages' ugyldigt område for sidenumre: '%s'" #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "\"--pages\" ugyldigt startsidenummer: \"%s\"" #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "\"--pages\" ugyldigt slutsidenummer: \"%s\"" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "'--pages' startsidenummeret er større end slutsidenummeret" #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "'--columns=KOLONNER' ugyldigt antal kolonner: '%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%Y-%m-%d %H:%M" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "start-sidenummeret er større end totalt antal sider: '%d'" #~ msgid "Page %d" #~ msgstr "Side %d" #~ msgid "David MacKenzie and Richard Mlynarik" #~ msgstr "David MacKenzie og Richard Mlynarik" #~ msgid "\\%c: invalid escape" #~ msgstr "\\%c: ugyldig beskyttelse" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Brug: %s format [argument...]\n" #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Dette program er frit programmel. Du kan redistribuere det og/eller\n" #~ "ændre det under betingelserne givet i 'GNU General Public License' som\n" #~ "udgivet af Free Software Foundation - enten version 2, eller (efter eget\n" #~ "valg) en hvilken som helst senere version.\n" #~ "\n" #~ msgid "" #~ "This program is distributed in the hope that it will be useful,\n" #~ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" #~ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" #~ "GNU General Public License for more details.\n" #~ "\n" #~ msgstr "" #~ "Dette program er distribueret i håb om at det vil være nyttigt,\n" #~ "men UDEN NOGEN GARANTIER, heller ikke implicerede om SALGBARHED eller\n" #~ "EGNETHED FOR NOGEN SPECIEL ANVENDELSE. Se 'GNU General Public License'\n" #~ "for flere detaljer.\n" #~ "\n" #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Du bør have modtaget en kopi af 'GNU General Public License' sammen med\n" #~ "dette program - hvis ikke, så skriv til Free Software Foundation Inc.,\n" #~ "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgid "cannot chdir from %s to .." #~ msgstr "kan ikke skifte katalog fra %s til .." #~ msgid "cannot lstat `.' in %s" #~ msgstr "kan ikke tage status (lstat) på '.' i %s" #~ msgid "cannot lstat %s" #~ msgstr "kan ikke tage status (lstat) på %s" #~ msgid "cannot chdir from %s to %s" #~ msgstr "kan ikke skifte katalog fra %s til %s" #~ msgid "cannot remove `.' or `..'" #~ msgstr "kan ikke slette '.' eller '..'" #~ msgid "Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Richard Stallman og Jim Meyering" #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "Fjern (unlink) FIL'er.\n" #~ "\n" #~ " -d, --directory slet kataloger selv om de ikke er tomme (kun " #~ "superbruger)\n" #~ " -f, --force ignorér ikke-eksisterende filer, ingen " #~ "bekræftelse\n" #~ " -i, --interactive bed om bekræftelse før sletning af filer\n" #~ " -r, -R, --recursive slet indhold af kataloger rekursivt\n" #~ " -v, --verbose forklar hvad der sker\n" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "når startværdien er større end grænsen skal øgningen være negativ" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "når startværdien er mindre end grænsen skal øgningen være positiv" #~ msgid "sort size" #~ msgstr "sorteringsstørrelse" #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "'-%d'-flaget er forældet; brug '-l %d'" #~ msgid "*** invalid date/time ***" #~ msgstr "*** ugyldig datoi/klokkeslæt ***" #~ msgid "" #~ "Display file or filesystem status.\n" #~ "\n" #~ " -f, --filesystem display filesystem status instead of file status\n" #~ " -c --format=FORMAT use the specified FORMAT instead of the default\n" #~ " -L, --dereference follow links\n" #~ " -t, --terse print the information in terse form\n" #~ msgstr "" #~ "Vis fils eller filsystems status.\n" #~ "\n" #~ " -f, --filesystem vis filsystemstatus i stedet for filstatus\n" #~ " -c --format=FORMAT brug det angivne FORMAT i stedet for det normale\n" #~ " -L, --dereference følg lænker\n" #~ " -t, --terse udskriv informationen i sammentrængt form\n" #~ msgid "Jay Lepreau and David MacKenzie" #~ msgstr "Jay Lepreau og David MacKenzie" #~ msgid "stdin: read error" #~ msgstr "stdind: læsefejl" #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Ian Lance Taylor og Jim Meyering" #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: ugyldig suffiks-tegn i forældet flag" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "for mange argumenter; Når 'tail's forældede flag-syntaks bruges (%s)\n" #~ "kan det ikke være mere end et filargument. Brug det tilsvarende -n " #~ "eller\n" #~ "-c-flag i stedet." #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "Advarsel: det er ikke portabelt at bruge to eller flere filargumenter " #~ "med\n" #~ "tails gamle flagsyntaks (%s). Brug det tilsvarende -n eller -c-\n" #~ "flaget i stedet." #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "'%s'-flaget er forældet; brug '%s-%c %.*s'" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s er større end den maksimale filstørrelse på dette system" #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "%s: ugyldig maksimum antal af efterfølgende ændringer i størrelse" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman og David MacKenzie" #~ msgid "argument expected\n" #~ msgstr "argument forventet\n" #~ msgid "integer expression expected %s\n" #~ msgstr "forventet heltalsudtryk %s\n" #~ msgid "before -lt" #~ msgstr "før -lt" #~ msgid "after -lt" #~ msgstr "efter -lt" #~ msgid "before -le" #~ msgstr "før -le" #~ msgid "after -le" #~ msgstr "efter -le" #~ msgid "before -gt" #~ msgstr "før -gt" #~ msgid "after -gt" #~ msgstr "efter -gt" #~ msgid "before -ge" #~ msgstr "før -ge" #~ msgid "after -ge" #~ msgstr "efter -ge" #~ msgid "before -ne" #~ msgstr "før -ne" #~ msgid "after -ne" #~ msgstr "efter -ne" #~ msgid "before -eq" #~ msgstr "før -eq" #~ msgid "after -eq" #~ msgstr "efter -eq" #~ msgid "after -t" #~ msgstr "efter -t" #~ msgid "FIXME: ksb and mjb" #~ msgstr "FIXMIG: ksb og mjb" #~ msgid "too many arguments\n" #~ msgstr "for mange argumenter\n" #~ msgid "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith" #~ msgstr "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie og Randy Smith" #~ msgid "" #~ "Update the access and modification times of each FILE to the current " #~ "time.\n" #~ "\n" #~ msgstr "" #~ "Opdatér læsnings- og ændringstider for FIL(er) til nuværende tid og " #~ "dato.\n" #~ "\n" #~ msgid "file arguments missing" #~ msgstr "filargumenter mangler" #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "ugyldig omvendt skråstreg-beskyttelse '\\%c'" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "to strenge skal være givet ved både sletning og sammenklemning af " #~ "gentagelser" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "mindst en streng skal være givet ved sammenklemning af gentagelser" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "ugyldig identitetsafbildning; ved oversættelse skal evt. [:lower:]- " #~ "eller\n" #~ "[:upper:]-konstruktioner i streng1 være placeret i henhold til en\n" #~ "tilsvarende konstruktion (henholdsvis [:upper:] eller [:lower:]) i\n" #~ "streng2" #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Brug: %s [ignorerede kommandolinje-argumenter]\n" #~ " eller: %s FLAG\n" #~ "Afslut med en statuskode der angiver succes.\n" #~ "\n" #~ "Disse navne på flag kan ikke forkortes.\n" #~ "\n" #~ msgid "only one argument may be specified" #~ msgstr "kun ét argument kan angives" #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "'-LIST' flaget er forældet; brug '--first-only -t LIST'" #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "'-%lu'-flaget er forældet; brug '-f %lu'" #~ msgid "Joseph Arceneaux, David MacKenzie, and Michael Stone" #~ msgstr "Joseph Arceneaux, David MacKenzie og Michael Stone" #~ msgid "" #~ " -i, --idle add idle time as HOURS:MINUTES, . or old\n" #~ " (deprecated, use -u)\n" #~ " --login print system login processes\n" #~ " (equivalent to SUS -l)\n" #~ msgstr "" #~ " -i, --idle tilføj brugerens inaktive tid som TIMER:MINUTTER,\n" #~ " . eller \"længe\" (forældet, brug -u)\n" #~ " --login udskriv indlogningsprocesser (det samme som SUS -l)\n" #~ msgid "Warning: -i will be removed in a future release; use -u instead" #~ msgstr "" #~ "Advarsel: -i vil blive fjernet i en fremtidig udgave; brug -u i stedet" #~ msgid "" #~ "Warning: the meaning of '-l' will change in a future release to conform " #~ "to POSIX" #~ msgstr "" #~ "Advarsel: betydningen af \"-l\" vil blive ændret i en fremtidig udgave " #~ "for at stemme med POSIX" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: kan ikke finde brugernavnet for UID %u\n" dc3dd-7.1.614/po/pt_BR.po0000644000175000017500000053716511233346647014455 0ustar amedicoamedico# Traduçoes para o português do Brasil das mensagens do "textutils" # Copyright (C) 1998 Free Software Foundation, Inc. # Cyro Mendes De Moraes Neto , 1998. # Rodrigo Stulzer Lopes , 2001. # Juan Carlos Castro y Castro , 2003. # msgid "" msgstr "" "Project-Id-Version: coreutils 5.0\n" "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n" "POT-Creation-Date: 2009-04-07 16:11-0400\n" "PO-Revision-Date: 2003-06-27 19:20-0300\n" "Last-Translator: Juan Carlos Castro y Castro \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:59 msgid "Paul Rubin" msgstr "" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:60 #, fuzzy msgid "David MacKenzie" msgstr "Stuart Kemp e David MacKenzie" #. This is a proper name. See the gettext manual, section Names. #: src/dc3dd.c:61 msgid "Stuart Kemp" msgstr "" # , c-format #: src/dc3dd.c:523 #, fuzzy msgid "Could not allocate space for thread" msgstr "não é possível criar o diretório %s" #: src/dc3dd.c:538 src/dc3dd.c:546 msgid "Unable to allocate space for thread buffer" msgstr "" #: src/dc3dd.c:556 msgid "Unable to allocate space for lock/signals" msgstr "" #: src/dc3dd.c:714 #, c-format msgid "Unknown hash algorithm %s" msgstr "" #: src/dc3dd.c:730 msgid "Unable to allocate space for hashes" msgstr "" #: src/dc3dd.c:771 src/dc3dd.c:777 src/dc3dd.c:781 msgid "Unable to allocate space for threads" msgstr "" # , c-format #: src/dc3dd.c:1090 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Tente `%s --help' para mais informação.\n" # , c-format #: src/dc3dd.c:1094 #, fuzzy, c-format msgid "" "Usage: %s [OPERAND]...\n" " or: %s OPTION\n" msgstr "" "Uso: %s [NÚMERO]...\n" " ou: %s OPÇÃO\n" #: src/dc3dd.c:1099 msgid "" "Copy a file, converting and formatting according to the operands.\n" "\n" " bs=BYTES force ibs=BYTES and obs=BYTES\n" " conv=CONVS convert the file as per the comma separated symbol list\n" " count=SECTORS copy only SECTORS input sectors\n" " ibs=BYTES read BYTES bytes at a time (must be a multiple of input " "sector size)\n" msgstr "" #: src/dc3dd.c:1107 msgid "" " if=FILE read from FILE instead of stdin\n" " ifjoin=BASE.FMT read from split files with name BASE and splitformat " "FMT\n" " iflag=FLAGS read as per the comma separated symbol list\n" " pattern=HEX write HEX to every byte of the output\n" " textpattern=TEXT write the string TEXT repeatedly to the output\n" " obs=BYTES write BYTES bytes at a time\n" " of=FILE write to FILE instead of stdout\n" " of:=COMMAND pipe output to the given command\n" " oflag=FLAGS write as per the comma separated symbol list\n" " wipe=FILE wipe device FILE with zeros (or specify pattern/" "textpattern)\n" " seek=SECTORS skip SECTORS input sectors at start of output\n" " skip=SECTORS skip SECTORS input sectors at start of input\n" " status=noxfer suppress transfer statistics\n" msgstr "" #: src/dc3dd.c:1122 msgid "" " split=BYTES split the output into pieces of size BYTES\n" " splitformat=FMT create extensions for split pieces using FMT\n" " Extensions can be numerical starting at zero,\n" " numerical starting at one, or alphabetical.\n" " These options are selected by using a series of\n" " zeros, ones, or a's, respectively. The number\n" " of characters used indicates the desired length of\n" " the extensions. For example, splitformat=1111\n" " indicates four character numerical extensions\n" " starting with 0001.\n" " progress=on displays a progress meter\n" " progresscount=NUM number of blocks processed between each progress " "update\n" " sizeprobe=on estimates size of input file for use with status\n" " hash=ALGORITHM computes ALGORITHM hashes of the input data\n" msgstr "" #: src/dc3dd.c:1142 msgid "" " hashwindow=BYTES number of bytes for piecewise hashing\n" " hashlog=FILE appends piecewise hashes to the log file\n" " errlog=FILE appends errors to the log file\n" " log=FILE appends hashes and errors to the same file\n" " errors=group group read errors together\n" msgstr "" #: src/dc3dd.c:1149 msgid "" " vf=FILE verify the input against FILE\n" " vfjoin=BASE.FMT verify the input against split files with name BASE and " "splitformat FMT\n" " verifylog=FILE write the results of the verify to the given file\n" msgstr "" #: src/dc3dd.c:1155 msgid "" "\n" "ALGORITHM can be a comma separated list of md5, sha1, sha256, and sha512\n" "\n" msgstr "" #: src/dc3dd.c:1160 msgid "" "\n" "BLOCKS and BYTES may be followed by the following multiplicative suffixes:\n" "xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,\n" "GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.\n" "\n" "Each CONV symbol may be:\n" "\n" msgstr "" #: src/dc3dd.c:1169 msgid "" " nocreat do not create the output file\n" " excl fail if the output file already exists\n" " notrunc do not truncate the output file\n" msgstr "" #: src/dc3dd.c:1174 msgid "" " noerror continue after read errors\n" " sync pad every input block with NULs to ibs-size; when used\n" " with block or unblock, pad with spaces rather than NULs\n" " fdatasync physically write output file data before finishing\n" " fsync likewise, but also write metadata\n" msgstr "" #: src/dc3dd.c:1181 msgid "" "\n" "Each FLAG symbol may be:\n" "\n" " append append mode (makes sense only for output; conv=notrunc " "suggested)\n" msgstr "" #: src/dc3dd.c:1188 msgid " direct use direct I/O for data\n" msgstr "" #: src/dc3dd.c:1190 #, fuzzy msgid " directory fail unless a directory\n" msgstr "%s existe, mas não é um diretório" #: src/dc3dd.c:1192 msgid " dsync use synchronized I/O for data\n" msgstr "" #: src/dc3dd.c:1194 msgid " sync likewise, but also for metadata\n" msgstr "" #: src/dc3dd.c:1196 msgid " nonblock use non-blocking I/O\n" msgstr "" #: src/dc3dd.c:1198 msgid " noatime do not update access time\n" msgstr "" #: src/dc3dd.c:1200 msgid " noctty do not assign controlling terminal from file\n" msgstr "" #: src/dc3dd.c:1203 msgid " nofollow do not follow symlinks\n" msgstr "" #: src/dc3dd.c:1205 msgid " nolinks fail if multiply-linked\n" msgstr "" #: src/dc3dd.c:1207 msgid " binary use binary I/O for data\n" msgstr "" #: src/dc3dd.c:1209 msgid " text use text I/O for data\n" msgstr "" #: src/dc3dd.c:1213 #, c-format msgid "" "\n" "Sending a %s signal to a running `dd' process makes it\n" "print I/O statistics to standard error and then resume copying.\n" "\n" " $ dd if=/dev/zero of=/dev/null& pid=$!\n" " $ kill -%s $pid; sleep 1; kill $pid\n" " 18335302+0 sectors in\n" " 18335302+0 sectors out\n" " 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s\n" "\n" "Options are:\n" "\n" msgstr "" #: src/dc3dd.c:1266 msgid "Unknown system error" msgstr "Erro de sistema desconhecido" #: src/dc3dd.c:1953 src/dc3dd.c:1960 #, c-format msgid "" "%+% sectors in\n" "%+% sectors out\n" msgstr "" #: src/dc3dd.c:1971 #, c-format msgid "\n" msgstr "" #: src/dc3dd.c:1999 src/dc3dd.c:2007 #, c-format msgid "% byte (%s) %s" msgid_plural "% bytes (%s) %s" msgstr[0] "" msgstr[1] "" #: src/dc3dd.c:2041 msgid "Infinity B" msgstr "" #. TRANSLATORS: The two instances of "s" in this string are the SI #. symbol "s" (meaning second), and should not be translated. #. #. This format used to be: #. #. ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) #. #. but that was incorrect for languages like Polish. To fix this #. bug we now use SI symbols even though they're a bit more #. confusing in English. #: src/dc3dd.c:2054 #, c-format msgid ", %g s, %s/s " msgstr "" #: src/dc3dd.c:2057 #, c-format msgid ", %g s, %s/s\n" msgstr "" # , c-format #: src/dc3dd.c:2139 #, c-format msgid "closing input file %s" msgstr "fechando arquivo de entrada %s" #: src/dc3dd.c:2146 #, c-format msgid "closing output file %s" msgstr "fechando arquivo de saída %s" #: src/dc3dd.c:2399 msgid "Unable to allocate filename" msgstr "" #: src/dc3dd.c:2428 msgid "Split extensions exhausted" msgstr "" # , c-format #: src/dc3dd.c:2449 src/dc3dd.c:2698 src/dc3dd.c:2705 src/dc3dd.c:2713 #: src/dc3dd.c:2809 src/dc3dd.c:3919 src/dc3dd.c:3970 src/dc3dd.c:3985 #: src/dc3dd.c:3996 #, c-format msgid "opening %s" msgstr "abrindo %s" #: src/dc3dd.c:2462 msgid "Unable to allocate memory" msgstr "" #: src/dc3dd.c:2478 src/dc3dd.c:2484 #, fuzzy msgid "Verify FAILED" msgstr "A soma não coincide" # , c-format #: src/dc3dd.c:2672 src/dc3dd.c:2908 #, fuzzy, c-format msgid "unrecognized operand %s" msgstr "opção não reconhecida %s" # , c-format #: src/dc3dd.c:2682 src/dc3dd.c:2689 src/dc3dd.c:2829 src/dc3dd.c:2962 #, fuzzy, c-format msgid "illegal pattern %s" msgstr "data inválida `%s'" #: src/dc3dd.c:2748 msgid "It is pitch dark here. You are likely to be eaten by a grue." msgstr "" # , c-format #: src/dc3dd.c:2753 #, fuzzy, c-format msgid "Illegal split format %s" msgstr "formato de data inválido %s" #: src/dc3dd.c:2768 #, c-format msgid "Illegal ifjoin format %s - missing extension" msgstr "" # , c-format #: src/dc3dd.c:2773 #, fuzzy, c-format msgid "Illegal ifjoin format %s" msgstr "formato de data inválido %s" #: src/dc3dd.c:2793 #, c-format msgid "Illegal vfjoin format %s - missing extension" msgstr "" # , c-format #: src/dc3dd.c:2798 #, fuzzy, c-format msgid "Illegal vfjoin format %s" msgstr "formato de data inválido %s" #: src/dc3dd.c:2813 #, c-format msgid "%s not implemented yet" msgstr "" # , c-format #: src/dc3dd.c:2847 #, fuzzy msgid "invalid conversion" msgstr "conversão inválida: %s" #: src/dc3dd.c:2850 #, fuzzy msgid "invalid input flag" msgstr "número inválido no início do campo" #: src/dc3dd.c:2853 #, fuzzy msgid "invalid output flag" msgstr "grupo inválido" #: src/dc3dd.c:2856 #, fuzzy msgid "invalid status flag" msgstr "usuário inválido" #: src/dc3dd.c:2913 #, c-format msgid "invalid number %s" msgstr "número inválido %s" # , c-format #: src/dc3dd.c:2938 #, fuzzy msgid "cannot combine excl and nocreat" msgstr "não é possível criar o diretório %s" # , c-format #: src/dc3dd.c:2941 #, fuzzy msgid "cannot combine if= and ifjoin=" msgstr "não é possível criar o diretório %s" # , c-format #: src/dc3dd.c:2944 #, fuzzy msgid "cannot combine vf= and vfjoin=" msgstr "não é possível criar o diretório %s" #: src/dc3dd.c:2947 #, c-format msgid "error: split size must be a multiple of block size (currently %zd)" msgstr "" # , c-format #: src/dc3dd.c:2950 #, fuzzy msgid "cannot combine if= and wipe=" msgstr "não é possível criar o diretório %s" # , c-format #: src/dc3dd.c:2953 #, fuzzy msgid "cannot combine wipe= and ifjoin=" msgstr "não é possível criar o diretório %s" # , c-format #: src/dc3dd.c:2955 #, fuzzy msgid "cannot combine wipe= and vfjoin=" msgstr "não é possível criar o diretório %s" #: src/dc3dd.c:3116 #, c-format msgid "" "warning: working around lseek kernel bug for file (%s)\n" " of mt_type=0x%0lx -- see for the list of types" msgstr "" # , c-format #: src/dc3dd.c:3165 #, fuzzy, c-format msgid "skip: reading %s" msgstr "lendo %s" #: src/dc3dd.c:3173 src/dc3dd.c:3237 #, fuzzy, c-format msgid "%s: cannot seek" msgstr "não foi possível remover `%s'" #: src/dc3dd.c:3210 #, c-format msgid "offset overflow while reading file %s" msgstr "" # , c-format #: src/dc3dd.c:3228 #, fuzzy msgid "advance: warning: invalid file offset after failed read" msgstr "atenção: largura %lu inválida; será usado %d em seu lugar" #: src/dc3dd.c:3233 msgid "cannot work around kernel bug after all" msgstr "" #: src/dc3dd.c:3291 #, fuzzy, c-format msgid "setting flags for %s" msgstr "configurando data de %s" #: src/dc3dd.c:3303 #, c-format msgid "Recorded % %s from sector % through %" msgstr "" # , c-format #: src/dc3dd.c:3337 src/dc3dd.c:3814 #, fuzzy, c-format msgid "reading %s at sector %jd" msgstr "não é possível criar o diretório %s" # , c-format #: src/dc3dd.c:3339 #, fuzzy, c-format msgid "reading %s at sectors %jd-%jd" msgstr "não é possível criar o diretório %s" # , c-format #: src/dc3dd.c:3428 src/dc3dd.c:4155 #, c-format msgid "writing to %s" msgstr "escrevendo em %s" #: src/dc3dd.c:3490 #, c-format msgid "fdatasync failed for %s" msgstr "" #: src/dc3dd.c:3500 #, c-format msgid "fsync failed for %s" msgstr "" #: src/dc3dd.c:3907 msgid "standard input" msgstr "entrada padrão" #: src/dc3dd.c:3938 msgid "standard output" msgstr "saída padrão" #: src/dc3dd.c:4016 #, c-format msgid "" "offset too large: cannot truncate to a length of seek=% (%lu-byte) " "sectors" msgstr "" #: src/dc3dd.c:4031 #, c-format msgid "cannot fstat %s" msgstr "impossível fazer fstat em %s" #: src/dc3dd.c:4037 #, fuzzy, c-format msgid "truncating at % bytes in output file %s" msgstr "avançando %s bytes no arquivo de saída %s" #: src/dc3dd.c:4131 msgid "Verify PASSED" msgstr "" #, fuzzy #~ msgid "% truncated record\n" #~ msgid_plural "% truncated records\n" #~ msgstr[0] "registro truncado" #~ msgstr[1] "registro truncado" #, fuzzy #~ msgid "cannot combine block and unblock" #~ msgstr "não pode ignorar usuário e grupo" #, fuzzy #~ msgid "cannot combine lcase and ucase" #~ msgstr "não foi possível criar o link %s" # , c-format #, fuzzy #~ msgid "rewind: warning: invalid file offset after failed read" #~ msgstr "atenção: largura %lu inválida; será usado %d em seu lugar" # , c-format #~ msgid "error writing %s" #~ msgstr "erro escrevendo %s" # , c-format #~ msgid "invalid argument %s for %s" #~ msgstr "argumento inválido %s para '%s'" #~ msgid "ambiguous argument %s for %s" #~ msgstr "argumento ambíguo %s para `%s'" #~ msgid "Valid arguments are:" #~ msgstr "Os argumentos válidos são:" # , c-format #, fuzzy #~ msgid "error closing file" #~ msgstr "fechando arquivo de entrada %s" #~ msgid "write error" #~ msgstr "erro de escrita" # , c-format #, fuzzy #~ msgid "preserving permissions for %s" #~ msgstr "definindo permissões para %s" # , c-format #~ msgid "cannot stat %s" #~ msgstr "impossível fazer stat em %s" #~ msgid "regular empty file" #~ msgstr "arquivo comum vazio" #~ msgid "regular file" #~ msgstr "arquivo comum" #~ msgid "block special file" #~ msgstr "arquivo especial de bloco" #~ msgid "character special file" #~ msgstr "arquivo especial caracter" #~ msgid "fifo" #~ msgstr "fifo" #~ msgid "symbolic link" #~ msgstr "link simbólico" #~ msgid "socket" #~ msgstr "socket" #~ msgid "message queue" #~ msgstr "fila de mensagens" #~ msgid "semaphore" #~ msgstr "semáforo" #~ msgid "shared memory object" #~ msgstr "objeto de memória compartilhada" #, fuzzy #~ msgid "typed memory object" #~ msgstr "objeto de memória compartilhada" #~ msgid "weird file" #~ msgstr "arquivo estranho" #, fuzzy #~ msgid "Address family for hostname not supported" #~ msgstr "arquivos \"fifo\" não suportados" #, fuzzy #~ msgid "ai_family not supported" #~ msgstr "arquivos \"fifo\" não suportados" #, fuzzy #~ msgid "ai_socktype not supported" #~ msgstr "arquivos \"fifo\" não suportados" #, fuzzy #~ msgid "System error" #~ msgstr "erro de escrita" #, fuzzy #~ msgid "Unknown error" #~ msgstr "Erro de sistema desconhecido" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: opção `%s' está ambígua\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: opção `--%s' não permite um argumento\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: opção `%c%s' não permite um argumento\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: opção `%s' requer um argumento\n" # , c-format #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: opção desconhecida `-%s'\n" # , c-format #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: opção desconhecida `%c%s'\n" # , c-format #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: opção inválida -- %c\n" # , c-format #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: opção inválida -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: opção requer um argumento --%c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: opção `-W %s' está ambígua\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: opção `-W %s' não permite um argumento\n" # , c-format #~ msgid "cannot change permissions of %s" #~ msgstr "não é possível mudar permissões de %s" # , c-format #~ msgid "cannot create directory %s" #~ msgstr "não é possível criar o diretório %s" #~ msgid "memory exhausted" #~ msgstr "memória esgotada" # , c-format #, fuzzy #~ msgid "unable to record current working directory" #~ msgstr "não é possível criar o diretório %s" #~ msgid "`" #~ msgstr "`" #~ msgid "'" #~ msgstr "'" # , c-format #, fuzzy #~ msgid "%s: end of file" #~ msgstr "%s: erro de leitura" # , c-format #, fuzzy #~ msgid "Invalid regular expression" #~ msgstr "%s: a expressão regular não é válida: %s" # , c-format #, fuzzy #~ msgid "Invalid character class name" #~ msgstr "classe de caracteres inválida `%s'" #, fuzzy #~ msgid "Memory exhausted" #~ msgstr "memória esgotada" # , c-format #, fuzzy #~ msgid "Invalid preceding regular expression" #~ msgstr "%s: a expressão regular não é válida: %s" #, fuzzy #~ msgid "Premature end of regular expression" #~ msgstr "erro na busca da expressão regular" #, fuzzy #~ msgid "Regular expression too big" #~ msgstr "erro na busca da expressão regular" #, fuzzy #~ msgid "No previous regular expression" #~ msgstr "erro na busca da expressão regular" #~ msgid "^[yY]" #~ msgstr "^[yY]" #~ msgid "^[nN]" #~ msgstr "^[nN]" # , c-format #~ msgid "setting permissions for %s" #~ msgstr "definindo permissões para %s" #~ msgid "iconv function not usable" #~ msgstr "função iconv não utilizável" #~ msgid "iconv function not available" #~ msgstr "função iconv não disponível" # , c-format #~ msgid "character out of range" #~ msgstr "caractere fora de faixa" #~ msgid "cannot convert U+%04X to local character set" #~ msgstr "impossível converter U+%04X para o conjunto local de caracteres" #~ msgid "cannot convert U+%04X to local character set: %s" #~ msgstr "impossível converter U+%04X para o conjunto local de caracteres: %s" #~ msgid "invalid user" #~ msgstr "usuário inválido" #~ msgid "invalid group" #~ msgstr "grupo inválido" #, fuzzy #~ msgid "invalid spec" #~ msgstr "usuário inválido" #~ msgid "Written by %s.\n" #~ msgstr "Escrito por %s.\n" #, fuzzy #~ msgid "Written by %s and %s.\n" #~ msgstr "Escrito por %s.\n" #, fuzzy #~ msgid "Written by %s, %s, and %s.\n" #~ msgstr "Escrito por %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "and %s.\n" #~ msgstr "Escrito por %s.\n" #, fuzzy #~ msgid "" #~ "Written by %s, %s, %s,\n" #~ "%s, and %s.\n" #~ msgstr "Escrito por %s.\n" # , c-format #, fuzzy #~ msgid "invalid argument: %s" #~ msgstr "argumento inválido %s para '%s'" #, fuzzy #~ msgid "string transformation failed" #~ msgstr "falta arquivo destino" # , c-format #, fuzzy #~ msgid "invalid %s%s argument `%s'" #~ msgstr "argumento inválido %s para '%s'" # , c-format #, fuzzy #~ msgid "invalid suffix in %s%s argument `%s'" #~ msgstr "incremento de linha não válido: `%s'" #, fuzzy #~ msgid "%s%s argument `%s' too large" #~ msgstr "%s: countagem `%.*s' muito grande" #, fuzzy #~ msgid "" #~ " --help Display this help and exit.\n" #~ " --version Output version information and exit.\n" #~ msgstr "" #~ "Mostra o CRC e o número de bytes de cada ARQUIVO.\n" #~ "\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #~ msgid "" #~ "\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Sem ARQUIVO, ou quando ARQUIVO é -, lê a entrada padrão.\n" #~ msgid "read error" #~ msgstr "erro de leitura" #, fuzzy #~ msgid "invalid input" #~ msgstr "número inválido" # , c-format #, fuzzy #~ msgid "invalid wrap size: %s" #~ msgstr "tipo de cadeia inválida `%s'" #, fuzzy #~ msgid "extra operand %s" #~ msgstr "operando extra `%s' não é permitido com -c" #~ msgid "closing standard input" #~ msgstr "fechando entrada padrão" # , c-format #~ msgid "" #~ "Usage: %s NAME [SUFFIX]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s NOME [SUFIXO]\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Print NAME with any leading directory components removed.\n" #~ "If specified, also remove a trailing SUFFIX.\n" #~ "\n" #~ msgstr "" #~ "Mostra o NOME sem quaisquer componentes de diretório.\n" #~ "Se for especificado, remove também o SUFIXO final.\n" #~ "\n" # , c-format #, fuzzy #~ msgid "missing operand" #~ msgstr "%s: espera-se um número inteiro depois de `%c'" #, fuzzy #~ msgid "Richard M. Stallman" #~ msgstr "Torbjorn Granlund e Richard M. Stallman" # , c-format #~ msgid "Usage: %s [OPTION] [FILE]...\n" #~ msgstr "Uso: %s [OPÇÃO] [ARQUIVO]...\n" #, fuzzy #~ msgid "" #~ "Concatenate FILE(s), or standard input, to standard output.\n" #~ "\n" #~ " -A, --show-all equivalent to -vET\n" #~ " -b, --number-nonblank number nonempty output lines\n" #~ " -e equivalent to -vE\n" #~ " -E, --show-ends display $ at end of each line\n" #~ " -n, --number number all output lines\n" #~ " -s, --squeeze-blank suppress repeated empty output lines\n" #~ msgstr "" #~ "Concatena ARQUIVO(s), ou a entrada padrão, para a saída padrão.\n" #~ "\n" #~ " -A, --show-all o mesmo que -vET\n" #~ " -b, --number-nonblank numera as linhas que não estão vazias\n" #~ " -e o mesmo que -vE\n" #~ " -E, --show-ends mostra '$' no final de cada linha\n" #~ " -n, --number numera todas as linhas de saída\n" #~ " -s, --squeeze-blank nunca mostra mais de uma linha vazia,\n" #~ msgid "" #~ " -t equivalent to -vT\n" #~ " -T, --show-tabs display TAB characters as ^I\n" #~ " -u (ignored)\n" #~ " -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\n" #~ msgstr "" #~ "Concatena ARQUIVO(s), ou a entrada padrão, na saída padrão.\n" #~ " -t equivalente a -vT\n" #~ " -T, --show-tabs mostra os caracteres de tabulação como ^I\n" #~ " -u (sem efeito)\n" #~ " -v, --show-nonprinting utiliza a notação ^ e M-, salvo para LFD e TAB\n" # , c-format #, fuzzy #~ msgid "cannot do ioctl on %s" #~ msgstr "não pode executar a função 'ioctl' sobre `%s'" # , c-format #~ msgid "%s: input file is output file" #~ msgstr "%s: os arquivos de entrada e saída são os mesmos" #, fuzzy #~ msgid "failed to create security context: %s" #~ msgstr "falha ao obter atributos de %s" #, fuzzy #~ msgid "failed to get security context of %s" #~ msgstr "falha ao obter atributos de %s" # , c-format #, fuzzy #~ msgid "failed to change context of %s to %s" #~ msgstr "erro ao mudar proprietário de %s para %s\n" #~ msgid "cannot access %s" #~ msgstr "impossível acessar %s" # , c-format #~ msgid "cannot read directory %s" #~ msgstr "imposível ler diretório %s" # , c-format #, fuzzy #~ msgid "changing security context of %s" #~ msgstr "mudando permissões de %s" #, fuzzy #~ msgid "fts_read failed" #~ msgstr "falha na leitura" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... CONTEXT FILE...\n" #~ " or: %s [OPTION]... [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... DONO[:[GRUPO]] ARQUIVO...\n" #~ " ou: %s [OPÇÃO]... :GRUPO ARQUIVO...\n" #~ " ou: %s [OPÇÃO]... --reference=ARQUIVOREF ARQUIVO...\n" #, fuzzy #~ msgid "" #~ "Change the security context of each FILE to CONTEXT.\n" #~ "With --reference, change the security context of each FILE to that of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " -h, --no-dereference affect symbolic links instead of any referenced " #~ "file\n" #~ msgstr "" #~ "Muda o dono e/ou grupo de cada ARQUIVO para DONO e/ou GRUPO.\n" #~ "\n" #~ " -c, --changes como o modo \"verbose\" mas só avisa quando uma\n" #~ " alteração for feita\n" #~ " --dereference afeta o que for apontado por cada link " #~ "simbólico,\n" #~ " em vez do link simbólico em si\n" #, fuzzy #~ msgid "" #~ " --reference=RFILE use RFILE's security context rather than " #~ "specifying\n" #~ " a CONTEXT value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ msgstr "" #~ " -f, --silent, --quiet desligar a maior parte das mensagens de erro\n" #~ " --reference=ARQR usa dono e grupo do arquivo ARQR em vez dos " #~ "valores\n" #~ " de DONO:GRUPO especificados\n" #~ " -R, --recursive mudar arquivos e diretórios recursivamente\n" #~ " -v, --verbose mostrar um diagnóstico para cada arquivo " #~ "processado\n" # , c-format #, fuzzy #~ msgid "missing operand after %s" #~ msgstr "%s: espera-se um número inteiro depois de `%c'" # , c-format #, fuzzy #~ msgid "invalid context: %s" #~ msgstr "conversão inválida: %s" #~ msgid "failed to get attributes of %s" #~ msgstr "falha ao obter atributos de %s" #, fuzzy #~ msgid "invalid group: %s" #~ msgstr "grupo inválido" # , c-format #~ msgid "" #~ "Usage: %s [OPTION]... GROUP FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... GRUPO ARQUIVO...\n" #~ " ou: %s [OPÇÃO]... --reference=ARQUIVOREF ARQUIVO...\n" #, fuzzy #~ msgid "" #~ "Change the group of each FILE to GROUP.\n" #~ "With --reference, change the group of each FILE to that of RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Muda o dono e/ou grupo de cada ARQUIVO para DONO e/ou GRUPO.\n" #~ "\n" #~ " -c, --changes como o modo \"verbose\" mas só avisa quando uma\n" #~ " alteração for feita\n" #~ " --dereference afeta o que for apontado por cada link " #~ "simbólico,\n" #~ " em vez do link simbólico em si\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's group rather than specifying a\n" #~ " GROUP value\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet desligar a maior parte das mensagens de erro\n" #~ " --reference=ARQR usa dono e grupo do arquivo ARQR em vez dos " #~ "valores\n" #~ " de DONO:GRUPO especificados\n" #~ " -R, --recursive mudar arquivos e diretórios recursivamente\n" #~ " -v, --verbose mostrar um diagnóstico para cada arquivo " #~ "processado\n" #~ msgid "getting new attributes of %s" #~ msgstr "obtendo novos atributos de %s" #~ msgid "neither symbolic link %s nor referent has been changed\n" #~ msgstr "ligação simbólica %s e referência inalterados\n" #~ msgid "mode of %s changed to %04lo (%s)\n" #~ msgstr "modo de %s mudado para %04lo (%s)\n" #~ msgid "failed to change mode of %s to %04lo (%s)\n" #~ msgstr "falha na troca do modo de %s para %04lo (%s)\n" #~ msgid "mode of %s retained as %04lo (%s)\n" #~ msgstr "modo de %s mantido como %04lo (%s)\n" # , c-format #, fuzzy #~ msgid "cannot operate on dangling symlink %s" #~ msgstr "impossível criar link simbólico %s" # , c-format #~ msgid "changing permissions of %s" #~ msgstr "mudando permissões de %s" # , c-format #, fuzzy #~ msgid "%s: new permissions are %s, not %s" #~ msgstr "definindo permissões para %s" #~ msgid "" #~ "Usage: %s [OPTION]... MODE[,MODE]... FILE...\n" #~ " or: %s [OPTION]... OCTAL-MODE FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... MODO[,MODO]... ARQUIVO...\n" #~ " ou: %s [OPÇÃO]... MODO-OCTAL ARQUIVO...\n" #~ " ou: %s [OPÇÃO]... --reference=ARQUIVOREF ARQUIVO...\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ " --reference=RFILE use RFILE's mode instead of MODE values\n" #~ " -R, --recursive change files and directories recursively\n" #~ msgstr "" #~ "Troca o modo de cada ARQUIVO para MODO.\n" #~ "\n" #~ " -c, --changes como o modo \"verbose\" mas só avisa quando uma\n" #~ " alteração for feita\n" #~ " -f, --silent, --quiet desligar a maior parte das mensagens de erro\n" #~ " -v, --verbose mostrar um diagnóstico para cada arquivo " #~ "processado\n" #~ " --reference=ARQR usa modo do arquivo ARQR em vez dos valores de " #~ "MODO\n" #~ " -R, --recursive mudar arquivos e diretórios recursivamente\n" # , c-format #, fuzzy #~ msgid "invalid mode: %s" #~ msgstr "número de campo inválido: `%s'" #~ msgid "changed ownership of %s to %s\n" #~ msgstr "trocado dono de %s para %s\n" #~ msgid "changed group of %s to %s\n" #~ msgstr "alterado o grupo de %s para %s\n" #, fuzzy #~ msgid "no change to ownership of %s\n" #~ msgstr "mudando permissões de %s" # , c-format #~ msgid "failed to change ownership of %s to %s\n" #~ msgstr "erro ao mudar proprietário de %s para %s\n" #~ msgid "failed to change group of %s to %s\n" #~ msgstr "não foi possível alterar o grupo de %s para %s\n" # , c-format #, fuzzy #~ msgid "failed to change ownership of %s\n" #~ msgstr "erro ao mudar proprietário de %s para %s\n" #~ msgid "ownership of %s retained as %s\n" #~ msgstr "dono de %s mantido como %s\n" #~ msgid "group of %s retained as %s\n" #~ msgstr "grupo de %s mantido como %s\n" #, fuzzy #~ msgid "ownership of %s retained\n" #~ msgstr "dono de %s mantido como %s\n" # , c-format #, fuzzy #~ msgid "cannot dereference %s" #~ msgstr "imposível remover %s" #~ msgid "changing ownership of %s" #~ msgstr "mudando permissões de %s" #~ msgid "changing group of %s" #~ msgstr "mudando grupo de %s" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [OWNER][:[GROUP]] FILE...\n" #~ " or: %s [OPTION]... --reference=RFILE FILE...\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... GRUPO ARQUIVO...\n" #~ " ou: %s [OPÇÃO]... --reference=ARQUIVOREF ARQUIVO...\n" #, fuzzy #~ msgid "" #~ "Change the owner and/or group of each FILE to OWNER and/or GROUP.\n" #~ "With --reference, change the owner and group of each FILE to those of " #~ "RFILE.\n" #~ "\n" #~ " -c, --changes like verbose but report only when a change is " #~ "made\n" #~ " --dereference affect the referent of each symbolic link (this " #~ "is\n" #~ " the default), rather than the symbolic link " #~ "itself\n" #~ msgstr "" #~ "Muda o dono e/ou grupo de cada ARQUIVO para DONO e/ou GRUPO.\n" #~ "\n" #~ " -c, --changes como o modo \"verbose\" mas só avisa quando uma\n" #~ " alteração for feita\n" #~ " --dereference afeta o que for apontado por cada link " #~ "simbólico,\n" #~ " em vez do link simbólico em si\n" #~ msgid "" #~ " --from=CURRENT_OWNER:CURRENT_GROUP\n" #~ " change the owner and/or group of each file only " #~ "if\n" #~ " its current owner and/or group match those " #~ "specified\n" #~ " here. Either may be omitted, in which case a " #~ "match\n" #~ " is not required for the omitted attribute.\n" #~ msgstr "" #~ " --from=DONO_ATUAL:GRUPO_ATUAL\n" #~ " muda dono e/ou grupo de cada arquivo apenas se " #~ "seu\n" #~ " dono e/ou grupo atual forem iguais aos " #~ "especificados\n" #~ " nesta opção. Um ou outro pode ser omitido; " #~ "nesse\n" #~ " caso, não será testado o atributo omitido.\n" #, fuzzy #~ msgid "" #~ " -f, --silent, --quiet suppress most error messages\n" #~ " --reference=RFILE use RFILE's owner and group rather than\n" #~ " specifying OWNER:GROUP values\n" #~ " -R, --recursive operate on files and directories recursively\n" #~ " -v, --verbose output a diagnostic for every file processed\n" #~ "\n" #~ msgstr "" #~ " -f, --silent, --quiet desligar a maior parte das mensagens de erro\n" #~ " --reference=ARQR usa dono e grupo do arquivo ARQR em vez dos " #~ "valores\n" #~ " de DONO:GRUPO especificados\n" #~ " -R, --recursive mudar arquivos e diretórios recursivamente\n" #~ " -v, --verbose mostrar um diagnóstico para cada arquivo " #~ "processado\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Owner is unchanged if missing. Group is unchanged if missing, but " #~ "changed\n" #~ "to login group if implied by a `:' following a symbolic OWNER.\n" #~ "OWNER and GROUP may be numeric as well as symbolic.\n" #~ msgstr "" #~ "\n" #~ "Dono, caso não informado, permanece inalterado. Grupo é alterado para \n" #~ "o grupo de login caso login seja seguido por `:'. DONO e GRUPO pode ser \n" #~ "numérico bem como simbólico.\n" # , c-format #~ msgid "" #~ "Usage: %s NEWROOT [COMMAND...]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s NOVORAIZ [COMANDO...]\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Run COMMAND with root directory set to NEWROOT.\n" #~ "\n" #~ msgstr "" #~ "Executa COMANDO com o diretório raiz modificado para NOVORAIZ.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "If no command is given, run ``${SHELL} -i'' (default: /bin/sh).\n" #~ msgstr "" #~ "\n" #~ "Se não for dado COMANDO, roda ``${SHELL} -i'' (padrão: /bin/sh).\n" # , c-format #~ msgid "cannot change root directory to %s" #~ msgstr "impossível mudar diretório raiz para %s" # , c-format #~ msgid "cannot chdir to root directory" #~ msgstr "impossível mudar para o diretório raiz" # , c-format #, fuzzy #~ msgid "cannot run command %s" #~ msgstr "não pode executar a função 'ioctl' sobre `%s'" #~ msgid "%s: file too long" #~ msgstr "%s: arquivo muito grande" # , c-format #~ msgid "" #~ "Usage: %s [FILE]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Uso: %s [ARQUIVO]...\n" #~ " ou: %s [OPÇÃO]\n" #~ msgid "" #~ "Print CRC checksum and byte counts of each FILE.\n" #~ "\n" #~ msgstr "" #~ "Exibe checagem de CRC e contagem de bytes de cada ARQUIVO.\n" #~ "\n" #, fuzzy #~ msgid "Richard Stallman" #~ msgstr "Richard Stallman e David MacKenzie" # , c-format #~ msgid "Usage: %s [OPTION]... FILE1 FILE2\n" #~ msgstr "Uso: %s [OPÇÃO]... ARQUIVO1 ARQUIVO2\n" #, fuzzy #~ msgid "" #~ "\n" #~ " -1 suppress lines unique to FILE1\n" #~ " -2 suppress lines unique to FILE2\n" #~ " -3 suppress lines that appear in both files\n" #~ msgstr "" #~ "Compara os arquivos ordenados ARQUIVO1 e ARQUIVO2, linha a linha.\n" #~ "\n" #~ " -1 suprime as linhas que só estão em ARQUIVO1\n" #~ " -2 suprime as linhas que só estão em ARQUIVO2\n" #~ " -3 suprime as linhas que estão em ambos os arquivos\n" # , c-format #, fuzzy #~ msgid "clearing permissions for %s" #~ msgstr "definindo permissões para %s" #~ msgid "failed to preserve ownership for %s" #~ msgstr "impossível preservar proprietário para %s" #, fuzzy #~ msgid "failed to lookup file %s" #~ msgstr "falha ao preservar horário para %s" #~ msgid "failed to preserve authorship for %s" #~ msgstr "impossível preservar autoria para %s" #~ msgid "cannot open %s for reading" #~ msgstr "não foi possível abrir %s para leitura" #~ msgid "skipping file %s, as it was replaced while being copied" #~ msgstr "pulando arquivo %s; ele foi substituído durante a cópia" #, fuzzy #~ msgid "failed to set the security context of %s to %s" #~ msgstr "não foi possível alterar o grupo de %s para %s\n" # , c-format #~ msgid "cannot remove %s" #~ msgstr "imposível remover %s" #, fuzzy #~ msgid "removed %s\n" #~ msgstr "removendo %s\n" # , c-format #~ msgid "cannot create regular file %s" #~ msgstr "impossível criar arquivo comum %s" #~ msgid "cannot lseek %s" #~ msgstr "impossível fazer lseek em %s" # , c-format #~ msgid "writing %s" #~ msgstr "escrevendo %s" #~ msgid "preserving times for %s" #~ msgstr "preservando horário para %s" #~ msgid "closing %s" #~ msgstr "fechando %s" #, fuzzy #~ msgid "%s: try to overwrite %s, overriding mode %04lo (%s)? " #~ msgstr "%s: sobrescrever %s, apesar do modo %04lo? " #~ msgid "%s: overwrite %s? " #~ msgstr "%s: sobrescrever %s? " #~ msgid " (backup: %s)" #~ msgstr " (backup: %s)" # , c-format #~ msgid "omitting directory %s" #~ msgstr "omitindo diretório %s" #~ msgid "warning: source file %s specified more than once" #~ msgstr "aviso: arquivo origem %s especificado mais de uma vez" #~ msgid "%s and %s are the same file" #~ msgstr "%s e %s são o mesmo arquivo" # , c-format #~ msgid "cannot overwrite non-directory %s with directory %s" #~ msgstr "impossível sobrescrever não-diretório %s com diretório %s" #~ msgid "will not overwrite just-created %s with %s" #~ msgstr "não sobrescreverá recém-criado %s com %s" # , c-format #~ msgid "cannot overwrite directory %s with non-directory" #~ msgstr "impossível sobrescrever diretório %s com não-diretório" # , c-format #~ msgid "cannot move directory onto non-directory: %s -> %s" #~ msgstr "imposível mover diretório para não-diretório: %s -> %s" #~ msgid "backing up %s would destroy source; %s not moved" #~ msgstr "fazer cópia de %s iria destruir o original; `%s' não movido" #~ msgid "backing up %s would destroy source; %s not copied" #~ msgstr "fazer backup de %s iria destruir o original; %s não copiado" #~ msgid "cannot backup %s" #~ msgstr "impossível fazer backup de %s" #, fuzzy #~ msgid "will not copy %s through just-created symlink %s" #~ msgstr "não sobrescreverá recém-criado %s com %s" # , c-format #~ msgid "cannot copy a directory, %s, into itself, %s" #~ msgstr "impossível copiar um diretório, %s, para si próprio, %s" # , c-format #~ msgid "will not create hard link %s to directory %s" #~ msgstr "não criará link físico %s para diretório %s" # , c-format #~ msgid "cannot create hard link %s to %s" #~ msgstr "impossível criar link físico %s para %s" # , c-format #~ msgid "cannot move %s to a subdirectory of itself, %s" #~ msgstr "impossível mover %s para um subdiretório de si próprio, %s" # , c-format #~ msgid "cannot move %s to %s" #~ msgstr "impossível mover %s para %s" #~ msgid "inter-device move failed: %s to %s; unable to remove target" #~ msgstr "" #~ "falha ao mover entre dispositivos: %s para %s: impossível remover destino" #, fuzzy #~ msgid "failed to set default file creation context to %s" #~ msgstr "falha ao obter atributos de %s" #~ msgid "cannot copy cyclic symbolic link %s" #~ msgstr "impossível copiar link simbólico cíclico %s" #~ msgid "%s: can make relative symbolic links only in current directory" #~ msgstr "%s: só é possível fazer links simbólicos no diretório corrente" # , c-format #~ msgid "cannot create symbolic link %s to %s" #~ msgstr "impossível criar link simbólico %s para %s" # , c-format #~ msgid "cannot create link %s" #~ msgstr "impossível criar link %s" # , c-format #~ msgid "cannot create fifo %s" #~ msgstr "impossível criar fifo %s" #~ msgid "cannot create special file %s" #~ msgstr "impossível criar arquivo especial %s" # , c-format #~ msgid "cannot read symbolic link %s" #~ msgstr "impossível ler link simbólico %s" # , c-format #~ msgid "cannot create symbolic link %s" #~ msgstr "impossível criar link simbólico %s" #~ msgid "%s has unknown file type" #~ msgstr "%s tem tipo de arquivo desconhecido" #~ msgid "cannot un-backup %s" #~ msgstr "impossível desfazer backup %s" #~ msgid "%s -> %s (unbackup)\n" #~ msgstr "%s -> %s (unbackup)\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... ORIGEM DESTINO\n" #~ " ou: %s [OPÇÃO]... ORIGEM... DIRETÓRIO\n" #~ " ou: %s [OPÇÃO]... --target-directory=DIRETÓRIO ORIGEM...\n" #~ msgid "" #~ "Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" #~ "\n" #~ msgstr "" #~ "Copia ORIGEM para DESTINO, ou múltiplas ORIGENs para DIRETÓRIO.\n" #~ "\n" #~ msgid "" #~ "Mandatory arguments to long options are mandatory for short options too.\n" #~ msgstr "" #~ "Argumentos obrigatórios para opções longas também o são para opções " #~ "curtas\n" #, fuzzy #~ msgid "" #~ " --sparse=WHEN control creation of sparse files\n" #~ " --strip-trailing-slashes remove any trailing slashes from each " #~ "SOURCE\n" #~ " argument\n" #~ msgstr "" #~ " --reply={yes,no,query} determina como tratar as perguntas " #~ "sobre\n" #~ " arquivo destino existente\n" #~ " --sparse=QUANDO controla criação de arquivos esparsos\n" #~ " --strip-trailing-slashes remove barras finais de cada argumento\n" #~ " ORIGEM\n" #, fuzzy #~ msgid "" #~ " -s, --symbolic-link make symbolic links instead of copying\n" #~ " -S, --suffix=SUFFIX override the usual backup suffix\n" #~ " -t, --target-directory=DIRECTORY copy all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ msgstr "" #~ " -s, --symbolic-link cria links simbólicos em vez de copiar\n" #~ " -S, --suffix=SUFFIX usa este sufixo de backup em vez do " #~ "padrão\n" #~ " --target-directory=DIR move todos os argumentos ORIGEM para o\n" #~ " diretório DIR\n" #~ msgid "" #~ " -u, --update copy only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ " -x, --one-file-system stay on this file system\n" #~ msgstr "" #~ " -u, --update copiar apenas se o arquivo ORIGEM for\n" #~ " mais recente que o arquivo destino ou " #~ "se\n" #~ " não existir o arquivo destino\n" #~ " -v, --verbose explica o que está sendo feito\n" #~ " -x, --one-file-system permanece neste sistema de arquivos\n" #~ msgid "" #~ "\n" #~ "By default, sparse SOURCE files are detected by a crude heuristic and " #~ "the\n" #~ "corresponding DEST file is made sparse as well. That is the behavior\n" #~ "selected by --sparse=auto. Specify --sparse=always to create a sparse " #~ "DEST\n" #~ "file whenever the SOURCE file contains a long enough sequence of zero " #~ "bytes.\n" #~ "Use --sparse=never to inhibit creation of sparse files.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Por padrão, arquivos esparsos da ORIGEM são detectados por uma " #~ "heurística\n" #~ "básica e o correspondente arquivo DESTINO é também feito um arquivo\n" #~ "esparso. Este é o comportamento escolhido por --sparse=auto. Especifique\n" #~ "--sparse=always para criar um arquivo esparso em DESTINO quando o " #~ "arquivo\n" #~ "ORIGEM tiver uma sequência de bytes zero suficientemente grande.\n" #~ "Use --sparse=never para inibir a criação de arquivos esparsos.\n" #~ "\n" #~ msgid "" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "O sufixo de backup é ~, a não ser que --suffix ou SIMPLE_BACKUP_SUFFIX " #~ "esteja\n" #~ "definido. O controle de versão pode ser selecionado com --backup ou com " #~ "a\n" #~ "variável de ambiente VERSION_CONTROL. Estes são os valores possíveis:\n" #~ "\n" #~ msgid "" #~ " none, off never make backups (even if --backup is given)\n" #~ " numbered, t make numbered backups\n" #~ " existing, nil numbered if numbered backups exist, simple otherwise\n" #~ " simple, never always make simple backups\n" #~ msgstr "" #~ " none, off nunca faz backups (mesmo que --backup for passado)\n" #~ " numbered,t faz backups numerados\n" #~ " existing,nil numerados se já existirem backups numerados, simples " #~ "em\n" #~ " caso contrário\n" #~ " simple,never sempre fazer backups simples\n" #~ msgid "" #~ "\n" #~ "As a special case, cp makes a backup of SOURCE when the force and backup\n" #~ "options are given and SOURCE and DEST are the same name for an existing,\n" #~ "regular file.\n" #~ msgstr "" #~ "\n" #~ "Como caso especial, cp faz um backup da ORIGEM quando as opções force e\n" #~ "backup são fornecidas e ORIGEM e DESTINO são iguais ao nome de um " #~ "arquivo\n" #~ "regular já existente.\n" #~ msgid "failed to preserve times for %s" #~ msgstr "falha ao preservar horário para %s" # , c-format #~ msgid "failed to preserve permissions for %s" #~ msgstr "falha ao preservar permissões para %s" # , c-format #~ msgid "cannot make directory %s" #~ msgstr "impossível criar diretório %s" #~ msgid "%s exists but is not a directory" #~ msgstr "%s existe, mas não é um diretório" #~ msgid "accessing %s" #~ msgstr "acessando %s" #, fuzzy #~ msgid "missing file operand" #~ msgstr "falta argumento de arquivo" #, fuzzy #~ msgid "missing destination file operand after %s" #~ msgstr "falta arquivo destino" #, fuzzy #~ msgid "target %s is not a directory" #~ msgstr "%s existe, mas não é um diretório" #, fuzzy #~ msgid "with --parents, the destination must be a directory" #~ msgstr "" #~ "ao preservar caminhos (paths), o último argumento deve ser um diretório" #, fuzzy #~ msgid "multiple target directories specified" #~ msgstr "\\%c: caractere de escape inválido" #~ msgid "cannot make both hard and symbolic links" #~ msgstr "impossível fazer links simbólicos e físicos ao mesmo tempo" #~ msgid "backup type" #~ msgstr "tipo de backup" #~ msgid "input disappeared" #~ msgstr "a entrada deixou de existir" # , c-format #~ msgid "%s: line number out of range" #~ msgstr "%s: número de linha fora de tamanho" # , c-format #, fuzzy #~ msgid "%s: %s: line number out of range" #~ msgstr "%s: `%s': número de linha fora de tamanho" # , c-format #, fuzzy #~ msgid " on repetition %s\n" #~ msgstr " na repetição %d\n" # , c-format #, fuzzy #~ msgid "%s: %s: match not found" #~ msgstr "%s: `%s': ocorrência não encontrada" #~ msgid "error in regular expression search" #~ msgstr "erro na busca da expressão regular" # , c-format #, fuzzy #~ msgid "write error for %s" #~ msgstr "erro em escrever `%s'" # , c-format #, fuzzy #~ msgid "%s: integer expected after delimiter" #~ msgstr "%s: espera-se um número inteiro depois de `%c'" # , c-format #~ msgid "%s: `}' is required in repeat count" #~ msgstr "%s: requer-se um `}' depois do número de repetições" # , c-format #~ msgid "%s}: integer required between `{' and `}'" #~ msgstr "%s}: entre `{' e `}' deve se especificar um número inteiro" # , c-format #, fuzzy #~ msgid "%s: closing delimiter `%c' missing" #~ msgstr "%s: falta o delimitador de fechar `%c'" # , c-format #~ msgid "%s: invalid regular expression: %s" #~ msgstr "%s: a expressão regular não é válida: %s" # , c-format #~ msgid "%s: invalid pattern" #~ msgstr "%s: padrão inválido" # , c-format #~ msgid "%s: line number must be greater than zero" #~ msgstr "%s: o número de linha deve ser maior que zero" #, fuzzy #~ msgid "line number %s is smaller than preceding line number, %s" #~ msgstr "" #~ "número de linha `%s' é menor do que o número de linha precedente, %s" #, fuzzy #~ msgid "warning: line number %s is the same as preceding line number" #~ msgstr "atenção: o número de linha `%s' é igual ao número de linha anterior" # , c-format #, fuzzy #~ msgid "invalid format width" #~ msgstr "formato de data inválido %s" # , c-format #, fuzzy #~ msgid "invalid format precision" #~ msgstr "conversão inválida: %s" #~ msgid "missing conversion specifier in suffix" #~ msgstr "especificador de conversão no sufixo perdido" # , c-format #~ msgid "invalid conversion specifier in suffix: %c" #~ msgstr "especificador de conversão no sufixo é inválida: %c" #~ msgid "invalid conversion specifier in suffix: \\%.3o" #~ msgstr "especificador de conversão no sufixo é inválida: \\%.3o" #~ msgid "too many %% conversion specifications in suffix" #~ msgstr "muito %% especificador de conversão no sufixo" #~ msgid "missing %% conversion specification in suffix" #~ msgstr "especificador de conversão no sufixo %% perdido" #~ msgid "%s: invalid number" #~ msgstr "%s: número inválido" # , c-format #~ msgid "Usage: %s [OPTION]... FILE PATTERN...\n" #~ msgstr "Uso: %s [OPÇÃO]... ARQUIVO PADRÃO...\n" # , c-format #, fuzzy #~ msgid "Usage: %s OPTION... [FILE]...\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" #, fuzzy #~ msgid "" #~ " -b, --bytes=LIST select only these bytes\n" #~ " -c, --characters=LIST select only these characters\n" #~ " -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\n" #~ msgstr "" #~ "Ajusta o largura das linhas em cada ARQUIVO (entrada padrão por " #~ "default),\n" #~ "escrevendo o resultado na saída padrão\n" #~ "\n" #~ " -b, --bytes conta bytes em vez de colunas\n" #~ " -s, --spaces quebra nos espaços\n" #~ " -w, --width=WIDTH utiliza WIDTH colunas em vez de 80\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #~ msgid "invalid byte or field list" #~ msgstr "a lista de bytes ou campos não é válida" # , c-format #, fuzzy #~ msgid "invalid range with no endpoint: -" #~ msgstr "opção de largura inválida: `%s'" # , c-format #, fuzzy #~ msgid "invalid decreasing range" #~ msgstr "cadeia de modo inválida: %s" #, fuzzy #~ msgid "byte offset %s is too large" #~ msgstr "%s é muito grande" # , c-format #, fuzzy #~ msgid "field number %s is too large" #~ msgstr "o número do campo é zero" #~ msgid "only one type of list may be specified" #~ msgstr "somente um tipo de lista pode ser especificado" #~ msgid "the delimiter must be a single character" #~ msgstr "o delimitador deve ser um só caractere" #~ msgid "you must specify a list of bytes, characters, or fields" #~ msgstr "Deve-se indicar uma lista de bytes, caracteres ou campos" #~ msgid "an input delimiter may be specified only when operating on fields" #~ msgstr "delimitador de entrada só pode ser especificado ao operar em campos" #~ msgid "" #~ "suppressing non-delimited lines makes sense\n" #~ "\tonly when operating on fields" #~ msgstr "" #~ "suprimir as linhas não delimitadas somente tem sentido\n" #~ "\tquando se processam campos" #~ msgid "missing list of fields" #~ msgstr "faltando a lista de campos" #~ msgid "missing list of positions" #~ msgstr "faltando a lista de posições" #~ msgid "" #~ "Usage: %s [OPTION]... [+FORMAT]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #~ msgstr "" #~ "Usage: %s [OPÇÃO]... [+FORMATO]\n" #~ " or: %s [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]\n" #, fuzzy #~ msgid "multiple output formats specified" #~ msgstr "\\%c: caractere de escape inválido" #~ msgid "the options to specify dates for printing are mutually exclusive" #~ msgstr "" #~ "as opções que especificam datas para exibição são mutuamente exclusivas" #~ msgid "the options to print and set the time may not be used together" #~ msgstr "" #~ "as opções para imprimir e alterar o horário não podem ser usadas juntas" #, fuzzy #~ msgid "" #~ "the argument %s lacks a leading `+';\n" #~ "When using an option to specify date(s), any non-option\n" #~ "argument must be a format string beginning with `+'." #~ msgstr "" #~ "o argumento `%s' não tem um `+' inicial;\n" #~ "Quando usado uma opção que especifique data(s), qualquer argumento sem " #~ "opção\n" #~ "tem que ser uma string de formatação começando com `+'." #~ msgid "cannot set date" #~ msgstr "impossível alterar data" # , c-format #, fuzzy #~ msgid "time %s is out of range" #~ msgstr "posição no arquivo fora da faixa" #~ msgid "Filesystem Type" #~ msgstr "Sist. Arq. Tipo " #~ msgid "Filesystem " #~ msgstr "Sist. Arq. " #~ msgid " Inodes IUsed IFree IUse%%" #~ msgstr " Inodes IUsados ILivr IUso%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Tam Usad Disp Uso%%" #~ msgid " Size Used Avail Use%%" #~ msgstr " Tam Usado Disp Uso%%" #, fuzzy #~ msgid " %s-blocks Used Available Capacity" #~ msgstr " %4s-blocos Usad Dispon. Capacidade" #~ msgid " %4s-blocks Used Available Use%%" #~ msgstr " %4s-blocos Usad Dispon. Uso%%" #~ msgid " Mounted on\n" #~ msgstr " Montado em\n" # , c-format #, fuzzy #~ msgid "cannot get current directory" #~ msgstr "não é possível criar o diretório %s" # , c-format #~ msgid "cannot change to directory %s" #~ msgstr "imposível mudar para diretório %s" # , c-format #, fuzzy #~ msgid "cannot stat current directory (now %s)" #~ msgstr "não é possível criar o diretório %s" # , c-format #~ msgid "Usage: %s [OPTION]... [FILE]...\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" #, fuzzy #~ msgid "" #~ "Show information about the file system on which each FILE resides,\n" #~ "or all file systems by default.\n" #~ "\n" #~ msgstr "" #~ "Mostra informações sobre os sistemas de arquivos nos quais cada ARQUIVO\n" #~ "reside ou, por padrão, todos os sistemas de arquivos.\n" #~ msgid "file system type %s both selected and excluded" #~ msgstr "sistema de arquivos de tipo %s selecionado e excluído" #~ msgid "Warning: " #~ msgstr "Aviso: " #, fuzzy #~ msgid "cannot read table of mounted file systems" #~ msgstr "%s não foi possível ler a tabela dos sistemas de arquivos montados" # , c-format #~ msgid "Usage: %s [OPTION]... [FILE]\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]\n" #~ msgid "" #~ "Output commands to set the LS_COLORS environment variable.\n" #~ "\n" #~ "Determine format of output:\n" #~ " -b, --sh, --bourne-shell output Bourne shell code to set LS_COLORS\n" #~ " -c, --csh, --c-shell output C shell code to set LS_COLORS\n" #~ " -p, --print-database output defaults\n" #~ msgstr "" #~ "Emite comandos de saída para definir a variável de ambiente LS_COLORS.\n" #~ "\n" #~ "Para determinar o formato da saída:\n" #~ " -b, --sh, --bourne-shell emitir o código para definir LS_COLORS em \n" #~ " formato conhecido pelo Bourne shell\n" #~ " -c, --csh, --c-shell emitir o código para definir LS_COLORS em \n" #~ " formato conhecido pelo C shell\n" #~ " -p, --print-data-base emitir os códigos padrão\n" # , c-format #, fuzzy #~ msgid "%s:%lu: invalid line; missing second token" #~ msgstr "%s: número de segundos inválido" # , c-format #, fuzzy #~ msgid "%s:%lu: unrecognized keyword %s" #~ msgstr "%s: opção desconhecida `%c%s'\n" #~ msgid "" #~ msgstr "" #, fuzzy #~ msgid "" #~ "the options to output dircolors' internal database and\n" #~ "to select a shell syntax are mutually exclusive" #~ msgstr "" #~ "as opções para saída em modo detalhado e legível pelo stty são " #~ "mutuamente\n" #~ "exclusivas" #~ msgid "no SHELL environment variable, and no shell type option given" #~ msgstr "" #~ "variável de ambiente SHELL não existente e não se especificou nenhum\n" #~ "tipo de shell como argumento" # , c-format #~ msgid "" #~ "Usage: %s NAME\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s NOME\n" #~ " ou: %s OPÇÃO\n" #, fuzzy #~ msgid "" #~ "Print NAME with its trailing /component removed; if NAME contains " #~ "no /'s,\n" #~ "output `.' (meaning the current directory).\n" #~ "\n" #~ msgstr "" #~ "Mostra NOME do diretório (rota absoluta) até o diretório pai, sem o " #~ "caractere /; se NOME não tiver '/' mostra `.' (o que significa o " #~ "diretório corrente).\n" #~ "\n" #~ " --help mostra esta ajuda e sai\n" #~ " --version mostra a informação de versão e sai\n" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [OPTION]... --files0-from=F\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... GRUPO ARQUIVO...\n" #~ " ou: %s [OPÇÃO]... --reference=ARQUIVOREF ARQUIVO...\n" #~ msgid "total" #~ msgstr "total" # , c-format #~ msgid "invalid maximum depth %s" #~ msgstr "profundidade máxima inválida %s" #~ msgid "cannot both summarize and show all entries" #~ msgstr "não é possível resumir e mostrar todas as entradas ao mesmo tempo" #~ msgid "warning: summarizing is the same as using --max-depth=0" #~ msgstr "alerta: summarizing é o mesmo que usar --max-depth=0" #, fuzzy #~ msgid "warning: summarizing conflicts with --max-depth=%lu" #~ msgstr "alerta: summarizing conflita com --max-depth=%d" #, fuzzy #~ msgid "cannot read file names from %s" #~ msgstr "não foi possível criar o link %s" #, fuzzy #~ msgid "invalid zero-length file name" #~ msgstr "nome de grupo inválido %s" # , c-format #~ msgid "Usage: %s [OPTION]... [STRING]...\n" #~ msgstr "Uso: %s [OPÇÃO]... [STRING]...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If -e is in effect, the following sequences are recognized:\n" #~ "\n" #~ " \\0NNN the character whose ASCII code is NNN (octal)\n" #~ " \\\\ backslash\n" #~ " \\a alert (BEL)\n" #~ " \\b backspace\n" #~ msgstr "" #~ "\n" #~ "Sem -E, as sequências abaixo são reconhecidas e interpretadas:\n" #~ "\n" #~ " \\NNN o caracter cujo código ASCII é NNN (octal)\n" #~ " \\\\ contrabarra\n" #~ " \\a bip de alerta (BEL)\n" #~ " \\b backspace (retorno de um caracter)\n" #~ msgid "" #~ " \\c suppress trailing newline\n" #~ " \\f form feed\n" #~ " \\n new line\n" #~ " \\r carriage return\n" #~ " \\t horizontal tab\n" #~ " \\v vertical tab\n" #~ msgstr "" #~ " \\c suprime fim-de-linha\n" #~ " \\f form feed (nova página)\n" #~ " \\n fim-de-linha\n" #~ " \\r retorno-de-carro\n" #~ " \\t tabulação horizontal\n" #~ " \\v tabulação vertical\n" #, fuzzy #~ msgid "Richard Mlynarik" #~ msgstr "Richard Mlynarik e David MacKenzie" # , c-format #~ msgid "Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n" #~ msgstr "Uso: %s [OPÇÃO]... [-] [NOME=VALOR]... [COMANDO [ARGUMENTO]...]\n" #~ msgid "" #~ "Set each NAME to VALUE in the environment and run COMMAND.\n" #~ "\n" #~ " -i, --ignore-environment start with an empty environment\n" #~ " -u, --unset=NAME remove variable from the environment\n" #~ msgstr "" #~ "Alterar cada NOME para VALOR no ambiente e executar o COMANDO.\n" #~ "\n" #~ " -i, --ignore-environment começar com um ambiente vazio\n" #~ " -u, --unset=NOME retirar variável NOME do ambiente\n" #~ msgid "" #~ "\n" #~ "A mere - implies -i. If no COMMAND, print the resulting environment.\n" #~ msgstr "" #~ "\n" #~ "Um único - implica -i. Se não houver COMANDO, exibe o ambiente " #~ "resultante.\n" #~ msgid "" #~ "Convert tabs in each FILE to spaces, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Converte caracteres tab em cada ARQUIVO em espaços e exibe resultado na\n" #~ "saída padrão. Se ARQUIVO não for especificado ou for -, lê da entrada " #~ "padrão.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -i, --initial do not convert tabs after non blanks\n" #~ " -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n" #~ msgstr "" #~ " -i, --initial não converte TABs após caracteres não-brancos\n" #~ " -t, --tabs=NUMBER usa esta largura de TAB em vez de 8\n" #~ msgid "" #~ " -t, --tabs=LIST use comma separated list of explicit tab positions\n" #~ msgstr "" #~ " -t, --tabs=LIST usa lista explícita de posições de tab, separadas\n" #~ " por vírgula\n" #, fuzzy #~ msgid "tab stop is too large %s" #~ msgstr "%s é muito grande" #, fuzzy #~ msgid "tab size contains invalid character(s): %s" #~ msgstr "o tamanho de tabulação contém um caractere não válido" #~ msgid "tab size cannot be 0" #~ msgstr "o tamanho de tabulação não pode ser 0" #~ msgid "tab sizes must be ascending" #~ msgstr "as posições de tabulação devem ir em ordem crescente" #, fuzzy #~ msgid "input line is too long" #~ msgstr "%s: arquivo muito grande" #, fuzzy #~ msgid "Mike Parker" #~ msgstr "Mike Haertel e Paul Eggert" # , c-format #~ msgid "" #~ "Usage: %s EXPRESSION\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s EXPRESSÃO...\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "\n" #~ "Beware that many operators need to be escaped or quoted for shells.\n" #~ "Comparisons are arithmetic if both ARGs are numbers, else " #~ "lexicographical.\n" #~ "Pattern matches return the string matched between \\( and \\) or null; " #~ "if\n" #~ "\\( and \\) are not used, they return the number of characters matched or " #~ "0.\n" #~ msgstr "" #~ "\n" #~ "NOTE que muitos operadores precisam ser \"escapados\" ou entre aspas.\n" #~ "Comparações são aritméticas se ambos os ARGumentos forem números, de " #~ "outra forma serão lexicográficas. O casamento de padrões retorna a string " #~ "casada entre \\( e \\) ou nulo; se \\( e \\) não forem usados elas " #~ "retornarão o número de caracteres casados ou 0.\n" # , c-format #~ msgid "syntax error" #~ msgstr "erro de sintaxe" #, fuzzy #~ msgid "error in regular expression matcher" #~ msgstr "erro na busca da expressão regular" #~ msgid "non-numeric argument" #~ msgstr "argumento não-numérico" #~ msgid "division by zero" #~ msgstr "divisão por zero" # , c-format #~ msgid "" #~ "Usage: %s [NUMBER]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [NÚMERO]...\n" #~ " ou: %s OPÇÃO\n" #~ msgid "" #~ "Print the prime factors of each NUMBER.\n" #~ "\n" #~ msgstr "" #~ "Exibe os fatores primos de cada NÚMERO.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Print the prime factors of all specified integer NUMBERs. If no " #~ "arguments\n" #~ "are specified on the command line, they are read from standard input.\n" #~ msgstr "" #~ "\n" #~ " Exibe os fatores primos de cada NÚMERO especificado. Lê da entrada " #~ "padrão\n" #~ " se não forem especificados argumentos.\n" #~ msgid "%s is too large" #~ msgstr "%s é muito grande" #, fuzzy #~ msgid "%s is not a valid positive integer" #~ msgstr "`%s' não é um inteiro positivo válido" # , c-format #~ msgid "Usage: %s [-DIGITS] [OPTION]... [FILE]...\n" #~ msgstr "Uso: %s [-DÍGITOS] [OPÇÃO]... [ARQUIVO]...\n" #, fuzzy #~ msgid "" #~ " -c, --crown-margin preserve indentation of first two lines\n" #~ " -p, --prefix=STRING reformat only lines beginning with STRING,\n" #~ " reattaching the prefix to reformatted " #~ "lines\n" #~ " -s, --split-only split long lines, but do not refill\n" #~ msgstr "" #~ "Reformata cada parágrafo do ARQUIVO(s), escrevendo na saída padrão.\n" #~ "Se não se especificar um ARQUIVO ou ARQUIVO é `-', lê a entrada padrão.\n" #~ "\n" #~ "Os argumentos obrigatórios para as opções largas são também obrigatórios " #~ "para as opções curtas.\n" #~ " -c, --crown-margin mantém a indentação nas primeiras duas " #~ "linhas\n" #~ " -p, --prefix=CADEIA associa somente as linhas que comecem com " #~ "CADEIA\n" #~ " -s, --split-only divide as linhas largas, mas sem quebrá-las\n" #~ " -t, --tagged-paragraph identificação da primeira linha diferente\n" #~ " da segunda linha\n" #~ " -u, --uniform-spacing coloca um espaço entre palavras, dois " #~ "entre frases\n" #~ " -w, --width=NÚMERO estabelece o largura de linha máximo " #~ "(por default,\n" #~ " 75 colunas)\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #~ "\n" #~ "No `-wNÚMERO' pode-se omitir a letra `w'.\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -t, --tagged-paragraph indentation of first line different from " #~ "second\n" #~ " -u, --uniform-spacing one space between words, two after sentences\n" #~ " -w, --width=WIDTH maximum line width (default of 75 columns)\n" #~ msgstr "" #~ "Reformata cada parágrafo do ARQUIVO(s), escrevendo na saída padrão.\n" #~ "Se não se especificar um ARQUIVO ou ARQUIVO é `-', lê a entrada padrão.\n" #~ "\n" #~ "Os argumentos obrigatórios para as opções largas são também obrigatórios " #~ "para as opções curtas.\n" #~ " -c, --crown-margin mantém a indentação nas primeiras duas " #~ "linhas\n" #~ " -p, --prefix=CADEIA associa somente as linhas que comecem com " #~ "CADEIA\n" #~ " -s, --split-only divide as linhas largas, mas sem quebrá-las\n" #~ " -t, --tagged-paragraph identificação da primeira linha diferente\n" #~ " da segunda linha\n" #~ " -u, --uniform-spacing coloca um espaço entre palavras, dois " #~ "entre frases\n" #~ " -w, --width=NÚMERO estabelece o largura de linha máximo " #~ "(por default,\n" #~ " 75 colunas)\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #~ "\n" #~ "No `-wNÚMERO' pode-se omitir a letra `w'.\n" #~ "\n" # , c-format #, fuzzy #~ msgid "invalid width: %s" #~ msgstr "largura inválida: `%s'" # , c-format #, fuzzy #~ msgid "invalid number of columns: %s" #~ msgstr "o número de colunas não é válido: `%s'" #, fuzzy #~ msgid "failed to get groups for user %s" #~ msgstr "não foi possível alterar o grupo de %s para %s\n" #, fuzzy #~ msgid "failed to get groups for the current process" #~ msgstr "não foi possível alterar o grupo de %s para %s\n" #, fuzzy #~ msgid "cannot find name for group ID %lu" #~ msgstr "não pode substituir dono e/ou grupo de %s" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... [USERNAME]\n" #~ msgstr "Uso: %s [OPÇÃO]... CONJUNTO1 [CONJUNTO2]\n" #~ msgid "%s: No such user" #~ msgstr "%s: Usuário inexistente" #, fuzzy #~ msgid "" #~ "Print the first 10 lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Mostra as primeiras 10 linhas de cada ARQUIVO na saída padrão.\n" #~ "Se especificados vários ARQUIVO(s), mostra o nome de cada um.\n" #~ "Se ARQUIVO não for especificado ou for `-', lê da entrada padrão.\n" #~ "\n" #~ msgid "" #~ " -q, --quiet, --silent never print headers giving file names\n" #~ " -v, --verbose always print headers giving file names\n" #~ msgstr "" #~ " -q, --quiet, --silent nunca exibir cabeçalhos com nomes de arquivo\n" #~ " -v, --verbose sempre exibir cabeçalhos com nomes de arquivo\n" # , c-format #~ msgid "error reading %s" #~ msgstr "erro lendo %s" #, fuzzy #~ msgid "%s: number of bytes is too large" #~ msgstr "número inválido de bytes para comparar: `%s'" # , c-format #, fuzzy #~ msgid "%s: cannot lseek back to original position" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "%s: cannot seek to offset %s" #~ msgstr "não pode executar a função 'ioctl' sobre `%s'" # , c-format #~ msgid "cannot reposition file pointer for %s" #~ msgstr "impossível reposicionar ponteiro de arquivo para %s" #~ msgid "%s: %s is so large that it is not representable" #~ msgstr "%s: %s é tão grande que não pode ser representado" #~ msgid "number of lines" #~ msgstr "número de linhas" #~ msgid "number of bytes" #~ msgstr "número de bytes" #~ msgid "invalid number of lines" #~ msgstr "número de linhas inválido" #~ msgid "invalid number of bytes" #~ msgstr "número de bytes inválido" # , c-format #, fuzzy #~ msgid "invalid trailing option -- %c" #~ msgstr "%s: opção inválida -- %c\n" #, fuzzy #~ msgid "" #~ "Usage: %s\n" #~ " or: %s OPTION\n" #~ "Print the numeric identifier (in hexadecimal) for the current host.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s\n" #~ " ou: %s OPÇÃO\n" #~ "Mostra o identificador numérico (em hexadecimal) para a máquina atual\n" #~ "\n" #~ " --help mostrar esta ajuda e sai\n" #~ " --version mostrar a informação de versão e sai\n" #, fuzzy #~ msgid "" #~ "Usage: %s [NAME]\n" #~ " or: %s OPTION\n" #~ "Print or set the hostname of the current system.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [NOME]\n" #~ " ou: %s [OPÇÃO]\n" #~ "Mostra ou configura o hostname do sistema corrente.\n" #~ "\n" #~ " --help mostra esta ajuda e sai\n" #~ " --version mostra a informação de versão e sai\n" # , c-format #, fuzzy #~ msgid "cannot set name to %s" #~ msgstr "não pode executar a função 'ioctl' sobre `%s'" #~ msgid "cannot set hostname; this system lacks the functionality" #~ msgstr "" #~ "não consigo alterar o hostname; este sistema não dispõe dessa " #~ "funcionalidade" #~ msgid "cannot determine hostname" #~ msgstr "não consigo determinar o hostname" #, fuzzy #~ msgid "" #~ "Print information for USERNAME, or the current user.\n" #~ "\n" #~ " -a ignore, for compatibility with other versions\n" #~ " -Z, --context print only the security context of the current user\n" #~ " -g, --group print only the effective group ID\n" #~ " -G, --groups print all group IDs\n" #~ " -n, --name print a name instead of a number, for -ugG\n" #~ " -r, --real print the real ID instead of the effective ID, with -" #~ "ugG\n" #~ " -u, --user print only the effective user ID\n" #~ msgstr "" #~ "Mostrar a informação de NOMEDOUSUÁRIO, ou o usuário corrente.\n" #~ "\n" #~ " -g, --group mostrar só o ID do grupo\n" #~ " -G, --groups mostrar só os grupos suplementares\n" #~ " -n, --name mostrar o nome em vez de um número, para -ugG\n" #~ " -r, --read mostrar o ID real em vez do ID efetivo, para -ugG\n" #~ " -u, --user mostrar só o ID do usuário\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a informação de versão e sair\n" #~ "\n" #~ "id sem qualquer opção, mostrara' um conjunto útil de informações de \n" #~ "identidade .\n" #, fuzzy #~ msgid "cannot print \"only\" of more than one choice" #~ msgstr "não é possível sub-dividir em mais de uma forma" #~ msgid "cannot print only names or real IDs in default format" #~ msgstr "não consigo mostrar só nomes ou ID's reais no formato default" #, fuzzy #~ msgid "cannot find name for user ID %lu" #~ msgstr "não consigo encontrar o nome para o UID %u" #~ msgid " groups=" #~ msgstr " grupos=" # , c-format #, fuzzy #~ msgid "warning: %s: failed to change context to %s" #~ msgstr "não é possível criar o diretório %s" #, fuzzy #~ msgid "the strip option may not be used when installing a directory" #~ msgstr "" #~ "a string de formatação não deve ser especificada ao imprimir strings com " #~ "a \n" #~ "mesma largura" #, fuzzy #~ msgid "target directory not allowed when installing a directory" #~ msgstr "" #~ "a string de formatação não deve ser especificada ao imprimir strings com " #~ "a \n" #~ "mesma largura" # , c-format #, fuzzy #~ msgid "invalid mode %s" #~ msgstr "número de campo inválido: `%s'" # , c-format #, fuzzy #~ msgid "cannot change ownership of %s" #~ msgstr "não é possível mudar permissões de %s" # , c-format #, fuzzy #~ msgid "cannot set time stamps for %s" #~ msgstr "não é possível criar o diretório %s" #, fuzzy #~ msgid "fork system call failed" #~ msgstr "tamanho do bloco" #, fuzzy #~ msgid "cannot run strip" #~ msgstr "não consigo executar %s" # , c-format #, fuzzy #~ msgid "waiting for strip" #~ msgstr "escrevendo em %s" #, fuzzy #~ msgid "invalid user %s" #~ msgstr "usuário inválido" #, fuzzy #~ msgid "invalid group %s" #~ msgstr "grupo inválido" # , c-format #, fuzzy #~ msgid "creating directory %s" #~ msgstr "não é possível criar o diretório %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] SOURCE DEST\n" #~ " or: %s [OPTION]... SOURCE... DIRECTORY\n" #~ " or: %s [OPTION]... -t DIRECTORY SOURCE...\n" #~ " or: %s [OPTION]... -d DIRECTORY...\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... ORIGEM DESTINO\n" #~ " ou: %s [OPÇÃO]... ORIGEM... DIRETÓRIO\n" #~ " ou: %s [OPÇÃO]... --target-directory=DIRETÓRIO ORIGEM...\n" #, fuzzy #~ msgid "" #~ "\n" #~ "The backup suffix is `~', unless set with --suffix or " #~ "SIMPLE_BACKUP_SUFFIX.\n" #~ "The version control method may be selected via the --backup option or " #~ "through\n" #~ "the VERSION_CONTROL environment variable. Here are the values:\n" #~ "\n" #~ msgstr "" #~ "O sufixo de backup é ~, a não ser que --suffix ou SIMPLE_BACKUP_SUFFIX " #~ "esteja\n" #~ "definido. O controle de versão pode ser definido com --backup ou\n" #~ "VERSION_CONTROL, valores possíveis são:\n" #~ "\n" #~ " none, off nunca faz backups (mesmo que --backup for passado)\n" #~ " numbered,t fazer backups numerados\n" #~ " existing,nil numerados se já existirem backups numerados, simples " #~ "em\n" #~ " caso contrário\n" #~ " simple,never fazer backups simples sempre\n" #, fuzzy #~ msgid "Mike Haertel" #~ msgstr "Mike Haertel e Paul Eggert" #, fuzzy #~ msgid "" #~ " -v FILENUM like -a FILENUM, but suppress joined output lines\n" #~ " -1 FIELD join on this FIELD of file 1\n" #~ " -2 FIELD join on this FIELD of file 2\n" #~ " --check-order check that the input is correctly sorted, even\n" #~ " if all input lines are pairable\n" #~ " --nocheck-order do not check that the input is correctly sorted\n" #~ msgstr "" #~ "Compara os arquivos ordenados ARQUIVO1 e ARQUIVO2, linha por linha.\n" #~ "\n" #~ " -1 suprime as linhas que só estão em ARQUIVO1\n" #~ " -2 suprime as linhas que só estão em ARQUIVO2\n" #~ " -3 mostra as linhas que só estão em um deles\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" # , c-format #, fuzzy #~ msgid "invalid field number: %s" #~ msgstr "número de campo inválido: `%s'" # , c-format #, fuzzy #~ msgid "invalid field specifier: %s" #~ msgstr "especificação do campo é inválida: `%s'" # , c-format #, fuzzy #~ msgid "invalid file number in field spec: %s" #~ msgstr "número de arquivo inválido na especificação do campo: `%s'" # , c-format #, fuzzy #~ msgid "multi-character tab %s" #~ msgstr "tabulação multicaracter `%s'" #~ msgid "both files cannot be standard input" #~ msgstr "ambos os arquivos não podem ser a entrada padrão" #, fuzzy #~ msgid "" #~ " -s, --signal=SIGNAL, -SIGNAL\n" #~ " specify the name or number of the signal to be sent\n" #~ " -l, --list list signal names, or convert signal names to/from " #~ "numbers\n" #~ " -t, --table print a table of signal information\n" #~ msgstr "" #~ "Copia a entrada padrão (stdin) para um ARQUIVO, e também para a\n" #~ "saída padrão (stdout).\n" #~ "\n" #~ " -a, --append acrescenta aos ARQUIVO(s) passados, não " #~ "escreve por\n" #~ " cima\n" #~ " -i, --ignore-interrupts ignora os sinais de interrupção\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a informação de versão e sair\n" # , c-format #, fuzzy #~ msgid "%s: invalid signal" #~ msgstr "%s: PID inválido" # , c-format #, fuzzy #~ msgid "%s: invalid process id" #~ msgstr "%s: padrão inválido" # , c-format #, fuzzy #~ msgid "invalid option -- %c" #~ msgstr "%s: opção inválida -- %c\n" #, fuzzy #~ msgid "%s: multiple signals specified" #~ msgstr "\\%c: caractere de escape inválido" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s FILE1 FILE2\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [ARQUIVO]...\n" #~ " ou: %s [OPÇÃO]\n" # , c-format #, fuzzy #~ msgid "cannot create link %s to %s" #~ msgstr "não é possível criar o diretório %s" #~ msgid "%s: warning: making a hard link to a symbolic link is not portable" #~ msgstr "" #~ "%s: aviso: fazer uma ligação (hard) para uma ligação simbólica não é " #~ "portável" #, fuzzy #~ msgid "%s: hard link not allowed for directory" #~ msgstr "`%s' não é um diretório" # , c-format #, fuzzy #~ msgid "%s: cannot overwrite directory" #~ msgstr "não é possível criar o diretório %s" #~ msgid "%s: replace %s? " #~ msgstr "%s: substituir %s?" #, fuzzy #~ msgid "creating symbolic link %s" #~ msgstr "criando link simbólico %s to %s" #, fuzzy #~ msgid "creating symbolic link %s -> %s" #~ msgstr "criando link simbólico %s to %s" #, fuzzy #~ msgid "creating hard link to %.0s%s" #~ msgstr "criando link %s para %s" #, fuzzy #~ msgid "creating hard link %s" #~ msgstr "criando link %s para %s" #, fuzzy #~ msgid "creating hard link %s => %s" #~ msgstr "criando link %s para %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [-T] TARGET LINK_NAME (1st form)\n" #~ " or: %s [OPTION]... TARGET (2nd form)\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY (3rd form)\n" #~ " or: %s [OPTION]... -t DIRECTORY TARGET... (4th form)\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... FONTE DESTINO (1º formato)\n" #~ " ou: %s [OPÇÃO]... FONTE... DIRETÓRIO (2º formato)\n" #~ " ou: %s -d [OPÇÃO]... DIRETÓRIO... (3º formato)\n" #, fuzzy #~ msgid "Cannot combine --target-directory and --no-target-directory" #~ msgstr "%s existe, mas não é um diretório" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]\n" #~ msgstr "Uso: %s [OPÇÃO] [ARQUIVO]...\n" #, fuzzy #~ msgid "no login name" #~ msgstr "%s: número inválido" #, fuzzy #~ msgid "%b %e %Y" #~ msgstr "%b %e %H:%M %Y" #, fuzzy #~ msgid "%b %e %H:%M" #~ msgstr "%b %e %H:%M %Y" #, fuzzy #~ msgid "ignoring invalid value of environment variable QUOTING_STYLE: %s" #~ msgstr "" #~ "ignorando tamanho de tab inválido na variável de ambiente TABSIZE: %s" #~ msgid "ignoring invalid width in environment variable COLUMNS: %s" #~ msgstr "ignorando largura inválida na variável de ambiente COLUMNS: %s" #~ msgid "ignoring invalid tab size in environment variable TABSIZE: %s" #~ msgstr "" #~ "ignorando tamanho de tab inválido na variável de ambiente TABSIZE: %s" # , c-format #, fuzzy #~ msgid "invalid line width: %s" #~ msgstr "número de campo inválido: `%s'" # , c-format #, fuzzy #~ msgid "invalid tab size: %s" #~ msgstr "tipo de cadeia inválida `%s'" # , c-format #, fuzzy #~ msgid "invalid time style format %s" #~ msgstr "argumento inválido %s para '%s'" # , c-format #, fuzzy #~ msgid "unrecognized prefix: %s" #~ msgstr "opção não reconhecida '-%c'" #~ msgid "unparsable value for LS_COLORS environment variable" #~ msgstr "o valor da variável de ambiente LS_COLORS não pode ser analisado" # , c-format #, fuzzy #~ msgid "cannot open directory %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "cannot determine device and inode of %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "%s: not listing already-listed directory" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "closing directory %s" #~ msgstr "omitindo diretório %s" #, fuzzy #~ msgid "cannot compare file names %s and %s" #~ msgstr "não foi possível criar o link %s" #, fuzzy #~ msgid "" #~ " -q, --hide-control-chars print ? instead of non graphic characters\n" #~ " --show-control-chars show non graphic characters as-is (default\n" #~ " unless program is `ls' and output is a " #~ "terminal)\n" #~ " -Q, --quote-name enclose entry names in double quotes\n" #~ " --quoting-style=WORD use quoting style WORD for entry names:\n" #~ " literal, locale, shell, shell-always, c, " #~ "escape\n" #~ msgstr "" #~ " -g (ignorado)\n" #~ " -G, --no-group não mostra o grupo\n" #~ " -h, --human-readable mostra tamanhos em formato de leitura para \n" #~ " humanos (ex: 1K 234M 2G)\n" #~ " -H, --si como o anterior, mas usa o multiplicador \n" #~ " 1000 em vez de 1024\n" #~ " --indicator-style=PALAVRA concatena o indicador com o estilo \n" #~ " PALAVRA na entrada de nomes:\n" #~ " none (padrao)\n" #~ " classificado (-F)\n" #~ " tipo-de-arquivo (-p)\n" #~ " -i, --inode mostrar o número de índice de cada arquivo\n" #~ " -I, --ignore=PADRÃO não mostrar entradas que coincidam com o\n" #~ " PADRÃO de shell\n" #~ " -k, --kilobytes como --block-size=1024\n" #~ " -l usar formato longo de listagem\n" #~ " -L, --dereference mostrar entradas apontadas pelos\n" #~ " links simbólicos\n" #~ " -m preencher largura com as entradas separadas " #~ "por\n" #~ " vírgulas\n" #~ " -n, --numeric-uid-gid mostrar UIDs e GIDs numéricos em vez dos " #~ "nomes\n" #~ " -N, --literal mostrar os nomes das entradas sem tratar\n" #~ " tratar caracteres de controle\n" #~ " -o usar formato de listagem longo sem " #~ "informação\n" #~ " de grupo\n" #~ " -p, --file-type acrescentar um indicador (/=@|) nas " #~ "entradas\n" #~ " -q, --hide-control-chars mostrar ? em vez de caracteres não gráficos\n" #~ " --show-control-chars mostra caracteres não gráficos como são " #~ "(padrão\n" #~ " a menos que o programa seja o `ls' e a " #~ "saída\n" #~ " seja um terminal)\n" #~ " -Q, --quote-name colocar aspas nos nomes das entradas\n" #~ " --quoting-style=PALAVRA use estilo de quote para nomes de entrada:\n" #~ " literal, shell, shell-always, c, escape\n" #~ " -r, --reverse inverter a ordem na ordenação\n" #~ " -R, --recursive mostrar subdiretórios recursivamente\n" #~ " -s, --size mostrar o tamanho de cada arquivo, em " #~ "blocos\n" #, fuzzy #~ msgid "David Madore" #~ msgstr "Stuart Kemp e David MacKenzie" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]...\n" #~ "Print or check %s (%d-bit) checksums.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO] [ARQUIVO]\n" #~ "Escreve uma lista consistente totalmente ordenada com uma ordenação " #~ "parcial no arquivo\n" #~ "Sem informar ARQUIVO, ou se ARQUIVO é `-', lê da entrada padrão\n" #~ "\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #, fuzzy #~ msgid " -b, --binary read in binary mode\n" #~ msgstr "" #~ "\n" #~ " -B, --binary usa escrita binária no console.\n" #~ "\n" # , c-format #, fuzzy #~ msgid "%s: too many checksum lines" #~ msgstr "%s: não foram encontradas linhas de checksum %s com formato correto" # , c-format #, fuzzy #~ msgid "%s: %: improperly formatted %s checksum line" #~ msgstr "%s: %lu: linha de checksum %s com formato errôneo" # , c-format #~ msgid "%s: FAILED open or read\n" #~ msgstr "%s: FALHA na abertura ou na leitura\n" #~ msgid "OK" #~ msgstr "A soma coincide" # , c-format #~ msgid "%s: read error" #~ msgstr "%s: erro de leitura" # , c-format #~ msgid "%s: no properly formatted %s checksum lines found" #~ msgstr "%s: não foram encontradas linhas de checksum %s com formato correto" # , c-format #, fuzzy #~ msgid "WARNING: % of % listed file could not be read" #~ msgid_plural "" #~ "WARNING: % of % listed files could not be read" #~ msgstr[0] "ATENÇÃO: %d de %d listado %s não pode ser lido" #~ msgstr[1] "ATENÇÃO: %d de %d listado %s não pode ser lido" # , c-format #, fuzzy #~ msgid "WARNING: % of % computed checksum did NOT match" #~ msgid_plural "" #~ "WARNING: % of % computed checksums did NOT match" #~ msgstr[0] "ATENÇÃO: calculado %d de %d %s não confere" #~ msgstr[1] "ATENÇÃO: calculado %d de %d %s não confere" #~ msgid "" #~ "the --binary and --text options are meaningless when verifying checksums" #~ msgstr "" #~ "as opções --binary e --text não tem sentido para verificar somas de " #~ "comprovação" #~ msgid "the --status option is meaningful only when verifying checksums" #~ msgstr "a opção --status só tem sentido para verificar somas de comprovação" #~ msgid "the --warn option is meaningful only when verifying checksums" #~ msgstr "a opção --warn só tem sentido para verificar somas de comprovação" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION] DIRECTORY...\n" #~ msgstr "Uso: %s [OPÇÃO] [ARQUIVO]...\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n" #~ " -p, --parents no error if existing, make parent directories as " #~ "needed\n" #~ " -v, --verbose print a message for each created directory\n" #~ " -Z, --context=CTX set the SELinux security context of each created\n" #~ " directory to CTX\n" #~ msgstr "" #~ "Criar o(s) DIRETÓRIO(s), se ainda não existirem.\n" #~ "\n" #~ " -m, --mode=MODO colocar permissões MODO (como no chmod) em vez\n" #~ " de rwxrwxrwx - umask\n" #~ " -p, --parents suprimir erros caso existam, criar diretórios\n" #~ " pais à medida que for necessário\n" #~ " -v, --verbose mostrar uma mensagem para cada diretório criado\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar informação sobre versão e sair\n" # , c-format #, fuzzy #~ msgid "created directory %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION] NAME...\n" #~ msgstr "Uso: %s [OPÇÃO] [ARQUIVO]...\n" #, fuzzy #~ msgid "" #~ " -m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n" #~ msgstr "" #~ "Criar pipes com nome (FIFOs) com o NOME dado.\n" #~ "\n" #~ " -m, --mode=MODO configurar permissões (como no chmod)\n" #~ " --help mostrar esta ajuda e sai\n" #~ " --version mostrar informação sobre versão e sai\n" #, fuzzy #~ msgid "invalid mode" #~ msgstr "número inválido" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME TYPE [MAJOR MINOR]\n" #~ msgstr "Uso: %s [OPÇÃO]... CONJUNTO1 [CONJUNTO2]\n" #, fuzzy #~ msgid "" #~ "\n" #~ " b create a block (buffered) special file\n" #~ " c, u create a character (unbuffered) special file\n" #~ " p create a FIFO\n" #~ msgstr "" #~ "Criar o arquivo especial NOME do TIPO dado.\n" #~ "\n" #~ " -m, --mode=MODO colocar permissões MODO (como no chmod), em vez de \n" #~ " 0666-umask\n" #~ " --help mostrar esta ajuda e sai\n" #~ " --version mostrar informação sobre versão e sai\n" #~ "\n" #~ "MAJOR e MINOR são proibidos para o TIPO p, obrigatórios nos outros " #~ "casos.\n" #~ "TIPO pode ser:\n" #~ " b criar um arquivo especial de tipo bloco (buffered)\n" #~ " c, u criar um arquivo especial de tipo caracter (não buffered)\n" #~ " p criar um \"FIFO\"\n" #, fuzzy #~ msgid "Special files require major and minor device numbers." #~ msgstr "" #~ "ao criar arquivos especiais de bloco, são necessários os números \n" #~ "\"major\" e \"minor do dispositivo" # , c-format #, fuzzy #~ msgid "Fifos do not have major and minor device numbers." #~ msgstr "número de começo de linha inválido: `%s'" #, fuzzy #~ msgid "block special files not supported" #~ msgstr "tamanho do bloco" #, fuzzy #~ msgid "character special files not supported" #~ msgstr "o offset de caracteres é zero" # , c-format #, fuzzy #~ msgid "invalid major device number %s" #~ msgstr "número de começo de linha inválido: `%s'" # , c-format #, fuzzy #~ msgid "invalid minor device number %s" #~ msgstr "número de começo de linha inválido: `%s'" # , c-format #, fuzzy #~ msgid "invalid device %s %s" #~ msgstr "argumento inválido %s para '%s'" # , c-format #, fuzzy #~ msgid "invalid device type %s" #~ msgstr "argumento inválido %s para '%s'" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... [TEMPLATE]\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]\n" #, fuzzy #~ msgid "too many templates" #~ msgstr "muitos argumentos" # , c-format #, fuzzy #~ msgid "failed to create directory via template %s" #~ msgstr "não é possível criar o diretório %s" #, fuzzy #~ msgid "failed to create file via template %s" #~ msgstr "falha ao preservar horário para %s" #, fuzzy #~ msgid "" #~ " -t, --target-directory=DIRECTORY move all SOURCE arguments into " #~ "DIRECTORY\n" #~ " -T, --no-target-directory treat DEST as a normal file\n" #~ " -u, --update move only when the SOURCE file is newer\n" #~ " than the destination file or when the\n" #~ " destination file is missing\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "Renomear FONTE como DESTINO ou mover FONTE(s) para DIRETÓRIO.\n" #~ "\n" #~ " -b, --backup[=CONTROLE] fazer \"backup\" antes da remoção\n" #~ " -f, --force apagar destinos existentes, nunca " #~ "perguntar\n" #~ " -i, --interactive perguntar antes de sobrescrever\n" #~ " --strip-trailing-slashes remove todas as barras finais de cada \n" #~ " parâmetro FONTE\n" #~ " -S, --suffix=SUFIXO usar SUFIXO em vez do sufixo habitual de\n" #~ " \"backup\"\n" #~ " --target-directory=DIR move todos os parâmetros FONTE para o\n" #~ " diretório DIR\n" #~ " -u, --update mover somente arquivos novos ou mais \n" #~ " recentes\n" #~ " -v, --verbose explicar o que está sendo feito\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar informação sobre versão e sair\n" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION] [COMMAND [ARG]...]\n" #~ msgstr "Uso: %s [OPÇÃO] [ARQUIVO]...\n" # , c-format #, fuzzy #~ msgid "invalid adjustment %s" #~ msgstr "argumento inválido %s para '%s'" #~ msgid "a command must be given with an adjustment" #~ msgstr "um comando deve ser dado com um ajuste" # , c-format #, fuzzy #~ msgid "cannot get niceness" #~ msgstr "impossível obter nome do sistema" #, fuzzy #~ msgid "cannot set niceness" #~ msgstr "impossível alterar data" #, fuzzy #~ msgid "" #~ " -b, --body-numbering=STYLE use STYLE for numbering body lines\n" #~ " -d, --section-delimiter=CC use CC for separating logical pages\n" #~ " -f, --footer-numbering=STYLE use STYLE for numbering footer lines\n" #~ msgstr "" #~ "Escreve cada ARQUIVO na saída padrão começando pela última linha\n" #~ "Sem informar ARQUIVO, ou se ARQUIVO é `-', lê da entrada padrão\n" #~ "\n" #~ " -b, --before colocar o separador antes de cada linha, em vez " #~ "de\n" #~ " colocar depois\n" #~ " -r, --regex interpretar o separador como uma expressão " #~ "regular\n" #~ " -s, --separator=STRING usar STRING como separador, em vez de um salto " #~ "de\n" #~ " linha\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a versão e sair\n" #~ "\n" # , c-format #, fuzzy #~ msgid "line number overflow" #~ msgstr "o número do campo é zero" # , c-format #, fuzzy #~ msgid "invalid header numbering style: %s" #~ msgstr "número de campo inválido: `%s'" #, fuzzy #~ msgid "invalid body numbering style: %s" #~ msgstr "número inválido %s" # , c-format #, fuzzy #~ msgid "invalid footer numbering style: %s" #~ msgstr "número de arquivo inválido na especificação do campo: `%s'" # , c-format #, fuzzy #~ msgid "invalid starting line number: %s" #~ msgstr "número de começo de linha inválido: `%s'" # , c-format #, fuzzy #~ msgid "invalid line number increment: %s" #~ msgstr "incremento de linha não válido: `%s'" # , c-format #, fuzzy #~ msgid "invalid number of blank lines: %s" #~ msgstr "número de linhas vazias inválido: `%s'" # , c-format #, fuzzy #~ msgid "invalid line number field width: %s" #~ msgstr "largura para o número de linha inválido: `%s'" # , c-format #, fuzzy #~ msgid "invalid line numbering format: %s" #~ msgstr "incremento de linha não válido: `%s'" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s COMMAND [ARG]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [ARQUIVO]...\n" #~ " ou: %s [OPÇÃO]\n" #, fuzzy #~ msgid "ignoring input" #~ msgstr "muitos argumentos" #, fuzzy #~ msgid "failed to open %s" #~ msgstr "falha ao preservar horário para %s" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]...\n" #~ " or: %s [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]\n" #~ " or: %s --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.]" #~ "[b]]\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" #~ " ou: %s --traditional [ARQUIVO] [[+]OFFSET [[+]RÓTULO]\n" # , c-format #, fuzzy #~ msgid "invalid type string %s" #~ msgstr "tipo de cadeia inválida `%s'" # , c-format #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte integral type" #~ msgstr "" #~ "tipo de cadeia inválida `%s';\n" #~ "este sistema não provê um tipo de %lu bytes" # , c-format #, fuzzy #~ msgid "" #~ "invalid type string %s;\n" #~ "this system doesn't provide a %lu-byte floating point type" #~ msgstr "" #~ "tipo de cadeia inválida `%s';\n" #~ "este sistema não dispõe de um tipo de ponto flutuante de %lu bytes" # , c-format #, fuzzy #~ msgid "invalid character `%c' in type string %s" #~ msgstr "caracter inválido `%c' na cadeia `%s'" #~ msgid "cannot skip past end of combined input" #~ msgstr "impossível acessar além da entrada" # , c-format #~ msgid "" #~ "invalid output address radix `%c'; it must be one character from [doxn]" #~ msgstr "endereço de saída inválido `%c'; deve ser um caracter de [doxn]" #~ msgid "no type may be specified when dumping strings" #~ msgstr "o tipo não pode ser especificado quando se depura cadeias" #, fuzzy #~ msgid "Compatibility mode supports at most one file." #~ msgstr "em modo de compatibilidade não deve haver mais de três argumentos" # , c-format #~ msgid "warning: invalid width %lu; using %d instead" #~ msgstr "atenção: largura %lu inválida; será usado %d em seu lugar" # , c-format #~ msgid "%d: fmt=\"%s\" width=%d\n" #~ msgstr "%d: fmt=\"%s\" largura=%d\n" #~ msgid "standard input is closed" #~ msgstr "a entrada padrão está fechada" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... NAME...\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" # , c-format #, fuzzy #~ msgid "nonportable character %s in file name %s" #~ msgstr "caracter inválido %s na cadeia de modo %s" #, fuzzy #~ msgid "empty file name" #~ msgstr "arquivo comum vazio" #~ msgid "Login name: " #~ msgstr "Nome de Login: " #~ msgid "In real life: " #~ msgstr "Na vida real: " #~ msgid "???\n" #~ msgstr "???\n" #~ msgid "Directory: " #~ msgstr "Diretório: " #~ msgid "Shell: " #~ msgstr "Interpretador: " #~ msgid "Project: " #~ msgstr "Projeto: " #~ msgid "Plan:\n" #~ msgstr "Planos:\n" #~ msgid "Login" #~ msgstr "Login" #, fuzzy #~ msgid "Name" #~ msgstr " Nome" #, fuzzy #~ msgid " TTY" #~ msgstr "TTY" #~ msgid "Idle" #~ msgstr "Ocioso" #~ msgid "When" #~ msgstr "Quando" #~ msgid "Where" #~ msgstr "Onde" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... [USER]...\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" #, fuzzy #~ msgid "no username specified; at least one must be specified when using -l" #~ msgstr "não é possível especificar arquivo quando se usa --string" #~ msgid "`--pages=FIRST_PAGE[:LAST_PAGE]' missing argument" #~ msgstr "`--pages=PRIMEIRA_PÁGINA[:ÚLTIMA_PÁGINA]' está faltando argumentos" # , c-format #, fuzzy #~ msgid "Invalid page range %s" #~ msgstr "tipo de cadeia inválida `%s'" # , c-format #, fuzzy #~ msgid "`-l PAGE_LENGTH' invalid number of lines: %s" #~ msgstr "`-l TAMANHO_DE_PÁGINA' número de linhas inválido: `%s'" # , c-format #, fuzzy #~ msgid "`-N NUMBER' invalid starting line number: %s" #~ msgstr "`-N NÚMERO' número de início de linha inválido: `%s'" # , c-format #, fuzzy #~ msgid "`-o MARGIN' invalid line offset: %s" #~ msgstr "`-o MARGEM' deslocamento (offset) de linha inválido: `%s'" # , c-format #, fuzzy #~ msgid "`-w PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-w TAMANHO_DE_PÁGINA' número de caracteres inválido: `%s'" # , c-format #, fuzzy #~ msgid "`-W PAGE_WIDTH' invalid number of characters: %s" #~ msgstr "`-W TAMANHO_DE_PÁGINA' número de caracteres inválido: `%s'" #~ msgid "Cannot specify number of columns when printing in parallel." #~ msgstr "" #~ "Não é possível especificar o número de colunas quando imprimindo em " #~ "paralelo." #~ msgid "Cannot specify both printing across and printing in parallel." #~ msgstr "" #~ "Não é possível especificar impressão em paralelo e transversalmente ao " #~ "mesmo tempo." # , c-format #, fuzzy #~ msgid "`-%c' extra characters or invalid number in the argument: %s" #~ msgstr "" #~ "`-%c' caracteres extras, ou o argumento da opção `-s' não é válido : `%s'" #~ msgid "page width too narrow" #~ msgstr "largura de página muito estreita" # , c-format #, fuzzy #~ msgid "Page number overflow" #~ msgstr "o número do campo é zero" #, fuzzy #~ msgid "" #~ " -W PAGE_WIDTH, --page-width=PAGE_WIDTH\n" #~ " set page width to PAGE_WIDTH (72) characters always,\n" #~ " truncate lines, except -J option is set, no " #~ "interference\n" #~ " with -S or -s\n" #~ msgstr "" #~ "Compara os arquivos ordenados ARQUIVO1 e ARQUIVO2, linha por linha.\n" #~ "\n" #~ " -1 suprime as linhas que só estão em ARQUIVO1\n" #~ " -2 suprime as linhas que só estão em ARQUIVO2\n" #~ " -3 mostra as linhas que só estão em um deles\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #, fuzzy #~ msgid "" #~ "\n" #~ "-t is implied if PAGE_LENGTH <= 10. With no FILE, or when\n" #~ "FILE is -, read standard input.\n" #~ msgstr "" #~ "\n" #~ "Sem ARQUIVO, ou quando ARQUIVO é -, lê a entrada padrão.\n" #, fuzzy #~ msgid "" #~ "Usage: %s [VARIABLE]...\n" #~ " or: %s OPTION\n" #~ "If no environment VARIABLE specified, print them all.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [VARIÁVEL]...\n" #~ " ou:\"%s OPÇÃO\n" #~ "Se não for especificada nenhuma VARIÁVEL do ambiente, mostra todas.\n" #~ "\n" #~ " --help mostrar esta ajuda\n" #~ " --version mostrar informação de versão e sai\n" #~ msgid "" #~ "warning: %s: character(s) following character constant have been ignored" #~ msgstr "" #~ "Atenção: %s caracter(s) seguindo constante de caractere foi ignorado" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s FORMAT [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [ARQUIVO]...\n" #~ " ou: %s [OPÇÃO]\n" #~ msgid "%s: expected a numeric value" #~ msgstr "%s: valor numérico esperado" #~ msgid "%s: value not completely converted" #~ msgstr "%s: valor não convertido totalmente" #~ msgid "missing hexadecimal number in escape" #~ msgstr "falta um número hexadecimal no caractere de escape" # , c-format #, fuzzy #~ msgid "invalid universal character name \\%c%0*x" #~ msgstr "classe de caracteres inválida `%s'" # , c-format #, fuzzy #~ msgid "invalid field width: %s" #~ msgstr "número de campo inválido: `%s'" # , c-format #, fuzzy #~ msgid "invalid precision: %s" #~ msgstr "conversão inválida: %s" # , c-format #, fuzzy #~ msgid "%.*s: invalid conversion specification" #~ msgstr "%s: especificação de campo inválida `%s'" #, fuzzy #~ msgid "warning: ignoring excess arguments, starting with %s" #~ msgstr "Atenção: argumentos excessivos serão ignorados" #, fuzzy #~ msgid "%s (for regexp %s)" #~ msgstr "%s (para expressão regular `%s')" # , c-format #~ msgid "" #~ "Usage: %s [OPTION]... [INPUT]... (without -G)\n" #~ " or: %s -G [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... [ENTRADA]... (sem a opção -G)\n" #~ " ou: %s [OPÇÃO]... [ENTRADA [SAÍDA]]\n" # , c-format #, fuzzy #~ msgid "invalid gap width: %s" #~ msgstr "largura inválida: `%s'" #, fuzzy #~ msgid "failed to chdir to %s" #~ msgstr "não foi possível alterar o grupo de %s para %s\n" #, fuzzy #~ msgid "failed to stat %s" #~ msgstr "falha ao obter atributos de %s" #, fuzzy #~ msgid "ignoring non-option arguments" #~ msgstr "muitos argumentos" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" # , c-format #, fuzzy #~ msgid "FATAL: failed to close directory %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "FATAL: cannot open .. from %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "FATAL: cannot enter directory %s" #~ msgstr "não é possível criar o diretório %s" #, fuzzy #~ msgid "" #~ "WARNING: Circular directory structure.\n" #~ "This almost certainly means that you have a corrupted file system.\n" #~ "NOTIFY YOUR SYSTEM MANAGER.\n" #~ "The following directory is part of the cycle:\n" #~ " %s\n" #~ msgstr "" #~ "%s: AVISO: Estrutura de diretórios circular.\n" #~ "Isto quer dizer quase com certeza que o sistema de arquivos\n" #~ "está corrompido.\n" #~ "NOTIFIQUE O ADMINISTRADOR DO SISTEMA.\n" #~ "Os próximos dois diretórios tem o mesmo número de inode:\n" # , c-format #, fuzzy #~ msgid "%s: descend into write-protected directory %s? " #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "%s: descend into directory %s? " #~ msgstr "não pode executar 'chdir' sobre `%s'" #, fuzzy #~ msgid "%s: remove write-protected %s %s? " #~ msgstr "%s: remover arquivo %s protegido contra escrita? " #, fuzzy #~ msgid "%s: remove %s %s? " #~ msgstr "%s: remover %s? " # , c-format #, fuzzy #~ msgid "removed directory: %s\n" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "failed to close directory %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "cannot remove directory %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "cannot remove root directory %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "cannot remove relative-named %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "cannot restore current working directory" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... FILE...\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" #, fuzzy #~ msgid "%s: remove all arguments? " #~ msgstr "%s: remover %s? " # , c-format #, fuzzy #~ msgid "removing directory, %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "failed to remove directory %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... DIRECTORY...\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" #, fuzzy #~ msgid "" #~ " -p, --parents Remove DIRECTORY and its ancestors. E.g., `rmdir -p a/" #~ "b/c' is\n" #~ " similar to `rmdir a/b/c a/b a'.\n" #~ " -v, --verbose output a diagnostic for every directory processed\n" #~ msgstr "" #~ "Remove o(s) DIRETÓRIO(s), se eles estiverem vazios.\n" #~ "\n" #~ " --ignore-fail-on-non-empty\n" #~ " ignora cada falha causada somente se o diretório " #~ "não \n" #~ " está vazio\n" #~ " -p, --parents remove DIRETÓRIO, depois tenta remover cada diretório\n" #~ " componente da rota. Ex. `rmdir -p a/b/c é similar\n" #~ " a `rmdir a/b/c a/b a'.\n" #~ " --verbose mostra um diagnóstico para cada diretório processado\n" #~ " vazios\n" #~ " --help mostrar esta ajuda e sai\n" #~ " --version mostrar informação sobre versão e sai\n" # , c-format #, fuzzy #~ msgid "failed to remove %s" #~ msgstr "imposível remover %s" #, fuzzy #~ msgid "failed to get current context" #~ msgstr "falha ao obter atributos de %s" #, fuzzy #~ msgid "no command specified" #~ msgstr "somente um argumento pode ser especificado" #, fuzzy #~ msgid "failed to set new user %s" #~ msgstr "falha ao preservar horário para %s" #, fuzzy #~ msgid "failed to set new type %s" #~ msgstr "falha ao preservar horário para %s" #, fuzzy #~ msgid "failed to set new range %s" #~ msgstr "falha ao preservar horário para %s" #, fuzzy #~ msgid "failed to set new role %s" #~ msgstr "falha ao obter atributos de %s" # , c-format #, fuzzy #~ msgid "unable to set security context %s" #~ msgstr "não é possível restaurar permissões de %s" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... LAST\n" #~ " or: %s [OPTION]... FIRST LAST\n" #~ " or: %s [OPTION]... FIRST INCREMENT LAST\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... [ENTRADA]... (sem a opção -G)\n" #~ " ou: %s [OPÇÃO]... [ENTRADA [SAÍDA]]\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If FIRST or INCREMENT is omitted, it defaults to 1. That is, an\n" #~ "omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST.\n" #~ "FIRST, INCREMENT, and LAST are interpreted as floating point values.\n" #~ "INCREMENT is usually positive if FIRST is smaller than LAST, and\n" #~ "INCREMENT is usually negative if FIRST is greater than LAST.\n" #~ msgstr "" #~ "Mostra números de PRIMEIRO até ÚLTIMO, usando INCREMENTO.\n" #~ "\n" #~ " -f, --format FORMATO utilizar o estilo de FORMATO do printf(3) \n" #~ " (por default: %%g)\n" #~ " -s, --separator STRING usar STRING para separar números\n" #~ " (por default: \\n)\n" #~ " -w, --equal-width tornar a largura igual acrescentando zeros " #~ "no \n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a informação de versão e sair\n" #~ " fim\n" #~ "\n" #~ "Se são omitidos COMEÇO ou INCREMENTO, o default será 1. \n" #~ "COMEÇO, INCREMENTO, e ÚLTIMO são interpretados como valores em ponto " #~ "flutuante.\n" #~ "INCREMENTO deve ser positivo se COMEÇO for menor que ÚLTIMO, e\n" #~ "negativo caso contrário. Quando indicado, o argumento FORMATO deve " #~ "conter\n" #~ "exatamente um de %%e, %%f ou %%g - argumentos de formatação ponto \n" #~ "flutuante do printf.\n" # , c-format #, fuzzy #~ msgid "invalid floating point argument: %s" #~ msgstr "número de começo de linha inválido: `%s'" # , c-format #, fuzzy #~ msgid "no %% directive in format string %s" #~ msgstr "tipo de cadeia inválida `%s'" #, fuzzy #~ msgid "too many %% directives in format string %s" #~ msgstr "muito %% especificador de conversão no sufixo" # , c-format #, fuzzy #~ msgid "invalid format string: %s" #~ msgstr "tipo de cadeia inválida `%s'" #, fuzzy #~ msgid "format string may not be specified when printing equal width strings" #~ msgstr "o tipo não pode ser especificado quando se depura cadeias" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s OPTION USER COMMAND [ARGUMENT]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [ARQUIVO]...\n" #~ " ou: %s [OPÇÃO]\n" #, fuzzy #~ msgid "failed to set supplemental group(s)" #~ msgstr "Não consigo obter lista de grupos suplementar" #, fuzzy #~ msgid "cannot set group-ID to %lu" #~ msgstr "não pode ignorar usuário e grupo" #, fuzzy #~ msgid "cannot set user-ID to %lu" #~ msgstr "não pode ignorar usuário e grupo" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTIONS] FILE [...]\n" #~ msgstr "Uso: %s [OPÇÃO] [ARQUIVO]...\n" #, fuzzy #~ msgid "%s: fdatasync failed" #~ msgstr "falha no stat" #, fuzzy #~ msgid "%s: cannot rewind" #~ msgstr "não consigo executar %s" #~ msgid "%s: pass %lu/%lu (%s)..." #~ msgstr "%s: passou %lu/%lu (%s)..." # , c-format #, fuzzy #~ msgid "%s: error writing at offset %s" #~ msgstr "erro escrevendo %s" #, fuzzy #~ msgid "%s: lseek failed" #~ msgstr "erro fechando arquivo" #, fuzzy #~ msgid "%s: file too large" #~ msgstr "%s: arquivo muito grande" #~ msgid "%s: pass %lu/%lu (%s)...%s" #~ msgstr "%s: pass %lu/%lu (%s)...%s" #, fuzzy #~ msgid "%s: pass %lu/%lu (%s)...%s/%s %d%%" #~ msgstr "%s: passou %lu/%lu (%s)...%s/%s" #, fuzzy #~ msgid "%s: fstat failed" #~ msgstr "falha no stat" # , c-format #, fuzzy #~ msgid "%s: invalid file type" #~ msgstr "%s: número de linhas inválido" #~ msgid "%s: file has negative size" #~ msgstr "%s: arquivo tem tamanho negativo" #, fuzzy #~ msgid "%s: error truncating" #~ msgstr "%s: arquivo truncado" #, fuzzy #~ msgid "%s: fcntl failed" #~ msgstr "falha no stat" #~ msgid "%s: cannot shred append-only file descriptor" #~ msgstr "" #~ "%s: não foi possível fragmentar (shred) descritor de arquivo (append-only)" #~ msgid "%s: removing" #~ msgstr "removendo %s" # , c-format #, fuzzy #~ msgid "%s: renamed to %s" #~ msgstr "%s: erro de leitura" #, fuzzy #~ msgid "%s: failed to remove" #~ msgstr "%s: arquivo muito grande" #~ msgid "%s: removed" #~ msgstr "%s: removido" #, fuzzy #~ msgid "%s: failed to close" #~ msgstr "%s: arquivo muito grande" #, fuzzy #~ msgid "%s: failed to open for writing" #~ msgstr "%s: arquivo muito grande" # , c-format #, fuzzy #~ msgid "%s: invalid number of passes" #~ msgstr "%s: número de segundos inválido" #, fuzzy #~ msgid "multiple random sources specified" #~ msgstr "\\%c: caractere de escape inválido" # , c-format #, fuzzy #~ msgid "%s: invalid file size" #~ msgstr "%s: número de linhas inválido" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... [FILE]\n" #~ " or: %s -e [OPTION]... [ARG]...\n" #~ " or: %s -i LO-HI [OPTION]...\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... [ENTRADA]... (sem a opção -G)\n" #~ " ou: %s [OPÇÃO]... [ENTRADA [SAÍDA]]\n" #, fuzzy #~ msgid "multiple -i options specified" #~ msgstr "\\%c: caractere de escape inválido" #, fuzzy #~ msgid "invalid input range %s" #~ msgstr "número inválido %s" # , c-format #, fuzzy #~ msgid "invalid line count %s" #~ msgstr "número de campo inválido: `%s'" #, fuzzy #~ msgid "multiple output files specified" #~ msgstr "\\%c: caractere de escape inválido" #, fuzzy #~ msgid "extra operand %s\n" #~ msgstr "operando extra `%s' não é permitido com -c" #, fuzzy #~ msgid "" #~ "Usage: %s NUMBER[SUFFIX]...\n" #~ " or: %s OPTION\n" #~ "Pause for NUMBER seconds. SUFFIX may be `s' for seconds (the default),\n" #~ "`m' for minutes, `h' for hours or `d' for days. Unlike most " #~ "implementations\n" #~ "that require NUMBER be an integer, here NUMBER may be an arbitrary " #~ "floating\n" #~ "point number. Given two or more arguments, pause for the amount of time\n" #~ "specified by the sum of their values.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s NÚMERO[SUFIXO]...\n" #~ " ou: %s OPÇÃO\n" #~ "Parar por NÚMERO segundos.\n" #~ "SUFIXO pode ser 's' para indicar segundos, 'm' para minutos, 'h' para " #~ "horas \n" #~ "ou 'd' para dias. Ao contrário de outras implementações que requerem que\n" #~ "NÚMERO seja um inteiro, aqui NÚMERO pode ser qualquer número de ponto\n" #~ "flutuante.\n" #~ "\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a informação de versão e sair\n" # , c-format #, fuzzy #~ msgid "invalid time interval %s" #~ msgstr "número de campo inválido: `%s'" #~ msgid "cannot read realtime clock" #~ msgstr "impossível ler relógio de tempo real" #, fuzzy #~ msgid "" #~ " -b, --ignore-leading-blanks ignore leading blanks\n" #~ " -d, --dictionary-order consider only blanks and alphanumeric " #~ "characters\n" #~ " -f, --ignore-case fold lower case to upper case characters\n" #~ msgstr "" #~ "Escreve uma concatenação classificada do(s) ARQUIVO(s) na saída padrão.\n" #~ "\n" #~ "Opções de classificação:\n" #~ "\n" #~ " -b, --ignore-leading-blanks ignora espaços precedentes\n" #~ " -d, --dictionary-order considera apenas espaços e " #~ "caracteres alfanuméricos\n" #~ " -f, --ignore-case ignora caixa\n" #~ " -g, --general-numeric-sort compara de acordo com um valor numérico " #~ "geral\n" #~ " -i, --ignore-nonprinting considera apenas caracteres imprimíveis\n" #~ " -M, --month-sort compara (desconhecido) < `JAN' < ... < " #~ "`DEZ'\n" #~ " -n, --numeric-sort compara de acordo com o valor númerico da " #~ "string\n" #~ " -r, --reverse reverte o resultado das comparações\n" #~ "\n" #, fuzzy #~ msgid "" #~ " -g, --general-numeric-sort compare according to general numerical " #~ "value\n" #~ " -i, --ignore-nonprinting consider only printable characters\n" #~ " -M, --month-sort compare (unknown) < `JAN' < ... < `DEC'\n" #~ " -n, --numeric-sort compare according to string numerical " #~ "value\n" #~ " -R, --random-sort sort by random hash of keys\n" #~ " --random-source=FILE get random bytes from FILE (default /dev/" #~ "urandom)\n" #~ " --sort=WORD sort according to WORD:\n" #~ " general-numeric -g, month -M, numeric -" #~ "n,\n" #~ " random -R\n" #~ " -r, --reverse reverse the result of comparisons\n" #~ "\n" #~ msgstr "" #~ "Escreve uma concatenação classificada do(s) ARQUIVO(s) na saída padrão.\n" #~ "\n" #~ "Opções de classificação:\n" #~ "\n" #~ " -b, --ignore-leading-blanks ignora espaços precedentes\n" #~ " -d, --dictionary-order considera apenas espaços e " #~ "caracteres alfanuméricos\n" #~ " -f, --ignore-case ignora caixa\n" #~ " -g, --general-numeric-sort compara de acordo com um valor numérico " #~ "geral\n" #~ " -i, --ignore-nonprinting considera apenas caracteres imprimíveis\n" #~ " -M, --month-sort compara (desconhecido) < `JAN' < ... < " #~ "`DEZ'\n" #~ " -n, --numeric-sort compara de acordo com o valor númerico da " #~ "string\n" #~ " -r, --reverse reverte o resultado das comparações\n" #~ "\n" #, fuzzy #~ msgid "" #~ "\n" #~ "POS is F[.C][OPTS], where F is the field number and C the character " #~ "position\n" #~ "in the field; both are origin 1. If neither -t nor -b is in effect, " #~ "characters\n" #~ "in a field are counted from the beginning of the preceding whitespace. " #~ "OPTS is\n" #~ "one or more single-letter ordering options, which override global " #~ "ordering\n" #~ "options for that key. If no key is given, use the entire line as the " #~ "key.\n" #~ "\n" #~ "SIZE may be followed by the following multiplicative suffixes:\n" #~ msgstr "" #~ "POS é da forma F[.C][OPÇÕES], onde F é o número do campo e C a posição " #~ "do\n" #~ "caractere no campo, ambos contados desde um com -k, e desde zero da " #~ "forma\n" #~ "obsoleta. OPÇÕES se compõem de uma ou mais opções (de uma letra) de\n" #~ "ordenação, as quais substituem as opções globais de classificação para\n" #~ "aquela chave. Se nenhuma chave for fornecida, usa a linha inteira como\n" #~ "chave.\n" #~ "\n" #~ "TAMANHO pode ser seguido pelos seguintes prefixos multiplicadores:\n" #~ "%% 1%% de memória, b 1, k 1024 (padrão), e assim por diante com\n" #~ "M, G, T, P, E, Z e Y.\n" #~ "\n" #~ "Sem ARQUIVO, ou quando ARQUIVO for -, lê da entrada padrão.\n" #~ "\n" #~ "*** ATENÇÃO ***\n" #~ "A localização especificada no ambiente afeta a ordem de classificação.\n" #~ "Defina LC_ALL=C para obter a classificação tradicional que usa valores\n" #~ "nativos de bytes.\n" # , c-format #, fuzzy #~ msgid "waiting for %s [-d]" #~ msgstr "escrevendo em %s" # , c-format #~ msgid "cannot create temporary file" #~ msgstr "impossível criar arquivo temporário" #~ msgid "open failed" #~ msgstr "erro abrindo arquivo" #, fuzzy #~ msgid "fflush failed" #~ msgstr "erro fechando arquivo" #~ msgid "close failed" #~ msgstr "erro fechando arquivo" #, fuzzy #~ msgid "dup2 failed" #~ msgstr "erro abrindo arquivo" # , c-format #, fuzzy #~ msgid "couldn't create temporary file" #~ msgstr "impossível criar arquivo temporário" # , c-format #, fuzzy #~ msgid "couldn't open temporary file" #~ msgstr "impossível criar arquivo temporário" #~ msgid "write failed" #~ msgstr "erro de escrita" # , c-format #, fuzzy #~ msgid "warning: cannot remove: %s" #~ msgstr "imposível remover %s" #~ msgid "stat failed" #~ msgstr "falha no stat" #~ msgid "read failed" #~ msgstr "falha na leitura" # , c-format #~ msgid "%s: %s:%s: disorder: " #~ msgstr "%s: %s:%s: desordenado: " # , c-format #~ msgid "standard error" #~ msgstr "erro padrão" # , c-format #, fuzzy #~ msgid "%s: invalid field specification %s" #~ msgstr "%s: especificação de campo inválida `%s'" # , c-format #, fuzzy #~ msgid "%s: invalid count at start of %s" #~ msgstr "%s: contagem inválida no início de `%s'" #~ msgid "invalid number after `-'" #~ msgstr "número inválido após `-'" #~ msgid "invalid number after `.'" #~ msgstr "número inválido após `.'" #~ msgid "stray character in field spec" #~ msgstr "caracter perdido no campo spec" #, fuzzy #~ msgid "multiple compress programs specified" #~ msgstr "\\%c: caractere de escape inválido" #~ msgid "invalid number at field start" #~ msgstr "número inválido no início do campo" # , c-format #~ msgid "field number is zero" #~ msgstr "o número do campo é zero" #~ msgid "character offset is zero" #~ msgstr "o offset de caracteres é zero" #~ msgid "invalid number after `,'" #~ msgstr "número inválido após `.'" #, fuzzy #~ msgid "extra operand %s not allowed with -%c" #~ msgstr "operando extra `%s' não é permitido com -c" # , c-format #~ msgid "Usage: %s [OPTION] [INPUT [PREFIX]]\n" #~ msgstr "Uso: %s [OPÇÃO] [ARQUIVO [PREFIXO]]\n" #, fuzzy #~ msgid "" #~ " -a, --suffix-length=N use suffixes of length N (default %d)\n" #~ " -b, --bytes=SIZE put SIZE bytes per output file\n" #~ " -C, --line-bytes=SIZE put at most SIZE bytes of lines per output " #~ "file\n" #~ " -d, --numeric-suffixes use numeric suffixes instead of alphabetic\n" #~ " -l, --lines=NUMBER put NUMBER lines per output file\n" #~ msgstr "" #~ "Divide ARQUIVO em arquivos menores de tamanho fixo e os nomeia PREFIXOaa, " #~ "PREFIXOab...\n" #~ ". O PREFIXO default é x.Sem informar ARQUIVO, ou se ARQUIVO é `-', lê da " #~ "entrada padrão\n" #~ "\n" #~ " -b, --bytes=BYTES escreve BYTES bytes em cada arquivo de saída\n" #~ " -C, --line-bytes=BYTES escreve um máximo de BYTES bytes sem quebrar " #~ "linhas\n" #~ " -l, --lines=NÚMERO escreve NÚMERO linhas em cada arquivo de saída\n" #~ " -NÚMERO o mesmo que -l NÚMERO\n" #~ " --verbose mostra um diagnóstico na saída de erro padrão\n" #~ " antes de abrir cada arquivo\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #~ "\n" #~ "BYTES pode ter um fator indicado com o sufixo: b para 512, k para 1k,\n" #~ "m para 1 mega.\n" # , c-format #, fuzzy #~ msgid "creating file %s\n" #~ msgstr "criando arquivo `%s'\n" #~ msgid "cannot split in more than one way" #~ msgstr "não é possível sub-dividir em mais de uma forma" # , c-format #, fuzzy #~ msgid "%s: invalid suffix length" #~ msgstr "%s: número de linhas inválido" # , c-format #~ msgid "%s: invalid number of bytes" #~ msgstr "%s: número de bytes inválido" # , c-format #~ msgid "%s: invalid number of lines" #~ msgstr "%s: número de linhas inválido" #, fuzzy #~ msgid "line count option -%s%c... is too large" #~ msgstr "%s: countagem `%.*s' muito grande" #, fuzzy #~ msgid "invalid number of lines: 0" #~ msgstr "número de linhas inválido" # , c-format #, fuzzy #~ msgid "warning: unrecognized escape `\\%c'" #~ msgstr "%s: opção desconhecida `%c%s'\n" # , c-format #, fuzzy #~ msgid "%s: invalid directive" #~ msgstr "%s: padrão inválido" #, fuzzy #~ msgid "warning: backslash at end of format" #~ msgstr "sequência de escape inválida no final da string" # , c-format #, fuzzy #~ msgid "cannot read file system information for %s" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION] FILE...\n" #~ msgstr "Uso: %s [OPÇÃO] [ARQUIVO]...\n" #~ msgid "" #~ "Usage: %s [-F DEVICE] [--file=DEVICE] [SETTING]...\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-a|--all]\n" #~ " or: %s [-F DEVICE] [--file=DEVICE] [-g|--save]\n" #~ msgstr "" #~ "Uso : %s [-F dispositivo] [--file=dispositivo] [CONFIGURAÇÃO]...\n" #~ " ou: %s [-F dispositivo] [--file=dispositivo] [-a|--all]\n" #~ " ou: %s [-F dispositivo] [--file=dispositivo] [-g|--save]\n" #, fuzzy #~ msgid "" #~ "Print or change terminal characteristics.\n" #~ "\n" #~ " -a, --all print all current settings in human-readable form\n" #~ " -g, --save print all current settings in a stty-readable form\n" #~ " -F, --file=DEVICE open and use the specified DEVICE instead of stdin\n" #~ msgstr "" #~ "Mostrar ou alterar as características do terminal.\n" #~ "\n" #~ " -a, --all mostrar todas as características num formato legível " #~ "por\n" #~ " humanos\n" #~ " -g, --save mostrar todas as características num formato legível \n" #~ " pelo stty\n" #~ " -F, --file=DISP abre e usa o dispositivo especificado ao invés da " #~ "entrada padrão\n" #~ " --help mostrar esta ajuda e sai\n" #~ " --version mostrar a informação de versão e sai\n" #~ "\n" #~ "Um '-' opcional antes de PARÂMETRO indica negação. Um '*' marca " #~ "parâmetros \n" #~ "não-POSIX. O sistema onde o stty é executado determina quais as " #~ "características \n" #~ "que estão disponíveis.\n" #, fuzzy #~ msgid "" #~ " [-]cstopb use two stop bits per character (one with `-')\n" #~ " [-]hup send a hangup signal when the last process closes the " #~ "tty\n" #~ " [-]hupcl same as [-]hup\n" #~ " [-]parenb generate parity bit in output and expect parity bit in " #~ "input\n" #~ " [-]parodd set odd parity (even with `-')\n" #~ msgstr "" #~ "\n" #~ "Parâmetros de controle:\n" #~ " [-]clocal desativar os sinais de controle do modem\n" #~ " [-]cread permitir a entrada de dados ser recebida\n" #~ "* [-]crtscts permitir negociação RTS/CTS\n" #~ " csN colocar em N bits o tamanho dos caracteres, N em [5..8]\n" #~ " [-]cstopb usar dois stop bits por caractere (um com `-')\n" #~ " [-]hup enviar um sinal de 'desligar' quando o último processo\n" #~ " fechar o tty\n" #~ " [-]hupcl o mesmo que [-]hup\n" #~ " [-]parenb gerar um bit de paridade na saída e esperar um bit de\n" #~ " paridade na entrada\n" #~ " [-]parodd colocar a paridade ímpar (mesmo com `-')\n" #, fuzzy #~ msgid "" #~ " * [-]ocrnl translate carriage return to newline\n" #~ " * [-]ofdel use delete characters for fill instead of null " #~ "characters\n" #~ " * [-]ofill use fill (padding) characters instead of timing for " #~ "delays\n" #~ " * [-]olcuc translate lowercase characters to uppercase\n" #~ " * [-]onlcr translate newline to carriage return-newline\n" #~ " * [-]onlret newline performs a carriage return\n" #~ msgstr "" #~ "\n" #~ "Parâmetros de saída:\n" #~ "* bsN estilo do temporizador do backspace, N em [0..1]\n" #~ "* crN estilo do temporizador do carriage return, N em [0..3]\n" #~ "* ffN estilo do temporizador do form feed, N em [0..1]\n" #~ "* nlN estilo do temporizador do newline, N em [0..1]\n" #~ "* [-]ocrnl traduzir carriage return para newline\n" #~ "* [-]ofdel usar caracteres de delete para preencher em vez de " #~ "null \n" #~ "* [-]ofill usar caractere fill (padding) em vez de esperar por " #~ "temporizador\n" #~ "* [-]olcuc traduzir minúsculas para maiúsculas\n" #~ "* [-]onlcr traduzir newline para carriage return-newline\n" #~ "* [-]onlret newline faz um carriage return\n" #~ "* [-]onocr não imprimir carriage return na primeira coluna\n" #~ " [-]opost pós-processar a saída\n" #~ "* tabN estilo do temporizador do tab horizontal, N em [0..3]\n" #~ "* tabs o mesmo que tab0\n" #~ "* -tabs o mesmo que tab3\n" #~ "* vtN estilo do temporizador do tab vertical, N em [0..1]\n" #~ msgid "" #~ "\n" #~ "Handle the tty line connected to standard input. Without arguments,\n" #~ "prints baud rate, line discipline, and deviations from stty sane. In\n" #~ "settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or\n" #~ "127; special values ^- or undef used to disable special characters.\n" #~ msgstr "" #~ "\n" #~ "Trata o tty ligado a entrada default (stdin). Sem argumentos,\n" #~ "imprime o taxa em baud, a disciplina da linha e diferenças em relação a " #~ "stty\n" #~ "sane. Nos parâmetros, CHAR é aceito literalmente ou codificado como em " #~ "^C,\n" #~ "0x37, 0177 ou 127; valores especiais ^- ou undef são utilizados para \n" #~ "desabilitar caracteres especiais.\n" #, fuzzy #~ msgid "only one device may be specified" #~ msgstr "somente um argumento pode ser especificado" #, fuzzy #~ msgid "" #~ "the options for verbose and stty-readable output styles are\n" #~ "mutually exclusive" #~ msgstr "as opções --string e --check são mutuamente excludentes" #~ msgid "when specifying an output style, modes may not be set" #~ msgstr "ao especificar um estilo de saída, não se pode alterar um 'modo'" #~ msgid "%s: couldn't reset non-blocking mode" #~ msgstr "%s: não é possível reinicializar modo não-blocante" # , c-format #, fuzzy #~ msgid "invalid argument %s" #~ msgstr "argumento inválido %s para '%s'" #, fuzzy #~ msgid "missing argument to %s" #~ msgstr "Argumentos ambíguos %s para `%s'" # , c-format #, fuzzy #~ msgid "invalid line discipline %s" #~ msgstr "número de campo inválido: `%s'" #~ msgid "%s: unable to perform all requested operations" #~ msgstr "%s: não é possível realizar todas as opções pedidas" #~ msgid "new_mode: mode\n" #~ msgstr "novo_modo: modo\n" #~ msgid "%s: no size information for this device" #~ msgstr "%s: Sem informação de tamanho para este dispositivo" # , c-format #, fuzzy #~ msgid "invalid integer argument %s" #~ msgstr "incremento de linha não válido: `%s'" #~ msgid "Password:" #~ msgstr "Password:" #~ msgid "getpass: cannot open /dev/tty" #~ msgstr "getpass: não consigo abrir /dev/tty" #, fuzzy #~ msgid "cannot set groups" #~ msgstr "não pode ignorar usuário e grupo" #, fuzzy #~ msgid "cannot set group id" #~ msgstr "não pode ignorar usuário e grupo" #, fuzzy #~ msgid "cannot set user id" #~ msgstr "não pode ignorar usuário e grupo" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... [-] [USER [ARG]...]\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" #~ msgid "" #~ "Change the effective user id and group id to that of USER.\n" #~ "\n" #~ " -, -l, --login make the shell a login shell\n" #~ " -c, --command=COMMAND pass a single COMMAND to the shell with -" #~ "c\n" #~ " -f, --fast pass -f to the shell (for csh or tcsh)\n" #~ " -m, --preserve-environment do not reset environment variables\n" #~ " -p same as -m\n" #~ " -s, --shell=SHELL run SHELL if /etc/shells allows it\n" #~ msgstr "" #~ "Altera as identificações efetivas de usuário e de grupo daquele USUÁRIO.\n" #~ "\n" #~ " -, -l, --login tornar a shell numa shell de login\n" #~ " -c, --command=COMANDO envia um único COMANDO à \"shell\", usando " #~ "-c\n" #~ " -f, --fast envia um -f à shell (para csh ou tcsh)\n" #~ " -m, --preserve-environment não altera os valores das variáveis de " #~ "ambiente\n" #~ " -p o mesmo que -m\n" #~ " -s, --shell=SHELL executar SHELL se /etc/shells o permitir\n" #~ msgid "user %s does not exist" #~ msgstr "usuário %s não existe" #~ msgid "incorrect password" #~ msgstr "senha incorreta" #~ msgid "using restricted shell %s" #~ msgstr "usando a shell restrita %s" # , c-format #, fuzzy #~ msgid "warning: cannot change directory to %s" #~ msgstr "não é possível criar o diretório %s" #, fuzzy #~ msgid "" #~ "Print checksum and block counts for each FILE.\n" #~ "\n" #~ " -r defeat -s, use BSD sum algorithm, use 1K blocks\n" #~ " -s, --sysv use System V sum algorithm, use 512 bytes blocks\n" #~ msgstr "" #~ "Mostra a soma de verificação (checksum) e o número de blocos para cada " #~ "ARQUIVO.\n" #~ "\n" #~ " -r usar o algoritmo de BSD, com blocos de 1K\n" #~ " -s, --sysv usar o algoritmo de System V, com blocos de 512 bytes\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version informar a versão e sair\n" #~ "\n" #~ "Sem informar ARQUIVO, ou se ARQUIVO é `-', lê da entrada padrão\n" #, fuzzy #~ msgid "ignoring all arguments" #~ msgstr "muitos argumentos" #, fuzzy #~ msgid " --help display this help and exit\n" #~ msgstr "" #~ "Mostra o CRC e o número de bytes de cada ARQUIVO.\n" #~ "\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #, fuzzy #~ msgid " --version output version information and exit\n" #~ msgstr "" #~ "Mostra o CRC e o número de bytes de cada ARQUIVO.\n" #~ "\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #~ msgid "" #~ "\n" #~ "Report bugs to <%s>.\n" #~ msgstr "" #~ "\n" #~ "Comunicar `bugs' para <%s>.\n" #, fuzzy #~ msgid "" #~ " -b, --before attach the separator before instead of after\n" #~ " -r, --regex interpret the separator as a regular " #~ "expression\n" #~ " -s, --separator=STRING use STRING as the separator instead of " #~ "newline\n" #~ msgstr "" #~ "Escreve cada ARQUIVO na saída padrão começando pela última linha\n" #~ "Sem informar ARQUIVO, ou se ARQUIVO é `-', lê da entrada padrão\n" #~ "\n" #~ " -b, --before colocar o separador antes de cada linha, em vez " #~ "de\n" #~ " colocar depois\n" #~ " -r, --regex interpretar o separador como uma expressão " #~ "regular\n" #~ " -s, --separator=STRING usar STRING como separador, em vez de um salto " #~ "de\n" #~ " linha\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a versão e sair\n" #~ "\n" #, fuzzy #~ msgid "%s: seek failed" #~ msgstr "erro fechando arquivo" #, fuzzy #~ msgid "record too large" #~ msgstr "%s: arquivo muito grande" # , c-format #, fuzzy #~ msgid "cannot create temporary file %s" #~ msgstr "impossível criar arquivo temporário" #, fuzzy #~ msgid "cannot open %s for writing" #~ msgstr "não foi possível abrir %s para leitura" #, fuzzy #~ msgid "%s: write error" #~ msgstr "erro de escrita" #~ msgid "separator cannot be empty" #~ msgstr "o separador não pode ser nulo" #, fuzzy #~ msgid "" #~ "Print the last %d lines of each FILE to standard output.\n" #~ "With more than one FILE, precede each with a header giving the file " #~ "name.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Mostra as últimas 10 linhas de cada ARQUIVO na saída padrão.\n" #~ "Se especificados vários ARQUIVO(s), mostra o nome de cada um.\n" #~ "Se ARQUIVO não for especificado ou for `-', lê da entrada padrão.\n" #~ "\n" #~ msgid "closing %s (fd=%d)" #~ msgstr "fechando %s (fd=%d)" # , c-format #, fuzzy #~ msgid "%s: cannot seek to relative offset %s" #~ msgstr "não é possível criar o diretório %s" #, fuzzy #~ msgid "%s has become inaccessible" #~ msgstr "`%s' tornou-se inacessível" #, fuzzy #~ msgid "%s has been replaced with an untailable file; giving up on this name" #~ msgstr "" #~ "`%s' foi substituido por um arquivo que não pode ser concatenado; " #~ "desistindo desse nome." #, fuzzy #~ msgid "%s has become accessible" #~ msgstr "%s tornou-se acessível" # , c-format #, fuzzy #~ msgid "%s has appeared; following end of new file" #~ msgstr "%s: apareceu; localizando o fim de um novo arquivo" #, fuzzy #~ msgid "%s has been replaced; following end of new file" #~ msgstr "`%s' foi substituido; localizando o fim de um arquivo" #, fuzzy #~ msgid "%s: cannot change nonblocking mode" #~ msgstr "%s: não é possível reinicializar modo não-blocante" #~ msgid "%s: file truncated" #~ msgstr "%s: arquivo truncado" #~ msgid "no files remaining" #~ msgstr "nenhum aquivo restante" #~ msgid "%s: cannot follow end of this type of file; giving up on this name" #~ msgstr "" #~ "%s: impossivel seguir ate o final desta arquivo; desistindo deste nome" #, fuzzy #~ msgid "number in %s is too large" #~ msgstr "%s é muito grande" # , c-format #~ msgid "%s: invalid maximum number of unchanged stats between opens" #~ msgstr "%s: número máximo de bytes inválido" # , c-format #~ msgid "%s: invalid PID" #~ msgstr "%s: PID inválido" # , c-format #~ msgid "%s: invalid number of seconds" #~ msgstr "%s: número de segundos inválido" #, fuzzy #~ msgid "warning: --retry is useful mainly when following by name" #~ msgstr "atenção: --retry é util somente quando for localizado pelo nome" #~ msgid "warning: PID ignored; --pid=PID is useful only when following" #~ msgstr "atenção: PID ignorado; --pid=PID é útil somente quando localizado" #~ msgid "warning: --pid=PID is not supported on this system" #~ msgstr "atenção: --pid=PID não é suportado neste sistema" # , c-format #, fuzzy #~ msgid "cannot follow %s by name" #~ msgstr "impossível obter nome do sistema" #~ msgid "" #~ "Copy standard input to each FILE, and also to standard output.\n" #~ "\n" #~ " -a, --append append to the given FILEs, do not overwrite\n" #~ " -i, --ignore-interrupts ignore interrupt signals\n" #~ msgstr "" #~ "Copia a entrada padrão para cada ARQUIVO, e também para a saída padrão.\n" #~ "\n" #~ " -a, --append acrescenta ao(s) ARQUIVO(s) passado(s) em vez " #~ "de\n" #~ " sobrescrever\n" #~ " -i, --ignore-interrupts ignora os sinais de interrupção\n" #, fuzzy #~ msgid "" #~ "\n" #~ "If a FILE is -, copy again to standard output.\n" #~ msgstr "" #~ "\n" #~ "Sem ARQUIVO, ou quando ARQUIVO é -, lê a entrada padrão.\n" #, fuzzy #~ msgid "missing argument after %s" #~ msgstr "Argumentos ambíguos %s para `%s'" #, fuzzy #~ msgid "invalid integer %s" #~ msgstr "número inválido %s" #, fuzzy #~ msgid "')' expected" #~ msgstr "')' esperado\n" #, fuzzy #~ msgid "')' expected, found %s" #~ msgstr "')' esperado, encontrei %s\n" #, fuzzy #~ msgid "%s: unary operator expected" #~ msgstr "%s: operador unário esperado\n" #, fuzzy #~ msgid "-nt does not accept -l" #~ msgstr "-nt não aceita -l\n" #, fuzzy #~ msgid "-ef does not accept -l" #~ msgstr "-ef não aceita -l\n" #, fuzzy #~ msgid "-ot does not accept -l" #~ msgstr "-ot não aceita -l\n" #~ msgid "unknown binary operator" #~ msgstr "operador binário desconhecido" #, fuzzy #~ msgid "%s: binary operator expected" #~ msgstr "%s: operador binário esperado\n" # , c-format #, fuzzy #~ msgid "" #~ "Usage: test EXPRESSION\n" #~ " or: test\n" #~ " or: [ EXPRESSION ]\n" #~ " or: [ ]\n" #~ " or: [ OPTION\n" #~ msgstr "" #~ "Uso: %s [ARQUIVO]...\n" #~ " ou: %s [OPÇÃO]\n" #, fuzzy #~ msgid "" #~ "\n" #~ " INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2\n" #~ " INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2\n" #~ " INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2\n" #~ " INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2\n" #~ " INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2\n" #~ " INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2\n" #~ msgstr "" #~ "\n" #~ " ( EXPRESSÃO ) EXPRESSÃO é verdadeira\n" #~ " ! EXPRESSÃO EXPRESSÃO é falsa\n" #~ " EXPRESSÃO1 -a EXPRESSÃO2 Se EXPRESSÃO1 e EXPRESSÃO2 forem " #~ "verdadeiras\n" #~ " EXPRESSÃO1 -o EXPRESSÃO2 Se EXPRESSÃO1 ou EXPRESSÃO2 " #~ "forem verdadeiras\n" #~ "\n" #~ " [-n] STRING o comprimento de STRING é diferente de " #~ "zero\n" #~ " -z STRING o comprimento de STRING é zero\n" #~ " STRING1 = STRING2 as STRING's são iguais\n" #~ " STRING1 != STRING2 as STRING's são diferentes\n" #~ "\n" #~ " INTEIRO1 -eq INTEIRO2 INTEIRO1 é igual a INTEIRO2\n" #~ " INTEIRO1 -ge INTEIRO2 INTEIRO1 é maior ou igual a INTEIRO2\n" #~ " INTEIRO1 -gt INTEIRO2 INTEIRO1 é maior que INTEIRO2\n" #~ " INTEIRO1 -le INTEIRO2 INTEIRO1 é menor ou igual a INTEIRO2\n" #~ " INTEIRO1 -lt INTEIRO2 INTEIRO1 é menor que INTEIRO2\n" #~ " INTEIRO1 -ne INTEIRO2 INTEIRO1 é diferente de INTEIRO2\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Except for -h and -L, all FILE-related tests dereference symbolic links.\n" #~ "Beware that parentheses need to be escaped (e.g., by backslashes) for " #~ "shells.\n" #~ "INTEGER may also be -l STRING, which evaluates to the length of STRING.\n" #~ msgstr "" #~ "\n" #~ "Lembre-se que os parênteses têm que ser \"escapados\" (por exemplo, " #~ "usando \n" #~ "contra-barras) antes, para ser passado para shells.\n" #~ "INTEIRO pode também ser -l STRING, que retorna o comprimento de STRING.\n" #, fuzzy #~ msgid "missing `]'" #~ msgstr "falta `]'\n" #, fuzzy #~ msgid "extra argument %s" #~ msgstr "muitos argumentos" # , c-format #~ msgid "creating %s" #~ msgstr "criando %s" # , c-format #, fuzzy #~ msgid "cannot touch %s" #~ msgstr "não pode executar a função 'ioctl' sobre `%s'" #~ msgid "setting times of %s" #~ msgstr "configurando data de %s" #~ msgid "cannot specify times from more than one source" #~ msgstr "impossível especificar horas de mais de uma fonte" # , c-format #, fuzzy #~ msgid "" #~ "warning: `touch %s' is obsolete; use `touch -t %04ld%02d%02d%02d%02d.%02d'" #~ msgstr "atenção: largura %lu inválida; será usado %d em seu lugar" # , c-format #~ msgid "Usage: %s [OPTION]... SET1 [SET2]\n" #~ msgstr "Uso: %s [OPÇÃO]... CONJUNTO1 [CONJUNTO2]\n" #, fuzzy #~ msgid "" #~ "Translate, squeeze, and/or delete characters from standard input,\n" #~ "writing to standard output.\n" #~ "\n" #~ " -c, -C, --complement first complement SET1\n" #~ " -d, --delete delete characters in SET1, do not translate\n" #~ " -s, --squeeze-repeats replace each input sequence of a repeated " #~ "character\n" #~ " that is listed in SET1 with a single " #~ "occurrence\n" #~ " of that character\n" #~ " -t, --truncate-set1 first truncate SET1 to length of SET2\n" #~ msgstr "" #~ "Traduz, comprime e/ou apaga caracteres da entrada padrão, escrevendo\n" #~ "o resultado na saída padrão.\n" #~ "\n" #~ " -c, --complement operar sobre o complemento (sobre cada " #~ "caractere\n" #~ " que no coincida) de CONJUNTO1\n" #~ " -d, --delete remover caracteres de CONJUNTO1, não " #~ "traduzindo\n" #~ " -s, --squeeze-repeats substituir sequências de caracteres iguais por " #~ "uma só\n" #~ " -t, --truncate-set1 truncar CONJUNTO1 na largura de CONJUNTO2\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a versão e sair\n" #, fuzzy #~ msgid "" #~ "\n" #~ "Translation occurs if -d is not given and both SET1 and SET2 appear.\n" #~ "-t may be used only when translating. SET2 is extended to length of\n" #~ "SET1 by repeating its last character as necessary. " #~ msgstr "" #~ "\n" #~ "A tradução é feita se -d não é dado e ambos os CONJUNTOs são informados.\n" #~ "-t somente pode ser usado quando se estiver traduzindo.\n" #~ "CONJUNTO2 é estendido à largura de CONJUNTO1, repetindo seus últimos\n" #~ "caracteres tantas vezes como seja necessário. Os caracteres em excesso " #~ "de\n" #~ "CONJUNTO2 são ignorados. Somente se garante que [:lower:] e [:upper:]\n" #~ "sejam expandidos em ordem ascendente; se se usa em CONJUNTO2 ao " #~ "traduzir,\n" #~ "somente se podem usar em pares, para especificar conversão para " #~ "maiúsculas.\n" #~ "-s usa CONJUNTO1 se não se está traduzindo nem apagando; caso contrário, " #~ "a\n" #~ "compressão usa CONJUNTO2 depois da tradução ou remoção.\n" #, fuzzy #~ msgid "" #~ "-s uses SET1 if not\n" #~ "translating nor deleting; else squeezing uses SET2 and occurs after\n" #~ "translation or deletion.\n" #~ msgstr "" #~ "\n" #~ "A tradução é feita se -d não é dado e ambos os CONJUNTOs são informados.\n" #~ "-t somente pode ser usado quando se estiver traduzindo.\n" #~ "CONJUNTO2 é estendido à largura de CONJUNTO1, repetindo seus últimos\n" #~ "caracteres tantas vezes como seja necessário. Os caracteres em excesso " #~ "de\n" #~ "CONJUNTO2 são ignorados. Somente se garante que [:lower:] e [:upper:]\n" #~ "sejam expandidos em ordem ascendente; se se usa em CONJUNTO2 ao " #~ "traduzir,\n" #~ "somente se podem usar em pares, para especificar conversão para " #~ "maiúsculas.\n" #~ "-s usa CONJUNTO1 se não se está traduzindo nem apagando; caso contrário, " #~ "a\n" #~ "compressão usa CONJUNTO2 depois da tradução ou remoção.\n" #, fuzzy #~ msgid "" #~ "warning: the ambiguous octal escape \\%c%c%c is being\n" #~ "\tinterpreted as the 2-byte sequence \\0%c%c, %c" #~ msgstr "" #~ "atenção: a sequência de escape octal ambígua \\%c%c%c\n" #~ "está sendo interpretada como a sequência de 2 bytes \\0%c%c, `%c'" #, fuzzy #~ msgid "warning: an unescaped backslash at end of string is not portable" #~ msgstr "" #~ "%s: aviso: fazer uma ligação (hard) para uma ligação simbólica não é " #~ "portável" # , c-format #~ msgid "range-endpoints of `%s-%s' are in reverse collating sequence order" #~ msgstr "os extremos do intervalo em `%s-%s' estão em ordem inversa" # , c-format #, fuzzy #~ msgid "invalid repeat count %s in [c*n] construct" #~ msgstr "número de repetições `%s' inválido na especificação [c*n]" # , c-format #~ msgid "missing character class name `[::]'" #~ msgstr "nome de classe de caracteres faltando `[::]'" #~ msgid "missing equivalence class character `[==]'" #~ msgstr "caracter de classe de equivalência faltando `[==]'" # , c-format #, fuzzy #~ msgid "invalid character class %s" #~ msgstr "classe de caracteres inválida `%s'" # , c-format #~ msgid "%s: equivalence class operand must be a single character" #~ msgstr "%s: o operador de equivalência de classe deve ser só um caractere" #, fuzzy #~ msgid "too many characters in set" #~ msgstr "caracter perdido no campo spec" #~ msgid "the [c*] repeat construct may not appear in string1" #~ msgstr "o operador de repetição [c*] não pode aparecer em string1" #~ msgid "only one [c*] repeat construct may appear in string2" #~ msgstr "só um operador de repetição [c*] pode aparecer em string2" #~ msgid "[=c=] expressions may not appear in string2 when translating" #~ msgstr "as expressões [=c=] não podem aparecer em string2 ao traduzir" #~ msgid "when not truncating set1, string2 must be non-empty" #~ msgstr "se não se está truncando conjunto1, string2 deve ser não vazia" #~ msgid "" #~ "when translating with complemented character classes,\n" #~ "string2 must map all characters in the domain to one" #~ msgstr "" #~ "ao traduzir com classes de caracteres complementares (que não " #~ "coincidem),\n" #~ "string2 deve mapear todos os caracteres do domínio a um só" #~ msgid "" #~ "when translating, the only character classes that may appear in\n" #~ "string2 are `upper' and `lower'" #~ msgstr "" #~ "quando traduzindo, as únicas classes de caracteres que podem aparecer em\n" #~ "string2 são 'upper' e 'lower'" #~ msgid "the [c*] construct may appear in string2 only when translating" #~ msgstr "as expressões [c*] só podem aparecer em string2 quando traduzindo" #, fuzzy #~ msgid "Two strings must be given when translating." #~ msgstr "duas strings devem ser fornecidas quando traduzindo" #, fuzzy #~ msgid "" #~ "Only one string may be given when deleting without squeezing repeats." #~ msgstr "" #~ "somente uma string deve ser fornecida quando removendo sem\n" #~ "comprimir repetições" #~ msgid "misaligned [:upper:] and/or [:lower:] construct" #~ msgstr "as construções [:upper:] e/ou [:lower:] estão desalinhadas" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s NOME\n" #~ " ou: %s OPÇÃO\n" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] [FILE]\n" #~ "Write totally ordered list consistent with the partial ordering in FILE.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO] [ARQUIVO]\n" #~ "Escreve uma lista consistente totalmente ordenada com uma ordenação " #~ "parcial no arquivo\n" #~ "Sem informar ARQUIVO, ou se ARQUIVO é `-', lê da entrada padrão\n" #~ "\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #, fuzzy #~ msgid "%s: input contains an odd number of tokens" #~ msgstr "%s: entrada contem um loop:" #~ msgid "%s: input contains a loop:" #~ msgstr "%s: entrada contem um loop:" # , c-format #~ msgid "Usage: %s [OPTION]...\n" #~ msgstr "Uso: %s [OPÇÃO]...\n" #, fuzzy #~ msgid "" #~ "Print the file name of the terminal connected to standard input.\n" #~ "\n" #~ " -s, --silent, --quiet print nothing, only return an exit status\n" #~ msgstr "" #~ "Mostra o nome de arquivo do terminal conectado à entrada padrão (stdin).\n" #~ "\n" #~ " -s, --silent, --quiet não mostra nada, só retorna um status de " #~ "término\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a informação de versão e sair\n" #~ msgid "not a tty" #~ msgstr "não é um tty" #, fuzzy #~ msgid "" #~ "Print certain system information. With no OPTION, same as -s.\n" #~ "\n" #~ " -a, --all print all information, in the following " #~ "order,\n" #~ " except omit -p and -i if unknown:\n" #~ " -s, --kernel-name print the kernel name\n" #~ " -n, --nodename print the network node hostname\n" #~ " -r, --kernel-release print the kernel release\n" #~ msgstr "" #~ "Mostra alguma informação sobre o sistema. Sem passar OPÇÃO, tem o mesmo \n" #~ "significado que -s.\n" #~ "\n" #~ " -a, --all mostra todas as informações\n" #~ " -m, --machine mostra o tipo da máquina (hardware)\n" #~ " -n, --nodename mostra o nome do nó da máquina na rede\n" #~ " -r, --release mostra a versão do sistema operacional\n" #~ " -s, --sysname mostra o nome do sistema operacional\n" #~ " -v mostra a data em que o sistema operacional foi " #~ "criado\n" #~ " --help mostra esta ajuda e sai\n" #~ " --version mostra a informação de versão e sai\n" # , c-format #~ msgid "cannot get system name" #~ msgstr "impossível obter nome do sistema" #, fuzzy #~ msgid "" #~ "Convert blanks in each FILE to tabs, writing to standard output.\n" #~ "With no FILE, or when FILE is -, read standard input.\n" #~ "\n" #~ msgstr "" #~ "Converte os espaços de cada ARQUIVO em tabulações, escrevendo o\n" #~ "Sem informar ARQUIVO, ou se ARQUIVO é `-', lê da entrada padrão\n" #~ "\n" #~ " -a, --all converter todos os espaços em branco, não só os " #~ "iniciais\n" #~ " -t, --tabs=NÚMERO usar N espaços em cada tabulação, em vez de 8\n" #~ " -t, --tabs=LISTA usar a LISTA de posições separadas por vírgulas " #~ "para\n" #~ " definir as posições de tabulação\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a versão e sair\n" #~ "\n" #~ "Em vez de `-t NÚMERO' ou `-t LISTA' pode se usar -NÚMERO ou -LISTA.\n" #, fuzzy #~ msgid "tab stop value is too large" #~ msgstr "%s é muito grande" # , c-format #~ msgid "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n" #~ msgstr "Uso: %s [OPÇÃO]... [ENTRADA [SAÍDA]]\n" #, fuzzy #~ msgid "too many repeated lines" #~ msgstr "muitos argumentos" # , c-format #, fuzzy #~ msgid "invalid number of fields to skip" #~ msgstr "número inválido de campos para ignorar: `%s'" # , c-format #, fuzzy #~ msgid "invalid number of bytes to skip" #~ msgstr "número inválido de caracteres para ignorar: `%s'" #, fuzzy #~ msgid "invalid number of bytes to compare" #~ msgstr "número inválido de bytes para comparar: `%s'" #~ msgid "printing all duplicated lines and repeat counts is meaningless" #~ msgstr "" #~ "não faz sentido imprimir todas as linhas duplicadas e repetir contagens" # , c-format #~ msgid "" #~ "Usage: %s FILE\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s ARQUIVO\n" #~ " ou: %s OPÇÃO\n" # , c-format #, fuzzy #~ msgid "cannot unlink %s" #~ msgstr "não pode executar a função 'ioctl' sobre `%s'" #~ msgid "couldn't get boot time" #~ msgstr "não consegui obter a data de boot" #~ msgid " %2d:%02d%s up " #~ msgstr " %2d:%02d%s no ar " #~ msgid "am" #~ msgstr "am" #~ msgid "pm" #~ msgstr "pm" #, fuzzy #~ msgid "%ld day" #~ msgid_plural "%ld days" #~ msgstr[0] "dia" #~ msgstr[1] "dia" #, fuzzy #~ msgid "%lu user" #~ msgid_plural "%lu users" #~ msgstr[0] "usuário inválido" #~ msgstr[1] "usuário inválido" #~ msgid ", load average: %.2f" #~ msgstr ", média de carga: %.2f" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE ]\n" #~ msgstr "Uso: %s [OPÇÃO]... [ARQUIVO]...\n" #, fuzzy #~ msgid "" #~ "Print the current time, the length of time the system has been up,\n" #~ "the number of users on the system, and the average number of jobs\n" #~ "in the run queue over the last 1, 5 and 15 minutes.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Mostra a data corrente, o tempo que o sistema está ativo,\n" #~ "o número de usuários no sistema e a média do número de processos\n" #~ "na fila do sistema a 1, 5 e 15 minutos.\n" #~ "Se ARQUIVO não for especificado, use %s. %s como ARQUIVO é comum.\n" #~ "\n" #~ " --help mostrar esta ajuda\n" #~ " --version mostrar informação de versão e sai\n" #, fuzzy #~ msgid "" #~ "Output who is currently logged in according to FILE.\n" #~ "If FILE is not specified, use %s. %s as FILE is common.\n" #~ "\n" #~ msgstr "" #~ "Mostra quem está atualmente conectado de acordo com ARQUIVO.\n" #~ "Se FILE não for especificado, usa %s. %s como ARQUIVO é comum.\n" #~ "\n" #~ " --help mostrar esta ajuda\n" #~ " --version mostrar informação de versão e sair\n" #, fuzzy #~ msgid "" #~ "Print newline, word, and byte counts for each FILE, and a total line if\n" #~ "more than one FILE is specified. With no FILE, or when FILE is -,\n" #~ "read standard input.\n" #~ " -c, --bytes print the byte counts\n" #~ " -m, --chars print the character counts\n" #~ " -l, --lines print the newline counts\n" #~ msgstr "" #~ "Mostrar o número de linhas, palavras e bytes para cada ARQUIVO, e uma " #~ "linha\n" #~ "com o total se se especificar mais de um ARQUIVO.\n" #~ "Sem informar ARQUIVO, ou se ARQUIVO é `-', lê da entrada padrão\n" #~ " -c, --bytes mostrar o número de bytes\n" #~ " -m, --chars mostrar o número de caracteres\n" #~ " -l, --lines mostrar o número de linhas\n" #~ " -L, --max-line-length mostrar o comprimento da linha mais longa\n" #~ " -w, --words mostrar o número de palavras\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a versão e sair\n" #, fuzzy #~ msgid "" #~ " --files0-from=F read input from the files specified by\n" #~ " NUL-terminated names in file F\n" #~ " -L, --max-line-length print the length of the longest line\n" #~ " -w, --words print the word counts\n" #~ msgstr "" #~ "Mostra o CRC e o número de bytes de cada ARQUIVO.\n" #~ "\n" #~ " --help mostra esta ajuda e finaliza\n" #~ " --version informa a versão e finaliza\n" #~ msgid " old " #~ msgstr " antigo " #~ msgid "clock change" #~ msgstr "mudança de relógio" #, fuzzy #~ msgid "" #~ "\n" #~ "# users=%lu\n" #~ msgstr "" #~ "\n" #~ "# usuários=%u\n" #~ msgid "NAME" #~ msgstr "NOME" #~ msgid "LINE" #~ msgstr "LINHA" #~ msgid "TIME" #~ msgstr "TEMPO" #~ msgid "IDLE" #~ msgstr "PARADO" #~ msgid "PID" #~ msgstr "PID" #~ msgid "COMMENT" #~ msgstr "COMENTÁRIO" #~ msgid "EXIT" #~ msgstr "SAIR" # , c-format #, fuzzy #~ msgid "Usage: %s [OPTION]... [ FILE | ARG1 ARG2 ]\n" #~ msgstr "Uso: %s [OPÇÃO]... ARQUIVO1 ARQUIVO2\n" #, fuzzy #~ msgid "" #~ "Print the user name associated with the current effective user ID.\n" #~ "Same as id -un.\n" #~ "\n" #~ msgstr "" #~ "Mostra o nome do usuário associado à identificação efetiva de usuário " #~ "(uid).\n" #~ "O mesmo que id -un.\n" #~ "\n" #~ " --help mostrar esta ajuda e sair.\n" #~ " --version mostrar informação de versão e sair\n" #, fuzzy #~ msgid "%s: cannot find name for user ID %lu\n" #~ msgstr "não consigo encontrar o nome para o UID %u" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s [STRING]...\n" #~ " or: %s OPTION\n" #~ msgstr "" #~ "Uso: %s [ARQUIVO]...\n" #~ " ou: %s [OPÇÃO]\n" # , c-format #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...\n" #~ " or: %s [OPTION]\n" #~ msgstr "" #~ "Uso: %s [ARQUIVO]...\n" #~ " ou: %s [OPÇÃO]\n" #~ msgid "block size" #~ msgstr "tamanho do bloco" #~ msgid "cannot change owner and/or group of %s" #~ msgstr "não pode substituir dono e/ou grupo de %s" # , c-format #~ msgid "cannot chdir to directory %s" #~ msgstr "impossível mudar para diretório %s" #~ msgid "cannot get the login group of a numeric UID" #~ msgstr "nao foi possivel obter um grupo e login de um UID numerico " #~ msgid "" #~ "This is free software; see the source for copying conditions. There is " #~ "NO\n" #~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR " #~ "PURPOSE.\n" #~ msgstr "" #~ "este e um software livre. veja o fonte para as condicoes de copia.\n" #~ "NÃO ha garantia nem mesmo de COMERCIALIZAÇÃO ou de APLICABILIDADE PARA " #~ "UM\n" #~ "USO ESPACÍFICO.\n" #~ msgid "too few arguments" #~ msgstr "poucos argumentos" #~ msgid "closing standard output" #~ msgstr "fechando saída padrão" #~ msgid "cannot change to null group" #~ msgstr "impossível mudar para grupo nulo" #~ msgid "group number" #~ msgstr "número de grupo" #~ msgid "invalid group number %s" #~ msgstr "número de grupo inválido %s" #~ msgid "" #~ "\n" #~ "Each MODE is one or more of the letters ugoa, one of the symbols +-= and\n" #~ "one or more of the letters rwxXstugo.\n" #~ msgstr "" #~ "\n" #~ "Cada MODO é uma ou mais das letras ugoa, um dos símbolos +-= e uma ou " #~ "mais\n" #~ "das letras rwxXstugo.\n" # , c-format #~ msgid "Usage: %s [OPTION]... LEFT_FILE RIGHT_FILE\n" #~ msgstr "Uso: %s [OPÇÃO]... ARQUIVO1 ARQUIVO2\n" # , c-format #~ msgid "cannot overwrite directory %s" #~ msgstr "impossível sobrescrever diretório %s" #~ msgid "Torbjorn Granlund, David MacKenzie, and Jim Meyering" #~ msgstr "Torbjorn Granlund, David MacKenzie e Jim Meyering" #~ msgid "%s: specified target is not a directory" #~ msgstr "%s: destino especificado não é um diretório" #~ msgid "copying multiple files, but last argument %s is not a directory" #~ msgstr "" #~ "copiando vários arquivos, mas o último argumento %s não é um diretório" #~ msgid "" #~ "warning: --version-control (-V) is obsolete; support for it\n" #~ "will be removed in some future release. Use --backup=%s instead." #~ msgstr "" #~ "aviso: --version-control (-V) é obsoleto; o suporte será removido\n" #~ "numa versão futura. Use --backup=%s." #~ msgid "symbolic links are not supported on this system" #~ msgstr "links simbólicos não são suportados neste sistema" # , c-format #~ msgid "%s: `+' or `-' expected after delimeter" #~ msgstr "%s: se esperava um `+' ou um `-' depois do delimitador" #~ msgid "too many non-option arguments: %s%s" #~ msgstr "argumentos não-opção em demasia: %s%s" #~ msgid "" #~ "a format string may not be specified when using the --rfc-822 (-R) option" #~ msgstr "" #~ "string de formatação não pode ser especificada com a opção --rfc-822 (-R)" #~ msgid "undefined" #~ msgstr "indefinido" #~ msgid "cannot get time of day" #~ msgstr "impossível obter hora" #~ msgid "Paul Rubin, David MacKenzie, and Stuart Kemp" #~ msgstr "Paul Rubin, David MacKenzie e Stuart Kemp" #~ msgid "%s+%s records in\n" #~ msgstr "%s+%s registros de entrada\n" #~ msgid "%s+%s records out\n" #~ msgstr "%s+%s registros de saída\n" #~ msgid "truncated records" #~ msgstr "registros truncados" # , c-format #~ msgid "unrecognized option %s=%s" #~ msgstr "opção não reconhecida %s=%s" #~ msgid "" #~ "only one conv in {ascii,ebcdic,ibm}, {lcase,ucase}, {block,unblock}, " #~ "{unblock,sync}" #~ msgstr "" #~ "somente uma conversão em {ascii,ebcdic,ibm}, {lcase,ucase}, {block," #~ "unblock},\n" #~ "{unblock,sync}" #~ msgid "Torbjorn Granlund, David MacKenzie, Larry McVoy, and Paul Eggert" #~ msgstr "Torbjorn Granlund, David MacKenzie, Larry McVoy e Paul Eggert" #~ msgid "" #~ "no FILE arguments may be used with the option to output\n" #~ "dircolors' internal database" #~ msgstr "" #~ "não se podem usar argumentos de tipo ARQUIVO com a opção para mostrar a " #~ "base\n" #~ "de dados interna do \"dircolors\"" #~ msgid "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert, and Jim " #~ "Meyering" #~ msgstr "" #~ "Torbjorn Granlund, David MacKenzie, Larry McVoy, Paul Eggert e Jim " #~ "Meyering" # , c-format #~ msgid "cannot change to parent of directory %s" #~ msgstr "imposível mudar para pai do diretório %s" #~ msgid "" #~ "Echo the STRING(s) to standard output.\n" #~ "\n" #~ " -n do not output the trailing newline\n" #~ " -e enable interpretation of the backslash-escaped " #~ "characters\n" #~ " listed below\n" #~ " -E disable interpretation of those sequences in STRINGs\n" #~ msgstr "" #~ "Exibe a(s) STRING(s) na saída padrão.\n" #~ "\n" #~ " -n não termina com um fim-de-linha\n" #~ " -e ativa interpretação dos caracteres listados abaixo " #~ "quando\n" #~ " precedidos por contra-barra (\\)\n" #~ " -E desativa interpretação dessas sequências nas STRINGs\n" # , c-format #~ msgid "`-LIST' option is obsolete; use `-t LIST'" #~ msgstr "opção `-LIST' é obsoleta; use `-t LIST'" #~ msgid "" #~ "warning: unportable BRE: `%s': using `^' as the first character\n" #~ "of the basic regular expression is not portable; it is being ignored" #~ msgstr "" #~ "atenção: BRE não portável: `%s': usando `^' como primeiro caractere\n" #~ " da expressão regular básica (BRE) não é portável; está sendo ignorado" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating failure.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [ignora parâmetros da linha de comando]\n" #~ " ou: %s OPÇÃO\n" #~ "Sai com um código de estado indicando falha\n" #~ "\n" #~ "As opções a seguir não podem ser abreviadas.\n" #~ "\n" #~ " --help mostra esta ajuda e sai\n" #~ " --version mostra a informação de versão e sai\n" # , c-format #~ msgid "`%s' option is obsolete; use `%s'" #~ msgstr "opção `%s' é obsoleta; use `%s'" #~ msgid "" #~ " -c, --bytes=SIZE print first SIZE bytes\n" #~ " -n, --lines=NUMBER print first NUMBER lines instead of first 10\n" #~ msgstr "" #~ " -c, --bytes=TAMANHO exibe os primeiros TAMANHO bytes\n" #~ " -n, --lines=NÚMERO exibe este número de linhas em vez de 10\n" #~ msgid "" #~ "\n" #~ "SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.\n" #~ msgstr "" #~ "\n" #~ "TAMANHO pode ter um sufixo multiplicador: b = 512, k = 1024, m = 1 mega.\n" # , c-format #~ msgid "unrecognized option `-%c'" #~ msgstr "opção não reconhecida `-%c'" # , c-format #~ msgid "`-%s' option is obsolete; use `-%c %.*s%.*s%s'" #~ msgstr "opção `-%s' é obsoleta; use `-%c %.*s%.*s%s'" #, fuzzy #~ msgid "cannot print only user and only group" #~ msgstr "não pode ignorar usuário e grupo" #~ msgid "installing multiple files, but last argument, %s is not a directory" #~ msgstr "" #~ "instalando vários arquivos, mas o último parâmetro, %s não é um diretório" #, fuzzy #~ msgid "%s is a directory" #~ msgstr "%s existe, mas não é um diretório" # , c-format #, fuzzy #~ msgid "cannot obtain time stamps for %s" #~ msgstr "não é possível criar o diretório %s" #, fuzzy #~ msgid "strip failed" #~ msgstr "falha no stat" # , c-format #~ msgid "invalid field number for file 1: `%s'" #~ msgstr "número de campo inválido para o arquivo 1: `%s'" # , c-format #~ msgid "invalid field number for file 2: `%s'" #~ msgstr "número de campo inválido para o arquivo 2: `%s'" #~ msgid "too many non-option arguments" #~ msgstr "muitos argumentos" #~ msgid "too few non-option arguments" #~ msgstr "número de argumentos insuficiente" #~ msgid "%s: File exists" #~ msgstr "%s: Arquivo já existente" #~ msgid "create symbolic link %s to %s" #~ msgstr "criar link simbólico %s to %s" #~ msgid "create hard link %s to %s" #~ msgstr "criar link %s para %s" #, fuzzy #~ msgid "" #~ "Usage: %s [OPTION]... TARGET [LINK_NAME]\n" #~ " or: %s [OPTION]... TARGET... DIRECTORY\n" #~ " or: %s [OPTION]... --target-directory=DIRECTORY TARGET...\n" #~ msgstr "" #~ "Uso: %s [OPÇÃO]... ÚLTIMO\n" #~ " ou: %s [OPÇÃO]... PRIMEIRO ÚLTIMO\n" #~ " ou: %s [OPÇÃO]... PRIMEIRO INCREMENTO ÚLTIMO\n" #~ msgid "when making multiple links, last argument must be a directory" #~ msgstr "" #~ "quando há vários links a serem feitos, o último argumento deve ser um " #~ "diretório" #~ msgid "file" #~ msgstr "arquivo" #~ msgid "files" #~ msgstr "arquivos" #~ msgid "checksum" #~ msgstr "soma de comprovação (checksum)" #~ msgid "checksums" #~ msgstr "somas de comprovação (checksum)" #~ msgid "the --string and --check options are mutually exclusive" #~ msgstr "as opções --string e --check são mutuamente excludentes" #~ msgid "no files may be specified when using --string" #~ msgstr "não é possível especificar arquivo quando se usa --string" #~ msgid "only one argument may be specified when using --check" #~ msgstr "quando se utiliza --check só se pode especificar um argumento" # , c-format #, fuzzy #~ msgid "cannot set permissions of directory %s" #~ msgstr "não é possível mudar permissões de %s" # , c-format #, fuzzy #~ msgid "cannot set permissions of fifo %s" #~ msgstr "não é possível mudar permissões de %s" #, fuzzy #~ msgid "wrong number of arguments" #~ msgstr "poucos argumentos" #~ msgid "major and minor device numbers may not be specified for fifo files" #~ msgstr "" #~ "arquivos especiais de tipo \"fifo\" não podem ter os números \"major\" e " #~ "\"minor\"\n" #~ "do dispositivo" # , c-format #, fuzzy #~ msgid "cannot set permissions of %s" #~ msgstr "não é possível mudar permissões de %s" #~ msgid "when moving multiple files, last argument must be a directory" #~ msgstr "" #~ "ao mover múltiplos arquivos o último argumento deve ser um diretório" #, fuzzy #~ msgid "" #~ "Run COMMAND with an adjusted scheduling priority.\n" #~ "With no COMMAND, print the current scheduling priority. ADJUST is 10\n" #~ "by default. Range goes from -20 (highest priority) to 19 (lowest).\n" #~ "\n" #~ " -n, --adjustment=ADJUST increment priority by ADJUST first\n" #~ msgstr "" #~ "Execute o COMANDO com uma prioridade de despacho ajustada.\n" #~ "Sem qualquer COMANDO, mostra a prioridade de despacho corrente. AJUSTE é " #~ "10\n" #~ "por default. Valores vão desde -20 (prioridade mais alta) a 19 (mais " #~ "baixa).\n" #~ "\n" #~ " -AJUSTE incrementa prioridade AJUSTE primeiro\n" #~ " -n, --adjustment=AJUSTE igual a -AJUSTE\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar a informação de versão e sair\n" # , c-format #, fuzzy #~ msgid "invalid option `%s'" #~ msgstr "tipo de cadeia inválida `%s'" # , c-format #, fuzzy #~ msgid "invalid priority `%s'" #~ msgstr "número de campo inválido: `%s'" # , c-format #, fuzzy #~ msgid "cannot get priority" #~ msgstr "não é possível criar o diretório %s" # , c-format #, fuzzy #~ msgid "cannot set priority" #~ msgstr "não é possível criar o diretório %s" # msgstr "" #~ msgid "old-style offset" #~ msgstr "estilo antigo de deslocamento" #~ msgid "skip argument" #~ msgstr "argumento ignorado" #~ msgid "limit argument" #~ msgstr "argumento limite" #~ msgid "minimum string length" #~ msgstr "tamanho mínimo de cadeia" #~ msgid "width specification" #~ msgstr "especificação de largura" # , c-format #~ msgid "invalid second operand in compatibility mode `%s'" #~ msgstr "segundo operando inválido em modo de compatibilidade `%s'" #~ msgid "in compatibility mode, the last two arguments must be offsets" #~ msgstr "" #~ "em modo de compatibilidade os dois últimos argumentos devem ser " #~ "deslocamentos (offsets)" #, fuzzy #~ msgid "" #~ "Diagnose unportable constructs in NAME.\n" #~ "\n" #~ " -p, --portability check for all POSIX systems, not only this one\n" #~ msgstr "" #~ "Diagnostica construções não portáveis em NOME.\n" #~ "\n" #~ " -p, --portability verifica todos os sistemas POSIX, não só este\n" #~ " --help mostra esta ajuda e sai\n" #~ " --version mostra a informação de versão e sai\n" #, fuzzy #~ msgid "path `%s' contains nonportable character `%c'" #~ msgstr "o tamanho de tabulação contém um caractere não válido" #, fuzzy #~ msgid "`%s' is not a directory" #~ msgstr "%s existe, mas não é um diretório" #~ msgid "directory `%s' is not searchable" #~ msgstr "não é possível procurar no diretório `%s'" #, fuzzy #~ msgid "name `%s' has length %ld; exceeds limit of %ld" #~ msgstr "nome `%s' tem comprimento %d; excede limite de %d" #, fuzzy #~ msgid "path `%s' has length %d; exceeds limit of %ld" #~ msgstr "rota `%s' tem comprimento %d; excede limite de %d" # , c-format #~ msgid "`--pages' invalid range of page numbers: `%s'" #~ msgstr "`--pages' intervalo de número de páginas inválido: `%s'" # , c-format #~ msgid "`--pages' invalid starting page number: `%s'" #~ msgstr "`--pages' número de página inicial inválido: `%s'" # , c-format #~ msgid "`--pages' invalid ending page number: `%s'" #~ msgstr "`--pages' número de página final inválido: `%s'" #~ msgid "`--pages' starting page number is larger than ending page number" #~ msgstr "" #~ "`--pages' número de página inicial é maior que o número de página final" # , c-format #~ msgid "`--columns=COLUMN' invalid number of columns: `%s'" #~ msgstr "`--columns=COLUNAS' o número de colunas não é válido: `%s'" #~ msgid "%b %e %H:%M %Y" #~ msgstr "%b %e %H:%M %Y" #~ msgid "starting page number larger than total number of pages: `%d'" #~ msgstr "número de página inicial é maior que o número de páginas: `%d'" #~ msgid "Page %d" #~ msgstr "Página %d" #~ msgid "Usage: %s format [argument...]\n" #~ msgstr "Uso: %s formato [argumento...]\n" #, fuzzy #~ msgid "" #~ "This program is free software; you can redistribute it and/or modify\n" #~ "it under the terms of the GNU General Public License as published by\n" #~ "the Free Software Foundation; either version 2, or (at your option)\n" #~ "any later version.\n" #~ "\n" #~ msgstr "" #~ "Este programa é um software livre, você pode redistribuí-lo e/ou modificá-" #~ "lo\n" #~ "sobre os termos da licença pública geral GNU (GPL - General Public " #~ "License)\n" #~ "publicada pela Free Software Foundation, versão 2 ou posteriores.\n" #~ "\n" #, fuzzy #~ msgid "" #~ "You should have received a copy of the GNU General Public License\n" #~ "along with this program; if not, write to the Free Software Foundation,\n" #~ "Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n" #~ msgstr "" #~ "Este programa é um software livre, você pode redistribuí-lo e/ou modificá-" #~ "lo\n" #~ "sobre os termos da licença pública geral GNU (GPL - General Public " #~ "License)\n" #~ "publicada pela Free Software Foundation, versão 2 ou posteriores.\n" #~ "\n" # , c-format #, fuzzy #~ msgid "cannot chdir from %s to .." #~ msgstr "não pode executar 'chdir' sobre `%s'" #, fuzzy #~ msgid "cannot lstat `.' in %s" #~ msgstr "não consigo executar %s" #, fuzzy #~ msgid "cannot lstat %s" #~ msgstr "não consigo alterar data" # , c-format #, fuzzy #~ msgid "cannot chdir from %s to %s" #~ msgstr "não pode executar 'chdir' sobre `%s'" #~ msgid "cannot remove `.' or `..'" #~ msgstr "não é possível remover `.' ou `..'" #, fuzzy #~ msgid "" #~ "Remove (unlink) the FILE(s).\n" #~ "\n" #~ " -d, --directory unlink FILE, even if it is a non-empty directory\n" #~ " (super-user only)\n" #~ " -f, --force ignore nonexistent files, never prompt\n" #~ " -i, --interactive prompt before any removal\n" #~ " -r, -R, --recursive remove the contents of directories recursively\n" #~ " -v, --verbose explain what is being done\n" #~ msgstr "" #~ "Remover (link) do(s) ARQUIVO(s).\n" #~ "\n" #~ " -d, --directory remover diretório, mesmo que\n" #~ " não vazio (só superusuário)\n" #~ " -f, --force ignorar arquivos não existentes, nunca " #~ "perguntar\n" #~ " -i, --interactive perguntar antes de qualquer remoção\n" #~ " -r, -R, --recursive apagar o conteúdos dos diretórios " #~ "recursivamente\n" #~ " -v, --verbose explicar o que se está sendo feito\n" #~ " --help mostrar esta ajuda e sair\n" #~ " --version mostrar informação sobre versão e sair\n" #~ "\n" #~ "Para remover um arquivo que o nome inicia-se com um `-', por exemplo `-" #~ "foo',\n" #~ "use um destes comandos:\n" #~ " %s -- -foo\n" #~ " %s ./-foo\n" #~ msgid "" #~ "when the starting value is larger than the limit,\n" #~ "the increment must be negative" #~ msgstr "" #~ "quando o valor inicial é maior que o limite,\n" #~ "o incremento deve ser positivo" #~ msgid "" #~ "when the starting value is smaller than the limit,\n" #~ "the increment must be positive" #~ msgstr "" #~ "quando o valor inicial é menor que o limite,\n" #~ "o argumento deve ser positivo" #~ msgid "sort size" #~ msgstr "classificar tamanho" # , c-format #, fuzzy #~ msgid "`-%d' option is obsolete; use `-l %d'" #~ msgstr "atenção: largura %lu inválida; será usado %d em seu lugar" # , c-format #, fuzzy #~ msgid "*** invalid date/time ***" #~ msgstr "número de campo inválido: `%s'" # , c-format #~ msgid "stdin: read error" #~ msgstr "stdin: erro de leitura" #~ msgid "Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering" #~ msgstr "Paul Rubin, David MacKenzie, Ian Lance Taylor e Jim Meyering" # , c-format #~ msgid "%c: invalid suffix character in obsolescent option" #~ msgstr "%c: sufixo inválido em uma opção obsoleta" #~ msgid "" #~ "too many arguments; When using tail's obsolescent option syntax (%s)\n" #~ "there may be no more than one file argument. Use the equivalent -n or -" #~ "c\n" #~ "option instead." #~ msgstr "" #~ "argumentos em excesso; ao usar a sintaxe de opção obsoleta (%s) do tail\n" #~ "não pode haver mais de um argumento de arquivo. Use a opção equivalente -" #~ "n ou -c" #~ msgid "" #~ "Warning: it is not portable to use two or more file arguments with\n" #~ "tail's obsolescent option syntax (%s). Use the equivalent -n or -c\n" #~ "option instead." #~ msgstr "" #~ "atenção: Não é portável usar dois ou mais argumentos de arquivos com " #~ "sintaxe\n" #~ "obsoleta (%s). Use as equivalentes -n ou -c" # , c-format #~ msgid "`%s' option is obsolete; use `%s-%c %.*s'" #~ msgstr "opção `%s' é obsoleta; use `%s-%c %.*s'" #~ msgid "%s is larger than the maximum file size on this system" #~ msgstr "%s é maior que o tamanho máximo de arquivo neste sistema" # , c-format #~ msgid "%s: invalid maximum number of consecutive size changes" #~ msgstr "" #~ "%s: número máximo de linhas inválido para mudanças consecutivas no tamanho" #~ msgid "Mike Parker, Richard M. Stallman, and David MacKenzie" #~ msgstr "Mike Parker, Richard M. Stallman e David MacKenzie" #~ msgid "argument expected\n" #~ msgstr "argumento esperado\n" #~ msgid "integer expression expected %s\n" #~ msgstr "esperado uma expressão inteira %s\n" #~ msgid "before -lt" #~ msgstr "antes de -lt" #~ msgid "after -lt" #~ msgstr "depois de -lt" #~ msgid "before -le" #~ msgstr "antes de -le" #~ msgid "after -le" #~ msgstr "depois de -le" #~ msgid "before -gt" #~ msgstr "antes de -gt" #~ msgid "after -gt" #~ msgstr "depois de -gt" #~ msgid "before -ge" #~ msgstr "antes de -ge" #~ msgid "after -ge" #~ msgstr "depois de -ge" #~ msgid "before -ne" #~ msgstr "antes de -ne" #~ msgid "after -ne" #~ msgstr "depois de -ne" #~ msgid "before -eq" #~ msgstr "antes de -eq" #~ msgid "after -eq" #~ msgstr "depois de -eq" #~ msgid "after -t" #~ msgstr "depois de -t" #~ msgid "FIXME: ksb and mjb" #~ msgstr "CORRIJA-ME: ksb e mjb" #~ msgid "too many arguments\n" #~ msgstr "muitos argumentos\n" #~ msgid "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith" #~ msgstr "" #~ "Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie e Randy Smith" #~ msgid "file arguments missing" #~ msgstr "argumentos de arquivo faltando" # , c-format #~ msgid "invalid backslash escape `\\%c'" #~ msgstr "sequência de escape inválida `\\%c'" #~ msgid "two strings must be given when both deleting and squeezing repeats" #~ msgstr "" #~ "duas strings devem ser fornecidas quando removendo/deletando repetições" #~ msgid "at least one string must be given when squeezing repeats" #~ msgstr "" #~ "pelo menos uma string deve ser fornecida quando se comprime repetições" #~ msgid "" #~ "invalid identity mapping; when translating, any [:lower:] or [:upper:]\n" #~ "construct in string1 must be aligned with a corresponding construct\n" #~ "([:upper:] or [:lower:], respectively) in string2" #~ msgstr "" #~ "correspondência inválida; quando se traduz, qualquer construção [:lower] " #~ "ou\n" #~ "[:upper:] na string1 deve estar alinhada com a correspondente\n" #~ "construção ([:upper:] ou [:lower:], respectivamente) em string2" #, fuzzy #~ msgid "" #~ "Usage: %s [ignored command line arguments]\n" #~ " or: %s OPTION\n" #~ "Exit with a status code indicating success.\n" #~ "\n" #~ "These option names may not be abbreviated.\n" #~ "\n" #~ msgstr "" #~ "Uso: %s [ignora parâmetros da linha de comando}\n" #~ " ou: %s OPÇÃO\n" #~ "Sai com um estado indicando sucesso.\n" #~ "\n" #~ "As opções abaixo não podem ser abreviadas.\n" #~ "\n" #~ " --help mostra esta ajuda e sai\n" #~ " --version mostra a informação de versão e sai\n" #~ msgid "only one argument may be specified" #~ msgstr "somente um argumento pode ser especificado" # , c-format #~ msgid "`-LIST' option is obsolete; use `--first-only -t LIST'" #~ msgstr "opção `-LIST' é obsoleta; use `--first-only -t LIST'" # , c-format #, fuzzy #~ msgid "`-%lu' option is obsolete; use `-f %lu'" #~ msgstr "atenção: largura %lu inválida; será usado %d em seu lugar" #~ msgid "%s: cannot find username for UID %u\n" #~ msgstr "%s: não consigo encontrar o nome do usuário para o UID %u\n" dc3dd-7.1.614/po/uk.gmo0000644000175000017500000001444011233346647014214 0ustar amedicoamedico%0X5T\`iz$$ $.*S&~9#$ !E,g"  &(Ee'u% . 9 N ] m t  D B d ^^@pQoVSX[[GdXFd.0OS6h:/+ L6H&G;-Q!-"   %  ! $#dx( BLOCKS and BYTES may be followed by the following multiplicative suffixes: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Each CONV symbol may be: Each FLAG symbol may be: append append mode (makes sense only for output; conv=notrunc suggested) binary use binary I/O for data direct use direct I/O for data directory fail unless a directory dsync use synchronized I/O for data noatime do not update access time noctty do not assign controlling terminal from file noerror continue after read errors sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs fdatasync physically write output file data before finishing fsync likewise, but also write metadata nofollow do not follow symlinks nolinks fail if multiply-linked nonblock use non-blocking I/O sync likewise, but also for metadata text use text I/O for data %s: cannot seek, %g s, %s/s Infinity BTry `%s --help' for more information. Unknown system errorUsage: %s [OPERAND]... or: %s OPTION cannot combine excl and nocreatcannot fstat %scannot work around kernel bug after allclosing input file %sclosing output file %sfdatasync failed for %sfsync failed for %sinvalid number %soffset overflow while reading file %sopening %ssetting flags for %sstandard inputstandard outputunrecognized operand %swarning: working around lseek kernel bug for file (%s) of mt_type=0x%0lx -- see for the list of typeswriting to %sProject-Id-Version: coreutils 6.9.91 Report-Msgid-Bugs-To: bug-coreutils@gnu.org POT-Creation-Date: 2009-04-07 16:11-0400 PO-Revision-Date: 2007-12-17 15:12+0300 Last-Translator: Maxim V. Dziumanenko Language-Team: Ukrainian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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); Після ЧИСЛА блоків та байт може стоять один з множників: xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 та таке інше для T, P, E, Z, Y. Кожен елемент СПИСКУ для conv може бути: Символ-ОЗНАКА може бути таким: append режим додавання (має сенс для виводу; рекомендується conv=notrunc) binary використовувати двійковий ввід/вивід для даних direct використовувати прямий ввід/вивід для даних directory помилка, якщо не є каталогом dsync використовувати синхронізований ввід/вивід для даних noatime не оновлювати час останнього доступу noctty не призначати керуючий термінал з файлу noerror продовжувати після помилок читання sync доповнювати кожен вхідний блок нулями до розміру ibs; якщо вживається разом з block або unblock, доповнювати пробілами fdatasync фізично записати файл виводу перед завершенням fsync аналогічно, але записати також метадані nofollow не слідувати за символьним посиланням nolinks помилка, якщо знайдено декілька посилань nonblock використовувати ввід/вивід без блокування sync те саме, але також для метаданих text використовувати текстовий ввід/вивід для даних %s: не вдається зсунути вказівник файлу, %g с, %s/s НескінченістьСпробуйте `%s --help' для одержання додаткової інформації. Невідома системна помилкаВикористання: %s [ОПЕРАНД]... або: %s КЛЮЧ не можна одночасно використовувати excl та nocreatне вдається виконати fstat для %sне вдається обійти помилку ядразакриття вхідного файлу %sзакриття файлу виводу %sоперація fdatasync для %s завершилась помилкоюоперація fsync для %s завершилась помилкоюнеправильний номер %sпереповнення зсуву при читанні файлу %sвідкриття %sвстановлення ознак для %sстандартний ввідстандартний вивідоперанд %s не розпізнанийпопередження: обходиться помилка lseek у ядрі для файлу (%s) mt_type=0x%0lx -- см. для списку типівзапис у %sPRIuMAXtruncating at % bytes in output file %sвідсікання на % байт у файлі виводу %sdc3dd-7.1.614/Sample_Commands.txt0000644000175000017500000000275311457124713016256 0ustar amedicoamedicoExamples: -------- Imaging a device to a single output file with generation of md5 and sha1 hashes of the device: $ ./dc3dd if=/dev/sda of=suspect.img hash=md5 hash=sha1 log=suspect.txt Imaging a device to a set of CD-sized output files with generation of md5 and and sha1 hashes of the device: $ ./dc3dd if=/dev/sda ofs=suspect.img.000 ofsz=650M hash=md5 hash=sha1 log=suspect.txt Imaging a device to both a single output file and to a set of CD-sized output files with generation of md5 and sha1 hashes of the device: $ ./dc3dd if=/dev/sda of=suspect.img of=suspect.img ofs=suspect.img.000 ofsz=650M hash=md5 hash=sha1 log=suspect.txt Imaging a device to both a single output file and to a set of CD-sized output files with generation of md5 and sha1 hashes of the device and md5 and sha1 hashes of the outputs: $ ./dc3dd if=/dev/sda of=suspect.img hof=suspect.img hofs=suspect.img.000 ofsz=650M hash=md5 hash=sha1 log=suspect.txt Restoring a set of image files to a device with verification hashes of only the bytes dc3dd writes to the device: $ ./dc3dd ifs=suspect.img.000 phod=/dev/sdb hash=md5 hash=sha1 log=suspect-restore.txt Restoring a set of image files to a device with verification hashes of both the bytes dc3dd writes to the device and the entire device: $ ./dc3dd ifs=suspect.img.000 fhod=/dev/sdb hash=md5 hash=sha1 log=suspect-restore.txt Wiping a drive: $ ./dc3dd wipe=/dev/sdb log=wipe.txt Wiping a drive with verification: $ ./dc3dd hwipe=/dev/sdb hash=md5 hash=sha1 log=wipe.txt dc3dd-7.1.614/Makefile.in0000644000175000017500000012507211115525021014504 0ustar amedicoamedico# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Make coreutils. -*-Makefile-*- # Copyright (C) 1990, 1993-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/configure ABOUT-NLS \ AUTHORS COPYING ChangeLog INSTALL NEWS THANKS TODO \ build-aux/ChangeLog build-aux/compile build-aux/config.guess \ build-aux/config.rpath build-aux/config.sub build-aux/depcomp \ build-aux/install-sh build-aux/mdate-sh build-aux/missing \ build-aux/texinfo.tex build-aux/ylwrap ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argmatch.m4 $(top_srcdir)/m4/arpa_inet_h.m4 \ $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/atexit.m4 \ $(top_srcdir)/m4/autobuild.m4 $(top_srcdir)/m4/base64.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \ $(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/check-decl.m4 \ $(top_srcdir)/m4/chown.m4 $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/cloexec.m4 $(top_srcdir)/m4/close-stream.m4 \ $(top_srcdir)/m4/closein.m4 $(top_srcdir)/m4/closeout.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ $(top_srcdir)/m4/cycle-check.m4 $(top_srcdir)/m4/d-ino.m4 \ $(top_srcdir)/m4/d-type.m4 $(top_srcdir)/m4/dirfd.m4 \ $(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/eoverflow.m4 $(top_srcdir)/m4/error.m4 \ $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fchdir.m4 \ $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fd-reopen.m4 $(top_srcdir)/m4/fflush.m4 \ $(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \ $(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/fprintftime.m4 \ $(top_srcdir)/m4/fpurge.m4 $(top_srcdir)/m4/freading.m4 \ $(top_srcdir)/m4/frexp.m4 $(top_srcdir)/m4/frexpl.m4 \ $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstypename.m4 \ $(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftello.m4 \ $(top_srcdir)/m4/ftruncate.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \ $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/gethostname.m4 \ $(top_srcdir)/m4/gethrxtime.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getloadavg.m4 $(top_srcdir)/m4/getndelim2.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ $(top_srcdir)/m4/getpass.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \ $(top_srcdir)/m4/hdparm.m4 $(top_srcdir)/m4/host-os.m4 \ $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/idcache.m4 \ $(top_srcdir)/m4/include-exclude-prog.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/isapipe.m4 $(top_srcdir)/m4/isnand.m4 \ $(top_srcdir)/m4/isnanf.m4 $(top_srcdir)/m4/isnanl.m4 \ $(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \ $(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchmod.m4 \ $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/ldexpl.m4 \ $(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/link-follow.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \ $(top_srcdir)/m4/long-options.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/math_h.m4 \ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \ $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsstr.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \ $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \ $(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \ $(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \ $(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \ $(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/mountlist.m4 \ $(top_srcdir)/m4/mpsort.m4 $(top_srcdir)/m4/nanosleep.m4 \ $(top_srcdir)/m4/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/openat.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix-shell.m4 \ $(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \ $(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/printf-frexp.m4 \ $(top_srcdir)/m4/printf-frexpl.m4 $(top_srcdir)/m4/printf.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readtokens.m4 \ $(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \ $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename-dest-slash.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/rmdir-errno.m4 \ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/root-dev-ino.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \ $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ $(top_srcdir)/m4/savewd.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/settime.m4 $(top_srcdir)/m4/sha1.m4 \ $(top_srcdir)/m4/sha256.m4 $(top_srcdir)/m4/sha512.m4 \ $(top_srcdir)/m4/sig2str.m4 $(top_srcdir)/m4/signbit.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socklen.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/st_dm_mode.m4 \ $(top_srcdir)/m4/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \ $(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/stpncpy.m4 \ $(top_srcdir)/m4/strcspn.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \ $(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ $(top_srcdir)/m4/strverscmp.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \ $(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink-busy.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ $(top_srcdir)/m4/uptime.m4 $(top_srcdir)/m4/userspec.m4 \ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \ $(top_srcdir)/m4/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \ $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \ $(top_srcdir)/m4/vasnprintf.m4 \ $(top_srcdir)/m4/vasprintf-posix.m4 \ $(top_srcdir)/m4/vasprintf.m4 \ $(top_srcdir)/m4/vfprintf-posix.m4 \ $(top_srcdir)/m4/vprintf-posix.m4 $(top_srcdir)/m4/wchar.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/write-any-file.m4 $(top_srcdir)/m4/xalloc.m4 \ $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xnanosleep.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ARPA_INET_H = @ARPA_INET_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DIRENT_H = @DIRENT_H@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ FCNTL_H = @FCNTL_H@ FLOAT_H = @FLOAT_H@ FNMATCH_H = @FNMATCH_H@ GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CEILF = @GNULIB_CEILF@ GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FLOORF = @GNULIB_FLOORF@ GNULIB_FLOORL = @GNULIB_FLOORL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FREXP = @GNULIB_FREXP@ GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_ISFINITE = @GNULIB_ISFINITE@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MATHL = @GNULIB_MATHL@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_ROUND = @GNULIB_ROUND@ GNULIB_ROUNDF = @GNULIB_ROUNDF@ GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_TRUNC = @GNULIB_TRUNC@ GNULIB_TRUNCF = @GNULIB_TRUNCF@ GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GREP = @GREP@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ HAVE_DECL_COSL = @HAVE_DECL_COSL@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_TANL = @HAVE_DECL_TANL@ HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HELP2MAN = @HELP2MAN@ ICONV_H = @ICONV_H@ INCLUDE_NEXT = @INCLUDE_NEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_SU = @INSTALL_SU@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTTYPES_H = @INTTYPES_H@ KMEM_GROUP = @KMEM_GROUP@ LDFLAGS = @LDFLAGS@ LIBCOREUTILS_LIBDEPS = @LIBCOREUTILS_LIBDEPS@ LIBCOREUTILS_LTLIBDEPS = @LIBCOREUTILS_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_CRYPT = @LIB_CRYPT@ LIB_FDATASYNC = @LIB_FDATASYNC@ LIB_GETHRXTIME = @LIB_GETHRXTIME@ LIB_NANOSLEEP = @LIB_NANOSLEEP@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAN = @MAN@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEED_SETGID = @NEED_SETGID@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NO_INSTALL_PROGS_DEFAULT = @NO_INSTALL_PROGS_DEFAULT@ OBJEXT = @OBJEXT@ OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSIX_SHELL = @POSIX_SHELL@ POSUB = @POSUB@ POW_LIB = @POW_LIB@ PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CEILF = @REPLACE_CEILF@ REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FLOORF = @REPLACE_FLOORF@ REPLACE_FLOORL = @REPLACE_FLOORL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FREXP = @REPLACE_FREXP@ REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ REPLACE_ISFINITE = @REPLACE_ISFINITE@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_ROUND = @REPLACE_ROUND@ REPLACE_ROUNDF = @REPLACE_ROUNDF@ REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ SEQ_LIBM = @SEQ_LIBM@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ SYS_TIME_H = @SYS_TIME_H@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ U = @U@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ USE_HDPARM = @USE_HDPARM@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WCTYPE_H = @WCTYPE_H@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = lib src man po EXTRA_DIST = cfg.mk maint.mk \ .prev-version THANKS-to-translators THANKStt.in \ .version \ .vg-suppressions \ .x-po-check \ .x-sc_GPL_version \ .x-sc_file_system .x-sc_obsolete_symbols \ .x-sc_prohibit_atoi_atof \ .x-sc_prohibit_strcmp \ .x-sc_require_config_h \ .x-sc_space_tab .x-sc_sun_os_names \ .x-sc_trailing_blank \ .x-sc_unmarked_diagnostics \ .x-sc_useless_cpp_parens \ ChangeLog-2005 \ ChangeLog-2006 \ ChangeLog-2007 \ ChangeLog-2008 \ bootstrap \ bootstrap.conf \ build-aux/cvsu \ build-aux/git-version-gen \ build-aux/vc-list-files \ gl/modules/getloadavg.diff \ m4/ChangeLog ACLOCAL_AMFLAGS = -I m4 # Just prior to distribution, ... # transform the automake-generated rule that runs `rm -f rm'. # On some systems, that command would fail with a diagnostic like # `rm: cannot unlink `rm': Text file busy' when `.' appears so early # in the shell's search path that running `rm' would run the `rm' # executable in the current directory. # Similarly, adjust the clean-binPROGRAMS rule. rm_subst = \ s!(rm -f (rm\b|\$$\(bin_PROGRAMS\)$$))!$$1 > /dev/null 2>&1 || /bin/$$1! BUILT_SOURCES = .version gen_start_date = 2008-02-08 DISTCLEANFILES = VERSION MAINTAINERCLEANFILES = THANKS-to-translators all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ dist-hook dist-lzma dist-shar dist-tarZ dist-zip distcheck \ distclean distclean-generic distclean-tags distcleancheck \ distdir distuninstallcheck dvi dvi-am html html-am info \ info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am install-root: cd src && $(MAKE) $@ # Some tests always need root privileges, others need them only sometimes. check-root: cd tests && $(MAKE) $@ SUBDIRS= .version: echo $(VERSION) > $@-t && mv $@-t $@ # Arrange so that .tarball-version appears only in the distribution # tarball, and never in a checked-out repository. # The perl substitution is to change some key uses of "rm" to "/bin/rm". # See the rm_subst comment for details. dist-hook: gen-ChangeLog echo $(VERSION) > $(distdir)/.tarball-version perl -pi -e '$(rm_subst)' $(distdir)/src/Makefile.in .PHONY: gen-ChangeLog gen-ChangeLog: if test -d .git; then \ $(top_srcdir)/build-aux/gitlog-to-changelog \ --since=$(gen_start_date) > $(distdir)/cl-t; \ rm -f $(distdir)/ChangeLog; \ mv $(distdir)/cl-t $(distdir)/ChangeLog; \ fi distcheck-hook: check-ls-dircolors $(MAKE) my-distcheck THANKS-to-translators: po/LINGUAS THANKStt.in ( \ cat $(srcdir)/THANKStt.in; \ for lang in `cat $(srcdir)/po/LINGUAS`; do \ echo http://www.iro.umontreal.ca/contrib/po/HTML/team-$$lang.html; \ done; \ ) > $@-tmp && mv $@-tmp $@ # Ensure that the sets of two-letter codes in ls.c and dircolors.c # remain in sync. .PHONY: check-ls-dircolors check-ls-dircolors: dc=$$(sed -n '/static.*ls_codes\[/,/};'/p \ $(srcdir)/src/dircolors.c \ |sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \ |sed -n 's/^"\(..\)"/\1/p'|sort -u); \ ls=$$(sed -n '/static.*indicator_name\[/,/};'/\p \ $(srcdir)/src/ls.c \ |sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \ |sed -n 's/^"\(..\)"/\1/p'|sort -u); \ test "$$dc" = "$$ls" # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: dc3dd-7.1.614/bootstrap0000755000175000017500000004136611064230667014421 0ustar amedicoamedico#! /bin/sh # Bootstrap this package from checked-out sources. # Copyright (C) 2003-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Paul Eggert. nl=' ' # Ensure file names are sorted consistently across platforms. LC_ALL=C export LC_ALL local_gl_dir=gl # Temporary directory names. bt='._bootmp' bt_regex=`echo "$bt"| sed 's/\./[.]/g'` bt2=${bt}2 usage() { echo >&2 "\ Usage: $0 [OPTION]... Bootstrap this package from the checked-out sources. Options: --gnulib-srcdir=DIRNAME Specify the local directory where gnulib sources reside. Use this if you already have gnulib sources on your machine, and do not want to waste your bandwidth downloading them again. --copy Copy files instead of creating symbolic links. --force Attempt to bootstrap even if the sources seem not to have been checked out. --skip-po Do not download po files. If the file bootstrap.conf exists in the current working directory, its contents are read as shell variables to configure the bootstrap. Running without arguments will suffice in most cases. " } # Configuration. # Name of the Makefile.am gnulib_mk=gnulib.mk # List of gnulib modules needed. gnulib_modules= # Any gnulib files needed that are not in modules. gnulib_files= # The command to download all .po files for a specified domain into # a specified directory. Fill in the first %s is the domain name, and # the second with the destination directory. Use rsync's -L and -r # options because the latest/%s directory and the .po files within are # all symlinks. po_download_command_format=\ "rsync -Lrtvz 'translationproject.org::tp/latest/%s/' '%s'" extract_package_name=' /^AC_INIT(/{ /.*,.*,.*, */{ s/// s/[][]//g s/)$// p q } s/AC_INIT(\[*// s/]*,.*// s/^GNU // y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ s/[^A-Za-z0-9_]/-/g p } ' package=`sed -n "$extract_package_name" configure.ac` || exit gnulib_name=lib$package build_aux=build-aux source_base=lib m4_base=m4 doc_base=doc tests_base=tests # Extra files from gnulib, which override files from other sources. gnulib_extra_files=" $build_aux/install-sh $build_aux/missing $build_aux/mdate-sh $build_aux/texinfo.tex $build_aux/depcomp $build_aux/config.guess $build_aux/config.sub doc/INSTALL " # Additional gnulib-tool options to use. Use "\newline" to break lines. gnulib_tool_option_extras= # Other locale categories that need message catalogs. EXTRA_LOCALE_CATEGORIES= # Additional xgettext options to use. Use "\\\newline" to break lines. XGETTEXT_OPTIONS='\\\ --flag=_:1:pass-c-format\\\ --flag=N_:1:pass-c-format\\\ --flag=error:3:c-format --flag=error_at_line:5:c-format\\\ ' # Package bug report address for gettext files MSGID_BUGS_ADDRESS=bug-$package@gnu.org # Files we don't want to import. excluded_files= # File that should exist in the top directory of a checked out hierarchy, # but not in a distribution tarball. checkout_only_file=README-hacking # Whether to use copies instead of symlinks. copy=false # Set this to '.cvsignore .gitignore' in bootstrap.conf if you want # those files to be generated in directories like lib/, m4/, and po/. # Or set it to 'auto' to make this script select which to use based # on which version control system (if any) is used in the source directory. vc_ignore=auto # Override the default configuration, if necessary. test -r bootstrap.conf && . ./bootstrap.conf if test "$vc_ignore" = auto; then vc_ignore= test -d .git && vc_ignore=.gitignore test -d CVS && vc_ignore="$vc_ignore .cvsignore" fi # Translate configuration into internal form. # Parse options. for option do case $option in --help) usage exit;; --gnulib-srcdir=*) GNULIB_SRCDIR=`expr "$option" : '--gnulib-srcdir=\(.*\)'`;; --skip-po) SKIP_PO=t;; --force) checkout_only_file=;; --copy) copy=true;; *) echo >&2 "$0: $option: unknown option" exit 1;; esac done if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2 exit 1 fi # If $STR is not already on a line by itself in $FILE, insert it, # sorting the new contents of the file and replacing $FILE with the result. insert_sorted_if_absent() { file=$1 str=$2 test -f $file || touch $file echo "$str" | sort -u - $file | cmp -s - $file \ || echo "$str" | sort -u - $file -o $file \ || exit 1 } # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. found_aux_dir=no grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \ >/dev/null && found_aux_dir=yes grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \ >/dev/null && found_aux_dir=yes if test $found_aux_dir = no; then echo "$0: expected line not found in configure.ac. Add the following:" >&2 echo " AC_CONFIG_AUX_DIR([$build_aux])" >&2 exit 1 fi # If $build_aux doesn't exist, create it now, otherwise some bits # below will malfunction. If creating it, also mark it as ignored. if test ! -d $build_aux; then mkdir $build_aux for dot_ig in x $vc_ignore; do test $dot_ig = x && continue insert_sorted_if_absent $dot_ig $build_aux done fi echo "$0: Bootstrapping from checked-out $package sources..." cleanup_gnulib() { status=$? rm -fr gnulib exit $status } # Get gnulib files. case ${GNULIB_SRCDIR--} in -) if [ ! -d gnulib ]; then echo "$0: getting gnulib files..." trap cleanup_gnulib 1 2 13 15 git clone --depth 2 git://git.sv.gnu.org/gnulib || cleanup_gnulib trap - 1 2 13 15 fi GNULIB_SRCDIR=gnulib esac gnulib_tool=$GNULIB_SRCDIR/gnulib-tool <$gnulib_tool || exit # Get translations. download_po_files() { subdir=$1 domain=$2 echo "$0: getting translations into $subdir for $domain..." cmd=`printf "$po_download_command_format" "$domain" "$subdir"` eval "$cmd" } # Download .po files to $po_dir/.reference and copy only the new # or modified ones into $po_dir. Also update $po_dir/LINGUAS. update_po_files() { # Directory containing primary .po files. # Overwrite them only when we're sure a .po file is new. po_dir=$1 domain=$2 # Download *.po files into this dir. # Usually contains *.s1 checksum files. ref_po_dir="$po_dir/.reference" test -d $ref_po_dir || mkdir $ref_po_dir || return download_po_files $ref_po_dir $domain \ && ls "$ref_po_dir"/*.po 2>/dev/null | sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" langs=`cd $ref_po_dir && echo *.po|sed 's/\.po//g'` test "$langs" = '*' && langs=x for po in `cd $ref_po_dir && echo *.po|sed 's/\.po//g'`; do case $po in x) continue;; esac new_po="$ref_po_dir/$po.po" cksum_file="$ref_po_dir/$po.s1" if ! test -f "$cksum_file" || ! test -f "$po_dir/$po.po" || ! sha1sum -c --status "$cksum_file" < "$new_po" > /dev/null; then echo "updated $po_dir/$po.po..." cp "$new_po" "$po_dir/$po.po" && sha1sum < "$new_po" > "$cksum_file" fi done } case $SKIP_PO in '') if test -d po; then update_po_files po $package || exit fi if test -d runtime-po; then update_po_files runtime-po $package-runtime || exit fi;; esac symlink_to_dir() { src=$1/$2 dst=${3-$2} test -f "$src" && { # If the destination directory doesn't exist, create it. # This is required at least for "lib/uniwidth/cjk.h". dst_dir=`dirname "$dst"` if ! test -d "$dst_dir"; then mkdir -p "$dst_dir" # If we've just created a directory like lib/uniwidth, # tell version control system(s) it's ignorable. # FIXME: for now, this does only one level parent=`dirname "$dst_dir"` for dot_ig in x $vc_ignore; do test $dot_ig = x && continue ig=$parent/$dot_ig insert_sorted_if_absent $ig `echo "$dst_dir"|sed 's,.*/,,'` done fi if $copy; then { test ! -h "$dst" || { echo "$0: rm -f $dst" && rm -f "$dst" } } && test -f "$dst" && cmp -s "$src" "$dst" || { echo "$0: cp -fp $src $dst" && cp -fp "$src" "$dst" } else test -h "$dst" && src_ls=`ls -diL "$src" 2>/dev/null` && set $src_ls && src_i=$1 && dst_ls=`ls -diL "$dst" 2>/dev/null` && set $dst_ls && dst_i=$1 && test "$src_i" = "$dst_i" || { dot_dots= case $src in /*) ;; *) case /$dst/ in *//* | */../* | */./* | /*/*/*/*/*/) echo >&2 "$0: invalid symlink calculation: $src -> $dst" exit 1;; /*/*/*/*/) dot_dots=../../../;; /*/*/*/) dot_dots=../../;; /*/*/) dot_dots=../;; esac;; esac echo "$0: ln -fs $dot_dots$src $dst" && ln -fs "$dot_dots$src" "$dst" } fi } } cp_mark_as_generated() { cp_src=$1 cp_dst=$2 if cmp -s "$cp_src" "$GNULIB_SRCDIR/$cp_dst"; then symlink_to_dir "$GNULIB_SRCDIR" "$cp_dst" elif cmp -s "$cp_src" "$local_gl_dir/$cp_dst"; then symlink_to_dir $local_gl_dir "$cp_dst" else case $cp_dst in *.[ch]) c1='/* '; c2=' */';; *.texi) c1='@c '; c2= ;; *.m4|*/Make*|Make*) c1='# ' ; c2= ;; *) c1= ; c2= ;; esac # If the destination directory doesn't exist, create it. # This is required at least for "lib/uniwidth/cjk.h". dst_dir=`dirname "$cp_dst"` test -d "$dst_dir" || mkdir -p "$dst_dir" if test -z "$c1"; then cmp -s "$cp_src" "$cp_dst" || { echo "$0: cp -f $cp_src $cp_dst" && rm -f "$cp_dst" && sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst" } else # Copy the file first to get proper permissions if it # doesn't already exist. Then overwrite the copy. cp "$cp_src" "$cp_dst-t" && ( echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2" && echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" && echo '#line 1' && sed "s!$bt_regex/!!g" "$cp_src" ) > $cp_dst-t && if cmp -s "$cp_dst-t" "$cp_dst"; then rm -f "$cp_dst-t" else echo "$0: cp $cp_src $cp_dst # with edits" && mv -f "$cp_dst-t" "$cp_dst" fi fi fi } version_controlled_file() { dir=$1 file=$2 found=no if test -d CVS; then grep -F "/$file/" $dir/CVS/Entries 2>/dev/null | grep '^/[^/]*/[0-9]' > /dev/null && found=yes elif test -d .git; then git rm -n "$dir/$file" > /dev/null 2>&1 && found=yes elif test -d .svn; then svn log -r HEAD "$dir/$file" > /dev/null 2>&1 && found=yes else echo "$0: no version control for $dir/$file?" >&2 fi test $found = yes } slurp() { for dir in . `(cd $1 && find * -type d -print)`; do copied= sep= for file in `ls -a $1/$dir`; do case $file in .|..) continue;; .*) continue;; # FIXME: should all file names starting with "." be ignored? esac test -d $1/$dir/$file && continue for excluded_file in $excluded_files; do test "$dir/$file" = "$excluded_file" && continue 2 done if test $file = Makefile.am; then copied=$copied${sep}$gnulib_mk; sep=$nl remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g" sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/$gnulib_mk || { echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." && rm -f $dir/$gnulib_mk && sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk } elif { test "${2+set}" = set && test -r $2/$dir/$file; } || version_controlled_file $dir $file; then echo "$0: $dir/$file overrides $1/$dir/$file" else copied=$copied$sep$file; sep=$nl if test $file = gettext.m4; then echo "$0: patching m4/gettext.m4 to remove need for intl/* ..." rm -f $dir/$file sed ' /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\ AC_DEFUN([AM_INTL_SUBDIR], [ /^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\ AC_DEFUN([gt_INTL_SUBDIR_CORE], []) $a\ AC_DEFUN([gl_LOCK_EARLY], []) ' $1/$dir/$file >$dir/$file else cp_mark_as_generated $1/$dir/$file $dir/$file fi fi || exit done for dot_ig in x $vc_ignore; do test $dot_ig = x && continue ig=$dir/$dot_ig if test -n "$copied"; then insert_sorted_if_absent $ig "$copied" # If an ignored file name ends with .in.h, then also add # the name with just ".h". Many gnulib headers are generated, # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc. # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed f=`echo "$copied"|sed 's/\.in\.h$/.h/;s/\.sin$/.sed/;s/\.y$/.c/;s/\.gperf$/.h/'` insert_sorted_if_absent $ig "$f" # For files like sys_stat.in.h and sys_time.in.h, record as # ignorable the directory we might eventually create: sys/. f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'` insert_sorted_if_absent $ig "$f" fi done done } # Create boot temporary directories to import from gnulib and gettext. rm -fr $bt $bt2 && mkdir $bt $bt2 || exit # Import from gnulib. gnulib_tool_options="\ --import\ --no-changelog\ --aux-dir $bt/$build_aux\ --doc-base $bt/$doc_base\ --lib $gnulib_name\ --m4-base $bt/$m4_base/\ --source-base $bt/$source_base/\ --tests-base $bt/$tests_base\ --local-dir $local_gl_dir\ $gnulib_tool_option_extras\ " echo "$0: $gnulib_tool $gnulib_tool_options --import ..." $gnulib_tool $gnulib_tool_options --import $gnulib_modules && slurp $bt || exit for file in $gnulib_files; do symlink_to_dir "$GNULIB_SRCDIR" $file || exit done # Import from gettext. with_gettext=yes grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \ with_gettext=no if test $with_gettext = yes; then echo "$0: (cd $bt2; autopoint) ..." cp configure.ac $bt2 && (cd $bt2 && autopoint && rm configure.ac) && slurp $bt2 $bt || exit rm -fr $bt $bt2 || exit fi # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some # gnulib-populated directories. Such .m4 files would cause aclocal to fail. # The following requires GNU find 4.2.3 or newer. Considering the usual # portability constraints of this script, that may seem a very demanding # requirement, but it should be ok. Ignore any failure, which is fine, # since this is only a convenience to help developers avoid the relatively # unusual case in which a symlinked-to .m4 file is git-removed from gnulib # between successive runs of this script. find "$m4_base" "$source_base" \ -depth \( -name '*.m4' -o -name '*.[ch]' \) \ -type l -xtype l -delete > /dev/null 2>&1 # Reconfigure, getting other files. for command in \ libtool \ 'aclocal --force -I m4' \ 'autoconf --force' \ 'autoheader --force' \ 'automake --add-missing --copy --force-missing'; do if test "$command" = libtool; then grep '^[ ]*AM_PROG_LIBTOOL\>' configure.ac >/dev/null || continue command='libtoolize -c -f' fi echo "$0: $command ..." $command || exit done # Get some extra files from gnulib, overriding existing files. for file in $gnulib_extra_files; do case $file in */INSTALL) dst=INSTALL;; build-aux/*) dst=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;; *) dst=$file;; esac symlink_to_dir "$GNULIB_SRCDIR" $file $dst || exit done if test $with_gettext = yes; then # Create gettext configuration. echo "$0: Creating po/Makevars from po/Makevars.template ..." rm -f po/Makevars sed ' /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/ /^MSGID_BUGS_ADDRESS *=/s/=.*/= '"$MSGID_BUGS_ADDRESS"'/ /^XGETTEXT_OPTIONS *=/{ s/$/ \\/ a\ '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+} } ' po/Makevars.template >po/Makevars if test -d runtime-po; then # Similarly for runtime-po/Makevars, but not quite the same. rm -f runtime-po/Makevars sed ' /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/ /^subdir *=.*/s/=.*/= runtime-po/ /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/ /^XGETTEXT_OPTIONS *=/{ s/$/ \\/ a\ '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+} } ' runtime-po/Makevars # Copy identical files from po to runtime-po. (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po) fi fi # Horrible, coreutils-specific kludges. # Change paths in gnulib-tests/gnulib.mk from "../.." to "..". m=gnulib-tests/gnulib.mk sed 's,\.\./\.\.,..,g' $m > $m-t mv -f $m-t $m # Make tests executable. chmod a+x gnulib-tests/test-*.sh echo "$0: done. Now you can run './configure'." dc3dd-7.1.614/AUTHORS0000644000175000017500000000655711064230667013531 0ustar amedicoamedicoHere are the names of the programs in this package, each followed by the name(s) of its author(s). arch: David MacKenzie, Karel Zak base64: Simon Josefsson basename: FIXME unknown cat: Torbjörn Granlund, Richard M. Stallman chcon: Russell Coker, Jim Meyering chgrp: David MacKenzie, Jim Meyering chmod: David MacKenzie, Jim Meyering chown: David MacKenzie, Jim Meyering chroot: Roland McGrath cksum: Q. Frank Xia comm: Richard Stallman, David MacKenzie cp: Torbjörn Granlund, David MacKenzie, Jim Meyering csplit: Stuart Kemp, David MacKenzie cut: David Ihnat, David MacKenzie, Jim Meyering date: David MacKenzie dd: Paul Rubin, David MacKenzie, Stuart Kemp df: Torbjörn Granlund, David MacKenzie, Paul Eggert dir: Richard Stallman, David MacKenzie dircolors: H. Peter Anvin dirname: David MacKenzie, Jim Meyering du: Torbjörn Granlund, David MacKenzie, Paul Eggert, Jim Meyering echo: FIXME unknown env: Richard Mlynarik, David MacKenzie expand: David MacKenzie expr: Mike Parker factor: Paul Rubin false: Jim Meyering fmt: Ross Paterson fold: David MacKenzie ginstall: David MacKenzie groups: David MacKenzie, James Youngman head: David MacKenzie, Jim Meyering hostid: Jim Meyering hostname: Jim Meyering id: Arnold Robbins, David MacKenzie join: Mike Haertel kill: Paul Eggert link: Michael Stone ln: Mike Parker, David MacKenzie logname: FIXME: unknown ls: Richard Stallman, David MacKenzie md5sum: Ulrich Drepper, Scott Miller, David Madore mkdir: David MacKenzie mkfifo: David MacKenzie mknod: David MacKenzie mktemp: Jim Meyering mv: Mike Parker, David MacKenzie, Jim Meyering nice: David MacKenzie nl: Scott Bartram, David MacKenzie nohup: Jim Meyering od: Jim Meyering paste: David M. Ihnat, David MacKenzie pathchk: Paul Eggert, David MacKenzie, Jim Meyering pinky: Joseph Arceneaux, David MacKenzie, Kaveh Ghazi pr: Pete TerMaat, Roland Huebner printenv: David MacKenzie, Richard Mlynarik printf: David MacKenzie ptx: François Pinard pwd: Jim Meyering readlink: Dmitry V. Levin rm: Paul Rubin, David MacKenzie, Richard Stallman, Jim Meyering rmdir: David MacKenzie runcon: Russell Coker seq: Ulrich Drepper sha1sum: Ulrich Drepper, Scott Miller, David Madore sha224sum: Ulrich Drepper, Scott Miller, David Madore sha256sum: Ulrich Drepper, Scott Miller, David Madore sha384sum: Ulrich Drepper, Scott Miller, David Madore sha512sum: Ulrich Drepper, Scott Miller, David Madore shred: Colin Plumb shuf: Paul Eggert sleep: Jim Meyering, Paul Eggert sort: Mike Haertel, Paul Eggert split: Torbjörn Granlund, Richard M. Stallman stat: Michael Meskes stty: David MacKenzie su: David MacKenzie sum: Kayvan Aghaiepour, David MacKenzie sync: Jim Meyering tac: Jay Lepreau, David MacKenzie tail: Paul Rubin, David MacKenzie, Ian Lance Taylor, Jim Meyering tee: Mike Parker, Richard M. Stallman, David MacKenzie test: Kevin Braunsdorf, Matthew Bradburn touch: Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, Randy Smith tr: Jim Meyering true: Jim Meyering tsort: Mark Kettenis tty: David MacKenzie uname: David MacKenzie unexpand: David MacKenzie uniq: Richard Stallman, David MacKenzie unlink: Michael Stone uptime: Joseph Arceneaux, David MacKenzie, Kaveh Ghazi users: Joseph Arceneaux, David MacKenzie vdir: Richard Stallman, David MacKenzie wc: Paul Rubin, David MacKenzie who: Joseph Arceneaux, David MacKenzie, Michael Stone whoami: Richard Mlynarik yes: David MacKenzie ;; Local Variables: ;; coding: utf-8 ;; End: dc3dd-7.1.614/Makefile.am0000644000175000017500000000713411064230667014505 0ustar amedicoamedico# Make coreutils. -*-Makefile-*- # Copyright (C) 1990, 1993-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . SUBDIRS = lib src man po EXTRA_DIST = cfg.mk maint.mk \ .prev-version THANKS-to-translators THANKStt.in \ .version \ .vg-suppressions \ .x-po-check \ .x-sc_GPL_version \ .x-sc_file_system .x-sc_obsolete_symbols \ .x-sc_prohibit_atoi_atof \ .x-sc_prohibit_strcmp \ .x-sc_require_config_h \ .x-sc_space_tab .x-sc_sun_os_names \ .x-sc_trailing_blank \ .x-sc_unmarked_diagnostics \ .x-sc_useless_cpp_parens \ ChangeLog-2005 \ ChangeLog-2006 \ ChangeLog-2007 \ ChangeLog-2008 \ bootstrap \ bootstrap.conf \ build-aux/cvsu \ build-aux/git-version-gen \ build-aux/vc-list-files \ gl/modules/getloadavg.diff \ m4/ChangeLog install-root: cd src && $(MAKE) $@ ACLOCAL_AMFLAGS = -I m4 # Some tests always need root privileges, others need them only sometimes. check-root: cd tests && $(MAKE) $@ SUBDIRS= # Just prior to distribution, ... # transform the automake-generated rule that runs `rm -f rm'. # On some systems, that command would fail with a diagnostic like # `rm: cannot unlink `rm': Text file busy' when `.' appears so early # in the shell's search path that running `rm' would run the `rm' # executable in the current directory. # Similarly, adjust the clean-binPROGRAMS rule. rm_subst = \ s!(rm -f (rm\b|\$$\(bin_PROGRAMS\)$$))!$$1 > /dev/null 2>&1 || /bin/$$1! BUILT_SOURCES = .version .version: echo $(VERSION) > $@-t && mv $@-t $@ # Arrange so that .tarball-version appears only in the distribution # tarball, and never in a checked-out repository. # The perl substitution is to change some key uses of "rm" to "/bin/rm". # See the rm_subst comment for details. dist-hook: gen-ChangeLog echo $(VERSION) > $(distdir)/.tarball-version perl -pi -e '$(rm_subst)' $(distdir)/src/Makefile.in gen_start_date = 2008-02-08 .PHONY: gen-ChangeLog gen-ChangeLog: if test -d .git; then \ $(top_srcdir)/build-aux/gitlog-to-changelog \ --since=$(gen_start_date) > $(distdir)/cl-t; \ rm -f $(distdir)/ChangeLog; \ mv $(distdir)/cl-t $(distdir)/ChangeLog; \ fi distcheck-hook: check-ls-dircolors $(MAKE) my-distcheck DISTCLEANFILES = VERSION MAINTAINERCLEANFILES = THANKS-to-translators THANKS-to-translators: po/LINGUAS THANKStt.in ( \ cat $(srcdir)/THANKStt.in; \ for lang in `cat $(srcdir)/po/LINGUAS`; do \ echo http://www.iro.umontreal.ca/contrib/po/HTML/team-$$lang.html; \ done; \ ) > $@-tmp && mv $@-tmp $@ # Ensure that the sets of two-letter codes in ls.c and dircolors.c # remain in sync. .PHONY: check-ls-dircolors check-ls-dircolors: dc=$$(sed -n '/static.*ls_codes\[/,/};'/p \ $(srcdir)/src/dircolors.c \ |sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \ |sed -n 's/^"\(..\)"/\1/p'|sort -u); \ ls=$$(sed -n '/static.*indicator_name\[/,/};'/\p \ $(srcdir)/src/ls.c \ |sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \ |sed -n 's/^"\(..\)"/\1/p'|sort -u); \ test "$$dc" = "$$ls" dc3dd-7.1.614/NEWS0000644000175000017500000000524011254503265013142 0ustar amedicoamedicodc3dd NEWS * Noteworthy changes in release 7.0.0 (2009-09) ** New Features Verification hashes Simplified command line Can mix split and unsplit outputs User-defined sector size Display/logging enhancements More compiled in options support * Noteworthy changes in release 6.12.5 (2009-05) ** New Features Added multiple outputs * Noteworthy changes in release 6.12.4 (2009-04) ** New Features Added HPA/DCO detection capability Added multithreading for hashing and disk I/O to increase throughput ** Notes Removed obs option, and conv ascii,ebcdic,ibm,block,unblock,lcase,swab options Removed hashconv option and set behavior to hashconv=after * Noteworthy changes in release 6.12.3 (2009-03-17) ** New features Startup message now includes version number Hashes always printed to console, even when hashlog/log enabled Update blockbench.pl for OS X compatibility ** Bug Fixes Fix crash when verifying against an empty file Fix error in hashwindow feature - string buffer was too small, causing incorrect hashes to be displayed on OS X. * Noteworthy changes in release 6.12.2 (2008-11-03) ** New Features Add wipe=DEVICE operator to automatically wipe DEVICE with zeros ** Bug Fixes Fix bug causing incorrect hashes to be displayed in some cases when reading from standard input or using `ifjoin'. Output data was not affected. * Noteworthy changes in release 6.12.1 (2008-09-17) ** New Features Additional logging: compile options, command line options, start time, end time, and termination reason are now printed and logged. Dynamic block size mode for faster/better error recovery Automatically sizeprobe output device instead of input when applicable Report progress and error positions using absolute sector addresses, regardless of block size/skip/seek/etc. count/skip/seek options take sector counts as input If interrupted, print hash of data transferred so far Add support for joining/verifying split files ** Bug Fixes Updated base package to Coreutils version 6.12 Show correct completion percentage when count is specified Check that split value is legal on startup, instead of mysteriously failing during the run Removed unused coreutils modules to fix static linking on Solaris 9 * Noteworthy changes in release 6.10 (RBF DATE) ** New Features Added support for compiling in default modes for hashing, hashconv, progress, progress count, and sizeprobe flags using the configure script. ** Bug Fixes Updated base package to Coreutils version 6.10 * Noteworthy changes in release 6.9.91 (2008-02-01) ** New programs dc3dd first release dc3dd-7.1.614/.x-sc_obsolete_symbols0000644000175000017500000000011411023311746016750 0ustar amedicoamedicoChangeLog* Makefile.maint config.hin configure m4/jm-macros.m4 src/system.h dc3dd-7.1.614/cfg.mk0000644000175000017500000000331311064230667013534 0ustar amedicoamedico# Customize maint.mk -*- makefile -*- # Copyright (C) 2003-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Use alpha.gnu.org for alpha and beta releases. # Use ftp.gnu.org for major releases. gnu_ftp_host-alpha = alpha.gnu.org gnu_ftp_host-beta = alpha.gnu.org gnu_ftp_host-major = ftp.gnu.org gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE)) url_dir_list = \ ftp://$(gnu_rel_host)/gnu/coreutils # The GnuPG ID of the key used to sign the tarballs. gpg_key_ID = B9AB9A16 # Tests not to run as part of "make distcheck". # Exclude changelog-check here so that there's less churn in ChangeLog # files -- otherwise, you'd need to have the upcoming version number # at the top of the file for each `make distcheck' run. local-checks-to-skip = changelog-check strftime-check # The local directory containing the checked-out copy of gnulib used in this # release. Used solely to get gnulib's SHA1 for the "announcement" target. gnulib_dir = /gnulib # Now that we have better (check.mk) tests, make this the default. export VERBOSE = yes old_NEWS_hash = c58d611d93d218181ed77f81ff2395ff - dc3dd-7.1.614/INSTALL0000644000175000017500000002244211023311746013472 0ustar amedicoamedicoInstallation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 6. Often, you can also type `make uninstall' to remove the installed files again. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. dc3dd-7.1.614/.x-sc_useless_cpp_parens0000644000175000017500000000032411023311746017264 0ustar amedicoamedico^build-aux/config.guess ^configure ^lib/alloca.c ^lib/fts.c ^lib/getdate.c ^lib/getloadavg.c ^lib/gettext.h ^lib/getusershell.c ^lib/mbswidth.c ^lib/strtod.c ^lib/xstrtol.c ^m4/ ^tests/misc/pwd-unreadable-parent dc3dd-7.1.614/README.coreutils0000644000175000017500000002454311066523541015342 0ustar amedicoamedicoThese are the GNU core utilities. This package is the union of the GNU fileutils, sh-utils, and textutils packages. Most of these programs have significant advantages over their Unix counterparts, such as greater speed, additional options, and fewer arbitrary limits. The programs that can be built with this package are: [ arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold groups head hostid hostname id install join kill link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat stty su sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq unlink uptime users vdir wc who whoami yes See the file NEWS for a list of major changes in the current release. If you obtained this file as part of a "git clone", then see the README-hacking file. If this file came to you as part of a tar archive, then see the file INSTALL for compilation and installation instructions. These programs are intended to conform to POSIX (with BSD and other extensions), like the rest of the GNU system. By default they conform to older POSIX (1003.2-1992), and therefore support obsolete usages like "head -10" and "chown owner.group file". This default is overridden at build-time by the value of 's _POSIX2_VERSION macro, and this in turn can be overridden at runtime as described in the documentation under "Standards conformance". The ls, dir, and vdir commands are all separate executables instead of one program that checks argv[0] because people often rename these programs to things like gls, gnuls, l, etc. Renaming a program file shouldn't affect how it operates, so that people can get the behavior they want with whatever name they want. Special thanks to Paul Eggert, Brian Matthews, Bruce Evans, Karl Berry, Kaveh Ghazi, and François Pinard for help with debugging and porting these programs. Many thanks to all of the people who have taken the time to submit problem reports and fixes. All contributed changes are attributed in the ChangeLog files. And thanks to the following people who have provided accounts for portability testing on many different types of systems: Bob Proulx, Christian Robert, François Pinard, Greg McGary, Harlan Stenn, Joel N. Weber, Mark D. Roth, Matt Schalit, Nelson H. F. Beebe, Réjean Payette, Sam Tardieu. Thanks to Michael Stone for inflicting test releases of this package on Debian's unstable distribution, and to all the kind folks who used that distribution and found and reported bugs. Note that each man page is now automatically generated from a template and from the corresponding --help usage message. Patches to the template files (man/*.x) are welcome. However, the authoritative documentation is in texinfo form in the doc directory. ***************************************** On Mac OS X 10.5.1 (Darwin 9.1), test failure ----------------------------------------- Mac OS X 10.5.1 (Darwin 9.1) provides only partial (and incompatible) ACL support, so although "./configure && make" succeeds, "make check" exposes numerous failures. The solution is to turn off ACL support manually via "./configure --disable-acl". For details, see . ***************************************** Test failure with NLS and gettext <= 0.17 ----------------------------------------- Due to a conflict between libintl.h and gnulib's new xprintf module, when you configure with NLS support, and with a gettext installation older than 0.17.1 (not yet released, at the time of this writing), then some tests fail, at least on NetBSD 1.6. To work around it in the mean time, you can configure with --disable-nls. For details, see . *********************** Pre-C99 build failure ----------------------- There is a new, implicit build requirement: To build the coreutils from source, you should have a C99-conforming compiler, due to the use of declarations after non-declaration statements in several files in src/. There is code in configure to find and, if possible, enable an appropriate compiler. However, if configure doesn't find a C99 compiler, it continues nonetheless, and your build will fail. If that happens, simply apply the included patch using the following command, and then run make again: cd src && patch < c99-to-c89.diff *********************** HPUX 11.x build failure ----------------------- A known problem exists when compiling on HPUX on both hppa and ia64 in 64-bit mode (i.e. +DD64) on HP-UX 11.0, 11.11, and 11.23. This is not due to a bug in the package but instead due to a bug in the system header file which breaks things in 64-bit mode. The default compilation mode is 32-bit and the software compiles fine using the default mode. To build this software in 64-bit mode you will need to fix the system /usr/include/inttypes.h header file. After correcting that file the software also compiles fine in 64-bit mode. Here is one possible patch to correct the problem: --- /usr/include/inttypes.h.orig Thu May 30 01:00:00 1996 +++ /usr/include/inttypes.h Sun Mar 23 00:20:36 2003 @@ -489 +489 @@ -#ifndef __STDC_32_MODE__ +#ifndef __LP64__ ************************ OSF/1 4.0d build failure ------------------------ If you use /usr/bin/make on an OSF/1 4.0d system, it will fail due to the presence of the "[" target. That version of make appears to treat "[" as some syntax relating to locks. To work around that, the best solution is to use GNU make. Otherwise, simply remove all mention of "[$(EXEEXT)" from src/Makefile. ********************** Running tests as root: ---------------------- If you run the tests as root, note that a few of them create files and/or run programs as a non-root user, `nobody' by default. If you want to use some other non-root username, specify it via the NON_ROOT_USERNAME environment variable. Depending on the permissions with which the working directories have been created, using `nobody' may fail, because that user won't have the required read and write access to the build and test directories. I find that it is best to unpack and build as a non-privileged user, and then to run the following command as that user in order to run the privilege-requiring tests: sudo env PATH="$PATH" NON_ROOT_USERNAME=$USER make -k check-root If you can run the tests as root, please do so and report any problems. We get much less test coverage in that mode, and it's arguably more important that these tools work well when run by root than when run by less privileged users. *************** Reporting bugs: --------------- IMPORTANT: if you take the time to report a test failure, please be sure to include the output of running `make check' in verbose mode for each failing test. For example, if the test that fails is tests/mv/hard-link-1, then you would run this command: env VERBOSE=yes make check -C tests/mv TESTS=hard-link-1 >> log 2>&1 For some tests, you can get even more detail by including DEBUG=yes in the environment: env DEBUG=yes VERBOSE=yes make check -C tests/mv TESTS=hard-link-1 >> log 2>&1 and then include the contents of the file `log' in your bug report. *************************************** There are many tests, but nowhere near as many as we need. Additions and corrections are very welcome. If you see a problem that you've already reported, feel free to re-report it -- it won't bother me to get a reminder. Besides, the more messages I get regarding a particular problem the sooner it'll be fixed -- usually. If you sent a complete patch and, after a couple weeks you haven't received any acknowledgement, please ping us. A complete patch includes a well-written ChangeLog entry, unified (diff -u format) diffs relative to the most recent test release (or, better, relative to the latest sources in the public repository), an explanation for why the patch is necessary or useful, and if at all possible, enough information to reproduce whatever problem prompted it. Plus, you'll earn lots of karma if you include a test case to exercise any bug(s) you fix. Here are instructions for checking out the latest development sources: http://savannah.gnu.org/git/?group=coreutils If your patch adds a new feature, please try to get some sort of consensus that it is a worthwhile change. One way to do that is to send mail to bug-coreutils@gnu.org including as much description and justification as you can. Based on the feedback that generates, you may be able to convince us that it's worth adding. WARNING: Now that we use the ./bootstrap script, you should not run autoreconf manually. Doing that will overwrite essential source files with older versions, which may make the package unbuildable or introduce subtle bugs. WARNING: If you modify files like configure.in, m4/*.m4, aclocal.m4, or any Makefile.am, then don't be surprised if what gets regenerated no longer works. To make things work, you'll have to be using appropriate versions of automake and autoconf. As for what versions are `appropriate', use the versions of * autoconf specified via AC_PREREQ in m4/jm-macros.m4 * automake specified via AM_INIT_AUTOMAKE in configure.ac Usually it's fine to use versions that are newer than those specified. All of these programs except `test' recognize the `--version' option. When reporting bugs, please include in the subject line both the package name/version and the name of the program for which you found a problem. For general documentation on the coding and usage standards this distribution follows, see the GNU Coding Standards, http://www.gnu.org/prep/standards_toc.html. Mail suggestions and bug reports for these programs to the address on the last line of --help output. ======================================================================== Copyright (C) 1998, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the ``GNU Free Documentation License'' file as part of this distribution. dc3dd-7.1.614/.x-sc_space_tab0000644000175000017500000000022711023311746015312 0ustar amedicoamedicoconfig(ure|\.(guess|sub)) tests/pr lib/regex.c config-log tests/misc/nl po/de.po m4/lib-ld.m4 m4/lib-prefix.m4 m4/po.m4 aclocal.m4 src/c99-to-c89.diff dc3dd-7.1.614/gl/0000755000175000017500000000000011613550425013043 5ustar amedicoamedicodc3dd-7.1.614/gl/modules/0000755000175000017500000000000011613550425014513 5ustar amedicoamedicodc3dd-7.1.614/gl/modules/getloadavg.diff0000644000175000017500000000066211022023316017452 0ustar amedicoamedicoIndex: modules/getloadavg =================================================================== RCS file: /sources/gnulib/gnulib/modules/getloadavg,v retrieving revision 1.13 diff -u -p -r1.13 getloadavg --- modules/getloadavg 22 Sep 2006 12:47:55 -0000 1.13 +++ modules/getloadavg 23 Sep 2006 16:41:36 -0000 @@ -14,7 +14,7 @@ stdbool fcntl-safer configure.ac: -gl_GETLOADAVG([$gl_source_base]) +gl_GETLOADAVG([lib]) Makefile.am: dc3dd-7.1.614/THANKStt.in0000644000175000017500000000017111023311746014324 0ustar amedicoamedicoThe following teams have translated the many diagnostics of this package into many different languages. Thank you! --- dc3dd-7.1.614/ChangeLog0000644000175000017500000002677311534215041014224 0ustar amedicoamedico2011-03-02 Richard Cordovano * Added the ability to specify log= and hlog= more than once. * Added phod= and fhod= options. For an output that is a device, using phod= ("partially hashed output device") causes dc3dd to compute hashes of only the bytes dc3dd wrote to the output device. If fhod= ("fully hashed output device") is specified instead, dc3dd will compute hashes of both the bytes dc3dd wrote and of the entire device. 2009-08-28 Richard Cordovano * Replaced the byte-by-byte verification capability with a verification capability that hashes imaging outputs and compares the hashes to the input hash. The new verification capability does not require a second read of the device. * Enhanced the ability to generate multiple outputs by adding the capability to combine split and unsplit outputs. * Added the ability for the user to specify a sector size via the command line. * Added display/logging of results of device size probes. Size probes are now always performed, providing run statistics in most use cases (reading from standard input excepted). * Added display/logging of size statistics for each file in an input or output split. * Simplified the command line options and removed all legacy dd features not needed for imaging. The simplified command line is more rigorously validated to reduce the likelihood of performing a run contrary to user intent in order to avoid a second read of a device. * Removed the progress=on command line option and the cumbersome INFO signaling protocol for obtaining a progress report. Instead, a progress bar is always displayed. * Added new DEFAULT_IMAGING_MODE compile flag support (equivalent to command line options: recovererrs=on, grouperrs=on, idirect=on). * Reduced the use of global variables from 71 to 9, reduced function lengths, and removed several instances of code duplication. * Introduced a program architecture that replaces a single loop with a jobs abstraction, allowing execution of an arbitrary chain of jobs, each composed of one or more tasks that execute in parallel. The new program architecture is designed to allow for the transparent addition of multi-step processing scenarios such as the new verification capability. 2009-05-11 Richard Cordovano * Added ability to generate multiple outputs simultaneously by supporting multiple of, vf, and vfjoin command line arguments. 2009-04-01 Andrew Medico * Put hashing and disk I/O into dedicated threads to increase throughput. As a side effect, removed cbs and conv=ascii/ebcdic/ibm/(un)block/lcase/swab command-line options since they don't apply to the goal of disk imaging. Also removed hashconv option and set behavior to hashconv=after. 2009-03-24 Andrew Medico * Added ability to detect HPA / DCO hidden areas on ATA drives (Linux only) 2009-03-16 Andrew Medico * Fix hashwindow - result buffer was too small, causing incorrect output on OS X 2009-03-10 Andrew Medico * Fix blockbench.pl to automatically work on Mac OS X 2009-02-02 Andrew Medico * Print hashes to console when log is enabled 2008-12-15 Andrew Medico * Print version number in startup message 2008-12-09 Andrew Medico * Fix crash when verifying against empty file 2008-10-27 Andrew Medico * Fixed a bug that was causing incorrect hashes to be displayed when using ifjoin or reading from standard input. Output data file was not affected. 2008-10-15 Andrew Medico * Added wipe= to automatically wipe a device with zeros * Fix --help formatting so man page gets formatted properly 2008-10-06 Andrew Medico * Fix minor warnings: use correct types and printf formats 2008-09-30 Andrew Medico * Add Cygwin support 2008-09-29 Andrew Medico * Fix a crash when invalid ifjoin/vfjoin patterns given * Fix error reporting to account for skip= offset when conv=sync,noerror not used. * Refactor redundant code into functions * Remove obsolete code 2008-09-25 Andrew Medico * Fix a crash when seek=X option was used without conv=notrunc 2008-09-11 Andrew Medico * Fix progress display when skip=X option is used 2008-09-05 Andrew Medico * Removed unused coreutils modules to fix static linking error on Solaris 9 2008-09-04 Andrew Medico * Updated base package to Coreutils version 6.12. 2008-08-19 Andrew Medico * Check that split size is a multiple of block size and print an error message at startup, instead of mysteriously failing during the run. * Added "blockbench" script to easily test many block sizes and find the fastest option for imaging. 2008-07-24 Andrew Medico * Added ifjoin= and vfjoin= to input or verify against split files 2008-06-30 Andrew Medico * In closing log message, indicate if process was aborted, terminated normally, or terminated due to errors. 2008-06-27 Andrew Medico * Print hash values so far when process is interrupted 2008-06-26 Andrew Medico * Change count, skip, and seek options to take sector counts instead of bytes 2008-06-24 Andrew Medico * Report sector address when errors occur in non-grouped mode 2008-06-23 Andrew Medico * Fix compile-flag printer to handle DEFAULT_SIZEPROBE 2008-06-19 Andrew Medico * Enable dynamic error recovery automatically when conv=sync,noerror is specified * Probe device sector size instead of hard-coding dynamic error recovery read size * Change default block size to 32K * Report progress and error positions in sectors (probed from device size) instead of blocks * Fix error counting in dynamic error recovery mode 2008-06-17 Andrew Medico * Log compile-time flags to the log file 2008-06-16 Andrew Medico * Add "dynamic" block size mode for better error recovery. Now when errors are detected, dc3dd rereads the failed block one sector at a time. This lets users run dc3dd in a faster large-block mode without losing entire blocks of data when a bad sector is encountered. * When verifying an image, say "X bytes compared" in progress line instead of "X bytes copied". 2008-06-12 Andrew Medico * When count is specified, calculate completion percentage out of count*ibs, instead of total device size. 2008-06-11 Andrew Medico * When writing a pattern, sizeprobe destination device for progress reporting. 2008-06-10 Andrew Medico * Added --flags command line option to display the binary's configure flags 2008-06-05 Andrew Medico * Fixed wording of error log when I/O errors are detected in errors=group mode * Save command-line string to log file * Log start and end times to log file * Flush log file so it gets written to disk even if the process is interrupted 2008-02-29 Jesse Kornblum * Fixed default hashing support when a hash log is not explicitly defined. For example, if the user configures the program with CFLAGS="-DDEFAULT_HASH_MD5" but doesn't specify a hash log, the hashes are now sent to stderr. 2008-02-12 Jesse Kornblum * Fixed progresscount default. I had included an extra underscore yesterday. * Added ability to change DEFAULT_BLOCKSIZE as promised in the documentation. 2008-02-11 Jesse Kornblum * Added DEFAULT_ values for some command line flags. These values should be passed in the configure CFLAGS options. The specific values that can be passed: - DEFAULT_HASH_MD5, DEFAULT_HASH_SHA1, DEFAULT_HASH_SHA256, DEFAULT_HASH_SHA512 enable hashing algorithms - DEFAULT_HASHCONV_BEFORE sets hashconv=before and DEFAULT_HASHCONV_AFTER sets hashconv=after - DEFAULT_PROGRESS sets progress=on - DEFAULT_PROGRESSCOUNT sets progresscount=x (e.g. -DDEFAULT_PROGRESSCOUNT=1000000) - DEFAULT_SIZEPROBE sets sizeprobe=on Example: ./configure CFLAGS="-O2 -DDEFAULT_HASH_MD5 -DDEFAULT_HASH_SHA1" It should be noted that any default hashing algorithms are ignored if the user specifies a value for hash= on the command line. Note that when a default hashing algorithm is specified the program CANNOT be run without hashing enabled. All other values can be overrideen normally on the command line. * Moved \r out of translated text in progress meter display. This should help us avoid ugly errors regarding having \r in there. 2008-02-07 Jesse Kornblum * Updated base package to Coreutils version 6.10. 2008-01-29 Jesse Kornblum * Changed error handling such that on a partial read the entire block is wiped with zeros. See bug 1881387. * Grouped errors now display the block numbers where the error occured, not the offset. See bug 1881383. * Improved help message for splitformat option. 2008-01-19 Jesse Kornblum * Updated documentation to reflect log appends, legal values for hashconv 2008-01-12 Jesse Kornblum * Updated contact address to dc3dd@dc3.mil. 2008-01-10 Jesse Kornblum * Changed log files to append messages rather than overwrite. 2008-01-09 Jesse Kornblum * Updated dc3_error_tail to create copies of the args passed in just in case they need to be written twice (stderr and log file). * Added check to display grouped errors at end of input 2007-12-22 Jesse Kornblum * Fixed sizeprobe code for OS X. It will still need work for BSD and other non-Linux, non-Mac platforms. 2007-12-21 Jesse Kornblum * Created new source code tree based on slimmed down version of GNU Coreutils suite. Replaced existing ChangeLogs with this one. This file will be for changes to the dc3dd suite. * Replaced NEWS file with news for dc3dd only * Stripped out unused programs from src and man directories * Cleaned top level Makefile.am and configure.ac to exclude deleted programs. * Edited man/Makefile.am to only handle dc3dd.1 * Removed old directory and changelogs from coreutils dc3dd-7.1.614/blockbench.pl0000755000175000017500000000454111155560354015102 0ustar amedicoamedico#!/usr/bin/perl # blockbench.pl - block-size benchmarking script # DC3/DCCI # Andrew Medico use strict; use warnings; use Getopt::Long; my $num_trials = 3; my $sectors = 10000; my $dd = "/usr/local/bin/dc3dd"; my $help = 0; my $res = GetOptions("trials=i" => \$num_trials, "sectors=i" => \$sectors, "dd=s" => \$dd, "help" => \$help); if ($help || not defined $ARGV[0]) { print <&1`; # 102400000 bytes (98 M) copied (100%), 0.803168 s, 122 M/s if ($out =~ /(\d+) bytes .+ (\d+\.\d+) s/) { push(@trials, $1/$2); } else { die "\ndc3dd execution failed - output was:\n$out\n"; } } print "\n"; $rates{$size} = average(@trials); } print "\nResults:\n"; my ($bs, $rate, $speedup); format STDOUT = bs=@#######, avg rate @######### B/s (@#X) $bs, $rate, $speedup . my $base = $rates{512}; for $bs (sort {$rates{$b} <=> $rates{$a}} keys %rates) { $rate = $rates{$bs}; $speedup = $rate / $base; write; } sub average { my $total = 0; map { $total += $_} @_; return $total / ($#_+1); } dc3dd-7.1.614/README0000644000175000017500000000504211613312314013313 0ustar amedicoamedicodc3dd 7.1 DCCI 2010-10-18 Issues: ------- When imaging to a device with verification under Mac OS X, verification can fail due to automatic mounting of the target device. One solution is to use Disk Arbitrator in conjunction with dc3dd on OS X. New Features: ------------- Log output may be sent to multiple job logs and hash logs. Simply specify log=LOG and/or hlog=LOG more than once. Verification of an image restored to a device larger than the image is now supported. Specify phod=DEVICE to hash only the bytes dc3dd writes to the device. Specify fhod=DEVICE to hash both the bytes dc3dd writes to the device and all the bytes that follow, up to the end of the device. Building dc3dd: --------------- dc3dd is distributed as source code and must be compiled before use. The default configuration can be built and installed to /usr/local/bin with the following commands: $ tar zxvf dc3dd-7.1.tar.gz $ cd dc3dd-7.1 $ ./configure $ make $ sudo make install Note that autoconf-1.10.1 and gperf may need to be installed prior to execution of the above commands. dc3dd can be customized at compile-time with various options. The available options are as follows, and can be verified after compilation using the --flags command line option: -DDEFAULT_HASH_MD5 (equivalent to hash=md5 command-line option) -DDEFAULT_HASH_SHA1 (equivalent to hash=sha1 command-line option) -DDEFAULT_HASH_SHA256 (equivalent to hash=sha256 command-line option) -DDEFAULT_HASH_SHA512 (equivalent to hash=sha512 command-line option) -DDEFAULT_OUTPUT_FILE_SIZE=BYTES (equivalent to ofsz=BYTES command-line option) -DDEFAULT_VERBOSE_REPORTING (equivalent to verb=on command-line option) -DDEFAULT_COMPACT_REPORTING (equivalent to nwspc=on command-line option) -DDEFAULT_DECIMAL_BYTES_REPORTING (equivalent to dbr=on command-line option) --enable-hpadco Enable checking ATA/SATA drives for hidden areas No command-line equivalent, cannot be overridden. These options are enabled by including them in the CFLAGS argument to configure. For example, to enable MD5 hashing and default output file size: $ ./configure CFLAGS="-O2 -DDEFAULT_HASH_MD5 -DDEFAULT_OUTPUT_FILE_SIZE=1900M" The program can be statically linked by adding "-static" to the CFLAGS compile options: $ ./configure CFLAGS="-O2 -static" Portability Notes: ------------------ Mac OS X: To enable error recovery, use /dev/rdisk* instead of /dev/disk* Windows: dc3dd can be compiled using Cygwin, but bad sectors can put the program into an infinite loop due to bugs in Cygwin. Please send all correspondence to: dc3dd@dc3.mil dc3dd-7.1.614/ABOUT-NLS0000644000175000017500000023523511023311746013676 0ustar amedicoamedico1 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `translation@iro.umontreal.ca' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skill are praised more than programming skill, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of July 2006. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ GNUnet | [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] | bash | [] [] [] | batchelor | [] | bfd | | bibshelf | [] | binutils | [] | bison | [] [] | bison-runtime | [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | [] [] | coreutils | [] [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | darkstat | [] () [] | dialog | [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] () [] | fileutils | [] [] | findutils | [] [] [] | flex | [] [] [] | fslint | [] | gas | | gawk | [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gimp-print | [] [] [] [] | gip | [] | gliv | [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | () () [] | gnucash-glossary | [] () | gnuedu | | gnulib | [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | [] [] | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | () () | gramadoir | [] [] | grep | [] [] [] [] [] [] | gretl | | gsasl | | gss | | gst-plugins | [] [] [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | [] () | gtkam | [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | id-utils | [] [] | impost | | indent | [] [] [] | iso_3166 | [] [] | iso_3166_1 | [] [] [] [] [] | iso_3166_2 | | iso_3166_3 | [] | iso_4217 | [] | iso_639 | [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | | keytouch-editor | | keytouch-keyboa... | | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | [] | make | [] [] | man-db | [] () [] [] | minicom | [] [] [] | mysecretdiary | [] [] | nano | [] [] () [] | nano_1_0 | [] () [] [] | opcodes | [] | parted | | pilot-qof | [] | psmisc | [] | pwdutils | | python | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | silky | | skencil | [] () | sketch | [] () | solfege | | soundtracker | [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] | texinfo | [] [] [] | textutils | [] [] [] | tin | () () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] [] [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] | xchat | [] [] [] [] [] | xkeyboard-config | | xpad | [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 11 0 1 2 8 21 1 42 43 2 62 99 18 1 16 16 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ GNUnet | | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] [] [] | batchelor | [] [] | bfd | [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | darkstat | [] () [] [] [] | dialog | [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | error | [] [] [] [] [] | fetchmail | [] | fileutils | [] [] [] [] [] [] | findutils | [] [] [] [] | flex | [] [] [] | fslint | [] | gas | [] [] | gawk | [] [] [] [] | gbiff | [] | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] | gimp-print | [] [] | gip | [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnucash-glossary | [] [] | gnuedu | [] | gnulib | [] [] [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | [] [] [] [] | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] | gpsdrive | () () [] () | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] [] [] [] [] | gretl | [] [] [] | gsasl | [] | gss | [] | gst-plugins | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gstreamer | [] [] [] | gtick | [] [] [] [] [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] [] | impost | [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_3166 | [] [] [] | iso_3166_1 | [] [] [] [] [] [] [] | iso_3166_2 | [] | iso_3166_3 | [] | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] [] | ld | [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] | libidn | [] [] | lifelines | () | lilypond | [] | lingoteach | [] [] [] | lynx | [] [] [] | m4 | [] [] [] [] | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | () | minicom | [] [] [] [] | mysecretdiary | [] [] [] | nano | [] () [] [] [] [] | nano_1_0 | [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | sh-utils | [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | | silky | [] | skencil | [] [] | sketch | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] [] | texinfo | [] [] | textutils | [] [] [] [] [] | tin | [] () | tp-robot | [] [] [] [] | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | vorbis-tools | [] [] | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 89 21 16 2 41 119 61 14 1 8 1 6 61 30 0 53 ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no +--------------------------------------------------+ GNUnet | | a2ps | () [] [] () | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | | cpplib | [] | cryptonit | [] | darkstat | [] [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | error | [] | fetchmail | [] [] | fileutils | [] [] | findutils | [] | flex | [] [] | fslint | [] [] | gas | | gawk | [] [] | gbiff | [] | gcal | | gcc | | gettext-examples | [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gimp-print | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] | gnubiff | | gnucash | () () | gnucash-glossary | [] | gnuedu | | gnulib | [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | [] | gpe-edit | [] [] | gpe-filemanager | [] | gpe-go | [] [] | gpe-login | [] [] | gpe-ownerinfo | [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] | gpe-today | [] | gpe-todo | | gphoto2 | [] [] | gprof | | gpsdrive | () () () | gramadoir | () | grep | [] [] [] | gretl | | gsasl | [] | gss | | gst-plugins | [] | gst-plugins-base | | gst-plugins-good | [] | gstreamer | [] | gtick | [] | gtkam | [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | | hello | [] [] [] [] [] [] [] [] | id-utils | [] | impost | | indent | [] [] | iso_3166 | [] | iso_3166_1 | [] [] | iso_3166_2 | [] | iso_3166_3 | [] | iso_4217 | [] [] [] | iso_639 | [] [] | jpilot | () () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | | libidn | [] [] | lifelines | [] | lilypond | | lingoteach | [] | lynx | [] [] | m4 | [] [] | mailutils | | make | [] [] [] | man-db | () | minicom | [] | mysecretdiary | [] | nano | [] [] [] | nano_1_0 | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] | shishi | | silky | [] | skencil | | sketch | | solfege | | soundtracker | | sp | () | stardict | [] [] | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] [] | textutils | [] [] [] | tin | | tp-robot | [] | tuxpaint | [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | vorbis-tools | [] | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +--------------------------------------------------+ ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no 40 24 2 1 1 3 1 2 3 21 0 15 1 101 5 3 nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +------------------------------------------------------+ GNUnet | | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] | bash | [] [] [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | darkstat | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] [] | fileutils | [] [] [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] [] [] [] | gas | | gawk | [] [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gimp-print | [] [] | gip | [] [] [] [] | gliv | [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () | gnucash | () [] | gnucash-glossary | [] [] [] | gnuedu | | gnulib | [] [] [] [] [] | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] [] [] [] [] [] [] [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] | gretl | [] | gsasl | [] [] | gss | [] [] [] | gst-plugins | [] [] [] [] | gst-plugins-base | [] | gst-plugins-good | [] [] [] [] | gstreamer | [] [] [] | gtick | [] [] [] | gtkam | [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] | impost | [] | indent | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] | iso_3166_1 | [] [] [] [] | iso_3166_2 | | iso_3166_3 | [] [] [] [] | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] | libgpg-error | [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailutils | [] [] [] [] | make | [] [] [] [] | man-db | [] [] | minicom | [] [] [] [] [] | mysecretdiary | [] [] [] [] | nano | [] [] | nano_1_0 | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | [] | psmisc | [] [] | pwdutils | [] [] | python | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | sh-utils | [] [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | silky | [] | skencil | [] [] [] | sketch | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | stardict | [] [] [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] | tin | () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] | wastesedge | | wdiff | [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] | xpad | [] [] [] | +------------------------------------------------------+ nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 2 3 58 31 53 5 76 72 5 42 48 12 51 130 2 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ GNUnet | [] | 2 a2ps | [] [] [] | 19 aegis | | 0 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 14 bash | [] | 11 batchelor | [] [] | 9 bfd | | 1 bibshelf | [] | 7 binutils | [] [] [] | 9 bison | [] [] [] | 19 bison-runtime | [] [] [] | 16 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 4 clisp | | 6 console-tools | [] [] | 5 coreutils | [] [] | 17 cpio | [] [] [] | 9 cpplib | [] [] [] [] | 11 cryptonit | | 5 darkstat | [] () () | 15 dialog | [] [] [] [] [] | 30 diffutils | [] [] [] [] | 28 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 error | [] [] [] [] | 18 fetchmail | [] [] | 12 fileutils | [] [] [] | 18 findutils | [] [] [] | 17 flex | [] [] | 15 fslint | [] | 9 gas | [] | 3 gawk | [] [] | 15 gbiff | [] | 5 gcal | [] | 5 gcc | [] [] [] | 6 gettext-examples | [] [] [] [] [] [] | 26 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 19 gimp-print | [] [] | 12 gip | [] [] | 12 gliv | [] [] | 8 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 15 gnubiff | [] | 1 gnucash | () | 2 gnucash-glossary | [] [] | 9 gnuedu | [] | 2 gnulib | [] [] [] [] [] | 28 gnunet-gtk | | 1 gnutls | | 2 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] [] [] [] | 19 gpe-clock | [] [] [] [] | 20 gpe-conf | [] [] | 14 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] | 19 gpe-filemanager | [] | 5 gpe-go | [] [] | 14 gpe-login | [] [] [] [] [] | 20 gpe-ownerinfo | [] [] [] [] | 20 gpe-package | [] | 5 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] | 19 gpe-taskmanager | [] [] [] | 19 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 20 gpe-todo | [] | 6 gphoto2 | [] [] [] [] | 20 gprof | [] [] | 11 gpsdrive | | 4 gramadoir | [] | 7 grep | [] [] [] [] | 33 gretl | | 4 gsasl | [] [] | 6 gss | [] | 5 gst-plugins | [] [] [] | 15 gst-plugins-base | [] [] [] | 9 gst-plugins-good | [] [] [] | 18 gstreamer | [] [] [] | 17 gtick | [] | 11 gtkam | [] | 13 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 26 gutenprint | | 3 hello | [] [] [] [] [] | 39 id-utils | [] [] | 14 impost | [] | 4 indent | [] [] [] [] | 25 iso_3166 | [] [] [] | 15 iso_3166_1 | [] [] | 20 iso_3166_2 | | 2 iso_3166_3 | [] [] | 9 iso_4217 | [] [] | 14 iso_639 | [] | 14 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] | 12 keytouch | [] | 4 keytouch-editor | | 2 keytouch-keyboa... | | 2 latrine | [] [] | 8 ld | [] [] [] [] | 8 leafpad | [] [] [] [] | 23 libc | [] [] [] | 23 libexif | [] | 4 libextractor | [] | 5 libgpewidget | [] [] [] | 19 libgpg-error | [] | 4 libgphoto2 | [] | 8 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] | 4 libidn | [] [] | 10 lifelines | | 4 lilypond | | 2 lingoteach | [] | 6 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailutils | [] | 8 make | [] [] [] | 20 man-db | [] | 6 minicom | [] | 14 mysecretdiary | [] [] | 12 nano | [] [] | 15 nano_1_0 | [] [] [] | 18 opcodes | [] [] | 10 parted | [] [] [] | 10 pilot-qof | [] | 3 psmisc | [] | 10 pwdutils | [] | 3 python | | 0 qof | [] | 2 radius | [] | 6 recode | [] [] [] | 25 rpm | [] [] [] [] | 14 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] | 22 sh-utils | [] | 15 shared-mime-info | [] [] [] [] | 23 sharutils | [] [] [] | 23 shishi | | 1 silky | [] | 4 skencil | [] | 7 sketch | | 6 solfege | | 2 soundtracker | [] [] | 9 sp | [] | 3 stardict | [] [] [] [] | 11 system-tools-ba... | [] [] [] [] [] [] [] | 37 tar | [] [] [] [] | 19 texinfo | [] [] [] | 15 textutils | [] [] [] | 17 tin | | 1 tp-robot | [] [] [] | 10 tuxpaint | [] [] [] | 16 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 vorbis-tools | [] [] | 11 wastesedge | | 1 wdiff | [] [] | 22 wget | [] [] [] | 19 xchat | [] [] [] [] | 28 xkeyboard-config | [] [] [] [] | 11 xpad | [] [] [] | 14 +---------------------------------------------------+ 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 172 domains 0 1 1 78 39 0 135 13 1 50 3 54 0 2054 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If July 2006 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `translation@iro.umontreal.ca' to make the `.pot' files available to the translation teams. dc3dd-7.1.614/lib/0000755000175000017500000000000011613550424013206 5ustar amedicoamedicodc3dd-7.1.614/lib/isnand.h0000644000175000017500000000221611064230667014640 0ustar amedicoamedico/* Test for NaN that does not need libm. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if HAVE_ISNAND_IN_LIBC /* Get declaration of isnan macro. */ # include # if __GNUC__ >= 4 /* GCC 4.0 and newer provides three built-ins for isnan. */ # undef isnand # define isnand(x) __builtin_isnan ((double)(x)) # else # undef isnand # define isnand(x) isnan ((double)(x)) # endif #else /* Test whether X is a NaN. */ # undef isnand # define isnand rpl_isnand extern int isnand (double x); #endif dc3dd-7.1.614/lib/getpass.c0000644000175000017500000001212011064230667015020 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Copyright (C) 1992-2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _LIBC # include #endif #include "getpass.h" #include #if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) #include #if HAVE_DECL___FSETLOCKING && HAVE___FSETLOCKING # if HAVE_STDIO_EXT_H # include # endif #else # define __fsetlocking(stream, type) /* empty */ #endif #if HAVE_TERMIOS_H # include #endif #if USE_UNLOCKED_IO # include "unlocked-io.h" #else # if !HAVE_DECL_FFLUSH_UNLOCKED # undef fflush_unlocked # define fflush_unlocked(x) fflush (x) # endif # if !HAVE_DECL_FLOCKFILE # undef flockfile # define flockfile(x) ((void) 0) # endif # if !HAVE_DECL_FUNLOCKFILE # undef funlockfile # define funlockfile(x) ((void) 0) # endif # if !HAVE_DECL_FPUTS_UNLOCKED # undef fputs_unlocked # define fputs_unlocked(str,stream) fputs (str, stream) # endif # if !HAVE_DECL_PUTC_UNLOCKED # undef putc_unlocked # define putc_unlocked(c,stream) putc (c, stream) # endif #endif /* It is desirable to use this bit on systems that have it. The only bit of terminal state we want to twiddle is echoing, which is done in software; there is no need to change the state of the terminal hardware. */ #ifndef TCSASOFT # define TCSASOFT 0 #endif static void call_fclose (void *arg) { if (arg != NULL) fclose (arg); } char * getpass (const char *prompt) { FILE *tty; FILE *in, *out; struct termios s, t; bool tty_changed = false; static char *buf; static size_t bufsize; ssize_t nread; /* Try to write to and read from the terminal if we can. If we can't open the terminal, use stderr and stdin. */ tty = fopen ("/dev/tty", "w+"); if (tty == NULL) { in = stdin; out = stderr; } else { /* We do the locking ourselves. */ __fsetlocking (tty, FSETLOCKING_BYCALLER); out = in = tty; } flockfile (out); /* Turn echoing off if it is on now. */ #if HAVE_TCGETATTR if (tcgetattr (fileno (in), &t) == 0) { /* Save the old one. */ s = t; /* Tricky, tricky. */ t.c_lflag &= ~(ECHO | ISIG); tty_changed = (tcsetattr (fileno (in), TCSAFLUSH | TCSASOFT, &t) == 0); } #endif /* Write the prompt. */ fputs_unlocked (prompt, out); fflush_unlocked (out); /* Read the password. */ nread = getline (&buf, &bufsize, in); /* According to the C standard, input may not be followed by output on the same stream without an intervening call to a file positioning function. Suppose in == out; then without this fseek call, on Solaris, HP-UX, AIX, OSF/1, the previous input gets echoed, whereas on IRIX, the following newline is not output as it should be. POSIX imposes similar restrictions if fileno (in) == fileno (out). The POSIX restrictions are tricky and change from POSIX version to POSIX version, so play it safe and invoke fseek even if in != out. */ fseeko (out, 0, SEEK_CUR); if (buf != NULL) { if (nread < 0) buf[0] = '\0'; else if (buf[nread - 1] == '\n') { /* Remove the newline. */ buf[nread - 1] = '\0'; if (tty_changed) { /* Write the newline that was not echoed. */ putc_unlocked ('\n', out); } } } /* Restore the original setting. */ #if HAVE_TCSETATTR if (tty_changed) tcsetattr (fileno (in), TCSAFLUSH | TCSASOFT, &s); #endif funlockfile (out); call_fclose (tty); return buf; } #else /* W32 native */ /* Windows implementation by Martin Lambers , improved by Simon Josefsson. */ /* For PASS_MAX. */ #include /* For _getch(). */ #include /* For strdup(). */ #include #ifndef PASS_MAX # define PASS_MAX 512 #endif char * getpass (const char *prompt) { char getpassbuf[PASS_MAX + 1]; size_t i = 0; int c; if (prompt) { fputs (prompt, stderr); fflush (stderr); } for (;;) { c = _getch (); if (c == '\r') { getpassbuf[i] = '\0'; break; } else if (i < PASS_MAX) { getpassbuf[i++] = c; } if (i >= PASS_MAX) { getpassbuf[i] = '\0'; break; } } if (prompt) { fputs ("\r\n", stderr); fflush (stderr); } return strdup (getpassbuf); } #endif dc3dd-7.1.614/lib/chdir-long.c0000644000175000017500000001440211022023316015366 0ustar amedicoamedico/* provide a chdir function that tries not to fail due to ENAMETOOLONG Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include "chdir-long.h" #include #include #include #include #include #include #include #include "openat.h" #ifndef PATH_MAX # error "compile this file only if your system defines PATH_MAX" #endif struct cd_buf { int fd; }; static inline void cdb_init (struct cd_buf *cdb) { cdb->fd = AT_FDCWD; } static inline int cdb_fchdir (struct cd_buf const *cdb) { return fchdir (cdb->fd); } static inline void cdb_free (struct cd_buf const *cdb) { if (0 <= cdb->fd) { bool close_fail = close (cdb->fd); assert (! close_fail); } } /* Given a file descriptor of an open directory (or AT_FDCWD), CDB->fd, try to open the CDB->fd-relative directory, DIR. If the open succeeds, update CDB->fd with the resulting descriptor, close the incoming file descriptor, and return zero. Upon failure, return -1 and set errno. */ static int cdb_advance_fd (struct cd_buf *cdb, char const *dir) { int new_fd = openat (cdb->fd, dir, O_RDONLY | O_DIRECTORY | O_NOCTTY | O_NONBLOCK); if (new_fd < 0) return -1; cdb_free (cdb); cdb->fd = new_fd; return 0; } /* Return a pointer to the first non-slash in S. */ static inline char * find_non_slash (char const *s) { size_t n_slash = strspn (s, "/"); return (char *) s + n_slash; } /* This is a function much like chdir, but without the PATH_MAX limitation on the length of the directory name. A significant difference is that it must be able to modify (albeit only temporarily) the directory name. It handles an arbitrarily long directory name by operating on manageable portions of the name. On systems without the openat syscall, this means changing the working directory to more and more `distant' points along the long directory name and then restoring the working directory. If any of those attempts to save or restore the working directory fails, this function exits nonzero. Note that this function may still fail with errno == ENAMETOOLONG, but only if the specified directory name contains a component that is long enough to provoke such a failure all by itself (e.g. if the component has length PATH_MAX or greater on systems that define PATH_MAX). */ int chdir_long (char *dir) { int e = chdir (dir); if (e == 0 || errno != ENAMETOOLONG) return e; { size_t len = strlen (dir); char *dir_end = dir + len; struct cd_buf cdb; size_t n_leading_slash; cdb_init (&cdb); /* If DIR is the empty string, then the chdir above must have failed and set errno to ENOENT. */ assert (0 < len); assert (PATH_MAX <= len); /* Count leading slashes. */ n_leading_slash = strspn (dir, "/"); /* Handle any leading slashes as well as any name that matches the regular expression, m!^//hostname[/]*! . Handling this prefix separately usually results in a single additional cdb_advance_fd call, but it's worthwhile, since it makes the code in the following loop cleaner. */ if (n_leading_slash == 2) { int err; /* Find next slash. We already know that dir[2] is neither a slash nor '\0'. */ char *slash = memchr (dir + 3, '/', dir_end - (dir + 3)); if (slash == NULL) { errno = ENAMETOOLONG; return -1; } *slash = '\0'; err = cdb_advance_fd (&cdb, dir); *slash = '/'; if (err != 0) goto Fail; dir = find_non_slash (slash + 1); } else if (n_leading_slash) { if (cdb_advance_fd (&cdb, "/") != 0) goto Fail; dir += n_leading_slash; } assert (*dir != '/'); assert (dir <= dir_end); while (PATH_MAX <= dir_end - dir) { int err; /* Find a slash that is PATH_MAX or fewer bytes away from dir. I.e. see if there is a slash that will give us a name of length PATH_MAX-1 or less. */ char *slash = memrchr (dir, '/', PATH_MAX); if (slash == NULL) { errno = ENAMETOOLONG; return -1; } *slash = '\0'; assert (slash - dir < PATH_MAX); err = cdb_advance_fd (&cdb, dir); *slash = '/'; if (err != 0) goto Fail; dir = find_non_slash (slash + 1); } if (dir < dir_end) { if (cdb_advance_fd (&cdb, dir) != 0) goto Fail; } if (cdb_fchdir (&cdb) != 0) goto Fail; cdb_free (&cdb); return 0; Fail: { int saved_errno = errno; cdb_free (&cdb); errno = saved_errno; return -1; } } } #if TEST_CHDIR # include # include "closeout.h" # include "error.h" char *program_name; int main (int argc, char *argv[]) { char *line = NULL; size_t n = 0; int len; program_name = argv[0]; atexit (close_stdout); len = getline (&line, &n, stdin); if (len < 0) { int saved_errno = errno; if (feof (stdin)) exit (0); error (EXIT_FAILURE, saved_errno, "reading standard input"); } else if (len == 0) exit (0); if (line[len-1] == '\n') line[len-1] = '\0'; if (chdir_long (line) != 0) error (EXIT_FAILURE, errno, "chdir_long failed: %s", line); if (argc <= 1) { /* Using `pwd' here makes sense only if it is a robust implementation, like the one in coreutils after the 2004-04-19 changes. */ char const *cmd = "pwd"; execlp (cmd, (char *) NULL); error (EXIT_FAILURE, errno, "%s", cmd); } fclose (stdin); fclose (stderr); exit (EXIT_SUCCESS); } #endif /* Local Variables: compile-command: "gcc -DTEST_CHDIR=1 -g -O -W -Wall chdir-long.c libcoreutils.a" End: */ dc3dd-7.1.614/lib/sha512.h0000644000175000017500000000664311064230667014377 0ustar amedicoamedico/* Declarations of functions and data types used for SHA512 and SHA384 sum library functions. Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef SHA512_H # define SHA512_H 1 # include # include "u64.h" /* Structure to save state of computation between the single steps. */ struct sha512_ctx { u64 state[8]; u64 total[2]; size_t buflen; u64 buffer[32]; }; enum { SHA384_DIGEST_SIZE = 48 }; enum { SHA512_DIGEST_SIZE = 64 }; /* Initialize structure containing state of computation. */ extern void sha512_init_ctx (struct sha512_ctx *ctx); extern void sha384_init_ctx (struct sha512_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is necessary that LEN is a multiple of 128!!! */ extern void sha512_process_block (const void *buffer, size_t len, struct sha512_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is NOT required that LEN is a multiple of 128. */ extern void sha512_process_bytes (const void *buffer, size_t len, struct sha512_ctx *ctx); /* Process the remaining bytes in the buffer and put result from CTX in first 64 (48) bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha512_finish_ctx (struct sha512_ctx *ctx, void *resbuf); extern void *sha384_finish_ctx (struct sha512_ctx *ctx, void *resbuf); /* Put result from CTX in first 64 (48) bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. IMPORTANT: On some systems it is required that RESBUF is correctly aligned for a 32 bits value. */ extern void *sha512_read_ctx (const struct sha512_ctx *ctx, void *resbuf); extern void *sha384_read_ctx (const struct sha512_ctx *ctx, void *resbuf); /* Compute SHA512 (SHA384) message digest for bytes read from STREAM. The resulting message digest number will be written into the 64 (48) bytes beginning at RESBLOCK. */ extern int sha512_stream (FILE *stream, void *resblock); extern int sha384_stream (FILE *stream, void *resblock); /* Compute SHA512 (SHA384) message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha512_buffer (const char *buffer, size_t len, void *resblock); extern void *sha384_buffer (const char *buffer, size_t len, void *resblock); #endif dc3dd-7.1.614/lib/fileblocks.c0000644000175000017500000000377211022023316015465 0ustar amedicoamedico/* Convert file size to number of blocks on System V-like machines. Copyright (C) 1990, 1997, 1998, 1999, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Brian L. Matthews, blm@6sceng.UUCP. */ #include #include #if HAVE_SYS_PARAM_H # include #endif #if !HAVE_STRUCT_STAT_ST_BLOCKS && !defined _POSIX_SOURCE && defined BSIZE # include # ifndef NINDIR # if defined __DJGPP__ typedef long daddr_t; /* for disk address */ # endif /* Some SysV's, like Irix, seem to lack this. Hope it's correct. */ /* Number of inode pointers per indirect block. */ # define NINDIR (BSIZE / sizeof (daddr_t)) # endif /* !NINDIR */ /* Number of direct block addresses in an inode. */ # define NDIR 10 /* Return the number of 512-byte blocks in a file of SIZE bytes. */ off_t st_blocks (off_t size) { off_t datablks = size / 512 + (size % 512 != 0); off_t indrblks = 0; if (datablks > NDIR) { indrblks = (datablks - NDIR - 1) / NINDIR + 1; if (datablks > NDIR + NINDIR) { indrblks += (datablks - NDIR - NINDIR - 1) / (NINDIR * NINDIR) + 1; if (datablks > NDIR + NINDIR + NINDIR * NINDIR) indrblks++; } } return datablks + indrblks; } #else /* This declaration is solely to ensure that after preprocessing this file is never empty. */ typedef int textutils_fileblocks_unused; #endif dc3dd-7.1.614/lib/isapipe.c0000644000175000017500000000635711064230667015023 0ustar amedicoamedico/* Test whether a file descriptor is a pipe. Copyright (C) 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "isapipe.h" #include #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Windows platforms. */ /* Get _get_osfhandle. */ # include /* Get GetFileType. */ # include int isapipe (int fd) { HANDLE h = (HANDLE) _get_osfhandle (fd); if (h == INVALID_HANDLE_VALUE) { errno = EBADF; return -1; } return (GetFileType (h) == FILE_TYPE_PIPE); } #else /* Unix platforms. */ # include # include # include # include /* The maximum link count for pipes; (nlink_t) -1 if not known. */ # ifndef PIPE_LINK_COUNT_MAX # define PIPE_LINK_COUNT_MAX ((nlink_t) (-1)) # endif /* Return 1 if FD is a pipe, 0 if not, -1 (setting errno) on error. Test fairly strictly whether FD is a pipe. lseek and checking for ESPIPE does not suffice, since many non-pipe files cause lseek to fail with errno == ESPIPE. */ int isapipe (int fd) { nlink_t pipe_link_count_max = PIPE_LINK_COUNT_MAX; bool check_for_fifo = (HAVE_FIFO_PIPES == 1); struct stat st; int fstat_result = fstat (fd, &st); if (fstat_result != 0) return fstat_result; /* We want something that succeeds only for pipes, but on POSIX-conforming hosts S_ISFIFO succeeds for both FIFOs and pipes and we know of no portable, reliable way to distinguish them in general. However, in practice pipes always have a link count <= PIPE_LINK_COUNT_MAX (unless someone attaches them to the file system name space using fattach, in which case they're not really pipes any more), so test for that as well. On Darwin 7.7, pipes are sockets, so check for those instead. */ if (! ((HAVE_FIFO_PIPES == 0 || HAVE_FIFO_PIPES == 1) && PIPE_LINK_COUNT_MAX != (nlink_t) -1) && (S_ISFIFO (st.st_mode) | S_ISSOCK (st.st_mode))) { int fd_pair[2]; int pipe_result = pipe (fd_pair); if (pipe_result != 0) return pipe_result; else { struct stat pipe_st; int fstat_pipe_result = fstat (fd_pair[0], &pipe_st); int fstat_pipe_errno = errno; close (fd_pair[0]); close (fd_pair[1]); if (fstat_pipe_result != 0) { errno = fstat_pipe_errno; return fstat_pipe_result; } check_for_fifo = (S_ISFIFO (pipe_st.st_mode) != 0); pipe_link_count_max = pipe_st.st_nlink; } } return (st.st_nlink <= pipe_link_count_max && (check_for_fifo ? S_ISFIFO (st.st_mode) : S_ISSOCK (st.st_mode))); } #endif dc3dd-7.1.614/lib/freading.c0000644000175000017500000000424411064230667015141 0ustar amedicoamedico/* Retrieve information about a FILE stream. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "freading.h" #include "stdio-impl.h" /* Don't use glibc's __freading function in glibc < 2.7, see */ #if !(HAVE___FREADING && (!defined __GLIBC__ || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 7))) bool freading (FILE *fp) { /* Most systems provide FILE as a struct and the necessary bitmask in , because they need it for implementing getc() and putc() as fast macros. */ #if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ return ((fp->_flags & _IO_NO_WRITES) != 0 || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 && fp->_IO_read_base != NULL)); #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ return (fp_->_flags & __SRD) != 0; #elif defined __EMX__ /* emx+gcc */ return (fp->_flags & _IOREAD) != 0; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ return (fp->_flag & _IOREAD) != 0; #elif defined __UCLIBC__ /* uClibc */ return (fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) != 0; #elif defined __QNX__ /* QNX */ return ((fp->_Mode & 0x2 /* _MOPENW */) == 0 || (fp->_Mode & 0x1000 /* _MREAD */) != 0); #else #error "Please port gnulib freading.c to your platform!" #endif } #endif dc3dd-7.1.614/lib/signbitf.c0000644000175000017500000000400211022023316015140 0ustar amedicoamedico/* signbit() macro: Determine the sign bit of a floating-point number. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include "isnanf.h" #include "float+.h" #undef gl_signbitf int gl_signbitf (float arg) { #if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT /* The use of a union to extract the bits of the representation of a 'long double' is safe in practice, despite of the "aliasing rules" of C99, because the GCC docs say "Even with '-fstrict-aliasing', type-punning is allowed, provided the memory is accessed through the union type." and similarly for other compilers. */ # define NWORDS \ ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) union { float value; unsigned int word[NWORDS]; } m; m.value = arg; return (m.word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; #elif HAVE_COPYSIGNF_IN_LIBC return copysignf (1.0f, arg) < 0; #else /* This does not do the right thing for NaN, but this is irrelevant for most use cases. */ if (isnanf (arg)) return 0; if (arg < 0.0f) return 1; else if (arg == 0.0f) { /* Distinguish 0.0f and -0.0f. */ static float plus_zero = 0.0f; float arg_mem = arg; return (memcmp (&plus_zero, &arg_mem, SIZEOF_FLT) != 0); } else return 0; #endif } dc3dd-7.1.614/lib/posixtm.c0000644000175000017500000002074111022023316015046 0ustar amedicoamedico/* Parse dates for touch and date. Copyright (C) 1989, 1990, 1991, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Yacc-based version written by Jim Kingdon and David MacKenzie. Rewritten by Jim Meyering. */ #include #include "posixtm.h" #include #include #include #include #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of `digit' even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) time_t mktime (); /* POSIX requires: touch -t [[CC]YY]mmddhhmm[.ss] FILE... 8, 10, or 12 digits, followed by optional .ss (PDS_LEADING_YEAR | PDS_CENTURY | PDS_SECONDS) touch mmddhhmm[YY] FILE... (obsoleted by POSIX 1003.1-2001) 8 or 10 digits, YY (if present) must be in the range 69-99 (PDS_TRAILING_YEAR | PDS_PRE_2000) date mmddhhmm[[CC]YY] 8, 10, or 12 digits (PDS_TRAILING_YEAR | PDS_CENTURY) */ static int year (struct tm *tm, const int *digit_pair, size_t n, unsigned int syntax_bits) { switch (n) { case 1: tm->tm_year = *digit_pair; /* Deduce the century based on the year. POSIX requires that 00-68 be interpreted as 2000-2068, and that 69-99 be interpreted as 1969-1999. */ if (digit_pair[0] <= 68) { if (syntax_bits & PDS_PRE_2000) return 1; tm->tm_year += 100; } break; case 2: if (! (syntax_bits & PDS_CENTURY)) return 1; tm->tm_year = digit_pair[0] * 100 + digit_pair[1] - 1900; break; case 0: { time_t now; struct tm *tmp; /* Use current year. */ time (&now); tmp = localtime (&now); if (! tmp) return 1; tm->tm_year = tmp->tm_year; } break; default: abort (); } return 0; } static int posix_time_parse (struct tm *tm, const char *s, unsigned int syntax_bits) { const char *dot = NULL; int pair[6]; int *p; size_t i; size_t s_len = strlen (s); size_t len = (((syntax_bits & PDS_SECONDS) && (dot = strchr (s, '.'))) ? (size_t) (dot - s) : s_len); if (len != 8 && len != 10 && len != 12) return 1; if (dot) { if (!(syntax_bits & PDS_SECONDS)) return 1; if (s_len - len != 3) return 1; } for (i = 0; i < len; i++) if (!ISDIGIT (s[i])) return 1; len /= 2; for (i = 0; i < len; i++) pair[i] = 10 * (s[2*i] - '0') + s[2*i + 1] - '0'; p = pair; if (syntax_bits & PDS_LEADING_YEAR) { if (year (tm, p, len - 4, syntax_bits)) return 1; p += len - 4; len = 4; } /* Handle 8 digits worth of `MMDDhhmm'. */ tm->tm_mon = *p++ - 1; tm->tm_mday = *p++; tm->tm_hour = *p++; tm->tm_min = *p++; len -= 4; /* Handle any trailing year. */ if (syntax_bits & PDS_TRAILING_YEAR) { if (year (tm, p, len, syntax_bits)) return 1; } /* Handle seconds. */ if (!dot) { tm->tm_sec = 0; } else { int seconds; ++dot; if (!ISDIGIT (dot[0]) || !ISDIGIT (dot[1])) return 1; seconds = 10 * (dot[0] - '0') + dot[1] - '0'; tm->tm_sec = seconds; } return 0; } /* Parse a POSIX-style date, returning true if successful. */ bool posixtime (time_t *p, const char *s, unsigned int syntax_bits) { struct tm tm0 #ifdef lint /* Placate gcc-4's -Wuninitialized. posix_time_parse fails to set all of tm0 only when it returns nonzero (due to year() returning nonzero), and in that case, this code doesn't use the tm0 at all. */ = { 0, } #endif ; struct tm tm1; struct tm const *tm; time_t t; if (posix_time_parse (&tm0, s, syntax_bits)) return false; tm1 = tm0; tm1.tm_isdst = -1; t = mktime (&tm1); if (t != (time_t) -1) tm = &tm1; else { /* mktime returns -1 for errors, but -1 is also a valid time_t value. Check whether an error really occurred. */ tm = localtime (&t); if (! tm) return false; } /* Reject dates like "September 31" and times like "25:61". */ if ((tm0.tm_year ^ tm->tm_year) | (tm0.tm_mon ^ tm->tm_mon) | (tm0.tm_mday ^ tm->tm_mday) | (tm0.tm_hour ^ tm->tm_hour) | (tm0.tm_min ^ tm->tm_min) | (tm0.tm_sec ^ tm->tm_sec)) return false; *p = t; return true; } #ifdef TEST_POSIXTIME /* Test mainly with syntax_bits == 13 (aka: (PDS_LEADING_YEAR | PDS_CENTURY | PDS_SECONDS)) This test data assumes Universal Time, e.g., TZ="UTC0". This test data also assumes that time_t is signed and is at least 39 bits wide, so that it can represent all years from 0000 through 9999. A host with 32-bit signed time_t can represent only time stamps in the range 1901-12-13 20:45:52 through 2038-01-18 03:14:07 UTC, assuming POSIX time_t with no leap seconds, so test cases outside this range will not work on such a host. Also, the first two lines of test data assume that the current year is 2002. BEGIN-DATA 12131415.16 13 1039788916 Fri Dec 13 14:15:16 2002 12131415.16 13 1039788916 Fri Dec 13 14:15:16 2002 000001010000.00 13 -62167132800 Sun Jan 1 00:00:00 0000 190112132045.52 13 -2147483648 Fri Dec 13 20:45:52 1901 190112132045.53 13 -2147483647 Fri Dec 13 20:45:53 1901 190112132046.52 13 -2147483588 Fri Dec 13 20:46:52 1901 190112132145.52 13 -2147480048 Fri Dec 13 21:45:52 1901 190112142045.52 13 -2147397248 Sat Dec 14 20:45:52 1901 190201132045.52 13 -2144805248 Mon Jan 13 20:45:52 1902 196912312359.59 13 -1 Wed Dec 31 23:59:59 1969 197001010000.00 13 0 Thu Jan 1 00:00:00 1970 197001010000.01 13 1 Thu Jan 1 00:00:01 1970 197001010001.00 13 60 Thu Jan 1 00:01:00 1970 197001010100.00 13 3600 Thu Jan 1 01:00:00 1970 197001020000.00 13 86400 Fri Jan 2 00:00:00 1970 197002010000.00 13 2678400 Sun Feb 1 00:00:00 1970 197101010000.00 13 31536000 Fri Jan 1 00:00:00 1971 197001000000.00 13 * * 197000010000.00 13 * * 197001010000.60 13 * * 197001010060.00 13 * * 197001012400.00 13 * * 197001320000.00 13 * * 197013010000.00 13 * * 203801190314.06 13 2147483646 Tue Jan 19 03:14:06 2038 203801190314.07 13 2147483647 Tue Jan 19 03:14:07 2038 203801190314.08 13 2147483648 Tue Jan 19 03:14:08 2038 999912312359.59 13 253402300799 Fri Dec 31 23:59:59 9999 1112131415 13 1323785700 Tue Dec 13 14:15:00 2011 1112131415.16 13 1323785716 Tue Dec 13 14:15:16 2011 201112131415.16 13 1323785716 Tue Dec 13 14:15:16 2011 191112131415.16 13 -1831974284 Wed Dec 13 14:15:16 1911 203712131415.16 13 2144326516 Sun Dec 13 14:15:16 2037 3712131415.16 13 2144326516 Sun Dec 13 14:15:16 2037 6812131415.16 13 3122633716 Thu Dec 13 14:15:16 2068 6912131415.16 13 -1590284 Sat Dec 13 14:15:16 1969 7012131415.16 13 29945716 Sun Dec 13 14:15:16 1970 1213141599 2 945094500 Mon Dec 13 14:15:00 1999 1213141500 2 976716900 Wed Dec 13 14:15:00 2000 END-DATA */ # define MAX_BUFF_LEN 1024 int main (void) { char buff[MAX_BUFF_LEN + 1]; buff[MAX_BUFF_LEN] = 0; while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0]) { char time_str[MAX_BUFF_LEN]; unsigned int syntax_bits; time_t t; if (sscanf (buff, "%s %u", time_str, &syntax_bits) != 2) printf ("*\n"); else { printf ("%-15s %2u ", time_str, syntax_bits); if (posixtime (&t, time_str, syntax_bits)) printf ("%12ld %s", (long int) t, ctime (&t)); else printf ("%12s %s", "*", "*\n"); } } exit (0); } #endif /* Local Variables: compile-command: "gcc -DTEST_POSIXTIME -g -O -Wall -W posixtm.c" End: */ dc3dd-7.1.614/lib/mkstemp.c0000644000175000017500000000247611022023316015030 0ustar amedicoamedico/* Copyright (C) 1998, 1999, 2001, 2005, 2006, 2007 Free Software Foundation, Inc. This file is derived from the one in the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if !_LIBC # include #endif #include #if !_LIBC # include "tempname.h" # define __gen_tempname gen_tempname # define __GT_FILE GT_FILE #endif #include #ifndef __GT_FILE # define __GT_FILE 0 #endif /* Generate a unique temporary file name from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the file name unique. Then open the file and return a fd. */ int mkstemp (template) char *template; { return __gen_tempname (template, __GT_FILE); } dc3dd-7.1.614/lib/canonicalize.h0000644000175000017500000000357011022023316016010 0ustar amedicoamedico/* Return the canonical absolute name of a given file. Copyright (C) 1996-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef CANONICALIZE_H_ # define CANONICALIZE_H_ # if GNULIB_CANONICALIZE enum canonicalize_mode_t { /* All components must exist. */ CAN_EXISTING = 0, /* All components excluding last one must exist. */ CAN_ALL_BUT_LAST = 1, /* No requirements on components existence. */ CAN_MISSING = 2 }; typedef enum canonicalize_mode_t canonicalize_mode_t; /* Return a malloc'd string containing the canonical absolute name of the named file. This acts like canonicalize_file_name, except that whether components must exist depends on the canonicalize_mode_t argument. */ char *canonicalize_filename_mode (const char *, canonicalize_mode_t); # endif # if HAVE_DECL_CANONICALIZE_FILE_NAME # include # else /* Return a malloc'd string containing the canonical absolute name of the named file. If any file name component does not exist or is a symlink to a nonexistent file, return NULL. A canonical name does not contain any `.', `..' components nor any repeated file name separators ('/') or symlinks. */ char *canonicalize_file_name (const char *); # endif #endif /* !CANONICALIZE_H_ */ dc3dd-7.1.614/lib/quote.h0000644000175000017500000000152311022023316014502 0ustar amedicoamedico/* quote.h - prototypes for quote.c Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ char const *quote_n (int n, char const *name); char const *quote (char const *name); dc3dd-7.1.614/lib/printf-parse.h0000644000175000017500000001120111064230667015770 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Parse printf format string. Copyright (C) 1999, 2002-2003, 2005, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _PRINTF_PARSE_H #define _PRINTF_PARSE_H /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. STATIC Set to 'static' to declare the function static. */ #include "printf-args.h" /* Flags */ #define FLAG_GROUP 1 /* ' flag */ #define FLAG_LEFT 2 /* - flag */ #define FLAG_SHOWSIGN 4 /* + flag */ #define FLAG_SPACE 8 /* space flag */ #define FLAG_ALT 16 /* # flag */ #define FLAG_ZERO 32 /* arg_index value indicating that no argument is consumed. */ #define ARG_NONE (~(size_t)0) /* xxx_directive: A parsed directive. xxx_directives: A parsed format string. */ /* A parsed directive. */ typedef struct { const char* dir_start; const char* dir_end; int flags; const char* width_start; const char* width_end; size_t width_arg_index; const char* precision_start; const char* precision_end; size_t precision_arg_index; char conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ size_t arg_index; } char_directive; /* A parsed format string. */ typedef struct { size_t count; char_directive *dir; size_t max_width_length; size_t max_precision_length; } char_directives; #if ENABLE_UNISTDIO /* A parsed directive. */ typedef struct { const uint8_t* dir_start; const uint8_t* dir_end; int flags; const uint8_t* width_start; const uint8_t* width_end; size_t width_arg_index; const uint8_t* precision_start; const uint8_t* precision_end; size_t precision_arg_index; uint8_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ size_t arg_index; } u8_directive; /* A parsed format string. */ typedef struct { size_t count; u8_directive *dir; size_t max_width_length; size_t max_precision_length; } u8_directives; /* A parsed directive. */ typedef struct { const uint16_t* dir_start; const uint16_t* dir_end; int flags; const uint16_t* width_start; const uint16_t* width_end; size_t width_arg_index; const uint16_t* precision_start; const uint16_t* precision_end; size_t precision_arg_index; uint16_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ size_t arg_index; } u16_directive; /* A parsed format string. */ typedef struct { size_t count; u16_directive *dir; size_t max_width_length; size_t max_precision_length; } u16_directives; /* A parsed directive. */ typedef struct { const uint32_t* dir_start; const uint32_t* dir_end; int flags; const uint32_t* width_start; const uint32_t* width_end; size_t width_arg_index; const uint32_t* precision_start; const uint32_t* precision_end; size_t precision_arg_index; uint32_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */ size_t arg_index; } u32_directive; /* A parsed format string. */ typedef struct { size_t count; u32_directive *dir; size_t max_width_length; size_t max_precision_length; } u32_directives; #endif /* Parses the format string. Fills in the number N of directives, and fills in directives[0], ..., directives[N-1], and sets directives[N].dir_start to the end of the format string. Also fills in the arg_type fields of the arguments and the needed count of arguments. */ #if ENABLE_UNISTDIO extern int ulc_printf_parse (const char *format, char_directives *d, arguments *a); extern int u8_printf_parse (const uint8_t *format, u8_directives *d, arguments *a); extern int u16_printf_parse (const uint16_t *format, u16_directives *d, arguments *a); extern int u32_printf_parse (const uint32_t *format, u32_directives *d, arguments *a); #else # ifdef STATIC STATIC # else extern # endif int printf_parse (const char *format, char_directives *d, arguments *a); #endif #endif /* _PRINTF_PARSE_H */ dc3dd-7.1.614/lib/human.h0000644000175000017500000000545711022023316014467 0ustar amedicoamedico/* human.h -- print human readable file size Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert and Larry McVoy. */ #ifndef HUMAN_H_ # define HUMAN_H_ 1 # include # include # include # include # include /* A conservative bound on the maximum length of a human-readable string. The output can be the square of the largest uintmax_t, so double its size before converting to a bound. log10 (2.0) < 146/485. Add 1 for integer division truncation. Also, the output can have a thousands separator between every digit, so multiply by MB_LEN_MAX + 1 and then subtract MB_LEN_MAX. Append 1 for a space before the suffix. Finally, append 3, the maximum length of a suffix. */ # define LONGEST_HUMAN_READABLE \ ((2 * sizeof (uintmax_t) * CHAR_BIT * 146 / 485 + 1) * (MB_LEN_MAX + 1) \ - MB_LEN_MAX + 1 + 3) /* Options for human_readable. */ enum { /* Unless otherwise specified these options may be ORed together. */ /* The following three options are mutually exclusive. */ /* Round to plus infinity (default). */ human_ceiling = 0, /* Round to nearest, ties to even. */ human_round_to_nearest = 1, /* Round to minus infinity. */ human_floor = 2, /* Group digits together, e.g. `1,000,000'. This uses the locale-defined grouping; the traditional C locale does not group, so this has effect only if some other locale is in use. */ human_group_digits = 4, /* When autoscaling, suppress ".0" at end. */ human_suppress_point_zero = 8, /* Scale output and use SI-style units, ignoring the output block size. */ human_autoscale = 16, /* Prefer base 1024 to base 1000. */ human_base_1024 = 32, /* Prepend " " before unit symbol. */ human_space_before_unit = 64, /* Append SI prefix, e.g. "k" or "M". */ human_SI = 128, /* Append "B" (if base 1000) or "iB" (if base 1024) to SI prefix. */ human_B = 256 }; char *human_readable (uintmax_t, char *, int, uintmax_t, uintmax_t); enum strtol_error human_options (char const *, int *, uintmax_t *); #endif /* HUMAN_H_ */ dc3dd-7.1.614/lib/utimecmp.c0000644000175000017500000002276611022023316015177 0ustar amedicoamedico/* utimecmp.c -- compare file time stamps Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "utimecmp.h" #include #include #include #include #include #include "hash.h" #include "intprops.h" #include "stat-time.h" #include "utimens.h" #include "verify.h" #include "xalloc.h" #ifndef MAX # define MAX(a, b) ((a) > (b) ? (a) : (b)) #endif enum { BILLION = 1000 * 1000 * 1000 }; /* Best possible resolution that utimens can set and stat can return, due to system-call limitations. It must be a power of 10 that is no greater than 1 billion. */ #if (HAVE_WORKING_UTIMES \ && (defined HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_ATIMENSEC \ || defined HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_SPARE1)) enum { SYSCALL_RESOLUTION = 1000 }; #else enum { SYSCALL_RESOLUTION = BILLION }; #endif /* Describe a file system and its time stamp resolution in nanoseconds. */ struct fs_res { /* Device number of file system. */ dev_t dev; /* An upper bound on the time stamp resolution of this file system, ignoring any resolution that cannot be set via utimens. It is represented by an integer count of nanoseconds. It must be either 2 billion, or a power of 10 that is no greater than a billion and is no less than SYSCALL_RESOLUTION. */ int resolution; /* True if RESOLUTION is known to be exact, and is not merely an upper bound on the true resolution. */ bool exact; }; /* Hash some device info. */ static size_t dev_info_hash (void const *x, size_t table_size) { struct fs_res const *p = x; /* Beware signed arithmetic gotchas. */ if (TYPE_SIGNED (dev_t) && SIZE_MAX < MAX (INT_MAX, TYPE_MAXIMUM (dev_t))) { uintmax_t dev = p->dev; return dev % table_size; } return p->dev % table_size; } /* Compare two dev_info structs. */ static bool dev_info_compare (void const *x, void const *y) { struct fs_res const *a = x; struct fs_res const *b = y; return a->dev == b->dev; } /* Return -1, 0, 1 based on whether the destination file (with name DST_NAME and status DST_STAT) is older than SRC_STAT, the same age as SRC_STAT, or newer than SRC_STAT, respectively. If OPTIONS & UTIMECMP_TRUNCATE_SOURCE, do the comparison after SRC is converted to the destination's timestamp resolution as filtered through utimens. In this case, return -2 if the exact answer cannot be determined; this can happen only if the time stamps are very close and there is some trouble accessing the file system (e.g., the user does not have permission to futz with the destination's time stamps). */ int utimecmp (char const *dst_name, struct stat const *dst_stat, struct stat const *src_stat, int options) { /* Things to watch out for: The code uses a static hash table internally and is not safe in the presence of signals, multiple threads, etc. int and long int might be 32 bits. Many of the calculations store numbers up to 2 billion, and multiply by 10; they have to avoid multiplying 2 billion by 10, as this exceeds 32-bit capabilities. time_t might be unsigned. */ verify (TYPE_IS_INTEGER (time_t)); verify (TYPE_TWOS_COMPLEMENT (int)); /* Destination and source time stamps. */ time_t dst_s = dst_stat->st_mtime; time_t src_s = src_stat->st_mtime; int dst_ns = get_stat_mtime_ns (dst_stat); int src_ns = get_stat_mtime_ns (src_stat); if (options & UTIMECMP_TRUNCATE_SOURCE) { /* Look up the time stamp resolution for the destination device. */ /* Hash table for devices. */ static Hash_table *ht; /* Information about the destination file system. */ static struct fs_res *new_dst_res; struct fs_res *dst_res; /* Time stamp resolution in nanoseconds. */ int res; if (! ht) ht = hash_initialize (16, NULL, dev_info_hash, dev_info_compare, free); if (! new_dst_res) { new_dst_res = xmalloc (sizeof *new_dst_res); new_dst_res->resolution = 2 * BILLION; new_dst_res->exact = false; } new_dst_res->dev = dst_stat->st_dev; dst_res = hash_insert (ht, new_dst_res); if (! dst_res) xalloc_die (); if (dst_res == new_dst_res) { /* NEW_DST_RES is now in use in the hash table, so allocate a new entry next time. */ new_dst_res = NULL; } res = dst_res->resolution; if (! dst_res->exact) { /* This file system's resolution is not known exactly. Deduce it, and store the result in the hash table. */ time_t dst_a_s = dst_stat->st_atime; time_t dst_c_s = dst_stat->st_ctime; time_t dst_m_s = dst_s; int dst_a_ns = get_stat_atime_ns (dst_stat); int dst_c_ns = get_stat_ctime_ns (dst_stat); int dst_m_ns = dst_ns; /* Set RES to an upper bound on the file system resolution (after truncation due to SYSCALL_RESOLUTION) by inspecting the atime, ctime and mtime of the existing destination. We don't know of any file system that stores atime or ctime with a higher precision than mtime, so it's valid to look at them too. */ { bool odd_second = (dst_a_s | dst_c_s | dst_m_s) & 1; if (SYSCALL_RESOLUTION == BILLION) { if (odd_second | dst_a_ns | dst_c_ns | dst_m_ns) res = BILLION; } else { int a = dst_a_ns; int c = dst_c_ns; int m = dst_m_ns; /* Write it this way to avoid mistaken GCC warning about integer overflow in constant expression. */ int SR10 = SYSCALL_RESOLUTION; SR10 *= 10; if ((a % SR10 | c % SR10 | m % SR10) != 0) res = SYSCALL_RESOLUTION; else for (res = SR10, a /= SR10, c /= SR10, m /= SR10; (res < dst_res->resolution && (a % 10 | c % 10 | m % 10) == 0); res *= 10, a /= 10, c /= 10, m /= 10) if (res == BILLION) { if (! odd_second) res *= 2; break; } } dst_res->resolution = res; } if (SYSCALL_RESOLUTION < res) { struct timespec timespec[2]; struct stat dst_status; /* Ignore source time stamp information that must necessarily be lost when filtered through utimens. */ src_ns -= src_ns % SYSCALL_RESOLUTION; /* If the time stamps disagree widely enough, there's no need to interrogate the file system to deduce the exact time stamp resolution; return the answer directly. */ { time_t s = src_s & ~ (res == 2 * BILLION); if (src_s < dst_s || (src_s == dst_s && src_ns <= dst_ns)) return 1; if (dst_s < s || (dst_s == s && dst_ns < src_ns - src_ns % res)) return -1; } /* Determine the actual time stamp resolution for the destination file system (after truncation due to SYSCALL_RESOLUTION) by setting the access time stamp of the destination to the existing access time, except with trailing nonzero digits. */ timespec[0].tv_sec = dst_a_s; timespec[0].tv_nsec = dst_a_ns; timespec[1].tv_sec = dst_m_s | (res == 2 * BILLION); timespec[1].tv_nsec = dst_m_ns + res / 9; /* Set the modification time. But don't try to set the modification time of symbolic links; on many hosts this sets the time of the pointed-to file. */ if (S_ISLNK (dst_stat->st_mode) || utimens (dst_name, timespec) != 0) return -2; /* Read the modification time that was set. It's safe to call 'stat' here instead of worrying about 'lstat'; either the caller used 'stat', or the caller used 'lstat' and found something other than a symbolic link. */ { int stat_result = stat (dst_name, &dst_status); if (stat_result | (dst_status.st_mtime ^ dst_m_s) | (get_stat_mtime_ns (&dst_status) ^ dst_m_ns)) { /* The modification time changed, or we can't tell whether it changed. Change it back as best we can. */ timespec[1].tv_sec = dst_m_s; timespec[1].tv_nsec = dst_m_ns; utimens (dst_name, timespec); } if (stat_result != 0) return -2; } /* Determine the exact resolution from the modification time that was read back. */ { int old_res = res; int a = (BILLION * (dst_status.st_mtime & 1) + get_stat_mtime_ns (&dst_status)); res = SYSCALL_RESOLUTION; for (a /= res; a % 10 != 0; a /= 10) { if (res == BILLION) { res *= 2; break; } res *= 10; if (res == old_res) break; } } } dst_res->resolution = res; dst_res->exact = true; } /* Truncate the source's time stamp according to the resolution. */ src_s &= ~ (res == 2 * BILLION); src_ns -= src_ns % res; } /* Compare the time stamps and return -1, 0, 1 accordingly. */ return (dst_s < src_s ? -1 : dst_s > src_s ? 1 : dst_ns < src_ns ? -1 : dst_ns > src_ns); } dc3dd-7.1.614/lib/mbsstr.c0000644000175000017500000002632411064230667014677 0ustar amedicoamedico/* Searching in a string. Copyright (C) 2005-2008 Free Software Foundation, Inc. Written by Bruno Haible , 2005. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include /* for NULL, in case a nonstandard string.h lacks it */ #include "malloca.h" #if HAVE_MBRTOWC # include "mbuiter.h" #endif /* Knuth-Morris-Pratt algorithm. */ #define CANON_ELEMENT(c) c #include "str-kmp.h" #if HAVE_MBRTOWC /* Knuth-Morris-Pratt algorithm. See http://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm Return a boolean indicating success: Return true and set *RESULTP if the search was completed. Return false if it was aborted because not enough memory was available. */ static bool knuth_morris_pratt_multibyte (const char *haystack, const char *needle, const char **resultp) { size_t m = mbslen (needle); mbchar_t *needle_mbchars; size_t *table; /* Allocate room for needle_mbchars and the table. */ char *memory = (char *) nmalloca (m, sizeof (mbchar_t) + sizeof (size_t)); if (memory == NULL) return false; needle_mbchars = (mbchar_t *) memory; table = (size_t *) (memory + m * sizeof (mbchar_t)); /* Fill needle_mbchars. */ { mbui_iterator_t iter; size_t j; j = 0; for (mbui_init (iter, needle); mbui_avail (iter); mbui_advance (iter), j++) mb_copy (&needle_mbchars[j], &mbui_cur (iter)); } /* Fill the table. For 0 < i < m: 0 < table[i] <= i is defined such that forall 0 < x < table[i]: needle[x..i-1] != needle[0..i-1-x], and table[i] is as large as possible with this property. This implies: 1) For 0 < i < m: If table[i] < i, needle[table[i]..i-1] = needle[0..i-1-table[i]]. 2) For 0 < i < m: rhaystack[0..i-1] == needle[0..i-1] and exists h, i <= h < m: rhaystack[h] != needle[h] implies forall 0 <= x < table[i]: rhaystack[x..x+m-1] != needle[0..m-1]. table[0] remains uninitialized. */ { size_t i, j; /* i = 1: Nothing to verify for x = 0. */ table[1] = 1; j = 0; for (i = 2; i < m; i++) { /* Here: j = i-1 - table[i-1]. The inequality needle[x..i-1] != needle[0..i-1-x] is known to hold for x < table[i-1], by induction. Furthermore, if j>0: needle[i-1-j..i-2] = needle[0..j-1]. */ mbchar_t *b = &needle_mbchars[i - 1]; for (;;) { /* Invariants: The inequality needle[x..i-1] != needle[0..i-1-x] is known to hold for x < i-1-j. Furthermore, if j>0: needle[i-1-j..i-2] = needle[0..j-1]. */ if (mb_equal (*b, needle_mbchars[j])) { /* Set table[i] := i-1-j. */ table[i] = i - ++j; break; } /* The inequality needle[x..i-1] != needle[0..i-1-x] also holds for x = i-1-j, because needle[i-1] != needle[j] = needle[i-1-x]. */ if (j == 0) { /* The inequality holds for all possible x. */ table[i] = i; break; } /* The inequality needle[x..i-1] != needle[0..i-1-x] also holds for i-1-j < x < i-1-j+table[j], because for these x: needle[x..i-2] = needle[x-(i-1-j)..j-1] != needle[0..j-1-(x-(i-1-j))] (by definition of table[j]) = needle[0..i-2-x], hence needle[x..i-1] != needle[0..i-1-x]. Furthermore needle[i-1-j+table[j]..i-2] = needle[table[j]..j-1] = needle[0..j-1-table[j]] (by definition of table[j]). */ j = j - table[j]; } /* Here: j = i - table[i]. */ } } /* Search, using the table to accelerate the processing. */ { size_t j; mbui_iterator_t rhaystack; mbui_iterator_t phaystack; *resultp = NULL; j = 0; mbui_init (rhaystack, haystack); mbui_init (phaystack, haystack); /* Invariant: phaystack = rhaystack + j. */ while (mbui_avail (phaystack)) if (mb_equal (needle_mbchars[j], mbui_cur (phaystack))) { j++; mbui_advance (phaystack); if (j == m) { /* The entire needle has been found. */ *resultp = mbui_cur_ptr (rhaystack); break; } } else if (j > 0) { /* Found a match of needle[0..j-1], mismatch at needle[j]. */ size_t count = table[j]; j -= count; for (; count > 0; count--) { if (!mbui_avail (rhaystack)) abort (); mbui_advance (rhaystack); } } else { /* Found a mismatch at needle[0] already. */ if (!mbui_avail (rhaystack)) abort (); mbui_advance (rhaystack); mbui_advance (phaystack); } } freea (memory); return true; } #endif /* Find the first occurrence of the character string NEEDLE in the character string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK. */ char * mbsstr (const char *haystack, const char *needle) { /* Be careful not to look at the entire extent of haystack or needle until needed. This is useful because of these two cases: - haystack may be very long, and a match of needle found early, - needle may be very long, and not even a short initial segment of needle may be found in haystack. */ #if HAVE_MBRTOWC if (MB_CUR_MAX > 1) { mbui_iterator_t iter_needle; mbui_init (iter_needle, needle); if (mbui_avail (iter_needle)) { /* Minimizing the worst-case complexity: Let n = mbslen(haystack), m = mbslen(needle). The naïve algorithm is O(n*m) worst-case. The Knuth-Morris-Pratt algorithm is O(n) worst-case but it needs a memory allocation. To achieve linear complexity and yet amortize the cost of the memory allocation, we activate the Knuth-Morris-Pratt algorithm only once the naïve algorithm has already run for some time; more precisely, when - the outer loop count is >= 10, - the average number of comparisons per outer loop is >= 5, - the total number of comparisons is >= m. But we try it only once. If the memory allocation attempt failed, we don't retry it. */ bool try_kmp = true; size_t outer_loop_count = 0; size_t comparison_count = 0; size_t last_ccount = 0; /* last comparison count */ mbui_iterator_t iter_needle_last_ccount; /* = needle + last_ccount */ mbui_iterator_t iter_haystack; mbui_init (iter_needle_last_ccount, needle); mbui_init (iter_haystack, haystack); for (;; mbui_advance (iter_haystack)) { if (!mbui_avail (iter_haystack)) /* No match. */ return NULL; /* See whether it's advisable to use an asymptotically faster algorithm. */ if (try_kmp && outer_loop_count >= 10 && comparison_count >= 5 * outer_loop_count) { /* See if needle + comparison_count now reaches the end of needle. */ size_t count = comparison_count - last_ccount; for (; count > 0 && mbui_avail (iter_needle_last_ccount); count--) mbui_advance (iter_needle_last_ccount); last_ccount = comparison_count; if (!mbui_avail (iter_needle_last_ccount)) { /* Try the Knuth-Morris-Pratt algorithm. */ const char *result; bool success = knuth_morris_pratt_multibyte (haystack, needle, &result); if (success) return (char *) result; try_kmp = false; } } outer_loop_count++; comparison_count++; if (mb_equal (mbui_cur (iter_haystack), mbui_cur (iter_needle))) /* The first character matches. */ { mbui_iterator_t rhaystack; mbui_iterator_t rneedle; memcpy (&rhaystack, &iter_haystack, sizeof (mbui_iterator_t)); mbui_advance (rhaystack); mbui_init (rneedle, needle); if (!mbui_avail (rneedle)) abort (); mbui_advance (rneedle); for (;; mbui_advance (rhaystack), mbui_advance (rneedle)) { if (!mbui_avail (rneedle)) /* Found a match. */ return (char *) mbui_cur_ptr (iter_haystack); if (!mbui_avail (rhaystack)) /* No match. */ return NULL; comparison_count++; if (!mb_equal (mbui_cur (rhaystack), mbui_cur (rneedle))) /* Nothing in this round. */ break; } } } } else return (char *) haystack; } else #endif { if (*needle != '\0') { /* Minimizing the worst-case complexity: Let n = strlen(haystack), m = strlen(needle). The naïve algorithm is O(n*m) worst-case. The Knuth-Morris-Pratt algorithm is O(n) worst-case but it needs a memory allocation. To achieve linear complexity and yet amortize the cost of the memory allocation, we activate the Knuth-Morris-Pratt algorithm only once the naïve algorithm has already run for some time; more precisely, when - the outer loop count is >= 10, - the average number of comparisons per outer loop is >= 5, - the total number of comparisons is >= m. But we try it only once. If the memory allocation attempt failed, we don't retry it. */ bool try_kmp = true; size_t outer_loop_count = 0; size_t comparison_count = 0; size_t last_ccount = 0; /* last comparison count */ const char *needle_last_ccount = needle; /* = needle + last_ccount */ /* Speed up the following searches of needle by caching its first character. */ char b = *needle++; for (;; haystack++) { if (*haystack == '\0') /* No match. */ return NULL; /* See whether it's advisable to use an asymptotically faster algorithm. */ if (try_kmp && outer_loop_count >= 10 && comparison_count >= 5 * outer_loop_count) { /* See if needle + comparison_count now reaches the end of needle. */ if (needle_last_ccount != NULL) { needle_last_ccount += strnlen (needle_last_ccount, comparison_count - last_ccount); if (*needle_last_ccount == '\0') needle_last_ccount = NULL; last_ccount = comparison_count; } if (needle_last_ccount == NULL) { /* Try the Knuth-Morris-Pratt algorithm. */ const char *result; bool success = knuth_morris_pratt_unibyte (haystack, needle - 1, &result); if (success) return (char *) result; try_kmp = false; } } outer_loop_count++; comparison_count++; if (*haystack == b) /* The first character matches. */ { const char *rhaystack = haystack + 1; const char *rneedle = needle; for (;; rhaystack++, rneedle++) { if (*rneedle == '\0') /* Found a match. */ return (char *) haystack; if (*rhaystack == '\0') /* No match. */ return NULL; comparison_count++; if (*rhaystack != *rneedle) /* Nothing in this round. */ break; } } } } else return (char *) haystack; } } dc3dd-7.1.614/lib/localcharset.c0000644000175000017500000003045711064230667016033 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2006, 2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Written by Bruno Haible . */ #include /* Specification. */ #include "localcharset.h" #include #include #include #include #if defined _WIN32 || defined __WIN32__ # define WIN32_NATIVE #endif #if defined __EMX__ /* Assume EMX program runs on OS/2, even if compiled under DOS. */ # ifndef OS2 # define OS2 # endif #endif #if !defined WIN32_NATIVE # if HAVE_LANGINFO_CODESET # include # else # if 0 /* see comment below */ # include # endif # endif # ifdef __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include # endif #elif defined WIN32_NATIVE # define WIN32_LEAN_AND_MEAN # include #endif #if defined OS2 # define INCL_DOS # include #endif #if ENABLE_RELOCATABLE # include "relocatable.h" #else # define relocate(pathname) (pathname) #endif /* Get LIBDIR. */ #ifndef LIBDIR # include "configmake.h" #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') #endif #ifndef DIRECTORY_SEPARATOR # define DIRECTORY_SEPARATOR '/' #endif #ifndef ISSLASH # define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) #endif #if HAVE_DECL_GETC_UNLOCKED # undef getc # define getc getc_unlocked #endif /* The following static variable is declared 'volatile' to avoid a possible multithread problem in the function get_charset_aliases. If we are running in a threaded environment, and if two threads initialize 'charset_aliases' simultaneously, both will produce the same value, and everything will be ok if the two assignments to 'charset_aliases' are atomic. But I don't know what will happen if the two assignments mix. */ #if __STDC__ != 1 # define volatile /* empty */ #endif /* Pointer to the contents of the charset.alias file, if it has already been read, else NULL. Its format is: ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ static const char * volatile charset_aliases; /* Return a pointer to the contents of the charset.alias file. */ static const char * get_charset_aliases (void) { const char *cp; cp = charset_aliases; if (cp == NULL) { #if !(defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) FILE *fp; const char *dir; const char *base = "charset.alias"; char *file_name; /* Make it possible to override the charset.alias location. This is necessary for running the testsuite before "make install". */ dir = getenv ("CHARSETALIASDIR"); if (dir == NULL || dir[0] == '\0') dir = relocate (LIBDIR); /* Concatenate dir and base into freshly allocated file_name. */ { size_t dir_len = strlen (dir); size_t base_len = strlen (base); int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); file_name = (char *) malloc (dir_len + add_slash + base_len + 1); if (file_name != NULL) { memcpy (file_name, dir, dir_len); if (add_slash) file_name[dir_len] = DIRECTORY_SEPARATOR; memcpy (file_name + dir_len + add_slash, base, base_len + 1); } } if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL) /* Out of memory or file not found, treat it as empty. */ cp = ""; else { /* Parse the file's contents. */ char *res_ptr = NULL; size_t res_size = 0; for (;;) { int c; char buf1[50+1]; char buf2[50+1]; size_t l1, l2; char *old_res_ptr; c = getc (fp); if (c == EOF) break; if (c == '\n' || c == ' ' || c == '\t') continue; if (c == '#') { /* Skip comment, to end of line. */ do c = getc (fp); while (!(c == EOF || c == '\n')); if (c == EOF) break; continue; } ungetc (c, fp); if (fscanf (fp, "%50s %50s", buf1, buf2) < 2) break; l1 = strlen (buf1); l2 = strlen (buf2); old_res_ptr = res_ptr; if (res_size == 0) { res_size = l1 + 1 + l2 + 1; res_ptr = (char *) malloc (res_size + 1); } else { res_size += l1 + 1 + l2 + 1; res_ptr = (char *) realloc (res_ptr, res_size + 1); } if (res_ptr == NULL) { /* Out of memory. */ res_size = 0; if (old_res_ptr != NULL) free (old_res_ptr); break; } strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); strcpy (res_ptr + res_size - (l2 + 1), buf2); } fclose (fp); if (res_size == 0) cp = ""; else { *(res_ptr + res_size) = '\0'; cp = res_ptr; } } if (file_name != NULL) free (file_name); #else # if defined VMS /* To avoid the troubles of an extra file charset.alias_vms in the sources of many GNU packages, simply inline the aliases here. */ /* The list of encodings is taken from the OpenVMS 7.3-1 documentation "Compaq C Run-Time Library Reference Manual for OpenVMS systems" section 10.7 "Handling Different Character Sets". */ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" "ISO8859-2" "\0" "ISO-8859-2" "\0" "ISO8859-5" "\0" "ISO-8859-5" "\0" "ISO8859-7" "\0" "ISO-8859-7" "\0" "ISO8859-8" "\0" "ISO-8859-8" "\0" "ISO8859-9" "\0" "ISO-8859-9" "\0" /* Japanese */ "eucJP" "\0" "EUC-JP" "\0" "SJIS" "\0" "SHIFT_JIS" "\0" "DECKANJI" "\0" "DEC-KANJI" "\0" "SDECKANJI" "\0" "EUC-JP" "\0" /* Chinese */ "eucTW" "\0" "EUC-TW" "\0" "DECHANYU" "\0" "DEC-HANYU" "\0" "DECHANZI" "\0" "GB2312" "\0" /* Korean */ "DECKOREAN" "\0" "EUC-KR" "\0"; # endif # if defined WIN32_NATIVE || defined __CYGWIN__ /* To avoid the troubles of installing a separate file in the same directory as the DLL and of retrieving the DLL's directory at runtime, simply inline the aliases here. */ cp = "CP936" "\0" "GBK" "\0" "CP1361" "\0" "JOHAB" "\0" "CP20127" "\0" "ASCII" "\0" "CP20866" "\0" "KOI8-R" "\0" "CP20936" "\0" "GB2312" "\0" "CP21866" "\0" "KOI8-RU" "\0" "CP28591" "\0" "ISO-8859-1" "\0" "CP28592" "\0" "ISO-8859-2" "\0" "CP28593" "\0" "ISO-8859-3" "\0" "CP28594" "\0" "ISO-8859-4" "\0" "CP28595" "\0" "ISO-8859-5" "\0" "CP28596" "\0" "ISO-8859-6" "\0" "CP28597" "\0" "ISO-8859-7" "\0" "CP28598" "\0" "ISO-8859-8" "\0" "CP28599" "\0" "ISO-8859-9" "\0" "CP28605" "\0" "ISO-8859-15" "\0" "CP38598" "\0" "ISO-8859-8" "\0" "CP51932" "\0" "EUC-JP" "\0" "CP51936" "\0" "GB2312" "\0" "CP51949" "\0" "EUC-KR" "\0" "CP51950" "\0" "EUC-TW" "\0" "CP54936" "\0" "GB18030" "\0" "CP65001" "\0" "UTF-8" "\0"; # endif #endif charset_aliases = cp; } return cp; } /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ #ifdef STATIC STATIC #endif const char * locale_charset (void) { const char *codeset; const char *aliases; #if !(defined WIN32_NATIVE || defined OS2) # if HAVE_LANGINFO_CODESET /* Most systems support nl_langinfo (CODESET) nowadays. */ codeset = nl_langinfo (CODESET); # ifdef __CYGWIN__ /* Cygwin 2006 does not have locales. nl_langinfo (CODESET) always returns "US-ASCII". As long as this is not fixed, return the suffix of the locale name from the environment variables (if present) or the codepage as a number. */ if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) { const char *locale; static char buf[2 + 10 + 1]; locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } } /* Woe32 has a function returning the locale's codepage as a number. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf; } # endif # else /* On old systems which lack it, use setlocale or getenv. */ const char *locale = NULL; /* But most old systems don't have a complete set of locales. Some (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't use setlocale here; it would return "C" when it doesn't support the locale name the user has set. */ # if 0 locale = setlocale (LC_CTYPE, NULL); # endif if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } } /* On some old systems, one used to set locale = "iso8859_1". On others, you set it to "language_COUNTRY.charset". In any case, we resolve it through the charset.alias file. */ codeset = locale; # endif #elif defined WIN32_NATIVE static char buf[2 + 10 + 1]; /* Woe32 has a function returning the locale's codepage as a number. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf; #elif defined OS2 const char *locale; static char buf[2 + 10 + 1]; ULONG cp[3]; ULONG cplen; /* Allow user to override the codeset, as set in the operating system, with standard language environment variables. */ locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } /* Resolve through the charset.alias file. */ codeset = locale; } else { /* OS/2 has a function returning the locale's codepage as a number. */ if (DosQueryCp (sizeof (cp), cp, &cplen)) codeset = ""; else { sprintf (buf, "CP%u", cp[0]); codeset = buf; } } #endif if (codeset == NULL) /* The canonical name cannot be determined. */ codeset = ""; /* Resolve alias. */ for (aliases = get_charset_aliases (); *aliases != '\0'; aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) if (strcmp (codeset, aliases) == 0 || (aliases[0] == '*' && aliases[1] == '\0')) { codeset = aliases + strlen (aliases) + 1; break; } /* Don't return an empty string. GNU libc and GNU libiconv interpret the empty string as denoting "the locale's character encoding", thus GNU libiconv would call this function a second time. */ if (codeset[0] == '\0') codeset = "ASCII"; return codeset; } dc3dd-7.1.614/lib/c-strtold.c0000644000175000017500000000004511022023316015251 0ustar amedicoamedico#define LONG 1 #include "c-strtod.c" dc3dd-7.1.614/lib/fseterr.c0000644000175000017500000000503711064230667015035 0ustar amedicoamedico/* Set the error indicator of a stream. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "fseterr.h" #include #include "stdio-impl.h" void fseterr (FILE *fp) { /* Most systems provide FILE as a struct and the necessary bitmask in , because they need it for implementing getc() and putc() as fast macros. */ #if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ fp->_flags |= _IO_ERR_SEEN; #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ fp_->_flags |= __SERR; #elif defined __EMX__ /* emx+gcc */ fp->_flags |= _IOERR; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ fp_->_flag |= _IOERR; #elif defined __UCLIBC__ /* uClibc */ fp->__modeflags |= __FLAG_ERROR; #elif defined __QNX__ /* QNX */ fp->_Mode |= 0x200 /* _MERR */; #elif 0 /* unknown */ /* Portable fallback, based on an idea by Rich Felker. Wow! 6 system calls for something that is just a bit operation! Not activated on any system, because there is no way to repair FP when the sequence of system calls fails, and library code should not call abort(). */ int saved_errno; int fd; int fd2; saved_errno = errno; fflush (fp); fd = fileno (fp); fd2 = dup (fd); if (fd2 >= 0) { close (fd); fputc ('\0', fp); /* This should set the error indicator. */ fflush (fp); /* Or this. */ if (dup2 (fd2, fd) < 0) /* Whee... we botched the stream and now cannot restore it! */ abort (); close (fd2); } errno = saved_errno; #else #error "Please port gnulib fseterr.c to your platform! Look at the definitions of ferror and clearerr on your system, then report this to bug-gnulib." #endif } dc3dd-7.1.614/lib/cloexec.c0000644000175000017500000000271011022023316014761 0ustar amedicoamedico/* closexec.c - set or clear the close-on-exec descriptor flag Copyright (C) 1991, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . The code is taken from glibc/manual/llio.texi */ #include #include "cloexec.h" #include #include #ifndef FD_CLOEXEC # define FD_CLOEXEC 1 #endif /* Set the `FD_CLOEXEC' flag of DESC if VALUE is true, or clear the flag if VALUE is false. Return 0 on success, or -1 on error with `errno' set. */ int set_cloexec_flag (int desc, bool value) { #if defined F_GETFD && defined F_SETFD int flags = fcntl (desc, F_GETFD, 0); if (0 <= flags) { int newflags = (value ? flags | FD_CLOEXEC : flags & ~FD_CLOEXEC); if (flags == newflags || fcntl (desc, F_SETFD, newflags) != -1) return 0; } return -1; #else return 0; #endif } dc3dd-7.1.614/lib/raise.c0000644000175000017500000000167711022023316014455 0ustar amedicoamedico/* Provide a non-threads replacement for the POSIX raise function. Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include #include #include int raise (int sig) { return kill (getpid (), sig); } dc3dd-7.1.614/lib/fstatat.c0000644000175000017500000000351611022023316015012 0ustar amedicoamedico/* Work around an fstatat bug on Solaris 9. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert and Jim Meyering. */ #include #define COMPILING_FSTATAT 1 #include "openat.h" #include #include /* fstatat should always follow symbolic links that end in /, but on Solaris 9 it doesn't if AT_SYMLINK_NOFOLLOW is specified. This is the same problem that lstat.c addresses, so solve it in a similar way. */ int rpl_fstatat (int fd, char const *file, struct stat *st, int flag) { int result = fstatat (fd, file, st, flag); if (result == 0 && (flag & AT_SYMLINK_NOFOLLOW) && S_ISLNK (st->st_mode) && file[strlen (file) - 1] == '/') { /* FILE refers to a symbolic link and the name ends with a slash. Get info about the link's referent. */ result = fstatat (fd, file, st, flag & ~AT_SYMLINK_NOFOLLOW); if (result == 0 && ! S_ISDIR (st->st_mode)) { /* fstatat succeeded and FILE references a non-directory. But it was specified via a name including a trailing slash. Fail with errno set to ENOTDIR to indicate the contradiction. */ errno = ENOTDIR; return -1; } } return result; } dc3dd-7.1.614/lib/strintcmp.c0000644000175000017500000000205211022023316015361 0ustar amedicoamedico/* Compare integer strings. Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "strnumcmp-in.h" /* Compare strings A and B as integers without explicitly converting them to machine numbers, to avoid overflow problems and perhaps improve performance. */ int strintcmp (char const *a, char const *b) { return numcompare (a, b, -1, -1); } dc3dd-7.1.614/lib/xnanosleep.h0000644000175000017500000000003111022023316015512 0ustar amedicoamedicoint xnanosleep (double); dc3dd-7.1.614/lib/dev-ino.h0000644000175000017500000000022411022023316014703 0ustar amedicoamedico#ifndef DEV_INO_H # define DEV_INO_H 1 # include # include struct dev_ino { ino_t st_ino; dev_t st_dev; }; #endif dc3dd-7.1.614/lib/cycle-check.c0000644000175000017500000000514611022023316015517 0ustar amedicoamedico/* help detect directory cycles efficiently Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering */ #include #include #include #include #include #include #include #include "cycle-check.h" #define CC_MAGIC 9827862 /* Return true if I is a power of 2, or is zero. */ static inline bool is_zero_or_power_of_two (uintmax_t i) { return (i & (i - 1)) == 0; } void cycle_check_init (struct cycle_check_state *state) { state->chdir_counter = 0; state->magic = CC_MAGIC; } /* In traversing a directory hierarchy, call this function once for each descending chdir call, with SB corresponding to the chdir operand. If SB corresponds to a directory that has already been seen, return true to indicate that there is a directory cycle. Note that this is done `lazily', which means that some of the directories in the cycle may be processed twice before the cycle is detected. */ bool cycle_check (struct cycle_check_state *state, struct stat const *sb) { assert (state->magic == CC_MAGIC); /* If the current directory ever happens to be the same as the one we last recorded for the cycle detection, then it's obviously part of a cycle. */ if (state->chdir_counter && SAME_INODE (*sb, state->dev_ino)) return true; /* If the number of `descending' chdir calls is a power of two, record the dev/ino of the current directory. */ if (is_zero_or_power_of_two (++(state->chdir_counter))) { /* On all architectures that we know about, if the counter overflows then there is a directory cycle here somewhere, even if we haven't detected it yet. Typically this happens only after the counter is incremented 2**64 times, so it's a fairly theoretical point. */ if (state->chdir_counter == 0) return true; state->dev_ino.st_dev = sb->st_dev; state->dev_ino.st_ino = sb->st_ino; } return false; } dc3dd-7.1.614/lib/iconv_open-osf.h0000644000175000017500000002550511457322152016313 0ustar amedicoamedico/* ANSI-C code produced by gperf version 3.0.4 */ /* Command-line: gperf -m 10 ./iconv_open-osf.gperf */ /* Computed positions: -k'4,$' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ #error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "./iconv_open-osf.gperf" struct mapping { int standard_name; const char vendor_name[10 + 1]; }; #define TOTAL_KEYWORDS 38 #define MIN_WORD_LENGTH 4 #define MAX_WORD_LENGTH 11 #define MIN_HASH_VALUE 6 #define MAX_HASH_VALUE 47 /* maximum key range = 42, duplicates = 0 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int mapping_hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 2, 29, 24, 34, 31, 0, 15, 14, 10, 13, 2, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 7, 48, 48, 48, 48, 48, 48, 11, 48, 2, 7, 48, 48, 48, 1, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48 }; return len + asso_values[(unsigned char)str[3]+3] + asso_values[(unsigned char)str[len - 1]]; } struct stringpool_t { char stringpool_str6[sizeof("CP1255")]; char stringpool_str7[sizeof("CP775")]; char stringpool_str8[sizeof("CP1250")]; char stringpool_str9[sizeof("EUC-TW")]; char stringpool_str10[sizeof("EUC-KR")]; char stringpool_str11[sizeof("TIS-620")]; char stringpool_str12[sizeof("ISO-8859-5")]; char stringpool_str13[sizeof("ISO-8859-15")]; char stringpool_str14[sizeof("BIG5")]; char stringpool_str15[sizeof("CP855")]; char stringpool_str16[sizeof("CP1258")]; char stringpool_str17[sizeof("CP850")]; char stringpool_str18[sizeof("CP865")]; char stringpool_str19[sizeof("EUC-JP")]; char stringpool_str20[sizeof("CP1257")]; char stringpool_str21[sizeof("CP1256")]; char stringpool_str22[sizeof("ISO-8859-8")]; char stringpool_str23[sizeof("SHIFT_JIS")]; char stringpool_str25[sizeof("ISO-8859-9")]; char stringpool_str26[sizeof("ISO-8859-7")]; char stringpool_str27[sizeof("ISO-8859-6")]; char stringpool_str29[sizeof("CP857")]; char stringpool_str30[sizeof("CP1252")]; char stringpool_str31[sizeof("CP869")]; char stringpool_str32[sizeof("CP949")]; char stringpool_str33[sizeof("CP866")]; char stringpool_str34[sizeof("CP437")]; char stringpool_str35[sizeof("CP1251")]; char stringpool_str36[sizeof("ISO-8859-2")]; char stringpool_str37[sizeof("CP1254")]; char stringpool_str38[sizeof("CP874")]; char stringpool_str39[sizeof("CP852")]; char stringpool_str40[sizeof("CP1253")]; char stringpool_str41[sizeof("ISO-8859-1")]; char stringpool_str42[sizeof("CP862")]; char stringpool_str43[sizeof("ISO-8859-4")]; char stringpool_str46[sizeof("ISO-8859-3")]; char stringpool_str47[sizeof("CP861")]; }; static const struct stringpool_t stringpool_contents = { "CP1255", "CP775", "CP1250", "EUC-TW", "EUC-KR", "TIS-620", "ISO-8859-5", "ISO-8859-15", "BIG5", "CP855", "CP1258", "CP850", "CP865", "EUC-JP", "CP1257", "CP1256", "ISO-8859-8", "SHIFT_JIS", "ISO-8859-9", "ISO-8859-7", "ISO-8859-6", "CP857", "CP1252", "CP869", "CP949", "CP866", "CP437", "CP1251", "ISO-8859-2", "CP1254", "CP874", "CP852", "CP1253", "ISO-8859-1", "CP862", "ISO-8859-4", "ISO-8859-3", "CP861" }; #define stringpool ((const char *) &stringpool_contents) static const struct mapping mappings[] = { {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 41 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "cp1255"}, #line 24 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "cp775"}, #line 36 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "cp1250"}, #line 47 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "eucTW"}, #line 46 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "eucKR"}, #line 50 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "TACTIS"}, #line 17 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-5"}, #line 22 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-15"}, #line 48 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "big5"}, #line 27 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "cp855"}, #line 44 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "cp1258"}, #line 25 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "cp850"}, #line 31 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "cp865"}, #line 45 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "eucJP"}, #line 43 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "cp1257"}, #line 42 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "cp1256"}, #line 20 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-8"}, #line 49 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "SJIS"}, {-1}, #line 21 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-9"}, #line 19 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "ISO8859-7"}, #line 18 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"}, {-1}, #line 28 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "cp857"}, #line 38 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"}, #line 33 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "cp869"}, #line 35 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, "KSC5601"}, #line 32 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "cp866"}, #line 23 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "cp437"}, #line 37 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "cp1251"}, #line 14 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, "ISO8859-2"}, #line 40 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str37, "cp1254"}, #line 34 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "cp874"}, #line 26 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, "cp852"}, #line 39 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "cp1253"}, #line 13 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "ISO8859-1"}, #line 30 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, "cp862"}, #line 16 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"}, {-1}, {-1}, #line 15 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str46, "ISO8859-3"}, #line 29 "./iconv_open-osf.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str47, "cp861"} }; #ifdef __GNUC__ __inline #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ __attribute__ ((__gnu_inline__)) #endif #endif const struct mapping * mapping_lookup (register const char *str, register unsigned int len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = mapping_hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int o = mappings[key].standard_name; if (o >= 0) { register const char *s = o + stringpool; if (*str == *s && !strcmp (str + 1, s + 1)) return &mappings[key]; } } } return 0; } dc3dd-7.1.614/lib/quotearg.h0000644000175000017500000002731511064230667015222 0ustar amedicoamedico/* quotearg.h - quote arguments for output Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert */ #ifndef QUOTEARG_H_ # define QUOTEARG_H_ 1 # include /* Basic quoting styles. For each style, an example is given on the input strings "simple", "\0 \t\n'\"\033?""?/\\", and "a:b", using quotearg_buffer, quotearg_mem, and quotearg_colon_mem with that style and the default flags and quoted characters. Note that the examples are shown here as valid C strings rather than what displays on a terminal (with "??/" as a trigraph for "\\"). */ enum quoting_style { /* Output names as-is (ls --quoting-style=literal). Can result in embedded null bytes if QA_ELIDE_NULL_BYTES is not in effect. quotearg_buffer: "simple", "\0 \t\n'\"\033??/\\", "a:b" quotearg: "simple", " \t\n'\"\033??/\\", "a:b" quotearg_colon: "simple", " \t\n'\"\033??/\\", "a:b" */ literal_quoting_style, /* Quote names for the shell if they contain shell metacharacters or would cause ambiguous output (ls --quoting-style=shell). Can result in embedded null bytes if QA_ELIDE_NULL_BYTES is not in effect. quotearg_buffer: "simple", "'\0 \t\n'\\''\"\033??/\\'", "a:b" quotearg: "simple", "' \t\n'\\''\"\033??/\\'", "a:b" quotearg_colon: "simple", "' \t\n'\\''\"\033??/\\'", "'a:b'" */ shell_quoting_style, /* Quote names for the shell, even if they would normally not require quoting (ls --quoting-style=shell-always). Can result in embedded null bytes if QA_ELIDE_NULL_BYTES is not in effect. Behaves like shell_quoting_style if QA_ELIDE_OUTER_QUOTES is in effect. quotearg_buffer: "'simple'", "'\0 \t\n'\\''\"\033??/\\'", "'a:b'" quotearg: "'simple'", "' \t\n'\\''\"\033??/\\'", "'a:b'" quotearg_colon: "'simple'", "' \t\n'\\''\"\033??/\\'", "'a:b'" */ shell_always_quoting_style, /* Quote names as for a C language string (ls --quoting-style=c). Behaves like c_maybe_quoting_style if QA_ELIDE_OUTER_QUOTES is in effect. Split into consecutive strings if QA_SPLIT_TRIGRAPHS. quotearg_buffer: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg_colon: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a\\:b\"" */ c_quoting_style, /* Like c_quoting_style except omit the surrounding double-quote characters if no quoted characters are encountered. quotearg_buffer: "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "a:b" quotearg: "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "a:b" quotearg_colon: "simple", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" */ c_maybe_quoting_style, /* Like c_quoting_style except always omit the surrounding double-quote characters (ls --quoting-style=escape). quotearg_buffer: "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a:b" quotearg: "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a:b" quotearg_colon: "simple", "\\0 \\t\\n'\"\\033??/\\\\", "a\\:b" */ escape_quoting_style, /* Like clocale_quoting_style, but quote `like this' instead of "like this" in the default C locale (ls --quoting-style=locale). LC_MESSAGES=C quotearg_buffer: "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a:b'" quotearg: "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a:b'" quotearg_colon: "`simple'", "`\\0 \\t\\n\\'\"\\033??/\\\\'", "`a\\:b'" LC_MESSAGES=pt_PT.utf8 quotearg_buffer: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg_colon: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a\\:b\302\273" */ locale_quoting_style, /* Like c_quoting_style except use quotation marks appropriate for the locale (ls --quoting-style=clocale). LC_MESSAGES=C quotearg_buffer: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a:b\"" quotearg_colon: "\"simple\"", "\"\\0 \\t\\n'\\\"\\033??/\\\\\"", "\"a\\:b\"" LC_MESSAGES=pt_PT.utf8 quotearg_buffer: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a:b\302\273" quotearg_colon: "\302\253simple\302\273", "\302\253\\0 \\t\\n'\"\\033??/\\\\\302\253", "\302\253a\\:b\302\273" */ clocale_quoting_style }; /* Flags for use in set_quoting_flags. */ enum quoting_flags { /* Always elide null bytes from styles that do not quote them, even when the length of the result is available to the caller. */ QA_ELIDE_NULL_BYTES = 0x01, /* Omit the surrounding quote characters if no escaped characters are encountered. Note that if no other character needs escaping, then neither does the escape character. */ QA_ELIDE_OUTER_QUOTES = 0x02, /* In the c_quoting_style and c_maybe_quoting_style, split ANSI trigraph sequences into concatenated strings (for example, "?""?/" rather than "??/", which could be confused with "\\"). */ QA_SPLIT_TRIGRAPHS = 0x04 }; /* For now, --quoting-style=literal is the default, but this may change. */ # ifndef DEFAULT_QUOTING_STYLE # define DEFAULT_QUOTING_STYLE literal_quoting_style # endif /* Names of quoting styles and their corresponding values. */ extern char const *const quoting_style_args[]; extern enum quoting_style const quoting_style_vals[]; struct quoting_options; /* The functions listed below set and use a hidden variable that contains the default quoting style options. */ /* Allocate a new set of quoting options, with contents initially identical to O if O is not null, or to the default if O is null. It is the caller's responsibility to free the result. */ struct quoting_options *clone_quoting_options (struct quoting_options *o); /* Get the value of O's quoting style. If O is null, use the default. */ enum quoting_style get_quoting_style (struct quoting_options *o); /* In O (or in the default if O is null), set the value of the quoting style to S. */ void set_quoting_style (struct quoting_options *o, enum quoting_style s); /* In O (or in the default if O is null), set the value of the quoting options for character C to I. Return the old value. Currently, the only values defined for I are 0 (the default) and 1 (which means to quote the character even if it would not otherwise be quoted). */ int set_char_quoting (struct quoting_options *o, char c, int i); /* In O (or in the default if O is null), set the value of the quoting options flag to I, which can be a bitwise combination of enum quoting_flags, or 0 for default behavior. Return the old value. */ int set_quoting_flags (struct quoting_options *o, int i); /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of argument ARG (of size ARGSIZE), using O to control quoting. If O is null, use the default. Terminate the output with a null character, and return the written size of the output, not counting the terminating null. If BUFFERSIZE is too small to store the output string, return the value that would have been returned had BUFFERSIZE been large enough. If ARGSIZE is -1, use the string length of the argument for ARGSIZE. On output, BUFFER might contain embedded null bytes if ARGSIZE was not -1, the style of O does not use backslash escapes, and the flags of O do not request elision of null bytes.*/ size_t quotearg_buffer (char *buffer, size_t buffersize, char const *arg, size_t argsize, struct quoting_options const *o); /* Like quotearg_buffer, except return the result in a newly allocated buffer. It is the caller's responsibility to free the result. The result will not contain embedded null bytes. */ char *quotearg_alloc (char const *arg, size_t argsize, struct quoting_options const *o); /* Like quotearg_alloc, except that the length of the result, excluding the terminating null byte, is stored into SIZE if it is non-NULL. The result might contain embedded null bytes if ARGSIZE was not -1, SIZE was not NULL, the style of O does not use backslash escapes, and the flags of O do not request elision of null bytes.*/ char *quotearg_alloc_mem (char const *arg, size_t argsize, size_t *size, struct quoting_options const *o); /* Use storage slot N to return a quoted version of the string ARG. Use the default quoting options. The returned value points to static storage that can be reused by the next call to this function with the same value of N. N must be nonnegative. The output of all functions in the quotearg_n family are guaranteed to not contain embedded null bytes.*/ char *quotearg_n (int n, char const *arg); /* Equivalent to quotearg_n (0, ARG). */ char *quotearg (char const *arg); /* Use storage slot N to return a quoted version of the argument ARG of size ARGSIZE. This is like quotearg_n (N, ARG), except it can quote null bytes. */ char *quotearg_n_mem (int n, char const *arg, size_t argsize); /* Equivalent to quotearg_n_mem (0, ARG, ARGSIZE). */ char *quotearg_mem (char const *arg, size_t argsize); /* Use style S and storage slot N to return a quoted version of the string ARG. This is like quotearg_n (N, ARG), except that it uses S with no other options to specify the quoting method. */ char *quotearg_n_style (int n, enum quoting_style s, char const *arg); /* Use style S and storage slot N to return a quoted version of the argument ARG of size ARGSIZE. This is like quotearg_n_style (N, S, ARG), except it can quote null bytes. */ char *quotearg_n_style_mem (int n, enum quoting_style s, char const *arg, size_t argsize); /* Equivalent to quotearg_n_style (0, S, ARG). */ char *quotearg_style (enum quoting_style s, char const *arg); /* Equivalent to quotearg_n_style_mem (0, S, ARG, ARGSIZE). */ char *quotearg_style_mem (enum quoting_style s, char const *arg, size_t argsize); /* Like quotearg (ARG), except also quote any instances of CH. */ char *quotearg_char (char const *arg, char ch); /* Like quotearg_char (ARG, CH), except it can quote null bytes. */ char *quotearg_char_mem (char const *arg, size_t argsize, char ch); /* Equivalent to quotearg_char (ARG, ':'). */ char *quotearg_colon (char const *arg); /* Like quotearg_colon (ARG), except it can quote null bytes. */ char *quotearg_colon_mem (char const *arg, size_t argsize); /* Free any dynamically allocated memory. */ void quotearg_free (void); #endif /* !QUOTEARG_H_ */ dc3dd-7.1.614/lib/file-set.h0000644000175000017500000000046511022023316015061 0ustar amedicoamedico#include #include #include #include "hash.h" extern void record_file (Hash_table *ht, char const *file, struct stat const *stats) __attribute__((nonnull(2, 3))); extern bool seen_file (Hash_table const *ht, char const *file, struct stat const *stats); dc3dd-7.1.614/lib/rename.c0000644000175000017500000000304211022023316014605 0ustar amedicoamedico/* Work around the bug in some systems whereby rename fails when the source file has a trailing slash. The rename functions of SunOS 4.1.1_U1 and mips-dec-ultrix4.4 have this bug. Copyright (C) 2001, 2002, 2003, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Volker Borchert */ #include #undef rename #include #include #include #include "dirname.h" #include "xalloc.h" /* Rename the file SRC to DST, removing any trailing slashes from SRC. Needed for SunOS 4.1.1_U1. */ int rpl_rename (char const *src, char const *dst) { char *src_temp; int ret_val; size_t s_len = strlen (src); if (s_len && src[s_len - 1] == '/') { src_temp = xstrdup (src); strip_trailing_slashes (src_temp); } else src_temp = (char *) src; ret_val = rename (src_temp, dst); if (src_temp != src) free (src_temp); return ret_val; } dc3dd-7.1.614/lib/iconv_open-irix.gperf0000644000175000017500000000136411022023316017334 0ustar amedicoamedicostruct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C %define slot-name standard_name %define hash-function-name mapping_hash %define lookup-function-name mapping_lookup %readonly-tables %global-table %define word-array-name mappings %pic %% # On IRIX 6.5, look in /usr/lib/iconv and /usr/lib/international/encodings. ISO-8859-1, "ISO8859-1" ISO-8859-2, "ISO8859-2" ISO-8859-3, "ISO8859-3" ISO-8859-4, "ISO8859-4" ISO-8859-5, "ISO8859-5" ISO-8859-6, "ISO8859-6" ISO-8859-7, "ISO8859-7" ISO-8859-8, "ISO8859-8" ISO-8859-9, "ISO8859-9" ISO-8859-15, "ISO8859-15" KOI8-R, "KOI8" CP855, "DOS855" CP1251, "WIN1251" GB2312, "eucCN" EUC-JP, "eucJP" EUC-KR, "eucKR" EUC-TW, "eucTW" SHIFT_JIS, "sjis" TIS-620, "TIS620" dc3dd-7.1.614/lib/printf-parse.c0000644000175000017500000003503611064230667015777 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Formatted output to strings. Copyright (C) 1999-2000, 2002-2003, 2006-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* This file can be parametrized with the following macros: CHAR_T The element type of the format string. CHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters in the format string are ASCII. DIRECTIVE Structure denoting a format directive. Depends on CHAR_T. DIRECTIVES Structure denoting the set of format directives of a format string. Depends on CHAR_T. PRINTF_PARSE Function that parses a format string. Depends on CHAR_T. STATIC Set to 'static' to declare the function static. ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. */ #ifndef PRINTF_PARSE # include #endif /* Specification. */ #ifndef PRINTF_PARSE # include "printf-parse.h" #endif /* Default parameters. */ #ifndef PRINTF_PARSE # define PRINTF_PARSE printf_parse # define CHAR_T char # define DIRECTIVE char_directive # define DIRECTIVES char_directives #endif /* Get size_t, NULL. */ #include /* Get intmax_t. */ #if defined IN_LIBINTL || defined IN_LIBASPRINTF # if HAVE_STDINT_H_WITH_UINTMAX # include # endif # if HAVE_INTTYPES_H_WITH_UINTMAX # include # endif #else # include #endif /* malloc(), realloc(), free(). */ #include /* errno. */ #include /* Checked size_t computations. */ #include "xsize.h" #if CHAR_T_ONLY_ASCII /* c_isascii(). */ # include "c-ctype.h" #endif #ifdef STATIC STATIC #endif int PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) { const CHAR_T *cp = format; /* pointer into format */ size_t arg_posn = 0; /* number of regular arguments consumed */ size_t d_allocated; /* allocated elements of d->dir */ size_t a_allocated; /* allocated elements of a->arg */ size_t max_width_length = 0; size_t max_precision_length = 0; d->count = 0; d_allocated = 1; d->dir = (DIRECTIVE *) malloc (d_allocated * sizeof (DIRECTIVE)); if (d->dir == NULL) /* Out of memory. */ goto out_of_memory_1; a->count = 0; a_allocated = 0; a->arg = NULL; #define REGISTER_ARG(_index_,_type_) \ { \ size_t n = (_index_); \ if (n >= a_allocated) \ { \ size_t memory_size; \ argument *memory; \ \ a_allocated = xtimes (a_allocated, 2); \ if (a_allocated <= n) \ a_allocated = xsum (n, 1); \ memory_size = xtimes (a_allocated, sizeof (argument)); \ if (size_overflow_p (memory_size)) \ /* Overflow, would lead to out of memory. */ \ goto out_of_memory; \ memory = (argument *) (a->arg \ ? realloc (a->arg, memory_size) \ : malloc (memory_size)); \ if (memory == NULL) \ /* Out of memory. */ \ goto out_of_memory; \ a->arg = memory; \ } \ while (a->count <= n) \ a->arg[a->count++].type = TYPE_NONE; \ if (a->arg[n].type == TYPE_NONE) \ a->arg[n].type = (_type_); \ else if (a->arg[n].type != (_type_)) \ /* Ambiguous type for positional argument. */ \ goto error; \ } while (*cp != '\0') { CHAR_T c = *cp++; if (c == '%') { size_t arg_index = ARG_NONE; DIRECTIVE *dp = &d->dir[d->count]; /* pointer to next directive */ /* Initialize the next directive. */ dp->dir_start = cp - 1; dp->flags = 0; dp->width_start = NULL; dp->width_end = NULL; dp->width_arg_index = ARG_NONE; dp->precision_start = NULL; dp->precision_end = NULL; dp->precision_arg_index = ARG_NONE; dp->arg_index = ARG_NONE; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; arg_index = n - 1; cp = np + 1; } } /* Read the flags. */ for (;;) { if (*cp == '\'') { dp->flags |= FLAG_GROUP; cp++; } else if (*cp == '-') { dp->flags |= FLAG_LEFT; cp++; } else if (*cp == '+') { dp->flags |= FLAG_SHOWSIGN; cp++; } else if (*cp == ' ') { dp->flags |= FLAG_SPACE; cp++; } else if (*cp == '#') { dp->flags |= FLAG_ALT; cp++; } else if (*cp == '0') { dp->flags |= FLAG_ZERO; cp++; } else break; } /* Parse the field width. */ if (*cp == '*') { dp->width_start = cp; cp++; dp->width_end = cp; if (max_width_length < 1) max_width_length = 1; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; dp->width_arg_index = n - 1; cp = np + 1; } } if (dp->width_arg_index == ARG_NONE) { dp->width_arg_index = arg_posn++; if (dp->width_arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->width_arg_index, TYPE_INT); } else if (*cp >= '0' && *cp <= '9') { size_t width_length; dp->width_start = cp; for (; *cp >= '0' && *cp <= '9'; cp++) ; dp->width_end = cp; width_length = dp->width_end - dp->width_start; if (max_width_length < width_length) max_width_length = width_length; } /* Parse the precision. */ if (*cp == '.') { cp++; if (*cp == '*') { dp->precision_start = cp - 1; cp++; dp->precision_end = cp; if (max_precision_length < 2) max_precision_length = 2; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; dp->precision_arg_index = n - 1; cp = np + 1; } } if (dp->precision_arg_index == ARG_NONE) { dp->precision_arg_index = arg_posn++; if (dp->precision_arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->precision_arg_index, TYPE_INT); } else { size_t precision_length; dp->precision_start = cp - 1; for (; *cp >= '0' && *cp <= '9'; cp++) ; dp->precision_end = cp; precision_length = dp->precision_end - dp->precision_start; if (max_precision_length < precision_length) max_precision_length = precision_length; } } { arg_type type; /* Parse argument type/size specifiers. */ { int flags = 0; for (;;) { if (*cp == 'h') { flags |= (1 << (flags & 1)); cp++; } else if (*cp == 'L') { flags |= 4; cp++; } else if (*cp == 'l') { flags += 8; cp++; } else if (*cp == 'j') { if (sizeof (intmax_t) > sizeof (long)) { /* intmax_t = long long */ flags += 16; } else if (sizeof (intmax_t) > sizeof (int)) { /* intmax_t = long */ flags += 8; } cp++; } else if (*cp == 'z' || *cp == 'Z') { /* 'z' is standardized in ISO C 99, but glibc uses 'Z' because the warning facility in gcc-2.95.2 understands only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ if (sizeof (size_t) > sizeof (long)) { /* size_t = long long */ flags += 16; } else if (sizeof (size_t) > sizeof (int)) { /* size_t = long */ flags += 8; } cp++; } else if (*cp == 't') { if (sizeof (ptrdiff_t) > sizeof (long)) { /* ptrdiff_t = long long */ flags += 16; } else if (sizeof (ptrdiff_t) > sizeof (int)) { /* ptrdiff_t = long */ flags += 8; } cp++; } #if defined __APPLE__ && defined __MACH__ /* On MacOS X 10.3, PRIdMAX is defined as "qd". We cannot change it to "lld" because PRIdMAX must also be understood by the system's printf routines. */ else if (*cp == 'q') { if (64 / 8 > sizeof (long)) { /* int64_t = long long */ flags += 16; } else { /* int64_t = long */ flags += 8; } cp++; } #endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* On native Win32, PRIdMAX is defined as "I64d". We cannot change it to "lld" because PRIdMAX must also be understood by the system's printf routines. */ else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4') { if (64 / 8 > sizeof (long)) { /* __int64 = long long */ flags += 16; } else { /* __int64 = long */ flags += 8; } cp += 3; } #endif else break; } /* Read the conversion character. */ c = *cp++; switch (c) { case 'd': case 'i': #if HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_LONGLONGINT; else #endif /* If 'long long' exists and is the same as 'long', we parse "lld" into TYPE_LONGINT. */ if (flags >= 8) type = TYPE_LONGINT; else if (flags & 2) type = TYPE_SCHAR; else if (flags & 1) type = TYPE_SHORT; else type = TYPE_INT; break; case 'o': case 'u': case 'x': case 'X': #if HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_ULONGLONGINT; else #endif /* If 'unsigned long long' exists and is the same as 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ if (flags >= 8) type = TYPE_ULONGINT; else if (flags & 2) type = TYPE_UCHAR; else if (flags & 1) type = TYPE_USHORT; else type = TYPE_UINT; break; case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': case 'a': case 'A': if (flags >= 16 || (flags & 4)) type = TYPE_LONGDOUBLE; else type = TYPE_DOUBLE; break; case 'c': if (flags >= 8) #if HAVE_WINT_T type = TYPE_WIDE_CHAR; #else goto error; #endif else type = TYPE_CHAR; break; #if HAVE_WINT_T case 'C': type = TYPE_WIDE_CHAR; c = 'c'; break; #endif case 's': if (flags >= 8) #if HAVE_WCHAR_T type = TYPE_WIDE_STRING; #else goto error; #endif else type = TYPE_STRING; break; #if HAVE_WCHAR_T case 'S': type = TYPE_WIDE_STRING; c = 's'; break; #endif case 'p': type = TYPE_POINTER; break; case 'n': #if HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_COUNT_LONGLONGINT_POINTER; else #endif /* If 'long long' exists and is the same as 'long', we parse "lln" into TYPE_COUNT_LONGINT_POINTER. */ if (flags >= 8) type = TYPE_COUNT_LONGINT_POINTER; else if (flags & 2) type = TYPE_COUNT_SCHAR_POINTER; else if (flags & 1) type = TYPE_COUNT_SHORT_POINTER; else type = TYPE_COUNT_INT_POINTER; break; #if ENABLE_UNISTDIO /* The unistdio extensions. */ case 'U': if (flags >= 16) type = TYPE_U32_STRING; else if (flags >= 8) type = TYPE_U16_STRING; else type = TYPE_U8_STRING; break; #endif case '%': type = TYPE_NONE; break; default: /* Unknown conversion character. */ goto error; } } if (type != TYPE_NONE) { dp->arg_index = arg_index; if (dp->arg_index == ARG_NONE) { dp->arg_index = arg_posn++; if (dp->arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->arg_index, type); } dp->conversion = c; dp->dir_end = cp; } d->count++; if (d->count >= d_allocated) { size_t memory_size; DIRECTIVE *memory; d_allocated = xtimes (d_allocated, 2); memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); if (size_overflow_p (memory_size)) /* Overflow, would lead to out of memory. */ goto out_of_memory; memory = (DIRECTIVE *) realloc (d->dir, memory_size); if (memory == NULL) /* Out of memory. */ goto out_of_memory; d->dir = memory; } } #if CHAR_T_ONLY_ASCII else if (!c_isascii (c)) { /* Non-ASCII character. Not supported. */ goto error; } #endif } d->dir[d->count].dir_start = cp; d->max_width_length = max_width_length; d->max_precision_length = max_precision_length; return 0; error: if (a->arg) free (a->arg); if (d->dir) free (d->dir); errno = EINVAL; return -1; out_of_memory: if (a->arg) free (a->arg); if (d->dir) free (d->dir); out_of_memory_1: errno = ENOMEM; return -1; } #undef PRINTF_PARSE #undef DIRECTIVES #undef DIRECTIVE #undef CHAR_T_ONLY_ASCII #undef CHAR_T dc3dd-7.1.614/lib/setenv.c0000644000175000017500000001773611064230667014700 0ustar amedicoamedico/* Copyright (C) 1992,1995-1999,2000-2003,2005-2008 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if !_LIBC # include #endif #include /* Specification. */ #include #include #ifndef __set_errno # define __set_errno(ev) ((errno) = (ev)) #endif #include #if _LIBC || HAVE_UNISTD_H # include #endif #if _LIBC || !HAVE_SETENV #if !_LIBC # include "malloca.h" #endif #if !_LIBC # define __environ environ #endif #if _LIBC /* This lock protects against simultaneous modifications of `environ'. */ # include __libc_lock_define_initialized (static, envlock) # define LOCK __libc_lock_lock (envlock) # define UNLOCK __libc_lock_unlock (envlock) #else # define LOCK # define UNLOCK #endif /* In the GNU C library we must keep the namespace clean. */ #ifdef _LIBC # define setenv __setenv # define clearenv __clearenv # define tfind __tfind # define tsearch __tsearch #endif /* In the GNU C library implementation we try to be more clever and allow arbitrarily many changes of the environment given that the used values are from a small set. Outside glibc this will eat up all memory after a while. */ #if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \ && defined __GNUC__) # define USE_TSEARCH 1 # include typedef int (*compar_fn_t) (const void *, const void *); /* This is a pointer to the root of the search tree with the known values. */ static void *known_values; # define KNOWN_VALUE(Str) \ ({ \ void *value = tfind (Str, &known_values, (compar_fn_t) strcmp); \ value != NULL ? *(char **) value : NULL; \ }) # define STORE_VALUE(Str) \ tsearch (Str, &known_values, (compar_fn_t) strcmp) #else # undef USE_TSEARCH # define KNOWN_VALUE(Str) NULL # define STORE_VALUE(Str) do { } while (0) #endif /* If this variable is not a null pointer we allocated the current environment. */ static char **last_environ; /* This function is used by `setenv' and `putenv'. The difference between the two functions is that for the former must create a new string which is then placed in the environment, while the argument of `putenv' must be used directly. This is all complicated by the fact that we try to reuse values once generated for a `setenv' call since we can never free the strings. */ int __add_to_environ (const char *name, const char *value, const char *combined, int replace) { register char **ep; register size_t size; const size_t namelen = strlen (name); const size_t vallen = value != NULL ? strlen (value) + 1 : 0; LOCK; /* We have to get the pointer now that we have the lock and not earlier since another thread might have created a new environment. */ ep = __environ; size = 0; if (ep != NULL) { for (; *ep != NULL; ++ep) if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=') break; else ++size; } if (ep == NULL || *ep == NULL) { char **new_environ; #ifdef USE_TSEARCH char *new_value; #endif /* We allocated this space; we can extend it. */ new_environ = (char **) (last_environ == NULL ? malloc ((size + 2) * sizeof (char *)) : realloc (last_environ, (size + 2) * sizeof (char *))); if (new_environ == NULL) { UNLOCK; return -1; } /* If the whole entry is given add it. */ if (combined != NULL) /* We must not add the string to the search tree since it belongs to the user. */ new_environ[size] = (char *) combined; else { /* See whether the value is already known. */ #ifdef USE_TSEARCH # ifdef _LIBC new_value = (char *) alloca (namelen + 1 + vallen); __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1), value, vallen); # else new_value = (char *) malloca (namelen + 1 + vallen); if (new_value == NULL) { __set_errno (ENOMEM); UNLOCK; return -1; } memcpy (new_value, name, namelen); new_value[namelen] = '='; memcpy (&new_value[namelen + 1], value, vallen); # endif new_environ[size] = KNOWN_VALUE (new_value); if (new_environ[size] == NULL) #endif { new_environ[size] = (char *) malloc (namelen + 1 + vallen); if (new_environ[size] == NULL) { #if defined USE_TSEARCH && !defined _LIBC freea (new_value); #endif __set_errno (ENOMEM); UNLOCK; return -1; } #ifdef USE_TSEARCH memcpy (new_environ[size], new_value, namelen + 1 + vallen); #else memcpy (new_environ[size], name, namelen); new_environ[size][namelen] = '='; memcpy (&new_environ[size][namelen + 1], value, vallen); #endif /* And save the value now. We cannot do this when we remove the string since then we cannot decide whether it is a user string or not. */ STORE_VALUE (new_environ[size]); } #if defined USE_TSEARCH && !defined _LIBC freea (new_value); #endif } if (__environ != last_environ) memcpy ((char *) new_environ, (char *) __environ, size * sizeof (char *)); new_environ[size + 1] = NULL; last_environ = __environ = new_environ; } else if (replace) { char *np; /* Use the user string if given. */ if (combined != NULL) np = (char *) combined; else { #ifdef USE_TSEARCH char *new_value; # ifdef _LIBC new_value = alloca (namelen + 1 + vallen); __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1), value, vallen); # else new_value = malloca (namelen + 1 + vallen); if (new_value == NULL) { __set_errno (ENOMEM); UNLOCK; return -1; } memcpy (new_value, name, namelen); new_value[namelen] = '='; memcpy (&new_value[namelen + 1], value, vallen); # endif np = KNOWN_VALUE (new_value); if (np == NULL) #endif { np = malloc (namelen + 1 + vallen); if (np == NULL) { #if defined USE_TSEARCH && !defined _LIBC freea (new_value); #endif __set_errno (ENOMEM); UNLOCK; return -1; } #ifdef USE_TSEARCH memcpy (np, new_value, namelen + 1 + vallen); #else memcpy (np, name, namelen); np[namelen] = '='; memcpy (&np[namelen + 1], value, vallen); #endif /* And remember the value. */ STORE_VALUE (np); } #if defined USE_TSEARCH && !defined _LIBC freea (new_value); #endif } *ep = np; } UNLOCK; return 0; } int setenv (const char *name, const char *value, int replace) { return __add_to_environ (name, value, NULL, replace); } /* The `clearenv' was planned to be added to POSIX.1 but probably never made it. Nevertheless the POSIX.9 standard (POSIX bindings for Fortran 77) requires this function. */ int clearenv (void) { LOCK; if (__environ == last_environ && __environ != NULL) { /* We allocated this environment so we can free it. */ free (__environ); last_environ = NULL; } /* Clear the environment pointer removes the whole environment. */ __environ = NULL; UNLOCK; return 0; } #ifdef _LIBC static void free_mem (void) { /* Remove all traces. */ clearenv (); /* Now remove the search tree. */ __tdestroy (known_values, free); known_values = NULL; } text_set_element (__libc_subfreeres, free_mem); # undef setenv # undef clearenv weak_alias (__setenv, setenv) weak_alias (__clearenv, clearenv) #endif #endif /* _LIBC || !HAVE_SETENV */ dc3dd-7.1.614/lib/freadptr.c0000644000175000017500000000551411064230667015172 0ustar amedicoamedico/* Retrieve information about a FILE stream. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "freadptr.h" #include #include "stdio-impl.h" const char * freadptr (FILE *fp, size_t *sizep) { size_t size; /* Keep this code in sync with freadahead! */ #if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ if (fp->_IO_write_ptr > fp->_IO_write_base) return NULL; size = fp->_IO_read_end - fp->_IO_read_ptr; if (size == 0) return NULL; *sizep = size; return (const char *) fp->_IO_read_ptr; #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ if ((fp_->_flags & __SWR) != 0 || fp_->_r < 0) return NULL; size = fp_->_r; if (size == 0) return NULL; *sizep = size; return (const char *) fp_->_p; #elif defined __EMX__ /* emx+gcc */ if ((fp->_flags & _IOWRT) != 0) return NULL; /* Note: fp->_ungetc_count > 0 implies fp->_rcount <= 0, fp->_ungetc_count = 0 implies fp->_rcount >= 0. */ if (fp->_rcount <= 0) return NULL; if (!(fp->_ungetc_count == 0)) abort (); *sizep = fp->_rcount; return fp->_ptr; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ if ((fp_->_flag & _IOWRT) != 0) return NULL; size = fp_->_cnt; if (size == 0) return NULL; *sizep = size; return (const char *) fp_->_ptr; #elif defined __UCLIBC__ /* uClibc */ # ifdef __STDIO_BUFFERS if (fp->__modeflags & __FLAG_WRITING) return NULL; size = fp->__bufread - fp->__bufpos; if (size == 0) return NULL; *sizep = size; return (const char *) fp->__bufpos; # else return NULL; # endif #elif defined __QNX__ /* QNX */ if ((fp->_Mode & 0x2000 /* _MWRITE */) != 0) return NULL; /* fp->_Buf <= fp->_Next <= fp->_Rend */ size = fp->_Rend - fp->_Next; if (size == 0) return NULL; *sizep = size; return (const char *) fp->_Next; #else #error "Please port gnulib freadptr.c to your platform! Look at the definition of fflush, fread, getc, getc_unlocked on your system, then report this to bug-gnulib." #endif } dc3dd-7.1.614/lib/sha1.h0000644000175000017500000000614511064230667014225 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Declarations of functions and data types used for SHA1 sum library functions. Copyright (C) 2000, 2001, 2003, 2005, 2006, 2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 SHA1_H # define SHA1_H 1 # include # include #define SHA1_DIGEST_SIZE 20 /* Structure to save state of computation between the single steps. */ struct sha1_ctx { uint32_t A; uint32_t B; uint32_t C; uint32_t D; uint32_t E; uint32_t total[2]; uint32_t buflen; uint32_t buffer[32]; }; /* Initialize structure containing state of computation. */ extern void sha1_init_ctx (struct sha1_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is necessary that LEN is a multiple of 64!!! */ extern void sha1_process_block (const void *buffer, size_t len, struct sha1_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is NOT required that LEN is a multiple of 64. */ extern void sha1_process_bytes (const void *buffer, size_t len, struct sha1_ctx *ctx); /* Process the remaining bytes in the buffer and put result from CTX in first 20 bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf); /* Put result from CTX in first 20 bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha1_read_ctx (const struct sha1_ctx *ctx, void *resbuf); /* Compute SHA1 message digest for bytes read from STREAM. The resulting message digest number will be written into the 20 bytes beginning at RESBLOCK. */ extern int sha1_stream (FILE *stream, void *resblock); /* Compute SHA1 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha1_buffer (const char *buffer, size_t len, void *resblock); #endif dc3dd-7.1.614/lib/write-any-file.c0000644000175000017500000000303311022023316016172 0ustar amedicoamedico/* Determine whether we can write any file. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "write-any-file.h" #if HAVE_PRIV_H # include #endif #include /* Return true if we know that we can write any file, including writing directories. */ bool can_write_any_file (void) { static bool initialized; static bool can_write; if (! initialized) { bool can = false; #if defined PRIV_EFFECTIVE && defined PRIV_FILE_DAC_WRITE priv_set_t *pset = priv_allocset (); if (pset) { can = (getppriv (PRIV_EFFECTIVE, pset) == 0 && priv_ismember (pset, PRIV_FILE_DAC_WRITE)); priv_freeset (pset); } #else /* In traditional Unix, only root can unlink directories. */ can = (geteuid () == 0); #endif can_write = can; initialized = true; } return can_write; } dc3dd-7.1.614/lib/fcntl-safer.h0000644000175000017500000000160011022023316015545 0ustar amedicoamedico/* Invoke fcntl-like functions, but avoid some glitches. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include int open_safer (char const *, int, ...); int creat_safer (char const *, mode_t); dc3dd-7.1.614/lib/xtime.h0000644000175000017500000000443211022023316014475 0ustar amedicoamedico/* xtime -- extended-resolution integer time stamps Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #ifndef XTIME_H_ # define XTIME_H_ 1 /* xtime_t is a signed type used for time stamps. It is an integer type that is a count of nanoseconds -- except for obsolescent hosts without sufficiently-wide integers, where it is a count of seconds. */ # if HAVE_LONG_LONG_INT typedef long long int xtime_t; # define XTIME_PRECISION 1000000000 # else # include typedef long int xtime_t; # if LONG_MAX >> 31 >> 31 == 0 # define XTIME_PRECISION 1 # else # define XTIME_PRECISION 1000000000 # endif # endif /* Return an extended time value that contains S seconds and NS nanoseconds, without any overflow checking. */ static inline xtime_t xtime_make (xtime_t s, long int ns) { if (XTIME_PRECISION == 1) return s; else return XTIME_PRECISION * s + ns; } /* Return the number of seconds in T, which must be nonnegative. */ static inline xtime_t xtime_nonnegative_sec (xtime_t t) { return t / XTIME_PRECISION; } /* Return the number of seconds in T. */ static inline xtime_t xtime_sec (xtime_t t) { return (XTIME_PRECISION == 1 ? t : t < 0 ? (t + XTIME_PRECISION - 1) / XTIME_PRECISION - 1 : xtime_nonnegative_sec (t)); } /* Return the number of nanoseconds in T, which must be nonnegative. */ static inline long int xtime_nonnegative_nsec (xtime_t t) { return t % XTIME_PRECISION; } /* Return the number of nanoseconds in T. */ static inline long int xtime_nsec (xtime_t t) { long int ns = t % XTIME_PRECISION; if (ns < 0) ns += XTIME_PRECISION; return ns; } #endif dc3dd-7.1.614/lib/iconv_open-aix.gperf0000644000175000017500000000172411022023316017142 0ustar amedicoamedicostruct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C %define slot-name standard_name %define hash-function-name mapping_hash %define lookup-function-name mapping_lookup %readonly-tables %global-table %define word-array-name mappings %pic %% # On AIX 5.1, look in /usr/lib/nls/loc/uconvTable. ISO-8859-1, "ISO8859-1" ISO-8859-2, "ISO8859-2" ISO-8859-3, "ISO8859-3" ISO-8859-4, "ISO8859-4" ISO-8859-5, "ISO8859-5" ISO-8859-6, "ISO8859-6" ISO-8859-7, "ISO8859-7" ISO-8859-8, "ISO8859-8" ISO-8859-9, "ISO8859-9" ISO-8859-15, "ISO8859-15" CP437, "IBM-437" CP850, "IBM-850" CP852, "IBM-852" CP856, "IBM-856" CP857, "IBM-857" CP861, "IBM-861" CP865, "IBM-865" CP869, "IBM-869" ISO-8859-13, "IBM-921" CP922, "IBM-922" CP932, "IBM-932" CP943, "IBM-943" CP1046, "IBM-1046" CP1124, "IBM-1124" CP1125, "IBM-1125" CP1129, "IBM-1129" CP1252, "IBM-1252" GB2312, "IBM-eucCN" EUC-JP, "IBM-eucJP" EUC-KR, "IBM-eucKR" EUC-TW, "IBM-eucTW" BIG5, "big5" dc3dd-7.1.614/lib/hard-locale.h0000644000175000017500000000155711022023316015527 0ustar amedicoamedico/* Determine whether a locale is hard. Copyright (C) 1999, 2003, 2004 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef HARD_LOCALE_H_ # define HARD_LOCALE_H_ 1 # include bool hard_locale (int); #endif /* HARD_LOCALE_H_ */ dc3dd-7.1.614/lib/mountlist.c0000644000175000017500000005315511022023316015406 0ustar amedicoamedico/* mountlist.c -- return a list of mounted file systems Copyright (C) 1991, 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "mountlist.h" #include #include #include #include #include "xalloc.h" #include #include #include #if HAVE_SYS_PARAM_H # include #endif #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */ # if HAVE_SYS_UCRED_H # include /* needed on OSF V4.0 for definition of NGROUPS, NGROUPS is used as an array dimension in ucred.h */ # include /* needed by powerpc-apple-darwin1.3.7 */ # endif # if HAVE_SYS_MOUNT_H # include # endif # if HAVE_SYS_FS_TYPES_H # include /* needed by powerpc-apple-darwin1.3.7 */ # endif # if HAVE_STRUCT_FSSTAT_F_FSTYPENAME # define FS_TYPE(Ent) ((Ent).f_fstypename) # else # define FS_TYPE(Ent) mnt_names[(Ent).f_type] # endif #endif /* MOUNTED_GETFSSTAT */ #ifdef MOUNTED_GETMNTENT1 /* 4.3BSD, SunOS, HP-UX, Dynix, Irix. */ # include # if !defined MOUNTED # if defined _PATH_MOUNTED /* GNU libc */ # define MOUNTED _PATH_MOUNTED # endif # if defined MNT_MNTTAB /* HP-UX. */ # define MOUNTED MNT_MNTTAB # endif # if defined MNTTABNAME /* Dynix. */ # define MOUNTED MNTTABNAME # endif # endif #endif #ifdef MOUNTED_GETMNTINFO /* 4.4BSD. */ # include #endif #ifdef MOUNTED_GETMNTINFO2 /* NetBSD 3.0. */ # include #endif #ifdef MOUNTED_GETMNT /* Ultrix. */ # include # include #endif #ifdef MOUNTED_FS_STAT_DEV /* BeOS. */ # include # include #endif #ifdef MOUNTED_FREAD /* SVR2. */ # include #endif #ifdef MOUNTED_FREAD_FSTYP /* SVR3. */ # include # include # include #endif #ifdef MOUNTED_LISTMNTENT # include #endif #ifdef MOUNTED_GETMNTENT2 /* SVR4. */ # include #endif #ifdef MOUNTED_VMOUNT /* AIX. */ # include # include #endif #ifdef DOLPHIN /* So special that it's not worth putting this in autoconf. */ # undef MOUNTED_FREAD_FSTYP # define MOUNTED_GETMNTTBL #endif #if HAVE_SYS_MNTENT_H /* This is to get MNTOPT_IGNORE on e.g. SVR4. */ # include #endif #undef MNT_IGNORE #if defined MNTOPT_IGNORE && defined HAVE_HASMNTOPT # define MNT_IGNORE(M) hasmntopt ((M), MNTOPT_IGNORE) #else # define MNT_IGNORE(M) 0 #endif #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif /* The results of open() in this file are not used with fchdir, therefore save some unnecessary work in fchdir.c. */ #undef open #undef close /* The results of opendir() in this file are not used with dirfd and fchdir, therefore save some unnecessary work in fchdir.c. */ #undef opendir #undef closedir #ifndef ME_DUMMY # define ME_DUMMY(Fs_name, Fs_type) \ (strcmp (Fs_type, "autofs") == 0 \ || strcmp (Fs_type, "none") == 0 \ || strcmp (Fs_type, "proc") == 0 \ || strcmp (Fs_type, "subfs") == 0 \ /* for NetBSD 3.0 */ \ || strcmp (Fs_type, "kernfs") == 0 \ /* for Irix 6.5 */ \ || strcmp (Fs_type, "ignore") == 0) #endif #ifndef ME_REMOTE /* A file system is `remote' if its Fs_name contains a `:' or if (it is of type (smbfs or cifs) and its Fs_name starts with `//'). */ # define ME_REMOTE(Fs_name, Fs_type) \ (strchr (Fs_name, ':') != NULL \ || ((Fs_name)[0] == '/' \ && (Fs_name)[1] == '/' \ && (strcmp (Fs_type, "smbfs") == 0 \ || strcmp (Fs_type, "cifs") == 0))) #endif #if MOUNTED_GETMNTINFO # if ! HAVE_STRUCT_STATFS_F_FSTYPENAME static char * fstype_to_string (short int t) { switch (t) { # ifdef MOUNT_PC case MOUNT_PC: return "pc"; # endif # ifdef MOUNT_MFS case MOUNT_MFS: return "mfs"; # endif # ifdef MOUNT_LO case MOUNT_LO: return "lo"; # endif # ifdef MOUNT_TFS case MOUNT_TFS: return "tfs"; # endif # ifdef MOUNT_TMP case MOUNT_TMP: return "tmp"; # endif # ifdef MOUNT_UFS case MOUNT_UFS: return "ufs" ; # endif # ifdef MOUNT_NFS case MOUNT_NFS: return "nfs" ; # endif # ifdef MOUNT_MSDOS case MOUNT_MSDOS: return "msdos" ; # endif # ifdef MOUNT_LFS case MOUNT_LFS: return "lfs" ; # endif # ifdef MOUNT_LOFS case MOUNT_LOFS: return "lofs" ; # endif # ifdef MOUNT_FDESC case MOUNT_FDESC: return "fdesc" ; # endif # ifdef MOUNT_PORTAL case MOUNT_PORTAL: return "portal" ; # endif # ifdef MOUNT_NULL case MOUNT_NULL: return "null" ; # endif # ifdef MOUNT_UMAP case MOUNT_UMAP: return "umap" ; # endif # ifdef MOUNT_KERNFS case MOUNT_KERNFS: return "kernfs" ; # endif # ifdef MOUNT_PROCFS case MOUNT_PROCFS: return "procfs" ; # endif # ifdef MOUNT_AFS case MOUNT_AFS: return "afs" ; # endif # ifdef MOUNT_CD9660 case MOUNT_CD9660: return "cd9660" ; # endif # ifdef MOUNT_UNION case MOUNT_UNION: return "union" ; # endif # ifdef MOUNT_DEVFS case MOUNT_DEVFS: return "devfs" ; # endif # ifdef MOUNT_EXT2FS case MOUNT_EXT2FS: return "ext2fs" ; # endif default: return "?"; } } # endif static char * fsp_to_string (const struct statfs *fsp) { # if HAVE_STRUCT_STATFS_F_FSTYPENAME return (char *) (fsp->f_fstypename); # else return fstype_to_string (fsp->f_type); # endif } #endif /* MOUNTED_GETMNTINFO */ #ifdef MOUNTED_VMOUNT /* AIX. */ static char * fstype_to_string (int t) { struct vfs_ent *e; e = getvfsbytype (t); if (!e || !e->vfsent_name) return "none"; else return e->vfsent_name; } #endif /* MOUNTED_VMOUNT */ #if defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2 /* Return the device number from MOUNT_OPTIONS, if possible. Otherwise return (dev_t) -1. */ static dev_t dev_from_mount_options (char const *mount_options) { /* GNU/Linux allows file system implementations to define their own meaning for "dev=" mount options, so don't trust the meaning here. */ # ifndef __linux__ static char const dev_pattern[] = ",dev="; char const *devopt = strstr (mount_options, dev_pattern); if (devopt) { char const *optval = devopt + sizeof dev_pattern - 1; char *optvalend; unsigned long int dev; errno = 0; dev = strtoul (optval, &optvalend, 16); if (optval != optvalend && (*optvalend == '\0' || *optvalend == ',') && ! (dev == ULONG_MAX && errno == ERANGE) && dev == (dev_t) dev) return dev; } # endif return -1; } #endif /* Return a list of the currently mounted file systems, or NULL on error. Add each entry to the tail of the list so that they stay in order. If NEED_FS_TYPE is true, ensure that the file system type fields in the returned list are valid. Otherwise, they might not be. */ struct mount_entry * read_file_system_list (bool need_fs_type) { struct mount_entry *mount_list; struct mount_entry *me; struct mount_entry **mtail = &mount_list; #ifdef MOUNTED_LISTMNTENT { struct tabmntent *mntlist, *p; struct mntent *mnt; struct mount_entry *me; /* the third and fourth arguments could be used to filter mounts, but Crays doesn't seem to have any mounts that we want to remove. Specifically, automount create normal NFS mounts. */ if (listmntent (&mntlist, KMTAB, NULL, NULL) < 0) return NULL; for (p = mntlist; p; p = p->next) { mnt = p->ment; me = xmalloc (sizeof *me); me->me_devname = xstrdup (mnt->mnt_fsname); me->me_mountdir = xstrdup (mnt->mnt_dir); me->me_type = xstrdup (mnt->mnt_type); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = -1; *mtail = me; mtail = &me->me_next; } freemntlist (mntlist); } #endif #ifdef MOUNTED_GETMNTENT1 /* GNU/Linux, 4.3BSD, SunOS, HP-UX, Dynix, Irix. */ { struct mntent *mnt; char *table = MOUNTED; FILE *fp; fp = setmntent (table, "r"); if (fp == NULL) return NULL; while ((mnt = getmntent (fp))) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (mnt->mnt_fsname); me->me_mountdir = xstrdup (mnt->mnt_dir); me->me_type = xstrdup (mnt->mnt_type); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = dev_from_mount_options (mnt->mnt_opts); /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } if (endmntent (fp) == 0) goto free_then_fail; } #endif /* MOUNTED_GETMNTENT1. */ #ifdef MOUNTED_GETMNTINFO /* 4.4BSD. */ { struct statfs *fsp; int entries; entries = getmntinfo (&fsp, MNT_NOWAIT); if (entries < 0) return NULL; for (; entries-- > 0; fsp++) { char *fs_type = fsp_to_string (fsp); me = xmalloc (sizeof *me); me->me_devname = xstrdup (fsp->f_mntfromname); me->me_mountdir = xstrdup (fsp->f_mntonname); me->me_type = fs_type; me->me_type_malloced = 0; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } } #endif /* MOUNTED_GETMNTINFO */ #ifdef MOUNTED_GETMNTINFO2 /* NetBSD 3.0. */ { struct statvfs *fsp; int entries; entries = getmntinfo (&fsp, MNT_NOWAIT); if (entries < 0) return NULL; for (; entries-- > 0; fsp++) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (fsp->f_mntfromname); me->me_mountdir = xstrdup (fsp->f_mntonname); me->me_type = xstrdup (fsp->f_fstypename); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } } #endif /* MOUNTED_GETMNTINFO2 */ #ifdef MOUNTED_GETMNT /* Ultrix. */ { int offset = 0; int val; struct fs_data fsd; while (errno = 0, 0 < (val = getmnt (&offset, &fsd, sizeof (fsd), NOSTAT_MANY, (char *) 0))) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (fsd.fd_req.devname); me->me_mountdir = xstrdup (fsd.fd_req.path); me->me_type = gt_names[fsd.fd_req.fstype]; me->me_type_malloced = 0; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = fsd.fd_req.dev; /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } if (val < 0) goto free_then_fail; } #endif /* MOUNTED_GETMNT. */ #if defined MOUNTED_FS_STAT_DEV /* BeOS */ { /* The next_dev() and fs_stat_dev() system calls give the list of all file systems, including the information returned by statvfs() (fs type, total blocks, free blocks etc.), but without the mount point. But on BeOS all file systems except / are mounted in the rootfs, directly under /. The directory name of the mount point is often, but not always, identical to the volume name of the device. We therefore get the list of subdirectories of /, and the list of all file systems, and match the two lists. */ DIR *dirp; struct rootdir_entry { char *name; dev_t dev; ino_t ino; struct rootdir_entry *next; }; struct rootdir_entry *rootdir_list; struct rootdir_entry **rootdir_tail; int32 pos; dev_t dev; fs_info fi; /* All volumes are mounted in the rootfs, directly under /. */ rootdir_list = NULL; rootdir_tail = &rootdir_list; dirp = opendir ("/"); if (dirp) { struct dirent *d; while ((d = readdir (dirp)) != NULL) { char *name; struct stat statbuf; if (strcmp (d->d_name, "..") == 0) continue; if (strcmp (d->d_name, ".") == 0) name = xstrdup ("/"); else { name = xmalloc (1 + strlen (d->d_name) + 1); name[0] = '/'; strcpy (name + 1, d->d_name); } if (lstat (name, &statbuf) >= 0 && S_ISDIR (statbuf.st_mode)) { struct rootdir_entry *re = xmalloc (sizeof *re); re->name = name; re->dev = statbuf.st_dev; re->ino = statbuf.st_ino; /* Add to the linked list. */ *rootdir_tail = re; rootdir_tail = &re->next; } else free (name); } closedir (dirp); } *rootdir_tail = NULL; for (pos = 0; (dev = next_dev (&pos)) >= 0; ) if (fs_stat_dev (dev, &fi) >= 0) { /* Note: fi.dev == dev. */ struct rootdir_entry *re; for (re = rootdir_list; re; re = re->next) if (re->dev == fi.dev && re->ino == fi.root) break; me = xmalloc (sizeof *me); me->me_devname = xstrdup (fi.device_name[0] != '\0' ? fi.device_name : fi.fsh_name); me->me_mountdir = xstrdup (re != NULL ? re->name : fi.fsh_name); me->me_type = xstrdup (fi.fsh_name); me->me_type_malloced = 1; me->me_dev = fi.dev; me->me_dummy = 0; me->me_remote = (fi.flags & B_FS_IS_SHARED) != 0; /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } *mtail = NULL; while (rootdir_list != NULL) { struct rootdir_entry *re = rootdir_list; rootdir_list = re->next; free (re->name); free (re); } } #endif /* MOUNTED_FS_STAT_DEV */ #if defined MOUNTED_GETFSSTAT /* __alpha running OSF_1 */ { int numsys, counter; size_t bufsize; struct statfs *stats; numsys = getfsstat ((struct statfs *)0, 0L, MNT_NOWAIT); if (numsys < 0) return (NULL); if (SIZE_MAX / sizeof *stats <= numsys) xalloc_die (); bufsize = (1 + numsys) * sizeof *stats; stats = xmalloc (bufsize); numsys = getfsstat (stats, bufsize, MNT_NOWAIT); if (numsys < 0) { free (stats); return (NULL); } for (counter = 0; counter < numsys; counter++) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (stats[counter].f_mntfromname); me->me_mountdir = xstrdup (stats[counter].f_mntonname); me->me_type = xstrdup (FS_TYPE (stats[counter])); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } free (stats); } #endif /* MOUNTED_GETFSSTAT */ #if defined MOUNTED_FREAD || defined MOUNTED_FREAD_FSTYP /* SVR[23]. */ { struct mnttab mnt; char *table = "/etc/mnttab"; FILE *fp; fp = fopen (table, "r"); if (fp == NULL) return NULL; while (fread (&mnt, sizeof mnt, 1, fp) > 0) { me = xmalloc (sizeof *me); # ifdef GETFSTYP /* SVR3. */ me->me_devname = xstrdup (mnt.mt_dev); # else me->me_devname = xmalloc (strlen (mnt.mt_dev) + 6); strcpy (me->me_devname, "/dev/"); strcpy (me->me_devname + 5, mnt.mt_dev); # endif me->me_mountdir = xstrdup (mnt.mt_filsys); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ me->me_type = ""; me->me_type_malloced = 0; # ifdef GETFSTYP /* SVR3. */ if (need_fs_type) { struct statfs fsd; char typebuf[FSTYPSZ]; if (statfs (me->me_mountdir, &fsd, sizeof fsd, 0) != -1 && sysfs (GETFSTYP, fsd.f_fstyp, typebuf) != -1) { me->me_type = xstrdup (typebuf); me->me_type_malloced = 1; } } # endif me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } if (ferror (fp)) { /* The last fread() call must have failed. */ int saved_errno = errno; fclose (fp); errno = saved_errno; goto free_then_fail; } if (fclose (fp) == EOF) goto free_then_fail; } #endif /* MOUNTED_FREAD || MOUNTED_FREAD_FSTYP. */ #ifdef MOUNTED_GETMNTTBL /* DolphinOS goes its own way. */ { struct mntent **mnttbl = getmnttbl (), **ent; for (ent=mnttbl;*ent;ent++) { me = xmalloc (sizeof *me); me->me_devname = xstrdup ( (*ent)->mt_resource); me->me_mountdir = xstrdup ( (*ent)->mt_directory); me->me_type = xstrdup ((*ent)->mt_fstype); me->me_type_malloced = 1; me->me_dummy = ME_DUMMY (me->me_devname, me->me_type); me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = (dev_t) -1; /* Magic; means not known yet. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } endmnttbl (); } #endif #ifdef MOUNTED_GETMNTENT2 /* SVR4. */ { struct mnttab mnt; char *table = MNTTAB; FILE *fp; int ret; int lockfd = -1; # if defined F_RDLCK && defined F_SETLKW /* MNTTAB_LOCK is a macro name of our own invention; it's not present in e.g. Solaris 2.6. If the SVR4 folks ever define a macro for this file name, we should use their macro name instead. (Why not just lock MNTTAB directly? We don't know.) */ # ifndef MNTTAB_LOCK # define MNTTAB_LOCK "/etc/.mnttab.lock" # endif lockfd = open (MNTTAB_LOCK, O_RDONLY); if (0 <= lockfd) { struct flock flock; flock.l_type = F_RDLCK; flock.l_whence = SEEK_SET; flock.l_start = 0; flock.l_len = 0; while (fcntl (lockfd, F_SETLKW, &flock) == -1) if (errno != EINTR) { int saved_errno = errno; close (lockfd); errno = saved_errno; return NULL; } } else if (errno != ENOENT) return NULL; # endif errno = 0; fp = fopen (table, "r"); if (fp == NULL) ret = errno; else { while ((ret = getmntent (fp, &mnt)) == 0) { me = xmalloc (sizeof *me); me->me_devname = xstrdup (mnt.mnt_special); me->me_mountdir = xstrdup (mnt.mnt_mountp); me->me_type = xstrdup (mnt.mnt_fstype); me->me_type_malloced = 1; me->me_dummy = MNT_IGNORE (&mnt) != 0; me->me_remote = ME_REMOTE (me->me_devname, me->me_type); me->me_dev = dev_from_mount_options (mnt.mnt_mntopts); /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } ret = fclose (fp) == EOF ? errno : 0 < ret ? 0 : -1; } if (0 <= lockfd && close (lockfd) != 0) ret = errno; if (0 <= ret) { errno = ret; goto free_then_fail; } } #endif /* MOUNTED_GETMNTENT2. */ #ifdef MOUNTED_VMOUNT /* AIX. */ { int bufsize; char *entries, *thisent; struct vmount *vmp; int n_entries; int i; /* Ask how many bytes to allocate for the mounted file system info. */ if (mntctl (MCTL_QUERY, sizeof bufsize, (struct vmount *) &bufsize) != 0) return NULL; entries = xmalloc (bufsize); /* Get the list of mounted file systems. */ n_entries = mntctl (MCTL_QUERY, bufsize, (struct vmount *) entries); if (n_entries < 0) { int saved_errno = errno; free (entries); errno = saved_errno; return NULL; } for (i = 0, thisent = entries; i < n_entries; i++, thisent += vmp->vmt_length) { char *options, *ignore; vmp = (struct vmount *) thisent; me = xmalloc (sizeof *me); if (vmp->vmt_flags & MNT_REMOTE) { char *host, *dir; me->me_remote = 1; /* Prepend the remote dirname. */ host = thisent + vmp->vmt_data[VMT_HOSTNAME].vmt_off; dir = thisent + vmp->vmt_data[VMT_OBJECT].vmt_off; me->me_devname = xmalloc (strlen (host) + strlen (dir) + 2); strcpy (me->me_devname, host); strcat (me->me_devname, ":"); strcat (me->me_devname, dir); } else { me->me_remote = 0; me->me_devname = xstrdup (thisent + vmp->vmt_data[VMT_OBJECT].vmt_off); } me->me_mountdir = xstrdup (thisent + vmp->vmt_data[VMT_STUB].vmt_off); me->me_type = xstrdup (fstype_to_string (vmp->vmt_gfstype)); me->me_type_malloced = 1; options = thisent + vmp->vmt_data[VMT_ARGS].vmt_off; ignore = strstr (options, "ignore"); me->me_dummy = (ignore && (ignore == options || ignore[-1] == ',') && (ignore[sizeof "ignore" - 1] == ',' || ignore[sizeof "ignore" - 1] == '\0')); me->me_dev = (dev_t) -1; /* vmt_fsid might be the info we want. */ /* Add to the linked list. */ *mtail = me; mtail = &me->me_next; } free (entries); } #endif /* MOUNTED_VMOUNT. */ *mtail = NULL; return mount_list; free_then_fail: { int saved_errno = errno; *mtail = NULL; while (mount_list) { me = mount_list->me_next; free (mount_list->me_devname); free (mount_list->me_mountdir); if (mount_list->me_type_malloced) free (mount_list->me_type); free (mount_list); mount_list = me; } errno = saved_errno; return NULL; } } dc3dd-7.1.614/lib/isnan.c0000644000175000017500000001302111064230667014463 0ustar amedicoamedico/* Test for NaN that does not need libm. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #include #include #include #include "float+.h" #ifdef USE_LONG_DOUBLE # define FUNC rpl_isnanl # define DOUBLE long double # define MAX_EXP LDBL_MAX_EXP # define MIN_EXP LDBL_MIN_EXP # if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT # define KNOWN_EXPBIT0_LOCATION # define EXPBIT0_WORD LDBL_EXPBIT0_WORD # define EXPBIT0_BIT LDBL_EXPBIT0_BIT # endif # define SIZE SIZEOF_LDBL # define L_(literal) literal##L #elif ! defined USE_FLOAT # define FUNC rpl_isnand # define DOUBLE double # define MAX_EXP DBL_MAX_EXP # define MIN_EXP DBL_MIN_EXP # if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT # define KNOWN_EXPBIT0_LOCATION # define EXPBIT0_WORD DBL_EXPBIT0_WORD # define EXPBIT0_BIT DBL_EXPBIT0_BIT # endif # define SIZE SIZEOF_DBL # define L_(literal) literal #else /* defined USE_FLOAT */ # define FUNC rpl_isnanf # define DOUBLE float # define MAX_EXP FLT_MAX_EXP # define MIN_EXP FLT_MIN_EXP # if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT # define KNOWN_EXPBIT0_LOCATION # define EXPBIT0_WORD FLT_EXPBIT0_WORD # define EXPBIT0_BIT FLT_EXPBIT0_BIT # endif # define SIZE SIZEOF_FLT # define L_(literal) literal##f #endif #define EXP_MASK ((MAX_EXP - MIN_EXP) | 7) #define NWORDS \ ((sizeof (DOUBLE) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) typedef union { DOUBLE value; unsigned int word[NWORDS]; } memory_double; int FUNC (DOUBLE x) { #ifdef KNOWN_EXPBIT0_LOCATION # if defined USE_LONG_DOUBLE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) /* Special CPU dependent code is needed to treat bit patterns outside the IEEE 754 specification (such as Pseudo-NaNs, Pseudo-Infinities, Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals) as NaNs. These bit patterns are: - exponent = 0x0001..0x7FFF, mantissa bit 63 = 0, - exponent = 0x0000, mantissa bit 63 = 1. The NaN bit pattern is: - exponent = 0x7FFF, mantissa >= 0x8000000000000001. */ memory_double m; unsigned int exponent; m.value = x; exponent = (m.word[EXPBIT0_WORD] >> EXPBIT0_BIT) & EXP_MASK; # ifdef WORDS_BIGENDIAN /* Big endian: EXPBIT0_WORD = 0, EXPBIT0_BIT = 16. */ if (exponent == 0) return 1 & (m.word[0] >> 15); else if (exponent == EXP_MASK) return (((m.word[0] ^ 0x8000U) << 16) | m.word[1] | (m.word[2] >> 16)) != 0; else return 1 & ~(m.word[0] >> 15); # else /* Little endian: EXPBIT0_WORD = 2, EXPBIT0_BIT = 0. */ if (exponent == 0) return (m.word[1] >> 31); else if (exponent == EXP_MASK) return ((m.word[1] ^ 0x80000000U) | m.word[0]) != 0; else return (m.word[1] >> 31) ^ 1; # endif # else /* Be careful to not do any floating-point operation on x, such as x == x, because x may be a signaling NaN. */ # if defined __SUNPRO_C || defined __DECC || (defined __sgi && !defined __GNUC__) /* The Sun C 5.0 compilers and the Compaq (ex-DEC) 6.4 compilers don't recognize the initializers as constant expressions. The latter compiler also fails when constant-folding 0.0 / 0.0 even when constant-folding is not required. The SGI MIPSpro C compiler complains about "floating-point operation result is out of range". */ static DOUBLE zero = L_(0.0); memory_double nan; DOUBLE plus_inf = L_(1.0) / L_(0.0); DOUBLE minus_inf = -L_(1.0) / L_(0.0); nan.value = zero / zero; # else static memory_double nan = { L_(0.0) / L_(0.0) }; static DOUBLE plus_inf = L_(1.0) / L_(0.0); static DOUBLE minus_inf = -L_(1.0) / L_(0.0); # endif { memory_double m; /* A NaN can be recognized through its exponent. But exclude +Infinity and -Infinity, which have the same exponent. */ m.value = x; if (((m.word[EXPBIT0_WORD] ^ nan.word[EXPBIT0_WORD]) & (EXP_MASK << EXPBIT0_BIT)) == 0) return (memcmp (&m.value, &plus_inf, SIZE) != 0 && memcmp (&m.value, &minus_inf, SIZE) != 0); else return 0; } # endif #else /* The configuration did not find sufficient information. Give up about the signaling NaNs, handle only the quiet NaNs. */ if (x == x) { # if defined USE_LONG_DOUBLE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) /* Detect any special bit patterns that pass ==; see comment above. */ memory_double m1; memory_double m2; memset (&m1.value, 0, SIZE); memset (&m2.value, 0, SIZE); m1.value = x; m2.value = x + (x ? 0.0L : -0.0L); if (memcmp (&m1.value, &m2.value, SIZE) != 0) return 1; # endif return 0; } else return 1; #endif } dc3dd-7.1.614/lib/closeout.h0000644000175000017500000000171411022023316015204 0ustar amedicoamedico/* Close standard output and standard error. Copyright (C) 1998, 2000, 2003, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef CLOSEOUT_H # define CLOSEOUT_H 1 # ifdef __cplusplus extern "C" { # endif void close_stdout_set_file_name (const char *file); void close_stdout (void); # ifdef __cplusplus } # endif #endif dc3dd-7.1.614/lib/lchown.c0000644000175000017500000000336411022023316014637 0ustar amedicoamedico/* Provide a stub lchown function for systems that lack it. Copyright (C) 1998, 1999, 2002, 2004, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include /* If the system chown does not follow symlinks, we don't want it replaced by gnulib's chown, which does follow symlinks. */ #if CHOWN_MODIFIES_SYMLINK # define REPLACE_CHOWN 0 #endif #include #include #include /* Some systems don't have EOPNOTSUPP. */ #ifndef EOPNOTSUPP # ifdef ENOTSUP # define EOPNOTSUPP ENOTSUP # else /* Some systems don't have ENOTSUP either. */ # define EOPNOTSUPP EINVAL # endif #endif /* Work just like chown, except when FILE is a symbolic link. In that case, set errno to EOPNOTSUPP and return -1. But if autoconf tests determined that chown modifies symlinks, then just call chown. */ int lchown (const char *file, uid_t uid, gid_t gid) { #if ! CHOWN_MODIFIES_SYMLINK struct stat stats; if (lstat (file, &stats) == 0 && S_ISLNK (stats.st_mode)) { errno = EOPNOTSUPP; return -1; } #endif return chown (file, uid, gid); } dc3dd-7.1.614/lib/strcspn.c0000644000175000017500000000232011022023316015030 0ustar amedicoamedico/* Copyright (C) 1991, 1994, 1996-1997, 2002-2003, 2005-2006 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ #include #include #include #undef strcspn /* Return the length of the maximum initial segment of S which contains no characters from REJECT. */ size_t strcspn (const char *s, const char *reject) { size_t count = 0; while (*s != '\0') if (strchr (reject, *s++) == NULL) ++count; else return count; return count; } dc3dd-7.1.614/lib/basename.c0000644000175000017500000000736311022023316015123 0ustar amedicoamedico/* basename.c -- return the last element in a file name Copyright (C) 1990, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "dirname.h" #include #include "xalloc.h" #include "xstrndup.h" /* Return the address of the last file name component of NAME. If NAME has no relative file name components because it is a file system root, return the empty string. */ char * last_component (char const *name) { char const *base = name + FILE_SYSTEM_PREFIX_LEN (name); char const *p; bool saw_slash = false; while (ISSLASH (*base)) base++; for (p = base; *p; p++) { if (ISSLASH (*p)) saw_slash = true; else if (saw_slash) { base = p; saw_slash = false; } } return (char *) base; } /* In general, we can't use the builtin `basename' function if available, since it has different meanings in different environments. In some environments the builtin `basename' modifies its argument. Return the last file name component of NAME, allocated with xmalloc. On systems with drive letters, a leading "./" distinguishes relative names that would otherwise look like a drive letter. Unlike POSIX basename(), NAME cannot be NULL, base_name("") returns "", and the first trailing slash is not stripped. If lstat (NAME) would succeed, then { chdir (dir_name (NAME)); lstat (base_name (NAME)); } will access the same file. Likewise, if the sequence { chdir (dir_name (NAME)); rename (base_name (NAME), "foo"); } succeeds, you have renamed NAME to "foo" in the same directory NAME was in. */ char * base_name (char const *name) { char const *base = last_component (name); size_t length; /* If there is no last component, then name is a file system root or the empty string. */ if (! *base) return xstrndup (name, base_len (name)); /* Collapse a sequence of trailing slashes into one. */ length = base_len (base); if (ISSLASH (base[length])) length++; /* On systems with drive letters, `a/b:c' must return `./b:c' rather than `b:c' to avoid confusion with a drive letter. On systems with pure POSIX semantics, this is not an issue. */ if (FILE_SYSTEM_PREFIX_LEN (base)) { char *p = xmalloc (length + 3); p[0] = '.'; p[1] = '/'; memcpy (p + 2, base, length); p[length + 2] = '\0'; return p; } /* Finally, copy the basename. */ return xstrndup (base, length); } /* Return the length of the basename NAME. Typically NAME is the value returned by base_name or last_component. Act like strlen (NAME), except omit all trailing slashes. */ size_t base_len (char const *name) { size_t len; size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name); for (len = strlen (name); 1 < len && ISSLASH (name[len - 1]); len--) continue; if (DOUBLE_SLASH_IS_DISTINCT_ROOT && len == 1 && ISSLASH (name[0]) && ISSLASH (name[1]) && ! name[2]) return 2; if (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && prefix_len && len == prefix_len && ISSLASH (name[prefix_len])) return prefix_len + 1; return len; } dc3dd-7.1.614/lib/getloadavg.c0000644000175000017500000006513111064230667015501 0ustar amedicoamedico/* Get the system load averages. Copyright (C) 1985, 1986, 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1997, 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with gnulib. Bugs can be reported to bug-gnulib@gnu.org. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Compile-time symbols that this file uses: HAVE_PSTAT_GETDYNAMIC Define this if your system has the pstat_getdynamic function. I think it is unique to HPUX9. The best way to get the definition is through the AC_FUNC_GETLOADAVG macro that comes with autoconf 2.13 or newer. If that isn't an option, then just put AC_CHECK_FUNCS(pstat_getdynamic) in your configure.in file. HAVE_LIBPERFSTAT Define this if your system has the perfstat_cpu_total function in libperfstat (AIX). FIXUP_KERNEL_SYMBOL_ADDR() Adjust address in returned struct nlist. KERNEL_FILE Name of the kernel file to nlist. LDAV_CVT() Scale the load average from the kernel. Returns a double. LDAV_SYMBOL Name of kernel symbol giving load average. LOAD_AVE_TYPE Type of the load average array in the kernel. Must be defined unless one of apollo, DGUX, NeXT, or UMAX is defined; or we have libkstat; otherwise, no load average is available. HAVE_NLIST_H nlist.h is available. NLIST_STRUCT defaults to this. NLIST_STRUCT Include nlist.h, not a.out.h, and the nlist n_name element is a pointer, not an array. HAVE_STRUCT_NLIST_N_UN_N_NAME `n_un.n_name' is member of `struct nlist'. LINUX_LDAV_FILE [__linux__, __CYGWIN__]: File containing load averages. Specific system predefines this file uses, aside from setting default values if not emacs: apollo BSD Real BSD, not just BSD-like. convex DGUX eunice UNIX emulator under VMS. hpux __MSDOS__ No-op for MSDOS. NeXT sgi sequent Sequent Dynix 3.x.x (BSD) _SEQUENT_ Sequent DYNIX/ptx 1.x.x (SYSV) sony_news NEWS-OS (works at least for 4.1C) UMAX UMAX4_3 VMS WINDOWS32 No-op for Windows95/NT. __linux__ Linux: assumes /proc file system mounted. Support from Michael K. Johnson. __CYGWIN__ Cygwin emulates linux /proc/loadavg. __NetBSD__ NetBSD: assumes /kern file system mounted. In addition, to avoid nesting many #ifdefs, we internally set LDAV_DONE to indicate that the load average has been computed. We also #define LDAV_PRIVILEGED if a program will require special installation to be able to call getloadavg. */ /* "configure" defines CONFIGURING_GETLOADAVG to sidestep problems with partially-configured source directories. */ #ifndef CONFIGURING_GETLOADAVG # include # include #endif #include #include #include /* Exclude all the code except the test program at the end if the system has its own `getloadavg' function. */ #ifndef HAVE_GETLOADAVG # include /* Both the Emacs and non-Emacs sections want this. Some configuration files' definitions for the LOAD_AVE_CVT macro (like sparc.h's) use macros like FSCALE, defined here. */ # if defined (unix) || defined (__unix) # include # endif # include "c-strtod.h" # include "cloexec.h" # include "intprops.h" # include "xalloc.h" /* The existing Emacs configuration files define a macro called LOAD_AVE_CVT, which accepts a value of type LOAD_AVE_TYPE, and returns the load average multiplied by 100. What we actually want is a macro called LDAV_CVT, which returns the load average as an unmultiplied double. For backwards compatibility, we'll define LDAV_CVT in terms of LOAD_AVE_CVT, but future machine config files should just define LDAV_CVT directly. */ # if !defined (LDAV_CVT) && defined (LOAD_AVE_CVT) # define LDAV_CVT(n) (LOAD_AVE_CVT (n) / 100.0) # endif # if !defined (BSD) && defined (ultrix) /* Ultrix behaves like BSD on Vaxen. */ # define BSD # endif # ifdef NeXT /* NeXT in the 2.{0,1,2} releases defines BSD in , which conflicts with the definition understood in this file, that this really is BSD. */ # undef BSD /* NeXT defines FSCALE in . However, we take FSCALE being defined to mean that the nlist method should be used, which is not true. */ # undef FSCALE # endif /* Same issues as for NeXT apply to the HURD-based GNU system. */ # ifdef __GNU__ # undef BSD # undef FSCALE # endif /* __GNU__ */ /* Set values that are different from the defaults, which are set a little farther down with #ifndef. */ /* Some shorthands. */ # if defined (HPUX) && !defined (hpux) # define hpux # endif # if defined (__hpux) && !defined (hpux) # define hpux # endif # if defined (__sun) && !defined (sun) # define sun # endif # if defined (hp300) && !defined (hpux) # define MORE_BSD # endif # if defined (ultrix) && defined (mips) # define decstation # endif # if defined (__SVR4) && !defined (SVR4) # define SVR4 # endif # if (defined (sun) && defined (SVR4)) || defined (SOLARIS2) # define SUNOS_5 # endif # if defined (__osf__) && (defined (__alpha) || defined (__alpha__)) # define OSF_ALPHA # include # include # include # include /* Tru64 4.0D's table.h redefines sys */ # undef sys # endif # if defined (__osf__) && (defined (mips) || defined (__mips__)) # define OSF_MIPS # include # endif /* UTek's /bin/cc on the 4300 has no architecture specific cpp define by default, but _MACH_IND_SYS_TYPES is defined in . Combine that with a couple of other things and we'll have a unique match. */ # if !defined (tek4300) && defined (unix) && defined (m68k) && defined (mc68000) && defined (mc68020) && defined (_MACH_IND_SYS_TYPES) # define tek4300 /* Define by emacs, but not by other users. */ # endif /* VAX C can't handle multi-line #ifs, or lines longer than 256 chars. */ # ifndef LOAD_AVE_TYPE # ifdef MORE_BSD # define LOAD_AVE_TYPE long # endif # ifdef sun # define LOAD_AVE_TYPE long # endif # ifdef decstation # define LOAD_AVE_TYPE long # endif # ifdef _SEQUENT_ # define LOAD_AVE_TYPE long # endif # ifdef sgi # define LOAD_AVE_TYPE long # endif # ifdef SVR4 # define LOAD_AVE_TYPE long # endif # ifdef sony_news # define LOAD_AVE_TYPE long # endif # ifdef sequent # define LOAD_AVE_TYPE long # endif # ifdef OSF_ALPHA # define LOAD_AVE_TYPE long # endif # if defined (ardent) && defined (titan) # define LOAD_AVE_TYPE long # endif # ifdef tek4300 # define LOAD_AVE_TYPE long # endif # if defined (alliant) && defined (i860) /* Alliant FX/2800 */ # define LOAD_AVE_TYPE long # endif # if defined _AIX && ! defined HAVE_LIBPERFSTAT # define LOAD_AVE_TYPE long # endif # ifdef convex # define LOAD_AVE_TYPE double # ifndef LDAV_CVT # define LDAV_CVT(n) (n) # endif # endif # endif /* No LOAD_AVE_TYPE. */ # ifdef OSF_ALPHA /* defines an incorrect value for FSCALE on Alpha OSF/1, according to ghazi@noc.rutgers.edu. */ # undef FSCALE # define FSCALE 1024.0 # endif # if defined (alliant) && defined (i860) /* Alliant FX/2800 */ /* defines an incorrect value for FSCALE on an Alliant FX/2800 Concentrix 2.2, according to ghazi@noc.rutgers.edu. */ # undef FSCALE # define FSCALE 100.0 # endif # ifndef FSCALE /* SunOS and some others define FSCALE in sys/param.h. */ # ifdef MORE_BSD # define FSCALE 2048.0 # endif # if defined (MIPS) || defined (SVR4) || defined (decstation) # define FSCALE 256 # endif # if defined (sgi) || defined (sequent) /* Sometimes both MIPS and sgi are defined, so FSCALE was just defined above under #ifdef MIPS. But we want the sgi value. */ # undef FSCALE # define FSCALE 1000.0 # endif # if defined (ardent) && defined (titan) # define FSCALE 65536.0 # endif # ifdef tek4300 # define FSCALE 100.0 # endif # if defined _AIX && !defined HAVE_LIBPERFSTAT # define FSCALE 65536.0 # endif # endif /* Not FSCALE. */ # if !defined (LDAV_CVT) && defined (FSCALE) # define LDAV_CVT(n) (((double) (n)) / FSCALE) # endif # ifndef NLIST_STRUCT # if HAVE_NLIST_H # define NLIST_STRUCT # endif # endif # if defined (sgi) || (defined (mips) && !defined (BSD)) # define FIXUP_KERNEL_SYMBOL_ADDR(nl) ((nl)[0].n_value &= ~(1 << 31)) # endif # if !defined (KERNEL_FILE) && defined (sequent) # define KERNEL_FILE "/dynix" # endif # if !defined (KERNEL_FILE) && defined (hpux) # define KERNEL_FILE "/hp-ux" # endif # if !defined (KERNEL_FILE) && (defined (_SEQUENT_) || defined (MIPS) || defined (SVR4) || defined (ISC) || defined (sgi) || (defined (ardent) && defined (titan))) # define KERNEL_FILE "/unix" # endif # if !defined (LDAV_SYMBOL) && defined (alliant) # define LDAV_SYMBOL "_Loadavg" # endif # if !defined (LDAV_SYMBOL) && ((defined (hpux) && !defined (hp9000s300)) || defined (_SEQUENT_) || defined (SVR4) || defined (ISC) || defined (sgi) || (defined (ardent) && defined (titan)) || (defined (_AIX) && !defined(HAVE_LIBPERFSTAT))) # define LDAV_SYMBOL "avenrun" # endif # include /* LOAD_AVE_TYPE should only get defined if we're going to use the nlist method. */ # if !defined (LOAD_AVE_TYPE) && (defined (BSD) || defined (LDAV_CVT) || defined (KERNEL_FILE) || defined (LDAV_SYMBOL)) # define LOAD_AVE_TYPE double # endif # ifdef LOAD_AVE_TYPE # ifndef __VMS # ifndef __linux__ # ifndef NLIST_STRUCT # include # else /* NLIST_STRUCT */ # include # endif /* NLIST_STRUCT */ # ifdef SUNOS_5 # include # include # include # endif # if defined (hpux) && defined (HAVE_PSTAT_GETDYNAMIC) # include # endif # ifndef KERNEL_FILE # define KERNEL_FILE "/vmunix" # endif /* KERNEL_FILE */ # ifndef LDAV_SYMBOL # define LDAV_SYMBOL "_avenrun" # endif /* LDAV_SYMBOL */ # endif /* __linux__ */ # else /* __VMS */ # ifndef eunice # include # include # else /* eunice */ # include # endif /* eunice */ # endif /* __VMS */ # ifndef LDAV_CVT # define LDAV_CVT(n) ((double) (n)) # endif /* !LDAV_CVT */ # endif /* LOAD_AVE_TYPE */ # if defined HAVE_LIBPERFSTAT # include # include # ifndef SBITS # define SBITS 16 # endif # endif # if defined (__GNU__) && !defined (NeXT) /* Note that NeXT Openstep defines __GNU__ even though it should not. */ /* GNU system acts much like NeXT, for load average purposes, but not exactly. */ # define NeXT # define host_self mach_host_self # endif # ifdef NeXT # ifdef HAVE_MACH_MACH_H # include # else # include # endif # endif /* NeXT */ # ifdef sgi # include # endif /* sgi */ # ifdef UMAX # include # include # include # include # ifdef UMAX_43 # include # include # include # include # include # else /* Not UMAX_43. */ # include # include # include # include # include # include # endif /* Not UMAX_43. */ # endif /* UMAX */ # ifdef DGUX # include # endif # include "fcntl--.h" /* Avoid static vars inside a function since in HPUX they dump as pure. */ # ifdef NeXT static processor_set_t default_set; static bool getloadavg_initialized; # endif /* NeXT */ # ifdef UMAX static unsigned int cpus = 0; static unsigned int samples; # endif /* UMAX */ # ifdef DGUX static struct dg_sys_info_load_info load_info; /* what-a-mouthful! */ # endif /* DGUX */ # if !defined (HAVE_LIBKSTAT) && defined (LOAD_AVE_TYPE) /* File descriptor open to /dev/kmem or VMS load ave driver. */ static int channel; /* True iff channel is valid. */ static bool getloadavg_initialized; /* Offset in kmem to seek to read load average, or 0 means invalid. */ static long offset; # if ! defined __VMS && ! defined sgi && ! defined __linux__ static struct nlist nl[2]; # endif # ifdef SUNOS_5 static kvm_t *kd; # endif /* SUNOS_5 */ # endif /* LOAD_AVE_TYPE && !HAVE_LIBKSTAT */ /* Put the 1 minute, 5 minute and 15 minute load averages into the first NELEM elements of LOADAVG. Return the number written (never more than 3, but may be less than NELEM), or -1 if an error occurred. */ int getloadavg (double loadavg[], int nelem) { int elem = 0; /* Return value. */ # ifdef NO_GET_LOAD_AVG # define LDAV_DONE /* Set errno to zero to indicate that there was no particular error; this function just can't work at all on this system. */ errno = 0; elem = -1; # endif # if !defined (LDAV_DONE) && defined (HAVE_LIBKSTAT) /* Use libkstat because we don't have to be root. */ # define LDAV_DONE kstat_ctl_t *kc; kstat_t *ksp; kstat_named_t *kn; kc = kstat_open (); if (kc == 0) return -1; ksp = kstat_lookup (kc, "unix", 0, "system_misc"); if (ksp == 0) return -1; if (kstat_read (kc, ksp, 0) == -1) return -1; kn = kstat_data_lookup (ksp, "avenrun_1min"); if (kn == 0) { /* Return -1 if no load average information is available. */ nelem = 0; elem = -1; } if (nelem >= 1) loadavg[elem++] = (double) kn->value.ul / FSCALE; if (nelem >= 2) { kn = kstat_data_lookup (ksp, "avenrun_5min"); if (kn != 0) { loadavg[elem++] = (double) kn->value.ul / FSCALE; if (nelem >= 3) { kn = kstat_data_lookup (ksp, "avenrun_15min"); if (kn != 0) loadavg[elem++] = (double) kn->value.ul / FSCALE; } } } kstat_close (kc); # endif /* HAVE_LIBKSTAT */ # if !defined (LDAV_DONE) && defined (hpux) && defined (HAVE_PSTAT_GETDYNAMIC) /* Use pstat_getdynamic() because we don't have to be root. */ # define LDAV_DONE # undef LOAD_AVE_TYPE struct pst_dynamic dyn_info; if (pstat_getdynamic (&dyn_info, sizeof (dyn_info), 0, 0) < 0) return -1; if (nelem > 0) loadavg[elem++] = dyn_info.psd_avg_1_min; if (nelem > 1) loadavg[elem++] = dyn_info.psd_avg_5_min; if (nelem > 2) loadavg[elem++] = dyn_info.psd_avg_15_min; # endif /* hpux && HAVE_PSTAT_GETDYNAMIC */ # if ! defined LDAV_DONE && defined HAVE_LIBPERFSTAT # define LDAV_DONE # undef LOAD_AVE_TYPE /* Use perfstat_cpu_total because we don't have to be root. */ { perfstat_cpu_total_t cpu_stats; int result = perfstat_cpu_total (NULL, &cpu_stats, sizeof cpu_stats, 1); if (result == -1) return result; loadavg[0] = cpu_stats.loadavg[0] / (double)(1 << SBITS); loadavg[1] = cpu_stats.loadavg[1] / (double)(1 << SBITS); loadavg[2] = cpu_stats.loadavg[2] / (double)(1 << SBITS); elem = 3; } # endif # if !defined (LDAV_DONE) && (defined (__linux__) || defined (__CYGWIN__)) # define LDAV_DONE # undef LOAD_AVE_TYPE # ifndef LINUX_LDAV_FILE # define LINUX_LDAV_FILE "/proc/loadavg" # endif char ldavgbuf[3 * (INT_STRLEN_BOUND (int) + sizeof ".00 ")]; char const *ptr = ldavgbuf; int fd, count; fd = open (LINUX_LDAV_FILE, O_RDONLY); if (fd == -1) return -1; count = read (fd, ldavgbuf, sizeof ldavgbuf - 1); (void) close (fd); if (count <= 0) return -1; ldavgbuf[count] = '\0'; for (elem = 0; elem < nelem; elem++) { char *endptr; double d = c_strtod (ptr, &endptr); if (ptr == endptr) { if (elem == 0) return -1; break; } loadavg[elem] = d; ptr = endptr; } return elem; # endif /* __linux__ || __CYGWIN__ */ # if !defined (LDAV_DONE) && defined (__NetBSD__) # define LDAV_DONE # undef LOAD_AVE_TYPE # ifndef NETBSD_LDAV_FILE # define NETBSD_LDAV_FILE "/kern/loadavg" # endif unsigned long int load_ave[3], scale; int count; FILE *fp; fp = fopen (NETBSD_LDAV_FILE, "r"); if (fp == NULL) return -1; count = fscanf (fp, "%lu %lu %lu %lu\n", &load_ave[0], &load_ave[1], &load_ave[2], &scale); (void) fclose (fp); if (count != 4) return -1; for (elem = 0; elem < nelem; elem++) loadavg[elem] = (double) load_ave[elem] / (double) scale; return elem; # endif /* __NetBSD__ */ # if !defined (LDAV_DONE) && defined (NeXT) # define LDAV_DONE /* The NeXT code was adapted from iscreen 3.2. */ host_t host; struct processor_set_basic_info info; unsigned int info_count; /* We only know how to get the 1-minute average for this system, so even if the caller asks for more than 1, we only return 1. */ if (!getloadavg_initialized) { if (processor_set_default (host_self (), &default_set) == KERN_SUCCESS) getloadavg_initialized = true; } if (getloadavg_initialized) { info_count = PROCESSOR_SET_BASIC_INFO_COUNT; if (processor_set_info (default_set, PROCESSOR_SET_BASIC_INFO, &host, (processor_set_info_t) &info, &info_count) != KERN_SUCCESS) getloadavg_initialized = false; else { if (nelem > 0) loadavg[elem++] = (double) info.load_average / LOAD_SCALE; } } if (!getloadavg_initialized) return -1; # endif /* NeXT */ # if !defined (LDAV_DONE) && defined (UMAX) # define LDAV_DONE /* UMAX 4.2, which runs on the Encore Multimax multiprocessor, does not have a /dev/kmem. Information about the workings of the running kernel can be gathered with inq_stats system calls. We only know how to get the 1-minute average for this system. */ struct proc_summary proc_sum_data; struct stat_descr proc_info; double load; register unsigned int i, j; if (cpus == 0) { register unsigned int c, i; struct cpu_config conf; struct stat_descr desc; desc.sd_next = 0; desc.sd_subsys = SUBSYS_CPU; desc.sd_type = CPUTYPE_CONFIG; desc.sd_addr = (char *) &conf; desc.sd_size = sizeof conf; if (inq_stats (1, &desc)) return -1; c = 0; for (i = 0; i < conf.config_maxclass; ++i) { struct class_stats stats; bzero ((char *) &stats, sizeof stats); desc.sd_type = CPUTYPE_CLASS; desc.sd_objid = i; desc.sd_addr = (char *) &stats; desc.sd_size = sizeof stats; if (inq_stats (1, &desc)) return -1; c += stats.class_numcpus; } cpus = c; samples = cpus < 2 ? 3 : (2 * cpus / 3); } proc_info.sd_next = 0; proc_info.sd_subsys = SUBSYS_PROC; proc_info.sd_type = PROCTYPE_SUMMARY; proc_info.sd_addr = (char *) &proc_sum_data; proc_info.sd_size = sizeof (struct proc_summary); proc_info.sd_sizeused = 0; if (inq_stats (1, &proc_info) != 0) return -1; load = proc_sum_data.ps_nrunnable; j = 0; for (i = samples - 1; i > 0; --i) { load += proc_sum_data.ps_nrun[j]; if (j++ == PS_NRUNSIZE) j = 0; } if (nelem > 0) loadavg[elem++] = load / samples / cpus; # endif /* UMAX */ # if !defined (LDAV_DONE) && defined (DGUX) # define LDAV_DONE /* This call can return -1 for an error, but with good args it's not supposed to fail. The first argument is for no apparent reason of type `long int *'. */ dg_sys_info ((long int *) &load_info, DG_SYS_INFO_LOAD_INFO_TYPE, DG_SYS_INFO_LOAD_VERSION_0); if (nelem > 0) loadavg[elem++] = load_info.one_minute; if (nelem > 1) loadavg[elem++] = load_info.five_minute; if (nelem > 2) loadavg[elem++] = load_info.fifteen_minute; # endif /* DGUX */ # if !defined (LDAV_DONE) && defined (apollo) # define LDAV_DONE /* Apollo code from lisch@mentorg.com (Ray Lischner). This system call is not documented. The load average is obtained as three long integers, for the load average over the past minute, five minutes, and fifteen minutes. Each value is a scaled integer, with 16 bits of integer part and 16 bits of fraction part. I'm not sure which operating system first supported this system call, but I know that SR10.2 supports it. */ extern void proc1_$get_loadav (); unsigned long load_ave[3]; proc1_$get_loadav (load_ave); if (nelem > 0) loadavg[elem++] = load_ave[0] / 65536.0; if (nelem > 1) loadavg[elem++] = load_ave[1] / 65536.0; if (nelem > 2) loadavg[elem++] = load_ave[2] / 65536.0; # endif /* apollo */ # if !defined (LDAV_DONE) && defined (OSF_MIPS) # define LDAV_DONE struct tbl_loadavg load_ave; table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave)); loadavg[elem++] = (load_ave.tl_lscale == 0 ? load_ave.tl_avenrun.d[0] : (load_ave.tl_avenrun.l[0] / (double) load_ave.tl_lscale)); # endif /* OSF_MIPS */ # if !defined (LDAV_DONE) && (defined (__MSDOS__) || defined (WINDOWS32)) # define LDAV_DONE /* A faithful emulation is going to have to be saved for a rainy day. */ for ( ; elem < nelem; elem++) { loadavg[elem] = 0.0; } # endif /* __MSDOS__ || WINDOWS32 */ # if !defined (LDAV_DONE) && defined (OSF_ALPHA) # define LDAV_DONE struct tbl_loadavg load_ave; table (TBL_LOADAVG, 0, &load_ave, 1, sizeof (load_ave)); for (elem = 0; elem < nelem; elem++) loadavg[elem] = (load_ave.tl_lscale == 0 ? load_ave.tl_avenrun.d[elem] : (load_ave.tl_avenrun.l[elem] / (double) load_ave.tl_lscale)); # endif /* OSF_ALPHA */ # if ! defined LDAV_DONE && defined __VMS /* VMS specific code -- read from the Load Ave driver. */ LOAD_AVE_TYPE load_ave[3]; static bool getloadavg_initialized; # ifdef eunice struct { int dsc$w_length; char *dsc$a_pointer; } descriptor; # endif /* Ensure that there is a channel open to the load ave device. */ if (!getloadavg_initialized) { /* Attempt to open the channel. */ # ifdef eunice descriptor.dsc$w_length = 18; descriptor.dsc$a_pointer = "$$VMS_LOAD_AVERAGE"; # else $DESCRIPTOR (descriptor, "LAV0:"); # endif if (sys$assign (&descriptor, &channel, 0, 0) & 1) getloadavg_initialized = true; } /* Read the load average vector. */ if (getloadavg_initialized && !(sys$qiow (0, channel, IO$_READVBLK, 0, 0, 0, load_ave, 12, 0, 0, 0, 0) & 1)) { sys$dassgn (channel); getloadavg_initialized = false; } if (!getloadavg_initialized) return -1; # endif /* ! defined LDAV_DONE && defined __VMS */ # if ! defined LDAV_DONE && defined LOAD_AVE_TYPE && ! defined __VMS /* UNIX-specific code -- read the average from /dev/kmem. */ # define LDAV_PRIVILEGED /* This code requires special installation. */ LOAD_AVE_TYPE load_ave[3]; /* Get the address of LDAV_SYMBOL. */ if (offset == 0) { # ifndef sgi # ifndef NLIST_STRUCT strcpy (nl[0].n_name, LDAV_SYMBOL); strcpy (nl[1].n_name, ""); # else /* NLIST_STRUCT */ # ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME nl[0].n_un.n_name = LDAV_SYMBOL; nl[1].n_un.n_name = 0; # else /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */ nl[0].n_name = LDAV_SYMBOL; nl[1].n_name = 0; # endif /* not HAVE_STRUCT_NLIST_N_UN_N_NAME */ # endif /* NLIST_STRUCT */ # ifndef SUNOS_5 if ( # if !(defined (_AIX) && !defined (ps2)) nlist (KERNEL_FILE, nl) # else /* _AIX */ knlist (nl, 1, sizeof (nl[0])) # endif >= 0) /* Omit "&& nl[0].n_type != 0 " -- it breaks on Sun386i. */ { # ifdef FIXUP_KERNEL_SYMBOL_ADDR FIXUP_KERNEL_SYMBOL_ADDR (nl); # endif offset = nl[0].n_value; } # endif /* !SUNOS_5 */ # else /* sgi */ int ldav_off; ldav_off = sysmp (MP_KERNADDR, MPKA_AVENRUN); if (ldav_off != -1) offset = (long int) ldav_off & 0x7fffffff; # endif /* sgi */ } /* Make sure we have /dev/kmem open. */ if (!getloadavg_initialized) { # ifndef SUNOS_5 channel = open ("/dev/kmem", O_RDONLY); if (channel >= 0) { /* Set the channel to close on exec, so it does not litter any child's descriptor table. */ set_cloexec_flag (channel, true); getloadavg_initialized = true; } # else /* SUNOS_5 */ /* We pass 0 for the kernel, corefile, and swapfile names to use the currently running kernel. */ kd = kvm_open (0, 0, 0, O_RDONLY, 0); if (kd != 0) { /* nlist the currently running kernel. */ kvm_nlist (kd, nl); offset = nl[0].n_value; getloadavg_initialized = true; } # endif /* SUNOS_5 */ } /* If we can, get the load average values. */ if (offset && getloadavg_initialized) { /* Try to read the load. */ # ifndef SUNOS_5 if (lseek (channel, offset, 0) == -1L || read (channel, (char *) load_ave, sizeof (load_ave)) != sizeof (load_ave)) { close (channel); getloadavg_initialized = false; } # else /* SUNOS_5 */ if (kvm_read (kd, offset, (char *) load_ave, sizeof (load_ave)) != sizeof (load_ave)) { kvm_close (kd); getloadavg_initialized = false; } # endif /* SUNOS_5 */ } if (offset == 0 || !getloadavg_initialized) return -1; # endif /* ! defined LDAV_DONE && defined LOAD_AVE_TYPE && ! defined __VMS */ # if !defined (LDAV_DONE) && defined (LOAD_AVE_TYPE) /* Including VMS. */ if (nelem > 0) loadavg[elem++] = LDAV_CVT (load_ave[0]); if (nelem > 1) loadavg[elem++] = LDAV_CVT (load_ave[1]); if (nelem > 2) loadavg[elem++] = LDAV_CVT (load_ave[2]); # define LDAV_DONE # endif /* !LDAV_DONE && LOAD_AVE_TYPE */ # if !defined LDAV_DONE /* Set errno to zero to indicate that there was no particular error; this function just can't work at all on this system. */ errno = 0; elem = -1; # endif return elem; } #endif /* ! HAVE_GETLOADAVG */ #ifdef TEST int main (int argc, char **argv) { int naptime = 0; if (argc > 1) naptime = atoi (argv[1]); while (1) { double avg[3]; int loads; errno = 0; /* Don't be misled if it doesn't set errno. */ loads = getloadavg (avg, 3); if (loads == -1) { perror ("Error getting load average"); return EXIT_FAILURE; } if (loads > 0) printf ("1-minute: %f ", avg[0]); if (loads > 1) printf ("5-minute: %f ", avg[1]); if (loads > 2) printf ("15-minute: %f ", avg[2]); if (loads > 0) putchar ('\n'); if (naptime == 0) break; sleep (naptime); } return EXIT_SUCCESS; } #endif /* TEST */ dc3dd-7.1.614/lib/regcomp.c0000644000175000017500000033120411064230667015015 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Extended regular expression matching and search library. Copyright (C) 2002,2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern, size_t length, reg_syntax_t syntax); static void re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, char *fastmap); static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len); #ifdef RE_ENABLE_I18N static void free_charset (re_charset_t *cset); #endif /* RE_ENABLE_I18N */ static void free_workarea_compile (regex_t *preg); static reg_errcode_t create_initial_state (re_dfa_t *dfa); #ifdef RE_ENABLE_I18N static void optimize_utf8 (re_dfa_t *dfa); #endif static reg_errcode_t analyze (regex_t *preg); static reg_errcode_t preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra); static reg_errcode_t postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra); static reg_errcode_t optimize_subexps (void *extra, bin_tree_t *node); static reg_errcode_t lower_subexps (void *extra, bin_tree_t *node); static bin_tree_t *lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node); static reg_errcode_t calc_first (void *extra, bin_tree_t *node); static reg_errcode_t calc_next (void *extra, bin_tree_t *node); static reg_errcode_t link_nfa_nodes (void *extra, bin_tree_t *node); static Idx duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint); static Idx search_duplicated_node (const re_dfa_t *dfa, Idx org_node, unsigned int constraint); static reg_errcode_t calc_eclosure (re_dfa_t *dfa); static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root); static reg_errcode_t calc_inveclosure (re_dfa_t *dfa); static Idx fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax); static int peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) internal_function; static bin_tree_t *parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax, reg_errcode_t *err); static bin_tree_t *parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err); static bin_tree_t *parse_dup_op (bin_tree_t *dup_elem, re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err); static bin_tree_t *parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err); static reg_errcode_t parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token, int token_len, re_dfa_t *dfa, reg_syntax_t syntax, bool accept_hyphen); static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token); #ifdef RE_ENABLE_I18N static reg_errcode_t build_equiv_class (bitset_t sbcset, re_charset_t *mbcset, Idx *equiv_class_alloc, const unsigned char *name); static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, re_charset_t *mbcset, Idx *char_class_alloc, const unsigned char *class_name, reg_syntax_t syntax); #else /* not RE_ENABLE_I18N */ static reg_errcode_t build_equiv_class (bitset_t sbcset, const unsigned char *name); static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, const unsigned char *class_name, reg_syntax_t syntax); #endif /* not RE_ENABLE_I18N */ static bin_tree_t *build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, const unsigned char *class_name, const unsigned char *extra, bool non_match, reg_errcode_t *err); static bin_tree_t *create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, re_token_type_t type); static bin_tree_t *create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, const re_token_t *token); static bin_tree_t *duplicate_tree (const bin_tree_t *src, re_dfa_t *dfa); static void free_token (re_token_t *node); static reg_errcode_t free_tree (void *extra, bin_tree_t *node); static reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node); /* This table gives an error message for each of the error codes listed in regex.h. Obviously the order here has to be same as there. POSIX doesn't require that we do anything for REG_NOERROR, but why not be nice? */ static const char __re_error_msgid[] = { #define REG_NOERROR_IDX 0 gettext_noop ("Success") /* REG_NOERROR */ "\0" #define REG_NOMATCH_IDX (REG_NOERROR_IDX + sizeof "Success") gettext_noop ("No match") /* REG_NOMATCH */ "\0" #define REG_BADPAT_IDX (REG_NOMATCH_IDX + sizeof "No match") gettext_noop ("Invalid regular expression") /* REG_BADPAT */ "\0" #define REG_ECOLLATE_IDX (REG_BADPAT_IDX + sizeof "Invalid regular expression") gettext_noop ("Invalid collation character") /* REG_ECOLLATE */ "\0" #define REG_ECTYPE_IDX (REG_ECOLLATE_IDX + sizeof "Invalid collation character") gettext_noop ("Invalid character class name") /* REG_ECTYPE */ "\0" #define REG_EESCAPE_IDX (REG_ECTYPE_IDX + sizeof "Invalid character class name") gettext_noop ("Trailing backslash") /* REG_EESCAPE */ "\0" #define REG_ESUBREG_IDX (REG_EESCAPE_IDX + sizeof "Trailing backslash") gettext_noop ("Invalid back reference") /* REG_ESUBREG */ "\0" #define REG_EBRACK_IDX (REG_ESUBREG_IDX + sizeof "Invalid back reference") gettext_noop ("Unmatched [ or [^") /* REG_EBRACK */ "\0" #define REG_EPAREN_IDX (REG_EBRACK_IDX + sizeof "Unmatched [ or [^") gettext_noop ("Unmatched ( or \\(") /* REG_EPAREN */ "\0" #define REG_EBRACE_IDX (REG_EPAREN_IDX + sizeof "Unmatched ( or \\(") gettext_noop ("Unmatched \\{") /* REG_EBRACE */ "\0" #define REG_BADBR_IDX (REG_EBRACE_IDX + sizeof "Unmatched \\{") gettext_noop ("Invalid content of \\{\\}") /* REG_BADBR */ "\0" #define REG_ERANGE_IDX (REG_BADBR_IDX + sizeof "Invalid content of \\{\\}") gettext_noop ("Invalid range end") /* REG_ERANGE */ "\0" #define REG_ESPACE_IDX (REG_ERANGE_IDX + sizeof "Invalid range end") gettext_noop ("Memory exhausted") /* REG_ESPACE */ "\0" #define REG_BADRPT_IDX (REG_ESPACE_IDX + sizeof "Memory exhausted") gettext_noop ("Invalid preceding regular expression") /* REG_BADRPT */ "\0" #define REG_EEND_IDX (REG_BADRPT_IDX + sizeof "Invalid preceding regular expression") gettext_noop ("Premature end of regular expression") /* REG_EEND */ "\0" #define REG_ESIZE_IDX (REG_EEND_IDX + sizeof "Premature end of regular expression") gettext_noop ("Regular expression too big") /* REG_ESIZE */ "\0" #define REG_ERPAREN_IDX (REG_ESIZE_IDX + sizeof "Regular expression too big") gettext_noop ("Unmatched ) or \\)") /* REG_ERPAREN */ }; static const size_t __re_error_msgid_idx[] = { REG_NOERROR_IDX, REG_NOMATCH_IDX, REG_BADPAT_IDX, REG_ECOLLATE_IDX, REG_ECTYPE_IDX, REG_EESCAPE_IDX, REG_ESUBREG_IDX, REG_EBRACK_IDX, REG_EPAREN_IDX, REG_EBRACE_IDX, REG_BADBR_IDX, REG_ERANGE_IDX, REG_ESPACE_IDX, REG_BADRPT_IDX, REG_EEND_IDX, REG_ESIZE_IDX, REG_ERPAREN_IDX }; /* Entry points for GNU code. */ /* re_compile_pattern is the GNU regular expression compiler: it compiles PATTERN (of length LENGTH) and puts the result in BUFP. Returns 0 if the pattern was valid, otherwise an error string. Assumes the `allocated' (and perhaps `buffer') and `translate' fields are set in BUFP on entry. */ #ifdef _LIBC const char * re_compile_pattern (pattern, length, bufp) const char *pattern; size_t length; struct re_pattern_buffer *bufp; #else /* size_t might promote */ const char * re_compile_pattern (const char *pattern, size_t length, struct re_pattern_buffer *bufp) #endif { reg_errcode_t ret; /* And GNU code determines whether or not to get register information by passing null for the REGS argument to re_match, etc., not by setting no_sub, unless RE_NO_SUB is set. */ bufp->no_sub = !!(re_syntax_options & RE_NO_SUB); /* Match anchors at newline. */ bufp->newline_anchor = 1; ret = re_compile_internal (bufp, pattern, length, re_syntax_options); if (!ret) return NULL; return gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]); } #ifdef _LIBC weak_alias (__re_compile_pattern, re_compile_pattern) #endif /* Set by `re_set_syntax' to the current regexp syntax to recognize. Can also be assigned to arbitrarily: each pattern buffer stores its own syntax, so it can be changed between regex compilations. */ /* This has no initializer because initialized variables in Emacs become read-only after dumping. */ reg_syntax_t re_syntax_options; /* Specify the precise syntax of regexps for compilation. This provides for compatibility for various utilities which historically have different, incompatible syntaxes. The argument SYNTAX is a bit mask comprised of the various bits defined in regex.h. We return the old syntax. */ reg_syntax_t re_set_syntax (syntax) reg_syntax_t syntax; { reg_syntax_t ret = re_syntax_options; re_syntax_options = syntax; return ret; } #ifdef _LIBC weak_alias (__re_set_syntax, re_set_syntax) #endif int re_compile_fastmap (bufp) struct re_pattern_buffer *bufp; { re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; char *fastmap = bufp->fastmap; memset (fastmap, '\0', sizeof (char) * SBC_MAX); re_compile_fastmap_iter (bufp, dfa->init_state, fastmap); if (dfa->init_state != dfa->init_state_word) re_compile_fastmap_iter (bufp, dfa->init_state_word, fastmap); if (dfa->init_state != dfa->init_state_nl) re_compile_fastmap_iter (bufp, dfa->init_state_nl, fastmap); if (dfa->init_state != dfa->init_state_begbuf) re_compile_fastmap_iter (bufp, dfa->init_state_begbuf, fastmap); bufp->fastmap_accurate = 1; return 0; } #ifdef _LIBC weak_alias (__re_compile_fastmap, re_compile_fastmap) #endif static inline void __attribute ((always_inline)) re_set_fastmap (char *fastmap, bool icase, int ch) { fastmap[ch] = 1; if (icase) fastmap[tolower (ch)] = 1; } /* Helper function for re_compile_fastmap. Compile fastmap for the initial_state INIT_STATE. */ static void re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, char *fastmap) { re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; Idx node_cnt; bool icase = (dfa->mb_cur_max == 1 && (bufp->syntax & RE_ICASE)); for (node_cnt = 0; node_cnt < init_state->nodes.nelem; ++node_cnt) { Idx node = init_state->nodes.elems[node_cnt]; re_token_type_t type = dfa->nodes[node].type; if (type == CHARACTER) { re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c); #ifdef RE_ENABLE_I18N if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) { unsigned char buf[MB_LEN_MAX]; unsigned char *p; wchar_t wc; mbstate_t state; p = buf; *p++ = dfa->nodes[node].opr.c; while (++node < dfa->nodes_len && dfa->nodes[node].type == CHARACTER && dfa->nodes[node].mb_partial) *p++ = dfa->nodes[node].opr.c; memset (&state, '\0', sizeof (state)); if (mbrtowc (&wc, (const char *) buf, p - buf, &state) == p - buf && (__wcrtomb ((char *) buf, towlower (wc), &state) != (size_t) -1)) re_set_fastmap (fastmap, false, buf[0]); } #endif } else if (type == SIMPLE_BRACKET) { int i, ch; for (i = 0, ch = 0; i < BITSET_WORDS; ++i) { int j; bitset_word_t w = dfa->nodes[node].opr.sbcset[i]; for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) if (w & ((bitset_word_t) 1 << j)) re_set_fastmap (fastmap, icase, ch); } } #ifdef RE_ENABLE_I18N else if (type == COMPLEX_BRACKET) { Idx i; re_charset_t *cset = dfa->nodes[node].opr.mbcset; if (cset->non_match || cset->ncoll_syms || cset->nequiv_classes || cset->nranges || cset->nchar_classes) { # ifdef _LIBC if (_NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES) != 0) { /* In this case we want to catch the bytes which are the first byte of any collation elements. e.g. In da_DK, we want to catch 'a' since "aa" is a valid collation element, and don't catch 'b' since 'b' is the only collation element which starts from 'b'. */ const int32_t *table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); for (i = 0; i < SBC_MAX; ++i) if (table[i] < 0) re_set_fastmap (fastmap, icase, i); } # else if (dfa->mb_cur_max > 1) for (i = 0; i < SBC_MAX; ++i) if (__btowc (i) == WEOF) re_set_fastmap (fastmap, icase, i); # endif /* not _LIBC */ } for (i = 0; i < cset->nmbchars; ++i) { char buf[256]; mbstate_t state; memset (&state, '\0', sizeof (state)); if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1) re_set_fastmap (fastmap, icase, *(unsigned char *) buf); if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) { if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state) != (size_t) -1) re_set_fastmap (fastmap, false, *(unsigned char *) buf); } } } #endif /* RE_ENABLE_I18N */ else if (type == OP_PERIOD #ifdef RE_ENABLE_I18N || type == OP_UTF8_PERIOD #endif /* RE_ENABLE_I18N */ || type == END_OF_RE) { memset (fastmap, '\1', sizeof (char) * SBC_MAX); if (type == END_OF_RE) bufp->can_be_null = 1; return; } } } /* Entry point for POSIX code. */ /* regcomp takes a regular expression as a string and compiles it. PREG is a regex_t *. We do not expect any fields to be initialized, since POSIX says we shouldn't. Thus, we set `buffer' to the compiled pattern; `used' to the length of the compiled pattern; `syntax' to RE_SYNTAX_POSIX_EXTENDED if the REG_EXTENDED bit in CFLAGS is set; otherwise, to RE_SYNTAX_POSIX_BASIC; `newline_anchor' to REG_NEWLINE being set in CFLAGS; `fastmap' to an allocated space for the fastmap; `fastmap_accurate' to zero; `re_nsub' to the number of subexpressions in PATTERN. PATTERN is the address of the pattern string. CFLAGS is a series of bits which affect compilation. If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we use POSIX basic syntax. If REG_NEWLINE is set, then . and [^...] don't match newline. Also, regexec will try a match beginning after every newline. If REG_ICASE is set, then we considers upper- and lowercase versions of letters to be equivalent when matching. If REG_NOSUB is set, then when PREG is passed to regexec, that routine will report only success or failure, and nothing about the registers. It returns 0 if it succeeds, nonzero if it doesn't. (See regex.h for the return codes and their meanings.) */ int regcomp (preg, pattern, cflags) regex_t *_Restrict_ preg; const char *_Restrict_ pattern; int cflags; { reg_errcode_t ret; reg_syntax_t syntax = ((cflags & REG_EXTENDED) ? RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC); preg->buffer = NULL; preg->allocated = 0; preg->used = 0; /* Try to allocate space for the fastmap. */ preg->fastmap = re_malloc (char, SBC_MAX); if (BE (preg->fastmap == NULL, 0)) return REG_ESPACE; syntax |= (cflags & REG_ICASE) ? RE_ICASE : 0; /* If REG_NEWLINE is set, newlines are treated differently. */ if (cflags & REG_NEWLINE) { /* REG_NEWLINE implies neither . nor [^...] match newline. */ syntax &= ~RE_DOT_NEWLINE; syntax |= RE_HAT_LISTS_NOT_NEWLINE; /* It also changes the matching behavior. */ preg->newline_anchor = 1; } else preg->newline_anchor = 0; preg->no_sub = !!(cflags & REG_NOSUB); preg->translate = NULL; ret = re_compile_internal (preg, pattern, strlen (pattern), syntax); /* POSIX doesn't distinguish between an unmatched open-group and an unmatched close-group: both are REG_EPAREN. */ if (ret == REG_ERPAREN) ret = REG_EPAREN; /* We have already checked preg->fastmap != NULL. */ if (BE (ret == REG_NOERROR, 1)) /* Compute the fastmap now, since regexec cannot modify the pattern buffer. This function never fails in this implementation. */ (void) re_compile_fastmap (preg); else { /* Some error occurred while compiling the expression. */ re_free (preg->fastmap); preg->fastmap = NULL; } return (int) ret; } #ifdef _LIBC weak_alias (__regcomp, regcomp) #endif /* Returns a message corresponding to an error code, ERRCODE, returned from either regcomp or regexec. We don't use PREG here. */ #ifdef _LIBC size_t regerror (errcode, preg, errbuf, errbuf_size) int errcode; const regex_t *_Restrict_ preg; char *_Restrict_ errbuf; size_t errbuf_size; #else /* size_t might promote */ size_t regerror (int errcode, const regex_t *_Restrict_ preg, char *_Restrict_ errbuf, size_t errbuf_size) #endif { const char *msg; size_t msg_size; if (BE (errcode < 0 || errcode >= (int) (sizeof (__re_error_msgid_idx) / sizeof (__re_error_msgid_idx[0])), 0)) /* Only error codes returned by the rest of the code should be passed to this routine. If we are given anything else, or if other regex code generates an invalid error code, then the program has a bug. Dump core so we can fix it. */ abort (); msg = gettext (__re_error_msgid + __re_error_msgid_idx[errcode]); msg_size = strlen (msg) + 1; /* Includes the null. */ if (BE (errbuf_size != 0, 1)) { size_t cpy_size = msg_size; if (BE (msg_size > errbuf_size, 0)) { cpy_size = errbuf_size - 1; errbuf[cpy_size] = '\0'; } memcpy (errbuf, msg, cpy_size); } return msg_size; } #ifdef _LIBC weak_alias (__regerror, regerror) #endif #ifdef RE_ENABLE_I18N /* This static array is used for the map to single-byte characters when UTF-8 is used. Otherwise we would allocate memory just to initialize it the same all the time. UTF-8 is the preferred encoding so this is a worthwhile optimization. */ static const bitset_t utf8_sb_map = { /* Set the first 128 bits. */ # if 4 * BITSET_WORD_BITS < ASCII_CHARS # error "bitset_word_t is narrower than 32 bits" # elif 3 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, BITSET_WORD_MAX, BITSET_WORD_MAX, # elif 2 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, BITSET_WORD_MAX, # elif 1 * BITSET_WORD_BITS < ASCII_CHARS BITSET_WORD_MAX, # endif (BITSET_WORD_MAX >> (SBC_MAX % BITSET_WORD_BITS == 0 ? 0 : BITSET_WORD_BITS - SBC_MAX % BITSET_WORD_BITS)) }; #endif static void free_dfa_content (re_dfa_t *dfa) { Idx i, j; if (dfa->nodes) for (i = 0; i < dfa->nodes_len; ++i) free_token (dfa->nodes + i); re_free (dfa->nexts); for (i = 0; i < dfa->nodes_len; ++i) { if (dfa->eclosures != NULL) re_node_set_free (dfa->eclosures + i); if (dfa->inveclosures != NULL) re_node_set_free (dfa->inveclosures + i); if (dfa->edests != NULL) re_node_set_free (dfa->edests + i); } re_free (dfa->edests); re_free (dfa->eclosures); re_free (dfa->inveclosures); re_free (dfa->nodes); if (dfa->state_table) for (i = 0; i <= dfa->state_hash_mask; ++i) { struct re_state_table_entry *entry = dfa->state_table + i; for (j = 0; j < entry->num; ++j) { re_dfastate_t *state = entry->array[j]; free_state (state); } re_free (entry->array); } re_free (dfa->state_table); #ifdef RE_ENABLE_I18N if (dfa->sb_char != utf8_sb_map) re_free (dfa->sb_char); #endif re_free (dfa->subexp_map); #ifdef DEBUG re_free (dfa->re_str); #endif re_free (dfa); } /* Free dynamically allocated space used by PREG. */ void regfree (preg) regex_t *preg; { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; if (BE (dfa != NULL, 1)) free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; re_free (preg->fastmap); preg->fastmap = NULL; re_free (preg->translate); preg->translate = NULL; } #ifdef _LIBC weak_alias (__regfree, regfree) #endif /* Entry points compatible with 4.2 BSD regex library. We don't define them unless specifically requested. */ #if defined _REGEX_RE_COMP || defined _LIBC /* BSD has one and only one pattern buffer. */ static struct re_pattern_buffer re_comp_buf; char * # ifdef _LIBC /* Make these definitions weak in libc, so POSIX programs can redefine these names if they don't use our functions, and still use regcomp/regexec above without link errors. */ weak_function # endif re_comp (s) const char *s; { reg_errcode_t ret; char *fastmap; if (!s) { if (!re_comp_buf.buffer) return gettext ("No previous regular expression"); return 0; } if (re_comp_buf.buffer) { fastmap = re_comp_buf.fastmap; re_comp_buf.fastmap = NULL; __regfree (&re_comp_buf); memset (&re_comp_buf, '\0', sizeof (re_comp_buf)); re_comp_buf.fastmap = fastmap; } if (re_comp_buf.fastmap == NULL) { re_comp_buf.fastmap = (char *) malloc (SBC_MAX); if (re_comp_buf.fastmap == NULL) return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) REG_ESPACE]); } /* Since `re_exec' always passes NULL for the `regs' argument, we don't need to initialize the pattern buffer fields which affect it. */ /* Match anchors at newlines. */ re_comp_buf.newline_anchor = 1; ret = re_compile_internal (&re_comp_buf, s, strlen (s), re_syntax_options); if (!ret) return NULL; /* Yes, we're discarding `const' here if !HAVE_LIBINTL. */ return (char *) gettext (__re_error_msgid + __re_error_msgid_idx[(int) ret]); } #ifdef _LIBC libc_freeres_fn (free_mem) { __regfree (&re_comp_buf); } #endif #endif /* _REGEX_RE_COMP */ /* Internal entry point. Compile the regular expression PATTERN, whose length is LENGTH. SYNTAX indicate regular expression's syntax. */ static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern, size_t length, reg_syntax_t syntax) { reg_errcode_t err = REG_NOERROR; re_dfa_t *dfa; re_string_t regexp; /* Initialize the pattern buffer. */ preg->fastmap_accurate = 0; preg->syntax = syntax; preg->not_bol = preg->not_eol = 0; preg->used = 0; preg->re_nsub = 0; preg->can_be_null = 0; preg->regs_allocated = REGS_UNALLOCATED; /* Initialize the dfa. */ dfa = (re_dfa_t *) preg->buffer; if (BE (preg->allocated < sizeof (re_dfa_t), 0)) { /* If zero allocated, but buffer is non-null, try to realloc enough space. This loses if buffer's address is bogus, but that is the user's responsibility. If ->buffer is NULL this is a simple allocation. */ dfa = re_realloc (preg->buffer, re_dfa_t, 1); if (dfa == NULL) return REG_ESPACE; preg->allocated = sizeof (re_dfa_t); preg->buffer = (unsigned char *) dfa; } preg->used = sizeof (re_dfa_t); err = init_dfa (dfa, length); if (BE (err != REG_NOERROR, 0)) { free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; return err; } #ifdef DEBUG /* Note: length+1 will not overflow since it is checked in init_dfa. */ dfa->re_str = re_malloc (char, length + 1); strncpy (dfa->re_str, pattern, length + 1); #endif __libc_lock_init (dfa->lock); err = re_string_construct (®exp, pattern, length, preg->translate, (syntax & RE_ICASE) != 0, dfa); if (BE (err != REG_NOERROR, 0)) { re_compile_internal_free_return: free_workarea_compile (preg); re_string_destruct (®exp); free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; return err; } /* Parse the regular expression, and build a structure tree. */ preg->re_nsub = 0; dfa->str_tree = parse (®exp, preg, syntax, &err); if (BE (dfa->str_tree == NULL, 0)) goto re_compile_internal_free_return; /* Analyze the tree and create the nfa. */ err = analyze (preg); if (BE (err != REG_NOERROR, 0)) goto re_compile_internal_free_return; #ifdef RE_ENABLE_I18N /* If possible, do searching in single byte encoding to speed things up. */ if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL) optimize_utf8 (dfa); #endif /* Then create the initial state of the dfa. */ err = create_initial_state (dfa); /* Release work areas. */ free_workarea_compile (preg); re_string_destruct (®exp); if (BE (err != REG_NOERROR, 0)) { free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; } return err; } /* Initialize DFA. We use the length of the regular expression PAT_LEN as the initial length of some arrays. */ static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len) { __re_size_t table_size; #ifdef RE_ENABLE_I18N size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t)); #else size_t max_i18n_object_size = 0; #endif size_t max_object_size = MAX (sizeof (struct re_state_table_entry), MAX (sizeof (re_token_t), MAX (sizeof (re_node_set), MAX (sizeof (regmatch_t), max_i18n_object_size)))); memset (dfa, '\0', sizeof (re_dfa_t)); /* Force allocation of str_tree_storage the first time. */ dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE; /* Avoid overflows. The extra "/ 2" is for the table_size doubling calculation below, and for similar doubling calculations elsewhere. And it's <= rather than <, because some of the doubling calculations add 1 afterwards. */ if (BE (SIZE_MAX / max_object_size / 2 <= pat_len, 0)) return REG_ESPACE; dfa->nodes_alloc = pat_len + 1; dfa->nodes = re_malloc (re_token_t, dfa->nodes_alloc); /* table_size = 2 ^ ceil(log pat_len) */ for (table_size = 1; ; table_size <<= 1) if (table_size > pat_len) break; dfa->state_table = calloc (sizeof (struct re_state_table_entry), table_size); dfa->state_hash_mask = table_size - 1; dfa->mb_cur_max = MB_CUR_MAX; #ifdef _LIBC if (dfa->mb_cur_max == 6 && strcmp (_NL_CURRENT (LC_CTYPE, _NL_CTYPE_CODESET_NAME), "UTF-8") == 0) dfa->is_utf8 = 1; dfa->map_notascii = (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MAP_TO_NONASCII) != 0); #else if (strcmp (locale_charset (), "UTF-8") == 0) dfa->is_utf8 = 1; /* We check exhaustively in the loop below if this charset is a superset of ASCII. */ dfa->map_notascii = 0; #endif #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { if (dfa->is_utf8) dfa->sb_char = (re_bitset_ptr_t) utf8_sb_map; else { int i, j, ch; dfa->sb_char = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); if (BE (dfa->sb_char == NULL, 0)) return REG_ESPACE; /* Set the bits corresponding to single byte chars. */ for (i = 0, ch = 0; i < BITSET_WORDS; ++i) for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) { wint_t wch = __btowc (ch); if (wch != WEOF) dfa->sb_char[i] |= (bitset_word_t) 1 << j; # ifndef _LIBC if (isascii (ch) && wch != ch) dfa->map_notascii = 1; # endif } } } #endif if (BE (dfa->nodes == NULL || dfa->state_table == NULL, 0)) return REG_ESPACE; return REG_NOERROR; } /* Initialize WORD_CHAR table, which indicate which character is "word". In this case "word" means that it is the word construction character used by some operators like "\<", "\>", etc. */ static void internal_function init_word_char (re_dfa_t *dfa) { int i, j, ch; dfa->word_ops_used = 1; for (i = 0, ch = 0; i < BITSET_WORDS; ++i) for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) if (isalnum (ch) || ch == '_') dfa->word_char[i] |= (bitset_word_t) 1 << j; } /* Free the work area which are only used while compiling. */ static void free_workarea_compile (regex_t *preg) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_storage_t *storage, *next; for (storage = dfa->str_tree_storage; storage; storage = next) { next = storage->next; re_free (storage); } dfa->str_tree_storage = NULL; dfa->str_tree_storage_idx = BIN_TREE_STORAGE_SIZE; dfa->str_tree = NULL; re_free (dfa->org_indices); dfa->org_indices = NULL; } /* Create initial states for all contexts. */ static reg_errcode_t create_initial_state (re_dfa_t *dfa) { Idx first, i; reg_errcode_t err; re_node_set init_nodes; /* Initial states have the epsilon closure of the node which is the first node of the regular expression. */ first = dfa->str_tree->first->node_idx; dfa->init_node = first; err = re_node_set_init_copy (&init_nodes, dfa->eclosures + first); if (BE (err != REG_NOERROR, 0)) return err; /* The back-references which are in initial states can epsilon transit, since in this case all of the subexpressions can be null. Then we add epsilon closures of the nodes which are the next nodes of the back-references. */ if (dfa->nbackref > 0) for (i = 0; i < init_nodes.nelem; ++i) { Idx node_idx = init_nodes.elems[i]; re_token_type_t type = dfa->nodes[node_idx].type; Idx clexp_idx; if (type != OP_BACK_REF) continue; for (clexp_idx = 0; clexp_idx < init_nodes.nelem; ++clexp_idx) { re_token_t *clexp_node; clexp_node = dfa->nodes + init_nodes.elems[clexp_idx]; if (clexp_node->type == OP_CLOSE_SUBEXP && clexp_node->opr.idx == dfa->nodes[node_idx].opr.idx) break; } if (clexp_idx == init_nodes.nelem) continue; if (type == OP_BACK_REF) { Idx dest_idx = dfa->edests[node_idx].elems[0]; if (!re_node_set_contains (&init_nodes, dest_idx)) { re_node_set_merge (&init_nodes, dfa->eclosures + dest_idx); i = 0; } } } /* It must be the first time to invoke acquire_state. */ dfa->init_state = re_acquire_state_context (&err, dfa, &init_nodes, 0); /* We don't check ERR here, since the initial state must not be NULL. */ if (BE (dfa->init_state == NULL, 0)) return err; if (dfa->init_state->has_constraint) { dfa->init_state_word = re_acquire_state_context (&err, dfa, &init_nodes, CONTEXT_WORD); dfa->init_state_nl = re_acquire_state_context (&err, dfa, &init_nodes, CONTEXT_NEWLINE); dfa->init_state_begbuf = re_acquire_state_context (&err, dfa, &init_nodes, CONTEXT_NEWLINE | CONTEXT_BEGBUF); if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL || dfa->init_state_begbuf == NULL, 0)) return err; } else dfa->init_state_word = dfa->init_state_nl = dfa->init_state_begbuf = dfa->init_state; re_node_set_free (&init_nodes); return REG_NOERROR; } #ifdef RE_ENABLE_I18N /* If it is possible to do searching in single byte encoding instead of UTF-8 to speed things up, set dfa->mb_cur_max to 1, clear is_utf8 and change DFA nodes where needed. */ static void optimize_utf8 (re_dfa_t *dfa) { Idx node; int i; bool mb_chars = false; bool has_period = false; for (node = 0; node < dfa->nodes_len; ++node) switch (dfa->nodes[node].type) { case CHARACTER: if (dfa->nodes[node].opr.c >= ASCII_CHARS) mb_chars = true; break; case ANCHOR: switch (dfa->nodes[node].opr.ctx_type) { case LINE_FIRST: case LINE_LAST: case BUF_FIRST: case BUF_LAST: break; default: /* Word anchors etc. cannot be handled. It's okay to test opr.ctx_type since constraints (for all DFA nodes) are created by ORing one or more opr.ctx_type values. */ return; } break; case OP_PERIOD: has_period = true; break; case OP_BACK_REF: case OP_ALT: case END_OF_RE: case OP_DUP_ASTERISK: case OP_OPEN_SUBEXP: case OP_CLOSE_SUBEXP: break; case COMPLEX_BRACKET: return; case SIMPLE_BRACKET: /* Just double check. */ { int rshift = (ASCII_CHARS % BITSET_WORD_BITS == 0 ? 0 : BITSET_WORD_BITS - ASCII_CHARS % BITSET_WORD_BITS); for (i = ASCII_CHARS / BITSET_WORD_BITS; i < BITSET_WORDS; ++i) { if (dfa->nodes[node].opr.sbcset[i] >> rshift != 0) return; rshift = 0; } } break; default: abort (); } if (mb_chars || has_period) for (node = 0; node < dfa->nodes_len; ++node) { if (dfa->nodes[node].type == CHARACTER && dfa->nodes[node].opr.c >= ASCII_CHARS) dfa->nodes[node].mb_partial = 0; else if (dfa->nodes[node].type == OP_PERIOD) dfa->nodes[node].type = OP_UTF8_PERIOD; } /* The search can be in single byte locale. */ dfa->mb_cur_max = 1; dfa->is_utf8 = 0; dfa->has_mb_node = dfa->nbackref > 0 || has_period; } #endif /* Analyze the structure tree, and calculate "first", "next", "edest", "eclosure", and "inveclosure". */ static reg_errcode_t analyze (regex_t *preg) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; reg_errcode_t ret; /* Allocate arrays. */ dfa->nexts = re_malloc (Idx, dfa->nodes_alloc); dfa->org_indices = re_malloc (Idx, dfa->nodes_alloc); dfa->edests = re_malloc (re_node_set, dfa->nodes_alloc); dfa->eclosures = re_malloc (re_node_set, dfa->nodes_alloc); if (BE (dfa->nexts == NULL || dfa->org_indices == NULL || dfa->edests == NULL || dfa->eclosures == NULL, 0)) return REG_ESPACE; dfa->subexp_map = re_malloc (Idx, preg->re_nsub); if (dfa->subexp_map != NULL) { Idx i; for (i = 0; i < preg->re_nsub; i++) dfa->subexp_map[i] = i; preorder (dfa->str_tree, optimize_subexps, dfa); for (i = 0; i < preg->re_nsub; i++) if (dfa->subexp_map[i] != i) break; if (i == preg->re_nsub) { free (dfa->subexp_map); dfa->subexp_map = NULL; } } ret = postorder (dfa->str_tree, lower_subexps, preg); if (BE (ret != REG_NOERROR, 0)) return ret; ret = postorder (dfa->str_tree, calc_first, dfa); if (BE (ret != REG_NOERROR, 0)) return ret; preorder (dfa->str_tree, calc_next, dfa); ret = preorder (dfa->str_tree, link_nfa_nodes, dfa); if (BE (ret != REG_NOERROR, 0)) return ret; ret = calc_eclosure (dfa); if (BE (ret != REG_NOERROR, 0)) return ret; /* We only need this during the prune_impossible_nodes pass in regexec.c; skip it if p_i_n will not run, as calc_inveclosure can be quadratic. */ if ((!preg->no_sub && preg->re_nsub > 0 && dfa->has_plural_match) || dfa->nbackref) { dfa->inveclosures = re_malloc (re_node_set, dfa->nodes_len); if (BE (dfa->inveclosures == NULL, 0)) return REG_ESPACE; ret = calc_inveclosure (dfa); } return ret; } /* Our parse trees are very unbalanced, so we cannot use a stack to implement parse tree visits. Instead, we use parent pointers and some hairy code in these two functions. */ static reg_errcode_t postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra) { bin_tree_t *node, *prev; for (node = root; ; ) { /* Descend down the tree, preferably to the left (or to the right if that's the only child). */ while (node->left || node->right) if (node->left) node = node->left; else node = node->right; do { reg_errcode_t err = fn (extra, node); if (BE (err != REG_NOERROR, 0)) return err; if (node->parent == NULL) return REG_NOERROR; prev = node; node = node->parent; } /* Go up while we have a node that is reached from the right. */ while (node->right == prev || node->right == NULL); node = node->right; } } static reg_errcode_t preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), void *extra) { bin_tree_t *node; for (node = root; ; ) { reg_errcode_t err = fn (extra, node); if (BE (err != REG_NOERROR, 0)) return err; /* Go to the left node, or up and to the right. */ if (node->left) node = node->left; else { bin_tree_t *prev = NULL; while (node->right == prev || node->right == NULL) { prev = node; node = node->parent; if (!node) return REG_NOERROR; } node = node->right; } } } /* Optimization pass: if a SUBEXP is entirely contained, strip it and tell re_search_internal to map the inner one's opr.idx to this one's. Adjust backreferences as well. Requires a preorder visit. */ static reg_errcode_t optimize_subexps (void *extra, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) extra; if (node->token.type == OP_BACK_REF && dfa->subexp_map) { int idx = node->token.opr.idx; node->token.opr.idx = dfa->subexp_map[idx]; dfa->used_bkref_map |= 1 << node->token.opr.idx; } else if (node->token.type == SUBEXP && node->left && node->left->token.type == SUBEXP) { Idx other_idx = node->left->token.opr.idx; node->left = node->left->left; if (node->left) node->left->parent = node; dfa->subexp_map[other_idx] = dfa->subexp_map[node->token.opr.idx]; if (other_idx < BITSET_WORD_BITS) dfa->used_bkref_map &= ~((bitset_word_t) 1 << other_idx); } return REG_NOERROR; } /* Lowering pass: Turn each SUBEXP node into the appropriate concatenation of OP_OPEN_SUBEXP, the body of the SUBEXP (if any) and OP_CLOSE_SUBEXP. */ static reg_errcode_t lower_subexps (void *extra, bin_tree_t *node) { regex_t *preg = (regex_t *) extra; reg_errcode_t err = REG_NOERROR; if (node->left && node->left->token.type == SUBEXP) { node->left = lower_subexp (&err, preg, node->left); if (node->left) node->left->parent = node; } if (node->right && node->right->token.type == SUBEXP) { node->right = lower_subexp (&err, preg, node->right); if (node->right) node->right->parent = node; } return err; } static bin_tree_t * lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_t *body = node->left; bin_tree_t *op, *cls, *tree1, *tree; if (preg->no_sub /* We do not optimize empty subexpressions, because otherwise we may have bad CONCAT nodes with NULL children. This is obviously not very common, so we do not lose much. An example that triggers this case is the sed "script" /\(\)/x. */ && node->left != NULL && (node->token.opr.idx >= BITSET_WORD_BITS || !(dfa->used_bkref_map & ((bitset_word_t) 1 << node->token.opr.idx)))) return node->left; /* Convert the SUBEXP node to the concatenation of an OP_OPEN_SUBEXP, the contents, and an OP_CLOSE_SUBEXP. */ op = create_tree (dfa, NULL, NULL, OP_OPEN_SUBEXP); cls = create_tree (dfa, NULL, NULL, OP_CLOSE_SUBEXP); tree1 = body ? create_tree (dfa, body, cls, CONCAT) : cls; tree = create_tree (dfa, op, tree1, CONCAT); if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0)) { *err = REG_ESPACE; return NULL; } op->token.opr.idx = cls->token.opr.idx = node->token.opr.idx; op->token.opt_subexp = cls->token.opt_subexp = node->token.opt_subexp; return tree; } /* Pass 1 in building the NFA: compute FIRST and create unlinked automaton nodes. Requires a postorder visit. */ static reg_errcode_t calc_first (void *extra, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) extra; if (node->token.type == CONCAT) { node->first = node->left->first; node->node_idx = node->left->node_idx; } else { node->first = node; node->node_idx = re_dfa_add_node (dfa, node->token); if (BE (node->node_idx == REG_MISSING, 0)) return REG_ESPACE; if (node->token.type == ANCHOR) dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type; } return REG_NOERROR; } /* Pass 2: compute NEXT on the tree. Preorder visit. */ static reg_errcode_t calc_next (void *extra, bin_tree_t *node) { switch (node->token.type) { case OP_DUP_ASTERISK: node->left->next = node; break; case CONCAT: node->left->next = node->right->first; node->right->next = node->next; break; default: if (node->left) node->left->next = node->next; if (node->right) node->right->next = node->next; break; } return REG_NOERROR; } /* Pass 3: link all DFA nodes to their NEXT node (any order will do). */ static reg_errcode_t link_nfa_nodes (void *extra, bin_tree_t *node) { re_dfa_t *dfa = (re_dfa_t *) extra; Idx idx = node->node_idx; reg_errcode_t err = REG_NOERROR; switch (node->token.type) { case CONCAT: break; case END_OF_RE: assert (node->next == NULL); break; case OP_DUP_ASTERISK: case OP_ALT: { Idx left, right; dfa->has_plural_match = 1; if (node->left != NULL) left = node->left->first->node_idx; else left = node->next->node_idx; if (node->right != NULL) right = node->right->first->node_idx; else right = node->next->node_idx; assert (REG_VALID_INDEX (left)); assert (REG_VALID_INDEX (right)); err = re_node_set_init_2 (dfa->edests + idx, left, right); } break; case ANCHOR: case OP_OPEN_SUBEXP: case OP_CLOSE_SUBEXP: err = re_node_set_init_1 (dfa->edests + idx, node->next->node_idx); break; case OP_BACK_REF: dfa->nexts[idx] = node->next->node_idx; if (node->token.type == OP_BACK_REF) re_node_set_init_1 (dfa->edests + idx, dfa->nexts[idx]); break; default: assert (!IS_EPSILON_NODE (node->token.type)); dfa->nexts[idx] = node->next->node_idx; break; } return err; } /* Duplicate the epsilon closure of the node ROOT_NODE. Note that duplicated nodes have constraint INIT_CONSTRAINT in addition to their own constraint. */ static reg_errcode_t internal_function duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node, Idx root_node, unsigned int init_constraint) { Idx org_node, clone_node; bool ok; unsigned int constraint = init_constraint; for (org_node = top_org_node, clone_node = top_clone_node;;) { Idx org_dest, clone_dest; if (dfa->nodes[org_node].type == OP_BACK_REF) { /* If the back reference epsilon-transit, its destination must also have the constraint. Then duplicate the epsilon closure of the destination of the back reference, and store it in edests of the back reference. */ org_dest = dfa->nexts[org_node]; re_node_set_empty (dfa->edests + clone_node); clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; dfa->nexts[clone_node] = dfa->nexts[org_node]; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } else if (dfa->edests[org_node].nelem == 0) { /* In case of the node can't epsilon-transit, don't duplicate the destination and store the original destination as the destination of the node. */ dfa->nexts[clone_node] = dfa->nexts[org_node]; break; } else if (dfa->edests[org_node].nelem == 1) { /* In case of the node can epsilon-transit, and it has only one destination. */ org_dest = dfa->edests[org_node].elems[0]; re_node_set_empty (dfa->edests + clone_node); clone_dest = search_duplicated_node (dfa, org_dest, constraint); /* If the node is root_node itself, it means the epsilon closure has a loop. Then tie it to the destination of the root_node. */ if (org_node == root_node && clone_node != org_node) { ok = re_node_set_insert (dfa->edests + clone_node, org_dest); if (BE (! ok, 0)) return REG_ESPACE; break; } /* In case the node has another constraint, append it. */ constraint |= dfa->nodes[org_node].constraint; clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } else /* dfa->edests[org_node].nelem == 2 */ { /* In case of the node can epsilon-transit, and it has two destinations. In the bin_tree_t and DFA, that's '|' and '*'. */ org_dest = dfa->edests[org_node].elems[0]; re_node_set_empty (dfa->edests + clone_node); /* Search for a duplicated node which satisfies the constraint. */ clone_dest = search_duplicated_node (dfa, org_dest, constraint); if (clone_dest == REG_MISSING) { /* There is no such duplicated node, create a new one. */ reg_errcode_t err; clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; err = duplicate_node_closure (dfa, org_dest, clone_dest, root_node, constraint); if (BE (err != REG_NOERROR, 0)) return err; } else { /* There is a duplicated node which satisfy the constraint, use it to avoid infinite loop. */ ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } org_dest = dfa->edests[org_node].elems[1]; clone_dest = duplicate_node (dfa, org_dest, constraint); if (BE (clone_dest == REG_MISSING, 0)) return REG_ESPACE; ok = re_node_set_insert (dfa->edests + clone_node, clone_dest); if (BE (! ok, 0)) return REG_ESPACE; } org_node = org_dest; clone_node = clone_dest; } return REG_NOERROR; } /* Search for a node which is duplicated from the node ORG_NODE, and satisfies the constraint CONSTRAINT. */ static Idx search_duplicated_node (const re_dfa_t *dfa, Idx org_node, unsigned int constraint) { Idx idx; for (idx = dfa->nodes_len - 1; dfa->nodes[idx].duplicated && idx > 0; --idx) { if (org_node == dfa->org_indices[idx] && constraint == dfa->nodes[idx].constraint) return idx; /* Found. */ } return REG_MISSING; /* Not found. */ } /* Duplicate the node whose index is ORG_IDX and set the constraint CONSTRAINT. Return the index of the new node, or REG_MISSING if insufficient storage is available. */ static Idx duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint) { Idx dup_idx = re_dfa_add_node (dfa, dfa->nodes[org_idx]); if (BE (dup_idx != REG_MISSING, 1)) { dfa->nodes[dup_idx].constraint = constraint; dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint; dfa->nodes[dup_idx].duplicated = 1; /* Store the index of the original node. */ dfa->org_indices[dup_idx] = org_idx; } return dup_idx; } static reg_errcode_t calc_inveclosure (re_dfa_t *dfa) { Idx src, idx; bool ok; for (idx = 0; idx < dfa->nodes_len; ++idx) re_node_set_init_empty (dfa->inveclosures + idx); for (src = 0; src < dfa->nodes_len; ++src) { Idx *elems = dfa->eclosures[src].elems; for (idx = 0; idx < dfa->eclosures[src].nelem; ++idx) { ok = re_node_set_insert_last (dfa->inveclosures + elems[idx], src); if (BE (! ok, 0)) return REG_ESPACE; } } return REG_NOERROR; } /* Calculate "eclosure" for all the node in DFA. */ static reg_errcode_t calc_eclosure (re_dfa_t *dfa) { Idx node_idx; bool incomplete; #ifdef DEBUG assert (dfa->nodes_len > 0); #endif incomplete = false; /* For each nodes, calculate epsilon closure. */ for (node_idx = 0; ; ++node_idx) { reg_errcode_t err; re_node_set eclosure_elem; if (node_idx == dfa->nodes_len) { if (!incomplete) break; incomplete = false; node_idx = 0; } #ifdef DEBUG assert (dfa->eclosures[node_idx].nelem != REG_MISSING); #endif /* If we have already calculated, skip it. */ if (dfa->eclosures[node_idx].nelem != 0) continue; /* Calculate epsilon closure of `node_idx'. */ err = calc_eclosure_iter (&eclosure_elem, dfa, node_idx, true); if (BE (err != REG_NOERROR, 0)) return err; if (dfa->eclosures[node_idx].nelem == 0) { incomplete = true; re_node_set_free (&eclosure_elem); } } return REG_NOERROR; } /* Calculate epsilon closure of NODE. */ static reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root) { reg_errcode_t err; Idx i; bool incomplete; bool ok; re_node_set eclosure; incomplete = false; err = re_node_set_alloc (&eclosure, dfa->edests[node].nelem + 1); if (BE (err != REG_NOERROR, 0)) return err; /* This indicates that we are calculating this node now. We reference this value to avoid infinite loop. */ dfa->eclosures[node].nelem = REG_MISSING; /* If the current node has constraints, duplicate all nodes since they must inherit the constraints. */ if (dfa->nodes[node].constraint && dfa->edests[node].nelem && !dfa->nodes[dfa->edests[node].elems[0]].duplicated) { err = duplicate_node_closure (dfa, node, node, node, dfa->nodes[node].constraint); if (BE (err != REG_NOERROR, 0)) return err; } /* Expand each epsilon destination nodes. */ if (IS_EPSILON_NODE(dfa->nodes[node].type)) for (i = 0; i < dfa->edests[node].nelem; ++i) { re_node_set eclosure_elem; Idx edest = dfa->edests[node].elems[i]; /* If calculating the epsilon closure of `edest' is in progress, return intermediate result. */ if (dfa->eclosures[edest].nelem == REG_MISSING) { incomplete = true; continue; } /* If we haven't calculated the epsilon closure of `edest' yet, calculate now. Otherwise use calculated epsilon closure. */ if (dfa->eclosures[edest].nelem == 0) { err = calc_eclosure_iter (&eclosure_elem, dfa, edest, false); if (BE (err != REG_NOERROR, 0)) return err; } else eclosure_elem = dfa->eclosures[edest]; /* Merge the epsilon closure of `edest'. */ re_node_set_merge (&eclosure, &eclosure_elem); /* If the epsilon closure of `edest' is incomplete, the epsilon closure of this node is also incomplete. */ if (dfa->eclosures[edest].nelem == 0) { incomplete = true; re_node_set_free (&eclosure_elem); } } /* Epsilon closures include itself. */ ok = re_node_set_insert (&eclosure, node); if (BE (! ok, 0)) return REG_ESPACE; if (incomplete && !root) dfa->eclosures[node].nelem = 0; else dfa->eclosures[node] = eclosure; *new_set = eclosure; return REG_NOERROR; } /* Functions for token which are used in the parser. */ /* Fetch a token from INPUT. We must not use this function inside bracket expressions. */ static void internal_function fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t syntax) { re_string_skip_bytes (input, peek_token (result, input, syntax)); } /* Peek a token from INPUT, and return the length of the token. We must not use this function inside bracket expressions. */ static int internal_function peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) { unsigned char c; if (re_string_eoi (input)) { token->type = END_OF_RE; return 0; } c = re_string_peek_byte (input, 0); token->opr.c = c; token->word_char = 0; #ifdef RE_ENABLE_I18N token->mb_partial = 0; if (input->mb_cur_max > 1 && !re_string_first_byte (input, re_string_cur_idx (input))) { token->type = CHARACTER; token->mb_partial = 1; return 1; } #endif if (c == '\\') { unsigned char c2; if (re_string_cur_idx (input) + 1 >= re_string_length (input)) { token->type = BACK_SLASH; return 1; } c2 = re_string_peek_byte_case (input, 1); token->opr.c = c2; token->type = CHARACTER; #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input) + 1); token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; } else #endif token->word_char = IS_WORD_CHAR (c2) != 0; switch (c2) { case '|': if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_NO_BK_VBAR)) token->type = OP_ALT; break; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (!(syntax & RE_NO_BK_REFS)) { token->type = OP_BACK_REF; token->opr.idx = c2 - '1'; } break; case '<': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = WORD_FIRST; } break; case '>': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = WORD_LAST; } break; case 'b': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = WORD_DELIM; } break; case 'B': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = NOT_WORD_DELIM; } break; case 'w': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_WORD; break; case 'W': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_NOTWORD; break; case 's': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_SPACE; break; case 'S': if (!(syntax & RE_NO_GNU_OPS)) token->type = OP_NOTSPACE; break; case '`': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = BUF_FIRST; } break; case '\'': if (!(syntax & RE_NO_GNU_OPS)) { token->type = ANCHOR; token->opr.ctx_type = BUF_LAST; } break; case '(': if (!(syntax & RE_NO_BK_PARENS)) token->type = OP_OPEN_SUBEXP; break; case ')': if (!(syntax & RE_NO_BK_PARENS)) token->type = OP_CLOSE_SUBEXP; break; case '+': if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_PLUS; break; case '?': if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_QUESTION; break; case '{': if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES))) token->type = OP_OPEN_DUP_NUM; break; case '}': if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES))) token->type = OP_CLOSE_DUP_NUM; break; default: break; } return 2; } token->type = CHARACTER; #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input)); token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; } else #endif token->word_char = IS_WORD_CHAR (token->opr.c); switch (c) { case '\n': if (syntax & RE_NEWLINE_ALT) token->type = OP_ALT; break; case '|': if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_NO_BK_VBAR)) token->type = OP_ALT; break; case '*': token->type = OP_DUP_ASTERISK; break; case '+': if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_PLUS; break; case '?': if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM)) token->type = OP_DUP_QUESTION; break; case '{': if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) token->type = OP_OPEN_DUP_NUM; break; case '}': if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) token->type = OP_CLOSE_DUP_NUM; break; case '(': if (syntax & RE_NO_BK_PARENS) token->type = OP_OPEN_SUBEXP; break; case ')': if (syntax & RE_NO_BK_PARENS) token->type = OP_CLOSE_SUBEXP; break; case '[': token->type = OP_OPEN_BRACKET; break; case '.': token->type = OP_PERIOD; break; case '^': if (!(syntax & (RE_CONTEXT_INDEP_ANCHORS | RE_CARET_ANCHORS_HERE)) && re_string_cur_idx (input) != 0) { char prev = re_string_peek_byte (input, -1); if (!(syntax & RE_NEWLINE_ALT) || prev != '\n') break; } token->type = ANCHOR; token->opr.ctx_type = LINE_FIRST; break; case '$': if (!(syntax & RE_CONTEXT_INDEP_ANCHORS) && re_string_cur_idx (input) + 1 != re_string_length (input)) { re_token_t next; re_string_skip_bytes (input, 1); peek_token (&next, input, syntax); re_string_skip_bytes (input, -1); if (next.type != OP_ALT && next.type != OP_CLOSE_SUBEXP) break; } token->type = ANCHOR; token->opr.ctx_type = LINE_LAST; break; default: break; } return 1; } /* Peek a token from INPUT, and return the length of the token. We must not use this function out of bracket expressions. */ static int internal_function peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax) { unsigned char c; if (re_string_eoi (input)) { token->type = END_OF_RE; return 0; } c = re_string_peek_byte (input, 0); token->opr.c = c; #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1 && !re_string_first_byte (input, re_string_cur_idx (input))) { token->type = CHARACTER; return 1; } #endif /* RE_ENABLE_I18N */ if (c == '\\' && (syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && re_string_cur_idx (input) + 1 < re_string_length (input)) { /* In this case, '\' escape a character. */ unsigned char c2; re_string_skip_bytes (input, 1); c2 = re_string_peek_byte (input, 0); token->opr.c = c2; token->type = CHARACTER; return 1; } if (c == '[') /* '[' is a special char in a bracket exps. */ { unsigned char c2; int token_len; if (re_string_cur_idx (input) + 1 < re_string_length (input)) c2 = re_string_peek_byte (input, 1); else c2 = 0; token->opr.c = c2; token_len = 2; switch (c2) { case '.': token->type = OP_OPEN_COLL_ELEM; break; case '=': token->type = OP_OPEN_EQUIV_CLASS; break; case ':': if (syntax & RE_CHAR_CLASSES) { token->type = OP_OPEN_CHAR_CLASS; break; } /* else fall through. */ default: token->type = CHARACTER; token->opr.c = c; token_len = 1; break; } return token_len; } switch (c) { case '-': token->type = OP_CHARSET_RANGE; break; case ']': token->type = OP_CLOSE_BRACKET; break; case '^': token->type = OP_NON_MATCH_LIST; break; default: token->type = CHARACTER; } return 1; } /* Functions for parser. */ /* Entry point of the parser. Parse the regular expression REGEXP and return the structure tree. If an error is occured, ERR is set by error code, and return NULL. This function build the following tree, from regular expression : CAT / \ / \ EOR CAT means concatenation. EOR means end of regular expression. */ static bin_tree_t * parse (re_string_t *regexp, regex_t *preg, reg_syntax_t syntax, reg_errcode_t *err) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_t *tree, *eor, *root; re_token_t current_token; dfa->syntax = syntax; fetch_token (¤t_token, regexp, syntax | RE_CARET_ANCHORS_HERE); tree = parse_reg_exp (regexp, preg, ¤t_token, syntax, 0, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; eor = create_tree (dfa, NULL, NULL, END_OF_RE); if (tree != NULL) root = create_tree (dfa, tree, eor, CONCAT); else root = eor; if (BE (eor == NULL || root == NULL, 0)) { *err = REG_ESPACE; return NULL; } return root; } /* This function build the following tree, from regular expression |: ALT / \ / \ ALT means alternative, which represents the operator `|'. */ static bin_tree_t * parse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_t *tree, *branch = NULL; tree = parse_branch (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; while (token->type == OP_ALT) { fetch_token (token, regexp, syntax | RE_CARET_ANCHORS_HERE); if (token->type != OP_ALT && token->type != END_OF_RE && (nest == 0 || token->type != OP_CLOSE_SUBEXP)) { branch = parse_branch (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && branch == NULL, 0)) return NULL; } else branch = NULL; tree = create_tree (dfa, tree, branch, OP_ALT); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } return tree; } /* This function build the following tree, from regular expression : CAT / \ / \ CAT means concatenation. */ static bin_tree_t * parse_branch (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { bin_tree_t *tree, *expr; re_dfa_t *dfa = (re_dfa_t *) preg->buffer; tree = parse_expression (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; while (token->type != OP_ALT && token->type != END_OF_RE && (nest == 0 || token->type != OP_CLOSE_SUBEXP)) { expr = parse_expression (regexp, preg, token, syntax, nest, err); if (BE (*err != REG_NOERROR && expr == NULL, 0)) { return NULL; } if (tree != NULL && expr != NULL) { tree = create_tree (dfa, tree, expr, CONCAT); if (tree == NULL) { *err = REG_ESPACE; return NULL; } } else if (tree == NULL) tree = expr; /* Otherwise expr == NULL, we don't need to create new tree. */ } return tree; } /* This function build the following tree, from regular expression a*: * | a */ static bin_tree_t * parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_t *tree; switch (token->type) { case CHARACTER: tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { while (!re_string_eoi (regexp) && !re_string_first_byte (regexp, re_string_cur_idx (regexp))) { bin_tree_t *mbc_remain; fetch_token (token, regexp, syntax); mbc_remain = create_token_tree (dfa, NULL, NULL, token); tree = create_tree (dfa, tree, mbc_remain, CONCAT); if (BE (mbc_remain == NULL || tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } } #endif break; case OP_OPEN_SUBEXP: tree = parse_sub_exp (regexp, preg, token, syntax, nest + 1, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_OPEN_BRACKET: tree = parse_bracket_exp (regexp, dfa, token, syntax, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_BACK_REF: if (!BE (dfa->completed_bkref_map & (1 << token->opr.idx), 1)) { *err = REG_ESUBREG; return NULL; } dfa->used_bkref_map |= 1 << token->opr.idx; tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } ++dfa->nbackref; dfa->has_mb_node = 1; break; case OP_OPEN_DUP_NUM: if (syntax & RE_CONTEXT_INVALID_DUP) { *err = REG_BADRPT; return NULL; } /* FALLTHROUGH */ case OP_DUP_ASTERISK: case OP_DUP_PLUS: case OP_DUP_QUESTION: if (syntax & RE_CONTEXT_INVALID_OPS) { *err = REG_BADRPT; return NULL; } else if (syntax & RE_CONTEXT_INDEP_OPS) { fetch_token (token, regexp, syntax); return parse_expression (regexp, preg, token, syntax, nest, err); } /* else fall through */ case OP_CLOSE_SUBEXP: if ((token->type == OP_CLOSE_SUBEXP) && !(syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)) { *err = REG_ERPAREN; return NULL; } /* else fall through */ case OP_CLOSE_DUP_NUM: /* We treat it as a normal character. */ /* Then we can these characters as normal characters. */ token->type = CHARACTER; /* mb_partial and word_char bits should be initialized already by peek_token. */ tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } break; case ANCHOR: if ((token->opr.ctx_type & (WORD_DELIM | NOT_WORD_DELIM | WORD_FIRST | WORD_LAST)) && dfa->word_ops_used == 0) init_word_char (dfa); if (token->opr.ctx_type == WORD_DELIM || token->opr.ctx_type == NOT_WORD_DELIM) { bin_tree_t *tree_first, *tree_last; if (token->opr.ctx_type == WORD_DELIM) { token->opr.ctx_type = WORD_FIRST; tree_first = create_token_tree (dfa, NULL, NULL, token); token->opr.ctx_type = WORD_LAST; } else { token->opr.ctx_type = INSIDE_WORD; tree_first = create_token_tree (dfa, NULL, NULL, token); token->opr.ctx_type = INSIDE_NOTWORD; } tree_last = create_token_tree (dfa, NULL, NULL, token); tree = create_tree (dfa, tree_first, tree_last, OP_ALT); if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } else { tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } } /* We must return here, since ANCHORs can't be followed by repetition operators. eg. RE"^*" is invalid or "", it must not be "". */ fetch_token (token, regexp, syntax); return tree; case OP_PERIOD: tree = create_token_tree (dfa, NULL, NULL, token); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } if (dfa->mb_cur_max > 1) dfa->has_mb_node = 1; break; case OP_WORD: case OP_NOTWORD: tree = build_charclass_op (dfa, regexp->trans, (const unsigned char *) "alnum", (const unsigned char *) "_", token->type == OP_NOTWORD, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_SPACE: case OP_NOTSPACE: tree = build_charclass_op (dfa, regexp->trans, (const unsigned char *) "space", (const unsigned char *) "", token->type == OP_NOTSPACE, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; break; case OP_ALT: case END_OF_RE: return NULL; case BACK_SLASH: *err = REG_EESCAPE; return NULL; default: /* Must not happen? */ #ifdef DEBUG assert (0); #endif return NULL; } fetch_token (token, regexp, syntax); while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS || token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM) { tree = parse_dup_op (tree, regexp, dfa, token, syntax, err); if (BE (*err != REG_NOERROR && tree == NULL, 0)) return NULL; /* In BRE consecutive duplications are not allowed. */ if ((syntax & RE_CONTEXT_INVALID_DUP) && (token->type == OP_DUP_ASTERISK || token->type == OP_OPEN_DUP_NUM)) { *err = REG_BADRPT; return NULL; } } return tree; } /* This function build the following tree, from regular expression (): SUBEXP | */ static bin_tree_t * parse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t *token, reg_syntax_t syntax, Idx nest, reg_errcode_t *err) { re_dfa_t *dfa = (re_dfa_t *) preg->buffer; bin_tree_t *tree; size_t cur_nsub; cur_nsub = preg->re_nsub++; fetch_token (token, regexp, syntax | RE_CARET_ANCHORS_HERE); /* The subexpression may be a null string. */ if (token->type == OP_CLOSE_SUBEXP) tree = NULL; else { tree = parse_reg_exp (regexp, preg, token, syntax, nest, err); if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0)) *err = REG_EPAREN; if (BE (*err != REG_NOERROR, 0)) return NULL; } if (cur_nsub <= '9' - '1') dfa->completed_bkref_map |= 1 << cur_nsub; tree = create_tree (dfa, tree, NULL, SUBEXP); if (BE (tree == NULL, 0)) { *err = REG_ESPACE; return NULL; } tree->token.opr.idx = cur_nsub; return tree; } /* This function parse repetition operators like "*", "+", "{1,3}" etc. */ static bin_tree_t * parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err) { bin_tree_t *tree = NULL, *old_tree = NULL; Idx i, start, end, start_idx = re_string_cur_idx (regexp); re_token_t start_token = *token; if (token->type == OP_OPEN_DUP_NUM) { end = 0; start = fetch_number (regexp, token, syntax); if (start == REG_MISSING) { if (token->type == CHARACTER && token->opr.c == ',') start = 0; /* We treat "{,m}" as "{0,m}". */ else { *err = REG_BADBR; /* {} is invalid. */ return NULL; } } if (BE (start != REG_ERROR, 1)) { /* We treat "{n}" as "{n,n}". */ end = ((token->type == OP_CLOSE_DUP_NUM) ? start : ((token->type == CHARACTER && token->opr.c == ',') ? fetch_number (regexp, token, syntax) : REG_ERROR)); } if (BE (start == REG_ERROR || end == REG_ERROR, 0)) { /* Invalid sequence. */ if (BE (!(syntax & RE_INVALID_INTERVAL_ORD), 0)) { if (token->type == END_OF_RE) *err = REG_EBRACE; else *err = REG_BADBR; return NULL; } /* If the syntax bit is set, rollback. */ re_string_set_index (regexp, start_idx); *token = start_token; token->type = CHARACTER; /* mb_partial and word_char bits should be already initialized by peek_token. */ return elem; } if (BE (end != REG_MISSING && start > end, 0)) { /* First number greater than second. */ *err = REG_BADBR; return NULL; } } else { start = (token->type == OP_DUP_PLUS) ? 1 : 0; end = (token->type == OP_DUP_QUESTION) ? 1 : REG_MISSING; } fetch_token (token, regexp, syntax); if (BE (elem == NULL, 0)) return NULL; if (BE (start == 0 && end == 0, 0)) { postorder (elem, free_tree, NULL); return NULL; } /* Extract "{n,m}" to "...{0,}". */ if (BE (start > 0, 0)) { tree = elem; for (i = 2; i <= start; ++i) { elem = duplicate_tree (elem, dfa); tree = create_tree (dfa, tree, elem, CONCAT); if (BE (elem == NULL || tree == NULL, 0)) goto parse_dup_op_espace; } if (start == end) return tree; /* Duplicate ELEM before it is marked optional. */ elem = duplicate_tree (elem, dfa); old_tree = tree; } else old_tree = NULL; if (elem->token.type == SUBEXP) postorder (elem, mark_opt_subexp, (void *) (long) elem->token.opr.idx); tree = create_tree (dfa, elem, NULL, (end == REG_MISSING ? OP_DUP_ASTERISK : OP_ALT)); if (BE (tree == NULL, 0)) goto parse_dup_op_espace; /* This loop is actually executed only when end != REG_MISSING, to rewrite {0,n} as ((...?)?)?... We have already created the start+1-th copy. */ if ((Idx) -1 < 0 || end != REG_MISSING) for (i = start + 2; i <= end; ++i) { elem = duplicate_tree (elem, dfa); tree = create_tree (dfa, tree, elem, CONCAT); if (BE (elem == NULL || tree == NULL, 0)) goto parse_dup_op_espace; tree = create_tree (dfa, tree, NULL, OP_ALT); if (BE (tree == NULL, 0)) goto parse_dup_op_espace; } if (old_tree) tree = create_tree (dfa, old_tree, tree, CONCAT); return tree; parse_dup_op_espace: *err = REG_ESPACE; return NULL; } /* Size of the names for collating symbol/equivalence_class/character_class. I'm not sure, but maybe enough. */ #define BRACKET_NAME_BUF_SIZE 32 #ifndef _LIBC /* Local function for parse_bracket_exp only used in case of NOT _LIBC. Build the range expression which starts from START_ELEM, and ends at END_ELEM. The result are written to MBCSET and SBCSET. RANGE_ALLOC is the allocated size of mbcset->range_starts, and mbcset->range_ends, is a pointer argument sinse we may update it. */ static reg_errcode_t internal_function # ifdef RE_ENABLE_I18N build_range_exp (bitset_t sbcset, re_charset_t *mbcset, Idx *range_alloc, bracket_elem_t *start_elem, bracket_elem_t *end_elem) # else /* not RE_ENABLE_I18N */ build_range_exp (bitset_t sbcset, bracket_elem_t *start_elem, bracket_elem_t *end_elem) # endif /* not RE_ENABLE_I18N */ { unsigned int start_ch, end_ch; /* Equivalence Classes and Character Classes can't be a range start/end. */ if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS, 0)) return REG_ERANGE; /* We can handle no multi character collating elements without libc support. */ if (BE ((start_elem->type == COLL_SYM && strlen ((char *) start_elem->opr.name) > 1) || (end_elem->type == COLL_SYM && strlen ((char *) end_elem->opr.name) > 1), 0)) return REG_ECOLLATE; # ifdef RE_ENABLE_I18N { wchar_t wc; wint_t start_wc; wint_t end_wc; wchar_t cmp_buf[6] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'}; start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] : 0)); end_ch = ((end_elem->type == SB_CHAR) ? end_elem->opr.ch : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] : 0)); start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM) ? __btowc (start_ch) : start_elem->opr.wch); end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM) ? __btowc (end_ch) : end_elem->opr.wch); if (start_wc == WEOF || end_wc == WEOF) return REG_ECOLLATE; cmp_buf[0] = start_wc; cmp_buf[4] = end_wc; if (wcscoll (cmp_buf, cmp_buf + 4) > 0) return REG_ERANGE; /* Got valid collation sequence values, add them as a new entry. However, for !_LIBC we have no collation elements: if the character set is single byte, the single byte character set that we build below suffices. parse_bracket_exp passes no MBCSET if dfa->mb_cur_max == 1. */ if (mbcset) { /* Check the space of the arrays. */ if (BE (*range_alloc == mbcset->nranges, 0)) { /* There is not enough space, need realloc. */ wchar_t *new_array_start, *new_array_end; Idx new_nranges; /* +1 in case of mbcset->nranges is 0. */ new_nranges = 2 * mbcset->nranges + 1; /* Use realloc since mbcset->range_starts and mbcset->range_ends are NULL if *range_alloc == 0. */ new_array_start = re_realloc (mbcset->range_starts, wchar_t, new_nranges); new_array_end = re_realloc (mbcset->range_ends, wchar_t, new_nranges); if (BE (new_array_start == NULL || new_array_end == NULL, 0)) return REG_ESPACE; mbcset->range_starts = new_array_start; mbcset->range_ends = new_array_end; *range_alloc = new_nranges; } mbcset->range_starts[mbcset->nranges] = start_wc; mbcset->range_ends[mbcset->nranges++] = end_wc; } /* Build the table for single byte characters. */ for (wc = 0; wc < SBC_MAX; ++wc) { cmp_buf[2] = wc; if (wcscoll (cmp_buf, cmp_buf + 2) <= 0 && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0) bitset_set (sbcset, wc); } } # else /* not RE_ENABLE_I18N */ { unsigned int ch; start_ch = ((start_elem->type == SB_CHAR ) ? start_elem->opr.ch : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] : 0)); end_ch = ((end_elem->type == SB_CHAR ) ? end_elem->opr.ch : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] : 0)); if (start_ch > end_ch) return REG_ERANGE; /* Build the table for single byte characters. */ for (ch = 0; ch < SBC_MAX; ++ch) if (start_ch <= ch && ch <= end_ch) bitset_set (sbcset, ch); } # endif /* not RE_ENABLE_I18N */ return REG_NOERROR; } #endif /* not _LIBC */ #ifndef _LIBC /* Helper function for parse_bracket_exp only used in case of NOT _LIBC.. Build the collating element which is represented by NAME. The result are written to MBCSET and SBCSET. COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a pointer argument since we may update it. */ static reg_errcode_t internal_function build_collating_symbol (bitset_t sbcset, # ifdef RE_ENABLE_I18N re_charset_t *mbcset, Idx *coll_sym_alloc, # endif const unsigned char *name) { size_t name_len = strlen ((const char *) name); if (BE (name_len != 1, 0)) return REG_ECOLLATE; else { bitset_set (sbcset, name[0]); return REG_NOERROR; } } #endif /* not _LIBC */ /* This function parse bracket expression like "[abc]", "[a-c]", "[[.a-a.]]" etc. */ static bin_tree_t * parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, reg_syntax_t syntax, reg_errcode_t *err) { #ifdef _LIBC const unsigned char *collseqmb; const char *collseqwc; uint32_t nrules; int32_t table_size; const int32_t *symb_table; const unsigned char *extra; /* Local function for parse_bracket_exp used in _LIBC environement. Seek the collating symbol entry correspondings to NAME. Return the index of the symbol in the SYMB_TABLE. */ auto inline int32_t __attribute ((always_inline)) seek_collating_symbol_entry (name, name_len) const unsigned char *name; size_t name_len; { int32_t hash = elem_hash ((const char *) name, name_len); int32_t elem = hash % table_size; if (symb_table[2 * elem] != 0) { int32_t second = hash % (table_size - 2) + 1; do { /* First compare the hashing value. */ if (symb_table[2 * elem] == hash /* Compare the length of the name. */ && name_len == extra[symb_table[2 * elem + 1]] /* Compare the name. */ && memcmp (name, &extra[symb_table[2 * elem + 1] + 1], name_len) == 0) { /* Yep, this is the entry. */ break; } /* Next entry. */ elem += second; } while (symb_table[2 * elem] != 0); } return elem; } /* Local function for parse_bracket_exp used in _LIBC environement. Look up the collation sequence value of BR_ELEM. Return the value if succeeded, UINT_MAX otherwise. */ auto inline unsigned int __attribute ((always_inline)) lookup_collation_sequence_value (br_elem) bracket_elem_t *br_elem; { if (br_elem->type == SB_CHAR) { /* if (MB_CUR_MAX == 1) */ if (nrules == 0) return collseqmb[br_elem->opr.ch]; else { wint_t wc = __btowc (br_elem->opr.ch); return __collseq_table_lookup (collseqwc, wc); } } else if (br_elem->type == MB_CHAR) { return __collseq_table_lookup (collseqwc, br_elem->opr.wch); } else if (br_elem->type == COLL_SYM) { size_t sym_name_len = strlen ((char *) br_elem->opr.name); if (nrules != 0) { int32_t elem, idx; elem = seek_collating_symbol_entry (br_elem->opr.name, sym_name_len); if (symb_table[2 * elem] != 0) { /* We found the entry. */ idx = symb_table[2 * elem + 1]; /* Skip the name of collating element name. */ idx += 1 + extra[idx]; /* Skip the byte sequence of the collating element. */ idx += 1 + extra[idx]; /* Adjust for the alignment. */ idx = (idx + 3) & ~3; /* Skip the multibyte collation sequence value. */ idx += sizeof (unsigned int); /* Skip the wide char sequence of the collating element. */ idx += sizeof (unsigned int) * (1 + *(unsigned int *) (extra + idx)); /* Return the collation sequence value. */ return *(unsigned int *) (extra + idx); } else if (symb_table[2 * elem] == 0 && sym_name_len == 1) { /* No valid character. Match it as a single byte character. */ return collseqmb[br_elem->opr.name[0]]; } } else if (sym_name_len == 1) return collseqmb[br_elem->opr.name[0]]; } return UINT_MAX; } /* Local function for parse_bracket_exp used in _LIBC environement. Build the range expression which starts from START_ELEM, and ends at END_ELEM. The result are written to MBCSET and SBCSET. RANGE_ALLOC is the allocated size of mbcset->range_starts, and mbcset->range_ends, is a pointer argument sinse we may update it. */ auto inline reg_errcode_t __attribute ((always_inline)) build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem) re_charset_t *mbcset; Idx *range_alloc; bitset_t sbcset; bracket_elem_t *start_elem, *end_elem; { unsigned int ch; uint32_t start_collseq; uint32_t end_collseq; /* Equivalence Classes and Character Classes can't be a range start/end. */ if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS || end_elem->type == EQUIV_CLASS || end_elem->type == CHAR_CLASS, 0)) return REG_ERANGE; start_collseq = lookup_collation_sequence_value (start_elem); end_collseq = lookup_collation_sequence_value (end_elem); /* Check start/end collation sequence values. */ if (BE (start_collseq == UINT_MAX || end_collseq == UINT_MAX, 0)) return REG_ECOLLATE; if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_collseq > end_collseq, 0)) return REG_ERANGE; /* Got valid collation sequence values, add them as a new entry. However, if we have no collation elements, and the character set is single byte, the single byte character set that we build below suffices. */ if (nrules > 0 || dfa->mb_cur_max > 1) { /* Check the space of the arrays. */ if (BE (*range_alloc == mbcset->nranges, 0)) { /* There is not enough space, need realloc. */ uint32_t *new_array_start; uint32_t *new_array_end; Idx new_nranges; /* +1 in case of mbcset->nranges is 0. */ new_nranges = 2 * mbcset->nranges + 1; new_array_start = re_realloc (mbcset->range_starts, uint32_t, new_nranges); new_array_end = re_realloc (mbcset->range_ends, uint32_t, new_nranges); if (BE (new_array_start == NULL || new_array_end == NULL, 0)) return REG_ESPACE; mbcset->range_starts = new_array_start; mbcset->range_ends = new_array_end; *range_alloc = new_nranges; } mbcset->range_starts[mbcset->nranges] = start_collseq; mbcset->range_ends[mbcset->nranges++] = end_collseq; } /* Build the table for single byte characters. */ for (ch = 0; ch < SBC_MAX; ch++) { uint32_t ch_collseq; /* if (MB_CUR_MAX == 1) */ if (nrules == 0) ch_collseq = collseqmb[ch]; else ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch)); if (start_collseq <= ch_collseq && ch_collseq <= end_collseq) bitset_set (sbcset, ch); } return REG_NOERROR; } /* Local function for parse_bracket_exp used in _LIBC environement. Build the collating element which is represented by NAME. The result are written to MBCSET and SBCSET. COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a pointer argument sinse we may update it. */ auto inline reg_errcode_t __attribute ((always_inline)) build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name) re_charset_t *mbcset; Idx *coll_sym_alloc; bitset_t sbcset; const unsigned char *name; { int32_t elem, idx; size_t name_len = strlen ((const char *) name); if (nrules != 0) { elem = seek_collating_symbol_entry (name, name_len); if (symb_table[2 * elem] != 0) { /* We found the entry. */ idx = symb_table[2 * elem + 1]; /* Skip the name of collating element name. */ idx += 1 + extra[idx]; } else if (symb_table[2 * elem] == 0 && name_len == 1) { /* No valid character, treat it as a normal character. */ bitset_set (sbcset, name[0]); return REG_NOERROR; } else return REG_ECOLLATE; /* Got valid collation sequence, add it as a new entry. */ /* Check the space of the arrays. */ if (BE (*coll_sym_alloc == mbcset->ncoll_syms, 0)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->ncoll_syms is 0. */ Idx new_coll_sym_alloc = 2 * mbcset->ncoll_syms + 1; /* Use realloc since mbcset->coll_syms is NULL if *alloc == 0. */ int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t, new_coll_sym_alloc); if (BE (new_coll_syms == NULL, 0)) return REG_ESPACE; mbcset->coll_syms = new_coll_syms; *coll_sym_alloc = new_coll_sym_alloc; } mbcset->coll_syms[mbcset->ncoll_syms++] = idx; return REG_NOERROR; } else { if (BE (name_len != 1, 0)) return REG_ECOLLATE; else { bitset_set (sbcset, name[0]); return REG_NOERROR; } } } #endif re_token_t br_token; re_bitset_ptr_t sbcset; #ifdef RE_ENABLE_I18N re_charset_t *mbcset; Idx coll_sym_alloc = 0, range_alloc = 0, mbchar_alloc = 0; Idx equiv_class_alloc = 0, char_class_alloc = 0; #endif /* not RE_ENABLE_I18N */ bool non_match = false; bin_tree_t *work_tree; int token_len; bool first_round = true; #ifdef _LIBC collseqmb = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB); nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules) { /* if (MB_CUR_MAX > 1) */ collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC); table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB); symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); } #endif sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); #ifdef RE_ENABLE_I18N mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); #endif /* RE_ENABLE_I18N */ #ifdef RE_ENABLE_I18N if (BE (sbcset == NULL || mbcset == NULL, 0)) #else if (BE (sbcset == NULL, 0)) #endif /* RE_ENABLE_I18N */ { *err = REG_ESPACE; return NULL; } token_len = peek_token_bracket (token, regexp, syntax); if (BE (token->type == END_OF_RE, 0)) { *err = REG_BADPAT; goto parse_bracket_exp_free_return; } if (token->type == OP_NON_MATCH_LIST) { #ifdef RE_ENABLE_I18N mbcset->non_match = 1; #endif /* not RE_ENABLE_I18N */ non_match = true; if (syntax & RE_HAT_LISTS_NOT_NEWLINE) bitset_set (sbcset, '\n'); re_string_skip_bytes (regexp, token_len); /* Skip a token. */ token_len = peek_token_bracket (token, regexp, syntax); if (BE (token->type == END_OF_RE, 0)) { *err = REG_BADPAT; goto parse_bracket_exp_free_return; } } /* We treat the first ']' as a normal character. */ if (token->type == OP_CLOSE_BRACKET) token->type = CHARACTER; while (1) { bracket_elem_t start_elem, end_elem; unsigned char start_name_buf[BRACKET_NAME_BUF_SIZE]; unsigned char end_name_buf[BRACKET_NAME_BUF_SIZE]; reg_errcode_t ret; int token_len2 = 0; bool is_range_exp = false; re_token_t token2; start_elem.opr.name = start_name_buf; ret = parse_bracket_element (&start_elem, regexp, token, token_len, dfa, syntax, first_round); if (BE (ret != REG_NOERROR, 0)) { *err = ret; goto parse_bracket_exp_free_return; } first_round = false; /* Get information about the next token. We need it in any case. */ token_len = peek_token_bracket (token, regexp, syntax); /* Do not check for ranges if we know they are not allowed. */ if (start_elem.type != CHAR_CLASS && start_elem.type != EQUIV_CLASS) { if (BE (token->type == END_OF_RE, 0)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; } if (token->type == OP_CHARSET_RANGE) { re_string_skip_bytes (regexp, token_len); /* Skip '-'. */ token_len2 = peek_token_bracket (&token2, regexp, syntax); if (BE (token2.type == END_OF_RE, 0)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; } if (token2.type == OP_CLOSE_BRACKET) { /* We treat the last '-' as a normal character. */ re_string_skip_bytes (regexp, -token_len); token->type = CHARACTER; } else is_range_exp = true; } } if (is_range_exp == true) { end_elem.opr.name = end_name_buf; ret = parse_bracket_element (&end_elem, regexp, &token2, token_len2, dfa, syntax, true); if (BE (ret != REG_NOERROR, 0)) { *err = ret; goto parse_bracket_exp_free_return; } token_len = peek_token_bracket (token, regexp, syntax); #ifdef _LIBC *err = build_range_exp (sbcset, mbcset, &range_alloc, &start_elem, &end_elem); #else # ifdef RE_ENABLE_I18N *err = build_range_exp (sbcset, dfa->mb_cur_max > 1 ? mbcset : NULL, &range_alloc, &start_elem, &end_elem); # else *err = build_range_exp (sbcset, &start_elem, &end_elem); # endif #endif /* RE_ENABLE_I18N */ if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; } else { switch (start_elem.type) { case SB_CHAR: bitset_set (sbcset, start_elem.opr.ch); break; #ifdef RE_ENABLE_I18N case MB_CHAR: /* Check whether the array has enough space. */ if (BE (mbchar_alloc == mbcset->nmbchars, 0)) { wchar_t *new_mbchars; /* Not enough, realloc it. */ /* +1 in case of mbcset->nmbchars is 0. */ mbchar_alloc = 2 * mbcset->nmbchars + 1; /* Use realloc since array is NULL if *alloc == 0. */ new_mbchars = re_realloc (mbcset->mbchars, wchar_t, mbchar_alloc); if (BE (new_mbchars == NULL, 0)) goto parse_bracket_exp_espace; mbcset->mbchars = new_mbchars; } mbcset->mbchars[mbcset->nmbchars++] = start_elem.opr.wch; break; #endif /* RE_ENABLE_I18N */ case EQUIV_CLASS: *err = build_equiv_class (sbcset, #ifdef RE_ENABLE_I18N mbcset, &equiv_class_alloc, #endif /* RE_ENABLE_I18N */ start_elem.opr.name); if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; break; case COLL_SYM: *err = build_collating_symbol (sbcset, #ifdef RE_ENABLE_I18N mbcset, &coll_sym_alloc, #endif /* RE_ENABLE_I18N */ start_elem.opr.name); if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; break; case CHAR_CLASS: *err = build_charclass (regexp->trans, sbcset, #ifdef RE_ENABLE_I18N mbcset, &char_class_alloc, #endif /* RE_ENABLE_I18N */ start_elem.opr.name, syntax); if (BE (*err != REG_NOERROR, 0)) goto parse_bracket_exp_free_return; break; default: assert (0); break; } } if (BE (token->type == END_OF_RE, 0)) { *err = REG_EBRACK; goto parse_bracket_exp_free_return; } if (token->type == OP_CLOSE_BRACKET) break; } re_string_skip_bytes (regexp, token_len); /* Skip a token. */ /* If it is non-matching list. */ if (non_match) bitset_not (sbcset); #ifdef RE_ENABLE_I18N /* Ensure only single byte characters are set. */ if (dfa->mb_cur_max > 1) bitset_mask (sbcset, dfa->sb_char); if (mbcset->nmbchars || mbcset->ncoll_syms || mbcset->nequiv_classes || mbcset->nranges || (dfa->mb_cur_max > 1 && (mbcset->nchar_classes || mbcset->non_match))) { bin_tree_t *mbc_tree; int sbc_idx; /* Build a tree for complex bracket. */ dfa->has_mb_node = 1; br_token.type = COMPLEX_BRACKET; br_token.opr.mbcset = mbcset; mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (mbc_tree == NULL, 0)) goto parse_bracket_exp_espace; for (sbc_idx = 0; sbc_idx < BITSET_WORDS; ++sbc_idx) if (sbcset[sbc_idx]) break; /* If there are no bits set in sbcset, there is no point of having both SIMPLE_BRACKET and COMPLEX_BRACKET. */ if (sbc_idx < BITSET_WORDS) { /* Build a tree for simple bracket. */ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; work_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (work_tree == NULL, 0)) goto parse_bracket_exp_espace; /* Then join them by ALT node. */ work_tree = create_tree (dfa, work_tree, mbc_tree, OP_ALT); if (BE (work_tree == NULL, 0)) goto parse_bracket_exp_espace; } else { re_free (sbcset); work_tree = mbc_tree; } } else #endif /* not RE_ENABLE_I18N */ { #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* Build a tree for simple bracket. */ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; work_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (work_tree == NULL, 0)) goto parse_bracket_exp_espace; } return work_tree; parse_bracket_exp_espace: *err = REG_ESPACE; parse_bracket_exp_free_return: re_free (sbcset); #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* RE_ENABLE_I18N */ return NULL; } /* Parse an element in the bracket expression. */ static reg_errcode_t parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token, int token_len, re_dfa_t *dfa, reg_syntax_t syntax, bool accept_hyphen) { #ifdef RE_ENABLE_I18N int cur_char_size; cur_char_size = re_string_char_size_at (regexp, re_string_cur_idx (regexp)); if (cur_char_size > 1) { elem->type = MB_CHAR; elem->opr.wch = re_string_wchar_at (regexp, re_string_cur_idx (regexp)); re_string_skip_bytes (regexp, cur_char_size); return REG_NOERROR; } #endif /* RE_ENABLE_I18N */ re_string_skip_bytes (regexp, token_len); /* Skip a token. */ if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS || token->type == OP_OPEN_EQUIV_CLASS) return parse_bracket_symbol (elem, regexp, token); if (BE (token->type == OP_CHARSET_RANGE, 0) && !accept_hyphen) { /* A '-' must only appear as anything but a range indicator before the closing bracket. Everything else is an error. */ re_token_t token2; (void) peek_token_bracket (&token2, regexp, syntax); if (token2.type != OP_CLOSE_BRACKET) /* The actual error value is not standardized since this whole case is undefined. But ERANGE makes good sense. */ return REG_ERANGE; } elem->type = SB_CHAR; elem->opr.ch = token->opr.c; return REG_NOERROR; } /* Parse a bracket symbol in the bracket expression. Bracket symbols are such as [::], [..], and [==]. */ static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp, re_token_t *token) { unsigned char ch, delim = token->opr.c; int i = 0; if (re_string_eoi(regexp)) return REG_EBRACK; for (;; ++i) { if (i >= BRACKET_NAME_BUF_SIZE) return REG_EBRACK; if (token->type == OP_OPEN_CHAR_CLASS) ch = re_string_fetch_byte_case (regexp); else ch = re_string_fetch_byte (regexp); if (re_string_eoi(regexp)) return REG_EBRACK; if (ch == delim && re_string_peek_byte (regexp, 0) == ']') break; elem->opr.name[i] = ch; } re_string_skip_bytes (regexp, 1); elem->opr.name[i] = '\0'; switch (token->type) { case OP_OPEN_COLL_ELEM: elem->type = COLL_SYM; break; case OP_OPEN_EQUIV_CLASS: elem->type = EQUIV_CLASS; break; case OP_OPEN_CHAR_CLASS: elem->type = CHAR_CLASS; break; default: break; } return REG_NOERROR; } /* Helper function for parse_bracket_exp. Build the equivalence class which is represented by NAME. The result are written to MBCSET and SBCSET. EQUIV_CLASS_ALLOC is the allocated size of mbcset->equiv_classes, is a pointer argument sinse we may update it. */ static reg_errcode_t #ifdef RE_ENABLE_I18N build_equiv_class (bitset_t sbcset, re_charset_t *mbcset, Idx *equiv_class_alloc, const unsigned char *name) #else /* not RE_ENABLE_I18N */ build_equiv_class (bitset_t sbcset, const unsigned char *name) #endif /* not RE_ENABLE_I18N */ { #ifdef _LIBC uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) { const int32_t *table, *indirect; const unsigned char *weights, *extra, *cp; unsigned char char_buf[2]; int32_t idx1, idx2; unsigned int ch; size_t len; /* This #include defines a local function! */ # include /* Calculate the index for equivalence class. */ cp = name; table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); weights = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); idx1 = findidx (&cp); if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0)) /* This isn't a valid character. */ return REG_ECOLLATE; /* Build single byte matcing table for this equivalence class. */ char_buf[1] = (unsigned char) '\0'; len = weights[idx1]; for (ch = 0; ch < SBC_MAX; ++ch) { char_buf[0] = ch; cp = char_buf; idx2 = findidx (&cp); /* idx2 = table[ch]; */ if (idx2 == 0) /* This isn't a valid character. */ continue; if (len == weights[idx2]) { int cnt = 0; while (cnt <= len && weights[idx1 + 1 + cnt] == weights[idx2 + 1 + cnt]) ++cnt; if (cnt > len) bitset_set (sbcset, ch); } } /* Check whether the array has enough space. */ if (BE (*equiv_class_alloc == mbcset->nequiv_classes, 0)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->nequiv_classes is 0. */ Idx new_equiv_class_alloc = 2 * mbcset->nequiv_classes + 1; /* Use realloc since the array is NULL if *alloc == 0. */ int32_t *new_equiv_classes = re_realloc (mbcset->equiv_classes, int32_t, new_equiv_class_alloc); if (BE (new_equiv_classes == NULL, 0)) return REG_ESPACE; mbcset->equiv_classes = new_equiv_classes; *equiv_class_alloc = new_equiv_class_alloc; } mbcset->equiv_classes[mbcset->nequiv_classes++] = idx1; } else #endif /* _LIBC */ { if (BE (strlen ((const char *) name) != 1, 0)) return REG_ECOLLATE; bitset_set (sbcset, *name); } return REG_NOERROR; } /* Helper function for parse_bracket_exp. Build the character class which is represented by NAME. The result are written to MBCSET and SBCSET. CHAR_CLASS_ALLOC is the allocated size of mbcset->char_classes, is a pointer argument sinse we may update it. */ static reg_errcode_t #ifdef RE_ENABLE_I18N build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, re_charset_t *mbcset, Idx *char_class_alloc, const unsigned char *class_name, reg_syntax_t syntax) #else /* not RE_ENABLE_I18N */ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, const unsigned char *class_name, reg_syntax_t syntax) #endif /* not RE_ENABLE_I18N */ { int i; const char *name = (const char *) class_name; /* In case of REG_ICASE "upper" and "lower" match the both of upper and lower cases. */ if ((syntax & RE_ICASE) && (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0)) name = "alpha"; #ifdef RE_ENABLE_I18N /* Check the space of the arrays. */ if (BE (*char_class_alloc == mbcset->nchar_classes, 0)) { /* Not enough, realloc it. */ /* +1 in case of mbcset->nchar_classes is 0. */ Idx new_char_class_alloc = 2 * mbcset->nchar_classes + 1; /* Use realloc since array is NULL if *alloc == 0. */ wctype_t *new_char_classes = re_realloc (mbcset->char_classes, wctype_t, new_char_class_alloc); if (BE (new_char_classes == NULL, 0)) return REG_ESPACE; mbcset->char_classes = new_char_classes; *char_class_alloc = new_char_class_alloc; } mbcset->char_classes[mbcset->nchar_classes++] = __wctype (name); #endif /* RE_ENABLE_I18N */ #define BUILD_CHARCLASS_LOOP(ctype_func) \ do { \ if (BE (trans != NULL, 0)) \ { \ for (i = 0; i < SBC_MAX; ++i) \ if (ctype_func (i)) \ bitset_set (sbcset, trans[i]); \ } \ else \ { \ for (i = 0; i < SBC_MAX; ++i) \ if (ctype_func (i)) \ bitset_set (sbcset, i); \ } \ } while (0) if (strcmp (name, "alnum") == 0) BUILD_CHARCLASS_LOOP (isalnum); else if (strcmp (name, "cntrl") == 0) BUILD_CHARCLASS_LOOP (iscntrl); else if (strcmp (name, "lower") == 0) BUILD_CHARCLASS_LOOP (islower); else if (strcmp (name, "space") == 0) BUILD_CHARCLASS_LOOP (isspace); else if (strcmp (name, "alpha") == 0) BUILD_CHARCLASS_LOOP (isalpha); else if (strcmp (name, "digit") == 0) BUILD_CHARCLASS_LOOP (isdigit); else if (strcmp (name, "print") == 0) BUILD_CHARCLASS_LOOP (isprint); else if (strcmp (name, "upper") == 0) BUILD_CHARCLASS_LOOP (isupper); else if (strcmp (name, "blank") == 0) BUILD_CHARCLASS_LOOP (isblank); else if (strcmp (name, "graph") == 0) BUILD_CHARCLASS_LOOP (isgraph); else if (strcmp (name, "punct") == 0) BUILD_CHARCLASS_LOOP (ispunct); else if (strcmp (name, "xdigit") == 0) BUILD_CHARCLASS_LOOP (isxdigit); else return REG_ECTYPE; return REG_NOERROR; } static bin_tree_t * build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, const unsigned char *class_name, const unsigned char *extra, bool non_match, reg_errcode_t *err) { re_bitset_ptr_t sbcset; #ifdef RE_ENABLE_I18N re_charset_t *mbcset; Idx alloc = 0; #endif /* not RE_ENABLE_I18N */ reg_errcode_t ret; re_token_t br_token; bin_tree_t *tree; sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); #ifdef RE_ENABLE_I18N mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); #endif /* RE_ENABLE_I18N */ #ifdef RE_ENABLE_I18N if (BE (sbcset == NULL || mbcset == NULL, 0)) #else /* not RE_ENABLE_I18N */ if (BE (sbcset == NULL, 0)) #endif /* not RE_ENABLE_I18N */ { *err = REG_ESPACE; return NULL; } if (non_match) { #ifdef RE_ENABLE_I18N mbcset->non_match = 1; #endif /* not RE_ENABLE_I18N */ } /* We don't care the syntax in this case. */ ret = build_charclass (trans, sbcset, #ifdef RE_ENABLE_I18N mbcset, &alloc, #endif /* RE_ENABLE_I18N */ class_name, 0); if (BE (ret != REG_NOERROR, 0)) { re_free (sbcset); #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* RE_ENABLE_I18N */ *err = ret; return NULL; } /* \w match '_' also. */ for (; *extra; extra++) bitset_set (sbcset, *extra); /* If it is non-matching list. */ if (non_match) bitset_not (sbcset); #ifdef RE_ENABLE_I18N /* Ensure only single byte characters are set. */ if (dfa->mb_cur_max > 1) bitset_mask (sbcset, dfa->sb_char); #endif /* Build a tree for simple bracket. */ br_token.type = SIMPLE_BRACKET; br_token.opr.sbcset = sbcset; tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (tree == NULL, 0)) goto build_word_op_espace; #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { bin_tree_t *mbc_tree; /* Build a tree for complex bracket. */ br_token.type = COMPLEX_BRACKET; br_token.opr.mbcset = mbcset; dfa->has_mb_node = 1; mbc_tree = create_token_tree (dfa, NULL, NULL, &br_token); if (BE (mbc_tree == NULL, 0)) goto build_word_op_espace; /* Then join them by ALT node. */ tree = create_tree (dfa, tree, mbc_tree, OP_ALT); if (BE (mbc_tree != NULL, 1)) return tree; } else { free_charset (mbcset); return tree; } #else /* not RE_ENABLE_I18N */ return tree; #endif /* not RE_ENABLE_I18N */ build_word_op_espace: re_free (sbcset); #ifdef RE_ENABLE_I18N free_charset (mbcset); #endif /* RE_ENABLE_I18N */ *err = REG_ESPACE; return NULL; } /* This is intended for the expressions like "a{1,3}". Fetch a number from `input', and return the number. Return REG_MISSING if the number field is empty like "{,1}". Return REG_ERROR if an error occurred. */ static Idx fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax) { Idx num = REG_MISSING; unsigned char c; while (1) { fetch_token (token, input, syntax); c = token->opr.c; if (BE (token->type == END_OF_RE, 0)) return REG_ERROR; if (token->type == OP_CLOSE_DUP_NUM || c == ',') break; num = ((token->type != CHARACTER || c < '0' || '9' < c || num == REG_ERROR) ? REG_ERROR : ((num == REG_MISSING) ? c - '0' : num * 10 + c - '0')); num = (num > RE_DUP_MAX) ? REG_ERROR : num; } return num; } #ifdef RE_ENABLE_I18N static void free_charset (re_charset_t *cset) { re_free (cset->mbchars); # ifdef _LIBC re_free (cset->coll_syms); re_free (cset->equiv_classes); re_free (cset->range_starts); re_free (cset->range_ends); # endif re_free (cset->char_classes); re_free (cset); } #endif /* RE_ENABLE_I18N */ /* Functions for binary tree operation. */ /* Create a tree node. */ static bin_tree_t * create_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, re_token_type_t type) { re_token_t t; t.type = type; return create_token_tree (dfa, left, right, &t); } static bin_tree_t * create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, const re_token_t *token) { bin_tree_t *tree; if (BE (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE, 0)) { bin_tree_storage_t *storage = re_malloc (bin_tree_storage_t, 1); if (storage == NULL) return NULL; storage->next = dfa->str_tree_storage; dfa->str_tree_storage = storage; dfa->str_tree_storage_idx = 0; } tree = &dfa->str_tree_storage->data[dfa->str_tree_storage_idx++]; tree->parent = NULL; tree->left = left; tree->right = right; tree->token = *token; tree->token.duplicated = 0; tree->token.opt_subexp = 0; tree->first = NULL; tree->next = NULL; tree->node_idx = REG_MISSING; if (left != NULL) left->parent = tree; if (right != NULL) right->parent = tree; return tree; } /* Mark the tree SRC as an optional subexpression. To be called from preorder or postorder. */ static reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node) { Idx idx = (Idx) (long) extra; if (node->token.type == SUBEXP && node->token.opr.idx == idx) node->token.opt_subexp = 1; return REG_NOERROR; } /* Free the allocated memory inside NODE. */ static void free_token (re_token_t *node) { #ifdef RE_ENABLE_I18N if (node->type == COMPLEX_BRACKET && node->duplicated == 0) free_charset (node->opr.mbcset); else #endif /* RE_ENABLE_I18N */ if (node->type == SIMPLE_BRACKET && node->duplicated == 0) re_free (node->opr.sbcset); } /* Worker function for tree walking. Free the allocated memory inside NODE and its children. */ static reg_errcode_t free_tree (void *extra, bin_tree_t *node) { free_token (&node->token); return REG_NOERROR; } /* Duplicate the node SRC, and return new node. This is a preorder visit similar to the one implemented by the generic visitor, but we need more infrastructure to maintain two parallel trees --- so, it's easier to duplicate. */ static bin_tree_t * duplicate_tree (const bin_tree_t *root, re_dfa_t *dfa) { const bin_tree_t *node; bin_tree_t *dup_root; bin_tree_t **p_new = &dup_root, *dup_node = root->parent; for (node = root; ; ) { /* Create a new tree and link it back to the current parent. */ *p_new = create_token_tree (dfa, NULL, NULL, &node->token); if (*p_new == NULL) return NULL; (*p_new)->parent = dup_node; (*p_new)->token.duplicated = 1; dup_node = *p_new; /* Go to the left node, or up and to the right. */ if (node->left) { node = node->left; p_new = &dup_node->left; } else { const bin_tree_t *prev = NULL; while (node->right == prev || node->right == NULL) { prev = node; node = node->parent; dup_node = dup_node->parent; if (!node) return dup_root; } node = node->right; p_new = &dup_node->right; } } } dc3dd-7.1.614/lib/openat.h0000644000175000017500000000763411022023316014644 0ustar amedicoamedico/* provide a replacement openat function Copyright (C) 2004, 2005, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include #include #include #include #include #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) /* empty */ # endif #endif #ifndef ATTRIBUTE_NORETURN # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) #endif /* Work around a bug in Solaris 9 and 10: AT_FDCWD is positive. Its value exceeds INT_MAX, so its use as an int doesn't conform to the C standard, and GCC and Sun C complain in some cases. If the bug is present, undef AT_FDCWD here, so it can be redefined below. */ #if 0 < AT_FDCWD && AT_FDCWD == 0xffd19553 # undef AT_FDCWD #endif /* Use the same bit pattern as Solaris 9, but with the proper signedness. The bit pattern is important, in case this actually is Solaris with the above workaround. */ #ifndef AT_FDCWD # define AT_FDCWD (-3041965) #endif /* Use the same values as Solaris 9. This shouldn't matter, but there's no real reason to differ. */ #ifndef AT_SYMLINK_NOFOLLOW # define AT_SYMLINK_NOFOLLOW 4096 # define AT_REMOVEDIR 1 #endif #ifdef __OPENAT_PREFIX # undef openat # define __OPENAT_CONCAT(x, y) x ## y # define __OPENAT_XCONCAT(x, y) __OPENAT_CONCAT (x, y) # define __OPENAT_ID(y) __OPENAT_XCONCAT (__OPENAT_PREFIX, y) # define openat __OPENAT_ID (openat) int openat (int fd, char const *file, int flags, /* mode_t mode */ ...); int openat_permissive (int fd, char const *file, int flags, mode_t mode, int *cwd_errno); # if ! HAVE_FDOPENDIR # define fdopendir __OPENAT_ID (fdopendir) # endif DIR *fdopendir (int fd); # define fstatat __OPENAT_ID (fstatat) int fstatat (int fd, char const *file, struct stat *st, int flag); # define unlinkat __OPENAT_ID (unlinkat) int unlinkat (int fd, char const *file, int flag); bool openat_needs_fchdir (void); #else # define openat_permissive(Fd, File, Flags, Mode, Cwd_errno) \ openat (Fd, File, Flags, Mode) # define openat_needs_fchdir() false #endif #if HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK int rpl_fstatat (int fd, char const *file, struct stat *st, int flag); # if !COMPILING_FSTATAT # undef fstatat # define fstatat rpl_fstatat # endif #endif int mkdirat (int fd, char const *file, mode_t mode); void openat_restore_fail (int) ATTRIBUTE_NORETURN; void openat_save_fail (int) ATTRIBUTE_NORETURN; int fchmodat (int fd, char const *file, mode_t mode, int flag); int fchownat (int fd, char const *file, uid_t owner, gid_t group, int flag); /* Using these function names makes application code slightly more readable than it would be with fchownat (..., 0) or fchownat (..., AT_SYMLINK_NOFOLLOW). */ static inline int chownat (int fd, char const *file, uid_t owner, gid_t group) { return fchownat (fd, file, owner, group, 0); } static inline int lchownat (int fd, char const *file, uid_t owner, gid_t group) { return fchownat (fd, file, owner, group, AT_SYMLINK_NOFOLLOW); } static inline int chmodat (int fd, char const *file, mode_t mode) { return fchmodat (fd, file, mode, 0); } static inline int lchmodat (int fd, char const *file, mode_t mode) { return fchmodat (fd, file, mode, AT_SYMLINK_NOFOLLOW); } dc3dd-7.1.614/lib/fd-safer.c0000644000175000017500000000314311022023316015027 0ustar amedicoamedico/* Return a safer copy of a file descriptor. Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "unistd-safer.h" #include #include #ifndef STDIN_FILENO # define STDIN_FILENO 0 #endif #ifndef STDERR_FILENO # define STDERR_FILENO 2 #endif /* Return FD, unless FD would be a copy of standard input, output, or error; in that case, return a duplicate of FD, closing FD. On failure to duplicate, close FD, set errno, and return -1. Preserve errno if FD is negative, so that the caller can always inspect errno when the returned value is negative. This function is usefully wrapped around functions that return file descriptors, e.g., fd_safer (open ("file", O_RDONLY)). */ int fd_safer (int fd) { if (STDIN_FILENO <= fd && fd <= STDERR_FILENO) { int f = dup_safer (fd); int e = errno; close (fd); errno = e; fd = f; } return fd; } dc3dd-7.1.614/lib/openat-proc.c0000644000175000017500000000567611022023316015604 0ustar amedicoamedico/* Create /proc/self/fd-related names for subfiles of open directories. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "openat-priv.h" #include #include #include #include #include #include "dirname.h" #include "intprops.h" #include "same-inode.h" #include "xalloc.h" /* The results of open() in this file are not used with fchdir, therefore save some unnecessary work in fchdir.c. */ #undef open #undef close #define PROC_SELF_FD_FORMAT "/proc/self/fd/%d/%s" #define PROC_SELF_FD_NAME_SIZE_BOUND(len) \ (sizeof PROC_SELF_FD_FORMAT - sizeof "%d%s" \ + INT_STRLEN_BOUND (int) + (len) + 1) /* Set BUF to the expansion of PROC_SELF_FD_FORMAT, using FD and FILE respectively for %d and %s. If successful, return BUF if the result fits in BUF, dynamically allocated memory otherwise. But return NULL if /proc is not reliable. */ char * openat_proc_name (char buf[OPENAT_BUFFER_SIZE], int fd, char const *file) { static int proc_status = 0; if (! proc_status) { /* Set PROC_STATUS to a positive value if /proc/self/fd is reliable, and a negative value otherwise. Solaris 10 /proc/self/fd mishandles "..", and any file name might expand to ".." after symbolic link expansion, so avoid /proc/self/fd if it mishandles "..". Solaris 10 has openat, but this problem is exhibited on code that built on Solaris 8 and running on Solaris 10. */ int proc_self_fd = open ("/proc/self/fd", O_RDONLY); if (proc_self_fd < 0) proc_status = -1; else { struct stat proc_self_fd_dotdot_st; struct stat proc_self_st; char dotdot_buf[PROC_SELF_FD_NAME_SIZE_BOUND (sizeof ".." - 1)]; sprintf (dotdot_buf, PROC_SELF_FD_FORMAT, proc_self_fd, ".."); proc_status = ((stat (dotdot_buf, &proc_self_fd_dotdot_st) == 0 && stat ("/proc/self", &proc_self_st) == 0 && SAME_INODE (proc_self_fd_dotdot_st, proc_self_st)) ? 1 : -1); close (proc_self_fd); } } if (proc_status < 0) return NULL; else { size_t bufsize = PROC_SELF_FD_NAME_SIZE_BOUND (strlen (file)); char *result = (bufsize < OPENAT_BUFFER_SIZE ? buf : xmalloc (bufsize)); sprintf (result, PROC_SELF_FD_FORMAT, fd, file); return result; } } dc3dd-7.1.614/lib/quotearg.c0000644000175000017500000005354211064230667015216 0ustar amedicoamedico/* quotearg.c - quote arguments for output Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert */ #include #include "quotearg.h" #include "xalloc.h" #include #include #include #include #include #include #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #define N_(msgid) msgid #if !HAVE_MBRTOWC /* Disable multibyte processing entirely. Since MB_CUR_MAX is 1, the other macros are defined only for documentation and to satisfy C syntax. */ # undef MB_CUR_MAX # define MB_CUR_MAX 1 # undef mbstate_t # define mbstate_t int # define mbrtowc(pwc, s, n, ps) ((*(pwc) = *(s)) != 0) # define iswprint(wc) isprint ((unsigned char) (wc)) # undef HAVE_MBSINIT #endif #if !defined mbsinit && !HAVE_MBSINIT # define mbsinit(ps) 1 #endif #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #define INT_BITS (sizeof (int) * CHAR_BIT) struct quoting_options { /* Basic quoting style. */ enum quoting_style style; /* Additional flags. Bitwise combination of enum quoting_flags. */ int flags; /* Quote the characters indicated by this bit vector even if the quoting style would not normally require them to be quoted. */ unsigned int quote_these_too[(UCHAR_MAX / INT_BITS) + 1]; }; /* Names of quoting styles. */ char const *const quoting_style_args[] = { "literal", "shell", "shell-always", "c", "c-maybe", "escape", "locale", "clocale", 0 }; /* Correspondences to quoting style names. */ enum quoting_style const quoting_style_vals[] = { literal_quoting_style, shell_quoting_style, shell_always_quoting_style, c_quoting_style, c_maybe_quoting_style, escape_quoting_style, locale_quoting_style, clocale_quoting_style }; /* The default quoting options. */ static struct quoting_options default_quoting_options; /* Allocate a new set of quoting options, with contents initially identical to O if O is not null, or to the default if O is null. It is the caller's responsibility to free the result. */ struct quoting_options * clone_quoting_options (struct quoting_options *o) { int e = errno; struct quoting_options *p = xmemdup (o ? o : &default_quoting_options, sizeof *o); errno = e; return p; } /* Get the value of O's quoting style. If O is null, use the default. */ enum quoting_style get_quoting_style (struct quoting_options *o) { return (o ? o : &default_quoting_options)->style; } /* In O (or in the default if O is null), set the value of the quoting style to S. */ void set_quoting_style (struct quoting_options *o, enum quoting_style s) { (o ? o : &default_quoting_options)->style = s; } /* In O (or in the default if O is null), set the value of the quoting options for character C to I. Return the old value. Currently, the only values defined for I are 0 (the default) and 1 (which means to quote the character even if it would not otherwise be quoted). */ int set_char_quoting (struct quoting_options *o, char c, int i) { unsigned char uc = c; unsigned int *p = (o ? o : &default_quoting_options)->quote_these_too + uc / INT_BITS; int shift = uc % INT_BITS; int r = (*p >> shift) & 1; *p ^= ((i & 1) ^ r) << shift; return r; } /* In O (or in the default if O is null), set the value of the quoting options flag to I, which can be a bitwise combination of enum quoting_flags, or 0 for default behavior. Return the old value. */ int set_quoting_flags (struct quoting_options *o, int i) { int r; if (!o) o = &default_quoting_options; r = o->flags; o->flags = i; return r; } /* Return quoting options for STYLE, with no extra quoting. */ static struct quoting_options quoting_options_from_style (enum quoting_style style) { struct quoting_options o; o.style = style; o.flags = 0; memset (o.quote_these_too, 0, sizeof o.quote_these_too); return o; } /* MSGID approximates a quotation mark. Return its translation if it has one; otherwise, return either it or "\"", depending on S. */ static char const * gettext_quote (char const *msgid, enum quoting_style s) { char const *translation = _(msgid); if (translation == msgid && s == clocale_quoting_style) translation = "\""; return translation; } /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of argument ARG (of size ARGSIZE), using QUOTING_STYLE, FLAGS, and QUOTE_THESE_TOO to control quoting. Terminate the output with a null character, and return the written size of the output, not counting the terminating null. If BUFFERSIZE is too small to store the output string, return the value that would have been returned had BUFFERSIZE been large enough. If ARGSIZE is SIZE_MAX, use the string length of the argument for ARGSIZE. This function acts like quotearg_buffer (BUFFER, BUFFERSIZE, ARG, ARGSIZE, O), except it breaks O into its component pieces and is not careful about errno. */ static size_t quotearg_buffer_restyled (char *buffer, size_t buffersize, char const *arg, size_t argsize, enum quoting_style quoting_style, int flags, unsigned int const *quote_these_too) { size_t i; size_t len = 0; char const *quote_string = 0; size_t quote_string_len = 0; bool backslash_escapes = false; bool unibyte_locale = MB_CUR_MAX == 1; bool elide_outer_quotes = (flags & QA_ELIDE_OUTER_QUOTES) != 0; #define STORE(c) \ do \ { \ if (len < buffersize) \ buffer[len] = (c); \ len++; \ } \ while (0) switch (quoting_style) { case c_maybe_quoting_style: quoting_style = c_quoting_style; elide_outer_quotes = true; /* Fall through. */ case c_quoting_style: if (!elide_outer_quotes) STORE ('"'); backslash_escapes = true; quote_string = "\""; quote_string_len = 1; break; case escape_quoting_style: backslash_escapes = true; elide_outer_quotes = false; break; case locale_quoting_style: case clocale_quoting_style: { /* TRANSLATORS: Get translations for open and closing quotation marks. The message catalog should translate "`" to a left quotation mark suitable for the locale, and similarly for "'". If the catalog has no translation, locale_quoting_style quotes `like this', and clocale_quoting_style quotes "like this". For example, an American English Unicode locale should translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and should translate "'" to U+201D (RIGHT DOUBLE QUOTATION MARK). A British English Unicode locale should instead translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. If you don't know what to put here, please see and use glyphs suitable for your language. */ char const *left = gettext_quote (N_("`"), quoting_style); char const *right = gettext_quote (N_("'"), quoting_style); if (!elide_outer_quotes) for (quote_string = left; *quote_string; quote_string++) STORE (*quote_string); backslash_escapes = true; quote_string = right; quote_string_len = strlen (quote_string); } break; case shell_quoting_style: quoting_style = shell_always_quoting_style; elide_outer_quotes = true; /* Fall through. */ case shell_always_quoting_style: if (!elide_outer_quotes) STORE ('\''); quote_string = "'"; quote_string_len = 1; break; case literal_quoting_style: elide_outer_quotes = false; break; default: abort (); } for (i = 0; ! (argsize == SIZE_MAX ? arg[i] == '\0' : i == argsize); i++) { unsigned char c; unsigned char esc; if (backslash_escapes && quote_string_len && i + quote_string_len <= argsize && memcmp (arg + i, quote_string, quote_string_len) == 0) { if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\\'); } c = arg[i]; switch (c) { case '\0': if (backslash_escapes) { if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\\'); if (i + 1 < argsize && '0' <= arg[i + 1] && arg[i + 1] <= '9') { STORE ('0'); STORE ('0'); } c = '0'; } else if (flags & QA_ELIDE_NULL_BYTES) continue; break; case '?': switch (quoting_style) { case shell_always_quoting_style: if (elide_outer_quotes) goto force_outer_quoting_style; break; case c_quoting_style: if ((flags & QA_SPLIT_TRIGRAPHS) && i + 2 < argsize && arg[i + 1] == '?') switch (arg[i + 2]) { case '!': case '\'': case '(': case ')': case '-': case '/': case '<': case '=': case '>': /* Escape the second '?' in what would otherwise be a trigraph. */ if (elide_outer_quotes) goto force_outer_quoting_style; c = arg[i + 2]; i += 2; STORE ('?'); STORE ('"'); STORE ('"'); STORE ('?'); break; default: break; } break; default: break; } break; case '\a': esc = 'a'; goto c_escape; case '\b': esc = 'b'; goto c_escape; case '\f': esc = 'f'; goto c_escape; case '\n': esc = 'n'; goto c_and_shell_escape; case '\r': esc = 'r'; goto c_and_shell_escape; case '\t': esc = 't'; goto c_and_shell_escape; case '\v': esc = 'v'; goto c_escape; case '\\': esc = c; /* No need to escape the escape if we are trying to elide outer quotes and nothing else is problematic. */ if (backslash_escapes && elide_outer_quotes && quote_string_len) goto store_c; c_and_shell_escape: if (quoting_style == shell_always_quoting_style && elide_outer_quotes) goto force_outer_quoting_style; /* Fall through. */ c_escape: if (backslash_escapes) { c = esc; goto store_escape; } break; case '{': case '}': /* sometimes special if isolated */ if (! (argsize == SIZE_MAX ? arg[1] == '\0' : argsize == 1)) break; /* Fall through. */ case '#': case '~': if (i != 0) break; /* Fall through. */ case ' ': case '!': /* special in bash */ case '"': case '$': case '&': case '(': case ')': case '*': case ';': case '<': case '=': /* sometimes special in 0th or (with "set -k") later args */ case '>': case '[': case '^': /* special in old /bin/sh, e.g. SunOS 4.1.4 */ case '`': case '|': /* A shell special character. In theory, '$' and '`' could be the first bytes of multibyte characters, which means we should check them with mbrtowc, but in practice this doesn't happen so it's not worth worrying about. */ if (quoting_style == shell_always_quoting_style && elide_outer_quotes) goto force_outer_quoting_style; break; case '\'': if (quoting_style == shell_always_quoting_style) { if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\''); STORE ('\\'); STORE ('\''); } break; case '%': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case ']': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': /* These characters don't cause problems, no matter what the quoting style is. They cannot start multibyte sequences. */ break; default: /* If we have a multibyte sequence, copy it until we reach its end, find an error, or come back to the initial shift state. For C-like styles, if the sequence has unprintable characters, escape the whole sequence, since we can't easily escape single characters within it. */ { /* Length of multibyte sequence found so far. */ size_t m; bool printable; if (unibyte_locale) { m = 1; printable = isprint (c) != 0; } else { mbstate_t mbstate; memset (&mbstate, 0, sizeof mbstate); m = 0; printable = true; if (argsize == SIZE_MAX) argsize = strlen (arg); do { wchar_t w; size_t bytes = mbrtowc (&w, &arg[i + m], argsize - (i + m), &mbstate); if (bytes == 0) break; else if (bytes == (size_t) -1) { printable = false; break; } else if (bytes == (size_t) -2) { printable = false; while (i + m < argsize && arg[i + m]) m++; break; } else { /* Work around a bug with older shells that "see" a '\' that is really the 2nd byte of a multibyte character. In practice the problem is limited to ASCII chars >= '@' that are shell special chars. */ if ('[' == 0x5b && elide_outer_quotes && quoting_style == shell_always_quoting_style) { size_t j; for (j = 1; j < bytes; j++) switch (arg[i + m + j]) { case '[': case '\\': case '^': case '`': case '|': goto force_outer_quoting_style; default: break; } } if (! iswprint (w)) printable = false; m += bytes; } } while (! mbsinit (&mbstate)); } if (1 < m || (backslash_escapes && ! printable)) { /* Output a multibyte sequence, or an escaped unprintable unibyte character. */ size_t ilim = i + m; for (;;) { if (backslash_escapes && ! printable) { if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\\'); STORE ('0' + (c >> 6)); STORE ('0' + ((c >> 3) & 7)); c = '0' + (c & 7); } if (ilim <= i + 1) break; STORE (c); c = arg[++i]; } goto store_c; } } } if (! ((backslash_escapes || elide_outer_quotes) && quote_these_too && quote_these_too[c / INT_BITS] & (1 << (c % INT_BITS)))) goto store_c; store_escape: if (elide_outer_quotes) goto force_outer_quoting_style; STORE ('\\'); store_c: STORE (c); } if (len == 0 && quoting_style == shell_always_quoting_style && elide_outer_quotes) goto force_outer_quoting_style; if (quote_string && !elide_outer_quotes) for (; *quote_string; quote_string++) STORE (*quote_string); if (len < buffersize) buffer[len] = '\0'; return len; force_outer_quoting_style: /* Don't reuse quote_these_too, since the addition of outer quotes sufficiently quotes the specified characters. */ return quotearg_buffer_restyled (buffer, buffersize, arg, argsize, quoting_style, flags & ~QA_ELIDE_OUTER_QUOTES, NULL); } /* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of argument ARG (of size ARGSIZE), using O to control quoting. If O is null, use the default. Terminate the output with a null character, and return the written size of the output, not counting the terminating null. If BUFFERSIZE is too small to store the output string, return the value that would have been returned had BUFFERSIZE been large enough. If ARGSIZE is SIZE_MAX, use the string length of the argument for ARGSIZE. */ size_t quotearg_buffer (char *buffer, size_t buffersize, char const *arg, size_t argsize, struct quoting_options const *o) { struct quoting_options const *p = o ? o : &default_quoting_options; int e = errno; size_t r = quotearg_buffer_restyled (buffer, buffersize, arg, argsize, p->style, p->flags, p->quote_these_too); errno = e; return r; } /* Equivalent to quotearg_alloc (ARG, ARGSIZE, NULL, O). */ char * quotearg_alloc (char const *arg, size_t argsize, struct quoting_options const *o) { return quotearg_alloc_mem (arg, argsize, NULL, o); } /* Like quotearg_buffer (..., ARG, ARGSIZE, O), except return newly allocated storage containing the quoted string, and store the resulting size into *SIZE, if non-NULL. The result can contain embedded null bytes only if ARGSIZE is not SIZE_MAX, SIZE is not NULL, and set_quoting_flags has not set the null byte elision flag. */ char * quotearg_alloc_mem (char const *arg, size_t argsize, size_t *size, struct quoting_options const *o) { struct quoting_options const *p = o ? o : &default_quoting_options; int e = errno; /* Elide embedded null bytes if we can't return a size. */ int flags = p->flags | (size ? 0 : QA_ELIDE_NULL_BYTES); size_t bufsize = quotearg_buffer_restyled (0, 0, arg, argsize, p->style, flags, p->quote_these_too) + 1; char *buf = xcharalloc (bufsize); quotearg_buffer_restyled (buf, bufsize, arg, argsize, p->style, flags, p->quote_these_too); errno = e; if (size) *size = bufsize - 1; return buf; } /* A storage slot with size and pointer to a value. */ struct slotvec { size_t size; char *val; }; /* Preallocate a slot 0 buffer, so that the caller can always quote one small component of a "memory exhausted" message in slot 0. */ static char slot0[256]; static unsigned int nslots = 1; static struct slotvec slotvec0 = {sizeof slot0, slot0}; static struct slotvec *slotvec = &slotvec0; void quotearg_free (void) { struct slotvec *sv = slotvec; unsigned int i; for (i = 1; i < nslots; i++) free (sv[i].val); if (sv[0].val != slot0) { free (sv[0].val); slotvec0.size = sizeof slot0; slotvec0.val = slot0; } if (sv != &slotvec0) { free (sv); slotvec = &slotvec0; } nslots = 1; } /* Use storage slot N to return a quoted version of argument ARG. ARG is of size ARGSIZE, but if that is SIZE_MAX, ARG is a null-terminated string. OPTIONS specifies the quoting options. The returned value points to static storage that can be reused by the next call to this function with the same value of N. N must be nonnegative. N is deliberately declared with type "int" to allow for future extensions (using negative values). */ static char * quotearg_n_options (int n, char const *arg, size_t argsize, struct quoting_options const *options) { int e = errno; unsigned int n0 = n; struct slotvec *sv = slotvec; if (n < 0) abort (); if (nslots <= n0) { /* FIXME: technically, the type of n1 should be `unsigned int', but that evokes an unsuppressible warning from gcc-4.0.1 and older. If gcc ever provides an option to suppress that warning, revert to the original type, so that the test in xalloc_oversized is once again performed only at compile time. */ size_t n1 = n0 + 1; bool preallocated = (sv == &slotvec0); if (xalloc_oversized (n1, sizeof *sv)) xalloc_die (); slotvec = sv = xrealloc (preallocated ? NULL : sv, n1 * sizeof *sv); if (preallocated) *sv = slotvec0; memset (sv + nslots, 0, (n1 - nslots) * sizeof *sv); nslots = n1; } { size_t size = sv[n].size; char *val = sv[n].val; /* Elide embedded null bytes since we don't return a size. */ int flags = options->flags | QA_ELIDE_NULL_BYTES; size_t qsize = quotearg_buffer_restyled (val, size, arg, argsize, options->style, flags, options->quote_these_too); if (size <= qsize) { sv[n].size = size = qsize + 1; if (val != slot0) free (val); sv[n].val = val = xcharalloc (size); quotearg_buffer_restyled (val, size, arg, argsize, options->style, flags, options->quote_these_too); } errno = e; return val; } } char * quotearg_n (int n, char const *arg) { return quotearg_n_options (n, arg, SIZE_MAX, &default_quoting_options); } char * quotearg_n_mem (int n, char const *arg, size_t argsize) { return quotearg_n_options (n, arg, argsize, &default_quoting_options); } char * quotearg (char const *arg) { return quotearg_n (0, arg); } char * quotearg_mem (char const *arg, size_t argsize) { return quotearg_n_mem (0, arg, argsize); } char * quotearg_n_style (int n, enum quoting_style s, char const *arg) { struct quoting_options const o = quoting_options_from_style (s); return quotearg_n_options (n, arg, SIZE_MAX, &o); } char * quotearg_n_style_mem (int n, enum quoting_style s, char const *arg, size_t argsize) { struct quoting_options const o = quoting_options_from_style (s); return quotearg_n_options (n, arg, argsize, &o); } char * quotearg_style (enum quoting_style s, char const *arg) { return quotearg_n_style (0, s, arg); } char * quotearg_style_mem (enum quoting_style s, char const *arg, size_t argsize) { return quotearg_n_style_mem (0, s, arg, argsize); } char * quotearg_char_mem (char const *arg, size_t argsize, char ch) { struct quoting_options options; options = default_quoting_options; set_char_quoting (&options, ch, 1); return quotearg_n_options (0, arg, argsize, &options); } char * quotearg_char (char const *arg, char ch) { return quotearg_char_mem (arg, SIZE_MAX, ch); } char * quotearg_colon (char const *arg) { return quotearg_char (arg, ':'); } char * quotearg_colon_mem (char const *arg, size_t argsize) { return quotearg_char_mem (arg, argsize, ':'); } dc3dd-7.1.614/lib/openat-die.c0000644000175000017500000000277311022023316015375 0ustar amedicoamedico/* Report a save- or restore-cwd failure in our openat replacement and then exit. Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "error.h" #include "exitfail.h" #include "gettext.h" #define _(msgid) gettext (msgid) #define N_(msgid) msgid void openat_save_fail (int errno) { error (exit_failure, errno, _("unable to record current working directory")); /* The `noreturn' attribute cannot be applied to error, since it returns when its first argument is 0. To help compilers understand that this function does not return, call abort. Also, the abort is a safety feature if exit_failure is 0 (which shouldn't happen). */ abort (); } void openat_restore_fail (int errno) { error (exit_failure, errno, _("failed to return to initial working directory")); /* As above. */ abort (); } dc3dd-7.1.614/lib/exclude.c0000644000175000017500000001466711022023316015006 0ustar amedicoamedico/* exclude.c -- exclude file names Copyright (C) 1992, 1993, 1994, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert */ #include #include #include #include #include #include #include #include #include "exclude.h" #include "fnmatch.h" #include "xalloc.h" #include "verify.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* Non-GNU systems lack these options, so we don't need to check them. */ #ifndef FNM_CASEFOLD # define FNM_CASEFOLD 0 #endif #ifndef FNM_EXTMATCH # define FNM_EXTMATCH 0 #endif #ifndef FNM_LEADING_DIR # define FNM_LEADING_DIR 0 #endif verify (((EXCLUDE_ANCHORED | EXCLUDE_INCLUDE | EXCLUDE_WILDCARDS) & (FNM_PATHNAME | FNM_NOESCAPE | FNM_PERIOD | FNM_LEADING_DIR | FNM_CASEFOLD | FNM_EXTMATCH)) == 0); /* An exclude pattern-options pair. The options are fnmatch options ORed with EXCLUDE_* options. */ struct patopts { char const *pattern; int options; }; /* An exclude list, of pattern-options pairs. */ struct exclude { struct patopts *exclude; size_t exclude_alloc; size_t exclude_count; }; /* Return a newly allocated and empty exclude list. */ struct exclude * new_exclude (void) { return xzalloc (sizeof *new_exclude ()); } /* Free the storage associated with an exclude list. */ void free_exclude (struct exclude *ex) { free (ex->exclude); free (ex); } /* Return zero if PATTERN matches F, obeying OPTIONS, except that (unlike fnmatch) wildcards are disabled in PATTERN. */ static int fnmatch_no_wildcards (char const *pattern, char const *f, int options) { if (! (options & FNM_LEADING_DIR)) return ((options & FNM_CASEFOLD) ? mbscasecmp (pattern, f) : strcmp (pattern, f)); else if (! (options & FNM_CASEFOLD)) { size_t patlen = strlen (pattern); int r = strncmp (pattern, f, patlen); if (! r) { r = f[patlen]; if (r == '/') r = 0; } return r; } else { /* Walk through a copy of F, seeing whether P matches any prefix of F. FIXME: This is an O(N**2) algorithm; it should be O(N). Also, the copy should not be necessary. However, fixing this will probably involve a change to the mbs* API. */ char *fcopy = xstrdup (f); char *p; int r; for (p = fcopy; ; *p++ = '/') { p = strchr (p, '/'); if (p) *p = '\0'; r = mbscasecmp (pattern, fcopy); if (!p || r <= 0) break; } free (fcopy); return r; } } bool exclude_fnmatch (char const *pattern, char const *f, int options) { int (*matcher) (char const *, char const *, int) = (options & EXCLUDE_WILDCARDS ? fnmatch : fnmatch_no_wildcards); bool matched = ((*matcher) (pattern, f, options) == 0); char const *p; if (! (options & EXCLUDE_ANCHORED)) for (p = f; *p && ! matched; p++) if (*p == '/' && p[1] != '/') matched = ((*matcher) (pattern, p + 1, options) == 0); return matched; } /* Return true if EX excludes F. */ bool excluded_file_name (struct exclude const *ex, char const *f) { size_t exclude_count = ex->exclude_count; /* If no options are given, the default is to include. */ if (exclude_count == 0) return false; else { struct patopts const *exclude = ex->exclude; size_t i; /* Otherwise, the default is the opposite of the first option. */ bool excluded = !! (exclude[0].options & EXCLUDE_INCLUDE); /* Scan through the options, seeing whether they change F from excluded to included or vice versa. */ for (i = 0; i < exclude_count; i++) { char const *pattern = exclude[i].pattern; int options = exclude[i].options; if (excluded == !! (options & EXCLUDE_INCLUDE)) excluded ^= exclude_fnmatch (pattern, f, options); } return excluded; } } /* Append to EX the exclusion PATTERN with OPTIONS. */ void add_exclude (struct exclude *ex, char const *pattern, int options) { struct patopts *patopts; if (ex->exclude_count == ex->exclude_alloc) ex->exclude = x2nrealloc (ex->exclude, &ex->exclude_alloc, sizeof *ex->exclude); patopts = &ex->exclude[ex->exclude_count++]; patopts->pattern = pattern; patopts->options = options; } /* Use ADD_FUNC to append to EX the patterns in FILE_NAME, each with OPTIONS. LINE_END terminates each pattern in the file. If LINE_END is a space character, ignore trailing spaces and empty lines in FILE. Return -1 on failure, 0 on success. */ int add_exclude_file (void (*add_func) (struct exclude *, char const *, int), struct exclude *ex, char const *file_name, int options, char line_end) { bool use_stdin = file_name[0] == '-' && !file_name[1]; FILE *in; char *buf = NULL; char *p; char const *pattern; char const *lim; size_t buf_alloc = 0; size_t buf_count = 0; int c; int e = 0; if (use_stdin) in = stdin; else if (! (in = fopen (file_name, "r"))) return -1; while ((c = getc (in)) != EOF) { if (buf_count == buf_alloc) buf = x2realloc (buf, &buf_alloc); buf[buf_count++] = c; } if (ferror (in)) e = errno; if (!use_stdin && fclose (in) != 0) e = errno; buf = xrealloc (buf, buf_count + 1); buf[buf_count] = line_end; lim = buf + buf_count + ! (buf_count == 0 || buf[buf_count - 1] == line_end); pattern = buf; for (p = buf; p < lim; p++) if (*p == line_end) { char *pattern_end = p; if (isspace ((unsigned char) line_end)) { for (; ; pattern_end--) if (pattern_end == pattern) goto next_pattern; else if (! isspace ((unsigned char) pattern_end[-1])) break; } *pattern_end = '\0'; (*add_func) (ex, pattern, options); next_pattern: pattern = p + 1; } errno = e; return e ? -1 : 0; } dc3dd-7.1.614/lib/fd-reopen.h0000644000175000017500000000155111022023316015225 0ustar amedicoamedico/* Invoke open, but return either a desired file descriptor or -1. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include int fd_reopen (int, char const *, int, mode_t); dc3dd-7.1.614/lib/dirname.h0000644000175000017500000000427711022023316014775 0ustar amedicoamedico/* Take file names apart into directory and base names. Copyright (C) 1998, 2001, 2003-2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef DIRNAME_H_ # define DIRNAME_H_ 1 # include # include # ifndef DIRECTORY_SEPARATOR # define DIRECTORY_SEPARATOR '/' # endif # ifndef ISSLASH # define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) # endif # ifndef FILE_SYSTEM_PREFIX_LEN # if FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX /* This internal macro assumes ASCII, but all hosts that support drive letters use ASCII. */ # define _IS_DRIVE_LETTER(c) (((unsigned int) (c) | ('a' - 'A')) - 'a' \ <= 'z' - 'a') # define FILE_SYSTEM_PREFIX_LEN(Filename) \ (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':' ? 2 : 0) # else # define FILE_SYSTEM_PREFIX_LEN(Filename) 0 # endif # endif # ifndef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE # define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0 # endif # ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT # define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 # endif # if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE # define IS_ABSOLUTE_FILE_NAME(F) ISSLASH ((F)[FILE_SYSTEM_PREFIX_LEN (F)]) # else # define IS_ABSOLUTE_FILE_NAME(F) \ (ISSLASH ((F)[0]) || 0 < FILE_SYSTEM_PREFIX_LEN (F)) # endif # define IS_RELATIVE_FILE_NAME(F) (! IS_ABSOLUTE_FILE_NAME (F)) char *base_name (char const *file); char *dir_name (char const *file); size_t base_len (char const *file); size_t dir_len (char const *file); char *last_component (char const *file); bool strip_trailing_slashes (char *file); #endif /* not DIRNAME_H_ */ dc3dd-7.1.614/lib/xstrtoumax.c0000644000175000017500000000025211022023316015574 0ustar amedicoamedico#define __strtol strtoumax #define __strtol_t uintmax_t #define __xstrtol xstrtoumax #define STRTOL_T_MINIMUM 0 #define STRTOL_T_MAXIMUM UINTMAX_MAX #include "xstrtol.c" dc3dd-7.1.614/lib/posixver.h0000644000175000017500000000003311022023316015217 0ustar amedicoamedicoint posix2_version (void); dc3dd-7.1.614/lib/tempname.c0000644000175000017500000001637011022023316015154 0ustar amedicoamedico/* tempname.c - generate the name of a temporary file. Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Extracted from glibc sysdeps/posix/tempname.c. See also tmpdir.c. */ #if !_LIBC # include # include "tempname.h" # include "randint.h" #endif #include #include #include #ifndef __set_errno # define __set_errno(Val) errno = (Val) #endif #include #ifndef P_tmpdir # define P_tmpdir "/tmp" #endif #ifndef TMP_MAX # define TMP_MAX 238328 #endif #ifndef __GT_FILE # define __GT_FILE 0 # define __GT_BIGFILE 1 # define __GT_DIR 2 # define __GT_NOCREATE 3 #endif #include #include #include #include #include #include #include #include #include #if _LIBC # define struct_stat64 struct stat64 # define small_open __open # define large_open __open64 #else # define struct_stat64 struct stat # define small_open open # define large_open open # define __gen_tempname gen_tempname # define __getpid getpid # define __gettimeofday gettimeofday # define __mkdir mkdir # define __lxstat64(version, file, buf) lstat (file, buf) # define __xstat64(version, file, buf) stat (file, buf) #endif #if ! (HAVE___SECURE_GETENV || _LIBC) # define __secure_getenv getenv #endif #if _LIBC /* Return nonzero if DIR is an existent directory. */ static int direxists (const char *dir) { struct_stat64 buf; return __xstat64 (_STAT_VER, dir, &buf) == 0 && S_ISDIR (buf.st_mode); } /* Path search algorithm, for tmpnam, tmpfile, etc. If DIR is non-null and exists, uses it; otherwise uses the first of $TMPDIR, P_tmpdir, /tmp that exists. Copies into TMPL a template suitable for use with mk[s]temp. Will fail (-1) if DIR is non-null and doesn't exist, none of the searched dirs exists, or there's not enough space in TMPL. */ int __path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx, int try_tmpdir) { const char *d; size_t dlen, plen; if (!pfx || !pfx[0]) { pfx = "file"; plen = 4; } else { plen = strlen (pfx); if (plen > 5) plen = 5; } if (try_tmpdir) { d = __secure_getenv ("TMPDIR"); if (d != NULL && direxists (d)) dir = d; else if (dir != NULL && direxists (dir)) /* nothing */ ; else dir = NULL; } if (dir == NULL) { if (direxists (P_tmpdir)) dir = P_tmpdir; else if (strcmp (P_tmpdir, "/tmp") != 0 && direxists ("/tmp")) dir = "/tmp"; else { __set_errno (ENOENT); return -1; } } dlen = strlen (dir); while (dlen > 1 && dir[dlen - 1] == '/') dlen--; /* remove trailing slashes */ /* check we have room for "${dir}/${pfx}XXXXXX\0" */ if (tmpl_len < dlen + 1 + plen + 6 + 1) { __set_errno (EINVAL); return -1; } sprintf (tmpl, "%.*s/%.*sXXXXXX", (int) dlen, dir, (int) plen, pfx); return 0; } #endif /* _LIBC */ static inline bool check_x_suffix (char const *s, size_t len) { return strspn (s, "X") == len; } /* These are the characters used in temporary file names. */ static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; /* Generate a temporary file name based on TMPL. TMPL must end in a a sequence of at least X_SUFFIX_LEN "X"s. The name constructed does not exist at the time of the call to __gen_tempname. TMPL is overwritten with the result. KIND may be one of: __GT_NOCREATE: simply verify that the name does not exist at the time of the call. __GT_FILE: create the file using open(O_CREAT|O_EXCL) and return a read-write fd. The file is mode 0600. __GT_BIGFILE: same as __GT_FILE but use open64(). __GT_DIR: create a directory, which will be mode 0700. We use a clever algorithm to get hard-to-predict names. */ int gen_tempname_len (char *tmpl, int kind, size_t x_suffix_len) { size_t len; char *XXXXXX; unsigned int count; int fd = -1; int save_errno = errno; struct_stat64 st; struct randint_source *rand_src; /* A lower bound on the number of temporary files to attempt to generate. The maximum total number of temporary file names that can exist for a given template is 62**6. It should never be necessary to try all these combinations. Instead if a reasonable number of names is tried (we define reasonable as 62**3) fail to give the system administrator the chance to remove the problems. */ #define ATTEMPTS_MIN (62 * 62 * 62) /* The number of times to attempt to generate a temporary file. To conform to POSIX, this must be no smaller than TMP_MAX. */ #if ATTEMPTS_MIN < TMP_MAX unsigned int attempts = TMP_MAX; #else unsigned int attempts = ATTEMPTS_MIN; #endif len = strlen (tmpl); if (len < x_suffix_len || ! check_x_suffix (&tmpl[len - x_suffix_len], x_suffix_len)) { __set_errno (EINVAL); return -1; } rand_src = randint_all_new (NULL, 8); if (! rand_src) return -1; /* This is where the Xs start. */ XXXXXX = &tmpl[len - x_suffix_len]; for (count = 0; count < attempts; ++count) { size_t i; for (i = 0; i < x_suffix_len; i++) { XXXXXX[i] = letters[randint_genmax (rand_src, sizeof letters - 2)]; } switch (kind) { case __GT_FILE: fd = small_open (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); break; case __GT_BIGFILE: fd = large_open (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); break; case __GT_DIR: fd = __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR); break; case __GT_NOCREATE: /* This case is backward from the other three. This function succeeds if __xstat fails because the name does not exist. Note the continue to bypass the common logic at the bottom of the loop. */ if (__lxstat64 (_STAT_VER, tmpl, &st) < 0) { if (errno == ENOENT) { __set_errno (save_errno); fd = 0; goto done; } else { /* Give up now. */ fd = -1; goto done; } } continue; default: assert (! "invalid KIND in __gen_tempname"); } if (fd >= 0) { __set_errno (save_errno); goto done; } else if (errno != EEXIST) { fd = -1; goto done; } } randint_all_free (rand_src); /* We got out of the loop because we ran out of combinations to try. */ __set_errno (EEXIST); return -1; done: { int saved_errno = errno; randint_all_free (rand_src); __set_errno (saved_errno); } return fd; } int __gen_tempname (char *tmpl, int kind) { return gen_tempname_len (tmpl, kind, 6); } dc3dd-7.1.614/lib/stdio-impl.h0000644000175000017500000000621211064230667015445 0ustar amedicoamedico/* Implementation details of FILE streams. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Many stdio implementations have the same logic and therefore can share the same implementation of stdio extension API, except that some fields have different naming conventions, or their access requires some casts. */ /* BSD stdio derived implementations. */ #if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ # if defined __DragonFly__ /* DragonFly */ /* See . */ # define fp_ ((struct { struct __FILE_public pub; \ struct { unsigned char *_base; int _size; } _bf; \ void *cookie; \ void *_close; \ void *_read; \ void *_seek; \ void *_write; \ struct { unsigned char *_base; int _size; } _ub; \ int _ur; \ unsigned char _ubuf[3]; \ unsigned cahr _nbuf[1]; \ struct { unsigned char *_base; int _size; } _lb; \ int _blksize; \ fpos_t _offset; \ /* More fields, not relevant here. */ \ } *) fp) /* See . */ # define _p pub._p # define _flags pub._flags # define _r pub._r # define _w pub._w # else # define fp_ fp # endif # if defined __NetBSD__ || defined __OpenBSD__ /* NetBSD, OpenBSD */ /* See and */ struct __sfileext { struct __sbuf _ub; /* ungetc buffer */ /* More fields, not relevant here. */ }; # define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub # else /* FreeBSD, DragonFly, MacOS X, Cygwin */ # define fp_ub fp->_ub # endif # define HASUB(fp) (fp_ub._base != NULL) #endif /* SystemV derived implementations. */ #if defined _IOERR # if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */ # define fp_ ((struct { unsigned char *_ptr; \ unsigned char *_base; \ unsigned char *_end; \ long _cnt; \ int _file; \ unsigned int _flag; \ } *) fp) # else # define fp_ fp # endif # if defined _SCO_DS /* OpenServer */ # define _cnt __cnt # define _ptr __ptr # define _base __base # define _flag __flag # endif #endif dc3dd-7.1.614/lib/c-strtod.h0000644000175000017500000000013011022023316015075 0ustar amedicoamedicodouble c_strtod (char const *, char **); long double c_strtold (char const *, char **); dc3dd-7.1.614/lib/memcoll.c0000644000175000017500000000472011022023316014772 0ustar amedicoamedico/* Locale-specific memory comparison. Copyright (C) 1999, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Contributed by Paul Eggert . */ #include #include "memcoll.h" #include #include /* Compare S1 (with length S1LEN) and S2 (with length S2LEN) according to the LC_COLLATE locale. S1 and S2 do not overlap, and are not adjacent. Perhaps temporarily modify the bytes after S1 and S2, but restore their original contents before returning. Set errno to an error number if there is an error, and to zero otherwise. */ int memcoll (char *s1, size_t s1len, char *s2, size_t s2len) { int diff; #if HAVE_STRCOLL /* strcoll is slow on many platforms, so check for the common case where the arguments are bytewise equal. Otherwise, walk through the buffers using strcoll on each substring. */ if (s1len == s2len && memcmp (s1, s2, s1len) == 0) { errno = 0; diff = 0; } else { char n1 = s1[s1len]; char n2 = s2[s2len]; s1[s1len++] = '\0'; s2[s2len++] = '\0'; while (! (errno = 0, (diff = strcoll (s1, s2)) || errno)) { /* strcoll found no difference, but perhaps it was fooled by NUL characters in the data. Work around this problem by advancing past the NUL chars. */ size_t size1 = strlen (s1) + 1; size_t size2 = strlen (s2) + 1; s1 += size1; s2 += size2; s1len -= size1; s2len -= size2; if (s1len == 0) { if (s2len != 0) diff = -1; break; } else if (s2len == 0) { diff = 1; break; } } s1[s1len - 1] = n1; s2[s2len - 1] = n2; } #else diff = memcmp (s1, s2, s1len < s2len ? s1len : s2len); if (! diff) diff = s1len < s2len ? -1 : s1len != s2len; errno = 0; #endif return diff; } dc3dd-7.1.614/lib/regex.h0000644000175000017500000006226711064230667014512 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Definitions for data structures and routines for the regular expression library. Copyright (C) 1985,1989-93,1995-98,2000,2001,2002,2003,2005,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _REGEX_H #define _REGEX_H 1 #include /* Allow the use in C++ code. */ #ifdef __cplusplus extern "C" { #endif /* Define __USE_GNU_REGEX to declare GNU extensions that violate the POSIX name space rules. */ #undef __USE_GNU_REGEX #if (defined _GNU_SOURCE \ || (!defined _POSIX_C_SOURCE && !defined _POSIX_SOURCE \ && !defined _XOPEN_SOURCE)) # define __USE_GNU_REGEX 1 #endif #ifdef _REGEX_LARGE_OFFSETS /* Use types and values that are wide enough to represent signed and unsigned byte offsets in memory. This currently works only when the regex code is used outside of the GNU C library; it is not yet supported within glibc itself, and glibc users should not define _REGEX_LARGE_OFFSETS. */ /* The type of the offset of a byte within a string. For historical reasons POSIX 1003.1-2004 requires that regoff_t be at least as wide as off_t. However, many common POSIX platforms set regoff_t to the more-sensible ssize_t and the Open Group has signalled its intention to change the requirement to be that regoff_t be at least as wide as ptrdiff_t and ssize_t; see XBD ERN 60 (2005-08-25). We don't know of any hosts where ssize_t or ptrdiff_t is wider than ssize_t, so ssize_t is safe. */ typedef ssize_t regoff_t; /* The type of nonnegative object indexes. Traditionally, GNU regex uses 'int' for these. Code that uses __re_idx_t should work regardless of whether the type is signed. */ typedef size_t __re_idx_t; /* The type of object sizes. */ typedef size_t __re_size_t; /* The type of object sizes, in places where the traditional code uses unsigned long int. */ typedef size_t __re_long_size_t; #else /* Use types that are binary-compatible with the traditional GNU regex implementation, which mishandles strings longer than INT_MAX. */ typedef int regoff_t; typedef int __re_idx_t; typedef unsigned int __re_size_t; typedef unsigned long int __re_long_size_t; #endif /* The following two types have to be signed and unsigned integer type wide enough to hold a value of a pointer. For most ANSI compilers ptrdiff_t and size_t should be likely OK. Still size of these two types is 2 for Microsoft C. Ugh... */ typedef long int s_reg_t; typedef unsigned long int active_reg_t; /* The following bits are used to determine the regexp syntax we recognize. The set/not-set meanings are chosen so that Emacs syntax remains the value 0. The bits are given in alphabetical order, and the definitions shifted by one from the previous bit; thus, when we add or remove a bit, only one other definition need change. */ typedef unsigned long int reg_syntax_t; #ifdef __USE_GNU_REGEX /* If this bit is not set, then \ inside a bracket expression is literal. If set, then such a \ quotes the following character. */ # define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1) /* If this bit is not set, then + and ? are operators, and \+ and \? are literals. If set, then \+ and \? are operators and + and ? are literals. */ # define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1) /* If this bit is set, then character classes are supported. They are: [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:], [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. If not set, then character classes are not supported. */ # define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1) /* If this bit is set, then ^ and $ are always anchors (outside bracket expressions, of course). If this bit is not set, then it depends: ^ is an anchor if it is at the beginning of a regular expression or after an open-group or an alternation operator; $ is an anchor if it is at the end of a regular expression, or before a close-group or an alternation operator. This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because POSIX draft 11.2 says that * etc. in leading positions is undefined. We already implemented a previous draft which made those constructs invalid, though, so we haven't changed the code back. */ # define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1) /* If this bit is set, then special characters are always special regardless of where they are in the pattern. If this bit is not set, then special characters are special only in some contexts; otherwise they are ordinary. Specifically, * + ? and intervals are only special when not after the beginning, open-group, or alternation operator. */ # define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1) /* If this bit is set, then *, +, ?, and { cannot be first in an re or immediately after an alternation or begin-group operator. */ # define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1) /* If this bit is set, then . matches newline. If not set, then it doesn't. */ # define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1) /* If this bit is set, then . doesn't match NUL. If not set, then it does. */ # define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1) /* If this bit is set, nonmatching lists [^...] do not match newline. If not set, they do. */ # define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1) /* If this bit is set, either \{...\} or {...} defines an interval, depending on RE_NO_BK_BRACES. If not set, \{, \}, {, and } are literals. */ # define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) /* If this bit is set, +, ? and | aren't recognized as operators. If not set, they are. */ # define RE_LIMITED_OPS (RE_INTERVALS << 1) /* If this bit is set, newline is an alternation operator. If not set, newline is literal. */ # define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) /* If this bit is set, then `{...}' defines an interval, and \{ and \} are literals. If not set, then `\{...\}' defines an interval. */ # define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) /* If this bit is set, (...) defines a group, and \( and \) are literals. If not set, \(...\) defines a group, and ( and ) are literals. */ # define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1) /* If this bit is set, then \ matches . If not set, then \ is a back-reference. */ # define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1) /* If this bit is set, then | is an alternation operator, and \| is literal. If not set, then \| is an alternation operator, and | is literal. */ # define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1) /* If this bit is set, then an ending range point collating higher than the starting range point, as in [z-a], is invalid. If not set, then when ending range point collates higher than the starting range point, the range is ignored. */ # define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1) /* If this bit is set, then an unmatched ) is ordinary. If not set, then an unmatched ) is invalid. */ # define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1) /* If this bit is set, succeed as soon as we match the whole pattern, without further backtracking. */ # define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1) /* If this bit is set, do not process the GNU regex operators. If not set, then the GNU regex operators are recognized. */ # define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1) /* If this bit is set, turn on internal regex debugging. If not set, and debugging was on, turn it off. This only works if regex.c is compiled -DDEBUG. We define this bit always, so that all that's needed to turn on debugging is to recompile regex.c; the calling code can always have this bit set, and it won't affect anything in the normal case. */ # define RE_DEBUG (RE_NO_GNU_OPS << 1) /* If this bit is set, a syntactically invalid interval is treated as a string of ordinary characters. For example, the ERE 'a{1' is treated as 'a\{1'. */ # define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) /* If this bit is set, then ignore case when matching. If not set, then case is significant. */ # define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) /* This bit is used internally like RE_CONTEXT_INDEP_ANCHORS but only for ^, because it is difficult to scan the regex backwards to find whether ^ should be special. */ # define RE_CARET_ANCHORS_HERE (RE_ICASE << 1) /* If this bit is set, then \{ cannot be first in an bre or immediately after an alternation or begin-group operator. */ # define RE_CONTEXT_INVALID_DUP (RE_CARET_ANCHORS_HERE << 1) /* If this bit is set, then no_sub will be set to 1 during re_compile_pattern. */ # define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1) #endif /* defined __USE_GNU_REGEX */ /* This global variable defines the particular regexp syntax to use (for some interfaces). When a regexp is compiled, the syntax used is stored in the pattern buffer, so changing this does not affect already-compiled regexps. */ extern reg_syntax_t re_syntax_options; #ifdef __USE_GNU_REGEX /* Define combinations of the above bits for the standard possibilities. (The [[[ comments delimit what gets put into the Texinfo file, so don't delete them!) */ /* [[[begin syntaxes]]] */ # define RE_SYNTAX_EMACS 0 # define RE_SYNTAX_AWK \ (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \ | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) # define RE_SYNTAX_GNU_AWK \ ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) \ & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS \ | RE_CONTEXT_INVALID_OPS )) # define RE_SYNTAX_POSIX_AWK \ (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ | RE_INTERVALS | RE_NO_GNU_OPS) # define RE_SYNTAX_GREP \ (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ | RE_NEWLINE_ALT) # define RE_SYNTAX_EGREP \ (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ | RE_NO_BK_VBAR) # define RE_SYNTAX_POSIX_EGREP \ (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES \ | RE_INVALID_INTERVAL_ORD) /* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ # define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC # define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC /* Syntax bits common to both basic and extended POSIX regex syntax. */ # define _RE_SYNTAX_POSIX_COMMON \ (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ | RE_INTERVALS | RE_NO_EMPTY_RANGES) # define RE_SYNTAX_POSIX_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM | RE_CONTEXT_INVALID_DUP) /* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this isn't minimal, since other operators, such as \`, aren't disabled. */ # define RE_SYNTAX_POSIX_MINIMAL_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) # define RE_SYNTAX_POSIX_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ | RE_CONTEXT_INVALID_OPS | RE_UNMATCHED_RIGHT_PAREN_ORD) /* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INDEP_OPS is removed and RE_NO_BK_REFS is added. */ # define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) /* [[[end syntaxes]]] */ #endif /* defined __USE_GNU_REGEX */ #ifdef __USE_GNU_REGEX /* Maximum number of duplicates an interval can allow. POSIX-conforming systems might define this in , but we want our value, so remove any previous define. */ # ifdef RE_DUP_MAX # undef RE_DUP_MAX # endif /* RE_DUP_MAX is 2**15 - 1 because an earlier implementation stored the counter as a 2-byte signed integer. This is no longer true, so RE_DUP_MAX could be increased to (INT_MAX / 10 - 1), or to ((SIZE_MAX - 2) / 10 - 1) if _REGEX_LARGE_OFFSETS is defined. However, there would be a huge performance problem if someone actually used a pattern like a\{214748363\}, so RE_DUP_MAX retains its historical value. */ # define RE_DUP_MAX (0x7fff) #endif /* defined __USE_GNU_REGEX */ /* POSIX `cflags' bits (i.e., information for `regcomp'). */ /* If this bit is set, then use extended regular expression syntax. If not set, then use basic regular expression syntax. */ #define REG_EXTENDED 1 /* If this bit is set, then ignore case when matching. If not set, then case is significant. */ #define REG_ICASE (1 << 1) /* If this bit is set, then anchors do not match at newline characters in the string. If not set, then anchors do match at newlines. */ #define REG_NEWLINE (1 << 2) /* If this bit is set, then report only success or fail in regexec. If not set, then returns differ between not matching and errors. */ #define REG_NOSUB (1 << 3) /* POSIX `eflags' bits (i.e., information for regexec). */ /* If this bit is set, then the beginning-of-line operator doesn't match the beginning of the string (presumably because it's not the beginning of a line). If not set, then the beginning-of-line operator does match the beginning of the string. */ #define REG_NOTBOL 1 /* Like REG_NOTBOL, except for the end-of-line. */ #define REG_NOTEOL (1 << 1) /* Use PMATCH[0] to delimit the start and end of the search in the buffer. */ #define REG_STARTEND (1 << 2) /* If any error codes are removed, changed, or added, update the `__re_error_msgid' table in regcomp.c. */ typedef enum { _REG_ENOSYS = -1, /* This will never happen for this implementation. */ _REG_NOERROR = 0, /* Success. */ _REG_NOMATCH, /* Didn't find a match (for regexec). */ /* POSIX regcomp return error codes. (In the order listed in the standard.) */ _REG_BADPAT, /* Invalid pattern. */ _REG_ECOLLATE, /* Invalid collating element. */ _REG_ECTYPE, /* Invalid character class name. */ _REG_EESCAPE, /* Trailing backslash. */ _REG_ESUBREG, /* Invalid back reference. */ _REG_EBRACK, /* Unmatched left bracket. */ _REG_EPAREN, /* Parenthesis imbalance. */ _REG_EBRACE, /* Unmatched \{. */ _REG_BADBR, /* Invalid contents of \{\}. */ _REG_ERANGE, /* Invalid range end. */ _REG_ESPACE, /* Ran out of memory. */ _REG_BADRPT, /* No preceding re for repetition op. */ /* Error codes we've added. */ _REG_EEND, /* Premature end. */ _REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */ _REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ } reg_errcode_t; #ifdef _XOPEN_SOURCE # define REG_ENOSYS _REG_ENOSYS #endif #define REG_NOERROR _REG_NOERROR #define REG_NOMATCH _REG_NOMATCH #define REG_BADPAT _REG_BADPAT #define REG_ECOLLATE _REG_ECOLLATE #define REG_ECTYPE _REG_ECTYPE #define REG_EESCAPE _REG_EESCAPE #define REG_ESUBREG _REG_ESUBREG #define REG_EBRACK _REG_EBRACK #define REG_EPAREN _REG_EPAREN #define REG_EBRACE _REG_EBRACE #define REG_BADBR _REG_BADBR #define REG_ERANGE _REG_ERANGE #define REG_ESPACE _REG_ESPACE #define REG_BADRPT _REG_BADRPT #define REG_EEND _REG_EEND #define REG_ESIZE _REG_ESIZE #define REG_ERPAREN _REG_ERPAREN /* struct re_pattern_buffer normally uses member names like `buffer' that POSIX does not allow. In POSIX mode these members have names with leading `re_' (e.g., `re_buffer'). */ #ifdef __USE_GNU_REGEX # define _REG_RE_NAME(id) id # define _REG_RM_NAME(id) id #else # define _REG_RE_NAME(id) re_##id # define _REG_RM_NAME(id) rm_##id #endif /* The user can specify the type of the re_translate member by defining the macro RE_TRANSLATE_TYPE, which defaults to unsigned char *. This pollutes the POSIX name space, so in POSIX mode just use unsigned char *. */ #ifdef __USE_GNU_REGEX # ifndef RE_TRANSLATE_TYPE # define RE_TRANSLATE_TYPE unsigned char * # endif # define REG_TRANSLATE_TYPE RE_TRANSLATE_TYPE #else # define REG_TRANSLATE_TYPE unsigned char * #endif /* This data structure represents a compiled pattern. Before calling the pattern compiler, the fields `buffer', `allocated', `fastmap', `translate', and `no_sub' can be set. After the pattern has been compiled, the `re_nsub' field is available. All other fields are private to the regex routines. */ struct re_pattern_buffer { /* Space that holds the compiled pattern. It is declared as `unsigned char *' because its elements are sometimes used as array indexes. */ unsigned char *_REG_RE_NAME (buffer); /* Number of bytes to which `buffer' points. */ __re_long_size_t _REG_RE_NAME (allocated); /* Number of bytes actually used in `buffer'. */ __re_long_size_t _REG_RE_NAME (used); /* Syntax setting with which the pattern was compiled. */ reg_syntax_t _REG_RE_NAME (syntax); /* Pointer to a fastmap, if any, otherwise zero. re_search uses the fastmap, if there is one, to skip over impossible starting points for matches. */ char *_REG_RE_NAME (fastmap); /* Either a translate table to apply to all characters before comparing them, or zero for no translation. The translation is applied to a pattern when it is compiled and to a string when it is matched. */ REG_TRANSLATE_TYPE _REG_RE_NAME (translate); /* Number of subexpressions found by the compiler. */ size_t re_nsub; /* Zero if this pattern cannot match the empty string, one else. Well, in truth it's used only in `re_search_2', to see whether or not we should use the fastmap, so we don't set this absolutely perfectly; see `re_compile_fastmap' (the `duplicate' case). */ unsigned int _REG_RE_NAME (can_be_null) : 1; /* If REGS_UNALLOCATED, allocate space in the `regs' structure for `max (RE_NREGS, re_nsub + 1)' groups. If REGS_REALLOCATE, reallocate space if necessary. If REGS_FIXED, use what's there. */ #ifdef __USE_GNU_REGEX # define REGS_UNALLOCATED 0 # define REGS_REALLOCATE 1 # define REGS_FIXED 2 #endif unsigned int _REG_RE_NAME (regs_allocated) : 2; /* Set to zero when `regex_compile' compiles a pattern; set to one by `re_compile_fastmap' if it updates the fastmap. */ unsigned int _REG_RE_NAME (fastmap_accurate) : 1; /* If set, `re_match_2' does not return information about subexpressions. */ unsigned int _REG_RE_NAME (no_sub) : 1; /* If set, a beginning-of-line anchor doesn't match at the beginning of the string. */ unsigned int _REG_RE_NAME (not_bol) : 1; /* Similarly for an end-of-line anchor. */ unsigned int _REG_RE_NAME (not_eol) : 1; /* If true, an anchor at a newline matches. */ unsigned int _REG_RE_NAME (newline_anchor) : 1; /* [[[end pattern_buffer]]] */ }; typedef struct re_pattern_buffer regex_t; /* This is the structure we store register match data in. See regex.texinfo for a full description of what registers match. */ struct re_registers { __re_size_t _REG_RM_NAME (num_regs); regoff_t *_REG_RM_NAME (start); regoff_t *_REG_RM_NAME (end); }; /* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer, `re_match_2' returns information about at least this many registers the first time a `regs' structure is passed. */ #if !defined RE_NREGS && defined __USE_GNU_REGEX # define RE_NREGS 30 #endif /* POSIX specification for registers. Aside from the different names than `re_registers', POSIX uses an array of structures, instead of a structure of arrays. */ typedef struct { regoff_t rm_so; /* Byte offset from string's start to substring's start. */ regoff_t rm_eo; /* Byte offset from string's start to substring's end. */ } regmatch_t; /* Declarations for routines. */ /* Sets the current default syntax to SYNTAX, and return the old syntax. You can also simply assign to the `re_syntax_options' variable. */ extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax); /* Compile the regular expression PATTERN, with length LENGTH and syntax given by the global `re_syntax_options', into the buffer BUFFER. Return NULL if successful, and an error string if not. */ extern const char *re_compile_pattern (const char *__pattern, size_t __length, struct re_pattern_buffer *__buffer); /* Compile a fastmap for the compiled pattern in BUFFER; used to accelerate searches. Return 0 if successful and -2 if was an internal error. */ extern int re_compile_fastmap (struct re_pattern_buffer *__buffer); /* Search in the string STRING (with length LENGTH) for the pattern compiled into BUFFER. Start searching at position START, for RANGE characters. Return the starting position of the match, -1 for no match, or -2 for an internal error. Also return register information in REGS (if REGS and BUFFER->no_sub are nonzero). */ extern regoff_t re_search (struct re_pattern_buffer *__buffer, const char *__string, __re_idx_t __length, __re_idx_t __start, regoff_t __range, struct re_registers *__regs); /* Like `re_search', but search in the concatenation of STRING1 and STRING2. Also, stop searching at index START + STOP. */ extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer, const char *__string1, __re_idx_t __length1, const char *__string2, __re_idx_t __length2, __re_idx_t __start, regoff_t __range, struct re_registers *__regs, __re_idx_t __stop); /* Like `re_search', but return how many characters in STRING the regexp in BUFFER matched, starting at position START. */ extern regoff_t re_match (struct re_pattern_buffer *__buffer, const char *__string, __re_idx_t __length, __re_idx_t __start, struct re_registers *__regs); /* Relates to `re_match' as `re_search_2' relates to `re_search'. */ extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer, const char *__string1, __re_idx_t __length1, const char *__string2, __re_idx_t __length2, __re_idx_t __start, struct re_registers *__regs, __re_idx_t __stop); /* Set REGS to hold NUM_REGS registers, storing them in STARTS and ENDS. Subsequent matches using BUFFER and REGS will use this memory for recording register information. STARTS and ENDS must be allocated with malloc, and must each be at least `NUM_REGS * sizeof (regoff_t)' bytes long. If NUM_REGS == 0, then subsequent matches should allocate their own register data. Unless this function is called, the first search or match using PATTERN_BUFFER will allocate its own register data, without freeing the old data. */ extern void re_set_registers (struct re_pattern_buffer *__buffer, struct re_registers *__regs, __re_size_t __num_regs, regoff_t *__starts, regoff_t *__ends); #if defined _REGEX_RE_COMP || defined _LIBC # ifndef _CRAY /* 4.2 bsd compatibility. */ extern char *re_comp (const char *); extern int re_exec (const char *); # endif #endif /* GCC 2.95 and later have "__restrict"; C99 compilers have "restrict", and "configure" may have defined "restrict". Other compilers use __restrict, __restrict__, and _Restrict, and 'configure' might #define 'restrict' to those words, so pick a different name. */ #ifndef _Restrict_ # if 199901L <= __STDC_VERSION__ # define _Restrict_ restrict # elif 2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__) # define _Restrict_ __restrict # else # define _Restrict_ # endif #endif /* gcc 3.1 and up support the [restrict] syntax. Don't trust sys/cdefs.h's definition of __restrict_arr, though, as it mishandles gcc -ansi -pedantic. */ #ifndef _Restrict_arr_ # if ((199901L <= __STDC_VERSION__ \ || ((3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__)) \ && !__STRICT_ANSI__)) \ && !defined __GNUG__) # define _Restrict_arr_ _Restrict_ # else # define _Restrict_arr_ # endif #endif /* POSIX compatibility. */ extern int regcomp (regex_t *_Restrict_ __preg, const char *_Restrict_ __pattern, int __cflags); extern int regexec (const regex_t *_Restrict_ __preg, const char *_Restrict_ __string, size_t __nmatch, regmatch_t __pmatch[_Restrict_arr_], int __eflags); extern size_t regerror (int __errcode, const regex_t *_Restrict_ __preg, char *_Restrict_ __errbuf, size_t __errbuf_size); extern void regfree (regex_t *__preg); #ifdef __cplusplus } #endif /* C++ */ #endif /* regex.h */ dc3dd-7.1.614/lib/strverscmp.h0000644000175000017500000000203311064230667015571 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Compare strings while treating digits characters numerically. Copyright (C) 1997, 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 STRVERSCMP_H_ # define STRVERSCMP_H_ int strverscmp (const char *, const char *); #endif /* not STRVERSCMP_H_ */ dc3dd-7.1.614/lib/savedir.h0000644000175000017500000000166411022023316015010 0ustar amedicoamedico/* Save the list of files in a directory in a string. Copyright (C) 1997, 1999, 2001, 2003, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie . */ #if !defined SAVEDIR_H_ # define SAVEDIR_H_ char *savedir (char const *dir); char *fdsavedir (int fd); #endif dc3dd-7.1.614/lib/areadlink-with-size.c0000644000175000017500000000612611022023316017217 0ustar amedicoamedico/* readlink wrapper to return the link name in malloc'd storage. Unlike xreadlink and xreadlink_with_size, don't ever call exit. Copyright (C) 2001, 2003-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering */ #include #include "areadlink.h" #include #include #include #include #include #include #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #ifndef SSIZE_MAX # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) #endif /* SYMLINK_MAX is used only for an initial memory-allocation sanity check, so it's OK to guess too small on hosts where there is no arbitrary limit to symbolic link length. */ #ifndef SYMLINK_MAX # define SYMLINK_MAX 1024 #endif #define MAXSIZE (SIZE_MAX < SSIZE_MAX ? SIZE_MAX : SSIZE_MAX) /* Call readlink to get the symbolic link value of FILE. SIZE is a hint as to how long the link is expected to be; typically it is taken from st_size. It need not be correct. Return a pointer to that NUL-terminated string in malloc'd storage. If readlink fails, malloc fails, or if the link value is longer than SSIZE_MAX, return NULL (caller may use errno to diagnose). */ char * areadlink_with_size (char const *file, size_t size) { /* Some buggy file systems report garbage in st_size. Defend against them by ignoring outlandish st_size values in the initial memory allocation. */ size_t symlink_max = SYMLINK_MAX; size_t INITIAL_LIMIT_BOUND = 8 * 1024; size_t initial_limit = (symlink_max < INITIAL_LIMIT_BOUND ? symlink_max + 1 : INITIAL_LIMIT_BOUND); /* The initial buffer size for the link value. */ size_t buf_size = size < initial_limit ? size + 1 : initial_limit; while (1) { ssize_t r; size_t link_length; char *buffer = malloc (buf_size); if (buffer == NULL) return NULL; r = readlink (file, buffer, buf_size); link_length = r; /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1 with errno == ERANGE if the buffer is too small. */ if (r < 0 && errno != ERANGE) { int saved_errno = errno; free (buffer); errno = saved_errno; return NULL; } if (link_length < buf_size) { buffer[link_length] = 0; return buffer; } free (buffer); if (buf_size <= MAXSIZE / 2) buf_size *= 2; else if (buf_size < MAXSIZE) buf_size = MAXSIZE; else { errno = ENOMEM; return NULL; } } } dc3dd-7.1.614/lib/c-strcase.h0000644000175000017500000000420111064230667015244 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Case-insensitive string comparison functions in C locale. Copyright (C) 1995-1996, 2001, 2003, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 C_STRCASE_H #define C_STRCASE_H #include /* The functions defined in this file assume the "C" locale and a character set without diacritics (ASCII-US or EBCDIC-US or something like that). Even if the "C" locale on a particular system is an extension of the ASCII character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it is ISO-8859-1), the functions in this file recognize only the ASCII characters. More precisely, one of the string arguments must be an ASCII string; the other one can also contain non-ASCII characters (but then the comparison result will be nonzero). */ #ifdef __cplusplus extern "C" { #endif /* Compare strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. */ extern int c_strcasecmp (const char *s1, const char *s2); /* Compare no more than N characters of strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. */ extern int c_strncasecmp (const char *s1, const char *s2, size_t n); #ifdef __cplusplus } #endif #endif /* C_STRCASE_H */ dc3dd-7.1.614/lib/iconv_open-hpux.gperf0000644000175000017500000000214211022023316017340 0ustar amedicoamedicostruct mapping { int standard_name; const char vendor_name[9 + 1]; }; %struct-type %language=ANSI-C %define slot-name standard_name %define hash-function-name mapping_hash %define lookup-function-name mapping_lookup %readonly-tables %global-table %define word-array-name mappings %pic %% # On HP-UX 11.11, look in /usr/lib/nls/iconv. ISO-8859-1, "iso88591" ISO-8859-2, "iso88592" ISO-8859-5, "iso88595" ISO-8859-6, "iso88596" ISO-8859-7, "iso88597" ISO-8859-8, "iso88598" ISO-8859-9, "iso88599" ISO-8859-15, "iso885915" CP437, "cp437" CP775, "cp775" CP850, "cp850" CP852, "cp852" CP855, "cp855" CP857, "cp857" CP861, "cp861" CP862, "cp862" CP864, "cp864" CP865, "cp865" CP866, "cp866" CP869, "cp869" CP874, "cp874" CP1250, "cp1250" CP1251, "cp1251" CP1252, "cp1252" CP1253, "cp1253" CP1254, "cp1254" CP1255, "cp1255" CP1256, "cp1256" CP1257, "cp1257" CP1258, "cp1258" HP-ROMAN8, "roman8" HP-ARABIC8, "arabic8" HP-GREEK8, "greek8" HP-HEBREW8, "hebrew8" HP-TURKISH8, "turkish8" HP-KANA8, "kana8" TIS-620, "tis620" GB2312, "hp15CN" EUC-JP, "eucJP" EUC-KR, "eucKR" EUC-TW, "eucTW" BIG5, "big5" SHIFT_JIS, "sjis" UTF-8, "utf8" dc3dd-7.1.614/lib/fsusage.h0000644000175000017500000000270411022023316015004 0ustar amedicoamedico/* fsusage.h -- declarations for file system space usage info Copyright (C) 1991, 1992, 1997, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Space usage statistics for a file system. Blocks are 512-byte. */ #if !defined FSUSAGE_H_ # define FSUSAGE_H_ # include # include struct fs_usage { uintmax_t fsu_blocksize; /* Size of a block. */ uintmax_t fsu_blocks; /* Total blocks. */ uintmax_t fsu_bfree; /* Free blocks available to superuser. */ uintmax_t fsu_bavail; /* Free blocks available to non-superuser. */ bool fsu_bavail_top_bit_set; /* 1 if fsu_bavail represents a value < 0. */ uintmax_t fsu_files; /* Total file nodes. */ uintmax_t fsu_ffree; /* Free file nodes. */ }; int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp); #endif dc3dd-7.1.614/lib/getpagesize.c0000644000175000017500000000225711022023316015654 0ustar amedicoamedico/* getpagesize emulation for systems where it cannot be done in a C macro. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible and Martin Lambers. */ #include /* Specification. */ #include /* This implementation is only for native Win32 systems. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include int getpagesize (void) { SYSTEM_INFO system_info; GetSystemInfo (&system_info); return system_info.dwPageSize; } #endif dc3dd-7.1.614/lib/diacrit.c0000644000175000017500000001730611022023316014765 0ustar amedicoamedico/* Diacritics processing for a few character codes. Copyright (C) 1990, 1991, 1992, 1993, 2000, 2006 Free Software Foundation, Inc. François Pinard , 1988. All this file is a temporary hack, waiting for locales in GNU. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "diacrit.h" /* ISO 8859-1 Latin-1 code is used as the underlying character set. If MSDOS is defined, IBM-PC's character set code is used instead. */ /*--------------------------------------------------------------------. | For each alphabetic character, returns what it would be without its | | possible diacritic symbol. | `--------------------------------------------------------------------*/ const char diacrit_base[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 0, 0, 0, 0, 0, 0, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 0, 0, 0, 0, 0, #ifdef __MSDOS__ 'C', 'u', 'e', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'i', 'i', 'i', 'A', 'A', 'E', 'e', 'E', 'o', 'o', 'o', 'u', 'u', 'y', 'O', 'U', 0, 0, 0, 0, 0, 'a', 'i', 'o', 'u', 'n', 'N', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, #else 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 0, 'N', 'O', 'O', 'O', 'O', 'O', 0, 'O', 'U', 'U', 'U', 'U', 'Y', 0, 0, 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 0, 'n', 'o', 'o', 'o', 'o', 'o', 0, 'o', 'u', 'u', 'u', 'u', 'y', 0, 'y', #endif }; /*------------------------------------------------------------------------. | For each alphabetic character, returns a code of what its diacritic is, | | according to the following codes: 1 (eE) over aA for latin diphtongs; 2 | | (') acute accent; 3 (`) grave accent; 4 (^) circumflex accent; 5 (") | | umlaut or diaraesis; 6 (~) tilda; 7 (,) cedilla; 8 (o) covering degree | | symbol; 9 (|) slashed character. | `------------------------------------------------------------------------*/ const char diacrit_diac[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, #ifdef __MSDOS__ 7, 5, 2, 4, 5, 3, 8, 7, 4, 5, 3, 5, 4, 3, 5, 8, 2, 1, 1, 4, 5, 3, 4, 3, 5, 5, 5, 0, 0, 0, 0, 0, 2, 2, 2, 2, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, #else 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 4, 6, 5, 8, 1, 7, 3, 2, 4, 5, 3, 2, 4, 5, 0, 6, 3, 2, 4, 6, 5, 0, 9, 3, 2, 4, 5, 2, 0, 0, 3, 2, 4, 6, 5, 8, 1, 7, 3, 2, 4, 5, 3, 2, 4, 5, 0, 6, 3, 2, 4, 6, 5, 0, 9, 3, 2, 4, 5, 2, 0, 0, #endif }; dc3dd-7.1.614/lib/mbslen.c0000644000175000017500000000245211064230667014641 0ustar amedicoamedico/* Counting the multibyte characters in a string. Copyright (C) 2007 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #if HAVE_MBRTOWC # include "mbuiter.h" #endif /* Return the number of multibyte characters in the character string STRING. */ size_t mbslen (const char *string) { #if HAVE_MBRTOWC if (MB_CUR_MAX > 1) { size_t count; mbui_iterator_t iter; count = 0; for (mbui_init (iter, string); mbui_avail (iter); mbui_advance (iter)) count++; return count; } else #endif return strlen (string); } dc3dd-7.1.614/lib/config.charset0000644000175000017500000004752111022023316016024 0ustar amedicoamedico#! /bin/sh # Output a system dependent table of character encoding aliases. # # Copyright (C) 2000-2004, 2006-2007 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, 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. # # The table consists of lines of the form # ALIAS CANONICAL # # ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". # ALIAS is compared in a case sensitive way. # # CANONICAL is the GNU canonical name for this character encoding. # It must be an encoding supported by libiconv. Support by GNU libc is # also desirable. CANONICAL is case insensitive. Usually an upper case # MIME charset name is preferred. # The current list of GNU canonical charset names is as follows. # # name MIME? used by which systems # ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin # ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin # ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin # ISO-8859-3 Y glibc solaris # ISO-8859-4 Y osf solaris freebsd netbsd openbsd darwin # ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin # ISO-8859-6 Y glibc aix hpux solaris # ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd openbsd darwin # ISO-8859-8 Y glibc aix hpux osf solaris # ISO-8859-9 Y glibc aix hpux irix osf solaris darwin # ISO-8859-13 glibc netbsd openbsd darwin # ISO-8859-14 glibc # ISO-8859-15 glibc aix osf solaris freebsd netbsd openbsd darwin # KOI8-R Y glibc solaris freebsd netbsd openbsd darwin # KOI8-U Y glibc freebsd netbsd openbsd darwin # KOI8-T glibc # CP437 dos # CP775 dos # CP850 aix osf dos # CP852 dos # CP855 dos # CP856 aix # CP857 dos # CP861 dos # CP862 dos # CP864 dos # CP865 dos # CP866 freebsd netbsd openbsd darwin dos # CP869 dos # CP874 woe32 dos # CP922 aix # CP932 aix woe32 dos # CP943 aix # CP949 osf woe32 dos # CP950 woe32 dos # CP1046 aix # CP1124 aix # CP1125 dos # CP1129 aix # CP1250 woe32 # CP1251 glibc solaris netbsd openbsd darwin woe32 # CP1252 aix woe32 # CP1253 woe32 # CP1254 woe32 # CP1255 glibc woe32 # CP1256 woe32 # CP1257 woe32 # GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin # EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin # EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin # EUC-TW glibc aix hpux irix osf solaris netbsd # BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin # BIG5-HKSCS glibc solaris # GBK glibc aix osf solaris woe32 dos # GB18030 glibc solaris netbsd # SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin # JOHAB glibc solaris woe32 # TIS-620 glibc aix hpux osf solaris # VISCII Y glibc # TCVN5712-1 glibc # GEORGIAN-PS glibc # HP-ROMAN8 hpux # HP-ARABIC8 hpux # HP-GREEK8 hpux # HP-HEBREW8 hpux # HP-TURKISH8 hpux # HP-KANA8 hpux # DEC-KANJI osf # DEC-HANYU osf # UTF-8 Y glibc aix hpux osf solaris netbsd darwin # # Note: Names which are not marked as being a MIME name should not be used in # Internet protocols for information interchange (mail, news, etc.). # # Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications # must understand both names and treat them as equivalent. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM host="$1" os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` echo "# This file contains a table of character encoding aliases," echo "# suitable for operating system '${os}'." echo "# It was automatically generated from config.charset." # List of references, updated during installation: echo "# Packages using this file: " case "$os" in linux-gnulibc1*) # Linux libc5 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" echo "POSIX ASCII" for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \ en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \ en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \ es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \ et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \ fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \ it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \ sv_FI sv_SE; do echo "$l ISO-8859-1" echo "$l.iso-8859-1 ISO-8859-1" echo "$l.iso-8859-15 ISO-8859-15" echo "$l.iso-8859-15@euro ISO-8859-15" echo "$l@euro ISO-8859-15" echo "$l.cp-437 CP437" echo "$l.cp-850 CP850" echo "$l.cp-1252 CP1252" echo "$l.cp-1252@euro CP1252" #echo "$l.atari-st ATARI-ST" # not a commonly used encoding echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \ sl_SI sr sr_CS sr_YU; do echo "$l ISO-8859-2" echo "$l.iso-8859-2 ISO-8859-2" echo "$l.cp-852 CP852" echo "$l.cp-1250 CP1250" echo "$l.utf-8 UTF-8" done for l in mk mk_MK ru ru_RU; do echo "$l ISO-8859-5" echo "$l.iso-8859-5 ISO-8859-5" echo "$l.koi8-r KOI8-R" echo "$l.cp-866 CP866" echo "$l.cp-1251 CP1251" echo "$l.utf-8 UTF-8" done for l in ar ar_SA; do echo "$l ISO-8859-6" echo "$l.iso-8859-6 ISO-8859-6" echo "$l.cp-864 CP864" #echo "$l.cp-868 CP868" # not a commonly used encoding echo "$l.cp-1256 CP1256" echo "$l.utf-8 UTF-8" done for l in el el_GR gr gr_GR; do echo "$l ISO-8859-7" echo "$l.iso-8859-7 ISO-8859-7" echo "$l.cp-869 CP869" echo "$l.cp-1253 CP1253" echo "$l.cp-1253@euro CP1253" echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in he he_IL iw iw_IL; do echo "$l ISO-8859-8" echo "$l.iso-8859-8 ISO-8859-8" echo "$l.cp-862 CP862" echo "$l.cp-1255 CP1255" echo "$l.utf-8 UTF-8" done for l in tr tr_TR; do echo "$l ISO-8859-9" echo "$l.iso-8859-9 ISO-8859-9" echo "$l.cp-857 CP857" echo "$l.cp-1254 CP1254" echo "$l.utf-8 UTF-8" done for l in lt lt_LT lv lv_LV; do #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name echo "$l ISO-8859-13" done for l in ru_UA uk uk_UA; do echo "$l KOI8-U" done for l in zh zh_CN; do #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name echo "$l GB2312" done for l in ja ja_JP ja_JP.EUC; do echo "$l EUC-JP" done for l in ko ko_KR; do echo "$l EUC-KR" done for l in th th_TH; do echo "$l TIS-620" done for l in fa fa_IR; do #echo "$l ISIRI-3342" # a broken encoding echo "$l.utf-8 UTF-8" done ;; linux* | *-gnu*) # With glibc-2.1 or newer, we don't need any canonicalization, # because glibc has iconv and both glibc and libiconv support all # GNU canonical names directly. Therefore, the Makefile does not # need to install the alias file at all. # The following applies only to glibc-2.0.x and older libcs. echo "ISO_646.IRV:1983 ASCII" ;; aix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "IBM-850 CP850" echo "IBM-856 CP856" echo "IBM-921 ISO-8859-13" echo "IBM-922 CP922" echo "IBM-932 CP932" echo "IBM-943 CP943" echo "IBM-1046 CP1046" echo "IBM-1124 CP1124" echo "IBM-1129 CP1129" echo "IBM-1252 CP1252" echo "IBM-eucCN GB2312" echo "IBM-eucJP EUC-JP" echo "IBM-eucKR EUC-KR" echo "IBM-eucTW EUC-TW" echo "big5 BIG5" echo "GBK GBK" echo "TIS-620 TIS-620" echo "UTF-8 UTF-8" ;; hpux*) echo "iso88591 ISO-8859-1" echo "iso88592 ISO-8859-2" echo "iso88595 ISO-8859-5" echo "iso88596 ISO-8859-6" echo "iso88597 ISO-8859-7" echo "iso88598 ISO-8859-8" echo "iso88599 ISO-8859-9" echo "iso885915 ISO-8859-15" echo "roman8 HP-ROMAN8" echo "arabic8 HP-ARABIC8" echo "greek8 HP-GREEK8" echo "hebrew8 HP-HEBREW8" echo "turkish8 HP-TURKISH8" echo "kana8 HP-KANA8" echo "tis620 TIS-620" echo "big5 BIG5" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "hp15CN GB2312" #echo "ccdc ?" # what is this? echo "SJIS SHIFT_JIS" echo "utf8 UTF-8" ;; irix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-9 ISO-8859-9" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" ;; osf*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "cp850 CP850" echo "big5 BIG5" echo "dechanyu DEC-HANYU" echo "dechanzi GB2312" echo "deckanji DEC-KANJI" echo "deckorean EUC-KR" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "GBK GBK" echo "KSC5601 CP949" echo "sdeckanji EUC-JP" echo "SJIS SHIFT_JIS" echo "TACTIS TIS-620" echo "UTF-8 UTF-8" ;; solaris*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-3 ISO-8859-3" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "koi8-r KOI8-R" echo "ansi-1251 CP1251" echo "BIG5 BIG5" echo "Big5-HKSCS BIG5-HKSCS" echo "gb2312 GB2312" echo "GBK GBK" echo "GB18030 GB18030" echo "cns11643 EUC-TW" echo "5601 EUC-KR" echo "ko_KR.johap92 JOHAB" echo "eucJP EUC-JP" echo "PCK SHIFT_JIS" echo "TIS620.2533 TIS-620" #echo "sun_eu_greek ?" # what is this? echo "UTF-8 UTF-8" ;; freebsd* | os2*) # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just # reuse FreeBSD's locale data for OS/2. echo "C ASCII" echo "US-ASCII ASCII" for l in la_LN lt_LN; do echo "$l.ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do echo "$l.ISO_8859-1 ISO-8859-1" echo "$l.DIS_8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do echo "$l.ISO_8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO_8859-4 ISO-8859-4" done for l in ru_RU ru_SU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO_8859-5 ISO-8859-5" echo "$l.CP866 CP866" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ja_JP.Shift_JIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; netbsd*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "BIG5 BIG5" echo "SJIS SHIFT_JIS" ;; openbsd*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" ;; darwin[56]*) # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" for l in en_AU en_CA en_GB en_US la_LN; do echo "$l.US-ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \ nl_NL no_NO pt_PT sv_SE; do echo "$l ISO-8859-1" echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in la_LN; do echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do echo "$l.ISO8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO8859-4 ISO-8859-4" done for l in ru_RU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO8859-5 ISO-8859-5" echo "$l.CP866 CP866" done for l in bg_BG; do echo "$l.CP1251 CP1251" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; darwin*) # Darwin 7.5 has nl_langinfo(CODESET), but it is useless: # - It returns the empty string when LANG is set to a locale of the # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 # LC_CTYPE file. # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. # - The documentation says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # It also says # "An additional caveat is that string parameters for files, # paths, and other file-system entities must be in canonical # UTF-8. In a canonical UTF-8 Unicode string, all decomposable # characters are decomposed ..." # but this is not true: You can pass non-decomposed UTF-8 strings # to file system functions, and it is the OS which will convert # them to decomposed UTF-8 before accessing the file system. # - The Apple Terminal application displays UTF-8 by default. # - However, other applications are free to use different encodings: # - xterm uses ISO-8859-1 by default. # - TextEdit uses MacRoman by default. # We prefer UTF-8 over decomposed UTF-8-MAC because one should # minimize the use of decomposed Unicode. Unfortunately, through the # Darwin file system, decomposed UTF-8 strings are leaked into user # space nevertheless. echo "* UTF-8" ;; beos*) # BeOS has a single locale, and it has UTF-8 encoding. echo "* UTF-8" ;; msdosdjgpp*) # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "#" echo "# The encodings given here may not all be correct." echo "# If you find that the encoding given for your language and" echo "# country is not the one your DOS machine actually uses, just" echo "# correct it in this file, and send a mail to" echo "# Juan Manuel Guerrero " echo "# and Bruno Haible ." echo "#" echo "C ASCII" # ISO-8859-1 languages echo "ca CP850" echo "ca_ES CP850" echo "da CP865" # not CP850 ?? echo "da_DK CP865" # not CP850 ?? echo "de CP850" echo "de_AT CP850" echo "de_CH CP850" echo "de_DE CP850" echo "en CP850" echo "en_AU CP850" # not CP437 ?? echo "en_CA CP850" echo "en_GB CP850" echo "en_NZ CP437" echo "en_US CP437" echo "en_ZA CP850" # not CP437 ?? echo "es CP850" echo "es_AR CP850" echo "es_BO CP850" echo "es_CL CP850" echo "es_CO CP850" echo "es_CR CP850" echo "es_CU CP850" echo "es_DO CP850" echo "es_EC CP850" echo "es_ES CP850" echo "es_GT CP850" echo "es_HN CP850" echo "es_MX CP850" echo "es_NI CP850" echo "es_PA CP850" echo "es_PY CP850" echo "es_PE CP850" echo "es_SV CP850" echo "es_UY CP850" echo "es_VE CP850" echo "et CP850" echo "et_EE CP850" echo "eu CP850" echo "eu_ES CP850" echo "fi CP850" echo "fi_FI CP850" echo "fr CP850" echo "fr_BE CP850" echo "fr_CA CP850" echo "fr_CH CP850" echo "fr_FR CP850" echo "ga CP850" echo "ga_IE CP850" echo "gd CP850" echo "gd_GB CP850" echo "gl CP850" echo "gl_ES CP850" echo "id CP850" # not CP437 ?? echo "id_ID CP850" # not CP437 ?? echo "is CP861" # not CP850 ?? echo "is_IS CP861" # not CP850 ?? echo "it CP850" echo "it_CH CP850" echo "it_IT CP850" echo "lt CP775" echo "lt_LT CP775" echo "lv CP775" echo "lv_LV CP775" echo "nb CP865" # not CP850 ?? echo "nb_NO CP865" # not CP850 ?? echo "nl CP850" echo "nl_BE CP850" echo "nl_NL CP850" echo "nn CP865" # not CP850 ?? echo "nn_NO CP865" # not CP850 ?? echo "no CP865" # not CP850 ?? echo "no_NO CP865" # not CP850 ?? echo "pt CP850" echo "pt_BR CP850" echo "pt_PT CP850" echo "sv CP850" echo "sv_SE CP850" # ISO-8859-2 languages echo "cs CP852" echo "cs_CZ CP852" echo "hr CP852" echo "hr_HR CP852" echo "hu CP852" echo "hu_HU CP852" echo "pl CP852" echo "pl_PL CP852" echo "ro CP852" echo "ro_RO CP852" echo "sk CP852" echo "sk_SK CP852" echo "sl CP852" echo "sl_SI CP852" echo "sq CP852" echo "sq_AL CP852" echo "sr CP852" # CP852 or CP866 or CP855 ?? echo "sr_CS CP852" # CP852 or CP866 or CP855 ?? echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? # ISO-8859-3 languages echo "mt CP850" echo "mt_MT CP850" # ISO-8859-5 languages echo "be CP866" echo "be_BE CP866" echo "bg CP866" # not CP855 ?? echo "bg_BG CP866" # not CP855 ?? echo "mk CP866" # not CP855 ?? echo "mk_MK CP866" # not CP855 ?? echo "ru CP866" echo "ru_RU CP866" echo "uk CP1125" echo "uk_UA CP1125" # ISO-8859-6 languages echo "ar CP864" echo "ar_AE CP864" echo "ar_DZ CP864" echo "ar_EG CP864" echo "ar_IQ CP864" echo "ar_IR CP864" echo "ar_JO CP864" echo "ar_KW CP864" echo "ar_MA CP864" echo "ar_OM CP864" echo "ar_QA CP864" echo "ar_SA CP864" echo "ar_SY CP864" # ISO-8859-7 languages echo "el CP869" echo "el_GR CP869" # ISO-8859-8 languages echo "he CP862" echo "he_IL CP862" # ISO-8859-9 languages echo "tr CP857" echo "tr_TR CP857" # Japanese echo "ja CP932" echo "ja_JP CP932" # Chinese echo "zh_CN GBK" echo "zh_TW CP950" # not CP938 ?? # Korean echo "kr CP949" # not CP934 ?? echo "kr_KR CP949" # not CP934 ?? # Thai echo "th CP874" echo "th_TH CP874" # Other echo "eo CP850" echo "eo_EO CP850" ;; esac dc3dd-7.1.614/lib/quote.c0000644000175000017500000000240111022023316014471 0ustar amedicoamedico/* quote.c - quote arguments for output Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert */ #include #include "quotearg.h" #include "quote.h" /* Return an unambiguous printable representation of NAME, allocated in slot N, suitable for diagnostics. */ char const * quote_n (int n, char const *name) { return quotearg_n_style (n, locale_quoting_style, name); } /* Return an unambiguous printable representation of NAME, suitable for diagnostics. */ char const * quote (char const *name) { return quote_n (0, name); } dc3dd-7.1.614/lib/printf-frexp.c0000644000175000017500000001116411022023316015766 0ustar amedicoamedico/* Split a double into fraction and mantissa, for hexadecimal printf. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #ifdef USE_LONG_DOUBLE # include "printf-frexpl.h" #else # include "printf-frexp.h" #endif #include #include #ifdef USE_LONG_DOUBLE # include "fpucw.h" #endif /* This file assumes FLT_RADIX = 2. If FLT_RADIX is a power of 2 greater than 2, or not even a power of 2, some rounding errors can occur, so that then the returned mantissa is only guaranteed to be <= 2.0, not < 2.0. */ #ifdef USE_LONG_DOUBLE # define FUNC printf_frexpl # define DOUBLE long double # define MIN_EXP LDBL_MIN_EXP # if HAVE_FREXPL_IN_LIBC && HAVE_LDEXPL_IN_LIBC # define USE_FREXP_LDEXP # define FREXP frexpl # define LDEXP ldexpl # endif # define DECL_ROUNDING DECL_LONG_DOUBLE_ROUNDING # define BEGIN_ROUNDING() BEGIN_LONG_DOUBLE_ROUNDING () # define END_ROUNDING() END_LONG_DOUBLE_ROUNDING () # define L_(literal) literal##L #else # define FUNC printf_frexp # define DOUBLE double # define MIN_EXP DBL_MIN_EXP # if HAVE_FREXP_IN_LIBC && HAVE_LDEXP_IN_LIBC # define USE_FREXP_LDEXP # define FREXP frexp # define LDEXP ldexp # endif # define DECL_ROUNDING # define BEGIN_ROUNDING() # define END_ROUNDING() # define L_(literal) literal #endif DOUBLE FUNC (DOUBLE x, int *expptr) { int exponent; DECL_ROUNDING BEGIN_ROUNDING (); #ifdef USE_FREXP_LDEXP /* frexp and ldexp are usually faster than the loop below. */ x = FREXP (x, &exponent); x = x + x; exponent -= 1; if (exponent < MIN_EXP - 1) { x = LDEXP (x, exponent - (MIN_EXP - 1)); exponent = MIN_EXP - 1; } #else { /* Since the exponent is an 'int', it fits in 64 bits. Therefore the loops are executed no more than 64 times. */ DOUBLE pow2[64]; /* pow2[i] = 2^2^i */ DOUBLE powh[64]; /* powh[i] = 2^-2^i */ int i; exponent = 0; if (x >= L_(1.0)) { /* A nonnegative exponent. */ { DOUBLE pow2_i; /* = pow2[i] */ DOUBLE powh_i; /* = powh[i] */ /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i, x * 2^exponent = argument, x >= 1.0. */ for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5); ; i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i) { if (x >= pow2_i) { exponent += (1 << i); x *= powh_i; } else break; pow2[i] = pow2_i; powh[i] = powh_i; } } /* Here 1.0 <= x < 2^2^i. */ } else { /* A negative exponent. */ { DOUBLE pow2_i; /* = pow2[i] */ DOUBLE powh_i; /* = powh[i] */ /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i, x * 2^exponent = argument, x < 1.0, exponent >= MIN_EXP - 1. */ for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5); ; i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i) { if (exponent - (1 << i) < MIN_EXP - 1) break; exponent -= (1 << i); x *= pow2_i; if (x >= L_(1.0)) break; pow2[i] = pow2_i; powh[i] = powh_i; } } /* Here either x < 1.0 and exponent - 2^i < MIN_EXP - 1 <= exponent, or 1.0 <= x < 2^2^i and exponent >= MIN_EXP - 1. */ if (x < L_(1.0)) /* Invariants: x * 2^exponent = argument, x < 1.0 and exponent - 2^i < MIN_EXP - 1 <= exponent. */ while (i > 0) { i--; if (exponent - (1 << i) >= MIN_EXP - 1) { exponent -= (1 << i); x *= pow2[i]; if (x >= L_(1.0)) break; } } /* Here either x < 1.0 and exponent = MIN_EXP - 1, or 1.0 <= x < 2^2^i and exponent >= MIN_EXP - 1. */ } /* Invariants: x * 2^exponent = argument, and either x < 1.0 and exponent = MIN_EXP - 1, or 1.0 <= x < 2^2^i and exponent >= MIN_EXP - 1. */ while (i > 0) { i--; if (x >= pow2[i]) { exponent += (1 << i); x *= powh[i]; } } /* Here either x < 1.0 and exponent = MIN_EXP - 1, or 1.0 <= x < 2.0 and exponent >= MIN_EXP - 1. */ } #endif END_ROUNDING (); *expptr = exponent; return x; } dc3dd-7.1.614/lib/striconv.h0000644000175000017500000000566611064230667015247 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Charset conversion. Copyright (C) 2001-2004, 2006-2007 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _STRICONV_H #define _STRICONV_H #include #if HAVE_ICONV #include #endif #ifdef __cplusplus extern "C" { #endif #if HAVE_ICONV /* Convert an entire string from one encoding to another, using iconv. The original string is at [SRC,...,SRC+SRCLEN-1]. The conversion descriptor is passed as CD. *RESULTP and *LENGTH should initially be a scratch buffer and its size, or *RESULTP can initially be NULL. May erase the contents of the memory at *RESULTP. Return value: 0 if successful, otherwise -1 and errno set. If successful: The resulting string is stored in *RESULTP and its length in *LENGTHP. *RESULTP is set to a freshly allocated memory block, or is unchanged if no dynamic memory allocation was necessary. */ extern int mem_cd_iconv (const char *src, size_t srclen, iconv_t cd, char **resultp, size_t *lengthp); /* Convert an entire string from one encoding to another, using iconv. The original string is the NUL-terminated string starting at SRC. The conversion descriptor is passed as CD. Both the "from" and the "to" encoding must use a single NUL byte at the end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32). Allocate a malloced memory block for the result. Return value: the freshly allocated resulting NUL-terminated string if successful, otherwise NULL and errno set. */ extern char * str_cd_iconv (const char *src, iconv_t cd); #endif /* Convert an entire string from one encoding to another, using iconv. The original string is the NUL-terminated string starting at SRC. Both the "from" and the "to" encoding must use a single NUL byte at the end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32). Allocate a malloced memory block for the result. Return value: the freshly allocated resulting NUL-terminated string if successful, otherwise NULL and errno set. */ extern char * str_iconv (const char *src, const char *from_codeset, const char *to_codeset); #ifdef __cplusplus } #endif #endif /* _STRICONV_H */ dc3dd-7.1.614/lib/xstrtod.h0000644000175000017500000000217411022023316015057 0ustar amedicoamedico/* Error-checking interface to strtod-like functions. Copyright (C) 1996, 1998, 2003, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #ifndef XSTRTOD_H # define XSTRTOD_H 1 # include bool xstrtod (const char *str, const char **ptr, double *result, double (*convert) (char const *, char **)); bool xstrtold (const char *str, const char **ptr, long double *result, long double (*convert) (char const *, char **)); #endif /* not XSTRTOD_H */ dc3dd-7.1.614/lib/xprintf.h0000644000175000017500000000343411022023316015042 0ustar amedicoamedico/* printf wrappers that fail immediately for non-file-related errors Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _XPRINTF_H #define _XPRINTF_H #include #include #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) # define __attribute__(Spec) /* empty */ # endif /* The __-protected variants of `format' and `printf' attributes are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __format__ format # define __printf__ printf # endif #endif extern int xprintf (char const *restrict format, ...) __attribute__ ((__format__ (__printf__, 1, 2))); extern int xvprintf (char const *restrict format, va_list args) __attribute__ ((__format__ (__printf__, 1, 0))); extern int xfprintf (FILE *restrict stream, char const *restrict format, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int xvfprintf (FILE *restrict stream, char const *restrict format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))); #endif dc3dd-7.1.614/lib/getgroups.c0000644000175000017500000000345211022023316015362 0ustar amedicoamedico/* provide consistent interface to getgroups for systems that don't allow N==0 Copyright (C) 1996, 1999, 2003, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include #include #include #include #include "xalloc.h" /* On at least Ultrix 4.3 and NextStep 3.2, getgroups (0, 0) always fails. On other systems, it returns the number of supplemental groups for the process. This function handles that special case and lets the system- provided function handle all others. */ int rpl_getgroups (int n, GETGROUPS_T *group) { int n_groups; GETGROUPS_T *gbuf; int saved_errno; #undef getgroups if (n != 0) return getgroups (n, group); n = 20; while (1) { /* No need to worry about address arithmetic overflow here, since the ancient systems that we're running on have low limits on the number of secondary groups. */ gbuf = xmalloc (n * sizeof *gbuf); n_groups = getgroups (n, gbuf); if (n_groups < n) break; free (gbuf); n += 10; } saved_errno = errno; free (gbuf); errno = saved_errno; return n_groups; } dc3dd-7.1.614/lib/iconv_open-irix.h0000644000175000017500000001717211323425770016502 0ustar amedicoamedico/* ANSI-C code produced by gperf version 3.0.1 */ /* Command-line: gperf -m 10 ./iconv_open-irix.gperf */ /* Computed positions: -k'1,$' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ #error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "./iconv_open-irix.gperf" struct mapping { int standard_name; const char vendor_name[10 + 1]; }; #define TOTAL_KEYWORDS 19 #define MIN_WORD_LENGTH 5 #define MAX_WORD_LENGTH 11 #define MIN_HASH_VALUE 5 #define MAX_HASH_VALUE 23 /* maximum key range = 19, duplicates = 0 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int mapping_hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 8, 2, 5, 12, 11, 0, 10, 9, 8, 7, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 24, 0, 24, 5, 24, 0, 24, 7, 24, 24, 24, 24, 7, 24, 1, 0, 8, 24, 24, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 }; return len + asso_values[(unsigned char)str[len - 1]] + asso_values[(unsigned char)str[0]]; } struct stringpool_t { char stringpool_str5[sizeof("CP855")]; char stringpool_str6[sizeof("EUC-TW")]; char stringpool_str7[sizeof("EUC-KR")]; char stringpool_str8[sizeof("CP1251")]; char stringpool_str9[sizeof("SHIFT_JIS")]; char stringpool_str10[sizeof("ISO-8859-5")]; char stringpool_str11[sizeof("ISO-8859-15")]; char stringpool_str12[sizeof("ISO-8859-1")]; char stringpool_str13[sizeof("EUC-JP")]; char stringpool_str14[sizeof("KOI8-R")]; char stringpool_str15[sizeof("ISO-8859-2")]; char stringpool_str16[sizeof("GB2312")]; char stringpool_str17[sizeof("ISO-8859-9")]; char stringpool_str18[sizeof("ISO-8859-8")]; char stringpool_str19[sizeof("ISO-8859-7")]; char stringpool_str20[sizeof("ISO-8859-6")]; char stringpool_str21[sizeof("ISO-8859-4")]; char stringpool_str22[sizeof("ISO-8859-3")]; char stringpool_str23[sizeof("TIS-620")]; }; static const struct stringpool_t stringpool_contents = { "CP855", "EUC-TW", "EUC-KR", "CP1251", "SHIFT_JIS", "ISO-8859-5", "ISO-8859-15", "ISO-8859-1", "EUC-JP", "KOI8-R", "ISO-8859-2", "GB2312", "ISO-8859-9", "ISO-8859-8", "ISO-8859-7", "ISO-8859-6", "ISO-8859-4", "ISO-8859-3", "TIS-620" }; #define stringpool ((const char *) &stringpool_contents) static const struct mapping mappings[] = { {-1}, {-1}, {-1}, {-1}, {-1}, #line 24 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str5, "DOS855"}, #line 29 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "eucTW"}, #line 28 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "eucKR"}, #line 25 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "WIN1251"}, #line 30 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "sjis"}, #line 17 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-5"}, #line 22 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"}, #line 13 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-1"}, #line 27 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "eucJP"}, #line 23 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "KOI8"}, #line 14 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-2"}, #line 26 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "eucCN"}, #line 21 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-9"}, #line 20 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-8"}, #line 19 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-7"}, #line 18 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-6"}, #line 16 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-4"}, #line 15 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-3"}, #line 31 "./iconv_open-irix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "TIS620"} }; #ifdef __GNUC__ __inline #endif const struct mapping * mapping_lookup (register const char *str, register unsigned int len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = mapping_hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int o = mappings[key].standard_name; if (o >= 0) { register const char *s = o + stringpool; if (*str == *s && !strcmp (str + 1, s + 1)) return &mappings[key]; } } } return 0; } dc3dd-7.1.614/lib/printf-args.c0000644000175000017500000001347211064230667015621 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Decomposed printf argument list. Copyright (C) 1999, 2002-2003, 2005-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. PRINTF_FETCHARGS Name of the function to be defined. STATIC Set to 'static' to declare the function static. */ #ifndef PRINTF_FETCHARGS # include #endif /* Specification. */ #ifndef PRINTF_FETCHARGS # include "printf-args.h" #endif #ifdef STATIC STATIC #endif int PRINTF_FETCHARGS (va_list args, arguments *a) { size_t i; argument *ap; for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) switch (ap->type) { case TYPE_SCHAR: ap->a.a_schar = va_arg (args, /*signed char*/ int); break; case TYPE_UCHAR: ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); break; case TYPE_SHORT: ap->a.a_short = va_arg (args, /*short*/ int); break; case TYPE_USHORT: ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); break; case TYPE_INT: ap->a.a_int = va_arg (args, int); break; case TYPE_UINT: ap->a.a_uint = va_arg (args, unsigned int); break; case TYPE_LONGINT: ap->a.a_longint = va_arg (args, long int); break; case TYPE_ULONGINT: ap->a.a_ulongint = va_arg (args, unsigned long int); break; #if HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: ap->a.a_longlongint = va_arg (args, long long int); break; case TYPE_ULONGLONGINT: ap->a.a_ulonglongint = va_arg (args, unsigned long long int); break; #endif case TYPE_DOUBLE: ap->a.a_double = va_arg (args, double); break; case TYPE_LONGDOUBLE: ap->a.a_longdouble = va_arg (args, long double); break; case TYPE_CHAR: ap->a.a_char = va_arg (args, int); break; #if HAVE_WINT_T case TYPE_WIDE_CHAR: /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by default argument promotions", this is not the case in mingw32, where wint_t is 'unsigned short'. */ ap->a.a_wide_char = (sizeof (wint_t) < sizeof (int) ? va_arg (args, int) : va_arg (args, wint_t)); break; #endif case TYPE_STRING: ap->a.a_string = va_arg (args, const char *); /* A null pointer is an invalid argument for "%s", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_string == NULL) ap->a.a_string = "(NULL)"; break; #if HAVE_WCHAR_T case TYPE_WIDE_STRING: ap->a.a_wide_string = va_arg (args, const wchar_t *); /* A null pointer is an invalid argument for "%ls", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_wide_string == NULL) { static const wchar_t wide_null_string[] = { (wchar_t)'(', (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', (wchar_t)')', (wchar_t)0 }; ap->a.a_wide_string = wide_null_string; } break; #endif case TYPE_POINTER: ap->a.a_pointer = va_arg (args, void *); break; case TYPE_COUNT_SCHAR_POINTER: ap->a.a_count_schar_pointer = va_arg (args, signed char *); break; case TYPE_COUNT_SHORT_POINTER: ap->a.a_count_short_pointer = va_arg (args, short *); break; case TYPE_COUNT_INT_POINTER: ap->a.a_count_int_pointer = va_arg (args, int *); break; case TYPE_COUNT_LONGINT_POINTER: ap->a.a_count_longint_pointer = va_arg (args, long int *); break; #if HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); break; #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ case TYPE_U8_STRING: ap->a.a_u8_string = va_arg (args, const uint8_t *); /* A null pointer is an invalid argument for "%U", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_u8_string == NULL) { static const uint8_t u8_null_string[] = { '(', 'N', 'U', 'L', 'L', ')', 0 }; ap->a.a_u8_string = u8_null_string; } break; case TYPE_U16_STRING: ap->a.a_u16_string = va_arg (args, const uint16_t *); /* A null pointer is an invalid argument for "%lU", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_u16_string == NULL) { static const uint16_t u16_null_string[] = { '(', 'N', 'U', 'L', 'L', ')', 0 }; ap->a.a_u16_string = u16_null_string; } break; case TYPE_U32_STRING: ap->a.a_u32_string = va_arg (args, const uint32_t *); /* A null pointer is an invalid argument for "%llU", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_u32_string == NULL) { static const uint32_t u32_null_string[] = { '(', 'N', 'U', 'L', 'L', ')', 0 }; ap->a.a_u32_string = u32_null_string; } break; #endif default: /* Unknown type. */ return -1; } return 0; } dc3dd-7.1.614/lib/isnanf.c0000644000175000017500000000150411022023316014615 0ustar amedicoamedico/* Test for NaN that does not need libm. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #define USE_FLOAT #include "isnan.c" dc3dd-7.1.614/lib/randread.h0000644000175000017500000000223711022023316015130 0ustar amedicoamedico/* Generate buffers of random data. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #ifndef RANDREAD_H # define RANDREAD_H 1 # include struct randread_source; struct randread_source *randread_new (char const *, size_t); void randread (struct randread_source *, void *, size_t); void randread_set_handler (struct randread_source *, void (*) (void const *)); void randread_set_handler_arg (struct randread_source *, void const *); int randread_free (struct randread_source *); #endif dc3dd-7.1.614/lib/gnulib.mk0000644000175000017500000021232611064230667015031 0ustar amedicoamedico## DO NOT EDIT! GENERATED AUTOMATICALLY! ## Process this file with automake to produce Makefile.in. # Copyright (C) 2002-2008 Free Software Foundation, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. # Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libcoreutils --source-base=lib --m4-base=m4 --doc-base=doc --aux-dir=build-aux --with-tests --avoid=canonicalize-lgpl --avoid=lock --no-libtool --macro-prefix=gl acl alloca announce-gen areadlink-with-size argmatch assert atexit autobuild backupfile base64 c-strcase c-strtod c-strtold calloc canon-host canonicalize chown cloexec closein closeout config-h configmake crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 cycle-check d-ino d-type diacrit dirfd dirname dup2 error euidaccess exclude exitfail fchdir fcntl fcntl-safer fdl file-type fileblocks filemode filenamecat fnmatch-gnu fopen-safer fprintftime fseeko fsusage ftello ftruncate fts getdate getgroups gethrxtime getline getloadavg getndelim2 getopt getpagesize getpass-gnu gettext gettime gettimeofday getugroups getusershell git-version-gen gitlog-to-changelog gnu-make gnumakefile gnupload group-member hard-locale hash hash-pjw host-os human idcache inttostr inttypes isapipe lchmod lchown lib-ignore linebuffer link-follow long-options lstat malloc mbswidth memcasecmp memchr memcmp memcpy memmove mempcpy memrchr memset mgetgroups mkancesdirs mkdir mkdir-p mkstemp mktime modechange mountlist mpsort obstack pathmax perl physmem posix-shell posixtm posixver propername putenv quote quotearg raise randint randperm readlink readtokens readtokens0 readutmp realloc regex rename rename-dest-slash rmdir rmdir-errno root-dev-ino rpmatch safe-read same save-cwd savedir savewd selinux-at settime sig2str ssize_t stat-macros stat-time stdbool stdlib-safer stpcpy stpncpy strcspn strftime strpbrk strtod strtoimax strtol strtoumax strverscmp sys_stat timespec tzset unicodeio unistd-safer unlink-busy unlinkdir unlocked-io uptime useless-if-before-free userspec utime utimecmp utimens vasprintf-posix vc-list-files verify version-etc-fsf wcwidth winsz-ioctl winsz-termios write-any-file xalloc xgetcwd xgethostname xmemcoll xnanosleep xprintf xprintf-posix xstrtod xstrtoimax xstrtol xstrtold xstrtoumax yesno AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects noinst_HEADERS = noinst_LIBRARIES = noinst_LTLIBRARIES = EXTRA_DIST = BUILT_SOURCES = SUFFIXES = MOSTLYCLEANFILES = core *.stackdump MOSTLYCLEANDIRS = CLEANFILES = DISTCLEANFILES = MAINTAINERCLEANFILES = AM_CPPFLAGS = noinst_LIBRARIES += libcoreutils.a libcoreutils_a_SOURCES = libcoreutils_a_LIBADD = $(gl_LIBOBJS) libcoreutils_a_DEPENDENCIES = $(gl_LIBOBJS) EXTRA_libcoreutils_a_SOURCES = EXTRA_DIST += alloca.c EXTRA_libcoreutils_a_SOURCES += alloca.c libcoreutils_a_LIBADD += @ALLOCA@ libcoreutils_a_DEPENDENCIES += @ALLOCA@ ## end gnulib module alloca ## begin gnulib module alloca-opt BUILT_SOURCES += $(ALLOCA_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. alloca.h: alloca.in.h { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(srcdir)/alloca.in.h; \ } > $@-t mv -f $@-t $@ MOSTLYCLEANFILES += alloca.h alloca.h-t EXTRA_DIST += alloca.in.h ## end gnulib module alloca-opt ## begin gnulib module announce-gen EXTRA_DIST += $(top_srcdir)/build-aux/announce-gen ## end gnulib module announce-gen ## begin gnulib module areadlink-with-size libcoreutils_a_SOURCES += areadlink-with-size.c EXTRA_DIST += areadlink.h ## end gnulib module areadlink-with-size ## begin gnulib module argmatch EXTRA_DIST += argmatch.c argmatch.h EXTRA_libcoreutils_a_SOURCES += argmatch.c ## end gnulib module argmatch ## begin gnulib module arpa_inet BUILT_SOURCES += $(ARPA_INET_H) # We need the following in order to create when the system # doesn't have one. arpa/inet.h: @MKDIR_P@ arpa rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ -e 's|@''GNULIB_INET_NTOP''@|$(GNULIB_INET_NTOP)|g' \ -e 's|@''GNULIB_INET_PTON''@|$(GNULIB_INET_PTON)|g' \ -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ < $(srcdir)/arpa_inet.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += arpa/inet.h arpa/inet.h-t MOSTLYCLEANDIRS += arpa EXTRA_DIST += arpa_inet.in.h ## end gnulib module arpa_inet ## begin gnulib module atexit EXTRA_DIST += atexit.c EXTRA_libcoreutils_a_SOURCES += atexit.c ## end gnulib module atexit ## begin gnulib module base64 libcoreutils_a_SOURCES += base64.h base64.c ## end gnulib module base64 ## begin gnulib module c-ctype libcoreutils_a_SOURCES += c-ctype.h c-ctype.c ## end gnulib module c-ctype ## begin gnulib module c-strcase libcoreutils_a_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c ## end gnulib module c-strcase ## begin gnulib module c-strtod EXTRA_DIST += c-strtod.c c-strtod.h EXTRA_libcoreutils_a_SOURCES += c-strtod.c ## end gnulib module c-strtod ## begin gnulib module c-strtold EXTRA_DIST += c-strtod.c c-strtod.h c-strtold.c EXTRA_libcoreutils_a_SOURCES += c-strtod.c c-strtold.c ## end gnulib module c-strtold ## begin gnulib module calloc EXTRA_DIST += calloc.c EXTRA_libcoreutils_a_SOURCES += calloc.c ## end gnulib module calloc ## begin gnulib module calloc-posix EXTRA_DIST += calloc.c EXTRA_libcoreutils_a_SOURCES += calloc.c ## end gnulib module calloc-posix ## begin gnulib module canonicalize EXTRA_DIST += canonicalize.c canonicalize.h pathmax.h EXTRA_libcoreutils_a_SOURCES += canonicalize.c ## end gnulib module canonicalize ## begin gnulib module chdir-long EXTRA_DIST += chdir-long.c chdir-long.h EXTRA_libcoreutils_a_SOURCES += chdir-long.c ## end gnulib module chdir-long ## begin gnulib module chown EXTRA_DIST += chown.c fchown-stub.c EXTRA_libcoreutils_a_SOURCES += chown.c fchown-stub.c ## end gnulib module chown ## begin gnulib module cloexec EXTRA_DIST += cloexec.c cloexec.h EXTRA_libcoreutils_a_SOURCES += cloexec.c ## end gnulib module cloexec ## begin gnulib module close-stream EXTRA_DIST += close-stream.c close-stream.h EXTRA_libcoreutils_a_SOURCES += close-stream.c ## end gnulib module close-stream ## begin gnulib module closein EXTRA_DIST += closein.c closein.h EXTRA_libcoreutils_a_SOURCES += closein.c ## end gnulib module closein ## begin gnulib module closeout EXTRA_DIST += closeout.c closeout.h EXTRA_libcoreutils_a_SOURCES += closeout.c ## end gnulib module closeout ## begin gnulib module configmake # Retrieve values of the variables through 'configure' followed by # 'make', not directly through 'configure', so that a user who # sets some of these variables consistently on the 'make' command # line gets correct results. # # One advantage of this approach, compared to the classical # approach of adding -DLIBDIR=\"$(libdir)\" etc. to AM_CPPFLAGS, # is that it protects against the use of undefined variables. # If, say, $(libdir) is not set in the Makefile, LIBDIR is not # defined by this module, and code using LIBDIR gives a # compilation error. # # Another advantage is that 'make' output is shorter. # # Listed in the same order as the GNU makefile conventions. # The Automake-defined pkg* macros are appended, in the order # listed in the Automake 1.10a+ documentation. configmake.h: Makefile rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ echo '#define PREFIX "$(prefix)"'; \ echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ echo '#define BINDIR "$(bindir)"'; \ echo '#define SBINDIR "$(sbindir)"'; \ echo '#define LIBEXECDIR "$(libexecdir)"'; \ echo '#define DATAROOTDIR "$(datarootdir)"'; \ echo '#define DATADIR "$(datadir)"'; \ echo '#define SYSCONFDIR "$(sysconfdir)"'; \ echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ echo '#define INCLUDEDIR "$(includedir)"'; \ echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ echo '#define DOCDIR "$(docdir)"'; \ echo '#define INFODIR "$(infodir)"'; \ echo '#define HTMLDIR "$(htmldir)"'; \ echo '#define DVIDIR "$(dvidir)"'; \ echo '#define PDFDIR "$(pdfdir)"'; \ echo '#define PSDIR "$(psdir)"'; \ echo '#define LIBDIR "$(libdir)"'; \ echo '#define LISPDIR "$(lispdir)"'; \ echo '#define LOCALEDIR "$(localedir)"'; \ echo '#define MANDIR "$(mandir)"'; \ echo '#define MANEXT "$(manext)"'; \ echo '#define PKGDATADIR "$(pkgdatadir)"'; \ echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ echo '#define PKGLIBDIR "$(pkglibdir)"'; \ echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ } | sed '/""/d' > $@-t mv $@-t $@ BUILT_SOURCES += configmake.h CLEANFILES += configmake.h configmake.h-t ## end gnulib module configmake ## begin gnulib module crypto/md5 EXTRA_DIST += md5.c md5.h EXTRA_libcoreutils_a_SOURCES += md5.c ## end gnulib module crypto/md5 ## begin gnulib module crypto/sha1 EXTRA_DIST += sha1.c sha1.h EXTRA_libcoreutils_a_SOURCES += sha1.c ## end gnulib module crypto/sha1 ## begin gnulib module crypto/sha256 EXTRA_DIST += sha256.c sha256.h EXTRA_libcoreutils_a_SOURCES += sha256.c ## end gnulib module crypto/sha256 ## begin gnulib module crypto/sha512 EXTRA_DIST += sha512.c sha512.h u64.h EXTRA_libcoreutils_a_SOURCES += sha512.c ## end gnulib module crypto/sha512 ## begin gnulib module cycle-check EXTRA_DIST += cycle-check.c cycle-check.h EXTRA_libcoreutils_a_SOURCES += cycle-check.c ## end gnulib module cycle-check ## begin gnulib module dev-ino EXTRA_DIST += dev-ino.h ## end gnulib module dev-ino ## begin gnulib module diacrit libcoreutils_a_SOURCES += diacrit.h diacrit.c ## end gnulib module diacrit ## begin gnulib module dirfd EXTRA_DIST += dirfd.c dirfd.h EXTRA_libcoreutils_a_SOURCES += dirfd.c ## end gnulib module dirfd ## begin gnulib module dirname EXTRA_DIST += basename.c dirname.c dirname.h stripslash.c EXTRA_libcoreutils_a_SOURCES += basename.c dirname.c stripslash.c ## end gnulib module dirname ## begin gnulib module dup2 EXTRA_DIST += dup2.c EXTRA_libcoreutils_a_SOURCES += dup2.c ## end gnulib module dup2 ## begin gnulib module error EXTRA_DIST += error.c error.h EXTRA_libcoreutils_a_SOURCES += error.c ## end gnulib module error ## begin gnulib module exclude EXTRA_DIST += exclude.c exclude.h EXTRA_libcoreutils_a_SOURCES += exclude.c ## end gnulib module exclude ## begin gnulib module exitfail EXTRA_DIST += exitfail.c exitfail.h EXTRA_libcoreutils_a_SOURCES += exitfail.c ## end gnulib module exitfail ## begin gnulib module fchdir BUILT_SOURCES += $(DIRENT_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. dirent.h: dirent.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ < $(srcdir)/dirent.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += dirent.h dirent.h-t EXTRA_DIST += dirent.in.h fchdir.c EXTRA_libcoreutils_a_SOURCES += fchdir.c ## end gnulib module fchdir ## begin gnulib module fcntl BUILT_SOURCES += $(FCNTL_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. fcntl.h: fcntl.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ -e 's|@''GNULIB_OPEN''@|$(GNULIB_OPEN)|g' \ -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \ < $(srcdir)/fcntl.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += fcntl.h fcntl.h-t EXTRA_DIST += fcntl.in.h ## end gnulib module fcntl ## begin gnulib module fcntl-safer EXTRA_DIST += creat-safer.c fcntl--.h fcntl-safer.h open-safer.c EXTRA_libcoreutils_a_SOURCES += creat-safer.c open-safer.c ## end gnulib module fcntl-safer ## begin gnulib module fflush EXTRA_DIST += fflush.c stdio-impl.h EXTRA_libcoreutils_a_SOURCES += fflush.c ## end gnulib module fflush ## begin gnulib module file-set libcoreutils_a_SOURCES += file-set.c EXTRA_DIST += file-set.h ## end gnulib module file-set ## begin gnulib module file-type EXTRA_DIST += file-type.c file-type.h EXTRA_libcoreutils_a_SOURCES += file-type.c ## end gnulib module file-type ## begin gnulib module fileblocks EXTRA_DIST += fileblocks.c EXTRA_libcoreutils_a_SOURCES += fileblocks.c ## end gnulib module fileblocks ## begin gnulib module filemode EXTRA_DIST += filemode.c filemode.h EXTRA_libcoreutils_a_SOURCES += filemode.c ## end gnulib module filemode ## begin gnulib module filenamecat EXTRA_DIST += filenamecat.c filenamecat.h EXTRA_libcoreutils_a_SOURCES += filenamecat.c ## end gnulib module filenamecat ## begin gnulib module float BUILT_SOURCES += $(FLOAT_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. float.h: float.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ < $(srcdir)/float.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += float.h float.h-t EXTRA_DIST += float.in.h ## end gnulib module float ## begin gnulib module fnmatch BUILT_SOURCES += $(FNMATCH_H) # We need the following in order to create when the system # doesn't have one that supports the required API. fnmatch.h: fnmatch.in.h { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(srcdir)/fnmatch.in.h; \ } > $@-t mv -f $@-t $@ MOSTLYCLEANFILES += fnmatch.h fnmatch.h-t EXTRA_DIST += fnmatch.c fnmatch.in.h fnmatch_loop.c EXTRA_libcoreutils_a_SOURCES += fnmatch.c fnmatch_loop.c ## end gnulib module fnmatch ## begin gnulib module fopen-safer EXTRA_DIST += fopen-safer.c stdio--.h stdio-safer.h EXTRA_libcoreutils_a_SOURCES += fopen-safer.c ## end gnulib module fopen-safer ## begin gnulib module fpending EXTRA_DIST += fpending.c fpending.h EXTRA_libcoreutils_a_SOURCES += fpending.c ## end gnulib module fpending ## begin gnulib module fprintftime EXTRA_DIST += fprintftime.c fprintftime.h EXTRA_libcoreutils_a_SOURCES += fprintftime.c ## end gnulib module fprintftime ## begin gnulib module fpucw EXTRA_DIST += fpucw.h ## end gnulib module fpucw ## begin gnulib module fpurge libcoreutils_a_SOURCES += fpurge.c EXTRA_DIST += fpurge.h stdio-impl.h ## end gnulib module fpurge ## begin gnulib module freadahead libcoreutils_a_SOURCES += freadahead.c EXTRA_DIST += freadahead.h stdio-impl.h ## end gnulib module freadahead ## begin gnulib module freading libcoreutils_a_SOURCES += freading.c EXTRA_DIST += freading.h stdio-impl.h ## end gnulib module freading ## begin gnulib module freadptr libcoreutils_a_SOURCES += freadptr.c EXTRA_DIST += freadptr.h stdio-impl.h ## end gnulib module freadptr ## begin gnulib module freadseek libcoreutils_a_SOURCES += freadseek.c EXTRA_DIST += freadseek.h stdio-impl.h ## end gnulib module freadseek ## begin gnulib module frexp-nolibm EXTRA_DIST += frexp.c EXTRA_libcoreutils_a_SOURCES += frexp.c ## end gnulib module frexp-nolibm ## begin gnulib module frexpl-nolibm EXTRA_DIST += frexp.c frexpl.c EXTRA_libcoreutils_a_SOURCES += frexp.c frexpl.c ## end gnulib module frexpl-nolibm ## begin gnulib module fseeko EXTRA_DIST += fseeko.c stdio-impl.h EXTRA_libcoreutils_a_SOURCES += fseeko.c ## end gnulib module fseeko ## begin gnulib module fseterr libcoreutils_a_SOURCES += fseterr.c EXTRA_DIST += fseterr.h stdio-impl.h ## end gnulib module fseterr ## begin gnulib module fsusage EXTRA_DIST += fsusage.c fsusage.h EXTRA_libcoreutils_a_SOURCES += fsusage.c ## end gnulib module fsusage ## begin gnulib module ftello EXTRA_DIST += ftello.c EXTRA_libcoreutils_a_SOURCES += ftello.c ## end gnulib module ftello ## begin gnulib module ftruncate EXTRA_DIST += ftruncate.c EXTRA_libcoreutils_a_SOURCES += ftruncate.c ## end gnulib module ftruncate ## begin gnulib module full-read libcoreutils_a_SOURCES += full-read.h full-read.c ## end gnulib module full-read ## begin gnulib module full-write libcoreutils_a_SOURCES += full-write.h full-write.c ## end gnulib module full-write ## begin gnulib module getcwd EXTRA_DIST += getcwd.c EXTRA_libcoreutils_a_SOURCES += getcwd.c ## end gnulib module getcwd ## begin gnulib module getdate libcoreutils_a_SOURCES += getdate.y BUILT_SOURCES += getdate.c MAINTAINERCLEANFILES += getdate.c EXTRA_DIST += getdate.c EXTRA_DIST += getdate.h ## end gnulib module getdate ## begin gnulib module getdelim EXTRA_DIST += getdelim.c EXTRA_libcoreutils_a_SOURCES += getdelim.c ## end gnulib module getdelim ## begin gnulib module getgroups EXTRA_DIST += getgroups.c EXTRA_libcoreutils_a_SOURCES += getgroups.c ## end gnulib module getgroups ## begin gnulib module gethostname EXTRA_DIST += gethostname.c EXTRA_libcoreutils_a_SOURCES += gethostname.c ## end gnulib module gethostname ## begin gnulib module gethrxtime EXTRA_DIST += gethrxtime.c gethrxtime.h xtime.h EXTRA_libcoreutils_a_SOURCES += gethrxtime.c ## end gnulib module gethrxtime ## begin gnulib module getline EXTRA_DIST += getline.c EXTRA_libcoreutils_a_SOURCES += getline.c ## end gnulib module getline ## begin gnulib module getloadavg EXTRA_DIST += getloadavg.c EXTRA_libcoreutils_a_SOURCES += getloadavg.c ## end gnulib module getloadavg ## begin gnulib module getndelim2 EXTRA_DIST += getndelim2.c getndelim2.h EXTRA_libcoreutils_a_SOURCES += getndelim2.c ## end gnulib module getndelim2 ## begin gnulib module getopt BUILT_SOURCES += $(GETOPT_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. getopt.h: getopt.in.h { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(srcdir)/getopt.in.h; \ } > $@-t mv -f $@-t $@ MOSTLYCLEANFILES += getopt.h getopt.h-t EXTRA_DIST += getopt.c getopt.in.h getopt1.c getopt_int.h EXTRA_libcoreutils_a_SOURCES += getopt.c getopt1.c ## end gnulib module getopt ## begin gnulib module getpagesize EXTRA_DIST += getpagesize.c EXTRA_libcoreutils_a_SOURCES += getpagesize.c ## end gnulib module getpagesize ## begin gnulib module getpass-gnu EXTRA_DIST += getpass.c getpass.h EXTRA_libcoreutils_a_SOURCES += getpass.c ## end gnulib module getpass-gnu ## begin gnulib module gettext # This is for those projects which use "gettextize --intl" to put a source-code # copy of libintl into their package. In such projects, every Makefile.am needs # -I$(top_builddir)/intl, so that can be found in this directory. # For the Makefile.ams in other directories it is the maintainer's # responsibility; for the one from gnulib we do it here. # This option has no effect when the user disables NLS (because then the intl # directory contains no libintl.h file) or when the project does not use # "gettextize --intl". #AM_CPPFLAGS += -I$(top_builddir)/intl EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath ## end gnulib module gettext ## begin gnulib module gettext-h libcoreutils_a_SOURCES += gettext.h ## end gnulib module gettext-h ## begin gnulib module gettime EXTRA_DIST += gettime.c EXTRA_libcoreutils_a_SOURCES += gettime.c ## end gnulib module gettime ## begin gnulib module gettimeofday EXTRA_DIST += gettimeofday.c EXTRA_libcoreutils_a_SOURCES += gettimeofday.c ## end gnulib module gettimeofday ## begin gnulib module git-version-gen EXTRA_DIST += $(top_srcdir)/build-aux/git-version-gen ## end gnulib module git-version-gen ## begin gnulib module gitlog-to-changelog EXTRA_DIST += $(top_srcdir)/build-aux/gitlog-to-changelog ## end gnulib module gitlog-to-changelog ## begin gnulib module gnu-make ##Sample usage of gnu-make module: #if GNU_MAKE # [nicer features that work only with GNU Make] #else # [fallback features that work in any 'make' implementation; see # http://www.opengroup.org/susv3/utilities/make.html # for the 2004 POSIX specification] #endif ## end gnulib module gnu-make ## begin gnulib module gnumakefile distclean-local: clean-GNUmakefile clean-GNUmakefile: test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || : EXTRA_DIST += $(top_srcdir)/GNUmakefile ## end gnulib module gnumakefile ## begin gnulib module gnupload EXTRA_DIST += $(top_srcdir)/build-aux/gnupload ## end gnulib module gnupload ## begin gnulib module gperf GPERF = gperf ## end gnulib module gperf ## begin gnulib module hard-locale EXTRA_DIST += hard-locale.c hard-locale.h EXTRA_libcoreutils_a_SOURCES += hard-locale.c ## end gnulib module hard-locale ## begin gnulib module hash EXTRA_DIST += hash.c hash.h EXTRA_libcoreutils_a_SOURCES += hash.c ## end gnulib module hash ## begin gnulib module hash-pjw libcoreutils_a_SOURCES += hash-pjw.h hash-pjw.c ## end gnulib module hash-pjw ## begin gnulib module hash-triple libcoreutils_a_SOURCES += hash-triple.c EXTRA_DIST += hash-triple.h ## end gnulib module hash-triple ## begin gnulib module havelib EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath ## end gnulib module havelib ## begin gnulib module human EXTRA_DIST += human.c human.h EXTRA_libcoreutils_a_SOURCES += human.c ## end gnulib module human ## begin gnulib module iconv_open BUILT_SOURCES += $(ICONV_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. iconv.h: iconv.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \ -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \ -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \ -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \ -e 's|@''REPLACE_ICONV_UTF''@|$(REPLACE_ICONV_UTF)|g' \ < $(srcdir)/iconv.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += iconv.h iconv.h-t iconv_open-aix.h: iconv_open-aix.gperf $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $@-t mv $@-t $@ iconv_open-hpux.h: iconv_open-hpux.gperf $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $@-t mv $@-t $@ iconv_open-irix.h: iconv_open-irix.gperf $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $@-t mv $@-t $@ iconv_open-osf.h: iconv_open-osf.gperf $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $@-t mv $@-t $@ BUILT_SOURCES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h MOSTLYCLEANFILES += iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t MAINTAINERCLEANFILES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h EXTRA_DIST += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h EXTRA_DIST += iconv.in.h iconv_open-aix.gperf iconv_open-hpux.gperf iconv_open-irix.gperf iconv_open-osf.gperf iconv_open.c EXTRA_libcoreutils_a_SOURCES += iconv_open.c ## end gnulib module iconv_open ## begin gnulib module idcache EXTRA_DIST += idcache.c idcache.h EXTRA_libcoreutils_a_SOURCES += idcache.c ## end gnulib module idcache ## begin gnulib module intprops EXTRA_DIST += intprops.h ## end gnulib module intprops ## begin gnulib module inttostr EXTRA_DIST += imaxtostr.c inttostr.c inttostr.h offtostr.c uinttostr.c umaxtostr.c EXTRA_libcoreutils_a_SOURCES += imaxtostr.c inttostr.c offtostr.c uinttostr.c umaxtostr.c ## end gnulib module inttostr ## begin gnulib module inttypes BUILT_SOURCES += $(INTTYPES_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. inttypes.h: inttypes.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/inttypes.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += inttypes.h inttypes.h-t EXTRA_DIST += inttypes.in.h ## end gnulib module inttypes ## begin gnulib module isapipe EXTRA_DIST += isapipe.c isapipe.h EXTRA_libcoreutils_a_SOURCES += isapipe.c ## end gnulib module isapipe ## begin gnulib module isnand-nolibm EXTRA_DIST += float+.h isnan.c isnand.c isnand.h EXTRA_libcoreutils_a_SOURCES += isnan.c isnand.c ## end gnulib module isnand-nolibm ## begin gnulib module isnanf-nolibm EXTRA_DIST += float+.h isnan.c isnanf.c isnanf.h EXTRA_libcoreutils_a_SOURCES += isnan.c isnanf.c ## end gnulib module isnanf-nolibm ## begin gnulib module isnanl-nolibm EXTRA_DIST += float+.h isnan.c isnanl-nolibm.h isnanl.c EXTRA_libcoreutils_a_SOURCES += isnan.c isnanl.c ## end gnulib module isnanl-nolibm ## begin gnulib module lchmod EXTRA_DIST += lchmod.h ## end gnulib module lchmod ## begin gnulib module lchown EXTRA_DIST += lchown.c EXTRA_libcoreutils_a_SOURCES += lchown.c ## end gnulib module lchown ## begin gnulib module linebuffer libcoreutils_a_SOURCES += linebuffer.h linebuffer.c ## end gnulib module linebuffer ## begin gnulib module link-warning LINK_WARNING_H=$(top_srcdir)/build-aux/link-warning.h EXTRA_DIST += $(top_srcdir)/build-aux/link-warning.h ## end gnulib module link-warning ## begin gnulib module localcharset libcoreutils_a_SOURCES += localcharset.h localcharset.c # We need the following in order to install a simple file in $(libdir) # which is shared with other installed packages. We use a list of referencing # packages so that "make uninstall" will remove the file if and only if it # is not used by another installed package. # On systems with glibc-2.1 or newer, the file is redundant, therefore we # avoid installing it. all-local: charset.alias ref-add.sed ref-del.sed charset_alias = $(DESTDIR)$(libdir)/charset.alias charset_tmp = $(DESTDIR)$(libdir)/charset.tmp install-exec-local: all-local test $(GLIBC21) != no || $(mkinstalldirs) $(DESTDIR)$(libdir) if test -f $(charset_alias); then \ sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ else \ if test $(GLIBC21) = no; then \ sed -f ref-add.sed charset.alias > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ fi ; \ fi uninstall-local: all-local if test -f $(charset_alias); then \ sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \ if grep '^# Packages using this file: $$' $(charset_tmp) \ > /dev/null; then \ rm -f $(charset_alias); \ else \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ fi; \ rm -f $(charset_tmp); \ fi charset.alias: config.charset rm -f t-$@ $@ $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ mv t-$@ $@ SUFFIXES += .sed .sin .sin.sed: rm -f t-$@ $@ sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ mv t-$@ $@ CLEANFILES += charset.alias ref-add.sed ref-del.sed EXTRA_DIST += config.charset ref-add.sin ref-del.sin ## end gnulib module localcharset ## begin gnulib module long-options EXTRA_DIST += long-options.c long-options.h EXTRA_libcoreutils_a_SOURCES += long-options.c ## end gnulib module long-options ## begin gnulib module lseek EXTRA_DIST += lseek.c EXTRA_libcoreutils_a_SOURCES += lseek.c ## end gnulib module lseek ## begin gnulib module lstat EXTRA_DIST += lstat.c lstat.h EXTRA_libcoreutils_a_SOURCES += lstat.c ## end gnulib module lstat ## begin gnulib module malloc EXTRA_DIST += malloc.c EXTRA_libcoreutils_a_SOURCES += malloc.c ## end gnulib module malloc ## begin gnulib module malloc-posix EXTRA_DIST += malloc.c EXTRA_libcoreutils_a_SOURCES += malloc.c ## end gnulib module malloc-posix ## begin gnulib module malloca libcoreutils_a_SOURCES += malloca.c EXTRA_DIST += malloca.h malloca.valgrind ## end gnulib module malloca ## begin gnulib module math BUILT_SOURCES += math.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. math.h: math.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_MATH_H''@|$(NEXT_MATH_H)|g' \ -e 's|@''GNULIB_CEILF''@|$(GNULIB_CEILF)|g' \ -e 's|@''GNULIB_CEILL''@|$(GNULIB_CEILL)|g' \ -e 's|@''GNULIB_FLOORF''@|$(GNULIB_FLOORF)|g' \ -e 's|@''GNULIB_FLOORL''@|$(GNULIB_FLOORL)|g' \ -e 's|@''GNULIB_FREXP''@|$(GNULIB_FREXP)|g' \ -e 's|@''GNULIB_FREXPL''@|$(GNULIB_FREXPL)|g' \ -e 's|@''GNULIB_ISFINITE''@|$(GNULIB_ISFINITE)|g' \ -e 's|@''GNULIB_LDEXPL''@|$(GNULIB_LDEXPL)|g' \ -e 's|@''GNULIB_MATHL''@|$(GNULIB_MATHL)|g' \ -e 's|@''GNULIB_ROUND''@|$(GNULIB_ROUND)|g' \ -e 's|@''GNULIB_ROUNDF''@|$(GNULIB_ROUNDF)|g' \ -e 's|@''GNULIB_ROUNDL''@|$(GNULIB_ROUNDL)|g' \ -e 's|@''GNULIB_SIGNBIT''@|$(GNULIB_SIGNBIT)|g' \ -e 's|@''GNULIB_TRUNC''@|$(GNULIB_TRUNC)|g' \ -e 's|@''GNULIB_TRUNCF''@|$(GNULIB_TRUNCF)|g' \ -e 's|@''GNULIB_TRUNCL''@|$(GNULIB_TRUNCL)|g' \ -e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \ -e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \ -e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \ -e 's|@''HAVE_DECL_COSL''@|$(HAVE_DECL_COSL)|g' \ -e 's|@''HAVE_DECL_EXPL''@|$(HAVE_DECL_EXPL)|g' \ -e 's|@''HAVE_DECL_FREXPL''@|$(HAVE_DECL_FREXPL)|g' \ -e 's|@''HAVE_DECL_LDEXPL''@|$(HAVE_DECL_LDEXPL)|g' \ -e 's|@''HAVE_DECL_LOGL''@|$(HAVE_DECL_LOGL)|g' \ -e 's|@''HAVE_DECL_SINL''@|$(HAVE_DECL_SINL)|g' \ -e 's|@''HAVE_DECL_SQRTL''@|$(HAVE_DECL_SQRTL)|g' \ -e 's|@''HAVE_DECL_TANL''@|$(HAVE_DECL_TANL)|g' \ -e 's|@''HAVE_DECL_TRUNC''@|$(HAVE_DECL_TRUNC)|g' \ -e 's|@''HAVE_DECL_TRUNCF''@|$(HAVE_DECL_TRUNCF)|g' \ -e 's|@''REPLACE_CEILF''@|$(REPLACE_CEILF)|g' \ -e 's|@''REPLACE_CEILL''@|$(REPLACE_CEILL)|g' \ -e 's|@''REPLACE_FLOORF''@|$(REPLACE_FLOORF)|g' \ -e 's|@''REPLACE_FLOORL''@|$(REPLACE_FLOORL)|g' \ -e 's|@''REPLACE_FREXP''@|$(REPLACE_FREXP)|g' \ -e 's|@''REPLACE_FREXPL''@|$(REPLACE_FREXPL)|g' \ -e 's|@''REPLACE_HUGE_VAL''@|$(REPLACE_HUGE_VAL)|g' \ -e 's|@''REPLACE_ISFINITE''@|$(REPLACE_ISFINITE)|g' \ -e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \ -e 's|@''REPLACE_NAN''@|$(REPLACE_NAN)|g' \ -e 's|@''REPLACE_ROUND''@|$(REPLACE_ROUND)|g' \ -e 's|@''REPLACE_ROUNDF''@|$(REPLACE_ROUNDF)|g' \ -e 's|@''REPLACE_ROUNDL''@|$(REPLACE_ROUNDL)|g' \ -e 's|@''REPLACE_SIGNBIT''@|$(REPLACE_SIGNBIT)|g' \ -e 's|@''REPLACE_SIGNBIT_USING_GCC''@|$(REPLACE_SIGNBIT_USING_GCC)|g' \ -e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/math.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += math.h math.h-t EXTRA_DIST += math.in.h ## end gnulib module math ## begin gnulib module mbchar libcoreutils_a_SOURCES += mbchar.c EXTRA_DIST += mbchar.h ## end gnulib module mbchar ## begin gnulib module mbiter libcoreutils_a_SOURCES += mbiter.h ## end gnulib module mbiter ## begin gnulib module mbscasecmp libcoreutils_a_SOURCES += mbscasecmp.c ## end gnulib module mbscasecmp ## begin gnulib module mbslen libcoreutils_a_SOURCES += mbslen.c ## end gnulib module mbslen ## begin gnulib module mbsstr libcoreutils_a_SOURCES += mbsstr.c EXTRA_DIST += str-kmp.h ## end gnulib module mbsstr ## begin gnulib module mbswidth libcoreutils_a_SOURCES += mbswidth.h mbswidth.c ## end gnulib module mbswidth ## begin gnulib module mbuiter libcoreutils_a_SOURCES += mbuiter.h ## end gnulib module mbuiter ## begin gnulib module memcasecmp EXTRA_DIST += memcasecmp.c memcasecmp.h EXTRA_libcoreutils_a_SOURCES += memcasecmp.c ## end gnulib module memcasecmp ## begin gnulib module memchr EXTRA_DIST += memchr.c EXTRA_libcoreutils_a_SOURCES += memchr.c ## end gnulib module memchr ## begin gnulib module memchr2 libcoreutils_a_SOURCES += memchr2.h memchr2.c ## end gnulib module memchr2 ## begin gnulib module memcmp EXTRA_DIST += memcmp.c EXTRA_libcoreutils_a_SOURCES += memcmp.c ## end gnulib module memcmp ## begin gnulib module memcoll EXTRA_DIST += memcoll.c memcoll.h EXTRA_libcoreutils_a_SOURCES += memcoll.c ## end gnulib module memcoll ## begin gnulib module memcpy EXTRA_DIST += memcpy.c EXTRA_libcoreutils_a_SOURCES += memcpy.c ## end gnulib module memcpy ## begin gnulib module memmove EXTRA_DIST += memmove.c EXTRA_libcoreutils_a_SOURCES += memmove.c ## end gnulib module memmove ## begin gnulib module mempcpy EXTRA_DIST += mempcpy.c EXTRA_libcoreutils_a_SOURCES += mempcpy.c ## end gnulib module mempcpy ## begin gnulib module memrchr EXTRA_DIST += memrchr.c EXTRA_libcoreutils_a_SOURCES += memrchr.c ## end gnulib module memrchr ## begin gnulib module memset EXTRA_DIST += memset.c EXTRA_libcoreutils_a_SOURCES += memset.c ## end gnulib module memset ## begin gnulib module mkancesdirs EXTRA_DIST += mkancesdirs.c mkancesdirs.h EXTRA_libcoreutils_a_SOURCES += mkancesdirs.c ## end gnulib module mkancesdirs ## begin gnulib module mkdir EXTRA_DIST += mkdir.c EXTRA_libcoreutils_a_SOURCES += mkdir.c ## end gnulib module mkdir ## begin gnulib module mkdir-p EXTRA_DIST += dirchownmod.c dirchownmod.h mkdir-p.c mkdir-p.h EXTRA_libcoreutils_a_SOURCES += dirchownmod.c mkdir-p.c ## end gnulib module mkdir-p ## begin gnulib module mkstemp EXTRA_DIST += mkstemp.c EXTRA_libcoreutils_a_SOURCES += mkstemp.c ## end gnulib module mkstemp ## begin gnulib module mktime EXTRA_DIST += mktime.c EXTRA_libcoreutils_a_SOURCES += mktime.c ## end gnulib module mktime ## begin gnulib module modechange EXTRA_DIST += modechange.c modechange.h EXTRA_libcoreutils_a_SOURCES += modechange.c ## end gnulib module modechange ## begin gnulib module mountlist EXTRA_DIST += mountlist.c mountlist.h EXTRA_libcoreutils_a_SOURCES += mountlist.c ## end gnulib module mountlist ## begin gnulib module mpsort EXTRA_DIST += mpsort.c mpsort.h EXTRA_libcoreutils_a_SOURCES += mpsort.c ## end gnulib module mpsort ## begin gnulib module nanosleep EXTRA_DIST += nanosleep.c EXTRA_libcoreutils_a_SOURCES += nanosleep.c ## end gnulib module nanosleep ## begin gnulib module netinet_in BUILT_SOURCES += $(NETINET_IN_H) # We need the following in order to create when the system # doesn't have one. netinet/in.h: netinet_in.in.h @MKDIR_P@ netinet rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ < $(srcdir)/netinet_in.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += netinet/in.h netinet/in.h-t MOSTLYCLEANDIRS += netinet EXTRA_DIST += netinet_in.in.h ## end gnulib module netinet_in ## begin gnulib module obstack EXTRA_DIST += obstack.c obstack.h EXTRA_libcoreutils_a_SOURCES += obstack.c ## end gnulib module obstack ## begin gnulib module openat EXTRA_DIST += at-func.c fchmodat.c fchownat.c fstatat.c mkdirat.c openat-priv.h openat-proc.c openat.c openat.h EXTRA_libcoreutils_a_SOURCES += at-func.c fchmodat.c fchownat.c fstatat.c mkdirat.c openat-proc.c openat.c ## end gnulib module openat ## begin gnulib module openat-die libcoreutils_a_SOURCES += openat-die.c ## end gnulib module openat-die ## begin gnulib module pathmax EXTRA_DIST += pathmax.h ## end gnulib module pathmax ## begin gnulib module posix-shell ##Sample usage of posix-shell module: #script: script.in # rm -f $@-t $@ # sed -e 's#@''PREFERABLY_POSIX_SHELL''@#$(PREFERABLY_POSIX_SHELL)#g' \ # -e 's#@''POSIX_SHELL''@#$(POSIX_SHELL)#g' \ # -e $(srcdir)/$@.in >$@-t # chmod a+x $@-t # mv $@-t $@ #EXTRA_DIST += script.in #MOSTLYCLEANFILES += script script-t ## end gnulib module posix-shell ## begin gnulib module posixtm EXTRA_DIST += posixtm.c posixtm.h EXTRA_libcoreutils_a_SOURCES += posixtm.c ## end gnulib module posixtm ## begin gnulib module posixver EXTRA_DIST += posixver.c posixver.h EXTRA_libcoreutils_a_SOURCES += posixver.c ## end gnulib module posixver ## begin gnulib module printf-frexp libcoreutils_a_SOURCES += printf-frexp.c EXTRA_DIST += printf-frexp.h ## end gnulib module printf-frexp ## begin gnulib module printf-frexpl libcoreutils_a_SOURCES += printf-frexpl.c EXTRA_DIST += printf-frexp.c printf-frexpl.h EXTRA_libcoreutils_a_SOURCES += printf-frexp.c ## end gnulib module printf-frexpl ## begin gnulib module propername libcoreutils_a_SOURCES += propername.h propername.c ## end gnulib module propername ## begin gnulib module putenv EXTRA_DIST += putenv.c EXTRA_libcoreutils_a_SOURCES += putenv.c ## end gnulib module putenv ## begin gnulib module quote EXTRA_DIST += quote.c quote.h EXTRA_libcoreutils_a_SOURCES += quote.c ## end gnulib module quote ## begin gnulib module quotearg EXTRA_DIST += quotearg.c quotearg.h EXTRA_libcoreutils_a_SOURCES += quotearg.c ## end gnulib module quotearg ## begin gnulib module raise EXTRA_DIST += raise.c EXTRA_libcoreutils_a_SOURCES += raise.c ## end gnulib module raise ## begin gnulib module randint libcoreutils_a_SOURCES += randint.c randint.h ## end gnulib module randint ## begin gnulib module randperm libcoreutils_a_SOURCES += randperm.c randperm.h ## end gnulib module randperm ## begin gnulib module randread libcoreutils_a_SOURCES += randread.c randread.h rand-isaac.c rand-isaac.h ## end gnulib module randread ## begin gnulib module readlink EXTRA_DIST += readlink.c EXTRA_libcoreutils_a_SOURCES += readlink.c ## end gnulib module readlink ## begin gnulib module readtokens EXTRA_DIST += readtokens.c readtokens.h EXTRA_libcoreutils_a_SOURCES += readtokens.c ## end gnulib module readtokens ## begin gnulib module readtokens0 libcoreutils_a_SOURCES += readtokens0.h readtokens0.c ## end gnulib module readtokens0 ## begin gnulib module readutmp EXTRA_DIST += readutmp.c readutmp.h EXTRA_libcoreutils_a_SOURCES += readutmp.c ## end gnulib module readutmp ## begin gnulib module realloc EXTRA_DIST += realloc.c EXTRA_libcoreutils_a_SOURCES += realloc.c ## end gnulib module realloc ## begin gnulib module realloc-posix EXTRA_DIST += realloc.c EXTRA_libcoreutils_a_SOURCES += realloc.c ## end gnulib module realloc-posix ## begin gnulib module regex EXTRA_DIST += regcomp.c regex.c regex.h regex_internal.c regex_internal.h regexec.c EXTRA_libcoreutils_a_SOURCES += regcomp.c regex.c regex_internal.c regexec.c ## end gnulib module regex ## begin gnulib module rename EXTRA_DIST += rename.c EXTRA_libcoreutils_a_SOURCES += rename.c ## end gnulib module rename ## begin gnulib module rename-dest-slash EXTRA_DIST += rename-dest-slash.c EXTRA_libcoreutils_a_SOURCES += rename-dest-slash.c ## end gnulib module rename-dest-slash ## begin gnulib module rmdir EXTRA_DIST += rmdir.c EXTRA_libcoreutils_a_SOURCES += rmdir.c ## end gnulib module rmdir ## begin gnulib module root-dev-ino EXTRA_DIST += root-dev-ino.c root-dev-ino.h EXTRA_libcoreutils_a_SOURCES += root-dev-ino.c ## end gnulib module root-dev-ino ## begin gnulib module rpmatch EXTRA_DIST += rpmatch.c EXTRA_libcoreutils_a_SOURCES += rpmatch.c ## end gnulib module rpmatch ## begin gnulib module safe-read EXTRA_DIST += safe-read.c safe-read.h EXTRA_libcoreutils_a_SOURCES += safe-read.c ## end gnulib module safe-read ## begin gnulib module safe-write EXTRA_DIST += safe-write.c safe-write.h EXTRA_libcoreutils_a_SOURCES += safe-write.c ## end gnulib module safe-write ## begin gnulib module same EXTRA_DIST += same.c same.h EXTRA_libcoreutils_a_SOURCES += same.c ## end gnulib module same ## begin gnulib module same-inode EXTRA_DIST += same-inode.h ## end gnulib module same-inode ## begin gnulib module save-cwd EXTRA_DIST += save-cwd.c save-cwd.h EXTRA_libcoreutils_a_SOURCES += save-cwd.c ## end gnulib module save-cwd ## begin gnulib module savedir EXTRA_DIST += savedir.c savedir.h EXTRA_libcoreutils_a_SOURCES += savedir.c ## end gnulib module savedir ## begin gnulib module savewd libcoreutils_a_SOURCES += savewd.h savewd.c ## end gnulib module savewd ## begin gnulib module setenv EXTRA_DIST += setenv.c EXTRA_libcoreutils_a_SOURCES += setenv.c ## end gnulib module setenv ## begin gnulib module settime EXTRA_DIST += settime.c EXTRA_libcoreutils_a_SOURCES += settime.c ## end gnulib module settime ## begin gnulib module sig2str EXTRA_DIST += sig2str.c sig2str.h EXTRA_libcoreutils_a_SOURCES += sig2str.c ## end gnulib module sig2str ## begin gnulib module signbit EXTRA_DIST += float+.h signbitd.c signbitf.c signbitl.c EXTRA_libcoreutils_a_SOURCES += signbitd.c signbitf.c signbitl.c ## end gnulib module signbit ## begin gnulib module size_max libcoreutils_a_SOURCES += size_max.h ## end gnulib module size_max ## begin gnulib module snprintf EXTRA_DIST += snprintf.c EXTRA_libcoreutils_a_SOURCES += snprintf.c ## end gnulib module snprintf ## begin gnulib module stat-macros EXTRA_DIST += stat-macros.h ## end gnulib module stat-macros ## begin gnulib module stat-time EXTRA_DIST += stat-time.h ## end gnulib module stat-time ## begin gnulib module stdarg BUILT_SOURCES += $(STDARG_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdarg.h: stdarg.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ < $(srcdir)/stdarg.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += stdarg.h stdarg.h-t EXTRA_DIST += stdarg.in.h ## end gnulib module stdarg ## begin gnulib module stdbool BUILT_SOURCES += $(STDBOOL_H) # We need the following in order to create when the system # doesn't have one that works. stdbool.h: stdbool.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += stdbool.h stdbool.h-t EXTRA_DIST += stdbool.in.h ## end gnulib module stdbool ## begin gnulib module stdint BUILT_SOURCES += $(STDINT_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdint.h: stdint.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ < $(srcdir)/stdint.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += stdint.h stdint.h-t EXTRA_DIST += stdint.in.h ## end gnulib module stdint ## begin gnulib module stdio BUILT_SOURCES += stdio.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdio.h: stdio.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \ -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/stdio.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += stdio.h stdio.h-t EXTRA_DIST += stdio.in.h ## end gnulib module stdio ## begin gnulib module stdlib BUILT_SOURCES += stdlib.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdlib.h: stdlib.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/stdlib.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += stdlib.h stdlib.h-t EXTRA_DIST += stdlib.in.h ## end gnulib module stdlib ## begin gnulib module stdlib-safer EXTRA_DIST += mkstemp-safer.c stdlib--.h stdlib-safer.h EXTRA_libcoreutils_a_SOURCES += mkstemp-safer.c ## end gnulib module stdlib-safer ## begin gnulib module stpcpy EXTRA_DIST += stpcpy.c EXTRA_libcoreutils_a_SOURCES += stpcpy.c ## end gnulib module stpcpy ## begin gnulib module stpncpy EXTRA_DIST += stpncpy.c EXTRA_libcoreutils_a_SOURCES += stpncpy.c ## end gnulib module stpncpy ## begin gnulib module strcspn EXTRA_DIST += strcspn.c EXTRA_libcoreutils_a_SOURCES += strcspn.c ## end gnulib module strcspn ## begin gnulib module strdup EXTRA_DIST += strdup.c EXTRA_libcoreutils_a_SOURCES += strdup.c ## end gnulib module strdup ## begin gnulib module streq EXTRA_DIST += streq.h ## end gnulib module streq ## begin gnulib module strerror EXTRA_DIST += strerror.c EXTRA_libcoreutils_a_SOURCES += strerror.c ## end gnulib module strerror ## begin gnulib module strftime EXTRA_DIST += strftime.c strftime.h EXTRA_libcoreutils_a_SOURCES += strftime.c ## end gnulib module strftime ## begin gnulib module striconv libcoreutils_a_SOURCES += striconv.h striconv.c if GL_COND_LIBTOOL endif ## end gnulib module striconv ## begin gnulib module string BUILT_SOURCES += string.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. string.h: string.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \ -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \ -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \ -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \ -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \ -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \ -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \ -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \ -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \ -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \ -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \ -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \ -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \ -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \ -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \ -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \ -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \ -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \ -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \ -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \ -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \ -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \ -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \ -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \ -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \ -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \ -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \ -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/string.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += string.h string.h-t EXTRA_DIST += string.in.h ## end gnulib module string ## begin gnulib module strndup EXTRA_DIST += strndup.c EXTRA_libcoreutils_a_SOURCES += strndup.c ## end gnulib module strndup ## begin gnulib module strnlen EXTRA_DIST += strnlen.c EXTRA_libcoreutils_a_SOURCES += strnlen.c ## end gnulib module strnlen ## begin gnulib module strnlen1 libcoreutils_a_SOURCES += strnlen1.h strnlen1.c ## end gnulib module strnlen1 ## begin gnulib module strpbrk EXTRA_DIST += strpbrk.c EXTRA_libcoreutils_a_SOURCES += strpbrk.c ## end gnulib module strpbrk ## begin gnulib module strtod LIBS += $(POW_LIB) EXTRA_DIST += strtod.c EXTRA_libcoreutils_a_SOURCES += strtod.c ## end gnulib module strtod ## begin gnulib module strtoimax EXTRA_DIST += strtoimax.c EXTRA_libcoreutils_a_SOURCES += strtoimax.c ## end gnulib module strtoimax ## begin gnulib module strtol EXTRA_DIST += strtol.c EXTRA_libcoreutils_a_SOURCES += strtol.c ## end gnulib module strtol ## begin gnulib module strtoll EXTRA_DIST += strtoll.c EXTRA_libcoreutils_a_SOURCES += strtoll.c ## end gnulib module strtoll ## begin gnulib module strtoul EXTRA_DIST += strtoul.c EXTRA_libcoreutils_a_SOURCES += strtoul.c ## end gnulib module strtoul ## begin gnulib module strtoull EXTRA_DIST += strtoull.c EXTRA_libcoreutils_a_SOURCES += strtoull.c ## end gnulib module strtoull ## begin gnulib module strtoumax EXTRA_DIST += strtoumax.c EXTRA_libcoreutils_a_SOURCES += strtoumax.c ## end gnulib module strtoumax ## begin gnulib module strverscmp EXTRA_DIST += strverscmp.c strverscmp.h EXTRA_libcoreutils_a_SOURCES += strverscmp.c ## end gnulib module strverscmp ## begin gnulib module sys_socket BUILT_SOURCES += $(SYS_SOCKET_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/socket.h: sys_socket.in.h @MKDIR_P@ sys { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ < $(srcdir)/sys_socket.in.h; \ } > $@-t mv -f $@-t $@ MOSTLYCLEANFILES += sys/socket.h sys/socket.h-t MOSTLYCLEANDIRS += sys EXTRA_DIST += sys_socket.in.h ## end gnulib module sys_socket ## begin gnulib module sys_stat BUILT_SOURCES += $(SYS_STAT_H) # We need the following in order to create when the system # has one that is incomplete. sys/stat.h: sys_stat.in.h @MKDIR_P@ sys rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ < $(srcdir)/sys_stat.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t MOSTLYCLEANDIRS += sys EXTRA_DIST += sys_stat.in.h ## end gnulib module sys_stat ## begin gnulib module sys_time BUILT_SOURCES += $(SYS_TIME_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/time.h: sys_time.in.h @MKDIR_P@ sys rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ < $(srcdir)/sys_time.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += sys/time.h sys/time.h-t EXTRA_DIST += sys_time.in.h ## end gnulib module sys_time ## begin gnulib module tempname EXTRA_DIST += tempname.c tempname.h EXTRA_libcoreutils_a_SOURCES += tempname.c ## end gnulib module tempname ## begin gnulib module time BUILT_SOURCES += time.h # We need the following in order to create when the system # doesn't have one that works with the given compiler. time.h: time.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ -e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ -e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ -e 's|@REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \ -e 's|@REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ -e 's|@SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ < $(srcdir)/time.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += time.h time.h-t EXTRA_DIST += time.in.h ## end gnulib module time ## begin gnulib module time_r EXTRA_DIST += time_r.c EXTRA_libcoreutils_a_SOURCES += time_r.c ## end gnulib module time_r ## begin gnulib module timespec EXTRA_DIST += timespec.h ## end gnulib module timespec ## begin gnulib module trim libcoreutils_a_SOURCES += trim.c EXTRA_DIST += trim.h ## end gnulib module trim ## begin gnulib module unicodeio libcoreutils_a_SOURCES += unicodeio.h unicodeio.c ## end gnulib module unicodeio ## begin gnulib module unistd BUILT_SOURCES += unistd.h # We need the following in order to create an empty placeholder for # when the system doesn't have one. unistd.h: unistd.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ < $(srcdir)/unistd.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += unistd.h unistd.h-t EXTRA_DIST += unistd.in.h ## end gnulib module unistd ## begin gnulib module unistd-safer EXTRA_DIST += dup-safer.c fd-safer.c pipe-safer.c unistd--.h unistd-safer.h EXTRA_libcoreutils_a_SOURCES += dup-safer.c fd-safer.c pipe-safer.c ## end gnulib module unistd-safer ## begin gnulib module unitypes EXTRA_DIST += unitypes.h ## end gnulib module unitypes ## begin gnulib module uniwidth/base EXTRA_DIST += localcharset.h uniwidth.h ## end gnulib module uniwidth/base ## begin gnulib module uniwidth/width libcoreutils_a_SOURCES += uniwidth/width.c EXTRA_DIST += uniwidth/cjk.h ## end gnulib module uniwidth/width ## begin gnulib module unlinkdir EXTRA_DIST += unlinkdir.c unlinkdir.h EXTRA_libcoreutils_a_SOURCES += unlinkdir.c ## end gnulib module unlinkdir ## begin gnulib module unlocked-io EXTRA_DIST += unlocked-io.h ## end gnulib module unlocked-io ## begin gnulib module unsetenv EXTRA_DIST += unsetenv.c EXTRA_libcoreutils_a_SOURCES += unsetenv.c ## end gnulib module unsetenv ## begin gnulib module useless-if-before-free EXTRA_DIST += $(top_srcdir)/build-aux/useless-if-before-free ## end gnulib module useless-if-before-free ## begin gnulib module userspec EXTRA_DIST += inttostr.h userspec.c userspec.h EXTRA_libcoreutils_a_SOURCES += userspec.c ## end gnulib module userspec ## begin gnulib module utime EXTRA_DIST += utime.c EXTRA_libcoreutils_a_SOURCES += utime.c ## end gnulib module utime ## begin gnulib module utimecmp EXTRA_DIST += utimecmp.c utimecmp.h EXTRA_libcoreutils_a_SOURCES += utimecmp.c ## end gnulib module utimecmp ## begin gnulib module utimens EXTRA_DIST += utimens.c utimens.h EXTRA_libcoreutils_a_SOURCES += utimens.c ## end gnulib module utimens ## begin gnulib module vasnprintf EXTRA_DIST += asnprintf.c float+.h printf-args.c printf-args.h printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h EXTRA_libcoreutils_a_SOURCES += asnprintf.c printf-args.c printf-parse.c vasnprintf.c ## end gnulib module vasnprintf ## begin gnulib module vasprintf EXTRA_DIST += asprintf.c vasprintf.c EXTRA_libcoreutils_a_SOURCES += asprintf.c vasprintf.c ## end gnulib module vasprintf ## begin gnulib module vc-list-files EXTRA_DIST += $(top_srcdir)/build-aux/vc-list-files ## end gnulib module vc-list-files ## begin gnulib module verify libcoreutils_a_SOURCES += verify.h ## end gnulib module verify ## begin gnulib module version-etc libcoreutils_a_SOURCES += version-etc.h version-etc.c ## end gnulib module version-etc ## begin gnulib module version-etc-fsf libcoreutils_a_SOURCES += version-etc-fsf.c ## end gnulib module version-etc-fsf ## begin gnulib module vfprintf-posix EXTRA_DIST += vfprintf.c EXTRA_libcoreutils_a_SOURCES += vfprintf.c ## end gnulib module vfprintf-posix ## begin gnulib module vprintf-posix EXTRA_DIST += vprintf.c EXTRA_libcoreutils_a_SOURCES += vprintf.c ## end gnulib module vprintf-posix ## begin gnulib module wchar BUILT_SOURCES += $(WCHAR_H) # We need the following in order to create when the system # version does not work standalone. wchar.h: wchar.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \ -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/wchar.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += wchar.h wchar.h-t EXTRA_DIST += wchar.in.h ## end gnulib module wchar ## begin gnulib module wctype BUILT_SOURCES += $(WCTYPE_H) # We need the following in order to create when the system # doesn't have one that works with the given compiler. wctype.h: wctype.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ < $(srcdir)/wctype.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += wctype.h wctype.h-t EXTRA_DIST += wctype.in.h ## end gnulib module wctype ## begin gnulib module wcwidth EXTRA_DIST += wcwidth.c EXTRA_libcoreutils_a_SOURCES += wcwidth.c ## end gnulib module wcwidth ## begin gnulib module write-any-file EXTRA_DIST += write-any-file.c write-any-file.h EXTRA_libcoreutils_a_SOURCES += write-any-file.c ## end gnulib module write-any-file ## begin gnulib module xalloc EXTRA_DIST += xalloc.h xmalloc.c EXTRA_libcoreutils_a_SOURCES += xmalloc.c ## end gnulib module xalloc ## begin gnulib module xalloc-die libcoreutils_a_SOURCES += xalloc-die.c ## end gnulib module xalloc-die ## begin gnulib module xgetcwd EXTRA_DIST += xgetcwd.c xgetcwd.h EXTRA_libcoreutils_a_SOURCES += xgetcwd.c ## end gnulib module xgetcwd ## begin gnulib module xmemcoll libcoreutils_a_SOURCES += xmemcoll.h xmemcoll.c ## end gnulib module xmemcoll ## begin gnulib module xnanosleep EXTRA_DIST += xnanosleep.c xnanosleep.h EXTRA_libcoreutils_a_SOURCES += xnanosleep.c ## end gnulib module xnanosleep ## begin gnulib module xprintf libcoreutils_a_SOURCES += xprintf.h xprintf.c ## end gnulib module xprintf ## begin gnulib module xsize libcoreutils_a_SOURCES += xsize.h ## end gnulib module xsize ## begin gnulib module xstriconv libcoreutils_a_SOURCES += xstriconv.h xstriconv.c ## end gnulib module xstriconv ## begin gnulib module xstrndup libcoreutils_a_SOURCES += xstrndup.h xstrndup.c ## end gnulib module xstrndup ## begin gnulib module xstrtod EXTRA_DIST += xstrtod.c xstrtod.h EXTRA_libcoreutils_a_SOURCES += xstrtod.c ## end gnulib module xstrtod ## begin gnulib module xstrtoimax libcoreutils_a_SOURCES += xstrtoimax.c ## end gnulib module xstrtoimax ## begin gnulib module xstrtol EXTRA_DIST += xstrtol-error.c xstrtol.c xstrtol.h xstrtoul.c EXTRA_libcoreutils_a_SOURCES += xstrtol-error.c xstrtol.c xstrtoul.c ## end gnulib module xstrtol ## begin gnulib module xstrtold EXTRA_DIST += xstrtod.c xstrtod.h xstrtold.c EXTRA_libcoreutils_a_SOURCES += xstrtod.c xstrtold.c ## end gnulib module xstrtold ## begin gnulib module xstrtoumax libcoreutils_a_SOURCES += xstrtoumax.c ## end gnulib module xstrtoumax mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ if test -n "$$dir" && test -d $$dir; then \ echo "rmdir $$dir"; rmdir $$dir; \ fi; \ done; \ : dc3dd-7.1.614/lib/readlink.c0000644000175000017500000000304211022023316015127 0ustar amedicoamedico/* Stub for readlink(). Copyright (C) 2003-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include #include #include #if !HAVE_READLINK /* readlink() substitute for systems that don't have a readlink() function, such as DJGPP 2.03 and mingw32. */ /* The official POSIX return type of readlink() is ssize_t, but since here we have no declaration in a public header file, we use 'int' as return type. */ int readlink (const char *path, char *buf, size_t bufsize) { struct stat statbuf; /* In general we should use lstat() here, not stat(). But on platforms without symbolic links lstat() - if it exists - would be equivalent to stat(), therefore we can use stat(). This saves us a configure check. */ if (stat (path, &statbuf) >= 0) errno = EINVAL; return -1; } #endif dc3dd-7.1.614/lib/mkdir-p.c0000644000175000017500000001460311022023316014706 0ustar amedicoamedico/* mkdir-p.c -- Ensure that a directory and its parents exist. Copyright (C) 1990, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert, David MacKenzie, and Jim Meyering. */ #include #include "mkdir-p.h" #include #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #include "dirchownmod.h" #include "dirname.h" #include "error.h" #include "quote.h" #include "mkancesdirs.h" #include "savewd.h" #ifndef HAVE_FCHMOD # define HAVE_FCHMOD false #endif /* Ensure that the directory DIR exists. WD is the working directory, as in savewd.c. If MAKE_ANCESTOR is not null, create any ancestor directories that don't already exist, by invoking MAKE_ANCESTOR (DIR, ANCESTOR, OPTIONS). This function should return zero if successful, -1 (setting errno) otherwise. In this case, DIR may be modified by storing '\0' bytes into it, to access the ancestor directories, and this modification is retained on return if the ancestor directories could not be created. Create DIR as a new directory with using mkdir with permissions MODE. It is also OK if MAKE_ANCESTOR is not null and a directory DIR already exists. Call ANNOUNCE (DIR, OPTIONS) just after successfully making DIR, even if some of the following actions fail. Set DIR's owner to OWNER and group to GROUP, but leave the owner alone if OWNER is (uid_t) -1, and similarly for GROUP. Set DIR's mode bits to MODE, except preserve any of the bits that correspond to zero bits in MODE_BITS. In other words, MODE_BITS is a mask that specifies which of DIR's mode bits should be set or cleared. MODE should be a subset of MODE_BITS, which in turn should be a subset of CHMOD_MODE_BITS. Changing the mode in this way is necessary if DIR already existed or if MODE and MODE_BITS specify non-permissions bits like S_ISUID. However, if PRESERVE_EXISTING is true and DIR already exists, do not attempt to set DIR's ownership and file mode bits. This implementation assumes the current umask is zero. Return true if DIR exists as a directory with the proper ownership and file mode bits when done, or if a child process has been dispatched to do the real work (though the child process may not have finished yet -- it is the caller's responsibility to handle this). Report a diagnostic and return false on failure, storing '\0' into *DIR if an ancestor directory had problems. */ bool make_dir_parents (char *dir, struct savewd *wd, int (*make_ancestor) (char const *, char const *, void *), void *options, mode_t mode, void (*announce) (char const *, void *), mode_t mode_bits, uid_t owner, gid_t group, bool preserve_existing) { int mkdir_errno = (IS_ABSOLUTE_FILE_NAME (dir) ? 0 : savewd_errno (wd)); if (mkdir_errno == 0) { ptrdiff_t prefix_len = 0; int savewd_chdir_options = (HAVE_FCHMOD ? SAVEWD_CHDIR_SKIP_READABLE : 0); if (make_ancestor) { prefix_len = mkancesdirs (dir, wd, make_ancestor, options); if (prefix_len < 0) { if (prefix_len < -1) return true; mkdir_errno = errno; } } if (0 <= prefix_len) { /* If the ownership might change, or if the directory will be writeable to other users and its special mode bits may change after the directory is created, create it with more restrictive permissions at first, so unauthorized users cannot nip in before the directory is ready. */ bool keep_owner = owner == (uid_t) -1 && group == (gid_t) -1; bool keep_special_mode_bits = ((mode_bits & (S_ISUID | S_ISGID)) | (mode & S_ISVTX)) == 0; mode_t mkdir_mode = mode; if (! keep_owner) mkdir_mode &= ~ (S_IRWXG | S_IRWXO); else if (! keep_special_mode_bits) mkdir_mode &= ~ (S_IWGRP | S_IWOTH); if (mkdir (dir + prefix_len, mkdir_mode) == 0) { announce (dir, options); preserve_existing = keep_owner & keep_special_mode_bits; savewd_chdir_options |= (SAVEWD_CHDIR_NOFOLLOW | (mode & S_IRUSR ? SAVEWD_CHDIR_READABLE : 0)); } else { mkdir_errno = errno; mkdir_mode = -1; } if (preserve_existing) { struct stat st; if (mkdir_errno == 0 || (mkdir_errno != ENOENT && make_ancestor && stat (dir + prefix_len, &st) == 0 && S_ISDIR (st.st_mode))) return true; } else { int open_result[2]; int chdir_result = savewd_chdir (wd, dir + prefix_len, savewd_chdir_options, open_result); if (chdir_result < -1) return true; else { bool chdir_ok = (chdir_result == 0); int chdir_errno = errno; int fd = open_result[0]; bool chdir_failed_unexpectedly = (mkdir_errno == 0 && ((! chdir_ok && (mode & S_IXUSR)) || (fd < 0 && (mode & S_IRUSR)))); if (chdir_failed_unexpectedly) { /* No need to save errno here; it's irrelevant. */ if (0 <= fd) close (fd); } else { char const *subdir = (chdir_ok ? "." : dir + prefix_len); if (dirchownmod (fd, subdir, mkdir_mode, owner, group, mode, mode_bits) == 0) return true; } if (mkdir_errno == 0 || (mkdir_errno != ENOENT && make_ancestor && errno != ENOTDIR)) { error (0, (! chdir_failed_unexpectedly ? errno : ! chdir_ok && (mode & S_IXUSR) ? chdir_errno : open_result[1]), _(keep_owner ? "cannot change permissions of %s" : "cannot change owner and permissions of %s"), quote (dir)); return false; } } } } } error (0, mkdir_errno, _("cannot create directory %s"), quote (dir)); return false; } dc3dd-7.1.614/lib/dirent.in.h0000644000175000017500000000227711022023316015246 0ustar amedicoamedico/* Wrapper around . Copyright (C) 2006-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GL_DIRENT_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_DIRENT_H@ #ifndef _GL_DIRENT_H #define _GL_DIRENT_H /* Declare overridden functions. */ #ifdef __cplusplus extern "C" { #endif #if @REPLACE_FCHDIR@ # define opendir rpl_opendir extern DIR * opendir (const char *); # define closedir rpl_closedir extern int closedir (DIR *); #endif #ifdef __cplusplus } #endif #endif /* _GL_DIRENT_H */ #endif /* _GL_DIRENT_H */ dc3dd-7.1.614/lib/signbitd.c0000644000175000017500000000400411064230667015157 0ustar amedicoamedico/* signbit() macro: Determine the sign bit of a floating-point number. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include "isnand.h" #include "float+.h" #undef gl_signbitd int gl_signbitd (double arg) { #if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT /* The use of a union to extract the bits of the representation of a 'long double' is safe in practice, despite of the "aliasing rules" of C99, because the GCC docs say "Even with '-fstrict-aliasing', type-punning is allowed, provided the memory is accessed through the union type." and similarly for other compilers. */ # define NWORDS \ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) union { double value; unsigned int word[NWORDS]; } m; m.value = arg; return (m.word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; #elif HAVE_COPYSIGN_IN_LIBC return copysign (1.0, arg) < 0; #else /* This does not do the right thing for NaN, but this is irrelevant for most use cases. */ if (isnand (arg)) return 0; if (arg < 0.0) return 1; else if (arg == 0.0) { /* Distinguish 0.0 and -0.0. */ static double plus_zero = 0.0; double arg_mem = arg; return (memcmp (&plus_zero, &arg_mem, SIZEOF_DBL) != 0); } else return 0; #endif } dc3dd-7.1.614/lib/putenv.c0000644000175000017500000000616311064230667014705 0ustar amedicoamedico/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2008 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ #include /* Specification. */ #include #include /* Include errno.h *after* sys/types.h to work around header problems on AIX 3.2.5. */ #include #ifndef __set_errno # define __set_errno(ev) ((errno) = (ev)) #endif #include #include #include #if HAVE_GNU_LD # define environ __environ #else extern char **environ; #endif #if _LIBC /* This lock protects against simultaneous modifications of `environ'. */ # include __libc_lock_define_initialized (static, envlock) # define LOCK __libc_lock_lock (envlock) # define UNLOCK __libc_lock_unlock (envlock) #else # define LOCK # define UNLOCK #endif static int _unsetenv (const char *name) { size_t len; char **ep; if (name == NULL || *name == '\0' || strchr (name, '=') != NULL) { __set_errno (EINVAL); return -1; } len = strlen (name); LOCK; ep = environ; while (*ep != NULL) if (!strncmp (*ep, name, len) && (*ep)[len] == '=') { /* Found it. Remove this pointer by moving later ones back. */ char **dp = ep; do dp[0] = dp[1]; while (*dp++); /* Continue the loop in case NAME appears again. */ } else ++ep; UNLOCK; return 0; } /* Put STRING, which is of the form "NAME=VALUE", in the environment. If STRING contains no `=', then remove STRING from the environment. */ int putenv (char *string) { const char *const name_end = strchr (string, '='); register size_t size; register char **ep; if (name_end == NULL) { /* Remove the variable from the environment. */ return _unsetenv (string); } size = 0; for (ep = environ; *ep != NULL; ++ep) if (!strncmp (*ep, string, name_end - string) && (*ep)[name_end - string] == '=') break; else ++size; if (*ep == NULL) { static char **last_environ = NULL; char **new_environ = (char **) malloc ((size + 2) * sizeof (char *)); if (new_environ == NULL) return -1; (void) memcpy ((void *) new_environ, (void *) environ, size * sizeof (char *)); new_environ[size] = (char *) string; new_environ[size + 1] = NULL; free (last_environ); last_environ = new_environ; environ = new_environ; } else *ep = string; return 0; } dc3dd-7.1.614/lib/propername.c0000644000175000017500000001670511064230667015537 0ustar amedicoamedico/* Localization of proper names. Copyright (C) 2006-2008 Free Software Foundation, Inc. Written by Bruno Haible , 2006. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "propername.h" #include #include #include #include #include #if HAVE_ICONV # include #endif #include "trim.h" #include "mbchar.h" #if HAVE_MBRTOWC # include "mbuiter.h" #endif #include "localcharset.h" #include "c-strcase.h" #include "xstriconv.h" #include "xalloc.h" #include "gettext.h" /* Tests whether STRING contains trim (SUB), starting and ending at word boundaries. Here, instead of implementing Unicode Standard Annex #29 for determining word boundaries, we assume that trim (SUB) starts and ends with words and only test whether the part before it ends with a non-word and the part after it starts with a non-word. */ static bool mbsstr_trimmed_wordbounded (const char *string, const char *sub) { char *tsub = trim (sub); bool found = false; for (; *string != '\0';) { const char *tsub_in_string = mbsstr (string, tsub); if (tsub_in_string == NULL) break; else { #if HAVE_MBRTOWC if (MB_CUR_MAX > 1) { mbui_iterator_t string_iter; bool word_boundary_before; bool word_boundary_after; mbui_init (string_iter, string); word_boundary_before = true; if (mbui_cur_ptr (string_iter) < tsub_in_string) { mbchar_t last_char_before_tsub; do { if (!mbui_avail (string_iter)) abort (); last_char_before_tsub = mbui_cur (string_iter); mbui_advance (string_iter); } while (mbui_cur_ptr (string_iter) < tsub_in_string); if (mb_isalnum (last_char_before_tsub)) word_boundary_before = false; } mbui_init (string_iter, tsub_in_string); { mbui_iterator_t tsub_iter; for (mbui_init (tsub_iter, tsub); mbui_avail (tsub_iter); mbui_advance (tsub_iter)) { if (!mbui_avail (string_iter)) abort (); mbui_advance (string_iter); } } word_boundary_after = true; if (mbui_avail (string_iter)) { mbchar_t first_char_after_tsub = mbui_cur (string_iter); if (mb_isalnum (first_char_after_tsub)) word_boundary_after = false; } if (word_boundary_before && word_boundary_after) { found = true; break; } mbui_init (string_iter, tsub_in_string); if (!mbui_avail (string_iter)) break; string = tsub_in_string + mb_len (mbui_cur (string_iter)); } else #endif /* HAVE_MBRTOWC */ { bool word_boundary_before; const char *p; bool word_boundary_after; word_boundary_before = true; if (string < tsub_in_string) if (isalnum ((unsigned char) tsub_in_string[-1])) word_boundary_before = false; p = tsub_in_string + strlen (tsub); word_boundary_after = true; if (*p != '\0') if (isalnum ((unsigned char) *p)) word_boundary_after = false; if (word_boundary_before && word_boundary_after) { found = true; break; } if (*tsub_in_string == '\0') break; string = tsub_in_string + 1; } } } free (tsub); return found; } /* Return the localization of NAME. NAME is written in ASCII. */ const char * proper_name (const char *name) { /* See whether there is a translation. */ const char *translation = gettext (name); if (translation != name) { /* See whether the translation contains the original name. */ if (mbsstr_trimmed_wordbounded (translation, name)) return translation; else { /* Return "TRANSLATION (NAME)". */ char *result = XNMALLOC (strlen (translation) + 2 + strlen (name) + 1 + 1, char); sprintf (result, "%s (%s)", translation, name); return result; } } else return name; } /* Return the localization of a name whose original writing is not ASCII. NAME_UTF8 is the real name, written in UTF-8 with octal or hexadecimal escape sequences. NAME_ASCII is a fallback written only with ASCII characters. */ const char * proper_name_utf8 (const char *name_ascii, const char *name_utf8) { /* See whether there is a translation. */ const char *translation = gettext (name_ascii); /* Try to convert NAME_UTF8 to the locale encoding. */ const char *locale_code = locale_charset (); char *alloc_name_converted = NULL; char *alloc_name_converted_translit = NULL; const char *name_converted = NULL; const char *name_converted_translit = NULL; const char *name; if (c_strcasecmp (locale_code, "UTF-8") != 0) { #if HAVE_ICONV name_converted = alloc_name_converted = xstr_iconv (name_utf8, "UTF-8", locale_code); # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \ || _LIBICONV_VERSION >= 0x0105 { size_t len = strlen (locale_code); char *locale_code_translit = XNMALLOC (len + 10 + 1, char); memcpy (locale_code_translit, locale_code, len); memcpy (locale_code_translit + len, "//TRANSLIT", 10 + 1); name_converted_translit = alloc_name_converted_translit = xstr_iconv (name_utf8, "UTF-8", locale_code_translit); free (locale_code_translit); } # endif #endif } else { name_converted = name_utf8; name_converted_translit = name_utf8; } /* The name in locale encoding. */ name = (name_converted != NULL ? name_converted : name_converted_translit != NULL ? name_converted_translit : name_ascii); if (translation != name_ascii) { /* See whether the translation contains the original name. */ if (mbsstr_trimmed_wordbounded (translation, name_ascii) || (name_converted != NULL && mbsstr_trimmed_wordbounded (translation, name_converted)) || (name_converted_translit != NULL && mbsstr_trimmed_wordbounded (translation, name_converted_translit))) { if (alloc_name_converted != NULL) free (alloc_name_converted); if (alloc_name_converted_translit != NULL) free (alloc_name_converted_translit); return translation; } else { /* Return "TRANSLATION (NAME)". */ char *result = XNMALLOC (strlen (translation) + 2 + strlen (name) + 1 + 1, char); sprintf (result, "%s (%s)", translation, name); if (alloc_name_converted != NULL) free (alloc_name_converted); if (alloc_name_converted_translit != NULL) free (alloc_name_converted_translit); return result; } } else { if (alloc_name_converted != NULL && alloc_name_converted != name) free (alloc_name_converted); if (alloc_name_converted_translit != NULL && alloc_name_converted_translit != name) free (alloc_name_converted_translit); return name; } } #ifdef TEST # include int main (int argc, char *argv[]) { setlocale (LC_ALL, ""); if (mbsstr_trimmed_wordbounded (argv[1], argv[2])) printf("found\n"); return 0; } #endif dc3dd-7.1.614/lib/file-type.h0000644000175000017500000000174511022023316015251 0ustar amedicoamedico/* Return a string describing the type of a file. Copyright (C) 1993, 1994, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert and Jim Meyering. */ #ifndef FILE_TYPE_H # define FILE_TYPE_H 1 # include # include char const *file_type (struct stat const *); #endif /* FILE_TYPE_H */ dc3dd-7.1.614/lib/hash.c0000644000175000017500000007366611022023316014304 0ustar amedicoamedico/* hash - hashing table processing. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. Written by Jim Meyering, 1992. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* A generic hash table package. */ /* Define USE_OBSTACK to 1 if you want the allocator to use obstacks instead of malloc. If you change USE_OBSTACK, you have to recompile! */ #include #include "hash.h" #include "xalloc.h" #include #include #include #if USE_OBSTACK # include "obstack.h" # ifndef obstack_chunk_alloc # define obstack_chunk_alloc malloc # endif # ifndef obstack_chunk_free # define obstack_chunk_free free # endif #endif #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif struct hash_table { /* The array of buckets starts at BUCKET and extends to BUCKET_LIMIT-1, for a possibility of N_BUCKETS. Among those, N_BUCKETS_USED buckets are not empty, there are N_ENTRIES active entries in the table. */ struct hash_entry *bucket; struct hash_entry const *bucket_limit; size_t n_buckets; size_t n_buckets_used; size_t n_entries; /* Tuning arguments, kept in a physicaly separate structure. */ const Hash_tuning *tuning; /* Three functions are given to `hash_initialize', see the documentation block for this function. In a word, HASHER randomizes a user entry into a number up from 0 up to some maximum minus 1; COMPARATOR returns true if two user entries compare equally; and DATA_FREER is the cleanup function for a user entry. */ Hash_hasher hasher; Hash_comparator comparator; Hash_data_freer data_freer; /* A linked list of freed struct hash_entry structs. */ struct hash_entry *free_entry_list; #if USE_OBSTACK /* Whenever obstacks are used, it is possible to allocate all overflowed entries into a single stack, so they all can be freed in a single operation. It is not clear if the speedup is worth the trouble. */ struct obstack entry_stack; #endif }; /* A hash table contains many internal entries, each holding a pointer to some user provided data (also called a user entry). An entry indistinctly refers to both the internal entry and its associated user entry. A user entry contents may be hashed by a randomization function (the hashing function, or just `hasher' for short) into a number (or `slot') between 0 and the current table size. At each slot position in the hash table, starts a linked chain of entries for which the user data all hash to this slot. A bucket is the collection of all entries hashing to the same slot. A good `hasher' function will distribute entries rather evenly in buckets. In the ideal case, the length of each bucket is roughly the number of entries divided by the table size. Finding the slot for a data is usually done in constant time by the `hasher', and the later finding of a precise entry is linear in time with the size of the bucket. Consequently, a larger hash table size (that is, a larger number of buckets) is prone to yielding shorter chains, *given* the `hasher' function behaves properly. Long buckets slow down the lookup algorithm. One might use big hash table sizes in hope to reduce the average length of buckets, but this might become inordinate, as unused slots in the hash table take some space. The best bet is to make sure you are using a good `hasher' function (beware that those are not that easy to write! :-), and to use a table size larger than the actual number of entries. */ /* If an insertion makes the ratio of nonempty buckets to table size larger than the growth threshold (a number between 0.0 and 1.0), then increase the table size by multiplying by the growth factor (a number greater than 1.0). The growth threshold defaults to 0.8, and the growth factor defaults to 1.414, meaning that the table will have doubled its size every second time 80% of the buckets get used. */ #define DEFAULT_GROWTH_THRESHOLD 0.8 #define DEFAULT_GROWTH_FACTOR 1.414 /* If a deletion empties a bucket and causes the ratio of used buckets to table size to become smaller than the shrink threshold (a number between 0.0 and 1.0), then shrink the table by multiplying by the shrink factor (a number greater than the shrink threshold but smaller than 1.0). The shrink threshold and factor default to 0.0 and 1.0, meaning that the table never shrinks. */ #define DEFAULT_SHRINK_THRESHOLD 0.0 #define DEFAULT_SHRINK_FACTOR 1.0 /* Use this to initialize or reset a TUNING structure to some sensible values. */ static const Hash_tuning default_tuning = { DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR, DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR, false }; /* Information and lookup. */ /* The following few functions provide information about the overall hash table organization: the number of entries, number of buckets and maximum length of buckets. */ /* Return the number of buckets in the hash table. The table size, the total number of buckets (used plus unused), or the maximum number of slots, are the same quantity. */ size_t hash_get_n_buckets (const Hash_table *table) { return table->n_buckets; } /* Return the number of slots in use (non-empty buckets). */ size_t hash_get_n_buckets_used (const Hash_table *table) { return table->n_buckets_used; } /* Return the number of active entries. */ size_t hash_get_n_entries (const Hash_table *table) { return table->n_entries; } /* Return the length of the longest chain (bucket). */ size_t hash_get_max_bucket_length (const Hash_table *table) { struct hash_entry const *bucket; size_t max_bucket_length = 0; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { struct hash_entry const *cursor = bucket; size_t bucket_length = 1; while (cursor = cursor->next, cursor) bucket_length++; if (bucket_length > max_bucket_length) max_bucket_length = bucket_length; } } return max_bucket_length; } /* Do a mild validation of a hash table, by traversing it and checking two statistics. */ bool hash_table_ok (const Hash_table *table) { struct hash_entry const *bucket; size_t n_buckets_used = 0; size_t n_entries = 0; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { struct hash_entry const *cursor = bucket; /* Count bucket head. */ n_buckets_used++; n_entries++; /* Count bucket overflow. */ while (cursor = cursor->next, cursor) n_entries++; } } if (n_buckets_used == table->n_buckets_used && n_entries == table->n_entries) return true; return false; } void hash_print_statistics (const Hash_table *table, FILE *stream) { size_t n_entries = hash_get_n_entries (table); size_t n_buckets = hash_get_n_buckets (table); size_t n_buckets_used = hash_get_n_buckets_used (table); size_t max_bucket_length = hash_get_max_bucket_length (table); fprintf (stream, "# entries: %lu\n", (unsigned long int) n_entries); fprintf (stream, "# buckets: %lu\n", (unsigned long int) n_buckets); fprintf (stream, "# buckets used: %lu (%.2f%%)\n", (unsigned long int) n_buckets_used, (100.0 * n_buckets_used) / n_buckets); fprintf (stream, "max bucket length: %lu\n", (unsigned long int) max_bucket_length); } /* If ENTRY matches an entry already in the hash table, return the entry from the table. Otherwise, return NULL. */ void * hash_lookup (const Hash_table *table, const void *entry) { struct hash_entry const *bucket = table->bucket + table->hasher (entry, table->n_buckets); struct hash_entry const *cursor; if (! (bucket < table->bucket_limit)) abort (); if (bucket->data == NULL) return NULL; for (cursor = bucket; cursor; cursor = cursor->next) if (table->comparator (entry, cursor->data)) return cursor->data; return NULL; } /* Walking. */ /* The functions in this page traverse the hash table and process the contained entries. For the traversal to work properly, the hash table should not be resized nor modified while any particular entry is being processed. In particular, entries should not be added or removed. */ /* Return the first data in the table, or NULL if the table is empty. */ void * hash_get_first (const Hash_table *table) { struct hash_entry const *bucket; if (table->n_entries == 0) return NULL; for (bucket = table->bucket; ; bucket++) if (! (bucket < table->bucket_limit)) abort (); else if (bucket->data) return bucket->data; } /* Return the user data for the entry following ENTRY, where ENTRY has been returned by a previous call to either `hash_get_first' or `hash_get_next'. Return NULL if there are no more entries. */ void * hash_get_next (const Hash_table *table, const void *entry) { struct hash_entry const *bucket = table->bucket + table->hasher (entry, table->n_buckets); struct hash_entry const *cursor; if (! (bucket < table->bucket_limit)) abort (); /* Find next entry in the same bucket. */ for (cursor = bucket; cursor; cursor = cursor->next) if (cursor->data == entry && cursor->next) return cursor->next->data; /* Find first entry in any subsequent bucket. */ while (++bucket < table->bucket_limit) if (bucket->data) return bucket->data; /* None found. */ return NULL; } /* Fill BUFFER with pointers to active user entries in the hash table, then return the number of pointers copied. Do not copy more than BUFFER_SIZE pointers. */ size_t hash_get_entries (const Hash_table *table, void **buffer, size_t buffer_size) { size_t counter = 0; struct hash_entry const *bucket; struct hash_entry const *cursor; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { for (cursor = bucket; cursor; cursor = cursor->next) { if (counter >= buffer_size) return counter; buffer[counter++] = cursor->data; } } } return counter; } /* Call a PROCESSOR function for each entry of a hash table, and return the number of entries for which the processor function returned success. A pointer to some PROCESSOR_DATA which will be made available to each call to the processor function. The PROCESSOR accepts two arguments: the first is the user entry being walked into, the second is the value of PROCESSOR_DATA as received. The walking continue for as long as the PROCESSOR function returns nonzero. When it returns zero, the walking is interrupted. */ size_t hash_do_for_each (const Hash_table *table, Hash_processor processor, void *processor_data) { size_t counter = 0; struct hash_entry const *bucket; struct hash_entry const *cursor; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { for (cursor = bucket; cursor; cursor = cursor->next) { if (!(*processor) (cursor->data, processor_data)) return counter; counter++; } } } return counter; } /* Allocation and clean-up. */ /* Return a hash index for a NUL-terminated STRING between 0 and N_BUCKETS-1. This is a convenience routine for constructing other hashing functions. */ #if USE_DIFF_HASH /* About hashings, Paul Eggert writes to me (FP), on 1994-01-01: "Please see B. J. McKenzie, R. Harries & T. Bell, Selecting a hashing algorithm, Software--practice & experience 20, 2 (Feb 1990), 209-224. Good hash algorithms tend to be domain-specific, so what's good for [diffutils'] io.c may not be good for your application." */ size_t hash_string (const char *string, size_t n_buckets) { # define ROTATE_LEFT(Value, Shift) \ ((Value) << (Shift) | (Value) >> ((sizeof (size_t) * CHAR_BIT) - (Shift))) # define HASH_ONE_CHAR(Value, Byte) \ ((Byte) + ROTATE_LEFT (Value, 7)) size_t value = 0; unsigned char ch; for (; (ch = *string); string++) value = HASH_ONE_CHAR (value, ch); return value % n_buckets; # undef ROTATE_LEFT # undef HASH_ONE_CHAR } #else /* not USE_DIFF_HASH */ /* This one comes from `recode', and performs a bit better than the above as per a few experiments. It is inspired from a hashing routine found in the very old Cyber `snoop', itself written in typical Greg Mansfield style. (By the way, what happened to this excellent man? Is he still alive?) */ size_t hash_string (const char *string, size_t n_buckets) { size_t value = 0; unsigned char ch; for (; (ch = *string); string++) value = (value * 31 + ch) % n_buckets; return value; } #endif /* not USE_DIFF_HASH */ /* Return true if CANDIDATE is a prime number. CANDIDATE should be an odd number at least equal to 11. */ static bool is_prime (size_t candidate) { size_t divisor = 3; size_t square = divisor * divisor; while (square < candidate && (candidate % divisor)) { divisor++; square += 4 * divisor; divisor++; } return (candidate % divisor ? true : false); } /* Round a given CANDIDATE number up to the nearest prime, and return that prime. Primes lower than 10 are merely skipped. */ static size_t next_prime (size_t candidate) { /* Skip small primes. */ if (candidate < 10) candidate = 10; /* Make it definitely odd. */ candidate |= 1; while (!is_prime (candidate)) candidate += 2; return candidate; } void hash_reset_tuning (Hash_tuning *tuning) { *tuning = default_tuning; } /* For the given hash TABLE, check the user supplied tuning structure for reasonable values, and return true if there is no gross error with it. Otherwise, definitively reset the TUNING field to some acceptable default in the hash table (that is, the user loses the right of further modifying tuning arguments), and return false. */ static bool check_tuning (Hash_table *table) { const Hash_tuning *tuning = table->tuning; /* Be a bit stricter than mathematics would require, so that rounding errors in size calculations do not cause allocations to fail to grow or shrink as they should. The smallest allocation is 11 (due to next_prime's algorithm), so an epsilon of 0.1 should be good enough. */ float epsilon = 0.1f; if (epsilon < tuning->growth_threshold && tuning->growth_threshold < 1 - epsilon && 1 + epsilon < tuning->growth_factor && 0 <= tuning->shrink_threshold && tuning->shrink_threshold + epsilon < tuning->shrink_factor && tuning->shrink_factor <= 1 && tuning->shrink_threshold + epsilon < tuning->growth_threshold) return true; table->tuning = &default_tuning; return false; } /* Allocate and return a new hash table, or NULL upon failure. The initial number of buckets is automatically selected so as to _guarantee_ that you may insert at least CANDIDATE different user entries before any growth of the hash table size occurs. So, if have a reasonably tight a-priori upper bound on the number of entries you intend to insert in the hash table, you may save some table memory and insertion time, by specifying it here. If the IS_N_BUCKETS field of the TUNING structure is true, the CANDIDATE argument has its meaning changed to the wanted number of buckets. TUNING points to a structure of user-supplied values, in case some fine tuning is wanted over the default behavior of the hasher. If TUNING is NULL, the default tuning parameters are used instead. The user-supplied HASHER function should be provided. It accepts two arguments ENTRY and TABLE_SIZE. It computes, by hashing ENTRY contents, a slot number for that entry which should be in the range 0..TABLE_SIZE-1. This slot number is then returned. The user-supplied COMPARATOR function should be provided. It accepts two arguments pointing to user data, it then returns true for a pair of entries that compare equal, or false otherwise. This function is internally called on entries which are already known to hash to the same bucket index. The user-supplied DATA_FREER function, when not NULL, may be later called with the user data as an argument, just before the entry containing the data gets freed. This happens from within `hash_free' or `hash_clear'. You should specify this function only if you want these functions to free all of your `data' data. This is typically the case when your data is simply an auxiliary struct that you have malloc'd to aggregate several values. */ Hash_table * hash_initialize (size_t candidate, const Hash_tuning *tuning, Hash_hasher hasher, Hash_comparator comparator, Hash_data_freer data_freer) { Hash_table *table; if (hasher == NULL || comparator == NULL) return NULL; table = malloc (sizeof *table); if (table == NULL) return NULL; if (!tuning) tuning = &default_tuning; table->tuning = tuning; if (!check_tuning (table)) { /* Fail if the tuning options are invalid. This is the only occasion when the user gets some feedback about it. Once the table is created, if the user provides invalid tuning options, we silently revert to using the defaults, and ignore further request to change the tuning options. */ goto fail; } if (!tuning->is_n_buckets) { float new_candidate = candidate / tuning->growth_threshold; if (SIZE_MAX <= new_candidate) goto fail; candidate = new_candidate; } if (xalloc_oversized (candidate, sizeof *table->bucket)) goto fail; table->n_buckets = next_prime (candidate); if (xalloc_oversized (table->n_buckets, sizeof *table->bucket)) goto fail; table->bucket = calloc (table->n_buckets, sizeof *table->bucket); if (table->bucket == NULL) goto fail; table->bucket_limit = table->bucket + table->n_buckets; table->n_buckets_used = 0; table->n_entries = 0; table->hasher = hasher; table->comparator = comparator; table->data_freer = data_freer; table->free_entry_list = NULL; #if USE_OBSTACK obstack_init (&table->entry_stack); #endif return table; fail: free (table); return NULL; } /* Make all buckets empty, placing any chained entries on the free list. Apply the user-specified function data_freer (if any) to the datas of any affected entries. */ void hash_clear (Hash_table *table) { struct hash_entry *bucket; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { struct hash_entry *cursor; struct hash_entry *next; /* Free the bucket overflow. */ for (cursor = bucket->next; cursor; cursor = next) { if (table->data_freer) (*table->data_freer) (cursor->data); cursor->data = NULL; next = cursor->next; /* Relinking is done one entry at a time, as it is to be expected that overflows are either rare or short. */ cursor->next = table->free_entry_list; table->free_entry_list = cursor; } /* Free the bucket head. */ if (table->data_freer) (*table->data_freer) (bucket->data); bucket->data = NULL; bucket->next = NULL; } } table->n_buckets_used = 0; table->n_entries = 0; } /* Reclaim all storage associated with a hash table. If a data_freer function has been supplied by the user when the hash table was created, this function applies it to the data of each entry before freeing that entry. */ void hash_free (Hash_table *table) { struct hash_entry *bucket; struct hash_entry *cursor; struct hash_entry *next; /* Call the user data_freer function. */ if (table->data_freer && table->n_entries) { for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { if (bucket->data) { for (cursor = bucket; cursor; cursor = cursor->next) { (*table->data_freer) (cursor->data); } } } } #if USE_OBSTACK obstack_free (&table->entry_stack, NULL); #else /* Free all bucket overflowed entries. */ for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { for (cursor = bucket->next; cursor; cursor = next) { next = cursor->next; free (cursor); } } /* Also reclaim the internal list of previously freed entries. */ for (cursor = table->free_entry_list; cursor; cursor = next) { next = cursor->next; free (cursor); } #endif /* Free the remainder of the hash table structure. */ free (table->bucket); free (table); } /* Insertion and deletion. */ /* Get a new hash entry for a bucket overflow, possibly by reclying a previously freed one. If this is not possible, allocate a new one. */ static struct hash_entry * allocate_entry (Hash_table *table) { struct hash_entry *new; if (table->free_entry_list) { new = table->free_entry_list; table->free_entry_list = new->next; } else { #if USE_OBSTACK new = obstack_alloc (&table->entry_stack, sizeof *new); #else new = malloc (sizeof *new); #endif } return new; } /* Free a hash entry which was part of some bucket overflow, saving it for later recycling. */ static void free_entry (Hash_table *table, struct hash_entry *entry) { entry->data = NULL; entry->next = table->free_entry_list; table->free_entry_list = entry; } /* This private function is used to help with insertion and deletion. When ENTRY matches an entry in the table, return a pointer to the corresponding user data and set *BUCKET_HEAD to the head of the selected bucket. Otherwise, return NULL. When DELETE is true and ENTRY matches an entry in the table, unlink the matching entry. */ static void * hash_find_entry (Hash_table *table, const void *entry, struct hash_entry **bucket_head, bool delete) { struct hash_entry *bucket = table->bucket + table->hasher (entry, table->n_buckets); struct hash_entry *cursor; if (! (bucket < table->bucket_limit)) abort (); *bucket_head = bucket; /* Test for empty bucket. */ if (bucket->data == NULL) return NULL; /* See if the entry is the first in the bucket. */ if ((*table->comparator) (entry, bucket->data)) { void *data = bucket->data; if (delete) { if (bucket->next) { struct hash_entry *next = bucket->next; /* Bump the first overflow entry into the bucket head, then save the previous first overflow entry for later recycling. */ *bucket = *next; free_entry (table, next); } else { bucket->data = NULL; } } return data; } /* Scan the bucket overflow. */ for (cursor = bucket; cursor->next; cursor = cursor->next) { if ((*table->comparator) (entry, cursor->next->data)) { void *data = cursor->next->data; if (delete) { struct hash_entry *next = cursor->next; /* Unlink the entry to delete, then save the freed entry for later recycling. */ cursor->next = next->next; free_entry (table, next); } return data; } } /* No entry found. */ return NULL; } /* For an already existing hash table, change the number of buckets through specifying CANDIDATE. The contents of the hash table are preserved. The new number of buckets is automatically selected so as to _guarantee_ that the table may receive at least CANDIDATE different user entries, including those already in the table, before any other growth of the hash table size occurs. If TUNING->IS_N_BUCKETS is true, then CANDIDATE specifies the exact number of buckets desired. */ bool hash_rehash (Hash_table *table, size_t candidate) { Hash_table *new_table; struct hash_entry *bucket; struct hash_entry *cursor; struct hash_entry *next; new_table = hash_initialize (candidate, table->tuning, table->hasher, table->comparator, table->data_freer); if (new_table == NULL) return false; /* Merely reuse the extra old space into the new table. */ #if USE_OBSTACK obstack_free (&new_table->entry_stack, NULL); new_table->entry_stack = table->entry_stack; #endif new_table->free_entry_list = table->free_entry_list; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) if (bucket->data) for (cursor = bucket; cursor; cursor = next) { void *data = cursor->data; struct hash_entry *new_bucket = (new_table->bucket + new_table->hasher (data, new_table->n_buckets)); if (! (new_bucket < new_table->bucket_limit)) abort (); next = cursor->next; if (new_bucket->data) { if (cursor == bucket) { /* Allocate or recycle an entry, when moving from a bucket header into a bucket overflow. */ struct hash_entry *new_entry = allocate_entry (new_table); if (new_entry == NULL) return false; new_entry->data = data; new_entry->next = new_bucket->next; new_bucket->next = new_entry; } else { /* Merely relink an existing entry, when moving from a bucket overflow into a bucket overflow. */ cursor->next = new_bucket->next; new_bucket->next = cursor; } } else { /* Free an existing entry, when moving from a bucket overflow into a bucket header. Also take care of the simple case of moving from a bucket header into a bucket header. */ new_bucket->data = data; new_table->n_buckets_used++; if (cursor != bucket) free_entry (new_table, cursor); } } free (table->bucket); table->bucket = new_table->bucket; table->bucket_limit = new_table->bucket_limit; table->n_buckets = new_table->n_buckets; table->n_buckets_used = new_table->n_buckets_used; table->free_entry_list = new_table->free_entry_list; /* table->n_entries already holds its value. */ #if USE_OBSTACK table->entry_stack = new_table->entry_stack; #endif free (new_table); return true; } /* If ENTRY matches an entry already in the hash table, return the pointer to the entry from the table. Otherwise, insert ENTRY and return ENTRY. Return NULL if the storage required for insertion cannot be allocated. */ void * hash_insert (Hash_table *table, const void *entry) { void *data; struct hash_entry *bucket; /* The caller cannot insert a NULL entry. */ if (! entry) abort (); /* If there's a matching entry already in the table, return that. */ if ((data = hash_find_entry (table, entry, &bucket, false)) != NULL) return data; /* ENTRY is not matched, it should be inserted. */ if (bucket->data) { struct hash_entry *new_entry = allocate_entry (table); if (new_entry == NULL) return NULL; /* Add ENTRY in the overflow of the bucket. */ new_entry->data = (void *) entry; new_entry->next = bucket->next; bucket->next = new_entry; table->n_entries++; return (void *) entry; } /* Add ENTRY right in the bucket head. */ bucket->data = (void *) entry; table->n_entries++; table->n_buckets_used++; /* If the growth threshold of the buckets in use has been reached, increase the table size and rehash. There's no point in checking the number of entries: if the hashing function is ill-conditioned, rehashing is not likely to improve it. */ if (table->n_buckets_used > table->tuning->growth_threshold * table->n_buckets) { /* Check more fully, before starting real work. If tuning arguments became invalid, the second check will rely on proper defaults. */ check_tuning (table); if (table->n_buckets_used > table->tuning->growth_threshold * table->n_buckets) { const Hash_tuning *tuning = table->tuning; float candidate = (tuning->is_n_buckets ? (table->n_buckets * tuning->growth_factor) : (table->n_buckets * tuning->growth_factor * tuning->growth_threshold)); if (SIZE_MAX <= candidate) return NULL; /* If the rehash fails, arrange to return NULL. */ if (!hash_rehash (table, candidate)) entry = NULL; } } return (void *) entry; } /* If ENTRY is already in the table, remove it and return the just-deleted data (the user may want to deallocate its storage). If ENTRY is not in the table, don't modify the table and return NULL. */ void * hash_delete (Hash_table *table, const void *entry) { void *data; struct hash_entry *bucket; data = hash_find_entry (table, entry, &bucket, true); if (!data) return NULL; table->n_entries--; if (!bucket->data) { table->n_buckets_used--; /* If the shrink threshold of the buckets in use has been reached, rehash into a smaller table. */ if (table->n_buckets_used < table->tuning->shrink_threshold * table->n_buckets) { /* Check more fully, before starting real work. If tuning arguments became invalid, the second check will rely on proper defaults. */ check_tuning (table); if (table->n_buckets_used < table->tuning->shrink_threshold * table->n_buckets) { const Hash_tuning *tuning = table->tuning; size_t candidate = (tuning->is_n_buckets ? table->n_buckets * tuning->shrink_factor : (table->n_buckets * tuning->shrink_factor * tuning->growth_threshold)); hash_rehash (table, candidate); } } } return data; } /* Testing. */ #if TESTING void hash_print (const Hash_table *table) { struct hash_entry const *bucket; for (bucket = table->bucket; bucket < table->bucket_limit; bucket++) { struct hash_entry *cursor; if (bucket) printf ("%lu:\n", (unsigned long int) (bucket - table->bucket)); for (cursor = bucket; cursor; cursor = cursor->next) { char const *s = cursor->data; /* FIXME */ if (s) printf (" %s\n", s); } } } #endif /* TESTING */ dc3dd-7.1.614/lib/closeout.c0000644000175000017500000000535111022023316015200 0ustar amedicoamedico/* Close standard output and standard error, exiting with a diagnostic on error. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "closeout.h" #include #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #include "close-stream.h" #include "error.h" #include "exitfail.h" #include "quotearg.h" static const char *file_name; /* Set the file name to be reported in the event an error is detected by close_stdout. */ void close_stdout_set_file_name (const char *file) { file_name = file; } /* Close standard output. On error, issue a diagnostic and _exit with status 'exit_failure'. Also close standard error. On error, _exit with status 'exit_failure'. Since close_stdout is commonly registered via 'atexit', POSIX and the C standard both say that it should not call 'exit', because the behavior is undefined if 'exit' is called more than once. So it calls '_exit' instead of 'exit'. If close_stdout is registered via atexit before other functions are registered, the other functions can act before this _exit is invoked. Applications that use close_stdout should flush any streams other than stdout and stderr before exiting, since the call to _exit will bypass other buffer flushing. Applications should be flushing and closing other streams anyway, to check for I/O errors. Also, applications should not use tmpfile, since _exit can bypass the removal of these files. It's important to detect such failures and exit nonzero because many tools (most notably `make' and other build-management systems) depend on being able to detect failure in other tools via their exit status. */ void close_stdout (void) { if (close_stream (stdout) != 0) { char const *write_error = _("write error"); if (file_name) error (0, errno, "%s: %s", quotearg_colon (file_name), write_error); else error (0, errno, "%s", write_error); _exit (exit_failure); } if (close_stream (stderr) != 0) _exit (exit_failure); } dc3dd-7.1.614/lib/rpmatch.c0000644000175000017500000001351711064230667015023 0ustar amedicoamedico/* Determine whether string value is affirmation or negative response according to current locale's data. Copyright (C) 1996, 1998, 2000, 2002, 2003, 2006-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include #if ENABLE_NLS # include # include # include # if HAVE_LANGINFO_YESEXPR # include # endif # include # include "gettext.h" # define _(msgid) gettext (msgid) # define N_(msgid) gettext_noop (msgid) # if HAVE_LANGINFO_YESEXPR /* Return the localized regular expression pattern corresponding to ENGLISH_PATTERN. NL_INDEX can be used with nl_langinfo. The resulting string may only be used until the next nl_langinfo call. */ static const char * localized_pattern (const char *english_pattern, nl_item nl_index, bool posixly_correct) { const char *translated_pattern; /* We prefer to get the patterns from a PO file. It would be possible to always use nl_langinfo (YESEXPR) instead of _("^[yY]"), and nl_langinfo (NOEXPR) instead of _("^[nN]"), if we could assume that the system's locale support is good. But this is not the case e.g. on Cygwin. The localizations of gnulib.pot are of better quality in general. Also, if we use locale info from non-free systems that don't have a 'localedef' command, we deprive the users of the freedom to localize this pattern for their preferred language. But some programs, such as 'cp', 'mv', 'rm', 'find', 'xargs', are specified by POSIX to use nl_langinfo (YESEXPR). We implement this behaviour if POSIXLY_CORRECT is set, for the sake of these programs. */ /* If the user wants strict POSIX compliance, use nl_langinfo. */ if (posixly_correct) { translated_pattern = nl_langinfo (nl_index); /* Check against a broken system return value. */ if (translated_pattern != NULL && translated_pattern[0] != '\0') return translated_pattern; } /* Look in the gnulib message catalog. */ translated_pattern = _(english_pattern); if (translated_pattern == english_pattern) { /* The gnulib message catalog provides no translation. Try the system's message catalog. */ translated_pattern = nl_langinfo (nl_index); /* Check against a broken system return value. */ if (translated_pattern != NULL && translated_pattern[0] != '\0') return translated_pattern; /* Fall back to English. */ translated_pattern = english_pattern; } return translated_pattern; } # else # define localized_pattern(english_pattern,nl_index,posixly_correct) \ _(english_pattern) # endif static int try (const char *response, const char *pattern, char **lastp, regex_t *re) { if (*lastp == NULL || strcmp (pattern, *lastp) != 0) { char *safe_pattern; /* The pattern has changed. */ if (*lastp != NULL) { /* Free the old compiled pattern. */ regfree (re); free (*lastp); *lastp = NULL; } /* Put the PATTERN into safe memory before calling regcomp. (regcomp may call nl_langinfo, overwriting PATTERN's storage. */ safe_pattern = strdup (pattern); if (safe_pattern == NULL) return -1; /* Compile the pattern and cache it for future runs. */ if (regcomp (re, safe_pattern, REG_EXTENDED) != 0) return -1; *lastp = safe_pattern; } /* See if the regular expression matches RESPONSE. */ return regexec (re, response, 0, NULL, 0) == 0; } #endif int rpmatch (const char *response) { #if ENABLE_NLS /* Match against one of the response patterns, compiling the pattern first if necessary. */ /* We cache the response patterns and compiled regexps here. */ static char *last_yesexpr, *last_noexpr; static regex_t cached_yesre, cached_nore; # if HAVE_LANGINFO_YESEXPR bool posixly_correct = (getenv ("POSIXLY_CORRECT") != NULL); # endif const char *yesexpr, *noexpr; int result; /* TRANSLATORS: A regular expression testing for an affirmative answer (english: "yes"). Testing the first character may be sufficient. Take care to consider upper and lower case. To enquire the regular expression that your system uses for this purpose, you can use the command locale -k LC_MESSAGES | grep '^yesexpr=' */ yesexpr = localized_pattern (N_("^[yY]"), YESEXPR, posixly_correct); result = try (response, yesexpr, &last_yesexpr, &cached_yesre); if (result < 0) return -1; if (result) return 1; /* TRANSLATORS: A regular expression testing for a negative answer (english: "no"). Testing the first character may be sufficient. Take care to consider upper and lower case. To enquire the regular expression that your system uses for this purpose, you can use the command locale -k LC_MESSAGES | grep '^noexpr=' */ noexpr = localized_pattern (N_("^[nN]"), NOEXPR, posixly_correct); result = try (response, noexpr, &last_noexpr, &cached_nore); if (result < 0) return -1; if (result) return 0; return -1; #else /* Test against "^[yY]" and "^[nN]", hardcoded to avoid requiring regex */ return (*response == 'y' || *response == 'Y' ? 1 : *response == 'n' || *response == 'N' ? 0 : -1); #endif } dc3dd-7.1.614/lib/strftime.h0000644000175000017500000000150411022023316015201 0ustar amedicoamedico/* declarations for strftime.c Copyright (C) 2002, 2004 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include size_t nstrftime (char *, size_t, char const *, struct tm const *, int, int); dc3dd-7.1.614/lib/memxfrm.c0000644000175000017500000000546511022023316015024 0ustar amedicoamedico/* Locale-specific memory transformation Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert . */ #include #include "memxfrm.h" #include #include #include /* Store into DEST (of size DESTSIZE) the text in SRC (of size SRCSIZE) transformed so that the result of memcmp on two transformed texts (with ties going to the longer text) is the same as the result of memcoll on the two texts before their transformation. Perhaps temporarily modify the byte after SRC, but restore its original contents before returning. Return the size of the resulting text, or an indeterminate value if there is an error. Set errno to an error number if there is an error, and to zero otherwise. DEST contains an indeterminate value if there is an error or if the resulting size is greater than DESTSIZE. */ size_t memxfrm (char *restrict dest, size_t destsize, char *restrict src, size_t srcsize) { #if HAVE_STRXFRM size_t di = 0; size_t si = 0; size_t result = 0; char ch = src[srcsize]; src[srcsize] = '\0'; while (si < srcsize) { size_t slen = strlen (src + si); size_t result0 = result; errno = 0; result += strxfrm (dest + di, src + si, destsize - di) + 1; if (errno != 0) break; if (result <= result0) { errno = ERANGE; break; } if (result == destsize + 1 && si + slen == srcsize) { /* The destination is exactly the right size, but strxfrm wants room for a trailing null. Work around the problem with a temporary buffer. */ size_t bufsize = destsize - di + 1; char stackbuf[4000]; char *buf = stackbuf; if (sizeof stackbuf < bufsize) { buf = malloc (bufsize); if (! buf) break; } strxfrm (buf, src + si, bufsize); memcpy (dest + di, buf, destsize - di); if (sizeof stackbuf < bufsize) free (buf); errno = 0; } di = (result < destsize ? result : destsize); si += slen + 1; } src[srcsize] = ch; return result - (si != srcsize); #else if (srcsize < destsize) memcpy (dest, src, srcsize); errno = 0; return srcsize; #endif } dc3dd-7.1.614/lib/mbchar.c0000644000175000017500000000220711022023316014574 0ustar amedicoamedico/* Copyright (C) 2001, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include "mbchar.h" #if IS_BASIC_ASCII /* Bit table of characters in the ISO C "basic character set". */ const unsigned int is_basic_table [UCHAR_MAX / 32 + 1] = { 0x00001a00, /* '\t' '\v' '\f' */ 0xffffffef, /* ' '...'#' '%'...'?' */ 0xfffffffe, /* 'A'...'Z' '[' '\\' ']' '^' '_' */ 0x7ffffffe /* 'a'...'z' '{' '|' '}' '~' */ /* The remaining bits are 0. */ }; #endif /* IS_BASIC_ASCII */ dc3dd-7.1.614/lib/modechange.h0000644000175000017500000000211311022023316015433 0ustar amedicoamedico/* modechange.h -- definitions for file mode manipulation Copyright (C) 1989, 1990, 1997, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if ! defined MODECHANGE_H_ # define MODECHANGE_H_ # include # include struct mode_change *mode_compile (const char *); struct mode_change *mode_create_from_ref (const char *); mode_t mode_adjust (mode_t, bool, mode_t, struct mode_change const *, mode_t *); #endif dc3dd-7.1.614/lib/md5.c0000644000175000017500000003352611064230667014054 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Functions to compute MD5 message digest of files or memory blocks. according to the definition of MD5 in RFC 1321 from April 1992. Copyright (C) 1995,1996,1997,1999,2000,2001,2005,2006,2008 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Written by Ulrich Drepper , 1995. */ #include #include "md5.h" #include #include #include #include #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifdef _LIBC # include # if __BYTE_ORDER == __BIG_ENDIAN # define WORDS_BIGENDIAN 1 # endif /* We need to keep the namespace clean so define the MD5 function protected using leading __ . */ # define md5_init_ctx __md5_init_ctx # define md5_process_block __md5_process_block # define md5_process_bytes __md5_process_bytes # define md5_finish_ctx __md5_finish_ctx # define md5_read_ctx __md5_read_ctx # define md5_stream __md5_stream # define md5_buffer __md5_buffer #endif #ifdef WORDS_BIGENDIAN # define SWAP(n) \ (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) #else # define SWAP(n) (n) #endif #define BLOCKSIZE 4096 #if BLOCKSIZE % 64 != 0 # error "invalid BLOCKSIZE" #endif /* This array contains the bytes used to pad the buffer to the next 64-byte boundary. (RFC 1321, 3.1: Step 1) */ static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; /* Initialize structure containing state of computation. (RFC 1321, 3.3: Step 3) */ void md5_init_ctx (struct md5_ctx *ctx) { ctx->A = 0x67452301; ctx->B = 0xefcdab89; ctx->C = 0x98badcfe; ctx->D = 0x10325476; ctx->total[0] = ctx->total[1] = 0; ctx->buflen = 0; } /* Copy the 4 byte value from v into the memory location pointed to by *cp, If your architecture allows unaligned access this is equivalent to * (uint32_t *) cp = v */ static inline void set_uint32 (char *cp, uint32_t v) { memcpy (cp, &v, sizeof v); } /* Put result from CTX in first 16 bytes following RESBUF. The result must be in little endian byte order. */ void * md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) { char *r = resbuf; set_uint32 (r + 0 * sizeof ctx->A, SWAP (ctx->A)); set_uint32 (r + 1 * sizeof ctx->B, SWAP (ctx->B)); set_uint32 (r + 2 * sizeof ctx->C, SWAP (ctx->C)); set_uint32 (r + 3 * sizeof ctx->D, SWAP (ctx->D)); return resbuf; } /* Process the remaining bytes in the internal buffer and the usual prolog according to the standard and write the result to RESBUF. */ void * md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) { /* Take yet unprocessed bytes into account. */ uint32_t bytes = ctx->buflen; size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4; /* Now count remaining bytes. */ ctx->total[0] += bytes; if (ctx->total[0] < bytes) ++ctx->total[1]; /* Put the 64-bit file length in *bits* at the end of the buffer. */ ctx->buffer[size - 2] = SWAP (ctx->total[0] << 3); ctx->buffer[size - 1] = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 4 - bytes); /* Process last bytes. */ md5_process_block (ctx->buffer, size * 4, ctx); return md5_read_ctx (ctx, resbuf); } /* Compute MD5 message digest for bytes read from STREAM. The resulting message digest number will be written into the 16 bytes beginning at RESBLOCK. */ int md5_stream (FILE *stream, void *resblock) { struct md5_ctx ctx; char buffer[BLOCKSIZE + 72]; size_t sum; /* Initialize the computation context. */ md5_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) return 1; goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 64 == 0 */ md5_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block: /* Process any remaining bytes. */ if (sum > 0) md5_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ md5_finish_ctx (&ctx, resblock); return 0; } /* Compute MD5 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ void * md5_buffer (const char *buffer, size_t len, void *resblock) { struct md5_ctx ctx; /* Initialize the computation context. */ md5_init_ctx (&ctx); /* Process whole buffer but last len % 64 bytes. */ md5_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return md5_finish_ctx (&ctx, resblock); } void md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx) { /* When we already have some bits in our internal buffer concatenate both inputs first. */ if (ctx->buflen != 0) { size_t left_over = ctx->buflen; size_t add = 128 - left_over > len ? len : 128 - left_over; memcpy (&((char *) ctx->buffer)[left_over], buffer, add); ctx->buflen += add; if (ctx->buflen > 64) { md5_process_block (ctx->buffer, ctx->buflen & ~63, ctx); ctx->buflen &= 63; /* The regions in the following copy operation cannot overlap. */ memcpy (ctx->buffer, &((char *) ctx->buffer)[(left_over + add) & ~63], ctx->buflen); } buffer = (const char *) buffer + add; len -= add; } /* Process available complete blocks. */ if (len >= 64) { #if !_STRING_ARCH_unaligned # define alignof(type) offsetof (struct { char c; type x; }, x) # define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) if (UNALIGNED_P (buffer)) while (len > 64) { md5_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); buffer = (const char *) buffer + 64; len -= 64; } else #endif { md5_process_block (buffer, len & ~63, ctx); buffer = (const char *) buffer + (len & ~63); len &= 63; } } /* Move remaining bytes in internal buffer. */ if (len > 0) { size_t left_over = ctx->buflen; memcpy (&((char *) ctx->buffer)[left_over], buffer, len); left_over += len; if (left_over >= 64) { md5_process_block (ctx->buffer, 64, ctx); left_over -= 64; memcpy (ctx->buffer, &ctx->buffer[16], left_over); } ctx->buflen = left_over; } } /* These are the four functions used in the four steps of the MD5 algorithm and defined in the RFC 1321. The first function is a little bit optimized (as found in Colin Plumbs public domain implementation). */ /* #define FF(b, c, d) ((b & c) | (~b & d)) */ #define FF(b, c, d) (d ^ (b & (c ^ d))) #define FG(b, c, d) FF (d, b, c) #define FH(b, c, d) (b ^ c ^ d) #define FI(b, c, d) (c ^ (b | ~d)) /* Process LEN bytes of BUFFER, accumulating context into CTX. It is assumed that LEN % 64 == 0. */ void md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx) { uint32_t correct_words[16]; const uint32_t *words = buffer; size_t nwords = len / sizeof (uint32_t); const uint32_t *endp = words + nwords; uint32_t A = ctx->A; uint32_t B = ctx->B; uint32_t C = ctx->C; uint32_t D = ctx->D; /* First increment the byte count. RFC 1321 specifies the possible length of the file up to 2^64 bits. Here we only compute the number of bytes. Do a double word increment. */ ctx->total[0] += len; if (ctx->total[0] < len) ++ctx->total[1]; /* Process all bytes in the buffer with 64 bytes in each round of the loop. */ while (words < endp) { uint32_t *cwp = correct_words; uint32_t A_save = A; uint32_t B_save = B; uint32_t C_save = C; uint32_t D_save = D; /* First round: using the given function, the context and a constant the next context is computed. Because the algorithms processing unit is a 32-bit word and it is determined to work on words in little endian byte order we perhaps have to change the byte order before the computation. To reduce the work for the next steps we store the swapped words in the array CORRECT_WORDS. */ #define OP(a, b, c, d, s, T) \ do \ { \ a += FF (b, c, d) + (*cwp++ = SWAP (*words)) + T; \ ++words; \ CYCLIC (a, s); \ a += b; \ } \ while (0) /* It is unfortunate that C does not provide an operator for cyclic rotation. Hope the C compiler is smart enough. */ #define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s))) /* Before we start, one word to the strange constants. They are defined in RFC 1321 as T[i] = (int) (4294967296.0 * fabs (sin (i))), i=1..64 Here is an equivalent invocation using Perl: perl -e 'foreach(1..64){printf "0x%08x\n", int (4294967296 * abs (sin $_))}' */ /* Round 1. */ OP (A, B, C, D, 7, 0xd76aa478); OP (D, A, B, C, 12, 0xe8c7b756); OP (C, D, A, B, 17, 0x242070db); OP (B, C, D, A, 22, 0xc1bdceee); OP (A, B, C, D, 7, 0xf57c0faf); OP (D, A, B, C, 12, 0x4787c62a); OP (C, D, A, B, 17, 0xa8304613); OP (B, C, D, A, 22, 0xfd469501); OP (A, B, C, D, 7, 0x698098d8); OP (D, A, B, C, 12, 0x8b44f7af); OP (C, D, A, B, 17, 0xffff5bb1); OP (B, C, D, A, 22, 0x895cd7be); OP (A, B, C, D, 7, 0x6b901122); OP (D, A, B, C, 12, 0xfd987193); OP (C, D, A, B, 17, 0xa679438e); OP (B, C, D, A, 22, 0x49b40821); /* For the second to fourth round we have the possibly swapped words in CORRECT_WORDS. Redefine the macro to take an additional first argument specifying the function to use. */ #undef OP #define OP(f, a, b, c, d, k, s, T) \ do \ { \ a += f (b, c, d) + correct_words[k] + T; \ CYCLIC (a, s); \ a += b; \ } \ while (0) /* Round 2. */ OP (FG, A, B, C, D, 1, 5, 0xf61e2562); OP (FG, D, A, B, C, 6, 9, 0xc040b340); OP (FG, C, D, A, B, 11, 14, 0x265e5a51); OP (FG, B, C, D, A, 0, 20, 0xe9b6c7aa); OP (FG, A, B, C, D, 5, 5, 0xd62f105d); OP (FG, D, A, B, C, 10, 9, 0x02441453); OP (FG, C, D, A, B, 15, 14, 0xd8a1e681); OP (FG, B, C, D, A, 4, 20, 0xe7d3fbc8); OP (FG, A, B, C, D, 9, 5, 0x21e1cde6); OP (FG, D, A, B, C, 14, 9, 0xc33707d6); OP (FG, C, D, A, B, 3, 14, 0xf4d50d87); OP (FG, B, C, D, A, 8, 20, 0x455a14ed); OP (FG, A, B, C, D, 13, 5, 0xa9e3e905); OP (FG, D, A, B, C, 2, 9, 0xfcefa3f8); OP (FG, C, D, A, B, 7, 14, 0x676f02d9); OP (FG, B, C, D, A, 12, 20, 0x8d2a4c8a); /* Round 3. */ OP (FH, A, B, C, D, 5, 4, 0xfffa3942); OP (FH, D, A, B, C, 8, 11, 0x8771f681); OP (FH, C, D, A, B, 11, 16, 0x6d9d6122); OP (FH, B, C, D, A, 14, 23, 0xfde5380c); OP (FH, A, B, C, D, 1, 4, 0xa4beea44); OP (FH, D, A, B, C, 4, 11, 0x4bdecfa9); OP (FH, C, D, A, B, 7, 16, 0xf6bb4b60); OP (FH, B, C, D, A, 10, 23, 0xbebfbc70); OP (FH, A, B, C, D, 13, 4, 0x289b7ec6); OP (FH, D, A, B, C, 0, 11, 0xeaa127fa); OP (FH, C, D, A, B, 3, 16, 0xd4ef3085); OP (FH, B, C, D, A, 6, 23, 0x04881d05); OP (FH, A, B, C, D, 9, 4, 0xd9d4d039); OP (FH, D, A, B, C, 12, 11, 0xe6db99e5); OP (FH, C, D, A, B, 15, 16, 0x1fa27cf8); OP (FH, B, C, D, A, 2, 23, 0xc4ac5665); /* Round 4. */ OP (FI, A, B, C, D, 0, 6, 0xf4292244); OP (FI, D, A, B, C, 7, 10, 0x432aff97); OP (FI, C, D, A, B, 14, 15, 0xab9423a7); OP (FI, B, C, D, A, 5, 21, 0xfc93a039); OP (FI, A, B, C, D, 12, 6, 0x655b59c3); OP (FI, D, A, B, C, 3, 10, 0x8f0ccc92); OP (FI, C, D, A, B, 10, 15, 0xffeff47d); OP (FI, B, C, D, A, 1, 21, 0x85845dd1); OP (FI, A, B, C, D, 8, 6, 0x6fa87e4f); OP (FI, D, A, B, C, 15, 10, 0xfe2ce6e0); OP (FI, C, D, A, B, 6, 15, 0xa3014314); OP (FI, B, C, D, A, 13, 21, 0x4e0811a1); OP (FI, A, B, C, D, 4, 6, 0xf7537e82); OP (FI, D, A, B, C, 11, 10, 0xbd3af235); OP (FI, C, D, A, B, 2, 15, 0x2ad7d2bb); OP (FI, B, C, D, A, 9, 21, 0xeb86d391); /* Add the starting values of the context. */ A += A_save; B += B_save; C += C_save; D += D_save; } /* Put checksum in context given as argument. */ ctx->A = A; ctx->B = B; ctx->C = C; ctx->D = D; } dc3dd-7.1.614/lib/strnumcmp-in.h0000644000175000017500000001437111022023316016006 0ustar amedicoamedico/* Compare numeric strings. This is an internal include file. Copyright (C) 1988, 1991, 1992, 1993, 1995, 1996, 1998, 1999, 2000, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Mike Haertel. */ #ifndef STRNUMCMP_IN_H # define STRNUMCMP_IN_H 1 # include "strnumcmp.h" # include # define NEGATION_SIGN '-' # define NUMERIC_ZERO '0' /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of `digit' even when the host does not conform to POSIX. */ # define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Compare strings A and B containing decimal fractions < 1. DECIMAL_POINT is the decimal point. Each string should begin with a decimal point followed immediately by the digits of the fraction. Strings not of this form are treated as zero. */ /* The goal here, is to take two numbers a and b... compare these in parallel. Instead of converting each, and then comparing the outcome. Most likely stopping the comparison before the conversion is complete. The algorithm used, in the old "sort" utility: Algorithm: fraccompare Action : compare two decimal fractions accepts : char *a, char *b returns : -1 if ab. implement: if *a == decimal_point AND *b == decimal_point find first character different in a and b. if both are digits, return the difference *a - *b. if *a is a digit skip past zeros if digit return 1, else 0 if *b is a digit skip past zeros if digit return -1, else 0 if *a is a decimal_point skip past decimal_point and zeros if digit return 1, else 0 if *b is a decimal_point skip past decimal_point and zeros if digit return -1, else 0 return 0 */ static inline int fraccompare (char const *a, char const *b, char decimal_point) { if (*a == decimal_point && *b == decimal_point) { while (*++a == *++b) if (! ISDIGIT (*a)) return 0; if (ISDIGIT (*a) && ISDIGIT (*b)) return *a - *b; if (ISDIGIT (*a)) goto a_trailing_nonzero; if (ISDIGIT (*b)) goto b_trailing_nonzero; return 0; } else if (*a++ == decimal_point) { a_trailing_nonzero: while (*a == NUMERIC_ZERO) a++; return ISDIGIT (*a); } else if (*b++ == decimal_point) { b_trailing_nonzero: while (*b == NUMERIC_ZERO) b++; return - ISDIGIT (*b); } return 0; } /* Compare strings A and B as numbers without explicitly converting them to machine numbers, to avoid overflow problems and perhaps improve performance. DECIMAL_POINT is the decimal point and THOUSANDS_SEP the thousands separator. A DECIMAL_POINT of -1 causes comparisons to act as if there is no decimal point character, and likewise for THOUSANDS_SEP. */ static inline int numcompare (char const *a, char const *b, int decimal_point, int thousands_sep) { unsigned char tmpa = *a; unsigned char tmpb = *b; int tmp; size_t log_a; size_t log_b; if (tmpa == NEGATION_SIGN) { do tmpa = *++a; while (tmpa == NUMERIC_ZERO || tmpa == thousands_sep); if (tmpb != NEGATION_SIGN) { if (tmpa == decimal_point) do tmpa = *++a; while (tmpa == NUMERIC_ZERO); if (ISDIGIT (tmpa)) return -1; while (tmpb == NUMERIC_ZERO || tmpb == thousands_sep) tmpb = *++b; if (tmpb == decimal_point) do tmpb = *++b; while (tmpb == NUMERIC_ZERO); return - ISDIGIT (tmpb); } do tmpb = *++b; while (tmpb == NUMERIC_ZERO || tmpb == thousands_sep); while (tmpa == tmpb && ISDIGIT (tmpa)) { do tmpa = *++a; while (tmpa == thousands_sep); do tmpb = *++b; while (tmpb == thousands_sep); } if ((tmpa == decimal_point && !ISDIGIT (tmpb)) || (tmpb == decimal_point && !ISDIGIT (tmpa))) return fraccompare (b, a, decimal_point); tmp = tmpb - tmpa; for (log_a = 0; ISDIGIT (tmpa); ++log_a) do tmpa = *++a; while (tmpa == thousands_sep); for (log_b = 0; ISDIGIT (tmpb); ++log_b) do tmpb = *++b; while (tmpb == thousands_sep); if (log_a != log_b) return log_a < log_b ? 1 : -1; if (!log_a) return 0; return tmp; } else if (tmpb == NEGATION_SIGN) { do tmpb = *++b; while (tmpb == NUMERIC_ZERO || tmpb == thousands_sep); if (tmpb == decimal_point) do tmpb = *++b; while (tmpb == NUMERIC_ZERO); if (ISDIGIT (tmpb)) return 1; while (tmpa == NUMERIC_ZERO || tmpa == thousands_sep) tmpa = *++a; if (tmpa == decimal_point) do tmpa = *++a; while (tmpa == NUMERIC_ZERO); return ISDIGIT (tmpa); } else { while (tmpa == NUMERIC_ZERO || tmpa == thousands_sep) tmpa = *++a; while (tmpb == NUMERIC_ZERO || tmpb == thousands_sep) tmpb = *++b; while (tmpa == tmpb && ISDIGIT (tmpa)) { do tmpa = *++a; while (tmpa == thousands_sep); do tmpb = *++b; while (tmpb == thousands_sep); } if ((tmpa == decimal_point && !ISDIGIT (tmpb)) || (tmpb == decimal_point && !ISDIGIT (tmpa))) return fraccompare (a, b, decimal_point); tmp = tmpa - tmpb; for (log_a = 0; ISDIGIT (tmpa); ++log_a) do tmpa = *++a; while (tmpa == thousands_sep); for (log_b = 0; ISDIGIT (tmpb); ++log_b) do tmpb = *++b; while (tmpb == thousands_sep); if (log_a != log_b) return log_a < log_b ? -1 : 1; if (!log_a) return 0; return tmp; } } #endif dc3dd-7.1.614/lib/timespec.h0000644000175000017500000000230611022023316015156 0ustar amedicoamedico/* timespec -- System time interface Copyright (C) 2000, 2002, 2004, 2005, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if ! defined TIMESPEC_H # define TIMESPEC_H # include /* Return negative, zero, positive if A < B, A == B, A > B, respectively. Assume the nanosecond components are in range, or close to it. */ static inline int timespec_cmp (struct timespec a, struct timespec b) { return (a.tv_sec < b.tv_sec ? -1 : a.tv_sec > b.tv_sec ? 1 : a.tv_nsec - b.tv_nsec); } void gettime (struct timespec *); int settime (struct timespec const *); #endif dc3dd-7.1.614/lib/wctype.in.h0000644000175000017500000001110511064230667015301 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* A substitute for ISO C99 , for platforms that lack it. Copyright (C) 2006-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Written by Bruno Haible and Paul Eggert. */ /* * ISO C 99 for platforms that lack it. * * * iswctype, towctrans, towlower, towupper, wctrans, wctype, * wctrans_t, and wctype_t are not yet implemented. */ #ifndef _GL_WCTYPE_H #if @HAVE_WINT_T@ /* Solaris 2.5 has a bug: must be included before . Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ # include # include # include # include #endif /* Include the original if it exists. BeOS 5 has the functions but no . */ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_WCTYPE_H@ # @INCLUDE_NEXT@ @NEXT_WCTYPE_H@ #endif #ifndef _GL_WCTYPE_H #define _GL_WCTYPE_H #if @HAVE_WINT_T@ typedef wint_t __wctype_wint_t; #else typedef int __wctype_wint_t; #endif /* FreeBSD 4.4 to 4.11 has but lacks the functions. Linux libc5 has and the functions but they are broken. Assume all 12 functions are implemented the same way, or not at all. */ #if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@ /* IRIX 5.3 has macros but no functions, its isw* macros refer to an undefined variable _ctmp_ and to macros like _P, and they refer to system functions like _iswctype that are not in the standard C library. Rather than try to get ancient buggy implementations like this to work, just disable them. */ # undef iswalnum # undef iswalpha # undef iswblank # undef iswcntrl # undef iswdigit # undef iswgraph # undef iswlower # undef iswprint # undef iswpunct # undef iswspace # undef iswupper # undef iswxdigit /* Linux libc5 has and the functions but they are broken. */ # if @REPLACE_ISWCNTRL@ # define iswalnum rpl_iswalnum # define iswalpha rpl_iswalpha # define iswblank rpl_iswblank # define iswcntrl rpl_iswcntrl # define iswdigit rpl_iswdigit # define iswgraph rpl_iswgraph # define iswlower rpl_iswlower # define iswprint rpl_iswprint # define iswpunct rpl_iswpunct # define iswspace rpl_iswspace # define iswupper rpl_iswupper # define iswxdigit rpl_iswxdigit # endif static inline int iswalnum (__wctype_wint_t wc) { return ((wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z')); } static inline int iswalpha (__wctype_wint_t wc) { return (wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'; } static inline int iswblank (__wctype_wint_t wc) { return wc == ' ' || wc == '\t'; } static inline int iswcntrl (__wctype_wint_t wc) { return (wc & ~0x1f) == 0 || wc == 0x7f; } static inline int iswdigit (__wctype_wint_t wc) { return wc >= '0' && wc <= '9'; } static inline int iswgraph (__wctype_wint_t wc) { return wc >= '!' && wc <= '~'; } static inline int iswlower (__wctype_wint_t wc) { return wc >= 'a' && wc <= 'z'; } static inline int iswprint (__wctype_wint_t wc) { return wc >= ' ' && wc <= '~'; } static inline int iswpunct (__wctype_wint_t wc) { return (wc >= '!' && wc <= '~' && !((wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'))); } static inline int iswspace (__wctype_wint_t wc) { return (wc == ' ' || wc == '\t' || wc == '\n' || wc == '\v' || wc == '\f' || wc == '\r'); } static inline int iswupper (__wctype_wint_t wc) { return wc >= 'A' && wc <= 'Z'; } static inline int iswxdigit (__wctype_wint_t wc) { return ((wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'F')); } # endif /* ! HAVE_ISWCNTRL */ #endif /* _GL_WCTYPE_H */ #endif /* _GL_WCTYPE_H */ dc3dd-7.1.614/lib/rmdir.c0000644000175000017500000000324211022023316014455 0ustar amedicoamedico/* BSD compatible remove directory function for System V Copyright (C) 1988, 1990, 1999, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include /* rmdir adapted from GNU tar. */ /* Remove directory DIR. Return 0 if successful, -1 if not. */ int rmdir (char const *dir) { pid_t cpid; int status; struct stat statbuf; if (stat (dir, &statbuf) != 0) return -1; /* errno already set */ if (!S_ISDIR (statbuf.st_mode)) { errno = ENOTDIR; return -1; } cpid = fork (); switch (cpid) { case -1: /* cannot fork */ return -1; /* errno already set */ case 0: /* child process */ execl ("/bin/rmdir", "rmdir", dir, (char *) 0); _exit (1); default: /* parent process */ /* Wait for kid to finish. */ while (wait (&status) != cpid) /* Do nothing. */ ; if (status) { /* /bin/rmdir failed. */ errno = EIO; return -1; } return 0; } } dc3dd-7.1.614/lib/isnan.h0000644000175000017500000000165011022023316014456 0ustar amedicoamedico/* Test for NaN that does not need libm. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if HAVE_ISNAN_IN_LIBC /* Get declaration of isnan macro. */ # include #else /* Test whether X is a NaN. */ # undef isnan # define isnan rpl_isnan extern int isnan (double x); #endif dc3dd-7.1.614/lib/alloca.c0000644000175000017500000003334611064230667014622 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* alloca.c -- allocate automatically reclaimed memory (Mostly) portable public-domain implementation -- D A Gwyn This implementation of the PWB library alloca function, which is used to allocate space off the run-time stack so that it is automatically reclaimed upon procedure exit, was inspired by discussions with J. Q. Johnson of Cornell. J.Otto Tennant contributed the Cray support. There are some preprocessor constants that can be defined when compiling for your specific system, for improved efficiency; however, the defaults should be okay. The general concept of this implementation is to keep track of all alloca-allocated blocks, and reclaim any that are found to be deeper in the stack than the current invocation. This heuristic does not reclaim storage as soon as it becomes invalid, but it will do so eventually. As a special case, alloca(0) reclaims storage without allocating any. It is a good idea to use alloca(0) in your main control loop, etc. to force garbage collection. */ #include #include #include #include #ifdef emacs # include "lisp.h" # include "blockinput.h" # ifdef EMACS_FREE # undef free # define free EMACS_FREE # endif #else # define memory_full() abort () #endif /* If compiling with GCC 2, this file's not needed. */ #if !defined (__GNUC__) || __GNUC__ < 2 /* If someone has defined alloca as a macro, there must be some other way alloca is supposed to work. */ # ifndef alloca # ifdef emacs # ifdef static /* actually, only want this if static is defined as "" -- this is for usg, in which emacs must undefine static in order to make unexec workable */ # ifndef STACK_DIRECTION you lose -- must know STACK_DIRECTION at compile-time /* Using #error here is not wise since this file should work for old and obscure compilers. */ # endif /* STACK_DIRECTION undefined */ # endif /* static */ # endif /* emacs */ /* If your stack is a linked list of frames, you have to provide an "address metric" ADDRESS_FUNCTION macro. */ # if defined (CRAY) && defined (CRAY_STACKSEG_END) long i00afunc (); # define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg)) # else # define ADDRESS_FUNCTION(arg) &(arg) # endif /* Define STACK_DIRECTION if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ # ifndef STACK_DIRECTION # define STACK_DIRECTION 0 /* Direction unknown. */ # endif # if STACK_DIRECTION != 0 # define STACK_DIR STACK_DIRECTION /* Known at compile-time. */ # else /* STACK_DIRECTION == 0; need run-time code. */ static int stack_dir; /* 1 or -1 once known. */ # define STACK_DIR stack_dir static void find_stack_direction (void) { static char *addr = NULL; /* Address of first `dummy', once known. */ auto char dummy; /* To get stack address. */ if (addr == NULL) { /* Initial entry. */ addr = ADDRESS_FUNCTION (dummy); find_stack_direction (); /* Recurse once. */ } else { /* Second entry. */ if (ADDRESS_FUNCTION (dummy) > addr) stack_dir = 1; /* Stack grew upward. */ else stack_dir = -1; /* Stack grew downward. */ } } # endif /* STACK_DIRECTION == 0 */ /* An "alloca header" is used to: (a) chain together all alloca'ed blocks; (b) keep track of stack depth. It is very important that sizeof(header) agree with malloc alignment chunk size. The following default should work okay. */ # ifndef ALIGN_SIZE # define ALIGN_SIZE sizeof(double) # endif typedef union hdr { char align[ALIGN_SIZE]; /* To force sizeof(header). */ struct { union hdr *next; /* For chaining headers. */ char *deep; /* For stack depth measure. */ } h; } header; static header *last_alloca_header = NULL; /* -> last alloca header. */ /* Return a pointer to at least SIZE bytes of storage, which will be automatically reclaimed upon exit from the procedure that called alloca. Originally, this space was supposed to be taken from the current stack frame of the caller, but that method cannot be made to work for some implementations of C, for example under Gould's UTX/32. */ void * alloca (size_t size) { auto char probe; /* Probes stack depth: */ register char *depth = ADDRESS_FUNCTION (probe); # if STACK_DIRECTION == 0 if (STACK_DIR == 0) /* Unknown growth direction. */ find_stack_direction (); # endif /* Reclaim garbage, defined as all alloca'd storage that was allocated from deeper in the stack than currently. */ { register header *hp; /* Traverses linked list. */ # ifdef emacs BLOCK_INPUT; # endif for (hp = last_alloca_header; hp != NULL;) if ((STACK_DIR > 0 && hp->h.deep > depth) || (STACK_DIR < 0 && hp->h.deep < depth)) { register header *np = hp->h.next; free (hp); /* Collect garbage. */ hp = np; /* -> next header. */ } else break; /* Rest are not deeper. */ last_alloca_header = hp; /* -> last valid storage. */ # ifdef emacs UNBLOCK_INPUT; # endif } if (size == 0) return NULL; /* No allocation required. */ /* Allocate combined header + user data storage. */ { /* Address of header. */ register header *new; size_t combined_size = sizeof (header) + size; if (combined_size < sizeof (header)) memory_full (); new = malloc (combined_size); if (! new) memory_full (); new->h.next = last_alloca_header; new->h.deep = depth; last_alloca_header = new; /* User storage begins just after header. */ return (void *) (new + 1); } } # if defined (CRAY) && defined (CRAY_STACKSEG_END) # ifdef DEBUG_I00AFUNC # include # endif # ifndef CRAY_STACK # define CRAY_STACK # ifndef CRAY2 /* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */ struct stack_control_header { long shgrow:32; /* Number of times stack has grown. */ long shaseg:32; /* Size of increments to stack. */ long shhwm:32; /* High water mark of stack. */ long shsize:32; /* Current size of stack (all segments). */ }; /* The stack segment linkage control information occurs at the high-address end of a stack segment. (The stack grows from low addresses to high addresses.) The initial part of the stack segment linkage control information is 0200 (octal) words. This provides for register storage for the routine which overflows the stack. */ struct stack_segment_linkage { long ss[0200]; /* 0200 overflow words. */ long sssize:32; /* Number of words in this segment. */ long ssbase:32; /* Offset to stack base. */ long:32; long sspseg:32; /* Offset to linkage control of previous segment of stack. */ long:32; long sstcpt:32; /* Pointer to task common address block. */ long sscsnm; /* Private control structure number for microtasking. */ long ssusr1; /* Reserved for user. */ long ssusr2; /* Reserved for user. */ long sstpid; /* Process ID for pid based multi-tasking. */ long ssgvup; /* Pointer to multitasking thread giveup. */ long sscray[7]; /* Reserved for Cray Research. */ long ssa0; long ssa1; long ssa2; long ssa3; long ssa4; long ssa5; long ssa6; long ssa7; long sss0; long sss1; long sss2; long sss3; long sss4; long sss5; long sss6; long sss7; }; # else /* CRAY2 */ /* The following structure defines the vector of words returned by the STKSTAT library routine. */ struct stk_stat { long now; /* Current total stack size. */ long maxc; /* Amount of contiguous space which would be required to satisfy the maximum stack demand to date. */ long high_water; /* Stack high-water mark. */ long overflows; /* Number of stack overflow ($STKOFEN) calls. */ long hits; /* Number of internal buffer hits. */ long extends; /* Number of block extensions. */ long stko_mallocs; /* Block allocations by $STKOFEN. */ long underflows; /* Number of stack underflow calls ($STKRETN). */ long stko_free; /* Number of deallocations by $STKRETN. */ long stkm_free; /* Number of deallocations by $STKMRET. */ long segments; /* Current number of stack segments. */ long maxs; /* Maximum number of stack segments so far. */ long pad_size; /* Stack pad size. */ long current_address; /* Current stack segment address. */ long current_size; /* Current stack segment size. This number is actually corrupted by STKSTAT to include the fifteen word trailer area. */ long initial_address; /* Address of initial segment. */ long initial_size; /* Size of initial segment. */ }; /* The following structure describes the data structure which trails any stack segment. I think that the description in 'asdef' is out of date. I only describe the parts that I am sure about. */ struct stk_trailer { long this_address; /* Address of this block. */ long this_size; /* Size of this block (does not include this trailer). */ long unknown2; long unknown3; long link; /* Address of trailer block of previous segment. */ long unknown5; long unknown6; long unknown7; long unknown8; long unknown9; long unknown10; long unknown11; long unknown12; long unknown13; long unknown14; }; # endif /* CRAY2 */ # endif /* not CRAY_STACK */ # ifdef CRAY2 /* Determine a "stack measure" for an arbitrary ADDRESS. I doubt that "lint" will like this much. */ static long i00afunc (long *address) { struct stk_stat status; struct stk_trailer *trailer; long *block, size; long result = 0; /* We want to iterate through all of the segments. The first step is to get the stack status structure. We could do this more quickly and more directly, perhaps, by referencing the $LM00 common block, but I know that this works. */ STKSTAT (&status); /* Set up the iteration. */ trailer = (struct stk_trailer *) (status.current_address + status.current_size - 15); /* There must be at least one stack segment. Therefore it is a fatal error if "trailer" is null. */ if (trailer == 0) abort (); /* Discard segments that do not contain our argument address. */ while (trailer != 0) { block = (long *) trailer->this_address; size = trailer->this_size; if (block == 0 || size == 0) abort (); trailer = (struct stk_trailer *) trailer->link; if ((block <= address) && (address < (block + size))) break; } /* Set the result to the offset in this segment and add the sizes of all predecessor segments. */ result = address - block; if (trailer == 0) { return result; } do { if (trailer->this_size <= 0) abort (); result += trailer->this_size; trailer = (struct stk_trailer *) trailer->link; } while (trailer != 0); /* We are done. Note that if you present a bogus address (one not in any segment), you will get a different number back, formed from subtracting the address of the first block. This is probably not what you want. */ return (result); } # else /* not CRAY2 */ /* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP. Determine the number of the cell within the stack, given the address of the cell. The purpose of this routine is to linearize, in some sense, stack addresses for alloca. */ static long i00afunc (long address) { long stkl = 0; long size, pseg, this_segment, stack; long result = 0; struct stack_segment_linkage *ssptr; /* Register B67 contains the address of the end of the current stack segment. If you (as a subprogram) store your registers on the stack and find that you are past the contents of B67, you have overflowed the segment. B67 also points to the stack segment linkage control area, which is what we are really interested in. */ stkl = CRAY_STACKSEG_END (); ssptr = (struct stack_segment_linkage *) stkl; /* If one subtracts 'size' from the end of the segment, one has the address of the first word of the segment. If this is not the first segment, 'pseg' will be nonzero. */ pseg = ssptr->sspseg; size = ssptr->sssize; this_segment = stkl - size; /* It is possible that calling this routine itself caused a stack overflow. Discard stack segments which do not contain the target address. */ while (!(this_segment <= address && address <= stkl)) { # ifdef DEBUG_I00AFUNC fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl); # endif if (pseg == 0) break; stkl = stkl - pseg; ssptr = (struct stack_segment_linkage *) stkl; size = ssptr->sssize; pseg = ssptr->sspseg; this_segment = stkl - size; } result = address - this_segment; /* If you subtract pseg from the current end of the stack, you get the address of the previous stack segment's end. This seems a little convoluted to me, but I'll bet you save a cycle somewhere. */ while (pseg != 0) { # ifdef DEBUG_I00AFUNC fprintf (stderr, "%011o %011o\n", pseg, size); # endif stkl = stkl - pseg; ssptr = (struct stack_segment_linkage *) stkl; size = ssptr->sssize; pseg = ssptr->sspseg; result += size; } return (result); } # endif /* not CRAY2 */ # endif /* CRAY */ # endif /* no alloca */ #endif /* not GCC version 3 */ dc3dd-7.1.614/lib/vasprintf.c0000644000175000017500000000274511064230667015402 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Formatted output to strings. Copyright (C) 1999, 2002, 2006-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #ifdef IN_LIBASPRINTF # include "vasprintf.h" #else # include #endif #include #include #include #include "vasnprintf.h" int vasprintf (char **resultp, const char *format, va_list args) { size_t length; char *result = vasnprintf (NULL, &length, format, args); if (result == NULL) return -1; if (length > INT_MAX) { free (result); errno = EOVERFLOW; return -1; } *resultp = result; /* Return the number of resulting bytes, excluding the trailing NUL. */ return length; } dc3dd-7.1.614/lib/closein.h0000644000175000017500000000171311022023316015002 0ustar amedicoamedico/* Close standard input, rewinding seekable stdin if necessary. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GL_CLOSEIN_H # define _GL_CLOSEIN_H 1 # ifdef __cplusplus extern "C" { # endif void close_stdin_set_file_name (const char *file); void close_stdin (void); # ifdef __cplusplus } # endif #endif dc3dd-7.1.614/lib/inttostr.c0000644000175000017500000000245611022023316015234 0ustar amedicoamedico/* inttostr.c -- convert integers to printable strings Copyright (C) 2001, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert */ #include #include "inttostr.h" /* Convert I to a printable string in BUF, which must be at least INT_BUFSIZE_BOUND (INTTYPE) bytes long. Return the address of the printable string, which need not start at BUF. */ char * inttostr (inttype i, char *buf) { char *p = buf + INT_STRLEN_BOUND (inttype); *p = 0; if (i < 0) { do *--p = '0' - i % 10; while ((i /= 10) != 0); *--p = '-'; } else { do *--p = '0' + i % 10; while ((i /= 10) != 0); } return p; } dc3dd-7.1.614/lib/closein.c0000644000175000017500000000736311022023316015004 0ustar amedicoamedico/* Close standard input, rewinding seekable stdin if necessary. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "closein.h" #include #include #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #include "close-stream.h" #include "closeout.h" #include "error.h" #include "exitfail.h" #include "freadahead.h" #include "quotearg.h" static const char *file_name; /* Set the file name to be reported in the event an error is detected on stdin by close_stdin. See also close_stdout_set_file_name, if an error is detected when closing stdout. */ void close_stdin_set_file_name (const char *file) { file_name = file; } /* Close standard input, rewinding any unused input if stdin is seekable. On error, issue a diagnostic and _exit with status 'exit_failure'. Then call close_stdout. Most programs can get by with close_stdout. close_stdin is only needed when a program wants to guarantee that partially read input from seekable stdin is not consumed, for any subsequent clients. For example, POSIX requires that these two commands behave alike: (sed -ne 1q; cat) < file tail -n 1 file Since close_stdin is commonly registered via 'atexit', POSIX and the C standard both say that it should not call 'exit', because the behavior is undefined if 'exit' is called more than once. So it calls '_exit' instead of 'exit'. If close_stdin is registered via atexit before other functions are registered, the other functions can act before this _exit is invoked. Applications that use close_stdout should flush any streams other than stdin, stdout, and stderr before exiting, since the call to _exit will bypass other buffer flushing. Applications should be flushing and closing other streams anyway, to check for I/O errors. Also, applications should not use tmpfile, since _exit can bypass the removal of these files. It's important to detect such failures and exit nonzero because many tools (most notably `make' and other build-management systems) depend on being able to detect failure in other tools via their exit status. */ void close_stdin (void) { bool fail = false; /* There is no need to flush stdin if we can determine quickly that stdin's input buffer is empty; in this case we know that if stdin is seekable, fseeko (stdin, 0, SEEK_CUR) == lseek (0, 0, SEEK_CUR). */ if (freadahead (stdin) > 0) { /* Only attempt flush if stdin is seekable, as fflush is entitled to fail on non-seekable streams. */ if (fseeko (stdin, 0, SEEK_CUR) == 0 && fflush (stdin) != 0) fail = true; } if (close_stream (stdin) != 0) fail = true; if (fail) { /* Report failure, but defer exit until after closing stdout, since the failure report should still be flushed. */ char const *close_error = _("error closing file"); if (file_name) error (0, errno, "%s: %s", quotearg_colon (file_name), close_error); else error (0, errno, "%s", close_error); } close_stdout (); if (fail) _exit (exit_failure); } dc3dd-7.1.614/lib/getopt.in.h0000644000175000017500000001751611022023316015265 0ustar amedicoamedico/* Declarations for getopt. Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2005,2006,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GETOPT_H #ifndef __need_getopt # define _GETOPT_H 1 #endif /* Standalone applications should #define __GETOPT_PREFIX to an identifier that prefixes the external functions and variables defined in this header. When this happens, include the headers that might declare getopt so that they will not cause confusion if included after this file. Then systematically rename identifiers so that they do not collide with the system functions and variables. Renaming avoids problems with some compilers and linkers. */ #if defined __GETOPT_PREFIX && !defined __need_getopt # include # include # include # undef __need_getopt # undef getopt # undef getopt_long # undef getopt_long_only # undef optarg # undef opterr # undef optind # undef optopt # define __GETOPT_CONCAT(x, y) x ## y # define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y) # define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y) # define getopt __GETOPT_ID (getopt) # define getopt_long __GETOPT_ID (getopt_long) # define getopt_long_only __GETOPT_ID (getopt_long_only) # define optarg __GETOPT_ID (optarg) # define opterr __GETOPT_ID (opterr) # define optind __GETOPT_ID (optind) # define optopt __GETOPT_ID (optopt) #endif /* Standalone applications get correct prototypes for getopt_long and getopt_long_only; they declare "char **argv". libc uses prototypes with "char *const *argv" that are incorrect because getopt_long and getopt_long_only can permute argv; this is required for backward compatibility (e.g., for LSB 2.0.1). This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt', but it caused redefinition warnings if both unistd.h and getopt.h were included, since unistd.h includes getopt.h having previously defined __need_getopt. The only place where __getopt_argv_const is used is in definitions of getopt_long and getopt_long_only below, but these are visible only if __need_getopt is not defined, so it is quite safe to rewrite the conditional as follows: */ #if !defined __need_getopt # if defined __GETOPT_PREFIX # define __getopt_argv_const /* empty */ # else # define __getopt_argv_const const # endif #endif /* If __GNU_LIBRARY__ is not already defined, either we are being used standalone, or this is the first header included in the source file. If we are being used with glibc, we need to include , but that does not exist if we are standalone. So: if __GNU_LIBRARY__ is not defined, include , which will pull in for us if it's from glibc. (Why ctype.h? It's guaranteed to exist and it doesn't flood the namespace with stuff the way some other headers do.) */ #if !defined __GNU_LIBRARY__ # include #endif #ifndef __THROW # ifndef __GNUC_PREREQ # define __GNUC_PREREQ(maj, min) (0) # endif # if defined __cplusplus && __GNUC_PREREQ (2,8) # define __THROW throw () # else # define __THROW # endif #endif #ifdef __cplusplus extern "C" { #endif /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ extern char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ extern int optind; /* Callers store zero here to inhibit the error message `getopt' prints for unrecognized options. */ extern int opterr; /* Set to an option character which was unrecognized. */ extern int optopt; #ifndef __need_getopt /* Describe the long-named options requested by the application. The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector of `struct option' terminated by an element containing a name which is zero. The field `has_arg' is: no_argument (or 0) if the option does not take an argument, required_argument (or 1) if the option requires an argument, optional_argument (or 2) if the option takes an optional argument. If the field `flag' is not NULL, it points to a variable that is set to the value given in the field `val' when the option is found, but left unchanged if the option is not found. To have a long-named option do something other than set an `int' to a compiled-in constant, such as set a value from `optarg', set the option's `flag' field to zero and its `val' field to a nonzero value (the equivalent single-letter option character, if there is one). For long options that have a zero `flag' field, `getopt' returns the contents of the `val' field. */ struct option { const char *name; /* has_arg can't be an enum because some compilers complain about type mismatches in all the code that assumes it is an int. */ int has_arg; int *flag; int val; }; /* Names for the values of the `has_arg' field of `struct option'. */ # define no_argument 0 # define required_argument 1 # define optional_argument 2 #endif /* need getopt */ /* Get definitions and prototypes for functions to process the arguments in ARGV (ARGC of them, minus the program name) for options given in OPTS. Return the option character from OPTS just read. Return -1 when there are no more options. For unrecognized options, or options missing arguments, `optopt' is set to the option letter, and '?' is returned. The OPTS string is a list of characters which are recognized option letters, optionally followed by colons, specifying that that letter takes an argument, to be placed in `optarg'. If a letter in OPTS is followed by two colons, its argument is optional. This behavior is specific to the GNU `getopt'. The argument `--' causes premature termination of argument scanning, explicitly telling `getopt' that there are no more options. If OPTS begins with `-', then non-option arguments are treated as arguments to the option '\1'. This behavior is specific to the GNU `getopt'. If OPTS begins with `+', or POSIXLY_CORRECT is set in the environment, then do not permute arguments. */ extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __THROW; #ifndef __need_getopt extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) __THROW; extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) __THROW; #endif #ifdef __cplusplus } #endif /* Make sure we later can get all the definitions and declarations. */ #undef __need_getopt #endif /* getopt.h */ dc3dd-7.1.614/lib/file-type.c0000644000175000017500000000355111022023316015241 0ustar amedicoamedico/* Return a string describing the type of a file. Copyright (C) 1993, 1994, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "file-type.h" #include #define _(text) gettext (text) char const * file_type (struct stat const *st) { /* See POSIX 1003.1-2001 XCU Table 4-8 lines 17093-17107 for some of these formats. To keep diagnostics grammatical in English, the returned string must start with a consonant. */ if (S_ISREG (st->st_mode)) return st->st_size == 0 ? _("regular empty file") : _("regular file"); if (S_ISDIR (st->st_mode)) return _("directory"); if (S_ISBLK (st->st_mode)) return _("block special file"); if (S_ISCHR (st->st_mode)) return _("character special file"); if (S_ISFIFO (st->st_mode)) return _("fifo"); if (S_ISLNK (st->st_mode)) return _("symbolic link"); if (S_ISSOCK (st->st_mode)) return _("socket"); if (S_TYPEISMQ (st)) return _("message queue"); if (S_TYPEISSEM (st)) return _("semaphore"); if (S_TYPEISSHM (st)) return _("shared memory object"); if (S_TYPEISTMO (st)) return _("typed memory object"); return _("weird file"); } dc3dd-7.1.614/lib/cycle-check.h0000644000175000017500000000311411022023316015515 0ustar amedicoamedico/* help detect directory cycles efficiently Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering */ #ifndef CYCLE_CHECK_H # define CYCLE_CHECK_H 1 # include # include # include "dev-ino.h" # include "same-inode.h" struct cycle_check_state { struct dev_ino dev_ino; uintmax_t chdir_counter; int magic; }; void cycle_check_init (struct cycle_check_state *state); bool cycle_check (struct cycle_check_state *state, struct stat const *sb); # define CYCLE_CHECK_REFLECT_CHDIR_UP(State, SB_dir, SB_subdir) \ do \ { \ /* You must call cycle_check at least once before using this macro. */ \ if ((State)->chdir_counter == 0) \ abort (); \ if (SAME_INODE ((State)->dev_ino, SB_subdir)) \ { \ (State)->dev_ino.st_dev = (SB_dir).st_dev; \ (State)->dev_ino.st_ino = (SB_dir).st_ino; \ } \ } \ while (0) #endif dc3dd-7.1.614/lib/human.c0000644000175000017500000002773411022023316014464 0ustar amedicoamedico/* human.c -- print human readable file size Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert and Larry McVoy. */ #include #include "human.h" #include #include #include #include #include #include #include /* The maximum length of a suffix like "KiB". */ #define HUMAN_READABLE_SUFFIX_LENGTH_MAX 3 static const char power_letter[] = { 0, /* not used */ 'K', /* kibi ('k' for kilo is a special case) */ 'M', /* mega or mebi */ 'G', /* giga or gibi */ 'T', /* tera or tebi */ 'P', /* peta or pebi */ 'E', /* exa or exbi */ 'Z', /* zetta or 2**70 */ 'Y' /* yotta or 2**80 */ }; /* If INEXACT_STYLE is not human_round_to_nearest, and if easily possible, adjust VALUE according to the style. */ static long double adjust_value (int inexact_style, long double value) { /* Do not use the floorl or ceill functions, as that would mean checking for their presence and possibly linking with the standard math library, which is a porting pain. So leave the value alone if it is too large to easily round. */ if (inexact_style != human_round_to_nearest && value < UINTMAX_MAX) { uintmax_t u = value; value = u + (inexact_style == human_ceiling && u != value); } return value; } /* Group the digits of NUMBER according to the grouping rules of the current locale. NUMBER contains NUMBERLEN digits. Modify the bytes pointed to by NUMBER in place, subtracting 1 from NUMBER for each byte inserted. Return the starting address of the modified number. To group the digits, use GROUPING and THOUSANDS_SEP as in `struct lconv' from . */ static char * group_number (char *number, size_t numberlen, char const *grouping, char const *thousands_sep) { register char *d; size_t grouplen = SIZE_MAX; size_t thousands_seplen = strlen (thousands_sep); size_t i = numberlen; /* The maximum possible value for NUMBERLEN is the number of digits in the square of the largest uintmax_t, so double the size needed. */ char buf[2 * INT_STRLEN_BOUND (uintmax_t) + 1]; memcpy (buf, number, numberlen); d = number + numberlen; for (;;) { unsigned char g = *grouping; if (g) { grouplen = g < CHAR_MAX ? g : i; grouping++; } if (i < grouplen) grouplen = i; d -= grouplen; i -= grouplen; memcpy (d, buf + i, grouplen); if (i == 0) return d; d -= thousands_seplen; memcpy (d, thousands_sep, thousands_seplen); } } /* Convert N to a human readable format in BUF, using the options OPTS. N is expressed in units of FROM_BLOCK_SIZE. FROM_BLOCK_SIZE must be nonnegative. Use units of TO_BLOCK_SIZE in the output number. TO_BLOCK_SIZE must be positive. Use (OPTS & (human_round_to_nearest | human_floor | human_ceiling)) to determine whether to take the ceiling or floor of any result that cannot be expressed exactly. If (OPTS & human_group_digits), group the thousands digits according to the locale, e.g., `1,000,000' in an American English locale. If (OPTS & human_autoscale), deduce the output block size automatically; TO_BLOCK_SIZE must be 1 but it has no effect on the output. Use powers of 1024 if (OPTS & human_base_1024), and powers of 1000 otherwise. For example, assuming powers of 1024, 8500 would be converted to 8.3, 133456345 to 127, 56990456345 to 53, and so on. Numbers smaller than the power aren't modified. human_autoscale is normally used together with human_SI. If (OPTS & human_space_before_unit), use a space to separate the number from any suffix that is appended as described below. If (OPTS & human_SI), append an SI prefix indicating which power is being used. If in addition (OPTS & human_B), append "B" (if base 1000) or "iB" (if base 1024) to the SI prefix. When ((OPTS & human_SI) && ! (OPTS & human_autoscale)), TO_BLOCK_SIZE must be a power of 1024 or of 1000, depending on (OPTS & human_base_1024). */ char * human_readable (uintmax_t n, char *buf, int opts, uintmax_t from_block_size, uintmax_t to_block_size) { int inexact_style = opts & (human_round_to_nearest | human_floor | human_ceiling); unsigned int base = opts & human_base_1024 ? 1024 : 1000; uintmax_t amt; int tenths; int exponent = -1; int exponent_max = sizeof power_letter - 1; char *p; char *psuffix; char const *integerlim; /* 0 means adjusted N == AMT.TENTHS; 1 means AMT.TENTHS < adjusted N < AMT.TENTHS + 0.05; 2 means adjusted N == AMT.TENTHS + 0.05; 3 means AMT.TENTHS + 0.05 < adjusted N < AMT.TENTHS + 0.1. */ int rounding; char const *decimal_point = "."; size_t decimal_pointlen = 1; char const *grouping = ""; char const *thousands_sep = ""; struct lconv const *l = localeconv (); size_t pointlen = strlen (l->decimal_point); if (0 < pointlen && pointlen <= MB_LEN_MAX) { decimal_point = l->decimal_point; decimal_pointlen = pointlen; } grouping = l->grouping; if (strlen (l->thousands_sep) <= MB_LEN_MAX) thousands_sep = l->thousands_sep; psuffix = buf + LONGEST_HUMAN_READABLE - HUMAN_READABLE_SUFFIX_LENGTH_MAX; p = psuffix; /* Adjust AMT out of FROM_BLOCK_SIZE units and into TO_BLOCK_SIZE units. If this can be done exactly with integer arithmetic, do not use floating point operations. */ if (to_block_size <= from_block_size) { if (from_block_size % to_block_size == 0) { uintmax_t multiplier = from_block_size / to_block_size; amt = n * multiplier; if (amt / multiplier == n) { tenths = 0; rounding = 0; goto use_integer_arithmetic; } } } else if (from_block_size != 0 && to_block_size % from_block_size == 0) { uintmax_t divisor = to_block_size / from_block_size; uintmax_t r10 = (n % divisor) * 10; uintmax_t r2 = (r10 % divisor) * 2; amt = n / divisor; tenths = r10 / divisor; rounding = r2 < divisor ? 0 < r2 : 2 + (divisor < r2); goto use_integer_arithmetic; } { /* Either the result cannot be computed easily using uintmax_t, or from_block_size is zero. Fall back on floating point. FIXME: This can yield answers that are slightly off. */ long double dto_block_size = to_block_size; long double damt = n * (from_block_size / dto_block_size); size_t buflen; size_t nonintegerlen; if (! (opts & human_autoscale)) { sprintf (buf, "%.0Lf", adjust_value (inexact_style, damt)); buflen = strlen (buf); nonintegerlen = 0; } else { long double e = 1; exponent = 0; do { e *= base; exponent++; } while (e * base <= damt && exponent < exponent_max); damt /= e; sprintf (buf, "%.1Lf", adjust_value (inexact_style, damt)); buflen = strlen (buf); nonintegerlen = decimal_pointlen + 1; if (1 + nonintegerlen + ! (opts & human_base_1024) < buflen || ((opts & human_suppress_point_zero) && buf[buflen - 1] == '0')) { sprintf (buf, "%.0Lf", adjust_value (inexact_style, damt * 10) / 10); buflen = strlen (buf); nonintegerlen = 0; } } p = psuffix - buflen; memmove (p, buf, buflen); integerlim = p + buflen - nonintegerlen; } goto do_grouping; use_integer_arithmetic: { /* The computation can be done exactly, with integer arithmetic. Use power of BASE notation if requested and if adjusted AMT is large enough. */ if (opts & human_autoscale) { exponent = 0; if (base <= amt) { do { unsigned int r10 = (amt % base) * 10 + tenths; unsigned int r2 = (r10 % base) * 2 + (rounding >> 1); amt /= base; tenths = r10 / base; rounding = (r2 < base ? (r2 + rounding) != 0 : 2 + (base < r2 + rounding)); exponent++; } while (base <= amt && exponent < exponent_max); if (amt < 10) { if (inexact_style == human_round_to_nearest ? 2 < rounding + (tenths & 1) : inexact_style == human_ceiling && 0 < rounding) { tenths++; rounding = 0; if (tenths == 10) { amt++; tenths = 0; } } if (amt < 10 && (tenths || ! (opts & human_suppress_point_zero))) { *--p = '0' + tenths; p -= decimal_pointlen; memcpy (p, decimal_point, decimal_pointlen); tenths = rounding = 0; } } } } if (inexact_style == human_round_to_nearest ? 5 < tenths + (0 < rounding + (amt & 1)) : inexact_style == human_ceiling && 0 < tenths + rounding) { amt++; if ((opts & human_autoscale) && amt == base && exponent < exponent_max) { exponent++; if (! (opts & human_suppress_point_zero)) { *--p = '0'; p -= decimal_pointlen; memcpy (p, decimal_point, decimal_pointlen); } amt = 1; } } integerlim = p; do { int digit = amt % 10; *--p = digit + '0'; } while ((amt /= 10) != 0); } do_grouping: if (opts & human_group_digits) p = group_number (p, integerlim - p, grouping, thousands_sep); if (opts & human_SI) { if (exponent < 0) { uintmax_t power; exponent = 0; for (power = 1; power < to_block_size; power *= base) if (++exponent == exponent_max) break; } if ((exponent | (opts & human_B)) && (opts & human_space_before_unit)) *psuffix++ = ' '; if (exponent) *psuffix++ = (! (opts & human_base_1024) && exponent == 1 ? 'k' : power_letter[exponent]); if (opts & human_B) { if ((opts & human_base_1024) && exponent) *psuffix++ = 'i'; *psuffix++ = 'B'; } } *psuffix = '\0'; return p; } /* The default block size used for output. This number may change in the future as disks get larger. */ #ifndef DEFAULT_BLOCK_SIZE # define DEFAULT_BLOCK_SIZE 1024 #endif static char const *const block_size_args[] = { "human-readable", "si", 0 }; static int const block_size_opts[] = { human_autoscale + human_SI + human_base_1024, human_autoscale + human_SI }; static uintmax_t default_block_size (void) { return getenv ("POSIXLY_CORRECT") ? 512 : DEFAULT_BLOCK_SIZE; } static strtol_error humblock (char const *spec, uintmax_t *block_size, int *options) { int i; int opts = 0; if (! spec && ! (spec = getenv ("BLOCK_SIZE")) && ! (spec = getenv ("BLOCKSIZE"))) *block_size = default_block_size (); else { if (*spec == '\'') { opts |= human_group_digits; spec++; } if (0 <= (i = ARGMATCH (spec, block_size_args, block_size_opts))) { opts |= block_size_opts[i]; *block_size = 1; } else { char *ptr; strtol_error e = xstrtoumax (spec, &ptr, 0, block_size, "eEgGkKmMpPtTyYzZ0"); if (e != LONGINT_OK) { *options = 0; return e; } for (; ! ('0' <= *spec && *spec <= '9'); spec++) if (spec == ptr) { opts |= human_SI; if (ptr[-1] == 'B') opts |= human_B; if (ptr[-1] != 'B' || ptr[-2] == 'i') opts |= human_base_1024; break; } } } *options = opts; return LONGINT_OK; } enum strtol_error human_options (char const *spec, int *opts, uintmax_t *block_size) { strtol_error e = humblock (spec, block_size, opts); if (*block_size == 0) { *block_size = default_block_size (); e = LONGINT_INVALID; } return e; } dc3dd-7.1.614/lib/xstrndup.h0000644000175000017500000000176111022023316015240 0ustar amedicoamedico/* Duplicate a bounded initial segment of a string, with out-of-memory checking. Copyright (C) 2003 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Return a newly allocated copy of at most N bytes of STRING. In other words, return a copy of the initial segment of length N of STRING. */ extern char *xstrndup (const char *string, size_t n); dc3dd-7.1.614/lib/full-read.h0000644000175000017500000000215711022023316015224 0ustar amedicoamedico/* An interface to read() that reads all it is asked to read. Copyright (C) 2002 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, read to the Free Software Foundation, along with this program. If not, see . */ #include /* Read COUNT bytes at BUF to descriptor FD, retrying if interrupted or if partial reads occur. Return the number of bytes successfully read, setting errno if that is less than COUNT. errno = 0 means EOF. */ extern size_t full_read (int fd, void *buf, size_t count); dc3dd-7.1.614/lib/strpbrk.c0000644000175000017500000000254111064230667015047 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Copyright (C) 1991, 1994, 2000, 2002-2003, 2006 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 #include #include #undef strpbrk /* Find the first occurrence in S of any character in ACCEPT. */ char * strpbrk (const char *s, const char *accept) { while (*s != '\0') { const char *a = accept; while (*a != '\0') if (*a++ == *s) return (char *) s; ++s; } return NULL; } dc3dd-7.1.614/lib/randperm.c0000644000175000017500000000445611022023316015160 0ustar amedicoamedico/* Generate random permutations. Copyright (C) 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "randperm.h" #include #include "xalloc.h" /* Return the ceiling of the log base 2 of N. If N is zero, return an unspecified value. */ static size_t ceil_lg (size_t n) { size_t b = 0; for (n--; n != 0; n /= 2) b++; return b; } /* Return an upper bound on the number of random bytes needed to generate the first H elements of a random permutation of N elements. H must not exceed N. */ size_t randperm_bound (size_t h, size_t n) { /* Upper bound on number of bits needed to generate the first number of the permutation. */ size_t lg_n = ceil_lg (n); /* Upper bound on number of bits needed to generated the first H elements. */ size_t ar = lg_n * h; /* Convert the bit count to a byte count. */ size_t bound = (ar + CHAR_BIT - 1) / CHAR_BIT; return bound; } /* From R, allocate and return a malloc'd array of the first H elements of a random permutation of N elements. H must not exceed N. Return NULL if H is zero. */ size_t * randperm_new (struct randint_source *r, size_t h, size_t n) { size_t *v; switch (h) { case 0: v = NULL; break; case 1: v = xmalloc (sizeof *v); v[0] = randint_choose (r, n); break; default: { size_t i; v = xnmalloc (n, sizeof *v); for (i = 0; i < n; i++) v[i] = i; for (i = 0; i < h; i++) { size_t j = i + randint_choose (r, n - i); size_t t = v[i]; v[i] = v[j]; v[j] = t; } v = xnrealloc (v, h, sizeof *v); } break; } return v; } dc3dd-7.1.614/lib/freadahead.c0000644000175000017500000000522511064230667015426 0ustar amedicoamedico/* Retrieve information about a FILE stream. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "freadahead.h" #include "stdio-impl.h" size_t freadahead (FILE *fp) { #if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ if (fp->_IO_write_ptr > fp->_IO_write_base) return 0; return (fp->_IO_read_end - fp->_IO_read_ptr) + (fp->_flags & _IO_IN_BACKUP ? fp->_IO_save_end - fp->_IO_save_base : 0); #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ if ((fp_->_flags & __SWR) != 0 || fp_->_r < 0) return 0; return fp_->_r + (HASUB (fp) ? fp_->_ur : 0); #elif defined __EMX__ /* emx+gcc */ if ((fp->_flags & _IOWRT) != 0) return 0; /* Note: fp->_ungetc_count > 0 implies fp->_rcount <= 0, fp->_ungetc_count = 0 implies fp->_rcount >= 0. */ /* equivalent to (fp->_ungetc_count == 0 ? fp->_rcount : fp->_ungetc_count - fp->_rcount) */ return (fp->_rcount > 0 ? fp->_rcount : fp->_ungetc_count - fp->_rcount); #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ if ((fp_->_flag & _IOWRT) != 0) return 0; return fp_->_cnt; #elif defined __UCLIBC__ /* uClibc */ # ifdef __STDIO_BUFFERS if (fp->__modeflags & __FLAG_WRITING) return 0; return (fp->__bufread - fp->__bufpos) + (fp->__modeflags & __FLAG_UNGOT ? 1 : 0); # else return 0; # endif #elif defined __QNX__ /* QNX */ if ((fp->_Mode & 0x2000 /* _MWRITE */) != 0) return 0; /* fp->_Buf <= fp->_Next <= fp->_Rend, and fp->_Rend may be overridden by fp->_Rsave. */ return ((fp->_Rsave ? fp->_Rsave : fp->_Rend) - fp->_Next) + (fp->_Mode & 0x4000 /* _MBYTE */ ? (fp->_Back + sizeof (fp->_Back)) - fp->_Rback : 0); #else #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." #endif } dc3dd-7.1.614/lib/save-cwd.c0000644000175000017500000000607611064230667015100 0ustar amedicoamedico/* save-cwd.c -- Save and restore current working directory. Copyright (C) 1995, 1997, 1998, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "save-cwd.h" #include #include #include #include #include #include "chdir-long.h" #include "fcntl--.h" #include "xgetcwd.h" /* On systems without the fchdir function (WOE), pretend that open always returns -1 so that save_cwd resorts to using xgetcwd. Since chdir_long requires fchdir, use chdir instead. */ #if !HAVE_FCHDIR # undef open # define open(File, Flags) (-1) # undef fchdir # define fchdir(Fd) (abort (), -1) # undef chdir_long # define chdir_long(Dir) chdir (Dir) #endif /* Record the location of the current working directory in CWD so that the program may change to other directories and later use restore_cwd to return to the recorded location. This function may allocate space using malloc (via xgetcwd) or leave a file descriptor open; use free_cwd to perform the necessary free or close. Upon failure, no memory is allocated, any locally opened file descriptors are closed; return non-zero -- in that case, free_cwd need not be called, but doing so is ok. Otherwise, return zero. The `raison d'etre' for this interface is that the working directory is sometimes inaccessible, and getcwd is not robust or as efficient. So, we prefer to use the open/fchdir approach, but fall back on getcwd if necessary. Some systems lack fchdir altogether: e.g., OS/2, pre-2001 Cygwin, SCO Xenix. Also, SunOS 4 and Irix 5.3 provide the function, yet it doesn't work for partitions on which auditing is enabled. If you're still using an obsolete system with these problems, please send email to the maintainer of this code. */ int save_cwd (struct saved_cwd *cwd) { cwd->name = NULL; cwd->desc = open (".", O_RDONLY); if (cwd->desc < 0) { cwd->name = xgetcwd (); return cwd->name ? 0 : -1; } return 0; } /* Change to recorded location, CWD, in directory hierarchy. Upon failure, return -1 (errno is set by chdir or fchdir). Upon success, return zero. */ int restore_cwd (const struct saved_cwd *cwd) { if (0 <= cwd->desc) return fchdir (cwd->desc); else return chdir_long (cwd->name); } void free_cwd (struct saved_cwd *cwd) { if (cwd->desc >= 0) close (cwd->desc); free (cwd->name); } dc3dd-7.1.614/lib/atexit.c0000644000175000017500000000050211022023316014632 0ustar amedicoamedico/* Wrapper to implement ANSI C's atexit using SunOS's on_exit. */ /* This function is in the public domain. --Mike Stump. */ #include int atexit (void (*f) (void)) { /* If the system doesn't provide a definition for atexit, use on_exit if the system provides that. */ on_exit (f, 0); return 0; } dc3dd-7.1.614/lib/pathmax.h0000644000175000017500000000304211064230667015024 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Define PATH_MAX somehow. Requires sys/types.h. Copyright (C) 1992, 1999, 2001, 2003, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _PATHMAX_H # define _PATHMAX_H # include # include # ifndef _POSIX_PATH_MAX # define _POSIX_PATH_MAX 256 # endif # if !defined PATH_MAX && defined _PC_PATH_MAX # define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 \ : pathconf ("/", _PC_PATH_MAX)) # endif /* Don't include sys/param.h if it already has been. */ # if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include # endif # if !defined PATH_MAX && defined MAXPATHLEN # define PATH_MAX MAXPATHLEN # endif # ifndef PATH_MAX # define PATH_MAX _POSIX_PATH_MAX # endif #endif /* _PATHMAX_H */ dc3dd-7.1.614/lib/userspec.c0000644000175000017500000001643711022023316015203 0ustar amedicoamedico/* userspec.c -- Parse a user and group string. Copyright (C) 1989-1992, 1997-1998, 2000, 2002-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie . */ #include /* Specification. */ #include "userspec.h" #include #include #include #include #include #if HAVE_SYS_PARAM_H # include #endif #include #include #include #include #include "intprops.h" #include "inttostr.h" #include "xalloc.h" #include "xstrtol.h" #include "gettext.h" #define _(msgid) gettext (msgid) #define N_(msgid) msgid #ifndef HAVE_ENDGRENT # define endgrent() ((void) 0) #endif #ifndef HAVE_ENDPWENT # define endpwent() ((void) 0) #endif #ifndef UID_T_MAX # define UID_T_MAX TYPE_MAXIMUM (uid_t) #endif #ifndef GID_T_MAX # define GID_T_MAX TYPE_MAXIMUM (gid_t) #endif /* MAXUID may come from limits.h or sys/params.h. */ #ifndef MAXUID # define MAXUID UID_T_MAX #endif #ifndef MAXGID # define MAXGID GID_T_MAX #endif /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of `digit' even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) #ifdef __DJGPP__ /* Return true if STR represents an unsigned decimal integer. */ static bool is_number (const char *str) { do { if (!ISDIGIT (*str)) return false; } while (*++str); return true; } #endif static char const * parse_with_separator (char const *spec, char const *separator, uid_t *uid, gid_t *gid, char **username, char **groupname) { static const char *E_invalid_user = N_("invalid user"); static const char *E_invalid_group = N_("invalid group"); static const char *E_bad_spec = N_("invalid spec"); const char *error_msg; struct passwd *pwd; struct group *grp; char *u; char const *g; char *gname = NULL; uid_t unum = *uid; gid_t gnum = *gid; error_msg = NULL; *username = *groupname = NULL; /* Set U and G to nonzero length strings corresponding to user and group specifiers or to NULL. If U is not NULL, it is a newly allocated string. */ u = NULL; if (separator == NULL) { if (*spec) u = xstrdup (spec); } else { size_t ulen = separator - spec; if (ulen != 0) { u = xmemdup (spec, ulen + 1); u[ulen] = '\0'; } } g = (separator == NULL || *(separator + 1) == '\0' ? NULL : separator + 1); #ifdef __DJGPP__ /* Pretend that we are the user U whose group is G. This makes pwd and grp functions ``know'' about the UID and GID of these. */ if (u && !is_number (u)) setenv ("USER", u, 1); if (g && !is_number (g)) setenv ("GROUP", g, 1); #endif if (u != NULL) { /* If it starts with "+", skip the look-up. */ pwd = (*u == '+' ? NULL : getpwnam (u)); if (pwd == NULL) { bool use_login_group = (separator != NULL && g == NULL); if (use_login_group) { /* If there is no group, then there may not be a trailing ":", either. */ error_msg = E_bad_spec; } else { unsigned long int tmp; if (xstrtoul (u, NULL, 10, &tmp, "") == LONGINT_OK && tmp <= MAXUID) unum = tmp; else error_msg = E_invalid_user; } } else { unum = pwd->pw_uid; if (g == NULL && separator != NULL) { /* A separator was given, but a group was not specified, so get the login group. */ char buf[INT_BUFSIZE_BOUND (uintmax_t)]; gnum = pwd->pw_gid; grp = getgrgid (gnum); gname = xstrdup (grp ? grp->gr_name : umaxtostr (gnum, buf)); endgrent (); } } endpwent (); } if (g != NULL && error_msg == NULL) { /* Explicit group. */ /* If it starts with "+", skip the look-up. */ grp = (*g == '+' ? NULL : getgrnam (g)); if (grp == NULL) { unsigned long int tmp; if (xstrtoul (g, NULL, 10, &tmp, "") == LONGINT_OK && tmp <= MAXGID) gnum = tmp; else error_msg = E_invalid_group; } else gnum = grp->gr_gid; endgrent (); /* Save a file descriptor. */ gname = xstrdup (g); } if (error_msg == NULL) { *uid = unum; *gid = gnum; *username = u; *groupname = gname; u = NULL; } else free (gname); free (u); return _(error_msg); } /* Extract from SPEC, which has the form "[user][:.][group]", a USERNAME, UID U, GROUPNAME, and GID G. Either user or group, or both, must be present. If the group is omitted but the separator is given, use the given user's login group. If SPEC contains a `:', then use that as the separator, ignoring any `.'s. If there is no `:', but there is a `.', then first look up the entire SPEC as a login name. If that look-up fails, then try again interpreting the `.' as a separator. USERNAME and GROUPNAME will be in newly malloc'd memory. Either one might be NULL instead, indicating that it was not given and the corresponding numeric ID was left unchanged. Return NULL if successful, a static error message string if not. */ char const * parse_user_spec (char const *spec, uid_t *uid, gid_t *gid, char **username, char **groupname) { char const *colon = strchr (spec, ':'); char const *error_msg = parse_with_separator (spec, colon, uid, gid, username, groupname); if (!colon && error_msg) { /* If there's no colon but there is a dot, and if looking up the whole spec failed (i.e., the spec is not a owner name that includes a dot), then try again, but interpret the dot as a separator. This is a compatible extension to POSIX, since the POSIX-required behavior is always tried first. */ char const *dot = strchr (spec, '.'); if (dot && ! parse_with_separator (spec, dot, uid, gid, username, groupname)) error_msg = NULL; } return error_msg; } #ifdef TEST # define NULL_CHECK(s) ((s) == NULL ? "(null)" : (s)) int main (int argc, char **argv) { int i; for (i = 1; i < argc; i++) { const char *e; char *username, *groupname; uid_t uid; gid_t gid; char *tmp; tmp = strdup (argv[i]); e = parse_user_spec (tmp, &uid, &gid, &username, &groupname); free (tmp); printf ("%s: %lu %lu %s %s %s\n", argv[i], (unsigned long int) uid, (unsigned long int) gid, NULL_CHECK (username), NULL_CHECK (groupname), NULL_CHECK (e)); } exit (0); } #endif dc3dd-7.1.614/lib/dirfd.c0000644000175000017500000000162011022023316014426 0ustar amedicoamedico/* dirfd.c -- return the file descriptor associated with an open DIR* Copyright (C) 2001, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "dirfd.h" int dirfd (DIR const *dir_p) { return DIR_TO_FD (dir_p); } dc3dd-7.1.614/lib/fd-reopen.c0000644000175000017500000000253311064230667015240 0ustar amedicoamedico/* Invoke open, but return either a desired file descriptor or -1. Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "fd-reopen.h" #include #include #include /* Open a file to a particular file descriptor. This is like standard `open', except it always returns DESIRED_FD if successful. */ int fd_reopen (int desired_fd, char const *file, int flags, mode_t mode) { int fd = open (file, flags, mode); if (fd == desired_fd || fd < 0) return fd; else { int fd2 = dup2 (fd, desired_fd); int saved_errno = errno; close (fd); errno = saved_errno; return fd2; } } dc3dd-7.1.614/lib/freading.h0000644000175000017500000000355211064230667015147 0ustar amedicoamedico/* Retrieve information about a FILE stream. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include /* Return true if the stream STREAM is opened read-only, or if the last operation on the stream was a read operation. Return false if the stream is opened write-only or append-only, or if it supports writing and there is no current read operation (such as fgetc). freading and fwriting will never both be true. If STREAM supports both reads and writes, then: - both freading and fwriting might be false when the stream is first opened, after read encounters EOF, or after fflush, - freading might be false or true and fwriting might be false after repositioning (such as fseek, fsetpos, or rewind), depending on the underlying implementation. STREAM must not be wide-character oriented. */ #if HAVE___FREADING && (!defined __GLIBC__ || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 7)) /* Solaris >= 7, not glibc >= 2.2, but glibc >= 2.7 */ # include # define freading(stream) (__freading (stream) != 0) #else # ifdef __cplusplus extern "C" { # endif extern bool freading (FILE *stream); # ifdef __cplusplus } # endif #endif dc3dd-7.1.614/lib/strdup.c0000644000175000017500000000274711064230667014711 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Copyright (C) 1991, 1996, 1997, 1998, 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _LIBC # include #endif /* Get specification. */ #include #include #undef __strdup #ifdef _LIBC # undef strdup #endif #ifndef weak_alias # define __strdup strdup #endif /* Duplicate S, returning an identical malloc'd string. */ char * __strdup (const char *s) { size_t len = strlen (s) + 1; void *new = malloc (len); if (new == NULL) return NULL; return (char *) memcpy (new, s, len); } #ifdef libc_hidden_def libc_hidden_def (__strdup) #endif #ifdef weak_alias weak_alias (__strdup, strdup) #endif dc3dd-7.1.614/lib/fcntl--.h0000644000175000017500000000162311022023316014606 0ustar amedicoamedico/* Like fcntl.h, but redefine some names to avoid glitches. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "fcntl-safer.h" #undef open #define open open_safer #undef creat #define creat creat_safer dc3dd-7.1.614/lib/tempname.h0000644000175000017500000000322011022023316015147 0ustar amedicoamedico/* Create a temporary file or directory. Copyright (C) 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* header written by Eric Blake */ /* In gnulib, always prefer large files. GT_FILE maps to __GT_BIGFILE, not __GT_FILE, for a reason. */ #define GT_FILE 1 #define GT_DIR 2 #define GT_NOCREATE 3 /* Generate a temporary file name based on TMPL. TMPL must match the rules for mk[s]temp (i.e. end in "XXXXXX"). The name constructed does not exist at the time of the call to gen_tempname. TMPL is overwritten with the result. KIND may be one of: GT_NOCREATE: simply verify that the name does not exist at the time of the call. GT_FILE: create a large file using open(O_CREAT|O_EXCL) and return a read-write fd. The file is mode 0600. GT_DIR: create a directory, which will be mode 0700. We use a clever algorithm to get hard-to-predict names. */ #include extern int gen_tempname (char *tmpl, int kind); extern int gen_tempname_len (char *tmpl, int kind, size_t x_suffix_len); dc3dd-7.1.614/lib/netinet_in.in.h0000644000175000017500000000254411064230667016131 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Substitute for . Copyright (C) 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _GL_NETINET_IN_H #if @HAVE_NETINET_IN_H@ /* On many platforms, assumes prior inclusion of . */ # include /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_NETINET_IN_H@ #endif #ifndef _GL_NETINET_IN_H #define _GL_NETINET_IN_H #if !@HAVE_NETINET_IN_H@ /* A platform that lacks . */ # include #endif #endif /* _GL_NETINET_IN_H */ #endif /* _GL_NETINET_IN_H */ dc3dd-7.1.614/lib/chown.c0000644000175000017500000000571111022023316014461 0ustar amedicoamedico/* provide consistent interface to chown for systems that don't interpret an ID of -1 as meaning `don't change the corresponding ID'. Copyright (C) 1997, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include /* Specification. */ #include #include #include #include #include #include /* Below we refer to the system's chown(). */ #undef chown /* The results of open() in this file are not used with fchdir, therefore save some unnecessary work in fchdir.c. */ #undef open #undef close /* Provide a more-closely POSIX-conforming version of chown on systems with one or both of the following problems: - chown doesn't treat an ID of -1 as meaning `don't change the corresponding ID'. - chown doesn't dereference symlinks. */ int rpl_chown (const char *file, uid_t uid, gid_t gid) { #if CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE if (gid == (gid_t) -1 || uid == (uid_t) -1) { struct stat file_stats; /* Stat file to get id(s) that should remain unchanged. */ if (stat (file, &file_stats)) return -1; if (gid == (gid_t) -1) gid = file_stats.st_gid; if (uid == (uid_t) -1) uid = file_stats.st_uid; } #endif #if CHOWN_MODIFIES_SYMLINK { /* Handle the case in which the system-supplied chown function does *not* follow symlinks. Instead, it changes permissions on the symlink itself. To work around that, we open the file (but this can fail due to lack of read or write permission) and use fchown on the resulting descriptor. */ int open_flags = O_NONBLOCK | O_NOCTTY; int fd = open (file, O_RDONLY | open_flags); if (0 <= fd || (errno == EACCES && 0 <= (fd = open (file, O_WRONLY | open_flags)))) { int result = fchown (fd, uid, gid); int saved_errno = errno; /* POSIX says fchown can fail with errno == EINVAL on sockets, so fall back on chown in that case. */ struct stat sb; bool fchown_socket_failure = (result != 0 && saved_errno == EINVAL && fstat (fd, &sb) == 0 && S_ISFIFO (sb.st_mode)); close (fd); if (! fchown_socket_failure) { errno = saved_errno; return result; } } else if (errno != EACCES) return -1; } #endif return chown (file, uid, gid); } dc3dd-7.1.614/lib/sha256.c0000644000175000017500000004065311064230667014376 0ustar amedicoamedico/* sha256.c - Functions to compute SHA256 and SHA224 message digest of files or memory blocks according to the NIST specification FIPS-180-2. Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David Madore, considerably copypasting from Scott G. Miller's sha1.c */ #include #include "sha256.h" #include #include #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifdef WORDS_BIGENDIAN # define SWAP(n) (n) #else # define SWAP(n) \ (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) #endif #define BLOCKSIZE 4096 #if BLOCKSIZE % 64 != 0 # error "invalid BLOCKSIZE" #endif /* This array contains the bytes used to pad the buffer to the next 64-byte boundary. */ static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; /* Takes a pointer to a 256 bit block of data (eight 32 bit ints) and intializes it to the start constants of the SHA256 algorithm. This must be called before using hash in the call to sha256_hash */ void sha256_init_ctx (struct sha256_ctx *ctx) { ctx->state[0] = 0x6a09e667UL; ctx->state[1] = 0xbb67ae85UL; ctx->state[2] = 0x3c6ef372UL; ctx->state[3] = 0xa54ff53aUL; ctx->state[4] = 0x510e527fUL; ctx->state[5] = 0x9b05688cUL; ctx->state[6] = 0x1f83d9abUL; ctx->state[7] = 0x5be0cd19UL; ctx->total[0] = ctx->total[1] = 0; ctx->buflen = 0; } void sha224_init_ctx (struct sha256_ctx *ctx) { ctx->state[0] = 0xc1059ed8UL; ctx->state[1] = 0x367cd507UL; ctx->state[2] = 0x3070dd17UL; ctx->state[3] = 0xf70e5939UL; ctx->state[4] = 0xffc00b31UL; ctx->state[5] = 0x68581511UL; ctx->state[6] = 0x64f98fa7UL; ctx->state[7] = 0xbefa4fa4UL; ctx->total[0] = ctx->total[1] = 0; ctx->buflen = 0; } /* Copy the value from v into the memory location pointed to by *cp, If your architecture allows unaligned access this is equivalent to * (uint32_t *) cp = v */ static inline void set_uint32 (char *cp, uint32_t v) { memcpy (cp, &v, sizeof v); } /* Put result from CTX in first 32 bytes following RESBUF. The result must be in little endian byte order. */ void * sha256_read_ctx (const struct sha256_ctx *ctx, void *resbuf) { int i; char *r = resbuf; for (i = 0; i < 8; i++) set_uint32 (r + i * sizeof ctx->state[0], SWAP (ctx->state[i])); return resbuf; } void * sha224_read_ctx (const struct sha256_ctx *ctx, void *resbuf) { int i; char *r = resbuf; for (i = 0; i < 7; i++) set_uint32 (r + i * sizeof ctx->state[0], SWAP (ctx->state[i])); return resbuf; } /* Process the remaining bytes in the internal buffer and the usual prolog according to the standard and write the result to RESBUF. */ static void sha256_conclude_ctx (struct sha256_ctx *ctx) { /* Take yet unprocessed bytes into account. */ size_t bytes = ctx->buflen; size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4; /* Now count remaining bytes. */ ctx->total[0] += bytes; if (ctx->total[0] < bytes) ++ctx->total[1]; /* Put the 64-bit file length in *bits* at the end of the buffer. Use set_uint32 rather than a simple assignment, to avoid risk of unaligned access. */ set_uint32 ((char *) &ctx->buffer[size - 2], SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29))); set_uint32 ((char *) &ctx->buffer[size - 1], SWAP (ctx->total[0] << 3)); memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 4 - bytes); /* Process last bytes. */ sha256_process_block (ctx->buffer, size * 4, ctx); } void * sha256_finish_ctx (struct sha256_ctx *ctx, void *resbuf) { sha256_conclude_ctx (ctx); return sha256_read_ctx (ctx, resbuf); } void * sha224_finish_ctx (struct sha256_ctx *ctx, void *resbuf) { sha256_conclude_ctx (ctx); return sha224_read_ctx (ctx, resbuf); } /* Compute SHA256 message digest for bytes read from STREAM. The resulting message digest number will be written into the 32 bytes beginning at RESBLOCK. */ int sha256_stream (FILE *stream, void *resblock) { struct sha256_ctx ctx; char buffer[BLOCKSIZE + 72]; size_t sum; /* Initialize the computation context. */ sha256_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) return 1; goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 64 == 0 */ sha256_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block:; /* Process any remaining bytes. */ if (sum > 0) sha256_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ sha256_finish_ctx (&ctx, resblock); return 0; } /* FIXME: Avoid code duplication */ int sha224_stream (FILE *stream, void *resblock) { struct sha256_ctx ctx; char buffer[BLOCKSIZE + 72]; size_t sum; /* Initialize the computation context. */ sha224_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) return 1; goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 64 == 0 */ sha256_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block:; /* Process any remaining bytes. */ if (sum > 0) sha256_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ sha224_finish_ctx (&ctx, resblock); return 0; } /* Compute SHA512 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ void * sha256_buffer (const char *buffer, size_t len, void *resblock) { struct sha256_ctx ctx; /* Initialize the computation context. */ sha256_init_ctx (&ctx); /* Process whole buffer but last len % 64 bytes. */ sha256_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return sha256_finish_ctx (&ctx, resblock); } void * sha224_buffer (const char *buffer, size_t len, void *resblock) { struct sha256_ctx ctx; /* Initialize the computation context. */ sha224_init_ctx (&ctx); /* Process whole buffer but last len % 64 bytes. */ sha256_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return sha224_finish_ctx (&ctx, resblock); } void sha256_process_bytes (const void *buffer, size_t len, struct sha256_ctx *ctx) { /* When we already have some bits in our internal buffer concatenate both inputs first. */ if (ctx->buflen != 0) { size_t left_over = ctx->buflen; size_t add = 128 - left_over > len ? len : 128 - left_over; memcpy (&((char *) ctx->buffer)[left_over], buffer, add); ctx->buflen += add; if (ctx->buflen > 64) { sha256_process_block (ctx->buffer, ctx->buflen & ~63, ctx); ctx->buflen &= 63; /* The regions in the following copy operation cannot overlap. */ memcpy (ctx->buffer, &((char *) ctx->buffer)[(left_over + add) & ~63], ctx->buflen); } buffer = (const char *) buffer + add; len -= add; } /* Process available complete blocks. */ if (len >= 64) { #if !_STRING_ARCH_unaligned # define alignof(type) offsetof (struct { char c; type x; }, x) # define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) if (UNALIGNED_P (buffer)) while (len > 64) { sha256_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); buffer = (const char *) buffer + 64; len -= 64; } else #endif { sha256_process_block (buffer, len & ~63, ctx); buffer = (const char *) buffer + (len & ~63); len &= 63; } } /* Move remaining bytes in internal buffer. */ if (len > 0) { size_t left_over = ctx->buflen; memcpy (&((char *) ctx->buffer)[left_over], buffer, len); left_over += len; if (left_over >= 64) { sha256_process_block (ctx->buffer, 64, ctx); left_over -= 64; memcpy (ctx->buffer, &ctx->buffer[16], left_over); } ctx->buflen = left_over; } } /* --- Code below is the primary difference between sha1.c and sha256.c --- */ /* SHA256 round constants */ #define K(I) sha256_round_constants[I] static const uint32_t sha256_round_constants[64] = { 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, 0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, 0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL, 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL, 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL, 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL, 0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL, 0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL, 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL, 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL, 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL, 0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL, 0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL, 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL, 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL, 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL, }; /* Round functions. */ #define F2(A,B,C) ( ( A & B ) | ( C & ( A | B ) ) ) #define F1(E,F,G) ( G ^ ( E & ( F ^ G ) ) ) /* Process LEN bytes of BUFFER, accumulating context into CTX. It is assumed that LEN % 64 == 0. Most of this code comes from GnuPG's cipher/sha1.c. */ void sha256_process_block (const void *buffer, size_t len, struct sha256_ctx *ctx) { const uint32_t *words = buffer; size_t nwords = len / sizeof (uint32_t); const uint32_t *endp = words + nwords; uint32_t x[16]; uint32_t a = ctx->state[0]; uint32_t b = ctx->state[1]; uint32_t c = ctx->state[2]; uint32_t d = ctx->state[3]; uint32_t e = ctx->state[4]; uint32_t f = ctx->state[5]; uint32_t g = ctx->state[6]; uint32_t h = ctx->state[7]; /* First increment the byte count. FIPS PUB 180-2 specifies the possible length of the file up to 2^64 bits. Here we only compute the number of bytes. Do a double word increment. */ ctx->total[0] += len; if (ctx->total[0] < len) ++ctx->total[1]; #define rol(x, n) (((x) << (n)) | ((x) >> (32 - (n)))) #define S0(x) (rol(x,25)^rol(x,14)^(x>>3)) #define S1(x) (rol(x,15)^rol(x,13)^(x>>10)) #define SS0(x) (rol(x,30)^rol(x,19)^rol(x,10)) #define SS1(x) (rol(x,26)^rol(x,21)^rol(x,7)) #define M(I) ( tm = S1(x[(I-2)&0x0f]) + x[(I-7)&0x0f] \ + S0(x[(I-15)&0x0f]) + x[I&0x0f] \ , x[I&0x0f] = tm ) #define R(A,B,C,D,E,F,G,H,K,M) do { t0 = SS0(A) + F2(A,B,C); \ t1 = H + SS1(E) \ + F1(E,F,G) \ + K \ + M; \ D += t1; H = t0 + t1; \ } while(0) while (words < endp) { uint32_t tm; uint32_t t0, t1; int t; /* FIXME: see sha1.c for a better implementation. */ for (t = 0; t < 16; t++) { x[t] = SWAP (*words); words++; } R( a, b, c, d, e, f, g, h, K( 0), x[ 0] ); R( h, a, b, c, d, e, f, g, K( 1), x[ 1] ); R( g, h, a, b, c, d, e, f, K( 2), x[ 2] ); R( f, g, h, a, b, c, d, e, K( 3), x[ 3] ); R( e, f, g, h, a, b, c, d, K( 4), x[ 4] ); R( d, e, f, g, h, a, b, c, K( 5), x[ 5] ); R( c, d, e, f, g, h, a, b, K( 6), x[ 6] ); R( b, c, d, e, f, g, h, a, K( 7), x[ 7] ); R( a, b, c, d, e, f, g, h, K( 8), x[ 8] ); R( h, a, b, c, d, e, f, g, K( 9), x[ 9] ); R( g, h, a, b, c, d, e, f, K(10), x[10] ); R( f, g, h, a, b, c, d, e, K(11), x[11] ); R( e, f, g, h, a, b, c, d, K(12), x[12] ); R( d, e, f, g, h, a, b, c, K(13), x[13] ); R( c, d, e, f, g, h, a, b, K(14), x[14] ); R( b, c, d, e, f, g, h, a, K(15), x[15] ); R( a, b, c, d, e, f, g, h, K(16), M(16) ); R( h, a, b, c, d, e, f, g, K(17), M(17) ); R( g, h, a, b, c, d, e, f, K(18), M(18) ); R( f, g, h, a, b, c, d, e, K(19), M(19) ); R( e, f, g, h, a, b, c, d, K(20), M(20) ); R( d, e, f, g, h, a, b, c, K(21), M(21) ); R( c, d, e, f, g, h, a, b, K(22), M(22) ); R( b, c, d, e, f, g, h, a, K(23), M(23) ); R( a, b, c, d, e, f, g, h, K(24), M(24) ); R( h, a, b, c, d, e, f, g, K(25), M(25) ); R( g, h, a, b, c, d, e, f, K(26), M(26) ); R( f, g, h, a, b, c, d, e, K(27), M(27) ); R( e, f, g, h, a, b, c, d, K(28), M(28) ); R( d, e, f, g, h, a, b, c, K(29), M(29) ); R( c, d, e, f, g, h, a, b, K(30), M(30) ); R( b, c, d, e, f, g, h, a, K(31), M(31) ); R( a, b, c, d, e, f, g, h, K(32), M(32) ); R( h, a, b, c, d, e, f, g, K(33), M(33) ); R( g, h, a, b, c, d, e, f, K(34), M(34) ); R( f, g, h, a, b, c, d, e, K(35), M(35) ); R( e, f, g, h, a, b, c, d, K(36), M(36) ); R( d, e, f, g, h, a, b, c, K(37), M(37) ); R( c, d, e, f, g, h, a, b, K(38), M(38) ); R( b, c, d, e, f, g, h, a, K(39), M(39) ); R( a, b, c, d, e, f, g, h, K(40), M(40) ); R( h, a, b, c, d, e, f, g, K(41), M(41) ); R( g, h, a, b, c, d, e, f, K(42), M(42) ); R( f, g, h, a, b, c, d, e, K(43), M(43) ); R( e, f, g, h, a, b, c, d, K(44), M(44) ); R( d, e, f, g, h, a, b, c, K(45), M(45) ); R( c, d, e, f, g, h, a, b, K(46), M(46) ); R( b, c, d, e, f, g, h, a, K(47), M(47) ); R( a, b, c, d, e, f, g, h, K(48), M(48) ); R( h, a, b, c, d, e, f, g, K(49), M(49) ); R( g, h, a, b, c, d, e, f, K(50), M(50) ); R( f, g, h, a, b, c, d, e, K(51), M(51) ); R( e, f, g, h, a, b, c, d, K(52), M(52) ); R( d, e, f, g, h, a, b, c, K(53), M(53) ); R( c, d, e, f, g, h, a, b, K(54), M(54) ); R( b, c, d, e, f, g, h, a, K(55), M(55) ); R( a, b, c, d, e, f, g, h, K(56), M(56) ); R( h, a, b, c, d, e, f, g, K(57), M(57) ); R( g, h, a, b, c, d, e, f, K(58), M(58) ); R( f, g, h, a, b, c, d, e, K(59), M(59) ); R( e, f, g, h, a, b, c, d, K(60), M(60) ); R( d, e, f, g, h, a, b, c, K(61), M(61) ); R( c, d, e, f, g, h, a, b, K(62), M(62) ); R( b, c, d, e, f, g, h, a, K(63), M(63) ); a = ctx->state[0] += a; b = ctx->state[1] += b; c = ctx->state[2] += c; d = ctx->state[3] += d; e = ctx->state[4] += e; f = ctx->state[5] += f; g = ctx->state[6] += g; h = ctx->state[7] += h; } } dc3dd-7.1.614/lib/memset.c0000644000175000017500000000204711064230667014653 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* memset.c -- set an area of memory to a given value Copyright (C) 1991, 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 void * memset (void *str, int c, size_t len) { register char *st = str; while (len-- > 0) *st++ = c; return str; } dc3dd-7.1.614/lib/memchr2.h0000644000175000017500000000206111064230667014717 0ustar amedicoamedico/* Scan memory for the first of two bytes. Copyright (C) 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifdef __cplusplus extern "C" { #endif /* Return the first address of either C1 or C2 (treated as unsigned char) that occurs within N bytes of the memory region S. If neither byte appears, return NULL. */ extern void *memchr2 (void const *s, int c1, int c2, size_t n); #ifdef __cplusplus } #endif dc3dd-7.1.614/lib/lstat.h0000644000175000017500000000160711022023316014477 0ustar amedicoamedico/* Retrieving information about files. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #if !LSTAT_FOLLOWS_SLASHED_SYMLINK extern int rpl_lstat (const char *name, struct stat *buf); # undef lstat # define lstat rpl_lstat #endif dc3dd-7.1.614/lib/version-etc.c0000644000175000017500000001306211022023316015577 0ustar amedicoamedico/* Utility to help print --version output in a consistent format. Copyright (C) 1999-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include /* Specification. */ #include "version-etc.h" #include #include #include #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #include "gettext.h" #define _(msgid) gettext (msgid) enum { COPYRIGHT_YEAR = 2008 }; /* Like version_etc, below, but with the NULL-terminated author list provided via a variable of type va_list. */ void version_etc_va (FILE *stream, const char *command_name, const char *package, const char *version, va_list authors) { size_t n_authors; /* Count the number of authors. */ { va_list tmp_authors; va_copy (tmp_authors, authors); n_authors = 0; while (va_arg (tmp_authors, const char *) != NULL) ++n_authors; } if (command_name) fprintf (stream, "%s (%s) %s\n", command_name, package, version); else fprintf (stream, "%s %s\n", package, version); /* TRANSLATORS: Translate "(C)" to the copyright symbol (C-in-a-circle), if this symbol is available in the user's locale. Otherwise, do not translate "(C)"; leave it as-is. */ fprintf (stream, version_etc_copyright, _("(C)"), COPYRIGHT_YEAR); fputs (_("\ \n\ License GPLv3+: GNU GPL version 3 or later \n\ This is free software: you are free to change and redistribute it.\n\ There is NO WARRANTY, to the extent permitted by law.\n\ \n\ "), stream); switch (n_authors) { case 0: /* The caller must provide at least one author name. */ abort (); case 1: /* TRANSLATORS: %s denotes an author name. */ vfprintf (stream, _("Written by %s.\n"), authors); break; case 2: /* TRANSLATORS: Each %s denotes an author name. */ vfprintf (stream, _("Written by %s and %s.\n"), authors); break; case 3: /* TRANSLATORS: Each %s denotes an author name. */ vfprintf (stream, _("Written by %s, %s, and %s.\n"), authors); break; case 4: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ vfprintf (stream, _("Written by %s, %s, %s,\nand %s.\n"), authors); break; case 5: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ vfprintf (stream, _("Written by %s, %s, %s,\n%s, and %s.\n"), authors); break; case 6: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ vfprintf (stream, _("Written by %s, %s, %s,\n%s, %s, and %s.\n"), authors); break; case 7: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ vfprintf (stream, _("Written by %s, %s, %s,\n%s, %s, %s, and %s.\n"), authors); break; case 8: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ vfprintf (stream, _("\ Written by %s, %s, %s,\n%s, %s, %s, %s,\nand %s.\n"), authors); break; case 9: /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ vfprintf (stream, _("\ Written by %s, %s, %s,\n%s, %s, %s, %s,\n%s, and %s.\n"), authors); break; default: /* 10 or more authors. Use an abbreviation, since the human reader will probably not want to read the entire list anyway. */ /* TRANSLATORS: Each %s denotes an author name. You can use line breaks, estimating that each author name occupies ca. 16 screen columns and that a screen line has ca. 80 columns. */ vfprintf (stream, _("\ Written by %s, %s, %s,\n%s, %s, %s, %s,\n%s, %s, and others.\n"), authors); break; } va_end (authors); } /* Display the --version information the standard way. If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of the program. The formats are therefore: PACKAGE VERSION or COMMAND_NAME (PACKAGE) VERSION. The author names are passed as separate arguments, with an additional NULL argument at the end. */ void version_etc (FILE *stream, const char *command_name, const char *package, const char *version, /* const char *author1, ...*/ ...) { va_list authors; va_start (authors, version); version_etc_va (stream, command_name, package, version, authors); } dc3dd-7.1.614/lib/Makefile.in0000644000175000017500000027412611115525021015257 0ustar amedicoamedico# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Copyright (C) 1995-2007 Free Software Foundation, Inc. # Copyright (C) 2002-2008 Free Software Foundation, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. # Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libcoreutils --source-base=lib --m4-base=m4 --doc-base=doc --aux-dir=build-aux --with-tests --avoid=canonicalize-lgpl --avoid=lock --no-libtool --macro-prefix=gl acl alloca announce-gen areadlink-with-size argmatch assert atexit autobuild backupfile base64 c-strcase c-strtod c-strtold calloc canon-host canonicalize chown cloexec closein closeout config-h configmake crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 cycle-check d-ino d-type diacrit dirfd dirname dup2 error euidaccess exclude exitfail fchdir fcntl fcntl-safer fdl file-type fileblocks filemode filenamecat fnmatch-gnu fopen-safer fprintftime fseeko fsusage ftello ftruncate fts getdate getgroups gethrxtime getline getloadavg getndelim2 getopt getpagesize getpass-gnu gettext gettime gettimeofday getugroups getusershell git-version-gen gitlog-to-changelog gnu-make gnumakefile gnupload group-member hard-locale hash hash-pjw host-os human idcache inttostr inttypes isapipe lchmod lchown lib-ignore linebuffer link-follow long-options lstat malloc mbswidth memcasecmp memchr memcmp memcpy memmove mempcpy memrchr memset mgetgroups mkancesdirs mkdir mkdir-p mkstemp mktime modechange mountlist mpsort obstack pathmax perl physmem posix-shell posixtm posixver propername putenv quote quotearg raise randint randperm readlink readtokens readtokens0 readutmp realloc regex rename rename-dest-slash rmdir rmdir-errno root-dev-ino rpmatch safe-read same save-cwd savedir savewd selinux-at settime sig2str ssize_t stat-macros stat-time stdbool stdlib-safer stpcpy stpncpy strcspn strftime strpbrk strtod strtoimax strtol strtoumax strverscmp sys_stat timespec tzset unicodeio unistd-safer unlink-busy unlinkdir unlocked-io uptime useless-if-before-free userspec utime utimecmp utimens vasprintf-posix vc-list-files verify version-etc-fsf wcwidth winsz-ioctl winsz-termios write-any-file xalloc xgetcwd xgethostname xmemcoll xnanosleep xprintf xprintf-posix xstrtod xstrtoimax xstrtol xstrtold xstrtoumax yesno VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.hin $(srcdir)/gnulib.mk \ ChangeLog TODO alloca.c fd-reopen.c fd-reopen.h getdate.c \ memxfrm.c memxfrm.h strintcmp.c strnumcmp-in.h strnumcmp.c \ strnumcmp.h subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argmatch.m4 $(top_srcdir)/m4/arpa_inet_h.m4 \ $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/atexit.m4 \ $(top_srcdir)/m4/autobuild.m4 $(top_srcdir)/m4/base64.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \ $(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/check-decl.m4 \ $(top_srcdir)/m4/chown.m4 $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/cloexec.m4 $(top_srcdir)/m4/close-stream.m4 \ $(top_srcdir)/m4/closein.m4 $(top_srcdir)/m4/closeout.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ $(top_srcdir)/m4/cycle-check.m4 $(top_srcdir)/m4/d-ino.m4 \ $(top_srcdir)/m4/d-type.m4 $(top_srcdir)/m4/dirfd.m4 \ $(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/eoverflow.m4 $(top_srcdir)/m4/error.m4 \ $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fchdir.m4 \ $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fd-reopen.m4 $(top_srcdir)/m4/fflush.m4 \ $(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \ $(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/fprintftime.m4 \ $(top_srcdir)/m4/fpurge.m4 $(top_srcdir)/m4/freading.m4 \ $(top_srcdir)/m4/frexp.m4 $(top_srcdir)/m4/frexpl.m4 \ $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstypename.m4 \ $(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftello.m4 \ $(top_srcdir)/m4/ftruncate.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \ $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/gethostname.m4 \ $(top_srcdir)/m4/gethrxtime.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getloadavg.m4 $(top_srcdir)/m4/getndelim2.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ $(top_srcdir)/m4/getpass.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \ $(top_srcdir)/m4/hdparm.m4 $(top_srcdir)/m4/host-os.m4 \ $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/idcache.m4 \ $(top_srcdir)/m4/include-exclude-prog.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/isapipe.m4 $(top_srcdir)/m4/isnand.m4 \ $(top_srcdir)/m4/isnanf.m4 $(top_srcdir)/m4/isnanl.m4 \ $(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \ $(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchmod.m4 \ $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/ldexpl.m4 \ $(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/link-follow.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \ $(top_srcdir)/m4/long-options.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/math_h.m4 \ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \ $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsstr.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \ $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \ $(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \ $(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \ $(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \ $(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/mountlist.m4 \ $(top_srcdir)/m4/mpsort.m4 $(top_srcdir)/m4/nanosleep.m4 \ $(top_srcdir)/m4/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/openat.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix-shell.m4 \ $(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \ $(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/printf-frexp.m4 \ $(top_srcdir)/m4/printf-frexpl.m4 $(top_srcdir)/m4/printf.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readtokens.m4 \ $(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \ $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename-dest-slash.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/rmdir-errno.m4 \ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/root-dev-ino.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \ $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ $(top_srcdir)/m4/savewd.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/settime.m4 $(top_srcdir)/m4/sha1.m4 \ $(top_srcdir)/m4/sha256.m4 $(top_srcdir)/m4/sha512.m4 \ $(top_srcdir)/m4/sig2str.m4 $(top_srcdir)/m4/signbit.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socklen.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/st_dm_mode.m4 \ $(top_srcdir)/m4/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \ $(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/stpncpy.m4 \ $(top_srcdir)/m4/strcspn.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \ $(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ $(top_srcdir)/m4/strverscmp.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \ $(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink-busy.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ $(top_srcdir)/m4/uptime.m4 $(top_srcdir)/m4/userspec.m4 \ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \ $(top_srcdir)/m4/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \ $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \ $(top_srcdir)/m4/vasnprintf.m4 \ $(top_srcdir)/m4/vasprintf-posix.m4 \ $(top_srcdir)/m4/vasprintf.m4 \ $(top_srcdir)/m4/vfprintf-posix.m4 \ $(top_srcdir)/m4/vprintf-posix.m4 $(top_srcdir)/m4/wchar.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/write-any-file.m4 $(top_srcdir)/m4/xalloc.m4 \ $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xnanosleep.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru libcoreutils_a_AR = $(AR) $(ARFLAGS) am__DEPENDENCIES_1 = am__dirstamp = $(am__leading_dot)dirstamp am_libcoreutils_a_OBJECTS = areadlink-with-size.$(OBJEXT) \ base64.$(OBJEXT) c-ctype.$(OBJEXT) c-strcasecmp.$(OBJEXT) \ c-strncasecmp.$(OBJEXT) diacrit.$(OBJEXT) file-set.$(OBJEXT) \ fpurge.$(OBJEXT) freadahead.$(OBJEXT) freading.$(OBJEXT) \ freadptr.$(OBJEXT) freadseek.$(OBJEXT) fseterr.$(OBJEXT) \ full-read.$(OBJEXT) full-write.$(OBJEXT) getdate.$(OBJEXT) \ hash-pjw.$(OBJEXT) hash-triple.$(OBJEXT) linebuffer.$(OBJEXT) \ localcharset.$(OBJEXT) malloca.$(OBJEXT) mbchar.$(OBJEXT) \ mbscasecmp.$(OBJEXT) mbslen.$(OBJEXT) mbsstr.$(OBJEXT) \ mbswidth.$(OBJEXT) memchr2.$(OBJEXT) openat-die.$(OBJEXT) \ printf-frexp.$(OBJEXT) printf-frexpl.$(OBJEXT) \ propername.$(OBJEXT) randint.$(OBJEXT) randperm.$(OBJEXT) \ randread.$(OBJEXT) rand-isaac.$(OBJEXT) readtokens0.$(OBJEXT) \ savewd.$(OBJEXT) striconv.$(OBJEXT) strnlen1.$(OBJEXT) \ trim.$(OBJEXT) unicodeio.$(OBJEXT) uniwidth/width.$(OBJEXT) \ version-etc.$(OBJEXT) version-etc-fsf.$(OBJEXT) \ xalloc-die.$(OBJEXT) xmemcoll.$(OBJEXT) xprintf.$(OBJEXT) \ xstriconv.$(OBJEXT) xstrndup.$(OBJEXT) xstrtoimax.$(OBJEXT) \ xstrtoumax.$(OBJEXT) buffer-lcm.$(OBJEXT) xmemxfrm.$(OBJEXT) libcoreutils_a_OBJECTS = $(am_libcoreutils_a_OBJECTS) LTLIBRARIES = $(noinst_LTLIBRARIES) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) YLWRAP = $(top_srcdir)/build-aux/ylwrap SOURCES = $(libcoreutils_a_SOURCES) $(EXTRA_libcoreutils_a_SOURCES) DIST_SOURCES = $(libcoreutils_a_SOURCES) \ $(EXTRA_libcoreutils_a_SOURCES) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ARPA_INET_H = @ARPA_INET_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DIRENT_H = @DIRENT_H@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ FCNTL_H = @FCNTL_H@ FLOAT_H = @FLOAT_H@ FNMATCH_H = @FNMATCH_H@ GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CEILF = @GNULIB_CEILF@ GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FLOORF = @GNULIB_FLOORF@ GNULIB_FLOORL = @GNULIB_FLOORL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FREXP = @GNULIB_FREXP@ GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_ISFINITE = @GNULIB_ISFINITE@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MATHL = @GNULIB_MATHL@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_ROUND = @GNULIB_ROUND@ GNULIB_ROUNDF = @GNULIB_ROUNDF@ GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_TRUNC = @GNULIB_TRUNC@ GNULIB_TRUNCF = @GNULIB_TRUNCF@ GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GREP = @GREP@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ HAVE_DECL_COSL = @HAVE_DECL_COSL@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_TANL = @HAVE_DECL_TANL@ HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HELP2MAN = @HELP2MAN@ ICONV_H = @ICONV_H@ INCLUDE_NEXT = @INCLUDE_NEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_SU = @INSTALL_SU@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTTYPES_H = @INTTYPES_H@ KMEM_GROUP = @KMEM_GROUP@ LDFLAGS = @LDFLAGS@ LIBCOREUTILS_LIBDEPS = @LIBCOREUTILS_LIBDEPS@ LIBCOREUTILS_LTLIBDEPS = @LIBCOREUTILS_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ $(POW_LIB) LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_CRYPT = @LIB_CRYPT@ LIB_FDATASYNC = @LIB_FDATASYNC@ LIB_GETHRXTIME = @LIB_GETHRXTIME@ LIB_NANOSLEEP = @LIB_NANOSLEEP@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAN = @MAN@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEED_SETGID = @NEED_SETGID@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NO_INSTALL_PROGS_DEFAULT = @NO_INSTALL_PROGS_DEFAULT@ OBJEXT = @OBJEXT@ OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSIX_SHELL = @POSIX_SHELL@ POSUB = @POSUB@ POW_LIB = @POW_LIB@ PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CEILF = @REPLACE_CEILF@ REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FLOORF = @REPLACE_FLOORF@ REPLACE_FLOORL = @REPLACE_FLOORL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FREXP = @REPLACE_FREXP@ REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ REPLACE_ISFINITE = @REPLACE_ISFINITE@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_ROUND = @REPLACE_ROUND@ REPLACE_ROUNDF = @REPLACE_ROUNDF@ REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ SEQ_LIBM = @SEQ_LIBM@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ SYS_TIME_H = @SYS_TIME_H@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ U = @U@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ USE_HDPARM = @USE_HDPARM@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WCTYPE_H = @WCTYPE_H@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects noinst_HEADERS = noinst_LIBRARIES = libcoreutils.a noinst_LTLIBRARIES = # This is for those projects which use "gettextize --intl" to put a source-code # copy of libintl into their package. In such projects, every Makefile.am needs # -I$(top_builddir)/intl, so that can be found in this directory. # For the Makefile.ams in other directories it is the maintainer's # responsibility; for the one from gnulib we do it here. # This option has no effect when the user disables NLS (because then the intl # directory contains no libintl.h file) or when the project does not use # "gettextize --intl". #AM_CPPFLAGS += -I$(top_builddir)/intl #script: script.in # rm -f $@-t $@ # sed -e 's#@''PREFERABLY_POSIX_SHELL''@#$(PREFERABLY_POSIX_SHELL)#g' \ # -e 's#@''POSIX_SHELL''@#$(POSIX_SHELL)#g' \ # -e $(srcdir)/$@.in >$@-t # chmod a+x $@-t # mv $@-t $@ #EXTRA_DIST += script.in #MOSTLYCLEANFILES += script script-t EXTRA_DIST = alloca.c alloca.in.h $(top_srcdir)/build-aux/announce-gen \ areadlink.h argmatch.c argmatch.h arpa_inet.in.h atexit.c \ c-strtod.c c-strtod.h c-strtod.c c-strtod.h c-strtold.c \ calloc.c calloc.c canonicalize.c canonicalize.h pathmax.h \ chdir-long.c chdir-long.h chown.c fchown-stub.c cloexec.c \ cloexec.h close-stream.c close-stream.h closein.c closein.h \ closeout.c closeout.h md5.c md5.h sha1.c sha1.h sha256.c \ sha256.h sha512.c sha512.h u64.h cycle-check.c cycle-check.h \ dev-ino.h dirfd.c dirfd.h basename.c dirname.c dirname.h \ stripslash.c dup2.c error.c error.h exclude.c exclude.h \ exitfail.c exitfail.h dirent.in.h fchdir.c fcntl.in.h \ creat-safer.c fcntl--.h fcntl-safer.h open-safer.c fflush.c \ stdio-impl.h file-set.h file-type.c file-type.h fileblocks.c \ filemode.c filemode.h filenamecat.c filenamecat.h float.in.h \ fnmatch.c fnmatch.in.h fnmatch_loop.c fopen-safer.c stdio--.h \ stdio-safer.h fpending.c fpending.h fprintftime.c \ fprintftime.h fpucw.h fpurge.h stdio-impl.h freadahead.h \ stdio-impl.h freading.h stdio-impl.h freadptr.h stdio-impl.h \ freadseek.h stdio-impl.h frexp.c frexp.c frexpl.c fseeko.c \ stdio-impl.h fseterr.h stdio-impl.h fsusage.c fsusage.h \ ftello.c ftruncate.c getcwd.c getdate.c getdate.h getdelim.c \ getgroups.c gethostname.c gethrxtime.c gethrxtime.h xtime.h \ getline.c getloadavg.c getndelim2.c getndelim2.h getopt.c \ getopt.in.h getopt1.c getopt_int.h getpagesize.c getpass.c \ getpass.h $(top_srcdir)/build-aux/config.rpath gettime.c \ gettimeofday.c $(top_srcdir)/build-aux/git-version-gen \ $(top_srcdir)/build-aux/gitlog-to-changelog \ $(top_srcdir)/GNUmakefile $(top_srcdir)/build-aux/gnupload \ hard-locale.c hard-locale.h hash.c hash.h hash-triple.h \ $(top_srcdir)/build-aux/config.rpath human.c human.h \ iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h \ iconv_open-osf.h iconv.in.h iconv_open-aix.gperf \ iconv_open-hpux.gperf iconv_open-irix.gperf \ iconv_open-osf.gperf iconv_open.c idcache.c idcache.h \ intprops.h imaxtostr.c inttostr.c inttostr.h offtostr.c \ uinttostr.c umaxtostr.c inttypes.in.h isapipe.c isapipe.h \ float+.h isnan.c isnand.c isnand.h float+.h isnan.c isnanf.c \ isnanf.h float+.h isnan.c isnanl-nolibm.h isnanl.c lchmod.h \ lchown.c $(top_srcdir)/build-aux/link-warning.h config.charset \ ref-add.sin ref-del.sin long-options.c long-options.h lseek.c \ lstat.c lstat.h malloc.c malloc.c malloca.h malloca.valgrind \ math.in.h mbchar.h str-kmp.h memcasecmp.c memcasecmp.h \ memchr.c memcmp.c memcoll.c memcoll.h memcpy.c memmove.c \ mempcpy.c memrchr.c memset.c mkancesdirs.c mkancesdirs.h \ mkdir.c dirchownmod.c dirchownmod.h mkdir-p.c mkdir-p.h \ mkstemp.c mktime.c modechange.c modechange.h mountlist.c \ mountlist.h mpsort.c mpsort.h nanosleep.c netinet_in.in.h \ obstack.c obstack.h at-func.c fchmodat.c fchownat.c fstatat.c \ mkdirat.c openat-priv.h openat-proc.c openat.c openat.h \ pathmax.h posixtm.c posixtm.h posixver.c posixver.h \ printf-frexp.h printf-frexp.c printf-frexpl.h putenv.c quote.c \ quote.h quotearg.c quotearg.h raise.c readlink.c readtokens.c \ readtokens.h readutmp.c readutmp.h realloc.c realloc.c \ regcomp.c regex.c regex.h regex_internal.c regex_internal.h \ regexec.c rename.c rename-dest-slash.c rmdir.c root-dev-ino.c \ root-dev-ino.h rpmatch.c safe-read.c safe-read.h safe-write.c \ safe-write.h same.c same.h same-inode.h save-cwd.c save-cwd.h \ savedir.c savedir.h setenv.c settime.c sig2str.c sig2str.h \ float+.h signbitd.c signbitf.c signbitl.c snprintf.c \ stat-macros.h stat-time.h stdarg.in.h stdbool.in.h stdint.in.h \ stdio.in.h stdlib.in.h mkstemp-safer.c stdlib--.h \ stdlib-safer.h stpcpy.c stpncpy.c strcspn.c strdup.c streq.h \ strerror.c strftime.c strftime.h string.in.h strndup.c \ strnlen.c strpbrk.c strtod.c strtoimax.c strtol.c strtoll.c \ strtoul.c strtoull.c strtoumax.c strverscmp.c strverscmp.h \ sys_socket.in.h sys_stat.in.h sys_time.in.h tempname.c \ tempname.h time.in.h time_r.c timespec.h trim.h unistd.in.h \ dup-safer.c fd-safer.c pipe-safer.c unistd--.h unistd-safer.h \ unitypes.h localcharset.h uniwidth.h uniwidth/cjk.h \ unlinkdir.c unlinkdir.h unlocked-io.h unsetenv.c \ $(top_srcdir)/build-aux/useless-if-before-free inttostr.h \ userspec.c userspec.h utime.c utimecmp.c utimecmp.h utimens.c \ utimens.h asnprintf.c float+.h printf-args.c printf-args.h \ printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h \ asprintf.c vasprintf.c $(top_srcdir)/build-aux/vc-list-files \ vfprintf.c vprintf.c wchar.in.h wctype.in.h wcwidth.c \ write-any-file.c write-any-file.h xalloc.h xmalloc.c xgetcwd.c \ xgetcwd.h xnanosleep.c xnanosleep.h xstrtod.c xstrtod.h \ xstrtol-error.c xstrtol.c xstrtol.h xstrtoul.c xstrtod.c \ xstrtod.h xstrtold.c BUILT_SOURCES = $(ALLOCA_H) $(ARPA_INET_H) configmake.h $(DIRENT_H) \ $(FCNTL_H) $(FLOAT_H) $(FNMATCH_H) getdate.c $(GETOPT_H) \ $(ICONV_H) iconv_open-aix.h iconv_open-hpux.h \ iconv_open-irix.h iconv_open-osf.h $(INTTYPES_H) math.h \ $(NETINET_IN_H) $(STDARG_H) $(STDBOOL_H) $(STDINT_H) stdio.h \ stdlib.h string.h $(SYS_SOCKET_H) $(SYS_STAT_H) $(SYS_TIME_H) \ time.h unistd.h $(WCHAR_H) $(WCTYPE_H) SUFFIXES = .sed .sin MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t arpa/inet.h \ arpa/inet.h-t dirent.h dirent.h-t fcntl.h fcntl.h-t float.h \ float.h-t fnmatch.h fnmatch.h-t getopt.h getopt.h-t iconv.h \ iconv.h-t iconv_open-aix.h-t iconv_open-hpux.h-t \ iconv_open-irix.h-t iconv_open-osf.h-t inttypes.h inttypes.h-t \ math.h math.h-t netinet/in.h netinet/in.h-t stdarg.h \ stdarg.h-t stdbool.h stdbool.h-t stdint.h stdint.h-t stdio.h \ stdio.h-t stdlib.h stdlib.h-t string.h string.h-t sys/socket.h \ sys/socket.h-t sys/stat.h sys/stat.h-t sys/time.h sys/time.h-t \ time.h time.h-t unistd.h unistd.h-t wchar.h wchar.h-t wctype.h \ wctype.h-t MOSTLYCLEANDIRS = arpa netinet sys sys CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \ ref-del.sed DISTCLEANFILES = MAINTAINERCLEANFILES = getdate.c iconv_open-aix.h iconv_open-hpux.h \ iconv_open-irix.h iconv_open-osf.h AM_CPPFLAGS = libcoreutils_a_SOURCES = areadlink-with-size.c base64.h base64.c \ c-ctype.h c-ctype.c c-strcase.h c-strcasecmp.c c-strncasecmp.c \ diacrit.h diacrit.c file-set.c fpurge.c freadahead.c \ freading.c freadptr.c freadseek.c fseterr.c full-read.h \ full-read.c full-write.h full-write.c getdate.y gettext.h \ hash-pjw.h hash-pjw.c hash-triple.c linebuffer.h linebuffer.c \ localcharset.h localcharset.c malloca.c mbchar.c mbiter.h \ mbscasecmp.c mbslen.c mbsstr.c mbswidth.h mbswidth.c mbuiter.h \ memchr2.h memchr2.c openat-die.c printf-frexp.c \ printf-frexpl.c propername.h propername.c randint.c randint.h \ randperm.c randperm.h randread.c randread.h rand-isaac.c \ rand-isaac.h readtokens0.h readtokens0.c savewd.h savewd.c \ size_max.h striconv.h striconv.c strnlen1.h strnlen1.c trim.c \ unicodeio.h unicodeio.c uniwidth/width.c verify.h \ version-etc.h version-etc.c version-etc-fsf.c xalloc-die.c \ xmemcoll.h xmemcoll.c xprintf.h xprintf.c xsize.h xstriconv.h \ xstriconv.c xstrndup.h xstrndup.c xstrtoimax.c xstrtoumax.c \ buffer-lcm.c buffer-lcm.h xmemxfrm.c xmemxfrm.h libcoreutils_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@ $(LIBOBJS) libcoreutils_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@ $(LIBOBJS) EXTRA_libcoreutils_a_SOURCES = alloca.c argmatch.c atexit.c c-strtod.c \ c-strtod.c c-strtold.c calloc.c calloc.c canonicalize.c \ chdir-long.c chown.c fchown-stub.c cloexec.c close-stream.c \ closein.c closeout.c md5.c sha1.c sha256.c sha512.c \ cycle-check.c dirfd.c basename.c dirname.c stripslash.c dup2.c \ error.c exclude.c exitfail.c fchdir.c creat-safer.c \ open-safer.c fflush.c file-type.c fileblocks.c filemode.c \ filenamecat.c fnmatch.c fnmatch_loop.c fopen-safer.c \ fpending.c fprintftime.c frexp.c frexp.c frexpl.c fseeko.c \ fsusage.c ftello.c ftruncate.c getcwd.c getdelim.c getgroups.c \ gethostname.c gethrxtime.c getline.c getloadavg.c getndelim2.c \ getopt.c getopt1.c getpagesize.c getpass.c gettime.c \ gettimeofday.c hard-locale.c hash.c human.c iconv_open.c \ idcache.c imaxtostr.c inttostr.c offtostr.c uinttostr.c \ umaxtostr.c isapipe.c isnan.c isnand.c isnan.c isnanf.c \ isnan.c isnanl.c lchown.c long-options.c lseek.c lstat.c \ malloc.c malloc.c memcasecmp.c memchr.c memcmp.c memcoll.c \ memcpy.c memmove.c mempcpy.c memrchr.c memset.c mkancesdirs.c \ mkdir.c dirchownmod.c mkdir-p.c mkstemp.c mktime.c \ modechange.c mountlist.c mpsort.c nanosleep.c obstack.c \ at-func.c fchmodat.c fchownat.c fstatat.c mkdirat.c \ openat-proc.c openat.c posixtm.c posixver.c printf-frexp.c \ putenv.c quote.c quotearg.c raise.c readlink.c readtokens.c \ readutmp.c realloc.c realloc.c regcomp.c regex.c \ regex_internal.c regexec.c rename.c rename-dest-slash.c \ rmdir.c root-dev-ino.c rpmatch.c safe-read.c safe-write.c \ same.c save-cwd.c savedir.c setenv.c settime.c sig2str.c \ signbitd.c signbitf.c signbitl.c snprintf.c mkstemp-safer.c \ stpcpy.c stpncpy.c strcspn.c strdup.c strerror.c strftime.c \ strndup.c strnlen.c strpbrk.c strtod.c strtoimax.c strtol.c \ strtoll.c strtoul.c strtoull.c strtoumax.c strverscmp.c \ tempname.c time_r.c dup-safer.c fd-safer.c pipe-safer.c \ unlinkdir.c unsetenv.c userspec.c utime.c utimecmp.c utimens.c \ asnprintf.c printf-args.c printf-parse.c vasnprintf.c \ asprintf.c vasprintf.c vfprintf.c vprintf.c wcwidth.c \ write-any-file.c xmalloc.c xgetcwd.c xnanosleep.c xstrtod.c \ xstrtol-error.c xstrtol.c xstrtoul.c xstrtod.c xstrtold.c GPERF = gperf LINK_WARNING_H = $(top_srcdir)/build-aux/link-warning.h charset_alias = $(DESTDIR)$(libdir)/charset.alias charset_tmp = $(DESTDIR)$(libdir)/charset.tmp AM_CFLAGS = $(WARNING_CFLAGS) $(WERROR_CFLAGS) all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .sed .sin .c .o .obj .y $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits lib/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.hin $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status lib/config.h $(srcdir)/config.hin: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) uniwidth/$(am__dirstamp): @$(MKDIR_P) uniwidth @: > uniwidth/$(am__dirstamp) uniwidth/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) uniwidth/$(DEPDIR) @: > uniwidth/$(DEPDIR)/$(am__dirstamp) uniwidth/width.$(OBJEXT): uniwidth/$(am__dirstamp) \ uniwidth/$(DEPDIR)/$(am__dirstamp) libcoreutils.a: $(libcoreutils_a_OBJECTS) $(libcoreutils_a_DEPENDENCIES) -rm -f libcoreutils.a $(libcoreutils_a_AR) libcoreutils.a $(libcoreutils_a_OBJECTS) $(libcoreutils_a_LIBADD) $(RANLIB) libcoreutils.a clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f uniwidth/width.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fd-reopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memxfrm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strintcmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strnumcmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/areadlink-with-size.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asnprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/at-func.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atexit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer-lcm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strcasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strncasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strtod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strtold.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calloc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canonicalize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chdir-long.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cloexec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-stream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closein.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeout.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/creat-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cycle-check.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diacrit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirchownmod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirfd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exclude.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exitfail.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown-stub.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-set.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-type.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileblocks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filemode.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filenamecat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch_loop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fopen-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpending.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fprintftime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpurge.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freadahead.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freading.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freadptr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freadseek.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frexp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frexpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseeko.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fseterr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsusage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftello.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/full-read.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/full-write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdelim.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gethostname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gethrxtime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getline.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getloadavg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getndelim2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpagesize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpass.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hard-locale.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash-pjw.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash-triple.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/human.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconv_open.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idcache.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imaxtostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inttostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isapipe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isnan.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isnand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isnanf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isnanl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linebuffer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localcharset.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/long-options.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbchar.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbscasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbslen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsstr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbswidth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memcasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchr2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memcmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memcoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmove.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mempcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memrchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memset.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkancesdirs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir-p.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdirat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkstemp-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkstemp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modechange.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mountlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpsort.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanosleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obstack.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/offtostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-die.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-proc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe-safer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posixtm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posixver.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-args.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-frexp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-frexpl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propername.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quote.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raise.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rand-isaac.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randint.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randperm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randread.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readtokens.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readtokens0.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readutmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regcomp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex_internal.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regexec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rename-dest-slash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rename.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/root-dev-ino.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-read.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-write.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/same.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/save-cwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/savedir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/savewd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/settime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha256.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha512.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig2str.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signbitd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signbitf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signbitl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stpcpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stpncpy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcspn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strftime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/striconv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strndup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strpbrk.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoimax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtol.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoul.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoull.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoumax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strverscmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_r.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trim.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uinttostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umaxtostr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unicodeio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkdir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/userspec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimens.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasnprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vasprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc-fsf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcwidth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/write-any-file.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xalloc-die.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetcwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmemcoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmemxfrm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xnanosleep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstriconv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoimax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol-error.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtol.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtold.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoul.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtoumax.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/width.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ mv -f $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ mv -f $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .y.c: $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) config.h \ all-local installdirs: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -rm -f uniwidth/$(DEPDIR)/$(am__dirstamp) -rm -f uniwidth/$(am__dirstamp) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -rm -f getdate.c -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf $(DEPDIR) ./$(DEPDIR) uniwidth/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-local distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-exec-local install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf $(DEPDIR) ./$(DEPDIR) uniwidth/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-local pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am all-local check check-am clean \ clean-generic clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ ctags distclean distclean-compile distclean-generic \ distclean-hdr distclean-local distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-exec-local install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-local pdf \ pdf-am ps ps-am tags uninstall uninstall-am uninstall-local # We need the following in order to create when the system # doesn't have one that works with the given compiler. alloca.h: alloca.in.h { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(srcdir)/alloca.in.h; \ } > $@-t mv -f $@-t $@ # We need the following in order to create when the system # doesn't have one. arpa/inet.h: @MKDIR_P@ arpa rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_ARPA_INET_H''@|$(NEXT_ARPA_INET_H)|g' \ -e 's|@''HAVE_ARPA_INET_H''@|$(HAVE_ARPA_INET_H)|g' \ -e 's|@''GNULIB_INET_NTOP''@|$(GNULIB_INET_NTOP)|g' \ -e 's|@''GNULIB_INET_PTON''@|$(GNULIB_INET_PTON)|g' \ -e 's|@''HAVE_DECL_INET_NTOP''@|$(HAVE_DECL_INET_NTOP)|g' \ -e 's|@''HAVE_DECL_INET_PTON''@|$(HAVE_DECL_INET_PTON)|g' \ < $(srcdir)/arpa_inet.in.h; \ } > $@-t mv $@-t $@ # Retrieve values of the variables through 'configure' followed by # 'make', not directly through 'configure', so that a user who # sets some of these variables consistently on the 'make' command # line gets correct results. # # One advantage of this approach, compared to the classical # approach of adding -DLIBDIR=\"$(libdir)\" etc. to AM_CPPFLAGS, # is that it protects against the use of undefined variables. # If, say, $(libdir) is not set in the Makefile, LIBDIR is not # defined by this module, and code using LIBDIR gives a # compilation error. # # Another advantage is that 'make' output is shorter. # # Listed in the same order as the GNU makefile conventions. # The Automake-defined pkg* macros are appended, in the order # listed in the Automake 1.10a+ documentation. configmake.h: Makefile rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ echo '#define PREFIX "$(prefix)"'; \ echo '#define EXEC_PREFIX "$(exec_prefix)"'; \ echo '#define BINDIR "$(bindir)"'; \ echo '#define SBINDIR "$(sbindir)"'; \ echo '#define LIBEXECDIR "$(libexecdir)"'; \ echo '#define DATAROOTDIR "$(datarootdir)"'; \ echo '#define DATADIR "$(datadir)"'; \ echo '#define SYSCONFDIR "$(sysconfdir)"'; \ echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \ echo '#define LOCALSTATEDIR "$(localstatedir)"'; \ echo '#define INCLUDEDIR "$(includedir)"'; \ echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \ echo '#define DOCDIR "$(docdir)"'; \ echo '#define INFODIR "$(infodir)"'; \ echo '#define HTMLDIR "$(htmldir)"'; \ echo '#define DVIDIR "$(dvidir)"'; \ echo '#define PDFDIR "$(pdfdir)"'; \ echo '#define PSDIR "$(psdir)"'; \ echo '#define LIBDIR "$(libdir)"'; \ echo '#define LISPDIR "$(lispdir)"'; \ echo '#define LOCALEDIR "$(localedir)"'; \ echo '#define MANDIR "$(mandir)"'; \ echo '#define MANEXT "$(manext)"'; \ echo '#define PKGDATADIR "$(pkgdatadir)"'; \ echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \ echo '#define PKGLIBDIR "$(pkglibdir)"'; \ echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \ } | sed '/""/d' > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. dirent.h: dirent.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ < $(srcdir)/dirent.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. fcntl.h: fcntl.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ -e 's|@''GNULIB_OPEN''@|$(GNULIB_OPEN)|g' \ -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \ < $(srcdir)/fcntl.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. float.h: float.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ < $(srcdir)/float.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that supports the required API. fnmatch.h: fnmatch.in.h { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(srcdir)/fnmatch.in.h; \ } > $@-t mv -f $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. getopt.h: getopt.in.h { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat $(srcdir)/getopt.in.h; \ } > $@-t mv -f $@-t $@ #if GNU_MAKE # [nicer features that work only with GNU Make] #else # [fallback features that work in any 'make' implementation; see # http://www.opengroup.org/susv3/utilities/make.html # for the 2004 POSIX specification] #endif distclean-local: clean-GNUmakefile clean-GNUmakefile: test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || : # We need the following in order to create when the system # doesn't have one that works with the given compiler. iconv.h: iconv.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \ -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \ -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \ -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \ -e 's|@''REPLACE_ICONV_UTF''@|$(REPLACE_ICONV_UTF)|g' \ < $(srcdir)/iconv.in.h; \ } > $@-t mv $@-t $@ iconv_open-aix.h: iconv_open-aix.gperf $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $@-t mv $@-t $@ iconv_open-hpux.h: iconv_open-hpux.gperf $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $@-t mv $@-t $@ iconv_open-irix.h: iconv_open-irix.gperf $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $@-t mv $@-t $@ iconv_open-osf.h: iconv_open-osf.gperf $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. inttypes.h: inttypes.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/inttypes.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to install a simple file in $(libdir) # which is shared with other installed packages. We use a list of referencing # packages so that "make uninstall" will remove the file if and only if it # is not used by another installed package. # On systems with glibc-2.1 or newer, the file is redundant, therefore we # avoid installing it. all-local: charset.alias ref-add.sed ref-del.sed install-exec-local: all-local test $(GLIBC21) != no || $(mkinstalldirs) $(DESTDIR)$(libdir) if test -f $(charset_alias); then \ sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ else \ if test $(GLIBC21) = no; then \ sed -f ref-add.sed charset.alias > $(charset_tmp) ; \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \ rm -f $(charset_tmp) ; \ fi ; \ fi uninstall-local: all-local if test -f $(charset_alias); then \ sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \ if grep '^# Packages using this file: $$' $(charset_tmp) \ > /dev/null; then \ rm -f $(charset_alias); \ else \ $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \ fi; \ rm -f $(charset_tmp); \ fi charset.alias: config.charset rm -f t-$@ $@ $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ mv t-$@ $@ .sin.sed: rm -f t-$@ $@ sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ mv t-$@ $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. math.h: math.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_MATH_H''@|$(NEXT_MATH_H)|g' \ -e 's|@''GNULIB_CEILF''@|$(GNULIB_CEILF)|g' \ -e 's|@''GNULIB_CEILL''@|$(GNULIB_CEILL)|g' \ -e 's|@''GNULIB_FLOORF''@|$(GNULIB_FLOORF)|g' \ -e 's|@''GNULIB_FLOORL''@|$(GNULIB_FLOORL)|g' \ -e 's|@''GNULIB_FREXP''@|$(GNULIB_FREXP)|g' \ -e 's|@''GNULIB_FREXPL''@|$(GNULIB_FREXPL)|g' \ -e 's|@''GNULIB_ISFINITE''@|$(GNULIB_ISFINITE)|g' \ -e 's|@''GNULIB_LDEXPL''@|$(GNULIB_LDEXPL)|g' \ -e 's|@''GNULIB_MATHL''@|$(GNULIB_MATHL)|g' \ -e 's|@''GNULIB_ROUND''@|$(GNULIB_ROUND)|g' \ -e 's|@''GNULIB_ROUNDF''@|$(GNULIB_ROUNDF)|g' \ -e 's|@''GNULIB_ROUNDL''@|$(GNULIB_ROUNDL)|g' \ -e 's|@''GNULIB_SIGNBIT''@|$(GNULIB_SIGNBIT)|g' \ -e 's|@''GNULIB_TRUNC''@|$(GNULIB_TRUNC)|g' \ -e 's|@''GNULIB_TRUNCF''@|$(GNULIB_TRUNCF)|g' \ -e 's|@''GNULIB_TRUNCL''@|$(GNULIB_TRUNCL)|g' \ -e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \ -e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \ -e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \ -e 's|@''HAVE_DECL_COSL''@|$(HAVE_DECL_COSL)|g' \ -e 's|@''HAVE_DECL_EXPL''@|$(HAVE_DECL_EXPL)|g' \ -e 's|@''HAVE_DECL_FREXPL''@|$(HAVE_DECL_FREXPL)|g' \ -e 's|@''HAVE_DECL_LDEXPL''@|$(HAVE_DECL_LDEXPL)|g' \ -e 's|@''HAVE_DECL_LOGL''@|$(HAVE_DECL_LOGL)|g' \ -e 's|@''HAVE_DECL_SINL''@|$(HAVE_DECL_SINL)|g' \ -e 's|@''HAVE_DECL_SQRTL''@|$(HAVE_DECL_SQRTL)|g' \ -e 's|@''HAVE_DECL_TANL''@|$(HAVE_DECL_TANL)|g' \ -e 's|@''HAVE_DECL_TRUNC''@|$(HAVE_DECL_TRUNC)|g' \ -e 's|@''HAVE_DECL_TRUNCF''@|$(HAVE_DECL_TRUNCF)|g' \ -e 's|@''REPLACE_CEILF''@|$(REPLACE_CEILF)|g' \ -e 's|@''REPLACE_CEILL''@|$(REPLACE_CEILL)|g' \ -e 's|@''REPLACE_FLOORF''@|$(REPLACE_FLOORF)|g' \ -e 's|@''REPLACE_FLOORL''@|$(REPLACE_FLOORL)|g' \ -e 's|@''REPLACE_FREXP''@|$(REPLACE_FREXP)|g' \ -e 's|@''REPLACE_FREXPL''@|$(REPLACE_FREXPL)|g' \ -e 's|@''REPLACE_HUGE_VAL''@|$(REPLACE_HUGE_VAL)|g' \ -e 's|@''REPLACE_ISFINITE''@|$(REPLACE_ISFINITE)|g' \ -e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \ -e 's|@''REPLACE_NAN''@|$(REPLACE_NAN)|g' \ -e 's|@''REPLACE_ROUND''@|$(REPLACE_ROUND)|g' \ -e 's|@''REPLACE_ROUNDF''@|$(REPLACE_ROUNDF)|g' \ -e 's|@''REPLACE_ROUNDL''@|$(REPLACE_ROUNDL)|g' \ -e 's|@''REPLACE_SIGNBIT''@|$(REPLACE_SIGNBIT)|g' \ -e 's|@''REPLACE_SIGNBIT_USING_GCC''@|$(REPLACE_SIGNBIT_USING_GCC)|g' \ -e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/math.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one. netinet/in.h: netinet_in.in.h @MKDIR_P@ netinet rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ < $(srcdir)/netinet_in.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdarg.h: stdarg.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \ < $(srcdir)/stdarg.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works. stdbool.h: stdbool.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdint.h: stdint.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ < $(srcdir)/stdint.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdio.h: stdio.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \ -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \ -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \ -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \ -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \ -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \ -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \ -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \ -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \ -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \ -e 's|@''GNULIB_FSEEKO''@|$(GNULIB_FSEEKO)|g' \ -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \ -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \ -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \ -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \ -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \ -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \ -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \ -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \ -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \ -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \ -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \ -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/stdio.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. stdlib.h: stdlib.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/stdlib.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. string.h: string.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \ -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \ -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \ -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \ -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \ -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \ -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \ -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \ -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \ -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \ -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \ -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \ -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \ -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \ -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \ -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \ -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \ -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \ -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \ -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \ -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \ -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \ -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \ -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \ -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \ -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \ -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \ -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \ -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \ -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \ -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \ -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/string.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/socket.h: sys_socket.in.h @MKDIR_P@ sys { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_SYS_SOCKET_H''@|$(NEXT_SYS_SOCKET_H)|g' \ -e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \ -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \ -e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \ < $(srcdir)/sys_socket.in.h; \ } > $@-t mv -f $@-t $@ # We need the following in order to create when the system # has one that is incomplete. sys/stat.h: sys_stat.in.h @MKDIR_P@ sys rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \ -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \ < $(srcdir)/sys_stat.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/time.h: sys_time.in.h @MKDIR_P@ sys rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \ -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ < $(srcdir)/sys_time.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. time.h: time.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \ -e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \ -e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ -e 's|@REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \ -e 's|@REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ -e 's|@SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ < $(srcdir)/time.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create an empty placeholder for # when the system doesn't have one. unistd.h: unistd.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \ -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \ -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \ -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \ -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \ -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \ -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \ -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \ -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \ -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \ -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \ -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ < $(srcdir)/unistd.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # version does not work standalone. wchar.h: wchar.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \ -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ < $(srcdir)/wchar.in.h; \ } > $@-t mv $@-t $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. wctype.h: wctype.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \ -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \ -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \ -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ < $(srcdir)/wctype.in.h; \ } > $@-t mv $@-t $@ mostlyclean-local: mostlyclean-generic @for dir in '' $(MOSTLYCLEANDIRS); do \ if test -n "$$dir" && test -d $$dir; then \ echo "rmdir $$dir"; rmdir $$dir; \ fi; \ done; \ : # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: dc3dd-7.1.614/lib/xgetcwd.c0000644000175000017500000000225711022023316015012 0ustar amedicoamedico/* xgetcwd.c -- return current directory with unlimited length Copyright (C) 2001, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "xgetcwd.h" #include #include #include "xalloc.h" /* Return the current directory, newly allocated. Upon an out-of-memory error, call xalloc_die. Upon any other type of error, return NULL. */ char * xgetcwd (void) { char *cwd = getcwd (NULL, 0); if (! cwd && errno == ENOMEM) xalloc_die (); return cwd; } dc3dd-7.1.614/lib/randint.h0000644000175000017500000000314711022023316015010 0ustar amedicoamedico/* Generate random integers. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #ifndef RANDINT_H # define RANDINT_H 1 # include # include "randread.h" /* An unsigned integer type, used for random integers, and its maximum value. */ typedef uintmax_t randint; # define RANDINT_MAX UINTMAX_MAX struct randint_source; struct randint_source *randint_new (struct randread_source *); struct randint_source *randint_all_new (char const *, size_t); struct randread_source *randint_get_source (struct randint_source const *); randint randint_genmax (struct randint_source *, randint genmax); /* Consume random data from *S to generate a random number in the range 0 .. CHOICES-1. CHOICES must be nonzero. */ static inline randint randint_choose (struct randint_source *s, randint choices) { return randint_genmax (s, choices - 1); } void randint_free (struct randint_source *); int randint_all_free (struct randint_source *); #endif dc3dd-7.1.614/lib/posixver.c0000644000175000017500000000265311022023316015224 0ustar amedicoamedico/* Which POSIX version to conform to, for utilities. Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "posixver.h" #include #include #include #ifndef _POSIX2_VERSION # define _POSIX2_VERSION 0 #endif #ifndef DEFAULT_POSIX2_VERSION # define DEFAULT_POSIX2_VERSION _POSIX2_VERSION #endif /* The POSIX version that utilities should conform to. The default is specified by the system. */ int posix2_version (void) { long int v = DEFAULT_POSIX2_VERSION; char const *s = getenv ("_POSIX2_VERSION"); if (s && *s) { char *e; long int i = strtol (s, &e, 10); if (! *e) v = i; } return v < INT_MIN ? INT_MIN : v < INT_MAX ? v : INT_MAX; } dc3dd-7.1.614/lib/file-set.c0000644000175000017500000000377311022023316015061 0ustar amedicoamedico/* Specialized functions to manipulate a set of files. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include "file-set.h" #include "hash-triple.h" #include "xalloc.h" /* Record file, FILE, and dev/ino from *STATS, in the hash table, HT. If HT is NULL, return immediately. If memory allocation fails, exit immediately. */ void record_file (Hash_table *ht, char const *file, struct stat const *stats) { struct F_triple *ent; if (ht == NULL) return; ent = xmalloc (sizeof *ent); ent->name = xstrdup (file); ent->st_ino = stats->st_ino; ent->st_dev = stats->st_dev; { struct F_triple *ent_from_table = hash_insert (ht, ent); if (ent_from_table == NULL) { /* Insertion failed due to lack of memory. */ xalloc_die (); } if (ent_from_table != ent) { /* There was alread a matching entry in the table, so ENT was not inserted. Free it. */ triple_free (ent); } } } /* Return true if there is an entry in hash table, HT, for the file described by FILE and STATS. */ bool seen_file (Hash_table const *ht, char const *file, struct stat const *stats) { struct F_triple new_ent; if (ht == NULL) return false; new_ent.name = (char *) file; new_ent.st_ino = stats->st_ino; new_ent.st_dev = stats->st_dev; return !!hash_lookup (ht, &new_ent); } dc3dd-7.1.614/lib/getdelim.c0000644000175000017500000000617011064230667015154 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* getdelim.c --- Implementation of replacement getdelim function. Copyright (C) 1994, 1996, 1997, 1998, 2001, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Ported from glibc by Simon Josefsson. */ #include #include #include #include #include #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #ifndef SSIZE_MAX # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) #endif #if !HAVE_FLOCKFILE # undef flockfile # define flockfile(x) ((void) 0) #endif #if !HAVE_FUNLOCKFILE # undef funlockfile # define funlockfile(x) ((void) 0) #endif /* Read up to (and including) a DELIMITER from FP into *LINEPTR (and NUL-terminate it). *LINEPTR is a pointer returned from malloc (or NULL), pointing to *N characters of space. It is realloc'ed as necessary. Returns the number of characters read (not including the null terminator), or -1 on error or EOF. */ ssize_t getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp) { ssize_t result; size_t cur_len = 0; if (lineptr == NULL || n == NULL || fp == NULL) { errno = EINVAL; return -1; } flockfile (fp); if (*lineptr == NULL || *n == 0) { char *new_lineptr; *n = 120; new_lineptr = (char *) realloc (*lineptr, *n); if (new_lineptr == NULL) { result = -1; goto unlock_return; } *lineptr = new_lineptr; } for (;;) { int i; i = getc (fp); if (i == EOF) { result = -1; break; } /* Make enough space for len+1 (for final NUL) bytes. */ if (cur_len + 1 >= *n) { size_t needed_max = SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX; size_t needed = 2 * *n + 1; /* Be generous. */ char *new_lineptr; if (needed_max < needed) needed = needed_max; if (cur_len + 1 >= needed) { result = -1; errno = EOVERFLOW; goto unlock_return; } new_lineptr = (char *) realloc (*lineptr, needed); if (new_lineptr == NULL) { result = -1; goto unlock_return; } *lineptr = new_lineptr; *n = needed; } (*lineptr)[cur_len] = i; cur_len++; if (i == delimiter) break; } (*lineptr)[cur_len] = '\0'; result = cur_len ? cur_len : result; unlock_return: funlockfile (fp); /* doesn't set errno */ return result; } dc3dd-7.1.614/lib/mkdir-p.h0000644000175000017500000000240411022023316014707 0ustar amedicoamedico/* mkdir-p.h -- Ensure that a directory and its parents exist. Copyright (C) 1994, 1995, 1996, 1997, 2000, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert, David MacKenzie, and Jim Meyering. */ #include #include struct savewd; bool make_dir_parents (char *dir, struct savewd *wd, int (*make_ancestor) (char const *, char const *, void *), void *options, mode_t mode, void (*announce) (char const *, void *), mode_t mode_bits, uid_t owner, gid_t group, bool preserve_existing); dc3dd-7.1.614/lib/stdlib-safer.h0000644000175000017500000000146111022023316015725 0ustar amedicoamedico/* Invoke stdlib.h functions, but avoid some glitches. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ int mkstemp_safer (char *); dc3dd-7.1.614/lib/umaxtostr.c0000644000175000017500000000011311022023316015400 0ustar amedicoamedico#define inttostr umaxtostr #define inttype uintmax_t #include "inttostr.c" dc3dd-7.1.614/lib/gethrxtime.c0000644000175000017500000000346011022023316015522 0ustar amedicoamedico/* gethrxtime -- get high resolution real time Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "gethrxtime.h" #include #include "timespec.h" /* Get the current time, as a count of the number of nanoseconds since an arbitrary epoch (e.g., the system boot time). Prefer a high-resolution clock that is not subject to resetting or drifting. */ xtime_t gethrxtime (void) { #if HAVE_NANOUPTIME { struct timespec ts; nanouptime (&ts); return xtime_make (ts.tv_sec, ts.tv_nsec); } #else # if defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME { struct timespec ts; if (clock_gettime (CLOCK_MONOTONIC, &ts) == 0) return xtime_make (ts.tv_sec, ts.tv_nsec); } # endif # if HAVE_MICROUPTIME { struct timeval tv; microuptime (&tv); return xtime_make (tv.tv_sec, 1000 * tv.tv_usec); } # else /* No monotonically increasing clocks are available; fall back on a clock that might jump backwards, since it's the best we can do. */ { struct timespec ts; gettime (&ts); return xtime_make (ts.tv_sec, ts.tv_nsec); } # endif #endif } dc3dd-7.1.614/lib/getndelim2.c0000644000175000017500000001274211064230667015416 0ustar amedicoamedico/* getndelim2 - Read a line from a stream, stopping at one of 2 delimiters, with bounded memory allocation. Copyright (C) 1993, 1996, 1997, 1998, 2000, 2003, 2004, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Originally written by Jan Brittenson, bson@gnu.ai.mit.edu. */ #include #include "getndelim2.h" #include #include #include #include #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #if !HAVE_FLOCKFILE # undef flockfile # define flockfile(x) ((void) 0) #endif #if !HAVE_FUNLOCKFILE # undef funlockfile # define funlockfile(x) ((void) 0) #endif #include #include #include "freadptr.h" #include "freadseek.h" #include "memchr2.h" #ifndef SSIZE_MAX # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) #endif /* Use this to suppress gcc's `...may be used before initialized' warnings. */ #ifdef lint # define IF_LINT(Code) Code #else # define IF_LINT(Code) /* empty */ #endif /* The maximum value that getndelim2 can return without suffering from overflow problems, either internally (because of pointer subtraction overflow) or due to the API (because of ssize_t). */ #define GETNDELIM2_MAXIMUM (PTRDIFF_MAX < SSIZE_MAX ? PTRDIFF_MAX : SSIZE_MAX) /* Try to add at least this many bytes when extending the buffer. MIN_CHUNK must be no greater than GETNDELIM2_MAXIMUM. */ #define MIN_CHUNK 64 ssize_t getndelim2 (char **lineptr, size_t *linesize, size_t offset, size_t nmax, int delim1, int delim2, FILE *stream) { size_t nbytes_avail; /* Allocated but unused bytes in *LINEPTR. */ char *read_pos; /* Where we're reading into *LINEPTR. */ ssize_t bytes_stored = -1; char *ptr = *lineptr; size_t size = *linesize; bool found_delimiter; if (!ptr) { size = nmax < MIN_CHUNK ? nmax : MIN_CHUNK; ptr = malloc (size); if (!ptr) return -1; } if (size < offset) goto done; nbytes_avail = size - offset; read_pos = ptr + offset; if (nbytes_avail == 0 && nmax <= size) goto done; /* Normalize delimiters, since memchr2 doesn't handle EOF. */ if (delim1 == EOF) delim1 = delim2; else if (delim2 == EOF) delim2 = delim1; flockfile (stream); found_delimiter = false; do { /* Here always ptr + size == read_pos + nbytes_avail. Also nbytes_avail > 0 || size < nmax. */ int c IF_LINT (= 0); const char *buffer; size_t buffer_len; buffer = freadptr (stream, &buffer_len); if (buffer) { if (delim1 != EOF) { const char *end = memchr2 (buffer, delim1, delim2, buffer_len); if (end) { buffer_len = end - buffer + 1; found_delimiter = true; } } } else { c = getc (stream); if (c == EOF) { /* Return partial line, if any. */ if (read_pos == ptr) goto unlock_done; else break; } if (c == delim1 || c == delim2) found_delimiter = true; buffer_len = 1; } /* We always want at least one byte left in the buffer, since we always (unless we get an error while reading the first byte) NUL-terminate the line buffer. */ if (nbytes_avail < buffer_len + 1 && size < nmax) { /* Grow size proportionally, not linearly, to avoid O(n^2) running time. */ size_t newsize = size < MIN_CHUNK ? size + MIN_CHUNK : 2 * size; char *newptr; /* Increase newsize so that it becomes >= (read_pos - ptr) + buffer_len. */ if (newsize - (read_pos - ptr) < buffer_len + 1) newsize = (read_pos - ptr) + buffer_len + 1; /* Respect nmax. This handles possible integer overflow. */ if (! (size < newsize && newsize <= nmax)) newsize = nmax; if (GETNDELIM2_MAXIMUM < newsize - offset) { size_t newsizemax = offset + GETNDELIM2_MAXIMUM + 1; if (size == newsizemax) goto unlock_done; newsize = newsizemax; } nbytes_avail = newsize - (read_pos - ptr); newptr = realloc (ptr, newsize); if (!newptr) goto unlock_done; ptr = newptr; size = newsize; read_pos = size - nbytes_avail + ptr; } /* Here, if size < nmax, nbytes_avail >= buffer_len + 1. If size == nmax, nbytes_avail > 0. */ if (1 < nbytes_avail) { size_t copy_len = nbytes_avail - 1; if (buffer_len < copy_len) copy_len = buffer_len; if (buffer) memcpy (read_pos, buffer, copy_len); else *read_pos = c; read_pos += copy_len; nbytes_avail -= copy_len; } /* Here still nbytes_avail > 0. */ if (buffer && freadseek (stream, buffer_len)) goto unlock_done; } while (!found_delimiter); /* Done - NUL terminate and return the number of bytes read. At this point we know that nbytes_avail >= 1. */ *read_pos = '\0'; bytes_stored = read_pos - (ptr + offset); unlock_done: funlockfile (stream); done: *lineptr = ptr; *linesize = size; return bytes_stored ? bytes_stored : -1; } dc3dd-7.1.614/lib/readutmp.c0000644000175000017500000001006711022023316015164 0ustar amedicoamedico/* GNU's read utmp module. Copyright (C) 1992-2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by jla; revised by djm */ #include #include "readutmp.h" #include #include #include #include #include #include #include #include #include "xalloc.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif /* Copy UT->ut_name into storage obtained from malloc. Then remove any trailing spaces from the copy, NUL terminate it, and return the copy. */ char * extract_trimmed_name (const STRUCT_UTMP *ut) { char *p, *trimmed_name; trimmed_name = xmalloc (sizeof (UT_USER (ut)) + 1); strncpy (trimmed_name, UT_USER (ut), sizeof (UT_USER (ut))); /* Append a trailing NUL. Some systems pad names shorter than the maximum with spaces, others pad with NULs. Remove any trailing spaces. */ trimmed_name[sizeof (UT_USER (ut))] = '\0'; for (p = trimmed_name + strlen (trimmed_name); trimmed_name < p && p[-1] == ' '; *--p = '\0') continue; return trimmed_name; } /* Is the utmp entry U desired by the user who asked for OPTIONS? */ static inline bool desirable_utmp_entry (STRUCT_UTMP const *u, int options) { bool user_proc = IS_USER_PROCESS (u); if ((options & READ_UTMP_USER_PROCESS) && !user_proc) return false; if ((options & READ_UTMP_CHECK_PIDS) && user_proc && (UT_PID (u) <= 0 || (kill (UT_PID (u), 0) < 0 && errno == ESRCH))) return false; return true; } /* Read the utmp entries corresponding to file FILE into freshly- malloc'd storage, set *UTMP_BUF to that pointer, set *N_ENTRIES to the number of entries, and return zero. If there is any error, return -1, setting errno, and don't modify the parameters. If OPTIONS & READ_UTMP_CHECK_PIDS is nonzero, omit entries whose process-IDs do not currently exist. */ #ifdef UTMP_NAME_FUNCTION int read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, int options) { size_t n_read = 0; size_t n_alloc = 0; STRUCT_UTMP *utmp = NULL; STRUCT_UTMP *u; /* Ignore the return value for now. Solaris' utmpname returns 1 upon success -- which is contrary to what the GNU libc version does. In addition, older GNU libc versions are actually void. */ UTMP_NAME_FUNCTION (file); SET_UTMP_ENT (); while ((u = GET_UTMP_ENT ()) != NULL) if (desirable_utmp_entry (u, options)) { if (n_read == n_alloc) utmp = x2nrealloc (utmp, &n_alloc, sizeof *utmp); utmp[n_read++] = *u; } END_UTMP_ENT (); *n_entries = n_read; *utmp_buf = utmp; return 0; } #else int read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, int options) { size_t n_read = 0; size_t n_alloc = 0; STRUCT_UTMP *utmp = NULL; int saved_errno; FILE *f = fopen (file, "r"); if (! f) return -1; for (;;) { if (n_read == n_alloc) utmp = x2nrealloc (utmp, &n_alloc, sizeof *utmp); if (fread (&utmp[n_read], sizeof utmp[n_read], 1, f) == 0) break; n_read += desirable_utmp_entry (&utmp[n_read], options); } saved_errno = ferror (f) ? errno : 0; if (fclose (f) != 0) saved_errno = errno; if (saved_errno != 0) { free (utmp); errno = saved_errno; return -1; } *n_entries = n_read; *utmp_buf = utmp; return 0; } #endif dc3dd-7.1.614/lib/stripslash.c0000644000175000017500000000302311022023316015531 0ustar amedicoamedico/* stripslash.c -- remove redundant trailing slashes from a file name Copyright (C) 1990, 2001, 2003-2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "dirname.h" /* Remove trailing slashes from FILE. Return true if a trailing slash was removed. This is useful when using file name completion from a shell that adds a "/" after directory names (such as tcsh and bash), because on symlinks to directories, several system calls have different semantics according to whether a trailing slash is present. */ bool strip_trailing_slashes (char *file) { char *base = last_component (file); char *base_lim; bool had_slash; /* last_component returns "" for file system roots, but we need to turn `///' into `/'. */ if (! *base) base = file; base_lim = base + base_len (base); had_slash = (*base_lim != '\0'); *base_lim = '\0'; return had_slash; } dc3dd-7.1.614/lib/regex_internal.h0000644000175000017500000005662411064230667016406 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Extended regular expression matching and search library. Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _REGEX_INTERNAL_H #define _REGEX_INTERNAL_H 1 #include #include #include #include #include #include #ifdef _LIBC # include #else # include "localcharset.h" #endif #if defined HAVE_LOCALE_H || defined _LIBC # include #endif #include #include #include #if defined _LIBC # include #else # define __libc_lock_init(NAME) do { } while (0) # define __libc_lock_lock(NAME) do { } while (0) # define __libc_lock_unlock(NAME) do { } while (0) #endif /* In case that the system doesn't have isblank(). */ #if !defined _LIBC && ! (defined isblank || (HAVE_ISBLANK && HAVE_DECL_ISBLANK)) # define isblank(ch) ((ch) == ' ' || (ch) == '\t') #endif #ifdef _LIBC # ifndef _RE_DEFINE_LOCALE_FUNCTIONS # define _RE_DEFINE_LOCALE_FUNCTIONS 1 # include # include # include # endif #endif /* This is for other GNU distributions with internationalized messages. */ #if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC # include # ifdef _LIBC # undef gettext # define gettext(msgid) \ INTUSE(__dcgettext) (_libc_intl_domainname, msgid, LC_MESSAGES) # endif #else # define gettext(msgid) (msgid) #endif #ifndef gettext_noop /* This define is so xgettext can find the internationalizable strings. */ # define gettext_noop(String) String #endif /* For loser systems without the definition. */ #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #if (defined MB_CUR_MAX && HAVE_LOCALE_H && HAVE_WCTYPE_H && HAVE_ISWCTYPE && HAVE_WCRTOMB && HAVE_MBRTOWC && HAVE_WCSCOLL) || _LIBC # define RE_ENABLE_I18N #endif #if __GNUC__ >= 3 # define BE(expr, val) __builtin_expect (expr, val) #else # define BE(expr, val) (expr) # ifdef _LIBC # define inline # endif #endif /* Number of ASCII characters. */ #define ASCII_CHARS 0x80 /* Number of single byte characters. */ #define SBC_MAX (UCHAR_MAX + 1) #define COLL_ELEM_LEN_MAX 8 /* The character which represents newline. */ #define NEWLINE_CHAR '\n' #define WIDE_NEWLINE_CHAR L'\n' /* Rename to standard API for using out of glibc. */ #ifndef _LIBC # define __wctype wctype # define __iswctype iswctype # define __btowc btowc # define __wcrtomb wcrtomb # define __regfree regfree # define attribute_hidden #endif /* not _LIBC */ #if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) # define __attribute(arg) __attribute__ (arg) #else # define __attribute(arg) #endif typedef __re_idx_t Idx; /* Special return value for failure to match. */ #define REG_MISSING ((Idx) -1) /* Special return value for internal error. */ #define REG_ERROR ((Idx) -2) /* Test whether N is a valid index, and is not one of the above. */ #ifdef _REGEX_LARGE_OFFSETS # define REG_VALID_INDEX(n) ((Idx) (n) < REG_ERROR) #else # define REG_VALID_INDEX(n) (0 <= (n)) #endif /* Test whether N is a valid nonzero index. */ #ifdef _REGEX_LARGE_OFFSETS # define REG_VALID_NONZERO_INDEX(n) ((Idx) ((n) - 1) < (Idx) (REG_ERROR - 1)) #else # define REG_VALID_NONZERO_INDEX(n) (0 < (n)) #endif /* A hash value, suitable for computing hash tables. */ typedef __re_size_t re_hashval_t; /* An integer used to represent a set of bits. It must be unsigned, and must be at least as wide as unsigned int. */ typedef unsigned long int bitset_word_t; /* All bits set in a bitset_word_t. */ #define BITSET_WORD_MAX ULONG_MAX /* Number of bits in a bitset_word_t. For portability to hosts with padding bits, do not use '(sizeof (bitset_word_t) * CHAR_BIT)'; instead, deduce it directly from BITSET_WORD_MAX. Avoid greater-than-32-bit integers and unconditional shifts by more than 31 bits, as they're not portable. */ #if BITSET_WORD_MAX == 0xffffffff # define BITSET_WORD_BITS 32 #elif BITSET_WORD_MAX >> 31 >> 5 == 1 # define BITSET_WORD_BITS 36 #elif BITSET_WORD_MAX >> 31 >> 16 == 1 # define BITSET_WORD_BITS 48 #elif BITSET_WORD_MAX >> 31 >> 28 == 1 # define BITSET_WORD_BITS 60 #elif BITSET_WORD_MAX >> 31 >> 31 >> 1 == 1 # define BITSET_WORD_BITS 64 #elif BITSET_WORD_MAX >> 31 >> 31 >> 9 == 1 # define BITSET_WORD_BITS 72 #elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 3 == 1 # define BITSET_WORD_BITS 128 #elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 7 == 1 # define BITSET_WORD_BITS 256 #elif BITSET_WORD_MAX >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 31 >> 7 > 1 # define BITSET_WORD_BITS 257 /* any value > SBC_MAX will do here */ # if BITSET_WORD_BITS <= SBC_MAX # error "Invalid SBC_MAX" # endif #elif BITSET_WORD_MAX == (0xffffffff + 2) * 0xffffffff /* Work around a bug in 64-bit PGC (before version 6.1-2), where the preprocessor mishandles large unsigned values as if they were signed. */ # define BITSET_WORD_BITS 64 #else # error "Add case for new bitset_word_t size" #endif /* Number of bitset_word_t values in a bitset_t. */ #define BITSET_WORDS ((SBC_MAX + BITSET_WORD_BITS - 1) / BITSET_WORD_BITS) typedef bitset_word_t bitset_t[BITSET_WORDS]; typedef bitset_word_t *re_bitset_ptr_t; typedef const bitset_word_t *re_const_bitset_ptr_t; #define PREV_WORD_CONSTRAINT 0x0001 #define PREV_NOTWORD_CONSTRAINT 0x0002 #define NEXT_WORD_CONSTRAINT 0x0004 #define NEXT_NOTWORD_CONSTRAINT 0x0008 #define PREV_NEWLINE_CONSTRAINT 0x0010 #define NEXT_NEWLINE_CONSTRAINT 0x0020 #define PREV_BEGBUF_CONSTRAINT 0x0040 #define NEXT_ENDBUF_CONSTRAINT 0x0080 #define WORD_DELIM_CONSTRAINT 0x0100 #define NOT_WORD_DELIM_CONSTRAINT 0x0200 typedef enum { INSIDE_WORD = PREV_WORD_CONSTRAINT | NEXT_WORD_CONSTRAINT, WORD_FIRST = PREV_NOTWORD_CONSTRAINT | NEXT_WORD_CONSTRAINT, WORD_LAST = PREV_WORD_CONSTRAINT | NEXT_NOTWORD_CONSTRAINT, INSIDE_NOTWORD = PREV_NOTWORD_CONSTRAINT | NEXT_NOTWORD_CONSTRAINT, LINE_FIRST = PREV_NEWLINE_CONSTRAINT, LINE_LAST = NEXT_NEWLINE_CONSTRAINT, BUF_FIRST = PREV_BEGBUF_CONSTRAINT, BUF_LAST = NEXT_ENDBUF_CONSTRAINT, WORD_DELIM = WORD_DELIM_CONSTRAINT, NOT_WORD_DELIM = NOT_WORD_DELIM_CONSTRAINT } re_context_type; typedef struct { Idx alloc; Idx nelem; Idx *elems; } re_node_set; typedef enum { NON_TYPE = 0, /* Node type, These are used by token, node, tree. */ CHARACTER = 1, END_OF_RE = 2, SIMPLE_BRACKET = 3, OP_BACK_REF = 4, OP_PERIOD = 5, #ifdef RE_ENABLE_I18N COMPLEX_BRACKET = 6, OP_UTF8_PERIOD = 7, #endif /* RE_ENABLE_I18N */ /* We define EPSILON_BIT as a macro so that OP_OPEN_SUBEXP is used when the debugger shows values of this enum type. */ #define EPSILON_BIT 8 OP_OPEN_SUBEXP = EPSILON_BIT | 0, OP_CLOSE_SUBEXP = EPSILON_BIT | 1, OP_ALT = EPSILON_BIT | 2, OP_DUP_ASTERISK = EPSILON_BIT | 3, ANCHOR = EPSILON_BIT | 4, /* Tree type, these are used only by tree. */ CONCAT = 16, SUBEXP = 17, /* Token type, these are used only by token. */ OP_DUP_PLUS = 18, OP_DUP_QUESTION, OP_OPEN_BRACKET, OP_CLOSE_BRACKET, OP_CHARSET_RANGE, OP_OPEN_DUP_NUM, OP_CLOSE_DUP_NUM, OP_NON_MATCH_LIST, OP_OPEN_COLL_ELEM, OP_CLOSE_COLL_ELEM, OP_OPEN_EQUIV_CLASS, OP_CLOSE_EQUIV_CLASS, OP_OPEN_CHAR_CLASS, OP_CLOSE_CHAR_CLASS, OP_WORD, OP_NOTWORD, OP_SPACE, OP_NOTSPACE, BACK_SLASH } re_token_type_t; #ifdef RE_ENABLE_I18N typedef struct { /* Multibyte characters. */ wchar_t *mbchars; /* Collating symbols. */ # ifdef _LIBC int32_t *coll_syms; # endif /* Equivalence classes. */ # ifdef _LIBC int32_t *equiv_classes; # endif /* Range expressions. */ # ifdef _LIBC uint32_t *range_starts; uint32_t *range_ends; # else /* not _LIBC */ wchar_t *range_starts; wchar_t *range_ends; # endif /* not _LIBC */ /* Character classes. */ wctype_t *char_classes; /* If this character set is the non-matching list. */ unsigned int non_match : 1; /* # of multibyte characters. */ Idx nmbchars; /* # of collating symbols. */ Idx ncoll_syms; /* # of equivalence classes. */ Idx nequiv_classes; /* # of range expressions. */ Idx nranges; /* # of character classes. */ Idx nchar_classes; } re_charset_t; #endif /* RE_ENABLE_I18N */ typedef struct { union { unsigned char c; /* for CHARACTER */ re_bitset_ptr_t sbcset; /* for SIMPLE_BRACKET */ #ifdef RE_ENABLE_I18N re_charset_t *mbcset; /* for COMPLEX_BRACKET */ #endif /* RE_ENABLE_I18N */ Idx idx; /* for BACK_REF */ re_context_type ctx_type; /* for ANCHOR */ } opr; #if __GNUC__ >= 2 && !__STRICT_ANSI__ re_token_type_t type : 8; #else re_token_type_t type; #endif unsigned int constraint : 10; /* context constraint */ unsigned int duplicated : 1; unsigned int opt_subexp : 1; #ifdef RE_ENABLE_I18N unsigned int accept_mb : 1; /* These 2 bits can be moved into the union if needed (e.g. if running out of bits; move opr.c to opr.c.c and move the flags to opr.c.flags). */ unsigned int mb_partial : 1; #endif unsigned int word_char : 1; } re_token_t; #define IS_EPSILON_NODE(type) ((type) & EPSILON_BIT) struct re_string_t { /* Indicate the raw buffer which is the original string passed as an argument of regexec(), re_search(), etc.. */ const unsigned char *raw_mbs; /* Store the multibyte string. In case of "case insensitive mode" like REG_ICASE, upper cases of the string are stored, otherwise MBS points the same address that RAW_MBS points. */ unsigned char *mbs; #ifdef RE_ENABLE_I18N /* Store the wide character string which is corresponding to MBS. */ wint_t *wcs; Idx *offsets; mbstate_t cur_state; #endif /* Index in RAW_MBS. Each character mbs[i] corresponds to raw_mbs[raw_mbs_idx + i]. */ Idx raw_mbs_idx; /* The length of the valid characters in the buffers. */ Idx valid_len; /* The corresponding number of bytes in raw_mbs array. */ Idx valid_raw_len; /* The length of the buffers MBS and WCS. */ Idx bufs_len; /* The index in MBS, which is updated by re_string_fetch_byte. */ Idx cur_idx; /* length of RAW_MBS array. */ Idx raw_len; /* This is RAW_LEN - RAW_MBS_IDX + VALID_LEN - VALID_RAW_LEN. */ Idx len; /* End of the buffer may be shorter than its length in the cases such as re_match_2, re_search_2. Then, we use STOP for end of the buffer instead of LEN. */ Idx raw_stop; /* This is RAW_STOP - RAW_MBS_IDX adjusted through OFFSETS. */ Idx stop; /* The context of mbs[0]. We store the context independently, since the context of mbs[0] may be different from raw_mbs[0], which is the beginning of the input string. */ unsigned int tip_context; /* The translation passed as a part of an argument of re_compile_pattern. */ RE_TRANSLATE_TYPE trans; /* Copy of re_dfa_t's word_char. */ re_const_bitset_ptr_t word_char; /* true if REG_ICASE. */ unsigned char icase; unsigned char is_utf8; unsigned char map_notascii; unsigned char mbs_allocated; unsigned char offsets_needed; unsigned char newline_anchor; unsigned char word_ops_used; int mb_cur_max; }; typedef struct re_string_t re_string_t; struct re_dfa_t; typedef struct re_dfa_t re_dfa_t; #ifndef _LIBC # if defined __i386__ && !defined __EMX__ # define internal_function __attribute ((regparm (3), stdcall)) # else # define internal_function # endif #endif static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) internal_function; #ifdef RE_ENABLE_I18N static void build_wcs_buffer (re_string_t *pstr) internal_function; static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr) internal_function; #endif /* RE_ENABLE_I18N */ static void build_upper_buffer (re_string_t *pstr) internal_function; static void re_string_translate_buffer (re_string_t *pstr) internal_function; static unsigned int re_string_context_at (const re_string_t *input, Idx idx, int eflags) internal_function __attribute ((pure)); #define re_string_peek_byte(pstr, offset) \ ((pstr)->mbs[(pstr)->cur_idx + offset]) #define re_string_fetch_byte(pstr) \ ((pstr)->mbs[(pstr)->cur_idx++]) #define re_string_first_byte(pstr, idx) \ ((idx) == (pstr)->valid_len || (pstr)->wcs[idx] != WEOF) #define re_string_is_single_byte_char(pstr, idx) \ ((pstr)->wcs[idx] != WEOF && ((pstr)->valid_len == (idx) + 1 \ || (pstr)->wcs[(idx) + 1] != WEOF)) #define re_string_eoi(pstr) ((pstr)->stop <= (pstr)->cur_idx) #define re_string_cur_idx(pstr) ((pstr)->cur_idx) #define re_string_get_buffer(pstr) ((pstr)->mbs) #define re_string_length(pstr) ((pstr)->len) #define re_string_byte_at(pstr,idx) ((pstr)->mbs[idx]) #define re_string_skip_bytes(pstr,idx) ((pstr)->cur_idx += (idx)) #define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx)) #include #ifndef _LIBC # if HAVE_ALLOCA /* The OS usually guarantees only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely allocate anything larger than 4096 bytes. Also care for the possibility of a few compiler-allocated temporary stack slots. */ # define __libc_use_alloca(n) ((n) < 4032) # else /* alloca is implemented with malloc, so just use malloc. */ # define __libc_use_alloca(n) 0 # endif #endif #ifndef MAX # define MAX(a,b) ((a) < (b) ? (b) : (a)) #endif #define re_malloc(t,n) ((t *) malloc ((n) * sizeof (t))) #define re_realloc(p,t,n) ((t *) realloc (p, (n) * sizeof (t))) #define re_free(p) free (p) struct bin_tree_t { struct bin_tree_t *parent; struct bin_tree_t *left; struct bin_tree_t *right; struct bin_tree_t *first; struct bin_tree_t *next; re_token_t token; /* `node_idx' is the index in dfa->nodes, if `type' == 0. Otherwise `type' indicate the type of this node. */ Idx node_idx; }; typedef struct bin_tree_t bin_tree_t; #define BIN_TREE_STORAGE_SIZE \ ((1024 - sizeof (void *)) / sizeof (bin_tree_t)) struct bin_tree_storage_t { struct bin_tree_storage_t *next; bin_tree_t data[BIN_TREE_STORAGE_SIZE]; }; typedef struct bin_tree_storage_t bin_tree_storage_t; #define CONTEXT_WORD 1 #define CONTEXT_NEWLINE (CONTEXT_WORD << 1) #define CONTEXT_BEGBUF (CONTEXT_NEWLINE << 1) #define CONTEXT_ENDBUF (CONTEXT_BEGBUF << 1) #define IS_WORD_CONTEXT(c) ((c) & CONTEXT_WORD) #define IS_NEWLINE_CONTEXT(c) ((c) & CONTEXT_NEWLINE) #define IS_BEGBUF_CONTEXT(c) ((c) & CONTEXT_BEGBUF) #define IS_ENDBUF_CONTEXT(c) ((c) & CONTEXT_ENDBUF) #define IS_ORDINARY_CONTEXT(c) ((c) == 0) #define IS_WORD_CHAR(ch) (isalnum (ch) || (ch) == '_') #define IS_NEWLINE(ch) ((ch) == NEWLINE_CHAR) #define IS_WIDE_WORD_CHAR(ch) (iswalnum (ch) || (ch) == L'_') #define IS_WIDE_NEWLINE(ch) ((ch) == WIDE_NEWLINE_CHAR) #define NOT_SATISFY_PREV_CONSTRAINT(constraint,context) \ ((((constraint) & PREV_WORD_CONSTRAINT) && !IS_WORD_CONTEXT (context)) \ || ((constraint & PREV_NOTWORD_CONSTRAINT) && IS_WORD_CONTEXT (context)) \ || ((constraint & PREV_NEWLINE_CONSTRAINT) && !IS_NEWLINE_CONTEXT (context))\ || ((constraint & PREV_BEGBUF_CONSTRAINT) && !IS_BEGBUF_CONTEXT (context))) #define NOT_SATISFY_NEXT_CONSTRAINT(constraint,context) \ ((((constraint) & NEXT_WORD_CONSTRAINT) && !IS_WORD_CONTEXT (context)) \ || (((constraint) & NEXT_NOTWORD_CONSTRAINT) && IS_WORD_CONTEXT (context)) \ || (((constraint) & NEXT_NEWLINE_CONSTRAINT) && !IS_NEWLINE_CONTEXT (context)) \ || (((constraint) & NEXT_ENDBUF_CONSTRAINT) && !IS_ENDBUF_CONTEXT (context))) struct re_dfastate_t { re_hashval_t hash; re_node_set nodes; re_node_set non_eps_nodes; re_node_set inveclosure; re_node_set *entrance_nodes; struct re_dfastate_t **trtable, **word_trtable; unsigned int context : 4; unsigned int halt : 1; /* If this state can accept `multi byte'. Note that we refer to multibyte characters, and multi character collating elements as `multi byte'. */ unsigned int accept_mb : 1; /* If this state has backreference node(s). */ unsigned int has_backref : 1; unsigned int has_constraint : 1; }; typedef struct re_dfastate_t re_dfastate_t; struct re_state_table_entry { Idx num; Idx alloc; re_dfastate_t **array; }; /* Array type used in re_sub_match_last_t and re_sub_match_top_t. */ typedef struct { Idx next_idx; Idx alloc; re_dfastate_t **array; } state_array_t; /* Store information about the node NODE whose type is OP_CLOSE_SUBEXP. */ typedef struct { Idx node; Idx str_idx; /* The position NODE match at. */ state_array_t path; } re_sub_match_last_t; /* Store information about the node NODE whose type is OP_OPEN_SUBEXP. And information about the node, whose type is OP_CLOSE_SUBEXP, corresponding to NODE is stored in LASTS. */ typedef struct { Idx str_idx; Idx node; state_array_t *path; Idx alasts; /* Allocation size of LASTS. */ Idx nlasts; /* The number of LASTS. */ re_sub_match_last_t **lasts; } re_sub_match_top_t; struct re_backref_cache_entry { Idx node; Idx str_idx; Idx subexp_from; Idx subexp_to; char more; char unused; unsigned short int eps_reachable_subexps_map; }; typedef struct { /* The string object corresponding to the input string. */ re_string_t input; #if defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) const re_dfa_t *const dfa; #else const re_dfa_t *dfa; #endif /* EFLAGS of the argument of regexec. */ int eflags; /* Where the matching ends. */ Idx match_last; Idx last_node; /* The state log used by the matcher. */ re_dfastate_t **state_log; Idx state_log_top; /* Back reference cache. */ Idx nbkref_ents; Idx abkref_ents; struct re_backref_cache_entry *bkref_ents; int max_mb_elem_len; Idx nsub_tops; Idx asub_tops; re_sub_match_top_t **sub_tops; } re_match_context_t; typedef struct { re_dfastate_t **sifted_states; re_dfastate_t **limited_states; Idx last_node; Idx last_str_idx; re_node_set limits; } re_sift_context_t; struct re_fail_stack_ent_t { Idx idx; Idx node; regmatch_t *regs; re_node_set eps_via_nodes; }; struct re_fail_stack_t { Idx num; Idx alloc; struct re_fail_stack_ent_t *stack; }; struct re_dfa_t { re_token_t *nodes; size_t nodes_alloc; size_t nodes_len; Idx *nexts; Idx *org_indices; re_node_set *edests; re_node_set *eclosures; re_node_set *inveclosures; struct re_state_table_entry *state_table; re_dfastate_t *init_state; re_dfastate_t *init_state_word; re_dfastate_t *init_state_nl; re_dfastate_t *init_state_begbuf; bin_tree_t *str_tree; bin_tree_storage_t *str_tree_storage; re_bitset_ptr_t sb_char; int str_tree_storage_idx; /* number of subexpressions `re_nsub' is in regex_t. */ re_hashval_t state_hash_mask; Idx init_node; Idx nbackref; /* The number of backreference in this dfa. */ /* Bitmap expressing which backreference is used. */ bitset_word_t used_bkref_map; bitset_word_t completed_bkref_map; unsigned int has_plural_match : 1; /* If this dfa has "multibyte node", which is a backreference or a node which can accept multibyte character or multi character collating element. */ unsigned int has_mb_node : 1; unsigned int is_utf8 : 1; unsigned int map_notascii : 1; unsigned int word_ops_used : 1; int mb_cur_max; bitset_t word_char; reg_syntax_t syntax; Idx *subexp_map; #ifdef DEBUG char* re_str; #endif #ifdef _LIBC __libc_lock_define (, lock) #endif }; #define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set)) #define re_node_set_remove(set,id) \ (re_node_set_remove_at (set, re_node_set_contains (set, id) - 1)) #define re_node_set_empty(p) ((p)->nelem = 0) #define re_node_set_free(set) re_free ((set)->elems) typedef enum { SB_CHAR, MB_CHAR, EQUIV_CLASS, COLL_SYM, CHAR_CLASS } bracket_elem_type; typedef struct { bracket_elem_type type; union { unsigned char ch; unsigned char *name; wchar_t wch; } opr; } bracket_elem_t; /* Inline functions for bitset_t operation. */ static inline void bitset_set (bitset_t set, Idx i) { set[i / BITSET_WORD_BITS] |= (bitset_word_t) 1 << i % BITSET_WORD_BITS; } static inline void bitset_clear (bitset_t set, Idx i) { set[i / BITSET_WORD_BITS] &= ~ ((bitset_word_t) 1 << i % BITSET_WORD_BITS); } static inline bool bitset_contain (const bitset_t set, Idx i) { return (set[i / BITSET_WORD_BITS] >> i % BITSET_WORD_BITS) & 1; } static inline void bitset_empty (bitset_t set) { memset (set, '\0', sizeof (bitset_t)); } static inline void bitset_set_all (bitset_t set) { memset (set, -1, sizeof (bitset_word_t) * (SBC_MAX / BITSET_WORD_BITS)); if (SBC_MAX % BITSET_WORD_BITS != 0) set[BITSET_WORDS - 1] = ((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1; } static inline void bitset_copy (bitset_t dest, const bitset_t src) { memcpy (dest, src, sizeof (bitset_t)); } static inline void bitset_not (bitset_t set) { int bitset_i; for (bitset_i = 0; bitset_i < SBC_MAX / BITSET_WORD_BITS; ++bitset_i) set[bitset_i] = ~set[bitset_i]; if (SBC_MAX % BITSET_WORD_BITS != 0) set[BITSET_WORDS - 1] = ((((bitset_word_t) 1 << SBC_MAX % BITSET_WORD_BITS) - 1) & ~set[BITSET_WORDS - 1]); } static inline void bitset_merge (bitset_t dest, const bitset_t src) { int bitset_i; for (bitset_i = 0; bitset_i < BITSET_WORDS; ++bitset_i) dest[bitset_i] |= src[bitset_i]; } static inline void bitset_mask (bitset_t dest, const bitset_t src) { int bitset_i; for (bitset_i = 0; bitset_i < BITSET_WORDS; ++bitset_i) dest[bitset_i] &= src[bitset_i]; } #ifdef RE_ENABLE_I18N /* Inline functions for re_string. */ static inline int internal_function __attribute ((pure)) re_string_char_size_at (const re_string_t *pstr, Idx idx) { int byte_idx; if (pstr->mb_cur_max == 1) return 1; for (byte_idx = 1; idx + byte_idx < pstr->valid_len; ++byte_idx) if (pstr->wcs[idx + byte_idx] != WEOF) break; return byte_idx; } static inline wint_t internal_function __attribute ((pure)) re_string_wchar_at (const re_string_t *pstr, Idx idx) { if (pstr->mb_cur_max == 1) return (wint_t) pstr->mbs[idx]; return (wint_t) pstr->wcs[idx]; } static int internal_function __attribute ((pure)) re_string_elem_size_at (const re_string_t *pstr, Idx idx) { # ifdef _LIBC const unsigned char *p, *extra; const int32_t *table, *indirect; int32_t tmp; # include uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) { table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); p = pstr->mbs + idx; tmp = findidx (&p); return p - pstr->mbs - idx; } else # endif /* _LIBC */ return 1; } #endif /* RE_ENABLE_I18N */ #endif /* _REGEX_INTERNAL_H */ dc3dd-7.1.614/lib/xgetcwd.h0000644000175000017500000000137711022023316015021 0ustar amedicoamedico/* prototype for xgetcwd Copyright (C) 1995, 2001, 2003 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ extern char *xgetcwd (void); dc3dd-7.1.614/lib/math.in.h0000644000175000017500000002752511064230667014734 0ustar amedicoamedico/* A GNU-like . Copyright (C) 2002-2003, 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GL_MATH_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_MATH_H@ #ifndef _GL_MATH_H #define _GL_MATH_H /* The definition of GL_LINK_WARNING is copied here. */ #ifdef __cplusplus extern "C" { #endif /* POSIX allows platforms that don't support NAN. But all major machines in the past 15 years have supported something close to IEEE NaN, so we define this unconditionally. We also must define it on platforms like Solaris 10, where NAN is present but defined as a function pointer rather than a floating point constant. */ #if !defined NAN || @REPLACE_NAN@ # undef NAN /* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */ # ifdef __DECC static float _NaN () { static float zero = 0.0f; return zero / zero; } # define NAN (_NaN()) # else # define NAN (0.0f / 0.0f) # endif #endif /* Solaris 10 defines HUGE_VAL, but as a function pointer rather than a floating point constant. */ #if @REPLACE_HUGE_VAL@ # undef HUGE_VAL # define HUGE_VAL (1.0 / 0.0) #endif /* Write x as x = mantissa * 2^exp where If x finite and nonzero: 0.5 <= |mantissa| < 1.0. If x is zero: mantissa = x, exp = 0. If x is infinite or NaN: mantissa = x, exp unspecified. Store exp in *EXPPTR and return mantissa. */ #if @GNULIB_FREXP@ # if @REPLACE_FREXP@ # define frexp rpl_frexp extern double frexp (double x, int *expptr); # endif #elif defined GNULIB_POSIXCHECK # undef frexp # define frexp(x,e) \ (GL_LINK_WARNING ("frexp is unportable - " \ "use gnulib module frexp for portability"), \ frexp (x, e)) #endif #if @GNULIB_MATHL@ || !@HAVE_DECL_ACOSL@ extern long double acosl (long double x); #endif #if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK # undef acosl # define acosl(x) \ (GL_LINK_WARNING ("acosl is unportable - " \ "use gnulib module mathl for portability"), \ acosl (x)) #endif #if @GNULIB_MATHL@ || !@HAVE_DECL_ASINL@ extern long double asinl (long double x); #endif #if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK # undef asinl # define asinl(x) \ (GL_LINK_WARNING ("asinl is unportable - " \ "use gnulib module mathl for portability"), \ asinl (x)) #endif #if @GNULIB_MATHL@ || !@HAVE_DECL_ATANL@ extern long double atanl (long double x); #endif #if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK # undef atanl # define atanl(x) \ (GL_LINK_WARNING ("atanl is unportable - " \ "use gnulib module mathl for portability"), \ atanl (x)) #endif #if @GNULIB_CEILF@ # if @REPLACE_CEILF@ # define ceilf rpl_ceilf extern float ceilf (float x); # endif #elif defined GNULIB_POSIXCHECK # undef ceilf # define ceilf(x) \ (GL_LINK_WARNING ("ceilf is unportable - " \ "use gnulib module ceilf for portability"), \ ceilf (x)) #endif #if @GNULIB_CEILL@ # if @REPLACE_CEILL@ # define ceill rpl_ceill extern long double ceill (long double x); # endif #elif defined GNULIB_POSIXCHECK # undef ceill # define ceill(x) \ (GL_LINK_WARNING ("ceill is unportable - " \ "use gnulib module ceill for portability"), \ ceill (x)) #endif #if @GNULIB_MATHL@ || !@HAVE_DECL_COSL@ extern long double cosl (long double x); #endif #if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK # undef cosl # define cosl(x) \ (GL_LINK_WARNING ("cosl is unportable - " \ "use gnulib module mathl for portability"), \ cosl (x)) #endif #if @GNULIB_MATHL@ || !@HAVE_DECL_EXPL@ extern long double expl (long double x); #endif #if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK # undef expl # define expl(x) \ (GL_LINK_WARNING ("expl is unportable - " \ "use gnulib module mathl for portability"), \ expl (x)) #endif #if @GNULIB_FLOORF@ # if @REPLACE_FLOORF@ # define floorf rpl_floorf extern float floorf (float x); # endif #elif defined GNULIB_POSIXCHECK # undef floorf # define floorf(x) \ (GL_LINK_WARNING ("floorf is unportable - " \ "use gnulib module floorf for portability"), \ floorf (x)) #endif #if @GNULIB_FLOORL@ # if @REPLACE_FLOORL@ # define floorl rpl_floorl extern long double floorl (long double x); # endif #elif defined GNULIB_POSIXCHECK # undef floorl # define floorl(x) \ (GL_LINK_WARNING ("floorl is unportable - " \ "use gnulib module floorl for portability"), \ floorl (x)) #endif /* Write x as x = mantissa * 2^exp where If x finite and nonzero: 0.5 <= |mantissa| < 1.0. If x is zero: mantissa = x, exp = 0. If x is infinite or NaN: mantissa = x, exp unspecified. Store exp in *EXPPTR and return mantissa. */ #if @GNULIB_FREXPL@ && @REPLACE_FREXPL@ # define frexpl rpl_frexpl #endif #if (@GNULIB_FREXPL@ && @REPLACE_FREXPL@) || !@HAVE_DECL_FREXPL@ extern long double frexpl (long double x, int *expptr); #endif #if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK # undef frexpl # define frexpl(x,e) \ (GL_LINK_WARNING ("frexpl is unportable - " \ "use gnulib module frexpl for portability"), \ frexpl (x, e)) #endif /* Return x * 2^exp. */ #if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@ # define ldexpl rpl_ldexpl #endif #if (@GNULIB_LDEXPL@ && @REPLACE_LDEXPL@) || !@HAVE_DECL_LDEXPL@ extern long double ldexpl (long double x, int exp); #endif #if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK # undef ldexpl # define ldexpl(x,e) \ (GL_LINK_WARNING ("ldexpl is unportable - " \ "use gnulib module ldexpl for portability"), \ ldexpl (x, e)) #endif #if @GNULIB_MATHL@ || !@HAVE_DECL_LOGL@ extern long double logl (long double x); #endif #if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK # undef logl # define logl(x) \ (GL_LINK_WARNING ("logl is unportable - " \ "use gnulib module mathl for portability"), \ logl (x)) #endif #if @GNULIB_ROUNDF@ # if @REPLACE_ROUNDF@ # undef roundf # define roundf rpl_roundf extern float roundf (float x); # endif #elif defined GNULIB_POSIXCHECK # undef roundf # define roundf(x) \ (GL_LINK_WARNING ("roundf is unportable - " \ "use gnulib module roundf for portability"), \ roundf (x)) #endif #if @GNULIB_ROUND@ # if @REPLACE_ROUND@ # undef round # define round rpl_round extern double round (double x); # endif #elif defined GNULIB_POSIXCHECK # undef round # define round(x) \ (GL_LINK_WARNING ("round is unportable - " \ "use gnulib module round for portability"), \ round (x)) #endif #if @GNULIB_ROUNDL@ # if @REPLACE_ROUNDL@ # undef roundl # define roundl rpl_roundl extern long double roundl (long double x); # endif #elif defined GNULIB_POSIXCHECK # undef roundl # define roundl(x) \ (GL_LINK_WARNING ("roundl is unportable - " \ "use gnulib module roundl for portability"), \ roundl (x)) #endif #if @GNULIB_MATHL@ || !@HAVE_DECL_SINL@ extern long double sinl (long double x); #endif #if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK # undef sinl # define sinl(x) \ (GL_LINK_WARNING ("sinl is unportable - " \ "use gnulib module mathl for portability"), \ sinl (x)) #endif #if @GNULIB_MATHL@ || !@HAVE_DECL_SQRTL@ extern long double sqrtl (long double x); #endif #if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK # undef sqrtl # define sqrtl(x) \ (GL_LINK_WARNING ("sqrtl is unportable - " \ "use gnulib module mathl for portability"), \ sqrtl (x)) #endif #if @GNULIB_MATHL@ || !@HAVE_DECL_TANL@ extern long double tanl (long double x); #endif #if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK # undef tanl # define tanl(x) \ (GL_LINK_WARNING ("tanl is unportable - " \ "use gnulib module mathl for portability"), \ tanl (x)) #endif #if @GNULIB_TRUNCF@ # if !@HAVE_DECL_TRUNCF@ # define truncf rpl_truncf extern float truncf (float x); # endif #elif defined GNULIB_POSIXCHECK # undef truncf # define truncf(x) \ (GL_LINK_WARNING ("truncf is unportable - " \ "use gnulib module truncf for portability"), \ truncf (x)) #endif #if @GNULIB_TRUNC@ # if !@HAVE_DECL_TRUNC@ # define trunc rpl_trunc extern double trunc (double x); # endif #elif defined GNULIB_POSIXCHECK # undef trunc # define trunc(x) \ (GL_LINK_WARNING ("trunc is unportable - " \ "use gnulib module trunc for portability"), \ trunc (x)) #endif #if @GNULIB_TRUNCL@ # if @REPLACE_TRUNCL@ # undef truncl # define truncl rpl_truncl extern long double truncl (long double x); # endif #elif defined GNULIB_POSIXCHECK # undef truncl # define truncl(x) \ (GL_LINK_WARNING ("truncl is unportable - " \ "use gnulib module truncl for portability"), \ truncl (x)) #endif #if @GNULIB_ISFINITE@ # if @REPLACE_ISFINITE@ extern int gl_isfinitef (float x); extern int gl_isfinited (double x); extern int gl_isfinitel (long double x); # undef isfinite # define isfinite(x) \ (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \ sizeof (x) == sizeof (double) ? gl_isfinited (x) : \ gl_isfinitef (x)) # endif #elif defined GNULIB_POSIXCHECK /* How to override a macro? */ #endif #if @GNULIB_SIGNBIT@ # if @REPLACE_SIGNBIT_USING_GCC@ # undef signbit /* GCC 4.0 and newer provides three built-ins for signbit. */ # define signbit(x) \ (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ __builtin_signbitf (x)) # endif # if @REPLACE_SIGNBIT@ # undef signbit extern int gl_signbitf (float arg); extern int gl_signbitd (double arg); extern int gl_signbitl (long double arg); # if __GNUC__ >= 2 && !__STRICT_ANSI__ # if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT # define gl_signbitf(arg) \ ({ union { float _value; \ unsigned int _word[(sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)]; \ } _m; \ _m._value = (arg); \ (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \ }) # endif # if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT # define gl_signbitd(arg) \ ({ union { double _value; \ unsigned int _word[(sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)]; \ } _m; \ _m._value = (arg); \ (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \ }) # endif # if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT # define gl_signbitl(arg) \ ({ union { long double _value; \ unsigned int _word[(sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)]; \ } _m; \ _m._value = (arg); \ (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \ }) # endif # endif # define signbit(x) \ (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \ sizeof (x) == sizeof (double) ? gl_signbitd (x) : \ gl_signbitf (x)) # endif #elif defined GNULIB_POSIXCHECK /* How to override a macro? */ #endif #ifdef __cplusplus } #endif #endif /* _GL_MATH_H */ #endif /* _GL_MATH_H */ dc3dd-7.1.614/lib/hash-pjw.c0000644000175000017500000000232211022023316015057 0ustar amedicoamedico/* hash-pjw.c -- compute a hash value from a NUL-terminated string. Copyright (C) 2001, 2003, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "hash-pjw.h" #include #define SIZE_BITS (sizeof (size_t) * CHAR_BIT) /* A hash function for NUL-terminated char* strings using the method described by Bruno Haible. See http://www.haible.de/bruno/hashfunc.html. */ size_t hash_pjw (const void *x, size_t tablesize) { const char *s; size_t h = 0; for (s = x; *s; s++) h = *s + ((h << 9) | (h >> (SIZE_BITS - 9))); return h % tablesize; } dc3dd-7.1.614/lib/strnlen.c0000644000175000017500000000243311064230667015045 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Find the length of STRING, but scan at most MAXLEN characters. Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 #include /* Find the length of STRING, but scan at most MAXLEN characters. If no '\0' terminator is found in that many characters, return MAXLEN. */ size_t strnlen (const char *string, size_t maxlen) { const char *end = memchr (string, '\0', maxlen); return end ? (size_t) (end - string) : maxlen; } dc3dd-7.1.614/lib/Makefile.am0000644000175000017500000000172311022023316015232 0ustar amedicoamedico## Makefile for gnulib/lib -*-Makefile-*- # Copyright (C) 1995-2007 Free Software Foundation, Inc. ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . include gnulib.mk AM_CFLAGS = $(WARNING_CFLAGS) $(WERROR_CFLAGS) libcoreutils_a_SOURCES += \ buffer-lcm.c buffer-lcm.h \ xmemxfrm.c xmemxfrm.h libcoreutils_a_LIBADD += $(LIBOBJS) libcoreutils_a_DEPENDENCIES += $(LIBOBJS) dc3dd-7.1.614/lib/getopt1.c0000644000175000017500000000753211022023316014731 0ustar amedicoamedico/* getopt_long and getopt_long_only entry points for GNU getopt. Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98,2004,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifdef _LIBC # include #else # include # include "getopt.h" #endif #include "getopt_int.h" #include /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ #ifdef __GNU_LIBRARY__ #include #endif #ifndef NULL #define NULL 0 #endif int getopt_long (int argc, char *__getopt_argv_const *argv, const char *options, const struct option *long_options, int *opt_index) { return _getopt_internal (argc, (char **) argv, options, long_options, opt_index, 0, 0); } int _getopt_long_r (int argc, char **argv, const char *options, const struct option *long_options, int *opt_index, struct _getopt_data *d) { return _getopt_internal_r (argc, argv, options, long_options, opt_index, 0, 0, d); } /* Like getopt_long, but '-' as well as '--' can indicate a long option. If an option that starts with '-' (not '--') doesn't match a long option, but does match a short option, it is parsed as a short option instead. */ int getopt_long_only (int argc, char *__getopt_argv_const *argv, const char *options, const struct option *long_options, int *opt_index) { return _getopt_internal (argc, (char **) argv, options, long_options, opt_index, 1, 0); } int _getopt_long_only_r (int argc, char **argv, const char *options, const struct option *long_options, int *opt_index, struct _getopt_data *d) { return _getopt_internal_r (argc, argv, options, long_options, opt_index, 1, 0, d); } #ifdef TEST #include int main (int argc, char **argv) { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; int option_index = 0; static struct option long_options[] = { {"add", 1, 0, 0}, {"append", 0, 0, 0}, {"delete", 1, 0, 0}, {"verbose", 0, 0, 0}, {"create", 0, 0, 0}, {"file", 1, 0, 0}, {0, 0, 0, 0} }; c = getopt_long (argc, argv, "abc:d:0123456789", long_options, &option_index); if (c == -1) break; switch (c) { case 0: printf ("option %s", long_options[option_index].name); if (optarg) printf (" with arg %s", optarg); printf ("\n"); break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value `%s'\n", optarg); break; case 'd': printf ("option d with value `%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ dc3dd-7.1.614/lib/isnanl.c0000644000175000017500000000151211022023316014622 0ustar amedicoamedico/* Test for NaN that does not need libm. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2007. */ #define USE_LONG_DOUBLE #include "isnan.c" dc3dd-7.1.614/lib/safe-read.h0000644000175000017500000000214711022023316015177 0ustar amedicoamedico/* An interface to read() that retries after interrupts. Copyright (C) 2002, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifdef __cplusplus extern "C" { #endif #define SAFE_READ_ERROR ((size_t) -1) /* Read up to COUNT bytes at BUF from descriptor FD, retrying if interrupted. Return the actual number of bytes read, zero for EOF, or SAFE_READ_ERROR upon error. */ extern size_t safe_read (int fd, void *buf, size_t count); #ifdef __cplusplus } #endif dc3dd-7.1.614/lib/freadseek.h0000644000175000017500000000255011064230667015316 0ustar amedicoamedico/* Skipping input from a FILE stream. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #ifdef __cplusplus extern "C" { #endif /* Assuming the stream STREAM is open for reading: Read and discard OFFSET bytes from STREAM. freadseek (STREAM, OFFSET) is the same as fseek (STREAM, OFFSET, SEEK_CUR), except that the latter does not work on non-seekable input streams (such as pipes). Upon success, return 0. Upon premature end of stream, return 0 (like fseek does). Upon error, set the error indicator in the stream and return EOF. STREAM must not be wide-character oriented. */ extern int freadseek (FILE *stream, size_t offset); #ifdef __cplusplus } #endif dc3dd-7.1.614/lib/stat-time.h0000644000175000017500000001303711064230667015276 0ustar amedicoamedico/* stat-related time functions. Copyright (C) 2005, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #ifndef STAT_TIME_H #define STAT_TIME_H 1 #include #include /* STAT_TIMESPEC (ST, ST_XTIM) is the ST_XTIM member for *ST of type struct timespec, if available. If not, then STAT_TIMESPEC_NS (ST, ST_XTIM) is the nanosecond component of the ST_XTIM member for *ST, if available. ST_XTIM can be st_atim, st_ctim, st_mtim, or st_birthtim for access, status change, data modification, or birth (creation) time respectively. These macros are private to stat-time.h. */ #if defined HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC # ifdef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC # define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim) # else # define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim.tv_nsec) # endif #elif defined HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC # define STAT_TIMESPEC(st, st_xtim) ((st)->st_xtim##espec) #elif defined HAVE_STRUCT_STAT_ST_ATIMENSEC # define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim##ensec) #elif defined HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC # define STAT_TIMESPEC_NS(st, st_xtim) ((st)->st_xtim.st__tim.tv_nsec) #endif /* Return the nanosecond component of *ST's access time. */ static inline long int get_stat_atime_ns (struct stat const *st) { # if defined STAT_TIMESPEC return STAT_TIMESPEC (st, st_atim).tv_nsec; # elif defined STAT_TIMESPEC_NS return STAT_TIMESPEC_NS (st, st_atim); # else return 0; # endif } /* Return the nanosecond component of *ST's status change time. */ static inline long int get_stat_ctime_ns (struct stat const *st) { # if defined STAT_TIMESPEC return STAT_TIMESPEC (st, st_ctim).tv_nsec; # elif defined STAT_TIMESPEC_NS return STAT_TIMESPEC_NS (st, st_ctim); # else return 0; # endif } /* Return the nanosecond component of *ST's data modification time. */ static inline long int get_stat_mtime_ns (struct stat const *st) { # if defined STAT_TIMESPEC return STAT_TIMESPEC (st, st_mtim).tv_nsec; # elif defined STAT_TIMESPEC_NS return STAT_TIMESPEC_NS (st, st_mtim); # else return 0; # endif } /* Return the nanosecond component of *ST's birth time. */ static inline long int get_stat_birthtime_ns (struct stat const *st) { # if defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC return STAT_TIMESPEC (st, st_birthtim).tv_nsec; # elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC return STAT_TIMESPEC_NS (st, st_birthtim); # else /* Avoid a "parameter unused" warning. */ (void) st; return 0; # endif } /* Return *ST's access time. */ static inline struct timespec get_stat_atime (struct stat const *st) { #ifdef STAT_TIMESPEC return STAT_TIMESPEC (st, st_atim); #else struct timespec t; t.tv_sec = st->st_atime; t.tv_nsec = get_stat_atime_ns (st); return t; #endif } /* Return *ST's status change time. */ static inline struct timespec get_stat_ctime (struct stat const *st) { #ifdef STAT_TIMESPEC return STAT_TIMESPEC (st, st_ctim); #else struct timespec t; t.tv_sec = st->st_ctime; t.tv_nsec = get_stat_ctime_ns (st); return t; #endif } /* Return *ST's data modification time. */ static inline struct timespec get_stat_mtime (struct stat const *st) { #ifdef STAT_TIMESPEC return STAT_TIMESPEC (st, st_mtim); #else struct timespec t; t.tv_sec = st->st_mtime; t.tv_nsec = get_stat_mtime_ns (st); return t; #endif } /* Return *ST's birth time, if available; otherwise return a value with negative tv_nsec. */ static inline struct timespec get_stat_birthtime (struct stat const *st) { struct timespec t; #if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC) t = STAT_TIMESPEC (st, st_birthtim); #elif defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC t.tv_sec = st->st_birthtime; t.tv_nsec = st->st_birthtimensec; #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Woe32 native platforms (but not Cygwin) put the "file creation time" in st_ctime (!). See . */ t.tv_sec = st->st_ctime; t.tv_nsec = 0; #else /* Birth time is not supported. Set tv_sec to avoid undefined behavior. */ t.tv_sec = -1; t.tv_nsec = -1; /* Avoid a "parameter unused" warning. */ (void) st; #endif #if (defined HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC \ || defined HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC) /* FreeBSD and NetBSD sometimes signal the absence of knowledge by using zero. Attempt to work around this problem. Alas, this can report failure even for valid time stamps. Also, NetBSD sometimes returns junk in the birth time fields; work around this bug if it it is detected. There's no need to detect negative tv_nsec junk as negative tv_nsec already indicates an error. */ if (t.tv_sec == 0 || 1000000000 <= t.tv_nsec) t.tv_nsec = -1; #endif return t; } #endif dc3dd-7.1.614/lib/fchmodat.c0000644000175000017500000000366411022023316015135 0ustar amedicoamedico/* Change the protections of file relative to an open directory. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include "openat.h" #include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ #include "save-cwd.h" #include "openat-priv.h" #ifndef HAVE_LCHMOD /* Use a different name, to avoid conflicting with any system-supplied declaration. */ # undef lchmod # define lchmod lchmod_rpl static int lchmod (char const *f, mode_t m) { errno = ENOSYS; return -1; } #endif /* Solaris 10 has no function like this. Invoke chmod or lchmod on file, FILE, using mode MODE, in the directory open on descriptor FD. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then mkdir/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. Note that an attempt to use a FLAG value of AT_SYMLINK_NOFOLLOW on a system without lchmod support causes this function to fail. */ #define AT_FUNC_NAME fchmodat #define AT_FUNC_F1 lchmod #define AT_FUNC_F2 chmod #define AT_FUNC_USE_F1_COND flag == AT_SYMLINK_NOFOLLOW #define AT_FUNC_POST_FILE_PARAM_DECLS , mode_t mode, int flag #define AT_FUNC_POST_FILE_ARGS , mode #include "at-func.c" dc3dd-7.1.614/lib/malloca.h0000644000175000017500000001117611064230667015001 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Safe automatic memory allocation. Copyright (C) 2003-2007 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _MALLOCA_H #define _MALLOCA_H #include #include #include #ifdef __cplusplus extern "C" { #endif /* safe_alloca(N) is equivalent to alloca(N) when it is safe to call alloca(N); otherwise it returns NULL. It either returns N bytes of memory allocated on the stack, that lasts until the function returns, or NULL. Use of safe_alloca should be avoided: - inside arguments of function calls - undefined behaviour, - in inline functions - the allocation may actually last until the calling function returns. */ #if HAVE_ALLOCA /* The OS usually guarantees only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely allocate anything larger than 4096 bytes. Also care for the possibility of a few compiler-allocated temporary stack slots. This must be a macro, not an inline function. */ # define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL) #else # define safe_alloca(N) ((void) (N), NULL) #endif /* malloca(N) is a safe variant of alloca(N). It allocates N bytes of memory allocated on the stack, that must be freed using freea() before the function returns. Upon failure, it returns NULL. */ #if HAVE_ALLOCA # define malloca(N) \ ((N) < 4032 - sa_increment \ ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \ : mmalloca (N)) #else # define malloca(N) \ mmalloca (N) #endif extern void * mmalloca (size_t n); /* Free a block of memory allocated through malloca(). */ #if HAVE_ALLOCA extern void freea (void *p); #else # define freea free #endif /* nmalloca(N,S) is an overflow-safe variant of malloca (N * S). It allocates an array of N objects, each with S bytes of memory, on the stack. S must be positive and N must be nonnegative. The array must be freed using freea() before the function returns. */ #if 1 /* Cf. the definition of xalloc_oversized. */ # define nmalloca(n, s) \ ((n) > (size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) \ ? NULL \ : malloca ((n) * (s))) #else extern void * nmalloca (size_t n, size_t s); #endif #ifdef __cplusplus } #endif /* ------------------- Auxiliary, non-public definitions ------------------- */ /* Determine the alignment of a type at compile time. */ #if defined __GNUC__ # define sa_alignof __alignof__ #elif defined __cplusplus template struct sa_alignof_helper { char __slot1; type __slot2; }; # define sa_alignof(type) offsetof (sa_alignof_helper, __slot2) #elif defined __hpux /* Work around a HP-UX 10.20 cc bug with enums constants defined as offsetof values. */ # define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8) #elif defined _AIX /* Work around an AIX 3.2.5 xlc bug with enums constants defined as offsetof values. */ # define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8) #else # define sa_alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) #endif enum { /* The desired alignment of memory allocations is the maximum alignment among all elementary types. */ sa_alignment_long = sa_alignof (long), sa_alignment_double = sa_alignof (double), #if HAVE_LONG_LONG_INT sa_alignment_longlong = sa_alignof (long long), #endif sa_alignment_longdouble = sa_alignof (long double), sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1) #if HAVE_LONG_LONG_INT | (sa_alignment_longlong - 1) #endif | (sa_alignment_longdouble - 1) ) + 1, /* The increment that guarantees room for a magic word must be >= sizeof (int) and a multiple of sa_alignment_max. */ sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max }; #endif /* _MALLOCA_H */ dc3dd-7.1.614/lib/getdate.y0000644000175000017500000011703211022023316015006 0ustar amedicoamedico%{ /* Parse a string into an internal time stamp. Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Originally written by Steven M. Bellovin while at the University of North Carolina at Chapel Hill. Later tweaked by a couple of people on Usenet. Completely overhauled by Rich $alz and Jim Berets in August, 1990. Modified by Paul Eggert in August 1999 to do the right thing about local DST. Also modified by Paul Eggert in February 2004 to support nanosecond-resolution time stamps, and in October 2004 to support TZ strings in dates. */ /* FIXME: Check for arithmetic overflow in all cases, not just some of them. */ #include #include "getdate.h" #include "intprops.h" #include "timespec.h" #include "verify.h" /* There's no need to extend the stack, so there's no need to involve alloca. */ #define YYSTACK_USE_ALLOCA 0 /* Tell Bison how much stack space is needed. 20 should be plenty for this grammar, which is not right recursive. Beware setting it too high, since that might cause problems on machines whose implementations have lame stack-overflow checking. */ #define YYMAXDEPTH 20 #define YYINITDEPTH YYMAXDEPTH /* Since the code of getdate.y is not included in the Emacs executable itself, there is no need to #define static in this file. Even if the code were included in the Emacs executable, it probably wouldn't do any harm to #undef it here; this will only cause problems if we try to write to a static variable, which I don't think this code needs to do. */ #ifdef emacs # undef static #endif #include #include #include #include #include #include "xalloc.h" /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of `digit' even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__ # define __attribute__(x) # endif #endif #ifndef ATTRIBUTE_UNUSED # define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) #endif /* Shift A right by B bits portably, by dividing A by 2**B and truncating towards minus infinity. A and B should be free of side effects, and B should be in the range 0 <= B <= INT_BITS - 2, where INT_BITS is the number of useful bits in an int. GNU code can assume that INT_BITS is at least 32. ISO C99 says that A >> B is implementation-defined if A < 0. Some implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift right in the usual way when A < 0, so SHR falls back on division if ordinary A >> B doesn't seem to be the usual signed shift. */ #define SHR(a, b) \ (-1 >> 1 == -1 \ ? (a) >> (b) \ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) #define EPOCH_YEAR 1970 #define TM_YEAR_BASE 1900 #define HOUR(x) ((x) * 60) /* Lots of this code assumes time_t and time_t-like values fit into long int. It also assumes that signed integer overflow silently wraps around, but there's no portable way to check for that at compile-time. */ verify (TYPE_IS_INTEGER (time_t)); verify (LONG_MIN <= TYPE_MINIMUM (time_t) && TYPE_MAXIMUM (time_t) <= LONG_MAX); /* An integer value, and the number of digits in its textual representation. */ typedef struct { bool negative; long int value; size_t digits; } textint; /* An entry in the lexical lookup table. */ typedef struct { char const *name; int type; int value; } table; /* Meridian: am, pm, or 24-hour style. */ enum { MERam, MERpm, MER24 }; enum { BILLION = 1000000000, LOG10_BILLION = 9 }; /* Relative times. */ typedef struct { /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */ long int year; long int month; long int day; long int hour; long int minutes; long int seconds; long int ns; } relative_time; #if HAVE_COMPOUND_LITERALS # define RELATIVE_TIME_0 ((relative_time) { 0, 0, 0, 0, 0, 0, 0 }) #else static relative_time const RELATIVE_TIME_0; #endif /* Information passed to and from the parser. */ typedef struct { /* The input string remaining to be parsed. */ const char *input; /* N, if this is the Nth Tuesday. */ long int day_ordinal; /* Day of week; Sunday is 0. */ int day_number; /* tm_isdst flag for the local zone. */ int local_isdst; /* Time zone, in minutes east of UTC. */ long int time_zone; /* Style used for time. */ int meridian; /* Gregorian year, month, day, hour, minutes, seconds, and nanoseconds. */ textint year; long int month; long int day; long int hour; long int minutes; struct timespec seconds; /* includes nanoseconds */ /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */ relative_time rel; /* Presence or counts of nonterminals of various flavors parsed so far. */ bool timespec_seen; bool rels_seen; size_t dates_seen; size_t days_seen; size_t local_zones_seen; size_t dsts_seen; size_t times_seen; size_t zones_seen; /* Table of local time zone abbrevations, terminated by a null entry. */ table local_time_zone_table[3]; } parser_control; union YYSTYPE; static int yylex (union YYSTYPE *, parser_control *); static int yyerror (parser_control const *, char const *); static long int time_zone_hhmm (textint, long int); /* Extract into *PC any date and time info from a string of digits of the form e.g., YYYYMMDD, YYMMDD, HHMM, HH (and sometimes YYY, YYYY, ...). */ static void digits_to_date_time (parser_control *pc, textint text_int) { if (pc->dates_seen && ! pc->year.digits && ! pc->rels_seen && (pc->times_seen || 2 < text_int.digits)) pc->year = text_int; else { if (4 < text_int.digits) { pc->dates_seen++; pc->day = text_int.value % 100; pc->month = (text_int.value / 100) % 100; pc->year.value = text_int.value / 10000; pc->year.digits = text_int.digits - 4; } else { pc->times_seen++; if (text_int.digits <= 2) { pc->hour = text_int.value; pc->minutes = 0; } else { pc->hour = text_int.value / 100; pc->minutes = text_int.value % 100; } pc->seconds.tv_sec = 0; pc->seconds.tv_nsec = 0; pc->meridian = MER24; } } } %} /* We want a reentrant parser, even if the TZ manipulation and the calls to localtime and gmtime are not reentrant. */ %pure-parser %parse-param { parser_control *pc } %lex-param { parser_control *pc } /* This grammar has 20 shift/reduce conflicts. */ %expect 20 %union { long int intval; textint textintval; struct timespec timespec; relative_time rel; } %token tAGO tDST %token tYEAR_UNIT tMONTH_UNIT tHOUR_UNIT tMINUTE_UNIT tSEC_UNIT %token tDAY_UNIT %token tDAY tDAYZONE tLOCAL_ZONE tMERIDIAN %token tMONTH tORDINAL tZONE %token tSNUMBER tUNUMBER %token tSDECIMAL_NUMBER tUDECIMAL_NUMBER %type o_colon_minutes o_merid %type seconds signed_seconds unsigned_seconds %type relunit relunit_snumber %% spec: timespec | items ; timespec: '@' seconds { pc->seconds = $2; pc->timespec_seen = true; } ; items: /* empty */ | items item ; item: time { pc->times_seen++; } | local_zone { pc->local_zones_seen++; } | zone { pc->zones_seen++; } | date { pc->dates_seen++; } | day { pc->days_seen++; } | rel { pc->rels_seen = true; } | number | hybrid ; time: tUNUMBER tMERIDIAN { pc->hour = $1.value; pc->minutes = 0; pc->seconds.tv_sec = 0; pc->seconds.tv_nsec = 0; pc->meridian = $2; } | tUNUMBER ':' tUNUMBER o_merid { pc->hour = $1.value; pc->minutes = $3.value; pc->seconds.tv_sec = 0; pc->seconds.tv_nsec = 0; pc->meridian = $4; } | tUNUMBER ':' tUNUMBER tSNUMBER o_colon_minutes { pc->hour = $1.value; pc->minutes = $3.value; pc->seconds.tv_sec = 0; pc->seconds.tv_nsec = 0; pc->meridian = MER24; pc->zones_seen++; pc->time_zone = time_zone_hhmm ($4, $5); } | tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_merid { pc->hour = $1.value; pc->minutes = $3.value; pc->seconds = $5; pc->meridian = $6; } | tUNUMBER ':' tUNUMBER ':' unsigned_seconds tSNUMBER o_colon_minutes { pc->hour = $1.value; pc->minutes = $3.value; pc->seconds = $5; pc->meridian = MER24; pc->zones_seen++; pc->time_zone = time_zone_hhmm ($6, $7); } ; local_zone: tLOCAL_ZONE { pc->local_isdst = $1; pc->dsts_seen += (0 < $1); } | tLOCAL_ZONE tDST { pc->local_isdst = 1; pc->dsts_seen += (0 < $1) + 1; } ; zone: tZONE { pc->time_zone = $1; } | tZONE relunit_snumber { pc->time_zone = $1; pc->rel.ns += $2.ns; pc->rel.seconds += $2.seconds; pc->rel.minutes += $2.minutes; pc->rel.hour += $2.hour; pc->rel.day += $2.day; pc->rel.month += $2.month; pc->rel.year += $2.year; pc->rels_seen = true; } | tZONE tSNUMBER o_colon_minutes { pc->time_zone = $1 + time_zone_hhmm ($2, $3); } | tDAYZONE { pc->time_zone = $1 + 60; } | tZONE tDST { pc->time_zone = $1 + 60; } ; day: tDAY { pc->day_ordinal = 1; pc->day_number = $1; } | tDAY ',' { pc->day_ordinal = 1; pc->day_number = $1; } | tORDINAL tDAY { pc->day_ordinal = $1; pc->day_number = $2; } | tUNUMBER tDAY { pc->day_ordinal = $1.value; pc->day_number = $2; } ; date: tUNUMBER '/' tUNUMBER { pc->month = $1.value; pc->day = $3.value; } | tUNUMBER '/' tUNUMBER '/' tUNUMBER { /* Interpret as YYYY/MM/DD if the first value has 4 or more digits, otherwise as MM/DD/YY. The goal in recognizing YYYY/MM/DD is solely to support legacy machine-generated dates like those in an RCS log listing. If you want portability, use the ISO 8601 format. */ if (4 <= $1.digits) { pc->year = $1; pc->month = $3.value; pc->day = $5.value; } else { pc->month = $1.value; pc->day = $3.value; pc->year = $5; } } | tUNUMBER tSNUMBER tSNUMBER { /* ISO 8601 format. YYYY-MM-DD. */ pc->year = $1; pc->month = -$2.value; pc->day = -$3.value; } | tUNUMBER tMONTH tSNUMBER { /* e.g. 17-JUN-1992. */ pc->day = $1.value; pc->month = $2; pc->year.value = -$3.value; pc->year.digits = $3.digits; } | tMONTH tSNUMBER tSNUMBER { /* e.g. JUN-17-1992. */ pc->month = $1; pc->day = -$2.value; pc->year.value = -$3.value; pc->year.digits = $3.digits; } | tMONTH tUNUMBER { pc->month = $1; pc->day = $2.value; } | tMONTH tUNUMBER ',' tUNUMBER { pc->month = $1; pc->day = $2.value; pc->year = $4; } | tUNUMBER tMONTH { pc->day = $1.value; pc->month = $2; } | tUNUMBER tMONTH tUNUMBER { pc->day = $1.value; pc->month = $2; pc->year = $3; } ; rel: relunit tAGO { pc->rel.ns -= $1.ns; pc->rel.seconds -= $1.seconds; pc->rel.minutes -= $1.minutes; pc->rel.hour -= $1.hour; pc->rel.day -= $1.day; pc->rel.month -= $1.month; pc->rel.year -= $1.year; } | relunit { pc->rel.ns += $1.ns; pc->rel.seconds += $1.seconds; pc->rel.minutes += $1.minutes; pc->rel.hour += $1.hour; pc->rel.day += $1.day; pc->rel.month += $1.month; pc->rel.year += $1.year; } ; relunit: tORDINAL tYEAR_UNIT { $$ = RELATIVE_TIME_0; $$.year = $1; } | tUNUMBER tYEAR_UNIT { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | tYEAR_UNIT { $$ = RELATIVE_TIME_0; $$.year = 1; } | tORDINAL tMONTH_UNIT { $$ = RELATIVE_TIME_0; $$.month = $1; } | tUNUMBER tMONTH_UNIT { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | tMONTH_UNIT { $$ = RELATIVE_TIME_0; $$.month = 1; } | tORDINAL tDAY_UNIT { $$ = RELATIVE_TIME_0; $$.day = $1 * $2; } | tUNUMBER tDAY_UNIT { $$ = RELATIVE_TIME_0; $$.day = $1.value * $2; } | tDAY_UNIT { $$ = RELATIVE_TIME_0; $$.day = $1; } | tORDINAL tHOUR_UNIT { $$ = RELATIVE_TIME_0; $$.hour = $1; } | tUNUMBER tHOUR_UNIT { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | tHOUR_UNIT { $$ = RELATIVE_TIME_0; $$.hour = 1; } | tORDINAL tMINUTE_UNIT { $$ = RELATIVE_TIME_0; $$.minutes = $1; } | tUNUMBER tMINUTE_UNIT { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | tMINUTE_UNIT { $$ = RELATIVE_TIME_0; $$.minutes = 1; } | tORDINAL tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = $1; } | tUNUMBER tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } | tSDECIMAL_NUMBER tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | tUDECIMAL_NUMBER tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = $1.tv_sec; $$.ns = $1.tv_nsec; } | tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = 1; } | relunit_snumber ; relunit_snumber: tSNUMBER tYEAR_UNIT { $$ = RELATIVE_TIME_0; $$.year = $1.value; } | tSNUMBER tMONTH_UNIT { $$ = RELATIVE_TIME_0; $$.month = $1.value; } | tSNUMBER tDAY_UNIT { $$ = RELATIVE_TIME_0; $$.day = $1.value * $2; } | tSNUMBER tHOUR_UNIT { $$ = RELATIVE_TIME_0; $$.hour = $1.value; } | tSNUMBER tMINUTE_UNIT { $$ = RELATIVE_TIME_0; $$.minutes = $1.value; } | tSNUMBER tSEC_UNIT { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } ; seconds: signed_seconds | unsigned_seconds; signed_seconds: tSDECIMAL_NUMBER | tSNUMBER { $$.tv_sec = $1.value; $$.tv_nsec = 0; } ; unsigned_seconds: tUDECIMAL_NUMBER | tUNUMBER { $$.tv_sec = $1.value; $$.tv_nsec = 0; } ; number: tUNUMBER { digits_to_date_time (pc, $1); } ; hybrid: tUNUMBER relunit_snumber { /* Hybrid all-digit and relative offset, so that we accept e.g., "YYYYMMDD +N days" as well as "YYYYMMDD N days". */ digits_to_date_time (pc, $1); pc->rel.ns += $2.ns; pc->rel.seconds += $2.seconds; pc->rel.minutes += $2.minutes; pc->rel.hour += $2.hour; pc->rel.day += $2.day; pc->rel.month += $2.month; pc->rel.year += $2.year; pc->rels_seen = true; } ; o_colon_minutes: /* empty */ { $$ = -1; } | ':' tUNUMBER { $$ = $2.value; } ; o_merid: /* empty */ { $$ = MER24; } | tMERIDIAN { $$ = $1; } ; %% static table const meridian_table[] = { { "AM", tMERIDIAN, MERam }, { "A.M.", tMERIDIAN, MERam }, { "PM", tMERIDIAN, MERpm }, { "P.M.", tMERIDIAN, MERpm }, { NULL, 0, 0 } }; static table const dst_table[] = { { "DST", tDST, 0 } }; static table const month_and_day_table[] = { { "JANUARY", tMONTH, 1 }, { "FEBRUARY", tMONTH, 2 }, { "MARCH", tMONTH, 3 }, { "APRIL", tMONTH, 4 }, { "MAY", tMONTH, 5 }, { "JUNE", tMONTH, 6 }, { "JULY", tMONTH, 7 }, { "AUGUST", tMONTH, 8 }, { "SEPTEMBER",tMONTH, 9 }, { "SEPT", tMONTH, 9 }, { "OCTOBER", tMONTH, 10 }, { "NOVEMBER", tMONTH, 11 }, { "DECEMBER", tMONTH, 12 }, { "SUNDAY", tDAY, 0 }, { "MONDAY", tDAY, 1 }, { "TUESDAY", tDAY, 2 }, { "TUES", tDAY, 2 }, { "WEDNESDAY",tDAY, 3 }, { "WEDNES", tDAY, 3 }, { "THURSDAY", tDAY, 4 }, { "THUR", tDAY, 4 }, { "THURS", tDAY, 4 }, { "FRIDAY", tDAY, 5 }, { "SATURDAY", tDAY, 6 }, { NULL, 0, 0 } }; static table const time_units_table[] = { { "YEAR", tYEAR_UNIT, 1 }, { "MONTH", tMONTH_UNIT, 1 }, { "FORTNIGHT",tDAY_UNIT, 14 }, { "WEEK", tDAY_UNIT, 7 }, { "DAY", tDAY_UNIT, 1 }, { "HOUR", tHOUR_UNIT, 1 }, { "MINUTE", tMINUTE_UNIT, 1 }, { "MIN", tMINUTE_UNIT, 1 }, { "SECOND", tSEC_UNIT, 1 }, { "SEC", tSEC_UNIT, 1 }, { NULL, 0, 0 } }; /* Assorted relative-time words. */ static table const relative_time_table[] = { { "TOMORROW", tDAY_UNIT, 1 }, { "YESTERDAY",tDAY_UNIT, -1 }, { "TODAY", tDAY_UNIT, 0 }, { "NOW", tDAY_UNIT, 0 }, { "LAST", tORDINAL, -1 }, { "THIS", tORDINAL, 0 }, { "NEXT", tORDINAL, 1 }, { "FIRST", tORDINAL, 1 }, /*{ "SECOND", tORDINAL, 2 }, */ { "THIRD", tORDINAL, 3 }, { "FOURTH", tORDINAL, 4 }, { "FIFTH", tORDINAL, 5 }, { "SIXTH", tORDINAL, 6 }, { "SEVENTH", tORDINAL, 7 }, { "EIGHTH", tORDINAL, 8 }, { "NINTH", tORDINAL, 9 }, { "TENTH", tORDINAL, 10 }, { "ELEVENTH", tORDINAL, 11 }, { "TWELFTH", tORDINAL, 12 }, { "AGO", tAGO, 1 }, { NULL, 0, 0 } }; /* The universal time zone table. These labels can be used even for time stamps that would not otherwise be valid, e.g., GMT time stamps in London during summer. */ static table const universal_time_zone_table[] = { { "GMT", tZONE, HOUR ( 0) }, /* Greenwich Mean */ { "UT", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */ { "UTC", tZONE, HOUR ( 0) }, { NULL, 0, 0 } }; /* The time zone table. This table is necessarily incomplete, as time zone abbreviations are ambiguous; e.g. Australians interpret "EST" as Eastern time in Australia, not as US Eastern Standard Time. You cannot rely on getdate to handle arbitrary time zone abbreviations; use numeric abbreviations like `-0500' instead. */ static table const time_zone_table[] = { { "WET", tZONE, HOUR ( 0) }, /* Western European */ { "WEST", tDAYZONE, HOUR ( 0) }, /* Western European Summer */ { "BST", tDAYZONE, HOUR ( 0) }, /* British Summer */ { "ART", tZONE, -HOUR ( 3) }, /* Argentina */ { "BRT", tZONE, -HOUR ( 3) }, /* Brazil */ { "BRST", tDAYZONE, -HOUR ( 3) }, /* Brazil Summer */ { "NST", tZONE, -(HOUR ( 3) + 30) }, /* Newfoundland Standard */ { "NDT", tDAYZONE,-(HOUR ( 3) + 30) }, /* Newfoundland Daylight */ { "AST", tZONE, -HOUR ( 4) }, /* Atlantic Standard */ { "ADT", tDAYZONE, -HOUR ( 4) }, /* Atlantic Daylight */ { "CLT", tZONE, -HOUR ( 4) }, /* Chile */ { "CLST", tDAYZONE, -HOUR ( 4) }, /* Chile Summer */ { "EST", tZONE, -HOUR ( 5) }, /* Eastern Standard */ { "EDT", tDAYZONE, -HOUR ( 5) }, /* Eastern Daylight */ { "CST", tZONE, -HOUR ( 6) }, /* Central Standard */ { "CDT", tDAYZONE, -HOUR ( 6) }, /* Central Daylight */ { "MST", tZONE, -HOUR ( 7) }, /* Mountain Standard */ { "MDT", tDAYZONE, -HOUR ( 7) }, /* Mountain Daylight */ { "PST", tZONE, -HOUR ( 8) }, /* Pacific Standard */ { "PDT", tDAYZONE, -HOUR ( 8) }, /* Pacific Daylight */ { "AKST", tZONE, -HOUR ( 9) }, /* Alaska Standard */ { "AKDT", tDAYZONE, -HOUR ( 9) }, /* Alaska Daylight */ { "HST", tZONE, -HOUR (10) }, /* Hawaii Standard */ { "HAST", tZONE, -HOUR (10) }, /* Hawaii-Aleutian Standard */ { "HADT", tDAYZONE, -HOUR (10) }, /* Hawaii-Aleutian Daylight */ { "SST", tZONE, -HOUR (12) }, /* Samoa Standard */ { "WAT", tZONE, HOUR ( 1) }, /* West Africa */ { "CET", tZONE, HOUR ( 1) }, /* Central European */ { "CEST", tDAYZONE, HOUR ( 1) }, /* Central European Summer */ { "MET", tZONE, HOUR ( 1) }, /* Middle European */ { "MEZ", tZONE, HOUR ( 1) }, /* Middle European */ { "MEST", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */ { "MESZ", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */ { "EET", tZONE, HOUR ( 2) }, /* Eastern European */ { "EEST", tDAYZONE, HOUR ( 2) }, /* Eastern European Summer */ { "CAT", tZONE, HOUR ( 2) }, /* Central Africa */ { "SAST", tZONE, HOUR ( 2) }, /* South Africa Standard */ { "EAT", tZONE, HOUR ( 3) }, /* East Africa */ { "MSK", tZONE, HOUR ( 3) }, /* Moscow */ { "MSD", tDAYZONE, HOUR ( 3) }, /* Moscow Daylight */ { "IST", tZONE, (HOUR ( 5) + 30) }, /* India Standard */ { "SGT", tZONE, HOUR ( 8) }, /* Singapore */ { "KST", tZONE, HOUR ( 9) }, /* Korea Standard */ { "JST", tZONE, HOUR ( 9) }, /* Japan Standard */ { "GST", tZONE, HOUR (10) }, /* Guam Standard */ { "NZST", tZONE, HOUR (12) }, /* New Zealand Standard */ { "NZDT", tDAYZONE, HOUR (12) }, /* New Zealand Daylight */ { NULL, 0, 0 } }; /* Military time zone table. */ static table const military_table[] = { { "A", tZONE, -HOUR ( 1) }, { "B", tZONE, -HOUR ( 2) }, { "C", tZONE, -HOUR ( 3) }, { "D", tZONE, -HOUR ( 4) }, { "E", tZONE, -HOUR ( 5) }, { "F", tZONE, -HOUR ( 6) }, { "G", tZONE, -HOUR ( 7) }, { "H", tZONE, -HOUR ( 8) }, { "I", tZONE, -HOUR ( 9) }, { "K", tZONE, -HOUR (10) }, { "L", tZONE, -HOUR (11) }, { "M", tZONE, -HOUR (12) }, { "N", tZONE, HOUR ( 1) }, { "O", tZONE, HOUR ( 2) }, { "P", tZONE, HOUR ( 3) }, { "Q", tZONE, HOUR ( 4) }, { "R", tZONE, HOUR ( 5) }, { "S", tZONE, HOUR ( 6) }, { "T", tZONE, HOUR ( 7) }, { "U", tZONE, HOUR ( 8) }, { "V", tZONE, HOUR ( 9) }, { "W", tZONE, HOUR (10) }, { "X", tZONE, HOUR (11) }, { "Y", tZONE, HOUR (12) }, { "Z", tZONE, HOUR ( 0) }, { NULL, 0, 0 } }; /* Convert a time zone expressed as HH:MM into an integer count of minutes. If MM is negative, then S is of the form HHMM and needs to be picked apart; otherwise, S is of the form HH. */ static long int time_zone_hhmm (textint s, long int mm) { if (mm < 0) return (s.value / 100) * 60 + s.value % 100; else return s.value * 60 + (s.negative ? -mm : mm); } static int to_hour (long int hours, int meridian) { switch (meridian) { default: /* Pacify GCC. */ case MER24: return 0 <= hours && hours < 24 ? hours : -1; case MERam: return 0 < hours && hours < 12 ? hours : hours == 12 ? 0 : -1; case MERpm: return 0 < hours && hours < 12 ? hours + 12 : hours == 12 ? 12 : -1; } } static long int to_year (textint textyear) { long int year = textyear.value; if (year < 0) year = -year; /* XPG4 suggests that years 00-68 map to 2000-2068, and years 69-99 map to 1969-1999. */ else if (textyear.digits == 2) year += year < 69 ? 2000 : 1900; return year; } static table const * lookup_zone (parser_control const *pc, char const *name) { table const *tp; for (tp = universal_time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; /* Try local zone abbreviations before those in time_zone_table, as the local ones are more likely to be right. */ for (tp = pc->local_time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; for (tp = time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; return NULL; } #if ! HAVE_TM_GMTOFF /* Yield the difference between *A and *B, measured in seconds, ignoring leap seconds. The body of this function is taken directly from the GNU C Library; see src/strftime.c. */ static long int tm_diff (struct tm const *a, struct tm const *b) { /* Compute intervening leap days correctly even if year is negative. Take care to avoid int overflow in leap day calculations. */ int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3); int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3); int a100 = a4 / 25 - (a4 % 25 < 0); int b100 = b4 / 25 - (b4 % 25 < 0); int a400 = SHR (a100, 2); int b400 = SHR (b100, 2); int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); long int ayear = a->tm_year; long int years = ayear - b->tm_year; long int days = (365 * years + intervening_leap_days + (a->tm_yday - b->tm_yday)); return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) + (a->tm_min - b->tm_min)) + (a->tm_sec - b->tm_sec)); } #endif /* ! HAVE_TM_GMTOFF */ static table const * lookup_word (parser_control const *pc, char *word) { char *p; char *q; size_t wordlen; table const *tp; bool period_found; bool abbrev; /* Make it uppercase. */ for (p = word; *p; p++) { unsigned char ch = *p; *p = toupper (ch); } for (tp = meridian_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* See if we have an abbreviation for a month. */ wordlen = strlen (word); abbrev = wordlen == 3 || (wordlen == 4 && word[3] == '.'); for (tp = month_and_day_table; tp->name; tp++) if ((abbrev ? strncmp (word, tp->name, 3) : strcmp (word, tp->name)) == 0) return tp; if ((tp = lookup_zone (pc, word))) return tp; if (strcmp (word, dst_table[0].name) == 0) return dst_table; for (tp = time_units_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* Strip off any plural and try the units table again. */ if (word[wordlen - 1] == 'S') { word[wordlen - 1] = '\0'; for (tp = time_units_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; word[wordlen - 1] = 'S'; /* For "this" in relative_time_table. */ } for (tp = relative_time_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* Military time zones. */ if (wordlen == 1) for (tp = military_table; tp->name; tp++) if (word[0] == tp->name[0]) return tp; /* Drop out any periods and try the time zone table again. */ for (period_found = false, p = q = word; (*p = *q); q++) if (*q == '.') period_found = true; else p++; if (period_found && (tp = lookup_zone (pc, word))) return tp; return NULL; } static int yylex (YYSTYPE *lvalp, parser_control *pc) { unsigned char c; size_t count; for (;;) { while (c = *pc->input, isspace (c)) pc->input++; if (ISDIGIT (c) || c == '-' || c == '+') { char const *p; int sign; unsigned long int value; if (c == '-' || c == '+') { sign = c == '-' ? -1 : 1; while (c = *++pc->input, isspace (c)) continue; if (! ISDIGIT (c)) /* skip the '-' sign */ continue; } else sign = 0; p = pc->input; for (value = 0; ; value *= 10) { unsigned long int value1 = value + (c - '0'); if (value1 < value) return '?'; value = value1; c = *++p; if (! ISDIGIT (c)) break; if (ULONG_MAX / 10 < value) return '?'; } if ((c == '.' || c == ',') && ISDIGIT (p[1])) { time_t s; int ns; int digits; unsigned long int value1; /* Check for overflow when converting value to time_t. */ if (sign < 0) { s = - value; if (0 < s) return '?'; value1 = -s; } else { s = value; if (s < 0) return '?'; value1 = s; } if (value != value1) return '?'; /* Accumulate fraction, to ns precision. */ p++; ns = *p++ - '0'; for (digits = 2; digits <= LOG10_BILLION; digits++) { ns *= 10; if (ISDIGIT (*p)) ns += *p++ - '0'; } /* Skip excess digits, truncating toward -Infinity. */ if (sign < 0) for (; ISDIGIT (*p); p++) if (*p != '0') { ns++; break; } while (ISDIGIT (*p)) p++; /* Adjust to the timespec convention, which is that tv_nsec is always a positive offset even if tv_sec is negative. */ if (sign < 0 && ns) { s--; if (! (s < 0)) return '?'; ns = BILLION - ns; } lvalp->timespec.tv_sec = s; lvalp->timespec.tv_nsec = ns; pc->input = p; return sign ? tSDECIMAL_NUMBER : tUDECIMAL_NUMBER; } else { lvalp->textintval.negative = sign < 0; if (sign < 0) { lvalp->textintval.value = - value; if (0 < lvalp->textintval.value) return '?'; } else { lvalp->textintval.value = value; if (lvalp->textintval.value < 0) return '?'; } lvalp->textintval.digits = p - pc->input; pc->input = p; return sign ? tSNUMBER : tUNUMBER; } } if (isalpha (c)) { char buff[20]; char *p = buff; table const *tp; do { if (p < buff + sizeof buff - 1) *p++ = c; c = *++pc->input; } while (isalpha (c) || c == '.'); *p = '\0'; tp = lookup_word (pc, buff); if (! tp) return '?'; lvalp->intval = tp->value; return tp->type; } if (c != '(') return *pc->input++; count = 0; do { c = *pc->input++; if (c == '\0') return c; if (c == '(') count++; else if (c == ')') count--; } while (count != 0); } } /* Do nothing if the parser reports an error. */ static int yyerror (parser_control const *pc ATTRIBUTE_UNUSED, char const *s ATTRIBUTE_UNUSED) { return 0; } /* If *TM0 is the old and *TM1 is the new value of a struct tm after passing it to mktime, return true if it's OK that mktime returned T. It's not OK if *TM0 has out-of-range members. */ static bool mktime_ok (struct tm const *tm0, struct tm const *tm1, time_t t) { if (t == (time_t) -1) { /* Guard against falsely reporting an error when parsing a time stamp that happens to equal (time_t) -1, on a host that supports such a time stamp. */ tm1 = localtime (&t); if (!tm1) return false; } return ! ((tm0->tm_sec ^ tm1->tm_sec) | (tm0->tm_min ^ tm1->tm_min) | (tm0->tm_hour ^ tm1->tm_hour) | (tm0->tm_mday ^ tm1->tm_mday) | (tm0->tm_mon ^ tm1->tm_mon) | (tm0->tm_year ^ tm1->tm_year)); } /* A reasonable upper bound for the size of ordinary TZ strings. Use heap allocation if TZ's length exceeds this. */ enum { TZBUFSIZE = 100 }; /* Return a copy of TZ, stored in TZBUF if it fits, and heap-allocated otherwise. */ static char * get_tz (char tzbuf[TZBUFSIZE]) { char *tz = getenv ("TZ"); if (tz) { size_t tzsize = strlen (tz) + 1; tz = (tzsize <= TZBUFSIZE ? memcpy (tzbuf, tz, tzsize) : xmemdup (tz, tzsize)); } return tz; } /* Parse a date/time string, storing the resulting time value into *RESULT. The string itself is pointed to by P. Return true if successful. P can be an incomplete or relative time specification; if so, use *NOW as the basis for the returned time. */ bool get_date (struct timespec *result, char const *p, struct timespec const *now) { time_t Start; long int Start_ns; struct tm const *tmp; struct tm tm; struct tm tm0; parser_control pc; struct timespec gettime_buffer; unsigned char c; bool tz_was_altered = false; char *tz0 = NULL; char tz0buf[TZBUFSIZE]; bool ok = true; if (! now) { gettime (&gettime_buffer); now = &gettime_buffer; } Start = now->tv_sec; Start_ns = now->tv_nsec; tmp = localtime (&now->tv_sec); if (! tmp) return false; while (c = *p, isspace (c)) p++; if (strncmp (p, "TZ=\"", 4) == 0) { char const *tzbase = p + 4; size_t tzsize = 1; char const *s; for (s = tzbase; *s; s++, tzsize++) if (*s == '\\') { s++; if (! (*s == '\\' || *s == '"')) break; } else if (*s == '"') { char *z; char *tz1; char tz1buf[TZBUFSIZE]; bool large_tz = TZBUFSIZE < tzsize; bool setenv_ok; tz0 = get_tz (tz0buf); z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf; for (s = tzbase; *s != '"'; s++) *z++ = *(s += *s == '\\'); *z = '\0'; setenv_ok = setenv ("TZ", tz1, 1) == 0; if (large_tz) free (tz1); if (!setenv_ok) goto fail; tz_was_altered = true; p = s + 1; } } /* As documented, be careful to treat the empty string just like a date string of "0". Without this, an empty string would be declared invalid when parsed during a DST transition. */ if (*p == '\0') p = "0"; pc.input = p; pc.year.value = tmp->tm_year; pc.year.value += TM_YEAR_BASE; pc.year.digits = 0; pc.month = tmp->tm_mon + 1; pc.day = tmp->tm_mday; pc.hour = tmp->tm_hour; pc.minutes = tmp->tm_min; pc.seconds.tv_sec = tmp->tm_sec; pc.seconds.tv_nsec = Start_ns; tm.tm_isdst = tmp->tm_isdst; pc.meridian = MER24; pc.rel = RELATIVE_TIME_0; pc.timespec_seen = false; pc.rels_seen = false; pc.dates_seen = 0; pc.days_seen = 0; pc.times_seen = 0; pc.local_zones_seen = 0; pc.dsts_seen = 0; pc.zones_seen = 0; #if HAVE_STRUCT_TM_TM_ZONE pc.local_time_zone_table[0].name = tmp->tm_zone; pc.local_time_zone_table[0].type = tLOCAL_ZONE; pc.local_time_zone_table[0].value = tmp->tm_isdst; pc.local_time_zone_table[1].name = NULL; /* Probe the names used in the next three calendar quarters, looking for a tm_isdst different from the one we already have. */ { int quarter; for (quarter = 1; quarter <= 3; quarter++) { time_t probe = Start + quarter * (90 * 24 * 60 * 60); struct tm const *probe_tm = localtime (&probe); if (probe_tm && probe_tm->tm_zone && probe_tm->tm_isdst != pc.local_time_zone_table[0].value) { { pc.local_time_zone_table[1].name = probe_tm->tm_zone; pc.local_time_zone_table[1].type = tLOCAL_ZONE; pc.local_time_zone_table[1].value = probe_tm->tm_isdst; pc.local_time_zone_table[2].name = NULL; } break; } } } #else #if HAVE_TZNAME { # if !HAVE_DECL_TZNAME extern char *tzname[]; # endif int i; for (i = 0; i < 2; i++) { pc.local_time_zone_table[i].name = tzname[i]; pc.local_time_zone_table[i].type = tLOCAL_ZONE; pc.local_time_zone_table[i].value = i; } pc.local_time_zone_table[i].name = NULL; } #else pc.local_time_zone_table[0].name = NULL; #endif #endif if (pc.local_time_zone_table[0].name && pc.local_time_zone_table[1].name && ! strcmp (pc.local_time_zone_table[0].name, pc.local_time_zone_table[1].name)) { /* This locale uses the same abbrevation for standard and daylight times. So if we see that abbreviation, we don't know whether it's daylight time. */ pc.local_time_zone_table[0].value = -1; pc.local_time_zone_table[1].name = NULL; } if (yyparse (&pc) != 0) goto fail; if (pc.timespec_seen) *result = pc.seconds; else { if (1 < (pc.times_seen | pc.dates_seen | pc.days_seen | pc.dsts_seen | (pc.local_zones_seen + pc.zones_seen))) goto fail; tm.tm_year = to_year (pc.year) - TM_YEAR_BASE; tm.tm_mon = pc.month - 1; tm.tm_mday = pc.day; if (pc.times_seen || (pc.rels_seen && ! pc.dates_seen && ! pc.days_seen)) { tm.tm_hour = to_hour (pc.hour, pc.meridian); if (tm.tm_hour < 0) goto fail; tm.tm_min = pc.minutes; tm.tm_sec = pc.seconds.tv_sec; } else { tm.tm_hour = tm.tm_min = tm.tm_sec = 0; pc.seconds.tv_nsec = 0; } /* Let mktime deduce tm_isdst if we have an absolute time stamp. */ if (pc.dates_seen | pc.days_seen | pc.times_seen) tm.tm_isdst = -1; /* But if the input explicitly specifies local time with or without DST, give mktime that information. */ if (pc.local_zones_seen) tm.tm_isdst = pc.local_isdst; tm0 = tm; Start = mktime (&tm); if (! mktime_ok (&tm0, &tm, Start)) { if (! pc.zones_seen) goto fail; else { /* Guard against falsely reporting errors near the time_t boundaries when parsing times in other time zones. For example, suppose the input string "1969-12-31 23:00:00 -0100", the current time zone is 8 hours ahead of UTC, and the min time_t value is 1970-01-01 00:00:00 UTC. Then the min localtime value is 1970-01-01 08:00:00, and mktime will therefore fail on 1969-12-31 23:00:00. To work around the problem, set the time zone to 1 hour behind UTC temporarily by setting TZ="XXX1:00" and try mktime again. */ long int time_zone = pc.time_zone; long int abs_time_zone = time_zone < 0 ? - time_zone : time_zone; long int abs_time_zone_hour = abs_time_zone / 60; int abs_time_zone_min = abs_time_zone % 60; char tz1buf[sizeof "XXX+0:00" + sizeof pc.time_zone * CHAR_BIT / 3]; if (!tz_was_altered) tz0 = get_tz (tz0buf); sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0), abs_time_zone_hour, abs_time_zone_min); if (setenv ("TZ", tz1buf, 1) != 0) goto fail; tz_was_altered = true; tm = tm0; Start = mktime (&tm); if (! mktime_ok (&tm0, &tm, Start)) goto fail; } } if (pc.days_seen && ! pc.dates_seen) { tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7 + 7 * (pc.day_ordinal - (0 < pc.day_ordinal))); tm.tm_isdst = -1; Start = mktime (&tm); if (Start == (time_t) -1) goto fail; } if (pc.zones_seen) { long int delta = pc.time_zone * 60; time_t t1; #ifdef HAVE_TM_GMTOFF delta -= tm.tm_gmtoff; #else time_t t = Start; struct tm const *gmt = gmtime (&t); if (! gmt) goto fail; delta -= tm_diff (&tm, gmt); #endif t1 = Start - delta; if ((Start < t1) != (delta < 0)) goto fail; /* time_t overflow */ Start = t1; } /* Add relative date. */ if (pc.rel.year | pc.rel.month | pc.rel.day) { int year = tm.tm_year + pc.rel.year; int month = tm.tm_mon + pc.rel.month; int day = tm.tm_mday + pc.rel.day; if (((year < tm.tm_year) ^ (pc.rel.year < 0)) | ((month < tm.tm_mon) ^ (pc.rel.month < 0)) | ((day < tm.tm_mday) ^ (pc.rel.day < 0))) goto fail; tm.tm_year = year; tm.tm_mon = month; tm.tm_mday = day; tm.tm_hour = tm0.tm_hour; tm.tm_min = tm0.tm_min; tm.tm_sec = tm0.tm_sec; tm.tm_isdst = tm0.tm_isdst; Start = mktime (&tm); if (Start == (time_t) -1) goto fail; } /* Add relative hours, minutes, and seconds. On hosts that support leap seconds, ignore the possibility of leap seconds; e.g., "+ 10 minutes" adds 600 seconds, even if one of them is a leap second. Typically this is not what the user wants, but it's too hard to do it the other way, because the time zone indicator must be applied before relative times, and if mktime is applied again the time zone will be lost. */ { long int sum_ns = pc.seconds.tv_nsec + pc.rel.ns; long int normalized_ns = (sum_ns % BILLION + BILLION) % BILLION; time_t t0 = Start; long int d1 = 60 * 60 * pc.rel.hour; time_t t1 = t0 + d1; long int d2 = 60 * pc.rel.minutes; time_t t2 = t1 + d2; long int d3 = pc.rel.seconds; time_t t3 = t2 + d3; long int d4 = (sum_ns - normalized_ns) / BILLION; time_t t4 = t3 + d4; if ((d1 / (60 * 60) ^ pc.rel.hour) | (d2 / 60 ^ pc.rel.minutes) | ((t1 < t0) ^ (d1 < 0)) | ((t2 < t1) ^ (d2 < 0)) | ((t3 < t2) ^ (d3 < 0)) | ((t4 < t3) ^ (d4 < 0))) goto fail; result->tv_sec = t4; result->tv_nsec = normalized_ns; } } goto done; fail: ok = false; done: if (tz_was_altered) ok &= (tz0 ? setenv ("TZ", tz0, 1) : unsetenv ("TZ")) == 0; if (tz0 != tz0buf) free (tz0); return ok; } #if TEST int main (int ac, char **av) { char buff[BUFSIZ]; printf ("Enter date, or blank line to exit.\n\t> "); fflush (stdout); buff[BUFSIZ - 1] = '\0'; while (fgets (buff, BUFSIZ - 1, stdin) && buff[0]) { struct timespec d; struct tm const *tm; if (! get_date (&d, buff, NULL)) printf ("Bad format - couldn't convert.\n"); else if (! (tm = localtime (&d.tv_sec))) { long int sec = d.tv_sec; printf ("localtime (%ld) failed\n", sec); } else { int ns = d.tv_nsec; printf ("%04ld-%02d-%02d %02d:%02d:%02d.%09d\n", tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, ns); } printf ("\t> "); fflush (stdout); } return 0; } #endif /* TEST */ dc3dd-7.1.614/lib/chdir-long.h0000644000175000017500000000215111022023316015371 0ustar amedicoamedico/* provide a chdir function that tries not to fail due to ENAMETOOLONG Copyright (C) 2004, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include #ifndef PATH_MAX # ifdef MAXPATHLEN # define PATH_MAX MAXPATHLEN # endif #endif /* On systems without PATH_MAX, presume that chdir accepts arbitrarily long directory names. */ #ifndef PATH_MAX # define chdir_long(Dir) chdir (Dir) #else int chdir_long (char *dir); #endif dc3dd-7.1.614/lib/wcwidth.c0000644000175000017500000000275711022023316015023 0ustar amedicoamedico/* Determine the number of screen columns needed for a character. Copyright (C) 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include /* Get iswprint. */ #include #include "localcharset.h" #include "streq.h" #include "uniwidth.h" #undef wcwidth int rpl_wcwidth (wchar_t wc) { /* In UTF-8 locales, use a Unicode aware width function. */ const char *encoding = locale_charset (); if (STREQ (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0 ,0)) { /* We assume that in a UTF-8 locale, a wide character is the same as a Unicode character. */ return uc_width (wc, encoding); } else { /* Otherwise, fall back to the system's wcwidth function. */ #if HAVE_WCWIDTH return wcwidth (wc); #else return wc == 0 ? 0 : iswprint (wc) ? 1 : -1; #endif } } dc3dd-7.1.614/lib/gettime.c0000644000175000017500000000231711022023316015000 0ustar amedicoamedico/* gettime -- get the system clock Copyright (C) 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "timespec.h" #include /* Get the system time into *TS. */ void gettime (struct timespec *ts) { #if HAVE_NANOTIME nanotime (ts); #else # if defined CLOCK_REALTIME && HAVE_CLOCK_GETTIME if (clock_gettime (CLOCK_REALTIME, ts) == 0) return; # endif { struct timeval tv; gettimeofday (&tv, NULL); ts->tv_sec = tv.tv_sec; ts->tv_nsec = tv.tv_usec * 1000; } #endif } dc3dd-7.1.614/lib/safe-write.c0000644000175000017500000000143711022023316015412 0ustar amedicoamedico/* An interface to write that retries after interrupts. Copyright (C) 2002 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #define SAFE_WRITE #include "safe-read.c" dc3dd-7.1.614/lib/strndup.c0000644000175000017500000000231111064230667015052 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* A replacement function, for systems that lack strndup. Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 #include #include char * strndup (char const *s, size_t n) { size_t len = strnlen (s, n); char *new = malloc (len + 1); if (new == NULL) return NULL; new[len] = '\0'; return memcpy (new, s, len); } dc3dd-7.1.614/lib/dup2.c0000644000175000017500000000265611022023316014222 0ustar amedicoamedico/* Duplicate an open file descriptor to a specified file descriptor. Copyright (C) 1999, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Paul Eggert */ #include /* Specification. */ #include #include #include #ifndef F_DUPFD static int dupfd (int fd, int desired_fd) { int duplicated_fd = dup (fd); if (duplicated_fd < 0 || duplicated_fd == desired_fd) return duplicated_fd; else { int r = dupfd (fd, desired_fd); int e = errno; close (duplicated_fd); errno = e; return r; } } #endif int dup2 (int fd, int desired_fd) { if (fd == desired_fd) return fd; close (desired_fd); #ifdef F_DUPFD return fcntl (fd, F_DUPFD, desired_fd); #else return dupfd (fd, desired_fd); #endif } dc3dd-7.1.614/lib/freadseek.c0000644000175000017500000000741211064230667015313 0ustar amedicoamedico/* Skipping input from a FILE stream. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "freadseek.h" #include #include #include "freadahead.h" #include "freadptr.h" #include "stdio-impl.h" /* Increment the in-memory pointer. INCREMENT must be at most the buffer size returned by freadptr(). This is very cheap (no system calls). */ static inline void freadptrinc (FILE *fp, size_t increment) { /* Keep this code in sync with freadptr! */ #if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ fp->_IO_read_ptr += increment; #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ fp_->_p += increment; fp_->_r -= increment; #elif defined __EMX__ /* emx+gcc */ fp->_ptr += increment; fp->_rcount -= increment; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ fp_->_ptr += increment; fp_->_cnt -= increment; #elif defined __UCLIBC__ /* uClibc */ # ifdef __STDIO_BUFFERS fp->__bufpos += increment; # else abort (); # endif #elif defined __QNX__ /* QNX */ fp->_Next += increment; #else #error "Please port gnulib freadseek.c to your platform! Look at the definition of getc, getc_unlocked on your system, then report this to bug-gnulib." #endif } int freadseek (FILE *fp, size_t offset) { size_t total_buffered; int fd; if (offset == 0) return 0; /* Seek over the already read and buffered input as quickly as possible, without doing any system calls. */ total_buffered = freadahead (fp); /* This loop is usually executed at most twice: once for ungetc buffer (if present) and once for the main buffer. */ while (total_buffered > 0) { size_t buffered; if (freadptr (fp, &buffered) != NULL && buffered > 0) { size_t increment = (buffered < offset ? buffered : offset); freadptrinc (fp, increment); offset -= increment; if (offset == 0) return 0; total_buffered -= increment; if (total_buffered == 0) break; } /* Read one byte. If we were reading from the ungetc buffer, this switches the stream back to the main buffer. */ if (fgetc (fp) == EOF) goto eof; offset--; if (offset == 0) return 0; total_buffered--; } /* Test whether the stream is seekable or not. */ fd = fileno (fp); if (fd >= 0 && lseek (fd, 0, SEEK_CUR) >= 0) { /* FP refers to a regular file. fseek is most efficient in this case. */ return fseek (fp, offset, SEEK_CUR); } else { /* FP is a non-seekable stream, possibly not even referring to a file descriptor. Read OFFSET bytes explicitly and discard them. */ char buf[4096]; do { size_t count = (sizeof (buf) < offset ? sizeof (buf) : offset); if (fread (buf, 1, count, fp) < count) goto eof; offset -= count; } while (offset > 0); return 0; } eof: /* EOF, or error before or while reading. */ if (ferror (fp)) return EOF; else /* Encountered EOF. */ return 0; } dc3dd-7.1.614/lib/getopt.c0000644000175000017500000007642611064230667014677 0ustar amedicoamedico/* Getopt for GNU. NOTE: getopt is now part of the C library, so if you don't know what "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002,2003,2004,2006,2008 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _LIBC # include #endif #include "getopt.h" #include #include #include #include #ifdef _LIBC # include #else # include "gettext.h" # define _(msgid) gettext (msgid) #endif #if defined _LIBC && defined USE_IN_LIBIO # include #endif #ifndef attribute_hidden # define attribute_hidden #endif /* Unlike standard Unix `getopt', functions like `getopt_long' let the user intersperse the options with the other arguments. As `getopt_long' works, it permutes the elements of ARGV so that, when it is done, all the options precede everything else. Thus all application programs are extended to handle flexible argument order. Using `getopt' or setting the environment variable POSIXLY_CORRECT disables permutation. Then the application's behavior is completely standard. GNU application programs can use a third alternative mode in which they can distinguish the relative order of options and other arguments. */ #include "getopt_int.h" /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ /* 1003.2 says this must be 1 before any call. */ int optind = 1; /* Callers store zero here to inhibit the error message for unrecognized options. */ int opterr = 1; /* Set to an option character which was unrecognized. This must be initialized on some systems to avoid linking in the system's own getopt implementation. */ int optopt = '?'; /* Keep a global copy of all internal members of getopt_data. */ static struct _getopt_data getopt_data; #if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV extern char *getenv (); #endif #ifdef _LIBC /* Stored original parameters. XXX This is no good solution. We should rather copy the args so that we can compare them later. But we must not use malloc(3). */ extern int __libc_argc; extern char **__libc_argv; /* Bash 2.0 gives us an environment variable containing flags indicating ARGV elements that should not be considered arguments. */ # ifdef USE_NONOPTION_FLAGS /* Defined in getopt_init.c */ extern char *__getopt_nonoption_flags; # endif # ifdef USE_NONOPTION_FLAGS # define SWAP_FLAGS(ch1, ch2) \ if (d->__nonoption_flags_len > 0) \ { \ char __tmp = __getopt_nonoption_flags[ch1]; \ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ __getopt_nonoption_flags[ch2] = __tmp; \ } # else # define SWAP_FLAGS(ch1, ch2) # endif #else /* !_LIBC */ # define SWAP_FLAGS(ch1, ch2) #endif /* _LIBC */ /* Exchange two adjacent subsequences of ARGV. One subsequence is elements [first_nonopt,last_nonopt) which contains all the non-options that have been skipped so far. The other is elements [last_nonopt,optind), which contains all the options processed since those non-options were skipped. `first_nonopt' and `last_nonopt' are relocated so that they describe the new indices of the non-options in ARGV after they are moved. */ static void exchange (char **argv, struct _getopt_data *d) { int bottom = d->__first_nonopt; int middle = d->__last_nonopt; int top = d->optind; char *tem; /* Exchange the shorter segment with the far end of the longer segment. That puts the shorter segment into the right place. It leaves the longer segment in the right place overall, but it consists of two parts that need to be swapped next. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS /* First make sure the handling of the `__getopt_nonoption_flags' string can work normally. Our top argument must be in the range of the string. */ if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len) { /* We must extend the array. The user plays games with us and presents new arguments. */ char *new_str = malloc (top + 1); if (new_str == NULL) d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0; else { memset (__mempcpy (new_str, __getopt_nonoption_flags, d->__nonoption_flags_max_len), '\0', top + 1 - d->__nonoption_flags_max_len); d->__nonoption_flags_max_len = top + 1; __getopt_nonoption_flags = new_str; } } #endif while (top > middle && middle > bottom) { if (top - middle > middle - bottom) { /* Bottom segment is the short one. */ int len = middle - bottom; register int i; /* Swap it with the top part of the top segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[top - (middle - bottom) + i]; argv[top - (middle - bottom) + i] = tem; SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); } /* Exclude the moved bottom segment from further swapping. */ top -= len; } else { /* Top segment is the short one. */ int len = top - middle; register int i; /* Swap it with the bottom part of the bottom segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[middle + i]; argv[middle + i] = tem; SWAP_FLAGS (bottom + i, middle + i); } /* Exclude the moved top segment from further swapping. */ bottom += len; } } /* Update records for the slots the non-options now occupy. */ d->__first_nonopt += (d->optind - d->__last_nonopt); d->__last_nonopt = d->optind; } /* Initialize the internal data when the first call is made. */ static const char * _getopt_initialize (int argc, char **argv, const char *optstring, int posixly_correct, struct _getopt_data *d) { /* Start processing options with ARGV-element 1 (since ARGV-element 0 is the program name); the sequence of previously skipped non-option ARGV-elements is empty. */ d->__first_nonopt = d->__last_nonopt = d->optind; d->__nextchar = NULL; d->__posixly_correct = posixly_correct || !!getenv ("POSIXLY_CORRECT"); /* Determine how to handle the ordering of options and nonoptions. */ if (optstring[0] == '-') { d->__ordering = RETURN_IN_ORDER; ++optstring; } else if (optstring[0] == '+') { d->__ordering = REQUIRE_ORDER; ++optstring; } else if (d->__posixly_correct) d->__ordering = REQUIRE_ORDER; else d->__ordering = PERMUTE; #if defined _LIBC && defined USE_NONOPTION_FLAGS if (!d->__posixly_correct && argc == __libc_argc && argv == __libc_argv) { if (d->__nonoption_flags_max_len == 0) { if (__getopt_nonoption_flags == NULL || __getopt_nonoption_flags[0] == '\0') d->__nonoption_flags_max_len = -1; else { const char *orig_str = __getopt_nonoption_flags; int len = d->__nonoption_flags_max_len = strlen (orig_str); if (d->__nonoption_flags_max_len < argc) d->__nonoption_flags_max_len = argc; __getopt_nonoption_flags = (char *) malloc (d->__nonoption_flags_max_len); if (__getopt_nonoption_flags == NULL) d->__nonoption_flags_max_len = -1; else memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), '\0', d->__nonoption_flags_max_len - len); } } d->__nonoption_flags_len = d->__nonoption_flags_max_len; } else d->__nonoption_flags_len = 0; #endif return optstring; } /* Scan elements of ARGV (whose length is ARGC) for option characters given in OPTSTRING. If an element of ARGV starts with '-', and is not exactly "-" or "--", then it is an option element. The characters of this element (aside from the initial '-') are option characters. If `getopt' is called repeatedly, it returns successively each of the option characters from each of the option elements. If `getopt' finds another option character, it returns that character, updating `optind' and `nextchar' so that the next call to `getopt' can resume the scan with the following option character or ARGV-element. If there are no more option characters, `getopt' returns -1. Then `optind' is the index in ARGV of the first ARGV-element that is not an option. (The ARGV-elements have been permuted so that those that are not options now come last.) OPTSTRING is a string containing the legitimate option characters. If an option character is seen that is not listed in OPTSTRING, return '?' after printing an error message. If you set `opterr' to zero, the error message is suppressed but we still return '?'. If a char in OPTSTRING is followed by a colon, that means it wants an arg, so the following text in the same ARGV-element, or the text of the following ARGV-element, is returned in `optarg'. Two colons mean an option that wants an optional arg; if there is text in the current ARGV-element, it is returned in `optarg', otherwise `optarg' is set to zero. If OPTSTRING starts with `-' or `+', it requests different methods of handling the non-option ARGV-elements. See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. Long-named options begin with `--' instead of `-'. Their names may be abbreviated as long as the abbreviation is unique or is an exact match for some defined option. If they have an argument, it follows the option name in the same ARGV-element, separated from the option name by a `=', or else the in next ARGV-element. When `getopt' finds a long-named option, it returns 0 if that option's `flag' field is nonzero, the value of the option's `val' field if the `flag' field is zero. LONGOPTS is a vector of `struct option' terminated by an element containing a name which is zero. LONGIND returns the index in LONGOPT of the long-named option found. It is only valid when a long-named option has been found by the most recent call. If LONG_ONLY is nonzero, '-' as well as '--' can introduce long-named options. If POSIXLY_CORRECT is nonzero, behave as if the POSIXLY_CORRECT environment variable were set. */ int _getopt_internal_r (int argc, char **argv, const char *optstring, const struct option *longopts, int *longind, int long_only, int posixly_correct, struct _getopt_data *d) { int print_errors = d->opterr; if (optstring[0] == ':') print_errors = 0; if (argc < 1) return -1; d->optarg = NULL; if (d->optind == 0 || !d->__initialized) { if (d->optind == 0) d->optind = 1; /* Don't scan ARGV[0], the program name. */ optstring = _getopt_initialize (argc, argv, optstring, posixly_correct, d); d->__initialized = 1; } /* Test whether ARGV[optind] points to a non-option argument. Either it does not have option syntax, or there is an environment flag from the shell indicating it is not an option. The later information is only used when the used in the GNU libc. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS # define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \ || (d->optind < d->__nonoption_flags_len \ && __getopt_nonoption_flags[d->optind] == '1')) #else # define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0') #endif if (d->__nextchar == NULL || *d->__nextchar == '\0') { /* Advance to the next ARGV-element. */ /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been moved back by the user (who may also have changed the arguments). */ if (d->__last_nonopt > d->optind) d->__last_nonopt = d->optind; if (d->__first_nonopt > d->optind) d->__first_nonopt = d->optind; if (d->__ordering == PERMUTE) { /* If we have just processed some options following some non-options, exchange them so that the options come first. */ if (d->__first_nonopt != d->__last_nonopt && d->__last_nonopt != d->optind) exchange ((char **) argv, d); else if (d->__last_nonopt != d->optind) d->__first_nonopt = d->optind; /* Skip any additional non-options and extend the range of non-options previously skipped. */ while (d->optind < argc && NONOPTION_P) d->optind++; d->__last_nonopt = d->optind; } /* The special ARGV-element `--' means premature end of options. Skip it like a null option, then exchange with previous non-options as if it were an option, then skip everything else like a non-option. */ if (d->optind != argc && !strcmp (argv[d->optind], "--")) { d->optind++; if (d->__first_nonopt != d->__last_nonopt && d->__last_nonopt != d->optind) exchange ((char **) argv, d); else if (d->__first_nonopt == d->__last_nonopt) d->__first_nonopt = d->optind; d->__last_nonopt = argc; d->optind = argc; } /* If we have done all the ARGV-elements, stop the scan and back over any non-options that we skipped and permuted. */ if (d->optind == argc) { /* Set the next-arg-index to point at the non-options that we previously skipped, so the caller will digest them. */ if (d->__first_nonopt != d->__last_nonopt) d->optind = d->__first_nonopt; return -1; } /* If we have come to a non-option and did not permute it, either stop the scan or describe it to the caller and pass it by. */ if (NONOPTION_P) { if (d->__ordering == REQUIRE_ORDER) return -1; d->optarg = argv[d->optind++]; return 1; } /* We have found another option-ARGV-element. Skip the initial punctuation. */ d->__nextchar = (argv[d->optind] + 1 + (longopts != NULL && argv[d->optind][1] == '-')); } /* Decode the current option-ARGV-element. */ /* Check whether the ARGV-element is a long option. If long_only and the ARGV-element has the form "-f", where f is a valid short option, don't consider it an abbreviated form of a long option that starts with f. Otherwise there would be no way to give the -f short option. On the other hand, if there's a long option "fubar" and the ARGV-element is "-fu", do consider that an abbreviation of the long option, just like "--fu", and not "-f" with arg "u". This distinction seems to be the most useful approach. */ if (longopts != NULL && (argv[d->optind][1] == '-' || (long_only && (argv[d->optind][2] || !strchr (optstring, argv[d->optind][1]))))) { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = -1; int option_index; for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar)) { if ((unsigned int) (nameend - d->__nextchar) == (unsigned int) strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else if (long_only || pfound->has_arg != p->has_arg || pfound->flag != p->flag || pfound->val != p->val) /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"), argv[0], argv[d->optind]) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option `%s' is ambiguous\n"), argv[0], argv[d->optind]); #endif } d->__nextchar += strlen (d->__nextchar); d->optind++; d->optopt = 0; return '?'; } if (pfound != NULL) { option_index = indfound; d->optind++; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) d->optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[d->optind - 1][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option `--%s' doesn't allow an argument\n"), argv[0], pfound->name); #else fprintf (stderr, _("\ %s: option `--%s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option `%c%s' doesn't allow an argument\n"), argv[0], argv[d->optind - 1][0], pfound->name); #else fprintf (stderr, _("\ %s: option `%c%s' doesn't allow an argument\n"), argv[0], argv[d->optind - 1][0], pfound->name); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #endif } d->__nextchar += strlen (d->__nextchar); d->optopt = pfound->val; return '?'; } } else if (pfound->has_arg == 1) { if (d->optind < argc) d->optarg = argv[d->optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `%s' requires an argument\n"), argv[0], argv[d->optind - 1]) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[d->optind - 1]); #endif } d->__nextchar += strlen (d->__nextchar); d->optopt = pfound->val; return optstring[0] == ':' ? ':' : '?'; } } d->__nextchar += strlen (d->__nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } /* Can't find it as a long option. If this is not getopt_long_only, or the option starts with '--' or is not a valid short option, then it's an error. Otherwise interpret it as a short option. */ if (!long_only || argv[d->optind][1] == '-' || strchr (optstring, *d->__nextchar) == NULL) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[d->optind][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"), argv[0], d->__nextchar); #else fprintf (stderr, _("%s: unrecognized option `--%s'\n"), argv[0], d->__nextchar); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"), argv[0], argv[d->optind][0], d->__nextchar); #else fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), argv[0], argv[d->optind][0], d->__nextchar); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #endif } d->__nextchar = (char *) ""; d->optind++; d->optopt = 0; return '?'; } } /* Look at and handle the next short option-character. */ { char c = *d->__nextchar++; char *temp = strchr (optstring, c); /* Increment `optind' when we start to process its last character. */ if (*d->__nextchar == '\0') ++d->optind; if (temp == NULL || c == ':') { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (d->__posixly_correct) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: illegal option -- %c\n"), argv[0], c); #else fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); #endif } else { #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: invalid option -- %c\n"), argv[0], c); #else fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #endif } d->optopt = c; return '?'; } /* Convenience. Treat POSIX -W foo same as long option --foo */ if (temp[0] == 'W' && temp[1] == ';') { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = 0; int option_index; /* This is an option that requires an argument. */ if (*d->__nextchar != '\0') { d->optarg = d->__nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ d->optind++; } else if (d->optind == argc) { if (print_errors) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option requires an argument -- %c\n"), argv[0], c) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], c); #endif } d->optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; return c; } else /* We already incremented `d->optind' once; increment it again when taking next ARGV-elt as argument. */ d->optarg = argv[d->optind++]; /* optarg is now the argument, see if it's in the table of longopts. */ for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar)) { if ((unsigned int) (nameend - d->__nextchar) == strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"), argv[0], argv[d->optind]) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), argv[0], argv[d->optind]); #endif } d->__nextchar += strlen (d->__nextchar); d->optind++; return '?'; } if (pfound != NULL) { option_index = indfound; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) d->optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("\ %s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } d->__nextchar += strlen (d->__nextchar); return '?'; } } else if (pfound->has_arg == 1) { if (d->optind < argc) d->optarg = argv[d->optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `%s' requires an argument\n"), argv[0], argv[d->optind - 1]) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[d->optind - 1]); #endif } d->__nextchar += strlen (d->__nextchar); return optstring[0] == ':' ? ':' : '?'; } } d->__nextchar += strlen (d->__nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } d->__nextchar = NULL; return 'W'; /* Let the application handle it. */ } if (temp[1] == ':') { if (temp[2] == ':') { /* This is an option that accepts an argument optionally. */ if (*d->__nextchar != '\0') { d->optarg = d->__nextchar; d->optind++; } else d->optarg = NULL; d->__nextchar = NULL; } else { /* This is an option that requires an argument. */ if (*d->__nextchar != '\0') { d->optarg = d->__nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ d->optind++; } else if (d->optind == argc) { if (print_errors) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option requires an argument -- %c\n"), argv[0], c) >= 0) { _IO_flockfile (stderr); int old_flags2 = ((_IO_FILE *) stderr)->_flags2; ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; __fxprintf (NULL, "%s", buf); ((_IO_FILE *) stderr)->_flags2 = old_flags2; _IO_funlockfile (stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], c); #endif } d->optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; } else /* We already incremented `optind' once; increment it again when taking next ARGV-elt as argument. */ d->optarg = argv[d->optind++]; d->__nextchar = NULL; } } return c; } } int _getopt_internal (int argc, char **argv, const char *optstring, const struct option *longopts, int *longind, int long_only, int posixly_correct) { int result; getopt_data.optind = optind; getopt_data.opterr = opterr; result = _getopt_internal_r (argc, argv, optstring, longopts, longind, long_only, posixly_correct, &getopt_data); optind = getopt_data.optind; optarg = getopt_data.optarg; optopt = getopt_data.optopt; return result; } /* glibc gets a LSB-compliant getopt. Standalone applications get a POSIX-compliant getopt. */ #if _LIBC enum { POSIXLY_CORRECT = 0 }; #else enum { POSIXLY_CORRECT = 1 }; #endif int getopt (int argc, char *const *argv, const char *optstring) { return _getopt_internal (argc, (char **) argv, optstring, NULL, NULL, 0, POSIXLY_CORRECT); } #ifdef TEST /* Compile with -DTEST to make an executable for use in testing the above definition of `getopt'. */ int main (int argc, char **argv) { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; c = getopt (argc, argv, "abc:d:0123456789"); if (c == -1) break; switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value `%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ dc3dd-7.1.614/lib/sha512.c0000644000175000017500000005026511064230667014371 0ustar amedicoamedico/* sha512.c - Functions to compute SHA512 and SHA384 message digest of files or memory blocks according to the NIST specification FIPS-180-2. Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David Madore, considerably copypasting from Scott G. Miller's sha1.c */ #include #include "sha512.h" #include #include #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifdef WORDS_BIGENDIAN # define SWAP(n) (n) #else # define SWAP(n) \ u64or (u64or (u64or (u64shl (n, 56), \ u64shl (u64and (n, u64lo (0x0000ff00)), 40)), \ u64or (u64shl (u64and (n, u64lo (0x00ff0000)), 24), \ u64shl (u64and (n, u64lo (0xff000000)), 8))), \ u64or (u64or (u64and (u64shr (n, 8), u64lo (0xff000000)), \ u64and (u64shr (n, 24), u64lo (0x00ff0000))), \ u64or (u64and (u64shr (n, 40), u64lo (0x0000ff00)), \ u64shr (n, 56)))) #endif #define BLOCKSIZE 4096 #if BLOCKSIZE % 128 != 0 # error "invalid BLOCKSIZE" #endif /* This array contains the bytes used to pad the buffer to the next 128-byte boundary. */ static const unsigned char fillbuf[128] = { 0x80, 0 /* , 0, 0, ... */ }; /* Takes a pointer to a 512 bit block of data (eight 64 bit ints) and intializes it to the start constants of the SHA512 algorithm. This must be called before using hash in the call to sha512_hash */ void sha512_init_ctx (struct sha512_ctx *ctx) { ctx->state[0] = u64hilo (0x6a09e667, 0xf3bcc908); ctx->state[1] = u64hilo (0xbb67ae85, 0x84caa73b); ctx->state[2] = u64hilo (0x3c6ef372, 0xfe94f82b); ctx->state[3] = u64hilo (0xa54ff53a, 0x5f1d36f1); ctx->state[4] = u64hilo (0x510e527f, 0xade682d1); ctx->state[5] = u64hilo (0x9b05688c, 0x2b3e6c1f); ctx->state[6] = u64hilo (0x1f83d9ab, 0xfb41bd6b); ctx->state[7] = u64hilo (0x5be0cd19, 0x137e2179); ctx->total[0] = ctx->total[1] = u64lo (0); ctx->buflen = 0; } void sha384_init_ctx (struct sha512_ctx *ctx) { ctx->state[0] = u64hilo (0xcbbb9d5d, 0xc1059ed8); ctx->state[1] = u64hilo (0x629a292a, 0x367cd507); ctx->state[2] = u64hilo (0x9159015a, 0x3070dd17); ctx->state[3] = u64hilo (0x152fecd8, 0xf70e5939); ctx->state[4] = u64hilo (0x67332667, 0xffc00b31); ctx->state[5] = u64hilo (0x8eb44a87, 0x68581511); ctx->state[6] = u64hilo (0xdb0c2e0d, 0x64f98fa7); ctx->state[7] = u64hilo (0x47b5481d, 0xbefa4fa4); ctx->total[0] = ctx->total[1] = u64lo (0); ctx->buflen = 0; } /* Copy the value from V into the memory location pointed to by *CP, If your architecture allows unaligned access, this is equivalent to * (__typeof__ (v) *) cp = v */ static inline void set_uint64 (char *cp, u64 v) { memcpy (cp, &v, sizeof v); } /* Put result from CTX in first 64 bytes following RESBUF. The result must be in little endian byte order. */ void * sha512_read_ctx (const struct sha512_ctx *ctx, void *resbuf) { int i; char *r = resbuf; for (i = 0; i < 8; i++) set_uint64 (r + i * sizeof ctx->state[0], SWAP (ctx->state[i])); return resbuf; } void * sha384_read_ctx (const struct sha512_ctx *ctx, void *resbuf) { int i; char *r = resbuf; for (i = 0; i < 6; i++) set_uint64 (r + i * sizeof ctx->state[0], SWAP (ctx->state[i])); return resbuf; } /* Process the remaining bytes in the internal buffer and the usual prolog according to the standard and write the result to RESBUF. */ static void sha512_conclude_ctx (struct sha512_ctx *ctx) { /* Take yet unprocessed bytes into account. */ size_t bytes = ctx->buflen; size_t size = (bytes < 112) ? 128 / 8 : 128 * 2 / 8; /* Now count remaining bytes. */ ctx->total[0] = u64plus (ctx->total[0], u64lo (bytes)); if (u64lt (ctx->total[0], u64lo (bytes))) ctx->total[1] = u64plus (ctx->total[1], u64lo (1)); /* Put the 128-bit file length in *bits* at the end of the buffer. Use set_uint64 rather than a simple assignment, to avoid risk of unaligned access. */ set_uint64 ((char *) &ctx->buffer[size - 2], SWAP (u64or (u64shl (ctx->total[1], 3), u64shr (ctx->total[0], 61)))); set_uint64 ((char *) &ctx->buffer[size - 1], SWAP (u64shl (ctx->total[0], 3))); memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 8 - bytes); /* Process last bytes. */ sha512_process_block (ctx->buffer, size * 8, ctx); } void * sha512_finish_ctx (struct sha512_ctx *ctx, void *resbuf) { sha512_conclude_ctx (ctx); return sha512_read_ctx (ctx, resbuf); } void * sha384_finish_ctx (struct sha512_ctx *ctx, void *resbuf) { sha512_conclude_ctx (ctx); return sha384_read_ctx (ctx, resbuf); } /* Compute SHA512 message digest for bytes read from STREAM. The resulting message digest number will be written into the 64 bytes beginning at RESBLOCK. */ int sha512_stream (FILE *stream, void *resblock) { struct sha512_ctx ctx; char buffer[BLOCKSIZE + 72]; size_t sum; /* Initialize the computation context. */ sha512_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) return 1; goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 128 == 0 */ sha512_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block:; /* Process any remaining bytes. */ if (sum > 0) sha512_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ sha512_finish_ctx (&ctx, resblock); return 0; } /* FIXME: Avoid code duplication */ int sha384_stream (FILE *stream, void *resblock) { struct sha512_ctx ctx; char buffer[BLOCKSIZE + 72]; size_t sum; /* Initialize the computation context. */ sha384_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) return 1; goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 128 == 0 */ sha512_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block:; /* Process any remaining bytes. */ if (sum > 0) sha512_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ sha384_finish_ctx (&ctx, resblock); return 0; } /* Compute SHA512 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ void * sha512_buffer (const char *buffer, size_t len, void *resblock) { struct sha512_ctx ctx; /* Initialize the computation context. */ sha512_init_ctx (&ctx); /* Process whole buffer but last len % 128 bytes. */ sha512_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return sha512_finish_ctx (&ctx, resblock); } void * sha384_buffer (const char *buffer, size_t len, void *resblock) { struct sha512_ctx ctx; /* Initialize the computation context. */ sha384_init_ctx (&ctx); /* Process whole buffer but last len % 128 bytes. */ sha512_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return sha384_finish_ctx (&ctx, resblock); } void sha512_process_bytes (const void *buffer, size_t len, struct sha512_ctx *ctx) { /* When we already have some bits in our internal buffer concatenate both inputs first. */ if (ctx->buflen != 0) { size_t left_over = ctx->buflen; size_t add = 256 - left_over > len ? len : 256 - left_over; memcpy (&((char *) ctx->buffer)[left_over], buffer, add); ctx->buflen += add; if (ctx->buflen > 128) { sha512_process_block (ctx->buffer, ctx->buflen & ~127, ctx); ctx->buflen &= 127; /* The regions in the following copy operation cannot overlap. */ memcpy (ctx->buffer, &((char *) ctx->buffer)[(left_over + add) & ~127], ctx->buflen); } buffer = (const char *) buffer + add; len -= add; } /* Process available complete blocks. */ if (len >= 128) { #if !_STRING_ARCH_unaligned # define alignof(type) offsetof (struct { char c; type x; }, x) # define UNALIGNED_P(p) (((size_t) p) % alignof (u64) != 0) if (UNALIGNED_P (buffer)) while (len > 128) { sha512_process_block (memcpy (ctx->buffer, buffer, 128), 128, ctx); buffer = (const char *) buffer + 128; len -= 128; } else #endif { sha512_process_block (buffer, len & ~127, ctx); buffer = (const char *) buffer + (len & ~127); len &= 127; } } /* Move remaining bytes in internal buffer. */ if (len > 0) { size_t left_over = ctx->buflen; memcpy (&((char *) ctx->buffer)[left_over], buffer, len); left_over += len; if (left_over >= 128) { sha512_process_block (ctx->buffer, 128, ctx); left_over -= 128; memcpy (ctx->buffer, &ctx->buffer[16], left_over); } ctx->buflen = left_over; } } /* --- Code below is the primary difference between sha1.c and sha512.c --- */ /* SHA512 round constants */ #define K(I) sha512_round_constants[I] static u64 const sha512_round_constants[80] = { u64init (0x428a2f98, 0xd728ae22), u64init (0x71374491, 0x23ef65cd), u64init (0xb5c0fbcf, 0xec4d3b2f), u64init (0xe9b5dba5, 0x8189dbbc), u64init (0x3956c25b, 0xf348b538), u64init (0x59f111f1, 0xb605d019), u64init (0x923f82a4, 0xaf194f9b), u64init (0xab1c5ed5, 0xda6d8118), u64init (0xd807aa98, 0xa3030242), u64init (0x12835b01, 0x45706fbe), u64init (0x243185be, 0x4ee4b28c), u64init (0x550c7dc3, 0xd5ffb4e2), u64init (0x72be5d74, 0xf27b896f), u64init (0x80deb1fe, 0x3b1696b1), u64init (0x9bdc06a7, 0x25c71235), u64init (0xc19bf174, 0xcf692694), u64init (0xe49b69c1, 0x9ef14ad2), u64init (0xefbe4786, 0x384f25e3), u64init (0x0fc19dc6, 0x8b8cd5b5), u64init (0x240ca1cc, 0x77ac9c65), u64init (0x2de92c6f, 0x592b0275), u64init (0x4a7484aa, 0x6ea6e483), u64init (0x5cb0a9dc, 0xbd41fbd4), u64init (0x76f988da, 0x831153b5), u64init (0x983e5152, 0xee66dfab), u64init (0xa831c66d, 0x2db43210), u64init (0xb00327c8, 0x98fb213f), u64init (0xbf597fc7, 0xbeef0ee4), u64init (0xc6e00bf3, 0x3da88fc2), u64init (0xd5a79147, 0x930aa725), u64init (0x06ca6351, 0xe003826f), u64init (0x14292967, 0x0a0e6e70), u64init (0x27b70a85, 0x46d22ffc), u64init (0x2e1b2138, 0x5c26c926), u64init (0x4d2c6dfc, 0x5ac42aed), u64init (0x53380d13, 0x9d95b3df), u64init (0x650a7354, 0x8baf63de), u64init (0x766a0abb, 0x3c77b2a8), u64init (0x81c2c92e, 0x47edaee6), u64init (0x92722c85, 0x1482353b), u64init (0xa2bfe8a1, 0x4cf10364), u64init (0xa81a664b, 0xbc423001), u64init (0xc24b8b70, 0xd0f89791), u64init (0xc76c51a3, 0x0654be30), u64init (0xd192e819, 0xd6ef5218), u64init (0xd6990624, 0x5565a910), u64init (0xf40e3585, 0x5771202a), u64init (0x106aa070, 0x32bbd1b8), u64init (0x19a4c116, 0xb8d2d0c8), u64init (0x1e376c08, 0x5141ab53), u64init (0x2748774c, 0xdf8eeb99), u64init (0x34b0bcb5, 0xe19b48a8), u64init (0x391c0cb3, 0xc5c95a63), u64init (0x4ed8aa4a, 0xe3418acb), u64init (0x5b9cca4f, 0x7763e373), u64init (0x682e6ff3, 0xd6b2b8a3), u64init (0x748f82ee, 0x5defb2fc), u64init (0x78a5636f, 0x43172f60), u64init (0x84c87814, 0xa1f0ab72), u64init (0x8cc70208, 0x1a6439ec), u64init (0x90befffa, 0x23631e28), u64init (0xa4506ceb, 0xde82bde9), u64init (0xbef9a3f7, 0xb2c67915), u64init (0xc67178f2, 0xe372532b), u64init (0xca273ece, 0xea26619c), u64init (0xd186b8c7, 0x21c0c207), u64init (0xeada7dd6, 0xcde0eb1e), u64init (0xf57d4f7f, 0xee6ed178), u64init (0x06f067aa, 0x72176fba), u64init (0x0a637dc5, 0xa2c898a6), u64init (0x113f9804, 0xbef90dae), u64init (0x1b710b35, 0x131c471b), u64init (0x28db77f5, 0x23047d84), u64init (0x32caab7b, 0x40c72493), u64init (0x3c9ebe0a, 0x15c9bebc), u64init (0x431d67c4, 0x9c100d4c), u64init (0x4cc5d4be, 0xcb3e42b6), u64init (0x597f299c, 0xfc657e2a), u64init (0x5fcb6fab, 0x3ad6faec), u64init (0x6c44198c, 0x4a475817), }; /* Round functions. */ #define F2(A, B, C) u64or (u64and (A, B), u64and (C, u64or (A, B))) #define F1(E, F, G) u64xor (G, u64and (E, u64xor (F, G))) /* Process LEN bytes of BUFFER, accumulating context into CTX. It is assumed that LEN % 128 == 0. Most of this code comes from GnuPG's cipher/sha1.c. */ void sha512_process_block (const void *buffer, size_t len, struct sha512_ctx *ctx) { u64 const *words = buffer; u64 const *endp = words + len / sizeof (u64); u64 x[16]; u64 a = ctx->state[0]; u64 b = ctx->state[1]; u64 c = ctx->state[2]; u64 d = ctx->state[3]; u64 e = ctx->state[4]; u64 f = ctx->state[5]; u64 g = ctx->state[6]; u64 h = ctx->state[7]; /* First increment the byte count. FIPS PUB 180-2 specifies the possible length of the file up to 2^128 bits. Here we only compute the number of bytes. Do a double word increment. */ ctx->total[0] = u64plus (ctx->total[0], u64lo (len)); if (u64lt (ctx->total[0], u64lo (len))) ctx->total[1] = u64plus (ctx->total[1], u64lo (1)); #define S0(x) u64xor (u64rol(x, 63), u64xor (u64rol (x, 56), u64shr (x, 7))) #define S1(x) u64xor (u64rol (x, 45), u64xor (u64rol (x, 3), u64shr (x, 6))) #define SS0(x) u64xor (u64rol (x, 36), u64xor (u64rol (x, 30), u64rol (x, 25))) #define SS1(x) u64xor (u64rol(x, 50), u64xor (u64rol (x, 46), u64rol (x, 23))) #define M(I) (x[(I) & 15] \ = u64plus (x[(I) & 15], \ u64plus (S1 (x[((I) - 2) & 15]), \ u64plus (x[((I) - 7) & 15], \ S0 (x[((I) - 15) & 15]))))) #define R(A, B, C, D, E, F, G, H, K, M) \ do \ { \ u64 t0 = u64plus (SS0 (A), F2 (A, B, C)); \ u64 t1 = \ u64plus (H, u64plus (SS1 (E), \ u64plus (F1 (E, F, G), u64plus (K, M)))); \ D = u64plus (D, t1); \ H = u64plus (t0, t1); \ } \ while (0) while (words < endp) { int t; /* FIXME: see sha1.c for a better implementation. */ for (t = 0; t < 16; t++) { x[t] = SWAP (*words); words++; } R( a, b, c, d, e, f, g, h, K( 0), x[ 0] ); R( h, a, b, c, d, e, f, g, K( 1), x[ 1] ); R( g, h, a, b, c, d, e, f, K( 2), x[ 2] ); R( f, g, h, a, b, c, d, e, K( 3), x[ 3] ); R( e, f, g, h, a, b, c, d, K( 4), x[ 4] ); R( d, e, f, g, h, a, b, c, K( 5), x[ 5] ); R( c, d, e, f, g, h, a, b, K( 6), x[ 6] ); R( b, c, d, e, f, g, h, a, K( 7), x[ 7] ); R( a, b, c, d, e, f, g, h, K( 8), x[ 8] ); R( h, a, b, c, d, e, f, g, K( 9), x[ 9] ); R( g, h, a, b, c, d, e, f, K(10), x[10] ); R( f, g, h, a, b, c, d, e, K(11), x[11] ); R( e, f, g, h, a, b, c, d, K(12), x[12] ); R( d, e, f, g, h, a, b, c, K(13), x[13] ); R( c, d, e, f, g, h, a, b, K(14), x[14] ); R( b, c, d, e, f, g, h, a, K(15), x[15] ); R( a, b, c, d, e, f, g, h, K(16), M(16) ); R( h, a, b, c, d, e, f, g, K(17), M(17) ); R( g, h, a, b, c, d, e, f, K(18), M(18) ); R( f, g, h, a, b, c, d, e, K(19), M(19) ); R( e, f, g, h, a, b, c, d, K(20), M(20) ); R( d, e, f, g, h, a, b, c, K(21), M(21) ); R( c, d, e, f, g, h, a, b, K(22), M(22) ); R( b, c, d, e, f, g, h, a, K(23), M(23) ); R( a, b, c, d, e, f, g, h, K(24), M(24) ); R( h, a, b, c, d, e, f, g, K(25), M(25) ); R( g, h, a, b, c, d, e, f, K(26), M(26) ); R( f, g, h, a, b, c, d, e, K(27), M(27) ); R( e, f, g, h, a, b, c, d, K(28), M(28) ); R( d, e, f, g, h, a, b, c, K(29), M(29) ); R( c, d, e, f, g, h, a, b, K(30), M(30) ); R( b, c, d, e, f, g, h, a, K(31), M(31) ); R( a, b, c, d, e, f, g, h, K(32), M(32) ); R( h, a, b, c, d, e, f, g, K(33), M(33) ); R( g, h, a, b, c, d, e, f, K(34), M(34) ); R( f, g, h, a, b, c, d, e, K(35), M(35) ); R( e, f, g, h, a, b, c, d, K(36), M(36) ); R( d, e, f, g, h, a, b, c, K(37), M(37) ); R( c, d, e, f, g, h, a, b, K(38), M(38) ); R( b, c, d, e, f, g, h, a, K(39), M(39) ); R( a, b, c, d, e, f, g, h, K(40), M(40) ); R( h, a, b, c, d, e, f, g, K(41), M(41) ); R( g, h, a, b, c, d, e, f, K(42), M(42) ); R( f, g, h, a, b, c, d, e, K(43), M(43) ); R( e, f, g, h, a, b, c, d, K(44), M(44) ); R( d, e, f, g, h, a, b, c, K(45), M(45) ); R( c, d, e, f, g, h, a, b, K(46), M(46) ); R( b, c, d, e, f, g, h, a, K(47), M(47) ); R( a, b, c, d, e, f, g, h, K(48), M(48) ); R( h, a, b, c, d, e, f, g, K(49), M(49) ); R( g, h, a, b, c, d, e, f, K(50), M(50) ); R( f, g, h, a, b, c, d, e, K(51), M(51) ); R( e, f, g, h, a, b, c, d, K(52), M(52) ); R( d, e, f, g, h, a, b, c, K(53), M(53) ); R( c, d, e, f, g, h, a, b, K(54), M(54) ); R( b, c, d, e, f, g, h, a, K(55), M(55) ); R( a, b, c, d, e, f, g, h, K(56), M(56) ); R( h, a, b, c, d, e, f, g, K(57), M(57) ); R( g, h, a, b, c, d, e, f, K(58), M(58) ); R( f, g, h, a, b, c, d, e, K(59), M(59) ); R( e, f, g, h, a, b, c, d, K(60), M(60) ); R( d, e, f, g, h, a, b, c, K(61), M(61) ); R( c, d, e, f, g, h, a, b, K(62), M(62) ); R( b, c, d, e, f, g, h, a, K(63), M(63) ); R( a, b, c, d, e, f, g, h, K(64), M(64) ); R( h, a, b, c, d, e, f, g, K(65), M(65) ); R( g, h, a, b, c, d, e, f, K(66), M(66) ); R( f, g, h, a, b, c, d, e, K(67), M(67) ); R( e, f, g, h, a, b, c, d, K(68), M(68) ); R( d, e, f, g, h, a, b, c, K(69), M(69) ); R( c, d, e, f, g, h, a, b, K(70), M(70) ); R( b, c, d, e, f, g, h, a, K(71), M(71) ); R( a, b, c, d, e, f, g, h, K(72), M(72) ); R( h, a, b, c, d, e, f, g, K(73), M(73) ); R( g, h, a, b, c, d, e, f, K(74), M(74) ); R( f, g, h, a, b, c, d, e, K(75), M(75) ); R( e, f, g, h, a, b, c, d, K(76), M(76) ); R( d, e, f, g, h, a, b, c, K(77), M(77) ); R( c, d, e, f, g, h, a, b, K(78), M(78) ); R( b, c, d, e, f, g, h, a, K(79), M(79) ); a = ctx->state[0] = u64plus (ctx->state[0], a); b = ctx->state[1] = u64plus (ctx->state[1], b); c = ctx->state[2] = u64plus (ctx->state[2], c); d = ctx->state[3] = u64plus (ctx->state[3], d); e = ctx->state[4] = u64plus (ctx->state[4], e); f = ctx->state[5] = u64plus (ctx->state[5], f); g = ctx->state[6] = u64plus (ctx->state[6], g); h = ctx->state[7] = u64plus (ctx->state[7], h); } } dc3dd-7.1.614/lib/rand-isaac.c0000644000175000017500000002010411022023316015336 0ustar amedicoamedico/* Bob Jenkins's cryptographic random number generator, ISAAC. Copyright (C) 1999-2006 Free Software Foundation, Inc. Copyright (C) 1997, 1998, 1999 Colin Plumb. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Colin Plumb. */ /* * -------------------------------------------------------------------- * We need a source of random numbers for some data. * Cryptographically secure is desirable, but it's not life-or-death * so I can be a little bit experimental in the choice of RNGs here. * * This generator is based somewhat on RC4, but has analysis * * pointing to it actually being better. I like it because it's nice * and fast, and because the author did good work analyzing it. * -------------------------------------------------------------------- */ #include #include "rand-isaac.h" #include #include #include "gethrxtime.h" /* This index operation is more efficient on many processors */ #define ind(mm, x) \ (* (uint32_t *) ((char *) (mm) \ + ((x) & (ISAAC_WORDS - 1) * sizeof (uint32_t)))) /* * The central step. This uses two temporaries, x and y. mm is the * whole state array, while m is a pointer to the current word. off is * the offset from m to the word ISAAC_WORDS/2 words away in the mm array, * i.e. +/- ISAAC_WORDS/2. */ #define isaac_step(mix, a, b, mm, m, off, r) \ ( \ a = ((a) ^ (mix)) + (m)[off], \ x = *(m), \ *(m) = y = ind (mm, x) + (a) + (b), \ *(r) = b = ind (mm, (y) >> ISAAC_LOG) + x \ ) /* Use and update *S to generate random data to fill R. */ void isaac_refill (struct isaac_state *s, uint32_t r[ISAAC_WORDS]) { uint32_t a, b; /* Caches of a and b */ uint32_t x, y; /* Temps needed by isaac_step macro */ uint32_t *m = s->mm; /* Pointer into state array */ a = s->a; b = s->b + (++s->c); do { isaac_step (a << 13, a, b, s->mm, m, ISAAC_WORDS / 2, r); isaac_step (a >> 6, a, b, s->mm, m + 1, ISAAC_WORDS / 2, r + 1); isaac_step (a << 2, a, b, s->mm, m + 2, ISAAC_WORDS / 2, r + 2); isaac_step (a >> 16, a, b, s->mm, m + 3, ISAAC_WORDS / 2, r + 3); r += 4; } while ((m += 4) < s->mm + ISAAC_WORDS / 2); do { isaac_step (a << 13, a, b, s->mm, m, -ISAAC_WORDS / 2, r); isaac_step (a >> 6, a, b, s->mm, m + 1, -ISAAC_WORDS / 2, r + 1); isaac_step (a << 2, a, b, s->mm, m + 2, -ISAAC_WORDS / 2, r + 2); isaac_step (a >> 16, a, b, s->mm, m + 3, -ISAAC_WORDS / 2, r + 3); r += 4; } while ((m += 4) < s->mm + ISAAC_WORDS); s->a = a; s->b = b; } /* * The basic seed-scrambling step for initialization, based on Bob * Jenkins' 256-bit hash. */ #define mix(a,b,c,d,e,f,g,h) \ ( a ^= b << 11, d += a, \ b += c, b ^= c >> 2, e += b, \ c += d, c ^= d << 8, f += c, \ d += e, d ^= e >> 16, g += d, \ e += f, e ^= f << 10, h += e, \ f += g, f ^= g >> 4, a += f, \ g += h, g ^= h << 8, b += g, \ h += a, h ^= a >> 9, c += h, \ a += b ) /* The basic ISAAC initialization pass. */ static void isaac_mix (struct isaac_state *s, uint32_t const seed[/* ISAAC_WORDS */]) { int i; uint32_t a = s->iv[0]; uint32_t b = s->iv[1]; uint32_t c = s->iv[2]; uint32_t d = s->iv[3]; uint32_t e = s->iv[4]; uint32_t f = s->iv[5]; uint32_t g = s->iv[6]; uint32_t h = s->iv[7]; for (i = 0; i < ISAAC_WORDS; i += 8) { a += seed[i]; b += seed[i + 1]; c += seed[i + 2]; d += seed[i + 3]; e += seed[i + 4]; f += seed[i + 5]; g += seed[i + 6]; h += seed[i + 7]; mix (a, b, c, d, e, f, g, h); s->mm[i] = a; s->mm[i + 1] = b; s->mm[i + 2] = c; s->mm[i + 3] = d; s->mm[i + 4] = e; s->mm[i + 5] = f; s->mm[i + 6] = g; s->mm[i + 7] = h; } s->iv[0] = a; s->iv[1] = b; s->iv[2] = c; s->iv[3] = d; s->iv[4] = e; s->iv[5] = f; s->iv[6] = g; s->iv[7] = h; } #if 0 /* Provided for reference only; not used in this code */ /* * Initialize the ISAAC RNG with the given seed material. * Its size MUST be a multiple of ISAAC_BYTES, and may be * stored in the s->mm array. * * This is a generalization of the original ISAAC initialization code * to support larger seed sizes. For seed sizes of 0 and ISAAC_BYTES, * it is identical. */ static void isaac_init (struct isaac_state *s, uint32_t const *seed, size_t seedsize) { static uint32_t const iv[8] = { 0x1367df5a, 0x95d90059, 0xc3163e4b, 0x0f421ad8, 0xd92a4a78, 0xa51a3c49, 0xc4efea1b, 0x30609119}; int i; # if 0 /* The initialization of iv is a precomputed form of: */ for (i = 0; i < 7; i++) iv[i] = 0x9e3779b9; /* the golden ratio */ for (i = 0; i < 4; ++i) /* scramble it */ mix (iv[0], iv[1], iv[2], iv[3], iv[4], iv[5], iv[6], iv[7]); # endif s->a = s->b = s->c = 0; for (i = 0; i < 8; i++) s->iv[i] = iv[i]; if (seedsize) { /* First pass (as in reference ISAAC code) */ isaac_mix (s, seed); /* Second and subsequent passes (extension to ISAAC) */ while (seedsize -= ISAAC_BYTES) { seed += ISAAC_WORDS; for (i = 0; i < ISAAC_WORDS; i++) s->mm[i] += seed[i]; isaac_mix (s, s->mm); } } else { /* The no seed case (as in reference ISAAC code) */ for (i = 0; i < ISAAC_WORDS; i++) s->mm[i] = 0; } /* Final pass */ isaac_mix (s, s->mm); } #endif /* Initialize *S to a somewhat-random value. */ static void isaac_seed_start (struct isaac_state *s) { static uint32_t const iv[8] = { 0x1367df5a, 0x95d90059, 0xc3163e4b, 0x0f421ad8, 0xd92a4a78, 0xa51a3c49, 0xc4efea1b, 0x30609119 }; #if 0 /* The initialization of iv is a precomputed form of: */ int i; for (i = 0; i < 7; i++) iv[i] = 0x9e3779b9; /* the golden ratio */ for (i = 0; i < 4; ++i) /* scramble it */ mix (iv[0], iv[1], iv[2], iv[3], iv[4], iv[5], iv[6], iv[7]); #endif memset (s->mm, 0, sizeof s->mm); memcpy (s->iv, iv, sizeof s->iv); /* s->c gets used for a data pointer during the seeding phase */ s->a = s->b = s->c = 0; } /* Add a buffer of seed material. */ static void isaac_seed_data (struct isaac_state *s, void const *buffer, size_t size) { unsigned char const *buf = buffer; unsigned char *p; size_t avail; size_t i; avail = sizeof s->mm - s->c; /* s->c is used as a write pointer */ /* Do any full buffers that are necessary */ while (size > avail) { p = (unsigned char *) s->mm + s->c; for (i = 0; i < avail; i++) p[i] ^= buf[i]; buf += avail; size -= avail; isaac_mix (s, s->mm); s->c = 0; avail = sizeof s->mm; } /* And the final partial block */ p = (unsigned char *) s->mm + s->c; for (i = 0; i < size; i++) p[i] ^= buf[i]; s->c = size; } /* End of seeding phase; get everything ready to produce output. */ static void isaac_seed_finish (struct isaac_state *s) { isaac_mix (s, s->mm); isaac_mix (s, s->mm); /* Now reinitialize c to start things off right */ s->c = 0; } #define ISAAC_SEED(s,x) isaac_seed_data (s, &(x), sizeof (x)) /* Initialize *S to a somewhat-random value; this starts seeding, seeds with somewhat-random data, and finishes seeding. */ void isaac_seed (struct isaac_state *s) { isaac_seed_start (s); { pid_t t = getpid (); ISAAC_SEED (s, t); } { pid_t t = getppid (); ISAAC_SEED (s, t); } { uid_t t = getuid (); ISAAC_SEED (s, t); } { gid_t t = getgid (); ISAAC_SEED (s, t); } { xtime_t t = gethrxtime (); ISAAC_SEED (s, t); } isaac_seed_finish (s); } dc3dd-7.1.614/lib/xstrtod.c0000644000175000017500000000377011022023316015055 0ustar amedicoamedico/* error-checking interface to strtod-like functions Copyright (C) 1996, 1999, 2000, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "xstrtod.h" #include #include #include #if LONG # define XSTRTOD xstrtold # define DOUBLE long double #else # define XSTRTOD xstrtod # define DOUBLE double #endif /* An interface to a string-to-floating-point conversion function that encapsulates all the error checking one should usually perform. Like strtod/strtold, but upon successful conversion put the result in *RESULT and return true. Return false and don't modify *RESULT upon any failure. CONVERT specifies the conversion function, e.g., strtod itself. */ bool XSTRTOD (char const *str, char const **ptr, DOUBLE *result, DOUBLE (*convert) (char const *, char **)) { DOUBLE val; char *terminator; bool ok = true; errno = 0; val = convert (str, &terminator); /* Having a non-zero terminator is an error only when PTR is NULL. */ if (terminator == str || (ptr == NULL && *terminator != '\0')) ok = false; else { /* Allow underflow (in which case CONVERT returns zero), but flag overflow as an error. */ if (val != 0 && errno == ERANGE) ok = false; } if (ptr != NULL) *ptr = terminator; *result = val; return ok; } dc3dd-7.1.614/lib/long-options.c0000644000175000017500000000434711022023316015777 0ustar amedicoamedico/* Utility to accept --help and --version options as unobtrusively as possible. Copyright (C) 1993, 1994, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include /* Specification. */ #include "long-options.h" #include #include #include #include #include "version-etc.h" static struct option const long_options[] = { {"help", no_argument, NULL, 'h'}, {"version", no_argument, NULL, 'v'}, {NULL, 0, NULL, 0} }; /* Process long options --help and --version, but only if argc == 2. Be careful not to gobble up `--'. */ void parse_long_options (int argc, char **argv, const char *command_name, const char *package, const char *version, void (*usage_func) (int), /* const char *author1, ...*/ ...) { int c; int saved_opterr; saved_opterr = opterr; /* Don't print an error message for unrecognized options. */ opterr = 0; if (argc == 2 && (c = getopt_long (argc, argv, "+", long_options, NULL)) != -1) { switch (c) { case 'h': (*usage_func) (EXIT_SUCCESS); case 'v': { va_list authors; va_start (authors, usage_func); version_etc_va (stdout, command_name, package, version, authors); exit (0); } default: /* Don't process any other long-named options. */ break; } } /* Restore previous value. */ opterr = saved_opterr; /* Reset this to zero so that getopt internals get initialized from the probably-new parameters when/if getopt is called later. */ optind = 0; } dc3dd-7.1.614/lib/close-stream.c0000644000175000017500000000543611022023316015745 0ustar amedicoamedico/* Close a stream, with nicer error checking than fclose's. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "close-stream.h" #include #include #include "fpending.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* Close STREAM. Return 0 if successful, EOF (setting errno) otherwise. A failure might set errno to 0 if the error number cannot be determined. If a program writes *anything* to STREAM, that program should close STREAM and make sure that it succeeds before exiting. Otherwise, suppose that you go to the extreme of checking the return status of every function that does an explicit write to STREAM. The last printf can succeed in writing to the internal stream buffer, and yet the fclose(STREAM) could still fail (due e.g., to a disk full error) when it tries to write out that buffered data. Thus, you would be left with an incomplete output file and the offending program would exit successfully. Even calling fflush is not always sufficient, since some file systems (NFS and CODA) buffer written/flushed data until an actual close call. Besides, it's wasteful to check the return value from every call that writes to STREAM -- just let the internal stream state record the failure. That's what the ferror test is checking below. */ int close_stream (FILE *stream) { bool some_pending = (__fpending (stream) != 0); bool prev_fail = (ferror (stream) != 0); bool fclose_fail = (fclose (stream) != 0); /* Return an error indication if there was a previous failure or if fclose failed, with one exception: ignore an fclose failure if there was no previous error, no data remains to be flushed, and fclose failed with EBADF. That can happen when a program like cp is invoked like this `cp a b >&-' (i.e., with standard output closed) and doesn't generate any output (hence no previous error and nothing to be flushed). */ if (prev_fail || (fclose_fail && (some_pending || errno != EBADF))) { if (! fclose_fail) errno = 0; return EOF; } return 0; } dc3dd-7.1.614/lib/fflush.c0000644000175000017500000001311111064230667014642 0ustar amedicoamedico/* fflush.c -- allow flushing input streams Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Eric Blake. */ #include /* Specification. */ #include #include #include #include "freading.h" #include "fpurge.h" #include "stdio-impl.h" #undef fflush static inline void clear_ungetc_buffer (FILE *fp) { #if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ if (HASUB (fp)) { fp_->_p += fp_->_r; fp_->_r = 0; } #endif } #if (defined __sferror || defined __DragonFly__) && defined __SNPT /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ static inline int disable_seek_optimization (FILE *fp) { int saved_flags = fp_->_flags & (__SOPT | __SNPT); fp_->_flags = (fp_->_flags & ~__SOPT) | __SNPT; return saved_flags; } static inline void restore_seek_optimization (FILE *fp, int saved_flags) { fp_->_flags = (fp_->_flags & ~(__SOPT | __SNPT)) | saved_flags; } #endif static inline void update_fpos_cache (FILE *fp, off_t pos) { #if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ fp_->_offset = pos; fp_->_flags |= __SOFF; #endif } /* Flush all pending data on STREAM according to POSIX rules. Both output and seekable input streams are supported. */ int rpl_fflush (FILE *stream) { int result; off_t pos; /* When stream is NULL, POSIX and C99 only require flushing of "output streams and update streams in which the most recent operation was not input", and all implementations do this. When stream is "an output stream or an update stream in which the most recent operation was not input", POSIX and C99 requires that fflush writes out any buffered data, and all implementations do this. When stream is, however, an input stream or an update stream in which the most recent operation was input, C99 specifies nothing, and POSIX only specifies behavior if the stream is seekable. mingw, in particular, drops the input buffer, leaving the file descriptor positioned at the end of the input buffer. I.e. ftell (stream) is lost. We don't want to call the implementation's fflush in this case. We test ! freading (stream) here, rather than fwriting (stream), because what we need to know is whether the stream holds a "read buffer", and on mingw this is indicated by _IOREAD, regardless of _IOWRT. */ if (stream == NULL || ! freading (stream)) return fflush (stream); /* Clear the ungetc buffer. This is needed before fetching the file-position indicator, because 1) The file position indicator is incremented by fgetc() and decremented by ungetc(): "... the fgetc() function shall ... advance the associated file position indicator for the stream ..." "The file-position indicator is decremented by each successful call to ungetc()..." 2) says: "The value of the file-position indicator for the stream after reading or discarding all pushed-back bytes shall be the same as it was before the bytes were pushed back." 3) Here we are discarding all pushed-back bytes. Unfortunately it is impossible to implement this on platforms with _IOERR, because an ungetc() on this platform prepends the pushed-back bytes to the buffer without an indication of the limit between the pushed-back bytes and the read-ahead bytes. */ clear_ungetc_buffer (stream); /* POSIX does not specify fflush behavior for non-seekable input streams. Some implementations purge unread data, some return EBADF, some do nothing. */ pos = ftello (stream); if (pos == -1) { errno = EBADF; return EOF; } /* To get here, we must be flushing a seekable input stream, so the semantics of fpurge are now appropriate to clear the buffer. To avoid losing data, the lseek is also necessary. */ result = fpurge (stream); if (result != 0) return result; #if (defined __sferror || defined __DragonFly__) && defined __SNPT /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ { /* Disable seek optimization for the next fseeko call. This tells the following fseeko call to seek to the desired position directly, rather than to seek to a block-aligned boundary. */ int saved_flags = disable_seek_optimization (stream); result = fseeko (stream, pos, SEEK_SET); restore_seek_optimization (stream, saved_flags); } return result; #else pos = lseek (fileno (stream), pos, SEEK_SET); if (pos == -1) return EOF; /* After a successful lseek, update the file descriptor's position cache in the stream. */ update_fpos_cache (stream, pos); return 0; #endif } dc3dd-7.1.614/lib/openat-priv.h0000644000175000017500000000343411022023316015614 0ustar amedicoamedico/* Internals for openat-like functions. Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include #define OPENAT_BUFFER_SIZE 512 char *openat_proc_name (char buf[OPENAT_BUFFER_SIZE], int fd, char const *file); /* Some systems don't have ENOSYS. */ #ifndef ENOSYS # ifdef ENOTSUP # define ENOSYS ENOTSUP # else /* Some systems don't have ENOTSUP either. */ # define ENOSYS EINVAL # endif #endif /* Some systems don't have EOPNOTSUPP. */ #ifndef EOPNOTSUPP # ifdef ENOTSUP # define EOPNOTSUPP ENOTSUP # else /* Some systems don't have ENOTSUP either. */ # define EOPNOTSUPP EINVAL # endif #endif /* Trying to access a BUILD_PROC_NAME file will fail on systems without /proc support, and even on systems *with* ProcFS support. Return nonzero if the failure may be legitimate, e.g., because /proc is not readable, or the particular .../fd/N directory is not present. */ #define EXPECTED_ERRNO(Errno) \ ((Errno) == ENOTDIR || (Errno) == ENOENT \ || (Errno) == EPERM || (Errno) == EACCES \ || (Errno) == ENOSYS /* Solaris 8 */ \ || (Errno) == EOPNOTSUPP /* FreeBSD */) dc3dd-7.1.614/lib/strtol.c0000644000175000017500000002530411022023316014672 0ustar amedicoamedico/* Convert string representation of a number into an integer value. Copyright (C) 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ #ifdef _LIBC # define USE_NUMBER_GROUPING #else # include #endif #include #include #ifndef __set_errno # define __set_errno(Val) errno = (Val) #endif #include #include #include #include #ifdef USE_NUMBER_GROUPING # include "../locale/localeinfo.h" #endif /* Nonzero if we are defining `strtoul' or `strtoull', operating on unsigned integers. */ #ifndef UNSIGNED # define UNSIGNED 0 # define INT LONG int #else # define INT unsigned LONG int #endif /* Determine the name. */ #ifdef USE_IN_EXTENDED_LOCALE_MODEL # if UNSIGNED # ifdef USE_WIDE_CHAR # ifdef QUAD # define strtol __wcstoull_l # else # define strtol __wcstoul_l # endif # else # ifdef QUAD # define strtol __strtoull_l # else # define strtol __strtoul_l # endif # endif # else # ifdef USE_WIDE_CHAR # ifdef QUAD # define strtol __wcstoll_l # else # define strtol __wcstol_l # endif # else # ifdef QUAD # define strtol __strtoll_l # else # define strtol __strtol_l # endif # endif # endif #else # if UNSIGNED # ifdef USE_WIDE_CHAR # ifdef QUAD # define strtol wcstoull # else # define strtol wcstoul # endif # else # ifdef QUAD # define strtol strtoull # else # define strtol strtoul # endif # endif # else # ifdef USE_WIDE_CHAR # ifdef QUAD # define strtol wcstoll # else # define strtol wcstol # endif # else # ifdef QUAD # define strtol strtoll # endif # endif # endif #endif /* If QUAD is defined, we are defining `strtoll' or `strtoull', operating on `long long int's. */ #ifdef QUAD # define LONG long long # define STRTOL_LONG_MIN LONG_LONG_MIN # define STRTOL_LONG_MAX LONG_LONG_MAX # define STRTOL_ULONG_MAX ULONG_LONG_MAX /* The extra casts in the following macros work around compiler bugs, e.g., in Cray C 5.0.3.0. */ /* True if negative values of the signed integer type T use two's complement, ones' complement, or signed magnitude representation, respectively. Much GNU code assumes two's complement, but some people like to be portable to all possible C hosts. */ # define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) # define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) # define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) /* True if the arithmetic type T is signed. */ # define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* The maximum and minimum values for the integer type T. These macros have undefined behavior if T is signed and has padding bits. If this is a problem for you, please let us know how to fix it for your host. */ # define TYPE_MINIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) 0 \ : TYPE_SIGNED_MAGNITUDE (t) \ ? ~ (t) 0 \ : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) # define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) # ifndef ULONG_LONG_MAX # define ULONG_LONG_MAX TYPE_MAXIMUM (unsigned long long) # endif # ifndef LONG_LONG_MAX # define LONG_LONG_MAX TYPE_MAXIMUM (long long int) # endif # ifndef LONG_LONG_MIN # define LONG_LONG_MIN TYPE_MINIMUM (long long int) # endif # if __GNUC__ == 2 && __GNUC_MINOR__ < 7 /* Work around gcc bug with using this constant. */ static const unsigned long long int maxquad = ULONG_LONG_MAX; # undef STRTOL_ULONG_MAX # define STRTOL_ULONG_MAX maxquad # endif #else # define LONG long # define STRTOL_LONG_MIN LONG_MIN # define STRTOL_LONG_MAX LONG_MAX # define STRTOL_ULONG_MAX ULONG_MAX #endif /* We use this code also for the extended locale handling where the function gets as an additional argument the locale which has to be used. To access the values we have to redefine the _NL_CURRENT macro. */ #ifdef USE_IN_EXTENDED_LOCALE_MODEL # undef _NL_CURRENT # define _NL_CURRENT(category, item) \ (current->values[_NL_ITEM_INDEX (item)].string) # define LOCALE_PARAM , loc # define LOCALE_PARAM_PROTO , __locale_t loc #else # define LOCALE_PARAM # define LOCALE_PARAM_PROTO #endif #include #ifdef USE_WIDE_CHAR # include # define L_(Ch) L##Ch # define UCHAR_TYPE wint_t # define STRING_TYPE wchar_t # ifdef USE_IN_EXTENDED_LOCALE_MODEL # define ISSPACE(Ch) __iswspace_l ((Ch), loc) # define ISALPHA(Ch) __iswalpha_l ((Ch), loc) # define TOUPPER(Ch) __towupper_l ((Ch), loc) # else # define ISSPACE(Ch) iswspace (Ch) # define ISALPHA(Ch) iswalpha (Ch) # define TOUPPER(Ch) towupper (Ch) # endif #else # define L_(Ch) Ch # define UCHAR_TYPE unsigned char # define STRING_TYPE char # ifdef USE_IN_EXTENDED_LOCALE_MODEL # define ISSPACE(Ch) __isspace_l ((Ch), loc) # define ISALPHA(Ch) __isalpha_l ((Ch), loc) # define TOUPPER(Ch) __toupper_l ((Ch), loc) # else # define ISSPACE(Ch) isspace (Ch) # define ISALPHA(Ch) isalpha (Ch) # define TOUPPER(Ch) toupper (Ch) # endif #endif #define INTERNAL(X) INTERNAL1(X) #define INTERNAL1(X) __##X##_internal #define WEAKNAME(X) WEAKNAME1(X) #ifdef USE_NUMBER_GROUPING /* This file defines a function to check for correct grouping. */ # include "grouping.h" #endif /* Convert NPTR to an `unsigned long int' or `long int' in base BASE. If BASE is 0 the base is determined by the presence of a leading zero, indicating octal or a leading "0x" or "0X", indicating hexadecimal. If BASE is < 2 or > 36, it is reset to 10. If ENDPTR is not NULL, a pointer to the character after the last one converted is stored in *ENDPTR. */ INT INTERNAL (strtol) (const STRING_TYPE *nptr, STRING_TYPE **endptr, int base, int group LOCALE_PARAM_PROTO) { int negative; register unsigned LONG int cutoff; register unsigned int cutlim; register unsigned LONG int i; register const STRING_TYPE *s; register UCHAR_TYPE c; const STRING_TYPE *save, *end; int overflow; #ifdef USE_NUMBER_GROUPING # ifdef USE_IN_EXTENDED_LOCALE_MODEL struct locale_data *current = loc->__locales[LC_NUMERIC]; # endif /* The thousands character of the current locale. */ wchar_t thousands = L'\0'; /* The numeric grouping specification of the current locale, in the format described in . */ const char *grouping; if (group) { grouping = _NL_CURRENT (LC_NUMERIC, GROUPING); if (*grouping <= 0 || *grouping == CHAR_MAX) grouping = NULL; else { /* Figure out the thousands separator character. */ # if defined _LIBC || defined _HAVE_BTOWC thousands = __btowc (*_NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP)); if (thousands == WEOF) thousands = L'\0'; # endif if (thousands == L'\0') grouping = NULL; } } else grouping = NULL; #endif if (base < 0 || base == 1 || base > 36) { __set_errno (EINVAL); return 0; } save = s = nptr; /* Skip white space. */ while (ISSPACE (*s)) ++s; if (*s == L_('\0')) goto noconv; /* Check for a sign. */ if (*s == L_('-')) { negative = 1; ++s; } else if (*s == L_('+')) { negative = 0; ++s; } else negative = 0; /* Recognize number prefix and if BASE is zero, figure it out ourselves. */ if (*s == L_('0')) { if ((base == 0 || base == 16) && TOUPPER (s[1]) == L_('X')) { s += 2; base = 16; } else if (base == 0) base = 8; } else if (base == 0) base = 10; /* Save the pointer so we can check later if anything happened. */ save = s; #ifdef USE_NUMBER_GROUPING if (group) { /* Find the end of the digit string and check its grouping. */ end = s; for (c = *end; c != L_('\0'); c = *++end) if ((wchar_t) c != thousands && ((wchar_t) c < L_('0') || (wchar_t) c > L_('9')) && (!ISALPHA (c) || (int) (TOUPPER (c) - L_('A') + 10) >= base)) break; if (*s == thousands) end = s; else end = correctly_grouped_prefix (s, end, thousands, grouping); } else #endif end = NULL; cutoff = STRTOL_ULONG_MAX / (unsigned LONG int) base; cutlim = STRTOL_ULONG_MAX % (unsigned LONG int) base; overflow = 0; i = 0; for (c = *s; c != L_('\0'); c = *++s) { if (s == end) break; if (c >= L_('0') && c <= L_('9')) c -= L_('0'); else if (ISALPHA (c)) c = TOUPPER (c) - L_('A') + 10; else break; if ((int) c >= base) break; /* Check for overflow. */ if (i > cutoff || (i == cutoff && c > cutlim)) overflow = 1; else { i *= (unsigned LONG int) base; i += c; } } /* Check if anything actually happened. */ if (s == save) goto noconv; /* Store in ENDPTR the address of one character past the last character we converted. */ if (endptr != NULL) *endptr = (STRING_TYPE *) s; #if !UNSIGNED /* Check for a value that is within the range of `unsigned LONG int', but outside the range of `LONG int'. */ if (overflow == 0 && i > (negative ? -((unsigned LONG int) (STRTOL_LONG_MIN + 1)) + 1 : (unsigned LONG int) STRTOL_LONG_MAX)) overflow = 1; #endif if (overflow) { __set_errno (ERANGE); #if UNSIGNED return STRTOL_ULONG_MAX; #else return negative ? STRTOL_LONG_MIN : STRTOL_LONG_MAX; #endif } /* Return the result of the appropriate sign. */ return negative ? -i : i; noconv: /* We must handle a special case here: the base is 0 or 16 and the first two characters are '0' and 'x', but the rest are no hexadecimal digits. This is no error case. We return 0 and ENDPTR points to the `x`. */ if (endptr != NULL) { if (save - nptr >= 2 && TOUPPER (save[-1]) == L_('X') && save[-2] == L_('0')) *endptr = (STRING_TYPE *) &save[-1]; else /* There was no number to convert. */ *endptr = (STRING_TYPE *) nptr; } return 0L; } /* External user entry point. */ INT #ifdef weak_function weak_function #endif strtol (const STRING_TYPE *nptr, STRING_TYPE **endptr, int base LOCALE_PARAM_PROTO) { return INTERNAL (strtol) (nptr, endptr, base, 0 LOCALE_PARAM); } dc3dd-7.1.614/lib/float+.h0000644000175000017500000001320611064230667014545 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Supplemental information about the floating-point formats. Copyright (C) 2007 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _FLOATPLUS_H #define _FLOATPLUS_H #include #include /* Number of bits in the mantissa of a floating-point number, including the "hidden bit". */ #if FLT_RADIX == 2 # define FLT_MANT_BIT FLT_MANT_DIG # define DBL_MANT_BIT DBL_MANT_DIG # define LDBL_MANT_BIT LDBL_MANT_DIG #elif FLT_RADIX == 4 # define FLT_MANT_BIT (FLT_MANT_DIG * 2) # define DBL_MANT_BIT (DBL_MANT_DIG * 2) # define LDBL_MANT_BIT (LDBL_MANT_DIG * 2) #elif FLT_RADIX == 16 # define FLT_MANT_BIT (FLT_MANT_DIG * 4) # define DBL_MANT_BIT (DBL_MANT_DIG * 4) # define LDBL_MANT_BIT (LDBL_MANT_DIG * 4) #endif /* Bit mask that can be used to mask the exponent, as an unsigned number. */ #define FLT_EXP_MASK ((FLT_MAX_EXP - FLT_MIN_EXP) | 7) #define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7) #define LDBL_EXP_MASK ((LDBL_MAX_EXP - LDBL_MIN_EXP) | 7) /* Number of bits used for the exponent of a floating-point number, including the exponent's sign. */ #define FLT_EXP_BIT \ (FLT_EXP_MASK < 0x100 ? 8 : \ FLT_EXP_MASK < 0x200 ? 9 : \ FLT_EXP_MASK < 0x400 ? 10 : \ FLT_EXP_MASK < 0x800 ? 11 : \ FLT_EXP_MASK < 0x1000 ? 12 : \ FLT_EXP_MASK < 0x2000 ? 13 : \ FLT_EXP_MASK < 0x4000 ? 14 : \ FLT_EXP_MASK < 0x8000 ? 15 : \ FLT_EXP_MASK < 0x10000 ? 16 : \ FLT_EXP_MASK < 0x20000 ? 17 : \ FLT_EXP_MASK < 0x40000 ? 18 : \ FLT_EXP_MASK < 0x80000 ? 19 : \ FLT_EXP_MASK < 0x100000 ? 20 : \ FLT_EXP_MASK < 0x200000 ? 21 : \ FLT_EXP_MASK < 0x400000 ? 22 : \ FLT_EXP_MASK < 0x800000 ? 23 : \ FLT_EXP_MASK < 0x1000000 ? 24 : \ FLT_EXP_MASK < 0x2000000 ? 25 : \ FLT_EXP_MASK < 0x4000000 ? 26 : \ FLT_EXP_MASK < 0x8000000 ? 27 : \ FLT_EXP_MASK < 0x10000000 ? 28 : \ FLT_EXP_MASK < 0x20000000 ? 29 : \ FLT_EXP_MASK < 0x40000000 ? 30 : \ FLT_EXP_MASK <= 0x7fffffff ? 31 : \ 32) #define DBL_EXP_BIT \ (DBL_EXP_MASK < 0x100 ? 8 : \ DBL_EXP_MASK < 0x200 ? 9 : \ DBL_EXP_MASK < 0x400 ? 10 : \ DBL_EXP_MASK < 0x800 ? 11 : \ DBL_EXP_MASK < 0x1000 ? 12 : \ DBL_EXP_MASK < 0x2000 ? 13 : \ DBL_EXP_MASK < 0x4000 ? 14 : \ DBL_EXP_MASK < 0x8000 ? 15 : \ DBL_EXP_MASK < 0x10000 ? 16 : \ DBL_EXP_MASK < 0x20000 ? 17 : \ DBL_EXP_MASK < 0x40000 ? 18 : \ DBL_EXP_MASK < 0x80000 ? 19 : \ DBL_EXP_MASK < 0x100000 ? 20 : \ DBL_EXP_MASK < 0x200000 ? 21 : \ DBL_EXP_MASK < 0x400000 ? 22 : \ DBL_EXP_MASK < 0x800000 ? 23 : \ DBL_EXP_MASK < 0x1000000 ? 24 : \ DBL_EXP_MASK < 0x2000000 ? 25 : \ DBL_EXP_MASK < 0x4000000 ? 26 : \ DBL_EXP_MASK < 0x8000000 ? 27 : \ DBL_EXP_MASK < 0x10000000 ? 28 : \ DBL_EXP_MASK < 0x20000000 ? 29 : \ DBL_EXP_MASK < 0x40000000 ? 30 : \ DBL_EXP_MASK <= 0x7fffffff ? 31 : \ 32) #define LDBL_EXP_BIT \ (LDBL_EXP_MASK < 0x100 ? 8 : \ LDBL_EXP_MASK < 0x200 ? 9 : \ LDBL_EXP_MASK < 0x400 ? 10 : \ LDBL_EXP_MASK < 0x800 ? 11 : \ LDBL_EXP_MASK < 0x1000 ? 12 : \ LDBL_EXP_MASK < 0x2000 ? 13 : \ LDBL_EXP_MASK < 0x4000 ? 14 : \ LDBL_EXP_MASK < 0x8000 ? 15 : \ LDBL_EXP_MASK < 0x10000 ? 16 : \ LDBL_EXP_MASK < 0x20000 ? 17 : \ LDBL_EXP_MASK < 0x40000 ? 18 : \ LDBL_EXP_MASK < 0x80000 ? 19 : \ LDBL_EXP_MASK < 0x100000 ? 20 : \ LDBL_EXP_MASK < 0x200000 ? 21 : \ LDBL_EXP_MASK < 0x400000 ? 22 : \ LDBL_EXP_MASK < 0x800000 ? 23 : \ LDBL_EXP_MASK < 0x1000000 ? 24 : \ LDBL_EXP_MASK < 0x2000000 ? 25 : \ LDBL_EXP_MASK < 0x4000000 ? 26 : \ LDBL_EXP_MASK < 0x8000000 ? 27 : \ LDBL_EXP_MASK < 0x10000000 ? 28 : \ LDBL_EXP_MASK < 0x20000000 ? 29 : \ LDBL_EXP_MASK < 0x40000000 ? 30 : \ LDBL_EXP_MASK <= 0x7fffffff ? 31 : \ 32) /* Number of bits used for a floating-point number: the mantissa (not counting the "hidden bit", since it may or may not be explicit), the exponent, and the sign. */ #define FLT_TOTAL_BIT ((FLT_MANT_BIT - 1) + FLT_EXP_BIT + 1) #define DBL_TOTAL_BIT ((DBL_MANT_BIT - 1) + DBL_EXP_BIT + 1) #define LDBL_TOTAL_BIT ((LDBL_MANT_BIT - 1) + LDBL_EXP_BIT + 1) /* Number of bytes used for a floating-point number. This can be smaller than the 'sizeof'. For example, on i386 systems, 'long double' most often have LDBL_MANT_BIT = 64, LDBL_EXP_BIT = 16, hence LDBL_TOTAL_BIT = 80 bits, i.e. 10 bytes of consecutive memory, but sizeof (long double) = 12 or = 16. */ #define SIZEOF_FLT ((FLT_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) #define SIZEOF_DBL ((DBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) #define SIZEOF_LDBL ((LDBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT) /* Verify that SIZEOF_FLT <= sizeof (float) etc. */ typedef int verify_sizeof_flt[2 * (SIZEOF_FLT <= sizeof (float)) - 1]; typedef int verify_sizeof_dbl[2 * (SIZEOF_DBL <= sizeof (double)) - 1]; typedef int verify_sizeof_ldbl[2 * (SIZEOF_LDBL <= sizeof (long double)) - 1]; #endif /* _FLOATPLUS_H */ dc3dd-7.1.614/lib/root-dev-ino.h0000644000175000017500000000315111022023316015666 0ustar amedicoamedico/* Root device and inode number checking. Copyright (C) 2003, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef ROOT_DEV_INO_H # define ROOT_DEV_INO_H 1 # include "dev-ino.h" # include "same-inode.h" struct dev_ino * get_root_dev_ino (struct dev_ino *root_d_i); /* These macros are common to the programs that support the --preserve-root and --no-preserve-root options. */ # define ROOT_DEV_INO_CHECK(Root_dev_ino, Dir_statbuf) \ (Root_dev_ino && SAME_INODE (*Dir_statbuf, *Root_dev_ino)) # define ROOT_DEV_INO_WARN(Dirname) \ do \ { \ if (STREQ (Dirname, "/")) \ error (0, 0, _("it is dangerous to operate recursively on %s"), \ quote (Dirname)); \ else \ error (0, 0, \ _("it is dangerous to operate recursively on %s (same as %s)"), \ quote_n (0, Dirname), quote_n (1, "/")); \ error (0, 0, _("use --no-preserve-root to override this failsafe")); \ } \ while (0) #endif dc3dd-7.1.614/lib/fpurge.h0000644000175000017500000000220411022023316014632 0ustar amedicoamedico/* Flushing buffers of a FILE stream. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GL_FPURGE_H #define _GL_FPURGE_H #include #ifdef __cplusplus extern "C" { #endif /* Discard all pending buffered I/O on the stream STREAM. STREAM must not be wide-character oriented. Return 0 if successful. Upon error, return -1 and set errno. */ #if HAVE_FPURGE # define fpurge rpl_fpurge #endif extern int fpurge (FILE *stream); #ifdef __cplusplus } #endif #endif /* _GL_FPURGE_H */ dc3dd-7.1.614/lib/strtoull.c0000644000175000017500000000201211022023316015222 0ustar amedicoamedico/* Function to parse an `unsigned long long int' from text. Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ #define QUAD 1 #include "strtoul.c" #ifdef _LIBC strong_alias (__strtoull_internal, __strtouq_internal) weak_alias (strtoull, strtouq) #endif dc3dd-7.1.614/lib/xmemxfrm.h0000644000175000017500000000012611022023316015206 0ustar amedicoamedico#include size_t xmemxfrm (char *restrict, size_t, char *restrict, size_t); dc3dd-7.1.614/lib/posixtm.h0000644000175000017500000000222711022023316015052 0ustar amedicoamedico/* Parse dates for touch and date. Copyright (C) 1998, 2003, 2005, 2007 Free Software Foundation Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Yacc-based version written by Jim Kingdon and David MacKenzie. Rewritten by Jim Meyering. */ #ifndef POSIXTM_H_ # define POSIXTM_H_ # include # include /* POSIX Date Syntax flags. */ # define PDS_LEADING_YEAR 1 # define PDS_TRAILING_YEAR 2 # define PDS_CENTURY 4 # define PDS_SECONDS 8 # define PDS_PRE_2000 16 bool posixtime (time_t *p, const char *s, unsigned int syntax_bits); #endif dc3dd-7.1.614/lib/utimens.c0000644000175000017500000001275511064230667015054 0ustar amedicoamedico/* Set file access and modification times. Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ /* Written by Paul Eggert. */ /* derived from a function in touch.c */ #include #include "utimens.h" #include #include #include #include #include #if HAVE_UTIME_H # include #endif /* Some systems (even some that do have ) don't declare this structure anywhere. */ #ifndef HAVE_STRUCT_UTIMBUF struct utimbuf { long actime; long modtime; }; #endif /* Some systems don't have ENOSYS. */ #ifndef ENOSYS # ifdef ENOTSUP # define ENOSYS ENOTSUP # else /* Some systems don't have ENOTSUP either. */ # define ENOSYS EINVAL # endif #endif #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) # endif #endif #ifndef ATTRIBUTE_UNUSED # define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) #endif /* Set the access and modification time stamps of FD (a.k.a. FILE) to be TIMESPEC[0] and TIMESPEC[1], respectively. FD must be either negative -- in which case it is ignored -- or a file descriptor that is open on FILE. If FD is nonnegative, then FILE can be NULL, which means use just futimes (or equivalent) instead of utimes (or equivalent), and fail if on an old system without futimes (or equivalent). If TIMESPEC is null, set the time stamps to the current time. Return 0 on success, -1 (setting errno) on failure. */ int gl_futimens (int fd ATTRIBUTE_UNUSED, char const *file, struct timespec const timespec[2]) { /* Some Linux-based NFS clients are buggy, and mishandle time stamps of files in NFS file systems in some cases. We have no configure-time test for this, but please see for references to some of the problems with Linux 2.6.16. If this affects you, compile with -DHAVE_BUGGY_NFS_TIME_STAMPS; this is reported to help in some cases, albeit at a cost in performance. But you really should upgrade your kernel to a fixed version, since the problem affects many applications. */ #if HAVE_BUGGY_NFS_TIME_STAMPS if (fd < 0) sync (); else fsync (fd); #endif /* POSIX 200x added two interfaces to set file timestamps with nanosecond resolution. */ #if HAVE_UTIMENSAT if (fd < 0) return utimensat (AT_FDCWD, file, timespec, 0); #endif #if HAVE_FUTIMENS return futimens (fd, timespec); #else /* The platform lacks an interface to set file timestamps with nanosecond resolution, so do the best we can, discarding any fractional part of the timestamp. */ { # if HAVE_FUTIMESAT || HAVE_WORKING_UTIMES struct timeval timeval[2]; struct timeval const *t; if (timespec) { timeval[0].tv_sec = timespec[0].tv_sec; timeval[0].tv_usec = timespec[0].tv_nsec / 1000; timeval[1].tv_sec = timespec[1].tv_sec; timeval[1].tv_usec = timespec[1].tv_nsec / 1000; t = timeval; } else t = NULL; if (fd < 0) { # if HAVE_FUTIMESAT return futimesat (AT_FDCWD, file, t); # endif } else { /* If futimesat or futimes fails here, don't try to speed things up by returning right away. glibc can incorrectly fail with errno == ENOENT if /proc isn't mounted. Also, Mandrake 10.0 in high security mode doesn't allow ordinary users to read /proc/self, so glibc incorrectly fails with errno == EACCES. If errno == EIO, EPERM, or EROFS, it's probably safe to fail right away, but these cases are rare enough that they're not worth optimizing, and who knows what other messed-up systems are out there? So play it safe and fall back on the code below. */ # if HAVE_FUTIMESAT if (futimesat (fd, NULL, t) == 0) return 0; # elif HAVE_FUTIMES if (futimes (fd, t) == 0) return 0; # endif } # endif /* HAVE_FUTIMESAT || HAVE_WORKING_UTIMES */ if (!file) { # if ! (HAVE_FUTIMESAT || (HAVE_WORKING_UTIMES && HAVE_FUTIMES)) errno = ENOSYS; # endif /* Prefer EBADF to ENOSYS if both error numbers apply. */ if (errno == ENOSYS) { int fd2 = dup (fd); int dup_errno = errno; if (0 <= fd2) close (fd2); errno = (fd2 < 0 && dup_errno == EBADF ? EBADF : ENOSYS); } return -1; } # if HAVE_WORKING_UTIMES return utimes (file, t); # else { struct utimbuf utimbuf; struct utimbuf const *ut; if (timespec) { utimbuf.actime = timespec[0].tv_sec; utimbuf.modtime = timespec[1].tv_sec; ut = &utimbuf; } else ut = NULL; return utime (file, ut); } # endif /* !HAVE_WORKING_UTIMES */ } #endif /* !HAVE_FUTIMENS */ } /* Set the access and modification time stamps of FILE to be TIMESPEC[0] and TIMESPEC[1], respectively. */ int utimens (char const *file, struct timespec const timespec[2]) { return gl_futimens (-1, file, timespec); } dc3dd-7.1.614/lib/unlinkdir.h0000644000175000017500000000170011022023316015341 0ustar amedicoamedico/* unlinkdir.h - determine (and maybe change) whether we can unlink directories Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert and Jim Meyering. */ #include #if UNLINK_CANNOT_UNLINK_DIR # define cannot_unlink_dir() true #else bool cannot_unlink_dir (void); #endif dc3dd-7.1.614/lib/dup-safer.c0000644000175000017500000000241411022023316015226 0ustar amedicoamedico/* Invoke dup, but avoid some glitches. Copyright (C) 2001, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "unistd-safer.h" #include #include #ifndef STDERR_FILENO # define STDERR_FILENO 2 #endif /* Like dup, but do not return STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. */ int dup_safer (int fd) { #if defined F_DUPFD && !defined FCHDIR_REPLACEMENT return fcntl (fd, F_DUPFD, STDERR_FILENO + 1); #else /* fd_safer calls us back, but eventually the recursion unwinds and does the right thing. */ return fd_safer (dup (fd)); #endif } dc3dd-7.1.614/lib/mbswidth.h0000644000175000017500000000416311022023316015171 0ustar amedicoamedico/* Determine the number of screen columns needed for a string. Copyright (C) 2000-2004, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Avoid a clash of our mbswidth() with a function of the same name defined in UnixWare 7.1.1 . We need this #include before the #define below. However, we don't want to #include on all platforms because - Tru64 with Desktop Toolkit C has a bug: must be included before . - BSD/OS 4.1 has a bug: and must be included before . */ #if HAVE_DECL_MBSWIDTH_IN_WCHAR_H # include #endif #ifdef __cplusplus extern "C" { #endif /* Optional flags to influence mbswidth/mbsnwidth behavior. */ /* If this bit is set, return -1 upon finding an invalid or incomplete character. Otherwise, assume invalid characters have width 1. */ #define MBSW_REJECT_INVALID 1 /* If this bit is set, return -1 upon finding a non-printable character. Otherwise, assume unprintable characters have width 0 if they are control characters and 1 otherwise. */ #define MBSW_REJECT_UNPRINTABLE 2 /* Returns the number of screen columns needed for STRING. */ #define mbswidth gnu_mbswidth /* avoid clash with UnixWare 7.1.1 function */ extern int mbswidth (const char *string, int flags); /* Returns the number of screen columns needed for the NBYTES bytes starting at BUF. */ extern int mbsnwidth (const char *buf, size_t nbytes, int flags); #ifdef __cplusplus } #endif dc3dd-7.1.614/lib/frexp.c0000644000175000017500000000744711064230667014516 0ustar amedicoamedico/* Split a double into fraction and mantissa. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paolo Bonzini , 2003, and Bruno Haible , 2007. */ #include /* Specification. */ #include #include #ifdef USE_LONG_DOUBLE # include "isnanl-nolibm.h" # include "fpucw.h" #else # include "isnand.h" #endif /* This file assumes FLT_RADIX = 2. If FLT_RADIX is a power of 2 greater than 2, or not even a power of 2, some rounding errors can occur, so that then the returned mantissa is only guaranteed to be <= 1.0, not < 1.0. */ #ifdef USE_LONG_DOUBLE # define FUNC frexpl # define DOUBLE long double # define ISNAN isnanl # define DECL_ROUNDING DECL_LONG_DOUBLE_ROUNDING # define BEGIN_ROUNDING() BEGIN_LONG_DOUBLE_ROUNDING () # define END_ROUNDING() END_LONG_DOUBLE_ROUNDING () # define L_(literal) literal##L #else # define FUNC frexp # define DOUBLE double # define ISNAN isnand # define DECL_ROUNDING # define BEGIN_ROUNDING() # define END_ROUNDING() # define L_(literal) literal #endif DOUBLE FUNC (DOUBLE x, int *expptr) { int sign; int exponent; DECL_ROUNDING /* Test for NaN, infinity, and zero. */ if (ISNAN (x) || x + x == x) { *expptr = 0; return x; } sign = 0; if (x < 0) { x = - x; sign = -1; } BEGIN_ROUNDING (); { /* Since the exponent is an 'int', it fits in 64 bits. Therefore the loops are executed no more than 64 times. */ DOUBLE pow2[64]; /* pow2[i] = 2^2^i */ DOUBLE powh[64]; /* powh[i] = 2^-2^i */ int i; exponent = 0; if (x >= L_(1.0)) { /* A positive exponent. */ DOUBLE pow2_i; /* = pow2[i] */ DOUBLE powh_i; /* = powh[i] */ /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i, x * 2^exponent = argument, x >= 1.0. */ for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5); ; i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i) { if (x >= pow2_i) { exponent += (1 << i); x *= powh_i; } else break; pow2[i] = pow2_i; powh[i] = powh_i; } /* Avoid making x too small, as it could become a denormalized number and thus lose precision. */ while (i > 0 && x < pow2[i - 1]) { i--; powh_i = powh[i]; } exponent += (1 << i); x *= powh_i; /* Here 2^-2^i <= x < 1.0. */ } else { /* A negative or zero exponent. */ DOUBLE pow2_i; /* = pow2[i] */ DOUBLE powh_i; /* = powh[i] */ /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i, x * 2^exponent = argument, x < 1.0. */ for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5); ; i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i) { if (x < powh_i) { exponent -= (1 << i); x *= pow2_i; } else break; pow2[i] = pow2_i; powh[i] = powh_i; } /* Here 2^-2^i <= x < 1.0. */ } /* Invariants: x * 2^exponent = argument, and 2^-2^i <= x < 1.0. */ while (i > 0) { i--; if (x < powh[i]) { exponent -= (1 << i); x *= pow2[i]; } } /* Here 0.5 <= x < 1.0. */ } if (sign < 0) x = - x; END_ROUNDING (); *expptr = exponent; return x; } dc3dd-7.1.614/lib/full-write.c0000644000175000017500000000437011022023316015435 0ustar amedicoamedico/* An interface to read and write that retries (if necessary) until complete. Copyright (C) 1993, 1994, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #ifdef FULL_READ # include "full-read.h" #else # include "full-write.h" #endif #include #ifdef FULL_READ # include "safe-read.h" # define safe_rw safe_read # define full_rw full_read # undef const # define const /* empty */ #else # include "safe-write.h" # define safe_rw safe_write # define full_rw full_write #endif #ifdef FULL_READ /* Set errno to zero upon EOF. */ # define ZERO_BYTE_TRANSFER_ERRNO 0 #else /* Some buggy drivers return 0 when one tries to write beyond a device's end. (Example: Linux 1.2.13 on /dev/fd0.) Set errno to ENOSPC so they get a sensible diagnostic. */ # define ZERO_BYTE_TRANSFER_ERRNO ENOSPC #endif /* Write(read) COUNT bytes at BUF to(from) descriptor FD, retrying if interrupted or if a partial write(read) occurs. Return the number of bytes transferred. When writing, set errno if fewer than COUNT bytes are written. When reading, if fewer than COUNT bytes are read, you must examine errno to distinguish failure from EOF (errno == 0). */ size_t full_rw (int fd, const void *buf, size_t count) { size_t total = 0; const char *ptr = (const char *) buf; while (count > 0) { size_t n_rw = safe_rw (fd, ptr, count); if (n_rw == (size_t) -1) break; if (n_rw == 0) { errno = ZERO_BYTE_TRANSFER_ERRNO; break; } total += n_rw; ptr += n_rw; count -= n_rw; } return total; } dc3dd-7.1.614/lib/xstrtoul.c0000644000175000017500000000025411022023316015244 0ustar amedicoamedico#define __strtol strtoul #define __strtol_t unsigned long int #define __xstrtol xstrtoul #define STRTOL_T_MINIMUM 0 #define STRTOL_T_MAXIMUM ULONG_MAX #include "xstrtol.c" dc3dd-7.1.614/lib/at-func.c0000644000175000017500000000501511022023316014675 0ustar amedicoamedico/* Define an at-style functions like fstatat, unlinkat, fchownat, etc. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #define CALL_FUNC(F) \ (AT_FUNC_USE_F1_COND \ ? AT_FUNC_F1 (F AT_FUNC_POST_FILE_ARGS) \ : AT_FUNC_F2 (F AT_FUNC_POST_FILE_ARGS)) /* Call AT_FUNC_F1 or AT_FUNC_F2 (testing AT_FUNC_USE_F1_COND to determine which) to operate on FILE, which is in the directory open on descriptor FD. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then AT_FUNC_F?/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ int AT_FUNC_NAME (int fd, char const *file AT_FUNC_POST_FILE_PARAM_DECLS) { struct saved_cwd saved_cwd; int saved_errno; int err; if (fd == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file)) return CALL_FUNC (file); { char buf[OPENAT_BUFFER_SIZE]; char *proc_file = openat_proc_name (buf, fd, file); if (proc_file) { int proc_result = CALL_FUNC (proc_file); int proc_errno = errno; if (proc_file != buf) free (proc_file); /* If the syscall succeeds, or if it fails with an unexpected errno value, then return right away. Otherwise, fall through and resort to using save_cwd/restore_cwd. */ if (0 <= proc_result) return proc_result; if (! EXPECTED_ERRNO (proc_errno)) { errno = proc_errno; return proc_result; } } } if (save_cwd (&saved_cwd) != 0) openat_save_fail (errno); if (fchdir (fd) != 0) { saved_errno = errno; free_cwd (&saved_cwd); errno = saved_errno; return -1; } err = CALL_FUNC (file); saved_errno = (err < 0 ? errno : 0); if (restore_cwd (&saved_cwd) != 0) openat_restore_fail (errno); free_cwd (&saved_cwd); if (saved_errno) errno = saved_errno; return err; } #undef CALL_FUNC dc3dd-7.1.614/lib/printf-frexp.h0000644000175000017500000000204511022023316015771 0ustar amedicoamedico/* Split a double into fraction and mantissa, for hexadecimal printf. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Write a finite, positive number x as x = mantissa * 2^exp where exp >= DBL_MIN_EXP - 1, mantissa < 2.0, if x is not a denormalized number then mantissa >= 1.0. Store exp in *EXPPTR and return mantissa. */ extern double printf_frexp (double x, int *expptr); dc3dd-7.1.614/lib/xstrtol.h0000644000175000017500000000477511022023316015100 0ustar amedicoamedico/* A more useful interface to strtol. Copyright (C) 1995, 1996, 1998, 1999, 2001, 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef XSTRTOL_H_ # define XSTRTOL_H_ 1 # include # include # ifndef _STRTOL_ERROR enum strtol_error { LONGINT_OK = 0, /* These two values can be ORed together, to indicate that both errors occurred. */ LONGINT_OVERFLOW = 1, LONGINT_INVALID_SUFFIX_CHAR = 2, LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW = (LONGINT_INVALID_SUFFIX_CHAR | LONGINT_OVERFLOW), LONGINT_INVALID = 4 }; typedef enum strtol_error strtol_error; # endif # define _DECLARE_XSTRTOL(name, type) \ strtol_error name (const char *, char **, int, type *, const char *); _DECLARE_XSTRTOL (xstrtol, long int) _DECLARE_XSTRTOL (xstrtoul, unsigned long int) _DECLARE_XSTRTOL (xstrtoimax, intmax_t) _DECLARE_XSTRTOL (xstrtoumax, uintmax_t) #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) # endif #endif #ifndef ATTRIBUTE_NORETURN # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) #endif /* Report an error for an invalid integer in an option argument. ERR is the error code returned by one of the xstrto* functions. Use OPT_IDX to decide whether to print the short option string "C" or "-C" or a long option string derived from LONG_OPTION. OPT_IDX is -2 if the short option "C" was used, without any leading "-"; it is -1 if the short option "-C" was used; otherwise it is an index into LONG_OPTIONS, which should have a name preceded by two '-' characters. ARG is the option-argument containing the integer. After reporting an error, exit with a failure status. */ void xstrtol_fatal (enum strtol_error, int, char, struct option const *, char const *) ATTRIBUTE_NORETURN; #endif /* not XSTRTOL_H_ */ dc3dd-7.1.614/lib/time.in.h0000644000175000017500000000721611064230667014734 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* A more-standard . Copyright (C) 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Don't get in the way of glibc when it includes time.h merely to declare a few standard symbols, rather than to declare all the symbols. Also, Solaris 8 eventually includes itself recursively; if that is happening, just include the system without adding our own declarations. */ #if (defined __need_time_t || defined __need_clock_t \ || defined __need_timespec \ || defined _GL_TIME_H) # @INCLUDE_NEXT@ @NEXT_TIME_H@ #else # define _GL_TIME_H # @INCLUDE_NEXT@ @NEXT_TIME_H@ # ifdef __cplusplus extern "C" { # endif /* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3). Or they define it with the wrong member names or define it in (e.g., FreeBSD circa 1997). */ # if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@ # if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ # include # else # undef timespec # define timespec rpl_timespec struct timespec { time_t tv_sec; long int tv_nsec; }; # endif # endif /* Sleep for at least RQTP seconds unless interrupted, If interrupted, return -1 and store the remaining time into RMTP. See . */ # if @REPLACE_NANOSLEEP@ # define nanosleep rpl_nanosleep int nanosleep (struct timespec const *__rqtp, struct timespec *__rmtp); # endif /* Convert TIMER to RESULT, assuming local time and UTC respectively. See and . */ # if @REPLACE_LOCALTIME_R@ # undef localtime_r # define localtime_r rpl_localtime_r # undef gmtime_r # define gmtime_r rpl_gmtime_r struct tm *localtime_r (time_t const *restrict __timer, struct tm *restrict __result); struct tm *gmtime_r (time_t const *restrict __timer, struct tm *restrict __result); # endif /* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store the resulting broken-down time into TM. See . */ # if @REPLACE_STRPTIME@ # undef strptime # define strptime rpl_strptime char *strptime (char const *restrict __buf, char const *restrict __format, struct tm *restrict __tm); # endif /* Convert TM to a time_t value, assuming UTC. */ # if @REPLACE_TIMEGM@ # undef timegm # define timegm rpl_timegm time_t timegm (struct tm *__tm); # endif /* Encourage applications to avoid unsafe functions that can overrun buffers when given outlandish struct tm values. Portable applications should use strftime (or even sprintf) instead. */ # if GNULIB_PORTCHECK # undef asctime # define asctime eschew_asctime # undef asctime_r # define asctime_r eschew_asctime_r # undef ctime # define ctime eschew_ctime # undef ctime_r # define ctime_r eschew_ctime_r # endif # ifdef __cplusplus } # endif #endif dc3dd-7.1.614/lib/strtoumax.c0000644000175000017500000000005211022023316015402 0ustar amedicoamedico#define UNSIGNED 1 #include "strtoimax.c" dc3dd-7.1.614/lib/stdbool.in.h0000644000175000017500000001161411064230667015441 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Copyright (C) 2001-2003, 2006-2008 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _GL_STDBOOL_H #define _GL_STDBOOL_H /* ISO C 99 for platforms that lack it. */ /* Usage suggestions: Programs that use should be aware of some limitations and standards compliance issues. Standards compliance: - must be #included before 'bool', 'false', 'true' can be used. - You cannot assume that sizeof (bool) == 1. - Programs should not undefine the macros bool, true, and false, as C99 lists that as an "obsolescent feature". Limitations of this substitute, when used in a C89 environment: - must be #included before the '_Bool' type can be used. - You cannot assume that _Bool is a typedef; it might be a macro. - Bit-fields of type 'bool' are not supported. Portable code should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'. - In C99, casts and automatic conversions to '_Bool' or 'bool' are performed in such a way that every nonzero value gets converted to 'true', and zero gets converted to 'false'. This doesn't work with this substitute. With this substitute, only the values 0 and 1 give the expected result when converted to _Bool' or 'bool'. Also, it is suggested that programs use 'bool' rather than '_Bool'; this isn't required, but 'bool' is more common. */ /* 7.16. Boolean type and values */ /* BeOS already #defines false 0, true 1. We use the same definitions below, but temporarily we have to #undef them. */ #if defined __BEOS__ && !defined __HAIKU__ # include /* defines bool but not _Bool */ # undef false # undef true #endif /* For the sake of symbolic names in gdb, we define true and false as enum constants, not only as macros. It is tempting to write typedef enum { false = 0, true = 1 } _Bool; so that gdb prints values of type 'bool' symbolically. But if we do this, values of type '_Bool' may promote to 'int' or 'unsigned int' (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the enum; this ensures that '_Bool' promotes to 'int'. */ #if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__) /* A compiler known to have 'bool'. */ /* If the compiler already has both 'bool' and '_Bool', we can assume they are the same types. */ # if !@HAVE__BOOL@ typedef bool _Bool; # endif #else # if !defined __GNUC__ /* If @HAVE__BOOL@: Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when the built-in _Bool type is used. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html Similar bugs are likely with other compilers as well; this file wouldn't be used if was working. So we override the _Bool type. If !@HAVE__BOOL@: Need to define _Bool ourselves. As 'signed char' or as an enum type? Use of a typedef, with SunPRO C, leads to a stupid "warning: _Bool is a keyword in ISO C99". Use of an enum type, with IRIX cc, leads to a stupid "warning(1185): enumerated type mixed with another type". Even the existence of an enum type, without a typedef, "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. The only benefit of the enum, debuggability, is not important with these compilers. So use 'signed char' and no enum. */ # define _Bool signed char # else /* With this compiler, trust the _Bool type if the compiler has it. */ # if !@HAVE__BOOL@ typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; # endif # endif #endif #define bool _Bool /* The other macros must be usable in preprocessor directives. */ #define false 0 #define true 1 #define __bool_true_false_are_defined 1 #endif /* _GL_STDBOOL_H */ dc3dd-7.1.614/lib/unsetenv.c0000644000175000017500000000376611064230667015241 0ustar amedicoamedico/* Copyright (C) 1992,1995-1999,2000-2002,2005-2008 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #if !_LIBC # define __set_errno(ev) ((errno) = (ev)) #endif #include #include #if !_LIBC # define __environ environ #endif #if _LIBC /* This lock protects against simultaneous modifications of `environ'. */ # include __libc_lock_define_initialized (static, envlock) # define LOCK __libc_lock_lock (envlock) # define UNLOCK __libc_lock_unlock (envlock) #else # define LOCK # define UNLOCK #endif /* In the GNU C library we must keep the namespace clean. */ #ifdef _LIBC # define unsetenv __unsetenv #endif int unsetenv (const char *name) { size_t len; char **ep; if (name == NULL || *name == '\0' || strchr (name, '=') != NULL) { __set_errno (EINVAL); return -1; } len = strlen (name); LOCK; ep = __environ; while (*ep != NULL) if (!strncmp (*ep, name, len) && (*ep)[len] == '=') { /* Found it. Remove this pointer by moving later ones back. */ char **dp = ep; do dp[0] = dp[1]; while (*dp++); /* Continue the loop in case NAME appears again. */ } else ++ep; UNLOCK; return 0; } #ifdef _LIBC # undef unsetenv weak_alias (__unsetenv, unsetenv) #endif dc3dd-7.1.614/lib/offtostr.c0000644000175000017500000000010611022023316015202 0ustar amedicoamedico#define inttostr offtostr #define inttype off_t #include "inttostr.c" dc3dd-7.1.614/lib/memcpy.c0000644000175000017500000000220011022023316014623 0ustar amedicoamedico/* Copyright (C) 1995, 1997, 2000, 2003, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering . */ #include #include /* Copy LEN bytes starting at SRCADDR to DESTADDR. Result undefined if the source overlaps with the destination. Return DESTADDR. */ void * memcpy (void *destaddr, void const *srcaddr, size_t len) { char *dest = destaddr; char const *src = srcaddr; while (len-- > 0) *dest++ = *src++; return destaddr; } dc3dd-7.1.614/lib/memrchr.c0000644000175000017500000001277211064230667015024 0ustar amedicoamedico/* memrchr -- find the last occurrence of a byte in a memory block Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), with help from Dan Sahlin (dan@sics.se) and commentary by Jim Blandy (jimb@ai.mit.edu); adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), and implemented by Roland McGrath (roland@ai.mit.edu). This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if defined _LIBC # include #else # include # define reg_char char #endif #include #include #undef __memrchr #ifdef _LIBC # undef memrchr #endif #ifndef weak_alias # define __memrchr memrchr #endif /* Search no more than N bytes of S for C. */ void * __memrchr (void const *s, int c_in, size_t n) { /* On 32-bit hardware, choosing longword to be a 32-bit unsigned long instead of a 64-bit uintmax_t tends to give better performance. On 64-bit hardware, unsigned long is generally 64 bits already. Change this typedef to experiment with performance. */ typedef unsigned long int longword; const unsigned char *char_ptr; const longword *longword_ptr; longword repeated_one; longword repeated_c; unsigned reg_char c; c = (unsigned char) c_in; /* Handle the last few bytes by reading one byte at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ for (char_ptr = (const unsigned char *) s + n; n > 0 && (size_t) char_ptr % sizeof (longword) != 0; --n) if (*--char_ptr == c) return (void *) char_ptr; longword_ptr = (const longword *) char_ptr; /* All these elucidatory comments refer to 4-byte longwords, but the theory applies equally well to any size longwords. */ /* Compute auxiliary longword values: repeated_one is a value which has a 1 in every byte. repeated_c has c in every byte. */ repeated_one = 0x01010101; repeated_c = c | (c << 8); repeated_c |= repeated_c << 16; if (0xffffffffU < (longword) -1) { repeated_one |= repeated_one << 31 << 1; repeated_c |= repeated_c << 31 << 1; if (8 < sizeof (longword)) { size_t i; for (i = 64; i < sizeof (longword) * 8; i *= 2) { repeated_one |= repeated_one << i; repeated_c |= repeated_c << i; } } } /* Instead of the traditional loop which tests each byte, we will test a longword at a time. The tricky part is testing if *any of the four* bytes in the longword in question are equal to c. We first use an xor with repeated_c. This reduces the task to testing whether *any of the four* bytes in longword1 is zero. We compute tmp = ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7). That is, we perform the following operations: 1. Subtract repeated_one. 2. & ~longword1. 3. & a mask consisting of 0x80 in every byte. Consider what happens in each byte: - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, and step 3 transforms it into 0x80. A carry can also be propagated to more significant bytes. - If a byte of longword1 is nonzero, let its lowest 1 bit be at position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, the byte ends in a single bit of value 0 and k bits of value 1. After step 2, the result is just k bits of value 1: 2^k - 1. After step 3, the result is 0. And no carry is produced. So, if longword1 has only non-zero bytes, tmp is zero. Whereas if longword1 has a zero byte, call j the position of the least significant zero byte. Then the result has a zero at positions 0, ..., j-1 and a 0x80 at position j. We cannot predict the result at the more significant bytes (positions j+1..3), but it does not matter since we already have a non-zero bit at position 8*j+7. So, the test whether any byte in longword1 is zero is equivalent to testing whether tmp is nonzero. */ while (n >= sizeof (longword)) { longword longword1 = *--longword_ptr ^ repeated_c; if ((((longword1 - repeated_one) & ~longword1) & (repeated_one << 7)) != 0) { longword_ptr++; break; } n -= sizeof (longword); } char_ptr = (const unsigned char *) longword_ptr; /* At this point, we know that either n < sizeof (longword), or one of the sizeof (longword) bytes starting at char_ptr is == c. On little-endian machines, we could determine the first such byte without any further memory accesses, just by looking at the tmp result from the last loop iteration. But this does not work on big-endian machines. Choose code that works in both cases. */ while (n-- > 0) { if (*--char_ptr == c) return (void *) char_ptr; } return NULL; } #ifdef weak_alias weak_alias (__memrchr, memrchr) #endif dc3dd-7.1.614/lib/striconv.c0000644000175000017500000002627111064230667015235 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Charset conversion. Copyright (C) 2001-2007 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #include "striconv.h" #include #include #include #if HAVE_ICONV # include /* Get MB_LEN_MAX, CHAR_BIT. */ # include #endif #include "c-strcase.h" #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif #if HAVE_ICONV int mem_cd_iconv (const char *src, size_t srclen, iconv_t cd, char **resultp, size_t *lengthp) { # define tmpbufsize 4096 size_t length; char *result; /* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */ # if defined _LIBICONV_VERSION \ || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun) /* Set to the initial state. */ iconv (cd, NULL, NULL, NULL, NULL); # endif /* Determine the length we need. */ { size_t count = 0; /* The alignment is needed when converting e.g. to glibc's WCHAR_T or libiconv's UCS-4-INTERNAL encoding. */ union { unsigned int align; char buf[tmpbufsize]; } tmp; # define tmpbuf tmp.buf const char *inptr = src; size_t insize = srclen; while (insize > 0) { char *outptr = tmpbuf; size_t outsize = tmpbufsize; size_t res = iconv (cd, (ICONV_CONST char **) &inptr, &insize, &outptr, &outsize); if (res == (size_t)(-1)) { if (errno == E2BIG) ; else if (errno == EINVAL) break; else return -1; } # if !defined _LIBICONV_VERSION && !defined __GLIBC__ /* Irix iconv() inserts a NUL byte if it cannot convert. NetBSD iconv() inserts a question mark if it cannot convert. Only GNU libiconv and GNU libc are known to prefer to fail rather than doing a lossy conversion. */ else if (res > 0) { errno = EILSEQ; return -1; } # endif count += outptr - tmpbuf; } /* Avoid glibc-2.1 bug and Solaris 2.7 bug. */ # if defined _LIBICONV_VERSION \ || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun) { char *outptr = tmpbuf; size_t outsize = tmpbufsize; size_t res = iconv (cd, NULL, NULL, &outptr, &outsize); if (res == (size_t)(-1)) return -1; count += outptr - tmpbuf; } # endif length = count; # undef tmpbuf } if (length == 0) { *lengthp = 0; return 0; } if (*resultp != NULL && *lengthp >= length) result = *resultp; else { result = (char *) malloc (length); if (result == NULL) { errno = ENOMEM; return -1; } } /* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */ # if defined _LIBICONV_VERSION \ || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun) /* Return to the initial state. */ iconv (cd, NULL, NULL, NULL, NULL); # endif /* Do the conversion for real. */ { const char *inptr = src; size_t insize = srclen; char *outptr = result; size_t outsize = length; while (insize > 0) { size_t res = iconv (cd, (ICONV_CONST char **) &inptr, &insize, &outptr, &outsize); if (res == (size_t)(-1)) { if (errno == EINVAL) break; else goto fail; } # if !defined _LIBICONV_VERSION && !defined __GLIBC__ /* Irix iconv() inserts a NUL byte if it cannot convert. NetBSD iconv() inserts a question mark if it cannot convert. Only GNU libiconv and GNU libc are known to prefer to fail rather than doing a lossy conversion. */ else if (res > 0) { errno = EILSEQ; goto fail; } # endif } /* Avoid glibc-2.1 bug and Solaris 2.7 bug. */ # if defined _LIBICONV_VERSION \ || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun) { size_t res = iconv (cd, NULL, NULL, &outptr, &outsize); if (res == (size_t)(-1)) goto fail; } # endif if (outsize != 0) abort (); } *resultp = result; *lengthp = length; return 0; fail: { if (result != *resultp) { int saved_errno = errno; free (result); errno = saved_errno; } return -1; } # undef tmpbufsize } char * str_cd_iconv (const char *src, iconv_t cd) { /* For most encodings, a trailing NUL byte in the input will be converted to a trailing NUL byte in the output. But not for UTF-7. So that this function is usable for UTF-7, we have to exclude the NUL byte from the conversion and add it by hand afterwards. */ # if !defined _LIBICONV_VERSION && !defined __GLIBC__ /* Irix iconv() inserts a NUL byte if it cannot convert. NetBSD iconv() inserts a question mark if it cannot convert. Only GNU libiconv and GNU libc are known to prefer to fail rather than doing a lossy conversion. For other iconv() implementations, we have to look at the number of irreversible conversions returned; but this information is lost when iconv() returns for an E2BIG reason. Therefore we cannot use the second, faster algorithm. */ char *result = NULL; size_t length = 0; int retval = mem_cd_iconv (src, strlen (src), cd, &result, &length); char *final_result; if (retval < 0) { if (result != NULL) abort (); return NULL; } /* Add the terminating NUL byte. */ final_result = (result != NULL ? realloc (result, length + 1) : malloc (length + 1)); if (final_result == NULL) { if (result != NULL) free (result); errno = ENOMEM; return NULL; } final_result[length] = '\0'; return final_result; # else /* This algorithm is likely faster than the one above. But it may produce iconv() returns for an E2BIG reason, when the output size guess is too small. Therefore it can only be used when we don't need the number of irreversible conversions performed. */ char *result; size_t result_size; size_t length; const char *inptr = src; size_t inbytes_remaining = strlen (src); /* Make a guess for the worst-case output size, in order to avoid a realloc. It's OK if the guess is wrong as long as it is not zero and doesn't lead to an integer overflow. */ result_size = inbytes_remaining; { size_t approx_sqrt_SIZE_MAX = SIZE_MAX >> (sizeof (size_t) * CHAR_BIT / 2); if (result_size <= approx_sqrt_SIZE_MAX / MB_LEN_MAX) result_size *= MB_LEN_MAX; } result_size += 1; /* for the terminating NUL */ result = (char *) malloc (result_size); if (result == NULL) { errno = ENOMEM; return NULL; } /* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */ # if defined _LIBICONV_VERSION \ || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun) /* Set to the initial state. */ iconv (cd, NULL, NULL, NULL, NULL); # endif /* Do the conversion. */ { char *outptr = result; size_t outbytes_remaining = result_size - 1; for (;;) { /* Here inptr + inbytes_remaining = src + strlen (src), outptr + outbytes_remaining = result + result_size - 1. */ size_t res = iconv (cd, (ICONV_CONST char **) &inptr, &inbytes_remaining, &outptr, &outbytes_remaining); if (res == (size_t)(-1)) { if (errno == EINVAL) break; else if (errno == E2BIG) { size_t used = outptr - result; size_t newsize = result_size * 2; char *newresult; if (!(newsize > result_size)) { errno = ENOMEM; goto failed; } newresult = (char *) realloc (result, newsize); if (newresult == NULL) { errno = ENOMEM; goto failed; } result = newresult; result_size = newsize; outptr = result + used; outbytes_remaining = result_size - 1 - used; } else goto failed; } else break; } /* Avoid glibc-2.1 bug and Solaris 2.7 bug. */ # if defined _LIBICONV_VERSION \ || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun) for (;;) { /* Here outptr + outbytes_remaining = result + result_size - 1. */ size_t res = iconv (cd, NULL, NULL, &outptr, &outbytes_remaining); if (res == (size_t)(-1)) { if (errno == E2BIG) { size_t used = outptr - result; size_t newsize = result_size * 2; char *newresult; if (!(newsize > result_size)) { errno = ENOMEM; goto failed; } newresult = (char *) realloc (result, newsize); if (newresult == NULL) { errno = ENOMEM; goto failed; } result = newresult; result_size = newsize; outptr = result + used; outbytes_remaining = result_size - 1 - used; } else goto failed; } else break; } # endif /* Add the terminating NUL byte. */ *outptr++ = '\0'; length = outptr - result; } /* Give away unused memory. */ if (length < result_size) { char *smaller_result = (char *) realloc (result, length); if (smaller_result != NULL) result = smaller_result; } return result; failed: { int saved_errno = errno; free (result); errno = saved_errno; return NULL; } # endif } #endif char * str_iconv (const char *src, const char *from_codeset, const char *to_codeset) { if (*src == '\0' || c_strcasecmp (from_codeset, to_codeset) == 0) { char *result = strdup (src); if (result == NULL) errno = ENOMEM; return result; } else { #if HAVE_ICONV iconv_t cd; char *result; /* Avoid glibc-2.1 bug with EUC-KR. */ # if (__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) && !defined _LIBICONV_VERSION if (c_strcasecmp (from_codeset, "EUC-KR") == 0 || c_strcasecmp (to_codeset, "EUC-KR") == 0) { errno = EINVAL; return NULL; } # endif cd = iconv_open (to_codeset, from_codeset); if (cd == (iconv_t) -1) return NULL; result = str_cd_iconv (src, cd); if (result == NULL) { /* Close cd, but preserve the errno from str_cd_iconv. */ int saved_errno = errno; iconv_close (cd); errno = saved_errno; } else { if (iconv_close (cd) < 0) { /* Return NULL, but free the allocated memory, and while doing that, preserve the errno from iconv_close. */ int saved_errno = errno; free (result); errno = saved_errno; return NULL; } } return result; #else /* This is a different error code than if iconv_open existed but didn't support from_codeset and to_codeset, so that the caller can emit an error message such as "iconv() is not supported. Installing GNU libiconv and then reinstalling this package would fix this." */ errno = ENOSYS; return NULL; #endif } } dc3dd-7.1.614/lib/mkancesdirs.c0000644000175000017500000001154711022023316015652 0ustar amedicoamedico/* Make a file's ancestor directories. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "mkancesdirs.h" #include #include #include #include #include #include "dirname.h" #include "savewd.h" /* Ensure that the ancestor directories of FILE exist, using an algorithm that should work even if two processes execute this function in parallel. Modify FILE as necessary to access the ancestor directories, but restore FILE to an equivalent value if successful. WD points to the working directory, using the conventions of savewd. Create any ancestor directories that don't already exist, by invoking MAKE_DIR (FILE, COMPONENT, MAKE_DIR_ARG). This function should return 0 if successful and the resulting directory is readable, 1 if successful but the resulting directory might not be readable, -1 (setting errno) otherwise. If COMPONENT is relative, it is relative to the temporary working directory, which may differ from *WD. Ordinarily MAKE_DIR is executed with the working directory changed to reflect the already-made prefix, and mkancesdirs returns with the working directory changed a prefix of FILE. However, if the initial working directory cannot be saved in a file descriptor, MAKE_DIR is invoked in a subprocess and this function returns in both the parent and child process, so the caller should not assume any changed state survives other than the EXITMAX component of WD, and the caller should take care that the parent does not attempt to do the work that the child is doing. If successful and if this process can go ahead and create FILE, return the length of the prefix of FILE that has already been made. If successful so far but a child process is doing the actual work, return -2. If unsuccessful, return -1 and set errno. */ ptrdiff_t mkancesdirs (char *file, struct savewd *wd, int (*make_dir) (char const *, char const *, void *), void *make_dir_arg) { /* Address of the previous directory separator that follows an ordinary byte in a file name in the left-to-right scan, or NULL if no such separator precedes the current location P. */ char *sep = NULL; /* Address of the leftmost file name component that has not yet been processed. */ char *component = file; char *p = file + FILE_SYSTEM_PREFIX_LEN (file); char c; bool made_dir = false; /* Scan forward through FILE, creating and chdiring into directories along the way. Try MAKE_DIR before chdir, so that the procedure works even when two or more processes are executing it in parallel. Isolate each file name component by having COMPONENT point to its start and SEP point just after its end. */ while ((c = *p++)) if (ISSLASH (*p)) { if (! ISSLASH (c)) sep = p; } else if (ISSLASH (c) && *p && sep) { /* Don't bother to make or test for "." since it does not affect the algorithm. */ if (! (sep - component == 1 && component[0] == '.')) { int make_dir_errno = 0; int savewd_chdir_options = 0; int chdir_result; /* Temporarily modify FILE to isolate this file name component. */ *sep = '\0'; /* Invoke MAKE_DIR on this component, except don't bother with ".." since it must exist if its "parent" does. */ if (sep - component == 2 && component[0] == '.' && component[1] == '.') made_dir = false; else switch (make_dir (file, component, make_dir_arg)) { case -1: make_dir_errno = errno; break; case 0: savewd_chdir_options |= SAVEWD_CHDIR_READABLE; /* Fall through. */ case 1: made_dir = true; break; } if (made_dir) savewd_chdir_options |= SAVEWD_CHDIR_NOFOLLOW; chdir_result = savewd_chdir (wd, component, savewd_chdir_options, NULL); /* Undo the temporary modification to FILE, unless there was a failure. */ if (chdir_result != -1) *sep = '/'; if (chdir_result != 0) { if (make_dir_errno != 0 && errno == ENOENT) errno = make_dir_errno; return chdir_result; } } component = p; } return component - file; } dc3dd-7.1.614/lib/strnlen1.h0000644000175000017500000000224711022023316015117 0ustar amedicoamedico/* Find the length of STRING + 1, but scan at most MAXLEN bytes. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _STRNLEN1_H #define _STRNLEN1_H #include #ifdef __cplusplus extern "C" { #endif /* Find the length of STRING + 1, but scan at most MAXLEN bytes. If no '\0' terminator is found in that many characters, return MAXLEN. */ /* This is the same as strnlen (string, maxlen - 1) + 1. */ extern size_t strnlen1 (const char *string, size_t maxlen); #ifdef __cplusplus } #endif #endif /* _STRNLEN1_H */ dc3dd-7.1.614/lib/getdate.h0000644000175000017500000000160011022023316014756 0ustar amedicoamedico/* Parse a string into an internal time stamp. Copyright (C) 1995, 1997, 1998, 2003, 2004, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include bool get_date (struct timespec *, char const *, struct timespec const *); dc3dd-7.1.614/lib/ftruncate.c0000644000175000017500000000316211022023316015334 0ustar amedicoamedico/* ftruncate emulations that work on some System V's. This file is in the public domain. */ #include /* Specification. */ #include #include #include #ifdef F_CHSIZE int ftruncate (int fd, off_t length) { return fcntl (fd, F_CHSIZE, length); } #else /* not F_CHSIZE */ # ifdef F_FREESP /* By William Kucharski . */ # include # include int ftruncate (int fd, off_t length) { struct flock fl; struct stat filebuf; if (fstat (fd, &filebuf) < 0) return -1; if (filebuf.st_size < length) { /* Extend file length. */ if (lseek (fd, (length - 1), SEEK_SET) < 0) return -1; /* Write a "0" byte. */ if (write (fd, "", 1) != 1) return -1; } else { /* Truncate length. */ fl.l_whence = 0; fl.l_len = 0; fl.l_start = length; fl.l_type = F_WRLCK; /* write lock on file space */ /* This relies on the *undocumented* F_FREESP argument to fcntl, which truncates the file so that it ends at the position indicated by fl.l_start. Will minor miracles never cease? */ if (fcntl (fd, F_FREESP, &fl) < 0) return -1; } return 0; } # else /* not F_CHSIZE nor F_FREESP */ # if HAVE_CHSIZE /* native Windows, e.g. mingw */ int ftruncate (int fd, off_t length) { return chsize (fd, length); } # else /* not F_CHSIZE nor F_FREESP nor HAVE_CHSIZE */ # include int ftruncate (int fd, off_t length) { errno = EIO; return -1; } # endif /* not HAVE_CHSIZE */ # endif /* not F_FREESP */ #endif /* not F_CHSIZE */ dc3dd-7.1.614/lib/filemode.h0000644000175000017500000000203611022023316015131 0ustar amedicoamedico/* Make a string describing file modes. Copyright (C) 1998, 1999, 2003, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef FILEMODE_H_ # include # include # if HAVE_DECL_STRMODE # include /* FreeBSD, OpenBSD */ # include /* NetBSD */ # else void strmode (mode_t mode, char *str); # endif void filemodestring (struct stat const *statp, char *str); #endif dc3dd-7.1.614/lib/randint.c0000644000175000017500000001340711022023316015003 0ustar amedicoamedico/* Generate random integers. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "randint.h" #include #include #include #include #if TEST # include # include int main (int argc, char **argv) { randint i; randint n = strtoumax (argv[1], NULL, 10); randint choices = strtoumax (argv[2], NULL, 10); char const *name = argv[3]; struct randint_source *ints = randint_all_new (name, SIZE_MAX); for (i = 0; i < n; i++) printf ("%"PRIuMAX"\n", randint_choose (ints, choices)); return (randint_all_free (ints) == 0 ? EXIT_SUCCESS : EXIT_FAILURE); } #endif #include "xalloc.h" #ifndef MAX # define MAX(a,b) ((a) < (b) ? (b) : (a)) #endif /* A source of random data for generating random integers. */ struct randint_source { /* The source of random bytes. */ struct randread_source *source; /* RANDNUM is a buffered random integer, whose information has not yet been delivered to the caller. It is uniformly distributed in the range 0 <= RANDNUM <= RANDMAX. If RANDMAX is zero, then RANDNUM must be zero (and in some sense it is not really "random"). */ randint randnum; randint randmax; }; /* Create a new randint_source from SOURCE. */ struct randint_source * randint_new (struct randread_source *source) { struct randint_source *s = xmalloc (sizeof *s); s->source = source; s->randnum = s->randmax = 0; return s; } /* Create a new randint_source by creating a randread_source from NAME and ESTIMATED_BYTES. Return NULL (setting errno) if unsuccessful. */ struct randint_source * randint_all_new (char const *name, size_t bytes_bound) { struct randread_source *source = randread_new (name, bytes_bound); return (source ? randint_new (source) : NULL); } /* Return the random data source of *S. */ struct randread_source * randint_get_source (struct randint_source const *s) { return s->source; } /* HUGE_BYTES is true on hosts hosts where randint and unsigned char have the same width and where shifting by the word size therefore has undefined behavior. */ enum { HUGE_BYTES = RANDINT_MAX == UCHAR_MAX }; /* Return X shifted left by CHAR_BIT bits. */ static inline randint shift_left (randint x) { return HUGE_BYTES ? 0 : x << CHAR_BIT; } /* Return X shifted right by CHAR_BIT bits. */ static inline randint shift_right (randint x) { return HUGE_BYTES ? 0 : x >> CHAR_BIT; } /* Consume random data from *S to generate a random number in the range 0 .. GENMAX. */ randint randint_genmax (struct randint_source *s, randint genmax) { struct randread_source *source = s->source; randint randnum = s->randnum; randint randmax = s->randmax; randint choices = genmax + 1; for (;;) { if (randmax < genmax) { /* Calculate how many input bytes will be needed, and read the bytes. */ size_t i = 0; randint rmax = randmax; unsigned char buf[sizeof randnum]; do { rmax = shift_left (rmax) + UCHAR_MAX; i++; } while (rmax < genmax); randread (source, buf, i); /* Increase RANDMAX by appending random bytes to RANDNUM and UCHAR_MAX to RANDMAX until RANDMAX is no less than GENMAX. This may lose up to CHAR_BIT bits of information if shift_right (RANDINT_MAX) < GENMAX, but it is not worth the programming hassle of saving these bits since GENMAX is rarely that large in practice. */ i = 0; do { randnum = shift_left (randnum) + buf[i]; randmax = shift_left (randmax) + UCHAR_MAX; i++; } while (randmax < genmax); } if (randmax == genmax) { s->randnum = s->randmax = 0; return randnum; } else { /* GENMAX < RANDMAX, so attempt to generate a random number by taking RANDNUM modulo GENMAX+1. This will choose fairly so long as RANDNUM falls within an integral multiple of GENMAX+1; otherwise, LAST_USABLE_CHOICE < RANDNUM, so discard this attempt and try again. Since GENMAX cannot be RANDINT_MAX, CHOICES cannot be zero and there is no need to worry about dividing by zero. */ randint excess_choices = randmax - genmax; randint unusable_choices = excess_choices % choices; randint last_usable_choice = randmax - unusable_choices; randint reduced_randnum = randnum % choices; if (randnum <= last_usable_choice) { s->randnum = randnum / choices; s->randmax = excess_choices / choices; return reduced_randnum; } /* Retry, but retain the randomness from the fact that RANDNUM fell into the range LAST_USABLE_CHOICE+1 .. RANDMAX. */ randnum = reduced_randnum; randmax = unusable_choices - 1; } } } /* Clear *S so that it no longer contains undelivered random data. */ void randint_free (struct randint_source *s) { memset (s, 0, sizeof *s); free (s); } /* Likewise, but also clear the underlying randread object. Return 0 if successful, -1 (setting errno) otherwise. */ int randint_all_free (struct randint_source *s) { int r = randread_free (s->source); int e = errno; randint_free (s); errno = e; return r; } dc3dd-7.1.614/lib/getopt_int.h0000644000175000017500000001120311022023316015515 0ustar amedicoamedico/* Internal declarations for getopt. Copyright (C) 1989-1994,1996-1999,2001,2003,2004 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GETOPT_INT_H #define _GETOPT_INT_H 1 extern int _getopt_internal (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, int __long_only, int __posixly_correct); /* Reentrant versions which can handle parsing multiple argument vectors at the same time. */ /* Data type for reentrant functions. */ struct _getopt_data { /* These have exactly the same meaning as the corresponding global variables, except that they are used for the reentrant versions of getopt. */ int optind; int opterr; int optopt; char *optarg; /* Internal members. */ /* True if the internal members have been initialized. */ int __initialized; /* The next char to be scanned in the option-element in which the last option character we returned was found. This allows us to pick up the scan where we left off. If this is zero, or a null string, it means resume the scan by advancing to the next ARGV-element. */ char *__nextchar; /* Describe how to deal with options that follow non-option ARGV-elements. If the caller did not specify anything, the default is REQUIRE_ORDER if the environment variable POSIXLY_CORRECT is defined, PERMUTE otherwise. REQUIRE_ORDER means don't recognize them as options; stop option processing when the first non-option is seen. This is what Unix does. This mode of operation is selected by either setting the environment variable POSIXLY_CORRECT, or using `+' as the first character of the list of option characters, or by calling getopt. PERMUTE is the default. We permute the contents of ARGV as we scan, so that eventually all the non-options are at the end. This allows options to be given in any order, even with programs that were not written to expect this. RETURN_IN_ORDER is an option available to programs that were written to expect options and other ARGV-elements in any order and that care about the ordering of the two. We describe each non-option ARGV-element as if it were the argument of an option with character code 1. Using `-' as the first character of the list of option characters selects this mode of operation. The special argument `--' forces an end of option-scanning regardless of the value of `ordering'. In the case of RETURN_IN_ORDER, only `--' can cause `getopt' to return -1 with `optind' != ARGC. */ enum { REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER } __ordering; /* If the POSIXLY_CORRECT environment variable is set or getopt was called. */ int __posixly_correct; /* Handle permutation of arguments. */ /* Describe the part of ARGV that contains non-options that have been skipped. `first_nonopt' is the index in ARGV of the first of them; `last_nonopt' is the index after the last of them. */ int __first_nonopt; int __last_nonopt; #if defined _LIBC && defined USE_NONOPTION_FLAGS int __nonoption_flags_max_len; int __nonoption_flags_len; # endif }; /* The initializer is necessary to set OPTIND and OPTERR to their default values and to clear the initialization flag. */ #define _GETOPT_DATA_INITIALIZER { 1, 1 } extern int _getopt_internal_r (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, int __long_only, int __posixly_correct, struct _getopt_data *__data); extern int _getopt_long_r (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, struct _getopt_data *__data); extern int _getopt_long_only_r (int ___argc, char **___argv, const char *__shortopts, const struct option *__longopts, int *__longind, struct _getopt_data *__data); #endif /* getopt_int.h */ dc3dd-7.1.614/lib/iconv_open.c0000644000175000017500000001231511064230667015517 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Character set conversion. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #include #include #include #include "c-ctype.h" #include "c-strcase.h" #define SIZEOF(a) (sizeof(a) / sizeof(a[0])) /* Namespace cleanliness. */ #define mapping_lookup rpl_iconv_open_mapping_lookup /* The macro ICONV_FLAVOR is defined to one of these or undefined. */ #define ICONV_FLAVOR_AIX "iconv_open-aix.h" #define ICONV_FLAVOR_HPUX "iconv_open-hpux.h" #define ICONV_FLAVOR_IRIX "iconv_open-irix.h" #define ICONV_FLAVOR_OSF "iconv_open-osf.h" #ifdef ICONV_FLAVOR # include ICONV_FLAVOR #endif iconv_t rpl_iconv_open (const char *tocode, const char *fromcode) #undef iconv_open { char fromcode_upper[32]; char tocode_upper[32]; char *fromcode_upper_end; char *tocode_upper_end; #if REPLACE_ICONV_UTF /* Special handling of conversion between UTF-8 and UTF-{16,32}{BE,LE}. Do this here, before calling the real iconv_open(), because OSF/1 5.1 iconv() to these encoding inserts a BOM, which is wrong. We do not need to handle conversion between arbitrary encodings and UTF-{16,32}{BE,LE}, because the 'striconveh' module implements two-step conversion throough UTF-8. The _ICONV_* constants are chosen to be disjoint from any iconv_t returned by the system's iconv_open() functions. Recall that iconv_t is a scalar type. */ if (c_toupper (fromcode[0]) == 'U' && c_toupper (fromcode[1]) == 'T' && c_toupper (fromcode[2]) == 'F' && fromcode[3] == '-') { if (c_toupper (tocode[0]) == 'U' && c_toupper (tocode[1]) == 'T' && c_toupper (tocode[2]) == 'F' && tocode[3] == '-') { if (strcmp (fromcode + 4, "8") == 0) { if (c_strcasecmp (tocode + 4, "16BE") == 0) return _ICONV_UTF8_UTF16BE; if (c_strcasecmp (tocode + 4, "16LE") == 0) return _ICONV_UTF8_UTF16LE; if (c_strcasecmp (tocode + 4, "32BE") == 0) return _ICONV_UTF8_UTF32BE; if (c_strcasecmp (tocode + 4, "32LE") == 0) return _ICONV_UTF8_UTF32LE; } else if (strcmp (tocode + 4, "8") == 0) { if (c_strcasecmp (fromcode + 4, "16BE") == 0) return _ICONV_UTF16BE_UTF8; if (c_strcasecmp (fromcode + 4, "16LE") == 0) return _ICONV_UTF16LE_UTF8; if (c_strcasecmp (fromcode + 4, "32BE") == 0) return _ICONV_UTF32BE_UTF8; if (c_strcasecmp (fromcode + 4, "32LE") == 0) return _ICONV_UTF32LE_UTF8; } } } #endif /* Do *not* add special support for 8-bit encodings like ASCII or ISO-8859-1 here. This would lead to programs that work in some locales (such as the "C" or "en_US" locales) but do not work in East Asian locales. It is better if programmers make their programs depend on GNU libiconv (except on glibc systems), e.g. by using the AM_ICONV macro and documenting the dependency in an INSTALL or DEPENDENCIES file. */ /* Try with the original names first. This covers the case when fromcode or tocode is a lowercase encoding name that is understood by the system's iconv_open but not listed in our mappings table. */ { iconv_t cd = iconv_open (tocode, fromcode); if (cd != (iconv_t)(-1)) return cd; } /* Convert the encodings to upper case, because 1. in the arguments of iconv_open() on AIX, HP-UX, and OSF/1 the case matters, 2. it makes searching in the table faster. */ { const char *p = fromcode; char *q = fromcode_upper; while ((*q = c_toupper (*p)) != '\0') { p++; q++; if (q == &fromcode_upper[SIZEOF (fromcode_upper)]) { errno = EINVAL; return (iconv_t)(-1); } } fromcode_upper_end = q; } { const char *p = tocode; char *q = tocode_upper; while ((*q = c_toupper (*p)) != '\0') { p++; q++; if (q == &tocode_upper[SIZEOF (tocode_upper)]) { errno = EINVAL; return (iconv_t)(-1); } } tocode_upper_end = q; } #ifdef ICONV_FLAVOR /* Apply the mappings. */ { const struct mapping *m = mapping_lookup (fromcode_upper, fromcode_upper_end - fromcode_upper); fromcode = (m != NULL ? m->vendor_name : fromcode_upper); } { const struct mapping *m = mapping_lookup (tocode_upper, tocode_upper_end - tocode_upper); tocode = (m != NULL ? m->vendor_name : tocode_upper); } #else fromcode = fromcode_upper; tocode = tocode_upper; #endif return iconv_open (tocode, fromcode); } dc3dd-7.1.614/lib/intprops.h0000644000175000017500000000605011022023316015223 0ustar amedicoamedico/* intprops.h -- properties of integer types Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include /* The extra casts in the following macros work around compiler bugs, e.g., in Cray C 5.0.3.0. */ /* True if the arithmetic type T is an integer type. bool counts as an integer. */ #define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) /* True if negative values of the signed integer type T use two's complement, ones' complement, or signed magnitude representation, respectively. Much GNU code assumes two's complement, but some people like to be portable to all possible C hosts. */ #define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) #define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) #define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) /* True if the arithmetic type T is signed. */ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* The maximum and minimum values for the integer type T. These macros have undefined behavior if T is signed and has padding bits. If this is a problem for you, please let us know how to fix it for your host. */ #define TYPE_MINIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) 0 \ : TYPE_SIGNED_MAGNITUDE (t) \ ? ~ (t) 0 \ : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) #define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) /* Return zero if T can be determined to be an unsigned type. Otherwise, return 1. When compiling with GCC, INT_STRLEN_BOUND uses this macro to obtain a tighter bound. Otherwise, it overestimates the true bound by one byte when applied to unsigned types of size 2, 4, 16, ... bytes. The symbol signed_type_or_expr__ is private to this header file. */ #if __GNUC__ >= 2 # define signed_type_or_expr__(t) TYPE_SIGNED (__typeof__ (t)) #else # define signed_type_or_expr__(t) 1 #endif /* Bound on length of the string representing an integer type or expression T. Subtract 1 for the sign bit if T is signed; log10 (2.0) < 146/485; add 1 for integer division truncation; add 1 more for a minus sign if needed. */ #define INT_STRLEN_BOUND(t) \ ((sizeof (t) * CHAR_BIT - signed_type_or_expr__ (t)) * 146 / 485 \ + signed_type_or_expr__ (t) + 1) /* Bound on buffer size needed to represent an integer type or expression T, including the terminating null. */ #define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1) dc3dd-7.1.614/lib/unicodeio.h0000644000175000017500000000364711022023316015334 0ustar amedicoamedico/* Unicode character output to streams with locale dependent encoding. Copyright (C) 2000-2003, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef UNICODEIO_H # define UNICODEIO_H # include # include /* Converts the Unicode character CODE to its multibyte representation in the current locale and calls the SUCCESS callback on the resulting byte sequence. If an error occurs, invokes the FAILURE callback instead, passing it CODE and an English error string. Returns whatever the callback returned. Assumes that the locale doesn't change between two calls. */ extern long unicode_to_mb (unsigned int code, long (*success) (const char *buf, size_t buflen, void *callback_arg), long (*failure) (unsigned int code, const char *msg, void *callback_arg), void *callback_arg); /* Outputs the Unicode character CODE to the output stream STREAM. Upon failure, exit if exit_on_error is true, otherwise output a fallback notation. */ extern void print_unicode_char (FILE *stream, unsigned int code, int exit_on_error); /* Simple success callback that outputs the converted string. The STREAM is passed as callback_arg. */ extern long fwrite_success_callback (const char *buf, size_t buflen, void *callback_arg); #endif dc3dd-7.1.614/lib/safe-read.c0000644000175000017500000000412411022023316015167 0ustar amedicoamedico/* An interface to read and write that retries after interrupts. Copyright (C) 1993, 1994, 1998, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #ifdef SAFE_WRITE # include "safe-write.h" #else # include "safe-read.h" #endif /* Get ssize_t. */ #include #include #include #ifdef EINTR # define IS_EINTR(x) ((x) == EINTR) #else # define IS_EINTR(x) 0 #endif #include #ifdef SAFE_WRITE # define safe_rw safe_write # define rw write #else # define safe_rw safe_read # define rw read # undef const # define const /* empty */ #endif /* Read(write) up to COUNT bytes at BUF from(to) descriptor FD, retrying if interrupted. Return the actual number of bytes read(written), zero for EOF, or SAFE_READ_ERROR(SAFE_WRITE_ERROR) upon error. */ size_t safe_rw (int fd, void const *buf, size_t count) { /* Work around a bug in Tru64 5.1. Attempting to read more than INT_MAX bytes fails with errno == EINVAL. See . When decreasing COUNT, keep it block-aligned. */ enum { BUGGY_READ_MAXIMUM = INT_MAX & ~8191 }; for (;;) { ssize_t result = rw (fd, buf, count); if (0 <= result) return result; else if (IS_EINTR (errno)) continue; else if (errno == EINVAL && BUGGY_READ_MAXIMUM < count) count = BUGGY_READ_MAXIMUM; else return result; } } dc3dd-7.1.614/lib/unlocked-io.h0000644000175000017500000000673011022023316015563 0ustar amedicoamedico/* Prefer faster, non-thread-safe stdio functions if available. Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #ifndef UNLOCKED_IO_H # define UNLOCKED_IO_H 1 /* These are wrappers for functions/macros from the GNU C library, and from other C libraries supporting POSIX's optional thread-safe functions. The standard I/O functions are thread-safe. These *_unlocked ones are more efficient but not thread-safe. That they're not thread-safe is fine since all of the applications in this package are single threaded. Also, some code that is shared with the GNU C library may invoke the *_unlocked functions directly. On hosts that lack those functions, invoke the non-thread-safe versions instead. */ # include # if HAVE_DECL_CLEARERR_UNLOCKED # undef clearerr # define clearerr(x) clearerr_unlocked (x) # else # define clearerr_unlocked(x) clearerr (x) # endif # if HAVE_DECL_FEOF_UNLOCKED # undef feof # define feof(x) feof_unlocked (x) # else # define feof_unlocked(x) feof (x) # endif # if HAVE_DECL_FERROR_UNLOCKED # undef ferror # define ferror(x) ferror_unlocked (x) # else # define ferror_unlocked(x) ferror (x) # endif # if HAVE_DECL_FFLUSH_UNLOCKED # undef fflush # define fflush(x) fflush_unlocked (x) # else # define fflush_unlocked(x) fflush (x) # endif # if HAVE_DECL_FGETS_UNLOCKED # undef fgets # define fgets(x,y,z) fgets_unlocked (x,y,z) # else # define fgets_unlocked(x,y,z) fgets (x,y,z) # endif # if HAVE_DECL_FPUTC_UNLOCKED # undef fputc # define fputc(x,y) fputc_unlocked (x,y) # else # define fputc_unlocked(x,y) fputc (x,y) # endif # if HAVE_DECL_FPUTS_UNLOCKED # undef fputs # define fputs(x,y) fputs_unlocked (x,y) # else # define fputs_unlocked(x,y) fputs (x,y) # endif # if HAVE_DECL_FREAD_UNLOCKED # undef fread # define fread(w,x,y,z) fread_unlocked (w,x,y,z) # else # define fread_unlocked(w,x,y,z) fread (w,x,y,z) # endif # if HAVE_DECL_FWRITE_UNLOCKED # undef fwrite # define fwrite(w,x,y,z) fwrite_unlocked (w,x,y,z) # else # define fwrite_unlocked(w,x,y,z) fwrite (w,x,y,z) # endif # if HAVE_DECL_GETC_UNLOCKED # undef getc # define getc(x) getc_unlocked (x) # else # define getc_unlocked(x) getc (x) # endif # if HAVE_DECL_GETCHAR_UNLOCKED # undef getchar # define getchar() getchar_unlocked () # else # define getchar_unlocked() getchar () # endif # if HAVE_DECL_PUTC_UNLOCKED # undef putc # define putc(x,y) putc_unlocked (x,y) # else # define putc_unlocked(x,y) putc (x,y) # endif # if HAVE_DECL_PUTCHAR_UNLOCKED # undef putchar # define putchar(x) putchar_unlocked (x) # else # define putchar_unlocked(x) putchar (x) # endif # undef flockfile # define flockfile(x) ((void) 0) # undef ftrylockfile # define ftrylockfile(x) 0 # undef funlockfile # define funlockfile(x) ((void) 0) #endif /* UNLOCKED_IO_H */ dc3dd-7.1.614/lib/u64.h0000644000175000017500000000641311022023316013766 0ustar amedicoamedico/* uint64_t-like operations that work even on hosts lacking uint64_t Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include /* Return X rotated left by N bits, where 0 < N < 64. */ #define u64rol(x, n) u64or (u64shl (x, n), u64shr (x, 64 - n)) #ifdef UINT64_MAX /* Native implementations are trivial. See below for comments on what these operations do. */ typedef uint64_t u64; # define u64hilo(hi, lo) ((u64) (((u64) (hi) << 32) + (lo))) # define u64init(hi, lo) u64hilo (hi, lo) # define u64lo(x) ((u64) (x)) # define u64lt(x, y) ((x) < (y)) # define u64and(x, y) ((x) & (y)) # define u64or(x, y) ((x) | (y)) # define u64xor(x, y) ((x) ^ (y)) # define u64plus(x, y) ((x) + (y)) # define u64shl(x, n) ((x) << (n)) # define u64shr(x, n) ((x) >> (n)) #else /* u64 is a 64-bit unsigned integer value. u64init (HI, LO), is like u64hilo (HI, LO), but for use in initializer contexts. */ # ifdef WORDS_BIGENDIAN typedef struct { uint32_t hi, lo; } u64; # define u64init(hi, lo) { hi, lo } # else typedef struct { uint32_t lo, hi; } u64; # define u64init(hi, lo) { lo, hi } # endif /* Given the high and low-order 32-bit quantities HI and LO, return a u64 value representing (HI << 32) + LO. */ static inline u64 u64hilo (uint32_t hi, uint32_t lo) { u64 r; r.hi = hi; r.lo = lo; return r; } /* Return a u64 value representing LO. */ static inline u64 u64lo (uint32_t lo) { u64 r; r.hi = 0; r.lo = lo; return r; } /* Return X < Y. */ static inline int u64lt (u64 x, u64 y) { return x.hi < y.hi || (x.hi == y.hi && x.lo < y.lo); } /* Return X & Y. */ static inline u64 u64and (u64 x, u64 y) { u64 r; r.hi = x.hi & y.hi; r.lo = x.lo & y.lo; return r; } /* Return X | Y. */ static inline u64 u64or (u64 x, u64 y) { u64 r; r.hi = x.hi | y.hi; r.lo = x.lo | y.lo; return r; } /* Return X ^ Y. */ static inline u64 u64xor (u64 x, u64 y) { u64 r; r.hi = x.hi ^ y.hi; r.lo = x.lo ^ y.lo; return r; } /* Return X + Y. */ static inline u64 u64plus (u64 x, u64 y) { u64 r; r.lo = x.lo + y.lo; r.hi = x.hi + y.hi + (r.lo < x.lo); return r; } /* Return X << N. */ static inline u64 u64shl (u64 x, int n) { u64 r; if (n < 32) { r.hi = (x.hi << n) | (x.lo >> (32 - n)); r.lo = x.lo << n; } else { r.hi = x.lo << (n - 32); r.lo = 0; } return r; } /* Return X >> N. */ static inline u64 u64shr (u64 x, int n) { u64 r; if (n < 32) { r.hi = x.hi >> n; r.lo = (x.hi << (32 - n)) | (x.lo >> n); } else { r.hi = 0; r.lo = x.hi >> (n - 32); } return r; } #endif dc3dd-7.1.614/lib/mountlist.h0000644000175000017500000000272111022023316015404 0ustar amedicoamedico/* mountlist.h -- declarations for list of mounted file systems Copyright (C) 1991, 1992, 1998, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef MOUNTLIST_H_ # define MOUNTLIST_H_ # include # include /* A mount table entry. */ struct mount_entry { char *me_devname; /* Device node name, including "/dev/". */ char *me_mountdir; /* Mount point directory name. */ char *me_type; /* "nfs", "4.2", etc. */ dev_t me_dev; /* Device number of me_mountdir. */ unsigned int me_dummy : 1; /* Nonzero for dummy file systems. */ unsigned int me_remote : 1; /* Nonzero for remote fileystems. */ unsigned int me_type_malloced : 1; /* Nonzero if me_type was malloced. */ struct mount_entry *me_next; }; struct mount_entry *read_file_system_list (bool need_fs_type); #endif dc3dd-7.1.614/lib/dirchownmod.c0000644000175000017500000001047311022023316015661 0ustar amedicoamedico/* Change the ownership and mode bits of a directory. Copyright (C) 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "dirchownmod.h" #include #include #include #include #include "lchmod.h" #include "stat-macros.h" #ifndef HAVE_FCHMOD # define HAVE_FCHMOD 0 # undef fchmod # define fchmod(fd, mode) (-1) #endif /* Change the ownership and mode bits of a directory. If FD is nonnegative, it should be a file descriptor associated with the directory; close it before returning. DIR is the name of the directory. If MKDIR_MODE is not (mode_t) -1, mkdir (DIR, MKDIR_MODE) has just been executed successfully with umask zero, so DIR should be a directory (not a symbolic link). First, set the file's owner to OWNER and group to GROUP, but leave the owner alone if OWNER is (uid_t) -1, and similarly for GROUP. Then, set the file's mode bits to MODE, except preserve any of the bits that correspond to zero bits in MODE_BITS. In other words, MODE_BITS is a mask that specifies which of the file's mode bits should be set or cleared. MODE should be a subset of MODE_BITS, which in turn should be a subset of CHMOD_MODE_BITS. This implementation assumes the current umask is zero. Return 0 if successful, -1 (setting errno) otherwise. Unsuccessful calls may do the chown but not the chmod. */ int dirchownmod (int fd, char const *dir, mode_t mkdir_mode, uid_t owner, gid_t group, mode_t mode, mode_t mode_bits) { struct stat st; int result = (fd < 0 ? stat (dir, &st) : fstat (fd, &st)); if (result == 0) { mode_t dir_mode = st.st_mode; /* Check whether DIR is a directory. If FD is nonnegative, this check avoids changing the ownership and mode bits of the wrong file in many cases. This doesn't fix all the race conditions, but it is better than nothing. */ if (! S_ISDIR (dir_mode)) { errno = ENOTDIR; result = -1; } else { /* If at least one of the S_IXUGO bits are set, chown might clear the S_ISUID and S_SGID bits. Keep track of any file mode bits whose values are indeterminate due to this issue. */ mode_t indeterminate = 0; /* On some systems, chown clears S_ISUID and S_ISGID, so do chown before chmod. On older System V hosts, ordinary users can give their files away via chown; don't worry about that here, since users shouldn't do that. */ if ((owner != (uid_t) -1 && owner != st.st_uid) || (group != (gid_t) -1 && group != st.st_gid)) { result = (0 <= fd ? fchown (fd, owner, group) : mkdir_mode != (mode_t) -1 ? lchown (dir, owner, group) : chown (dir, owner, group)); /* Either the user cares about an indeterminate bit and it'll be set properly by chmod below, or the user doesn't care and it's OK to use the bit's pre-chown value. So there's no need to re-stat DIR here. */ if (result == 0 && (dir_mode & S_IXUGO)) indeterminate = dir_mode & (S_ISUID | S_ISGID); } /* If the file mode bits might not be right, use chmod to change them. Don't change bits the user doesn't care about. */ if (result == 0 && (((dir_mode ^ mode) | indeterminate) & mode_bits)) { mode_t chmod_mode = mode | (dir_mode & CHMOD_MODE_BITS & ~mode_bits); result = (HAVE_FCHMOD && 0 <= fd ? fchmod (fd, chmod_mode) : mkdir_mode != (mode_t) -1 ? lchmod (dir, chmod_mode) : chmod (dir, chmod_mode)); } } } if (0 <= fd) { if (result == 0) result = close (fd); else { int e = errno; close (fd); errno = e; } } return result; } dc3dd-7.1.614/lib/stpcpy.c0000644000175000017500000000252411022023316014664 0ustar amedicoamedico/* stpcpy.c -- copy a string and return pointer to end of new string Copyright (C) 1992, 1995, 1997-1998, 2006 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ #include #include #undef __stpcpy #ifdef _LIBC # undef stpcpy #endif #ifndef weak_alias # define __stpcpy stpcpy #endif /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ char * __stpcpy (char *dest, const char *src) { register char *d = dest; register const char *s = src; do *d++ = *s; while (*s++ != '\0'); return d - 1; } #ifdef weak_alias weak_alias (__stpcpy, stpcpy) #endif dc3dd-7.1.614/lib/safe-write.h0000644000175000017500000000204611022023316015414 0ustar amedicoamedico/* An interface to write() that retries after interrupts. Copyright (C) 2002 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #define SAFE_WRITE_ERROR ((size_t) -1) /* Write up to COUNT bytes at BUF to descriptor FD, retrying if interrupted. Return the actual number of bytes written, zero for EOF, or SAFE_WRITE_ERROR upon error. */ extern size_t safe_write (int fd, const void *buf, size_t count); dc3dd-7.1.614/lib/xalloc-die.c0000644000175000017500000000245211022023316015363 0ustar amedicoamedico/* Report a memory allocation failure and exit. Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "xalloc.h" #include #include "error.h" #include "exitfail.h" #include "gettext.h" #define _(msgid) gettext (msgid) void xalloc_die (void) { error (exit_failure, 0, "%s", _("memory exhausted")); /* The `noreturn' cannot be given to error, since it may return if its first argument is 0. To help compilers understand the xalloc_die does not return, call abort. Also, the abort is a safety feature if exit_failure is 0 (which shouldn't happen). */ abort (); } dc3dd-7.1.614/lib/randperm.h0000644000175000017500000000022111022023316015147 0ustar amedicoamedico#include "randint.h" #include size_t randperm_bound (size_t, size_t); size_t *randperm_new (struct randint_source *, size_t, size_t); dc3dd-7.1.614/lib/sys_stat.in.h0000644000175000017500000001406111064230667015643 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Provide a more complete sys/stat header file. Copyright (C) 2006-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Written by Eric Blake, Paul Eggert, and Jim Meyering. */ /* This file is supposed to be used on platforms where is incomplete. It is intended to provide definitions and prototypes needed by an application. Start with what the system provides. */ #ifndef _GL_SYS_STAT_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@ #ifndef _GL_SYS_STAT_H #define _GL_SYS_STAT_H /* Before doing "#define mkdir rpl_mkdir" below, we need to include all headers that may declare mkdir(). */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # include #endif #ifndef S_IFMT # define S_IFMT 0170000 #endif #if STAT_MACROS_BROKEN # undef S_ISBLK # undef S_ISCHR # undef S_ISDIR # undef S_ISFIFO # undef S_ISLNK # undef S_ISNAM # undef S_ISMPB # undef S_ISMPC # undef S_ISNWK # undef S_ISREG # undef S_ISSOCK #endif #ifndef S_ISBLK # ifdef S_IFBLK # define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) # else # define S_ISBLK(m) 0 # endif #endif #ifndef S_ISCHR # ifdef S_IFCHR # define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) # else # define S_ISCHR(m) 0 # endif #endif #ifndef S_ISDIR # ifdef S_IFDIR # define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) # else # define S_ISDIR(m) 0 # endif #endif #ifndef S_ISDOOR /* Solaris 2.5 and up */ # define S_ISDOOR(m) 0 #endif #ifndef S_ISFIFO # ifdef S_IFIFO # define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) # else # define S_ISFIFO(m) 0 # endif #endif #ifndef S_ISLNK # ifdef S_IFLNK # define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) # else # define S_ISLNK(m) 0 # endif #endif #ifndef S_ISMPB /* V7 */ # ifdef S_IFMPB # define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB) # define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC) # else # define S_ISMPB(m) 0 # define S_ISMPC(m) 0 # endif #endif #ifndef S_ISNAM /* Xenix */ # ifdef S_IFNAM # define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM) # else # define S_ISNAM(m) 0 # endif #endif #ifndef S_ISNWK /* HP/UX */ # ifdef S_IFNWK # define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK) # else # define S_ISNWK(m) 0 # endif #endif #ifndef S_ISPORT /* Solaris 10 and up */ # define S_ISPORT(m) 0 #endif #ifndef S_ISREG # ifdef S_IFREG # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) # else # define S_ISREG(m) 0 # endif #endif #ifndef S_ISSOCK # ifdef S_IFSOCK # define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) # else # define S_ISSOCK(m) 0 # endif #endif #ifndef S_TYPEISMQ # define S_TYPEISMQ(p) 0 #endif #ifndef S_TYPEISTMO # define S_TYPEISTMO(p) 0 #endif #ifndef S_TYPEISSEM # ifdef S_INSEM # define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM) # else # define S_TYPEISSEM(p) 0 # endif #endif #ifndef S_TYPEISSHM # ifdef S_INSHD # define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD) # else # define S_TYPEISSHM(p) 0 # endif #endif /* high performance ("contiguous data") */ #ifndef S_ISCTG # define S_ISCTG(p) 0 #endif /* Cray DMF (data migration facility): off line, with data */ #ifndef S_ISOFD # define S_ISOFD(p) 0 #endif /* Cray DMF (data migration facility): off line, with no data */ #ifndef S_ISOFL # define S_ISOFL(p) 0 #endif /* 4.4BSD whiteout */ #ifndef S_ISWHT # define S_ISWHT(m) 0 #endif /* If any of the following are undefined, define them to their de facto standard values. */ #if !S_ISUID # define S_ISUID 04000 #endif #if !S_ISGID # define S_ISGID 02000 #endif /* S_ISVTX is a common extension to POSIX. */ #ifndef S_ISVTX # define S_ISVTX 01000 #endif #if !S_IRUSR && S_IREAD # define S_IRUSR S_IREAD #endif #if !S_IRUSR # define S_IRUSR 00400 #endif #if !S_IRGRP # define S_IRGRP (S_IRUSR >> 3) #endif #if !S_IROTH # define S_IROTH (S_IRUSR >> 6) #endif #if !S_IWUSR && S_IWRITE # define S_IWUSR S_IWRITE #endif #if !S_IWUSR # define S_IWUSR 00200 #endif #if !S_IWGRP # define S_IWGRP (S_IWUSR >> 3) #endif #if !S_IWOTH # define S_IWOTH (S_IWUSR >> 6) #endif #if !S_IXUSR && S_IEXEC # define S_IXUSR S_IEXEC #endif #if !S_IXUSR # define S_IXUSR 00100 #endif #if !S_IXGRP # define S_IXGRP (S_IXUSR >> 3) #endif #if !S_IXOTH # define S_IXOTH (S_IXUSR >> 6) #endif #if !S_IRWXU # define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) #endif #if !S_IRWXG # define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP) #endif #if !S_IRWXO # define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) #endif /* S_IXUGO is a common extension to POSIX. */ #if !S_IXUGO # define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH) #endif #ifndef S_IRWXUGO # define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO) #endif /* mingw does not support symlinks, therefore it does not have lstat. But without links, stat does just fine. */ #if ! @HAVE_LSTAT@ # define lstat stat #endif #if @REPLACE_MKDIR@ # undef mkdir # define mkdir rpl_mkdir extern int mkdir (char const *name, mode_t mode); #else /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. Additionally, it declares _mkdir (and depending on compile flags, an alias mkdir), only in the nonstandard , which is included above. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ static inline int rpl_mkdir (char const *name, mode_t mode) { return _mkdir (name); } # define mkdir rpl_mkdir # endif #endif #endif /* _GL_SYS_STAT_H */ #endif /* _GL_SYS_STAT_H */ dc3dd-7.1.614/lib/xstrndup.c0000644000175000017500000000223311022023316015226 0ustar amedicoamedico/* Duplicate a bounded initial segment of a string, with out-of-memory checking. Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "xstrndup.h" #include #include "xalloc.h" /* Return a newly allocated copy of at most N bytes of STRING. In other words, return a copy of the initial segment of length N of STRING. */ char * xstrndup (const char *string, size_t n) { char *s = strndup (string, n); if (! s) xalloc_die (); return s; } dc3dd-7.1.614/lib/full-read.c0000644000175000017500000000146611022023316015221 0ustar amedicoamedico/* An interface to read that retries after partial reads and interrupts. Copyright (C) 2002, 2003 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #define FULL_READ #include "full-write.c" dc3dd-7.1.614/lib/readtokens.h0000644000175000017500000000245711022023316015513 0ustar amedicoamedico/* readtokens.h -- Functions for reading tokens from an input stream. Copyright (C) 1990, 1991, 1999, 2001-2004 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Jim Meyering. */ #ifndef READTOKENS_H # define READTOKENS_H # include struct tokenbuffer { size_t size; char *buffer; }; typedef struct tokenbuffer token_buffer; void init_tokenbuffer (token_buffer *tokenbuffer); size_t readtoken (FILE *stream, const char *delim, size_t n_delim, token_buffer *tokenbuffer); size_t readtokens (FILE *stream, size_t projected_n_tokens, const char *delim, size_t n_delim, char ***tokens_out, size_t **token_lengths); #endif /* not READTOKENS_H */ dc3dd-7.1.614/lib/strerror.c0000644000175000017500000000234511022023316015225 0ustar amedicoamedico/* strerror.c --- POSIX compatible system error routine Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #if REPLACE_STRERROR # include # include "intprops.h" # undef strerror # if ! HAVE_DECL_STRERROR # define strerror(n) NULL # endif char * rpl_strerror (int n) { char *result = strerror (n); if (result == NULL || result[0] == '\0') { static char const fmt[] = "Unknown error (%d)"; static char mesg[sizeof fmt + INT_STRLEN_BOUND (n)]; sprintf (mesg, fmt, n); return mesg; } return result; } #endif dc3dd-7.1.614/lib/filemode.c0000644000175000017500000001152611022023316015130 0ustar amedicoamedico/* filemode.c -- make a string describing file modes Copyright (C) 1985, 1990, 1993, 1998-2000, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "filemode.h" /* The following is for Cray DMF (Data Migration Facility), which is a HSM file system. A migrated file has a `st_dm_mode' that is different from the normal `st_mode', so any tests for migrated files should use the former. */ #if HAVE_ST_DM_MODE # define IS_MIGRATED_FILE(statp) \ (S_ISOFD (statp->st_dm_mode) || S_ISOFL (statp->st_dm_mode)) #else # define IS_MIGRATED_FILE(statp) 0 #endif #if ! HAVE_DECL_STRMODE /* Return a character indicating the type of file described by file mode BITS: '-' regular file 'b' block special file 'c' character special file 'C' high performance ("contiguous data") file 'd' directory 'D' door 'l' symbolic link 'm' multiplexed file (7th edition Unix; obsolete) 'n' network special file (HP-UX) 'p' fifo (named pipe) 'P' port 's' socket 'w' whiteout (4.4BSD) '?' some other file type */ static char ftypelet (mode_t bits) { /* These are the most common, so test for them first. */ if (S_ISREG (bits)) return '-'; if (S_ISDIR (bits)) return 'd'; /* Other letters standardized by POSIX 1003.1-2004. */ if (S_ISBLK (bits)) return 'b'; if (S_ISCHR (bits)) return 'c'; if (S_ISLNK (bits)) return 'l'; if (S_ISFIFO (bits)) return 'p'; /* Other file types (though not letters) standardized by POSIX. */ if (S_ISSOCK (bits)) return 's'; /* Nonstandard file types. */ if (S_ISCTG (bits)) return 'C'; if (S_ISDOOR (bits)) return 'D'; if (S_ISMPB (bits) || S_ISMPC (bits)) return 'm'; if (S_ISNWK (bits)) return 'n'; if (S_ISPORT (bits)) return 'P'; if (S_ISWHT (bits)) return 'w'; return '?'; } /* Like filemodestring, but rely only on MODE. */ void strmode (mode_t mode, char *str) { str[0] = ftypelet (mode); str[1] = mode & S_IRUSR ? 'r' : '-'; str[2] = mode & S_IWUSR ? 'w' : '-'; str[3] = (mode & S_ISUID ? (mode & S_IXUSR ? 's' : 'S') : (mode & S_IXUSR ? 'x' : '-')); str[4] = mode & S_IRGRP ? 'r' : '-'; str[5] = mode & S_IWGRP ? 'w' : '-'; str[6] = (mode & S_ISGID ? (mode & S_IXGRP ? 's' : 'S') : (mode & S_IXGRP ? 'x' : '-')); str[7] = mode & S_IROTH ? 'r' : '-'; str[8] = mode & S_IWOTH ? 'w' : '-'; str[9] = (mode & S_ISVTX ? (mode & S_IXOTH ? 't' : 'T') : (mode & S_IXOTH ? 'x' : '-')); str[10] = ' '; str[11] = '\0'; } #endif /* ! HAVE_DECL_STRMODE */ /* filemodestring - fill in string STR with an ls-style ASCII representation of the st_mode field of file stats block STATP. 12 characters are stored in STR. The characters stored in STR are: 0 File type, as in ftypelet above, except that other letters are used for files whose type cannot be determined solely from st_mode: 'F' semaphore 'M' migrated file (Cray DMF) 'Q' message queue 'S' shared memory object 'T' typed memory object 1 'r' if the owner may read, '-' otherwise. 2 'w' if the owner may write, '-' otherwise. 3 'x' if the owner may execute, 's' if the file is set-user-id, '-' otherwise. 'S' if the file is set-user-id, but the execute bit isn't set. 4 'r' if group members may read, '-' otherwise. 5 'w' if group members may write, '-' otherwise. 6 'x' if group members may execute, 's' if the file is set-group-id, '-' otherwise. 'S' if it is set-group-id but not executable. 7 'r' if any user may read, '-' otherwise. 8 'w' if any user may write, '-' otherwise. 9 'x' if any user may execute, 't' if the file is "sticky" (will be retained in swap space after execution), '-' otherwise. 'T' if the file is sticky but not executable. 10 ' ' for compatibility with 4.4BSD strmode, since this interface does not support ACLs. 11 '\0'. */ void filemodestring (struct stat const *statp, char *str) { strmode (statp->st_mode, str); if (S_TYPEISSEM (statp)) str[0] = 'F'; else if (IS_MIGRATED_FILE (statp)) str[0] = 'M'; else if (S_TYPEISMQ (statp)) str[0] = 'Q'; else if (S_TYPEISSHM (statp)) str[0] = 'S'; else if (S_TYPEISTMO (statp)) str[0] = 'T'; } dc3dd-7.1.614/lib/exitfail.h0000644000175000017500000000136711022023316015160 0ustar amedicoamedico/* Failure exit status Copyright (C) 2002 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ extern int volatile exit_failure; dc3dd-7.1.614/lib/obstack.h0000644000175000017500000004650711022023316015006 0ustar amedicoamedico/* obstack.h - object stack macros Copyright (C) 1988-1994,1996-1999,2003,2004,2005,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Summary: All the apparent functions defined here are macros. The idea is that you would use these pre-tested macros to solve a very specific set of problems, and they would run fast. Caution: no side-effects in arguments please!! They may be evaluated MANY times!! These macros operate a stack of objects. Each object starts life small, and may grow to maturity. (Consider building a word syllable by syllable.) An object can move while it is growing. Once it has been "finished" it never changes address again. So the "top of the stack" is typically an immature growing object, while the rest of the stack is of mature, fixed size and fixed address objects. These routines grab large chunks of memory, using a function you supply, called `obstack_chunk_alloc'. On occasion, they free chunks, by calling `obstack_chunk_free'. You must define them and declare them before using any obstack macros. Each independent stack is represented by a `struct obstack'. Each of the obstack macros expects a pointer to such a structure as the first argument. One motivation for this package is the problem of growing char strings in symbol tables. Unless you are "fascist pig with a read-only mind" --Gosper's immortal quote from HAKMEM item 154, out of context--you would not like to put any arbitrary upper limit on the length of your symbols. In practice this often means you will build many short symbols and a few long symbols. At the time you are reading a symbol you don't know how long it is. One traditional method is to read a symbol into a buffer, realloc()ating the buffer every time you try to read a symbol that is longer than the buffer. This is beaut, but you still will want to copy the symbol from the buffer to a more permanent symbol-table entry say about half the time. With obstacks, you can work differently. Use one obstack for all symbol names. As you read a symbol, grow the name in the obstack gradually. When the name is complete, finalize it. Then, if the symbol exists already, free the newly read name. The way we do this is to take a large chunk, allocating memory from low addresses. When you want to build a symbol in the chunk you just add chars above the current "high water mark" in the chunk. When you have finished adding chars, because you got to the end of the symbol, you know how long the chars are, and you can create a new object. Mostly the chars will not burst over the highest address of the chunk, because you would typically expect a chunk to be (say) 100 times as long as an average object. In case that isn't clear, when we have enough chars to make up the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) so we just point to it where it lies. No moving of chars is needed and this is the second win: potentially long strings need never be explicitly shuffled. Once an object is formed, it does not change its address during its lifetime. When the chars burst over a chunk boundary, we allocate a larger chunk, and then copy the partly formed object from the end of the old chunk to the beginning of the new larger chunk. We then carry on accreting characters to the end of the object as we normally would. A special macro is provided to add a single char at a time to a growing object. This allows the use of register variables, which break the ordinary 'growth' macro. Summary: We allocate large chunks. We carve out one object at a time from the current chunk. Once carved, an object never moves. We are free to append data of any size to the currently growing object. Exactly one object is growing in an obstack at any one time. You can run one obstack per control block. You may have as many control blocks as you dare. Because of the way we do it, you can `unwind' an obstack back to a previous state. (You may remove objects much as you would with a stack.) */ /* Don't do the contents of this file more than once. */ #ifndef _OBSTACK_H #define _OBSTACK_H 1 #ifdef __cplusplus extern "C" { #endif /* We need the type of a pointer subtraction. If __PTRDIFF_TYPE__ is defined, as with GNU C, use that; that way we don't pollute the namespace with 's symbols. Otherwise, include and use ptrdiff_t. */ #ifdef __PTRDIFF_TYPE__ # define PTR_INT_TYPE __PTRDIFF_TYPE__ #else # include # define PTR_INT_TYPE ptrdiff_t #endif /* If B is the base of an object addressed by P, return the result of aligning P to the next multiple of A + 1. B and P must be of type char *. A + 1 must be a power of 2. */ #define __BPTR_ALIGN(B, P, A) ((B) + (((P) - (B) + (A)) & ~(A))) /* Similiar to _BPTR_ALIGN (B, P, A), except optimize the common case where pointers can be converted to integers, aligned as integers, and converted back again. If PTR_INT_TYPE is narrower than a pointer (e.g., the AS/400), play it safe and compute the alignment relative to B. Otherwise, use the faster strategy of computing the alignment relative to 0. */ #define __PTR_ALIGN(B, P, A) \ __BPTR_ALIGN (sizeof (PTR_INT_TYPE) < sizeof (void *) ? (B) : (char *) 0, \ P, A) #include struct _obstack_chunk /* Lives at front of each chunk. */ { char *limit; /* 1 past end of this chunk */ struct _obstack_chunk *prev; /* address of prior chunk or NULL */ char contents[4]; /* objects begin here */ }; struct obstack /* control current object in current chunk */ { long chunk_size; /* preferred size to allocate chunks in */ struct _obstack_chunk *chunk; /* address of current struct obstack_chunk */ char *object_base; /* address of object we are building */ char *next_free; /* where to add next char to current object */ char *chunk_limit; /* address of char after current chunk */ union { PTR_INT_TYPE tempint; void *tempptr; } temp; /* Temporary for some macros. */ int alignment_mask; /* Mask of alignment for each object. */ /* These prototypes vary based on `use_extra_arg', and we use casts to the prototypeless function type in all assignments, but having prototypes here quiets -Wstrict-prototypes. */ struct _obstack_chunk *(*chunkfun) (void *, long); void (*freefun) (void *, struct _obstack_chunk *); void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg */ unsigned maybe_empty_object:1;/* There is a possibility that the current chunk contains a zero-length object. This prevents freeing the chunk if we allocate a bigger chunk to replace it. */ unsigned alloc_failed:1; /* No longer used, as we now call the failed handler on error, but retained for binary compatibility. */ }; /* Declare the external functions we use; they are in obstack.c. */ extern void _obstack_newchunk (struct obstack *, int); extern int _obstack_begin (struct obstack *, int, int, void *(*) (long), void (*) (void *)); extern int _obstack_begin_1 (struct obstack *, int, int, void *(*) (void *, long), void (*) (void *, void *), void *); extern int _obstack_memory_used (struct obstack *); /* The default name of the function for freeing a chunk is 'obstack_free', but gnulib users can override this by defining '__obstack_free'. */ #ifndef __obstack_free # define __obstack_free obstack_free #endif extern void __obstack_free (struct obstack *obstack, void *block); /* Error handler called when `obstack_chunk_alloc' failed to allocate more memory. This can be set to a user defined function which should either abort gracefully or use longjump - but shouldn't return. The default action is to print a message and abort. */ extern void (*obstack_alloc_failed_handler) (void); /* Exit value used when `print_and_abort' is used. */ extern int obstack_exit_failure; /* Pointer to beginning of object being allocated or to be allocated next. Note that this might not be the final address of the object because a new chunk might be needed to hold the final size. */ #define obstack_base(h) ((void *) (h)->object_base) /* Size for allocating ordinary chunks. */ #define obstack_chunk_size(h) ((h)->chunk_size) /* Pointer to next byte not yet allocated in current chunk. */ #define obstack_next_free(h) ((h)->next_free) /* Mask specifying low bits that should be clear in address of an object. */ #define obstack_alignment_mask(h) ((h)->alignment_mask) /* To prevent prototype warnings provide complete argument list. */ #define obstack_init(h) \ _obstack_begin ((h), 0, 0, \ (void *(*) (long)) obstack_chunk_alloc, \ (void (*) (void *)) obstack_chunk_free) #define obstack_begin(h, size) \ _obstack_begin ((h), (size), 0, \ (void *(*) (long)) obstack_chunk_alloc, \ (void (*) (void *)) obstack_chunk_free) #define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \ _obstack_begin ((h), (size), (alignment), \ (void *(*) (long)) (chunkfun), \ (void (*) (void *)) (freefun)) #define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \ _obstack_begin_1 ((h), (size), (alignment), \ (void *(*) (void *, long)) (chunkfun), \ (void (*) (void *, void *)) (freefun), (arg)) #define obstack_chunkfun(h, newchunkfun) \ ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun)) #define obstack_freefun(h, newfreefun) \ ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun)) #define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar)) #define obstack_blank_fast(h,n) ((h)->next_free += (n)) #define obstack_memory_used(h) _obstack_memory_used (h) #if defined __GNUC__ && defined __STDC__ && __STDC__ /* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and does not implement __extension__. But that compiler doesn't define __GNUC_MINOR__. */ # if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__) # define __extension__ # endif /* For GNU C, if not -traditional, we can define these macros to compute all args only once without using a global variable. Also, we can avoid using the `temp' slot, to make faster code. */ # define obstack_object_size(OBSTACK) \ __extension__ \ ({ struct obstack const *__o = (OBSTACK); \ (unsigned) (__o->next_free - __o->object_base); }) # define obstack_room(OBSTACK) \ __extension__ \ ({ struct obstack const *__o = (OBSTACK); \ (unsigned) (__o->chunk_limit - __o->next_free); }) # define obstack_make_room(OBSTACK,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->chunk_limit - __o->next_free < __len) \ _obstack_newchunk (__o, __len); \ (void) 0; }) # define obstack_empty_p(OBSTACK) \ __extension__ \ ({ struct obstack const *__o = (OBSTACK); \ (__o->chunk->prev == 0 \ && __o->next_free == __PTR_ALIGN ((char *) __o->chunk, \ __o->chunk->contents, \ __o->alignment_mask)); }) # define obstack_grow(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->next_free + __len > __o->chunk_limit) \ _obstack_newchunk (__o, __len); \ memcpy (__o->next_free, where, __len); \ __o->next_free += __len; \ (void) 0; }) # define obstack_grow0(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->next_free + __len + 1 > __o->chunk_limit) \ _obstack_newchunk (__o, __len + 1); \ memcpy (__o->next_free, where, __len); \ __o->next_free += __len; \ *(__o->next_free)++ = 0; \ (void) 0; }) # define obstack_1grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + 1 > __o->chunk_limit) \ _obstack_newchunk (__o, 1); \ obstack_1grow_fast (__o, datum); \ (void) 0; }) /* These assume that the obstack alignment is good enough for pointers or ints, and that the data added so far to the current object shares that much alignment. */ # define obstack_ptr_grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ _obstack_newchunk (__o, sizeof (void *)); \ obstack_ptr_grow_fast (__o, datum); }) \ # define obstack_int_grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + sizeof (int) > __o->chunk_limit) \ _obstack_newchunk (__o, sizeof (int)); \ obstack_int_grow_fast (__o, datum); }) # define obstack_ptr_grow_fast(OBSTACK,aptr) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ *(const void **) __o1->next_free = (aptr); \ __o1->next_free += sizeof (const void *); \ (void) 0; }) # define obstack_int_grow_fast(OBSTACK,aint) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ *(int *) __o1->next_free = (aint); \ __o1->next_free += sizeof (int); \ (void) 0; }) # define obstack_blank(OBSTACK,length) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ int __len = (length); \ if (__o->chunk_limit - __o->next_free < __len) \ _obstack_newchunk (__o, __len); \ obstack_blank_fast (__o, __len); \ (void) 0; }) # define obstack_alloc(OBSTACK,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_blank (__h, (length)); \ obstack_finish (__h); }) # define obstack_copy(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_grow (__h, (where), (length)); \ obstack_finish (__h); }) # define obstack_copy0(OBSTACK,where,length) \ __extension__ \ ({ struct obstack *__h = (OBSTACK); \ obstack_grow0 (__h, (where), (length)); \ obstack_finish (__h); }) /* The local variable is named __o1 to avoid a name conflict when obstack_blank is called. */ # define obstack_finish(OBSTACK) \ __extension__ \ ({ struct obstack *__o1 = (OBSTACK); \ void *__value = (void *) __o1->object_base; \ if (__o1->next_free == __value) \ __o1->maybe_empty_object = 1; \ __o1->next_free \ = __PTR_ALIGN (__o1->object_base, __o1->next_free, \ __o1->alignment_mask); \ if (__o1->next_free - (char *)__o1->chunk \ > __o1->chunk_limit - (char *)__o1->chunk) \ __o1->next_free = __o1->chunk_limit; \ __o1->object_base = __o1->next_free; \ __value; }) # define obstack_free(OBSTACK, OBJ) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ void *__obj = (OBJ); \ if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) \ __o->next_free = __o->object_base = (char *)__obj; \ else (__obstack_free) (__o, __obj); }) #else /* not __GNUC__ or not __STDC__ */ # define obstack_object_size(h) \ (unsigned) ((h)->next_free - (h)->object_base) # define obstack_room(h) \ (unsigned) ((h)->chunk_limit - (h)->next_free) # define obstack_empty_p(h) \ ((h)->chunk->prev == 0 \ && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk, \ (h)->chunk->contents, \ (h)->alignment_mask)) /* Note that the call to _obstack_newchunk is enclosed in (..., 0) so that we can avoid having void expressions in the arms of the conditional expression. Casting the third operand to void was tried before, but some compilers won't accept it. */ # define obstack_make_room(h,length) \ ( (h)->temp.tempint = (length), \ (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0)) # define obstack_grow(h,where,length) \ ( (h)->temp.tempint = (length), \ (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0), \ memcpy ((h)->next_free, where, (h)->temp.tempint), \ (h)->next_free += (h)->temp.tempint) # define obstack_grow0(h,where,length) \ ( (h)->temp.tempint = (length), \ (((h)->next_free + (h)->temp.tempint + 1 > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp.tempint + 1), 0) : 0), \ memcpy ((h)->next_free, where, (h)->temp.tempint), \ (h)->next_free += (h)->temp.tempint, \ *((h)->next_free)++ = 0) # define obstack_1grow(h,datum) \ ( (((h)->next_free + 1 > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), 1), 0) : 0), \ obstack_1grow_fast (h, datum)) # define obstack_ptr_grow(h,datum) \ ( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ obstack_ptr_grow_fast (h, datum)) # define obstack_int_grow(h,datum) \ ( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ obstack_int_grow_fast (h, datum)) # define obstack_ptr_grow_fast(h,aptr) \ (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr)) # define obstack_int_grow_fast(h,aint) \ (((int *) ((h)->next_free += sizeof (int)))[-1] = (aint)) # define obstack_blank(h,length) \ ( (h)->temp.tempint = (length), \ (((h)->chunk_limit - (h)->next_free < (h)->temp.tempint) \ ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0), \ obstack_blank_fast (h, (h)->temp.tempint)) # define obstack_alloc(h,length) \ (obstack_blank ((h), (length)), obstack_finish ((h))) # define obstack_copy(h,where,length) \ (obstack_grow ((h), (where), (length)), obstack_finish ((h))) # define obstack_copy0(h,where,length) \ (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) # define obstack_finish(h) \ ( ((h)->next_free == (h)->object_base \ ? (((h)->maybe_empty_object = 1), 0) \ : 0), \ (h)->temp.tempptr = (h)->object_base, \ (h)->next_free \ = __PTR_ALIGN ((h)->object_base, (h)->next_free, \ (h)->alignment_mask), \ (((h)->next_free - (char *) (h)->chunk \ > (h)->chunk_limit - (char *) (h)->chunk) \ ? ((h)->next_free = (h)->chunk_limit) : 0), \ (h)->object_base = (h)->next_free, \ (h)->temp.tempptr) # define obstack_free(h,obj) \ ( (h)->temp.tempint = (char *) (obj) - (char *) (h)->chunk, \ ((((h)->temp.tempint > 0 \ && (h)->temp.tempint < (h)->chunk_limit - (char *) (h)->chunk)) \ ? (int) ((h)->next_free = (h)->object_base \ = (h)->temp.tempint + (char *) (h)->chunk) \ : (((__obstack_free) ((h), (h)->temp.tempint + (char *) (h)->chunk), 0), 0))) #endif /* not __GNUC__ or not __STDC__ */ #ifdef __cplusplus } /* C++ */ #endif #endif /* obstack.h */ dc3dd-7.1.614/lib/asprintf.c0000644000175000017500000000233611064230667015210 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Formatted output to strings. Copyright (C) 1999, 2002, 2006-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #ifdef IN_LIBASPRINTF # include "vasprintf.h" #else # include #endif #include int asprintf (char **resultp, const char *format, ...) { va_list args; int result; va_start (args, format); result = vasprintf (resultp, format, args); va_end (args); return result; } dc3dd-7.1.614/lib/diacrit.h0000644000175000017500000000243411022023316014766 0ustar amedicoamedico/* Diacritics processing for a few character codes. Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc. François Pinard , 1988. All this file is a temporary hack, waiting for locales in GNU. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ extern const char diacrit_base[]; /* characters without diacritics */ extern const char diacrit_diac[]; /* diacritic code for each character */ /* Returns CHAR without its diacritic. CHAR is known to be alphabetic. */ #define tobase(Char) (diacrit_base[(unsigned char) (Char)]) /* Returns a diacritic code for CHAR. CHAR is known to be alphabetic. */ #define todiac(Char) (diacrit_diac[(unsigned char) (Char)]) dc3dd-7.1.614/lib/fseterr.h0000644000175000017500000000215411022023316015020 0ustar amedicoamedico/* Set the error indicator of a stream. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _FSETERR_H #define _FSETERR_H #include #ifdef __cplusplus extern "C" { #endif /* Set the error indicator of the stream FP. The "error indicator" is set when an I/O operation on the stream fails, and is cleared (together with the "end-of-file" indicator) by clearerr (FP). */ extern void fseterr (FILE *fp); #ifdef __cplusplus } #endif #endif /* _FSETERR_H */ dc3dd-7.1.614/lib/utimens.h0000644000175000017500000000021111022023316015022 0ustar amedicoamedico#include int gl_futimens (int, char const *, struct timespec const [2]); int utimens (char const *, struct timespec const [2]); dc3dd-7.1.614/lib/readtokens.c0000644000175000017500000001156711022023316015510 0ustar amedicoamedico/* readtokens.c -- Functions for reading tokens from an input stream. Copyright (C) 1990-1991, 1999-2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Jim Meyering. */ /* This almost supercedes xreadline stuff -- using delim="\n" gives the same functionality, except that these functions would never return empty lines. */ #include #include "readtokens.h" #include #include #include #include #include "xalloc.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #define STREQ(a,b) ((a) == (b) || ((a) && (b) && *(a) == *(b) \ && strcmp(a, b) == 0)) /* Initialize a tokenbuffer. */ void init_tokenbuffer (token_buffer *tokenbuffer) { tokenbuffer->size = 0; tokenbuffer->buffer = NULL; } /* Read a token from STREAM into TOKENBUFFER. A token is delimited by any of the N_DELIM bytes in DELIM. Upon return, the token is in tokenbuffer->buffer and has a trailing '\0' instead of any original delimiter. The function value is the length of the token not including the final '\0'. Upon EOF (i.e. on the call after the last token is read) or error, return -1 without modifying tokenbuffer. The EOF and error conditions may be distinguished in the caller by testing ferror (STREAM). This function works properly on lines containing NUL bytes and on files do not end with a delimiter. */ size_t readtoken (FILE *stream, const char *delim, size_t n_delim, token_buffer *tokenbuffer) { char *p; int c; size_t i, n; static const char *saved_delim = NULL; static char isdelim[256]; bool same_delimiters; if (delim == NULL && saved_delim == NULL) abort (); same_delimiters = false; if (delim != saved_delim && saved_delim != NULL) { same_delimiters = true; for (i = 0; i < n_delim; i++) { if (delim[i] != saved_delim[i]) { same_delimiters = false; break; } } } if (!same_delimiters) { size_t j; saved_delim = delim; memset (isdelim, 0, sizeof isdelim); for (j = 0; j < n_delim; j++) { unsigned char ch = delim[j]; isdelim[ch] = 1; } } /* FIXME: don't fool with this caching. Use strchr instead. */ /* skip over any leading delimiters */ for (c = getc (stream); c >= 0 && isdelim[c]; c = getc (stream)) { /* empty */ } p = tokenbuffer->buffer; n = tokenbuffer->size; i = 0; for (;;) { if (c < 0 && i == 0) return -1; if (i == n) p = x2nrealloc (p, &n, sizeof *p); if (c < 0) { p[i] = 0; break; } if (isdelim[c]) { p[i] = 0; break; } p[i++] = c; c = getc (stream); } tokenbuffer->buffer = p; tokenbuffer->size = n; return i; } /* Build a NULL-terminated array of pointers to tokens read from STREAM. Return the number of tokens read. All storage is obtained through calls to xmalloc-like functions. %%% Question: is it worth it to do a single %%% realloc() of `tokens' just before returning? */ size_t readtokens (FILE *stream, size_t projected_n_tokens, const char *delim, size_t n_delim, char ***tokens_out, size_t **token_lengths) { token_buffer tb, *token = &tb; char **tokens; size_t *lengths; size_t sz; size_t n_tokens; if (projected_n_tokens == 0) projected_n_tokens = 64; else projected_n_tokens++; /* add one for trailing NULL pointer */ sz = projected_n_tokens; tokens = xnmalloc (sz, sizeof *tokens); lengths = xnmalloc (sz, sizeof *lengths); n_tokens = 0; init_tokenbuffer (token); for (;;) { char *tmp; size_t token_length = readtoken (stream, delim, n_delim, token); if (n_tokens >= sz) { tokens = x2nrealloc (tokens, &sz, sizeof *tokens); lengths = xnrealloc (lengths, sz, sizeof *lengths); } if (token_length == (size_t) -1) { /* don't increment n_tokens for NULL entry */ tokens[n_tokens] = NULL; lengths[n_tokens] = 0; break; } tmp = xnmalloc (token_length + 1, sizeof *tmp); lengths[n_tokens] = token_length; tokens[n_tokens] = memcpy (tmp, token->buffer, token_length + 1); n_tokens++; } free (token->buffer); *tokens_out = tokens; if (token_lengths != NULL) *token_lengths = lengths; return n_tokens; } dc3dd-7.1.614/lib/xstrtold.c0000644000175000017500000000004411022023316015220 0ustar amedicoamedico#define LONG 1 #include "xstrtod.c" dc3dd-7.1.614/lib/unlinkdir.c0000644000175000017500000000372011022023316015340 0ustar amedicoamedico/* unlinkdir.c - determine (and maybe change) whether we can unlink directories Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert and Jim Meyering. */ #include #include "unlinkdir.h" #if HAVE_PRIV_H # include #endif #include #if ! UNLINK_CANNOT_UNLINK_DIR /* Return true if we cannot unlink directories, false if we might be able to unlink directories. If possible, tell the kernel we don't want to be able to unlink directories, so that we can return true. */ bool cannot_unlink_dir (void) { static bool initialized; static bool cannot; if (! initialized) { # if defined PRIV_EFFECTIVE && defined PRIV_SYS_LINKDIR /* We might be able to unlink directories if we cannot determine our privileges, or if we have the PRIV_SYS_LINKDIR privilege and cannot delete it. */ priv_set_t *pset = priv_allocset (); if (pset) { cannot = (getppriv (PRIV_EFFECTIVE, pset) == 0 && (! priv_ismember (pset, PRIV_SYS_LINKDIR) || (priv_delset (pset, PRIV_SYS_LINKDIR) == 0 && setppriv (PRIV_SET, PRIV_EFFECTIVE, pset) == 0))); priv_freeset (pset); } # else /* In traditional Unix, only root can unlink directories. */ cannot = (geteuid () != 0); # endif initialized = true; } return cannot; } #endif dc3dd-7.1.614/lib/argmatch.h0000644000175000017500000000675411022023316015146 0ustar amedicoamedico/* argmatch.h -- definitions and prototypes for argmatch.c Copyright (C) 1990, 1998, 1999, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie Modified by Akim Demaille */ #ifndef ARGMATCH_H_ # define ARGMATCH_H_ 1 # include # include "verify.h" # define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array)) /* Assert there are as many real arguments as there are values (argument list ends with a NULL guard). */ # define ARGMATCH_VERIFY(Arglist, Vallist) \ verify (ARRAY_CARDINALITY (Arglist) == ARRAY_CARDINALITY (Vallist) + 1) /* Return the index of the element of ARGLIST (NULL terminated) that matches with ARG. If VALLIST is not NULL, then use it to resolve false ambiguities (i.e., different matches of ARG but corresponding to the same values in VALLIST). */ ptrdiff_t argmatch (char const *arg, char const *const *arglist, char const *vallist, size_t valsize); # define ARGMATCH(Arg, Arglist, Vallist) \ argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist)) /* xargmatch calls this function when it fails. This function should not return. By default, this is a function that calls ARGMATCH_DIE which in turn defaults to `exit (exit_failure)'. */ typedef void (*argmatch_exit_fn) (void); extern argmatch_exit_fn argmatch_die; /* Report on stderr why argmatch failed. Report correct values. */ void argmatch_invalid (char const *context, char const *value, ptrdiff_t problem); /* Left for compatibility with the old name invalid_arg */ # define invalid_arg(Context, Value, Problem) \ argmatch_invalid (Context, Value, Problem) /* Report on stderr the list of possible arguments. */ void argmatch_valid (char const *const *arglist, char const *vallist, size_t valsize); # define ARGMATCH_VALID(Arglist, Vallist) \ argmatch_valid (Arglist, (char const *) (Vallist), sizeof *(Vallist)) /* Same as argmatch, but upon failure, reports a explanation on the failure, and exits using the function EXIT_FN. */ ptrdiff_t __xargmatch_internal (char const *context, char const *arg, char const *const *arglist, char const *vallist, size_t valsize, argmatch_exit_fn exit_fn); /* Programmer friendly interface to __xargmatch_internal. */ # define XARGMATCH(Context, Arg, Arglist, Vallist) \ ((Vallist) [__xargmatch_internal (Context, Arg, Arglist, \ (char const *) (Vallist), \ sizeof *(Vallist), \ argmatch_die)]) /* Convert a value into a corresponding argument. */ char const *argmatch_to_argument (char const *value, char const *const *arglist, char const *vallist, size_t valsize); # define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \ argmatch_to_argument (Value, Arglist, \ (char const *) (Vallist), sizeof *(Vallist)) #endif /* ARGMATCH_H_ */ dc3dd-7.1.614/lib/linebuffer.c0000644000175000017500000000544511022023316015470 0ustar amedicoamedico/* linebuffer.c -- read arbitrarily long lines Copyright (C) 1986, 1991, 1998, 1999, 2001, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Richard Stallman. */ #include #include #include #include #include #include "linebuffer.h" #include "xalloc.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* Initialize linebuffer LINEBUFFER for use. */ void initbuffer (struct linebuffer *linebuffer) { memset (linebuffer, 0, sizeof *linebuffer); } struct linebuffer * readlinebuffer (struct linebuffer *linebuffer, FILE *stream) { return readlinebuffer_delim (linebuffer, stream, '\n'); } /* Read an arbitrarily long line of text from STREAM into LINEBUFFER. Consider lines to be terminated by DELIMITER. Keep the delimiter; append DELIMITER if it's the last line of a file that ends in a character other than DELIMITER. Do not NUL-terminate. Therefore the stream can contain NUL bytes, and the length (including the delimiter) is returned in linebuffer->length. Return NULL when stream is empty. Return NULL and set errno upon error; callers can distinguish this case from the empty case by invoking ferror (stream). Otherwise, return LINEBUFFER. */ struct linebuffer * readlinebuffer_delim (struct linebuffer *linebuffer, FILE *stream, char delimiter) { int c; char *buffer = linebuffer->buffer; char *p = linebuffer->buffer; char *end = buffer + linebuffer->size; /* Sentinel. */ if (feof (stream)) return NULL; do { c = getc (stream); if (c == EOF) { if (p == buffer || ferror (stream)) return NULL; if (p[-1] == delimiter) break; c = delimiter; } if (p == end) { size_t oldsize = linebuffer->size; buffer = x2realloc (buffer, &linebuffer->size); p = buffer + oldsize; linebuffer->buffer = buffer; end = buffer + linebuffer->size; } *p++ = c; } while (c != delimiter); linebuffer->length = p - buffer; return linebuffer; } /* Free the buffer that was allocated for linebuffer LINEBUFFER. */ void freebuffer (struct linebuffer *linebuffer) { free (linebuffer->buffer); } dc3dd-7.1.614/lib/gethrxtime.h0000644000175000017500000000234211022023316015525 0ustar amedicoamedico/* gethrxtime -- get high resolution real time Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #ifndef GETHRXTIME_H_ # define GETHRXTIME_H_ 1 # include "xtime.h" /* Get the current time, as a count of the number of nanoseconds since an arbitrary epoch (e.g., the system boot time). Prefer a high-resolution clock that is not subject to resetting or drifting. */ # if HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME # include static inline xtime_t gethrxtime (void) { return gethrtime (); } # else xtime_t gethrxtime (void); # endif #endif dc3dd-7.1.614/lib/fchdir.c0000644000175000017500000001406011022023316014577 0ustar amedicoamedico/* fchdir replacement. Copyright (C) 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include #include #include #include #include #include #include #include "canonicalize.h" #include "dirfd.h" /* This replacement assumes that a directory is not renamed while opened through a file descriptor. */ /* Array of file descriptors opened. If it points to a directory, it stores info about this directory; otherwise it stores an errno value of ENOTDIR. */ typedef struct { char *name; /* Absolute name of the directory, or NULL. */ int saved_errno; /* If name == NULL: The error code describing the failure reason. */ } dir_info_t; static dir_info_t *dirs; static size_t dirs_allocated; /* Try to ensure dirs has enough room for a slot at index fd. */ static void ensure_dirs_slot (size_t fd) { if (fd >= dirs_allocated) { size_t new_allocated; dir_info_t *new_dirs; size_t i; new_allocated = 2 * dirs_allocated + 1; if (new_allocated <= fd) new_allocated = fd + 1; new_dirs = (dirs != NULL ? (dir_info_t *) realloc (dirs, new_allocated * sizeof (dir_info_t)) : (dir_info_t *) malloc (new_allocated * sizeof (dir_info_t))); if (new_dirs != NULL) { for (i = dirs_allocated; i < new_allocated; i++) { new_dirs[i].name = NULL; new_dirs[i].saved_errno = ENOTDIR; } dirs = new_dirs; dirs_allocated = new_allocated; } } } /* Override open() and close(), to keep track of the open file descriptors. */ int rpl_close (int fd) #undef close { int retval = close (fd); if (retval >= 0 && fd >= 0 && fd < dirs_allocated) { if (dirs[fd].name != NULL) free (dirs[fd].name); dirs[fd].name = NULL; dirs[fd].saved_errno = ENOTDIR; } return retval; } int rpl_open (const char *filename, int flags, ...) #undef open { mode_t mode; int fd; struct stat statbuf; mode = 0; if (flags & O_CREAT) { va_list arg; va_start (arg, flags); /* If mode_t is narrower than int, use the promoted type (int), not mode_t. Use sizeof to guess whether mode_t is narrower; we don't know of any practical counterexamples. */ mode = (sizeof (mode_t) < sizeof (int) ? va_arg (arg, int) : va_arg (arg, mode_t)); va_end (arg); } #if defined GNULIB_OPEN && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) if (strcmp (filename, "/dev/null") == 0) filename = "NUL"; #endif fd = open (filename, flags, mode); if (fd >= 0) { ensure_dirs_slot (fd); if (fd < dirs_allocated && fstat (fd, &statbuf) >= 0 && S_ISDIR (statbuf.st_mode)) { dirs[fd].name = canonicalize_file_name (filename); if (dirs[fd].name == NULL) dirs[fd].saved_errno = errno; } } return fd; } /* Override opendir() and closedir(), to keep track of the open file descriptors. Needed because there is a function dirfd(). */ int rpl_closedir (DIR *dp) #undef closedir { int fd = dirfd (dp); int retval = closedir (dp); if (retval >= 0 && fd >= 0 && fd < dirs_allocated) { if (dirs[fd].name != NULL) free (dirs[fd].name); dirs[fd].name = NULL; dirs[fd].saved_errno = ENOTDIR; } return retval; } DIR * rpl_opendir (const char *filename) #undef opendir { DIR *dp; dp = opendir (filename); if (dp != NULL) { int fd = dirfd (dp); if (fd >= 0) { ensure_dirs_slot (fd); if (fd < dirs_allocated) { dirs[fd].name = canonicalize_file_name (filename); if (dirs[fd].name == NULL) dirs[fd].saved_errno = errno; } } } return dp; } /* Override dup() and dup2(), to keep track of open file descriptors. */ int rpl_dup (int oldfd) #undef dup { int newfd = dup (oldfd); if (oldfd >= 0 && newfd >= 0) { ensure_dirs_slot (newfd); if (newfd < dirs_allocated) { if (oldfd < dirs_allocated) { if (dirs[oldfd].name != NULL) { dirs[newfd].name = strdup (dirs[oldfd].name); if (dirs[newfd].name == NULL) dirs[newfd].saved_errno = ENOMEM; } else { dirs[newfd].name = NULL; dirs[newfd].saved_errno = dirs[oldfd].saved_errno; } } else { dirs[newfd].name = NULL; dirs[newfd].saved_errno = ENOMEM; } } } return newfd; } int rpl_dup2 (int oldfd, int newfd) #undef dup2 { int retval = dup2 (oldfd, newfd); if (retval >= 0 && oldfd >= 0 && newfd >= 0 && newfd != oldfd) { ensure_dirs_slot (newfd); if (newfd < dirs_allocated) { if (oldfd < dirs_allocated) { if (dirs[oldfd].name != NULL) { dirs[newfd].name = strdup (dirs[oldfd].name); if (dirs[newfd].name == NULL) dirs[newfd].saved_errno = ENOMEM; } else { dirs[newfd].name = NULL; dirs[newfd].saved_errno = dirs[oldfd].saved_errno; } } else { dirs[newfd].name = NULL; dirs[newfd].saved_errno = ENOMEM; } } } return retval; } /* Implement fchdir() in terms of chdir(). */ int fchdir (int fd) { if (fd >= 0) { if (fd < dirs_allocated) { if (dirs[fd].name != NULL) return chdir (dirs[fd].name); else { errno = dirs[fd].saved_errno; return -1; } } else { errno = ENOMEM; return -1; } } else { errno = EBADF; return -1; } } dc3dd-7.1.614/lib/isnand.c0000644000175000017500000000146211064230667014635 0ustar amedicoamedico/* Test for NaN that does not need libm. Copyright (C) 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible , 2008. */ #include "isnan.c" dc3dd-7.1.614/lib/mktime.c0000644000175000017500000005165411064230667014657 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Convert a `struct tm' to a time_t value. Copyright (C) 1993-1999, 2002-2005, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Paul Eggert . This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Define this to have a standalone program to test this implementation of mktime. */ /* #define DEBUG 1 */ #ifndef _LIBC # include #endif /* Assume that leap seconds are possible, unless told otherwise. If the host has a `zic' command with a `-L leapsecondfilename' option, then it supports leap seconds; otherwise it probably doesn't. */ #ifndef LEAP_SECONDS_POSSIBLE # define LEAP_SECONDS_POSSIBLE 1 #endif #include #include #include /* For the real memcpy prototype. */ #if DEBUG # include # include /* Make it work even if the system's libc has its own mktime routine. */ # define mktime my_mktime #endif /* DEBUG */ /* Shift A right by B bits portably, by dividing A by 2**B and truncating towards minus infinity. A and B should be free of side effects, and B should be in the range 0 <= B <= INT_BITS - 2, where INT_BITS is the number of useful bits in an int. GNU code can assume that INT_BITS is at least 32. ISO C99 says that A >> B is implementation-defined if A < 0. Some implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift right in the usual way when A < 0, so SHR falls back on division if ordinary A >> B doesn't seem to be the usual signed shift. */ #define SHR(a, b) \ (-1 >> 1 == -1 \ ? (a) >> (b) \ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) /* The extra casts in the following macros work around compiler bugs, e.g., in Cray C 5.0.3.0. */ /* True if the arithmetic type T is an integer type. bool counts as an integer. */ #define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) /* True if negative values of the signed integer type T use two's complement, ones' complement, or signed magnitude representation, respectively. Much GNU code assumes two's complement, but some people like to be portable to all possible C hosts. */ #define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1) #define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0) #define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1) /* True if the arithmetic type T is signed. */ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* The maximum and minimum values for the integer type T. These macros have undefined behavior if T is signed and has padding bits. If this is a problem for you, please let us know how to fix it for your host. */ #define TYPE_MINIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) 0 \ : TYPE_SIGNED_MAGNITUDE (t) \ ? ~ (t) 0 \ : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) #define TYPE_MAXIMUM(t) \ ((t) (! TYPE_SIGNED (t) \ ? (t) -1 \ : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) #ifndef TIME_T_MIN # define TIME_T_MIN TYPE_MINIMUM (time_t) #endif #ifndef TIME_T_MAX # define TIME_T_MAX TYPE_MAXIMUM (time_t) #endif #define TIME_T_MIDPOINT (SHR (TIME_T_MIN + TIME_T_MAX, 1) + 1) /* Verify a requirement at compile-time (unlike assert, which is runtime). */ #define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; } verify (time_t_is_integer, TYPE_IS_INTEGER (time_t)); verify (twos_complement_arithmetic, TYPE_TWOS_COMPLEMENT (int)); /* The code also assumes that signed integer overflow silently wraps around, but this assumption can't be stated without causing a diagnostic on some hosts. */ #define EPOCH_YEAR 1970 #define TM_YEAR_BASE 1900 verify (base_year_is_a_multiple_of_100, TM_YEAR_BASE % 100 == 0); /* Return 1 if YEAR + TM_YEAR_BASE is a leap year. */ static inline int leapyear (long int year) { /* Don't add YEAR to TM_YEAR_BASE, as that might overflow. Also, work even if YEAR is negative. */ return ((year & 3) == 0 && (year % 100 != 0 || ((year / 100) & 3) == (- (TM_YEAR_BASE / 100) & 3))); } /* How many days come before each month (0-12). */ #ifndef _LIBC static #endif const unsigned short int __mon_yday[2][13] = { /* Normal years. */ { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }, /* Leap years. */ { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 } }; #ifndef _LIBC /* Portable standalone applications should supply a that declares a POSIX-compliant localtime_r, for the benefit of older implementations that lack localtime_r or have a nonstandard one. See the gnulib time_r module for one way to implement this. */ # undef __localtime_r # define __localtime_r localtime_r # define __mktime_internal mktime_internal #endif /* Return an integer value measuring (YEAR1-YDAY1 HOUR1:MIN1:SEC1) - (YEAR0-YDAY0 HOUR0:MIN0:SEC0) in seconds, assuming that the clocks were not adjusted between the time stamps. The YEAR values uses the same numbering as TP->tm_year. Values need not be in the usual range. However, YEAR1 must not be less than 2 * INT_MIN or greater than 2 * INT_MAX. The result may overflow. It is the caller's responsibility to detect overflow. */ static inline time_t ydhms_diff (long int year1, long int yday1, int hour1, int min1, int sec1, int year0, int yday0, int hour0, int min0, int sec0) { verify (C99_integer_division, -1 / 2 == 0); verify (long_int_year_and_yday_are_wide_enough, INT_MAX <= LONG_MAX / 2 || TIME_T_MAX <= UINT_MAX); /* Compute intervening leap days correctly even if year is negative. Take care to avoid integer overflow here. */ int a4 = SHR (year1, 2) + SHR (TM_YEAR_BASE, 2) - ! (year1 & 3); int b4 = SHR (year0, 2) + SHR (TM_YEAR_BASE, 2) - ! (year0 & 3); int a100 = a4 / 25 - (a4 % 25 < 0); int b100 = b4 / 25 - (b4 % 25 < 0); int a400 = SHR (a100, 2); int b400 = SHR (b100, 2); int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); /* Compute the desired time in time_t precision. Overflow might occur here. */ time_t tyear1 = year1; time_t years = tyear1 - year0; time_t days = 365 * years + yday1 - yday0 + intervening_leap_days; time_t hours = 24 * days + hour1 - hour0; time_t minutes = 60 * hours + min1 - min0; time_t seconds = 60 * minutes + sec1 - sec0; return seconds; } /* Return a time_t value corresponding to (YEAR-YDAY HOUR:MIN:SEC), assuming that *T corresponds to *TP and that no clock adjustments occurred between *TP and the desired time. If TP is null, return a value not equal to *T; this avoids false matches. If overflow occurs, yield the minimal or maximal value, except do not yield a value equal to *T. */ static time_t guess_time_tm (long int year, long int yday, int hour, int min, int sec, const time_t *t, const struct tm *tp) { if (tp) { time_t d = ydhms_diff (year, yday, hour, min, sec, tp->tm_year, tp->tm_yday, tp->tm_hour, tp->tm_min, tp->tm_sec); time_t t1 = *t + d; if ((t1 < *t) == (TYPE_SIGNED (time_t) ? d < 0 : TIME_T_MAX / 2 < d)) return t1; } /* Overflow occurred one way or another. Return the nearest result that is actually in range, except don't report a zero difference if the actual difference is nonzero, as that would cause a false match; and don't oscillate between two values, as that would confuse the spring-forward gap detector. */ return (*t < TIME_T_MIDPOINT ? (*t <= TIME_T_MIN + 1 ? *t + 1 : TIME_T_MIN) : (TIME_T_MAX - 1 <= *t ? *t - 1 : TIME_T_MAX)); } /* Use CONVERT to convert *T to a broken down time in *TP. If *T is out of range for conversion, adjust it so that it is the nearest in-range value and then convert that. */ static struct tm * ranged_convert (struct tm *(*convert) (const time_t *, struct tm *), time_t *t, struct tm *tp) { struct tm *r = convert (t, tp); if (!r && *t) { time_t bad = *t; time_t ok = 0; /* BAD is a known unconvertible time_t, and OK is a known good one. Use binary search to narrow the range between BAD and OK until they differ by 1. */ while (bad != ok + (bad < 0 ? -1 : 1)) { time_t mid = *t = (bad < 0 ? bad + ((ok - bad) >> 1) : ok + ((bad - ok) >> 1)); r = convert (t, tp); if (r) ok = mid; else bad = mid; } if (!r && ok) { /* The last conversion attempt failed; revert to the most recent successful attempt. */ *t = ok; r = convert (t, tp); } } return r; } /* Convert *TP to a time_t value, inverting the monotonic and mostly-unit-linear conversion function CONVERT. Use *OFFSET to keep track of a guess at the offset of the result, compared to what the result would be for UTC without leap seconds. If *OFFSET's guess is correct, only one CONVERT call is needed. This function is external because it is used also by timegm.c. */ time_t __mktime_internal (struct tm *tp, struct tm *(*convert) (const time_t *, struct tm *), time_t *offset) { time_t t, gt, t0, t1, t2; struct tm tm; /* The maximum number of probes (calls to CONVERT) should be enough to handle any combinations of time zone rule changes, solar time, leap seconds, and oscillations around a spring-forward gap. POSIX.1 prohibits leap seconds, but some hosts have them anyway. */ int remaining_probes = 6; /* Time requested. Copy it in case CONVERT modifies *TP; this can occur if TP is localtime's returned value and CONVERT is localtime. */ int sec = tp->tm_sec; int min = tp->tm_min; int hour = tp->tm_hour; int mday = tp->tm_mday; int mon = tp->tm_mon; int year_requested = tp->tm_year; int isdst = tp->tm_isdst; /* 1 if the previous probe was DST. */ int dst2; /* Ensure that mon is in range, and set year accordingly. */ int mon_remainder = mon % 12; int negative_mon_remainder = mon_remainder < 0; int mon_years = mon / 12 - negative_mon_remainder; long int lyear_requested = year_requested; long int year = lyear_requested + mon_years; /* The other values need not be in range: the remaining code handles minor overflows correctly, assuming int and time_t arithmetic wraps around. Major overflows are caught at the end. */ /* Calculate day of year from year, month, and day of month. The result need not be in range. */ int mon_yday = ((__mon_yday[leapyear (year)] [mon_remainder + 12 * negative_mon_remainder]) - 1); long int lmday = mday; long int yday = mon_yday + lmday; time_t guessed_offset = *offset; int sec_requested = sec; if (LEAP_SECONDS_POSSIBLE) { /* Handle out-of-range seconds specially, since ydhms_tm_diff assumes every minute has 60 seconds. */ if (sec < 0) sec = 0; if (59 < sec) sec = 59; } /* Invert CONVERT by probing. First assume the same offset as last time. */ t0 = ydhms_diff (year, yday, hour, min, sec, EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, - guessed_offset); if (TIME_T_MAX / INT_MAX / 366 / 24 / 60 / 60 < 3) { /* time_t isn't large enough to rule out overflows, so check for major overflows. A gross check suffices, since if t0 has overflowed, it is off by a multiple of TIME_T_MAX - TIME_T_MIN + 1. So ignore any component of the difference that is bounded by a small value. */ /* Approximate log base 2 of the number of time units per biennium. A biennium is 2 years; use this unit instead of years to avoid integer overflow. For example, 2 average Gregorian years are 2 * 365.2425 * 24 * 60 * 60 seconds, which is 63113904 seconds, and rint (log2 (63113904)) is 26. */ int ALOG2_SECONDS_PER_BIENNIUM = 26; int ALOG2_MINUTES_PER_BIENNIUM = 20; int ALOG2_HOURS_PER_BIENNIUM = 14; int ALOG2_DAYS_PER_BIENNIUM = 10; int LOG2_YEARS_PER_BIENNIUM = 1; int approx_requested_biennia = (SHR (year_requested, LOG2_YEARS_PER_BIENNIUM) - SHR (EPOCH_YEAR - TM_YEAR_BASE, LOG2_YEARS_PER_BIENNIUM) + SHR (mday, ALOG2_DAYS_PER_BIENNIUM) + SHR (hour, ALOG2_HOURS_PER_BIENNIUM) + SHR (min, ALOG2_MINUTES_PER_BIENNIUM) + (LEAP_SECONDS_POSSIBLE ? 0 : SHR (sec, ALOG2_SECONDS_PER_BIENNIUM))); int approx_biennia = SHR (t0, ALOG2_SECONDS_PER_BIENNIUM); int diff = approx_biennia - approx_requested_biennia; int abs_diff = diff < 0 ? - diff : diff; /* IRIX 4.0.5 cc miscaculates TIME_T_MIN / 3: it erroneously gives a positive value of 715827882. Setting a variable first then doing math on it seems to work. (ghazi@caip.rutgers.edu) */ time_t time_t_max = TIME_T_MAX; time_t time_t_min = TIME_T_MIN; time_t overflow_threshold = (time_t_max / 3 - time_t_min / 3) >> ALOG2_SECONDS_PER_BIENNIUM; if (overflow_threshold < abs_diff) { /* Overflow occurred. Try repairing it; this might work if the time zone offset is enough to undo the overflow. */ time_t repaired_t0 = -1 - t0; approx_biennia = SHR (repaired_t0, ALOG2_SECONDS_PER_BIENNIUM); diff = approx_biennia - approx_requested_biennia; abs_diff = diff < 0 ? - diff : diff; if (overflow_threshold < abs_diff) return -1; guessed_offset += repaired_t0 - t0; t0 = repaired_t0; } } /* Repeatedly use the error to improve the guess. */ for (t = t1 = t2 = t0, dst2 = 0; (gt = guess_time_tm (year, yday, hour, min, sec, &t, ranged_convert (convert, &t, &tm)), t != gt); t1 = t2, t2 = t, t = gt, dst2 = tm.tm_isdst != 0) if (t == t1 && t != t2 && (tm.tm_isdst < 0 || (isdst < 0 ? dst2 <= (tm.tm_isdst != 0) : (isdst != 0) != (tm.tm_isdst != 0)))) /* We can't possibly find a match, as we are oscillating between two values. The requested time probably falls within a spring-forward gap of size GT - T. Follow the common practice in this case, which is to return a time that is GT - T away from the requested time, preferring a time whose tm_isdst differs from the requested value. (If no tm_isdst was requested and only one of the two values has a nonzero tm_isdst, prefer that value.) In practice, this is more useful than returning -1. */ goto offset_found; else if (--remaining_probes == 0) return -1; /* We have a match. Check whether tm.tm_isdst has the requested value, if any. */ if (isdst != tm.tm_isdst && 0 <= isdst && 0 <= tm.tm_isdst) { /* tm.tm_isdst has the wrong value. Look for a neighboring time with the right value, and use its UTC offset. Heuristic: probe the adjacent timestamps in both directions, looking for the desired isdst. This should work for all real time zone histories in the tz database. */ /* Distance between probes when looking for a DST boundary. In tzdata2003a, the shortest period of DST is 601200 seconds (e.g., America/Recife starting 2000-10-08 01:00), and the shortest period of non-DST surrounded by DST is 694800 seconds (Africa/Tunis starting 1943-04-17 01:00). Use the minimum of these two values, so we don't miss these short periods when probing. */ int stride = 601200; /* The longest period of DST in tzdata2003a is 536454000 seconds (e.g., America/Jujuy starting 1946-10-01 01:00). The longest period of non-DST is much longer, but it makes no real sense to search for more than a year of non-DST, so use the DST max. */ int duration_max = 536454000; /* Search in both directions, so the maximum distance is half the duration; add the stride to avoid off-by-1 problems. */ int delta_bound = duration_max / 2 + stride; int delta, direction; for (delta = stride; delta < delta_bound; delta += stride) for (direction = -1; direction <= 1; direction += 2) { time_t ot = t + delta * direction; if ((ot < t) == (direction < 0)) { struct tm otm; ranged_convert (convert, &ot, &otm); if (otm.tm_isdst == isdst) { /* We found the desired tm_isdst. Extrapolate back to the desired time. */ t = guess_time_tm (year, yday, hour, min, sec, &ot, &otm); ranged_convert (convert, &t, &tm); goto offset_found; } } } } offset_found: *offset = guessed_offset + t - t0; if (LEAP_SECONDS_POSSIBLE && sec_requested != tm.tm_sec) { /* Adjust time to reflect the tm_sec requested, not the normalized value. Also, repair any damage from a false match due to a leap second. */ int sec_adjustment = (sec == 0 && tm.tm_sec == 60) - sec; t1 = t + sec_requested; t2 = t1 + sec_adjustment; if (((t1 < t) != (sec_requested < 0)) | ((t2 < t1) != (sec_adjustment < 0)) | ! convert (&t2, &tm)) return -1; t = t2; } *tp = tm; return t; } /* FIXME: This should use a signed type wide enough to hold any UTC offset in seconds. 'int' should be good enough for GNU code. We can't fix this unilaterally though, as other modules invoke __mktime_internal. */ static time_t localtime_offset; /* Convert *TP to a time_t value. */ time_t mktime (struct tm *tp) { #ifdef _LIBC /* POSIX.1 8.1.1 requires that whenever mktime() is called, the time zone names contained in the external variable `tzname' shall be set as if the tzset() function had been called. */ __tzset (); #endif return __mktime_internal (tp, __localtime_r, &localtime_offset); } #ifdef weak_alias weak_alias (mktime, timelocal) #endif #ifdef _LIBC libc_hidden_def (mktime) libc_hidden_weak (timelocal) #endif #if DEBUG static int not_equal_tm (const struct tm *a, const struct tm *b) { return ((a->tm_sec ^ b->tm_sec) | (a->tm_min ^ b->tm_min) | (a->tm_hour ^ b->tm_hour) | (a->tm_mday ^ b->tm_mday) | (a->tm_mon ^ b->tm_mon) | (a->tm_year ^ b->tm_year) | (a->tm_yday ^ b->tm_yday) | (a->tm_isdst ^ b->tm_isdst)); } static void print_tm (const struct tm *tp) { if (tp) printf ("%04d-%02d-%02d %02d:%02d:%02d yday %03d wday %d isdst %d", tp->tm_year + TM_YEAR_BASE, tp->tm_mon + 1, tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec, tp->tm_yday, tp->tm_wday, tp->tm_isdst); else printf ("0"); } static int check_result (time_t tk, struct tm tmk, time_t tl, const struct tm *lt) { if (tk != tl || !lt || not_equal_tm (&tmk, lt)) { printf ("mktime ("); print_tm (lt); printf (")\nyields ("); print_tm (&tmk); printf (") == %ld, should be %ld\n", (long int) tk, (long int) tl); return 1; } return 0; } int main (int argc, char **argv) { int status = 0; struct tm tm, tmk, tml; struct tm *lt; time_t tk, tl, tl1; char trailer; if ((argc == 3 || argc == 4) && (sscanf (argv[1], "%d-%d-%d%c", &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &trailer) == 3) && (sscanf (argv[2], "%d:%d:%d%c", &tm.tm_hour, &tm.tm_min, &tm.tm_sec, &trailer) == 3)) { tm.tm_year -= TM_YEAR_BASE; tm.tm_mon--; tm.tm_isdst = argc == 3 ? -1 : atoi (argv[3]); tmk = tm; tl = mktime (&tmk); lt = localtime (&tl); if (lt) { tml = *lt; lt = &tml; } printf ("mktime returns %ld == ", (long int) tl); print_tm (&tmk); printf ("\n"); status = check_result (tl, tmk, tl, lt); } else if (argc == 4 || (argc == 5 && strcmp (argv[4], "-") == 0)) { time_t from = atol (argv[1]); time_t by = atol (argv[2]); time_t to = atol (argv[3]); if (argc == 4) for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1) { lt = localtime (&tl); if (lt) { tmk = tml = *lt; tk = mktime (&tmk); status |= check_result (tk, tmk, tl, &tml); } else { printf ("localtime (%ld) yields 0\n", (long int) tl); status = 1; } tl1 = tl + by; if ((tl1 < tl) != (by < 0)) break; } else for (tl = from; by < 0 ? to <= tl : tl <= to; tl = tl1) { /* Null benchmark. */ lt = localtime (&tl); if (lt) { tmk = tml = *lt; tk = tl; status |= check_result (tk, tmk, tl, &tml); } else { printf ("localtime (%ld) yields 0\n", (long int) tl); status = 1; } tl1 = tl + by; if ((tl1 < tl) != (by < 0)) break; } } else printf ("Usage:\ \t%s YYYY-MM-DD HH:MM:SS [ISDST] # Test given time.\n\ \t%s FROM BY TO # Test values FROM, FROM+BY, ..., TO.\n\ \t%s FROM BY TO - # Do not test those values (for benchmark).\n", argv[0], argv[0], argv[0]); return status; } #endif /* DEBUG */ /* Local Variables: compile-command: "gcc -DDEBUG -Wall -W -O -g mktime.c -o mktime" End: */ dc3dd-7.1.614/lib/fsusage.c0000644000175000017500000001733711022023316015007 0ustar amedicoamedico/* fsusage.c -- return space usage of mounted file systems Copyright (C) 1991, 1992, 1996, 1998, 1999, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "fsusage.h" #include #include #if STAT_STATVFS /* POSIX 1003.1-2001 (and later) with XSI */ # include #else /* Don't include backward-compatibility files unless they're needed. Eventually we'd like to remove all this cruft. */ # include # include # include # if HAVE_SYS_PARAM_H # include # endif # if HAVE_SYS_MOUNT_H # include # endif # if HAVE_SYS_VFS_H # include # endif # if HAVE_SYS_FS_S5PARAM_H /* Fujitsu UXP/V */ # include # endif # if defined HAVE_SYS_FILSYS_H && !defined _CRAY # include /* SVR2 */ # endif # if HAVE_SYS_STATFS_H # include # endif # if HAVE_DUSTAT_H /* AIX PS/2 */ # include # endif # include "full-read.h" #endif /* The results of open() in this file are not used with fchdir, therefore save some unnecessary work in fchdir.c. */ #undef open #undef close /* Many space usage primitives use all 1 bits to denote a value that is not applicable or unknown. Propagate this information by returning a uintmax_t value that is all 1 bits if X is all 1 bits, even if X is unsigned and narrower than uintmax_t. */ #define PROPAGATE_ALL_ONES(x) \ ((sizeof (x) < sizeof (uintmax_t) \ && (~ (x) == (sizeof (x) < sizeof (int) \ ? - (1 << (sizeof (x) * CHAR_BIT)) \ : 0))) \ ? UINTMAX_MAX : (uintmax_t) (x)) /* Extract the top bit of X as an uintmax_t value. */ #define EXTRACT_TOP_BIT(x) ((x) \ & ((uintmax_t) 1 << (sizeof (x) * CHAR_BIT - 1))) /* If a value is negative, many space usage primitives store it into an integer variable by assignment, even if the variable's type is unsigned. So, if a space usage variable X's top bit is set, convert X to the uintmax_t value V such that (- (uintmax_t) V) is the negative of the original value. If X's top bit is clear, just yield X. Use PROPAGATE_TOP_BIT if the original value might be negative; otherwise, use PROPAGATE_ALL_ONES. */ #define PROPAGATE_TOP_BIT(x) ((x) | ~ (EXTRACT_TOP_BIT (x) - 1)) /* Fill in the fields of FSP with information about space usage for the file system on which FILE resides. DISK is the device on which FILE is mounted, for space-getting methods that need to know it. Return 0 if successful, -1 if not. When returning -1, ensure that ERRNO is either a system error value, or zero if DISK is NULL on a system that requires a non-NULL value. */ int get_fs_usage (char const *file, char const *disk, struct fs_usage *fsp) { #if defined STAT_STATVFS /* POSIX */ struct statvfs fsd; if (statvfs (file, &fsd) < 0) return -1; /* f_frsize isn't guaranteed to be supported. */ fsp->fsu_blocksize = (fsd.f_frsize ? PROPAGATE_ALL_ONES (fsd.f_frsize) : PROPAGATE_ALL_ONES (fsd.f_bsize)); #elif defined STAT_STATFS2_FS_DATA /* Ultrix */ struct fs_data fsd; if (statfs (file, &fsd) != 1) return -1; fsp->fsu_blocksize = 1024; fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.fd_req.btot); fsp->fsu_bfree = PROPAGATE_ALL_ONES (fsd.fd_req.bfree); fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.fd_req.bfreen); fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.fd_req.bfreen) != 0; fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.fd_req.gtot); fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.fd_req.gfree); #elif defined STAT_READ_FILSYS /* SVR2 */ # ifndef SUPERBOFF # define SUPERBOFF (SUPERB * 512) # endif struct filsys fsd; int fd; if (! disk) { errno = 0; return -1; } fd = open (disk, O_RDONLY); if (fd < 0) return -1; lseek (fd, (off_t) SUPERBOFF, 0); if (full_read (fd, (char *) &fsd, sizeof fsd) != sizeof fsd) { close (fd); return -1; } close (fd); fsp->fsu_blocksize = (fsd.s_type == Fs2b ? 1024 : 512); fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.s_fsize); fsp->fsu_bfree = PROPAGATE_ALL_ONES (fsd.s_tfree); fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.s_tfree); fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.s_tfree) != 0; fsp->fsu_files = (fsd.s_isize == -1 ? UINTMAX_MAX : (fsd.s_isize - 2) * INOPB * (fsd.s_type == Fs2b ? 2 : 1)); fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.s_tinode); #elif defined STAT_STATFS3_OSF1 struct statfs fsd; if (statfs (file, &fsd, sizeof (struct statfs)) != 0) return -1; fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_fsize); #elif defined STAT_STATFS2_BSIZE /* 4.3BSD, SunOS 4, HP-UX, AIX */ struct statfs fsd; if (statfs (file, &fsd) < 0) return -1; fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize); # ifdef STATFS_TRUNCATES_BLOCK_COUNTS /* In SunOS 4.1.2, 4.1.3, and 4.1.3_U1, the block counts in the struct statfs are truncated to 2GB. These conditions detect that truncation, presumably without botching the 4.1.1 case, in which the values are not truncated. The correct counts are stored in undocumented spare fields. */ if (fsd.f_blocks == 0x7fffffff / fsd.f_bsize && fsd.f_spare[0] > 0) { fsd.f_blocks = fsd.f_spare[0]; fsd.f_bfree = fsd.f_spare[1]; fsd.f_bavail = fsd.f_spare[2]; } # endif /* STATFS_TRUNCATES_BLOCK_COUNTS */ #elif defined STAT_STATFS2_FSIZE /* 4.4BSD */ struct statfs fsd; if (statfs (file, &fsd) < 0) return -1; fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_fsize); #elif defined STAT_STATFS4 /* SVR3, Dynix, Irix, AIX */ # if !_AIX && !defined _SEQUENT_ && !defined DOLPHIN # define f_bavail f_bfree # endif struct statfs fsd; if (statfs (file, &fsd, sizeof fsd, 0) < 0) return -1; /* Empirically, the block counts on most SVR3 and SVR3-derived systems seem to always be in terms of 512-byte blocks, no matter what value f_bsize has. */ # if _AIX || defined _CRAY fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize); # else fsp->fsu_blocksize = 512; # endif #endif #if (defined STAT_STATVFS \ || (!defined STAT_STATFS2_FS_DATA && !defined STAT_READ_FILSYS)) fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.f_blocks); fsp->fsu_bfree = PROPAGATE_ALL_ONES (fsd.f_bfree); fsp->fsu_bavail = PROPAGATE_TOP_BIT (fsd.f_bavail); fsp->fsu_bavail_top_bit_set = EXTRACT_TOP_BIT (fsd.f_bavail) != 0; fsp->fsu_files = PROPAGATE_ALL_ONES (fsd.f_files); fsp->fsu_ffree = PROPAGATE_ALL_ONES (fsd.f_ffree); #endif return 0; } #if defined _AIX && defined _I386 /* AIX PS/2 does not supply statfs. */ int statfs (char *file, struct statfs *fsb) { struct stat stats; struct dustat fsd; if (stat (file, &stats) != 0) return -1; if (dustat (stats.st_dev, 0, &fsd, sizeof (fsd))) return -1; fsb->f_type = 0; fsb->f_bsize = fsd.du_bsize; fsb->f_blocks = fsd.du_fsize - fsd.du_isize; fsb->f_bfree = fsd.du_tfree; fsb->f_bavail = fsd.du_tfree; fsb->f_files = (fsd.du_isize - 2) * fsd.du_inopb; fsb->f_ffree = fsd.du_tinode; fsb->f_fsid.val[0] = fsd.du_site; fsb->f_fsid.val[1] = fsd.du_pckno; return 0; } #endif /* _AIX && _I386 */ dc3dd-7.1.614/lib/iconv.in.h0000644000175000017500000000416111064230667015110 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* A GNU-like . Copyright (C) 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _GL_ICONV_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_ICONV_H@ #ifndef _GL_ICONV_H #define _GL_ICONV_H #ifdef __cplusplus extern "C" { #endif #if @REPLACE_ICONV_OPEN@ /* An iconv_open wrapper that supports the IANA standardized encoding names ("ISO-8859-1" etc.) as far as possible. */ # define iconv_open rpl_iconv_open extern iconv_t iconv_open (const char *tocode, const char *fromcode); #endif #if @REPLACE_ICONV_UTF@ /* Special constants for supporting UTF-{16,32}{BE,LE} encodings. Not public. */ # define _ICONV_UTF8_UTF16BE (iconv_t)(-161) # define _ICONV_UTF8_UTF16LE (iconv_t)(-162) # define _ICONV_UTF8_UTF32BE (iconv_t)(-163) # define _ICONV_UTF8_UTF32LE (iconv_t)(-164) # define _ICONV_UTF16BE_UTF8 (iconv_t)(-165) # define _ICONV_UTF16LE_UTF8 (iconv_t)(-166) # define _ICONV_UTF32BE_UTF8 (iconv_t)(-167) # define _ICONV_UTF32LE_UTF8 (iconv_t)(-168) #endif #if @REPLACE_ICONV@ # define iconv rpl_iconv extern size_t iconv (iconv_t cd, @ICONV_CONST@ char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); # define iconv_close rpl_iconv_close extern int iconv_close (iconv_t cd); #endif #ifdef __cplusplus } #endif #endif /* _GL_ICONV_H */ #endif /* _GL_ICONV_H */ dc3dd-7.1.614/lib/modechange.c0000644000175000017500000002524411022023316015440 0ustar amedicoamedico/* modechange.c -- file mode manipulation Copyright (C) 1989, 1990, 1997, 1998, 1999, 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie */ /* The ASCII mode string is compiled into an array of `struct modechange', which can then be applied to each file to be changed. We do this instead of re-parsing the ASCII string for each file because the compiled form requires less computation to use; when changing the mode of many files, this probably results in a performance gain. */ #include #include "modechange.h" #include #include "stat-macros.h" #include "xalloc.h" #include /* The traditional octal values corresponding to each mode bit. */ #define SUID 04000 #define SGID 02000 #define SVTX 01000 #define RUSR 00400 #define WUSR 00200 #define XUSR 00100 #define RGRP 00040 #define WGRP 00020 #define XGRP 00010 #define ROTH 00004 #define WOTH 00002 #define XOTH 00001 #define ALLM 07777 /* all octal mode bits */ /* Convert OCTAL, which uses one of the traditional octal values, to an internal mode_t value. */ static mode_t octal_to_mode (unsigned int octal) { /* Help the compiler optimize the usual case where mode_t uses the traditional octal representation. */ return ((S_ISUID == SUID && S_ISGID == SGID && S_ISVTX == SVTX && S_IRUSR == RUSR && S_IWUSR == WUSR && S_IXUSR == XUSR && S_IRGRP == RGRP && S_IWGRP == WGRP && S_IXGRP == XGRP && S_IROTH == ROTH && S_IWOTH == WOTH && S_IXOTH == XOTH) ? octal : (mode_t) ((octal & SUID ? S_ISUID : 0) | (octal & SGID ? S_ISGID : 0) | (octal & SVTX ? S_ISVTX : 0) | (octal & RUSR ? S_IRUSR : 0) | (octal & WUSR ? S_IWUSR : 0) | (octal & XUSR ? S_IXUSR : 0) | (octal & RGRP ? S_IRGRP : 0) | (octal & WGRP ? S_IWGRP : 0) | (octal & XGRP ? S_IXGRP : 0) | (octal & ROTH ? S_IROTH : 0) | (octal & WOTH ? S_IWOTH : 0) | (octal & XOTH ? S_IXOTH : 0))); } /* Special operations flags. */ enum { /* For the sentinel at the end of the mode changes array. */ MODE_DONE, /* The typical case. */ MODE_ORDINARY_CHANGE, /* In addition to the typical case, affect the execute bits if at least one execute bit is set already, or if the file is a directory. */ MODE_X_IF_ANY_X, /* Instead of the typical case, copy some existing permissions for u, g, or o onto the other two. Which of u, g, or o is copied is determined by which bits are set in the `value' field. */ MODE_COPY_EXISTING }; /* Description of a mode change. */ struct mode_change { char op; /* One of "=+-". */ char flag; /* Special operations flag. */ mode_t affected; /* Set for u, g, o, or a. */ mode_t value; /* Bits to add/remove. */ mode_t mentioned; /* Bits explicitly mentioned. */ }; /* Return a mode_change array with the specified `=ddd'-style mode change operation, where NEW_MODE is `ddd' and MENTIONED contains the bits explicitly mentioned in the mode are MENTIONED. */ static struct mode_change * make_node_op_equals (mode_t new_mode, mode_t mentioned) { struct mode_change *p = xmalloc (2 * sizeof *p); p->op = '='; p->flag = MODE_ORDINARY_CHANGE; p->affected = CHMOD_MODE_BITS; p->value = new_mode; p->mentioned = mentioned; p[1].flag = MODE_DONE; return p; } /* Return a pointer to an array of file mode change operations created from MODE_STRING, an ASCII string that contains either an octal number specifying an absolute mode, or symbolic mode change operations with the form: [ugoa...][[+-=][rwxXstugo...]...][,...] Return NULL if `mode_string' does not contain a valid representation of file mode change operations. */ struct mode_change * mode_compile (char const *mode_string) { /* The array of mode-change directives to be returned. */ struct mode_change *mc; size_t used = 0; if ('0' <= *mode_string && *mode_string < '8') { unsigned int octal_mode = 0; mode_t mode; mode_t mentioned; do { octal_mode = 8 * octal_mode + *mode_string++ - '0'; if (ALLM < octal_mode) return NULL; } while ('0' <= *mode_string && *mode_string < '8'); if (*mode_string) return NULL; mode = octal_to_mode (octal_mode); mentioned = (mode & (S_ISUID | S_ISGID)) | S_ISVTX | S_IRWXUGO; return make_node_op_equals (mode, mentioned); } /* Allocate enough space to hold the result. */ { size_t needed = 1; char const *p; for (p = mode_string; *p; p++) needed += (*p == '=' || *p == '+' || *p == '-'); mc = xnmalloc (needed, sizeof *mc); } /* One loop iteration for each `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'. */ for (;; mode_string++) { /* Which bits in the mode are operated on. */ mode_t affected = 0; /* Turn on all the bits in `affected' for each group given. */ for (;; mode_string++) switch (*mode_string) { default: goto invalid; case 'u': affected |= S_ISUID | S_IRWXU; break; case 'g': affected |= S_ISGID | S_IRWXG; break; case 'o': affected |= S_ISVTX | S_IRWXO; break; case 'a': affected |= CHMOD_MODE_BITS; break; case '=': case '+': case '-': goto no_more_affected; } no_more_affected:; do { char op = *mode_string++; mode_t value; char flag = MODE_COPY_EXISTING; struct mode_change *change; switch (*mode_string++) { case 'u': /* Set the affected bits to the value of the `u' bits on the same file. */ value = S_IRWXU; break; case 'g': /* Set the affected bits to the value of the `g' bits on the same file. */ value = S_IRWXG; break; case 'o': /* Set the affected bits to the value of the `o' bits on the same file. */ value = S_IRWXO; break; default: value = 0; flag = MODE_ORDINARY_CHANGE; for (mode_string--;; mode_string++) switch (*mode_string) { case 'r': value |= S_IRUSR | S_IRGRP | S_IROTH; break; case 'w': value |= S_IWUSR | S_IWGRP | S_IWOTH; break; case 'x': value |= S_IXUSR | S_IXGRP | S_IXOTH; break; case 'X': flag = MODE_X_IF_ANY_X; break; case 's': /* Set the setuid/gid bits if `u' or `g' is selected. */ value |= S_ISUID | S_ISGID; break; case 't': /* Set the "save text image" bit if `o' is selected. */ value |= S_ISVTX; break; default: goto no_more_values; } no_more_values:; } change = &mc[used++]; change->op = op; change->flag = flag; change->affected = affected; change->value = value; change->mentioned = (affected ? affected & value : value); } while (*mode_string == '=' || *mode_string == '+' || *mode_string == '-'); if (*mode_string != ',') break; } if (*mode_string == 0) { mc[used].flag = MODE_DONE; return mc; } invalid: free (mc); return NULL; } /* Return a file mode change operation that sets permissions to match those of REF_FILE. Return NULL (setting errno) if REF_FILE can't be accessed. */ struct mode_change * mode_create_from_ref (const char *ref_file) { struct stat ref_stats; if (stat (ref_file, &ref_stats) != 0) return NULL; return make_node_op_equals (ref_stats.st_mode, CHMOD_MODE_BITS); } /* Return the file mode bits of OLDMODE (which is the mode of a directory if DIR), assuming the umask is UMASK_VALUE, adjusted as indicated by the list of change operations CHANGES. If DIR, the type 'X' change affects the returned value even if no execute bits were set in OLDMODE, and set user and group ID bits are preserved unless CHANGES mentioned them. If PMODE_BITS is not null, store into *PMODE_BITS a mask denoting file mode bits that are affected by CHANGES. The returned value and *PMODE_BITS contain only file mode bits. For example, they have the S_IFMT bits cleared on a standard Unix-like host. */ mode_t mode_adjust (mode_t oldmode, bool dir, mode_t umask_value, struct mode_change const *changes, mode_t *pmode_bits) { /* The adjusted mode. */ mode_t newmode = oldmode & CHMOD_MODE_BITS; /* File mode bits that CHANGES cares about. */ mode_t mode_bits = 0; for (; changes->flag != MODE_DONE; changes++) { mode_t affected = changes->affected; mode_t omit_change = (dir ? S_ISUID | S_ISGID : 0) & ~ changes->mentioned; mode_t value = changes->value; switch (changes->flag) { case MODE_ORDINARY_CHANGE: break; case MODE_COPY_EXISTING: /* Isolate in `value' the bits in `newmode' to copy. */ value &= newmode; /* Copy the isolated bits to the other two parts. */ value |= ((value & (S_IRUSR | S_IRGRP | S_IROTH) ? S_IRUSR | S_IRGRP | S_IROTH : 0) | (value & (S_IWUSR | S_IWGRP | S_IWOTH) ? S_IWUSR | S_IWGRP | S_IWOTH : 0) | (value & (S_IXUSR | S_IXGRP | S_IXOTH) ? S_IXUSR | S_IXGRP | S_IXOTH : 0)); break; case MODE_X_IF_ANY_X: /* Affect the execute bits if execute bits are already set or if the file is a directory. */ if ((newmode & (S_IXUSR | S_IXGRP | S_IXOTH)) | dir) value |= S_IXUSR | S_IXGRP | S_IXOTH; break; } /* If WHO was specified, limit the change to the affected bits. Otherwise, apply the umask. Either way, omit changes as requested. */ value &= (affected ? affected : ~umask_value) & ~ omit_change; switch (changes->op) { case '=': /* If WHO was specified, preserve the previous values of bits that are not affected by this change operation. Otherwise, clear all the bits. */ { mode_t preserved = (affected ? ~affected : 0) | omit_change; mode_bits |= CHMOD_MODE_BITS & ~preserved; newmode = (newmode & preserved) | value; break; } case '+': mode_bits |= value; newmode |= value; break; case '-': mode_bits |= value; newmode &= ~value; break; } } if (pmode_bits) *pmode_bits = mode_bits; return newmode; } dc3dd-7.1.614/lib/ChangeLog0000644000175000017500000115172711022023316014763 0ustar amedicoamedico2007-05-31 Jim Meyering * printf-parse.c, vasnprintf.c, unicodeio.c: Remove local copies, so we now get these files from gnulib. 2007-03-20 Jim Meyering Fix a typo in the handling of %x and %X. * vasnprintf.c (VASNPRINTF): When adding 2 to buffer length, don't double it. 2007-03-04 Jim Meyering * vasnprintf.c (VASNPRINTF): Add missing semicolon. 2007-03-02 Jim Meyering * vasnprintf.c (VASNPRINTF): Remove cast of alloca return value. 2007-03-01 Jim Meyering Merge in changes from gnulib: * vasnprintf.c: Add a comment explaining why coreutils has its own version of this file. Include . (SIZE_MAX): Remove definition (now, stdint.h covers that). (EOVERFLOW): Remove definition (now done via the eoverflow module). Update some #ifdef to #if. Use HAVE_LONG_LONG_INT, not HAVE_LONG_LONG. * printf-parse.c: Likewise. 2007-02-28 Jim Meyering * tsearch.c: Remove unused file. 2007-02-23 Jim Meyering * randperm.c (randperm_new): Comment: say that this function returns a pointer to malloc'd storage. 2007-02-18 Jim Meyering * xfts.c: Include rather than exit.h, now that stdlib.h is guaranteed to provide a valid definition of EXIT_FAILURE. 2007-01-19 Jim Meyering * .cvsignore, .gitignore: Add sys, as well as more bootstrap-inserted file names. 2007-01-14 Jim Meyering * fchdir-stub.c: Remove file. No longer needed. 2006-12-03 Jim Meyering * Makefile.am (libcoreutils_a_SOURCES): Remove xmemcoll.c and xmemcoll.h. Now, they're handled by the gnulib xmemcoll module. 2006-11-22 Paul Eggert * randread.c (__attribute__): Don't define if __attribute__ is already defined. Otherwise, the code won't conform to C99, since the macro arg is spelled differently by some include file, and the compilation fails with pedantic GCC. 2006-11-22 Jim Meyering * .cvsignore, .gitignore: Add fstat.c. 2006-11-14 Jim Meyering * readlink-stub.c, lstat-stub.c: Remove now-unused files. 2006-10-14 Paul Eggert Port sha512sum to hosts where uintmax_t is only 32 bits, e.g., HP/Tandom NonStop OSS circa 2005 has 32-bit uintmax_t, 64-bit intmax_t. * u64.h: New file. * sha512.c (SWAP, sha512_init_ctx, sha384_init_ctx, sha512_read_ctx): (sha384_read_ctx, sha512_conclude_ctx, sha512_process_bytes): (sha512_round_constants, F2, F1, sha512_process_block): (S0, S1, SS0, SS1, M, R): Rewrite to use u64.h instead of assuming uint64_t. * sha512.h: Include u64.h rather than stdint.h. (rol64): Remove; moved to u64.h and renamed to u64rol. 2006-10-12 Jim Meyering * Makefile.am (libcoreutils_a_LIBADD): Append $(LIBOBJS), to accommodate the latest version of gnulib-tool. (libcoreutils_a_DEPENDENCIES): Likewise. From Bruno Haible. 2006-10-06 Jim Meyering Avoid a compiler warning: const'ify and remove a cast. * randread.c (struct randread_source) [handler]: Make parameter "const". [handler_arg]: Add "const" attribute. (randread_error): Make parameter "const". (simple_new, randread_set_handler, randread_set_handler_arg): Likewise. (randread_new): Remove now-unnecessary cast. * randread.h: Adjust prototypes. 2006-09-29 Paul Eggert * .cvsignore: Add openat-proc.c. 2006-09-25 Paul Eggert * .cvsignore: Add fchmodat.c. 2006-09-25 Jim Meyering * fchmodat.c: Remove file. gnulib's copy is identical. 2006-09-01 Paul Eggert * .cvsignore: Add fcntl.h, fcntl_.h, inttypes_.h, isapipe.c, isapipe.h. 2006-08-25 Paul Eggert * euidaccess-stat.c: Include unconditionally, since we now assume config.h exists. * fchmodat.c: Likewise. * fd-reopen.c: Likewise. * fdopendir-glibc.c: Likewise. * memxfrm.c: Likewise. * printf-parse.c: Likewise. * rand-isaac.c: Likewise. * randint.c: Likewise. * randperm.c: Likewise. * randread.c: Likewise. * root-dev-ino.c: Likewise. * sha256.c: Likewise. * sha512.c: Likewise. * stdopen.c: Likewise. * strintcmp.c: Likewise. * strnumcmp.c: Likewise. * t-chdir-long: Likewise. * tsearch.c: Likewise. * unicodeio.c: Likewise. * vasnprintf.c: Likewise. * xfts.c: Likewise. * xmemxfrm.c: Likewise. * .cvsignore: Add configmake.h, stamp-h1. 2006-08-23 Paul Eggert * .cvsignore: Add config.h, config.hin. * Makefile.am (AM_CPPFLAGS): Remove; we no longer need '-I..'. 2006-08-22 Paul Eggert * .cvsignore: Add Makefile.in, getdate.tab.h. Remove stat.c, sysexit.h. 2006-08-22 Jim Meyering * .cvsignore: Add files that are now generated by ../bootstrap. 2006-08-21 Eric Blake * Makefile.am (LDADD): Restore this line; it is still needed for t-fpending on platforms without __fpending. 2006-08-20 Paul Eggert Add a bootstrap procedure, so that the CVS version contains fewer files and we bootstrap the rest from gnulib, gettext, etc. * Makefile.am: include gnulib.mk, so that we can remove most of this file. (AM_CPPFLAGS): Don't mention -I$(srcdir), since that's now done for us. (noinst_LIBRARIES, LDDADD, DEFS): Remove. (libcoreutils_a_SOURCES): Trim down greatly, just to the files that aren't in gnulib. (libcoreutils_a_LIBADD, lib_OBJECTS, BUILT_SOURCES, CLEANFILES): (MAINTAINERCLEANFILES, MOSTLYCLEANDIRS, MOSTLYCLEANFILES): (SUFFIXES, EXTRA_DIST, all-local, charset_alias, charset_tmp): (install-exec-local, uninstall-local, charset.alias, .sin.sed): (stdbool.h, stdint.h, fnmatch.h, arpa/inet.h, netinet/in.h): (sys/socket.h, getopt.h): Remove. * Makefile.in, README, __fpending.c, __fpending.h, acl.c, acl.h: * alloca.c, alloca_.h, allocsa.c, allocsa.h, argmatch.c, argmatch.h: * asnprintf.c, asprintf.c, at-func.c, atexit.c, backupfile.c: * backupfile.h, base64.c, base64.h, basename.c, bcopy.c, c-strtod.c: * c-strtod.h, c-strtold.c, calloc.c, canon-host.c, canon-host.h: * canonicalize.c, canonicalize.h, chdir-long.c, chdir-long.h: * chdir-safer.c, chdir-safer.h, chown.c, cloexec.c, cloexec.h: * close-stream.c, close-stream.h, closeout.c, closeout.h: * config.charset, creat-safer.c, cycle-check.c, cycle-check.h: * dev-ino.h, diacrit.c, diacrit.h, dirchownmod.c, dirchownmod.h: * dirfd.c, dirfd.h, dirname.c, dirname.h, dup-safer.c, dup2.c: * error.c, error.h, euidaccess.c, euidaccess.h, exclude.c: * exclude.h, exit.h, exitfail.c, exitfail.h, fchown-stub.c: * fcntl--.h, fcntl-safer.h, fd-safer.c, file-type.c, file-type.h: * fileblocks.c, filemode.c, filemode.h, filenamecat.c: * filenamecat.h, fnmatch.c, fnmatch_.h, fnmatch_loop.c: * fopen-safer.c, fprintftime.c, fprintftime.h, free.c, fsusage.c: * fsusage.h, ftruncate.c, fts-cycle.c, fts.c, fts_.h, full-read.c: * full-read.h, full-write.c, full-write.h, gai_strerror.c: * getaddrinfo.c, getaddrinfo.h, getcwd.c, getcwd.h, getdate.h: * getdate.y, getdelim.c, getdelim.h, getgroups.c, gethostname.c: * gethrxtime.c, gethrxtime.h, getline.c, getline.h, getloadavg.c: * getndelim2.c, getndelim2.h, getopt.c, getopt1.c, getopt_.h: * getopt_int.h, getpagesize.h, getpass.c, getpass.h, gettext.h: * gettime.c, gettimeofday.c, getugroups.c, getusershell.c: * group-member.c, group-member.h, hard-locale.c, hard-locale.h: * hash-pjw.c, hash-pjw.h, hash.c, hash.h, human.c, human.h: * idcache.c, imaxtostr.c, inet_ntop.c, inet_ntop.h, intprops.h: * inttostr.c, inttostr.h, lchmod.h, lchown.c, lchown.h: * linebuffer.c, linebuffer.h, localcharset.c, localcharset.h: * long-options.c, long-options.h, lstat.c, lstat.h, malloc.c: * mbchar.c, mbchar.h, mbswidth.c, mbswidth.h, mbuiter.h, md5.c: * md5.h, memcasecmp.c, memcasecmp.h, memchr.c, memcmp.c, memcoll.c: * memcoll.h, memcpy.c, memmove.c, mempcpy.c, mempcpy.h, memrchr.c: * memrchr.h, memset.c, mkancesdirs.c, mkancesdirs.h, mkdir-p.c: * mkdir-p.h, mkdir.c, mkdirat.c, mkstemp-safer.c, mkstemp.c: * mktime.c, modechange.c, modechange.h, mountlist.c, mountlist.h: * nanosleep.c, obstack.c, obstack.h, offtostr.c, open-safer.c: * openat-die.c, openat-priv.h, openat.c, openat.h, pathmax.h: * physmem.c, physmem.h, pipe-safer.c, posixtm.c, posixtm.h: * posixver.c, posixver.h, printf-args.c, printf-args.h: * printf-parse.h, putenv.c, quote.c, quote.h, quotearg.c: * quotearg.h, raise.c, readlink.c, readtokens.c, readtokens.h: * readtokens0.c, readtokens0.h, readutmp.c, readutmp.h, realloc.c: * ref-add.sin, ref-del.sin, regcomp.c, regex.c, regex.h: * regex_internal.c, regex_internal.h, regexec.c, rename.c, rmdir.c: * rpmatch.c, safe-read.c, safe-read.h, safe-write.c, safe-write.h: * same-inode.h, same.c, same.h, save-cwd.c, save-cwd.h, savedir.c: * savedir.h, setenv.c, setenv.h, settime.c, sha1.c, sha1.h: * sig2str.c, sig2str.h, snprintf.c, snprintf.h, socket_.h: * stat-macros.h, stat-time.h, stdbool_.h, stdint_.h, stdio--.h: * stdio-safer.h, stdlib--.h, stdlib-safer.h, stpcpy.c, strcase.h: * strcasecmp.c, strcspn.c, strdup.c, strdup.h, strftime.c: * strftime.h, stripslash.c, strncasecmp.c, strndup.c, strndup.h: * strnlen.c, strnlen.h, strnlen1.c, strnlen1.h, strpbrk.c, strstr.c: * strstr.h, strtod.c, strtoimax.c, strtol.c, strtoll.c, strtoul.c: * strtoull.c, strtoumax.c, strverscmp.c, strverscmp.h, tempname.c: * time_r.c, time_r.h, timespec.h, umaxtostr.c, unicodeio.h: * unistd--.h, unistd-safer.h, unlinkdir.c, unlinkdir.h: * unlocked-io.h, unsetenv.c, userspec.c, userspec.h, utime.c: * utimecmp.c, utimecmp.h, utimens.c, utimens.h, vasnprintf.h: * vasprintf.c, vasprintf.h, verify.h, version-etc-fsf.c: * version-etc.c, version-etc.h, wcwidth.h, xalloc-die.c, xalloc.h: * xgetcwd.c, xgetcwd.h, xgethostname.c, xgethostname.h, xmalloc.c: * xmemcoll.c, xmemcoll.h, xnanosleep.c, xnanosleep.h, xreadlink.c: * xreadlink.h, xstrndup.c, xstrndup.h, xstrtod.c, xstrtod.h: * xstrtoimax.c, xstrtol.c, xstrtol.h, xstrtold.c, xstrtoul.c: * xstrtoumax.c, xtime.h, yesno.c, yesno.h: Remove from CVS, since ../bootstrap generates them automatically. 2006-08-18 Bruno Haible * mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h. (ME_DUMMY): Treat "kernfs" as a dummy. (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement. 2006-08-17 Paul Eggert * ChangeLog: Add copyright notice. * .gdb-history: Likewise. * TODO: Likewise. * __fpending.h: Likewise. * fdopendir-glibc.c: Likewise. * fprintftime.h: Likewise. * root-dev-ino.h: Likewise. * search_.h: Likewise. * t-chdir-long: Likewise. * t-fpending.c: Likewise. * savedir.c: Use (C) in copyright notice. * savedir.h: Likewise. 2006-08-16 Paul Eggert * memcoll.c (memcoll): Set errno = 0 in the shortcut case, too. Problem and fix reported by Pádraig Brady in . 2006-08-16 Jim Meyering * fts.c (fts_children): Remove obsolete "// FIXME ..." comment. Reported by Bruno Haible. 2006-08-15 Jim Meyering * at-func.c: New file, with the logic of all emulated at-functions. * openat-priv.h: Include and define ENOSYS, in support of the EXPECTED_ERRNO macro. * openat.c (fstatat, unlinkat, fchownat): Remove function definitions. Instead, define the appropriate symbols and include "at-func.c". * mkdirat.c (mkdirat): Likewise. * fchmodat.c (fchmodat): Likewise. (ENOSYS): Remove definition. * openat.c: Don't include , now that "openat-priv.h" does it. Don't include "unistd--.h" -- it wasn't ever used. 2006-08-14 Paul Eggert * memcoll.c (memcoll): Optimize for the common case where the arguments are bytewise equal. 2006-08-11 Paul Eggert * pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE -> HAVE_PIPE. Fix a file descriptor leak when fd_safer fails. * regex_internal.c (re_string_skip_chars): Don't assume WEOF fits in wchar_t. Problem reported by Eric Blake. * snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when LEN is smaller than SIZE. Suggested by Bruno Haible. Also, help the compiler to keep LEN in a register. 2006-08-10 Paul Eggert Import the following changes from libc: 2006-06-02 Jakub Jelinek * posix/regex_internal.c (re_string_skip_chars): If no character has been converted at all, set *last_wc to WEOF. If mbrtowc failed, set wc to the byte which couldn't be converted. (re_string_reconstruct): Don't clear valid_raw_len before calling re_string_skip_chars. If wc is WEOF after re_string_skip_chars, set tip_context using re_string_context_at. 2006-05-02 Ulrich Drepper * posix/regex.h: g++ still cannot handled [restrict]. 2006-04-21 Ulrich Drepper * posix/regex.h: Remove special handling for VMS. Accommodate new getaddrinfo implementation in gnulib. * inet_ntop.c, inet_ntop.h, snprintf.c, snprintf.h, socket_.h: New files, from gnulib. * .cppi-disable: Add snprintf.h, socket_.h. * Makefile.am (libcoreutils_a_SOURCES): Add inet_ntop.h, snprintf.h. (MOSTLYCLEANDIRS): New macro. (BUILT_SOURCES): Add $(ARPA_INET_H), $(SYS_SOCKET_H), $(NETINET_IN_H). (arpa/inet.h, netinet/in.h, sys/socket.h): New rules. (MOSTLYCLEANFILES): Add arpa/inet.h, arpa/inet.h-t, netinet/in.h, netinet/in.h-t, sys/socket.h, sys/socket.h-t. (EXTRA_DIST): Add socket_.h. 2006-08-09 Paul Eggert * allocsa.h, config.charset, error.c, error.h, exitfail.c, full-write.c: * getaddrinfo.c, getaddrinfo.h, gettext.h, localcharset.c, mbchar.h: * mbswidth.c, mkstemp-safer.c, pipe-safer.c, printf-args.c, quote.c: * readlink.c, regex_internal.h, setenv.c, stdint_.h, stdio--.h: * stdio-safer.h, stpcpy.c, strcspn.c, strtoimax.c, vasnprintf.h: * version-etc.c, wcwidth.h: Update from gnulib. 2006-08-09 Jim Meyering * rand-isaac.c: Include . 2006-08-08 Paul Eggert * Makefile.am (libcoreutils_a_SOURCES): Add xmemxfrm.c, xmemxfrm.h. * memxfrm.c, memxfrm.h, randint.c, randint.h, randperm.c, randperm.h: * randread.c, randread.h, xmemxfrm.c, xmemxfrm.h: New files. * rand-isaac.h: New file. * rand-isaac.c: New file, mostly taken from ../src/rand-isaac.c. 2006-07-28 Paul Eggert * modechange.c (mode_compile): Numeric modes now affect setuid and setgid on directories only if they set these bits. * modechange.h: Remove obsolete comment about masks. 2006-07-22 Paul Eggert * close-stream.c, close-stream.h: New files. * closeout.c (close_stdout): Use new function close_stream. 2006-07-19 Mike Frysinger * mountlist.c [ME_REMOTE]: Filter out cifs. Reported by Toralf Förster in . 2006-07-20 Jim Meyering * mountlist.c (ME_REMOTE): Compare strchr's result to NULL, not 0, for better readability. 2006-07-16 Paul Eggert * dirchownmod.c, dirchownmod.h, mkancesdirs.c, mkancesdirs.h: New files. * mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h, unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h, save-cwd.h. Instead, include dirchownmod.h and mkancesdirs.h. (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE, MODE_BITS. Remove options VERBOSE_FMT_STRING, CWD_ERRNO. All callers changed. Revamp internals significantly, by not attempting to create directories that are temporarily more permissive than the final results. Do not attempt to use save_cwd/restore_cwd; it isn't worth it for mkdir and install. This removes some race conditions, fixes some bugs, and simplifies things. Use new dirchownmod function to do owner and mode changes. * mkdir-p.h: Likewise. * modechange.c (octal_to_mode): New function. (struct mode_change): New member mentioned. (make_node_op_equals): New arg mentioned. All callers changed. (mode_compile): Keep track of which mode bits the user has explicitly mentioned. (mode_adjust): New arg DIR, so that we implement the X op correctly. New arg PMODE_BITS, to keep track of which mode bits the user mentioned; it treats S_ISUID and S_ISGID speciall. All callers changed. * modechange.h: Likewise. 2006-07-16 Jim Meyering * userspec.c (parse_with_separator): Say "invalid spec" rather than the sometimes erroneous "cannot get the login group of a numeric UID" for a spec like "not-a-username:" or "1:". Reported by suckfish@ihug.co.nz in https://bugzilla.redhat.com/bugzilla/199027. 2006-07-10 Derek R. Price * backupfile.c, dirfd.h, fts.c, getcwd.c: Ignore the obsolescent !HAVE_DIRENT_H case. Consolidate NAMLEN macros into the GNU _D_EXACT_NAMLEN. * savedir.c: Likewise. (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen. 2006-07-08 Paul Eggert * Makefile.am (stdint.h): FULL_PATH_STDINT_H -> ABSOLUTE_STDINT_H, to accommodate update from gnulib. Update from gnulib, as follows: 2006-07-06 Jim Hyslop (tiny change) * getaddrinfo.c: Changes to compile under MSVC6: changed '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside brackets. Other minor changes to suppress some compiler warnings. 2006-07-06 Paul Eggert * getloadavg.c: Use __VMS, not VMS. * getopt.c: Likewise. * getpagesize.h: Likewise. 2006-07-06 Derek R. Price and Paul Eggert * backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't worry about this obsolete case any more. (HAVE_DIR): Remove. All uses removed; we now assume you can read directories. * dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't worry about this obsolete case any more. * fts.c: Likewise. * getcwd.c: Likewise. * savedir.c: Likewise. 2006-07-06 Paul Eggert * fnmatch.c (ISBLANK): Remove. All uses changed to isblank. (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro. (ISGRAPH): Remove. All uses changed to isgraph. (FOLD) [!defined _LIBC]: Remove special case. * getdate.y (lookup_word): Remove no-longer-needed call to islower. * regext_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not HAVE_ISBLANK. * strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special case. 2006-07-06 Ralf Wildenhues * strtod.c (strtod): cast the argument of tolower to unsigned char. 2006-07-05 Paul Eggert * memcasecmp.c: Include . (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX. * strtod.c (strtod): Don't assume isspace works on negative chars. Don't assume isdigit succeeds only on '0' through '9'. 2006-07-05 Derek R. Price * exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed. All uses of is_space replaced by isspace. * exit.h: Don't talk about STDC_HEADERS. * fnmatch.c (ISASCII): Remove; no longer needed. All uses removed. (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT): (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed. All uses replaced by isprint etc. * getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise. * getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. * memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise. * strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise. * strtol.c (IN_CTYPE_DOMAIN): Likewise. * xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise. 2006-07-05 Eric Blake * getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if missing from netdb.h. * getaddrinfo.c (includes): Include inet_ntop and snprintf. 2006-06-27 Bruno Haible Assume ANSI C header files and functions. * mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros. (mbsnwidth): Use isprint, iscntrl instead. 2006-07-08 Jim Meyering * getndelim2.h (getndelim2): Remove doubled "after" in comment. 2006-07-03 Paul Eggert * Makefile.am (libcoreutils_a_SOURCES): Add setenv.h, wcwidth.h, to accommodate sync from gnulib. Sync from gnulib. 2006-06-30 Jim Hyslop (tiny change) * getaddrinfo.c: fixed typo 2006-06-28 Bruno Haible * getaddrinfo.h: Fix POSIX URL. * getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of _WIN32. (use_win32_p): Make static. (getaddrinfo): Reject service name if it is empty or does not consist solely of decimal digits, or if its value is > 65535. (getnameinfo): Remove useless casts. 2006-06-28 Eric Blake * mbchar.h (wcwidth): Include wcwidth.h. * mbswidth.c (wcwidth): Move from here... * wcwidth.h: ...to this new file. 2006-06-28 Simon Josefsson * getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the functions there. It will succeed on Windows XP, but on Windows 2000 and (presumably) earlier, it will fail, and use the internal re-implementation. (use_win32_p): New function. (getaddrinfo): Use strtoul on servname, to support numeric ports. Support AI_NUMERICSERV to disable getservbyname. (getnameinfo): New function, only supports NI_NUMERICHOST|NI_NUMERICSERV for now. * getaddrinfo.h: Test and check for AI_* flags separately, MinGW only have some of them. Add AI_NUMERICSERV. Add prototype for getnameinfo. 2006-06-26 Paul Eggert * base64.c (B64): Use _ as the formal parameter, not x, to avoid bug in IBM C V6 for AIX. Problem reported by Larry Jones in . 2006-06-21 Simon Josefsson * getaddrinfo.c (getaddrinfo): Set ai_family in the return variable. 2006-06-19 Paul Eggert * alloca_.h (alloca) [defined alloca]: Don't define or declare. 2006-06-16 Eric Blake * unsetenv.c [!defined errno]: Assume errno.h declares errno. * unicodeio.c [!defined errno]: Likewise. * strtol.c [!defined errno]: Likewise. * strtod.c [!defined errno]: Likewise. 2006-05-26 Martin Lambers * getpass.c: Updates the test for the native W32 API, and adds missing includes, thus fixing compilation warnings. 2006-05-25 Sergey Poznyakoff * exclude.c (exclude_fnmatch): New function. (excluded_file_name): Call exclude_fnmatch. * exclude.h (excluded_file_name): New prototype 2006-05-19 Jim Meyering * getugroups.c: Correct an outdated comment. From Bruno Haible. 2006-05-10 Paul Eggert * sha1.c (rol): Cast right-shift arg to uint32_t to prevent unwanted sign propagation, e.g., on hosts with 64-bit int. There still are some problems with reeelly weird theoretical hosts (e.g., 33-bit int) but it's not worth worrying about now. (K1, K2, K3, K4): Remove unnecessary L suffix. 2006-03-24 Simon Josefsson * base64.c: Fix problems reported by Eric Blake , including some doc fixes. (base64_encode_alloc): Fix +1 bug on allocation failures. 2006-03-24 Ralf Wildenhues * base64.c (base64_encode): Do not read past end of array with unsanitized input on systems with CHAR_BIT > 8. 2006-03-24 Eric Blake * time_r.c (copy_string_result): Remove, as it is no longer used. 2006-07-03 Paul Eggert * stdint_.h: Include after @FULL_PATH_STDINT_H@, for MacOS X 10.4.6. Don't mention . Problems reported by Mark D. Baushke, one in . 2006-07-03 Jim Meyering * cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this macro is used before the first cycle_check call. 2006-07-02 Paul Eggert * stdint_.h (intmax_t, uintmax_t): Prefer long to long long if both are 64 bits, since this seems to be the tradition, and this prevents gcc -Wformat from warning about usages with PRIuMAX. If we ever run into a host that prefers long long to long in this case, we'll need another configure-time test. Problem reported by Jim Meyering. 2006-07-02 Paul Eggert * Makefile.am (stdint.h): Sync from gnulib. * stdint_.h: Sync from gnulib. 2006-06-30 Paul Eggert * xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support both double and long double versions. (XSTRTOD): Renamed from xstrtod. Use DOUBLE internally. * xstrtold.c: New file. * xstrtod.h (xstrtold): New decl. 2006-06-29 Derek R. Price * strftime.c: Assume strftime exists. 2006-06-28 Derek R. Price * savedir.c (CLOSEDIR): Remove. All uses changed to closedir. Autoconf 2.60 says this stuff was obsolete. 2006-06-20 Paul Eggert * openat.c (openat): Use ?:, not if, to work around GCC bug 4210 . Problem reported by Denis Excoffier in . 2006-06-19 Jim Meyering Apply this change from gnulib: 2006-06-16 Eric Blake * unsetenv.c [!defined errno]: Assume errno.h declares errno. 2006-06-11 Paul Eggert * getdate.y (__attribute__): Don't define if already defined. Problem reported by Larry Jones. * utimens.c (__attribute__): Likewise. 2006-06-10 Jim Meyering Apply this change from gnulib: 2006-05-30 Ralf Wildenhues Bruno Haible * strndup.c (strndup) [!_LIBC]: Don't undefine macro definition. 2006-06-04 Paul Eggert * regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun reported by Andreas Schwab. 2006-05-25 Paul Eggert * tempname.c (small_open, large_open): New macros. (__open, __open64) [!_LIBC]: Remove. (__gen_tempname): Use small_open and large_open instead of __open and __open64. This fixes a portability bug on HP-UX 11.11i reported by Simon Wing-Tang in . 2006-05-23 Paul Eggert * filemode.c: Don't include ; this include was inadvertently put into the previous patch. Problem noted by Jim Meyering. 2006-05-22 Paul Eggert * filemode.c (setst): Remove. (strmode): Rewrite to avoid setst. This makes the code shorter, (arguably) clearer, and the generated code is a bit smaller on my Debian GNU/Linux stable x86 host. Import from gnulib. * verify.h: Document the internals better. Most of this change was written by Bruno Haible. 2006-05-21 Jim Meyering * fts.c (fts_open): Fail with EINVAL if a caller violates this rule: Either FTS_LOGICAL or FTS_PHYSICAL must be provided to the fts_open() function. 2006-05-19 Paul Eggert * nanosleep.c [HAVE_SYS_SELECT_H]: Include . Use the usual Autoconf way to include and/or sys/time.h. (my_usleep): Don't mishandle maximum value. 2006-05-15 Jim Meyering Avoid the expense of an fstat, when possible. * fts.c (O_NOFOLLOW, STREQ): Define. (diropen_fd): Remove function. Merge it into sole caller... (diropen): ...here. Use O_NOFOLLOW when appropriate. (fts_safe_changedir): Call fstat for dev/inode check, only if the previous open/openat call may have opened the wrong directory. 2006-05-13 Jim Meyering * xfts.c (xfts_open): Always use FTS_CWDFD. Restore the parts of fts that were removed on 2006-01-17, so that it's easier for legacy applications designed for the version of fts in glibc or BSD to convert to this more robust version. Add a new mode, FTS_CWDFD, by which to enable the improved (openat- based -- aka no-chdir) semantics. * fts_.h (FTS_CWDFD): Define. Callers must use this fts_open option to enable the more robust behavior. (FTS_OPTIONMASK): Widen accordingly. * fts.c: Restore removed code, reverting the default behavior. 2006-05-11 Jim Meyering * sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/. From James Lemley. 2006-04-25 Paul Eggert * getdate.y (get_date): When adding relative date, start with the initial time, not with the result of the first mktime call. 2006-04-17 Paul Eggert * filemode.c: Include "filemode.h" first, to test the interface. Assume that filemode.h includes sys/types.h and sys/stat.h. (HAVE_ST_DM_MODE): New macro, moved here from ls.c. (ftypelet): Reorder to put common cases first, for efficiency. Add 'P', 'w'. Remove 'M', since it's now the caller's responsibility to do 'M'. (strmode): Renamed from mode_string, and now stores 12 bytes instead of 10, for compatibility with FreeBSD. All callers changed. (filemodestring): Now stores 12 bytes instead of 10, and sets file types that can't be deduced solely from st_mode. First arg is now a const pointer. * filemode.h (HAVE_DECL_STRMODE): Include for strmode. (strmode): Renamed from mode_string. (filemodestring): New decl. * stat-macros.h: Don't undef S_ISDOOR, since it's never buggy. (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never needed. (S_ISPORT, S_ISWHT): New macros, if not already defined. * openat.h (openat_needs_fchdir) [ ! defined __OPENAT_PREFIX]: Turn this into a macro that always returns false. 2006-04-15 Paul Eggert * utimens.c (futimens): glibc futimesat messes up if /proc isn't mounted. Problem reported by Kir Kolyshkin. 2006-04-14 Jim Meyering Remove unreachable code and plug leaks in code that handles degenerate input and some failure cases. * fts.c (fts_build): #if-0-out a block of unused code. Patch from glibc. (fts_build): Remove just-#if-0'd code and the code that declares and sets cderrno. (fts_build): Free `head' before returning NULL, in two places, to avoid leaks. Patch from glibc. (fts_open): Don't allocate parent if *argv==NULL. Patch from glibc. 2006-04-13 Paul Eggert * regcomp.c (init_dfa): Don't use wchar_t or wctype_t if RE_ENABLE_I18N is not defined. Problem reported by Mark D. Baushke via Derek R. Price. * regex.h (RE_DUP_MAX): Update comment to match current implementation. 2006-04-12 Paul Eggert * fsusage.c: Don't include or , since fsusage.h now does that. Include fsusage.h first, to test interface. Prefer statvfs if it works, since it's blessed by POSIX. Attempt at most one method (the old code could have generated decls that didn't conform to C89, not that this was ever exercised). * fsusage.h: Include and if they exist. 2006-04-09 Paul Eggert Merge regex changes from libc, removing some of our POSIX-conformance changes that were rejected and redoing them in a less-intrusive way. * regcomp.c (re_compile_internal, init_dfa): Length arg is now size_t, not Idx. All uses changed. (peek_token): Forward decl now says internal_function. (__re_error_msgid, __re_error_msgid_idx): Now static rather than extern with attribute_hidden. (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn. For some reason libc prefers K&R style defns for external functions. (regerror) [!defined _LIBC]: Likewise. (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp): (seek_collating_symbol_entry, lookup_collation_sequence_value): (build_range_exp, build_collating_symbol): Use K&R-style defn. (re_compile_fastmap): Use '\0' to memset, not 0. (utf8_sb_map): Make the calculations more obvious. (init_dfa, parse_bracket_exp, build_charclass_op): Call calloc and cast result, as glibc does. (init_word_char, fetch_token, peek_token, peek_token_bracket): (build_range_exp, build_collating_symbol): Now internal functions. * regex.c [!defined _LIBC]: Allow compiling with C++ compilers. * regex.h (__USE_GNU_REGEX): New macro. Don't depend on _REGEX_SOURCE any more; depend on _GNU_SOURCE instead. Don't depend on VMS; depend on __VMS instead, for POSIX namespace cleanness. (regoff_t): Define to ssize_t, not long int. Remove the REG_ macros named below. Instead, make the old names (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if __USE_GNU_REGEX. (REG_BACKSLASH_ESCAPE_IN_LISTS): (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS): (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS): (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE): (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT): (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS): (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES): (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING): (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD): (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE): (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS): (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK): (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP): (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON): (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC): (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED): (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED): (REG_NREGS): Remove. All uses replaced by the old RE_* names. (RE_BACKSLASH_ESCAPE_IN_LISTS): (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS): (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS): (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE): (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT): (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS): (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES): (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING): (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD): (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE): (RE_CONTEXT_INVALID_DUP, RE_NO_SUB): Don't bother having these macros be independent of each others' values, since they no longer exist in the POSIX name space. Rename the following member names back to their old names, unless !__USE_GNU_REGEX. All uses changed back. (buffer): Renamed from re_buffer. (allocated): Renamed from re_allocated. (used): Renamed from re_used. (syntax): Renamed from re_syntax. (fastmap): Renamed from re_fastmap. (translate): Renamed from re_translate. (can_be_null): Renamed from re_can_be_null. (regs_allocated): Renamed from re_regs_allocated. (fastmap_accurate): Renamed from re_fastmap_accurate. (no_sub): Renamed from re_no_sub. (not_bol): Renamed from re_not_bol. (not_eol): Renamed from re_not_eol. (newline_anchor): Renamed from re_newline_anchor. (num_regs): Renamed from rm_num_regs. (start): Renamed from rm_start. (end): Renamed from rm_end. (free_state): Move up a bit. * regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]: #define to be empty. (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2 when that is what is intended. (SBC_MAX): Define to UCHAR_MAX + 1, not 256. (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed. (MAX): New macro. (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove. All uses changed back to re_malloc, etc. It's now the caller's responsibility to check for overflow; all callers changed. (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc): (re_x2nrealloc): Remove. (free_state): Remove decl. * regexc.c (regexec, re_match, re_search, re_match_2, re_search_2): (re_set_registers, re_exec): Use K&R-style defn. 2006-01-31 Roland McGrath * regcomp.c (calc_eclosure_iter): Remove dead variables. Reported by Mike Frysinger . 2006-01-15 Andreas Jaeger [BZ #1950] * regex_internal.c (re_string_reconstruct): Adjust for build_wcs_upper_buffer change. (build_wcs_upper_buffer): Change return type. 2005-12-10 Ulrich Drepper * regex_internal.h: Include if available. 2005-12-06 Paolo Bonzini * regex_internal.h (SIZE_MAX): Provide a default definition. 2005-10-14 Ulrich Drepper * regcomp.c: Adjust for changed secondary hash function. 2005-09-30 Ulrich Drepper * regex.h: Pretty printing. Clean up namespace a bit. 2005-09-30 Jakub Jelinek * regexec.c (update_cur_sifted_state, check_arrival, check_arrival_add_next_nodes): Avoid using uninitialized variable. 2005-09-06 Paul Eggert Ulrich Drepper [BZ #1302] * regex_internal.h (bitset_t): Renamed from bitset. All uses changed. (bitset_word_t): Renamed from bitset_word. All uses changed. 2005-09-22 Ulrich Drepper [BZ #281] * regex.h: Define RE_TRANSLATE_TYPE as unsigned char *. * regcomp.c: Remove unnecessary uses of unsigned RE_TRANSLATE_TYPE. * regex_internal.h: Likewise. * regex_internal.c: Likewise. * regexec.c: Likewise. Based on a patch by Stepan Kasal . 2005-09-07 Ulrich Drepper * regexec.c (find_recover_state): Remove unnecessary initialization. (transit_state_bkref): Make DFA a const pointer. (get_subexp): Likewise. (check_arrival): Likewise. (update_cur_sifted_state): Likewise. (re_search_internal): Likewise. (prune_impossible_nodes): Likewise. (acquire_init_state_context): Likewise. (proceed_next_node): Likewise. (set_regs): Likewise. (free_fail_stack_return): Likewise. (check_arrival_expand_ecl): Mark DFA parameter as const. (check_arrival_expand_ecl_sub): Likewise. (check_subexp_limits): Likewise. (sub_epsilon_src_nodes): Likewise. (add_epsilon_src_nodes): Likewise. (merge_state_array): Likewise. (update_regs): Likewise. (build_trtable): Likewise. (sift_states_backward): Mark MCTX parameter as const. (build_sifted_states): Likewise. (update_cur_sifted_state): Likewise. (sift_states_mkref): Likewise. (check_arrival_expand_ecl): Mark eclosure as const. (check_dst_limits_calc_pos_1): Likewise. * regex_internal.h (re_match_context_t): Make dfa a const pointer. 2005-09-06 Ulrich Drepper * regexec.c (merge_state_with_log): Define dfa as const pointer. (transit_state_sb): Likewise. (transit_state_mb): Likewise. (sift_states_iter_mb): Likewise. (check_arrival_add_next_nodes): Likewise. (check_node_accept_bytes): Change first parameter to pointer-to-const. [_LIBC] (re_search_2_stub): Use mempcpy. * regex_internal.c (re_string_reconstruct): Avoid calling mbrtowc for very simple UTF-8 case. * regex_internal.c (re_acquire_state): Make DFA pointer arg a pointer-to-const. (re_acquire_state_context): Likewise. * regex_internal.h: Adjust prototypes. * regex.c: Prevent using C++ compilers. * regex_internal.c (re_acquire_state): Minor code rearrangement. (re_acquire_state_context): Likewise. 2006-03-11 Eric Blake * same.c (same_name): s/base_name/last_component/ * backupfile.c (check_extension, numbered_backup): Likewise. * filenamecat.c (file_name_concat): Likewise. 2006-03-11 Eric Blake , Paul Eggert * dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4. [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a drive prefix. (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE. (last_component): New method. * dirname.c (dir_len): Determine when drive letters need a subsequent slash. Preserve // when it is special. (dir_name): Don't append dot when drive letter is absolute. [TEST_DIRNAME]: Move into a full-blown gnulib test. * basename.c (base_name): New semantics - malloc the result. Preserve // when it is special. Preserve relative files that look like drive letters. (base_len): Preserve // when it is special. (last_component): New method, similar to old base_name semantics. * stripslash.c (strip_trailing_slashes): Use last_component, not base_name. Strip redundant slashes from ///. 2006-03-19 Jim Meyering Work even in a chroot where d_ino values for entries in "/" don't match the stat.st_ino values for the same names. * getcwd.c (__getcwd): When no d_ino value matches the target inode number, iterate through all entries again, using lstat instead. Reported by Kenshi Muto in http://bugs.debian.org/355810, and by Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656. * getcwd.c (__getcwd): Clarify a comment. Use memcpy in place of a call to strcpy. 2006-03-16 Paul Eggert * regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Typedef to long int, not to off_, as POSIX will likely change in that direction. 2006-03-12 Jim Meyering * fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair matches that of the current directory (which we're about to chdir ".." out of), then save the dev-ino of the parent, instead. * same-inode.h (SAME_INODE): New file/macro. * chdir-safer.c (SAME_INODE): Remove definition. Include "same-inode.h", instead. * same.c: Likewise. * cycle-check.h: Include "same-inode.h". (CYCLE_CHECK_REFLECT_CHDIR_UP): Define. * cycle-check.c (SAME_INODE): Remove definition. * root-dev-ino.h: Include "same-inode.h". 2006-03-12 Paul Eggert * Makefile.am (libcoreutils_a_SOURCES): Remove time_r.c, time_r.h, as this is now done in m4. * time_r.h (asctime_r, ctime_r): Remove. These functions can overrun buffers and shouldn't be used (much as gets shouldn't be used). * time_r.c (asctime_r, ctime_r): Likewise. 2006-02-17 Simon Josefsson * base64.h, base64.c: New files. * Makefile.am (libcoreutils_a_SOURCES): Add base64.h and base64.c. 2006-02-20 Paul Eggert * getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where AT_FDCWD exceeds INT_MAX. * openat.h (AT_FDCWD): Likewise. 2006-02-17 Jim Meyering * openat.c: Include lstat.h, so that uses of lstat are converted to uses of rpl_lstat, e.g., on Solaris 9. Otherwise, programs like du (which now uses the openat-enabled fts and hence fstatat) would mistakenly fail to dereference a symlink-to-directory specified with a trailing slash. 2006-02-14 Paul Eggert * vasnprintf.c (VASNPRINTF): Rewrite the computation so that we need not use xsum. 2006-02-14 Bruno Haible Sync from gnulib. * vasnprintf.c (VASNPRINTF): In the computation of the size of the temporary buffer for sprintf, take into account the precision also for 'd', 'i', 'u', 'o', 'x', 'X'. 2006-02-14 Simon Josefsson Sync from gnulib. * getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set, for mingw32. * gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for mingw32). 2006-02-07 Paul Eggert * closeout.c (close_stdout): Don't assume 'bool' converts nonzero ints to 0 or 1, as this isn't true for the stdbool.h substitute. 2006-02-02 Jim Meyering Eliminate the unwelcome (albeit unlikely) possibility of xmalloc failure on deficient systems, and simplify gnulib lgpl dependencies. * lstat.c (rpl_lstat): Rewrite to use stat() in place of the xmalloc/lstat combination. Based on a patch from Bruno Haible. 2006-01-27 Paul Eggert * fnmatch.c (L_): Renamed from L, to work around a bug in Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in . All uses changed. 2006-01-26 Paul Eggert * stdbool_.h: Sync from gnulib. Use signed char with all non-GCC compilers. 2006-01-25 Paul Eggert * stdbool_.h: Merge from gnulib; we still don't quite match exactly, but we're getting closer. (true, false) [defined __BEOS__]: undef, as before. (_Bool) [!@HAVE__BOOL@ && defined __GNUC__]: Use an enum rather than a #define. 2006-01-25 Jim Meyering * fileblocks.c: Remove useless parentheses in cpp directive. * readutmp.h: Likewise. 2006-01-23 Paul Eggert Work around porting bugs reported by Dieter in . * getopt.c (_NOPROTO): Remove; no longer needed. Include and in all environments; it's safe now. Include "getopt.h" first, to check interface. (getenv): Declare only if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV. * strndup.c [!_LIBC]: Include "strndup.h" to get prototype. (__strndup): Revert to K&R-style function dfns, the glibc style. * strnlen.c: Don't claim it's taken from glibc; it's not. (strnlen, __strnlen): Remove #defines and #undefs; not needed. Include strnlen.h first, to get prototype properly. (strnlen): Renamed from __strnlen. Remove weak alias. 2006-01-23 Ulrich Drepper These changes imported from libc. * getopt.c: Use __fxprintf instead of inline stream orientation test and two separate function calls. * strndup.c (__strndup): Add libc_hidden_def. 2006-01-23 Jim Meyering * xalloc-die.c: Remove unused definition of N_. 2006-01-22 Paul Eggert * quotearg.c (quotearg_buffer_restyled): Add "default: break;" to pacify gcc -Wswitch-default. 2006-01-17 Jim Meyering Rewrite fts.c not to change the current working directory, by using openat, fstatat, fdopendir, etc.. * fts.c [! _LIBC]: Include "openat.h" and "unistd--.h". (HAVE_OPENAT_SUPPORT): Define. [_LIBC] (fchdir): Don't undef or define; no longer used. (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir. Now, this `function' always succeeds, and consumes its file descriptor parameter -- so callers must not close such FDs. Update callers. (diropen_fd, opendirat, cwd_advance_fd): New functions. (diropen): Add parameter, SP. Adjust all callers. Implement using diropen_fd, rather than open. (fts_open): Initialize new member, fts_cwd_fd. Remove fts_rft-setting code. (fts_close): Close fts_cwd_fd, if necessary. (__opendir2): Define in terms of opendir or opendirat, depending on whether the FST_NOCHDIR flag is set. (fts_build): Since fts_safe_changedir consumes its FD, and since this code must do `closedir(dirp)', dup the dirfd(dirp) argument, and close the dup'd file descriptor upon failure. (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat. (fts_safe_changedir): Tweak semantics to reflect that this function now calls cwd_advance_fd and hence consumes its FD argument. * fts_.h [struct FTS] (fts_cwd_fd): New member. [struct FTS] (fts_rft): Remove now-unused member. [struct FTS] (fts_cycle.state): Improve comment. * openat.c (openat_needs_fchdir): New function. * openat.h (openat_needs_fchdir): Declare it. 2006-01-12 Jim Meyering * stdint_.h: Remove useless parentheses in cpp directives, so that this file passes coreutils' `make syntax-check' tests. 2006-01-11 Paul Eggert * .cvsignore: Add stdint.h. * Makefile.am (BUILT_SOURCES, EXTRA_DIST, stdint.h, MOSTLYCLEANFILES): Add gnulib snippet. * md5.c: Fix commentary typos. (alignof, UNALIGNED_P): No need for a GCC-specific version. * md5.h (__attribute__): Remove; unused. * sha1.c, sha256.c, sha256.c: Fix commentary to match md5 better. * sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer, so that we don't need to worry about alignment. All uses changed. This merges the 2005-10-28 md5 change into sha1. * sha256.h (struct sha256_ctx): Likewise. * sha512.h (struct sha512_ctx): Likewise. * sha256.h: Include stdint.h rather than md5.h. * sha512.h: Include stdint.h uniformly, since we now have the stdint module. * stdint_.h: New file, from gnulib. 2006-01-11 Jim Meyering * fts.c (fts_stat): When following a symlink-to-directory, don't necessarily interpret stat-fails+lstat-succeeds as indicating a dangling symlink. That can also happen at least for ELOOP. The fix: return FTS_SLNONE only when the stat errno is ENOENT. FYI, this bug predates the inclusion of fts.c in coreutils. 2006-01-11 Jim Meyering * fts.c [!_LIBC]: Include "fcntl--.h", to map open to open_safer. (fts_open): Put new (2006-01-04) maxarglen declaration and uses in their own block, so pre-c99 compilers don't object. * openat.c (fchownat): New function. * openat.h (fchmodat, fchownat): Declare. (chmodat, lchmodat): Define convenience functions. (chownat, lchownat): Likewise. * fchmodat.c (fchmodat): New file and function. * md5.c (OP): Remove useless space-before-TAB. 2006-01-10 Paul Eggert * localcharset.c, md5.c, md5.h, savedir.c, savedir.h, sha1.c, sha1.h * strcasecmp.c, strncasecmp.c, verify.h, regex_internal.h: Sync from gnulib. * sha256.c, sha256.h, sha512.c, sha512.h: Replace all instances of md5_uint32_t with uint32_t, to accommodate gnulib change. 2006-01-10 Jim Meyering Avoid the double-free (first in fts_read, second in fts_close) that would occur when an `active' directory is made inaccessible (e.g., via chmod a-x) during a traversal. * fts.c (fts_read): After a failed fchdir, update sp->fts_cur before returning. Reproduce this failure by mkdir -p a/b; cd a; chmod a-x . b Reported by Stavros Passas. 2006-01-06 Jim Meyering * version-etc.c (COPYRIGHT_YEAR): Update to 2006. 2006-01-04 Paul Eggert * strftime.c (tzname): Don't declare if it is already #defined. Problem reported for Mingw by Mark Junker. 2006-01-04 Jim Meyering Merge from glibc. * fts.c (fts_open): Avoid function call in MAX macro use. 2006-01-03 Paul Eggert * xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use long int, not int, for nanosecond counts, so that people who are used to POSIX struct timespec won't be surprised. Reported by Jim Meyering. 2006-01-01 Paul Eggert * chmod-safer.c, chmod-safer.h: Remove. * lchmod.h: New file. * mkdir-p.c: Include lchmod.h, lchown.h. (make_dir_parents): Use lchown rather than chown, and lchmod rather than chmod. 2005-12-26 Paul Eggert * chdir-long.c (cdb_free): Don't bother trying to open directory for write access: POSIX says that must fail. * chdir-safer.c (chdir_no_follow): Likewise. * fts.c (diropen): Likewise. * save-cwd.c (save_cwd): Likewise. * chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as well, for minor improvements on hosts that lack O_DIRECTORY. * chmod-safer.c (defined_S_IFMT): New macro. Include stat-macros.h. Include stdlib.h, for abort(). Don't include stdio.h or assert.h; no longer needed. (same_file_type): Don't assume S_IFMT is defined, as POSIX does not require this. Don't assume S_IFCHR and S_IFBLK have their usual sort of bit pattern. (fchmod_new): Open with O_NOCTTY for as well, for minor improvement on hosts where that matters. Don't bother to assert, since the caller (in this source file) checks the same thing. Discard any errno from a close failure, for consistency with other code. * chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]: Don't try O_WRONLY unless O_RDONLY failed wth EACCES. Fall back on chown if open failed with EACCES. 2005-12-26 Jim Meyering * chdir-safer.c (chdir_no_follow): Move declaration of local, sb2, `down' into the scope where it is used. Note that on some systems this function also fails when DIR is a writable-yet-unreadable directory. 2005-12-25 Paul Eggert * chdir-safer.h (FCHMOD_SAFER_H): Remove: it was misnamed, and wasn't needed anyay. * chdir-safer.c (chdir_no_follow): Don't include stdio.h, assert.h, fcntl--.h; not needed. (O_DIRECTORY): Define if not already defined. (chdir_no_follow): Revamp describing comment to match code more closely. Redo use of internal vars to avoid lint complaints. Work even if directory is writeable but not readable. Open with O_DIRECTORY | O_NOCTTY, for benefit of hosts that don't have O_NOFOLLOW. Use O_NONBLOCK (POSIX spelling) rather than O_NDELAY. Don't bother invoking fstat if open does not dereference symlink, since the result isn't used then. Don't assume file descriptor is positive; it might be zero now that we no longer include fcntl--.h (we don't need fcntl--.h since we immediately close the descriptor). 2005-12-25 Jim Meyering * chdir-safer.c (chdir_no_follow): Remove unnecessary test of S_ISDIR (sb_init.st_mode). 2005-12-23 Jim Meyering * mkdir-p.c (make_dir_parents): Use chdir_no_follow only if we've just created the directory. * chdir-safer.c (chdir_no_follow): Rewrite to use fchdir even when O_NOFOLLOW is not defined. Suggested by James Youngman. * chmod-safer.c (O_NOFOLLOW): Define, if necessary. * chdir-safer.c (O_NOFOLLOW): Likewise. Reported by Eric Blake. 2005-12-22 Jim Meyering * openat.c: Include "fcntl--.h" and "unistd--.h", to map open and dup to open_safer and dup_safer, respectively. (openat_permissive): Fix typo in comment. 2005-12-21 Jim Meyering Like chdir(2), but safer, if possible. * chdir-safer.c, chdir-safer.h: New files. 2005-12-20 Jim Meyering * mkdir-p.c (RW_USR): Remove definition. (make_dir_parents): Use S_IRWXU, now that read access is also required. Avoid a race condition, on systems where open honors O_NOFOLLOW. * mkdir-p.c (make_dir_parents): Include chdir-safer.h. Use chdir_no_follow in place of chdir. * mkdir-p.c (make_dir_parents): Remove unnecessary casts of alloca, since now it's guaranteed to be (void *). * chmod-safer.c (fchmod_new): Don't try to close fd if it's < 0. 2005-12-19 Jim Meyering * chmod-safer.c, chmod-safer.h: New files. 2005-12-05 Andreas Gruenbacher Add POSIX ACL support * acl.h (copy_acl, set_acl): Add declarations. * acl.c (acl_entries): Add fallback implementation for POSIX ACL systems other than Linux. (chmod_or_fchmod): New function: use fchmod when possible, and chmod otherwise. (file_has_acl): Add a POSIX ACL implementation, with a Linux-specific subcase. (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and S_ISVTX from one file to another. Fall back to fchmod/chmod when acls are unsupported. (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and S_ISVTX to a defined value. Fall back to fchmod/chmod when acls are unsupported. 2005-12-16 Paul Eggert * openat.c: Don't include , , , "gettext.h"; either no longer needed or are guaranteed by openat.h. (_): Remove; no longer needed. (openat): Renamed from rpl_openat; no need for rpl_openat since openat.h renames openat for us. Replace most of the body with a call to openat_permissive, to avoid duplicate code. Port to (probably hypothetical) environments were mode_t is wider than int. (openat_permissive): Require mode arg, so that we can check types better. Put it just after flags. Change cwd failure indicator from pointer-to-bool to pointer-to-errno-value. All callers changed. Invoke openat_save_fail and/or openat_restore_fail if cwd_errno is null, so that openat can call us. (openat_permissive, fdopendir, fstatat, unlinkat): Simplify errno handling to avoid some duplicate code, as it's OK to set errno on success. * openat.h: Revamp code so that function macros depend on __OPENAT_PREFIX only, not also on AT_FDCWD. (openat_ro): Remove. Caller changed to use openat_permissive. (openat_permissive): Now a macro, if not a function. (openat_restore_fail, openat_save_fail): Now always functions, since mkdirat needs them even if __OPENAT_PREFIX is defined. 2005-12-14 Jim Meyering * Makefile.am (libcoreutils_a_SOURCES): Remove fprintftime.c and fprintftime.h. Now they're pulled in via the .m4 file. 2005-12-13 Paul Eggert * Makefile.am (stdbool.h): Resurrect the 'sed' that goes along with '#if !@HAVE_BOOL@". * stdbool_.h (_Bool): Resurrect the "#if !@HAVE__BOOL@" check, to work around compilers that have a (possibly-broken) _Bool but lack a working . 2005-12-07 Paul Eggert * stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3 porting problem reported by Georg Schwarz in . 2005-12-04 Jim Meyering * openat-priv.h (EXPECTED_ERRNO): Add ENOSYS, for Solaris 8. Paul Eggert reported that unlink/rmdir vs. e.g., /proc/self/fd/N/FILE fails with ENOSYS. This makes openat revert to using save-cwd.c functions in that case. 2005-12-01 Paul Eggert Sync from gnulib. * exclude.c: Include verify.h. (verify): Remove. All callers changed to use verify.h's version. * strtoimax.c: Likewise. * utimecmp.c: Likewis.e * obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't include ; no longer needed. 2005-12-01 Jim Meyering Sync from gnulib. * intprops.h (signed_type_or_expr__): Define. (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound for unsigned types. 2005-12-01 Jakub Jelinek and Ulrich Drepper Import from libc via gnulib. * obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf instead of inline stream orientation test and two separate function calls. Pay no attention to USE_IN_LIBIO. 2005-12-01 Roland McGrath Import from libc via gnulib. [BZ #1331] * obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed macro argument. Reported by Matej Vela . 2005-11-30 Jim Meyering * openat-priv.h: New file, defining macros used by mkdirat.c and openat.c. * mkdirat.c: Include openat-priv.h. Remove definitions of macros defined therein. * openat.c: Likewise. * mkdirat.c (mkdirat): New file and function. * openat.h (mkdirat): Declare. 2005-11-25 Paul Eggert * mountlist.c (ME_DUMMY): "none" and "proc" file systems are dummies too. Problem with "none" reported by Bob Proulx. Problem with "proc" reported by n0dalus. * mountlist.c: Include . (dev_from_mount_options) [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: New function. It no longer assumes "dev=" has the System V meaning on Linux (since it doesn't). It also parses "dev=" more carefully. (read_file_system_list) [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it. MOUNTED_GETMNTENT2 is new here; the code didn't used to look for dev= in that case. * Makefile.am (stdbool.h): Just copy stdbool_.h; no need to sed any more. * stdbool_.h: Simplify greatly, under the assumption that these days most people use C99-compatible compilers to debug, so it's not worth worrying about catering to older compilers for that. This works around some porting problems with HP-UX compilers. (false, true) [defined __BEOS__]: Don't #undef; no longer needed. (_Bool): typedef to bool if C++ or BeOS, and #define to signed char otherwise. * gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]: Report an error at compile-time if only a 1-second nominal clock resolution is found. 2005-11-23 Paul Eggert * Makefile.am (libcoreutils_a_SOURCES): Add buffer-lcm.c, buffer-lcm.h. * buffer-lcm.c, buffer-lcm.h: New files, from diffutils. 2005-11-23 Jim Meyering * openat.c (fdopendir): Don't change errno when returning non-NULL. 2005-11-22 Jim Meyering * openat.h (openat_permissive): Declare. (openat_ro): Define. * openat.c (EXPECTED_ERRNO): New macro. (openat_permissive): New function -- used in remove.c rewrite. (all functions): Set errno just before returning, only if there was an actual failure. Use EXPECTED_ERRNO rather than comparing against only ENOTDIR. 2005-11-20 Jim Meyering * euidaccess-stat.c: New file, mostly from euidaccess.c. * euidaccess-stat.h: New file. 2005-11-15 Paul Eggert * xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as coreutils no longer futzes with rounding modes. 2005-11-08 Eric Blake * getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS. 2005-11-13 Jim Meyering * mkstemp-safer.c: Include , required for possible replacement of mkstemp. 2005-11-12 Jim Meyering Emulate openat-family functions using Linux's procfs, if possible. Idea and some code based on Ulrich Drepper's glibc changes. * openat.c: (BUILD_PROC_NAME): New macro. Include , , "alloca.h" and "intprops.h". (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s, before falling back on save_cwd and restore_cwd. (fdopendir, fstatat, unlinkat): Likewise. 2005-11-11 Jim Meyering * openat.c (fstatat, unlinkat): Perform the syscall directly, skipping the save_cwd...restore_cwd overhead, if FILE is absolute. 2005-11-10 Paul Eggert * gethrxtime.c: Include "timespec.h" rather than the sys/time / time business. (gethrxtime) [! (HAVE_NANOUPTIME || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME) || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling our own approximation. 2005-11-01 Paul Eggert * posixtm.h (PDS_PRE_2000): New macro. * posixtm.c (year): Arg is now syntax_bits rather than allow_century. All usages changed. Reject dates outside the range 1969-1999 if PDS_PRE_2000 is used. 2005-10-30 Paul Eggert Fix porting problems reported by Theodoros V. Kalamatianos. * fd-reopen.c [defined HAVE_CONFIG_H]: Include , so that large files can be opened. * utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]: Don't assume that futimes failing means we must fail. 2005-10-29 Paul Eggert * getcwd.c (__getcwd): Don't assume that system calls after readdir leave errno alone. Problem reported by Dmitry V. Levin. 2005-10-28 Paul Eggert * savedir.c (savedir): Don't assume that xrealloc etc. leave errno alone. Problem reported by Frederic Jolliton. 2005-10-24 Jim Meyering * mkdir-p.c (make_dir_parents): Like the code above, don't rely on mkdir failing with a particular errno value (EEXIST). Based on a patch by Dmitry V. Levin. * mkdir-p.c (make_dir_parents): Make the preceding fix a little more robust, e.g., when the final component is created as a non- directory by another process just before `mkdir -p's final mkdir. A command like `mkdir -p nonexistent/.' would create the directory but exit nonzero with a diagnostic. This could also be triggered with a non-`.' component, e.g., in a race with another process running the same `mkdir -p nonexistent/sub' command. * mkdir-p.c (make_dir_parents): Handle the case of an existing final component. Reported by Matthias Andree here: http://savannah.gnu.org/bugs/?func=detailitem&item_id=14848 2005-10-23 Jim Meyering * sha512.h: Remove no-longer-relevant comment. 2005-08-27 David Madore * sha256.h, sha256.c, sha512.h, sha512.c: New files - sha-2 implementation. 2005-10-20 Jim Meyering * modechange.c (mode_compile): Reject an invalid mode string that starts with an octal digit. From Andreas Gruenbacher. 2005-10-13 Paul Eggert * mkdir-p.c (make_dir_parents): Don't report an error if an intermediate directory is in a read-only file system. Problem reported by Eric Blake. 2005-10-08 Jim Meyering * openat.c (rpl_openat): Use the promoted type (int), not mode_t, as second argument to va_arg. Otherwise, some versions of gcc warn that `if this code is reached, the program will abort'. Update from gnulib. * getdelim.c: (SIZE_MAX): New macro, if not already defined. 2005-10-05 Jim Meyering * Makefile.am (libcoreutils_a_DEPENDENCIES): Remove definition. Once it's gone, automake generates an equivalent one. Suggestion from Stepan Kasal. * getaddrinfo.h: Merge from gnulib. 2005-10-04 Jim Meyering Merge from gnulib. * getaddrinfo.h: Include sys/types.h before other headers. 2005-10-02 Paul Eggert * getdelim.c: Import from gnulib (to fix unused var warnings) then apply the following fixes: Include getdelim.h first. Include . (SSIZE_MAX): New macro, if not already defined. (getdelim): Fix buffer overrun on 64-bit hosts with lines longer than 2 GiB. 2005-10-01 Simon Josefsson * getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h. Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO. Protect AI_* and EAI_* definitions. Protect function declarations. 2005-09-29 Paul Eggert * openat.c (fdopendir): Do not define if HAVE_FDOPENDIR. Remove AT_FDCWD test. Do not consume the fd unless successful. * openat.h (fdopendir): Do not define if HAVE_FDOPENDIR. 2005-09-29 Paul Eggert * xtime.h (XTIME_PRECISION): Now of type int, not long long int, so that the code works even with ancient cpp. Portability problem with GCC 2.7.2.1 reported by Thomas M.Ott. * settime.c (settime): Fix { typo in previous patch. Also, don't bother returning ENOSYS if settimeofday or stime fails; just let them return whatever errno they want to return. 2005-09-29 Jim Meyering * settime.c (settime): Move the HAVE_STIME block `up' into an #elif block, so that we don't even try to compile it if settimeofday is available. This works around a compilation failure on OSF1 V5.1, due to stime requiring a `long int*' while tv_sec is `int'. 2005-09-27 Jim Meyering * fprintftime.c [HAVE_CONFIG_H]: Include conditionally, to be consistent with gnulib. * getcwd.c: Change #ifdefHAVE_CONFIG_H to #ifdef HAVE_CONFIG_H. * fts-cycle.c [HAVE_CONFIG_H]: Include . * strnumcmp.c [HAVE_CONFIG_H]: Include here, now that strnumcmp-in.h no longer includes it. 2005-09-26 Paul Eggert * utimens.c: Include unistd.h, for dup2. (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if. (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1. 2005-09-25 Jim Meyering * strnumcmp-in.h: Protect against multiple inclusion. 2005-09-24 Paul Eggert * utimens.c (ENOSYS): Define if not already defined. (futimens): Support having a null PATH if the file descriptor is nonnegative. * Makefile.am (libcoreutils_a_SOURCES): Remove mbchar.c, since it doesn't build in OpenBSD 3.4. See . * regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure): Remove. (__attribute): Define to empty unless GCC 3.1 or later. This works around a core dump on OpenBSD 3.4, which has GCC 2.95.3, which dumps core when given __attribute__(()). It also simplifies other tests, since we really don't want to bother with worrying about which ancient version of GCC supported what. Original problem reported by Yoann Vandoorselaere, with part of the fix suggested by Derek Price. 2005-09-24 Jim Meyering * openat-die.c, root-dev-ino.c, setenv.c, stdopen.c: * tsearch.c, unsetenv.c, xfts.c: Use `#ifdef HAVE_CONFIG_H', not `#if HAVE_CONFIG_H', for consistency with gnulib. * strintcmp.c: Include here, ... * strnumcmp-in.h: ..., not here. Sync from gnulib. * verify.h (verify_type__): Use `unsigned int' as the bitfield type so we can once again use a positive bitfield width of 1 -- now we don't have to explain why we were using a bitfield width of 2. 2005-09-23 Paul Eggert * utimens.c (futimens): Use futimesat if available. Prefer it to futimes since it doesn't have the futimes bug. * verify.h (GL_CONCAT0, GL_CONCAT): Remove. (verify): Don't use the __LINE__ trick, as it doesn't work in general. Instead, declare a function that returns a pointer to an array, and use verify_type__ to declare the size of the array. Problem and germ of a solution reported by Bruno Haible. (verify_type__): Use 2, not 1, for bitfield size, to avoid a warning with Irix 6.5 cc. Problem reported by Bruno Haible. 2005-09-23 Jim Meyering * strnumcmp-in.h: Include . Otherwise builds with strict C89 (e.g., Sun's /opt/SUNWspro/bin/c89) would fail due to the use of `inline'. 2005-09-22 Paul Eggert * getaddrinfo.c [HAVE_NETINET_IN_H]: Include . Problem reported by Eric Blake. (getaddrinfo): Initialize se so that it's not garbage. Redo internal storage allocation so that it doesn't make unportable assumptions about alignment. Fix a memory leak. 2005-09-21 Paul Eggert Sync from gnulib. * Makefile.am (libcoreutils_a_SOURCES): Add getaddrinfo.h, mbchar.c, mbchar.h, mbuiter.h, strcase.h, strlen1.c, strnlen1.h, strstr.h. * argmatch.h (GL_CONCAT): Remove. Include "verify.h" instead. (ARGMATCH_CONSTRAINT, ARGMATCH_ASSERT): Remove. (ARGMATCH_VERIFY): Rewrite in terms of new verify macros. * xalloc.h (VERIFY_EXPR, X2NREALLOC, X2REALLOC): Remove. The latter two macros are moving to ../src/system.h for now. This reverts this file to the gnulib version. * xanstrftime.c, xanstrftime.h: Remove; no longer used. * .cppi-disable: Add getaddrinfo.h, getdelim.h, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h. * canon-host.h, gai_strerror.c, getaddrinfo.c, getaddrinfo.h: * getdelim.c, getdelim.h, mbchar.c, mbchar.h, mbuiter.h: * strcase.h, strnlen.h, strnlen1.c, strnlen1.h, strstr.h: New files, from gnulib. * __fpending.c, __fpending.h, acl.c, argmatch.c, atexit.c: * backupfile.c, basename.c, calloc.c, canonicalize.c: * chdir-long.c, chown.c, cloexec.c, closeout.c, creat-safer.c: * cycle-check.c, dirfd.c, dirfd.h, dirname.c, dup-safer.c: * dup2.c, euidaccess.c, exclude.c, exitfail.c, fchown-stub.c: * fd-safer.c, file-type.c, fileblocks.c, filemode.c: * filenamecat.c, fnmatch.c, fopen-safer.c, free.c, fsusage.c: * ftruncate.c, full-write.c, getcwd.c, getcwd.h, getdate.h: * getgroups.c, getndelim2.c, getopt1.c, getopt_.h: * gettimeofday.c, getugroups.c, group-member.c, hard-locale.c: * hash-pjw.c, hash.c, human.c, human.h, idcache.c, inttostr.c: * inttostr.h, lchown.c, long-options.c, lstat.c, malloc.c: * memcasecmp.c, memchr.c, memcmp.c, memcoll.c, memcpy.c: * memmove.c, mkdir.c, mkstemp.c, mktime.c, modechange.c: * mountlist.c, nanosleep.c, open-safer.c, openat.c, physmem.c: * pipe-safer.c, posixtm.c, posixver.c, putenv.c, quote.c: * quotearg.c, raise.c, readlink.c, readtokens0.c, readutmp.c: * realloc.c, regex.c, regex_internal.h, rename.c, rmdir.c: * rpmatch.c, safe-read.c, same.c, save-cwd.c, savedir.c: * settime.c, sig2str.c, strcspn.c, stripslash.c, strndup.c: * strnlen.c, strtod.c, strtoimax.c, strtol.c, strverscmp.c: * tempname.c, time_r.c, time_r.h, timespec.h, unicodeio.h: * unistd--.h, unlinkdir.c, userspec.c, utimecmp.c: * version-etc-fsf.c, version-etc.c, xalloc-die.c, xgetcwd.c: * xgethostname.c, xmalloc.c, xmemcoll.c, xnanosleep.c: * xreadlink.c, xstrndup.c, xstrtoimax.c, xstrtol.c: * xstrtoumax.c, yesno.c: Sync from gnulib. * canon-host.c, getline.c, getline.h, getpass.c, strcasecmp.c: * strncasecmp.c, strstr.c: Nontrivial sync from gnulib. * .cvsignore: Sort entries. * mkdir-p.c (ENOSYS): Define to EEXIST if not defined. (make_dir_parents): Treat ENOSYS like EEXIST. 2005-09-20 Jim Meyering * openat.c (fdopendir): Be sure to close the supplied file descriptor before returning. This makes our replacement implementation a little closer to Solaris's, where fdopendir ties the file descriptor to the returned DIR* pointer. 2005-09-19 Jim Meyering * openat.c (unlinkat): New function. * openat.h (unlinkat): Add prototype. 2005-09-16 Paul Eggert Import from gnulib. * stat-time.h: New file. * timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP): (MTIME_CMP, TIMESPEC_NS): Remove. Now done by stat-time.h, in a different way. (timespec_cmp): New function. * utimecmp.c: Include stat-time.h. (SYSCALL_RESOLUTION): Depend on whether various struct stat members exist, not on the obsolescent ST_MTIM_NSEC. (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS. * .cppi-disable: Add stat-time.h. 2005-09-16 Jim Meyering * strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface: size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm, int utc, int nanoseconds); Background: date should not have to allocate a megabyte of virtual memory to handle a format argument like +%1048575T. When implemented with strftime, it must allocate such a buffer, use strftime to fill it in, print it, then free it. With fprintftime, it simply prints everything and exits. With no need for memory allocation, that's one fewer way to fail. * fprintftime.c, fprintftime.h: New files. * Makefile.am (libcoreutils_a_SOURCES): Add fprintftime.c and fprintftime.h. 2005-09-15 Paul Eggert * strftime.c (my_strftime): Rewrite the previous change slightly, to make it a bit faster and (I hope) clearer. 2005-09-14 Jim Meyering * strftime.c (my_strftime): Parse the colons of %:::z *after* the optional field width, not before, so we accept %9:z, not %:9z. (my_strftime): Be sure to use L_('x') for literals. 2005-09-13 Paul Eggert Merge md5 from libc, and clean up some sha1 glitches. * md5.h (__GNUC_PREREQ, __THROW, __attribute__): New macros. (__md5_buffer): Renamed from md5_buffer. Add a macro undoing this if _LIBC is not defined. Add __THROW. (__md5_finish_ctx, __md5_init_ctx, __md5_process_block): (__md5_process_bytes, __md5_read_ctx, __md5_stream): Likewise. (struct md5_ctx): Mark buffer as being aligned. (rol): Remove; all uses changed to CYCLIC. * md5.c (CYCLIC): New macro. All uses of rol changed to use CYCLIC. Redo comment to minimize changes from libc. * sha1.h (struct sha1_ctx): Mark buffer as being aligned. * sha1.c (SWAP): Renamed from NOTSWAP, to avoid a horrible misnaming. All uses changed. Remove the old SWAP. Remove obvious comment about BLOCKSIZE. (rol): New macro, moved here from md5.h. (sha1_process_block): Remove an incoherent FIXME comment. * strftime.c (my_strftime): Add support for %:z, %::z, %:::z. Fix bug in formats like %2N. 2005-09-13 Jim Meyering * xalloc.h: Revert unintended change that removed definitions of X2REALLOC and X2NREALLOC. * backupfile.c: Use ARGMATCH_VERIFY, just in case. 2005-09-09 Paul Eggert * regcomp.c, regex.c, regex.h, regex_internal.c, regex_internal.h: * regexec.c: Import from gnulib, to fix some 64-bit bugs. 2005-09-06 Paul Eggert * verify.h (__builtin_constant_p): Remove, undoing previous change. (verify_type__): Solve the problem by using a bit-field rather than an array. 2005-09-05 Jim Meyering * verify.h (__builtin_constant_p) [__GNUC__ <= 2]: Define to 1. (verify_type__) [verify_error_if_non_const__]: New member/test, to help detect when verify or verify_expr is mistakenly passed a non-constant argument within a function. 2005-08-31 Jim Meyering * quotearg.c (quotearg_n_options): Change code to be suboptimal, in order to avoid an unsuppressible warning from gcc on 64-bit systems. * localcharset.c (get_charset_aliases): Add `void' in parameter list to placate gcc's -Wstrict-prototypes. 2005-08-27 Jim Meyering * md5.c: Use `#error' rather than a string literal to provoke failure. * sha1.c: Likewise. 2005-08-25 Jim Meyering * open-safer.c: Include . Otherwise, we'd lose LARGEFILE support in any file using e.g. "fcntl--.h" 2005-08-24 Jim Meyering * stdopen.c (stdopen): Revert to iterating over descriptors, but rather than using fstat, use fcntl with its F_GETFD flag, which is more efficient. Unlike the 2-syscall dup-close approach, this one doesn't apply any unnecessary pressure on the file descriptor pool -- thus there is one fewer way to fail. 2005-08-23 Jim Meyering * regcomp.c, regex.c, regex.h, regex_internal.c: Update from gnulib. * regex_internal.h, regexec.c: Likewise. 2005-08-19 Jim Meyering * stdopen.c (stdopen): Return `bool' so caller can detect failure. 2005-08-17 Jim Meyering Make the %s format (seconds since the epoch) work for a negative number and when used with a zero-padded field width, e.g. %015s. * strftime.c (my_strftime): Move the `do_number_sign_and_padding' label so that it precedes the code to set `digits'. Otherwise, %0Ns wouldn't work. Before this change, `date -d @-22 +%05s' would print `00-22'. Now, it prints `-0022', as it should. 2005-08-15 Bruno Haible Import from gnulib. * regex.h (__restrict_arr): Don't define to __restrict if __cplusplus is defined. 2005-08-13 Jim Meyering * getdate.y (get_date): Undo part of the 2005-04-04 change, so that the command "date -d'2005-03-27 +1 day'" succeeds once again, even when run in a time zone for which daylight savings time is in effect for the starting date. 2005-08-12 Jim Meyering * regcomp.c (duplicate_node) [lint]: Set *new_idx to -1, to avoid warnings (unfounded) in caller that it may be used uninitialized. * regex.c (IF_LINT): Define. * regex_internal.c (re_string_realloc_buffers): Rename local-shadowed variable: s/new_array/offsets/. (re_acquire_state) [lint]: Set *err, to avoid warnings in caller. * regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration of unused local, dfa. (proceed_next_node): Remove outer declaration and unnecessary initialization of local-shadowed `dest_node'. Declare it in inner scopes, nearer its uses instead. * regex.h (RE_SYNTAX_POSIX_AWK): Remove useless space-before-TAB. * fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir): Use the hash-table-based cycle-detection code not just when FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL. Reported by James Youngman in . * fts_.h: Mention that with FTS_LOGICAL, we use FTS_TIGHT_CYCLE_CHECK. * fts.c (fts_cross_check) [FTS_DEBUG]: s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG, once again. 2005-08-02 Jim Meyering * xanstrftime.c, xanstrftime.h: New files. 2005-07-21 Paul Eggert * getdate.y (relative_time): New type. (RELATIVE_TIME_0): New constant. (parser_control): Use relative_time instead of doing it ourselves. (%union): Add new relative_time rel member. (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT): Now typeless. (relunit, relunit_snumber): Now of type rel. (zone, rel, relunit, get_date): Adjust to above changes. 2005-07-12 Jim Meyering * xalloc.h (X2NREALLOC): Define. 2005-07-11 Paul Eggert * verify.h (verify_expr): Use ((verify_type__ (R) *) 0), not sizeof (verify_type__ (R)), to pacify C++ compilers. Problem reported by Bruno Haible. * version-etc-fsf.c (version_etc_copyright): Parameterize the copyright symbol and the year. * version-etc.c (COPYRIGHT_YEAR): New constant. (version_etc_va): Use parameterized copyright notice. Reword to conform to the current GNU coding standards. 2005-07-08 Eric Blake (tiny change) * getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin. [__linux__]: Allocate a big enough buffer for /proc/loadavg. [!LDAV_DONE]: Avoid unused variable warning. 2005-07-08 Eric Blake (tiny change) and Paul Eggert * regcomp.c (init_dfa, build_range_exp): Store __btowc value in wint_t, not wchar_t. Remove now-unnecessary cast. 2005-07-07 Paul Eggert Switch to Isamu Hasegawa's implementation of regex, which is now in gnulib. * regcomp.c, regex_internal.c, regex_internal.h, regexec.c: New files, from gnulib. * regex.h, regex.c: Sync from gnulib. * Makefile.am (libcoreutils_a_SOURCES): Remove regex.h; gnulib now does this automatically for us. * .cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h. 2005-07-04 Paul Eggert * verify.h (GL_CONCAT0, GL_CONCAT): Define unconditionally; don't depend on whether verify_decl is defined. (verify): Renamed from verify_decl. All uses changed. Use an extern function decl, as it can't possibly collide with other decls. (verify_expr): Renamed from verify. All uses changed. (verify_type__): New private macro. (verify, verify_expr): Use it. 2005-07-04 Jim Meyering * verify.h (verify, verify_decl): New file/macros. * Makefile.am (libcoreutils_a_SOURCES): Add verify.h here, temporarily. Eventually, it'll be pulled in via AC_LIBSOURCES. * argmatch.h (verify_dcl): Rename from VERIFY. Update use. 2005-07-03 Paul Eggert Remove the dependency of the strftime module on the tzset module. * strftime.c (my_strftime) [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]: Copy the input structure, to work around some of the bug with Solaris 2.5.1 and Solaris 2.6. 2005-07-03 Jim Meyering * posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just the .tm_year member, since otherwise gcc-4.0 would now warn about tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday. 2005-07-03 Paul Eggert * Makefile.am (libcoreutils_a_SOURCES): Undo previous change. * Makefile.am (libcoreutils_a_SOURCES): Add fcntl--.h, stdio--h, stdlib--.h, unistd--.h. * fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own. * lstat.c: Sync from gnulib. * lstat.h: New file, from gnulib. * stat.c: Remove. 2005-07-03 Jim Meyering * fd-reopen.c: Include for declaration of close. 2005-07-02 Paul Eggert Cleanup to isolate "safer" functions to a small part of the code. * fcntl--.h, stdio--.h, stdlib--.h, unistd--.h, fcntl-safer.h: * open-safer.c, stdlib-safer.h, mkstemp-safer.c, fd-reopen.h: * fd-reopen.c: New files. * fopen-safer.c: Include stdio-safer.h first, to check interface. Don't bother including stdio.h, since stdio-safer.h does. * fts.c (fd_safer): Remove decl. Include fcntl--.h rather than unistd-safer.h (fts_safe_changedir): Don't call fd_safer; no longer needed now that we include fcntl--.h. * getloadavg.c: Include fcntl--.h rather than fcntl.h. Do not include unistd-safer.h. (getloadavg): Don't call fd_safer; no longer needed now that we include fcntl--.h. * getusershell.c: Include stdio--.h rather than stdio.h and stdio-safer.h. (getusershell): Call fopen, not fopen_safer. * save-cwd.c: Include fcntl--.h rather than fcntl.h. Do not include unistd-safer.h. (save_cwd): Don't call fd_safer; no longer needed now that we include fcntl--.h. 2005-07-02 Jim Meyering * getopt_.h: Assume HAVE_UNISTD_H, i.e., include unconditionally. * fnmatch.c: Update from gnulib. * backupfile.c, canon-host.c, canonicalize.c, chown.c, cloexec.c: * dup-safer.c, dup2.c, euidaccess.c, fd-safer.c, fileblocks.c: * fopen-safer.c, fsusage.c, ftruncate.c, getcwd.c, getcwd.h: * getloadavg.c, getopt_.h, getpagesize.h, getugroups.c, group-member.c: * human.h, idcache.c, mkdir-p.c, mountlist.c, nanosleep.c, pathmax.h: * physmem.c, posixver.c, putenv.c, raise.c, safe-read.c, same.c: * save-cwd.c, setenv.c, settime.c, tempname.c, unlinkdir.c: * unsetenv.c, userspec.c, xgethostname.c, xreadlink.c: Assume HAVE_UNISTD_H, i.e., include unconditionally. 2005-07-01 Jim Meyering * chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c: * getloadavg.c, mountlist.c, openat.h, save-cwd.c, tempname.c: Assume HAVE_FCNTL_H (i.e., include unconditionally, and don't include ). 2005-07-01 Paul Eggert * xnanosleep.c: Include timespec.h, since OpenBSD 3.4 declares only 'struct timespec;' (!). 2005-06-30 Jim Meyering * stdopen.c: Add copyright. Include and unconditionally -- it seems to be ok to do this, these days. * stdopen.c: Rewritten by Paul Eggert. Now, the minimum overhead is just two system calls: dup and close. * stdopen.c: New file. As yet unused. The minimum overhead is three fstat calls. * stdopen.h: New file. * argmatch.h [!VERIFY] (VERIFY): Define. (ARGMATCH_VERIFY): Use it, so this macro may be used more than once in any given scope. * xalloc.h (VERIFY_EXPR): Undef before defining, and add a comment. 2005-06-29 Jim Meyering * mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded type name. Use the variable name instead. * idcache.c (getuser, getuidbyname, getgroup, getgidbyname): Likewise. * xalloc.h (VERIFY_EXPR): Define. (X2REALLOC): New macro, to make using x2realloc a little safer. 2005-06-26 Jim Meyering * Makefile.am (libcoreutils_a_SOURCES): Remove diacrit.c and diacrit.h. 2005-06-25 Jim Meyering * Makefile.am (libcoreutils_a_SOURCES): Remove root-dev-ino.c and root-dev-ino.h. (libcoreutils_a_SOURCES): Remove dev-ino.h too, now that we get it via root-dev-ino.m4 (libcoreutils_a_SOURCES): Remove version-etc.c version-etc.h and version-etc-fsf.c. 2005-06-24 Paul Eggert * canon-host.c (canon_host) [HAVE_GETADDRINFO]: Use `= { 0, };' to initialize local `hint'. This undoes the previous change, and syncs with gnulib. 2005-06-23 Jim Meyering * Makefile.am (libcoreutils_a_SOURCES): Remove xreadlink.c and xreadlink.h. (libcoreutils_a_SOURCES): Remove xstrtod.c and xstrtod.h. * backupfile.c (backup_args): Change a `0' to NULL. 2005-06-22 Paul Eggert * mktime.c: Include even if !DEBUG. (From glibc.) (ranged_convert): Don't save conversion in a temporary struct. This causes a warning with GCC 4.0.0, and anyway in the typical case it's not worth the extra 100 bytes or so of code. (ranged_convert, __mktime_internal): When calling a function via a pointer P, use P () rather than (*P) (), as we now assume C89 or better. * readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and "who -r" failed to give output. Problem reported by Tim Waugh. 2005-06-22 Jim Meyering * xmalloc.c: Update from gnulib. 2005-06-19 Jim Meyering * Makefile.am (libcoreutils_a_SOURCES): Remove xgetcwd.c, xgetcwd.h, xfts.c and xfts.h. 2005-06-16 Jim Meyering * calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1) when either N or S is zero. 2005-06-15 Jim Meyering * mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD) stop us from restricting permissions of just-created absolute-named directories. 2005-06-14 Paul Eggert Improve quality of diagnostics on restore_cwd failure. * mkdir-p.h (make_dir): Remove. All uses replaced by mkdir. (make_dir_parents): Last arg is now int * (for errno), not bool *. * mkdir-p.c (make_dir, make_dir_parents): Likewise. Rewrite "mkdir -p" algorithm to avoid the need for "stat" each time through the loop. Do not diagnose restore_cwd failure; that is the caller's job (and perhaps the caller does not care). * mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove. (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP. If the file already exists but is not a directory, don't bother to try to make its parents. Close potential file descriptor leak if we can't chdir("/") (!). Don't always return true if chdir($PWD) fails; return true only if the requested action was done successfully (except for the chdir($PWD)). Don't log final directory unless we actually made it. Refactor to avoid duplicate code to fix up permissions. Don't attempt to fix up parent permissions if chdir($PWD) fails. 2005-06-14 Jim Meyering * openat-die.c (openat_save_fail): Rename from openat_save_die. (openat_restore_fail): Rename from openat_restore_die. * openat.c, openat.h: Reflect s/_die/_fail/ renaming. * mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing to restore initial working directory. Provide an alternative to exiting immediately upon save_cwd or restore_cwd failure. Now, an application can arrange e.g., to perform a longjump in that case. * openat.c: Include dirname.h. Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash. (rpl_openat, fdopendir, fstatat): Call openat_save_die and openat_restore_die rather than calling error directly. Don't include "error.h" or "exitfail.h"; they're no longer needed. * openat-die.c (openat_save_die, openat_restore_die): New file. * openat.h (openat_save_die, openat_restore_die): Declare and define. 2005-06-13 Jim Meyering * mkdir-p.c (make_dir_parents): New parameter: different_working_dir, to tell caller if/when we change the working directory and are unable to return to the initial one. * mkdir-p.h (make_dir_parents): Update prototype. 2005-06-12 Jim Meyering * mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to `return false'. This fixes a bug introduced on 2004-07-30. 2005-06-01 Paul Eggert Use "file name" when talking about file names, instead of "filename" or "path", as per the GNU coding standards. * mkdir-p.c: Renamed from makepath.c. (make_dir_parents): Renamed from make_path. All callers changed. * mkdir-p.h: Likewise. All includers changed. * filenamecat.c: Renamed from path-concat.c. (file_name_concat): Renamed from path_concat. All callers changed. [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT. * filenamecat.h: Likewise. All includers changed. * acl.c: Don't use "path" or "filename" to mean "file name" in comments or local variable names. * basename.c: Likewise. * canonicalize.c, canonicalize.h: Likewise. * dirname.c, dirname.h: Likewise. * euidaccess.c: Likewise. * exclude.c: Likewise * fnmatch_.h, fnmatch_loop.c: Likewise. * fsusage.c, fsuage.h: Likewise. * fts.c, fts_.h: Likewise. * getcwd.c: Likewise. * getloadavg.c: Likewise. * mkstemp.c: Likewise. * mountlist.c, mountlist.h: Likewise. * openat.c, openat.h: Likewise. * readlink-stub.c: Likewise. * readutmp.c, readutmp.h: Likewise. * rename.c: Likewise. * rmdir.c: Likewise. * same.c: Likewise. * savedir.c: Likewise. * stripslash.c: Likewise. * tempname.c: Likewise. * xreadlink.c: Likewise. * exclude.c (excluded_file_name): Renamed from excluded_filename. All uses changed. * exclude.h: Likewise. 2005-05-30 Paul Eggert * euidaccess.c (getuid, getgid, getuid, getegid) [!defined _POSIX_VERSION]: Remove decls; not needed these days. * idcache.c (getpwuid, getpwnam, getgrgid, getgrnam) [!defined _POSIX_VERSION]: Remove decls; not needed these days. * pathmax.h: Include unconditionally, since other files have been getting away with it for years (MORE/BSD 4.3 is extinct now). * userspec.c (getpwnam, getgrnam, getgrgid) [!defined _POSIX_VERSION]: Remove decls; not needed these days. 2005-05-29 Paul Eggert * pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]: Define to 256, not 255, as per modern POSIX. 2005-05-27 Paul Eggert * fts.c: Don't worry about debugging on pre-C99-comopatible hosts; the configuration hassle isn't worth it. Include inttypes.h and stdint.h unconditionally if FTS_DEBUG. (LONGEST_MODIFIER, PRIuMAX): Remove. * strnumcmp.c, strnumcmp.h, strnumcmp-in.h, strintcmp.c: New files. 2005-05-22 Paul Eggert * fts.c (fd_safer) [_LGPL_PACKAGE]: New static function, so that unistd-safer.h (GPL'ed code) need not be included. 2005-05-20 Paul Eggert Split the fts code into GPL'ed and LGPL'ed parts, and fix some minor memory-allocation bugs. * fts.c: Don't include "cycle-check.h" or "hash.h". (setup_dir, free_dir): New functions. (enter_dir, leave_dir): Define trivial alternatives of _LGPL_PACKAGE. Move to fts-cycle.c if !_LGPL_PACKAGE. (HT_INITIAL_SIZE, ENTER_DIR): Remove. All uses removed. (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir. (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir): Move to fts-cycle.c. (fts_open): Use setup_dir. (fts_close): Use free_dir. (fts_read): Have just one copy of the ENTER_DIR code rather than three. This adds a label and some gotos, but the alternatives were messier. Check for memory allocation failure when entering a dir. (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code. * fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro. (FTS): New member fts_cycle, that is a union that contains the old active_dir_ht and cycle_state. All uses changed to mention fts_cycle.ht and fts_cycle.state. * fts-cycle.c: New file, containing GPL'ed code migrated out of fts.c, with the following changes: (setup_dir, free_dir): New functions. (enter_dir): Now returns bool. Return true if successful, false if memory exhausted. All callers changed. Do not bother partly cleaning up on memory allocation failure; that is free_dir's job. However, free ad if hash_insert fails, to avoid memory leak. (enter_dir, leave_dir): Accommodate change to FTS by inspecting fts->fts_options to see which union member to use. 2005-05-20 Eric Blake (tiny change) * chown.c (rpl_chown): Return -1 on failure. 2005-05-20 Jim Meyering * fts.c (fts_open): Remove useless but otherwise harmless malloc call. Spotted by Paul Eggert. 2005-05-19 Jim Meyering * unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]: Use #define rather than a static function, to avoid a warning when the function was not used. 2005-05-18 Paul Eggert * canonicalize.c: Include canonicalize.h first, to test interface. Include unconditionally, since we assume C89 now. All uses of PTR_INT_TYPE replaced by ptrdiff_t. * fts.c: Include fts_.h first, to check interface. Do not include intprops.h; no longer needed. Include cycle-check.h and hash.h, since fts_.h no longer does. Remove unnecessary casts of closedir to void. (fts_build): Use a simpler method (not involving TYPE_SIGNED) to decide whether to decrement nlinks. * fts_.h: Do not include hash.h or cycle-check.h; no longer needed. (FTS): Use struct hash_table * instead of Hash_table, so that we no longer need to include hash.h here. 2005-05-14 Paul Eggert * unlinkdir.c, unlinkdir.h: New files. 2005-05-14 Jim Meyering * unlocked-io.h, gethrxtime.c, gethrxtime.h, mountlist.h, * xtime.h, path-concat.c: Correct cpp indentation. 2005-05-14 Jim Meyering Update FSF postal mail address everywhere. 2005-05-09 Paul Eggert * fts_.h (FTS): Use correct type for fts_compar member. (FTSENT): New member fts_fts. Remove members fts_ino, fts_dev, fts_nlink; no longer needed now that fts_statp is always there. All uses changed to use fts_statp instead. * fts.c (__P): Remove. All uses rewritten to assume C89 or better. (fts_open): Don't cast a function value in a possibly-unsafe way. (fts_compar): New function. (fts_sort): Use it. But optimize the common case where all pointers smell the same. 2005-05-08 Paul Eggert * yesno.c: Include getline.h, not ctype.h. (yesno): Don't remove leading white space; POSIX doesn't allow it. Use getline to remove arbitrary restriction on response length. 2005-05-05 Paul Eggert * makepath.c (make_path): chdir to "//", not "/", if the file name starts with exactly two slashes. This doesn't solve the problem in general but it's better than nothing. Problem reported by Pierre A. Humblet via Eric Blake. 2005-05-01 Paul Eggert * modechange.h (mode_free): Remove; all callers changed to invoke 'free'. * modechange.c: Likewise. xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed. (MODE_DONE): New constant. (struct mode_change): Remove 'next' member. (make_node_op_equals): New function; like the old one of the same name, except it allocates an array. (mode_compile, mode_create_from_ref): Use it. (mode_compile): Allocate result as an array, not a linked list. Parse octal string ourself, so that we catch mistakes like "+0". (mode_adjust): Arg is an array, not a linked list. * mbswidth.c, regex.c, strtol.c: Sync from gnulib. 2005-04-28 Paul Eggert * tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove. [!_LIBC] Include "stat-macros.h" instead. * file-type.c: Include file-type.h first. * filetype.h: Don't assume was included first. * modechange.c: Include stat-macros.h, xalloc.h. (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR): (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU): (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS): Remove. This is now stat-macros.h's job. (talloc): Remove. All callers replaced by xalloc, so that our invokers don't have to worry about reporting memory failures. (make_node_op_equals): Remove. (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING): New constants. (struct mode_change): Moved here from modechange.h. (mode_append_entry): Remove. (mode_compile): Remove MASKED_OPS arg, since it encouraged apps to have incorrect behavior. Use simpler algorithm for head and tail. Don't futz with umask; that's now the job of mode_adjust. Detect more invalid usages rather than having somewhat-random behavior. Don't insert an "a=" action, as that leads to incorrect behavior. (mode_compile, mode_create_from_ref): Return NULL on error instead of an enum, since now there's only one way to have an error. All callers changed. (mode_adjust): Accept new arg UMASK_VALUE, and interpret it at the correct time. Simplify calculation of "+u" and its ilk. Don't mishandle "+X". (mode_free): Remove "register" and localize decls. * modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING): (struct mode_change): Move to modechange.c; callers don't need to see this stuff. (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL): (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove. (mode_change, mode_adjust): Reflect the new signatures noted above. 2005-04-18 Paul Eggert * Makefile.am (noinst_LIBRARIES): fetish -> coreutils. (libcoreutils_a_SOURCES): Renamed from libfetish_a_SOURCES. All uses changed. (libcoreutils_a_LIBADD): Renamed from libfetish_a_LIBADD. All uses changed. (libcoreutils_a_DEPENDENCIES): Renamed from libfetish_a_DEPENDENCIES. All uses changed. * chdir-long.c: fetish->coreutils in comment. * t-chdir-long: fetish->coreutils in compilation command. 2005-04-13 Paul Eggert * getdate.y (zone): Allow relunit_snumber after tZONE, so that "UTC +1 second" continues to work. Problem reported by Dmitry V. Levin. (relunit_snumber): New rule. (relunit): Use it. 2005-04-12 Paul Eggert * getdate.y (universal_time_zone_table): New constant. (time_zone_table): Remove GMT, UT, UTC entries; they're now in universal_time_zone_table. (lookup_zone): Prefer universal_time_zone_table to local_time_zone_table, so that "GMT" time stamps are allowed in London during the summer. Problem reported by Ian Abbott. 2005-04-11 Paul Eggert Add bulletproofing for cases where stdin, stdout, or stderr are closed. * fcntl-safer.h, open-safer.c: Remove. * fd-safer.c: New file. * dup-safer.c: Include unistd-safer.h first, to test interface. (dup_safer) [!deefined F_DUPD]: Use new fd_safer function instead of rolling our own code. * fts.c: Include unistd-safer.h. (fts_safe_changedir): Use fd_safer. * getloadavg.c: Include unistd-safer.h. (getloadavg): Use fd_safer. * getusershell.c: Include stdio-safer.h. (getusershell): Use fopen_safer. * save-cwd.c: Include unistd-safer.h. (save_cwd): Use fd_safer. * unistd-safer.h (fd_safer): New decl. * Makefile.am (libfetish_a_SOURCES): Remove dup-safer.c, fcntl-safer.h, fopen-safer.c, open-safer.c, stdio-safer.h, unistd-safer.h. 2005-04-09 Jim Meyering * fts.c (__attribute__, ATTRIBUTE_UNUSED): Define. Mark parameter `sp' with ATTRIBUTE_UNUSED. Avoid warnings from gcc-4. * canon-host.c (canon_host) [HAVE_GETADDRINFO]: Use memset rather than `= { 0 };' to initialize local `hint'. * unicodeio.c (__attribute__, ATTRIBUTE_UNUSED): Define. (exit_failure_callback, fallback_failure_callback): Mark unused parameters with ATTRIBUTE_UNUSED. * posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's -Wuninitialized: initialize tm0.tm_year. * human.c (humblock): Set *options even when returning due to xstrtoumax conversion failure. Thanks to a used-uninitialized warning from gcc-4. 2005-04-08 Paul Eggert * nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros that might redefine system include files. (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro. (my_usleep): Use NULL rather than (void *) 0. (rpl_nanosleep) [!defined SA_NOCLDSTOP]: Use siginterrupt to specify that system calls should be interrupted. (rpl_nanosleep): Move initialization of suspended closer to call of my_usleep. 2005-04-04 Paul Eggert * getdate.y (parser_control): rels_seen is now a boolean, not a count, since there's no maximum. All uses changed. Add member dsts_seen. (local_zone): Accumulate dsts_seen rather than relying on tm_isdst not being INT_MAX. (get_date): Initialize dsts_seen, and check that it doesn't go over 1. Use pc_rels_seen to decide whther a date is absolute. * getdate.y (number): Don't overwrite year. (get_date): Initialize pc.year.digits to 0, not 4, to enable above check. 2005-03-30 Paul Eggert * readutmp.h (read_utmp): New arg OPTIONS. All uses changed. * readutmp.c: Likewise. Include signal.h, stdbool.h. (desirable_utmp_entry): New function. (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation using x2nrealloc, to simplify logic. (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in size calculation. Do not assume utmp file is a regular file. * readutmp.h (UT_PID): Moved here from ../src/who.c. (READ_UTMP_CHECK_PIDS): New constant. 2005-03-29 Jim Meyering * long-options.c (long_options): Use NULL, not `0'. 2005-03-27 Jim Meyering * argmatch.c: Clarify comment: null-terminated -> NULL-terminated. 2005-03-26 Paul Eggert * intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): "one's complement" -> "ones' complement" in comment, as per Knuth. "value of type" -> "type or expression" in comment. * mktime.c, strftime.c: Propagate intprops.h comment nits. 2005-03-26 Jim Meyering Comment nits. * intprops.h: Add the apostrophe in `(one|two)'s complement'. Correct typos: s/or/of/. 2005-03-23 Jim Meyering * canonicalize.c: Remove duplicate `#include "stat-macros.h"'. 2005-03-21 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Remove stat-macros.h, xstrtoul.c, as they are now done by Autoconf macros. 2005-03-20 Paul Eggert * gettext.h, regex.c, setenv.c, vasprintf.c: Sync from gnulib. * vasnprintf.c (EOVERFLOW): Define if not already defined. This merges a change from gnulib. 2005-03-18 Paul Eggert * strftime.c (my_strftime): If the underlying strftime returns 0 (which shouldn't happen), generate nothing instead of returning 0 immediately, so that nstrftime (NULL, ...) doesn't return 0. 2005-03-15 Paul Eggert * strftime.c (my_strftime): Prepend space to format so that we can reliably distinguish strftime failure from empty output on POSIX hosts. 2005-03-14 Paul Eggert * mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from intprops.h. * strtol.c: Likewise. 2005-03-14 Jim Meyering * strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[] to be nonzero so that we (and caller) can detect the difference between a valid zero-length expansion and an error return, even when the underlying strftime fails before writing anything into that location. 2005-03-11 Jim Meyering * getdate.c: Regenerate using bison-2.0. 2005-03-10 Jim Meyering * save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long so that this module works on systems without fchdir. * Makefile.am (libfetish_a_SOURCES): Remove xstrtol.c and xstrtol.h. 2005-03-09 Paul Eggert Factor int-properties macros into a single file, except for glibc-related files. * intprops.h: New file. * getloadavg.c: Include it instead of limits.h. (INT_STRLEN_BOUND): Remove. * human.c: Include intprops.h. (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself. * human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than 302/1000. * inttostr.h: Include intprops.h instead of limits.h. (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove. * mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros, for consistency with intprops.h. (time_t_is_integer, twos_complement_arithmetic): Use them. * sig2str.h: Include , intprops.h. (INT_STRLEN_BOUND): Remove. * strftime.c (TYPE_SIGNED): Remove. (INT_STRLEN_BOUND): Switch to same implementation as intprops.h. * strtol.c: Adjust comments to match intprops.h. * userspec.c: Include intprops.h. (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove. * utimecmp.c, xnanosleep.c, xstrtol.c: Likewise. * utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT instead of rolling our own expressions. * xstrtol.c: Include xstrtol.h first, to test interface. * fts.c: Include intprops.h. (TYPE_SIGNED): Remove. 2005-03-09 Jim Meyering More migration to AC_LIBSOURCES/AC_LIBOBJ. * Makefile.am (libfetish_a_SOURCES): Remove two more pairs of files: cycle-check.c, cycle-check.h and argmatch.c, argmatch.h. * cycle-check.c: Don't include "xalloc.h". It's not used. 2005-03-01 Paul Eggert Remove workaround for bug in Linux kernel 2.6.8 or thereabouts. The workaround isn't strictly needed for POSIX conformance, and it's too much of a pain to configure and maintain. We'll ask people to fix their kernels instead. * xnanosleep.c: Don't include gethrxtime.h or xtime.h. (NANOSLEEP_BUG_WORKAROUND): Remove. (xnanosleep): Remove the workaround. 2005-02-27 Jim Meyering * xnanosleep.c (xnanosleep): Work around bug in Linux-2.6.8.1's nanosleep whereby it fails without setting errno upon being resumed after being suspended. 2005-02-25 Paul Eggert * vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Correct the test for integer overflow again. Actually, neither this nor the 2005-01-23 change fixes any bug on any plausible platform; it's more of a code-clarity thing. * config.charset, gettext.h, localcharset.c: Sync from gnulib. 2005-02-23 Paul Eggert * strftime.c: Include . Use bool where appropriate, instead of int. (my_strftime): Do not mishandle years close to INT_MAX, by doing the right thing even if adding 1900 would overflow. Similarly for tm_mon + 1 and tm_yday + 1. Make %Y always equivalent to %C%y, and similarly for %G and %g. (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional. (DO_SIGNED_NUMBER): New macro. (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1. 2005-02-21 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Remove xnanosleep.c, xnanosleep.h; now done by ../m4/xnanosleep.m4 automatically. 2005-02-20 Paul Eggert * gethrxtime.h, gethrxtime.c, xtime.h: New files. * timespec.h (gettime): Return void, since it always succeeds now. All uses changed. * gettime.c (gettime) Likewise. [HAVE_NANOTIME]: Prefer nanotime. Assume gettimeofday succeeds, as POSIX requires. Assime time () succeeds, since other code already does. * xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h. (timespec_subtract): Remove. (NANOSLEEP_BUG_WORKAROUND): New constant. (xnanosleep): Use gethrxtime rather than gettime; this simplifies things considerably. Use it only on GNU/Linux hosts, since the workaround shouldn't be needed elsewhere. 2005-02-20 Neil Conway * xgethostname.c (xgethostname): Check for ENOMEM, which is returned by OSX/Darwin if the specified buffer is not large enough for the hostname. 2005-02-20 Jim Meyering More of the same. * Makefile.am (libfetish_a_SOURCES): Remove linebuffer.[ch] and stripslash.c. 2005-02-11 Jim Meyering Remove names of files that are now mentioned in AC_LIBSOURCES and AC_LIBOBJ uses in inttostr.m4. * Makefile.am (libfetish_a_SOURCES): Remove imaxtostr.c, offtostr.c, and umaxtostr.c. (EXTRA_DIST): Remove inttostr.c and inttostr.h. 2005-02-08 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Remove memcasecmp.c and memcasecmp.h. 2005-02-07 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Remove fts.c, fts_.h, and getcwd.h now that they're mentioned in AC_LIBSOURCES and AC_LIBOBJ uses in the corresponding ../m4/*.m4. 2005-02-03 Paul Eggert * memrchr.h: New file. * chdir-long.c: Include it. * memrchr.c [!defined _LIBC]: Include it rather than . Don't bother including stddef.h. 2005-02-01 Paul Eggert * mountlist.h (MOUNTLIST_H_): New macro, to protect against double inclusion. Include , for dev_t. (ME_DUMMY, ME_REMOTE): Move from here.... * mountlist.c (ME_DUMMY, ME_REMOTE): To here. (ME_DUMMY): Count "subfs" as a dummy. Problem reported by Dmitry V. Levin. Include mountlist.h first, to test the interface. 2005-01-29 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Remove many files from this list, now that automake determines their names automatically, thanks to the new AC_LIBSOURCES and AC_LIBOBJ uses in the corresponding ../m4/*.m4 files. (EXTRA_DIST): Add getdate.c here, so that we continue to distribute it. 2005-01-25 Jim Meyering * path-concat.c: Don't include assert.h. (path_concat): Remove assertion that would have triggered for ABASE starting with more than one slash. Reported by Andreas Schwab. * path-concat.c (path_concat): Set *BASE_IN_RESULT properly when ABASE is an absolute file name. Correct the description of this function. Include . Add an assertion and a test driver. This fixes a bug introduced on 2004-07-02. Andreas Schwab reported the resulting failure of cp --parents: http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html 2005-01-23 Jim Meyering * vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Correct the test for integer overflow. 2005-01-21 Paul Eggert Sync from gnulib. * error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h"; not needed. This removes a dependency on the gettext module. [defined _LIBC]: Do not include ; not needed. 2005-01-20 Paul Eggert * save-cwd.c (save_cwd): Remove code to support the case where fchdir is missing or flaky. * Makefile.am (libfetish_a_SOURCES): Add version-etc-fsf.c. 2005-01-20 Simon Josefsson * version-etc-fsf.c: New file, with version_etc_copyright. * version-etc.c: Remove version_etc_copyright. * version-etc.h (version_etc_copyright): Use [] instead of * in prototype, suggested by Paul Eggert. 2005-01-19 Jim Meyering * openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the same value as for Solaris 9. * chdir-long.c (chdir_long): Rewrite to remove limitation on component length. This included changing the parameter to be of type `char *' rather than `char const *'. * chdir-long.h (chdir_long): Update prototype. * t-chdir-long: A test harness to exercize chdir-long.c's sample main program. * openat.c (fdopendir, fstatat): New functions. * openat.h: Include headers required for use of DIR and struct stat. [AT_SYMLINK_NOFOLLOW]: Define. (fdopendir, fstatat): Add prototypes. 2005-01-04 Paul Eggert * human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional definitions to be after all include files, to avoid collisions. Problem reported by Bob Proulx. 2005-01-04 Bob Proulx * obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to simplify offsetof() macro construct to avoid compile failure with native HP-UX 11.0 ANSI C compiler. 2005-01-03 Paul Eggert * utimens.c (futimens): Robustify the previous patch, by checking for known valid error numbers rather than observed invalid ones. 2005-01-03 Jim Meyering * utimens.c (futimens): Account for the fact that futimes can also fail with errno == ENOSYS in that case. Patch from Dmitry V. Levin. 2005-01-03 Paul Eggert * utimens.c (futimens) [HAVE_FUTIMES]: Fall back on utimes if futimes fails with errno == ENOENT. Problem reported by Dmitry V. Levin. 2005-01-02 Jim Meyering * version-etc.c (version_etc_copyright): Update copyright date. 2004-12-31 Jim Meyering * openat.c (rpl_openat): Correct comment. Call free_cwd, to avoid leaking a file descriptor. 2004-12-23 Paul Eggert * getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no need to extend the stack. (YYINITDEPTH): New macro, so that the initial stack isn't overly large. 2004-12-19 Paul Eggert * c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not HAVE_DECL_STRTOLD. * alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H. Remove now-obsolete comment about AIX. * getdate.y: Include only if HAVE_ALLOCA. (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA. (YYMAXDEPTH): New macro. 2004-12-11 Jim Meyering * chdir-long.c: Fail via #error if PATH_MAX is not defined, since this file is now compiled only on systems that define PATH_MAX. 2004-12-08 Paul Eggert * getdate.y (textint): New member "negative". (time_zone_hhmm): New function. Expect 14 shift-reduce conflicts, not 13. (o_colon_minutes): New rule. (time, zone): Use it to add support for +HH:MM, UTC+HH:MM. (yylex): Set the "negative" member of signed numbers. 2004-12-06 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Begin removing .c and .h file names, as they are added to AC_LIBSOURCES directives in the corresponding m4/*.m4 files. 2004-12-05 Jim Meyering Currently, fpending.m4 punts (by defining PENDING_OUTPUT_N_BYTES to 1) if it doesn't find a valid expression for the replacement function. Before this change, that might have gone undetected for some time. Now, we'll catch it close to the source. * t-fpending.c: New file. Test the __fpending function. This ensures that if there is an error in the definition of the PENDING_OUTPUT_N_BYTES expression, we'll find about it right away; that value is used only in the rare event that close_stdout's fclose fails with EBADF. * Makefile.am (unit-test): New target. (check): Depend on it. (noinst_PROGRAMS): Define. (LDADD): Define. * Makefile.am (unit-test): Depend on t-fpending. Make the target .PHONY. 2004-12-02 Paul Eggert * openat.c: Include "openat.h" before other include files. Include "exitfail.h". (openat): Remove #undef; no longer needed now that we include openat.h first. (rpl_openat): Add comment about mode_t promotion. Simplify code a bit by moving initializations around. Use exit_failure rather than EXIT_FAILURE. * openat.h: Add copyright and authorship notice. (AT_FDCWD): Use the same value Solaris 9 uses, except of type 'int' not 'unsigned int'. * save-cwd.c: Include "save-cwd.h" before other include files. (O_DIRECTORY): Remove; not needed here, since "." must be a directory. All uses removed. (save_cwd): Use __sgi || __sun, not sun || __sun. __sun is universal on Suns, and we also need to test for IRIX. Revamp code to use 'if' rather than '#if'. Avoid unnecessary comparison of cwd->desc to 0. 2004-12-01 Paul Eggert * hard-locale.c: Assume exists. Include "strdup.h". (GLIBC_VERSION): New macro. (hard_locale): Assume setlocale exists. Rewrite to avoid #ifdef. Use strdup rather than malloc + strcpy. * human.c: Assume exists. (human_readable): Assume localeconv exists. 2004-11-30 Paul Eggert * getcwd.c (is_ENAMETOOLONG): New macro. (__getcwd.c): Don't restore errno; glibc doesn't. [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd first, falling back to our code only if its results look suspicious. Ensure that the resulting buffer is only as large as necessary. * readutmp.c: Include readutmp.h first. Include , since readutmp.h no longer does that. * readutmp.h: Don't include , , ; not needed to establish interface. (errno): Remove decl. (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed. (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME, UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros. 2004-11-30 Jim Meyering Change the name of the robust chdir function from chdir to chdir_long. * save-cwd.c: Include chdir-long.h rather than chdir.h. (restore_cwd): Use chdir_long, not chdir. * chdir-long.c: Renamed from chdir.c. * chdir-long.h: Renamed from chdir.h. [!defined PATH_MAX]: Define chdir_long to chdir on systems like the Hurd. * Makefile.am (libfetish_a_SOURCES): Reflect name changes. * chdir.c (O_DIRECTORY): Define, if necessary. (memchrcspn): Tiny wrapper around memchr. (rpl_chdir): Use memchrcspn rather than strcspn. 2004-11-28 Jim Meyering * openat.c (rpl_openat): Also accept optional mode parameter. * openat.h (rpl_openat): Adjust prototype. * save-cwd.c: Include "chdir.h", so that if save_cwd/getcwd saves a name longer than PATH_MAX, restore_cwd's chdir can use it. * Makefile.am (libfetish_a_SOURCES): Add chdir.h and openat.h. This is a robust version of chdir, in that it can handle directory names longer than PATH_MAX. * chdir.c, chdir.h: New file. * openat.c, openat.h: New files. 2004-11-25 Paul Eggert Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using HP's ANSI C compiler. * fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl. Declaring int functions causes warnings on some modern systems and shouldn't be needed to compile on ancient ones. * same.c (MIN) [defined MIN]: Don't define, since it's already defined. * mempcpy.c, mempcpy.h: New files, taken from gnulib. * Makefile.am: (libfetish_a_SOURCES): Add getcwd.h, mempcpy.h. * getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but with the following changes. (__set_errno): Parenthesize properly. Include . (MIN, MAX, MATCHING_INO): New macros. (__getcwd): Define with prototype, not K&R form. Use heuristics to allocate default buffer on stack if possible. If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2) behavior, and to avoid the PATH_MAX limit when computing ../../../../... Use MATCHING_INO to compare inode number to file. Check for arithmetic overflow in size calculations. Fix bug in reallocation of dot array that caused getcwd to fail on directories nested deeper than 75. Be more careful about saving errno on error. Do not use realloc; use only free+malloc, as this is a bit more flexible and avoids a needless copy operation. Do not inspect st_dev and st_ino for symbolic links; POSIX doesn't specify the latter. Check for closedir errors. Avoid needless casts. Use "#ifdef weak_alias" around weak_alias, to be like other glibc code. The following changes to getcwd.c have effect only when used in gnulib; they have no effect inside glibc proper. (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove, as alloca isn't used. (alloca, __alloca): Likewise. [!_LIBC]: Include "getcwd.h", "mempcpy.h". Include , , , unconditionally, as gnulib assumes C89 or better. Do not include . (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or better. (NULL) [!defined NULL]: Remove; we assume C89 or better. Include in a way that is compatible with modern Autoconf. (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN): New macros, if not already defined. Include if _LIBC, not if __GNU_LIBRARY__. Use "_LIBC", not "defined _LIBC", for consistency. (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has a mempcpy module. (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros. (GETCWD_RETURN_TYPE): Remove. All uses replaced by char *. * xgetcwd.c: David MacKenzie's old code was removed, so give credit only to Jim Meyering and adjust the copyright dates. Do not include , , , , , "pathmax.h". Instead, include "xgetcwd.h" (first) and "getcwd.h". (INITIAL_BUFFER_SIZE): Remove. (xgetcwd): Rely on getcwd, since we now depend on a reliable one. 2004-11-23 Paul Eggert * utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros. (futimens): New function, which uses futimes if available. (futimens, utimens): Support timespec==NULL, with same semantics as utime and utimens. * utimens.h (futimens): New decl. 2004-11-23 Sergey Poznyakoff * getopt_.h: Re-addition of __getopt_argv_const caused redefinition warnings. To avoid them, include the defines in `#if !defined __need_getopt ... #endif'. The only place where __getopt_argv_const is used is in definitions of getopt_long and getopt_long_only below, which are as well protected by `#ifndef __need_getopt'. [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef __need_getopt after including and These headers might have defined it. 2004-11-23 Jim Meyering * closeout.c: Revert last change, since it seems EBADF is always defined. 2004-11-22 Jim Meyering * closeout.c (EBADF): Fail with `#error ...' if it's not defined, asking the user to report the problem. 2004-11-17 Paul Eggert * realloc.c (rpl_realloc): Call 'free' if n==0, since realloc might fail. Problem reported by Yoann Vandoorselaere. * calloc.c (rpl_calloc): Defend against buggy calloc implementations that mishandle size_t overflow. 2004-11-16 Paul Eggert * xgetcwd.c: Include , for PATH_MAX. (xgetcwd): Set errno correctly when failing. Work around Solaris 9 bug: getcwd sets errno==ERANGE even though the failure is actually due to a PATH_MAX problem. Further getopt changes to make it more likely that glibc will buy the changes back. * getopt.c (POSIXLY_CORRECT): New constant. (getopt): Use it, so to preserve glibc semantic * getopt1.c (getopt_long, getopt_long_only): Arg is char * const * when compiling for libc. * getopt_.h (__getopt_argv_const): Bring it back. (getopt_long, getopt_long_only): Use it. * getopt.c (_getopt_initialize, _getopt_internal_r, _getopt_internal): New arg POSIXLY_CORRECT. All callers changed. (getopt): Argv is now char * const *, as per standard. (_getopt_internal_r, _getopt_internal): Argv is now char **, not char *__getopt_argv_const *. * getopt1.c (getopt_long, _getopt_long_r, getopt_long_only, _getopt_long_only_r): Likewise. * getopt_.h (getopt, getopt_long, geopt_long_only): Likewise. * getopt_int.h (_getopt_internal, _getopt_internal_r, _getopt_long_r, _getopt_long_only_r): Likewise. * getopt_.h (__getopt_argv_const): Remove. (getopt): Argv is now char * const *, as per standard. * canon-host.c: Include "strdup.h". (canon_host): Use getaddrinfo if available, so that IPv6 works. Use strdup instead of malloc/strcpy to duplicate strings. * getdate.y (tORDINAL): New token. (day, relunit): Allow it for relative times. (relative_time_table): Use tORDINAL for ordinals. 2004-11-15 Paul Eggert * human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit. (human_space_before_unit): New constant. * human.c (human_readable): Support it. 2004-11-14 Jim Meyering * closeout.c (close_stdout): Don't fail just because stdout was closed initially, since some programs don't write to stdout in the normal course of operation (other than --version and --help), and we don't want this function to make e.g. `cp 1 2 >&-' fail. But do fail if it was closed and someone has tried to write to it. E.g., printf foo >&- * __fpending.c, __fpending.h: Restore these files. They're useful after all. * Makefile.am (libfetish_a_SOURCES): Add __fpending.h. 2004-11-11 Paul Eggert * getopt.c, getopt1.c, getopt_.h, getopt_int.h: Sync from gnulib. 2004-11-10 Paul Eggert * allocsa.h, mbswidth.c, mktime.c, readlink.c, getdate.y, quotearg.c, strftime.c: Sync from gnulib. 2004-11-06 Jim Meyering * __fpending.c, __fpending.h: Remove files. * Makefile.am (libfetish_a_SOURCES): Remove __fpending.h, now that it's no longer used. Ensure that no close failure goes unreported. * closeout.c (close_stdout): Always close stdout. I.e., don't return early when it seems there's nothing to flush. Don't include __fpending.h. 2004-11-03 Paul Eggert * unsetenv.c: New file, from gnulib. Needed for new getdate.y. * Makefile.am (libfetish_a_SOURCES): Remove setenv.c. * xreadlink.c: Sync from gnulib. 2004-11-03 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Add setenv.c and setenv.h. 2004-11-02 Paul Eggert * getdate.y, getpass.c, setenv.h: Sync from gnulib. 2004-10-29 Paul Eggert * getdate.y, getpagesize.h, mktime.c: Sync from gnulib. 2004-10-24 Paul Eggert * mktime.c (leapyear): Arg is long int, not int. Change imported from gnulib. 2004-10-17 Paul Eggert Sync from gnulib. * diacrit.c, diacrit.h: Add copyright notice. * getpass.c (fflush_unlocked, flockfile, funlockfile) (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map to real functions. 2004-10-13 Jim Meyering * fts.c (fts_read): When about to fail (by returning NULL) due to a failed fchdir or failed fts_safe_changedir call, set `sp->fts_cur = p'. Do this by removing the explicit `return NULL;' statements and setting p->fts_errno so execution falls through to the common-case code below. Otherwise, after such a failure, calling fts_close would attempt to free an already-freed buffer. Reported by Luis Lopez Lopez in http://bugs.debian.org/276352. 2004-10-04 Paul Eggert Sync from gnulib. * xalloc.h (xmemdup): Renamed from xclone. * xmalloc.c (xmemdup): Likewise. * xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC, XFREE): Remove these long-obsolescent macros. * xmalloc.c (xstrdup): Implementation moved here from xstrdup.c * xstrdup.c: Remove. * argmatch.c, closeout.c, error.c, exclude.c, getdate.y, getndelim2.c, getpass.c, getusershell.c, linebuffer.c, md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c, regex.c, sha1.c, version-etc.c, yesno.c: Include "unlocked-io.h" only if USE_UNLOCKED_IO. * unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now the includer's responsibility. 2004-10-03 Paul Eggert Sync from gnulib. * dirfd.h, getpagesize.h: Add copyright notice. * vasnprintf.c: (VASNPRINTF): Set errno=EOVERFLOW if the output is too long. * vasnprintf.h: Doc fix. * vasprintf.c: Don't include . (vasprintf): Rely on vasnprintf to set errno=EOVERFLOW. 2004-09-23 Paul Eggert * modechange.c (mode_compile): Don't decrement a pointer that points to the start of a string, as the C Standard says the resulting behavior is undefined. 2004-09-22 Jim Meyering * getopt.c: Remove extraneous spaces before TAB. * getopt_.h: Likewise. * backupfile.c: Remove trailing blanks. * euidaccess.c: Likewise. 2004-09-13 Paul Eggert * backupfile.h (enum backuptype): Rename none -> no_backups, simple -> simple_backups, numbered_existing -> numbered_existing_backups, numbered -> numbered_backups to avoid shadowing problems. All uses changed. * argmatch.c (enum backuptype): Likewise. * backupfile.c (check_extension, numbered_backup): Rename locals to avoid shadowing 'basename'. * backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than once. 2004-09-02 Paul Eggert Port to diet libc. Problem reported by Felix von Leitner in * fts.c (fts_stat, fts_open, fts_read): Use "unsigned short int" rather than the unportable "u_short", and similarly for u_int. * fts_.h (FTSENT): Likewise. 2004-08-19 Paul Eggert * getopt.c, getopt1.c: Sync from gnulib. * getopt_.h: Renamed from getopt.h (this syncs from gnulib). * Makefile.am (libfetish_a_SOURCES): Remove getopt.c, getopt.h, getopt1.c, getopt_int.h. (BUILT_SOURCES, EXTRA_DIST, all-local, $(lib_OBJECTS), getopt.h, MOSTLYCLEANFILES): Add current gnulib snippet for getopt. * .cppi-disable: Add getopt_.h, getopt_int.h. * .cvsignore: Add getopt.h. 2004-08-18 Paul Eggert * userspec.c: Don't use , so that we don't use alloca on strings on unbounded length. alloca's performance benefits aren't that important here. (V_STRDUP): Remove. (parse_with_separator): New function, with most of the internals of the old parse_user_spec. Allow user to omit both user and group, for compatibility with FreeBSD. Clone only the user name, not the entire spec. Do not set *uid, *gid unless entirely successful. Avoid memory leak in some failing cases. Fix regression for USER.GROUP reported by Dmitry V. Levin in (parse_user_spec): Rewrite to use parse_with_separator. 2004-08-11 Paul Eggert * fts.c (O_DIRECTORY): Define to 0 if the system doesn't define. * settime.c (settime): Recode to avoid warning with Sun Forte C 6U2. * obstack.c: Include and if available. (union fooround): Use uintmax_t, not long int. The rest is a merge from libc: [defined _LIBC]: Include . (_obstack) [defined _LIBC]: Remove after 2.3.4. * xgethostname.c: Do not include error.h. (merge from gnulib). * fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing wmemchr or wmemcpy. Problem reported by Robert Dahlem for Reliant Unix 5.43. 2004-08-09 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Add getpass.h. * getpass.h: New file. * .cpp-disable: Add it. * getpass.c [!_LIBC]: Include it. * obstack.h (obstack_empty_p): Don't assume that chunk->contents is suitably aligned. * obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk): Likewise. Problem reported by Benno in . * chown.c (rpl_chown): Work even if the file is writeable but not readable. This could be improved further but it'd take some work. * fts.c (diropen): New function. (fts_open, fts_read, fts_children, fts_safe_changedir): Use it, so that the code works even if the directory is writeable but not readable. We'd like it to work even if the directory is merely executable, but I don't know how to do that portably. * xalloc-die.c: New file. * xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove. All uses removed. * xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted): Likewise. Move inclusions of gettext.h, error.h, exitfail.h to xalloc-die.c. (_, N_, xalloc_die): Move to xalloc-die.c. * userspec.c (parse_user_spaec): Use xstrdup rather than strdup, so that we needn't mess with xalloc_msg_memory_exhausted. * sha1.h (sha1_ctx): Renamed from sha_ctx. (sha1_init_ctx): Renamed from sha_init_ctx. (sha1_process_block): Renamed from sha_process_block. (sha1_process_bytes): Renamed from sha_process_bytes. (sha1_finish_ctx): Renamed from sha_finish_ctx. (sha1_read_ctx): Renamed from sha_read_ctx. (sha1_stream): Renamed from sha_stream. (sha1_buffer): Renamed from sha_buffer. * sha1.c: Likewise. 2004-08-07 Paul Eggert * canonicalize.h, cycle-check.h, stat-macros.h, strdup.h, strftime.h, xnanosleep.c: Merge from gnulib. 2004-08-05 Paul Eggert Merge with gnulib and deal with some minor cleanups resulting. * .cppi-disable: Change fnmatch.h to fnmatch_.h. * .cvsignore: Add fnmatch.h, poll.h, stdbool.h, sysexit.h. Remove safe-lstat.c, safe-lstat.h, safe-stat.c, safe-stat.h. * backupfile.h, closeout.h, full-write.h, mbswidth.h, xalloc.h: Add extern "C" wrappers for C++. * dirname.h (IS_ABSOLUTE_FILE_NAME): Port to DOS. * gettime.c (gettime): Fall back on `time' if `gettimeofday' doesn't work. * settime.c: Include , for stime (on Solaris 8, anyway). (ENOSYS): Define if not defined. (settime): Fall back on stime if it exists and settimeofday fails. But don't bother with fallbacks if a method fails with errno == EPERM. * obstack.h: Add white space. * printf-parse.c, printf-parse.h, vasnprintf.c: Merge changes from gnulib, but rewrite to avoid "xsize.h". 2004-08-04 Paul Eggert * mountlist.c (SIZE_MAX): Define after including files, to avoid a collision on OpenBSD 3.4. * fts.c (LONGEST_MODIFIER): New macro. (PRIuMAX) [!PRI_MACROS_BROKEN && !defined PRIuMAX]: New macro. (find_matching_ancestor): Use it for dev_t and ino_t. * getndelim2.c: Sync from gnulib. * error.c: Work around bug in OpenBSD 3.4 sterror_r: it sometimes returns a positive errno value even when it succeeds. (print_errno_message) [!LIBC]: Fall back on strerror if __strerror_r fails. 2004-08-02 Paul Eggert * canonicalize.c (errno): Remove decl; we now assume C89 or better. * chown.c (errno): Likewise. * closeout.c (errno): Likewise. * dup-safer.c (errno): Likewise. * dup2.c (errno): Likewise. * exclude.c (errno): Likewise. * fopen-safer.c (errno): Likewise. * ftruncate.c (errno): Likewise. * full-write.c (errno): Likewise. * getcwd.c (errno): Likewise. * lchown.c (errno): Likewise. * memcoll.c (errno): Likewise. * nanosleep.c (errno): Likewise. * putenv.c (errno): Likewise. * rmdir.c (errno): Likewise. * same.c (errno): Likewise. * savedir.c (errno): Likewise. * setenv.c (errno): Likewise. * stat.c (errno): Likewise. * utime.c (errno): Likewise. * xgetcwd.c (errno): Likewise. * xmemcoll.c (errno): Likewise. * xreadlink.c (errno): Likewise. * xstrtol.c (errno): Likewise. * canonicalize.h (enum canonicalize_mode_t): Reformat comments to fit in 80 columns. * fileblocks.c (textutils_fileblocks_unused): Make it a typedef instead of an int, to save a few bytes in the object file. * getdate.y (lookup_word): Rewrite to avoid cast. * getloadavg.c: Include . (getloadavg_initialized): Use bool for booleans. * hard-locale.c (hard_locale): Return bool, not int. * hard-locale.h (hard_locale): Likewise. Include . * hash.c (hash_string): Rewrite to avoid cast. * human.h: Use Autoconf-suggested pattern for inttypes and stdint. * strtiomax.c: Likewise. * xstrtol.h: Likewise. * nanosleep.c: Include stdbool.h. (rpl_nanosleep): Usee bool for booleans. * quotearg.c: Include stdbool.h. (quotearg_buffer_restyled): Use bool for booleans. * readtokens.c (readtoken): Rewrite to avoid casts. * same.c (same_name): Return bool, not int. * same.h (same_name): Likewise. Include . * version-etc.c (version_etc_va): Use size_t for sizes. * xnanosleep.c: Include limits.h, stdbool.h. (CHAR_BIT): Remove. (timespec_subtract, xnanosleep): Use bool for booleans. * xstrtoimax.c: Just include xstrtol.h rather than rolling our own include pattern. * xstrtoumax.c: Likewise. * xstrtol.c (__xstrtol): Rewrite to avoid casts. * yesno.c: Include yesno.h first. (yesno): Return bool, not int. * yesno.h (yesno): Likewise. Include . * xstrtod.h (xstrtod): Return bool, not int. Invert the sense of the boolean. All uses changed. * xstrtod.c (xstrtod): Likewise. * nanosleep.c: Include stdbool.h. Use bool for booleans. * xgethostname.c: Don't include or "exit.h"; no longer needed. (errno): Remove decl; we now assume C89 or better. Include unistd.h if available, for gethostname. (ENAMETOOLONG): Define to 0, not 9999, to avoid colliding with existing errno values if any. (gethostname): Remove decl, since unistd.h declares it (or doesn't, in which case it's an older system and it should just work). (xgethostname): Don't assume host name length is less than INT_MAX. Exit if malloc fails, just as the comment says. * save-cwd.c: Include . (errno): Remove decl; we now assume C89 or better. (save_cwd): Use bool for booleans. (save_cwd, restore_cwd): Return -1 on failure, not 1, since we set errno on failure. * readutmp.h (UT_USER): Parenthesize properly. (UT_USER_SIZE): New constant. (read_utmp): Don't assume that the number of users is less than INT_MAX. * readutmp.c (read_utmp): Likewise. Check for integer overflow in size calculations. Return -1 (not 1) on failure, since we set errno in that case. * posixtm.c (posix_time_parse): Don't assume that the length of the string being parsed is <= UINT_MAX. * mountlist.h (read_file_system_list): Accept bool flag, not int. * mountlist.c (read_file_system_list): Likewise. * mountlist.h: Include . * mountlist.c (errno): Remove decl; we now assume C89 or better. (xatoi): Remove; replaced by strtoul. Hence device numbers can now go up to ULONG_MAX. * isdir.c: Remove; no longer needed. * Makefile.am (libfetish_a_SOURCES): Remove isdir.c. * fts_.h: Add an FSF copyright notice, since our changes are becoming nontrivial. * fts.c: Likewise. * fts_.h: Include stddef.h, for ptrdiff_t. (FTS.fts_nitems): Now size_t, not int, for hosts that allow more than INT_MAX entries in a directory. (FTS_ROOTPARENTLEVEL): Parenthesize properly. (FTSENT.fts_level): Now ptrdiff_t, not int, to allow recursing more than INT_MAX levels deep on 64-bit hosts. (FTSENT.fts_namelen): Now size_t, not u_short, to support hosts like the Hurd that don't have arbitrary limits on directory entry lengths. (FTSENT.fts_statp): Now an array, not a pointer, so that we don't have to play unportable games with pointer arithmetic. Keep it array for the benefit of user code that assumes it is a pointer. * fts.c: Include stdint.h if available, as Autoconf suggests. (ALIGNBYTES, ALIGN): Remove; no longer needed now that fts_statp is an array. (fts_alloc, fts_palloc, fts_sort, fts_load, fts_build): Use size_t for sizes. (fts_stat, fts_safe_changedir, fts_debug, fts_read, fts_build, fts_palloc): Use bool when appropriate. (SIZE_MAX, TYPE_SIGNED): New macros. (fts_read): Use u_short for instructions. (fts_build): Use ptrdiff_t for levels. Don't assume file name lengths fit into int. Don't assume nlink_t is signed. (find_matching_ancestor): Don't assume dev, ino fit in int. (fts_stat): Use function prototype; required for bool arg. (fts_sort): Detect integer overflow in size calculations. (fts_alloc): Simplify allocation code, now that fts_statp is an array and not a pointer. * fsusage.h: Include . (struct fs_usage): Use uintmax_t for block sizes, so that they're not limited to INT_MAX. Use bool for booleans. * fsusage.c: Use Autoconf-suggested pattern for inttypes and stdint. Include unistd.h, for lseek. * fnmatch.c: Include . (errno): Remove decl; we now assume C89 or better. * fnmatch_loop.c (EXT, FCT): Use bool when appropriate. (FCT): Use size_t, not unsigned int, for sizes. (EXT): Use size_t, not int, for sizes. * stripslash.c (strip_trailing_slashes): Now returns bool. * dirname.h (strip_trailing_slashes): Likewise. Include . * dirname.c (dir_name): Use bool when appropriate. * argmatch.h (argmatch, __xargmatch_internal, argmatch_invalid): Use ptrdiff_t, not int, when counting arguments, to allow more than INT_MAX arguments. * argmatch.c: Likewise. Use bool when appropriate. 2004-08-01 Paul Eggert * safe-read.c (errno): Remove decl; we now assume C89 or better. (safe_rw): Don't work around Tru64 bug unless the bug symptoms manifest themselves. This allows us to do proper reads and writes on other hosts, e.g., "dd" with a block size greater than 2**31. * md5.c (UNALIGNED_P): Use size_t; in practice, this is just as good as uintptr_t in checking for alignments, and has fewer configuration hassles. * sha1.c (UNALIGNED_P): Likewise. * md5.h: Don't include . Include if available, as it defines symbols like UINT32_MAX on Solaris 8. (md5_uint32): Assume uint32_t exists; Autoconf will define it otherwise (if the host has a 32-bit unsigned type, anyway). * memchr.c: Don't include inttypes.h or stdint.h. (UNALIGNED_P): Remove. (__memchr): Use size_t, not uintptr_t, to test alignment. * memrchr.c: Likewise, for __memrchr. 2004-07-30 Paul Eggert * makepath.h: Include . (make_path, make_dir): Use bool, not int, since we're not setting errno. Use mode_t for modes, not int. All uses changed. * makepath.c: Likewise. (errno): Remove decl; no longer needed since we assume C89. 2004-07-29 Paul Eggert * modechange.c: Include . (mode_compile): Use bool when appropriate. * memchr.c (UNALIGNED_P): Use sizeof, not alignof, for better performance on m68k-linux. Reported by Andreas Schwab in . * memrchr.c (UNALIGNED_P): Likewise. 2004-07-28 Paul Eggert * userspec.c: Include , "inttostr.h". (V_STRDUP): Don't assume the string's length fits in int. (ISDIGIT): unsigned -> unsigned int (is_number): Define only ifdef __DJGPP__; not needed elsewhere. Use bool instead of int where appropriate. Do not allow empty strings. (parse_user_spec): Parse numbers as decimal integers, even if they have a leading 0. Don't assume uids and gids fit in int. * memchr.c: Include , not and . (LONG_MAX_32_BITS): Remove. Include and if available. (alignof, UNALIGNEDP): New macro, portable to all C89 hosts. (__memchr): Don't assume unsigned long int is either 4 or 8 bytes; let it be any number of bytes greater than or equal to 4. * memrchr.c: Likewise, with __memrchr. * md5.h: Include if HAVE_STDINT_H || _LIBC, not ifdef _LIBC. (md5_uint32): Use uint32_t if available. Simplify fallback ifdefs. * md5.c: Don't include or ; suffices with C89 or better. (alignof): New macro, portable to all C89 hosts. (UNALIGNED): Use it. Use uintptr_t if available, and assume everything is unaligned otherwise; this is more portable than assuming 'unsigned long int' will always work. * sha1.c: Likewise. * getugroups.c: Include . (EOVERFLOW): Define if not defined. (getgroups): Return -1 with errno=EOVERFLOW if an integer overflow occurs. 2004-07-27 Paul Eggert * euidaccess.c [HAVE_LIBGEN_H]: Include , for eaccess on Solaris and SVR4-like systems. (euidaccess): Use HAVE_EACCESS, not HAVE_DECL_EACCESS. cycle-check integer overflow fixup. * cycle-check.h: Remove now-inaccurate comment about the files you need to include first. You don't need to include any files other than the usual config.h. Include and if available, for uintmax_t. Remove 'struct stat;' not needed since we know sys/stat.h has been included by dev-ino.h. (struct cycle_check_state): Change chdir_counter to uintmax_t, not size_t, since it isn't limited by object sizes. Change magic from long unsigned int to int; that's good enough for our use. * cycle-check.c (is_zero_or_power_of_two): Renamed from is_power_of_two, to reflect better what it really does. All uses changed. Arg is now uintmax_t, not unsigned int (it should have been unsigned long int -- that was a bug). (cycle_check): Check for integer overflow in cycle count, and report a cycle if that happens, as it must be a cycle by this point. backupfile.c rewrite to avoid arbitrary limits on lengths of numeric backup extensions. * addext.c: Remove; no longer needed. * Makefile.am (libfetish_a_SOURCES): Remove addext.c. * backupfile.h (addext): Remove decl. * backupfile.c: Include "backupfile.h" first. Include errno.h, stdbool.h, limits.h, unistd.h, xalloc.h. (CLOSEDIR, INT_STRLEN_BOUND): Remove. (pathconf) [! (HAVE_PATHCONF && defined _PC_NAME_MAX)]: New macro. (_POSIX_NAME_MAX) [!defined _POSIX_NAME_MAX]: New macro. (NAME_MAX_MAXIMUM): New macro. Unlike the old addext.c, we also look at _XOPEN_NAME_MAX, for better performance on modern hosts that support only file names of length 255 or more. (ISDIGIT): unsigned -> unsigned int (max_backup_version, version_number): Remove. (check_extension): New function. Similar to the old addext, but static, assumes that the extension has already been added, and a bit more careful on DOS hosts. (numbered_backup): New function. It does what max_backup_version and version_number used to do, but it doesn't use integer arithmetic to calculate extensions so it doesn't overflow. (find_backup_file_name): Rewrite to use these new functions. This has a new optimization: we needn't call pathconf if the new numbered backup name has the same length as the old. Also, use xmalloc rather than malloc, so that the caller needn't worry about memory exhaustion. 2004-07-25 Paul Eggert * euidaccess.c [!defined LIBC]: Included group-member.h, stat-macros.h. (S_IXUSR, S_IXGRP, S_IXOTH, S_IROTH, S_IWOTH, S_IXOTH): Remove; now done by stat-macros.h. (NGROUPS_MAX, group_member): Remove; now done by group-member.h. No need to include . (errno): Remove decl; we now assume C89 or better. (access, getuid, getgid, geteuid, getegid, stat) [defined _LIBC]: New macros. (uid, gid, have_ids): Remove these static variables. They weren't accurate for programs that also invoked setreuid etc. (euidaccess) [defined EFF_ONLY_OK || defined ACC_SELF || HAVE_DECL_EACCSS]: Use builtin substitutes. [defined _LIBC]: Ignore __libc_enable_secure; it's not a correct optimization for programs run as root that later invoke setreuid. [no builtin substitutes && HAVE_DECL_SETREGID && PREFER_NONREENTRANT_EUIDACCESS]: Use setreuid+setregid to get the correct answer. [no builtin substitutes && ! (HAVE_DECL_SETREGID && PREFER_NONREENTRANT_EUIDACCESS)]: Don't assume that the stat macros have their historical values, as POSIX doesn't require this. [defined TEST]: Include ; don't include errno.h twice; include rather than "error.h". 2004-07-23 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Add fcntl-safer.h, open-safer.c. * fcntl-safer.h, open-safer.c: New files. 2004-07-12 Paul Eggert * c-strtod.c (STRTOD_L): New macro. (C_STRTOD) [defined LC_ALL_MASK]: Use it, so that the code is reentrant on platforms that have strtod_l. * getloadavg.c: Include , , even if HAVE_GETLOADAVG is defined, so that the test program can work. (errno): Remove declaration; not needed in C89 or later. Include "c-strtod.h". Do not include locale.h or define setlocale; no longer needed. Include . (INT_STRLEN_BOUND): New macro. (getloadavg): Use it to compute buffer size. Don't assume that buffer will be properly terminated by 'read'. Use c_strtod instead of setlocale. (main) [defined TEST]: Return int, not void. 2004-07-11 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Add c-strtold.c. * c-strtold.c: New file. * c-strtod.c: Include first. (C_STRTOD, DOUBLE, STRTOD): New macros. (c_strtod): Use them. * c-strtod.h (c_strtold): New decl. 2004-07-07 Jim Meyering Don't infloop when MAXSYMLINKS is not defined. Detect symlink loops much earlier (albeit lazily) on systems with MAXSYMLINKS defined to a large value. * canonicalize.c: Include "cycle-check.h". (canonicalize_filename_mode): Don't try to detect loops by counting symlink-hops. Instead, use the cycle-check module. * cycle-check.h: Include stdbool.h. Forward-declare `struct stat'. * canonicalize.c (canonicalize_filename_mode): Remove do-while(0) loop. Replace each corresponding `break' stmt with `continue'. 2004-07-06 Jim Meyering * canonicalize.c: Include "stat-macros.h". (canonicalize_filename_mode): Remove #ifdef S_ISLNK, now that S_ISLNK is guaranteed to be defined (via stat-macros.h). 2004-04-03 Dmitry V. Levin * Makefile.am (libfetish_a_SOURCES): Add canonicalize.c unconditionally. * canonicalize.h (canonicalize_mode_t): New type. * canonicalize.c: Include "file-type.h". (canonicalize_filename_mode): New function, based on canonicalize_file_name, supports three canonicalize modes. (canonicalize_file_name) [!HAVE_CANONICALIZE_FILE_NAME && !HAVE_RESOLVEPATH]: Use it. 2004-07-05 Jim Meyering * path-concat.c (path_concat): Improve comment. From Paul Eggert. 2004-07-02 Paul Eggert * canonicalize.c (canonicalize_file_name): Assume that path_concat never returns NULL. * path-concat.c (mempcpy): Don't define if a system header defines it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h. (longest_relative_suffix): New function. (path_concat): Use it. Assume first argument is not NULL. Port to DOS. Omit redundant separators. Report an error instead of returning NULL. Use mempcpy instead of memcpy. (xpath_concat): Remove: not declared or used. 2004-06-30 Paul Eggert * dirname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN. All uses changed. * mountlist.h (read_file_system_list): Renamed from read_filesystem_list. All definitions and uses changed. 2004-06-24 Jim Meyering * obstack.h (obstack_base): Fix parentheses. From Paul Eggert. 2004-06-20 Jim Meyering * obstack.h (obstack_base): Cast to (void *), per documentation. * yesno.h: New file. * yesno.c: Include "yesno.h". * Makefile.am (libfetish_a_SOURCES): Add yesno.h. 2004-06-19 Jim Meyering * filemode.c: Remove all S_IS* and S_IF* definitions. Instead, just include "stat-macros.h". * stat.c: Likewise. * rmdir.c: Likewise. * makepath.c: Likewise. * lchown.c: Likewise. * isdir.c: Likewise. * canonicalize.c: Likewise. Add S_IS* definitions from filemode.c. * stat-macros.h (S_ISCTG): Define to zero if not already defined. (S_ISOFD): Likewise. (S_ISOFL): Likewise. 2004-06-11 Paul Eggert * readutmp.c (extract_trimmed_name): Don't apply strchr to a non-string; this leads to undefined behavior. 2004-05-18 Paul Eggert * fts.c (fts_stat, fts_alloc): Always allocate and use a struct stat, even if the user isn't interested in the results. This prevents a core dump in cycle_check when FTS_NOSTAT is set. * lchown.c (lchown): Return EOPNOTSUPP if not supported; this is what POSIX-2004 specifies. * lchown.h (EOPNOTSUPP): Define if not defined. (ENOSYS): Remove. 2004-06-06 Jim Meyering * getdate.y: Update from gnulib. 2004-05-25 Paul Eggert * xreadlink.c: Include xreadlink.h first, to catch .h file dependency problems. (xreadlink): Accept new arg SIZE, for efficiency. All decls and uses changed. * xreadlink.h: Include , for size_t. * canonicalize.c (canonicalize_file_name): Update use of xreadlink. 2004-06-01 Jim Meyering * xmalloc.c: Update from gnulib. 2004-05-30 Jim Meyering * alloca_.h: Remove trailing blank. 2004-05-29 Jim Meyering * dirname.h (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Define. * calloc.c: New file. 2004-05-21 Jim Meyering * alloca.c, alloca_.h, fnmatch.c: Update from gnulib. * localcharset.c, regex.c: Likewise. 2004-05-20 Jim Meyering * obstack.c, obstack.h: Update from gnulib. 2004-05-16 Paul Eggert * getline.c, getndelim2.c, getndelim2.h: Sync with gnulib. 2004-05-11 Jim Meyering Prior to this change, rm required read access to the current directory on most systems (ones with the fchdir function). * save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only fails, try write-only, and finally, resort to using xgetcwd. 2004-05-07 Jim Meyering Update from gnulib. * obstack.c (_): Define only if not already defined. * obstack.h (obstack_finish): Rename local: s/value/__value/. 2004-05-03 Jim Meyering * lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown. 2004-05-01 Jim Meyering * chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]: Wrap old code with this conditional. [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown function that does not dereference symlinks. 2004-04-18 Paul Eggert * nanosleep.c (suspended): Change its type from int to sig_atomic_t volatile. (first_call): Make it private to rpl_nanosleep, and have it be zero initially as that's a bit faster. (my_usleep): Round up fractional times instead of truncating them, as this is the usual meaning for 'sleep'. 2004-04-20 Jim Meyering * getndelim2.c (getndelim2): Upon realloc failure, don't leak memory. 2004-04-18 Jim Meyering * readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc failure, don't leak memory and do call END_UTMP_ENT. 2004-04-13 Jim Meyering * quotearg.c, quotearg.h: Remove trailing blanks. 2004-04-12 Jim Meyering * inttostr.h: Update from gnulib. 2004-03-27 Paul Eggert * utimecmp.c, utimecmp.h: New files. * Makefile.am (libfetish_a_SOURCES): Add utimecmp.c, utimecmp.h. 2004-04-09 Jim Meyering * stat-macros.h: New file, with contents from file-type.h and coreutils' system.h. * Makefile.am (libfetish_a_SOURCES): Add stat-macros.h. * file-type.c: Include "stat-macros.h". * file-type.h (file_type): Move all macro defiitions to new file, stat-macros.h. 2004-03-30 Paul Eggert * cloexec.c, cloexec.h, config.charset, file-type.c, file-type.h: * getloadavg.c, getndelim2.c, getusershell.c, group-member.c: * human.c, path-concat.c, printf-args.c, printf-args.h: * quotearg.c, quotearg.h, setenv.c, strdup.c: * userspec.c, userspec.h, vasprintf.c: Sync from gnulib. * allocsa.c, allocsa.h, strdup.h: New files, from gnulib. * Makefile.am (libfetish_a_SOURCES): Add allocsa.c, allocsa.h, and strdup.h. 2004-03-30 Jim Meyering * getloadavg.c: Merge changes from emacs (via gnulib). 2004-03-28 Paul Eggert Fix some gotchas encountered when porting to Solaris 8, using the Forte 6u2 compiler. * canonicalize.c [HAVE_UNISTD_H]: Include , for resolvepath declaration. * fts.c: Include dirfd.h, for dirfd. 2004-02-25 Paul Eggert * human.c (humblock): Support BLOCKSIZE as well as BLOCK_SIZE. 2004-03-23 Paul Eggert * readtokens0.c (readtokens0): Return true on success rather than on failure. All callers changed. This also happens to fix a portability bug on pre-C99 hosts, where (bool) INTEGER sometimes returns false even when INTEGER is nonzero. 2004-03-23 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Add getopt_int.h. * getopt_int.h: New file, from gnulib. * getopt.c, getopt.h, getopt1.c: Sync from gnulib. * getopt.c, getopt.h: Remove space(s) before TAB. * mbswidth.c, mbswidth.h: Sync from gnulib. 2004-03-21 Jim Meyering * readtokens0.c, readtokens0.h: New files. * Makefile.am (libfetish_a_SOURCES): Add readtokens0.c and readtokens0.h * readtokens.c (readtoken): Don't leak 64 bytes when reading an empty input stream. * readtokens.c: Include . (readtoken): Use `size_t' rather than int/long. All callers adjusted. Use `bool' rather than `int' where appropriate. Use memset rather than an explicit loop. Use x2nrealloc rather than xrealloc. Allow the use of `\0' as a delimiter. (readtokens): Likewise. * readtokens.h (readtoken, readtokens): Update prototypes. 2004-02-29 Paul Eggert * getdate.h: Include stdbool.h, and timespec.h instead of the usual dance. (get_date): Change signature to support fractional time stamps. All callers changed. * getdate.y: Include "getdate.h" first, as we can now assume C89 and don't need to worry about 'const'. Similarly, include "unlocked-io.h" near start, not in middle. Include . (textint.value): Use long int rather than int. (textint.digits): Use size_t rather than int. (BILLION, LOG10_BILLION): New constants. (parser_control): New member rel_ns. Members day_ordinal, time_zone, month, day, hour, minutes, rel_year, rel_month, rel_day, rel_hour, rel_minutes, rel_seconds are now long int, not int. Member seconds is now struct timespec, not int. New member timespec_seen. Members dates_seen, days_seen, local_zones_seen, rels_seen, times_seen, zones_seen are now size_t, not int. (%union.intval): Now long int, not int. New member timespec. (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens. (seconds, signed_seconds, unsigned_seconds): New nonterminals. (spec): Now is a timespec or an item list. (timespec, items): New nonterminals. (time, rel, relunit, number, get_date): Add support for fractional seconds. (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax. (gmtime, localtime, mktime): Remove decls; not needed with C89. (to_hour): First arg is now long int, not int. (to_year): Returns long int, not int. Don't treat year -70 like 70. (tm_diff): Returns long int, not int. (lookup_word): Use bool instead of int when appropriate. (yylex): Use size_t for count, not int. Detect overflow when parsing large integer constants. Add support for fractions. (get_date): Make pointers 'const' if possible. Use more-portable code to detect integer overflow. (main) [TEST]: Adjust to above changes. Test for localtime failure. Don't use ctime; it's not reliable if the year has >4 digits. 2004-03-15 Jim Meyering `date --date="21:04 +0100" +%S' would print the seconds value from the current time, rather than `00'. * getdate.y: For a date string like `10:23 +0100', set the number of seconds to zero. Reported by Marc Haber. 2004-03-04 Jim Meyering * cloexec.c (set_cloexec_flag) [ ! (F_GETFD && F_SETFD)]: Return true, not false. 2004-03-03 Paul Eggert * cloexec.c: Include "cloexec.h" first, and before . (set_cloexec_flag): Use bool for booleans. All uses changed. If F_GETFD returns a negative number (not just -1), report a failure. Don't use F_SETFD if the flags are already right. Don't report a failure with F_SETFD unless it returns -1. * cloexec.h: Include . Adjust signature to use `bool' rather than `int'. * getloadavg.c (getloadavg): Use `true', not `1'. 2004-03-02 Dmitry V. Levin * cloexec.c: New file. The set_cloexec_flag implementation imported from GNU C Library Reference Manual. * cloexec.h: New file. * getloadavg.c: Include "cloexec.h". (getloadavg): Use set_cloexec_flag instead of manual fcntl call. * Makefile.am (libfetish_a_SOURCES): Add cloexec.c, cloexec.h. 2004-02-23 Paul Eggert * userspec.c: Don't include "posixver.h". (parse_user_spec): Fall back on USER.GROUP parsing, regardless of POSIX version, as POSIX 1003.1-2001 allows that behavior as a compatible extension. Simplify code by removing a boolean int that was always nonzero if a string was nonnull. 2004-02-05 Jim Meyering * timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define. (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise. From coreutils' system.h. 2004-01-29 Jim Meyering * mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h. 2004-01-21 Paul Eggert * argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]: Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE. * argmatch.h: Comment fix to match the above. * long-options.c (parse_long_options): Use prototype for usage function arg. Pass it EXIT_SUCCESS rather than 0, for clarity. * obstack.c (obstack_exit_failure) [!defined _LIBC]: Now a macro referring to exit_failure, instead of a separate variable. Include "exitfail.h" to get it. * xstrtol.h: Include "exitfail.h". (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2. 2004-01-21 Jim Meyering * mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal so as not to conflict with a different-sized __mktime_internal function in GNU libc. 2004-01-16 Jim Meyering Merge from gnulib. * localcharset.c: Test HAVE_DECL_GETC_UNLOCKED, rather than HAVE_GETC_UNLOCKED. 2003-10-08 Paul Eggert Merge from gnulib. * unlocked-io.h: Include , so that the caller doesn't have to include before us. (clearerr_unlocked, feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked, fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked): Define to the unlocked counterpart if not declared, so that we can use getpass.c code from libc without rewriting it. (flockfile, ftrylockfile, funlockfile): New macros. 2004-01-14 Paul Eggert Merge from gnulib. * fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided with like-named macro in fnmatch.c. (EXT): Use an internal constant instead. Merge fnmatch patches from glibc. * fnmatch.c (mbsinit): Remove define. Add libc_hidden_ver (__fnmatch, fnmatch). * fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate. Adjust to renaming of collseq_table_lookup to __collseq_table_lookup. 2003-11-24 Paul Eggert Merge from gnulib. * alloca.c: Remove dependency on xalloc module. (xalloc_die): Remove. (memory_full) [!defined emacs]: New macro. [!defined emacs]: Don't include xalloc.h. (alloca): Invoke memory_full, not xalloc_die, if malloc fails or address arithmetic overflows. Change datatypes a bit to avoid unnecessary casts. 2004-01-14 Paul Eggert * posixver.c: Include posixver.h. 2004-01-12 Jim Meyering * posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new, optional configure-time default. 2004-01-10 Jim Meyering * version-etc.c (version_etc_copyright): Update copyright date. 2003-12-20 Jim Meyering * fts.c [!_LIBC]: Undefine, then define-away __P. 2003-12-19 Jim Meyering Rewrite fts to use a hash table or O(1)-mem cycle-detection code rather than the tree-based tsearch functions. * fts_.h: Include hash.h and cycle-check.h. (FTS_TIGHT_CYCLE_CHECK): New value. (FTS_OPTIONMASK): Adjust to include the new value. (FTS_NAMEONLY, FTS_STOP): Increase to allow room for new value. (struct FTS) [active_dir_ht]: New member. Replaces fts_dir_signatures. (struct FTS) [cycle_state]: New member. * fts.c: Don't include . [HAVE_INTTYPES_H]: Include . (tdestroy, tfind, tsearch): Remove definitions. (struct Active_dir): Rename from `known_object'. (AD_compare, AD_hash): New functions. (enter_dir, leave_dir): Rewrite to manipulate a hash table rather than a tree. (fts_open): Initialize hash table or cycle_state buffer. (free_node): Remove function. (find_matching_ancestor): Renamed/rewritten from look_up_active_dir. (fts_cross_check): Adapt to use new data structure. * Makefile.am (libfetish_a_SOURCES): Remove search_.h. (DISTCLEANFILES): Remove definition. 2003-12-18 Jim Meyering Rewrite cycle detection code to work properly. Add some framework (compiled out by default) to test it. * fts.c (Dprintf, ENTER_DIR, LEAVE_DIR): Define. (add_object): Remove function. Rewritten as... (enter_dir): New function. (leave_dir, free_node): New functions. (fts_read): Ensure that we call ENTER_DIR or LEAVE_DIR, as appropriate, before returning. (look_up_active_dir, fts_cross_check) [FTS_DEBUG]: New functions. (fts_stat): Don't perform the cycle check here. Now it's done via enter_dir. 2003-12-12 Jim Meyering * fts_.h (FTS) [fts_dir_signatures]: Add comment. 2003-12-03 Paul Eggert * getgroups.c (getgroups): xmalloc takes one argument, not two. Bug reported by Alfred M. Szmidt. 2003-12-02 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Reflect sha -> sha1 renaming. * sha1.c: File renamed from sha.c. * sha1.h: File renamed from sha.h. Use SHA1_H, not _SHA_H in #ifndef condition. * sha.c: Add FSF Copyright. * sha.h: Correct stale references to MD5 and `16 bytes'. Patch by Ulrich Drepper. * sha.h: Add FSF Copyright. Remove reference to Scott Miller, since this file is now nearly identical to md5.h. * md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code. These days, gcc-3.x does better all by itself. Patch from Dean Gaudet: http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html 2003-11-29 Jim Meyering * c-strtod.c (c_strtod): Save and restore original LC_NUMERIC setting, in case it was different from the environment-derived value. Patch by Paul Eggert. Include "xalloc.h" for declaration of xstrdup. 2003-11-24 Paul Eggert Parse floating-point operands and options in the C locale. POSIX requires this for printf, and we might as well be consistent elsewhere (tail, sleep, seq). * Makefile.am (libfetish_a_SOURCES): Add c-strtod.c, c-strtod.h. * c-strtod.c, c-strtod.h: New files. * xstrtod.h (xstrtod): Accept an extra arg, specifying the conversion function. * xstrtod.c (xstrtod): Likewise. All callers changed to include c-strtod.h and use c_strtod. Don't include stdlib.h; no longer needed. * xnanosleep.c: Don't include xstrtod.h; it's not needed. 2003-11-22 Jim Meyering * xmalloc.c (x2nrealloc_inline): Fix typos in comments: s/size/size_t/. 2003-11-21 Jim Meyering * xreadlink.c (xreadlink): Correct outdated comment. 2003-11-17 Jim Meyering On systems without utime and without a utimes function capable of dealing with a NULL struct utimbuf* argument, this utime replacement could -- in unusual circumstances -- leak a file descriptor. * utime.c: Include and . (utime_null): Be sure to close `fd' and to preserve errno. Reported by Geoff Collyer via Arnold Robbins. 2003-11-13 Jim Meyering * xalloc.h, xstrtol.c: Update from gnulib. 2003-11-11 Jim Meyering * ftw.c, ftw_.h: Remove files. No longer used. 2003-11-09 Jim Meyering * root-dev-ino.c, root-dev-ino.h: New files. * Makefile.am (libfetish_a_SOURCES): Add root-dev-ino.c root-dev-ino.h. * dev-ino.h: Include and . 2003-11-06 Jim Meyering * free.c: New file, from gnulib. 2003-10-31 Paul Eggert * mountlist.h (struct mount_entry.me_type_malloced): New member. * mountlist.c (SIZE_MAX): Define if not defined already. (read_filesystem_list): Set and use me_type_malloced. Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or whatever the type happens to be), for brevity and consistency. Check for size calculation overflow on Alphas running OSF/1. 2003-10-31 Jim Meyering * hash.c: Include "xalloc.h" for use of xalloc_oversized. * linebuffer.c: Include for declaration of memset. * alloca.c, linebuffer.c, xmalloc.c, xalloc.h: Update from gnulib. * exclude.c, getgroups.c, quotearg.c, stdbool_.h: Update from gnulib. * hash.c, hash-pjw.h: Update from gnulib. 2003-10-25 Jim Meyering * hash.c, hash.h: Update from gnulib. * hash-pjw.c, hash-pjw.h: Likewise. * obstack.c, obstack.h: Likewise. 2003-10-25 Jim Meyering * fts_.h: Include only if _LIBC. [!_LIBC]: Define-away __THROW, __BEGIN_DECLS, __END_DECLS. 2003-10-19 Jim Meyering * vasnprintf.c (vasnprintf): Work around losing snprintf on e.g. HPUX 10.20. 2003-09-25 Jim Meyering Bruno Haible [Update from gnulib] This lets translators provide better translations for the "Written by ..." part of --version output. * version-etc.h: Include stdarg.h. (version_etc_copyright): Declare as readonly. (version_etc): Make this function variadic with a NULL-terminated list of author name strings. (version_etc_va): New declaration. * version-etc.c: Include stdarg.h, stdlib.h. (version_etc_copyright): Declare as readonly. (version_etc_va): New function. Provide a different translatable string for each possible number of authors < 10. Abbreviate when there are 10 authors or more. (version_etc): Make this function variadic. Call version_etc_va. Suggestion from Gary V. Vaughan. * long-options.h (parse_long_options): Change prototype: the authors string is moved to the end and becomes variadic. * long-options.c: Include stdarg.h. (parse_long_options): Make this function variadic, too. Call version_etc_va, not version_etc. 2003-10-17 Jim Meyering * xfts.c, xfts.h: New files. This factors out code used by du.c, chmod.c, and chown-core.c. * Makefile.am (libfetish_a_SOURCES): Add xfts.c and xfts.h. * error.h: Update from gnulib. * getpass.c: Likewise. * fnmatch.c: Likewise. * fnmatch_loop.c: Likewise. 2003-10-16 Jim Meyering * xmalloc.c: Include , for declarations of memset and memcpy. * getgroups.c: Update from gnulib. * readutmp.c: Fix indentation, from gnulib. * exclude.c: Update from gnulib. * xgethostname.c: Include xgethostname.h. * xgethostname.h: New file, from gnulib. * Makefile.am (libfetish_a_SOURCES): Add xgethostname.h. 2003-10-15 Jim Meyering * userspec.h: New file. * userspec.c: Include "userspec.h". * Makefile.am (libfetish_a_SOURCES): Add userspec.h. 2003-10-14 Paul Eggert Fix some number-parsing bugs, e.g., "head -n 100k@" wasn't properly diagnosed. * human.c, xstrtoimax.c, xstrtol.c, xstrtol.h, xstrtoul.c, xstrtoumax.c: Sync with gnulib. 2003-10-13 Paul Eggert * xalloc.h, xmalloc.c, xstrdup.c: Import latest version from gnulib. 2003-09-29 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c. 2003-10-02 Jim Meyering Don't require that the maximum length of a file name encountered in a traversal fit in an `unsigned short', and fix some portability bugs (don't depend on gcc). * fts.c: Include "fts_.h", not . (ALIGNBYTES) [!(__GNUC__ >= 2)]: Add a definition that works with compilers that don't have __alignof__. (MAX): Use a definition that doesn't depend on gcc. (fts_build): Make `len' and `maxlen' be of type size_t, not int. Test for overflow in a less type-dependent manner. Test HAVE_STRUCT_DIRENT_D_TYPE, rather than defined DT_DIR && defined _DIRENT_HAVE_D_TYPE. (fts_palloc): Test for overflow in a less type-dependent manner. (fts_safe_changedir): Use stat, not stat64. Use fstat, not __fxstat64(_STAT_VER. * fts_.h [FTS] (fts_pathlen): Change type from int to size_t. [FTSENT] (fts_pathlen): Change type from u_short to size_t. (fts_level): Change type from u_short to int. * Makefile.am (libfetish_a_SOURCES): Add fts.c fts_.h. Remove ftw_.h. 2003-09-29 Paul Eggert * strftime.c (tm_diff) [! HAVE_TM_GMTOFF]: Fix arg typo in previous patch. 2003-09-28 Jim Meyering * error.c: Update from gnulib. 2003-09-19 Jim Meyering * version-etc.h: (version_etc): Rename parameter, authors, to written_by. * version-etc.c: (version_etc): Likewise. Combine fprintf and following putc('\n'. * version-etc.c, version-etc.h: Revert yesterday's changes. * long-options.c, long-options.h: Likewise. 2003-09-18 Jim Meyering This lets translators provide better translations for the `Written by ...' part of --version output. * version-etc.c: Include stdarg.h, stdlib.h, string.h, and xalloc.h. (version_etc): Make this function variadic, with a NULL-terminated list of author name strings. (version_etc_va): New function. Suggestion from Gary V. Vaughan. * version-etc.h (version_etc_va): Declare it. * long-options.c: Include stdarg.h. (parse_long_options): Make this function variadic (authors), too. Call version_etc_va, not version_etc. * long-options.h (parse_long_options): Update prototype. 2003-09-16 Paul Eggert * linebuffer.c (readlinebuffer): Return NULL immediately upon input error, instead of returning NULL the next time we are called (and therefore losing track of errno). 2003-09-15 Paul Eggert * getndelim2.c (getndelim2): Don't trash errno when a read fails, so that the caller gets the proper errno. * readutmp.c (read_utmp): Likewise. Check for fstat error. Close stream and free storage when failing. 2003-09-14 Jim Meyering * argmatch.c: Update from gnulib. * Makefile.am (libfetish_a_SOURCES): Add exit.h, strndup.h, time_r.c, time_r.h. 2003-09-13 Jim Meyering * setenv.c, strcspn.c, strdup.c, strndup.c, strnlen.c, strpbrk.c: * strstr.c, strtod.c, strtoimax.c, tempname.c, unicodeio.c, userspec.c: * vasprintf.h, xgethostname.c, xreadlink.c, xstrdup.c, xstrndup.c: * xstrndup.h, xstrtod.c, xstrtol.c, yesno.c: Update from gnulib. * strndup.h: New file, from gnulib. * exit.h: New file, from GNU gettext, via gnulib. 2003-09-06 Paul Eggert * time_r.c, time_r.h: New files. * mktime.c (my_mktime_localtime_r): Remove; all uses changed to __localtime_r. (__localtime_r) [!defined _LIBC]: New macro. Include . (__mktime_internal) [!defined _LIBC]: Now extern, not static. * strftime.c (my_strftime_gmtime_r): Remove; all uses changed to __gmtime_r. (my_strftime_localtime_r): Remove; all uses changed to __localtime_r. (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros. Include . 2003-09-13 Jim Meyering * strtol.c: Update from gnulib. 2003-09-12 Paul Eggert * argmatch.c, xgethostname.c, xmalloc.c: Include exit.h. * obstack.c [!defined _LIBC]: Likewise. * argmatch.c (EXIT_FAILURE): Remove; now done by exit.h * exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise. * exitfail.c: Don't include stdlib.h; no longer needed. 2003-09-12 Paul Eggert * error.c (error_tail): Assume vprintf. 2003-09-09 Paul Eggert More K&R removal. * getloadavg.c (getloadavg, main): Define via prototypes. * getopt.h (struct option.name): Assume C89, and use 'const'. (getopt, etopt_long, getopt_long_only, _getopt_internal) [defined __GNU_LIBRARY__]: Assume C89, so we can always declare with a prototype. * getopt.c (const): Remove macro. Include unconditionally. (my_index): Remove; all uses changed to strchr. (strlen): Remove decl. (exchange): Remove forward decl; no longer needed. (exchange, _getopt_initialize, _getopt_internal, getopt, main): Define with prototype. * getopt1.c (const): Remove macro. (getopt_long, getopt_long_only, main): Define with prototype. * getugroups.c: Include unconditionally. * getusershell.c: Include unconditionally. (getusershell, setusershell, endusershell, readname, main): Define with prototypes. * group-member.c: Include group-member.h first. Include unconditionally. * hard-locale.c: Include hard-locale.h first. Include , unconditionally. * hash.c (free, malloc): Remove decls. Include unconditionally. * human.c: Include , unconditionally. (getenv): Do not declare. * idcache.c: Include unconditionally. * long-options.c: Include long-options.h first, to test interface. Include unconditionally. * makepath.c: Include makepath.h first, to test interface. Include and unconditionally. * linebuffer.c: Include . (free): Remove decl. * malloc.c: Include , for malloc; don't bother with stddef.h. rpl_malloc returns void *, not char *. * realloc.c (rpl_realloc): Likewise. Also, define with a prototype. * md5.h: Include unconditionally. (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case. (__P): Remove; all uses removed. * md5.c: Include "md5.h" first. (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream, md5_buffer, md5_process_bytes, md5_process_block): Define with prototypes. * sha.h (__P): Remove all uses. (It wasn't defined??) * sha.c: Include "sha.h" first. Include , unconditionally. * memchr.c (__ptr_t): Remove; all uses changed to void *. * memcmp.c (__ptr_t): Likewise. * memrchr.c (__ptr_t): Likewise. * memchr.c, memcmp.c, memcoll.c, memrchr.c: Include unconditionally. * memchr.c, memrchr.c: Include unconditionally. * memchr.c: Include unconditionally. * memchr.c (LONG_MAX): Remove. * memrchr.c (LONG_MAX): Likewise. * memchr.c (__memchr): Define via a prototype. * memrchr.c (__memrchr): Likewise. * memcmp.c (__P): Remove, and remove all uses. (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment): Remove forward decls; no longer needed. * memcpy.c, memmove.c, memset.c: Include . Use types required by C89 in prototype. * mkdir.c: Include , unconditionally. * savedir.c: Likewise. * mkdir.c (free): Remove decl. * rmdir.c (rmdir): Define with a prototype. * savedir.c: Include savedir.h first, to test interface. * mktime.c (STDC_HEADERS): Remove. Include , unconditionally. * modechange.c: Include unconditionally. (malloc): Remove decl. * mountlist.c: Include , unconditionally. (free): Remove decl. * obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]: Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H. (This type really should be intptr_t, but that's a C99ism.) (_obstack_memcpy): Remove: all uses changed to memcpy. Include unconditionally. (struct obstack): Assume __STDC__ for types of members chunkfun, freefun, extra_arg. (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1, _obstack_memory_used, obstack_alloc_failed_handler, obstack_init, obstack_begin, obstack_specify_allocation, obstack_specify_allocation_with_arg, obstack_chunkfun, obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]: Remove unprototyped decls and the macros that use them. * obstack.c (POINTER): Remove. All uses changed to void *. (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN, _obstack_begin, _obstack_begin_1, _obstack_allocated_p) (defined __STDC__ && __STDC__)]: Remove nonprototyped code. Include unconditionally. (_obstack_begin, _obstack_begin_1, _obstack_newchunk, _obstack_allocated_p, _obstack_free, obstack_free, _obstack_memory_used, print_and_abort): Define using prototypes. (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base, obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0, obstack_finish, obstack_grow, obstack_grow0, obstack_make_room, obstack_next_free, obstack_object_size, obstack_room) [0]: Remove unused, unprototyped code. * path-concat.c: Include , unconditionally. * physmem.c (physmem_total, physmem_available, main): Define with prototypes. * posixtm.c: Include , unconditionally. (main): Define with a prototype. * posixver.c (getenv): Remove decl. * putenv.c (malloc): Returns void *, not char *. Include unconditionally. (strchr, memcpy, NULL): Do not define. * readtokens.c: Include readtokens.h first, to test interface. Include , unconditionally. (init_tokenbuffer): Define with a prototype. * regex.c (PARAMS): Remove. All uses removed. All uses of _RE_ARGS removed, too. Include , , , unconditionally. (bzero): Assume memset exists. (memcmp, memcpy, NULL): Remove. (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed char, or assignments to local vars of type signed char. (init_syntax_once, PREFIX(extract_number_and_incr), PREFIX(print_partial_compiled_pattern), PREFIX(print_compiled_pattern), PREFIX(print_double_string), convert_mbs_to_wcs, print_fastmap, re_set_syntax, PREFIX(regex_grow_registers), PREFIX(regex_compile), PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1), PREFIX(insert_op2), PREFIX(at_begline_loc_p), PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space, wcs_compile_range, byte_compile_range, truncate_wchar, PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers, re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2, count_mbs_length, wcs_re_match_2_internal, byte_re_match_2_internal, PREFIX(group_match_null_string_p), PREFIX(alt_match_null_string_p), PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate), re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror, regfree, PREFIX(extract_number)): Define with prototype. Remove now-unnecessary declaration, if any. (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec, regcomp, regexec): Remove now-unnecessary casts among pointer types. * regex.h (_RE_ARGS): Remove. All uses removed. * rename.c: Include , unconditionally. (free): Remove decl. * rpmatch.c: Include unconditionally. * save-cwd.c: Include unconditionally. * xgetcwd.c: Likewise. * stat.c: Include , unconditionally. (free): Remove decl. The following changes are not K&R related: * group-member.h: Include , so that this file is self-contained. * makepath.h: Likewise. * getusershell.c (readname, default_index, line_size, readname): Use size_t, not int, for sizes. (readname): If the size overflows, report an error instead of looping forever. 2003-09-09 Derek Robert Price * getndelim2.c: Assume stdlib.h per the C89 spec. 2003-09-08 Paul Eggert Assume C89 or better; remove K&R cruft. A few of these changes were first proposed by Derek Robert Price in . * addext.c: Include unconditionally. * backupfile.c: Include , unconditionally. Don't declare getenv or malloc. * alloca.c: Include , unconditionally. (POINTER_TYPE, pointer): Remove; all uses changed to void *. (NULL): Remove. (find_stack_direction, alloca): Use prototypes. * atexit.c (atexit): Define using a prototype. * basename.c, dirname.c, stripslash.c: Include unconditionally. * bcopy.c: Include . (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'. * canon-host.c: Include , unconditionally. * error.h (error, error_at_line, error_print_progname) [! (defined (__STDC__) && __STDC__)]: Remove decls. * error.c: Include error.h first, to check interface. Include , , unconditionally. (VA_START): Remove; all uses changeed to va_start. (exit, strerror): Remove decls. (error_print_progname): Prototype uncondionally. Don't include ; no longer needed. (private_strerror): Remove. (error_tail): Always define. (error, error_at_line): Assume C89 or better; always use prototypes. * euidaccess.c (main): Define with a prototype. * exclude.c: Include , unconditionally. * exitfail.c: Include unconditionally. * fnmatch_.h (__P): Remove. All uses changed to assume prototypes. * fnmatch.c: Include fnmatch.h first, to test interface. Include , , unconditionally. (getenv): Remove decl. (fnmatch): Define using a prototype. * fnmatch_loop.c (FCT): Remove forward decl; no longer needed. (FCT): Define using a prototype. * getdate.y: Include , unconditionally. * gethostname.c: Include . (gethostname): Define with prototype. Length is size_t, not int. 2003-09-08 Paul Eggert * utime.c [!HAVE_UTIMES_NULL]: Include , . (utime_null): Fix typo: 'st' was sometimes called 'sb'. 2003-09-09 Jim Meyering * getversion.c: Remove unused file. Reported by Paul Eggert. 2003-09-03 Paul Eggert * human.c (human_readable): Fix bug that rounded 10501 to 10k. Bug reported by Lute Kamstra in . * getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow", "yesterday", "today", and "now" rather than tMINUTE_UNIT. Of course with correspondingly smaller numbers for tomorrow and yesterday. From Tadayoshi Funaba. Originally installed into sh-utils on 1999-08-07, but the patch was mistakenly reverted by the next change to that shared file (but this time in fileutils) on 1999-08-29. 2003-08-18 Paul Eggert * same.c: Include and unconditionally, as we're now assuming that part of hosted C89. (free) [!HAVE_DECL_FREE]: Remove decl; no longer needed. (same_name): Invoke pathconf on destination, not source, as that's a bit clearer even if they are the same dir. 2003-08-18 Jim Meyering * getopt.h: Remove space before TAB. 2003-08-17 Paul Eggert * same.c: Include , . (_POSIX_NAME_MAX): Define if not defined. (MIN): New macro. (same_name): If file names are silently truncated, report that the file names are the same if they are the same after the silent truncation. 2003-08-16 Paul Eggert Merge from gnulib. * Makefile.am (libfetish_a_SOURCES): Remove getndelim2.c, getndelim2.h, xstrtoimax.c. Add localcharset.h. (CLEANFILES, SUFFIXES): Initialize to empty. (EXTRA_DIST): Add getndelim2.c, getndelim2.h. (install-exec-local): Use $(GLIBC21), not @GLIBC21@. Do not mkdir libdir if not glibc21. (charset.alias): @host@ -> $(host). (SUFFIXES, .sin.sed, CLEANFILES): Reorder rules to match gnulib module suggestions. * localcharset.h, readlink.c: New files, from gnulib. * asnprintf.c, asnprintf.c, asprintf.c, backupfile.h, canon-host.c, config.charset, dirname.h, euidaccess.c, exclude.c, fsusage.h, full-write.c, getloadavg.c, getndelim2.h, gettext.h, group-member.h, hard-locale.h, hash.c, hash.h, hash-pjw.c, localcharset.c, long-options.h, makepath.h, malloc.c, mbswidth.c, mbswidth.h, md5.h, memcasecmp.c, memcasecmp.h, memcoll.h, mkstemp.c, modechange.h, mountlist.h, path-concat.h, pathmax.h, physmem.h, posixtm.h, printf-args.c, printf-args.h, printf-parse.c, printf-parse.h, putenv.c, quote.h, readutmp.h, ref-add.sin, ref-del.sin, safe-read.c, savedir.h, setenv.c, setenv.h, stdbool_.h, strnlen.c, strpbrk.c, strtoimax.c, strverscmp.h, tempname.c, unicodeio.c, unicodeio.h, unistd-safer.h, unlocked-io.h, vasnprintf.c, vasnprintf.h, vasprintf.c, vasprintf.h, version-etc.h, xgethostname.c, xmemcoll.c, xstrtoimax.c, xstrtoumax.c: Sync with gnulib. 2003-08-15 Paul Eggert * physmem.c: Include "physmem.h" before system includes. 2003-08-10 Jim Meyering * utimens.c (utimens): Revert most of last change. Test HAVE_WORKING_UTIMES instead of HAVE_UTIMES. 2003-08-09 Jim Meyering * utimens.c (utimens): Test HAVE_UTIME, not HAVE_UTIMES. Prefer utime, since it works and utimes doesn't on some systems. FIXME: Revert the above change once we have a working utimes replacement function. 2003-08-06 Paul Eggert * Makefile.am (libeftish_a_SOURCES): Add utimens.c, utimens.h. * utimens.c, utimens.h: New files. 2003-08-09 Jim Meyering * unicodeio.c (unicode_to_mb): Change to `Solaris 5.7' in comment. * putenv.c: Likewise. * fatal.c, fatal.h: Remove unused files. * Makefile.am: Use the e.g., `$(FNMATCH_H)' notation for AC_SUBST'd variable names, rather than @FNMATCH_H@. Likewise for $(ALLOCA_H). (fnmatch.h): Use `$@' in the commands, in place of the three copies of the literal target, `fnmatch.h'. (alloca.h): Likewise. 2003-08-08 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Remove fnmatch_.h. (lib_OBJECTS): New macro, for convenience when cutting and pasting Makefile.am templates from gnulib. (EXTRA_DIST): Remove fnmatch_loop.c. (BUILT_SOURCES): Append $(FNMATCH_H). * Makefile.am: Import the following changes from gnulib templates for alloca and fnmatch): (all-local $(lib_OBJECTS)): New dependencies. (alloca.h): Use alloca.h-t for temporary. (EXTRA_DIST): Append fnmatch_.h, fnmatch_loop.c. (fnmatch.h): New rule. (MOSTLYCLEANFILES): Add fnmatch.h, fnmatch.h-t. (DISTCLEANFILES): Remove fnmatch.h 2003-08-08 Jim Meyering * mountlist.c (read_filesystem_list) [MOUNTED_GETFSSTAT]: Use MNT_NOWAIT, rather than MNT_WAIT. Otherwise, `df DIR' could hang on OSF/1 5.1 for DIR on both local and remote file systems. Reported by (and fix confirmed by) Nelson H. F. Beebe. 2003-08-07 Jim Meyering * regex.h (RE_SYNTAX_POSIX_AWK): Remove SPACE in SPACE-TAB sequence. 2003-08-05 Paul Eggert Merge getline from gnulib. * getline.h, getline.c: Merge from gnulib. * getndelim2.h, getndelim2.c: New files, from gnulib. * getdelim2.c, getdelim2.h: Remove. * Makefile.am (libfetish_a_SOURCES): Change getdelim2.c and getdelim2.h to getndelim2.c and getndelim2.h. 2003-08-04 Paul Eggert * regex.c, regex.h: Sync with gnulib. 2003-08-03 Paul Eggert * stdbool_.h (_Bool): Use a #define, not a typedef. 2003-07-31 Paul Eggert * bumpalloc.h: Remove. * Makefile.am (libfetish_a_SOURCES): Remove bumpalloc.h. 2003-07-28 Jim Meyering * stdbool_.h: Renamed from stdbool.hin. * Makefile.am: Reflect renaming: stdbool.hin -> stdbool_.h. * stdbool.hin: Remove file. 2003-07-28 Paul Eggert * stdbool.hin (_Bool): Make it signed char, instead of an enum type, so that it's guaranteed to promote to int. 2003-07-23 Jim Meyering * xstrndup.h: New file. * xstrndup.c: New file, factored out of dircolors.c from coreutils. * Makefile.am (libfetish_a_SOURCES): Add xstrndup.c and xstrndup.h. 2003-07-23 Jim Meyering * lstat.c, save-cwd.c, stat.c, utime.c, xgethostname.c: Normalize naming of Sun operating systems in comments, e.g., SunOS4 -> SunOS 4, Solaris5.9 -> Solaris 9. From Paul Eggert. 2003-07-22 Paul Eggert * xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and over-parenthesization in macros. 2003-07-18 Paul Eggert * closeout.h (close_stdout_set_status, close_stdout_status): Remove. * closeout.c: Likewise. Include "closeout.h" right after config.h, to test that it can stand by itself. Include "exitfail.h". Clients should set exit_failure instead. (EXIT_FAILURE): Remove; no longer needed. Do not include . 2003-07-18 Andreas Schwab * memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno. 2003-07-17 Paul Eggert * xalloca.h, xmalloc.c, xmemcoll.c, xmemcoll.h: Merge with gnulib. Use a single exit_failure variable rather than a separate one for each module. 2003-07-16 Jim Meyering * Makefile.am (AM_CPPFLAGS): Rename from `INCLUDES', to avoid warning from automake -Wall. 2003-07-14 Jim Meyering * save-cwd.h: Add copyright. 2003-07-13 Jim Meyering * xgethostname.c: Include for declaration of free. (xgethostname): Return NULL, rather than exiting, upon any non-malloc/realloc error. 2003-07-12 Jim Meyering * Makefile.am (BUILT_SOURCES): Use `BUILT_SOURCES += $(STDBOOL_H)' rather than `all-local: $(STDBOOL_H)'. The latter didn't force creation of stdbool.h before most other targets. Likewise for $(ALLOCA_H). Don't emit diagnostics. Let callers do that. * save-cwd.c: Don't include "error.h". (save_cwd): Don't call error. Ensure that errno is valid when returning nonzero. * obstack.h: Update from gnulib. * makepath.c (make_path): Enclose diagnostic in _(...). 2003-07-10 Jim Meyering * userspec.c: Include "posixver.h". (parse_user_spec): Accept `.' as a separator only in pre-POSIX-200112 mode. * Makefile.am (libfetish_a_SOURCES): Add these: printf-args.h, printf-parse.h, vasprintf.h, vasnprintf.h. Now that a program (`who') uses asprintf, we need all of these: * asnprintf.c, asprintf.c, printf-args.c, printf-args.h, printf-parse.c: * printf-parse.h, vasnprintf.c, vasnprintf.h, vasprintf.c, vasprintf.h: New files, from gnulib. * alloca_.h, getpass.c, memrchr.c, obstack.h, posixver.c, strftime.c, strnlen.c, strverscmp.c: Switch from LGPL to GPL. 2003-07-09 Jim Meyering * mktime.c: Update from gnulib. FIXME: but still need to adjust m4/mktime.c so that this fixed version is used when needed. Fix the bug that would make `du /' omit the `/' on the last line. E.g., `du --exclude '[^/]*' -x /' would print only "4\t\n" for me. * ftw.c (ftw_dir): Don't clobber the leading `/'. Reported by Chris Lesniewski as http://bugs.debian.org/200542. 2003-07-04 Jim Meyering Update from gnulib. * xreadlink.c: Include unconditionally, instead of having it depend on HAVE_SYS_TYPES_H. 2003-06-18 Jim Meyering * inttostr.h (PARAMS): Remove. All uses removed. Merge in change from gnulib. * makepath.c: Remove block of alloca-related code in favor of an unconditional `#include '. * xalloc.h: Include . Remove unnecessary parentheses. Use `1990-2000' notation in Copyright line until Emacs' copyright-update function learns how to handle a comma-separated list of years that spans a line boundary. * Makefile.am (libfetish_a_SOURCES): Add getdelim2.c and getdelim2.h. * getline.c (getdelim2): Move this function into its own file. * getdelim2.c: Extracted from getline.c. * linebuffer.c, linebuffer.h: Update from gnulib. * getdelim2.c, getdelim2.h: New files. * getstr.c, getstr.h: Remove files. * same.h: Update from gnulib. * xstrtol.h: Update from gnulib. 2003-06-17 Paul Eggert Assume C89, so PARAMS isn't needed. * backupfile.h (PARAMS): Remove. All uses removed. * closeout.h, dirname.h, filemode.h, fsusage.h, getdate.h, getline.h, group-member.h, hard-locale.h, hash.h, linebuffer.h, long-options.h, makepath.h, memcasecmp.h, memcoll.h, modechange.h, mountlist.h, path-concat.h, physmem.h, posixtm.h, quote.h, readutmp.h, same.h, save-cwd.h, savedir.h, stdio-safer.h, strtoimax.c, strverscmp.h, unistd-safer.h, version-etc.h, xalloc.h, xreadlink.h, xstrtod.h, xstrtol.h: Likewise. * filemode.h, hard-locale.h, memcoll.h, modechange.h, physmem.h, same.h, * strverscmp.h: Do not include config.h; no longer needed. Anyway, config.h should always be included before any other file. 2003-06-17 Jim Meyering * getline.c: Update from gnulib. Merge in changes from gnulib. * hash.c: Include unconditionally. Include . (CHAR_BIT): Don't define. 2003-06-09 John David Anglin * acl.c: Include before . Required on Ultrix 4.3. 2003-05-20 Derek Price * stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is necessary. 2003-06-10 Jim Meyering * getdate.y: Also accept dates of the form May-23-2003. Suggestion from Karl Berry. 2003-06-09 Jim Meyering * gettimeofday.c: Also undefine gmtime. (rpl_gmtime): New function. Suggestion from Paul Eggert. 2003-06-08 Jim Meyering * getline.h: Update from gnulib. Clean up, as part of merge with emacs version of strftime.c. * strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]: Remove function, now that we can rely on a working tzset function. [!_LIBC]: Ensure that the required autoconf test has been run. * gettimeofday.c: Also undef tzset. (rpl_tzset): New function, for use by new macro, gl_FUNC_TZSET_CLOBBER. 2003-06-07 Jim Meyering * readtokens.h: Add copyright notice. Include . Remove definition and uses of __P. * readtokens.c: Put `Free Software Foundation, Inc.' in place of my name in the copyright comment. (init_tokenbuffer): Remove unnecessary parentheses around malloc. Update from gnulib. * getdate.y: Include alloca.h unconditionally. * xmemcoll.h: Include . * Makefile.am (MOSTLYCLEANFILES): Add alloca.h and alloca.ht. (MOSTLYCLEANFILES): Add stdbool.ht. * human.c: Include , once again, for declaration of sprintf. Update from gnulib. * tempname.c: Include unconditionally. Include as an alternative to . * strtoimax.c: Include as an alternative to . * xstrtol.h: Likewise. * xstrtoimax.c: Likewise. * xstrtoumax.c: Likewise. Update from gnulib. * strcasecmp.c: Include , not . * savedir.c: Include . (NULL): Don't define, since does that. 2003-06-06 Jim Meyering Update from gnulib. * rpmatch.c: Include without checking for HAVE_LIMITS_H. Include unconditionally. (NULL): Don't define, since does that. * rename.c: #undef rename before defining rpl_rename. [HAVE_CONFIG_H]: Guard inclusion of config.h. * putenv.c: Include rather than , as we merely need size_t. * realloc.c: Likewise. * quote.c: Don't include or ; not needed. * modechange.c: Include . (NULL): Don't define, since does that. * memcoll.h: Include , to get size_t. * memcoll.c: Include "memcoll.h", which gets us size_t and checks our interface, instead of including (memcoll): Fall back on a simple algorithm using memcmp if strcoll doesn't work. * memcasecmp.h: Include . * memcasecmp.c: Don't include . From gnulib. * alloca_.h: New file. * Makefile.am (EXTRA_DIST): Add alloca_.h. (all-local $(lib_OBJECTS)): Depend on $(ALLOCA_H). (alloca.h): New rule. * addext.c: Update from gnulib. * backupfile.c: Likewise. * config.charset: Likewise. * dirname.h: Likewise. * fsusage.c: Likewise. * userspec.c: Likewise. * xreadlink.c: Likewise. * xstrtol.c: Likewise. * __fpending.h: Likewise. * md5.c: Include and unconditionally. (memcpy): Remove definition. * posixtm.c: Include unconditionally. 2003-06-05 Jim Meyering From gnulib. * mktime.c: Assume freestanding C89 or better. (HAVE_LIMITS_H): Remove. Assume it's 1. (__P): Remove; not used. (CHAR_BIT, INT_MIN, INT_MAX): Remove; defines them. (mktime, not_equal_tm, print_tm, check_result, main): Use prototypes. Use const * where appropriate. (main): Fix typo in testing code that uncovered by above changes. (Local Variables): Remove -DHAVE_LIMITS_H from compile-command. 2003-06-04 Paul Eggert Merge human.c etc. from gnulib. * exclude.c, human.c, human.h: Merge from gnulib. * cycle-check.c, cycle-check.h, src/system.h: Include unconditionally. 2003-06-02 Jim Meyering * stdbool.hin: New file. From gnulib. * Makefile.am (MOSTLYCLEANFILES): Initialize. (stdbool.h): New rule. (all-local $(lib_OBJECTS)): Depend on $(STDBOOL_H) (MOSTLYCLEANFILES): Add stdbool.h. (EXTRA_DIST): Add stdbool.h. 2003-05-30 Jim Meyering * addext.c: Update from gnulib. * mktime.c: Likewise. 2003-05-29 Jim Meyering Make the %r format directive honor any locale setting. * strftime.c: (my_strftime) [!defined _NL_CURRENT && HAVE_STRFTIME]: Use underlying_strftime for %r. 2003-05-15 Jim Meyering * getopt.h: Remove a space before a TAB. 2003-05-13 Jim Meyering * setenv.c (setenv): Don't apply cast to argument of free. * putenv.c (rpl_putenv): Likewise. * alloca.c (alloca): Likewise. 2003-05-12 Jim Meyering * ftw.c (ftw_startup): Always call free_cwd after restore_cwd. Reported by Matti Aarnio as https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=90563. Forwarded by Tim Waugh. * strftime.c (my_strftime): Let the `-' (no-pad) flag affect the space-padded-by-default conversion specifiers, %e, %k, %l. 2003-05-07 Paul Eggert * xnanosleep.c (timespec_subtract): Don't modify the 2nd arg. Work even if X-Y overflows when subtracting. Make explicit the assumption that tv_nsec must be in range. (clock_get_realtime): Remove. All callers changed to invoke gettime, for simplicity. (xnanosleep): Check for gettime failure every time. 2003-05-06 Jim Meyering * xnanosleep.c (clock_get_realtime): Use gettime.c's gettime function, rather than an inferior, open-coded version that would fail on AIX systems due to clock_gettime failing with errno == ENOSYS. Reported by Jérôme Zago. 2003-05-05 Jim Meyering Avoid array overrun. * ftw.c (nftw_arr): Update to reflect complete list of members. (ftw_arr): Likewise Reported by Olatunji Oluwabukunmi Ruwase. Make it less likely that the above can happen again. * ftw.c (struct dummy): Ensure that at least the number of initializers matches the number of members in the corresponding enum. * ftw_.h (enum Ftw_option): Name this previously-anonymous enum. (enum Ftw_option) [FTW_N_MEMBERS]: New member. 2003-05-04 Jim Meyering * setenv.c (__set_errno, LOCK, UNLOCK): Define. (unsetenv): Update from GNU libc. Ifdef-out this function, since the only caller is putenv.c and that file now has its own copy. This avoids a core dump on systems without GNU putenv, when running `env -u SOME_ALREADY_UNSET_VARIABLE'. * putenv.c (__set_errno, LOCK, UNLOCK): Define. (unsetenv): New static function, from GNU libc. (rpl_putenv): Use it. 2003-05-02 Jim Meyering * canonicalize.c (canonicalize_file_name) [!HAVE_RESOLVEPATH]: A memory-allocation error could result in heap corruption. Fix it by also updating `dest' when rpath may be changed by xrealloc. 2003-04-15 Jim Meyering * getloadavg.c: Remove (or replace-with-TAB(s) to retain alignment) each sequence of spaces before a TAB character. * md5.c, getopt.c, getopt.h, obstack.h, strftime.c: Likewise. 2003-04-11 Jim Meyering * readutmp.c: Include and unconditionally. * canonicalize.c, exclude.c, getgroups.c, getusershell.c: * group-member.c, idcache.c, mountlist.c, readtokens.c, readutmp.c: * bumpalloc.h: Remove anachronistic casts of xmalloc, xrealloc, and xcalloc return values. * xalloc.h (PARAMS): Remove definitions and uses. (XMALLOC, XCALLOC, XREALLOC): Remove unnecessary casts. * xmalloc.c: Remove use of PARAMS. 2003-04-10 Jim Meyering * canonicalize.c (canonicalize_file_name) [HAVE_RESOLVEPATH]: Remove stray semicolon that caused `readlink --canonical RELATIVE_NAME' to fail on e.g., Solaris systems. Reported by Bruce Korb. (canonicalize_file_name): Return NULL immediately if resolvepath fails. Otherwise, `readlink --canonical /no-such-file' would exhaust virtual memory on some systems (e.g. Solaris). (canonicalize_file_name): Always free `extra_buf' before returning. (canonicalize_file_name): NUL-terminate the result. 2003-04-05 Jim Meyering * Makefile.am (DEFS): Use += notation rather than `DEFS = ... @DEFS@'. Use $(VAR) rather than @VAR@, now that we can rely on automake to emit a definition for each substituted variable. 2003-03-26 Richard Dawe * dirname.c [TEST_DIRNAME]: Update build instructions for test. Add test-cases for DOS filenames. Declare program_name. (main): Set up program_name. 2003-03-22 Jim Meyering * strftime.c (widen): Cast alloca return value to proper type. * fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper type. Otherwise, it wouldn't compile with at least /bin/cc on ymp-cray-unicos9.0.2.X. Combine two mostly-identical uses of alloca into one. Thanks to the Cray-Cyber project for access to a Cray Y-MP. 2003-03-19 Jim Meyering DJGPP doesn't have S_ISLNK, so provide a replacement. * ftw.c (S_IFMT): Define, if necessary. [STAT_MACROS_BROKEN]: Undefine S_ISLNK. (S_ISLNK): Define, if necessary. Based on a patch from Rich Dawe. * exclude.h (PARAMS): Remove definition and uses. * exclude.c: Remove uses of `PARAMS'. * fnmatch_.h: Don't define __const. (fnmatch): Use const, not __const in prototype. From Paul Eggert. 2003-03-17 Richard Dawe * fchdir-stub.c: New file: trivial stub for fchdir. 2003-03-18 Jim Meyering * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any error from mntctl. Use mntctl's return value to drive the entry-processing loop, since we can't rely on the value of the vmt_length member in the last entry. On some systems doing so could result in exhausting virtual memory. Based in part on a patch from Mike Jetzer. * quote.c (quote_n): Fix typo in comment. 2003-03-17 Jim Meyering * raise.c (raise): Rename from rpl_raise. Without that change, systems lacking raise (SunOS 4) would not be able to link programs using raise. Reported by Volker Borchert. * ftw.c (FTW_STAT): Rename from `STAT', to avoid conflict with STAT definition from on AIX 5.1. Suggestion from Mike Jetzer and Petter Reinholdtsen. * fchown-stub.c (fchown): Put function type on its own line. * readlink-stub.c (readlink): Likewise. * lstat-stub.c (lstat): Likewise. 2003-03-14 Jim Meyering * Makefile.am (AUTOMAKE_OPTIONS): Remove definition -- before it pointed to ../src/ansi2knr. Some of these files have required an ANSI (c89) compiler for a year or two. (libfetish_a_SOURCES): Remove unused files: c-stack.c, c-stack.h. 2003-02-04 Dmitry V. Levin * stat.c: Include "xalloc.h". 2003-03-13 Paul Eggert Merge changes from Bison. * obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5 when compiling Bison 1.875's `bitset bset = obstack_alloc (bobstack, bytes);'. Problem reported by Nelson H. F. Beebe. 2003-01-30 Richard Dawe * fchown-stub.c: New file: trivial stub for fchown. * lstat-stub.c: New file: trivial stub for lstat. * readlink-stub.c: New file: trivial stub for readlink. 2003-03-09 Paul Eggert * argmatch.c (EXIT_FAILURE): Define if the system doesn't. Reported by Bruce Becker; see: http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html 2003-03-03 Paul Eggert Bruno Haible * mbswidth.h: Include . Needed for UnixWare 7.1.1. Reported by John Hughes, see http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html 2003-03-09 Jim Meyering * ftw.c: Include "save-cwd.h". (ftw_startup): Avoid use of getcwd, if possible. Instead, use fopen/fchdir via save_cwd/restore_cwd. 2003-03-08 Jim Meyering * xnanosleep.c: Don't use `defined' in a #define directive. 2003-03-07 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Remove mmap-stack.h. * mmap-stack.c, mmap-stack.h: Remove files. * getcwd.c: #undef getcwd only after *all* included header files. Declare getcwd unconditionally. The problem was that same.h included config.h, and that defined getcwd to rpl_getcwd a second time (after the original #undef), and led to the rpl_getcwd function calling itself endlessly. This was the cause of at least the `du' test failures on IRIX 6.5, reported by Nelson Beebe. * same.h (same_name): Remove unnecessary inclusion of config.h. It also happened to lead to infinite recursion in getcwd.c. (PARAMS): Remove definition and use. 2003-03-06 Jim Meyering * ftw.c (ftw_startup): Declare `func' parameter to be of type NFTW_FUNC_T, not void* which may be smaller on 64-bit systems. Remove now-unnecessary cast. (FTW_NAME): Cast func argument to type `NFTW_FUNC_T'. 2003-03-05 Jim Meyering * physmem.c (ARRAY_SIZE): Define it. 2003-03-04 Jim Meyering * makepath.c (CLEANUP_CWD): Call error here, now that restore_cwd no longer does it. * save-cwd.h (restore_cwd): Update prototype. * save-cwd.c (restore_cwd): Remove two parameters. Simplify. Don't call error upon failure. Let callers do that. (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4 when auditing is enabled. But don't bother updating the #if. * xgetcwd.c (xgetcwd): Improve comment. * getcwd.c: New file. 2003-02-28 Jim Meyering * ftw.c (ftw_startup): Return -1 if alloca fails. 2003-02-28 Jim Meyering * fts.c (fts_children): If opening `.' fails, set the fts_child member to NULL before returning. From NetBSD. * fts.c (fts_children): If fchdir fails, close file descriptor before returning. From NetBSD. 2003-02-27 Jim Meyering * physmem.c (physmem_total, physmem_available): Add comments. From Kaveh Ghazi. * physmem.c: Merge in portability changes from gcc/libiberty to support AIX, Tru64, and Windows. See the ChangeLog there for credits and details. Thanks to Kaveh Ghazi for helping to keep these files in sync. 2003-02-24 Jim Meyering * fts_.h [__USE_FILE_OFFSET64]: Remove #error directive. (fts_open): Initialize local, tmp, to pacify gcc. * fts_.h [struct FTS] (fts_dir_signatures): New, opaque member. * fts.c: Include . (struct known_object): Define. (object_compare, add_object, find_object): New functions, like those in ftw.c. (fts_open): Initialize new member. (fts_close): Free memory allocated for new member. (fts_stat): Detect a cycle in O(logN) time per directory processed. * fts.c [HAVE_CONFIG_H]: Include . Conditionalize inclusion of . Conditionalize inclusion of vs . Include autoconf-recommended block of dirent/NAMELEN-related definitions and includes. Use NAMLEN throughout, rather than _D_EXACT_NAMLEN. [_LIBC] (close, closedir, fchdir, open, opendir): Define. [_LIBC] (readdir, tdestroy, tfind, tsearch): Define. Remove `__' prefix from all uses of the above. This will help to merge *BSD changes. [!_LIBC] (internal_function): Define. [! _LIBC && ! LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define lstat. (__set_errno): Define if not already defined. * fts.c: (fts_open): If fts_alloc returns NULL, don't dereference it. (fts_read): If fts_safe_changedir fails because it is not able to chdir into a subdirectory, then inform the caller. * fts.c, fts_.h: New files, directly from glibc. 2003-02-23 Jim Meyering * fts_.h (struct _ftsent) [fts_level]: Change type from short to int, so it can handle a root-relative file name longer than 32K bytes. [fts_pathlen, fts_namelen]: Rearrange members to decrease size of this struct from 84 to 80 bytes. 2003-02-21 Jim Meyering * mmap-stack.h: Undefine HAVE_MMAP_STACK, thus disabling this code on all systems. Merge in some changes from GNU libc. * md5.h (md5_uintptr): Define. * ftw.c: Include before . This is required for Apple Darwin 6.3 (MacOS 10.2.3). Patch by Nelson Beebe. 2003-02-19 Jim Meyering * md5.c: Merge in some clean-up and optimization changes from glibc. * sha.c: Apply those same changes here, too. 2003-02-18 Jim Meyering * md5.c (md5_stream) [BLOCKSIZE]: Move definition to top of file. Ensure that it is a multiple of 64. Rearrange loop exit tests so as to avoid performing an additional fread after encountering an error or EOF. * sha.c (sha_stream): Likewise. Reported by Michael Bacarella. * Makefile.am (CLEANFILES): Remove ftw.h and search.h. (DISTCLEANFILES): Add them here. Add fnmatch.h, too. * sha.c (sha_stream): Rearrange loop exit tests so as to avoid performing an additional fread after encountering an error or EOF. 2003-02-17 Jim Meyering * mmap-stack.h (RUN_WITH_BIG_STACK_4): Define. * physmem.c: Undo most of last change. Use sysmp instead, since it provides a cleaner interface. From Kaveh Ghazi. 2003-02-16 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Add mmap-stack.h. * mmap-stack.c (MAP_ANONYMOUS): Use MAP_ANON, if possible. Initialize `fd' to -1, so Solaris' mmap works with MAP_ANON. 2003-02-15 Jim Meyering * mmap-stack.c, mmap-stack.h: New files. Let the caller run a function with a larger (mmap'd) stack. Add Irix6 support to physmem.c. * physmem.c (irix_sysget): New function. (IRIX_SYSGET_TOTAL, IRIX_SYSGET_AVAILABLE): New macros. (physmem_total, physmem_available): Use them. (main) [DEBUG]: New function. 2003-02-11 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Add euidaccess.h. * euidaccess.c: Include "euidaccess.h". * euidaccess.h: New file. 2003-02-08 Jim Meyering * ftw.c (ftw_startup): Don't shadow outer declaration of save_err. Merge inconsequential changes from libc. * ftw.c (ftw_startup): When using FTW_CHDIR, always remember the current directory, not just when DIR contains a slash. Reported by Manoj Srivastava via Michael Stone as Debian bug #180228. 2003-02-07 Jim Meyering Merge inconsequential changes from libc. * ftw.c: Include limits.h earlier. Move PATH_MAX definition `down' a little; add comment. Rename local, saved_errno to save_err. 2003-02-06 Jim Meyering Support for pruning. * ftw_.h (FTW_DPRE) [enum]: New member and definition. (struct FTW) [skip]: New member. * search_.h (__restrict): Define to `restrict' or to nothing. * fsusage.c: Remove declaration of statfs. It conflicted with one from OSF/1 5.1 in . Reported by Nelson Beebe. 2003-02-05 Jim Meyering Fix a heap-corruption bug that affected Solaris systems. * ftw.c: Include . (PATH_MAX): Define to 1024, if not already defined. (process_entry): Allocate enough space to hold the resulting file name. Don't presume that 2*dirbufsize is enough. (ftw_startup): Always use PATH_MAX to compute buffer size, now that it is guaranteed to be defined. Nelson Beebe reported that du would sometimes segfault on Solaris. * ftw.c (process_entry): When using FTW_DEPTH, call `func', the user-supplied callback, once for the current directory before calling ftw_dir, in case that part of the hierarchy should be pruned. `func' does that by setting `data->skip'. (ftw_startup): Likewise. 2003-02-02 Jim Meyering * ftw.c (lstat) [!_LIBC && !LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define to rpl_lstat. 2003-01-25 Jim Meyering * ftw.c (ISSLASH, FILESYSTEM_PREFIX_LEN) [_LIBC]: Define. (base_name): New function. (ftw_startup): Don't strip trailing slashes. Use base_name to find the offset of the basename. 2003-01-25 Jim Meyering * ftw.c (object_compare): Compare inode numbers before device numbers. The former is much more likely to differ for any two given file objects. 2003-01-23 Jim Meyering * tsearch.c [HAVE_CONFIG_H]: Include . Add autoconf-recommended block of alloca-related code. Cast each use of alloca to the required type, (node**). * ftw.c: Add autoconf-recommended block of alloca-related code. [!_LIBC] (__getcwd): Define to xgetcwd and declare xgetcwd. 2003-01-22 Jim Meyering * ftw.c (find_object): Don't use c99-style struct initializer. * ftw_.h: Change all uses of __const to const. * search_.h: Likewise. * Makefile.am (CLEANFILES): Add generated files: ftw.h search.h. * ftw.c (process_entry): Handle FTW_DCHP. (ftw_dir): Handle FTW_DCH. * ftw_.h [!_LIBC && !__USE_XOPEN_EXTENDED]: Define __USE_XOPEN_EXTENDED and FTW_H_STANDALONE. [anon enum] (FTW_DCH, FTW_DCHP): New members. (FTW_DCH, FTW_DCHP): Define. * ftw.c: Include autoconf-recommended block of dirent/NAMELEN related definitions and includes. Use NAMELEN throughout, rather than _D_EXACT_NAMLEN. [_LIBC]: Define NAMELEN to _D_EXACT_NAMLEN. (stpcpy): Declare, if necessary. (mempcpy): Define, if necessary. [!_LIBC] (__stpcpy, __mempcpy): Define. [!_LIBC] (LXSTAT, XSTAT): Define. 2003-01-21 Jim Meyering * tsearch.c: New file, from GNU libc. [! weak_alias]: Define __-prefixed names to publicized ones. [! defined _LIBC] (weak_alias, internal_function): Define-away. [defined weak_alias]: Guard each use of weak_alias. 2003-01-20 Jim Meyering * canonicalize.c: Include "path-concat.h". * search_.h: New file, from GNU libc. * Makefile.am (libfetish_a_SOURCES): Use ftw_.h here, too. (libfetish_a_SOURCES): Add search_.h. * ftw_.h: Rename from ftw.h. * obstack.h (obstack_object_size): Declare temporary, __o, to be const, in order to avoid warnings. (obstack_room): Likewise. (obstack_empty_p): Likewise. Merge in changes from GNU libc * error.c: Eliminate many `#ifdef USE_IN_LIBIO' conditionals. 2003-01-19 Ulrich Drepper From GNU libc. * strftime.c (my_strftime): Handle very large width specifications for numeric values correctly. Improve checks for overflow. 2003-01-19 Jim Meyering * strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical definitions. (nl_get_alt_digit) [! defined my_strftime]: Define. (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of _nl_get_alt_digit and _nl_get_walt_digit. * strftime.c (my_strftime): Merge in locale-related changes from libc. These changes have no effect outside of _LIBC. 2003-01-14 Jim Meyering * same.c (same_name): Declare *_basename locals to be `const'. Consolidate declarations and initializations of *_base* locals. 2003-01-11 Bruno Haible * same.c (same_name): Reorder tests so as to avoid calling stat() when a string comparison is sufficient. 2003-01-11 Bruno Haible * readtokens.c (readtoken): Cast character to 'unsigned char', not 'unsigned int'. 2003-01-14 Jim Meyering * ftw.c: Merge in Ulrich's and my changes from libc. 2003-01-12 Jim Meyering * ftw.c (ftw_startup): Rename local-shadowing local to pacify gcc. Also work on systems that have `struct direct', using autoconf's AC_HEADER_DIRENT. Tweak comments. * ftw.h, ftw.c: New files, from glibc/io. * Makefile.am (libfetish_a_SOURCES): Add ftw.h. 2003-01-11 Jim Meyering * makepath.c: Don't test HAVE_ERRNO_H. It's not necessary. * canonicalize.c: Don't test HAVE_ERRNO_H. It's not necessary. Don't test HAVE_STDDEF_H. It's not necessary. Use definition of PTR_INT_TYPE from obstack.h. 2002-12-01 Dmitry V. Levin * canonicalize.c: New file. The readlink-based implementation imported from GNU C Library. The resolveip-based implementation imported from src/df.c (show_point). * canonicalize.h: New file. * Makefile.am (libfetish_a_SOURCES): Add canonicalize.h. 2003-01-10 Jim Meyering * save-cwd.h: Remove uses of PARAMS. 2002-11-30 Dmitry V. Levin * xgetcwd.h: New file. * Makefile.am (libfetish_a_SOURCES): Add xgetcwd.h. * save-cwd.c: Include "xgetcwd.h". * xgetcwd.c: Likewise. 2002-11-30 Dmitry V. Levin * getgroups.c: Don't declare functions declared by xalloc.h. Include "xalloc.h" instead. * group-member.c: Likewise. * idcache.c: Likewise. * readutmp.c: Likewise. 2003-01-08 Jim Meyering * full-write.c: Undefine and define-away `const' after inclusion of errno.h, not before. Suggestion from Bruno Haible. 2003-01-06 Jim Meyering * full-write.c: Rework so that it may serve to define full_read, too. * full-read.c: Simply #define FULL_READ and include full-write.c. * Makefile.am (libfetish_a_SOURCES): Add full-read.c and full-read.h. * full-read.c, full-read.h: New files. Update from gnulib. 2002-12-10 Paul Eggert Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7. * exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS): Choose values that are less likely to collide with system fnmatch options. * exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not defined (e.g., a pure POSIX system). (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME instead of FNM_FILE_NAME, for compatibility with pure POSIX systems. Update from gnulib. * utime.c (utime_null): Use SAFE_READ_ERROR. (utime_null): No need to call ftruncate if the file was nonempty. * getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE. * canon-host.c (strdup): Remove unused declaration. * fsusage.c: Include full_read.h. (get_fs_usage): Use full_read instead of safe_read. Patches by Bruno Haible. 2003-01-04 Jim Meyering * version-etc.c: Update copyright date. 2002-12-31 Jim Meyering * dev-ino.h: New file. * cycle-check.c: New file. * cycle-check.h: New file. * Makefile.am (libfetish_a_SOURCES): Add cycle-check.c, cycle-check.h, and dev-ino.h. 2002-12-21 Jim Meyering * stime.c: Remove file (for real, this time). 2002-12-15 Jim Meyering * strftime.h: New file, for declaration of nstrftime. * Makefile.am (libfetish_a_SOURCES): Add strftime.h. 2002-12-09 Jim Meyering * unlocked-io.h: Sync from gnulib. 2002-12-06 Jim Meyering * unlocked-io.h: New file, but with proper copyright notice and attribution. Note: this is *not* the same as the file in gnulib. This uses #if HAVE_FUNC_UNLOCKED for each `FUNC', rather than HAVE_DECL_FUNC_UNLOCKED. This usage is consistent with the autoconf macro in ../m4/jm-glibc-io.m4. Modulo comments, this file still contains exactly what was generated by gen-uio. 2002-12-04 Paul Eggert Do not generate unlocked-io.h automatically, since it's easier to maintain it by hand. * gen-uio: Remove. * Makefile.am: Add copyright notice. (libfetish_a_SOURCES): Add unlocked-io.h. (BUILT_SOURCES, all-local): Remove unlocked-io.h. (DISTCLEANFILES, io_functions): Remove macros. (EXTRA_DIST): Remove gen_uio. (unlocked-io.h): Remove rule. 2002-12-05 Paul Eggert * alloca.c [defined emacs]: Include "lisp.h". (xalloc_die) [defined emacs]: New macro. (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE. [! defined emacs]: Include . (POINTER_TYPE) [!defined POINTER_TYPE]: New macro. (pointer): Typedef to POINTER_TYPE *. (malloc): Remove decl; we now always use xmalloc. (alloca): Use old-style definition, since Emacs needs this. Check for arithmetic overflow when computing combined size. 2002-12-04 Jim Meyering Reflect the fact that stat.c and lstat.c are no longer generated. * Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c. (DISTCLEANFILES): Likewise. (EXTRA_DIST): Likewise. (all_local): Don't depend on stat.c or lstat.c. (stat.c, lstat.c): Remove rules. (EXTRA_DIST): Remove xstat.in. * xstat.in: Remove file. Contents moved into stat.c. * stat.c: Rework so that it may serve to define rpl_lstat, too. * lstat.c: Simply #define LSTAT and include stat.c. * safe-read.c: Rework so that it may serve to define safe_write, too. * safe-write.c: Simply #define SAFE_WRITE and include safe-read.c. 2002-12-03 Jim Meyering * safe-read.h: Update from gnulib (add comments, include stddef.h). 2002-12-02 Jim Meyering * safe-read.c (EINTR): Define. (safe_read): Rewrite to iterate IFF the read fails with EINTR. 2002-12-01 Jim Meyering * safe-read.c: Merge from gnulib. (safe_read): Also exit the loop when read returns zero. (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define. * Makefile.am (libfetish_a_SOURCES): Add safe-write.c and safe-write.h. * strtoll.c: Update from gnulib (trivial changes). * strdup.c: Likewise. * strpbrk.c: Likewise. * strstr.c: Likewise. * tempname.c: Likewise. * obstack.c: Likewise. * getopt.c: Likewise. * getopt1.c: Likewise. * getopt.h: Likewise. * quote.h: Update from gnulib: add Copyright comment. * quote.c: Likewise. 2002-11-28 Jim Meyering * mktime.c: Merge from gnulib/libc, for a slightly uglier solution. Merge some more, in preparation for merge back into libc. * error.c (_): Define only if not already defined. Move definition to follow all #include directives. Include unlocked-io.h only if !_LIBC. Merge in changes from libc. * error.c [_LIBC]: Include . [USE_IN_LIBIO]: Include (fflush): Tweak definition to use INTUSE. (putc): Define. 2002-11-23 Jim Meyering From gnulib, by Bruno Haible * closeout.c: Include gettext.h instead of . * makepath.c: Likewise. * rpmatch.c: Likewise. * userspec.c: Likewise. * version-etc.c: Likewise. * xmemcoll.c: Likewise. * error.c [!_LIBC]: Include gettext.h instead of . * mbswidth.h: Update from gnulib. * mbswidth.c: Likewise. * localcharset.c: Likewise. * config.charset: Likewise. * unicodeio.c: Likewise. 2002-11-22 Paul Eggert * quotearg.h: Allow multiple inclusion by surrounding with "#ifndef QUOTEARG_H_". Include , for size_t, so that we can be included first. (PARAMS): Remove; we now assume C89 or later. All uses removed. * quotearg.c: Include quotearg.h immediately after config.h. No need to include stddef.h or sys/types.h any more. Surround local include files with "", not "<>". Assume HAVE_LIMITS_H unconditionally, as we assume C89. Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX, HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS. (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC. (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT. (ISPRINT): Remove; no longer needed now that we assume C89. (clone_quoting_options, quotearg_buffer, quotearg_n_options): Preserve errno. (quotearg_buffer_restyled, quotearg_n, quotearg_n_style, quotearg_char): Use SIZE_MAX rather than (size_t) -1 when we are talking about "infinity". (quotearg_buffer_restyled): Fix bug when quoting trigraphs. 2002-11-22 Jim Meyering From gnulib. * strstr.c: Don't include . It's unnecessary. 2002-11-21 Bruno Haible Remove case insensitive option matching. * argmatch.h (argcasematch): Remove declaration. (ARGCASEMATCH): Remove macro. (__xargmatch_internal): Remove case_sensitive argument. (XARGMATCH): Update. (XARGCASEMATCH): Remove macro. * argmatch.c (argmatch): Renamed from __argmatch_internal. Remove case_sensitive argument. (argcasematch): Remove function. (__xargmatch_internal): Remove case_sensitive argument. (main): Use XARGMATCH instead of XARGCASEMATCH. * argmatch.c: Include gettext.h instead of and . 2002-11-21 Bruno Haible * xmalloc.c: Change compile-time error message. Add comment about required autoconf version. * xmalloc.c: Include gettext.h instead of . (textdomain): Remove definition. 2002-11-21 Jim Meyering * strdup.c (strdup): Merge in changes from gnulib; mainly to use memcpy rather than strcpy. * strcspn.c: Update from gnulib. * sig2str.c (str2signum): Use unsigned, not size_t, for type of index. * quotearg.c: Use `"'s when including quotearg.h and xalloc.h, not the `<...>' notation. Include and declare errno if necessary. * README: Update from gnulib. 2002-11-20 Paul Eggert Merge argmatch cleanups from Bison. Assume C89. * argmatch.c: Include config.h here, not in argmatch.h. Include stdlib.h, for EXIT_FAILURE. Always include , since we assume C89. (EXIT_FAILURE): Remove pre-C89 bug workaround. * argmatch.h: Do not include or . Include instead, since it's all we need for size_t. (PARAMS): Remove. All uses removed. (ARRAY_CARDINALITY): Do not bother to #undef. (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg, ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH): Remove unnecessary parentheses. (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH): Insert necessary parentheses. (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros. (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT. 2002-11-19 Jim Meyering Be careful not to clobber errno. * quotearg.c (quotearg_buffer_restyled): If mbrtowc returns `(size_t) -1' (at which point it would also set errno to EILSEQ), then restore errno to its previous value. Reported by Phillip Jones via Tim Waugh as https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=76334. Avoid a link-time failure on some Linux systems. * mktime.c (STATIC): Define to be empty (_LIBC) or `static' (otherwise). (__mon_yday): Declare with the STATIC attribute. (__mktime_internal): Likewise. Based on a report from Greg Schafer. 2002-11-14 Jim Meyering * long-options.c: Don't include libintl.h, and don't define `_' -- they're not used. * same.c: Likewise. 2002-11-10 Jim Meyering * raise.c: New file. 2002-11-08 Paul Eggert * human.c (human_readable): Revamp to avoid warning about unused variable 'amt'. Unfortunately this means using some gotos. 2002-11-08 Jim Meyering * human.c (human_readable): Avoid warnings from gcc -Wshadow. 2002-11-06 Jim Meyering * Makefile.am (EXTRA_DIST): Add inttostr.h. 2002-10-07 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Add imaxtostr.c, offtostr.c, umaxtostr.c. (EXTRA_DIST): Add inttostr.c. * inttostr.c, inttostr.h, imaxtostr.c, offtostr.c, umaxtostr.c: New files, taken from GNU tar. * human.c, human.h: Rewrite to support locale-specific notations like thousands separators. Specify what includer of include.h must include beforehand. (human_group_digits, human_suppress_point_zero, human_autoscale, human_base_1024, human_SI, human_B): New enum values. (human_readable): Rename from human_readable_inexact; put the options before the sizes. All uses changed. The old human_readable function has been removed; use inttostr.h instead. (human_options): Renamed from human_block_size, with new signature that allows block sizes up to UINTMAX_MAX. All callers changed. 2002-10-13 Jim Meyering * xnanosleep.c (initialized): Remove declaration now that it's unused. 2002-10-12 Paul Eggert * xnanosleep.c: There's no need to futz with the rounding mode, since the code should work properly even in the default rounding mode. (): Do not include. (#pragma STDC FENV_ACCESS ON): Remove. (xnanosleep): Don't futz with rounding state. 2002-10-06 Jim Meyering * safe-read.c (safe_read): Change type of function from ssize_t to size_t. * safe-read.h: Update prototype. (SAFE_READ_ERROR): Define. 2002-09-28 Jim Meyering * makepath.c (make_path): Restore umask *before* creating the final component. 2002-09-25 Paul Eggert * fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include . (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro. (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than int. Work more efficiently if X is the same width as uintmax_t. Do not compare X to -1, to avoid bogus compiler warning. (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast. Don't assume that f_frsize and f_bsize are the same type. 2002-09-25 Jim Meyering * fsusage.c: Remove unneeded parentheses around operands of `defined'. * safe-read.c (safe_read): Make comment more precise: upon error, it returns -1. 2002-09-22 Jim Meyering * makepath.c (make_path): Minor reformatting. 2002-09-14 Paul Eggert * xnanosleep (xnanosleep): Return -1 on failure, not 1, for consistency with nanosleep. Check errno after nanosleep returns -1. 2002-09-11 Jim Meyering * xnanosleep.c, xnanosleep.h: New files, factored out of sleep.c. * Makefile.am (libfetish_a_SOURCES): Add them. 2002-09-04 Jim Meyering * addext.c (addext): Add a cast to avoid gcc's warning about `comparison between signed and unsigned'. * sig2str.c (str2signum, sig2str): Declare loop index variables to be of type size_t so that they match type of upper bound, thus avoiding warning about `comparison between signed and unsigned'. 2002-08-31 Jim Meyering * mktime.c: Update from GNU libc. * obstack.c: Likewise. * getopt.c: Likewise. * getopt1.c: Likewise. 2002-08-05 Paul Eggert Fix some minor time-related bugs with POSIX time arguments. Some valid time stamps were being rejected (notably -1, and time stamps before 1900 on 64-bit hosts). And some invalid time stamps were being accepted, e.g. September 31. * posixtm.h (posixtime): Return bool instead of time_t, so that we can return (time_t) -1 successfully. * posixtm.c: Likewise. [HAVE_STDBOOL_H]: Include . (bool, false, true) [!HAVE_STDBOOL_H]: New type. (t): Remove static var. (year, posix_time_parse): Now takes struct tm * arg to modify, instead of static var. All uses changed. (year): Do not reject years before 1900; they can occur with 64-bit time_t. (posix_time_parse): Do not check for out-of-range components; that is now the caller's responsibility, since our checks were only approximations. (posixtime): Use mktime to check for out-of-range components, since it knows them exactly. If mktime returns (time_t) -1, check whether an error actually occurred by invoking localtime on -1. (main) [TEST_POSIXTIME]: Check for input data errors, and report posixtime failures better. Improve the test data (in comments only). 2002-07-27 Jim Meyering * readutmp.h: If we have both utmpx.h and utmp.h, and there exists the utmp.ut_exit member, but not the utmpx.ut_exit member, then undefine HAVE_UTMPX_H. For AIX 4.3.3. Doing all this in cpp is a big kludge; someday we'll put the brains in an autoconf macro. (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define. 2002-07-20 Jim Meyering * xmalloc.c: Adjust to work with new autoconf macros, AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef HAVE_MALLOC/HAVE_REALLOC. * gettext.h: Upgrade to gettext-0.11.3. 2002-07-13 Bruno Haible * xstat.in: Include . * mountlist.c: #undef MNT_IGNORE before defining it, to avoid warning on FreeBSD. 2002-07-09 Jim Meyering * mountlist.h (ME_DUMMY): Don't count entries of type `auto' as dummy ones. At least on GNU/Linux systems, `auto' means something else. From Michael Stone. 2002-07-01 Jim Meyering * c-stack.c: Include sys/time.h. From Volker Borchert. 2002-06-11 Paul Eggert * fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT): New macro. Use it uniformly instead of (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H). It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1 reported by Vin Shelton. 2002-06-22 Jim Meyering * fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h. 2002-06-22 Paul Eggert * c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]: Do not assume SA_SIGINFO behavior. Bug reported by Jim Meyering on NetBSD 1.5.2. 2002-06-22 Jim Meyering * c-stack.c, c-stack.h: New files, from diffutils-2.8.2. * exitfail.c, exitfail.h: Likewise. * Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h. * Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place of fnmatch.h. (EXTRA_DIST): Add fnmatch_loop.c. (libfetish_a_SOURCES): Add c-stack.c and c-stack.h. * fnmatch_loop.c: New file, from diffutils-2.8.2. * fnmatch.c: Update from diffutils-2.8.2. * fnmatch_.h: New file. From diffutils-2.8.2. * fnmatch.h: Remove file. 2002-06-18 Paul Eggert * file-type.h: Report an error if neither S_ISREG nor S_IFREG is defined, instead of using a test specific to glibc 2.2. This should be safe, since POSIX requires S_ISREG and Unix Version 7 had S_IFREG. We don't need to check for since we don't use any symbols that it defines. 2002-06-15 Jim Meyering * file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef. For GNU libc 2.2 and newer, ensure that and have been included before this file. 2002-06-13 Richard Dawe * Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than $@-t, so that each temporary file name is unique and valid in the first 8 characters, for operation under DOS. 2002-06-15 Jim Meyering Work even with DJGPP 2.03, which lacks support for symlinks. From Richard Dawe. * xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK is defined. * lchown.c (S_ISLNK): Likewise. 2002-06-14 Jim Meyering * file-type.h: Use the version from diffutils-2.8.2. * file-type.c: Likewise. 2002-05-27 Jim Meyering Fix a problem seen only on nonconforming systems whereby ls.c's use of localtime, and then of gettimeofday would cause trouble: the localtime call used to initialize rpl_gettimeofday's save mechanism would clobber ls's current local time information so that in any long listing the first file would always be listed with date 1970-01-01. Analysis by Volker Borchert. * gettimeofday.c (localtime): Undefine. (rpl_localtime): New function. 2002-05-22 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Add file-type.c and file-type.h. * file-type.h: New file. * file-type.c (file_type): New file/function. Extracted from diffutils. 2002-04-29 Paul Eggert * hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1. 2002-04-28 Paul Eggert * sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid depending on and WTERMSIG. Default to 64 instead of 127, since 64 is the largest conceivable number for ancient nonstandard hosts. * sig2str.c: Do not include ; no longer needed. 2002-04-28 Jim Meyering * sig2str.c (WTERMSIG): Remove definition (unused). 2002-04-28 Paul Eggert * sig2str.h, sig2str.c: New files. * Makefile.am (libfetish_a_SOURCES): Add sig2str.h. 2002-04-24 Jim Meyering * gettext.h: New file, from Gettext. * Makefile.am (INCLUDES): Remove -I../intl. (libfetish_a_SOURCES): Add gettext.h. 2002-04-16 Jim Meyering * readutmp.h (UT_TYPE): Remove definition (now in who.c). (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define. (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define. 2002-04-12 Jim Meyering * dirfd.h (dirfd): Elide prototype if dirfd is a macro. 2002-03-10 Jim Meyering * makepath.c (make_path): Remove a comma from a diagnostic. Suggestion from Santiago Vila. 2002-03-08 Jim Meyering * rename.c: Mention that this wrapper is needed also on mips-dec-ultrix4.4 systems. 2002-03-02 Jim Meyering * gettime.c (gettime): Test HAVE_CLOCK_GETTIME, not HAVE_CLOCK_SETTIME. 2002-02-27 Paul Eggert * nanosleep.h: Rename to.... * timespec.h: New name for nanosleep.h. All uses changed. * gettime.c: New file. * settime.c: New file. * stime.c: Remove. * Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c, timespec.h. Remove nanosleep.h. 2002-02-25 Paul Eggert * acl.c, acl.h: New files. * Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c. 2002-02-24 Jim Meyering * strnlen.c (strnlen): Define-away/undef so that an inconsistent prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't cause trouble. Reported by Nelson Beebe. 2002-02-23 Paul Eggert * path-concat.c (xpath_concat): Reorder code to pacify compilers that don't know that xalloc_die never returns. 2002-02-20 Jim Meyering * getdate.c: Regenerate using bison-1.33. 2002-02-15 Paul Eggert * posixver.c, posixver.h: New files. * Makefile.am (libfetish_a_SOURCES): Add them. 2002-02-02 Paul Eggert Bruno Haible * unicodeio.h (print_unicode_char): Add exit_on_error argument. (fwrite_success_callback): New declaration. * unicodeio.c (unicode_to_mb): New function, extracted from print_unicode_char. Call failure callback instead of error. (fwrite_success_callback): New function. (exit_failure_callback): New function. (fallback_failure_callback): New function. (print_unicode_char): Call unicode_to_mb. 2002-01-26 Jim Meyering * Makefile.am (getdate$U.o): Depend on unlocked-io.h. 2002-01-22 Jim Meyering * Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES). Otherwise, some versions of automake would omit the rule that makes Makefile from Makefile.in. 2001-01-21 Paul Eggert * xmemcoll.h, xmemcoll.c: New files. * Makefile.am (libfetish_a_SOURCES): Add them. * memcoll.c: Include errno.h, and declare errno if not defined. (memcoll): Set errno to zero if there is no error. * quotearg.c (quotearg_buffer_restyled): Fix bug with quoting buffers containing NUL when backslashing escapes. This bug was exposed by the other changes in this patch. (quotearg_n_options): New arg ARGSIZE. All callers changed. (quoting_options_from_style): New function. (quotearg_n_style): Use it. (quotearg_n_style_mem): New function. * quotearg.h (quotearg_n_style_mem): New function. 2002-01-16 Jim Meyering * getdate.y: Add three semicolons, each just before a closing brace. Bison (as of version 1.31) no longer papers over that mistake. 2002-02-14 Paul Eggert * backupfile.c (ISDIGIT): Comment fix. * getdate.y (ISDIGIT): Likewise. * posixtm.c (ISDIGIT, year): Likewise. * strverscmp.c (ISDIGIT): Likewise. * userspec.c (ISDIGIT): Likewise. 2002-01-05 Jim Meyering * version-etc.c (version_etc_copyright): Update copyright year. 2001-01-19 Paul Eggert * closeout.c (close_stdout_status): If ferror (stdout), do not silently exit merely because the output buffer happens to have nothing pending. 2001-12-18 Paul Eggert See the big note in ../ChangeLog. * human.c (suffixes): Prefer K to k for 1024. (generate_suffix_backwards): New function. (human_readable_inexact): Use it. * xstrtol.c (__xstrtol): If there is no number but there is a valid suffix, assume 1. "MB" now means decimal, "MiB" binary. Accept 'K' as well as 'k'. 2001-12-15 Jim Meyering * regex.h (__restrict_arr): Update from libc. * mountlist.h (ME_REMOTE): Recognize file systems of type smbfs as `remote' if the name starts with `//'. Suggested by Michael Stone. (STREQ): Define. 2001-12-10 Jim Meyering * linebuffer.c: Remove explicit declarations of xmalloc and xrealloc, Instead, include "xalloc.h". (initbuffer): Don't cast xmalloc return value to char*. (readline): Reword comment. Don't cast xrealloc return value to char* Return NULL, not 0. 2001-12-09 Jim Meyering * modechange.c (mode_compile): Add cast to avoid pedantic warning about `signed and unsigned type in conditional expression'. * posixtm.c (posix_time_parse): Likewise. * xreadlink.c (xreadlink): Add cast to avoid a pedantic warning. * readtokens.c (readtoken): Declare an index to be of type unsigned to avoid a pedantic warning. * getstr.c: Don't include assert.h. (getstr): Remove warning-evoking assertions. Return -1 if offset parameter is out of bounds. Change the type of a local from int to size_t. * strftime.c (my_strftime_localtime_r): Include this function definition in the `#if ! HAVE_TM_GMTOFF' block. * xgethostname.c: Remove declarations of xmalloc and xrealloc. Include xalloc.h instead. 2001-12-02 Jim Meyering * tempname.c: Don't declare getenv, thus reverting the change of 2001-11-18. It's no longer necessary, now that stdlib.h is always included. * regex.c [!__BOUNDED_POINTERS__]: Define away __bounded, __unbounded, and __ptrvalue. Reported by Uwe H. Steinfeld. 2001-11-30 Akim Demaille * xstrdup.c: Include xalloc.h, so that xstrdup is declared before being defined. 2001-11-27 Paul Eggert * quotearg.h (quotearg_n, quotearg_n_style): First arg is int, not unsigned. * quotearg.c (quotearg_n, quotearg_n_style): Likewise. (SIZE_MAX, UINT_MAX): New macros. (quotearg_n_options): Abort if N is negative. Avoid overflow check on hosts where size_t is 64 bits and int is 32 bits, as overflow is impossible there. Fix off-by-one typo that caused unnecessary reallocation. 2001-11-27 Jim Meyering * tempname.c: Merge with version from libc. * regex.c: Likewise. * tempname.c: Include stdlib.h unconditionally. On some old systems for which STDC_HEADERS is 0, it was not included, resulting in a warning about an integer-to-pointer conversion problem with getenv. Reported by Volker Borchert. 2001-11-26 Jim Meyering * gtod.h: Remove file. * Makefile.am (libfetish_a_SOURCES): Remove gtod.h. * gettimeofday.c: Don't include gtod.h. (GTOD_init): Remove function. (rpl_gettimeofday): Do its job here instead, rather than aborting. Suggestion from Volker Borchert. 2001-11-23 Jim Meyering * hash.h (struct hash_table): Don't define here. Merely declare it. * hash.c (struct hash_table): Define it here instead. 2001-11-22 Jim Meyering * hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif. 2001-11-18 Paul Eggert * tempname.c (TMP_MAX): Remove; no longer needed. (TEMPORARIES): New macro. (__gen_tempname): Use TEMPORARIES rather than TMP_MAX. This removes an artificial limitation (e.g. HP-UX 10.20, where TMP_MAX is 17576). 2001-11-18 Jim Meyering * tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning on SunOS 4. * Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those files will be created before anything else. 2001-11-17 Jim Meyering * modechange.c (mode_adjust): Fix error introduced on 1999-04-26 that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable rather than group writable. Patch by Juan F. Codagnone. * readtokens.c: Remove explicit declarations of xmalloc and xrealloc, Instead, include "xalloc.h". * mountlist.c: Include unlocked-io.h after all system headers. Remove explicit declarations of xmalloc, xrealloc, and xstrdup. Instead, include "xalloc.h". * argmatch.c, closeout.c, error.c, exclude.c: Include unlocked-io.h. * fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c: Likewise. * mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise. * regex.c, sha.c, version-etc.c, yesno.c: Likewise. Reported by Padraig Brady. * mkstemp.c: #undef mkstemp. Include config.h. (rpl_mkstemp): Rename from mkstemp. Protoize. 2001-11-16 Jim Meyering * physmem.c [HAVE_SYS_PSTAT_H]: Include . (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to determine the amount of total physical memory, use pstat_getstatic. HPUX-11 doesn't define _SC_PHYS_PAGES. (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]: If sysconf couldn't be used to determine the amount of available physical memory, use both pstat_getstatic and pstat_getdynamic. Based on a patch from Bob Proulx. 2001-11-05 Jim Meyering * xstat.in (slash_aware_lstat): Correct a misleading comment. 2001-11-03 Jim Meyering * argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args in argmatch_to_argument call. * dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an argument. * hash.c (hash_clear): Fix a bug that could lead to an infloop or e.g., a fault due to an attempt to free a NULL pointer. 2001-11-01 Jim Meyering * dirfd.c, dirfd.h: New files. * Makefile.am (libfetish_a_SOURCES): Add dirfd.h. * hash.c (hash_print) [TESTING]: Clean up. 2001-10-22 Paul Eggert * hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__, to avoid a warning if -Wall. 2001-10-21 Paul Eggert * regex.c (uintptr_t): Remove macro and decl; it's config.h's job. 2001-10-21 Jim Meyering * obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise, this code would end up calling gettext even in packages built with --disable-nls. * getopt.c (_): Likewise. * regex.c (_): Likewise. 2001-10-20 Paul Eggert * error.c (strerror_r): Do not declare unless !_LIBC. Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P. Use strerror_r that is only a macro, even if it is not a function. (strerror): Check for HAVE_DECL_STRERROR before declaring. (private_strerror): Use prototypes, not old-style function definition. (print_errno_message): New function. Support the POSIX 'int'-flavored strerror_r, as well as the traditional char*-flavored one. (error_tail, error, error_at_line): Use it. 2001-10-11 Jim Meyering * argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ... and quote_n (1, ... to avoid clobbering a buffer. 2001-10-05 Jim Meyering * Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and hash-pjw.h. * hash-pjw.c: New file (factored out of fileutils' remove.c). * hash-pjw.h: New file. 2001-09-30 Jim Meyering * mountlist.c [MOUNTED_GETFSSTAT]: Include , for Apple Darwin. Include sys/mount.h and sys/fs_types.h only if available. (FS_TYPE): Define. (read_filesystem_list): Use FS_TYPE. 2001-09-29 Paul Eggert * exclude.c (excluded_filename): 0 -> false, since it's a boolean context. 2001-09-28 Paul Eggert Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which #defines strtoimax. Also treat the other strto* functions like strtoimax. * xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL. (strtoul): Do not declare if HAVE_DECL_STRTOUL. (strtoimax, strtoumax): Do not declare if already defined as a macro. 2001-09-26 Jim Meyering Most macros in unlocked-io.h had the wrong number of arguments. * gen-uio: New script. (USE_UNLOCKED_IO): Define to 1 if not already defined. * unlocked-io.hin: Remove file. * Makefile.am (unlocked-io.h): Rewrite to use a separate script, rather than trying to embed it here. (EXTRA_DIST): Add gen-uio. Remove unlocked-io.hin Reported by Padraig Brady. 2001-09-25 Volker Borchert * gettimeofday.c (rpl_gettimeofday): Declare local variable `result'. 2001-09-23 Jim Meyering * mountlist.c: Remove useless parentheses in #if directives. (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when the deprecated MOUNTED symbol is no longer defined in mntent.h. 2001-09-22 Jim Meyering * localcharset.c: Update from latest gettext. * config.charset: Likewise. 2001-09-20 Jim Meyering * xstrtol.c (strtoimax): Guard declaration with `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'. The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0) have their own, conflicting declaration of strtoimax in sys/inttypes.h. (strtoumax): Likewise, for completeness (it wasn't necessary). 2001-09-06 Paul Eggert * strtoimax.c (HAVE_LONG_LONG): Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned. (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base), to work around bug in IBM C compiler. 2001-09-16 Jim Meyering * mkdir.c: New file. 2001-09-04 Paul Eggert * xgetcwd.c: Revert some of the previous change; intead, fix the HAVE_GETCWD_NULL code to behave more like the !HAVE_GETCWD_NULL code used to. Include "xalloc.h". (xgetcwd): Do not return NULL when memory is exhausted; instead, invoke xalloc_die. 2001-09-04 Paul Eggert * xreadlink.c (xreadlink): Omit size_t* arg. All uses changed. Use ssize_t, not int, to store result of readlink. Check for ssize_t overflow as well as size_t overflow, as POSIX says the result of readlink is implementation-defined when ssize_t overflows. Remove unnecessary cast to char*. Use free+malloc instead of realloc, as the storage doesn't need to be preserved and it's clearer and can be more efficient that way. (SIZE_MAX, SSIZE_MAX): New macros, if doesn't declare. * xreadlink.h (xreadlink): Update prototype. 2001-09-03 Paul Eggert * exclude.c (fnmatch_no_wildcards): Fix confusion between usage of FNM_CASEFOLD and FNM_LEADING_DIR. The bug was spotted by Jim Meyering. 2001-09-03 Jim Meyering * xreadlink.c (xreadlink): Preserve errno around `free' during failure. 2001-09-03 Paul Eggert * xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more like the HAVE_GETCWD_NULL code. Include pathmax.h if not HAVE_GETCWD. Do not include xalloc.h. (INITIAL_BUFFER_SIZE): New symbol. Do not use xmalloc / xrealloc, since the caller is responsible for handling errors. Preserve errno around `free' during failure. Do not overrun buffer when using getwd. 2001-09-03 Paul Eggert * xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined __GLIBC__ && __GLIBC__ >= 2), to decide whether to use getcwd (NULL, 0). 2001-09-02 Jim Meyering * error.c: Update from GNU libc. 2001-09-01 Jim Meyering * xreadlink.c: New file. * xreadlink.h: New file. * Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and xreadlink.h. * regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it doesn't conflict with sparc Solaris 7's definition in /usr/include/sys/int_types.h. * exclude.c: Use `""', not `<>' to #include non-system header files. (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp and strncasecmp as r-values. Unixware didn't have declarations. 2001-08-31 Jim Meyering * xgetcwd.c (xgetcwd): Reorganize to avoid some duplication. Use an initial, malloc'd, buffer of length 128 rather than a statically allocated one of length 1024. 2001-08-30 Paul Eggert * xgetcwd.c: Don't include pathmax.h. Include stdlib.h and unistd.h if available. Include xalloc.h. (xmalloc, xstrdup, free): Remove decls. (xgetcwd): Don't assume sizes fit in unsigned. Check for overflow when computing sizes. Simplify reallocation code. 2001-08-28 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c. * strtoimax.c: Renamed from strtoxmax.c, removing the old strtoimax.c. Also, make the following further changes to make this file's configuration more similar to that of strtol.c: (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED. All uses changed. (strtoumax, uintmax_t, strtoull, strtol): Remove. (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED. (strtoimax): Renamed from strtoumax. All uses of unsigned values changed to signed values. And make the following changes as well: Fix copyright notice, as 1999 was missing. (verify): New macro. (strtoimax): Check sizes at compile-time, not run-time. Prefer strtol to strtoll if both work. (main): Remove; it was not that useful and was a pain to maintain. * strtoumax.c: Include strtoimax.c, not strtouxmax.c. 2001-08-30 Paul Eggert * savedir.c (savedir): Remove size parameter, as POSIX says that a directory's st_size can have an arbitrary value, so the old usage could waste an arbitrary amount of memory. All uses changed. * savedir.h: Update prototype. 2001-08-30 Paul Eggert * xstrtol.c (strtoimax): New decl. 2001-08-28 Paul Eggert * xstrtol.h: Add copyright notice. (_DECLARE_XSTRTOL): Improve quality of diagnostic for LONGINT_INVALID_SUFFIX_CHAR. 2001-08-30 Paul Eggert * quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct tm to be declared. 2001-08-30 Paul Eggert * hash.c: Remove '2001' from copyright notice. 2001-08-30 Paul Eggert * full-write.h: New file. * Makefile.am (libfetish_a_SOURCES): Add full-write.h. * full-write.c: Correct credits, as cccp.c no longer exists and anyway it was so heavily changed from the old cccp code as to be unrecognizable. Include full-write.h. (full_write) Return size_t, with short writes meaning failure. All callers changed. This fixes a bug with large buffers on 64-bit hosts. * utime.c: Include full-write.h. 2001-08-30 Paul Eggert Merge 'exclude' changes from tar 1.13.22. This fixes one or two unlikely storage allocation overflow bugs, but doesn't change user-visible behavior otherwise. 2001-08-30 Paul Eggert * exclude.c (bool): Declare, perhaps by including stdbool.h. (): Include only if HAVE_SYS_TYPES_H. (, , , , ): Include if available. (): Include (SIZE_MAX): Define if or doesn't. (verify): New macro. Use it to verify that EXCLUDE macros do not collide with FNM macros. (struct patopts): New struct. (struct exclude): Use it, as exclude patterns now come with options. (new_exclude): Support above changes. (new_exclude, add_exclude_file): Initial size must now be a power of two to simplify overflow checking. (free_exclude, fnmatch_no_wildcards): New function. (excluded_filename): No longer requires options arg, as the options are determined by add_exclude. Now returns bool, not int. (excluded_filename, add_exclude): Add support for the fancy new exclusion options. (add_exclude, add_exclude_file): Now takes int options arg. Check for arithmetic overflow when computing sizes. (add_exclude_file): xrealloc might modify errno, so don't realloc until after errno might be used. * exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS): New macros. (free_exclude): New decl. (add_exclude, add_exclude_file): Now takes int options arg. (excluded_filename): No longer requires options arg, as the options are determined by add_exclude. Now returns bool, not int. 2001-08-30 Paul Eggert * alloca.c (alloca): Arg is of type size_t, not unsigned. 2001-08-27 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c * version-etc.c (N_): Remove definition. Revert most of last change. Instead, simply don't mark the `Copyright...' string for translation. Based on advice from Paul Eggert. * strtoxmax.c: Tweak comment. 2001-08-26 Jim Meyering * version-etc.c (version_etc_copyright_fmt): Replace literal year of copyright with `%s' so translators don't get an untranslated message in 2002. (COPYRIGHT_YEAR): Define. (version_etc): Use fprintf rather than fputs. Suggestion from Ulrich Drepper. * Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c. * strtoll.c: New file, from GNU libc. * xstrtoimax.c: New file. * xstrtol.h: Add xstrtoimax. * strtoumax.c: New file. Simply include "strtoumax.c". * strtoimax.c: New file. Likewise, but first define STRTOUXMAX_SIGNED. * strtoumax.c: Factor to work both for unsigned and signed types, ... * strtoxmax.c: ... then renamed to this. 2001-08-13 Paul Eggert * Makefile.am (unlocked-io.h): Do not append "_unlocked" twice. Port to Solaris 8, where 'sed' requires a space after the 'r' command, and where sh dislikes "$/". Clean up the spacing a bit. Redirect output to $tmp just once. 2001-08-12 Paul Eggert * addext.c (): Include. (errno): Declare if not defined. (addext): Work correctly when pathconf returns -1 and leaves errno alone because there is no limit. Also, work even if pathconf returns a value greater than SIZE_MAX. 2001-08-12 Jim Meyering * xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]: Simply `return getcwd (NULL, 0);'. [! (defined __GLIBC__ && __GLIBC__ >= 2)]: Use 1300 as initial value for length, not PATH_MAX. * pathmax.h: Clean up cpp syntax. 2001-08-12 Jim Meyering * gettimeofday.c: New file. * gtod.h: New file. * Makefile.am (libfetish_a_SOURCES): Add gtod.h. 2001-08-04 Jim Meyering * error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if stmt, to get in sync with glibc. 2001-08-03 Paul Eggert The following changes are from gettext 0.10.39 as maintained by Bruno Haible. * mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID): Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID with inverted sense. All uses changed. * mbswidth.c: Don't include . Include and unconditionally. (iswcntrl, mbsinit, ISCNTRL): New macros. (mbsnwidth): Use K&R style function declarations. Don't bother checking for MB_LEN_MAX == 1, since the compiler can optimize it when MB_CUR_MAX == 1. The width of control characters is zero, not 1. 2001-07-15 Jim Meyering * Makefile.am (EXTRA_DIST): Add unlocked-io.hin. (BUILT_SOURCES): Add unlocked-io.h. (io_functions): Define. (unlocked-io.h): New rule. (DISTCLEANFILES): Add unlocked-io.h. (all-local): Depend on unlocked-io.h, to ensure it is created. * unlocked-io.hin: New file * regex.c: Update from glibc. 2001-07-05 Jim Meyering * Makefile.am (noinst_HEADERS): Remove definition, per new automake recommendation. (libfetish_a_SOURCES): Put all .h files here instead. Remove a thus-exposed (better checks in automake) duplicate and two unnecessary .h files. 2001-06-11 Jim Meyering * regex.c: Update from GNU libc. 2001-05-27 Jim Meyering * readutmp.h (UT_TYPE): Define. 2001-05-24 Jim Meyering * argmatch.c: Include "quote.h". (argmatch_invalid): Remove explicit `' quotes. Instead, use the quote function. Reported by Göran Uddeborg. 2001-05-20 Alexandre Duret-Lutz * dirname.c (dir_name): Compute append_dot using path, not newpath which is not yet declared. 2001-05-11 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Add strftime.c, since we now compile it on all hosts. * strftime.c (my_strftime): Define to nstrftime if emacs, but only if my_strftime is not defined. (extra_args, extra_args_spec, extra_args_spec_iso): Rename from ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively. Add one more extra argument: a nanoseconds value. All uses changed. (ns): New macro. (my_strftime function): Add %N format. (emacs_strftimeu): Renamed from emacs_strftime, with extra ut argument. 2001-05-11 Paul Eggert dirname code cleanup. base_name now behaves more compatibly with POSIX basename when given file names that have trailing slashes, and similarly for dir_name. Add new primitives base_len and dir_len. Put the directory-name-related decls into dirname.h. * addext.c (ISSLASH, base_name): Remove; now in dirname.h. * backupfile.c (base_name): Likewise. * basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise. * dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise. * makepath.c (strip_trailing_slashes): Likewise. * path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise. * rename.c (strip_trailing_slashes): Likewise. * same.c (base_name): Likewise. * stripslash.c (ISSLASH): Likewise. * addext.c: Include after size_t is defined. * backupfile.c: Likewise. * addext.c (addext): Use base_len to trim redundant trailing slashes instead of doing it ourselves. But do not trim the last slash if it is not redundant. * backupfile.c (find_backup_file_name, max_backup_version): Use base_len instead of rolling it ourselves. Handle the case of "" and (on DOS) "C:" correctly. * basename.c: Do not include , ; no longer needed. Include , . (base_name): Allow file names ending in slashes, other than names that are all slashes. In this case, return the basename followed by the slashes. This is more general, and can be used in places where the original base_name purposely had an assertion failure. (base_len): New function. * dirname.c: Include instead of . Do not include ; no longer needed. Include xalloc.h. (memrchr): Remove decl. (dir_name_r): Remove. (dir_len): Renamed from dirlen. All callers changed. Rewrite in terms of base_name, for simplicity and consistency. (dir_name): Never return NULL. All callers changed. Do not include in test program; no longer needed. return 0; is fine for test program. * dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN): New macros. (base_name, base_len, dir_len, strip_trailing_slashes): New decls. * path-concat.c (path_concat): Use base_len to compute base length, not strlen; this means we cannot rely on memcpy to null-terminate. * same.c (STREQ): Remove. (same_name): Handle the case where the basename ends in trailing '/'. * stripslash.c (strip_trailing_slashes): Return nonzero if a slash was stripped. Do not strip the last slash after a file system prefix. 2001-04-08 Jim Meyering * getdate.y (get_date): Set tm_isdst to -1 to ensure that it is recomputed; that's necessary when the offset spans a DST transition. Patch by David J. MacKenzie. Reported by Hon-Yin Kok. 2001-04-02 Jim Meyering * regex.h, regex.c: Update from GNU libc. 2001-03-19 Paul Eggert * version-etc.c (version_etc_copyright): Update to 2001. 2001-03-16 Paul Eggert * tempname.c (uint64_t): Define to uintmax_t if not defined, and if UINT64_MAX is not defined. Required at least for Vax Ultrix4.3, which doesn't define uint64_t. Reported by John David Anglin. 2001-03-10 Bruno Haible * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve alias if codeset is empty. * config.charset (BeOS): Use wildcard syntax. 2001-03-13 Jim Meyering * path-concat.c (path_concat) [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when concatenating e.g., `C:' and `foo'. From Bruno Haible. 2001-03-06 Bruno Haible * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL). Don't return NULL. * unicodeio.c (print_unicode_char): Simplify accordingly. 2001-03-06 Bruno Haible * config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add support for DOS/DJGPP. 2001-02-28 Paul Eggert * Makefile.am (libfetish_a_SOURCES): Add dup-safer.c, fopen-safer.c. (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h. * dup-safer.c, fopen-safer.c, stdio-safer.h, unistd-safer.h: New files. 2001-02-25 Paul Eggert The mkstemp replacement is taken from glibc 2.2.2, with some portability fixes for use outside glibc, as follows: * tempname.c (struct_stat64): New macro. (direxists, __gen_tempname): Use it. This avoids a portability problem with Solaris 8. * tempname.c (): Include if HAVE_CONFIG_H. (, , ): Include only if STDC_HEADERS || _LIBC. (): Include only if HAVE_FCNTL_H || _LIBC. (): Include only if HAVE_UNISTD_H || _LIBC. (): Include only if HAVE_SYS_TIME_H || _LIBC. (__set_errno): Define this macro if doesn't. (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE): Define these macros if doesn't. (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR): Define these macros if doesn't. Ignore S_ISDIR if STAT_MACROS_BROKEN. (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64, __xstat64): Define if not _LIBC. (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC). (__gen_tempname): Invoke gettimeofday only if HAVE_GETTIMEOFDAY || _LIBC; otherwise, fall back on plain "time". Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600. * mkstemp.c (__GT_FILE): Define to zero if not defined. * mkstemp.c, tempname.c: New files, taken from glibc 2.2.2. 2001-02-17 Jim Meyering * strtoul.c: Sync from GNU libc. Use double quotes, not <...> around included file name. * strnlen.c (__strnlen): Merge in a change from GNU libc. * strftime.c: Update from GNU libc (the only changes were to comments). 2001-02-13 Bruno Haible * mbswidth.h (mbswidth): Also define as macro, to avoid prototype clash. 2001-02-17 Paul Eggert * mbswidth.c, quotearg.c (mbrtowc, mbsinit): Remove workaround macros for hosts that have mbrtowc but not mbstate_t, as we now insist on proper declarations for both before using mbrtowc. 2001-02-17 Jim Meyering * regex.c: Update from libc. 2001-02-16 Paul Eggert * alloca.c (malloc): Undef before defining, since stdlib.h may have defined it. Needed for Encore Umax-3.0.9.16b systems. Reported by Mark Hounschell via Paul Eggert. 2001-01-30 Bruno Haible * config.charset: Update for FreeBSD 4.2. 2001-01-26 Jim Meyering * quotearg.c: Include stddef.h. * quote.c: Include stddef.h. Reported by Axel Kittenberger. * xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking line in double quotes so that it evokes a better diagnostic. [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise. Reported by Axel Kittenberger. 2001-01-15 Bruno Haible * unicodeio.c (print_unicode_char): Cast the second iconv() arg, to avoid a warning. Add back 'const' to inptr. 2001-01-16 Jim Meyering * basename.c: Include , needed by assert on SunOS 4. From Bruno Haible. 2001-01-14 Jim Meyering * rename.c: New file. From Volker Borchert. Include stdlib.h, string.h or strings.h, and xalloc.h. Use strip_trailing_slashes rather than open-coding it. 2001-01-03 Paul Eggert * strftime.c: Sync with glibc time/strftime.c 1.81. 2001-01-03 Jim Meyering * unicodeio.c (print_unicode_char): Remove `const' from declaration of local `inptr' to avoid warning with some system declarations of iconv. 2000-12-29 Paul Eggert * modechange.c: Do not assume that mode_t uses the traditional octal encoding. E.g. "chmod 1 FOO" should set the other-execute bit of FOO even if S_IXOTH != 1. (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH, WOTH, XOTH, ALLM): New macros. (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH): Use them. (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID. (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above. (mode_compile): No need to use uintmax_t; unsigned long is long enough. Don't bother to get suffix since we don't use it. 2000-12-24 Jim Meyering * hash.c (is_prime): Return explicit boolean values. (hash_get_first): Return NULL to appease Irix5.6's 89. Reported by Nelson Beebe. 2000-10-31 Bruno Haible * localcharset.c (locale_charset): Add support for Win32. 2000-12-18 Paul Eggert * physmem.h, physmem.c: New files. * Makefile.am (libfetish_a_SOURCES): Add physmem.c. (noinst_HEADERS): Add physmem.h. * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and 't' for compatibility with Solaris 8 sort. 2000-12-18 Bruno Haible * config.charset: Add support for BeOS. 2000-12-16 Jim Meyering * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define SHELLS_FILE to a file name that's useful on djgpp systems. Include stdlib.h. (ADDITIONAL_DEFAULT_SHELLS): Define. (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS. Based mostly on a patch from Prashant TR. 2000-12-16 Jim Meyering This bug had a serious impact on chown: `chown N:M FILE' (for integer N and M) would have treated it like `chown N:N FILE'. * userspec.c (parse_user_spec): Fix typo: s/u/g/. 2000-10-31 Bruno Haible * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312. 2000-12-08 Andreas Schwab * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set. 2000-12-07 Jim Meyering * stripslash.c (ISSLASH): Define. (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'. From Prashant TR. * dirname.c (FILESYSTEM_PREFIX_LEN): Define. (dir_name_r): Declare this function as static. [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd manifest itself on a name containing a mix of slashes and backslashes. Make this function work with names starting with a DOS-style drive letter and colon prefix. (dir_name): Append `.' if necessary. Based mostly on patches from Prashant TR and Eli Zaretskii. * dirname.h (dir_name_r): Remove prototype. 2000-12-05 Jim Meyering * dirname.c (dir_name_r): Add `const' in a few local declarations. 2000-12-04 Jim Meyering * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc. Also include memory.h, stdlib.h, unistd.h if appropriate. Reported by Andreas Jaeger (conflicting declaration of malloc). 2000-12-02 Jim Meyering * closeout.h: Make idempotent, to avoid some obscure warnings. 2000-12-01 Paul Eggert * memrchr.c: Include before any system include file. 2000-11-29 Paul Eggert * dirname.c (dir_name_r): Fix typo: int -> size_t. 2000-11-26 Jim Meyering * memcoll.c: Include sys/types.h. From Werner Almesberger. 2000-11-22 Paul Eggert * strftime.c (my_strftime): Do not invoke mbrlen with a size of (size_t) -1; it's not portable. 2000-11-17 Akim Demaille * obstack.h: Formatting changes. (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would prevent type checking. (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't cast the value to (void *): assigning a `foo *' to a `void *' variable is valid. (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int. 2000-11-17 Jim Meyering * strstr.c: Update from GNU libc. 2000-11-16 Jim Meyering * strverscmp.c: Incorporate weak-alias-related changes from glibc. 2000-11-11 Jim Meyering * error.c: Add a couple #includes, merging from GNU libc version. 2000-11-10 Jim Meyering * obstack.h: Update from GNU libc. * obstack.c: Likewise. 2000-11-06 Paul Eggert * getusershell.c (setusershell): Use rewind rather than fseek/fseeko, to avoid configuration hassles with fseeko. Don't bother opening SHELLS_FILE if shellstream is NULL; it's not necessary. 2000-11-05 Jim Meyering * makepath.h (make_dir): Declare. * makepath.c (make_dir): Remove `static' attribute. Tweak a comment. 2000-11-04 Alexandre Duret-Lutz * hash.c (hash_get_next): Fix a thinko: when ENTRY is the last one in a bucket, advance to the next bucket. 2000-11-02 Vesselin Atanasov * fnmatch.c: Do not comment out all the code if we are using the GNU C library, because in some cases we are replacing buggy code in the GNU C library itself. 2000-10-30 Paul Eggert * error.h, getline.h, modechange.h: Remove "2000" from Copyright line, as the file hasn't been changed this year other than in the copyright notice. * xalloc.h: Add "2000" to Copyright line, as this file was changed this year. 2000-10-30 Paul Eggert * fnmatch.c (FOLD): Do not assume that characters are unsigned. (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs, e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero. 2000-10-29 Greg Louis * regex.h (__restrict_arr): Move definition out of #ifndef block. Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but doesn't define __restrict_arr. 2000-10-29 Jim Meyering * xstat.in: Fix grammar in comment. 2000-10-28 Jim Meyering * memchr.c: Update from libc. Adjust for portability: [HAVE_STDLIB_H]: Include stdlib.h. [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h. Undef __memchr, too. [!weak_alias]: Define __memchr to memchr. * regex.c: Update from libc. * regex.h: Likewise. * getopt1.c: Likewise. * memcmp.c: Likewise. * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko. Avoid using fseek, when possible -- it's broken by design. Patch by Ulrich Drepper. 2000-10-26 Jim Meyering * strftime.c: Update from libc. 2000-10-25 Jim Meyering * obstack.c: Update from libc. 2000-10-23 Jim Meyering * hard-locale.c (hard_locale): Revert last change -- it was simply wrong. That set_locale call must not have any side effects. From Paul Eggert. 2000-10-22 Jim Meyering * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC. [CYCLIC]: Remove now-unused definition. * save-cwd.c (O_DIRECTORY): Define, if needed. (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".". Suggestion from Ulrich Drepper. 2000-10-21 Jim Meyering * dirname.c (dir_name_r): New function, factored out of dir_name. (dir_name): Use dir_name_r. * dirname.h (dir_name_r): Declare it. 2000-10-21 Jim Meyering * dirname.c (memrchr): Declare if necessary. (dir_name): Remove the restriction that there be no trailing slashes. Now, this code skips past them, effectively ignoring them. [TEST_DIRNAME] (main): New unit tests. * memrchr.c: New file from GNU libc. Undef __memrchr, too. [!weak_alias]: Define __memrchr to memrchr. Guard weak_alias use with `#ifdef weak_alias'. 2000-10-17 Jim Meyering * quote.h (PARAMS): Define and use. Reported by Akim Demaille. * getopt.c: Update from libc. 2000-10-16 Jim Meyering * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale. From Jan Fedak. 2000-09-25 Jim Meyering * md5.h (rol): Define (from GnuPG). * sha.c: Give credit (GnuPG) where due. (M): Use rol rather than open-coding it. Add a FIXME comment. 2000-09-21 Jim Meyering * userspec.c (parse_user_spec): Remove debugging printf I'd added. Reported by Michael Stone. 2000-09-20 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Add sha.c. (noinst_HEADERS): Add sha.h. Based on code from Scott G. Miller and from GnuPG. 2000-09-15 Jim Meyering * regex.c: Update from libc. 2000-09-10 Jim Meyering * getopt.c (_getopt_internal): Update from glibc. 2000-09-09 Jim Meyering * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't think it should be used as a general replacement for isascii. * fnmatch.c: Likewise. * mbswidth.c: Likewise * regex.c: Likewise. Don't use atoi. * userspec.c: Include sys/param.h and limits.h. Include xstrtol.h. (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define. (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define. (parse_user_spec): Use xstrtoul, not atoi when converting numeric UID, GID. Check range. 2000-09-06 Jim Meyering * getopt.c (_getopt_internal): Update from glibc. 2000-08-30 Jim Meyering * strftime.c: Merge in changes from GNU libc. 2000-08-26 Jim Meyering * closeout.c: Include "__fpending.h". (close_stdout_status): Return right away if there's nothing to flush. * Makefile.am (noinst_HEADERS): Add __fpending.h. * __fpending.c: New file. * __fpending.h: New file. 2000-08-07 Paul Eggert Standardize on "memory exhausted" instead of "Memory exhausted" or "virtual memory exhausted". * obstack.c (print_and_abort): Use "memory exhausted", not "virtual memory exhausted". * same.c (same_name): Invoke xalloc_die instead of printing our own message. * userspec.c (parse_user_spec): Likewise. * bumpalloc.h: comment fix * same.c, userspec.c: Include xalloc.h. * xalloc.h (xalloc_msg_memory_exhausted): Now char const[], not char *const and pointing to a constant array. * xmalloc.c (xalloc_msg_memory_exhausted): Likewise. (xrealloc): Comment fix. * userspec.c (parse_user_spec): Don't translate a message until just before returning, to avoid unnecessary translation. 2000-08-07 Jim Meyering * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h, chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c, fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h, getgroups.c, gethostname.c, getopt.h, group-member.c, hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c, linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c, memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h, pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c, stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c, strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c, utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c, yesno.c: Back out Copyright date changes for each file with no change this year. This eases coordination with other programs using the same source code modules. From Paul Eggert. 2000-08-03 Greg McGary * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros. (EXTEND_BUFFER): Use them. 2000-08-01 Jim Meyering * dirname.c (ISSLASH): Define. (BACKSLASH_IS_PATH_SEPARATOR): Define. (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which both `\' and `/' may be use as path separators. Based on a patch from Prashant TR. 2000-07-31 Paul Eggert * quotearg.c (quotearg_n_options): Don't make the initial slot vector a constant, since it might get modified. 2000-07-31 Jim Meyering * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'. * obstack.c (print_and_abort): Likewise. 2000-07-30 Paul Eggert * quotearg.c (quotearg_n_options): Preallocate a slot 0 buffer, so that the caller can always quote one small component of a "memory exhausted" message in slot 0. From a suggestion by Jim Meyering. 2000-07-30 Jim Meyering * makepath.c (make_path): Quote the other instance, too. * quotearg.c (N_STATIC_SLOTVECS): Define. (STATIC_BUF_SIZE): Define. (quotearg_n_options): Use only statically allocated storage when N < N_STATIC_SLOTVECS and the length of the quoted result is smaller than STATIC_BUF_SIZE. 2000-07-29 Jim Meyering * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS. * dirname.c (dir_name): Likewise. * basename.c (base_name): Use ISSLASH rather than comparing against `/'. * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const. (dir_name): Assert that there are no trailing slashes. 2000-07-18 Bruno Haible * mbswidth.h (mbswidth): Add a flags argument. (mbswidth): New declaration. (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros. * mbswidth.c (mbswidth): Add a flags argument. (mbsnwidth): New function. 2000-07-24 Jim Meyering * mbswidth.c: Remove useless #else. From Bruno Haible. 2000-07-23 Paul Eggert * mbswidth.c (_XOPEN_SOURCE): Don't define; this causes problems on Solaris 7. (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare. 2000-07-23 Paul Eggert * quotearg.c: Include even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX), so that mbstate_t is always defined. Do not inspect MB_LEN_MAX, since it's incorrectly defined to be 1 in at least one GCC installation, and this configuration error is likely to be common. Ignoring MB_LEN_MAX hurts performance on hosts that have mbrtowc but have only unibyte locales, but I assume these hosts are rare. 2000-07-23 Paul Eggert * quotearg.c: Streamline by invoking multibyte code only if needed. : Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX. (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX). (quotearg_buffer_restyled): If a unibyte locale, don't bother to invoke multibyte primitives. 2000-07-23 Jim Meyering * basename.c (base_name): Add an assertion. 2000-07-15 Bruno Haible * quotearg.c: When the system forces us to redefine mbstate_t, shadow its mbsinit function. 2000-07-16 Bruno Haible * mbswidth.h: New file. * mbswidth.c: New file. * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c. (noinst_HEADERS): Add mbswidth.h. 2000-07-17 Bruno Haible * config.charset: Add support for FreeBSD. Improve support for HP-UX and IRIX 6. 2000-07-15 Jim Meyering * makepath.c: Include quote.h. (make_path): Convert "`%s'" in format strings to "%s", and wrap each corresponding argument in a `quote (...)' call. Give better diagnostics. * Makefile.am (libfetish_a_SOURCES): Add quote.c. (noinst_HEADERS): Add quote.h. * quote.c (quote, quote_n): New file. Two functions taken verbatim from tar's src/misc.c. * quote.h: New file. Prototypes for same. 2000-07-10 Paul Eggert From a suggestion by Bruno Haible. * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition. Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT, to decide whether to define the BeOS workaround macro; this adjusts to the change to AC_MBSTATE_T. 2000-07-13 Paul Eggert * quotearg.h (enum quoting style): New enum clocale_quoting_style. * quotearg.c (quoting_style_args, quoting_style_vals, quotearg_buffer_restyled): Add support for clocale_quoting_style. Undo previous change to locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}" and "{RIGHT QUOTATION MARK}" msgids. 2000-07-05 Paul Eggert The old behavior of quoting `like this' doesn't look good with newer, ISO-style fonts. See: http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html Instead, quote "like this" by default. Let the translator tailor the locale-specific quoting behavior by providing translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}. * quotearg.c (N_): New macro. (gettext_default): New function. (quotearg_buffer_restyled): Use gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote. 2000-07-09 Jim Meyering * Most files: Update copyright dates to include 2000. 2000-07-08 Jim Meyering * xgethostname.c (ENAMETOOLONG): Define to an unlikely value if not defined. (xgethostname): Remove now-unnecessary #ifdef. Move declaration of `err' into loop where it's used. 2000-07-05 Bruno Haible * xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug by allocating a larger buffer. Test the gethostname return value for being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname returns an error and ENAMETOOLONG isn't defined. 2000-07-05 Paul Eggert and Bruno Haible * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't. 2000-07-05 Bruno Haible * quotearg.c (struct quoting_options): Simplify quote_these_too dimension. 2000-07-03 Jim Meyering * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen. Reported by Bruno Haible. 2000-07-04 Jim Meyering * quotearg.c: Make inclusion of independent of whether HAVE_MBRTOWC is set. Required at least for irix-5.6, which lacks mbrtowc. 2000-07-03 Paul Eggert and Bruno Haible * quotearg.c (mbrtowc): Assign to *pwc, and return 1 only if result is nonzero. (iswprint): Use ISPRINT when substituting our own mbrtowc. 2000-07-03 Jim Meyering * readutmp.h: [HAVE_UTMPX_H]: Include if HAVE_UTMP_H. This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20. From Bob Proulx. 2000-07-02 Jim Meyering * quotearg.c (mbstate_t): Don't define here. 2000-07-02 Jim Meyering * nanosleep.c (SIGCONT): Define if not already defined. 2000-06-17 Bruno Haible * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV, per change in ../m4/ls-mntd-fs.m4. (read_filesystem_list): Ignore symbolic links. 2000-06-29 Jim Meyering * same.c: Include or , as appropriate, for declaration of strcmp. * long-options.c: Include , for declaration of exit. * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]: Avoid warning by casting result to `char *' to remove `const'. 2000-06-17 Bruno Haible * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c. 2000-06-26 Paul Eggert savedir now sets errno on failure and invokes xmalloc to get memory. Fix a couple of other minor bugs while we're at it. * savedir.c (): Do not include; there's no need. (NAMLEN): Remove macro. (malloc, realloc): Remove decls. (stpcpy): Likewise. ("xalloc.h"): Include. (NAME_SIZE_DEFAULT): New macro. (savedir): Use xmalloc / xrealloc to allocate memory. Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero. Skip "" directory entries. Use strlen to calculate directory entry length, since the old method is rarely used these days and isn't worth supporting. Don't use a pointer after freeing it. Check for integer overflow when calculating allocation size. Use memcpy to copy entries, instead of stpcpy. Set errno properly when returning NULL. Check for readdir error. 2000-06-26 Jim Meyering * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort. 2000-06-17 Bruno Haible * getusershell.c (xmalloc, xrealloc): Remove functions. Include xalloc.h. Don't include . Don't declare malloc, realloc. 2000-06-23 Bruno Haible * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency. 2000-06-24 Jim Meyering * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r. 2000-06-21 Jim Meyering * getpass.c: New file, from Bruno Haible. Required for BeOS. 2000-06-19 Paul Eggert * quotearg.c: Include after , for Solaris 2.5. (mbrtowc, mbstate_t): Define substitutes if HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT. (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT, not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H). 2000-06-17 Bruno Haible * xgetcwd.c (xgetcwd): If the required pathname length is smaller than 1024, return a memory chunk of least possible size, instead of size PATH_MAX + 2. In the loop, increment the size proportionally. Use free/xmalloc instead of xrealloc to avoid copying for very long paths. 2000-06-17 Bruno Haible * canon-host.c (canon_host): Use malloc and memcpy to copy an address, not strdup. Include and don't declare free(). 2000-06-17 Bruno Haible * path-concat.c (path_concat): Don't access dir[-1] if dir is the empty string. 2000-06-21 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Add getstr.c. (noinst_HEADERS): Add getstr.h. * getline.c (getstr): Move into a separate file. * getstr.c (getstr): New file, extracted from getline.c, with the following changes: new parameter, delim2; both delim[12] parameters have type `int', not `char'. The latter would lose with 8-bit delimiters. * getstr.h: New file. 2000-06-19 Jim Meyering * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define. 2000-06-18 Jim Meyering * mkdir.c: Remove file, due mainly to copyright incompatibility. Besides, these days every porting target provides a mkdir function. * strnlen.c: Include memory.h, string.h, and/or strings.h as needed. (this snippet comes from src/system.h). 2000-06-15 Paul Eggert * human.c (adjust_value): New function. (human_readable_inexact): Apply rounding style even when printing approximate values. 2000-06-14 Paul Eggert * human.c (human_readable_inexact): Allow an input block size that is not a multiple of the output block size, and vice versa. Reported by Piergiorgio Sartor. 2000-06-14 Paul Eggert * getdate.y (get_date): Apply relative times after time zone indicator, not before. Reported by Todd A. Jacobs. 2000-06-13 Jim Meyering * Makefile.am (all-local): Depend on lstat.c and stat.c. * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c. 2000-06-12 Paul Eggert * xstat.in: Include in lstat, to declare "free". 2000-06-04 Paul Eggert * strnlen.c: Include if HAVE_CONFIG_H. 2000-06-04 Jim Meyering * getugroups.c (getugroups): Cast -1 to gid_t, for systems like SunOS 4.1.4 for which gid_t is an unsigned type. 2000-06-03 Jim Meyering * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr. 2000-05-26 Bruno Haible * Makefile.am (install-exec-local): On systems with glibc-2.1 or newer, don't install charset.alias. * config.charset: Change the Linux/glibc rules so they become empty on glibc-2.1 or newer. 2000-06-02 Jim Meyering * mountlist.c: Back out last change. Instead, do this... * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy member using the same `ignore'-testing code. * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored fs_type strings. From Mark D. Roth. 2000-05-29 Jim Meyering * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts with the `ignore' attribute. Based on a patch from Mark D. Roth. 2000-05-22 Jim Meyering * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block. 2000-05-18 Jim Meyering * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list back, too, since it may have been modified by allocate_entry. (hash_delete): Rewrite to use neither the assignment operator nor the comma operator in an if-expression. 2000-05-15 Paul Eggert * closeout.c: , , , (STDOUT_FILENO): Remove; no longer needed. "quotearg.h": Add include. (file_name): Do not bother to explicitly initialize to NULL; it's less efficient on some hosts. (close_stdout_status): Remove test as to whether stdout was already closed; it breaks for the case "echo x | sort >&-". Quote file name colons. Do not assume that _("write error") lacks format strings. 2000-05-15 Jim Meyering * version-etc.c (version_etc_copyright): Update the copyright string used in all --version output. 2000-05-14 Jim Meyering * closeout.c (close_stdout_set_file_name): New function. (close_stdout_status): Use new file-scoped global. Return right away if fstat says the stdout file descriptor is invalid. * closeout.h (close_stdout_set_file_name): Declare. 2000-05-10 Jim Meyering * closeout.c [default_exit_status]: New file-scoped variable. (close_stdout_set_status): New function. * closeout.h (close_stdout_set_status): Declare. 2000-05-08 Jim Meyering * long-options.c: Don't include closeout.h. (parse_long_options): Don't call close_stdout for --version. 2000-05-06 Jim Meyering * strnlen.c: Undefine __strnlen and strnlen. [!weak_alias]: Define __strnlen to strnlen. * atexit.c: New file, from libiberty. 2000-05-06 Jim Meyering * closeout.c (close_stdout_status): Also check for errors on the stderr stream. 2000-05-05 Bruno Haible * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy instead of xmalloc, xrealloc, path_concat. (locale_charset): Treat empty environment variables as absent. (DIRECTORY_SEPARATOR, ISSLASH): New macros. 2000-05-04 Jim Meyering * getopt.c: Update from glibc. * obstack.c: Likewise. * obstack.h: Likewise. * regex.c: Likewise. NB: K&R compiler support is dropped for this file * regex.h: Likewise. * strndup.c: Likewise. * strnlen.c: New file, from glibc. 2000-05-01 Jim Meyering * full-write.c (full_write): Remove `FIXME' part of comment. 2000-04-29 Jim Meyering * path-concat.c: Declare strdup only if it's not defined. * canon-host.c: Likewise. 2000-04-28 Jim Meyering * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid redefinition warning on some systems (HPUX). Otherwise, regex.h is included first, then limits.h is included by locale.h by libintl.h. From John David Anglin. 2000-04-25 Jim Meyering * makepath.c (S_IRWXUGO): Define. (make_path): Always perform explicit chmod if MODE specifies any of the `special' permission bits. Prompted by a bug report against install from Mate Wierdl and Joost van Baal. 2000-04-18 Jim Meyering * README: New file. * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define getpagesize. For BeOS. Based on a patch from Bruno Haible. 2000-04-17 Jim Meyering * strftime.c (my_strftime) [strftime]: Declare strftime here, since the definition of it to rpl_strftime also defined-away the system's declaration. 2000-04-15 Jim Meyering Use `C' to denote so-called `contiguous' files, the same way that tar does. * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define. (ftypelet): Use S_ISCTG. From Michael Deutschmann. 2000-04-14 Jim Meyering * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime. 2000-04-08 Jim Meyering * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3 names don't conflict. Reported by Eli Zaretskii. 2000-03-28 Bruno Haible * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv bug. Deal with the different error behavior of Irix iconv. 2000-04-07 Jim Meyering * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h, to work around system header problems on AIX 3.2.5. From Bruno Haible. 2000-04-05 Jim Meyering Portability tweaks required for ultrix4.3. * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent. * readutmp.c: Include sys/types.h before sys/stat.h. * canon-host.c: Declare strdup. * path-concat.c: Likewise. From John David Anglin. 2000-04-04 Jim Meyering Be more DOS 8.3-friendly. * ref-add.sin: Renamed from ref-add.sed.in. * ref-del.sin: Renamed from ref-del.sed.in. * Makefile.am: Reflect renaming. Reported by Eli Zaretskii. Use a temporary file name that won't clash with `charset.alias' in the DOS 8.3 name space. * Makefile.am (charset_tmp): Define. (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t. (uninstall-local): Likewise. Reported by Eli Zaretskii. 2000-03-29 Paul Eggert * time/strftime.c (my_strftime): Make sure we call the system strftime, not ourselves, when invoking the underlying strftime. 2000-03-24 Jim Meyering * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in. (charset_alias): Define. (install-exec-local): Factor out common code. (uninstall-local): Split lines longer than 80. (ref-add.sed, ref-del.sed): Remove rules... (do the following instead) (SUFFIXES): Define. (.sed.in.sed): New rule. Don't redirect directly to $@. (CLEANFILES): Add ref-add.sed and ref-del.sed. 2000-03-19 Bruno Haible * config.charset: Output a line containing "Packages using this file". * ref-add.sed.in, ref-del.sed.in: New files. * Makefile.am (install-exec-local, uninstall-local, ref-add.sed, ref-del.sed): New rules. 2000-03-17 Jim Meyering * unicodeio.c (): Include only #if HAVE_STRING_H. Otherwise, include 2000-03-17 Bruno Haible * unicodeio.c (utf8_wctomb): New function. (print_unicode_char): Pass the Unicode character to iconv in UTF-8 format instead of in UCS-4 with platform dependent endianness. 2000-03-07 Paul Eggert * savedir.c (savedir): Work even if directory size is negative; this can happen with some screwy NFS configurations. 2000-03-06 Jim Meyering * localcharset.c (get_charset_aliases): Don't try to free file_name if it's NULL (because we ran out of memory). From Bruno Haible. 2000-03-05 Jim Meyering * localcharset.c ("path-concat.h"): Include. (get_charset_aliases): Use path_concat instead of ANSI string concatenation. * unicodeio.h (PARAMS): Define. Use it to guard prototype. 2000-03-04 Jim Meyering * Makefile.am (install-exec-local): Create $(libdir) before installing into it. (uninstall-local): Uncomment this rule so `make distcheck' works once again. * unicodeio.c (): Include it. (errno): Declare if not defined. * localcharset.c: Add Bruno's comment justifying use of volatile. * config.charset: New version, incorporating remarks from a linux i18n mailing list. From Bruno Haible. 2000-03-02 Jim Meyering * Makefile.am (EXTRA_DIST): Add config.charset. 2000-03-01 Jim Meyering * localcharset.c: Guard some #includes with `#if HAVE_...'. * unicodeio.c: Likewise. 2000-02-02 Bruno Haible * config.charset: New file. * localcharset.c: New file. * unicodeio.h, unicodeio.c: New files. * Makefile.am (DEFS): Add -DLIBDIR=... (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c. (noinst_HEADERS): Add unicodeio.h. (all-local, install-exec-local, charset.alias): New targets. 2000-02-28 Paul Eggert * quotearg.c (ALERT_CHAR): New macro. (quotearg_buffer_restyled): Use it. 2000-02-27 Jim Meyering * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/. Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'. * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'. Declare malloc if needed. * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..' now that autoconf always defines the HAVE_DECL_ symbols. * human.c: Likewise. * same.c: Likewise. * strtoumax.c: Likewise. * backupfile.c: Arrange for cpp to fail if the configure-time declaration check was not run. * hash.c: Likewise. * human.c: Likewise. * same.c: Likewise. * strtoumax.c: Likewise. * userspec.c (parse_user_spec): If there is no `:' but there is a `.', then first look up the entire `.'-containing string as a login name. 2000-02-18 Paul Eggert * getdate.y: Handle two-digit years with leading zeros correctly. (textint): New typedef. (parser_control): Member year changed from int to textint. All uses changed. (YYSTYPE): Removed; replaced by %union with int and textint members. (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN, tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER, tYEAR_UNIT, tZONE, o_merid): Now of type . (tSNUMBER, tUNUMBER): Now of type . (date, number, to_year): Use width of number in digits, not its value, to determine whether it's a 2-digit year, or a 2-digit time. (yylex): Store number of digits of numeric tokens. Reported by John Kendall. (parser_control): Changed from struct parser_control to typedef (for consistency). All uses changed. (tID): Removed; not used. (yylex): Return '?' for unknown identifiers, rather than (unused) tID. 2000-02-14 Paul Eggert * getpagesize.h (getpagesize): Port to VMS for Alpha; adapted from changes to grep getpagesize.h by Martin P.J. Zinser. 2000-02-12 Jim Meyering * userspec.c (ISDIGIT): Define it. (isdigit): Remove definition. (is_number): Use ISDIGIT, not isdigit. : Include. (_ and N_): Define. (parse_user_spec): Mark translatable strings. 2000-02-10 Jim Meyering With these changes, nanosleep.[ch] are finally enough like the other lib/* replacement files to compile on a few more losing systems. * nanosleep.h: Don't include config.h. Remove prototype from declaration of nanosleep. (PARAMS): Remove now-unneeded definition. * nanosleep.c: #undef nanosleep. (rpl_nanosleep): Rename from nanosleep. 2000-02-03 Jim Meyering * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION', rather than with `#if HAVE_UTMPNAME'. 2000-02-01 Jim Meyering * readutmp.h (UT_USER): Add parens. From Andreas Schwab. 2000-01-31 Jim Meyering * nanosleep.h (nanosleep): Guard declaration with `#if ! HAVE_DECL_NANOSLEEP'. Without this, OFS gets a redeclaration error for rpl_nanosleep, due to the declaration in that vendor's sys/timers.h. Reported by Christian Krackowizer. * quotearg.c (ISASCII): Add #undef and move definition to follow inclusion of wctype.h to work around Solaris 2.6 namespace pollution. (ISPRINT): Likewise. Reported by Tom Tromey. 2000-01-30 Jim Meyering * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding uses of ->ut_name. The latter doesn't work with new Linux header files where only utmpx.ut_user is declared. * readutmp.h (UT_USER): Define. 2000-01-23 Jim Meyering * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of obstack.c. 2000-01-22 Jim Meyering * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul. [! HAVE_DECL_STRTOULL]: Declare strtoull. Required for some AIX systems. Reported by Christian Krackowizer. [TESTING] (main): New function. 1997-10-17 Eli Zaretskii * dirname.c (dir_name): Support for DOS-style file names with drive letters. * quotearg.c [HAVE_WCTYPE_H]: Include for decl of iswprint. * strverscmp.c (ISDIGIT): Define. (strverscmp): Use ISDIGIT, not isdigit. 2000-01-17 Paul Eggert * nanosleep.c (nanosleep): Don't use SA_INTERRUPT to decide whether to call sigaction, as POSIX.1 doesn't require SA_INTERRUPT and some systems (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead; it's been part of POSIX.1 since day 1 (in 1988). 2000-01-17 Jim Meyering * interlock: Remove unused file. Reported by François Pinard. 2000-01-16 Paul Eggert * quotearg.c (quotearg_buffer_restyled): Do not quote alert, backslash, formfeed, and vertical tab unnecessarily in shell quoting style. ----- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. dc3dd-7.1.614/lib/close-stream.h0000644000175000017500000000006411022023316015742 0ustar amedicoamedico#include int close_stream (FILE *stream); dc3dd-7.1.614/lib/lchmod.h0000644000175000017500000000247111022023316014616 0ustar amedicoamedico/* Provide a replacement for lchmod on hosts that lack it. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include #ifndef HAVE_LCHMOD /* The lchmod replacement follows symbolic links. Callers should take this into account; lchmod should be applied only to arguments that are known to not be symbolic links. On hosts that lack lchmod, this can lead to race conditions between the check and the invocation of lchmod, but we know of no workarounds that are reliable in general. You might try requesting support for lchmod from your operating system supplier. */ # define lchmod chmod #endif dc3dd-7.1.614/lib/localcharset.h0000644000175000017500000000267211064230667016036 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2003 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _LOCALCHARSET_H #define _LOCALCHARSET_H #ifdef __cplusplus extern "C" { #endif /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ extern const char * locale_charset (void); #ifdef __cplusplus } #endif #endif /* _LOCALCHARSET_H */ dc3dd-7.1.614/lib/dirname.c0000644000175000017500000000564411022023316014767 0ustar amedicoamedico/* dirname.c -- return all but the last element in a file name Copyright (C) 1990, 1998, 2000, 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "dirname.h" #include #include "xalloc.h" /* Return the length of the prefix of FILE that will be used by dir_name. If FILE is in the working directory, this returns zero even though `dir_name (FILE)' will return ".". Works properly even if there are trailing slashes (by effectively ignoring them). */ size_t dir_len (char const *file) { size_t prefix_length = FILE_SYSTEM_PREFIX_LEN (file); size_t length; /* Advance prefix_length beyond important leading slashes. */ prefix_length += (prefix_length != 0 ? (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && ISSLASH (file[prefix_length])) : (ISSLASH (file[0]) ? ((DOUBLE_SLASH_IS_DISTINCT_ROOT && ISSLASH (file[1]) && ! ISSLASH (file[2]) ? 2 : 1)) : 0)); /* Strip the basename and any redundant slashes before it. */ for (length = last_component (file) - file; prefix_length < length; length--) if (! ISSLASH (file[length - 1])) break; return length; } /* In general, we can't use the builtin `dirname' function if available, since it has different meanings in different environments. In some environments the builtin `dirname' modifies its argument. Return the leading directories part of FILE, allocated with xmalloc. Works properly even if there are trailing slashes (by effectively ignoring them). Unlike POSIX dirname(), FILE cannot be NULL. If lstat (FILE) would succeed, then { chdir (dir_name (FILE)); lstat (base_name (FILE)); } will access the same file. Likewise, if the sequence { chdir (dir_name (FILE)); rename (base_name (FILE), "foo"); } succeeds, you have renamed FILE to "foo" in the same directory FILE was in. */ char * dir_name (char const *file) { size_t length = dir_len (file); bool append_dot = (length == 0 || (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && length == FILE_SYSTEM_PREFIX_LEN (file) && file[2] != '\0' && ! ISSLASH (file[2]))); char *dir = xmalloc (length + append_dot + 1); memcpy (dir, file, length); if (append_dot) dir[length++] = '.'; dir[length] = '\0'; return dir; } dc3dd-7.1.614/lib/fpending.c0000644000175000017500000000203011022023316015124 0ustar amedicoamedico/* fpending.c -- return the number of pending output bytes on a stream Copyright (C) 2000, 2004, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "fpending.h" /* Return the number of pending (aka buffered, unflushed) bytes on the stream, FP, that is open for writing. */ size_t __fpending (FILE *fp) { return PENDING_OUTPUT_N_BYTES; } dc3dd-7.1.614/lib/fcntl.in.h0000644000175000017500000000460011022023316015057 0ustar amedicoamedico/* Like , but with non-working flags defined to 0. Copyright (C) 2006-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Paul Eggert */ #ifndef _GL_FCNTL_H #include #include #include /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_FCNTL_H@ #ifndef _GL_FCNTL_H #define _GL_FCNTL_H /* Declare overridden functions. */ #ifdef __cplusplus extern "C" { #endif #if (@GNULIB_OPEN@ && @REPLACE_OPEN@) || defined FCHDIR_REPLACEMENT # define open rpl_open extern int open (const char *filename, int flags, ...); #endif #ifdef __cplusplus } #endif /* Fix up the O_* macros. */ #if !defined O_DIRECT && defined O_DIRECTIO /* Tru64 spells it `O_DIRECTIO'. */ # define O_DIRECT O_DIRECTIO #endif #ifndef O_DIRECT # define O_DIRECT 0 #endif #ifndef O_DIRECTORY # define O_DIRECTORY 0 #endif #ifndef O_DSYNC # define O_DSYNC 0 #endif #ifndef O_NDELAY # define O_NDELAY 0 #endif #ifndef O_NOATIME # define O_NOATIME 0 #endif #ifndef O_NONBLOCK # define O_NONBLOCK O_NDELAY #endif #ifndef O_NOCTTY # define O_NOCTTY 0 #endif #ifndef O_NOFOLLOW # define O_NOFOLLOW 0 #endif #ifndef O_NOLINKS # define O_NOLINKS 0 #endif #ifndef O_RSYNC # define O_RSYNC 0 #endif #ifndef O_SYNC # define O_SYNC 0 #endif /* For systems that distinguish between text and binary I/O. O_BINARY is usually declared in fcntl.h */ #if !defined O_BINARY && defined _O_BINARY /* For MSC-compatible compilers. */ # define O_BINARY _O_BINARY # define O_TEXT _O_TEXT #endif #ifdef __BEOS__ /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ # undef O_BINARY # undef O_TEXT #endif #ifndef O_BINARY # define O_BINARY 0 # define O_TEXT 0 #endif #endif /* _GL_FCNTL_H */ #endif /* _GL_FCNTL_H */ dc3dd-7.1.614/lib/fpending.h0000644000175000017500000000177511022023316015150 0ustar amedicoamedico/* Declare __fpending. Copyright (C) 2000, 2003, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Jim Meyering. */ #include #include #ifndef HAVE_DECL___FPENDING "this configure-time declaration test was not run" #endif #if HAVE_DECL___FPENDING # if HAVE_STDIO_EXT_H # include # endif #else size_t __fpending (FILE *); #endif dc3dd-7.1.614/lib/utimecmp.h0000644000175000017500000000222111022023316015164 0ustar amedicoamedico/* utimecmp.h -- compare file time stamps Copyright (C) 2004 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #ifndef UTIMECMP_H #define UTIMECMP_H 1 #include #include /* Options for utimecmp. */ enum { /* Before comparing, truncate the source time stamp to the resolution of the destination file system and to the resolution of utimens. */ UTIMECMP_TRUNCATE_SOURCE = 1 }; int utimecmp (char const *, struct stat const *, struct stat const *, int); #endif dc3dd-7.1.614/lib/calloc.c0000644000175000017500000000335511022023316014602 0ustar amedicoamedico/* calloc() function that is glibc compatible. This wrapper function is required at least on Tru64 UNIX 5.1 and mingw. Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering and Bruno Haible */ #include /* Only the AC_FUNC_CALLOC macro defines 'calloc' already in config.h. */ #ifdef calloc # define NEED_CALLOC_GNU # undef calloc #endif /* Specification. */ #include #include /* Call the system's calloc below. */ #undef calloc /* Allocate and zero-fill an NxS-byte block of memory from the heap. If N or S is zero, allocate and zero-fill a 1-byte block. */ void * rpl_calloc (size_t n, size_t s) { void *result; #ifdef NEED_CALLOC_GNU if (n == 0 || s == 0) { n = 1; s = 1; } else { /* Defend against buggy calloc implementations that mishandle size_t overflow. */ size_t bytes = n * s; if (bytes / s != n) { errno = ENOMEM; return NULL; } } #endif result = calloc (n, s); #if !HAVE_CALLOC_POSIX if (result == NULL) errno = ENOMEM; #endif return result; } dc3dd-7.1.614/lib/xmemcoll.c0000644000175000017500000000354011022023316015161 0ustar amedicoamedico/* Locale-specific memory comparison. Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Contributed by Paul Eggert . */ #include #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #include "error.h" #include "exitfail.h" #include "memcoll.h" #include "quotearg.h" #include "xmemcoll.h" /* Compare S1 (with length S1LEN) and S2 (with length S2LEN) according to the LC_COLLATE locale. S1 and S2 do not overlap, and are not adjacent. Temporarily modify the bytes after S1 and S2, but restore their original contents before returning. Report an error and exit if there is an error. */ int xmemcoll (char *s1, size_t s1len, char *s2, size_t s2len) { int diff = memcoll (s1, s1len, s2, s2len); int collation_errno = errno; if (collation_errno) { error (0, collation_errno, _("string comparison failed")); error (0, 0, _("Set LC_ALL='C' to work around the problem.")); error (exit_failure, 0, _("The strings compared were %s and %s."), quotearg_n_style_mem (0, locale_quoting_style, s1, s1len), quotearg_n_style_mem (1, locale_quoting_style, s2, s2len)); } return diff; } dc3dd-7.1.614/lib/xmalloc.c0000644000175000017500000000637711064230667015032 0ustar amedicoamedico/* xmalloc.c -- malloc with out of memory checking Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #if ! HAVE_INLINE # define static_inline #endif #include "xalloc.h" #undef static_inline #include #include #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif /* 1 if calloc is known to be compatible with GNU calloc. This matters if we are not also using the calloc module, which defines HAVE_CALLOC and supports the GNU API even on non-GNU platforms. */ #if defined HAVE_CALLOC || defined __GLIBC__ enum { HAVE_GNU_CALLOC = 1 }; #else enum { HAVE_GNU_CALLOC = 0 }; #endif /* Allocate N bytes of memory dynamically, with error checking. */ void * xmalloc (size_t n) { void *p = malloc (n); if (!p && n != 0) xalloc_die (); return p; } /* Change the size of an allocated block of memory P to N bytes, with error checking. */ void * xrealloc (void *p, size_t n) { p = realloc (p, n); if (!p && n != 0) xalloc_die (); return p; } /* If P is null, allocate a block of at least *PN bytes; otherwise, reallocate P so that it contains more than *PN bytes. *PN must be nonzero unless P is null. Set *PN to the new block's size, and return the pointer to the new block. *PN is never set to zero, and the returned pointer is never null. */ void * x2realloc (void *p, size_t *pn) { return x2nrealloc (p, pn, 1); } /* Allocate S bytes of zeroed memory dynamically, with error checking. There's no need for xnzalloc (N, S), since it would be equivalent to xcalloc (N, S). */ void * xzalloc (size_t s) { return memset (xmalloc (s), 0, s); } /* Allocate zeroed memory for N elements of S bytes, with error checking. S must be nonzero. */ void * xcalloc (size_t n, size_t s) { void *p; /* Test for overflow, since some calloc implementations don't have proper overflow checks. But omit overflow and size-zero tests if HAVE_GNU_CALLOC, since GNU calloc catches overflow and never returns NULL if successful. */ if ((! HAVE_GNU_CALLOC && xalloc_oversized (n, s)) || (! (p = calloc (n, s)) && (HAVE_GNU_CALLOC || n != 0))) xalloc_die (); return p; } /* Clone an object P of size S, with error checking. There's no need for xnmemdup (P, N, S), since xmemdup (P, N * S) works without any need for an arithmetic overflow check. */ void * xmemdup (void const *p, size_t s) { return memcpy (xmalloc (s), p, s); } /* Clone STRING. */ char * xstrdup (char const *string) { return xmemdup (string, strlen (string) + 1); } dc3dd-7.1.614/lib/xprintf.c0000644000175000017500000000427011022023316015034 0ustar amedicoamedico/* printf wrappers that fail immediately for non-file-related errors Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "xprintf.h" #include #include "error.h" #include "exitfail.h" #include "gettext.h" /* written by Jim Meyering */ /* Just like printf, but call error if it fails without setting the stream's error indicator. */ int xprintf (char const *restrict format, ...) { va_list args; int retval; va_start (args, format); retval = xvprintf (format, args); va_end (args); return retval; } /* Just like vprintf, but call error if it fails without setting the stream's error indicator. */ int xvprintf (char const *restrict format, va_list args) { int retval = vprintf (format, args); if (retval < 0 && ! ferror (stdout)) error (exit_failure, errno, gettext ("cannot perform formatted output")); return retval; } /* Just like fprintf, but call error if it fails without setting the stream's error indicator. */ int xfprintf (FILE *restrict stream, char const *restrict format, ...) { va_list args; int retval; va_start (args, format); retval = xvfprintf (stream, format, args); va_end (args); return retval; } /* Just like vfprintf, but call error if it fails without setting the stream's error indicator. */ int xvfprintf (FILE *restrict stream, char const *restrict format, va_list args) { int retval = vfprintf (stream, format, args); if (retval < 0 && ! ferror (stream)) error (exit_failure, errno, gettext ("cannot perform formatted output")); return retval; } dc3dd-7.1.614/lib/xalloc.h0000644000175000017500000001773011064230667014655 0ustar amedicoamedico/* xalloc.h -- malloc with out-of-memory checking Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef XALLOC_H_ # define XALLOC_H_ # include # ifdef __cplusplus extern "C" { # endif # ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) # endif # endif # ifndef ATTRIBUTE_NORETURN # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) # endif # ifndef ATTRIBUTE_MALLOC # if __GNUC__ >= 3 # define ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) # else # define ATTRIBUTE_MALLOC # endif # endif /* This function is always triggered when memory is exhausted. It must be defined by the application, either explicitly or by using gnulib's xalloc-die module. This is the function to call when one wants the program to die because of a memory allocation failure. */ extern void xalloc_die (void) ATTRIBUTE_NORETURN; void *xmalloc (size_t s) ATTRIBUTE_MALLOC; void *xzalloc (size_t s) ATTRIBUTE_MALLOC; void *xcalloc (size_t n, size_t s) ATTRIBUTE_MALLOC; void *xrealloc (void *p, size_t s); void *x2realloc (void *p, size_t *pn); void *xmemdup (void const *p, size_t s) ATTRIBUTE_MALLOC; char *xstrdup (char const *str) ATTRIBUTE_MALLOC; /* Return 1 if an array of N objects, each of size S, cannot exist due to size arithmetic overflow. S must be positive and N must be nonnegative. This is a macro, not an inline function, so that it works correctly even when SIZE_MAX < N. By gnulib convention, SIZE_MAX represents overflow in size calculations, so the conservative dividend to use here is SIZE_MAX - 1, since SIZE_MAX might represent an overflowed value. However, malloc (SIZE_MAX) fails on all known hosts where sizeof (ptrdiff_t) <= sizeof (size_t), so do not bother to test for exactly-SIZE_MAX allocations on such hosts; this avoids a test and branch when S is known to be 1. */ # define xalloc_oversized(n, s) \ ((size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) < (n)) /* In the following macros, T must be an elementary or structure/union or typedef'ed type, or a pointer to such a type. To apply one of the following macros to a function pointer or array type, you need to typedef it first and use the typedef name. */ /* Allocate an object of type T dynamically, with error checking. */ /* extern t *XMALLOC (typename t); */ # define XMALLOC(t) ((t *) xmalloc (sizeof (t))) /* Allocate memory for N elements of type T, with error checking. */ /* extern t *XNMALLOC (size_t n, typename t); */ # define XNMALLOC(n, t) \ ((t *) (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t)))) /* Allocate an object of type T dynamically, with error checking, and zero it. */ /* extern t *XZALLOC (typename t); */ # define XZALLOC(t) ((t *) xzalloc (sizeof (t))) /* Allocate memory for N elements of type T, with error checking, and zero it. */ /* extern t *XCALLOC (size_t n, typename t); */ # define XCALLOC(n, t) \ ((t *) (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t)))) # if HAVE_INLINE # define static_inline static inline # else void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC; void *xnrealloc (void *p, size_t n, size_t s); void *x2nrealloc (void *p, size_t *pn, size_t s); char *xcharalloc (size_t n) ATTRIBUTE_MALLOC; # endif # ifdef static_inline /* Allocate an array of N objects, each with S bytes of memory, dynamically, with error checking. S must be nonzero. */ static_inline void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC; static_inline void * xnmalloc (size_t n, size_t s) { if (xalloc_oversized (n, s)) xalloc_die (); return xmalloc (n * s); } /* Change the size of an allocated block of memory P to an array of N objects each of S bytes, with error checking. S must be nonzero. */ static_inline void * xnrealloc (void *p, size_t n, size_t s) { if (xalloc_oversized (n, s)) xalloc_die (); return xrealloc (p, n * s); } /* If P is null, allocate a block of at least *PN such objects; otherwise, reallocate P so that it contains more than *PN objects each of S bytes. *PN must be nonzero unless P is null, and S must be nonzero. Set *PN to the new number of objects, and return the pointer to the new block. *PN is never set to zero, and the returned pointer is never null. Repeated reallocations are guaranteed to make progress, either by allocating an initial block with a nonzero size, or by allocating a larger block. In the following implementation, nonzero sizes are increased by a factor of approximately 1.5 so that repeated reallocations have O(N) overall cost rather than O(N**2) cost, but the specification for this function does not guarantee that rate. Here is an example of use: int *p = NULL; size_t used = 0; size_t allocated = 0; void append_int (int value) { if (used == allocated) p = x2nrealloc (p, &allocated, sizeof *p); p[used++] = value; } This causes x2nrealloc to allocate a block of some nonzero size the first time it is called. To have finer-grained control over the initial size, set *PN to a nonzero value before calling this function with P == NULL. For example: int *p = NULL; size_t used = 0; size_t allocated = 0; size_t allocated1 = 1000; void append_int (int value) { if (used == allocated) { p = x2nrealloc (p, &allocated1, sizeof *p); allocated = allocated1; } p[used++] = value; } */ static_inline void * x2nrealloc (void *p, size_t *pn, size_t s) { size_t n = *pn; if (! p) { if (! n) { /* The approximate size to use for initial small allocation requests, when the invoking code specifies an old size of zero. 64 bytes is the largest "small" request for the GNU C library malloc. */ enum { DEFAULT_MXFAST = 64 }; n = DEFAULT_MXFAST / s; n += !n; } } else { /* Set N = ceil (1.5 * N) so that progress is made if N == 1. Check for overflow, so that N * S stays in size_t range. The check is slightly conservative, but an exact check isn't worth the trouble. */ if ((size_t) -1 / 3 * 2 / s <= n) xalloc_die (); n += (n + 1) / 2; } *pn = n; return xrealloc (p, n * s); } /* Return a pointer to a new buffer of N bytes. This is like xmalloc, except it returns char *. */ static_inline char *xcharalloc (size_t n) ATTRIBUTE_MALLOC; static_inline char * xcharalloc (size_t n) { return XNMALLOC (n, char); } # endif # ifdef __cplusplus } /* C++ does not allow conversions from void * to other pointer types without a cast. Use templates to work around the problem when possible. */ template inline T * xrealloc (T *p, size_t s) { return (T *) xrealloc ((void *) p, s); } template inline T * xnrealloc (T *p, size_t n, size_t s) { return (T *) xnrealloc ((void *) p, n, s); } template inline T * x2realloc (T *p, size_t *pn) { return (T *) x2realloc ((void *) p, pn); } template inline T * x2nrealloc (T *p, size_t *pn, size_t s) { return (T *) x2nrealloc ((void *) p, pn, s); } template inline T * xmemdup (T const *p, size_t s) { return (T *) xmemdup ((void const *) p, s); } # endif #endif /* !XALLOC_H_ */ dc3dd-7.1.614/lib/wchar.in.h0000644000175000017500000000507411064230667015102 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* A substitute for ISO C99 , for platforms that have issues. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Written by Eric Blake. */ /* * ISO C 99 for platforms that have issues. * * * For now, this just ensures proper prerequisite inclusion order and * the declaration of wcwidth(). */ #ifdef __need_mbstate_t /* Special invocation convention inside uClibc header files. */ #@INCLUDE_NEXT@ @NEXT_WCHAR_H@ #else /* Normal invocation convention. */ #ifndef _GL_WCHAR_H /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include /* Include the original if it exists. Some builds of uClibc lack it. */ /* The include_next requires a split double-inclusion guard. */ #if @HAVE_WCHAR_H@ # @INCLUDE_NEXT@ @NEXT_WCHAR_H@ #endif #ifndef _GL_WCHAR_H #define _GL_WCHAR_H /* The definition of GL_LINK_WARNING is copied here. */ #ifdef __cplusplus extern "C" { #endif /* Return the number of screen columns needed for WC. */ #if @GNULIB_WCWIDTH@ # if @REPLACE_WCWIDTH@ # undef wcwidth # define wcwidth rpl_wcwidth extern int wcwidth (wchar_t); # else # if !defined wcwidth && !@HAVE_DECL_WCWIDTH@ /* wcwidth exists but is not declared. */ extern int wcwidth (int /* actually wchar_t */); # endif # endif #elif defined GNULIB_POSIXCHECK # undef wcwidth # define wcwidth(w) \ (GL_LINK_WARNING ("wcwidth is unportable - " \ "use gnulib module wcwidth for portability"), \ wcwidth (w)) #endif #ifdef __cplusplus } #endif #endif /* _GL_WCHAR_H */ #endif /* _GL_WCHAR_H */ #endif dc3dd-7.1.614/lib/settime.c0000644000175000017500000000330111022023316015006 0ustar amedicoamedico/* settime -- set the system clock Copyright (C) 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "timespec.h" #include #include #include /* Some systems don't have ENOSYS. */ #ifndef ENOSYS # ifdef ENOTSUP # define ENOSYS ENOTSUP # else /* Some systems don't have ENOTSUP either. */ # define ENOSYS EINVAL # endif #endif /* Set the system time. */ int settime (struct timespec const *ts) { #if defined CLOCK_REALTIME && HAVE_CLOCK_SETTIME { int r = clock_settime (CLOCK_REALTIME, ts); if (r == 0 || errno == EPERM) return r; } #endif #if HAVE_SETTIMEOFDAY { struct timeval tv; tv.tv_sec = ts->tv_sec; tv.tv_usec = ts->tv_nsec / 1000; return settimeofday (&tv, 0); } #elif HAVE_STIME /* This fails to compile on OSF1 V5.1, due to stime requiring a `long int*' and tv_sec is `int'. But that system does provide settimeofday. */ return stime (&ts->tv_sec); #else errno = ENOSYS; return -1; #endif } dc3dd-7.1.614/lib/lstat.c0000644000175000017500000000521411022023316014470 0ustar amedicoamedico/* Work around a bug of lstat on some systems Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include /* The specification of these functions is in sys_stat.h. But we cannot include this include file here, because on some systems, a "#define lstat lstat64" is being used, and sys_stat.h deletes this definition. */ #include #include #include #include /* lstat works differently on Linux and Solaris systems. POSIX (see `pathname resolution' in the glossary) requires that programs like `ls' take into consideration the fact that FILE has a trailing slash when FILE is a symbolic link. On Linux and Solaris 10 systems, the lstat function already has the desired semantics (in treating `lstat ("symlink/", sbuf)' just like `lstat ("symlink/.", sbuf)', but on Solaris 9 and earlier it does not. If FILE has a trailing slash and specifies a symbolic link, then use stat() to get more info on the referent of FILE. If the referent is a non-directory, then set errno to ENOTDIR and return -1. Otherwise, return stat's result. */ int rpl_lstat (const char *file, struct stat *sbuf) { size_t len; int lstat_result = lstat (file, sbuf); if (lstat_result != 0 || !S_ISLNK (sbuf->st_mode)) return lstat_result; len = strlen (file); if (len == 0 || file[len - 1] != '/') return 0; /* FILE refers to a symbolic link and the name ends with a slash. Call stat() to get info about the link's referent. */ /* If stat fails, then we do the same. */ if (stat (file, sbuf) != 0) return -1; /* If FILE references a directory, return 0. */ if (S_ISDIR (sbuf->st_mode)) return 0; /* Here, we know stat succeeded and FILE references a non-directory. But it was specified via a name including a trailing slash. Fail with errno set to ENOTDIR to indicate the contradiction. */ errno = ENOTDIR; return -1; } dc3dd-7.1.614/lib/argmatch.c0000644000175000017500000001635511022023316015137 0ustar amedicoamedico/* argmatch.c -- find a match for a string in an array Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie Modified by Akim Demaille */ #include /* Specification. */ #include "argmatch.h" #include #include #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #include "error.h" #include "quotearg.h" #include "quote.h" #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif /* When reporting an invalid argument, show nonprinting characters by using the quoting style ARGMATCH_QUOTING_STYLE. Do not use literal_quoting_style. */ #ifndef ARGMATCH_QUOTING_STYLE # define ARGMATCH_QUOTING_STYLE locale_quoting_style #endif /* Non failing version of argmatch call this function after failing. */ #ifndef ARGMATCH_DIE # include "exitfail.h" # define ARGMATCH_DIE exit (exit_failure) #endif #ifdef ARGMATCH_DIE_DECL ARGMATCH_DIE_DECL; #endif static void __argmatch_die (void) { ARGMATCH_DIE; } /* Used by XARGMATCH and XARGCASEMATCH. See description in argmatch.h. Default to __argmatch_die, but allow caller to change this at run-time. */ argmatch_exit_fn argmatch_die = __argmatch_die; /* If ARG is an unambiguous match for an element of the NULL-terminated array ARGLIST, return the index in ARGLIST of the matched element, else -1 if it does not match any element or -2 if it is ambiguous (is a prefix of more than one element). If VALLIST is none null, use it to resolve ambiguities limited to synonyms, i.e., for "yes", "yop" -> 0 "no", "nope" -> 1 "y" is a valid argument, for `0', and "n" for `1'. */ ptrdiff_t argmatch (const char *arg, const char *const *arglist, const char *vallist, size_t valsize) { size_t i; /* Temporary index in ARGLIST. */ size_t arglen; /* Length of ARG. */ ptrdiff_t matchind = -1; /* Index of first nonexact match. */ bool ambiguous = false; /* If true, multiple nonexact match(es). */ arglen = strlen (arg); /* Test all elements for either exact match or abbreviated matches. */ for (i = 0; arglist[i]; i++) { if (!strncmp (arglist[i], arg, arglen)) { if (strlen (arglist[i]) == arglen) /* Exact match found. */ return i; else if (matchind == -1) /* First nonexact match found. */ matchind = i; else { /* Second nonexact match found. */ if (vallist == NULL || memcmp (vallist + valsize * matchind, vallist + valsize * i, valsize)) { /* There is a real ambiguity, or we could not disambiguate. */ ambiguous = true; } } } } if (ambiguous) return -2; else return matchind; } /* Error reporting for argmatch. CONTEXT is a description of the type of entity that was being matched. VALUE is the invalid value that was given. PROBLEM is the return value from argmatch. */ void argmatch_invalid (const char *context, const char *value, ptrdiff_t problem) { char const *format = (problem == -1 ? _("invalid argument %s for %s") : _("ambiguous argument %s for %s")); error (0, 0, format, quotearg_n_style (0, ARGMATCH_QUOTING_STYLE, value), quote_n (1, context)); } /* List the valid arguments for argmatch. ARGLIST is the same as in argmatch. VALLIST is a pointer to an array of values. VALSIZE is the size of the elements of VALLIST */ void argmatch_valid (const char *const *arglist, const char *vallist, size_t valsize) { size_t i; const char *last_val = NULL; /* We try to put synonyms on the same line. The assumption is that synonyms follow each other */ fprintf (stderr, _("Valid arguments are:")); for (i = 0; arglist[i]; i++) if ((i == 0) || memcmp (last_val, vallist + valsize * i, valsize)) { fprintf (stderr, "\n - `%s'", arglist[i]); last_val = vallist + valsize * i; } else { fprintf (stderr, ", `%s'", arglist[i]); } putc ('\n', stderr); } /* Never failing versions of the previous functions. CONTEXT is the context for which argmatch is called (e.g., "--version-control", or "$VERSION_CONTROL" etc.). Upon failure, calls the (supposed never to return) function EXIT_FN. */ ptrdiff_t __xargmatch_internal (const char *context, const char *arg, const char *const *arglist, const char *vallist, size_t valsize, argmatch_exit_fn exit_fn) { ptrdiff_t res = argmatch (arg, arglist, vallist, valsize); if (res >= 0) /* Success. */ return res; /* We failed. Explain why. */ argmatch_invalid (context, arg, res); argmatch_valid (arglist, vallist, valsize); (*exit_fn) (); return -1; /* To please the compilers. */ } /* Look for VALUE in VALLIST, an array of objects of size VALSIZE and return the first corresponding argument in ARGLIST */ const char * argmatch_to_argument (const char *value, const char *const *arglist, const char *vallist, size_t valsize) { size_t i; for (i = 0; arglist[i]; i++) if (!memcmp (value, vallist + valsize * i, valsize)) return arglist[i]; return NULL; } #ifdef TEST /* * Based on "getversion.c" by David MacKenzie */ char *program_name; /* When to make backup files. */ enum backup_type { /* Never make backups. */ no_backups, /* Make simple backups of every file. */ simple_backups, /* Make numbered backups of files that already have numbered backups, and simple backups of the others. */ numbered_existing_backups, /* Make numbered backups of every file. */ numbered_backups }; /* Two tables describing arguments (keys) and their corresponding values */ static const char *const backup_args[] = { "no", "none", "off", "simple", "never", "existing", "nil", "numbered", "t", 0 }; static const enum backup_type backup_vals[] = { no_backups, no_backups, no_backups, simple_backups, simple_backups, numbered_existing_backups, numbered_existing_backups, numbered_backups, numbered_backups }; int main (int argc, const char *const *argv) { const char *cp; enum backup_type backup_type = no_backups; program_name = (char *) argv[0]; if (argc > 2) { fprintf (stderr, "Usage: %s [VERSION_CONTROL]\n", program_name); exit (1); } if ((cp = getenv ("VERSION_CONTROL"))) backup_type = XARGMATCH ("$VERSION_CONTROL", cp, backup_args, backup_vals); if (argc == 2) backup_type = XARGMATCH (program_name, argv[1], backup_args, backup_vals); printf ("The version control is `%s'\n", ARGMATCH_TO_ARGUMENT (backup_type, backup_args, backup_vals)); return 0; } #endif dc3dd-7.1.614/lib/stdlib--.h0000644000175000017500000000160311022023316014757 0ustar amedicoamedico/* Like stdlib.h, but redefine some names to avoid glitches. Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "stdlib-safer.h" #undef mkstemp #define mkstemp mkstemp_safer dc3dd-7.1.614/lib/strtoul.c0000644000175000017500000000142611022023316015056 0ustar amedicoamedico/* Copyright (C) 1991, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #define UNSIGNED 1 #include "strtol.c" dc3dd-7.1.614/lib/regexec.c0000644000175000017500000037677511064230667015031 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Extended regular expression matching and search library. Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags, Idx n) internal_function; static void match_ctx_clean (re_match_context_t *mctx) internal_function; static void match_ctx_free (re_match_context_t *cache) internal_function; static reg_errcode_t match_ctx_add_entry (re_match_context_t *cache, Idx node, Idx str_idx, Idx from, Idx to) internal_function; static Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx) internal_function; static reg_errcode_t match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx) internal_function; static re_sub_match_last_t * match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx) internal_function; static void sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts, re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx) internal_function; static reg_errcode_t re_search_internal (const regex_t *preg, const char *string, Idx length, Idx start, Idx last_start, Idx stop, size_t nmatch, regmatch_t pmatch[], int eflags) internal_function; static regoff_t re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1, Idx length1, const char *string2, Idx length2, Idx start, regoff_t range, struct re_registers *regs, Idx stop, bool ret_len) internal_function; static regoff_t re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length, Idx start, regoff_t range, Idx stop, struct re_registers *regs, bool ret_len) internal_function; static unsigned int re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs, int regs_allocated) internal_function; static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx) internal_function; static Idx check_matching (re_match_context_t *mctx, bool fl_longest_match, Idx *p_match_first) internal_function; static Idx check_halt_state_context (const re_match_context_t *mctx, const re_dfastate_t *state, Idx idx) internal_function; static void update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, regmatch_t *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch) internal_function; static reg_errcode_t push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) internal_function; static reg_errcode_t set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, regmatch_t *pmatch, bool fl_backtrack) internal_function; static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs) internal_function; #ifdef RE_ENABLE_I18N static int sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx node_idx, Idx str_idx, Idx max_str_idx) internal_function; #endif /* RE_ENABLE_I18N */ static reg_errcode_t sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx) internal_function; static reg_errcode_t build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *cur_dest) internal_function; static reg_errcode_t update_cur_sifted_state (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *dest_nodes) internal_function; static reg_errcode_t add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates) internal_function; static bool check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits, Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx) internal_function; static int check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries, Idx subexp_idx, Idx from_node, Idx bkref_idx) internal_function; static int check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit, Idx subexp_idx, Idx node, Idx str_idx, Idx bkref_idx) internal_function; static reg_errcode_t check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates, re_node_set *limits, struct re_backref_cache_entry *bkref_ents, Idx str_idx) internal_function; static reg_errcode_t sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, const re_node_set *candidates) internal_function; static reg_errcode_t merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst, re_dfastate_t **src, Idx num) internal_function; static re_dfastate_t *find_recover_state (reg_errcode_t *err, re_match_context_t *mctx) internal_function; static re_dfastate_t *transit_state (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *state) internal_function; static re_dfastate_t *merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *next_state) internal_function; static reg_errcode_t check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes, Idx str_idx) internal_function; #if 0 static re_dfastate_t *transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *pstate) internal_function; #endif #ifdef RE_ENABLE_I18N static reg_errcode_t transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) internal_function; #endif /* RE_ENABLE_I18N */ static reg_errcode_t transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) internal_function; static reg_errcode_t get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx) internal_function; static reg_errcode_t get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top, re_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str) internal_function; static Idx find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes, Idx subexp_idx, int type) internal_function; static reg_errcode_t check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node, Idx top_str, Idx last_node, Idx last_str, int type) internal_function; static reg_errcode_t check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, re_node_set *cur_nodes, re_node_set *next_nodes) internal_function; static reg_errcode_t check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes, Idx ex_subexp, int type) internal_function; static reg_errcode_t check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes, Idx target, Idx ex_subexp, int type) internal_function; static reg_errcode_t expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes, Idx cur_str, Idx subexp_num, int type) internal_function; static bool build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) internal_function; #ifdef RE_ENABLE_I18N static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, const re_string_t *input, Idx idx) internal_function; # ifdef _LIBC static unsigned int find_collation_sequence_value (const unsigned char *mbs, size_t name_len) internal_function; # endif /* _LIBC */ #endif /* RE_ENABLE_I18N */ static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *states_node, bitset_t *states_ch) internal_function; static bool check_node_accept (const re_match_context_t *mctx, const re_token_t *node, Idx idx) internal_function; static reg_errcode_t extend_buffers (re_match_context_t *mctx) internal_function; /* Entry point for POSIX code. */ /* regexec searches for a given pattern, specified by PREG, in the string STRING. If NMATCH is zero or REG_NOSUB was set in the cflags argument to `regcomp', we ignore PMATCH. Otherwise, we assume PMATCH has at least NMATCH elements, and we set them to the offsets of the corresponding matched substrings. EFLAGS specifies `execution flags' which affect matching: if REG_NOTBOL is set, then ^ does not match at the beginning of the string; if REG_NOTEOL is set, then $ does not match at the end. We return 0 if we find a match and REG_NOMATCH if not. */ int regexec (preg, string, nmatch, pmatch, eflags) const regex_t *_Restrict_ preg; const char *_Restrict_ string; size_t nmatch; regmatch_t pmatch[_Restrict_arr_]; int eflags; { reg_errcode_t err; Idx start, length; #ifdef _LIBC re_dfa_t *dfa = (re_dfa_t *) preg->buffer; #endif if (eflags & ~(REG_NOTBOL | REG_NOTEOL | REG_STARTEND)) return REG_BADPAT; if (eflags & REG_STARTEND) { start = pmatch[0].rm_so; length = pmatch[0].rm_eo; } else { start = 0; length = strlen (string); } __libc_lock_lock (dfa->lock); if (preg->no_sub) err = re_search_internal (preg, string, length, start, length, length, 0, NULL, eflags); else err = re_search_internal (preg, string, length, start, length, length, nmatch, pmatch, eflags); __libc_lock_unlock (dfa->lock); return err != REG_NOERROR; } #ifdef _LIBC # include versioned_symbol (libc, __regexec, regexec, GLIBC_2_3_4); # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) __typeof__ (__regexec) __compat_regexec; int attribute_compat_text_section __compat_regexec (const regex_t *_Restrict_ preg, const char *_Restrict_ string, size_t nmatch, regmatch_t pmatch[], int eflags) { return regexec (preg, string, nmatch, pmatch, eflags & (REG_NOTBOL | REG_NOTEOL)); } compat_symbol (libc, __compat_regexec, regexec, GLIBC_2_0); # endif #endif /* Entry points for GNU code. */ /* re_match, re_search, re_match_2, re_search_2 The former two functions operate on STRING with length LENGTH, while the later two operate on concatenation of STRING1 and STRING2 with lengths LENGTH1 and LENGTH2, respectively. re_match() matches the compiled pattern in BUFP against the string, starting at index START. re_search() first tries matching at index START, then it tries to match starting from index START + 1, and so on. The last start position tried is START + RANGE. (Thus RANGE = 0 forces re_search to operate the same way as re_match().) The parameter STOP of re_{match,search}_2 specifies that no match exceeding the first STOP characters of the concatenation of the strings should be concerned. If REGS is not NULL, and BUFP->no_sub is not set, the offsets of the match and all groups is stored in REGS. (For the "_2" variants, the offsets are computed relative to the concatenation, not relative to the individual strings.) On success, re_match* functions return the length of the match, re_search* return the position of the start of the match. Return value -1 means no match was found and -2 indicates an internal error. */ regoff_t re_match (bufp, string, length, start, regs) struct re_pattern_buffer *bufp; const char *string; Idx length, start; struct re_registers *regs; { return re_search_stub (bufp, string, length, start, 0, length, regs, true); } #ifdef _LIBC weak_alias (__re_match, re_match) #endif regoff_t re_search (bufp, string, length, start, range, regs) struct re_pattern_buffer *bufp; const char *string; Idx length, start; regoff_t range; struct re_registers *regs; { return re_search_stub (bufp, string, length, start, range, length, regs, false); } #ifdef _LIBC weak_alias (__re_search, re_search) #endif regoff_t re_match_2 (bufp, string1, length1, string2, length2, start, regs, stop) struct re_pattern_buffer *bufp; const char *string1, *string2; Idx length1, length2, start, stop; struct re_registers *regs; { return re_search_2_stub (bufp, string1, length1, string2, length2, start, 0, regs, stop, true); } #ifdef _LIBC weak_alias (__re_match_2, re_match_2) #endif regoff_t re_search_2 (bufp, string1, length1, string2, length2, start, range, regs, stop) struct re_pattern_buffer *bufp; const char *string1, *string2; Idx length1, length2, start, stop; regoff_t range; struct re_registers *regs; { return re_search_2_stub (bufp, string1, length1, string2, length2, start, range, regs, stop, false); } #ifdef _LIBC weak_alias (__re_search_2, re_search_2) #endif static regoff_t internal_function re_search_2_stub (struct re_pattern_buffer *bufp, const char *string1, Idx length1, const char *string2, Idx length2, Idx start, regoff_t range, struct re_registers *regs, Idx stop, bool ret_len) { const char *str; regoff_t rval; Idx len = length1 + length2; char *s = NULL; if (BE (length1 < 0 || length2 < 0 || stop < 0 || len < length1, 0)) return -2; /* Concatenate the strings. */ if (length2 > 0) if (length1 > 0) { s = re_malloc (char, len); if (BE (s == NULL, 0)) return -2; #ifdef _LIBC memcpy (__mempcpy (s, string1, length1), string2, length2); #else memcpy (s, string1, length1); memcpy (s + length1, string2, length2); #endif str = s; } else str = string2; else str = string1; rval = re_search_stub (bufp, str, len, start, range, stop, regs, ret_len); re_free (s); return rval; } /* The parameters have the same meaning as those of re_search. Additional parameters: If RET_LEN is true the length of the match is returned (re_match style); otherwise the position of the match is returned. */ static regoff_t internal_function re_search_stub (struct re_pattern_buffer *bufp, const char *string, Idx length, Idx start, regoff_t range, Idx stop, struct re_registers *regs, bool ret_len) { reg_errcode_t result; regmatch_t *pmatch; Idx nregs; regoff_t rval; int eflags = 0; #ifdef _LIBC re_dfa_t *dfa = (re_dfa_t *) bufp->buffer; #endif Idx last_start = start + range; /* Check for out-of-range. */ if (BE (start < 0 || start > length, 0)) return -1; if (BE (length < last_start || (0 <= range && last_start < start), 0)) last_start = length; else if (BE (last_start < 0 || (range < 0 && start <= last_start), 0)) last_start = 0; __libc_lock_lock (dfa->lock); eflags |= (bufp->not_bol) ? REG_NOTBOL : 0; eflags |= (bufp->not_eol) ? REG_NOTEOL : 0; /* Compile fastmap if we haven't yet. */ if (start < last_start && bufp->fastmap != NULL && !bufp->fastmap_accurate) re_compile_fastmap (bufp); if (BE (bufp->no_sub, 0)) regs = NULL; /* We need at least 1 register. */ if (regs == NULL) nregs = 1; else if (BE (bufp->regs_allocated == REGS_FIXED && regs->num_regs <= bufp->re_nsub, 0)) { nregs = regs->num_regs; if (BE (nregs < 1, 0)) { /* Nothing can be copied to regs. */ regs = NULL; nregs = 1; } } else nregs = bufp->re_nsub + 1; pmatch = re_malloc (regmatch_t, nregs); if (BE (pmatch == NULL, 0)) { rval = -2; goto out; } result = re_search_internal (bufp, string, length, start, last_start, stop, nregs, pmatch, eflags); rval = 0; /* I hope we needn't fill ther regs with -1's when no match was found. */ if (result != REG_NOERROR) rval = -1; else if (regs != NULL) { /* If caller wants register contents data back, copy them. */ bufp->regs_allocated = re_copy_regs (regs, pmatch, nregs, bufp->regs_allocated); if (BE (bufp->regs_allocated == REGS_UNALLOCATED, 0)) rval = -2; } if (BE (rval == 0, 1)) { if (ret_len) { assert (pmatch[0].rm_so == start); rval = pmatch[0].rm_eo - start; } else rval = pmatch[0].rm_so; } re_free (pmatch); out: __libc_lock_unlock (dfa->lock); return rval; } static unsigned int internal_function re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, Idx nregs, int regs_allocated) { int rval = REGS_REALLOCATE; Idx i; Idx need_regs = nregs + 1; /* We need one extra element beyond `num_regs' for the `-1' marker GNU code uses. */ /* Have the register data arrays been allocated? */ if (regs_allocated == REGS_UNALLOCATED) { /* No. So allocate them with malloc. */ regs->start = re_malloc (regoff_t, need_regs); if (BE (regs->start == NULL, 0)) return REGS_UNALLOCATED; regs->end = re_malloc (regoff_t, need_regs); if (BE (regs->end == NULL, 0)) { re_free (regs->start); return REGS_UNALLOCATED; } regs->num_regs = need_regs; } else if (regs_allocated == REGS_REALLOCATE) { /* Yes. If we need more elements than were already allocated, reallocate them. If we need fewer, just leave it alone. */ if (BE (need_regs > regs->num_regs, 0)) { regoff_t *new_start = re_realloc (regs->start, regoff_t, need_regs); regoff_t *new_end; if (BE (new_start == NULL, 0)) return REGS_UNALLOCATED; new_end = re_realloc (regs->end, regoff_t, need_regs); if (BE (new_end == NULL, 0)) { re_free (new_start); return REGS_UNALLOCATED; } regs->start = new_start; regs->end = new_end; regs->num_regs = need_regs; } } else { assert (regs_allocated == REGS_FIXED); /* This function may not be called with REGS_FIXED and nregs too big. */ assert (regs->num_regs >= nregs); rval = REGS_FIXED; } /* Copy the regs. */ for (i = 0; i < nregs; ++i) { regs->start[i] = pmatch[i].rm_so; regs->end[i] = pmatch[i].rm_eo; } for ( ; i < regs->num_regs; ++i) regs->start[i] = regs->end[i] = -1; return rval; } /* Set REGS to hold NUM_REGS registers, storing them in STARTS and ENDS. Subsequent matches using PATTERN_BUFFER and REGS will use this memory for recording register information. STARTS and ENDS must be allocated using the malloc library routine, and must each be at least NUM_REGS * sizeof (regoff_t) bytes long. If NUM_REGS == 0, then subsequent matches should allocate their own register data. Unless this function is called, the first search or match using PATTERN_BUFFER will allocate its own register data, without freeing the old data. */ void re_set_registers (bufp, regs, num_regs, starts, ends) struct re_pattern_buffer *bufp; struct re_registers *regs; __re_size_t num_regs; regoff_t *starts, *ends; { if (num_regs) { bufp->regs_allocated = REGS_REALLOCATE; regs->num_regs = num_regs; regs->start = starts; regs->end = ends; } else { bufp->regs_allocated = REGS_UNALLOCATED; regs->num_regs = 0; regs->start = regs->end = NULL; } } #ifdef _LIBC weak_alias (__re_set_registers, re_set_registers) #endif /* Entry points compatible with 4.2 BSD regex library. We don't define them unless specifically requested. */ #if defined _REGEX_RE_COMP || defined _LIBC int # ifdef _LIBC weak_function # endif re_exec (s) const char *s; { return 0 == regexec (&re_comp_buf, s, 0, NULL, 0); } #endif /* _REGEX_RE_COMP */ /* Internal entry point. */ /* Searches for a compiled pattern PREG in the string STRING, whose length is LENGTH. NMATCH, PMATCH, and EFLAGS have the same meaning as with regexec. LAST_START is START + RANGE, where START and RANGE have the same meaning as with re_search. Return REG_NOERROR if we find a match, and REG_NOMATCH if not, otherwise return the error code. Note: We assume front end functions already check ranges. (0 <= LAST_START && LAST_START <= LENGTH) */ static reg_errcode_t internal_function re_search_internal (const regex_t *preg, const char *string, Idx length, Idx start, Idx last_start, Idx stop, size_t nmatch, regmatch_t pmatch[], int eflags) { reg_errcode_t err; const re_dfa_t *dfa = (const re_dfa_t *) preg->buffer; Idx left_lim, right_lim; int incr; bool fl_longest_match; int match_kind; Idx match_first; Idx match_last = REG_MISSING; Idx extra_nmatch; bool sb; int ch; #if defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) re_match_context_t mctx = { .dfa = dfa }; #else re_match_context_t mctx; #endif char *fastmap = ((preg->fastmap != NULL && preg->fastmap_accurate && start != last_start && !preg->can_be_null) ? preg->fastmap : NULL); RE_TRANSLATE_TYPE t = preg->translate; #if !(defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) memset (&mctx, '\0', sizeof (re_match_context_t)); mctx.dfa = dfa; #endif extra_nmatch = (nmatch > preg->re_nsub) ? nmatch - (preg->re_nsub + 1) : 0; nmatch -= extra_nmatch; /* Check if the DFA haven't been compiled. */ if (BE (preg->used == 0 || dfa->init_state == NULL || dfa->init_state_word == NULL || dfa->init_state_nl == NULL || dfa->init_state_begbuf == NULL, 0)) return REG_NOMATCH; #ifdef DEBUG /* We assume front-end functions already check them. */ assert (0 <= last_start && last_start <= length); #endif /* If initial states with non-begbuf contexts have no elements, the regex must be anchored. If preg->newline_anchor is set, we'll never use init_state_nl, so do not check it. */ if (dfa->init_state->nodes.nelem == 0 && dfa->init_state_word->nodes.nelem == 0 && (dfa->init_state_nl->nodes.nelem == 0 || !preg->newline_anchor)) { if (start != 0 && last_start != 0) return REG_NOMATCH; start = last_start = 0; } /* We must check the longest matching, if nmatch > 0. */ fl_longest_match = (nmatch != 0 || dfa->nbackref); err = re_string_allocate (&mctx.input, string, length, dfa->nodes_len + 1, preg->translate, (preg->syntax & RE_ICASE) != 0, dfa); if (BE (err != REG_NOERROR, 0)) goto free_return; mctx.input.stop = stop; mctx.input.raw_stop = stop; mctx.input.newline_anchor = preg->newline_anchor; err = match_ctx_init (&mctx, eflags, dfa->nbackref * 2); if (BE (err != REG_NOERROR, 0)) goto free_return; /* We will log all the DFA states through which the dfa pass, if nmatch > 1, or this dfa has "multibyte node", which is a back-reference or a node which can accept multibyte character or multi character collating element. */ if (nmatch > 1 || dfa->has_mb_node) { /* Avoid overflow. */ if (BE (SIZE_MAX / sizeof (re_dfastate_t *) <= mctx.input.bufs_len, 0)) { err = REG_ESPACE; goto free_return; } mctx.state_log = re_malloc (re_dfastate_t *, mctx.input.bufs_len + 1); if (BE (mctx.state_log == NULL, 0)) { err = REG_ESPACE; goto free_return; } } else mctx.state_log = NULL; match_first = start; mctx.input.tip_context = (eflags & REG_NOTBOL) ? CONTEXT_BEGBUF : CONTEXT_NEWLINE | CONTEXT_BEGBUF; /* Check incrementally whether of not the input string match. */ incr = (last_start < start) ? -1 : 1; left_lim = (last_start < start) ? last_start : start; right_lim = (last_start < start) ? start : last_start; sb = dfa->mb_cur_max == 1; match_kind = (fastmap ? ((sb || !(preg->syntax & RE_ICASE || t) ? 4 : 0) | (start <= last_start ? 2 : 0) | (t != NULL ? 1 : 0)) : 8); for (;; match_first += incr) { err = REG_NOMATCH; if (match_first < left_lim || right_lim < match_first) goto free_return; /* Advance as rapidly as possible through the string, until we find a plausible place to start matching. This may be done with varying efficiency, so there are various possibilities: only the most common of them are specialized, in order to save on code size. We use a switch statement for speed. */ switch (match_kind) { case 8: /* No fastmap. */ break; case 7: /* Fastmap with single-byte translation, match forward. */ while (BE (match_first < right_lim, 1) && !fastmap[t[(unsigned char) string[match_first]]]) ++match_first; goto forward_match_found_start_or_reached_end; case 6: /* Fastmap without translation, match forward. */ while (BE (match_first < right_lim, 1) && !fastmap[(unsigned char) string[match_first]]) ++match_first; forward_match_found_start_or_reached_end: if (BE (match_first == right_lim, 0)) { ch = match_first >= length ? 0 : (unsigned char) string[match_first]; if (!fastmap[t ? t[ch] : ch]) goto free_return; } break; case 4: case 5: /* Fastmap without multi-byte translation, match backwards. */ while (match_first >= left_lim) { ch = match_first >= length ? 0 : (unsigned char) string[match_first]; if (fastmap[t ? t[ch] : ch]) break; --match_first; } if (match_first < left_lim) goto free_return; break; default: /* In this case, we can't determine easily the current byte, since it might be a component byte of a multibyte character. Then we use the constructed buffer instead. */ for (;;) { /* If MATCH_FIRST is out of the valid range, reconstruct the buffers. */ __re_size_t offset = match_first - mctx.input.raw_mbs_idx; if (BE (offset >= (__re_size_t) mctx.input.valid_raw_len, 0)) { err = re_string_reconstruct (&mctx.input, match_first, eflags); if (BE (err != REG_NOERROR, 0)) goto free_return; offset = match_first - mctx.input.raw_mbs_idx; } /* If MATCH_FIRST is out of the buffer, leave it as '\0'. Note that MATCH_FIRST must not be smaller than 0. */ ch = (match_first >= length ? 0 : re_string_byte_at (&mctx.input, offset)); if (fastmap[ch]) break; match_first += incr; if (match_first < left_lim || match_first > right_lim) { err = REG_NOMATCH; goto free_return; } } break; } /* Reconstruct the buffers so that the matcher can assume that the matching starts from the beginning of the buffer. */ err = re_string_reconstruct (&mctx.input, match_first, eflags); if (BE (err != REG_NOERROR, 0)) goto free_return; #ifdef RE_ENABLE_I18N /* Don't consider this char as a possible match start if it part, yet isn't the head, of a multibyte character. */ if (!sb && !re_string_first_byte (&mctx.input, 0)) continue; #endif /* It seems to be appropriate one, then use the matcher. */ /* We assume that the matching starts from 0. */ mctx.state_log_top = mctx.nbkref_ents = mctx.max_mb_elem_len = 0; match_last = check_matching (&mctx, fl_longest_match, start <= last_start ? &match_first : NULL); if (match_last != REG_MISSING) { if (BE (match_last == REG_ERROR, 0)) { err = REG_ESPACE; goto free_return; } else { mctx.match_last = match_last; if ((!preg->no_sub && nmatch > 1) || dfa->nbackref) { re_dfastate_t *pstate = mctx.state_log[match_last]; mctx.last_node = check_halt_state_context (&mctx, pstate, match_last); } if ((!preg->no_sub && nmatch > 1 && dfa->has_plural_match) || dfa->nbackref) { err = prune_impossible_nodes (&mctx); if (err == REG_NOERROR) break; if (BE (err != REG_NOMATCH, 0)) goto free_return; match_last = REG_MISSING; } else break; /* We found a match. */ } } match_ctx_clean (&mctx); } #ifdef DEBUG assert (match_last != REG_MISSING); assert (err == REG_NOERROR); #endif /* Set pmatch[] if we need. */ if (nmatch > 0) { Idx reg_idx; /* Initialize registers. */ for (reg_idx = 1; reg_idx < nmatch; ++reg_idx) pmatch[reg_idx].rm_so = pmatch[reg_idx].rm_eo = -1; /* Set the points where matching start/end. */ pmatch[0].rm_so = 0; pmatch[0].rm_eo = mctx.match_last; /* FIXME: This function should fail if mctx.match_last exceeds the maximum possible regoff_t value. We need a new error code REG_OVERFLOW. */ if (!preg->no_sub && nmatch > 1) { err = set_regs (preg, &mctx, nmatch, pmatch, dfa->has_plural_match && dfa->nbackref > 0); if (BE (err != REG_NOERROR, 0)) goto free_return; } /* At last, add the offset to the each registers, since we slided the buffers so that we could assume that the matching starts from 0. */ for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) if (pmatch[reg_idx].rm_so != -1) { #ifdef RE_ENABLE_I18N if (BE (mctx.input.offsets_needed != 0, 0)) { pmatch[reg_idx].rm_so = (pmatch[reg_idx].rm_so == mctx.input.valid_len ? mctx.input.valid_raw_len : mctx.input.offsets[pmatch[reg_idx].rm_so]); pmatch[reg_idx].rm_eo = (pmatch[reg_idx].rm_eo == mctx.input.valid_len ? mctx.input.valid_raw_len : mctx.input.offsets[pmatch[reg_idx].rm_eo]); } #else assert (mctx.input.offsets_needed == 0); #endif pmatch[reg_idx].rm_so += match_first; pmatch[reg_idx].rm_eo += match_first; } for (reg_idx = 0; reg_idx < extra_nmatch; ++reg_idx) { pmatch[nmatch + reg_idx].rm_so = -1; pmatch[nmatch + reg_idx].rm_eo = -1; } if (dfa->subexp_map) for (reg_idx = 0; reg_idx + 1 < nmatch; reg_idx++) if (dfa->subexp_map[reg_idx] != reg_idx) { pmatch[reg_idx + 1].rm_so = pmatch[dfa->subexp_map[reg_idx] + 1].rm_so; pmatch[reg_idx + 1].rm_eo = pmatch[dfa->subexp_map[reg_idx] + 1].rm_eo; } } free_return: re_free (mctx.state_log); if (dfa->nbackref) match_ctx_free (&mctx); re_string_destruct (&mctx.input); return err; } static reg_errcode_t internal_function prune_impossible_nodes (re_match_context_t *mctx) { const re_dfa_t *const dfa = mctx->dfa; Idx halt_node, match_last; reg_errcode_t ret; re_dfastate_t **sifted_states; re_dfastate_t **lim_states = NULL; re_sift_context_t sctx; #ifdef DEBUG assert (mctx->state_log != NULL); #endif match_last = mctx->match_last; halt_node = mctx->last_node; /* Avoid overflow. */ if (BE (SIZE_MAX / sizeof (re_dfastate_t *) <= match_last, 0)) return REG_ESPACE; sifted_states = re_malloc (re_dfastate_t *, match_last + 1); if (BE (sifted_states == NULL, 0)) { ret = REG_ESPACE; goto free_return; } if (dfa->nbackref) { lim_states = re_malloc (re_dfastate_t *, match_last + 1); if (BE (lim_states == NULL, 0)) { ret = REG_ESPACE; goto free_return; } while (1) { memset (lim_states, '\0', sizeof (re_dfastate_t *) * (match_last + 1)); sift_ctx_init (&sctx, sifted_states, lim_states, halt_node, match_last); ret = sift_states_backward (mctx, &sctx); re_node_set_free (&sctx.limits); if (BE (ret != REG_NOERROR, 0)) goto free_return; if (sifted_states[0] != NULL || lim_states[0] != NULL) break; do { --match_last; if (! REG_VALID_INDEX (match_last)) { ret = REG_NOMATCH; goto free_return; } } while (mctx->state_log[match_last] == NULL || !mctx->state_log[match_last]->halt); halt_node = check_halt_state_context (mctx, mctx->state_log[match_last], match_last); } ret = merge_state_array (dfa, sifted_states, lim_states, match_last + 1); re_free (lim_states); lim_states = NULL; if (BE (ret != REG_NOERROR, 0)) goto free_return; } else { sift_ctx_init (&sctx, sifted_states, lim_states, halt_node, match_last); ret = sift_states_backward (mctx, &sctx); re_node_set_free (&sctx.limits); if (BE (ret != REG_NOERROR, 0)) goto free_return; } re_free (mctx->state_log); mctx->state_log = sifted_states; sifted_states = NULL; mctx->last_node = halt_node; mctx->match_last = match_last; ret = REG_NOERROR; free_return: re_free (sifted_states); re_free (lim_states); return ret; } /* Acquire an initial state and return it. We must select appropriate initial state depending on the context, since initial states may have constraints like "\<", "^", etc.. */ static inline re_dfastate_t * __attribute ((always_inline)) internal_function acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx, Idx idx) { const re_dfa_t *const dfa = mctx->dfa; if (dfa->init_state->has_constraint) { unsigned int context; context = re_string_context_at (&mctx->input, idx - 1, mctx->eflags); if (IS_WORD_CONTEXT (context)) return dfa->init_state_word; else if (IS_ORDINARY_CONTEXT (context)) return dfa->init_state; else if (IS_BEGBUF_CONTEXT (context) && IS_NEWLINE_CONTEXT (context)) return dfa->init_state_begbuf; else if (IS_NEWLINE_CONTEXT (context)) return dfa->init_state_nl; else if (IS_BEGBUF_CONTEXT (context)) { /* It is relatively rare case, then calculate on demand. */ return re_acquire_state_context (err, dfa, dfa->init_state->entrance_nodes, context); } else /* Must not happen? */ return dfa->init_state; } else return dfa->init_state; } /* Check whether the regular expression match input string INPUT or not, and return the index where the matching end. Return REG_MISSING if there is no match, and return REG_ERROR in case of an error. FL_LONGEST_MATCH means we want the POSIX longest matching. If P_MATCH_FIRST is not NULL, and the match fails, it is set to the next place where we may want to try matching. Note that the matcher assume that the maching starts from the current index of the buffer. */ static Idx internal_function check_matching (re_match_context_t *mctx, bool fl_longest_match, Idx *p_match_first) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx match = 0; Idx match_last = REG_MISSING; Idx cur_str_idx = re_string_cur_idx (&mctx->input); re_dfastate_t *cur_state; bool at_init_state = p_match_first != NULL; Idx next_start_idx = cur_str_idx; err = REG_NOERROR; cur_state = acquire_init_state_context (&err, mctx, cur_str_idx); /* An initial state must not be NULL (invalid). */ if (BE (cur_state == NULL, 0)) { assert (err == REG_ESPACE); return REG_ERROR; } if (mctx->state_log != NULL) { mctx->state_log[cur_str_idx] = cur_state; /* Check OP_OPEN_SUBEXP in the initial state in case that we use them later. E.g. Processing back references. */ if (BE (dfa->nbackref, 0)) { at_init_state = false; err = check_subexp_matching_top (mctx, &cur_state->nodes, 0); if (BE (err != REG_NOERROR, 0)) return err; if (cur_state->has_backref) { err = transit_state_bkref (mctx, &cur_state->nodes); if (BE (err != REG_NOERROR, 0)) return err; } } } /* If the RE accepts NULL string. */ if (BE (cur_state->halt, 0)) { if (!cur_state->has_constraint || check_halt_state_context (mctx, cur_state, cur_str_idx)) { if (!fl_longest_match) return cur_str_idx; else { match_last = cur_str_idx; match = 1; } } } while (!re_string_eoi (&mctx->input)) { re_dfastate_t *old_state = cur_state; Idx next_char_idx = re_string_cur_idx (&mctx->input) + 1; if (BE (next_char_idx >= mctx->input.bufs_len, 0) || (BE (next_char_idx >= mctx->input.valid_len, 0) && mctx->input.valid_len < mctx->input.len)) { err = extend_buffers (mctx); if (BE (err != REG_NOERROR, 0)) { assert (err == REG_ESPACE); return REG_ERROR; } } cur_state = transit_state (&err, mctx, cur_state); if (mctx->state_log != NULL) cur_state = merge_state_with_log (&err, mctx, cur_state); if (cur_state == NULL) { /* Reached the invalid state or an error. Try to recover a valid state using the state log, if available and if we have not already found a valid (even if not the longest) match. */ if (BE (err != REG_NOERROR, 0)) return REG_ERROR; if (mctx->state_log == NULL || (match && !fl_longest_match) || (cur_state = find_recover_state (&err, mctx)) == NULL) break; } if (BE (at_init_state, 0)) { if (old_state == cur_state) next_start_idx = next_char_idx; else at_init_state = false; } if (cur_state->halt) { /* Reached a halt state. Check the halt state can satisfy the current context. */ if (!cur_state->has_constraint || check_halt_state_context (mctx, cur_state, re_string_cur_idx (&mctx->input))) { /* We found an appropriate halt state. */ match_last = re_string_cur_idx (&mctx->input); match = 1; /* We found a match, do not modify match_first below. */ p_match_first = NULL; if (!fl_longest_match) break; } } } if (p_match_first) *p_match_first += next_start_idx; return match_last; } /* Check NODE match the current context. */ static bool internal_function check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned int context) { re_token_type_t type = dfa->nodes[node].type; unsigned int constraint = dfa->nodes[node].constraint; if (type != END_OF_RE) return false; if (!constraint) return true; if (NOT_SATISFY_NEXT_CONSTRAINT (constraint, context)) return false; return true; } /* Check the halt state STATE match the current context. Return 0 if not match, if the node, STATE has, is a halt node and match the context, return the node. */ static Idx internal_function check_halt_state_context (const re_match_context_t *mctx, const re_dfastate_t *state, Idx idx) { Idx i; unsigned int context; #ifdef DEBUG assert (state->halt); #endif context = re_string_context_at (&mctx->input, idx, mctx->eflags); for (i = 0; i < state->nodes.nelem; ++i) if (check_halt_node_context (mctx->dfa, state->nodes.elems[i], context)) return state->nodes.elems[i]; return 0; } /* Compute the next node to which "NFA" transit from NODE("NFA" is a NFA corresponding to the DFA). Return the destination node, and update EPS_VIA_NODES; return REG_MISSING in case of errors. */ static Idx internal_function proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs, Idx *pidx, Idx node, re_node_set *eps_via_nodes, struct re_fail_stack_t *fs) { const re_dfa_t *const dfa = mctx->dfa; Idx i; bool ok; if (IS_EPSILON_NODE (dfa->nodes[node].type)) { re_node_set *cur_nodes = &mctx->state_log[*pidx]->nodes; re_node_set *edests = &dfa->edests[node]; Idx dest_node; ok = re_node_set_insert (eps_via_nodes, node); if (BE (! ok, 0)) return REG_ERROR; /* Pick up a valid destination, or return REG_MISSING if none is found. */ for (dest_node = REG_MISSING, i = 0; i < edests->nelem; ++i) { Idx candidate = edests->elems[i]; if (!re_node_set_contains (cur_nodes, candidate)) continue; if (dest_node == REG_MISSING) dest_node = candidate; else { /* In order to avoid infinite loop like "(a*)*", return the second epsilon-transition if the first was already considered. */ if (re_node_set_contains (eps_via_nodes, dest_node)) return candidate; /* Otherwise, push the second epsilon-transition on the fail stack. */ else if (fs != NULL && push_fail_stack (fs, *pidx, candidate, nregs, regs, eps_via_nodes)) return REG_ERROR; /* We know we are going to exit. */ break; } } return dest_node; } else { Idx naccepted = 0; re_token_type_t type = dfa->nodes[node].type; #ifdef RE_ENABLE_I18N if (dfa->nodes[node].accept_mb) naccepted = check_node_accept_bytes (dfa, node, &mctx->input, *pidx); else #endif /* RE_ENABLE_I18N */ if (type == OP_BACK_REF) { Idx subexp_idx = dfa->nodes[node].opr.idx + 1; naccepted = regs[subexp_idx].rm_eo - regs[subexp_idx].rm_so; if (fs != NULL) { if (regs[subexp_idx].rm_so == -1 || regs[subexp_idx].rm_eo == -1) return REG_MISSING; else if (naccepted) { char *buf = (char *) re_string_get_buffer (&mctx->input); if (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx, naccepted) != 0) return REG_MISSING; } } if (naccepted == 0) { Idx dest_node; ok = re_node_set_insert (eps_via_nodes, node); if (BE (! ok, 0)) return REG_ERROR; dest_node = dfa->edests[node].elems[0]; if (re_node_set_contains (&mctx->state_log[*pidx]->nodes, dest_node)) return dest_node; } } if (naccepted != 0 || check_node_accept (mctx, dfa->nodes + node, *pidx)) { Idx dest_node = dfa->nexts[node]; *pidx = (naccepted == 0) ? *pidx + 1 : *pidx + naccepted; if (fs && (*pidx > mctx->match_last || mctx->state_log[*pidx] == NULL || !re_node_set_contains (&mctx->state_log[*pidx]->nodes, dest_node))) return REG_MISSING; re_node_set_empty (eps_via_nodes); return dest_node; } } return REG_MISSING; } static reg_errcode_t internal_function push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) { reg_errcode_t err; Idx num = fs->num++; if (fs->num == fs->alloc) { struct re_fail_stack_ent_t *new_array; new_array = realloc (fs->stack, (sizeof (struct re_fail_stack_ent_t) * fs->alloc * 2)); if (new_array == NULL) return REG_ESPACE; fs->alloc *= 2; fs->stack = new_array; } fs->stack[num].idx = str_idx; fs->stack[num].node = dest_node; fs->stack[num].regs = re_malloc (regmatch_t, nregs); if (fs->stack[num].regs == NULL) return REG_ESPACE; memcpy (fs->stack[num].regs, regs, sizeof (regmatch_t) * nregs); err = re_node_set_init_copy (&fs->stack[num].eps_via_nodes, eps_via_nodes); return err; } static Idx internal_function pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs, regmatch_t *regs, re_node_set *eps_via_nodes) { Idx num = --fs->num; assert (REG_VALID_INDEX (num)); *pidx = fs->stack[num].idx; memcpy (regs, fs->stack[num].regs, sizeof (regmatch_t) * nregs); re_node_set_free (eps_via_nodes); re_free (fs->stack[num].regs); *eps_via_nodes = fs->stack[num].eps_via_nodes; return fs->stack[num].node; } /* Set the positions where the subexpressions are starts/ends to registers PMATCH. Note: We assume that pmatch[0] is already set, and pmatch[i].rm_so == pmatch[i].rm_eo == -1 for 0 < i < nmatch. */ static reg_errcode_t internal_function set_regs (const regex_t *preg, const re_match_context_t *mctx, size_t nmatch, regmatch_t *pmatch, bool fl_backtrack) { const re_dfa_t *dfa = (const re_dfa_t *) preg->buffer; Idx idx, cur_node; re_node_set eps_via_nodes; struct re_fail_stack_t *fs; struct re_fail_stack_t fs_body = { 0, 2, NULL }; regmatch_t *prev_idx_match; bool prev_idx_match_malloced = false; #ifdef DEBUG assert (nmatch > 1); assert (mctx->state_log != NULL); #endif if (fl_backtrack) { fs = &fs_body; fs->stack = re_malloc (struct re_fail_stack_ent_t, fs->alloc); if (fs->stack == NULL) return REG_ESPACE; } else fs = NULL; cur_node = dfa->init_node; re_node_set_init_empty (&eps_via_nodes); if (__libc_use_alloca (nmatch * sizeof (regmatch_t))) prev_idx_match = (regmatch_t *) alloca (nmatch * sizeof (regmatch_t)); else { prev_idx_match = re_malloc (regmatch_t, nmatch); if (prev_idx_match == NULL) { free_fail_stack_return (fs); return REG_ESPACE; } prev_idx_match_malloced = true; } memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch); for (idx = pmatch[0].rm_so; idx <= pmatch[0].rm_eo ;) { update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch); if (idx == pmatch[0].rm_eo && cur_node == mctx->last_node) { Idx reg_idx; if (fs) { for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) if (pmatch[reg_idx].rm_so > -1 && pmatch[reg_idx].rm_eo == -1) break; if (reg_idx == nmatch) { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return free_fail_stack_return (fs); } cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, &eps_via_nodes); } else { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return REG_NOERROR; } } /* Proceed to next node. */ cur_node = proceed_next_node (mctx, nmatch, pmatch, &idx, cur_node, &eps_via_nodes, fs); if (BE (! REG_VALID_INDEX (cur_node), 0)) { if (BE (cur_node == REG_ERROR, 0)) { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); free_fail_stack_return (fs); return REG_ESPACE; } if (fs) cur_node = pop_fail_stack (fs, &idx, nmatch, pmatch, &eps_via_nodes); else { re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return REG_NOMATCH; } } } re_node_set_free (&eps_via_nodes); if (prev_idx_match_malloced) re_free (prev_idx_match); return free_fail_stack_return (fs); } static reg_errcode_t internal_function free_fail_stack_return (struct re_fail_stack_t *fs) { if (fs) { Idx fs_idx; for (fs_idx = 0; fs_idx < fs->num; ++fs_idx) { re_node_set_free (&fs->stack[fs_idx].eps_via_nodes); re_free (fs->stack[fs_idx].regs); } re_free (fs->stack); } return REG_NOERROR; } static void internal_function update_regs (const re_dfa_t *dfa, regmatch_t *pmatch, regmatch_t *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch) { int type = dfa->nodes[cur_node].type; if (type == OP_OPEN_SUBEXP) { Idx reg_num = dfa->nodes[cur_node].opr.idx + 1; /* We are at the first node of this sub expression. */ if (reg_num < nmatch) { pmatch[reg_num].rm_so = cur_idx; pmatch[reg_num].rm_eo = -1; } } else if (type == OP_CLOSE_SUBEXP) { Idx reg_num = dfa->nodes[cur_node].opr.idx + 1; if (reg_num < nmatch) { /* We are at the last node of this sub expression. */ if (pmatch[reg_num].rm_so < cur_idx) { pmatch[reg_num].rm_eo = cur_idx; /* This is a non-empty match or we are not inside an optional subexpression. Accept this right away. */ memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch); } else { if (dfa->nodes[cur_node].opt_subexp && prev_idx_match[reg_num].rm_so != -1) /* We transited through an empty match for an optional subexpression, like (a?)*, and this is not the subexp's first match. Copy back the old content of the registers so that matches of an inner subexpression are undone as well, like in ((a?))*. */ memcpy (pmatch, prev_idx_match, sizeof (regmatch_t) * nmatch); else /* We completed a subexpression, but it may be part of an optional one, so do not update PREV_IDX_MATCH. */ pmatch[reg_num].rm_eo = cur_idx; } } } } /* This function checks the STATE_LOG from the SCTX->last_str_idx to 0 and sift the nodes in each states according to the following rules. Updated state_log will be wrote to STATE_LOG. Rules: We throw away the Node `a' in the STATE_LOG[STR_IDX] if... 1. When STR_IDX == MATCH_LAST(the last index in the state_log): If `a' isn't the LAST_NODE and `a' can't epsilon transit to the LAST_NODE, we throw away the node `a'. 2. When 0 <= STR_IDX < MATCH_LAST and `a' accepts string `s' and transit to `b': i. If 'b' isn't in the STATE_LOG[STR_IDX+strlen('s')], we throw away the node `a'. ii. If 'b' is in the STATE_LOG[STR_IDX+strlen('s')] but 'b' is thrown away, we throw away the node `a'. 3. When 0 <= STR_IDX < MATCH_LAST and 'a' epsilon transit to 'b': i. If 'b' isn't in the STATE_LOG[STR_IDX], we throw away the node `a'. ii. If 'b' is in the STATE_LOG[STR_IDX] but 'b' is thrown away, we throw away the node `a'. */ #define STATE_NODE_CONTAINS(state,node) \ ((state) != NULL && re_node_set_contains (&(state)->nodes, node)) static reg_errcode_t internal_function sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx) { reg_errcode_t err; int null_cnt = 0; Idx str_idx = sctx->last_str_idx; re_node_set cur_dest; #ifdef DEBUG assert (mctx->state_log != NULL && mctx->state_log[str_idx] != NULL); #endif /* Build sifted state_log[str_idx]. It has the nodes which can epsilon transit to the last_node and the last_node itself. */ err = re_node_set_init_1 (&cur_dest, sctx->last_node); if (BE (err != REG_NOERROR, 0)) return err; err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest); if (BE (err != REG_NOERROR, 0)) goto free_return; /* Then check each states in the state_log. */ while (str_idx > 0) { /* Update counters. */ null_cnt = (sctx->sifted_states[str_idx] == NULL) ? null_cnt + 1 : 0; if (null_cnt > mctx->max_mb_elem_len) { memset (sctx->sifted_states, '\0', sizeof (re_dfastate_t *) * str_idx); re_node_set_free (&cur_dest); return REG_NOERROR; } re_node_set_empty (&cur_dest); --str_idx; if (mctx->state_log[str_idx]) { err = build_sifted_states (mctx, sctx, str_idx, &cur_dest); if (BE (err != REG_NOERROR, 0)) goto free_return; } /* Add all the nodes which satisfy the following conditions: - It can epsilon transit to a node in CUR_DEST. - It is in CUR_SRC. And update state_log. */ err = update_cur_sifted_state (mctx, sctx, str_idx, &cur_dest); if (BE (err != REG_NOERROR, 0)) goto free_return; } err = REG_NOERROR; free_return: re_node_set_free (&cur_dest); return err; } static reg_errcode_t internal_function build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *cur_dest) { const re_dfa_t *const dfa = mctx->dfa; const re_node_set *cur_src = &mctx->state_log[str_idx]->non_eps_nodes; Idx i; /* Then build the next sifted state. We build the next sifted state on `cur_dest', and update `sifted_states[str_idx]' with `cur_dest'. Note: `cur_dest' is the sifted state from `state_log[str_idx + 1]'. `cur_src' points the node_set of the old `state_log[str_idx]' (with the epsilon nodes pre-filtered out). */ for (i = 0; i < cur_src->nelem; i++) { Idx prev_node = cur_src->elems[i]; int naccepted = 0; bool ok; #ifdef DEBUG re_token_type_t type = dfa->nodes[prev_node].type; assert (!IS_EPSILON_NODE (type)); #endif #ifdef RE_ENABLE_I18N /* If the node may accept `multi byte'. */ if (dfa->nodes[prev_node].accept_mb) naccepted = sift_states_iter_mb (mctx, sctx, prev_node, str_idx, sctx->last_str_idx); #endif /* RE_ENABLE_I18N */ /* We don't check backreferences here. See update_cur_sifted_state(). */ if (!naccepted && check_node_accept (mctx, dfa->nodes + prev_node, str_idx) && STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + 1], dfa->nexts[prev_node])) naccepted = 1; if (naccepted == 0) continue; if (sctx->limits.nelem) { Idx to_idx = str_idx + naccepted; if (check_dst_limits (mctx, &sctx->limits, dfa->nexts[prev_node], to_idx, prev_node, str_idx)) continue; } ok = re_node_set_insert (cur_dest, prev_node); if (BE (! ok, 0)) return REG_ESPACE; } return REG_NOERROR; } /* Helper functions. */ static reg_errcode_t internal_function clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx) { Idx top = mctx->state_log_top; if (next_state_log_idx >= mctx->input.bufs_len || (next_state_log_idx >= mctx->input.valid_len && mctx->input.valid_len < mctx->input.len)) { reg_errcode_t err; err = extend_buffers (mctx); if (BE (err != REG_NOERROR, 0)) return err; } if (top < next_state_log_idx) { memset (mctx->state_log + top + 1, '\0', sizeof (re_dfastate_t *) * (next_state_log_idx - top)); mctx->state_log_top = next_state_log_idx; } return REG_NOERROR; } static reg_errcode_t internal_function merge_state_array (const re_dfa_t *dfa, re_dfastate_t **dst, re_dfastate_t **src, Idx num) { Idx st_idx; reg_errcode_t err; for (st_idx = 0; st_idx < num; ++st_idx) { if (dst[st_idx] == NULL) dst[st_idx] = src[st_idx]; else if (src[st_idx] != NULL) { re_node_set merged_set; err = re_node_set_init_union (&merged_set, &dst[st_idx]->nodes, &src[st_idx]->nodes); if (BE (err != REG_NOERROR, 0)) return err; dst[st_idx] = re_acquire_state (&err, dfa, &merged_set); re_node_set_free (&merged_set); if (BE (err != REG_NOERROR, 0)) return err; } } return REG_NOERROR; } static reg_errcode_t internal_function update_cur_sifted_state (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, re_node_set *dest_nodes) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err = REG_NOERROR; const re_node_set *candidates; candidates = ((mctx->state_log[str_idx] == NULL) ? NULL : &mctx->state_log[str_idx]->nodes); if (dest_nodes->nelem == 0) sctx->sifted_states[str_idx] = NULL; else { if (candidates) { /* At first, add the nodes which can epsilon transit to a node in DEST_NODE. */ err = add_epsilon_src_nodes (dfa, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; /* Then, check the limitations in the current sift_context. */ if (sctx->limits.nelem) { err = check_subexp_limits (dfa, dest_nodes, candidates, &sctx->limits, mctx->bkref_ents, str_idx); if (BE (err != REG_NOERROR, 0)) return err; } } sctx->sifted_states[str_idx] = re_acquire_state (&err, dfa, dest_nodes); if (BE (err != REG_NOERROR, 0)) return err; } if (candidates && mctx->state_log[str_idx]->has_backref) { err = sift_states_bkref (mctx, sctx, str_idx, candidates); if (BE (err != REG_NOERROR, 0)) return err; } return REG_NOERROR; } static reg_errcode_t internal_function add_epsilon_src_nodes (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates) { reg_errcode_t err = REG_NOERROR; Idx i; re_dfastate_t *state = re_acquire_state (&err, dfa, dest_nodes); if (BE (err != REG_NOERROR, 0)) return err; if (!state->inveclosure.alloc) { err = re_node_set_alloc (&state->inveclosure, dest_nodes->nelem); if (BE (err != REG_NOERROR, 0)) return REG_ESPACE; for (i = 0; i < dest_nodes->nelem; i++) re_node_set_merge (&state->inveclosure, dfa->inveclosures + dest_nodes->elems[i]); } return re_node_set_add_intersect (dest_nodes, candidates, &state->inveclosure); } static reg_errcode_t internal_function sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node, re_node_set *dest_nodes, const re_node_set *candidates) { Idx ecl_idx; reg_errcode_t err; re_node_set *inv_eclosure = dfa->inveclosures + node; re_node_set except_nodes; re_node_set_init_empty (&except_nodes); for (ecl_idx = 0; ecl_idx < inv_eclosure->nelem; ++ecl_idx) { Idx cur_node = inv_eclosure->elems[ecl_idx]; if (cur_node == node) continue; if (IS_EPSILON_NODE (dfa->nodes[cur_node].type)) { Idx edst1 = dfa->edests[cur_node].elems[0]; Idx edst2 = ((dfa->edests[cur_node].nelem > 1) ? dfa->edests[cur_node].elems[1] : REG_MISSING); if ((!re_node_set_contains (inv_eclosure, edst1) && re_node_set_contains (dest_nodes, edst1)) || (REG_VALID_NONZERO_INDEX (edst2) && !re_node_set_contains (inv_eclosure, edst2) && re_node_set_contains (dest_nodes, edst2))) { err = re_node_set_add_intersect (&except_nodes, candidates, dfa->inveclosures + cur_node); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&except_nodes); return err; } } } } for (ecl_idx = 0; ecl_idx < inv_eclosure->nelem; ++ecl_idx) { Idx cur_node = inv_eclosure->elems[ecl_idx]; if (!re_node_set_contains (&except_nodes, cur_node)) { Idx idx = re_node_set_contains (dest_nodes, cur_node) - 1; re_node_set_remove_at (dest_nodes, idx); } } re_node_set_free (&except_nodes); return REG_NOERROR; } static bool internal_function check_dst_limits (const re_match_context_t *mctx, const re_node_set *limits, Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx) { const re_dfa_t *const dfa = mctx->dfa; Idx lim_idx, src_pos, dst_pos; Idx dst_bkref_idx = search_cur_bkref_entry (mctx, dst_idx); Idx src_bkref_idx = search_cur_bkref_entry (mctx, src_idx); for (lim_idx = 0; lim_idx < limits->nelem; ++lim_idx) { Idx subexp_idx; struct re_backref_cache_entry *ent; ent = mctx->bkref_ents + limits->elems[lim_idx]; subexp_idx = dfa->nodes[ent->node].opr.idx; dst_pos = check_dst_limits_calc_pos (mctx, limits->elems[lim_idx], subexp_idx, dst_node, dst_idx, dst_bkref_idx); src_pos = check_dst_limits_calc_pos (mctx, limits->elems[lim_idx], subexp_idx, src_node, src_idx, src_bkref_idx); /* In case of: ( ) ( ) ( ) */ if (src_pos == dst_pos) continue; /* This is unrelated limitation. */ else return true; } return false; } static int internal_function check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int boundaries, Idx subexp_idx, Idx from_node, Idx bkref_idx) { const re_dfa_t *const dfa = mctx->dfa; const re_node_set *eclosures = dfa->eclosures + from_node; Idx node_idx; /* Else, we are on the boundary: examine the nodes on the epsilon closure. */ for (node_idx = 0; node_idx < eclosures->nelem; ++node_idx) { Idx node = eclosures->elems[node_idx]; switch (dfa->nodes[node].type) { case OP_BACK_REF: if (bkref_idx != REG_MISSING) { struct re_backref_cache_entry *ent = mctx->bkref_ents + bkref_idx; do { Idx dst; int cpos; if (ent->node != node) continue; if (subexp_idx < BITSET_WORD_BITS && !(ent->eps_reachable_subexps_map & ((bitset_word_t) 1 << subexp_idx))) continue; /* Recurse trying to reach the OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP cases below. But, if the destination node is the same node as the source node, don't recurse because it would cause an infinite loop: a regex that exhibits this behavior is ()\1*\1* */ dst = dfa->edests[node].elems[0]; if (dst == from_node) { if (boundaries & 1) return -1; else /* if (boundaries & 2) */ return 0; } cpos = check_dst_limits_calc_pos_1 (mctx, boundaries, subexp_idx, dst, bkref_idx); if (cpos == -1 /* && (boundaries & 1) */) return -1; if (cpos == 0 && (boundaries & 2)) return 0; if (subexp_idx < BITSET_WORD_BITS) ent->eps_reachable_subexps_map &= ~((bitset_word_t) 1 << subexp_idx); } while (ent++->more); } break; case OP_OPEN_SUBEXP: if ((boundaries & 1) && subexp_idx == dfa->nodes[node].opr.idx) return -1; break; case OP_CLOSE_SUBEXP: if ((boundaries & 2) && subexp_idx == dfa->nodes[node].opr.idx) return 0; break; default: break; } } return (boundaries & 2) ? 1 : 0; } static int internal_function check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx limit, Idx subexp_idx, Idx from_node, Idx str_idx, Idx bkref_idx) { struct re_backref_cache_entry *lim = mctx->bkref_ents + limit; int boundaries; /* If we are outside the range of the subexpression, return -1 or 1. */ if (str_idx < lim->subexp_from) return -1; if (lim->subexp_to < str_idx) return 1; /* If we are within the subexpression, return 0. */ boundaries = (str_idx == lim->subexp_from); boundaries |= (str_idx == lim->subexp_to) << 1; if (boundaries == 0) return 0; /* Else, examine epsilon closure. */ return check_dst_limits_calc_pos_1 (mctx, boundaries, subexp_idx, from_node, bkref_idx); } /* Check the limitations of sub expressions LIMITS, and remove the nodes which are against limitations from DEST_NODES. */ static reg_errcode_t internal_function check_subexp_limits (const re_dfa_t *dfa, re_node_set *dest_nodes, const re_node_set *candidates, re_node_set *limits, struct re_backref_cache_entry *bkref_ents, Idx str_idx) { reg_errcode_t err; Idx node_idx, lim_idx; for (lim_idx = 0; lim_idx < limits->nelem; ++lim_idx) { Idx subexp_idx; struct re_backref_cache_entry *ent; ent = bkref_ents + limits->elems[lim_idx]; if (str_idx <= ent->subexp_from || ent->str_idx < str_idx) continue; /* This is unrelated limitation. */ subexp_idx = dfa->nodes[ent->node].opr.idx; if (ent->subexp_to == str_idx) { Idx ops_node = REG_MISSING; Idx cls_node = REG_MISSING; for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx) { Idx node = dest_nodes->elems[node_idx]; re_token_type_t type = dfa->nodes[node].type; if (type == OP_OPEN_SUBEXP && subexp_idx == dfa->nodes[node].opr.idx) ops_node = node; else if (type == OP_CLOSE_SUBEXP && subexp_idx == dfa->nodes[node].opr.idx) cls_node = node; } /* Check the limitation of the open subexpression. */ /* Note that (ent->subexp_to = str_idx != ent->subexp_from). */ if (REG_VALID_INDEX (ops_node)) { err = sub_epsilon_src_nodes (dfa, ops_node, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; } /* Check the limitation of the close subexpression. */ if (REG_VALID_INDEX (cls_node)) for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx) { Idx node = dest_nodes->elems[node_idx]; if (!re_node_set_contains (dfa->inveclosures + node, cls_node) && !re_node_set_contains (dfa->eclosures + node, cls_node)) { /* It is against this limitation. Remove it form the current sifted state. */ err = sub_epsilon_src_nodes (dfa, node, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; --node_idx; } } } else /* (ent->subexp_to != str_idx) */ { for (node_idx = 0; node_idx < dest_nodes->nelem; ++node_idx) { Idx node = dest_nodes->elems[node_idx]; re_token_type_t type = dfa->nodes[node].type; if (type == OP_CLOSE_SUBEXP || type == OP_OPEN_SUBEXP) { if (subexp_idx != dfa->nodes[node].opr.idx) continue; /* It is against this limitation. Remove it form the current sifted state. */ err = sub_epsilon_src_nodes (dfa, node, dest_nodes, candidates); if (BE (err != REG_NOERROR, 0)) return err; } } } } return REG_NOERROR; } static reg_errcode_t internal_function sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx str_idx, const re_node_set *candidates) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx node_idx, node; re_sift_context_t local_sctx; Idx first_idx = search_cur_bkref_entry (mctx, str_idx); if (first_idx == REG_MISSING) return REG_NOERROR; local_sctx.sifted_states = NULL; /* Mark that it hasn't been initialized. */ for (node_idx = 0; node_idx < candidates->nelem; ++node_idx) { Idx enabled_idx; re_token_type_t type; struct re_backref_cache_entry *entry; node = candidates->elems[node_idx]; type = dfa->nodes[node].type; /* Avoid infinite loop for the REs like "()\1+". */ if (node == sctx->last_node && str_idx == sctx->last_str_idx) continue; if (type != OP_BACK_REF) continue; entry = mctx->bkref_ents + first_idx; enabled_idx = first_idx; do { Idx subexp_len; Idx to_idx; Idx dst_node; bool ok; re_dfastate_t *cur_state; if (entry->node != node) continue; subexp_len = entry->subexp_to - entry->subexp_from; to_idx = str_idx + subexp_len; dst_node = (subexp_len ? dfa->nexts[node] : dfa->edests[node].elems[0]); if (to_idx > sctx->last_str_idx || sctx->sifted_states[to_idx] == NULL || !STATE_NODE_CONTAINS (sctx->sifted_states[to_idx], dst_node) || check_dst_limits (mctx, &sctx->limits, node, str_idx, dst_node, to_idx)) continue; if (local_sctx.sifted_states == NULL) { local_sctx = *sctx; err = re_node_set_init_copy (&local_sctx.limits, &sctx->limits); if (BE (err != REG_NOERROR, 0)) goto free_return; } local_sctx.last_node = node; local_sctx.last_str_idx = str_idx; ok = re_node_set_insert (&local_sctx.limits, enabled_idx); if (BE (! ok, 0)) { err = REG_ESPACE; goto free_return; } cur_state = local_sctx.sifted_states[str_idx]; err = sift_states_backward (mctx, &local_sctx); if (BE (err != REG_NOERROR, 0)) goto free_return; if (sctx->limited_states != NULL) { err = merge_state_array (dfa, sctx->limited_states, local_sctx.sifted_states, str_idx + 1); if (BE (err != REG_NOERROR, 0)) goto free_return; } local_sctx.sifted_states[str_idx] = cur_state; re_node_set_remove (&local_sctx.limits, enabled_idx); /* mctx->bkref_ents may have changed, reload the pointer. */ entry = mctx->bkref_ents + enabled_idx; } while (enabled_idx++, entry++->more); } err = REG_NOERROR; free_return: if (local_sctx.sifted_states != NULL) { re_node_set_free (&local_sctx.limits); } return err; } #ifdef RE_ENABLE_I18N static int internal_function sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, Idx node_idx, Idx str_idx, Idx max_str_idx) { const re_dfa_t *const dfa = mctx->dfa; int naccepted; /* Check the node can accept `multi byte'. */ naccepted = check_node_accept_bytes (dfa, node_idx, &mctx->input, str_idx); if (naccepted > 0 && str_idx + naccepted <= max_str_idx && !STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + naccepted], dfa->nexts[node_idx])) /* The node can't accept the `multi byte', or the destination was already thrown away, then the node could't accept the current input `multi byte'. */ naccepted = 0; /* Otherwise, it is sure that the node could accept `naccepted' bytes input. */ return naccepted; } #endif /* RE_ENABLE_I18N */ /* Functions for state transition. */ /* Return the next state to which the current state STATE will transit by accepting the current input byte, and update STATE_LOG if necessary. If STATE can accept a multibyte char/collating element/back reference update the destination of STATE_LOG. */ static re_dfastate_t * internal_function transit_state (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *state) { re_dfastate_t **trtable; unsigned char ch; #ifdef RE_ENABLE_I18N /* If the current state can accept multibyte. */ if (BE (state->accept_mb, 0)) { *err = transit_state_mb (mctx, state); if (BE (*err != REG_NOERROR, 0)) return NULL; } #endif /* RE_ENABLE_I18N */ /* Then decide the next state with the single byte. */ #if 0 if (0) /* don't use transition table */ return transit_state_sb (err, mctx, state); #endif /* Use transition table */ ch = re_string_fetch_byte (&mctx->input); for (;;) { trtable = state->trtable; if (BE (trtable != NULL, 1)) return trtable[ch]; trtable = state->word_trtable; if (BE (trtable != NULL, 1)) { unsigned int context; context = re_string_context_at (&mctx->input, re_string_cur_idx (&mctx->input) - 1, mctx->eflags); if (IS_WORD_CONTEXT (context)) return trtable[ch + SBC_MAX]; else return trtable[ch]; } if (!build_trtable (mctx->dfa, state)) { *err = REG_ESPACE; return NULL; } /* Retry, we now have a transition table. */ } } /* Update the state_log if we need */ static re_dfastate_t * internal_function merge_state_with_log (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *next_state) { const re_dfa_t *const dfa = mctx->dfa; Idx cur_idx = re_string_cur_idx (&mctx->input); if (cur_idx > mctx->state_log_top) { mctx->state_log[cur_idx] = next_state; mctx->state_log_top = cur_idx; } else if (mctx->state_log[cur_idx] == 0) { mctx->state_log[cur_idx] = next_state; } else { re_dfastate_t *pstate; unsigned int context; re_node_set next_nodes, *log_nodes, *table_nodes = NULL; /* If (state_log[cur_idx] != 0), it implies that cur_idx is the destination of a multibyte char/collating element/ back reference. Then the next state is the union set of these destinations and the results of the transition table. */ pstate = mctx->state_log[cur_idx]; log_nodes = pstate->entrance_nodes; if (next_state != NULL) { table_nodes = next_state->entrance_nodes; *err = re_node_set_init_union (&next_nodes, table_nodes, log_nodes); if (BE (*err != REG_NOERROR, 0)) return NULL; } else next_nodes = *log_nodes; /* Note: We already add the nodes of the initial state, then we don't need to add them here. */ context = re_string_context_at (&mctx->input, re_string_cur_idx (&mctx->input) - 1, mctx->eflags); next_state = mctx->state_log[cur_idx] = re_acquire_state_context (err, dfa, &next_nodes, context); /* We don't need to check errors here, since the return value of this function is next_state and ERR is already set. */ if (table_nodes != NULL) re_node_set_free (&next_nodes); } if (BE (dfa->nbackref, 0) && next_state != NULL) { /* Check OP_OPEN_SUBEXP in the current state in case that we use them later. We must check them here, since the back references in the next state might use them. */ *err = check_subexp_matching_top (mctx, &next_state->nodes, cur_idx); if (BE (*err != REG_NOERROR, 0)) return NULL; /* If the next state has back references. */ if (next_state->has_backref) { *err = transit_state_bkref (mctx, &next_state->nodes); if (BE (*err != REG_NOERROR, 0)) return NULL; next_state = mctx->state_log[cur_idx]; } } return next_state; } /* Skip bytes in the input that correspond to part of a multi-byte match, then look in the log for a state from which to restart matching. */ static re_dfastate_t * internal_function find_recover_state (reg_errcode_t *err, re_match_context_t *mctx) { re_dfastate_t *cur_state; do { Idx max = mctx->state_log_top; Idx cur_str_idx = re_string_cur_idx (&mctx->input); do { if (++cur_str_idx > max) return NULL; re_string_skip_bytes (&mctx->input, 1); } while (mctx->state_log[cur_str_idx] == NULL); cur_state = merge_state_with_log (err, mctx, NULL); } while (*err == REG_NOERROR && cur_state == NULL); return cur_state; } /* Helper functions for transit_state. */ /* From the node set CUR_NODES, pick up the nodes whose types are OP_OPEN_SUBEXP and which have corresponding back references in the regular expression. And register them to use them later for evaluating the correspoding back references. */ static reg_errcode_t internal_function check_subexp_matching_top (re_match_context_t *mctx, re_node_set *cur_nodes, Idx str_idx) { const re_dfa_t *const dfa = mctx->dfa; Idx node_idx; reg_errcode_t err; /* TODO: This isn't efficient. Because there might be more than one nodes whose types are OP_OPEN_SUBEXP and whose index is SUBEXP_IDX, we must check all nodes. E.g. RE: (a){2} */ for (node_idx = 0; node_idx < cur_nodes->nelem; ++node_idx) { Idx node = cur_nodes->elems[node_idx]; if (dfa->nodes[node].type == OP_OPEN_SUBEXP && dfa->nodes[node].opr.idx < BITSET_WORD_BITS && (dfa->used_bkref_map & ((bitset_word_t) 1 << dfa->nodes[node].opr.idx))) { err = match_ctx_add_subtop (mctx, node, str_idx); if (BE (err != REG_NOERROR, 0)) return err; } } return REG_NOERROR; } #if 0 /* Return the next state to which the current state STATE will transit by accepting the current input byte. */ static re_dfastate_t * transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx, re_dfastate_t *state) { const re_dfa_t *const dfa = mctx->dfa; re_node_set next_nodes; re_dfastate_t *next_state; Idx node_cnt, cur_str_idx = re_string_cur_idx (&mctx->input); unsigned int context; *err = re_node_set_alloc (&next_nodes, state->nodes.nelem + 1); if (BE (*err != REG_NOERROR, 0)) return NULL; for (node_cnt = 0; node_cnt < state->nodes.nelem; ++node_cnt) { Idx cur_node = state->nodes.elems[node_cnt]; if (check_node_accept (mctx, dfa->nodes + cur_node, cur_str_idx)) { *err = re_node_set_merge (&next_nodes, dfa->eclosures + dfa->nexts[cur_node]); if (BE (*err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return NULL; } } } context = re_string_context_at (&mctx->input, cur_str_idx, mctx->eflags); next_state = re_acquire_state_context (err, dfa, &next_nodes, context); /* We don't need to check errors here, since the return value of this function is next_state and ERR is already set. */ re_node_set_free (&next_nodes); re_string_skip_bytes (&mctx->input, 1); return next_state; } #endif #ifdef RE_ENABLE_I18N static reg_errcode_t internal_function transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx i; for (i = 0; i < pstate->nodes.nelem; ++i) { re_node_set dest_nodes, *new_nodes; Idx cur_node_idx = pstate->nodes.elems[i]; int naccepted; Idx dest_idx; unsigned int context; re_dfastate_t *dest_state; if (!dfa->nodes[cur_node_idx].accept_mb) continue; if (dfa->nodes[cur_node_idx].constraint) { context = re_string_context_at (&mctx->input, re_string_cur_idx (&mctx->input), mctx->eflags); if (NOT_SATISFY_NEXT_CONSTRAINT (dfa->nodes[cur_node_idx].constraint, context)) continue; } /* How many bytes the node can accept? */ naccepted = check_node_accept_bytes (dfa, cur_node_idx, &mctx->input, re_string_cur_idx (&mctx->input)); if (naccepted == 0) continue; /* The node can accepts `naccepted' bytes. */ dest_idx = re_string_cur_idx (&mctx->input) + naccepted; mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < naccepted) ? naccepted : mctx->max_mb_elem_len); err = clean_state_log_if_needed (mctx, dest_idx); if (BE (err != REG_NOERROR, 0)) return err; #ifdef DEBUG assert (dfa->nexts[cur_node_idx] != REG_MISSING); #endif new_nodes = dfa->eclosures + dfa->nexts[cur_node_idx]; dest_state = mctx->state_log[dest_idx]; if (dest_state == NULL) dest_nodes = *new_nodes; else { err = re_node_set_init_union (&dest_nodes, dest_state->entrance_nodes, new_nodes); if (BE (err != REG_NOERROR, 0)) return err; } context = re_string_context_at (&mctx->input, dest_idx - 1, mctx->eflags); mctx->state_log[dest_idx] = re_acquire_state_context (&err, dfa, &dest_nodes, context); if (dest_state != NULL) re_node_set_free (&dest_nodes); if (BE (mctx->state_log[dest_idx] == NULL && err != REG_NOERROR, 0)) return err; } return REG_NOERROR; } #endif /* RE_ENABLE_I18N */ static reg_errcode_t internal_function transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx i; Idx cur_str_idx = re_string_cur_idx (&mctx->input); for (i = 0; i < nodes->nelem; ++i) { Idx dest_str_idx, prev_nelem, bkc_idx; Idx node_idx = nodes->elems[i]; unsigned int context; const re_token_t *node = dfa->nodes + node_idx; re_node_set *new_dest_nodes; /* Check whether `node' is a backreference or not. */ if (node->type != OP_BACK_REF) continue; if (node->constraint) { context = re_string_context_at (&mctx->input, cur_str_idx, mctx->eflags); if (NOT_SATISFY_NEXT_CONSTRAINT (node->constraint, context)) continue; } /* `node' is a backreference. Check the substring which the substring matched. */ bkc_idx = mctx->nbkref_ents; err = get_subexp (mctx, node_idx, cur_str_idx); if (BE (err != REG_NOERROR, 0)) goto free_return; /* And add the epsilon closures (which is `new_dest_nodes') of the backreference to appropriate state_log. */ #ifdef DEBUG assert (dfa->nexts[node_idx] != REG_MISSING); #endif for (; bkc_idx < mctx->nbkref_ents; ++bkc_idx) { Idx subexp_len; re_dfastate_t *dest_state; struct re_backref_cache_entry *bkref_ent; bkref_ent = mctx->bkref_ents + bkc_idx; if (bkref_ent->node != node_idx || bkref_ent->str_idx != cur_str_idx) continue; subexp_len = bkref_ent->subexp_to - bkref_ent->subexp_from; new_dest_nodes = (subexp_len == 0 ? dfa->eclosures + dfa->edests[node_idx].elems[0] : dfa->eclosures + dfa->nexts[node_idx]); dest_str_idx = (cur_str_idx + bkref_ent->subexp_to - bkref_ent->subexp_from); context = re_string_context_at (&mctx->input, dest_str_idx - 1, mctx->eflags); dest_state = mctx->state_log[dest_str_idx]; prev_nelem = ((mctx->state_log[cur_str_idx] == NULL) ? 0 : mctx->state_log[cur_str_idx]->nodes.nelem); /* Add `new_dest_node' to state_log. */ if (dest_state == NULL) { mctx->state_log[dest_str_idx] = re_acquire_state_context (&err, dfa, new_dest_nodes, context); if (BE (mctx->state_log[dest_str_idx] == NULL && err != REG_NOERROR, 0)) goto free_return; } else { re_node_set dest_nodes; err = re_node_set_init_union (&dest_nodes, dest_state->entrance_nodes, new_dest_nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&dest_nodes); goto free_return; } mctx->state_log[dest_str_idx] = re_acquire_state_context (&err, dfa, &dest_nodes, context); re_node_set_free (&dest_nodes); if (BE (mctx->state_log[dest_str_idx] == NULL && err != REG_NOERROR, 0)) goto free_return; } /* We need to check recursively if the backreference can epsilon transit. */ if (subexp_len == 0 && mctx->state_log[cur_str_idx]->nodes.nelem > prev_nelem) { err = check_subexp_matching_top (mctx, new_dest_nodes, cur_str_idx); if (BE (err != REG_NOERROR, 0)) goto free_return; err = transit_state_bkref (mctx, new_dest_nodes); if (BE (err != REG_NOERROR, 0)) goto free_return; } } } err = REG_NOERROR; free_return: return err; } /* Enumerate all the candidates which the backreference BKREF_NODE can match at BKREF_STR_IDX, and register them by match_ctx_add_entry(). Note that we might collect inappropriate candidates here. However, the cost of checking them strictly here is too high, then we delay these checking for prune_impossible_nodes(). */ static reg_errcode_t internal_function get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx) { const re_dfa_t *const dfa = mctx->dfa; Idx subexp_num, sub_top_idx; const char *buf = (const char *) re_string_get_buffer (&mctx->input); /* Return if we have already checked BKREF_NODE at BKREF_STR_IDX. */ Idx cache_idx = search_cur_bkref_entry (mctx, bkref_str_idx); if (cache_idx != REG_MISSING) { const struct re_backref_cache_entry *entry = mctx->bkref_ents + cache_idx; do if (entry->node == bkref_node) return REG_NOERROR; /* We already checked it. */ while (entry++->more); } subexp_num = dfa->nodes[bkref_node].opr.idx; /* For each sub expression */ for (sub_top_idx = 0; sub_top_idx < mctx->nsub_tops; ++sub_top_idx) { reg_errcode_t err; re_sub_match_top_t *sub_top = mctx->sub_tops[sub_top_idx]; re_sub_match_last_t *sub_last; Idx sub_last_idx, sl_str, bkref_str_off; if (dfa->nodes[sub_top->node].opr.idx != subexp_num) continue; /* It isn't related. */ sl_str = sub_top->str_idx; bkref_str_off = bkref_str_idx; /* At first, check the last node of sub expressions we already evaluated. */ for (sub_last_idx = 0; sub_last_idx < sub_top->nlasts; ++sub_last_idx) { regoff_t sl_str_diff; sub_last = sub_top->lasts[sub_last_idx]; sl_str_diff = sub_last->str_idx - sl_str; /* The matched string by the sub expression match with the substring at the back reference? */ if (sl_str_diff > 0) { if (BE (bkref_str_off + sl_str_diff > mctx->input.valid_len, 0)) { /* Not enough chars for a successful match. */ if (bkref_str_off + sl_str_diff > mctx->input.len) break; err = clean_state_log_if_needed (mctx, bkref_str_off + sl_str_diff); if (BE (err != REG_NOERROR, 0)) return err; buf = (const char *) re_string_get_buffer (&mctx->input); } if (memcmp (buf + bkref_str_off, buf + sl_str, sl_str_diff) != 0) /* We don't need to search this sub expression any more. */ break; } bkref_str_off += sl_str_diff; sl_str += sl_str_diff; err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node, bkref_str_idx); /* Reload buf, since the preceding call might have reallocated the buffer. */ buf = (const char *) re_string_get_buffer (&mctx->input); if (err == REG_NOMATCH) continue; if (BE (err != REG_NOERROR, 0)) return err; } if (sub_last_idx < sub_top->nlasts) continue; if (sub_last_idx > 0) ++sl_str; /* Then, search for the other last nodes of the sub expression. */ for (; sl_str <= bkref_str_idx; ++sl_str) { Idx cls_node; regoff_t sl_str_off; const re_node_set *nodes; sl_str_off = sl_str - sub_top->str_idx; /* The matched string by the sub expression match with the substring at the back reference? */ if (sl_str_off > 0) { if (BE (bkref_str_off >= mctx->input.valid_len, 0)) { /* If we are at the end of the input, we cannot match. */ if (bkref_str_off >= mctx->input.len) break; err = extend_buffers (mctx); if (BE (err != REG_NOERROR, 0)) return err; buf = (const char *) re_string_get_buffer (&mctx->input); } if (buf [bkref_str_off++] != buf[sl_str - 1]) break; /* We don't need to search this sub expression any more. */ } if (mctx->state_log[sl_str] == NULL) continue; /* Does this state have a ')' of the sub expression? */ nodes = &mctx->state_log[sl_str]->nodes; cls_node = find_subexp_node (dfa, nodes, subexp_num, OP_CLOSE_SUBEXP); if (cls_node == REG_MISSING) continue; /* No. */ if (sub_top->path == NULL) { sub_top->path = calloc (sizeof (state_array_t), sl_str - sub_top->str_idx + 1); if (sub_top->path == NULL) return REG_ESPACE; } /* Can the OP_OPEN_SUBEXP node arrive the OP_CLOSE_SUBEXP node in the current context? */ err = check_arrival (mctx, sub_top->path, sub_top->node, sub_top->str_idx, cls_node, sl_str, OP_CLOSE_SUBEXP); if (err == REG_NOMATCH) continue; if (BE (err != REG_NOERROR, 0)) return err; sub_last = match_ctx_add_sublast (sub_top, cls_node, sl_str); if (BE (sub_last == NULL, 0)) return REG_ESPACE; err = get_subexp_sub (mctx, sub_top, sub_last, bkref_node, bkref_str_idx); if (err == REG_NOMATCH) continue; } } return REG_NOERROR; } /* Helper functions for get_subexp(). */ /* Check SUB_LAST can arrive to the back reference BKREF_NODE at BKREF_STR. If it can arrive, register the sub expression expressed with SUB_TOP and SUB_LAST. */ static reg_errcode_t internal_function get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t *sub_top, re_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str) { reg_errcode_t err; Idx to_idx; /* Can the subexpression arrive the back reference? */ err = check_arrival (mctx, &sub_last->path, sub_last->node, sub_last->str_idx, bkref_node, bkref_str, OP_OPEN_SUBEXP); if (err != REG_NOERROR) return err; err = match_ctx_add_entry (mctx, bkref_node, bkref_str, sub_top->str_idx, sub_last->str_idx); if (BE (err != REG_NOERROR, 0)) return err; to_idx = bkref_str + sub_last->str_idx - sub_top->str_idx; return clean_state_log_if_needed (mctx, to_idx); } /* Find the first node which is '(' or ')' and whose index is SUBEXP_IDX. Search '(' if FL_OPEN, or search ')' otherwise. TODO: This function isn't efficient... Because there might be more than one nodes whose types are OP_OPEN_SUBEXP and whose index is SUBEXP_IDX, we must check all nodes. E.g. RE: (a){2} */ static Idx internal_function find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes, Idx subexp_idx, int type) { Idx cls_idx; for (cls_idx = 0; cls_idx < nodes->nelem; ++cls_idx) { Idx cls_node = nodes->elems[cls_idx]; const re_token_t *node = dfa->nodes + cls_node; if (node->type == type && node->opr.idx == subexp_idx) return cls_node; } return REG_MISSING; } /* Check whether the node TOP_NODE at TOP_STR can arrive to the node LAST_NODE at LAST_STR. We record the path onto PATH since it will be heavily reused. Return REG_NOERROR if it can arrive, or REG_NOMATCH otherwise. */ static reg_errcode_t internal_function check_arrival (re_match_context_t *mctx, state_array_t *path, Idx top_node, Idx top_str, Idx last_node, Idx last_str, int type) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err = REG_NOERROR; Idx subexp_num, backup_cur_idx, str_idx, null_cnt; re_dfastate_t *cur_state = NULL; re_node_set *cur_nodes, next_nodes; re_dfastate_t **backup_state_log; unsigned int context; subexp_num = dfa->nodes[top_node].opr.idx; /* Extend the buffer if we need. */ if (BE (path->alloc < last_str + mctx->max_mb_elem_len + 1, 0)) { re_dfastate_t **new_array; Idx old_alloc = path->alloc; Idx new_alloc = old_alloc + last_str + mctx->max_mb_elem_len + 1; if (BE (new_alloc < old_alloc, 0) || BE (SIZE_MAX / sizeof (re_dfastate_t *) < new_alloc, 0)) return REG_ESPACE; new_array = re_realloc (path->array, re_dfastate_t *, new_alloc); if (BE (new_array == NULL, 0)) return REG_ESPACE; path->array = new_array; path->alloc = new_alloc; memset (new_array + old_alloc, '\0', sizeof (re_dfastate_t *) * (path->alloc - old_alloc)); } str_idx = path->next_idx ? path->next_idx : top_str; /* Temporary modify MCTX. */ backup_state_log = mctx->state_log; backup_cur_idx = mctx->input.cur_idx; mctx->state_log = path->array; mctx->input.cur_idx = str_idx; /* Setup initial node set. */ context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags); if (str_idx == top_str) { err = re_node_set_init_1 (&next_nodes, top_node); if (BE (err != REG_NOERROR, 0)) return err; err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } else { cur_state = mctx->state_log[str_idx]; if (cur_state && cur_state->has_backref) { err = re_node_set_init_copy (&next_nodes, &cur_state->nodes); if (BE (err != REG_NOERROR, 0)) return err; } else re_node_set_init_empty (&next_nodes); } if (str_idx == top_str || (cur_state && cur_state->has_backref)) { if (next_nodes.nelem) { err = expand_bkref_cache (mctx, &next_nodes, str_idx, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context); if (BE (cur_state == NULL && err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } mctx->state_log[str_idx] = cur_state; } for (null_cnt = 0; str_idx < last_str && null_cnt <= mctx->max_mb_elem_len;) { re_node_set_empty (&next_nodes); if (mctx->state_log[str_idx + 1]) { err = re_node_set_merge (&next_nodes, &mctx->state_log[str_idx + 1]->nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } if (cur_state) { err = check_arrival_add_next_nodes (mctx, str_idx, &cur_state->non_eps_nodes, &next_nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } ++str_idx; if (next_nodes.nelem) { err = check_arrival_expand_ecl (dfa, &next_nodes, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } err = expand_bkref_cache (mctx, &next_nodes, str_idx, subexp_num, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } } context = re_string_context_at (&mctx->input, str_idx - 1, mctx->eflags); cur_state = re_acquire_state_context (&err, dfa, &next_nodes, context); if (BE (cur_state == NULL && err != REG_NOERROR, 0)) { re_node_set_free (&next_nodes); return err; } mctx->state_log[str_idx] = cur_state; null_cnt = cur_state == NULL ? null_cnt + 1 : 0; } re_node_set_free (&next_nodes); cur_nodes = (mctx->state_log[last_str] == NULL ? NULL : &mctx->state_log[last_str]->nodes); path->next_idx = str_idx; /* Fix MCTX. */ mctx->state_log = backup_state_log; mctx->input.cur_idx = backup_cur_idx; /* Then check the current node set has the node LAST_NODE. */ if (cur_nodes != NULL && re_node_set_contains (cur_nodes, last_node)) return REG_NOERROR; return REG_NOMATCH; } /* Helper functions for check_arrival. */ /* Calculate the destination nodes of CUR_NODES at STR_IDX, and append them to NEXT_NODES. TODO: This function is similar to the functions transit_state*(), however this function has many additional works. Can't we unify them? */ static reg_errcode_t internal_function check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, re_node_set *cur_nodes, re_node_set *next_nodes) { const re_dfa_t *const dfa = mctx->dfa; bool ok; Idx cur_idx; reg_errcode_t err = REG_NOERROR; re_node_set union_set; re_node_set_init_empty (&union_set); for (cur_idx = 0; cur_idx < cur_nodes->nelem; ++cur_idx) { int naccepted = 0; Idx cur_node = cur_nodes->elems[cur_idx]; #ifdef DEBUG re_token_type_t type = dfa->nodes[cur_node].type; assert (!IS_EPSILON_NODE (type)); #endif #ifdef RE_ENABLE_I18N /* If the node may accept `multi byte'. */ if (dfa->nodes[cur_node].accept_mb) { naccepted = check_node_accept_bytes (dfa, cur_node, &mctx->input, str_idx); if (naccepted > 1) { re_dfastate_t *dest_state; Idx next_node = dfa->nexts[cur_node]; Idx next_idx = str_idx + naccepted; dest_state = mctx->state_log[next_idx]; re_node_set_empty (&union_set); if (dest_state) { err = re_node_set_merge (&union_set, &dest_state->nodes); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&union_set); return err; } } ok = re_node_set_insert (&union_set, next_node); if (BE (! ok, 0)) { re_node_set_free (&union_set); return REG_ESPACE; } mctx->state_log[next_idx] = re_acquire_state (&err, dfa, &union_set); if (BE (mctx->state_log[next_idx] == NULL && err != REG_NOERROR, 0)) { re_node_set_free (&union_set); return err; } } } #endif /* RE_ENABLE_I18N */ if (naccepted || check_node_accept (mctx, dfa->nodes + cur_node, str_idx)) { ok = re_node_set_insert (next_nodes, dfa->nexts[cur_node]); if (BE (! ok, 0)) { re_node_set_free (&union_set); return REG_ESPACE; } } } re_node_set_free (&union_set); return REG_NOERROR; } /* For all the nodes in CUR_NODES, add the epsilon closures of them to CUR_NODES, however exclude the nodes which are: - inside the sub expression whose number is EX_SUBEXP, if FL_OPEN. - out of the sub expression whose number is EX_SUBEXP, if !FL_OPEN. */ static reg_errcode_t internal_function check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set *cur_nodes, Idx ex_subexp, int type) { reg_errcode_t err; Idx idx, outside_node; re_node_set new_nodes; #ifdef DEBUG assert (cur_nodes->nelem); #endif err = re_node_set_alloc (&new_nodes, cur_nodes->nelem); if (BE (err != REG_NOERROR, 0)) return err; /* Create a new node set NEW_NODES with the nodes which are epsilon closures of the node in CUR_NODES. */ for (idx = 0; idx < cur_nodes->nelem; ++idx) { Idx cur_node = cur_nodes->elems[idx]; const re_node_set *eclosure = dfa->eclosures + cur_node; outside_node = find_subexp_node (dfa, eclosure, ex_subexp, type); if (outside_node == REG_MISSING) { /* There are no problematic nodes, just merge them. */ err = re_node_set_merge (&new_nodes, eclosure); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&new_nodes); return err; } } else { /* There are problematic nodes, re-calculate incrementally. */ err = check_arrival_expand_ecl_sub (dfa, &new_nodes, cur_node, ex_subexp, type); if (BE (err != REG_NOERROR, 0)) { re_node_set_free (&new_nodes); return err; } } } re_node_set_free (cur_nodes); *cur_nodes = new_nodes; return REG_NOERROR; } /* Helper function for check_arrival_expand_ecl. Check incrementally the epsilon closure of TARGET, and if it isn't problematic append it to DST_NODES. */ static reg_errcode_t internal_function check_arrival_expand_ecl_sub (const re_dfa_t *dfa, re_node_set *dst_nodes, Idx target, Idx ex_subexp, int type) { Idx cur_node; for (cur_node = target; !re_node_set_contains (dst_nodes, cur_node);) { bool ok; if (dfa->nodes[cur_node].type == type && dfa->nodes[cur_node].opr.idx == ex_subexp) { if (type == OP_CLOSE_SUBEXP) { ok = re_node_set_insert (dst_nodes, cur_node); if (BE (! ok, 0)) return REG_ESPACE; } break; } ok = re_node_set_insert (dst_nodes, cur_node); if (BE (! ok, 0)) return REG_ESPACE; if (dfa->edests[cur_node].nelem == 0) break; if (dfa->edests[cur_node].nelem == 2) { reg_errcode_t err; err = check_arrival_expand_ecl_sub (dfa, dst_nodes, dfa->edests[cur_node].elems[1], ex_subexp, type); if (BE (err != REG_NOERROR, 0)) return err; } cur_node = dfa->edests[cur_node].elems[0]; } return REG_NOERROR; } /* For all the back references in the current state, calculate the destination of the back references by the appropriate entry in MCTX->BKREF_ENTS. */ static reg_errcode_t internal_function expand_bkref_cache (re_match_context_t *mctx, re_node_set *cur_nodes, Idx cur_str, Idx subexp_num, int type) { const re_dfa_t *const dfa = mctx->dfa; reg_errcode_t err; Idx cache_idx_start = search_cur_bkref_entry (mctx, cur_str); struct re_backref_cache_entry *ent; if (cache_idx_start == REG_MISSING) return REG_NOERROR; restart: ent = mctx->bkref_ents + cache_idx_start; do { Idx to_idx, next_node; /* Is this entry ENT is appropriate? */ if (!re_node_set_contains (cur_nodes, ent->node)) continue; /* No. */ to_idx = cur_str + ent->subexp_to - ent->subexp_from; /* Calculate the destination of the back reference, and append it to MCTX->STATE_LOG. */ if (to_idx == cur_str) { /* The backreference did epsilon transit, we must re-check all the node in the current state. */ re_node_set new_dests; reg_errcode_t err2, err3; next_node = dfa->edests[ent->node].elems[0]; if (re_node_set_contains (cur_nodes, next_node)) continue; err = re_node_set_init_1 (&new_dests, next_node); err2 = check_arrival_expand_ecl (dfa, &new_dests, subexp_num, type); err3 = re_node_set_merge (cur_nodes, &new_dests); re_node_set_free (&new_dests); if (BE (err != REG_NOERROR || err2 != REG_NOERROR || err3 != REG_NOERROR, 0)) { err = (err != REG_NOERROR ? err : (err2 != REG_NOERROR ? err2 : err3)); return err; } /* TODO: It is still inefficient... */ goto restart; } else { re_node_set union_set; next_node = dfa->nexts[ent->node]; if (mctx->state_log[to_idx]) { bool ok; if (re_node_set_contains (&mctx->state_log[to_idx]->nodes, next_node)) continue; err = re_node_set_init_copy (&union_set, &mctx->state_log[to_idx]->nodes); ok = re_node_set_insert (&union_set, next_node); if (BE (err != REG_NOERROR || ! ok, 0)) { re_node_set_free (&union_set); err = err != REG_NOERROR ? err : REG_ESPACE; return err; } } else { err = re_node_set_init_1 (&union_set, next_node); if (BE (err != REG_NOERROR, 0)) return err; } mctx->state_log[to_idx] = re_acquire_state (&err, dfa, &union_set); re_node_set_free (&union_set); if (BE (mctx->state_log[to_idx] == NULL && err != REG_NOERROR, 0)) return err; } } while (ent++->more); return REG_NOERROR; } /* Build transition table for the state. Return true if successful. */ static bool internal_function build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) { reg_errcode_t err; Idx i, j; int ch; bool need_word_trtable = false; bitset_word_t elem, mask; bool dests_node_malloced = false; bool dest_states_malloced = false; Idx ndests; /* Number of the destination states from `state'. */ re_dfastate_t **trtable; re_dfastate_t **dest_states = NULL, **dest_states_word, **dest_states_nl; re_node_set follows, *dests_node; bitset_t *dests_ch; bitset_t acceptable; struct dests_alloc { re_node_set dests_node[SBC_MAX]; bitset_t dests_ch[SBC_MAX]; } *dests_alloc; /* We build DFA states which corresponds to the destination nodes from `state'. `dests_node[i]' represents the nodes which i-th destination state contains, and `dests_ch[i]' represents the characters which i-th destination state accepts. */ if (__libc_use_alloca (sizeof (struct dests_alloc))) dests_alloc = (struct dests_alloc *) alloca (sizeof (struct dests_alloc)); else { dests_alloc = re_malloc (struct dests_alloc, 1); if (BE (dests_alloc == NULL, 0)) return false; dests_node_malloced = true; } dests_node = dests_alloc->dests_node; dests_ch = dests_alloc->dests_ch; /* Initialize transiton table. */ state->word_trtable = state->trtable = NULL; /* At first, group all nodes belonging to `state' into several destinations. */ ndests = group_nodes_into_DFAstates (dfa, state, dests_node, dests_ch); if (BE (! REG_VALID_NONZERO_INDEX (ndests), 0)) { if (dests_node_malloced) free (dests_alloc); if (ndests == 0) { state->trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX); return true; } return false; } err = re_node_set_alloc (&follows, ndests + 1); if (BE (err != REG_NOERROR, 0)) goto out_free; /* Avoid arithmetic overflow in size calculation. */ if (BE ((((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX) / (3 * sizeof (re_dfastate_t *))) < ndests), 0)) goto out_free; if (__libc_use_alloca ((sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX + ndests * 3 * sizeof (re_dfastate_t *))) dest_states = (re_dfastate_t **) alloca (ndests * 3 * sizeof (re_dfastate_t *)); else { dest_states = (re_dfastate_t **) malloc (ndests * 3 * sizeof (re_dfastate_t *)); if (BE (dest_states == NULL, 0)) { out_free: if (dest_states_malloced) free (dest_states); re_node_set_free (&follows); for (i = 0; i < ndests; ++i) re_node_set_free (dests_node + i); if (dests_node_malloced) free (dests_alloc); return false; } dest_states_malloced = true; } dest_states_word = dest_states + ndests; dest_states_nl = dest_states_word + ndests; bitset_empty (acceptable); /* Then build the states for all destinations. */ for (i = 0; i < ndests; ++i) { Idx next_node; re_node_set_empty (&follows); /* Merge the follows of this destination states. */ for (j = 0; j < dests_node[i].nelem; ++j) { next_node = dfa->nexts[dests_node[i].elems[j]]; if (next_node != REG_MISSING) { err = re_node_set_merge (&follows, dfa->eclosures + next_node); if (BE (err != REG_NOERROR, 0)) goto out_free; } } dest_states[i] = re_acquire_state_context (&err, dfa, &follows, 0); if (BE (dest_states[i] == NULL && err != REG_NOERROR, 0)) goto out_free; /* If the new state has context constraint, build appropriate states for these contexts. */ if (dest_states[i]->has_constraint) { dest_states_word[i] = re_acquire_state_context (&err, dfa, &follows, CONTEXT_WORD); if (BE (dest_states_word[i] == NULL && err != REG_NOERROR, 0)) goto out_free; if (dest_states[i] != dest_states_word[i] && dfa->mb_cur_max > 1) need_word_trtable = true; dest_states_nl[i] = re_acquire_state_context (&err, dfa, &follows, CONTEXT_NEWLINE); if (BE (dest_states_nl[i] == NULL && err != REG_NOERROR, 0)) goto out_free; } else { dest_states_word[i] = dest_states[i]; dest_states_nl[i] = dest_states[i]; } bitset_merge (acceptable, dests_ch[i]); } if (!BE (need_word_trtable, 0)) { /* We don't care about whether the following character is a word character, or we are in a single-byte character set so we can discern by looking at the character code: allocate a 256-entry transition table. */ trtable = state->trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), SBC_MAX); if (BE (trtable == NULL, 0)) goto out_free; /* For all characters ch...: */ for (i = 0; i < BITSET_WORDS; ++i) for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1; elem; mask <<= 1, elem >>= 1, ++ch) if (BE (elem & 1, 0)) { /* There must be exactly one destination which accepts character ch. See group_nodes_into_DFAstates. */ for (j = 0; (dests_ch[j][i] & mask) == 0; ++j) ; /* j-th destination accepts the word character ch. */ if (dfa->word_char[i] & mask) trtable[ch] = dest_states_word[j]; else trtable[ch] = dest_states[j]; } } else { /* We care about whether the following character is a word character, and we are in a multi-byte character set: discern by looking at the character code: build two 256-entry transition tables, one starting at trtable[0] and one starting at trtable[SBC_MAX]. */ trtable = state->word_trtable = (re_dfastate_t **) calloc (sizeof (re_dfastate_t *), 2 * SBC_MAX); if (BE (trtable == NULL, 0)) goto out_free; /* For all characters ch...: */ for (i = 0; i < BITSET_WORDS; ++i) for (ch = i * BITSET_WORD_BITS, elem = acceptable[i], mask = 1; elem; mask <<= 1, elem >>= 1, ++ch) if (BE (elem & 1, 0)) { /* There must be exactly one destination which accepts character ch. See group_nodes_into_DFAstates. */ for (j = 0; (dests_ch[j][i] & mask) == 0; ++j) ; /* j-th destination accepts the word character ch. */ trtable[ch] = dest_states[j]; trtable[ch + SBC_MAX] = dest_states_word[j]; } } /* new line */ if (bitset_contain (acceptable, NEWLINE_CHAR)) { /* The current state accepts newline character. */ for (j = 0; j < ndests; ++j) if (bitset_contain (dests_ch[j], NEWLINE_CHAR)) { /* k-th destination accepts newline character. */ trtable[NEWLINE_CHAR] = dest_states_nl[j]; if (need_word_trtable) trtable[NEWLINE_CHAR + SBC_MAX] = dest_states_nl[j]; /* There must be only one destination which accepts newline. See group_nodes_into_DFAstates. */ break; } } if (dest_states_malloced) free (dest_states); re_node_set_free (&follows); for (i = 0; i < ndests; ++i) re_node_set_free (dests_node + i); if (dests_node_malloced) free (dests_alloc); return true; } /* Group all nodes belonging to STATE into several destinations. Then for all destinations, set the nodes belonging to the destination to DESTS_NODE[i] and set the characters accepted by the destination to DEST_CH[i]. This function return the number of destinations. */ static Idx internal_function group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, re_node_set *dests_node, bitset_t *dests_ch) { reg_errcode_t err; bool ok; Idx i, j, k; Idx ndests; /* Number of the destinations from `state'. */ bitset_t accepts; /* Characters a node can accept. */ const re_node_set *cur_nodes = &state->nodes; bitset_empty (accepts); ndests = 0; /* For all the nodes belonging to `state', */ for (i = 0; i < cur_nodes->nelem; ++i) { re_token_t *node = &dfa->nodes[cur_nodes->elems[i]]; re_token_type_t type = node->type; unsigned int constraint = node->constraint; /* Enumerate all single byte character this node can accept. */ if (type == CHARACTER) bitset_set (accepts, node->opr.c); else if (type == SIMPLE_BRACKET) { bitset_merge (accepts, node->opr.sbcset); } else if (type == OP_PERIOD) { #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) bitset_merge (accepts, dfa->sb_char); else #endif bitset_set_all (accepts); if (!(dfa->syntax & RE_DOT_NEWLINE)) bitset_clear (accepts, '\n'); if (dfa->syntax & RE_DOT_NOT_NULL) bitset_clear (accepts, '\0'); } #ifdef RE_ENABLE_I18N else if (type == OP_UTF8_PERIOD) { if (ASCII_CHARS % BITSET_WORD_BITS == 0) memset (accepts, -1, ASCII_CHARS / CHAR_BIT); else bitset_merge (accepts, utf8_sb_map); if (!(dfa->syntax & RE_DOT_NEWLINE)) bitset_clear (accepts, '\n'); if (dfa->syntax & RE_DOT_NOT_NULL) bitset_clear (accepts, '\0'); } #endif else continue; /* Check the `accepts' and sift the characters which are not match it the context. */ if (constraint) { if (constraint & NEXT_NEWLINE_CONSTRAINT) { bool accepts_newline = bitset_contain (accepts, NEWLINE_CHAR); bitset_empty (accepts); if (accepts_newline) bitset_set (accepts, NEWLINE_CHAR); else continue; } if (constraint & NEXT_ENDBUF_CONSTRAINT) { bitset_empty (accepts); continue; } if (constraint & NEXT_WORD_CONSTRAINT) { bitset_word_t any_set = 0; if (type == CHARACTER && !node->word_char) { bitset_empty (accepts); continue; } #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= (dfa->word_char[j] | ~dfa->sb_char[j])); else #endif for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= dfa->word_char[j]); if (!any_set) continue; } if (constraint & NEXT_NOTWORD_CONSTRAINT) { bitset_word_t any_set = 0; if (type == CHARACTER && node->word_char) { bitset_empty (accepts); continue; } #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= ~(dfa->word_char[j] & dfa->sb_char[j])); else #endif for (j = 0; j < BITSET_WORDS; ++j) any_set |= (accepts[j] &= ~dfa->word_char[j]); if (!any_set) continue; } } /* Then divide `accepts' into DFA states, or create a new state. Above, we make sure that accepts is not empty. */ for (j = 0; j < ndests; ++j) { bitset_t intersec; /* Intersection sets, see below. */ bitset_t remains; /* Flags, see below. */ bitset_word_t has_intersec, not_subset, not_consumed; /* Optimization, skip if this state doesn't accept the character. */ if (type == CHARACTER && !bitset_contain (dests_ch[j], node->opr.c)) continue; /* Enumerate the intersection set of this state and `accepts'. */ has_intersec = 0; for (k = 0; k < BITSET_WORDS; ++k) has_intersec |= intersec[k] = accepts[k] & dests_ch[j][k]; /* And skip if the intersection set is empty. */ if (!has_intersec) continue; /* Then check if this state is a subset of `accepts'. */ not_subset = not_consumed = 0; for (k = 0; k < BITSET_WORDS; ++k) { not_subset |= remains[k] = ~accepts[k] & dests_ch[j][k]; not_consumed |= accepts[k] = accepts[k] & ~dests_ch[j][k]; } /* If this state isn't a subset of `accepts', create a new group state, which has the `remains'. */ if (not_subset) { bitset_copy (dests_ch[ndests], remains); bitset_copy (dests_ch[j], intersec); err = re_node_set_init_copy (dests_node + ndests, &dests_node[j]); if (BE (err != REG_NOERROR, 0)) goto error_return; ++ndests; } /* Put the position in the current group. */ ok = re_node_set_insert (&dests_node[j], cur_nodes->elems[i]); if (BE (! ok, 0)) goto error_return; /* If all characters are consumed, go to next node. */ if (!not_consumed) break; } /* Some characters remain, create a new group. */ if (j == ndests) { bitset_copy (dests_ch[ndests], accepts); err = re_node_set_init_1 (dests_node + ndests, cur_nodes->elems[i]); if (BE (err != REG_NOERROR, 0)) goto error_return; ++ndests; bitset_empty (accepts); } } return ndests; error_return: for (j = 0; j < ndests; ++j) re_node_set_free (dests_node + j); return REG_MISSING; } #ifdef RE_ENABLE_I18N /* Check how many bytes the node `dfa->nodes[node_idx]' accepts. Return the number of the bytes the node accepts. STR_IDX is the current index of the input string. This function handles the nodes which can accept one character, or one collating element like '.', '[a-z]', opposite to the other nodes can only accept one byte. */ static int internal_function check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, const re_string_t *input, Idx str_idx) { const re_token_t *node = dfa->nodes + node_idx; int char_len, elem_len; Idx i; if (BE (node->type == OP_UTF8_PERIOD, 0)) { unsigned char c = re_string_byte_at (input, str_idx), d; if (BE (c < 0xc2, 1)) return 0; if (str_idx + 2 > input->len) return 0; d = re_string_byte_at (input, str_idx + 1); if (c < 0xe0) return (d < 0x80 || d > 0xbf) ? 0 : 2; else if (c < 0xf0) { char_len = 3; if (c == 0xe0 && d < 0xa0) return 0; } else if (c < 0xf8) { char_len = 4; if (c == 0xf0 && d < 0x90) return 0; } else if (c < 0xfc) { char_len = 5; if (c == 0xf8 && d < 0x88) return 0; } else if (c < 0xfe) { char_len = 6; if (c == 0xfc && d < 0x84) return 0; } else return 0; if (str_idx + char_len > input->len) return 0; for (i = 1; i < char_len; ++i) { d = re_string_byte_at (input, str_idx + i); if (d < 0x80 || d > 0xbf) return 0; } return char_len; } char_len = re_string_char_size_at (input, str_idx); if (node->type == OP_PERIOD) { if (char_len <= 1) return 0; /* FIXME: I don't think this if is needed, as both '\n' and '\0' are char_len == 1. */ /* '.' accepts any one character except the following two cases. */ if ((!(dfa->syntax & RE_DOT_NEWLINE) && re_string_byte_at (input, str_idx) == '\n') || ((dfa->syntax & RE_DOT_NOT_NULL) && re_string_byte_at (input, str_idx) == '\0')) return 0; return char_len; } elem_len = re_string_elem_size_at (input, str_idx); if ((elem_len <= 1 && char_len <= 1) || char_len == 0) return 0; if (node->type == COMPLEX_BRACKET) { const re_charset_t *cset = node->opr.mbcset; # ifdef _LIBC const unsigned char *pin = ((const unsigned char *) re_string_get_buffer (input) + str_idx); Idx j; uint32_t nrules; # endif /* _LIBC */ int match_len = 0; wchar_t wc = ((cset->nranges || cset->nchar_classes || cset->nmbchars) ? re_string_wchar_at (input, str_idx) : 0); /* match with multibyte character? */ for (i = 0; i < cset->nmbchars; ++i) if (wc == cset->mbchars[i]) { match_len = char_len; goto check_node_accept_bytes_match; } /* match with character_class? */ for (i = 0; i < cset->nchar_classes; ++i) { wctype_t wt = cset->char_classes[i]; if (__iswctype (wc, wt)) { match_len = char_len; goto check_node_accept_bytes_match; } } # ifdef _LIBC nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules != 0) { unsigned int in_collseq = 0; const int32_t *table, *indirect; const unsigned char *weights, *extra; const char *collseqwc; int32_t idx; /* This #include defines a local function! */ # include /* match with collating_symbol? */ if (cset->ncoll_syms) extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); for (i = 0; i < cset->ncoll_syms; ++i) { const unsigned char *coll_sym = extra + cset->coll_syms[i]; /* Compare the length of input collating element and the length of current collating element. */ if (*coll_sym != elem_len) continue; /* Compare each bytes. */ for (j = 0; j < *coll_sym; j++) if (pin[j] != coll_sym[1 + j]) break; if (j == *coll_sym) { /* Match if every bytes is equal. */ match_len = j; goto check_node_accept_bytes_match; } } if (cset->nranges) { if (elem_len <= char_len) { collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC); in_collseq = __collseq_table_lookup (collseqwc, wc); } else in_collseq = find_collation_sequence_value (pin, elem_len); } /* match with range expression? */ for (i = 0; i < cset->nranges; ++i) if (cset->range_starts[i] <= in_collseq && in_collseq <= cset->range_ends[i]) { match_len = elem_len; goto check_node_accept_bytes_match; } /* match with equivalence_class? */ if (cset->nequiv_classes) { const unsigned char *cp = pin; table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); weights = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); idx = findidx (&cp); if (idx > 0) for (i = 0; i < cset->nequiv_classes; ++i) { int32_t equiv_class_idx = cset->equiv_classes[i]; size_t weight_len = weights[idx]; if (weight_len == weights[equiv_class_idx]) { Idx cnt = 0; while (cnt <= weight_len && (weights[equiv_class_idx + 1 + cnt] == weights[idx + 1 + cnt])) ++cnt; if (cnt > weight_len) { match_len = elem_len; goto check_node_accept_bytes_match; } } } } } else # endif /* _LIBC */ { /* match with range expression? */ #if __GNUC__ >= 2 && ! (__STDC_VERSION__ < 199901L && __STRICT_ANSI__) wchar_t cmp_buf[] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'}; #else wchar_t cmp_buf[] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'}; cmp_buf[2] = wc; #endif for (i = 0; i < cset->nranges; ++i) { cmp_buf[0] = cset->range_starts[i]; cmp_buf[4] = cset->range_ends[i]; if (wcscoll (cmp_buf, cmp_buf + 2) <= 0 && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0) { match_len = char_len; goto check_node_accept_bytes_match; } } } check_node_accept_bytes_match: if (!cset->non_match) return match_len; else { if (match_len > 0) return 0; else return (elem_len > char_len) ? elem_len : char_len; } } return 0; } # ifdef _LIBC static unsigned int internal_function find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) { uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); if (nrules == 0) { if (mbs_len == 1) { /* No valid character. Match it as a single byte character. */ const unsigned char *collseq = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB); return collseq[mbs[0]]; } return UINT_MAX; } else { int32_t idx; const unsigned char *extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); int32_t extrasize = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB + 1) - extra; for (idx = 0; idx < extrasize;) { int mbs_cnt; bool found = false; int32_t elem_mbs_len; /* Skip the name of collating element name. */ idx = idx + extra[idx] + 1; elem_mbs_len = extra[idx++]; if (mbs_len == elem_mbs_len) { for (mbs_cnt = 0; mbs_cnt < elem_mbs_len; ++mbs_cnt) if (extra[idx + mbs_cnt] != mbs[mbs_cnt]) break; if (mbs_cnt == elem_mbs_len) /* Found the entry. */ found = true; } /* Skip the byte sequence of the collating element. */ idx += elem_mbs_len; /* Adjust for the alignment. */ idx = (idx + 3) & ~3; /* Skip the collation sequence value. */ idx += sizeof (uint32_t); /* Skip the wide char sequence of the collating element. */ idx = idx + sizeof (uint32_t) * (extra[idx] + 1); /* If we found the entry, return the sequence value. */ if (found) return *(uint32_t *) (extra + idx); /* Skip the collation sequence value. */ idx += sizeof (uint32_t); } return UINT_MAX; } } # endif /* _LIBC */ #endif /* RE_ENABLE_I18N */ /* Check whether the node accepts the byte which is IDX-th byte of the INPUT. */ static bool internal_function check_node_accept (const re_match_context_t *mctx, const re_token_t *node, Idx idx) { unsigned char ch; ch = re_string_byte_at (&mctx->input, idx); switch (node->type) { case CHARACTER: if (node->opr.c != ch) return false; break; case SIMPLE_BRACKET: if (!bitset_contain (node->opr.sbcset, ch)) return false; break; #ifdef RE_ENABLE_I18N case OP_UTF8_PERIOD: if (ch >= ASCII_CHARS) return false; /* FALLTHROUGH */ #endif case OP_PERIOD: if ((ch == '\n' && !(mctx->dfa->syntax & RE_DOT_NEWLINE)) || (ch == '\0' && (mctx->dfa->syntax & RE_DOT_NOT_NULL))) return false; break; default: return false; } if (node->constraint) { /* The node has constraints. Check whether the current context satisfies the constraints. */ unsigned int context = re_string_context_at (&mctx->input, idx, mctx->eflags); if (NOT_SATISFY_NEXT_CONSTRAINT (node->constraint, context)) return false; } return true; } /* Extend the buffers, if the buffers have run out. */ static reg_errcode_t internal_function extend_buffers (re_match_context_t *mctx) { reg_errcode_t ret; re_string_t *pstr = &mctx->input; /* Avoid overflow. */ if (BE (SIZE_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0)) return REG_ESPACE; /* Double the lengthes of the buffers. */ ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2); if (BE (ret != REG_NOERROR, 0)) return ret; if (mctx->state_log != NULL) { /* And double the length of state_log. */ /* XXX We have no indication of the size of this buffer. If this allocation fail we have no indication that the state_log array does not have the right size. */ re_dfastate_t **new_array = re_realloc (mctx->state_log, re_dfastate_t *, pstr->bufs_len + 1); if (BE (new_array == NULL, 0)) return REG_ESPACE; mctx->state_log = new_array; } /* Then reconstruct the buffers. */ if (pstr->icase) { #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { ret = build_wcs_upper_buffer (pstr); if (BE (ret != REG_NOERROR, 0)) return ret; } else #endif /* RE_ENABLE_I18N */ build_upper_buffer (pstr); } else { #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) build_wcs_buffer (pstr); else #endif /* RE_ENABLE_I18N */ { if (pstr->trans != NULL) re_string_translate_buffer (pstr); } } return REG_NOERROR; } /* Functions for matching context. */ /* Initialize MCTX. */ static reg_errcode_t internal_function match_ctx_init (re_match_context_t *mctx, int eflags, Idx n) { mctx->eflags = eflags; mctx->match_last = REG_MISSING; if (n > 0) { /* Avoid overflow. */ size_t max_object_size = MAX (sizeof (struct re_backref_cache_entry), sizeof (re_sub_match_top_t *)); if (BE (SIZE_MAX / max_object_size < n, 0)) return REG_ESPACE; mctx->bkref_ents = re_malloc (struct re_backref_cache_entry, n); mctx->sub_tops = re_malloc (re_sub_match_top_t *, n); if (BE (mctx->bkref_ents == NULL || mctx->sub_tops == NULL, 0)) return REG_ESPACE; } /* Already zero-ed by the caller. else mctx->bkref_ents = NULL; mctx->nbkref_ents = 0; mctx->nsub_tops = 0; */ mctx->abkref_ents = n; mctx->max_mb_elem_len = 1; mctx->asub_tops = n; return REG_NOERROR; } /* Clean the entries which depend on the current input in MCTX. This function must be invoked when the matcher changes the start index of the input, or changes the input string. */ static void internal_function match_ctx_clean (re_match_context_t *mctx) { Idx st_idx; for (st_idx = 0; st_idx < mctx->nsub_tops; ++st_idx) { Idx sl_idx; re_sub_match_top_t *top = mctx->sub_tops[st_idx]; for (sl_idx = 0; sl_idx < top->nlasts; ++sl_idx) { re_sub_match_last_t *last = top->lasts[sl_idx]; re_free (last->path.array); re_free (last); } re_free (top->lasts); if (top->path) { re_free (top->path->array); re_free (top->path); } free (top); } mctx->nsub_tops = 0; mctx->nbkref_ents = 0; } /* Free all the memory associated with MCTX. */ static void internal_function match_ctx_free (re_match_context_t *mctx) { /* First, free all the memory associated with MCTX->SUB_TOPS. */ match_ctx_clean (mctx); re_free (mctx->sub_tops); re_free (mctx->bkref_ents); } /* Add a new backreference entry to MCTX. Note that we assume that caller never call this function with duplicate entry, and call with STR_IDX which isn't smaller than any existing entry. */ static reg_errcode_t internal_function match_ctx_add_entry (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from, Idx to) { if (mctx->nbkref_ents >= mctx->abkref_ents) { struct re_backref_cache_entry* new_entry; new_entry = re_realloc (mctx->bkref_ents, struct re_backref_cache_entry, mctx->abkref_ents * 2); if (BE (new_entry == NULL, 0)) { re_free (mctx->bkref_ents); return REG_ESPACE; } mctx->bkref_ents = new_entry; memset (mctx->bkref_ents + mctx->nbkref_ents, '\0', sizeof (struct re_backref_cache_entry) * mctx->abkref_ents); mctx->abkref_ents *= 2; } if (mctx->nbkref_ents > 0 && mctx->bkref_ents[mctx->nbkref_ents - 1].str_idx == str_idx) mctx->bkref_ents[mctx->nbkref_ents - 1].more = 1; mctx->bkref_ents[mctx->nbkref_ents].node = node; mctx->bkref_ents[mctx->nbkref_ents].str_idx = str_idx; mctx->bkref_ents[mctx->nbkref_ents].subexp_from = from; mctx->bkref_ents[mctx->nbkref_ents].subexp_to = to; /* This is a cache that saves negative results of check_dst_limits_calc_pos. If bit N is clear, means that this entry won't epsilon-transition to an OP_OPEN_SUBEXP or OP_CLOSE_SUBEXP for the N+1-th subexpression. If it is set, check_dst_limits_calc_pos_1 will recurse and try to find one such node. A backreference does not epsilon-transition unless it is empty, so set to all zeros if FROM != TO. */ mctx->bkref_ents[mctx->nbkref_ents].eps_reachable_subexps_map = (from == to ? -1 : 0); mctx->bkref_ents[mctx->nbkref_ents++].more = 0; if (mctx->max_mb_elem_len < to - from) mctx->max_mb_elem_len = to - from; return REG_NOERROR; } /* Return the first entry with the same str_idx, or REG_MISSING if none is found. Note that MCTX->BKREF_ENTS is already sorted by MCTX->STR_IDX. */ static Idx internal_function search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx) { Idx left, right, mid, last; last = right = mctx->nbkref_ents; for (left = 0; left < right;) { mid = (left + right) / 2; if (mctx->bkref_ents[mid].str_idx < str_idx) left = mid + 1; else right = mid; } if (left < last && mctx->bkref_ents[left].str_idx == str_idx) return left; else return REG_MISSING; } /* Register the node NODE, whose type is OP_OPEN_SUBEXP, and which matches at STR_IDX. */ static reg_errcode_t internal_function match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx) { #ifdef DEBUG assert (mctx->sub_tops != NULL); assert (mctx->asub_tops > 0); #endif if (BE (mctx->nsub_tops == mctx->asub_tops, 0)) { Idx new_asub_tops = mctx->asub_tops * 2; re_sub_match_top_t **new_array = re_realloc (mctx->sub_tops, re_sub_match_top_t *, new_asub_tops); if (BE (new_array == NULL, 0)) return REG_ESPACE; mctx->sub_tops = new_array; mctx->asub_tops = new_asub_tops; } mctx->sub_tops[mctx->nsub_tops] = calloc (1, sizeof (re_sub_match_top_t)); if (BE (mctx->sub_tops[mctx->nsub_tops] == NULL, 0)) return REG_ESPACE; mctx->sub_tops[mctx->nsub_tops]->node = node; mctx->sub_tops[mctx->nsub_tops++]->str_idx = str_idx; return REG_NOERROR; } /* Register the node NODE, whose type is OP_CLOSE_SUBEXP, and which matches at STR_IDX, whose corresponding OP_OPEN_SUBEXP is SUB_TOP. */ static re_sub_match_last_t * internal_function match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx) { re_sub_match_last_t *new_entry; if (BE (subtop->nlasts == subtop->alasts, 0)) { Idx new_alasts = 2 * subtop->alasts + 1; re_sub_match_last_t **new_array = re_realloc (subtop->lasts, re_sub_match_last_t *, new_alasts); if (BE (new_array == NULL, 0)) return NULL; subtop->lasts = new_array; subtop->alasts = new_alasts; } new_entry = calloc (1, sizeof (re_sub_match_last_t)); if (BE (new_entry != NULL, 1)) { subtop->lasts[subtop->nlasts] = new_entry; new_entry->node = node; new_entry->str_idx = str_idx; ++subtop->nlasts; } return new_entry; } static void internal_function sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts, re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx) { sctx->sifted_states = sifted_sts; sctx->limited_states = limited_sts; sctx->last_node = last_node; sctx->last_str_idx = last_str_idx; re_node_set_init_empty (&sctx->limits); } dc3dd-7.1.614/lib/gettimeofday.c0000644000175000017500000000756611064230667016055 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Provide gettimeofday for systems that don't have it or for which it's broken. Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* written by Jim Meyering */ #include /* Specification. */ #include #include #if HAVE_SYS_TIMEB_H # include #endif #if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME /* Work around the bug in some systems whereby gettimeofday clobbers the static buffer that localtime uses for its return value. The gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has this problem. The tzset replacement is necessary for at least Solaris 2.5, 2.5.1, and 2.6. */ static struct tm tm_zero_buffer; static struct tm *localtime_buffer_addr = &tm_zero_buffer; /* This is a wrapper for localtime. It is used only on systems for which gettimeofday clobbers the static buffer used for localtime's result. On the first call, record the address of the static buffer that localtime uses for its result. */ struct tm * rpl_localtime (time_t const *timep) { #undef localtime extern struct tm *localtime (time_t const *); struct tm *tm = localtime (timep); if (localtime_buffer_addr == &tm_zero_buffer) localtime_buffer_addr = tm; return tm; } /* Same as above, since gmtime and localtime use the same buffer. */ struct tm * rpl_gmtime (time_t const *timep) { #undef gmtime extern struct tm *gmtime (time_t const *); struct tm *tm = gmtime (timep); if (localtime_buffer_addr == &tm_zero_buffer) localtime_buffer_addr = tm; return tm; } #endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */ #if TZSET_CLOBBERS_LOCALTIME /* This is a wrapper for tzset, for systems on which tzset may clobber the static buffer used for localtime's result. */ void rpl_tzset (void) { #undef tzset extern void tzset (void); /* Save and restore the contents of the buffer used for localtime's result around the call to tzset. */ struct tm save = *localtime_buffer_addr; tzset (); *localtime_buffer_addr = save; } #endif /* This is a wrapper for gettimeofday. It is used only on systems that lack this function, or whose implementation of this function causes problems. */ int rpl_gettimeofday (struct timeval *restrict tv, void *restrict tz) { #undef gettimeofday #if HAVE_GETTIMEOFDAY # if GETTIMEOFDAY_CLOBBERS_LOCALTIME /* Save and restore the contents of the buffer used for localtime's result around the call to gettimeofday. */ struct tm save = *localtime_buffer_addr; # endif int result = gettimeofday (tv, tz); # if GETTIMEOFDAY_CLOBBERS_LOCALTIME *localtime_buffer_addr = save; # endif return result; #else # if HAVE__FTIME struct _timeb timebuf; _ftime (&timebuf); tv->tv_sec = timebuf.time; tv->tv_usec = timebuf.millitm * 1000; # else # if !defined OK_TO_USE_1S_CLOCK # error "Only 1-second nominal clock resolution found. Is that intended?" \ "If so, compile with the -DOK_TO_USE_1S_CLOCK option." # endif tv->tv_sec = time (NULL); tv->tv_usec = 0; # endif return 0; #endif } dc3dd-7.1.614/lib/stdlib.in.h0000644000175000017500000001566411064230667015265 0ustar amedicoamedico/* A GNU-like . Copyright (C) 1995, 2001-2004, 2006-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if defined __need_malloc_and_calloc /* Special invocation convention inside glibc header files. */ #@INCLUDE_NEXT@ @NEXT_STDLIB_H@ #else /* Normal invocation convention. */ #ifndef _GL_STDLIB_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDLIB_H@ #ifndef _GL_STDLIB_H #define _GL_STDLIB_H /* The definition of GL_LINK_WARNING is copied here. */ /* Some systems do not define EXIT_*, despite otherwise supporting C89. */ #ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 #endif /* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere with proper operation of xargs. */ #ifndef EXIT_FAILURE # define EXIT_FAILURE 1 #elif EXIT_FAILURE != 1 # undef EXIT_FAILURE # define EXIT_FAILURE 1 #endif #ifdef __cplusplus extern "C" { #endif #if @GNULIB_MALLOC_POSIX@ # if !@HAVE_MALLOC_POSIX@ # undef malloc # define malloc rpl_malloc extern void * malloc (size_t size); # endif #elif defined GNULIB_POSIXCHECK # undef malloc # define malloc(s) \ (GL_LINK_WARNING ("malloc is not POSIX compliant everywhere - " \ "use gnulib module malloc-posix for portability"), \ malloc (s)) #endif #if @GNULIB_REALLOC_POSIX@ # if !@HAVE_REALLOC_POSIX@ # undef realloc # define realloc rpl_realloc extern void * realloc (void *ptr, size_t size); # endif #elif defined GNULIB_POSIXCHECK # undef realloc # define realloc(p,s) \ (GL_LINK_WARNING ("realloc is not POSIX compliant everywhere - " \ "use gnulib module realloc-posix for portability"), \ realloc (p, s)) #endif #if @GNULIB_CALLOC_POSIX@ # if !@HAVE_CALLOC_POSIX@ # undef calloc # define calloc rpl_calloc extern void * calloc (size_t nmemb, size_t size); # endif #elif defined GNULIB_POSIXCHECK # undef calloc # define calloc(n,s) \ (GL_LINK_WARNING ("calloc is not POSIX compliant everywhere - " \ "use gnulib module calloc-posix for portability"), \ calloc (n, s)) #endif #if @GNULIB_GETSUBOPT@ /* Assuming *OPTIONP is a comma separated list of elements of the form "token" or "token=value", getsubopt parses the first of these elements. If the first element refers to a "token" that is member of the given NULL-terminated array of tokens: - It replaces the comma with a NUL byte, updates *OPTIONP to point past the first option and the comma, sets *VALUEP to the value of the element (or NULL if it doesn't contain an "=" sign), - It returns the index of the "token" in the given array of tokens. Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined. For more details see the POSIX:2001 specification. http://www.opengroup.org/susv3xsh/getsubopt.html */ # if !@HAVE_GETSUBOPT@ extern int getsubopt (char **optionp, char *const *tokens, char **valuep); # endif #elif defined GNULIB_POSIXCHECK # undef getsubopt # define getsubopt(o,t,v) \ (GL_LINK_WARNING ("getsubopt is unportable - " \ "use gnulib module getsubopt for portability"), \ getsubopt (o, t, v)) #endif #if @GNULIB_MKDTEMP@ # if !@HAVE_MKDTEMP@ /* Create a unique temporary directory from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the directory name unique. Returns TEMPLATE, or a null pointer if it cannot get a unique name. The directory is created mode 700. */ extern char * mkdtemp (char * /*template*/); # endif #elif defined GNULIB_POSIXCHECK # undef mkdtemp # define mkdtemp(t) \ (GL_LINK_WARNING ("mkdtemp is unportable - " \ "use gnulib module mkdtemp for portability"), \ mkdtemp (t)) #endif #if @GNULIB_MKSTEMP@ # if @REPLACE_MKSTEMP@ /* Create a unique temporary file from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the file name unique. The file is then created, ensuring it didn't exist before. The file is created read-write (mask at least 0600 & ~umask), but it may be world-readable and world-writable (mask 0666 & ~umask), depending on the implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ # define mkstemp rpl_mkstemp extern int mkstemp (char * /*template*/); # else /* On MacOS X 10.3, only declares mkstemp. */ # include # endif #elif defined GNULIB_POSIXCHECK # undef mkstemp # define mkstemp(t) \ (GL_LINK_WARNING ("mkstemp is unportable - " \ "use gnulib module mkstemp for portability"), \ mkstemp (t)) #endif #if @GNULIB_PUTENV@ # if @REPLACE_PUTENV@ # undef putenv # define putenv rpl_putenv extern int putenv (char *string); # endif #endif #if @GNULIB_RPMATCH@ # if !@HAVE_RPMATCH@ /* Test a user response to a question. Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */ extern int rpmatch (const char *response); # endif #elif defined GNULIB_POSIXCHECK # undef rpmatch # define rpmatch(r) \ (GL_LINK_WARNING ("rpmatch is unportable - " \ "use gnulib module rpmatch for portability"), \ rpmatch (r)) #endif #if @GNULIB_SETENV@ # if !@HAVE_SETENV@ /* Set NAME to VALUE in the environment. If REPLACE is nonzero, overwrite an existing value. */ extern int setenv (const char *name, const char *value, int replace); # endif #endif #if @GNULIB_UNSETENV@ # if @HAVE_UNSETENV@ # if @VOID_UNSETENV@ /* On some systems, unsetenv() returns void. This is the case for MacOS X 10.3, FreeBSD 4.8, NetBSD 1.6, OpenBSD 3.4. */ # define unsetenv(name) ((unsetenv)(name), 0) # endif # else /* Remove the variable NAME from the environment. */ extern int unsetenv (const char *name); # endif #endif #if @GNULIB_STRTOD@ # if @REPLACE_STRTOD@ # define strtod rpl_strtod # endif # if !@HAVE_STRTOD@ || @REPLACE_STRTOD@ /* Parse a double from STRING, updating ENDP if appropriate. */ extern double strtod (const char *str, char **endp); # endif #elif defined GNULIB_POSIXCHECK # undef strtod # define strtod(s, e) \ (GL_LINK_WARNING ("strtod is unportable - " \ "use gnulib module strtod for portability"), \ strtod (s, e)) #endif #ifdef __cplusplus } #endif #endif /* _GL_STDLIB_H */ #endif /* _GL_STDLIB_H */ #endif dc3dd-7.1.614/lib/mempcpy.c0000644000175000017500000000224211064230667015030 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Copy memory area and return pointer after last written byte. Copyright (C) 2003, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #include /* Copy N bytes of SRC to DEST, return pointer to bytes after the last written byte. */ void * mempcpy (void *dest, const void *src, size_t n) { return (char *) memcpy (dest, src, n) + n; } dc3dd-7.1.614/lib/mbscasecmp.c0000644000175000017500000000531511022023316015460 0ustar amedicoamedico/* Case-insensitive string comparison function. Copyright (C) 1998-1999, 2005-2007 Free Software Foundation, Inc. Written by Bruno Haible , 2005, based on earlier glibc code. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include #if HAVE_MBRTOWC # include "mbuiter.h" #endif #define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch)) /* Compare the character strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. Note: This function may, in multibyte locales, return 0 for strings of different lengths! */ int mbscasecmp (const char *s1, const char *s2) { if (s1 == s2) return 0; /* Be careful not to look at the entire extent of s1 or s2 until needed. This is useful because when two strings differ, the difference is most often already in the very few first characters. */ #if HAVE_MBRTOWC if (MB_CUR_MAX > 1) { mbui_iterator_t iter1; mbui_iterator_t iter2; mbui_init (iter1, s1); mbui_init (iter2, s2); while (mbui_avail (iter1) && mbui_avail (iter2)) { int cmp = mb_casecmp (mbui_cur (iter1), mbui_cur (iter2)); if (cmp != 0) return cmp; mbui_advance (iter1); mbui_advance (iter2); } if (mbui_avail (iter1)) /* s2 terminated before s1. */ return 1; if (mbui_avail (iter2)) /* s1 terminated before s2. */ return -1; return 0; } else #endif { const unsigned char *p1 = (const unsigned char *) s1; const unsigned char *p2 = (const unsigned char *) s2; unsigned char c1, c2; do { c1 = TOLOWER (*p1); c2 = TOLOWER (*p2); if (c1 == '\0') break; ++p1; ++p2; } while (c1 == c2); if (UCHAR_MAX <= INT_MAX) return c1 - c2; else /* On machines where 'char' and 'int' are types of the same size, the difference of two 'unsigned char' values - including the sign bit - doesn't fit in an 'int'. */ return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); } } dc3dd-7.1.614/lib/xnanosleep.c0000644000175000017500000000741411022023316015521 0ustar amedicoamedico/* xnanosleep.c -- a more convenient interface to nanosleep Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Mostly written (for sleep.c) by Paul Eggert. Factored out (creating this file) by Jim Meyering. */ #include #include "xnanosleep.h" #include #include #include #include #include #include #include #include "intprops.h" #ifndef TIME_T_MAX # define TIME_T_MAX TYPE_MAXIMUM (time_t) #endif /* Sleep until the time (call it WAKE_UP_TIME) specified as SECONDS seconds after the time this function is called. SECONDS must be non-negative. If SECONDS is so large that it is not representable as a `struct timespec', then use the maximum value for that interval. Return -1 on failure (setting errno), 0 on success. */ int xnanosleep (double seconds) { enum { BILLION = 1000000000 }; /* For overflow checking, use naive comparison if possible, widening to long double if double is not wide enough. Otherwise, use <=, not <, to avoid problems when TIME_T_MAX is less than SECONDS but compares equal to SECONDS after loss of precision when coercing from time_t to long double. This mishandles near-maximal values in some rare (perhaps theoretical) cases but that is better than undefined behavior. */ bool overflow = ((time_t) ((double) TIME_T_MAX / 2) == TIME_T_MAX / 2 ? TIME_T_MAX < seconds : (time_t) ((long double) TIME_T_MAX / 2) == TIME_T_MAX / 2 ? TIME_T_MAX < (long double) seconds : TIME_T_MAX <= (long double) seconds); struct timespec ts_sleep; assert (0 <= seconds); /* Separate whole seconds from nanoseconds. */ if (! overflow) { time_t floor_seconds = seconds; double ns = BILLION * (seconds - floor_seconds); ts_sleep.tv_sec = floor_seconds; /* Round up to the next whole number, if necessary, so that we always sleep for at least the requested amount of time. Assuming the default rounding mode, we don't have to worry about the rounding error when computing 'ns' above, since the error won't cause 'ns' to drop below an integer boundary. */ ts_sleep.tv_nsec = ns; ts_sleep.tv_nsec += (ts_sleep.tv_nsec < ns); /* Normalize the interval length. nanosleep requires this. */ if (BILLION <= ts_sleep.tv_nsec) { if (ts_sleep.tv_sec == TIME_T_MAX) overflow = true; else { ts_sleep.tv_sec++; ts_sleep.tv_nsec -= BILLION; } } } for (;;) { if (overflow) { ts_sleep.tv_sec = TIME_T_MAX; ts_sleep.tv_nsec = BILLION - 1; } /* Linux-2.6.8.1's nanosleep returns -1, but doesn't set errno when resumed after being suspended. Earlier versions would set errno to EINTR. nanosleep from linux-2.6.10, as well as implementations by (all?) other vendors, doesn't return -1 in that case; either it continues sleeping (if time remains) or it returns zero (if the wake-up time has passed). */ errno = 0; if (nanosleep (&ts_sleep, NULL) == 0) break; if (errno != EINTR && errno != 0) return -1; } return 0; } dc3dd-7.1.614/lib/ref-del.sin0000644000175000017500000000177411022023316015235 0ustar amedicoamedico# Remove this package from a list of references stored in a text file. # # Copyright (C) 2000 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, 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. # # Written by Bruno Haible . # /^# Packages using this file: / { s/# Packages using this file:// s/ @PACKAGE@ / / s/^/# Packages using this file:/ } dc3dd-7.1.614/lib/memxfrm.h0000644000175000017500000000012511022023316015015 0ustar amedicoamedico#include size_t memxfrm (char *restrict, size_t, char *restrict, size_t); dc3dd-7.1.614/lib/ftello.c0000644000175000017500000000300411022023316014621 0ustar amedicoamedico/* An ftello() function that works around platform bugs. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include /* Get lseek. */ #include #undef ftello #if !HAVE_FTELLO # undef ftell # define ftello ftell #endif off_t rpl_ftello (FILE *fp) { #if LSEEK_PIPE_BROKEN /* mingw gives bogus answers rather than failure on non-seekable files. */ if (lseek (fileno (fp), 0, SEEK_CUR) == -1) return -1; #endif #if defined __SL64 && defined __SCLE /* Cygwin */ if ((fp->_flags & __SL64) == 0) { /* Cygwin 1.5.0 through 1.5.24 failed to open stdin in 64-bit mode; but has an ftello that requires 64-bit mode. */ FILE *tmp = fopen ("/dev/null", "r"); if (!tmp) return -1; fp->_flags |= __SL64; fp->_seek64 = tmp->_seek64; fclose (tmp); } #endif return ftello (fp); } dc3dd-7.1.614/lib/hard-locale.c0000644000175000017500000000357211022023316015521 0ustar amedicoamedico/* hard-locale.c -- Determine whether a locale is hard. Copyright (C) 1997, 1998, 1999, 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "hard-locale.h" #include #include #include #ifdef __GLIBC__ # define GLIBC_VERSION __GLIBC__ #else # define GLIBC_VERSION 0 #endif /* Return true if the current CATEGORY locale is hard, i.e. if you can't get away with assuming traditional C or POSIX behavior. */ bool hard_locale (int category) { bool hard = true; char const *p = setlocale (category, NULL); if (p) { if (2 <= GLIBC_VERSION) { if (strcmp (p, "C") == 0 || strcmp (p, "POSIX") == 0) hard = false; } else { char *locale = strdup (p); if (locale) { /* Temporarily set the locale to the "C" and "POSIX" locales to find their names, so that we can determine whether one or the other is the caller's locale. */ if (((p = setlocale (category, "C")) && strcmp (p, locale) == 0) || ((p = setlocale (category, "POSIX")) && strcmp (p, locale) == 0)) hard = false; /* Restore the caller's locale. */ setlocale (category, locale); free (locale); } } } return hard; } dc3dd-7.1.614/lib/propername.h0000644000175000017500000000714111064230667015536 0ustar amedicoamedico/* Localization of proper names. Copyright (C) 2006, 2008 Free Software Foundation, Inc. Written by Bruno Haible , 2006. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* INTRODUCTION What do Torbjörn Granlund (coreutils) François Pinard (coreutils) Danilo Šegan (gettext) have in common? A non-ASCII name. This causes trouble in the --version output. The simple "solution", unfortunately mutilates the name. $ du --version| grep Granlund Écrit par Torbjorn Granlund, David MacKenzie, Paul Eggert et Jim Meyering. $ ptx --version| grep Pinard Écrit par F. Pinard. What is desirable, is to print the full name if the output character set allows it, and the ASCIIfied name only as a fallback. $ recode-sr-latin --version ... Written by Danilo Šegan and Bruno Haible. $ LC_ALL=C recode-sr-latin --version ... Written by Danilo Segan and Bruno Haible. The 'propername' module does exactly this. Plus, for languages that use a different writing system than the Latin alphabet, it allows a translator to write the name using that different writing system. In that case the output will look like this: () To use the 'propername' module is done in three simple steps: 1) Add it to the list of gnulib modules to import, 2) Change the arguments of version_etc, from from "Paul Eggert" to proper_name ("Paul Eggert") from "Torbjorn Granlund" to proper_name_utf8 ("Torbjorn Granlund", "Torbj\303\266rn Granlund") from "F. Pinard" to proper_name_utf8 ("Franc,ois Pinard", "Fran\303\247ois Pinard") (Optionally, here you can also add / * TRANSLATORS: ... * / comments explaining how the name is written or pronounced.) 3) If you are using GNU gettext version 0.16.1 or older, in po/Makevars, in the definition of the XGETTEXT_OPTIONS variable, add: --keyword='proper_name:1,"This is a proper name. See the gettext manual, section Names."' --keyword='proper_name_utf8:1,"This is a proper name. See the gettext manual, section Names."' This specifies automatic comments for the translator. (Requires xgettext >= 0.15. The double-quotes inside the quoted string are on purpose: they are part of the --keyword argument syntax.) */ #ifndef _PROPERNAME_H #define _PROPERNAME_H #ifdef __cplusplus extern "C" { #endif /* Return the localization of NAME. NAME is written in ASCII. */ extern const char * proper_name (const char *name); /* Return the localization of a name whose original writing is not ASCII. NAME_UTF8 is the real name, written in UTF-8 with octal or hexadecimal escape sequences. NAME_ASCII is a fallback written only with ASCII characters. */ extern const char * proper_name_utf8 (const char *name_ascii, const char *name_utf8); #ifdef __cplusplus } #endif #endif /* _PROPERNAME_H */ dc3dd-7.1.614/lib/c-ctype.h0000644000175000017500000002053111064230667014730 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Character handling in C locale. These functions work like the corresponding functions in , except that they have the C (POSIX) locale hardwired, whereas the functions' behaviour depends on the current locale set via setlocale. Copyright (C) 2000-2003, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef C_CTYPE_H #define C_CTYPE_H #include #ifdef __cplusplus extern "C" { #endif /* The functions defined in this file assume the "C" locale and a character set without diacritics (ASCII-US or EBCDIC-US or something like that). Even if the "C" locale on a particular system is an extension of the ASCII character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it is ISO-8859-1), the functions in this file recognize only the ASCII characters. */ /* Check whether the ASCII optimizations apply. */ /* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that '0', '1', ..., '9' have consecutive integer values. */ #define C_CTYPE_CONSECUTIVE_DIGITS 1 #if ('A' <= 'Z') \ && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \ && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \ && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \ && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \ && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \ && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \ && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \ && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \ && ('Y' + 1 == 'Z') #define C_CTYPE_CONSECUTIVE_UPPERCASE 1 #endif #if ('a' <= 'z') \ && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \ && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \ && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \ && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \ && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \ && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \ && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \ && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \ && ('y' + 1 == 'z') #define C_CTYPE_CONSECUTIVE_LOWERCASE 1 #endif #if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126) /* The character set is ASCII or one of its variants or extensions, not EBCDIC. Testing the value of '\n' and '\r' is not relevant. */ #define C_CTYPE_ASCII 1 #endif /* Function declarations. */ extern bool c_isascii (int c); /* not locale dependent */ extern bool c_isalnum (int c); extern bool c_isalpha (int c); extern bool c_isblank (int c); extern bool c_iscntrl (int c); extern bool c_isdigit (int c); extern bool c_islower (int c); extern bool c_isgraph (int c); extern bool c_isprint (int c); extern bool c_ispunct (int c); extern bool c_isspace (int c); extern bool c_isupper (int c); extern bool c_isxdigit (int c); extern int c_tolower (int c); extern int c_toupper (int c); #if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS /* ASCII optimizations. */ #undef c_isascii #define c_isascii(c) \ ({ int __c = (c); \ (__c >= 0x00 && __c <= 0x7f); \ }) #if C_CTYPE_CONSECUTIVE_DIGITS \ && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII #undef c_isalnum #define c_isalnum(c) \ ({ int __c = (c); \ ((__c >= '0' && __c <= '9') \ || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \ }) #else #undef c_isalnum #define c_isalnum(c) \ ({ int __c = (c); \ ((__c >= '0' && __c <= '9') \ || (__c >= 'A' && __c <= 'Z') \ || (__c >= 'a' && __c <= 'z')); \ }) #endif #endif #if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII #undef c_isalpha #define c_isalpha(c) \ ({ int __c = (c); \ ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \ }) #else #undef c_isalpha #define c_isalpha(c) \ ({ int __c = (c); \ ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \ }) #endif #endif #undef c_isblank #define c_isblank(c) \ ({ int __c = (c); \ (__c == ' ' || __c == '\t'); \ }) #if C_CTYPE_ASCII #undef c_iscntrl #define c_iscntrl(c) \ ({ int __c = (c); \ ((__c & ~0x1f) == 0 || __c == 0x7f); \ }) #endif #if C_CTYPE_CONSECUTIVE_DIGITS #undef c_isdigit #define c_isdigit(c) \ ({ int __c = (c); \ (__c >= '0' && __c <= '9'); \ }) #endif #if C_CTYPE_CONSECUTIVE_LOWERCASE #undef c_islower #define c_islower(c) \ ({ int __c = (c); \ (__c >= 'a' && __c <= 'z'); \ }) #endif #if C_CTYPE_ASCII #undef c_isgraph #define c_isgraph(c) \ ({ int __c = (c); \ (__c >= '!' && __c <= '~'); \ }) #endif #if C_CTYPE_ASCII #undef c_isprint #define c_isprint(c) \ ({ int __c = (c); \ (__c >= ' ' && __c <= '~'); \ }) #endif #if C_CTYPE_ASCII #undef c_ispunct #define c_ispunct(c) \ ({ int _c = (c); \ (c_isgraph (_c) && ! c_isalnum (_c)); \ }) #endif #undef c_isspace #define c_isspace(c) \ ({ int __c = (c); \ (__c == ' ' || __c == '\t' \ || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \ }) #if C_CTYPE_CONSECUTIVE_UPPERCASE #undef c_isupper #define c_isupper(c) \ ({ int __c = (c); \ (__c >= 'A' && __c <= 'Z'); \ }) #endif #if C_CTYPE_CONSECUTIVE_DIGITS \ && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII #undef c_isxdigit #define c_isxdigit(c) \ ({ int __c = (c); \ ((__c >= '0' && __c <= '9') \ || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \ }) #else #undef c_isxdigit #define c_isxdigit(c) \ ({ int __c = (c); \ ((__c >= '0' && __c <= '9') \ || (__c >= 'A' && __c <= 'F') \ || (__c >= 'a' && __c <= 'f')); \ }) #endif #endif #if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #undef c_tolower #define c_tolower(c) \ ({ int __c = (c); \ (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \ }) #undef c_toupper #define c_toupper(c) \ ({ int __c = (c); \ (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \ }) #endif #endif /* optimizing for speed */ #ifdef __cplusplus } #endif #endif /* C_CTYPE_H */ dc3dd-7.1.614/lib/write-any-file.h0000644000175000017500000000006511022023316016201 0ustar amedicoamedico#include bool can_write_any_file (void); dc3dd-7.1.614/lib/str-kmp.h0000644000175000017500000001147411064230667014767 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Substring search in a NUL terminated string of 'char' elements, using the Knuth-Morris-Pratt algorithm. Copyright (C) 2005-2008 Free Software Foundation, Inc. Written by Bruno Haible , 2005. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Before including this file, you need to define: CANON_ELEMENT(c) A macro that canonicalizes an element right after it has been fetched from one of the two strings. The argument is an 'unsigned char'; the result must be an 'unsigned char' as well. */ /* Knuth-Morris-Pratt algorithm. See http://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm Return a boolean indicating success: Return true and set *RESULTP if the search was completed. Return false if it was aborted because not enough memory was available. */ static bool knuth_morris_pratt_unibyte (const char *haystack, const char *needle, const char **resultp) { size_t m = strlen (needle); /* Allocate the table. */ size_t *table = (size_t *) nmalloca (m, sizeof (size_t)); if (table == NULL) return false; /* Fill the table. For 0 < i < m: 0 < table[i] <= i is defined such that forall 0 < x < table[i]: needle[x..i-1] != needle[0..i-1-x], and table[i] is as large as possible with this property. This implies: 1) For 0 < i < m: If table[i] < i, needle[table[i]..i-1] = needle[0..i-1-table[i]]. 2) For 0 < i < m: rhaystack[0..i-1] == needle[0..i-1] and exists h, i <= h < m: rhaystack[h] != needle[h] implies forall 0 <= x < table[i]: rhaystack[x..x+m-1] != needle[0..m-1]. table[0] remains uninitialized. */ { size_t i, j; /* i = 1: Nothing to verify for x = 0. */ table[1] = 1; j = 0; for (i = 2; i < m; i++) { /* Here: j = i-1 - table[i-1]. The inequality needle[x..i-1] != needle[0..i-1-x] is known to hold for x < table[i-1], by induction. Furthermore, if j>0: needle[i-1-j..i-2] = needle[0..j-1]. */ unsigned char b = CANON_ELEMENT ((unsigned char) needle[i - 1]); for (;;) { /* Invariants: The inequality needle[x..i-1] != needle[0..i-1-x] is known to hold for x < i-1-j. Furthermore, if j>0: needle[i-1-j..i-2] = needle[0..j-1]. */ if (b == CANON_ELEMENT ((unsigned char) needle[j])) { /* Set table[i] := i-1-j. */ table[i] = i - ++j; break; } /* The inequality needle[x..i-1] != needle[0..i-1-x] also holds for x = i-1-j, because needle[i-1] != needle[j] = needle[i-1-x]. */ if (j == 0) { /* The inequality holds for all possible x. */ table[i] = i; break; } /* The inequality needle[x..i-1] != needle[0..i-1-x] also holds for i-1-j < x < i-1-j+table[j], because for these x: needle[x..i-2] = needle[x-(i-1-j)..j-1] != needle[0..j-1-(x-(i-1-j))] (by definition of table[j]) = needle[0..i-2-x], hence needle[x..i-1] != needle[0..i-1-x]. Furthermore needle[i-1-j+table[j]..i-2] = needle[table[j]..j-1] = needle[0..j-1-table[j]] (by definition of table[j]). */ j = j - table[j]; } /* Here: j = i - table[i]. */ } } /* Search, using the table to accelerate the processing. */ { size_t j; const char *rhaystack; const char *phaystack; *resultp = NULL; j = 0; rhaystack = haystack; phaystack = haystack; /* Invariant: phaystack = rhaystack + j. */ while (*phaystack != '\0') if (CANON_ELEMENT ((unsigned char) needle[j]) == CANON_ELEMENT ((unsigned char) *phaystack)) { j++; phaystack++; if (j == m) { /* The entire needle has been found. */ *resultp = rhaystack; break; } } else if (j > 0) { /* Found a match of needle[0..j-1], mismatch at needle[j]. */ rhaystack += table[j]; j -= table[j]; } else { /* Found a mismatch at needle[0] already. */ rhaystack++; phaystack++; } } freea (table); return true; } #undef CANON_ELEMENT dc3dd-7.1.614/lib/version-etc.h0000644000175000017500000000237611022023316015612 0ustar amedicoamedico/* Utility to help print --version output in a consistent format. Copyright (C) 1999, 2003, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #ifndef VERSION_ETC_H # define VERSION_ETC_H 1 # include # include extern const char version_etc_copyright[]; extern void version_etc_va (FILE *stream, const char *command_name, const char *package, const char *version, va_list authors); extern void version_etc (FILE *stream, const char *command_name, const char *package, const char *version, /* const char *author1, ...*/ ...); #endif /* VERSION_ETC_H */ dc3dd-7.1.614/lib/regex.c0000644000175000017500000000567211064230667014502 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Extended regular expression matching and search library. Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Make sure noone compiles this code with a C++ compiler. */ #if defined __cplusplus && defined _LIBC # error "This is C code, use a C compiler" #endif #ifdef _LIBC /* We have to keep the namespace clean. */ # define regfree(preg) __regfree (preg) # define regexec(pr, st, nm, pm, ef) __regexec (pr, st, nm, pm, ef) # define regcomp(preg, pattern, cflags) __regcomp (preg, pattern, cflags) # define regerror(errcode, preg, errbuf, errbuf_size) \ __regerror(errcode, preg, errbuf, errbuf_size) # define re_set_registers(bu, re, nu, st, en) \ __re_set_registers (bu, re, nu, st, en) # define re_match_2(bufp, string1, size1, string2, size2, pos, regs, stop) \ __re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop) # define re_match(bufp, string, size, pos, regs) \ __re_match (bufp, string, size, pos, regs) # define re_search(bufp, string, size, startpos, range, regs) \ __re_search (bufp, string, size, startpos, range, regs) # define re_compile_pattern(pattern, length, bufp) \ __re_compile_pattern (pattern, length, bufp) # define re_set_syntax(syntax) __re_set_syntax (syntax) # define re_search_2(bufp, st1, s1, st2, s2, startpos, range, regs, stop) \ __re_search_2 (bufp, st1, s1, st2, s2, startpos, range, regs, stop) # define re_compile_fastmap(bufp) __re_compile_fastmap (bufp) # include "../locale/localeinfo.h" #endif /* On some systems, limits.h sets RE_DUP_MAX to a lower value than GNU regex allows. Include it before , which correctly #undefs RE_DUP_MAX and sets it to the right value. */ #include #include #include "regex_internal.h" #include "regex_internal.c" #include "regcomp.c" #include "regexec.c" /* Binary backward compatibility. */ #if _LIBC # include # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3) link_warning (re_max_failures, "the 're_max_failures' variable is obsolete and will go away.") int re_max_failures = 2000; # endif #endif dc3dd-7.1.614/lib/gettext.h0000644000175000017500000002255011064230667015053 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Convenience header for conditional use of GNU . Copyright (C) 1995-1998, 2000-2002, 2004-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _LIBGETTEXT_H #define _LIBGETTEXT_H 1 /* NLS can be disabled through the configure --disable-nls option. */ #if ENABLE_NLS /* Get declarations of GNU message catalog functions. */ # include /* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by the gettext() and ngettext() macros. This is an alternative to calling textdomain(), and is useful for libraries. */ # ifdef DEFAULT_TEXT_DOMAIN # undef gettext # define gettext(Msgid) \ dgettext (DEFAULT_TEXT_DOMAIN, Msgid) # undef ngettext # define ngettext(Msgid1, Msgid2, N) \ dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) # endif #else /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. We don't include as well because people using "gettext.h" will not include , and also including would fail on SunOS 4, whereas is OK. */ #if defined(__sun) # include #endif /* Many header files from the libstdc++ coming with g++ 3.3 or newer include , which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. */ #if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) # include # if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H # include # endif #endif /* Disabled NLS. The casts to 'const char *' serve the purpose of producing warnings for invalid uses of the value returned from these functions. On pre-ANSI systems without 'const', the config.h file is supposed to contain "#define const". */ # define gettext(Msgid) ((const char *) (Msgid)) # define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) # define dcgettext(Domainname, Msgid, Category) \ ((void) (Category), dgettext (Domainname, Msgid)) # define ngettext(Msgid1, Msgid2, N) \ ((N) == 1 \ ? ((void) (Msgid2), (const char *) (Msgid1)) \ : ((void) (Msgid1), (const char *) (Msgid2))) # define dngettext(Domainname, Msgid1, Msgid2, N) \ ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N)) # define textdomain(Domainname) ((const char *) (Domainname)) # define bindtextdomain(Domainname, Dirname) \ ((void) (Domainname), (const char *) (Dirname)) # define bind_textdomain_codeset(Domainname, Codeset) \ ((void) (Domainname), (const char *) (Codeset)) #endif /* A pseudo function call that serves as a marker for the automated extraction of messages, but does not call gettext(). The run-time translation is done at a different place in the code. The argument, String, should be a literal string. Concatenated strings and other string expressions won't work. The macro's expansion is not parenthesized, so that it is suitable as initializer for static 'char[]' or 'const char[]' variables. */ #define gettext_noop(String) String /* The separator between msgctxt and msgid in a .mo file. */ #define GETTEXT_CONTEXT_GLUE "\004" /* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be short and rarely need to change. The letter 'p' stands for 'particular' or 'special'. */ #ifdef DEFAULT_TEXT_DOMAIN # define pgettext(Msgctxt, Msgid) \ pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #else # define pgettext(Msgctxt, Msgid) \ pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #endif #define dpgettext(Domainname, Msgctxt, Msgid) \ pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) #define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) #ifdef DEFAULT_TEXT_DOMAIN # define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #else # define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #endif #define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) #define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * pgettext_aux (const char *domain, const char *msg_ctxt_id, const char *msgid, int category) { const char *translation = dcgettext (domain, msg_ctxt_id, category); if (translation == msg_ctxt_id) return msgid; else return translation; } #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * npgettext_aux (const char *domain, const char *msg_ctxt_id, const char *msgid, const char *msgid_plural, unsigned long int n, int category) { const char *translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); if (translation == msg_ctxt_id || translation == msgid_plural) return (n == 1 ? msgid : msgid_plural); else return translation; } /* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID can be arbitrary expressions. But for string literals these macros are less efficient than those above. */ #include #define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \ (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \ /* || __STDC_VERSION__ >= 199901L */ ) #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS #include #endif #define pgettext_expr(Msgctxt, Msgid) \ dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES) #define dpgettext_expr(Domainname, Msgctxt, Msgid) \ dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * dcpgettext_expr (const char *domain, const char *msgctxt, const char *msgid, int category) { size_t msgctxt_len = strlen (msgctxt) + 1; size_t msgid_len = strlen (msgid) + 1; const char *translation; #if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS char msg_ctxt_id[msgctxt_len + msgid_len]; #else char buf[1024]; char *msg_ctxt_id = (msgctxt_len + msgid_len <= sizeof (buf) ? buf : (char *) malloc (msgctxt_len + msgid_len)); if (msg_ctxt_id != NULL) #endif { memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); translation = dcgettext (domain, msg_ctxt_id, category); #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS if (msg_ctxt_id != buf) free (msg_ctxt_id); #endif if (translation != msg_ctxt_id) return translation; } return msgid; } #define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \ dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) #define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static const char * dcnpgettext_expr (const char *domain, const char *msgctxt, const char *msgid, const char *msgid_plural, unsigned long int n, int category) { size_t msgctxt_len = strlen (msgctxt) + 1; size_t msgid_len = strlen (msgid) + 1; const char *translation; #if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS char msg_ctxt_id[msgctxt_len + msgid_len]; #else char buf[1024]; char *msg_ctxt_id = (msgctxt_len + msgid_len <= sizeof (buf) ? buf : (char *) malloc (msgctxt_len + msgid_len)); if (msg_ctxt_id != NULL) #endif { memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS if (msg_ctxt_id != buf) free (msg_ctxt_id); #endif if (!(translation == msg_ctxt_id || translation == msgid_plural)) return translation; } return (n == 1 ? msgid : msgid_plural); } #endif /* _LIBGETTEXT_H */ dc3dd-7.1.614/lib/uinttostr.c0000644000175000017500000000011611022023316015410 0ustar amedicoamedico#define inttostr uinttostr #define inttype unsigned int #include "inttostr.c" dc3dd-7.1.614/lib/memmove.c0000644000175000017500000000124111022023316015002 0ustar amedicoamedico/* memmove.c -- copy memory. Copy LENGTH bytes from SOURCE to DEST. Does not null-terminate. In the public domain. By David MacKenzie . */ #include #include void * memmove (void *dest0, void const *source0, size_t length) { char *dest = dest0; char const *source = source0; if (source < dest) /* Moving from low mem to hi mem; start at end. */ for (source += length, dest += length; length; --length) *--dest = *--source; else if (source != dest) { /* Moving from hi mem to low mem; start at beginning. */ for (; length; --length) *dest++ = *source++; } return dest0; } dc3dd-7.1.614/lib/mkdirat.c0000644000175000017500000000300111022023316014764 0ustar amedicoamedico/* fd-relative mkdir Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include "openat.h" #include #include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ #include "save-cwd.h" #include "openat-priv.h" /* Solaris 10 has no function like this. Create a subdirectory, FILE, with mode MODE, in the directory open on descriptor FD. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then mkdir/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ #define AT_FUNC_NAME mkdirat #define AT_FUNC_F1 mkdir #define AT_FUNC_F2 mkdir #define AT_FUNC_USE_F1_COND 1 #define AT_FUNC_POST_FILE_PARAM_DECLS , mode_t mode #define AT_FUNC_POST_FILE_ARGS , mode #include "at-func.c" dc3dd-7.1.614/lib/buffer-lcm.h0000644000175000017500000000010011022023316015355 0ustar amedicoamedico#include size_t buffer_lcm (size_t, size_t, size_t); dc3dd-7.1.614/lib/stdio--.h0000644000175000017500000000164211022023316014623 0ustar amedicoamedico/* Like stdio.h, but redefine some names to avoid glitches. Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "stdio-safer.h" #undef fopen #define fopen fopen_safer #undef tmpfile #define tmpfile tmpfile_safer dc3dd-7.1.614/lib/mkdir.c0000644000175000017500000000370311064230667014467 0ustar amedicoamedico/* On some systems, mkdir ("foo/", 0700) fails because of the trailing slash. On those systems, this wrapper removes the trailing slash. Copyright (C) 2001, 2003, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include /* Specification. */ #include #include #include #include #include #include "dirname.h" #include "xalloc.h" /* Disable the definition of mkdir to rpl_mkdir (from the substitute) in this file. Otherwise, we'd get an endless recursion. */ #undef mkdir /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. Additionally, it declares _mkdir (and depending on compile flags, an alias mkdir), only in the nonstandard io.h. */ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define mkdir(name,mode) _mkdir (name) #endif /* This function is required at least for NetBSD 1.5.2. */ int rpl_mkdir (char const *dir, mode_t mode) { int ret_val; char *tmp_dir; size_t len = strlen (dir); if (len && dir[len - 1] == '/') { tmp_dir = xstrdup (dir); strip_trailing_slashes (tmp_dir); } else { tmp_dir = (char *) dir; } ret_val = mkdir (tmp_dir, mode); if (tmp_dir != dir) free (tmp_dir); return ret_val; } dc3dd-7.1.614/lib/full-write.h0000644000175000017500000000215311022023316015437 0ustar amedicoamedico/* An interface to write() that writes all it is asked to write. Copyright (C) 2002-2003 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #ifdef __cplusplus extern "C" { #endif /* Write COUNT bytes at BUF to descriptor FD, retrying if interrupted or if partial writes occur. Return the number of bytes successfully written, setting errno if that is less than COUNT. */ extern size_t full_write (int fd, const void *buf, size_t count); #ifdef __cplusplus } #endif dc3dd-7.1.614/lib/savewd.c0000644000175000017500000001524411022023316014636 0ustar amedicoamedico/* Save and restore the working directory, possibly using a child process. Copyright (C) 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "savewd.h" #include #include #include #include #include #include #include #include #include #include "dirname.h" #include "fcntl-safer.h" #ifndef ESTALE # define ESTALE -1 #endif /* Save the working directory into *WD, if it hasn't been saved already. Return true if a child has been forked to do the real work. */ static bool savewd_save (struct savewd *wd) { switch (wd->state) { case INITIAL_STATE: /* Save the working directory, or prepare to fall back if possible. */ { int fd = open_safer (".", O_RDONLY); if (0 <= fd) { wd->state = FD_STATE; wd->val.fd = fd; break; } if (errno != EACCES && errno != ESTALE) { wd->state = ERROR_STATE; wd->val.errnum = errno; break; } } wd->state = FORKING_STATE; wd->val.child = -1; /* Fall through. */ case FORKING_STATE: if (wd->val.child < 0) { /* "Save" the initial working directory by forking a new subprocess that will attempt all the work from the chdir until until the next savewd_restore. */ wd->val.child = fork (); if (wd->val.child != 0) { if (0 < wd->val.child) return true; wd->state = ERROR_STATE; wd->val.errnum = errno; } } break; case FD_STATE: case FD_POST_CHDIR_STATE: case ERROR_STATE: case FINAL_STATE: break; default: assert (false); } return false; } int savewd_chdir (struct savewd *wd, char const *dir, int options, int open_result[2]) { int fd = -1; int result = 0; /* Open the directory if requested, or if avoiding a race condition is requested and possible. */ if (open_result || (options & (HAVE_WORKING_O_NOFOLLOW ? SAVEWD_CHDIR_NOFOLLOW : 0))) { fd = open (dir, (O_RDONLY | O_DIRECTORY | O_NOCTTY | O_NONBLOCK | (options & SAVEWD_CHDIR_NOFOLLOW ? O_NOFOLLOW : 0))); if (open_result) { open_result[0] = fd; open_result[1] = errno; } if (fd < 0 && (errno != EACCES || (options & SAVEWD_CHDIR_READABLE))) result = -1; } if (result == 0 && ! (0 <= fd && options & SAVEWD_CHDIR_SKIP_READABLE)) { if (savewd_save (wd)) { open_result = NULL; result = -2; } else { result = (fd < 0 ? chdir (dir) : fchdir (fd)); if (result == 0) switch (wd->state) { case FD_STATE: wd->state = FD_POST_CHDIR_STATE; break; case ERROR_STATE: case FD_POST_CHDIR_STATE: case FINAL_STATE: break; case FORKING_STATE: assert (wd->val.child == 0); break; default: assert (false); } } } if (0 <= fd && ! open_result) { int e = errno; close (fd); errno = e; } return result; } int savewd_restore (struct savewd *wd, int status) { switch (wd->state) { case INITIAL_STATE: case FD_STATE: /* The working directory is the desired directory, so there's no work to do. */ break; case FD_POST_CHDIR_STATE: /* Restore the working directory using fchdir. */ if (fchdir (wd->val.fd) == 0) { wd->state = FD_STATE; break; } else { int chdir_errno = errno; close (wd->val.fd); wd->state = ERROR_STATE; wd->val.errnum = chdir_errno; } /* Fall through. */ case ERROR_STATE: /* Report an error if asked to restore the working directory. */ errno = wd->val.errnum; return -1; case FORKING_STATE: /* "Restore" the working directory by waiting for the subprocess to finish. */ { pid_t child = wd->val.child; if (child == 0) _exit (status); if (0 < child) { int child_status; while (waitpid (child, &child_status, 0) < 0) assert (errno == EINTR); wd->val.child = -1; if (! WIFEXITED (child_status)) raise (WTERMSIG (child_status)); return WEXITSTATUS (child_status); } } break; default: assert (false); } return 0; } void savewd_finish (struct savewd *wd) { switch (wd->state) { case INITIAL_STATE: case ERROR_STATE: break; case FD_STATE: case FD_POST_CHDIR_STATE: close (wd->val.fd); break; case FORKING_STATE: assert (wd->val.child < 0); break; default: assert (false); } wd->state = FINAL_STATE; } /* Return true if the actual work is currently being done by a subprocess. A true return means that the caller and the subprocess should resynchronize later with savewd_restore, using only their own memory to decide when to resynchronize; they should not consult the file system to decide, because that might lead to race conditions. This is why savewd_chdir is broken out into another function; savewd_chdir's callers _can_ inspect the file system to decide whether to call savewd_chdir. */ static inline bool savewd_delegating (struct savewd const *wd) { return wd->state == FORKING_STATE && 0 < wd->val.child; } int savewd_process_files (int n_files, char **file, int (*act) (char *, struct savewd *, void *), void *options) { int i = 0; int last_relative; int exit_status = EXIT_SUCCESS; struct savewd wd; savewd_init (&wd); for (last_relative = n_files - 1; 0 <= last_relative; last_relative--) if (! IS_ABSOLUTE_FILE_NAME (file[last_relative])) break; for (; i < last_relative; i++) { if (! savewd_delegating (&wd)) { int s = act (file[i], &wd, options); if (exit_status < s) exit_status = s; } if (! IS_ABSOLUTE_FILE_NAME (file[i + 1])) { int r = savewd_restore (&wd, exit_status); if (exit_status < r) exit_status = r; } } savewd_finish (&wd); for (; i < n_files; i++) { int s = act (file[i], &wd, options); if (exit_status < s) exit_status = s; } return exit_status; } dc3dd-7.1.614/lib/fpucw.h0000644000175000017500000001055511064230667014515 0ustar amedicoamedico/* Manipulating the FPU control word. Copyright (C) 2007-2008 Free Software Foundation, Inc. Written by Bruno Haible , 2007. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _FPUCW_H #define _FPUCW_H /* The i386 floating point hardware (the 387 compatible FPU, not the modern SSE/SSE2 hardware) has a controllable rounding precision. It is specified through the 'PC' bits in the FPU control word ('fctrl' register). (See the GNU libc i386 header for details.) On some platforms, such as Linux or Solaris, the default precision setting is set to "extended precision". This means that 'long double' instructions operate correctly, but 'double' computations often produce slightly different results as on strictly IEEE 754 conforming systems. On some platforms, such as NetBSD, the default precision is set to "double precision". This means that 'long double' instructions will operate only as 'double', i.e. lead wrong results. The FPU control word is under control of the application, i.e. it is not required to be set either way by the ABI. (In fact, the i386 ABI http://refspecs.freestandards.org/elf/abi386-4.pdf page 3-12 = page 38 is not clear about it. But in any case, gcc treats the control word like a "preserved" register: it emits code that assumes that the control word is preserved across calls, and it restores the control word at the end of functions that modify it.) See Vincent Lefèvre's page http://www.vinc17.org/research/extended.en.html for a good explanation. See http://www.uwsg.iu.edu/hypermail/linux/kernel/0103.0/0453.html for some argumentation which setting should be the default. */ /* This header file provides the following facilities: fpucw_t integral type holding the value of 'fctrl' FPU_PC_MASK bit mask denoting the precision control FPU_PC_DOUBLE precision control for 53 bits mantissa FPU_PC_EXTENDED precision control for 64 bits mantissa GET_FPUCW () yields the current FPU control word SET_FPUCW (word) sets the FPU control word DECL_LONG_DOUBLE_ROUNDING variable declaration for BEGIN/END_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING () starts a sequence of instructions with 'long double' safe operation precision END_LONG_DOUBLE_ROUNDING () ends a sequence of instructions with 'long double' safe operation precision */ /* Inline assembler like this works only with GNU C. */ #if (defined __i386__ || defined __x86_64__) && defined __GNUC__ typedef unsigned short fpucw_t; /* glibc calls this fpu_control_t */ # define FPU_PC_MASK 0x0300 # define FPU_PC_DOUBLE 0x200 /* glibc calls this _FPU_DOUBLE */ # define FPU_PC_EXTENDED 0x300 /* glibc calls this _FPU_EXTENDED */ # define GET_FPUCW() \ ({ fpucw_t _cw; \ __asm__ __volatile__ ("fnstcw %0" : "=m" (*&_cw)); \ _cw; \ }) # define SET_FPUCW(word) \ (void)({ fpucw_t _ncw = (word); \ __asm__ __volatile__ ("fldcw %0" : : "m" (*&_ncw)); \ }) # define DECL_LONG_DOUBLE_ROUNDING \ fpucw_t oldcw; # define BEGIN_LONG_DOUBLE_ROUNDING() \ (void)(oldcw = GET_FPUCW (), \ SET_FPUCW ((oldcw & ~FPU_PC_MASK) | FPU_PC_EXTENDED)) # define END_LONG_DOUBLE_ROUNDING() \ SET_FPUCW (oldcw) #else typedef unsigned int fpucw_t; # define FPU_PC_MASK 0 # define FPU_PC_DOUBLE 0 # define FPU_PC_EXTENDED 0 # define GET_FPUCW() 0 # define SET_FPUCW(word) (void)(word) # define DECL_LONG_DOUBLE_ROUNDING # define BEGIN_LONG_DOUBLE_ROUNDING() # define END_LONG_DOUBLE_ROUNDING() #endif #endif /* _FPUCW_H */ dc3dd-7.1.614/lib/strnlen1.c0000644000175000017500000000235211022023316015107 0ustar amedicoamedico/* Find the length of STRING + 1, but scan at most MAXLEN bytes. Copyright (C) 2005-2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "strnlen1.h" #include /* Find the length of STRING + 1, but scan at most MAXLEN bytes. If no '\0' terminator is found in that many characters, return MAXLEN. */ /* This is the same as strnlen (string, maxlen - 1) + 1. */ size_t strnlen1 (const char *string, size_t maxlen) { const char *end = (const char *) memchr (string, '\0', maxlen); if (end != NULL) return end - string + 1; else return maxlen; } dc3dd-7.1.614/lib/alloca.in.h0000644000175000017500000000371411064230667015230 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Memory allocation on the stack. Copyright (C) 1995, 1999, 2001-2004, 2006-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H means there is a real alloca function. */ #ifndef _GL_ALLOCA_H #define _GL_ALLOCA_H /* alloca (N) returns a pointer to N bytes of memory allocated on the stack, which will last until the function returns. Use of alloca should be avoided: - inside arguments of function calls - undefined behaviour, - in inline functions - the allocation may actually last until the calling function returns, - for huge N (say, N >= 65536) - you never know how large (or small) the stack is, and when the stack cannot fulfill the memory allocation request, the program just crashes. */ #ifndef alloca # ifdef __GNUC__ # define alloca __builtin_alloca # elif defined _AIX # define alloca __alloca # elif defined _MSC_VER # include # define alloca _alloca # elif defined __DECC && defined __VMS # define alloca __ALLOCA # else # include # ifdef __cplusplus extern "C" # endif void *alloca (size_t); # endif #endif #endif /* _GL_ALLOCA_H */ dc3dd-7.1.614/lib/time_r.c0000644000175000017500000000256111064230667014641 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Reentrant time functions like localtime_r. Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Written by Paul Eggert. */ #include #include #include static struct tm * copy_tm_result (struct tm *dest, struct tm const *src) { if (! src) return 0; *dest = *src; return dest; } struct tm * gmtime_r (time_t const * restrict t, struct tm * restrict tp) { return copy_tm_result (tp, gmtime (t)); } struct tm * localtime_r (time_t const * restrict t, struct tm * restrict tp) { return copy_tm_result (tp, localtime (t)); } dc3dd-7.1.614/lib/ref-add.sin0000644000175000017500000000205111022023316015206 0ustar amedicoamedico# Add this package to a list of references stored in a text file. # # Copyright (C) 2000 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, 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. # # Written by Bruno Haible . # /^# Packages using this file: / { s/# Packages using this file:// ta :a s/ @PACKAGE@ / @PACKAGE@ / tb s/ $/ @PACKAGE@ / :b s/^/# Packages using this file:/ } dc3dd-7.1.614/lib/error.h0000644000175000017500000000455111022023316014502 0ustar amedicoamedico/* Declaration for error-reporting function Copyright (C) 1995, 1996, 1997, 2003, 2006, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _ERROR_H #define _ERROR_H 1 #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) # define __attribute__(Spec) /* empty */ # endif /* The __-protected variants of `format' and `printf' attributes are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __format__ format # define __printf__ printf # endif #endif #ifdef __cplusplus extern "C" { #endif /* Print a message with `fprintf (stderr, FORMAT, ...)'; if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). If STATUS is nonzero, terminate the program with `exit (STATUS)'. */ extern void error (int __status, int __errnum, const char *__format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern void error_at_line (int __status, int __errnum, const char *__fname, unsigned int __lineno, const char *__format, ...) __attribute__ ((__format__ (__printf__, 5, 6))); /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this function without parameters instead. */ extern void (*error_print_progname) (void); /* This variable is incremented each time `error' is called. */ extern unsigned int error_message_count; /* Sometimes we want to have at most one error per line. This variable controls whether this mode is selected or not. */ extern int error_one_per_line; #ifdef __cplusplus } #endif #endif /* error.h */ dc3dd-7.1.614/lib/xstriconv.c0000644000175000017500000000307511064230667015422 0ustar amedicoamedico/* Charset conversion with out-of-memory checking. Copyright (C) 2001-2004, 2006 Free Software Foundation, Inc. Written by Bruno Haible. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "xstriconv.h" #include #include "striconv.h" #include "xalloc.h" #if HAVE_ICONV int xmem_cd_iconv (const char *src, size_t srclen, iconv_t cd, char **resultp, size_t *lengthp) { int retval = mem_cd_iconv (src, srclen, cd, resultp, lengthp); if (retval < 0 && errno == ENOMEM) xalloc_die (); return retval; } char * xstr_cd_iconv (const char *src, iconv_t cd) { char *result = str_cd_iconv (src, cd); if (result == NULL && errno == ENOMEM) xalloc_die (); return result; } #endif char * xstr_iconv (const char *src, const char *from_codeset, const char *to_codeset) { char *result = str_iconv (src, from_codeset, to_codeset); if (result == NULL && errno == ENOMEM) xalloc_die (); return result; } dc3dd-7.1.614/lib/xsize.h0000644000175000017500000000704311064230667014531 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* xsize.h -- Checked size_t computations. Copyright (C) 2003, 2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _XSIZE_H #define _XSIZE_H /* Get size_t. */ #include /* Get SIZE_MAX. */ #include #if HAVE_STDINT_H # include #endif /* The size of memory objects is often computed through expressions of type size_t. Example: void* p = malloc (header_size + n * element_size). These computations can lead to overflow. When this happens, malloc() returns a piece of memory that is way too small, and the program then crashes while attempting to fill the memory. To avoid this, the functions and macros in this file check for overflow. The convention is that SIZE_MAX represents overflow. malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc implementation that uses mmap --, it's recommended to use size_overflow_p() or size_in_bounds_p() before invoking malloc(). The example thus becomes: size_t size = xsum (header_size, xtimes (n, element_size)); void *p = (size_in_bounds_p (size) ? malloc (size) : NULL); */ /* Convert an arbitrary value >= 0 to type size_t. */ #define xcast_size_t(N) \ ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) /* Sum of two sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum (size_t size1, size_t size2) { size_t sum = size1 + size2; return (sum >= size1 ? sum : SIZE_MAX); } /* Sum of three sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum3 (size_t size1, size_t size2, size_t size3) { return xsum (xsum (size1, size2), size3); } /* Sum of four sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) { return xsum (xsum (xsum (size1, size2), size3), size4); } /* Maximum of two sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xmax (size_t size1, size_t size2) { /* No explicit check is needed here, because for any n: max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ return (size1 >= size2 ? size1 : size2); } /* Multiplication of a count with an element size, with overflow check. The count must be >= 0 and the element size must be > 0. This is a macro, not an inline function, so that it works correctly even when N is of a wider type and N > SIZE_MAX. */ #define xtimes(N, ELSIZE) \ ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) /* Check for overflow. */ #define size_overflow_p(SIZE) \ ((SIZE) == SIZE_MAX) /* Check against overflow. */ #define size_in_bounds_p(SIZE) \ ((SIZE) != SIZE_MAX) #endif /* _XSIZE_H */ dc3dd-7.1.614/lib/root-dev-ino.c0000644000175000017500000000237211022023316015665 0ustar amedicoamedico/* root-dev-ino.c -- get the device and inode numbers for `/'. Copyright (C) 2003, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "root-dev-ino.h" #include /* Call lstat to get the device and inode numbers for `/'. Upon failure, return NULL. Otherwise, set the members of *ROOT_D_I accordingly and return ROOT_D_I. */ struct dev_ino * get_root_dev_ino (struct dev_ino *root_d_i) { struct stat statbuf; if (lstat ("/", &statbuf)) return NULL; root_d_i->st_ino = statbuf.st_ino; root_d_i->st_dev = statbuf.st_dev; return root_d_i; } dc3dd-7.1.614/lib/gethostname.c0000644000175000017500000000273411022023316015663 0ustar amedicoamedico/* gethostname emulation for SysV and POSIX.1. Copyright (C) 1992, 2003, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* David MacKenzie */ #include #ifdef HAVE_UNAME # include #endif #include /* Put up to LEN chars of the host name into NAME. Null terminate it if the name is shorter than LEN. Return 0 if ok, -1 if error. */ #include int gethostname (char *name, size_t len) { #ifdef HAVE_UNAME struct utsname uts; if (uname (&uts) == -1) return -1; if (len > sizeof (uts.nodename)) { /* More space than we need is available. */ name[sizeof (uts.nodename)] = '\0'; len = sizeof (uts.nodename); } strncpy (name, uts.nodename, len); #else strcpy (name, ""); /* Hardcode your system name if you want. */ #endif return 0; } dc3dd-7.1.614/lib/unitypes.h0000644000175000017500000000205311064230667015243 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Elementary types for the GNU UniString library. Copyright (C) 2002, 2005-2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 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 . */ #ifndef _UNITYPES_H #define _UNITYPES_H /* Get uint8_t, uint16_t, uint32_t. */ #include /* Type representing a Unicode character. */ typedef uint32_t ucs4_t; #endif /* _UNITYPES_H */ dc3dd-7.1.614/lib/streq.h0000644000175000017500000000775411064230667014536 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Optimized string comparison. Copyright (C) 2001-2002, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 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 . */ /* Written by Bruno Haible . */ #ifndef _GL_STREQ_H #define _GL_STREQ_H #include /* STREQ allows to optimize string comparison with a small literal string. STREQ (s, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) is semantically equivalent to strcmp (s, "EUC-KR") == 0 just faster. */ /* Help GCC to generate good code for string comparisons with immediate strings. */ #if defined (__GNUC__) && defined (__OPTIMIZE__) static inline int streq9 (const char *s1, const char *s2) { return strcmp (s1 + 9, s2 + 9) == 0; } static inline int streq8 (const char *s1, const char *s2, char s28) { if (s1[8] == s28) { if (s28 == 0) return 1; else return streq9 (s1, s2); } else return 0; } static inline int streq7 (const char *s1, const char *s2, char s27, char s28) { if (s1[7] == s27) { if (s27 == 0) return 1; else return streq8 (s1, s2, s28); } else return 0; } static inline int streq6 (const char *s1, const char *s2, char s26, char s27, char s28) { if (s1[6] == s26) { if (s26 == 0) return 1; else return streq7 (s1, s2, s27, s28); } else return 0; } static inline int streq5 (const char *s1, const char *s2, char s25, char s26, char s27, char s28) { if (s1[5] == s25) { if (s25 == 0) return 1; else return streq6 (s1, s2, s26, s27, s28); } else return 0; } static inline int streq4 (const char *s1, const char *s2, char s24, char s25, char s26, char s27, char s28) { if (s1[4] == s24) { if (s24 == 0) return 1; else return streq5 (s1, s2, s25, s26, s27, s28); } else return 0; } static inline int streq3 (const char *s1, const char *s2, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[3] == s23) { if (s23 == 0) return 1; else return streq4 (s1, s2, s24, s25, s26, s27, s28); } else return 0; } static inline int streq2 (const char *s1, const char *s2, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[2] == s22) { if (s22 == 0) return 1; else return streq3 (s1, s2, s23, s24, s25, s26, s27, s28); } else return 0; } static inline int streq1 (const char *s1, const char *s2, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[1] == s21) { if (s21 == 0) return 1; else return streq2 (s1, s2, s22, s23, s24, s25, s26, s27, s28); } else return 0; } static inline int streq0 (const char *s1, const char *s2, char s20, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) { if (s1[0] == s20) { if (s20 == 0) return 1; else return streq1 (s1, s2, s21, s22, s23, s24, s25, s26, s27, s28); } else return 0; } #define STREQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ streq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28) #else #define STREQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ (strcmp (s1, s2) == 0) #endif #endif /* _GL_STREQ_H */ dc3dd-7.1.614/lib/readtokens0.h0000644000175000017500000000246511022023316015572 0ustar amedicoamedico/* readtokens0.h -- read NUL-separated tokens from an input stream. Copyright (C) 2004 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Jim Meyering. */ #ifndef READTOKENS0_H # define READTOKENS0_H 1 # include # include # include # include "obstack.h" struct Tokens { size_t n_tok; char **tok; size_t *tok_len; struct obstack o_data; /* Contains data pointed to by each tok[i]. */ struct obstack o_tok; /* array of pointers to tokens */ struct obstack o_tok_len; /* array of token lengths */ }; void readtokens0_init (struct Tokens *t); void readtokens0_free (struct Tokens *t); bool readtokens0 (FILE *in, struct Tokens *t); #endif dc3dd-7.1.614/lib/hash-triple.h0000644000175000017500000000104211022023316015561 0ustar amedicoamedico#ifndef HASH_TRIPLE_H #define HASH_TRIPLE_H #include #include #include /* Describe a just-created or just-renamed destination file. */ struct F_triple { char *name; ino_t st_ino; dev_t st_dev; }; extern size_t triple_hash (void const *x, size_t table_size); extern size_t triple_hash_no_name (void const *x, size_t table_size); extern bool triple_compare (void const *x, void const *y); extern bool triple_compare_ino_str (void const *x, void const *y); extern void triple_free (void *x); #endif dc3dd-7.1.614/lib/mpsort.h0000644000175000017500000000013711022023316014671 0ustar amedicoamedico#include void mpsort (void const **, size_t, int (*) (void const *, void const *)); dc3dd-7.1.614/lib/unistd-safer.h0000644000175000017500000000154611022023316015756 0ustar amedicoamedico/* Invoke unistd-like functions, but avoid some glitches. Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ int dup_safer (int); int fd_safer (int); int pipe_safer (int[2]); dc3dd-7.1.614/lib/buffer-lcm.c0000644000175000017500000000307211022023316015363 0ustar amedicoamedico/* buffer-lcm.c - compute a good buffer size for dealing with two files Copyright (C) 2002, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include "buffer-lcm.h" /* Return a buffer size suitable for doing I/O with files whose block sizes are A and B. However, never return a value greater than LCM_MAX. */ size_t buffer_lcm (size_t a, size_t b, size_t lcm_max) { size_t size; /* Use reasonable values if buffer sizes are zero. */ if (!a) size = b ? b : 8 * 1024; else { if (b) { /* Return lcm (A, B) if it is in range; otherwise, fall back on A. */ size_t lcm, m, n, q, r; /* N = gcd (A, B). */ for (m = a, n = b; (r = m % n) != 0; m = n, n = r) continue; /* LCM = lcm (A, B), if in range. */ q = a / n; lcm = q * b; if (lcm <= lcm_max && lcm / b == q) return lcm; } size = a; } return size <= lcm_max ? size : lcm_max; } dc3dd-7.1.614/lib/getndelim2.h0000644000175000017500000000347611022023316015410 0ustar amedicoamedico/* getndelim2 - Read a line from a stream, stopping at one of 2 delimiters, with bounded memory allocation. Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef GETNDELIM2_H #define GETNDELIM2_H 1 #include #include #define GETNLINE_NO_LIMIT ((size_t) -1) /* Read into a buffer *LINEPTR returned from malloc (or NULL), pointing to *LINESIZE bytes of space. Store the input bytes starting at *LINEPTR + OFFSET, and null-terminate them. Reallocate the buffer as necessary, but if NMAX is not GETNLINE_NO_LIMIT then do not allocate more than NMAX bytes; if the line is longer than that, read and discard the extra bytes. Stop reading after the first occurrence of DELIM1 or DELIM2, whichever comes first; a delimiter equal to EOF stands for no delimiter. Read the input bytes from STREAM. Return the number of bytes read and stored at *LINEPTR + OFFSET (not including the NUL terminator), or -1 on error or EOF. */ extern ssize_t getndelim2 (char **lineptr, size_t *linesize, size_t offset, size_t nmax, int delim1, int delim2, FILE *stream); #endif /* GETNDELIM2_H */ dc3dd-7.1.614/lib/realloc.c0000644000175000017500000000446211022023316014766 0ustar amedicoamedico/* realloc() function that is glibc compatible. Copyright (C) 1997, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering and Bruno Haible */ #include /* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */ #ifdef realloc # define NEED_REALLOC_GNU 1 #endif /* Infer the properties of the system's malloc function. Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ #if GNULIB_MALLOC_GNU && !defined malloc # define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 #endif /* Below we want to call the system's malloc and realloc. Undefine the symbols here so that including provides a declaration of malloc(), not of rpl_malloc(), and likewise for realloc. */ #undef malloc #undef realloc /* Specification. */ #include #include /* Below we want to call the system's malloc and realloc. Undefine the symbols, if they were defined by gnulib's replacement. */ #undef malloc #undef realloc /* Change the size of an allocated block of memory P to N bytes, with error checking. If N is zero, change it to 1. If P is NULL, use malloc. */ void * rpl_realloc (void *p, size_t n) { void *result; #if NEED_REALLOC_GNU if (n == 0) { n = 1; /* In theory realloc might fail, so don't rely on it to free. */ free (p); p = NULL; } #endif if (p == NULL) { #if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPATIBLE if (n == 0) n = 1; #endif result = malloc (n); } else result = realloc (p, n); #if !HAVE_REALLOC_POSIX if (result == NULL) errno = ENOMEM; #endif return result; } dc3dd-7.1.614/lib/mkstemp-safer.c0000644000175000017500000000203011022023316016110 0ustar amedicoamedico/* Invoke mkstemp, but avoid some glitches. Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "stdlib-safer.h" #include #include "unistd-safer.h" /* Like mkstemp, but do not return STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. */ int mkstemp_safer (char *templ) { return fd_safer (mkstemp (templ)); } dc3dd-7.1.614/lib/xstrtol.c0000644000175000017500000001217211022023316015061 0ustar amedicoamedico/* A more useful interface to strtol. Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #ifndef __strtol # define __strtol strtol # define __strtol_t long int # define __xstrtol xstrtol # define STRTOL_T_MINIMUM LONG_MIN # define STRTOL_T_MAXIMUM LONG_MAX #endif #include #include "xstrtol.h" /* Some pre-ANSI implementations (e.g. SunOS 4) need stderr defined if assertion checking is enabled. */ #include #include #include #include #include #include #include #include "intprops.h" static strtol_error bkm_scale (__strtol_t *x, int scale_factor) { if (TYPE_SIGNED (__strtol_t) && *x < STRTOL_T_MINIMUM / scale_factor) { *x = STRTOL_T_MINIMUM; return LONGINT_OVERFLOW; } if (STRTOL_T_MAXIMUM / scale_factor < *x) { *x = STRTOL_T_MAXIMUM; return LONGINT_OVERFLOW; } *x *= scale_factor; return LONGINT_OK; } static strtol_error bkm_scale_by_power (__strtol_t *x, int base, int power) { strtol_error err = LONGINT_OK; while (power--) err |= bkm_scale (x, base); return err; } /* FIXME: comment. */ strtol_error __xstrtol (const char *s, char **ptr, int strtol_base, __strtol_t *val, const char *valid_suffixes) { char *t_ptr; char **p; __strtol_t tmp; strtol_error err = LONGINT_OK; assert (0 <= strtol_base && strtol_base <= 36); p = (ptr ? ptr : &t_ptr); if (! TYPE_SIGNED (__strtol_t)) { const char *q = s; unsigned char ch = *q; while (isspace (ch)) ch = *++q; if (ch == '-') return LONGINT_INVALID; } errno = 0; tmp = __strtol (s, p, strtol_base); if (*p == s) { /* If there is no number but there is a valid suffix, assume the number is 1. The string is invalid otherwise. */ if (valid_suffixes && **p && strchr (valid_suffixes, **p)) tmp = 1; else return LONGINT_INVALID; } else if (errno != 0) { if (errno != ERANGE) return LONGINT_INVALID; err = LONGINT_OVERFLOW; } /* Let valid_suffixes == NULL mean `allow any suffix'. */ /* FIXME: update all callers except the ones that allow suffixes after the number, changing last parameter NULL to `""'. */ if (!valid_suffixes) { *val = tmp; return err; } if (**p != '\0') { int base = 1024; int suffixes = 1; strtol_error overflow; if (!strchr (valid_suffixes, **p)) { *val = tmp; return err | LONGINT_INVALID_SUFFIX_CHAR; } if (strchr (valid_suffixes, '0')) { /* The ``valid suffix'' '0' is a special flag meaning that an optional second suffix is allowed, which can change the base. A suffix "B" (e.g. "100MB") stands for a power of 1000, whereas a suffix "iB" (e.g. "100MiB") stands for a power of 1024. If no suffix (e.g. "100M"), assume power-of-1024. */ switch (p[0][1]) { case 'i': if (p[0][2] == 'B') suffixes += 2; break; case 'B': case 'D': /* 'D' is obsolescent */ base = 1000; suffixes++; break; } } switch (**p) { case 'b': overflow = bkm_scale (&tmp, 512); break; case 'B': overflow = bkm_scale (&tmp, 1024); break; case 'c': overflow = 0; break; case 'E': /* exa or exbi */ overflow = bkm_scale_by_power (&tmp, base, 6); break; case 'G': /* giga or gibi */ case 'g': /* 'g' is undocumented; for compatibility only */ overflow = bkm_scale_by_power (&tmp, base, 3); break; case 'k': /* kilo */ case 'K': /* kibi */ overflow = bkm_scale_by_power (&tmp, base, 1); break; case 'M': /* mega or mebi */ case 'm': /* 'm' is undocumented; for compatibility only */ overflow = bkm_scale_by_power (&tmp, base, 2); break; case 'P': /* peta or pebi */ overflow = bkm_scale_by_power (&tmp, base, 5); break; case 'T': /* tera or tebi */ case 't': /* 't' is undocumented; for compatibility only */ overflow = bkm_scale_by_power (&tmp, base, 4); break; case 'w': overflow = bkm_scale (&tmp, 2); break; case 'Y': /* yotta or 2**80 */ overflow = bkm_scale_by_power (&tmp, base, 8); break; case 'Z': /* zetta or 2**70 */ overflow = bkm_scale_by_power (&tmp, base, 7); break; default: *val = tmp; return err | LONGINT_INVALID_SUFFIX_CHAR; } err |= overflow; *p += suffixes; if (**p) err |= LONGINT_INVALID_SUFFIX_CHAR; } *val = tmp; return err; } dc3dd-7.1.614/lib/unicodeio.c0000644000175000017500000001631311022023316015321 0ustar amedicoamedico/* Unicode character output to streams with locale dependent encoding. Copyright (C) 2000-2003, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible . */ /* Note: This file requires the locale_charset() function. See in libiconv-1.8/libcharset/INTEGRATE for how to obtain it. */ #include /* Specification. */ #include "unicodeio.h" #include #include #include #if HAVE_ICONV # include #endif #include #include "gettext.h" #define _(msgid) gettext (msgid) #define N_(msgid) msgid #include "localcharset.h" /* When we pass a Unicode character to iconv(), we must pass it in a suitable encoding. The standardized Unicode encodings are UTF-8, UCS-2, UCS-4, UTF-16, UTF-16BE, UTF-16LE, UTF-7. UCS-2 supports only characters up to \U0000FFFF. UTF-16 and variants support only characters up to \U0010FFFF. UTF-7 is way too complex and not supported by glibc-2.1. UCS-4 specification leaves doubts about endianness and byte order mark. glibc currently interprets it as big endian without byte order mark, but this is not backed by an RFC. So we use UTF-8. It supports characters up to \U7FFFFFFF and is unambiguously defined. */ /* Stores the UTF-8 representation of the Unicode character wc in r[0..5]. Returns the number of bytes stored, or -1 if wc is out of range. */ static int utf8_wctomb (unsigned char *r, unsigned int wc) { int count; if (wc < 0x80) count = 1; else if (wc < 0x800) count = 2; else if (wc < 0x10000) count = 3; else if (wc < 0x200000) count = 4; else if (wc < 0x4000000) count = 5; else if (wc <= 0x7fffffff) count = 6; else return -1; switch (count) { /* Note: code falls through cases! */ case 6: r[5] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x4000000; case 5: r[4] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x200000; case 4: r[3] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x10000; case 3: r[2] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0x800; case 2: r[1] = 0x80 | (wc & 0x3f); wc = wc >> 6; wc |= 0xc0; case 1: r[0] = wc; } return count; } /* Luckily, the encoding's name is platform independent. */ #define UTF8_NAME "UTF-8" /* Converts the Unicode character CODE to its multibyte representation in the current locale and calls the SUCCESS callback on the resulting byte sequence. If an error occurs, invokes the FAILURE callback instead, passing it CODE and an English error string. Returns whatever the callback returned. Assumes that the locale doesn't change between two calls. */ long unicode_to_mb (unsigned int code, long (*success) (const char *buf, size_t buflen, void *callback_arg), long (*failure) (unsigned int code, const char *msg, void *callback_arg), void *callback_arg) { static int initialized; static int is_utf8; #if HAVE_ICONV static iconv_t utf8_to_local; #endif char inbuf[6]; int count; if (!initialized) { const char *charset = locale_charset (); is_utf8 = !strcmp (charset, UTF8_NAME); #if HAVE_ICONV if (!is_utf8) { utf8_to_local = iconv_open (charset, UTF8_NAME); if (utf8_to_local == (iconv_t)(-1)) /* For an unknown encoding, assume ASCII. */ utf8_to_local = iconv_open ("ASCII", UTF8_NAME); } #endif initialized = 1; } /* Test whether the utf8_to_local converter is available at all. */ if (!is_utf8) { #if HAVE_ICONV if (utf8_to_local == (iconv_t)(-1)) return failure (code, N_("iconv function not usable"), callback_arg); #else return failure (code, N_("iconv function not available"), callback_arg); #endif } /* Convert the character to UTF-8. */ count = utf8_wctomb ((unsigned char *) inbuf, code); if (count < 0) return failure (code, N_("character out of range"), callback_arg); #if HAVE_ICONV if (!is_utf8) { char outbuf[25]; const char *inptr; size_t inbytesleft; char *outptr; size_t outbytesleft; size_t res; inptr = inbuf; inbytesleft = count; outptr = outbuf; outbytesleft = sizeof (outbuf); /* Convert the character from UTF-8 to the locale's charset. */ res = iconv (utf8_to_local, (ICONV_CONST char **)&inptr, &inbytesleft, &outptr, &outbytesleft); if (inbytesleft > 0 || res == (size_t)(-1) /* Irix iconv() inserts a NUL byte if it cannot convert. */ # if !defined _LIBICONV_VERSION && (defined sgi || defined __sgi) || (res > 0 && code != 0 && outptr - outbuf == 1 && *outbuf == '\0') # endif ) return failure (code, NULL, callback_arg); /* Avoid glibc-2.1 bug and Solaris 7 bug. */ # if defined _LIBICONV_VERSION \ || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun) /* Get back to the initial shift state. */ res = iconv (utf8_to_local, NULL, NULL, &outptr, &outbytesleft); if (res == (size_t)(-1)) return failure (code, NULL, callback_arg); # endif return success (outbuf, outptr - outbuf, callback_arg); } #endif /* At this point, is_utf8 is true, so no conversion is needed. */ return success (inbuf, count, callback_arg); } /* Simple success callback that outputs the converted string. The STREAM is passed as callback_arg. */ long fwrite_success_callback (const char *buf, size_t buflen, void *callback_arg) { FILE *stream = (FILE *) callback_arg; fwrite (buf, 1, buflen, stream); return 0; } /* Simple failure callback that displays an error and exits. */ static long exit_failure_callback (unsigned int code, const char *msg, void *callback_arg) { if (msg == NULL) error (1, 0, _("cannot convert U+%04X to local character set"), code); else error (1, 0, _("cannot convert U+%04X to local character set: %s"), code, gettext (msg)); return -1; } /* Simple failure callback that displays a fallback representation in plain ASCII, using the same notation as ISO C99 strings. */ static long fallback_failure_callback (unsigned int code, const char *msg, void *callback_arg) { FILE *stream = (FILE *) callback_arg; if (code < 0x10000) fprintf (stream, "\\u%04X", code); else fprintf (stream, "\\U%08X", code); return -1; } /* Outputs the Unicode character CODE to the output stream STREAM. Upon failure, exit if exit_on_error is true, otherwise output a fallback notation. */ void print_unicode_char (FILE *stream, unsigned int code, int exit_on_error) { unicode_to_mb (code, fwrite_success_callback, exit_on_error ? exit_failure_callback : fallback_failure_callback, stream); } dc3dd-7.1.614/lib/strtod.c0000644000175000017500000001533411064230667014703 0ustar amedicoamedico/* Copyright (C) 1991, 1992, 1997, 1999, 2003, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include "c-ctype.h" /* Convert NPTR to a double. If ENDPTR is not NULL, a pointer to the character after the last one used in the number is put in *ENDPTR. */ double strtod (const char *nptr, char **endptr) { const unsigned char *s; bool negative = false; /* The number so far. */ double num; bool got_dot; /* Found a decimal point. */ bool got_digit; /* Seen any digits. */ bool hex = false; /* Look for hex float exponent. */ /* The exponent of the number. */ long int exponent; if (nptr == NULL) { errno = EINVAL; goto noconv; } /* Use unsigned char for the ctype routines. */ s = (unsigned char *) nptr; /* Eat whitespace. */ while (isspace (*s)) ++s; /* Get the sign. */ negative = *s == '-'; if (*s == '-' || *s == '+') ++s; num = 0.0; got_dot = false; got_digit = false; exponent = 0; /* Check for hex float. */ if (*s == '0' && c_tolower (s[1]) == 'x' && (c_isxdigit (s[2]) || ('.' == s[2] && c_isxdigit (s[3])))) { hex = true; s += 2; for (;; ++s) { if (c_isxdigit (*s)) { got_digit = true; /* Make sure that multiplication by 16 will not overflow. */ if (num > DBL_MAX / 16) /* The value of the digit doesn't matter, since we have already gotten as many digits as can be represented in a `double'. This doesn't necessarily mean the result will overflow. The exponent may reduce it to within range. We just need to record that there was another digit so that we can multiply by 16 later. */ ++exponent; else num = ((num * 16.0) + (c_tolower (*s) - (c_isdigit (*s) ? '0' : 'a' - 10))); /* Keep track of the number of digits after the decimal point. If we just divided by 16 here, we would lose precision. */ if (got_dot) --exponent; } else if (!got_dot && *s == '.') /* Record that we have found the decimal point. */ got_dot = true; else /* Any other character terminates the number. */ break; } } /* Not a hex float. */ else { for (;; ++s) { if (c_isdigit (*s)) { got_digit = true; /* Make sure that multiplication by 10 will not overflow. */ if (num > DBL_MAX * 0.1) /* The value of the digit doesn't matter, since we have already gotten as many digits as can be represented in a `double'. This doesn't necessarily mean the result will overflow. The exponent may reduce it to within range. We just need to record that there was another digit so that we can multiply by 10 later. */ ++exponent; else num = (num * 10.0) + (*s - '0'); /* Keep track of the number of digits after the decimal point. If we just divided by 10 here, we would lose precision. */ if (got_dot) --exponent; } else if (!got_dot && *s == '.') /* Record that we have found the decimal point. */ got_dot = true; else /* Any other character terminates the number. */ break; } } if (!got_digit) { /* Check for infinities and NaNs. */ if (c_tolower (*s) == 'i' && c_tolower (s[1]) == 'n' && c_tolower (s[2]) == 'f') { s += 3; num = HUGE_VAL; if (c_tolower (*s) == 'i' && c_tolower (s[1]) == 'n' && c_tolower (s[2]) == 'i' && c_tolower (s[3]) == 't' && c_tolower (s[4]) == 'y') s += 5; goto valid; } #ifdef NAN else if (c_tolower (*s) == 'n' && c_tolower (s[1]) == 'a' && c_tolower (s[2]) == 'n') { s += 3; num = NAN; /* Since nan() is implementation-defined, we define it by ignoring . A nicer implementation would populate the bits of the NaN according to interpreting n-char-sequence as a hexadecimal number, but the result is still a NaN. */ if (*s == '(') { const unsigned char *p = s + 1; while (c_isalnum (*p)) p++; if (*p == ')') s = p + 1; } goto valid; } #endif goto noconv; } if (c_tolower (*s) == (hex ? 'p' : 'e') && !isspace (s[1])) { /* Get the exponent specified after the `e' or `E'. */ int save = errno; char *end; long int value; errno = 0; ++s; value = strtol ((char *) s, &end, 10); if (errno == ERANGE && num) { /* The exponent overflowed a `long int'. It is probably a safe assumption that an exponent that cannot be represented by a `long int' exceeds the limits of a `double'. */ if (endptr != NULL) *endptr = end; if (value < 0) goto underflow; else goto overflow; } else if (end == (char *) s) /* There was no exponent. Reset END to point to the 'e' or 'E', so *ENDPTR will be set there. */ end = (char *) s - 1; errno = save; s = (unsigned char *) end; exponent += value; } if (num == 0.0) goto valid; if (hex) { /* ldexp takes care of range errors. */ num = ldexp (num, exponent); goto valid; } /* Multiply NUM by 10 to the EXPONENT power, checking for overflow and underflow. */ if (exponent < 0) { if (num < DBL_MIN * pow (10.0, (double) -exponent)) goto underflow; } else if (exponent > 0) { if (num > DBL_MAX * pow (10.0, (double) -exponent)) goto overflow; } num *= pow (10.0, (double) exponent); valid: if (endptr != NULL) *endptr = (char *) s; return negative ? -num : num; overflow: /* Return an overflow error. */ if (endptr != NULL) *endptr = (char *) s; errno = ERANGE; return negative ? -HUGE_VAL : HUGE_VAL; underflow: /* Return an underflow error. */ if (endptr != NULL) *endptr = (char *) s; errno = ERANGE; return negative ? -0.0 : 0.0; noconv: /* There was no number. */ if (endptr != NULL) *endptr = (char *) nptr; errno = EINVAL; return 0.0; } dc3dd-7.1.614/lib/uniwidth/0000755000175000017500000000000011613550424015041 5ustar amedicoamedicodc3dd-7.1.614/lib/uniwidth/cjk.h0000644000175000017500000000324311064230667015767 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Test for CJK encoding. Copyright (C) 2001-2002, 2005-2007 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 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 . */ #include "streq.h" static int is_cjk_encoding (const char *encoding) { if (0 /* Legacy Japanese encodings */ || STREQ (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0) /* Legacy Chinese encodings */ || STREQ (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) || STREQ (encoding, "GBK", 'G', 'B', 'K', 0, 0, 0, 0, 0, 0) || STREQ (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0) || STREQ (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0) /* Legacy Korean encodings */ || STREQ (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) || STREQ (encoding, "CP949", 'C', 'P', '9', '4', '9', 0, 0, 0, 0) || STREQ (encoding, "JOHAB", 'J', 'O', 'H', 'A', 'B', 0, 0, 0, 0)) return 1; return 0; } dc3dd-7.1.614/lib/uniwidth/width.c0000644000175000017500000004255111064230667016337 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Determine display width of Unicode character. Copyright (C) 2001-2002, 2006-2007 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 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 . */ #include /* Specification. */ #include "uniwidth.h" #include "cjk.h" /* * Non-spacing attribute table. * Consists of: * - Non-spacing characters; generated from PropList.txt or * "grep '^[^;]*;[^;]*;[^;]*;[^;]*;NSM;' UnicodeData.txt" * - Format control characters; generated from * "grep '^[^;]*;[^;]*;Cf;' UnicodeData.txt" * - Zero width characters; generated from * "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt" */ static const unsigned char nonspacing_table_data[22*64] = { /* 0x0000-0x01ff */ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */ 0xff, 0xff, 0xff, 0xff, 0x00, 0x08, 0x00, 0x00, /* 0x0080-0x00bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00c0-0x00ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0100-0x013f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0140-0x017f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0180-0x01bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x01c0-0x01ff */ /* 0x0200-0x03ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0200-0x023f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0240-0x027f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0280-0x02bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x02c0-0x02ff */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x0300-0x033f */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, /* 0x0340-0x037f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0380-0x03bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x03c0-0x03ff */ /* 0x0400-0x05ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0400-0x043f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0440-0x047f */ 0x78, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0480-0x04bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x04c0-0x04ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0500-0x053f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0540-0x057f */ 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */ 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */ /* 0x0600-0x07ff */ 0x0f, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */ 0x00, 0xf8, 0xff, 0x7f, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */ 0x00, 0x00, 0xc0, 0xff, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */ 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x0700-0x073f */ 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0740-0x077f */ 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, /* 0x0780-0x07bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x07c0-0x07ff */ /* 0x0800-0x09ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0800-0x083f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08c0-0x08ff */ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0900-0x093f */ 0xfe, 0x21, 0x1e, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */ 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x09c0-0x09ff */ /* 0x0a00-0x0bff */ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a00-0x0a3f */ 0x86, 0x39, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0x0a40-0x0a7f */ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a80-0x0abf */ 0xbe, 0x21, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0ac0-0x0aff */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, /* 0x0b00-0x0b3f */ 0x0e, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b40-0x0b7f */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b80-0x0bbf */ 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0bc0-0x0bff */ /* 0x0c00-0x0dff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */ 0xc1, 0x3d, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0c40-0x0c7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */ 0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0cc0-0x0cff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */ 0x0e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d40-0x0d7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d80-0x0dbf */ 0x00, 0x04, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0dc0-0x0dff */ /* 0x0e00-0x0fff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x07, /* 0x0e00-0x0e3f */ 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0e40-0x0e7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x1b, /* 0x0e80-0x0ebf */ 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0ec0-0x0eff */ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xa0, 0x02, /* 0x0f00-0x0f3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, /* 0x0f40-0x0f7f */ 0xdf, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x1f, /* 0x0f80-0x0fbf */ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0fc0-0x0fff */ /* 0x1000-0x11ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc5, 0x02, /* 0x1000-0x103f */ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, /* 0x1040-0x107f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1080-0x10bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10c0-0x10ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1100-0x113f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1140-0x117f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1180-0x11bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c0-0x11ff */ /* 0x1200-0x13ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1200-0x123f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1240-0x127f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1280-0x12bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x12c0-0x12ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1300-0x133f */ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, /* 0x1340-0x137f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1380-0x13bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13c0-0x13ff */ /* 0x1600-0x17ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1600-0x163f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1640-0x167f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1680-0x16bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16c0-0x16ff */ 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1c, 0x00, /* 0x1700-0x173f */ 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, /* 0x1740-0x177f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, /* 0x1780-0x17bf */ 0x40, 0xfe, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x17c0-0x17ff */ /* 0x1800-0x19ff */ 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */ 0x00, 0x00, 0x00, 0x00, 0x87, 0x0f, 0x04, 0x0e, /* 0x1900-0x193f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1940-0x197f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1980-0x19bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */ /* 0x1a00-0x1bff */ 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1a40-0x1a7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1a80-0x1abf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */ 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */ 0x04, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x1b40-0x1b7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1b80-0x1bbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc0-0x1bff */ /* 0x1c00-0x1dff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c00-0x1c3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1cc0-0x1cff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */ 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x1dc0-0x1dff */ /* 0x2000-0x21ff */ 0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, /* 0x2040-0x207f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2080-0x20bf */ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, /* 0x20c0-0x20ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2100-0x213f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2140-0x217f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2180-0x21bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x21c0-0x21ff */ /* 0x3000-0x31ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, /* 0x3000-0x303f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3040-0x307f */ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0x3080-0x30bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30c0-0x30ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3100-0x313f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3140-0x317f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3180-0x31bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x31c0-0x31ff */ /* 0xa800-0xa9ff */ 0x44, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0xa800-0xa83f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa840-0xa87f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa880-0xa8bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8c0-0xa8ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa900-0xa93f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa980-0xa9bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */ /* 0xfa00-0xfbff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa00-0xfa3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa40-0xfa7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa80-0xfabf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfac0-0xfaff */ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, /* 0xfb00-0xfb3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb40-0xfb7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb80-0xfbbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfbc0-0xfbff */ /* 0xfe00-0xffff */ 0xff, 0xff, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, /* 0xfe00-0xfe3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe40-0xfe7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe80-0xfebf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0xfec0-0xfeff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff00-0xff3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff40-0xff7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff80-0xffbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, /* 0xffc0-0xffff */ /* 0x10a00-0x10bff */ 0x6e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, /* 0x10a00-0x10a3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a40-0x10a7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a80-0x10abf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b00-0x10b3f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */ /* 0x1d000-0x1d1ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d080-0x1d0bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d0c0-0x1d0ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d100-0x1d13f */ 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xf8, /* 0x1d140-0x1d17f */ 0xe7, 0x0f, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x1d180-0x1d1bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d1c0-0x1d1ff */ /* 0x1d200-0x1d3ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d200-0x1d23f */ 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d240-0x1d27f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d280-0x1d2bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d2c0-0x1d2ff */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d300-0x1d33f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d340-0x1d37f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d380-0x1d3bf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1d3c0-0x1d3ff */ }; static const signed char nonspacing_table_ind[240] = { 0, 1, 2, 3, 4, 5, 6, 7, /* 0x0000-0x0fff */ 8, 9, -1, 10, 11, 12, 13, -1, /* 0x1000-0x1fff */ 14, -1, -1, -1, -1, -1, -1, -1, /* 0x2000-0x2fff */ 15, -1, -1, -1, -1, -1, -1, -1, /* 0x3000-0x3fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x4000-0x4fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x5000-0x5fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x6000-0x6fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x7000-0x7fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x8000-0x8fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x9000-0x9fff */ -1, -1, -1, -1, 16, -1, -1, -1, /* 0xa000-0xafff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xb000-0xbfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc000-0xcfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd000-0xdfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */ -1, -1, -1, -1, -1, 17, -1, 18, /* 0xf000-0xffff */ -1, -1, -1, -1, -1, 19, -1, -1, /* 0x10000-0x10fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x11000-0x11fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x16000-0x16fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1b000-0x1bfff */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */ 20, 21, -1, -1, -1, -1, -1, -1 /* 0x1d000-0x1dfff */ }; /* Determine number of column positions required for UC. */ int uc_width (ucs4_t uc, const char *encoding) { /* Test for non-spacing or control character. */ if ((uc >> 9) < 240) { int ind = nonspacing_table_ind[uc >> 9]; if (ind >= 0) if ((nonspacing_table_data[64*ind + ((uc >> 3) & 63)] >> (uc & 7)) & 1) { if (uc > 0 && uc < 0xa0) return -1; else return 0; } } else if ((uc >> 9) == (0xe0000 >> 9)) { if (uc >= 0xe0100) { if (uc <= 0xe01ef) return 0; } else { if (uc >= 0xe0020 ? uc <= 0xe007f : uc == 0xe0001) return 0; } } /* Test for double-width character. * Generated from "grep '^....;[WF]' EastAsianWidth.txt" * and "grep '^....;[^WF]' EastAsianWidth.txt" */ if (uc >= 0x1100 && ((uc < 0x1160) /* Hangul Jamo */ || (uc >= 0x2329 && uc < 0x232b) /* Angle Brackets */ || (uc >= 0x2e80 && uc < 0xa4d0 /* CJK ... Yi */ && !(uc == 0x303f) && !(uc >= 0x4dc0 && uc < 0x4e00)) || (uc >= 0xac00 && uc < 0xd7a4) /* Hangul Syllables */ || (uc >= 0xf900 && uc < 0xfb00) /* CJK Compatibility Ideographs */ || (uc >= 0xfe10 && uc < 0xfe20) /* Presentation Forms for Vertical */ || (uc >= 0xfe30 && uc < 0xfe70) /* CJK Compatibility Forms */ || (uc >= 0xff00 && uc < 0xff61) /* Fullwidth Forms */ || (uc >= 0xffe0 && uc < 0xffe7) /* Fullwidth Signs */ || (uc >= 0x20000 && uc <= 0x2a6d6) /* CJK */ || (uc >= 0x2f800 && uc <= 0x2fa1d) /* CJK Compatibility Ideographs */ ) ) return 2; /* In ancient CJK encodings, Cyrillic and most other characters are double-width as well. */ if (uc >= 0x00A1 && uc < 0xFF61 && uc != 0x20A9 && is_cjk_encoding (encoding)) return 2; return 1; } dc3dd-7.1.614/lib/stdint.in.h0000644000175000017500000003543411064230667015306 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Copyright (C) 2001-2002, 2004-2007 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. This file is part of gnulib. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* * ISO C 99 for platforms that lack it. * */ #ifndef _GL_STDINT_H /* When including a system file that in turn includes , use the system , not our substitute. This avoids problems with (for example) VMS, whose includes . */ #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* Get those types that are already defined in other system include files, so that we can "#define int8_t signed char" below without worrying about a later system include file containing a "typedef signed char int8_t;" that will get messed up by our macro. Our macros should all be consistent with the system versions, except for the "fast" types and macros, which we recommend against using in public interfaces due to compiler differences. */ #if @HAVE_STDINT_H@ # if defined __sgi && ! defined __c99 /* Bypass IRIX's if in C89 mode, since it merely annoys users with "This header file is to be used only for c99 mode compilations" diagnostics. */ # define __STDINT_H__ # endif /* Other systems may have an incomplete or buggy . Include it before , since any "#include " in would reinclude us, skipping our contents because _GL_STDINT_H is defined. The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_STDINT_H@ #endif #if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H #define _GL_STDINT_H /* defines some of the stdint.h types as well, on glibc, IRIX 6.5, and OpenBSD 3.8 (via ). AIX 5.2 isn't needed and causes troubles. MacOS X 10.4.6 includes (which is us), but relies on the system definitions, so include after @NEXT_STDINT_H@. */ #if @HAVE_SYS_TYPES_H@ && ! defined _AIX # include #endif /* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ #include #if @HAVE_INTTYPES_H@ /* In OpenBSD 3.8, includes , which defines int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. also defines intptr_t and uintptr_t. */ # include #elif @HAVE_SYS_INTTYPES_H@ /* Solaris 7 has the types except the *_fast*_t types, and the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ # include #endif #if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__ /* Linux libc4 >= 4.6.7 and libc5 have a that defines int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is included by . */ # include #endif #if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS /* Get WCHAR_MIN, WCHAR_MAX. */ # if ! (defined WCHAR_MIN && defined WCHAR_MAX) # include # endif #endif #undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* Minimum and maximum values for a integer type under the usual assumption. Return an unspecified value if BITS == 0, adding a check to pacify picky compilers. */ #define _STDINT_MIN(signed, bits, zero) \ ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero)) #define _STDINT_MAX(signed, bits, zero) \ ((signed) \ ? ~ _STDINT_MIN (signed, bits, zero) \ : /* The expression for the unsigned case. The subtraction of (signed) \ is a nop in the unsigned case and avoids "signed integer overflow" \ warnings in the signed case. */ \ ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1) /* 7.18.1.1. Exact-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. */ #undef int8_t #undef uint8_t #define int8_t signed char #define uint8_t unsigned char #undef int16_t #undef uint16_t #define int16_t short int #define uint16_t unsigned short int #undef int32_t #undef uint32_t #define int32_t int #define uint32_t unsigned int /* Do not undefine int64_t if gnulib is not being used with 64-bit types, since otherwise it breaks platforms like Tandem/NSK. */ #if LONG_MAX >> 31 >> 31 == 1 # undef int64_t # define int64_t long int # define GL_INT64_T #elif defined _MSC_VER # undef int64_t # define int64_t __int64 # define GL_INT64_T #elif @HAVE_LONG_LONG_INT@ # undef int64_t # define int64_t long long int # define GL_INT64_T #endif #if ULONG_MAX >> 31 >> 31 >> 1 == 1 # undef uint64_t # define uint64_t unsigned long int # define GL_UINT64_T #elif defined _MSC_VER # undef uint64_t # define uint64_t unsigned __int64 # define GL_UINT64_T #elif @HAVE_UNSIGNED_LONG_LONG_INT@ # undef uint64_t # define uint64_t unsigned long long int # define GL_UINT64_T #endif /* Avoid collision with Solaris 2.5.1 etc. */ #define _UINT8_T #define _UINT32_T #define _UINT64_T /* 7.18.1.2. Minimum-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types are the same as the corresponding N_t types. */ #undef int_least8_t #undef uint_least8_t #undef int_least16_t #undef uint_least16_t #undef int_least32_t #undef uint_least32_t #undef int_least64_t #undef uint_least64_t #define int_least8_t int8_t #define uint_least8_t uint8_t #define int_least16_t int16_t #define uint_least16_t uint16_t #define int_least32_t int32_t #define uint_least32_t uint32_t #ifdef GL_INT64_T # define int_least64_t int64_t #endif #ifdef GL_UINT64_T # define uint_least64_t uint64_t #endif /* 7.18.1.3. Fastest minimum-width integer types */ /* Note: Other substitutes may define these types differently. It is not recommended to use these types in public header files. */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types are taken from the same list of types. Assume that 'long int' is fast enough for all narrower integers. */ #undef int_fast8_t #undef uint_fast8_t #undef int_fast16_t #undef uint_fast16_t #undef int_fast32_t #undef uint_fast32_t #undef int_fast64_t #undef uint_fast64_t #define int_fast8_t long int #define uint_fast8_t unsigned int_fast8_t #define int_fast16_t long int #define uint_fast16_t unsigned int_fast16_t #define int_fast32_t long int #define uint_fast32_t unsigned int_fast32_t #ifdef GL_INT64_T # define int_fast64_t int64_t #endif #ifdef GL_UINT64_T # define uint_fast64_t uint64_t #endif /* 7.18.1.4. Integer types capable of holding object pointers */ #undef intptr_t #undef uintptr_t #define intptr_t long int #define uintptr_t unsigned long int /* 7.18.1.5. Greatest-width integer types */ /* Note: These types are compiler dependent. It may be unwise to use them in public header files. */ #undef intmax_t #if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 # define intmax_t long long int #elif defined GL_INT64_T # define intmax_t int64_t #else # define intmax_t long int #endif #undef uintmax_t #if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 # define uintmax_t unsigned long long int #elif defined GL_UINT64_T # define uintmax_t uint64_t #else # define uintmax_t unsigned long int #endif /* Verify that intmax_t and uintmax_t have the same size. Too much code breaks if this is not the case. If this check fails, the reason is likely to be found in the autoconf macros. */ typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1]; /* 7.18.2. Limits of specified-width integer types */ #if ! defined __cplusplus || defined __STDC_LIMIT_MACROS /* 7.18.2.1. Limits of exact-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. */ #undef INT8_MIN #undef INT8_MAX #undef UINT8_MAX #define INT8_MIN (~ INT8_MAX) #define INT8_MAX 127 #define UINT8_MAX 255 #undef INT16_MIN #undef INT16_MAX #undef UINT16_MAX #define INT16_MIN (~ INT16_MAX) #define INT16_MAX 32767 #define UINT16_MAX 65535 #undef INT32_MIN #undef INT32_MAX #undef UINT32_MAX #define INT32_MIN (~ INT32_MAX) #define INT32_MAX 2147483647 #define UINT32_MAX 4294967295U #undef INT64_MIN #undef INT64_MAX #ifdef GL_INT64_T /* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0 evaluates the latter incorrectly in preprocessor expressions. */ # define INT64_MIN (- INTMAX_C (1) << 63) # define INT64_MAX INTMAX_C (9223372036854775807) #endif #undef UINT64_MAX #ifdef GL_UINT64_T # define UINT64_MAX UINTMAX_C (18446744073709551615) #endif /* 7.18.2.2. Limits of minimum-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types are the same as the corresponding N_t types. */ #undef INT_LEAST8_MIN #undef INT_LEAST8_MAX #undef UINT_LEAST8_MAX #define INT_LEAST8_MIN INT8_MIN #define INT_LEAST8_MAX INT8_MAX #define UINT_LEAST8_MAX UINT8_MAX #undef INT_LEAST16_MIN #undef INT_LEAST16_MAX #undef UINT_LEAST16_MAX #define INT_LEAST16_MIN INT16_MIN #define INT_LEAST16_MAX INT16_MAX #define UINT_LEAST16_MAX UINT16_MAX #undef INT_LEAST32_MIN #undef INT_LEAST32_MAX #undef UINT_LEAST32_MAX #define INT_LEAST32_MIN INT32_MIN #define INT_LEAST32_MAX INT32_MAX #define UINT_LEAST32_MAX UINT32_MAX #undef INT_LEAST64_MIN #undef INT_LEAST64_MAX #ifdef GL_INT64_T # define INT_LEAST64_MIN INT64_MIN # define INT_LEAST64_MAX INT64_MAX #endif #undef UINT_LEAST64_MAX #ifdef GL_UINT64_T # define UINT_LEAST64_MAX UINT64_MAX #endif /* 7.18.2.3. Limits of fastest minimum-width integer types */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types are taken from the same list of types. */ #undef INT_FAST8_MIN #undef INT_FAST8_MAX #undef UINT_FAST8_MAX #define INT_FAST8_MIN LONG_MIN #define INT_FAST8_MAX LONG_MAX #define UINT_FAST8_MAX ULONG_MAX #undef INT_FAST16_MIN #undef INT_FAST16_MAX #undef UINT_FAST16_MAX #define INT_FAST16_MIN LONG_MIN #define INT_FAST16_MAX LONG_MAX #define UINT_FAST16_MAX ULONG_MAX #undef INT_FAST32_MIN #undef INT_FAST32_MAX #undef UINT_FAST32_MAX #define INT_FAST32_MIN LONG_MIN #define INT_FAST32_MAX LONG_MAX #define UINT_FAST32_MAX ULONG_MAX #undef INT_FAST64_MIN #undef INT_FAST64_MAX #ifdef GL_INT64_T # define INT_FAST64_MIN INT64_MIN # define INT_FAST64_MAX INT64_MAX #endif #undef UINT_FAST64_MAX #ifdef GL_UINT64_T # define UINT_FAST64_MAX UINT64_MAX #endif /* 7.18.2.4. Limits of integer types capable of holding object pointers */ #undef INTPTR_MIN #undef INTPTR_MAX #undef UINTPTR_MAX #define INTPTR_MIN LONG_MIN #define INTPTR_MAX LONG_MAX #define UINTPTR_MAX ULONG_MAX /* 7.18.2.5. Limits of greatest-width integer types */ #undef INTMAX_MIN #undef INTMAX_MAX #ifdef INT64_MAX # define INTMAX_MIN INT64_MIN # define INTMAX_MAX INT64_MAX #else # define INTMAX_MIN INT32_MIN # define INTMAX_MAX INT32_MAX #endif #undef UINTMAX_MAX #ifdef UINT64_MAX # define UINTMAX_MAX UINT64_MAX #else # define UINTMAX_MAX UINT32_MAX #endif /* 7.18.3. Limits of other integer types */ /* ptrdiff_t limits */ #undef PTRDIFF_MIN #undef PTRDIFF_MAX #define PTRDIFF_MIN \ _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) #define PTRDIFF_MAX \ _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) /* sig_atomic_t limits */ #undef SIG_ATOMIC_MIN #undef SIG_ATOMIC_MAX #define SIG_ATOMIC_MIN \ _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ 0@SIG_ATOMIC_T_SUFFIX@) #define SIG_ATOMIC_MAX \ _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ 0@SIG_ATOMIC_T_SUFFIX@) /* size_t limit */ #undef SIZE_MAX #define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) /* wchar_t limits */ #undef WCHAR_MIN #undef WCHAR_MAX #define WCHAR_MIN \ _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) #define WCHAR_MAX \ _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) /* wint_t limits */ #undef WINT_MIN #undef WINT_MAX #define WINT_MIN \ _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) #define WINT_MAX \ _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) #endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */ /* 7.18.4. Macros for integer constants */ #if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS /* 7.18.4.1. Macros for minimum-width integer constants */ /* According to ISO C 99 Technical Corrigendum 1 */ /* Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */ #undef INT8_C #undef UINT8_C #define INT8_C(x) x #define UINT8_C(x) x #undef INT16_C #undef UINT16_C #define INT16_C(x) x #define UINT16_C(x) x #undef INT32_C #undef UINT32_C #define INT32_C(x) x #define UINT32_C(x) x ## U #undef INT64_C #undef UINT64_C #if LONG_MAX >> 31 >> 31 == 1 # define INT64_C(x) x##L #elif defined _MSC_VER # define INT64_C(x) x##i64 #elif @HAVE_LONG_LONG_INT@ # define INT64_C(x) x##LL #endif #if ULONG_MAX >> 31 >> 31 >> 1 == 1 # define UINT64_C(x) x##UL #elif defined _MSC_VER # define UINT64_C(x) x##ui64 #elif @HAVE_UNSIGNED_LONG_LONG_INT@ # define UINT64_C(x) x##ULL #endif /* 7.18.4.2. Macros for greatest-width integer constants */ #undef INTMAX_C #if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 # define INTMAX_C(x) x##LL #elif defined GL_INT64_T # define INTMAX_C(x) INT64_C(x) #else # define INTMAX_C(x) x##L #endif #undef UINTMAX_C #if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 # define UINTMAX_C(x) x##ULL #elif defined GL_UINT64_T # define UINTMAX_C(x) UINT64_C(x) #else # define UINTMAX_C(x) x##UL #endif #endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */ #endif /* _GL_STDINT_H */ #endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ dc3dd-7.1.614/lib/openat.c0000644000175000017500000001673011022023316014634 0ustar amedicoamedico/* provide a replacement openat function Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include "openat.h" #include #include #include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ #include "fcntl--.h" #include "lstat.h" #include "openat-priv.h" #include "save-cwd.h" /* Replacement for Solaris' openat function. First, try to simulate it via open ("/proc/self/fd/FD/FILE"). Failing that, simulate it by doing save_cwd/fchdir/open/restore_cwd. If either the save_cwd or the restore_cwd fails (relatively unlikely), then give a diagnostic and exit nonzero. Otherwise, upon failure, set errno and return -1, as openat does. Upon successful completion, return a file descriptor. */ int openat (int fd, char const *file, int flags, ...) { mode_t mode = 0; if (flags & O_CREAT) { va_list arg; va_start (arg, flags); /* If mode_t is narrower than int, use the promoted type (int), not mode_t. Use sizeof to guess whether mode_t is narrower; we don't know of any practical counterexamples. */ mode = (sizeof (mode_t) < sizeof (int) ? va_arg (arg, int) : va_arg (arg, mode_t)); va_end (arg); } return openat_permissive (fd, file, flags, mode, NULL); } /* Like openat (FD, FILE, FLAGS, MODE), but if CWD_ERRNO is nonnull, set *CWD_ERRNO to an errno value if unable to save or restore the initial working directory. This is needed only the first time remove.c's remove_dir opens a command-line directory argument. If a previous attempt to restore the current working directory failed, then we must not even try to access a `.'-relative name. It is the caller's responsibility not to call this function in that case. */ int openat_permissive (int fd, char const *file, int flags, mode_t mode, int *cwd_errno) { struct saved_cwd saved_cwd; int saved_errno; int err; bool save_ok; if (fd == AT_FDCWD || IS_ABSOLUTE_FILE_NAME (file)) return open (file, flags, mode); { char buf[OPENAT_BUFFER_SIZE]; char *proc_file = openat_proc_name (buf, fd, file); if (proc_file) { int open_result = open (proc_file, flags, mode); int open_errno = errno; if (proc_file != buf) free (proc_file); /* If the syscall succeeds, or if it fails with an unexpected errno value, then return right away. Otherwise, fall through and resort to using save_cwd/restore_cwd. */ if (0 <= open_result || ! EXPECTED_ERRNO (open_errno)) { errno = open_errno; return open_result; } } } save_ok = (save_cwd (&saved_cwd) == 0); if (! save_ok) { if (! cwd_errno) openat_save_fail (errno); *cwd_errno = errno; } err = fchdir (fd); saved_errno = errno; if (! err) { err = open (file, flags, mode); saved_errno = errno; if (save_ok && restore_cwd (&saved_cwd) != 0) { if (! cwd_errno) openat_restore_fail (errno); *cwd_errno = errno; } } free_cwd (&saved_cwd); errno = saved_errno; return err; } /* Return true if our openat implementation must resort to using save_cwd and restore_cwd. */ bool openat_needs_fchdir (void) { bool needs_fchdir = true; int fd = open ("/", O_RDONLY); if (0 <= fd) { char buf[OPENAT_BUFFER_SIZE]; char *proc_file = openat_proc_name (buf, fd, "."); if (proc_file) { needs_fchdir = false; if (proc_file != buf) free (proc_file); } close (fd); } return needs_fchdir; } #if !HAVE_FDOPENDIR /* Replacement for Solaris' function by the same name. First, try to simulate it via opendir ("/proc/self/fd/FD"). Failing that, simulate it by doing save_cwd/fchdir/opendir(".")/restore_cwd. If either the save_cwd or the restore_cwd fails (relatively unlikely), then give a diagnostic and exit nonzero. Otherwise, this function works just like Solaris' fdopendir. W A R N I N G: Unlike the other fd-related functions here, this one effectively consumes its FD parameter. The caller should not close or otherwise manipulate FD if this function returns successfully. */ DIR * fdopendir (int fd) { struct saved_cwd saved_cwd; int saved_errno; DIR *dir; char buf[OPENAT_BUFFER_SIZE]; char *proc_file = openat_proc_name (buf, fd, "."); if (proc_file) { dir = opendir (proc_file); saved_errno = errno; } else { dir = NULL; saved_errno = EOPNOTSUPP; } /* If the syscall fails with an expected errno value, resort to save_cwd/restore_cwd. */ if (! dir && EXPECTED_ERRNO (saved_errno)) { if (save_cwd (&saved_cwd) != 0) openat_save_fail (errno); if (fchdir (fd) != 0) { dir = NULL; saved_errno = errno; } else { dir = opendir ("."); saved_errno = errno; if (restore_cwd (&saved_cwd) != 0) openat_restore_fail (errno); } free_cwd (&saved_cwd); } if (dir) close (fd); if (proc_file != buf) free (proc_file); errno = saved_errno; return dir; } #endif /* Replacement for Solaris' function by the same name. First, try to simulate it via l?stat ("/proc/self/fd/FD/FILE"). Failing that, simulate it via save_cwd/fchdir/(stat|lstat)/restore_cwd. If either the save_cwd or the restore_cwd fails (relatively unlikely), then give a diagnostic and exit nonzero. Otherwise, this function works just like Solaris' fstatat. */ #define AT_FUNC_NAME fstatat #define AT_FUNC_F1 lstat #define AT_FUNC_F2 stat #define AT_FUNC_USE_F1_COND flag == AT_SYMLINK_NOFOLLOW #define AT_FUNC_POST_FILE_PARAM_DECLS , struct stat *st, int flag #define AT_FUNC_POST_FILE_ARGS , st #include "at-func.c" #undef AT_FUNC_NAME #undef AT_FUNC_F1 #undef AT_FUNC_F2 #undef AT_FUNC_USE_F1_COND #undef AT_FUNC_POST_FILE_PARAM_DECLS #undef AT_FUNC_POST_FILE_ARGS /* Replacement for Solaris' function by the same name. First, try to simulate it via (unlink|rmdir) ("/proc/self/fd/FD/FILE"). Failing that, simulate it via save_cwd/fchdir/(unlink|rmdir)/restore_cwd. If either the save_cwd or the restore_cwd fails (relatively unlikely), then give a diagnostic and exit nonzero. Otherwise, this function works just like Solaris' unlinkat. */ #define AT_FUNC_NAME unlinkat #define AT_FUNC_F1 rmdir #define AT_FUNC_F2 unlink #define AT_FUNC_USE_F1_COND flag == AT_REMOVEDIR #define AT_FUNC_POST_FILE_PARAM_DECLS , int flag #define AT_FUNC_POST_FILE_ARGS /* empty */ #include "at-func.c" #undef AT_FUNC_NAME #undef AT_FUNC_F1 #undef AT_FUNC_F2 #undef AT_FUNC_USE_F1_COND #undef AT_FUNC_POST_FILE_PARAM_DECLS #undef AT_FUNC_POST_FILE_ARGS dc3dd-7.1.614/lib/memcasecmp.c0000644000175000017500000000263311022023316015455 0ustar amedicoamedico/* Case-insensitive buffer comparator. Copyright (C) 1996, 1997, 2000, 2003, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "memcasecmp.h" #include #include /* Like memcmp, but ignore differences in case. Convert to upper case (not lower) before comparing so that join -i works with sort -f. */ int memcasecmp (const void *vs1, const void *vs2, size_t n) { size_t i; char const *s1 = vs1; char const *s2 = vs2; for (i = 0; i < n; i++) { unsigned char u1 = s1[i]; unsigned char u2 = s2[i]; int U1 = toupper (u1); int U2 = toupper (u2); int diff = (UCHAR_MAX <= INT_MAX ? U1 - U2 : U1 < U2 ? -1 : U2 < U1); if (diff) return diff; } return 0; } dc3dd-7.1.614/lib/xmemcoll.h0000644000175000017500000000010311022023316015156 0ustar amedicoamedico#include int xmemcoll (char *, size_t, char *, size_t); dc3dd-7.1.614/lib/nanosleep.c0000644000175000017500000001031311022023316015321 0ustar amedicoamedico/* Provide a replacement for the POSIX nanosleep function. Copyright (C) 1999, 2000, 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include #include "timespec.h" #include #include #include #if HAVE_SYS_SELECT_H # include #endif #include #include #include #include #undef nanosleep enum { BILLION = 1000 * 1000 * 1000 }; #if HAVE_BUG_BIG_NANOSLEEP void getnow (struct timespec *t) { # if defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME if (clock_gettime (CLOCK_MONOTONIC, t) == 0) return; # endif gettime (t); } int rpl_nanosleep (const struct timespec *requested_delay, struct timespec *remaining_delay) { /* nanosleep mishandles large sleeps due to internal overflow problems, so check that the proper amount of time has actually elapsed. */ struct timespec delay = *requested_delay; struct timespec t0; getnow (&t0); for (;;) { int r = nanosleep (&delay, remaining_delay); if (r == 0) { time_t secs_sofar; struct timespec now; getnow (&now); secs_sofar = now.tv_sec - t0.tv_sec; if (requested_delay->tv_sec < secs_sofar) return 0; delay.tv_sec = requested_delay->tv_sec - secs_sofar; delay.tv_nsec = requested_delay->tv_nsec - (now.tv_nsec - t0.tv_nsec); if (delay.tv_nsec < 0) { if (delay.tv_sec == 0) return 0; delay.tv_nsec += BILLION; delay.tv_sec--; } else if (BILLION <= delay.tv_nsec) { delay.tv_nsec -= BILLION; delay.tv_sec++; } } } } #else /* Some systems (MSDOS) don't have SIGCONT. Using SIGTERM here turns the signal-handling code below into a no-op on such systems. */ # ifndef SIGCONT # define SIGCONT SIGTERM # endif # if ! HAVE_SIGINTERRUPT # define siginterrupt(sig, flag) /* empty */ # endif static sig_atomic_t volatile suspended; /* Handle SIGCONT. */ static void sighandler (int sig) { suspended = 1; } /* Suspend execution for at least *TS_DELAY seconds. */ static void my_usleep (const struct timespec *ts_delay) { struct timeval tv_delay; tv_delay.tv_sec = ts_delay->tv_sec; tv_delay.tv_usec = (ts_delay->tv_nsec + 999) / 1000; if (tv_delay.tv_usec == 1000000) { time_t t1 = tv_delay.tv_sec + 1; if (t1 < tv_delay.tv_sec) tv_delay.tv_usec = 1000000 - 1; /* close enough */ else { tv_delay.tv_sec = t1; tv_delay.tv_usec = 0; } } select (0, NULL, NULL, NULL, &tv_delay); } /* Suspend execution for at least *REQUESTED_DELAY seconds. The *REMAINING_DELAY part isn't implemented yet. */ int rpl_nanosleep (const struct timespec *requested_delay, struct timespec *remaining_delay) { static bool initialized; /* set up sig handler */ if (! initialized) { # ifdef SA_NOCLDSTOP struct sigaction oldact, newact; newact.sa_handler = sighandler; sigemptyset (&newact.sa_mask); newact.sa_flags = 0; sigaction (SIGCONT, NULL, &oldact); if (oldact.sa_handler != SIG_IGN) sigaction (SIGCONT, &newact, NULL); # else if (signal (SIGCONT, SIG_IGN) != SIG_IGN) { signal (SIGCONT, sighandler); siginterrupt (SIGCONT, 1); } # endif initialized = true; } suspended = 0; my_usleep (requested_delay); if (suspended) { /* Calculate time remaining. */ /* FIXME: the code in sleep doesn't use this, so there's no rush to implement it. */ errno = EINTR; } /* FIXME: Restore sig handler? */ return suspended; } #endif dc3dd-7.1.614/lib/config.hin0000644000175000017500000016307411115525021015156 0ustar amedicoamedico/* lib/config.hin. Generated from configure.ac by autoheader. */ /* Define to the function xargmatch calls on failures. */ #undef ARGMATCH_DIE /* Define to the declaration of the xargmatch failure function. */ #undef ARGMATCH_DIE_DECL /* Define to the number of bits in type 'ptrdiff_t'. */ #undef BITSIZEOF_PTRDIFF_T /* Define to the number of bits in type 'sig_atomic_t'. */ #undef BITSIZEOF_SIG_ATOMIC_T /* Define to the number of bits in type 'size_t'. */ #undef BITSIZEOF_SIZE_T /* Define to the number of bits in type 'wchar_t'. */ #undef BITSIZEOF_WCHAR_T /* Define to the number of bits in type 'wint_t'. */ #undef BITSIZEOF_WINT_T /* Define if you wish *printf() functions that have a safe handling of non-IEEE-754 'long double' values. */ #undef CHECK_PRINTF_SAFE /* Define if chown is not POSIX compliant regarding IDs of -1. */ #undef CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE /* Define if chown modifies symlinks. */ #undef CHOWN_MODIFIES_SYMLINK /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ #undef CRAY_STACKSEG_END /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA /* Define to 1 if using `getloadavg.c'. */ #undef C_GETLOADAVG /* Define as the bit index in the word where to find bit 0 of the exponent of 'double'. */ #undef DBL_EXPBIT0_BIT /* Define as the word index where to find the exponent of 'double'. */ #undef DBL_EXPBIT0_WORD /* Define as the bit index in the word where to find the sign of 'double'. */ #undef DBL_SIGNBIT_BIT /* Define as the word index where to find the sign of 'double'. */ #undef DBL_SIGNBIT_WORD /* Define the default level of POSIX conformance. The value is of the form YYYYMM, specifying the year and month the standard was adopted. If not defined here, it defaults to the value of _POSIX2_VERSION in . Define to 199209 to default to POSIX 1003.2-1992, which makes standard programs like `head', `tail', and `sort' accept obsolete options like `+10' and `-10'. Define to 200112 to default to POSIX 1003.1-2001, which makes these standard programs treat leading-`+' operands as file names and require modern usages like `-n 10' instead of `-10'. Whether defined here or not, the default can be overridden at run time via the _POSIX2_VERSION environment variable. */ #undef DEFAULT_POSIX2_VERSION /* Define to 1 for DGUX with . */ #undef DGUX /* the name of the file descriptor member of DIR */ #undef DIR_FD_MEMBER_NAME #ifdef DIR_FD_MEMBER_NAME # define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME) #else # define DIR_TO_FD(Dir_p) -1 #endif /* Define to 1 if // is a file system root distinct from /. */ #undef DOUBLE_SLASH_IS_DISTINCT_ROOT /* Define if struct dirent has a member d_ino that actually works. */ #undef D_INO_IN_DIRENT /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define as good substitute value for EOVERFLOW. */ #undef EOVERFLOW /* Define if gnulib's fchdir() replacement is used. */ #undef FCHDIR_REPLACEMENT /* Define on systems for which file names may have a so-called `drive letter' prefix, define this to compute the length of that prefix, including the colon. */ #undef FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX /* Define if the backslash character may also serve as a file name component separator. */ #undef FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR /* Define if a drive letter prefix denotes a relative path if it is not followed by a file name component separator. */ #undef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE /* Define to nothing if C supports flexible array members, and to 1 if it does not. That way, with a declaration like `struct s { int n; double d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99 compilers. When computing the size of such an object, don't use 'sizeof (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)' instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with MSVC and with C++ compilers. */ #undef FLEXIBLE_ARRAY_MEMBER /* Define as the bit index in the word where to find bit 0 of the exponent of 'float'. */ #undef FLT_EXPBIT0_BIT /* Define as the word index where to find the exponent of 'float'. */ #undef FLT_EXPBIT0_WORD /* Define as the bit index in the word where to find the sign of 'float'. */ #undef FLT_SIGNBIT_BIT /* Define as the word index where to find the sign of 'float'. */ #undef FLT_SIGNBIT_WORD /* Define to the type of elements in the array set by `getgroups'. Usually this is either `int' or `gid_t'. */ #undef GETGROUPS_T /* Define to 1 if the `getloadavg' function needs to be run setuid or setgid. */ #undef GETLOADAVG_PRIVILEGED /* Define if gettimeofday clobbers the localtime buffer. */ #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME /* Define to make the limit macros in visible. */ #undef GL_TRIGGER_STDC_LIMIT_MACROS /* Define to 1 when using the gnulib module canonicalize. */ #undef GNULIB_CANONICALIZE /* Define to 1 when using the gnulib module close-stream. */ #undef GNULIB_CLOSE_STREAM /* Define to 1 when using the gnulib module fcntl-safer. */ #undef GNULIB_FCNTL_SAFER /* Define to 1 when using the gnulib module fopen-safer. */ #undef GNULIB_FOPEN_SAFER /* Define to indicate the 'malloc' module. */ #undef GNULIB_MALLOC_GNU /* Define to indicate the 'realloc' module. */ #undef GNULIB_REALLOC_GNU /* Define if your system defines TIOCGWINSZ in sys/ioctl.h. */ #undef GWINSZ_IN_SYS_IOCTL /* Define if your system defines TIOCGWINSZ in sys/pty.h. */ #undef GWINSZ_IN_SYS_PTY /* Define to 1 if you have the `alarm' function. */ #undef HAVE_ALARM /* Define to 1 if you have 'alloca' after including , a header that may be supplied by this distribution. */ #undef HAVE_ALLOCA /* Define to 1 if you have and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H /* Define if you have an arithmetic hrtime_t type. */ #undef HAVE_ARITHMETIC_HRTIME_T /* Define to 1 if you have the header file. */ #undef HAVE_ARPA_INET_H /* Define to 1 if you have the `atexit' function. */ #undef HAVE_ATEXIT /* Define to 1 if you have the header file. */ #undef HAVE_BP_SYM_H /* Define to 1 if you have the `btowc' function. */ #undef HAVE_BTOWC /* Define to 1 if nanosleep mishandles large arguments. */ #undef HAVE_BUG_BIG_NANOSLEEP /* Define to 1 if strtold conforms to C99. */ #undef HAVE_C99_STRTOLD /* Define to 1 if your system has a GNU libc compatible `calloc' function, and to 0 otherwise. */ #undef HAVE_CALLOC /* Define if the 'calloc' function is POSIX compliant. */ #undef HAVE_CALLOC_POSIX /* Define to 1 if you have the `canonicalize_file_name' function. */ #undef HAVE_CANONICALIZE_FILE_NAME /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define to 1 if your system has a working `chown' function. */ #undef HAVE_CHOWN /* Define to 1 if you have the `chroot' function. */ #undef HAVE_CHROOT /* Define to 1 if you have the `chsize' function. */ #undef HAVE_CHSIZE /* Define to 1 if you have the `clock_gettime' function. */ #undef HAVE_CLOCK_GETTIME /* Define to 1 if you have the `clock_settime' function. */ #undef HAVE_CLOCK_SETTIME /* Define if you have compound literals. */ #undef HAVE_COMPOUND_LITERALS /* Define if the copysignf function is declared in and available in libc. */ #undef HAVE_COPYSIGNF_IN_LIBC /* Define if the copysignl function is declared in and available in libc. */ #undef HAVE_COPYSIGNL_IN_LIBC /* Define if the copysign function is declared in and available in libc. */ #undef HAVE_COPYSIGN_IN_LIBC /* FIXME */ #undef HAVE_C_LINE /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the declaration of `canonicalize_file_name', and to 0 if you don't. */ #undef HAVE_DECL_CANONICALIZE_FILE_NAME /* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_CLEARERR_UNLOCKED /* Define to 1 if you have the declaration of `copysign', and to 0 if you don't. */ #undef HAVE_DECL_COPYSIGN /* Define to 1 if you have the declaration of `copysignf', and to 0 if you don't. */ #undef HAVE_DECL_COPYSIGNF /* Define to 1 if you have the declaration of `copysignl', and to 0 if you don't. */ #undef HAVE_DECL_COPYSIGNL /* Define to 1 if you have the declaration of `dirfd', and to 0 if you don't. */ #undef HAVE_DECL_DIRFD /* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FEOF_UNLOCKED /* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FERROR_UNLOCKED /* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FFLUSH_UNLOCKED /* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FGETS_UNLOCKED /* Define to 1 if you have the declaration of `flockfile', and to 0 if you don't. */ #undef HAVE_DECL_FLOCKFILE /* Define to 1 if you have the declaration of `fpurge', and to 0 if you don't. */ #undef HAVE_DECL_FPURGE /* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FPUTC_UNLOCKED /* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FPUTS_UNLOCKED /* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FREAD_UNLOCKED /* Define to 1 if you have the declaration of `free', and to 0 if you don't. */ #undef HAVE_DECL_FREE /* Define to 1 if you have the declaration of `funlockfile', and to 0 if you don't. */ #undef HAVE_DECL_FUNLOCKFILE /* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FWRITE_UNLOCKED /* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETCHAR_UNLOCKED /* Define to 1 if you have the declaration of `getcwd', and to 0 if you don't. */ #undef HAVE_DECL_GETCWD /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETC_UNLOCKED /* Define to 1 if you have the declaration of `getdelim', and to 0 if you don't. */ #undef HAVE_DECL_GETDELIM /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. */ #undef HAVE_DECL_GETENV /* Define to 1 if you have the declaration of `geteuid', and to 0 if you don't. */ #undef HAVE_DECL_GETEUID /* Define to 1 if you have the declaration of `getgrgid', and to 0 if you don't. */ #undef HAVE_DECL_GETGRGID /* Define to 1 if you have the declaration of `gethrtime', and to 0 if you don't. */ #undef HAVE_DECL_GETHRTIME /* Define to 1 if you have the declaration of `getline', and to 0 if you don't. */ #undef HAVE_DECL_GETLINE /* Define to 1 if you have the declaration of `getlogin', and to 0 if you don't. */ #undef HAVE_DECL_GETLOGIN /* Define to 1 if you have the declaration of `getpass', and to 0 if you don't. */ #undef HAVE_DECL_GETPASS /* Define to 1 if you have the declaration of `getpwuid', and to 0 if you don't. */ #undef HAVE_DECL_GETPWUID /* Define to 1 if you have the declaration of `getuid', and to 0 if you don't. */ #undef HAVE_DECL_GETUID /* Define to 1 if you have the declaration of `getutent', and to 0 if you don't. */ #undef HAVE_DECL_GETUTENT /* Define to 1 if you have the declaration of `imaxabs', and to 0 if you don't. */ #undef HAVE_DECL_IMAXABS /* Define to 1 if you have the declaration of `imaxdiv', and to 0 if you don't. */ #undef HAVE_DECL_IMAXDIV /* Define to 1 if you have the declaration of `isblank', and to 0 if you don't. */ #undef HAVE_DECL_ISBLANK /* Define to 1 if you have the declaration of `lseek', and to 0 if you don't. */ #undef HAVE_DECL_LSEEK /* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. */ #undef HAVE_DECL_MALLOC /* Define to 1 if you have a declaration of mbswidth() in , and to 0 otherwise. */ #undef HAVE_DECL_MBSWIDTH_IN_WCHAR_H /* Define to 1 if you have the declaration of `memchr', and to 0 if you don't. */ #undef HAVE_DECL_MEMCHR /* Define to 1 if you have the declaration of `memrchr', and to 0 if you don't. */ #undef HAVE_DECL_MEMRCHR /* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_PUTCHAR_UNLOCKED /* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_PUTC_UNLOCKED /* Define to 1 if you have the declaration of `realloc', and to 0 if you don't. */ #undef HAVE_DECL_REALLOC /* Define to 1 if you have the declaration of `snprintf', and to 0 if you don't. */ #undef HAVE_DECL_SNPRINTF /* Define to 1 if you have the declaration of `strdup', and to 0 if you don't. */ #undef HAVE_DECL_STRDUP /* Define to 1 if you have the declaration of `strerror', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR_R /* Define to 1 if you have the declaration of `strmode', and to 0 if you don't. */ #undef HAVE_DECL_STRMODE /* Define to 1 if you have the declaration of `strndup', and to 0 if you don't. */ #undef HAVE_DECL_STRNDUP /* Define to 1 if you have the declaration of `strnlen', and to 0 if you don't. */ #undef HAVE_DECL_STRNLEN /* Define to 1 if you have the declaration of `strsignal', and to 0 if you don't. */ #undef HAVE_DECL_STRSIGNAL /* Define to 1 if you have the declaration of `strtoimax', and to 0 if you don't. */ #undef HAVE_DECL_STRTOIMAX /* Define to 1 if you have the declaration of `strtoll', and to 0 if you don't. */ #undef HAVE_DECL_STRTOLL /* Define to 1 if you have the declaration of `strtoull', and to 0 if you don't. */ #undef HAVE_DECL_STRTOULL /* Define to 1 if you have the declaration of `strtoumax', and to 0 if you don't. */ #undef HAVE_DECL_STRTOUMAX /* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you don't. */ #undef HAVE_DECL_SYS_SIGLIST /* Define to 1 if you have the declaration of `ttyname', and to 0 if you don't. */ #undef HAVE_DECL_TTYNAME /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. */ #undef HAVE_DECL_TZNAME /* Define to 1 if you have the declaration of `wcwidth', and to 0 if you don't. */ #undef HAVE_DECL_WCWIDTH /* Define to 1 if you have the declaration of `_snprintf', and to 0 if you don't. */ #undef HAVE_DECL__SNPRINTF /* Define to 1 if you have the declaration of `_sys_siglist', and to 0 if you don't. */ #undef HAVE_DECL__SYS_SIGLIST /* Define to 1 if you have the declaration of `__fpending', and to 0 if you don't. */ #undef HAVE_DECL___FPENDING /* Define to 1 if you have the declaration of `__fsetlocking', and to 0 if you don't. */ #undef HAVE_DECL___FSETLOCKING /* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you don't. */ #undef HAVE_DECL___SYS_SIGLIST /* Define to 1 if you have the `directio' function. */ #undef HAVE_DIRECTIO /* Define to 1 if you have the header file. */ #undef HAVE_DIRENT_H /* Define to 1 if you have the `dirfd' function. */ #undef HAVE_DIRFD /* Define to 1 if you have the `dup2' function. */ #undef HAVE_DUP2 /* Define to 1 if you have the header file. */ #undef HAVE_DUSTAT_H /* Define to 1 if you have the `endgrent' function. */ #undef HAVE_ENDGRENT /* Define to 1 if you have the `endpwent' function. */ #undef HAVE_ENDPWENT /* Define if you have the declaration of environ. */ #undef HAVE_ENVIRON_DECL /* Define to 1 if you have the `fchdir' function. */ #undef HAVE_FCHDIR /* Define to 1 if you have the `fchmod' function. */ #undef HAVE_FCHMOD /* Define to 1 if you have the `fchmodat' function. */ #undef HAVE_FCHMODAT /* Define to 1 if you have the `fchown' function. */ #undef HAVE_FCHOWN /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `fdatasync' function. */ #undef HAVE_FDATASYNC /* Define to 1 if you have the `fdopendir' function. */ #undef HAVE_FDOPENDIR /* Define to 1 if pipes are FIFOs, 0 if sockets. Leave undefined if not known. */ #undef HAVE_FIFO_PIPES /* Define to 1 if you have the header file. */ #undef HAVE_FLOAT_H /* Define to 1 if you have the `flockfile' function. */ #undef HAVE_FLOCKFILE /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK /* Define to 1 if you have the `fpurge' function. */ #undef HAVE_FPURGE /* Define if the frexpl function is available in libc. */ #undef HAVE_FREXPL_IN_LIBC /* Define if the frexp function is available in libc. */ #undef HAVE_FREXP_IN_LIBC /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO /* Define to 1 if you have the header file. */ #undef HAVE_FS_INFO_H /* Define to 1 if you have the `fs_stat_dev' function. */ #undef HAVE_FS_STAT_DEV /* Define to 1 if you have the `ftruncate' function. */ #undef HAVE_FTRUNCATE /* Define to 1 if you have the `funlockfile' function. */ #undef HAVE_FUNLOCKFILE /* Define to 1 if you have the `futimens' function. */ #undef HAVE_FUTIMENS /* Define to 1 if you have the `futimes' function. */ #undef HAVE_FUTIMES /* Define to 1 if you have the `futimesat' function. */ #undef HAVE_FUTIMESAT /* Define to 1 if you have the `getdelim' function. */ #undef HAVE_GETDELIM /* Define to 1 if your system has a working `getgroups' function. */ #undef HAVE_GETGROUPS /* Define to 1 if you have the `gethostid' function. */ #undef HAVE_GETHOSTID /* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME /* Define to 1 if you have the `getloadavg' function. */ #undef HAVE_GETLOADAVG /* Define to 1 if you have the `getmntent' function. */ #undef HAVE_GETMNTENT /* Define to 1 if you have the `getmntinfo' function. */ #undef HAVE_GETMNTINFO /* Define to 1 if you have the header file. */ #undef HAVE_GETOPT_H /* Define to 1 if you have the `getopt_long_only' function. */ #undef HAVE_GETOPT_LONG_ONLY /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE /* Define to 1 if you have the `getspnam' function. */ #undef HAVE_GETSPNAM /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define to 1 if you have the header file. */ #undef HAVE_GRP_H /* Define to 1 if you have the `hasmntopt' function. */ #undef HAVE_HASMNTOPT /* Define to 1 if you have the header file. */ #undef HAVE_HURD_H /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ #undef HAVE_ICONV_H /* Define if your compiler supports the #include_next directive. */ #undef HAVE_INCLUDE_NEXT /* Define to 1 if you have the `initgroups' function. */ #undef HAVE_INITGROUPS /* Define to 1 if the compiler supports one of the keywords 'inline', '__inline__', '__inline' and effectively inlines functions marked as such. */ #undef HAVE_INLINE /* Define if you have the 'intmax_t' type in or . */ #undef HAVE_INTMAX_T /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if exists, doesn't clash with , and declares uintmax_t. */ #undef HAVE_INTTYPES_H_WITH_UINTMAX /* Define to 1 if you have the `isapipe' function. */ #undef HAVE_ISAPIPE /* Define to 1 if you have the `isascii' function. */ #undef HAVE_ISASCII /* Define to 1 if you have the `isblank' function. */ #undef HAVE_ISBLANK /* Define if the isnan(double) function is available in libc. */ #undef HAVE_ISNAND_IN_LIBC /* Define if the isnan(float) function is available in libc. */ #undef HAVE_ISNANF_IN_LIBC /* Define if the isnan(long double) function is available in libc. */ #undef HAVE_ISNANL_IN_LIBC /* Define to 1 if you have the `iswcntrl' function. */ #undef HAVE_ISWCNTRL /* Define to 1 if you have the `iswctype' function. */ #undef HAVE_ISWCTYPE /* Define to 1 if you have the `iswspace' function. */ #undef HAVE_ISWSPACE /* Define if you have and nl_langinfo(CODESET). */ #undef HAVE_LANGINFO_CODESET /* Define if you have and nl_langinfo(YESEXPR). */ #undef HAVE_LANGINFO_YESEXPR /* Define to 1 if you have the `lchmod' function. */ #undef HAVE_LCHMOD /* Define to 1 if you have the `lchown' function. */ #undef HAVE_LCHOWN /* Define if the ldexpl function is available in libc. */ #undef HAVE_LDEXPL_IN_LIBC /* Define if the ldexp function is available in libc. */ #undef HAVE_LDEXP_IN_LIBC /* Define to 1 if you have the `dgc' library (-ldgc). */ #undef HAVE_LIBDGC /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H /* Define to 1 if you have the `kstat' library (-lkstat). */ #undef HAVE_LIBKSTAT /* Define to 1 if you have the `ldgc' library (-lldgc). */ #undef HAVE_LIBLDGC /* Define to 1 if you have the `os' library (-los). */ #undef HAVE_LIBOS /* Define to 1 if you have the `perfstat' library (-lperfstat). */ #undef HAVE_LIBPERFSTAT /* Define to 1 if you have the `ypsec' library (-lypsec). */ #undef HAVE_LIBYPSEC /* Define to 1 if you have the `listmntent' function. */ #undef HAVE_LISTMNTENT /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if the type `long double' works and has more range or precision than `double'. */ #undef HAVE_LONG_DOUBLE /* Define to 1 if the type `long double' works and has more range or precision than `double'. */ #undef HAVE_LONG_DOUBLE_WIDER /* Define to 1 if you support file names longer than 14 characters. */ #undef HAVE_LONG_FILE_NAMES /* Define to 1 if the system has the type `long long int'. */ #undef HAVE_LONG_LONG_INT /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ #undef HAVE_LSTAT_EMPTY_STRING_BUG /* Define to 1 if you have the header file. */ #undef HAVE_MACH_MACH_H /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC /* Define if the 'malloc' function is POSIX compliant. */ #undef HAVE_MALLOC_POSIX /* Define to 1 if you have the header file. */ #undef HAVE_MATH_H /* Define to 1 if you have the `mblen' function. */ #undef HAVE_MBLEN /* Define to 1 if you have the `mbrlen' function. */ #undef HAVE_MBRLEN /* Define to 1 if mbrtowc and mbstate_t are properly declared. */ #undef HAVE_MBRTOWC /* Define to 1 if you have the `mbsinit' function. */ #undef HAVE_MBSINIT /* Define to 1 if you have the `mbsrtowcs' function. */ #undef HAVE_MBSRTOWCS /* Define to 1 if declares mbstate_t. */ #undef HAVE_MBSTATE_T /* Define to 1 if you have the `memchr' function. */ #undef HAVE_MEMCHR /* Define to 1 if you have the `memcpy' function. */ #undef HAVE_MEMCPY /* Define to 1 if you have the `memmove' function. */ #undef HAVE_MEMMOVE /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mempcpy' function. */ #undef HAVE_MEMPCPY /* Define to 1 if you have the `memrchr' function. */ #undef HAVE_MEMRCHR /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the `microuptime' function. */ #undef HAVE_MICROUPTIME /* Define to 1 if you have the `mkdirat' function. */ #undef HAVE_MKDIRAT /* Define to 1 if you have the `mkfifo' function. */ #undef HAVE_MKFIFO /* Define to 1 if you have the header file. */ #undef HAVE_MNTENT_H /* Define to 1 if you have the `nanotime' function. */ #undef HAVE_NANOTIME /* Define to 1 if you have the `nanouptime' function. */ #undef HAVE_NANOUPTIME /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H /* Define to 1 if you have the `next_dev' function. */ #undef HAVE_NEXT_DEV /* Define to 1 if you have the header file. */ #undef HAVE_NFS_NFS_CLIENT_H /* Define to 1 if you have the header file. */ #undef HAVE_NFS_VFS_H /* Define to 1 if you have the `nice' function. */ #undef HAVE_NICE /* Define to 1 if you have the header file. */ #undef HAVE_NLIST_H /* Define to 1 if you have the `nl_langinfo' function. */ #undef HAVE_NL_LANGINFO /* Define to 1 if libc includes obstacks. */ #undef HAVE_OBSTACK /* Define to 1 if you have the `openat' function. */ #undef HAVE_OPENAT /* Define to 1 if you have the header file. */ #undef HAVE_OS_H /* Define to 1 if getcwd works, except it sometimes fails when it shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT. If __GETCWD_PREFIX is not defined, it doesn't matter whether HAVE_PARTLY_WORKING_GETCWD is defined. */ #undef HAVE_PARTLY_WORKING_GETCWD /* Define to 1 if you have the `pathconf' function. */ #undef HAVE_PATHCONF /* Define to 1 if you have the header file. */ #undef HAVE_PATHS_H /* Define to 1 if you have the `pipe' function. */ #undef HAVE_PIPE /* Define to 1 if you have the header file. */ #undef HAVE_PRIV_H /* Define if your system has the /proc/uptime special file. */ #undef HAVE_PROC_UPTIME /* Define to 1 if you have the `pstat_getdynamic' function. */ #undef HAVE_PSTAT_GETDYNAMIC /* Define to 1 if you have the header file. */ #undef HAVE_PWD_H /* Define to 1 if you have the `raise' function. */ #undef HAVE_RAISE /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #undef HAVE_REALLOC /* Define if the 'realloc' function is POSIX compliant. */ #undef HAVE_REALLOC_POSIX /* Define to 1 if you have the `resolvepath' function. */ #undef HAVE_RESOLVEPATH /* Define to 1 if you have the `rmdir' function. */ #undef HAVE_RMDIR /* Define to 1 if you have the `rpmatch' function. */ #undef HAVE_RPMATCH /* Define to 1 if you have run the test for working tzset. */ #undef HAVE_RUN_TZSET_TEST /* Define to 1 if you have the header file. */ #undef HAVE_SEARCH_H /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV /* Define to 1 if you have the `setgroups' function. */ #undef HAVE_SETGROUPS /* Define to 1 if you have the `sethostname' function. */ #undef HAVE_SETHOSTNAME /* Define to 1 if you have the `settimeofday' function. */ #undef HAVE_SETTIMEOFDAY /* Define to 1 if you have the header file. */ #undef HAVE_SHADOW_H /* Define to 1 if you have the `shutdown' function. */ #undef HAVE_SHUTDOWN /* Define to 1 if you have the `sig2str' function. */ #undef HAVE_SIG2STR /* Define to 1 if you have the `siginterrupt' function. */ #undef HAVE_SIGINTERRUPT /* Define to 1 if 'sig_atomic_t' is a signed integer type. */ #undef HAVE_SIGNED_SIG_ATOMIC_T /* Define to 1 if 'wchar_t' is a signed integer type. */ #undef HAVE_SIGNED_WCHAR_T /* Define to 1 if 'wint_t' is a signed integer type. */ #undef HAVE_SIGNED_WINT_T /* Define to 1 if you have the `sleep' function. */ #undef HAVE_SLEEP /* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF /* Define to 1 if you have the header file. */ #undef HAVE_STDARG_H /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define if exists, doesn't clash with , and declares uintmax_t. */ #undef HAVE_STDINT_H_WITH_UINTMAX /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_EXT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `stime' function. */ #undef HAVE_STIME /* Define to 1 if you have the `stpcpy' function. */ #undef HAVE_STPCPY /* Define if you have the stpncpy() function and it works. */ #undef HAVE_STPNCPY /* Define to 1 if you have the `strcoll' function and it is properly defined. */ #undef HAVE_STRCOLL /* Define to 1 if you have the `strcspn' function. */ #undef HAVE_STRCSPN /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the `strerror_r' function. */ #undef HAVE_STRERROR_R /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define if you have the strndup() function and it works. */ #undef HAVE_STRNDUP /* Define to 1 if you have the header file. */ #undef HAVE_STROPTS_H /* Define to 1 if you have the `strpbrk' function. */ #undef HAVE_STRPBRK /* Define to 1 if you have the `strtoimax' function. */ #undef HAVE_STRTOIMAX /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL /* Define to 1 if you have the `strtoll' function. */ #undef HAVE_STRTOLL /* Define to 1 if you have the `strtoul' function. */ #undef HAVE_STRTOUL /* Define to 1 if you have the `strtoull' function. */ #undef HAVE_STRTOULL /* Define to 1 if you have the `strtoumax' function. */ #undef HAVE_STRTOUMAX /* Define if there is a member named d_type in the struct describing directory headers. */ #undef HAVE_STRUCT_DIRENT_D_TYPE /* Define to 1 if `f_fstypename' is member of `struct fsstat'. */ #undef HAVE_STRUCT_FSSTAT_F_FSTYPENAME /* Define to 1 if `n_un.n_name' is member of `struct nlist'. */ #undef HAVE_STRUCT_NLIST_N_UN_N_NAME /* Define to 1 if `sp_pwdp' is member of `struct spwd'. */ #undef HAVE_STRUCT_SPWD_SP_PWDP /* Define to 1 if `f_fstypename' is member of `struct statfs'. */ #undef HAVE_STRUCT_STATFS_F_FSTYPENAME /* Define to 1 if `f_namelen' is member of `struct statfs'. */ #undef HAVE_STRUCT_STATFS_F_NAMELEN /* Define to 1 if `f_type' is member of `struct statfs'. */ #undef HAVE_STRUCT_STATFS_F_TYPE /* Define to 1 if `f_basetype' is member of `struct statvfs'. */ #undef HAVE_STRUCT_STATVFS_F_BASETYPE /* Define to 1 if `f_fstypename' is member of `struct statvfs'. */ #undef HAVE_STRUCT_STATVFS_F_FSTYPENAME /* Define to 1 if `f_namemax' is member of `struct statvfs'. */ #undef HAVE_STRUCT_STATVFS_F_NAMEMAX /* Define to 1 if `f_type' is member of `struct statvfs'. */ #undef HAVE_STRUCT_STATVFS_F_TYPE /* Define to 1 if `st_atimensec' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIMENSEC /* Define to 1 if `st_atimespec.tv_nsec' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC /* Define to 1 if `st_atim.st__tim.tv_nsec' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC /* Define to 1 if `st_atim.tv_nsec' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC /* Define to 1 if `st_author' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_AUTHOR /* Define to 1 if `st_birthtimensec' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC /* Define to 1 if `st_birthtimespec.tv_nsec' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC /* Define to 1 if `st_birthtim.tv_nsec' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC /* Define to 1 if `st_blocks' is member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BLOCKS /* Define to 1 if `tm_zone' is member of `struct tm'. */ #undef HAVE_STRUCT_TM_TM_ZONE /* Define if struct utimbuf is declared -- usually in . Some systems have utime.h but don't declare the struct anywhere. */ #undef HAVE_STRUCT_UTIMBUF /* Define to 1 if `ut_exit' is member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_EXIT /* Define to 1 if `ut_exit.e_exit' is member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_EXIT_E_EXIT /* Define to 1 if `ut_exit.e_termination' is member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_EXIT_E_TERMINATION /* Define to 1 if `ut_exit.ut_exit' is member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_EXIT_UT_EXIT /* Define to 1 if `ut_exit.ut_termination' is member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_EXIT_UT_TERMINATION /* Define to 1 if `ut_id' is member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_ID /* Define to 1 if `ut_name' is member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_NAME /* Define to 1 if `ut_pid' is member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_PID /* Define to 1 if `ut_type' is member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_TYPE /* Define to 1 if `ut_user' is member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_USER /* Define to 1 if `ut_exit' is member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_EXIT /* Define to 1 if `ut_exit.e_exit' is member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_EXIT_E_EXIT /* Define to 1 if `ut_exit.e_termination' is member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_EXIT_E_TERMINATION /* Define to 1 if `ut_exit.ut_exit' is member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_EXIT_UT_EXIT /* Define to 1 if `ut_exit.ut_termination' is member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_EXIT_UT_TERMINATION /* Define to 1 if `ut_id' is member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_ID /* Define to 1 if `ut_name' is member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_NAME /* Define to 1 if `ut_pid' is member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_PID /* Define to 1 if `ut_type' is member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_TYPE /* Define to 1 if `ut_user' is member of `struct utmp'. */ #undef HAVE_STRUCT_UTMP_UT_USER /* Define to 1 if you have the `strverscmp' function. */ #undef HAVE_STRVERSCMP /* Define to 1 if you have the `strxfrm' function. */ #undef HAVE_STRXFRM /* Define to 1 if your `struct stat' has `st_blocks'. Deprecated, use `HAVE_STRUCT_STAT_ST_BLOCKS' instead. */ #undef HAVE_ST_BLOCKS /* Define if struct stat has an st_dm_mode member. */ #undef HAVE_ST_DM_MODE /* Define to 1 if you have the `sync' function. */ #undef HAVE_SYNC /* Define to 1 if you have the `sysctl' function. */ #undef HAVE_SYSCTL /* Define to 1 if you have the `sysinfo' function. */ #undef HAVE_SYSINFO /* FIXME */ #undef HAVE_SYSLOG /* Define to 1 if you have the header file. */ #undef HAVE_SYSLOG_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_BITYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_FILSYS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_FS_S5PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_FS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MNTENT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MOUNT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_RESOURCE_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SELECT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STATFS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STATVFS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SYSCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SYSTEMINFO_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIMEB_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_UCRED_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_VFS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_WAIT_H /* Define to 1 if you have the `tcgetattr' function. */ #undef HAVE_TCGETATTR /* Define to 1 if you have the `tcgetpgrp' function. */ #undef HAVE_TCGETPGRP /* Define to 1 if you have the `tcsetattr' function. */ #undef HAVE_TCSETATTR /* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H /* Define to 1 if you have the header file. */ #undef HAVE_TIME_H /* Define if struct tm has the tm_gmtoff member. */ #undef HAVE_TM_GMTOFF /* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use `HAVE_STRUCT_TM_TM_ZONE' instead. */ #undef HAVE_TM_ZONE /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH /* Define to 1 if you don't have `tm_zone' but do have the external array `tzname'. */ #undef HAVE_TZNAME /* Define to 1 if you have the `tzset' function. */ #undef HAVE_TZSET /* Define to 1 if you have the `uname' function. */ #undef HAVE_UNAME /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `unsetenv' function. */ #undef HAVE_UNSETENV /* Define to 1 if the system has the type `unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT /* Define to 1 if you have the `utimensat' function. */ #undef HAVE_UTIMENSAT /* Define if utimes accepts a null argument */ #undef HAVE_UTIMES_NULL /* Define to 1 if you have the header file. */ #undef HAVE_UTIME_H /* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */ #undef HAVE_UTIME_NULL /* Define to 1 if you have the `utmpname' function. */ #undef HAVE_UTMPNAME /* Define to 1 if you have the `utmpxname' function. */ #undef HAVE_UTMPXNAME /* Define to 1 if you have the header file. */ #undef HAVE_UTMPX_H /* Define to 1 if you have the header file. */ #undef HAVE_UTMP_H /* FIXME */ #undef HAVE_UT_HOST /* Define to 1 if you have the `vasnprintf' function. */ #undef HAVE_VASNPRINTF /* Define to 1 if you have the `vasprintf' function. */ #undef HAVE_VASPRINTF /* Define to 1 if you have the `vfork' function. */ #undef HAVE_VFORK /* Define to 1 if you have the header file. */ #undef HAVE_VFORK_H /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H /* Define if you have the 'wchar_t' type. */ #undef HAVE_WCHAR_T /* Define to 1 if you have the `wcrtomb' function. */ #undef HAVE_WCRTOMB /* Define to 1 if you have the `wcscoll' function. */ #undef HAVE_WCSCOLL /* Define to 1 if you have the `wcslen' function. */ #undef HAVE_WCSLEN /* Define to 1 if you have the header file. */ #undef HAVE_WCTYPE_H /* Define to 1 if you have the `wcwidth' function. */ #undef HAVE_WCWIDTH /* Define to 1 if you have the header file. */ #undef HAVE_WINSOCK2_H /* Define if you have the 'wint_t' type. */ #undef HAVE_WINT_T /* Define to 1 if you have the `wmemchr' function. */ #undef HAVE_WMEMCHR /* Define to 1 if you have the `wmemcpy' function. */ #undef HAVE_WMEMCPY /* Define to 1 if you have the `wmempcpy' function. */ #undef HAVE_WMEMPCPY /* Define to 1 if `fork' works. */ #undef HAVE_WORKING_FORK /* Define to 1 if O_NOATIME works. */ #undef HAVE_WORKING_O_NOATIME /* Define to 1 if O_NOFOLLOW works. */ #undef HAVE_WORKING_O_NOFOLLOW /* Define if utimes works properly. */ #undef HAVE_WORKING_UTIMES /* Define to 1 if `vfork' works. */ #undef HAVE_WORKING_VFORK /* Define to 1 if you have the header file. */ #undef HAVE_WS2TCPIP_H /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Define to 1 if you have the `_ftime' function. */ #undef HAVE__FTIME /* Define to 1 if you have the `__fpending' function. */ #undef HAVE___FPENDING /* Define to 1 if you have the `__fpurge' function. */ #undef HAVE___FPURGE /* Define to 1 if you have the `__freading' function. */ #undef HAVE___FREADING /* Define to 1 if you have the `__fsetlocking' function. */ #undef HAVE___FSETLOCKING /* The host operating system. */ #undef HOST_OPERATING_SYSTEM /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST /* Define to a symbolic name denoting the flavor of iconv_open() implementation. */ #undef ICONV_FLAVOR #if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR # define ISSLASH(C) ((C) == '/' || (C) == '\\') #else # define ISSLASH(C) ((C) == '/') #endif /* Define as the bit index in the word where to find bit 0 of the exponent of 'long double'. */ #undef LDBL_EXPBIT0_BIT /* Define as the word index where to find the exponent of 'long double'. */ #undef LDBL_EXPBIT0_WORD /* Define as the bit index in the word where to find the sign of 'long double'. */ #undef LDBL_SIGNBIT_BIT /* Define as the word index where to find the sign of 'long double'. */ #undef LDBL_SIGNBIT_WORD /* Define if `link(2)' dereferences symbolic links. */ #undef LINK_FOLLOWS_SYMLINKS /* FIXME */ #undef LOCALTIME_CACHE /* Define to 1 if lseek does not detect pipes. */ #undef LSEEK_PIPE_BROKEN /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ #undef LSTAT_FOLLOWS_SLASHED_SYMLINK /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #undef MAJOR_IN_MKDEV /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #undef MAJOR_IN_SYSMACROS /* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ #undef MALLOC_0_IS_NONNULL /* Define if there is no specific function for reading the list of mounted file systems. fread will be used to read /etc/mnttab. (SVR2) */ #undef MOUNTED_FREAD /* Define if (like SVR2) there is no specific function for reading the list of mounted file systems, and your system has these header files: and . (SVR3) */ #undef MOUNTED_FREAD_FSTYP /* Define if there are functions named next_dev and fs_stat_dev for reading the list of mounted file systems. (BeOS) */ #undef MOUNTED_FS_STAT_DEV /* Define if there is a function named getfsstat for reading the list of mounted file systems. (DEC Alpha running OSF/1) */ #undef MOUNTED_GETFSSTAT /* Define if there is a function named getmnt for reading the list of mounted file systems. (Ultrix) */ #undef MOUNTED_GETMNT /* Define if there is a function named getmntent for reading the list of mounted file systems, and that function takes a single argument. (4.3BSD, SunOS, HP-UX, Dynix, Irix) */ #undef MOUNTED_GETMNTENT1 /* Define if there is a function named getmntent for reading the list of mounted file systems, and that function takes two arguments. (SVR4) */ #undef MOUNTED_GETMNTENT2 /* Define if there is a function named getmntinfo for reading the list of mounted file systems and it returns an array of 'struct statfs'. (4.4BSD, Darwin) */ #undef MOUNTED_GETMNTINFO /* Define if there is a function named getmntinfo for reading the list of mounted file systems and it returns an array of 'struct statvfs'. (NetBSD 3.0) */ #undef MOUNTED_GETMNTINFO2 /* Define if there is a function named listmntent that can be used to list all mounted file systems. (UNICOS) */ #undef MOUNTED_LISTMNTENT /* Define if there is a function named mntctl that can be used to read the list of mounted file systems, and there is a system header file that declares `struct vmount.' (AIX) */ #undef MOUNTED_VMOUNT /* Define to 1 if assertions should be disabled. */ #undef NDEBUG /* Define if the vasnprintf implementation needs special code for the 'a' and 'A' directives. */ #undef NEED_PRINTF_DIRECTIVE_A /* Define if the vasnprintf implementation needs special code for the 'F' directive. */ #undef NEED_PRINTF_DIRECTIVE_F /* Define if the vasnprintf implementation needs special code for 'double' arguments. */ #undef NEED_PRINTF_DOUBLE /* Define if the vasnprintf implementation needs special code for surviving out-of-memory conditions. */ #undef NEED_PRINTF_ENOMEM /* Define if the vasnprintf implementation needs special code for the ' flag. */ #undef NEED_PRINTF_FLAG_GROUPING /* Define if the vasnprintf implementation needs special code for the '-' flag. */ #undef NEED_PRINTF_FLAG_LEFTADJUST /* Define if the vasnprintf implementation needs special code for the 0 flag. */ #undef NEED_PRINTF_FLAG_ZERO /* Define if the vasnprintf implementation needs special code for infinite 'double' arguments. */ #undef NEED_PRINTF_INFINITE_DOUBLE /* Define if the vasnprintf implementation needs special code for infinite 'long double' arguments. */ #undef NEED_PRINTF_INFINITE_LONG_DOUBLE /* Define if the vasnprintf implementation needs special code for 'long double' arguments. */ #undef NEED_PRINTF_LONG_DOUBLE /* Define if the vasnprintf implementation needs special code for supporting large precisions without arbitrary bounds. */ #undef NEED_PRINTF_UNBOUNDED_PRECISION /* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend on `HAVE_STRUCT_NLIST_N_UN_N_NAME */ #undef NLIST_NAME_UNION /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* the number of pending output bytes on stream `fp' */ #undef PENDING_OUTPUT_N_BYTES /* Define to the maximum link count that a true pipe can have. */ #undef PIPE_LINK_COUNT_MAX /* Define if exists and defines unusable PRI* macros. */ #undef PRI_MACROS_BROKEN /* Define to 1 if the C compiler supports function prototypes. */ #undef PROTOTYPES /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'ptrdiff_t'. */ #undef PTRDIFF_T_SUFFIX /* Define if rename does not work for source file names with a trailing slash, like the one from SunOS 4.1.1_U1. */ #undef RENAME_TRAILING_SLASH_BUG /* Define this to 1 if strerror is broken. */ #undef REPLACE_STRERROR /* Define if vasnprintf exists but is overridden by gnulib. */ #undef REPLACE_VASNPRINTF /* the value to which errno is set when rmdir fails on a nonempty directory */ #undef RMDIR_ERRNO_NOT_EMPTY /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'sig_atomic_t'. */ #undef SIG_ATOMIC_T_SUFFIX /* Define as the maximum value of type 'size_t', if the system doesn't define it. */ #undef SIZE_MAX /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'size_t'. */ #undef SIZE_T_SUFFIX /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION /* Define if the block counts reported by statfs may be truncated to 2GB and the correct values may be stored in the f_spare array. (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. SunOS 4.1.1 seems not to be affected.) */ #undef STATFS_TRUNCATES_BLOCK_COUNTS /* Define to 1 if the `S_IS*' macros in do not work properly. */ #undef STAT_MACROS_BROKEN /* Define if there is no specific function for reading file systems usage information and you have the header file. (SVR2) */ #undef STAT_READ_FILSYS /* Define if statfs takes 2 args and struct statfs has a field named f_bsize. (4.3BSD, SunOS 4, HP-UX, AIX PS/2) */ #undef STAT_STATFS2_BSIZE /* Define if statfs takes 2 args and struct statfs has a field named f_fsize. (4.4BSD, NetBSD) */ #undef STAT_STATFS2_FSIZE /* Define if statfs takes 2 args and the second argument has type struct fs_data. (Ultrix) */ #undef STAT_STATFS2_FS_DATA /* Define if statfs takes 3 args. (DEC Alpha running OSF/1) */ #undef STAT_STATFS3_OSF1 /* Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin) */ #undef STAT_STATFS4 /* Define if there is a function named statvfs. (SVR4) */ #undef STAT_STATVFS /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if strerror_r returns char *. */ #undef STRERROR_R_CHAR_P /* Define to 1 if the f_fsid member of struct statfs is an integer. */ #undef STRUCT_STATFS_F_FSID_IS_INTEGER /* Define to 1 if the f_fsid member of struct statvfs is an integer. */ #undef STRUCT_STATVFS_F_FSID_IS_INTEGER /* Define to 1 on System V Release 4. */ #undef SVR4 /* FIXME */ #undef TERMIOS_NEEDS_XOPEN_SOURCE /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Define to 1 if the type of the st_atim member of a struct stat is struct timespec. */ #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC /* Define if tzset clobbers localtime's static buffer. */ #undef TZSET_CLOBBERS_LOCALTIME /* Define to 1 for Encore UMAX. */ #undef UMAX /* Define to 1 for Encore UMAX 4.3 that has instead of . */ #undef UMAX4_3 /* Define to 1 if unlink (dir) cannot possibly succeed. */ #undef UNLINK_CANNOT_UNLINK_DIR /* Define if hdparm is requested for detecting HPA/DCO. */ #undef USE_HDPARM /* Define to 1 if you want getc etc. to use unlocked I/O if available. Unlocked I/O can improve performance in unithreaded apps, but it is not safe for multithreaded apps. */ #undef USE_UNLOCKED_IO /* Version number of package */ #undef VERSION /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'wchar_t'. */ #undef WCHAR_T_SUFFIX /* Define if sys/ptem.h is required for struct winsize. */ #undef WINSIZE_IN_PTEM /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'wint_t'. */ #undef WINT_T_SUFFIX /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ #undef WORDS_BIGENDIAN /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ #undef _LARGEFILE_SOURCE /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE /* Define if you want regoff_t to be at least as wide POSIX requires. */ #undef _REGEX_LARGE_OFFSETS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Define to rpl_ if the getopt replacement functions and variables should be used. */ #undef __GETOPT_PREFIX /* Define to rpl_ if the openat replacement function should be used. */ #undef __OPENAT_PREFIX /* Define like PROTOTYPES; this can be used by system headers. */ #undef __PROTOTYPES /* Ensure that defines the limit macros, since gnulib's relies on them. */ #if defined __cplusplus && !defined __STDC_LIMIT_MACROS && GL_TRIGGER_STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS 1 #endif /* Define to rpl_calloc if the replacement function should be used. */ #undef calloc /* Define to rpl_fchownat if the replacement function should be used. */ #undef fchownat /* Define to a replacement function name for fnmatch(). */ #undef fnmatch /* Define as rpl_getgroups if getgroups doesn't work right. */ #undef getgroups /* Define to a replacement function name for getpass(). */ #undef getpass /* Define to `int' if doesn't define. */ #undef gid_t /* A replacement for va_copy, if needed. */ #define gl_va_copy(a,b) ((a) = (b)) /* Define to rpl_gmtime if the replacement function should be used. */ #undef gmtime /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define to `unsigned long int' if does not define. */ #undef ino_t /* Define to long or long long if and don't define. */ #undef intmax_t /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. __APPLE__ && __MACH__ test for MacOS X. __APPLE_CC__ tests for the Apple compiler and its version. __STDC_VERSION__ tests for the C99 mode. */ #if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ # define __GNUC_STDC_INLINE__ 1 #endif /* Define to rpl_localtime if the replacement function should be used. */ #undef localtime /* Define to `unsigned int' if does not define. */ #undef major_t /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to a type if does not define. */ #undef mbstate_t /* Define to rpl_memcmp if the replacement function should be used. */ #undef memcmp /* Define to `unsigned int' if does not define. */ #undef minor_t /* Define to rpl_mktime if the replacement function should be used. */ #undef mktime /* Define to `int' if does not define. */ #undef mode_t /* Define to the name of the strftime replacement function. */ #undef my_strftime /* Define to the type of st_nlink in struct stat, or a supertype. */ #undef nlink_t /* Define to `long int' if does not define. */ #undef off_t /* Define to `int' if does not define. */ #undef pid_t /* Define as the type of the result of subtracting two pointers, if the system doesn't define it. */ #undef ptrdiff_t /* Define to rpl_re_comp if the replacement should be used. */ #undef re_comp /* Define to rpl_re_compile_fastmap if the replacement should be used. */ #undef re_compile_fastmap /* Define to rpl_re_compile_pattern if the replacement should be used. */ #undef re_compile_pattern /* Define to rpl_re_exec if the replacement should be used. */ #undef re_exec /* Define to rpl_re_match if the replacement should be used. */ #undef re_match /* Define to rpl_re_match_2 if the replacement should be used. */ #undef re_match_2 /* Define to rpl_re_search if the replacement should be used. */ #undef re_search /* Define to rpl_re_search_2 if the replacement should be used. */ #undef re_search_2 /* Define to rpl_re_set_registers if the replacement should be used. */ #undef re_set_registers /* Define to rpl_re_set_syntax if the replacement should be used. */ #undef re_set_syntax /* Define to rpl_re_syntax_options if the replacement should be used. */ #undef re_syntax_options /* Define to rpl_realloc if the replacement function should be used. */ #undef realloc /* Define to rpl_regcomp if the replacement should be used. */ #undef regcomp /* Define to rpl_regerror if the replacement should be used. */ #undef regerror /* Define to rpl_regexec if the replacement should be used. */ #undef regexec /* Define to rpl_regfree if the replacement should be used. */ #undef regfree /* Define to rpl_rename_dest_slash if the replacement function should be used. */ #undef rename /* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict /* Work around a bug in Sun C++: it does not support _Restrict, even though the corresponding Sun C compiler does, which causes "#define restrict _Restrict" in the previous line. Perhaps some future version of Sun C++ will work with _Restrict; if so, it'll probably define __RESTRICT, just as Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict #endif /* Define to `unsigned int' if does not define. */ #undef size_t /* type to use in place of socklen_t if not defined */ #undef socklen_t /* Define as a signed type of the same size as size_t. */ #undef ssize_t /* Define to rpl_strnlen if the replacement function should be used. */ #undef strnlen /* Define to rpl_tzset if the wrapper function should be used. */ #undef tzset /* Define to `int' if doesn't define. */ #undef uid_t /* Define to rpl_utime if the replacement function should be used. */ #undef utime /* Define as a macro for copying va_list variables. */ #undef va_copy /* Define as `fork' if `vfork' does not work. */ #undef vfork /* Define to empty if the keyword `volatile' does not work. Warning: valid code using `volatile' can become incorrect without. Disable with care. */ #undef volatile dc3dd-7.1.614/lib/freadahead.h0000644000175000017500000000246111064230667015432 0ustar amedicoamedico/* Retrieve information about a FILE stream. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #ifdef __cplusplus extern "C" { #endif /* Assuming the stream STREAM is open for reading: Return the number of bytes waiting in the input buffer of STREAM. This includes both the bytes that have been read from the underlying input source and the bytes that have been pushed back through 'ungetc'. If this number is 0 and the stream is not currently writing, fflush (STREAM) is known to be a no-op. STREAM must not be wide-character oriented. */ extern size_t freadahead (FILE *stream); #ifdef __cplusplus } #endif dc3dd-7.1.614/lib/verify.h0000644000175000017500000001271711022023316014660 0ustar amedicoamedico/* Compile-time assert-like macros. Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ #ifndef VERIFY_H # define VERIFY_H 1 /* Each of these macros verifies that its argument R is nonzero. To be portable, R should be an integer constant expression. Unlike assert (R), there is no run-time overhead. There are two macros, since no single macro can be used in all contexts in C. verify_true (R) is for scalar contexts, including integer constant expression contexts. verify (R) is for declaration contexts, e.g., the top level. Symbols ending in "__" are private to this header. The code below uses several ideas. * The first step is ((R) ? 1 : -1). Given an expression R, of integral or boolean or floating-point type, this yields an expression of integral type, whose value is later verified to be constant and nonnegative. * Next this expression W is wrapped in a type struct verify_type__ { unsigned int verify_error_if_negative_size__: W; }. If W is negative, this yields a compile-time error. No compiler can deal with a bit-field of negative size. One might think that an array size check would have the same effect, that is, that the type struct { unsigned int dummy[W]; } would work as well. However, inside a function, some compilers (such as C++ compilers and GNU C) allow local parameters and variables inside array size expressions. With these compilers, an array size check would not properly diagnose this misuse of the verify macro: void function (int n) { verify (n < 0); } * For the verify macro, the struct verify_type__ will need to somehow be embedded into a declaration. To be portable, this declaration must declare an object, a constant, a function, or a typedef name. If the declared entity uses the type directly, such as in struct dummy {...}; typedef struct {...} dummy; extern struct {...} *dummy; extern void dummy (struct {...} *); extern struct {...} *dummy (void); two uses of the verify macro would yield colliding declarations if the entity names are not disambiguated. A workaround is to attach the current line number to the entity name: #define GL_CONCAT0(x, y) x##y #define GL_CONCAT(x, y) GL_CONCAT0 (x, y) extern struct {...} * GL_CONCAT(dummy,__LINE__); But this has the problem that two invocations of verify from within the same macro would collide, since the __LINE__ value would be the same for both invocations. A solution is to use the sizeof operator. It yields a number, getting rid of the identity of the type. Declarations like extern int dummy [sizeof (struct {...})]; extern void dummy (int [sizeof (struct {...})]); extern int (*dummy (void)) [sizeof (struct {...})]; can be repeated. * Should the implementation use a named struct or an unnamed struct? Which of the following alternatives can be used? extern int dummy [sizeof (struct {...})]; extern int dummy [sizeof (struct verify_type__ {...})]; extern void dummy (int [sizeof (struct {...})]); extern void dummy (int [sizeof (struct verify_type__ {...})]); extern int (*dummy (void)) [sizeof (struct {...})]; extern int (*dummy (void)) [sizeof (struct verify_type__ {...})]; In the second and sixth case, the struct type is exported to the outer scope; two such declarations therefore collide. GCC warns about the first, third, and fourth cases. So the only remaining possibility is the fifth case: extern int (*dummy (void)) [sizeof (struct {...})]; * This implementation exploits the fact that GCC does not warn about the last declaration mentioned above. If a future version of GCC introduces a warning for this, the problem could be worked around by using code specialized to GCC, e.g.,: #if 4 <= __GNUC__ # define verify(R) \ extern int (* verify_function__ (void)) \ [__builtin_constant_p (R) && (R) ? 1 : -1] #endif * In C++, any struct definition inside sizeof is invalid. Use a template type to work around the problem. */ /* Verify requirement R at compile-time, as an integer constant expression. Return 1. */ # ifdef __cplusplus template struct verify_type__ { unsigned int verify_error_if_negative_size__: w; }; # define verify_true(R) \ (!!sizeof (verify_type__<(R) ? 1 : -1>)) # else # define verify_true(R) \ (!!sizeof \ (struct { unsigned int verify_error_if_negative_size__: (R) ? 1 : -1; })) # endif /* Verify requirement R at compile-time, as a declaration without a trailing ';'. */ # define verify(R) extern int (* verify_function__ (void)) [verify_true (R)] #endif dc3dd-7.1.614/lib/hash.h0000644000175000017500000000606011022023316014271 0ustar amedicoamedico/* hash - hashing table processing. Copyright (C) 1998, 1999, 2001, 2003 Free Software Foundation, Inc. Written by Jim Meyering , 1998. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* A generic hash table package. */ /* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use obstacks instead of malloc, and recompile `hash.c' with same setting. */ #ifndef HASH_H_ # define HASH_H_ # include # include typedef size_t (*Hash_hasher) (const void *, size_t); typedef bool (*Hash_comparator) (const void *, const void *); typedef void (*Hash_data_freer) (void *); typedef bool (*Hash_processor) (void *, void *); struct hash_entry { void *data; struct hash_entry *next; }; struct hash_tuning { /* This structure is mainly used for `hash_initialize', see the block documentation of `hash_reset_tuning' for more complete comments. */ float shrink_threshold; /* ratio of used buckets to trigger a shrink */ float shrink_factor; /* ratio of new smaller size to original size */ float growth_threshold; /* ratio of used buckets to trigger a growth */ float growth_factor; /* ratio of new bigger size to original size */ bool is_n_buckets; /* if CANDIDATE really means table size */ }; typedef struct hash_tuning Hash_tuning; struct hash_table; typedef struct hash_table Hash_table; /* Information and lookup. */ size_t hash_get_n_buckets (const Hash_table *); size_t hash_get_n_buckets_used (const Hash_table *); size_t hash_get_n_entries (const Hash_table *); size_t hash_get_max_bucket_length (const Hash_table *); bool hash_table_ok (const Hash_table *); void hash_print_statistics (const Hash_table *, FILE *); void *hash_lookup (const Hash_table *, const void *); /* Walking. */ void *hash_get_first (const Hash_table *); void *hash_get_next (const Hash_table *, const void *); size_t hash_get_entries (const Hash_table *, void **, size_t); size_t hash_do_for_each (const Hash_table *, Hash_processor, void *); /* Allocation and clean-up. */ size_t hash_string (const char *, size_t); void hash_reset_tuning (Hash_tuning *); Hash_table *hash_initialize (size_t, const Hash_tuning *, Hash_hasher, Hash_comparator, Hash_data_freer); void hash_clear (Hash_table *); void hash_free (Hash_table *); /* Insertion and deletion. */ bool hash_rehash (Hash_table *, size_t); void *hash_insert (Hash_table *, const void *); void *hash_delete (Hash_table *, const void *); #endif dc3dd-7.1.614/lib/base64.h0000644000175000017500000000415111064230667014450 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* base64.h -- Encode binary data using printable characters. Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 BASE64_H # define BASE64_H /* Get size_t. */ # include /* Get bool. */ # include /* This uses that the expression (n+(k-1))/k means the smallest integer >= n/k, i.e., the ceiling of n/k. */ # define BASE64_LENGTH(inlen) ((((inlen) + 2) / 3) * 4) struct base64_decode_context { unsigned int i; char buf[4]; }; extern bool isbase64 (char ch); extern void base64_encode (const char *restrict in, size_t inlen, char *restrict out, size_t outlen); extern size_t base64_encode_alloc (const char *in, size_t inlen, char **out); extern void base64_decode_ctx_init (struct base64_decode_context *ctx); extern bool base64_decode_ctx (struct base64_decode_context *ctx, const char *restrict in, size_t inlen, char *restrict out, size_t *outlen); extern bool base64_decode_alloc_ctx (struct base64_decode_context *ctx, const char *in, size_t inlen, char **out, size_t *outlen); #define base64_decode(in, inlen, out, outlen) \ base64_decode_ctx (NULL, in, inlen, out, outlen) #define base64_decode_alloc(in, inlen, out, outlen) \ base64_decode_alloc_ctx (NULL, in, inlen, out, outlen) #endif /* BASE64_H */ dc3dd-7.1.614/lib/signbitl.c0000644000175000017500000000405411022023316015155 0ustar amedicoamedico/* signbit() macro: Determine the sign bit of a floating-point number. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include #include #include "isnanl-nolibm.h" #include "float+.h" #undef gl_signbitl int gl_signbitl (long double arg) { #if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT /* The use of a union to extract the bits of the representation of a 'long double' is safe in practice, despite of the "aliasing rules" of C99, because the GCC docs say "Even with '-fstrict-aliasing', type-punning is allowed, provided the memory is accessed through the union type." and similarly for other compilers. */ # define NWORDS \ ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) union { long double value; unsigned int word[NWORDS]; } m; m.value = arg; return (m.word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; #elif HAVE_COPYSIGNL_IN_LIBC return copysignl (1.0L, arg) < 0; #else /* This does not do the right thing for NaN, but this is irrelevant for most use cases. */ if (isnanl (arg)) return 0; if (arg < 0.0L) return 1; else if (arg == 0.0L) { /* Distinguish 0.0L and -0.0L. */ static long double plus_zero = 0.0L; long double arg_mem = arg; return (memcmp (&plus_zero, &arg_mem, SIZEOF_LDBL) != 0); } else return 0; #endif } dc3dd-7.1.614/lib/open-safer.c0000644000175000017500000000257111022023316015403 0ustar amedicoamedico/* Invoke open, but avoid some glitches. Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "fcntl-safer.h" #include #include #include "unistd-safer.h" int open_safer (char const *file, int flags, ...) { mode_t mode = 0; if (flags & O_CREAT) { va_list ap; va_start (ap, flags); /* Assume mode_t promotes to int if and only if it is smaller. This assumption isn't guaranteed by the C standard, but we don't know of any real-world counterexamples. */ mode = (sizeof (mode_t) < sizeof (int) ? va_arg (ap, int) : va_arg (ap, mode_t)); va_end (ap); } return fd_safer (open (file, flags, mode)); } dc3dd-7.1.614/lib/randread.c0000644000175000017500000001726011022023316015125 0ustar amedicoamedico/* Generate buffers of random data. Copyright (C) 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "randread.h" #include #include #include #include #include #include #include #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #include "rand-isaac.h" #include "stdio-safer.h" #include "unlocked-io.h" #include "xalloc.h" #ifndef MIN # define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) # endif #endif #ifndef ATTRIBUTE_UNUSED # define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) #endif #if _STRING_ARCH_unaligned # define ALIGNED_POINTER(ptr, type) true #else # define alignof(type) offsetof (struct { char c; type x; }, x) # define ALIGNED_POINTER(ptr, type) ((size_t) (ptr) % alignof (type) == 0) #endif #ifndef DEFAULT_RANDOM_FILE # define DEFAULT_RANDOM_FILE "/dev/urandom" #endif /* The maximum buffer size used for reads of random data. Using the value 2 * ISAAC_BYTES makes this the largest power of two that would not otherwise cause struct randread_source to grow. */ #define RANDREAD_BUFFER_SIZE (2 * ISAAC_BYTES) /* A source of random data for generating random buffers. */ struct randread_source { /* Stream to read random bytes from. If null, the behavior is undefined; the current implementation uses ISAAC in this case, but this is for old-fashioned implementations that lack /dev/urandom and callers should not rely on this. */ FILE *source; /* Function to call, and its argument, if there is an input error or end of file when reading from the stream; errno is nonzero if there was an error. If this function returns, it should fix the problem before returning. The default handler assumes that handler_arg is the file name of the source. */ void (*handler) (void const *); void const *handler_arg; /* The buffer for SOURCE. It's kept here to simplify storage allocation and to make it easier to clear out buffered random data. */ union { /* The stream buffer, if SOURCE is not null. */ char c[RANDREAD_BUFFER_SIZE]; /* The buffered ISAAC pseudorandom buffer, if SOURCE is null. */ struct isaac { /* The number of bytes that are buffered at the end of data.b. */ size_t buffered; /* State of the ISAAC generator. */ struct isaac_state state; /* Up to a buffer's worth of pseudorandom data. */ union { uint32_t w[ISAAC_WORDS]; unsigned char b[ISAAC_BYTES]; } data; } isaac; } buf; }; /* The default error handler. */ static void randread_error (void const *file_name) { if (file_name) error (exit_failure, errno, _(errno == 0 ? "%s: end of file" : "%s: read error"), quotearg_colon (file_name)); abort (); } /* Simply return a new randread_source object with the default error handler. */ static struct randread_source * simple_new (FILE *source, void const *handler_arg) { struct randread_source *s = xmalloc (sizeof *s); s->source = source; s->handler = randread_error; s->handler_arg = handler_arg; return s; } /* Create and initialize a random data source from NAME, or use a reasonable default source if NAME is null. BYTES_BOUND is an upper bound on the number of bytes that will be needed. If zero, it is a hard bound; otherwise it is just an estimate. If NAME is not null, NAME is saved for use as the argument of the default handler. Unless a non-default handler is used, NAME's lifetime should be at least that of the returned value. Return NULL (setting errno) on failure. */ struct randread_source * randread_new (char const *name, size_t bytes_bound) { if (bytes_bound == 0) return simple_new (NULL, NULL); else { char const *file_name = (name ? name : DEFAULT_RANDOM_FILE); FILE *source = fopen_safer (file_name, "rb"); struct randread_source *s; if (! source) { if (name) return NULL; file_name = NULL; } s = simple_new (source, file_name); if (source) setvbuf (source, s->buf.c, _IOFBF, MIN (sizeof s->buf.c, bytes_bound)); else { s->buf.isaac.buffered = 0; isaac_seed (&s->buf.isaac.state); } return s; } } /* Set S's handler and its argument. HANDLER (HANDLER_ARG) is called when there is a read error or end of file from the random data source; errno is nonzero if there was an error. If HANDLER returns, it should fix the problem before returning. The default handler assumes that handler_arg is the file name of the source; it does not return. */ void randread_set_handler (struct randread_source *s, void (*handler) (void const *)) { s->handler = handler; } void randread_set_handler_arg (struct randread_source *s, void const *handler_arg) { s->handler_arg = handler_arg; } /* Place SIZE random bytes into the buffer beginning at P, using the stream in S. */ static void readsource (struct randread_source *s, unsigned char *p, size_t size) { for (;;) { size_t inbytes = fread (p, sizeof *p, size, s->source); int fread_errno = errno; p += inbytes; size -= inbytes; if (size == 0) break; errno = (ferror (s->source) ? fread_errno : 0); s->handler (s->handler_arg); } } /* Place SIZE pseudorandom bytes into the buffer beginning at P, using the buffered ISAAC generator in ISAAC. */ static void readisaac (struct isaac *isaac, unsigned char *p, size_t size) { size_t inbytes = isaac->buffered; for (;;) { if (size <= inbytes) { memcpy (p, isaac->data.b + ISAAC_BYTES - inbytes, size); isaac->buffered = inbytes - size; return; } memcpy (p, isaac->data.b + ISAAC_BYTES - inbytes, inbytes); p += inbytes; size -= inbytes; /* If P is aligned, write to *P directly to avoid the overhead of copying from the buffer. */ if (ALIGNED_POINTER (p, uint32_t)) { uint32_t *wp = (uint32_t *) p; while (ISAAC_BYTES <= size) { isaac_refill (&isaac->state, wp); wp += ISAAC_WORDS; size -= ISAAC_BYTES; if (size == 0) { isaac->buffered = 0; return; } } p = (unsigned char *) wp; } isaac_refill (&isaac->state, isaac->data.w); inbytes = ISAAC_BYTES; } } /* Consume random data from *S to generate a random buffer BUF of size SIZE. */ void randread (struct randread_source *s, void *buf, size_t size) { if (s->source) readsource (s, buf, size); else readisaac (&s->buf.isaac, buf, size); } /* Clear *S so that it no longer contains undelivered random data, and deallocate any system resources associated with *S. Return 0 if successful, a negative number (setting errno) if not (this is rare, but can occur in theory if there is an input error). */ int randread_free (struct randread_source *s) { FILE *source = s->source; memset (s, 0, sizeof *s); free (s); return (source ? fclose (source) : 0); } dc3dd-7.1.614/lib/fnmatch.in.h0000644000175000017500000000466211064230667015420 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2005, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _FNMATCH_H #define _FNMATCH_H 1 #ifdef __cplusplus extern "C" { #endif /* We #undef these before defining them because some losing systems (HP-UX A.08.07 for example) define these in . */ #undef FNM_PATHNAME #undef FNM_NOESCAPE #undef FNM_PERIOD /* Bits set in the FLAGS argument to `fnmatch'. */ #define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */ #define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ #define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */ #if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE # define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ # define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */ # define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ # define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */ #endif /* Value returned by `fnmatch' if STRING does not match PATTERN. */ #define FNM_NOMATCH 1 /* This value is returned if the implementation does not support `fnmatch'. Since this is not the case here it will never be returned but the conformance test suites still require the symbol to be defined. */ #ifdef _XOPEN_SOURCE # define FNM_NOSYS (-1) #endif /* Match NAME against the file name pattern PATTERN, returning zero if it matches, FNM_NOMATCH if not. */ extern int fnmatch (const char *__pattern, const char *__name, int __flags); #ifdef __cplusplus } #endif #endif /* fnmatch.h */ dc3dd-7.1.614/lib/idcache.c0000644000175000017500000001346511022023316014730 0ustar amedicoamedico/* idcache.c -- map user and group IDs, cached for speed Copyright (C) 1985, 1988, 1989, 1990, 1997, 1998, 2003, 2005-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "idcache.h" #include #include #include #include #include #include #include "xalloc.h" #ifdef __DJGPP__ static char digits[] = "0123456789"; #endif struct userid { union { uid_t u; gid_t g; } id; struct userid *next; char name[FLEXIBLE_ARRAY_MEMBER]; }; /* FIXME: provide a function to free any malloc'd storage and reset lists, so that an application can use code like this just before exiting: #ifdef lint idcache_clear (); #endif */ static struct userid *user_alist; /* Each entry on list is a user name for which the first lookup failed. */ static struct userid *nouser_alist; /* Use the same struct as for userids. */ static struct userid *group_alist; /* Each entry on list is a group name for which the first lookup failed. */ static struct userid *nogroup_alist; /* Translate UID to a login name, with cache, or NULL if unresolved. */ char * getuser (uid_t uid) { struct userid *tail; struct userid *match = NULL; for (tail = user_alist; tail; tail = tail->next) { if (tail->id.u == uid) { match = tail; break; } } if (match == NULL) { struct passwd *pwent = getpwuid (uid); char const *name = pwent ? pwent->pw_name : ""; match = xmalloc (offsetof (struct userid, name) + strlen (name) + 1); match->id.u = uid; strcpy (match->name, name); /* Add to the head of the list, so most recently used is first. */ match->next = user_alist; user_alist = match; } return match->name[0] ? match->name : NULL; } /* Translate USER to a UID, with cache. Return NULL if there is no such user. (We also cache which user names have no passwd entry, so we don't keep looking them up.) */ uid_t * getuidbyname (const char *user) { struct userid *tail; struct passwd *pwent; for (tail = user_alist; tail; tail = tail->next) /* Avoid a function call for the most common case. */ if (*tail->name == *user && !strcmp (tail->name, user)) return &tail->id.u; for (tail = nouser_alist; tail; tail = tail->next) /* Avoid a function call for the most common case. */ if (*tail->name == *user && !strcmp (tail->name, user)) return NULL; pwent = getpwnam (user); #ifdef __DJGPP__ /* We need to pretend to be the user USER, to make pwd functions know about an arbitrary user name. */ if (!pwent && strspn (user, digits) < strlen (user)) { setenv ("USER", user, 1); pwent = getpwnam (user); /* now it will succeed */ } #endif tail = xmalloc (offsetof (struct userid, name) + strlen (user) + 1); strcpy (tail->name, user); /* Add to the head of the list, so most recently used is first. */ if (pwent) { tail->id.u = pwent->pw_uid; tail->next = user_alist; user_alist = tail; return &tail->id.u; } tail->next = nouser_alist; nouser_alist = tail; return NULL; } /* Translate GID to a group name, with cache, or NULL if unresolved. */ char * getgroup (gid_t gid) { struct userid *tail; struct userid *match = NULL; for (tail = group_alist; tail; tail = tail->next) { if (tail->id.g == gid) { match = tail; break; } } if (match == NULL) { struct group *grent = getgrgid (gid); char const *name = grent ? grent->gr_name : ""; match = xmalloc (offsetof (struct userid, name) + strlen (name) + 1); match->id.g = gid; strcpy (match->name, name); /* Add to the head of the list, so most recently used is first. */ match->next = group_alist; group_alist = match; } return match->name[0] ? match->name : NULL; } /* Translate GROUP to a GID, with cache. Return NULL if there is no such group. (We also cache which group names have no group entry, so we don't keep looking them up.) */ gid_t * getgidbyname (const char *group) { struct userid *tail; struct group *grent; for (tail = group_alist; tail; tail = tail->next) /* Avoid a function call for the most common case. */ if (*tail->name == *group && !strcmp (tail->name, group)) return &tail->id.g; for (tail = nogroup_alist; tail; tail = tail->next) /* Avoid a function call for the most common case. */ if (*tail->name == *group && !strcmp (tail->name, group)) return NULL; grent = getgrnam (group); #ifdef __DJGPP__ /* We need to pretend to belong to group GROUP, to make grp functions know about an arbitrary group name. */ if (!grent && strspn (group, digits) < strlen (group)) { setenv ("GROUP", group, 1); grent = getgrnam (group); /* now it will succeed */ } #endif tail = xmalloc (offsetof (struct userid, name) + strlen (group) + 1); strcpy (tail->name, group); /* Add to the head of the list, so most recently used is first. */ if (grent) { tail->id.g = grent->gr_gid; tail->next = group_alist; group_alist = tail; return &tail->id.g; } tail->next = nogroup_alist; nogroup_alist = tail; return NULL; } dc3dd-7.1.614/lib/getpass.h0000644000175000017500000000240611064230667015033 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* getpass.h -- Read a password of arbitrary length from /dev/tty or stdin. Copyright (C) 2004 Free Software Foundation, Inc. Contributed by Simon Josefsson , 2004. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 GETPASS_H # define GETPASS_H /* Get getpass declaration, if available. */ # include # if defined HAVE_DECL_GETPASS && !HAVE_DECL_GETPASS /* Read a password of arbitrary length from /dev/tty or stdin. */ char *getpass (const char *prompt); # endif #endif /* GETPASS_H */ dc3dd-7.1.614/lib/snprintf.c0000644000175000017500000000373311064230667015227 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Formatted output to strings. Copyright (C) 2004, 2006-2008 Free Software Foundation, Inc. Written by Simon Josefsson and Paul Eggert. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #include #include #include #include #include #include #include "vasnprintf.h" /* Print formatted output to string STR. Similar to sprintf, but additional length SIZE limit how much is written into STR. Returns string length of formatted string (which may be larger than SIZE). STR may be NULL, in which case nothing will be written. On error, return a negative value. */ int snprintf (char *str, size_t size, const char *format, ...) { char *output; size_t len; size_t lenbuf = size; va_list args; va_start (args, format); output = vasnprintf (str, &lenbuf, format, args); len = lenbuf; va_end (args); if (!output) return -1; if (output != str) { if (size) { size_t pruned_len = (len < size ? len : size - 1); memcpy (str, output, pruned_len); str[pruned_len] = '\0'; } free (output); } if (INT_MAX < len) { errno = EOVERFLOW; return -1; } return len; } dc3dd-7.1.614/lib/imaxtostr.c0000644000175000017500000000011211022023316015363 0ustar amedicoamedico#define inttostr imaxtostr #define inttype intmax_t #include "inttostr.c" dc3dd-7.1.614/lib/idcache.h0000644000175000017500000000035511022023316014727 0ustar amedicoamedico#ifndef IDCACHE_H # define IDCACHE_H 1 # include extern char *getuser (uid_t uid); extern char *getgroup (gid_t gid); extern uid_t *getuidbyname (const char *user); extern gid_t *getgidbyname (const char *group); #endif dc3dd-7.1.614/lib/printf-frexpl.h0000644000175000017500000000207011022023316016143 0ustar amedicoamedico/* Split a 'long double' into fraction and mantissa, for hexadecimal printf. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Write a finite, positive number x as x = mantissa * 2^exp where exp >= LDBL_MIN_EXP - 1, mantissa < 2.0, if x is not a denormalized number then mantissa >= 1.0. Store exp in *EXPPTR and return mantissa. */ extern long double printf_frexpl (long double x, int *expptr); dc3dd-7.1.614/lib/size_max.h0000644000175000017500000000245111064230667015204 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* size_max.h -- declare SIZE_MAX through system headers Copyright (C) 2005-2006 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 GNULIB_SIZE_MAX_H #define GNULIB_SIZE_MAX_H /* Get SIZE_MAX declaration on systems like Solaris 7/8/9. */ # include /* Get SIZE_MAX declaration on systems like glibc 2. */ # if HAVE_STDINT_H # include # endif /* On systems where these include files don't define it, SIZE_MAX is defined in config.h. */ #endif /* GNULIB_SIZE_MAX_H */ dc3dd-7.1.614/lib/memcasecmp.h0000644000175000017500000000154411022023316015462 0ustar amedicoamedico/* Case-insensitive buffer comparator. Copyright (C) 1996, 1998, 2003 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include int memcasecmp (const void *vs1, const void *vs2, size_t n); dc3dd-7.1.614/lib/c-strncasecmp.c0000644000175000017500000000333711064230667016126 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* c-strncasecmp.c -- case insensitive string comparator in C locale Copyright (C) 1998-1999, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #include "c-strcase.h" #include #include "c-ctype.h" int c_strncasecmp (const char *s1, const char *s2, size_t n) { register const unsigned char *p1 = (const unsigned char *) s1; register const unsigned char *p2 = (const unsigned char *) s2; unsigned char c1, c2; if (p1 == p2 || n == 0) return 0; do { c1 = c_tolower (*p1); c2 = c_tolower (*p2); if (--n == 0 || c1 == '\0') break; ++p1; ++p2; } while (c1 == c2); if (UCHAR_MAX <= INT_MAX) return c1 - c2; else /* On machines where 'char' and 'int' are types of the same size, the difference of two 'unsigned char' values - including the sign bit - doesn't fit in an 'int'. */ return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); } dc3dd-7.1.614/lib/sys_time.in.h0000644000175000017500000000274211064230667015631 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Provide a more complete sys/time.h. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Written by Paul Eggert. */ #if defined _GL_SYS_TIME_H /* Simply delegate to the system's header, without adding anything. */ # if @HAVE_SYS_TIME_H@ # @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ # endif #else # define _GL_SYS_TIME_H # if @HAVE_SYS_TIME_H@ # @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ # else # include # endif # if ! @HAVE_STRUCT_TIMEVAL@ struct timeval { time_t tv_sec; long int tv_usec; }; # endif # if @REPLACE_GETTIMEOFDAY@ # undef gettimeofday # define gettimeofday rpl_gettimeofday int gettimeofday (struct timeval *restrict, void *restrict); # endif #endif /* _GL_SYS_TIME_H */ dc3dd-7.1.614/lib/vprintf.c0000644000175000017500000000220511064230667015045 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Formatted output to a stream. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if 1 # include #endif /* Specification. */ #include #include /* Print formatted output to standard output. Return string length of formatted string. On error, return a negative value. */ int vprintf (const char *format, va_list args) { return vfprintf (stdout, format, args); } dc3dd-7.1.614/lib/md5.h0000644000175000017500000001004411064230667014047 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Declaration of functions and data types used for MD5 sum computing library functions. Copyright (C) 1995-1997,1999,2000,2001,2004,2005,2006,2008 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _MD5_H #define _MD5_H 1 #include #include #define MD5_DIGEST_SIZE 16 #define MD5_BLOCK_SIZE 64 #ifndef __GNUC_PREREQ # if defined __GNUC__ && defined __GNUC_MINOR__ # define __GNUC_PREREQ(maj, min) \ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) # else # define __GNUC_PREREQ(maj, min) 0 # endif #endif #ifndef __THROW # if defined __cplusplus && __GNUC_PREREQ (2,8) # define __THROW throw () # else # define __THROW # endif #endif #ifndef _LIBC # define __md5_buffer md5_buffer # define __md5_finish_ctx md5_finish_ctx # define __md5_init_ctx md5_init_ctx # define __md5_process_block md5_process_block # define __md5_process_bytes md5_process_bytes # define __md5_read_ctx md5_read_ctx # define __md5_stream md5_stream #endif /* Structure to save state of computation between the single steps. */ struct md5_ctx { uint32_t A; uint32_t B; uint32_t C; uint32_t D; uint32_t total[2]; uint32_t buflen; uint32_t buffer[32]; }; /* * The following three functions are build up the low level used in * the functions `md5_stream' and `md5_buffer'. */ /* Initialize structure containing state of computation. (RFC 1321, 3.3: Step 3) */ extern void __md5_init_ctx (struct md5_ctx *ctx) __THROW; /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is necessary that LEN is a multiple of 64!!! */ extern void __md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx) __THROW; /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is NOT required that LEN is a multiple of 64. */ extern void __md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx) __THROW; /* Process the remaining bytes in the buffer and put result from CTX in first 16 bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *__md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) __THROW; /* Put result from CTX in first 16 bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *__md5_read_ctx (const struct md5_ctx *ctx, void *resbuf) __THROW; /* Compute MD5 message digest for bytes read from STREAM. The resulting message digest number will be written into the 16 bytes beginning at RESBLOCK. */ extern int __md5_stream (FILE *stream, void *resblock) __THROW; /* Compute MD5 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *__md5_buffer (const char *buffer, size_t len, void *resblock) __THROW; #endif /* md5.h */ dc3dd-7.1.614/lib/sig2str.h0000644000175000017500000000252011022023316014740 0ustar amedicoamedico/* sig2str.h -- convert between signal names and numbers Copyright (C) 2002, 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include /* Don't override system declarations of SIG2STR_MAX, sig2str, str2sig. */ #ifndef SIG2STR_MAX # include "intprops.h" /* Size of a buffer needed to hold a signal name like "HUP". */ # define SIG2STR_MAX (sizeof "SIGRTMAX" + INT_STRLEN_BOUND (int) - 1) int sig2str (int, char *); int str2sig (char const *, int *); #endif /* An upper bound on signal numbers allowed by the system. */ #if defined _sys_nsig # define SIGNUM_BOUND (_sys_nsig - 1) #elif defined NSIG # define SIGNUM_BOUND (NSIG - 1) #else # define SIGNUM_BOUND 64 #endif dc3dd-7.1.614/lib/areadlink.h0000644000175000017500000000170211022023316015276 0ustar amedicoamedico/* Read symbolic links without size limitation. Copyright (C) 2001, 2003, 2004, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering */ #include extern char *areadlink (char const *filename); extern char *areadlink_with_size (char const *filename, size_t size_hint); dc3dd-7.1.614/lib/mbuiter.h0000644000175000017500000001632611022023316015023 0ustar amedicoamedico/* Iterating through multibyte strings: macros for multi-byte encodings. Copyright (C) 2001, 2005, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible . */ /* The macros in this file implement forward iteration through a multi-byte string, without knowing its length a-priori. With these macros, an iteration loop that looks like char *iter; for (iter = buf; *iter != '\0'; iter++) { do_something (*iter); } becomes mbui_iterator_t iter; for (mbui_init (iter, buf); mbui_avail (iter); mbui_advance (iter)) { do_something (mbui_cur_ptr (iter), mb_len (mbui_cur (iter))); } The benefit of these macros over plain use of mbrtowc is: - Handling of invalid multibyte sequences is possible without making the code more complicated, while still preserving the invalid multibyte sequences. Compared to mbiter.h, the macros here don't need to know the string's length a-priori. The downside is that at each step, the look-ahead that guards against overrunning the terminating '\0' is more expensive. The mbui_* macros are therefore suitable when there is a high probability that only the first few multibyte characters need to be inspected. Whereas the mbi_* macros are better if usually the iteration runs through the entire string. mbui_iterator_t is a type usable for variable declarations. mbui_init (iter, startptr) initializes the iterator, starting at startptr. mbui_avail (iter) returns true if there are more multibyte chracters available before the end of string is reached. In this case, mbui_cur (iter) is initialized to the next multibyte chracter. mbui_advance (iter) advances the iterator by one multibyte character. mbui_cur (iter) returns the current multibyte character, of type mbchar_t. All the macros defined in mbchar.h can be used on it. mbui_cur_ptr (iter) return a pointer to the beginning of the current multibyte character. mbui_reloc (iter, ptrdiff) relocates iterator when the string is moved by ptrdiff bytes. mbui_copy (&destiter, &srciter) copies srciter to destiter. Here are the function prototypes of the macros. extern void mbui_init (mbui_iterator_t iter, const char *startptr); extern bool mbui_avail (mbui_iterator_t iter); extern void mbui_advance (mbui_iterator_t iter); extern mbchar_t mbui_cur (mbui_iterator_t iter); extern const char * mbui_cur_ptr (mbui_iterator_t iter); extern void mbui_reloc (mbui_iterator_t iter, ptrdiff_t ptrdiff); extern void mbui_copy (mbui_iterator_t *new, const mbui_iterator_t *old); */ #ifndef _MBUITER_H #define _MBUITER_H 1 #include #include #include #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.1 has a bug: and must be included before . */ #include #include #include #include "mbchar.h" #include "strnlen1.h" struct mbuiter_multi { bool in_shift; /* true if next byte may not be interpreted as ASCII */ mbstate_t state; /* if in_shift: current shift state */ bool next_done; /* true if mbui_avail has already filled the following */ struct mbchar cur; /* the current character: const char *cur.ptr pointer to current character The following are only valid after mbui_avail. size_t cur.bytes number of bytes of current character bool cur.wc_valid true if wc is a valid wide character wchar_t cur.wc if wc_valid: the current character */ }; static inline void mbuiter_multi_next (struct mbuiter_multi *iter) { if (iter->next_done) return; if (iter->in_shift) goto with_shift; /* Handle most ASCII characters quickly, without calling mbrtowc(). */ if (is_basic (*iter->cur.ptr)) { /* These characters are part of the basic character set. ISO C 99 guarantees that their wide character code is identical to their char code. */ iter->cur.bytes = 1; iter->cur.wc = *iter->cur.ptr; iter->cur.wc_valid = true; } else { assert (mbsinit (&iter->state)); iter->in_shift = true; with_shift: iter->cur.bytes = mbrtowc (&iter->cur.wc, iter->cur.ptr, strnlen1 (iter->cur.ptr, MB_CUR_MAX), &iter->state); if (iter->cur.bytes == (size_t) -1) { /* An invalid multibyte sequence was encountered. */ iter->cur.bytes = 1; iter->cur.wc_valid = false; /* Whether to set iter->in_shift = false and reset iter->state or not is not very important; the string is bogus anyway. */ } else if (iter->cur.bytes == (size_t) -2) { /* An incomplete multibyte character at the end. */ iter->cur.bytes = strlen (iter->cur.ptr); iter->cur.wc_valid = false; /* Whether to set iter->in_shift = false and reset iter->state or not is not important; the string end is reached anyway. */ } else { if (iter->cur.bytes == 0) { /* A null wide character was encountered. */ iter->cur.bytes = 1; assert (*iter->cur.ptr == '\0'); assert (iter->cur.wc == 0); } iter->cur.wc_valid = true; /* When in the initial state, we can go back treating ASCII characters more quickly. */ if (mbsinit (&iter->state)) iter->in_shift = false; } } iter->next_done = true; } static inline void mbuiter_multi_reloc (struct mbuiter_multi *iter, ptrdiff_t ptrdiff) { iter->cur.ptr += ptrdiff; } static inline void mbuiter_multi_copy (struct mbuiter_multi *new_iter, const struct mbuiter_multi *old_iter) { if ((new_iter->in_shift = old_iter->in_shift)) memcpy (&new_iter->state, &old_iter->state, sizeof (mbstate_t)); else memset (&new_iter->state, 0, sizeof (mbstate_t)); new_iter->next_done = old_iter->next_done; mb_copy (&new_iter->cur, &old_iter->cur); } /* Iteration macros. */ typedef struct mbuiter_multi mbui_iterator_t; #define mbui_init(iter, startptr) \ ((iter).cur.ptr = (startptr), \ (iter).in_shift = false, memset (&(iter).state, '\0', sizeof (mbstate_t)), \ (iter).next_done = false) #define mbui_avail(iter) \ (mbuiter_multi_next (&(iter)), !mb_isnul ((iter).cur)) #define mbui_advance(iter) \ ((iter).cur.ptr += (iter).cur.bytes, (iter).next_done = false) /* Access to the current character. */ #define mbui_cur(iter) (iter).cur #define mbui_cur_ptr(iter) (iter).cur.ptr /* Relocation. */ #define mbui_reloc(iter, ptrdiff) mbuiter_multi_reloc (&iter, ptrdiff) /* Copying an iterator. */ #define mbui_copy mbuiter_multi_copy #endif /* _MBUITER_H */ dc3dd-7.1.614/lib/arpa_inet.in.h0000644000175000017500000000543611064230667015742 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* A GNU-like . Copyright (C) 2005-2006, 2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _GL_ARPA_INET_H /* Gnulib's sys/socket.h is responsible for pulling in winsock2.h etc under MinGW. */ #include #if @HAVE_ARPA_INET_H@ /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_ARPA_INET_H@ #endif #ifndef _GL_ARPA_INET_H #define _GL_ARPA_INET_H #if @GNULIB_INET_NTOP@ # if !@HAVE_DECL_INET_NTOP@ /* Converts an internet address from internal format to a printable, presentable format. AF is an internet address family, such as AF_INET or AF_INET6. SRC points to a 'struct in_addr' (for AF_INET) or 'struct in6_addr' (for AF_INET6). DST points to a buffer having room for CNT bytes. The printable representation of the address (in numeric form, not surrounded by [...], no reverse DNS is done) is placed in DST, and DST is returned. If an error occurs, the return value is NULL and errno is set. If CNT bytes are not sufficient to hold the result, the return value is NULL and errno is set to ENOSPC. A good value for CNT is 46. For more details, see the POSIX:2001 specification . */ extern const char *inet_ntop (int af, const void *restrict src, char *restrict dst, socklen_t cnt); # endif #elif defined GNULIB_POSIXCHECK # undef inet_ntop # define inet_ntop(af,src,dst,cnt) \ (GL_LINK_WARNING ("inet_ntop is unportable - " \ "use gnulib module inet_ntop for portability"), \ inet_ntop (af, src, dst, cnt)) #endif #if @GNULIB_INET_PTON@ # if !@HAVE_DECL_INET_PTON@ extern int inet_pton (int af, const char *restrict src, void *restrict dst); # endif #elif defined GNULIB_POSIXCHECK # undef inet_pton # define inet_pton(af,src,dst) \ (GL_LINK_WARNING ("inet_pton is unportable - " \ "use gnulib module inet_pton for portability"), \ inet_pton (af, src, dst)) #endif #endif /* _GL_ARPA_INET_H */ #endif /* _GL_ARPA_INET_H */ dc3dd-7.1.614/lib/inttostr.h0000644000175000017500000000201011022023316015223 0ustar amedicoamedico/* inttostr.h -- convert integers to printable strings Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert */ #include #include #include "intprops.h" char *offtostr (off_t, char *); char *imaxtostr (intmax_t, char *); char *umaxtostr (uintmax_t, char *); char *uinttostr (unsigned int, char *); dc3dd-7.1.614/lib/dirfd.h0000644000175000017500000000171411022023316014437 0ustar amedicoamedico/* Declare dirfd, if necessary. Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Jim Meyering. */ #include #include #ifndef HAVE_DECL_DIRFD "this configure-time declaration test was not run" #endif #if !HAVE_DECL_DIRFD && !defined dirfd int dirfd (DIR const *); #endif dc3dd-7.1.614/lib/free.c0000644000175000017500000000162411022023316014263 0ustar amedicoamedico/* Work around incompatibility on older systems where free (NULL) fails. Copyright (C) 2003, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Paul Eggert */ #include #undef free #include void rpl_free (void *p) { if (p) free (p); } dc3dd-7.1.614/lib/fprintftime.h0000644000175000017500000000231411022023316015673 0ustar amedicoamedico/* Generate time strings directly to the output. */ /* Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include /* A cross between fprintf and nstrftime, that prints directly to the output stream, without the need for the potentially large buffer that nstrftime would require. Output to stream FP the result of formatting (according to the nstrftime format string, FMT) the time data, *TM, and the UTC and NANOSECONDS values. */ size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm, int utc, int nanoseconds); dc3dd-7.1.614/lib/uniwidth.h0000644000175000017500000000375611064230667015231 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Display width functions. Copyright (C) 2001-2002, 2005, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 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 . */ #ifndef _UNIWIDTH_H #define _UNIWIDTH_H #include "unitypes.h" /* Get size_t. */ #include /* Get locale_charset() declaration. */ #include "localcharset.h" #ifdef __cplusplus extern "C" { #endif /* Display width. */ /* These functions are locale dependent. The encoding argument identifies the encoding (e.g. "ISO-8859-2" for Polish). */ /* Determine number of column positions required for UC. */ extern int uc_width (ucs4_t uc, const char *encoding); /* Determine number of column positions required for first N units (or fewer if S ends before this) in S. */ extern int u8_width (const uint8_t *s, size_t n, const char *encoding); extern int u16_width (const uint16_t *s, size_t n, const char *encoding); extern int u32_width (const uint32_t *s, size_t n, const char *encoding); /* Determine number of column positions required for S. */ extern int u8_strwidth (const uint8_t *s, const char *encoding); extern int u16_strwidth (const uint16_t *s, const char *encoding); extern int u32_strwidth (const uint32_t *s, const char *encoding); #ifdef __cplusplus } #endif #endif /* _UNIWIDTH_H */ dc3dd-7.1.614/lib/freadptr.h0000644000175000017500000000256611064230667015203 0ustar amedicoamedico/* Retrieve information about a FILE stream. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include #ifdef __cplusplus extern "C" { #endif /* Assuming the stream STREAM is open for reading: Return a pointer to the input buffer of STREAM, or NULL. If the returned pointer is non-NULL, *SIZEP is set to the (positive) size of the input buffer. If the returned pointer is NULL, you should use getc (STREAM), fgetc (STREAM), or fread (..., STREAM) to access the input from STREAM. The resulting pointer becomes invalid upon any operation on STREAM. STREAM must not be wide-character oriented. */ extern const char * freadptr (FILE *stream, size_t *sizep); #ifdef __cplusplus } #endif dc3dd-7.1.614/lib/getline.c0000644000175000017500000000214011064230667015002 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* getline.c --- Implementation of replacement getline function. Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Written by Simon Josefsson. */ #include #include ssize_t getline (char **lineptr, size_t *n, FILE *stream) { return getdelim (lineptr, n, '\n', stream); } dc3dd-7.1.614/lib/save-cwd.h0000644000175000017500000000203011022023316015050 0ustar amedicoamedico/* Save and restore current working directory. Copyright (C) 1995, 1997, 1998, 2003 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #ifndef SAVE_CWD_H # define SAVE_CWD_H 1 struct saved_cwd { int desc; char *name; }; int save_cwd (struct saved_cwd *cwd); int restore_cwd (const struct saved_cwd *cwd); void free_cwd (struct saved_cwd *cwd); #endif /* SAVE_CWD_H */ dc3dd-7.1.614/lib/xstrtoimax.c0000644000175000017500000000026111022023316015560 0ustar amedicoamedico#define __strtol strtoimax #define __strtol_t intmax_t #define __xstrtol xstrtoimax #define STRTOL_T_MINIMUM INTMAX_MIN #define STRTOL_T_MAXIMUM INTMAX_MAX #include "xstrtol.c" dc3dd-7.1.614/lib/error.c0000644000175000017500000001753511022023316014503 0ustar amedicoamedico/* Error handler for noninteractive utilities Copyright (C) 1990-1998, 2000-2007 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie . */ #if !_LIBC # include #endif #include "error.h" #include #include #include #include #if !_LIBC && ENABLE_NLS # include "gettext.h" # define _(msgid) gettext (msgid) #endif #ifdef _LIBC # include # include # include # include # define mbsrtowcs __mbsrtowcs #endif #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifndef _ # define _(String) String #endif /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this function without parameters instead. */ void (*error_print_progname) (void); /* This variable is incremented each time `error' is called. */ unsigned int error_message_count; #ifdef _LIBC /* In the GNU C library, there is a predefined variable for this. */ # define program_name program_invocation_name # include # include # include /* In GNU libc we want do not want to use the common name `error' directly. Instead make it a weak alias. */ extern void __error (int status, int errnum, const char *message, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern void __error_at_line (int status, int errnum, const char *file_name, unsigned int line_number, const char *message, ...) __attribute__ ((__format__ (__printf__, 5, 6)));; # define error __error # define error_at_line __error_at_line # include # define fflush(s) INTUSE(_IO_fflush) (s) # undef putc # define putc(c, fp) INTUSE(_IO_putc) (c, fp) # include #else /* not _LIBC */ # if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P # ifndef HAVE_DECL_STRERROR_R "this configure-time declaration test was not run" # endif char *strerror_r (); # endif /* The calling program should define program_name and set it to the name of the executing program. */ extern char *program_name; # if HAVE_STRERROR_R || defined strerror_r # define __strerror_r strerror_r # endif /* HAVE_STRERROR_R || defined strerror_r */ #endif /* not _LIBC */ static void print_errno_message (int errnum) { char const *s; #if defined HAVE_STRERROR_R || _LIBC char errbuf[1024]; # if STRERROR_R_CHAR_P || _LIBC s = __strerror_r (errnum, errbuf, sizeof errbuf); # else if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0) s = errbuf; else s = 0; # endif #else s = strerror (errnum); #endif #if !_LIBC if (! s) s = _("Unknown system error"); #endif #if _LIBC __fxprintf (NULL, ": %s", s); #else fprintf (stderr, ": %s", s); #endif } static void error_tail (int status, int errnum, const char *message, va_list args) { #if _LIBC if (_IO_fwide (stderr, 0) > 0) { # define ALLOCA_LIMIT 2000 size_t len = strlen (message) + 1; wchar_t *wmessage = NULL; mbstate_t st; size_t res; const char *tmp; bool use_malloc = false; while (1) { if (__libc_use_alloca (len * sizeof (wchar_t))) wmessage = (wchar_t *) alloca (len * sizeof (wchar_t)); else { if (!use_malloc) wmessage = NULL; wchar_t *p = (wchar_t *) realloc (wmessage, len * sizeof (wchar_t)); if (p == NULL) { free (wmessage); fputws_unlocked (L"out of memory\n", stderr); return; } wmessage = p; use_malloc = true; } memset (&st, '\0', sizeof (st)); tmp = message; res = mbsrtowcs (wmessage, &tmp, len, &st); if (res != len) break; if (__builtin_expect (len >= SIZE_MAX / 2, 0)) { /* This really should not happen if everything is fine. */ res = (size_t) -1; break; } len *= 2; } if (res == (size_t) -1) { /* The string cannot be converted. */ if (use_malloc) { free (wmessage); use_malloc = false; } wmessage = (wchar_t *) L"???"; } __vfwprintf (stderr, wmessage, args); if (use_malloc) free (wmessage); } else #endif vfprintf (stderr, message, args); va_end (args); ++error_message_count; if (errnum) print_errno_message (errnum); #if _LIBC __fxprintf (NULL, "\n"); #else putc ('\n', stderr); #endif fflush (stderr); if (status) exit (status); } /* Print the program name and error message MESSAGE, which is a printf-style format string with optional args. If ERRNUM is nonzero, print its corresponding system error message. Exit with status STATUS if it is nonzero. */ void error (int status, int errnum, const char *message, ...) { va_list args; #if defined _LIBC && defined __libc_ptf_call /* We do not want this call to be cut short by a thread cancellation. Therefore disable cancellation for now. */ int state = PTHREAD_CANCEL_ENABLE; __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state), 0); #endif fflush (stdout); #ifdef _LIBC _IO_flockfile (stderr); #endif if (error_print_progname) (*error_print_progname) (); else { #if _LIBC __fxprintf (NULL, "%s: ", program_name); #else fprintf (stderr, "%s: ", program_name); #endif } va_start (args, message); error_tail (status, errnum, message, args); #ifdef _LIBC _IO_funlockfile (stderr); # ifdef __libc_ptf_call __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); # endif #endif } /* Sometimes we want to have at most one error per line. This variable controls whether this mode is selected or not. */ int error_one_per_line; void error_at_line (int status, int errnum, const char *file_name, unsigned int line_number, const char *message, ...) { va_list args; if (error_one_per_line) { static const char *old_file_name; static unsigned int old_line_number; if (old_line_number == line_number && (file_name == old_file_name || strcmp (old_file_name, file_name) == 0)) /* Simply return and print nothing. */ return; old_file_name = file_name; old_line_number = line_number; } #if defined _LIBC && defined __libc_ptf_call /* We do not want this call to be cut short by a thread cancellation. Therefore disable cancellation for now. */ int state = PTHREAD_CANCEL_ENABLE; __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state), 0); #endif fflush (stdout); #ifdef _LIBC _IO_flockfile (stderr); #endif if (error_print_progname) (*error_print_progname) (); else { #if _LIBC __fxprintf (NULL, "%s:", program_name); #else fprintf (stderr, "%s:", program_name); #endif } #if _LIBC __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ", file_name, line_number); #else fprintf (stderr, file_name != NULL ? "%s:%d: " : " ", file_name, line_number); #endif va_start (args, message); error_tail (status, errnum, message, args); #ifdef _LIBC _IO_funlockfile (stderr); # ifdef __libc_ptf_call __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); # endif #endif } #ifdef _LIBC /* Make the weak alias. */ # undef error # undef error_at_line weak_alias (__error, error) weak_alias (__error_at_line, error_at_line) #endif dc3dd-7.1.614/lib/xstriconv.h0000644000175000017500000000577111064230667015434 0ustar amedicoamedico/* Charset conversion with out-of-memory checking. Copyright (C) 2001-2004, 2006-2007 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _XSTRICONV_H #define _XSTRICONV_H #include #if HAVE_ICONV #include #endif #ifdef __cplusplus extern "C" { #endif #if HAVE_ICONV /* Convert an entire string from one encoding to another, using iconv. The original string is at [SRC,...,SRC+SRCLEN-1]. The conversion descriptor is passed as CD. *RESULTP and *LENGTH should initially be a scratch buffer and its size, or *RESULTP can initially be NULL. May erase the contents of the memory at *RESULTP. Upon memory allocation failure, report the error and exit. Return value: 0 if successful, otherwise -1 and errno set. If successful: The resulting string is stored in *RESULTP and its length in *LENGTHP. *RESULTP is set to a freshly allocated memory block, or is unchanged if no dynamic memory allocation was necessary. */ extern int xmem_cd_iconv (const char *src, size_t srclen, iconv_t cd, char **resultp, size_t *lengthp); /* Convert an entire string from one encoding to another, using iconv. The original string is the NUL-terminated string starting at SRC. The conversion descriptor is passed as CD. Both the "from" and the "to" encoding must use a single NUL byte at the end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32). Allocate a malloced memory block for the result. Upon memory allocation failure, report the error and exit. Return value: the freshly allocated resulting NUL-terminated string if successful, otherwise NULL and errno set. */ extern char * xstr_cd_iconv (const char *src, iconv_t cd); #endif /* Convert an entire string from one encoding to another, using iconv. The original string is the NUL-terminated string starting at SRC. Both the "from" and the "to" encoding must use a single NUL byte at the end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32). Allocate a malloced memory block for the result. Upon memory allocation failure, report the error and exit. Return value: the freshly allocated resulting NUL-terminated string if successful, otherwise NULL and errno set. */ extern char * xstr_iconv (const char *src, const char *from_codeset, const char *to_codeset); #ifdef __cplusplus } #endif #endif /* _XSTRICONV_H */ dc3dd-7.1.614/lib/inttypes.in.h0000644000175000017500000006332011022023316015634 0ustar amedicoamedico/* Copyright (C) 2006-2007 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* * ISO C 99 for platforms that lack it. * */ /* Include the original if it exists, and if this file has not been included yet or if this file includes gnulib stdint.h which in turn includes this file. The include_next requires a split double-inclusion guard. */ #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H # if @HAVE_INTTYPES_H@ # @INCLUDE_NEXT@ @NEXT_INTTYPES_H@ # endif #endif #if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H #define INTTYPES_H /* Include or the gnulib replacement. */ #include /* Get CHAR_BIT. */ #include #if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX) # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to ." #endif /* The definition of GL_LINK_WARNING is copied here. */ /* 7.8.1 Macros for format specifiers */ #if ! defined __cplusplus || defined __STDC_FORMAT_MACROS # if defined _TNS_R_TARGET /* Tandem NonStop R series and compatible platforms released before July 2005 support %Ld but not %lld. */ # define _LONG_LONG_FORMAT_PREFIX "L" # else # define _LONG_LONG_FORMAT_PREFIX "ll" # endif # if !defined PRId8 || @PRI_MACROS_BROKEN@ # undef PRId8 # ifdef INT8_MAX # define PRId8 "d" # endif # endif # if !defined PRIi8 || @PRI_MACROS_BROKEN@ # undef PRIi8 # ifdef INT8_MAX # define PRIi8 "i" # endif # endif # if !defined PRIo8 || @PRI_MACROS_BROKEN@ # undef PRIo8 # ifdef UINT8_MAX # define PRIo8 "o" # endif # endif # if !defined PRIu8 || @PRI_MACROS_BROKEN@ # undef PRIu8 # ifdef UINT8_MAX # define PRIu8 "u" # endif # endif # if !defined PRIx8 || @PRI_MACROS_BROKEN@ # undef PRIx8 # ifdef UINT8_MAX # define PRIx8 "x" # endif # endif # if !defined PRIX8 || @PRI_MACROS_BROKEN@ # undef PRIX8 # ifdef UINT8_MAX # define PRIX8 "X" # endif # endif # if !defined PRId16 || @PRI_MACROS_BROKEN@ # undef PRId16 # ifdef INT16_MAX # define PRId16 "d" # endif # endif # if !defined PRIi16 || @PRI_MACROS_BROKEN@ # undef PRIi16 # ifdef INT16_MAX # define PRIi16 "i" # endif # endif # if !defined PRIo16 || @PRI_MACROS_BROKEN@ # undef PRIo16 # ifdef UINT16_MAX # define PRIo16 "o" # endif # endif # if !defined PRIu16 || @PRI_MACROS_BROKEN@ # undef PRIu16 # ifdef UINT16_MAX # define PRIu16 "u" # endif # endif # if !defined PRIx16 || @PRI_MACROS_BROKEN@ # undef PRIx16 # ifdef UINT16_MAX # define PRIx16 "x" # endif # endif # if !defined PRIX16 || @PRI_MACROS_BROKEN@ # undef PRIX16 # ifdef UINT16_MAX # define PRIX16 "X" # endif # endif # if !defined PRId32 || @PRI_MACROS_BROKEN@ # undef PRId32 # ifdef INT32_MAX # define PRId32 "d" # endif # endif # if !defined PRIi32 || @PRI_MACROS_BROKEN@ # undef PRIi32 # ifdef INT32_MAX # define PRIi32 "i" # endif # endif # if !defined PRIo32 || @PRI_MACROS_BROKEN@ # undef PRIo32 # ifdef UINT32_MAX # define PRIo32 "o" # endif # endif # if !defined PRIu32 || @PRI_MACROS_BROKEN@ # undef PRIu32 # ifdef UINT32_MAX # define PRIu32 "u" # endif # endif # if !defined PRIx32 || @PRI_MACROS_BROKEN@ # undef PRIx32 # ifdef UINT32_MAX # define PRIx32 "x" # endif # endif # if !defined PRIX32 || @PRI_MACROS_BROKEN@ # undef PRIX32 # ifdef UINT32_MAX # define PRIX32 "X" # endif # endif # ifdef INT64_MAX # if @INT64_MAX_EQ_LONG_MAX@ # define _PRI64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _PRI64_PREFIX "I64" # elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 # define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined PRId64 || @PRI_MACROS_BROKEN@ # undef PRId64 # define PRId64 _PRI64_PREFIX "d" # endif # if !defined PRIi64 || @PRI_MACROS_BROKEN@ # undef PRIi64 # define PRIi64 _PRI64_PREFIX "i" # endif # endif # ifdef UINT64_MAX # if @UINT64_MAX_EQ_ULONG_MAX@ # define _PRIu64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _PRIu64_PREFIX "I64" # elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 # define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined PRIo64 || @PRI_MACROS_BROKEN@ # undef PRIo64 # define PRIo64 _PRIu64_PREFIX "o" # endif # if !defined PRIu64 || @PRI_MACROS_BROKEN@ # undef PRIu64 # define PRIu64 _PRIu64_PREFIX "u" # endif # if !defined PRIx64 || @PRI_MACROS_BROKEN@ # undef PRIx64 # define PRIx64 _PRIu64_PREFIX "x" # endif # if !defined PRIX64 || @PRI_MACROS_BROKEN@ # undef PRIX64 # define PRIX64 _PRIu64_PREFIX "X" # endif # endif # if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST8 # define PRIdLEAST8 "d" # endif # if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST8 # define PRIiLEAST8 "i" # endif # if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST8 # define PRIoLEAST8 "o" # endif # if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST8 # define PRIuLEAST8 "u" # endif # if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST8 # define PRIxLEAST8 "x" # endif # if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST8 # define PRIXLEAST8 "X" # endif # if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST16 # define PRIdLEAST16 "d" # endif # if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST16 # define PRIiLEAST16 "i" # endif # if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST16 # define PRIoLEAST16 "o" # endif # if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST16 # define PRIuLEAST16 "u" # endif # if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST16 # define PRIxLEAST16 "x" # endif # if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST16 # define PRIXLEAST16 "X" # endif # if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST32 # define PRIdLEAST32 "d" # endif # if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST32 # define PRIiLEAST32 "i" # endif # if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST32 # define PRIoLEAST32 "o" # endif # if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST32 # define PRIuLEAST32 "u" # endif # if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST32 # define PRIxLEAST32 "x" # endif # if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST32 # define PRIXLEAST32 "X" # endif # ifdef INT64_MAX # if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIdLEAST64 # define PRIdLEAST64 PRId64 # endif # if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIiLEAST64 # define PRIiLEAST64 PRIi64 # endif # endif # ifdef UINT64_MAX # if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIoLEAST64 # define PRIoLEAST64 PRIo64 # endif # if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIuLEAST64 # define PRIuLEAST64 PRIu64 # endif # if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIxLEAST64 # define PRIxLEAST64 PRIx64 # endif # if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@ # undef PRIXLEAST64 # define PRIXLEAST64 PRIX64 # endif # endif # if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@ # undef PRIdFAST8 # if INT_FAST8_MAX > INT32_MAX # define PRIdFAST8 PRId64 # else # define PRIdFAST8 "d" # endif # endif # if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@ # undef PRIiFAST8 # if INT_FAST8_MAX > INT32_MAX # define PRIiFAST8 PRIi64 # else # define PRIiFAST8 "i" # endif # endif # if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@ # undef PRIoFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIoFAST8 PRIo64 # else # define PRIoFAST8 "o" # endif # endif # if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@ # undef PRIuFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIuFAST8 PRIu64 # else # define PRIuFAST8 "u" # endif # endif # if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@ # undef PRIxFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIxFAST8 PRIx64 # else # define PRIxFAST8 "x" # endif # endif # if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@ # undef PRIXFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define PRIXFAST8 PRIX64 # else # define PRIXFAST8 "X" # endif # endif # if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@ # undef PRIdFAST16 # if INT_FAST16_MAX > INT32_MAX # define PRIdFAST16 PRId64 # else # define PRIdFAST16 "d" # endif # endif # if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@ # undef PRIiFAST16 # if INT_FAST16_MAX > INT32_MAX # define PRIiFAST16 PRIi64 # else # define PRIiFAST16 "i" # endif # endif # if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@ # undef PRIoFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIoFAST16 PRIo64 # else # define PRIoFAST16 "o" # endif # endif # if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@ # undef PRIuFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIuFAST16 PRIu64 # else # define PRIuFAST16 "u" # endif # endif # if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@ # undef PRIxFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIxFAST16 PRIx64 # else # define PRIxFAST16 "x" # endif # endif # if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@ # undef PRIXFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define PRIXFAST16 PRIX64 # else # define PRIXFAST16 "X" # endif # endif # if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@ # undef PRIdFAST32 # if INT_FAST32_MAX > INT32_MAX # define PRIdFAST32 PRId64 # else # define PRIdFAST32 "d" # endif # endif # if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@ # undef PRIiFAST32 # if INT_FAST32_MAX > INT32_MAX # define PRIiFAST32 PRIi64 # else # define PRIiFAST32 "i" # endif # endif # if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@ # undef PRIoFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIoFAST32 PRIo64 # else # define PRIoFAST32 "o" # endif # endif # if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@ # undef PRIuFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIuFAST32 PRIu64 # else # define PRIuFAST32 "u" # endif # endif # if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@ # undef PRIxFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIxFAST32 PRIx64 # else # define PRIxFAST32 "x" # endif # endif # if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@ # undef PRIXFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define PRIXFAST32 PRIX64 # else # define PRIXFAST32 "X" # endif # endif # ifdef INT64_MAX # if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@ # undef PRIdFAST64 # define PRIdFAST64 PRId64 # endif # if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@ # undef PRIiFAST64 # define PRIiFAST64 PRIi64 # endif # endif # ifdef UINT64_MAX # if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@ # undef PRIoFAST64 # define PRIoFAST64 PRIo64 # endif # if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@ # undef PRIuFAST64 # define PRIuFAST64 PRIu64 # endif # if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@ # undef PRIxFAST64 # define PRIxFAST64 PRIx64 # endif # if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@ # undef PRIXFAST64 # define PRIXFAST64 PRIX64 # endif # endif # if !defined PRIdMAX || @PRI_MACROS_BROKEN@ # undef PRIdMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define PRIdMAX PRId64 # else # define PRIdMAX "ld" # endif # endif # if !defined PRIiMAX || @PRI_MACROS_BROKEN@ # undef PRIiMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define PRIiMAX PRIi64 # else # define PRIiMAX "li" # endif # endif # if !defined PRIoMAX || @PRI_MACROS_BROKEN@ # undef PRIoMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIoMAX PRIo64 # else # define PRIoMAX "lo" # endif # endif # if !defined PRIuMAX || @PRI_MACROS_BROKEN@ # undef PRIuMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIuMAX PRIu64 # else # define PRIuMAX "lu" # endif # endif # if !defined PRIxMAX || @PRI_MACROS_BROKEN@ # undef PRIxMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIxMAX PRIx64 # else # define PRIxMAX "lx" # endif # endif # if !defined PRIXMAX || @PRI_MACROS_BROKEN@ # undef PRIXMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define PRIXMAX PRIX64 # else # define PRIXMAX "lX" # endif # endif # if !defined PRIdPTR || @PRI_MACROS_BROKEN@ # undef PRIdPTR # ifdef INTPTR_MAX # define PRIdPTR @PRIPTR_PREFIX@ "d" # endif # endif # if !defined PRIiPTR || @PRI_MACROS_BROKEN@ # undef PRIiPTR # ifdef INTPTR_MAX # define PRIiPTR @PRIPTR_PREFIX@ "i" # endif # endif # if !defined PRIoPTR || @PRI_MACROS_BROKEN@ # undef PRIoPTR # ifdef UINTPTR_MAX # define PRIoPTR @PRIPTR_PREFIX@ "o" # endif # endif # if !defined PRIuPTR || @PRI_MACROS_BROKEN@ # undef PRIuPTR # ifdef UINTPTR_MAX # define PRIuPTR @PRIPTR_PREFIX@ "u" # endif # endif # if !defined PRIxPTR || @PRI_MACROS_BROKEN@ # undef PRIxPTR # ifdef UINTPTR_MAX # define PRIxPTR @PRIPTR_PREFIX@ "x" # endif # endif # if !defined PRIXPTR || @PRI_MACROS_BROKEN@ # undef PRIXPTR # ifdef UINTPTR_MAX # define PRIXPTR @PRIPTR_PREFIX@ "X" # endif # endif # if !defined SCNd8 || @PRI_MACROS_BROKEN@ # undef SCNd8 # ifdef INT8_MAX # define SCNd8 "hhd" # endif # endif # if !defined SCNi8 || @PRI_MACROS_BROKEN@ # undef SCNi8 # ifdef INT8_MAX # define SCNi8 "hhi" # endif # endif # if !defined SCNo8 || @PRI_MACROS_BROKEN@ # undef SCNo8 # ifdef UINT8_MAX # define SCNo8 "hho" # endif # endif # if !defined SCNu8 || @PRI_MACROS_BROKEN@ # undef SCNu8 # ifdef UINT8_MAX # define SCNu8 "hhu" # endif # endif # if !defined SCNx8 || @PRI_MACROS_BROKEN@ # undef SCNx8 # ifdef UINT8_MAX # define SCNx8 "hhx" # endif # endif # if !defined SCNd16 || @PRI_MACROS_BROKEN@ # undef SCNd16 # ifdef INT16_MAX # define SCNd16 "hd" # endif # endif # if !defined SCNi16 || @PRI_MACROS_BROKEN@ # undef SCNi16 # ifdef INT16_MAX # define SCNi16 "hi" # endif # endif # if !defined SCNo16 || @PRI_MACROS_BROKEN@ # undef SCNo16 # ifdef UINT16_MAX # define SCNo16 "ho" # endif # endif # if !defined SCNu16 || @PRI_MACROS_BROKEN@ # undef SCNu16 # ifdef UINT16_MAX # define SCNu16 "hu" # endif # endif # if !defined SCNx16 || @PRI_MACROS_BROKEN@ # undef SCNx16 # ifdef UINT16_MAX # define SCNx16 "hx" # endif # endif # if !defined SCNd32 || @PRI_MACROS_BROKEN@ # undef SCNd32 # ifdef INT32_MAX # define SCNd32 "d" # endif # endif # if !defined SCNi32 || @PRI_MACROS_BROKEN@ # undef SCNi32 # ifdef INT32_MAX # define SCNi32 "i" # endif # endif # if !defined SCNo32 || @PRI_MACROS_BROKEN@ # undef SCNo32 # ifdef UINT32_MAX # define SCNo32 "o" # endif # endif # if !defined SCNu32 || @PRI_MACROS_BROKEN@ # undef SCNu32 # ifdef UINT32_MAX # define SCNu32 "u" # endif # endif # if !defined SCNx32 || @PRI_MACROS_BROKEN@ # undef SCNx32 # ifdef UINT32_MAX # define SCNx32 "x" # endif # endif # ifdef INT64_MAX # if @INT64_MAX_EQ_LONG_MAX@ # define _SCN64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _SCN64_PREFIX "I64" # elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 # define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined SCNd64 || @PRI_MACROS_BROKEN@ # undef SCNd64 # define SCNd64 _SCN64_PREFIX "d" # endif # if !defined SCNi64 || @PRI_MACROS_BROKEN@ # undef SCNi64 # define SCNi64 _SCN64_PREFIX "i" # endif # endif # ifdef UINT64_MAX # if @UINT64_MAX_EQ_ULONG_MAX@ # define _SCNu64_PREFIX "l" # elif defined _MSC_VER || defined __MINGW32__ # define _SCNu64_PREFIX "I64" # elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 # define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX # endif # if !defined SCNo64 || @PRI_MACROS_BROKEN@ # undef SCNo64 # define SCNo64 _SCNu64_PREFIX "o" # endif # if !defined SCNu64 || @PRI_MACROS_BROKEN@ # undef SCNu64 # define SCNu64 _SCNu64_PREFIX "u" # endif # if !defined SCNx64 || @PRI_MACROS_BROKEN@ # undef SCNx64 # define SCNx64 _SCNu64_PREFIX "x" # endif # endif # if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST8 # define SCNdLEAST8 "hhd" # endif # if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST8 # define SCNiLEAST8 "hhi" # endif # if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST8 # define SCNoLEAST8 "hho" # endif # if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST8 # define SCNuLEAST8 "hhu" # endif # if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST8 # define SCNxLEAST8 "hhx" # endif # if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST16 # define SCNdLEAST16 "hd" # endif # if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST16 # define SCNiLEAST16 "hi" # endif # if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST16 # define SCNoLEAST16 "ho" # endif # if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST16 # define SCNuLEAST16 "hu" # endif # if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST16 # define SCNxLEAST16 "hx" # endif # if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST32 # define SCNdLEAST32 "d" # endif # if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST32 # define SCNiLEAST32 "i" # endif # if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST32 # define SCNoLEAST32 "o" # endif # if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST32 # define SCNuLEAST32 "u" # endif # if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST32 # define SCNxLEAST32 "x" # endif # ifdef INT64_MAX # if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNdLEAST64 # define SCNdLEAST64 SCNd64 # endif # if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNiLEAST64 # define SCNiLEAST64 SCNi64 # endif # endif # ifdef UINT64_MAX # if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNoLEAST64 # define SCNoLEAST64 SCNo64 # endif # if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNuLEAST64 # define SCNuLEAST64 SCNu64 # endif # if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@ # undef SCNxLEAST64 # define SCNxLEAST64 SCNx64 # endif # endif # if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@ # undef SCNdFAST8 # if INT_FAST8_MAX > INT32_MAX # define SCNdFAST8 SCNd64 # elif INT_FAST8_MAX == 0x7fff # define SCNdFAST8 "hd" # elif INT_FAST8_MAX == 0x7f # define SCNdFAST8 "hhd" # else # define SCNdFAST8 "d" # endif # endif # if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@ # undef SCNiFAST8 # if INT_FAST8_MAX > INT32_MAX # define SCNiFAST8 SCNi64 # elif INT_FAST8_MAX == 0x7fff # define SCNiFAST8 "hi" # elif INT_FAST8_MAX == 0x7f # define SCNiFAST8 "hhi" # else # define SCNiFAST8 "i" # endif # endif # if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@ # undef SCNoFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNoFAST8 SCNo64 # elif UINT_FAST8_MAX == 0xffff # define SCNoFAST8 "ho" # elif UINT_FAST8_MAX == 0xff # define SCNoFAST8 "hho" # else # define SCNoFAST8 "o" # endif # endif # if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@ # undef SCNuFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNuFAST8 SCNu64 # elif UINT_FAST8_MAX == 0xffff # define SCNuFAST8 "hu" # elif UINT_FAST8_MAX == 0xff # define SCNuFAST8 "hhu" # else # define SCNuFAST8 "u" # endif # endif # if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@ # undef SCNxFAST8 # if UINT_FAST8_MAX > UINT32_MAX # define SCNxFAST8 SCNx64 # elif UINT_FAST8_MAX == 0xffff # define SCNxFAST8 "hx" # elif UINT_FAST8_MAX == 0xff # define SCNxFAST8 "hhx" # else # define SCNxFAST8 "x" # endif # endif # if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@ # undef SCNdFAST16 # if INT_FAST16_MAX > INT32_MAX # define SCNdFAST16 SCNd64 # elif INT_FAST16_MAX == 0x7fff # define SCNdFAST16 "hd" # else # define SCNdFAST16 "d" # endif # endif # if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@ # undef SCNiFAST16 # if INT_FAST16_MAX > INT32_MAX # define SCNiFAST16 SCNi64 # elif INT_FAST16_MAX == 0x7fff # define SCNiFAST16 "hi" # else # define SCNiFAST16 "i" # endif # endif # if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@ # undef SCNoFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNoFAST16 SCNo64 # elif UINT_FAST16_MAX == 0xffff # define SCNoFAST16 "ho" # else # define SCNoFAST16 "o" # endif # endif # if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@ # undef SCNuFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNuFAST16 SCNu64 # elif UINT_FAST16_MAX == 0xffff # define SCNuFAST16 "hu" # else # define SCNuFAST16 "u" # endif # endif # if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@ # undef SCNxFAST16 # if UINT_FAST16_MAX > UINT32_MAX # define SCNxFAST16 SCNx64 # elif UINT_FAST16_MAX == 0xffff # define SCNxFAST16 "hx" # else # define SCNxFAST16 "x" # endif # endif # if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@ # undef SCNdFAST32 # if INT_FAST32_MAX > INT32_MAX # define SCNdFAST32 SCNd64 # else # define SCNdFAST32 "d" # endif # endif # if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@ # undef SCNiFAST32 # if INT_FAST32_MAX > INT32_MAX # define SCNiFAST32 SCNi64 # else # define SCNiFAST32 "i" # endif # endif # if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@ # undef SCNoFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNoFAST32 SCNo64 # else # define SCNoFAST32 "o" # endif # endif # if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@ # undef SCNuFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNuFAST32 SCNu64 # else # define SCNuFAST32 "u" # endif # endif # if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@ # undef SCNxFAST32 # if UINT_FAST32_MAX > UINT32_MAX # define SCNxFAST32 SCNx64 # else # define SCNxFAST32 "x" # endif # endif # ifdef INT64_MAX # if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@ # undef SCNdFAST64 # define SCNdFAST64 SCNd64 # endif # if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@ # undef SCNiFAST64 # define SCNiFAST64 SCNi64 # endif # endif # ifdef UINT64_MAX # if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@ # undef SCNoFAST64 # define SCNoFAST64 SCNo64 # endif # if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@ # undef SCNuFAST64 # define SCNuFAST64 SCNu64 # endif # if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@ # undef SCNxFAST64 # define SCNxFAST64 SCNx64 # endif # endif # if !defined SCNdMAX || @PRI_MACROS_BROKEN@ # undef SCNdMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define SCNdMAX SCNd64 # else # define SCNdMAX "ld" # endif # endif # if !defined SCNiMAX || @PRI_MACROS_BROKEN@ # undef SCNiMAX # if @INT32_MAX_LT_INTMAX_MAX@ # define SCNiMAX SCNi64 # else # define SCNiMAX "li" # endif # endif # if !defined SCNoMAX || @PRI_MACROS_BROKEN@ # undef SCNoMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNoMAX SCNo64 # else # define SCNoMAX "lo" # endif # endif # if !defined SCNuMAX || @PRI_MACROS_BROKEN@ # undef SCNuMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNuMAX SCNu64 # else # define SCNuMAX "lu" # endif # endif # if !defined SCNxMAX || @PRI_MACROS_BROKEN@ # undef SCNxMAX # if @UINT32_MAX_LT_UINTMAX_MAX@ # define SCNxMAX SCNx64 # else # define SCNxMAX "lx" # endif # endif # if !defined SCNdPTR || @PRI_MACROS_BROKEN@ # undef SCNdPTR # ifdef INTPTR_MAX # define SCNdPTR @PRIPTR_PREFIX@ "d" # endif # endif # if !defined SCNiPTR || @PRI_MACROS_BROKEN@ # undef SCNiPTR # ifdef INTPTR_MAX # define SCNiPTR @PRIPTR_PREFIX@ "i" # endif # endif # if !defined SCNoPTR || @PRI_MACROS_BROKEN@ # undef SCNoPTR # ifdef UINTPTR_MAX # define SCNoPTR @PRIPTR_PREFIX@ "o" # endif # endif # if !defined SCNuPTR || @PRI_MACROS_BROKEN@ # undef SCNuPTR # ifdef UINTPTR_MAX # define SCNuPTR @PRIPTR_PREFIX@ "u" # endif # endif # if !defined SCNxPTR || @PRI_MACROS_BROKEN@ # undef SCNxPTR # ifdef UINTPTR_MAX # define SCNxPTR @PRIPTR_PREFIX@ "x" # endif # endif #endif /* 7.8.2 Functions for greatest-width integer types */ #ifdef __cplusplus extern "C" { #endif #if @GNULIB_IMAXABS@ # if !@HAVE_DECL_IMAXABS@ extern intmax_t imaxabs (intmax_t); # endif #elif defined GNULIB_POSIXCHECK # undef imaxabs # define imaxabs(a) \ (GL_LINK_WARNING ("imaxabs is unportable - " \ "use gnulib module imaxabs for portability"), \ imaxabs (a)) #endif #if @GNULIB_IMAXDIV@ # if !@HAVE_DECL_IMAXDIV@ typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; extern imaxdiv_t imaxdiv (intmax_t, intmax_t); # endif #elif defined GNULIB_POSIXCHECK # undef imaxdiv # define imaxdiv(a,b) \ (GL_LINK_WARNING ("imaxdiv is unportable - " \ "use gnulib module imaxdiv for portability"), \ imaxdiv (a, b)) #endif #if @GNULIB_STRTOIMAX@ # if !@HAVE_DECL_STRTOIMAX@ extern intmax_t strtoimax (const char *, char **, int); # endif #elif defined GNULIB_POSIXCHECK # undef strtoimax # define strtoimax(p,e,b) \ (GL_LINK_WARNING ("strtoimax is unportable - " \ "use gnulib module strtoimax for portability"), \ strtoimax (p, e, b)) #endif #if @GNULIB_STRTOUMAX@ # if !@HAVE_DECL_STRTOUMAX@ extern uintmax_t strtoumax (const char *, char **, int); # endif #elif defined GNULIB_POSIXCHECK # undef strtoumax # define strtoumax(p,e,b) \ (GL_LINK_WARNING ("strtoumax is unportable - " \ "use gnulib module strtoumax for portability"), \ strtoumax (p, e, b)) #endif /* Don't bother defining or declaring wcstoimax and wcstoumax, since wide-character functions like this are hardly ever useful. */ #ifdef __cplusplus } #endif #endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */ dc3dd-7.1.614/lib/getcwd.c0000644000175000017500000002531111022023316014616 0ustar amedicoamedico/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2004,2005,2006,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if !_LIBC # include # include # include "dirfd.h" #endif #include #include #include #include #include #include /* For AT_FDCWD on Solaris 9. */ /* If this host provides the openat function, then enable code below to make getcwd more efficient and robust. */ #ifdef HAVE_OPENAT # define HAVE_OPENAT_SUPPORT 1 #else # define HAVE_OPENAT_SUPPORT 0 #endif #ifndef __set_errno # define __set_errno(val) (errno = (val)) #endif #include #ifndef _D_EXACT_NAMLEN # define _D_EXACT_NAMLEN(d) strlen ((d)->d_name) #endif #ifndef _D_ALLOC_NAMLEN # define _D_ALLOC_NAMLEN(d) (_D_EXACT_NAMLEN (d) + 1) #endif #include #include #include #if _LIBC # ifndef mempcpy # define mempcpy __mempcpy # endif #endif #include /* Work around a bug in Solaris 9 and 10: AT_FDCWD is positive. Its value exceeds INT_MAX, so its use as an int doesn't conform to the C standard, and GCC and Sun C complain in some cases. */ #if 0 < AT_FDCWD && AT_FDCWD == 0xffd19553 # undef AT_FDCWD # define AT_FDCWD (-3041965) #endif #ifdef ENAMETOOLONG # define is_ENAMETOOLONG(x) ((x) == ENAMETOOLONG) #else # define is_ENAMETOOLONG(x) 0 #endif #ifndef MAX # define MAX(a, b) ((a) < (b) ? (b) : (a)) #endif #ifndef MIN # define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif #ifndef PATH_MAX # ifdef MAXPATHLEN # define PATH_MAX MAXPATHLEN # else # define PATH_MAX 1024 # endif #endif #if D_INO_IN_DIRENT # define MATCHING_INO(dp, ino) ((dp)->d_ino == (ino)) #else # define MATCHING_INO(dp, ino) true #endif #if !_LIBC # define __getcwd rpl_getcwd # define __lstat lstat # define __closedir closedir # define __opendir opendir # define __readdir readdir #endif /* The results of opendir() in this file are not used with dirfd and fchdir, therefore save some unnecessary recursion in fchdir.c. */ #undef opendir #undef closedir /* Get the name of the current working directory, and put it in SIZE bytes of BUF. Returns NULL if the directory couldn't be determined or SIZE was too small. If successful, returns BUF. In GNU, if BUF is NULL, an array is allocated with `malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as necessary. */ char * __getcwd (char *buf, size_t size) { /* Lengths of big file name components and entire file names, and a deep level of file name nesting. These numbers are not upper bounds; they are merely large values suitable for initial allocations, designed to be large enough for most real-world uses. */ enum { BIG_FILE_NAME_COMPONENT_LENGTH = 255, BIG_FILE_NAME_LENGTH = MIN (4095, PATH_MAX - 1), DEEP_NESTING = 100 }; #if HAVE_OPENAT_SUPPORT int fd = AT_FDCWD; bool fd_needs_closing = false; #else char dots[DEEP_NESTING * sizeof ".." + BIG_FILE_NAME_COMPONENT_LENGTH + 1]; char *dotlist = dots; size_t dotsize = sizeof dots; size_t dotlen = 0; #endif DIR *dirstream = NULL; dev_t rootdev, thisdev; ino_t rootino, thisino; char *dir; register char *dirp; struct stat st; size_t allocated = size; size_t used; #if HAVE_PARTLY_WORKING_GETCWD /* The system getcwd works, except it sometimes fails when it shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT. If AT_FDCWD is not defined, the algorithm below is O(N**2) and this is much slower than the system getcwd (at least on GNU/Linux). So trust the system getcwd's results unless they look suspicious. Use the system getcwd even if we have openat support, since the system getcwd works even when a parent is unreadable, while the openat-based approach does not. */ # undef getcwd dir = getcwd (buf, size); if (dir || (errno != ERANGE && !is_ENAMETOOLONG (errno) && errno != ENOENT)) return dir; #endif if (size == 0) { if (buf != NULL) { __set_errno (EINVAL); return NULL; } allocated = BIG_FILE_NAME_LENGTH + 1; } if (buf == NULL) { dir = malloc (allocated); if (dir == NULL) return NULL; } else dir = buf; dirp = dir + allocated; *--dirp = '\0'; if (__lstat (".", &st) < 0) goto lose; thisdev = st.st_dev; thisino = st.st_ino; if (__lstat ("/", &st) < 0) goto lose; rootdev = st.st_dev; rootino = st.st_ino; while (!(thisdev == rootdev && thisino == rootino)) { struct dirent *d; dev_t dotdev; ino_t dotino; bool mount_point; int parent_status; size_t dirroom; size_t namlen; bool use_d_ino = true; /* Look at the parent directory. */ #if HAVE_OPENAT_SUPPORT fd = openat (fd, "..", O_RDONLY); if (fd < 0) goto lose; fd_needs_closing = true; parent_status = fstat (fd, &st); #else dotlist[dotlen++] = '.'; dotlist[dotlen++] = '.'; dotlist[dotlen] = '\0'; parent_status = __lstat (dotlist, &st); #endif if (parent_status != 0) goto lose; if (dirstream && __closedir (dirstream) != 0) { dirstream = NULL; goto lose; } /* Figure out if this directory is a mount point. */ dotdev = st.st_dev; dotino = st.st_ino; mount_point = dotdev != thisdev; /* Search for the last directory. */ #if HAVE_OPENAT_SUPPORT dirstream = fdopendir (fd); if (dirstream == NULL) goto lose; /* Reset fd. It may have been closed by fdopendir. */ fd = dirfd (dirstream); fd_needs_closing = false; #else dirstream = __opendir (dotlist); if (dirstream == NULL) goto lose; dotlist[dotlen++] = '/'; #endif for (;;) { /* Clear errno to distinguish EOF from error if readdir returns NULL. */ __set_errno (0); d = __readdir (dirstream); /* When we've iterated through all directory entries without finding one with a matching d_ino, rewind the stream and consider each name again, but this time, using lstat. This is necessary in a chroot on at least one system (glibc-2.3.6 + linux 2.6.12), where .., ../.., ../../.., etc. all had the same device number, yet the d_ino values for entries in / did not match those obtained via lstat. */ if (d == NULL && errno == 0 && use_d_ino) { use_d_ino = false; rewinddir (dirstream); d = __readdir (dirstream); } if (d == NULL) { if (errno == 0) /* EOF on dirstream, which can mean e.g., that the current directory has been removed. */ __set_errno (ENOENT); goto lose; } if (d->d_name[0] == '.' && (d->d_name[1] == '\0' || (d->d_name[1] == '.' && d->d_name[2] == '\0'))) continue; if (use_d_ino) { bool match = (MATCHING_INO (d, thisino) || mount_point); if (! match) continue; } { int entry_status; #if HAVE_OPENAT_SUPPORT entry_status = fstatat (fd, d->d_name, &st, AT_SYMLINK_NOFOLLOW); #else /* Compute size needed for this file name, or for the file name ".." in the same directory, whichever is larger. Room for ".." might be needed the next time through the outer loop. */ size_t name_alloc = _D_ALLOC_NAMLEN (d); size_t filesize = dotlen + MAX (sizeof "..", name_alloc); if (filesize < dotlen) goto memory_exhausted; if (dotsize < filesize) { /* My, what a deep directory tree you have, Grandma. */ size_t newsize = MAX (filesize, dotsize * 2); size_t i; if (newsize < dotsize) goto memory_exhausted; if (dotlist != dots) free (dotlist); dotlist = malloc (newsize); if (dotlist == NULL) goto lose; dotsize = newsize; i = 0; do { dotlist[i++] = '.'; dotlist[i++] = '.'; dotlist[i++] = '/'; } while (i < dotlen); } memcpy (dotlist + dotlen, d->d_name, _D_ALLOC_NAMLEN (d)); entry_status = __lstat (dotlist, &st); #endif /* We don't fail here if we cannot stat() a directory entry. This can happen when (network) file systems fail. If this entry is in fact the one we are looking for we will find out soon as we reach the end of the directory without having found anything. */ if (entry_status == 0 && S_ISDIR (st.st_mode) && st.st_dev == thisdev && st.st_ino == thisino) break; } } dirroom = dirp - dir; namlen = _D_EXACT_NAMLEN (d); if (dirroom <= namlen) { if (size != 0) { __set_errno (ERANGE); goto lose; } else { char *tmp; size_t oldsize = allocated; allocated += MAX (allocated, namlen); if (allocated < oldsize || ! (tmp = realloc (dir, allocated))) goto memory_exhausted; /* Move current contents up to the end of the buffer. This is guaranteed to be non-overlapping. */ dirp = memcpy (tmp + allocated - (oldsize - dirroom), tmp + dirroom, oldsize - dirroom); dir = tmp; } } dirp -= namlen; memcpy (dirp, d->d_name, namlen); *--dirp = '/'; thisdev = dotdev; thisino = dotino; } if (dirstream && __closedir (dirstream) != 0) { dirstream = NULL; goto lose; } if (dirp == &dir[allocated - 1]) *--dirp = '/'; #if ! HAVE_OPENAT_SUPPORT if (dotlist != dots) free (dotlist); #endif used = dir + allocated - dirp; memmove (dir, dirp, used); if (size == 0) /* Ensure that the buffer is only as large as necessary. */ buf = realloc (dir, used); if (buf == NULL) /* Either buf was NULL all along, or `realloc' failed but we still have the original string. */ buf = dir; return buf; memory_exhausted: __set_errno (ENOMEM); lose: { int save = errno; if (dirstream) __closedir (dirstream); #if HAVE_OPENAT_SUPPORT if (fd_needs_closing) close (fd); #else if (dotlist != dots) free (dotlist); #endif if (buf == NULL) free (dir); __set_errno (save); } return NULL; } #ifdef weak_alias weak_alias (__getcwd, getcwd) #endif dc3dd-7.1.614/lib/frexpl.c0000644000175000017500000000143511022023316014642 0ustar amedicoamedico/* Split a 'long double' into fraction and mantissa. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #define USE_LONG_DOUBLE #include "frexp.c" dc3dd-7.1.614/lib/strftime.c0000644000175000017500000011016211022023316015175 0ustar amedicoamedico/* Copyright (C) 1991-1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifdef _LIBC # define HAVE_MBLEN 1 # define HAVE_MBRLEN 1 # define HAVE_STRUCT_ERA_ENTRY 1 # define HAVE_TM_GMTOFF 1 # define HAVE_TM_ZONE 1 # define HAVE_TZNAME 1 # define HAVE_TZSET 1 # define MULTIBYTE_IS_FORMAT_SAFE 1 # include "../locale/localeinfo.h" #else # include # if FPRINTFTIME # include "fprintftime.h" # endif #endif #include #include #if HAVE_TZNAME && !HAVE_DECL_TZNAME extern char *tzname[]; #endif /* Do multibyte processing if multibytes are supported, unless multibyte sequences are safe in formats. Multibyte sequences are safe if they cannot contain byte sequences that look like format conversion specifications. The GNU C Library uses UTF8 multibyte encoding, which is safe for formats, but strftime.c can be used with other C libraries that use unsafe encodings. */ #define DO_MULTIBYTE (HAVE_MBLEN && ! MULTIBYTE_IS_FORMAT_SAFE) #if DO_MULTIBYTE # if HAVE_MBRLEN # include # else /* Simulate mbrlen with mblen as best we can. */ # define mbstate_t int # define mbrlen(s, n, ps) mblen (s, n) # define mbsinit(ps) (*(ps) == 0) # endif static const mbstate_t mbstate_zero; #endif #include #include #include #include #include #ifdef COMPILE_WIDE # include # define CHAR_T wchar_t # define UCHAR_T unsigned int # define L_(Str) L##Str # define NLW(Sym) _NL_W##Sym # define MEMCPY(d, s, n) __wmemcpy (d, s, n) # define STRLEN(s) __wcslen (s) #else # define CHAR_T char # define UCHAR_T unsigned char # define L_(Str) Str # define NLW(Sym) Sym # define MEMCPY(d, s, n) memcpy (d, s, n) # define STRLEN(s) strlen (s) # ifdef _LIBC # define MEMPCPY(d, s, n) __mempcpy (d, s, n) # else # ifndef HAVE_MEMPCPY # define MEMPCPY(d, s, n) ((void *) ((char *) memcpy (d, s, n) + (n))) # endif # endif #endif /* Shift A right by B bits portably, by dividing A by 2**B and truncating towards minus infinity. A and B should be free of side effects, and B should be in the range 0 <= B <= INT_BITS - 2, where INT_BITS is the number of useful bits in an int. GNU code can assume that INT_BITS is at least 32. ISO C99 says that A >> B is implementation-defined if A < 0. Some implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift right in the usual way when A < 0, so SHR falls back on division if ordinary A >> B doesn't seem to be the usual signed shift. */ #define SHR(a, b) \ (-1 >> 1 == -1 \ ? (a) >> (b) \ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) /* Bound on length of the string representing an integer type or expression T. Subtract 1 for the sign bit if t is signed; log10 (2.0) < 146/485; add 1 for integer division truncation; add 1 more for a minus sign if needed. */ #define INT_STRLEN_BOUND(t) \ ((sizeof (t) * CHAR_BIT - 1) * 146 / 485 + 2) #define TM_YEAR_BASE 1900 #ifndef __isleap /* Nonzero if YEAR is a leap year (every 4 years, except every 100th isn't, and every 400th is). */ # define __isleap(year) \ ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) #endif #ifdef _LIBC # define tzname __tzname # define tzset __tzset #endif #if !HAVE_TM_GMTOFF /* Portable standalone applications should supply a "time.h" that declares a POSIX-compliant localtime_r, for the benefit of older implementations that lack localtime_r or have a nonstandard one. See the gnulib time_r module for one way to implement this. */ # undef __gmtime_r # undef __localtime_r # define __gmtime_r gmtime_r # define __localtime_r localtime_r #endif #ifndef FPRINTFTIME # define FPRINTFTIME 0 #endif #if FPRINTFTIME # define STREAM_OR_CHAR_T FILE # define STRFTIME_ARG(x) /* empty */ #else # define STREAM_OR_CHAR_T CHAR_T # define STRFTIME_ARG(x) x, #endif #if FPRINTFTIME # define memset_byte(P, Len, Byte) \ do { size_t _i; for (_i = 0; _i < Len; _i++) fputc (Byte, P); } while (0) # define memset_space(P, Len) memset_byte (P, Len, ' ') # define memset_zero(P, Len) memset_byte (P, Len, '0') #elif defined COMPILE_WIDE # define memset_space(P, Len) (wmemset (P, L' ', Len), (P) += (Len)) # define memset_zero(P, Len) (wmemset (P, L'0', Len), (P) += (Len)) #else # define memset_space(P, Len) (memset (P, ' ', Len), (P) += (Len)) # define memset_zero(P, Len) (memset (P, '0', Len), (P) += (Len)) #endif #if FPRINTFTIME # define advance(P, N) #else # define advance(P, N) ((P) += (N)) #endif #define add(n, f) \ do \ { \ int _n = (n); \ int _delta = width - _n; \ int _incr = _n + (_delta > 0 ? _delta : 0); \ if ((size_t) _incr >= maxsize - i) \ return 0; \ if (p) \ { \ if (digits == 0 && _delta > 0) \ { \ if (pad == L_('0')) \ memset_zero (p, _delta); \ else \ memset_space (p, _delta); \ } \ f; \ advance (p, _n); \ } \ i += _incr; \ } while (0) #if FPRINTFTIME # define add1(C) add (1, fputc (C, p)) #else # define add1(C) add (1, *p = C) #endif #if FPRINTFTIME # define cpy(n, s) \ add ((n), \ if (to_lowcase) \ fwrite_lowcase (p, (s), _n); \ else if (to_uppcase) \ fwrite_uppcase (p, (s), _n); \ else \ fwrite ((s), _n, 1, p)) #else # define cpy(n, s) \ add ((n), \ if (to_lowcase) \ memcpy_lowcase (p, (s), _n LOCALE_ARG); \ else if (to_uppcase) \ memcpy_uppcase (p, (s), _n LOCALE_ARG); \ else \ MEMCPY ((void *) p, (void const *) (s), _n)) #endif #ifdef COMPILE_WIDE # ifndef USE_IN_EXTENDED_LOCALE_MODEL # undef __mbsrtowcs_l # define __mbsrtowcs_l(d, s, l, st, loc) __mbsrtowcs (d, s, l, st) # endif # define widen(os, ws, l) \ { \ mbstate_t __st; \ const char *__s = os; \ memset (&__st, '\0', sizeof (__st)); \ l = __mbsrtowcs_l (NULL, &__s, 0, &__st, loc); \ ws = (wchar_t *) alloca ((l + 1) * sizeof (wchar_t)); \ (void) __mbsrtowcs_l (ws, &__s, l, &__st, loc); \ } #endif #if defined _LIBC && defined USE_IN_EXTENDED_LOCALE_MODEL /* We use this code also for the extended locale handling where the function gets as an additional argument the locale which has to be used. To access the values we have to redefine the _NL_CURRENT macro. */ # define strftime __strftime_l # define wcsftime __wcsftime_l # undef _NL_CURRENT # define _NL_CURRENT(category, item) \ (current->values[_NL_ITEM_INDEX (item)].string) # define LOCALE_ARG , loc # define LOCALE_PARAM_PROTO , __locale_t loc # define HELPER_LOCALE_ARG , current #else # define LOCALE_PARAM_PROTO # define LOCALE_ARG # ifdef _LIBC # define HELPER_LOCALE_ARG , _NL_CURRENT_DATA (LC_TIME) # else # define HELPER_LOCALE_ARG # endif #endif #ifdef COMPILE_WIDE # ifdef USE_IN_EXTENDED_LOCALE_MODEL # define TOUPPER(Ch, L) __towupper_l (Ch, L) # define TOLOWER(Ch, L) __towlower_l (Ch, L) # else # define TOUPPER(Ch, L) towupper (Ch) # define TOLOWER(Ch, L) towlower (Ch) # endif #else # ifdef USE_IN_EXTENDED_LOCALE_MODEL # define TOUPPER(Ch, L) __toupper_l (Ch, L) # define TOLOWER(Ch, L) __tolower_l (Ch, L) # else # define TOUPPER(Ch, L) toupper (Ch) # define TOLOWER(Ch, L) tolower (Ch) # endif #endif /* We don't use `isdigit' here since the locale dependent interpretation is not what we want here. We only need to accept the arabic digits in the ASCII range. One day there is perhaps a more reliable way to accept other sets of digits. */ #define ISDIGIT(Ch) ((unsigned int) (Ch) - L_('0') <= 9) #if FPRINTFTIME static void fwrite_lowcase (FILE *fp, const CHAR_T *src, size_t len) { while (len-- > 0) { fputc (TOLOWER ((UCHAR_T) *src, loc), fp); ++src; } } static void fwrite_uppcase (FILE *fp, const CHAR_T *src, size_t len) { while (len-- > 0) { fputc (TOUPPER ((UCHAR_T) *src, loc), fp); ++src; } } #else static CHAR_T * memcpy_lowcase (CHAR_T *dest, const CHAR_T *src, size_t len LOCALE_PARAM_PROTO) { while (len-- > 0) dest[len] = TOLOWER ((UCHAR_T) src[len], loc); return dest; } static CHAR_T * memcpy_uppcase (CHAR_T *dest, const CHAR_T *src, size_t len LOCALE_PARAM_PROTO) { while (len-- > 0) dest[len] = TOUPPER ((UCHAR_T) src[len], loc); return dest; } #endif #if ! HAVE_TM_GMTOFF /* Yield the difference between *A and *B, measured in seconds, ignoring leap seconds. */ # define tm_diff ftime_tm_diff static int tm_diff (const struct tm *a, const struct tm *b) { /* Compute intervening leap days correctly even if year is negative. Take care to avoid int overflow in leap day calculations, but it's OK to assume that A and B are close to each other. */ int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3); int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3); int a100 = a4 / 25 - (a4 % 25 < 0); int b100 = b4 / 25 - (b4 % 25 < 0); int a400 = SHR (a100, 2); int b400 = SHR (b100, 2); int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); int years = a->tm_year - b->tm_year; int days = (365 * years + intervening_leap_days + (a->tm_yday - b->tm_yday)); return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) + (a->tm_min - b->tm_min)) + (a->tm_sec - b->tm_sec)); } #endif /* ! HAVE_TM_GMTOFF */ /* The number of days from the first day of the first ISO week of this year to the year day YDAY with week day WDAY. ISO weeks start on Monday; the first ISO week has the year's first Thursday. YDAY may be as small as YDAY_MINIMUM. */ #define ISO_WEEK_START_WDAY 1 /* Monday */ #define ISO_WEEK1_WDAY 4 /* Thursday */ #define YDAY_MINIMUM (-366) #ifdef __GNUC__ __inline__ #endif static int iso_week_days (int yday, int wday) { /* Add enough to the first operand of % to make it nonnegative. */ int big_enough_multiple_of_7 = (-YDAY_MINIMUM / 7 + 2) * 7; return (yday - (yday - wday + ISO_WEEK1_WDAY + big_enough_multiple_of_7) % 7 + ISO_WEEK1_WDAY - ISO_WEEK_START_WDAY); } /* When compiling this file, GNU applications can #define my_strftime to a symbol (typically nstrftime) to get an extended strftime with extra arguments UT and NS. Emacs is a special case for now, but this Emacs-specific code can be removed once Emacs's config.h defines my_strftime. */ #if defined emacs && !defined my_strftime # define my_strftime nstrftime #endif #if FPRINTFTIME # undef my_strftime # define my_strftime fprintftime #endif #ifdef my_strftime # define extra_args , ut, ns # define extra_args_spec , int ut, int ns #else # if defined COMPILE_WIDE # define my_strftime wcsftime # define nl_get_alt_digit _nl_get_walt_digit # else # define my_strftime strftime # define nl_get_alt_digit _nl_get_alt_digit # endif # define extra_args # define extra_args_spec /* We don't have this information in general. */ # define ut 0 # define ns 0 #endif /* Just like my_strftime, below, but with one more parameter, UPCASE, to indicate that the result should be converted to upper case. */ static size_t strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize) const CHAR_T *format, const struct tm *tp extra_args_spec LOCALE_PARAM_PROTO) { #if defined _LIBC && defined USE_IN_EXTENDED_LOCALE_MODEL struct locale_data *const current = loc->__locales[LC_TIME]; #endif #if FPRINTFTIME size_t maxsize = (size_t) -1; #endif int hour12 = tp->tm_hour; #ifdef _NL_CURRENT /* We cannot make the following values variables since we must delay the evaluation of these values until really needed since some expressions might not be valid in every situation. The `struct tm' might be generated by a strptime() call that initialized only a few elements. Dereference the pointers only if the format requires this. Then it is ok to fail if the pointers are invalid. */ # define a_wkday \ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ABDAY_1) + tp->tm_wday)) # define f_wkday \ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(DAY_1) + tp->tm_wday)) # define a_month \ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ABMON_1) + tp->tm_mon)) # define f_month \ ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(MON_1) + tp->tm_mon)) # define ampm \ ((const CHAR_T *) _NL_CURRENT (LC_TIME, tp->tm_hour > 11 \ ? NLW(PM_STR) : NLW(AM_STR))) # define aw_len STRLEN (a_wkday) # define am_len STRLEN (a_month) # define ap_len STRLEN (ampm) #endif const char *zone; size_t i = 0; STREAM_OR_CHAR_T *p = s; const CHAR_T *f; #if DO_MULTIBYTE && !defined COMPILE_WIDE const char *format_end = NULL; #endif #if ! defined _LIBC && ! HAVE_RUN_TZSET_TEST /* Solaris 2.5.x and 2.6 tzset sometimes modify the storage returned by localtime. On such systems, we must either use the tzset and localtime wrappers to work around the bug (which sets HAVE_RUN_TZSET_TEST) or make a copy of the structure. */ struct tm copy = *tp; tp = © #endif zone = NULL; #if HAVE_TM_ZONE /* The POSIX test suite assumes that setting the environment variable TZ to a new value before calling strftime() will influence the result (the %Z format) even if the information in TP is computed with a totally different time zone. This is bogus: though POSIX allows bad behavior like this, POSIX does not require it. Do the right thing instead. */ zone = (const char *) tp->tm_zone; #endif #if HAVE_TZNAME if (ut) { if (! (zone && *zone)) zone = "GMT"; } else { /* POSIX.1 requires that local time zone information be used as though strftime called tzset. */ # if HAVE_TZSET tzset (); # endif } #endif if (hour12 > 12) hour12 -= 12; else if (hour12 == 0) hour12 = 12; for (f = format; *f != '\0'; ++f) { int pad = 0; /* Padding for number ('-', '_', or 0). */ int modifier; /* Field modifier ('E', 'O', or 0). */ int digits = 0; /* Max digits for numeric format. */ int number_value; /* Numeric value to be printed. */ unsigned int u_number_value; /* (unsigned int) number_value. */ bool negative_number; /* The number is negative. */ bool always_output_a_sign; /* +/- should always be output. */ int tz_colon_mask; /* Bitmask of where ':' should appear. */ const CHAR_T *subfmt; CHAR_T sign_char; CHAR_T *bufp; CHAR_T buf[1 + 2 /* for the two colons in a %::z or %:::z time zone */ + (sizeof (int) < sizeof (time_t) ? INT_STRLEN_BOUND (time_t) : INT_STRLEN_BOUND (int))]; int width = -1; bool to_lowcase = false; bool to_uppcase = upcase; size_t colons; bool change_case = false; int format_char; #if DO_MULTIBYTE && !defined COMPILE_WIDE switch (*f) { case L_('%'): break; case L_('\b'): case L_('\t'): case L_('\n'): case L_('\v'): case L_('\f'): case L_('\r'): case L_(' '): case L_('!'): case L_('"'): case L_('#'): case L_('&'): case L_('\''): case L_('('): case L_(')'): case L_('*'): case L_('+'): case L_(','): case L_('-'): case L_('.'): case L_('/'): case L_('0'): case L_('1'): case L_('2'): case L_('3'): case L_('4'): case L_('5'): case L_('6'): case L_('7'): case L_('8'): case L_('9'): case L_(':'): case L_(';'): case L_('<'): case L_('='): case L_('>'): case L_('?'): case L_('A'): case L_('B'): case L_('C'): case L_('D'): case L_('E'): case L_('F'): case L_('G'): case L_('H'): case L_('I'): case L_('J'): case L_('K'): case L_('L'): case L_('M'): case L_('N'): case L_('O'): case L_('P'): case L_('Q'): case L_('R'): case L_('S'): case L_('T'): case L_('U'): case L_('V'): case L_('W'): case L_('X'): case L_('Y'): case L_('Z'): case L_('['): case L_('\\'): case L_(']'): case L_('^'): case L_('_'): case L_('a'): case L_('b'): case L_('c'): case L_('d'): case L_('e'): case L_('f'): case L_('g'): case L_('h'): case L_('i'): case L_('j'): case L_('k'): case L_('l'): case L_('m'): case L_('n'): case L_('o'): case L_('p'): case L_('q'): case L_('r'): case L_('s'): case L_('t'): case L_('u'): case L_('v'): case L_('w'): case L_('x'): case L_('y'): case L_('z'): case L_('{'): case L_('|'): case L_('}'): case L_('~'): /* The C Standard requires these 98 characters (plus '%') to be in the basic execution character set. None of these characters can start a multibyte sequence, so they need not be analyzed further. */ add1 (*f); continue; default: /* Copy this multibyte sequence until we reach its end, find an error, or come back to the initial shift state. */ { mbstate_t mbstate = mbstate_zero; size_t len = 0; size_t fsize; if (! format_end) format_end = f + strlen (f) + 1; fsize = format_end - f; do { size_t bytes = mbrlen (f + len, fsize - len, &mbstate); if (bytes == 0) break; if (bytes == (size_t) -2) { len += strlen (f + len); break; } if (bytes == (size_t) -1) { len++; break; } len += bytes; } while (! mbsinit (&mbstate)); cpy (len, f); f += len - 1; continue; } } #else /* ! DO_MULTIBYTE */ /* Either multibyte encodings are not supported, they are safe for formats, so any non-'%' byte can be copied through, or this is the wide character version. */ if (*f != L_('%')) { add1 (*f); continue; } #endif /* ! DO_MULTIBYTE */ /* Check for flags that can modify a format. */ while (1) { switch (*++f) { /* This influences the number formats. */ case L_('_'): case L_('-'): case L_('0'): pad = *f; continue; /* This changes textual output. */ case L_('^'): to_uppcase = true; continue; case L_('#'): change_case = true; continue; default: break; } break; } /* As a GNU extension we allow to specify the field width. */ if (ISDIGIT (*f)) { width = 0; do { if (width > INT_MAX / 10 || (width == INT_MAX / 10 && *f - L_('0') > INT_MAX % 10)) /* Avoid overflow. */ width = INT_MAX; else { width *= 10; width += *f - L_('0'); } ++f; } while (ISDIGIT (*f)); } /* Check for modifiers. */ switch (*f) { case L_('E'): case L_('O'): modifier = *f++; break; default: modifier = 0; break; } /* Now do the specified format. */ format_char = *f; switch (format_char) { #define DO_NUMBER(d, v) \ digits = d; \ number_value = v; goto do_number #define DO_SIGNED_NUMBER(d, negative, v) \ digits = d; \ negative_number = negative; \ u_number_value = v; goto do_signed_number /* The mask is not what you might think. When the ordinal i'th bit is set, insert a colon before the i'th digit of the time zone representation. */ #define DO_TZ_OFFSET(d, negative, mask, v) \ digits = d; \ negative_number = negative; \ tz_colon_mask = mask; \ u_number_value = v; goto do_tz_offset #define DO_NUMBER_SPACEPAD(d, v) \ digits = d; \ number_value = v; goto do_number_spacepad case L_('%'): if (modifier != 0) goto bad_format; add1 (*f); break; case L_('a'): if (modifier != 0) goto bad_format; if (change_case) { to_uppcase = true; to_lowcase = false; } #ifdef _NL_CURRENT cpy (aw_len, a_wkday); break; #else goto underlying_strftime; #endif case 'A': if (modifier != 0) goto bad_format; if (change_case) { to_uppcase = true; to_lowcase = false; } #ifdef _NL_CURRENT cpy (STRLEN (f_wkday), f_wkday); break; #else goto underlying_strftime; #endif case L_('b'): case L_('h'): if (change_case) { to_uppcase = true; to_lowcase = false; } if (modifier != 0) goto bad_format; #ifdef _NL_CURRENT cpy (am_len, a_month); break; #else goto underlying_strftime; #endif case L_('B'): if (modifier != 0) goto bad_format; if (change_case) { to_uppcase = true; to_lowcase = false; } #ifdef _NL_CURRENT cpy (STRLEN (f_month), f_month); break; #else goto underlying_strftime; #endif case L_('c'): if (modifier == L_('O')) goto bad_format; #ifdef _NL_CURRENT if (! (modifier == 'E' && (*(subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ERA_D_T_FMT))) != '\0'))) subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(D_T_FMT)); #else goto underlying_strftime; #endif subformat: { size_t len = strftime_case_ (to_uppcase, NULL, STRFTIME_ARG ((size_t) -1) subfmt, tp extra_args LOCALE_ARG); add (len, strftime_case_ (to_uppcase, p, STRFTIME_ARG (maxsize - i) subfmt, tp extra_args LOCALE_ARG)); } break; #if !(defined _NL_CURRENT && HAVE_STRUCT_ERA_ENTRY) underlying_strftime: { /* The relevant information is available only via the underlying strftime implementation, so use that. */ char ufmt[5]; char *u = ufmt; char ubuf[1024]; /* enough for any single format in practice */ size_t len; /* Make sure we're calling the actual underlying strftime. In some cases, config.h contains something like "#define strftime rpl_strftime". */ # ifdef strftime # undef strftime size_t strftime (); # endif /* The space helps distinguish strftime failure from empty output. */ *u++ = ' '; *u++ = '%'; if (modifier != 0) *u++ = modifier; *u++ = format_char; *u = '\0'; len = strftime (ubuf, sizeof ubuf, ufmt, tp); if (len != 0) cpy (len - 1, ubuf + 1); } break; #endif case L_('C'): if (modifier == L_('O')) goto bad_format; if (modifier == L_('E')) { #if HAVE_STRUCT_ERA_ENTRY struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); if (era) { # ifdef COMPILE_WIDE size_t len = __wcslen (era->era_wname); cpy (len, era->era_wname); # else size_t len = strlen (era->era_name); cpy (len, era->era_name); # endif break; } #else goto underlying_strftime; #endif } { int century = tp->tm_year / 100 + TM_YEAR_BASE / 100; century -= tp->tm_year % 100 < 0 && 0 < century; DO_SIGNED_NUMBER (2, tp->tm_year < - TM_YEAR_BASE, century); } case L_('x'): if (modifier == L_('O')) goto bad_format; #ifdef _NL_CURRENT if (! (modifier == L_('E') && (*(subfmt = (const CHAR_T *)_NL_CURRENT (LC_TIME, NLW(ERA_D_FMT))) != L_('\0')))) subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(D_FMT)); goto subformat; #else goto underlying_strftime; #endif case L_('D'): if (modifier != 0) goto bad_format; subfmt = L_("%m/%d/%y"); goto subformat; case L_('d'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, tp->tm_mday); case L_('e'): if (modifier == L_('E')) goto bad_format; DO_NUMBER_SPACEPAD (2, tp->tm_mday); /* All numeric formats set DIGITS and NUMBER_VALUE (or U_NUMBER_VALUE) and then jump to one of these labels. */ do_tz_offset: always_output_a_sign = true; goto do_number_body; do_number_spacepad: /* Force `_' flag unless overridden by `0' or `-' flag. */ if (pad != L_('0') && pad != L_('-')) pad = L_('_'); do_number: /* Format NUMBER_VALUE according to the MODIFIER flag. */ negative_number = number_value < 0; u_number_value = number_value; do_signed_number: always_output_a_sign = false; tz_colon_mask = 0; do_number_body: /* Format U_NUMBER_VALUE according to the MODIFIER flag. NEGATIVE_NUMBER is nonzero if the original number was negative; in this case it was converted directly to unsigned int (i.e., modulo (UINT_MAX + 1)) without negating it. */ if (modifier == L_('O') && !negative_number) { #ifdef _NL_CURRENT /* Get the locale specific alternate representation of the number. If none exist NULL is returned. */ const CHAR_T *cp = nl_get_alt_digit (u_number_value HELPER_LOCALE_ARG); if (cp != NULL) { size_t digitlen = STRLEN (cp); if (digitlen != 0) { cpy (digitlen, cp); break; } } #else goto underlying_strftime; #endif } bufp = buf + sizeof (buf) / sizeof (buf[0]); if (negative_number) u_number_value = - u_number_value; do { if (tz_colon_mask & 1) *--bufp = ':'; tz_colon_mask >>= 1; *--bufp = u_number_value % 10 + L_('0'); u_number_value /= 10; } while (u_number_value != 0 || tz_colon_mask != 0); do_number_sign_and_padding: if (digits < width) digits = width; sign_char = (negative_number ? L_('-') : always_output_a_sign ? L_('+') : 0); if (pad == L_('-')) { if (sign_char) add1 (sign_char); } else { int padding = digits - (buf + (sizeof (buf) / sizeof (buf[0])) - bufp) - !!sign_char; if (padding > 0) { if (pad == L_('_')) { if ((size_t) padding >= maxsize - i) return 0; if (p) memset_space (p, padding); i += padding; width = width > padding ? width - padding : 0; if (sign_char) add1 (sign_char); } else { if ((size_t) digits >= maxsize - i) return 0; if (sign_char) add1 (sign_char); if (p) memset_zero (p, padding); i += padding; width = 0; } } else { if (sign_char) add1 (sign_char); } } cpy (buf + sizeof (buf) / sizeof (buf[0]) - bufp, bufp); break; case L_('F'): if (modifier != 0) goto bad_format; subfmt = L_("%Y-%m-%d"); goto subformat; case L_('H'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, tp->tm_hour); case L_('I'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, hour12); case L_('k'): /* GNU extension. */ if (modifier == L_('E')) goto bad_format; DO_NUMBER_SPACEPAD (2, tp->tm_hour); case L_('l'): /* GNU extension. */ if (modifier == L_('E')) goto bad_format; DO_NUMBER_SPACEPAD (2, hour12); case L_('j'): if (modifier == L_('E')) goto bad_format; DO_SIGNED_NUMBER (3, tp->tm_yday < -1, tp->tm_yday + 1U); case L_('M'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, tp->tm_min); case L_('m'): if (modifier == L_('E')) goto bad_format; DO_SIGNED_NUMBER (2, tp->tm_mon < -1, tp->tm_mon + 1U); #ifndef _LIBC case L_('N'): /* GNU extension. */ if (modifier == L_('E')) goto bad_format; number_value = ns; if (width == -1) width = 9; else { /* Take an explicit width less than 9 as a precision. */ int j; for (j = width; j < 9; j++) number_value /= 10; } DO_NUMBER (width, number_value); #endif case L_('n'): add1 (L_('\n')); break; case L_('P'): to_lowcase = true; #ifndef _NL_CURRENT format_char = L_('p'); #endif /* FALLTHROUGH */ case L_('p'): if (change_case) { to_uppcase = false; to_lowcase = true; } #ifdef _NL_CURRENT cpy (ap_len, ampm); break; #else goto underlying_strftime; #endif case L_('R'): subfmt = L_("%H:%M"); goto subformat; case L_('r'): #ifdef _NL_CURRENT if (*(subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(T_FMT_AMPM))) == L_('\0')) subfmt = L_("%I:%M:%S %p"); goto subformat; #else goto underlying_strftime; #endif case L_('S'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, tp->tm_sec); case L_('s'): /* GNU extension. */ { struct tm ltm; time_t t; ltm = *tp; t = mktime (<m); /* Generate string value for T using time_t arithmetic; this works even if sizeof (long) < sizeof (time_t). */ bufp = buf + sizeof (buf) / sizeof (buf[0]); negative_number = t < 0; do { int d = t % 10; t /= 10; *--bufp = (negative_number ? -d : d) + L_('0'); } while (t != 0); digits = 1; always_output_a_sign = false; goto do_number_sign_and_padding; } case L_('X'): if (modifier == L_('O')) goto bad_format; #ifdef _NL_CURRENT if (! (modifier == L_('E') && (*(subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ERA_T_FMT))) != L_('\0')))) subfmt = (const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(T_FMT)); goto subformat; #else goto underlying_strftime; #endif case L_('T'): subfmt = L_("%H:%M:%S"); goto subformat; case L_('t'): add1 (L_('\t')); break; case L_('u'): DO_NUMBER (1, (tp->tm_wday - 1 + 7) % 7 + 1); case L_('U'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, (tp->tm_yday - tp->tm_wday + 7) / 7); case L_('V'): case L_('g'): case L_('G'): if (modifier == L_('E')) goto bad_format; { /* YEAR is a leap year if and only if (tp->tm_year + TM_YEAR_BASE) is a leap year, except that YEAR and YEAR - 1 both work correctly even when (tp->tm_year + TM_YEAR_BASE) would overflow. */ int year = (tp->tm_year + (tp->tm_year < 0 ? TM_YEAR_BASE % 400 : TM_YEAR_BASE % 400 - 400)); int year_adjust = 0; int days = iso_week_days (tp->tm_yday, tp->tm_wday); if (days < 0) { /* This ISO week belongs to the previous year. */ year_adjust = -1; days = iso_week_days (tp->tm_yday + (365 + __isleap (year - 1)), tp->tm_wday); } else { int d = iso_week_days (tp->tm_yday - (365 + __isleap (year)), tp->tm_wday); if (0 <= d) { /* This ISO week belongs to the next year. */ year_adjust = 1; days = d; } } switch (*f) { case L_('g'): { int yy = (tp->tm_year % 100 + year_adjust) % 100; DO_NUMBER (2, (0 <= yy ? yy : tp->tm_year < -TM_YEAR_BASE - year_adjust ? -yy : yy + 100)); } case L_('G'): DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE - year_adjust, (tp->tm_year + (unsigned int) TM_YEAR_BASE + year_adjust)); default: DO_NUMBER (2, days / 7 + 1); } } case L_('W'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (2, (tp->tm_yday - (tp->tm_wday - 1 + 7) % 7 + 7) / 7); case L_('w'): if (modifier == L_('E')) goto bad_format; DO_NUMBER (1, tp->tm_wday); case L_('Y'): if (modifier == 'E') { #if HAVE_STRUCT_ERA_ENTRY struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); if (era) { # ifdef COMPILE_WIDE subfmt = era->era_wformat; # else subfmt = era->era_format; # endif goto subformat; } #else goto underlying_strftime; #endif } if (modifier == L_('O')) goto bad_format; else DO_SIGNED_NUMBER (4, tp->tm_year < -TM_YEAR_BASE, tp->tm_year + (unsigned int) TM_YEAR_BASE); case L_('y'): if (modifier == L_('E')) { #if HAVE_STRUCT_ERA_ENTRY struct era_entry *era = _nl_get_era_entry (tp HELPER_LOCALE_ARG); if (era) { int delta = tp->tm_year - era->start_date[0]; DO_NUMBER (1, (era->offset + delta * era->absolute_direction)); } #else goto underlying_strftime; #endif } { int yy = tp->tm_year % 100; if (yy < 0) yy = tp->tm_year < - TM_YEAR_BASE ? -yy : yy + 100; DO_NUMBER (2, yy); } case L_('Z'): if (change_case) { to_uppcase = false; to_lowcase = true; } #if HAVE_TZNAME /* The tzset() call might have changed the value. */ if (!(zone && *zone) && tp->tm_isdst >= 0) zone = tzname[tp->tm_isdst != 0]; #endif if (! zone) zone = ""; #ifdef COMPILE_WIDE { /* The zone string is always given in multibyte form. We have to transform it first. */ wchar_t *wczone; size_t len; widen (zone, wczone, len); cpy (len, wczone); } #else cpy (strlen (zone), zone); #endif break; case L_(':'): /* :, ::, and ::: are valid only just before 'z'. :::: etc. are rejected later. */ for (colons = 1; f[colons] == L_(':'); colons++) continue; if (f[colons] != L_('z')) goto bad_format; f += colons; goto do_z_conversion; case L_('z'): colons = 0; do_z_conversion: if (tp->tm_isdst < 0) break; { int diff; int hour_diff; int min_diff; int sec_diff; #if HAVE_TM_GMTOFF diff = tp->tm_gmtoff; #else if (ut) diff = 0; else { struct tm gtm; struct tm ltm; time_t lt; ltm = *tp; lt = mktime (<m); if (lt == (time_t) -1) { /* mktime returns -1 for errors, but -1 is also a valid time_t value. Check whether an error really occurred. */ struct tm tm; if (! __localtime_r (<, &tm) || ((ltm.tm_sec ^ tm.tm_sec) | (ltm.tm_min ^ tm.tm_min) | (ltm.tm_hour ^ tm.tm_hour) | (ltm.tm_mday ^ tm.tm_mday) | (ltm.tm_mon ^ tm.tm_mon) | (ltm.tm_year ^ tm.tm_year))) break; } if (! __gmtime_r (<, >m)) break; diff = tm_diff (<m, >m); } #endif hour_diff = diff / 60 / 60; min_diff = diff / 60 % 60; sec_diff = diff % 60; switch (colons) { case 0: /* +hhmm */ DO_TZ_OFFSET (5, diff < 0, 0, hour_diff * 100 + min_diff); case 1: tz_hh_mm: /* +hh:mm */ DO_TZ_OFFSET (6, diff < 0, 04, hour_diff * 100 + min_diff); case 2: tz_hh_mm_ss: /* +hh:mm:ss */ DO_TZ_OFFSET (9, diff < 0, 024, hour_diff * 10000 + min_diff * 100 + sec_diff); case 3: /* +hh if possible, else +hh:mm, else +hh:mm:ss */ if (sec_diff != 0) goto tz_hh_mm_ss; if (min_diff != 0) goto tz_hh_mm; DO_TZ_OFFSET (3, diff < 0, 0, hour_diff); default: goto bad_format; } } case L_('\0'): /* GNU extension: % at end of format. */ --f; /* Fall through. */ default: /* Unknown format; output the format, including the '%', since this is most likely the right thing to do if a multibyte string has been misparsed. */ bad_format: { int flen; for (flen = 1; f[1 - flen] != L_('%'); flen++) continue; cpy (flen, &f[1 - flen]); } break; } } #if ! FPRINTFTIME if (p && maxsize != 0) *p = L_('\0'); #endif return i; } /* Write information from TP into S according to the format string FORMAT, writing no more that MAXSIZE characters (including the terminating '\0') and returning number of characters written. If S is NULL, nothing will be written anywhere, so to determine how many characters would be written, use NULL for S and (size_t) -1 for MAXSIZE. */ size_t my_strftime (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize) const CHAR_T *format, const struct tm *tp extra_args_spec LOCALE_PARAM_PROTO) { return strftime_case_ (false, s, STRFTIME_ARG (maxsize) format, tp extra_args LOCALE_ARG); } #if defined _LIBC && ! FPRINTFTIME libc_hidden_def (my_strftime) #endif #if defined emacs && ! FPRINTFTIME /* For Emacs we have a separate interface which corresponds to the normal strftime function plus the ut argument, but without the ns argument. */ size_t emacs_strftimeu (char *s, size_t maxsize, const char *format, const struct tm *tp, int ut) { return my_strftime (s, maxsize, format, tp, ut, 0); } #endif dc3dd-7.1.614/lib/xmemxfrm.c0000644000175000017500000000402611022023316015204 0ustar amedicoamedico/* Locale-specific memory transformation Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert . */ #include #include "xmemxfrm.h" #include #include #include "gettext.h" #define _(msgid) gettext (msgid) #include "error.h" #include "exitfail.h" #include "memxfrm.h" #include "quotearg.h" /* Store into DEST (of size DESTSIZE) the text in SRC (of size SRCSIZE) transformed so that the result of memcmp on two transformed texts (with ties going to the longer text) is the same as the result of memcoll on the two texts before their transformation. Perhaps temporarily modify the byte after SRC, but restore its original contents before returning. Return the size of the resulting text. DEST contains an indeterminate value if the resulting size is greater than DESTSIZE. Report an error and exit if there is an error. */ size_t xmemxfrm (char *restrict dest, size_t destsize, char *restrict src, size_t srcsize) { size_t translated_size = memxfrm (dest, destsize, src, srcsize); if (errno) { error (0, errno, _("string transformation failed")); error (0, 0, _("Set LC_ALL='C' to work around the problem.")); error (exit_failure, 0, _("The untransformed string was %s."), quotearg_n_style_mem (0, locale_quoting_style, src, srcsize)); } return translated_size; } dc3dd-7.1.614/lib/malloca.c0000644000175000017500000001151511064230667014771 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Safe automatic memory allocation. Copyright (C) 2003, 2006-2007 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #include "malloca.h" /* The speed critical point in this file is freea() applied to an alloca() result: it must be fast, to match the speed of alloca(). The speed of mmalloca() and freea() in the other case are not critical, because they are only invoked for big memory sizes. */ #if HAVE_ALLOCA /* Store the mmalloca() results in a hash table. This is needed to reliably distinguish a mmalloca() result and an alloca() result. Although it is possible that the same pointer is returned by alloca() and by mmalloca() at different times in the same application, it does not lead to a bug in freea(), because: - Before a pointer returned by alloca() can point into malloc()ed memory, the function must return, and once this has happened the programmer must not call freea() on it anyway. - Before a pointer returned by mmalloca() can point into the stack, it must be freed. The only function that can free it is freea(), and when freea() frees it, it also removes it from the hash table. */ #define MAGIC_NUMBER 0x1415fb4a #define MAGIC_SIZE sizeof (int) /* This is how the header info would look like without any alignment considerations. */ struct preliminary_header { void *next; char room[MAGIC_SIZE]; }; /* But the header's size must be a multiple of sa_alignment_max. */ #define HEADER_SIZE \ (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max) struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; }; /* Verify that HEADER_SIZE == sizeof (struct header). */ typedef int verify1[2 * (HEADER_SIZE == sizeof (struct header)) - 1]; /* We make the hash table quite big, so that during lookups the probability of empty hash buckets is quite high. There is no need to make the hash table resizable, because when the hash table gets filled so much that the lookup becomes slow, it means that the application has memory leaks. */ #define HASH_TABLE_SIZE 257 static void * mmalloca_results[HASH_TABLE_SIZE]; #endif void * mmalloca (size_t n) { #if HAVE_ALLOCA /* Allocate one more word, that serves as an indicator for malloc()ed memory, so that freea() of an alloca() result is fast. */ size_t nplus = n + HEADER_SIZE; if (nplus >= n) { char *p = (char *) malloc (nplus); if (p != NULL) { size_t slot; p += HEADER_SIZE; /* Put a magic number into the indicator word. */ ((int *) p)[-1] = MAGIC_NUMBER; /* Enter p into the hash table. */ slot = (unsigned long) p % HASH_TABLE_SIZE; ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot]; mmalloca_results[slot] = p; return p; } } /* Out of memory. */ return NULL; #else # if !MALLOC_0_IS_NONNULL if (n == 0) n = 1; # endif return malloc (n); #endif } #if HAVE_ALLOCA void freea (void *p) { /* mmalloca() may have returned NULL. */ if (p != NULL) { /* Attempt to quickly distinguish the mmalloca() result - which has a magic indicator word - and the alloca() result - which has an uninitialized indicator word. It is for this test that sa_increment additional bytes are allocated in the alloca() case. */ if (((int *) p)[-1] == MAGIC_NUMBER) { /* Looks like a mmalloca() result. To see whether it really is one, perform a lookup in the hash table. */ size_t slot = (unsigned long) p % HASH_TABLE_SIZE; void **chain = &mmalloca_results[slot]; for (; *chain != NULL;) { if (*chain == p) { /* Found it. Remove it from the hash table and free it. */ char *p_begin = (char *) p - HEADER_SIZE; *chain = ((struct header *) p_begin)->next; free (p_begin); return; } chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next; } } /* At this point, we know it was not a mmalloca() result. */ } } #endif dc3dd-7.1.614/lib/printf-args.h0000644000175000017500000000673011064230667015625 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Decomposed printf argument list. Copyright (C) 1999, 2002-2003, 2006-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _PRINTF_ARGS_H #define _PRINTF_ARGS_H /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. PRINTF_FETCHARGS Name of the function to be declared. STATIC Set to 'static' to declare the function static. */ /* Default parameters. */ #ifndef PRINTF_FETCHARGS # define PRINTF_FETCHARGS printf_fetchargs #endif /* Get size_t. */ #include /* Get wchar_t. */ #if HAVE_WCHAR_T # include #endif /* Get wint_t. */ #if HAVE_WINT_T # include #endif /* Get va_list. */ #include /* Argument types */ typedef enum { TYPE_NONE, TYPE_SCHAR, TYPE_UCHAR, TYPE_SHORT, TYPE_USHORT, TYPE_INT, TYPE_UINT, TYPE_LONGINT, TYPE_ULONGINT, #if HAVE_LONG_LONG_INT TYPE_LONGLONGINT, TYPE_ULONGLONGINT, #endif TYPE_DOUBLE, TYPE_LONGDOUBLE, TYPE_CHAR, #if HAVE_WINT_T TYPE_WIDE_CHAR, #endif TYPE_STRING, #if HAVE_WCHAR_T TYPE_WIDE_STRING, #endif TYPE_POINTER, TYPE_COUNT_SCHAR_POINTER, TYPE_COUNT_SHORT_POINTER, TYPE_COUNT_INT_POINTER, TYPE_COUNT_LONGINT_POINTER #if HAVE_LONG_LONG_INT , TYPE_COUNT_LONGLONGINT_POINTER #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ , TYPE_U8_STRING , TYPE_U16_STRING , TYPE_U32_STRING #endif } arg_type; /* Polymorphic argument */ typedef struct { arg_type type; union { signed char a_schar; unsigned char a_uchar; short a_short; unsigned short a_ushort; int a_int; unsigned int a_uint; long int a_longint; unsigned long int a_ulongint; #if HAVE_LONG_LONG_INT long long int a_longlongint; unsigned long long int a_ulonglongint; #endif float a_float; double a_double; long double a_longdouble; int a_char; #if HAVE_WINT_T wint_t a_wide_char; #endif const char* a_string; #if HAVE_WCHAR_T const wchar_t* a_wide_string; #endif void* a_pointer; signed char * a_count_schar_pointer; short * a_count_short_pointer; int * a_count_int_pointer; long int * a_count_longint_pointer; #if HAVE_LONG_LONG_INT long long int * a_count_longlongint_pointer; #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ const uint8_t * a_u8_string; const uint16_t * a_u16_string; const uint32_t * a_u32_string; #endif } a; } argument; typedef struct { size_t count; argument *arg; } arguments; /* Fetch the arguments, putting them into a. */ #ifdef STATIC STATIC #else extern #endif int PRINTF_FETCHARGS (va_list args, arguments *a); #endif /* _PRINTF_ARGS_H */ dc3dd-7.1.614/lib/base64.c0000644000175000017500000004102711064230667014446 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* base64.c -- Encode binary data using printable characters. Copyright (C) 1999, 2000, 2001, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Written by Simon Josefsson. Partially adapted from GNU MailUtils * (mailbox/filter_trans.c, as of 2004-11-28). Improved by review * from Paul Eggert, Bruno Haible, and Stepan Kasal. * * See also RFC 3548 . * * Be careful with error checking. Here is how you would typically * use these functions: * * bool ok = base64_decode_alloc (in, inlen, &out, &outlen); * if (!ok) * FAIL: input was not valid base64 * if (out == NULL) * FAIL: memory allocation error * OK: data in OUT/OUTLEN * * size_t outlen = base64_encode_alloc (in, inlen, &out); * if (out == NULL && outlen == 0 && inlen != 0) * FAIL: input too long * if (out == NULL) * FAIL: memory allocation error * OK: data in OUT/OUTLEN. * */ #include /* Get prototype. */ #include "base64.h" /* Get malloc. */ #include /* Get UCHAR_MAX. */ #include #include /* C89 compliant way to cast 'char' to 'unsigned char'. */ static inline unsigned char to_uchar (char ch) { return ch; } /* Base64 encode IN array of size INLEN into OUT array of size OUTLEN. If OUTLEN is less than BASE64_LENGTH(INLEN), write as many bytes as possible. If OUTLEN is larger than BASE64_LENGTH(INLEN), also zero terminate the output buffer. */ void base64_encode (const char *restrict in, size_t inlen, char *restrict out, size_t outlen) { static const char b64str[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; while (inlen && outlen) { *out++ = b64str[(to_uchar (in[0]) >> 2) & 0x3f]; if (!--outlen) break; *out++ = b64str[((to_uchar (in[0]) << 4) + (--inlen ? to_uchar (in[1]) >> 4 : 0)) & 0x3f]; if (!--outlen) break; *out++ = (inlen ? b64str[((to_uchar (in[1]) << 2) + (--inlen ? to_uchar (in[2]) >> 6 : 0)) & 0x3f] : '='); if (!--outlen) break; *out++ = inlen ? b64str[to_uchar (in[2]) & 0x3f] : '='; if (!--outlen) break; if (inlen) inlen--; if (inlen) in += 3; } if (outlen) *out = '\0'; } /* Allocate a buffer and store zero terminated base64 encoded data from array IN of size INLEN, returning BASE64_LENGTH(INLEN), i.e., the length of the encoded data, excluding the terminating zero. On return, the OUT variable will hold a pointer to newly allocated memory that must be deallocated by the caller. If output string length would overflow, 0 is returned and OUT is set to NULL. If memory allocation failed, OUT is set to NULL, and the return value indicates length of the requested memory block, i.e., BASE64_LENGTH(inlen) + 1. */ size_t base64_encode_alloc (const char *in, size_t inlen, char **out) { size_t outlen = 1 + BASE64_LENGTH (inlen); /* Check for overflow in outlen computation. * * If there is no overflow, outlen >= inlen. * * If the operation (inlen + 2) overflows then it yields at most +1, so * outlen is 0. * * If the multiplication overflows, we lose at least half of the * correct value, so the result is < ((inlen + 2) / 3) * 2, which is * less than (inlen + 2) * 0.66667, which is less than inlen as soon as * (inlen > 4). */ if (inlen > outlen) { *out = NULL; return 0; } *out = malloc (outlen); if (!*out) return outlen; base64_encode (in, inlen, *out, outlen); return outlen - 1; } /* With this approach this file works independent of the charset used (think EBCDIC). However, it does assume that the characters in the Base64 alphabet (A-Za-z0-9+/) are encoded in 0..255. POSIX 1003.1-2001 require that char and unsigned char are 8-bit quantities, though, taking care of that problem. But this may be a potential problem on non-POSIX C99 platforms. IBM C V6 for AIX mishandles "#define B64(x) ...'x'...", so use "_" as the formal parameter rather than "x". */ #define B64(_) \ ((_) == 'A' ? 0 \ : (_) == 'B' ? 1 \ : (_) == 'C' ? 2 \ : (_) == 'D' ? 3 \ : (_) == 'E' ? 4 \ : (_) == 'F' ? 5 \ : (_) == 'G' ? 6 \ : (_) == 'H' ? 7 \ : (_) == 'I' ? 8 \ : (_) == 'J' ? 9 \ : (_) == 'K' ? 10 \ : (_) == 'L' ? 11 \ : (_) == 'M' ? 12 \ : (_) == 'N' ? 13 \ : (_) == 'O' ? 14 \ : (_) == 'P' ? 15 \ : (_) == 'Q' ? 16 \ : (_) == 'R' ? 17 \ : (_) == 'S' ? 18 \ : (_) == 'T' ? 19 \ : (_) == 'U' ? 20 \ : (_) == 'V' ? 21 \ : (_) == 'W' ? 22 \ : (_) == 'X' ? 23 \ : (_) == 'Y' ? 24 \ : (_) == 'Z' ? 25 \ : (_) == 'a' ? 26 \ : (_) == 'b' ? 27 \ : (_) == 'c' ? 28 \ : (_) == 'd' ? 29 \ : (_) == 'e' ? 30 \ : (_) == 'f' ? 31 \ : (_) == 'g' ? 32 \ : (_) == 'h' ? 33 \ : (_) == 'i' ? 34 \ : (_) == 'j' ? 35 \ : (_) == 'k' ? 36 \ : (_) == 'l' ? 37 \ : (_) == 'm' ? 38 \ : (_) == 'n' ? 39 \ : (_) == 'o' ? 40 \ : (_) == 'p' ? 41 \ : (_) == 'q' ? 42 \ : (_) == 'r' ? 43 \ : (_) == 's' ? 44 \ : (_) == 't' ? 45 \ : (_) == 'u' ? 46 \ : (_) == 'v' ? 47 \ : (_) == 'w' ? 48 \ : (_) == 'x' ? 49 \ : (_) == 'y' ? 50 \ : (_) == 'z' ? 51 \ : (_) == '0' ? 52 \ : (_) == '1' ? 53 \ : (_) == '2' ? 54 \ : (_) == '3' ? 55 \ : (_) == '4' ? 56 \ : (_) == '5' ? 57 \ : (_) == '6' ? 58 \ : (_) == '7' ? 59 \ : (_) == '8' ? 60 \ : (_) == '9' ? 61 \ : (_) == '+' ? 62 \ : (_) == '/' ? 63 \ : -1) static const signed char b64[0x100] = { B64 (0), B64 (1), B64 (2), B64 (3), B64 (4), B64 (5), B64 (6), B64 (7), B64 (8), B64 (9), B64 (10), B64 (11), B64 (12), B64 (13), B64 (14), B64 (15), B64 (16), B64 (17), B64 (18), B64 (19), B64 (20), B64 (21), B64 (22), B64 (23), B64 (24), B64 (25), B64 (26), B64 (27), B64 (28), B64 (29), B64 (30), B64 (31), B64 (32), B64 (33), B64 (34), B64 (35), B64 (36), B64 (37), B64 (38), B64 (39), B64 (40), B64 (41), B64 (42), B64 (43), B64 (44), B64 (45), B64 (46), B64 (47), B64 (48), B64 (49), B64 (50), B64 (51), B64 (52), B64 (53), B64 (54), B64 (55), B64 (56), B64 (57), B64 (58), B64 (59), B64 (60), B64 (61), B64 (62), B64 (63), B64 (64), B64 (65), B64 (66), B64 (67), B64 (68), B64 (69), B64 (70), B64 (71), B64 (72), B64 (73), B64 (74), B64 (75), B64 (76), B64 (77), B64 (78), B64 (79), B64 (80), B64 (81), B64 (82), B64 (83), B64 (84), B64 (85), B64 (86), B64 (87), B64 (88), B64 (89), B64 (90), B64 (91), B64 (92), B64 (93), B64 (94), B64 (95), B64 (96), B64 (97), B64 (98), B64 (99), B64 (100), B64 (101), B64 (102), B64 (103), B64 (104), B64 (105), B64 (106), B64 (107), B64 (108), B64 (109), B64 (110), B64 (111), B64 (112), B64 (113), B64 (114), B64 (115), B64 (116), B64 (117), B64 (118), B64 (119), B64 (120), B64 (121), B64 (122), B64 (123), B64 (124), B64 (125), B64 (126), B64 (127), B64 (128), B64 (129), B64 (130), B64 (131), B64 (132), B64 (133), B64 (134), B64 (135), B64 (136), B64 (137), B64 (138), B64 (139), B64 (140), B64 (141), B64 (142), B64 (143), B64 (144), B64 (145), B64 (146), B64 (147), B64 (148), B64 (149), B64 (150), B64 (151), B64 (152), B64 (153), B64 (154), B64 (155), B64 (156), B64 (157), B64 (158), B64 (159), B64 (160), B64 (161), B64 (162), B64 (163), B64 (164), B64 (165), B64 (166), B64 (167), B64 (168), B64 (169), B64 (170), B64 (171), B64 (172), B64 (173), B64 (174), B64 (175), B64 (176), B64 (177), B64 (178), B64 (179), B64 (180), B64 (181), B64 (182), B64 (183), B64 (184), B64 (185), B64 (186), B64 (187), B64 (188), B64 (189), B64 (190), B64 (191), B64 (192), B64 (193), B64 (194), B64 (195), B64 (196), B64 (197), B64 (198), B64 (199), B64 (200), B64 (201), B64 (202), B64 (203), B64 (204), B64 (205), B64 (206), B64 (207), B64 (208), B64 (209), B64 (210), B64 (211), B64 (212), B64 (213), B64 (214), B64 (215), B64 (216), B64 (217), B64 (218), B64 (219), B64 (220), B64 (221), B64 (222), B64 (223), B64 (224), B64 (225), B64 (226), B64 (227), B64 (228), B64 (229), B64 (230), B64 (231), B64 (232), B64 (233), B64 (234), B64 (235), B64 (236), B64 (237), B64 (238), B64 (239), B64 (240), B64 (241), B64 (242), B64 (243), B64 (244), B64 (245), B64 (246), B64 (247), B64 (248), B64 (249), B64 (250), B64 (251), B64 (252), B64 (253), B64 (254), B64 (255) }; #if UCHAR_MAX == 255 # define uchar_in_range(c) true #else # define uchar_in_range(c) ((c) <= 255) #endif /* Return true if CH is a character from the Base64 alphabet, and false otherwise. Note that '=' is padding and not considered to be part of the alphabet. */ bool isbase64 (char ch) { return uchar_in_range (to_uchar (ch)) && 0 <= b64[to_uchar (ch)]; } /* Initialize decode-context buffer, CTX. */ void base64_decode_ctx_init (struct base64_decode_context *ctx) { ctx->i = 0; } /* If CTX->i is 0 or 4, there are four or more bytes in [*IN..IN_END), and none of those four is a newline, then return *IN. Otherwise, copy up to 4 - CTX->i non-newline bytes from that range into CTX->buf, starting at index CTX->i and setting CTX->i to reflect the number of bytes copied, and return CTX->buf. In either case, advance *IN to point to the byte after the last one processed, and set *N_NON_NEWLINE to the number of verified non-newline bytes accessible through the returned pointer. */ static inline char * get_4 (struct base64_decode_context *ctx, char const *restrict *in, char const *restrict in_end, size_t *n_non_newline) { if (ctx->i == 4) ctx->i = 0; if (ctx->i == 0) { char const *t = *in; if (4 <= in_end - *in && memchr (t, '\n', 4) == NULL) { /* This is the common case: no newline. */ *in += 4; *n_non_newline = 4; return (char *) t; } } { /* Copy non-newline bytes into BUF. */ char const *p = *in; while (p < in_end) { char c = *p++; if (c != '\n') { ctx->buf[ctx->i++] = c; if (ctx->i == 4) break; } } *in = p; *n_non_newline = ctx->i; return ctx->buf; } } #define return_false \ do \ { \ *outp = out; \ return false; \ } \ while (false) /* Decode up to four bytes of base64-encoded data, IN, of length INLEN into the output buffer, *OUT, of size *OUTLEN bytes. Return true if decoding is successful, false otherwise. If *OUTLEN is too small, as many bytes as possible are written to *OUT. On return, advance *OUT to point to the byte after the last one written, and decrement *OUTLEN to reflect the number of bytes remaining in *OUT. */ static inline bool decode_4 (char const *restrict in, size_t inlen, char *restrict *outp, size_t *outleft) { char *out = *outp; if (inlen < 2) return false; if (!isbase64 (in[0]) || !isbase64 (in[1])) return false; if (*outleft) { *out++ = ((b64[to_uchar (in[0])] << 2) | (b64[to_uchar (in[1])] >> 4)); --*outleft; } if (inlen == 2) return_false; if (in[2] == '=') { if (inlen != 4) return_false; if (in[3] != '=') return_false; } else { if (!isbase64 (in[2])) return_false; if (*outleft) { *out++ = (((b64[to_uchar (in[1])] << 4) & 0xf0) | (b64[to_uchar (in[2])] >> 2)); --*outleft; } if (inlen == 3) return_false; if (in[3] == '=') { if (inlen != 4) return_false; } else { if (!isbase64 (in[3])) return_false; if (*outleft) { *out++ = (((b64[to_uchar (in[2])] << 6) & 0xc0) | b64[to_uchar (in[3])]); --*outleft; } } } *outp = out; return true; } /* Decode base64-encoded input array IN of length INLEN to output array OUT that can hold *OUTLEN bytes. The input data may be interspersed with newlines. Return true if decoding was successful, i.e. if the input was valid base64 data, false otherwise. If *OUTLEN is too small, as many bytes as possible will be written to OUT. On return, *OUTLEN holds the length of decoded bytes in OUT. Note that as soon as any non-alphabet, non-newline character is encountered, decoding is stopped and false is returned. If INLEN is zero, then process only whatever data is stored in CTX. Initially, CTX must have been initialized via base64_decode_ctx_init. Subsequent calls to this function must reuse whatever state is recorded in that buffer. It is necessary for when a quadruple of base64 input bytes spans two input buffers. If CTX is NULL then newlines are treated as garbage and the input buffer is processed as a unit. */ bool base64_decode_ctx (struct base64_decode_context *ctx, const char *restrict in, size_t inlen, char *restrict out, size_t *outlen) { size_t outleft = *outlen; bool ignore_newlines = ctx != NULL; bool flush_ctx = false; unsigned int ctx_i = 0; if (ignore_newlines) { ctx_i = ctx->i; flush_ctx = inlen == 0; } while (true) { size_t outleft_save = outleft; if (ctx_i == 0 && !flush_ctx) { while (true) { /* Save a copy of outleft, in case we need to re-parse this block of four bytes. */ outleft_save = outleft; if (!decode_4 (in, inlen, &out, &outleft)) break; in += 4; inlen -= 4; } } if (inlen == 0 && !flush_ctx) break; /* Handle the common case of 72-byte wrapped lines. This also handles any other multiple-of-4-byte wrapping. */ if (inlen && *in == '\n' && ignore_newlines) { ++in; --inlen; continue; } /* Restore OUT and OUTLEFT. */ out -= outleft_save - outleft; outleft = outleft_save; { char const *in_end = in + inlen; char const *non_nl; if (ignore_newlines) non_nl = get_4 (ctx, &in, in_end, &inlen); else non_nl = in; /* Might have nl in this case. */ /* If the input is empty or consists solely of newlines (0 non-newlines), then we're done. Likewise if there are fewer than 4 bytes when not flushing context and not treating newlines as garbage. */ if (inlen == 0 || (inlen < 4 && !flush_ctx && ignore_newlines)) { inlen = 0; break; } if (!decode_4 (non_nl, inlen, &out, &outleft)) break; inlen = in_end - in; } } *outlen -= outleft; return inlen == 0; } /* Allocate an output buffer in *OUT, and decode the base64 encoded data stored in IN of size INLEN to the *OUT buffer. On return, the size of the decoded data is stored in *OUTLEN. OUTLEN may be NULL, if the caller is not interested in the decoded length. *OUT may be NULL to indicate an out of memory error, in which case *OUTLEN contains the size of the memory block needed. The function returns true on successful decoding and memory allocation errors. (Use the *OUT and *OUTLEN parameters to differentiate between successful decoding and memory error.) The function returns false if the input was invalid, in which case *OUT is NULL and *OUTLEN is undefined. */ bool base64_decode_alloc_ctx (struct base64_decode_context *ctx, const char *in, size_t inlen, char **out, size_t *outlen) { /* This may allocate a few bytes too many, depending on input, but it's not worth the extra CPU time to compute the exact size. The exact size is 3 * inlen / 4, minus 1 if the input ends with "=" and minus another 1 if the input ends with "==". Dividing before multiplying avoids the possibility of overflow. */ size_t needlen = 3 * (inlen / 4) + 2; *out = malloc (needlen); if (!*out) return true; if (!base64_decode_ctx (ctx, in, inlen, *out, &needlen)) { free (*out); *out = NULL; return false; } if (outlen) *outlen = needlen; return true; } dc3dd-7.1.614/lib/version-etc-fsf.c0000644000175000017500000000216711022023316016357 0ustar amedicoamedico/* Variable with FSF copyright information, for version-etc. Copyright (C) 1999-2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include /* Specification. */ #include "version-etc.h" /* Default copyright goes to the FSF. */ const char version_etc_copyright[] = /* Do *not* mark this string for translation. %s is a copyright symbol suitable for this locale, and %d is the copyright year. */ "Copyright %s %d Free Software Foundation, Inc."; dc3dd-7.1.614/lib/c-strcasecmp.c0000644000175000017500000000327511064230667015751 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* c-strcasecmp.c -- case insensitive string comparator in C locale Copyright (C) 1998-1999, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #include "c-strcase.h" #include #include "c-ctype.h" int c_strcasecmp (const char *s1, const char *s2) { register const unsigned char *p1 = (const unsigned char *) s1; register const unsigned char *p2 = (const unsigned char *) s2; unsigned char c1, c2; if (p1 == p2) return 0; do { c1 = c_tolower (*p1); c2 = c_tolower (*p2); if (c1 == '\0') break; ++p1; ++p2; } while (c1 == c2); if (UCHAR_MAX <= INT_MAX) return c1 - c2; else /* On machines where 'char' and 'int' are types of the same size, the difference of two 'unsigned char' values - including the sign bit - doesn't fit in an 'int'. */ return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); } dc3dd-7.1.614/lib/memcoll.h0000644000175000017500000000165211022023316015000 0ustar amedicoamedico/* Locale-specific memory comparison. Copyright (C) 1999, 2003 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Contributed by Paul Eggert . */ #ifndef MEMCOLL_H_ # define MEMCOLL_H_ 1 # include int memcoll (char *, size_t, char *, size_t); #endif /* MEMCOLL_H_ */ dc3dd-7.1.614/lib/vfprintf.c0000644000175000017500000000331111064230667015212 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Formatted output to a stream. Copyright (C) 2004, 2006-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if 1 # include #endif /* Specification. */ #include #include #include #include #include #include "fseterr.h" #include "vasnprintf.h" /* Print formatted output to the stream FP. Return string length of formatted string. On error, return a negative value. */ int vfprintf (FILE *fp, const char *format, va_list args) { char buf[2000]; char *output; size_t len; size_t lenbuf = sizeof (buf); output = vasnprintf (buf, &lenbuf, format, args); len = lenbuf; if (!output) { fseterr (fp); return -1; } if (fwrite (output, 1, len, fp) < len) { if (output != buf) { int saved_errno = errno; free (output); errno = saved_errno; } return -1; } if (len > INT_MAX) { errno = EOVERFLOW; fseterr (fp); return -1; } return len; } dc3dd-7.1.614/lib/mpsort.c0000644000175000017500000000651711022023316014674 0ustar amedicoamedico/* Sort a vector of pointers to data. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "mpsort.h" #include /* The type of qsort-style comparison functions. */ typedef int (*comparison_function) (void const *, void const *); static void mpsort_with_tmp (void const **restrict, size_t, void const **restrict, comparison_function); /* Sort a vector BASE containing N pointers, placing the sorted array into TMP. Compare pointers with CMP. N must be at least 2. */ static void mpsort_into_tmp (void const **restrict base, size_t n, void const **restrict tmp, comparison_function cmp) { size_t n1 = n / 2; size_t n2 = n - n1; size_t a = 0; size_t alim = n1; size_t b = n1; size_t blim = n; void const *ba; void const *bb; mpsort_with_tmp (base + n1, n2, tmp, cmp); mpsort_with_tmp (base, n1, tmp, cmp); ba = base[a]; bb = base[b]; for (;;) if (cmp (ba, bb) <= 0) { *tmp++ = ba; a++; if (a == alim) { a = b; alim = blim; break; } ba = base[a]; } else { *tmp++ = bb; b++; if (b == blim) break; bb = base[b]; } memcpy (tmp, base + a, (alim - a) * sizeof *base); } /* Sort a vector BASE containing N pointers, in place. Use TMP (containing N / 2 pointers) for temporary storage. Compare pointers with CMP. */ static void mpsort_with_tmp (void const **restrict base, size_t n, void const **restrict tmp, comparison_function cmp) { if (n <= 2) { if (n == 2) { void const *p0 = base[0]; void const *p1 = base[1]; if (! (cmp (p0, p1) <= 0)) { base[0] = p1; base[1] = p0; } } } else { size_t n1 = n / 2; size_t n2 = n - n1; size_t i; size_t t = 0; size_t tlim = n1; size_t b = n1; size_t blim = n; void const *bb; void const *tt; mpsort_with_tmp (base + n1, n2, tmp, cmp); if (n1 < 2) tmp[0] = base[0]; else mpsort_into_tmp (base, n1, tmp, cmp); tt = tmp[t]; bb = base[b]; for (i = 0; ; ) if (cmp (tt, bb) <= 0) { base[i++] = tt; t++; if (t == tlim) break; tt = tmp[t]; } else { base[i++] = bb; b++; if (b == blim) { memcpy (base + i, tmp + t, (tlim - t) * sizeof *base); break; } bb = base[b]; } } } /* Sort a vector BASE containing N pointers, in place. BASE must contain enough storage to hold N + N / 2 vectors; the trailing vectors are used for temporaries. Compare pointers with CMP. */ void mpsort (void const **base, size_t n, comparison_function cmp) { mpsort_with_tmp (base, n, base + n, cmp); } dc3dd-7.1.614/lib/isnanf.h0000644000175000017500000000226511064230667014646 0ustar amedicoamedico/* Test for NaN that does not need libm. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if HAVE_ISNANF_IN_LIBC /* Get declaration of isnan macro or (older) isnanf function. */ # include # if __GNUC__ >= 4 /* GCC 4.0 and newer provides three built-ins for isnan. */ # undef isnanf # define isnanf(x) __builtin_isnanf ((float)(x)) # elif defined isnan # undef isnanf # define isnanf(x) isnan ((float)(x)) # endif #else /* Test whether X is a NaN. */ # undef isnanf # define isnanf rpl_isnanf extern int isnanf (float x); #endif dc3dd-7.1.614/lib/string.in.h0000644000175000017500000005172511064230667015310 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* A GNU-like . Copyright (C) 1995-1996, 2001-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _GL_STRING_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STRING_H@ #ifndef _GL_STRING_H #define _GL_STRING_H #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) # define __attribute__(Spec) /* empty */ # endif /* The attribute __pure__ was added in gcc 2.96. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96) # define __pure__ /* empty */ # endif #endif /* The definition of GL_LINK_WARNING is copied here. */ #ifdef __cplusplus extern "C" { #endif /* Return the first occurrence of NEEDLE in HAYSTACK. */ #if @GNULIB_MEMMEM@ # if @REPLACE_MEMMEM@ # define memmem rpl_memmem # endif # if ! @HAVE_DECL_MEMMEM@ || @REPLACE_MEMMEM@ extern void *memmem (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len) __attribute__ ((__pure__)); # endif #elif defined GNULIB_POSIXCHECK # undef memmem # define memmem(a,al,b,bl) \ (GL_LINK_WARNING ("memmem is unportable and often quadratic - " \ "use gnulib module memmem-simple for portability, " \ "and module memmem for speed" ), \ memmem (a, al, b, bl)) #endif /* Copy N bytes of SRC to DEST, return pointer to bytes after the last written byte. */ #if @GNULIB_MEMPCPY@ # if ! @HAVE_MEMPCPY@ extern void *mempcpy (void *restrict __dest, void const *restrict __src, size_t __n); # endif #elif defined GNULIB_POSIXCHECK # undef mempcpy # define mempcpy(a,b,n) \ (GL_LINK_WARNING ("mempcpy is unportable - " \ "use gnulib module mempcpy for portability"), \ mempcpy (a, b, n)) #endif /* Search backwards through a block for a byte (specified as an int). */ #if @GNULIB_MEMRCHR@ # if ! @HAVE_DECL_MEMRCHR@ extern void *memrchr (void const *, int, size_t) __attribute__ ((__pure__)); # endif #elif defined GNULIB_POSIXCHECK # undef memrchr # define memrchr(a,b,c) \ (GL_LINK_WARNING ("memrchr is unportable - " \ "use gnulib module memrchr for portability"), \ memrchr (a, b, c)) #endif /* Find the first occurrence of C in S. More efficient than memchr(S,C,N), at the expense of undefined behavior if C does not occur within N bytes. */ #if @GNULIB_RAWMEMCHR@ # if ! @HAVE_RAWMEMCHR@ extern void *rawmemchr (void const *__s, int __c_in) __attribute__ ((__pure__)); # endif #elif defined GNULIB_POSIXCHECK # undef rawmemchr # define rawmemchr(a,b) \ (GL_LINK_WARNING ("rawmemchr is unportable - " \ "use gnulib module rawmemchr for portability"), \ rawmemchr (a, b)) #endif /* Copy SRC to DST, returning the address of the terminating '\0' in DST. */ #if @GNULIB_STPCPY@ # if ! @HAVE_STPCPY@ extern char *stpcpy (char *restrict __dst, char const *restrict __src); # endif #elif defined GNULIB_POSIXCHECK # undef stpcpy # define stpcpy(a,b) \ (GL_LINK_WARNING ("stpcpy is unportable - " \ "use gnulib module stpcpy for portability"), \ stpcpy (a, b)) #endif /* Copy no more than N bytes of SRC to DST, returning a pointer past the last non-NUL byte written into DST. */ #if @GNULIB_STPNCPY@ # if ! @HAVE_STPNCPY@ # define stpncpy gnu_stpncpy extern char *stpncpy (char *restrict __dst, char const *restrict __src, size_t __n); # endif #elif defined GNULIB_POSIXCHECK # undef stpncpy # define stpncpy(a,b,n) \ (GL_LINK_WARNING ("stpncpy is unportable - " \ "use gnulib module stpncpy for portability"), \ stpncpy (a, b, n)) #endif #if defined GNULIB_POSIXCHECK /* strchr() does not work with multibyte strings if the locale encoding is GB18030 and the character to be searched is a digit. */ # undef strchr # define strchr(s,c) \ (GL_LINK_WARNING ("strchr cannot work correctly on character strings " \ "in some multibyte locales - " \ "use mbschr if you care about internationalization"), \ strchr (s, c)) #endif /* Find the first occurrence of C in S or the final NUL byte. */ #if @GNULIB_STRCHRNUL@ # if ! @HAVE_STRCHRNUL@ extern char *strchrnul (char const *__s, int __c_in) __attribute__ ((__pure__)); # endif #elif defined GNULIB_POSIXCHECK # undef strchrnul # define strchrnul(a,b) \ (GL_LINK_WARNING ("strchrnul is unportable - " \ "use gnulib module strchrnul for portability"), \ strchrnul (a, b)) #endif /* Duplicate S, returning an identical malloc'd string. */ #if @GNULIB_STRDUP@ # if ! @HAVE_DECL_STRDUP@ && ! defined strdup extern char *strdup (char const *__s); # endif #elif defined GNULIB_POSIXCHECK # undef strdup # define strdup(a) \ (GL_LINK_WARNING ("strdup is unportable - " \ "use gnulib module strdup for portability"), \ strdup (a)) #endif /* Return a newly allocated copy of at most N bytes of STRING. */ #if @GNULIB_STRNDUP@ # if ! @HAVE_STRNDUP@ # undef strndup # define strndup rpl_strndup # endif # if ! @HAVE_STRNDUP@ || ! @HAVE_DECL_STRNDUP@ extern char *strndup (char const *__string, size_t __n); # endif #elif defined GNULIB_POSIXCHECK # undef strndup # define strndup(a,n) \ (GL_LINK_WARNING ("strndup is unportable - " \ "use gnulib module strndup for portability"), \ strndup (a, n)) #endif /* Find the length (number of bytes) of STRING, but scan at most MAXLEN bytes. If no '\0' terminator is found in that many bytes, return MAXLEN. */ #if @GNULIB_STRNLEN@ # if ! @HAVE_DECL_STRNLEN@ extern size_t strnlen (char const *__string, size_t __maxlen) __attribute__ ((__pure__)); # endif #elif defined GNULIB_POSIXCHECK # undef strnlen # define strnlen(a,n) \ (GL_LINK_WARNING ("strnlen is unportable - " \ "use gnulib module strnlen for portability"), \ strnlen (a, n)) #endif #if defined GNULIB_POSIXCHECK /* strcspn() assumes the second argument is a list of single-byte characters. Even in this simple case, it does not work with multibyte strings if the locale encoding is GB18030 and one of the characters to be searched is a digit. */ # undef strcspn # define strcspn(s,a) \ (GL_LINK_WARNING ("strcspn cannot work correctly on character strings " \ "in multibyte locales - " \ "use mbscspn if you care about internationalization"), \ strcspn (s, a)) #endif /* Find the first occurrence in S of any character in ACCEPT. */ #if @GNULIB_STRPBRK@ # if ! @HAVE_STRPBRK@ extern char *strpbrk (char const *__s, char const *__accept) __attribute__ ((__pure__)); # endif # if defined GNULIB_POSIXCHECK /* strpbrk() assumes the second argument is a list of single-byte characters. Even in this simple case, it does not work with multibyte strings if the locale encoding is GB18030 and one of the characters to be searched is a digit. */ # undef strpbrk # define strpbrk(s,a) \ (GL_LINK_WARNING ("strpbrk cannot work correctly on character strings " \ "in multibyte locales - " \ "use mbspbrk if you care about internationalization"), \ strpbrk (s, a)) # endif #elif defined GNULIB_POSIXCHECK # undef strpbrk # define strpbrk(s,a) \ (GL_LINK_WARNING ("strpbrk is unportable - " \ "use gnulib module strpbrk for portability"), \ strpbrk (s, a)) #endif #if defined GNULIB_POSIXCHECK /* strspn() assumes the second argument is a list of single-byte characters. Even in this simple case, it cannot work with multibyte strings. */ # undef strspn # define strspn(s,a) \ (GL_LINK_WARNING ("strspn cannot work correctly on character strings " \ "in multibyte locales - " \ "use mbsspn if you care about internationalization"), \ strspn (s, a)) #endif #if defined GNULIB_POSIXCHECK /* strrchr() does not work with multibyte strings if the locale encoding is GB18030 and the character to be searched is a digit. */ # undef strrchr # define strrchr(s,c) \ (GL_LINK_WARNING ("strrchr cannot work correctly on character strings " \ "in some multibyte locales - " \ "use mbsrchr if you care about internationalization"), \ strrchr (s, c)) #endif /* Search the next delimiter (char listed in DELIM) starting at *STRINGP. If one is found, overwrite it with a NUL, and advance *STRINGP to point to the next char after it. Otherwise, set *STRINGP to NULL. If *STRINGP was already NULL, nothing happens. Return the old value of *STRINGP. This is a variant of strtok() that is multithread-safe and supports empty fields. Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. Caveat: It doesn't work with multibyte strings unless all of the delimiter characters are ASCII characters < 0x30. See also strtok_r(). */ #if @GNULIB_STRSEP@ # if ! @HAVE_STRSEP@ extern char *strsep (char **restrict __stringp, char const *restrict __delim); # endif # if defined GNULIB_POSIXCHECK # undef strsep # define strsep(s,d) \ (GL_LINK_WARNING ("strsep cannot work correctly on character strings " \ "in multibyte locales - " \ "use mbssep if you care about internationalization"), \ strsep (s, d)) # endif #elif defined GNULIB_POSIXCHECK # undef strsep # define strsep(s,d) \ (GL_LINK_WARNING ("strsep is unportable - " \ "use gnulib module strsep for portability"), \ strsep (s, d)) #endif #if @GNULIB_STRSTR@ # if @REPLACE_STRSTR@ # define strstr rpl_strstr char *strstr (const char *haystack, const char *needle) __attribute__ ((__pure__)); # endif #elif defined GNULIB_POSIXCHECK /* strstr() does not work with multibyte strings if the locale encoding is different from UTF-8: POSIX says that it operates on "strings", and "string" in POSIX is defined as a sequence of bytes, not of characters. */ # undef strstr # define strstr(a,b) \ (GL_LINK_WARNING ("strstr is quadratic on many systems, and cannot " \ "work correctly on character strings in most " \ "multibyte locales - " \ "use mbsstr if you care about internationalization, " \ "or use strstr if you care about speed"), \ strstr (a, b)) #endif /* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive comparison. */ #if @GNULIB_STRCASESTR@ # if @REPLACE_STRCASESTR@ # define strcasestr rpl_strcasestr # endif # if ! @HAVE_STRCASESTR@ || @REPLACE_STRCASESTR@ extern char *strcasestr (const char *haystack, const char *needle) __attribute__ ((__pure__)); # endif #elif defined GNULIB_POSIXCHECK /* strcasestr() does not work with multibyte strings: It is a glibc extension, and glibc implements it only for unibyte locales. */ # undef strcasestr # define strcasestr(a,b) \ (GL_LINK_WARNING ("strcasestr does work correctly on character strings " \ "in multibyte locales - " \ "use mbscasestr if you care about " \ "internationalization, or use c-strcasestr if you want " \ "a locale independent function"), \ strcasestr (a, b)) #endif /* Parse S into tokens separated by characters in DELIM. If S is NULL, the saved pointer in SAVE_PTR is used as the next starting point. For example: char s[] = "-abc-=-def"; char *sp; x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def" x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL x = strtok_r(NULL, "=", &sp); // x = NULL // s = "abc\0-def\0" This is a variant of strtok() that is multithread-safe. For the POSIX documentation for this function, see: http://www.opengroup.org/susv3xsh/strtok.html Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. Caveat: It doesn't work with multibyte strings unless all of the delimiter characters are ASCII characters < 0x30. See also strsep(). */ #if @GNULIB_STRTOK_R@ # if ! @HAVE_DECL_STRTOK_R@ extern char *strtok_r (char *restrict s, char const *restrict delim, char **restrict save_ptr); # endif # if defined GNULIB_POSIXCHECK # undef strtok_r # define strtok_r(s,d,p) \ (GL_LINK_WARNING ("strtok_r cannot work correctly on character strings " \ "in multibyte locales - " \ "use mbstok_r if you care about internationalization"), \ strtok_r (s, d, p)) # endif #elif defined GNULIB_POSIXCHECK # undef strtok_r # define strtok_r(s,d,p) \ (GL_LINK_WARNING ("strtok_r is unportable - " \ "use gnulib module strtok_r for portability"), \ strtok_r (s, d, p)) #endif /* The following functions are not specified by POSIX. They are gnulib extensions. */ #if @GNULIB_MBSLEN@ /* Return the number of multibyte characters in the character string STRING. This considers multibyte characters, unlike strlen, which counts bytes. */ extern size_t mbslen (const char *string); #endif #if @GNULIB_MBSNLEN@ /* Return the number of multibyte characters in the character string starting at STRING and ending at STRING + LEN. */ extern size_t mbsnlen (const char *string, size_t len); #endif #if @GNULIB_MBSCHR@ /* Locate the first single-byte character C in the character string STRING, and return a pointer to it. Return NULL if C is not found in STRING. Unlike strchr(), this function works correctly in multibyte locales with encodings such as GB18030. */ # define mbschr rpl_mbschr /* avoid collision with HP-UX function */ extern char * mbschr (const char *string, int c); #endif #if @GNULIB_MBSRCHR@ /* Locate the last single-byte character C in the character string STRING, and return a pointer to it. Return NULL if C is not found in STRING. Unlike strrchr(), this function works correctly in multibyte locales with encodings such as GB18030. */ # define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */ extern char * mbsrchr (const char *string, int c); #endif #if @GNULIB_MBSSTR@ /* Find the first occurrence of the character string NEEDLE in the character string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK. Unlike strstr(), this function works correctly in multibyte locales with encodings different from UTF-8. */ extern char * mbsstr (const char *haystack, const char *needle); #endif #if @GNULIB_MBSCASECMP@ /* Compare the character strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. Note: This function may, in multibyte locales, return 0 for strings of different lengths! Unlike strcasecmp(), this function works correctly in multibyte locales. */ extern int mbscasecmp (const char *s1, const char *s2); #endif #if @GNULIB_MBSNCASECMP@ /* Compare the initial segment of the character string S1 consisting of at most N characters with the initial segment of the character string S2 consisting of at most N characters, ignoring case, returning less than, equal to or greater than zero if the initial segment of S1 is lexicographically less than, equal to or greater than the initial segment of S2. Note: This function may, in multibyte locales, return 0 for initial segments of different lengths! Unlike strncasecmp(), this function works correctly in multibyte locales. But beware that N is not a byte count but a character count! */ extern int mbsncasecmp (const char *s1, const char *s2, size_t n); #endif #if @GNULIB_MBSPCASECMP@ /* Compare the initial segment of the character string STRING consisting of at most mbslen (PREFIX) characters with the character string PREFIX, ignoring case, returning less than, equal to or greater than zero if this initial segment is lexicographically less than, equal to or greater than PREFIX. Note: This function may, in multibyte locales, return 0 if STRING is of smaller length than PREFIX! Unlike strncasecmp(), this function works correctly in multibyte locales. */ extern char * mbspcasecmp (const char *string, const char *prefix); #endif #if @GNULIB_MBSCASESTR@ /* Find the first occurrence of the character string NEEDLE in the character string HAYSTACK, using case-insensitive comparison. Note: This function may, in multibyte locales, return success even if strlen (haystack) < strlen (needle) ! Unlike strcasestr(), this function works correctly in multibyte locales. */ extern char * mbscasestr (const char *haystack, const char *needle); #endif #if @GNULIB_MBSCSPN@ /* Find the first occurrence in the character string STRING of any character in the character string ACCEPT. Return the number of bytes from the beginning of the string to this occurrence, or to the end of the string if none exists. Unlike strcspn(), this function works correctly in multibyte locales. */ extern size_t mbscspn (const char *string, const char *accept); #endif #if @GNULIB_MBSPBRK@ /* Find the first occurrence in the character string STRING of any character in the character string ACCEPT. Return the pointer to it, or NULL if none exists. Unlike strpbrk(), this function works correctly in multibyte locales. */ # define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */ extern char * mbspbrk (const char *string, const char *accept); #endif #if @GNULIB_MBSSPN@ /* Find the first occurrence in the character string STRING of any character not in the character string REJECT. Return the number of bytes from the beginning of the string to this occurrence, or to the end of the string if none exists. Unlike strspn(), this function works correctly in multibyte locales. */ extern size_t mbsspn (const char *string, const char *reject); #endif #if @GNULIB_MBSSEP@ /* Search the next delimiter (multibyte character listed in the character string DELIM) starting at the character string *STRINGP. If one is found, overwrite it with a NUL, and advance *STRINGP to point to the next multibyte character after it. Otherwise, set *STRINGP to NULL. If *STRINGP was already NULL, nothing happens. Return the old value of *STRINGP. This is a variant of mbstok_r() that supports empty fields. Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. See also mbstok_r(). */ extern char * mbssep (char **stringp, const char *delim); #endif #if @GNULIB_MBSTOK_R@ /* Parse the character string STRING into tokens separated by characters in the character string DELIM. If STRING is NULL, the saved pointer in SAVE_PTR is used as the next starting point. For example: char s[] = "-abc-=-def"; char *sp; x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def" x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL x = mbstok_r(NULL, "=", &sp); // x = NULL // s = "abc\0-def\0" Caveat: It modifies the original string. Caveat: These functions cannot be used on constant strings. Caveat: The identity of the delimiting character is lost. See also mbssep(). */ extern char * mbstok_r (char *string, const char *delim, char **save_ptr); #endif /* Map any int, typically from errno, into an error message. */ #if @GNULIB_STRERROR@ # if @REPLACE_STRERROR@ # undef strerror # define strerror rpl_strerror extern char *strerror (int); # endif #elif defined GNULIB_POSIXCHECK # undef strerror # define strerror(e) \ (GL_LINK_WARNING ("strerror is unportable - " \ "use gnulib module strerror to guarantee non-NULL result"), \ strerror (e)) #endif #if @GNULIB_STRSIGNAL@ # if @REPLACE_STRSIGNAL@ # define strsignal rpl_strsignal # endif # if ! @HAVE_DECL_STRSIGNAL@ || @REPLACE_STRSIGNAL@ extern char *strsignal (int __sig); # endif #elif defined GNULIB_POSIXCHECK # undef strsignal # define strsignal(a) \ (GL_LINK_WARNING ("strsignal is unportable - " \ "use gnulib module strsignal for portability"), \ strsignal (a)) #endif #ifdef __cplusplus } #endif #endif /* _GL_STRING_H */ #endif /* _GL_STRING_H */ dc3dd-7.1.614/lib/unistd.in.h0000644000175000017500000002430311064230667015300 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Substitute for and wrapper around . Copyright (C) 2004-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _GL_UNISTD_H /* The include_next requires a split double-inclusion guard. */ #if @HAVE_UNISTD_H@ # @INCLUDE_NEXT@ @NEXT_UNISTD_H@ #endif #ifndef _GL_UNISTD_H #define _GL_UNISTD_H /* mingw doesn't define the SEEK_* macros in . */ #if !(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) # include #endif /* mingw fails to declare _exit in . */ #include /* The definition of GL_LINK_WARNING is copied here. */ /* Declare overridden functions. */ #ifdef __cplusplus extern "C" { #endif #if @GNULIB_CHOWN@ # if @REPLACE_CHOWN@ # ifndef REPLACE_CHOWN # define REPLACE_CHOWN 1 # endif # if REPLACE_CHOWN /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE to GID (if GID is not -1). Follow symbolic links. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # define chown rpl_chown extern int chown (const char *file, uid_t uid, gid_t gid); # endif # endif #elif defined GNULIB_POSIXCHECK # undef chown # define chown(f,u,g) \ (GL_LINK_WARNING ("chown fails to follow symlinks on some systems and " \ "doesn't treat a uid or gid of -1 on some systems - " \ "use gnulib module chown for portability"), \ chown (f, u, g)) #endif #if @GNULIB_DUP2@ # if !@HAVE_DUP2@ /* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if NEWFD = OLDFD, otherwise close NEWFD first if it is open. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ extern int dup2 (int oldfd, int newfd); # endif #elif defined GNULIB_POSIXCHECK # undef dup2 # define dup2(o,n) \ (GL_LINK_WARNING ("dup2 is unportable - " \ "use gnulib module dup2 for portability"), \ dup2 (o, n)) #endif #if @GNULIB_ENVIRON@ # if !@HAVE_DECL_ENVIRON@ /* Set of environment variables and values. An array of strings of the form "VARIABLE=VALUE", terminated with a NULL. */ # if defined __APPLE__ && defined __MACH__ # include # define environ (*_NSGetEnviron ()) # else extern char **environ; # endif # endif #elif defined GNULIB_POSIXCHECK # undef environ # define environ \ (GL_LINK_WARNING ("environ is unportable - " \ "use gnulib module environ for portability"), \ environ) #endif #if @GNULIB_FCHDIR@ # if @REPLACE_FCHDIR@ /* Change the process' current working directory to the directory on which the given file descriptor is open. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ extern int fchdir (int /*fd*/); # define close rpl_close extern int close (int); # define dup rpl_dup extern int dup (int); # define dup2 rpl_dup2 extern int dup2 (int, int); # endif #elif defined GNULIB_POSIXCHECK # undef fchdir # define fchdir(f) \ (GL_LINK_WARNING ("fchdir is unportable - " \ "use gnulib module fchdir for portability"), \ fchdir (f)) #endif #if @GNULIB_FTRUNCATE@ # if !@HAVE_FTRUNCATE@ /* Change the size of the file to which FD is opened to become equal to LENGTH. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ extern int ftruncate (int fd, off_t length); # endif #elif defined GNULIB_POSIXCHECK # undef ftruncate # define ftruncate(f,l) \ (GL_LINK_WARNING ("ftruncate is unportable - " \ "use gnulib module ftruncate for portability"), \ ftruncate (f, l)) #endif #if @GNULIB_GETCWD@ /* Include the headers that might declare getcwd so that they will not cause confusion if included after this file. */ # include # if @REPLACE_GETCWD@ /* Get the name of the current working directory, and put it in SIZE bytes of BUF. Return BUF if successful, or NULL if the directory couldn't be determined or SIZE was too small. See the POSIX:2001 specification . Additionally, the gnulib module 'getcwd' guarantees the following GNU extension: If BUF is NULL, an array is allocated with 'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as necessary. */ # define getcwd rpl_getcwd extern char * getcwd (char *buf, size_t size); # endif #elif defined GNULIB_POSIXCHECK # undef getcwd # define getcwd(b,s) \ (GL_LINK_WARNING ("getcwd is unportable - " \ "use gnulib module getcwd for portability"), \ getcwd (b, s)) #endif #if @GNULIB_GETLOGIN_R@ /* Copies the user's login name to NAME. The array pointed to by NAME has room for SIZE bytes. Returns 0 if successful. Upon error, an error number is returned, or -1 in the case that the login name cannot be found but no specific error is provided (this case is hopefully rare but is left open by the POSIX spec). See . */ # if !@HAVE_DECL_GETLOGIN_R@ # include extern int getlogin_r (char *name, size_t size); # endif #elif defined GNULIB_POSIXCHECK # undef getlogin_r # define getlogin_r(n,s) \ (GL_LINK_WARNING ("getlogin_r is unportable - " \ "use gnulib module getlogin_r for portability"), \ getlogin_r (n, s)) #endif #if @GNULIB_GETPAGESIZE@ # if @REPLACE_GETPAGESIZE@ # define getpagesize rpl_getpagesize extern int getpagesize (void); # elif !@HAVE_GETPAGESIZE@ /* This is for POSIX systems. */ # if !defined getpagesize && defined _SC_PAGESIZE # if ! (defined __VMS && __VMS_VER < 70000000) # define getpagesize() sysconf (_SC_PAGESIZE) # endif # endif /* This is for older VMS. */ # if !defined getpagesize && defined __VMS # ifdef __ALPHA # define getpagesize() 8192 # else # define getpagesize() 512 # endif # endif /* This is for BeOS. */ # if !defined getpagesize && @HAVE_OS_H@ # include # if defined B_PAGE_SIZE # define getpagesize() B_PAGE_SIZE # endif # endif /* This is for AmigaOS4.0. */ # if !defined getpagesize && defined __amigaos4__ # define getpagesize() 2048 # endif /* This is for older Unix systems. */ # if !defined getpagesize && @HAVE_SYS_PARAM_H@ # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else # ifdef NBPG # ifndef CLSIZE # define CLSIZE 1 # endif # define getpagesize() (NBPG * CLSIZE) # else # ifdef NBPC # define getpagesize() NBPC # endif # endif # endif # endif # endif #elif defined GNULIB_POSIXCHECK # undef getpagesize # define getpagesize() \ (GL_LINK_WARNING ("getpagesize is unportable - " \ "use gnulib module getpagesize for portability"), \ getpagesize ()) #endif #if @GNULIB_LCHOWN@ # if @REPLACE_LCHOWN@ /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE to GID (if GID is not -1). Do not follow symbolic links. Return 0 if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # define lchown rpl_lchown extern int lchown (char const *file, uid_t owner, gid_t group); # endif #elif defined GNULIB_POSIXCHECK # undef lchown # define lchown(f,u,g) \ (GL_LINK_WARNING ("lchown is unportable to pre-POSIX.1-2001 " \ "systems - use gnulib module lchown for portability"), \ lchown (f, u, g)) #endif #if @GNULIB_LSEEK@ # if @REPLACE_LSEEK@ /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END. Return the new offset if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # define lseek rpl_lseek extern off_t lseek (int fd, off_t offset, int whence); # endif #elif defined GNULIB_POSIXCHECK # undef lseek # define lseek(f,o,w) \ (GL_LINK_WARNING ("lseek does not fail with ESPIPE on pipes on some " \ "systems - use gnulib module lseek for portability"), \ lseek (f, o, w)) #endif #if @GNULIB_READLINK@ /* Read the contents of the symbolic link FILE and place the first BUFSIZE bytes of it into BUF. Return the number of bytes placed into BUF if successful, otherwise -1 and errno set. See the POSIX:2001 specification . */ # if !@HAVE_READLINK@ # include extern int readlink (const char *file, char *buf, size_t bufsize); # endif #elif defined GNULIB_POSIXCHECK # undef readlink # define readlink(f,b,s) \ (GL_LINK_WARNING ("readlink is unportable - " \ "use gnulib module readlink for portability"), \ readlink (f, b, s)) #endif #if @GNULIB_SLEEP@ /* Pause the execution of the current thread for N seconds. Returns the number of seconds left to sleep. See the POSIX:2001 specification . */ # if !@HAVE_SLEEP@ extern unsigned int sleep (unsigned int n); # endif #elif defined GNULIB_POSIXCHECK # undef sleep # define sleep(n) \ (GL_LINK_WARNING ("sleep is unportable - " \ "use gnulib module sleep for portability"), \ sleep (n)) #endif #ifdef __cplusplus } #endif #endif /* _GL_UNISTD_H */ #endif /* _GL_UNISTD_H */ dc3dd-7.1.614/lib/strtoimax.c0000644000175000017500000000401711022023316015373 0ustar amedicoamedico/* Convert string representation of a number into an intmax_t value. Copyright (C) 1999, 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include /* Verify interface. */ #include #include #include "verify.h" #ifdef UNSIGNED # ifndef HAVE_DECL_STRTOULL "this configure-time declaration test was not run" # endif # if !HAVE_DECL_STRTOULL && HAVE_UNSIGNED_LONG_LONG_INT unsigned long long int strtoull (char const *, char **, int); # endif #else # ifndef HAVE_DECL_STRTOLL "this configure-time declaration test was not run" # endif # if !HAVE_DECL_STRTOLL && HAVE_LONG_LONG_INT long long int strtoll (char const *, char **, int); # endif #endif #ifdef UNSIGNED # define Have_long_long HAVE_UNSIGNED_LONG_LONG_INT # define Int uintmax_t # define Unsigned unsigned # define strtoimax strtoumax # define strtol strtoul # define strtoll strtoull #else # define Have_long_long HAVE_LONG_LONG_INT # define Int intmax_t # define Unsigned #endif Int strtoimax (char const *ptr, char **endptr, int base) { #if Have_long_long verify (sizeof (Int) == sizeof (Unsigned long int) || sizeof (Int) == sizeof (Unsigned long long int)); if (sizeof (Int) != sizeof (Unsigned long int)) return strtoll (ptr, endptr, base); #else verify (sizeof (Int) == sizeof (Unsigned long int)); #endif return strtol (ptr, endptr, base); } dc3dd-7.1.614/lib/unistd--.h0000644000175000017500000000162011022023316015003 0ustar amedicoamedico/* Like unistd.h, but redefine some names to avoid glitches. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "unistd-safer.h" #undef dup #define dup dup_safer #undef pipe #define pipe pipe_safer dc3dd-7.1.614/lib/fnmatch_loop.c0000644000175000017500000007235311064230667016041 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Copyright (C) 1991,1992,1993,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Match STRING against the file name pattern PATTERN, returning zero if it matches, nonzero if not. */ static int EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end, bool no_leading_period, int flags) internal_function; static const CHAR *END (const CHAR *patternp) internal_function; static int internal_function FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end, bool no_leading_period, int flags) { register const CHAR *p = pattern, *n = string; register UCHAR c; #ifdef _LIBC # if WIDE_CHAR_VERSION const char *collseq = (const char *) _NL_CURRENT(LC_COLLATE, _NL_COLLATE_COLLSEQWC); # else const UCHAR *collseq = (const UCHAR *) _NL_CURRENT(LC_COLLATE, _NL_COLLATE_COLLSEQMB); # endif #endif while ((c = *p++) != L_('\0')) { bool new_no_leading_period = false; c = FOLD (c); switch (c) { case L_('?'): if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(') { int res; res = EXT (c, p, n, string_end, no_leading_period, flags); if (res != -1) return res; } if (n == string_end) return FNM_NOMATCH; else if (*n == L_('/') && (flags & FNM_FILE_NAME)) return FNM_NOMATCH; else if (*n == L_('.') && no_leading_period) return FNM_NOMATCH; break; case L_('\\'): if (!(flags & FNM_NOESCAPE)) { c = *p++; if (c == L_('\0')) /* Trailing \ loses. */ return FNM_NOMATCH; c = FOLD (c); } if (n == string_end || FOLD ((UCHAR) *n) != c) return FNM_NOMATCH; break; case L_('*'): if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(') { int res; res = EXT (c, p, n, string_end, no_leading_period, flags); if (res != -1) return res; } if (n != string_end && *n == L_('.') && no_leading_period) return FNM_NOMATCH; for (c = *p++; c == L_('?') || c == L_('*'); c = *p++) { if (*p == L_('(') && (flags & FNM_EXTMATCH) != 0) { const CHAR *endp = END (p); if (endp != p) { /* This is a pattern. Skip over it. */ p = endp; continue; } } if (c == L_('?')) { /* A ? needs to match one character. */ if (n == string_end) /* There isn't another character; no match. */ return FNM_NOMATCH; else if (*n == L_('/') && __builtin_expect (flags & FNM_FILE_NAME, 0)) /* A slash does not match a wildcard under FNM_FILE_NAME. */ return FNM_NOMATCH; else /* One character of the string is consumed in matching this ? wildcard, so *??? won't match if there are less than three characters. */ ++n; } } if (c == L_('\0')) /* The wildcard(s) is/are the last element of the pattern. If the name is a file name and contains another slash this means it cannot match, unless the FNM_LEADING_DIR flag is set. */ { int result = (flags & FNM_FILE_NAME) == 0 ? 0 : FNM_NOMATCH; if (flags & FNM_FILE_NAME) { if (flags & FNM_LEADING_DIR) result = 0; else { if (MEMCHR (n, L_('/'), string_end - n) == NULL) result = 0; } } return result; } else { const CHAR *endp; endp = MEMCHR (n, (flags & FNM_FILE_NAME) ? L_('/') : L_('\0'), string_end - n); if (endp == NULL) endp = string_end; if (c == L_('[') || (__builtin_expect (flags & FNM_EXTMATCH, 0) != 0 && (c == L_('@') || c == L_('+') || c == L_('!')) && *p == L_('('))) { int flags2 = ((flags & FNM_FILE_NAME) ? flags : (flags & ~FNM_PERIOD)); bool no_leading_period2 = no_leading_period; for (--p; n < endp; ++n, no_leading_period2 = false) if (FCT (p, n, string_end, no_leading_period2, flags2) == 0) return 0; } else if (c == L_('/') && (flags & FNM_FILE_NAME)) { while (n < string_end && *n != L_('/')) ++n; if (n < string_end && *n == L_('/') && (FCT (p, n + 1, string_end, flags & FNM_PERIOD, flags) == 0)) return 0; } else { int flags2 = ((flags & FNM_FILE_NAME) ? flags : (flags & ~FNM_PERIOD)); int no_leading_period2 = no_leading_period; if (c == L_('\\') && !(flags & FNM_NOESCAPE)) c = *p; c = FOLD (c); for (--p; n < endp; ++n, no_leading_period2 = false) if (FOLD ((UCHAR) *n) == c && (FCT (p, n, string_end, no_leading_period2, flags2) == 0)) return 0; } } /* If we come here no match is possible with the wildcard. */ return FNM_NOMATCH; case L_('['): { /* Nonzero if the sense of the character class is inverted. */ register bool not; CHAR cold; UCHAR fn; if (posixly_correct == 0) posixly_correct = getenv ("POSIXLY_CORRECT") != NULL ? 1 : -1; if (n == string_end) return FNM_NOMATCH; if (*n == L_('.') && no_leading_period) return FNM_NOMATCH; if (*n == L_('/') && (flags & FNM_FILE_NAME)) /* `/' cannot be matched. */ return FNM_NOMATCH; not = (*p == L_('!') || (posixly_correct < 0 && *p == L_('^'))); if (not) ++p; fn = FOLD ((UCHAR) *n); c = *p++; for (;;) { if (!(flags & FNM_NOESCAPE) && c == L_('\\')) { if (*p == L_('\0')) return FNM_NOMATCH; c = FOLD ((UCHAR) *p); ++p; goto normal_bracket; } else if (c == L_('[') && *p == L_(':')) { /* Leave room for the null. */ CHAR str[CHAR_CLASS_MAX_LENGTH + 1]; size_t c1 = 0; #if defined _LIBC || WIDE_CHAR_SUPPORT wctype_t wt; #endif const CHAR *startp = p; for (;;) { if (c1 == CHAR_CLASS_MAX_LENGTH) /* The name is too long and therefore the pattern is ill-formed. */ return FNM_NOMATCH; c = *++p; if (c == L_(':') && p[1] == L_(']')) { p += 2; break; } if (c < L_('a') || c >= L_('z')) { /* This cannot possibly be a character class name. Match it as a normal range. */ p = startp; c = L_('['); goto normal_bracket; } str[c1++] = c; } str[c1] = L_('\0'); #if defined _LIBC || WIDE_CHAR_SUPPORT wt = IS_CHAR_CLASS (str); if (wt == 0) /* Invalid character class name. */ return FNM_NOMATCH; # if defined _LIBC && ! WIDE_CHAR_VERSION /* The following code is glibc specific but does there a good job in speeding up the code since we can avoid the btowc() call. */ if (_ISCTYPE ((UCHAR) *n, wt)) goto matched; # else if (ISWCTYPE (BTOWC ((UCHAR) *n), wt)) goto matched; # endif #else if ((STREQ (str, L_("alnum")) && isalnum ((UCHAR) *n)) || (STREQ (str, L_("alpha")) && isalpha ((UCHAR) *n)) || (STREQ (str, L_("blank")) && isblank ((UCHAR) *n)) || (STREQ (str, L_("cntrl")) && iscntrl ((UCHAR) *n)) || (STREQ (str, L_("digit")) && isdigit ((UCHAR) *n)) || (STREQ (str, L_("graph")) && isgraph ((UCHAR) *n)) || (STREQ (str, L_("lower")) && islower ((UCHAR) *n)) || (STREQ (str, L_("print")) && isprint ((UCHAR) *n)) || (STREQ (str, L_("punct")) && ispunct ((UCHAR) *n)) || (STREQ (str, L_("space")) && isspace ((UCHAR) *n)) || (STREQ (str, L_("upper")) && isupper ((UCHAR) *n)) || (STREQ (str, L_("xdigit")) && isxdigit ((UCHAR) *n))) goto matched; #endif c = *p++; } #ifdef _LIBC else if (c == L_('[') && *p == L_('=')) { UCHAR str[1]; uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); const CHAR *startp = p; c = *++p; if (c == L_('\0')) { p = startp; c = L_('['); goto normal_bracket; } str[0] = c; c = *++p; if (c != L_('=') || p[1] != L_(']')) { p = startp; c = L_('['); goto normal_bracket; } p += 2; if (nrules == 0) { if ((UCHAR) *n == str[0]) goto matched; } else { const int32_t *table; # if WIDE_CHAR_VERSION const int32_t *weights; const int32_t *extra; # else const unsigned char *weights; const unsigned char *extra; # endif const int32_t *indirect; int32_t idx; const UCHAR *cp = (const UCHAR *) str; /* This #include defines a local function! */ # if WIDE_CHAR_VERSION # include # else # include # endif # if WIDE_CHAR_VERSION table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEWC); weights = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTWC); extra = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAWC); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTWC); # else table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB); weights = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_WEIGHTMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB); indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); # endif idx = findidx (&cp); if (idx != 0) { /* We found a table entry. Now see whether the character we are currently at has the same equivalance class value. */ int len = weights[idx]; int32_t idx2; const UCHAR *np = (const UCHAR *) n; idx2 = findidx (&np); if (idx2 != 0 && len == weights[idx2]) { int cnt = 0; while (cnt < len && (weights[idx + 1 + cnt] == weights[idx2 + 1 + cnt])) ++cnt; if (cnt == len) goto matched; } } } c = *p++; } #endif else if (c == L_('\0')) /* [ (unterminated) loses. */ return FNM_NOMATCH; else { bool is_range = false; #ifdef _LIBC bool is_seqval = false; if (c == L_('[') && *p == L_('.')) { uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); const CHAR *startp = p; size_t c1 = 0; while (1) { c = *++p; if (c == L_('.') && p[1] == L_(']')) { p += 2; break; } if (c == '\0') return FNM_NOMATCH; ++c1; } /* We have to handling the symbols differently in ranges since then the collation sequence is important. */ is_range = *p == L_('-') && p[1] != L_('\0'); if (nrules == 0) { /* There are no names defined in the collation data. Therefore we only accept the trivial names consisting of the character itself. */ if (c1 != 1) return FNM_NOMATCH; if (!is_range && *n == startp[1]) goto matched; cold = startp[1]; c = *p++; } else { int32_t table_size; const int32_t *symb_table; # ifdef WIDE_CHAR_VERSION char str[c1]; size_t strcnt; # else # define str (startp + 1) # endif const unsigned char *extra; int32_t idx; int32_t elem; int32_t second; int32_t hash; # ifdef WIDE_CHAR_VERSION /* We have to convert the name to a single-byte string. This is possible since the names consist of ASCII characters and the internal representation is UCS4. */ for (strcnt = 0; strcnt < c1; ++strcnt) str[strcnt] = startp[1 + strcnt]; # endif table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB); symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); /* Locate the character in the hashing table. */ hash = elem_hash (str, c1); idx = 0; elem = hash % table_size; if (symb_table[2 * elem] != 0) { second = hash % (table_size - 2) + 1; do { /* First compare the hashing value. */ if (symb_table[2 * elem] == hash && (c1 == extra[symb_table[2 * elem + 1]]) && memcmp (str, &extra[symb_table[2 * elem + 1] + 1], c1) == 0) { /* Yep, this is the entry. */ idx = symb_table[2 * elem + 1]; idx += 1 + extra[idx]; break; } /* Next entry. */ elem += second; } while (symb_table[2 * elem] != 0); } if (symb_table[2 * elem] != 0) { /* Compare the byte sequence but only if this is not part of a range. */ # ifdef WIDE_CHAR_VERSION int32_t *wextra; idx += 1 + extra[idx]; /* Adjust for the alignment. */ idx = (idx + 3) & ~3; wextra = (int32_t *) &extra[idx + 4]; # endif if (! is_range) { # ifdef WIDE_CHAR_VERSION for (c1 = 0; (int32_t) c1 < wextra[idx]; ++c1) if (n[c1] != wextra[1 + c1]) break; if ((int32_t) c1 == wextra[idx]) goto matched; # else for (c1 = 0; c1 < extra[idx]; ++c1) if (n[c1] != extra[1 + c1]) break; if (c1 == extra[idx]) goto matched; # endif } /* Get the collation sequence value. */ is_seqval = true; # ifdef WIDE_CHAR_VERSION cold = wextra[1 + wextra[idx]]; # else /* Adjust for the alignment. */ idx += 1 + extra[idx]; idx = (idx + 3) & ~4; cold = *((int32_t *) &extra[idx]); # endif c = *p++; } else if (c1 == 1) { /* No valid character. Match it as a single byte. */ if (!is_range && *n == str[0]) goto matched; cold = str[0]; c = *p++; } else return FNM_NOMATCH; } } else # undef str #endif { c = FOLD (c); normal_bracket: /* We have to handling the symbols differently in ranges since then the collation sequence is important. */ is_range = (*p == L_('-') && p[1] != L_('\0') && p[1] != L_(']')); if (!is_range && c == fn) goto matched; #if _LIBC /* This is needed if we goto normal_bracket; from outside of is_seqval's scope. */ is_seqval = false; #endif cold = c; c = *p++; } if (c == L_('-') && *p != L_(']')) { #if _LIBC /* We have to find the collation sequence value for C. Collation sequence is nothing we can regularly access. The sequence value is defined by the order in which the definitions of the collation values for the various characters appear in the source file. A strange concept, nowhere documented. */ uint32_t fcollseq; uint32_t lcollseq; UCHAR cend = *p++; # ifdef WIDE_CHAR_VERSION /* Search in the `names' array for the characters. */ fcollseq = __collseq_table_lookup (collseq, fn); if (fcollseq == ~((uint32_t) 0)) /* XXX We don't know anything about the character we are supposed to match. This means we are failing. */ goto range_not_matched; if (is_seqval) lcollseq = cold; else lcollseq = __collseq_table_lookup (collseq, cold); # else fcollseq = collseq[fn]; lcollseq = is_seqval ? cold : collseq[(UCHAR) cold]; # endif is_seqval = false; if (cend == L_('[') && *p == L_('.')) { uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); const CHAR *startp = p; size_t c1 = 0; while (1) { c = *++p; if (c == L_('.') && p[1] == L_(']')) { p += 2; break; } if (c == '\0') return FNM_NOMATCH; ++c1; } if (nrules == 0) { /* There are no names defined in the collation data. Therefore we only accept the trivial names consisting of the character itself. */ if (c1 != 1) return FNM_NOMATCH; cend = startp[1]; } else { int32_t table_size; const int32_t *symb_table; # ifdef WIDE_CHAR_VERSION char str[c1]; size_t strcnt; # else # define str (startp + 1) # endif const unsigned char *extra; int32_t idx; int32_t elem; int32_t second; int32_t hash; # ifdef WIDE_CHAR_VERSION /* We have to convert the name to a single-byte string. This is possible since the names consist of ASCII characters and the internal representation is UCS4. */ for (strcnt = 0; strcnt < c1; ++strcnt) str[strcnt] = startp[1 + strcnt]; # endif table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB); symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_TABLEMB); extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_EXTRAMB); /* Locate the character in the hashing table. */ hash = elem_hash (str, c1); idx = 0; elem = hash % table_size; if (symb_table[2 * elem] != 0) { second = hash % (table_size - 2) + 1; do { /* First compare the hashing value. */ if (symb_table[2 * elem] == hash && (c1 == extra[symb_table[2 * elem + 1]]) && memcmp (str, &extra[symb_table[2 * elem + 1] + 1], c1) == 0) { /* Yep, this is the entry. */ idx = symb_table[2 * elem + 1]; idx += 1 + extra[idx]; break; } /* Next entry. */ elem += second; } while (symb_table[2 * elem] != 0); } if (symb_table[2 * elem] != 0) { /* Compare the byte sequence but only if this is not part of a range. */ # ifdef WIDE_CHAR_VERSION int32_t *wextra; idx += 1 + extra[idx]; /* Adjust for the alignment. */ idx = (idx + 3) & ~4; wextra = (int32_t *) &extra[idx + 4]; # endif /* Get the collation sequence value. */ is_seqval = true; # ifdef WIDE_CHAR_VERSION cend = wextra[1 + wextra[idx]]; # else /* Adjust for the alignment. */ idx += 1 + extra[idx]; idx = (idx + 3) & ~4; cend = *((int32_t *) &extra[idx]); # endif } else if (symb_table[2 * elem] != 0 && c1 == 1) { cend = str[0]; c = *p++; } else return FNM_NOMATCH; } # undef str } else { if (!(flags & FNM_NOESCAPE) && cend == L_('\\')) cend = *p++; if (cend == L_('\0')) return FNM_NOMATCH; cend = FOLD (cend); } /* XXX It is not entirely clear to me how to handle characters which are not mentioned in the collation specification. */ if ( # ifdef WIDE_CHAR_VERSION lcollseq == 0xffffffff || # endif lcollseq <= fcollseq) { /* We have to look at the upper bound. */ uint32_t hcollseq; if (is_seqval) hcollseq = cend; else { # ifdef WIDE_CHAR_VERSION hcollseq = __collseq_table_lookup (collseq, cend); if (hcollseq == ~((uint32_t) 0)) { /* Hum, no information about the upper bound. The matching succeeds if the lower bound is matched exactly. */ if (lcollseq != fcollseq) goto range_not_matched; goto matched; } # else hcollseq = collseq[cend]; # endif } if (lcollseq <= hcollseq && fcollseq <= hcollseq) goto matched; } # ifdef WIDE_CHAR_VERSION range_not_matched: # endif #else /* We use a boring value comparison of the character values. This is better than comparing using `strcoll' since the latter would have surprising and sometimes fatal consequences. */ UCHAR cend = *p++; if (!(flags & FNM_NOESCAPE) && cend == L_('\\')) cend = *p++; if (cend == L_('\0')) return FNM_NOMATCH; /* It is a range. */ if (cold <= fn && fn <= cend) goto matched; #endif c = *p++; } } if (c == L_(']')) break; } if (!not) return FNM_NOMATCH; break; matched: /* Skip the rest of the [...] that already matched. */ do { ignore_next: c = *p++; if (c == L_('\0')) /* [... (unterminated) loses. */ return FNM_NOMATCH; if (!(flags & FNM_NOESCAPE) && c == L_('\\')) { if (*p == L_('\0')) return FNM_NOMATCH; /* XXX 1003.2d11 is unclear if this is right. */ ++p; } else if (c == L_('[') && *p == L_(':')) { int c1 = 0; const CHAR *startp = p; while (1) { c = *++p; if (++c1 == CHAR_CLASS_MAX_LENGTH) return FNM_NOMATCH; if (*p == L_(':') && p[1] == L_(']')) break; if (c < L_('a') || c >= L_('z')) { p = startp; goto ignore_next; } } p += 2; c = *p++; } else if (c == L_('[') && *p == L_('=')) { c = *++p; if (c == L_('\0')) return FNM_NOMATCH; c = *++p; if (c != L_('=') || p[1] != L_(']')) return FNM_NOMATCH; p += 2; c = *p++; } else if (c == L_('[') && *p == L_('.')) { ++p; while (1) { c = *++p; if (c == '\0') return FNM_NOMATCH; if (*p == L_('.') && p[1] == L_(']')) break; } p += 2; c = *p++; } } while (c != L_(']')); if (not) return FNM_NOMATCH; } break; case L_('+'): case L_('@'): case L_('!'): if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(') { int res; res = EXT (c, p, n, string_end, no_leading_period, flags); if (res != -1) return res; } goto normal_match; case L_('/'): if (NO_LEADING_PERIOD (flags)) { if (n == string_end || c != (UCHAR) *n) return FNM_NOMATCH; new_no_leading_period = true; break; } /* FALLTHROUGH */ default: normal_match: if (n == string_end || c != FOLD ((UCHAR) *n)) return FNM_NOMATCH; } no_leading_period = new_no_leading_period; ++n; } if (n == string_end) return 0; if ((flags & FNM_LEADING_DIR) && n != string_end && *n == L_('/')) /* The FNM_LEADING_DIR flag says that "foo*" matches "foobar/frobozz". */ return 0; return FNM_NOMATCH; } static const CHAR * internal_function END (const CHAR *pattern) { const CHAR *p = pattern; while (1) if (*++p == L_('\0')) /* This is an invalid pattern. */ return pattern; else if (*p == L_('[')) { /* Handle brackets special. */ if (posixly_correct == 0) posixly_correct = getenv ("POSIXLY_CORRECT") != NULL ? 1 : -1; /* Skip the not sign. We have to recognize it because of a possibly following ']'. */ if (*++p == L_('!') || (posixly_correct < 0 && *p == L_('^'))) ++p; /* A leading ']' is recognized as such. */ if (*p == L_(']')) ++p; /* Skip over all characters of the list. */ while (*p != L_(']')) if (*p++ == L_('\0')) /* This is no valid pattern. */ return pattern; } else if ((*p == L_('?') || *p == L_('*') || *p == L_('+') || *p == L_('@') || *p == L_('!')) && p[1] == L_('(')) p = END (p + 1); else if (*p == L_(')')) break; return p + 1; } static int internal_function EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end, bool no_leading_period, int flags) { const CHAR *startp; size_t level; struct patternlist { struct patternlist *next; CHAR str[1]; } *list = NULL; struct patternlist **lastp = &list; size_t pattern_len = STRLEN (pattern); const CHAR *p; const CHAR *rs; enum { ALLOCA_LIMIT = 8000 }; /* Parse the pattern. Store the individual parts in the list. */ level = 0; for (startp = p = pattern + 1; ; ++p) if (*p == L_('\0')) /* This is an invalid pattern. */ return -1; else if (*p == L_('[')) { /* Handle brackets special. */ if (posixly_correct == 0) posixly_correct = getenv ("POSIXLY_CORRECT") != NULL ? 1 : -1; /* Skip the not sign. We have to recognize it because of a possibly following ']'. */ if (*++p == L_('!') || (posixly_correct < 0 && *p == L_('^'))) ++p; /* A leading ']' is recognized as such. */ if (*p == L_(']')) ++p; /* Skip over all characters of the list. */ while (*p != L_(']')) if (*p++ == L_('\0')) /* This is no valid pattern. */ return -1; } else if ((*p == L_('?') || *p == L_('*') || *p == L_('+') || *p == L_('@') || *p == L_('!')) && p[1] == L_('(')) /* Remember the nesting level. */ ++level; else if (*p == L_(')')) { if (level-- == 0) { /* This means we found the end of the pattern. */ #define NEW_PATTERN \ struct patternlist *newp; \ size_t plen; \ size_t plensize; \ size_t newpsize; \ \ plen = (opt == L_('?') || opt == L_('@') \ ? pattern_len \ : p - startp + 1); \ plensize = plen * sizeof (CHAR); \ newpsize = offsetof (struct patternlist, str) + plensize; \ if ((size_t) -1 / sizeof (CHAR) < plen \ || newpsize < offsetof (struct patternlist, str) \ || ALLOCA_LIMIT <= newpsize) \ return -1; \ newp = (struct patternlist *) alloca (newpsize); \ *((CHAR *) MEMPCPY (newp->str, startp, p - startp)) = L_('\0'); \ newp->next = NULL; \ *lastp = newp; \ lastp = &newp->next NEW_PATTERN; break; } } else if (*p == L_('|')) { if (level == 0) { NEW_PATTERN; startp = p + 1; } } assert (list != NULL); assert (p[-1] == L_(')')); #undef NEW_PATTERN switch (opt) { case L_('*'): if (FCT (p, string, string_end, no_leading_period, flags) == 0) return 0; /* FALLTHROUGH */ case L_('+'): do { for (rs = string; rs <= string_end; ++rs) /* First match the prefix with the current pattern with the current pattern. */ if (FCT (list->str, string, rs, no_leading_period, flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0 /* This was successful. Now match the rest with the rest of the pattern. */ && (FCT (p, rs, string_end, rs == string ? no_leading_period : rs[-1] == '/' && NO_LEADING_PERIOD (flags), flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0 /* This didn't work. Try the whole pattern. */ || (rs != string && FCT (pattern - 1, rs, string_end, rs == string ? no_leading_period : rs[-1] == '/' && NO_LEADING_PERIOD (flags), flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0))) /* It worked. Signal success. */ return 0; } while ((list = list->next) != NULL); /* None of the patterns lead to a match. */ return FNM_NOMATCH; case L_('?'): if (FCT (p, string, string_end, no_leading_period, flags) == 0) return 0; /* FALLTHROUGH */ case L_('@'): do /* I cannot believe it but `strcat' is actually acceptable here. Match the entire string with the prefix from the pattern list and the rest of the pattern following the pattern list. */ if (FCT (STRCAT (list->str, p), string, string_end, no_leading_period, flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0) /* It worked. Signal success. */ return 0; while ((list = list->next) != NULL); /* None of the patterns lead to a match. */ return FNM_NOMATCH; case L_('!'): for (rs = string; rs <= string_end; ++rs) { struct patternlist *runp; for (runp = list; runp != NULL; runp = runp->next) if (FCT (runp->str, string, rs, no_leading_period, flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0) break; /* If none of the patterns matched see whether the rest does. */ if (runp == NULL && (FCT (p, rs, string_end, rs == string ? no_leading_period : rs[-1] == '/' && NO_LEADING_PERIOD (flags), flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD) == 0)) /* This is successful. */ return 0; } /* None of the patterns together with the rest of the pattern lead to a match. */ return FNM_NOMATCH; default: assert (! "Invalid extended matching operator"); break; } return -1; } #undef FOLD #undef CHAR #undef UCHAR #undef INT #undef FCT #undef EXT #undef END #undef MEMPCPY #undef MEMCHR #undef STRCOLL #undef STRLEN #undef STRCAT #undef L_ #undef BTOWC dc3dd-7.1.614/lib/mbiter.h0000644000175000017500000001556011064230667014654 0ustar amedicoamedico/* Iterating through multibyte strings: macros for multi-byte encodings. Copyright (C) 2001, 2005, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible . */ /* The macros in this file implement forward iteration through a multi-byte string. With these macros, an iteration loop that looks like char *iter; for (iter = buf; iter < buf + buflen; iter++) { do_something (*iter); } becomes mbi_iterator_t iter; for (mbi_init (iter, buf, buflen); mbi_avail (iter); mbi_advance (iter)) { do_something (mbi_cur_ptr (iter), mb_len (mbi_cur (iter))); } The benefit of these macros over plain use of mbrtowc is: - Handling of invalid multibyte sequences is possible without making the code more complicated, while still preserving the invalid multibyte sequences. mbi_iterator_t is a type usable for variable declarations. mbi_init (iter, startptr, length) initializes the iterator, starting at startptr and crossing length bytes. mbi_avail (iter) returns true if there are more multibyte chracters available before the end of string is reached. In this case, mbi_cur (iter) is initialized to the next multibyte chracter. mbi_advance (iter) advances the iterator by one multibyte character. mbi_cur (iter) returns the current multibyte character, of type mbchar_t. All the macros defined in mbchar.h can be used on it. mbi_cur_ptr (iter) return a pointer to the beginning of the current multibyte character. mbi_reloc (iter, ptrdiff) relocates iterator when the string is moved by ptrdiff bytes. mbi_copy (&destiter, &srciter) copies srciter to destiter. Here are the function prototypes of the macros. extern void mbi_init (mbi_iterator_t iter, const char *startptr, size_t length); extern bool mbi_avail (mbi_iterator_t iter); extern void mbi_advance (mbi_iterator_t iter); extern mbchar_t mbi_cur (mbi_iterator_t iter); extern const char * mbi_cur_ptr (mbi_iterator_t iter); extern void mbi_reloc (mbi_iterator_t iter, ptrdiff_t ptrdiff); extern void mbi_copy (mbi_iterator_t *new, const mbi_iterator_t *old); */ #ifndef _MBITER_H #define _MBITER_H 1 #include #include #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.1 has a bug: and must be included before . */ #include #include #include #include "mbchar.h" struct mbiter_multi { const char *limit; /* pointer to end of string */ bool in_shift; /* true if next byte may not be interpreted as ASCII */ mbstate_t state; /* if in_shift: current shift state */ bool next_done; /* true if mbi_avail has already filled the following */ struct mbchar cur; /* the current character: const char *cur.ptr pointer to current character The following are only valid after mbi_avail. size_t cur.bytes number of bytes of current character bool cur.wc_valid true if wc is a valid wide character wchar_t cur.wc if wc_valid: the current character */ }; static inline void mbiter_multi_next (struct mbiter_multi *iter) { if (iter->next_done) return; if (iter->in_shift) goto with_shift; /* Handle most ASCII characters quickly, without calling mbrtowc(). */ if (is_basic (*iter->cur.ptr)) { /* These characters are part of the basic character set. ISO C 99 guarantees that their wide character code is identical to their char code. */ iter->cur.bytes = 1; iter->cur.wc = *iter->cur.ptr; iter->cur.wc_valid = true; } else { assert (mbsinit (&iter->state)); iter->in_shift = true; with_shift: iter->cur.bytes = mbrtowc (&iter->cur.wc, iter->cur.ptr, iter->limit - iter->cur.ptr, &iter->state); if (iter->cur.bytes == (size_t) -1) { /* An invalid multibyte sequence was encountered. */ iter->cur.bytes = 1; iter->cur.wc_valid = false; /* Whether to set iter->in_shift = false and reset iter->state or not is not very important; the string is bogus anyway. */ } else if (iter->cur.bytes == (size_t) -2) { /* An incomplete multibyte character at the end. */ iter->cur.bytes = iter->limit - iter->cur.ptr; iter->cur.wc_valid = false; /* Whether to set iter->in_shift = false and reset iter->state or not is not important; the string end is reached anyway. */ } else { if (iter->cur.bytes == 0) { /* A null wide character was encountered. */ iter->cur.bytes = 1; assert (*iter->cur.ptr == '\0'); assert (iter->cur.wc == 0); } iter->cur.wc_valid = true; /* When in the initial state, we can go back treating ASCII characters more quickly. */ if (mbsinit (&iter->state)) iter->in_shift = false; } } iter->next_done = true; } static inline void mbiter_multi_reloc (struct mbiter_multi *iter, ptrdiff_t ptrdiff) { iter->cur.ptr += ptrdiff; iter->limit += ptrdiff; } static inline void mbiter_multi_copy (struct mbiter_multi *new_iter, const struct mbiter_multi *old_iter) { new_iter->limit = old_iter->limit; if ((new_iter->in_shift = old_iter->in_shift)) memcpy (&new_iter->state, &old_iter->state, sizeof (mbstate_t)); else memset (&new_iter->state, 0, sizeof (mbstate_t)); new_iter->next_done = old_iter->next_done; mb_copy (&new_iter->cur, &old_iter->cur); } /* Iteration macros. */ typedef struct mbiter_multi mbi_iterator_t; #define mbi_init(iter, startptr, length) \ ((iter).cur.ptr = (startptr), (iter).limit = (iter).cur.ptr + (length), \ (iter).in_shift = false, memset (&(iter).state, '\0', sizeof (mbstate_t)), \ (iter).next_done = false) #define mbi_avail(iter) \ ((iter).cur.ptr < (iter).limit && (mbiter_multi_next (&(iter)), true)) #define mbi_advance(iter) \ ((iter).cur.ptr += (iter).cur.bytes, (iter).next_done = false) /* Access to the current character. */ #define mbi_cur(iter) (iter).cur #define mbi_cur_ptr(iter) (iter).cur.ptr /* Relocation. */ #define mbi_reloc(iter, ptrdiff) mbiter_multi_reloc (&iter, ptrdiff) /* Copying an iterator. */ #define mbi_copy mbiter_multi_copy #endif /* _MBITER_H */ dc3dd-7.1.614/lib/fopen-safer.c0000644000175000017500000000276311022023316015554 0ustar amedicoamedico/* Invoke fopen, but avoid some glitches. Copyright (C) 2001, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "stdio-safer.h" #include #include #include "unistd-safer.h" #ifndef STDERR_FILENO # define STDERR_FILENO 2 #endif /* Like fopen, but do not return stdin, stdout, or stderr. */ FILE * fopen_safer (char const *file, char const *mode) { FILE *fp = fopen (file, mode); if (fp) { int fd = fileno (fp); if (0 <= fd && fd <= STDERR_FILENO) { int f = dup_safer (fd); if (f < 0) { int e = errno; fclose (fp); errno = e; return NULL; } if (fclose (fp) != 0 || ! (fp = fdopen (f, mode))) { int e = errno; close (f); errno = e; return NULL; } } } return fp; } dc3dd-7.1.614/lib/stdio.in.h0000644000175000017500000003061311064230667015115 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* A GNU-like . Copyright (C) 2004, 2007-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ #if defined __need_FILE || defined __need___FILE /* Special invocation convention inside glibc header files. */ #@INCLUDE_NEXT@ @NEXT_STDIO_H@ #else /* Normal invocation convention. */ #ifndef _GL_STDIO_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDIO_H@ #ifndef _GL_STDIO_H #define _GL_STDIO_H #include #include #if (@GNULIB_FSEEKO@ && @REPLACE_FSEEKO@) \ || (@GNULIB_FTELLO@ && @REPLACE_FTELLO@) \ || (@GNULIB_GETDELIM@ && !@HAVE_DECL_GETDELIM@) \ || (@GNULIB_GETLINE@ && (!@HAVE_DECL_GETLINE@ || @REPLACE_GETLINE@)) /* Get off_t and ssize_t. */ # include #endif #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) # define __attribute__(Spec) /* empty */ # endif /* The __-protected variants of `format' and `printf' attributes are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __format__ format # define __printf__ printf # endif #endif /* The definition of GL_LINK_WARNING is copied here. */ #ifdef __cplusplus extern "C" { #endif #if @GNULIB_FPRINTF_POSIX@ # if @REPLACE_FPRINTF@ # define fprintf rpl_fprintf extern int fprintf (FILE *fp, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))); # endif #elif defined GNULIB_POSIXCHECK # undef fprintf # define fprintf \ (GL_LINK_WARNING ("fprintf is not always POSIX compliant - " \ "use gnulib module fprintf-posix for portable " \ "POSIX compliance"), \ fprintf) #endif #if @GNULIB_VFPRINTF_POSIX@ # if @REPLACE_VFPRINTF@ # define vfprintf rpl_vfprintf extern int vfprintf (FILE *fp, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))); # endif #elif defined GNULIB_POSIXCHECK # undef vfprintf # define vfprintf(s,f,a) \ (GL_LINK_WARNING ("vfprintf is not always POSIX compliant - " \ "use gnulib module vfprintf-posix for portable " \ "POSIX compliance"), \ vfprintf (s, f, a)) #endif #if @GNULIB_PRINTF_POSIX@ # if @REPLACE_PRINTF@ /* Don't break __attribute__((format(printf,M,N))). */ # define printf __printf__ extern int printf (const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2))); # endif #elif defined GNULIB_POSIXCHECK # undef printf # define printf \ (GL_LINK_WARNING ("printf is not always POSIX compliant - " \ "use gnulib module printf-posix for portable " \ "POSIX compliance"), \ printf) /* Don't break __attribute__((format(printf,M,N))). */ # define format(kind,m,n) format (__##kind##__, m, n) # define __format__(kind,m,n) __format__ (__##kind##__, m, n) # define ____printf____ __printf__ # define ____scanf____ __scanf__ # define ____strftime____ __strftime__ # define ____strfmon____ __strfmon__ #endif #if @GNULIB_VPRINTF_POSIX@ # if @REPLACE_VPRINTF@ # define vprintf rpl_vprintf extern int vprintf (const char *format, va_list args) __attribute__ ((__format__ (__printf__, 1, 0))); # endif #elif defined GNULIB_POSIXCHECK # undef vprintf # define vprintf(f,a) \ (GL_LINK_WARNING ("vprintf is not always POSIX compliant - " \ "use gnulib module vprintf-posix for portable " \ "POSIX compliance"), \ vprintf (f, a)) #endif #if @GNULIB_SNPRINTF@ # if @REPLACE_SNPRINTF@ # define snprintf rpl_snprintf # endif # if @REPLACE_SNPRINTF@ || !@HAVE_DECL_SNPRINTF@ extern int snprintf (char *str, size_t size, const char *format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); # endif #elif defined GNULIB_POSIXCHECK # undef snprintf # define snprintf \ (GL_LINK_WARNING ("snprintf is unportable - " \ "use gnulib module snprintf for portability"), \ snprintf) #endif #if @GNULIB_VSNPRINTF@ # if @REPLACE_VSNPRINTF@ # define vsnprintf rpl_vsnprintf # endif # if @REPLACE_VSNPRINTF@ || !@HAVE_DECL_VSNPRINTF@ extern int vsnprintf (char *str, size_t size, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 3, 0))); # endif #elif defined GNULIB_POSIXCHECK # undef vsnprintf # define vsnprintf(b,s,f,a) \ (GL_LINK_WARNING ("vsnprintf is unportable - " \ "use gnulib module vsnprintf for portability"), \ vsnprintf (b, s, f, a)) #endif #if @GNULIB_SPRINTF_POSIX@ # if @REPLACE_SPRINTF@ # define sprintf rpl_sprintf extern int sprintf (char *str, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))); # endif #elif defined GNULIB_POSIXCHECK # undef sprintf # define sprintf \ (GL_LINK_WARNING ("sprintf is not always POSIX compliant - " \ "use gnulib module sprintf-posix for portable " \ "POSIX compliance"), \ sprintf) #endif #if @GNULIB_VSPRINTF_POSIX@ # if @REPLACE_VSPRINTF@ # define vsprintf rpl_vsprintf extern int vsprintf (char *str, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))); # endif #elif defined GNULIB_POSIXCHECK # undef vsprintf # define vsprintf(b,f,a) \ (GL_LINK_WARNING ("vsprintf is not always POSIX compliant - " \ "use gnulib module vsprintf-posix for portable " \ "POSIX compliance"), \ vsprintf (b, f, a)) #endif #if @GNULIB_VASPRINTF@ # if @REPLACE_VASPRINTF@ # define asprintf rpl_asprintf # define vasprintf rpl_vasprintf # endif # if @REPLACE_VASPRINTF@ || !@HAVE_VASPRINTF@ /* Write formatted output to a string dynamically allocated with malloc(). If the memory allocation succeeds, store the address of the string in *RESULT and return the number of resulting bytes, excluding the trailing NUL. Upon memory allocation error, or some other error, return -1. */ extern int asprintf (char **result, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int vasprintf (char **result, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 2, 0))); # endif #endif #if @GNULIB_FOPEN@ # if @REPLACE_FOPEN@ # define fopen rpl_fopen extern FILE * fopen (const char *filename, const char *mode); # endif #elif defined GNULIB_POSIXCHECK # undef fopen # define fopen(f,m) \ (GL_LINK_WARNING ("fopen on Win32 platforms is not POSIX compatible - " \ "use gnulib module fopen for portability"), \ fopen (f, m)) #endif #if @GNULIB_FREOPEN@ # if @REPLACE_FREOPEN@ # define freopen rpl_freopen extern FILE * freopen (const char *filename, const char *mode, FILE *stream); # endif #elif defined GNULIB_POSIXCHECK # undef freopen # define freopen(f,m,s) \ (GL_LINK_WARNING ("freopen on Win32 platforms is not POSIX compatible - " \ "use gnulib module freopen for portability"), \ freopen (f, m, s)) #endif #if @GNULIB_FSEEKO@ # if @REPLACE_FSEEKO@ /* Provide fseek, fseeko functions that are aware of a preceding fflush(), and which detect pipes. */ # define fseeko rpl_fseeko extern int fseeko (FILE *fp, off_t offset, int whence); # define fseek(fp, offset, whence) fseeko (fp, (off_t)(offset), whence) # endif #elif defined GNULIB_POSIXCHECK # undef fseeko # define fseeko(f,o,w) \ (GL_LINK_WARNING ("fseeko is unportable - " \ "use gnulib module fseeko for portability"), \ fseeko (f, o, w)) #endif #if @GNULIB_FSEEK@ && @REPLACE_FSEEK@ extern int rpl_fseek (FILE *fp, long offset, int whence); # undef fseek # if defined GNULIB_POSIXCHECK # define fseek(f,o,w) \ (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \ "on 32-bit platforms - " \ "use fseeko function for handling of large files"), \ rpl_fseek (f, o, w)) # else # define fseek rpl_fseek # endif #elif defined GNULIB_POSIXCHECK # ifndef fseek # define fseek(f,o,w) \ (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \ "on 32-bit platforms - " \ "use fseeko function for handling of large files"), \ fseek (f, o, w)) # endif #endif #if @GNULIB_FTELLO@ # if @REPLACE_FTELLO@ # define ftello rpl_ftello extern off_t ftello (FILE *fp); # define ftell(fp) ftello (fp) # endif #elif defined GNULIB_POSIXCHECK # undef ftello # define ftello(f) \ (GL_LINK_WARNING ("ftello is unportable - " \ "use gnulib module ftello for portability"), \ ftello (f)) #endif #if @GNULIB_FTELL@ && @REPLACE_FTELL@ extern long rpl_ftell (FILE *fp); # undef ftell # if GNULIB_POSIXCHECK # define ftell(f) \ (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \ "on 32-bit platforms - " \ "use ftello function for handling of large files"), \ rpl_ftell (f)) # else # define ftell rpl_ftell # endif #elif defined GNULIB_POSIXCHECK # ifndef ftell # define ftell(f) \ (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \ "on 32-bit platforms - " \ "use ftello function for handling of large files"), \ ftell (f)) # endif #endif #if @GNULIB_FFLUSH@ # if @REPLACE_FFLUSH@ # define fflush rpl_fflush /* Flush all pending data on STREAM according to POSIX rules. Both output and seekable input streams are supported. Note! LOSS OF DATA can occur if fflush is applied on an input stream that is _not_seekable_ or on an update stream that is _not_seekable_ and in which the most recent operation was input. Seekability can be tested with lseek(fileno(fp),0,SEEK_CUR). */ extern int fflush (FILE *gl_stream); # endif #elif defined GNULIB_POSIXCHECK # undef fflush # define fflush(f) \ (GL_LINK_WARNING ("fflush is not always POSIX compliant - " \ "use gnulib module fflush for portable " \ "POSIX compliance"), \ fflush (f)) #endif #if @GNULIB_GETDELIM@ # if !@HAVE_DECL_GETDELIM@ /* Read input, up to (and including) the next occurrence of DELIMITER, from STREAM, store it in *LINEPTR (and NUL-terminate it). *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE bytes of space. It is realloc'd as necessary. Return the number of bytes read and stored at *LINEPTR (not including the NUL terminator), or -1 on error or EOF. */ extern ssize_t getdelim (char **lineptr, size_t *linesize, int delimiter, FILE *stream); # endif #elif defined GNULIB_POSIXCHECK # undef getdelim # define getdelim(l, s, d, f) \ (GL_LINK_WARNING ("getdelim is unportable - " \ "use gnulib module getdelim for portability"), \ getdelim (l, s, d, f)) #endif #if @GNULIB_GETLINE@ # if @REPLACE_GETLINE@ # undef getline # define getline rpl_getline # endif # if !@HAVE_DECL_GETLINE@ || @REPLACE_GETLINE@ /* Read a line, up to (and including) the next newline, from STREAM, store it in *LINEPTR (and NUL-terminate it). *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE bytes of space. It is realloc'd as necessary. Return the number of bytes read and stored at *LINEPTR (not including the NUL terminator), or -1 on error or EOF. */ extern ssize_t getline (char **lineptr, size_t *linesize, FILE *stream); # endif #elif defined GNULIB_POSIXCHECK # undef getline # define getline(l, s, f) \ (GL_LINK_WARNING ("getline is unportable - " \ "use gnulib module getline for portability"), \ getline (l, s, f)) #endif #ifdef __cplusplus } #endif #endif /* _GL_STDIO_H */ #endif /* _GL_STDIO_H */ #endif dc3dd-7.1.614/lib/fprintftime.c0000644000175000017500000000005411022023316015665 0ustar amedicoamedico#define FPRINTFTIME 1 #include "strftime.c" dc3dd-7.1.614/lib/c-ctype.c0000644000175000017500000002557611064230667014741 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Character handling in C locale. Copyright 2000-2003, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include /* Specification. */ #define NO_C_CTYPE_MACROS #include "c-ctype.h" /* The function isascii is not locale dependent. Its use in EBCDIC is questionable. */ bool c_isascii (int c) { return (c >= 0x00 && c <= 0x7f); } bool c_isalnum (int c) { #if C_CTYPE_CONSECUTIVE_DIGITS \ && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII return ((c >= '0' && c <= '9') || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')); #else return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); #endif #else switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': return 1; default: return 0; } #endif } bool c_isalpha (int c) { #if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'); #else return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')); #endif #else switch (c) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': return 1; default: return 0; } #endif } bool c_isblank (int c) { return (c == ' ' || c == '\t'); } bool c_iscntrl (int c) { #if C_CTYPE_ASCII return ((c & ~0x1f) == 0 || c == 0x7f); #else switch (c) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': return 0; default: return 1; } #endif } bool c_isdigit (int c) { #if C_CTYPE_CONSECUTIVE_DIGITS return (c >= '0' && c <= '9'); #else switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': return 1; default: return 0; } #endif } bool c_islower (int c) { #if C_CTYPE_CONSECUTIVE_LOWERCASE return (c >= 'a' && c <= 'z'); #else switch (c) { case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': return 1; default: return 0; } #endif } bool c_isgraph (int c) { #if C_CTYPE_ASCII return (c >= '!' && c <= '~'); #else switch (c) { case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': return 1; default: return 0; } #endif } bool c_isprint (int c) { #if C_CTYPE_ASCII return (c >= ' ' && c <= '~'); #else switch (c) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': return 1; default: return 0; } #endif } bool c_ispunct (int c) { #if C_CTYPE_ASCII return ((c >= '!' && c <= '~') && !((c >= '0' && c <= '9') || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'))); #else switch (c) { case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case '[': case '\\': case ']': case '^': case '_': case '`': case '{': case '|': case '}': case '~': return 1; default: return 0; } #endif } bool c_isspace (int c) { return (c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'); } bool c_isupper (int c) { #if C_CTYPE_CONSECUTIVE_UPPERCASE return (c >= 'A' && c <= 'Z'); #else switch (c) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': return 1; default: return 0; } #endif } bool c_isxdigit (int c) { #if C_CTYPE_CONSECUTIVE_DIGITS \ && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE #if C_CTYPE_ASCII return ((c >= '0' && c <= '9') || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F')); #else return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')); #endif #else switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': return 1; default: return 0; } #endif } int c_tolower (int c) { #if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c); #else switch (c) { case 'A': return 'a'; case 'B': return 'b'; case 'C': return 'c'; case 'D': return 'd'; case 'E': return 'e'; case 'F': return 'f'; case 'G': return 'g'; case 'H': return 'h'; case 'I': return 'i'; case 'J': return 'j'; case 'K': return 'k'; case 'L': return 'l'; case 'M': return 'm'; case 'N': return 'n'; case 'O': return 'o'; case 'P': return 'p'; case 'Q': return 'q'; case 'R': return 'r'; case 'S': return 's'; case 'T': return 't'; case 'U': return 'u'; case 'V': return 'v'; case 'W': return 'w'; case 'X': return 'x'; case 'Y': return 'y'; case 'Z': return 'z'; default: return c; } #endif } int c_toupper (int c) { #if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c); #else switch (c) { case 'a': return 'A'; case 'b': return 'B'; case 'c': return 'C'; case 'd': return 'D'; case 'e': return 'E'; case 'f': return 'F'; case 'g': return 'G'; case 'h': return 'H'; case 'i': return 'I'; case 'j': return 'J'; case 'k': return 'K'; case 'l': return 'L'; case 'm': return 'M'; case 'n': return 'N'; case 'o': return 'O'; case 'p': return 'P'; case 'q': return 'Q'; case 'r': return 'R'; case 's': return 'S'; case 't': return 'T'; case 'u': return 'U'; case 'v': return 'V'; case 'w': return 'W'; case 'x': return 'X'; case 'y': return 'Y'; case 'z': return 'Z'; default: return c; } #endif } dc3dd-7.1.614/lib/trim.c0000644000175000017500000000542411064230667014336 0ustar amedicoamedico/* Removes leading and/or trailing whitespaces Copyright (C) 2006-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Davide Angelocola */ #include /* Specification. */ #include "trim.h" #include #include #if HAVE_MBRTOWC # include # include # include "mbchar.h" # include "mbiter.h" #endif #include "xalloc.h" /* Use this to suppress gcc's `...may be used before initialized' warnings. */ #ifdef lint # define IF_LINT(Code) Code #else # define IF_LINT(Code) /* empty */ #endif char * trim2(const char *s, int how) { char *d; d = strdup(s); if (!d) xalloc_die(); #if HAVE_MBRTOWC if (MB_CUR_MAX > 1) { mbi_iterator_t i; /* Trim leading whitespaces. */ if (how != TRIM_TRAILING) { mbi_init (i, d, strlen (d)); for (; mbi_avail (i) && mb_isspace (mbi_cur (i)); mbi_advance (i)) ; memmove (d, mbi_cur_ptr (i), strlen (mbi_cur_ptr (i)) + 1); } /* Trim trailing whitespaces. */ if (how != TRIM_LEADING) { int state = 0; char *r IF_LINT (= NULL); /* used only while state = 2 */ mbi_init (i, d, strlen (d)); for (; mbi_avail (i); mbi_advance (i)) { if (state == 0 && mb_isspace (mbi_cur (i))) { state = 0; continue; } if (state == 0 && !mb_isspace (mbi_cur (i))) { state = 1; continue; } if (state == 1 && !mb_isspace (mbi_cur (i))) { state = 1; continue; } if (state == 1 && mb_isspace (mbi_cur (i))) { state = 2; r = (char *) mbi_cur_ptr (i); } else if (state == 2 && mb_isspace (mbi_cur (i))) { state = 2; } else { state = 1; } } if (state == 2) *r = '\0'; } } else #endif /* HAVE_MBRTOWC */ { char *p; /* Trim leading whitespaces. */ if (how != TRIM_TRAILING) { for (p = d; *p && isspace ((unsigned char) *p); p++) ; memmove (d, p, strlen (p) + 1); } /* Trim trailing whitespaces. */ if (how != TRIM_LEADING) { for (p = d + strlen (d) - 1; p >= d && isspace ((unsigned char) *p); p--) *p = '\0'; } } return d; } dc3dd-7.1.614/lib/fseeko.c0000644000175000017500000000764711064230667014650 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* An fseeko() function that, together with fflush(), is POSIX compliant. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #include /* Get off_t and lseek. */ #include #include "stdio-impl.h" #undef fseeko #if !HAVE_FSEEKO # undef fseek # define fseeko fseek #endif int rpl_fseeko (FILE *fp, off_t offset, int whence) { #if LSEEK_PIPE_BROKEN /* mingw gives bogus answers rather than failure on non-seekable files. */ if (lseek (fileno (fp), 0, SEEK_CUR) == -1) return EOF; #endif /* These tests are based on fpurge.c. */ #if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ if (fp->_IO_read_end == fp->_IO_read_ptr && fp->_IO_write_ptr == fp->_IO_write_base && fp->_IO_save_base == NULL) #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ # if defined __SL64 && defined __SCLE /* Cygwin */ if ((fp->_flags & __SL64) == 0) { /* Cygwin 1.5.0 through 1.5.24 failed to open stdin in 64-bit mode; but has an fseeko that requires 64-bit mode. */ FILE *tmp = fopen ("/dev/null", "r"); if (!tmp) return -1; fp->_flags |= __SL64; fp->_seek64 = tmp->_seek64; fclose (tmp); } # endif if (fp_->_p == fp_->_bf._base && fp_->_r == 0 && fp_->_w == ((fp_->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */ ? fp_->_bf._size : 0) && fp_ub._base == NULL) #elif defined __EMX__ /* emx+gcc */ if (fp->_ptr == fp->_buffer && fp->_rcount == 0 && fp->_wcount == 0 && fp->_ungetc_count == 0) #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ if (fp_->_ptr == fp_->_base && (fp_->_ptr == NULL || fp_->_cnt == 0)) #elif defined __UCLIBC__ /* uClibc */ if (((fp->__modeflags & __FLAG_WRITING) == 0 || fp->__bufpos == fp->__bufstart) && ((fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) == 0 || fp->__bufpos == fp->__bufread)) #elif defined __QNX__ /* QNX */ if ((fp->_Mode & _MWRITE ? fp->_Next == fp->_Buf : fp->_Next == fp->_Rend) && fp->_Rback == fp->_Back + sizeof (fp->_Back) && fp->_Rsave == NULL) #else #error "Please port gnulib fseeko.c to your platform! Look at the code in fpurge.c, then report this to bug-gnulib." #endif { off_t pos = lseek (fileno (fp), offset, whence); if (pos == -1) { #if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ fp_->_flags &= ~__SOFF; #endif return -1; } else { #if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ fp_->_offset = pos; fp_->_flags |= __SOFF; fp_->_flags &= ~__SEOF; #elif defined __EMX__ /* emx+gcc */ fp->_flags &= ~_IOEOF; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ fp->_flag &= ~_IOEOF; #endif return 0; } } else return fseeko (fp, offset, whence); } dc3dd-7.1.614/lib/same-inode.h0000644000175000017500000000170411022023316015367 0ustar amedicoamedico/* Determine whether two stat buffers refer to the same file. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef SAME_INODE_H # define SAME_INODE_H 1 # define SAME_INODE(Stat_buf_1, Stat_buf_2) \ ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev) #endif dc3dd-7.1.614/lib/strnumcmp.c0000644000175000017500000000176511022023316015400 0ustar amedicoamedico/* Compare numeric strings. Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "strnumcmp-in.h" /* Externally-visible name for numcompare. */ int strnumcmp (char const *a, char const *b, int decimal_point, int thousands_sep) { return numcompare (a, b, decimal_point, thousands_sep); } dc3dd-7.1.614/lib/dirchownmod.h0000644000175000017500000000014211022023316015656 0ustar amedicoamedico#include int dirchownmod (int, char const *, mode_t, uid_t, gid_t, mode_t, mode_t); dc3dd-7.1.614/lib/stat-macros.h0000644000175000017500000000022011022023316015573 0ustar amedicoamedico/* All the mode bits that can be affected by chmod. */ #define CHMOD_MODE_BITS \ (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO) dc3dd-7.1.614/lib/xstrtol-error.c0000644000175000017500000000532711064230667016233 0ustar amedicoamedico/* A more useful interface to strtol. Copyright (C) 1995, 1996, 1998, 1999, 2001-2004, 2006-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "xstrtol.h" #include #include "error.h" #include "exitfail.h" #include "gettext.h" #define N_(msgid) msgid /* Report an error for an invalid integer in an option argument. ERR is the error code returned by one of the xstrto* functions. Use OPT_IDX to decide whether to print the short option string "C" or "-C" or a long option string derived from LONG_OPTION. OPT_IDX is -2 if the short option "C" was used, without any leading "-"; it is -1 if the short option "-C" was used; otherwise it is an index into LONG_OPTIONS, which should have a name preceded by two '-' characters. ARG is the option-argument containing the integer. After reporting an error, exit with status EXIT_STATUS if it is nonzero. */ static void xstrtol_error (enum strtol_error err, int opt_idx, char c, struct option const *long_options, char const *arg, int exit_status) { char const *hyphens = "--"; char const *msgid; char const *option; char option_buffer[2]; switch (err) { default: abort (); case LONGINT_INVALID: msgid = N_("invalid %s%s argument `%s'"); break; case LONGINT_INVALID_SUFFIX_CHAR: case LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW: msgid = N_("invalid suffix in %s%s argument `%s'"); break; case LONGINT_OVERFLOW: msgid = N_("%s%s argument `%s' too large"); break; } if (opt_idx < 0) { hyphens -= opt_idx; option_buffer[0] = c; option_buffer[1] = '\0'; option = option_buffer; } else option = long_options[opt_idx].name; error (exit_status, 0, gettext (msgid), hyphens, option, arg); } /* Like xstrtol_error, except exit with a failure status. */ void xstrtol_fatal (enum strtol_error err, int opt_idx, char c, struct option const *long_options, char const *arg) { xstrtol_error (err, opt_idx, c, long_options, arg, exit_failure); abort (); } dc3dd-7.1.614/lib/memchr2.c0000644000175000017500000001425411064230667014721 0ustar amedicoamedico/* Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2006, 2008 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), with help from Dan Sahlin (dan@sics.se) and commentary by Jim Blandy (jimb@ai.mit.edu); adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), and implemented in glibc by Roland McGrath (roland@ai.mit.edu). Extension to memchr2 implemented by Eric Blake (ebb9@byu.net). This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ #include #include "memchr2.h" #include #include #include /* Return the first address of either C1 or C2 (treated as unsigned char) that occurs within N bytes of the memory region S. If neither byte appears, return NULL. */ void * memchr2 (void const *s, int c1_in, int c2_in, size_t n) { /* On 32-bit hardware, choosing longword to be a 32-bit unsigned long instead of a 64-bit uintmax_t tends to give better performance. On 64-bit hardware, unsigned long is generally 64 bits already. Change this typedef to experiment with performance. */ typedef unsigned long int longword; const unsigned char *char_ptr; const longword *longword_ptr; longword repeated_one; longword repeated_c1; longword repeated_c2; unsigned char c1; unsigned char c2; c1 = (unsigned char) c1_in; c2 = (unsigned char) c2_in; if (c1 == c2) return memchr (s, c1, n); /* Handle the first few bytes by reading one byte at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ for (char_ptr = (const unsigned char *) s; n > 0 && (size_t) char_ptr % sizeof (longword) != 0; --n, ++char_ptr) if (*char_ptr == c1 || *char_ptr == c2) return (void *) char_ptr; longword_ptr = (const longword *) char_ptr; /* All these elucidatory comments refer to 4-byte longwords, but the theory applies equally well to any size longwords. */ /* Compute auxiliary longword values: repeated_one is a value which has a 1 in every byte. repeated_c1 has c1 in every byte. repeated_c2 has c2 in every byte. */ repeated_one = 0x01010101; repeated_c1 = c1 | (c1 << 8); repeated_c2 = c2 | (c2 << 8); repeated_c1 |= repeated_c1 << 16; repeated_c2 |= repeated_c2 << 16; if (0xffffffffU < (longword) -1) { repeated_one |= repeated_one << 31 << 1; repeated_c1 |= repeated_c1 << 31 << 1; repeated_c2 |= repeated_c2 << 31 << 1; if (8 < sizeof (longword)) { size_t i; for (i = 64; i < sizeof (longword) * 8; i *= 2) { repeated_one |= repeated_one << i; repeated_c1 |= repeated_c1 << i; repeated_c2 |= repeated_c2 << i; } } } /* Instead of the traditional loop which tests each byte, we will test a longword at a time. The tricky part is testing if *any of the four* bytes in the longword in question are equal to c1 or c2. We first use an xor with repeated_c1 and repeated_c2, respectively. This reduces the task to testing whether *any of the four* bytes in longword1 or longword2 is zero. Let's consider longword1. We compute tmp1 = ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7). That is, we perform the following operations: 1. Subtract repeated_one. 2. & ~longword1. 3. & a mask consisting of 0x80 in every byte. Consider what happens in each byte: - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, and step 3 transforms it into 0x80. A carry can also be propagated to more significant bytes. - If a byte of longword1 is nonzero, let its lowest 1 bit be at position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, the byte ends in a single bit of value 0 and k bits of value 1. After step 2, the result is just k bits of value 1: 2^k - 1. After step 3, the result is 0. And no carry is produced. So, if longword1 has only non-zero bytes, tmp1 is zero. Whereas if longword1 has a zero byte, call j the position of the least significant zero byte. Then the result has a zero at positions 0, ..., j-1 and a 0x80 at position j. We cannot predict the result at the more significant bytes (positions j+1..3), but it does not matter since we already have a non-zero bit at position 8*j+7. Similary, we compute tmp2 = ((longword2 - repeated_one) & ~longword2) & (repeated_one << 7). The test whether any byte in longword1 or longword2 is zero is equivalent to testing whether tmp1 is nonzero or tmp2 is nonzero. We can combine this into a single test, whether (tmp1 | tmp2) is nonzero. */ while (n >= sizeof (longword)) { longword longword1 = *longword_ptr ^ repeated_c1; longword longword2 = *longword_ptr ^ repeated_c2; if (((((longword1 - repeated_one) & ~longword1) | ((longword2 - repeated_one) & ~longword2)) & (repeated_one << 7)) != 0) break; longword_ptr++; n -= sizeof (longword); } char_ptr = (const unsigned char *) longword_ptr; /* At this point, we know that either n < sizeof (longword), or one of the sizeof (longword) bytes starting at char_ptr is == c1 or == c2. On little-endian machines, we could determine the first such byte without any further memory accesses, just by looking at the (tmp1 | tmp2) result from the last loop iteration. But this does not work on big-endian machines. Choose code that works in both cases. */ for (; n > 0; --n, ++char_ptr) { if (*char_ptr == c1 || *char_ptr == c2) return (void *) char_ptr; } return NULL; } dc3dd-7.1.614/lib/cloexec.h0000644000175000017500000000010211022023316014757 0ustar amedicoamedico#include int set_cloexec_flag (int desc, bool value); dc3dd-7.1.614/lib/float.in.h0000644000175000017500000000414011022023316015055 0ustar amedicoamedico/* A correct . Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _GL_FLOAT_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_FLOAT_H@ #ifndef _GL_FLOAT_H #define _GL_FLOAT_H /* 'long double' properties. */ #if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__) /* Number of mantissa units, in base FLT_RADIX. */ # undef LDBL_MANT_DIG # define LDBL_MANT_DIG 64 /* Number of decimal digits that is sufficient for representing a number. */ # undef LDBL_DIG # define LDBL_DIG 18 /* x-1 where x is the smallest representable number > 1. */ # undef LDBL_EPSILON # define LDBL_EPSILON 1.0842021724855044340E-19L /* Minimum e such that FLT_RADIX^(e-1) is a normalized number. */ # undef LDBL_MIN_EXP # define LDBL_MIN_EXP (-16381) /* Maximum e such that FLT_RADIX^(e-1) is a representable finite number. */ # undef LDBL_MAX_EXP # define LDBL_MAX_EXP 16384 /* Minimum positive normalized number. */ # undef LDBL_MIN # define LDBL_MIN 3.3621031431120935063E-4932L /* Maximum representable finite number. */ # undef LDBL_MAX # define LDBL_MAX 1.1897314953572317650E+4932L /* Minimum e such that 10^e is in the range of normalized numbers. */ # undef LDBL_MIN_10_EXP # define LDBL_MIN_10_EXP (-4931) /* Maximum e such that 10^e is in the range of representable finite numbers. */ # undef LDBL_MAX_10_EXP # define LDBL_MAX_10_EXP 4932 #endif #endif /* _GL_FLOAT_H */ #endif /* _GL_FLOAT_H */ dc3dd-7.1.614/lib/utime.c0000644000175000017500000000515111022023316014464 0ustar amedicoamedico/* Copyright (C) 1998, 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ /* derived from a function in touch.c */ #include #undef utime #include #ifdef HAVE_UTIME_H # include #endif #if !HAVE_UTIMES_NULL # include # include #endif #include #include #include "full-write.h" #include "safe-read.h" /* Some systems (even some that do have ) don't declare this structure anywhere. */ #ifndef HAVE_STRUCT_UTIMBUF struct utimbuf { long actime; long modtime; }; #endif /* The results of open() in this file are not used with fchdir, therefore save some unnecessary work in fchdir.c. */ #undef open #undef close /* Emulate utime (file, NULL) for systems (like 4.3BSD) that do not interpret it to set the access and modification times of FILE to the current time. Return 0 if successful, -1 if not. */ static int utime_null (const char *file) { #if HAVE_UTIMES_NULL return utimes (file, 0); #else int fd; char c; int status = 0; struct stat st; int saved_errno = 0; fd = open (file, O_RDWR); if (fd < 0 || fstat (fd, &st) < 0 || safe_read (fd, &c, sizeof c) == SAFE_READ_ERROR || lseek (fd, (off_t) 0, SEEK_SET) < 0 || full_write (fd, &c, sizeof c) != sizeof c /* Maybe do this -- it's necessary on SunOS 4.1.3 with some combination of patches, but that system doesn't use this code: it has utimes. || fsync (fd) < 0 */ || (st.st_size == 0 && ftruncate (fd, st.st_size) < 0)) { saved_errno = errno; status = -1; } if (0 <= fd) { if (close (fd) < 0) status = -1; /* If there was a prior failure, use the saved errno value. But if the only failure was in the close, don't change errno. */ if (saved_errno) errno = saved_errno; } return status; #endif } int rpl_utime (const char *file, const struct utimbuf *times) { if (times) return utime (file, times); return utime_null (file); } dc3dd-7.1.614/lib/TODO0000644000175000017500000000256311022023316013671 0ustar amedicoamedicoThings to do to hash.c: Always use curly braces around statements in if/else/while/do/etc. that span more than a line -- even around multiline simple statements or single-line simple statements preceded by a comment line. Never have lines longer than 80 chars. Remove ^L characters. We don't want/need such crutches. Get a good (smart) pagination filter. I have one (a perl script) that usually does a decent job for me -- I called it something like stdc-print and think I sent you an early verison. I don't like the name `cursor'. I much prefer short names like `p' for index variables. I doubt I'll change all of them, but thought you should know why some will probably end up changing. #define USE_OBSTACK somewhere Fix this comment. Depending on system and application... Mention fragmentation. +#if USE_OBSTACK + /* Whenever obstacks are used, it is possible to allocate all overflowed + entries into a single stack, so they all can be freed in a single + operation. It is not clear if the speedup is worth the trouble. */ + struct obstack entry_stack; +#endif assert (bucket_limit - bucket == n_buckets) ? remove.c: s/done/successful or ok ----- Copyright (C) 1998 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. dc3dd-7.1.614/lib/exitfail.c0000644000175000017500000000153011022023316015143 0ustar amedicoamedico/* Failure exit status Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "exitfail.h" #include int volatile exit_failure = EXIT_FAILURE; dc3dd-7.1.614/lib/rename-dest-slash.c0000644000175000017500000000531611022023316016660 0ustar amedicoamedico/* A rename wrapper to make tools like mv -- that would normally rely on the underlying rename syscall -- work more consistently. On at least NetBSD 1.6, `rename ("dir", "B/")' fails when B doesn't exist, whereas it succeeds on Linux-2.6.x and Solaris 10. This wrapper provides an interface for systems like the former so that the tools (namely mv) relying on the rename syscall have more consistent semantics. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #undef rename #include #include #include #include #include #include #include "dirname.h" #include "xalloc.h" static bool has_trailing_slash (char const *file) { /* Don't count "/", "//", etc., as having a trailing slash. */ bool has_non_slash = false; bool ends_in_slash = false; for (file += FILE_SYSTEM_PREFIX_LEN (file); *file; file++) { ends_in_slash = ISSLASH (*file); has_non_slash |= ~ ends_in_slash; } return has_non_slash & ends_in_slash; } /* This is a rename wrapper for systems where the rename syscall works differently than desired when SRC is a directory and DST does not exist but is specified with a trailing slash. On NetBSD 6.1, rename fails in that case. On Linux and Solaris systems, it succeeds. This wrapper makes it succeed on NetBSD by running the originally requested rename, and if it fails due to the above scenario, calling it again with DST's trailing slashes removed. */ int rpl_rename_dest_slash (char const *src, char const *dst) { int ret_val = rename (src, dst); if (ret_val != 0 && errno == ENOENT && has_trailing_slash (dst)) { int rename_errno = ENOENT; /* Fail now, unless SRC is a directory. */ struct stat sb; if (lstat (src, &sb) == 0 && S_ISDIR (sb.st_mode)) { char *dst_temp = xstrdup (dst); strip_trailing_slashes (dst_temp); ret_val = rename (src, dst_temp); rename_errno = errno; free (dst_temp); } errno = rename_errno; } return ret_val; } dc3dd-7.1.614/lib/sig2str.c0000644000175000017500000001525111022023316014740 0ustar amedicoamedico/* sig2str.c -- convert between signal names and numbers Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include #include #include #include #include #include "sig2str.h" #ifndef SIGRTMIN # define SIGRTMIN 0 # undef SIGRTMAX #endif #ifndef SIGRTMAX # define SIGRTMAX (SIGRTMIN - 1) #endif #define NUMNAME(name) { SIG##name, #name } /* Signal names and numbers. Put the preferred name first. */ static struct numname { int num; char const name[8]; } numname_table[] = { /* Signals required by POSIX 1003.1-2001 base, listed in traditional numeric order. */ #ifdef SIGHUP NUMNAME (HUP), #endif #ifdef SIGINT NUMNAME (INT), #endif #ifdef SIGQUIT NUMNAME (QUIT), #endif #ifdef SIGILL NUMNAME (ILL), #endif #ifdef SIGTRAP NUMNAME (TRAP), #endif #ifdef SIGABRT NUMNAME (ABRT), #endif #ifdef SIGFPE NUMNAME (FPE), #endif #ifdef SIGKILL NUMNAME (KILL), #endif #ifdef SIGBUS NUMNAME (BUS), #endif #ifdef SIGSEGV NUMNAME (SEGV), #endif #ifdef SIGPIPE NUMNAME (PIPE), #endif #ifdef SIGALRM NUMNAME (ALRM), #endif #ifdef SIGTERM NUMNAME (TERM), #endif #ifdef SIGUSR1 NUMNAME (USR1), #endif #ifdef SIGUSR2 NUMNAME (USR2), #endif #ifdef SIGCHLD NUMNAME (CHLD), #endif #ifdef SIGURG NUMNAME (URG), #endif #ifdef SIGSTOP NUMNAME (STOP), #endif #ifdef SIGTSTP NUMNAME (TSTP), #endif #ifdef SIGCONT NUMNAME (CONT), #endif #ifdef SIGTTIN NUMNAME (TTIN), #endif #ifdef SIGTTOU NUMNAME (TTOU), #endif /* Signals required by POSIX 1003.1-2001 with the XSI extension. */ #ifdef SIGSYS NUMNAME (SYS), #endif #ifdef SIGPOLL NUMNAME (POLL), #endif #ifdef SIGVTALRM NUMNAME (VTALRM), #endif #ifdef SIGPROF NUMNAME (PROF), #endif #ifdef SIGXCPU NUMNAME (XCPU), #endif #ifdef SIGXFSZ NUMNAME (XFSZ), #endif /* Unix Version 7. */ #ifdef SIGIOT NUMNAME (IOT), /* Older name for ABRT. */ #endif #ifdef SIGEMT NUMNAME (EMT), #endif /* USG Unix. */ #ifdef SIGPHONE NUMNAME (PHONE), #endif #ifdef SIGWIND NUMNAME (WIND), #endif /* Unix System V. */ #ifdef SIGCLD NUMNAME (CLD), #endif #ifdef SIGPWR NUMNAME (PWR), #endif /* GNU/Linux 2.2 and Solaris 8. */ #ifdef SIGCANCEL NUMNAME (CANCEL), #endif #ifdef SIGLWP NUMNAME (LWP), #endif #ifdef SIGWAITING NUMNAME (WAITING), #endif #ifdef SIGFREEZE NUMNAME (FREEZE), #endif #ifdef SIGTHAW NUMNAME (THAW), #endif #ifdef SIGLOST NUMNAME (LOST), #endif #ifdef SIGWINCH NUMNAME (WINCH), #endif /* GNU/Linux 2.2. */ #ifdef SIGINFO NUMNAME (INFO), #endif #ifdef SIGIO NUMNAME (IO), #endif #ifdef SIGSTKFLT NUMNAME (STKFLT), #endif /* AIX 5L. */ #ifdef SIGDANGER NUMNAME (DANGER), #endif #ifdef SIGGRANT NUMNAME (GRANT), #endif #ifdef SIGMIGRATE NUMNAME (MIGRATE), #endif #ifdef SIGMSG NUMNAME (MSG), #endif #ifdef SIGPRE NUMNAME (PRE), #endif #ifdef SIGRETRACT NUMNAME (RETRACT), #endif #ifdef SIGSAK NUMNAME (SAK), #endif #ifdef SIGSOUND NUMNAME (SOUND), #endif /* Older AIX versions. */ #ifdef SIGALRM1 NUMNAME (ALRM1), /* unknown; taken from Bash 2.05 */ #endif #ifdef SIGKAP NUMNAME (KAP), /* Older name for SIGGRANT. */ #endif #ifdef SIGVIRT NUMNAME (VIRT), /* unknown; taken from Bash 2.05 */ #endif #ifdef SIGWINDOW NUMNAME (WINDOW), /* Older name for SIGWINCH. */ #endif /* BeOS */ #ifdef SIGKILLTHR NUMNAME (KILLTHR), #endif /* Older HP-UX versions. */ #ifdef SIGDIL NUMNAME (DIL), #endif /* Korn shell and Bash, of uncertain vintage. */ { 0, "EXIT" } }; #define NUMNAME_ENTRIES (sizeof numname_table / sizeof numname_table[0]) /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of `digit' even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Convert the signal name SIGNAME to a signal number. Return the signal number if successful, -1 otherwise. */ static int str2signum (char const *signame) { if (ISDIGIT (*signame)) { char *endp; long int n = strtol (signame, &endp, 10); if (! *endp && n <= SIGNUM_BOUND) return n; } else { unsigned int i; for (i = 0; i < NUMNAME_ENTRIES; i++) if (strcmp (numname_table[i].name, signame) == 0) return numname_table[i].num; { char *endp; int rtmin = SIGRTMIN; int rtmax = SIGRTMAX; if (0 < rtmin && strncmp (signame, "RTMIN", 5) == 0) { long int n = strtol (signame + 5, &endp, 10); if (! *endp && 0 <= n && n <= rtmax - rtmin) return rtmin + n; } else if (0 < rtmax && strncmp (signame, "RTMAX", 5) == 0) { long int n = strtol (signame + 5, &endp, 10); if (! *endp && rtmin - rtmax <= n && n <= 0) return rtmax + n; } } } return -1; } /* Convert the signal name SIGNAME to the signal number *SIGNUM. Return 0 if successful, -1 otherwise. */ int str2sig (char const *signame, int *signum) { *signum = str2signum (signame); return *signum < 0 ? -1 : 0; } /* Convert SIGNUM to a signal name in SIGNAME. SIGNAME must point to a buffer of at least SIG2STR_MAX bytes. Return 0 if successful, -1 otherwise. */ int sig2str (int signum, char *signame) { unsigned int i; for (i = 0; i < NUMNAME_ENTRIES; i++) if (numname_table[i].num == signum) { strcpy (signame, numname_table[i].name); return 0; } { int rtmin = SIGRTMIN; int rtmax = SIGRTMAX; if (! (rtmin <= signum && signum <= rtmax)) return -1; if (signum <= rtmin + (rtmax - rtmin) / 2) { int delta = signum - rtmin; sprintf (signame, delta ? "RTMIN+%d" : "RTMIN", delta); } else { int delta = rtmax - signum; sprintf (signame, delta ? "RTMAX-%d" : "RTMAX", delta); } return 0; } } dc3dd-7.1.614/lib/pipe-safer.c0000644000175000017500000000253611022023316015400 0ustar amedicoamedico/* Invoke pipe, but avoid some glitches. Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "unistd-safer.h" #include #include /* Like pipe, but ensure that neither of the file descriptors is STDIN_FILENO, STDOUT_FILENO, or STDERR_FILENO. Fail with ENOSYS on platforms that lack pipe. */ int pipe_safer (int fd[2]) { #if HAVE_PIPE if (pipe (fd) == 0) { int i; for (i = 0; i < 2; i++) { fd[i] = fd_safer (fd[i]); if (fd[i] < 0) { int e = errno; close (fd[1 - i]); errno = e; return -1; } } return 0; } #else errno = ENOSYS; #endif return -1; } dc3dd-7.1.614/lib/mbchar.h0000644000175000017500000003102311022023316014577 0ustar amedicoamedico/* Multibyte character data type. Copyright (C) 2001, 2005-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible . */ /* A multibyte character is a short subsequence of a char* string, representing a single wide character. We use multibyte characters instead of wide characters because of the following goals: 1) correct multibyte handling, i.e. operate according to the LC_CTYPE locale, 2) ease of maintenance, i.e. the maintainer needs not know all details of the ISO C 99 standard, 3) don't fail grossly if the input is not in the encoding set by the locale, because often different encodings are in use in the same countries (ISO-8859-1/UTF-8, EUC-JP/Shift_JIS, ...), 4) fast in the case of ASCII characters, 5) portability, i.e. don't make unportable assumptions about wchar_t. Multibyte characters are only accessed through the mb* macros. mb_ptr (mbc) return a pointer to the beginning of the multibyte sequence. mb_len (mbc) returns the number of bytes occupied by the multibyte sequence. Always > 0. mb_iseq (mbc, sc) returns true if mbc is the standard ASCII character sc. mb_isnul (mbc) returns true if mbc is the nul character. mb_cmp (mbc1, mbc2) returns a positive, zero, or negative value depending on whether mbc1 sorts after, same or before mbc2. mb_casecmp (mbc1, mbc2) returns a positive, zero, or negative value depending on whether mbc1 sorts after, same or before mbc2, modulo upper/lowercase conversion. mb_equal (mbc1, mbc2) returns true if mbc1 and mbc2 are equal. mb_caseequal (mbc1, mbc2) returns true if mbc1 and mbc2 are equal modulo upper/lowercase conversion. mb_isalnum (mbc) returns true if mbc is alphanumeric. mb_isalpha (mbc) returns true if mbc is alphabetic. mb_isascii(mbc) returns true if mbc is plain ASCII. mb_isblank (mbc) returns true if mbc is a blank. mb_iscntrl (mbc) returns true if mbc is a control character. mb_isdigit (mbc) returns true if mbc is a decimal digit. mb_isgraph (mbc) returns true if mbc is a graphic character. mb_islower (mbc) returns true if mbc is lowercase. mb_isprint (mbc) returns true if mbc is a printable character. mb_ispunct (mbc) returns true if mbc is a punctuation character. mb_isspace (mbc) returns true if mbc is a space character. mb_isupper (mbc) returns true if mbc is uppercase. mb_isxdigit (mbc) returns true if mbc is a hexadecimal digit. mb_width (mbc) returns the number of columns on the output device occupied by mbc. Always >= 0. mb_putc (mbc, stream) outputs mbc on stream, a byte oriented FILE stream opened for output. mb_setascii (&mbc, sc) assigns the standard ASCII character sc to mbc. mb_copy (&destmbc, &srcmbc) copies srcmbc to destmbc. Here are the function prototypes of the macros. extern const char * mb_ptr (const mbchar_t mbc); extern size_t mb_len (const mbchar_t mbc); extern bool mb_iseq (const mbchar_t mbc, char sc); extern bool mb_isnul (const mbchar_t mbc); extern int mb_cmp (const mbchar_t mbc1, const mbchar_t mbc2); extern int mb_casecmp (const mbchar_t mbc1, const mbchar_t mbc2); extern bool mb_equal (const mbchar_t mbc1, const mbchar_t mbc2); extern bool mb_caseequal (const mbchar_t mbc1, const mbchar_t mbc2); extern bool mb_isalnum (const mbchar_t mbc); extern bool mb_isalpha (const mbchar_t mbc); extern bool mb_isascii (const mbchar_t mbc); extern bool mb_isblank (const mbchar_t mbc); extern bool mb_iscntrl (const mbchar_t mbc); extern bool mb_isdigit (const mbchar_t mbc); extern bool mb_isgraph (const mbchar_t mbc); extern bool mb_islower (const mbchar_t mbc); extern bool mb_isprint (const mbchar_t mbc); extern bool mb_ispunct (const mbchar_t mbc); extern bool mb_isspace (const mbchar_t mbc); extern bool mb_isupper (const mbchar_t mbc); extern bool mb_isxdigit (const mbchar_t mbc); extern int mb_width (const mbchar_t mbc); extern void mb_putc (const mbchar_t mbc, FILE *stream); extern void mb_setascii (mbchar_t *new, char sc); extern void mb_copy (mbchar_t *new, const mbchar_t *old); */ #ifndef _MBCHAR_H #define _MBCHAR_H 1 #include #include /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.1 has a bug: and must be included before . */ #include #include #include #include #define MBCHAR_BUF_SIZE 24 struct mbchar { const char *ptr; /* pointer to current character */ size_t bytes; /* number of bytes of current character, > 0 */ bool wc_valid; /* true if wc is a valid wide character */ wchar_t wc; /* if wc_valid: the current character */ char buf[MBCHAR_BUF_SIZE]; /* room for the bytes, used for file input only */ }; /* EOF (not a real character) is represented with bytes = 0 and wc_valid = false. */ typedef struct mbchar mbchar_t; /* Access the current character. */ #define mb_ptr(mbc) ((mbc).ptr) #define mb_len(mbc) ((mbc).bytes) /* Comparison of characters. */ #define mb_iseq(mbc, sc) ((mbc).wc_valid && (mbc).wc == (sc)) #define mb_isnul(mbc) ((mbc).wc_valid && (mbc).wc == 0) #define mb_cmp(mbc1, mbc2) \ ((mbc1).wc_valid \ ? ((mbc2).wc_valid \ ? (int) (mbc1).wc - (int) (mbc2).wc \ : -1) \ : ((mbc2).wc_valid \ ? 1 \ : (mbc1).bytes == (mbc2).bytes \ ? memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) \ : (mbc1).bytes < (mbc2).bytes \ ? (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) > 0 ? 1 : -1) \ : (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc2).bytes) >= 0 ? 1 : -1))) #define mb_casecmp(mbc1, mbc2) \ ((mbc1).wc_valid \ ? ((mbc2).wc_valid \ ? (int) towlower ((mbc1).wc) - (int) towlower ((mbc2).wc) \ : -1) \ : ((mbc2).wc_valid \ ? 1 \ : (mbc1).bytes == (mbc2).bytes \ ? memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) \ : (mbc1).bytes < (mbc2).bytes \ ? (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) > 0 ? 1 : -1) \ : (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc2).bytes) >= 0 ? 1 : -1))) #define mb_equal(mbc1, mbc2) \ ((mbc1).wc_valid && (mbc2).wc_valid \ ? (mbc1).wc == (mbc2).wc \ : (mbc1).bytes == (mbc2).bytes \ && memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) == 0) #define mb_caseequal(mbc1, mbc2) \ ((mbc1).wc_valid && (mbc2).wc_valid \ ? towlower ((mbc1).wc) == towlower ((mbc2).wc) \ : (mbc1).bytes == (mbc2).bytes \ && memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) == 0) /* , classification. */ #define mb_isascii(mbc) \ ((mbc).wc_valid && (mbc).wc >= 0 && (mbc).wc <= 127) #define mb_isalnum(mbc) ((mbc).wc_valid && iswalnum ((mbc).wc)) #define mb_isalpha(mbc) ((mbc).wc_valid && iswalpha ((mbc).wc)) #define mb_isblank(mbc) ((mbc).wc_valid && iswblank ((mbc).wc)) #define mb_iscntrl(mbc) ((mbc).wc_valid && iswcntrl ((mbc).wc)) #define mb_isdigit(mbc) ((mbc).wc_valid && iswdigit ((mbc).wc)) #define mb_isgraph(mbc) ((mbc).wc_valid && iswgraph ((mbc).wc)) #define mb_islower(mbc) ((mbc).wc_valid && iswlower ((mbc).wc)) #define mb_isprint(mbc) ((mbc).wc_valid && iswprint ((mbc).wc)) #define mb_ispunct(mbc) ((mbc).wc_valid && iswpunct ((mbc).wc)) #define mb_isspace(mbc) ((mbc).wc_valid && iswspace ((mbc).wc)) #define mb_isupper(mbc) ((mbc).wc_valid && iswupper ((mbc).wc)) #define mb_isxdigit(mbc) ((mbc).wc_valid && iswxdigit ((mbc).wc)) /* Extra function. */ /* Unprintable characters appear as a small box of width 1. */ #define MB_UNPRINTABLE_WIDTH 1 static inline int mb_width_aux (wint_t wc) { int w = wcwidth (wc); /* For unprintable characters, arbitrarily return 0 for control characters and MB_UNPRINTABLE_WIDTH otherwise. */ return (w >= 0 ? w : iswcntrl (wc) ? 0 : MB_UNPRINTABLE_WIDTH); } #define mb_width(mbc) \ ((mbc).wc_valid ? mb_width_aux ((mbc).wc) : MB_UNPRINTABLE_WIDTH) /* Output. */ #define mb_putc(mbc, stream) fwrite ((mbc).ptr, 1, (mbc).bytes, (stream)) /* Assignment. */ #define mb_setascii(mbc, sc) \ ((mbc)->ptr = (mbc)->buf, (mbc)->bytes = 1, (mbc)->wc_valid = 1, \ (mbc)->wc = (mbc)->buf[0] = (sc)) /* Copying a character. */ static inline void mb_copy (mbchar_t *new_mbc, const mbchar_t *old_mbc) { if (old_mbc->ptr == &old_mbc->buf[0]) { memcpy (&new_mbc->buf[0], &old_mbc->buf[0], old_mbc->bytes); new_mbc->ptr = &new_mbc->buf[0]; } else new_mbc->ptr = old_mbc->ptr; new_mbc->bytes = old_mbc->bytes; if ((new_mbc->wc_valid = old_mbc->wc_valid)) new_mbc->wc = old_mbc->wc; } /* is_basic(c) tests whether the single-byte character c is in the ISO C "basic character set". This is a convenience function, and is in this file only to share code between mbiter_multi.h and mbfile_multi.h. */ #if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126) /* The character set is ISO-646, not EBCDIC. */ # define IS_BASIC_ASCII 1 extern const unsigned int is_basic_table[]; static inline bool is_basic (char c) { return (is_basic_table [(unsigned char) c >> 5] >> ((unsigned char) c & 31)) & 1; } #else static inline bool is_basic (char c) { switch (c) { case '\t': case '\v': case '\f': case ' ': case '!': case '"': case '#': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': return 1; default: return 0; } } #endif #endif /* _MBCHAR_H */ dc3dd-7.1.614/lib/iconv_open-osf.gperf0000644000175000017500000000200211022023316017136 0ustar amedicoamedicostruct mapping { int standard_name; const char vendor_name[10 + 1]; }; %struct-type %language=ANSI-C %define slot-name standard_name %define hash-function-name mapping_hash %define lookup-function-name mapping_lookup %readonly-tables %global-table %define word-array-name mappings %pic %% # On OSF/1 5.1, look in /usr/lib/nls/loc/iconv. ISO-8859-1, "ISO8859-1" ISO-8859-2, "ISO8859-2" ISO-8859-3, "ISO8859-3" ISO-8859-4, "ISO8859-4" ISO-8859-5, "ISO8859-5" ISO-8859-6, "ISO8859-6" ISO-8859-7, "ISO8859-7" ISO-8859-8, "ISO8859-8" ISO-8859-9, "ISO8859-9" ISO-8859-15, "ISO8859-15" CP437, "cp437" CP775, "cp775" CP850, "cp850" CP852, "cp852" CP855, "cp855" CP857, "cp857" CP861, "cp861" CP862, "cp862" CP865, "cp865" CP866, "cp866" CP869, "cp869" CP874, "cp874" CP949, "KSC5601" CP1250, "cp1250" CP1251, "cp1251" CP1252, "cp1252" CP1253, "cp1253" CP1254, "cp1254" CP1255, "cp1255" CP1256, "cp1256" CP1257, "cp1257" CP1258, "cp1258" EUC-JP, "eucJP" EUC-KR, "eucKR" EUC-TW, "eucTW" BIG5, "big5" SHIFT_JIS, "SJIS" TIS-620, "TACTIS" dc3dd-7.1.614/lib/sha1.c0000644000175000017500000003075111064230667014220 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* sha1.c - Functions to compute SHA1 message digest of files or memory blocks according to the NIST specification FIPS-180-1. Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* Written by Scott G. Miller Credits: Robert Klep -- Expansion function fix */ #include #include "sha1.h" #include #include #if USE_UNLOCKED_IO # include "unlocked-io.h" #endif #ifdef WORDS_BIGENDIAN # define SWAP(n) (n) #else # define SWAP(n) \ (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) #endif #define BLOCKSIZE 4096 #if BLOCKSIZE % 64 != 0 # error "invalid BLOCKSIZE" #endif /* This array contains the bytes used to pad the buffer to the next 64-byte boundary. (RFC 1321, 3.1: Step 1) */ static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; /* Take a pointer to a 160 bit block of data (five 32 bit ints) and initialize it to the start constants of the SHA1 algorithm. This must be called before using hash in the call to sha1_hash. */ void sha1_init_ctx (struct sha1_ctx *ctx) { ctx->A = 0x67452301; ctx->B = 0xefcdab89; ctx->C = 0x98badcfe; ctx->D = 0x10325476; ctx->E = 0xc3d2e1f0; ctx->total[0] = ctx->total[1] = 0; ctx->buflen = 0; } /* Copy the 4 byte value from v into the memory location pointed to by *cp, If your architecture allows unaligned access this is equivalent to * (uint32_t *) cp = v */ static inline void set_uint32 (char *cp, uint32_t v) { memcpy (cp, &v, sizeof v); } /* Put result from CTX in first 20 bytes following RESBUF. The result must be in little endian byte order. */ void * sha1_read_ctx (const struct sha1_ctx *ctx, void *resbuf) { char *r = resbuf; set_uint32 (r + 0 * sizeof ctx->A, SWAP (ctx->A)); set_uint32 (r + 1 * sizeof ctx->B, SWAP (ctx->B)); set_uint32 (r + 2 * sizeof ctx->C, SWAP (ctx->C)); set_uint32 (r + 3 * sizeof ctx->D, SWAP (ctx->D)); set_uint32 (r + 4 * sizeof ctx->E, SWAP (ctx->E)); return resbuf; } /* Process the remaining bytes in the internal buffer and the usual prolog according to the standard and write the result to RESBUF. */ void * sha1_finish_ctx (struct sha1_ctx *ctx, void *resbuf) { /* Take yet unprocessed bytes into account. */ uint32_t bytes = ctx->buflen; size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4; /* Now count remaining bytes. */ ctx->total[0] += bytes; if (ctx->total[0] < bytes) ++ctx->total[1]; /* Put the 64-bit file length in *bits* at the end of the buffer. */ ctx->buffer[size - 2] = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29)); ctx->buffer[size - 1] = SWAP (ctx->total[0] << 3); memcpy (&((char *) ctx->buffer)[bytes], fillbuf, (size - 2) * 4 - bytes); /* Process last bytes. */ sha1_process_block (ctx->buffer, size * 4, ctx); return sha1_read_ctx (ctx, resbuf); } /* Compute SHA1 message digest for bytes read from STREAM. The resulting message digest number will be written into the 16 bytes beginning at RESBLOCK. */ int sha1_stream (FILE *stream, void *resblock) { struct sha1_ctx ctx; char buffer[BLOCKSIZE + 72]; size_t sum; /* Initialize the computation context. */ sha1_init_ctx (&ctx); /* Iterate over full file contents. */ while (1) { /* We read the file in blocks of BLOCKSIZE bytes. One call of the computation function processes the whole buffer so that with the next round of the loop another block can be read. */ size_t n; sum = 0; /* Read block. Take care for partial reads. */ while (1) { n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); sum += n; if (sum == BLOCKSIZE) break; if (n == 0) { /* Check for the error flag IFF N == 0, so that we don't exit the loop after a partial read due to e.g., EAGAIN or EWOULDBLOCK. */ if (ferror (stream)) return 1; goto process_partial_block; } /* We've read at least one byte, so ignore errors. But always check for EOF, since feof may be true even though N > 0. Otherwise, we could end up calling fread after EOF. */ if (feof (stream)) goto process_partial_block; } /* Process buffer with BLOCKSIZE bytes. Note that BLOCKSIZE % 64 == 0 */ sha1_process_block (buffer, BLOCKSIZE, &ctx); } process_partial_block:; /* Process any remaining bytes. */ if (sum > 0) sha1_process_bytes (buffer, sum, &ctx); /* Construct result in desired memory. */ sha1_finish_ctx (&ctx, resblock); return 0; } /* Compute SHA1 message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ void * sha1_buffer (const char *buffer, size_t len, void *resblock) { struct sha1_ctx ctx; /* Initialize the computation context. */ sha1_init_ctx (&ctx); /* Process whole buffer but last len % 64 bytes. */ sha1_process_bytes (buffer, len, &ctx); /* Put result in desired memory area. */ return sha1_finish_ctx (&ctx, resblock); } void sha1_process_bytes (const void *buffer, size_t len, struct sha1_ctx *ctx) { /* When we already have some bits in our internal buffer concatenate both inputs first. */ if (ctx->buflen != 0) { size_t left_over = ctx->buflen; size_t add = 128 - left_over > len ? len : 128 - left_over; memcpy (&((char *) ctx->buffer)[left_over], buffer, add); ctx->buflen += add; if (ctx->buflen > 64) { sha1_process_block (ctx->buffer, ctx->buflen & ~63, ctx); ctx->buflen &= 63; /* The regions in the following copy operation cannot overlap. */ memcpy (ctx->buffer, &((char *) ctx->buffer)[(left_over + add) & ~63], ctx->buflen); } buffer = (const char *) buffer + add; len -= add; } /* Process available complete blocks. */ if (len >= 64) { #if !_STRING_ARCH_unaligned # define alignof(type) offsetof (struct { char c; type x; }, x) # define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0) if (UNALIGNED_P (buffer)) while (len > 64) { sha1_process_block (memcpy (ctx->buffer, buffer, 64), 64, ctx); buffer = (const char *) buffer + 64; len -= 64; } else #endif { sha1_process_block (buffer, len & ~63, ctx); buffer = (const char *) buffer + (len & ~63); len &= 63; } } /* Move remaining bytes in internal buffer. */ if (len > 0) { size_t left_over = ctx->buflen; memcpy (&((char *) ctx->buffer)[left_over], buffer, len); left_over += len; if (left_over >= 64) { sha1_process_block (ctx->buffer, 64, ctx); left_over -= 64; memcpy (ctx->buffer, &ctx->buffer[16], left_over); } ctx->buflen = left_over; } } /* --- Code below is the primary difference between md5.c and sha1.c --- */ /* SHA1 round constants */ #define K1 0x5a827999 #define K2 0x6ed9eba1 #define K3 0x8f1bbcdc #define K4 0xca62c1d6 /* Round functions. Note that F2 is the same as F4. */ #define F1(B,C,D) ( D ^ ( B & ( C ^ D ) ) ) #define F2(B,C,D) (B ^ C ^ D) #define F3(B,C,D) ( ( B & C ) | ( D & ( B | C ) ) ) #define F4(B,C,D) (B ^ C ^ D) /* Process LEN bytes of BUFFER, accumulating context into CTX. It is assumed that LEN % 64 == 0. Most of this code comes from GnuPG's cipher/sha1.c. */ void sha1_process_block (const void *buffer, size_t len, struct sha1_ctx *ctx) { const uint32_t *words = buffer; size_t nwords = len / sizeof (uint32_t); const uint32_t *endp = words + nwords; uint32_t x[16]; uint32_t a = ctx->A; uint32_t b = ctx->B; uint32_t c = ctx->C; uint32_t d = ctx->D; uint32_t e = ctx->E; /* First increment the byte count. RFC 1321 specifies the possible length of the file up to 2^64 bits. Here we only compute the number of bytes. Do a double word increment. */ ctx->total[0] += len; if (ctx->total[0] < len) ++ctx->total[1]; #define rol(x, n) (((x) << (n)) | ((uint32_t) (x) >> (32 - (n)))) #define M(I) ( tm = x[I&0x0f] ^ x[(I-14)&0x0f] \ ^ x[(I-8)&0x0f] ^ x[(I-3)&0x0f] \ , (x[I&0x0f] = rol(tm, 1)) ) #define R(A,B,C,D,E,F,K,M) do { E += rol( A, 5 ) \ + F( B, C, D ) \ + K \ + M; \ B = rol( B, 30 ); \ } while(0) while (words < endp) { uint32_t tm; int t; for (t = 0; t < 16; t++) { x[t] = SWAP (*words); words++; } R( a, b, c, d, e, F1, K1, x[ 0] ); R( e, a, b, c, d, F1, K1, x[ 1] ); R( d, e, a, b, c, F1, K1, x[ 2] ); R( c, d, e, a, b, F1, K1, x[ 3] ); R( b, c, d, e, a, F1, K1, x[ 4] ); R( a, b, c, d, e, F1, K1, x[ 5] ); R( e, a, b, c, d, F1, K1, x[ 6] ); R( d, e, a, b, c, F1, K1, x[ 7] ); R( c, d, e, a, b, F1, K1, x[ 8] ); R( b, c, d, e, a, F1, K1, x[ 9] ); R( a, b, c, d, e, F1, K1, x[10] ); R( e, a, b, c, d, F1, K1, x[11] ); R( d, e, a, b, c, F1, K1, x[12] ); R( c, d, e, a, b, F1, K1, x[13] ); R( b, c, d, e, a, F1, K1, x[14] ); R( a, b, c, d, e, F1, K1, x[15] ); R( e, a, b, c, d, F1, K1, M(16) ); R( d, e, a, b, c, F1, K1, M(17) ); R( c, d, e, a, b, F1, K1, M(18) ); R( b, c, d, e, a, F1, K1, M(19) ); R( a, b, c, d, e, F2, K2, M(20) ); R( e, a, b, c, d, F2, K2, M(21) ); R( d, e, a, b, c, F2, K2, M(22) ); R( c, d, e, a, b, F2, K2, M(23) ); R( b, c, d, e, a, F2, K2, M(24) ); R( a, b, c, d, e, F2, K2, M(25) ); R( e, a, b, c, d, F2, K2, M(26) ); R( d, e, a, b, c, F2, K2, M(27) ); R( c, d, e, a, b, F2, K2, M(28) ); R( b, c, d, e, a, F2, K2, M(29) ); R( a, b, c, d, e, F2, K2, M(30) ); R( e, a, b, c, d, F2, K2, M(31) ); R( d, e, a, b, c, F2, K2, M(32) ); R( c, d, e, a, b, F2, K2, M(33) ); R( b, c, d, e, a, F2, K2, M(34) ); R( a, b, c, d, e, F2, K2, M(35) ); R( e, a, b, c, d, F2, K2, M(36) ); R( d, e, a, b, c, F2, K2, M(37) ); R( c, d, e, a, b, F2, K2, M(38) ); R( b, c, d, e, a, F2, K2, M(39) ); R( a, b, c, d, e, F3, K3, M(40) ); R( e, a, b, c, d, F3, K3, M(41) ); R( d, e, a, b, c, F3, K3, M(42) ); R( c, d, e, a, b, F3, K3, M(43) ); R( b, c, d, e, a, F3, K3, M(44) ); R( a, b, c, d, e, F3, K3, M(45) ); R( e, a, b, c, d, F3, K3, M(46) ); R( d, e, a, b, c, F3, K3, M(47) ); R( c, d, e, a, b, F3, K3, M(48) ); R( b, c, d, e, a, F3, K3, M(49) ); R( a, b, c, d, e, F3, K3, M(50) ); R( e, a, b, c, d, F3, K3, M(51) ); R( d, e, a, b, c, F3, K3, M(52) ); R( c, d, e, a, b, F3, K3, M(53) ); R( b, c, d, e, a, F3, K3, M(54) ); R( a, b, c, d, e, F3, K3, M(55) ); R( e, a, b, c, d, F3, K3, M(56) ); R( d, e, a, b, c, F3, K3, M(57) ); R( c, d, e, a, b, F3, K3, M(58) ); R( b, c, d, e, a, F3, K3, M(59) ); R( a, b, c, d, e, F4, K4, M(60) ); R( e, a, b, c, d, F4, K4, M(61) ); R( d, e, a, b, c, F4, K4, M(62) ); R( c, d, e, a, b, F4, K4, M(63) ); R( b, c, d, e, a, F4, K4, M(64) ); R( a, b, c, d, e, F4, K4, M(65) ); R( e, a, b, c, d, F4, K4, M(66) ); R( d, e, a, b, c, F4, K4, M(67) ); R( c, d, e, a, b, F4, K4, M(68) ); R( b, c, d, e, a, F4, K4, M(69) ); R( a, b, c, d, e, F4, K4, M(70) ); R( e, a, b, c, d, F4, K4, M(71) ); R( d, e, a, b, c, F4, K4, M(72) ); R( c, d, e, a, b, F4, K4, M(73) ); R( b, c, d, e, a, F4, K4, M(74) ); R( a, b, c, d, e, F4, K4, M(75) ); R( e, a, b, c, d, F4, K4, M(76) ); R( d, e, a, b, c, F4, K4, M(77) ); R( c, d, e, a, b, F4, K4, M(78) ); R( b, c, d, e, a, F4, K4, M(79) ); a = ctx->A += a; b = ctx->B += b; c = ctx->C += c; d = ctx->D += d; e = ctx->E += e; } } dc3dd-7.1.614/lib/canonicalize.c0000644000175000017500000001673111064230667016025 0ustar amedicoamedico/* Return the canonical absolute name of a given file. Copyright (C) 1996-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include #include "canonicalize.h" #include #include #if HAVE_SYS_PARAM_H # include #endif #include #include #include #include #include "file-set.h" #include "filenamecat.h" #include "hash-triple.h" #include "xalloc.h" #include "xgetcwd.h" #ifndef ELOOP # define ELOOP 0 #endif #ifndef __set_errno # define __set_errno(Val) errno = (Val) #endif #include "pathmax.h" #include "areadlink.h" #if !(HAVE_CANONICALIZE_FILE_NAME || GNULIB_CANONICALIZE_LGPL) /* Return the canonical absolute name of file NAME. A canonical name does not contain any `.', `..' components nor any repeated file name separators ('/') or symlinks. All components must exist. The result is malloc'd. */ char * canonicalize_file_name (const char *name) { # if HAVE_RESOLVEPATH char *resolved, *extra_buf = NULL; size_t resolved_size; ssize_t resolved_len; if (name == NULL) { __set_errno (EINVAL); return NULL; } if (name[0] == '\0') { __set_errno (ENOENT); return NULL; } /* All known hosts with resolvepath (e.g. Solaris 7) don't turn relative names into absolute ones, so prepend the working directory if the file name is not absolute. */ if (name[0] != '/') { char *wd; if (!(wd = xgetcwd ())) return NULL; extra_buf = file_name_concat (wd, name, NULL); name = extra_buf; free (wd); } resolved_size = strlen (name); while (1) { resolved_size = 2 * resolved_size + 1; resolved = xmalloc (resolved_size); resolved_len = resolvepath (name, resolved, resolved_size); if (resolved_len < 0) { free (resolved); free (extra_buf); return NULL; } if (resolved_len < resolved_size) break; free (resolved); } free (extra_buf); /* NUL-terminate the resulting name. */ resolved[resolved_len] = '\0'; return resolved; # else return canonicalize_filename_mode (name, CAN_EXISTING); # endif /* !HAVE_RESOLVEPATH */ } #endif /* !HAVE_CANONICALIZE_FILE_NAME */ /* Return true if we've already seen the triple, . If *HT is not initialized, initialize it. */ static bool seen_triple (Hash_table **ht, char const *filename, struct stat const *st) { if (*ht == NULL) { size_t initial_capacity = 7; *ht = hash_initialize (initial_capacity, NULL, triple_hash, triple_compare_ino_str, triple_free); if (*ht == NULL) xalloc_die (); } if (seen_file (*ht, filename, st)) return true; record_file (*ht, filename, st); return false; } /* Return the canonical absolute name of file NAME. A canonical name does not contain any `.', `..' components nor any repeated file name separators ('/') or symlinks. Whether components must exist or not depends on canonicalize mode. The result is malloc'd. */ char * canonicalize_filename_mode (const char *name, canonicalize_mode_t can_mode) { char *rname, *dest, *extra_buf = NULL; char const *start; char const *end; char const *rname_limit; size_t extra_len = 0; Hash_table *ht = NULL; if (name == NULL) { __set_errno (EINVAL); return NULL; } if (name[0] == '\0') { __set_errno (ENOENT); return NULL; } if (name[0] != '/') { rname = xgetcwd (); if (!rname) return NULL; dest = strchr (rname, '\0'); if (dest - rname < PATH_MAX) { char *p = xrealloc (rname, PATH_MAX); dest = p + (dest - rname); rname = p; rname_limit = rname + PATH_MAX; } else { rname_limit = dest; } } else { rname = xmalloc (PATH_MAX); rname_limit = rname + PATH_MAX; rname[0] = '/'; dest = rname + 1; } for (start = end = name; *start; start = end) { /* Skip sequence of multiple file name separators. */ while (*start == '/') ++start; /* Find end of component. */ for (end = start; *end && *end != '/'; ++end) /* Nothing. */; if (end - start == 0) break; else if (end - start == 1 && start[0] == '.') /* nothing */; else if (end - start == 2 && start[0] == '.' && start[1] == '.') { /* Back up to previous component, ignore if at root already. */ if (dest > rname + 1) while ((--dest)[-1] != '/'); } else { struct stat st; if (dest[-1] != '/') *dest++ = '/'; if (dest + (end - start) >= rname_limit) { ptrdiff_t dest_offset = dest - rname; size_t new_size = rname_limit - rname; if (end - start + 1 > PATH_MAX) new_size += end - start + 1; else new_size += PATH_MAX; rname = xrealloc (rname, new_size); rname_limit = rname + new_size; dest = rname + dest_offset; } dest = memcpy (dest, start, end - start); dest += end - start; *dest = '\0'; if (lstat (rname, &st) != 0) { if (can_mode == CAN_EXISTING) goto error; if (can_mode == CAN_ALL_BUT_LAST && *end) goto error; st.st_mode = 0; } if (S_ISLNK (st.st_mode)) { char *buf; size_t n, len; /* Detect loops. We cannot use the cycle-check module here, since it's actually possible to encounter the same symlink more than once in a given traversal. However, encountering the same symlink,NAME pair twice does indicate a loop. */ if (seen_triple (&ht, name, &st)) { __set_errno (ELOOP); if (can_mode == CAN_MISSING) continue; else goto error; } buf = areadlink_with_size (rname, st.st_size); if (!buf) { if (can_mode == CAN_MISSING && errno != ENOMEM) continue; else goto error; } n = strlen (buf); len = strlen (end); if (!extra_len) { extra_len = ((n + len + 1) > PATH_MAX) ? (n + len + 1) : PATH_MAX; extra_buf = xmalloc (extra_len); } else if ((n + len + 1) > extra_len) { extra_len = n + len + 1; extra_buf = xrealloc (extra_buf, extra_len); } /* Careful here, end may be a pointer into extra_buf... */ memmove (&extra_buf[n], end, len + 1); name = end = memcpy (extra_buf, buf, n); if (buf[0] == '/') dest = rname + 1; /* It's an absolute symlink */ else /* Back up to previous component, ignore if at root already: */ if (dest > rname + 1) while ((--dest)[-1] != '/'); free (buf); } else { if (!S_ISDIR (st.st_mode) && *end && (can_mode != CAN_MISSING)) { errno = ENOTDIR; goto error; } } } } if (dest > rname + 1 && dest[-1] == '/') --dest; *dest = '\0'; free (extra_buf); if (ht) hash_free (ht); return rname; error: free (extra_buf); free (rname); if (ht) hash_free (ht); return NULL; } dc3dd-7.1.614/lib/c-strtod.c0000644000175000017500000000337111022023316015102 0ustar amedicoamedico/* Convert string to double, using the C locale. Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include #include "c-strtod.h" #include #include #include "xalloc.h" #if LONG # define C_STRTOD c_strtold # define DOUBLE long double # define STRTOD_L strtold_l #else # define C_STRTOD c_strtod # define DOUBLE double # define STRTOD_L strtod_l #endif /* c_strtold falls back on strtod if strtold doesn't conform to C99. */ #if LONG && HAVE_C99_STRTOLD # define STRTOD strtold #else # define STRTOD strtod #endif DOUBLE C_STRTOD (char const *nptr, char **endptr) { DOUBLE r; #ifdef LC_ALL_MASK locale_t c_locale = newlocale (LC_ALL_MASK, "C", 0); r = STRTOD_L (nptr, endptr, c_locale); freelocale (c_locale); #else char *saved_locale = setlocale (LC_NUMERIC, NULL); if (saved_locale) { saved_locale = xstrdup (saved_locale); setlocale (LC_NUMERIC, "C"); } r = STRTOD (nptr, endptr); if (saved_locale) { setlocale (LC_NUMERIC, saved_locale); free (saved_locale); } #endif return r; } dc3dd-7.1.614/lib/same.h0000644000175000017500000000164311022023316014275 0ustar amedicoamedico/* Determine whether two file names refer to the same file. Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef SAME_H_ # define SAME_H_ 1 # include bool same_name (const char *source, const char *dest); #endif /* SAME_H_ */ dc3dd-7.1.614/lib/rand-isaac.h0000644000175000017500000000274511022023316015356 0ustar amedicoamedico/* Bob Jenkins's cryptographic random number generator, ISAAC. Copyright (C) 1999-2005 Free Software Foundation, Inc. Copyright (C) 1997, 1998, 1999 Colin Plumb. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Colin Plumb. */ #ifndef RAND_ISAAC_H # define RAND_ISAAC_H # include /* Size of the state tables to use. ISAAC_LOG should be at least 3, and smaller values give less security. */ # define ISAAC_LOG 8 # define ISAAC_WORDS (1 << ISAAC_LOG) # define ISAAC_BYTES (ISAAC_WORDS * sizeof (uint32_t)) /* RNG state variables. The members of this structure are private. */ struct isaac_state { uint32_t mm[ISAAC_WORDS]; /* Main state array */ uint32_t iv[8]; /* Seeding initial vector */ uint32_t a, b, c; /* Extra index variables */ }; void isaac_seed (struct isaac_state *); void isaac_refill (struct isaac_state *, uint32_t[ISAAC_WORDS]); #endif dc3dd-7.1.614/lib/hash-triple.c0000644000175000017500000000405411022023316015562 0ustar amedicoamedico/* Hash functions for file-related triples: name, device, inode. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include "hash-triple.h" #include #include #include "hash-pjw.h" #include "same.h" #include "same-inode.h" #define STREQ(a, b) (strcmp ((a), (b)) == 0) /* Hash an F_triple, and *do* consider the file name. */ size_t triple_hash (void const *x, size_t table_size) { struct F_triple const *p = x; size_t tmp = hash_pjw (p->name, table_size); /* Ignoring the device number here should be fine. */ return (tmp ^ p->st_ino) % table_size; } /* Hash an F_triple, without considering the file name. */ size_t triple_hash_no_name (void const *x, size_t table_size) { struct F_triple const *p = x; /* Ignoring the device number here should be fine. */ return p->st_ino % table_size; } /* Compare two F_triple structs. */ bool triple_compare (void const *x, void const *y) { struct F_triple const *a = x; struct F_triple const *b = y; return (SAME_INODE (*a, *b) && same_name (a->name, b->name)) ? true : false; } bool triple_compare_ino_str (void const *x, void const *y) { struct F_triple const *a = x; struct F_triple const *b = y; return (SAME_INODE (*a, *b) && STREQ (a->name, b->name)) ? true : false; } /* Free an F_triple. */ void triple_free (void *x) { struct F_triple *a = x; free (a->name); free (a); } dc3dd-7.1.614/lib/exclude.h0000644000175000017500000000325711022023316015004 0ustar amedicoamedico/* exclude.h -- declarations for excluding file names Copyright (C) 1992, 1993, 1994, 1997, 1999, 2001, 2002, 2003, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert */ /* Exclude options, which can be ORed with fnmatch options. */ /* Patterns must match the start of file names, instead of matching anywhere after a '/'. */ #define EXCLUDE_ANCHORED (1 << 30) /* Include instead of exclude. */ #define EXCLUDE_INCLUDE (1 << 29) /* '?', '*', '[', and '\\' are special in patterns. Without this option, these characters are ordinary and fnmatch is not used. */ #define EXCLUDE_WILDCARDS (1 << 28) struct exclude; struct exclude *new_exclude (void); void free_exclude (struct exclude *); void add_exclude (struct exclude *, char const *, int); int add_exclude_file (void (*) (struct exclude *, char const *, int), struct exclude *, char const *, int, char); bool excluded_file_name (struct exclude const *, char const *); bool exclude_fnmatch (char const *pattern, char const *f, int options); dc3dd-7.1.614/lib/readtokens0.c0000644000175000017500000000527711022023316015571 0ustar amedicoamedico/* readtokens0.c -- Read NUL-separated tokens from an input stream. Copyright (C) 2004, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Written by Jim Meyering. */ #include #include #include "readtokens0.h" #define obstack_chunk_alloc malloc #define obstack_chunk_free free void readtokens0_init (struct Tokens *t) { t->n_tok = 0; t->tok = NULL; t->tok_len = NULL; obstack_init (&t->o_data); obstack_init (&t->o_tok); obstack_init (&t->o_tok_len); } void readtokens0_free (struct Tokens *t) { obstack_free (&t->o_data, NULL); obstack_free (&t->o_tok, NULL); obstack_free (&t->o_tok_len, NULL); } /* Finalize (in the obstack_finish sense) the current token and record its pointer and length. */ static void save_token (struct Tokens *t) { /* Don't count the trailing NUL byte in the length. */ size_t len = obstack_object_size (&t->o_data) - 1; char const *s = obstack_finish (&t->o_data); obstack_ptr_grow (&t->o_tok, s); obstack_grow (&t->o_tok_len, &len, sizeof len); t->n_tok++; } /* Read NUL-separated tokens from stream IN into T until EOF or error. The final NUL is optional. Always append a NULL pointer to the resulting list of token pointers, but that pointer isn't counted via t->n_tok. Return true if successful. */ bool readtokens0 (FILE *in, struct Tokens *t) { while (1) { int c = fgetc (in); if (c == EOF) { size_t len = obstack_object_size (&t->o_data); /* If the current object has nonzero length, then there was no NUL byte at EOF -- or maybe there was an error, in which case, we need to append a NUL byte to our buffer. */ if (len) { obstack_1grow (&t->o_data, '\0'); save_token (t); } break; } obstack_1grow (&t->o_data, c); if (c == '\0') save_token (t); } /* Add a NULL pointer at the end, in case the caller (like du) requires an argv-style array of strings. */ obstack_ptr_grow (&t->o_tok, NULL); t->tok = obstack_finish (&t->o_tok); t->tok_len = obstack_finish (&t->o_tok_len); return ! ferror (in); } dc3dd-7.1.614/lib/mkancesdirs.h0000644000175000017500000000022311022023316015644 0ustar amedicoamedico#include struct savewd; ptrdiff_t mkancesdirs (char *, struct savewd *, int (*) (char const *, char const *, void *), void *); dc3dd-7.1.614/lib/strtoll.c0000644000175000017500000000207611022023316015047 0ustar amedicoamedico/* Function to parse a `long long int' from text. Copyright (C) 1995, 1996, 1997, 1999, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #define QUAD 1 #include #ifdef _LIBC # ifdef SHARED # include # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) compat_symbol (libc, __strtoll_internal, __strtoq_internal, GLIBC_2_0); # endif # endif weak_alias (strtoll, strtoq) #endif dc3dd-7.1.614/lib/filenamecat.c0000644000175000017500000000620211022023316015607 0ustar amedicoamedico/* Concatenate two arbitrary file names. Copyright (C) 1996-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include /* Specification. */ #include "filenamecat.h" #include #include #include "dirname.h" #include "xalloc.h" #if ! HAVE_MEMPCPY && ! defined mempcpy # define mempcpy(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N))) #endif /* Return the longest suffix of F that is a relative file name. If it has no such suffix, return the empty string. */ static char const * longest_relative_suffix (char const *f) { for (f += FILE_SYSTEM_PREFIX_LEN (f); ISSLASH (*f); f++) continue; return f; } /* Concatenate two file name components, DIR and ABASE, in newly-allocated storage and return the result. The resulting file name F is such that the commands "ls F" and "(cd DIR; ls BASE)" refer to the same file, where BASE is ABASE with any file system prefixes and leading separators removed. Arrange for a directory separator if necessary between DIR and BASE in the result, removing any redundant separators. In any case, if BASE_IN_RESULT is non-NULL, set *BASE_IN_RESULT to point to the copy of ABASE in the returned concatenation. However, if ABASE begins with more than one slash, set *BASE_IN_RESULT to point to the sole corresponding slash that is copied into the result buffer. Return NULL if malloc fails. */ char * mfile_name_concat (char const *dir, char const *abase, char **base_in_result) { char const *dirbase = last_component (dir); size_t dirbaselen = base_len (dirbase); size_t dirlen = dirbase - dir + dirbaselen; size_t needs_separator = (dirbaselen && ! ISSLASH (dirbase[dirbaselen - 1])); char const *base = longest_relative_suffix (abase); size_t baselen = strlen (base); char *p_concat = malloc (dirlen + needs_separator + baselen + 1); char *p; if (p_concat == NULL) return NULL; p = mempcpy (p_concat, dir, dirlen); *p = DIRECTORY_SEPARATOR; p += needs_separator; if (base_in_result) *base_in_result = p - IS_ABSOLUTE_FILE_NAME (abase); p = mempcpy (p, base, baselen); *p = '\0'; return p_concat; } /* Just like mfile_name_concat, above, except, rather than returning NULL upon malloc failure, here, we report the "memory exhausted" condition and exit. */ char * file_name_concat (char const *dir, char const *abase, char **base_in_result) { char *p = mfile_name_concat (dir, abase, base_in_result); if (p == NULL) xalloc_die (); return p; } dc3dd-7.1.614/lib/sha256.h0000644000175000017500000000651311064230667014400 0ustar amedicoamedico/* Declarations of functions and data types used for SHA256 and SHA224 sum library functions. Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef SHA256_H # define SHA256_H 1 # include # include /* Structure to save state of computation between the single steps. */ struct sha256_ctx { uint32_t state[8]; uint32_t total[2]; size_t buflen; uint32_t buffer[32]; }; enum { SHA224_DIGEST_SIZE = 24 }; enum { SHA256_DIGEST_SIZE = 32 }; /* Initialize structure containing state of computation. */ extern void sha256_init_ctx (struct sha256_ctx *ctx); extern void sha224_init_ctx (struct sha256_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is necessary that LEN is a multiple of 64!!! */ extern void sha256_process_block (const void *buffer, size_t len, struct sha256_ctx *ctx); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes starting at BUFFER. It is NOT required that LEN is a multiple of 64. */ extern void sha256_process_bytes (const void *buffer, size_t len, struct sha256_ctx *ctx); /* Process the remaining bytes in the buffer and put result from CTX in first 32 (28) bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha256_finish_ctx (struct sha256_ctx *ctx, void *resbuf); extern void *sha224_finish_ctx (struct sha256_ctx *ctx, void *resbuf); /* Put result from CTX in first 32 (28) bytes following RESBUF. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha256_read_ctx (const struct sha256_ctx *ctx, void *resbuf); extern void *sha224_read_ctx (const struct sha256_ctx *ctx, void *resbuf); /* Compute SHA256 (SHA224) message digest for bytes read from STREAM. The resulting message digest number will be written into the 32 (28) bytes beginning at RESBLOCK. */ extern int sha256_stream (FILE *stream, void *resblock); extern int sha224_stream (FILE *stream, void *resblock); /* Compute SHA256 (SHA224) message digest for LEN bytes beginning at BUFFER. The result is always in little endian byte order, so that a byte-wise output yields to the wanted ASCII representation of the message digest. */ extern void *sha256_buffer (const char *buffer, size_t len, void *resblock); extern void *sha224_buffer (const char *buffer, size_t len, void *resblock); #endif dc3dd-7.1.614/lib/lseek.c0000644000175000017500000000346211064230667014466 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* An lseek() function that detects pipes. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #include #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Windows platforms. */ /* Get GetFileType. */ # include #else # include #endif #include #undef lseek off_t rpl_lseek (int fd, off_t offset, int whence) { #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* mingw lseek mistakenly succeeds on pipes, sockets, and terminals. */ HANDLE h = (HANDLE) _get_osfhandle (fd); if (h == INVALID_HANDLE_VALUE) { errno = EBADF; return -1; } if (GetFileType (h) != FILE_TYPE_DISK) { errno = ESPIPE; return -1; } #else /* BeOS lseek mistakenly succeeds on pipes... */ struct stat statbuf; if (fstat (fd, &statbuf) < 0) return -1; if (!S_ISREG (statbuf.st_mode)) { errno = ESPIPE; return -1; } #endif return lseek (fd, offset, whence); } dc3dd-7.1.614/lib/readutmp.h0000644000175000017500000001303711022023316015171 0ustar amedicoamedico/* Declarations for GNU's read utmp module. Copyright (C) 1992-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by jla; revised by djm */ #ifndef __READUTMP_H__ # define __READUTMP_H__ # include /* AIX 4.3.3 has both utmp.h and utmpx.h, but only struct utmp has the ut_exit member. */ # if (HAVE_UTMPX_H && HAVE_UTMP_H && HAVE_STRUCT_UTMP_UT_EXIT \ && ! HAVE_STRUCT_UTMPX_UT_EXIT) # undef HAVE_UTMPX_H # endif # if HAVE_UTMPX_H # if HAVE_UTMP_H /* HPUX 10.20 needs utmp.h, for the definition of e.g., UTMP_FILE. */ # include # endif # if defined _THREAD_SAFE && defined UTMP_DATA_INIT /* When including both utmp.h and utmpx.h on AIX 4.3, with _THREAD_SAFE defined, work around the duplicate struct utmp_data declaration. */ # define utmp_data gl_aix_4_3_workaround_utmp_data # endif # include # define UTMP_STRUCT_NAME utmpx # define UT_TIME_MEMBER(UT_PTR) ((UT_PTR)->ut_tv.tv_sec) # define SET_UTMP_ENT setutxent # define GET_UTMP_ENT getutxent # define END_UTMP_ENT endutxent # ifdef HAVE_UTMPXNAME # define UTMP_NAME_FUNCTION utmpxname # endif # if HAVE_STRUCT_UTMPX_UT_EXIT_E_TERMINATION # define UT_EXIT_E_TERMINATION(U) ((U)->ut_exit.e_termination) # else # if HAVE_STRUCT_UTMPX_UT_EXIT_UT_TERMINATION # define UT_EXIT_E_TERMINATION(U) ((U)->ut_exit.ut_termination) # else # define UT_EXIT_E_TERMINATION(U) 0 # endif # endif # if HAVE_STRUCT_UTMPX_UT_EXIT_E_EXIT # define UT_EXIT_E_EXIT(U) ((U)->ut_exit.e_exit) # else # if HAVE_STRUCT_UTMPX_UT_EXIT_UT_EXIT # define UT_EXIT_E_EXIT(U) ((U)->ut_exit.ut_exit) # else # define UT_EXIT_E_EXIT(U) 0 # endif # endif # elif HAVE_UTMP_H # include # if !HAVE_DECL_GETUTENT struct utmp *getutent(); # endif # define UTMP_STRUCT_NAME utmp # define UT_TIME_MEMBER(UT_PTR) ((UT_PTR)->ut_time) # define SET_UTMP_ENT setutent # define GET_UTMP_ENT getutent # define END_UTMP_ENT endutent # ifdef HAVE_UTMPNAME # define UTMP_NAME_FUNCTION utmpname # endif # if HAVE_STRUCT_UTMP_UT_EXIT_E_TERMINATION # define UT_EXIT_E_TERMINATION(U) ((U)->ut_exit.e_termination) # else # if HAVE_STRUCT_UTMP_UT_EXIT_UT_TERMINATION # define UT_EXIT_E_TERMINATION(U) ((U)->ut_exit.ut_termination) # else # define UT_EXIT_E_TERMINATION(U) 0 # endif # endif # if HAVE_STRUCT_UTMP_UT_EXIT_E_EXIT # define UT_EXIT_E_EXIT(U) ((U)->ut_exit.e_exit) # else # if HAVE_STRUCT_UTMP_UT_EXIT_UT_EXIT # define UT_EXIT_E_EXIT(U) ((U)->ut_exit.ut_exit) # else # define UT_EXIT_E_EXIT(U) 0 # endif # endif # endif /* Accessor macro for the member named ut_user or ut_name. */ # if HAVE_UTMPX_H # if HAVE_STRUCT_UTMPX_UT_USER # define UT_USER(Utmp) ((Utmp)->ut_user) # endif # if HAVE_STRUCT_UTMPX_UT_NAME # undef UT_USER # define UT_USER(Utmp) ((Utmp)->ut_name) # endif # elif HAVE_UTMP_H # if HAVE_STRUCT_UTMP_UT_USER # define UT_USER(Utmp) ((Utmp)->ut_user) # endif # if HAVE_STRUCT_UTMP_UT_NAME # undef UT_USER # define UT_USER(Utmp) ((Utmp)->ut_name) # endif # endif # define HAVE_STRUCT_XTMP_UT_EXIT \ (HAVE_STRUCT_UTMP_UT_EXIT \ || HAVE_STRUCT_UTMPX_UT_EXIT) # define HAVE_STRUCT_XTMP_UT_ID \ (HAVE_STRUCT_UTMP_UT_ID \ || HAVE_STRUCT_UTMPX_UT_ID) # define HAVE_STRUCT_XTMP_UT_PID \ (HAVE_STRUCT_UTMP_UT_PID \ || HAVE_STRUCT_UTMPX_UT_PID) typedef struct UTMP_STRUCT_NAME STRUCT_UTMP; enum { UT_USER_SIZE = sizeof UT_USER ((STRUCT_UTMP *) 0) }; # if !defined UTMP_FILE && defined _PATH_UTMP # define UTMP_FILE _PATH_UTMP # endif # if !defined WTMP_FILE && defined _PATH_WTMP # define WTMP_FILE _PATH_WTMP # endif # ifdef UTMPX_FILE /* Solaris, SysVr4 */ # undef UTMP_FILE # define UTMP_FILE UTMPX_FILE # endif # ifdef WTMPX_FILE /* Solaris, SysVr4 */ # undef WTMP_FILE # define WTMP_FILE WTMPX_FILE # endif # ifndef UTMP_FILE # define UTMP_FILE "/etc/utmp" # endif # ifndef WTMP_FILE # define WTMP_FILE "/etc/wtmp" # endif # if HAVE_STRUCT_XTMP_UT_PID # define UT_PID(U) ((U)->ut_pid) # else # define UT_PID(U) 0 # endif # if HAVE_STRUCT_UTMP_UT_TYPE || HAVE_STRUCT_UTMPX_UT_TYPE # define UT_TYPE_EQ(U, V) ((U)->ut_type == (V)) # define UT_TYPE_NOT_DEFINED 0 # else # define UT_TYPE_EQ(U, V) 0 # define UT_TYPE_NOT_DEFINED 1 # endif # ifdef BOOT_TIME # define UT_TYPE_BOOT_TIME(U) UT_TYPE_EQ (U, BOOT_TIME) # else # define UT_TYPE_BOOT_TIME(U) 0 # endif # ifdef USER_PROCESS # define UT_TYPE_USER_PROCESS(U) UT_TYPE_EQ (U, USER_PROCESS) # else # define UT_TYPE_USER_PROCESS(U) 0 # endif # define IS_USER_PROCESS(U) \ (UT_USER (U)[0] \ && (UT_TYPE_USER_PROCESS (U) \ || (UT_TYPE_NOT_DEFINED && UT_TIME_MEMBER (U) != 0))) /* Options for read_utmp. */ enum { READ_UTMP_CHECK_PIDS = 1, READ_UTMP_USER_PROCESS = 2 }; char *extract_trimmed_name (const STRUCT_UTMP *ut); int read_utmp (char const *file, size_t *n_entries, STRUCT_UTMP **utmp_buf, int options); #endif /* __READUTMP_H__ */ dc3dd-7.1.614/lib/mbswidth.c0000644000175000017500000001136011022023316015161 0ustar amedicoamedico/* Determine the number of screen columns needed for a string. Copyright (C) 2000-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Bruno Haible . */ #include /* Specification. */ #include "mbswidth.h" /* Get MB_CUR_MAX. */ #include #include /* Get isprint(). */ #include /* Get mbstate_t, mbrtowc(), mbsinit(), wcwidth(). */ #include /* Get iswcntrl(). */ #include #ifndef mbsinit # if !HAVE_MBSINIT # define mbsinit(ps) 1 # endif #endif /* Returns the number of columns needed to represent the multibyte character string pointed to by STRING. If a non-printable character occurs, and MBSW_REJECT_UNPRINTABLE is specified, -1 is returned. With flags = MBSW_REJECT_INVALID | MBSW_REJECT_UNPRINTABLE, this is the multibyte analogue of the wcswidth function. If STRING is not of length < INT_MAX / 2, integer overflow can occur. */ int mbswidth (const char *string, int flags) { return mbsnwidth (string, strlen (string), flags); } /* Returns the number of columns needed to represent the multibyte character string pointed to by STRING of length NBYTES. If a non-printable character occurs, and MBSW_REJECT_UNPRINTABLE is specified, -1 is returned. If NBYTES is not < INT_MAX / 2, integer overflow can occur. */ int mbsnwidth (const char *string, size_t nbytes, int flags) { const char *p = string; const char *plimit = p + nbytes; int width; width = 0; #if HAVE_MBRTOWC if (MB_CUR_MAX > 1) { while (p < plimit) switch (*p) { case ' ': case '!': case '"': case '#': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': /* These characters are printable ASCII characters. */ p++; width++; break; default: /* If we have a multibyte sequence, scan it up to its end. */ { mbstate_t mbstate; memset (&mbstate, 0, sizeof mbstate); do { wchar_t wc; size_t bytes; int w; bytes = mbrtowc (&wc, p, plimit - p, &mbstate); if (bytes == (size_t) -1) /* An invalid multibyte sequence was encountered. */ { if (!(flags & MBSW_REJECT_INVALID)) { p++; width++; break; } else return -1; } if (bytes == (size_t) -2) /* An incomplete multibyte character at the end. */ { if (!(flags & MBSW_REJECT_INVALID)) { p = plimit; width++; break; } else return -1; } if (bytes == 0) /* A null wide character was encountered. */ bytes = 1; w = wcwidth (wc); if (w >= 0) /* A printable multibyte character. */ width += w; else /* An unprintable multibyte character. */ if (!(flags & MBSW_REJECT_UNPRINTABLE)) width += (iswcntrl (wc) ? 0 : 1); else return -1; p += bytes; } while (! mbsinit (&mbstate)); } break; } return width; } #endif while (p < plimit) { unsigned char c = (unsigned char) *p++; if (isprint (c)) width++; else if (!(flags & MBSW_REJECT_UNPRINTABLE)) width += (iscntrl (c) ? 0 : 1); else return -1; } return width; } dc3dd-7.1.614/lib/regex_internal.c0000644000175000017500000013560711064230667016400 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Extended regular expression matching and search library. Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ static void re_string_construct_common (const char *str, Idx len, re_string_t *pstr, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) internal_function; static re_dfastate_t *create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, re_hashval_t hash) internal_function; static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context, re_hashval_t hash) internal_function; /* Functions for string operation. */ /* This function allocate the buffers. It is necessary to call re_string_reconstruct before using the object. */ static reg_errcode_t internal_function re_string_allocate (re_string_t *pstr, const char *str, Idx len, Idx init_len, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { reg_errcode_t ret; Idx init_buf_len; /* Ensure at least one character fits into the buffers. */ if (init_len < dfa->mb_cur_max) init_len = dfa->mb_cur_max; init_buf_len = (len + 1 < init_len) ? len + 1: init_len; re_string_construct_common (str, len, pstr, trans, icase, dfa); ret = re_string_realloc_buffers (pstr, init_buf_len); if (BE (ret != REG_NOERROR, 0)) return ret; pstr->word_char = dfa->word_char; pstr->word_ops_used = dfa->word_ops_used; pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str; pstr->valid_len = (pstr->mbs_allocated || dfa->mb_cur_max > 1) ? 0 : len; pstr->valid_raw_len = pstr->valid_len; return REG_NOERROR; } /* This function allocate the buffers, and initialize them. */ static reg_errcode_t internal_function re_string_construct (re_string_t *pstr, const char *str, Idx len, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { reg_errcode_t ret; memset (pstr, '\0', sizeof (re_string_t)); re_string_construct_common (str, len, pstr, trans, icase, dfa); if (len > 0) { ret = re_string_realloc_buffers (pstr, len + 1); if (BE (ret != REG_NOERROR, 0)) return ret; } pstr->mbs = pstr->mbs_allocated ? pstr->mbs : (unsigned char *) str; if (icase) { #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) { while (1) { ret = build_wcs_upper_buffer (pstr); if (BE (ret != REG_NOERROR, 0)) return ret; if (pstr->valid_raw_len >= len) break; if (pstr->bufs_len > pstr->valid_len + dfa->mb_cur_max) break; ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2); if (BE (ret != REG_NOERROR, 0)) return ret; } } else #endif /* RE_ENABLE_I18N */ build_upper_buffer (pstr); } else { #ifdef RE_ENABLE_I18N if (dfa->mb_cur_max > 1) build_wcs_buffer (pstr); else #endif /* RE_ENABLE_I18N */ { if (trans != NULL) re_string_translate_buffer (pstr); else { pstr->valid_len = pstr->bufs_len; pstr->valid_raw_len = pstr->bufs_len; } } } return REG_NOERROR; } /* Helper functions for re_string_allocate, and re_string_construct. */ static reg_errcode_t internal_function re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) { #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { wint_t *new_wcs; /* Avoid overflow. */ size_t max_object_size = MAX (sizeof (wint_t), sizeof (Idx)); if (BE (SIZE_MAX / max_object_size < new_buf_len, 0)) return REG_ESPACE; new_wcs = re_realloc (pstr->wcs, wint_t, new_buf_len); if (BE (new_wcs == NULL, 0)) return REG_ESPACE; pstr->wcs = new_wcs; if (pstr->offsets != NULL) { Idx *new_offsets = re_realloc (pstr->offsets, Idx, new_buf_len); if (BE (new_offsets == NULL, 0)) return REG_ESPACE; pstr->offsets = new_offsets; } } #endif /* RE_ENABLE_I18N */ if (pstr->mbs_allocated) { unsigned char *new_mbs = re_realloc (pstr->mbs, unsigned char, new_buf_len); if (BE (new_mbs == NULL, 0)) return REG_ESPACE; pstr->mbs = new_mbs; } pstr->bufs_len = new_buf_len; return REG_NOERROR; } static void internal_function re_string_construct_common (const char *str, Idx len, re_string_t *pstr, RE_TRANSLATE_TYPE trans, bool icase, const re_dfa_t *dfa) { pstr->raw_mbs = (const unsigned char *) str; pstr->len = len; pstr->raw_len = len; pstr->trans = trans; pstr->icase = icase; pstr->mbs_allocated = (trans != NULL || icase); pstr->mb_cur_max = dfa->mb_cur_max; pstr->is_utf8 = dfa->is_utf8; pstr->map_notascii = dfa->map_notascii; pstr->stop = pstr->len; pstr->raw_stop = pstr->stop; } #ifdef RE_ENABLE_I18N /* Build wide character buffer PSTR->WCS. If the byte sequence of the string are: (0), (1), (0), (1), Then wide character buffer will be: , WEOF , , WEOF , We use WEOF for padding, they indicate that the position isn't a first byte of a multibyte character. Note that this function assumes PSTR->VALID_LEN elements are already built and starts from PSTR->VALID_LEN. */ static void internal_function build_wcs_buffer (re_string_t *pstr) { #ifdef _LIBC unsigned char buf[MB_LEN_MAX]; assert (MB_LEN_MAX >= pstr->mb_cur_max); #else unsigned char buf[64]; #endif mbstate_t prev_st; Idx byte_idx, end_idx, remain_len; size_t mbclen; /* Build the buffers from pstr->valid_len to either pstr->len or pstr->bufs_len. */ end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; for (byte_idx = pstr->valid_len; byte_idx < end_idx;) { wchar_t wc; const char *p; remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; /* Apply the translation if we need. */ if (BE (pstr->trans != NULL, 0)) { int i, ch; for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i) { ch = pstr->raw_mbs [pstr->raw_mbs_idx + byte_idx + i]; buf[i] = pstr->mbs[byte_idx + i] = pstr->trans[ch]; } p = (const char *) buf; } else p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx; mbclen = mbrtowc (&wc, p, remain_len, &pstr->cur_state); if (BE (mbclen == (size_t) -2, 0)) { /* The buffer doesn't have enough space, finish to build. */ pstr->cur_state = prev_st; break; } else if (BE (mbclen == (size_t) -1 || mbclen == 0, 0)) { /* We treat these cases as a singlebyte character. */ mbclen = 1; wc = (wchar_t) pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]; if (BE (pstr->trans != NULL, 0)) wc = pstr->trans[wc]; pstr->cur_state = prev_st; } /* Write wide character and padding. */ pstr->wcs[byte_idx++] = wc; /* Write paddings. */ for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } pstr->valid_len = byte_idx; pstr->valid_raw_len = byte_idx; } /* Build wide character buffer PSTR->WCS like build_wcs_buffer, but for REG_ICASE. */ static reg_errcode_t internal_function build_wcs_upper_buffer (re_string_t *pstr) { mbstate_t prev_st; Idx src_idx, byte_idx, end_idx, remain_len; size_t mbclen; #ifdef _LIBC char buf[MB_LEN_MAX]; assert (MB_LEN_MAX >= pstr->mb_cur_max); #else char buf[64]; #endif byte_idx = pstr->valid_len; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; /* The following optimization assumes that ASCII characters can be mapped to wide characters with a simple cast. */ if (! pstr->map_notascii && pstr->trans == NULL && !pstr->offsets_needed) { while (byte_idx < end_idx) { wchar_t wc; if (isascii (pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]) && mbsinit (&pstr->cur_state)) { /* In case of a singlebyte character. */ pstr->mbs[byte_idx] = toupper (pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]); /* The next step uses the assumption that wchar_t is encoded ASCII-safe: all ASCII values can be converted like this. */ pstr->wcs[byte_idx] = (wchar_t) pstr->mbs[byte_idx]; ++byte_idx; continue; } remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; mbclen = mbrtowc (&wc, ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx), remain_len, &pstr->cur_state); if (BE (mbclen < (size_t) -2, 1)) { wchar_t wcu = wc; if (iswlower (wc)) { size_t mbcdlen; wcu = towupper (wc); mbcdlen = wcrtomb (buf, wcu, &prev_st); if (BE (mbclen == mbcdlen, 1)) memcpy (pstr->mbs + byte_idx, buf, mbclen); else { src_idx = byte_idx; goto offsets_needed; } } else memcpy (pstr->mbs + byte_idx, pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx, mbclen); pstr->wcs[byte_idx++] = wcu; /* Write paddings. */ for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } else if (mbclen == (size_t) -1 || mbclen == 0) { /* It is an invalid character or '\0'. Just use the byte. */ int ch = pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx]; pstr->mbs[byte_idx] = ch; /* And also cast it to wide char. */ pstr->wcs[byte_idx++] = (wchar_t) ch; if (BE (mbclen == (size_t) -1, 0)) pstr->cur_state = prev_st; } else { /* The buffer doesn't have enough space, finish to build. */ pstr->cur_state = prev_st; break; } } pstr->valid_len = byte_idx; pstr->valid_raw_len = byte_idx; return REG_NOERROR; } else for (src_idx = pstr->valid_raw_len; byte_idx < end_idx;) { wchar_t wc; const char *p; offsets_needed: remain_len = end_idx - byte_idx; prev_st = pstr->cur_state; if (BE (pstr->trans != NULL, 0)) { int i, ch; for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i) { ch = pstr->raw_mbs [pstr->raw_mbs_idx + src_idx + i]; buf[i] = pstr->trans[ch]; } p = (const char *) buf; } else p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + src_idx; mbclen = mbrtowc (&wc, p, remain_len, &pstr->cur_state); if (BE (mbclen < (size_t) -2, 1)) { wchar_t wcu = wc; if (iswlower (wc)) { size_t mbcdlen; wcu = towupper (wc); mbcdlen = wcrtomb ((char *) buf, wcu, &prev_st); if (BE (mbclen == mbcdlen, 1)) memcpy (pstr->mbs + byte_idx, buf, mbclen); else if (mbcdlen != (size_t) -1) { size_t i; if (byte_idx + mbcdlen > pstr->bufs_len) { pstr->cur_state = prev_st; break; } if (pstr->offsets == NULL) { pstr->offsets = re_malloc (Idx, pstr->bufs_len); if (pstr->offsets == NULL) return REG_ESPACE; } if (!pstr->offsets_needed) { for (i = 0; i < (size_t) byte_idx; ++i) pstr->offsets[i] = i; pstr->offsets_needed = 1; } memcpy (pstr->mbs + byte_idx, buf, mbcdlen); pstr->wcs[byte_idx] = wcu; pstr->offsets[byte_idx] = src_idx; for (i = 1; i < mbcdlen; ++i) { pstr->offsets[byte_idx + i] = src_idx + (i < mbclen ? i : mbclen - 1); pstr->wcs[byte_idx + i] = WEOF; } pstr->len += mbcdlen - mbclen; if (pstr->raw_stop > src_idx) pstr->stop += mbcdlen - mbclen; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; byte_idx += mbcdlen; src_idx += mbclen; continue; } else memcpy (pstr->mbs + byte_idx, p, mbclen); } else memcpy (pstr->mbs + byte_idx, p, mbclen); if (BE (pstr->offsets_needed != 0, 0)) { size_t i; for (i = 0; i < mbclen; ++i) pstr->offsets[byte_idx + i] = src_idx + i; } src_idx += mbclen; pstr->wcs[byte_idx++] = wcu; /* Write paddings. */ for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;) pstr->wcs[byte_idx++] = WEOF; } else if (mbclen == (size_t) -1 || mbclen == 0) { /* It is an invalid character or '\0'. Just use the byte. */ int ch = pstr->raw_mbs[pstr->raw_mbs_idx + src_idx]; if (BE (pstr->trans != NULL, 0)) ch = pstr->trans [ch]; pstr->mbs[byte_idx] = ch; if (BE (pstr->offsets_needed != 0, 0)) pstr->offsets[byte_idx] = src_idx; ++src_idx; /* And also cast it to wide char. */ pstr->wcs[byte_idx++] = (wchar_t) ch; if (BE (mbclen == (size_t) -1, 0)) pstr->cur_state = prev_st; } else { /* The buffer doesn't have enough space, finish to build. */ pstr->cur_state = prev_st; break; } } pstr->valid_len = byte_idx; pstr->valid_raw_len = src_idx; return REG_NOERROR; } /* Skip characters until the index becomes greater than NEW_RAW_IDX. Return the index. */ static Idx internal_function re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc) { mbstate_t prev_st; Idx rawbuf_idx; size_t mbclen; wint_t wc = WEOF; /* Skip the characters which are not necessary to check. */ for (rawbuf_idx = pstr->raw_mbs_idx + pstr->valid_raw_len; rawbuf_idx < new_raw_idx;) { wchar_t wc2; Idx remain_len; remain_len = pstr->len - rawbuf_idx; prev_st = pstr->cur_state; mbclen = mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx, remain_len, &pstr->cur_state); if (BE (mbclen == (size_t) -2 || mbclen == (size_t) -1 || mbclen == 0, 0)) { /* We treat these cases as a single byte character. */ if (mbclen == 0 || remain_len == 0) wc = L'\0'; else wc = *(unsigned char *) (pstr->raw_mbs + rawbuf_idx); mbclen = 1; pstr->cur_state = prev_st; } else wc = wc2; /* Then proceed the next character. */ rawbuf_idx += mbclen; } *last_wc = wc; return rawbuf_idx; } #endif /* RE_ENABLE_I18N */ /* Build the buffer PSTR->MBS, and apply the translation if we need. This function is used in case of REG_ICASE. */ static void internal_function build_upper_buffer (re_string_t *pstr) { Idx char_idx, end_idx; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; for (char_idx = pstr->valid_len; char_idx < end_idx; ++char_idx) { int ch = pstr->raw_mbs[pstr->raw_mbs_idx + char_idx]; if (BE (pstr->trans != NULL, 0)) ch = pstr->trans[ch]; if (islower (ch)) pstr->mbs[char_idx] = toupper (ch); else pstr->mbs[char_idx] = ch; } pstr->valid_len = char_idx; pstr->valid_raw_len = char_idx; } /* Apply TRANS to the buffer in PSTR. */ static void internal_function re_string_translate_buffer (re_string_t *pstr) { Idx buf_idx, end_idx; end_idx = (pstr->bufs_len > pstr->len) ? pstr->len : pstr->bufs_len; for (buf_idx = pstr->valid_len; buf_idx < end_idx; ++buf_idx) { int ch = pstr->raw_mbs[pstr->raw_mbs_idx + buf_idx]; pstr->mbs[buf_idx] = pstr->trans[ch]; } pstr->valid_len = buf_idx; pstr->valid_raw_len = buf_idx; } /* This function re-construct the buffers. Concretely, convert to wide character in case of pstr->mb_cur_max > 1, convert to upper case in case of REG_ICASE, apply translation. */ static reg_errcode_t internal_function re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) { Idx offset; if (BE (pstr->raw_mbs_idx <= idx, 0)) offset = idx - pstr->raw_mbs_idx; else { /* Reset buffer. */ #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); #endif /* RE_ENABLE_I18N */ pstr->len = pstr->raw_len; pstr->stop = pstr->raw_stop; pstr->valid_len = 0; pstr->raw_mbs_idx = 0; pstr->valid_raw_len = 0; pstr->offsets_needed = 0; pstr->tip_context = ((eflags & REG_NOTBOL) ? CONTEXT_BEGBUF : CONTEXT_NEWLINE | CONTEXT_BEGBUF); if (!pstr->mbs_allocated) pstr->mbs = (unsigned char *) pstr->raw_mbs; offset = idx; } if (BE (offset != 0, 1)) { /* Should the already checked characters be kept? */ if (BE (offset < pstr->valid_raw_len, 1)) { /* Yes, move them to the front of the buffer. */ #ifdef RE_ENABLE_I18N if (BE (pstr->offsets_needed, 0)) { Idx low = 0, high = pstr->valid_len, mid; do { mid = (high + low) / 2; if (pstr->offsets[mid] > offset) high = mid; else if (pstr->offsets[mid] < offset) low = mid + 1; else break; } while (low < high); if (pstr->offsets[mid] < offset) ++mid; pstr->tip_context = re_string_context_at (pstr, mid - 1, eflags); /* This can be quite complicated, so handle specially only the common and easy case where the character with different length representation of lower and upper case is present at or after offset. */ if (pstr->valid_len > offset && mid == offset && pstr->offsets[mid] == offset) { memmove (pstr->wcs, pstr->wcs + offset, (pstr->valid_len - offset) * sizeof (wint_t)); memmove (pstr->mbs, pstr->mbs + offset, pstr->valid_len - offset); pstr->valid_len -= offset; pstr->valid_raw_len -= offset; for (low = 0; low < pstr->valid_len; low++) pstr->offsets[low] = pstr->offsets[low + offset] - offset; } else { /* Otherwise, just find out how long the partial multibyte character at offset is and fill it with WEOF/255. */ pstr->len = pstr->raw_len - idx + offset; pstr->stop = pstr->raw_stop - idx + offset; pstr->offsets_needed = 0; while (mid > 0 && pstr->offsets[mid - 1] == offset) --mid; while (mid < pstr->valid_len) if (pstr->wcs[mid] != WEOF) break; else ++mid; if (mid == pstr->valid_len) pstr->valid_len = 0; else { pstr->valid_len = pstr->offsets[mid] - offset; if (pstr->valid_len) { for (low = 0; low < pstr->valid_len; ++low) pstr->wcs[low] = WEOF; memset (pstr->mbs, 255, pstr->valid_len); } } pstr->valid_raw_len = pstr->valid_len; } } else #endif { pstr->tip_context = re_string_context_at (pstr, offset - 1, eflags); #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) memmove (pstr->wcs, pstr->wcs + offset, (pstr->valid_len - offset) * sizeof (wint_t)); #endif /* RE_ENABLE_I18N */ if (BE (pstr->mbs_allocated, 0)) memmove (pstr->mbs, pstr->mbs + offset, pstr->valid_len - offset); pstr->valid_len -= offset; pstr->valid_raw_len -= offset; #if DEBUG assert (pstr->valid_len > 0); #endif } } else { /* No, skip all characters until IDX. */ Idx prev_valid_len = pstr->valid_len; #ifdef RE_ENABLE_I18N if (BE (pstr->offsets_needed, 0)) { pstr->len = pstr->raw_len - idx + offset; pstr->stop = pstr->raw_stop - idx + offset; pstr->offsets_needed = 0; } #endif pstr->valid_len = 0; #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { Idx wcs_idx; wint_t wc = WEOF; if (pstr->is_utf8) { const unsigned char *raw, *p, *end; /* Special case UTF-8. Multi-byte chars start with any byte other than 0x80 - 0xbf. */ raw = pstr->raw_mbs + pstr->raw_mbs_idx; end = raw + (offset - pstr->mb_cur_max); if (end < pstr->raw_mbs) end = pstr->raw_mbs; p = raw + offset - 1; #ifdef _LIBC /* We know the wchar_t encoding is UCS4, so for the simple case, ASCII characters, skip the conversion step. */ if (isascii (*p) && BE (pstr->trans == NULL, 1)) { memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); /* pstr->valid_len = 0; */ wc = (wchar_t) *p; } else #endif for (; p >= end; --p) if ((*p & 0xc0) != 0x80) { mbstate_t cur_state; wchar_t wc2; Idx mlen = raw + pstr->len - p; unsigned char buf[6]; size_t mbclen; if (BE (pstr->trans != NULL, 0)) { int i = mlen < 6 ? mlen : 6; while (--i >= 0) buf[i] = pstr->trans[p[i]]; } /* XXX Don't use mbrtowc, we know which conversion to use (UTF-8 -> UCS4). */ memset (&cur_state, 0, sizeof (cur_state)); mbclen = mbrtowc (&wc2, (const char *) p, mlen, &cur_state); if (raw + offset - p <= mbclen && mbclen < (size_t) -2) { memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); pstr->valid_len = mbclen - (raw + offset - p); wc = wc2; } break; } } if (wc == WEOF) pstr->valid_len = re_string_skip_chars (pstr, idx, &wc) - idx; if (wc == WEOF) pstr->tip_context = re_string_context_at (pstr, prev_valid_len - 1, eflags); else pstr->tip_context = ((BE (pstr->word_ops_used != 0, 0) && IS_WIDE_WORD_CHAR (wc)) ? CONTEXT_WORD : ((IS_WIDE_NEWLINE (wc) && pstr->newline_anchor) ? CONTEXT_NEWLINE : 0)); if (BE (pstr->valid_len, 0)) { for (wcs_idx = 0; wcs_idx < pstr->valid_len; ++wcs_idx) pstr->wcs[wcs_idx] = WEOF; if (pstr->mbs_allocated) memset (pstr->mbs, 255, pstr->valid_len); } pstr->valid_raw_len = pstr->valid_len; } else #endif /* RE_ENABLE_I18N */ { int c = pstr->raw_mbs[pstr->raw_mbs_idx + offset - 1]; pstr->valid_raw_len = 0; if (pstr->trans) c = pstr->trans[c]; pstr->tip_context = (bitset_contain (pstr->word_char, c) ? CONTEXT_WORD : ((IS_NEWLINE (c) && pstr->newline_anchor) ? CONTEXT_NEWLINE : 0)); } } if (!BE (pstr->mbs_allocated, 0)) pstr->mbs += offset; } pstr->raw_mbs_idx = idx; pstr->len -= offset; pstr->stop -= offset; /* Then build the buffers. */ #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1) { if (pstr->icase) { reg_errcode_t ret = build_wcs_upper_buffer (pstr); if (BE (ret != REG_NOERROR, 0)) return ret; } else build_wcs_buffer (pstr); } else #endif /* RE_ENABLE_I18N */ if (BE (pstr->mbs_allocated, 0)) { if (pstr->icase) build_upper_buffer (pstr); else if (pstr->trans != NULL) re_string_translate_buffer (pstr); } else pstr->valid_len = pstr->len; pstr->cur_idx = 0; return REG_NOERROR; } static unsigned char internal_function __attribute ((pure)) re_string_peek_byte_case (const re_string_t *pstr, Idx idx) { int ch; Idx off; /* Handle the common (easiest) cases first. */ if (BE (!pstr->mbs_allocated, 1)) return re_string_peek_byte (pstr, idx); #ifdef RE_ENABLE_I18N if (pstr->mb_cur_max > 1 && ! re_string_is_single_byte_char (pstr, pstr->cur_idx + idx)) return re_string_peek_byte (pstr, idx); #endif off = pstr->cur_idx + idx; #ifdef RE_ENABLE_I18N if (pstr->offsets_needed) off = pstr->offsets[off]; #endif ch = pstr->raw_mbs[pstr->raw_mbs_idx + off]; #ifdef RE_ENABLE_I18N /* Ensure that e.g. for tr_TR.UTF-8 BACKSLASH DOTLESS SMALL LETTER I this function returns CAPITAL LETTER I instead of first byte of DOTLESS SMALL LETTER I. The latter would confuse the parser, since peek_byte_case doesn't advance cur_idx in any way. */ if (pstr->offsets_needed && !isascii (ch)) return re_string_peek_byte (pstr, idx); #endif return ch; } static unsigned char internal_function __attribute ((pure)) re_string_fetch_byte_case (re_string_t *pstr) { if (BE (!pstr->mbs_allocated, 1)) return re_string_fetch_byte (pstr); #ifdef RE_ENABLE_I18N if (pstr->offsets_needed) { Idx off; int ch; /* For tr_TR.UTF-8 [[:islower:]] there is [[: CAPITAL LETTER I WITH DOT lower:]] in mbs. Skip in that case the whole multi-byte character and return the original letter. On the other side, with [[: DOTLESS SMALL LETTER I return [[:I, as doing anything else would complicate things too much. */ if (!re_string_first_byte (pstr, pstr->cur_idx)) return re_string_fetch_byte (pstr); off = pstr->offsets[pstr->cur_idx]; ch = pstr->raw_mbs[pstr->raw_mbs_idx + off]; if (! isascii (ch)) return re_string_fetch_byte (pstr); re_string_skip_bytes (pstr, re_string_char_size_at (pstr, pstr->cur_idx)); return ch; } #endif return pstr->raw_mbs[pstr->raw_mbs_idx + pstr->cur_idx++]; } static void internal_function re_string_destruct (re_string_t *pstr) { #ifdef RE_ENABLE_I18N re_free (pstr->wcs); re_free (pstr->offsets); #endif /* RE_ENABLE_I18N */ if (pstr->mbs_allocated) re_free (pstr->mbs); } /* Return the context at IDX in INPUT. */ static unsigned int internal_function re_string_context_at (const re_string_t *input, Idx idx, int eflags) { int c; if (BE (! REG_VALID_INDEX (idx), 0)) /* In this case, we use the value stored in input->tip_context, since we can't know the character in input->mbs[-1] here. */ return input->tip_context; if (BE (idx == input->len, 0)) return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF : CONTEXT_NEWLINE | CONTEXT_ENDBUF); #ifdef RE_ENABLE_I18N if (input->mb_cur_max > 1) { wint_t wc; Idx wc_idx = idx; while(input->wcs[wc_idx] == WEOF) { #ifdef DEBUG /* It must not happen. */ assert (REG_VALID_INDEX (wc_idx)); #endif --wc_idx; if (! REG_VALID_INDEX (wc_idx)) return input->tip_context; } wc = input->wcs[wc_idx]; if (BE (input->word_ops_used != 0, 0) && IS_WIDE_WORD_CHAR (wc)) return CONTEXT_WORD; return (IS_WIDE_NEWLINE (wc) && input->newline_anchor ? CONTEXT_NEWLINE : 0); } else #endif { c = re_string_byte_at (input, idx); if (bitset_contain (input->word_char, c)) return CONTEXT_WORD; return IS_NEWLINE (c) && input->newline_anchor ? CONTEXT_NEWLINE : 0; } } /* Functions for set operation. */ static reg_errcode_t internal_function re_node_set_alloc (re_node_set *set, Idx size) { set->alloc = size; set->nelem = 0; set->elems = re_malloc (Idx, size); if (BE (set->elems == NULL, 0)) return REG_ESPACE; return REG_NOERROR; } static reg_errcode_t internal_function re_node_set_init_1 (re_node_set *set, Idx elem) { set->alloc = 1; set->nelem = 1; set->elems = re_malloc (Idx, 1); if (BE (set->elems == NULL, 0)) { set->alloc = set->nelem = 0; return REG_ESPACE; } set->elems[0] = elem; return REG_NOERROR; } static reg_errcode_t internal_function re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2) { set->alloc = 2; set->elems = re_malloc (Idx, 2); if (BE (set->elems == NULL, 0)) return REG_ESPACE; if (elem1 == elem2) { set->nelem = 1; set->elems[0] = elem1; } else { set->nelem = 2; if (elem1 < elem2) { set->elems[0] = elem1; set->elems[1] = elem2; } else { set->elems[0] = elem2; set->elems[1] = elem1; } } return REG_NOERROR; } static reg_errcode_t internal_function re_node_set_init_copy (re_node_set *dest, const re_node_set *src) { dest->nelem = src->nelem; if (src->nelem > 0) { dest->alloc = dest->nelem; dest->elems = re_malloc (Idx, dest->alloc); if (BE (dest->elems == NULL, 0)) { dest->alloc = dest->nelem = 0; return REG_ESPACE; } memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx)); } else re_node_set_init_empty (dest); return REG_NOERROR; } /* Calculate the intersection of the sets SRC1 and SRC2. And merge it to DEST. Return value indicate the error code or REG_NOERROR if succeeded. Note: We assume dest->elems is NULL, when dest->alloc is 0. */ static reg_errcode_t internal_function re_node_set_add_intersect (re_node_set *dest, const re_node_set *src1, const re_node_set *src2) { Idx i1, i2, is, id, delta, sbase; if (src1->nelem == 0 || src2->nelem == 0) return REG_NOERROR; /* We need dest->nelem + 2 * elems_in_intersection; this is a conservative estimate. */ if (src1->nelem + src2->nelem + dest->nelem > dest->alloc) { Idx new_alloc = src1->nelem + src2->nelem + dest->alloc; Idx *new_elems = re_realloc (dest->elems, Idx, new_alloc); if (BE (new_elems == NULL, 0)) return REG_ESPACE; dest->elems = new_elems; dest->alloc = new_alloc; } /* Find the items in the intersection of SRC1 and SRC2, and copy into the top of DEST those that are not already in DEST itself. */ sbase = dest->nelem + src1->nelem + src2->nelem; i1 = src1->nelem - 1; i2 = src2->nelem - 1; id = dest->nelem - 1; for (;;) { if (src1->elems[i1] == src2->elems[i2]) { /* Try to find the item in DEST. Maybe we could binary search? */ while (REG_VALID_INDEX (id) && dest->elems[id] > src1->elems[i1]) --id; if (! REG_VALID_INDEX (id) || dest->elems[id] != src1->elems[i1]) dest->elems[--sbase] = src1->elems[i1]; if (! REG_VALID_INDEX (--i1) || ! REG_VALID_INDEX (--i2)) break; } /* Lower the highest of the two items. */ else if (src1->elems[i1] < src2->elems[i2]) { if (! REG_VALID_INDEX (--i2)) break; } else { if (! REG_VALID_INDEX (--i1)) break; } } id = dest->nelem - 1; is = dest->nelem + src1->nelem + src2->nelem - 1; delta = is - sbase + 1; /* Now copy. When DELTA becomes zero, the remaining DEST elements are already in place; this is more or less the same loop that is in re_node_set_merge. */ dest->nelem += delta; if (delta > 0 && REG_VALID_INDEX (id)) for (;;) { if (dest->elems[is] > dest->elems[id]) { /* Copy from the top. */ dest->elems[id + delta--] = dest->elems[is--]; if (delta == 0) break; } else { /* Slide from the bottom. */ dest->elems[id + delta] = dest->elems[id]; if (! REG_VALID_INDEX (--id)) break; } } /* Copy remaining SRC elements. */ memcpy (dest->elems, dest->elems + sbase, delta * sizeof (Idx)); return REG_NOERROR; } /* Calculate the union set of the sets SRC1 and SRC2. And store it to DEST. Return value indicate the error code or REG_NOERROR if succeeded. */ static reg_errcode_t internal_function re_node_set_init_union (re_node_set *dest, const re_node_set *src1, const re_node_set *src2) { Idx i1, i2, id; if (src1 != NULL && src1->nelem > 0 && src2 != NULL && src2->nelem > 0) { dest->alloc = src1->nelem + src2->nelem; dest->elems = re_malloc (Idx, dest->alloc); if (BE (dest->elems == NULL, 0)) return REG_ESPACE; } else { if (src1 != NULL && src1->nelem > 0) return re_node_set_init_copy (dest, src1); else if (src2 != NULL && src2->nelem > 0) return re_node_set_init_copy (dest, src2); else re_node_set_init_empty (dest); return REG_NOERROR; } for (i1 = i2 = id = 0 ; i1 < src1->nelem && i2 < src2->nelem ;) { if (src1->elems[i1] > src2->elems[i2]) { dest->elems[id++] = src2->elems[i2++]; continue; } if (src1->elems[i1] == src2->elems[i2]) ++i2; dest->elems[id++] = src1->elems[i1++]; } if (i1 < src1->nelem) { memcpy (dest->elems + id, src1->elems + i1, (src1->nelem - i1) * sizeof (Idx)); id += src1->nelem - i1; } else if (i2 < src2->nelem) { memcpy (dest->elems + id, src2->elems + i2, (src2->nelem - i2) * sizeof (Idx)); id += src2->nelem - i2; } dest->nelem = id; return REG_NOERROR; } /* Calculate the union set of the sets DEST and SRC. And store it to DEST. Return value indicate the error code or REG_NOERROR if succeeded. */ static reg_errcode_t internal_function re_node_set_merge (re_node_set *dest, const re_node_set *src) { Idx is, id, sbase, delta; if (src == NULL || src->nelem == 0) return REG_NOERROR; if (dest->alloc < 2 * src->nelem + dest->nelem) { Idx new_alloc = 2 * (src->nelem + dest->alloc); Idx *new_buffer = re_realloc (dest->elems, Idx, new_alloc); if (BE (new_buffer == NULL, 0)) return REG_ESPACE; dest->elems = new_buffer; dest->alloc = new_alloc; } if (BE (dest->nelem == 0, 0)) { dest->nelem = src->nelem; memcpy (dest->elems, src->elems, src->nelem * sizeof (Idx)); return REG_NOERROR; } /* Copy into the top of DEST the items of SRC that are not found in DEST. Maybe we could binary search in DEST? */ for (sbase = dest->nelem + 2 * src->nelem, is = src->nelem - 1, id = dest->nelem - 1; REG_VALID_INDEX (is) && REG_VALID_INDEX (id); ) { if (dest->elems[id] == src->elems[is]) is--, id--; else if (dest->elems[id] < src->elems[is]) dest->elems[--sbase] = src->elems[is--]; else /* if (dest->elems[id] > src->elems[is]) */ --id; } if (REG_VALID_INDEX (is)) { /* If DEST is exhausted, the remaining items of SRC must be unique. */ sbase -= is + 1; memcpy (dest->elems + sbase, src->elems, (is + 1) * sizeof (Idx)); } id = dest->nelem - 1; is = dest->nelem + 2 * src->nelem - 1; delta = is - sbase + 1; if (delta == 0) return REG_NOERROR; /* Now copy. When DELTA becomes zero, the remaining DEST elements are already in place. */ dest->nelem += delta; for (;;) { if (dest->elems[is] > dest->elems[id]) { /* Copy from the top. */ dest->elems[id + delta--] = dest->elems[is--]; if (delta == 0) break; } else { /* Slide from the bottom. */ dest->elems[id + delta] = dest->elems[id]; if (! REG_VALID_INDEX (--id)) { /* Copy remaining SRC elements. */ memcpy (dest->elems, dest->elems + sbase, delta * sizeof (Idx)); break; } } } return REG_NOERROR; } /* Insert the new element ELEM to the re_node_set* SET. SET should not already have ELEM. Return true if successful. */ static bool internal_function re_node_set_insert (re_node_set *set, Idx elem) { Idx idx; /* In case the set is empty. */ if (set->alloc == 0) return BE (re_node_set_init_1 (set, elem) == REG_NOERROR, 1); if (BE (set->nelem, 0) == 0) { /* We already guaranteed above that set->alloc != 0. */ set->elems[0] = elem; ++set->nelem; return true; } /* Realloc if we need. */ if (set->alloc == set->nelem) { Idx *new_elems; set->alloc = set->alloc * 2; new_elems = re_realloc (set->elems, Idx, set->alloc); if (BE (new_elems == NULL, 0)) return false; set->elems = new_elems; } /* Move the elements which follows the new element. Test the first element separately to skip a check in the inner loop. */ if (elem < set->elems[0]) { idx = 0; for (idx = set->nelem; idx > 0; idx--) set->elems[idx] = set->elems[idx - 1]; } else { for (idx = set->nelem; set->elems[idx - 1] > elem; idx--) set->elems[idx] = set->elems[idx - 1]; } /* Insert the new element. */ set->elems[idx] = elem; ++set->nelem; return true; } /* Insert the new element ELEM to the re_node_set* SET. SET should not already have any element greater than or equal to ELEM. Return true if successful. */ static bool internal_function re_node_set_insert_last (re_node_set *set, Idx elem) { /* Realloc if we need. */ if (set->alloc == set->nelem) { Idx *new_elems; set->alloc = (set->alloc + 1) * 2; new_elems = re_realloc (set->elems, Idx, set->alloc); if (BE (new_elems == NULL, 0)) return false; set->elems = new_elems; } /* Insert the new element. */ set->elems[set->nelem++] = elem; return true; } /* Compare two node sets SET1 and SET2. Return true if SET1 and SET2 are equivalent. */ static bool internal_function __attribute ((pure)) re_node_set_compare (const re_node_set *set1, const re_node_set *set2) { Idx i; if (set1 == NULL || set2 == NULL || set1->nelem != set2->nelem) return false; for (i = set1->nelem ; REG_VALID_INDEX (--i) ; ) if (set1->elems[i] != set2->elems[i]) return false; return true; } /* Return (idx + 1) if SET contains the element ELEM, return 0 otherwise. */ static Idx internal_function __attribute ((pure)) re_node_set_contains (const re_node_set *set, Idx elem) { __re_size_t idx, right, mid; if (! REG_VALID_NONZERO_INDEX (set->nelem)) return 0; /* Binary search the element. */ idx = 0; right = set->nelem - 1; while (idx < right) { mid = (idx + right) / 2; if (set->elems[mid] < elem) idx = mid + 1; else right = mid; } return set->elems[idx] == elem ? idx + 1 : 0; } static void internal_function re_node_set_remove_at (re_node_set *set, Idx idx) { if (idx < 0 || idx >= set->nelem) return; --set->nelem; for (; idx < set->nelem; idx++) set->elems[idx] = set->elems[idx + 1]; } /* Add the token TOKEN to dfa->nodes, and return the index of the token. Or return REG_MISSING if an error occurred. */ static Idx internal_function re_dfa_add_node (re_dfa_t *dfa, re_token_t token) { if (BE (dfa->nodes_len >= dfa->nodes_alloc, 0)) { size_t new_nodes_alloc = dfa->nodes_alloc * 2; Idx *new_nexts, *new_indices; re_node_set *new_edests, *new_eclosures; re_token_t *new_nodes; size_t max_object_size = MAX (sizeof (re_token_t), MAX (sizeof (re_node_set), sizeof (Idx))); /* Avoid overflows. */ if (BE (SIZE_MAX / 2 / max_object_size < dfa->nodes_alloc, 0)) return REG_MISSING; new_nodes = re_realloc (dfa->nodes, re_token_t, new_nodes_alloc); if (BE (new_nodes == NULL, 0)) return REG_MISSING; dfa->nodes = new_nodes; new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc); new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc); new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc); new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc); if (BE (new_nexts == NULL || new_indices == NULL || new_edests == NULL || new_eclosures == NULL, 0)) return REG_MISSING; dfa->nexts = new_nexts; dfa->org_indices = new_indices; dfa->edests = new_edests; dfa->eclosures = new_eclosures; dfa->nodes_alloc = new_nodes_alloc; } dfa->nodes[dfa->nodes_len] = token; dfa->nodes[dfa->nodes_len].constraint = 0; #ifdef RE_ENABLE_I18N { int type = token.type; dfa->nodes[dfa->nodes_len].accept_mb = (type == OP_PERIOD && dfa->mb_cur_max > 1) || type == COMPLEX_BRACKET; } #endif dfa->nexts[dfa->nodes_len] = REG_MISSING; re_node_set_init_empty (dfa->edests + dfa->nodes_len); re_node_set_init_empty (dfa->eclosures + dfa->nodes_len); return dfa->nodes_len++; } static inline re_hashval_t internal_function calc_state_hash (const re_node_set *nodes, unsigned int context) { re_hashval_t hash = nodes->nelem + context; Idx i; for (i = 0 ; i < nodes->nelem ; i++) hash += nodes->elems[i]; return hash; } /* Search for the state whose node_set is equivalent to NODES. Return the pointer to the state, if we found it in the DFA. Otherwise create the new one and return it. In case of an error return NULL and set the error code in ERR. Note: - We assume NULL as the invalid state, then it is possible that return value is NULL and ERR is REG_NOERROR. - We never return non-NULL value in case of any errors, it is for optimization. */ static re_dfastate_t * internal_function re_acquire_state (reg_errcode_t *err, const re_dfa_t *dfa, const re_node_set *nodes) { re_hashval_t hash; re_dfastate_t *new_state; struct re_state_table_entry *spot; Idx i; #ifdef lint /* Suppress bogus uninitialized-variable warnings. */ *err = REG_NOERROR; #endif if (BE (nodes->nelem == 0, 0)) { *err = REG_NOERROR; return NULL; } hash = calc_state_hash (nodes, 0); spot = dfa->state_table + (hash & dfa->state_hash_mask); for (i = 0 ; i < spot->num ; i++) { re_dfastate_t *state = spot->array[i]; if (hash != state->hash) continue; if (re_node_set_compare (&state->nodes, nodes)) return state; } /* There are no appropriate state in the dfa, create the new one. */ new_state = create_ci_newstate (dfa, nodes, hash); if (BE (new_state == NULL, 0)) *err = REG_ESPACE; return new_state; } /* Search for the state whose node_set is equivalent to NODES and whose context is equivalent to CONTEXT. Return the pointer to the state, if we found it in the DFA. Otherwise create the new one and return it. In case of an error return NULL and set the error code in ERR. Note: - We assume NULL as the invalid state, then it is possible that return value is NULL and ERR is REG_NOERROR. - We never return non-NULL value in case of any errors, it is for optimization. */ static re_dfastate_t * internal_function re_acquire_state_context (reg_errcode_t *err, const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context) { re_hashval_t hash; re_dfastate_t *new_state; struct re_state_table_entry *spot; Idx i; #ifdef lint /* Suppress bogus uninitialized-variable warnings. */ *err = REG_NOERROR; #endif if (nodes->nelem == 0) { *err = REG_NOERROR; return NULL; } hash = calc_state_hash (nodes, context); spot = dfa->state_table + (hash & dfa->state_hash_mask); for (i = 0 ; i < spot->num ; i++) { re_dfastate_t *state = spot->array[i]; if (state->hash == hash && state->context == context && re_node_set_compare (state->entrance_nodes, nodes)) return state; } /* There are no appropriate state in `dfa', create the new one. */ new_state = create_cd_newstate (dfa, nodes, context, hash); if (BE (new_state == NULL, 0)) *err = REG_ESPACE; return new_state; } /* Finish initialization of the new state NEWSTATE, and using its hash value HASH put in the appropriate bucket of DFA's state table. Return value indicates the error code if failed. */ static reg_errcode_t register_state (const re_dfa_t *dfa, re_dfastate_t *newstate, re_hashval_t hash) { struct re_state_table_entry *spot; reg_errcode_t err; Idx i; newstate->hash = hash; err = re_node_set_alloc (&newstate->non_eps_nodes, newstate->nodes.nelem); if (BE (err != REG_NOERROR, 0)) return REG_ESPACE; for (i = 0; i < newstate->nodes.nelem; i++) { Idx elem = newstate->nodes.elems[i]; if (!IS_EPSILON_NODE (dfa->nodes[elem].type)) if (BE (! re_node_set_insert_last (&newstate->non_eps_nodes, elem), 0)) return REG_ESPACE; } spot = dfa->state_table + (hash & dfa->state_hash_mask); if (BE (spot->alloc <= spot->num, 0)) { Idx new_alloc = 2 * spot->num + 2; re_dfastate_t **new_array = re_realloc (spot->array, re_dfastate_t *, new_alloc); if (BE (new_array == NULL, 0)) return REG_ESPACE; spot->array = new_array; spot->alloc = new_alloc; } spot->array[spot->num++] = newstate; return REG_NOERROR; } static void free_state (re_dfastate_t *state) { re_node_set_free (&state->non_eps_nodes); re_node_set_free (&state->inveclosure); if (state->entrance_nodes != &state->nodes) { re_node_set_free (state->entrance_nodes); re_free (state->entrance_nodes); } re_node_set_free (&state->nodes); re_free (state->word_trtable); re_free (state->trtable); re_free (state); } /* Create the new state which is independ of contexts. Return the new state if succeeded, otherwise return NULL. */ static re_dfastate_t * internal_function create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, re_hashval_t hash) { Idx i; reg_errcode_t err; re_dfastate_t *newstate; newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1); if (BE (newstate == NULL, 0)) return NULL; err = re_node_set_init_copy (&newstate->nodes, nodes); if (BE (err != REG_NOERROR, 0)) { re_free (newstate); return NULL; } newstate->entrance_nodes = &newstate->nodes; for (i = 0 ; i < nodes->nelem ; i++) { re_token_t *node = dfa->nodes + nodes->elems[i]; re_token_type_t type = node->type; if (type == CHARACTER && !node->constraint) continue; #ifdef RE_ENABLE_I18N newstate->accept_mb |= node->accept_mb; #endif /* RE_ENABLE_I18N */ /* If the state has the halt node, the state is a halt state. */ if (type == END_OF_RE) newstate->halt = 1; else if (type == OP_BACK_REF) newstate->has_backref = 1; else if (type == ANCHOR || node->constraint) newstate->has_constraint = 1; } err = register_state (dfa, newstate, hash); if (BE (err != REG_NOERROR, 0)) { free_state (newstate); newstate = NULL; } return newstate; } /* Create the new state which is depend on the context CONTEXT. Return the new state if succeeded, otherwise return NULL. */ static re_dfastate_t * internal_function create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, unsigned int context, re_hashval_t hash) { Idx i, nctx_nodes = 0; reg_errcode_t err; re_dfastate_t *newstate; newstate = (re_dfastate_t *) calloc (sizeof (re_dfastate_t), 1); if (BE (newstate == NULL, 0)) return NULL; err = re_node_set_init_copy (&newstate->nodes, nodes); if (BE (err != REG_NOERROR, 0)) { re_free (newstate); return NULL; } newstate->context = context; newstate->entrance_nodes = &newstate->nodes; for (i = 0 ; i < nodes->nelem ; i++) { re_token_t *node = dfa->nodes + nodes->elems[i]; re_token_type_t type = node->type; unsigned int constraint = node->constraint; if (type == CHARACTER && !constraint) continue; #ifdef RE_ENABLE_I18N newstate->accept_mb |= node->accept_mb; #endif /* RE_ENABLE_I18N */ /* If the state has the halt node, the state is a halt state. */ if (type == END_OF_RE) newstate->halt = 1; else if (type == OP_BACK_REF) newstate->has_backref = 1; if (constraint) { if (newstate->entrance_nodes == &newstate->nodes) { newstate->entrance_nodes = re_malloc (re_node_set, 1); if (BE (newstate->entrance_nodes == NULL, 0)) { free_state (newstate); return NULL; } re_node_set_init_copy (newstate->entrance_nodes, nodes); nctx_nodes = 0; newstate->has_constraint = 1; } if (NOT_SATISFY_PREV_CONSTRAINT (constraint,context)) { re_node_set_remove_at (&newstate->nodes, i - nctx_nodes); ++nctx_nodes; } } } err = register_state (dfa, newstate, hash); if (BE (err != REG_NOERROR, 0)) { free_state (newstate); newstate = NULL; } return newstate; } dc3dd-7.1.614/lib/vasnprintf.h0000644000175000017500000000570411064230667015563 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* vsprintf with automatic memory allocation. Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _VASNPRINTF_H #define _VASNPRINTF_H /* Get va_list. */ #include /* Get size_t. */ #include #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) # define __attribute__(Spec) /* empty */ # endif /* The __-protected variants of `format' and `printf' attributes are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __format__ format # define __printf__ printf # endif #endif #ifdef __cplusplus extern "C" { #endif /* Write formatted output to a string dynamically allocated with malloc(). You can pass a preallocated buffer for the result in RESULTBUF and its size in *LENGTHP; otherwise you pass RESULTBUF = NULL. If successful, return the address of the string (this may be = RESULTBUF if no dynamic memory allocation was necessary) and set *LENGTHP to the number of resulting bytes, excluding the trailing NUL. Upon error, set errno and return NULL. When dynamic memory allocation occurs, the preallocated buffer is left alone (with possibly modified contents). This makes it possible to use a statically allocated or stack-allocated buffer, like this: char buf[100]; size_t len = sizeof (buf); char *output = vasnprintf (buf, &len, format, args); if (output == NULL) ... error handling ...; else { ... use the output string ...; if (output != buf) free (output); } */ #if REPLACE_VASNPRINTF # define asnprintf rpl_asnprintf # define vasnprintf rpl_vasnprintf #endif extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 3, 0))); #ifdef __cplusplus } #endif #endif /* _VASNPRINTF_H */ dc3dd-7.1.614/lib/stpncpy.c0000644000175000017500000000365211022023316015045 0ustar amedicoamedico/* Copyright (C) 1993, 1995-1997, 2002-2003, 2005-2007 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ /* This is almost copied from strncpy.c, written by Torbjorn Granlund. */ #include /* Specification. */ #include #ifndef weak_alias # define __stpncpy stpncpy #endif /* Copy no more than N bytes of SRC to DST, returning a pointer past the last non-NUL byte written into DST. */ char * __stpncpy (char *dest, const char *src, size_t n) { char c; char *s = dest; if (n >= 4) { size_t n4 = n >> 2; for (;;) { c = *src++; *dest++ = c; if (c == '\0') break; c = *src++; *dest++ = c; if (c == '\0') break; c = *src++; *dest++ = c; if (c == '\0') break; c = *src++; *dest++ = c; if (c == '\0') break; if (--n4 == 0) goto last_chars; } n -= dest - s; goto zero_fill; } last_chars: n &= 3; if (n == 0) return dest; for (;;) { c = *src++; --n; *dest++ = c; if (c == '\0') break; if (n == 0) return dest; } zero_fill: while (n-- > 0) dest[n] = '\0'; return dest - 1; } #ifdef weak_alias weak_alias (__stpncpy, stpncpy) #endif dc3dd-7.1.614/lib/iconv_open-hpux.h0000644000175000017500000002750511022023316016476 0ustar amedicoamedico/* ANSI-C code produced by gperf version 3.0.3 */ /* Command-line: gperf -m 10 ./iconv_open-hpux.gperf */ /* Computed positions: -k'4,$' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ #error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "./iconv_open-hpux.gperf" struct mapping { int standard_name; const char vendor_name[9 + 1]; }; #define TOTAL_KEYWORDS 44 #define MIN_WORD_LENGTH 4 #define MAX_WORD_LENGTH 11 #define MIN_HASH_VALUE 6 #define MAX_HASH_VALUE 49 /* maximum key range = 44, duplicates = 0 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int mapping_hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 1, 2, 24, 43, 5, 10, 0, 13, 32, 3, 19, 18, 50, 50, 50, 50, 50, 50, 50, 50, 50, 5, 50, 50, 50, 50, 14, 5, 0, 50, 50, 0, 27, 50, 12, 14, 50, 50, 0, 5, 2, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }; return len + asso_values[(unsigned char)str[3]+4] + asso_values[(unsigned char)str[len - 1]]; } struct stringpool_t { char stringpool_str6[sizeof("CP1256")]; char stringpool_str7[sizeof("CP1250")]; char stringpool_str8[sizeof("CP1251")]; char stringpool_str9[sizeof("CP850")]; char stringpool_str10[sizeof("TIS-620")]; char stringpool_str11[sizeof("CP1254")]; char stringpool_str12[sizeof("ISO-8859-6")]; char stringpool_str13[sizeof("EUC-TW")]; char stringpool_str14[sizeof("ISO-8859-1")]; char stringpool_str15[sizeof("ISO-8859-9")]; char stringpool_str16[sizeof("CP1255")]; char stringpool_str17[sizeof("BIG5")]; char stringpool_str18[sizeof("CP855")]; char stringpool_str19[sizeof("CP1257")]; char stringpool_str20[sizeof("EUC-KR")]; char stringpool_str21[sizeof("CP857")]; char stringpool_str22[sizeof("ISO-8859-5")]; char stringpool_str23[sizeof("ISO-8859-15")]; char stringpool_str24[sizeof("CP866")]; char stringpool_str25[sizeof("ISO-8859-7")]; char stringpool_str26[sizeof("CP861")]; char stringpool_str27[sizeof("CP869")]; char stringpool_str28[sizeof("CP874")]; char stringpool_str29[sizeof("CP864")]; char stringpool_str30[sizeof("CP1252")]; char stringpool_str31[sizeof("CP437")]; char stringpool_str32[sizeof("CP852")]; char stringpool_str33[sizeof("CP775")]; char stringpool_str34[sizeof("CP865")]; char stringpool_str35[sizeof("EUC-JP")]; char stringpool_str36[sizeof("ISO-8859-2")]; char stringpool_str37[sizeof("SHIFT_JIS")]; char stringpool_str38[sizeof("CP1258")]; char stringpool_str39[sizeof("UTF-8")]; char stringpool_str40[sizeof("HP-KANA8")]; char stringpool_str41[sizeof("HP-ROMAN8")]; char stringpool_str42[sizeof("HP-HEBREW8")]; char stringpool_str43[sizeof("GB2312")]; char stringpool_str44[sizeof("ISO-8859-8")]; char stringpool_str45[sizeof("HP-TURKISH8")]; char stringpool_str46[sizeof("HP-GREEK8")]; char stringpool_str47[sizeof("HP-ARABIC8")]; char stringpool_str48[sizeof("CP862")]; char stringpool_str49[sizeof("CP1253")]; }; static const struct stringpool_t stringpool_contents = { "CP1256", "CP1250", "CP1251", "CP850", "TIS-620", "CP1254", "ISO-8859-6", "EUC-TW", "ISO-8859-1", "ISO-8859-9", "CP1255", "BIG5", "CP855", "CP1257", "EUC-KR", "CP857", "ISO-8859-5", "ISO-8859-15", "CP866", "ISO-8859-7", "CP861", "CP869", "CP874", "CP864", "CP1252", "CP437", "CP852", "CP775", "CP865", "EUC-JP", "ISO-8859-2", "SHIFT_JIS", "CP1258", "UTF-8", "HP-KANA8", "HP-ROMAN8", "HP-HEBREW8", "GB2312", "ISO-8859-8", "HP-TURKISH8", "HP-GREEK8", "HP-ARABIC8", "CP862", "CP1253" }; #define stringpool ((const char *) &stringpool_contents) static const struct mapping mappings[] = { {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 40 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "cp1256"}, #line 34 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "cp1250"}, #line 35 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "cp1251"}, #line 23 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "cp850"}, #line 49 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "tis620"}, #line 38 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "cp1254"}, #line 16 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "iso88596"}, #line 53 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "eucTW"}, #line 13 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "iso88591"}, #line 19 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "iso88599"}, #line 39 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "cp1255"}, #line 54 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "big5"}, #line 25 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "cp855"}, #line 41 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "cp1257"}, #line 52 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "eucKR"}, #line 26 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "cp857"}, #line 15 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "iso88595"}, #line 20 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "iso885915"}, #line 31 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "cp866"}, #line 17 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "iso88597"}, #line 27 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "cp861"}, #line 32 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "cp869"}, #line 33 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "cp874"}, #line 29 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "cp864"}, #line 36 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"}, #line 21 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "cp437"}, #line 24 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, "cp852"}, #line 22 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "cp775"}, #line 30 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "cp865"}, #line 51 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "eucJP"}, #line 14 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str36, "iso88592"}, #line 55 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str37, "sjis"}, #line 42 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "cp1258"}, #line 56 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str39, "utf8"}, #line 48 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "kana8"}, #line 43 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "roman8"}, #line 46 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, "hebrew8"}, #line 50 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, "hp15CN"}, #line 18 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "iso88598"}, #line 47 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str45, "turkish8"}, #line 45 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str46, "greek8"}, #line 44 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str47, "arabic8"}, #line 28 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str48, "cp862"}, #line 37 "./iconv_open-hpux.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str49, "cp1253"} }; #ifdef __GNUC__ __inline #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ __attribute__ ((__gnu_inline__)) #endif #endif const struct mapping * mapping_lookup (register const char *str, register unsigned int len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = mapping_hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int o = mappings[key].standard_name; if (o >= 0) { register const char *s = o + stringpool; if (*str == *s && !strcmp (str + 1, s + 1)) return &mappings[key]; } } } return 0; } dc3dd-7.1.614/lib/malloca.valgrind0000644000175000017500000000025711022023316016337 0ustar amedicoamedico# Suppress a valgrind message about use of uninitialized memory in freea(). # This use is OK because it provides only a speedup. { freea Memcheck:Cond fun:freea } dc3dd-7.1.614/lib/isnanl-nolibm.h0000644000175000017500000000230711064230667016127 0ustar amedicoamedico/* Test for NaN that does not need libm. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if HAVE_ISNANL_IN_LIBC /* Get declaration of isnan macro or (older) isnanl function. */ # include # if __GNUC__ >= 4 /* GCC 4.0 and newer provides three built-ins for isnan. */ # undef isnanl # define isnanl(x) __builtin_isnanl ((long double)(x)) # elif defined isnan # undef isnanl # define isnanl(x) isnan ((long double)(x)) # endif #else /* Test whether X is a NaN. */ # undef isnanl # define isnanl rpl_isnanl extern int isnanl (long double x); #endif dc3dd-7.1.614/lib/printf-frexpl.c0000644000175000017500000000147411022023316016145 0ustar amedicoamedico/* Split a 'long double' into fraction and mantissa, for hexadecimal printf. Copyright (C) 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #define USE_LONG_DOUBLE #include "printf-frexp.c" dc3dd-7.1.614/lib/fpurge.c0000644000175000017500000000775411064230667014663 0ustar amedicoamedico/* Flushing buffers of a FILE stream. Copyright (C) 2007-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Specification. */ #include "fpurge.h" #if HAVE___FPURGE /* glibc >= 2.2, Solaris >= 7 */ # include #endif #include #include "stdio-impl.h" int fpurge (FILE *fp) { #if HAVE___FPURGE /* glibc >= 2.2, Solaris >= 7 */ __fpurge (fp); /* The __fpurge function does not have a return value. */ return 0; #elif HAVE_FPURGE /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X */ /* Call the system's fpurge function. */ # undef fpurge # if !HAVE_DECL_FPURGE extern int fpurge (FILE *); # endif int result = fpurge (fp); # if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ if (result == 0) /* Correct the invariants that fpurge broke. on BSD systems says: "The following always hold: if _flags & __SRD, _w is 0." If this invariant is not fulfilled and the stream is read-write but currently writing, subsequent putc or fputc calls will write directly into the buffer, although they shouldn't be allowed to. */ if ((fp_->_flags & __SRD) != 0) fp_->_w = 0; # endif return result; #else /* Most systems provide FILE as a struct and the necessary bitmask in , because they need it for implementing getc() and putc() as fast macros. */ # if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ fp->_IO_read_end = fp->_IO_read_ptr; fp->_IO_write_ptr = fp->_IO_write_base; /* Avoid memory leak when there is an active ungetc buffer. */ if (fp->_IO_save_base != NULL) { free (fp->_IO_save_base); fp->_IO_save_base = NULL; } return 0; # elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ fp_->_p = fp_->_bf._base; fp_->_r = 0; fp_->_w = ((fp_->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */ ? fp_->_bf._size : 0); /* Avoid memory leak when there is an active ungetc buffer. */ if (fp_ub._base != NULL) { if (fp_ub._base != fp_->_ubuf) free (fp_ub._base); fp_ub._base = NULL; } return 0; # elif defined __EMX__ /* emx+gcc */ fp->_ptr = fp->_buffer; fp->_rcount = 0; fp->_wcount = 0; fp->_ungetc_count = 0; return 0; # elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */ fp->_ptr = fp->_base; if (fp->_ptr != NULL) fp->_cnt = 0; return 0; # elif defined __UCLIBC__ /* uClibc */ # ifdef __STDIO_BUFFERS if (fp->__modeflags & __FLAG_WRITING) fp->__bufpos = fp->__bufstart; else if (fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) fp->__bufpos = fp->__bufread; # endif return 0; # elif defined __QNX__ /* QNX */ fp->_Rback = fp->_Back + sizeof (fp->_Back); fp->_Rsave = NULL; if (fp->_Mode & 0x2000 /* _MWRITE */) /* fp->_Buf <= fp->_Next <= fp->_Wend */ fp->_Next = fp->_Buf; else /* fp->_Buf <= fp->_Next <= fp->_Rend */ fp->_Rend = fp->_Next; return 0; # else #error "Please port gnulib fpurge.c to your platform! Look at the definitions of fflush, setvbuf and ungetc on your system, then report this to bug-gnulib." # endif #endif } dc3dd-7.1.614/lib/memchr.c0000644000175000017500000001322711064230667014636 0ustar amedicoamedico/* Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2006, 2008 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), with help from Dan Sahlin (dan@sics.se) and commentary by Jim Blandy (jimb@ai.mit.edu); adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu), and implemented by Roland McGrath (roland@ai.mit.edu). NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ #ifndef _LIBC # include #endif #include #include #if defined _LIBC # include #else # define reg_char char #endif #include #if HAVE_BP_SYM_H || defined _LIBC # include #else # define BP_SYM(sym) sym #endif #undef __memchr #ifdef _LIBC # undef memchr #endif #ifndef weak_alias # define __memchr memchr #endif /* Search no more than N bytes of S for C. */ void * __memchr (void const *s, int c_in, size_t n) { /* On 32-bit hardware, choosing longword to be a 32-bit unsigned long instead of a 64-bit uintmax_t tends to give better performance. On 64-bit hardware, unsigned long is generally 64 bits already. Change this typedef to experiment with performance. */ typedef unsigned long int longword; const unsigned char *char_ptr; const longword *longword_ptr; longword repeated_one; longword repeated_c; unsigned reg_char c; c = (unsigned char) c_in; /* Handle the first few bytes by reading one byte at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ for (char_ptr = (const unsigned char *) s; n > 0 && (size_t) char_ptr % sizeof (longword) != 0; --n, ++char_ptr) if (*char_ptr == c) return (void *) char_ptr; longword_ptr = (const longword *) char_ptr; /* All these elucidatory comments refer to 4-byte longwords, but the theory applies equally well to any size longwords. */ /* Compute auxiliary longword values: repeated_one is a value which has a 1 in every byte. repeated_c has c in every byte. */ repeated_one = 0x01010101; repeated_c = c | (c << 8); repeated_c |= repeated_c << 16; if (0xffffffffU < (longword) -1) { repeated_one |= repeated_one << 31 << 1; repeated_c |= repeated_c << 31 << 1; if (8 < sizeof (longword)) { size_t i; for (i = 64; i < sizeof (longword) * 8; i *= 2) { repeated_one |= repeated_one << i; repeated_c |= repeated_c << i; } } } /* Instead of the traditional loop which tests each byte, we will test a longword at a time. The tricky part is testing if *any of the four* bytes in the longword in question are equal to c. We first use an xor with repeated_c. This reduces the task to testing whether *any of the four* bytes in longword1 is zero. We compute tmp = ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7). That is, we perform the following operations: 1. Subtract repeated_one. 2. & ~longword1. 3. & a mask consisting of 0x80 in every byte. Consider what happens in each byte: - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff, and step 3 transforms it into 0x80. A carry can also be propagated to more significant bytes. - If a byte of longword1 is nonzero, let its lowest 1 bit be at position k (0 <= k <= 7); so the lowest k bits are 0. After step 1, the byte ends in a single bit of value 0 and k bits of value 1. After step 2, the result is just k bits of value 1: 2^k - 1. After step 3, the result is 0. And no carry is produced. So, if longword1 has only non-zero bytes, tmp is zero. Whereas if longword1 has a zero byte, call j the position of the least significant zero byte. Then the result has a zero at positions 0, ..., j-1 and a 0x80 at position j. We cannot predict the result at the more significant bytes (positions j+1..3), but it does not matter since we already have a non-zero bit at position 8*j+7. So, the test whether any byte in longword1 is zero is equivalent to testing whether tmp is nonzero. */ while (n >= sizeof (longword)) { longword longword1 = *longword_ptr ^ repeated_c; if ((((longword1 - repeated_one) & ~longword1) & (repeated_one << 7)) != 0) break; longword_ptr++; n -= sizeof (longword); } char_ptr = (const unsigned char *) longword_ptr; /* At this point, we know that either n < sizeof (longword), or one of the sizeof (longword) bytes starting at char_ptr is == c. On little-endian machines, we could determine the first such byte without any further memory accesses, just by looking at the tmp result from the last loop iteration. But this does not work on big-endian machines. Choose code that works in both cases. */ for (; n > 0; --n, ++char_ptr) { if (*char_ptr == c) return (void *) char_ptr; } return NULL; } #ifdef weak_alias weak_alias (__memchr, BP_SYM (memchr)) #endif dc3dd-7.1.614/lib/linebuffer.h0000644000175000017500000000376411022023316015477 0ustar amedicoamedico/* linebuffer.h -- declarations for reading arbitrarily long lines Copyright (C) 1986, 1991, 1998, 1999, 2002, 2003, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #if !defined LINEBUFFER_H # define LINEBUFFER_H # include /* A `struct linebuffer' holds a line of text. */ struct linebuffer { size_t size; /* Allocated. */ size_t length; /* Used. */ char *buffer; }; /* Initialize linebuffer LINEBUFFER for use. */ void initbuffer (struct linebuffer *linebuffer); /* Read an arbitrarily long line of text from STREAM into LINEBUFFER. Consider lines to be terminated by DELIMITER. Keep the delimiter; append DELIMITER if we reach EOF and it wasn't the last character in the file. Do not NUL-terminate. Return LINEBUFFER, except at end of file return NULL. */ struct linebuffer *readlinebuffer_delim (struct linebuffer *linebuffer, FILE *stream, char delimiter); /* Read an arbitrarily long line of text from STREAM into LINEBUFFER. Keep the newline; append a newline if it's the last line of a file that ends in a non-newline character. Do not NUL-terminate. Return LINEBUFFER, except at end of file return NULL. */ struct linebuffer *readlinebuffer (struct linebuffer *linebuffer, FILE *stream); /* Free linebuffer LINEBUFFER and its data, all allocated with malloc. */ void freebuffer (struct linebuffer *); #endif /* LINEBUFFER_H */ dc3dd-7.1.614/lib/obstack.c0000644000175000017500000003372211022023316014774 0ustar amedicoamedico/* obstack.c - subroutines used implicitly by object stack macros Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifdef _LIBC # include # include #else # include # include "obstack.h" #endif /* NOTE BEFORE MODIFYING THIS FILE: This version number must be incremented whenever callers compiled using an old obstack.h can no longer properly call the functions in this obstack.c. */ #define OBSTACK_INTERFACE_VERSION 1 /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself, and the installed library supports the same library interface we do. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand `configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #include /* Random thing to get __GNU_LIBRARY__. */ #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 # include # if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION # define ELIDE_CODE # endif #endif #include #ifndef ELIDE_CODE # include /* Determine default alignment. */ union fooround { uintmax_t i; long double d; void *p; }; struct fooalign { char c; union fooround u; }; /* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT. But in fact it might be less smart and round addresses to as much as DEFAULT_ROUNDING. So we prepare for it to do that. */ enum { DEFAULT_ALIGNMENT = offsetof (struct fooalign, u), DEFAULT_ROUNDING = sizeof (union fooround) }; /* When we copy a long block of data, this is the unit to do it with. On some machines, copying successive ints does not work; in such a case, redefine COPYING_UNIT to `long' (if that works) or `char' as a last resort. */ # ifndef COPYING_UNIT # define COPYING_UNIT int # endif /* The functions allocating more room by calling `obstack_chunk_alloc' jump to the handler pointed to by `obstack_alloc_failed_handler'. This can be set to a user defined function which should either abort gracefully or use longjump - but shouldn't return. This variable by default points to the internal function `print_and_abort'. */ static void print_and_abort (void); void (*obstack_alloc_failed_handler) (void) = print_and_abort; /* Exit value used when `print_and_abort' is used. */ # include # ifdef _LIBC int obstack_exit_failure = EXIT_FAILURE; # else # include "exitfail.h" # define obstack_exit_failure exit_failure # endif # ifdef _LIBC # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) /* A looong time ago (before 1994, anyway; we're not sure) this global variable was used by non-GNU-C macros to avoid multiple evaluation. The GNU C library still exports it because somebody might use it. */ struct obstack *_obstack_compat; compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0); # endif # endif /* Define a macro that either calls functions with the traditional malloc/free calling interface, or calls functions with the mmalloc/mfree interface (that adds an extra first argument), based on the state of use_extra_arg. For free, do not use ?:, since some compilers, like the MIPS compilers, do not allow (expr) ? void : void. */ # define CALL_CHUNKFUN(h, size) \ (((h) -> use_extra_arg) \ ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size))) # define CALL_FREEFUN(h, old_chunk) \ do { \ if ((h) -> use_extra_arg) \ (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \ else \ (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \ } while (0) /* Initialize an obstack H for use. Specify chunk size SIZE (0 means default). Objects start on multiples of ALIGNMENT (0 means use default). CHUNKFUN is the function to use to allocate chunks, and FREEFUN the function to free them. Return nonzero if successful, calls obstack_alloc_failed_handler if allocation fails. */ int _obstack_begin (struct obstack *h, int size, int alignment, void *(*chunkfun) (long), void (*freefun) (void *)) { register struct _obstack_chunk *chunk; /* points to new chunk */ if (alignment == 0) alignment = DEFAULT_ALIGNMENT; if (size == 0) /* Default size is what GNU malloc can fit in a 4096-byte block. */ { /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. Use the values for range checking, because if range checking is off, the extra bytes won't be missed terribly, but if range checking is on and we used a larger request, a whole extra 4096 bytes would be allocated. These number are irrelevant to the new GNU malloc. I suspect it is less sensitive to the size of the request. */ int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)) + 4 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)); size = 4096 - extra; } h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun; h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->chunk_size = size; h->alignment_mask = alignment - 1; h->use_extra_arg = 0; chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size); if (!chunk) (*obstack_alloc_failed_handler) (); h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents, alignment - 1); h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size; chunk->prev = 0; /* The initial chunk now contains no empty object. */ h->maybe_empty_object = 0; h->alloc_failed = 0; return 1; } int _obstack_begin_1 (struct obstack *h, int size, int alignment, void *(*chunkfun) (void *, long), void (*freefun) (void *, void *), void *arg) { register struct _obstack_chunk *chunk; /* points to new chunk */ if (alignment == 0) alignment = DEFAULT_ALIGNMENT; if (size == 0) /* Default size is what GNU malloc can fit in a 4096-byte block. */ { /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc. Use the values for range checking, because if range checking is off, the extra bytes won't be missed terribly, but if range checking is on and we used a larger request, a whole extra 4096 bytes would be allocated. These number are irrelevant to the new GNU malloc. I suspect it is less sensitive to the size of the request. */ int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)) + 4 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1)); size = 4096 - extra; } h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun; h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->chunk_size = size; h->alignment_mask = alignment - 1; h->extra_arg = arg; h->use_extra_arg = 1; chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size); if (!chunk) (*obstack_alloc_failed_handler) (); h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents, alignment - 1); h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size; chunk->prev = 0; /* The initial chunk now contains no empty object. */ h->maybe_empty_object = 0; h->alloc_failed = 0; return 1; } /* Allocate a new current chunk for the obstack *H on the assumption that LENGTH bytes need to be added to the current object, or a new object of length LENGTH allocated. Copies any partial object from the end of the old chunk to the beginning of the new one. */ void _obstack_newchunk (struct obstack *h, int length) { register struct _obstack_chunk *old_chunk = h->chunk; register struct _obstack_chunk *new_chunk; register long new_size; register long obj_size = h->next_free - h->object_base; register long i; long already; char *object_base; /* Compute size for new chunk. */ new_size = (obj_size + length) + (obj_size >> 3) + h->alignment_mask + 100; if (new_size < h->chunk_size) new_size = h->chunk_size; /* Allocate and initialize the new chunk. */ new_chunk = CALL_CHUNKFUN (h, new_size); if (!new_chunk) (*obstack_alloc_failed_handler) (); h->chunk = new_chunk; new_chunk->prev = old_chunk; new_chunk->limit = h->chunk_limit = (char *) new_chunk + new_size; /* Compute an aligned object_base in the new chunk */ object_base = __PTR_ALIGN ((char *) new_chunk, new_chunk->contents, h->alignment_mask); /* Move the existing object to the new chunk. Word at a time is fast and is safe if the object is sufficiently aligned. */ if (h->alignment_mask + 1 >= DEFAULT_ALIGNMENT) { for (i = obj_size / sizeof (COPYING_UNIT) - 1; i >= 0; i--) ((COPYING_UNIT *)object_base)[i] = ((COPYING_UNIT *)h->object_base)[i]; /* We used to copy the odd few remaining bytes as one extra COPYING_UNIT, but that can cross a page boundary on a machine which does not do strict alignment for COPYING_UNITS. */ already = obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNIT); } else already = 0; /* Copy remaining bytes one by one. */ for (i = already; i < obj_size; i++) object_base[i] = h->object_base[i]; /* If the object just copied was the only data in OLD_CHUNK, free that chunk and remove it from the chain. But not if that chunk might contain an empty object. */ if (! h->maybe_empty_object && (h->object_base == __PTR_ALIGN ((char *) old_chunk, old_chunk->contents, h->alignment_mask))) { new_chunk->prev = old_chunk->prev; CALL_FREEFUN (h, old_chunk); } h->object_base = object_base; h->next_free = h->object_base + obj_size; /* The new chunk certainly contains no empty object yet. */ h->maybe_empty_object = 0; } # ifdef _LIBC libc_hidden_def (_obstack_newchunk) # endif /* Return nonzero if object OBJ has been allocated from obstack H. This is here for debugging. If you use it in a program, you are probably losing. */ /* Suppress -Wmissing-prototypes warning. We don't want to declare this in obstack.h because it is just for debugging. */ int _obstack_allocated_p (struct obstack *h, void *obj); int _obstack_allocated_p (struct obstack *h, void *obj) { register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ register struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = (h)->chunk; /* We use >= rather than > since the object cannot be exactly at the beginning of the chunk but might be an empty object exactly at the end of an adjacent chunk. */ while (lp != 0 && ((void *) lp >= obj || (void *) (lp)->limit < obj)) { plp = lp->prev; lp = plp; } return lp != 0; } /* Free objects in obstack H, including OBJ and everything allocate more recently than OBJ. If OBJ is zero, free everything in H. */ # undef obstack_free void __obstack_free (struct obstack *h, void *obj) { register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ register struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = h->chunk; /* We use >= because there cannot be an object at the beginning of a chunk. But there can be an empty object at that address at the end of another chunk. */ while (lp != 0 && ((void *) lp >= obj || (void *) (lp)->limit < obj)) { plp = lp->prev; CALL_FREEFUN (h, lp); lp = plp; /* If we switch chunks, we can't tell whether the new current chunk contains an empty object, so assume that it may. */ h->maybe_empty_object = 1; } if (lp) { h->object_base = h->next_free = (char *) (obj); h->chunk_limit = lp->limit; h->chunk = lp; } else if (obj != 0) /* obj is not in any of the chunks! */ abort (); } # ifdef _LIBC /* Older versions of libc used a function _obstack_free intended to be called by non-GCC compilers. */ strong_alias (obstack_free, _obstack_free) # endif int _obstack_memory_used (struct obstack *h) { register struct _obstack_chunk* lp; register int nbytes = 0; for (lp = h->chunk; lp != 0; lp = lp->prev) { nbytes += lp->limit - (char *) lp; } return nbytes; } /* Define the error handler. */ # ifdef _LIBC # include # else # include "gettext.h" # endif # ifndef _ # define _(msgid) gettext (msgid) # endif # ifdef _LIBC # include # endif # ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) # define __attribute__(Spec) /* empty */ # endif # endif static void __attribute__ ((noreturn)) print_and_abort (void) { /* Don't change any of these strings. Yes, it would be possible to add the newline to the string and use fputs or so. But this must not happen because the "memory exhausted" message appears in other places like this and the translation should be reused instead of creating a very similar string which requires a separate translation. */ # ifdef _LIBC (void) __fxprintf (NULL, "%s\n", _("memory exhausted")); # else fprintf (stderr, "%s\n", _("memory exhausted")); # endif exit (obstack_exit_failure); } #endif /* !ELIDE_CODE */ dc3dd-7.1.614/lib/filenamecat.h0000644000175000017500000000171711022023316015622 0ustar amedicoamedico/* Concatenate two arbitrary file names. Copyright (C) 1996, 1997, 2003, 2005, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ char *file_name_concat (char const *dir, char const *base, char **base_in_result); char *mfile_name_concat (char const *dir, char const *base, char **base_in_result); dc3dd-7.1.614/lib/getdate.c0000644000175000017500000026623211064230667015006 0ustar amedicoamedico/* A Bison parser, made by GNU Bison 2.3. */ /* Skeleton implementation for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 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, 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. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "2.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Using locations. */ #define YYLSP_NEEDED 0 /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { tAGO = 258, tDST = 259, tYEAR_UNIT = 260, tMONTH_UNIT = 261, tHOUR_UNIT = 262, tMINUTE_UNIT = 263, tSEC_UNIT = 264, tDAY_UNIT = 265, tDAY = 266, tDAYZONE = 267, tLOCAL_ZONE = 268, tMERIDIAN = 269, tMONTH = 270, tORDINAL = 271, tZONE = 272, tSNUMBER = 273, tUNUMBER = 274, tSDECIMAL_NUMBER = 275, tUDECIMAL_NUMBER = 276 }; #endif /* Tokens. */ #define tAGO 258 #define tDST 259 #define tYEAR_UNIT 260 #define tMONTH_UNIT 261 #define tHOUR_UNIT 262 #define tMINUTE_UNIT 263 #define tSEC_UNIT 264 #define tDAY_UNIT 265 #define tDAY 266 #define tDAYZONE 267 #define tLOCAL_ZONE 268 #define tMERIDIAN 269 #define tMONTH 270 #define tORDINAL 271 #define tZONE 272 #define tSNUMBER 273 #define tUNUMBER 274 #define tSDECIMAL_NUMBER 275 #define tUDECIMAL_NUMBER 276 /* Copy the first part of user declarations. */ #line 1 "getdate.y" /* Parse a string into an internal time stamp. Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Originally written by Steven M. Bellovin while at the University of North Carolina at Chapel Hill. Later tweaked by a couple of people on Usenet. Completely overhauled by Rich $alz and Jim Berets in August, 1990. Modified by Paul Eggert in August 1999 to do the right thing about local DST. Also modified by Paul Eggert in February 2004 to support nanosecond-resolution time stamps, and in October 2004 to support TZ strings in dates. */ /* FIXME: Check for arithmetic overflow in all cases, not just some of them. */ #include #include "getdate.h" #include "intprops.h" #include "timespec.h" #include "verify.h" /* There's no need to extend the stack, so there's no need to involve alloca. */ #define YYSTACK_USE_ALLOCA 0 /* Tell Bison how much stack space is needed. 20 should be plenty for this grammar, which is not right recursive. Beware setting it too high, since that might cause problems on machines whose implementations have lame stack-overflow checking. */ #define YYMAXDEPTH 20 #define YYINITDEPTH YYMAXDEPTH /* Since the code of getdate.y is not included in the Emacs executable itself, there is no need to #define static in this file. Even if the code were included in the Emacs executable, it probably wouldn't do any harm to #undef it here; this will only cause problems if we try to write to a static variable, which I don't think this code needs to do. */ #ifdef emacs # undef static #endif #include #include #include #include #include #include "xalloc.h" /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of `digit' even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__ # define __attribute__(x) # endif #endif #ifndef ATTRIBUTE_UNUSED # define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) #endif /* Shift A right by B bits portably, by dividing A by 2**B and truncating towards minus infinity. A and B should be free of side effects, and B should be in the range 0 <= B <= INT_BITS - 2, where INT_BITS is the number of useful bits in an int. GNU code can assume that INT_BITS is at least 32. ISO C99 says that A >> B is implementation-defined if A < 0. Some implementations (e.g., UNICOS 9.0 on a Cray Y-MP EL) don't shift right in the usual way when A < 0, so SHR falls back on division if ordinary A >> B doesn't seem to be the usual signed shift. */ #define SHR(a, b) \ (-1 >> 1 == -1 \ ? (a) >> (b) \ : (a) / (1 << (b)) - ((a) % (1 << (b)) < 0)) #define EPOCH_YEAR 1970 #define TM_YEAR_BASE 1900 #define HOUR(x) ((x) * 60) /* Lots of this code assumes time_t and time_t-like values fit into long int. It also assumes that signed integer overflow silently wraps around, but there's no portable way to check for that at compile-time. */ verify (TYPE_IS_INTEGER (time_t)); verify (LONG_MIN <= TYPE_MINIMUM (time_t) && TYPE_MAXIMUM (time_t) <= LONG_MAX); /* An integer value, and the number of digits in its textual representation. */ typedef struct { bool negative; long int value; size_t digits; } textint; /* An entry in the lexical lookup table. */ typedef struct { char const *name; int type; int value; } table; /* Meridian: am, pm, or 24-hour style. */ enum { MERam, MERpm, MER24 }; enum { BILLION = 1000000000, LOG10_BILLION = 9 }; /* Relative times. */ typedef struct { /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */ long int year; long int month; long int day; long int hour; long int minutes; long int seconds; long int ns; } relative_time; #if HAVE_COMPOUND_LITERALS # define RELATIVE_TIME_0 ((relative_time) { 0, 0, 0, 0, 0, 0, 0 }) #else static relative_time const RELATIVE_TIME_0; #endif /* Information passed to and from the parser. */ typedef struct { /* The input string remaining to be parsed. */ const char *input; /* N, if this is the Nth Tuesday. */ long int day_ordinal; /* Day of week; Sunday is 0. */ int day_number; /* tm_isdst flag for the local zone. */ int local_isdst; /* Time zone, in minutes east of UTC. */ long int time_zone; /* Style used for time. */ int meridian; /* Gregorian year, month, day, hour, minutes, seconds, and nanoseconds. */ textint year; long int month; long int day; long int hour; long int minutes; struct timespec seconds; /* includes nanoseconds */ /* Relative year, month, day, hour, minutes, seconds, and nanoseconds. */ relative_time rel; /* Presence or counts of nonterminals of various flavors parsed so far. */ bool timespec_seen; bool rels_seen; size_t dates_seen; size_t days_seen; size_t local_zones_seen; size_t dsts_seen; size_t times_seen; size_t zones_seen; /* Table of local time zone abbrevations, terminated by a null entry. */ table local_time_zone_table[3]; } parser_control; union YYSTYPE; static int yylex (union YYSTYPE *, parser_control *); static int yyerror (parser_control const *, char const *); static long int time_zone_hhmm (textint, long int); /* Extract into *PC any date and time info from a string of digits of the form e.g., YYYYMMDD, YYMMDD, HHMM, HH (and sometimes YYY, YYYY, ...). */ static void digits_to_date_time (parser_control *pc, textint text_int) { if (pc->dates_seen && ! pc->year.digits && ! pc->rels_seen && (pc->times_seen || 2 < text_int.digits)) pc->year = text_int; else { if (4 < text_int.digits) { pc->dates_seen++; pc->day = text_int.value % 100; pc->month = (text_int.value / 100) % 100; pc->year.value = text_int.value / 10000; pc->year.digits = text_int.digits - 4; } else { pc->times_seen++; if (text_int.digits <= 2) { pc->hour = text_int.value; pc->minutes = 0; } else { pc->hour = text_int.value / 100; pc->minutes = text_int.value % 100; } pc->seconds.tv_sec = 0; pc->seconds.tv_nsec = 0; pc->meridian = MER24; } } } /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* Enabling the token table. */ #ifndef YYTOKEN_TABLE # define YYTOKEN_TABLE 0 #endif #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE #line 261 "getdate.y" { long int intval; textint textintval; struct timespec timespec; relative_time rel; } /* Line 187 of yacc.c. */ #line 395 "getdate.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif /* Copy the second part of user declarations. */ /* Line 216 of yacc.c. */ #line 408 "getdate.c" #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #elif (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) typedef signed char yytype_int8; #else typedef short int yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) # endif # endif # ifndef YY_ # define YY_(msgid) msgid # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(e) ((void) (e)) #else # define YYUSE(e) /* empty */ #endif /* Identity function, used to suppress warnings about constant conditions. */ #ifndef lint # define YYID(n) (n) #else #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int YYID (int i) #else static int YYID (i) int i; #endif { return i; } #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined _STDLIB_H \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss; YYSTYPE yyvs; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (YYID (0)) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0)) #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 12 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 96 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 26 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 20 /* YYNRULES -- Number of rules. */ #define YYNRULES 80 /* YYNRULES -- Number of states. */ #define YYNSTATES 98 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 276 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 24, 2, 2, 25, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 23, 2, 2, 2, 2, 2, 22, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const yytype_uint8 yyprhs[] = { 0, 0, 3, 5, 7, 10, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 33, 38, 44, 51, 59, 61, 64, 66, 69, 73, 75, 78, 80, 83, 86, 89, 93, 99, 103, 107, 111, 114, 119, 122, 126, 129, 131, 134, 137, 139, 142, 145, 147, 150, 153, 155, 158, 161, 163, 166, 169, 171, 174, 177, 180, 183, 185, 187, 190, 193, 196, 199, 202, 205, 207, 209, 211, 213, 215, 217, 219, 222, 223, 226, 227 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { 27, 0, -1, 28, -1, 29, -1, 22, 39, -1, -1, 29, 30, -1, 31, -1, 32, -1, 33, -1, 35, -1, 34, -1, 36, -1, 42, -1, 43, -1, 19, 14, -1, 19, 23, 19, 45, -1, 19, 23, 19, 18, 44, -1, 19, 23, 19, 23, 41, 45, -1, 19, 23, 19, 23, 41, 18, 44, -1, 13, -1, 13, 4, -1, 17, -1, 17, 38, -1, 17, 18, 44, -1, 12, -1, 17, 4, -1, 11, -1, 11, 24, -1, 16, 11, -1, 19, 11, -1, 19, 25, 19, -1, 19, 25, 19, 25, 19, -1, 19, 18, 18, -1, 19, 15, 18, -1, 15, 18, 18, -1, 15, 19, -1, 15, 19, 24, 19, -1, 19, 15, -1, 19, 15, 19, -1, 37, 3, -1, 37, -1, 16, 5, -1, 19, 5, -1, 5, -1, 16, 6, -1, 19, 6, -1, 6, -1, 16, 10, -1, 19, 10, -1, 10, -1, 16, 7, -1, 19, 7, -1, 7, -1, 16, 8, -1, 19, 8, -1, 8, -1, 16, 9, -1, 19, 9, -1, 20, 9, -1, 21, 9, -1, 9, -1, 38, -1, 18, 5, -1, 18, 6, -1, 18, 10, -1, 18, 7, -1, 18, 8, -1, 18, 9, -1, 40, -1, 41, -1, 20, -1, 18, -1, 21, -1, 19, -1, 19, -1, 19, 38, -1, -1, 23, 19, -1, -1, 14, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 287, 287, 288, 292, 299, 301, 305, 307, 309, 311, 313, 315, 317, 318, 322, 330, 338, 348, 355, 367, 372, 380, 382, 392, 394, 396, 401, 406, 411, 416, 424, 429, 449, 456, 464, 472, 477, 483, 488, 497, 507, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, 550, 552, 554, 556, 558, 560, 564, 566, 568, 570, 572, 574, 578, 578, 581, 582, 587, 588, 593, 598, 616, 617, 623, 624 }; #endif #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "tAGO", "tDST", "tYEAR_UNIT", "tMONTH_UNIT", "tHOUR_UNIT", "tMINUTE_UNIT", "tSEC_UNIT", "tDAY_UNIT", "tDAY", "tDAYZONE", "tLOCAL_ZONE", "tMERIDIAN", "tMONTH", "tORDINAL", "tZONE", "tSNUMBER", "tUNUMBER", "tSDECIMAL_NUMBER", "tUDECIMAL_NUMBER", "'@'", "':'", "','", "'/'", "$accept", "spec", "timespec", "items", "item", "time", "local_zone", "zone", "day", "date", "rel", "relunit", "relunit_snumber", "seconds", "signed_seconds", "unsigned_seconds", "number", "hybrid", "o_colon_minutes", "o_merid", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 64, 58, 44, 47 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 26, 27, 27, 28, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 40, 40, 41, 41, 42, 43, 44, 44, 45, 45 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 1, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, 5, 6, 7, 1, 2, 1, 2, 3, 1, 2, 1, 2, 2, 2, 3, 5, 3, 3, 3, 2, 4, 2, 3, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 0, 2, 0, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 5, 0, 0, 2, 3, 72, 74, 71, 73, 4, 69, 70, 1, 44, 47, 53, 56, 61, 50, 27, 25, 20, 0, 0, 22, 0, 75, 0, 0, 6, 7, 8, 9, 11, 10, 12, 41, 62, 13, 14, 28, 21, 0, 36, 42, 45, 51, 54, 57, 48, 29, 26, 77, 23, 63, 64, 66, 67, 68, 65, 43, 46, 52, 55, 58, 49, 30, 15, 38, 0, 0, 0, 76, 59, 60, 40, 35, 0, 0, 24, 34, 39, 33, 79, 31, 37, 78, 80, 77, 0, 16, 0, 17, 79, 32, 77, 18, 19 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { -1, 2, 3, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 9, 10, 11, 38, 39, 79, 90 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -81 static const yytype_int8 yypact[] = { -10, 54, 70, -81, 25, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, 55, -81, 74, 50, 48, 10, 56, -5, 71, 72, -81, -81, -81, -81, -81, -81, -81, 79, -81, -81, -81, -81, -81, 65, 60, -81, -81, -81, -81, -81, -81, -81, -81, 16, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, 58, 42, 66, 67, -81, -81, -81, -81, -81, 68, 69, -81, -81, -81, -81, -7, 64, -81, -81, -81, 73, -2, -81, 75, -81, 53, -81, 73, -81, -81 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, 3, -81, -81, 1, -81, -81, -80, -1 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { 60, 61, 62, 63, 64, 65, 66, 87, 92, 67, 68, 88, 1, 69, 51, 97, 89, 6, 70, 8, 71, 54, 55, 56, 57, 58, 59, 53, 52, 72, 13, 14, 15, 16, 17, 18, 19, 20, 21, 78, 22, 23, 24, 25, 26, 27, 28, 54, 55, 56, 57, 58, 59, 44, 45, 46, 47, 48, 49, 50, 82, 54, 55, 56, 57, 58, 59, 87, 42, 43, 12, 95, 5, 6, 7, 8, 80, 81, 41, 40, 73, 74, 75, 76, 77, 83, 84, 85, 86, 91, 93, 0, 96, 0, 94, 0, 78 }; static const yytype_int8 yycheck[] = { 5, 6, 7, 8, 9, 10, 11, 14, 88, 14, 15, 18, 22, 18, 4, 95, 23, 19, 23, 21, 25, 5, 6, 7, 8, 9, 10, 24, 18, 26, 5, 6, 7, 8, 9, 10, 11, 12, 13, 23, 15, 16, 17, 18, 19, 20, 21, 5, 6, 7, 8, 9, 10, 5, 6, 7, 8, 9, 10, 11, 18, 5, 6, 7, 8, 9, 10, 14, 18, 19, 0, 18, 18, 19, 20, 21, 18, 19, 4, 24, 9, 9, 3, 18, 24, 19, 19, 19, 19, 25, 89, -1, 93, -1, 19, -1, 23 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 22, 27, 28, 29, 18, 19, 20, 21, 39, 40, 41, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 30, 31, 32, 33, 34, 35, 36, 37, 38, 42, 43, 24, 4, 18, 19, 5, 6, 7, 8, 9, 10, 11, 4, 18, 38, 5, 6, 7, 8, 9, 10, 5, 6, 7, 8, 9, 10, 11, 14, 15, 18, 23, 25, 38, 9, 9, 3, 18, 24, 23, 44, 18, 19, 18, 19, 19, 19, 19, 14, 18, 23, 45, 25, 44, 41, 19, 18, 45, 44 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (pc, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0)) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0)) #endif /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT # if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ (Loc).last_line, (Loc).last_column) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, YYLEX_PARAM) #else # define YYLEX yylex (&yylval, pc) #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (YYID (0)) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value, pc); \ YYFPRINTF (stderr, "\n"); \ } \ } while (YYID (0)) /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_control *pc) #else static void yy_symbol_value_print (yyoutput, yytype, yyvaluep, pc) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; parser_control *pc; #endif { if (!yyvaluep) return; YYUSE (pc); # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # else YYUSE (yyoutput); # endif switch (yytype) { default: break; } } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, parser_control *pc) #else static void yy_symbol_print (yyoutput, yytype, yyvaluep, pc) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; parser_control *pc; #endif { if (yytype < YYNTOKENS) YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep, pc); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) #else static void yy_stack_print (bottom, top) yytype_int16 *bottom; yytype_int16 *top; #endif { YYFPRINTF (stderr, "Stack now"); for (; bottom <= top; ++bottom) YYFPRINTF (stderr, " %d", *bottom); YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (YYID (0)) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_reduce_print (YYSTYPE *yyvsp, int yyrule, parser_control *pc) #else static void yy_reduce_print (yyvsp, yyrule, pc) YYSTYPE *yyvsp; int yyrule; parser_control *pc; #endif { int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { fprintf (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) , pc); fprintf (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyvsp, Rule, pc); \ } while (YYID (0)) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) #else static YYSIZE_T yystrlen (yystr) const char *yystr; #endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) #else static char * yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; #endif { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into YYRESULT an error message about the unexpected token YYCHAR while in state YYSTATE. Return the number of bytes copied, including the terminating null byte. If YYRESULT is null, do not copy anything; just return the number of bytes that would be copied. As a special case, return 0 if an ordinary "syntax error" message will do. Return YYSIZE_MAXIMUM if overflow occurs during size calculation. */ static YYSIZE_T yysyntax_error (char *yyresult, int yystate, int yychar) { int yyn = yypact[yystate]; if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) return 0; else { int yytype = YYTRANSLATE (yychar); YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; int yysize_overflow = 0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; int yyx; # if 0 /* This is so xgettext sees the translatable formats that are constructed on the fly. */ YY_("syntax error, unexpected %s"); YY_("syntax error, unexpected %s, expecting %s"); YY_("syntax error, unexpected %s, expecting %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); # endif char *yyfmt; char const *yyf; static char const yyunexpected[] = "syntax error, unexpected %s"; static char const yyexpecting[] = ", expecting %s"; static char const yyor[] = " or %s"; char yyformat[sizeof yyunexpected + sizeof yyexpecting - 1 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (sizeof yyor - 1))]; char const *yyprefix = yyexpecting; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 1; yyarg[0] = yytname[yytype]; yyfmt = yystpcpy (yyformat, yyunexpected); for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; yyformat[sizeof yyunexpected - 1] = '\0'; break; } yyarg[yycount++] = yytname[yyx]; yysize1 = yysize + yytnamerr (0, yytname[yyx]); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; yyfmt = yystpcpy (yyfmt, yyprefix); yyprefix = yyor; } yyf = YY_(yyformat); yysize1 = yysize + yystrlen (yyf); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; if (yysize_overflow) return YYSIZE_MAXIMUM; if (yyresult) { /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ char *yyp = yyresult; int yyi = 0; while ((*yyp = *yyf) != '\0') { if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyf += 2; } else { yyp++; yyf++; } } } return yysize; } } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, parser_control *pc) #else static void yydestruct (yymsg, yytype, yyvaluep, pc) const char *yymsg; int yytype; YYSTYPE *yyvaluep; parser_control *pc; #endif { YYUSE (yyvaluep); YYUSE (pc); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); switch (yytype) { default: break; } } /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); #else int yyparse (); #endif #else /* ! YYPARSE_PARAM */ #if defined __STDC__ || defined __cplusplus int yyparse (parser_control *pc); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /*----------. | yyparse. | `----------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void *YYPARSE_PARAM) #else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; #endif #else /* ! YYPARSE_PARAM */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (parser_control *pc) #else int yyparse (pc) parser_control *pc; #endif #endif { /* The look-ahead symbol. */ int yychar; /* The semantic value of the look-ahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; int yystate; int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Look-ahead token as an internal (translated) token number. */ int yytoken = 0; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif /* Three stacks and their tools: `yyss': related to states, `yyvs': related to semantic values, `yyls': related to locations. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss = yyssa; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; YYSTYPE *yyvsp; #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a look-ahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a look-ahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } if (yyn == YYFINAL) YYACCEPT; /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the look-ahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 4: #line 293 "getdate.y" { pc->seconds = (yyvsp[(2) - (2)].timespec); pc->timespec_seen = true; } break; case 7: #line 306 "getdate.y" { pc->times_seen++; } break; case 8: #line 308 "getdate.y" { pc->local_zones_seen++; } break; case 9: #line 310 "getdate.y" { pc->zones_seen++; } break; case 10: #line 312 "getdate.y" { pc->dates_seen++; } break; case 11: #line 314 "getdate.y" { pc->days_seen++; } break; case 12: #line 316 "getdate.y" { pc->rels_seen = true; } break; case 15: #line 323 "getdate.y" { pc->hour = (yyvsp[(1) - (2)].textintval).value; pc->minutes = 0; pc->seconds.tv_sec = 0; pc->seconds.tv_nsec = 0; pc->meridian = (yyvsp[(2) - (2)].intval); } break; case 16: #line 331 "getdate.y" { pc->hour = (yyvsp[(1) - (4)].textintval).value; pc->minutes = (yyvsp[(3) - (4)].textintval).value; pc->seconds.tv_sec = 0; pc->seconds.tv_nsec = 0; pc->meridian = (yyvsp[(4) - (4)].intval); } break; case 17: #line 339 "getdate.y" { pc->hour = (yyvsp[(1) - (5)].textintval).value; pc->minutes = (yyvsp[(3) - (5)].textintval).value; pc->seconds.tv_sec = 0; pc->seconds.tv_nsec = 0; pc->meridian = MER24; pc->zones_seen++; pc->time_zone = time_zone_hhmm ((yyvsp[(4) - (5)].textintval), (yyvsp[(5) - (5)].intval)); } break; case 18: #line 349 "getdate.y" { pc->hour = (yyvsp[(1) - (6)].textintval).value; pc->minutes = (yyvsp[(3) - (6)].textintval).value; pc->seconds = (yyvsp[(5) - (6)].timespec); pc->meridian = (yyvsp[(6) - (6)].intval); } break; case 19: #line 356 "getdate.y" { pc->hour = (yyvsp[(1) - (7)].textintval).value; pc->minutes = (yyvsp[(3) - (7)].textintval).value; pc->seconds = (yyvsp[(5) - (7)].timespec); pc->meridian = MER24; pc->zones_seen++; pc->time_zone = time_zone_hhmm ((yyvsp[(6) - (7)].textintval), (yyvsp[(7) - (7)].intval)); } break; case 20: #line 368 "getdate.y" { pc->local_isdst = (yyvsp[(1) - (1)].intval); pc->dsts_seen += (0 < (yyvsp[(1) - (1)].intval)); } break; case 21: #line 373 "getdate.y" { pc->local_isdst = 1; pc->dsts_seen += (0 < (yyvsp[(1) - (2)].intval)) + 1; } break; case 22: #line 381 "getdate.y" { pc->time_zone = (yyvsp[(1) - (1)].intval); } break; case 23: #line 383 "getdate.y" { pc->time_zone = (yyvsp[(1) - (2)].intval); pc->rel.ns += (yyvsp[(2) - (2)].rel).ns; pc->rel.seconds += (yyvsp[(2) - (2)].rel).seconds; pc->rel.minutes += (yyvsp[(2) - (2)].rel).minutes; pc->rel.hour += (yyvsp[(2) - (2)].rel).hour; pc->rel.day += (yyvsp[(2) - (2)].rel).day; pc->rel.month += (yyvsp[(2) - (2)].rel).month; pc->rel.year += (yyvsp[(2) - (2)].rel).year; pc->rels_seen = true; } break; case 24: #line 393 "getdate.y" { pc->time_zone = (yyvsp[(1) - (3)].intval) + time_zone_hhmm ((yyvsp[(2) - (3)].textintval), (yyvsp[(3) - (3)].intval)); } break; case 25: #line 395 "getdate.y" { pc->time_zone = (yyvsp[(1) - (1)].intval) + 60; } break; case 26: #line 397 "getdate.y" { pc->time_zone = (yyvsp[(1) - (2)].intval) + 60; } break; case 27: #line 402 "getdate.y" { pc->day_ordinal = 1; pc->day_number = (yyvsp[(1) - (1)].intval); } break; case 28: #line 407 "getdate.y" { pc->day_ordinal = 1; pc->day_number = (yyvsp[(1) - (2)].intval); } break; case 29: #line 412 "getdate.y" { pc->day_ordinal = (yyvsp[(1) - (2)].intval); pc->day_number = (yyvsp[(2) - (2)].intval); } break; case 30: #line 417 "getdate.y" { pc->day_ordinal = (yyvsp[(1) - (2)].textintval).value; pc->day_number = (yyvsp[(2) - (2)].intval); } break; case 31: #line 425 "getdate.y" { pc->month = (yyvsp[(1) - (3)].textintval).value; pc->day = (yyvsp[(3) - (3)].textintval).value; } break; case 32: #line 430 "getdate.y" { /* Interpret as YYYY/MM/DD if the first value has 4 or more digits, otherwise as MM/DD/YY. The goal in recognizing YYYY/MM/DD is solely to support legacy machine-generated dates like those in an RCS log listing. If you want portability, use the ISO 8601 format. */ if (4 <= (yyvsp[(1) - (5)].textintval).digits) { pc->year = (yyvsp[(1) - (5)].textintval); pc->month = (yyvsp[(3) - (5)].textintval).value; pc->day = (yyvsp[(5) - (5)].textintval).value; } else { pc->month = (yyvsp[(1) - (5)].textintval).value; pc->day = (yyvsp[(3) - (5)].textintval).value; pc->year = (yyvsp[(5) - (5)].textintval); } } break; case 33: #line 450 "getdate.y" { /* ISO 8601 format. YYYY-MM-DD. */ pc->year = (yyvsp[(1) - (3)].textintval); pc->month = -(yyvsp[(2) - (3)].textintval).value; pc->day = -(yyvsp[(3) - (3)].textintval).value; } break; case 34: #line 457 "getdate.y" { /* e.g. 17-JUN-1992. */ pc->day = (yyvsp[(1) - (3)].textintval).value; pc->month = (yyvsp[(2) - (3)].intval); pc->year.value = -(yyvsp[(3) - (3)].textintval).value; pc->year.digits = (yyvsp[(3) - (3)].textintval).digits; } break; case 35: #line 465 "getdate.y" { /* e.g. JUN-17-1992. */ pc->month = (yyvsp[(1) - (3)].intval); pc->day = -(yyvsp[(2) - (3)].textintval).value; pc->year.value = -(yyvsp[(3) - (3)].textintval).value; pc->year.digits = (yyvsp[(3) - (3)].textintval).digits; } break; case 36: #line 473 "getdate.y" { pc->month = (yyvsp[(1) - (2)].intval); pc->day = (yyvsp[(2) - (2)].textintval).value; } break; case 37: #line 478 "getdate.y" { pc->month = (yyvsp[(1) - (4)].intval); pc->day = (yyvsp[(2) - (4)].textintval).value; pc->year = (yyvsp[(4) - (4)].textintval); } break; case 38: #line 484 "getdate.y" { pc->day = (yyvsp[(1) - (2)].textintval).value; pc->month = (yyvsp[(2) - (2)].intval); } break; case 39: #line 489 "getdate.y" { pc->day = (yyvsp[(1) - (3)].textintval).value; pc->month = (yyvsp[(2) - (3)].intval); pc->year = (yyvsp[(3) - (3)].textintval); } break; case 40: #line 498 "getdate.y" { pc->rel.ns -= (yyvsp[(1) - (2)].rel).ns; pc->rel.seconds -= (yyvsp[(1) - (2)].rel).seconds; pc->rel.minutes -= (yyvsp[(1) - (2)].rel).minutes; pc->rel.hour -= (yyvsp[(1) - (2)].rel).hour; pc->rel.day -= (yyvsp[(1) - (2)].rel).day; pc->rel.month -= (yyvsp[(1) - (2)].rel).month; pc->rel.year -= (yyvsp[(1) - (2)].rel).year; } break; case 41: #line 508 "getdate.y" { pc->rel.ns += (yyvsp[(1) - (1)].rel).ns; pc->rel.seconds += (yyvsp[(1) - (1)].rel).seconds; pc->rel.minutes += (yyvsp[(1) - (1)].rel).minutes; pc->rel.hour += (yyvsp[(1) - (1)].rel).hour; pc->rel.day += (yyvsp[(1) - (1)].rel).day; pc->rel.month += (yyvsp[(1) - (1)].rel).month; pc->rel.year += (yyvsp[(1) - (1)].rel).year; } break; case 42: #line 521 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].intval); } break; case 43: #line 523 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; } break; case 44: #line 525 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = 1; } break; case 45: #line 527 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].intval); } break; case 46: #line 529 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; } break; case 47: #line 531 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = 1; } break; case 48: #line 533 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].intval) * (yyvsp[(2) - (2)].intval); } break; case 49: #line 535 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); } break; case 50: #line 537 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); } break; case 51: #line 539 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].intval); } break; case 52: #line 541 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; } break; case 53: #line 543 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = 1; } break; case 54: #line 545 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].intval); } break; case 55: #line 547 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; } break; case 56: #line 549 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = 1; } break; case 57: #line 551 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].intval); } break; case 58: #line 553 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; } break; case 59: #line 555 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; } break; case 60: #line 557 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; } break; case 61: #line 559 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = 1; } break; case 63: #line 565 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; } break; case 64: #line 567 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; } break; case 65: #line 569 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); } break; case 66: #line 571 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; } break; case 67: #line 573 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; } break; case 68: #line 575 "getdate.y" { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; } break; case 72: #line 583 "getdate.y" { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; } break; case 74: #line 589 "getdate.y" { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; } break; case 75: #line 594 "getdate.y" { digits_to_date_time (pc, (yyvsp[(1) - (1)].textintval)); } break; case 76: #line 599 "getdate.y" { /* Hybrid all-digit and relative offset, so that we accept e.g., "YYYYMMDD +N days" as well as "YYYYMMDD N days". */ digits_to_date_time (pc, (yyvsp[(1) - (2)].textintval)); pc->rel.ns += (yyvsp[(2) - (2)].rel).ns; pc->rel.seconds += (yyvsp[(2) - (2)].rel).seconds; pc->rel.minutes += (yyvsp[(2) - (2)].rel).minutes; pc->rel.hour += (yyvsp[(2) - (2)].rel).hour; pc->rel.day += (yyvsp[(2) - (2)].rel).day; pc->rel.month += (yyvsp[(2) - (2)].rel).month; pc->rel.year += (yyvsp[(2) - (2)].rel).year; pc->rels_seen = true; } break; case 77: #line 616 "getdate.y" { (yyval.intval) = -1; } break; case 78: #line 618 "getdate.y" { (yyval.intval) = (yyvsp[(2) - (2)].textintval).value; } break; case 79: #line 623 "getdate.y" { (yyval.intval) = MER24; } break; case 80: #line 625 "getdate.y" { (yyval.intval) = (yyvsp[(1) - (1)].intval); } break; /* Line 1267 of yacc.c. */ #line 2185 "getdate.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (pc, YY_("syntax error")); #else { YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) { YYSIZE_T yyalloc = 2 * yysize; if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) yyalloc = YYSTACK_ALLOC_MAXIMUM; if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yyalloc); if (yymsg) yymsg_alloc = yyalloc; else { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; } } if (0 < yysize && yysize <= yymsg_alloc) { (void) yysyntax_error (yymsg, yystate, yychar); yyerror (pc, yymsg); } else { yyerror (pc, YY_("syntax error")); if (yysize != 0) goto yyexhaustedlab; } } #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse look-ahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval, pc); yychar = YYEMPTY; } } /* Else will try to reuse look-ahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp, pc); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; *++yyvsp = yylval; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #ifndef yyoverflow /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (pc, YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEOF && yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, pc); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp, pc); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif /* Make sure YYID is used. */ return YYID (yyresult); } #line 628 "getdate.y" static table const meridian_table[] = { { "AM", tMERIDIAN, MERam }, { "A.M.", tMERIDIAN, MERam }, { "PM", tMERIDIAN, MERpm }, { "P.M.", tMERIDIAN, MERpm }, { NULL, 0, 0 } }; static table const dst_table[] = { { "DST", tDST, 0 } }; static table const month_and_day_table[] = { { "JANUARY", tMONTH, 1 }, { "FEBRUARY", tMONTH, 2 }, { "MARCH", tMONTH, 3 }, { "APRIL", tMONTH, 4 }, { "MAY", tMONTH, 5 }, { "JUNE", tMONTH, 6 }, { "JULY", tMONTH, 7 }, { "AUGUST", tMONTH, 8 }, { "SEPTEMBER",tMONTH, 9 }, { "SEPT", tMONTH, 9 }, { "OCTOBER", tMONTH, 10 }, { "NOVEMBER", tMONTH, 11 }, { "DECEMBER", tMONTH, 12 }, { "SUNDAY", tDAY, 0 }, { "MONDAY", tDAY, 1 }, { "TUESDAY", tDAY, 2 }, { "TUES", tDAY, 2 }, { "WEDNESDAY",tDAY, 3 }, { "WEDNES", tDAY, 3 }, { "THURSDAY", tDAY, 4 }, { "THUR", tDAY, 4 }, { "THURS", tDAY, 4 }, { "FRIDAY", tDAY, 5 }, { "SATURDAY", tDAY, 6 }, { NULL, 0, 0 } }; static table const time_units_table[] = { { "YEAR", tYEAR_UNIT, 1 }, { "MONTH", tMONTH_UNIT, 1 }, { "FORTNIGHT",tDAY_UNIT, 14 }, { "WEEK", tDAY_UNIT, 7 }, { "DAY", tDAY_UNIT, 1 }, { "HOUR", tHOUR_UNIT, 1 }, { "MINUTE", tMINUTE_UNIT, 1 }, { "MIN", tMINUTE_UNIT, 1 }, { "SECOND", tSEC_UNIT, 1 }, { "SEC", tSEC_UNIT, 1 }, { NULL, 0, 0 } }; /* Assorted relative-time words. */ static table const relative_time_table[] = { { "TOMORROW", tDAY_UNIT, 1 }, { "YESTERDAY",tDAY_UNIT, -1 }, { "TODAY", tDAY_UNIT, 0 }, { "NOW", tDAY_UNIT, 0 }, { "LAST", tORDINAL, -1 }, { "THIS", tORDINAL, 0 }, { "NEXT", tORDINAL, 1 }, { "FIRST", tORDINAL, 1 }, /*{ "SECOND", tORDINAL, 2 }, */ { "THIRD", tORDINAL, 3 }, { "FOURTH", tORDINAL, 4 }, { "FIFTH", tORDINAL, 5 }, { "SIXTH", tORDINAL, 6 }, { "SEVENTH", tORDINAL, 7 }, { "EIGHTH", tORDINAL, 8 }, { "NINTH", tORDINAL, 9 }, { "TENTH", tORDINAL, 10 }, { "ELEVENTH", tORDINAL, 11 }, { "TWELFTH", tORDINAL, 12 }, { "AGO", tAGO, 1 }, { NULL, 0, 0 } }; /* The universal time zone table. These labels can be used even for time stamps that would not otherwise be valid, e.g., GMT time stamps in London during summer. */ static table const universal_time_zone_table[] = { { "GMT", tZONE, HOUR ( 0) }, /* Greenwich Mean */ { "UT", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */ { "UTC", tZONE, HOUR ( 0) }, { NULL, 0, 0 } }; /* The time zone table. This table is necessarily incomplete, as time zone abbreviations are ambiguous; e.g. Australians interpret "EST" as Eastern time in Australia, not as US Eastern Standard Time. You cannot rely on getdate to handle arbitrary time zone abbreviations; use numeric abbreviations like `-0500' instead. */ static table const time_zone_table[] = { { "WET", tZONE, HOUR ( 0) }, /* Western European */ { "WEST", tDAYZONE, HOUR ( 0) }, /* Western European Summer */ { "BST", tDAYZONE, HOUR ( 0) }, /* British Summer */ { "ART", tZONE, -HOUR ( 3) }, /* Argentina */ { "BRT", tZONE, -HOUR ( 3) }, /* Brazil */ { "BRST", tDAYZONE, -HOUR ( 3) }, /* Brazil Summer */ { "NST", tZONE, -(HOUR ( 3) + 30) }, /* Newfoundland Standard */ { "NDT", tDAYZONE,-(HOUR ( 3) + 30) }, /* Newfoundland Daylight */ { "AST", tZONE, -HOUR ( 4) }, /* Atlantic Standard */ { "ADT", tDAYZONE, -HOUR ( 4) }, /* Atlantic Daylight */ { "CLT", tZONE, -HOUR ( 4) }, /* Chile */ { "CLST", tDAYZONE, -HOUR ( 4) }, /* Chile Summer */ { "EST", tZONE, -HOUR ( 5) }, /* Eastern Standard */ { "EDT", tDAYZONE, -HOUR ( 5) }, /* Eastern Daylight */ { "CST", tZONE, -HOUR ( 6) }, /* Central Standard */ { "CDT", tDAYZONE, -HOUR ( 6) }, /* Central Daylight */ { "MST", tZONE, -HOUR ( 7) }, /* Mountain Standard */ { "MDT", tDAYZONE, -HOUR ( 7) }, /* Mountain Daylight */ { "PST", tZONE, -HOUR ( 8) }, /* Pacific Standard */ { "PDT", tDAYZONE, -HOUR ( 8) }, /* Pacific Daylight */ { "AKST", tZONE, -HOUR ( 9) }, /* Alaska Standard */ { "AKDT", tDAYZONE, -HOUR ( 9) }, /* Alaska Daylight */ { "HST", tZONE, -HOUR (10) }, /* Hawaii Standard */ { "HAST", tZONE, -HOUR (10) }, /* Hawaii-Aleutian Standard */ { "HADT", tDAYZONE, -HOUR (10) }, /* Hawaii-Aleutian Daylight */ { "SST", tZONE, -HOUR (12) }, /* Samoa Standard */ { "WAT", tZONE, HOUR ( 1) }, /* West Africa */ { "CET", tZONE, HOUR ( 1) }, /* Central European */ { "CEST", tDAYZONE, HOUR ( 1) }, /* Central European Summer */ { "MET", tZONE, HOUR ( 1) }, /* Middle European */ { "MEZ", tZONE, HOUR ( 1) }, /* Middle European */ { "MEST", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */ { "MESZ", tDAYZONE, HOUR ( 1) }, /* Middle European Summer */ { "EET", tZONE, HOUR ( 2) }, /* Eastern European */ { "EEST", tDAYZONE, HOUR ( 2) }, /* Eastern European Summer */ { "CAT", tZONE, HOUR ( 2) }, /* Central Africa */ { "SAST", tZONE, HOUR ( 2) }, /* South Africa Standard */ { "EAT", tZONE, HOUR ( 3) }, /* East Africa */ { "MSK", tZONE, HOUR ( 3) }, /* Moscow */ { "MSD", tDAYZONE, HOUR ( 3) }, /* Moscow Daylight */ { "IST", tZONE, (HOUR ( 5) + 30) }, /* India Standard */ { "SGT", tZONE, HOUR ( 8) }, /* Singapore */ { "KST", tZONE, HOUR ( 9) }, /* Korea Standard */ { "JST", tZONE, HOUR ( 9) }, /* Japan Standard */ { "GST", tZONE, HOUR (10) }, /* Guam Standard */ { "NZST", tZONE, HOUR (12) }, /* New Zealand Standard */ { "NZDT", tDAYZONE, HOUR (12) }, /* New Zealand Daylight */ { NULL, 0, 0 } }; /* Military time zone table. */ static table const military_table[] = { { "A", tZONE, -HOUR ( 1) }, { "B", tZONE, -HOUR ( 2) }, { "C", tZONE, -HOUR ( 3) }, { "D", tZONE, -HOUR ( 4) }, { "E", tZONE, -HOUR ( 5) }, { "F", tZONE, -HOUR ( 6) }, { "G", tZONE, -HOUR ( 7) }, { "H", tZONE, -HOUR ( 8) }, { "I", tZONE, -HOUR ( 9) }, { "K", tZONE, -HOUR (10) }, { "L", tZONE, -HOUR (11) }, { "M", tZONE, -HOUR (12) }, { "N", tZONE, HOUR ( 1) }, { "O", tZONE, HOUR ( 2) }, { "P", tZONE, HOUR ( 3) }, { "Q", tZONE, HOUR ( 4) }, { "R", tZONE, HOUR ( 5) }, { "S", tZONE, HOUR ( 6) }, { "T", tZONE, HOUR ( 7) }, { "U", tZONE, HOUR ( 8) }, { "V", tZONE, HOUR ( 9) }, { "W", tZONE, HOUR (10) }, { "X", tZONE, HOUR (11) }, { "Y", tZONE, HOUR (12) }, { "Z", tZONE, HOUR ( 0) }, { NULL, 0, 0 } }; /* Convert a time zone expressed as HH:MM into an integer count of minutes. If MM is negative, then S is of the form HHMM and needs to be picked apart; otherwise, S is of the form HH. */ static long int time_zone_hhmm (textint s, long int mm) { if (mm < 0) return (s.value / 100) * 60 + s.value % 100; else return s.value * 60 + (s.negative ? -mm : mm); } static int to_hour (long int hours, int meridian) { switch (meridian) { default: /* Pacify GCC. */ case MER24: return 0 <= hours && hours < 24 ? hours : -1; case MERam: return 0 < hours && hours < 12 ? hours : hours == 12 ? 0 : -1; case MERpm: return 0 < hours && hours < 12 ? hours + 12 : hours == 12 ? 12 : -1; } } static long int to_year (textint textyear) { long int year = textyear.value; if (year < 0) year = -year; /* XPG4 suggests that years 00-68 map to 2000-2068, and years 69-99 map to 1969-1999. */ else if (textyear.digits == 2) year += year < 69 ? 2000 : 1900; return year; } static table const * lookup_zone (parser_control const *pc, char const *name) { table const *tp; for (tp = universal_time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; /* Try local zone abbreviations before those in time_zone_table, as the local ones are more likely to be right. */ for (tp = pc->local_time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; for (tp = time_zone_table; tp->name; tp++) if (strcmp (name, tp->name) == 0) return tp; return NULL; } #if ! HAVE_TM_GMTOFF /* Yield the difference between *A and *B, measured in seconds, ignoring leap seconds. The body of this function is taken directly from the GNU C Library; see src/strftime.c. */ static long int tm_diff (struct tm const *a, struct tm const *b) { /* Compute intervening leap days correctly even if year is negative. Take care to avoid int overflow in leap day calculations. */ int a4 = SHR (a->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (a->tm_year & 3); int b4 = SHR (b->tm_year, 2) + SHR (TM_YEAR_BASE, 2) - ! (b->tm_year & 3); int a100 = a4 / 25 - (a4 % 25 < 0); int b100 = b4 / 25 - (b4 % 25 < 0); int a400 = SHR (a100, 2); int b400 = SHR (b100, 2); int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); long int ayear = a->tm_year; long int years = ayear - b->tm_year; long int days = (365 * years + intervening_leap_days + (a->tm_yday - b->tm_yday)); return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour)) + (a->tm_min - b->tm_min)) + (a->tm_sec - b->tm_sec)); } #endif /* ! HAVE_TM_GMTOFF */ static table const * lookup_word (parser_control const *pc, char *word) { char *p; char *q; size_t wordlen; table const *tp; bool period_found; bool abbrev; /* Make it uppercase. */ for (p = word; *p; p++) { unsigned char ch = *p; *p = toupper (ch); } for (tp = meridian_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* See if we have an abbreviation for a month. */ wordlen = strlen (word); abbrev = wordlen == 3 || (wordlen == 4 && word[3] == '.'); for (tp = month_and_day_table; tp->name; tp++) if ((abbrev ? strncmp (word, tp->name, 3) : strcmp (word, tp->name)) == 0) return tp; if ((tp = lookup_zone (pc, word))) return tp; if (strcmp (word, dst_table[0].name) == 0) return dst_table; for (tp = time_units_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* Strip off any plural and try the units table again. */ if (word[wordlen - 1] == 'S') { word[wordlen - 1] = '\0'; for (tp = time_units_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; word[wordlen - 1] = 'S'; /* For "this" in relative_time_table. */ } for (tp = relative_time_table; tp->name; tp++) if (strcmp (word, tp->name) == 0) return tp; /* Military time zones. */ if (wordlen == 1) for (tp = military_table; tp->name; tp++) if (word[0] == tp->name[0]) return tp; /* Drop out any periods and try the time zone table again. */ for (period_found = false, p = q = word; (*p = *q); q++) if (*q == '.') period_found = true; else p++; if (period_found && (tp = lookup_zone (pc, word))) return tp; return NULL; } static int yylex (YYSTYPE *lvalp, parser_control *pc) { unsigned char c; size_t count; for (;;) { while (c = *pc->input, isspace (c)) pc->input++; if (ISDIGIT (c) || c == '-' || c == '+') { char const *p; int sign; unsigned long int value; if (c == '-' || c == '+') { sign = c == '-' ? -1 : 1; while (c = *++pc->input, isspace (c)) continue; if (! ISDIGIT (c)) /* skip the '-' sign */ continue; } else sign = 0; p = pc->input; for (value = 0; ; value *= 10) { unsigned long int value1 = value + (c - '0'); if (value1 < value) return '?'; value = value1; c = *++p; if (! ISDIGIT (c)) break; if (ULONG_MAX / 10 < value) return '?'; } if ((c == '.' || c == ',') && ISDIGIT (p[1])) { time_t s; int ns; int digits; unsigned long int value1; /* Check for overflow when converting value to time_t. */ if (sign < 0) { s = - value; if (0 < s) return '?'; value1 = -s; } else { s = value; if (s < 0) return '?'; value1 = s; } if (value != value1) return '?'; /* Accumulate fraction, to ns precision. */ p++; ns = *p++ - '0'; for (digits = 2; digits <= LOG10_BILLION; digits++) { ns *= 10; if (ISDIGIT (*p)) ns += *p++ - '0'; } /* Skip excess digits, truncating toward -Infinity. */ if (sign < 0) for (; ISDIGIT (*p); p++) if (*p != '0') { ns++; break; } while (ISDIGIT (*p)) p++; /* Adjust to the timespec convention, which is that tv_nsec is always a positive offset even if tv_sec is negative. */ if (sign < 0 && ns) { s--; if (! (s < 0)) return '?'; ns = BILLION - ns; } lvalp->timespec.tv_sec = s; lvalp->timespec.tv_nsec = ns; pc->input = p; return sign ? tSDECIMAL_NUMBER : tUDECIMAL_NUMBER; } else { lvalp->textintval.negative = sign < 0; if (sign < 0) { lvalp->textintval.value = - value; if (0 < lvalp->textintval.value) return '?'; } else { lvalp->textintval.value = value; if (lvalp->textintval.value < 0) return '?'; } lvalp->textintval.digits = p - pc->input; pc->input = p; return sign ? tSNUMBER : tUNUMBER; } } if (isalpha (c)) { char buff[20]; char *p = buff; table const *tp; do { if (p < buff + sizeof buff - 1) *p++ = c; c = *++pc->input; } while (isalpha (c) || c == '.'); *p = '\0'; tp = lookup_word (pc, buff); if (! tp) return '?'; lvalp->intval = tp->value; return tp->type; } if (c != '(') return *pc->input++; count = 0; do { c = *pc->input++; if (c == '\0') return c; if (c == '(') count++; else if (c == ')') count--; } while (count != 0); } } /* Do nothing if the parser reports an error. */ static int yyerror (parser_control const *pc ATTRIBUTE_UNUSED, char const *s ATTRIBUTE_UNUSED) { return 0; } /* If *TM0 is the old and *TM1 is the new value of a struct tm after passing it to mktime, return true if it's OK that mktime returned T. It's not OK if *TM0 has out-of-range members. */ static bool mktime_ok (struct tm const *tm0, struct tm const *tm1, time_t t) { if (t == (time_t) -1) { /* Guard against falsely reporting an error when parsing a time stamp that happens to equal (time_t) -1, on a host that supports such a time stamp. */ tm1 = localtime (&t); if (!tm1) return false; } return ! ((tm0->tm_sec ^ tm1->tm_sec) | (tm0->tm_min ^ tm1->tm_min) | (tm0->tm_hour ^ tm1->tm_hour) | (tm0->tm_mday ^ tm1->tm_mday) | (tm0->tm_mon ^ tm1->tm_mon) | (tm0->tm_year ^ tm1->tm_year)); } /* A reasonable upper bound for the size of ordinary TZ strings. Use heap allocation if TZ's length exceeds this. */ enum { TZBUFSIZE = 100 }; /* Return a copy of TZ, stored in TZBUF if it fits, and heap-allocated otherwise. */ static char * get_tz (char tzbuf[TZBUFSIZE]) { char *tz = getenv ("TZ"); if (tz) { size_t tzsize = strlen (tz) + 1; tz = (tzsize <= TZBUFSIZE ? memcpy (tzbuf, tz, tzsize) : xmemdup (tz, tzsize)); } return tz; } /* Parse a date/time string, storing the resulting time value into *RESULT. The string itself is pointed to by P. Return true if successful. P can be an incomplete or relative time specification; if so, use *NOW as the basis for the returned time. */ bool get_date (struct timespec *result, char const *p, struct timespec const *now) { time_t Start; long int Start_ns; struct tm const *tmp; struct tm tm; struct tm tm0; parser_control pc; struct timespec gettime_buffer; unsigned char c; bool tz_was_altered = false; char *tz0 = NULL; char tz0buf[TZBUFSIZE]; bool ok = true; if (! now) { gettime (&gettime_buffer); now = &gettime_buffer; } Start = now->tv_sec; Start_ns = now->tv_nsec; tmp = localtime (&now->tv_sec); if (! tmp) return false; while (c = *p, isspace (c)) p++; if (strncmp (p, "TZ=\"", 4) == 0) { char const *tzbase = p + 4; size_t tzsize = 1; char const *s; for (s = tzbase; *s; s++, tzsize++) if (*s == '\\') { s++; if (! (*s == '\\' || *s == '"')) break; } else if (*s == '"') { char *z; char *tz1; char tz1buf[TZBUFSIZE]; bool large_tz = TZBUFSIZE < tzsize; bool setenv_ok; tz0 = get_tz (tz0buf); z = tz1 = large_tz ? xmalloc (tzsize) : tz1buf; for (s = tzbase; *s != '"'; s++) *z++ = *(s += *s == '\\'); *z = '\0'; setenv_ok = setenv ("TZ", tz1, 1) == 0; if (large_tz) free (tz1); if (!setenv_ok) goto fail; tz_was_altered = true; p = s + 1; } } /* As documented, be careful to treat the empty string just like a date string of "0". Without this, an empty string would be declared invalid when parsed during a DST transition. */ if (*p == '\0') p = "0"; pc.input = p; pc.year.value = tmp->tm_year; pc.year.value += TM_YEAR_BASE; pc.year.digits = 0; pc.month = tmp->tm_mon + 1; pc.day = tmp->tm_mday; pc.hour = tmp->tm_hour; pc.minutes = tmp->tm_min; pc.seconds.tv_sec = tmp->tm_sec; pc.seconds.tv_nsec = Start_ns; tm.tm_isdst = tmp->tm_isdst; pc.meridian = MER24; pc.rel = RELATIVE_TIME_0; pc.timespec_seen = false; pc.rels_seen = false; pc.dates_seen = 0; pc.days_seen = 0; pc.times_seen = 0; pc.local_zones_seen = 0; pc.dsts_seen = 0; pc.zones_seen = 0; #if HAVE_STRUCT_TM_TM_ZONE pc.local_time_zone_table[0].name = tmp->tm_zone; pc.local_time_zone_table[0].type = tLOCAL_ZONE; pc.local_time_zone_table[0].value = tmp->tm_isdst; pc.local_time_zone_table[1].name = NULL; /* Probe the names used in the next three calendar quarters, looking for a tm_isdst different from the one we already have. */ { int quarter; for (quarter = 1; quarter <= 3; quarter++) { time_t probe = Start + quarter * (90 * 24 * 60 * 60); struct tm const *probe_tm = localtime (&probe); if (probe_tm && probe_tm->tm_zone && probe_tm->tm_isdst != pc.local_time_zone_table[0].value) { { pc.local_time_zone_table[1].name = probe_tm->tm_zone; pc.local_time_zone_table[1].type = tLOCAL_ZONE; pc.local_time_zone_table[1].value = probe_tm->tm_isdst; pc.local_time_zone_table[2].name = NULL; } break; } } } #else #if HAVE_TZNAME { # if !HAVE_DECL_TZNAME extern char *tzname[]; # endif int i; for (i = 0; i < 2; i++) { pc.local_time_zone_table[i].name = tzname[i]; pc.local_time_zone_table[i].type = tLOCAL_ZONE; pc.local_time_zone_table[i].value = i; } pc.local_time_zone_table[i].name = NULL; } #else pc.local_time_zone_table[0].name = NULL; #endif #endif if (pc.local_time_zone_table[0].name && pc.local_time_zone_table[1].name && ! strcmp (pc.local_time_zone_table[0].name, pc.local_time_zone_table[1].name)) { /* This locale uses the same abbrevation for standard and daylight times. So if we see that abbreviation, we don't know whether it's daylight time. */ pc.local_time_zone_table[0].value = -1; pc.local_time_zone_table[1].name = NULL; } if (yyparse (&pc) != 0) goto fail; if (pc.timespec_seen) *result = pc.seconds; else { if (1 < (pc.times_seen | pc.dates_seen | pc.days_seen | pc.dsts_seen | (pc.local_zones_seen + pc.zones_seen))) goto fail; tm.tm_year = to_year (pc.year) - TM_YEAR_BASE; tm.tm_mon = pc.month - 1; tm.tm_mday = pc.day; if (pc.times_seen || (pc.rels_seen && ! pc.dates_seen && ! pc.days_seen)) { tm.tm_hour = to_hour (pc.hour, pc.meridian); if (tm.tm_hour < 0) goto fail; tm.tm_min = pc.minutes; tm.tm_sec = pc.seconds.tv_sec; } else { tm.tm_hour = tm.tm_min = tm.tm_sec = 0; pc.seconds.tv_nsec = 0; } /* Let mktime deduce tm_isdst if we have an absolute time stamp. */ if (pc.dates_seen | pc.days_seen | pc.times_seen) tm.tm_isdst = -1; /* But if the input explicitly specifies local time with or without DST, give mktime that information. */ if (pc.local_zones_seen) tm.tm_isdst = pc.local_isdst; tm0 = tm; Start = mktime (&tm); if (! mktime_ok (&tm0, &tm, Start)) { if (! pc.zones_seen) goto fail; else { /* Guard against falsely reporting errors near the time_t boundaries when parsing times in other time zones. For example, suppose the input string "1969-12-31 23:00:00 -0100", the current time zone is 8 hours ahead of UTC, and the min time_t value is 1970-01-01 00:00:00 UTC. Then the min localtime value is 1970-01-01 08:00:00, and mktime will therefore fail on 1969-12-31 23:00:00. To work around the problem, set the time zone to 1 hour behind UTC temporarily by setting TZ="XXX1:00" and try mktime again. */ long int time_zone = pc.time_zone; long int abs_time_zone = time_zone < 0 ? - time_zone : time_zone; long int abs_time_zone_hour = abs_time_zone / 60; int abs_time_zone_min = abs_time_zone % 60; char tz1buf[sizeof "XXX+0:00" + sizeof pc.time_zone * CHAR_BIT / 3]; if (!tz_was_altered) tz0 = get_tz (tz0buf); sprintf (tz1buf, "XXX%s%ld:%02d", "-" + (time_zone < 0), abs_time_zone_hour, abs_time_zone_min); if (setenv ("TZ", tz1buf, 1) != 0) goto fail; tz_was_altered = true; tm = tm0; Start = mktime (&tm); if (! mktime_ok (&tm0, &tm, Start)) goto fail; } } if (pc.days_seen && ! pc.dates_seen) { tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7 + 7 * (pc.day_ordinal - (0 < pc.day_ordinal))); tm.tm_isdst = -1; Start = mktime (&tm); if (Start == (time_t) -1) goto fail; } if (pc.zones_seen) { long int delta = pc.time_zone * 60; time_t t1; #ifdef HAVE_TM_GMTOFF delta -= tm.tm_gmtoff; #else time_t t = Start; struct tm const *gmt = gmtime (&t); if (! gmt) goto fail; delta -= tm_diff (&tm, gmt); #endif t1 = Start - delta; if ((Start < t1) != (delta < 0)) goto fail; /* time_t overflow */ Start = t1; } /* Add relative date. */ if (pc.rel.year | pc.rel.month | pc.rel.day) { int year = tm.tm_year + pc.rel.year; int month = tm.tm_mon + pc.rel.month; int day = tm.tm_mday + pc.rel.day; if (((year < tm.tm_year) ^ (pc.rel.year < 0)) | ((month < tm.tm_mon) ^ (pc.rel.month < 0)) | ((day < tm.tm_mday) ^ (pc.rel.day < 0))) goto fail; tm.tm_year = year; tm.tm_mon = month; tm.tm_mday = day; tm.tm_hour = tm0.tm_hour; tm.tm_min = tm0.tm_min; tm.tm_sec = tm0.tm_sec; tm.tm_isdst = tm0.tm_isdst; Start = mktime (&tm); if (Start == (time_t) -1) goto fail; } /* Add relative hours, minutes, and seconds. On hosts that support leap seconds, ignore the possibility of leap seconds; e.g., "+ 10 minutes" adds 600 seconds, even if one of them is a leap second. Typically this is not what the user wants, but it's too hard to do it the other way, because the time zone indicator must be applied before relative times, and if mktime is applied again the time zone will be lost. */ { long int sum_ns = pc.seconds.tv_nsec + pc.rel.ns; long int normalized_ns = (sum_ns % BILLION + BILLION) % BILLION; time_t t0 = Start; long int d1 = 60 * 60 * pc.rel.hour; time_t t1 = t0 + d1; long int d2 = 60 * pc.rel.minutes; time_t t2 = t1 + d2; long int d3 = pc.rel.seconds; time_t t3 = t2 + d3; long int d4 = (sum_ns - normalized_ns) / BILLION; time_t t4 = t3 + d4; if ((d1 / (60 * 60) ^ pc.rel.hour) | (d2 / 60 ^ pc.rel.minutes) | ((t1 < t0) ^ (d1 < 0)) | ((t2 < t1) ^ (d2 < 0)) | ((t3 < t2) ^ (d3 < 0)) | ((t4 < t3) ^ (d4 < 0))) goto fail; result->tv_sec = t4; result->tv_nsec = normalized_ns; } } goto done; fail: ok = false; done: if (tz_was_altered) ok &= (tz0 ? setenv ("TZ", tz0, 1) : unsetenv ("TZ")) == 0; if (tz0 != tz0buf) free (tz0); return ok; } #if TEST int main (int ac, char **av) { char buff[BUFSIZ]; printf ("Enter date, or blank line to exit.\n\t> "); fflush (stdout); buff[BUFSIZ - 1] = '\0'; while (fgets (buff, BUFSIZ - 1, stdin) && buff[0]) { struct timespec d; struct tm const *tm; if (! get_date (&d, buff, NULL)) printf ("Bad format - couldn't convert.\n"); else if (! (tm = localtime (&d.tv_sec))) { long int sec = d.tv_sec; printf ("localtime (%ld) failed\n", sec); } else { int ns = d.tv_nsec; printf ("%04ld-%02d-%02d %02d:%02d:%02d.%09d\n", tm->tm_year + 1900L, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, ns); } printf ("\t> "); fflush (stdout); } return 0; } #endif /* TEST */ dc3dd-7.1.614/lib/sys_socket.in.h0000644000175000017500000000763211064230667016166 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Provide a sys/socket header file for systems lacking it (read: MinGW) and for systems where it is incomplete. Copyright (C) 2005-2008 Free Software Foundation, Inc. Written by Simon Josefsson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* This file is supposed to be used on platforms that lack , on platforms where cannot be included standalone, and on platforms where does not provide all necessary definitions. It is intended to provide definitions and prototypes needed by an application. */ #ifndef _GL_SYS_SOCKET_H #if @HAVE_SYS_SOCKET_H@ /* On many platforms, assumes prior inclusion of . */ # include /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_SYS_SOCKET_H@ #endif #ifndef _GL_SYS_SOCKET_H #define _GL_SYS_SOCKET_H #if @HAVE_SYS_SOCKET_H@ /* A platform that has . */ /* For shutdown(). */ # if !defined SHUT_RD # define SHUT_RD 0 # endif # if !defined SHUT_WR # define SHUT_WR 1 # endif # if !defined SHUT_RDWR # define SHUT_RDWR 2 # endif #else /* A platform that lacks . Currently only MinGW is supported. See the gnulib manual regarding Windows sockets. MinGW has the header files winsock2.h and ws2tcpip.h that declare the sys/socket.h definitions we need. Note that you can influence which definitions you get by setting the WINVER symbol before including these two files. For example, getaddrinfo is only available if _WIN32_WINNT >= 0x0501 (that symbol is set indiriectly through WINVER). You can set this by adding AC_DEFINE(WINVER, 0x0501) to configure.ac. Note that your code may not run on older Windows releases then. My Windows 2000 box was not able to run the code, for example. The situation is slightly confusing because: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/getaddrinfo_2.asp suggests that getaddrinfo should be available on all Windows releases. */ # if @HAVE_WINSOCK2_H@ # include # endif # if @HAVE_WS2TCPIP_H@ # include # endif /* For shutdown(). */ # if !defined SHUT_RD && defined SD_RECEIVE # define SHUT_RD SD_RECEIVE # endif # if !defined SHUT_WR && defined SD_SEND # define SHUT_WR SD_SEND # endif # if !defined SHUT_RDWR && defined SD_BOTH # define SHUT_RDWR SD_BOTH # endif # if defined _WIN32 || defined __WIN32__ # define ENOTSOCK WSAENOTSOCK # define EADDRINUSE WSAEADDRINUSE # define ENETRESET WSAENETRESET # define ECONNABORTED WSAECONNABORTED # define ECONNRESET WSAECONNRESET # define ENOTCONN WSAENOTCONN # define ESHUTDOWN WSAESHUTDOWN # endif # if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ # define setsockopt(a,b,c,d,e) rpl_setsockopt(a,b,c,d,e) static inline int rpl_setsockopt(int socket, int level, int optname, const void *optval, socklen_t optlen) { return (setsockopt)(socket, level, optname, optval, optlen); } # endif #endif /* HAVE_SYS_SOCKET_H */ #endif /* _GL_SYS_SOCKET_H */ #endif /* _GL_SYS_SOCKET_H */ dc3dd-7.1.614/lib/trim.h0000644000175000017500000000225011064230667014335 0ustar amedicoamedico/* Removes leading and/or trailing whitespaces Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Davide Angelocola */ /* Trim mode. */ #define TRIM_TRAILING 0 #define TRIM_LEADING 1 #define TRIM_BOTH 2 /* Removes trailing and leading whitespaces. */ #define trim(s) trim2((s), TRIM_BOTH) /* Removes trailing whitespaces. */ #define trim_trailing(s) trim2((s), TRIM_TRAILING) /* Removes leading whitespaces. */ #define trim_leading(s) trim2((s), TRIM_LEADING) char *trim2(const char *, int); dc3dd-7.1.614/lib/stdarg.in.h0000644000175000017500000000223211064230667015253 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Substitute for and wrapper around . Copyright (C) 2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _GL_STDARG_H /* The include_next requires a split double-inclusion guard. */ #@INCLUDE_NEXT@ @NEXT_STDARG_H@ #ifndef _GL_STDARG_H #define _GL_STDARG_H #ifndef va_copy # define va_copy(a,b) ((a) = (b)) #endif #endif /* _GL_STDARG_H */ #endif /* _GL_STDARG_H */ dc3dd-7.1.614/lib/asnprintf.c0000644000175000017500000000230611064230667015363 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Formatted output to strings. Copyright (C) 1999, 2002, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 /* Specification. */ #include "vasnprintf.h" #include char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) { va_list args; char *result; va_start (args, format); result = vasnprintf (resultbuf, lengthp, format, args); va_end (args); return result; } dc3dd-7.1.614/lib/strnumcmp.h0000644000175000017500000000014211022023316015371 0ustar amedicoamedicoint strintcmp (char const *, char const *); int strnumcmp (char const *, char const *, int, int); dc3dd-7.1.614/lib/fnmatch.c0000644000175000017500000002523011064230667015000 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Copyright (C) 1991,1992,1993,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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 _LIBC # include #endif /* Enable GNU extensions in fnmatch.h. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #if ! defined __builtin_expect && __GNUC__ < 3 # define __builtin_expect(expr, expected) (expr) #endif #include #include #include #include #include #include #include #include #include #define WIDE_CHAR_SUPPORT \ (HAVE_WCTYPE_H && HAVE_BTOWC && HAVE_ISWCTYPE \ && HAVE_WMEMCHR && (HAVE_WMEMCPY || HAVE_WMEMPCPY)) /* For platform which support the ISO C amendement 1 functionality we support user defined character classes. */ #if defined _LIBC || WIDE_CHAR_SUPPORT # include # include #endif /* We need some of the locale data (the collation sequence information) but there is no interface to get this information in general. Therefore we support a correct implementation only in glibc. */ #ifdef _LIBC # include "../locale/localeinfo.h" # include "../locale/elem-hash.h" # include "../locale/coll-lookup.h" # include # define CONCAT(a,b) __CONCAT(a,b) # define mbsrtowcs __mbsrtowcs # define fnmatch __fnmatch extern int fnmatch (const char *pattern, const char *string, int flags); #endif #ifndef SIZE_MAX # define SIZE_MAX ((size_t) -1) #endif /* We often have to test for FNM_FILE_NAME and FNM_PERIOD being both set. */ #define NO_LEADING_PERIOD(flags) \ ((flags & (FNM_FILE_NAME | FNM_PERIOD)) == (FNM_FILE_NAME | FNM_PERIOD)) /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself, and have not detected a bug in the library. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand `configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #if defined _LIBC || !defined __GNU_LIBRARY__ || !HAVE_FNMATCH_GNU # if ! (defined isblank || (HAVE_ISBLANK && HAVE_DECL_ISBLANK)) # define isblank(c) ((c) == ' ' || (c) == '\t') # endif # define STREQ(s1, s2) ((strcmp (s1, s2) == 0)) # if defined _LIBC || WIDE_CHAR_SUPPORT /* The GNU C library provides support for user-defined character classes and the functions from ISO C amendement 1. */ # ifdef CHARCLASS_NAME_MAX # define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX # else /* This shouldn't happen but some implementation might still have this problem. Use a reasonable default value. */ # define CHAR_CLASS_MAX_LENGTH 256 # endif # ifdef _LIBC # define IS_CHAR_CLASS(string) __wctype (string) # else # define IS_CHAR_CLASS(string) wctype (string) # endif # ifdef _LIBC # define ISWCTYPE(WC, WT) __iswctype (WC, WT) # else # define ISWCTYPE(WC, WT) iswctype (WC, WT) # endif # if (HAVE_MBSTATE_T && HAVE_MBSRTOWCS) || _LIBC /* In this case we are implementing the multibyte character handling. */ # define HANDLE_MULTIBYTE 1 # endif # else # define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */ # define IS_CHAR_CLASS(string) \ (STREQ (string, "alpha") || STREQ (string, "upper") \ || STREQ (string, "lower") || STREQ (string, "digit") \ || STREQ (string, "alnum") || STREQ (string, "xdigit") \ || STREQ (string, "space") || STREQ (string, "print") \ || STREQ (string, "punct") || STREQ (string, "graph") \ || STREQ (string, "cntrl") || STREQ (string, "blank")) # endif /* Avoid depending on library functions or files whose names are inconsistent. */ /* Global variable. */ static int posixly_correct; # ifndef internal_function /* Inside GNU libc we mark some function in a special way. In other environments simply ignore the marking. */ # define internal_function # endif /* Note that this evaluates C many times. */ # define FOLD(c) ((flags & FNM_CASEFOLD) ? tolower (c) : (c)) # define CHAR char # define UCHAR unsigned char # define INT int # define FCT internal_fnmatch # define EXT ext_match # define END end_pattern # define L_(CS) CS # ifdef _LIBC # define BTOWC(C) __btowc (C) # else # define BTOWC(C) btowc (C) # endif # define STRLEN(S) strlen (S) # define STRCAT(D, S) strcat (D, S) # ifdef _LIBC # define MEMPCPY(D, S, N) __mempcpy (D, S, N) # else # if HAVE_MEMPCPY # define MEMPCPY(D, S, N) mempcpy (D, S, N) # else # define MEMPCPY(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N))) # endif # endif # define MEMCHR(S, C, N) memchr (S, C, N) # define STRCOLL(S1, S2) strcoll (S1, S2) # include "fnmatch_loop.c" # if HANDLE_MULTIBYTE # define FOLD(c) ((flags & FNM_CASEFOLD) ? towlower (c) : (c)) # define CHAR wchar_t # define UCHAR wint_t # define INT wint_t # define FCT internal_fnwmatch # define EXT ext_wmatch # define END end_wpattern # define L_(CS) L##CS # define BTOWC(C) (C) # ifdef _LIBC # define STRLEN(S) __wcslen (S) # define STRCAT(D, S) __wcscat (D, S) # define MEMPCPY(D, S, N) __wmempcpy (D, S, N) # else # define STRLEN(S) wcslen (S) # define STRCAT(D, S) wcscat (D, S) # if HAVE_WMEMPCPY # define MEMPCPY(D, S, N) wmempcpy (D, S, N) # else # define MEMPCPY(D, S, N) (wmemcpy (D, S, N) + (N)) # endif # endif # define MEMCHR(S, C, N) wmemchr (S, C, N) # define STRCOLL(S1, S2) wcscoll (S1, S2) # define WIDE_CHAR_VERSION 1 # undef IS_CHAR_CLASS /* We have to convert the wide character string in a multibyte string. But we know that the character class names consist of alphanumeric characters from the portable character set, and since the wide character encoding for a member of the portable character set is the same code point as its single-byte encoding, we can use a simplified method to convert the string to a multibyte character string. */ static wctype_t is_char_class (const wchar_t *wcs) { char s[CHAR_CLASS_MAX_LENGTH + 1]; char *cp = s; do { /* Test for a printable character from the portable character set. */ # ifdef _LIBC if (*wcs < 0x20 || *wcs > 0x7e || *wcs == 0x24 || *wcs == 0x40 || *wcs == 0x60) return (wctype_t) 0; # else switch (*wcs) { case L' ': case L'!': case L'"': case L'#': case L'%': case L'&': case L'\'': case L'(': case L')': case L'*': case L'+': case L',': case L'-': case L'.': case L'/': case L'0': case L'1': case L'2': case L'3': case L'4': case L'5': case L'6': case L'7': case L'8': case L'9': case L':': case L';': case L'<': case L'=': case L'>': case L'?': case L'A': case L'B': case L'C': case L'D': case L'E': case L'F': case L'G': case L'H': case L'I': case L'J': case L'K': case L'L': case L'M': case L'N': case L'O': case L'P': case L'Q': case L'R': case L'S': case L'T': case L'U': case L'V': case L'W': case L'X': case L'Y': case L'Z': case L'[': case L'\\': case L']': case L'^': case L'_': case L'a': case L'b': case L'c': case L'd': case L'e': case L'f': case L'g': case L'h': case L'i': case L'j': case L'k': case L'l': case L'm': case L'n': case L'o': case L'p': case L'q': case L'r': case L's': case L't': case L'u': case L'v': case L'w': case L'x': case L'y': case L'z': case L'{': case L'|': case L'}': case L'~': break; default: return (wctype_t) 0; } # endif /* Avoid overrunning the buffer. */ if (cp == s + CHAR_CLASS_MAX_LENGTH) return (wctype_t) 0; *cp++ = (char) *wcs++; } while (*wcs != L'\0'); *cp = '\0'; # ifdef _LIBC return __wctype (s); # else return wctype (s); # endif } # define IS_CHAR_CLASS(string) is_char_class (string) # include "fnmatch_loop.c" # endif int fnmatch (const char *pattern, const char *string, int flags) { # if HANDLE_MULTIBYTE # define ALLOCA_LIMIT 2000 if (__builtin_expect (MB_CUR_MAX, 1) != 1) { mbstate_t ps; size_t patsize; size_t strsize; size_t totsize; wchar_t *wpattern; wchar_t *wstring; int res; /* Calculate the size needed to convert the strings to wide characters. */ memset (&ps, '\0', sizeof (ps)); patsize = mbsrtowcs (NULL, &pattern, 0, &ps) + 1; if (__builtin_expect (patsize != 0, 1)) { assert (mbsinit (&ps)); strsize = mbsrtowcs (NULL, &string, 0, &ps) + 1; if (__builtin_expect (strsize != 0, 1)) { assert (mbsinit (&ps)); totsize = patsize + strsize; if (__builtin_expect (! (patsize <= totsize && totsize <= SIZE_MAX / sizeof (wchar_t)), 0)) { errno = ENOMEM; return -1; } /* Allocate room for the wide characters. */ if (__builtin_expect (totsize < ALLOCA_LIMIT, 1)) wpattern = (wchar_t *) alloca (totsize * sizeof (wchar_t)); else { wpattern = malloc (totsize * sizeof (wchar_t)); if (__builtin_expect (! wpattern, 0)) { errno = ENOMEM; return -1; } } wstring = wpattern + patsize; /* Convert the strings into wide characters. */ mbsrtowcs (wpattern, &pattern, patsize, &ps); assert (mbsinit (&ps)); mbsrtowcs (wstring, &string, strsize, &ps); res = internal_fnwmatch (wpattern, wstring, wstring + strsize - 1, flags & FNM_PERIOD, flags); if (__builtin_expect (! (totsize < ALLOCA_LIMIT), 0)) free (wpattern); return res; } } } # endif /* HANDLE_MULTIBYTE */ return internal_fnmatch (pattern, string, string + strlen (string), flags & FNM_PERIOD, flags); } # ifdef _LIBC # undef fnmatch versioned_symbol (libc, __fnmatch, fnmatch, GLIBC_2_2_3); # if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_3) strong_alias (__fnmatch, __fnmatch_old) compat_symbol (libc, __fnmatch_old, fnmatch, GLIBC_2_0); # endif libc_hidden_ver (__fnmatch, fnmatch) # endif #endif /* _LIBC or not __GNU_LIBRARY__. */ dc3dd-7.1.614/lib/iconv_open-aix.h0000644000175000017500000002350111323425770016301 0ustar amedicoamedico/* ANSI-C code produced by gperf version 3.0.1 */ /* Command-line: gperf -m 10 ./iconv_open-aix.gperf */ /* Computed positions: -k'4,$' */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ #error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "./iconv_open-aix.gperf" struct mapping { int standard_name; const char vendor_name[10 + 1]; }; #define TOTAL_KEYWORDS 32 #define MIN_WORD_LENGTH 4 #define MAX_WORD_LENGTH 11 #define MIN_HASH_VALUE 6 #define MAX_HASH_VALUE 44 /* maximum key range = 39, duplicates = 0 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int mapping_hash (register const char *str, register unsigned int len) { static const unsigned char asso_values[] = { 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 4, 25, 0, 11, 24, 9, 17, 3, 14, 21, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 3, 45, 1, 45, 45, 45, 45, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45 }; return len + asso_values[(unsigned char)str[3]+2] + asso_values[(unsigned char)str[len - 1]]; } struct stringpool_t { char stringpool_str6[sizeof("EUC-TW")]; char stringpool_str7[sizeof("EUC-KR")]; char stringpool_str8[sizeof("CP852")]; char stringpool_str9[sizeof("EUC-JP")]; char stringpool_str10[sizeof("ISO-8859-2")]; char stringpool_str11[sizeof("CP857")]; char stringpool_str12[sizeof("CP850")]; char stringpool_str13[sizeof("ISO-8859-7")]; char stringpool_str14[sizeof("CP932")]; char stringpool_str15[sizeof("GB2312")]; char stringpool_str16[sizeof("BIG5")]; char stringpool_str17[sizeof("CP437")]; char stringpool_str19[sizeof("ISO-8859-5")]; char stringpool_str20[sizeof("ISO-8859-15")]; char stringpool_str21[sizeof("ISO-8859-3")]; char stringpool_str22[sizeof("ISO-8859-13")]; char stringpool_str23[sizeof("CP1046")]; char stringpool_str24[sizeof("ISO-8859-8")]; char stringpool_str25[sizeof("CP856")]; char stringpool_str26[sizeof("CP1125")]; char stringpool_str27[sizeof("ISO-8859-6")]; char stringpool_str28[sizeof("CP865")]; char stringpool_str29[sizeof("CP922")]; char stringpool_str30[sizeof("CP1252")]; char stringpool_str31[sizeof("ISO-8859-9")]; char stringpool_str33[sizeof("CP943")]; char stringpool_str34[sizeof("ISO-8859-4")]; char stringpool_str35[sizeof("ISO-8859-1")]; char stringpool_str38[sizeof("CP1129")]; char stringpool_str40[sizeof("CP869")]; char stringpool_str41[sizeof("CP1124")]; char stringpool_str44[sizeof("CP861")]; }; static const struct stringpool_t stringpool_contents = { "EUC-TW", "EUC-KR", "CP852", "EUC-JP", "ISO-8859-2", "CP857", "CP850", "ISO-8859-7", "CP932", "GB2312", "BIG5", "CP437", "ISO-8859-5", "ISO-8859-15", "ISO-8859-3", "ISO-8859-13", "CP1046", "ISO-8859-8", "CP856", "CP1125", "ISO-8859-6", "CP865", "CP922", "CP1252", "ISO-8859-9", "CP943", "ISO-8859-4", "ISO-8859-1", "CP1129", "CP869", "CP1124", "CP861" }; #define stringpool ((const char *) &stringpool_contents) static const struct mapping mappings[] = { {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 43 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "IBM-eucTW"}, #line 42 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "IBM-eucKR"}, #line 25 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "IBM-852"}, #line 41 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "IBM-eucJP"}, #line 14 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-2"}, #line 27 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "IBM-857"}, #line 24 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "IBM-850"}, #line 19 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-7"}, #line 33 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "IBM-932"}, #line 40 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "IBM-eucCN"}, #line 44 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "big5"}, #line 23 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "IBM-437"}, {-1}, #line 17 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-5"}, #line 22 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-15"}, #line 15 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-3"}, #line 31 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "IBM-921"}, #line 35 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "IBM-1046"}, #line 20 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "ISO8859-8"}, #line 26 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "IBM-856"}, #line 37 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "IBM-1125"}, #line 18 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"}, #line 29 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "IBM-865"}, #line 32 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "IBM-922"}, #line 39 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "IBM-1252"}, #line 21 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "ISO8859-9"}, {-1}, #line 34 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "IBM-943"}, #line 16 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-4"}, #line 13 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "ISO8859-1"}, {-1}, {-1}, #line 38 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "IBM-1129"}, {-1}, #line 30 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "IBM-869"}, #line 36 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"}, {-1}, {-1}, #line 28 "./iconv_open-aix.gperf" {(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "IBM-861"} }; #ifdef __GNUC__ __inline #endif const struct mapping * mapping_lookup (register const char *str, register unsigned int len) { if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = mapping_hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int o = mappings[key].standard_name; if (o >= 0) { register const char *s = o + stringpool; if (*str == *s && !strcmp (str + 1, s + 1)) return &mappings[key]; } } } return 0; } dc3dd-7.1.614/lib/isapipe.h0000644000175000017500000000020511022023316014773 0ustar amedicoamedico/* Whether pipes are FIFOs; -1 if not known. */ #ifndef HAVE_FIFO_PIPES # define HAVE_FIFO_PIPES (-1) #endif int isapipe (int fd); dc3dd-7.1.614/lib/same.c0000644000175000017500000000675111022023316014275 0ustar amedicoamedico/* Determine whether two file names refer to the same file. Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include #include #include #include #include #include #include #include #include #include #ifndef _POSIX_NAME_MAX # define _POSIX_NAME_MAX 14 #endif #include "same.h" #include "dirname.h" #include "error.h" #include "same-inode.h" #include "xalloc.h" #ifndef MIN # define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif /* Return nonzero if SOURCE and DEST point to the same name in the same directory. */ bool same_name (const char *source, const char *dest) { /* Compare the basenames. */ char const *source_basename = last_component (source); char const *dest_basename = last_component (dest); size_t source_baselen = base_len (source_basename); size_t dest_baselen = base_len (dest_basename); bool identical_basenames = (source_baselen == dest_baselen && memcmp (source_basename, dest_basename, dest_baselen) == 0); bool compare_dirs = identical_basenames; bool same = false; #if ! _POSIX_NO_TRUNC && HAVE_PATHCONF && defined _PC_NAME_MAX /* This implementation silently truncates components of file names. If the base names might be truncated, check whether the truncated base names are the same, while checking the directories. */ size_t slen_max = HAVE_LONG_FILE_NAMES ? 255 : _POSIX_NAME_MAX; size_t min_baselen = MIN (source_baselen, dest_baselen); if (slen_max <= min_baselen && memcmp (source_basename, dest_basename, slen_max) == 0) compare_dirs = true; #endif if (compare_dirs) { struct stat source_dir_stats; struct stat dest_dir_stats; char *source_dirname, *dest_dirname; /* Compare the parent directories (via the device and inode numbers). */ source_dirname = dir_name (source); dest_dirname = dir_name (dest); if (stat (source_dirname, &source_dir_stats)) { /* Shouldn't happen. */ error (1, errno, "%s", source_dirname); } if (stat (dest_dirname, &dest_dir_stats)) { /* Shouldn't happen. */ error (1, errno, "%s", dest_dirname); } same = SAME_INODE (source_dir_stats, dest_dir_stats); #if ! _POSIX_NO_TRUNC && HAVE_PATHCONF && defined _PC_NAME_MAX if (same && ! identical_basenames) { long name_max = (errno = 0, pathconf (dest_dirname, _PC_NAME_MAX)); if (name_max < 0) { if (errno) { /* Shouldn't happen. */ error (1, errno, "%s", dest_dirname); } same = false; } else same = (name_max <= min_baselen && memcmp (source_basename, dest_basename, name_max) == 0); } #endif free (source_dirname); free (dest_dirname); } return same; } dc3dd-7.1.614/lib/hash-pjw.h0000644000175000017500000000207411022023316015070 0ustar amedicoamedico/* hash-pjw.h -- declaration for a simple hash function Copyright (C) 2001, 2003 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Compute a hash code for a NUL-terminated string starting at X, and return the hash code modulo TABLESIZE. The result is platform dependent: it depends on the size of the 'size_t' type and on the signedness of the 'char' type. */ extern size_t hash_pjw (void const *x, size_t tablesize); dc3dd-7.1.614/lib/stdio-safer.h0000644000175000017500000000157611022023316015575 0ustar amedicoamedico/* Invoke stdio functions, but avoid some glitches. Copyright (C) 2001, 2003, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #include FILE *fopen_safer (char const *, char const *); FILE *tmpfile_safer (void); dc3dd-7.1.614/lib/memcmp.c0000644000175000017500000002103111022023316014612 0ustar amedicoamedico/* Copyright (C) 1991, 1993, 1995, 1997, 1998, 2003, 2006 Free Software Foundation, Inc. Contributed by Torbjorn Granlund (tege@sics.se). NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or 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, see . */ #ifndef _LIBC # include #endif #include #undef memcmp #ifdef _LIBC # include # include # if __BYTE_ORDER == __BIG_ENDIAN # define WORDS_BIGENDIAN # endif #else /* Not in the GNU C library. */ # include /* Type to use for aligned memory operations. This should normally be the biggest type supported by a single load and store. Must be an unsigned type. */ # define op_t unsigned long int # define OPSIZ (sizeof(op_t)) /* Threshold value for when to enter the unrolled loops. */ # define OP_T_THRES 16 /* Type to use for unaligned operations. */ typedef unsigned char byte; # ifndef WORDS_BIGENDIAN # define MERGE(w0, sh_1, w1, sh_2) (((w0) >> (sh_1)) | ((w1) << (sh_2))) # else # define MERGE(w0, sh_1, w1, sh_2) (((w0) << (sh_1)) | ((w1) >> (sh_2))) # endif #endif /* In the GNU C library. */ #ifdef WORDS_BIGENDIAN # define CMP_LT_OR_GT(a, b) ((a) > (b) ? 1 : -1) #else # define CMP_LT_OR_GT(a, b) memcmp_bytes ((a), (b)) #endif /* BE VERY CAREFUL IF YOU CHANGE THIS CODE! */ /* The strategy of this memcmp is: 1. Compare bytes until one of the block pointers is aligned. 2. Compare using memcmp_common_alignment or memcmp_not_common_alignment, regarding the alignment of the other block after the initial byte operations. The maximum number of full words (of type op_t) are compared in this way. 3. Compare the few remaining bytes. */ #ifndef WORDS_BIGENDIAN /* memcmp_bytes -- Compare A and B bytewise in the byte order of the machine. A and B are known to be different. This is needed only on little-endian machines. */ # ifdef __GNUC__ __inline # endif static int memcmp_bytes (long unsigned int a, long unsigned int b) { long int srcp1 = (long int) &a; long int srcp2 = (long int) &b; op_t a0, b0; do { a0 = ((byte *) srcp1)[0]; b0 = ((byte *) srcp2)[0]; srcp1 += 1; srcp2 += 1; } while (a0 == b0); return a0 - b0; } #endif /* memcmp_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN `op_t' objects (not LEN bytes!). Both SRCP1 and SRCP2 should be aligned for memory operations on `op_t's. */ #ifdef __GNUC__ __inline #endif static int memcmp_common_alignment (long int srcp1, long int srcp2, size_t len) { op_t a0, a1; op_t b0, b1; switch (len % 4) { default: /* Avoid warning about uninitialized local variables. */ case 2: a0 = ((op_t *) srcp1)[0]; b0 = ((op_t *) srcp2)[0]; srcp1 -= 2 * OPSIZ; srcp2 -= 2 * OPSIZ; len += 2; goto do1; case 3: a1 = ((op_t *) srcp1)[0]; b1 = ((op_t *) srcp2)[0]; srcp1 -= OPSIZ; srcp2 -= OPSIZ; len += 1; goto do2; case 0: if (OP_T_THRES <= 3 * OPSIZ && len == 0) return 0; a0 = ((op_t *) srcp1)[0]; b0 = ((op_t *) srcp2)[0]; goto do3; case 1: a1 = ((op_t *) srcp1)[0]; b1 = ((op_t *) srcp2)[0]; srcp1 += OPSIZ; srcp2 += OPSIZ; len -= 1; if (OP_T_THRES <= 3 * OPSIZ && len == 0) goto do0; /* Fall through. */ } do { a0 = ((op_t *) srcp1)[0]; b0 = ((op_t *) srcp2)[0]; if (a1 != b1) return CMP_LT_OR_GT (a1, b1); do3: a1 = ((op_t *) srcp1)[1]; b1 = ((op_t *) srcp2)[1]; if (a0 != b0) return CMP_LT_OR_GT (a0, b0); do2: a0 = ((op_t *) srcp1)[2]; b0 = ((op_t *) srcp2)[2]; if (a1 != b1) return CMP_LT_OR_GT (a1, b1); do1: a1 = ((op_t *) srcp1)[3]; b1 = ((op_t *) srcp2)[3]; if (a0 != b0) return CMP_LT_OR_GT (a0, b0); srcp1 += 4 * OPSIZ; srcp2 += 4 * OPSIZ; len -= 4; } while (len != 0); /* This is the right position for do0. Please don't move it into the loop. */ do0: if (a1 != b1) return CMP_LT_OR_GT (a1, b1); return 0; } /* memcmp_not_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN `op_t' objects (not LEN bytes!). SRCP2 should be aligned for memory operations on `op_t', but SRCP1 *should be unaligned*. */ #ifdef __GNUC__ __inline #endif static int memcmp_not_common_alignment (long int srcp1, long int srcp2, size_t len) { op_t a0, a1, a2, a3; op_t b0, b1, b2, b3; op_t x; int shl, shr; /* Calculate how to shift a word read at the memory operation aligned srcp1 to make it aligned for comparison. */ shl = 8 * (srcp1 % OPSIZ); shr = 8 * OPSIZ - shl; /* Make SRCP1 aligned by rounding it down to the beginning of the `op_t' it points in the middle of. */ srcp1 &= -OPSIZ; switch (len % 4) { default: /* Avoid warning about uninitialized local variables. */ case 2: a1 = ((op_t *) srcp1)[0]; a2 = ((op_t *) srcp1)[1]; b2 = ((op_t *) srcp2)[0]; srcp1 -= 1 * OPSIZ; srcp2 -= 2 * OPSIZ; len += 2; goto do1; case 3: a0 = ((op_t *) srcp1)[0]; a1 = ((op_t *) srcp1)[1]; b1 = ((op_t *) srcp2)[0]; srcp2 -= 1 * OPSIZ; len += 1; goto do2; case 0: if (OP_T_THRES <= 3 * OPSIZ && len == 0) return 0; a3 = ((op_t *) srcp1)[0]; a0 = ((op_t *) srcp1)[1]; b0 = ((op_t *) srcp2)[0]; srcp1 += 1 * OPSIZ; goto do3; case 1: a2 = ((op_t *) srcp1)[0]; a3 = ((op_t *) srcp1)[1]; b3 = ((op_t *) srcp2)[0]; srcp1 += 2 * OPSIZ; srcp2 += 1 * OPSIZ; len -= 1; if (OP_T_THRES <= 3 * OPSIZ && len == 0) goto do0; /* Fall through. */ } do { a0 = ((op_t *) srcp1)[0]; b0 = ((op_t *) srcp2)[0]; x = MERGE(a2, shl, a3, shr); if (x != b3) return CMP_LT_OR_GT (x, b3); do3: a1 = ((op_t *) srcp1)[1]; b1 = ((op_t *) srcp2)[1]; x = MERGE(a3, shl, a0, shr); if (x != b0) return CMP_LT_OR_GT (x, b0); do2: a2 = ((op_t *) srcp1)[2]; b2 = ((op_t *) srcp2)[2]; x = MERGE(a0, shl, a1, shr); if (x != b1) return CMP_LT_OR_GT (x, b1); do1: a3 = ((op_t *) srcp1)[3]; b3 = ((op_t *) srcp2)[3]; x = MERGE(a1, shl, a2, shr); if (x != b2) return CMP_LT_OR_GT (x, b2); srcp1 += 4 * OPSIZ; srcp2 += 4 * OPSIZ; len -= 4; } while (len != 0); /* This is the right position for do0. Please don't move it into the loop. */ do0: x = MERGE(a2, shl, a3, shr); if (x != b3) return CMP_LT_OR_GT (x, b3); return 0; } int rpl_memcmp (const void *s1, const void *s2, size_t len) { op_t a0; op_t b0; long int srcp1 = (long int) s1; long int srcp2 = (long int) s2; op_t res; if (len >= OP_T_THRES) { /* There are at least some bytes to compare. No need to test for LEN == 0 in this alignment loop. */ while (srcp2 % OPSIZ != 0) { a0 = ((byte *) srcp1)[0]; b0 = ((byte *) srcp2)[0]; srcp1 += 1; srcp2 += 1; res = a0 - b0; if (res != 0) return res; len -= 1; } /* SRCP2 is now aligned for memory operations on `op_t'. SRCP1 alignment determines if we can do a simple, aligned compare or need to shuffle bits. */ if (srcp1 % OPSIZ == 0) res = memcmp_common_alignment (srcp1, srcp2, len / OPSIZ); else res = memcmp_not_common_alignment (srcp1, srcp2, len / OPSIZ); if (res != 0) return res; /* Number of bytes remaining in the interval [0..OPSIZ-1]. */ srcp1 += len & -OPSIZ; srcp2 += len & -OPSIZ; len %= OPSIZ; } /* There are just a few bytes to compare. Use byte memory operations. */ while (len != 0) { a0 = ((byte *) srcp1)[0]; b0 = ((byte *) srcp2)[0]; srcp1 += 1; srcp2 += 1; res = a0 - b0; if (res != 0) return res; len -= 1; } return 0; } #ifdef weak_alias # undef bcmp weak_alias (memcmp, bcmp) #endif dc3dd-7.1.614/lib/creat-safer.c0000644000175000017500000000171011022023316015532 0ustar amedicoamedico/* Invoke creat, but avoid some glitches. Copyright (C) 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ #include #include "fcntl-safer.h" #include #include "unistd-safer.h" int creat_safer (char const *file, mode_t mode) { return fd_safer (creat (file, mode)); } dc3dd-7.1.614/lib/strverscmp.c0000644000175000017500000000767611064230667015606 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* Compare strings while treating digits characters numerically. Copyright (C) 1997, 2000, 2002, 2004, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jean-François Bignolles , 1997. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ #if !_LIBC # include #endif #include #include /* states: S_N: normal, S_I: comparing integral part, S_F: comparing fractional parts, S_Z: idem but with leading Zeroes only */ #define S_N 0x0 #define S_I 0x4 #define S_F 0x8 #define S_Z 0xC /* result_type: CMP: return diff; LEN: compare using len_diff/diff */ #define CMP 2 #define LEN 3 /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of `digit' even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) #undef __strverscmp #undef strverscmp #ifndef weak_alias # define __strverscmp strverscmp #endif /* Compare S1 and S2 as strings holding indices/version numbers, returning less than, equal to or greater than zero if S1 is less than, equal to or greater than S2 (for more info, see the texinfo doc). */ int __strverscmp (const char *s1, const char *s2) { const unsigned char *p1 = (const unsigned char *) s1; const unsigned char *p2 = (const unsigned char *) s2; unsigned char c1, c2; int state; int diff; /* Symbol(s) 0 [1-9] others (padding) Transition (10) 0 (01) d (00) x (11) - */ static const unsigned int next_state[] = { /* state x d 0 - */ /* S_N */ S_N, S_I, S_Z, S_N, /* S_I */ S_N, S_I, S_I, S_I, /* S_F */ S_N, S_F, S_F, S_F, /* S_Z */ S_N, S_F, S_Z, S_Z }; static const int result_type[] = { /* state x/x x/d x/0 x/- d/x d/d d/0 d/- 0/x 0/d 0/0 0/- -/x -/d -/0 -/- */ /* S_N */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, /* S_I */ CMP, -1, -1, CMP, 1, LEN, LEN, CMP, 1, LEN, LEN, CMP, CMP, CMP, CMP, CMP, /* S_F */ CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, /* S_Z */ CMP, 1, 1, CMP, -1, CMP, CMP, CMP, -1, CMP, CMP, CMP }; if (p1 == p2) return 0; c1 = *p1++; c2 = *p2++; /* Hint: '0' is a digit too. */ state = S_N | ((c1 == '0') + (ISDIGIT (c1) != 0)); while ((diff = c1 - c2) == 0 && c1 != '\0') { state = next_state[state]; c1 = *p1++; c2 = *p2++; state |= (c1 == '0') + (ISDIGIT (c1) != 0); } state = result_type[state << 2 | ((c2 == '0') + (ISDIGIT (c2) != 0))]; switch (state) { case CMP: return diff; case LEN: while (ISDIGIT (*p1++)) if (!ISDIGIT (*p2++)) return 1; return ISDIGIT (*p2) ? -1 : diff; default: return state; } } #ifdef weak_alias weak_alias (__strverscmp, strverscmp) #endif dc3dd-7.1.614/lib/vasnprintf.c0000644000175000017500000036264511064230667015570 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* vsprintf with automatic memory allocation. Copyright (C) 1999, 2002-2008 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* This file can be parametrized with the following macros: VASNPRINTF The name of the function being defined. FCHAR_T The element type of the format string. DCHAR_T The element type of the destination (result) string. FCHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters in the format string are ASCII. MUST be set if FCHAR_T and DCHAR_T are not the same type. DIRECTIVE Structure denoting a format directive. Depends on FCHAR_T. DIRECTIVES Structure denoting the set of format directives of a format string. Depends on FCHAR_T. PRINTF_PARSE Function that parses a format string. Depends on FCHAR_T. DCHAR_CPY memcpy like function for DCHAR_T[] arrays. DCHAR_SET memset like function for DCHAR_T[] arrays. DCHAR_MBSNLEN mbsnlen like function for DCHAR_T[] arrays. SNPRINTF The system's snprintf (or similar) function. This may be either snprintf or swprintf. TCHAR_T The element type of the argument and result string of the said SNPRINTF function. This may be either char or wchar_t. The code exploits that sizeof (TCHAR_T) | sizeof (DCHAR_T) and alignof (TCHAR_T) <= alignof (DCHAR_T). DCHAR_IS_TCHAR Set to 1 if DCHAR_T and TCHAR_T are the same type. DCHAR_CONV_FROM_ENCODING A function to convert from char[] to DCHAR[]. DCHAR_IS_UINT8_T Set to 1 if DCHAR_T is uint8_t. DCHAR_IS_UINT16_T Set to 1 if DCHAR_T is uint16_t. DCHAR_IS_UINT32_T Set to 1 if DCHAR_T is uint32_t. */ /* Tell glibc's to provide a prototype for snprintf(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifndef VASNPRINTF # include #endif #ifndef IN_LIBINTL # include #endif /* Specification. */ #ifndef VASNPRINTF # if WIDE_CHAR_VERSION # include "vasnwprintf.h" # else # include "vasnprintf.h" # endif #endif #include /* localeconv() */ #include /* snprintf(), sprintf() */ #include /* abort(), malloc(), realloc(), free() */ #include /* memcpy(), strlen() */ #include /* errno */ #include /* CHAR_BIT */ #include /* DBL_MAX_EXP, LDBL_MAX_EXP */ #if HAVE_NL_LANGINFO # include #endif #ifndef VASNPRINTF # if WIDE_CHAR_VERSION # include "wprintf-parse.h" # else # include "printf-parse.h" # endif #endif /* Checked size_t computations. */ #include "xsize.h" #if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL # include # include "float+.h" #endif #if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL # include # include "isnand.h" #endif #if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL # include # include "isnanl-nolibm.h" # include "fpucw.h" #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL # include # include "isnand.h" # include "printf-frexp.h" #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL # include # include "isnanl-nolibm.h" # include "printf-frexpl.h" # include "fpucw.h" #endif #if HAVE_WCHAR_T # if HAVE_WCSLEN # define local_wcslen wcslen # else /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid a dependency towards this library, here is a local substitute. Define this substitute only once, even if this file is included twice in the same compilation unit. */ # ifndef local_wcslen_defined # define local_wcslen_defined 1 static size_t local_wcslen (const wchar_t *s) { const wchar_t *ptr; for (ptr = s; *ptr != (wchar_t) 0; ptr++) ; return ptr - s; } # endif # endif #endif /* Default parameters. */ #ifndef VASNPRINTF # if WIDE_CHAR_VERSION # define VASNPRINTF vasnwprintf # define FCHAR_T wchar_t # define DCHAR_T wchar_t # define TCHAR_T wchar_t # define DCHAR_IS_TCHAR 1 # define DIRECTIVE wchar_t_directive # define DIRECTIVES wchar_t_directives # define PRINTF_PARSE wprintf_parse # define DCHAR_CPY wmemcpy # else # define VASNPRINTF vasnprintf # define FCHAR_T char # define DCHAR_T char # define TCHAR_T char # define DCHAR_IS_TCHAR 1 # define DIRECTIVE char_directive # define DIRECTIVES char_directives # define PRINTF_PARSE printf_parse # define DCHAR_CPY memcpy # endif #endif #if WIDE_CHAR_VERSION /* TCHAR_T is wchar_t. */ # define USE_SNPRINTF 1 # if HAVE_DECL__SNWPRINTF /* On Windows, the function swprintf() has a different signature than on Unix; we use the _snwprintf() function instead. */ # define SNPRINTF _snwprintf # else /* Unix. */ # define SNPRINTF swprintf # endif #else /* TCHAR_T is char. */ /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'. But don't use it on BeOS, since BeOS snprintf produces no output if the size argument is >= 0x3000000. Also don't use it on Linux libc5, since there snprintf with size = 1 writes any output without bounds, like sprintf. */ # if (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) && !defined __BEOS__ && !(__GNU_LIBRARY__ == 1) # define USE_SNPRINTF 1 # else # define USE_SNPRINTF 0 # endif # if HAVE_DECL__SNPRINTF /* Windows. */ # define SNPRINTF _snprintf # else /* Unix. */ # define SNPRINTF snprintf /* Here we need to call the native snprintf, not rpl_snprintf. */ # undef snprintf # endif #endif /* Here we need to call the native sprintf, not rpl_sprintf. */ #undef sprintf /* GCC >= 4.0 with -Wall emits unjustified "... may be used uninitialized" warnings in this file. Use -Dlint to suppress them. */ #ifdef lint # define IF_LINT(Code) Code #else # define IF_LINT(Code) /* empty */ #endif /* Avoid some warnings from "gcc -Wshadow". This file doesn't use the exp() and remainder() functions. */ #undef exp #define exp expo #undef remainder #define remainder rem #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL /* Determine the decimal-point character according to the current locale. */ # ifndef decimal_point_char_defined # define decimal_point_char_defined 1 static char decimal_point_char () { const char *point; /* Determine it in a multithread-safe way. We know nl_langinfo is multithread-safe on glibc systems, but is not required to be multithread- safe by POSIX. sprintf(), however, is multithread-safe. localeconv() is rarely multithread-safe. */ # if HAVE_NL_LANGINFO && __GLIBC__ point = nl_langinfo (RADIXCHAR); # elif 1 char pointbuf[5]; sprintf (pointbuf, "%#.0f", 1.0); point = &pointbuf[1]; # else point = localeconv () -> decimal_point; # endif /* The decimal point is always a single byte: either '.' or ','. */ return (point[0] != '\0' ? point[0] : '.'); } # endif #endif #if NEED_PRINTF_INFINITE_DOUBLE && !NEED_PRINTF_DOUBLE && !defined IN_LIBINTL /* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ static int is_infinite_or_zero (double x) { return isnand (x) || x + x == x; } #endif #if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE && !defined IN_LIBINTL /* Equivalent to !isfinite(x), but does not require libm. */ static int is_infinitel (long double x) { return isnanl (x) || (x + x == x && x != 0.0L); } #endif #if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL /* Converting 'long double' to decimal without rare rounding bugs requires real bignums. We use the naming conventions of GNU gmp, but vastly simpler (and slower) algorithms. */ typedef unsigned int mp_limb_t; # define GMP_LIMB_BITS 32 typedef int mp_limb_verify[2 * (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS) - 1]; typedef unsigned long long mp_twolimb_t; # define GMP_TWOLIMB_BITS 64 typedef int mp_twolimb_verify[2 * (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS) - 1]; /* Representation of a bignum >= 0. */ typedef struct { size_t nlimbs; mp_limb_t *limbs; /* Bits in little-endian order, allocated with malloc(). */ } mpn_t; /* Compute the product of two bignums >= 0. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * multiply (mpn_t src1, mpn_t src2, mpn_t *dest) { const mp_limb_t *p1; const mp_limb_t *p2; size_t len1; size_t len2; if (src1.nlimbs <= src2.nlimbs) { len1 = src1.nlimbs; p1 = src1.limbs; len2 = src2.nlimbs; p2 = src2.limbs; } else { len1 = src2.nlimbs; p1 = src2.limbs; len2 = src1.nlimbs; p2 = src1.limbs; } /* Now 0 <= len1 <= len2. */ if (len1 == 0) { /* src1 or src2 is zero. */ dest->nlimbs = 0; dest->limbs = (mp_limb_t *) malloc (1); } else { /* Here 1 <= len1 <= len2. */ size_t dlen; mp_limb_t *dp; size_t k, i, j; dlen = len1 + len2; dp = (mp_limb_t *) malloc (dlen * sizeof (mp_limb_t)); if (dp == NULL) return NULL; for (k = len2; k > 0; ) dp[--k] = 0; for (i = 0; i < len1; i++) { mp_limb_t digit1 = p1[i]; mp_twolimb_t carry = 0; for (j = 0; j < len2; j++) { mp_limb_t digit2 = p2[j]; carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; carry += dp[i + j]; dp[i + j] = (mp_limb_t) carry; carry = carry >> GMP_LIMB_BITS; } dp[i + len2] = (mp_limb_t) carry; } /* Normalise. */ while (dlen > 0 && dp[dlen - 1] == 0) dlen--; dest->nlimbs = dlen; dest->limbs = dp; } return dest->limbs; } /* Compute the quotient of a bignum a >= 0 and a bignum b > 0. a is written as a = q * b + r with 0 <= r < b. q is the quotient, r the remainder. Finally, round-to-even is performed: If r > b/2 or if r = b/2 and q is odd, q is incremented. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * divide (mpn_t a, mpn_t b, mpn_t *q) { /* Algorithm: First normalise a and b: a=[a[m-1],...,a[0]], b=[b[n-1],...,b[0]] with m>=0 and n>0 (in base beta = 2^GMP_LIMB_BITS). If m=n=1, perform a single-precision division: r:=0, j:=m, while j>0 do {Here (q[m-1]*beta^(m-1)+...+q[j]*beta^j) * b[0] + r*beta^j = = a[m-1]*beta^(m-1)+...+a[j]*beta^j und 0<=r=n>1, perform a multiple-precision division: We have a/b < beta^(m-n+1). s:=intDsize-1-(hightest bit in b[n-1]), 0<=s=beta/2. For j=m-n,...,0: {Here 0 <= r < b*beta^(j+1).} Compute q* : q* := floor((r[j+n]*beta+r[j+n-1])/b[n-1]). In case of overflow (q* >= beta) set q* := beta-1. Compute c2 := ((r[j+n]*beta+r[j+n-1]) - q* * b[n-1])*beta + r[j+n-2] and c3 := b[n-2] * q*. {We have 0 <= c2 < 2*beta^2, even 0 <= c2 < beta^2 if no overflow occurred. Furthermore 0 <= c3 < beta^2. If there was overflow and r[j+n]*beta+r[j+n-1] - q* * b[n-1] >= beta, i.e. c2 >= beta^2, the next test can be skipped.} While c3 > c2, {Here 0 <= c2 < c3 < beta^2} Put q* := q* - 1, c2 := c2 + b[n-1]*beta, c3 := c3 - b[n-2]. If q* > 0: Put r := r - b * q* * beta^j. In detail: [r[n+j],...,r[j]] := [r[n+j],...,r[j]] - q* * [b[n-1],...,b[0]]. hence: u:=0, for i:=0 to n-1 do u := u + q* * b[i], r[j+i]:=r[j+i]-(u mod beta) (+ beta, if carry), u:=u div beta (+ 1, if carry in subtraction) r[n+j]:=r[n+j]-u. {Since always u = (q* * [b[i-1],...,b[0]] div beta^i) + 1 < q* + 1 <= beta, the carry u does not overflow.} If a negative carry occurs, put q* := q* - 1 and [r[n+j],...,r[j]] := [r[n+j],...,r[j]] + [0,b[n-1],...,b[0]]. Set q[j] := q*. Normalise [q[m-n],..,q[0]]; this yields the quotient q. Shift [r[n-1],...,r[0]] right by s bits and normalise; this yields the rest r. The room for q[j] can be allocated at the memory location of r[n+j]. Finally, round-to-even: Shift r left by 1 bit. If r > b or if r = b and q[0] is odd, q := q+1. */ const mp_limb_t *a_ptr = a.limbs; size_t a_len = a.nlimbs; const mp_limb_t *b_ptr = b.limbs; size_t b_len = b.nlimbs; mp_limb_t *roomptr; mp_limb_t *tmp_roomptr = NULL; mp_limb_t *q_ptr; size_t q_len; mp_limb_t *r_ptr; size_t r_len; /* Allocate room for a_len+2 digits. (Need a_len+1 digits for the real division and 1 more digit for the final rounding of q.) */ roomptr = (mp_limb_t *) malloc ((a_len + 2) * sizeof (mp_limb_t)); if (roomptr == NULL) return NULL; /* Normalise a. */ while (a_len > 0 && a_ptr[a_len - 1] == 0) a_len--; /* Normalise b. */ for (;;) { if (b_len == 0) /* Division by zero. */ abort (); if (b_ptr[b_len - 1] == 0) b_len--; else break; } /* Here m = a_len >= 0 and n = b_len > 0. */ if (a_len < b_len) { /* m beta^(m-2) <= a/b < beta^m */ r_ptr = roomptr; q_ptr = roomptr + 1; { mp_limb_t den = b_ptr[0]; mp_limb_t remainder = 0; const mp_limb_t *sourceptr = a_ptr + a_len; mp_limb_t *destptr = q_ptr + a_len; size_t count; for (count = a_len; count > 0; count--) { mp_twolimb_t num = ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--sourceptr; *--destptr = num / den; remainder = num % den; } /* Normalise and store r. */ if (remainder > 0) { r_ptr[0] = remainder; r_len = 1; } else r_len = 0; /* Normalise q. */ q_len = a_len; if (q_ptr[q_len - 1] == 0) q_len--; } } else { /* n>1: multiple precision division. beta^(m-1) <= a < beta^m, beta^(n-1) <= b < beta^n ==> beta^(m-n-1) <= a/b < beta^(m-n+1). */ /* Determine s. */ size_t s; { mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ s = 31; if (msd >= 0x10000) { msd = msd >> 16; s -= 16; } if (msd >= 0x100) { msd = msd >> 8; s -= 8; } if (msd >= 0x10) { msd = msd >> 4; s -= 4; } if (msd >= 0x4) { msd = msd >> 2; s -= 2; } if (msd >= 0x2) { msd = msd >> 1; s -= 1; } } /* 0 <= s < GMP_LIMB_BITS. Copy b, shifting it left by s bits. */ if (s > 0) { tmp_roomptr = (mp_limb_t *) malloc (b_len * sizeof (mp_limb_t)); if (tmp_roomptr == NULL) { free (roomptr); return NULL; } { const mp_limb_t *sourceptr = b_ptr; mp_limb_t *destptr = tmp_roomptr; mp_twolimb_t accu = 0; size_t count; for (count = b_len; count > 0; count--) { accu += (mp_twolimb_t) *sourceptr++ << s; *destptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } /* accu must be zero, since that was how s was determined. */ if (accu != 0) abort (); } b_ptr = tmp_roomptr; } /* Copy a, shifting it left by s bits, yields r. Memory layout: At the beginning: r = roomptr[0..a_len], at the end: r = roomptr[0..b_len-1], q = roomptr[b_len..a_len] */ r_ptr = roomptr; if (s == 0) { memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t)); r_ptr[a_len] = 0; } else { const mp_limb_t *sourceptr = a_ptr; mp_limb_t *destptr = r_ptr; mp_twolimb_t accu = 0; size_t count; for (count = a_len; count > 0; count--) { accu += (mp_twolimb_t) *sourceptr++ << s; *destptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } *destptr++ = (mp_limb_t) accu; } q_ptr = roomptr + b_len; q_len = a_len - b_len + 1; /* q will have m-n+1 limbs */ { size_t j = a_len - b_len; /* m-n */ mp_limb_t b_msd = b_ptr[b_len - 1]; /* b[n-1] */ mp_limb_t b_2msd = b_ptr[b_len - 2]; /* b[n-2] */ mp_twolimb_t b_msdd = /* b[n-1]*beta+b[n-2] */ ((mp_twolimb_t) b_msd << GMP_LIMB_BITS) | b_2msd; /* Division loop, traversed m-n+1 times. j counts down, b is unchanged, beta/2 <= b[n-1] < beta. */ for (;;) { mp_limb_t q_star; mp_limb_t c1; if (r_ptr[j + b_len] < b_msd) /* r[j+n] < b[n-1] ? */ { /* Divide r[j+n]*beta+r[j+n-1] by b[n-1], no overflow. */ mp_twolimb_t num = ((mp_twolimb_t) r_ptr[j + b_len] << GMP_LIMB_BITS) | r_ptr[j + b_len - 1]; q_star = num / b_msd; c1 = num % b_msd; } else { /* Overflow, hence r[j+n]*beta+r[j+n-1] >= beta*b[n-1]. */ q_star = (mp_limb_t)~(mp_limb_t)0; /* q* = beta-1 */ /* Test whether r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] >= beta <==> r[j+n]*beta+r[j+n-1] + b[n-1] >= beta*b[n-1]+beta <==> b[n-1] < floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) {<= beta !}. If yes, jump directly to the subtraction loop. (Otherwise, r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] < beta <==> floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) = b[n-1] ) */ if (r_ptr[j + b_len] > b_msd || (c1 = r_ptr[j + b_len - 1] + b_msd) < b_msd) /* r[j+n] >= b[n-1]+1 or r[j+n] = b[n-1] and the addition r[j+n-1]+b[n-1] gives a carry. */ goto subtract; } /* q_star = q*, c1 = (r[j+n]*beta+r[j+n-1]) - q* * b[n-1] (>=0, 0, decrease it by b[n-1]*beta+b[n-2]. Because of b[n-1]*beta+b[n-2] >= beta^2/2 this can happen only twice. */ if (c3 > c2) { q_star = q_star - 1; /* q* := q* - 1 */ if (c3 - c2 > b_msdd) q_star = q_star - 1; /* q* := q* - 1 */ } } if (q_star > 0) subtract: { /* Subtract r := r - b * q* * beta^j. */ mp_limb_t cr; { const mp_limb_t *sourceptr = b_ptr; mp_limb_t *destptr = r_ptr + j; mp_twolimb_t carry = 0; size_t count; for (count = b_len; count > 0; count--) { /* Here 0 <= carry <= q*. */ carry = carry + (mp_twolimb_t) q_star * (mp_twolimb_t) *sourceptr++ + (mp_limb_t) ~(*destptr); /* Here 0 <= carry <= beta*q* + beta-1. */ *destptr++ = ~(mp_limb_t) carry; carry = carry >> GMP_LIMB_BITS; /* <= q* */ } cr = (mp_limb_t) carry; } /* Subtract cr from r_ptr[j + b_len], then forget about r_ptr[j + b_len]. */ if (cr > r_ptr[j + b_len]) { /* Subtraction gave a carry. */ q_star = q_star - 1; /* q* := q* - 1 */ /* Add b back. */ { const mp_limb_t *sourceptr = b_ptr; mp_limb_t *destptr = r_ptr + j; mp_limb_t carry = 0; size_t count; for (count = b_len; count > 0; count--) { mp_limb_t source1 = *sourceptr++; mp_limb_t source2 = *destptr; *destptr++ = source1 + source2 + carry; carry = (carry ? source1 >= (mp_limb_t) ~source2 : source1 > (mp_limb_t) ~source2); } } /* Forget about the carry and about r[j+n]. */ } } /* q* is determined. Store it as q[j]. */ q_ptr[j] = q_star; if (j == 0) break; j--; } } r_len = b_len; /* Normalise q. */ if (q_ptr[q_len - 1] == 0) q_len--; # if 0 /* Not needed here, since we need r only to compare it with b/2, and b is shifted left by s bits. */ /* Shift r right by s bits. */ if (s > 0) { mp_limb_t ptr = r_ptr + r_len; mp_twolimb_t accu = 0; size_t count; for (count = r_len; count > 0; count--) { accu = (mp_twolimb_t) (mp_limb_t) accu << GMP_LIMB_BITS; accu += (mp_twolimb_t) *--ptr << (GMP_LIMB_BITS - s); *ptr = (mp_limb_t) (accu >> GMP_LIMB_BITS); } } # endif /* Normalise r. */ while (r_len > 0 && r_ptr[r_len - 1] == 0) r_len--; } /* Compare r << 1 with b. */ if (r_len > b_len) goto increment_q; { size_t i; for (i = b_len;;) { mp_limb_t r_i = (i <= r_len && i > 0 ? r_ptr[i - 1] >> (GMP_LIMB_BITS - 1) : 0) | (i < r_len ? r_ptr[i] << 1 : 0); mp_limb_t b_i = (i < b_len ? b_ptr[i] : 0); if (r_i > b_i) goto increment_q; if (r_i < b_i) goto keep_q; if (i == 0) break; i--; } } if (q_len > 0 && ((q_ptr[0] & 1) != 0)) /* q is odd. */ increment_q: { size_t i; for (i = 0; i < q_len; i++) if (++(q_ptr[i]) != 0) goto keep_q; q_ptr[q_len++] = 1; } keep_q: if (tmp_roomptr != NULL) free (tmp_roomptr); q->limbs = q_ptr; q->nlimbs = q_len; return roomptr; } /* Convert a bignum a >= 0, multiplied with 10^extra_zeroes, to decimal representation. Destroys the contents of a. Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * convert_to_decimal (mpn_t a, size_t extra_zeroes) { mp_limb_t *a_ptr = a.limbs; size_t a_len = a.nlimbs; /* 0.03345 is slightly larger than log(2)/(9*log(10)). */ size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1); char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes)); if (c_ptr != NULL) { char *d_ptr = c_ptr; for (; extra_zeroes > 0; extra_zeroes--) *d_ptr++ = '0'; while (a_len > 0) { /* Divide a by 10^9, in-place. */ mp_limb_t remainder = 0; mp_limb_t *ptr = a_ptr + a_len; size_t count; for (count = a_len; count > 0; count--) { mp_twolimb_t num = ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--ptr; *ptr = num / 1000000000; remainder = num % 1000000000; } /* Store the remainder as 9 decimal digits. */ for (count = 9; count > 0; count--) { *d_ptr++ = '0' + (remainder % 10); remainder = remainder / 10; } /* Normalize a. */ if (a_ptr[a_len - 1] == 0) a_len--; } /* Remove leading zeroes. */ while (d_ptr > c_ptr && d_ptr[-1] == '0') d_ptr--; /* But keep at least one zero. */ if (d_ptr == c_ptr) *d_ptr++ = '0'; /* Terminate the string. */ *d_ptr = '\0'; } return c_ptr; } # if NEED_PRINTF_LONG_DOUBLE /* Assuming x is finite and >= 0: write x as x = 2^e * m, where m is a bignum. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * decode_long_double (long double x, int *ep, mpn_t *mp) { mpn_t m; int exp; long double y; size_t i; /* Allocate memory for result. */ m.nlimbs = (LDBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); if (m.limbs == NULL) return NULL; /* Split into exponential part and mantissa. */ y = frexpl (x, &exp); if (!(y >= 0.0L && y < 1.0L)) abort (); /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * LDBL_MANT_BIT), and the latter is an integer. */ /* Convert the mantissa (y * LDBL_MANT_BIT) to a sequence of limbs. I'm not sure whether it's safe to cast a 'long double' value between 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only 'long double' values between 0 and 2^16 (to 'unsigned int' or 'int', doesn't matter). */ # if (LDBL_MANT_BIT % GMP_LIMB_BITS) != 0 # if (LDBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % (GMP_LIMB_BITS / 2)); hi = (int) y; y -= hi; if (!(y >= 0.0L && y < 1.0L)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0L && y < 1.0L)) abort (); m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; } # else { mp_limb_t d; y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % GMP_LIMB_BITS); d = (int) y; y -= d; if (!(y >= 0.0L && y < 1.0L)) abort (); m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = d; } # endif # endif for (i = LDBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); hi = (int) y; y -= hi; if (!(y >= 0.0L && y < 1.0L)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0L && y < 1.0L)) abort (); m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; } #if 0 /* On FreeBSD 6.1/x86, 'long double' numbers sometimes have excess precision. */ if (!(y == 0.0L)) abort (); #endif /* Normalise. */ while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) m.nlimbs--; *mp = m; *ep = exp - LDBL_MANT_BIT; return m.limbs; } # endif # if NEED_PRINTF_DOUBLE /* Assuming x is finite and >= 0: write x as x = 2^e * m, where m is a bignum. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * decode_double (double x, int *ep, mpn_t *mp) { mpn_t m; int exp; double y; size_t i; /* Allocate memory for result. */ m.nlimbs = (DBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); if (m.limbs == NULL) return NULL; /* Split into exponential part and mantissa. */ y = frexp (x, &exp); if (!(y >= 0.0 && y < 1.0)) abort (); /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * DBL_MANT_BIT), and the latter is an integer. */ /* Convert the mantissa (y * DBL_MANT_BIT) to a sequence of limbs. I'm not sure whether it's safe to cast a 'double' value between 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only 'double' values between 0 and 2^16 (to 'unsigned int' or 'int', doesn't matter). */ # if (DBL_MANT_BIT % GMP_LIMB_BITS) != 0 # if (DBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (DBL_MANT_BIT % (GMP_LIMB_BITS / 2)); hi = (int) y; y -= hi; if (!(y >= 0.0 && y < 1.0)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0 && y < 1.0)) abort (); m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; } # else { mp_limb_t d; y *= (mp_limb_t) 1 << (DBL_MANT_BIT % GMP_LIMB_BITS); d = (int) y; y -= d; if (!(y >= 0.0 && y < 1.0)) abort (); m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = d; } # endif # endif for (i = DBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); hi = (int) y; y -= hi; if (!(y >= 0.0 && y < 1.0)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0 && y < 1.0)) abort (); m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; } if (!(y == 0.0)) abort (); /* Normalise. */ while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) m.nlimbs--; *mp = m; *ep = exp - DBL_MANT_BIT; return m.limbs; } # endif /* Assuming x = 2^e * m is finite and >= 0, and n is an integer: Returns the decimal representation of round (x * 10^n). Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n) { int s; size_t extra_zeroes; unsigned int abs_n; unsigned int abs_s; mp_limb_t *pow5_ptr; size_t pow5_len; unsigned int s_limbs; unsigned int s_bits; mpn_t pow5; mpn_t z; void *z_memory; char *digits; if (memory == NULL) return NULL; /* x = 2^e * m, hence y = round (2^e * 10^n * m) = round (2^(e+n) * 5^n * m) = round (2^s * 5^n * m). */ s = e + n; extra_zeroes = 0; /* Factor out a common power of 10 if possible. */ if (s > 0 && n > 0) { extra_zeroes = (s < n ? s : n); s -= extra_zeroes; n -= extra_zeroes; } /* Here y = round (2^s * 5^n * m) * 10^extra_zeroes. Before converting to decimal, we need to compute z = round (2^s * 5^n * m). */ /* Compute 5^|n|, possibly shifted by |s| bits if n and s have the same sign. 2.322 is slightly larger than log(5)/log(2). */ abs_n = (n >= 0 ? n : -n); abs_s = (s >= 0 ? s : -s); pow5_ptr = (mp_limb_t *) malloc (((int)(abs_n * (2.322f / GMP_LIMB_BITS)) + 1 + abs_s / GMP_LIMB_BITS + 1) * sizeof (mp_limb_t)); if (pow5_ptr == NULL) { free (memory); return NULL; } /* Initialize with 1. */ pow5_ptr[0] = 1; pow5_len = 1; /* Multiply with 5^|n|. */ if (abs_n > 0) { static mp_limb_t const small_pow5[13 + 1] = { 1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125 }; unsigned int n13; for (n13 = 0; n13 <= abs_n; n13 += 13) { mp_limb_t digit1 = small_pow5[n13 + 13 <= abs_n ? 13 : abs_n - n13]; size_t j; mp_twolimb_t carry = 0; for (j = 0; j < pow5_len; j++) { mp_limb_t digit2 = pow5_ptr[j]; carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; pow5_ptr[j] = (mp_limb_t) carry; carry = carry >> GMP_LIMB_BITS; } if (carry > 0) pow5_ptr[pow5_len++] = (mp_limb_t) carry; } } s_limbs = abs_s / GMP_LIMB_BITS; s_bits = abs_s % GMP_LIMB_BITS; if (n >= 0 ? s >= 0 : s <= 0) { /* Multiply with 2^|s|. */ if (s_bits > 0) { mp_limb_t *ptr = pow5_ptr; mp_twolimb_t accu = 0; size_t count; for (count = pow5_len; count > 0; count--) { accu += (mp_twolimb_t) *ptr << s_bits; *ptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } if (accu > 0) { *ptr = (mp_limb_t) accu; pow5_len++; } } if (s_limbs > 0) { size_t count; for (count = pow5_len; count > 0;) { count--; pow5_ptr[s_limbs + count] = pow5_ptr[count]; } for (count = s_limbs; count > 0;) { count--; pow5_ptr[count] = 0; } pow5_len += s_limbs; } pow5.limbs = pow5_ptr; pow5.nlimbs = pow5_len; if (n >= 0) { /* Multiply m with pow5. No division needed. */ z_memory = multiply (m, pow5, &z); } else { /* Divide m by pow5 and round. */ z_memory = divide (m, pow5, &z); } } else { pow5.limbs = pow5_ptr; pow5.nlimbs = pow5_len; if (n >= 0) { /* n >= 0, s < 0. Multiply m with pow5, then divide by 2^|s|. */ mpn_t numerator; mpn_t denominator; void *tmp_memory; tmp_memory = multiply (m, pow5, &numerator); if (tmp_memory == NULL) { free (pow5_ptr); free (memory); return NULL; } /* Construct 2^|s|. */ { mp_limb_t *ptr = pow5_ptr + pow5_len; size_t i; for (i = 0; i < s_limbs; i++) ptr[i] = 0; ptr[s_limbs] = (mp_limb_t) 1 << s_bits; denominator.limbs = ptr; denominator.nlimbs = s_limbs + 1; } z_memory = divide (numerator, denominator, &z); free (tmp_memory); } else { /* n < 0, s > 0. Multiply m with 2^s, then divide by pow5. */ mpn_t numerator; mp_limb_t *num_ptr; num_ptr = (mp_limb_t *) malloc ((m.nlimbs + s_limbs + 1) * sizeof (mp_limb_t)); if (num_ptr == NULL) { free (pow5_ptr); free (memory); return NULL; } { mp_limb_t *destptr = num_ptr; { size_t i; for (i = 0; i < s_limbs; i++) *destptr++ = 0; } if (s_bits > 0) { const mp_limb_t *sourceptr = m.limbs; mp_twolimb_t accu = 0; size_t count; for (count = m.nlimbs; count > 0; count--) { accu += (mp_twolimb_t) *sourceptr++ << s_bits; *destptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } if (accu > 0) *destptr++ = (mp_limb_t) accu; } else { const mp_limb_t *sourceptr = m.limbs; size_t count; for (count = m.nlimbs; count > 0; count--) *destptr++ = *sourceptr++; } numerator.limbs = num_ptr; numerator.nlimbs = destptr - num_ptr; } z_memory = divide (numerator, pow5, &z); free (num_ptr); } } free (pow5_ptr); free (memory); /* Here y = round (x * 10^n) = z * 10^extra_zeroes. */ if (z_memory == NULL) return NULL; digits = convert_to_decimal (z, extra_zeroes); free (z_memory); return digits; } # if NEED_PRINTF_LONG_DOUBLE /* Assuming x is finite and >= 0, and n is an integer: Returns the decimal representation of round (x * 10^n). Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * scale10_round_decimal_long_double (long double x, int n) { int e IF_LINT(= 0); mpn_t m; void *memory = decode_long_double (x, &e, &m); return scale10_round_decimal_decoded (e, m, memory, n); } # endif # if NEED_PRINTF_DOUBLE /* Assuming x is finite and >= 0, and n is an integer: Returns the decimal representation of round (x * 10^n). Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * scale10_round_decimal_double (double x, int n) { int e IF_LINT(= 0); mpn_t m; void *memory = decode_double (x, &e, &m); return scale10_round_decimal_decoded (e, m, memory, n); } # endif # if NEED_PRINTF_LONG_DOUBLE /* Assuming x is finite and > 0: Return an approximation for n with 10^n <= x < 10^(n+1). The approximation is usually the right n, but may be off by 1 sometimes. */ static int floorlog10l (long double x) { int exp; long double y; double z; double l; /* Split into exponential part and mantissa. */ y = frexpl (x, &exp); if (!(y >= 0.0L && y < 1.0L)) abort (); if (y == 0.0L) return INT_MIN; if (y < 0.5L) { while (y < (1.0L / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) { y *= 1.0L * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); exp -= GMP_LIMB_BITS; } if (y < (1.0L / (1 << 16))) { y *= 1.0L * (1 << 16); exp -= 16; } if (y < (1.0L / (1 << 8))) { y *= 1.0L * (1 << 8); exp -= 8; } if (y < (1.0L / (1 << 4))) { y *= 1.0L * (1 << 4); exp -= 4; } if (y < (1.0L / (1 << 2))) { y *= 1.0L * (1 << 2); exp -= 2; } if (y < (1.0L / (1 << 1))) { y *= 1.0L * (1 << 1); exp -= 1; } } if (!(y >= 0.5L && y < 1.0L)) abort (); /* Compute an approximation for l = log2(x) = exp + log2(y). */ l = exp; z = y; if (z < 0.70710678118654752444) { z *= 1.4142135623730950488; l -= 0.5; } if (z < 0.8408964152537145431) { z *= 1.1892071150027210667; l -= 0.25; } if (z < 0.91700404320467123175) { z *= 1.0905077326652576592; l -= 0.125; } if (z < 0.9576032806985736469) { z *= 1.0442737824274138403; l -= 0.0625; } /* Now 0.95 <= z <= 1.01. */ z = 1 - z; /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...) Four terms are enough to get an approximation with error < 10^-7. */ l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); /* Finally multiply with log(2)/log(10), yields an approximation for log10(x). */ l *= 0.30102999566398119523; /* Round down to the next integer. */ return (int) l + (l < 0 ? -1 : 0); } # endif # if NEED_PRINTF_DOUBLE /* Assuming x is finite and > 0: Return an approximation for n with 10^n <= x < 10^(n+1). The approximation is usually the right n, but may be off by 1 sometimes. */ static int floorlog10 (double x) { int exp; double y; double z; double l; /* Split into exponential part and mantissa. */ y = frexp (x, &exp); if (!(y >= 0.0 && y < 1.0)) abort (); if (y == 0.0) return INT_MIN; if (y < 0.5) { while (y < (1.0 / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) { y *= 1.0 * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); exp -= GMP_LIMB_BITS; } if (y < (1.0 / (1 << 16))) { y *= 1.0 * (1 << 16); exp -= 16; } if (y < (1.0 / (1 << 8))) { y *= 1.0 * (1 << 8); exp -= 8; } if (y < (1.0 / (1 << 4))) { y *= 1.0 * (1 << 4); exp -= 4; } if (y < (1.0 / (1 << 2))) { y *= 1.0 * (1 << 2); exp -= 2; } if (y < (1.0 / (1 << 1))) { y *= 1.0 * (1 << 1); exp -= 1; } } if (!(y >= 0.5 && y < 1.0)) abort (); /* Compute an approximation for l = log2(x) = exp + log2(y). */ l = exp; z = y; if (z < 0.70710678118654752444) { z *= 1.4142135623730950488; l -= 0.5; } if (z < 0.8408964152537145431) { z *= 1.1892071150027210667; l -= 0.25; } if (z < 0.91700404320467123175) { z *= 1.0905077326652576592; l -= 0.125; } if (z < 0.9576032806985736469) { z *= 1.0442737824274138403; l -= 0.0625; } /* Now 0.95 <= z <= 1.01. */ z = 1 - z; /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...) Four terms are enough to get an approximation with error < 10^-7. */ l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); /* Finally multiply with log(2)/log(10), yields an approximation for log10(x). */ l *= 0.30102999566398119523; /* Round down to the next integer. */ return (int) l + (l < 0 ? -1 : 0); } # endif /* Tests whether a string of digits consists of exactly PRECISION zeroes and a single '1' digit. */ static int is_borderline (const char *digits, size_t precision) { for (; precision > 0; precision--, digits++) if (*digits != '0') return 0; if (*digits != '1') return 0; digits++; return *digits == '\0'; } #endif DCHAR_T * VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, const FCHAR_T *format, va_list args) { DIRECTIVES d; arguments a; if (PRINTF_PARSE (format, &d, &a) < 0) /* errno is already set. */ return NULL; #define CLEANUP() \ free (d.dir); \ if (a.arg) \ free (a.arg); if (PRINTF_FETCHARGS (args, &a) < 0) { CLEANUP (); errno = EINVAL; return NULL; } { size_t buf_neededlength; TCHAR_T *buf; TCHAR_T *buf_malloced; const FCHAR_T *cp; size_t i; DIRECTIVE *dp; /* Output string accumulator. */ DCHAR_T *result; size_t allocated; size_t length; /* Allocate a small buffer that will hold a directive passed to sprintf or snprintf. */ buf_neededlength = xsum4 (7, d.max_width_length, d.max_precision_length, 6); #if HAVE_ALLOCA if (buf_neededlength < 4000 / sizeof (TCHAR_T)) { buf = (TCHAR_T *) alloca (buf_neededlength * sizeof (TCHAR_T)); buf_malloced = NULL; } else #endif { size_t buf_memsize = xtimes (buf_neededlength, sizeof (TCHAR_T)); if (size_overflow_p (buf_memsize)) goto out_of_memory_1; buf = (TCHAR_T *) malloc (buf_memsize); if (buf == NULL) goto out_of_memory_1; buf_malloced = buf; } if (resultbuf != NULL) { result = resultbuf; allocated = *lengthp; } else { result = NULL; allocated = 0; } length = 0; /* Invariants: result is either == resultbuf or == NULL or malloc-allocated. If length > 0, then result != NULL. */ /* Ensures that allocated >= needed. Aborts through a jump to out_of_memory if needed is SIZE_MAX or otherwise too big. */ #define ENSURE_ALLOCATION(needed) \ if ((needed) > allocated) \ { \ size_t memory_size; \ DCHAR_T *memory; \ \ allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \ if ((needed) > allocated) \ allocated = (needed); \ memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ if (size_overflow_p (memory_size)) \ goto out_of_memory; \ if (result == resultbuf || result == NULL) \ memory = (DCHAR_T *) malloc (memory_size); \ else \ memory = (DCHAR_T *) realloc (result, memory_size); \ if (memory == NULL) \ goto out_of_memory; \ if (result == resultbuf && length > 0) \ DCHAR_CPY (memory, result, length); \ result = memory; \ } for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) { if (cp != dp->dir_start) { size_t n = dp->dir_start - cp; size_t augmented_length = xsum (length, n); ENSURE_ALLOCATION (augmented_length); /* This copies a piece of FCHAR_T[] into a DCHAR_T[]. Here we need that the format string contains only ASCII characters if FCHAR_T and DCHAR_T are not the same type. */ if (sizeof (FCHAR_T) == sizeof (DCHAR_T)) { DCHAR_CPY (result + length, (const DCHAR_T *) cp, n); length = augmented_length; } else { do result[length++] = (unsigned char) *cp++; while (--n > 0); } } if (i == d.count) break; /* Execute a single directive. */ if (dp->conversion == '%') { size_t augmented_length; if (!(dp->arg_index == ARG_NONE)) abort (); augmented_length = xsum (length, 1); ENSURE_ALLOCATION (augmented_length); result[length] = '%'; length = augmented_length; } else { if (!(dp->arg_index != ARG_NONE)) abort (); if (dp->conversion == 'n') { switch (a.arg[dp->arg_index].type) { case TYPE_COUNT_SCHAR_POINTER: *a.arg[dp->arg_index].a.a_count_schar_pointer = length; break; case TYPE_COUNT_SHORT_POINTER: *a.arg[dp->arg_index].a.a_count_short_pointer = length; break; case TYPE_COUNT_INT_POINTER: *a.arg[dp->arg_index].a.a_count_int_pointer = length; break; case TYPE_COUNT_LONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longint_pointer = length; break; #if HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; break; #endif default: abort (); } } #if ENABLE_UNISTDIO /* The unistdio extensions. */ else if (dp->conversion == 'U') { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; int has_width; size_t width; int has_precision; size_t precision; has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } has_precision = 0; precision = 0; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } switch (type) { case TYPE_U8_STRING: { const uint8_t *arg = a.arg[dp->arg_index].a.a_u8_string; const uint8_t *arg_end; size_t characters; if (has_precision) { /* Use only PRECISION characters, from the left. */ arg_end = arg; characters = 0; for (; precision > 0; precision--) { int count = u8_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else if (has_width) { /* Use the entire string, and count the number of characters. */ arg_end = arg; characters = 0; for (;;) { int count = u8_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else { /* Use the entire string. */ arg_end = arg + u8_strlen (arg); /* The number of characters doesn't matter. */ characters = 0; } if (has_width && width > characters && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } # if DCHAR_IS_UINT8_T { size_t n = arg_end - arg; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_CPY (result + length, arg, n); length += n; } # else { /* Convert. */ DCHAR_T *converted = result + length; size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR /* Convert from UTF-8 to locale encoding. */ if (u8_conv_to_encoding (locale_charset (), iconveh_question_mark, arg, arg_end - arg, NULL, &converted, &converted_len) < 0) # else /* Convert from UTF-8 to UTF-16/UTF-32. */ converted = U8_TO_DCHAR (arg, arg_end - arg, converted, &converted_len); if (converted == NULL) # endif { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } if (converted != result + length) { ENSURE_ALLOCATION (xsum (length, converted_len)); DCHAR_CPY (result + length, converted, converted_len); free (converted); } length += converted_len; } # endif if (has_width && width > characters && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } break; case TYPE_U16_STRING: { const uint16_t *arg = a.arg[dp->arg_index].a.a_u16_string; const uint16_t *arg_end; size_t characters; if (has_precision) { /* Use only PRECISION characters, from the left. */ arg_end = arg; characters = 0; for (; precision > 0; precision--) { int count = u16_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else if (has_width) { /* Use the entire string, and count the number of characters. */ arg_end = arg; characters = 0; for (;;) { int count = u16_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else { /* Use the entire string. */ arg_end = arg + u16_strlen (arg); /* The number of characters doesn't matter. */ characters = 0; } if (has_width && width > characters && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } # if DCHAR_IS_UINT16_T { size_t n = arg_end - arg; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_CPY (result + length, arg, n); length += n; } # else { /* Convert. */ DCHAR_T *converted = result + length; size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR /* Convert from UTF-16 to locale encoding. */ if (u16_conv_to_encoding (locale_charset (), iconveh_question_mark, arg, arg_end - arg, NULL, &converted, &converted_len) < 0) # else /* Convert from UTF-16 to UTF-8/UTF-32. */ converted = U16_TO_DCHAR (arg, arg_end - arg, converted, &converted_len); if (converted == NULL) # endif { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } if (converted != result + length) { ENSURE_ALLOCATION (xsum (length, converted_len)); DCHAR_CPY (result + length, converted, converted_len); free (converted); } length += converted_len; } # endif if (has_width && width > characters && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } break; case TYPE_U32_STRING: { const uint32_t *arg = a.arg[dp->arg_index].a.a_u32_string; const uint32_t *arg_end; size_t characters; if (has_precision) { /* Use only PRECISION characters, from the left. */ arg_end = arg; characters = 0; for (; precision > 0; precision--) { int count = u32_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else if (has_width) { /* Use the entire string, and count the number of characters. */ arg_end = arg; characters = 0; for (;;) { int count = u32_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else { /* Use the entire string. */ arg_end = arg + u32_strlen (arg); /* The number of characters doesn't matter. */ characters = 0; } if (has_width && width > characters && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } # if DCHAR_IS_UINT32_T { size_t n = arg_end - arg; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_CPY (result + length, arg, n); length += n; } # else { /* Convert. */ DCHAR_T *converted = result + length; size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR /* Convert from UTF-32 to locale encoding. */ if (u32_conv_to_encoding (locale_charset (), iconveh_question_mark, arg, arg_end - arg, NULL, &converted, &converted_len) < 0) # else /* Convert from UTF-32 to UTF-8/UTF-16. */ converted = U32_TO_DCHAR (arg, arg_end - arg, converted, &converted_len); if (converted == NULL) # endif { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } if (converted != result + length) { ENSURE_ALLOCATION (xsum (length, converted_len)); DCHAR_CPY (result + length, converted, converted_len); free (converted); } length += converted_len; } # endif if (has_width && width > characters && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } break; default: abort (); } } #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL else if ((dp->conversion == 'a' || dp->conversion == 'A') # if !(NEED_PRINTF_DIRECTIVE_A || (NEED_PRINTF_LONG_DOUBLE && NEED_PRINTF_DOUBLE)) && (0 # if NEED_PRINTF_DOUBLE || a.arg[dp->arg_index].type == TYPE_DOUBLE # endif # if NEED_PRINTF_LONG_DOUBLE || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE # endif ) # endif ) { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; int has_width; size_t width; int has_precision; size_t precision; size_t tmp_length; DCHAR_T tmpbuf[700]; DCHAR_T *tmp; DCHAR_T *pad_ptr; DCHAR_T *p; has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } has_precision = 0; precision = 0; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } /* Allocate a temporary buffer of sufficient size. */ if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) ((LDBL_DIG + 1) * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) ((DBL_DIG + 1) * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Account for sign, decimal point etc. */ tmp_length = xsum (tmp_length, 12); if (tmp_length < width) tmp_length = width; tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (DCHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } pad_ptr = NULL; p = tmp; if (type == TYPE_LONGDOUBLE) { # if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE long double arg = a.arg[dp->arg_index].a.a_longdouble; if (isnanl (arg)) { if (dp->conversion == 'A') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; DECL_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING (); if (signbit (arg)) /* arg < 0.0L or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0L && arg + arg == arg) { if (dp->conversion == 'A') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { int exponent; long double mantissa; if (arg > 0.0L) mantissa = printf_frexpl (arg, &exponent); else { exponent = 0; mantissa = 0.0L; } if (has_precision && precision < (unsigned int) ((LDBL_DIG + 1) * 0.831) + 1) { /* Round the mantissa. */ long double tail = mantissa; size_t q; for (q = precision; ; q--) { int digit = (int) tail; tail -= digit; if (q == 0) { if (digit & 1 ? tail >= 0.5L : tail > 0.5L) tail = 1 - tail; else tail = - tail; break; } tail *= 16.0L; } if (tail != 0.0L) for (q = precision; q > 0; q--) tail *= 0.0625L; mantissa += tail; } *p++ = '0'; *p++ = dp->conversion - 'A' + 'X'; pad_ptr = p; { int digit; digit = (int) mantissa; mantissa -= digit; *p++ = '0' + digit; if ((flags & FLAG_ALT) || mantissa > 0.0L || precision > 0) { *p++ = decimal_point_char (); /* This loop terminates because we assume that FLT_RADIX is a power of 2. */ while (mantissa > 0.0L) { mantissa *= 16.0L; digit = (int) mantissa; mantissa -= digit; *p++ = digit + (digit < 10 ? '0' : dp->conversion - 10); if (precision > 0) precision--; } while (precision > 0) { *p++ = '0'; precision--; } } } *p++ = dp->conversion - 'A' + 'P'; # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } END_LONG_DOUBLE_ROUNDING (); } # else abort (); # endif } else { # if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE double arg = a.arg[dp->arg_index].a.a_double; if (isnand (arg)) { if (dp->conversion == 'A') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; if (signbit (arg)) /* arg < 0.0 or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0 && arg + arg == arg) { if (dp->conversion == 'A') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { int exponent; double mantissa; if (arg > 0.0) mantissa = printf_frexp (arg, &exponent); else { exponent = 0; mantissa = 0.0; } if (has_precision && precision < (unsigned int) ((DBL_DIG + 1) * 0.831) + 1) { /* Round the mantissa. */ double tail = mantissa; size_t q; for (q = precision; ; q--) { int digit = (int) tail; tail -= digit; if (q == 0) { if (digit & 1 ? tail >= 0.5 : tail > 0.5) tail = 1 - tail; else tail = - tail; break; } tail *= 16.0; } if (tail != 0.0) for (q = precision; q > 0; q--) tail *= 0.0625; mantissa += tail; } *p++ = '0'; *p++ = dp->conversion - 'A' + 'X'; pad_ptr = p; { int digit; digit = (int) mantissa; mantissa -= digit; *p++ = '0' + digit; if ((flags & FLAG_ALT) || mantissa > 0.0 || precision > 0) { *p++ = decimal_point_char (); /* This loop terminates because we assume that FLT_RADIX is a power of 2. */ while (mantissa > 0.0) { mantissa *= 16.0; digit = (int) mantissa; mantissa -= digit; *p++ = digit + (digit < 10 ? '0' : dp->conversion - 10); if (precision > 0) precision--; } while (precision > 0) { *p++ = '0'; precision--; } } } *p++ = dp->conversion - 'A' + 'P'; # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } } # else abort (); # endif } /* The generated string now extends from tmp to p, with the zero padding insertion point being at pad_ptr. */ if (has_width && p - tmp < width) { size_t pad = width - (p - tmp); DCHAR_T *end = p + pad; if (flags & FLAG_LEFT) { /* Pad with spaces on the right. */ for (; pad > 0; pad--) *p++ = ' '; } else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { /* Pad with zeroes. */ DCHAR_T *q = end; while (p > pad_ptr) *--q = *--p; for (; pad > 0; pad--) *p++ = '0'; } else { /* Pad with spaces on the left. */ DCHAR_T *q = end; while (p > tmp) *--q = *--p; for (; pad > 0; pad--) *p++ = ' '; } p = end; } { size_t count = p - tmp; if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); /* Make room for the result. */ if (count >= allocated - length) { size_t n = xsum (length, count); ENSURE_ALLOCATION (n); } /* Append the result. */ memcpy (result + length, tmp, count * sizeof (DCHAR_T)); if (tmp != tmpbuf) free (tmp); length += count; } } #endif #if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL else if ((dp->conversion == 'f' || dp->conversion == 'F' || dp->conversion == 'e' || dp->conversion == 'E' || dp->conversion == 'g' || dp->conversion == 'G' || dp->conversion == 'a' || dp->conversion == 'A') && (0 # if NEED_PRINTF_DOUBLE || a.arg[dp->arg_index].type == TYPE_DOUBLE # elif NEED_PRINTF_INFINITE_DOUBLE || (a.arg[dp->arg_index].type == TYPE_DOUBLE /* The systems (mingw) which produce wrong output for Inf, -Inf, and NaN also do so for -0.0. Therefore we treat this case here as well. */ && is_infinite_or_zero (a.arg[dp->arg_index].a.a_double)) # endif # if NEED_PRINTF_LONG_DOUBLE || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE # elif NEED_PRINTF_INFINITE_LONG_DOUBLE || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE /* Some systems produce wrong output for Inf, -Inf, and NaN. */ && is_infinitel (a.arg[dp->arg_index].a.a_longdouble)) # endif )) { # if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) arg_type type = a.arg[dp->arg_index].type; # endif int flags = dp->flags; int has_width; size_t width; int has_precision; size_t precision; size_t tmp_length; DCHAR_T tmpbuf[700]; DCHAR_T *tmp; DCHAR_T *pad_ptr; DCHAR_T *p; has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } has_precision = 0; precision = 0; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } /* POSIX specifies the default precision to be 6 for %f, %F, %e, %E, but not for %g, %G. Implementations appear to use the same default precision also for %g, %G. */ if (!has_precision) precision = 6; /* Allocate a temporary buffer of sufficient size. */ # if NEED_PRINTF_DOUBLE && NEED_PRINTF_LONG_DOUBLE tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : DBL_DIG + 1); # elif NEED_PRINTF_INFINITE_DOUBLE && NEED_PRINTF_LONG_DOUBLE tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : 0); # elif NEED_PRINTF_LONG_DOUBLE tmp_length = LDBL_DIG + 1; # elif NEED_PRINTF_DOUBLE tmp_length = DBL_DIG + 1; # else tmp_length = 0; # endif if (tmp_length < precision) tmp_length = precision; # if NEED_PRINTF_LONG_DOUBLE # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE if (type == TYPE_LONGDOUBLE) # endif if (dp->conversion == 'f' || dp->conversion == 'F') { long double arg = a.arg[dp->arg_index].a.a_longdouble; if (!(isnanl (arg) || arg + arg == arg)) { /* arg is finite and nonzero. */ int exponent = floorlog10l (arg < 0 ? -arg : arg); if (exponent >= 0 && tmp_length < exponent + precision) tmp_length = exponent + precision; } } # endif # if NEED_PRINTF_DOUBLE # if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE if (type == TYPE_DOUBLE) # endif if (dp->conversion == 'f' || dp->conversion == 'F') { double arg = a.arg[dp->arg_index].a.a_double; if (!(isnand (arg) || arg + arg == arg)) { /* arg is finite and nonzero. */ int exponent = floorlog10 (arg < 0 ? -arg : arg); if (exponent >= 0 && tmp_length < exponent + precision) tmp_length = exponent + precision; } } # endif /* Account for sign, decimal point etc. */ tmp_length = xsum (tmp_length, 12); if (tmp_length < width) tmp_length = width; tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (DCHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } pad_ptr = NULL; p = tmp; # if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE if (type == TYPE_LONGDOUBLE) # endif { long double arg = a.arg[dp->arg_index].a.a_longdouble; if (isnanl (arg)) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; DECL_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING (); if (signbit (arg)) /* arg < 0.0L or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0L && arg + arg == arg) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { # if NEED_PRINTF_LONG_DOUBLE pad_ptr = p; if (dp->conversion == 'f' || dp->conversion == 'F') { char *digits; size_t ndigits; digits = scale10_round_decimal_long_double (arg, precision); if (digits == NULL) { END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } ndigits = strlen (digits); if (ndigits > precision) do { --ndigits; *p++ = digits[ndigits]; } while (ndigits > precision); else *p++ = '0'; /* Here ndigits <= precision. */ if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > ndigits; precision--) *p++ = '0'; while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } else if (dp->conversion == 'e' || dp->conversion == 'E') { int exponent; if (arg == 0.0L) { exponent = 0; *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } } else { /* arg > 0.0L. */ int adjusted; char *digits; size_t ndigits; exponent = floorlog10l (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_long_double (arg, (int)precision - exponent); if (digits == NULL) { END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } ndigits = strlen (digits); if (ndigits == precision + 1) break; if (ndigits < precision || ndigits > precision + 2) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits == precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision+1. */ if (is_borderline (digits, precision)) { /* Maybe the exponent guess was too high and a smaller exponent can be reached by turning a 10...0 into 9...9x. */ char *digits2 = scale10_round_decimal_long_double (arg, (int)precision - exponent + 1); if (digits2 == NULL) { free (digits); END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } if (strlen (digits2) == precision + 1) { free (digits); digits = digits2; exponent -= 1; } else free (digits2); } /* Here ndigits = precision+1. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } *p++ = dp->conversion; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', '.', '2', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+.2d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+.2d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } else if (dp->conversion == 'g' || dp->conversion == 'G') { if (precision == 0) precision = 1; /* precision >= 1. */ if (arg == 0.0L) /* The exponent is 0, >= -4, < precision. Use fixed-point notation. */ { size_t ndigits = precision; /* Number of trailing zeroes that have to be dropped. */ size_t nzeroes = (flags & FLAG_ALT ? 0 : precision - 1); --ndigits; *p++ = '0'; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = '0'; } } } else { /* arg > 0.0L. */ int exponent; int adjusted; char *digits; size_t ndigits; size_t nzeroes; exponent = floorlog10l (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_long_double (arg, (int)(precision - 1) - exponent); if (digits == NULL) { END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } ndigits = strlen (digits); if (ndigits == precision) break; if (ndigits < precision - 1 || ndigits > precision + 1) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits < precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision. */ if (is_borderline (digits, precision - 1)) { /* Maybe the exponent guess was too high and a smaller exponent can be reached by turning a 10...0 into 9...9x. */ char *digits2 = scale10_round_decimal_long_double (arg, (int)(precision - 1) - exponent + 1); if (digits2 == NULL) { free (digits); END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } if (strlen (digits2) == precision) { free (digits); digits = digits2; exponent -= 1; } else free (digits2); } /* Here ndigits = precision. */ /* Determine the number of trailing zeroes that have to be dropped. */ nzeroes = 0; if ((flags & FLAG_ALT) == 0) while (nzeroes < ndigits && digits[nzeroes] == '0') nzeroes++; /* The exponent is now determined. */ if (exponent >= -4 && exponent < (long)precision) { /* Fixed-point notation: max(exponent,0)+1 digits, then the decimal point, then the remaining digits without trailing zeroes. */ if (exponent >= 0) { size_t count = exponent + 1; /* Note: count <= precision = ndigits. */ for (; count > 0; count--) *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { size_t count = -exponent - 1; *p++ = '0'; *p++ = decimal_point_char (); for (; count > 0; count--) *p++ = '0'; while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { /* Exponential notation. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', '.', '2', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+.2d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+.2d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } free (digits); } } else abort (); # else /* arg is finite. */ abort (); # endif } END_LONG_DOUBLE_ROUNDING (); } } # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE else # endif # endif # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE { double arg = a.arg[dp->arg_index].a.a_double; if (isnand (arg)) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; if (signbit (arg)) /* arg < 0.0 or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0 && arg + arg == arg) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { # if NEED_PRINTF_DOUBLE pad_ptr = p; if (dp->conversion == 'f' || dp->conversion == 'F') { char *digits; size_t ndigits; digits = scale10_round_decimal_double (arg, precision); if (digits == NULL) goto out_of_memory; ndigits = strlen (digits); if (ndigits > precision) do { --ndigits; *p++ = digits[ndigits]; } while (ndigits > precision); else *p++ = '0'; /* Here ndigits <= precision. */ if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > ndigits; precision--) *p++ = '0'; while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } else if (dp->conversion == 'e' || dp->conversion == 'E') { int exponent; if (arg == 0.0) { exponent = 0; *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } } else { /* arg > 0.0. */ int adjusted; char *digits; size_t ndigits; exponent = floorlog10 (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_double (arg, (int)precision - exponent); if (digits == NULL) goto out_of_memory; ndigits = strlen (digits); if (ndigits == precision + 1) break; if (ndigits < precision || ndigits > precision + 2) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits == precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision+1. */ if (is_borderline (digits, precision)) { /* Maybe the exponent guess was too high and a smaller exponent can be reached by turning a 10...0 into 9...9x. */ char *digits2 = scale10_round_decimal_double (arg, (int)precision - exponent + 1); if (digits2 == NULL) { free (digits); goto out_of_memory; } if (strlen (digits2) == precision + 1) { free (digits); digits = digits2; exponent -= 1; } else free (digits2); } /* Here ndigits = precision+1. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } *p++ = dp->conversion; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { '%', '+', '.', '3', 'd', '\0' }; # else { '%', '+', '.', '2', 'd', '\0' }; # endif SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else { static const char decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ "%+.3d"; # else "%+.2d"; # endif if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, decimal_format, exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, decimal_format, exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } } # endif } else if (dp->conversion == 'g' || dp->conversion == 'G') { if (precision == 0) precision = 1; /* precision >= 1. */ if (arg == 0.0) /* The exponent is 0, >= -4, < precision. Use fixed-point notation. */ { size_t ndigits = precision; /* Number of trailing zeroes that have to be dropped. */ size_t nzeroes = (flags & FLAG_ALT ? 0 : precision - 1); --ndigits; *p++ = '0'; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = '0'; } } } else { /* arg > 0.0. */ int exponent; int adjusted; char *digits; size_t ndigits; size_t nzeroes; exponent = floorlog10 (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_double (arg, (int)(precision - 1) - exponent); if (digits == NULL) goto out_of_memory; ndigits = strlen (digits); if (ndigits == precision) break; if (ndigits < precision - 1 || ndigits > precision + 1) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits < precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision. */ if (is_borderline (digits, precision - 1)) { /* Maybe the exponent guess was too high and a smaller exponent can be reached by turning a 10...0 into 9...9x. */ char *digits2 = scale10_round_decimal_double (arg, (int)(precision - 1) - exponent + 1); if (digits2 == NULL) { free (digits); goto out_of_memory; } if (strlen (digits2) == precision) { free (digits); digits = digits2; exponent -= 1; } else free (digits2); } /* Here ndigits = precision. */ /* Determine the number of trailing zeroes that have to be dropped. */ nzeroes = 0; if ((flags & FLAG_ALT) == 0) while (nzeroes < ndigits && digits[nzeroes] == '0') nzeroes++; /* The exponent is now determined. */ if (exponent >= -4 && exponent < (long)precision) { /* Fixed-point notation: max(exponent,0)+1 digits, then the decimal point, then the remaining digits without trailing zeroes. */ if (exponent >= 0) { size_t count = exponent + 1; /* Note: count <= precision = ndigits. */ for (; count > 0; count--) *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { size_t count = -exponent - 1; *p++ = '0'; *p++ = decimal_point_char (); for (; count > 0; count--) *p++ = '0'; while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { /* Exponential notation. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { '%', '+', '.', '3', 'd', '\0' }; # else { '%', '+', '.', '2', 'd', '\0' }; # endif SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else { static const char decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ "%+.3d"; # else "%+.2d"; # endif if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, decimal_format, exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, decimal_format, exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } } # endif } free (digits); } } else abort (); # else /* arg is finite. */ if (!(arg == 0.0)) abort (); pad_ptr = p; if (dp->conversion == 'f' || dp->conversion == 'F') { *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } } else if (dp->conversion == 'e' || dp->conversion == 'E') { *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } *p++ = dp->conversion; /* 'e' or 'E' */ *p++ = '+'; /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ *p++ = '0'; # endif *p++ = '0'; *p++ = '0'; } else if (dp->conversion == 'g' || dp->conversion == 'G') { *p++ = '0'; if (flags & FLAG_ALT) { size_t ndigits = (precision > 0 ? precision - 1 : 0); *p++ = decimal_point_char (); for (; ndigits > 0; --ndigits) *p++ = '0'; } } else abort (); # endif } } } # endif /* The generated string now extends from tmp to p, with the zero padding insertion point being at pad_ptr. */ if (has_width && p - tmp < width) { size_t pad = width - (p - tmp); DCHAR_T *end = p + pad; if (flags & FLAG_LEFT) { /* Pad with spaces on the right. */ for (; pad > 0; pad--) *p++ = ' '; } else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { /* Pad with zeroes. */ DCHAR_T *q = end; while (p > pad_ptr) *--q = *--p; for (; pad > 0; pad--) *p++ = '0'; } else { /* Pad with spaces on the left. */ DCHAR_T *q = end; while (p > tmp) *--q = *--p; for (; pad > 0; pad--) *p++ = ' '; } p = end; } { size_t count = p - tmp; if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); /* Make room for the result. */ if (count >= allocated - length) { size_t n = xsum (length, count); ENSURE_ALLOCATION (n); } /* Append the result. */ memcpy (result + length, tmp, count * sizeof (DCHAR_T)); if (tmp != tmpbuf) free (tmp); length += count; } } #endif else { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; #if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION int has_width; size_t width; #endif #if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION int has_precision; size_t precision; #endif #if NEED_PRINTF_UNBOUNDED_PRECISION int prec_ourselves; #else # define prec_ourselves 0 #endif #if NEED_PRINTF_FLAG_LEFTADJUST # define pad_ourselves 1 #elif !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION int pad_ourselves; #else # define pad_ourselves 0 #endif TCHAR_T *fbp; unsigned int prefix_count; int prefixes[2] IF_LINT (= { 0 }); #if !USE_SNPRINTF size_t tmp_length; TCHAR_T tmpbuf[700]; TCHAR_T *tmp; #endif #if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } #endif #if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION has_precision = 0; precision = 6; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } #endif /* Decide whether to handle the precision ourselves. */ #if NEED_PRINTF_UNBOUNDED_PRECISION switch (dp->conversion) { case 'd': case 'i': case 'u': case 'o': case 'x': case 'X': case 'p': prec_ourselves = has_precision && (precision > 0); break; default: prec_ourselves = 0; break; } #endif /* Decide whether to perform the padding ourselves. */ #if !NEED_PRINTF_FLAG_LEFTADJUST && (!DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION) switch (dp->conversion) { # if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO /* If we need conversion from TCHAR_T[] to DCHAR_T[], we need to perform the padding after this conversion. Functions with unistdio extensions perform the padding based on character count rather than element count. */ case 'c': case 's': # endif # if NEED_PRINTF_FLAG_ZERO case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': case 'a': case 'A': # endif pad_ourselves = 1; break; default: pad_ourselves = prec_ourselves; break; } #endif #if !USE_SNPRINTF /* Allocate a temporary buffer of sufficient size for calling sprintf. */ { switch (dp->conversion) { case 'd': case 'i': case 'u': # if HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Multiply by 2, as an estimate for FLAG_GROUP. */ tmp_length = xsum (tmp_length, tmp_length); /* Add 1, to account for a leading sign. */ tmp_length = xsum (tmp_length, 1); break; case 'o': # if HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Add 1, to account for a leading sign. */ tmp_length = xsum (tmp_length, 1); break; case 'x': case 'X': # if HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Add 2, to account for a leading sign or alternate form. */ tmp_length = xsum (tmp_length, 2); break; case 'f': case 'F': if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) (LDBL_MAX_EXP * 0.30103 /* binary -> decimal */ * 2 /* estimate for FLAG_GROUP */ ) + 1 /* turn floor into ceil */ + 10; /* sign, decimal point etc. */ else tmp_length = (unsigned int) (DBL_MAX_EXP * 0.30103 /* binary -> decimal */ * 2 /* estimate for FLAG_GROUP */ ) + 1 /* turn floor into ceil */ + 10; /* sign, decimal point etc. */ tmp_length = xsum (tmp_length, precision); break; case 'e': case 'E': case 'g': case 'G': tmp_length = 12; /* sign, decimal point, exponent etc. */ tmp_length = xsum (tmp_length, precision); break; case 'a': case 'A': if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) (LDBL_DIG * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (DBL_DIG * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Account for sign, decimal point etc. */ tmp_length = xsum (tmp_length, 12); break; case 'c': # if HAVE_WINT_T && !WIDE_CHAR_VERSION if (type == TYPE_WIDE_CHAR) tmp_length = MB_CUR_MAX; else # endif tmp_length = 1; break; case 's': # if HAVE_WCHAR_T if (type == TYPE_WIDE_STRING) { tmp_length = local_wcslen (a.arg[dp->arg_index].a.a_wide_string); # if !WIDE_CHAR_VERSION tmp_length = xtimes (tmp_length, MB_CUR_MAX); # endif } else # endif tmp_length = strlen (a.arg[dp->arg_index].a.a_string); break; case 'p': tmp_length = (unsigned int) (sizeof (void *) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1 /* turn floor into ceil */ + 2; /* account for leading 0x */ break; default: abort (); } if (!pad_ourselves) { # if ENABLE_UNISTDIO /* Padding considers the number of characters, therefore the number of elements after padding may be > max (tmp_length, width) but is certainly <= tmp_length + width. */ tmp_length = xsum (tmp_length, width); # else /* Padding considers the number of elements, says POSIX. */ if (tmp_length < width) tmp_length = width; # endif } tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ } if (tmp_length <= sizeof (tmpbuf) / sizeof (TCHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (TCHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (TCHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } #endif /* Construct the format string for calling snprintf or sprintf. */ fbp = buf; *fbp++ = '%'; #if NEED_PRINTF_FLAG_GROUPING /* The underlying implementation doesn't support the ' flag. Produce no grouping characters in this case; this is acceptable because the grouping is locale dependent. */ #else if (flags & FLAG_GROUP) *fbp++ = '\''; #endif if (flags & FLAG_LEFT) *fbp++ = '-'; if (flags & FLAG_SHOWSIGN) *fbp++ = '+'; if (flags & FLAG_SPACE) *fbp++ = ' '; if (flags & FLAG_ALT) *fbp++ = '#'; if (!pad_ourselves) { if (flags & FLAG_ZERO) *fbp++ = '0'; if (dp->width_start != dp->width_end) { size_t n = dp->width_end - dp->width_start; /* The width specification is known to consist only of standard ASCII characters. */ if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) { memcpy (fbp, dp->width_start, n * sizeof (TCHAR_T)); fbp += n; } else { const FCHAR_T *mp = dp->width_start; do *fbp++ = (unsigned char) *mp++; while (--n > 0); } } } if (!prec_ourselves) { if (dp->precision_start != dp->precision_end) { size_t n = dp->precision_end - dp->precision_start; /* The precision specification is known to consist only of standard ASCII characters. */ if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) { memcpy (fbp, dp->precision_start, n * sizeof (TCHAR_T)); fbp += n; } else { const FCHAR_T *mp = dp->precision_start; do *fbp++ = (unsigned char) *mp++; while (--n > 0); } } } switch (type) { #if HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: case TYPE_ULONGLONGINT: # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ *fbp++ = 'I'; *fbp++ = '6'; *fbp++ = '4'; break; # else *fbp++ = 'l'; /*FALLTHROUGH*/ # endif #endif case TYPE_LONGINT: case TYPE_ULONGINT: #if HAVE_WINT_T case TYPE_WIDE_CHAR: #endif #if HAVE_WCHAR_T case TYPE_WIDE_STRING: #endif *fbp++ = 'l'; break; case TYPE_LONGDOUBLE: *fbp++ = 'L'; break; default: break; } #if NEED_PRINTF_DIRECTIVE_F if (dp->conversion == 'F') *fbp = 'f'; else #endif *fbp = dp->conversion; #if USE_SNPRINTF # if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) fbp[1] = '%'; fbp[2] = 'n'; fbp[3] = '\0'; # else /* On glibc2 systems from glibc >= 2.3 - probably also older ones - we know that snprintf's returns value conforms to ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes. Therefore we can avoid using %n in this situation. On glibc2 systems from 2004-10-18 or newer, the use of %n in format strings in writable memory may crash the program (if compiled with _FORTIFY_SOURCE=2), so we should avoid it in this situation. */ /* On native Win32 systems (such as mingw), we can avoid using %n because: - Although the gl_SNPRINTF_TRUNCATION_C99 test fails, snprintf does not write more than the specified number of bytes. (snprintf (buf, 3, "%d %d", 4567, 89) writes '4', '5', '6' into buf, not '4', '5', '\0'.) - Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf allows us to recognize the case of an insufficient buffer size: it returns -1 in this case. On native Win32 systems (such as mingw) where the OS is Windows Vista, the use of %n in format strings by default crashes the program. See and So we should avoid %n in this situation. */ fbp[1] = '\0'; # endif #else fbp[1] = '\0'; #endif /* Construct the arguments for calling snprintf or sprintf. */ prefix_count = 0; if (!pad_ourselves && dp->width_arg_index != ARG_NONE) { if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; } if (dp->precision_arg_index != ARG_NONE) { if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; } #if USE_SNPRINTF /* The SNPRINTF result is appended after result[0..length]. The latter is an array of DCHAR_T; SNPRINTF appends an array of TCHAR_T to it. This is possible because sizeof (TCHAR_T) divides sizeof (DCHAR_T) and alignof (TCHAR_T) <= alignof (DCHAR_T). */ # define TCHARS_PER_DCHAR (sizeof (DCHAR_T) / sizeof (TCHAR_T)) /* Ensure that maxlen below will be >= 2. Needed on BeOS, where an snprintf() with maxlen==1 acts like sprintf(). */ ENSURE_ALLOCATION (xsum (length, (2 + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR)); /* Prepare checking whether snprintf returns the count via %n. */ *(TCHAR_T *) (result + length) = '\0'; #endif for (;;) { int count = -1; #if USE_SNPRINTF int retcount = 0; size_t maxlen = allocated - length; /* SNPRINTF can fail if its second argument is > INT_MAX. */ if (maxlen > INT_MAX / TCHARS_PER_DCHAR) maxlen = INT_MAX / TCHARS_PER_DCHAR; maxlen = maxlen * TCHARS_PER_DCHAR; # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ case 0: \ retcount = SNPRINTF ((TCHAR_T *) (result + length), \ maxlen, buf, \ arg, &count); \ break; \ case 1: \ retcount = SNPRINTF ((TCHAR_T *) (result + length), \ maxlen, buf, \ prefixes[0], arg, &count); \ break; \ case 2: \ retcount = SNPRINTF ((TCHAR_T *) (result + length), \ maxlen, buf, \ prefixes[0], prefixes[1], arg, \ &count); \ break; \ default: \ abort (); \ } #else # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ case 0: \ count = sprintf (tmp, buf, arg); \ break; \ case 1: \ count = sprintf (tmp, buf, prefixes[0], arg); \ break; \ case 2: \ count = sprintf (tmp, buf, prefixes[0], prefixes[1],\ arg); \ break; \ default: \ abort (); \ } #endif switch (type) { case TYPE_SCHAR: { int arg = a.arg[dp->arg_index].a.a_schar; SNPRINTF_BUF (arg); } break; case TYPE_UCHAR: { unsigned int arg = a.arg[dp->arg_index].a.a_uchar; SNPRINTF_BUF (arg); } break; case TYPE_SHORT: { int arg = a.arg[dp->arg_index].a.a_short; SNPRINTF_BUF (arg); } break; case TYPE_USHORT: { unsigned int arg = a.arg[dp->arg_index].a.a_ushort; SNPRINTF_BUF (arg); } break; case TYPE_INT: { int arg = a.arg[dp->arg_index].a.a_int; SNPRINTF_BUF (arg); } break; case TYPE_UINT: { unsigned int arg = a.arg[dp->arg_index].a.a_uint; SNPRINTF_BUF (arg); } break; case TYPE_LONGINT: { long int arg = a.arg[dp->arg_index].a.a_longint; SNPRINTF_BUF (arg); } break; case TYPE_ULONGINT: { unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; SNPRINTF_BUF (arg); } break; #if HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: { long long int arg = a.arg[dp->arg_index].a.a_longlongint; SNPRINTF_BUF (arg); } break; case TYPE_ULONGLONGINT: { unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; SNPRINTF_BUF (arg); } break; #endif case TYPE_DOUBLE: { double arg = a.arg[dp->arg_index].a.a_double; SNPRINTF_BUF (arg); } break; case TYPE_LONGDOUBLE: { long double arg = a.arg[dp->arg_index].a.a_longdouble; SNPRINTF_BUF (arg); } break; case TYPE_CHAR: { int arg = a.arg[dp->arg_index].a.a_char; SNPRINTF_BUF (arg); } break; #if HAVE_WINT_T case TYPE_WIDE_CHAR: { wint_t arg = a.arg[dp->arg_index].a.a_wide_char; SNPRINTF_BUF (arg); } break; #endif case TYPE_STRING: { const char *arg = a.arg[dp->arg_index].a.a_string; SNPRINTF_BUF (arg); } break; #if HAVE_WCHAR_T case TYPE_WIDE_STRING: { const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; SNPRINTF_BUF (arg); } break; #endif case TYPE_POINTER: { void *arg = a.arg[dp->arg_index].a.a_pointer; SNPRINTF_BUF (arg); } break; default: abort (); } #if USE_SNPRINTF /* Portability: Not all implementations of snprintf() are ISO C 99 compliant. Determine the number of bytes that snprintf() has produced or would have produced. */ if (count >= 0) { /* Verify that snprintf() has NUL-terminated its result. */ if (count < maxlen && ((TCHAR_T *) (result + length)) [count] != '\0') abort (); /* Portability hack. */ if (retcount > count) count = retcount; } else { /* snprintf() doesn't understand the '%n' directive. */ if (fbp[1] != '\0') { /* Don't use the '%n' directive; instead, look at the snprintf() return value. */ fbp[1] = '\0'; continue; } else { /* Look at the snprintf() return value. */ if (retcount < 0) { /* HP-UX 10.20 snprintf() is doubly deficient: It doesn't understand the '%n' directive, *and* it returns -1 (rather than the length that would have been required) when the buffer is too small. */ size_t bigger_need = xsum (xtimes (allocated, 2), 12); ENSURE_ALLOCATION (bigger_need); continue; } else count = retcount; } } #endif /* Attempt to handle failure. */ if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EINVAL; return NULL; } #if USE_SNPRINTF /* Handle overflow of the allocated buffer. If such an overflow occurs, a C99 compliant snprintf() returns a count >= maxlen. However, a non-compliant snprintf() function returns only count = maxlen - 1. To cover both cases, test whether count >= maxlen - 1. */ if ((unsigned int) count + 1 >= maxlen) { /* If maxlen already has attained its allowed maximum, allocating more memory will not increase maxlen. Instead of looping, bail out. */ if (maxlen == INT_MAX / TCHARS_PER_DCHAR) goto overflow; else { /* Need at least (count + 1) * sizeof (TCHAR_T) bytes. (The +1 is for the trailing NUL.) But ask for (count + 2) * sizeof (TCHAR_T) bytes, so that in the next round, we likely get maxlen > (unsigned int) count + 1 and so we don't get here again. And allocate proportionally, to avoid looping eternally if snprintf() reports a too small count. */ size_t n = xmax (xsum (length, ((unsigned int) count + 2 + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR), xtimes (allocated, 2)); ENSURE_ALLOCATION (n); continue; } } #endif #if NEED_PRINTF_UNBOUNDED_PRECISION if (prec_ourselves) { /* Handle the precision. */ TCHAR_T *prec_ptr = # if USE_SNPRINTF (TCHAR_T *) (result + length); # else tmp; # endif size_t prefix_count; size_t move; prefix_count = 0; /* Put the additional zeroes after the sign. */ if (count >= 1 && (*prec_ptr == '-' || *prec_ptr == '+' || *prec_ptr == ' ')) prefix_count = 1; /* Put the additional zeroes after the 0x prefix if (flags & FLAG_ALT) || (dp->conversion == 'p'). */ else if (count >= 2 && prec_ptr[0] == '0' && (prec_ptr[1] == 'x' || prec_ptr[1] == 'X')) prefix_count = 2; move = count - prefix_count; if (precision > move) { /* Insert zeroes. */ size_t insert = precision - move; TCHAR_T *prec_end; # if USE_SNPRINTF size_t n = xsum (length, (count + insert + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR); length += (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; ENSURE_ALLOCATION (n); length -= (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; prec_ptr = (TCHAR_T *) (result + length); # endif prec_end = prec_ptr + count; prec_ptr += prefix_count; while (prec_end > prec_ptr) { prec_end--; prec_end[insert] = prec_end[0]; } prec_end += insert; do *--prec_end = '0'; while (prec_end > prec_ptr); count += insert; } } #endif #if !USE_SNPRINTF if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); #endif #if !DCHAR_IS_TCHAR /* Convert from TCHAR_T[] to DCHAR_T[]. */ if (dp->conversion == 'c' || dp->conversion == 's') { /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING TYPE_WIDE_STRING. The result string is not certainly ASCII. */ const TCHAR_T *tmpsrc; DCHAR_T *tmpdst; size_t tmpdst_len; /* This code assumes that TCHAR_T is 'char'. */ typedef int TCHAR_T_verify [2 * (sizeof (TCHAR_T) == 1) - 1]; # if USE_SNPRINTF tmpsrc = (TCHAR_T *) (result + length); # else tmpsrc = tmp; # endif tmpdst = NULL; tmpdst_len = 0; if (DCHAR_CONV_FROM_ENCODING (locale_charset (), iconveh_question_mark, tmpsrc, count, NULL, &tmpdst, &tmpdst_len) < 0) { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } ENSURE_ALLOCATION (xsum (length, tmpdst_len)); DCHAR_CPY (result + length, tmpdst, tmpdst_len); free (tmpdst); count = tmpdst_len; } else { /* The result string is ASCII. Simple 1:1 conversion. */ # if USE_SNPRINTF /* If sizeof (DCHAR_T) == sizeof (TCHAR_T), it's a no-op conversion, in-place on the array starting at (result + length). */ if (sizeof (DCHAR_T) != sizeof (TCHAR_T)) # endif { const TCHAR_T *tmpsrc; DCHAR_T *tmpdst; size_t n; # if USE_SNPRINTF if (result == resultbuf) { tmpsrc = (TCHAR_T *) (result + length); /* ENSURE_ALLOCATION will not move tmpsrc (because it's part of resultbuf). */ ENSURE_ALLOCATION (xsum (length, count)); } else { /* ENSURE_ALLOCATION will move the array (because it uses realloc(). */ ENSURE_ALLOCATION (xsum (length, count)); tmpsrc = (TCHAR_T *) (result + length); } # else tmpsrc = tmp; ENSURE_ALLOCATION (xsum (length, count)); # endif tmpdst = result + length; /* Copy backwards, because of overlapping. */ tmpsrc += count; tmpdst += count; for (n = count; n > 0; n--) *--tmpdst = (unsigned char) *--tmpsrc; } } #endif #if DCHAR_IS_TCHAR && !USE_SNPRINTF /* Make room for the result. */ if (count > allocated - length) { /* Need at least count elements. But allocate proportionally. */ size_t n = xmax (xsum (length, count), xtimes (allocated, 2)); ENSURE_ALLOCATION (n); } #endif /* Here count <= allocated - length. */ /* Perform padding. */ #if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION if (pad_ourselves && has_width) { size_t w; # if ENABLE_UNISTDIO /* Outside POSIX, it's preferrable to compare the width against the number of _characters_ of the converted value. */ w = DCHAR_MBSNLEN (result + length, count); # else /* The width is compared against the number of _bytes_ of the converted value, says POSIX. */ w = count; # endif if (w < width) { size_t pad = width - w; /* Make room for the result. */ if (xsum (count, pad) > allocated - length) { /* Need at least count + pad elements. But allocate proportionally. */ size_t n = xmax (xsum3 (length, count, pad), xtimes (allocated, 2)); # if USE_SNPRINTF length += count; ENSURE_ALLOCATION (n); length -= count; # else ENSURE_ALLOCATION (n); # endif } /* Here count + pad <= allocated - length. */ { # if !DCHAR_IS_TCHAR || USE_SNPRINTF DCHAR_T * const rp = result + length; # else DCHAR_T * const rp = tmp; # endif DCHAR_T *p = rp + count; DCHAR_T *end = p + pad; DCHAR_T *pad_ptr; # if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO if (dp->conversion == 'c' || dp->conversion == 's') /* No zero-padding for string directives. */ pad_ptr = NULL; else # endif { pad_ptr = (*rp == '-' ? rp + 1 : rp); /* No zero-padding of "inf" and "nan". */ if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z') || (*pad_ptr >= 'a' && *pad_ptr <= 'z')) pad_ptr = NULL; } /* The generated string now extends from rp to p, with the zero padding insertion point being at pad_ptr. */ count = count + pad; /* = end - rp */ if (flags & FLAG_LEFT) { /* Pad with spaces on the right. */ for (; pad > 0; pad--) *p++ = ' '; } else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { /* Pad with zeroes. */ DCHAR_T *q = end; while (p > pad_ptr) *--q = *--p; for (; pad > 0; pad--) *p++ = '0'; } else { /* Pad with spaces on the left. */ DCHAR_T *q = end; while (p > rp) *--q = *--p; for (; pad > 0; pad--) *p++ = ' '; } } } } #endif /* Here still count <= allocated - length. */ #if !DCHAR_IS_TCHAR || USE_SNPRINTF /* The snprintf() result did fit. */ #else /* Append the sprintf() result. */ memcpy (result + length, tmp, count * sizeof (DCHAR_T)); #endif #if !USE_SNPRINTF if (tmp != tmpbuf) free (tmp); #endif #if NEED_PRINTF_DIRECTIVE_F if (dp->conversion == 'F') { /* Convert the %f result to upper case for %F. */ DCHAR_T *rp = result + length; size_t rc; for (rc = count; rc > 0; rc--, rp++) if (*rp >= 'a' && *rp <= 'z') *rp = *rp - 'a' + 'A'; } #endif length += count; break; } } } } /* Add the final NUL. */ ENSURE_ALLOCATION (xsum (length, 1)); result[length] = '\0'; if (result != resultbuf && length + 1 < allocated) { /* Shrink the allocated memory if possible. */ DCHAR_T *memory; memory = (DCHAR_T *) realloc (result, (length + 1) * sizeof (DCHAR_T)); if (memory != NULL) result = memory; } if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); *lengthp = length; /* Note that we can produce a big string of a length > INT_MAX. POSIX says that snprintf() fails with errno = EOVERFLOW in this case, but that's only because snprintf() returns an 'int'. This function does not have this limitation. */ return result; #if USE_SNPRINTF overflow: if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EOVERFLOW; return NULL; #endif out_of_memory: if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); out_of_memory_1: CLEANUP (); errno = ENOMEM; return NULL; } } #undef TCHARS_PER_DCHAR #undef SNPRINTF #undef USE_SNPRINTF #undef DCHAR_CPY #undef PRINTF_PARSE #undef DIRECTIVES #undef DIRECTIVE #undef DCHAR_IS_TCHAR #undef TCHAR_T #undef DCHAR_T #undef FCHAR_T #undef VASNPRINTF dc3dd-7.1.614/lib/userspec.h0000644000175000017500000000030611022023316015174 0ustar amedicoamedico#ifndef USERSPEC_H # define USERSPEC_H 1 # include const char * parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid, char **username_arg, char **groupname_arg); #endif dc3dd-7.1.614/lib/fchown-stub.c0000644000175000017500000000046511022023316015603 0ustar amedicoamedico#include #include #include /* A trivial substitute for `fchown'. DJGPP 2.03 and earlier (and perhaps later) don't have `fchown', so we pretend no-one has permission for this operation. */ int fchown (int fd, uid_t uid, gid_t gid) { errno = EPERM; return -1; } dc3dd-7.1.614/lib/malloc.c0000644000175000017500000000303411064230667014625 0ustar amedicoamedico/* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ #line 1 /* malloc() function that is glibc compatible. Copyright (C) 1997, 1998, 2006, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, 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. */ /* written by Jim Meyering and Bruno Haible */ #include /* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ #ifdef malloc # define NEED_MALLOC_GNU # undef malloc #endif /* Specification. */ #include #include /* Call the system's malloc below. */ #undef malloc /* Allocate an N-byte block of memory from the heap. If N is zero, allocate a 1-byte block. */ void * rpl_malloc (size_t n) { void *result; #ifdef NEED_MALLOC_GNU if (n == 0) n = 1; #endif result = malloc (n); #if !HAVE_MALLOC_POSIX if (result == NULL) errno = ENOMEM; #endif return result; } dc3dd-7.1.614/lib/savedir.c0000644000175000017500000000701111022023316014773 0ustar amedicoamedico/* savedir.c -- save the list of files in a directory in a string Copyright (C) 1990, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by David MacKenzie . */ #include #include "savedir.h" #include #include #include #ifndef _D_EXACT_NAMLEN # define _D_EXACT_NAMLEN(dp) strlen ((dp)->d_name) #endif #include #include #include #include "openat.h" #include "xalloc.h" #ifndef NAME_SIZE_DEFAULT # define NAME_SIZE_DEFAULT 512 #endif /* The results of opendir() in this file are not used with dirfd and fchdir, therefore save some unnecessary work in fchdir.c. */ #undef opendir #undef closedir /* Return a freshly allocated string containing the file names in directory DIRP, separated by '\0' characters; the end is marked by two '\0' characters in a row. Return NULL (setting errno) if DIRP cannot be read or closed. If DIRP is NULL, return NULL without affecting errno. */ static char * savedirstream (DIR *dirp) { char *name_space; size_t allocated = NAME_SIZE_DEFAULT; size_t used = 0; int save_errno; if (dirp == NULL) return NULL; name_space = xmalloc (allocated); for (;;) { struct dirent const *dp; char const *entry; errno = 0; dp = readdir (dirp); if (! dp) break; /* Skip "", ".", and "..". "" is returned by at least one buggy implementation: Solaris 2.4 readdir on NFS file systems. */ entry = dp->d_name; if (entry[entry[0] != '.' ? 0 : entry[1] != '.' ? 1 : 2] != '\0') { size_t entry_size = _D_EXACT_NAMLEN (dp) + 1; if (used + entry_size < used) xalloc_die (); if (allocated <= used + entry_size) { do { if (2 * allocated < allocated) xalloc_die (); allocated *= 2; } while (allocated <= used + entry_size); name_space = xrealloc (name_space, allocated); } memcpy (name_space + used, entry, entry_size); used += entry_size; } } name_space[used] = '\0'; save_errno = errno; if (closedir (dirp) != 0) save_errno = errno; if (save_errno != 0) { free (name_space); errno = save_errno; return NULL; } return name_space; } /* Return a freshly allocated string containing the file names in directory DIR, separated by '\0' characters; the end is marked by two '\0' characters in a row. Return NULL (setting errno) if DIR cannot be opened, read, or closed. */ char * savedir (char const *dir) { return savedirstream (opendir (dir)); } /* Return a freshly allocated string containing the file names in directory FD, separated by '\0' characters; the end is marked by two '\0' characters in a row. Return NULL (setting errno) if FD cannot be read or closed. */ char * fdsavedir (int fd) { return savedirstream (fdopendir (fd)); } dc3dd-7.1.614/lib/savewd.h0000644000175000017500000001217411022023316014642 0ustar amedicoamedico/* Save and restore the working directory, possibly using a subprocess. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Paul Eggert. */ #ifndef SAVEWD_H # define SAVEWD_H 1 #include #include /* A saved working directory. The member names and constants defined by this structure are private to the savewd module. */ struct savewd { /* The state of this object. */ enum { /* This object has been created but does not yet represent the working directory. */ INITIAL_STATE, /* val.fd is the original working directory's file descriptor. It is still the working directory. */ FD_STATE, /* Like FD_STATE, but the working directory has changed, so restoring it will require a fchdir. */ FD_POST_CHDIR_STATE, /* Fork and let the subprocess do the work. val.child is 0 in a child, negative in a childless parent, and the child process ID in a parent with a child. */ FORKING_STATE, /* A serious problem argues against further efforts. val.errnum contains the error number (e.g., EIO). */ ERROR_STATE, /* savewd_finish has been called, so the application no longer cares whether the working directory is saved, and there is no more work to do. */ FINAL_STATE } state; /* The object's value. */ union { int fd; int errnum; pid_t child; } val; }; /* Initialize a saved working directory object. */ static inline void savewd_init (struct savewd *wd) { wd->state = INITIAL_STATE; } /* Options for savewd_chdir. */ enum { /* Do not follow symbolic links, if supported. */ SAVEWD_CHDIR_NOFOLLOW = 1, /* The directory should be readable, so fail if it happens to be discovered that the directory is not readable. (Unreadable directories are not necessarily diagnosed, though.) */ SAVEWD_CHDIR_READABLE = 2, /* Do not chdir if the directory is readable; simply succeed without invoking chdir if the directory was opened. */ SAVEWD_CHDIR_SKIP_READABLE = 4 }; /* Change the directory, and if successful, record into *WD the fact that the process chdired into DIR. A process using this module should use savewd_chdir rather than chdir or fchdir. Obey the options specified in OPTIONS. If OPEN_RESULT is not null, store into OPEN_RESULT[0] a file descriptor that accesses DIR if a file descriptor is successfully obtained. Store -1 otherwise, setting OPEN_RESULT[1] to the error number. Store through OPEN_RESULT regardless of whether the chdir is successful. However, when -2 is returned, the contents of OPEN_RESULT are indeterminate since the file descriptor is closed in the parent. Return -2 if a subprocess was spun off to do the real work, -1 (setting errno) if unsuccessful, 0 if successful. */ int savewd_chdir (struct savewd *wd, char const *dir, int options, int open_result[2]); /* Restore the working directory from *WD. STATUS indicates the exit status corresponding to the work done since the last save; this is used when the caller is in a subprocess. Return 0 if successful, -1 (setting errno) on our failure, a positive subprocess exit status if the working directory was restored in the parent but the subprocess failed. */ int savewd_restore (struct savewd *wd, int status); /* Return WD's error number, or 0 if WD is not in an error state. */ static inline int savewd_errno (struct savewd const *wd) { return (wd->state == ERROR_STATE ? wd->val.errnum : 0); } /* Deallocate any resources associated with WD. A program that chdirs should restore before finishing. */ void savewd_finish (struct savewd *wd); /* Process N_FILES file names, FILE[0] through FILE[N_FILES - 1]. For each file name F, call ACT (F, WD, OPTIONS); ACT should invoke savewd_chdir as needed, and should return an exit status. WD represents the working directory; it may be in an error state when ACT is called. Save and restore the working directory as needed by the file name vector; assume that ACT does not require access to any relative file names other than its first argument, and that it is OK if the working directory is changed when this function returns. Some actions may be applied in a subprocess. Return the maximum exit status that any call to ACT returned, or EXIT_SUCCESS (i.e., 0) if no calls were made. */ int savewd_process_files (int n_files, char **file, int (*act) (char *, struct savewd *, void *), void *options); #endif dc3dd-7.1.614/lib/fchownat.c0000644000175000017500000000400011022023316015142 0ustar amedicoamedico/* This function serves as replacement for a missing fchownat function, as well as a work around for the fchownat bug in glibc-2.4: when the buggy fchownat-with-AT_SYMLINK_NOFOLLOW operates on a symlink, it mistakenly affects the symlink referent, rather than the symlink itself. Copyright (C) 2006-2007 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* written by Jim Meyering */ #include #include "openat.h" #include #include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */ #include "save-cwd.h" #include "openat-priv.h" /* Replacement for Solaris' function by the same name. Invoke chown or lchown on file, FILE, using OWNER and GROUP, in the directory open on descriptor FD. If FLAG is AT_SYMLINK_NOFOLLOW, then use lchown, otherwise, use chown. If possible, do it without changing the working directory. Otherwise, resort to using save_cwd/fchdir, then mkdir/restore_cwd. If either the save_cwd or the restore_cwd fails, then give a diagnostic and exit nonzero. */ #define AT_FUNC_NAME fchownat #define AT_FUNC_F1 lchown #define AT_FUNC_F2 chown #define AT_FUNC_USE_F1_COND flag == AT_SYMLINK_NOFOLLOW #define AT_FUNC_POST_FILE_PARAM_DECLS , uid_t owner, gid_t group, int flag #define AT_FUNC_POST_FILE_ARGS , owner, group #include "at-func.c" dc3dd-7.1.614/lib/long-options.h0000644000175000017500000000201711022023316015774 0ustar amedicoamedico/* long-options.h -- declaration for --help- and --version-handling function. Copyright (C) 1993, 1994, 1998, 1999, 2003 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* Written by Jim Meyering. */ void parse_long_options (int _argc, char **_argv, const char *_command_name, const char *_package, const char *_version, void (*_usage) (int), /* const char *author1, ...*/ ...); dc3dd-7.1.614/configure.ac0000644000175000017500000002626111115525021014725 0ustar amedicoamedico# -*- autoconf -*- # Process this file with autoconf to produce a configure script. # Copyright (C) 1991, 1993-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . dnl Written by Jim Meyering. AC_PREREQ(2.61) # Make inter-release version strings look like, e.g., v6.9-219-g58ddd, which # indicates that it is built from the 219th delta (in _some_ repository) # following the v6.9 tag, and that 58ddd is a prefix of the commit SHA1. AC_INIT([dc3dd], m4_esyscmd([build-aux/git-version-gen .version]), [dc3dd@dc3.mil]) AC_CONFIG_SRCDIR(src/dc3dd.c) AC_CONFIG_AUX_DIR(build-aux) AC_CONFIG_HEADERS([lib/config.h:lib/config.hin]) AM_INIT_AUTOMAKE([1.10.1]) AC_PROG_CC_STDC AM_PROG_CC_C_O AC_PROG_CPP AC_PROG_GCC_TRADITIONAL AC_PROG_RANLIB AC_PROG_LN_S gl_EARLY gl_INIT coreutils_MACROS DC3_HDPARM AC_FUNC_FORK optional_bin_progs= AC_CHECK_FUNCS(uname, gl_ADD_PROG([optional_bin_progs], [uname])) AC_CHECK_FUNCS(chroot, gl_ADD_PROG([optional_bin_progs], [chroot])) AC_CHECK_FUNCS(gethostid, gl_ADD_PROG([optional_bin_progs], [hostid])) gl_WINSIZE_IN_PTEM AC_MSG_CHECKING(whether localtime caches TZ) AC_CACHE_VAL(utils_cv_localtime_cache, [if test x$ac_cv_func_tzset = xyes; then AC_RUN_IFELSE([AC_LANG_SOURCE([[#include #if STDC_HEADERS # include #endif extern char **environ; void unset_TZ (void) { char **from, **to; for (to = from = environ; (*to = *from); from++) if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '=')) to++; } int main() { time_t now = time ((time_t *) 0); int hour_GMT0, hour_unset; if (putenv ("TZ=GMT0") != 0) exit (1); hour_GMT0 = localtime (&now)->tm_hour; unset_TZ (); hour_unset = localtime (&now)->tm_hour; if (putenv ("TZ=PST8") != 0) exit (1); if (localtime (&now)->tm_hour == hour_GMT0) exit (1); unset_TZ (); if (localtime (&now)->tm_hour != hour_unset) exit (1); exit (0); }]])], [utils_cv_localtime_cache=no], [utils_cv_localtime_cache=yes], [# If we have tzset, assume the worst when cross-compiling. utils_cv_localtime_cache=yes]) else # If we lack tzset, report that localtime does not cache TZ, # since we can't invalidate the cache if we don't have tzset. utils_cv_localtime_cache=no fi])dnl AC_MSG_RESULT($utils_cv_localtime_cache) if test $utils_cv_localtime_cache = yes; then AC_DEFINE(LOCALTIME_CACHE, 1, [FIXME]) fi # SCO-ODT-3.0 is reported to need -los to link programs using initgroups AC_CHECK_FUNCS(initgroups) if test $ac_cv_func_initgroups = no; then AC_CHECK_LIB(os, initgroups) fi AC_CHECK_FUNCS(syslog) if test $ac_cv_func_syslog = no; then # syslog is not in the default libraries. See if it's in some other. for lib in bsd socket inet; do AC_CHECK_LIB($lib, syslog, [AC_DEFINE(HAVE_SYSLOG, 1, [FIXME]) LIBS="$LIBS -l$lib"; break]) done fi AC_CACHE_CHECK([for 3-argument setpriority function], [utils_cv_func_setpriority], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include #include ]], [[setpriority (0, 0, 0);]])], [utils_cv_func_setpriority=yes], [utils_cv_func_setpriority=no])]) if test $utils_cv_func_setpriority = no; then AC_CHECK_FUNCS([nice]) fi case $utils_cv_func_setpriority,$ac_cv_func_nice in *yes*) gl_ADD_PROG([optional_bin_progs], [nice]) esac AC_DEFUN([coreutils_DUMMY_1], [ AC_REQUIRE([gl_READUTMP]) if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then gl_ADD_PROG([optional_bin_progs], [who]) gl_ADD_PROG([optional_bin_progs], [users]) gl_ADD_PROG([optional_bin_progs], [pinky]) fi ]) coreutils_DUMMY_1 AC_MSG_CHECKING(ut_host in struct utmp) AC_CACHE_VAL(su_cv_func_ut_host_in_utmp, [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include #include ]], [[struct utmp ut; return !sizeof ut.ut_host;]])], [su_cv_func_ut_host_in_utmp=yes], [su_cv_func_ut_host_in_utmp=no])]) AC_MSG_RESULT($su_cv_func_ut_host_in_utmp) if test $su_cv_func_ut_host_in_utmp = yes; then have_ut_host=1 AC_DEFINE(HAVE_UT_HOST, 1, [FIXME]) fi if test -z "$have_ut_host"; then AC_MSG_CHECKING(ut_host in struct utmpx) AC_CACHE_VAL(su_cv_func_ut_host_in_utmpx, [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include #include ]], [[struct utmpx ut; return !sizeof ut.ut_host;]])], [su_cv_func_ut_host_in_utmpx=yes], [su_cv_func_ut_host_in_utmpx=no])]) AC_MSG_RESULT($su_cv_func_ut_host_in_utmpx) if test $su_cv_func_ut_host_in_utmpx = yes; then AC_DEFINE(HAVE_UTMPX_H, 1, [FIXME]) AC_DEFINE(HAVE_UT_HOST, 1, [FIXME]) fi fi GNULIB_BOOT_TIME([gl_ADD_PROG([optional_bin_progs], [uptime])]) AC_SYS_POSIX_TERMIOS() gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL if test $ac_cv_sys_posix_termios = yes; then gl_ADD_PROG([optional_bin_progs], [stty]) AC_MSG_CHECKING(whether termios.h needs _XOPEN_SOURCE) AC_CACHE_VAL(su_cv_sys_termios_needs_xopen_source, [AC_EGREP_CPP(yes, [#include #ifdef IUCLC yes #endif], su_cv_sys_termios_needs_xopen_source=no, AC_EGREP_CPP(yes, [#define _XOPEN_SOURCE #include #ifdef IUCLC yes #endif], su_cv_sys_termios_needs_xopen_source=yes, su_cv_sys_termios_needs_xopen_source=no))]) AC_MSG_RESULT($su_cv_sys_termios_needs_xopen_source) test $su_cv_sys_termios_needs_xopen_source = yes && AC_DEFINE(TERMIOS_NEEDS_XOPEN_SOURCE, 1, [FIXME]) AC_MSG_CHECKING(c_line in struct termios) AC_CACHE_VAL(su_cv_sys_c_line_in_termios, [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if TERMIOS_NEEDS_XOPEN_SOURCE #define _XOPEN_SOURCE #endif #include #include ]], [[struct termios t; return !sizeof t.c_line;]])], [su_cv_sys_c_line_in_termios=yes], [su_cv_sys_c_line_in_termios=no])]) AC_MSG_RESULT($su_cv_sys_c_line_in_termios) test $su_cv_sys_c_line_in_termios = yes \ && AC_DEFINE(HAVE_C_LINE, 1, [FIXME]) fi # FIXME: note that this macro appears above, too. # I'm leaving it here for now. This whole thing needs to be modernized... gl_WINSIZE_IN_PTEM gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H if test $gl_cv_sys_tiocgwinsz_needs_termios_h = no && \ test $gl_cv_sys_tiocgwinsz_needs_sys_ioctl_h = no; then AC_MSG_CHECKING(TIOCGWINSZ in sys/pty.h) AC_CACHE_VAL(su_cv_sys_tiocgwinsz_in_sys_pty_h, [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include #ifdef WINSIZE_IN_PTEM # include # include #endif #include #include #include ]], [[int x = TIOCGWINSZ;]])], [su_cv_sys_tiocgwinsz_in_sys_pty_h=yes], [su_cv_sys_tiocgwinsz_in_sys_pty_h=no])]) AC_MSG_RESULT($su_cv_sys_tiocgwinsz_in_sys_pty_h) test $su_cv_sys_tiocgwinsz_in_sys_pty_h = yes \ && AC_DEFINE(GWINSZ_IN_SYS_PTY, 1, [Define if your system defines TIOCGWINSZ in sys/pty.h.]) fi # For src/kill.c. AC_CHECK_DECLS([strsignal, sys_siglist, _sys_siglist, __sys_siglist], , , [AC_INCLUDES_DEFAULT #include ]) cu_LIB_CHECK # Build df only if there's a point to it. if test $gl_cv_list_mounted_fs = yes && test $gl_cv_fs_space = yes; then gl_ADD_PROG([optional_bin_progs], [df]) fi ############################################################################ mk="$srcdir/src/Makefile.am" # Extract all literal names from the definition of $(EXTRA_PROGRAMS) # in $mk but don't expand the variable references. # Append each literal name to $optional_bin_progs. v=EXTRA_PROGRAMS for gl_i in `sed -n '/^'$v' =/,/[[^\]]$/p' $mk \ | sed 's/^ *//;/^\$.*/d;/^'$v' =/d' \ | tr -s '\\015\\012\\\\' ' '`; do gl_ADD_PROG([optional_bin_progs], $gl_i) done # As above, extract literal names from the definition of $(no_install__progs) # in $mk but don't expand the variable references. v=no_install__progs t=`sed -n '/^'$v' =/,/[[^\]]$/p' $mk \ | sed 's/^ *//;/^\$.*/d;/^'$v' =/d' \ | tr -s '\\015\\012\\\\' ' '` # Remove any trailing space. no_install_progs_default=`echo "$t"|sed 's/ $//'` # Unfortunately, due to the way autoconf's AS_HELP_STRING works, the list # of default-not-installed programs, "arch hostname su", must appear in two # places: in this file below, and in $mk. Using "$no_install_progs_default" # below cannot work. And we can't substitute the names into $mk because # automake needs the literals, too. # The compromise is to ensure that the space-separated list extracted # above matches the literal 2nd argument below. c="$srcdir/configure.ac" re='^g''l_INCLUDE_EXCLUDE_PROG(.* [\[\(.*\)\]])' t=`sed -n '/'"$re"'/{s/'"$re"'/\1/;s/,/ /gp }' $c` case $t in $no_install_progs_default) ;; *) AC_MSG_ERROR([[internal error: g'l_INCLUDE_EXCLUDE_PROG's 2nd arg, $t, does not match the list of default-not-installed programs ($no_install_progs_default) also recorded in $mk]], 1) ;; esac # Given the name of a variable containing a space-separated list of # install-by-default programs and the actual list do-not-install-by-default # programs, modify the former variable to reflect any "do-install" and # "don't-install" requests. # I.e., add any program name specified via --enable-install-program=..., and # remove any program name specified via --enable-no-install-program=... # Note how the second argument below is a literal, with "," separators. # That is required due to the way the macro works, and since the # corresponding ./configure option argument is comma-separated on input. #gl_INCLUDE_EXCLUDE_PROG([optional_bin_progs], [arch,hostname,su]) # Set INSTALL_SU if su installation has been requested via # --enable-install-program=su. AC_SUBST([INSTALL_SU]) case " $optional_bin_progs " in *' su '*) INSTALL_SU=yes ;; *) INSTALL_SU=no ;; esac MAN=`echo "$optional_bin_progs "|sed 's/ /.1 /g;s/ $//'|tr -d '\\015\\012'` # Change ginstall.1 to "install.h" in $MAN. MAN=`for m in $MAN; do test $m = ginstall.1 && m=install.1; echo $m; done \ | tr '\015\012' ' '; echo` # Remove [.1, since writing a portable rule for it in man/Makefile.am # is not practical. The sed LHS below uses the autoconf quadrigraph # representing '['. MAN=`echo "$MAN"|sed 's/\@<:@\.1//'` OPTIONAL_BIN_PROGS=`echo "$optional_bin_progs "|sed 's/ /\$(EXEEXT) /g;s/ $//'` AC_SUBST([OPTIONAL_BIN_PROGS]) NO_INSTALL_PROGS_DEFAULT=$no_install_progs_default AC_SUBST([NO_INSTALL_PROGS_DEFAULT]) # Arrange to rerun configure whenever the file, src/Makefile.am, # containing the list of program names changes. CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/src/Makefile.am' AC_SUBST([CONFIG_STATUS_DEPENDENCIES]) ############################################################################ AM_GNU_GETTEXT([external], [need-formatstring-macros]) AM_GNU_GETTEXT_VERSION([0.15]) DC3_HDPARM_SET # For a test of uniq: it uses the $LOCALE_FR envvar. gt_LOCALE_FR AC_CONFIG_FILES( Makefile lib/Makefile man/Makefile po/Makefile.in src/Makefile ) AC_OUTPUT dc3dd-7.1.614/tests/0000755000175000017500000000000011613550423013601 5ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/0000755000175000017500000000000011613550423016507 5ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v320_434B09EA2CCB9C84EE9D5E53224A1AEF.md50000755000175000017500000000010011323701322023756 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v264_92ACEF120453F4AF4AC41BF1970D7356.md50000755000175000017500000000010011323701322023701 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v0008_7707d6ae4e027c70eea2a935c2296f21.md50000755000175000017500000364110011323701322024517 0ustar amedicoamedicoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadc3dd-7.1.614/tests/md5_test_files/s3v207_358FBC82B38B0A24D4AF61C87D6C62A5.md50000755000175000017500000000010011323701322023723 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v493_15E190036F667CE0AE80DB61834DB56F.md50000755000175000017500000000010011323701322023674 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v387_7C80829659877A03938CC796BA738DEF.md50000755000175000017500000000010011323701322023705 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v474_67CF6FBF0D86024C9B54B140350298C2.md50000755000175000017500000000010011323701322023653 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v401_7567725FF801A30914E07CFFE1A6C49A.md50000755000175000017500000000010011323701322023670 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v356_91C95A8DCA2CA8989CE17EC38A6388A7.md50000755000175000017500000000010011323701322023763 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v472_0E380317C0B7A38666CA700C54A86A7D.md50000755000175000017500000000010011323701322023640 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v166_333CD297065AF4A6895006E9D4280142.md50000755000175000017500000000010011323701322023573 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v008_E0D1D11DB4A1920B5D1E2AC3C8FF2EE5.md50000755000175000017500000000010011323701322023755 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v260_C4714103FA3E1AC58C9AB450F4567764.md50000755000175000017500000000010011323701322023641 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v228_968B472E57E76D5D1E63476B38C58816.md50000755000175000017500000000010011323701322023652 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v353_8B6E6D2982109FF64A86951CF1DB22E6.md50000755000175000017500000000010011323701322023710 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v072_1C0098B2775421532A7CB1844DD304D9.md50000755000175000017500000000010011323701322023574 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v372_908FD38B278D2DF6E24A13DD924C484D.md50000755000175000017500000000010011323701322023725 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v150_507294EA0591C0E74EAA016663A9D41B.md50000755000175000017500000000010011323701322023627 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v126_4FEC09054AF195AEE8BE25A69EEDAE9D.md50000755000175000017500000000010011323701322024041 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v06_D174AB98D277D9F5A5611C2C9F419D9F.md50000755000175000017500000000007611323701322023662 0ustar amedicoamedicoABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789dc3dd-7.1.614/tests/md5_test_files/s3v112_2CC4983246D6613B913C46A9A9626AC0.md50000755000175000017500000000010011323701322023622 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v508_638A19A3375D1CD4A6D597D0ED0FB2A3.md50000755000175000017500000000010011323701322023723 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v053_FEE2CB77ABF8EE1DBE1FE5112C05EBE7.md50000755000175000017500000000010011323701322024060 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v183_8B80DF449634ADD584C56EC82FA8B491.md50000755000175000017500000000010011323701322023733 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v088_712E4057E7BD5A9E2F37F24557FE8AD8.md50000755000175000017500000000010011323701322023740 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v482_40BEE92CF590D130F7CD8DF31223B105.md50000755000175000017500000000010011323701322023675 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v311_4A5F3B1A66788529448A43F3E12AF39D.md50000755000175000017500000000010011323701322023653 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v083_CBA94A4C71DE66B971CC1D1715B4BF97.md50000755000175000017500000000010011323701322023751 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v114_15E7103C17842034916397988BBE4179.md50000755000175000017500000000010011323701322023542 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v424_EAE6F63E52CD7468B6D0ECC4B071237C.md50000755000175000017500000000010011323701322023746 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v484_F2ECA81F5EE194D356210A5E83657BCC.md50000755000175000017500000000010011323701322023736 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v433_F4152ECC66945DA718F7D9D555187B6C.md50000755000175000017500000000010011323701322023716 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v145_EE7648EF561CAE348C3DCC1344CA2D8D.md50000755000175000017500000000010011323701322023772 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v481_E5404AD29B710C5189669E150A710D29.md50000755000175000017500000000010011323701322023607 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v093_F03821A6191AED4FA02B66A9C7F71C63.md50000755000175000017500000000010011323701322023701 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v315_D99EBFDA2BB73EED3665216E8C2A1CF1.md50000755000175000017500000000010011323701322024006 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v391_813B32050FEDCDB719F95A646E888560.md50000755000175000017500000000010011323701322023667 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v362_EBDFAF3A03CB6F6B132DC4978D68995C.md50000755000175000017500000000010011323701322024004 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v381_0169943B9748514AB5D0083D5174F7F0.md50000755000175000017500000000010011323701322023577 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v240_4B0858EEB2639659EACA7B7B7C3349A5.md50000755000175000017500000000010011323701322023720 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v041_30BFC0E8F8C2FC95773138BC8DA947B6.md50000755000175000017500000000010011323701322023741 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v198_381382D00904888081A9552B81ED36BB.md50000755000175000017500000000010011323701322023600 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v423_0ADAFB3AB3E613570405A34CD6F45F66.md50000755000175000017500000000010011323701322023706 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v003_F86BBABF1921DDE8BDA8BFD280C7EF42.md50000755000175000017500000000010011323701322024042 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v051_08A482079AED8725E0A41DA42F3BCF88.md50000755000175000017500000000010011323701322023703 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v257_101BE3EECE1ED26CE794B90C6C5D0460.md50000755000175000017500000000010011323701322023740 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v251_2ACD03AC14947052515B8F311F759093.md50000755000175000017500000000010011323701322023574 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v419_4ECC87CE3E1663123FC0073032A46698.md50000755000175000017500000000010011323701322023630 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v239_1F9DD8FC6AC8EFBC2D378D6AB44AAFE7.md50000755000175000017500000000010011323701322024106 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v197_267A19F7B8E18E2B4E720432139B6E8C.md50000755000175000017500000000010011323701322023665 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v459_8275B17CEABDFEF760222DA01A35715D.md50000755000175000017500000000010011323701322023721 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v158_48C94CC7533CAB43EDBCC9828F0416C8.md50000755000175000017500000000010011323701322023743 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v445_4B90DA4B10A0B514998EF664C3BAFF69.md50000755000175000017500000000010011323701322023732 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v297_033F089D5B15DF34AEE9862A2998B190.md50000755000175000017500000000010011323701322023672 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v312_DFEBB879EC199A81A4D3B4A8B435DD4C.md50000755000175000017500000000010011323701322024012 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v338_D8BFD743BAC554D9FAEE587568C779C9.md50000755000175000017500000000010011323701322024017 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v483_A213CD218594A7F3EB14B627E1FC5B76.md50000755000175000017500000000010011323701322023707 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v220_A7D27906D1889C91C565FEB36D3E41E5.md50000755000175000017500000000010011323701322023703 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v188_50B7EC4B54BDBBA0EF6D56765B29E2C0.md50000755000175000017500000000010011323701322023766 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v055_2B48DCA04A1CB4CCCF74D8C8AEF831E0.md50000755000175000017500000000010011323701322024013 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v395_137398F39EF97AE7B6B682F8253CE123.md50000755000175000017500000000010011323701322023706 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v396_6E244EC4300F40A8DCBE38A446DE9006.md50000755000175000017500000000010011323701322023705 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v125_A7517BC483991C3D517DAD8CB22AE90A.md50000755000175000017500000000010011323701322023721 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v052_B148E58BB47D90595E34EFD04A6BF45C.md50000755000175000017500000000010011323701322023735 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v368_3031C0316DE64B89C3E0780FE5C2ECE6.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v191_33D64C0B4E5A9E444252F0738B9C2DE0.md50000755000175000017500000000010011323701322023663 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v065_153A4356041A8AFC4610244D059D625C.md50000755000175000017500000000010011323701322023566 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v142_04684925D5CB72903C75586AFB22F824.md50000755000175000017500000000010011323701322023617 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v392_49384B8B60C1A065346A995BB31CEA47.md50000755000175000017500000000010011323701322023651 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v168_AE560D63E7BB6F828FE0F86ADF29F86C.md50000755000175000017500000000010011323701322024023 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v428_6E7B760A6835B012538A335E380780E3.md50000755000175000017500000000010011323701322023572 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v425_18D3E8B9062752CAEBE9D883134AAABC.md50000755000175000017500000000010011323701322023745 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v444_4643EF5500FDED7B08B5D69C62D5582D.md50000755000175000017500000000010011323701322023723 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v438_B38E7B51485EDD91FD7E9F4378E38816.md50000755000175000017500000000010011323701322023736 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v061_09F09DA03DE4AB2FDCD34A101AA71560.md50000755000175000017500000000010011323701322023705 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v154_9839348A2E202C867FF409B2AD90E8E3.md50000755000175000017500000000010011323701322023666 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s1v0002_900150983cd24fb0d6963f7d28e17f72.md50000755000175000017500000000000311323701322024351 0ustar amedicoamedicoabcdc3dd-7.1.614/tests/md5_test_files/s3v337_E8C2D6FDA486A004774D642971D299DE.md50000755000175000017500000000010011323701322023713 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v192_5D2BE56802387E0D53C4374EEB8C82B6.md50000755000175000017500000000010011323701322023700 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v293_A4F83A8ACD7A56B5200834DFF5ABA455.md50000755000175000017500000000010011323701322023743 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v286_DD2EB5678E96DE9148B8851680016F63.md50000755000175000017500000000010011323701322023666 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v275_43D4E2EA49CD56875A788AE9E892D9C5.md50000755000175000017500000000010011323701322023755 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v138_BAAE5CD4937CE794C123719159FB04C3.md50000755000175000017500000000010011323701322023713 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v298_C5B96A88C4D30AC218A00FE8C8A5FE0E.md50000755000175000017500000000010011323701322023773 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v335_3494210E35210F36EF5863E9654FE203.md50000755000175000017500000000010011323701322023573 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v370_6AAED62F00954A26BF916E0C245ACF42.md50000755000175000017500000000010011323701322023713 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v412_68B502C668B792ED079866770B10C965.md50000755000175000017500000000010011323701322023612 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v261_499F861EE4EFB2FB38A00B97EFF10010.md50000755000175000017500000000010011323701322023726 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v268_4250DA118C52D1BCD8C76D657535EC5E.md50000755000175000017500000000010011323701322023713 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v182_3106D91DCF01FDCF28203F8F2D9100DB.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v485_BE42CF5328636668130F9000FD6B601C.md50000755000175000017500000000010011323701322023627 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v458_C87C5FF808384504E42BFD1BE5A712B1.md50000755000175000017500000000010011323701322023715 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v331_5EC5971D4C35A16E4DF4957454C9AC67.md50000755000175000017500000000010011323701322023707 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v057_651C77103A6CAA2DDD64253AB619DCEC.md50000755000175000017500000000010011323701322023731 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v011_313E604ACFFC20F994BC77A5338868F9.md50000755000175000017500000000010011323701322023701 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v334_14D77332F92E1C1BA396812696946307.md50000755000175000017500000000010011323701322023562 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v005_6D0FE6F22A181464E6445CECCC9F0637.md50000755000175000017500000000010011323701322023707 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v194_EF271AF9F4401397DDB402C99A4F0F4E.md50000755000175000017500000000010011323701322023740 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v399_A05C4E77731A523F396EADA342D6E66A.md50000755000175000017500000000010011323701322023717 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v422_A223438271EB74888A765160D6522886.md50000755000175000017500000000010011323701322023542 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v430_F5AE69B217C1CF7244A23B131EDD92EA.md50000755000175000017500000000010011323701322023730 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v325_AE78A69932F7567419555CB281CC43FB.md50000755000175000017500000000010011323701322023672 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v409_C2E0DE6429654FB9590324DCF1D92D8F.md50000755000175000017500000000010011323701322023727 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v304_B3632C95BCAB4E24EE5333AA2F28941B.md50000755000175000017500000000010011323701322023707 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v157_086E40611F0649CC5B330A0BCD430411.md50000755000175000017500000000010011323701322023573 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v080_FF3A4D6DA7A8C8C223B784F7BB89D3A0.md50000755000175000017500000000010011323701322023773 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v236_7CE886342A970ED79132994AA682BEBC.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v330_19EE32DC24E80C8E41A1DE95B555C3DB.md50000755000175000017500000000010011323701322023740 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v465_B89DFF15C70666B1F41D53C3EEFDF88B.md50000755000175000017500000000010011323701322024014 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v049_757E17C903DF12EA67252CBA283B66A0.md50000755000175000017500000000010011323701322023663 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v441_AAD887A7C026424568B7ABD0811EB531.md50000755000175000017500000000010011323701322023654 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v468_38C8CC15D9C50B404EB18E07F5C020DC.md50000755000175000017500000000010011323701322023722 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v323_4A7A550DEDFF320DDA0A5538EC0CAA5B.md50000755000175000017500000000010011323701322023774 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v471_46D2ED6F3043A6201A7A9853320D70BA.md50000755000175000017500000000010011323701322023626 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v416_F5816D1064596ABFF2E783455467626B.md50000755000175000017500000000010011323701322023633 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v177_0D7D9124EA411E52CA2B01FFA1EE292A.md50000755000175000017500000000010011323701322023721 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v151_DE75CF7B97DBB781D9B7B5D4AE8204C7.md50000755000175000017500000000010011323701322024005 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v043_0BE383B2766ED8B575B9040BC0D42EF5.md50000755000175000017500000000010011323701322023701 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v172_58E5890DD2E1DAA3F911EC6A9C33B88F.md50000755000175000017500000000010011323701322023761 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v316_61C9AA0D28C04D6DD753EC855214149E.md50000755000175000017500000000010011323701322023665 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v255_29911578E644BDF6257D23B8D4DD0D38.md50000755000175000017500000000010011323701322023667 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v287_04F0A7E368A6FEF21524BEB4DC5310C2.md50000755000175000017500000000010011323701322023715 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v063_FF2719AE2554BA4C0EB721799CDA860E.md50000755000175000017500000000010011323701322023731 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v495_B6A4C6F85D391A98D0513E074B5313C5.md50000755000175000017500000000010011323701322023655 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v077_6EE70CE7ACAC7BBFCAA5918FC7D7A231.md50000755000175000017500000000010011323701322024047 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v386_F6F2004BC97D03608CABB0BD44E998A1.md50000755000175000017500000000010011323701322023726 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v235_70F0627C98DF0A4282D20B07A6A05BA1.md50000755000175000017500000000010011323701322023641 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v018_ED46B74E2F7904F49E2FF64038EFC620.md50000755000175000017500000000010011323701322023727 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v431_C1932E05A9013D9F99F4D3E5276A119C.md50000755000175000017500000000010011323701322023654 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v233_AE6E5FE9CD9B0B8FBBA08D86A73C1FC9.md50000755000175000017500000000010011323701322024060 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s1v00_D41D8CD98F00B204E9800998ECF8427E.md50000755000175000017500000000000011323701322023614 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v333_6A6B51E428A95BEEA6F4D4597296E03D.md50000755000175000017500000000010011323701322023723 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v439_595EB1247564E5E2F0CD600972D5BDD1.md50000755000175000017500000000010011323701322023675 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v344_FA25C49644FE02B2DCC09B21DC80CC8C.md50000755000175000017500000000010011323701322023754 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v037_151C00A49855680BA36700676857A8F4.md50000755000175000017500000000010011323701322023553 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v299_ECA700AA944E6014C5336A0A797E9EA5.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v014_B0052285C8B28883ADDD0728B85A7FA2.md50000755000175000017500000000010011323701322023661 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v214_22C5635999C532034A3FBE8CCA3BFBAE.md50000755000175000017500000000010011323701322023737 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v148_16C8DFFC05C2E5A3FAB785169F655EA1.md50000755000175000017500000000010011323701322023760 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v454_DEAF528DF04ACF72DE18B3217053D427.md50000755000175000017500000000010011323701322023723 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v153_515433D6CD023AA480E8E111DC43C7B5.md50000755000175000017500000000010011323701322023642 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v501_934867C0BBFCB06C5BBA8A324EBF9EA4.md50000755000175000017500000000010011323701322023776 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v071_FA534E290740E8DF8637C76F1904518B.md50000755000175000017500000000010011323701322023645 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v181_75A2FE3A9471A0D8D45EE5756C46DBD5.md50000755000175000017500000000010011323701322023740 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v473_6459F489263B4AA47205258F8844B57B.md50000755000175000017500000000010011323701322023617 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v254_E97333985B140C769EF4CDBF13B5FBA3.md50000755000175000017500000000010011323701322023740 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v038_CA7CD07DA0E6EDA1040613CF4B70777E.md50000755000175000017500000000010011323701322023731 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v273_96C91B562423BCD0727E0A0731D797AC.md50000755000175000017500000000010011323701322023645 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v382_C1EB9BCEEC97EBD8E6589C2CE337033F.md50000755000175000017500000000010011323701322024031 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v128_B8BC4C030D9B5E7C21DAD46C64A01D47.md50000755000175000017500000000010011323701322023727 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v284_8F6D97EC60BBF7BE9F9E2DE37B495D9D.md50000755000175000017500000000010011323701322024057 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v463_5B70D9641D978CE2E2CFFD7FB77710A9.md50000755000175000017500000000010011323701322023756 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v290_C2C749BF832F924E379EAC89959694C3.md50000755000175000017500000000010011323701322023717 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s1v01_0CC175B9C0F1B6A831C399E269772661.md50000755000175000017500000000000111323701322023543 0ustar amedicoamedicoadc3dd-7.1.614/tests/md5_test_files/s3v400_5C5208058E887AEFA1A32E8988A37455.md50000755000175000017500000000010011323701322023643 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v047_E54B50B64867080469586A3A2B3EF892.md50000755000175000017500000000010011323701322023625 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v256_ED9D395824171A7F82A0CB538433A22B.md50000755000175000017500000000010011323701322023646 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v0003_f96b697d7cb7938d525a2f31aaf161d0.md50000755000175000017500000000001611323701322024574 0ustar amedicoamedicomessage digestdc3dd-7.1.614/tests/md5_test_files/s3v271_882EE17FB046D8A07610C313AC5915DF.md50000755000175000017500000000010011323701322023663 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v132_1E9952941C130B19BB856BF7C575D776.md50000755000175000017500000000010011323701322023644 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v135_BD0C6E70CD8BDD76D1A785E807758744.md50000755000175000017500000000010011323701322023727 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v208_66D9F3919AE352F3F16246EAD3074E75.md50000755000175000017500000000010011323701322023666 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v358_FBB5156D83A78CB68DC5DF712C253D1A.md50000755000175000017500000000010011323701322023754 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v129_2FE6FF005BD3DD6B7A0DD2E19B494D86.md50000755000175000017500000000010011323701322023773 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v479_01C0DCC29632E632E2D65D22C8D5A397.md50000755000175000017500000000010011323701322023672 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v136_9D769C10174B8913F7E8169AE915A753.md50000755000175000017500000000010011323701322023637 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v205_83B33925BED3AC0EB4F9AF6BC75F0D8B.md50000755000175000017500000000010011323701322024004 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v478_DB7648736FFA74596EB5C3B3918AEBA3.md50000755000175000017500000000010011323701322023757 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v159_2B6F068A88D555E2E7802FC8A045EA47.md50000755000175000017500000000010011323701322023706 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v499_37DC0F6EDD8AC35C5A556081B41097DD.md50000755000175000017500000000010011323701322023741 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v078_5A8CD68C9E7EBB8EC286F95527E1FABD.md50000755000175000017500000000010011323701322024044 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v118_28DEDF5CD293E20E8D4724DE72EF21B4.md50000755000175000017500000000010011323701322023754 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v378_DA4808CEDCF6FD31715854CF73CC3383.md50000755000175000017500000000010011323701322023750 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v509_62881F317DE9E38108F29307239EC178.md50000755000175000017500000000010011323701322023620 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v237_25313BE41F42B3D30E1CD065D73ACDD7.md50000755000175000017500000000010011323701322023703 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v267_7CE5B968386A1AC3759B4B4BA636D939.md50000755000175000017500000000010011323701322023716 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v280_6831072E80D199D3C4A348AE6DD143D0.md50000755000175000017500000000010011323701322023643 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v418_53CAAF5CBC27128942AB99FC82F93D16.md50000755000175000017500000000010011323701322023741 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v504_CC10DAD64C6DECDA5FBDD62A11BBE586.md50000755000175000017500000000010011323701322024045 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v274_421B5C3068FC2555A4DF70B3817B8780.md50000755000175000017500000000010011323701322023631 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v124_80D4B2EFDAE671E9201C6EE54CF24744.md50000755000175000017500000000010011323701322023725 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v170_BAD0D7713C2C6913C46F7F1A2A92B4A4.md50000755000175000017500000000010011323701322023707 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v120_4837F0FC7F4477E20897DC342E8A441A.md50000755000175000017500000000010011323701322023656 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v146_18715BA9CAA905F7D42EE35BB9B6DAF0.md50000755000175000017500000000010011323701322023765 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v147_81F7169AA6B34763F37EC296EDF8E777.md50000755000175000017500000000010011323701322023731 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v218_479AA5097DB0D27D906967DFE0359B94.md50000755000175000017500000000010011323701322023675 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v245_009B7E32759B44054975D918DA7424CC.md50000755000175000017500000000010011323701322023622 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v085_C540F2FF6F64B3F8201CA26DEDF38982.md50000755000175000017500000000010011323701322023742 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v193_5CB0C473C47139C526BDDB60043C68C2.md50000755000175000017500000000010011323701322023656 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v253_9D1FD01C05A09169E37ED94562BAAAF5.md50000755000175000017500000000010011323701322023723 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v282_4B635B3106408769F8F1CD71EF4AF402.md50000755000175000017500000000010011323701322023652 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v490_27D5C2DBD350B6D18849CC5DFD690630.md50000755000175000017500000000010011323701322023715 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v002_DEC544A38537D47AE3074C1B1FE258CE.md50000755000175000017500000000010011323701322023716 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v186_60E861BC3EDB744A966B43EBEDA7B56E.md50000755000175000017500000000010011323701322024000 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v498_1EFCFE1F115FE9DF8D60F1B985FEBE3A.md50000755000175000017500000000010011323701322024076 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v133_B697FEB25C0DBE9B15AAF267CA43FB00.md50000755000175000017500000000010011323701322023770 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v234_B0AF28AB9D0FC7EEE36A757E9A1ED66B.md50000755000175000017500000000010011323701322024033 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v402_346DE7910432F66E09BAC32E34EB1B58.md50000755000175000017500000000010011323701322023660 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v102_54571E2A04C159B9CD187E84CD591B5D.md50000755000175000017500000000010011323701322023667 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v116_B62131086AFE3EA0965181CC25A4271C.md50000755000175000017500000000010011323701322023623 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v109_48277E4B13A266FF3389F2A5D219A341.md50000755000175000017500000000010011323701322023632 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v427_0A3ECD269F355AB60EEFBE4091F18AD5.md50000755000175000017500000000010011323701322023764 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v375_E07EA5D16AEB8431BFB016EE7BD0C5CC.md50000755000175000017500000000010011323701322024013 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v411_83351D012FEF8C39D6C8ED2764365222.md50000755000175000017500000000010011323701322023632 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v110_04B174213538AAD2F2546F8CDA4E1AE3.md50000755000175000017500000000010011323701322023656 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v05_8215EF0796A20BCAAAE116D3876C664A.md50000755000175000017500000000007011323701322023616 0ustar amedicoamedicoabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqdc3dd-7.1.614/tests/md5_test_files/s3v204_79AC06CCCD507714BD453964ED787677.md50000755000175000017500000000010011323701322023671 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v300_9822EA7178B96DC5156EF33477D9FFF6.md50000755000175000017500000000010011323701322023722 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v404_E0CFD61D4F4604C26E299A7F1FF60A9B.md50000755000175000017500000000010011323701322023752 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v229_E662F9A0CE1298E18FE149BEE0504AB0.md50000755000175000017500000000010011323701322023727 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v350_AA147CCCFE9C4D8DB5B53CB30DD9E06F.md50000755000175000017500000000010011323701322024041 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v223_049F7E9F7A579E9DC8CB2E90370B7DFD.md50000755000175000017500000000010011323701322024001 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v076_3D78D853674651BE79F7EEB985D66CA0.md50000755000175000017500000000010011323701322023732 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v291_4096823ABA928A856D6724FD91C57D3D.md50000755000175000017500000000010011323701322023670 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v506_DDA2969799CEC4F270FCB69209474EC7.md50000755000175000017500000000010011323701322023744 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v187_6D0BD086D12CEF697B746334883AE196.md50000755000175000017500000000010011323701322023673 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v070_9F392C0A01B3F31C872501D822E123B1.md50000755000175000017500000000010011323701322023574 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v507_8197D643B6A206825B566BFEC1461987.md50000755000175000017500000000010011323701322023631 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v209_84136628469F13A6D30C2F81D9FB8709.md50000755000175000017500000000010011323701322023631 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s1v04_C3FCD3D76192E4007DFB496CCA67E13B.md50000755000175000017500000000003211323701322023663 0ustar amedicoamedicoabcdefghijklnmopqrstuvwxyzdc3dd-7.1.614/tests/md5_test_files/s3v342_3512A0D0699AB677C0E8D18AA60669F5.md50000755000175000017500000000010011323701322023651 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v328_D8B0C69B1460D390394B18A8291CCAE6.md50000755000175000017500000000010011323701322023670 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v314_E57BCB5946E8F7058DB6528F61C430FA.md50000755000175000017500000000010011323701322023724 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v179_A3221BD958FEE82FF3C0374885B33138.md50000755000175000017500000000010011323701322023665 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v004_F5504FB61B4A45F425A7E81A5EE46F9D.md50000755000175000017500000000010011323701322023727 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v406_8FC8AFDFFBA17F5F6FECAAB9B52DF2A6.md50000755000175000017500000000010011323701322024137 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v285_A921143B8BCA6CAC4B44D946E5948537.md50000755000175000017500000000010011323701322023700 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v156_5B80805194B94E300C6356B9316E0485.md50000755000175000017500000000010011323701322023553 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v491_F2F36909DBA92546CCC4536C529E1244.md50000755000175000017500000000010011323701322023662 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v069_3640E4FC3D96346AACC19CE13197BC26.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v339_3C6D50F6E8B2DF1F0170DD1F5078005B.md50000755000175000017500000000010011323701322023700 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v417_AB5FE94D6F3942B597087F55689F88E3.md50000755000175000017500000000010011323701322023725 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v173_368AEBF2535160286C1508E8B0D8015A.md50000755000175000017500000000010011323701322023617 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v100_D23F63302AE2F9D987D50641A74D09CD.md50000755000175000017500000000010011323701322023661 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v141_C6F9639643E42CE1CD58FF5B1FC77F54.md50000755000175000017500000000010011323701322023753 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v397_0286C3F8D66DAB8FF8CD925A1B9D7140.md50000755000175000017500000000010011323701322023752 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v215_0C9193A1124BD00CEBB09A05CA6BAC7D.md50000755000175000017500000000010011323701322023722 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v243_4DC7D22B8F29BEB964B2965191A11463.md50000755000175000017500000000010011323701322023651 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v429_C662C5004355636CA82CD719F9D1C73E.md50000755000175000017500000000010011323701322023660 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v144_C7257CEB571C737132D11B6521BE67EA.md50000755000175000017500000000010011323701322023656 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v111_1C2D889EABE9B8DF20AF4F82CB8E9F32.md50000755000175000017500000000010011323701322024017 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v040_421AD4DBECDDCCB0138E6A2AC0E4F6FC.md50000755000175000017500000000010011323701322024032 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v309_4B5A95DBC9911A08B27D33F5B606BC1C.md50000755000175000017500000000010011323701322023717 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v094_53A7A4B6D595901360F4507D9362D11F.md50000755000175000017500000000010011323701322023612 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v403_145C587A9887EFE3D3E0E758B7589D39.md50000755000175000017500000000010011323701322023714 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v082_3FE32E36378A361D53811CBB3B65E036.md50000755000175000017500000000010011323701322023637 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v351_5D59349615747260835F2453EEE6BC5B.md50000755000175000017500000000010011323701322023627 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v503_7D7B4FB873242930EF536C6E80879BA1.md50000755000175000017500000000010011323701322023665 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v497_26154B8662C7AB915CFD5D3AEACA736A.md50000755000175000017500000000010011323701322023753 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v364_C7424DA41E411A7DBD0EBD1182DE61A3.md50000755000175000017500000000010011323701322023717 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v496_25F86F015DF2C1DB33B53BDAC1F7C37E.md50000755000175000017500000000010011323701322023766 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v221_488D5CD0C76DEEB44D839F0280F42BD8.md50000755000175000017500000000010011323701322023737 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v106_D8D03681175ADBF8F46242C2EB7DC855.md50000755000175000017500000000010011323701322023713 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v288_07BED9042B3422E6158DA127D4C2BD60.md50000755000175000017500000000010011323701322023655 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v379_22D2C86CA8BE7782C2239D51CC285A52.md50000755000175000017500000000010011323701322023677 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v398_788CC909AD9F81FEF4749B8B58C92473.md50000755000175000017500000000010011323701322023752 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v034_486D95AC56F4A12878676E896E0A6279.md50000755000175000017500000000010011323701322023650 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v059_13670CF998C2E742F0466D414B10FE03.md50000755000175000017500000000010011323701322023631 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v347_F896E7E529BA2C51F35FA96713A90A54.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v143_0EB1E65C388190160ECF5A1B0B9D6264.md50000755000175000017500000000010011323701322023653 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v023_5E468347458E0171D2459B72FA762A5D.md50000755000175000017500000000010011323701322023615 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v250_C889405D3292C5F4866E2B82EB743FDB.md50000755000175000017500000000010011323701322023706 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v108_BCC9EF044C7D4A807D7BA8DE5ABD9DA0.md50000755000175000017500000000010011323701322024044 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v244_60768F63CFA2E88A75367561DF60FA01.md50000755000175000017500000000010011323701322023662 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v259_AEBBF1CFCA7CCE6941FA0B93B9E58B7A.md50000755000175000017500000000010011323701322024074 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v371_FF448413805677217C354881E17FD9E5.md50000755000175000017500000000010011323701322023620 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v464_7EDDEF710BA2068E8598EE4D4359114D.md50000755000175000017500000000010011323701322023730 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v165_D5B00318E61E0F34BD1487EE222F7080.md50000755000175000017500000000010011323701322023634 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v190_98FE37C528A7AE0E341B3DBCCD98EEA6.md50000755000175000017500000000010011323701322024020 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v068_3B81887F8FCBD61A81E98257DBE82814.md50000755000175000017500000000010011323701322023723 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v115_52C6EFB891B43888B59871EE62DE12C4.md50000755000175000017500000000010011323701322023710 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v355_5E921F1CDB50574A1D42A318F72F4E06.md50000755000175000017500000000010011323701322023661 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v246_DC82A437FF020C9C9BC699ADF214D937.md50000755000175000017500000000010011323701322023744 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v07_57EDF4A22BE3C955AC49DA2E2107B67A.md50000755000175000017500000000012011323701322023656 0ustar amedicoamedico12345678901234567890123456789012345678901234567890123456789012345678901234567890dc3dd-7.1.614/tests/md5_test_files/s3v369_E11DDBFE49C7D15D4605FE051F7DC13C.md50000755000175000017500000000010011323701322023772 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v013_22589A024E2B52B44365C84BF9053EAB.md50000755000175000017500000000010011323701322023631 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v360_DBF8F334AB91DED574DD285F8C000FF4.md50000755000175000017500000000010011323701322023773 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v176_1EFCDB0E7B1510826FB1073DF48AA5EA.md50000755000175000017500000000010011323701322023752 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v324_EF5BF0E556BB02C413E3E721EE46CE8E.md50000755000175000017500000000010011323701322023763 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s2v0016_C4103F122D27677C9DB144CAE1394A66.md50000755000175000017500000000000211323701322023714 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v026_4B94D72B5CB2CF60E1360035A6A823A9.md50000755000175000017500000000010011323701322023647 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v227_871E522A6D16C4A0E000C8809F9EC5F6.md50000755000175000017500000000010011323701322023670 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v373_152F4843E348EFE4E73E74E0CF4B8219.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v167_32A631DB7E2CEEBDBEAFB4F875024DE8.md50000755000175000017500000000010011323701322024026 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v180_3ECFA4CF473A94AC01EB576427B2620E.md50000755000175000017500000000010011323701322023714 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v283_FC7ABB2218193926602C5BE159EF2157.md50000755000175000017500000000010011323701322023651 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v303_9A7120E4C17EBCE75121C55F56EA7122.md50000755000175000017500000000010011323701322023651 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v247_904D158775D4A8666D663AD2FB2E79A1.md50000755000175000017500000000010011323701322023671 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v091_EE1FA779386BF3ABDFE5B1CDA730BF1F.md50000755000175000017500000000010011323701322024046 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v095_58507FDADC715BB403A179FE094FDB3F.md50000755000175000017500000000010011323701322023754 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v164_F5A9AFB7A3C5007C5AEE6ECFAAE9B40C.md50000755000175000017500000000010011323701322024057 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v019_A60F5E85EB851E6367428340BF949D7A.md50000755000175000017500000000010011323701322023671 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v121_1707597D3776B9FC9FA1880174591AF2.md50000755000175000017500000000010011323701322023630 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s1v0000_d41d8cd98f00b204e9800998ecf8427e.md50000755000175000017500000000000011323701322024514 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v365_4E66E56FD2AD4E534C43A9976DB2C75E.md50000755000175000017500000000010011323701322023753 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v469_B841829E581AA28D25B61890711D99C5.md50000755000175000017500000000010011323701322023634 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v101_206693D8C90F7FC826820AAD553FB3C0.md50000755000175000017500000000010011323701322023661 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v460_D3DD3D6F53B45B797778E7FEF28A8C5B.md50000755000175000017500000000010011323701322024004 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v357_684120A9CFAB2CD256FA26077E98D848.md50000755000175000017500000000010011323701322023707 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v046_8A8A0244B9B3F6F3C0330CBC34304522.md50000755000175000017500000000010011323701322023617 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v361_0B46FA6EE628F27B47F0A4A2596EADEC.md50000755000175000017500000000010011323701322023771 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v035_ED0289B0EA4570C831F880A0007F7404.md50000755000175000017500000000010011323701322023612 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v306_723FD90024007F7103E98DA58890DE41.md50000755000175000017500000000010011323701322023611 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v366_760C2D53D55FBD65E7DAED31E4F463CF.md50000755000175000017500000000010011323701322024001 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v363_1B8832D27893A6F8B971EF9145CAED46.md50000755000175000017500000000010011323701322023716 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v029_711EB2C46C3E465BCF05204A829D75DB.md50000755000175000017500000000010011323701322023700 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v489_2C8B88503B88BBF4E03F9112EADCAA1E.md50000755000175000017500000000010011323701322023770 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s1v0006_d174ab98d277d9f5a5611c2c9f419d9f.md50000755000175000017500000000007611323701322024622 0ustar amedicoamedicoABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789dc3dd-7.1.614/tests/md5_test_files/s3v310_B8CE619A1D6B9956E0B54DB4B295994C.md50000755000175000017500000000010011323701322023722 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v466_3762BACD52DC2AD602CFEFDBCCB86699.md50000755000175000017500000000010011323701322024035 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v171_FD5D05F5B5EB324A2B594BA8D2435825.md50000755000175000017500000000010011323701322023702 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v152_85D06D83AE3EF12D42A55DF38DE3905D.md50000755000175000017500000000010011323701322023731 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v02_900150983CD24FB0D6963F7D28E17F72.md50000755000175000017500000000000311323701322023551 0ustar amedicoamedicoabcdc3dd-7.1.614/tests/md5_test_files/s3v222_3383D0E16168120B3A440D5CB517E65C.md50000755000175000017500000000010011323701322023601 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v346_4E5B96D2A37D53FAD56E1011F83A9B95.md50000755000175000017500000000010011323701322023716 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v480_505A6E9E779E4AC35767F624C815F2E2.md50000755000175000017500000000010011323701322023676 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v322_CAA711A199F4A91B0B04DD7D7226ADE7.md50000755000175000017500000000010011323701322023727 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v199_824D1F79E689A04CFD5EE69DDC580BE2.md50000755000175000017500000000010011323701322024005 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v103_5FD2ACD825D46FBB58EB912A263D0144.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s2v1023_3B86C5F8FF317783CA76EAA1FE2835D9.md50000755000175000017500000000177711323701322024053 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v140_87162A4A837FD93A5E917C697471C471.md50000755000175000017500000000010011323701322023627 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v242_0B495C962E6799B67D93F1B5B590C844.md50000755000175000017500000000010011323701322023660 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v099_FD5DDB64A262D775FEAFECBE6B196361.md50000755000175000017500000000010011323701322024026 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v462_0F5730004ACE61A069514071F184A1B6.md50000755000175000017500000000010011323701322023560 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v127_E8E8BBD894CC2E34C30580319F434B0D.md50000755000175000017500000000010011323701322023710 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v163_CDBFDCC221EB2FFAA3786130098C8592.md50000755000175000017500000000010011323701322023743 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v377_DCE5532469BDD235444DF3608D98EBF0.md50000755000175000017500000000010011323701322023730 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v302_09C86FFA6114D9356DDD340B829B8315.md50000755000175000017500000000010011323701322023652 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v104_4000D3A40B0CB27806530E25F2CF1645.md50000755000175000017500000000010011323701322023564 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v475_67D1FEFA06650699BBA2498D77422E48.md50000755000175000017500000000010011323701322023700 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v098_10733E1F79C2B5C1F78C688C43A3CD19.md50000755000175000017500000000010011323701322023704 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v281_9470D664B893EFF4D79B36ED46D9493F.md50000755000175000017500000000010011323701322023737 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v066_ADFF5B78D55AF02CA60DC92EE7A5FB72.md50000755000175000017500000000010011323701322024032 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v292_B731BBD56CFC1E3EFB11F717E494EA82.md50000755000175000017500000000010011323701322023770 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v487_7996972214DBEA50ED400B5250E3AE6F.md50000755000175000017500000000010011323701322023675 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v045_534D98E515BA47AACF89E3C351887F68.md50000755000175000017500000000010011323701322023717 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v084_4FFB7C963D0504F6D0F76D3A74982371.md50000755000175000017500000000010011323701322023667 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v020_26770E1F01C793D8363B79CEF5594749.md50000755000175000017500000000010011323701322023632 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v217_40F6E1BAB20BC825462FA8B84B029E03.md50000755000175000017500000000010011323701322023665 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v105_3129198B6D899EAF6355AA9038E76D25.md50000755000175000017500000000010011323701322023653 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v200_357C82CE0EB4F6F667DEF290C0D1D120.md50000755000175000017500000000010011323701322023713 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v216_9EE0BA3AFFBC9610FBB0C1F93F98E957.md50000755000175000017500000000010011323701322024021 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v262_D95C0AD5BB39C47DB3B0D6EE7F354444.md50000755000175000017500000000010011323701322023747 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v001_5946DFD41CC23659B3A6671B61BEEBD5.md50000755000175000017500000000010011323701322023721 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v272_BEBF589B9A2561EDA0E6A08221882759.md50000755000175000017500000000010011323701322023700 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v184_7642C132B0FF94C2585BFAB0DDD7F6AB.md50000755000175000017500000000010011323701322023764 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v318_063DEEAE397AE2C6F3A6AE4B98AB2C7A.md50000755000175000017500000000010011323701322024026 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v494_EBC2C68270E129D7766887108739BAC9.md50000755000175000017500000000010011323701322023664 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v044_4427BC6CC79301E7A26C2A3D8ECB6E10.md50000755000175000017500000000010011323701322023712 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v436_9C91D1E0FA615B35AE1BECB2246E6455.md50000755000175000017500000000010011323701322023720 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v119_D734625FCFCECAE9E6422BC9B0E25C09.md50000755000175000017500000000010011323701322023772 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v453_93E750C651C7948DA2A60699DF6DEDCA.md50000755000175000017500000000010011323701322023752 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v426_6EDF355D7837ABDFA212D2CD5BCB87D6.md50000755000175000017500000000010011323701322024014 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v380_6DE111AC57EEC38FF4F5B8B458F35C20.md50000755000175000017500000000010011323701322023754 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v340_904751732AD4A6DD1633F6F32FE15B6C.md50000755000175000017500000000010011323701322023661 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v266_0C3D4612FC048FDAA32E4A94B6F1386F.md50000755000175000017500000000010011323701322023724 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v022_C372906819C3B158A5A91FD08332EEE8.md50000755000175000017500000000010011323701322023650 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v149_945DBB32B439F6746C1DCA85BCC19650.md50000755000175000017500000000010011323701322023716 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v278_239986662C2E2FDD2DA5C8EBD9AC78B4.md50000755000175000017500000000010011323701322023776 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v027_562A13C1BC97451ACB25584C7741EECA.md50000755000175000017500000000010011323701322023674 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v089_EF98CA91A9657B23B153EFC5711A97C2.md50000755000175000017500000000010011323701322023727 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v305_3C5C4A9AD5BA676E0F916621C4D09398.md50000755000175000017500000000010011323701322023674 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v389_474513BB6D0C0F73A63DFE920210216E.md50000755000175000017500000000010011323701322023636 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v230_30C3AE4FBC27B9ECD88BBC21D8B3F55D.md50000755000175000017500000000010011323701322024016 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v009_B41789204BFB001544CF30C99B80C2BF.md50000755000175000017500000000010011323701322023652 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v056_D6B3AA2679C44FFF034482620FC4B6C4.md50000755000175000017500000000010011323701322023706 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v456_0FF7741D480328D0686A2DEC4B41B4AE.md50000755000175000017500000000010011323701322023705 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v087_4A0630379B12E49EEE8212350A936463.md50000755000175000017500000000010011323701322023567 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v289_D47C8F862F2A5DA9FAA888FDA124808B.md50000755000175000017500000000010011323701322023777 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v408_822496D965F7D85215D7752AFF1C03CC.md50000755000175000017500000000010011323701322023670 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v452_CDB03F27AEDB30F7E596343BECB734BD.md50000755000175000017500000000010011323701322024001 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v160_2A346699E7C039F552426ACA283A666B.md50000755000175000017500000000010011323701322023633 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v313_06F8D0A5735612DD5967037B7CDAC850.md50000755000175000017500000000010011323701322023647 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v067_7B25E849B8EF1F651A85707D0B673CE7.md50000755000175000017500000000010011323701322023714 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v434_501779DF50469939215CCCE08A3A94D6.md50000755000175000017500000000010011323701322023645 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v432_A6B846C6737042EA576BE18DE7E02269.md50000755000175000017500000000010011323701322023660 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v248_FC6B5B1628894C202D19C36A29BE2C98.md50000755000175000017500000000010011323701322023702 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v225_9E915844865C745CDDAAE9086D67CB7C.md50000755000175000017500000000010011323701322023741 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v511_0B0BA2C1FE0416434ABD826DB682FAD5.md50000755000175000017500000000010011323701322023714 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v263_FB0E49A8512A6514C8E52E8F302C1313.md50000755000175000017500000000010011323701322023635 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v123_D249809882892BAED703041E78B4E31F.md50000755000175000017500000000010011323701322023637 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v006_B17122050F10191A428685C69D6443FC.md50000755000175000017500000000010011323701322023552 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v440_1903BA1EC1F52753FBB268F9F3CCD6B1.md50000755000175000017500000000010011323701322023737 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v341_6F6458AC973D5227EA1FA11BDDCF5C28.md50000755000175000017500000000010011323701322023747 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v367_D517E380A8C618BBA8169A905224AD4A.md50000755000175000017500000000010011323701322023666 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v502_56859B2F54F496E8BB0A09231975842E.md50000755000175000017500000000010011323701322023631 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v327_66F4FC209A7DC510FD540DB13FA5A9D0.md50000755000175000017500000000010011323701322023736 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v03_F96B697D7CB7938D525A2F31AAF161D0.md50000755000175000017500000000001611323701322023634 0ustar amedicoamedicomessage digestdc3dd-7.1.614/tests/md5_test_files/s3v321_EC30D78EC1CE0EF63367AAEB083161BB.md50000755000175000017500000000010011323701322023745 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v074_5425E8B0EFCD62EA3E1C5F1798E5057C.md50000755000175000017500000000010011323701322023737 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v410_4D360BBE43BE367A2A7EE6BFF0ECDC65.md50000755000175000017500000000010011323701322024014 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v015_77598FEF54DCD2A8AF4062FEC8EA07D0.md50000755000175000017500000000010011323701322024000 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v028_97C6A1580F949812E5FEEE45F0DF91E5.md50000755000175000017500000000010011323701322023741 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v241_5E8280869101EF49835627FDFB13E5D3.md50000755000175000017500000000010011323701322023646 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v301_5EEEB310879425F489A2910A1E5BF85B.md50000755000175000017500000000010011323701322023670 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v113_CA27C85CB612740C0B811B117080104E.md50000755000175000017500000000010011323701322023563 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v415_453952F734884B80C5843A05693F9BB5.md50000755000175000017500000000010011323701322023613 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v201_D389C3A8975C0AACB44104CCF632C1F8.md50000755000175000017500000000010011323701322023713 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v079_A3B9360D025565B5BBB74E11EB4CCAF6.md50000755000175000017500000000010011323701322023734 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v446_3F93EDCBC0F9DAA89D2034C562F1BDFA.md50000755000175000017500000000010011323701322024027 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v277_3B1290877EE8C9D6C0785D7D08B13578.md50000755000175000017500000000010011323701322023663 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v294_1ECA937A011FD3C181A455D5DCDDAC73.md50000755000175000017500000000010011323701322023752 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v0005_8215ef0796a20bcaaae116d3876c664a.md50000755000175000017500000000007011323701322024556 0ustar amedicoamedicoabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqdc3dd-7.1.614/tests/md5_test_files/s3v405_031525ABB3AA04A8F9FF4EEA20955BF2.md50000755000175000017500000000010011323701322023725 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v450_78A2026C6B2693223B902BE948136BB8.md50000755000175000017500000000010011323701322023604 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v202_03631F92DA0C67552BF7A026D679F723.md50000755000175000017500000000010011323701322023623 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v010_427E645F8141751530520C4AEDF94AF6.md50000755000175000017500000000010011323701322023617 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v219_4EE4F2F35E36A2729EA0BB07658CEF83.md50000755000175000017500000000010011323701322023740 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v185_1D5E6A65A4ACA67ECD46104B81BE50CB.md50000755000175000017500000000010011323701322023751 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v326_D4974DF3B1C5C570F9EDBBC36B4E0EFA.md50000755000175000017500000000010011323701322024031 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v130_1F19F7138EF63D8E204761C6F94D7A66.md50000755000175000017500000000010011323701322023667 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v058_4DA303D58A562B00FD3A168750A5DC51.md50000755000175000017500000000010011323701322023645 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v393_B97D733DE2C048FF0C01891114D0AFB5.md50000755000175000017500000000010011323701322023702 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v447_6E4C987BE3A6B24B3E38F1CAFE963C1E.md50000755000175000017500000000010011323701322024004 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v376_AFF6A755F2ABD47A06165D5C28E125BB.md50000755000175000017500000000010011323701322023745 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v0007_57edf4a22be3c955ac49da2e2107b67a.md50000755000175000017500000000012011323701322024716 0ustar amedicoamedico12345678901234567890123456789012345678901234567890123456789012345678901234567890dc3dd-7.1.614/tests/md5_test_files/s3v437_0C0736C7063B09A489911E501C0150E3.md50000755000175000017500000000010011323701322023550 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v317_3A6070C3732E697E7FC826E8EEB5094C.md50000755000175000017500000000010011323701322023710 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v017_1A4AAB1565206E54831978864E6B4E98.md50000755000175000017500000000010011323701322023622 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v203_CB0A3236BB2F2DC7B785BA63676A964D.md50000755000175000017500000000010011323701322023716 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v060_0846D2C1F7202CC2DC62B40E23AD1604.md50000755000175000017500000000010011323701322023626 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v374_E21E3D6E39C1F98BFE666A2C69520211.md50000755000175000017500000000010011323701322023677 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v000_D100ADC7D963AC0B837F7AC29DC701D7.md50000755000175000017500000000010011323701322023724 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v075_671ABDDEE265899ABEEB777C26FE0628.md50000755000175000017500000000010011323701322023774 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v195_72BF2334299E719FA84844CED300CD4A.md50000755000175000017500000000010011323701322023700 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v413_9160B774CBD240B9971CC01C694254EA.md50000755000175000017500000000010011323701322023641 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v270_39069C6B6051F6F0D270A0E04E91369E.md50000755000175000017500000000010011323701322023626 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v336_2153AFCA13686918AD74D84B91B3FD7E.md50000755000175000017500000000010011323701322023717 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v232_F0EDA2E5CB682C4C82A6DED6E1A9E4E2.md50000755000175000017500000000010011323701322024022 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v348_08A7042023558FEFE2EED405784152BC.md50000755000175000017500000000010011323701322023647 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v162_6A7F062A9765B7E72FA96FA90DDD143E.md50000755000175000017500000000010011323701322023743 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v332_28712A9C1B541BF38BDD3579D050D5CB.md50000755000175000017500000000010011323701322023676 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v510_441C9490934F4E743EF246C24576AF8E.md50000755000175000017500000000010011323701322023647 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v031_841A0BCE1788101C5E650ABFA1367509.md50000755000175000017500000000010011323701322023623 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v137_025001736462C0854B38E97E36A6A722.md50000755000175000017500000000010011323701322023542 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v086_7BD5B7EDB6049EB30E29F7AA381D8BA9.md50000755000175000017500000000010011323701322024000 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v420_AEDD921FC1C61F882874AD4C852326E7.md50000755000175000017500000000010011323701322023715 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v258_89B836293A99ED6E02D5DADE0121AC20.md50000755000175000017500000000010011323701322023707 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v276_67FDD0B32AC1C39FC3331B3CAF957E2E.md50000755000175000017500000000010011323701322023764 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v189_20D8A4B3C11A4759963AF7A6429FA2C3.md50000755000175000017500000000010011323701322023672 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v0001_0cc175b9c0f1b6a831c399e269772661.md50000755000175000017500000000000111323701322024343 0ustar amedicoamedicoadc3dd-7.1.614/tests/md5_test_files/s3v007_BC5481E124C00F21E314EF579DC23C42.md50000755000175000017500000000010011323701322023644 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v155_E8FB9977E83A56190180A77BF3CF73A0.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v175_618688BF18F0A630D8AA26E0644FB20D.md50000755000175000017500000000010011323701322023666 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v476_7EF6EEF95A7F051CFF31EB3F8906D7BD.md50000755000175000017500000000010011323701322024042 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v486_7D8CB103E55798EBC816DBB9D49B1B0F.md50000755000175000017500000000010011323701322023767 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v025_AD2FBD456923D0405A7413463E26FC91.md50000755000175000017500000000010011323701322023635 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v210_6B8D6430324A11559E31A92743F16644.md50000755000175000017500000000010011323701322023535 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v036_667FFB9C10ACBAF700E30EA0C0497BA8.md50000755000175000017500000000010011323701322023747 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v265_1F9836EE1AFDB7972819B91ABF856A4E.md50000755000175000017500000000010011323701322023757 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v295_F481C363C8AB7EF5AC2DD6B4389BF62F.md50000755000175000017500000000010011323701322024007 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v385_2CCF587C931D62CAC815676A6A6457B3.md50000755000175000017500000000010011323701322023705 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v252_B4CDCE550EF4285C2851EF81B479FDE8.md50000755000175000017500000000010011323701322023766 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v505_83F78A4FAA4E4ED312DC33C6B2514700.md50000755000175000017500000000010011323701322023672 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v122_BF7B65F71482D88575422D0ED5B45F6B.md50000755000175000017500000000010011323701322023701 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v470_D91E2A0CFD68A772D39A15DCB0061E72.md50000755000175000017500000000010011323701322023716 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v455_46A254BF46ED3199BB635ECCDAF15885.md50000755000175000017500000000010011323701322023744 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v021_71878DF60B5DF9A34B1064ED509F3B07.md50000755000175000017500000000010011323701322023666 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v249_AA186F907E4A59827646EC5DA8CB4B8C.md50000755000175000017500000000010011323701322023753 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v096_C6A4255B565F0B7FA5F3BF239B3CE550.md50000755000175000017500000000010011323701322023730 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v081_9B2E198A717FF73011A49E4436A993EB.md50000755000175000017500000000010011323701322023662 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v092_FA9A2E663AEFB2A3EF14DF8407CC3CC7.md50000755000175000017500000000010011323701322024025 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v131_4D068C3202A3E6672D423E18F2376590.md50000755000175000017500000000010011323701322023560 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v500_E4B76A9A8F6BCA334439CB82892C2925.md50000755000175000017500000000010011323701322023677 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v161_E302E0A7AF88DC248AE8EDC617197A36.md50000755000175000017500000000010011323701322023732 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v457_E146B00D2369DC2DDDA083A8BB1A7DEE.md50000755000175000017500000000010011323701322023773 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v414_772D02B47D9A881ED8793AEA6DB156A2.md50000755000175000017500000000010011323701322023715 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v345_BEF7CB2C5BB419A274DB5F752B58789B.md50000755000175000017500000000010011323701322023763 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v388_4CA3F42094A36B4FE4DC893BFB813310.md50000755000175000017500000000010011323701322023707 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v461_E5F72DF56B978D8DB7E7EED04AF709B4.md50000755000175000017500000000010011323701322024023 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v073_CA4123F709792AABD8593207AA3D870E.md50000755000175000017500000000010011323701322023663 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v097_331A4C06F709E2BCE0E5331BCD8770F5.md50000755000175000017500000000010011323701322023703 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v488_47CAF317CF83F0D4B52015079A22067C.md50000755000175000017500000000010011323701322023646 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v039_71DA93F3E01AE2945AED2BC4F5052C53.md50000755000175000017500000000010011323701322023714 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v421_13B9902301C02A268AD8BF10B8F9E3A1.md50000755000175000017500000000010011323701322023640 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v394_8B8346E0F1D63A73CE1CCAD90D2CF097.md50000755000175000017500000000010011323701322023753 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v449_C6C66B75C45E8E06811AF898D995AE1C.md50000755000175000017500000000010011323701322023746 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v467_EC0B054B6DF1C6622ACB55F025092521.md50000755000175000017500000000010011323701322023646 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v107_E33B91B2D6B65749DCD7BFD16FF6496D.md50000755000175000017500000000010011323701322023770 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v477_8EF040642F6A536C63556B8708BC17E5.md50000755000175000017500000000010011323701322023650 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v329_842F8BAE44E33E459870B947FBA846A4.md50000755000175000017500000000010011323701322023715 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v178_BDA259C306268A65B348B575C2CA72CA.md50000755000175000017500000000010011323701322023705 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v349_793B08BDBF6FE53A4DABF59D0F3065E9.md50000755000175000017500000000010011323701322024006 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v443_CD5B21D3AA49BABBC11B111BBDF76EC9.md50000755000175000017500000000010011323701322024013 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v054_4A5DB81DDB230FEBA62388CD585EDFF6.md50000755000175000017500000000010011323701322024012 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v407_1959366FB1C73BE165B12D3A972BBBF7.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v442_A7045885FB7FCD4A53CB0F22C6CDB5AD.md50000755000175000017500000000010011323701322024000 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s2v1022_8EF4BEDF8C2CC4EDC5769F835136866D.md50000755000175000017500000000100011323701322024056 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v343_D20E8CE906D28EB16A79AA50133D0390.md50000755000175000017500000000010011323701322023653 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v435_C1ABB35E11F4BC38294874287BEE9AAF.md50000755000175000017500000000010011323701322023752 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v206_221A948B265FA265ED0217AFA9448AC9.md50000755000175000017500000000010011323701322023663 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v050_D344B3E83A02BCF8D75CF6E5FBEBFCF7.md50000755000175000017500000000010011323701322024051 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v032_D51020E2512CEF1F19781497A8065252.md50000755000175000017500000000010011323701322023554 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v448_F025E2F601BBD45F231B7DCC4056B365.md50000755000175000017500000000010011323701322023674 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v062_55876BC89EB5D8A45A063F46A758C83D.md50000755000175000017500000000010011323701322023714 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v359_3CB2BDC773A346D47EE802D67D547693.md50000755000175000017500000000010011323701322023711 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v354_2C979E5B5505F99C0285462C6E9A2585.md50000755000175000017500000000010011323701322023643 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v016_C0516F144ADA2C0093BFEA89C9FA5CEF.md50000755000175000017500000000010011323701322023775 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v269_07A7BDC93E71936D4358FF104F5C6F2B.md50000755000175000017500000000010011323701322023727 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v030_BE9AA44A92B42D0740A59FC3EF96C59B.md50000755000175000017500000000010011323701322023744 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v090_66C77963623201ACADD590E332DCB36A.md50000755000175000017500000000010011323701322023655 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v012_0A53C1D28669E7E0E50FCDF88C8127C5.md50000755000175000017500000000010011323701322023712 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v169_9CE9366DA2449989DD4EB7124B1424A3.md50000755000175000017500000000010011323701322023671 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v211_F009B9C33611966B29B945EB38D2B130.md50000755000175000017500000000010011323701322023617 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v383_ECB3F11368167148C7D35CAD06FF0C6C.md50000755000175000017500000000010011323701322023727 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v064_99B6A99F2BF6E8DFEAE34BC1B8BEA0FE.md50000755000175000017500000000010011323701322024105 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v048_873821E3ED8865BC96639C18B23A9A44.md50000755000175000017500000000010011323701322023655 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v117_F14EB6ABA0B197361A0008A2F7BD2C17.md50000755000175000017500000000010011323701322023672 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v033_03380DEF2104B313079E26A20D65A67C.md50000755000175000017500000000010011323701322023577 0ustar amedicoamedico@dc3dd-7.1.614/tests/md5_test_files/s3v134_155EA0621E9038C14C0731059589FD1C.md50000755000175000017500000000010011323701322023577 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v390_431BE2611DFFD6DE4EAB6936E0E497DA.md50000755000175000017500000000010011323701322023773 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v224_F15759B10756BBC1F057174E11FBEA3C.md50000755000175000017500000000010011323701322023673 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s1v0004_c3fcd3d76192e4007dfb496cca67e13b.md50000755000175000017500000000003211323701322024723 0ustar amedicoamedicoabcdefghijklmnopqrstuvwxyzdc3dd-7.1.614/tests/md5_test_files/s3v139_3308EF5BBED8073DF6C40840B7CB1949.md50000755000175000017500000000010011323701322023716 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v213_6A528A222478BCA9DFBFAC2A00B64E15.md50000755000175000017500000000010011323701322023721 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v307_8C83B58202FE44078263C22E3329B2A6.md50000755000175000017500000000010011323701322023604 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v024_4A3D18FB567AB08710581C9810B3C1F1.md50000755000175000017500000000010011323701322023627 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v231_B4DC26D3BFED9ED9BBE0DBAF21DD95FF.md50000755000175000017500000000010011323701322024125 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v308_4E8FD8E2758CD544E6682B987AE13820.md50000755000175000017500000000010011323701322023702 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v451_E2BBAC6D03DDAF61E40CE15DBFBE90C3.md50000755000175000017500000000010011323701322024041 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v352_CC729FB233027898E5C518AF9B545EB0.md50000755000175000017500000000010011323701322023702 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v319_9D15B95AEB06B324A0134A1F9976DCB4.md50000755000175000017500000000010011323701322023702 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v279_1FDF66EA7A8791B4DBD42B3D97624788.md50000755000175000017500000000010011323701322023744 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v492_A8F24846E4BEB0662FB1DB3448B9B80E.md50000755000175000017500000000010011323701322023736 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v384_9A42CB788CDEE1C20EEC7B16F294E184.md50000755000175000017500000000010011323701322023762 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v042_9D3A13F27EB032F2687D8E6D1788D61E.md50000755000175000017500000000010011323701322023702 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v238_A90FA5EBF49DD9F4E77716C3C1E9765D.md50000755000175000017500000000010011323701322024003 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v212_DED34074FEDFCDBBCC4DA3074AEB5087.md50000755000175000017500000000010011323701322024031 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v226_3C5A2485AA83037AE41529AE190DF88B.md50000755000175000017500000000010011323701322023663 0ustar amedicoamedico dc3dd-7.1.614/tests/md5_test_files/s3v196_E3FD2AC469580923C48AEE429B3562CB.md50000755000175000017500000000010011323701322023722 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v174_F9BBF1F99BA8DE645D5DA4E4FC661B13.md50000755000175000017500000000010011323701322024024 0ustar amedicoamedicodc3dd-7.1.614/tests/md5_test_files/s3v296_5E6906AD1D5495F44366D61FDD593689.md50000755000175000017500000000010011323701322023673 0ustar amedicoamedicodc3dd-7.1.614/tests/test-hashing.sh0000755000175000017500000000151511323701322016532 0ustar amedicoamedico#!/bin/bash DC3DD="../src/dc3dd" MD5_DIR="md5_test_files" SHA1_DIR="sha1_test_files" find "$MD5_DIR"/* -type f | while read f do h=`"$DC3DD" if="$f" of=/dev/null hash=md5 2>&1 | grep "(md5)" | awk '{print $1}'` b=`basename "$f"` o=`md5sum "$f" | awk '{print $1}'` if [ "$h" != "$o" ] then echo "md5 hash mismatch for $b" exit 1 else echo "md5 hash ok for $b" fi done find "$SHA1_DIR"/* -type f | while read f do h=`"$DC3DD" if="$f" of=/dev/null hash=sha1 2>&1 | grep "(sha1)" | awk '{print $1}'` b=`basename "$f"` o=`sha1sum "$f" | awk '{print $1}'` if [ "$h" != "$o" ] then echo "sha1 hash mismatch for $b" exit 2 else echo "sha1 hash ok for $b" fi done dc3dd-7.1.614/tests/test-file-imaging.sh0000755000175000017500000003612511457124713017461 0ustar amedicoamedico#!/bin/bash # *************************************** # Requires mktemp and stat from coreutils # *************************************** source "helpers.sh" DC3DD="../src/dc3dd" REF_SECTOR_SIZE=512 REF_FILE="/tmp/ref-random-good.img" REF_FILE_SECTORS=452767 REF_FILE_BYTES="0" REF_FILE_MD5_HASH="" REF_FILE_SHA1_HASH="" REF_PAT_FILE="../../test_data/reference_images/ref-pat.img" REF_PAT="AABBCCDD" REF_PAT_SECTORS=12345 REF_PAT_BYTES=`stat -c %s "$REF_PAT_FILE"` REF_PAT_MD5_HASH=`md5sum "$REF_PAT_FILE" | cut -f 1 -d \ ` REF_PAT_SHA1_HASH=`sha1sum "$REF_PAT_FILE" | cut -f 1 -d \ ` INPUT_FILE=`mktemp` OUTPUT_FILE="/tmp/test_no_drive.img" OUTPUT_FILE_1="/tmp/test_nodrive_o1.img" OUTPUT_FILE_2="/tmp/test_nodrive_o2.img" OUTPUT_FILE_3="/tmp/test_nodrive_o3.img" LOG="/tmp/test_no_drive.log" init() { echo "Setting up test fixtures..." # If necessary, create reference file. if [ ! -e "$REF_FILE" ] then dd if=/dev/urandom of="$REF_FILE" bs="$REF_SECTOR_SIZE" count="$REF_FILE_SECTORS" else if [ `stat -c %s "$REF_FILE"` -ne `expr $REF_FILE_SECTORS \* $REF_SECTOR_SIZE` ] then dd if=/dev/urandom of="$REF_FILE" bs="$REF_SECTOR_SIZE" count="$REF_FILE_SECTORS" if [ $? -ne 0 ] then echo "Failed to create reference file $REF_FILE" exit 1 fi fi fi # Get byte count for reference file. # Requires stat from coreutils. REF_FILE_BYTES=`stat -c %s "$REF_FILE"` # Get hashes of reference file. REF_FILE_MD5_HASH=`md5sum "$REF_FILE" | cut -f 1 -d \ ` REF_FILE_SHA1_HASH=`sha1sum "$REF_FILE" | cut -f 1 -d \ ` # Copy reference file to a file to use as test input. dd if="$REF_FILE" of="$INPUT_FILE" bs="$REF_SECTOR_SIZE" if [ $? -ne 0 ] then echo "Failed to copy reference file $REF_FILE to input file $INPUT_FILE" exit 1 fi echo "Test fixture set up completed" } cleanup() { for i in "$OUTPUT_FILE" "$OUTPUT_FILE_1" "$OUTPUT_FILE_2" "$OUTPUT_FILE_3" do rm "$i" "$i".* if [ -e "$i" ] then echo "Failed to remove test output files" exit 1 fi done rm "$LOG" } basic() { echo "Testing imaging a file..." cleanup "$DC3DD" if="$INPUT_FILE" of="$OUTPUT_FILE" log="$LOG" hash=md5 hash=sha1 if [ $? -ne 0 ] then echo "basic: run failed" exit 1 fi echo "Checking results..." check_output_file "basic" "$OUTPUT_FILE" "$REF_FILE_BYTES" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_input_logging "basic" "$LOG" "$REF_SECTOR_SIZE" "(assumed)" "$REF_FILE_BYTES" "$REF_FILE_SECTORS" check_input_hash_logging "basic" "$LOG" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_single_output_logging "basic" "$LOG" "$REF_FILE_SECTORS" echo "Results ok" echo } split_and_join() { echo "Testing splitting and joining while imaging a file..." cleanup "$DC3DD" if="$INPUT_FILE" ofs="$OUTPUT_FILE.000" log="$LOG" ofsz=100M hash=md5 hash=sha1 if [ $? -ne 0 ] then echo "split_and_join: split run failed" exit 1 fi echo "Checking results..." check_split_output_file "split_and_join" "$OUTPUT_FILE" "$REF_FILE_BYTES" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_input_logging "split_and_join" "$LOG" "$REF_SECTOR_SIZE" "(assumed)" "$REF_FILE_BYTES" "$REF_FILE_SECTORS" check_input_hash_logging "split_and_join" "$LOG" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_single_output_logging "split_and_join" "$LOG" "$REF_FILE_SECTORS" echo "Results ok" echo rm "$LOG" "$DC3DD" ifs="$OUTPUT_FILE.000" of="$OUTPUT_FILE" log="$LOG" hash=md5 hash=sha1 if [ $? -ne 0 ] then echo "split_and_join: join run failed" exit 1 fi echo "Checking results..." check_output_file "split_and_join" "$OUTPUT_FILE" "$REF_FILE_BYTES" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_input_logging "split_and_join" "$LOG" "$REF_SECTOR_SIZE" "(assumed)" "$REF_FILE_BYTES" "$REF_FILE_SECTORS" check_input_hash_logging "split_and_join" "$LOG" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_single_output_logging "split_and_join" "$LOG" "$REF_FILE_SECTORS" echo "Results ok" echo } interrupt() { echo "Testing interrupting while imaging a file..." cleanup # NOTE: Input file needs to be big enough that the acquisition won't finish # before the sleep timeout expires set -m "$DC3DD" if="$INPUT_FILE" of="$OUTPUT_FILE" log="$LOG" hash=md5 hash=sha1 & pid=$!; sleep 1; kill -s 2 %1 wait %1 set +m echo "Checking results..." check_interrupted_run "interrupt" "$OUTPUT_FILE" "$LOG" echo "Results ok" echo } multiple_outputs() { echo "Testing multiple outputs while imaging a file..." cleanup "$DC3DD" if="$INPUT_FILE" of="$OUTPUT_FILE_1" of="$OUTPUT_FILE_2" of="$OUTPUT_FILE_3" log="$LOG" hash=md5 hash=sha1 if [ $? -ne 0 ] then echo "multiple_outputs: run failed" exit 1 fi echo "Checking results..." for f in "$OUTPUT_FILE_1" "$OUTPUT_FILE_2" "$OUTPUT_FILE_3" do check_output_file "multiple_outputs" "$f" "$REF_FILE_BYTES" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" done check_input_logging "multiple_outputs" "$LOG" "$REF_SECTOR_SIZE" "(assumed)" "$REF_FILE_BYTES" "$REF_FILE_SECTORS" check_input_hash_logging "multiple_outputs" "$LOG" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_multiple_output_logging "multiple_outputs" "$LOG" "$REF_FILE_SECTORS" "3" echo "Results ok" echo } multiple_split_outputs() { echo "Testing multiple split outputs while imaging a file..." cleanup "$DC3DD" if="$INPUT_FILE" ofs="$OUTPUT_FILE_1.000" ofs="$OUTPUT_FILE_2.000" ofs="$OUTPUT_FILE_3.000" log="$LOG" ofsz=100M hash=md5 hash=sha1 if [ $? -ne 0 ] then echo "multiple_split_outputs: split run failed" exit 1 fi echo "Checking results..." for f in "$OUTPUT_FILE_1" "$OUTPUT_FILE_2" "$OUTPUT_FILE_3" do check_split_output_file "$FUNC_NAME" "$f" "$REF_FILE_BYTES" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" done check_input_logging "multiple_split_outputs" "$LOG" "$REF_SECTOR_SIZE" "(assumed)" "$REF_FILE_BYTES" "$REF_FILE_SECTORS" check_input_hash_logging "multiple_split_outputs" "$LOG" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_multiple_output_logging "multiple_split_outputs" "$LOG" "$REF_FILE_SECTORS" "3" echo "Results ok" echo } verify_output() { echo "Testing output hashing while imaging a file..." cleanup "$DC3DD" if="$INPUT_FILE" hof="$OUTPUT_FILE" hash=md5 hash=sha1 log="$LOG" if [ $? -ne 0 ] then echo "verify_output: run failed" exit 1 fi echo "Checking results..." check_output_file "verify_output" "$OUTPUT_FILE" "$REF_FILE_BYTES" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_input_logging "verify_output" "$LOG" "$REF_SECTOR_SIZE" "(assumed)" "$REF_FILE_BYTES" "$REF_FILE_SECTORS" check_input_hash_logging "verify_output" "$LOG" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_output_hash_logging "verify_ouput" "$OUTPUT_FILE" "$LOG" echo "Results ok" echo } verify_split_output() { echo "Testing split output hashing while imaging a file..." cleanup "$DC3DD" if="$INPUT_FILE" hofs="$OUTPUT_FILE.000" ofsz=100M hash=md5 hash=sha1 log="$LOG" if [ $? -ne 0 ] then echo "verify_split_output: run failed" exit 1 fi echo "Checking results..." check_split_output_file "verify_split_output" "$OUTPUT_FILE" "$REF_FILE_BYTES" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" check_input_logging "verify_split_output" "$LOG" "$REF_SECTOR_SIZE" "(assumed)" "$REF_FILE_BYTES" "$REF_FILE_SECTORS" check_input_hash_logging "verify_split_output" "$LOG" "$REF_FILE_MD5_HASH" "$REF_FILE_SHA1_HASH" MSG_COUNT=`grep -c "output hashing" "$LOG"` if [ "$MSG_COUNT" -ne "1" ] then echo "verify_output: missing final output hashing progress message" exit 1 fi echo "Results ok" echo } count() { cleanup ZERO_COUNT=$1 DEF_SECTOR_SIZE=512 "$DC3DD" if="/dev/zero" of="/dev/null" log="$LOG" cnt="$ZERO_COUNT" if [ $? -ne 0 ] then echo "count: imaging from /dev/zero failed" exit 1 fi echo "Checking results..." BYTES=`expr $ZERO_COUNT \* $DEF_SECTOR_SIZE` check_input_logging "count" "$LOG" "$DEF_SECTOR_SIZE" "(assumed)" "$BYTES" "$ZERO_COUNT" check_single_output_logging "count" "$LOG" "$ZERO_COUNT" echo "Results ok" echo } counts() { echo "Testing specifying max input sectors while imaging a file..." count 1 count 10 count 500 count 512 count 1000 count 1024 count 1000000 count 1048576 } pattern() { echo "Testing pattern generation..." cleanup # write pattern to test image file "$DC3DD" tpat="$REF_PAT" of="$OUTPUT_FILE" log="$LOG" cnt="$REF_PAT_SECTORS" hash=md5 hash=sha1 if [ $? -ne 0 ] then echo "pattern: run failed" exit 1 fi echo "Checking results..." check_output_file "pattern" "$OUTPUT_FILE" "$REF_PAT_BYTES" "$REF_PAT_MD5_HASH" "$REF_PAT_SHA1_HASH" check_input_logging "pattern" "$LOG" "$REF_SECTOR_SIZE" "(assumed)" "$REF_PAT_BYTES" "$REF_PAT_SECTORS" check_input_hash_logging "pattern" "$LOG" "$REF_PAT_MD5_HASH" "$REF_PAT_SHA1_HASH" check_single_output_logging "pattern" "$LOG" "$REF_PAT_SECTORS" echo "Results ok" echo } skip() { echo "Testing input and output skipping while imaging a file..." cleanup # write four 256 byte "sectors" of zeros to a file "$DC3DD" ssz="256" pat="00" cnt="4" of="$OUTPUT_FILE_1" log="$LOG" if [ $? -ne 0 ] then echo "skip: zeros file run failed" exit 1 fi echo "Checking results..." ZEROS_HALF_HASH=`md5sum "$OUTPUT_FILE_1" | cut -f 1 -d \ ` check_input_logging "skip:zeros" "$LOG" "256" "(set)" "1024" "4" echo "Results ok" echo rm "$LOG" # write one 1024 byte "sector" of ones to a file "$DC3DD" ssz="1024" pat="00" cnt="1" of="$OUTPUT_FILE_2" log="$LOG" if [ $? -ne 0 ] then echo "skip: ones file run failed" exit 1 fi echo "Checking results..." ONES_HALF_HASH=`md5sum "$OUTPUT_FILE_2" | cut -f 1 -d \ ` BYTES=`expr 1024 \* 1` check_input_logging "skip:ones" "$LOG" "1024" "(set)" "1024" "1" echo "Results ok" echo rm "$LOG" # image the zeros file "$DC3DD" if="$OUTPUT_FILE_1" of="$OUTPUT_FILE" if [ $? -ne 0 ] then echo "skip: zeros file image run failed" exit 1 fi # append the ones file to the image, skipping over the zeros as 128 byte "sectors" "$DC3DD" ssz="128" if="$OUTPUT_FILE_2" of="$OUTPUT_FILE" oskip="8" log="$LOG" if [ $? -ne 0 ] then echo "skip: concatenation run failed" exit 1 fi echo "Checking results..." check_input_logging "skip:concatention" "$LOG" "128" "(set)" "1024" "8" echo "Results ok" echo rm "$LOG" # extract the zeros from the image as 512 byte "sectors" "$DC3DD" ssz="512" if="$OUTPUT_FILE" cnt="2" of="$OUTPUT_FILE_3" log="$LOG" if [ $? -ne 0 ] then echo "skip: extract zeros run failed" exit 1 fi echo "Checking results..." check_input_logging "skip:extract zeros" "$LOG" "512" "(set)" "1024" "2" echo "Results ok" echo rm "$LOG" HALF_IMAGE_HASH=`md5sum "$OUTPUT_FILE_3" | cut -f 1 -d \ ` if [ "$HALF_IMAGE_HASH" != "$ZEROS_HALF_HASH" ] then echo "skip: zeros half hash mismatch" exit 1 fi # extract the ones from the image as 64 byte "sectors" "$DC3DD" ssz="64" if="$OUTPUT_FILE" iskip="16" of="$OUTPUT_FILE_3" log="$LOG" if [ $? -ne 0 ] then echo "skip: extract ones run failed" exit 1 fi echo "Checking results..." check_input_logging "skip:extract ones" "$LOG" "64" "(set)" "1024" "16" echo "Results ok" echo HALF_IMAGE_HASH=`md5sum "$OUTPUT_FILE_3" | cut -f 1 -d \ ` if [ "$HALF_IMAGE_HASH" != "$ONES_HALF_HASH" ] then echo "skip: ones half hash mismatch" exit 1 fi } exit_messages() { echo "Testing correctness of exit messages..." cleanup "$DC3DD" if="/dev/zero" cnt="1000" of="/dev/null" log="$LOG" if [ $? -ne 0 ] then echo "messages: /dev/zero to /dev/null run failed" exit 1 fi echo "Checking results..." LOG_VERB=`egrep "dc3dd.+?at" "$LOG" | tail -1 | awk '{print $2}'` if [ "$LOG_VERB" != "completed" ] then echo "messages: exit message verb for /dev/zero to /dev/null run should be 'completed'" exit 2 fi echo "Results ok" echo cleanup "$DC3DD" if="/dev/zero" cnt="1000" of="$OUTPUT_FILE" log="$LOG" if [ $? -ne 0 ] then echo "messages: /dev/zero to stdout run failed" exit 1 fi echo "Checking results..." LOG_VERB=`egrep "dc3dd.+?at" "$LOG" | tail -1 | awk '{print $2}'` if [ "$LOG_VERB" != "completed" ] then echo "messages: exit message verb for /dev/zero to stdout run should be 'completed'" exit 3 fi echo "Results ok" echo cleanup "$DC3DD" if="$INPUT_FILE" of="$OUTPUT_FILE" log="$LOG" if [ $? -ne 0 ] then echo "messages: simple run failed" exit 1 fi echo "Checking results..." LOG_VERB=`egrep "dc3dd.+?at" "$LOG" | tail -1 | awk '{print $2}'` if [ "$LOG_VERB" != "completed" ] then echo "messages: exit message verb for simple run should be 'completed'" exit 4 fi echo "Results ok" echo cleanup "$DC3DD" if="$INPUT_FILE" xyz="8" of="$OUTPUT_FILE" log="$LOG" echo "Checking results..." LOG_VERB=`egrep "dc3dd.+?at" "$LOG" | tail -1 | awk '{print $2}'` if [ "$LOG_VERB" != "aborted" ] then echo "messages: exit message verb for malformed cmd line run should be 'aborted'" exit 4 fi echo "Results ok" echo cleanup set -m "$DC3DD" if="$INPUT_FILE" of="$OUTPUT_FILE" log="$LOG" & pid=$!; sleep 1; kill -s 2 %1 wait %1 set +m echo "Checking results..." LOG_VERB=`egrep "dc3dd.+?at" "$LOG" | tail -1 | awk '{print $2}'` if [ "$LOG_VERB" != "aborted" ] then echo "messages: exit message verb for interrupted run should be 'aborted'" exit 1 fi echo "Results ok" echo cleanup "$DC3DD" pat="00" cnt="1000K" ofs="$OUTPUT_FILE.000" ofsz=1K log="$LOG" echo "Checking results..." LOG_VERB=`egrep "dc3dd.+?at" "$LOG" | tail -1 | awk '{print $2}'` if [ "$LOG_VERB" != "failed" ] then echo "messages: exit message verb for exhausted extensions run should be 'failed'" exit 4 fi echo "Results ok" echo } validation() { cleanup echo "Testing command line validation..." "$DC3DD" ifs=bar if [ $? -ne 1 ] then echo "Invalid ifs format not detected properly" exit 13 fi "$DC3DD" if="$INPUT_FILE" ifs=bar.000 if [ $? -ne 1 ] then echo "Invalid combination of if and ifs not detected properly" exit 13 fi echo "Results ok" echo } init basic split_and_join interrupt multiple_outputs multiple_split_outputs verify_output verify_split_output counts pattern skip exit_messages validation cleanup rm "$INPUT_FILE" dc3dd-7.1.614/tests/sha1_test_files/0000755000175000017500000000000011613550423016656 5ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0493_8969bbaf55ec689588998adac8a0ceebdba06dc3.SHA10000755000175000017500000000010011323701322026445 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0220_d6a143bbe76833ddba3b2f2bd8481c1f0fefa59f.SHA10000755000175000017500000000010011323701322026372 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0160_bc8b0c78e3881eb468080ba61399c19a57e37722.SHA10000755000175000017500000000010011323701322025617 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0067_631c575338c15e3f7938f30619e17bd3f93b3c89.SHA10000755000175000017500000000010011323701322025557 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0509_68b9eb81c30694d4a3ee926c53a08f8b76b099e5.SHA10000755000175000017500000000010011323701322026000 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0344_e6d75b4731632b08a9ec48332e3cc9c9e5f9994d.SHA10000755000175000017500000000010011323701322026002 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0454_cc70839427bc048bb08bb44e67758d1124b643be.SHA10000755000175000017500000000010011323701322025666 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0206_a14ed13406e4751df32f0c6f1bd82f03b0d335dd.SHA10000755000175000017500000000010011323701322026054 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0482_f552bee8d59bf0654ac344f1a0cc3ae5597a7a71.SHA10000755000175000017500000000010011323701322026170 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0475_a4ece25fbfd97e44832f6b89a0648e248e2fd49f.SHA10000755000175000017500000000010011323701322026230 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0452_aed5c356ed2daa62bf20174834062b66f728c39c.SHA10000755000175000017500000000010011323701322026022 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0333_ba591b8fbd5c8dfae091ad997af7d58d56656356.SHA10000755000175000017500000000010011323701322026220 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0305_de0ed84a276aa030b8ea70dc3c9cf295adccf007.SHA10000755000175000017500000000010011323701322026363 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0229_f4261c323cefaee5cda5f20275bfb4b62d8206b8.SHA10000755000175000017500000000010011323701322026234 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0270_f8efa4b89684a900e6a7dfbd8e76834074d3c653.SHA10000755000175000017500000000010011323701322026057 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0353_c1b6d177e1d224b3fb8b7719263cf6f2fa211323.SHA10000755000175000017500000000010011323701322025732 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0272_93a743fc2be88424d24b459475cf7579b6fe82d9.SHA10000755000175000017500000000010011323701322025731 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0083_56280bc7492bc80a2ad438e42c5c3956dc30e097.SHA10000755000175000017500000000010011323701322025665 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0268_093ffb88a184ea1e0f81e244e40a13449cec646e.SHA10000755000175000017500000000010011323701322026033 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0447_a02059c3ac82077c2081c90c869257c530ab43c2.SHA10000755000175000017500000000010011323701322025510 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0266_4e1d04704b703757389b3c91fb05d2aa7e2d9043.SHA10000755000175000017500000000010011323701322025601 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0494_05f6a29ae91b66cdbc0d7f3d349df5aa6519366d.SHA10000755000175000017500000000010011323701322026203 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0336_696e36b391191dba094532f9f61c9432ac42bb36.SHA10000755000175000017500000000010011323701322025611 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0130_b8278481a63bf09e1418081155ae7e5261e1a241.SHA10000755000175000017500000000010011323701322025426 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0073_e6250adf0aec03fa20ea071b0fbd35b069e706c5.SHA10000755000175000017500000000010011323701322026205 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0276_a11e372982163ebfc67412b34b63d86fc3e83067.SHA10000755000175000017500000000010011323701322025615 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0396_dfb8da261c6cf4e55156f9cc6c760fc236479614.SHA10000755000175000017500000000010011323701322026055 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s1v0007_50abf5706a150990a08b2c5ea40fa0e585554732.SHA10000755000175000017500000000012011323701322025561 0ustar amedicoamedico12345678901234567890123456789012345678901234567890123456789012345678901234567890dc3dd-7.1.614/tests/sha1_test_files/s3v0472_b2a39aaa8924f3d8059734794597889477f27e6f.SHA10000755000175000017500000000010011323701322025527 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0070_a1332e2dd7913bd57af24f0f9179d73d72480809.SHA10000755000175000017500000000010011323701322025613 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0318_223cb390ebbe15c117225a39dd45d7a9fc5b1d7b.SHA10000755000175000017500000000010011323701322026150 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0325_768b6b9397ce32864c5ee1a90eaf42d0489cdbe6.SHA10000755000175000017500000000010011323701322026132 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0374_0e59307c457a57eb30d5a9e9d797ca6b64d5f191.SHA10000755000175000017500000000010011323701322025773 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0043_d6777e499284128d7f6e37d730d0e3fea173e438.SHA10000755000175000017500000000010011323701322025637 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0390_09909637ce971b7015281b85210b30c12f76e09e.SHA10000755000175000017500000000010011323701322025367 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0113_25d9c3078e383115720d33841e04590e03fddb85.SHA10000755000175000017500000000010011323701322025436 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0328_dccb6932c8aae2efa72efaf9aafb4804fa28aeda.SHA10000755000175000017500000000010011323701322026761 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0342_61bdd16d7695cdbc7e09c8acc87c2eb64851cb39.SHA10000755000175000017500000000010011323701322026261 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0062_087894d777079923a1f335b5cff64eeb020b9831.SHA10000755000175000017500000000010011323701322025545 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0455_dc393101e9b13892dc97ea811dd6d33421e672ac.SHA10000755000175000017500000000010011323701322025745 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0228_0c4e898bb1cd11c1fbe41a434a2a73697e2a39ef.SHA10000755000175000017500000000010011323701322026156 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0503_83698fcbba5cbe3b4e67b35466425b28c4e5162b.SHA10000755000175000017500000000010011323701322026031 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0199_d702cbe5864f3b07affc43367136d69a1f2b8d42.SHA10000755000175000017500000000010011323701322026037 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0197_4211dc41833e093510d395a5b14bb96d64c38d92.SHA10000755000175000017500000000010011323701322025524 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0498_9f10e6dff017bc8553cc93c9255e3a1441c55df5.SHA10000755000175000017500000000010011323701322026045 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0215_aec50b2fefd190011516392b43b61e86c9f4f779.SHA10000755000175000017500000000010011323701322025747 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0432_bd2a8e4a91df23662428c4fddb93d665aae02bef.SHA10000755000175000017500000000010011323701322026321 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0402_a51b76e73bfbdbf980bf6fea495a3cfb7d25809a.SHA10000755000175000017500000000010011323701322026413 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0208_d8003007e44d39e16cbf0a0b7bb72e523705ff35.SHA10000755000175000017500000000010011323701322025724 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0089_c7646820d8315f820ee5daaf48a32e10cd942617.SHA10000755000175000017500000000010011323701322025673 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0066_3a11d6dda00db4c776e3fc7b6464679283e85f9a.SHA10000755000175000017500000000010011323701322026043 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0267_a86cb3bfb25ae2f28c063e6b88cffd8c37850cf6.SHA10000755000175000017500000000010011323701322026346 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0009_e6b75e72075112399e5bf80a9a9cfbf6049eb5d2.SHA10000755000175000017500000000010011323701322026043 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0170_847e47943d04b434a66bf9bd9b0703a1e480f9f5.SHA10000755000175000017500000000010011323701322025700 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0141_0d1a9561d0e873fede31413352a8c6877431662b.SHA10000755000175000017500000000010011323701322025520 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0319_96aac2f7dfa3ff387c3e12a53d8c51f93d362a44.SHA10000755000175000017500000000010011323701322026174 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0468_4d58003b6f36a7352f3ecf258fa4509d79e7d2ce.SHA10000755000175000017500000000010011323701322026052 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0012_dda4821e8441bc1ca66d18a2eaae4a6d0a495228.SHA10000755000175000017500000000010011323701322026133 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0262_a109d1d9cfd7800d310bcba64e2f1300c7367734.SHA10000755000175000017500000000010011323701322025720 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0174_fddd3e02e14360f5db82d9791e42087b4fc86af2.SHA10000755000175000017500000000010011323701322026116 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0458_3d6e9c628537656eb88dc5f76e18e2a2dceb38a7.SHA10000755000175000017500000000010011323701322026150 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0074_325b2fa3c59ce312460897453ff74318877c6b72.SHA10000755000175000017500000000010011323701322025467 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0469_c80ba62be5da26073c287aa03beedb4e916bb0fe.SHA10000755000175000017500000000010011323701322026371 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0414_ad0d2471322d2c27db1f0babc3c292cd3ab3239c.SHA10000755000175000017500000000010011323701322026174 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0016_8f16cf5c70ab51ed9cdb44312eaead39c3ec2e52.SHA10000755000175000017500000000010011323701322026370 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0123_004c40dd366f88f9fddd83771c05b48b66dcd70c.SHA10000755000175000017500000000010011323701322026114 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0045_97c80a4d5a89b79294c35cd6763b2e9c757545c7.SHA10000755000175000017500000000010011323701322025647 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0418_10b74a030d16992f2df906256858186d882554a6.SHA10000755000175000017500000000010011323701322025325 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0150_4fcd24b654212348d52fdcf0c0942737f997e6fa.SHA10000755000175000017500000000010011323701322025756 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0461_6d9052727fc9912cbbcb67120d2fd27c3c6e9a28.SHA10000755000175000017500000000010011323701322026032 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0185_cd83248d90959c86d383c0e9a7a722aa8c9d4688.SHA10000755000175000017500000000010011323701322025730 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0127_108ce1122eb0c82633f976ca2efa026bba959308.SHA10000755000175000017500000000010011323701322025730 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0164_09778ae85fb61b38629ada752e43968cfdea9735.SHA10000755000175000017500000000010011323701322026006 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0175_49bb25180763123ac51c3bc43c7ddbc32d778fe4.SHA10000755000175000017500000000010011323701322026017 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0311_3abbd0ad167cee74d94ca4593b3c2ea74b9246c7.SHA10000755000175000017500000000010011323701322026234 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0080_4c8d7dc1dbf470b879abfc6db168899ae10f70bc.SHA10000755000175000017500000000010011323701322026337 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0483_dc7825ac0cd824f74ab7a47b899300c3096d8667.SHA10000755000175000017500000000010011323701322025711 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0467_7cbb546d49007e94d064d4f905245d19b9060eab.SHA10000755000175000017500000000010011323701322025676 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0031_80762ac3a2c6589b32fbd1b5edf9cf04b1b2215c.SHA10000755000175000017500000000010011323701322026140 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0435_3f281d9f9288c3284d6d614606ace0288fa46fde.SHA10000755000175000017500000000010011323701322025774 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0041_1c0913ffd921bef41bd7462358e086227294b183.SHA10000755000175000017500000000010011323701322025522 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0313_05ce2dd4ab125a0e913dfd514d9dd935b8dd3d62.SHA10000755000175000017500000000010011323701322026231 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0362_2647472c0c4875cda5e266acbe6b2836539ab432.SHA10000755000175000017500000000010011323701322025666 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0247_380cc98bd9c83aa09dc30db59c3029a3ecba5c1c.SHA10000755000175000017500000000010011323701322026313 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0456_d01e8d33c9eafbd8be5369e3b6a857074be5f78b.SHA10000755000175000017500000000010011323701322026274 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0261_226d1ac28ab39b62d24e2b80baf4d9dba0b1c755.SHA10000755000175000017500000000010011323701322026214 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0490_ab44a81ddb33c2439e2df6eb42b3da5adb4460a6.SHA10000755000175000017500000000010011323701322026300 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0264_c3e28649f4c02f21c4cd5d8e27d4e3d67016c2ac.SHA10000755000175000017500000000010011323701322026104 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0161_129b6f6ccd15ea61f479d5bab6d3af9a6ecbe8f8.SHA10000755000175000017500000000010011323701322026500 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0237_10f543f139a0f6bc2b8051974222d4870c79a050.SHA10000755000175000017500000000010011323701322025432 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0056_55bb9c4f4175807789ab8c7e23cacfe2f8cf7031.SHA10000755000175000017500000000010011323701322026126 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0484_fa5d5599c5660ed0665a79ec395c722997bc5ac2.SHA10000755000175000017500000000010011323701322026005 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0018_d0723c0aff5876687a7b8cb6d0c45e6cdfe398c0.SHA10000755000175000017500000000010011323701322026203 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0149_c9109757aa36e1856c660a2b52183ea5cf50f0d8.SHA10000755000175000017500000000010011323701322025667 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0460_bd9e94d831bf1235dccc7d361aa374c97501e87b.SHA10000755000175000017500000000010011323701322026111 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0355_0c2aae56115be62930c4ae04b4fd152f64ed409c.SHA10000755000175000017500000000010011323701322026062 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0216_d9d04dcdf5855c520bf87accf7c86ad48e648935.SHA10000755000175000017500000000010011323701322026217 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0169_ea743c69e66472733131f459195bec8af9226306.SHA10000755000175000017500000000010011323701322025474 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0236_310775d674a5a05f9f6fb70cddd3c9ef68a6ed8d.SHA10000755000175000017500000000010011323701322026272 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0202_17ddce095e7d0cfd5f795ab462edfcc116b7e532.SHA10000755000175000017500000000010011323701322026325 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0384_d479fc21c0a351ddede3e79541b4e1b5f9542fd6.SHA10000755000175000017500000000010011323701322026177 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0410_061bd5cf62919a1b2e1163520436e2aa552be242.SHA10000755000175000017500000000010011323701322025543 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0308_794f0ff33702723e8e6981f006632062ccc05d15.SHA10000755000175000017500000000010011323701322025447 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0504_ecafa6f24326f8cec555731834168ec7a75aa577.SHA10000755000175000017500000000010011323701322026042 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0173_0b80d23df470bb06f2519e17c03002cc0ad4f2cc.SHA10000755000175000017500000000010011323701322026040 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0486_9f4ed685d398a752bc4ee8c0891d724258121d25.SHA10000755000175000017500000000010011323701322025641 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0477_9d19f19b80897024806f8cb2325960e375727ed7.SHA10000755000175000017500000000010011323701322025433 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0466_866bb6b24e81487390f6a36545379421ade02b6f.SHA10000755000175000017500000000010011323701322025545 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0191_3060e082b61e4c6ec0d4030c17817453d69d9285.SHA10000755000175000017500000000010011323701322025441 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0471_2ff9af0faf9a3b0ab42de6b02e77fdc5b297ce28.SHA10000755000175000017500000000010011323701322026467 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0304_7fcb5e982d0475d029869f3947c25b1a55755589.SHA10000755000175000017500000000010011323701322025506 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0068_ee5c5ea82de03cc13772a1d41520f5771a2d54ba.SHA10000755000175000017500000000010011323701322026064 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0265_79889011edc1ee59541fd593b24b4aa905bd17c4.SHA10000755000175000017500000000010011323701322025757 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0023_c85602d666ec3b89ffbc8d496447113d15b15910.SHA10000755000175000017500000000010011323701322025613 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0049_0a99c997839e36b53bc61e11978d44052527891e.SHA10000755000175000017500000000010011323701322025425 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0438_b5ed866e9bcca4e703fbb30a1e4924d72faf4d50.SHA10000755000175000017500000000010011323701322026325 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0316_7b4ccffd7e64ab1d7816ca43886efe58cde89b7b.SHA10000755000175000017500000000010011323701322026441 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0303_66071311db52813c4f7f6538b28ed8ea38002555.SHA10000755000175000017500000000010011323701322025441 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0212_ccfa24cfd91e151aa67b88120b6e3e6f252f41be.SHA10000755000175000017500000000010011323701322026225 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s1v0004_32d10c7b8cf96570ca04ce37f2a19d84240d3a89.SHA10000755000175000017500000000003211323701322025736 0ustar amedicoamedicoabcdefghijklmnopqrstuvwxyzdc3dd-7.1.614/tests/sha1_test_files/s3v0226_1e2355a26e6e96391a6cbb14f41790743eb65d3d.SHA10000755000175000017500000000010011323701322025667 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0278_112984bb5f7e77d2838a44d9166a01eb339e3c11.SHA10000755000175000017500000000010011323701322025616 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0473_8d06bc2c793d856974ae5459aa669169e07eac62.SHA10000755000175000017500000000010011323701322025723 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0398_3820c5054068282169d937a1b01c2c5206012bee.SHA10000755000175000017500000000010011323701322025346 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0462_e8640e2a840de60356471f4b44220a9e15266a73.SHA10000755000175000017500000000010011323701322025440 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0405_f65adf18a93a5b67dec169d2a73f4ae1673fc773.SHA10000755000175000017500000000010011323701322026202 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0248_9b928d8148f4114f158e46824e766ff2a7a62b34.SHA10000755000175000017500000000010011323701322025560 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0400_5f3cd7855c356b7587e8dedaf9ed0262aabee7c4.SHA10000755000175000017500000000010011323701322026343 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0478_9e14014ee80e7614091f2aa5a0a9caf27909f313.SHA10000755000175000017500000000010011323701322025664 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0233_509a557f6d594b365626ec8a836468def7ba1970.SHA10000755000175000017500000000010011323701322025640 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0358_d7e6eba584da5cd273d2e154330229b417f34361.SHA10000755000175000017500000000010011323701322025663 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0235_4b52399a9fe907cdbe8370f1f7f28f8884db5b70.SHA10000755000175000017500000000010011323701322026065 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0429_d53b026111bcaf9c8ff3255709850e153ec7f149.SHA10000755000175000017500000000010011323701322025673 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0337_032498a6ec908f466125e7a8a0bdc928199b5111.SHA10000755000175000017500000000010011323701322025536 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0177_7d90eba93df3a8e8aaf26f42aa3b87246a4c2086.SHA10000755000175000017500000000010011323701322026172 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0306_e6bed540761c6fda38ac6db6661d676df7afc71e.SHA10000755000175000017500000000010011323701322026341 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0240_4972106ba1ecefd0c55068120585ef2d94239cbe.SHA10000755000175000017500000000010011323701322025736 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0427_385ce73875a2150c12d1558b3b89a53ba780a9ba.SHA10000755000175000017500000000010011323701322025663 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0451_29f98848cc4e358fe51512739fd2985a3d9c5592.SHA10000755000175000017500000000010011323701322025600 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0359_66bc10e7f84332a968d2e9e0cb79c68643ececf9.SHA10000755000175000017500000000010011323701322026146 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0440_0cbc0062c25f233616de607a0a54b6d16b5a016f.SHA10000755000175000017500000000010011323701322025700 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0007_9c8d8e5a31c9802b093c4116dfb0a23a311b8029.SHA10000755000175000017500000000010011323701322025640 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0029_2168e7ce44e725a2723542ef9bd06fda7a7e7c8f.SHA10000755000175000017500000000010011323701322026126 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0436_8b3b8b96a5af2fea5ded2eed9dbf87ac28872287.SHA10000755000175000017500000000010011323701322026440 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0437_fe60132b70dd243b661e7851828c79708cadfcf9.SHA10000755000175000017500000000010011323701322025766 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0348_a9bb529ec301805aa8acbe8389ad48e0385162bf.SHA10000755000175000017500000000010011323701322026110 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0179_ab4cf9c77e130a221852fc35623dd8b056fa7a00.SHA10000755000175000017500000000010011323701322026013 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0453_26c420f37dd3c7cdffef3edd8e2f1842afefecbd.SHA10000755000175000017500000000010011323701322026716 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0479_5d119d7f6858cd7495de1e9a645d2f80f8291df5.SHA10000755000175000017500000000010011323701322026023 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0259_ad6c45b1cd47b6c705d3b75ccf90ac0d1915686c.SHA10000755000175000017500000000010011323701322026166 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0511_aae81062811edfd2af3081941d667fb7033dce80.SHA10000755000175000017500000000010011323701322026011 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0426_992e5dd62bf677cc7439c10c73fbba5b61a6c8e5.SHA10000755000175000017500000000010011323701322026203 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0188_203b3667f5227b2ed4ee398a9078e840b25289f4.SHA10000755000175000017500000000010011323701322025555 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0121_3e003a83b8694bcc857a628447dd83d4b1b4b255.SHA10000755000175000017500000000010011323701322025660 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0349_154f31beafd8730a343c80051a2f9c149a3dd4d5.SHA10000755000175000017500000000010011323701322026012 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0407_5055e365875b5e91c91b87619e3fc079add4deeb.SHA10000755000175000017500000000010011323701322026055 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0135_98556435801aa5697d810f8473630343a1b31a61.SHA10000755000175000017500000000010011323701322025222 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0324_8a213bdc144a8b6a4c518c1c22a425d3f21fec85.SHA10000755000175000017500000000010011323701322026055 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0491_4796defe552974795285841588c9d0b0c2b39e21.SHA10000755000175000017500000000010011323701322025511 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0232_5b8c03ef6ccbf12df96f9d46def25c497eb8e4ef.SHA10000755000175000017500000000010011323701322026516 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0125_e7ccbef62b98cb5597df9b14b8ac8f8b0c97f518.SHA10000755000175000017500000000010011323701322026362 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0011_038c8fd9d653e91399eebb87dfa2dd801b2b34a5.SHA10000755000175000017500000000010011323701322026171 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0290_015100cae85185f42a48b70eb95ab0de9ae118a4.SHA10000755000175000017500000000010011323701322026001 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0120_b4da276ddfa7179f9e1557343d30fc553f61c485.SHA10000755000175000017500000000010011323701322025754 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0286_5ab0d562986a32a334eca6cc5b21433c18b7819a.SHA10000755000175000017500000000010011323701322025734 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0104_32419e5fc2008472ac4f46b03e905dfbd8357b60.SHA10000755000175000017500000000010011323701322025653 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0413_f510d70693808ed495b06d86a784627de4d87672.SHA10000755000175000017500000000010011323701322025502 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0046_15595de8404b06aeb0ac4f5460741c5ec4618a6a.SHA10000755000175000017500000000010011323701322025732 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0367_0db22b512839c314a0235b245b66eccc4fb29176.SHA10000755000175000017500000000010011323701322025646 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0317_0f3d83bf05e509f3939b23c71d8e518e38a6c3c1.SHA10000755000175000017500000000010011323701322025755 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0409_3d7c3ea505167f9fbd99d18a5b615ecfd9c26d15.SHA10000755000175000017500000000010011323701322026207 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s1v0001_86f7e437faa5a7fce15d1ddcb9eaeaea377667b8.SHA10000755000175000017500000000000111323701322026473 0ustar amedicoamedicoadc3dd-7.1.614/tests/sha1_test_files/s3v0209_090919153f6f2b0b7414013b00f29ba16c3f6ed4.SHA10000755000175000017500000000010011323701322025562 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0357_c500095e6f880659eec666ff7f5bc37e39fabc2c.SHA10000755000175000017500000000010011323701322026222 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0423_0a5a8fdbaf2101414d23860287a37c0582641646.SHA10000755000175000017500000000010011323701322025422 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0084_967580251ac2a105e964c97da71a1feba94a68af.SHA10000755000175000017500000000010011323701322026031 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0392_c19991c30080994cf78dd0b8cbb59dce2c64079a.SHA10000755000175000017500000000010011323701322026047 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0258_6bea287617579a5b351cddc18d14e1cf0e695250.SHA10000755000175000017500000000010011323701322025753 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0192_e1bf28ea2645c40bf120b26d7ab4fc5a1ec254a8.SHA10000755000175000017500000000010011323701322026217 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0116_45cb9c18da6f7ed31007f7f7ae1ae49ce685be67.SHA10000755000175000017500000000010011323701322026264 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0078_9d892745d3179215ee1d2ea9898a3ab758dd63e9.SHA10000755000175000017500000000010011323701322025734 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0201_49c732af40f4a74d780d4250267706f7fb1a6c47.SHA10000755000175000017500000000010011323701322025603 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0424_05b6211a7398032d2cc58c9bc3fa1a66d70c1e83.SHA10000755000175000017500000000010011323701322025727 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0128_975c113ec6e5a2c1d6d79478a109040e2751d43f.SHA10000755000175000017500000000010011323701322025606 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s1v0003_c12252ceda8be8994d5fa0290a47231c1d16aae3.SHA10000755000175000017500000000001611323701322026060 0ustar amedicoamedicomessage digestdc3dd-7.1.614/tests/sha1_test_files/s3v0378_5e735505672a66959bcad565f6dd9b4d311923ba.SHA10000755000175000017500000000010011323701322025711 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0203_d0c2b1bf2f99f8d107800a78c414701fc1a842f6.SHA10000755000175000017500000000010011323701322025730 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0360_8ef22381d402646d3e102fb413703a8277d2b565.SHA10000755000175000017500000000010011323701322025432 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0365_6d76eb4c96f011e859ea81b136870784c70722f3.SHA10000755000175000017500000000010011323701322025552 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0146_5b95a6da71f704bf5a432d1987ebf996996043cc.SHA10000755000175000017500000000010011323701322025775 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0295_281f0f08687150f51218b5f9119ca082d4f3423e.SHA10000755000175000017500000000010011323701322025451 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0297_97eb1bc7b8d1dfa3549b8a2e07595676163d09d3.SHA10000755000175000017500000000010011323701322025774 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0171_bb62ce0b4ddc49a425c9020c558ea08613c304ed.SHA10000755000175000017500000000010011323701322026057 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0098_cdb5cfe636c4f385e133d9422e38ae177ddf607e.SHA10000755000175000017500000000010011323701322026211 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0502_e156b150616e25c4cc689a5a10849b2cb9c4c8c7.SHA10000755000175000017500000000010011323701322025742 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0014_cfee25e054425f4989f1e6efd3e1f3633ffd2d5e.SHA10000755000175000017500000000010011323701322026265 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0154_317843abbdc2b0953e4fa0904733f4242d7947e0.SHA10000755000175000017500000000010011323701322025577 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0388_745f03bfb20ef8cbd663767e3326ad6b1b4fc679.SHA10000755000175000017500000000010011323701322026127 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0224_a89c88dd8d3057bb49344ba9d7d274986bdac954.SHA10000755000175000017500000000010011323701322026061 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0035_42875f6af7b7651d0c8385b425db3ffd99550102.SHA10000755000175000017500000000010011323701322025617 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0036_694d8bc576f66ade600cb6984ea7a7260cc44f14.SHA10000755000175000017500000000010011323701322026041 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0501_dd81b919473c77d804df031ee569571657195f9c.SHA10000755000175000017500000000010011323701322025561 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0372_bdf4a387201ca0d1d2ffdee174f913adea999cc7.SHA10000755000175000017500000000010011323701322026407 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0077_b9e4a4e179f9198a2abfefab564c27ea3c6d5f52.SHA10000755000175000017500000000010011323701322026345 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0026_1eaf14b33c7cca699dad92c8514bdf68b01ccb40.SHA10000755000175000017500000000010011323701322026307 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0399_c733a544f82a013c0f1a26d4a040357d2eaa4c52.SHA10000755000175000017500000000010011323701322025714 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0050_f6d409b550c2ef3271d07d50ecf0ad2d88700619.SHA10000755000175000017500000000010011323701322025731 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0182_722073dd703e1e9ac88ad3d0f1e267479bcbfab3.SHA10000755000175000017500000000010011323701322026162 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0364_4f0e93f97bbfc3395210d426f08d88d0c2bfd599.SHA10000755000175000017500000000010011323701322026052 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0038_3371e839a02aadad47c7cca1b2e2533f2767f422.SHA10000755000175000017500000000010011323701322026007 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0442_22032f4e752e7d5d26db09991ef731e87e118680.SHA10000755000175000017500000000010011323701322025544 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0366_4182d12c128bd5ee2ec8851c943b21720a6ecc32.SHA10000755000175000017500000000010011323701322025732 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0335_a0aa85260b30da9d658413214918f7bea7e3bc15.SHA10000755000175000017500000000010011323701322025727 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0042_48c97d9f0e0c7b29130646be6a56d4b2646edb88.SHA10000755000175000017500000000010011323701322025762 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0327_56f8dbf4ccf51ad0bfa042b7b2410346bc138e36.SHA10000755000175000017500000000010011323701322026143 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0334_34522d926dc21f0997400b42927ebf1cb291b961.SHA10000755000175000017500000000010011323701322025521 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0307_829eade04c28286ab3c589069d58b7226ebd15a3.SHA10000755000175000017500000000010011323701322025756 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0393_29fe5880518565977d40dd45aec19bae84515e81.SHA10000755000175000017500000000010011323701322025642 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0198_e726fcce510df503ce82640ac1f7ab28c19d7c46.SHA10000755000175000017500000000010011323701322026171 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s4v0001_AA95CC0F521432AFA84A608134570CAA3CD69D04.SHA10000755000175000017500000060650011323701322025046 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0176_4d34e126b4f06392a6648daa3dba9f48c128b9b1.SHA10000755000175000017500000000010011323701322026025 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0309_8afa385dbbdee2bfa4fdcf01d047f3a131e08a67.SHA10000755000175000017500000000010011323701322026450 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0194_18ba5ca9513b130ce92453ff36a5a0d2faa9a476.SHA10000755000175000017500000000010011323701322026071 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0118_9adef89f604bcee1a318f0f9ab93460d3f03dd3b.SHA10000755000175000017500000000010011323701322026326 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s4v0000_6768033E216468247BD031A0A2D9876D79818F8F.SHA10000755000175000017500000000002411323701322024747 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0289_93f5dee808872b1acb23f7cf21b5c7cb5ec7fc52.SHA10000755000175000017500000000010011323701322026344 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0142_71dc3fd33e02157b10fcba37be9424783098890e.SHA10000755000175000017500000000010011323701322025663 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0094_c24be886919e9fec48294c5e2c7f7bbd5332565d.SHA10000755000175000017500000000010011323701322026066 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0496_293cadc30c0cd9cf55ed269d42fb1758e5c71667.SHA10000755000175000017500000000010011323701322026130 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0310_1e86c19a1a91270275c3e6e41ced9b7d4ff81133.SHA10000755000175000017500000000010011323701322025740 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0375_9d15c38b6220c7f41efa2c8b6a2dd1c17a19c109.SHA10000755000175000017500000000010011323701322026073 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0241_787f7049bb78e3712e5b9b4f447db38d2a42da67.SHA10000755000175000017500000000010011323701322025766 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0273_c68e51da0171770dfa3fa96234aef2f53bc493bf.SHA10000755000175000017500000000010011323701322026164 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0431_9e83dbd01b91ee6a3615334d3530eb52fc6d79af.SHA10000755000175000017500000000010011323701322026103 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0474_0833abd972dd3228da4f024f5662dbe2117282d7.SHA10000755000175000017500000000010011323701322025662 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0293_ced846e7527c74653cd30d80e8097bbd8c29bca6.SHA10000755000175000017500000000010011323701322026131 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0103_4c0cac3de798e7667519cbd8313562d32cb3f666.SHA10000755000175000017500000000010011323701322025754 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0448_73c80b1d08cbfd229cad79f4f613a1d2a5e442ea.SHA10000755000175000017500000000010011323701322026237 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0243_dcf8e1edb48f42331f5dd50c06269f51a1c7b2d5.SHA10000755000175000017500000000010011323701322026157 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0457_13db83187325b05980e84aaee5c632d028109b17.SHA10000755000175000017500000000010011323701322025523 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0156_78f1be3f2ce991b8da39691a5604b9e635611da4.SHA10000755000175000017500000000010011323701322025763 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0110_c05b6bccd76c842939c824bb7062837d606dc774.SHA10000755000175000017500000000010011323701322025672 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0186_bc548a565154a6694995b5bfa59423d65f3a8981.SHA10000755000175000017500000000010011323701322025565 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0488_b1da174937c24516a28c7f4770b98f8df059ed1b.SHA10000755000175000017500000000010011323701322025774 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0069_6c9a8f934db6f888d6f9bd47de8d18e97aef836e.SHA10000755000175000017500000000010011323701322026343 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0338_2ce9d0ca449332dd88531128a549ac5ab50c38c5.SHA10000755000175000017500000000010011323701322025742 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0145_661c99496aed852b153656ec8b26ef26366395ac.SHA10000755000175000017500000000010011323701322025637 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0034_5b5e8b8fd142866535f68e59d4fe77cb05fd9ce1.SHA10000755000175000017500000000010011323701322026144 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0119_ca02bf109dd63bad6210e37dd0436f91ba94f33b.SHA10000755000175000017500000000010011323701322026140 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0281_ffb6ad250782ae8c16f9a610973c77dfef095f1c.SHA10000755000175000017500000000010011323701322026206 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0091_941fee8affdce92c7b0c0c9f53935250d1606d2f.SHA10000755000175000017500000000010011323701322026174 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0054_c7f2d49aaa96200a373890516dc9320819416808.SHA10000755000175000017500000000010011323701322025367 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0464_f42c449ec2d162e5a7cb1688133bf9a290a9c3b3.SHA10000755000175000017500000000010011323701322026026 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0072_e6c51116961912f5314cffa544a6de2b24ab90d5.SHA10000755000175000017500000000010011323701322025732 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0158_e4f6c06f5ee755af403815180f77b928e4825517.SHA10000755000175000017500000000010011323701322025557 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0008_7d43daa11204fc356565aa3c6d05aca04d9870c7.SHA10000755000175000017500000000010011323701322025777 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0065_a7b4e0ed99c4ff63bf6008e07ac09c0c812bae1b.SHA10000755000175000017500000000010011323701322026312 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0180_9c2f76c3fb5ed565de41fd703227b420e9bbda64.SHA10000755000175000017500000000010011323701322026166 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0330_956c4cd7f0e47501f07fd6694adee481a0a706d7.SHA10000755000175000017500000000010011323701322026033 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0497_aa0d67f4e35b04373c2a73a139a8fe8a9f1d0680.SHA10000755000175000017500000000010011323701322026030 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0000_c80b973c1157a7fe4f4150ad4c2a932494bf7bc7.SHA10000755000175000017500000000010011323701322026013 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0284_58f5585f58985eb95c7a3ef8561d5ffbbb60a6a9.SHA10000755000175000017500000000010011323701322026157 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0373_549c43613ac1743e5b4e7a9a506f665b11cae4cf.SHA10000755000175000017500000000010011323701322026023 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0190_7d540dc309a2597bfd5b5ae0c4dcd926e49f4920.SHA10000755000175000017500000000010011323701322026113 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0391_f0e9ee70866abf4f2aaeb307663032214b976f27.SHA10000755000175000017500000000010011323701322025752 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0097_fd4e900de3342ee985823cbe347d7abff0085087.SHA10000755000175000017500000000010011323701322026046 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0370_178c4e21e76a1718a4263e1dc9197d76345c1756.SHA10000755000175000017500000000010011323701322025461 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0505_cbc2cf467401231717ce7339bcd8591665823f46.SHA10000755000175000017500000000010011323701322025536 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0001_56b60a86c48bf35c2688b2b4e44e906c22221cf6.SHA10000755000175000017500000000010011323701322025655 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0253_d26c92ead620313a4b21cdacf0f32287bfd21f74.SHA10000755000175000017500000000010011323701322026136 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0329_2061cdbfe1d8a55c9f9d8dd49a8366139327ecd6.SHA10000755000175000017500000000010011323701322026134 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0354_7eaf07e00bb7fd8f18e06be05a137e314ba34bf2.SHA10000755000175000017500000000010011323701322026225 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0195_dbed362f2b76bbf6fa58e18d29397a95f0fa0112.SHA10000755000175000017500000000010011323701322026176 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0415_93ff72c5d4a53fe0823f4f392d5407b298c5adbb.SHA10000755000175000017500000000010011323701322026116 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0207_30600629a515ea95fadaa13e33cc4f1c6d2e7ee5.SHA10000755000175000017500000000010011323701322026144 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0076_bf533f21e4e65065af6b3ee144683a80bf925d4b.SHA10000755000175000017500000000010011323701322026030 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0055_b529d29a35a660a26b1d940eb48b3f29983f12c2.SHA10000755000175000017500000000010011323701322025663 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0064_e09044703f1c8f36b359cb4f88d9183e2626795b.SHA10000755000175000017500000000010011323701322025554 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0166_bf7f915990e45208e2115494c3c84b54e3f94d1a.SHA10000755000175000017500000000010011323701322025625 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0249_f33fac77f2a2036c6116d19efbcf07b1c0f38fad.SHA10000755000175000017500000000010011323701322026317 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0144_f657b3ed77505cdaffca43b21549a5d9426306c9.SHA10000755000175000017500000000010011323701322026033 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0183_94d62ad63b4dfa23208ce1ea8f95f114f023c58a.SHA10000755000175000017500000000010011323701322026100 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0487_5d36b7997b600229d9421d81a9ea1cb1da1bed2d.SHA10000755000175000017500000000010011323701322026105 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0140_8ebed867ca66df27a46cfd0df20c836ef5a46c2a.SHA10000755000175000017500000000010011323701322026410 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s1v0002_a9993e364706816aba3e25717850c26c9cd0d89d.SHA10000755000175000017500000000000311323701322025617 0ustar amedicoamedicoabcdc3dd-7.1.614/tests/sha1_test_files/s3v0425_0ffc3b8756c5d5765fd64b2eb9f065b2caf06c5a.SHA10000755000175000017500000000010011323701322026254 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0218_eb9b20c75d2de45b58049d0a7b7ac42a21e14161.SHA10000755000175000017500000000010011323701322026001 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0463_c09a06651d0e3599ed42fac3726575efc3404c66.SHA10000755000175000017500000000010011323701322025675 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0485_ef8916d8a9efcf4d6e02fe72de8cab90a3992262.SHA10000755000175000017500000000010011323701322026303 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0005_f8a7c819fa7a7cc6c08376001f6f7c30dc52837d.SHA10000755000175000017500000000010011323701322026033 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0481_5fe1a052aa885d1b4ad99d9f196dbe92cf65885d.SHA10000755000175000017500000000010011323701322026217 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0139_6b7ede476cefdcfd23c99a2507c7289c703cc52a.SHA10000755000175000017500000000010011323701322026265 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0428_c5dc05f37c48d5a299806c2ab3d3e992d9994a09.SHA10000755000175000017500000000010011323701322025777 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0508_74d9106cc9c67f307425cf940cc588b278f84ae2.SHA10000755000175000017500000000010011323701322025716 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0087_59c36c62ca45e8c5cb3e20747b19ee899e3dfb00.SHA10000755000175000017500000000010011323701322026125 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0204_43027a3615d6c7a83d14581535fbacaa36572add.SHA10000755000175000017500000000010011323701322025722 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0187_e8a080ee63161372523fb08370f525fef7535c43.SHA10000755000175000017500000000010011323701322025534 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0321_1254ceda60c0dd56a06395d4b78a07a9a623cf8d.SHA10000755000175000017500000000010011323701322026071 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0387_44d614ada253c44bc5fdef6fa7dff5792e621698.SHA10000755000175000017500000000010011323701322026215 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0059_1a455ad4ed941623b6a3fe01b16c1ab10c0af1a4.SHA10000755000175000017500000000010011323701322026114 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0412_338bc5b38bba52b80a2bfe88fcf95e925a9702d8.SHA10000755000175000017500000000010011323701322026175 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0341_9ae7485721299a29977998d5480505ca77bcdc40.SHA10000755000175000017500000000010011323701322025505 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0408_c8fcb6653d648a5162c53d624dc0e85745769bb4.SHA10000755000175000017500000000010011323701322025707 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0294_77a55e00e669e34fd0f9a16f2d16defc900ea466.SHA10000755000175000017500000000010011323701322026122 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0021_1ded9734a2a6497f545537f50e162b707ebbecee.SHA10000755000175000017500000000010011323701322026107 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0136_da48390cd34e4b6128b0164bd47120e098ccc32e.SHA10000755000175000017500000000010011323701322025725 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0244_bdeaedc13e7010849d258aa7c9be0206f95c853a.SHA10000755000175000017500000000010011323701322026161 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0292_d74fdfb0d814771e7b4b955c268d15b5aa99d72f.SHA10000755000175000017500000000010011323701322026132 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0383_4843ca5c5a803061d2ffccd73faeee578ab13dbd.SHA10000755000175000017500000000010011323701322026400 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0283_96730c09f3ab3e06bbd64a4a42850877e7ae4293.SHA10000755000175000017500000000010011323701322025673 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0112_23ca389adc702949afdc8ce40b6ce7cb88a1da02.SHA10000755000175000017500000000010011323701322026311 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0022_e0150dd6726dcec7eecf0675a7fc998a98d43852.SHA10000755000175000017500000000010011323701322026130 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0106_71db19334f8216306f414d16abb810d5f887eec6.SHA10000755000175000017500000000010011323701322025664 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0193_9baa92bca186e8c5948cae54f88d09f2aec14d7f.SHA10000755000175000017500000000010011323701322026352 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0039_4168fa28936f4b1033a4e19d0a12da2ddd47c244.SHA10000755000175000017500000000010011323701322025726 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0030_2e9c528e8e7f79ff214eb169d8a4c9762125373a.SHA10000755000175000017500000000010011323701322025712 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0152_349fbc1ccbf6069a09a8fc7995c069e32de61f0b.SHA10000755000175000017500000000010011323701322026177 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0137_0e5758502fab4fac56076ecbc3e3434184cd81d1.SHA10000755000175000017500000000010011323701322026016 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0147_a97dd84f3159897b8369f7d7ccc0c1b32d2c397b.SHA10000755000175000017500000000010011323701322026061 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0299_9d77e37ff377a4c222e7c81003051cd4da9fe9eb.SHA10000755000175000017500000000010011323701322026130 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0003_cf3e842c69f06d3bc769367bc4b4f6e57b5496e5.SHA10000755000175000017500000000010011323701322026054 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0006_78ada92e4fefc60b100ee2af775b05520823b020.SHA10000755000175000017500000000010011323701322025773 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0322_4548994e655b8b63ec7761015c46bdad46bbca94.SHA10000755000175000017500000000010011323701322025760 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0019_bf2aa88116c9bba41e76c4835a8ddd0c2822a5fe.SHA10000755000175000017500000000010011323701322026236 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0200_54b17ee781a17edc3b4c420d78f83c7c978f3cab.SHA10000755000175000017500000000010011323701322026170 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0242_3e8e2c84de92183c61419be04ff01a26acef9ea9.SHA10000755000175000017500000000010011323701322026170 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0002_f07dc15d139e20b569d018c517ea697434cb35ae.SHA10000755000175000017500000000010011323701322025733 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0288_18977350d746c049a89b49814682fbc8dac9e28c.SHA10000755000175000017500000000010011323701322025655 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0345_29de6bd404bf0fe6c284c578b017a6e713f59ecb.SHA10000755000175000017500000000010011323701322026176 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0100_f82db7f598a7a746b90e7f0fafb95b69c98d9c39.SHA10000755000175000017500000000010011323701322026231 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0148_891799a91b5d53171b3fc831b0aeb08969206365.SHA10000755000175000017500000000010011323701322025463 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0133_c74538bd718108640db915639119f04d72c3f096.SHA10000755000175000017500000000010011323701322025374 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0129_b61659219a809e80c7ed3d7846f6f3f3bee7089a.SHA10000755000175000017500000000010011323701322026004 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0155_0d7fff1ff47d64e3e48d7282b34bf6747284b415.SHA10000755000175000017500000000010011323701322025773 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0401_e740eaeeca9a5e5c59578e6d89674ef1a56970e1.SHA10000755000175000017500000000010011323701322026140 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0122_cfaa4c7f76dcea939513c08dfac97c7d350eba04.SHA10000755000175000017500000000010011323701322026401 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0153_a2cdc16fe423a24901918c97398d1b961cfc316c.SHA10000755000175000017500000000010011323701322025745 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0032_ac293b9701fef4dddac98ea2b6024719642d26bb.SHA10000755000175000017500000000010011323701322026155 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0057_0e4fe8a0f3e5d3e415b93e85924ff96684edd04b.SHA10000755000175000017500000000010011323701322026133 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0347_85fcba107c2156453c42cffc30c63b40c9cafdaf.SHA10000755000175000017500000000010011323701322026307 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0260_6eb575e8412d916df0ac6ffdbb5cc79eba83dce5.SHA10000755000175000017500000000010011323701322026477 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0507_d84b71fdfd8e9f0a76aa1eb174cd253789d6408b.SHA10000755000175000017500000000010011323701322026205 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0394_0fba86225438a82db0f2dd6d655d1d85a5ad3b14.SHA10000755000175000017500000000010011323701322026077 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0157_f9abb648adb9141e575b8eb55d19a7c3d668e77e.SHA10000755000175000017500000000010011323701322026220 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0411_6a0fe1b5f651e7ca327d0083ba65e6f8fc42337b.SHA10000755000175000017500000000010011323701322026074 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0346_55895e9a39f68680ba67f2cbb4eea698496cb950.SHA10000755000175000017500000000010011323701322026017 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0205_dd40216a698a881b04541e2405cf43d38bd62d61.SHA10000755000175000017500000000010011323701322025570 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0291_d12e261473bf1c68a961f34334df31e164cd73a8.SHA10000755000175000017500000000010011323701322025663 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0211_56f121a340de79356f95be7e371c4214643a92fd.SHA10000755000175000017500000000010011323701322025605 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0214_e081c6cc8e45eb60ec5ef41f56255bac13546d06.SHA10000755000175000017500000000010011323701322026076 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0379_e15c395b45066d50f2f25b8f85dec3791281ba0a.SHA10000755000175000017500000000010011323701322025755 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0343_1df7548a0cad64526a030bc9bfc5626d17479831.SHA10000755000175000017500000000010011323701322025663 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0363_29d6e52268abdf244fe662dba33ab9435ee66d1c.SHA10000755000175000017500000000010011323701322026172 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0033_6c7dbcca072d9fb9096f0cb316f519da899173e0.SHA10000755000175000017500000000010011323701322026114 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0380_cdd485f608fa7bf001f59ba9daaf266c50fcfa98.SHA10000755000175000017500000000010011323701322026417 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0450_2fdfa42088be5e2ef6afa13890635adb64bf59a7.SHA10000755000175000017500000000010011323701322026252 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0314_7c577206c0f66b2df7adb657b6ad528144913b26.SHA10000755000175000017500000000010011323701322025666 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0090_46ebf4a676804a632551e82be4b57bd5ca435058.SHA10000755000175000017500000000010011323701322025665 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0300_c59da8793931e9e4b930e100cdbb4c36ebf3eca6.SHA10000755000175000017500000000010011323701322026240 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0051_deed66bf0a4e4043d3811ea8ba0326704c334b0f.SHA10000755000175000017500000000010011323701322026050 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0445_296b3124d4aa6c9e37a08720d6a7697cc075340f.SHA10000755000175000017500000000010011323701322025610 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0381_94beeac05f3e5a6fb2cf1cb1229b230542451864.SHA10000755000175000017500000000010011323701322026007 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0227_6580e48e6e1f51cc4fa2b65d74c8183b59f69a6a.SHA10000755000175000017500000000010011323701322026051 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0285_89de54f734d3a6a3a2e05d9c58c630a9c25d4981.SHA10000755000175000017500000000010011323701322025766 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0446_d14eb2bb8ec810a4cbff2189095f99ec54ca0bab.SHA10000755000175000017500000000010011323701322026401 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0028_87d02b5c01451b2e71917d51c078c522cecf3e0b.SHA10000755000175000017500000000010011323701322025723 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0126_7b0215faf7f0443be069c9278286165e26cbcf73.SHA10000755000175000017500000000010011323701322025675 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0184_f9df96d378b1992100eed2df0d4d349a17f6eb93.SHA10000755000175000017500000000010011323701322026133 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0350_f303e5e88c37c0eff29180b372e00b9a8dc7ddb7.SHA10000755000175000017500000000010011323701322026170 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0095_6c99fcd7e1f6855eed92c2a7d1f3d3d9f6e8ad87.SHA10000755000175000017500000000010011323701322026400 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0371_c6519dc7593847544fdc38d2f024ed55a66baed5.SHA10000755000175000017500000000010011323701322026047 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0416_ef17405e6d26269f503eeea3504fc9280d2603b9.SHA10000755000175000017500000000010011323701322025671 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0172_2183fbe664beecdadc7a01eebbfb5948aab60a6e.SHA10000755000175000017500000000010011323701322026611 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0301_bb6c8b6f3896dd85f33740404a834920e8aea444.SHA10000755000175000017500000000010011323701322025672 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0263_37b7dcf21e0e183a9a86170997df242a84a85ff7.SHA10000755000175000017500000000010011323701322025770 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0222_a8a2791d33cc80a935f07744012667e989e19805.SHA10000755000175000017500000000010011323701322025404 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0422_37273bd0e062b21349798c89b95a6e74bf58821a.SHA10000755000175000017500000000010011323701322025544 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0196_e2e1a4bbded9d5fa2da200b233e2186630396f57.SHA10000755000175000017500000000010011323701322026074 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0099_f40b90d9cfd60cd39c1cf1c5ed6a6be9b4c81ec5.SHA10000755000175000017500000000010011323701322026477 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0382_d5481f60fcef55d8c101fbba7c054d88e37637f9.SHA10000755000175000017500000000010011323701322026130 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0245_36aa3434bad394718b21acdf6ec2526f51627948.SHA10000755000175000017500000000010011323701322025665 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0230_1a4788a361cecced29efeac51ff8f6bb68dfded4.SHA10000755000175000017500000000010011323701322026640 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0052_2567b864fd878473495fd335aecea89fccdf2673.SHA10000755000175000017500000000010011323701322026067 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0282_d1b731d084179c8d12e5365eff7100bbeca13427.SHA10000755000175000017500000000010011323701322025732 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0213_df66af08c35c0ddd6faa088cef132466022f1cad.SHA10000755000175000017500000000010011323701322026304 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0332_21286ba23811271a072a75a3a7ecf33f186533b6.SHA10000755000175000017500000000010011323701322025500 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0403_a6e554f7e2d4ff1ca71395ba093bdd19a3661639.SHA10000755000175000017500000000010011323701322026027 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0340_a09dab62bc9fd4a646b346398ce8665a0bb8108f.SHA10000755000175000017500000000010011323701322026107 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0279_2338180643fc2a6f60a8cb718dac7e1639f57351.SHA10000755000175000017500000000010011323701322025620 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0081_c426ebaa58b03228871719aa5fcb30b05bf740c9.SHA10000755000175000017500000000010011323701322026005 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0088_a2d8594658b47709e739afda17e32174fc22d293.SHA10000755000175000017500000000010011323701322025634 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0246_e6ee7041303a55d95ba3093507f58f5da10b8254.SHA10000755000175000017500000000010011323701322025601 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0231_2c414b96a80b2be5d1a6e1a29dd24e68fb7ef776.SHA10000755000175000017500000000010011323701322026165 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0061_38846e9960050e14e883b55d84db7f01215355af.SHA10000755000175000017500000000010011323701322025456 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s1v0005_84983e441c3bd26ebaae4aa1f95129e5e54670f1.SHA10000755000175000017500000000007011323701322026026 0ustar amedicoamedicoabcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqdc3dd-7.1.614/tests/sha1_test_files/s3v0221_26d802656e0e29eaa263cd58ff39cd8d08567a1c.SHA10000755000175000017500000000010011323701322026033 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0096_e756da506bfc4a04465d5d7dd4c205e946485b22.SHA10000755000175000017500000000010011323701322025754 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0465_d399a7b5077bcb4527194109e04ef89cc71277ea.SHA10000755000175000017500000000010011323701322025711 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0020_6ebf3f3419c3ccc586344cf24e07050a8d5e5aaa.SHA10000755000175000017500000000010011323701322026145 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0430_40cef784a88c9da3355c80c9b220b12b578f8430.SHA10000755000175000017500000000010011323701322025665 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0254_d7a7b4d4d0ca22eec9d2e7cb1d8fde422225483c.SHA10000755000175000017500000000010011323701322026316 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0339_4970cddb596a876a39f9d273cf718961603d2190.SHA10000755000175000017500000000010011323701322025562 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0017_740b98b60ef34f120e38818427d72187cd5df4da.SHA10000755000175000017500000000010011323701322025675 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0093_1ef86e0eea541c8c374817bf6bf07278d3effefc.SHA10000755000175000017500000000010011323701322026352 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0256_c335854a19d6b6b099aa4145e1cd9658dac4b60f.SHA10000755000175000017500000000010011323701322026032 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0162_274cbeea6e5437de4e1c509a2d7898192d1190c9.SHA10000755000175000017500000000010011323701322025760 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0389_9a88a295dce2b8e8e48fbf7be3ce55b33635a97f.SHA10000755000175000017500000000010011323701322026315 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0159_7e012352ba1cc23980832c211bbe905b20500589.SHA10000755000175000017500000000010011323701322025414 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0417_e5036dd48a55451d8212a27a85fe5779c30964fe.SHA10000755000175000017500000000010011323701322025626 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0312_6ed914ae39347e3a9a96080aafbd497e33701866.SHA10000755000175000017500000000010011323701322025700 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0004_96429b7baa941f24306c1f9103fe2b454d1323b2.SHA10000755000175000017500000000010011323701322025560 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0298_c099c6b7a8352beb1262ecd02782bf4428ff69c4.SHA10000755000175000017500000000010011323701322026046 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0280_f14b90992f4d5a1243bfc5a63c94c49590c46b68.SHA10000755000175000017500000000010011323701322025701 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0085_158b4d9ba108126fc615a75c18228120d7d1969e.SHA10000755000175000017500000000010011323701322025527 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0075_dee1c0c3387d7d8c31867f1ba6af34026d49e1d7.SHA10000755000175000017500000000010011323701322026113 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0058_0cc5775bef98969eaa8b1df3bedd1e305825d076.SHA10000755000175000017500000000010011323701322026207 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0433_06ea50eee8ee904d4bcab484c7a0d57f1e686d3c.SHA10000755000175000017500000000010011323701322026330 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s1v0000_da39a3ee5e6b4b0d3255bfef95601890afd80709.SHA10000755000175000017500000000000011323701322026075 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0499_3a459f9ee9ca8ecbcf864769a0d30b2a9a0aa9fb.SHA10000755000175000017500000000010011323701322026431 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0225_48d0f840967af3f7f67162b04467996f7e0248ad.SHA10000755000175000017500000000010011323701322025562 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0114_5749378c96e41c974ab6eb82720f795ce2822ff4.SHA10000755000175000017500000000010011323701322025642 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0420_441c9327f5dc2907fd3c85c01d094fb2727aa6af.SHA10000755000175000017500000000010011323701322026020 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0315_1d43abcfcae5e92a06796e7a751c8f569d88f7fc.SHA10000755000175000017500000000010011323701322026277 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0178_b6919e57aabdd131f4b01a8ca3cd5dee4ec0ed85.SHA10000755000175000017500000000010011323701322026460 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0060_bc112941c3736d8608572454bc3b9b81e4f00ecd.SHA10000755000175000017500000000010011323701322025653 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0287_7e3d6dfe5a25fcc4a340d9cc5a998f0614688176.SHA10000755000175000017500000000010011323701322026060 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0459_deb2662ac60da809bb5d94e2a5b9b38a7696d383.SHA10000755000175000017500000000010011323701322026125 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0406_73f8b85993f0d3cb12aba034fdba2f4d6e3e168b.SHA10000755000175000017500000000010011323701322026241 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0492_c42cce86691b2b0a0a7297d3fc3077de7b875457.SHA10000755000175000017500000000010011323701322025763 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0024_11945ddd1210e9720335baa588911f0dd22a75f8.SHA10000755000175000017500000000010011323701322025567 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0086_119dab5498c9d2e0240c21b9eeff2d384f350855.SHA10000755000175000017500000000010011323701322025755 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0189_9196a67c90584cc300100bbcff5ddc6fd71a2405.SHA10000755000175000017500000000010011323701322026021 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0138_c6ad9bdfc1a609434a034987b95df0a95f16aa09.SHA10000755000175000017500000000010011323701322026111 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0386_1d37721790245f4182292f058930c37b4a9ce7ee.SHA10000755000175000017500000000010011323701322025466 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0500_c5a5f5833988bb1b920b7c7a7324890b7e681761.SHA10000755000175000017500000000010011323701322025541 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0377_86cf8c99f8996dc0db12e004721a781533b33f68.SHA10000755000175000017500000000010011323701322025640 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0143_700bb77ff59f2f0ea7770106ea4ed5d45a86e2cd.SHA10000755000175000017500000000010011323701322026167 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0079_3506520468939295101a6ea95e427f762720dfe9.SHA10000755000175000017500000000010011323701322025333 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0165_ffac48b01bddd251e36ec2117fe4d7fb3e2dae88.SHA10000755000175000017500000000010011323701322026462 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0040_24ffd42c1b342aa89e041b37755b337879ed7ca7.SHA10000755000175000017500000000010011323701322025745 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0351_a3b287d882127b00f7a723db405298a460c73796.SHA10000755000175000017500000000010011323701322025446 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0168_38adb2132156ad53d301331100dc40e1a8b5061a.SHA10000755000175000017500000000010011323701322025525 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0108_2773f7d0174eda2babc2e658d4112e1eceed7c4d.SHA10000755000175000017500000000010011323701322026313 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0252_bac51faaadf6127971f210e8eddbe17e99e17993.SHA10000755000175000017500000000010011323701322026256 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0476_616310fdb4e72b3b985281c3ebd1c176a1273cfd.SHA10000755000175000017500000000010011323701322026020 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0251_b1db2b2305b65a1421b7084a78f97ff2d227865b.SHA10000755000175000017500000000010011323701322025654 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0356_d676e0f5de53fdac16b35d06bb777599e838a1e0.SHA10000755000175000017500000000010011323701322026130 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0082_5aa07142574f0aa5ae4fd7b5a51eb9aa63c1eb42.SHA10000755000175000017500000000010011323701322026213 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0217_21a6a0044b5f5bffa8245672eb0c0ac70caf9757.SHA10000755000175000017500000000010011323701322026065 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0132_6531c0a7931c275b4f632ef8093919df9313c4f5.SHA10000755000175000017500000000010011323701322025535 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0115_24f8e36845e10a853528181ad6eb1649657123b7.SHA10000755000175000017500000000010011323701322025373 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0510_d229d9d61e24b80cb32373bb3362a3bdc7dcce73.SHA10000755000175000017500000000010011323701322026144 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0134_f3144cc8d9a20e480e4e58da30acfee56d591cfd.SHA10000755000175000017500000000010011323701322026325 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0395_ae8e67d9f7a3cd1d5b883eb4988bd751eda4f6a4.SHA10000755000175000017500000000010011323701322026365 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0277_605312fb9dcafe0794773c6016e428efa6f762d7.SHA10000755000175000017500000000010011323701322025771 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0368_9f9f449fef08de2a3f202b481c5b9b9690938b82.SHA10000755000175000017500000000010011323701322026010 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0102_77b7cd2112666c5c49c9326ba18ea9b7e01912ce.SHA10000755000175000017500000000010011323701322025740 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0302_dd366c91de61d6b1581472c950c6d1223bc67cbc.SHA10000755000175000017500000000010011323701322026013 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0250_1ca9b7e149c031ee02c254182a90b62547db6aa4.SHA10000755000175000017500000000010011323701322025715 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0443_e2e5204f0258896446f8f943eccb94688eda05ca.SHA10000755000175000017500000000010011323701322025775 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0275_aa08ccb4a80fa396b4e8d60f679eec506b7b9a65.SHA10000755000175000017500000000010011323701322026261 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0439_a0a55ec19e35fd0870bbc90a7cf333ade724de25.SHA10000755000175000017500000000010011323701322026237 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0269_ec7d66da9c3fa2cca0365e2ad3e2a78bd59db1bb.SHA10000755000175000017500000000010011323701322026541 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0167_bcebae614742d8b4ea82342d41081b9477af1298.SHA10000755000175000017500000000010011323701322025747 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0151_d1397b8a4066e2168fd8aade3ee10ca203cf17cf.SHA10000755000175000017500000000010011323701322026230 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0385_e5f1ee88df160fe503195104ac809e78f1697049.SHA10000755000175000017500000000010011323701322025640 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0210_a9f90b4f50c93ec61148d8a0ac41b10cbbd42c51.SHA10000755000175000017500000000010011323701322026125 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0131_ac46aeabe0a215d11130dfbb031a1222c055ec7e.SHA10000755000175000017500000000010011323701322026151 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0257_b8ea6301ba799caedf54ded2f4e04253e1831d8f.SHA10000755000175000017500000000010011323701322026252 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0234_4a5bb3d4b6336d2bc02e60bda63195f07a767b62.SHA10000755000175000017500000000010011323701322026003 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0441_7fb304f334da910fbbb412ed6a41cbee66a0093a.SHA10000755000175000017500000000010011323701322026211 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0506_06daa528dfd015e666c579f6aa997e50ecef2451.SHA10000755000175000017500000000010011323701322026123 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0489_890e8d2c34e060193ab21de16b1c1929616d6eda.SHA10000755000175000017500000000010011323701322025747 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0181_3ba8bc25929043f59402ace9c9e57758c2a1037d.SHA10000755000175000017500000000010011323701322025673 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0105_d6b3831658fdd1185971ea835d071fa672220080.SHA10000755000175000017500000000010011323701322025440 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0271_2b95691be17bfeac4911ed9c629b47dfa8729e1e.SHA10000755000175000017500000000010011323701322026210 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0352_4c8100f4e5629fb2cc6324d77737569522e5c775.SHA10000755000175000017500000000010011323701322025470 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0223_1b2ac35a2425e935d1b4398d72313306586e77db.SHA10000755000175000017500000000010011323701322025516 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0470_06ab61cb329f3423ae513b49551191d6fa515fb1.SHA10000755000175000017500000000010011323701322025643 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0397_da9e82445fab469b724230008e70c96cadd60239.SHA10000755000175000017500000000010011323701322025675 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0419_7181dc401250f84aae4aa1ffb94a89acd98e5fac.SHA10000755000175000017500000000010011323701322026326 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0109_3c9ec7c855fc076d4e93446b0b97881614ae69c4.SHA10000755000175000017500000000010011323701322025720 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0071_0dbcc21d171566f731595798084806d37e301461.SHA10000755000175000017500000000010011323701322025307 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0404_5bd9f14f7985cb09638feaf2cd5389a9a18be557.SHA10000755000175000017500000000010011323701322026143 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0296_404ba3e3275f06e9fac48c8d92f51e9af4df55d3.SHA10000755000175000017500000000010011323701322026211 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0239_9dea28ec04e1a9bdde165fb81b9e123256cbb876.SHA10000755000175000017500000000010011323701322026254 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0027_09444fabb51e6fe7d4452e79d1063b4a8e3e4d82.SHA10000755000175000017500000000010011323701322026032 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0163_7d2e8445d5af45b4234c662d7365de0fde3f137a.SHA10000755000175000017500000000010011323701322026032 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0111_7fc1463fc5e883a8783e83ba2aed9477140cefc7.SHA10000755000175000017500000000010011323701322026123 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0015_01f033f733ad52897a5f85743631d2c5a24df29d.SHA10000755000175000017500000000010011323701322025603 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0320_946f7992ef21d07b55b8ccccb4840834cfc52492.SHA10000755000175000017500000000010011323701322025761 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s1v0006_761c457bf73b14d27e9e9265c46f4b4dda11f940.SHA10000755000175000017500000000007611323701322025765 0ustar amedicoamedicoABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789dc3dd-7.1.614/tests/sha1_test_files/s1v0008_34aa973cd4c4daa4f61eeb2bdbad27316534016f.SHA10000755000175000017500000364110011323701322026232 0ustar amedicoamedicoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadc3dd-7.1.614/tests/sha1_test_files/s3v0495_554e489049a20d8bd47fb1234ea397e21d8cae77.SHA10000755000175000017500000000010011323701322025767 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0219_84569c7e024fda33562804ed1f1959cd60c1537e.SHA10000755000175000017500000000010011323701322025622 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0010_b445e64d88f2633490fa0eeb349d7fac9747c8f4.SHA10000755000175000017500000000010011323701322026046 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0480_ebb2f360ab47f053a8bc736f45f33158c6ea878c.SHA10000755000175000017500000000010011323701322026114 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0331_b0a22915b6d5990eae90ad3e550f9294d18f6e90.SHA10000755000175000017500000000010011323701322025752 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0107_4ef16fc64a42e04ba42070bd52c7b331a8d7b33c.SHA10000755000175000017500000000010011323701322026052 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0037_fe26d65a5424e8a8b3d3f5f1c34b9b5062baf56e.SHA10000755000175000017500000000010011323701322026167 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0101_b9bed915e0015f533e4c47a65264bf7dddb2c7dd.SHA10000755000175000017500000000010011323701322026235 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0048_d9cfdc0aff96b9553cf7e3043d9276a434615e96.SHA10000755000175000017500000000010011323701322026056 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0047_e35eac18f548b2213043e2071e8a3328073e3b0d.SHA10000755000175000017500000000010011323701322025561 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0376_cba55f53bbcb90e739b2344c8e8508d631ca429e.SHA10000755000175000017500000000010011323701322026114 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0063_455bbde02d1e9648a3c5d6b2b0bbe09b1167ab9b.SHA10000755000175000017500000000010011323701322026222 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0323_a4da64e02bb6fc6783254cce92f4c28d79753f25.SHA10000755000175000017500000000010011323701322026040 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0044_d032e3f7ef5669b263f474e3ccac671cdbbaf8ab.SHA10000755000175000017500000000010011323701322026404 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0361_b449114bd723e547dcac5ca2d88bcec690254f98.SHA10000755000175000017500000000010011323701322026114 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0238_890e02391b11fab9602f0ee18b0ca0a34af425f5.SHA10000755000175000017500000000010011323701322025776 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0444_bce31d00762d3d3699caf25bac4bbe27c4853530.SHA10000755000175000017500000000010011323701322026071 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0013_499e5250d504f77dae8196d52b399ede52b19bc5.SHA10000755000175000017500000000010011323701322025765 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0421_068a13fd27dce7b9bde20ebf9c28c1227eda5f6f.SHA10000755000175000017500000000010011323701322026405 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0449_1da62f48ebb2d50ec062dd98c85fe8345b1129ec.SHA10000755000175000017500000000010011323701322026176 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0025_3f085871e93d27ca79ba3cf549f4f14e925b47eb.SHA10000755000175000017500000000010011323701322026050 0ustar amedicoamedico@dc3dd-7.1.614/tests/sha1_test_files/s3v0124_bec1e4b13505fc884de92454b178481abc2bfa59.SHA10000755000175000017500000000010011323701322026101 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0117_b26c1e83f82d92adc5787069ea64a97eaeb05449.SHA10000755000175000017500000000010011323701322026046 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0434_bec01bb7f8bdbf144dfe0b3dd05427666f1daa00.SHA10000755000175000017500000000010011323701322026355 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0092_4e79bf4bc6f098285196c9f624113476c002fc50.SHA10000755000175000017500000000010011323701322025542 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0255_f936af09029b1e14cddb9387e8362eb29a436a0b.SHA10000755000175000017500000000010011323701322026031 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0326_f9313fb67ee62d61cb35b58a67f2668e8996a77f.SHA10000755000175000017500000000010011323701322026015 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0274_3b74cc5d74226619e37f01ee83d2b48540cd734f.SHA10000755000175000017500000000010011323701322025676 0ustar amedicoamedico dc3dd-7.1.614/tests/sha1_test_files/s3v0053_eb8bff11acd9a2e62cbef9cd5a61697e5d5316d9.SHA10000755000175000017500000000010011323701322026417 0ustar amedicoamedicodc3dd-7.1.614/tests/sha1_test_files/s3v0369_6fd1ee49a36f67407f36b193df20fb0ee9ebb3bf.SHA10000755000175000017500000000010011323701322026345 0ustar amedicoamedico@dc3dd-7.1.614/tests/tests-mac.sh0000755000175000017500000000013711323701322016033 0ustar amedicoamedico#!/bin/bash ./test-compile.sh mac \ && ./test-file-imaging.sh \ && ./test-hashing.sh \ dc3dd-7.1.614/tests/test-compile.sh0000755000175000017500000000353511323701322016545 0ustar amedicoamedico#!/bin/bash if [ "$1" != "linux" -a "$1" != "mac" ] then echo "usage: $0 linux" echo "or" echo "usage: $0 mac" exit 1 fi cd .. # dynamic link, no options ./configure if [ $? -ne 0 ] then echo "Basic configure failed" cd tests exit 1 fi make if [ $? -ne 0 ] then echo "Basic make failed" cd tests exit 2 fi # dynamic link, options make distclean if [ $? -ne 0 ] then echo "Make distclean failed" cd tests exit 2 fi ./configure CFLAGS="-O2 -DDEFAULT_HASH_MD5 -DDEFAULT_HASH_SHA1 -DDEFAULT_HASH_SHA256 -DDEFAULT_HASH_SHA512 -DDEFAULT_OUTPUT_FILE_SIZE=1900M -DDEFAULT_VERBOSE_REPORTING -DDEFAULT_BASE_TEN_BYTES_REPORTING" if [ $? -ne 0 ] then echo "Flags configure failed" cd tests exit 1 fi make if [ $? -ne 0 ] then echo "Flags make failed" cd tests exit 2 fi for a in DEFAULT_HASH_MD5 DEFAULT_HASH_SHA1 DEFAULT_HASH_SHA256 DEFAULT_HASH_SHA512 DEFAULT_OUTPUT_FILE_SIZE DEFAULT_VERBOSE_REPORTING DEFAULT_BASE_TEN_BYTES_REPORTING do MSGCOUNT=`./src/dc3dd --flags | grep -c "\<$a\>"` if [ $MSGCOUNT -ne 1 ] then echo "$a flag line missing" cd tests exit 3 fi done LINECOUNT=`./src/dc3dd --flags | wc -l` if [ $LINECOUNT -ne 8 ] then echo "Flags line count wrong - should be 8" cd tests exit 3 fi if [ "$1" == "linux" ] then # static link, options # configure will fail on a mac platform # since static linking is not supported make distclean if [ $? -ne 0 ] then echo "Make distclean failed" cd tests exit 2 fi ./configure CFLAGS="-O2 -DDEFAULT_HASH_MD5 -DDEFAULT_HASH_SHA1 -static" if [ $? -ne 0 ] then echo "Configure failed (static)" cd tests exit 1 fi make if [ $? -ne 0 ] then echo "Make failed (static)" cd tests exit 2 fi fi cd tests dc3dd-7.1.614/tests/test-device-imaging.sh0000755000175000017500000000727211457124713020002 0ustar amedicoamedico#!/bin/bash source "helpers.sh" if [ "$1" == "" ] then echo "Usage: $0 good_device" exit 1 fi DEVICE="$1" #************************************************************* # These tests depend on writing a reference image to a device # with the sector size and size in sectors described below. #************************************************************* REF_IMG="../../test_data/reference_images/ref-good.img" REF_SECTORS=1952767 REF_SECTOR_SIZE=512 DC3DD="../src/dc3dd" TEST_IMG="/tmp/dev_img_test.img" TEST_LOG0="/tmp/dev_img_test0.log" TEST_LOG1="/tmp/dev_img_test1.log" init() { echo "Setting up test fixtures..." echo "Getting reference image size..." REF_IMG_BYTES=`stat -c %s "$REF_IMG"` echo "$REF_IMG_BYTES" echo "Getting reference image md5 hash..." REF_IMG_MD5_HASH=`md5sum "$REF_IMG" | cut -f 1 -d \ ` echo "$REF_IMG_MD5_HASH" echo "Getting reference image sha1 hash..." REF_IMG_SHA1_HASH=`sha1sum "$REF_IMG" | cut -f 1 -d \ ` echo "$REF_IMG_SHA1_HASH" echo "Writing reference image to device..." umount "$DEVICE" if [ -L "$DEVICE" ] then DEVICE=`readlink -f "$DEVICE"` fi dd if="$REF_IMG" of="$DEVICE" if [ $? -ne 0 ] then echo "failed to write reference image $REF_IMG to device $DEVICE" exit 1 fi echo "Getting md5 hash for wipe testing..." PAT_MD5_HASH=`"$DC3DD" pat=00 cnt="$REF_SECTORS" | md5sum | cut -f1 -d\ ` echo "Getting sha1 hash for wipe testing..." PAT_SHA1_HASH=`"$DC3DD" pat=00 cnt="$REF_SECTORS" | sha1sum | cut -f1 -d\ ` echo "Test fixture set up completed" } cleanup() { # Clean up files from any previous runs. rm "$TEST_IMG" "$TEST_LOG0" "$TEST_LOG1" if [ -e "$TEST_IMG" -o -e "$TEST_LOG0" -o -e "$TEST_LOG1" ] then echo "Failed to remove test output files" exit 1 fi } basic() { echo "Testing imaging of a device with multiple logs..." cleanup "$DC3DD" if="$DEVICE" of="$TEST_IMG" hash=md5 hash=sha1 log="$TEST_LOG0" log="$TEST_LOG1" if [ $? -ne 0 ] then echo "basic: run failed" exit 1 fi echo "Checking results..." check_output_file "basic" "$TEST_IMG" "$REF_IMG_BYTES" "$REF_IMG_MD5_HASH" "$REF_IMG_SHA1_HASH" check_input_logging "basic" "$TEST_LOG0" "$REF_SECTOR_SIZE" "(probed)" "$REF_IMG_BYTES" "$REF_SECTORS" "0" check_input_logging "basic" "$TEST_LOG1" "$REF_SECTOR_SIZE" "(probed)" "$REF_IMG_BYTES" "$REF_SECTORS" "0" check_input_hash_logging "basic" "$TEST_LOG0" "$REF_IMG_MD5_HASH" "$REF_IMG_SHA1_HASH" check_input_hash_logging "basic" "$TEST_LOG1" "$REF_IMG_MD5_HASH" "$REF_IMG_SHA1_HASH" check_single_output_logging "basic" "$TEST_LOG0" "$REF_SECTORS" check_single_output_logging "basic" "$TEST_LOG1" "$REF_SECTORS" echo "Results ok" echo } wipe() { echo "Testing a verified wipe of a device with zeros..." cleanup "$DC3DD" hwipe="$DEVICE" hash=md5 hash=sha1 log="$TEST_LOG0" if [ $? -ne 0 ] then echo "wipe: run failed" exit 10 fi DEVICE_HASH=`md5sum "$DEVICE" | cut -f 1 -d \ ` if [ "$DEVICE_HASH" != "$PAT_MD5_HASH" ] then echo "wipe: md5 hash mismatch" exit 1 fi DEVICE_HASH=`sha1sum "$DEVICE" | cut -f 1 -d \ ` if [ "$DEVICE_HASH" != "$PAT_SHA1_HASH" ] then echo "wipe: sha1 hash mismatch" exit 1 fi echo "Checking results..." check_input_logging "wipe" "$TEST_LOG0" "$REF_SECTOR_SIZE" "(probed)" "$REF_IMG_BYTES" "$REF_SECTORS" check_input_hash_logging "wipe" "$TEST_LOG0" "$PAT_MD5_HASH" "$PAT_SHA1_HASH" check_single_output_logging "wipe" "$TEST_LOG0" "$REF_SECTORS" check_output_hash_logging "wipe" "$DEVICE" "$TEST_LOG0" echo "Results ok" echo } init basic wipe cleanup dc3dd-7.1.614/tests/test-damaged-device-imaging.sh0000755000175000017500000001600411457124713021353 0ustar amedicoamedico#!/bin/bash source "helpers.sh" if [ "$1" == "" ] then echo "Usage: $0 bad_device" exit 1 fi DEVICE="$1" umount "$DEVICE" if [ -L "$DEVICE" ] then DEVICE=`readlink -f "$DEVICE"` fi #************************************************************************* # These tests depend on a particular device in the possession of the # dc3dd developers. The reference image for this device has the bad # sectors replaced by runs of zeros, consistent with dc3dd error recovery. #************************************************************************* REF_IMG="../../test_data/reference_images/ref-bad.img" REF_SECTORS=8015505 REF_SECTOR_SIZE=512 BAD_SECTORS_START=4292779 BAD_SECTORS_COUNT=21 DC3DD="../src/dc3dd" TEST_IMG="/tmp/test.img" TEST_LOG="/tmp/test.log" init() { echo "Setting up test fixtures..." # Make sure device is as expected, i.e, that there are # BAD_SECTORS_COUNT sectors starting at BAD_SECTORS_START. echo "Checking device..." END_SECTOR=`expr $BAD_SECTORS_START + $BAD_SECTORS_COUNT` for ((i=$BAD_SECTORS_START; i<=$BAD_SECTORS_COUNT; i+=1)) do "dd" if="$DEVICE" of="/dev/null" iflag=direct bs="$REF_SECTOR_SIZE" skip="$i" count=1 if [ $? -eq 0 ] then echo "Expected bad sector $i is good!" exit 1 fi done echo "Getting reference image size..." REF_IMG_BYTES=`stat -c %s "$REF_IMG"` echo "Getting reference image md5 hash..." REF_IMG_MD5_HASH=`md5sum "$REF_IMG" | cut -f 1 -d \ ` echo "Getting reference image sha1 hash..." REF_IMG_SHA1_HASH=`sha1sum "$REF_IMG" | cut -f 1 -d \ ` echo "Test fixture set up completed" } cleanup() { # Clean up files from any previous runs. rm "$TEST_IMG" "$TEST_LOG" "$TEST_IMG".* "$TEST_LOG".* if [ -e "$TEST_IMG" -o -e "$TEST_LOG" ] then echo "Failed to remove test output files" exit 1 fi } check_bad_sectors_logging() { #MSGCOUNT=`grep -c "at sector 2228777" "$TEST_LOG"` #if [ $MSGCOUNT -ne 1 ] #then # echo "$1: log is missing or has incorrect single error message" # exit 1 #fi MSGCOUNT=`grep -c "from sector 4292779 to sector 4292799" "$TEST_LOG"` if [ $MSGCOUNT -ne 1 ] then echo "$1: log is missing or has incorrect grouped errors message" exit 1 fi } basic() { echo "Testing imaging of a device with errors..." cleanup "$DC3DD" if="$DEVICE" of="$TEST_IMG" hash=md5 hash=sha1 log="$TEST_LOG" if [ $? -ne 0 ] then echo "basic: run Failed" exit 1 fi echo "Checking results..." check_output_file "basic" "$TEST_IMG" "$REF_IMG_BYTES" "$REF_IMG_MD5_HASH" "$REF_IMG_SHA1_HASH" check_input_with_errors_logging "basic" "$TEST_LOG" "$REF_SECTOR_SIZE" "(probed)" "$REF_IMG_BYTES" "$REF_SECTORS" "$BAD_SECTORS_COUNT" check_input_hash_logging "basic" "$TEST_LOG" "$REF_IMG_MD5_HASH" "$REF_IMG_SHA1_HASH" check_single_output_logging "basic" "$TEST_LOG" "$REF_SECTORS" check_bad_sectors_logging "basic" echo "Results ok" echo } split() { echo "Testing splitting output when imaging a device with errors..." cleanup "$DC3DD" if="$DEVICE" ofs="$TEST_IMG.000" ofsz=128M hash=md5 hash=sha1 log="$TEST_LOG" if [ $? -ne 0 ] then echo "split: run failed" exit 1 fi echo "Checking results..." check_split_output_file "split" "$TEST_IMG" "$REF_IMG_BYTES" "$REF_IMG_MD5_HASH" "$REF_IMG_SHA1_HASH" check_input_with_errors_logging "split" "$TEST_LOG" "$REF_SECTOR_SIZE" "(probed)" "$REF_IMG_BYTES" "$REF_SECTORS" "$BAD_SECTORS_COUNT" check_input_hash_logging "split" "$TEST_LOG" "$REF_IMG_MD5_HASH" "$REF_IMG_SHA1_HASH" check_single_output_logging "split" "$TEST_LOG" "$REF_SECTORS" check_bad_sectors_logging "split" echo "Results ok" echo } skip() { echo "Testing input skipping on a device with errors..." cleanup check_bad_sectors_run # Test skipping to the bad sectors on a device with errors, # using max input sectors to create only a partial image. # Start by creating reference image using dd. "dd" if="$DEVICE" of="$TEST_IMG" conv=noerror,sync iflag=direct bs="$REF_SECTOR_SIZE" skip=4292778 count=40 if [ $? -ne 0 ] then echo "skip: dd run failed" exit 1 fi SKIP_REF_BYTES=`stat -c %s "$TEST_IMG"` SKIP_REF_MD5_HASH=`md5sum "$TEST_IMG" | cut -f 1 -d \ ` SKIP_REF_SHA1_HASH=`sha1sum "$TEST_IMG" | cut -f 1 -d \ ` # Get partial image from bad drive, using buffer size equal to sector size. "$DC3DD" if="$DEVICE" of="$TEST_IMG" iskip=4292778 cnt=40 hash=md5 hash=sha1 bufsz="$REF_SECTOR_SIZE" log="$TEST_LOG" if [ $? -ne 0 ] then echo "skip:smallbuf: run failed" exit 1 fi echo "Checking results..." check_output_file "skip:smallbuf" "$TEST_IMG" "$SKIP_REF_BYTES" "$SKIP_REF_MD5_HASH" "$SKIP_REF_SHA1_HASH" check_input_with_errors_logging "skip:smallbuf" "$TEST_LOG" "$REF_SECTOR_SIZE" "(probed)" "$SKIP_REF_BYTES" "40" "$BAD_SECTORS_COUNT" check_input_hash_logging "skip:smallbuf" "$TEST_LOG" "$SKIP_REF_MD5_HASH" "$SKIP_REF_SHA1_HASH" check_single_output_logging "skip:smallbuf" "$TEST_LOG" "40" echo "Results ok" echo cleanup # Get partial image from bad drive, using default buffer size. "$DC3DD" if="$DEVICE" of="$TEST_IMG" iskip=4292778 cnt=40 hash=md5 hash=sha1 log="$TEST_LOG" if [ $? -ne 0 ] then echo "skip:bigbuf: run failed" exit 1 fi echo "Checking results..." check_output_file "skip:bigbuf" "$TEST_IMG" "$SKIP_REF_BYTES" "$SKIP_REF_MD5_HASH" "$SKIP_REF_SHA1_HASH" check_input_with_errors_logging "skip:bigbuf" "$TEST_LOG" "$REF_SECTOR_SIZE" "(probed)" "$SKIP_REF_BYTES" "40" "$BAD_SECTORS_COUNT" check_input_hash_logging "skip:bigbuf" "$TEST_LOG" "$SKIP_REF_MD5_HASH" "$SKIP_REF_SHA1_HASH" check_single_output_logging "skip:bigbuf" "$TEST_LOG" "40" echo "Results ok" echo cleanup # Test skipping into the bad sectors on a device with errors, # using max input sectors to create only a partial image. # Start by creating reference image using dd. "dd" if="$DEVICE" of="$TEST_IMG" conv=noerror,sync iflag=direct bs="$REF_SECTOR_SIZE" skip=4292781 count=40 if [ $? -ne 0 ] then echo "skip:skipbad dd run failed" exit 1 fi SKIP_REF_BYTES=`stat -c %s "$TEST_IMG"` SKIP_REF_MD5_HASH=`md5sum "$TEST_IMG" | cut -f 1 -d \ ` SKIP_REF_SHA1_HASH=`sha1sum "$TEST_IMG" | cut -f 1 -d \ ` "$DC3DD" if="$DEVICE" of="$TEST_IMG" iskip=4292781 cnt=40 hash=md5 hash=sha1 log="$TEST_LOG" if [ $? -ne 0 ] then echo "skip:skipbad: run failed" exit 1 fi echo "Checking results..." check_output_file "skip:skipbad" "$TEST_IMG" "$SKIP_REF_BYTES" "$SKIP_REF_MD5_HASH" "$SKIP_REF_SHA1_HASH" check_input_with_errors_logging "skip:skipbad" "$TEST_LOG" "$REF_SECTOR_SIZE" "(probed)" "$SKIP_REF_BYTES" "40" "`expr $BAD_SECTORS_COUNT - 2`" check_input_hash_logging "skip:skipbad" "$TEST_LOG" "$SKIP_REF_MD5_HASH" "$SKIP_REF_SHA1_HASH" check_single_output_logging "skip:skipbad" "$TEST_LOG" "40" echo "Results ok" echo } init basic split skip cleanup dc3dd-7.1.614/tests/tests-linux.sh0000755000175000017500000000045511336330642016444 0ustar amedicoamedico#!/bin/bash ./test-compile.sh linux \ && ./test-file-imaging.sh \ && ./test-hashing.sh \ && sudo ./test-device-imaging.sh /dev/disk/by-id/usb-0930_USB_Flash_Memory_04107C603292E97C-0\:0 \ && sudo ./test-damaged-device-imaging.sh /dev/disk/by-id/usb-SanDisk_U3_Cruzer_Micro_000015EBBA630BCF-0\:0 dc3dd-7.1.614/tests/test-helpers.sh0000644000175000017500000001445311323701322016555 0ustar amedicoamedico# *************************************** # Requires stat from coreutils # *************************************** #!/bin/bash # $1 error message tag # $2 file name # $3 expected file size # $4 expected md5 hash # $5 expected sha1 hash check_output_file() { SIZE=`stat -c %s "$2"` if [ "$SIZE" -ne "$3" ] then echo "$1: $2 size incorrect" exit 1 fi HASH=`md5sum "$2" | cut -f 1 -d \ ` if [ "$HASH" != "$4" ] then echo "$1: $2 md5 hash mismatch" exit 1 fi HASH=`sha1sum "$2" | cut -f 1 -d \ ` if [ "$HASH" != "$5" ] then echo "$1: $2 sha1 hash mismatch" exit 1 fi } # $1 error message tag # $2 base file name # $3 expected file size # $4 expected md5 hash # $5 expected sha1 hash check_split_output_file() { SIZE=0 for f in "$2".* do SPLIT_SIZE=`stat -c %s "$f"` SIZE=`expr $SIZE + $SPLIT_SIZE` done if [ "$SIZE" -ne "$3" ] then echo "$1: $2.000 size incorrect" exit 1 fi HASH=`cat "$2".* | md5sum | cut -f 1 -d \ ` if [ "$HASH" != "$4" ] then echo "$1: $2.000 md5 hash mismatch" exit 1 fi HASH=`cat "$2".* | sha1sum | cut -f 1 -d \ ` if [ "$HASH" != "$5" ] then echo "$1: $2.000 sha1 hash mismatch" exit 1 fi } # $1 error message tag # $2 log file name # $3 expected input sector size # $4 expected input sector size source # $5 expected input size in bytes # $6 expected input size in sectors check_input_logging() { # Check logged sector size message. LOG_SECTOR_SIZE=`grep sector\ size\: "$2" | awk '{print $3}'` if [ "$LOG_SECTOR_SIZE" != "$3" ] then echo "$1: wrong sector size" exit 1 fi LOG_SECTOR_MODE=`grep sector\ size\: "$2" | awk '{print $5}'` if [ "$LOG_SECTOR_MODE" != "$4" ] then echo "$1: wrong sector mode" exit 1 fi #Check logged final progress message. MSGCOUNT=`egrep -c bytes.+copied "$2"` if [ $MSGCOUNT -ne 1 ] then echo "$1: log is missing 'bytes copied' message" exit 1 fi LOG_BYTES=`grep \)\ copied\ \( "$2" | awk '{print $1}'` if [ "$LOG_BYTES" != "$5" ] then echo "$1: logged bytes copied wrong" exit 1 fi # Check logged sectors in message. LOG_SECTORS=`grep sectors\ in "$2" | awk '{print $1}'` if [ "$LOG_SECTORS" != "$6" ] then echo "$1: logged sectors in count wrong" exit 1 fi } # $1 error message tag # $2 log file name # $3 expected input sector size # $4 expected input sector size source # $5 expected input size in bytes # $6 expected input size in sectors # $7 expected input bad sectors count check_input_with_errors_logging() { check_input_logging "$1" "$2" "$3" "$4" "$5" "$6" LOG_BAD_SECTORS=`grep bad\ sectors "$2" | awk '{print $1}'` if [ "$LOG_BAD_SECTORS" != "$7" ] then echo "$1: logged bad sectors count must be $7" exit 1 fi } # $1 error message tag # $2 log file name # $3 expected md5 hash # $4 expected sha1 hash check_input_hash_logging() { LOG_HASH=`grep -m 1 \(md5\) "$2" | cut -f 4 -d \ ` if [ "$3" != "$LOG_HASH" ] then echo "$1: logged input md5 hash mismatch" exit 1 fi LOG_HASH=`grep -m 1 \(sha1\) "$2" | cut -f 4 -d \ ` if [ "$4" != "$LOG_HASH" ] then echo "$1: logged input sha1 hash mismatch" exit 1 fi } # $1 error message tag # $2 log file name # $3 expected output file size in sectors check_single_output_logging() { # Check logged sectors out message. LOG_SECTORS=`grep sectors\ out "$2" | awk '{print $1}'` if [ "$LOG_SECTORS" != "$3" ] then echo "$1: logged sectors out count wrong" exit 1 fi } # $1 error message tag # $2 log file name # $3 expected output file size in sectors # $4 number of outputs check_multiple_output_logging() { # Check for logging of correct number of outputs LOG_OUTPUTS_COUNT=`grep -c sectors\ out "$LOG"` if [ "$LOG_OUTPUTS_COUNT" -ne "$4" ] then echo "$1: count of logged outputs is incorrect" exit 1 fi LINE_COUNT=5 COUNT=0 OUTPUT="$4" while [ "$COUNT" != "$4" ] do LOG_SECTORS=`tail -n"$LINE_COUNT" "$LOG" | grep -m1 sectors\ out | awk '{print $1}'` if [ "$LOG_SECTORS" -ne "$REF_FILE_SECTORS" ] then echo "$1: logged sectors out count wrong for output $OUTPUT" exit 1 fi COUNT=`expr $COUNT + 1` LINE_COUNT=`expr $COUNT + 3` OUTPUT=`expr $OUTPUT - 1` done } # $1 error messsage tag # $2 output file name # $3 log file name check_output_hash_logging() { HASH=`md5sum "$2" | cut -f1 -d \ ` LOG_HASH=`grep "\[ok\][ ,0-9,a-z]*(md5)" "$3" | cut -f5 -d \ ` if [ "$HASH" != "$LOG_HASH" ] then echo "$1: logged output md5 hash mismatch" exit 1 fi HASH=`sha1sum "$2" | cut -f1 -d \ ` LOG_HASH=`grep "\[ok\][ ,0-9,a-z]*(sha1)" "$3" | cut -f5 -d \ ` if [ "$HASH" != "$LOG_HASH" ] then echo "$1: logged output sha1 hash mismatch" exit 1 fi MSG_COUNT=`grep -c "output hashing" "$3"` if [ "$MSG_COUNT" -ne "1" ] then echo "verify_output: missing final output hashing progress message" exit 1 fi } # $1 error messsage tag # $2 output file name # $3 log file name check_interrupted_run() { # Compare output file hashes to logged input hashes. OUTPUT_FILE_MD5_HASH=`md5sum "$2" | cut -f 1 -d \ ` OUTPUT_FILE_SHA1_HASH=`sha1sum "$2" | cut -f 1 -d \ ` check_input_hash_logging "interrupt" "$3" "$OUTPUT_FILE_MD5_HASH" "$OUTPUT_FILE_SHA1_HASH" # Compare input and output sectors messages. LOG_SECTORS_IN=`grep sectors\ in "$3" | awk '{print $1}'` LOG_SECTORS_OUT=`grep sectors\ out "$3" | awk '{print $1}'` if [ "$LOG_SECTORS_IN" != "$LOG_SECTORS_OUT" ] then echo "interrupt: logged sectors in and out don't match" exit 1 fi # Compare output file size to final progress message. OUTPUT_FILE_BYTES=`stat -c %s "$2"` LOG_BYTES=`grep \)\ copied\ \( "$3" | awk '{print $1}'` if [ "$LOG_BYTES" != "$OUTPUT_FILE_BYTES" ] then echo "interrupt: logged bytes copied doesn't match output file size" exit 1 fi # Check verb in final progress message. LOG_VERB=`egrep "dc3dd.+?at" "$3" | tail -1 | awk '{print $2}'` if [ "$LOG_VERB" != "aborted" ] then echo "interrupt: exit message verb should be 'aborted'" exit 1 fi } dc3dd-7.1.614/.x-sc_prohibit_atoi_atof0000644000175000017500000000030511023311746017233 0ustar amedicoamedico^configure$ ChangeLog ^TODO$ ^lib/mktime\.c$ ^lib/getloadavg\.c$ ^lib/euidaccess\.c$ ^lib/euidaccess-stat\.c$ ^lib/group-member\.c$ ^Makefile\.maint$ ^doc/coreutils.texi$ ^tests/misc/stty-invalid$ dc3dd-7.1.614/man/0000755000175000017500000000000011613550424013213 5ustar amedicoamedicodc3dd-7.1.614/man/dc3dd.x0000644000175000017500000000013611066754652014400 0ustar amedicoamedico[NAME] dc3dd \- convert and copy a file [DESCRIPTION] .\" Add any additional description here dc3dd-7.1.614/man/Makefile.in0000644000175000017500000010265611115525021015262 0ustar amedicoamedico# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Make coreutils man pages. -*-Makefile-*- # Copyright (C) 2002-2007 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = man DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argmatch.m4 $(top_srcdir)/m4/arpa_inet_h.m4 \ $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/atexit.m4 \ $(top_srcdir)/m4/autobuild.m4 $(top_srcdir)/m4/base64.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \ $(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/check-decl.m4 \ $(top_srcdir)/m4/chown.m4 $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/cloexec.m4 $(top_srcdir)/m4/close-stream.m4 \ $(top_srcdir)/m4/closein.m4 $(top_srcdir)/m4/closeout.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ $(top_srcdir)/m4/cycle-check.m4 $(top_srcdir)/m4/d-ino.m4 \ $(top_srcdir)/m4/d-type.m4 $(top_srcdir)/m4/dirfd.m4 \ $(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/eoverflow.m4 $(top_srcdir)/m4/error.m4 \ $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fchdir.m4 \ $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fd-reopen.m4 $(top_srcdir)/m4/fflush.m4 \ $(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \ $(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/fprintftime.m4 \ $(top_srcdir)/m4/fpurge.m4 $(top_srcdir)/m4/freading.m4 \ $(top_srcdir)/m4/frexp.m4 $(top_srcdir)/m4/frexpl.m4 \ $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstypename.m4 \ $(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftello.m4 \ $(top_srcdir)/m4/ftruncate.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \ $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/gethostname.m4 \ $(top_srcdir)/m4/gethrxtime.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getloadavg.m4 $(top_srcdir)/m4/getndelim2.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ $(top_srcdir)/m4/getpass.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \ $(top_srcdir)/m4/hdparm.m4 $(top_srcdir)/m4/host-os.m4 \ $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/idcache.m4 \ $(top_srcdir)/m4/include-exclude-prog.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/isapipe.m4 $(top_srcdir)/m4/isnand.m4 \ $(top_srcdir)/m4/isnanf.m4 $(top_srcdir)/m4/isnanl.m4 \ $(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \ $(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchmod.m4 \ $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/ldexpl.m4 \ $(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/link-follow.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \ $(top_srcdir)/m4/long-options.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/math_h.m4 \ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \ $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsstr.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \ $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \ $(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \ $(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \ $(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \ $(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/mountlist.m4 \ $(top_srcdir)/m4/mpsort.m4 $(top_srcdir)/m4/nanosleep.m4 \ $(top_srcdir)/m4/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/openat.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix-shell.m4 \ $(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \ $(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/printf-frexp.m4 \ $(top_srcdir)/m4/printf-frexpl.m4 $(top_srcdir)/m4/printf.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readtokens.m4 \ $(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \ $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename-dest-slash.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/rmdir-errno.m4 \ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/root-dev-ino.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \ $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ $(top_srcdir)/m4/savewd.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/settime.m4 $(top_srcdir)/m4/sha1.m4 \ $(top_srcdir)/m4/sha256.m4 $(top_srcdir)/m4/sha512.m4 \ $(top_srcdir)/m4/sig2str.m4 $(top_srcdir)/m4/signbit.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socklen.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/st_dm_mode.m4 \ $(top_srcdir)/m4/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \ $(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/stpncpy.m4 \ $(top_srcdir)/m4/strcspn.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \ $(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ $(top_srcdir)/m4/strverscmp.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \ $(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink-busy.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ $(top_srcdir)/m4/uptime.m4 $(top_srcdir)/m4/userspec.m4 \ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \ $(top_srcdir)/m4/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \ $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \ $(top_srcdir)/m4/vasnprintf.m4 \ $(top_srcdir)/m4/vasprintf-posix.m4 \ $(top_srcdir)/m4/vasprintf.m4 \ $(top_srcdir)/m4/vfprintf-posix.m4 \ $(top_srcdir)/m4/vprintf-posix.m4 $(top_srcdir)/m4/wchar.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/write-any-file.m4 $(top_srcdir)/m4/xalloc.m4 \ $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xnanosleep.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" NROFF = nroff MANS = $(dist_man_MANS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ARPA_INET_H = @ARPA_INET_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DIRENT_H = @DIRENT_H@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ FCNTL_H = @FCNTL_H@ FLOAT_H = @FLOAT_H@ FNMATCH_H = @FNMATCH_H@ GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CEILF = @GNULIB_CEILF@ GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FLOORF = @GNULIB_FLOORF@ GNULIB_FLOORL = @GNULIB_FLOORL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FREXP = @GNULIB_FREXP@ GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_ISFINITE = @GNULIB_ISFINITE@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MATHL = @GNULIB_MATHL@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_ROUND = @GNULIB_ROUND@ GNULIB_ROUNDF = @GNULIB_ROUNDF@ GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_TRUNC = @GNULIB_TRUNC@ GNULIB_TRUNCF = @GNULIB_TRUNCF@ GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GREP = @GREP@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ HAVE_DECL_COSL = @HAVE_DECL_COSL@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_TANL = @HAVE_DECL_TANL@ HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HELP2MAN = @HELP2MAN@ ICONV_H = @ICONV_H@ INCLUDE_NEXT = @INCLUDE_NEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_SU = @INSTALL_SU@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTTYPES_H = @INTTYPES_H@ KMEM_GROUP = @KMEM_GROUP@ LDFLAGS = @LDFLAGS@ LIBCOREUTILS_LIBDEPS = @LIBCOREUTILS_LIBDEPS@ LIBCOREUTILS_LTLIBDEPS = @LIBCOREUTILS_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_CRYPT = @LIB_CRYPT@ LIB_FDATASYNC = @LIB_FDATASYNC@ LIB_GETHRXTIME = @LIB_GETHRXTIME@ LIB_NANOSLEEP = @LIB_NANOSLEEP@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAN = @MAN@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEED_SETGID = @NEED_SETGID@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NO_INSTALL_PROGS_DEFAULT = @NO_INSTALL_PROGS_DEFAULT@ OBJEXT = @OBJEXT@ OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSIX_SHELL = @POSIX_SHELL@ POSUB = @POSUB@ POW_LIB = @POW_LIB@ PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CEILF = @REPLACE_CEILF@ REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FLOORF = @REPLACE_FLOORF@ REPLACE_FLOORL = @REPLACE_FLOORL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FREXP = @REPLACE_FREXP@ REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ REPLACE_ISFINITE = @REPLACE_ISFINITE@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_ROUND = @REPLACE_ROUND@ REPLACE_ROUNDF = @REPLACE_ROUNDF@ REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ SEQ_LIBM = @SEQ_LIBM@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ SYS_TIME_H = @SYS_TIME_H@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ U = @U@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ USE_HDPARM = @USE_HDPARM@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WCTYPE_H = @WCTYPE_H@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ dist_man_MANS = dc3dd.1 man_aux = $(dist_man_MANS:.1=.x) EXTRA_DIST = $(man_aux) $(NO_INSTALL_PROGS_DEFAULT:%=%.x) help2man MAINTAINERCLEANFILES = $(dist_man_MANS) # Depend on configure.ac to get version number changes. common_dep = $(top_srcdir)/configure.ac SUFFIXES = .x .1 # Ensure that help2man runs the ../src/ginstall binary as # `install' when creating install.1. # Similarly, ensure that it uses the ../src/[ binary to create test.1. t = $*.td mapped_name = `echo $*|sed 's/^install$$/ginstall/; s/^test$$/[/'` # Sort in traditional ASCII order, regardless of the current locale; # otherwise we may get into trouble with distinct strings that the # current locale considers to be equal. ASSORT = LC_ALL=C sort all_programs = \ (cd ../src && MAKEFLAGS= $(MAKE) -s all_programs.list) \ | grep -v '\[' all: all-am .SUFFIXES: .SUFFIXES: .x .1 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu man/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-man1: $(man1_MANS) $(man_MANS) @$(NORMAL_INSTALL) test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ case "$$i" in \ *.1*) list="$$list $$i" ;; \ esac; \ done; \ for i in $$list; do \ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ *) ext='1' ;; \ esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ done uninstall-man1: @$(NORMAL_UNINSTALL) @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ case "$$i" in \ *.1*) list="$$list $$i" ;; \ esac; \ done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ *) ext='1' ;; \ esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ done tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-local check: check-am all-am: Makefile $(MANS) installdirs: for dir in "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-man install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-man1 install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: all all-am check check-am check-local clean clean-generic \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-man1 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ uninstall-am uninstall-man uninstall-man1 # Note that arch depends on uname.c dc3dd.1: $(common_dep) $(srcdir)/dc3dd.x ../src/dc3dd.c # Note the use of $t/$*, rather than just `$*' as in other packages. # That is necessary to avoid failures for programs that are also shell built-in # functions like echo, false, printf, pwd. .x.1: @case '$(PERL)' in \ *"/missing "*) \ echo 'WARNING: cannot update man page $@ since perl is missing' \ 'or inadequate' 1>&2 \ ;; \ *) \ rm -f $@ \ && { echo "Updating man page $@"; \ rm -rf $t; \ mkdir $t; \ (cd $t && $(LN_S) ../../src/$(mapped_name) $*); \ $(PERL) -- $(srcdir)/help2man \ --source='$(PACKAGE_STRING)' \ --include=$(srcdir)/$*.x \ --output=$t/$@ $t/$*; \ } \ && sed 's|$*\.td/||g' $t/$@ > $@ \ && chmod a-w $@ \ && rm -rf $t ;; \ esac check-local: check-x-vs-1 check-programs-vs-x # Ensure that for each .x file in this directory, there is a # corresponding .1 file in the definition of $(dist_man_MANS) above. # But since that expansion usually lacks programs like su and arch, # add them here manually. .PHONY: check-x-vs-1 check-x-vs-1: PATH=../src$(PATH_SEPARATOR)$$PATH; export PATH; \ t=ls-files.$$$$; \ (cd $(srcdir) && ls -1 *.x) | sed 's/\.x$$//' | $(ASSORT) > $$t;\ (echo $(dist_man_MANS) $(NO_INSTALL_PROGS_DEFAULT) \ | tr -s ' ' '\n' | sed 's/\.1$$//') \ | $(ASSORT) -u | diff - $$t || { rm $$t; exit 1; }; \ rm $$t .PHONY: check-programs-vs-x check-programs-vs-x: status=0; \ for p in dummy `$(all_programs)`; do \ test $$p = dummy && continue; \ test $$p = ginstall && p=install || : ; \ test -f $(srcdir)/$$p.x \ || { echo missing $$p.x 1>&2; status=1; }; \ done; \ exit $$status # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: dc3dd-7.1.614/man/help2man0000755000175000017500000003427411022023316014646 0ustar amedicoamedico#!/usr/bin/perl -w # Generate a short man page from --help and --version output. # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Brendan O'Dea # Available from ftp://ftp.gnu.org/gnu/help2man/ use 5.005; use strict; use Getopt::Long; use Text::Tabs qw(expand); use POSIX qw(strftime setlocale LC_ALL); use locale; my $this_program = 'help2man'; my $this_version = '1.35'; my $have_gettext; BEGIN { eval { require Locale::gettext; Locale::gettext->import; $have_gettext = 1; }; unless ($have_gettext) { *gettext = sub { $_[0] }; *textdomain = sub {}; } } sub _ { gettext @_ } sub N_ { $_[0] } textdomain $this_program; { my ($user_locale) = grep defined && length, (map $ENV{$_}, qw(LANGUAGE LC_ALL LC_MESSAGES LANG)), 'C'; sub kark # die with message formatted in the invoking user's locale { setlocale LC_ALL, $user_locale; my $fmt = gettext shift; die +(sprintf $fmt, @_), "\n"; } } my $version_info = sprintf _(<<'EOT'), $this_program, $this_version; GNU %s %s Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Brendan O'Dea EOT my $help_info = sprintf _(<<'EOT'), $this_program, $this_program; `%s' generates a man page out of `--help' and `--version' output. Usage: %s [OPTION]... EXECUTABLE -n, --name=STRING description for the NAME paragraph -s, --section=SECTION section number for manual page (1, 6, 8) -m, --manual=TEXT name of manual (User Commands, ...) -S, --source=TEXT source of program (FSF, Debian, ...) -L, --locale=STRING select locale (default "C") -i, --include=FILE include material from `FILE' -I, --opt-include=FILE include material from `FILE' if it exists -o, --output=FILE send output to `FILE' -p, --info-page=TEXT name of Texinfo manual -N, --no-info suppress pointer to Texinfo manual --help print this help, then exit --version print version number, then exit EXECUTABLE should accept `--help' and `--version' options although alternatives may be specified using: -h, --help-option=STRING help option string -v, --version-option=STRING version option string Report bugs to . EOT my $section = 1; my $manual = ''; my $source = ''; my $locale = 'C'; my $help_option = '--help'; my $version_option = '--version'; my ($opt_name, @opt_include, $opt_output, $opt_info, $opt_no_info); my %opt_def = ( 'n|name=s' => \$opt_name, 's|section=s' => \$section, 'm|manual=s' => \$manual, 'S|source=s' => \$source, 'L|locale=s' => \$locale, 'i|include=s' => sub { push @opt_include, [ pop, 1 ] }, 'I|opt-include=s' => sub { push @opt_include, [ pop, 0 ] }, 'o|output=s' => \$opt_output, 'p|info-page=s' => \$opt_info, 'N|no-info' => \$opt_no_info, 'h|help-option=s' => \$help_option, 'v|version-option=s' => \$version_option, ); # Parse options. Getopt::Long::config('bundling'); GetOptions (%opt_def, help => sub { print $help_info; exit }, version => sub { print $version_info; exit }, ) or die $help_info; die $help_info unless @ARGV == 1; die "$this_program: no locale support (Locale::gettext required)\n" unless $locale eq 'C' or $have_gettext; # Set localisation of date and executable's ouput. delete @ENV{qw(LANGUAGE LC_MESSAGES LANG)}; setlocale LC_ALL, $ENV{LC_ALL} = $locale; my %include = (); my %append = (); my @include = (); # retain order given in include file # Process include file (if given). Format is: # # [section name] # verbatim text # # or # # /pattern/ # verbatim text # while (@opt_include) { my ($inc, $required) = @{shift @opt_include}; next unless -f $inc or $required; kark N_("%s: can't open `%s' (%s)"), $this_program, $inc, $! unless open INC, $inc; my $key; my $hash = \%include; while () { # [section] if (/^\[([^]]+)\]/) { $key = uc $1; $key =~ s/^\s+//; $key =~ s/\s+$//; $hash = \%include; push @include, $key unless $include{$key}; next; } # /pattern/ if (m!^/(.*)/([ims]*)!) { my $pat = $2 ? "(?$2)$1" : $1; # Check pattern. eval { $key = qr($pat) }; if ($@) { $@ =~ s/ at .*? line \d.*//; die "$inc:$.:$@"; } $hash = \%append; next; } # Check for options before the first section--anything else is # silently ignored, allowing the first for comments and # revision info. unless ($key) { # handle options if (/^-/) { local @ARGV = split; GetOptions %opt_def; } next; } $hash->{$key} ||= ''; $hash->{$key} .= $_; } close INC; kark N_("%s: no valid information found in `%s'"), $this_program, $inc unless $key; } # Compress trailing blank lines. for my $hash (\(%include, %append)) { for (keys %$hash) { $hash->{$_} =~ s/\n+$/\n/ } } # Grab help and version info from executable. my ($help_text, $version_text) = map { join '', map { s/ +$//; expand $_ } `$ARGV[0] $_ 2>/dev/null` or kark N_("%s: can't get `%s' info from %s"), $this_program, $_, $ARGV[0] } $help_option, $version_option; my $date = strftime "%B %Y", localtime; (my $program = $ARGV[0]) =~ s!.*/!!; my $package = $program; my $version; if ($opt_output) { unlink $opt_output or kark N_("%s: can't unlink %s (%s)"), $this_program, $opt_output, $! if -e $opt_output; open STDOUT, ">$opt_output" or kark N_("%s: can't create %s (%s)"), $this_program, $opt_output, $!; } # The first line of the --version information is assumed to be in one # of the following formats: # # # # {GNU,Free} # ({GNU,Free} ) # - {GNU,Free} # # and seperated from any copyright/author details by a blank line. ($_, $version_text) = split /\n+/, $version_text, 2; if (/^(\S+) +\(((?:GNU|Free) +[^)]+)\) +(.*)/ or /^(\S+) +- *((?:GNU|Free) +\S+) +(.*)/) { $program = $1; $package = $2; $version = $3; } elsif (/^((?:GNU|Free) +)?(\S+) +(.*)/) { $program = $2; $package = $1 ? "$1$2" : $2; $version = $3; } else { $version = $_; } $program =~ s!.*/!!; # No info for `info' itself. $opt_no_info = 1 if $program eq 'info'; for ($include{_('NAME')}) { if ($opt_name) # --name overrides --include contents. { $_ = "$program \\- $opt_name\n"; } elsif ($_) # Use first name given as $program { $program = $1 if /^([^\s,]+)(?:,?\s*[^\s,\\-]+)*\s+\\?-/; } else # Set a default (useless) NAME paragraph. { $_ = sprintf _("%s \\- manual page for %s %s") . "\n", $program, $program, $version; } } # Man pages traditionally have the page title in caps. my $PROGRAM = uc $program; # Set default page head/footers $source ||= "$program $version"; unless ($manual) { for ($section) { if (/^(1[Mm]|8)/) { $manual = _('System Administration Utilities') } elsif (/^6/) { $manual = _('Games') } else { $manual = _('User Commands') } } } # Extract usage clause(s) [if any] for SYNOPSIS. my $PAT_USAGE = _('Usage'); my $PAT_USAGE_CONT = _('or'); if ($help_text =~ s/^($PAT_USAGE):( +(\S+))(.*)((?:\n(?: {6}\1| *($PAT_USAGE_CONT): +\S).*)*)//om) { my @syn = $3 . $4; if ($_ = $5) { s/^\n//; for (split /\n/) { s/^ *(($PAT_USAGE_CONT): +)?//o; push @syn, $_ } } my $synopsis = ''; for (@syn) { $synopsis .= ".br\n" if $synopsis; s!^\S*/!!; s/^(\S+) *//; $synopsis .= ".B $1\n"; s/\s+$//; s/(([][]|\.\.+)+)/\\fR$1\\fI/g; s/^/\\fI/ unless s/^\\fR//; $_ .= '\fR'; s/(\\fI)( *)/$2$1/g; s/\\fI\\fR//g; s/^\\fR//; s/\\fI$//; s/^\./\\&./; $synopsis .= "$_\n"; } $include{_('SYNOPSIS')} ||= $synopsis; } # Process text, initial section is DESCRIPTION. my $sect = _('DESCRIPTION'); $_ = "$help_text\n\n$version_text"; # Normalise paragraph breaks. s/^\n+//; s/\n*$/\n/; s/\n\n+/\n\n/g; # Join hyphenated lines. s/([A-Za-z])-\n *([A-Za-z])/$1$2/g; # Temporarily exchange leading dots, apostrophes and backslashes for # tokens. s/^\./\x80/mg; s/^'/\x81/mg; s/\\/\x82/g; my $PAT_BUGS = _('Report +bugs|Email +bug +reports +to'); my $PAT_AUTHOR = _('Written +by'); my $PAT_OPTIONS = _('Options'); my $PAT_EXAMPLES = _('Examples'); my $PAT_FREE_SOFTWARE = _('This +is +free +software'); # Start a new paragraph (if required) for these. s/([^\n])\n($PAT_BUGS|$PAT_AUTHOR)/$1\n\n$2/og; sub convert_option; while (length) { # Convert some standard paragraph names. if (s/^($PAT_OPTIONS): *\n//o) { $sect = _('OPTIONS'); next; } elsif (s/^($PAT_EXAMPLES): *\n//o) { $sect = _('EXAMPLES'); next; } # Copyright section if (/^Copyright +[(\xa9]/) { $sect = _('COPYRIGHT'); $include{$sect} ||= ''; $include{$sect} .= ".PP\n" if $include{$sect}; my $copy; ($copy, $_) = split /\n\n/, $_, 2; for ($copy) { # Add back newline s/\n*$/\n/; # Convert iso9959-1 copyright symbol or (c) to nroff # character. s/^Copyright +(?:\xa9|\([Cc]\))/Copyright \\(co/mg; # Insert line breaks before additional copyright messages # and the disclaimer. s/(.)\n(Copyright |$PAT_FREE_SOFTWARE)/$1\n.br\n$2/og; } $include{$sect} .= $copy; $_ ||= ''; next; } # Catch bug report text. if (/^($PAT_BUGS) /o) { $sect = _('REPORTING BUGS'); } # Author section. elsif (/^($PAT_AUTHOR)/o) { $sect = _('AUTHOR'); } # Examples, indicated by an indented leading $, % or > are # rendered in a constant width font. if (/^( +)([\$\%>] )\S/) { my $indent = $1; my $prefix = $2; my $break = '.IP'; $include{$sect} ||= ''; while (s/^$indent\Q$prefix\E(\S.*)\n*//) { $include{$sect} .= "$break\n\\f(CW$prefix$1\\fR\n"; $break = '.br'; } next; } my $matched = ''; $include{$sect} ||= ''; # Sub-sections have a trailing colon and the second line indented. if (s/^(\S.*:) *\n / /) { $matched .= $& if %append; $include{$sect} .= qq(.SS "$1"\n); } my $indent = 0; my $content = ''; # Option with description. if (s/^( {1,10}([+-]\S.*?))(?:( +(?!-))|\n( {20,}))(\S.*)\n//) { $matched .= $& if %append; $indent = length ($4 || "$1$3"); $content = ".TP\n\x84$2\n\x84$5\n"; unless ($4) { # Indent may be different on second line. $indent = length $& if /^ {20,}/; } } # Option without description. elsif (s/^ {1,10}([+-]\S.*)\n//) { $matched .= $& if %append; $content = ".HP\n\x84$1\n"; $indent = 80; # not continued } # Indented paragraph with tag. elsif (s/^( +(\S.*?) +)(\S.*)\n//) { $matched .= $& if %append; $indent = length $1; $content = ".TP\n\x84$2\n\x84$3\n"; } # Indented paragraph. elsif (s/^( +)(\S.*)\n//) { $matched .= $& if %append; $indent = length $1; $content = ".IP\n\x84$2\n"; } # Left justified paragraph. else { s/(.*)\n//; $matched .= $& if %append; $content = ".PP\n" if $include{$sect}; $content .= "$1\n"; } # Append continuations. while ($indent ? s/^ {$indent}(\S.*)\n// : s/^(\S.*)\n//) { $matched .= $& if %append; $content .= "\x84$1\n" } # Move to next paragraph. s/^\n+//; for ($content) { # Leading dot and apostrophe protection. s/\x84\./\x80/g; s/\x84'/\x81/g; s/\x84//g; # Convert options. s/(^| |\()(-[][\w=-]+)/$1 . convert_option $2/mge; # Escape remaining hyphens s/-/\x83/g; } # Check if matched paragraph contains /pat/. if (%append) { for my $pat (keys %append) { if ($matched =~ $pat) { $content .= ".PP\n" unless $append{$pat} =~ /^\./; $content .= $append{$pat}; } } } $include{$sect} .= $content; } # Refer to the real documentation. unless ($opt_no_info) { my $info_page = $opt_info || $program; $sect = _('SEE ALSO'); $include{$sect} ||= ''; $include{$sect} .= ".PP\n" if $include{$sect}; $include{$sect} .= sprintf _(<<'EOT'), $program, $program, $info_page; The full documentation for .B %s is maintained as a Texinfo manual. If the .B info and .B %s programs are properly installed at your site, the command .IP .B info %s .PP should give you access to the complete manual. EOT } # Output header. print <. dist_man_MANS = dc3dd.1 man_aux = $(dist_man_MANS:.1=.x) EXTRA_DIST = $(man_aux) $(NO_INSTALL_PROGS_DEFAULT:%=%.x) help2man MAINTAINERCLEANFILES = $(dist_man_MANS) # Depend on configure.ac to get version number changes. common_dep = $(top_srcdir)/configure.ac # Note that arch depends on uname.c dc3dd.1: $(common_dep) $(srcdir)/dc3dd.x ../src/dc3dd.c SUFFIXES = .x .1 # Ensure that help2man runs the ../src/ginstall binary as # `install' when creating install.1. # Similarly, ensure that it uses the ../src/[ binary to create test.1. t = $*.td mapped_name = `echo $*|sed 's/^install$$/ginstall/; s/^test$$/[/'` # Note the use of $t/$*, rather than just `$*' as in other packages. # That is necessary to avoid failures for programs that are also shell built-in # functions like echo, false, printf, pwd. .x.1: @case '$(PERL)' in \ *"/missing "*) \ echo 'WARNING: cannot update man page $@ since perl is missing' \ 'or inadequate' 1>&2 \ ;; \ *) \ rm -f $@ \ && { echo "Updating man page $@"; \ rm -rf $t; \ mkdir $t; \ (cd $t && $(LN_S) ../../src/$(mapped_name) $*); \ $(PERL) -- $(srcdir)/help2man \ --source='$(PACKAGE_STRING)' \ --include=$(srcdir)/$*.x \ --output=$t/$@ $t/$*; \ } \ && sed 's|$*\.td/||g' $t/$@ > $@ \ && chmod a-w $@ \ && rm -rf $t ;; \ esac check-local: check-x-vs-1 check-programs-vs-x # Sort in traditional ASCII order, regardless of the current locale; # otherwise we may get into trouble with distinct strings that the # current locale considers to be equal. ASSORT = LC_ALL=C sort # Ensure that for each .x file in this directory, there is a # corresponding .1 file in the definition of $(dist_man_MANS) above. # But since that expansion usually lacks programs like su and arch, # add them here manually. .PHONY: check-x-vs-1 check-x-vs-1: PATH=../src$(PATH_SEPARATOR)$$PATH; export PATH; \ t=ls-files.$$$$; \ (cd $(srcdir) && ls -1 *.x) | sed 's/\.x$$//' | $(ASSORT) > $$t;\ (echo $(dist_man_MANS) $(NO_INSTALL_PROGS_DEFAULT) \ | tr -s ' ' '\n' | sed 's/\.1$$//') \ | $(ASSORT) -u | diff - $$t || { rm $$t; exit 1; }; \ rm $$t all_programs = \ (cd ../src && MAKEFLAGS= $(MAKE) -s all_programs.list) \ | grep -v '\[' .PHONY: check-programs-vs-x check-programs-vs-x: status=0; \ for p in dummy `$(all_programs)`; do \ test $$p = dummy && continue; \ test $$p = ginstall && p=install || : ; \ test -f $(srcdir)/$$p.x \ || { echo missing $$p.x 1>&2; status=1; }; \ done; \ exit $$status dc3dd-7.1.614/man/dc3dd.10000644000175000017500000000161311613312314014251 0ustar amedicoamedico.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.35. .TH DC3DD "1" "November 2010" "dc3dd 7.1.CREV" "User Commands" .SH NAME dc3dd \- convert and copy a file .SH DESCRIPTION .\" Add any additional description here .SH AUTHOR Written by Paul Rubin, David MacKenzie, Stuart Kemp, Jesse Kornblum, Andrew Medico, and Richard Cordovano. .SH "REPORTING BUGS" Report bugs to . .SH COPYRIGHT Copyright \(co 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH "SEE ALSO" The full documentation for .B dc3dd is maintained as a Texinfo manual. If the .B info and .B dc3dd programs are properly installed at your site, the command .IP .B info dc3dd .PP should give you access to the complete manual. dc3dd-7.1.614/COPYING0000644000175000017500000010451311023311746013474 0ustar amedicoamedico GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. 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 them 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 prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. 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. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey 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; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If 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 convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU 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 that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. 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. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. 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 state 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 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program 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, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU 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 Lesser General Public License instead of this License. But first, please read . dc3dd-7.1.614/aclocal.m40000644000175000017500000012217311115525021014276 0ustar amedicoamedico# generated automatically by aclocal 1.10.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(AC_AUTOCONF_VERSION, [2.61],, [m4_warning([this file was generated for autoconf 2.61. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 13 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 AC_DEFUN([AM_C_PROTOTYPES], [AC_REQUIRE([AC_C_PROTOTYPES]) if test "$ac_cv_prog_cc_stdc" != no; then U= ANSI2KNR= else U=_ ANSI2KNR=./ansi2knr fi # Ensure some checks needed by ansi2knr itself. AC_REQUIRE([AC_HEADER_STDC]) AC_CHECK_HEADERS([string.h]) AC_SUBST([U])dnl AC_SUBST([ANSI2KNR])dnl _AM_SUBST_NOTMAKE([ANSI2KNR])dnl ]) AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/alloca.m4]) m4_include([m4/argmatch.m4]) m4_include([m4/arpa_inet_h.m4]) m4_include([m4/assert.m4]) m4_include([m4/atexit.m4]) m4_include([m4/autobuild.m4]) m4_include([m4/base64.m4]) m4_include([m4/bison.m4]) m4_include([m4/boottime.m4]) m4_include([m4/c-strtod.m4]) m4_include([m4/calloc.m4]) m4_include([m4/canonicalize.m4]) m4_include([m4/chdir-long.m4]) m4_include([m4/check-decl.m4]) m4_include([m4/chown.m4]) m4_include([m4/clock_time.m4]) m4_include([m4/cloexec.m4]) m4_include([m4/close-stream.m4]) m4_include([m4/closein.m4]) m4_include([m4/closeout.m4]) m4_include([m4/codeset.m4]) m4_include([m4/config-h.m4]) m4_include([m4/cycle-check.m4]) m4_include([m4/d-ino.m4]) m4_include([m4/d-type.m4]) m4_include([m4/dirfd.m4]) m4_include([m4/dirname.m4]) m4_include([m4/dos.m4]) m4_include([m4/double-slash-root.m4]) m4_include([m4/dup2.m4]) m4_include([m4/eealloc.m4]) m4_include([m4/environ.m4]) m4_include([m4/eoverflow.m4]) m4_include([m4/error.m4]) m4_include([m4/exclude.m4]) m4_include([m4/exitfail.m4]) m4_include([m4/extensions.m4]) m4_include([m4/fchdir.m4]) m4_include([m4/fcntl-safer.m4]) m4_include([m4/fcntl_h.m4]) m4_include([m4/fd-reopen.m4]) m4_include([m4/fflush.m4]) m4_include([m4/file-type.m4]) m4_include([m4/fileblocks.m4]) m4_include([m4/filemode.m4]) m4_include([m4/filenamecat.m4]) m4_include([m4/flexmember.m4]) m4_include([m4/float_h.m4]) m4_include([m4/fnmatch.m4]) m4_include([m4/fpending.m4]) m4_include([m4/fpieee.m4]) m4_include([m4/fprintftime.m4]) m4_include([m4/fpurge.m4]) m4_include([m4/freading.m4]) m4_include([m4/frexp.m4]) m4_include([m4/frexpl.m4]) m4_include([m4/fseeko.m4]) m4_include([m4/fstypename.m4]) m4_include([m4/fsusage.m4]) m4_include([m4/ftello.m4]) m4_include([m4/ftruncate.m4]) m4_include([m4/getcwd-abort-bug.m4]) m4_include([m4/getcwd-path-max.m4]) m4_include([m4/getcwd.m4]) m4_include([m4/getdate.m4]) m4_include([m4/getdelim.m4]) m4_include([m4/getgroups.m4]) m4_include([m4/gethostname.m4]) m4_include([m4/gethrxtime.m4]) m4_include([m4/getline.m4]) m4_include([m4/getloadavg.m4]) m4_include([m4/getndelim2.m4]) m4_include([m4/getopt.m4]) m4_include([m4/getpagesize.m4]) m4_include([m4/getpass.m4]) m4_include([m4/gettext.m4]) m4_include([m4/gettime.m4]) m4_include([m4/gettimeofday.m4]) m4_include([m4/glibc21.m4]) m4_include([m4/gnu-make.m4]) m4_include([m4/gnulib-common.m4]) m4_include([m4/gnulib-comp.m4]) m4_include([m4/hard-locale.m4]) m4_include([m4/hash.m4]) m4_include([m4/hdparm.m4]) m4_include([m4/host-os.m4]) m4_include([m4/human.m4]) m4_include([m4/iconv.m4]) m4_include([m4/iconv_h.m4]) m4_include([m4/iconv_open.m4]) m4_include([m4/idcache.m4]) m4_include([m4/include-exclude-prog.m4]) m4_include([m4/include_next.m4]) m4_include([m4/inline.m4]) m4_include([m4/intlmacosx.m4]) m4_include([m4/intmax_t.m4]) m4_include([m4/inttostr.m4]) m4_include([m4/inttypes-pri.m4]) m4_include([m4/inttypes.m4]) m4_include([m4/inttypes_h.m4]) m4_include([m4/isapipe.m4]) m4_include([m4/isnand.m4]) m4_include([m4/isnanf.m4]) m4_include([m4/isnanl.m4]) m4_include([m4/jm-macros.m4]) m4_include([m4/jm-winsz1.m4]) m4_include([m4/jm-winsz2.m4]) m4_include([m4/lchmod.m4]) m4_include([m4/lchown.m4]) m4_include([m4/ldexpl.m4]) m4_include([m4/lib-check.m4]) m4_include([m4/lib-ignore.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/link-follow.m4]) m4_include([m4/localcharset.m4]) m4_include([m4/locale-fr.m4]) m4_include([m4/locale-tr.m4]) m4_include([m4/locale-zh.m4]) m4_include([m4/long-options.m4]) m4_include([m4/longlong.m4]) m4_include([m4/ls-mntd-fs.m4]) m4_include([m4/lseek.m4]) m4_include([m4/lstat.m4]) m4_include([m4/malloc.m4]) m4_include([m4/malloca.m4]) m4_include([m4/math_h.m4]) m4_include([m4/mbchar.m4]) m4_include([m4/mbiter.m4]) m4_include([m4/mbrtowc.m4]) m4_include([m4/mbscasecmp.m4]) m4_include([m4/mbslen.m4]) m4_include([m4/mbsstr.m4]) m4_include([m4/mbstate_t.m4]) m4_include([m4/mbswidth.m4]) m4_include([m4/md5.m4]) m4_include([m4/memcasecmp.m4]) m4_include([m4/memchr.m4]) m4_include([m4/memcmp.m4]) m4_include([m4/memcoll.m4]) m4_include([m4/memcpy.m4]) m4_include([m4/memmove.m4]) m4_include([m4/mempcpy.m4]) m4_include([m4/memrchr.m4]) m4_include([m4/memset.m4]) m4_include([m4/memxfrm.m4]) m4_include([m4/mkancesdirs.m4]) m4_include([m4/mkdir-p.m4]) m4_include([m4/mkdir-slash.m4]) m4_include([m4/mkstemp.m4]) m4_include([m4/mktime.m4]) m4_include([m4/modechange.m4]) m4_include([m4/mountlist.m4]) m4_include([m4/mpsort.m4]) m4_include([m4/nanosleep.m4]) m4_include([m4/netinet_in_h.m4]) m4_include([m4/nls.m4]) m4_include([m4/nocrash.m4]) m4_include([m4/openat.m4]) m4_include([m4/pathmax.m4]) m4_include([m4/perl.m4]) m4_include([m4/po.m4]) m4_include([m4/posix-shell.m4]) m4_include([m4/posixtm.m4]) m4_include([m4/posixver.m4]) m4_include([m4/prereq.m4]) m4_include([m4/printf-frexp.m4]) m4_include([m4/printf-frexpl.m4]) m4_include([m4/printf.m4]) m4_include([m4/progtest.m4]) m4_include([m4/putenv.m4]) m4_include([m4/quote.m4]) m4_include([m4/quotearg.m4]) m4_include([m4/readlink.m4]) m4_include([m4/readtokens.m4]) m4_include([m4/readutmp.m4]) m4_include([m4/realloc.m4]) m4_include([m4/regex.m4]) m4_include([m4/rename-dest-slash.m4]) m4_include([m4/rename.m4]) m4_include([m4/rmdir-errno.m4]) m4_include([m4/rmdir.m4]) m4_include([m4/root-dev-ino.m4]) m4_include([m4/rpmatch.m4]) m4_include([m4/safe-read.m4]) m4_include([m4/safe-write.m4]) m4_include([m4/same.m4]) m4_include([m4/save-cwd.m4]) m4_include([m4/savedir.m4]) m4_include([m4/savewd.m4]) m4_include([m4/setenv.m4]) m4_include([m4/settime.m4]) m4_include([m4/sha1.m4]) m4_include([m4/sha256.m4]) m4_include([m4/sha512.m4]) m4_include([m4/sig2str.m4]) m4_include([m4/signbit.m4]) m4_include([m4/size_max.m4]) m4_include([m4/sleep.m4]) m4_include([m4/snprintf.m4]) m4_include([m4/socklen.m4]) m4_include([m4/ssize_t.m4]) m4_include([m4/st_dm_mode.m4]) m4_include([m4/stat-prog.m4]) m4_include([m4/stat-time.m4]) m4_include([m4/stdarg.m4]) m4_include([m4/stdbool.m4]) m4_include([m4/stdint.m4]) m4_include([m4/stdint_h.m4]) m4_include([m4/stdio-safer.m4]) m4_include([m4/stdio_h.m4]) m4_include([m4/stdlib-safer.m4]) m4_include([m4/stdlib_h.m4]) m4_include([m4/stpcpy.m4]) m4_include([m4/stpncpy.m4]) m4_include([m4/strcspn.m4]) m4_include([m4/strdup.m4]) m4_include([m4/strerror.m4]) m4_include([m4/strftime.m4]) m4_include([m4/string_h.m4]) m4_include([m4/strndup.m4]) m4_include([m4/strnlen.m4]) m4_include([m4/strnumcmp.m4]) m4_include([m4/strpbrk.m4]) m4_include([m4/strtod.m4]) m4_include([m4/strtoimax.m4]) m4_include([m4/strtol.m4]) m4_include([m4/strtoll.m4]) m4_include([m4/strtoul.m4]) m4_include([m4/strtoull.m4]) m4_include([m4/strtoumax.m4]) m4_include([m4/strverscmp.m4]) m4_include([m4/sys_socket_h.m4]) m4_include([m4/sys_stat_h.m4]) m4_include([m4/sys_time_h.m4]) m4_include([m4/tempname.m4]) m4_include([m4/time_h.m4]) m4_include([m4/time_r.m4]) m4_include([m4/timespec.m4]) m4_include([m4/tm_gmtoff.m4]) m4_include([m4/tzset.m4]) m4_include([m4/unicodeio.m4]) m4_include([m4/unistd-safer.m4]) m4_include([m4/unistd_h.m4]) m4_include([m4/unlink-busy.m4]) m4_include([m4/unlinkdir.m4]) m4_include([m4/unlocked-io.m4]) m4_include([m4/uptime.m4]) m4_include([m4/userspec.m4]) m4_include([m4/utimbuf.m4]) m4_include([m4/utime.m4]) m4_include([m4/utimecmp.m4]) m4_include([m4/utimens.m4]) m4_include([m4/utimes-null.m4]) m4_include([m4/utimes.m4]) m4_include([m4/vasnprintf.m4]) m4_include([m4/vasprintf-posix.m4]) m4_include([m4/vasprintf.m4]) m4_include([m4/vfprintf-posix.m4]) m4_include([m4/vprintf-posix.m4]) m4_include([m4/wchar.m4]) m4_include([m4/wchar_t.m4]) m4_include([m4/wctype.m4]) m4_include([m4/wcwidth.m4]) m4_include([m4/wint_t.m4]) m4_include([m4/write-any-file.m4]) m4_include([m4/xalloc.m4]) m4_include([m4/xgetcwd.m4]) m4_include([m4/xnanosleep.m4]) m4_include([m4/xsize.m4]) m4_include([m4/xstrndup.m4]) m4_include([m4/xstrtod.m4]) m4_include([m4/xstrtol.m4]) dc3dd-7.1.614/.vg-suppressions0000644000175000017500000000353311023311746015631 0ustar amedicoamedico# Suppress valgrind diagnostics we don't care about. # Copyright (C) 2003, 2004, 2006-2007 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . { libc_dl_open Memcheck:Cond fun:_dl_relocate_object obj:/lib/libc-2.3.2.so fun:_dl_catch_error fun:_dl_open } { libc_dl_catch_error__map_object Memcheck:Addr1 obj:/lib/ld-2.3.2.so fun:_dl_map_object obj:/lib/libc-2.3.2.so fun:_dl_catch_error } { libc_dl_catch_error__map_versions Memcheck:Addr1 obj:/lib/ld-2.3.2.so fun:_dl_check_map_versions obj:/lib/libc-2.3.2.so fun:_dl_catch_error } { jm_libc_sigaction Memcheck:Param sigaction(act) fun:__libc_sigaction } { libc_expand_dynamic_string_token Memcheck:Cond fun:strlen fun:expand_dynamic_string_token obj:* obj:* obj:* obj:* obj:* } { libc__dl_new_object Memcheck:Cond fun:strlen fun:_dl_new_object obj:* obj:* obj:* obj:* } { libc_fillin_rpath Memcheck:Cond fun:strlen fun:fillin_rpath } { libc-getpwuid-leak Memcheck:Leak fun:malloc fun:nss_parse_service_list fun:__nss_database_lookup obj:* obj:* fun:getpwuid_r@@GLIBC_2.2.5 fun:getpwuid fun:getuser fun:format_user_width fun:gobble_file fun:main } dc3dd-7.1.614/.x-sc_file_system0000644000175000017500000000012111023311746015705 0ustar amedicoamedicoChangeLog Makefile.maint NEWS config-log po/ src/df.c src/stat.c tests/misc/df-P dc3dd-7.1.614/.x-sc_unmarked_diagnostics0000644000175000017500000000004211023311746017561 0ustar amedicoamedico^lib/xstrtol\.h$ ^build-aux/cvsu$ dc3dd-7.1.614/TODO0000644000175000017500000001606011064230667013137 0ustar amedicoamedicoIf you're interested in helping, here are some tasks that we've considered over the years. Beware: some are quite old and no longer valid. To avoid wasting your time by duplicating work or by working on a task that is no longer pertinent, please search the mailing list and post your intent before embarking on a big project. ================================================== document the following in coreutils.texi: runcon chcon mktemp [ pinky uptime Also document the SELinux changes. cp --recursive: use fts and *at functions to perform directory traversals in source and destination hierarchy rather than forming full file names. The latter (current) approach fails unnecessarily when the names become very long, and requires space and time that is quadratic in the depth of the hierarchy. [Bo Borgerson is working on this] comm: add an option, --output-delimiter=STR Files to change: src/comm.c, ChangeLog, NEWS, doc/coreutils.texi, Add a new file, tests/misc/comm (use another file in that directory as a template), to exercise the new option. Suggestion from Dan Jacobson. printf: Now that gnulib supports *printf("%a"), import one of the *printf-posix modules so that printf(1) will support %a even on platforms where the native *printf(3) is deficient. Suggestion from Eric Blake. renice: POSIX utility, needs implementing. suggestion from Karl Berry (among others). Bob Proulx is working on this. install: add an option to specify the program used to strip binaries. suggestion from Karl Berry doc/coreutils.texi: Address this comment: FIXME: mv's behavior in this case is system-dependent Better still: fix the code so it's *not* system-dependent. ls: add --format=FORMAT option that controls how each line is printed. cp --no-preserve=X should not attempt to preserve attribute X reported by Andreas Schwab copy.c: Address the FIXME-maybe comment in copy_internal. And once that's done, add an exclusion so that `cp --link' no longer incurs the overhead of saving src. dev/ino and dest. filename in the hash table. Write an autoconf test to work around build failure in HPUX's 64-bit mode. See notes in README -- and remove them once there's a work-around. Integrate use of sendfile, suggested here: http://mail.gnu.org/archive/html/bug-fileutils/2003-03/msg00030.html I don't plan to do that, since a few tests demonstrate no significant benefit. Should printf '\0123' print "\n3"? per report from TAKAI Kousuke on Mar 27 http://mail.gnu.org/archive/html/bug-coreutils/2003-03/index.html printf: consider adapting builtins/printf.def from bash df: add `--total' option, suggested here http://bugs.debian.org/186007 tail: don't use xlseek; it *exits*. Instead, maybe use a macro and return nonzero. tr: support nontrivial equivalence classes, e.g. [=e=] with LC_COLLATE=fr_FR lib/strftime.c: Since %N is the only format that we need but that glibc's strftime doesn't support, consider using a wrapper that would expand /%(-_)?\d*N/ to the desired string and then pass the resulting string to glibc's strftime. unexpand: [http://www.opengroup.org/onlinepubs/007908799/xcu/unexpand.html] printf 'x\t \t y\n'|unexpand -t 8,9 should print its input, unmodified. printf 'x\t \t y\n'|unexpand -t 5,8 should print "x\ty\n" Let GNU su use the `wheel' group if appropriate. (there are a couple patches, already) sort: Investigate better sorting algorithms; see Knuth vol. 3. We tried list merge sort, but it was about 50% slower than the recursive algorithm currently used by sortlines, and it used more comparisons. We're not sure why this was, as the theory suggests it should do fewer comparisons, so perhaps this should be revisited. List merge sort was implemented in the style of Knuth algorithm 5.2.4L, with the optimization suggested by exercise 5.2.4-22. The test case was 140,213,394 bytes, 426,4424 lines, text taken from the GCC 3.3 distribution, sort.c compiled with GCC 2.95.4 and running on Debian 3.0r1 GNU/Linux, 2.4GHz Pentium 4, single pass with no temporary files and plenty of RAM. Since comparisons seem to be the bottleneck, perhaps the best algorithm to try next should be merge insertion. See Knuth section 5.3.1, who credits Lester Ford, Jr. and Selmer Johnson, American Mathematical Monthly 66 (1959), 387-389. Remove suspicious uses of alloca (ones that may allocate more than about 4k) Adapt these contribution guidelines for coreutils: http://sources.redhat.com/automake/contribute.html Improve test coverage. See HACKING for instructions on generating an html test coverage report. Find a program that has poor coverage and improve. Changes expected to go in, someday. ====================================== dd patch from Olivier Delhomme test/mv/*: clean up $other_partition_tmpdir in all cases ls: when both -l and --dereference-command-line-symlink-to-dir are specified, consider whether to let the latter select whether to dereference command line symlinks to directories. Since -l has an implicit --NO-dereference-command-line-symlink-to-dir meaning. Pointed out by Karl Berry. A more efficient version of factor, and possibly one that accepts inputs of size 2^64 and larger. dd: consider adding an option to suppress `bytes/block read/written' output to stderr. Suggested here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=165045 Pending copyright papers: ------------------------ getpwnam from Bruce Korb pb (progress bar) from Miika Pekkarinen ------------------------------ Remove long-deprecated options. Search case-insensitive for `deprecated' and `remove in '. Automate this. Add a distcheck-time test to ensure that every distributed file is either read-only(indicating generated) or is version-controlled and up to date. remove `%s' notation (now that they're all gone, add a maint.mk sc_ rule to ensure no new ones are added): grep -E "\`%.{,4}s'" src/*.c remove all uses of the `register' keyword: Done. add a maint.mk rule for this, too. remove or adjust chown's --changes option, since it can't always do what it currently says it does. Adapt tools like wc, tr, fmt, etc. (most of the textutils) to be multibyte aware. The problem is that I want to avoid duplicating significant blocks of logic, yet I also want to incur only minimal (preferably `no') cost when operating in single-byte mode. pr's use of nstrftime can make it malloc a very large (up to SIZE_MAX) buffer ----- Copyright (C) 2002-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . dc3dd-7.1.614/build-aux/0000755000175000017500000000000011613550425014333 5ustar amedicoamedicodc3dd-7.1.614/build-aux/config.guess0000755000175000017500000012756211064230667016673 0ustar amedicoamedico#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. timestamp='2008-04-14' # This file 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. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: dc3dd-7.1.614/build-aux/announce-gen0000755000175000017500000003314011064230667016642 0ustar amedicoamedico#!/usr/bin/perl -w # Generate a release announcement message. my $VERSION = '2008-02-08 10:34'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. # Copyright (C) 2002-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering use strict; use Getopt::Long; use Digest::MD5; use Digest::SHA1; use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; my %valid_release_types = map {$_ => 1} qw (alpha beta major); END { # Nobody ever checks the status of print()s. That's okay, because # if any do fail, we're guaranteed to get an indicator when we close() # the filehandle. # # Close stdout now, and if there were no errors, return happy status. # If stdout has already been closed by the script, though, do nothing. defined fileno STDOUT or return; close STDOUT and return; # Errors closing stdout. Indicate that, and hope stderr is OK. warn "$ME: closing standard output: $!\n"; # Don't be so arrogant as to assume that we're the first END handler # defined, and thus the last one invoked. There may be others yet # to come. $? will be passed on to them, and to the final _exit(). # # If it isn't already an error, make it one (and if it _is_ an error, # preserve the value: it might be important). $? ||= 1; } sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try `$ME --help' for more information.\n"; } else { my @types = sort keys %valid_release_types; print $STREAM < = C Compute the sizes of the C<@file> and return them as a hash. Return C if one of the computation failed. =cut sub sizes (@) { my (@file) = @_; my $fail = 0; my %res; foreach my $f (@file) { my $cmd = "du --human $f"; my $t = `$cmd`; # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS $@ and (warn "$ME: command failed: `$cmd'\n"), $fail = 1; chomp $t; $t =~ s/^([\d.]+[MkK]).*/${1}B/; $res{$f} = $t; } return $fail ? undef : %res; } =item C dedicated to the list of <@file>, which sizes are stored in C<%size>, and which are available from the C<@url>. =cut sub print_locations ($\@\%@) { my ($title, $url, $size, @file) = @_; print "Here are the $title:\n"; foreach my $url (@{$url}) { for my $file (@file) { print " $url/$file"; print " (", $$size{$file}, ")" if exists $$size{$file}; print "\n"; } } print "\n"; } =item C. =cut sub print_checksums (@) { my (@file) = @_; print "Here are the MD5 and SHA1 checksums:\n"; print "\n"; foreach my $meth (qw (md5 sha1)) { foreach my $f (@file) { open IN, '<', $f or die "$ME: $f: cannot open for reading: $!\n"; binmode IN; my $dig = ($meth eq 'md5' ? Digest::MD5->new->addfile(*IN)->hexdigest : Digest::SHA1->new->addfile(*IN)->hexdigest); close IN; print "$dig $f\n"; } } } =item C addressing changes between versions C<$prev_version> and C<$curr_version>. =cut sub print_news_deltas ($$$) { my ($news_file, $prev_version, $curr_version) = @_; print "\n$news_file\n\n"; # Print all lines from $news_file, starting with the first one # that mentions $curr_version up to but not including # the first occurrence of $prev_version. my $in_items; my $re_prefix = qr/\* (?:Noteworthy|Major) change/; open NEWS, '<', $news_file or die "$ME: $news_file: cannot open for reading: $!\n"; while (defined (my $line = )) { if ( ! $in_items) { # Match lines like these: # * Major changes in release 5.0.1: # * Noteworthy changes in release 6.6 (2006-11-22) [stable] $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$curr_version\E(?:[^\d.]|$)/o or next; $in_items = 1; print $line; } else { # This regexp must not match version numbers in NEWS items. # For example, they might well say `introduced in 4.5.5', # and we don't want that to match. $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o and last; print $line; } } close NEWS; $in_items or die "$ME: $news_file: no matching lines for `$curr_version'\n"; } sub print_changelog_deltas ($$) { my ($package_name, $prev_version) = @_; # Print new ChangeLog entries. # First find all CVS-controlled ChangeLog files. use File::Find; my @changelog; find ({wanted => sub {$_ eq 'ChangeLog' && -d 'CVS' and push @changelog, $File::Find::name}}, '.'); # If there are no ChangeLog files, we're done. @changelog or return; my %changelog = map {$_ => 1} @changelog; # Reorder the list of files so that if there are ChangeLog # files in the specified directories, they're listed first, # in this order: my @dir = qw ( . src lib m4 config doc ); # A typical @changelog array might look like this: # ./ChangeLog # ./po/ChangeLog # ./m4/ChangeLog # ./lib/ChangeLog # ./doc/ChangeLog # ./config/ChangeLog my @reordered; foreach my $d (@dir) { my $dot_slash = $d eq '.' ? $d : "./$d"; my $target = "$dot_slash/ChangeLog"; delete $changelog{$target} and push @reordered, $target; } # Append any remaining ChangeLog files. push @reordered, sort keys %changelog; # Remove leading `./'. @reordered = map { s!^\./!!; $_ } @reordered; print "\nChangeLog entries:\n\n"; # print join ("\n", @reordered), "\n"; $prev_version =~ s/\./_/g; my $prev_cvs_tag = "\U$package_name\E-$prev_version"; my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered"; open DIFF, '-|', $cmd or die "$ME: cannot run `$cmd': $!\n"; # Print two types of lines, making minor changes: # Lines starting with `+++ ', e.g., # +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247 # and those starting with `+'. # Don't print the others. my $prev_printed_line_empty = 1; while (defined (my $line = )) { if ($line =~ /^\+\+\+ /) { my $separator = "*"x70 ."\n"; $line =~ s///; $line =~ s/\s.*//; $prev_printed_line_empty or print "\n"; print $separator, $line, $separator; } elsif ($line =~ /^\+/) { $line =~ s///; print $line; $prev_printed_line_empty = ($line =~ /^$/); } } close DIFF; # The exit code should be 1. # Allow in case there are no modified ChangeLog entries. $? == 256 || $? == 128 or warn "$ME: warning: `cmd' had unexpected exit code or signal ($?)\n"; } sub get_tool_versions ($$) { my ($tool_list, $gnulib_version) = @_; @$tool_list or return (); my $fail; my @tool_version_pair; foreach my $t (@$tool_list) { if ($t eq 'gnulib') { push @tool_version_pair, ucfirst $t . ' ' . $gnulib_version; next; } # Assume that the last "word" on the first line of # `tool --version` output is the version string. my ($first_line, undef) = split ("\n", `$t --version`); if ($first_line =~ /.* (\d[\w.-]+)$/) { $t = ucfirst $t; push @tool_version_pair, "$t $1"; } else { defined $first_line and $first_line = ''; warn "$ME: $t: unexpected --version output\n:$first_line"; $fail = 1; } } $fail and exit 1; return @tool_version_pair; } { # Neutralize the locale, so that, for instance, "du" does not # issue "1,2" instead of "1.2", what confuses our regexps. $ENV{LC_ALL} = "C"; my $release_type; my $package_name; my $prev_version; my $curr_version; my $gpg_key_id; my @url_dir_list; my @news_file; my $bootstrap_tools; my $gnulib_version; GetOptions ( 'release-type=s' => \$release_type, 'package-name=s' => \$package_name, 'previous-version=s' => \$prev_version, 'current-version=s' => \$curr_version, 'gpg-key-id=s' => \$gpg_key_id, 'url-directory=s' => \@url_dir_list, 'news=s' => \@news_file, 'bootstrap-tools=s' => \$bootstrap_tools, 'gnulib-version=s' => \$gnulib_version, help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, ) or usage 1; my $fail = 0; # Ensure that sure each required option is specified. $release_type or (warn "$ME: release type not specified\n"), $fail = 1; $package_name or (warn "$ME: package name not specified\n"), $fail = 1; $prev_version or (warn "$ME: previous version string not specified\n"), $fail = 1; $curr_version or (warn "$ME: current version string not specified\n"), $fail = 1; $gpg_key_id or (warn "$ME: GnuPG key ID not specified\n"), $fail = 1; @url_dir_list or (warn "$ME: URL directory name(s) not specified\n"), $fail = 1; my @tool_list = split ',', $bootstrap_tools; grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version and (warn "$ME: when specifying gnulib as a tool, you must also specify\n" . "--gnulib-version=V, where V is the result of running git describe\n" . "in the gnulib source directory.\n"), $fail = 1; exists $valid_release_types{$release_type} or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1; @ARGV and (warn "$ME: too many arguments:\n", join ("\n", @ARGV), "\n"), $fail = 1; $fail and usage 1; my $my_distdir = "$package_name-$curr_version"; my $tgz = "$my_distdir.tar.gz"; my $tbz = "$my_distdir.tar.bz2"; my $lzma = "$my_distdir.tar.lzma"; my $xd = "$package_name-$prev_version-$curr_version.xdelta"; my @tarballs = grep {-f $_} ($tgz, $tbz, $lzma); my @sizable = @tarballs; -f $xd and push @sizable, $xd; my %size = sizes (@sizable); %size or exit 1; # The markup is escaped as <\# so that when this script is sent by # mail (or part of a diff), Gnus is not triggered. print < FIXME: put comments here EOF print_locations ("compressed sources", @url_dir_list, %size, @tarballs); -f $xd and print_locations ("xdelta diffs (useful? if so, " . "please tell bug-gnulib\@gnu.org)", @url_dir_list, %size, $xd); my @sig_files = map { "$_.sig" } @tarballs; print_locations ("GPG detached signatures[*]", @url_dir_list, %size, @sig_files); print_checksums (@sizable); print <, 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, 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, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). case $1 in lex|yacc) # Not GNU programs, they don't have --version. ;; tar) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $1 in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: dc3dd-7.1.614/build-aux/check.mk0000644000175000017500000002237611064230667015756 0ustar amedicoamedico## Vaucanson, a generic library for finite state machines. ## Copyright (C) 2006, 2007 The Vaucanson Group. ## ## 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. ## ## The complete GNU General Public Licence Notice can be found as the ## `COPYING' file in the root directory. ## Override the definition from Automake to generate a log file with ## failed tests. It also supports parallel make checks. ## ## This file provides special support for "unit tests", that is to ## say, tests that (once run) no longer need to be re-compiled and ## re-run at each "make check", unless their sources changed. To ## enable unit-test supports, define LAZY_TEST_SUITE. In such a ## setting, that heavily relies on correct dependencies, its users may ## prefer to define EXTRA_PROGRAMS instead of check_PROGRAMS, because ## it allows intertwined compilation and execution of the tests. ## Sometimes this helps catching errors earlier (you don't have to ## wait for all the tests to be compiled). ## ## Define TEST_SUITE_LOG to be the name of the global log to create. ## Define TEST_LOGS to the set of logs to include in it. One possibility ## is $(TESTS:.test=.log). ## ## In addition to the magic "exit 77 means SKIP" feature (which was ## imported from automake), there is a magic "exit 177 means FAIL" feature ## which is useful if you need to issue a hard error no matter whether the ## test is XFAIL or not. # Use a POSIX-compatible shell if available, as this file uses # features of the POSIX shell that are not supported by some standard # shell implementations (e.g., Solaris 10 /bin/sh). SHELL = $(PREFERABLY_POSIX_SHELL) # Set this to `false' to disable hard errors. ENABLE_HARD_ERRORS = : ## We use GNU Make extensions (%-rules) inside GNU_MAKE checks, ## and we override check-TESTS. AUTOMAKE_OPTIONS = -Wno-portability -Wno-override # Restructured Text title and section. am__rst_title = sed 's/.*/ & /;h;s/./=/g;p;x;p;g;p;s/.*//' am__rst_section = sed 'p;s/./=/g;p;g' # Put stdin (possibly several lines separated by ". ") in a box. am__text_box = $(AWK) '{gsub ("\\. ", "\n"); print $$0; }' | \ $(AWK) ' \ max < length($$0) { \ final= final (final ? "\n" : "") " " $$0; \ max = length($$0); \ } \ END { \ for (i = 0; i < max + 2 ; ++i) \ line = line "="; \ print line; \ print final; \ print line; \ }' # If stdout is a tty and TERM is smart then use colors. If test -t or # tput are not supported then this fails; a conservative approach. Of # course do not redirect stdout here, just stderr... am__tty_colors = \ red=; \ grn=; \ lgn=; \ blu=; \ std=; \ test "X$$TERM" != Xdumb && \ test -t 1 2>/dev/null && \ tput bold 1 >/dev/null 2>&1 && \ tput setaf 1 >/dev/null 2>&1 && \ tput sgr0 >/dev/null 2>&1 && \ { \ red=$$(tput setaf 1); \ grn=$$(tput setaf 2); \ lgn=$$(tput bold)$$(tput setaf 2); \ blu=$$(tput setaf 4); \ std=$$(tput sgr0); \ } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL). This contradicts POSIX. Work around the problem # by disabling -e (using the XSI extension "set +e") if it's set. SH_E_WORKAROUND = case $$- in *e*) set +e;; esac # Emulate dirname with sed. _d_no_slash = s,^[^/]*$$,., _d_strip_trailing = s,\([^/]\)//*$$,\1, _d_abs_trivial = s,^//*[^/]*$$,/, _d_rm_basename = s,\([^/]\)//*[^/]*$$,\1, _dirname = \ sed '$(_d_no_slash);$(_d_strip_trailing);$(_d_abs_trivial);$(_d_rm_basename)' # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $src, and passes TESTS_ENVIRONMENT. # Save and restore TERM around use of TESTS_ENVIRONMENT, # in case that unsets it. am__check_pre = \ $(SH_E_WORKAROUND); \ tst=`echo "$$src" | sed 's|^.*/||'`; \ rm -f $@-t; \ trap 'st=$$?; rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st' \ 1 2 13 15; \ $(mkdir_p) "$$(echo '$@'|$(_dirname))" || exit; \ if test -f "./$$src"; then dir=./; \ elif test -f "$$src"; then dir=; \ else dir="$(srcdir)/"; fi; \ __SAVED_TERM=$$TERM; \ $(TESTS_ENVIRONMENT) # To be appended to the command running the test. Handles the stdout # and stderr redirection, and catch the exit status. am__check_post = \ >$@-t 2>&1; \ estatus=$$?; \ if test $$estatus -eq 177; then \ $(ENABLE_HARD_ERRORS) || estatus=1; \ fi; \ TERM=$$__SAVED_TERM; export TERM; \ $(am__tty_colors); \ xfailed=PASS; \ for xfail in : $(XFAIL_TESTS); do \ case $$src in \ $$xfail | */$$xfail) xfailed=XFAIL; break; \ esac; \ done; \ case $$estatus:$$xfailed in \ 0:XFAIL) col=$$red; res=XPASS;; \ 0:*) col=$$grn; res=PASS ;; \ 77:*) col=$$blu; res=SKIP ;; \ 177:*) col=$$red; res=FAIL ;; \ *:XFAIL) col=$$lgn; res=XFAIL;; \ *:*) col=$$red; res=FAIL ;; \ esac; \ echo "$${col}$$res$${std}: $@"; \ echo "$$res: $@ (exit: $$estatus)" | \ $(am__rst_section) >$@; \ cat $@-t >>$@; \ rm $@-t SUFFIXES = .html .log # From a test (with no extension) to a log file. if GNU_MAKE %.log: % @src='$<'; $(am__check_pre) "$$dir$$src" $(am__check_post) else # With POSIX 'make', inference rules cannot have FOO.log depend on FOO. # Work around the problem by calculating the dependency dynamically, and # then invoking a submake with the calculated dependency. CHECK-FORCE: DEPENDENCY = CHECK-FORCE $(TEST_LOGS): $(DEPENDENCY) @if test '$(DEPENDENCY)' = CHECK-FORCE; then \ dst=$@; \ exec $(MAKE) $(AM_MAKEFLAGS) DEPENDENCY='$(srcdir)'/$${dst%.log} $@;\ else \ src='$(DEPENDENCY)'; \ $(am__check_pre) "$$dir$$src" $(am__check_post); \ fi endif #TEST_LOGS = $(TESTS:.test=.log) TEST_SUITE_LOG = test-suite.log $(TEST_SUITE_LOG): $(TEST_LOGS) @$(SH_E_WORKAROUND); \ results=$$(for f in $(TEST_LOGS); do sed 1q $$f; done); \ all=$$(echo "$$results" | wc -l | sed -e 's/^[ \t]*//'); \ fail=$$(echo "$$results" | grep -c '^FAIL'); \ pass=$$(echo "$$results" | grep -c '^PASS'); \ skip=$$(echo "$$results" | grep -c '^SKIP'); \ xfail=$$(echo "$$results" | grep -c '^XFAIL'); \ xpass=$$(echo "$$results" | grep -c '^XPASS'); \ failures=$$(expr $$fail + $$xpass); \ case fail=$$fail:xpass=$$xpass:xfail=$$xfail in \ fail=0:xpass=0:xfail=0) \ msg="All $$all tests passed. "; \ exit=true;; \ fail=0:xpass=0:xfail=*) \ msg="All $$all tests behaved as expected"; \ msg="$$msg ($$xfail expected failures). "; \ exit=true;; \ fail=*:xpass=0:xfail=*) \ msg="$$fail of $$all tests failed. "; \ exit=false;; \ fail=*:xpass=*:xfail=*) \ msg="$$failures of $$all tests did not behave as expected"; \ msg="$$msg ($$xpass unexpected passes). "; \ exit=false;; \ *) \ echo >&2 "incorrect case"; exit 4;; \ esac; \ if test "$$skip" -ne 0; then \ msg="$$msg($$skip tests were not run). "; \ fi; \ if test "$$failures" -ne 0; then \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ echo "$$msg"; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for f in $(TEST_LOGS); \ do \ case $$(sed 1q $$f) in \ SKIP:*|PASS:*|XFAIL:*);; \ *) echo; cat $$f;; \ esac; \ done; \ } >$(TEST_SUITE_LOG).tmp; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG). "; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ msg="$${msg}Please report it to $(PACKAGE_BUGREPORT). "; \ fi; \ fi; \ $(am__tty_colors); \ if $$exit; then echo $$grn; else echo $$red; fi; \ echo "$$msg" | $(am__text_box); \ echo $$std; \ test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG); \ $$exit # if test x"$$VERBOSE" != x && ! $exit; then # Run all the tests. check-TESTS: @if test -z '$(LAZY_TEST_SUITE)'; then \ rm -f $(TEST_SUITE_LOG) $(TEST_LOGS); \ fi @$(MAKE) $(TEST_SUITE_LOG) ## -------------- ## ## Produce HTML. ## ## -------------- ## TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html) .log.html: @for r2h in $(RST2HTML) $$RST2HTML rst2html rst2html.py; \ do \ if ($$r2h --version) >/dev/null 2>&1; then \ R2H=$$r2h; \ fi; \ done; \ if test -z "$$R2H"; then \ echo >&2 "cannot find rst2html, cannot create $@"; \ exit 2; \ fi; \ $$R2H $< >$@.tmp @mv $@.tmp $@ # Be sure to run check-TESTS first, and then to convert the result. # Beware of concurrent executions. And expect check-TESTS to fail. check-html: @if $(MAKE) $(AM_MAKEFLAGS) check-TESTS; then :; else \ rv=$$?; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML); \ exit $$rv; \ fi .PHONY: check-html ## ------- ## ## Clean. ## ## ------- ## check-clean: rm -f $(CHECK_CLEANFILES) $(TEST_SUITE_LOG) $(TEST_SUITE_HTML) $(TEST_LOGS) .PHONY: check-clean clean-local: check-clean dc3dd-7.1.614/build-aux/depcomp0000755000175000017500000004260211064230667015717 0ustar amedicoamedico#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2007-03-29.01 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software # Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, 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, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix="`echo $object | sed 's/^.*\././'`" touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: dc3dd-7.1.614/build-aux/compile0000755000175000017500000000706411064230667015723 0ustar amedicoamedico#! /bin/sh # Wrapper for compilers which do not understand `-c -o'. scriptversion=2005-05-14.22 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, 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, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand `-c -o'. Remove `-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file `INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; esac ofile= cfile= eat= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as `compile cc -o foo foo.c'. # So we strip `-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no `-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # `.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` # Create the lock directory. # Note: use `[/.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: dc3dd-7.1.614/build-aux/ylwrap0000755000175000017500000001376311064230667015614 0ustar amedicoamedico#! /bin/sh # ylwrap - wrapper for lex/yacc invocations. scriptversion=2007-11-22.22 # Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, # 2007 Free Software Foundation, Inc. # # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, 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, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case "$1" in '') echo "$0: No files given. Try \`$0 --help' for more information." 1>&2 exit 1 ;; --basedir) basedir=$2 shift 2 ;; -h|--h*) cat <<\EOF Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... Wrapper for lex/yacc invocations, renaming files as desired. INPUT is the input file OUTPUT is one file PROG generates DESIRED is the file we actually want instead of OUTPUT PROGRAM is program to run ARGS are passed to PROG Any number of OUTPUT,DESIRED pairs may be used. Report bugs to . EOF exit $? ;; -v|--v*) echo "ylwrap $scriptversion" exit $? ;; esac # The input. input="$1" shift case "$input" in [\\/]* | ?:[\\/]*) # Absolute path; do nothing. ;; *) # Relative path. Make it absolute. input="`pwd`/$input" ;; esac pairlist= while test "$#" -ne 0; do if test "$1" = "--"; then shift break fi pairlist="$pairlist $1" shift done # The program to run. prog="$1" shift # Make any relative path in $prog absolute. case "$prog" in [\\/]* | ?:[\\/]*) ;; *[\\/]*) prog="`pwd`/$prog" ;; esac # FIXME: add hostname here for parallel makes that run commands on # other machines. But that might take us over the 14-char limit. dirname=ylwrap$$ trap "cd '`pwd`'; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 mkdir $dirname || exit 1 cd $dirname case $# in 0) "$prog" "$input" ;; *) "$prog" "$@" "$input" ;; esac ret=$? if test $ret -eq 0; then set X $pairlist shift first=yes # Since DOS filename conventions don't allow two dots, # the DOS version of Bison writes out y_tab.c instead of y.tab.c # and y_tab.h instead of y.tab.h. Test to see if this is the case. y_tab_nodot="no" if test -f y_tab.c || test -f y_tab.h; then y_tab_nodot="yes" fi # The directory holding the input. input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'` # Quote $INPUT_DIR so we can use it in a regexp. # FIXME: really we should care about more than `.' and `\'. input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'` while test "$#" -ne 0; do from="$1" # Handle y_tab.c and y_tab.h output by DOS if test $y_tab_nodot = "yes"; then if test $from = "y.tab.c"; then from="y_tab.c" else if test $from = "y.tab.h"; then from="y_tab.h" fi fi fi if test -f "$from"; then # If $2 is an absolute path name, then just use that, # otherwise prepend `../'. case "$2" in [\\/]* | ?:[\\/]*) target="$2";; *) target="../$2";; esac # We do not want to overwrite a header file if it hasn't # changed. This avoid useless recompilations. However the # parser itself (the first file) should always be updated, # because it is the destination of the .y.c rule in the # Makefile. Divert the output of all other files to a temporary # file so we can compare them to existing versions. if test $first = no; then realtarget="$target" target="tmp-`echo $target | sed s/.*[\\/]//g`" fi # Edit out `#line' or `#' directives. # # We don't want the resulting debug information to point at # an absolute srcdir; it is better for it to just mention the # .y file with no path. # # We want to use the real output file name, not yy.lex.c for # instance. # # We want the include guards to be adjusted too. FROM=`echo "$from" | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` TARGET=`echo "$2" | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \ -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$? # Check whether header files must be updated. if test $first = no; then if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then echo "$2" is unchanged rm -f "$target" else echo updating "$2" mv -f "$target" "$realtarget" fi fi else # A missing file is only an error for the first file. This # is a blatant hack to let us support using "yacc -d". If -d # is not specified, we don't want an error when the header # file is "missing". if test $first = yes; then ret=1 fi fi shift shift first=no done else ret=$? fi # Remove the directory. cd .. rm -rf $dirname exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: dc3dd-7.1.614/build-aux/ChangeLog0000644000175000017500000001472211022023316016077 0ustar amedicoamedico2007-09-29 Eric Blake * check.mk (%.log): Also allow suffix-less tests, on platforms where $(EXEEXT) is not empty. 2007-09-15 Jim Meyering * vc-list-files: Remove mercurial support. Check for CVS first. Adjust comments. 2007-01-30 Jim Meyering * vc-list-files: Select column 2, not 3 (hg-0.9.3's manifest format now has only two columns). 2006-10-14 Jim Meyering * vc-list-files: Don't filter git-ls-files output through cut. Add a comment about cvsu. 2006-08-22 Paul Eggert * .cvsignore: New file. 2006-08-20 Paul Eggert * compile, config.guess, config.rpath, config.sub, depcomp: * install-sh, mdate-sh, missing, texinfo.tex: Remove from CVS, since ../bootstrap generates them automatically. 2006-08-15 Paul Eggert * ChangeLog: Add copyright notice. * vc-list-files: Likewise. * mkinstalldirs: Remove; no longer needed. 2006-08-09 Paul Eggert * texinfo.tex: Update from gnulib. 2006-07-25 Jim Meyering * vc-list-files: Handle git repositories, too. 2006-07-19 Jim Meyering * vc-list-files: Command line args correspond to an "include" list, not an exclude list. 2006-07-14 Jim Meyering * vc-list-files: New file. 2006-07-08 Paul Eggert * config.guess, config.sub, install-sh, texinfo.tex: Update from gnulib. 2006-05-29 Jim Meyering * config.guess, config.rpath, config.sub, install-sh: * mkinstalldirs, texinfo.tex: Update from gnulib. 2006-02-14 Paul Eggert * install-sh: Update from gnulib. 2006-01-31 Jim Meyering * config.guess, missing, texinfo.tex: Update from gnulib. 2006-01-10 Paul Eggert * config.guess, config.sub, depcomp, texinfo.tex: Sync from gnulib. 2005-12-13 Paul Eggert * config.guess: Sync from gnulib. 2005-12-07 Jim Meyering * cvsu: New file. 2005-11-12 Jim Meyering * config.guess, install-sh: Update from gnulib. 2005-10-23 Jim Meyering * compile: New file, used to build sha* programs from md5sum.c. 2005-10-13 Jim Meyering * texinfo.tex: Sync from gnulib. 2005-09-21 Paul Eggert * install-sh, config.guess: Sync from gnulib. 2005-07-01 Jim Meyering * config.guess, config.sub, mdate-sh, missing, mkinstalldirs: * texinfo.tex: Update from gnulib. 2005-06-02 Paul Eggert * config.guess, config.sub, texinfo.tex: Sync from gnulib. 2005-05-20 Paul Eggert * config.guess: Sync from gnulib. 2005-05-15 Paul Eggert * depcomp, install-sh, mdate-sh, missing, pmkinstalldirs: Sync from gnulib (scriptversion change only). 2005-05-14 Paul Eggert * config.guess, config.sub: Sync from gnulib. 2005-05-01 Paul Eggert * config.guess, config.sub, texinfo.tex: Sync from gnulib. 2005-03-20 Paul Eggert * config.rpath: Sync from gnulib. 2005-02-25 Paul Eggert * config.guess, config.sub, depcomp, install-sh, mdate-sh, missing, mkinstalldirs: Sync from gnulib. 2005-01-21 Paul Eggert * config.sub: Sync from gnulib. 2004-12-17 Jim Meyering * install-sh: Sync from gnulib. 2004-12-16 Paul Eggert * mdate-sh: Sync from gnulib. 2004-11-23 Paul Eggert * config.sub, texinfo.tex: Sync from gnulib. 2004-11-17 Paul Eggert * config.guess, config.sub: Sync from gnulib. 2004-11-10 Paul Eggert * texinfo.tex: Sync from gnulib. 2004-11-02 Paul Eggert * texinfo.tex: Sync from gnulib. 2004-10-29 Paul Eggert * config.guess, install-sh, texinfo.tex: Sync from gnulib. 2004-10-03 Paul Eggert * config.guess, config.sub, install-sh, missing, texinfo.tex: Sync from gnulib. 2004-09-24 Jim Meyering * cvsu: Remove file. The version of cvsu from the cvsutils package does the same job with --find --type=... options. * cvsu: New file, used by rules in coreutils' Makefile.maint. 2004-08-05 Paul Eggert * config.guess, config.sub, install-sh, texinfo.tex: Sync from gnulib. 2004-03-30 Paul Eggert * config.guess, config.sub, install-sh, texinfo.tex: Sync from gnulib. 2003-08-16 Paul Eggert * config.rpath, texinfo.tex: Sync with gnulib. 2003-04-21 Jim Meyering * depcomp: New version, now that this file is on the list in ../Makefile.cfg. 2003-01-12 Jim Meyering Lots of syntactic clean-up, mostly from Karl Berry. * install-sh: Use consistent indentation, two spaces per level. (scriptversion): New variable. Change initializations like `variable=""' to `variable='. (usage): New variable. Use `test', not `['. Use `test -z "$var"', not `[ x"$var" = x ]'. Use `test -n "$var"', not `[ x"$var" != x ]'. Alphabetize case entries. Accept --help and --version options. Remove unnecessary `else :' clauses. Add a `Local variables' eval block to help emacs users update the time-stamp variable added above. 2002-12-20 Jim Meyering * install-sh: Set the execute bit on this file. Reported by Vin Shelton. 2002-11-09 Jim Meyering Make it work even when names contain spaces or shell metachars. * install-sh: Write diagnostics to stderr, not stdout. Normalize spacing in diagnostics: use one space (not two, and not a TAB) after the leading `install:'. Add double quotes around `$src' here: $doit $instcmd "$src" "$dsttmp" Merge in some changes from the version in automake. * install-sh: Remove unnecessary quotes around `case' argument. Use `[ cond1 ] || [ cond2 ]' rather than `[ cond1 -o cond2 ]'. Use `:' rather than `true'. 2002-02-17 Jim Meyering * config.guess (main): Don't use `head -1'; it's no longer portable. Use `sed 1q' instead. ----- Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. dc3dd-7.1.614/build-aux/config.sub0000755000175000017500000010154211064230667016324 0ustar amedicoamedico#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. timestamp='2008-04-14' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file 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. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: dc3dd-7.1.614/build-aux/cvsu0000755000175000017500000003017611022023316015234 0ustar amedicoamedico#! /usr/bin/perl -w # cvsu - do a quick check to see what files are out of date. # # Copyright (C) 2000-2005 Pavel Roskin # Initially written by Tom Tromey # Completely rewritten by Pavel Roskin # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . require 5.004; use Getopt::Long; use File::Basename; use Time::Local; use strict; use vars qw($list_types %messages %options @batch_list $batch_cmd $no_recurse $explain_type $find_mode $short_print $no_cvsignore $nolinks $file $single_filename $curr_dir @common_ignores $ignore_rx %entries %subdirs %removed); use constant SUBDIR_FOUND => 1; use constant SUBDIR_CVS => 2; # This list comes from the CVS manual. use constant STANDARD_IGNORES => ('RCS', 'SCCS', 'CVS', 'CVS.adm', 'RCSLOG', 'cvslog.*', 'tags', 'TAGS', '.make.state', '.nse_depinfo', '*~', '#*', '.#*', ',*', "_\$*", "*\$", '*.old', '*.bak', '*.BAK', '*.orig', '*.rej', '.del-*', '*.a', '*.olb', '*.o', '*.obj', '*.so', '*.exe', '*.Z', '*.elc', '*.ln', 'core'); # 3-letter month names in POSIX locale, for fast date decoding my %months = ( "Jan" => 0, "Feb" => 1, "Mar" => 2, "Apr" => 3, "May" => 4, "Jun" => 5, "Jul" => 6, "Aug" => 7, "Sep" => 8, "Oct" => 9, "Nov" => 10, "Dec" => 11 ); # print usage information and exit sub usage () { print "Usage:\n" . " cvsu [OPTIONS] [FILE] ...\n" . "Options:\n" . " --local Disable recursion\n" . " --explain Verbosely print status of files\n" . " --find Emulate find - filenames only\n" . " --short Don't print paths\n" . " --ignore Don't read .cvsignore\n" . " --messages List known file types and long messages\n" . " --nolinks Disable recognizing hard and soft links\n" . " --types=[^]LIST Print only file types [not] from LIST\n" . " --batch=COMMAND Execute this command on files\n" . " --help Print this usage information\n" . " --version Print version number\n" . "Abbreviations and short options are supported\n"; exit 0; } # print version information and exit sub version () { print "cvsu - CVS offline examiner, version 0.2.3\n"; exit 0; } # If types begin with '^', make inversion sub adjust_types () { if ($list_types =~ m{^\^(.*)$}) { $list_types = ""; foreach (keys %messages) { $list_types .= $_ if (index ($1, $_) < 0); } } } # list known messages and exit sub list_messages () { my $default_mark; print "Recognizable file types are:\n"; foreach (sort keys %messages) { if (index($list_types, $_) >= 0) { $default_mark = "*"; } else { $default_mark = " "; } print " $default_mark $_ $messages{$_}\n"; } print "* indicates file types listed by default\n"; exit 0; } # Initialize @common_ignores # Also read $HOME/.cvsignore and append it to @common_ignores sub init_ignores () { my $HOME = $ENV{"HOME"}; push @common_ignores, STANDARD_IGNORES; unless (defined($HOME)) { return; } my $home_cvsignore = "${HOME}/.cvsignore"; if (-f "$home_cvsignore") { unless (open (CVSIGNORE, "< $home_cvsignore")) { error ("couldn't open $home_cvsignore: $!"); } while () { push (@common_ignores, split); } close (CVSIGNORE); } my $CVSIGNOREENV = $ENV{"CVSIGNORE"}; unless (defined($CVSIGNOREENV)) { return; } my @ignores_var = split (/ /, $CVSIGNOREENV); push (@common_ignores, @ignores_var); } # Print message and exit (like "die", but without raising an exception). # Newline is added at the end. sub error ($) { print STDERR "cvsu: ERROR: " . shift(@_) . "\n"; exit 1; } # execute commands from @exec_list with $exec_cmd sub do_batch () { my @cmd_list = split (' ', $batch_cmd); system (@cmd_list, @batch_list); } # print files status # Parameter 1: status in one-letter representation sub file_status ($) { my $type = shift (@_); my $item; my $pathfile; return if $ignore_rx ne '' && $type =~ /[?SLD]/ && $file =~ /$ignore_rx/; return if (index($list_types, $type) < 0); $pathfile = $curr_dir . $file; if (defined($batch_cmd)) { push (@batch_list, $pathfile); # 1000 items in the command line might be too much for HP-UX if ($#batch_list > 1000) { do_batch(); undef @batch_list; } } if ($short_print) { $item = $file; } else { $item = $pathfile; } if ($find_mode) { print "$item\n"; } else { $type = $messages{$type} if ($explain_type); print "$type $item\n"; } } # load entries from CVS/Entries and CVS/Entries.Log # Parameter 1: file name for CVS/Entries # Return: list of entries in the format used in CVS/Entries sub load_entries ($); sub load_entries ($) { my $entries_file = shift (@_); my $entries_log_file = "$entries_file.Log"; my %ent = (); unless (open (ENTRIES, "< $entries_file")) { error ("couldn't open $entries_file: $!"); } while () { chomp; $ent{$_} = 1; } close (ENTRIES); if (open (ENTRIES, "< $entries_log_file")) { while () { chomp; if ( m{^A (.+)} ) { $ent{$1} = 1; } elsif ( m{^R (.+)} ) { delete $ent{$1}; } else { # Note: "cvs commit" helps even when you are offline error ("$entries_log_file:$.: unrecognizable line, " . "try \"cvs commit\""); } } close (ENTRIES); } return keys %ent; } # process one directory # Parameter 1: directory name sub process_arg ($); sub process_arg ($) { my $arg = shift (@_); my %found_files = (); # $file, $curr_dir, and $ignore_rx must be seen in file_status local $file = ""; local $ignore_rx = ""; local $single_filename = 0; if ( $arg eq "" or -d $arg ) { $curr_dir = $arg; my $real_curr_dir = $curr_dir eq "" ? "." : $curr_dir; error ("$real_curr_dir is not a directory") unless ( -d $real_curr_dir ); # Scan present files. file_status ("."); opendir (DIR, $real_curr_dir) || error ("couldn't open directory $real_curr_dir: $!"); foreach (readdir (DIR)) { $found_files {$_} = 1; } closedir (DIR); } else { $single_filename = basename $arg; $curr_dir = dirname $arg; $found_files{$single_filename} = 1 if lstat $arg; } $curr_dir .= "/" unless ( $curr_dir eq "" || $curr_dir =~ m{/$} ); # Scan CVS/Entries. my %entries = (); my %subdirs = (); my %removed = (); foreach ( load_entries ("${curr_dir}CVS/Entries") ) { if ( m{^D/([^/]+)/} ) { $subdirs{$1} = SUBDIR_FOUND if !$single_filename; } elsif ( m{^/([^/]+)/([^/])[^/]*/([^/]*)/} ) { if ( !$single_filename or $single_filename eq $1 ) { $entries{$1} = $3; $removed{$1} = 1 if $2 eq '-'; } } elsif ( m{^D$} ) { next; } else { error ("${curr_dir}CVS/Entries: unrecognizable line"); } } if ( $single_filename && !$entries{$single_filename} && !$found_files{$single_filename} ) { error ("nothing known about $arg"); } # Scan .cvsignore if any unless ($no_cvsignore) { my (@ignore_list) = (); if (-f "${curr_dir}.cvsignore") { open (CVSIGNORE, "< ${curr_dir}.cvsignore") || error ("couldn't open ${curr_dir}.cvsignore: $!"); while () { push (@ignore_list, split); } close (CVSIGNORE); } my ($iter); foreach $iter (@ignore_list, @common_ignores) { if ($iter eq '!') { $ignore_rx = '' } else { if ($ignore_rx eq '') { $ignore_rx = '^('; } else { $ignore_rx .= '|'; } $ignore_rx .= glob_to_rx ($iter); } } $ignore_rx .= ')$' if $ignore_rx ne ''; } # File is missing foreach $file (sort keys %entries) { unless ($found_files{$file}) { if ($removed{$file}) { file_status("R"); } else { file_status("U"); } } } foreach $file (sort keys %found_files) { next if ($file eq '.' || $file eq '..'); lstat ($curr_dir . $file) || error ("lstat() failed on $curr_dir . $file"); if (! $nolinks && -l _) { file_status ("L"); } elsif (-d _) { if ($file eq 'CVS') { file_status ("C"); } elsif ($subdirs{$file}) { $subdirs{$file} = SUBDIR_CVS; } else { file_status ("D"); # Unknown directory } } elsif (! (-f _) && ! (-l _)) { file_status ("S"); # This must be something very special } elsif (! $nolinks && (stat _) [3] > 1 ) { file_status ("H"); # Hard link } elsif (! $entries{$file}) { file_status ("?"); } elsif ($entries{$file} =~ /^Initial |^dummy /) { file_status ("A"); } elsif ($entries{$file} =~ /^Result of merge/) { file_status ("G"); } elsif ($entries{$file} !~ /^(...) (...) (..) (..):(..):(..) (....)$/) { error ("Invalid timestamp for $curr_dir$file: $entries{$file}"); } else { my $cvtime = timegm($6, $5, $4, $3, $months{$2}, $7 - 1900); my $mtime = (stat _) [9]; if ($cvtime == $mtime) { file_status ("F"); } elsif ($cvtime < $mtime) { file_status ("M"); } else { file_status ("O"); } } } # Now do directories. unless ($no_recurse) { my $save_curr_dir = $curr_dir; foreach $file (sort keys %subdirs) { if ($subdirs{$file} == SUBDIR_FOUND) { $curr_dir = $save_curr_dir; file_status ("X"); } elsif ($subdirs{$file} == SUBDIR_CVS) { process_arg ($save_curr_dir . $file) } } } } # Turn a glob into a regexp without recognizing square brackets. sub glob_to_rx_simple ($) { my ($expr) = @_; # Quote all non-word characters, convert ? to . and * to .* $expr =~ s/(\W)/\\$1/g; $expr =~ s/\\\*/.*/g; $expr =~ s/\\\?/./g; return $expr; } # Turn a glob into a regexp sub glob_to_rx ($) { my $result = ''; my ($expr) = @_; # Find parts in square brackets and copy them literally # Text outside brackets is processed by glob_to_rx_simple() while ($expr ne '') { if ($expr =~ /^(.*?)(\[.*?\])(.*)/) { $expr = $3; $result .= glob_to_rx_simple ($1) . $2; } else { $result .= glob_to_rx_simple ($expr); last; } } return $result; } sub Main () { # types of files to be listed $list_types = "^.FCL"; # long status messages %messages = ( "?" => "Unlisted file", "." => "Known directory", "F" => "Up-to-date file", "C" => "CVS admin directory", "M" => "Modified file", "S" => "Special file", "D" => "Unlisted directory", "L" => "Symbolic link", "H" => "Hard link", "U" => "Lost file", "X" => "Lost directory", "A" => "Newly added", "O" => "Older copy", "G" => "Result of merge", "R" => "Removed file" ); undef @batch_list; # List of files for batch processing undef $batch_cmd; # Command to be executed on files $no_recurse = 0; # If this is set, do only local files $explain_type = 0; # Verbosely print status of files $find_mode = 0; # Don't print status at all $short_print = 0; # Print only filenames without path $no_cvsignore = 0; # Ignore .cvsignore $nolinks = 0; # Do not test for soft- or hard-links my $want_msg = 0; # List possible filetypes and exit my $want_help = 0; # Print help and exit my $want_ver = 0; # Print version and exit my %options = ( "types=s" => \$list_types, "batch=s" => \$batch_cmd, "local" => \$no_recurse, "explain" => \$explain_type, "find" => \$find_mode, "short" => \$short_print, "ignore" => \$no_cvsignore, "messages" => \$want_msg, "nolinks" => \$nolinks, "help" => \$want_help, "version" => \$want_ver ); GetOptions(%options); adjust_types(); list_messages() if $want_msg; usage() if $want_help; version() if $want_ver; unless ($no_cvsignore) { init_ignores(); } if ($#ARGV < 0) { @ARGV = (""); } foreach (@ARGV) { process_arg ($_); } if ($#batch_list >= 0) { do_batch(); } } Main(); dc3dd-7.1.614/build-aux/config.rpath0000755000175000017500000004362711022023316016643 0ustar amedicoamedico#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2008 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix[4-9]*) library_names_spec='$libname$shrext' ;; amigaos*) library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. # Written by Jim Meyering use strict; use warnings; use Getopt::Long; use POSIX qw(strftime); (my $ME = $0) =~ s|.*/||; # use File::Coda; # http://meyering.net/code/Coda/ END { defined fileno STDOUT or return; close STDOUT and return; warn "$ME: failed to close standard output: $!\n"; $? ||= 1; } sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try `$ME --help' for more information.\n"; } else { print $STREAM < ChangeLog EOF } exit $exit_code; } # If the string $S is a well-behaved file name, simply return it. # If it contains white space, quotes, etc., quote it, and return the new string. sub shell_quote($) { my ($s) = @_; if ($s =~ m![^\w+/.,-]!) { # Convert each single quote to '\'' $s =~ s/\'/\'\\\'\'/g; # Then single quote the string. $s = "'$s'"; } return $s; } sub quoted_cmd(@) { return join (' ', map {shell_quote $_} @_); } { my $since_date = '1970-01-01 UTC'; GetOptions ( help => sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, 'since=s' => \$since_date, ) or usage 1; @ARGV and (warn "$ME: too many arguments\n"), usage 1; my @cmd = (qw (git log --log-size), "--since=$since_date", '--pretty=format:%ct %an <%ae>%n%n%s%n%b%n'); open PIPE, '-|', @cmd or die "$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n"; my $prev_date_line = ''; while (1) { defined (my $in = ) or last; $in =~ /^log size (\d+)$/ or die "$ME:$.: Invalid line (expected log size):\n$in"; my $log_nbytes = $1; my $log; my $n_read = read PIPE, $log, $log_nbytes; $n_read == $log_nbytes or die "$ME:$.: unexpected EOF\n"; my @line = split "\n", $log; my $author_line = shift @line; defined $author_line or die "$ME:$.: unexpected EOF\n"; $author_line =~ /^(\d+) (.*>)$/ or die "$ME:$.: Invalid line " . "(expected date/author/email):\n$author_line\n"; my $date_line = sprintf "%s $2\n", strftime ("%F", localtime ($1)); # If this line would be the same as the previous date/name/email # line, then arrange not to print it. if ($date_line ne $prev_date_line) { $prev_date_line eq '' or print "\n"; print $date_line; } $prev_date_line = $date_line; # Omit "Signed-off-by..." lines. @line = grep !/^Signed-off-by: .*>$/, @line; # Remove leading and trailing blank lines. while ($line[0] =~ /^\s*$/) { shift @line; } while ($line[$#line] =~ /^\s*$/) { pop @line; } # Prefix each non-empty line with a TAB. @line = map { length $_ ? "\t$_" : '' } @line; print "\n", join ("\n", @line), "\n"; defined ($in = ) or last; $in ne "\n" and die "$ME:$.: unexpected line:\n$in"; } close PIPE or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n"; # FIXME-someday: include $PROCESS_STATUS in the diagnostic } # Local Variables: # indent-tabs-mode: nil # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "my $VERSION = '" # time-stamp-format: "%:y-%02m-%02d %02H:%02M" # time-stamp-time-zone: "UTC" # time-stamp-end: "'; # UTC" # End: dc3dd-7.1.614/build-aux/git-version-gen0000755000175000017500000001256611064230667017313 0ustar amedicoamedico#!/bin/sh # Print a version string. scriptversion=2008-04-08.07 # Copyright (C) 2007-2008 Free Software Foundation # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, 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. # This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. # It may be run two ways: # - from a git repository in which the "git describe" command below # produces useful output (thus requiring at least one signed tag) # - from a non-git-repo directory containing a .tarball-version file, which # presumes this script is invoked like "./git-version-gen .tarball-version". # In order to use intra-version strings in your project, you will need two # separate generated version string files: # # .tarball-version - present only in a distribution tarball, and not in # a checked-out repository. Created with contents that were learned at # the last time autoconf was run, and used by git-version-gen. Must not # be present in either $(srcdir) or $(builddir) for git-version-gen to # give accurate answers during normal development with a checked out tree, # but must be present in a tarball when there is no version control system. # Therefore, it cannot be used in any dependencies. GNUmakefile has # hooks to force a reconfigure at distribution time to get the value # correct, without penalizing normal development with extra reconfigures. # # .version - present in a checked-out repository and in a distribution # tarball. Usable in dependencies, particularly for files that don't # want to depend on config.h but do want to track version changes. # Delete this file prior to any autoconf run where you want to rebuild # files to pick up a version string change; and leave it stale to # minimize rebuild time after unrelated changes to configure sources. # # It is probably wise to add these two files to .gitignore, so that you # don't accidentally commit either generated file. # # Use the following line in your configure.ac, so that $(VERSION) will # automatically be up-to-date each time configure is run (and note that # since configure.ac no longer includes a version string, Makefile rules # should not depend on configure.ac for version updates). # # AC_INIT([GNU project], # m4_esyscmd([build-aux/git-version-gen .tarball-version]), # [bug-project@example]) # # Then use the following lines in your Makefile.am, so that .version # will be present for dependencies, and so that .tarball-version will # exist in distribution tarballs. # # BUILT_SOURCES = $(top_srcdir)/.version # $(top_srcdir)/.version: # echo $(VERSION) > $@-t && mv $@-t $@ # dist-hook: # echo $(VERSION) > $(distdir)/.tarball-version case $# in 1) ;; *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version"; exit 1;; esac tarball_version_file=$1 nl=' ' # First see if there is a tarball-only version file. # then try "git describe", then default. if test -f $tarball_version_file then v=`cat $tarball_version_file` || exit 1 case $v in *$nl*) v= ;; # reject multi-line output [0-9]*) ;; *) v= ;; esac test -z "$v" \ && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 fi if test -n "$v" then : # use $v elif test -d .git \ && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ || git describe --abbrev=4 HEAD 2>/dev/null` \ && case $v in v[0-9]*) ;; *) (exit 1) ;; esac then # Is this a new git that lists number of commits since the last # tag or the previous older version that did not? # Newer: v6.10-77-g0f8faeb # Older: v6.10-g0f8faeb case $v in *-*-*) : git describe is okay three part flavor ;; *-*) : git describe is older two part flavor # Recreate the number of commits and rewrite such that the # result is the same as if we were using the newer version # of git describe. vtag=`echo "$v" | sed 's/-.*//'` numcommits=`git rev-list "$vtag"..HEAD | wc -l` v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; ;; esac # Change the first '-' to a '.', so version-comparing tools work properly. # Remove the "g" in git describe's output string, to save a byte. v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; else v=UNKNOWN fi v=`echo "$v" |sed 's/^v//'` # Don't declare a version "dirty" merely because a time stamp has changed. git status > /dev/null 2>&1 dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= case "$dirty" in '') ;; *) # Append the suffix only if there isn't one already. case $v in *-dirty) ;; *) v="$v-dirty" ;; esac ;; esac # Omit the trailing newline, so that m4_esyscmd can use the result directly. echo "$v" | tr -d '\012' # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: dc3dd-7.1.614/build-aux/gnupload0000755000175000017500000001117711064230667016104 0ustar amedicoamedico#!/bin/sh # Sign files and upload them. scriptversion=2008-04-02.19 # Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, 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, see . # Originally written by Alexandre Duret-Lutz . set -e GPG='gpg --batch --no-tty' to= usage="Usage: $0 [OPTIONS]... FILES... Sign all FILES, and upload them to selected destinations, according to . Options: --help print this help text and exit --to DEST specify one destination for FILES (multiple --to options are allowed) --user NAME sign with key NAME --version output version information and exit Recognized destinations are: alpha.gnu.org:DIRECTORY savannah.gnu.org:DIRECTORY savannah.nongnu.org:DIRECTORY ftp.gnu.org:DIRECTORY build directive files and upload files by FTP [user@]host:DIRECTORY upload files with scp Example: gnupload --to sources.redhat.com:~ftp/pub/automake \\ --to alpha.gnu.org:automake \\ automake-1.8.2b.tar.gz automake-1.8.2b.tar.bz2 Report bugs to . Send patches to ." while test -n "$1"; do case $1 in --help) echo "$usage" exit $? ;; --to) if test -z "$2"; then echo "$0: Missing argument for --to" 1>&2 exit 1 else to="$to $2" shift 2 fi ;; --user) if test -z "$2"; then echo "$0: Missing argument for --user" 1>&2 exit 1 else GPG="$GPG --local-user $2" shift 2 fi ;; --version) echo "gnupload $scriptversion" exit $? ;; -*) echo "$0: Unknown option \`$1', try \`$0 --help'" 1>&2 exit 1 ;; *) break ;; esac done if test $# = 0; then echo "$0: No file to upload" 1>&2 exit 1 else : fi # Make sure all files exist. We don't want to ask # for the passphrase if the script will fail. for file do if test ! -f $file; then echo "$0: Cannot find \`$file'" 1>&2 exit 1 else : fi done # Make sure passphrase is not exported in the environment. unset passphrase # Reset PATH to be sure that echo is a built-in. We will later use # `echo $passphrase' to output the passphrase, so it is important that # it is a built-in (third-party programs tend to appear in `ps' # listings with their arguments...). # Remember this script runs with `set -e', so if echo is not built-in # it will exit now. PATH=/empty echo -n "Enter GPG passphrase: " stty -echo read -r passphrase stty echo echo for file do echo "Signing $file..." rm -f $file.sig echo $passphrase | $GPG --passphrase-fd 0 -ba -o $file.sig $file done for dest in $to do for file do echo "Uploading $file to $dest..." files="$file $file.sig" destdir=`echo $dest | sed 's/[^:]*://'` case $dest in alpha.gnu.org:*) rm -f $file.directive $file.directive.asc cat >$file.directive<$file.directive<&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: dc3dd-7.1.614/build-aux/vc-list-files0000755000175000017500000000626711064230667016760 0ustar amedicoamedico#!/bin/sh # List version-controlled file names. # Print a version string. scriptversion=2008-05-01.10 # Copyright (C) 2006-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # List the specified version-controlled files. # With no argument, list them all. With a single DIRECTORY argument, # list the version-controlled files in that directory. # If there's an argument, it must be a single, "."-relative directory name. # cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/ postprocess= case $1 in --help) cat <. EOF exit ;; --version) year=`echo "$scriptversion" | sed 's/[^0-9].*//'` cat < This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. EOF exit ;; -C) test "$2" = . || postprocess="| sed 's|^|$2/|'" cd "$2" || exit 1 shift; shift ;; esac dir= case $# in 0) ;; 1) dir=$1 ;; *) echo "$0: too many arguments" 1>&2 echo "Usage: $0 [-C srcdir] [DIR]" 1>&2; exit 1;; esac test "x$dir" = x && dir=. if test -d .git; then eval exec git ls-files '"$dir"' $postprocess elif test -d .hg; then eval exec hg locate '"$dir/*"' $postprocess elif test -d .bzr; then test "$postprocess" = '' && postprocess="| sed 's|^\./||'" eval exec bzr ls --versioned '"$dir"' $postprocess elif test -d CVS; then test "$postprocess" = '' && postprocess="| sed 's|^\./||'" if test -x build-aux/cvsu; then eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess elif (cvsu --help) >/dev/null 2>&1; then eval cvsu --find --types=AFGM '"$dir"' $postprocess else eval awk -F/ \''{ \ if (!$1 && $3 !~ /^-/) { \ f=FILENAME; \ sub(/CVS\/Entries/, "", f); \ print f $2; \ }}'\'' \ `find "$dir" -name Entries -print` /dev/null' $postprocess fi else echo "$0: Failed to determine type of version control used in `pwd`" 1>&2 exit 1 fi # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: dc3dd-7.1.614/build-aux/texinfo.tex0000644000175000017500000105530611064230667016546 0ustar amedicoamedico% texinfo.tex -- TeX macros to handle Texinfo files. % % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % \def\texinfoversion{2008-04-18.10} % % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, % 2007, 2008 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as % published by the Free Software Foundation, either version 3 of the % License, or (at your option) any later version. % % This texinfo.tex file 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 . % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without % restriction. (This has been our intent since Texinfo was invented.) % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: % http://www.gnu.org/software/texinfo/ (the Texinfo home page), or % ftp://tug.org/tex/texinfo.tex % (and all CTAN mirrors, see http://www.ctan.org). % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the % problem. Patches are, of course, greatly appreciated. % % To process a Texinfo manual with TeX, it's most reliable to use the % texi2dvi shell script that comes with the distribution. For a simple % manual foo.texi, however, you can get away with this: % tex foo.texi % texindex foo.?? % tex foo.texi % tex foo.texi % dvips foo.dvi -o # or whatever; this makes foo.ps. % The extra TeX runs get the cross-reference information correct. % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. % % It is possible to adapt texinfo.tex for other languages, to some % extent. You can get the existing language-specific files from the % full Texinfo distribution. % % The GNU Texinfo home page is http://www.gnu.org/software/texinfo. \message{Loading texinfo [version \texinfoversion]:} % If in a .fmt file, print the version number % and turn on active characters that we couldn't do earlier because % they might have appeared in the input file name. \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. % For @tex, we can use \tabalign. \let\+ = \relax % Save some plain tex macros whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet \let\ptexc=\c \let\ptexcomma=\, \let\ptexdot=\. \let\ptexdots=\dots \let\ptexend=\end \let\ptexequiv=\equiv \let\ptexexclam=\! \let\ptexfootnote=\footnote \let\ptexgtr=> \let\ptexhat=^ \let\ptexi=\i \let\ptexindent=\indent \let\ptexinsert=\insert \let\ptexlbrace=\{ \let\ptexless=< \let\ptexnewwrite\newwrite \let\ptexnoindent=\noindent \let\ptexplus=+ \let\ptexrbrace=\} \let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t \let\ptextop=\top % If this character appears in an error message or help string, it % starts a new line in the output. \newlinechar = `^^J % Use TeX 3.0's \inputlineno to get the line number, for better error % messages, but if we're using an old version of TeX, don't do anything. % \ifx\inputlineno\thisisundefined \let\linenumber = \empty % Pre-3.0. \else \def\linenumber{l.\the\inputlineno:\space} \fi % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi \ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi \ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi \ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi \ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi \ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi \ifx\putwordof\undefined \gdef\putwordof{of}\fi \ifx\putwordon\undefined \gdef\putwordon{on}\fi \ifx\putwordpage\undefined \gdef\putwordpage{page}\fi \ifx\putwordsection\undefined \gdef\putwordsection{section}\fi \ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi \ifx\putwordsee\undefined \gdef\putwordsee{see}\fi \ifx\putwordSee\undefined \gdef\putwordSee{See}\fi \ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi \ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi % \ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi \ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi \ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi \ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi \ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi \ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi \ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi \ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi \ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi \ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi \ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi \ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi % \ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi \ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi \ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi % Since the category of space is not known, we have to be careful. \chardef\spacecat = 10 \def\spaceisspace{\catcode`\ =\spacecat} % sometimes characters are active, so we need control sequences. \chardef\colonChar = `\: \chardef\commaChar = `\, \chardef\dashChar = `\- \chardef\dotChar = `\. \chardef\exclamChar= `\! \chardef\lquoteChar= `\` \chardef\questChar = `\? \chardef\rquoteChar= `\' \chardef\semiChar = `\; \chardef\underChar = `\_ % Ignore a token. % \def\gobble#1{} % The following is used inside several \edef's. \def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} % Hyphenation fixes. \hyphenation{ Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script ap-pen-dix bit-map bit-maps data-base data-bases eshell fall-ing half-way long-est man-u-script man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces spell-ing spell-ings stand-alone strong-est time-stamp time-stamps which-ever white-space wide-spread wrap-around } % Margin to add to right of even pages, to left of odd pages. \newdimen\bindingoffset \newdimen\normaloffset \newdimen\pagewidth \newdimen\pageheight % For a final copy, take out the rectangles % that mark overfull boxes (in case you have decided % that the text looks ok even though it passes the margin). % \def\finalout{\overfullrule=0pt} % @| inserts a changebar to the left of the current line. It should % surround any changed text. This approach does *not* work if the % change spans more than two lines of output. To handle that, we would % have adopt a much more difficult approach (putting marks into the main % vertical list for the beginning and end of each change). % \def\|{% % \vadjust can only be used in horizontal mode. \leavevmode % % Append this vertical mode material after the current line in the output. \vadjust{% % We want to insert a rule with the height and depth of the current % leading; that is exactly what \strutbox is supposed to record. \vskip-\baselineskip % % \vadjust-items are inserted at the left edge of the type. So % the \llap here moves out into the left-hand margin. \llap{% % % For a thicker or thinner bar, change the `1pt'. \vrule height\baselineskip width1pt % % This is the space between the bar and the text. \hskip 12pt }% }% } % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, % since that produces some useless output on the terminal. We also make % some effort to order the tracing commands to reduce output in the log % file; cf. trace.sty in LaTeX. % \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% \def\loggingall{% \tracingstats2 \tracingpages1 \tracinglostchars2 % 2 gives us more in etex \tracingparagraphs1 \tracingoutput1 \tracingmacros2 \tracingrestores1 \showboxbreadth\maxdimen \showboxdepth\maxdimen \ifx\eTeXversion\undefined\else % etex gives us more logging \tracingscantokens1 \tracingifs1 \tracinggroups1 \tracingnesting2 \tracingassigns1 \fi \tracingcommands3 % 3 gives us more in etex \errorcontextlines16 }% % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. % \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi\fi} \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount \removelastskip\penalty-100\medskip\fi\fi} \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} % For @cropmarks command. % Do @cropmarks to get crop marks. % \newif\ifcropmarks \let\cropmarks = \cropmarkstrue % % Dimensions to add cropmarks at corners. % Added by P. A. MacKay, 12 Nov. 1986 % \newdimen\outerhsize \newdimen\outervsize % set by the paper size routines \newdimen\cornerlong \cornerlong=1pc \newdimen\cornerthick \cornerthick=.3pt \newdimen\topandbottommargin \topandbottommargin=.75in % Output a mark which sets \thischapter, \thissection and \thiscolor. % We dump everything together because we only have one kind of mark. % This works because we only use \botmark / \topmark, not \firstmark. % % A mark contains a subexpression of the \ifcase ... \fi construct. % \get*marks macros below extract the needed part using \ifcase. % % Another complication is to let the user choose whether \thischapter % (\thissection) refers to the chapter (section) in effect at the top % of a page, or that at the bottom of a page. The solution is % described on page 260 of The TeXbook. It involves outputting two % marks for the sectioning macros, one before the section break, and % one after. I won't pretend I can describe this better than DEK... \def\domark{% \toks0=\expandafter{\lastchapterdefs}% \toks2=\expandafter{\lastsectiondefs}% \toks4=\expandafter{\prevchapterdefs}% \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% \the\toks0 \the\toks2 \noexpand\or \the\toks4 \the\toks6 \noexpand\else \the\toks8 }% } % \topmark doesn't work for the very first chapter (after the title % page or the contents), so we use \firstmark there -- this gets us % the mark with the chapter defs, unless the user sneaks in, e.g., % @setcolor (or @url, or @link, etc.) between @contents and the very % first @chapter. \def\gettopheadingmarks{% \ifcase0\topmark\fi \ifx\thischapter\empty \ifcase0\firstmark\fi \fi } \def\getbottomheadingmarks{\ifcase1\botmark\fi} \def\getcolormarks{\ifcase2\topmark\fi} % Avoid "undefined control sequence" errors. \def\lastchapterdefs{} \def\lastsectiondefs{} \def\prevchapterdefs{} \def\prevsectiondefs{} \def\lastcolordefs{} % Main output routine. \chardef\PAGE = 255 \output = {\onepageout{\pagecontents\PAGE}} \newbox\headlinebox \newbox\footlinebox % \onepageout takes a vbox as an argument. Note that \pagecontents % does insertions, but you have to call it yourself. \def\onepageout#1{% \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi % \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% % {% % Have to do this stuff outside the \shipout because we want it to % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % \indexdummies % don't expand commands in the output. \normalturnoffactive % \ in index entries must not stay \, e.g., if % the page break happens to be in the middle of an example. % We don't want .vr (or whatever) entries like this: % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} % "\acronym" won't work when it's read back in; % it needs to be % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi % \ifcropmarks \vbox to \outervsize\bgroup \hsize = \outerhsize \vskip-\topandbottommargin \vtop to0pt{% \line{\ewtop\hfil\ewtop}% \nointerlineskip \line{% \vbox{\moveleft\cornerthick\nstop}% \hfill \vbox{\moveright\cornerthick\nstop}% }% \vss}% \vskip\topandbottommargin \line\bgroup \hfil % center the page within the outer (page) hsize. \ifodd\pageno\hskip\bindingoffset\fi \vbox\bgroup \fi % \unvbox\headlinebox \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. % (We lessened \vsize for it in \oddfootingyyy.) % The \baselineskip=24pt in plain's \makefootline has no effect. \vskip 24pt \unvbox\footlinebox \fi % \ifcropmarks \egroup % end of \vbox\bgroup \hfil\egroup % end of (centering) \line\bgroup \vskip\topandbottommargin plus1fill minus1fill \boxmaxdepth = \cornerthick \vbox to0pt{\vss \line{% \vbox{\moveleft\cornerthick\nsbot}% \hfill \vbox{\moveright\cornerthick\nsbot}% }% \nointerlineskip \line{\ewbot\hfil\ewbot}% }% \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox }% end of group with \indexdummies \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } \newinsert\margin \dimen\margin=\maxdimen \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} {\catcode`\@ =11 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi % marginal hacks, juha@viisa.uucp (Juha Takala) \ifvoid\margin\else % marginal info is present \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi \dimen@=\dp#1\relax \unvbox#1\relax \ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } % Here are the rules for the cropmarks. Note that they are % offset so that the space between them is truly \outerhsize or \outervsize % (P. A. MacKay, 12 November, 1986) % \def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} \def\nstop{\vbox {\hrule height\cornerthick depth\cornerlong width\cornerthick}} \def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} \def\nsbot{\vbox {\hrule height\cornerlong depth\cornerthick width\cornerthick}} % Parse an argument, then pass it to #1. The argument is the rest of % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. % \def\parsearg{\parseargusing{}} \def\parseargusing#1#2{% \def\argtorun{#2}% \begingroup \obeylines \spaceisspace #1% \parseargline\empty% Insert the \empty token, see \finishparsearg below. } {\obeylines % \gdef\parseargline#1^^M{% \endgroup % End of the group started in \parsearg. \argremovecomment #1\comment\ArgTerm% }% } % First remove any @comment, then any @c comment. \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} % Each occurrence of `\^^M' or `\^^M' is replaced by a single space. % % \argremovec might leave us with trailing space, e.g., % @end itemize @c foo % This space token undergoes the same procedure and is eventually removed % by \finishparsearg. % \def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} \def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} \def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% \def\temp{#3}% \ifx\temp\empty % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: \let\temp\finishparsearg \else \let\temp\argcheckspaces \fi % Put the space token in: \temp#1 #3\ArgTerm } % If a _delimited_ argument is enclosed in braces, they get stripped; so % to get _exactly_ the rest of the line, we had to prevent such situation. % We prepended an \empty token at the very beginning and we expand it now, % just before passing the control to \argtorun. % (Similarly, we have to think about #3 of \argcheckspacesY above: it is % either the null string, or it ends with \^^M---thus there is no danger % that a pair of braces would be stripped. % % But first, we have to remove the trailing space token. % \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} % \parseargdef\foo{...} % is roughly equivalent to % \def\foo{\parsearg\Xfoo} % \def\Xfoo#1{...} % % Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my % favourite TeX trick. --kasal, 16nov03 \def\parseargdef#1{% \expandafter \doparseargdef \csname\string#1\endcsname #1% } \def\doparseargdef#1#2{% \def#2{\parsearg#1}% \def#1##1% } % Several utility definitions with active space: { \obeyspaces \gdef\obeyedspace{ } % Make each space character in the input produce a normal interword % space in the output. Don't allow a line break at this space, as this % is used only in environments like @example, where each line of input % should produce a line of output anyway. % \gdef\sepspaces{\obeyspaces\let =\tie} % If an index command is used in an @example environment, any spaces % therein should become regular spaces in the raw index file, not the % expansion of \tie (\leavevmode \penalty \@M \ ). \gdef\unsepspaces{\let =\space} } \def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} % Define the framework for environments in texinfo.tex. It's used like this: % % \envdef\foo{...} % \def\Efoo{...} % % It's the responsibility of \envdef to insert \begingroup before the % actual body; @end closes the group after calling \Efoo. \envdef also % defines \thisenv, so the current environment is known; @end checks % whether the environment name matches. The \checkenv macro can also be % used to check whether the current environment is the one expected. % % Non-false conditionals (@iftex, @ifset) don't fit into this, so they % are not treated as environments; they don't open a group. (The % implementation of @end takes care not to call \endgroup in this % special case.) % At run-time, environments start with this: \def\startenvironment#1{\begingroup\def\thisenv{#1}} % initialize \let\thisenv\empty % ... but they get defined via ``\envdef\foo{...}'': \long\def\envdef#1#2{\def#1{\startenvironment#1#2}} \def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} % Check whether we're in the right environment: \def\checkenv#1{% \def\temp{#1}% \ifx\thisenv\temp \else \badenverr \fi } % Environment mismatch, #1 expected: \def\badenverr{% \errhelp = \EMsimple \errmessage{This command can appear only \inenvironment\temp, not \inenvironment\thisenv}% } \def\inenvironment#1{% \ifx#1\empty out of any environment% \else in environment \expandafter\string#1% \fi } % @end foo executes the definition of \Efoo. % But first, it executes a specialized version of \checkenv % \parseargdef\end{% \if 1\csname iscond.#1\endcsname \else % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 \expandafter\checkenv\csname#1\endcsname \csname E#1\endcsname \endgroup \fi } \newhelp\EMsimple{Press RETURN to continue.} %% Simple single-character @ commands % @@ prints an @ % Kludge this until the fonts are right (grr). \def\@{{\tt\char64}} % This is turned off because it was never documented % and you can use @w{...} around a quote to suppress ligatures. %% Define @` and @' to be the same as ` and ' %% but suppressing ligatures. %\def\`{{`}} %\def\'{{'}} % Used to generate quoted braces. \def\mylbrace {{\tt\char123}} \def\myrbrace {{\tt\char125}} \let\{=\mylbrace \let\}=\myrbrace \begingroup % Definitions to produce \{ and \} commands for indices, % and @{ and @} for the aux/toc files. \catcode`\{ = \other \catcode`\} = \other \catcode`\[ = 1 \catcode`\] = 2 \catcode`\! = 0 \catcode`\\ = \other !gdef!lbracecmd[\{]% !gdef!rbracecmd[\}]% !gdef!lbraceatcmd[@{]% !gdef!rbraceatcmd[@}]% !endgroup % @comma{} to avoid , parsing problems. \let\comma = , % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent % Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. \let\, = \c \let\dotaccent = \. \def\ringaccent#1{{\accent23 #1}} \let\tieaccent = \t \let\ubaraccent = \b \let\udotaccent = \d % Other special characters: @questiondown @exclamdown @ordf @ordm % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. \def\questiondown{?`} \def\exclamdown{!`} \def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} \def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} % Dotless i and dotless j, used for accents. \def\imacro{i} \def\jmacro{j} \def\dotless#1{% \def\temp{#1}% \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi \else \errmessage{@dotless can be used only with i or j}% \fi\fi } % The \TeX{} logo, as in plain, but resetting the spacing so that a % period following counts as ending a sentence. (Idea found in latex.) % \edef\TeX{\TeX \spacefactor=1000 } % @LaTeX{} logo. Not quite the same results as the definition in % latex.ltx, since we use a different font for the raised A; it's most % convenient for us to use an explicitly smaller font, rather than using % the \scriptstyle font (since we don't reset \scriptstyle and % \scriptscriptstyle). % \def\LaTeX{% L\kern-.36em {\setbox0=\hbox{T}% \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% \kern-.15em \TeX } % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and % since \penalty is valid in vertical mode, we'd end up putting the % penalty on the vertical list instead of in the new paragraph. {\catcode`@ = 11 % Avoid using \@M directly, because that causes trouble % if the definition is written into an index file. \global\let\tiepenalty = \@M \gdef\tie{\leavevmode\penalty\tiepenalty\ } } % @: forces normal size whitespace following. \def\:{\spacefactor=1000 } % @* forces a line break. \def\*{\hfil\break\hbox{}\ignorespaces} % @/ allows a line break. \let\/=\allowbreak % @. is an end-of-sentence period. \def\.{.\spacefactor=\endofsentencespacefactor\space} % @! is an end-of-sentence bang. \def\!{!\spacefactor=\endofsentencespacefactor\space} % @? is an end-of-sentence query. \def\?{?\spacefactor=\endofsentencespacefactor\space} % @frenchspacing on|off says whether to put extra space after punctuation. % \def\onword{on} \def\offword{off} % \parseargdef\frenchspacing{% \def\temp{#1}% \ifx\temp\onword \plainfrenchspacing \else\ifx\temp\offword \plainnonfrenchspacing \else \errhelp = \EMsimple \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% \fi\fi } % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would % produce a whole line of output instead of starting the paragraph. \def\w#1{\leavevmode\hbox{#1}} % @group ... @end group forces ... to be all on one page, by enclosing % it in a TeX vbox. We use \vtop instead of \vbox to construct the box % to keep its height that of a normal line. According to the rules for % \topskip (p.114 of the TeXbook), the glue inserted is % max (\topskip - \ht (first item), 0). If that height is large, % therefore, no glue is inserted, and the space between the headline and % the text is small, which looks bad. % % Another complication is that the group might be very large. This can % cause the glue on the previous page to be unduly stretched, because it % does not have much material. In this case, it's better to add an % explicit \vfill so that the extra space is at the bottom. The % threshold for doing this is if the group is more than \vfilllimit % percent of a page (\vfilllimit can be changed inside of @tex). % \newbox\groupbox \def\vfilllimit{0.7} % \envdef\group{% \ifnum\catcode`\^^M=\active \else \errhelp = \groupinvalidhelp \errmessage{@group invalid in context where filling is enabled}% \fi \startsavinginserts % \setbox\groupbox = \vtop\bgroup % Do @comment since we are called inside an environment such as % @example, where each end-of-line in the input causes an % end-of-line in the output. We don't want the end-of-line after % the `@group' to put extra space in the output. Since @group % should appear on a line by itself (according to the Texinfo % manual), we don't worry about eating any user text. \comment } % % The \vtop produces a box with normal height and large depth; thus, TeX puts % \baselineskip glue before it, and (when the next line of text is done) % \lineskip glue after it. Thus, space below is not quite equal to space % above. But it's pretty close. \def\Egroup{% % To get correct interline space between the last line of the group % and the first line afterwards, we have to propagate \prevdepth. \endgraf % Not \par, as it may have been set to \lisppar. \global\dimen1 = \prevdepth \egroup % End the \vtop. % \dimen0 is the vertical size of the group's box. \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox % \dimen2 is how much space is left on the page (more or less). \dimen2 = \pageheight \advance\dimen2 by -\pagetotal % if the group doesn't fit on the current page, and it's a big big % group, force a page break. \ifdim \dimen0 > \dimen2 \ifdim \pagetotal < \vfilllimit\pageheight \page \fi \fi \box\groupbox \prevdepth = \dimen1 \checkinserts } % % TeX puts in an \escapechar (i.e., `@') at the beginning of the help % message, so this ends up printing `@group can only ...'. % \newhelp\groupinvalidhelp{% group can only be used in environments such as @example,^^J% where each line of input produces a line of output.} % @need space-in-mils % forces a page break if there is not space-in-mils remaining. \newdimen\mil \mil=0.001in % Old definition--didn't work. %\parseargdef\need{\par % %% This method tries to make TeX break the page naturally %% if the depth of the box does not fit. %{\baselineskip=0pt% %\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak %\prevdepth=-1000pt %}} \parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. \par % % If the @need value is less than one line space, it's useless. \dimen0 = #1\mil \dimen2 = \ht\strutbox \advance\dimen2 by \dp\strutbox \ifdim\dimen0 > \dimen2 % % Do a \strut just to make the height of this box be normal, so the % normal leading is inserted relative to the preceding line. % And a page break here is fine. \vtop to #1\mil{\strut\vfil}% % % TeX does not even consider page breaks if a penalty added to the % main vertical list is 10000 or more. But in order to see if the % empty box we just added fits on the page, we must make it consider % page breaks. On the other hand, we don't want to actually break the % page after the empty box. So we use a penalty of 9999. % % There is an extremely small chance that TeX will actually break the % page at this \penalty, if there are no other feasible breakpoints in % sight. (If the user is using lots of big @group commands, which % almost-but-not-quite fill up a page, TeX will have a hard time doing % good page breaking, for example.) However, I could not construct an % example where a page broke at this \penalty; if it happens in a real % document, then we can reconsider our strategy. \penalty9999 % % Back up by the size of the box, whether we did a page break or not. \kern -#1\mil % % Do not allow a page break right after this kern. \nobreak \fi } % @br forces paragraph break (and is undocumented). \let\br = \par % @page forces the start of a new page. % \def\page{\par\vfill\supereject} % @exdent text.... % outputs text on separate line in roman font, starting at standard page margin % This records the amount of indent in the innermost environment. % That's how much \exdent should take out. \newskip\exdentamount % This defn is used inside fill environments such as @defun. \parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} % This defn is used inside nofill environments such as @example. \parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount \leftline{\hskip\leftskip{\rm#1}}}} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion % class. WHICH is `l' or `r'. % \newskip\inmarginspacing \inmarginspacing=1cm \def\strutdepth{\dp\strutbox} % \def\doinmargin#1#2{\strut\vadjust{% \nobreak \kern-\strutdepth \vtop to \strutdepth{% \baselineskip=\strutdepth \vss % if you have multiple lines of stuff to put here, you'll need to % make the vbox yourself of the appropriate size. \ifx#1l% \llap{\ignorespaces #2\hskip\inmarginspacing}% \else \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% \fi \null }% }} \def\inleftmargin{\doinmargin l} \def\inrightmargin{\doinmargin r} % % @inmargin{TEXT [, RIGHT-TEXT]} % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; % else use TEXT for both). % \def\inmargin#1{\parseinmargin #1,,\finish} \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \def\lefttext{#1}% have both texts \def\righttext{#2}% \else \def\lefttext{#1}% have only one text \def\righttext{#1}% \fi % \ifodd\pageno \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin \else \def\temp{\inleftmargin\lefttext}% \fi \temp } % @include FILE -- \input text of FILE. % \def\include{\parseargusing\filenamecatcodes\includezzz} \def\includezzz#1{% \pushthisfilestack \def\thisfile{#1}% {% \makevalueexpandable % we want to expand any @value in FILE. \turnoffactive % and allow special characters in the expansion \edef\temp{\noexpand\input #1 }% % % This trickery is to read FILE outside of a group, in case it makes % definitions, etc. \expandafter }\temp \popthisfilestack } \def\filenamecatcodes{% \catcode`\\=\other \catcode`~=\other \catcode`^=\other \catcode`_=\other \catcode`|=\other \catcode`<=\other \catcode`>=\other \catcode`+=\other \catcode`-=\other } \def\pushthisfilestack{% \expandafter\pushthisfilestackX\popthisfilestack\StackTerm } \def\pushthisfilestackX{% \expandafter\pushthisfilestackY\thisfile\StackTerm } \def\pushthisfilestackY #1\StackTerm #2\StackTerm {% \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% } \def\popthisfilestack{\errthisfilestackempty} \def\errthisfilestackempty{\errmessage{Internal error: the stack of filenames is empty.}} \def\thisfile{} % @center line % outputs that line, centered. % \parseargdef\center{% \ifhmode \let\next\centerH \else \let\next\centerV \fi \next{\hfil \ignorespaces#1\unskip \hfil}% } \def\centerH#1{% {% \hfil\break \advance\hsize by -\leftskip \advance\hsize by -\rightskip \line{#1}% \break }% } \def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} % @sp n outputs n lines of vertical space \parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment \def\comment{\begingroup \catcode`\^^M=\other% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% \commentxxx} {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} \let\c=\comment % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. % NCHARS can also be the word `asis' or `none'. % We cannot feasibly implement @paragraphindent asis, though. % \def\asisword{asis} % no translation, these are keywords \def\noneword{none} % \parseargdef\paragraphindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \defaultparindent = 0pt \else \defaultparindent = #1em \fi \fi \parindent = \defaultparindent } % @exampleindent NCHARS % We'll use ems for NCHARS like @paragraphindent. % It seems @exampleindent asis isn't necessary, but % I preserve it to make it similar to @paragraphindent. \parseargdef\exampleindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \lispnarrowing = 0pt \else \lispnarrowing = #1em \fi \fi } % @firstparagraphindent WORD % If WORD is `none', then suppress indentation of the first paragraph % after a section heading. If WORD is `insert', then do indent at such % paragraphs. % % The paragraph indentation is suppressed or not by calling % \suppressfirstparagraphindent, which the sectioning commands do. % We switch the definition of this back and forth according to WORD. % By default, we suppress indentation. % \def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} \def\insertword{insert} % \parseargdef\firstparagraphindent{% \def\temp{#1}% \ifx\temp\noneword \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent \else\ifx\temp\insertword \let\suppressfirstparagraphindent = \relax \else \errhelp = \EMsimple \errmessage{Unknown @firstparagraphindent option `\temp'}% \fi\fi } % Here is how we actually suppress indentation. Redefine \everypar to % \kern backwards by \parindent, and then reset itself to empty. % % We also make \indent itself not actually do anything until the next % paragraph. % \gdef\dosuppressfirstparagraphindent{% \gdef\indent{% \restorefirstparagraphindent \indent }% \gdef\noindent{% \restorefirstparagraphindent \noindent }% \global\everypar = {% \kern -\parindent \restorefirstparagraphindent }% } \gdef\restorefirstparagraphindent{% \global \let \indent = \ptexindent \global \let \noindent = \ptexnoindent \global \everypar = {}% } % @asis just yields its argument. Used with @table, for example. % \def\asis#1{#1} % @math outputs its argument in math mode. % % One complication: _ usually means subscripts, but it could also mean % an actual _ character, as in @math{@var{some_variable} + 1}. So make % _ active, and distinguish by seeing if the current family is \slfam, % which is what @var uses. { \catcode`\_ = \active \gdef\mathunderscore{% \catcode`\_=\active \def_{\ifnum\fam=\slfam \_\else\sb\fi}% } } % Another complication: we want \\ (and @\) to output a \ character. % FYI, plain.tex uses \\ as a temporary control sequence (why?), but % this is not advertised and we don't care. Texinfo does not % otherwise define @\. % % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} % \def\math{% \tex \mathunderscore \let\\ = \mathbackslash \mathactive % make the texinfo accent commands work in math mode \let\"=\ddot \let\'=\acute \let\==\bar \let\^=\hat \let\`=\grave \let\u=\breve \let\v=\check \let\~=\tilde \let\dotaccent=\dot $\finishmath } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. % Some active characters (such as <) are spaced differently in math. % We have to reset their definitions in case the @math was an argument % to a command which sets the catcodes (such as @item or @section). % { \catcode`^ = \active \catcode`< = \active \catcode`> = \active \catcode`+ = \active \gdef\mathactive{% \let^ = \ptexhat \let< = \ptexless \let> = \ptexgtr \let+ = \ptexplus } } % Some math mode symbols. \def\bullet{$\ptexbullet$} \def\geq{\ifmmode \ge\else $\ge$\fi} \def\leq{\ifmmode \le\else $\le$\fi} \def\minus{\ifmmode -\else $-$\fi} % @dots{} outputs an ellipsis using the current font. % We do .5em per period so that it has the same spacing in the cm % typewriter fonts as three actual period characters; on the other hand, % in other typewriter fonts three periods are wider than 1.5em. So do % whichever is larger. % \def\dots{% \leavevmode \setbox0=\hbox{...}% get width of three periods \ifdim\wd0 > 1.5em \dimen0 = \wd0 \else \dimen0 = 1.5em \fi \hbox to \dimen0{% \hskip 0pt plus.25fil .\hskip 0pt plus1fil .\hskip 0pt plus1fil .\hskip 0pt plus.5fil }% } % @enddots{} is an end-of-sentence ellipsis. % \def\enddots{% \dots \spacefactor=\endofsentencespacefactor } % @comma{} is so commas can be inserted into text without messing up % Texinfo's parsing. % \let\comma = , % @refill is a no-op. \let\refill=\relax % If working on a large document in chapters, it is convenient to % be able to disable indexing, cross-referencing, and contents, for test runs. % This is done with @novalidate (before @setfilename). % \newif\iflinks \linkstrue % by default we want the aux files. \let\novalidate = \linksfalse % @setfilename is done at the beginning of every texinfo file. % So open here the files we need to have open while reading the input. % This makes it possible to make a .fmt file for texinfo. \def\setfilename{% \fixbackslash % Turn off hack to swallow `\input texinfo'. \iflinks \tryauxfile % Open the new aux file. TeX will close it automatically at exit. \immediate\openout\auxfile=\jobname.aux \fi % \openindices needs to do some work in any case. \openindices \let\setfilename=\comment % Ignore extra @setfilename cmds. % % If texinfo.cnf is present on the system, read it. % Useful for site-wide @afourpaper, etc. \openin 1 texinfo.cnf \ifeof 1 \else \input texinfo.cnf \fi \closein 1 % \comment % Ignore the actual filename. } % Called from \setfilename. % \def\openindices{% \newindex{cp}% \newcodeindex{fn}% \newcodeindex{vr}% \newcodeindex{tp}% \newcodeindex{ky}% \newcodeindex{pg}% } % @bye. \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} \message{pdf,} % adobe `portable' document format \newcount\tempnum \newcount\lnkcount \newtoks\filename \newcount\filenamelength \newcount\pgn \newtoks\toksA \newtoks\toksB \newtoks\toksC \newtoks\toksD \newbox\boxA \newcount\countA \newif\ifpdf \newif\ifpdfmakepagedest % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 % can be set). So we test for \relax and 0 as well as \undefined, % borrowed from ifpdf.sty. \ifx\pdfoutput\undefined \else \ifx\pdfoutput\relax \else \ifcase\pdfoutput \else \pdftrue \fi \fi \fi % PDF uses PostScript string constants for the names of xref targets, % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. % http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html % (and related messages, the final outcome is that it is up to the TeX % user to double the backslashes and otherwise make the string valid, so % that's what we do). % double active backslashes. % {\catcode`\@=0 \catcode`\\=\active @gdef@activebackslashdouble{% @catcode`@\=@active @let\=@doublebackslash} } % To handle parens, we must adopt a different approach, since parens are % not active characters. hyperref.dtx (which has the same problem as % us) handles it with this amazing macro to replace tokens, with minor % changes for Texinfo. It is included here under the GPL by permission % from the author, Heiko Oberdiek. % % #1 is the tokens to replace. % #2 is the replacement. % #3 is the control sequence with the string. % \def\HyPsdSubst#1#2#3{% \def\HyPsdReplace##1#1##2\END{% ##1% \ifx\\##2\\% \else #2% \HyReturnAfterFi{% \HyPsdReplace##2\END }% \fi }% \xdef#3{\expandafter\HyPsdReplace#3#1\END}% } \long\def\HyReturnAfterFi#1\fi{\fi#1} % #1 is a control sequence in which to do the replacements. \def\backslashparens#1{% \xdef#1{#1}% redefine it as its expansion; the definition is simply % \lastnode when called from \setref -> \pdfmkdest. \HyPsdSubst{(}{\realbackslash(}{#1}% \HyPsdSubst{)}{\realbackslash)}{#1}% } \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images with PDF output, and none of those formats could be found. (.eps cannot be supported due to the design of the PDF format; use regular TeX (DVI output) for that.)} \ifpdf % % Color manipulation macros based on pdfcolor.tex. \def\cmykDarkRed{0.28 1 1 0.35} \def\cmykBlack{0 0 0 1} % \def\pdfsetcolor#1{\pdfliteral{#1 k}} % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. \def\setcolor#1{% \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}% \domark \pdfsetcolor{#1}% } % \def\maincolor{\cmykBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} \def\lastcolordefs{} % \def\makefootline{% \baselineskip24pt \line{\pdfsetcolor{\maincolor}\the\footline}% } % \def\makeheadline{% \vbox to 0pt{% \vskip-22.5pt \line{% \vbox to8.5pt{}% % Extract \thiscolor definition from the marks. \getcolormarks % Typeset the headline with \maincolor, then restore the color. \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% }% \vss }% \nointerlineskip } % % \pdfcatalog{/PageMode /UseOutlines} % % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % % pdftex (and the PDF format) support .png, .jpg, .pdf (among % others). Let's try in that order. \let\pdfimgext=\empty \begingroup \openin 1 #1.png \ifeof 1 \openin 1 #1.jpg \ifeof 1 \openin 1 #1.jpeg \ifeof 1 \openin 1 #1.JPG \ifeof 1 \openin 1 #1.pdf \ifeof 1 \openin 1 #1.PDF \ifeof 1 \errhelp = \nopdfimagehelp \errmessage{Could not find image file #1 for pdf}% \else \gdef\pdfimgext{PDF}% \fi \else \gdef\pdfimgext{pdf}% \fi \else \gdef\pdfimgext{JPG}% \fi \else \gdef\pdfimgext{jpeg}% \fi \else \gdef\pdfimgext{jpg}% \fi \else \gdef\pdfimgext{png}% \fi \closein 1 \endgroup % % without \immediate, ancient pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 \immediate\pdfimage \else \immediate\pdfximage \fi \ifdim \wd0 >0pt width \imagewidth \fi \ifdim \wd2 >0pt height \imageheight \fi \ifnum\pdftexversion<13 #1.\pdfimgext \else {#1.\pdfimgext}% \fi \ifnum\pdftexversion < 14 \else \pdfrefximage \pdflastximage \fi} % \def\pdfmkdest#1{{% % We have to set dummies so commands such as @code, and characters % such as \, aren't expanded when present in a section title. \indexnofonts \turnoffactive \activebackslashdouble \makevalueexpandable \def\pdfdestname{#1}% \backslashparens\pdfdestname \safewhatsit{\pdfdest name{\pdfdestname} xyz}% }} % % used to mark target names; must be expandable. \def\pdfmkpgn#1{#1} % % by default, use a color that is dark enough to print on paper as % nearly black, but still distinguishable for online viewing. \def\urlcolor{\cmykDarkRed} \def\linkcolor{\cmykDarkRed} \def\endlink{\setcolor{\maincolor}\pdfendlink} % % Adding outlines to PDF; macros for calculating structure of outlines % come from Petr Olsak \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% \else \csname#1\endcsname \fi} \def\advancenumber#1{\tempnum=\expnumber{#1}\relax \advance\tempnum by 1 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} % % #1 is the section text, which is what will be displayed in the % outline by the pdf viewer. #2 is the pdf expression for the number % of subentries (or empty, for subsubsections). #3 is the node text, % which might be empty if this toc entry had no corresponding node. % #4 is the page number % \def\dopdfoutline#1#2#3#4{% % Generate a link to the node text if that exists; else, use the % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't % seem worth the trouble, since most documents are normally structured. \def\pdfoutlinedest{#3}% \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}% \else % Doubled backslashes in the name. {\activebackslashdouble \xdef\pdfoutlinedest{#3}% \backslashparens\pdfoutlinedest}% \fi % % Also double the backslashes in the display string. {\activebackslashdouble \xdef\pdfoutlinetext{#1}% \backslashparens\pdfoutlinetext}% % \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% \begingroup % Thanh's hack / proper braces in bookmarks \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace % % Read toc silently, to get counts of subentries for \pdfoutline. \def\numchapentry##1##2##3##4{% \def\thischapnum{##2}% \def\thissecnum{0}% \def\thissubsecnum{0}% }% \def\numsecentry##1##2##3##4{% \advancenumber{chap\thischapnum}% \def\thissecnum{##2}% \def\thissubsecnum{0}% }% \def\numsubsecentry##1##2##3##4{% \advancenumber{sec\thissecnum}% \def\thissubsecnum{##2}% }% \def\numsubsubsecentry##1##2##3##4{% \advancenumber{subsec\thissubsecnum}% }% \def\thischapnum{0}% \def\thissecnum{0}% \def\thissubsecnum{0}% % % use \def rather than \let here because we redefine \chapentry et % al. a second time, below. \def\appentry{\numchapentry}% \def\appsecentry{\numsecentry}% \def\appsubsecentry{\numsubsecentry}% \def\appsubsubsecentry{\numsubsubsecentry}% \def\unnchapentry{\numchapentry}% \def\unnsecentry{\numsecentry}% \def\unnsubsecentry{\numsubsecentry}% \def\unnsubsubsecentry{\numsubsubsecentry}% \readdatafile{toc}% % % Read toc second time, this time actually producing the outlines. % The `-' means take the \expnumber as the absolute number of % subentries, which we calculated on our first read of the .toc above. % % We use the node names as the destinations. \def\numchapentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% \def\numsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% \def\numsubsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% \def\numsubsubsecentry##1##2##3##4{% count is always zero \dopdfoutline{##1}{}{##3}{##4}}% % % PDF outlines are displayed using system fonts, instead of % document fonts. Therefore we cannot use special characters, % since the encoding is unknown. For example, the eogonek from % Latin 2 (0xea) gets translated to a | character. Info from % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. % % xx to do this right, we have to translate 8-bit characters to % their "best" equivalent, based on the @documentencoding. Right % now, I guess we'll just let the pdf reader have its way. \indexnofonts \setupdatafile \catcode`\\=\active \otherbackslash \input \tocreadfilename \endgroup } % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces \ifx\p\space\else\addtokens{\filename}{\PP}% \advance\filenamelength by 1 \fi \fi \nextsp} \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} \ifnum\pdftexversion < 14 \let \startlink \pdfannotlink \else \let \startlink \pdfstartlink \fi % make a live url in pdf output. \def\pdfurl#1{% \begingroup % it seems we really need yet another set of dummies; have not % tried to figure out what each command should do in the context % of @url. for now, just make @/ a no-op, that's the only one % people have actually reported a problem with. % \normalturnoffactive \def\@{@}% \let\/=\empty \makevalueexpandable \leavevmode\setcolor{\urlcolor}% \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% \endgroup} \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} \def\maketoks{% \expandafter\poptoks\the\toksA|ENDTOKS|\relax \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else \let\next=\maketoks \addtokens{\toksB}{\the\toksD} \ifx\first,\addtokens{\toksB}{\space}\fi \fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next} \def\makelink{\addtokens{\toksB}% {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} \def\pdflink#1{% \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} \setcolor{\linkcolor}#1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} \else \let\pdfmkdest = \gobble \let\pdfurl = \gobble \let\endlink = \relax \let\setcolor = \gobble \let\pdfsetcolor = \gobble \let\pdfmakeoutlines = \relax \fi % \ifx\pdfoutput \message{fonts,} % Change the current font style to #1, remembering it in \curfontstyle. % For now, we do not accumulate font styles: @b{@i{foo}} prints foo in % italics, not bold italics. % \def\setfontstyle#1{% \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. \csname ten#1\endcsname % change the current font } % Select #1 fonts with the current style. % \def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} \def\rm{\fam=0 \setfontstyle{rm}} \def\it{\fam=\itfam \setfontstyle{it}} \def\sl{\fam=\slfam \setfontstyle{sl}} \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} \def\tt{\fam=\ttfam \setfontstyle{tt}} % Texinfo sort of supports the sans serif font style, which plain TeX does not. % So we set up a \sf. \newfam\sffam \def\sf{\fam=\sffam \setfontstyle{sf}} \let\li = \sf % Sometimes we call it \li, not \sf. % We don't need math for this font style. \def\ttsl{\setfontstyle{ttsl}} % Default leading. \newdimen\textleading \textleading = 13.2pt % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. % \def\lineskipfactor{.08333} \def\strutheightpercent{.70833} \def\strutdepthpercent {.29167} % % can get a sort of poor man's double spacing by redefining this. \def\baselinefactor{1} % \def\setleading#1{% \dimen0 = #1\relax \normalbaselineskip = \baselinefactor\dimen0 \normallineskip = \lineskipfactor\normalbaselineskip \normalbaselines \setbox\strutbox =\hbox{% \vrule width0pt height\strutheightpercent\baselineskip depth \strutdepthpercent \baselineskip }% } % PDF CMaps. See also LaTeX's t1.cmap. % % do nothing with this by default. \expandafter\let\csname cmapOT1\endcsname\gobble \expandafter\let\csname cmapOT1IT\endcsname\gobble \expandafter\let\csname cmapOT1TT\endcsname\gobble % if we are producing pdf, and we have \pdffontattr, then define cmaps. % (\pdffontattr was introduced many years ago, but people still run % older pdftex's; it's easy to conditionalize, so we do.) \ifpdf \ifx\pdffontattr\undefined \else \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1-0) %%Title: (TeX-OT1-0 TeX OT1 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1) /Supplement 0 >> def /CMapName /TeX-OT1-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <23> <26> <0023> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 40 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1IT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1IT-0) %%Title: (TeX-OT1IT-0 TeX OT1IT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1IT) /Supplement 0 >> def /CMapName /TeX-OT1IT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <25> <26> <0025> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 42 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <23> <0023> <24> <00A3> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1IT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1TT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1TT-0) %%Title: (TeX-OT1TT-0 TeX OT1TT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1TT) /Supplement 0 >> def /CMapName /TeX-OT1TT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 5 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <21> <26> <0021> <28> <5F> <0028> <61> <7E> <0061> endbfrange 32 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <2191> <0C> <2193> <0D> <0027> <0E> <00A1> <0F> <00BF> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <20> <2423> <27> <2019> <60> <2018> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1TT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% \fi\fi % Set the font macro #1 to the font named #2, adding on the % specified font prefix (normally `cm'). % #3 is the font's design size, #4 is a scale factor, #5 is the CMap % encoding (currently only OT1, OT1IT and OT1TT are allowed, pass % empty to omit). \def\setfont#1#2#3#4#5{% \font#1=\fontprefix#2#3 scaled #4 \csname cmap#5\endcsname#1% } % This is what gets called when #5 of \setfont is empty. \let\cmap\gobble % emacs-page end of cmaps % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. \ifx\fontprefix\undefined \def\fontprefix{cm} \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} \def\rmbshape{bx} %where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} \def\ttbshape{tt} \def\ttslshape{sltt} \def\itshape{ti} \def\itbshape{bxti} \def\slshape{sl} \def\slbshape{bxsl} \def\sfshape{ss} \def\sfbshape{ss} \def\scshape{csc} \def\scbshape{csc} % Definitions for a main text size of 11pt. This is the default in % Texinfo. % \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). \def\textnominalsize{11pt} \edef\mainmagstep{\magstephalf} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1095} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstep1}{OT1} \setfont\deftt\ttshape{10}{\magstep1}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\authorrm{\secrm} \def\authortt{\sectt} \def\titleecsize{2074} % Chapter (and unnumbered) fonts (17.28pt). \def\chapnominalsize{17pt} \setfont\chaprm\rmbshape{12}{\magstep2}{OT1} \setfont\chapit\itbshape{10}{\magstep3}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep3}{OT1} \setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} \setfont\chapsf\sfbshape{17}{1000}{OT1} \let\chapbf=\chaprm \setfont\chapsc\scbshape{10}{\magstep3}{OT1} \font\chapi=cmmi12 scaled \magstep2 \font\chapsy=cmsy10 scaled \magstep3 \def\chapecsize{1728} % Section fonts (14.4pt). \def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1}{OT1} \setfont\secit\itbshape{10}{\magstep2}{OT1IT} \setfont\secsl\slbshape{10}{\magstep2}{OT1} \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\secsf\sfbshape{12}{\magstep1}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep2}{OT1} \font\seci=cmmi12 scaled \magstep1 \font\secsy=cmsy10 scaled \magstep2 \def\sececsize{1440} % Subsection fonts (13.15pt). \def\ssecnominalsize{13pt} \setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} \setfont\ssecit\itbshape{10}{1315}{OT1IT} \setfont\ssecsl\slbshape{10}{1315}{OT1} \setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} \setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1315}{OT1} \font\sseci=cmmi12 scaled \magstephalf \font\ssecsy=cmsy10 scaled 1315 \def\ssececsize{1200} % Reduced fonts for @acro in text (10pt). \def\reducednominalsize{10pt} \setfont\reducedrm\rmshape{10}{1000}{OT1} \setfont\reducedtt\ttshape{10}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{1000}{OT1} \setfont\reducedit\itshape{10}{1000}{OT1IT} \setfont\reducedsl\slshape{10}{1000}{OT1} \setfont\reducedsf\sfshape{10}{1000}{OT1} \setfont\reducedsc\scshape{10}{1000}{OT1} \setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} \font\reducedi=cmmi10 \font\reducedsy=cmsy10 \def\reducedecsize{1000} % reset the current fonts \textfonts \rm } % end of 11pt text font size definitions % Definitions to make the main text be 10pt Computer Modern, with % section, chapter, etc., sizes following suit. This is for the GNU % Press printing of the Emacs 22 manual. Maybe other manuals in the % future. Used with @smallbook, which sets the leading to 12pt. % \def\definetextfontsizex{% % Text fonts (10pt). \def\textnominalsize{10pt} \edef\mainmagstep{1000} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1000} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstephalf}{OT1} \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\authorrm{\secrm} \def\authortt{\sectt} \def\titleecsize{2074} % Chapter fonts (14.4pt). \def\chapnominalsize{14pt} \setfont\chaprm\rmbshape{12}{\magstep1}{OT1} \setfont\chapit\itbshape{10}{\magstep2}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep2}{OT1} \setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\chapsf\sfbshape{12}{\magstep1}{OT1} \let\chapbf\chaprm \setfont\chapsc\scbshape{10}{\magstep2}{OT1} \font\chapi=cmmi12 scaled \magstep1 \font\chapsy=cmsy10 scaled \magstep2 \def\chapecsize{1440} % Section fonts (12pt). \def\secnominalsize{12pt} \setfont\secrm\rmbshape{12}{1000}{OT1} \setfont\secit\itbshape{10}{\magstep1}{OT1IT} \setfont\secsl\slbshape{10}{\magstep1}{OT1} \setfont\sectt\ttbshape{12}{1000}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} \setfont\secsf\sfbshape{12}{1000}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep1}{OT1} \font\seci=cmmi12 \font\secsy=cmsy10 scaled \magstep1 \def\sececsize{1200} % Subsection fonts (10pt). \def\ssecnominalsize{10pt} \setfont\ssecrm\rmbshape{10}{1000}{OT1} \setfont\ssecit\itbshape{10}{1000}{OT1IT} \setfont\ssecsl\slbshape{10}{1000}{OT1} \setfont\ssectt\ttbshape{10}{1000}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} \setfont\ssecsf\sfbshape{10}{1000}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1000}{OT1} \font\sseci=cmmi10 \font\ssecsy=cmsy10 \def\ssececsize{1000} % Reduced fonts for @acro in text (9pt). \def\reducednominalsize{9pt} \setfont\reducedrm\rmshape{9}{1000}{OT1} \setfont\reducedtt\ttshape{9}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{900}{OT1} \setfont\reducedit\itshape{9}{1000}{OT1IT} \setfont\reducedsl\slshape{9}{1000}{OT1} \setfont\reducedsf\sfshape{9}{1000}{OT1} \setfont\reducedsc\scshape{10}{900}{OT1} \setfont\reducedttsl\ttslshape{10}{900}{OT1TT} \font\reducedi=cmmi9 \font\reducedsy=cmsy9 \def\reducedecsize{0900} % reduce space between paragraphs \divide\parskip by 2 % reset the current fonts \textfonts \rm } % end of 10pt text font size definitions % We provide the user-level command % @fonttextsize 10 % (or 11) to redefine the text font size. pt is assumed. % \def\xword{10} \def\xiword{11} % \parseargdef\fonttextsize{% \def\textsizearg{#1}% \wlog{doing @fonttextsize \textsizearg}% % % Set \globaldefs so that documents can use this inside @tex, since % makeinfo 4.8 does not support it, but we need it nonetheless. % \begingroup \globaldefs=1 \ifx\textsizearg\xword \definetextfontsizex \else \ifx\textsizearg\xiword \definetextfontsizexi \else \errhelp=\EMsimple \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} \fi\fi \endgroup } % In order for the font changes to affect most math symbols and letters, % we have to define the \textfont of the standard families. Since % texinfo doesn't allow for producing subscripts and superscripts except % in the main text, we don't bother to reset \scriptfont and % \scriptscriptfont (which would also require loading a lot more fonts). % \def\resetmathfonts{% \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf \textfont\ttfam=\tentt \textfont\sffam=\tensf } % The font-changing commands redefine the meanings of \tenSTYLE, instead % of just \STYLE. We do this because \STYLE needs to also set the % current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire % \tenSTYLE to set the current font. % % Each font-changing command also sets the names \lsize (one size lower) % and \lllsize (three sizes lower). These relative commands are used in % the LaTeX logo and acronyms. % % This all needs generalizing, badly. % \def\textfonts{% \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl \def\curfontsize{text}% \def\lsize{reduced}\def\lllsize{smaller}% \resetmathfonts \setleading{\textleading}} \def\titlefonts{% \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tenttsl=\titlettsl \def\curfontsize{title}% \def\lsize{chap}\def\lllsize{subsec}% \resetmathfonts \setleading{25pt}} \def\titlefont#1{{\titlefonts\rm #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl \def\curfontsize{chap}% \def\lsize{sec}\def\lllsize{text}% \resetmathfonts \setleading{19pt}} \def\secfonts{% \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl \def\curfontsize{sec}% \def\lsize{subsec}\def\lllsize{reduced}% \resetmathfonts \setleading{16pt}} \def\subsecfonts{% \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl \def\curfontsize{ssec}% \def\lsize{text}\def\lllsize{small}% \resetmathfonts \setleading{15pt}} \let\subsubsecfonts = \subsecfonts \def\reducedfonts{% \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy \let\tenttsl=\reducedttsl \def\curfontsize{reduced}% \def\lsize{small}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallfonts{% \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tenttsl=\smallttsl \def\curfontsize{small}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallerfonts{% \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy \let\tenttsl=\smallerttsl \def\curfontsize{smaller}% \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{9.5pt}} % Set the fonts to use with the @small... environments. \let\smallexamplefonts = \smallfonts % About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample % can fit this many characters: % 8.5x11=86 smallbook=72 a4=90 a5=69 % If we use \scriptfonts (8pt), then we can fit this many characters: % 8.5x11=90+ smallbook=80 a4=90+ a5=77 % For me, subjectively, the few extra characters that fit aren't worth % the additional smallness of 8pt. So I'm making the default 9pt. % % By the way, for comparison, here's what fits with @example (10pt): % 8.5x11=71 smallbook=60 a4=75 a5=58 % % I wish the USA used A4 paper. % --karl, 24jan03. % Set up the default fonts, so we can use them for creating boxes. % \definetextfontsizexi % Define these so they can be easily changed for other fonts. \def\angleleft{$\langle$} \def\angleright{$\rangle$} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 % Fonts for short table of contents. \setfont\shortcontrm\rmshape{12}{1000}{OT1} \setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 \setfont\shortcontsl\slshape{12}{1000}{OT1} \setfont\shortconttt\ttshape{12}{1000}{OT1TT} %% Add scribe-like font environments, plus @l for inline lisp (usually sans %% serif) and @ii for TeX italic % \smartitalic{ARG} outputs arg in italics, followed by an italic correction % unless the following character is such as not to need one. \def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else \ptexslash\fi\fi\fi} \def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} \def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} % like \smartslanted except unconditionally uses \ttsl. % @var is set to this for defun arguments. \def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} % like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? \def\cite#1{{\sl #1}\futurelet\next\smartitalicx} \let\i=\smartitalic \let\slanted=\smartslanted \let\var=\smartslanted \let\dfn=\smartslanted \let\emph=\smartitalic % @b, explicit bold. \def\b#1{{\bf #1}} \let\strong=\b % @sansserif, explicit sans. \def\sansserif#1{{\sf #1}} % We can't just use \exhyphenpenalty, because that only has effect at % the end of a paragraph. Restore normal hyphenation at the end of the % group within which \nohyphenation is presumably called. % \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} \def\restorehyphenation{\hyphenchar\font = `- } % Set sfcode to normal for the chars that usually have another value. % Can't use plain's \frenchspacing because it uses the `\x notation, and % sometimes \x has an active definition that messes things up. % \catcode`@=11 \def\plainfrenchspacing{% \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m \def\endofsentencespacefactor{1000}% for @. and friends } \def\plainnonfrenchspacing{% \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 \def\endofsentencespacefactor{3000}% for @. and friends } \catcode`@=\other \def\endofsentencespacefactor{3000}% default \def\t#1{% {\tt \rawbackslash \plainfrenchspacing #1}% \null } \def\samp#1{`\tclose{#1}'\null} \setfont\keyrm\rmshape{8}{1000}{OT1} \font\keysy=cmsy9 \def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% \vbox{\hrule\kern-0.4pt \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% \kern-0.4pt\hrule}% \kern-.06em\raise0.4pt\hbox{\angleright}}}} \def\key #1{{\nohyphenation \uppercase{#1}}\null} % The old definition, with no lozenge: %\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} \def\ctrl #1{{\tt \rawbackslash \hat}#1} % @file, @option are the same as @samp. \let\file=\samp \let\option=\samp % @code is a modification of @t, % which makes spaces the same size as normal in the surrounding text. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. \spaceskip = \fontdimen2\font % % Switch to typewriter. \tt % % But `\ ' produces the large typewriter interword space. \def\ {{\spaceskip = 0pt{} }}% % % Turn off hyphenation. \nohyphenation % \rawbackslash \plainfrenchspacing #1% }% \null } % We *must* turn on hyphenation at `-' and `_' in @code. % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) % and arrange explicitly to hyphenate at a dash. % -- rms. { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active % \global\def\code{\begingroup \catcode\rquoteChar=\active \catcode\lquoteChar=\active \let'\codequoteright \let`\codequoteleft % \catcode\dashChar=\active \catcode\underChar=\active \ifallowcodebreaks \let-\codedash \let_\codeunder \else \let-\realdash \let_\realunder \fi \codex } } \def\realdash{-} \def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) % will therefore expand the active definition of _, which is us % (inside @code that is), therefore an endless loop. \ifusingtt{\ifmmode \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. \else\normalunderscore \fi \discretionary{}{}{}}% {\_}% } \def\codex #1{\tclose{#1}\endgroup} % An additional complication: the above will allow breaks after, e.g., % each of the four underscores in __typeof__. This is undesirable in % some manuals, especially if they don't have long identifiers in % general. @allowcodebreaks provides a way to control this. % \newif\ifallowcodebreaks \allowcodebreakstrue \def\keywordtrue{true} \def\keywordfalse{false} \parseargdef\allowcodebreaks{% \def\txiarg{#1}% \ifx\txiarg\keywordtrue \allowcodebreakstrue \else\ifx\txiarg\keywordfalse \allowcodebreaksfalse \else \errhelp = \EMsimple \errmessage{Unknown @allowcodebreaks option `\txiarg'}% \fi\fi } % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). \parseargdef\kbdinputstyle{% \def\txiarg{#1}% \ifx\txiarg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% \else\ifx\txiarg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% \else\ifx\txiarg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple \errmessage{Unknown @kbdinputstyle option `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} \def\wordexample{example} \def\wordcode{code} % Default is `distinct.' \kbdinputstyle distinct \def\xkey{\key} \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% \ifx\one\xkey\ifx\threex\three \key{#2}% \else{\tclose{\kbdfont\look}}\fi \else{\tclose{\kbdfont\look}}\fi} % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. \let\indicateurl=\code \let\env=\code \let\command=\code % @clicksequence{File @click{} Open ...} \def\clicksequence#1{\begingroup #1\endgroup} % @clickstyle @arrow (by default) \parseargdef\clickstyle{\def\click{#1}} \def\click{\arrow} % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url % itself. First (mandatory) arg is the url. Perhaps eventually put in % a hypertex \special here. % \def\uref#1{\douref #1,,,\finish} \def\douref#1,#2,#3,#4\finish{\begingroup \unsepspaces \pdfurl{#1}% \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that \else \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \ifpdf \unhbox0 % PDF: 2nd arg given, show only it \else \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url \fi \else \code{#1}% only url given, so show it \fi \fi \endlink \endgroup} % @url synonym for @uref, since that's how everyone uses it. % \let\url=\uref % rms does not like angle brackets --karl, 17may97. % So now @email is just like @uref, unless we are pdf. % %\def\email#1{\angleleft{\tt #1}\angleright} \ifpdf \def\email#1{\doemail#1,,\finish} \def\doemail#1,#2,#3\finish{\begingroup \unsepspaces \pdfurl{mailto:#1}% \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi \endlink \endgroup} \else \let\email=\uref \fi % Check if we are currently using a typewriter font. Since all the % Computer Modern typewriter fonts have zero interword stretch (and % shrink), and it is reasonable to expect all typewriter fonts to have % this property, we can check that font parameter. % \def\ifmonospace{\ifdim\fontdimen3\font=0pt } % Typeset a dimension, e.g., `in' or `pt'. The only reason for the % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. % \def\dmn#1{\thinspace #1} \def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} % @l was never documented to mean ``switch to the Lisp font'', % and it is not used as such in any manual I can find. We need it for % Polish suppressed-l. --karl, 22sep96. %\def\l#1{{\li #1}\null} % Explicit font changes: @r, @sc, undocumented @ii. \def\r#1{{\rm #1}} % roman font \def\sc#1{{\smallcaps#1}} % smallcaps font \def\ii#1{{\it #1}} % italic font % @acronym for "FBI", "NATO", and the like. % We print this one point size smaller, since it's intended for % all-uppercase. % \def\acronym#1{\doacronym #1,,\finish} \def\doacronym#1,#2,#3\finish{% {\selectfonts\lsize #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi } % @abbr for "Comput. J." and the like. % No font change, but don't do end-of-sentence spacing. % \def\abbr#1{\doabbr #1,,\finish} \def\doabbr#1,#2,#3\finish{% {\plainfrenchspacing #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi } % @pounds{} is a sterling sign, which Knuth put in the CM italic font. % \def\pounds{{\it\$}} % @euro{} comes from a separate font, depending on the current style. % We use the free feym* fonts from the eurosym package by Henrik % Theiling, which support regular, slanted, bold and bold slanted (and % "outlined" (blackboard board, sort of) versions, which we don't need). % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. % % Although only regular is the truly official Euro symbol, we ignore % that. The Euro is designed to be slightly taller than the regular % font height. % % feymr - regular % feymo - slanted % feybr - bold % feybo - bold slanted % % There is no good (free) typewriter version, to my knowledge. % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. % Hmm. % % Also doesn't work in math. Do we need to do math with euro symbols? % Hope not. % % \def\euro{{\eurofont e}} \def\eurofont{% % We set the font at each command, rather than predefining it in % \textfonts and the other font-switching commands, so that % installations which never need the symbol don't have to have the % font installed. % % There is only one designed size (nominal 10pt), so we always scale % that to the current nominal size. % % By the way, simply using "at 1em" works for cmr10 and the like, but % does not work for cmbx10 and other extended/shrunken fonts. % \def\eurosize{\csname\curfontsize nominalsize\endcsname}% % \ifx\curfontstyle\bfstylename % bold: \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize \else % regular: \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize \fi \thiseurofont } % Hacks for glyphs from the EC fonts similar to \euro. We don't % use \let for the aliases, because sometimes we redefine the original % macro, and the alias should reflect the redefinition. \def\guillemetleft{{\ecfont \char"13}} \def\guillemotleft{\guillemetleft} \def\guillemetright{{\ecfont \char"14}} \def\guillemotright{\guillemetright} \def\guilsinglleft{{\ecfont \char"0E}} \def\guilsinglright{{\ecfont \char"0F}} \def\quotedblbase{{\ecfont \char"12}} \def\quotesinglbase{{\ecfont \char"0D}} % \def\ecfont{% % We can't distinguish serif/sanserif and italic/slanted, but this % is used for crude hacks anyway (like adding French and German % quotes to documents typeset with CM, where we lose kerning), so % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% \ifx\curfontstyle\bfstylename % bold: \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize \else % regular: \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize \fi \thisecfont } % @registeredsymbol - R in a circle. The font for the R should really % be smaller yet, but lllsize is the best we can do for now. % Adapted from the plain.tex definition of \copyright. % \def\registeredsymbol{% $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% \hfil\crcr\Orb}}% }$% } % @textdegree - the normal degrees sign. % \def\textdegree{$^\circ$} % Laurent Siebenmann reports \Orb undefined with: % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. % \ifx\Orb\undefined \def\Orb{\mathhexbox20D} \fi % Quotes. \chardef\quotedblleft="5C \chardef\quotedblright=`\" \chardef\quoteleft=`\` \chardef\quoteright=`\' \message{page headings,} \newskip\titlepagetopglue \titlepagetopglue = 1.5in \newskip\titlepagebottomglue \titlepagebottomglue = 2pc % First the title page. Must do @settitle before @titlepage. \newif\ifseenauthor \newif\iffinishedtitlepage % Do an implicit @contents or @shortcontents after @end titlepage if the % user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. % \newif\ifsetcontentsaftertitlepage \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue \newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue \parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% \endgroup\page\hbox{}\page} \envdef\titlepage{% % Open one extra group, as we want to close it in the middle of \Etitlepage. \begingroup \parindent=0pt \textfonts % Leave some space at the very top of the page. \vglue\titlepagetopglue % No rule at page bottom unless we print one at the top with @title. \finishedtitlepagetrue % % Most title ``pages'' are actually two pages long, with space % at the top of the second. We don't want the ragged left on the second. \let\oldpage = \page \def\page{% \iffinishedtitlepage\else \finishtitlepage \fi \let\page = \oldpage \page \null }% } \def\Etitlepage{% \iffinishedtitlepage\else \finishtitlepage \fi % It is important to do the page break before ending the group, % because the headline and footline are only empty inside the group. % If we use the new definition of \page, we always get a blank page % after the title page, which we certainly don't want. \oldpage \endgroup % % Need this before the \...aftertitlepage checks so that if they are % in effect the toc pages will come out with page numbers. \HEADINGSon % % If they want short, they certainly want long too. \ifsetshortcontentsaftertitlepage \shortcontents \contents \global\let\shortcontents = \relax \global\let\contents = \relax \fi % \ifsetcontentsaftertitlepage \contents \global\let\contents = \relax \global\let\shortcontents = \relax \fi } \def\finishtitlepage{% \vskip4pt \hrule height 2pt width \hsize \vskip\titlepagebottomglue \finishedtitlepagetrue } %%% Macros to be used within @titlepage: \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines \let\tt=\authortt} \parseargdef\title{% \checkenv\titlepage \leftline{\titlefonts\rm #1} % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt } \parseargdef\subtitle{% \checkenv\titlepage {\subtitlefont \rightline{#1}}% } % @author should come last, but may come many times. % It can also be used inside @quotation. % \parseargdef\author{% \def\temp{\quotation}% \ifx\thisenv\temp \def\quotationauthor{#1}% printed in \Equotation. \else \checkenv\titlepage \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi {\authorfont \leftline{#1}}% \fi } %%% Set up page headings and footings. \let\thispage=\folio \newtoks\evenheadline % headline on even pages \newtoks\oddheadline % headline on odd pages \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages % Now make TeX use those variables \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}\HEADINGShook} \let\HEADINGShook=\relax % Commands to set those variables. % For example, this is what @headings on does % @evenheading @thistitle|@thispage|@thischapter % @oddheading @thischapter|@thispage|@thistitle % @evenfooting @thisfile|| % @oddfooting ||@thisfile \def\evenheading{\parsearg\evenheadingxxx} \def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} \def\evenheadingyyy #1\|#2\|#3\|#4\finish{% \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddheading{\parsearg\oddheadingxxx} \def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} \def\oddheadingyyy #1\|#2\|#3\|#4\finish{% \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% \def\evenfooting{\parsearg\evenfootingxxx} \def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} \def\evenfootingyyy #1\|#2\|#3\|#4\finish{% \global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddfooting{\parsearg\oddfootingxxx} \def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} \def\oddfootingyyy #1\|#2\|#3\|#4\finish{% \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. \global\advance\pageheight by -12pt \global\advance\vsize by -12pt } \parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} % @evenheadingmarks top \thischapter <- chapter at the top of a page % @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page % % The same set of arguments for: % % @oddheadingmarks % @evenfootingmarks % @oddfootingmarks % @everyheadingmarks % @everyfootingmarks \def\evenheadingmarks{\headingmarks{even}{heading}} \def\oddheadingmarks{\headingmarks{odd}{heading}} \def\evenfootingmarks{\headingmarks{even}{footing}} \def\oddfootingmarks{\headingmarks{odd}{footing}} \def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1} \headingmarks{odd}{heading}{#1} } \def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1} \headingmarks{odd}{footing}{#1} } % #1 = even/odd, #2 = heading/footing, #3 = top/bottom. \def\headingmarks#1#2#3 {% \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname \global\expandafter\let\csname get#1#2marks\endcsname \temp } \everyheadingmarks bottom \everyfootingmarks bottom % @headings double turns headings on for double-sided printing. % @headings single turns headings on for single-sided printing. % @headings off turns them off. % @headings on same as @headings double, retained for compatibility. % @headings after turns on double-sided headings after this page. % @headings doubleafter turns on double-sided headings after this page. % @headings singleafter turns on single-sided headings after this page. % By default, they are off at the start of a document, % and turned `on' after @end titlepage. \def\headings #1 {\csname HEADINGS#1\endcsname} \def\HEADINGSoff{% \global\evenheadline={\hfil} \global\evenfootline={\hfil} \global\oddheadline={\hfil} \global\oddfootline={\hfil}} \HEADINGSoff % When we turn headings on, set the page number to 1. % For double-sided printing, put current file name in lower left corner, % chapter name on inside top of right hand pages, document % title on inside top of left hand pages, and page numbers on outside top % edge of all pages. \def\HEADINGSdouble{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \let\contentsalignmacro = \chappager % For single-sided printing, chapter title goes across top left of page, % page number on top right. \def\HEADINGSsingle{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } \def\HEADINGSon{\HEADINGSdouble} \def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} \let\HEADINGSdoubleafter=\HEADINGSafter \def\HEADINGSdoublex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} \def\HEADINGSsinglex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } % Subroutines used in generating headings % This produces Day Month Year style of output. % Only define if not already defined, in case a txi-??.tex file has set % up a different format (e.g., txi-cs.tex does this). \ifx\today\undefined \def\today{% \number\day\space \ifcase\month \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec \fi \space\number\year} \fi % @settitle line... specifies the title of the document, for headings. % It generates no output of its own. \def\thistitle{\putwordNoTitle} \def\settitle{\parsearg{\gdef\thistitle}} \message{tables,} % Tables -- @table, @ftable, @vtable, @item(x). % default indentation of table text \newdimen\tableindent \tableindent=.8in % default indentation of @itemize and @enumerate text \newdimen\itemindent \itemindent=.3in % margin between end of table item and start of table text. \newdimen\itemmargin \itemmargin=.1in % used internally for \itemindent minus \itemmargin \newdimen\itemmax % Note @table, @ftable, and @vtable define @item, @itemx, etc., with % these defs. % They also define \itemindex % to index the item name in whatever manner is desired (perhaps none). \newif\ifitemxneedsnegativevskip \def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} \def\internalBitem{\smallbreak \parsearg\itemzzz} \def\internalBitemx{\itemxpar \parsearg\itemzzz} \def\itemzzz #1{\begingroup % \advance\hsize by -\rightskip \advance\hsize by -\tableindent \setbox0=\hbox{\itemindicate{#1}}% \itemindex{#1}% \nobreak % This prevents a break before @itemx. % % If the item text does not fit in the space we have, put it on a line % by itself, and do not allow a page break either before or after that % line. We do not start a paragraph here because then if the next % command is, e.g., @kindex, the whatsit would get put into the % horizontal list on a line by itself, resulting in extra blank space. \ifdim \wd0>\itemmax % % Make this a paragraph so we get the \parskip glue and wrapping, % but leave it ragged-right. \begingroup \advance\leftskip by-\tableindent \advance\hsize by\tableindent \advance\rightskip by0pt plus1fil \leavevmode\unhbox0\par \endgroup % % We're going to be starting a paragraph, but we don't want the % \parskip glue -- logically it's part of the @item we just started. \nobreak \vskip-\parskip % % Stop a page break at the \parskip glue coming up. However, if % what follows is an environment such as @example, there will be no % \parskip glue; then the negative vskip we just inserted would % cause the example and the item to crash together. So we use this % bizarre value of 10001 as a signal to \aboveenvbreak to insert % \parskip glue after all. Section titles are handled this way also. % \penalty 10001 \endgroup \itemxneedsnegativevskipfalse \else % The item text fits into the space. Start a paragraph, so that the % following text (if any) will end up on the same line. \noindent % Do this with kerns and \unhbox so that if there is a footnote in % the item text, it can migrate to the main vertical list and % eventually be printed. \nobreak\kern-\tableindent \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 \unhbox0 \nobreak\kern\dimen0 \endgroup \itemxneedsnegativevskiptrue \fi } \def\item{\errmessage{@item while not in a list environment}} \def\itemx{\errmessage{@itemx while not in a list environment}} % @table, @ftable, @vtable. \envdef\table{% \let\itemindex\gobble \tablecheck{table}% } \envdef\ftable{% \def\itemindex ##1{\doind {fn}{\code{##1}}}% \tablecheck{ftable}% } \envdef\vtable{% \def\itemindex ##1{\doind {vr}{\code{##1}}}% \tablecheck{vtable}% } \def\tablecheck#1{% \ifnum \the\catcode`\^^M=\active \endgroup \errmessage{This command won't work in this context; perhaps the problem is that we are \inenvironment\thisenv}% \def\next{\doignore{#1}}% \else \let\next\tablex \fi \next } \def\tablex#1{% \def\itemindicate{#1}% \parsearg\tabley } \def\tabley#1{% {% \makevalueexpandable \edef\temp{\noexpand\tablez #1\space\space\space}% \expandafter }\temp \endtablez } \def\tablez #1 #2 #3 #4\endtablez{% \aboveenvbreak \ifnum 0#1>0 \advance \leftskip by #1\mil \fi \ifnum 0#2>0 \tableindent=#2\mil \fi \ifnum 0#3>0 \advance \rightskip by #3\mil \fi \itemmax=\tableindent \advance \itemmax by -\itemmargin \advance \leftskip by \tableindent \exdentamount=\tableindent \parindent = 0pt \parskip = \smallskipamount \ifdim \parskip=0pt \parskip=2pt \fi \let\item = \internalBitem \let\itemx = \internalBitemx } \def\Etable{\endgraf\afterenvbreak} \let\Eftable\Etable \let\Evtable\Etable \let\Eitemize\Etable \let\Eenumerate\Etable % This is the counter used by @enumerate, which is really @itemize \newcount \itemno \envdef\itemize{\parsearg\doitemize} \def\doitemize#1{% \aboveenvbreak \itemmax=\itemindent \advance\itemmax by -\itemmargin \advance\leftskip by \itemindent \exdentamount=\itemindent \parindent=0pt \parskip=\smallskipamount \ifdim\parskip=0pt \parskip=2pt \fi \def\itemcontents{#1}% % @itemize with no arg is equivalent to @itemize @bullet. \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi \let\item=\itemizeitem } % Definition of @item while inside @itemize and @enumerate. % \def\itemizeitem{% \advance\itemno by 1 % for enumerations {\let\par=\endgraf \smallbreak}% reasonable place to break {% % If the document has an @itemize directly after a section title, a % \nobreak will be last on the list, and \sectionheading will have % done a \vskip-\parskip. In that case, we don't want to zero % parskip, or the item text will crash with the heading. On the % other hand, when there is normal text preceding the item (as there % usually is), we do want to zero parskip, or there would be too much % space. In that case, we won't have a \nobreak before. At least % that's the theory. \ifnum\lastpenalty<10000 \parskip=0in \fi \noindent \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% \vadjust{\penalty 1200}}% not good to break after first line of item. \flushcr } % \splitoff TOKENS\endmark defines \first to be the first token in % TOKENS, and \rest to be the remainder. % \def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% % Allow an optional argument of an uppercase letter, lowercase letter, % or number, to specify the first label in the enumerated list. No % argument is the same as `1'. % \envparseargdef\enumerate{\enumeratey #1 \endenumeratey} \def\enumeratey #1 #2\endenumeratey{% % If we were given no argument, pretend we were given `1'. \def\thearg{#1}% \ifx\thearg\empty \def\thearg{1}\fi % % Detect if the argument is a single token. If so, it might be a % letter. Otherwise, the only valid thing it can be is a number. % (We will always have one token, because of the test we just made. % This is a good thing, since \splitoff doesn't work given nothing at % all -- the first parameter is undelimited.) \expandafter\splitoff\thearg\endmark \ifx\rest\empty % Only one token in the argument. It could still be anything. % A ``lowercase letter'' is one whose \lccode is nonzero. % An ``uppercase letter'' is one whose \lccode is both nonzero, and % not equal to itself. % Otherwise, we assume it's a number. % % We need the \relax at the end of the \ifnum lines to stop TeX from % continuing to look for a . % \ifnum\lccode\expandafter`\thearg=0\relax \numericenumerate % a number (we hope) \else % It's a letter. \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax \lowercaseenumerate % lowercase letter \else \uppercaseenumerate % uppercase letter \fi \fi \else % Multiple tokens in the argument. We hope it's a number. \numericenumerate \fi } % An @enumerate whose labels are integers. The starting integer is % given in \thearg. % \def\numericenumerate{% \itemno = \thearg \startenumeration{\the\itemno}% } % The starting (lowercase) letter is in \thearg. \def\lowercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more lowercase letters in @enumerate; get a bigger alphabet}% \fi \char\lccode\itemno }% } % The starting (uppercase) letter is in \thearg. \def\uppercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more uppercase letters in @enumerate; get a bigger alphabet} \fi \char\uccode\itemno }% } % Call \doitemize, adding a period to the first argument and supplying the % common last two arguments. Also subtract one from the initial value in % \itemno, since @item increments \itemno. % \def\startenumeration#1{% \advance\itemno by -1 \doitemize{#1.}\flushcr } % @alphaenumerate and @capsenumerate are abbreviations for giving an arg % to @enumerate. % \def\alphaenumerate{\enumerate{a}} \def\capsenumerate{\enumerate{A}} \def\Ealphaenumerate{\Eenumerate} \def\Ecapsenumerate{\Eenumerate} % @multitable macros % Amy Hendrickson, 8/18/94, 3/6/96 % % @multitable ... @end multitable will make as many columns as desired. % Contents of each column will wrap at width given in preamble. Width % can be specified either with sample text given in a template line, % or in percent of \hsize, the current width of text on page. % Table can continue over pages but will only break between lines. % To make preamble: % % Either define widths of columns in terms of percent of \hsize: % @multitable @columnfractions .25 .3 .45 % @item ... % % Numbers following @columnfractions are the percent of the total % current hsize to be used for each column. You may use as many % columns as desired. % Or use a template: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item ... % using the widest term desired in each column. % Each new table line starts with @item, each subsequent new column % starts with @tab. Empty columns may be produced by supplying @tab's % with nothing between them for as many times as empty columns are needed, % ie, @tab@tab@tab will produce two empty columns. % @item, @tab do not need to be on their own lines, but it will not hurt % if they are. % Sample multitable: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item first col stuff @tab second col stuff @tab third col % @item % first col stuff % @tab % second col stuff % @tab % third col % @item first col stuff @tab second col stuff % @tab Many paragraphs of text may be used in any column. % % They will wrap at the width determined by the template. % @item@tab@tab This will be in third column. % @end multitable % Default dimensions may be reset by user. % @multitableparskip is vertical space between paragraphs in table. % @multitableparindent is paragraph indent in table. % @multitablecolmargin is horizontal space to be left between columns. % @multitablelinespace is space to leave between table items, baseline % to baseline. % 0pt means it depends on current normal line spacing. % \newskip\multitableparskip \newskip\multitableparindent \newdimen\multitablecolspace \newskip\multitablelinespace \multitableparskip=0pt \multitableparindent=6pt \multitablecolspace=12pt \multitablelinespace=0pt % Macros used to set up halign preamble: % \let\endsetuptable\relax \def\xendsetuptable{\endsetuptable} \let\columnfractions\relax \def\xcolumnfractions{\columnfractions} \newif\ifsetpercent % #1 is the @columnfraction, usually a decimal number like .5, but might % be just 1. We just use it, whatever it is. % \def\pickupwholefraction#1 {% \global\advance\colcount by 1 \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% \setuptable } \newcount\colcount \def\setuptable#1{% \def\firstarg{#1}% \ifx\firstarg\xendsetuptable \let\go = \relax \else \ifx\firstarg\xcolumnfractions \global\setpercenttrue \else \ifsetpercent \let\go\pickupwholefraction \else \global\advance\colcount by 1 \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a % separator; typically that is always in the input, anyway. \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% \fi \fi \ifx\go\pickupwholefraction % Put the argument back for the \pickupwholefraction call, so % we'll always have a period there to be parsed. \def\go{\pickupwholefraction#1}% \else \let\go = \setuptable \fi% \fi \go } % multitable-only commands. % % @headitem starts a heading row, which we typeset in bold. % Assignments have to be global since we are inside the implicit group % of an alignment entry. Note that \everycr resets \everytab. \def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% % % A \tab used to include \hskip1sp. But then the space in a template % line is not enough. That is bad. So let's go back to just `&' until % we encounter the problem it was intended to solve again. % --karl, nathan@acm.org, 20apr99. \def\tab{\checkenv\multitable &\the\everytab}% % @multitable ... @end multitable definitions: % \newtoks\everytab % insert after every tab. % \envdef\multitable{% \vskip\parskip \startsavinginserts % % @item within a multitable starts a normal row. % We use \def instead of \let so that if one of the multitable entries % contains an @itemize, we don't choke on the \item (seen as \crcr aka % \endtemplate) expanding \doitemize. \def\item{\crcr}% % \tolerance=9500 \hbadness=9500 \setmultitablespacing \parskip=\multitableparskip \parindent=\multitableparindent \overfullrule=0pt \global\colcount=0 % \everycr = {% \noalign{% \global\everytab={}% \global\colcount=0 % Reset the column counter. % Check for saved footnotes, etc. \checkinserts % Keeps underfull box messages off when table breaks over pages. %\filbreak % Maybe so, but it also creates really weird page breaks when the % table breaks over pages. Wouldn't \vfil be better? Wait until the % problem manifests itself, so it can be fixed for real --karl. }% }% % \parsearg\domultitable } \def\domultitable#1{% % To parse everything between @multitable and @item: \setuptable#1 \endsetuptable % % This preamble sets up a generic column definition, which will % be used as many times as user calls for columns. % \vtop will set a single line and will also let text wrap and % continue for many paragraphs if desired. \halign\bgroup &% \global\advance\colcount by 1 \multistrut \vtop{% % Use the current \colcount to find the correct column width: \hsize=\expandafter\csname col\the\colcount\endcsname % % In order to keep entries from bumping into each other % we will add a \leftskip of \multitablecolspace to all columns after % the first one. % % If a template has been used, we will add \multitablecolspace % to the width of each template entry. % % If the user has set preamble in terms of percent of \hsize we will % use that dimension as the width of the column, and the \leftskip % will keep entries from bumping into each other. Table will start at % left margin and final column will justify at right margin. % % Make sure we don't inherit \rightskip from the outer environment. \rightskip=0pt \ifnum\colcount=1 % The first column will be indented with the surrounding text. \advance\hsize by\leftskip \else \ifsetpercent \else % If user has not set preamble in terms of percent of \hsize % we will advance \hsize by \multitablecolspace. \advance\hsize by \multitablecolspace \fi % In either case we will make \leftskip=\multitablecolspace: \leftskip=\multitablecolspace \fi % Ignoring space at the beginning and end avoids an occasional spurious % blank line, when TeX decides to break the line at the space before the % box from the multistrut, so the strut ends up on a line by itself. % For example: % @multitable @columnfractions .11 .89 % @item @code{#} % @tab Legal holiday which is valid in major parts of the whole country. % Is automatically provided with highlighting sequences respectively % marking characters. \noindent\ignorespaces##\unskip\multistrut }\cr } \def\Emultitable{% \crcr \egroup % end the \halign \global\setpercentfalse } \def\setmultitablespacing{% \def\multistrut{\strut}% just use the standard line spacing % % Compute \multitablelinespace (if not defined by user) for use in % \multitableparskip calculation. We used define \multistrut based on % this, but (ironically) that caused the spacing to be off. % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. \ifdim\multitablelinespace=0pt \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 \fi %% Test to see if parskip is larger than space between lines of %% table. If not, do nothing. %% If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller %% than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller %% than skip between lines in the table. \fi} \message{conditionals,} % @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, % @ifnotxml always succeed. They currently do nothing; we don't % attempt to check whether the conditionals are properly nested. But we % have to remember that they are conditionals, so that @end doesn't % attempt to close an environment group. % \def\makecond#1{% \expandafter\let\csname #1\endcsname = \relax \expandafter\let\csname iscond.#1\endcsname = 1 } \makecond{iftex} \makecond{ifnotdocbook} \makecond{ifnothtml} \makecond{ifnotinfo} \makecond{ifnotplaintext} \makecond{ifnotxml} % Ignore @ignore, @ifhtml, @ifinfo, and the like. % \def\direntry{\doignore{direntry}} \def\documentdescription{\doignore{documentdescription}} \def\docbook{\doignore{docbook}} \def\html{\doignore{html}} \def\ifdocbook{\doignore{ifdocbook}} \def\ifhtml{\doignore{ifhtml}} \def\ifinfo{\doignore{ifinfo}} \def\ifnottex{\doignore{ifnottex}} \def\ifplaintext{\doignore{ifplaintext}} \def\ifxml{\doignore{ifxml}} \def\ignore{\doignore{ignore}} \def\menu{\doignore{menu}} \def\xml{\doignore{xml}} % Ignore text until a line `@end #1', keeping track of nested conditionals. % % A count to remember the depth of nesting. \newcount\doignorecount \def\doignore#1{\begingroup % Scan in ``verbatim'' mode: \obeylines \catcode`\@ = \other \catcode`\{ = \other \catcode`\} = \other % % Make sure that spaces turn into tokens that match what \doignoretext wants. \spaceisspace % % Count number of #1's that we've seen. \doignorecount = 0 % % Swallow text until we reach the matching `@end #1'. \dodoignore{#1}% } { \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. \obeylines % % \gdef\dodoignore#1{% % #1 contains the command name as a string, e.g., `ifinfo'. % % Define a command to find the next `@end #1'. \long\def\doignoretext##1^^M@end #1{% \doignoretextyyy##1^^M@#1\_STOP_}% % % And this command to find another #1 command, at the beginning of a % line. (Otherwise, we would consider a line `@c @ifset', for % example, to count as an @ifset for nesting.) \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% % % And now expand that command. \doignoretext ^^M% }% } \def\doignoreyyy#1{% \def\temp{#1}% \ifx\temp\empty % Nothing found. \let\next\doignoretextzzz \else % Found a nested condition, ... \advance\doignorecount by 1 \let\next\doignoretextyyy % ..., look for another. % If we're here, #1 ends with ^^M\ifinfo (for example). \fi \next #1% the token \_STOP_ is present just after this macro. } % We have to swallow the remaining "\_STOP_". % \def\doignoretextzzz#1{% \ifnum\doignorecount = 0 % We have just found the outermost @end. \let\next\enddoignore \else % Still inside a nested condition. \advance\doignorecount by -1 \let\next\doignoretext % Look for the next @end. \fi \next } % Finish off ignored text. { \obeylines% % Ignore anything after the last `@end #1'; this matters in verbatim % environments, where otherwise the newline after an ignored conditional % would result in a blank line in the output. \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% } % @set VAR sets the variable VAR to an empty value. % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. % % Since we want to separate VAR from REST-OF-LINE (which might be % empty), we can't just use \parsearg; we have to insert a space of our % own to delimit the rest of the line, and then take it out again if we % didn't need it. % We rely on the fact that \parsearg sets \catcode`\ =10. % \parseargdef\set{\setyyy#1 \endsetyyy} \def\setyyy#1 #2\endsetyyy{% {% \makevalueexpandable \def\temp{#2}% \edef\next{\gdef\makecsname{SET#1}}% \ifx\temp\empty \next{}% \else \setzzz#2\endsetzzz \fi }% } % Remove the trailing space \setxxx inserted. \def\setzzz#1 \endsetzzz{\next{#1}} % @clear VAR clears (i.e., unsets) the variable VAR. % \parseargdef\clear{% {% \makevalueexpandable \global\expandafter\let\csname SET#1\endcsname=\relax }% } % @value{foo} gets the text saved in variable foo. \def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} { \catcode`\- = \active \catcode`\_ = \active % \gdef\makevalueexpandable{% \let\value = \expandablevalue % We don't want these characters active, ... \catcode`\-=\other \catcode`\_=\other % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. \let-\realdash \let_\normalunderscore } } % We have this subroutine so that we can handle at least some @value's % properly in indexes (we call \makevalueexpandable in \indexdummies). % The command has to be fully expandable (if the variable is set), since % the result winds up in the index file. This means that if the % variable's value contains other Texinfo commands, it's almost certain % it will fail (although perhaps we could fix that with sufficient work % to do a one-level expansion on the result, instead of complete). % \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% \message{Variable `#1', used in @value, is not set.}% \else \csname SET#1\endcsname \fi } % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. % % To get special treatment of `@end ifset,' call \makeond and the redefine. % \makecond{ifset} \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} \def\doifset#1#2{% {% \makevalueexpandable \let\next=\empty \expandafter\ifx\csname SET#2\endcsname\relax #1% If not set, redefine \next. \fi \expandafter }\next } \def\ifsetfail{\doignore{ifset}} % @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % % The `\else' inside the `\doifset' parameter is a trick to reuse the % above code: if the variable is not set, do nothing, if it is set, % then redefine \next to \ifclearfail. % \makecond{ifclear} \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} \def\ifclearfail{\doignore{ifclear}} % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory=\comment % @defininfoenclose. \let\definfoenclose=\comment \message{indexing,} % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite % except not \outer, so it can be used within macros and \if's. \edef\newwrite{\makecsname{ptexnewwrite}} % \newindex {foo} defines an index named foo. % It automatically defines \fooindex such that % \fooindex ...rest of line... puts an entry in the index foo. % It also defines \fooindfile to be the number of the output channel for % the file that accumulates this index. The file's extension is foo. % The name of an index should be no more than 2 characters long % for the sake of vms. % \def\newindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 % Open the file \fi \expandafter\xdef\csname#1index\endcsname{% % Define @#1index \noexpand\doindex{#1}} } % @defindex foo == \newindex{foo} % \def\defindex{\parsearg\newindex} % Define @defcodeindex, like @defindex except put all entries in @code. % \def\defcodeindex{\parsearg\newcodeindex} % \def\newcodeindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 \fi \expandafter\xdef\csname#1index\endcsname{% \noexpand\docodeindex{#1}}% } % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. % % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. % \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), % #3 the target index (bar). \def\dosynindex#1#2#3{% % Only do \closeout if we haven't already done it, else we'll end up % closing the target index. \expandafter \ifx\csname donesynindex#2\endcsname \undefined % The \closeout helps reduce unnecessary open files; the limit on the % Acorn RISC OS is a mere 16 files. \expandafter\closeout\csname#2indfile\endcsname \expandafter\let\csname\donesynindex#2\endcsname = 1 \fi % redefine \fooindfile: \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname \expandafter\let\csname#2indfile\endcsname=\temp % redefine \fooindex: \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% } % Define \doindex, the driver for all \fooindex macros. % Argument #1 is generated by the calling \fooindex macro, % and it is "foo", the name of the index. % \doindex just uses \parsearg; it calls \doind for the actual work. % This is because \doind is more useful to call from other macros. % There is also \dosubind {index}{topic}{subtopic} % which makes an entry in a two-level index such as the operation index. \def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} \def\singleindexer #1{\doind{\indexname}{#1}} % like the previous two, but they put @code around the argument. \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} % Take care of Texinfo commands that can appear in an index entry. % Since there are some commands we want to expand, and others we don't, % we have to laboriously prevent expansion for those that we don't. % \def\indexdummies{% \escapechar = `\\ % use backslash in output files. \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% % % Need these in case \tex is in effect and \{ is a \delimiter again. % But can't use \lbracecmd and \rbracecmd because texindex assumes % braces and backslashes are used only as delimiters. \let\{ = \mylbrace \let\} = \myrbrace % % I don't entirely understand this, but when an index entry is % generated from a macro call, the \endinput which \scanmacro inserts % causes processing to be prematurely terminated. This is, % apparently, because \indexsorttmp is fully expanded, and \endinput % is an expandable command. The redefinition below makes \endinput % disappear altogether for that purpose -- although logging shows that % processing continues to some further point. On the other hand, it % seems \endinput does not hurt in the printed index arg, since that % is still getting written without apparent harm. % % Sample source (mac-idx3.tex, reported by Graham Percival to % help-texinfo, 22may06): % @macro funindex {WORD} % @findex xyz % @end macro % ... % @funindex commtest % % The above is not enough to reproduce the bug, but it gives the flavor. % % Sample whatsit resulting: % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} % % So: \let\endinput = \empty % % Do the redefinitions. \commondummies } % For the aux and toc files, @ is the escape character. So we want to % redefine everything using @ as the escape character (instead of % \realbackslash, still used for index files). When everything uses @, % this will be simpler. % \def\atdummies{% \def\@{@@}% \def\ {@ }% \let\{ = \lbraceatcmd \let\} = \rbraceatcmd % % Do the redefinitions. \commondummies \otherbackslash } % Called from \indexdummies and \atdummies. % \def\commondummies{% % % \definedummyword defines \#1 as \string\#1\space, thus effectively % preventing its expansion. This is used only for control% words, % not control letters, because the \space would be incorrect for % control characters, but is needed to separate the control word % from whatever follows. % % For control letters, we have \definedummyletter, which omits the % space. % % These can be used both for control words that take an argument and % those that do not. If it is followed by {arg} in the input, then % that will dutifully get written to the index (or wherever). % \def\definedummyword ##1{\def##1{\string##1\space}}% \def\definedummyletter##1{\def##1{\string##1}}% \let\definedummyaccent\definedummyletter % \commondummiesnofonts % \definedummyletter\_% % % Non-English letters. \definedummyword\AA \definedummyword\AE \definedummyword\L \definedummyword\OE \definedummyword\O \definedummyword\aa \definedummyword\ae \definedummyword\l \definedummyword\oe \definedummyword\o \definedummyword\ss \definedummyword\exclamdown \definedummyword\questiondown \definedummyword\ordf \definedummyword\ordm % % Although these internal commands shouldn't show up, sometimes they do. \definedummyword\bf \definedummyword\gtr \definedummyword\hat \definedummyword\less \definedummyword\sf \definedummyword\sl \definedummyword\tclose \definedummyword\tt % \definedummyword\LaTeX \definedummyword\TeX % % Assorted special characters. \definedummyword\bullet \definedummyword\comma \definedummyword\copyright \definedummyword\registeredsymbol \definedummyword\dots \definedummyword\enddots \definedummyword\equiv \definedummyword\error \definedummyword\euro \definedummyword\guillemetleft \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright \definedummyword\expansion \definedummyword\minus \definedummyword\pounds \definedummyword\point \definedummyword\print \definedummyword\quotedblbase \definedummyword\quotedblleft \definedummyword\quotedblright \definedummyword\quoteleft \definedummyword\quoteright \definedummyword\quotesinglbase \definedummyword\result \definedummyword\textdegree % % We want to disable all macros so that they are not expanded by \write. \macrolist % \normalturnoffactive % % Handle some cases of @value -- where it does not contain any % (non-fully-expandable) commands. \makevalueexpandable } % \commondummiesnofonts: common to \commondummies and \indexnofonts. % \def\commondummiesnofonts{% % Control letters and accents. \definedummyletter\!% \definedummyaccent\"% \definedummyaccent\'% \definedummyletter\*% \definedummyaccent\,% \definedummyletter\.% \definedummyletter\/% \definedummyletter\:% \definedummyaccent\=% \definedummyletter\?% \definedummyaccent\^% \definedummyaccent\`% \definedummyaccent\~% \definedummyword\u \definedummyword\v \definedummyword\H \definedummyword\dotaccent \definedummyword\ringaccent \definedummyword\tieaccent \definedummyword\ubaraccent \definedummyword\udotaccent \definedummyword\dotless % % Texinfo font commands. \definedummyword\b \definedummyword\i \definedummyword\r \definedummyword\sc \definedummyword\t % % Commands that take arguments. \definedummyword\acronym \definedummyword\cite \definedummyword\code \definedummyword\command \definedummyword\dfn \definedummyword\emph \definedummyword\env \definedummyword\file \definedummyword\kbd \definedummyword\key \definedummyword\math \definedummyword\option \definedummyword\pxref \definedummyword\ref \definedummyword\samp \definedummyword\strong \definedummyword\tie \definedummyword\uref \definedummyword\url \definedummyword\var \definedummyword\verb \definedummyword\w \definedummyword\xref } % \indexnofonts is used when outputting the strings to sort the index % by, and when constructing control sequence names. It eliminates all % control sequences and just writes whatever the best ASCII sort string % would be for a given command (usually its argument). % \def\indexnofonts{% % Accent commands should become @asis. \def\definedummyaccent##1{\let##1\asis}% % We can just ignore other control letters. \def\definedummyletter##1{\let##1\empty}% % Hopefully, all control words can become @asis. \let\definedummyword\definedummyaccent % \commondummiesnofonts % % Don't no-op \tt, since it isn't a user-level command % and is used in the definitions of the active chars like <, >, |, etc. % Likewise with the other plain tex font commands. %\let\tt=\asis % \def\ { }% \def\@{@}% % how to handle braces? \def\_{\normalunderscore}% % % Non-English letters. \def\AA{AA}% \def\AE{AE}% \def\L{L}% \def\OE{OE}% \def\O{O}% \def\aa{aa}% \def\ae{ae}% \def\l{l}% \def\oe{oe}% \def\o{o}% \def\ss{ss}% \def\exclamdown{!}% \def\questiondown{?}% \def\ordf{a}% \def\ordm{o}% % \def\LaTeX{LaTeX}% \def\TeX{TeX}% % % Assorted special characters. % (The following {} will end up in the sort string, but that's ok.) \def\bullet{bullet}% \def\comma{,}% \def\copyright{copyright}% \def\registeredsymbol{R}% \def\dots{...}% \def\enddots{...}% \def\equiv{==}% \def\error{error}% \def\euro{euro}% \def\guillemetleft{<<}% \def\guillemetright{>>}% \def\guilsinglleft{<}% \def\guilsinglright{>}% \def\expansion{==>}% \def\minus{-}% \def\pounds{pounds}% \def\point{.}% \def\print{-|}% \def\quotedblbase{"}% \def\quotedblleft{"}% \def\quotedblright{"}% \def\quoteleft{`}% \def\quoteright{'}% \def\quotesinglbase{,}% \def\result{=>}% \def\textdegree{degrees}% % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up % writing an index entry, and texindex isn't prepared for an index sort entry % that starts with \. % % Since macro invocations are followed by braces, we can just redefine them % to take a single TeX argument. The case of a macro invocation that % goes to end-of-line is not handled. % \macrolist } \let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? % Most index entries go through here, but \dosubind is the general case. % #1 is the index name, #2 is the entry text. \def\doind#1#2{\dosubind{#1}{#2}{}} % Workhorse for all \fooindexes. % #1 is name of index, #2 is stuff to put there, #3 is subentry -- % empty if called from \doind, as we usually are (the main exception % is with most defuns, which call us directly). % \def\dosubind#1#2#3{% \iflinks {% % Store the main index entry text (including the third arg). \toks0 = {#2}% % If third arg is present, precede it with a space. \def\thirdarg{#3}% \ifx\thirdarg\empty \else \toks0 = \expandafter{\the\toks0 \space #3}% \fi % \edef\writeto{\csname#1indfile\endcsname}% % \safewhatsit\dosubindwrite }% \fi } % Write the entry in \toks0 to the index file: % \def\dosubindwrite{% % Put the index entry in the margin if desired. \ifx\SETmarginindex\relax\else \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% \fi % % Remember, we are within a group. \indexdummies % Must do this here, since \bf, etc expand at this stage \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now % so it will be output as is; and it will print as backslash. % % Process the index entry with all font commands turned off, to % get the string to sort by. {\indexnofonts \edef\temp{\the\toks0}% need full expansion \xdef\indexsorttmp{\temp}% }% % % Set up the complete index entry, with both the sort key and % the original text, including any font commands. We write % three arguments to \entry to the .?? file (four in the % subentry case), texindex reduces to two when writing the .??s % sorted result. \edef\temp{% \write\writeto{% \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% }% \temp } % Take care of unwanted page breaks/skips around a whatsit: % % If a skip is the last thing on the list now, preserve it % by backing up by \lastskip, doing the \write, then inserting % the skip again. Otherwise, the whatsit generated by the % \write or \pdfdest will make \lastskip zero. The result is that % sequences like this: % @end defun % @tindex whatever % @defun ... % will have extra space inserted, because the \medbreak in the % start of the @defun won't see the skip inserted by the @end of % the previous defun. % % But don't do any of this if we're not in vertical mode. We % don't want to do a \vskip and prematurely end a paragraph. % % Avoid page breaks due to these extra skips, too. % % But wait, there is a catch there: % We'll have to check whether \lastskip is zero skip. \ifdim is not % sufficient for this purpose, as it ignores stretch and shrink parts % of the skip. The only way seems to be to check the textual % representation of the skip. % % The following is almost like \def\zeroskipmacro{0.0pt} except that % the ``p'' and ``t'' characters have catcode \other, not 11 (letter). % \edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} % \newskip\whatsitskip \newcount\whatsitpenalty % % ..., ready, GO: % \def\safewhatsit#1{% \ifhmode #1% \else % \lastskip and \lastpenalty cannot both be nonzero simultaneously. \whatsitskip = \lastskip \edef\lastskipmacro{\the\lastskip}% \whatsitpenalty = \lastpenalty % % If \lastskip is nonzero, that means the last item was a % skip. And since a skip is discardable, that means this % -\whatsitskip glue we're inserting is preceded by a % non-discardable item, therefore it is not a potential % breakpoint, therefore no \nobreak needed. \ifx\lastskipmacro\zeroskipmacro \else \vskip-\whatsitskip \fi % #1% % \ifx\lastskipmacro\zeroskipmacro % If \lastskip was zero, perhaps the last item was a penalty, and % perhaps it was >=10000, e.g., a \nobreak. In that case, we want % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: % % @deffn deffn-whatever % @vindex index-whatever % Description. % would allow a break between the index-whatever whatsit % and the "Description." paragraph. \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi \else % On the other hand, if we had a nonzero \lastskip, % this make-up glue would be preceded by a non-discardable item % (the whatsit from the \write), so we must insert a \nobreak. \nobreak\vskip\whatsitskip \fi \fi } % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} % or % \entry {sortstring}{page}{topic}{subtopic} % The texindex program reads in these files and writes files % containing these kinds of lines: % \initial {c} % before the first topic whose initial is c % \entry {topic}{pagelist} % for a topic that is used without subtopics % \primary {topic} % for the beginning of a topic that is used with subtopics % \secondary {subtopic}{pagelist} % for each subtopic. % Define the user-accessible indexing commands % @findex, @vindex, @kindex, @cindex. \def\findex {\fnindex} \def\kindex {\kyindex} \def\cindex {\cpindex} \def\vindex {\vrindex} \def\tindex {\tpindex} \def\pindex {\pgindex} \def\cindexsub {\begingroup\obeylines\cindexsub} {\obeylines % \gdef\cindexsub "#1" #2^^M{\endgroup % \dosubind{cp}{#2}{#1}}} % Define the macros used in formatting output of the sorted index material. % @printindex causes a particular index (the ??s file) to get printed. % It does not print any chapter heading (usually an @unnumbered). % \parseargdef\printindex{\begingroup \dobreak \chapheadingskip{10000}% % \smallfonts \rm \tolerance = 9500 \plainfrenchspacing \everypar = {}% don't want the \kern\-parindent from indentation suppression. % % See if the index file exists and is nonempty. % Change catcode of @ here so that if the index file contains % \initial {@} % as its first line, TeX doesn't complain about mismatched braces % (because it thinks @} is a control sequence). \catcode`\@ = 11 \openin 1 \jobname.#1s \ifeof 1 % \enddoublecolumns gets confused if there is no text in the index, % and it loses the chapter title and the aux file entries for the % index. The easiest way to prevent this problem is to make sure % there is some text. \putwordIndexNonexistent \else % % If the index file exists but is empty, then \openin leaves \ifeof % false. We have to make TeX try to read something from the file, so % it can discover if there is anything in it. \read 1 to \temp \ifeof 1 \putwordIndexIsEmpty \else % Index files are almost Texinfo source, but we use \ as the escape % character. It would be better to use @, but that's too big a change % to make right now. \def\indexbackslash{\backslashcurfont}% \catcode`\\ = 0 \escapechar = `\\ \begindoublecolumns \input \jobname.#1s \enddoublecolumns \fi \fi \closein 1 \endgroup} % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. \def\initial#1{{% % Some minor font changes for the special characters. \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt % % Remove any glue we may have, we'll be inserting our own. \removelastskip % % We like breaks before the index initials, so insert a bonus. \nobreak \vskip 0pt plus 3\baselineskip \penalty 0 \vskip 0pt plus -3\baselineskip % % Typeset the initial. Making this add up to a whole number of % baselineskips increases the chance of the dots lining up from column % to column. It still won't often be perfect, because of the stretch % we need before each entry, but it's better. % % No shrink because it confuses \balancecolumns. \vskip 1.67\baselineskip plus .5\baselineskip \leftline{\secbf #1}% % Do our best not to break after the initial. \nobreak \vskip .33\baselineskip plus .1\baselineskip }} % \entry typesets a paragraph consisting of the text (#1), dot leaders, and % then page number (#2) flushed to the right margin. It is used for index % and table of contents entries. The paragraph is indented by \leftskip. % % A straightforward implementation would start like this: % \def\entry#1#2{... % But this freezes the catcodes in the argument, and can cause problems to % @code, which sets - active. This problem was fixed by a kludge--- % ``-'' was active throughout whole index, but this isn't really right. % % The right solution is to prevent \entry from swallowing the whole text. % --kasal, 21nov03 \def\entry{% \begingroup % % Start a new paragraph if necessary, so our assignments below can't % affect previous text. \par % % Do not fill out the last line with white space. \parfillskip = 0in % % No extra space above this paragraph. \parskip = 0in % % Do not prefer a separate line ending with a hyphen to fewer lines. \finalhyphendemerits = 0 % % \hangindent is only relevant when the entry text and page number % don't both fit on one line. In that case, bob suggests starting the % dots pretty far over on the line. Unfortunately, a large % indentation looks wrong when the entry text itself is broken across % lines. So we use a small indentation and put up with long leaders. % % \hangafter is reset to 1 (which is the value we want) at the start % of each paragraph, so we need not do anything with that. \hangindent = 2em % % When the entry text needs to be broken, just fill out the first line % with blank space. \rightskip = 0pt plus1fil % % A bit of stretch before each entry for the benefit of balancing % columns. \vskip 0pt plus1pt % % Swallow the left brace of the text (first parameter): \afterassignment\doentry \let\temp = } \def\doentry{% \bgroup % Instead of the swallowed brace. \noindent \aftergroup\finishentry % And now comes the text of the entry. } \def\finishentry#1{% % #1 is the page number. % % The following is kludged to not output a line of dots in the index if % there are no page numbers. The next person who breaks this will be % cursed by a Unix daemon. \setbox\boxA = \hbox{#1}% \ifdim\wd\boxA = 0pt \ % \else % % If we must, put the page number on a line of its own, and fill out % this line with blank space. (The \hfil is overwhelmed with the % fill leaders glue in \indexdotfill if the page number does fit.) \hfil\penalty50 \null\nobreak\indexdotfill % Have leaders before the page number. % % The `\ ' here is removed by the implicit \unskip that TeX does as % part of (the primitive) \par. Without it, a spurious underfull % \hbox ensues. \ifpdf \pdfgettoks#1.% \ \the\toksA \else \ #1% \fi \fi \par \endgroup } % Like plain.tex's \dotfill, except uses up at least 1 em. \def\indexdotfill{\cleaders \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} \def\primary #1{\line{#1\hfil}} \newskip\secondaryindent \secondaryindent=0.5cm \def\secondary#1#2{{% \parfillskip=0in \parskip=0in \hangindent=1in \hangafter=1 \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill \ifpdf \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. \else #2 \fi \par }} % Define two-column mode, which we use to typeset indexes. % Adapted from the TeXbook, page 416, which is to say, % the manmac.tex format used to print the TeXbook itself. \catcode`\@=11 \newbox\partialpage \newdimen\doublecolumnhsize \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns % Grab any single-column material above us. \output = {% % % Here is a possibility not foreseen in manmac: if we accumulate a % whole lot of material, we might end up calling this \output % routine twice in a row (see the doublecol-lose test, which is % essentially a couple of indexes with @setchapternewpage off). In % that case we just ship out what is in \partialpage with the normal % output routine. Generally, \partialpage will be empty when this % runs and this will be a no-op. See the indexspread.tex test case. \ifvoid\partialpage \else \onepageout{\pagecontents\partialpage}% \fi % \global\setbox\partialpage = \vbox{% % Unvbox the main output page. \unvbox\PAGE \kern-\topskip \kern\baselineskip }% }% \eject % run that output routine to set \partialpage % % Use the double-column output routine for subsequent pages. \output = {\doublecolumnout}% % % Change the page size parameters. We could do this once outside this % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 % format, but then we repeat the same computation. Repeating a couple % of assignments once per index is clearly meaningless for the % execution time, so we may as well do it in one place. % % First we halve the line length, less a little for the gutter between % the columns. We compute the gutter based on the line length, so it % changes automatically with the paper format. The magic constant % below is chosen so that the gutter has the same value (well, +-<1pt) % as it did when we hard-coded it. % % We put the result in a separate register, \doublecolumhsize, so we % can restore it in \pagesofar, after \hsize itself has (potentially) % been clobbered. % \doublecolumnhsize = \hsize \advance\doublecolumnhsize by -.04154\hsize \divide\doublecolumnhsize by 2 \hsize = \doublecolumnhsize % % Double the \vsize as well. (We don't need a separate register here, % since nobody clobbers \vsize.) \vsize = 2\vsize } % The double-column output routine for all double-column pages except % the last. % \def\doublecolumnout{% \splittopskip=\topskip \splitmaxdepth=\maxdepth % Get the available space for the double columns -- the normal % (undoubled) page height minus any material left over from the % previous page. \dimen@ = \vsize \divide\dimen@ by 2 \advance\dimen@ by -\ht\partialpage % % box0 will be the left-hand column, box2 the right. \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ \onepageout\pagesofar \unvbox255 \penalty\outputpenalty } % % Re-output the contents of the output page -- any previous material, % followed by the two boxes we just split, in box0 and box2. \def\pagesofar{% \unvbox\partialpage % \hsize = \doublecolumnhsize \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}% } % % All done with double columns. \def\enddoublecolumns{% % The following penalty ensures that the page builder is exercised % _before_ we change the output routine. This is necessary in the % following situation: % % The last section of the index consists only of a single entry. % Before this section, \pagetotal is less than \pagegoal, so no % break occurs before the last section starts. However, the last % section, consisting of \initial and the single \entry, does not % fit on the page and has to be broken off. Without the following % penalty the page builder will not be exercised until \eject % below, and by that time we'll already have changed the output % routine to the \balancecolumns version, so the next-to-last % double-column page will be processed with \balancecolumns, which % is wrong: The two columns will go to the main vertical list, with % the broken-off section in the recent contributions. As soon as % the output routine finishes, TeX starts reconsidering the page % break. The two columns and the broken-off section both fit on the % page, because the two columns now take up only half of the page % goal. When TeX sees \eject from below which follows the final % section, it invokes the new output routine that we've set after % \balancecolumns below; \onepageout will try to fit the two columns % and the final section into the vbox of \pageheight (see % \pagebody), causing an overfull box. % % Note that glue won't work here, because glue does not exercise the % page builder, unlike penalties (see The TeXbook, pp. 280-281). \penalty0 % \output = {% % Split the last of the double-column material. Leave it on the % current page, no automatic page break. \balancecolumns % % If we end up splitting too much material for the current page, % though, there will be another page break right after this \output % invocation ends. Having called \balancecolumns once, we do not % want to call it again. Therefore, reset \output to its normal % definition right away. (We hope \balancecolumns will never be % called on to balance too much material, but if it is, this makes % the output somewhat more palatable.) \global\output = {\onepageout{\pagecontents\PAGE}}% }% \eject \endgroup % started in \begindoublecolumns % % \pagegoal was set to the doubled \vsize above, since we restarted % the current page. We're now back to normal single-column % typesetting, so reset \pagegoal to the normal \vsize (after the % \endgroup where \vsize got restored). \pagegoal = \vsize } % % Called at the end of the double column material. \def\balancecolumns{% \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. \dimen@ = \ht0 \advance\dimen@ by \topskip \advance\dimen@ by-\baselineskip \divide\dimen@ by 2 % target to split to %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% \splittopskip = \topskip % Loop until we get a decent breakpoint. {% \vbadness = 10000 \loop \global\setbox3 = \copy0 \global\setbox1 = \vsplit3 to \dimen@ \ifdim\ht3>\dimen@ \global\advance\dimen@ by 1pt \repeat }% %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% \setbox0=\vbox to\dimen@{\unvbox1}% \setbox2=\vbox to\dimen@{\unvbox3}% % \pagesofar } \catcode`\@ = \other \message{sectioning,} % Chapters, sections, etc. % \unnumberedno is an oxymoron, of course. But we count the unnumbered % sections so that we can refer to them unambiguously in the pdf % outlines by their "section number". We avoid collisions with chapter % numbers by starting them at 10000. (If a document ever has 10000 % chapters, we're in trouble anyway, I'm sure.) \newcount\unnumberedno \unnumberedno = 10000 \newcount\chapno \newcount\secno \secno=0 \newcount\subsecno \subsecno=0 \newcount\subsubsecno \subsubsecno=0 % This counter is funny since it counts through charcodes of letters A, B, ... \newcount\appendixno \appendixno = `\@ % % \def\appendixletter{\char\the\appendixno} % We do the following ugly conditional instead of the above simple % construct for the sake of pdftex, which needs the actual % letter in the expansion, not just typeset. % \def\appendixletter{% \ifnum\appendixno=`A A% \else\ifnum\appendixno=`B B% \else\ifnum\appendixno=`C C% \else\ifnum\appendixno=`D D% \else\ifnum\appendixno=`E E% \else\ifnum\appendixno=`F F% \else\ifnum\appendixno=`G G% \else\ifnum\appendixno=`H H% \else\ifnum\appendixno=`I I% \else\ifnum\appendixno=`J J% \else\ifnum\appendixno=`K K% \else\ifnum\appendixno=`L L% \else\ifnum\appendixno=`M M% \else\ifnum\appendixno=`N N% \else\ifnum\appendixno=`O O% \else\ifnum\appendixno=`P P% \else\ifnum\appendixno=`Q Q% \else\ifnum\appendixno=`R R% \else\ifnum\appendixno=`S S% \else\ifnum\appendixno=`T T% \else\ifnum\appendixno=`U U% \else\ifnum\appendixno=`V V% \else\ifnum\appendixno=`W W% \else\ifnum\appendixno=`X X% \else\ifnum\appendixno=`Y Y% \else\ifnum\appendixno=`Z Z% % The \the is necessary, despite appearances, because \appendixletter is % expanded while writing the .toc file. \char\appendixno is not % expandable, thus it is written literally, thus all appendixes come out % with the same letter (or @) in the toc without it. \else\char\the\appendixno \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} % Each @chapter defines these (using marks) as the number+name, number % and name of the chapter. Page headings and footings can use % these. @section does likewise. \def\thischapter{} \def\thischapternum{} \def\thischaptername{} \def\thissection{} \def\thissectionnum{} \def\thissectionname{} \newcount\absseclevel % used to calculate proper heading level \newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count % @raisesections: treat @section as chapter, @subsection as section, etc. \def\raisesections{\global\advance\secbase by -1} \let\up=\raisesections % original BFox name % @lowersections: treat @chapter as section, @section as subsection, etc. \def\lowersections{\global\advance\secbase by 1} \let\down=\lowersections % original BFox name % we only have subsub. \chardef\maxseclevel = 3 % % A numbered section within an unnumbered changes to unnumbered too. % To achive this, remember the "biggest" unnum. sec. we are currently in: \chardef\unmlevel = \maxseclevel % % Trace whether the current chapter is an appendix or not: % \chapheadtype is "N" or "A", unnumbered chapters are ignored. \def\chapheadtype{N} % Choose a heading macro % #1 is heading type % #2 is heading level % #3 is text for heading \def\genhead#1#2#3{% % Compute the abs. sec. level: \absseclevel=#2 \advance\absseclevel by \secbase % Make sure \absseclevel doesn't fall outside the range: \ifnum \absseclevel < 0 \absseclevel = 0 \else \ifnum \absseclevel > 3 \absseclevel = 3 \fi \fi % The heading type: \def\headtype{#1}% \if \headtype U% \ifnum \absseclevel < \unmlevel \chardef\unmlevel = \absseclevel \fi \else % Check for appendix sections: \ifnum \absseclevel = 0 \edef\chapheadtype{\headtype}% \else \if \headtype A\if \chapheadtype N% \errmessage{@appendix... within a non-appendix chapter}% \fi\fi \fi % Check for numbered within unnumbered: \ifnum \absseclevel > \unmlevel \def\headtype{U}% \else \chardef\unmlevel = 3 \fi \fi % Now print the heading: \if \headtype U% \ifcase\absseclevel \unnumberedzzz{#3}% \or \unnumberedseczzz{#3}% \or \unnumberedsubseczzz{#3}% \or \unnumberedsubsubseczzz{#3}% \fi \else \if \headtype A% \ifcase\absseclevel \appendixzzz{#3}% \or \appendixsectionzzz{#3}% \or \appendixsubseczzz{#3}% \or \appendixsubsubseczzz{#3}% \fi \else \ifcase\absseclevel \chapterzzz{#3}% \or \seczzz{#3}% \or \numberedsubseczzz{#3}% \or \numberedsubsubseczzz{#3}% \fi \fi \fi \suppressfirstparagraphindent } % an interface: \def\numhead{\genhead N} \def\apphead{\genhead A} \def\unnmhead{\genhead U} % @chapter, @appendix, @unnumbered. Increment top-level counter, reset % all lower-level sectioning counters to zero. % % Also set \chaplevelprefix, which we prepend to @float sequence numbers % (e.g., figures), q.v. By default (before any chapter), that is empty. \let\chaplevelprefix = \empty % \outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz \def\chapterzzz#1{% % section resetting is \global in case the chapter is in a group, such % as an @include file. \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\chapno by 1 % % Used for \float. \gdef\chaplevelprefix{\the\chapno.}% \resetallfloatnos % \message{\putwordChapter\space \the\chapno}% % % Write the actual heading. \chapmacro{#1}{Ynumbered}{\the\chapno}% % % So @section and the like are numbered underneath this chapter. \global\let\section = \numberedsec \global\let\subsection = \numberedsubsec \global\let\subsubsection = \numberedsubsubsec } \outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz \def\appendixzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\appendixno by 1 \gdef\chaplevelprefix{\appendixletter.}% \resetallfloatnos % \def\appendixnum{\putwordAppendix\space \appendixletter}% \message{\appendixnum}% % \chapmacro{#1}{Yappendix}{\appendixletter}% % \global\let\section = \appendixsec \global\let\subsection = \appendixsubsec \global\let\subsubsection = \appendixsubsubsec } \outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz \def\unnumberedzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\unnumberedno by 1 % % Since an unnumbered has no number, no prefix for figures. \global\let\chaplevelprefix = \empty \resetallfloatnos % % This used to be simply \message{#1}, but TeX fully expands the % argument to \message. Therefore, if #1 contained @-commands, TeX % expanded them. For example, in `@unnumbered The @cite{Book}', TeX % expanded @cite (which turns out to cause errors because \cite is meant % to be executed, not expanded). % % Anyway, we don't want the fully-expanded definition of @cite to appear % as a result of the \message, we just want `@cite' itself. We use % \the to achieve this: TeX expands \the only once, % simply yielding the contents of . (We also do this for % the toc entries.) \toks0 = {#1}% \message{(\the\toks0)}% % \chapmacro{#1}{Ynothing}{\the\unnumberedno}% % \global\let\section = \unnumberedsec \global\let\subsection = \unnumberedsubsec \global\let\subsubsection = \unnumberedsubsubsec } % @centerchap is like @unnumbered, but the heading is centered. \outer\parseargdef\centerchap{% % Well, we could do the following in a group, but that would break % an assumption that \chapmacro is called at the outermost level. % Thus we are safer this way: --kasal, 24feb04 \let\centerparametersmaybe = \centerparameters \unnmhead0{#1}% \let\centerparametersmaybe = \relax } % @top is like @unnumbered. \let\top\unnumbered % Sections. \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz \def\seczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% } \outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz \def\appendixsectionzzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% } \let\appendixsec\appendixsection \outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz \def\unnumberedseczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% } % Subsections. \outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz \def\numberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% } \outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz \def\appendixsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno}% } \outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz \def\unnumberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno}% } % Subsubsections. \outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz \def\numberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynumbered}% {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% } \outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz \def\appendixsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% } \outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz \def\unnumberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% } % These macros control what the section commands do, according % to what kind of chapter we are in (ordinary, appendix, or unnumbered). % Define them by default for a numbered chapter. \let\section = \numberedsec \let\subsection = \numberedsubsec \let\subsubsection = \numberedsubsubsec % Define @majorheading, @heading and @subheading % NOTE on use of \vbox for chapter headings, section headings, and such: % 1) We use \vbox rather than the earlier \line to permit % overlong headings to fold. % 2) \hyphenpenalty is set to 10000 because hyphenation in a % heading is obnoxious; this forbids it. % 3) Likewise, headings look best if no \parindent is used, and % if justification is not attempted. Hence \raggedright. \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz } \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rm #1\hfill}}% \bigskip \par\penalty 200\relax \suppressfirstparagraphindent } % @heading, @subheading, @subsubheading. \parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} % These macros generate a chapter, section, etc. heading only % (including whitespace, linebreaking, etc. around it), % given all the information in convenient, parsed form. %%% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} %%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) \newskip\chapheadingskip \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} % Because \domark is called before \chapoddpage, the filler page will % get the headings for the next chapter, which is wrong. But we don't % care -- we just disable all headings on the filler page. \def\chapoddpage{% \chappager \ifodd\pageno \else \begingroup \evenheadline={\hfil}\evenfootline={\hfil}% \oddheadline={\hfil}\oddfootline={\hfil}% \hbox to 0pt{}% \chappager \endgroup \fi } \def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} \def\CHAPPAGoff{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chapbreak \global\let\pagealignmacro=\chappager} \def\CHAPPAGon{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chappager \global\let\pagealignmacro=\chappager \global\def\HEADINGSon{\HEADINGSsingle}} \def\CHAPPAGodd{% \global\let\contentsalignmacro = \chapoddpage \global\let\pchapsepmacro=\chapoddpage \global\let\pagealignmacro=\chapoddpage \global\def\HEADINGSon{\HEADINGSdouble}} \CHAPPAGon % Chapter opening. % % #1 is the text, #2 is the section type (Ynumbered, Ynothing, % Yappendix, Yomitfromtoc), #3 the chapter number. % % To test against our argument. \def\Ynothingkeyword{Ynothing} \def\Yomitfromtockeyword{Yomitfromtoc} \def\Yappendixkeyword{Yappendix} % \def\chapmacro#1#2#3{% % Insert the first mark before the heading break (see notes for \domark). \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% \gdef\thissection{}}% % \def\temptype{#2}% \ifx\temptype\Ynothingkeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{\thischaptername}}% \else\ifx\temptype\Yomitfromtockeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{}}% \else\ifx\temptype\Yappendixkeyword \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\appendixletter}% \gdef\noexpand\thischapter{\putwordAppendix{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \else \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\the\chapno}% \gdef\noexpand\thischapter{\putwordChapter{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \fi\fi\fi % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert the chapter heading break. \pchapsepmacro % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \domark % {% \chapfonts \rm % % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called % after \pchapsepmacro, or the headline will change too soon. \gdef\lastsection{#1}% % % Only insert the separating space if we have a chapter/appendix % number, and don't print the unnumbered ``number''. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unnchap}% \else\ifx\temptype\Yomitfromtockeyword \setbox0 = \hbox{}% contents like unnumbered, but no toc entry \def\toctype{omit}% \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% \def\toctype{app}% \else \setbox0 = \hbox{#3\enspace}% \def\toctype{numchap}% \fi\fi\fi % % Write the toc entry for this chapter. Must come before the % \donoderef, because we include the current node name in the toc % entry, and \donoderef resets it to empty. \writetocentry{\toctype}{#1}{#3}% % % For pdftex, we have to write out the node definition (aka, make % the pdfdest) after any page break, but before the actual text has % been typeset. If the destination for the pdf outline is after the % text, then jumping from the outline may wind up with the text not % being visible, for instance under high magnification. \donoderef{#2}% % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title \nobreak } % @centerchap -- centered and unnumbered. \let\centerparametersmaybe = \relax \def\centerparameters{% \advance\rightskip by 3\rightskip \leftskip = \rightskip \parfillskip = 0pt } % I don't think this chapter style is supported any more, so I'm not % updating it with the new noderef stuff. We'll see. --karl, 11aug03. % \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} % \def\unnchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rm #1\hfill}}\bigskip \par\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } \def\centerchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt \hfill {\rm #1}\hfill}}\bigskip \par\nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen \global\let\centerchapmacro=\centerchfopen} % Section titles. These macros combine the section number parts and % call the generic \sectionheading to do the printing. % \newskip\secheadingskip \def\secheadingbreak{\dobreak \secheadingskip{-1000}} % Subsection titles. \newskip\subsecheadingskip \def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} % Subsubsection titles. \def\subsubsecheadingskip{\subsecheadingskip} \def\subsubsecheadingbreak{\subsecheadingbreak} % Print any size, any type, section title. % % #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is % the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the % section number. % \def\seckeyword{sec} % \def\sectionheading#1#2#3#4{% {% % Switch to the right set of fonts. \csname #2fonts\endcsname \rm % \def\sectionlevel{#2}% \def\temptype{#3}% % % Insert first mark before the heading break (see notes for \domark). \let\prevsectiondefs=\lastsectiondefs \ifx\temptype\Ynothingkeyword \ifx\sectionlevel\seckeyword \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% \gdef\thissection{\thissectionname}}% \fi \else\ifx\temptype\Yomitfromtockeyword % Don't redefine \thissection. \else\ifx\temptype\Yappendixkeyword \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \else \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \fi\fi\fi % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert space above the heading. \csname #2headingbreak\endcsname % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevsectiondefs=\lastsectiondefs \domark % % Only insert the space after the number if we have a section number. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unn}% \gdef\lastsection{#1}% \else\ifx\temptype\Yomitfromtockeyword % for @headings -- no section number, don't include in toc, % and don't redefine \lastsection. \setbox0 = \hbox{}% \def\toctype{omit}% \let\sectionlevel=\empty \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{#4\enspace}% \def\toctype{app}% \gdef\lastsection{#1}% \else \setbox0 = \hbox{#4\enspace}% \def\toctype{num}% \gdef\lastsection{#1}% \fi\fi\fi % % Write the toc entry (before \donoderef). See comments in \chapmacro. \writetocentry{\toctype\sectionlevel}{#1}{#4}% % % Write the node reference (= pdf destination for pdftex). % Again, see comments in \chapmacro. \donoderef{#3}% % % Interline glue will be inserted when the vbox is completed. % That glue will be a valid breakpoint for the page, since it'll be % preceded by a whatsit (usually from the \donoderef, or from the % \writetocentry if there was no node). We don't want to allow that % break, since then the whatsits could end up on page n while the % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. \nobreak % % Output the actual section heading. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright \hangindent=\wd0 % zero if no section number \unhbox0 #1}% }% % Add extra space after the heading -- half of whatever came above it. % Don't allow stretch, though. \kern .5 \csname #2headingskip\endcsname % % Do not let the kern be a potential breakpoint, as it would be if it % was followed by glue. \nobreak % % We'll almost certainly start a paragraph next, so don't let that % glue accumulate. (Not a breakpoint because it's preceded by a % discardable item.) \vskip-\parskip % % This is purely so the last item on the list is a known \penalty > % 10000. This is so \startdefun can avoid allowing breakpoints after % section headings. Otherwise, it would insert a valid breakpoint between: % % @section sec-whatever % @deffn def-whatever \penalty 10001 } \message{toc,} % Table of contents. \newwrite\tocfile % Write an entry to the toc file, opening it if necessary. % Called from @chapter, etc. % % Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} % We append the current node name (if any) and page number as additional % arguments for the \{chap,sec,...}entry macros which will eventually % read this. The node name is used in the pdf outlines as the % destination to jump to. % % We open the .toc file for writing here instead of at @setfilename (or % any other fixed time) so that @contents can be anywhere in the document. % But if #1 is `omit', then we don't do anything. This is used for the % table of contents chapter openings themselves. % \newif\iftocfileopened \def\omitkeyword{omit}% % \def\writetocentry#1#2#3{% \edef\writetoctype{#1}% \ifx\writetoctype\omitkeyword \else \iftocfileopened\else \immediate\openout\tocfile = \jobname.toc \global\tocfileopenedtrue \fi % \iflinks {\atdummies \edef\temp{% \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% \temp }% \fi \fi % % Tell \shipout to create a pdf destination on each page, if we're % writing pdf. These are used in the table of contents. We can't % just write one on every page because the title pages are numbered % 1 and 2 (the page numbers aren't printed), and so are the first % two pages of the document. Thus, we'd have two destinations named % `1', and two named `2'. \ifpdf \global\pdfmakepagedesttrue \fi } % These characters do not print properly in the Computer Modern roman % fonts, so we must take special care. This is more or less redundant % with the Texinfo input format setup at the end of this file. % \def\activecatcodes{% \catcode`\"=\active \catcode`\$=\active \catcode`\<=\active \catcode`\>=\active \catcode`\\=\active \catcode`\^=\active \catcode`\_=\active \catcode`\|=\active \catcode`\~=\active } % Read the toc file, which is essentially Texinfo input. \def\readtocfile{% \setupdatafile \activecatcodes \input \tocreadfilename } \newskip\contentsrightmargin \contentsrightmargin=1in \newcount\savepageno \newcount\lastnegativepageno \lastnegativepageno = -1 % Prepare to read what we've written to \tocfile. % \def\startcontents#1{% % If @setchapternewpage on, and @headings double, the contents should % start on an odd page, unlike chapters. Thus, we maintain % \contentsalignmacro in parallel with \pagealignmacro. % From: Torbjorn Granlund \contentsalignmacro \immediate\closeout\tocfile % % Don't need to put `Contents' or `Short Contents' in the headline. % It is abundantly clear what they are. \chapmacro{#1}{Yomitfromtoc}{}% % \savepageno = \pageno \begingroup % Set up to handle contents files properly. \raggedbottom % Worry more about breakpoints than the bottom. \advance\hsize by -\contentsrightmargin % Don't use the full line length. % % Roman numerals for page numbers. \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi } % redefined for the two-volume lispref. We always output on % \jobname.toc even if this is redefined. % \def\tocreadfilename{\jobname.toc} % Normal (long) toc. % \def\contents{% \startcontents{\putwordTOC}% \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \ifeof 1 \else \pdfmakeoutlines \fi \closein 1 \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } % And just the chapters. \def\summarycontents{% \startcontents{\putwordShortTOC}% % \let\numchapentry = \shortchapentry \let\appentry = \shortchapentry \let\unnchapentry = \shortunnchapentry % We want a true roman here for the page numbers. \secfonts \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl \let\tt=\shortconttt \rm \hyphenpenalty = 10000 \advance\baselineskip by 1pt % Open it up a little. \def\numsecentry##1##2##3##4{} \let\appsecentry = \numsecentry \let\unnsecentry = \numsecentry \let\numsubsecentry = \numsecentry \let\appsubsecentry = \numsecentry \let\unnsubsecentry = \numsecentry \let\numsubsubsecentry = \numsecentry \let\appsubsubsecentry = \numsecentry \let\unnsubsubsecentry = \numsecentry \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \closein 1 \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } \let\shortcontents = \summarycontents % Typeset the label for a chapter or appendix for the short contents. % The arg is, e.g., `A' for an appendix, or `3' for a chapter. % \def\shortchaplabel#1{% % This space should be enough, since a single number is .5em, and the % widest letter (M) is 1em, at least in the Computer Modern fonts. % But use \hss just in case. % (This space doesn't include the extra space that gets added after % the label; that gets put in by \shortchapentry above.) % % We'd like to right-justify chapter numbers, but that looks strange % with appendix letters. And right-justifying numbers and % left-justifying letters looks strange when there is less than 10 % chapters. Have to read the whole toc once to know how many chapters % there are before deciding ... \hbox to 1em{#1\hss}% } % These macros generate individual entries in the table of contents. % The first argument is the chapter or section name. % The last argument is the page number. % The arguments in between are the chapter number, section number, ... % Chapters, in the main contents. \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} % % Chapters, in the short toc. % See comments in \dochapentry re vbox and related settings. \def\shortchapentry#1#2#3#4{% \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% } % Appendices, in the main contents. % Need the word Appendix, and a fixed-size box. % \def\appendixbox#1{% % We use M since it's probably the widest letter. \setbox0 = \hbox{\putwordAppendix{} M}% \hbox to \wd0{\putwordAppendix{} #1\hss}} % \def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} % Unnumbered chapters. \def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} \def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} % Sections. \def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} \let\appsecentry=\numsecentry \def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} % Subsections. \def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} \let\appsubsecentry=\numsubsecentry \def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} % And subsubsections. \def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} \let\appsubsubsecentry=\numsubsubsecentry \def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} % This parameter controls the indentation of the various levels. % Same as \defaultparindent. \newdimen\tocindent \tocindent = 15pt % Now for the actual typesetting. In all these, #1 is the text and #2 is the % page number. % % If the toc has to be broken over pages, we want it to be at chapters % if at all possible; hence the \penalty. \def\dochapentry#1#2{% \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip \begingroup \chapentryfonts \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup \nobreak\vskip .25\baselineskip plus.1\baselineskip } \def\dosecentry#1#2{\begingroup \secentryfonts \leftskip=\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsecentry#1#2{\begingroup \subsecentryfonts \leftskip=2\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsubsecentry#1#2{\begingroup \subsubsecentryfonts \leftskip=3\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} % We use the same \entry macro as for the index entries. \let\tocentry = \entry % Space between chapter (or whatever) number and the title. \def\labelspace{\hskip1em \relax} \def\dopageno#1{{\rm #1}} \def\doshortpageno#1{{\rm #1}} \def\chapentryfonts{\secfonts \rm} \def\secentryfonts{\textfonts} \def\subsecentryfonts{\textfonts} \def\subsubsecentryfonts{\textfonts} \message{environments,} % @foo ... @end foo. % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. % % Since these characters are used in examples, they should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. % \def\point{$\star$} \def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} \def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} \def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} \def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} % The @error{} command. % Adapted from the TeXbook's \boxit. % \newbox\errorbox % {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) \setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} % \setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. \advance\hsize by -2\dimen2 % Rules. \vbox{% \hrule height\dimen2 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. \kern3pt\vrule width\dimen2}% Space to right. \hrule height\dimen2} \hfil} % \def\error{\leavevmode\lower.7ex\copy\errorbox} % @tex ... @end tex escapes into raw Tex temporarily. % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain tex @ character. \envdef\tex{% \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie \catcode `\%=14 \catcode `\+=\other \catcode `\"=\other \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other \escapechar=`\\ % \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc \let\,=\ptexcomma \let\.=\ptexdot \let\dots=\ptexdots \let\equiv=\ptexequiv \let\!=\ptexexclam \let\i=\ptexi \let\indent=\ptexindent \let\noindent=\ptexnoindent \let\{=\ptexlbrace \let\+=\tabalign \let\}=\ptexrbrace \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext \expandafter \let\csname top\endcsname=\ptextop % outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \def\@{@}% } % There is no need to define \Etex. % Define @lisp ... @end lisp. % @lisp environment forms a group so it can rebind things, % including the definition of @end lisp (which normally is erroneous). % Amount to narrow the margins by for @lisp. \newskip\lispnarrowing \lispnarrowing=0.4in % This is the definition that ^^M gets inside @lisp, @example, and other % such environments. \null is better than a space, since it doesn't % have any width. \def\lisppar{\null\endgraf} % This space is always present above and below environments. \newskip\envskipamount \envskipamount = 0pt % Make spacing and below environment symmetrical. We use \parskip here % to help in doing that, since in @example-like environments \parskip % is reset to zero; thus the \afterenvbreak inserts no space -- but the % start of the next paragraph will insert \parskip. % \def\aboveenvbreak{{% % =10000 instead of <10000 because of a special case in \itemzzz and % \sectionheading, q.v. \ifnum \lastpenalty=10000 \else \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip % it's not a good place to break if the last penalty was \nobreak % or better ... \ifnum\lastpenalty<10000 \penalty-50 \fi \vskip\envskipamount \fi \fi }} \let\afterenvbreak = \aboveenvbreak % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will % also clear it, so that its embedded environments do the narrowing again. \let\nonarrowing=\relax % @cartouche ... @end cartouche: draw rectangle w/rounded corners around % environment contents. \font\circle=lcircle10 \newdimen\circthick \newdimen\cartouter\newdimen\cartinner \newskip\normbskip\newskip\normpskip\newskip\normlskip \circthick=\fontdimen8\circle % \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth \def\ctr{{\hskip 6pt\circle\char'010}} \def\cbl{{\circle\char'012\hskip -6pt}} \def\cbr{{\hskip 6pt\circle\char'011}} \def\carttop{\hbox to \cartouter{\hskip\lskip \ctl\leaders\hrule height\circthick\hfil\ctr \hskip\rskip}} \def\cartbot{\hbox to \cartouter{\hskip\lskip \cbl\leaders\hrule height\circthick\hfil\cbr \hskip\rskip}} % \newskip\lskip\newskip\rskip \envdef\cartouche{% \ifhmode\par\fi % can't be in the midst of a paragraph. \startsavinginserts \lskip=\leftskip \rskip=\rightskip \leftskip=0pt\rightskip=0pt % we want these *outside*. \cartinner=\hsize \advance\cartinner by-\lskip \advance\cartinner by-\rskip \cartouter=\hsize \advance\cartouter by 18.4pt % allow for 3pt kerns on either % side, and for 6pt waste from % each corner char, and rule thickness \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. \let\nonarrowing = t% \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop \hbox\bgroup \hskip\lskip \vrule\kern3pt \vbox\bgroup \kern3pt \hsize=\cartinner \baselineskip=\normbskip \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip \comment % For explanation, see the end of \def\group. } \def\Ecartouche{% \ifhmode\par\fi \kern3pt \egroup \kern3pt\vrule \hskip\rskip \egroup \cartbot \egroup \checkinserts } % This macro is called at the beginning of all the @example variants, % inside a group. \def\nonfillstart{% \aboveenvbreak \hfuzz = 12pt % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt \parindent = 0pt \emergencystretch = 0pt % don't try to avoid overfull boxes \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing \exdentamount=\lispnarrowing \else \let\nonarrowing = \relax \fi \let\exdent=\nofillexdent } % If you want all examples etc. small: @set dispenvsize small. % If you want even small examples the full size: @set dispenvsize nosmall. % This affects the following displayed environments: % @example, @display, @format, @lisp % \def\smallword{small} \def\nosmallword{nosmall} \let\SETdispenvsize\relax \def\setnormaldispenv{% \ifx\SETdispenvsize\smallword % end paragraph for sake of leading, in case document has no blank % line. This is redundant with what happens in \aboveenvbreak, but % we need to do it before changing the fonts, and it's inconvenient % to change the fonts afterward. \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } \def\setsmalldispenv{% \ifx\SETdispenvsize\nosmallword \else \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } % We often define two environments, @foo and @smallfoo. % Let's do it by one command: \def\makedispenv #1#2{ \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} \expandafter\let\csname E#1\endcsname \afterenvbreak \expandafter\let\csname Esmall#1\endcsname \afterenvbreak } % Define two synonyms: \def\maketwodispenvs #1#2#3{ \makedispenv{#1}{#3} \makedispenv{#2}{#3} } % @lisp: indented, narrowed, typewriter font; @example: same as @lisp. % % @smallexample and @smalllisp: use smaller fonts. % Originally contributed by Pavel@xerox. % \maketwodispenvs {lisp}{example}{% \nonfillstart \tt\quoteexpand \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. \gobble % eat return } % @display/@smalldisplay: same as @lisp except keep current font. % \makedispenv {display}{% \nonfillstart \gobble } % @format/@smallformat: same as @display except don't narrow margins. % \makedispenv{format}{% \let\nonarrowing = t% \nonfillstart \gobble } % @flushleft: same as @format, but doesn't obey \SETdispenvsize. \envdef\flushleft{% \let\nonarrowing = t% \nonfillstart \gobble } \let\Eflushleft = \afterenvbreak % @flushright. % \envdef\flushright{% \let\nonarrowing = t% \nonfillstart \advance\leftskip by 0pt plus 1fill \gobble } \let\Eflushright = \afterenvbreak % @quotation does normal linebreaking (hence we can't use \nonfillstart) % and narrows the margins. We keep \parskip nonzero in general, since % we're doing normal filling. So, when using \aboveenvbreak and % \afterenvbreak, temporarily make \parskip 0. % \envdef\quotation{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip \parindent=0pt % % @cartouche defines \nonarrowing to inhibit narrowing at next level down. \ifx\nonarrowing\relax \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing \exdentamount = \lispnarrowing \else \let\nonarrowing = \relax \fi \parsearg\quotationlabel } % We have retained a nonzero parskip for the environment, since we're % doing normal filling. % \def\Equotation{% \par \ifx\quotationauthor\undefined\else % indent a bit. \leftline{\kern 2\leftskip \sl ---\quotationauthor}% \fi {\parskip=0pt \afterenvbreak}% } % If we're given an argument, typeset it in bold with a colon after. \def\quotationlabel#1{% \def\temp{#1}% \ifx\temp\empty \else {\bf #1: }% \fi } % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, % we need the curly braces so that makeinfo sees the @verb command, eg: % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org % % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. % % [Knuth] p.344; only we need to do the other characters Texinfo sets % active too. Otherwise, they get lost as the first character on a % verbatim line. \def\dospecials{% \do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% \do\<\do\>\do\|\do\@\do+\do\"% } % % [Knuth] p. 380 \def\uncatcodespecials{% \def\do##1{\catcode`##1=\other}\dospecials} % % [Knuth] pp. 380,381,391 % Disable Spanish ligatures ?` and !` of \tt font \begingroup \catcode`\`=\active\gdef`{\relax\lq} \endgroup % % Setup for the @verb command. % % Eight spaces for a tab \begingroup \catcode`\^^I=\active \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} \endgroup % \def\setupverb{% \tt % easiest (and conventionally used) font for verbatim \def\par{\leavevmode\endgraf}% \catcode`\`=\active \tabeightspaces % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces } % Setup for the @verbatim environment % % Real tab expansion \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % \def\starttabbox{\setbox0=\hbox\bgroup} % Allow an option to not replace quotes with a regular directed right % quote/apostrophe (char 0x27), but instead use the undirected quote % from cmtt (char 0x0d). The undirected quote is ugly, so don't make it % the default, but it works for pasting with more pdf viewers (at least % evince), the lilypond developers report. xpdf does work with the % regular 0x27. % \def\codequoteright{% \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax '% \else \char'15 \fi \else \char'15 \fi } % % and a similar option for the left quote char vs. a grave accent. % Modern fonts display ASCII 0x60 as a grave accent, so some people like % the code environments to do likewise. % \def\codequoteleft{% \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax `% \else \char'22 \fi \else \char'22 \fi } % \begingroup \catcode`\^^I=\active \gdef\tabexpand{% \catcode`\^^I=\active \def^^I{\leavevmode\egroup \dimen0=\wd0 % the width so far, or since the previous tab \divide\dimen0 by\tabw \multiply\dimen0 by\tabw % compute previous multiple of \tabw \advance\dimen0 by\tabw % advance to next multiple of \tabw \wd0=\dimen0 \box0 \starttabbox }% } \catcode`\'=\active \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% % \catcode`\`=\active \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% % \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% \endgroup % start the verbatim environment. \def\setupverbatim{% \let\nonarrowing = t% \nonfillstart % Easiest (and conventionally used) font for verbatim \tt \def\par{\leavevmode\egroup\box0\endgraf}% \catcode`\`=\active \tabexpand \quoteexpand % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces \everypar{\starttabbox}% } % Do the @verb magic: verbatim text is quoted by unique % delimiter characters. Before first delimiter expect a % right brace, after last delimiter expect closing brace: % % \def\doverb'{'#1'}'{#1} % % [Knuth] p. 382; only eat outer {} \begingroup \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] \endgroup % \def\verb{\begingroup\setupverb\doverb} % % % Do the @verbatim magic: define the macro \doverbatim so that % the (first) argument ends when '@end verbatim' is reached, ie: % % \def\doverbatim#1@end verbatim{#1} % % For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': % we need not redefine '\', '{' and '}'. % % Inspired by LaTeX's verbatim command set [latex.ltx] % \begingroup \catcode`\ =\active \obeylines % % ignore everything up to the first ^^M, that's the newline at the end % of the @verbatim input line itself. Otherwise we get an extra blank % line in the output. \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% % We really want {...\end verbatim} in the body of the macro, but % without the active space; thus we have to use \xdef and \gobble. \endgroup % \envdef\verbatim{% \setupverbatim\doverbatim } \let\Everbatim = \afterenvbreak % @verbatiminclude FILE - insert text of file in verbatim environment. % \def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} % \def\doverbatiminclude#1{% {% \makevalueexpandable \setupverbatim \input #1 \afterenvbreak }% } % @copying ... @end copying. % Save the text away for @insertcopying later. % % We save the uninterpreted tokens, rather than creating a box. % Saving the text in a box would be much easier, but then all the % typesetting commands (@smallbook, font changes, etc.) have to be done % beforehand -- and a) we want @copying to be done first in the source % file; b) letting users define the frontmatter in as flexible order as % possible is very desirable. % \def\copying{\checkenv{}\begingroup\scanargctxt\docopying} \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} % \def\insertcopying{% \begingroup \parindent = 0pt % paragraph indentation looks wrong on title page \scanexp\copyingtext \endgroup } \message{defuns,} % @defun etc. \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt \newskip\deflastargmargin \deflastargmargin=18pt \newcount\defunpenalty % Start the processing of @deffn: \def\startdefun{% \ifnum\lastpenalty<10000 \medbreak \defunpenalty=10003 % Will keep this @deffn together with the % following @def command, see below. \else % If there are two @def commands in a row, we'll have a \nobreak, % which is there to keep the function description together with its % header. But if there's nothing but headers, we need to allow a % break somewhere. Check specifically for penalty 10002, inserted % by \printdefunline, instead of 10000, since the sectioning % commands also insert a nobreak penalty, and we don't want to allow % a break between a section heading and a defun. % % As a minor refinement, we avoid "club" headers by signalling % with penalty of 10003 after the very first @deffn in the % sequence (see above), and penalty of 10002 after any following % @def command. \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi % % Similarly, after a section heading, do not allow a break. % But do insert the glue. \medskip % preceded by discardable penalty, so not a breakpoint \fi % \parindent=0in \advance\leftskip by \defbodyindent \exdentamount=\defbodyindent } \def\dodefunx#1{% % First, check whether we are in the right environment: \checkenv#1% % % As above, allow line break if we have multiple x headers in a row. % It's not a great place, though. \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi % % And now, it's time to reuse the body of the original defun: \expandafter\gobbledefun#1% } \def\gobbledefun#1\startdefun{} % \printdefunline \deffnheader{text} % \def\printdefunline#1#2{% \begingroup % call \deffnheader: #1#2 \endheader % common ending: \interlinepenalty = 10000 \advance\rightskip by 0pt plus 1fil \endgraf \nobreak\vskip -\parskip \penalty\defunpenalty % signal to \startdefun and \dodefunx % Some of the @defun-type tags do not enable magic parentheses, % rendering the following check redundant. But we don't optimize. \checkparencounts \endgroup } \def\Edefun{\endgraf\medbreak} % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; % the only thing remaining is to define \deffnheader. % \def\makedefun#1{% \expandafter\let\csname E#1\endcsname = \Edefun \edef\temp{\noexpand\domakedefun \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% \temp } % \domakedefun \deffn \deffnx \deffnheader % % Define \deffn and \deffnx, without parameters. % \deffnheader has to be defined explicitly. % \def\domakedefun#1#2#3{% \envdef#1{% \startdefun \parseargusing\activeparens{\printdefunline#3}% }% \def#2{\dodefunx#1}% \def#3% } %%% Untyped functions: % @deffn category name args \makedefun{deffn}{\deffngeneral{}} % @deffn category class name args \makedefun{defop}#1 {\defopon{#1\ \putwordon}} % \defopon {category on}class name args \def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deffngeneral {subind}category name args % \def\deffngeneral#1#2 #3 #4\endheader{% % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. \dosubind{fn}{\code{#3}}{#1}% \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } %%% Typed functions: % @deftypefn category type name args \makedefun{deftypefn}{\deftypefngeneral{}} % @deftypeop category class type name args \makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} % \deftypeopon {category on}class type name args \def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deftypefngeneral {subind}category type name args % \def\deftypefngeneral#1#2 #3 #4 #5\endheader{% \dosubind{fn}{\code{#4}}{#1}% \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } %%% Typed variables: % @deftypevr category type var args \makedefun{deftypevr}{\deftypecvgeneral{}} % @deftypecv category class type var args \makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} % \deftypecvof {category of}class type var args \def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } % \deftypecvgeneral {subind}category type var args % \def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% \dosubind{vr}{\code{#4}}{#1}% \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } %%% Untyped variables: % @defvr category var args \makedefun{defvr}#1 {\deftypevrheader{#1} {} } % @defcv category class var args \makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} % \defcvof {category of}class var args \def\defcvof#1#2 {\deftypecvof{#1}#2 {} } %%% Type: % @deftp category name args \makedefun{deftp}#1 #2 #3\endheader{% \doind{tp}{\code{#2}}% \defname{#1}{}{#2}\defunargs{#3\unskip}% } % Remaining @defun-like shortcuts: \makedefun{defun}{\deffnheader{\putwordDeffunc} } \makedefun{defmac}{\deffnheader{\putwordDefmac} } \makedefun{defspec}{\deffnheader{\putwordDefspec} } \makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } \makedefun{defvar}{\defvrheader{\putwordDefvar} } \makedefun{defopt}{\defvrheader{\putwordDefopt} } \makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } \makedefun{defmethod}{\defopon\putwordMethodon} \makedefun{deftypemethod}{\deftypeopon\putwordMethodon} \makedefun{defivar}{\defcvof\putwordInstanceVariableof} \makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} % \defname, which formats the name of the @def (not the args). % #1 is the category, such as "Function". % #2 is the return type, if any. % #3 is the function name. % % We are followed by (but not passed) the arguments, if any. % \def\defname#1#2#3{% % Get the values of \leftskip and \rightskip as they were outside the @def... \advance\leftskip by -\defbodyindent % % How we'll format the type name. Putting it in brackets helps % distinguish it from the body text that may end up on the next line % just below it. \def\temp{#1}% \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} % % Figure out line sizes for the paragraph shape. % The first line needs space for \box0; but if \rightskip is nonzero, % we need only space for the part of \box0 which exceeds it: \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip % The continuations: \dimen2=\hsize \advance\dimen2 by -\defargsindent % (plain.tex says that \dimen1 should be used only as global.) \parshape 2 0in \dimen0 \defargsindent \dimen2 % % Put the type name to the right margin. \noindent \hbox to 0pt{% \hfil\box0 \kern-\hsize % \hsize has to be shortened this way: \kern\leftskip % Intentionally do not respect \rightskip, since we need the space. }% % % Allow all lines to be underfull without complaint: \tolerance=10000 \hbadness=10000 \exdentamount=\defbodyindent {% % defun fonts. We use typewriter by default (used to be bold) because: % . we're printing identifiers, they should be in tt in principle. % . in languages with many accents, such as Czech or French, it's % common to leave accents off identifiers. The result looks ok in % tt, but exceedingly strange in rm. % . we don't want -- and --- to be treated as ligatures. % . this still does not fix the ?` and !` ligatures, but so far no % one has made identifiers using them :). \df \tt \def\temp{#2}% return value type \ifx\temp\empty\else \tclose{\temp} \fi #3% output function name }% {\rm\enskip}% hskip 0.5 em of \tenrm % \boldbrax % arguments will be output next, if any. } % Print arguments in slanted roman (not ttsl), inconsistently with using % tt for the name. This is because literal text is sometimes needed in % the argument list (groff manual), and ttsl and tt are not very % distinguishable. Prevent hyphenation at `-' chars. % \def\defunargs#1{% % use sl by default (not ttsl), % tt for the names. \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we % want a way to get ttsl. Let's try @var for that. \let\var=\ttslanted #1% \sl\hyphenchar\font=45 } % We want ()&[] to print specially on the defun line. % \def\activeparens{% \catcode`\(=\active \catcode`\)=\active \catcode`\[=\active \catcode`\]=\active \catcode`\&=\active } % Make control sequences which act like normal parenthesis chars. \let\lparen = ( \let\rparen = ) % Be sure that we always have a definition for `(', etc. For example, % if the fn name has parens in it, \boldbrax will not be in effect yet, % so TeX would otherwise complain about undefined control sequence. { \activeparens \global\let(=\lparen \global\let)=\rparen \global\let[=\lbrack \global\let]=\rbrack \global\let& = \& \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} \gdef\magicamp{\let&=\amprm} } \newcount\parencount % If we encounter &foo, then turn on ()-hacking afterwards \newif\ifampseen \def\amprm#1 {\ampseentrue{\bf\ }} \def\parenfont{% \ifampseen % At the first level, print parens in roman, % otherwise use the default font. \ifnum \parencount=1 \rm \fi \else % The \sf parens (in \boldbrax) actually are a little bolder than % the contained text. This is especially needed for [ and ] . \sf \fi } \def\infirstlevel#1{% \ifampseen \ifnum\parencount=1 #1% \fi \fi } \def\bfafterword#1 {#1 \bf} \def\opnr{% \global\advance\parencount by 1 {\parenfont(}% \infirstlevel \bfafterword } \def\clnr{% {\parenfont)}% \infirstlevel \sl \global\advance\parencount by -1 } \newcount\brackcount \def\lbrb{% \global\advance\brackcount by 1 {\bf[}% } \def\rbrb{% {\bf]}% \global\advance\brackcount by -1 } \def\checkparencounts{% \ifnum\parencount=0 \else \badparencount \fi \ifnum\brackcount=0 \else \badbrackcount \fi } % these should not use \errmessage; the glibc manual, at least, actually % has such constructs (when documenting function pointers). \def\badparencount{% \message{Warning: unbalanced parentheses in @def...}% \global\parencount=0 } \def\badbrackcount{% \message{Warning: unbalanced square brackets in @def...}% \global\brackcount=0 } \message{macros,} % @macro. % To do this right we need a feature of e-TeX, \scantokens, % which we arrange to emulate with a temporary file in ordinary TeX. \ifx\eTeXversion\undefined \newwrite\macscribble \def\scantokens#1{% \toks0={#1}% \immediate\openout\macscribble=\jobname.tmp \immediate\write\macscribble{\the\toks0}% \immediate\closeout\macscribble \input \jobname.tmp } \fi \def\scanmacro#1{% \begingroup \newlinechar`\^^M \let\xeatspaces\eatspaces % Undo catcode changes of \startcontents and \doprintindex % When called from @insertcopying or (short)caption, we need active % backslash to get it printed correctly. Previously, we had % \catcode`\\=\other instead. We'll see whether a problem appears % with macro expansion. --kasal, 19aug04 \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ % ... and \example \spaceisspace % % Append \endinput to make sure that TeX does not see the ending newline. % I've verified that it is necessary both for e-TeX and for ordinary TeX % --kasal, 29nov03 \scantokens{#1\endinput}% \endgroup } \def\scanexp#1{% \edef\temp{\noexpand\scanmacro{#1}}% \temp } \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? % List of all defined macros in the form % \definedummyword\macro1\definedummyword\macro2... % Currently is also contains all @aliases; the list can be split % if there is a need. \def\macrolist{} % Add the macro to \macrolist \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} \def\addtomacrolistxxx#1{% \toks0 = \expandafter{\macrolist\definedummyword#1}% \xdef\macrolist{\the\toks0}% } % Utility routines. % This does \let #1 = #2, with \csnames; that is, % \let \csname#1\endcsname = \csname#2\endcsname % (except of course we have to play expansion games). % \def\cslet#1#2{% \expandafter\let \csname#1\expandafter\endcsname \csname#2\endcsname } % Trim leading and trailing spaces off a string. % Concepts from aro-bend problem 15 (see CTAN). {\catcode`\@=11 \gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} \gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} \gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} \def\unbrace#1{#1} \unbrace{\gdef\trim@@@ #1 } #2@{#1} } % Trim a single trailing ^^M off a string. {\catcode`\^^M=\other \catcode`\Q=3% \gdef\eatcr #1{\eatcra #1Q^^MQ}% \gdef\eatcra#1^^MQ{\eatcrb#1Q}% \gdef\eatcrb#1Q#2Q{#1}% } % Macro bodies are absorbed as an argument in a context where % all characters are catcode 10, 11 or 12, except \ which is active % (as in normal texinfo). It is necessary to change the definition of \. % Non-ASCII encodings make 8-bit characters active, so un-activate % them to avoid their expansion. Must do this non-globally, to % confine the change to the current group. % It's necessary to have hard CRs when the macro is executed. This is % done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. \def\scanctxt{% \catcode`\"=\other \catcode`\+=\other \catcode`\<=\other \catcode`\>=\other \catcode`\@=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\~=\other \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi } \def\scanargctxt{% \scanctxt \catcode`\\=\other \catcode`\^^M=\other } \def\macrobodyctxt{% \scanctxt \catcode`\{=\other \catcode`\}=\other \catcode`\^^M=\other \usembodybackslash } \def\macroargctxt{% \scanctxt \catcode`\\=\other } % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N % where N is the macro parameter number. % We define \csname macarg.\endcsname to be \realbackslash, so % \\ in macro replacement text gets you a backslash. {\catcode`@=0 @catcode`@\=@active @gdef@usembodybackslash{@let\=@mbodybackslash} @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} } \expandafter\def\csname macarg.\endcsname{\realbackslash} \def\macro{\recursivefalse\parsearg\macroxxx} \def\rmacro{\recursivetrue\parsearg\macroxxx} \def\macroxxx#1{% \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments \paramno=0% \else \expandafter\parsemargdef \argl;% \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% \else \expandafter\ifx\csname \the\macname\endcsname \relax \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% \addtomacrolist{\the\macname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody \else \expandafter\parsemacbody \fi} \parseargdef\unmacro{% \if1\csname ismacro.#1\endcsname \global\cslet{#1}{macsave.#1}% \global\expandafter\let \csname ismacro.#1\endcsname=0% % Remove the macro name from \macrolist: \begingroup \expandafter\let\csname#1\endcsname \relax \let\definedummyword\unmacrodo \xdef\macrolist{\macrolist}% \endgroup \else \errmessage{Macro #1 not defined}% \fi } % Called by \do from \dounmacro on each macro. The idea is to omit any % macro definitions that have been changed to \relax. % \def\unmacrodo#1{% \ifx #1\relax % remove this \else \noexpand\definedummyword \noexpand#1% \fi } % This makes use of the obscure feature that if the last token of a % is #, then the preceding argument is delimited by % an opening brace, and that opening brace is not consumed. \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} \def\getmacname #1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} % Parse the optional {params} list. Set up \paramno and \paramlist % so \defmacro knows what to do. Define \macarg.blah for each blah % in the params list, to be ##N where N is the position in that list. % That gets used by \mbodybackslash (above). % We need to get `macro parameter char #' into several definitions. % The technique used is stolen from LaTeX: let \hash be something % unexpandable, insert that wherever you need a #, and then redefine % it to # just before using the token list produced. % % The same technique is used to protect \eatspaces till just before % the macro is used. \def\parsemargdef#1;{\paramno=0\def\paramlist{}% \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax \else \let\next=\parsemargdefxxx \advance\paramno by 1% \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname {\xeatspaces{\hash\the\paramno}}% \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) \long\def\parsemacbody#1@end macro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \long\def\parsermacbody#1@end rmacro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% % This defines the macro itself. There are six cases: recursive and % nonrecursive macros of zero, one, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars \ifrecursive \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\scanmacro{\temp}}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{\egroup\noexpand\scanmacro{\temp}}% \fi \else \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \expandafter\noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \fi \fi} \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} % \braceorline decides whether the next nonwhitespace character is a % {. If so it reads up to the closing }, if not, it reads the whole % line. Whatever was read is then fed to the next control sequence % as an argument (by \parsebrace or \parsearg) \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else \expandafter\parsearg \fi \macnamexxx} % @alias. % We need some trickery to remove the optional spaces around the equal % sign. Just make them active and then expand them all to nothing. \def\alias{\parseargusing\obeyspaces\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} \def\aliasyyy #1=#2\relax{% {% \expandafter\let\obeyedspace=\empty \addtomacrolist{#1}% \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% }% \next } \message{cross references,} \newwrite\auxfile \newif\ifhavexrefs % True if xref values are known. \newif\ifwarnedxrefs % True if we warned once that they aren't known. % @inforef is relatively simple. \def\inforef #1{\inforefzzz #1,,,,**} \def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} % @node's only job in TeX is to define \lastnode, which is used in % cross-references. The @node line might or might not have commas, and % might or might not have spaces before the first comma, like: % @node foo , bar , ... % We don't want such trailing spaces in the node name. % \parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} % % also remove a trailing comma, in case of something like this: % @node Help-Cross, , , Cross-refs \def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} \def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} \let\nwnode=\node \let\lastnode=\empty % Write a cross-reference definition for the current node. #1 is the % type (Ynumbered, Yappendix, Ynothing). % \def\donoderef#1{% \ifx\lastnode\empty\else \setref{\lastnode}{#1}% \global\let\lastnode=\empty \fi } % @anchor{NAME} -- define xref target at arbitrary point. % \newcount\savesfregister % \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} \def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} % \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an % anchor), which consists of three parts: % 1) NAME-title - the current sectioning name taken from \lastsection, % or the anchor name. % 2) NAME-snt - section number and type, passed as the SNT arg, or % empty for anchors. % 3) NAME-pg - the page number. % % This is called from \donoderef, \anchor, and \dofloat. In the case of % floats, there is an additional part, which is not written here: % 4) NAME-lof - the text as it should appear in a @listoffloats. % \def\setref#1#2{% \pdfmkdest{#1}% \iflinks {% \atdummies % preserve commands, but don't expand them \edef\writexrdef##1##2{% \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef ##1}{##2}}% these are parameters of \writexrdef }% \toks0 = \expandafter{\lastsection}% \immediate \writexrdef{title}{\the\toks0 }% \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout }% \fi } % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed % manual. All but the node name can be omitted. % \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces \def\printedmanual{\ignorespaces #5}% \def\printedrefname{\ignorespaces #3}% \setbox1=\hbox{\printedmanual\unskip}% \setbox0=\hbox{\printedrefname\unskip}% \ifdim \wd0 = 0pt % No printed node name was explicitly given. \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax % Use the node name inside the square brackets. \def\printedrefname{\ignorespaces #1}% \else % Use the actual chapter/section title appear inside % the square brackets. Use the real section title if we have it. \ifdim \wd1 > 0pt % It is in another manual, so we don't have it. \def\printedrefname{\ignorespaces #1}% \else \ifhavexrefs % We know the real title if we have the xref values. \def\printedrefname{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. \def\printedrefname{\ignorespaces #1}% \fi% \fi \fi \fi % % Make link in pdf output. \ifpdf {\indexnofonts \turnoffactive % This expands tokens, so do it after making catcode changes, so _ % etc. don't get their TeX definitions. \getfilename{#4}% % % See comments at \activebackslashdouble. {\activebackslashdouble \xdef\pdfxrefdest{#1}% \backslashparens\pdfxrefdest}% % \leavevmode \startlink attr{/Border [0 0 0]}% \ifnum\filenamelength>0 goto file{\the\filename.pdf} name{\pdfxrefdest}% \else goto name{\pdfmkpgn{\pdfxrefdest}}% \fi }% \setcolor{\linkcolor}% \fi % % Float references are printed completely differently: "Figure 1.2" % instead of "[somenode], p.3". We distinguish them by the % LABEL-title being set to a magic string. {% % Have to otherify everything special to allow the \csname to % include an _ in the xref name, etc. \indexnofonts \turnoffactive \expandafter\global\expandafter\let\expandafter\Xthisreftitle \csname XR#1-title\endcsname }% \iffloat\Xthisreftitle % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". \ifdim\wd0 = 0pt \refx{#1-snt}{}% \else \printedrefname \fi % % if the user also gave the printed manual name (fifth arg), append % "in MANUALNAME". \ifdim \wd1 > 0pt \space \putwordin{} \cite{\printedmanual}% \fi \else % node/anchor (non-float) references. % % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not % insert empty discretionaries after hyphens, which means that it will % not find a line break at a hyphen in a node names. Since some manuals % are best written with fairly long node names, containing hyphens, this % is a loss. Therefore, we give the text of the node name again, so it % is as if TeX is seeing it for the first time. \ifdim \wd1 > 0pt \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% \else % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand % into the usual \leavevmode...\vrule stuff for purposes of % printing. So we \turnoffactive for the \refx-snt, back on for the % printing, back off for the \refx-pg. {\turnoffactive % Only output a following space if the -snt ref is nonempty; for % @unnumbered and @anchor, it won't be. \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi }% % output the `[mynode]' via a macro so it can be overridden. \xrefprintnodename\printedrefname % % But we always want a comma and a space: ,\space % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% \fi \fi \endlink \endgroup} % This macro is called from \xrefX for the `[nodename]' part of xref % output. It's a separate macro only so it can be changed more easily, % since square brackets don't work well in some documents. Particularly % one that Bob is working on :). % \def\xrefprintnodename#1{[#1]} % Things referred to by \setref. % \def\Ynothing{} \def\Yomitfromtoc{} \def\Ynumbered{% \ifnum\secno=0 \putwordChapter@tie \the\chapno \else \ifnum\subsecno=0 \putwordSection@tie \the\chapno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie \the\chapno.\the\secno.\the\subsecno \else \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } \def\Yappendix{% \ifnum\secno=0 \putwordAppendix@tie @char\the\appendixno{}% \else \ifnum\subsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno \else \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } % Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. % If its value is nonempty, SUFFIX is output afterward. % \def\refx#1#2{% {% \indexnofonts \otherbackslash \expandafter\global\expandafter\let\expandafter\thisrefX \csname XR#1\endcsname }% \ifx\thisrefX\relax % If not defined, say something at least. \angleleft un\-de\-fined\angleright \iflinks \ifhavexrefs \message{\linenumber Undefined cross reference `#1'.}% \else \ifwarnedxrefs\else \global\warnedxrefstrue \message{Cross reference values unknown; you must run TeX again.}% \fi \fi \fi \else % It's defined, so just use it. \thisrefX \fi #2% Output the suffix in any case. } % This is the macro invoked by entries in the aux file. Usually it's % just a \def (we prepend XR to the control sequence name to avoid % collisions). But if this is a float type, we have more work to do. % \def\xrdef#1#2{% {% The node name might contain 8-bit characters, which in our current % implementation are changed to commands like @'e. Don't let these % mess up the control sequence name. \indexnofonts \turnoffactive \xdef\safexrefname{#1}% }% % \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref % % Was that xref control sequence that we just defined for a float? \expandafter\iffloat\csname XR\safexrefname\endcsname % it was a float, and we have the (safe) float type in \iffloattype. \expandafter\let\expandafter\floatlist \csname floatlist\iffloattype\endcsname % % Is this the first time we've seen this float type? \expandafter\ifx\floatlist\relax \toks0 = {\do}% yes, so just \do \else % had it before, so preserve previous elements in list. \toks0 = \expandafter{\floatlist\do}% \fi % % Remember this xref in the control sequence \floatlistFLOATTYPE, % for later use in \listoffloats. \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 {\safexrefname}}% \fi } % Read the last existing aux file, if any. No error if none exists. % \def\tryauxfile{% \openin 1 \jobname.aux \ifeof 1 \else \readdatafile{aux}% \global\havexrefstrue \fi \closein 1 } \def\setupdatafile{% \catcode`\^^@=\other \catcode`\^^A=\other \catcode`\^^B=\other \catcode`\^^C=\other \catcode`\^^D=\other \catcode`\^^E=\other \catcode`\^^F=\other \catcode`\^^G=\other \catcode`\^^H=\other \catcode`\^^K=\other \catcode`\^^L=\other \catcode`\^^N=\other \catcode`\^^P=\other \catcode`\^^Q=\other \catcode`\^^R=\other \catcode`\^^S=\other \catcode`\^^T=\other \catcode`\^^U=\other \catcode`\^^V=\other \catcode`\^^W=\other \catcode`\^^X=\other \catcode`\^^Z=\other \catcode`\^^[=\other \catcode`\^^\=\other \catcode`\^^]=\other \catcode`\^^^=\other \catcode`\^^_=\other % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. % in xref tags, i.e., node names. But since ^^e4 notation isn't % supported in the main text, it doesn't seem desirable. Furthermore, % that is not enough: for node names that actually contain a ^ % character, we would end up writing a line like this: 'xrdef {'hat % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first % argument, and \hat is not an expandable control sequence. It could % all be worked out, but why? Either we support ^^ or we don't. % % The other change necessary for this was to define \auxhat: % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter % and then to call \auxhat in \setq. % \catcode`\^=\other % % Special characters. Should be turned off anyway, but... \catcode`\~=\other \catcode`\[=\other \catcode`\]=\other \catcode`\"=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\$=\other \catcode`\#=\other \catcode`\&=\other \catcode`\%=\other \catcode`+=\other % avoid \+ for paranoia even though we've turned it off % % This is to support \ in node names and titles, since the \ % characters end up in a \csname. It's easier than % leaving it active and making its active definition an actual \ % character. What I don't understand is why it works in the *value* % of the xrdef. Seems like it should be a catcode12 \, and that % should not typeset properly. But it works, so I'm moving on for % now. --karl, 15jan04. \catcode`\\=\other % % Make the characters 128-255 be printing characters. {% \count1=128 \def\loop{% \catcode\count1=\other \advance\count1 by 1 \ifnum \count1<256 \loop \fi }% }% % % @ is our escape character in .aux files, and we need braces. \catcode`\{=1 \catcode`\}=2 \catcode`\@=0 } \def\readdatafile#1{% \begingroup \setupdatafile \input\jobname.#1 \endgroup} \message{insertions,} % including footnotes. \newcount \footnoteno % The trailing space in the following definition for supereject is % vital for proper filling; pages come out unaligned when you do a % pagealignmacro call if that space before the closing brace is % removed. (Generally, numeric constants should always be followed by a % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } % @footnotestyle is meaningful for info output only. \let\footnotestyle=\comment {\catcode `\@=11 % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% \let\indent=\ptexindent \let\noindent=\ptexnoindent \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % % In case the footnote comes at the end of a sentence, preserve the % extra spacing after we do the footnote number. \let\@sf\empty \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi % % Remove inadvertent blank space before typesetting the footnote number. \unskip \thisfootno\@sf \dofootnote }% % Don't bother with the trickery in plain.tex to not require the % footnote text as a parameter. Our footnotes don't need to be so general. % % Oh yes, they do; otherwise, @ifset (and anything else that uses % \parseargline) fails inside footnotes because the tokens are fixed when % the footnote is read. --karl, 16nov96. % \gdef\dofootnote{% \insert\footins\bgroup % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. \hsize=\pagewidth \interlinepenalty\interfootnotelinepenalty \splittopskip\ht\strutbox % top baseline for broken footnotes \splitmaxdepth\dp\strutbox \floatingpenalty\@MM \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip \parindent\defaultparindent % \smallfonts \rm % % Because we use hanging indentation in footnotes, a @noindent appears % to exdent this text, so make it be a no-op. makeinfo does not use % hanging indentation so @noindent can still be needed within footnote % text after an @example or the like (not that this is good style). \let\noindent = \relax % % Hang the footnote text off the number. Use \everypar in case the % footnote extends for more than one paragraph. \everypar = {\hang}% \textindent{\thisfootno}% % % Don't crash into the line above the footnote text. Since this % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut \futurelet\next\fo@t } }%end \catcode `\@=11 % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. % Similarly, if a @footnote appears inside an alignment, save the footnote % text to a box and make the \insert when a row of the table is finished. % And the same can be done for other insert classes. --kasal, 16nov03. % Replace the \insert primitive by a cheating macro. % Deeper inside, just make sure that the saved insertions are not spilled % out prematurely. % \def\startsavinginserts{% \ifx \insert\ptexinsert \let\insert\saveinsert \else \let\checkinserts\relax \fi } % This \insert replacement works for both \insert\footins{foo} and % \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. % \def\saveinsert#1{% \edef\next{\noexpand\savetobox \makeSAVEname#1}% \afterassignment\next % swallow the left brace \let\temp = } \def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} \def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} \def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} \def\placesaveins#1{% \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname {\box#1}% } % eat @SAVE -- beware, all of them have catcode \other: { \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) \gdef\gobblesave @SAVE{} } % initialization: \def\newsaveins #1{% \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% \next } \def\newsaveinsX #1{% \csname newbox\endcsname #1% \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts \checksaveins #1}% } % initialize: \let\checkinserts\empty \newsaveins\footins \newsaveins\margin % @image. We use the macros from epsf.tex to support this. % If epsf.tex is not installed and @image is used, we complain. % % Check for and read epsf.tex up front. If we read it only at @image % time, we might be inside a group, and then its definitions would get % undone and the next image would fail. \openin 1 = epsf.tex \ifeof 1 \else % Do not bother showing banner with epsf.tex v2.7k (available in % doc/epsf.tex and on ctan). \def\epsfannounce{\toks0 = }% \input epsf.tex \fi \closein 1 % % We will only complain once about lack of epsf.tex. \newif\ifwarnednoepsf \newhelp\noepsfhelp{epsf.tex must be installed for images to work. It is also included in the Texinfo distribution, or you can get it from ftp://tug.org/tex/epsf.tex.} % \def\image#1{% \ifx\epsfbox\undefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% \global\warnednoepsftrue \fi \else \imagexxx #1,,,,,\finish \fi } % % Arguments to @image: % #1 is (mandatory) image filename; we tack on .eps extension. % #2 is (optional) width, #3 is (optional) height. % #4 is (ignored optional) html alt text. % #5 is (ignored optional) extension. % #6 is just the usual extra ignored arg for parsing this stuff. \newif\ifimagevmode \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example \normalturnoffactive % allow _ et al. in names % If the image is by itself, center it. \ifvmode \imagevmodetrue \nobreak\medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space % above and below. \nobreak\vskip\parskip \nobreak \fi % % Leave vertical mode so that indentation from an enclosing % environment such as @quotation is respected. On the other hand, if % it's at the top level, we don't want the normal paragraph indentation. \noindent % % Output the image. \ifpdf \dopdfimage{#1}{#2}{#3}% \else % \epsfbox itself resets \epsf?size at each figure. \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi \epsfbox{#1.eps}% \fi % \ifimagevmode \medskip \fi % space after the standalone image \endgroup} % @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, % etc. We don't actually implement floating yet, we always include the % float "here". But it seemed the best name for the future. % \envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} % There may be a space before second and/or third parameter; delete it. \def\eatcommaspace#1, {#1,} % #1 is the optional FLOATTYPE, the text label for this float, typically % "Figure", "Table", "Example", etc. Can't contain commas. If omitted, % this float will not be numbered and cannot be referred to. % % #2 is the optional xref label. Also must be present for the float to % be referable. % % #3 is the optional positioning argument; for now, it is ignored. It % will somehow specify the positions allowed to float to (here, top, bottom). % % We keep a separate counter for each FLOATTYPE, which we reset at each % chapter-level command. \let\resetallfloatnos=\empty % \def\dofloat#1,#2,#3,#4\finish{% \let\thiscaption=\empty \let\thisshortcaption=\empty % % don't lose footnotes inside @float. % % BEWARE: when the floats start float, we have to issue warning whenever an % insert appears inside a float which could possibly float. --kasal, 26may04 % \startsavinginserts % % We can't be used inside a paragraph. \par % \vtop\bgroup \def\floattype{#1}% \def\floatlabel{#2}% \def\floatloc{#3}% we do nothing with this yet. % \ifx\floattype\empty \let\safefloattype=\empty \else {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% \fi % % If label is given but no type, we handle that as the empty type. \ifx\floatlabel\empty \else % We want each FLOATTYPE to be numbered separately (Figure 1, % Table 1, Figure 2, ...). (And if no label, no number.) % \expandafter\getfloatno\csname\safefloattype floatno\endcsname \global\advance\floatno by 1 % {% % This magic value for \lastsection is output by \setref as the % XREFLABEL-title value. \xrefX uses it to distinguish float % labels (which have a completely different output format) from % node and anchor labels. And \xrdef uses it to construct the % lists of floats. % \edef\lastsection{\floatmagic=\safefloattype}% \setref{\floatlabel}{Yfloat}% }% \fi % % start with \parskip glue, I guess. \vskip\parskip % % Don't suppress indentation if a float happens to start a section. \restorefirstparagraphindent } % we have these possibilities: % @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap % @float Foo,lbl & no caption: Foo 1.1 % @float Foo & @caption{Cap}: Foo: Cap % @float Foo & no caption: Foo % @float ,lbl & Caption{Cap}: 1.1: Cap % @float ,lbl & no caption: 1.1 % @float & @caption{Cap}: Cap % @float & no caption: % \def\Efloat{% \let\floatident = \empty % % In all cases, if we have a float type, it comes first. \ifx\floattype\empty \else \def\floatident{\floattype}\fi % % If we have an xref label, the number comes next. \ifx\floatlabel\empty \else \ifx\floattype\empty \else % if also had float type, need tie first. \appendtomacro\floatident{\tie}% \fi % the number. \appendtomacro\floatident{\chaplevelprefix\the\floatno}% \fi % % Start the printed caption with what we've constructed in % \floatident, but keep it separate; we need \floatident again. \let\captionline = \floatident % \ifx\thiscaption\empty \else \ifx\floatident\empty \else \appendtomacro\captionline{: }% had ident, so need a colon between \fi % % caption text. \appendtomacro\captionline{\scanexp\thiscaption}% \fi % % If we have anything to print, print it, with space before. % Eventually this needs to become an \insert. \ifx\captionline\empty \else \vskip.5\parskip \captionline % % Space below caption. \vskip\parskip \fi % % If have an xref label, write the list of floats info. Do this % after the caption, to avoid chance of it being a breakpoint. \ifx\floatlabel\empty \else % Write the text that goes in the lof to the aux file as % \floatlabel-lof. Besides \floatident, we include the short % caption if specified, else the full caption if specified, else nothing. {% \atdummies % % since we read the caption text in the macro world, where ^^M % is turned into a normal character, we have to scan it back, so % we don't write the literal three characters "^^M" into the aux file. \scanexp{% \xdef\noexpand\gtemp{% \ifx\thisshortcaption\empty \thiscaption \else \thisshortcaption \fi }% }% \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident \ifx\gtemp\empty \else : \gtemp \fi}}% }% \fi \egroup % end of \vtop % % place the captured inserts % % BEWARE: when the floats start floating, we have to issue warning % whenever an insert appears inside a float which could possibly % float. --kasal, 26may04 % \checkinserts } % Append the tokens #2 to the definition of macro #1, not expanding either. % \def\appendtomacro#1#2{% \expandafter\def\expandafter#1\expandafter{#1#2}% } % @caption, @shortcaption % \def\caption{\docaption\thiscaption} \def\shortcaption{\docaption\thisshortcaption} \def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} \def\defcaption#1#2{\egroup \def#1{#2}} % The parameter is the control sequence identifying the counter we are % going to use. Create it if it doesn't exist and assign it to \floatno. \def\getfloatno#1{% \ifx#1\relax % Haven't seen this figure type before. \csname newcount\endcsname #1% % % Remember to reset this floatno at the next chap. \expandafter\gdef\expandafter\resetallfloatnos \expandafter{\resetallfloatnos #1=0 }% \fi \let\floatno#1% } % \setref calls this to get the XREFLABEL-snt value. We want an @xref % to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we % first read the @float command. % \def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% % Magic string used for the XREFLABEL-title value, so \xrefX can % distinguish floats from other xref types. \def\floatmagic{!!float!!} % #1 is the control sequence we are passed; we expand into a conditional % which is true if #1 represents a float ref. That is, the magic % \lastsection value which we \setref above. % \def\iffloat#1{\expandafter\doiffloat#1==\finish} % % #1 is (maybe) the \floatmagic string. If so, #2 will be the % (safe) float type for this float. We set \iffloattype to #2. % \def\doiffloat#1=#2=#3\finish{% \def\temp{#1}% \def\iffloattype{#2}% \ifx\temp\floatmagic } % @listoffloats FLOATTYPE - print a list of floats like a table of contents. % \parseargdef\listoffloats{% \def\floattype{#1}% floattype {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% % % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax \ifhavexrefs % if the user said @listoffloats foo but never @float foo. \message{\linenumber No `\safefloattype' floats to list.}% \fi \else \begingroup \leftskip=\tocindent % indent these entries like a toc \let\do=\listoffloatsdo \csname floatlist\safefloattype\endcsname \endgroup \fi } % This is called on each entry in a list of floats. We're passed the % xref label, in the form LABEL-title, which is how we save it in the % aux file. We strip off the -title and look up \XRLABEL-lof, which % has the text we're supposed to typeset here. % % Figures without xref labels will not be included in the list (since % they won't appear in the aux file). % \def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} \def\listoffloatsdoentry#1-title\finish{{% % Can't fully expand XR#1-lof because it can contain anything. Just % pass the control sequence. On the other hand, XR#1-pg is just the % page number, and we want to fully expand that so we can get a link % in pdf output. \toksA = \expandafter{\csname XR#1-lof\endcsname}% % % use the same \entry macro we use to generate the TOC and index. \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% \writeentry }} \message{localization,} % @documentlanguage is usually given very early, just after % @setfilename. If done too late, it may not override everything % properly. Single argument is the language (de) or locale (de_DE) % abbreviation. It would be nice if we could set up a hyphenation file. % { \catcode`\_ = \active \globaldefs=1 \parseargdef\documentlanguage{\begingroup \let_=\normalunderscore % normal _ character for filenames \tex % read txi-??.tex file in plain TeX. % Read the file by the name they passed if it exists. \openin 1 txi-#1.tex \ifeof 1 \documentlanguagetrywithoutunderscore{#1_\finish}% \else \input txi-#1.tex \fi \closein 1 \endgroup \endgroup} } % % If they passed de_DE, and txi-de_DE.tex doesn't exist, % try txi-de.tex. % \def\documentlanguagetrywithoutunderscore#1_#2\finish{% \openin 1 txi-#1.tex \ifeof 1 \errhelp = \nolanghelp \errmessage{Cannot read language file txi-#1.tex}% \else \input txi-#1.tex \fi \closein 1 } % \newhelp\nolanghelp{The given language definition file cannot be found or is empty. Maybe you need to install it? In the current directory should work if nowhere else does.} % Set the catcode of characters 128 through 255 to the specified number. % \def\setnonasciicharscatcode#1{% \count255=128 \loop\ifnum\count255<256 \global\catcode\count255=#1\relax \advance\count255 by 1 \repeat } \def\setnonasciicharscatcodenonglobal#1{% \count255=128 \loop\ifnum\count255<256 \catcode\count255=#1\relax \advance\count255 by 1 \repeat } % @documentencoding sets the definition of non-ASCII characters % according to the specified encoding. % \parseargdef\documentencoding{% % Encoding being declared for the document. \def\declaredencoding{\csname #1.enc\endcsname}% % % Supported encodings: names converted to tokens in order to be able % to compare them with \ifx. \def\ascii{\csname US-ASCII.enc\endcsname}% \def\latnine{\csname ISO-8859-15.enc\endcsname}% \def\latone{\csname ISO-8859-1.enc\endcsname}% \def\lattwo{\csname ISO-8859-2.enc\endcsname}% \def\utfeight{\csname UTF-8.enc\endcsname}% % \ifx \declaredencoding \ascii \asciichardefs % \else \ifx \declaredencoding \lattwo \setnonasciicharscatcode\active \lattwochardefs % \else \ifx \declaredencoding \latone \setnonasciicharscatcode\active \latonechardefs % \else \ifx \declaredencoding \latnine \setnonasciicharscatcode\active \latninechardefs % \else \ifx \declaredencoding \utfeight \setnonasciicharscatcode\active \utfeightchardefs % \else \message{Unknown document encoding #1, ignoring.}% % \fi % utfeight \fi % latnine \fi % latone \fi % lattwo \fi % ascii } % A message to be logged when using a character that isn't available % the default font encoding (OT1). % \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} % Take account of \c (plain) vs. \, (Texinfo) difference. \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} % First, make active non-ASCII characters in order for them to be % correctly categorized when TeX reads the replacement text of % macros containing the character definitions. \setnonasciicharscatcode\active % % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% \gdef^^a0{~} \gdef^^a1{\exclamdown} \gdef^^a2{\missingcharmsg{CENT SIGN}} \gdef^^a3{{\pounds}} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\missingcharmsg{YEN SIGN}} \gdef^^a6{\missingcharmsg{BROKEN BAR}} \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\copyright} \gdef^^aa{\ordf} \gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}} \gdef^^ac{$\lnot$} \gdef^^ad{\-} \gdef^^ae{\registeredsymbol} \gdef^^af{\={}} % \gdef^^b0{\textdegree} \gdef^^b1{$\pm$} \gdef^^b2{$^2$} \gdef^^b3{$^3$} \gdef^^b4{\'{}} \gdef^^b5{$\mu$} \gdef^^b6{\P} % \gdef^^b7{$^.$} \gdef^^b8{\cedilla\ } \gdef^^b9{$^1$} \gdef^^ba{\ordm} % \gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}} \gdef^^bc{$1\over4$} \gdef^^bd{$1\over2$} \gdef^^be{$3\over4$} \gdef^^bf{\questiondown} % \gdef^^c0{\`A} \gdef^^c1{\'A} \gdef^^c2{\^A} \gdef^^c3{\~A} \gdef^^c4{\"A} \gdef^^c5{\ringaccent A} \gdef^^c6{\AE} \gdef^^c7{\cedilla C} \gdef^^c8{\`E} \gdef^^c9{\'E} \gdef^^ca{\^E} \gdef^^cb{\"E} \gdef^^cc{\`I} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\"I} % \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}} \gdef^^d1{\~N} \gdef^^d2{\`O} \gdef^^d3{\'O} \gdef^^d4{\^O} \gdef^^d5{\~O} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\O} \gdef^^d9{\`U} \gdef^^da{\'U} \gdef^^db{\^U} \gdef^^dc{\"U} \gdef^^dd{\'Y} \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}} \gdef^^df{\ss} % \gdef^^e0{\`a} \gdef^^e1{\'a} \gdef^^e2{\^a} \gdef^^e3{\~a} \gdef^^e4{\"a} \gdef^^e5{\ringaccent a} \gdef^^e6{\ae} \gdef^^e7{\cedilla c} \gdef^^e8{\`e} \gdef^^e9{\'e} \gdef^^ea{\^e} \gdef^^eb{\"e} \gdef^^ec{\`{\dotless i}} \gdef^^ed{\'{\dotless i}} \gdef^^ee{\^{\dotless i}} \gdef^^ef{\"{\dotless i}} % \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}} \gdef^^f1{\~n} \gdef^^f2{\`o} \gdef^^f3{\'o} \gdef^^f4{\^o} \gdef^^f5{\~o} \gdef^^f6{\"o} \gdef^^f7{$\div$} \gdef^^f8{\o} \gdef^^f9{\`u} \gdef^^fa{\'u} \gdef^^fb{\^u} \gdef^^fc{\"u} \gdef^^fd{\'y} \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}} \gdef^^ff{\"y} } % Latin9 (ISO-8859-15) encoding character definitions. \def\latninechardefs{% % Encoding is almost identical to Latin1. \latonechardefs % \gdef^^a4{\euro} \gdef^^a6{\v S} \gdef^^a8{\v s} \gdef^^b4{\v Z} \gdef^^b8{\v z} \gdef^^bc{\OE} \gdef^^bd{\oe} \gdef^^be{\"Y} } % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% \gdef^^a0{~} \gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}} \gdef^^a2{\u{}} \gdef^^a3{\L} \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} \gdef^^a5{\v L} \gdef^^a6{\'S} \gdef^^a7{\S} \gdef^^a8{\"{}} \gdef^^a9{\v S} \gdef^^aa{\cedilla S} \gdef^^ab{\v T} \gdef^^ac{\'Z} \gdef^^ad{\-} \gdef^^ae{\v Z} \gdef^^af{\dotaccent Z} % \gdef^^b0{\textdegree} \gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}} \gdef^^b2{\missingcharmsg{OGONEK}} \gdef^^b3{\l} \gdef^^b4{\'{}} \gdef^^b5{\v l} \gdef^^b6{\'s} \gdef^^b7{\v{}} \gdef^^b8{\cedilla\ } \gdef^^b9{\v s} \gdef^^ba{\cedilla s} \gdef^^bb{\v t} \gdef^^bc{\'z} \gdef^^bd{\H{}} \gdef^^be{\v z} \gdef^^bf{\dotaccent z} % \gdef^^c0{\'R} \gdef^^c1{\'A} \gdef^^c2{\^A} \gdef^^c3{\u A} \gdef^^c4{\"A} \gdef^^c5{\'L} \gdef^^c6{\'C} \gdef^^c7{\cedilla C} \gdef^^c8{\v C} \gdef^^c9{\'E} \gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}} \gdef^^cb{\"E} \gdef^^cc{\v E} \gdef^^cd{\'I} \gdef^^ce{\^I} \gdef^^cf{\v D} % \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}} \gdef^^d1{\'N} \gdef^^d2{\v N} \gdef^^d3{\'O} \gdef^^d4{\^O} \gdef^^d5{\H O} \gdef^^d6{\"O} \gdef^^d7{$\times$} \gdef^^d8{\v R} \gdef^^d9{\ringaccent U} \gdef^^da{\'U} \gdef^^db{\H U} \gdef^^dc{\"U} \gdef^^dd{\'Y} \gdef^^de{\cedilla T} \gdef^^df{\ss} % \gdef^^e0{\'r} \gdef^^e1{\'a} \gdef^^e2{\^a} \gdef^^e3{\u a} \gdef^^e4{\"a} \gdef^^e5{\'l} \gdef^^e6{\'c} \gdef^^e7{\cedilla c} \gdef^^e8{\v c} \gdef^^e9{\'e} \gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}} \gdef^^eb{\"e} \gdef^^ec{\v e} \gdef^^ed{\'\i} \gdef^^ee{\^\i} \gdef^^ef{\v d} % \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}} \gdef^^f1{\'n} \gdef^^f2{\v n} \gdef^^f3{\'o} \gdef^^f4{\^o} \gdef^^f5{\H o} \gdef^^f6{\"o} \gdef^^f7{$\div$} \gdef^^f8{\v r} \gdef^^f9{\ringaccent u} \gdef^^fa{\'u} \gdef^^fb{\H u} \gdef^^fc{\"u} \gdef^^fd{\'y} \gdef^^fe{\cedilla t} \gdef^^ff{\dotaccent{}} } % UTF-8 character definitions. % % This code to support UTF-8 is based on LaTeX's utf8.def, with some % changes for Texinfo conventions. It is included here under the GPL by % permission from Frank Mittelbach and the LaTeX team. % \newcount\countUTFx \newcount\countUTFy \newcount\countUTFz \gdef\UTFviiiTwoOctets#1#2{\expandafter \UTFviiiDefined\csname u8:#1\string #2\endcsname} % \gdef\UTFviiiThreeOctets#1#2#3{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} % \gdef\UTFviiiFourOctets#1#2#3#4{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} \gdef\UTFviiiDefined#1{% \ifx #1\relax \message{\linenumber Unicode char \string #1 not defined for Texinfo}% \else \expandafter #1% \fi } \begingroup \catcode`\~13 \catcode`\"12 \def\UTFviiiLoop{% \global\catcode\countUTFx\active \uccode`\~\countUTFx \uppercase\expandafter{\UTFviiiTmp}% \advance\countUTFx by 1 \ifnum\countUTFx < \countUTFy \expandafter\UTFviiiLoop \fi} \countUTFx = "C2 \countUTFy = "E0 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiTwoOctets\string~}} \UTFviiiLoop \countUTFx = "E0 \countUTFy = "F0 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiThreeOctets\string~}} \UTFviiiLoop \countUTFx = "F0 \countUTFy = "F4 \def\UTFviiiTmp{% \xdef~{\noexpand\UTFviiiFourOctets\string~}} \UTFviiiLoop \endgroup \begingroup \catcode`\"=12 \catcode`\<=12 \catcode`\.=12 \catcode`\,=12 \catcode`\;=12 \catcode`\!=12 \catcode`\~=13 \gdef\DeclareUnicodeCharacter#1#2{% \countUTFz = "#1\relax \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% \begingroup \parseXMLCharref \def\UTFviiiTwoOctets##1##2{% \csname u8:##1\string ##2\endcsname}% \def\UTFviiiThreeOctets##1##2##3{% \csname u8:##1\string ##2\string ##3\endcsname}% \def\UTFviiiFourOctets##1##2##3##4{% \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter \gdef\UTFviiiTmp{#2}% \endgroup} \gdef\parseXMLCharref{% \ifnum\countUTFz < "A0\relax \errhelp = \EMsimple \errmessage{Cannot define Unicode char value < 00A0}% \else\ifnum\countUTFz < "800\relax \parseUTFviiiA,% \parseUTFviiiB C\UTFviiiTwoOctets.,% \else\ifnum\countUTFz < "10000\relax \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% \else \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiA!% \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% \fi\fi\fi } \gdef\parseUTFviiiA#1{% \countUTFx = \countUTFz \divide\countUTFz by 64 \countUTFy = \countUTFz \multiply\countUTFz by 64 \advance\countUTFx by -\countUTFz \advance\countUTFx by 128 \uccode `#1\countUTFx \countUTFz = \countUTFy} \gdef\parseUTFviiiB#1#2#3#4{% \advance\countUTFz by "#10\relax \uccode `#3\countUTFz \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} \endgroup \def\utfeightchardefs{% \DeclareUnicodeCharacter{00A0}{\tie} \DeclareUnicodeCharacter{00A1}{\exclamdown} \DeclareUnicodeCharacter{00A3}{\pounds} \DeclareUnicodeCharacter{00A8}{\"{ }} \DeclareUnicodeCharacter{00A9}{\copyright} \DeclareUnicodeCharacter{00AA}{\ordf} \DeclareUnicodeCharacter{00AB}{\guillemetleft} \DeclareUnicodeCharacter{00AD}{\-} \DeclareUnicodeCharacter{00AE}{\registeredsymbol} \DeclareUnicodeCharacter{00AF}{\={ }} \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} \DeclareUnicodeCharacter{00B4}{\'{ }} \DeclareUnicodeCharacter{00B8}{\cedilla{ }} \DeclareUnicodeCharacter{00BA}{\ordm} \DeclareUnicodeCharacter{00BB}{\guillemetright} \DeclareUnicodeCharacter{00BF}{\questiondown} \DeclareUnicodeCharacter{00C0}{\`A} \DeclareUnicodeCharacter{00C1}{\'A} \DeclareUnicodeCharacter{00C2}{\^A} \DeclareUnicodeCharacter{00C3}{\~A} \DeclareUnicodeCharacter{00C4}{\"A} \DeclareUnicodeCharacter{00C5}{\AA} \DeclareUnicodeCharacter{00C6}{\AE} \DeclareUnicodeCharacter{00C7}{\cedilla{C}} \DeclareUnicodeCharacter{00C8}{\`E} \DeclareUnicodeCharacter{00C9}{\'E} \DeclareUnicodeCharacter{00CA}{\^E} \DeclareUnicodeCharacter{00CB}{\"E} \DeclareUnicodeCharacter{00CC}{\`I} \DeclareUnicodeCharacter{00CD}{\'I} \DeclareUnicodeCharacter{00CE}{\^I} \DeclareUnicodeCharacter{00CF}{\"I} \DeclareUnicodeCharacter{00D1}{\~N} \DeclareUnicodeCharacter{00D2}{\`O} \DeclareUnicodeCharacter{00D3}{\'O} \DeclareUnicodeCharacter{00D4}{\^O} \DeclareUnicodeCharacter{00D5}{\~O} \DeclareUnicodeCharacter{00D6}{\"O} \DeclareUnicodeCharacter{00D8}{\O} \DeclareUnicodeCharacter{00D9}{\`U} \DeclareUnicodeCharacter{00DA}{\'U} \DeclareUnicodeCharacter{00DB}{\^U} \DeclareUnicodeCharacter{00DC}{\"U} \DeclareUnicodeCharacter{00DD}{\'Y} \DeclareUnicodeCharacter{00DF}{\ss} \DeclareUnicodeCharacter{00E0}{\`a} \DeclareUnicodeCharacter{00E1}{\'a} \DeclareUnicodeCharacter{00E2}{\^a} \DeclareUnicodeCharacter{00E3}{\~a} \DeclareUnicodeCharacter{00E4}{\"a} \DeclareUnicodeCharacter{00E5}{\aa} \DeclareUnicodeCharacter{00E6}{\ae} \DeclareUnicodeCharacter{00E7}{\cedilla{c}} \DeclareUnicodeCharacter{00E8}{\`e} \DeclareUnicodeCharacter{00E9}{\'e} \DeclareUnicodeCharacter{00EA}{\^e} \DeclareUnicodeCharacter{00EB}{\"e} \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}} \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}} \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} \DeclareUnicodeCharacter{00F1}{\~n} \DeclareUnicodeCharacter{00F2}{\`o} \DeclareUnicodeCharacter{00F3}{\'o} \DeclareUnicodeCharacter{00F4}{\^o} \DeclareUnicodeCharacter{00F5}{\~o} \DeclareUnicodeCharacter{00F6}{\"o} \DeclareUnicodeCharacter{00F8}{\o} \DeclareUnicodeCharacter{00F9}{\`u} \DeclareUnicodeCharacter{00FA}{\'u} \DeclareUnicodeCharacter{00FB}{\^u} \DeclareUnicodeCharacter{00FC}{\"u} \DeclareUnicodeCharacter{00FD}{\'y} \DeclareUnicodeCharacter{00FF}{\"y} \DeclareUnicodeCharacter{0100}{\=A} \DeclareUnicodeCharacter{0101}{\=a} \DeclareUnicodeCharacter{0102}{\u{A}} \DeclareUnicodeCharacter{0103}{\u{a}} \DeclareUnicodeCharacter{0106}{\'C} \DeclareUnicodeCharacter{0107}{\'c} \DeclareUnicodeCharacter{0108}{\^C} \DeclareUnicodeCharacter{0109}{\^c} \DeclareUnicodeCharacter{010A}{\dotaccent{C}} \DeclareUnicodeCharacter{010B}{\dotaccent{c}} \DeclareUnicodeCharacter{010C}{\v{C}} \DeclareUnicodeCharacter{010D}{\v{c}} \DeclareUnicodeCharacter{010E}{\v{D}} \DeclareUnicodeCharacter{0112}{\=E} \DeclareUnicodeCharacter{0113}{\=e} \DeclareUnicodeCharacter{0114}{\u{E}} \DeclareUnicodeCharacter{0115}{\u{e}} \DeclareUnicodeCharacter{0116}{\dotaccent{E}} \DeclareUnicodeCharacter{0117}{\dotaccent{e}} \DeclareUnicodeCharacter{011A}{\v{E}} \DeclareUnicodeCharacter{011B}{\v{e}} \DeclareUnicodeCharacter{011C}{\^G} \DeclareUnicodeCharacter{011D}{\^g} \DeclareUnicodeCharacter{011E}{\u{G}} \DeclareUnicodeCharacter{011F}{\u{g}} \DeclareUnicodeCharacter{0120}{\dotaccent{G}} \DeclareUnicodeCharacter{0121}{\dotaccent{g}} \DeclareUnicodeCharacter{0124}{\^H} \DeclareUnicodeCharacter{0125}{\^h} \DeclareUnicodeCharacter{0128}{\~I} \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} \DeclareUnicodeCharacter{012A}{\=I} \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} \DeclareUnicodeCharacter{012C}{\u{I}} \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} \DeclareUnicodeCharacter{0130}{\dotaccent{I}} \DeclareUnicodeCharacter{0131}{\dotless{i}} \DeclareUnicodeCharacter{0132}{IJ} \DeclareUnicodeCharacter{0133}{ij} \DeclareUnicodeCharacter{0134}{\^J} \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} \DeclareUnicodeCharacter{0139}{\'L} \DeclareUnicodeCharacter{013A}{\'l} \DeclareUnicodeCharacter{0141}{\L} \DeclareUnicodeCharacter{0142}{\l} \DeclareUnicodeCharacter{0143}{\'N} \DeclareUnicodeCharacter{0144}{\'n} \DeclareUnicodeCharacter{0147}{\v{N}} \DeclareUnicodeCharacter{0148}{\v{n}} \DeclareUnicodeCharacter{014C}{\=O} \DeclareUnicodeCharacter{014D}{\=o} \DeclareUnicodeCharacter{014E}{\u{O}} \DeclareUnicodeCharacter{014F}{\u{o}} \DeclareUnicodeCharacter{0150}{\H{O}} \DeclareUnicodeCharacter{0151}{\H{o}} \DeclareUnicodeCharacter{0152}{\OE} \DeclareUnicodeCharacter{0153}{\oe} \DeclareUnicodeCharacter{0154}{\'R} \DeclareUnicodeCharacter{0155}{\'r} \DeclareUnicodeCharacter{0158}{\v{R}} \DeclareUnicodeCharacter{0159}{\v{r}} \DeclareUnicodeCharacter{015A}{\'S} \DeclareUnicodeCharacter{015B}{\'s} \DeclareUnicodeCharacter{015C}{\^S} \DeclareUnicodeCharacter{015D}{\^s} \DeclareUnicodeCharacter{015E}{\cedilla{S}} \DeclareUnicodeCharacter{015F}{\cedilla{s}} \DeclareUnicodeCharacter{0160}{\v{S}} \DeclareUnicodeCharacter{0161}{\v{s}} \DeclareUnicodeCharacter{0162}{\cedilla{t}} \DeclareUnicodeCharacter{0163}{\cedilla{T}} \DeclareUnicodeCharacter{0164}{\v{T}} \DeclareUnicodeCharacter{0168}{\~U} \DeclareUnicodeCharacter{0169}{\~u} \DeclareUnicodeCharacter{016A}{\=U} \DeclareUnicodeCharacter{016B}{\=u} \DeclareUnicodeCharacter{016C}{\u{U}} \DeclareUnicodeCharacter{016D}{\u{u}} \DeclareUnicodeCharacter{016E}{\ringaccent{U}} \DeclareUnicodeCharacter{016F}{\ringaccent{u}} \DeclareUnicodeCharacter{0170}{\H{U}} \DeclareUnicodeCharacter{0171}{\H{u}} \DeclareUnicodeCharacter{0174}{\^W} \DeclareUnicodeCharacter{0175}{\^w} \DeclareUnicodeCharacter{0176}{\^Y} \DeclareUnicodeCharacter{0177}{\^y} \DeclareUnicodeCharacter{0178}{\"Y} \DeclareUnicodeCharacter{0179}{\'Z} \DeclareUnicodeCharacter{017A}{\'z} \DeclareUnicodeCharacter{017B}{\dotaccent{Z}} \DeclareUnicodeCharacter{017C}{\dotaccent{z}} \DeclareUnicodeCharacter{017D}{\v{Z}} \DeclareUnicodeCharacter{017E}{\v{z}} \DeclareUnicodeCharacter{01C4}{D\v{Z}} \DeclareUnicodeCharacter{01C5}{D\v{z}} \DeclareUnicodeCharacter{01C6}{d\v{z}} \DeclareUnicodeCharacter{01C7}{LJ} \DeclareUnicodeCharacter{01C8}{Lj} \DeclareUnicodeCharacter{01C9}{lj} \DeclareUnicodeCharacter{01CA}{NJ} \DeclareUnicodeCharacter{01CB}{Nj} \DeclareUnicodeCharacter{01CC}{nj} \DeclareUnicodeCharacter{01CD}{\v{A}} \DeclareUnicodeCharacter{01CE}{\v{a}} \DeclareUnicodeCharacter{01CF}{\v{I}} \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}} \DeclareUnicodeCharacter{01D1}{\v{O}} \DeclareUnicodeCharacter{01D2}{\v{o}} \DeclareUnicodeCharacter{01D3}{\v{U}} \DeclareUnicodeCharacter{01D4}{\v{u}} \DeclareUnicodeCharacter{01E2}{\={\AE}} \DeclareUnicodeCharacter{01E3}{\={\ae}} \DeclareUnicodeCharacter{01E6}{\v{G}} \DeclareUnicodeCharacter{01E7}{\v{g}} \DeclareUnicodeCharacter{01E8}{\v{K}} \DeclareUnicodeCharacter{01E9}{\v{k}} \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}} \DeclareUnicodeCharacter{01F1}{DZ} \DeclareUnicodeCharacter{01F2}{Dz} \DeclareUnicodeCharacter{01F3}{dz} \DeclareUnicodeCharacter{01F4}{\'G} \DeclareUnicodeCharacter{01F5}{\'g} \DeclareUnicodeCharacter{01F8}{\`N} \DeclareUnicodeCharacter{01F9}{\`n} \DeclareUnicodeCharacter{01FC}{\'{\AE}} \DeclareUnicodeCharacter{01FD}{\'{\ae}} \DeclareUnicodeCharacter{01FE}{\'{\O}} \DeclareUnicodeCharacter{01FF}{\'{\o}} \DeclareUnicodeCharacter{021E}{\v{H}} \DeclareUnicodeCharacter{021F}{\v{h}} \DeclareUnicodeCharacter{0226}{\dotaccent{A}} \DeclareUnicodeCharacter{0227}{\dotaccent{a}} \DeclareUnicodeCharacter{0228}{\cedilla{E}} \DeclareUnicodeCharacter{0229}{\cedilla{e}} \DeclareUnicodeCharacter{022E}{\dotaccent{O}} \DeclareUnicodeCharacter{022F}{\dotaccent{o}} \DeclareUnicodeCharacter{0232}{\=Y} \DeclareUnicodeCharacter{0233}{\=y} \DeclareUnicodeCharacter{0237}{\dotless{j}} \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} \DeclareUnicodeCharacter{1E05}{\udotaccent{b}} \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}} \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}} \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}} \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}} \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}} \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}} \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}} \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}} \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}} \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}} \DeclareUnicodeCharacter{1E20}{\=G} \DeclareUnicodeCharacter{1E21}{\=g} \DeclareUnicodeCharacter{1E22}{\dotaccent{H}} \DeclareUnicodeCharacter{1E23}{\dotaccent{h}} \DeclareUnicodeCharacter{1E24}{\udotaccent{H}} \DeclareUnicodeCharacter{1E25}{\udotaccent{h}} \DeclareUnicodeCharacter{1E26}{\"H} \DeclareUnicodeCharacter{1E27}{\"h} \DeclareUnicodeCharacter{1E30}{\'K} \DeclareUnicodeCharacter{1E31}{\'k} \DeclareUnicodeCharacter{1E32}{\udotaccent{K}} \DeclareUnicodeCharacter{1E33}{\udotaccent{k}} \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}} \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}} \DeclareUnicodeCharacter{1E36}{\udotaccent{L}} \DeclareUnicodeCharacter{1E37}{\udotaccent{l}} \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}} \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}} \DeclareUnicodeCharacter{1E3E}{\'M} \DeclareUnicodeCharacter{1E3F}{\'m} \DeclareUnicodeCharacter{1E40}{\dotaccent{M}} \DeclareUnicodeCharacter{1E41}{\dotaccent{m}} \DeclareUnicodeCharacter{1E42}{\udotaccent{M}} \DeclareUnicodeCharacter{1E43}{\udotaccent{m}} \DeclareUnicodeCharacter{1E44}{\dotaccent{N}} \DeclareUnicodeCharacter{1E45}{\dotaccent{n}} \DeclareUnicodeCharacter{1E46}{\udotaccent{N}} \DeclareUnicodeCharacter{1E47}{\udotaccent{n}} \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}} \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}} \DeclareUnicodeCharacter{1E54}{\'P} \DeclareUnicodeCharacter{1E55}{\'p} \DeclareUnicodeCharacter{1E56}{\dotaccent{P}} \DeclareUnicodeCharacter{1E57}{\dotaccent{p}} \DeclareUnicodeCharacter{1E58}{\dotaccent{R}} \DeclareUnicodeCharacter{1E59}{\dotaccent{r}} \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}} \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}} \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}} \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}} \DeclareUnicodeCharacter{1E60}{\dotaccent{S}} \DeclareUnicodeCharacter{1E61}{\dotaccent{s}} \DeclareUnicodeCharacter{1E62}{\udotaccent{S}} \DeclareUnicodeCharacter{1E63}{\udotaccent{s}} \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}} \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}} \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}} \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}} \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}} \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}} \DeclareUnicodeCharacter{1E7C}{\~V} \DeclareUnicodeCharacter{1E7D}{\~v} \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}} \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}} \DeclareUnicodeCharacter{1E80}{\`W} \DeclareUnicodeCharacter{1E81}{\`w} \DeclareUnicodeCharacter{1E82}{\'W} \DeclareUnicodeCharacter{1E83}{\'w} \DeclareUnicodeCharacter{1E84}{\"W} \DeclareUnicodeCharacter{1E85}{\"w} \DeclareUnicodeCharacter{1E86}{\dotaccent{W}} \DeclareUnicodeCharacter{1E87}{\dotaccent{w}} \DeclareUnicodeCharacter{1E88}{\udotaccent{W}} \DeclareUnicodeCharacter{1E89}{\udotaccent{w}} \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}} \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}} \DeclareUnicodeCharacter{1E8C}{\"X} \DeclareUnicodeCharacter{1E8D}{\"x} \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}} \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}} \DeclareUnicodeCharacter{1E90}{\^Z} \DeclareUnicodeCharacter{1E91}{\^z} \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}} \DeclareUnicodeCharacter{1E93}{\udotaccent{z}} \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}} \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}} \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}} \DeclareUnicodeCharacter{1E97}{\"t} \DeclareUnicodeCharacter{1E98}{\ringaccent{w}} \DeclareUnicodeCharacter{1E99}{\ringaccent{y}} \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}} \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}} \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}} \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}} \DeclareUnicodeCharacter{1EBC}{\~E} \DeclareUnicodeCharacter{1EBD}{\~e} \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}} \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}} \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}} \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}} \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}} \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}} \DeclareUnicodeCharacter{1EF2}{\`Y} \DeclareUnicodeCharacter{1EF3}{\`y} \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}} \DeclareUnicodeCharacter{1EF8}{\~Y} \DeclareUnicodeCharacter{1EF9}{\~y} \DeclareUnicodeCharacter{2013}{--} \DeclareUnicodeCharacter{2014}{---} \DeclareUnicodeCharacter{2018}{\quoteleft} \DeclareUnicodeCharacter{2019}{\quoteright} \DeclareUnicodeCharacter{201A}{\quotesinglbase} \DeclareUnicodeCharacter{201C}{\quotedblleft} \DeclareUnicodeCharacter{201D}{\quotedblright} \DeclareUnicodeCharacter{201E}{\quotedblbase} \DeclareUnicodeCharacter{2022}{\bullet} \DeclareUnicodeCharacter{2026}{\dots} \DeclareUnicodeCharacter{2039}{\guilsinglleft} \DeclareUnicodeCharacter{203A}{\guilsinglright} \DeclareUnicodeCharacter{20AC}{\euro} \DeclareUnicodeCharacter{2192}{\expansion} \DeclareUnicodeCharacter{21D2}{\result} \DeclareUnicodeCharacter{2212}{\minus} \DeclareUnicodeCharacter{2217}{\point} \DeclareUnicodeCharacter{2261}{\equiv} }% end of \utfeightchardefs % US-ASCII character definitions. \def\asciichardefs{% nothing need be done \relax } % Make non-ASCII characters printable again for compatibility with % existing Texinfo documents that may use them, even without declaring a % document encoding. % \setnonasciicharscatcode \other \message{formatting,} \newdimen\defaultparindent \defaultparindent = 15pt \chapheadingskip = 15pt plus 4pt minus 2pt \secheadingskip = 12pt plus 3pt minus 2pt \subsecheadingskip = 9pt plus 2pt minus 2pt % Prevent underfull vbox error messages. \vbadness = 10000 % Don't be so finicky about underfull hboxes, either. \hbadness = 2000 % Following George Bush, get rid of widows and orphans. \widowpenalty=10000 \clubpenalty=10000 % Use TeX 3.0's \emergencystretch to help line breaking, but if we're % using an old version of TeX, don't do anything. We want the amount of % stretch added to depend on the line length, hence the dependence on % \hsize. We call this whenever the paper size is set. % \def\setemergencystretch{% \ifx\emergencystretch\thisisundefined % Allow us to assign to \emergencystretch anyway. \def\emergencystretch{\dimen0}% \else \emergencystretch = .15\hsize \fi } % Parameters in order: 1) textheight; 2) textwidth; % 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; % 7) physical page height; 8) physical page width. % % We also call \setleading{\textleading}, so the caller should define % \textleading. The caller should also set \parskip. % \def\internalpagesizes#1#2#3#4#5#6#7#8{% \voffset = #3\relax \topskip = #6\relax \splittopskip = \topskip % \vsize = #1\relax \advance\vsize by \topskip \outervsize = \vsize \advance\outervsize by 2\topandbottommargin \pageheight = \vsize % \hsize = #2\relax \outerhsize = \hsize \advance\outerhsize by 0.5in \pagewidth = \hsize % \normaloffset = #4\relax \bindingoffset = #5\relax % \ifpdf \pdfpageheight #7\relax \pdfpagewidth #8\relax % if we don't reset these, they will remain at "1 true in" of % whatever layout pdftex was dumped with. \pdfhorigin = 1 true in \pdfvorigin = 1 true in \fi % \setleading{\textleading} % \parindent = \defaultparindent \setemergencystretch } % @letterpaper (the default). \def\letterpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % If page is nothing but text, make it come out even. \internalpagesizes{607.2pt}{6in}% that's 46 lines {\voffset}{.25in}% {\bindingoffset}{36pt}% {11in}{8.5in}% }} % Use @smallbook to reset parameters for 7x9.25 trim size. \def\smallbook{{\globaldefs = 1 \parskip = 2pt plus 1pt \textleading = 12pt % \internalpagesizes{7.5in}{5in}% {-.2in}{0in}% {\bindingoffset}{16pt}% {9.25in}{7in}% % \lispnarrowing = 0.3in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = .5cm }} % Use @smallerbook to reset parameters for 6x9 trim size. % (Just testing, parameters still in flux.) \def\smallerbook{{\globaldefs = 1 \parskip = 1.5pt plus 1pt \textleading = 12pt % \internalpagesizes{7.4in}{4.8in}% {-.2in}{-.4in}% {0pt}{14pt}% {9in}{6in}% % \lispnarrowing = 0.25in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = .4cm }} % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % Double-side printing via postscript on Laserjet 4050 % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. % To change the settings for a different printer or situation, adjust % \normaloffset until the front-side and back-side texts align. Then % do the same for \bindingoffset. You can set these for testing in % your texinfo source file like this: % @tex % \global\normaloffset = -6mm % \global\bindingoffset = 10mm % @end tex \internalpagesizes{673.2pt}{160mm}% that's 51 lines {\voffset}{\hoffset}% {\bindingoffset}{44pt}% {297mm}{210mm}% % \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \defbodyindent = 5mm }} % Use @afivepaper to print on European A5 paper. % From romildo@urano.iceb.ufop.br, 2 July 2000. % He also recommends making @example and @lisp be small. \def\afivepaper{{\globaldefs = 1 \parskip = 2pt plus 1pt minus 0.1pt \textleading = 12.5pt % \internalpagesizes{160mm}{120mm}% {\voffset}{\hoffset}% {\bindingoffset}{8pt}% {210mm}{148mm}% % \lispnarrowing = 0.2in \tolerance = 800 \hfuzz = 1.2pt \contentsrightmargin = 0pt \defbodyindent = 2mm \tableindent = 12mm }} % A specific text layout, 24x15cm overall, intended for A4 paper. \def\afourlatex{{\globaldefs = 1 \afourpaper \internalpagesizes{237mm}{150mm}% {\voffset}{4.6mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% % % Must explicitly reset to 0 because we call \afourpaper. \globaldefs = 0 }} % Use @afourwide to print on A4 paper in landscape format. \def\afourwide{{\globaldefs = 1 \afourpaper \internalpagesizes{241mm}{165mm}% {\voffset}{-2.95mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% \globaldefs = 0 }} % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, % and/or leading, also. Or perhaps we should compute them somehow. % \parseargdef\pagesizes{\pagesizesyyy #1,,\finish} \def\pagesizesyyy#1,#2,#3\finish{{% \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi \globaldefs = 1 % \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % \dimen0 = #1\relax \advance\dimen0 by \voffset % \dimen2 = \hsize \advance\dimen2 by \normaloffset % \internalpagesizes{#1}{\hsize}% {\voffset}{\normaloffset}% {\bindingoffset}{44pt}% {\dimen0}{\dimen2}% }} % Set default to letter. % \letterpaper \message{and turning on texinfo input format.} % Define macros to output various characters with catcode for normal text. \catcode`\"=\other \catcode`\~=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\+=\other \catcode`\$=\other \def\normaldoublequote{"} \def\normaltilde{~} \def\normalcaret{^} \def\normalunderscore{_} \def\normalverticalbar{|} \def\normalless{<} \def\normalgreater{>} \def\normalplus{+} \def\normaldollar{$}%$ font-lock fix % This macro is used to make a character print one way in \tt % (where it can probably be output as-is), and another way in other fonts, % where something hairier probably needs to be done. % % #1 is what to print if we are indeed using \tt; #2 is what to print % otherwise. Since all the Computer Modern typewriter fonts have zero % interword stretch (and shrink), and it is reasonable to expect all % typewriter fonts to have this, we can check that font parameter. % \def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} % Same as above, but check for italic font. Actually this also catches % non-italic slanted fonts since it is impossible to distinguish them from % italic fonts. But since this is only used by $ and it uses \sl anyway % this is not a problem. \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} % Turn off all special characters except @ % (and those which the user can use as if they were ordinary). % Most of these we simply print from the \tt font, but for some, we can % use math or other variants that look better in normal text. \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote \catcode`\~=\active \def~{{\tt\char126}} \chardef\hat=`\^ \catcode`\^=\active \def^{{\tt \hat}} \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} \let\realunder=_ % Subroutine for the previous macro. \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } \catcode`\|=\active \def|{{\tt\char124}} \chardef \less=`\< \catcode`\<=\active \def<{{\tt \less}} \chardef \gtr=`\> \catcode`\>=\active \def>{{\tt \gtr}} \catcode`\+=\active \def+{{\tt \char 43}} \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. % So turn them off again, and have \everyjob (or @setfilename) turn them on. % \otherifyactive is called near the end of this file. \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} % Used sometimes to turn off (effectively) the active characters even after % parsing them. \def\turnoffactive{% \normalturnoffactive \otherbackslash } \catcode`\@=0 % \backslashcurfont outputs one backslash character in current font, % as in \char`\\. \global\chardef\backslashcurfont=`\\ \global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work % \realbackslash is an actual character `\' with catcode other, and % \doublebackslash is two of them (for the pdf outlines). {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} % In texinfo, backslash is an active character; it prints the backslash % in fixed width font. \catcode`\\=\active @def@normalbackslash{{@tt@backslashcurfont}} % On startup, @fixbackslash assigns: % @let \ = @normalbackslash % \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with % catcode other. @gdef@rawbackslash{@let\=@backslashcurfont} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of % the literal character `\'. % @def@normalturnoffactive{% @let\=@normalbackslash @let"=@normaldoublequote @let~=@normaltilde @let^=@normalcaret @let_=@normalunderscore @let|=@normalverticalbar @let<=@normalless @let>=@normalgreater @let+=@normalplus @let$=@normaldollar %$ font-lock fix @unsepspaces } % Make _ and + \other characters, temporarily. % This is canceled by @fixbackslash. @otherifyactive % If a .fmt file is being used, we don't want the `\input texinfo' to show up. % That is what \eatinput is for; after that, the `\' should revert to printing % a backslash. % @gdef@eatinput input texinfo{@fixbackslash} @global@let\ = @eatinput % On the other hand, perhaps the file did not have a `\input texinfo'. Then % the first `\' in the file would cause an error. This macro tries to fix % that, assuming it is called before the first `\' could plausibly occur. % Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. % @gdef@fixbackslash{% @ifx\@eatinput @let\ = @normalbackslash @fi @catcode`+=@active @catcode`@_=@active } % Say @foo, not \foo, in error messages. @escapechar = `@@ % These look ok in all fonts, so just make them not special. @catcode`@& = @other @catcode`@# = @other @catcode`@% = @other @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) @c page-delimiter: "^\\\\message" @c time-stamp-start: "def\\\\texinfoversion{" @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @c End: @c vim:sw=2: @ignore arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 @end ignore dc3dd-7.1.614/build-aux/mdate-sh0000755000175000017500000001267011064230667015774 0ustar amedicoamedico#!/bin/sh # Get modification time of a file or directory and pretty-print it. scriptversion=2007-03-30.02 # Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007 Free Software # Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, 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, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . case $1 in '') echo "$0: No file. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: mdate-sh [--help] [--version] FILE Pretty-print the modification time of FILE. Report bugs to . EOF exit $? ;; -v | --v*) echo "mdate-sh $scriptversion" exit $? ;; esac # Prevent date giving response in another language. LANG=C export LANG LC_ALL=C export LC_ALL LC_TIME=C export LC_TIME # GNU ls changes its time format in response to the TIME_STYLE # variable. Since we cannot assume `unset' works, revert this # variable to its documented default. if test "${TIME_STYLE+set}" = set; then TIME_STYLE=posix-long-iso export TIME_STYLE fi save_arg1=$1 # Find out how to get the extended ls output of a file or directory. if ls -L /dev/null 1>/dev/null 2>&1; then ls_command='ls -L -l -d' else ls_command='ls -l -d' fi # Avoid user/group names that might have spaces, when possible. if ls -n /dev/null 1>/dev/null 2>&1; then ls_command="$ls_command -n" fi # A `ls -l' line looks as follows on OS/2. # drwxrwx--- 0 Aug 11 2001 foo # This differs from Unix, which adds ownership information. # drwxrwx--- 2 root root 4096 Aug 11 2001 foo # # To find the date, we split the line on spaces and iterate on words # until we find a month. This cannot work with files whose owner is a # user named `Jan', or `Feb', etc. However, it's unlikely that `/' # will be owned by a user whose name is a month. So we first look at # the extended ls output of the root directory to decide how many # words should be skipped to get the date. # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. set x`$ls_command /` # Find which argument is the month. month= command= until test $month do shift # Add another shift to the command. command="$command shift;" case $1 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac done # Get the extended ls output of the file or directory. set dummy x`eval "$ls_command \"\$save_arg1\""` # Remove all preceding arguments eval $command # Because of the dummy argument above, month is in $2. # # On a POSIX system, we should have # # $# = 5 # $1 = file size # $2 = month # $3 = day # $4 = year or time # $5 = filename # # On Darwin 7.7.0 and 7.6.0, we have # # $# = 4 # $1 = day # $2 = month # $3 = year or time # $4 = filename # Get the month. case $2 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac case $3 in ???*) day=$1;; *) day=$3; shift;; esac # Here we have to deal with the problem that the ls output gives either # the time of day or the year. case $3 in *:*) set `date`; eval year=\$$# case $2 in Jan) nummonthtod=1;; Feb) nummonthtod=2;; Mar) nummonthtod=3;; Apr) nummonthtod=4;; May) nummonthtod=5;; Jun) nummonthtod=6;; Jul) nummonthtod=7;; Aug) nummonthtod=8;; Sep) nummonthtod=9;; Oct) nummonthtod=10;; Nov) nummonthtod=11;; Dec) nummonthtod=12;; esac # For the first six month of the year the time notation can also # be used for files modified in the last year. if (expr $nummonth \> $nummonthtod) > /dev/null; then year=`expr $year - 1` fi;; *) year=$3;; esac # The result. echo $day $month $year # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: dc3dd-7.1.614/build-aux/useless-if-before-free0000755000175000017500000001177711064230667020537 0ustar amedicoamedico#!/usr/bin/perl -T # Detect instances of "if (p) free (p);". # Likewise for "if (p != NULL) free (p);". And with braces. my $VERSION = '2008-05-25 17:36'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. # Copyright (C) 2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Written by Jim Meyering use strict; use warnings; use Getopt::Long; (my $ME = $0) =~ s|.*/||; # use File::Coda; # http://meyering.net/code/Coda/ END { defined fileno STDOUT or return; close STDOUT and return; warn "$ME: failed to close standard output: $!\n"; $? ||= 1; } sub usage ($) { my ($exit_code) = @_; my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); if ($exit_code != 0) { print $STREAM "Try `$ME --help' for more information.\n"; } else { print $STREAM < sub { usage 0 }, version => sub { print "$ME version $VERSION\n"; exit }, list => \$list, 'name=s@' => \@name, ) or usage 1; # Make sure we have the right number of non-option arguments. # Always tell the user why we fail. @ARGV < 1 and (warn "$ME: missing FILE argument\n"), usage EXIT_ERROR; my $or = join '|', @name; my $regexp = qr/(?:$or)/; # Set the input record separator. # Note: this makes it impractical to print line numbers. $/ = '"'; my $found_match = 0; FILE: foreach my $file (@ARGV) { open FH, '<', $file or (warn "$ME: can't open `$file' for reading: $!\n"), $err = EXIT_ERROR, next; while (defined (my $line = )) { while ($line =~ /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*NULL)?\s*\) (?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)| \s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;\s*\}))/sxg) { # Compare "if" expression and free'd expression, # without regard to white space. (my $e1 = $2) =~ tr/ \t//d; my $e2 = defined $3 ? $3 : $4; $e2 =~ tr/ \t//d; if ($e1 eq $e2) { $found_match = 1; $list and (print "$file\0"), next FILE; print "$file: $1\n"; } } } } continue { close FH; } $found_match && $err == EXIT_NO_MATCH and $err = EXIT_MATCH; exit $err; } my $foo = <<'EOF'; # The above is to *find* them. # This adjusts them, removing the unnecessary "if (p)" part. # FIXME: do something like this as an option (doesn't do braces): useless-if-before-free -l $(lid -knone free) | xargs -0 \ perl -0x3b -pi -e \ 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*NULL)?\s*\)\s+(free\s*\((?:\s*\([^)]+\))?\s*\1\s*\))/$2/s' # Or, with git: git ls-files -z |xargs -0 perl -0x3b -pi -e '...' Be careful that the result of the above transformation is valid. If the matched string is followed by "else", then obviously, it won't be. When modifying files, refuse to process anything other than a regular file. EOF ## Local Variables: ## indent-tabs-mode: nil ## eval: (add-hook 'write-file-hooks 'time-stamp) ## time-stamp-start: "my $VERSION = '" ## time-stamp-format: "%:y-%02m-%02d %02H:%02M" ## time-stamp-time-zone: "UTC" ## time-stamp-end: "'; # UTC" ## End: dc3dd-7.1.614/src/0000755000175000017500000000000011613550423013226 5ustar amedicoamedicodc3dd-7.1.614/src/Makefile.in0000644000175000017500000011523711233346647015315 0ustar amedicoamedico# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = dc3dd$(EXEEXT) subdir = src DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \ $(top_srcdir)/m4/argmatch.m4 $(top_srcdir)/m4/arpa_inet_h.m4 \ $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/atexit.m4 \ $(top_srcdir)/m4/autobuild.m4 $(top_srcdir)/m4/base64.m4 \ $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \ $(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/calloc.m4 \ $(top_srcdir)/m4/canonicalize.m4 \ $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/check-decl.m4 \ $(top_srcdir)/m4/chown.m4 $(top_srcdir)/m4/clock_time.m4 \ $(top_srcdir)/m4/cloexec.m4 $(top_srcdir)/m4/close-stream.m4 \ $(top_srcdir)/m4/closein.m4 $(top_srcdir)/m4/closeout.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ $(top_srcdir)/m4/cycle-check.m4 $(top_srcdir)/m4/d-ino.m4 \ $(top_srcdir)/m4/d-type.m4 $(top_srcdir)/m4/dirfd.m4 \ $(top_srcdir)/m4/dirname.m4 $(top_srcdir)/m4/dos.m4 \ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/eoverflow.m4 $(top_srcdir)/m4/error.m4 \ $(top_srcdir)/m4/exclude.m4 $(top_srcdir)/m4/exitfail.m4 \ $(top_srcdir)/m4/extensions.m4 $(top_srcdir)/m4/fchdir.m4 \ $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \ $(top_srcdir)/m4/fd-reopen.m4 $(top_srcdir)/m4/fflush.m4 \ $(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \ $(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \ $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \ $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \ $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/fprintftime.m4 \ $(top_srcdir)/m4/fpurge.m4 $(top_srcdir)/m4/freading.m4 \ $(top_srcdir)/m4/frexp.m4 $(top_srcdir)/m4/frexpl.m4 \ $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstypename.m4 \ $(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftello.m4 \ $(top_srcdir)/m4/ftruncate.m4 \ $(top_srcdir)/m4/getcwd-abort-bug.m4 \ $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \ $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/gethostname.m4 \ $(top_srcdir)/m4/gethrxtime.m4 $(top_srcdir)/m4/getline.m4 \ $(top_srcdir)/m4/getloadavg.m4 $(top_srcdir)/m4/getndelim2.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ $(top_srcdir)/m4/getpass.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnu-make.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \ $(top_srcdir)/m4/hdparm.m4 $(top_srcdir)/m4/host-os.m4 \ $(top_srcdir)/m4/human.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \ $(top_srcdir)/m4/idcache.m4 \ $(top_srcdir)/m4/include-exclude-prog.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \ $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/isapipe.m4 $(top_srcdir)/m4/isnand.m4 \ $(top_srcdir)/m4/isnanf.m4 $(top_srcdir)/m4/isnanl.m4 \ $(top_srcdir)/m4/jm-macros.m4 $(top_srcdir)/m4/jm-winsz1.m4 \ $(top_srcdir)/m4/jm-winsz2.m4 $(top_srcdir)/m4/lchmod.m4 \ $(top_srcdir)/m4/lchown.m4 $(top_srcdir)/m4/ldexpl.m4 \ $(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ignore.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/link-follow.m4 \ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \ $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \ $(top_srcdir)/m4/long-options.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lseek.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/malloc.m4 \ $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/math_h.m4 \ $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \ $(top_srcdir)/m4/mbslen.m4 $(top_srcdir)/m4/mbsstr.m4 \ $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \ $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \ $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \ $(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \ $(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \ $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \ $(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \ $(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \ $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/mountlist.m4 \ $(top_srcdir)/m4/mpsort.m4 $(top_srcdir)/m4/nanosleep.m4 \ $(top_srcdir)/m4/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/openat.m4 \ $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/perl.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posix-shell.m4 \ $(top_srcdir)/m4/posixtm.m4 $(top_srcdir)/m4/posixver.m4 \ $(top_srcdir)/m4/prereq.m4 $(top_srcdir)/m4/printf-frexp.m4 \ $(top_srcdir)/m4/printf-frexpl.m4 $(top_srcdir)/m4/printf.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \ $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readtokens.m4 \ $(top_srcdir)/m4/readutmp.m4 $(top_srcdir)/m4/realloc.m4 \ $(top_srcdir)/m4/regex.m4 \ $(top_srcdir)/m4/rename-dest-slash.m4 \ $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/rmdir-errno.m4 \ $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/root-dev-ino.m4 \ $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \ $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ $(top_srcdir)/m4/savewd.m4 $(top_srcdir)/m4/setenv.m4 \ $(top_srcdir)/m4/settime.m4 $(top_srcdir)/m4/sha1.m4 \ $(top_srcdir)/m4/sha256.m4 $(top_srcdir)/m4/sha512.m4 \ $(top_srcdir)/m4/sig2str.m4 $(top_srcdir)/m4/signbit.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/sleep.m4 \ $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/socklen.m4 \ $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/st_dm_mode.m4 \ $(top_srcdir)/m4/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \ $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \ $(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/stpncpy.m4 \ $(top_srcdir)/m4/strcspn.m4 $(top_srcdir)/m4/strdup.m4 \ $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/strftime.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \ $(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \ $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ $(top_srcdir)/m4/strverscmp.m4 \ $(top_srcdir)/m4/sys_socket_h.m4 \ $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \ $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \ $(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \ $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink-busy.m4 \ $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ $(top_srcdir)/m4/uptime.m4 $(top_srcdir)/m4/userspec.m4 \ $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \ $(top_srcdir)/m4/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \ $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \ $(top_srcdir)/m4/vasnprintf.m4 \ $(top_srcdir)/m4/vasprintf-posix.m4 \ $(top_srcdir)/m4/vasprintf.m4 \ $(top_srcdir)/m4/vfprintf-posix.m4 \ $(top_srcdir)/m4/vprintf-posix.m4 $(top_srcdir)/m4/wchar.m4 \ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \ $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \ $(top_srcdir)/m4/write-any-file.m4 $(top_srcdir)/m4/xalloc.m4 \ $(top_srcdir)/m4/xgetcwd.m4 $(top_srcdir)/m4/xnanosleep.m4 \ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \ $(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(bindir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am__dc3dd_SOURCES_DIST = dc3dd.c hdparm/hpa_dco.c hdparm/identify.c \ hdparm/sgio.c @COND_USE_HDPARM_FALSE@am_dc3dd_OBJECTS = dc3dd.$(OBJEXT) @COND_USE_HDPARM_TRUE@am_dc3dd_OBJECTS = dc3dd.$(OBJEXT) \ @COND_USE_HDPARM_TRUE@ hpa_dco.$(OBJEXT) identify.$(OBJEXT) \ @COND_USE_HDPARM_TRUE@ sgio.$(OBJEXT) dc3dd_OBJECTS = $(am_dc3dd_OBJECTS) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ ../lib/libcoreutils.a dc3dd_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(dc3dd_SOURCES) DIST_SOURCES = $(am__dc3dd_SOURCES_DIST) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ AMTAR = @AMTAR@ ARPA_INET_H = @ARPA_INET_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DIRENT_H = @DIRENT_H@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EOVERFLOW = @EOVERFLOW@ EXEEXT = @EXEEXT@ FCNTL_H = @FCNTL_H@ FLOAT_H = @FLOAT_H@ FNMATCH_H = @FNMATCH_H@ GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CEILF = @GNULIB_CEILF@ GNULIB_CEILL = @GNULIB_CEILL@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_DUP2 = @GNULIB_DUP2@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ GNULIB_FLOORF = @GNULIB_FLOORF@ GNULIB_FLOORL = @GNULIB_FLOORL@ GNULIB_FOPEN = @GNULIB_FOPEN@ GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FREXP = @GNULIB_FREXP@ GNULIB_FREXPL = @GNULIB_FREXPL@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_IMAXABS = @GNULIB_IMAXABS@ GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_INET_NTOP = @GNULIB_INET_NTOP@ GNULIB_INET_PTON = @GNULIB_INET_PTON@ GNULIB_ISFINITE = @GNULIB_ISFINITE@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LDEXPL = @GNULIB_LDEXPL@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MATHL = @GNULIB_MATHL@ GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ GNULIB_MBSCHR = @GNULIB_MBSCHR@ GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ GNULIB_MBSLEN = @GNULIB_MBSLEN@ GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ GNULIB_MBSSEP = @GNULIB_MBSSEP@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_OPEN = @GNULIB_OPEN@ GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ GNULIB_PUTENV = @GNULIB_PUTENV@ GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ GNULIB_ROUND = @GNULIB_ROUND@ GNULIB_ROUNDF = @GNULIB_ROUNDF@ GNULIB_ROUNDL = @GNULIB_ROUNDL@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SIGNBIT = @GNULIB_SIGNBIT@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STPCPY = @GNULIB_STPCPY@ GNULIB_STPNCPY = @GNULIB_STPNCPY@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_TRUNC = @GNULIB_TRUNC@ GNULIB_TRUNCF = @GNULIB_TRUNCF@ GNULIB_TRUNCL = @GNULIB_TRUNCL@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ GNULIB_WCWIDTH = @GNULIB_WCWIDTH@ GREP = @GREP@ HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@ HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@ HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@ HAVE_DECL_ASINL = @HAVE_DECL_ASINL@ HAVE_DECL_ATANL = @HAVE_DECL_ATANL@ HAVE_DECL_COSL = @HAVE_DECL_COSL@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_EXPL = @HAVE_DECL_EXPL@ HAVE_DECL_FREXPL = @HAVE_DECL_FREXPL@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@ HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@ HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@ HAVE_DECL_LOGL = @HAVE_DECL_LOGL@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_SINL = @HAVE_DECL_SINL@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@ HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_TANL = @HAVE_DECL_TANL@ HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@ HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ HAVE_OS_H = @HAVE_OS_H@ HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@ HAVE_RPMATCH = @HAVE_RPMATCH@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ HAVE_STPCPY = @HAVE_STPCPY@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ HAVE_STRNDUP = @HAVE_STRNDUP@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNSETENV = @HAVE_UNSETENV@ HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINT_T = @HAVE_WINT_T@ HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ HAVE__BOOL = @HAVE__BOOL@ HELP2MAN = @HELP2MAN@ ICONV_H = @ICONV_H@ INCLUDE_NEXT = @INCLUDE_NEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_SU = @INSTALL_SU@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ INTTYPES_H = @INTTYPES_H@ KMEM_GROUP = @KMEM_GROUP@ LDFLAGS = @LDFLAGS@ LIBCOREUTILS_LIBDEPS = @LIBCOREUTILS_LIBDEPS@ LIBCOREUTILS_LTLIBDEPS = @LIBCOREUTILS_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ LIB_CRYPT = @LIB_CRYPT@ LIB_FDATASYNC = @LIB_FDATASYNC@ LIB_GETHRXTIME = @LIB_GETHRXTIME@ LIB_NANOSLEEP = @LIB_NANOSLEEP@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAN = @MAN@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NEED_SETGID = @NEED_SETGID@ NETINET_IN_H = @NETINET_IN_H@ NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@ NEXT_DIRENT_H = @NEXT_DIRENT_H@ NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_ICONV_H = @NEXT_ICONV_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_MATH_H = @NEXT_MATH_H@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@ NEXT_STDARG_H = @NEXT_STDARG_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ NO_INSTALL_PROGS_DEFAULT = @NO_INSTALL_PROGS_DEFAULT@ OBJEXT = @OBJEXT@ OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POSIX_SHELL = @POSIX_SHELL@ POSUB = @POSUB@ POW_LIB = @POW_LIB@ PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ REPLACE_CEILF = @REPLACE_CEILF@ REPLACE_CEILL = @REPLACE_CEILL@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FLOORF = @REPLACE_FLOORF@ REPLACE_FLOORL = @REPLACE_FLOORL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FREXP = @REPLACE_FREXP@ REPLACE_FREXPL = @REPLACE_FREXPL@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ REPLACE_ISFINITE = @REPLACE_ISFINITE@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LDEXPL = @REPLACE_LDEXPL@ REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_NAN = @REPLACE_NAN@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_OPEN = @REPLACE_OPEN@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_ROUND = @REPLACE_ROUND@ REPLACE_ROUNDF = @REPLACE_ROUNDF@ REPLACE_ROUNDL = @REPLACE_ROUNDL@ REPLACE_SIGNBIT = @REPLACE_SIGNBIT@ REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRERROR = @REPLACE_STRERROR@ REPLACE_STRPTIME = @REPLACE_STRPTIME@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TRUNCL = @REPLACE_TRUNCL@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ SEQ_LIBM = @SEQ_LIBM@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ STDARG_H = @STDARG_H@ STDBOOL_H = @STDBOOL_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ SYS_SOCKET_H = @SYS_SOCKET_H@ SYS_STAT_H = @SYS_STAT_H@ SYS_TIME_H = @SYS_TIME_H@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ U = @U@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ USE_HDPARM = @USE_HDPARM@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VOID_UNSETENV = @VOID_UNSETENV@ WCHAR_H = @WCHAR_H@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WCTYPE_H = @WCTYPE_H@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_aux_dir = @abs_aux_dir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gl_LIBOBJS = @gl_LIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_HEADERS = system.h @COND_USE_HDPARM_FALSE@dc3dd_SOURCES = dc3dd.c @COND_USE_HDPARM_TRUE@dc3dd_SOURCES = dc3dd.c hdparm/hpa_dco.c hdparm/identify.c hdparm/sgio.c AM_CPPFLAGS = -I$(top_srcdir)/lib # Sometimes, the expansion of $(LIBINTL) includes -lc which may # include modules defining variables like `optind', so libcoreutils.a # must precede $(LIBINTL) in order to ensure we use GNU getopt. # But libcoreutils.a must also follow $(LIBINTL), since libintl uses # replacement functions defined in libcoreutils.a. # TODO: is this the right place for -lpthread? LDADD = ../lib/libcoreutils.a $(LIBINTL) ../lib/libcoreutils.a -lpthread dc3dd_LDADD = $(LDADD) $(LIB_GETHRXTIME) $(LIB_FDATASYNC) all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \ done clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) dc3dd$(EXEEXT): $(dc3dd_OBJECTS) $(dc3dd_DEPENDENCIES) @rm -f dc3dd$(EXEEXT) $(LINK) $(dc3dd_OBJECTS) $(dc3dd_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dc3dd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hpa_dco.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/identify.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgio.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` hpa_dco.o: hdparm/hpa_dco.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hpa_dco.o -MD -MP -MF $(DEPDIR)/hpa_dco.Tpo -c -o hpa_dco.o `test -f 'hdparm/hpa_dco.c' || echo '$(srcdir)/'`hdparm/hpa_dco.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hpa_dco.Tpo $(DEPDIR)/hpa_dco.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hdparm/hpa_dco.c' object='hpa_dco.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hpa_dco.o `test -f 'hdparm/hpa_dco.c' || echo '$(srcdir)/'`hdparm/hpa_dco.c hpa_dco.obj: hdparm/hpa_dco.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hpa_dco.obj -MD -MP -MF $(DEPDIR)/hpa_dco.Tpo -c -o hpa_dco.obj `if test -f 'hdparm/hpa_dco.c'; then $(CYGPATH_W) 'hdparm/hpa_dco.c'; else $(CYGPATH_W) '$(srcdir)/hdparm/hpa_dco.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/hpa_dco.Tpo $(DEPDIR)/hpa_dco.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hdparm/hpa_dco.c' object='hpa_dco.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hpa_dco.obj `if test -f 'hdparm/hpa_dco.c'; then $(CYGPATH_W) 'hdparm/hpa_dco.c'; else $(CYGPATH_W) '$(srcdir)/hdparm/hpa_dco.c'; fi` identify.o: hdparm/identify.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT identify.o -MD -MP -MF $(DEPDIR)/identify.Tpo -c -o identify.o `test -f 'hdparm/identify.c' || echo '$(srcdir)/'`hdparm/identify.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/identify.Tpo $(DEPDIR)/identify.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hdparm/identify.c' object='identify.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o identify.o `test -f 'hdparm/identify.c' || echo '$(srcdir)/'`hdparm/identify.c identify.obj: hdparm/identify.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT identify.obj -MD -MP -MF $(DEPDIR)/identify.Tpo -c -o identify.obj `if test -f 'hdparm/identify.c'; then $(CYGPATH_W) 'hdparm/identify.c'; else $(CYGPATH_W) '$(srcdir)/hdparm/identify.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/identify.Tpo $(DEPDIR)/identify.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hdparm/identify.c' object='identify.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o identify.obj `if test -f 'hdparm/identify.c'; then $(CYGPATH_W) 'hdparm/identify.c'; else $(CYGPATH_W) '$(srcdir)/hdparm/identify.c'; fi` sgio.o: hdparm/sgio.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sgio.o -MD -MP -MF $(DEPDIR)/sgio.Tpo -c -o sgio.o `test -f 'hdparm/sgio.c' || echo '$(srcdir)/'`hdparm/sgio.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sgio.Tpo $(DEPDIR)/sgio.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hdparm/sgio.c' object='sgio.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sgio.o `test -f 'hdparm/sgio.c' || echo '$(srcdir)/'`hdparm/sgio.c sgio.obj: hdparm/sgio.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sgio.obj -MD -MP -MF $(DEPDIR)/sgio.Tpo -c -o sgio.obj `if test -f 'hdparm/sgio.c'; then $(CYGPATH_W) 'hdparm/sgio.c'; else $(CYGPATH_W) '$(srcdir)/hdparm/sgio.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sgio.Tpo $(DEPDIR)/sgio.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hdparm/sgio.c' object='sgio.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sgio.obj `if test -f 'hdparm/sgio.c'; then $(CYGPATH_W) 'hdparm/sgio.c'; else $(CYGPATH_W) '$(srcdir)/hdparm/sgio.c'; fi` ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-binPROGRAMS install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: dc3dd-7.1.614/src/dc3dd.c0000644000175000017500000042105511467036304014366 0ustar amedicoamedico// dc3dd -- a dd for digital forensics. // Copyright (C) 85, 90, 91, 1995-2008 Free Software Foundation, Inc. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . //------------------------- // INCLUDES //------------------------- #include // NOTE: "config.h" must be first include #include #include #include #include #include #include "system.h" #include "error.h" #include "gethrxtime.h" #include "human.h" #include "long-options.h" #include "quote.h" #include "quotearg.h" #include "xstrtol.h" #include "xtime.h" #include "md5.h" #include "sha1.h" #include "sha256.h" #include "sha512.h" #ifdef __linux__ #include #include #ifdef USE_HDPARM #include #include "hdparm/hpa_dco.h" #endif #elif defined (__APPLE__) #include #include #elif defined (__CYGWIN__) #include #include #include #endif //------------------------- // #DEFINES //------------------------- #define PROGRAM_NAME "dc3dd" #define AUTHORS \ proper_name("Paul Rubin"), \ proper_name("David MacKenzie"), \ proper_name("Stuart Kemp"), \ proper_name("Jesse Kornblum"), \ proper_name("Andrew Medico"), \ proper_name("Richard Cordovano") // Keep block size smaller than SIZE_MAX - alignment bytes, to allow // allocating buffers that size. Keep block size smaller than SSIZE_MAX, for // the benefit of system calls like read(). And keep block size smaller than // OFF_T_MAX, for the benefit of lseek(). #define MAX_BLOCKSIZE() MIN (SIZE_MAX - (2 * getpagesize() - 1), MIN (SSIZE_MAX, OFF_T_MAX)) #define STRINGIFY(s) #s #define AS_STRING(s) STRINGIFY(s) #define DC3DD_ASSERT(c) {if (!(c)) report_program_error((#c));} //------------------------- // CONSTANTS //------------------------- static const size_t DEFAULT_SECTOR_SIZE = 512; static const size_t DEFAULT_BUFFER_SIZE = 32768; static const uint8_t NUM_BUFFERS = 64; static const uint8_t NUM_HASHES = 4; static const uintmax_t INFINITE_BYTES = (uintmax_t)-1; static const uintmax_t INFINITE_SECTORS = (uintmax_t)-1; static const mode_t OUTPUT_FILE_PERMS = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH; static const int FILE_DESCRIPTOR_NOT_SET = -2; static const size_t DISPLAY_MESSAGE_LENGTH = 4096; static const long int JOB_PROGRESS_INTERVAL_MILLISECS = 100; //------------------------- // ENUMS //------------------------- enum LOGS { ALL_LOGS, JOB_LOGS, HASH_LOGS }; enum IO_STATE { PENDING, OPEN, COMPLETE, FATAL_ERROR }; enum EXIT_CODE { DC3DD_EXIT_CODE_NOT_SET = -1, DC3DD_EXIT_COMPLETED, DC3DD_EXIT_ABORTED, DC3DD_EXIT_FAILED, }; enum VERIFICATION_TYPE { NONE, STANDARD, DEVICE_PARTIAL, DEVICE_FULL }; //------------------------- // TYPEDEFS //------------------------- typedef struct _log_t { FILE *file; struct _log_t *next_log; } log_t; typedef struct _file_t { char *unparsed_name; char *name; bool part_of_set; uintmax_t number; int flags; int descriptor; intmax_t offset; bool probed; uintmax_t probed_size_in_bytes; uintmax_t probed_size_in_sectors; size_t probed_sector_size; bool is_device; bool is_block_device; uintmax_t bytes_processed; enum VERIFICATION_TYPE verification; struct _file_t *next_file; } file_t; typedef struct _settings_t { char *input_pattern_string; char *input_pattern; size_t input_pattern_length; file_t *input_file; file_t *output_files; file_t *wipe_target; size_t sector_size; const char * sector_size_source; size_t buffer_size; uintmax_t input_sectors_to_skip; uintmax_t output_sectors_to_skip; uintmax_t max_sectors_to_input; uintmax_t max_output_file_size; bool recover_errors; bool splitting_output; bool verifying_output; bool append_output; bool corrupt_output; } settings_t; typedef void hash_init_func_t(void* ctx); typedef void hash_update_func_t(const void* buf, size_t len, void* ctx); typedef void hash_finish_func_t(void* ctx, void* buf); typedef struct _hash_algorithm_t { bool active; char *name; size_t context_size; size_t sum_size; hash_init_func_t *init; hash_update_func_t *update; hash_finish_func_t *finish; } hash_algorithm_t; typedef struct _hash_t { void *context; char *sum; char *result; uintmax_t bytes_hashed; struct _hash_t *next_hash; } hash_t; typedef struct _buffer_t { char *data; size_t length; } buffer_t; typedef struct _buffer_queue_t { buffer_t *buffers; uint number_of_buffers; uint buffers_used; uint next_available_buffer; pthread_mutex_t *lock; pthread_cond_t *not_empty; pthread_cond_t *not_full; bool done_buffering; } buffer_queue_t; typedef struct _input_t { enum IO_STATE state; size_t buffer_size; buffer_t buffer; size_t sector_size; uintmax_t max_sectors_to_input; uintmax_t bytes_to_input; uintmax_t bytes_input; file_t* current_file; file_t* files; uintmax_t sectors_to_skip; uintmax_t current_sector; bool recover_errors; int current_errno; uintmax_t current_errno_count; uintmax_t current_errno_start_sector; uintmax_t bad_sectors; char* pattern_string; char* pattern; size_t pattern_length; void (*open)(struct _input_t* input); void (*produce_bytes)(struct _input_t* input); void (*close)(struct _input_t* input); } input_t; typedef struct _hash_output_t { hash_algorithm_t *algorithm; hash_t *total_hash; uintmax_t total_hash_length; hash_t *current_piece; hash_t *piecewise_hash; uintmax_t piecewise_hash_length; hash_t *device_hash; struct _hash_output_t *next; } hash_output_t; typedef struct _file_output_t { file_t* current_file; file_t* files; uintmax_t max_file_size; uintmax_t sectors_to_skip; uintmax_t bytes_output; enum VERIFICATION_TYPE verification; hash_output_t* expected_hashes; hash_output_t* actual_hashes; bool append_garbage_bytes; // For testing purposes. } file_output_t; typedef struct _output_t { enum IO_STATE state; pthread_t thread; size_t sector_size; uintmax_t buffer_size; buffer_queue_t* buffer_queue; hash_output_t *hash; file_output_t *file; void (*open)(struct _output_t* output); void (*consume_bytes)(struct _output_t* output, buffer_t* buffer); void (*close)(struct _output_t* output); struct _output_t* next_output; } output_t; typedef struct _task_t { pthread_t thread; pthread_mutex_t *signaling_lock; input_t *input; output_t *outputs; file_output_t *verification_target; bool completed; bool aborted; enum EXIT_CODE exit_code; struct _task_t *next_task; } task_t; typedef struct _job_t { pthread_t monitor_thread; task_t* tasks; long int progress_interval_in_ms; void (*report_progress)(struct _job_t* job, bool final); enum EXIT_CODE exit_code; struct _job_t* next_job; } job_t; //------------------------- // GLOBAL VARIABLES //------------------------- char *program_name = NULL; static xtime_t start_time; static log_t *job_logs = NULL; static log_t *hash_logs = NULL; static log_t *all_logs = NULL; static bool progress_displayed = false; static pthread_mutex_t signaling_lock; static pthread_cond_t *interrupted = 0; #ifdef DEFAULT_VERBOSE_REPORTING static bool verbose_reporting = true; #else static bool verbose_reporting = false; #endif #ifdef DEFAULT_COMPACT_REPORTING static bool compact_reporting = true; #else static bool compact_reporting = false; #endif #ifdef DEFAULT_BASE_TEN_BYTES_REPORTING static int progress_bytes_reporting_flag = 0; #else static int progress_bytes_reporting_flag = human_base_1024; #endif // A single lock is used for both the job_logs and the console so that the // ordering of the log messages will be the same on the console and in the // logs. static pthread_mutex_t reporting_lock; // Currently supporting MD5, SHA1, SHA256, and SHA512. static hash_algorithm_t hash_algorithms[] = { { #ifdef DEFAULT_HASH_MD5 true, #else false, #endif "md5", sizeof(struct md5_ctx), 16, (hash_init_func_t*)md5_init_ctx, (hash_update_func_t*)md5_process_bytes, (hash_finish_func_t*)md5_finish_ctx, }, { #ifdef DEFAULT_HASH_SHA1 true, #else false, #endif "sha1", sizeof(struct sha1_ctx), 20, (hash_init_func_t*)sha1_init_ctx, (hash_update_func_t*)sha1_process_bytes, (hash_finish_func_t*)sha1_finish_ctx, }, { #ifdef DEFAULT_HASH_SHA256 true, #else false, #endif "sha256", sizeof(struct sha256_ctx), 32, (hash_init_func_t*)sha256_init_ctx, (hash_update_func_t*)sha256_process_bytes, (hash_finish_func_t*)sha256_finish_ctx, }, { #ifdef DEFAULT_HASH_SHA512 true, #else false, #endif "sha512", sizeof(struct sha512_ctx), 64, (hash_init_func_t*)sha512_init_ctx, (hash_update_func_t*)sha512_process_bytes, (hash_finish_func_t*)sha512_finish_ctx, } }; //------------------------- // FUNCTIONS //------------------------- void usage(int status); static void terminate_logging() { pthread_mutex_lock(&reporting_lock); for (log_t *log = all_logs; log; log = log->next_log) { fflush(log->file); fclose(log->file); } pthread_mutex_unlock(&reporting_lock); pthread_mutex_destroy(&reporting_lock); } static void flush_logs() { fflush(stderr); for (log_t *log = all_logs; log; log = log->next_log) fflush(log->file); } static void write_to_logs(const char *message, enum LOGS target) { log_t *logs = NULL; switch (target) { case ALL_LOGS: logs = all_logs; break; case JOB_LOGS: logs = job_logs; break; case HASH_LOGS: logs = hash_logs ? hash_logs : job_logs; break; } for (log_t *log = logs; log; log = log->next_log) fputs(message, log->file); } static void report(const char *message, enum LOGS target) { pthread_mutex_lock(&reporting_lock); fputs(message, stderr); write_to_logs(message, target); pthread_mutex_unlock(&reporting_lock); } // Begin code copied (and modified) from ../lib/error.c #define __strerror_r strerror_r static void append_system_error_message(int errnum) { char const *s = NULL; // Attempt to get the current error string. #if defined HAVE_STRERROR_R || _LIBC char errbuf[DISPLAY_MESSAGE_LENGTH]; #if STRERROR_R_CHAR_P || _LIBC s = __strerror_r(errnum, errbuf, sizeof errbuf); #else if (__strerror_r(errnum, errbuf, sizeof errbuf) == 0) s = errbuf; else s = NULL; #endif #else s = strerror(errnum); #endif // Use a generic error string if the attempt to get the system error // system string failed. #if !_LIBC if (!s) s = _("system error"); #endif #if _LIBC __fxprintf(NULL, ": %s", s); #else fprintf(stderr, ": %s", s); #endif for (log_t* log = job_logs; log; log = log->next_log) fprintf(log->file, ": %s", s); } static void write_error_message(int errnum, const char *message, va_list args) { va_list arg2; va_copy(arg2, args); // Write the error message. #if _LIBC if (_IO_fwide (stderr, 0) > 0) { // Write the message using wide chars. #define ALLOCA_LIMIT 2000 size_t len = strlen(message) + 1; wchar_t *wmessage = NULL; mbstate_t st; size_t res; const char *tmp; bool use_malloc = false; while (1) { if (__libc_use_alloca(len * sizeof (wchar_t))) wmessage = (wchar_t *)alloca(len * sizeof (wchar_t)); else { if (!use_malloc) wmessage = NULL; wchar_t *p = (wchar_t *)realloc(wmessage, len * sizeof (wchar_t)); if (p == NULL) { free (wmessage); fputws_unlocked(L"out of memory\n", stderr); return; } wmessage = p; use_malloc = true; } memset(&st, '\0', sizeof (st)); tmp = message; res = mbsrtowcs(wmessage, &tmp, len, &st); if (res != len) break; if (__builtin_expect(len >= SIZE_MAX / 2, 0)) { res = (size_t)-1; break; } len *= 2; } if (res == (size_t)-1) { // The string cannot be converted. if (use_malloc) { free (wmessage); use_malloc = false; } wmessage = (wchar_t *) L"???"; } __vfwprintf(stderr, wmessage, args); for (log_t *log = job_logs; log; log = log->next_log) __vfwprintf(log->file, wmessage, arg2); if (use_malloc) free(wmessage); } else #endif { // Write the message using standard chars. vfprintf(stderr, message, args); for (log_t *log = job_logs; log; log = log->next_log) vfprintf(log->file, message, arg2); } va_end(args); ++error_message_count; if (errnum) append_system_error_message(errnum); // Finish off the error message with a newline. #if _LIBC __fxprintf(NULL, "\n"); #else putc('\n', stderr); #endif fflush(stderr); for (log_t *log = job_logs; log; log = log->next_log) { putc('\n', log->file); fflush(log->file); } } static void report_error(int status, int errnum, const char *message, ...) { pthread_mutex_lock(&reporting_lock); // Disable thread cancellation and lock stderr. #ifdef _LIBC #ifdef __libc_ptf_call int state = PTHREAD_CANCEL_ENABLE; __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state), 0); #endif _IO_flockfile (stderr); #endif // Prefix the error message with an attention grabbing character sequence. #if _LIBC __fxprintf (NULL, "%s[!!] ", progress_displayed ? "\n" : ""); #else fprintf (stderr, "%s[!!] ", progress_displayed ? "\n" : ""); #endif write_to_logs("[!!] ", JOB_LOGS); va_list args; va_start(args, message); write_error_message(errnum, message, args); // Enable thread cancellation and unlock stderr. #ifdef _LIBC _IO_funlockfile (stderr); # ifdef __libc_ptf_call __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); #endif #endif pthread_mutex_unlock(&reporting_lock); if (status) usage(status); } // End code copied (and modified) from ../lib/error.c static char* get_formatted_time_string() { // Get the current local time. time_t t = time(NULL); struct tm tm; struct tm* ret = localtime_r(&t, &tm); if (ret == NULL) report_error(DC3DD_EXIT_ABORTED, errno, "localtime() failed"); // Put it in string form. const size_t len = 32; // More than enough to hold 'YYYY-MM-DD HH:MM:SS -0000' char* time_str = (char*)malloc(len); if (strftime(time_str, len, "%F %T %z", &tm) == 0) report_error(DC3DD_EXIT_ABORTED, 0, "strftime() returned 0"); return time_str; } static void report_exit_message(int exit_code) { // Translate the exit code into a printable word. const char* verb = NULL; switch (exit_code) { case DC3DD_EXIT_COMPLETED: verb = _("completed"); break; case DC3DD_EXIT_ABORTED: verb = _("aborted"); break; case DC3DD_EXIT_FAILED: case DC3DD_EXIT_CODE_NOT_SET: default: verb = _("failed"); break; } // Write the exit message to all logs as a sort of footer for the run. char* formatted_stop_time = get_formatted_time_string(); char message[DISPLAY_MESSAGE_LENGTH]; sprintf(message, _("%s %s at %s\n\n"), PROGRAM_NAME, verb, formatted_stop_time); free(formatted_stop_time); report(message, ALL_LOGS); flush_logs(); } static void report_program_error(const char* assertion) { char internal_error[DISPLAY_MESSAGE_LENGTH]; sprintf(internal_error, _("%s: internal error %s at line %d"), program_name, assertion, __LINE__); write_to_logs(internal_error, JOB_LOGS); report_exit_message(DC3DD_EXIT_ABORTED); terminate_logging(); emit_bug_reporting_address(); exit(DC3DD_EXIT_ABORTED); } static void report_output_hashes(output_t* output) { char message[DISPLAY_MESSAGE_LENGTH]; // Report the parallel hash lists stashed in the output struct. hash_output_t *actual_hash = output->file->actual_hashes; hash_output_t *expected_hash = output->file->expected_hashes; while (actual_hash && expected_hash) { // Report the verification hash match/mismatch. sprintf(message, _(" %s %s (%s)\n"), STREQ(actual_hash->total_hash->result, expected_hash->total_hash->result) ? _("[ok]") : _("[MISMATCH]"), actual_hash->total_hash->result, actual_hash->algorithm->name); report(message, ALL_LOGS); // Report piecewise hashes, if any. if (output->file->files) { uintmax_t start_sector = 0; file_t* file = output->file->files; hash_t* actual_piece = actual_hash->piecewise_hash; hash_t* expected_piece = expected_hash->piecewise_hash; while (file && actual_piece && expected_piece) { // For a file set, report piecewise hash matches/mismatches, // indented two levels. sprintf(message, _(" %s %s, sectors %"PRIuMAX" - %"PRIuMAX", %s\n"), STREQ(actual_piece->result, expected_piece->result) ? _("[ok]") : _("[MISMATCH]"), actual_piece->result, start_sector, start_sector + actual_piece->bytes_hashed / output->sector_size - 1, quote(file->name)); report(message, HASH_LOGS); start_sector += actual_piece->bytes_hashed / output->sector_size; file = file->next_file; actual_piece = actual_piece->next_hash; expected_piece = expected_piece->next_hash; } } actual_hash = actual_hash->next; expected_hash = expected_hash->next; } if (output->file->verification == DEVICE_FULL) { hash_output_t *actual_hash = output->file->actual_hashes; hash_output_t *expected_hash = output->file->expected_hashes; // Compute the the number of bytes hashed beyond those that dc3dd wrote. uintmax_t additional_bytes = actual_hash->device_hash->bytes_hashed - actual_hash->total_hash->bytes_hashed; uintmax_t sectors = additional_bytes / output->sector_size; uintmax_t leftover_bytes = additional_bytes % output->sector_size; // Write the results of the computation as a header for the additional hashes. if (leftover_bytes == 0) sprintf(message, _(" additional %"PRIuMAX" sectors of device hashed\n"), sectors); else sprintf(message, _(" additional %"PRIuMAX" sectors + %"PRIuMAX" bytes of device hashed\n "), sectors, leftover_bytes); report(message, ALL_LOGS); while (actual_hash && expected_hash) { sprintf(message, _(" %s (device total %s)\n"), actual_hash->device_hash->result, actual_hash->algorithm->name); report(message, ALL_LOGS); actual_hash = actual_hash->next; expected_hash = expected_hash->next; } } } static void report_input_hashes(output_t* output) { char message[DISPLAY_MESSAGE_LENGTH]; // Report the verification hash. sprintf(message, _(" %s (%s)\n"), output->hash->total_hash->result, output->hash->algorithm->name); report(message, ALL_LOGS); // Report any piecewise hashes. uintmax_t start_sector = 0; for (hash_t *piece = output->hash->piecewise_hash; piece; piece = piece->next_hash) { sprintf(message, _(" %s, sectors %"PRIuMAX" - %"PRIuMAX"\n"), piece->result, start_sector, start_sector + piece->bytes_hashed / output->sector_size - 1); report(message, HASH_LOGS); start_sector += piece->bytes_hashed / output->sector_size; } } static void report_files_IO(file_t* files, size_t sector_size, bool is_input) { char message[DISPLAY_MESSAGE_LENGTH]; for (file_t *file = files; file; file = file->next_file) { uintmax_t sectors = file->bytes_processed / sector_size; uintmax_t leftover_bytes = file->bytes_processed % sector_size; if (leftover_bytes == 0) sprintf(message, _(" %"PRIuMAX" sectors %s %s\n"), sectors, is_input ? _("in from") : _("out to"), quote(file->name)); else sprintf(message, _(" %"PRIuMAX" sectors + %"PRIuMAX" bytes %s %s\n"), sectors, leftover_bytes, is_input ? _("in from") : _("out to"), quote(file->name)); report(message, JOB_LOGS); } } static void report_file_IO(file_t* file, uintmax_t bytes, size_t sector_size, bool is_input) { char message[DISPLAY_MESSAGE_LENGTH]; // Write the file name. sprintf(message, "%s results for %s %s:\n", is_input ? _("input") : _("output"), file->is_device ? _("device") : file->part_of_set ? _("files") : _("file"), quote(file->unparsed_name)); report(message, ALL_LOGS); // Write the number of the sectors read or written. uintmax_t sectors = bytes / sector_size; uintmax_t leftover_bytes = bytes % sector_size; if (leftover_bytes == 0) sprintf(message, _(" %"PRIuMAX" sectors %s\n"), sectors, is_input ? _("in") : _("out")); else sprintf(message, _(" %"PRIuMAX" sectors + %"PRIuMAX" bytes %s\n"), sectors, leftover_bytes, is_input ? _("in") : _("out")); report(message, JOB_LOGS); } static void report_file_output(output_t* output) { file_output_t *file_output = output->file; report_file_IO(file_output->current_file, file_output->bytes_output, output->sector_size, false); if (verbose_reporting) report_files_IO(file_output->files, output->sector_size, false); } static void report_input(input_t* input) { char message[DISPLAY_MESSAGE_LENGTH]; if (input->current_file) { // Report file input stats. report_file_IO(input->current_file, input->bytes_input, input->sector_size, true); if (input->current_file->is_device) { sprintf(message, _(" %"PRIuMAX" bad sectors replaced by zeros\n"), input->bad_sectors); report(message, JOB_LOGS); } if (verbose_reporting) report_files_IO(input->files, input->sector_size, true); } else { // Report pattern input stats. sprintf(message, _("input results for pattern %s:\n"), quote(input->pattern_string)); report(message, ALL_LOGS); sprintf(message, _(" %"PRIuMAX" sectors in\n"), input->bytes_input / input->sector_size); report(message, ALL_LOGS); } } static void report_results(job_t* jobs) { pthread_mutex_lock(&reporting_lock); // The first job is the imaging (or wiping) job, and there is only // one task in an imaging job. job_t* imaging_job = jobs; task_t* imaging_task = jobs->tasks; job_t* verification_job = imaging_job->next_job; // Report progress, this time setting the final flag so it // is terminated with a newline character instead of a carriage // return character and is written to the log (if present) // as well as the console. imaging_job->report_progress(imaging_job, true); if (verification_job) verification_job->report_progress(verification_job, true); if (!compact_reporting) report("\n", ALL_LOGS); // Report input stats and hashes. report_input(imaging_task->input); for (output_t* output = imaging_task->outputs; output; output = output->next_output) if (output->hash) report_input_hashes(output); if (!compact_reporting) report("\n", ALL_LOGS); // Report output stats and hashes. for (output_t* output = imaging_task->outputs; output; output = output->next_output) if (output->file) { report_file_output(output); if (output->file->verification != NONE && verification_job && verification_job->exit_code == DC3DD_EXIT_COMPLETED) { report_output_hashes(output); } if (!compact_reporting) report("\n", ALL_LOGS); } pthread_mutex_unlock(&reporting_lock); } static void report_verification_progress(job_t* job, bool final) { // Calculate percent complete using the ratio of the bytes input for all of // the tasks to the bytes to be input for all of the tasks. Synchronization // of this read-only access to the task thread data is not required since // exact calculations are not required for the progress bar. uintmax_t bytes_input = 0; uintmax_t bytes_to_input = 0; for (task_t* task = job->tasks; task; task = task->next_task) { bytes_input += task->input->bytes_input; bytes_to_input += task->input->bytes_to_input; } float percent_complete = bytes_to_input ? 100.0f * (float)bytes_input / (float)bytes_to_input : 100.0f; pthread_mutex_lock(&reporting_lock); fprintf(stderr, "%79s", "\r"); if (bytes_to_input > 0) { fprintf(stderr, _("output hashing (%2.0f%%)%s"), percent_complete, final ? "\n" : "\r"); if (final) for (log_t* log = job_logs; log; log = log->next_log) fprintf(log->file, _("output hashing (%2.0f%%)\n"), percent_complete); } else { fprintf(stderr, _("output hashing (??%%)%s"), final ? "\n" : "\r"); if (final) for (log_t *log = job_logs; log; log = log->next_log) fputs(_("output hashing (??%%)\n"), log->file); } progress_displayed = true; pthread_mutex_unlock(&reporting_lock); } static void report_imaging_progress(job_t* job, bool final) { // There is only one task in an imaging job. task_t* task = job->tasks; int human_opts = (human_autoscale | human_round_to_nearest | human_suppress_point_zero | human_space_before_unit | human_SI | progress_bytes_reporting_flag); char stats[DISPLAY_MESSAGE_LENGTH]; char hbuf[LONGEST_HUMAN_READABLE + 1]; pthread_mutex_lock(&reporting_lock); fprintf(stderr, "%79s", "\r"); sprintf(stats, _("%"PRIuMAX" bytes (%s) copied"), task->input->bytes_input, human_readable(task->input->bytes_input, hbuf, human_opts, 1, 1)); fputs(stats, stderr); if (final) write_to_logs(stats, JOB_LOGS); if (task->input->bytes_to_input != INFINITE_BYTES) { // Oddly, the %% format specifier has no effect if this is done with sprintf(). float percent_complete = 100.0f * ((float)task->input->bytes_input / (float)task->input->bytes_to_input); fprintf(stderr, " (%2.0f%%)", percent_complete); if (final) for (log_t *log = job_logs; log; log = log->next_log) fprintf(log->file, " (%2.0f%%)", percent_complete); } else { fputs(" (??%)", stderr); if (final) write_to_logs(" (??%)", JOB_LOGS); } double delta_s = 0.0; char const *bytes_per_second = NULL; xtime_t now = gethrxtime(); if (start_time < now) { double XTIME_PRECISIONe0 = XTIME_PRECISION; uintmax_t delta_xtime = now; delta_xtime -= start_time; delta_s = delta_xtime / XTIME_PRECISIONe0; bytes_per_second = human_readable(task->input->bytes_input, hbuf, human_opts, XTIME_PRECISION, delta_xtime); } else { delta_s = 0.0; bytes_per_second = _("Infinity B"); } // TRANSLATORS: The two instances of "s" in this string are the SI // symbol "s" (meaning second), and should not be translated. // // This format used to be: // // ngettext (", %g second, %s/s\n", ", %g seconds, %s/s\n", delta_s == 1) // // but that was incorrect for languages like Polish. To fix this // bug we now use SI symbols even though they're a bit more // confusing in English. fprintf (stderr, _(", %g s, %s/s %s"), delta_s, bytes_per_second, final ? "\n" : "\r"); if (final) for (log_t *log = job_logs; log; log = log->next_log) fprintf (log->file, _(", %g s, %s/s\n"), delta_s, bytes_per_second); progress_displayed = true; pthread_mutex_unlock(&reporting_lock); } static void add_to_log_list(log_t **list, log_t *new_log) { if (*list) { for (log_t *log = *list; log; log = log->next_log) if (!log->next_log) { log->next_log = new_log; break; } } else *list = new_log; } static void add_to_task_list(task_t **list, task_t *new_task) { if (*list) { for (task_t *task = *list; task; task = task->next_task) if (!task->next_task) { task->next_task = new_task; break; } } else *list = new_task; } static void add_to_output_list(output_t **list, output_t *new_output) { if (*list) { for (output_t *output = *list; output; output = output->next_output) if (!output->next_output) { output->next_output = new_output; break; } } else *list = new_output; } static void add_to_hash_output_list(hash_output_t **list, hash_output_t *new_item) { if (*list) { for (hash_output_t *item = *list; item; item = item->next) if (!item->next) { item->next= new_item; break; } } else *list = new_item; } static void add_to_file_list(file_t **list, file_t *new_file) { if (*list) { for (file_t *file = *list; file; file = file->next_file) if (!file->next_file) { file->next_file = new_file; break; } } else *list = new_file; } static void add_to_hash_list(hash_t **list, hash_t *new_hash) { if (*list) { for (hash_t *hash = *list; hash; hash = hash->next_hash) if (!hash->next_hash) { hash->next_hash = new_hash; break; } } else *list = new_hash; } static void start_thread(pthread_t* thread, void*(*thread_func)(void*), void* thread_func_args) { pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); pthread_create(thread, &attr, thread_func, thread_func_args); } static bool is_valid_file_ext_fmt(const char* pattern) { size_t pos, len = strlen(pattern); char first = tolower(pattern[0]); for (pos = 0; pos < len; ++pos) { if ((tolower(pattern[pos]) != 'a' && tolower(pattern[pos]) != '1' && tolower(pattern[pos]) != '0') || tolower(pattern[pos]) != first) { return false; } } return true; } static const char* get_file_ext(const char* filename, const char* delim) { const char* next = filename; const char* ext = NULL; while ((next = strstr(next, delim)) != NULL) { next = ext = next + 1; } return ext; } static const char* get_file_base_name(const char* filename, const char* delim) { const char* next = filename; const char* ext = NULL; while ((next = strstr(next, delim)) != NULL) { next = ext = next + 1; } if (ext == NULL) { return NULL; } size_t offset = (ext-1) - filename; char* base = xstrdup(filename); base[offset] = '\0'; return base; } static char* generate_file_name(const char* unparsed_name, uint file_number) { static char *digits = "0123456789"; static char *letters = "abcdefghijklmnopqrstuvwxyz"; const char* base_name = get_file_base_name(unparsed_name, "."); if (base_name == NULL) { return NULL; } const char* file_ext_fmt = get_file_ext(unparsed_name, "."); if (strlen(file_ext_fmt) == 0 || !is_valid_file_ext_fmt(file_ext_fmt)) { return NULL; } size_t fmt_len = strlen(file_ext_fmt); size_t base_len = strlen(base_name); size_t len = base_len + fmt_len + 2; char* file_name = (char*)malloc(len); snprintf(file_name, base_len + 2, "%s.", base_name); // In case starting with .001 uintmax_t num = file_number + (file_ext_fmt[0] == '1' ? 1 : 0); for (int i = fmt_len - 1; i >= 0 ; i--) { uintmax_t x; if ('a' == file_ext_fmt[0]) { x = num % 26; (file_name)[base_len + 1 + i] = letters[x]; num /= 26; } else { x = num % 10; (file_name)[base_len + 1 + i] = digits[x]; num /= 10; } } if (num > 0) { free(file_name); file_name = NULL; } else { (file_name)[len - 1] = 0; } return file_name; } static file_t* make_file(const char *name, int number, int flags, bool part_of_set, enum VERIFICATION_TYPE verification) { file_t *file = NULL; char *file_name = part_of_set ? generate_file_name(name, number) : strdup(name); if (file_name) { file = (file_t*)malloc(sizeof(file_t)); file->unparsed_name = strdup(name); file->name = file_name; file->part_of_set = part_of_set; file->number = number; file->flags = flags; file->descriptor = FILE_DESCRIPTOR_NOT_SET; file->offset = 0; file->probed = false; file->probed_size_in_bytes = 0; file->probed_size_in_sectors = 0; file->probed_sector_size = 0; file->is_device = false; file->is_block_device = false; file->bytes_processed = 0; file->verification = verification; file->next_file = NULL; } return file; } static void close_file_output(output_t* output) { pthread_mutex_destroy(output->buffer_queue->lock); file_output_t *file = output->file; if (file->current_file->descriptor >=0) { if (file->append_garbage_bytes) { memset(output->buffer_queue->buffers[0].data, '\0', output->buffer_size); ssize_t bytes_written = write(file->current_file->descriptor, output->buffer_queue->buffers[0].data, output->buffer_size); if (bytes_written <= 0) report_error(0, errno, _("corrupting %s"), quote(file->current_file->name)); } if (close(file->current_file->descriptor) == 0) { if (output->state != FATAL_ERROR) // If not already in an error state, the output was completed. output->state = COMPLETE; } else { report_error(0, errno, _("closing %s"), quote(file->current_file->name)); output->state = FATAL_ERROR; } } } static void open_next_output_file(output_t* output) { file_output_t *file = output->file; if (close(file->current_file->descriptor) == 0) { file->current_file->descriptor = FILE_DESCRIPTOR_NOT_SET; file_t* next_file = make_file( file->current_file->unparsed_name, file->current_file->number + 1, file->current_file->flags, true, file->current_file->verification); if (next_file) { next_file->descriptor = open(next_file->name, next_file->flags, OUTPUT_FILE_PERMS); if (next_file->descriptor >= 0) { file->current_file = next_file; add_to_file_list(&file->files, next_file); } else { report_error(0, errno, _("opening %s"), quote(next_file->name)); output->state = FATAL_ERROR; } } else { report_error(0, 0 , _("file extensions exhausted for %s"), file->current_file->unparsed_name); output->state = FATAL_ERROR; } } else { file->current_file->descriptor = FILE_DESCRIPTOR_NOT_SET; report_error(0, errno, _("closing %s"), quote(file->current_file->name)); output->state = FATAL_ERROR; } } static size_t write_bytes_to_file(output_t* output, char const *buffer, size_t bytes_to_write) { size_t total_bytes_written = 0; file_output_t *file = output->file; while (total_bytes_written < bytes_to_write) { ssize_t bytes_written = write( file->current_file->descriptor, buffer + total_bytes_written, bytes_to_write - total_bytes_written); if (bytes_written < 0) { if (errno != EINTR) { report_error(0, errno, _("writing to %s"), quote(file->current_file->name)); output->state = FATAL_ERROR; break; } } else if (bytes_written == 0) { // Some buggy drivers return 0 when one tries to write beyond // a device's end. (Example: Linux 1.2.13 on /dev/fd0.) // Set errno to ENOSPC for a sensible diagnostic. errno = ENOSPC; report_error(0, errno, _("writing to %s"), quote(file->current_file->name)); output->state = FATAL_ERROR; break; } else { total_bytes_written += (size_t)bytes_written; file->current_file->bytes_processed += (size_t)total_bytes_written; } } return total_bytes_written; } static size_t write_bytes_to_files(output_t* output, char const *buffer, size_t bytes_to_write) { size_t bytes_written = 0; file_output_t *file = output->file; intmax_t bytes_left_for_file = file->max_file_size - file->current_file->bytes_processed; if (bytes_to_write <= bytes_left_for_file) { // Write all of the bytes in the buffer to the current file. bytes_written += write_bytes_to_file(output, buffer, bytes_to_write); } else { if (bytes_left_for_file > 0) { // Write the bytes that will fit in the current file. bytes_written += write_bytes_to_file(output, buffer, bytes_left_for_file); } // Write the remaining bytes to the next file(s). open_next_output_file(output); if (output->state != FATAL_ERROR) { bytes_written += write_bytes_to_files(output, buffer + bytes_written, bytes_to_write - bytes_written); } } return bytes_written; } static void write_bytes_to_image(output_t* output, buffer_t* buffer) { if (output->file->current_file->part_of_set) output->file->bytes_output += write_bytes_to_files(output, buffer->data, buffer->length); else output->file->bytes_output += write_bytes_to_file(output, buffer->data, buffer->length); } static ssize_t read_bytes(int file_descriptor, char *buffer, size_t bytes_to_read) { for (;;) { ssize_t bytes_read; bytes_read = read(file_descriptor, buffer, bytes_to_read); if (!(bytes_read < 0 && errno == EINTR)) return bytes_read; } } static void skip_output_sectors(output_t* output) { file_output_t *file = output->file; if (file->sectors_to_skip > 0) { uintmax_t bytes_to_skip = file->sectors_to_skip * output->sector_size; if (bytes_to_skip <= OFF_T_MAX) { if (lseek(file->current_file->descriptor, bytes_to_skip, SEEK_CUR) < 0) { report_error(0, errno, _("lseek() on %s failed while skipping sectors"), quote(file->current_file->name)); output->state = FATAL_ERROR; } } else { // The desired skip is not representable as an off_t, so try // doing the skip using read() calls. char* buffer = (char*)malloc(output->buffer_size); while (bytes_to_skip) { size_t bytes_to_read = bytes_to_skip >= output->buffer_size ? output->buffer_size : bytes_to_skip; ssize_t bytes_read = read_bytes(file->current_file->descriptor, buffer, bytes_to_read); if (bytes_read > 0) { bytes_to_skip -= bytes_read; } else if (bytes_read == 0) { char message[DISPLAY_MESSAGE_LENGTH]; sprintf(message, _("encountered end of file reading %s to skip sectors"), quote(file->current_file->name)); report_error(0, 0, message); output->state = FATAL_ERROR; break; } else { report_error(0, errno, _("reading %s while skipping sectors"), quote(file->current_file->name)); output->state = FATAL_ERROR; break; } } free(buffer); } } } static void open_file_output(output_t* output) { //pthread_mutex_init(output->buffer_queue->lock, NULL); file_output_t *file = output->file; file->current_file->descriptor = open(file->current_file->name, file->current_file->flags, OUTPUT_FILE_PERMS); if (file->current_file->descriptor >= 0) { output->state = OPEN; skip_output_sectors(output); } else { report_error(0, errno,_("opening %s"), quote(file->current_file->name)); output->state = FATAL_ERROR; } } static void disconnect_from_std_out(output_t* output) { output->state = COMPLETE; pthread_mutex_destroy(output->buffer_queue->lock); } static void connect_to_std_out(output_t* output) { pthread_mutex_init(output->buffer_queue->lock, NULL); output->file->current_file->descriptor = STDOUT_FILENO; output->state = OPEN; } static void get_hash_result(hash_t* hash, size_t sum_size) { static char hex[] = "0123456789abcdef"; for (size_t p = 0; p < sum_size ; p++) { hash->result[2 * p] = hex[(hash->sum[p] >> 4) & 0xf]; hash->result[2 * p + 1] = hex[hash->sum[p] & 0xf]; } hash->result[2 * sum_size] = 0; } static void close_hash(output_t* output) { hash_output_t * hash = output->hash; // Finish the total hash. hash->algorithm->finish(hash->total_hash->context, hash->total_hash->sum); get_hash_result(hash->total_hash, hash->algorithm->sum_size); // Finish the piecewise hash. if (hash->current_piece) { hash->algorithm->finish(hash->current_piece->context, hash->current_piece->sum); get_hash_result(hash->current_piece, hash->algorithm->sum_size); } // Finish the hash of the device that received the device. if (hash->device_hash) { hash->algorithm->finish(hash->device_hash->context, hash->device_hash->sum); get_hash_result(hash->device_hash, hash->algorithm->sum_size); } pthread_mutex_destroy(output->buffer_queue->lock); output->state = COMPLETE; } static hash_t* make_hash(hash_algorithm_t* algorithm) { hash_t* hash = (hash_t*)malloc(sizeof(hash_t)); hash->context = malloc(algorithm->context_size); hash->sum = (char*)malloc(algorithm->sum_size); hash->result = (char*)malloc(2 * algorithm->sum_size + 1); hash->result[0] = 0; hash->bytes_hashed = 0; hash->next_hash = NULL; return hash; } static void piecewise_hash_bytes(output_t* output, const char* buf, size_t buf_length) { uintmax_t bytes_left_for_piece = output->hash->piecewise_hash_length - output->hash->current_piece->bytes_hashed; if (bytes_left_for_piece == 0) { output->hash->algorithm->finish(output->hash->current_piece->context, output->hash->current_piece->sum); get_hash_result(output->hash->current_piece, output->hash->algorithm->sum_size); output->hash->current_piece = make_hash(output->hash->algorithm); add_to_hash_list(&output->hash->piecewise_hash, output->hash->current_piece); output->hash->algorithm->init(output->hash->current_piece->context); bytes_left_for_piece = output->hash->piecewise_hash_length; } if (buf_length <= bytes_left_for_piece) { output->hash->algorithm->update(buf, buf_length, output->hash->current_piece->context); output->hash->current_piece->bytes_hashed += buf_length; } else { output->hash->algorithm->update(buf, bytes_left_for_piece, output->hash->current_piece->context); output->hash->current_piece->bytes_hashed += bytes_left_for_piece; piecewise_hash_bytes(output, buf + bytes_left_for_piece, buf_length - bytes_left_for_piece); } } static void hash_bytes(output_t* output, buffer_t* buffer) { hash_output_t *hash = output->hash; hash->algorithm->update(buffer->data, buffer->length, hash->total_hash->context); hash->total_hash->bytes_hashed += buffer->length; if (hash->current_piece) piecewise_hash_bytes(output, buffer->data, buffer->length); } static void hash_device_bytes(output_t* output, buffer_t* buffer) { hash_output_t *hash = output->hash; hash->algorithm->update(buffer->data, buffer->length, hash->device_hash->context); hash->device_hash->bytes_hashed += buffer->length; uintmax_t bytes_remaining = hash->total_hash_length - hash->total_hash->bytes_hashed; if (bytes_remaining > 0) { if (bytes_remaining < buffer->length) buffer->length = bytes_remaining; hash->algorithm->update(buffer->data, buffer->length, hash->total_hash->context); hash->total_hash->bytes_hashed += buffer->length; } } static void open_hash(output_t* output) { pthread_mutex_init(output->buffer_queue->lock, NULL); hash_output_t *hash = output->hash; hash->algorithm->init(output->hash->total_hash->context); if (hash->current_piece != NULL) hash->algorithm->init(hash->current_piece->context); if (hash->device_hash != NULL) hash->algorithm->init(hash->device_hash->context); output->state = OPEN; } static bool wait_for_buffer(buffer_queue_t* buffer_queue) { // This function is called by an output thread each time it // finishes consuming some input bytes furnished by an input (i.e., task) thread. uint buffers_used = 0; pthread_mutex_lock(buffer_queue->lock); if (buffer_queue->buffers_used == 0 && !buffer_queue->done_buffering) { pthread_cond_wait(buffer_queue->not_empty, buffer_queue->lock); } buffers_used = buffer_queue->buffers_used; pthread_mutex_unlock(buffer_queue->lock); return buffers_used > 0; } static void* produce_output(void* arg) { // This is the thread function for output threads. output_t* output = (output_t*)arg; size_t next_buffer = 0; while (wait_for_buffer(output->buffer_queue)) { if (output->state == OPEN) { // Output the next buffer in the buffer queue. output->consume_bytes(output, &output->buffer_queue->buffers[next_buffer]); } // Update the count of buffers in use and notify the task // thread that the buffer queue is not full. This will release // the input (i.e., task) thread if it is blocked waiting to add a // buffer of input bytes to this queue. next_buffer = (next_buffer + 1) % NUM_BUFFERS; pthread_mutex_lock(output->buffer_queue->lock); --output->buffer_queue->buffers_used; pthread_cond_signal(output->buffer_queue->not_full); pthread_mutex_unlock(output->buffer_queue->lock); } pthread_exit(NULL); } static void close_file_input(input_t* input) { if (input->current_file->descriptor >= 0) { if (close(input->current_file->descriptor) == 0) { if (input->state != FATAL_ERROR) { // If not already in an error state, the input was completed. input->state = COMPLETE; } } else { report_error(0, errno, _("closing %s"), quote(input->current_file->name)); input->state = FATAL_ERROR; } } } static void advance_input(input_t* input, uintmax_t bytes_read) { // Update the input counters. if (input->current_file) { input->current_file->offset += bytes_read; input->current_file->bytes_processed += bytes_read; input->current_sector += bytes_read / input->sector_size; } input->bytes_input += bytes_read; } static bool advance_input_after_sector_read_error(input_t* input) { advance_input(input, input->sector_size); // Get the actual offset of the file pointer. off_t offset = lseek(input->current_file->descriptor, 0, SEEK_CUR); if (offset >= 0) { if (offset != input->current_file->offset) { // Advance the actual offset to the desired offset. if (lseek(input->current_file->descriptor, input->current_file->offset - offset, SEEK_CUR) < 0) { report_error(0, errno, _("lseek() on %s failed, cannot advance input past read error"), quote(input->current_file->name)); input->state = FATAL_ERROR; } } } else { report_error(0, errno, _("lseek() on %s failed, cannot advance input past read error"), quote(input->current_file->name)); input->state = FATAL_ERROR; } return input->state != FATAL_ERROR; } static void flush_grouped_read_errors(input_t* input, bool skipping) { if (input->current_errno_count > 1) { report_error(0, input->current_errno, _("%"PRIuMAX" occurences while reading %s from sector %"PRIuMAX" to sector %"PRIuMAX" %s"), input->current_errno_count, quote(input->current_file->name), input->current_errno_start_sector, input->current_errno_start_sector + input->current_errno_count - 1, skipping ? _("while skipping sectors") : ""); } else if (input->current_errno_count == 1) { report_error(0, input->current_errno, _("reading %s at sector %"PRIuMAX" %s"), quote(input->current_file->name), input->current_errno_start_sector, skipping ? _("while skipping sectors") : ""); } input->current_errno = 0; input->current_errno_count = 0; input->current_errno_start_sector = 0; } static void report_grouped_read_error(input_t* input, uintmax_t sector_number, bool skipping) { if (input->current_errno_count > 0 && input->current_errno != errno) { flush_grouped_read_errors(input, skipping); } if (input->current_errno_count == 0) { input->current_errno_start_sector = sector_number; } input->current_errno = errno; ++input->current_errno_count; } static void report_read_error(input_t* input, size_t read_size, bool skipping) { if (read_size == input->sector_size) { report_error(0, errno, _("reading %s at sector %"PRIuMAX" %s"), quote(input->current_file->name), input->current_sector, skipping ? _("while skipping sectors") : ""); } else { report_error(0, errno, _("reading %s in sector range %"PRIuMAX"-%"PRIuMAX" %s"), quote(input->current_file->name), input->current_sector, input->current_sector + read_size / input->sector_size - 1, skipping ? _("while skipping sectors") : ""); } } static void recover_sectors(input_t* input, size_t bytes_to_read) { pthread_mutex_lock(&reporting_lock); // Clear the progress display to report the recovery effort. fprintf(stderr, "%79s", "\r"); size_t sectors_to_read = bytes_to_read / input->sector_size; size_t sectors_read = 0; while (sectors_to_read > sectors_read) { // This is a slow loop, so let the user know what's going on. fprintf(stderr, "trying to recover sector %"PRIuMAX"", input->current_sector); // Obtain a pointer into the buffer corresponding to the position of the // current sector and attempt to read into that location. char* sector_buffer = input->buffer.data + sectors_read * input->sector_size; ssize_t bytes_read = read_bytes(input->current_file->descriptor, sector_buffer, input->sector_size); fprintf(stderr, "%79s", "\r"); if (bytes_read > 0) { flush_grouped_read_errors(input, false); if ((size_t)bytes_read == input->sector_size) { // The sector was read. advance_input(input, input->sector_size); ++sectors_read; } else { // Either more or fewer bytes than a sector was read. report_error(0, 0, _("reading %s, unexpected read size of %zd at sector %"PRIuMAX""), quote(input->current_file->name), bytes_read, input->current_sector); input->state = FATAL_ERROR; break; } } else if (bytes_read == 0 || errno == ENOSPC) { // End of device. flush_grouped_read_errors(input, false); input->state = COMPLETE; break; } else { // Cannot read the sector. Write zeros into the buffer in place of the bad sector. memset(sector_buffer, '\0', input->sector_size); ++sectors_read; ++input->bad_sectors; report_grouped_read_error(input, input->current_sector, false); if (!advance_input_after_sector_read_error(input)) { flush_grouped_read_errors(input, false); break; } } } input->buffer.length = sectors_read * input->sector_size; pthread_mutex_unlock(&reporting_lock); } static size_t calculate_bytes_to_read(input_t* input) { uintmax_t bytes_remaining = input->bytes_to_input - input->bytes_input; return bytes_remaining >= input->buffer_size ? input->buffer_size : bytes_remaining; } static void read_bytes_from_device(input_t* input) { memset(input->buffer.data, '\0', input->buffer_size); input->buffer.length = 0; size_t bytes_to_read = calculate_bytes_to_read(input); if (bytes_to_read > 0) { ssize_t bytes_read = read_bytes(input->current_file->descriptor, input->buffer.data, bytes_to_read); if (bytes_read > 0) { // The read was successful. input->buffer.length = (size_t)bytes_read; flush_grouped_read_errors(input, false); advance_input(input, (size_t)bytes_read); } else if (bytes_read == 0 || (errno == ENOSPC && bytes_to_read == input->sector_size)) { // The read was an attempt to read past the end of the device. If // doing sector-size reads, this is not an error, just the end of the device. flush_grouped_read_errors(input, false); input->state = COMPLETE; } else { if (input->recover_errors) { recover_sectors(input, bytes_to_read); } else { report_read_error(input, bytes_to_read, false); input->state = FATAL_ERROR; } } } } static void read_bytes_from_file(input_t* input) { memset(input->buffer.data, '\0', input->buffer_size); input->buffer.length = 0; size_t bytes_to_read = calculate_bytes_to_read(input); if (bytes_to_read > 0) { ssize_t bytes_read = read_bytes(input->current_file->descriptor, input->buffer.data, bytes_to_read); if (bytes_read > 0) { input->buffer.length = (size_t)bytes_read; advance_input(input, bytes_read); } else if (bytes_read == 0) { input->state = COMPLETE; } else if (bytes_read < 0) { report_read_error(input, bytes_to_read, false); input->state = FATAL_ERROR; } } } static void open_next_input_file(input_t* input) { if (close(input->current_file->descriptor) == 0) { input->current_file->descriptor = FILE_DESCRIPTOR_NOT_SET; file_t* next_file = make_file( input->current_file->unparsed_name, input->current_file->number + 1, input->current_file->flags, true, input->current_file->verification); if (next_file) { next_file->descriptor = open(next_file->name, next_file->flags, 0); if (next_file->descriptor >= 0) { // There is another file in the set. input->current_file = next_file; add_to_file_list(&input->files, next_file); input->state = OPEN; } } } else { input->current_file->descriptor = FILE_DESCRIPTOR_NOT_SET; report_error(0, errno, _("closing %s"), quote(input->current_file->name)); input->state = FATAL_ERROR; } } static void read_bytes_from_files(input_t* input) { read_bytes_from_file(input); if (input->state == COMPLETE) { open_next_input_file(input); } } static void skip_device_input_sectors(input_t* input) { pthread_mutex_lock(&reporting_lock); // Skip a sector at a time to allow for error recovery. uintmax_t sectors_to_skip = input->sectors_to_skip; do { // This is a slow loop, so let the user know what's going on. fprintf(stderr, "trying to skip sector %"PRIuMAX"", input->current_sector); ssize_t bytes_read = read_bytes(input->current_file->descriptor, input->buffer.data, input->sector_size); fprintf(stderr, "%79s", "\r"); if (bytes_read > 0) { // Sucessfully skipped the sector. if (input->recover_errors) { flush_grouped_read_errors(input, true); } advance_input(input, bytes_read); // Correct bytes input, since bytes skipped, not input input->bytes_input -= input->sector_size; input->current_file->bytes_processed -= input->sector_size; } else if (bytes_read == 0 || errno == ENOSPC) { // End of device. if (input->recover_errors) { flush_grouped_read_errors(input, true); } char message[DISPLAY_MESSAGE_LENGTH]; sprintf(message, _("encountered end of device reading %s to skip sectors"), quote(input->current_file->name)); report_error(0, 0, message); input->state = FATAL_ERROR; break; } else { // Hit a bad sector. if (input->recover_errors) { // Try to jump past the bad sector. report_grouped_read_error(input, input->current_sector, true); if (!advance_input_after_sector_read_error(input)) { flush_grouped_read_errors(input, true); break; } else { // Correct bytes input, since bytes skipped, not input input->bytes_input -= input->sector_size; input->current_file->bytes_processed -= input->sector_size; } } else { report_read_error(input, input->sector_size, true); input->state = FATAL_ERROR; break; } } } while (--sectors_to_skip); pthread_mutex_unlock(&reporting_lock); } static void skip_file_input_sectors(input_t* input) { uintmax_t bytes_to_skip = input->sectors_to_skip * input->sector_size; while (bytes_to_skip) { size_t bytes_to_read = bytes_to_skip >= input->buffer_size ? input->buffer_size : bytes_to_skip; ssize_t bytes_read = read_bytes(input->current_file->descriptor, input->buffer.data, bytes_to_read); if (bytes_read > 0) { advance_input(input, bytes_read); // Correct bytes input, since bytes skipped, not input input->bytes_input -= bytes_read; input->current_file->bytes_processed -= bytes_read; bytes_to_skip -= bytes_read; } else if (bytes_read == 0) { char message[DISPLAY_MESSAGE_LENGTH]; sprintf(message, _("encountered end of file reading %s to skip sectors"), quote(input->current_file->name)); report_error(0, 0, message); input->state = FATAL_ERROR; break; } else { report_read_error(input, input->sector_size, true); input->state = FATAL_ERROR; break; } } } static void skip_input_sectors(input_t* input) { if (input->sectors_to_skip > 0) { // Attempt to perform the skip with lseek(). If the skip is // too large or the lseek() call fails, resort to using read() // for the skip. uintmax_t bytes_to_skip = input->sectors_to_skip * input->sector_size; if (bytes_to_skip <= OFF_T_MAX && lseek(input->current_file->descriptor, bytes_to_skip, SEEK_CUR) >= 0) { advance_input(input, bytes_to_skip); // Correct bytes input, since bytes skipped, not input input->bytes_input -= bytes_to_skip; input->current_file->bytes_processed -= bytes_to_skip; } else { if (input->current_file->is_device) skip_device_input_sectors(input); else skip_file_input_sectors(input); } } } // Begin code copied (and modified) from md5deep helpers.c #ifdef __linux__ static void get_file_stats(file_t* file) { file->probed = false; file->is_device = false; file->is_block_device = false; file->probed_sector_size = 0; file->probed_size_in_sectors= 0; file->probed_size_in_bytes = 0; struct stat file_info; if (fstat(file->descriptor, &file_info) == 0) { if (S_ISCHR(file_info.st_mode) || S_ISBLK(file_info.st_mode)) { // The file is a character device or a block device. It is necessary to // use ioctl to query the OS to get the data to compute the size of the // device. file->is_device = true; file->is_block_device = S_ISBLK(file_info.st_mode); uintmax_t size_in_sectors = 0; uintmax_t sector_size = 0; if (ioctl(file->descriptor, BLKGETSIZE, &size_in_sectors) == 0 && ioctl(file->descriptor, BLKSSZGET, §or_size) == 0) { file->probed_sector_size = sector_size; if (sector_size == 512) { file->probed_size_in_sectors = size_in_sectors; } else { // ioctl() reports device size in terms of 512 byte sectors, // regardless of actual sector size. file->probed_size_in_sectors = size_in_sectors * 512 / sector_size; } file->probed_size_in_bytes = file->probed_size_in_sectors * file->probed_sector_size; file->probed = true; } } else if (S_ISREG(file_info.st_mode)) { // The file is a file (an image), so fstat returns a valid file size. file->probed_size_in_bytes = file_info.st_size; file->probed = true; } } } #elif defined (__APPLE__) static void get_file_stats(file_t* file) { file->probed = false; file->is_device = false; file->is_block_device = false; file->probed_sector_size = 0; file->probed_size_in_sectors= 0; file->probed_size_in_bytes = 0; struct stat file_info; if (fstat(file->descriptor, &file_info) == 0) { if (file_info.st_mode & S_IFBLK) { // The file is a character device or a block device. It is necessary to // use ioctl to query the OS to get the data to compute the size of the // device. file->is_device = true; file->is_block_device = true; uint32_t sector_size = 0; uint64_t size_in_sectors = 0; if (ioctl(file->descriptor, DKIOCGETBLOCKSIZE, §or_size) >= 0 && ioctl(file->descriptor, DKIOCGETBLOCKCOUNT, &size_in_sectors) >= 0) { file->probed_size_in_sectors = (uintmax_t)size_in_sectors; file->probed_sector_size = (uintmax_t)sector_size; file->probed_size_in_bytes = file->probed_size_in_sectors * file->probed_sector_size; file->probed = true; } } else { // The file is a file (an image). off_t start_of_file = lseek(file->descriptor, 0 , SEEK_CUR); off_t end_of_file = lseek(file->descriptor, 0, SEEK_END); if (lseek(file->descriptor, start_of_file, SEEK_SET) == 0) { file->probed_size_in_bytes = end_of_file - start_of_file; file->probed = true; } } } } #elif defined (__CYGWIN__) static void get_file_stats(file_t* file) { file->probed = false; file->is_device = false; file->is_block_device = false; file->probed_sector_size = 0; file->probed_size_in_sectors= 0; file->probed_size_in_bytes = 0; struct stat file_info; if (fstat(file->descriptor, &file_info) == 0) { if (S_ISCHR(file_info.st_mode) || S_ISBLK(file_info.st_mode)) { // The file is a character device or a block device. It is necessary to // use ioctl to query the OS to get the data to compute the size of the // device. file->is_device = true; file->is_block_device = S_ISBLK(file_info.st_mode); // Use temp variables to guarantee file->size_in_sectors and file->sector_size // are unchanged if the ioctl calls fail. uintmax_t size_in_sectors = 0; uintmax_t sector_size = 0; if (ioctl(file->descriptor, BLKGETSIZE, &size_in_sectors) == 0 && ioctl(file->descriptor, BLKSSZGET, §or_size) == 0) { file->probed_size_in_sectors = size_in_sectors; file->probed_sector_size = sector_size; file->probed_size_in_bytes = file->probed_size_in_sectors * file->probed_sector_size; file->probed = true; } } else if (S_ISREG(file_info.st_mode)) { // The file is a file (an image), so fstat returns a valid file size. file->probed_size_in_bytes = file_info.st_size; file->probed = true; } } } #endif // ifdef __LINUX__ // End code copied (and modified) from md5deep helpers.c static bool probe_file(file_t* file) { if (!file->probed) { get_file_stats(file); if (file->probed && file->part_of_set) { // Generate the set of potential file names and attempt to // open the set of files. Stop when file extensions are exhausted // or the next file does not exist. Note that there is an assumption // here that the set of files was generated by this program, so // exhaustion of file extensions should not be an issue. file_t next_file; next_file.number = file->number; next_file.probed = false; next_file.probed_size_in_bytes = 0; next_file.probed_sector_size = 0; next_file.name = generate_file_name(file->unparsed_name, ++next_file.number); while (next_file.name) { next_file.descriptor = open(next_file.name, O_RDONLY, 0); if (next_file.descriptor >= 0) { // This is another file in the set, get its size. get_file_stats(&next_file); if (next_file.probed) file->probed_size_in_bytes += next_file.probed_size_in_bytes; else { report_error(0, 0, _("probe of %s failed"), quote(next_file.name)); file->probed = false; } if (close(next_file.descriptor) != 0) { report_error(0, errno, _("closing %s after size probe"), quote(next_file.name)); file->probed = false; } free(next_file.name); if (!file->probed) break; } else { // The next file does not exist, which is not an error (see comment above). free(next_file.name); break; } next_file.name = generate_file_name(file->unparsed_name, ++next_file.number); } } } return file->probed; } static void open_file_input(input_t* input) { input->current_file->descriptor = open(input->current_file->name, input->current_file->flags, 0); if (input->current_file->descriptor >= 0) { if (probe_file(input->current_file)) { input->state = OPEN; // If bytes to input is not pre-determined, calculate bytes to input // from input size. if (input->bytes_to_input == 0) { input->bytes_to_input = input->current_file->probed_size_in_bytes; if (input->max_sectors_to_input != INFINITE_SECTORS) { uintmax_t max_bytes_to_input = input->max_sectors_to_input * input->sector_size; if (max_bytes_to_input < input->bytes_to_input) input->bytes_to_input = max_bytes_to_input; } } skip_input_sectors(input); } else { report_error(0, errno, _("probing %s for bytes to input"), quote(input->current_file->name)); input->state = FATAL_ERROR; } } else { report_error(0, errno, _("opening %s"), quote(input->current_file->name)); input->state = FATAL_ERROR; } } static void disconnect_from_std_in(input_t* input) { input->state = COMPLETE; input->current_file->descriptor = FILE_DESCRIPTOR_NOT_SET; } static void connect_to_std_in(input_t* input) { input->current_file->descriptor = STDIN_FILENO; input->bytes_to_input = INFINITE_BYTES; input->state = OPEN; } static void close_pattern_input(input_t* input) { input->state = COMPLETE; } static void read_bytes_from_pattern(input_t* input) { // The pattern is already loaded into the buffer, so only bookkeeping is required. size_t bytes_read = calculate_bytes_to_read(input); input->buffer.length = bytes_read; advance_input(input, bytes_read); } static void open_pattern_input(input_t* input) { // Load the pattern into the input buffer. for (uintmax_t i = 0; i < input->buffer_size; ++i) { input->buffer.data[i] = input->pattern[i % input->pattern_length]; } input->buffer.length = input->buffer_size; input->bytes_to_input = input->sector_size * input->max_sectors_to_input; input->state = OPEN; } static void set_exit_code(task_t* task) { pthread_mutex_lock(task->signaling_lock); task->completed = true; if (task->aborted) { task->exit_code = DC3DD_EXIT_ABORTED; } if (task->exit_code != DC3DD_EXIT_ABORTED) { task->exit_code = DC3DD_EXIT_COMPLETED; if (task->input->state != COMPLETE) { task->exit_code = DC3DD_EXIT_FAILED; } else { output_t* output = task->outputs; while (output) { if (output->state != COMPLETE) { task->exit_code = DC3DD_EXIT_FAILED; break; } output = output->next_output; } } } pthread_mutex_unlock(task->signaling_lock); } static void close_IO(task_t* task) { task->input->close(task->input); output_t* output = task->outputs; while (output) { output->close(output); output = output->next_output; } } static void wait_for_output_threads(task_t* task) { output_t* output = task->outputs; while (output) { // Set the done buffering flag on the output buffer queue and // signal not empty to release the output thread, since it may be // blocked waiting for the next buffer to be copied into the // output buffer queue. pthread_mutex_lock(output->buffer_queue->lock); output->buffer_queue->done_buffering = true; pthread_cond_signal(output->buffer_queue->not_empty); pthread_mutex_unlock(output->buffer_queue->lock); pthread_join(output->thread, NULL); output = output->next_output; } } static void produce_bytes(task_t* task) { // Produce an input buffer and copy it to each output buffer queue. input_t *input = task->input; input->produce_bytes(input); if (input->buffer.length > 0) { for (output_t *output = task->outputs; output; output = output->next_output) { // Wait for an empty buffer in the buffer queue for this // output. buffer_queue_t *buffer_queue = output->buffer_queue; pthread_mutex_lock(buffer_queue->lock); if (buffer_queue->buffers_used == buffer_queue->number_of_buffers) pthread_cond_wait(buffer_queue->not_full, buffer_queue->lock); pthread_mutex_unlock(buffer_queue->lock); // Copy the input buffer into the buffer queue. memcpy(buffer_queue->buffers[buffer_queue->next_available_buffer].data, input->buffer.data, input->buffer.length); buffer_queue->buffers[buffer_queue->next_available_buffer].length = input->buffer.length; // Notify the output thread that another buffer is available. // This will release the output thread if it is blocked waiting // for bytes to output. pthread_mutex_lock(buffer_queue->lock); buffer_queue->next_available_buffer = (buffer_queue->next_available_buffer + 1) % buffer_queue->number_of_buffers; ++buffer_queue->buffers_used; pthread_cond_signal(buffer_queue->not_empty); pthread_mutex_unlock(buffer_queue->lock); } } } static bool is_task_completed(task_t* task) { pthread_mutex_lock(task->signaling_lock); // Check for task killed. task->completed = task->aborted; // Check for bytes to input reached. if (!task->completed && task->input->bytes_to_input != INFINITE_BYTES) { task->completed = task->input->bytes_to_input - task->input->bytes_input <= 0; } // Check for input completed or in an error state. if (!task->completed) { task->completed = task->input->state == COMPLETE || task->input->state == FATAL_ERROR; } // Check for an output in an error state. if (!task->completed) { output_t* output = task->outputs; while (output) { if (output->state == FATAL_ERROR) { task->completed = true; break; } output = output->next_output; } } pthread_mutex_unlock(task->signaling_lock); return task->completed; } static void start_output_threads(task_t* task) { output_t* output = task->outputs; while (output) { start_thread(&output->thread, produce_output, output); output = output->next_output; } usleep(10*1000); } static bool open_IO(task_t* task) { task->input->open(task->input); if (task->input->state == OPEN) { output_t* output = task->outputs; while (output) { output->open(output); if (output->state != OPEN) { close_IO(task); return false; } output = output->next_output; } } else { return false; } return true; } static void* execute_task(void* arg) { task_t* task = (task_t*)arg; if (task->verification_target) { if (task->verification_target->verification == DEVICE_PARTIAL) // If this task is a verification of only the bytes dc3dd wrote to a // device, limit the size of the input to the number of bytes written // to the verification target during imaging. task->input->bytes_to_input = task->verification_target->bytes_output; if (task->verification_target->verification == DEVICE_FULL) // If this task is a verification of both the bytes dc3dd wrote to a // device and the entire device, limit the total hash(es) to the number of // bytes written to the verification target during imaging. for (output_t *output = task->outputs; output; output = output->next_output) { if (output->hash) output->hash->total_hash_length = task->verification_target->bytes_output; } } if (open_IO(task)) { start_output_threads(task); while (!is_task_completed(task)) produce_bytes(task); wait_for_output_threads(task); close_IO(task); } set_exit_code(task); pthread_exit(NULL); } static void abort_job(job_t *job) { for (task_t *task = job->tasks; task; task = task->next_task) { pthread_mutex_lock(task->signaling_lock); task->aborted = true; pthread_mutex_unlock(task->signaling_lock); } } static bool job_is_active(job_t* job) { bool is_active = false; for (task_t *task = job->tasks; task; task = task->next_task) { pthread_mutex_lock(task->signaling_lock); is_active = !task->completed && !task->aborted; pthread_mutex_unlock(task->signaling_lock); if (is_active) break; } return is_active; } static void* monitor_job(void *arg) { // This is the thread function for a job monitoring thread. // The thread detects when the job is completed and emits progress reports. job_t* job = (job_t*)arg; struct timeval time_now; struct timespec next_progress_check_time; while (true) { // Compute the absolute time of next job progress check. gettimeofday(&time_now, NULL); next_progress_check_time.tv_sec = time_now.tv_sec + job->progress_interval_in_ms / 1000; next_progress_check_time.tv_nsec = time_now.tv_usec * 1000 + (job->progress_interval_in_ms % 1000) * 1000000; if (next_progress_check_time.tv_nsec >= 1000000000) { next_progress_check_time.tv_nsec -= 1000000000; ++next_progress_check_time.tv_sec; } // Wait until either the signal handling thread receives an interrupt or // it's time for another progress check and report. pthread_mutex_lock(&signaling_lock); if (pthread_cond_timedwait(interrupted, &signaling_lock, &next_progress_check_time) == ETIMEDOUT) { pthread_mutex_unlock(&signaling_lock); job->report_progress(job, false); if (!job_is_active(job)) { break; } } else { abort_job(job); break; } } pthread_exit(NULL); } static void* await_interrupt_signal(void* arg) { // This is the thread function for a thread that merely waits for an // interrupt signal. arg = arg; // Avoid a warning from the compiler when compiling with -Wextra, -Wall flags. // Wait for an interrupt signal. int sig = 0; sigset_t set; sigemptyset(&set); sigaddset(&set, SIGINT); sigwait(&set, &sig); pthread_mutex_lock(&signaling_lock); pthread_cond_signal(interrupted); pthread_mutex_unlock(&signaling_lock); pthread_exit(NULL); } static int execute_job(job_t* job) { // Start a thread for each task in the job, plus a progress // monitoring thread. task_t* task = job->tasks; while (task) { pthread_mutex_init(task->signaling_lock, NULL); start_thread(&task->thread, execute_task, task); task = task->next_task; } start_thread(&job->monitor_thread, monitor_job, job); // Now the main thread blocks until the monitoring and // task threads finish. pthread_join(job->monitor_thread, NULL); task = job->tasks; while (task) { pthread_join(task->thread, NULL); pthread_mutex_destroy(task->signaling_lock); task = task->next_task; } // Assign an exit code by rolling up the task results. job->exit_code = DC3DD_EXIT_COMPLETED; task = job->tasks; while (task) { if (task->exit_code != DC3DD_EXIT_COMPLETED) { job->exit_code = task->exit_code; break; } task = task->next_task; } return job->exit_code; } static int execute_jobs(job_t* jobs) { // Block interrupt (SIGINT) signals so that threads created after this point, // INCLUDING the interrupt signal handling thread, will also have interrupt signals blocked. // The signal handling thread will get signals from the sigwait() function, // instead of directly from the operating system. sigset_t set; sigemptyset(&set); sigaddset(&set, SIGINT); pthread_sigmask(SIG_BLOCK, &set, 0); // Set up synchronization for signal handling and kick off the signal handling thread. pthread_mutex_init(&signaling_lock, NULL); interrupted = (pthread_cond_t*)malloc(sizeof(pthread_cond_t)); pthread_cond_init(interrupted, NULL); pthread_t signal_handling_thread; start_thread(&signal_handling_thread, await_interrupt_signal, NULL); int exit_code = DC3DD_EXIT_CODE_NOT_SET; job_t* job = jobs; while (job) { exit_code = execute_job(job); if (exit_code != DC3DD_EXIT_COMPLETED) { break; } job = job->next_job; } // Shut down the signal handling thread and tear down synchronization. pthread_cancel(signal_handling_thread); pthread_mutex_destroy(&signaling_lock); return exit_code; } static job_t* make_job(task_t* tasks, void (*report_progress)(job_t*, bool)) { job_t* job = (job_t*)malloc(sizeof(job_t)); job->tasks = tasks; job->progress_interval_in_ms = JOB_PROGRESS_INTERVAL_MILLISECS; job->report_progress = report_progress; job->exit_code = DC3DD_EXIT_CODE_NOT_SET; job->next_job = NULL; return job; } static task_t* make_task(input_t *input, output_t *outputs, file_output_t *verification_target) { task_t *task = (task_t*)malloc(sizeof(task_t)); task->signaling_lock = (pthread_mutex_t*)malloc(sizeof(pthread_mutex_t)); task->input = input; task->outputs = outputs; task->verification_target = verification_target; task->completed = false; task->aborted = false; task->exit_code = DC3DD_EXIT_CODE_NOT_SET; task->next_task = NULL; return task; } static buffer_queue_t* make_buffer_queue(size_t size_in_bytes, size_t number_of_buffers) { buffer_queue_t* buffer_queue = (buffer_queue_t*)malloc(sizeof(buffer_queue_t)); buffer_queue->buffers = (buffer_t*)malloc(number_of_buffers * sizeof(buffer_t)); for (size_t i = 0; i < number_of_buffers; ++i) { buffer_queue->buffers[i].length = 0; buffer_queue->buffers[i].data = (char*)malloc(size_in_bytes * sizeof(char)); } buffer_queue->number_of_buffers = number_of_buffers; buffer_queue->buffers_used = 0; buffer_queue->next_available_buffer = 0; buffer_queue->lock = (pthread_mutex_t*)malloc(sizeof(pthread_mutex_t)); pthread_mutex_init(buffer_queue->lock, NULL); buffer_queue->not_empty = (pthread_cond_t*)malloc(sizeof(pthread_cond_t)); pthread_cond_init(buffer_queue->not_empty, NULL); buffer_queue->not_full = (pthread_cond_t*)malloc(sizeof(pthread_cond_t)); pthread_cond_init(buffer_queue->not_full, NULL); buffer_queue->done_buffering = false; return buffer_queue; } static output_t* make_output(settings_t* settings) { output_t* output = (output_t*)malloc(sizeof(output_t)); output->state = PENDING; output->sector_size = settings->sector_size; output->buffer_size = settings->buffer_size; output->buffer_queue = make_buffer_queue(output->buffer_size, NUM_BUFFERS); output->hash = NULL; output->file = NULL; output->open = NULL; output->consume_bytes = NULL; output->close = NULL; output->next_output = NULL; return output; } static output_t* make_file_output(settings_t* settings, file_t* file, hash_output_t* expected_hashes) { if (settings->append_output || settings->output_sectors_to_skip) file->flags |= O_APPEND; else file->flags |= (O_CREAT | O_TRUNC); // Construct the "base part." output_t* output = make_output(settings); // Select the open, consume bytes, and close functions based on file type. output->consume_bytes = write_bytes_to_image; if (STREQ(file->name, "stdout")) { output->open = connect_to_std_out; output->close = disconnect_from_std_out; } else { output->open = open_file_output; output->close = close_file_output; } // Construct the "derived part." output->file = (file_output_t*)malloc(sizeof(file_output_t)); output->file->current_file = file; output->file->files = file->part_of_set ? file : NULL; output->file->max_file_size = settings->max_output_file_size; output->file->sectors_to_skip = settings->output_sectors_to_skip; output->file->bytes_output = 0; output->file->verification = file->verification; output->file->append_garbage_bytes = settings->corrupt_output; output->file->expected_hashes = expected_hashes; output->file->actual_hashes = NULL; return output; } static output_t* make_hash_output(settings_t *settings, hash_algorithm_t *algorithm, enum VERIFICATION_TYPE verification) { output_t* output = make_output(settings); output->hash = (hash_output_t*)malloc(sizeof(hash_output_t)); output->hash->algorithm = algorithm; output->hash->total_hash = make_hash(algorithm); output->hash->total_hash_length = INFINITE_BYTES; output->hash->current_piece = NULL; output->hash->piecewise_hash = NULL; output->hash->piecewise_hash_length = 0; output->hash->device_hash = verification == DEVICE_FULL ? make_hash(algorithm) : NULL; output->hash->next = NULL; output->open = open_hash; output->consume_bytes = verification == DEVICE_FULL ? hash_device_bytes : hash_bytes; output->close = close_hash; if (settings->splitting_output && settings->verifying_output) { output->hash->current_piece = make_hash(algorithm); output->hash->piecewise_hash = output->hash->current_piece; output->hash->piecewise_hash_length = settings->max_output_file_size; } return output; } static output_t* make_hash_outputs(settings_t *settings, enum VERIFICATION_TYPE verification) { output_t *hash_outputs = NULL; for (uint8_t i = 0 ; i < NUM_HASHES ; ++i) { if (hash_algorithms[i].active) { add_to_output_list(&hash_outputs, make_hash_output(settings, &hash_algorithms[i], verification)); } } return hash_outputs; } static void make_hash_outputs_list(output_t *outputs, hash_output_t **hash_outputs) { for (output_t *output = outputs; output; output = output->next_output) { if (output->hash) add_to_hash_output_list(hash_outputs, output->hash); } } static input_t* make_input(settings_t* settings) { input_t* input = (input_t*)malloc(sizeof(input_t)); input->state = PENDING; input->sector_size = settings->sector_size; input->max_sectors_to_input = settings->max_sectors_to_input; input->bytes_to_input = 0; input->bytes_input = 0; input->current_file = NULL; input->files = NULL; input->sectors_to_skip = settings->input_sectors_to_skip; input->current_sector = 0; input->recover_errors = settings->recover_errors; input->current_errno = 0; input->current_errno_count = 0; input->current_errno_start_sector = 0; input->bad_sectors = 0; input->pattern_string = NULL; input->pattern = NULL; input->pattern_length = 0; input->current_file = NULL; input->files = NULL; // The input buffer needs to be aligned if doing direct I/O // There is no harm in aligning it in either case. input->buffer_size = settings->buffer_size; input->buffer.data = (char*)malloc((input->buffer_size) + 2 * getpagesize() - 1); input->buffer.data = (char*)ptr_align(input->buffer.data, getpagesize()); input->buffer.length = 0; // Select the open, produce_bytes, and close functions based on input type. if (settings->input_file) { input->current_file = settings->input_file; if (input->current_file->part_of_set) input->files = input->current_file; if (STREQ(input->current_file->name, "stdin")) { input->open = connect_to_std_in; input->produce_bytes = read_bytes_from_file; input->close = disconnect_from_std_in; } else { input->open = open_file_input; // This ASSUMES that probe_file() was called on settings->input_file // before calling this function. if (input->current_file->is_device) { if (input->recover_errors) input->current_file->flags |= O_DIRECT; input->produce_bytes = read_bytes_from_device; } else if (input->current_file->part_of_set) input->produce_bytes = read_bytes_from_files; else input->produce_bytes = read_bytes_from_file; input->close = close_file_input; } } else { input->pattern_string = strdup(settings->input_pattern_string); input->pattern = strdup(settings->input_pattern); input->pattern_length = settings->input_pattern_length; input->open = open_pattern_input; input->produce_bytes = read_bytes_from_pattern; input->close = close_pattern_input; } return input; } static void add_verification_job(job_t* job, settings_t* settings) { // An imaging job consists of a single task. task_t* imaging_task = job->tasks; // Make a verification task for each output to be verified. task_t* verification_tasks = NULL; for (output_t* output = imaging_task->outputs; output; output = output->next_output) { if (output->file && output->file->verification != NONE) { // Make an input file corresponding to the output file // and swap it into the already initialized and validated settings. settings->input_file = make_file(output->file->current_file->unparsed_name, 0, O_RDONLY, output->file->current_file->part_of_set, output->file->verification); input_t* input = make_input(settings); // If output sectors were skipped, those sectors need to be skipped // for verification, too. if (output->file->sectors_to_skip > 0) input->sectors_to_skip = output->file->sectors_to_skip; // Prepare the output hashes and cache a pointer to the list // for later comparision with the list of input hashes cached // in the output when the imaging job was created. output_t *output_hashes = make_hash_outputs(settings, output->file->verification); make_hash_outputs_list(output_hashes, &output->file->actual_hashes); task_t* verification_task = make_task(input, output_hashes, output->file); add_to_task_list(&verification_tasks, verification_task); } } job->next_job = make_job(verification_tasks, report_verification_progress); } static job_t* make_imaging_job(settings_t* settings) { input_t* input = make_input(settings); output_t* input_hashes = make_hash_outputs(settings, NONE); hash_output_t* expected_hashes = NULL; make_hash_outputs_list(input_hashes, &expected_hashes); // Make the file outputs. output_t* outputs = NULL; if (settings->wipe_target) { add_to_output_list(&outputs, make_file_output(settings, settings->wipe_target, expected_hashes)); } else { file_t* file = settings->output_files; while (file) { output_t* output = make_file_output(settings, file, expected_hashes); add_to_output_list(&outputs, output); file = file->next_file; // Unlink the file for tidiness, and so that the next_file pointer // can be used to make a list of files (if splitting the output). output->file->current_file->next_file = NULL; } } // Append the hash outputs for the input hashes to the file outputs. add_to_output_list(&outputs, input_hashes); task_t* task = make_task(input, outputs, NULL); return make_job(task, report_imaging_progress); } static job_t* make_jobs(settings_t* settings) { job_t* job = make_imaging_job(settings); if (settings->verifying_output) { add_verification_job(job, settings); } return job; } #if USE_HDPARM #ifdef __linux__ static void check_device_for_hpa_dco(file_t* device) { if (device->type == DEVICE) { device->descriptor = open(device->name, O_RDONLY, device->perms); if (device->descriptor >= 0) { report(_("checking for HPA/DCO: "), JOB_LOGS); int err = 0; __u16 *id = (void *)-1; __u16 *dci = (void *)-1; dci = get_dci_data(fd, dci); __u64 maximum_lba = 0; if (dci) { maximum_lba = get_dci_maximum_lba(dci); } __u64 visible, native; id = get_identify_data(fd, id); if (id) { visible = get_lba_capacity(id); native = do_get_native_max_sectors_to_input(fd, id); if (!native) { err = errno; } } if (!dci || !id || !native) { report(_("device doesn't support ATA commands\n"), JOB_LOGS); return; } if (id) { bool hpa = false; bool dco = false; if (visible != native) { hpa = true; } if (maximum_lba != native) { dco = true; } if (hpa && dco) { report(_("HPA and DCO found\n"), JOB_LOGS); } else if (hpa) { report(_("HPA found\n"), JOB_LOGS); } else if (dco) { report(_("DCO found\n"), JOB_LOGS); } else { report(_("none\n"), JOB_LOGS); } char limits[DISPLAY_MESSAGE_LENGTH]; if (hpa) { sprintf(limits, _("HPA limit: %11llu sectors\n")); report(limits, JOB_LOGS); } if (dco) { sprintf(limits, _("DCO limit: %11llu sectors\n")); report(limits, JOB_LOGS); } sprintf(limits, _("full size: %11llu sectors\n"), maximum_lba); report(limits), JOB_LOGS; } if (close(device->descriptor) == 0) { device->descriptor = FILE_DESCRIPTOR_NOT_SET; } else { report_error(DC3DD_EXIT_ABORTED, errno, _("closing %s after HPA/DCO check"), quote(device->name)); } } } } #endif // #ifdef __linux__ #endif // #if USE_HDPARM static void report_device_size(file_t* device) { char stats[DISPLAY_MESSAGE_LENGTH]; sprintf(stats, _("device size: %"PRIuMAX" sectors (probed)\n"), device->probed_size_in_sectors); report(stats, JOB_LOGS); #if USE_HDPARM #ifdef __linux__ if (device->is_block_device) { device->descriptor = open(device->name, O_RDONLY, device->perms); if (device->descriptor >= 0) { check_device_for_hpa_dco(device->descriptor); if (close(device->descriptor) == 0) { device->descriptor = FILE_DESCRIPTOR_NOT_SET; } else { report_error(DC3DD_EXIT_ABORTED, errno, _("closing %s after hpa/dco check"), quote(device->name)); } } } #endif #endif } static void report_input_size(settings_t *settings) { if (settings->wipe_target) report_device_size(settings->wipe_target); else if (settings->input_file && settings->input_file->is_device) report_device_size(settings->input_file); char message[DISPLAY_MESSAGE_LENGTH]; sprintf(message, "sector size: %zd bytes (%s)\n", settings->sector_size, settings->sector_size_source); report(message, JOB_LOGS); flush_logs(); } static void activate_hash(const char* algorithm_name) { uint8_t i = 0; // Command line settings override build time settings, so deactivate // all hashing algorithms activated by build settings. static bool predefined_hashes_cleared = false; if (!predefined_hashes_cleared) { for (i = 0; i < NUM_HASHES; ++i) { hash_algorithms[i].active = false; } predefined_hashes_cleared = true; } for (i = 0; i < NUM_HASHES; ++i) { if (STREQ(hash_algorithms[i].name, algorithm_name)) { if (!hash_algorithms[i].active) { hash_algorithms[i].active = true; } else { report_error(DC3DD_EXIT_ABORTED,0,_("hash=%s specified more than once"), quote(algorithm_name)); } break; } } // Note the early out for command line errors since evidence should not // be handled any more than necessary, and glossing over a malformed // command line is therefore undesirable - the user's choices need to be // exactly specified before a run is undertaken. if (i == NUM_HASHES) { report_error(DC3DD_EXIT_ABORTED,0,_("unknown hash algorithm %s"), quote(algorithm_name)); } } static void probe_file_for_validation(file_t* file) { file->descriptor = open(file->name, O_RDONLY, 0); if (file->descriptor >= 0) { if (probe_file(file)) { if (close(file->descriptor) == 0) { file->descriptor = FILE_DESCRIPTOR_NOT_SET; } else { report_error(DC3DD_EXIT_ABORTED, errno, _("closing %s after validation probe"), quote(file->name)); } } else { close(file->descriptor); report_error(DC3DD_EXIT_ABORTED, 0, _("validation probe of %s failed"), quote(file->name)); } } else { report_error(DC3DD_EXIT_ABORTED, errno, _("opening %s for validation probe"), quote(file->name)); } } static void add_wipe_target(settings_t* settings, const char* device_name, enum VERIFICATION_TYPE verification) { // Note the early outs for command line errors since evidence should not // be handled any more than necessary, and glossing over a malformed // command line is therefore undesirable - the user's choices need to be // exactly specified before a run is undertaken. if (settings->wipe_target) report_error(DC3DD_EXIT_ABORTED, 0, _("cannot specify wipe= or hwipe= more than once")); if (settings->output_files) report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine wipe= or hwipe= and of=, hof=, ofs= or hofs=")); settings->wipe_target = make_file(device_name, 0, O_WRONLY, false, verification); DC3DD_ASSERT(settings->wipe_target != NULL); // Make sure the wipe target is valid. probe_file_for_validation(settings->wipe_target); if (!settings->wipe_target->is_device) report_error(DC3DD_EXIT_ABORTED, errno, _("%s not recognized as a device, cannot wipe"), quote(settings->wipe_target->name)); if (settings->wipe_target->probed_size_in_bytes <= 0) report_error(DC3DD_EXIT_ABORTED, errno, _("%s size probe failed, cannot wipe"), quote(settings->wipe_target->name)); if (verification != NONE) settings->verifying_output = true; } static void add_output_file(settings_t *settings, const char *file_name, bool part_of_set, enum VERIFICATION_TYPE verification) { if (verification != NONE) { if (STREQ(file_name, "/dev/null")) report_error(DC3DD_EXIT_ABORTED, 0, _("cannot output to /dev/null if using hof=, hofs=, phod=, or fhod=")); else settings->verifying_output = true; } if (part_of_set) settings->splitting_output = true; file_t* file = make_file(file_name, 0, O_WRONLY, part_of_set, verification); if (file) { if (verification == DEVICE_PARTIAL || verification == DEVICE_FULL) { probe_file_for_validation(file); if (!file->is_device) report_error(DC3DD_EXIT_ABORTED, errno, _("%s not recognized as a device, cannot specify %s"), quote(file->name), verification == DEVICE_PARTIAL ? "phod=" : "fhod="); } add_to_file_list(&settings->output_files, file); } else report_error(DC3DD_EXIT_ABORTED, 0, _("%s not valid BASE.FMT specifier for %s"), quote(file_name), verification != NONE ? "hofs=" : "ofs="); } static void add_input_text_pattern(settings_t* settings, const char* pattern) { // Note the early out for command line errors since evidence should not // be handled any more than necessary, and glossing over a malformed // command line is therefore undesirable - the user's choices need to be // exactly specified before a run is undertaken. if (settings->input_file || settings->input_pattern) report_error(DC3DD_EXIT_ABORTED, 0, _("use only one of pat=, tpat=, if=, ifs=")); settings->input_pattern_string = strdup(pattern); settings->input_pattern = strdup(pattern); settings->input_pattern_length = strlen(pattern); } static int hex_to_char(char *hstr) { unsigned int retval; if (strlen(hstr) != 2) { return -1; } if (EOF == sscanf(hstr, "%x", &retval)) { return -1; } return retval; } static void make_pattern(const char *pattern_template, char** pattern, size_t* pattern_length) { *pattern = NULL; *pattern_length = 0; size_t pattern_template_length = strlen(pattern_template); if (pattern_template_length != 0 && pattern_template_length % 2 == 0) { *pattern_length = pattern_template_length / 2; *pattern = (char*)malloc(*pattern_length); for (size_t i = 0; i < *pattern_length; i++) { char tmpstring[3]; int byte_val; strncpy(tmpstring, &pattern_template[i*2], 2); tmpstring[2] = '\0'; byte_val = hex_to_char(tmpstring); if (byte_val == -1) { free(*pattern); *pattern = NULL; *pattern_length = 0; } (*pattern)[i] = (char)byte_val; } } } static void add_input_pattern(settings_t* settings, const char* pattern) { // Note the early outs for command line errors since evidence should not // be handled any more than necessary, and glossing over a malformed // command line is therefore undesirable - the user's choices need to be // exactly specified before a run is undertaken. if (settings->input_file || settings->input_pattern) { report_error(DC3DD_EXIT_ABORTED, 0, _("use only one of pat=, tpat=, if=, ifs=")); } settings->input_pattern_string = strdup(pattern); make_pattern(pattern, &settings->input_pattern, &settings->input_pattern_length); if (!settings->input_pattern) { report_error(DC3DD_EXIT_ABORTED, 0, _("illegal pattern %s"), quote(pattern)); } } static void add_input_file(settings_t *settings, const char *file_name, bool part_of_set) { if (settings->input_file || settings->input_pattern) report_error(DC3DD_EXIT_ABORTED, 0, _("use only one of pat=, tpat=, if=, ifs=")); if (STREQ(file_name, "/dev/zero")) add_input_pattern(settings, "00"); else { settings->input_file = make_file(file_name, 0, O_RDONLY, part_of_set, NONE); if (!settings->input_file) report_error(DC3DD_EXIT_ABORTED, 0 , _("%s not valid BASE.FMT form for ifs="), file_name); if (!STREQ(file_name, "stdin")) probe_file_for_validation(settings->input_file); } } static bool option_matches(const char* option, const char* option_name, char delim) { while (*option_name) { if (*option++ != *option_name++) { return false; } } return !*option || *option == delim; } static bool option_is(const char* option, const char* option_name) { return option_matches(option, option_name, '='); } static uintmax_t parse_integer(const char* str, bool* invalid) { uintmax_t n; char *suffix; enum strtol_error e = xstrtoumax (str, &suffix, 10, &n, "bcEGkKMPTwYZ0"); if (e == LONGINT_INVALID_SUFFIX_CHAR && *suffix == 'x') { uintmax_t multiplier = parse_integer(suffix + 1, invalid); if (multiplier != 0 && n * multiplier / multiplier != n) { *invalid = true; return 0; } n *= multiplier; } else if (e != LONGINT_OK) { *invalid = true; return 0; } return n; } static void parse_quantifier(settings_t* settings, const char* name, const char* val) { // Note the early outs for command line errors since evidence should not // be handled any more than necessary, and glossing over a malformed // command line is therefore undesirable - the user's choices need to be // exactly specified before a run is undertaken. bool invalid = false; uintmax_t n = 0; if (option_is (name, "ofsz")) { settings->max_output_file_size = n = parse_integer(val, &invalid); } else if (option_is(name, "bufsz")) { settings->buffer_size = n = parse_integer(val, &invalid); } else if (option_is(name, "iskip")) { settings->input_sectors_to_skip = n = parse_integer(val, &invalid); } else if (option_is(name, "oskip")) { settings->output_sectors_to_skip = n = parse_integer(val, &invalid); } else if (option_is(name, "cnt")) { settings->max_sectors_to_input = n = parse_integer(val, &invalid); } else if (option_is(name, "ssz")) { settings->sector_size = n = parse_integer(val, &invalid); } else { report_error(DC3DD_EXIT_ABORTED, 0, _("unrecognized option %s"), name); } invalid |= !(n > 0); if (invalid) { report_error(DC3DD_EXIT_ABORTED, 0, _("invalid number %s for %s"), val, name); } } static void validate_hashing_settings(settings_t* settings) { // Note the early out for command line errors since evidence should not // be handled any more than necessary, and glossing over a malformed // command line is therefore undesirable - the user's choices need to be // exactly specified before a run is undertaken. // Determine whether there is an active hash algorithm. bool hash_specified = false; for (uint8_t i = 0; i < NUM_HASHES; ++i) { if (hash_algorithms[i].active) { hash_specified = true; break; } } if (settings->verifying_output && !hash_specified) { report_error(DC3DD_EXIT_ABORTED, 0, _("hof=, hofs=, or hwipe= specified without hash algorithm(s) selection")); } } static void validate_size_settings(settings_t* settings) { // Note the early outs for command line errors since evidence should not // be handled any more than necessary, and glossing over a malformed // command line is therefore undesirable - the user's choices need to be // exactly specified before a run is undertaken. // Determine the working sector size. if (settings->wipe_target) { settings->sector_size = settings->wipe_target->probed_sector_size; settings->sector_size_source = _("probed"); } else if (settings->sector_size > 0) { settings->sector_size_source = _("set"); } else if (settings->input_file && settings->input_file->is_device && settings->input_file->probed_sector_size > 0) { settings->sector_size = settings->input_file->probed_sector_size; settings->sector_size_source = _("probed"); } else { // This will be the case for regular files. settings->sector_size = DEFAULT_SECTOR_SIZE; settings->sector_size_source = _("assumed"); } // Make sure the working sector size is consistent with the buffer size. if (settings->buffer_size < settings->sector_size || settings->buffer_size % settings->sector_size != 0) { // Do not reference bufsz=, since this may be an issue with the default buffer size. report_error(DC3DD_EXIT_ABORTED, 0, _("buffer size (%d) must be a multiple of sector size (%d)"), settings->buffer_size, settings->sector_size); } // Make sure the skip sizes will work. if (settings->input_sectors_to_skip && settings->input_file->probed_size_in_bytes < settings->input_sectors_to_skip) { report_error(DC3DD_EXIT_ABORTED, 0, _("if iskip= is specified, if= must specify an input file or device of at least that size")); } if (settings->output_sectors_to_skip) { file_t* file = settings->output_files; while (file) { // The output file must already exist if output sectors are to be skipped. probe_file_for_validation(file); if (file->probed_size_in_bytes < settings->output_sectors_to_skip * settings->sector_size) { report_error(DC3DD_EXIT_ABORTED, 0, _("if oskip= is specified, of= must specify output files of at least that size")); } file = file->next_file; } } } static void validate_IO_options(settings_t* settings) { // Make sure that the options specified are valid for the I\O combination. // Note the early outs for command line errors since evidence should not // be handled any more than necessary, and glossing over a malformed // command line is therefore undesirable - the user's choices need to be // exactly specified before a run is undertaken. if (settings->input_pattern) { if (settings->input_sectors_to_skip) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine pat=, tpat= or if=/dev/zero and iskip=")); } if (settings->max_sectors_to_input == INFINITE_SECTORS && !settings->wipe_target) { // Make sure a stopping condition exists, in the form of either a count of pattern sectors // to produce or the size of the device to be wiped. report_error(DC3DD_EXIT_ABORTED, 0, _("if generating a pattern and not wiping, must specify cnt=")); } } if (settings->input_file && settings->input_sectors_to_skip) { if (settings->input_file->part_of_set) { // Not currently supporting the ability to skip input sectors if it requires opening // multiple files. report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine cnt= and ifs=")); } if (STREQ(settings->input_file->name, "stdin")) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot specify cnt= when input is stdin")); } } if (settings->output_files && STREQ(settings->output_files->name, "stdout")) { if (settings->output_sectors_to_skip) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot specify oskip= when output is stdout")); } if (settings->max_output_file_size != INFINITE_BYTES) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot specify ofsz= when output is stdout")); } if (settings->append_output) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot specify app=on when output is stdout")); } } if (settings->wipe_target) { if (settings->max_output_file_size != INFINITE_BYTES) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine wipe= or hwipe= and ofsz=")); } if (settings->max_sectors_to_input == INFINITE_SECTORS) { // Throttle the pattern input to the size of the device to be wiped, // which is the sole output file. settings->max_sectors_to_input = settings->wipe_target->probed_size_in_sectors; } else { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine wipe= or hwipe= and cnt=")); } if (settings->input_sectors_to_skip) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine wipe= or hwipe= and iskip=")); } if (settings->output_sectors_to_skip) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine wipe= or hwipe= and oskip=")); } if (settings->append_output) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine wipe= or hwipe= and app=on")); } if (settings->sector_size) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine wipe= or hwipe= and ssz=")); } } if (settings->splitting_output) { if (settings->append_output) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine app=on and ofs= or hofs=")); } if (settings->output_sectors_to_skip) { // Not currently supporting the ability to skip output sectors if it requires opening // multiple files. report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine oskip= and ofs= of hofs=")); } if (settings->max_output_file_size == INFINITE_BYTES) { #ifdef DEFAULT_OUTPUT_FILE_SIZE // This is necessary since the preprocessor symbol may have a size suffix. parse_quantifier(settings, "ofsz", AS_STRING(DEFAULT_OUTPUT_FILE_SIZE)); #else report_error(DC3DD_EXIT_ABORTED, 0, _("ofs= or hofs= specified, must specify ofsz=")); #endif } } else if (settings->max_output_file_size != INFINITE_BYTES) { report_error(DC3DD_EXIT_ABORTED, 0, _("ofsz= specified, must specify ofs= or hofs= at least once")); } } static void validate_IO_combination(settings_t* settings) { // Make sure that a valid combination of input and outputs is specified. // Note the early outs for command line errors since evidence should not // be handled any more than necessary, and glossing over a malformed // command line is therefore undesirable - the user's choices need to be // exactly specified before a run is undertaken. if (settings->wipe_target && settings->output_files) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine wipe= or hwipe= and of=, hof=, ofs= or hofs=")); } if (settings->wipe_target && settings->input_file) { report_error(DC3DD_EXIT_ABORTED, 0, _("cannot combine wipe= or hwipe= and if= or ifs=")); } if (settings->wipe_target && !settings->input_pattern) { // Wipe with zeros by default. add_input_pattern(settings, "00"); } if (!settings->input_pattern && !settings->input_file) { // No inputs specified, default to reading from stdin. add_input_file(settings, "stdin", false); } if (!settings->wipe_target && !settings->output_files) { // No outputs specified, default to writing to stdout. add_output_file(settings, "stdout", false, NONE); } DC3DD_ASSERT((settings->wipe_target && settings->input_pattern) || (!settings->wipe_target && settings->output_files && (settings->input_file || settings->input_pattern))); } static void validate_settings(settings_t* settings) { // This function is decomposed into a series of shorter functions for // readability and maintainability. The order of calling of these functions // should be maintained. validate_IO_combination(settings); validate_IO_options(settings); validate_size_settings(settings); validate_hashing_settings(settings); } static settings_t* make_settings() { settings_t* settings = (settings_t*)malloc(sizeof(settings_t)); settings->input_pattern_string = NULL; settings->input_pattern = NULL; settings->input_pattern_length = 0; settings->input_file = NULL; settings->output_files = NULL; settings->wipe_target = NULL; settings->sector_size = 0; settings->sector_size_source = NULL; settings->buffer_size = DEFAULT_BUFFER_SIZE; settings->input_sectors_to_skip = 0; settings->output_sectors_to_skip = 0; settings->max_sectors_to_input = INFINITE_SECTORS; settings->max_output_file_size = INFINITE_BYTES; settings->recover_errors = true; settings->splitting_output = false; settings->verifying_output = false; settings->append_output = false; settings->corrupt_output = false; return settings; } static settings_t* parse_args(int argc, char *const *argv) { settings_t* settings = make_settings(); // Note that parsing and validation of the command line is very strict // since evidence should not be handled any more than necessary. It is // therefore best if the user's choices are exactly specified before a // run is performed. for (int i = optind; i < argc; ++i) { // Split the argument into a name/value pair. char const *name = argv[i]; char const *val = strchr(name, '='); if (!val) { report_error(DC3DD_EXIT_ABORTED, 0, _("unrecognized option %s"), quote(name)); } ++val; if (option_is(name, "if")) { add_input_file(settings, val, false); } else if (option_is(name, "ifs")) { add_input_file(settings, val, true); } else if (option_is(name,"pat")) { add_input_pattern(settings, val); } else if (option_is(name,"tpat")) { add_input_text_pattern(settings, val); } else if (option_is(name, "of")) { add_output_file(settings, val, false, NONE); } else if (option_is(name, "hof")) { add_output_file(settings, val, false, STANDARD); } else if (option_is(name, "phod")) { add_output_file(settings, val, false, DEVICE_PARTIAL); } else if (option_is(name, "fhod")) { add_output_file(settings, val, false, DEVICE_FULL); } else if (option_is(name, "ofs")) { add_output_file(settings, val, true, NONE); } else if (option_is(name, "hofs")) { add_output_file(settings, val, true, STANDARD); } else if (option_is(name,"hash")) { activate_hash(val); } else if (option_is(name,"log") || option_is(name, "hlog")) { // Arg already parsed in initiate_logging(). } else if (option_is(name,"rec")) { settings->recover_errors = false; } else if (option_is(name, "app")) { settings->append_output = true; } else if (option_is(name, "wipe")) { add_wipe_target(settings, val, false); } else if (option_is(name, "hwipe")) { add_wipe_target(settings, val, true); } else if (option_is(name, "verb")) { verbose_reporting = true; } else if (option_is(name, "nwspc")) { compact_reporting = true; } else if (option_is(name, "b10")) { progress_bytes_reporting_flag = 0; } else if (option_is(name, "corruptoutput")) { settings->corrupt_output = true; } else { parse_quantifier(settings, name, val); } } return settings; } static settings_t* parse_settings(int argc, char* const* argv) { settings_t* settings = parse_args(argc, argv); validate_settings(settings); return settings; } static char* make_cmd_line_string(int argc, char* const* argv) { size_t len = 1; // At least 1, for terminating NUL. for (int i = 0; i < argc; ++i) { len += strlen(argv[i]); if (i < (argc - 1)) { len += 1; } } char* cmdline = NULL; cmdline = (char*)malloc(len); char* command_line = cmdline; for (int i = 0; i < argc; ++i) { for (size_t j = 0; j < strlen(argv[i]); ++j) { *cmdline = argv[i][j]; ++cmdline; } if (i < (argc - 1)) { *cmdline = ' '; ++cmdline; } } *cmdline = '\0'; return command_line; } static void report_compile_flags(FILE* file, bool newlines) { #ifdef DEFAULT_HASH_MD5 fputs(" DEFAULT_HASH_MD5 (hash=md5)", file); if (newlines) fputs("\n", file); #endif #ifdef DEFAULT_HASH_SHA1 fputs(" DEFAULT_HASH_SHA1 (hash=sha1)", file); if (newlines) fputs("\n", file); #endif #ifdef DEFAULT_HASH_SHA256 fputs(" DEFAULT_HASH_SHA256 (hash=sha26)", file); if (newlines) fputs("\n", file); #endif #ifdef DEFAULT_HASH_SHA512 fputs(" DEFAULT_HASH_SHA512 (hash=sha512)", file); if (newlines) fputs("\n", file); #endif #ifdef DEFAULT_OUTPUT_FILE_SIZE fprintf(file, " DEFAULT_OUTPUT_FILE_SIZE (ofsz=%s)", AS_STRING(DEFAULT_OUTPUT_FILE_SIZE)); if (newlines) fputs("\n", file); #endif #ifdef DEFAULT_VERBOSE_REPORTING fputs(" DEFAULT_VERBOSE_REPORTING (verb=on)", file); if (newlines) fputs("\n", file); #endif #ifdef DEFAULT_COMPACT_REPORTING fputs(" DEFAULT_COMPACT_REPORTING (nwspc=on)", file); if (newlines) fputs("\n", file); #endif #ifdef DEFAULT_BASE_TEN_BYTES_REPORTING fputs(" DEFAULT_BASE_TEN_BYTES_REPORTING (dbr=on)", file); if (newlines) fputs("\n", file); #endif if (!newlines) fputs("\n", file); } static void report_command_line(int argc, char* const* argv) { // Report compiled-in options. fputs(_("compiled options:"), stderr); report_compile_flags(stderr, false); for (log_t* log = job_logs; log; log = log->next_log) { fputs(_("compiled options:"), log->file); report_compile_flags(log->file, false); } for (log_t* log = hash_logs; log; log = log->next_log) { fputs(_("compiled options:"), log->file); report_compile_flags(log->file, false); } // Report the command line. char* command_line = make_cmd_line_string(argc, argv); char message[DISPLAY_MESSAGE_LENGTH]; sprintf(message, _("command line: %s\n"), command_line); report(message, ALL_LOGS); free(command_line); flush_logs(); } static void report_startup_message() { // Save the program start time for later use in progress messages. start_time = gethrxtime(); // Write the start message to all job_logs (i.e., console, log, hash log). // The message acts as a sort of header for the run. The leading newline // character acts to separate the output from multiple runs when // appending to an existing log. char* formatted_start_time = get_formatted_time_string(); char message[DISPLAY_MESSAGE_LENGTH]; sprintf(message, "\n%s %s started at %s\n", PROGRAM_NAME, VERSION, formatted_start_time); free(formatted_start_time); report(message, ALL_LOGS); flush_logs(); } static void open_log(const char *arg, const char *arg_name, log_t **logs) { // Extract the log file name from the command line argument. const char *val = strchr(arg, '='); if (!val) { char message[DISPLAY_MESSAGE_LENGTH]; sprintf(message, _("%s specified with no file name"), arg_name); report_error(DC3DD_EXIT_ABORTED, 0, message); } ++val; // Open the log file in append mode to support use cases where the // imaging is performed using multiple runs (e.g., using skips // etc., to work around errors) and a "cumulative" record of // the runs is desired. FILE *file = fopen(val, "a"); if (!file) report_error(DC3DD_EXIT_ABORTED, errno, _("opening log %s"), quote(val)); // Add the log to the logs list specified by the caller. log_t* log = (log_t*)malloc(sizeof(log_t)); log->file = file; log->next_log = NULL; add_to_log_list(logs, log); // Add the log to the master logs list. log = (log_t*)malloc(sizeof(log_t)); log->file = file; log->next_log = NULL; add_to_log_list(&all_logs, log); } static void initiate_logging(int argc, char* const* argv) { // Initialize a mutex for synchronizing output to the log(s) and console. // Use PTHREAD_MUTEX_RECURSIVE so that nested calls to functions that lock // the mutex are safe. pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); pthread_mutex_init(&reporting_lock, &attr); pthread_mutexattr_destroy(&attr); // Look for command line options specifying job_logs. const char* arg = NULL; for (int i = optind; i < argc; ++i) { arg = argv[i]; if (option_is(arg, "log")) { open_log(arg, "log=", &job_logs); } else if (option_is(arg, "hlog")) { open_log(arg, "hlog=", &hash_logs); } } } void usage(int status) { if (status != EXIT_SUCCESS) { fprintf (stderr, _("Try `%s --help' for more information.\n"), program_name); } else { fputs(_("------\n"), stderr); fputs(_("usage:\n"), stderr); fputs(_("------\n\n"), stderr); fprintf(stderr, _("\t%s [OPTION 1] [OPTION 2] ... [OPTION N]\n"), program_name); fputs("\n", stderr); fprintf(stderr, _("\t\t*or*\n")); fputs("\n", stderr); fprintf(stderr, _("\t%s [HELP OPTION]\n"), program_name); fputs("\n", stderr); fprintf(stderr, _("\twhere each OPTION is selected from the basic or advanced\n")); fprintf(stderr, _("\toptions listed below, or HELP OPTION is selected from the\n")); fprintf(stderr, _("\thelp options listed below.\n\n")); fputs(_("--------------\n"), stderr); fputs(_("basic options:\n"), stderr); fputs(_("--------------\n\n"), stderr); fprintf(stderr, "\t%-21s%s\n", _("if=DEVICE or FILE"), _("Read input from a device or a file (see note #1")); fprintf(stderr, "\t%-21s%s\n", "", _("below for how to read from standard input). This")); fprintf(stderr, "\t%-21s%s\n", "", _("option can only be used once and cannot be")); fprintf(stderr, "\t%-21s%s\n", "", _("combined with ifs=, pat=, or tpat=.")); if (!O_DIRECT) { fprintf(stderr, "\t%-21s%s\n", "", _("If FILE is a device, use rdisk for")); fprintf(stderr, "\t%-21s%s\n", "", _("direct (unbuffered) input to enable read error")); fprintf(stderr, "\t%-21s%s\n", "", _("recovery unless rec=off is specified.")); } fprintf(stderr, "\t%-21s%s\n", _("ifs=BASE.FMT"), _("Read input from a set of files with base name")); fprintf(stderr, "\t%-21s%s\n", "", _("BASE and sequential file name extensions")); fprintf(stderr, "\t%-21s%s\n", "", _("conforming to the format specifier FMT (see note")); fprintf(stderr, "\t%-21s%s\n", "", _("#4 below for how to specify FMT). This option")); fprintf(stderr, "\t%-21s%s\n", "", _("can only be used once and cannot be combined with")); fprintf(stderr, "\t%-21s%s\n", "", _("if=, pat=, or tpat=.")); fprintf(stderr, "\t%-21s%s\n", _("of=FILE or DEVICE"), _("Write output to a file or device (see note #2")); fprintf(stderr, "\t%-21s%s\n", "", _("below for how to write to standard output). This")); fprintf(stderr, "\t%-21s%s\n", "", _("option can be used more than once (see note #3")); fprintf(stderr, "\t%-21s%s\n", "", _("below for how to generate multiple outputs).")); fprintf(stderr, "\t%-21s%s\n", _("hof=FILE or DEVICE"), _("Write output to a file or device, hash the")); fprintf(stderr, "\t%-21s%s\n", "", _("output file or device, and verify by comparing")); fprintf(stderr, "\t%-21s%s\n", "", _("the output hash(es) to the input hash(es). This")); fprintf(stderr, "\t%-21s%s\n", "", _("option can be used more than once (see note #3")); fprintf(stderr, "\t%-21s%s\n", "", _("below for how to generate multiple outputs).")); fprintf(stderr, "\t%-21s%s\n", _("ofs=BASE.FMT"), _("Write output to a set of files with base name BASE")); fprintf(stderr, "\t%-21s%s\n", "", _("and sequential file name extensions generated from")); fprintf(stderr, "\t%-21s%s\n", "", _("the format specifier FMT (see note #4 below for")); fprintf(stderr, "\t%-21s%s\n", "", _("how to specify FMT). This option can be used more")); fprintf(stderr, "\t%-21s%s\n", "", _("than once (see note #3 below for how to generate")); fprintf(stderr, "\t%-21s%s\n", "", _("multiple outputs). Specify the maximum size of")); fprintf(stderr, "\t%-21s%s\n", "", _("each file in the set using ofsz=.")); fprintf(stderr, "\t%-21s%s\n", _("hofs=BASE.FMT"), _("Write output to a set of files with base name BASE")); fprintf(stderr, "\t%-21s%s\n", "", _("and sequential file name extensions generated from")); fprintf(stderr, "\t%-21s%s\n", "", _("the format specifier FMT (see note #4 below for")); fprintf(stderr, "\t%-21s%s\n", "", _("how to specify FMT). Hash the output files and")); fprintf(stderr, "\t%-21s%s\n", "", _("verify by comparing the output hash(es) to the")); fprintf(stderr, "\t%-21s%s\n", "", _("input hash(es). This option can be used more than")); fprintf(stderr, "\t%-21s%s\n", "", _("once (see note #3 below for how to generate")); fprintf(stderr, "\t%-21s%s\n", "", _("multiple outputs). Specify the maximum size of")); fprintf(stderr, "\t%-21s%s\n", "", _("each file in the set using ofsz=.")); fprintf(stderr, "\t%-21s%s\n", _("ofsz=BYTES"), _("Set the maximum size of each file in the sets of")); fprintf(stderr, "\t%-21s%s\n", "", _("files specified using ofs= or hofs= to")); fprintf(stderr, "\t%-21s%s\n", "", _("BYTES (see note #5 below). A default value for")); fprintf(stderr, "\t%-21s%s\n", "", _("this option may be set at compile time using")); fprintf(stderr, "\t%-21s%s\n", "", _("-DDEFAULT_OUTPUT_FILE_SIZE followed by the desired")); fprintf(stderr, "\t%-21s%s\n", "", _("value in BYTES.")); fprintf(stderr, "\t%-21s%s\n", _("hash=ALGORITHM"), _("Compute an ALGORITHM hash of the input and also")); fprintf(stderr, "\t%-21s%s\n", "", _("of any outputs specified using hof=, hofs=, phod=,")); fprintf(stderr, "\t%-21s%s\n", "", _("or fhod=, where ALGORITHM is one of md5, sha1,")); fprintf(stderr, "\t%-21s%s\n", "", _("sha256, or sha512. This option may be used once")); fprintf(stderr, "\t%-21s%s\n", "", _("for each supported ALGORITHM. Alternatively,")); fprintf(stderr, "\t%-21s%s\n", "", _("hashing can be activated at compile time using one")); fprintf(stderr, "\t%-21s%s\n", "", _("or more of -DDEFAULT_HASH_MD5,-DDEFAULT_HASH_SHA1,")); fprintf(stderr, "\t%-21s%s\n", "", _("-DDEFAULT_HASH_SHA256, and -DDEFAULT_HASH_SHA512.")); fprintf(stderr, "\t%-21s%s\n", _("log=FILE"), _("Log I/O statistcs, diagnostics, and total hashes")); fprintf(stderr, "\t%-21s%s\n", "", _("of input and output to FILE. If hlog= is not")); fprintf(stderr, "\t%-21s%s\n", "", _("specified, piecewise hashes of multiple file")); fprintf(stderr, "\t%-21s%s\n", "", _("input and output are also logged to FILE. This")); fprintf(stderr, "\t%-21s%s\n", "", _("option can be used more than once to generate")); fprintf(stderr, "\t%-21s%s\n", "", _("multiple logs.")); fprintf(stderr, "\t%-21s%s\n", _("hlog=FILE"), _("Log total hashes and piecewise hashes to FILE.")); fprintf(stderr, "\t%-21s%s\n", "", _("This option can be used more than once to generate")); fprintf(stderr, "\t%-21s%s\n\n", "", _("multiple logs.")); fputs(_("-----------------\n"), stderr); fputs(_("advanced options:\n"), stderr); fputs(_("-----------------\n\n"), stderr); fprintf(stderr, "\t%-21s%s\n", _("phod=DEVICE"), _("The same as hof=DEVICE, except only the bytes")); fprintf(stderr, "\t%-21s%s\n", "", _("written to DEVICE by dc3dd are verified. This")); fprintf(stderr, "\t%-21s%s\n", "", _("option can be used more than once (see note")); fprintf(stderr, "\t%-21s%s\n", "", _("#3 below for how to generate multiple outputs).")); fprintf(stderr, "\t%-21s%s\n", _("fhod=DEVICE"), _("The same as phod=DEVICE, with additional")); fprintf(stderr, "\t%-21s%s\n", "", _("hashing of the entire output DEVICE. This option")); fprintf(stderr, "\t%-21s%s\n", "", _("can be used more than once (see note #3 below")); fprintf(stderr, "\t%-21s%s\n", "", _("for how to generate multiple outputs).")); fprintf(stderr, "\t%-21s%s\n", _("rec=off"), _("By default, zeros are written to the output(s) in")); fprintf(stderr, "\t%-21s%s\n", "", _("place of bad sectors when the input is a device.")); fprintf(stderr, "\t%-21s%s\n", "", _("Use this option to cause the program to instead")); fprintf(stderr, "\t%-21s%s\n", "", _("exit when a bad sector is encountered.")); fprintf(stderr, "\t%-21s%s\n", _("wipe=DEVICE"), _("Wipe DEVICE by writing zeros (default) or a")); fprintf(stderr, "\t%-21s%s\n", "", _("pattern specified by pat= or tpat=.")); fprintf(stderr, "\t%-21s%s\n", _("hwipe=DEVICE"), _("Wipe DEVICE by writing zeros (default) or a")); fprintf(stderr, "\t%-21s%s\n", "", _("pattern specified by pat= or tpat=. Verify")); fprintf(stderr, "\t%-21s%s\n", "", _("DEVICE after writing it by hashing it and")); fprintf(stderr, "\t%-21s%s\n", "", _("comparing the hash(es) to the input hash(es).")); fprintf(stderr, "\t%-21s%s\n", _("pat=HEX"), _("Use pattern as input, writing HEX to every byte")); fprintf(stderr, "\t%-21s%s\n", "", _("of the output. This option can only be used once")); fprintf(stderr, "\t%-21s%s\n", "", _("and cannot be combined with if=, ifs=, or")); fprintf(stderr, "\t%-21s%s\n", "", _("tpat=.")); fprintf(stderr, "\t%-21s%s\n", _("tpat=TEXT"), _("Use text pattern as input, writing the string TEXT")); fprintf(stderr, "\t%-21s%s\n", "", _("repeatedly to the output. This option can only be")); fprintf(stderr, "\t%-21s%s\n", "", _("used once and cannot be combined with if=, ifs=,")); fprintf(stderr, "\t%-21s%s\n", "", _("or pat=.")); fprintf(stderr, "\t%-21s%s\n", _("cnt=SECTORS"), _("Read only SECTORS input sectors. Must be used")); fprintf(stderr, "\t%-21s%s\n", "", _("with pat= or tpat= if not using the pattern with")); fprintf(stderr, "\t%-21s%s\n", "", _("wipe= or hwipe= to wipe a device.")); fprintf(stderr, "\t%-21s%s\n", _("iskip=SECTORS"), _("Skip SECTORS sectors at start of the input device")); fprintf(stderr, "\t%-21s%s\n", "", _("or file.")); fprintf(stderr, "\t%-21s%s\n", _("oskip=SECTORS"), _("Skip SECTORS sectors at start of the output")); fprintf(stderr, "\t%-21s%s\n", "", _("file. Specifying oskip= automatically ")); fprintf(stderr, "\t%-21s%s\n", "", _("sets app=on.")); fprintf(stderr, "\t%-21s%s\n", _("app=on"), _("Do not overwrite an output file specified with")); fprintf(stderr, "\t%-21s%s\n", "", _("of= if it already exists, appending output instead.")); fprintf(stderr, "\t%-21s%s\n", _("ssz=BYTES"), _("Unconditionally use BYTES (see note #5 below) bytes")); fprintf(stderr, "\t%-21s%s\n", "", _("for sector size. If ssz= is not specified,")); fprintf(stderr, "\t%-21s%s\n", "", _("sector size is determined by probing the device;")); fprintf(stderr, "\t%-21s%s\n", "", _("if the probe fails or the target is not a device,")); fprintf(stderr, "\t%-21s%s\n", "", _("a sector size of 512 bytes is assumed.")); fprintf(stderr, "\t%-21s%s\n", _("bufsz=BYTES"), _("Set the size of the internal byte buffers to BYTES")); fprintf(stderr, "\t%-21s%s\n", "", _("(see note #5 below). This effectively sets the")); fprintf(stderr, "\t%-21s%s\n", "", _("maximum number of bytes that may be read at a time")); fprintf(stderr, "\t%-21s%s\n", "", _("from the input. BYTES must be a multiple of sector")); fprintf(stderr, "\t%-21s%s\n", "", _("size. Use this option to fine-tune performance.")); fprintf(stderr, "\t%-21s%s\n", _("verb=on"), _("Activate verbose reporting, where sectors in/out")); fprintf(stderr, "\t%-21s%s\n", "", _("are reported for each file in sets of files")); fprintf(stderr, "\t%-21s%s\n", "", _("specified using ifs=, ofs=, or hofs=.")); fprintf(stderr, "\t%-21s%s\n", "", _("Alternatively, verbose reporting may be activated")); fprintf(stderr, "\t%-21s%s\n", "", _("at compile time using -DDEFAULT_VERBOSE_REPORTING.")); fprintf(stderr, "\t%-21s%s\n", _("nwspc=on"), _("Activate compact reporting, where the use")); fprintf(stderr, "\t%-21s%s\n", "", _("of white space to divide log output into")); fprintf(stderr, "\t%-21s%s\n", "", _("logical sections is suppressed. Alternatively,")); fprintf(stderr, "\t%-21s%s\n", "", _("compact reporting may be activated at compile")); fprintf(stderr, "\t%-21s%s\n", "", _("time using -DDEFAULT_COMPACT_REPORTING.")); fprintf(stderr, "\t%-21s%s\n", _("b10=on"), _("Activate base 10 bytes reporting, where the")); fprintf(stderr, "\t%-21s%s\n", "", _("progress display reports 1000 bytes instead")); fprintf(stderr, "\t%-21s%s\n", "", _("of 1024 bytes as 1 KB. Alternatively, base 10")); fprintf(stderr, "\t%-21s%s\n", "", _("bytes reporting may be activated at compile")); fprintf(stderr, "\t%-21s%s\n", "", _("time using -DDEFAULT_BASE_TEN_BYTES_REPORTING.")); fprintf(stderr, "\t%-21s%s\n", _("corruptoutput=on"), _("For verification testing and demonstration")); fprintf(stderr, "\t%-21s%s\n", "", _("purposes, corrupt the output file(s) with extra")); fprintf(stderr, "\t%-21s%s\n\n", "", _("bytes so a hash mismatch is guaranteed.")); fputs(_("-------------\n"), stderr); fputs(_("help options:\n"), stderr); fputs(_("-------------\n\n"), stderr); fputs (HELP_OPTION_DESCRIPTION, stderr); fputs (VERSION_OPTION_DESCRIPTION, stderr); fputs (" --flags display compile-time flags and exit\n\n", stderr); fputs(_("------\n"), stderr); fputs(_("notes:\n"), stderr); fputs(_("------\n\n"), stderr); fputs(_("1. To read from stdin, do not specify if=, ifs=, pat=, or tpat=.\n"), stderr); fputs(_("2. To write to stdout, do not specify of=, hof=, ofs=, hofs=, phod=,\n"), stderr); fputs(_(" fhod=, wipe=, or hwipe=.\n"), stderr); fputs(_("3. To write to multiple outputs specify more than one of of=, hof=, ofs=,\n"), stderr); fputs(_(" hofs=, phod=, or fhod=, in any combination.\n"), stderr); fputs(_("4. FMT is a pattern for a sequence of file extensions that can be numerical\n"), stderr); fputs(_(" starting at zero, numerical starting at one, or alphabetical. Specify FMT\n"), stderr); fputs(_(" by using a series of zeros, ones, or a's, respectively. The number of\n"), stderr); fputs(_(" characters used indicates the desired length of the extensions.\n"), stderr); fputs(_(" For example, a FMT specifier of 1111 indicates four character\n"), stderr); fputs(_(" numerical extensions starting with 0000.\n"), stderr); fputs(_("5. BYTES may be followed by the following multiplicative suffixes:\n"), stderr); fputs(_(" c (1), w (2), b (512), kB (1000), K (1024), MB (1000*1000),\n"), stderr); fputs(_(" M (1024*1024), GB (1000*1000*1000), G (1024*1024*1024), and\n"), stderr); fputs(_(" so on for T, P, E, Z, and Y.\n"), stderr); fputs(_("6. Consider using cnt=, iskip= and oskip= to work around\n"), stderr); fputs(_(" unreadable sectors if error recovery fails.\n"), stderr); fputs(_("7. Sending an interrupt (e.g., CTRL+C) to dc3dd will cause\n"), stderr); fputs(_(" the program to report the work completed at the time\n"), stderr); fputs(_(" the interrupt is received and then exit.\n"), stderr); emit_bug_reporting_address(); } report_exit_message(status); terminate_logging(); exit(status); } int main (int argc, char **argv) { initialize_main(&argc, &argv); program_name = argv[0]; // Set up localization support. setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); // Handle the --flags command line option. if (argc == 2 && STREQ(argv[1], "--flags")) { printf("%s compiled with:\n", PROGRAM_NAME); report_compile_flags(stdout, true); exit(DC3DD_EXIT_COMPLETED); } // Handle the --help and --version command line options. parse_long_options(argc, argv, PROGRAM_NAME, PACKAGE, VERSION, usage, AUTHORS, (char const*)NULL); if (getopt_long(argc, argv, "", NULL, NULL) != -1) { usage(DC3DD_EXIT_FAILED); } initiate_logging(argc, argv); // Report startup info. report_startup_message(); report_command_line(argc, argv); // Do the requested jobs. settings_t* settings = parse_settings(argc, argv); report_input_size(settings); job_t* jobs = make_jobs(settings); int exit_code = execute_jobs(jobs); // Report results. report_results(jobs); report_exit_message(exit_code); terminate_logging(); return exit_code; } dc3dd-7.1.614/src/system.h0000644000175000017500000003755711064230667014751 0ustar amedicoamedico/* system-dependent definitions for coreutils Copyright (C) 1989, 1991-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include /* Include sys/types.h before this file. */ #if 2 <= __GLIBC__ && 2 <= __GLIBC_MINOR__ # if ! defined _SYS_TYPES_H you must include before including this file # endif #endif #include #if !defined HAVE_MKFIFO # define mkfifo(name, mode) mknod (name, (mode) | S_IFIFO, 0) #endif #if HAVE_SYS_PARAM_H # include #endif #include #ifndef STDIN_FILENO # define STDIN_FILENO 0 #endif #ifndef STDOUT_FILENO # define STDOUT_FILENO 1 #endif #ifndef STDERR_FILENO # define STDERR_FILENO 2 #endif /* limits.h must come before pathmax.h because limits.h on some systems undefs PATH_MAX, whereas pathmax.h sets PATH_MAX. */ #include #include "pathmax.h" #include "configmake.h" #if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif /* Since major is a function on SVR4, we can't use `ifndef major'. */ #if MAJOR_IN_MKDEV # include # define HAVE_MAJOR #endif #if MAJOR_IN_SYSMACROS # include # define HAVE_MAJOR #endif #ifdef major /* Might be defined in sys/types.h. */ # define HAVE_MAJOR #endif #ifndef HAVE_MAJOR # define major(dev) (((dev) >> 8) & 0xff) # define minor(dev) ((dev) & 0xff) # define makedev(maj, min) (((maj) << 8) | (min)) #endif #undef HAVE_MAJOR #if ! defined makedev && defined mkdev # define makedev(maj, min) mkdev (maj, min) #endif /* Don't use bcopy! Use memmove if source and destination may overlap, memcpy otherwise. */ #include #include /* Some systems don't define the following symbols. */ #ifndef EDQUOT # define EDQUOT (-1) #endif #ifndef EISDIR # define EISDIR (-1) #endif #ifndef ENOSYS # define ENOSYS (-1) #endif #ifndef ENODATA # define ENODATA (-1) #endif #include #include /* Exit statuses for programs like 'env' that exec other programs. */ enum { EXIT_CANNOT_INVOKE = 126, EXIT_ENOENT = 127 }; #include "exitfail.h" /* Set exit_failure to STATUS if that's not the default already. */ static inline void initialize_exit_failure (int status) { if (status != EXIT_FAILURE) exit_failure = status; } #include #ifndef F_OK # define F_OK 0 # define X_OK 1 # define W_OK 2 # define R_OK 4 #endif #include #ifndef _D_EXACT_NAMLEN # define _D_EXACT_NAMLEN(dp) strlen ((dp)->d_name) #endif enum { NOT_AN_INODE_NUMBER = 0 }; #ifdef D_INO_IN_DIRENT # define D_INO(dp) (dp)->d_ino #else /* Some systems don't have inodes, so fake them to avoid lots of ifdefs. */ # define D_INO(dp) NOT_AN_INODE_NUMBER #endif /* Get or fake the disk device blocksize. Usually defined by sys/param.h (if at all). */ #if !defined DEV_BSIZE && defined BSIZE # define DEV_BSIZE BSIZE #endif #if !defined DEV_BSIZE && defined BBSIZE /* SGI */ # define DEV_BSIZE BBSIZE #endif #ifndef DEV_BSIZE # define DEV_BSIZE 4096 #endif /* Extract or fake data from a `struct stat'. ST_BLKSIZE: Preferred I/O blocksize for the file, in bytes. ST_NBLOCKS: Number of blocks in the file, including indirect blocks. ST_NBLOCKSIZE: Size of blocks used when calculating ST_NBLOCKS. */ #ifndef HAVE_STRUCT_STAT_ST_BLOCKS # define ST_BLKSIZE(statbuf) DEV_BSIZE # if defined _POSIX_SOURCE || !defined BSIZE /* fileblocks.c uses BSIZE. */ # define ST_NBLOCKS(statbuf) \ ((statbuf).st_size / ST_NBLOCKSIZE + ((statbuf).st_size % ST_NBLOCKSIZE != 0)) # else /* !_POSIX_SOURCE && BSIZE */ # define ST_NBLOCKS(statbuf) \ (S_ISREG ((statbuf).st_mode) \ || S_ISDIR ((statbuf).st_mode) \ ? st_blocks ((statbuf).st_size) : 0) # endif /* !_POSIX_SOURCE && BSIZE */ #else /* HAVE_STRUCT_STAT_ST_BLOCKS */ /* Some systems, like Sequents, return st_blksize of 0 on pipes. Also, when running `rsh hpux11-system cat any-file', cat would determine that the output stream had an st_blksize of 2147421096. Conversely st_blksize can be 2 GiB (or maybe even larger) with XFS on 64-bit hosts. Somewhat arbitrarily, limit the `optimal' block size to SIZE_MAX / 8 + 1. (Dividing SIZE_MAX by only 4 wouldn't suffice, since "cat" sometimes multiplies the result by 4.) If anyone knows of a system for which this limit is too small, please report it as a bug in this code. */ # define ST_BLKSIZE(statbuf) ((0 < (statbuf).st_blksize \ && (statbuf).st_blksize <= SIZE_MAX / 8 + 1) \ ? (statbuf).st_blksize : DEV_BSIZE) # if defined hpux || defined __hpux__ || defined __hpux /* HP-UX counts st_blocks in 1024-byte units. This loses when mixing HP-UX and BSD file systems with NFS. */ # define ST_NBLOCKSIZE 1024 # else /* !hpux */ # if defined _AIX && defined _I386 /* AIX PS/2 counts st_blocks in 4K units. */ # define ST_NBLOCKSIZE (4 * 1024) # else /* not AIX PS/2 */ # if defined _CRAY # define ST_NBLOCKS(statbuf) \ (S_ISREG ((statbuf).st_mode) \ || S_ISDIR ((statbuf).st_mode) \ ? (statbuf).st_blocks * ST_BLKSIZE(statbuf)/ST_NBLOCKSIZE : 0) # endif /* _CRAY */ # endif /* not AIX PS/2 */ # endif /* !hpux */ #endif /* HAVE_STRUCT_STAT_ST_BLOCKS */ #ifndef ST_NBLOCKS # define ST_NBLOCKS(statbuf) ((statbuf).st_blocks) #endif #ifndef ST_NBLOCKSIZE # ifdef S_BLKSIZE # define ST_NBLOCKSIZE S_BLKSIZE # else # define ST_NBLOCKSIZE 512 # endif #endif /* Redirection and wildcarding when done by the utility itself. Generally a noop, but used in particular for native VMS. */ #ifndef initialize_main # define initialize_main(ac, av) #endif #include "stat-macros.h" #include "timespec.h" #include #include #if ! (defined isblank || HAVE_DECL_ISBLANK) # define isblank(c) ((c) == ' ' || (c) == '\t') #endif /* ISDIGIT differs from isdigit, as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless it's important to use the locale's definition of `digit' even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) /* Convert a possibly-signed character to an unsigned character. This is a bit safer than casting to unsigned char, since it catches some type errors that the cast doesn't. */ static inline unsigned char to_uchar (char ch) { return ch; } #include /* Take care of NLS matters. */ #include "gettext.h" #if ! ENABLE_NLS # undef textdomain # define textdomain(Domainname) /* empty */ # undef bindtextdomain # define bindtextdomain(Domainname, Dirname) /* empty */ #endif #define _(msgid) gettext (msgid) #define N_(msgid) msgid /* Return a value that pluralizes the same way that N does, in all languages we know of. */ static inline unsigned long int select_plural (uintmax_t n) { /* Reduce by a power of ten, but keep it away from zero. The gettext manual says 1000000 should be safe. */ enum { PLURAL_REDUCER = 1000000 }; return (n <= ULONG_MAX ? n : n % PLURAL_REDUCER + PLURAL_REDUCER); } #define STREQ(a, b) (strcmp (a, b) == 0) #if !HAVE_DECL_FREE void free (); #endif #if !HAVE_DECL_MALLOC char *malloc (); #endif #if !HAVE_DECL_MEMCHR char *memchr (); #endif #if !HAVE_DECL_REALLOC char *realloc (); #endif #if !HAVE_DECL_GETENV char *getenv (); #endif #if !HAVE_DECL_LSEEK off_t lseek (); #endif #if !HAVE_DECL_GETLOGIN char *getlogin (); #endif #if !HAVE_DECL_TTYNAME char *ttyname (); #endif #if !HAVE_DECL_GETEUID uid_t geteuid (); #endif #if !HAVE_DECL_GETPWUID struct passwd *getpwuid (); #endif #if !HAVE_DECL_GETGRGID struct group *getgrgid (); #endif #if !HAVE_DECL_GETUID uid_t getuid (); #endif #include "xalloc.h" #include "verify.h" /* This is simply a shorthand for the common case in which the third argument to x2nrealloc would be `sizeof *(P)'. Ensure that sizeof *(P) is *not* 1. In that case, it'd be better to use X2REALLOC, although not strictly necessary. */ #define X2NREALLOC(P, PN) ((void) verify_true (sizeof *(P) != 1), \ x2nrealloc (P, PN, sizeof *(P))) /* Using x2realloc (when appropriate) usually makes your code more readable than using x2nrealloc, but it also makes it so your code will malfunction if sizeof *(P) ever becomes 2 or greater. So use this macro instead of using x2realloc directly. */ #define X2REALLOC(P, PN) ((void) verify_true (sizeof *(P) == 1), \ x2realloc (P, PN)) #include "unlocked-io.h" #include "same-inode.h" #include "dirname.h" #include "openat.h" static inline bool dot_or_dotdot (char const *file_name) { if (file_name[0] == '.') { char sep = file_name[(file_name[1] == '.') + 1]; return (! sep || ISSLASH (sep)); } else return false; } /* A wrapper for readdir so that callers don't see entries for `.' or `..'. */ static inline struct dirent const * readdir_ignoring_dot_and_dotdot (DIR *dirp) { while (1) { struct dirent const *dp = readdir (dirp); if (dp == NULL || ! dot_or_dotdot (dp->d_name)) return dp; } } /* Return true if DIR is determined to be an empty directory. */ static inline bool is_empty_dir (int fd_cwd, char const *dir) { DIR *dirp; struct dirent const *dp; int saved_errno; int fd = openat (fd_cwd, dir, (O_RDONLY | O_DIRECTORY | O_NOCTTY | O_NOFOLLOW | O_NONBLOCK)); if (fd < 0) return false; dirp = fdopendir (fd); if (dirp == NULL) { close (fd); return false; } errno = 0; dp = readdir_ignoring_dot_and_dotdot (dirp); saved_errno = errno; closedir (dirp); if (dp != NULL) return false; return saved_errno == 0 ? true : false; } /* Factor out some of the common --help and --version processing code. */ /* These enum values cannot possibly conflict with the option values ordinarily used by commands, including CHAR_MAX + 1, etc. Avoid CHAR_MIN - 1, as it may equal -1, the getopt end-of-options value. */ enum { GETOPT_HELP_CHAR = (CHAR_MIN - 2), GETOPT_VERSION_CHAR = (CHAR_MIN - 3) }; #define GETOPT_HELP_OPTION_DECL \ "help", no_argument, NULL, GETOPT_HELP_CHAR #define GETOPT_VERSION_OPTION_DECL \ "version", no_argument, NULL, GETOPT_VERSION_CHAR #define GETOPT_SELINUX_CONTEXT_OPTION_DECL \ "context", required_argument, NULL, 'Z' #define case_GETOPT_HELP_CHAR \ case GETOPT_HELP_CHAR: \ usage (EXIT_SUCCESS); \ break; /* Program_name must be a literal string. Usually it is just PROGRAM_NAME. */ #define USAGE_BUILTIN_WARNING \ _("\n" \ "NOTE: your shell may have its own version of %s, which usually supersedes\n" \ "the version described here. Please refer to your shell's documentation\n" \ "for details about the options it supports.\n") #define HELP_OPTION_DESCRIPTION \ _(" --help display this help and exit\n") #define VERSION_OPTION_DESCRIPTION \ _(" --version output version information and exit\n") #include "closein.h" #include "closeout.h" #include "version-etc.h" #include "propername.h" /* Define away proper_name (leaving proper_name_utf8, which affects far fewer programs), since it's not worth the cost of adding ~17KB to the x86_64 text size of every single program. This avoids a 40% (almost ~2MB) increase in the on-disk space utilization for the set of the 100 binaries. */ #define proper_name(x) (x) #define case_GETOPT_VERSION_CHAR(Program_name, Authors) \ case GETOPT_VERSION_CHAR: \ version_etc (stdout, Program_name, PACKAGE_NAME, VERSION, Authors, \ (char *) NULL); \ exit (EXIT_SUCCESS); \ break; #ifndef MAX # define MAX(a, b) ((a) > (b) ? (a) : (b)) #endif #ifndef MIN # define MIN(a,b) (((a) < (b)) ? (a) : (b)) #endif #include "intprops.h" #ifndef SSIZE_MAX # define SSIZE_MAX TYPE_MAXIMUM (ssize_t) #endif #ifndef OFF_T_MIN # define OFF_T_MIN TYPE_MINIMUM (off_t) #endif #ifndef OFF_T_MAX # define OFF_T_MAX TYPE_MAXIMUM (off_t) #endif #ifndef UID_T_MAX # define UID_T_MAX TYPE_MAXIMUM (uid_t) #endif #ifndef GID_T_MAX # define GID_T_MAX TYPE_MAXIMUM (gid_t) #endif #ifndef PID_T_MAX # define PID_T_MAX TYPE_MAXIMUM (pid_t) #endif /* Use this to suppress gcc's `...may be used before initialized' warnings. */ #ifdef lint # define IF_LINT(Code) Code #else # define IF_LINT(Code) /* empty */ #endif #ifndef __attribute__ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) # define __attribute__(x) /* empty */ # endif #endif #ifndef ATTRIBUTE_NORETURN # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) #endif #ifndef ATTRIBUTE_UNUSED # define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) #endif #if defined strdupa # define ASSIGN_STRDUPA(DEST, S) \ do { DEST = strdupa (S); } while (0) #else # define ASSIGN_STRDUPA(DEST, S) \ do \ { \ const char *s_ = (S); \ size_t len_ = strlen (s_) + 1; \ char *tmp_dest_ = alloca (len_); \ DEST = memcpy (tmp_dest_, s_, len_); \ } \ while (0) #endif #ifndef EOVERFLOW # define EOVERFLOW EINVAL #endif #if ! HAVE_SYNC # define sync() /* empty */ #endif /* Compute the greatest common divisor of U and V using Euclid's algorithm. U and V must be nonzero. */ static inline size_t gcd (size_t u, size_t v) { do { size_t t = u % v; u = v; v = t; } while (v); return u; } /* Compute the least common multiple of U and V. U and V must be nonzero. There is no overflow checking, so callers should not specify outlandish sizes. */ static inline size_t lcm (size_t u, size_t v) { return u * (v / gcd (u, v)); } /* Return PTR, aligned upward to the next multiple of ALIGNMENT. ALIGNMENT must be nonzero. The caller must arrange for ((char *) PTR) through ((char *) PTR + ALIGNMENT - 1) to be addressable locations. */ static inline void * ptr_align (void const *ptr, size_t alignment) { char const *p0 = ptr; char const *p1 = p0 + alignment - 1; return (void *) (p1 - (size_t) p1 % alignment); } /* If 10*Accum + Digit_val is larger than the maximum value for Type, then don't update Accum and return false to indicate it would overflow. Otherwise, set Accum to that new value and return true. Verify at compile-time that Type is Accum's type, and that Type is unsigned. Accum must be an object, so that we can take its address. Accum and Digit_val may be evaluated multiple times. The "Added check" below is not strictly required, but it causes GCC to return a nonzero exit status instead of merely a warning diagnostic, and that is more useful. */ #define DECIMAL_DIGIT_ACCUMULATE(Accum, Digit_val, Type) \ ( \ (void) (&(Accum) == (Type *) NULL), /* The type matches. */ \ (void) verify_true (! TYPE_SIGNED (Type)), /* The type is unsigned. */ \ (void) verify_true (sizeof (Accum) == sizeof (Type)), /* Added check. */ \ (((Type) -1 / 10 < (Accum) \ || (Type) ((Accum) * 10 + (Digit_val)) < (Accum)) \ ? false : (((Accum) = (Accum) * 10 + (Digit_val)), true)) \ ) static inline void emit_bug_reporting_address (void) { /* TRANSLATORS: The placeholder indicates the bug-reporting address for this package. Please add _another line_ saying "Report translation bugs to <...>\n" with the address for translation bugs (typically your translation team's web or email address). */ printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT); } dc3dd-7.1.614/src/Makefile.am0000644000175000017500000000130611235630477015272 0ustar amedicoamedicobin_PROGRAMS = dc3dd noinst_HEADERS = system.h if COND_USE_HDPARM dc3dd_SOURCES = dc3dd.c hdparm/hpa_dco.c hdparm/identify.c hdparm/sgio.c else dc3dd_SOURCES = dc3dd.c endif AM_CPPFLAGS = -I$(top_srcdir)/lib # Sometimes, the expansion of $(LIBINTL) includes -lc which may # include modules defining variables like `optind', so libcoreutils.a # must precede $(LIBINTL) in order to ensure we use GNU getopt. # But libcoreutils.a must also follow $(LIBINTL), since libintl uses # replacement functions defined in libcoreutils.a. # TODO: is this the right place for -lpthread? LDADD = ../lib/libcoreutils.a $(LIBINTL) ../lib/libcoreutils.a -lpthread dc3dd_LDADD = $(LDADD) $(LIB_GETHRXTIME) $(LIB_FDATASYNC) dc3dd-7.1.614/src/hdparm/0000755000175000017500000000000011613550423014501 5ustar amedicoamedicodc3dd-7.1.614/src/hdparm/hpa_dco.c0000644000175000017500000000670211075206721016250 0ustar amedicoamedico/* hpa_dco.c * Modified by Andrew Medico * DC3/DCCI * 19 September 2008 * * Dervied from hdparm.c by Mark Lord */ /* hdparm.c - Command line interface to get/set hard disk parameters */ /* - by Mark Lord (C) 1994-2008 -- freely distributable */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "hdparm.h" #include "sgio.h" #include "hpa_dco.h" const int timeout_12secs = 12; __u64 get_lba_capacity (__u16 *idw) { __u64 nsects = (idw[58] << 16) | idw[57]; if (idw[49] & 0x200) { nsects = (idw[61] << 16) | idw[60]; if ((idw[83] & 0xc000) == 0x4000 && (idw[86] & 0x0400)) { nsects = (idw[103] << 16) | idw[102]; nsects = (nsects << 32) | ((idw[101] << 16) | idw[100]); } } return nsects; } static __u8 last_identify_op = 0; void *get_identify_data (int fd, void *prev) { static __u8 args[4+512]; __u16 *id = (void *)(args + 4); int i; if (prev != (void *)-1) return prev; memset(args, 0, sizeof(args)); last_identify_op = ATA_OP_IDENTIFY; args[0] = last_identify_op; args[3] = 1; if (do_drive_cmd(fd, args)) { last_identify_op = ATA_OP_PIDENTIFY; args[0] = last_identify_op; args[1] = 0; args[2] = 0; args[3] = 1; if (do_drive_cmd(fd, args)) { //perror(" HDIO_DRIVE_CMD(identify) failed"); return NULL; } } /* byte-swap the little-endian IDENTIFY data to match byte-order on host CPU */ for (i = 0; i < 0x100; ++i) __le16_to_cpus(&id[i]); return id; } void *get_dci_data (int fd, void *prev) { static __u8 args[4+512]; __u16* dci = (void*)(args+4); if (prev != (void*)-1) return prev; memset(args, 0, sizeof(args)); args[0] = ATA_OP_DEVICE_CONFIG_IDENTIFY; args[2] = 0xC2; args[3] = 1; if (do_drive_cmd(fd, args)) { //perror(" ATA_OP_DEVICE_CONFIG_IDENTIFY failed"); return NULL; } return dci; } __u64 get_dci_maximum_lba (__u16* dci) { __u64 sectors_before_dco = (__u64)dci[6]<<48 | (__u64)dci[5]<<32 | (__u64)dci[4]<<16 | (__u64)dci[3]; sectors_before_dco += 1; return sectors_before_dco; } __u64 do_get_native_max_sectors (int fd, __u16 *id) { int err = 0; __u64 max = 0; struct hdio_taskfile r; memset(&r, 0, sizeof(r)); r.cmd_req = TASKFILE_CMD_REQ_NODATA; r.dphase = TASKFILE_DPHASE_NONE; r.oflags.b.dev = 1; r.oflags.b.command = 1; r.iflags.b.command = 1; r.iflags.b.lbal = 1; r.iflags.b.lbam = 1; r.iflags.b.lbah = 1; r.lob.dev = 0x40; if (((id[83] & 0xc400) == 0x4400) && (id[86] & 0x0400)) { r.iflags.b.hob_lbal = 1; r.iflags.b.hob_lbam = 1; r.iflags.b.hob_lbah = 1; r.lob.command = ATA_OP_READ_NATIVE_MAX_EXT; if (do_taskfile_cmd(fd, &r, 10)) { err = errno; //perror (" READ_NATIVE_MAX_ADDRESS_EXT failed"); } else { max = (((__u64)((r.hob.lbah << 16) | (r.hob.lbam << 8) | r.hob.lbal) << 24) | ((r.lob.lbah << 16) | (r.lob.lbam << 8) | r.lob.lbal)) + 1; } } else { r.iflags.b.dev = 1; r.lob.command = ATA_OP_READ_NATIVE_MAX; if (do_taskfile_cmd(fd, &r, timeout_12secs)) { err = errno; //perror (" READ_NATIVE_MAX_ADDRESS failed"); } else { max = ((r.lob.lbah << 16) | (r.lob.lbam << 8) | r.lob.lbal) + 1; } } errno = err; return max; } dc3dd-7.1.614/src/hdparm/hdparm.h0000644000175000017500000000456311075206721016136 0ustar amedicoamedico/* Some prototypes for extern functions. */ #include #if !defined(__GNUC__) && !defined(__attribute__) #define __attribute__(x) #endif void identify (__u16 *id_supplied); void usage_error(int out) __attribute__((noreturn)); void no_scsi (void); void no_xt (void); void process_dev (char *devname); int sysfs_get_attr (int fd, const char *attr, const char *fmt, void *val1, void *val2, int verbose); int sysfs_set_attr (int fd, const char *attr, const char *fmt, void *val_p, int verbose); int get_dev_geometry (int fd, __u32 *cyls, __u32 *heads, __u32 *sects, __u64 *start_lba, __u64 *nsectors); int get_dev_t_geometry (dev_t dev, __u32 *cyls, __u32 *heads, __u32 *sects, __u64 *start_lba, __u64 *nsectors); int do_fibmap(const char *file_name, __u64 target_sect, __u64 *target_lba); struct local_hd_big_geometry { unsigned char heads; unsigned char sectors; unsigned int cylinders; unsigned long start; }; struct local_hd_geometry { unsigned char heads; unsigned char sectors; unsigned short cylinders; unsigned long start; /* mmm.. on 32-bit, this limits us to LBA32, 2TB max offset */ }; enum { /* ioctl() numbers */ HDIO_DRIVE_CMD = 0x031f, HDIO_DRIVE_RESET = 0x031c, HDIO_DRIVE_TASK = 0x031e, HDIO_DRIVE_TASKFILE = 0x031d, HDIO_GETGEO = 0x0301, HDIO_GETGEO_BIG = 0x0330, HDIO_GET_32BIT = 0x0309, HDIO_GET_ACOUSTIC = 0x030f, HDIO_GET_BUSSTATE = 0x031a, HDIO_GET_DMA = 0x030b, HDIO_GET_IDENTITY = 0x030d, HDIO_GET_KEEPSETTINGS = 0x0308, HDIO_GET_MULTCOUNT = 0x0304, HDIO_GET_NOWERR = 0x030a, HDIO_GET_QDMA = 0x0305, HDIO_GET_UNMASKINTR = 0x0302, HDIO_OBSOLETE_IDENTITY = 0x0307, HDIO_SCAN_HWIF = 0x0328, HDIO_SET_32BIT = 0x0324, HDIO_SET_ACOUSTIC = 0x032c, HDIO_SET_BUSSTATE = 0x032d, HDIO_SET_DMA = 0x0326, HDIO_SET_KEEPSETTINGS = 0x0323, HDIO_SET_MULTCOUNT = 0x0321, HDIO_SET_NOWERR = 0x0325, HDIO_SET_PIO_MODE = 0x0327, HDIO_SET_QDMA = 0x032e, HDIO_SET_UNMASKINTR = 0x0322, HDIO_SET_WCACHE = 0x032b, HDIO_TRISTATE_HWIF = 0x031b, HDIO_UNREGISTER_HWIF = 0x032a, CDROM__SPEED = 0x5322, }; /* Some systems define BLKGETSIZE64 with a "u64" arg, * but without supplying a typedef for u64. * The only real workaround here is to define it locally, * instead of using the system def from */ #ifdef BLKGETSIZE64 #undef BLKGETSIZE64 #endif #define BLKGETSIZE64 _IOR(0x12,114,__u64) dc3dd-7.1.614/src/hdparm/identify.c0000644000175000017500000013267711075206721016501 0ustar amedicoamedico/* identify.c - by Mark Lord (C) 2000-2007 -- freely distributable */ #include #include #include #include #include #include #if __BYTE_ORDER == __BIG_ENDIAN #define __USE_XOPEN #endif #include #include "hdparm.h" /* device types */ /* ------------ */ #define NO_DEV 0xffff #define ATA_DEV 0x0000 #define ATAPI_DEV 0x0001 /* word definitions */ /* ---------------- */ #define GEN_CONFIG 0 /* general configuration */ #define LCYLS 1 /* number of logical cylinders */ #define CONFIG 2 /* specific configuration */ #define LHEADS 3 /* number of logical heads */ #define TRACK_BYTES 4 /* number of bytes/track (ATA-1) */ #define SECT_BYTES 5 /* number of bytes/sector (ATA-1) */ #define LSECTS 6 /* number of logical sectors/track */ #define START_SERIAL 10 /* ASCII serial number */ #define LENGTH_SERIAL 10 /* 10 words (20 bytes or characters) */ #define BUF_TYPE 20 /* buffer type (ATA-1) */ #define BUF_SIZE 21 /* buffer size (ATA-1) */ #define RW_LONG 22 /* extra bytes in R/W LONG cmd ( < ATA-4)*/ #define START_FW_REV 23 /* ASCII firmware revision */ #define LENGTH_FW_REV 4 /* 4 words (8 bytes or characters) */ #define START_MODEL 27 /* ASCII model number */ #define LENGTH_MODEL 20 /* 20 words (40 bytes or characters) */ #define SECTOR_XFER_MAX 47 /* r/w multiple: max sectors xfered */ #define DWORD_IO 48 /* can do double-word IO (ATA-1 only) */ #define CAPAB_0 49 /* capabilities */ #define CAPAB_1 50 #define PIO_MODE 51 /* max PIO mode supported (obsolete)*/ #define DMA_MODE 52 /* max Singleword DMA mode supported (obs)*/ #define WHATS_VALID 53 /* what fields are valid */ #define LCYLS_CUR 54 /* current logical cylinders */ #define LHEADS_CUR 55 /* current logical heads */ #define LSECTS_CUR 56 /* current logical sectors/track */ #define CAPACITY_LSB 57 /* current capacity in sectors */ #define CAPACITY_MSB 58 #define SECTOR_XFER_CUR 59 /* r/w multiple: current sectors xfered */ #define LBA_SECTS_LSB 60 /* LBA: total number of user */ #define LBA_SECTS_MSB 61 /* addressable sectors */ #define SINGLE_DMA 62 /* singleword DMA modes */ #define MULTI_DMA 63 /* multiword DMA modes */ #define ADV_PIO_MODES 64 /* advanced PIO modes supported */ /* multiword DMA xfer cycle time: */ #define DMA_TIME_MIN 65 /* - minimum */ #define DMA_TIME_NORM 66 /* - manufacturer's recommended */ /* minimum PIO xfer cycle time: */ #define PIO_NO_FLOW 67 /* - without flow control */ #define PIO_FLOW 68 /* - with IORDY flow control */ #define PKT_REL 71 /* typical #ns from PKT cmd to bus rel */ #define SVC_NBSY 72 /* typical #ns from SERVICE cmd to !BSY */ #define CDR_MAJOR 73 /* CD ROM: major version number */ #define CDR_MINOR 74 /* CD ROM: minor version number */ #define QUEUE_DEPTH 75 /* queue depth */ #define SATA_CAP_0 76 /* Serial ATA Capabilities */ #define SATA_RESERVED_77 77 /* reserved for future Serial ATA definition */ #define SATA_SUPP_0 78 /* Serial ATA features supported */ #define SATA_EN_0 79 /* Serial ATA features enabled */ #define MAJOR 80 /* major version number */ #define MINOR 81 /* minor version number */ #define CMDS_SUPP_0 82 /* command/feature set(s) supported */ #define CMDS_SUPP_1 83 #define CMDS_SUPP_2 84 #define CMDS_EN_0 85 /* command/feature set(s) enabled */ #define CMDS_EN_1 86 #define CMDS_EN_2 87 #define ULTRA_DMA 88 /* ultra DMA modes */ /* time to complete security erase */ #define ERASE_TIME 89 /* - ordinary */ #define ENH_ERASE_TIME 90 /* - enhanced */ #define ADV_PWR 91 /* current advanced power management level in low byte, 0x40 in high byte. */ #define PSWD_CODE 92 /* master password revision code */ #define HWRST_RSLT 93 /* hardware reset result */ #define ACOUSTIC 94 /* acoustic mgmt values ( >= ATA-6) */ #define LBA_LSB 100 /* LBA: maximum. Currently only 48 */ #define LBA_MID 101 /* bits are used, but addr 103 */ #define LBA_48_MSB 102 /* has been reserved for LBA in */ #define LBA_64_MSB 103 /* the future. */ #define CMDS_SUPP_3 119 #define CMDS_EN_3 120 #define RM_STAT 127 /* removable media status notification feature set support */ #define SECU_STATUS 128 /* security status */ #define CFA_PWR_MODE 160 /* CFA power mode 1 */ #define START_MEDIA 176 /* media serial number */ #define LENGTH_MEDIA 20 /* 20 words (40 bytes or characters)*/ #define START_MANUF 196 /* media manufacturer I.D. */ #define LENGTH_MANUF 10 /* 10 words (20 bytes or characters) */ #define SCT_SUPP 206 /* SMART command transport (SCT) support */ #define TRANSPORT_MAJOR 222 /* PATA vs. SATA etc.. */ #define TRANSPORT_MINOR 223 /* minor revision number */ #define INTEGRITY 255 /* integrity word */ /* bit definitions within the words */ /* -------------------------------- */ /* many words are considered valid if bit 15 is 0 and bit 14 is 1 */ #define VALID 0xc000 #define VALID_VAL 0x4000 /* many words are considered invalid if they are either all-0 or all-1 */ #define NOVAL_0 0x0000 #define NOVAL_1 0xffff /* word 0: gen_config */ #define NOT_ATA 0x8000 #define NOT_ATAPI 0x4000 /* (check only if bit 15 == 1) */ #define MEDIA_REMOVABLE 0x0080 #define DRIVE_NOT_REMOVABLE 0x0040 /* bit obsoleted in ATA 6 */ #define INCOMPLETE 0x0004 #define CFA_SUPPORT_VAL1 0x848a /* 848a=CFA feature set support */ #define CFA_SUPPORT_VAL2 0x844a /* 844a=also means CFA feature set support */ #define DRQ_RESPONSE_TIME 0x0060 #define DRQ_3MS_VAL 0x0000 #define DRQ_INTR_VAL 0x0020 #define DRQ_50US_VAL 0x0040 #define PKT_SIZE_SUPPORTED 0x0003 #define PKT_SIZE_12_VAL 0x0000 #define PKT_SIZE_16_VAL 0x0001 #define EQPT_TYPE 0x1f00 #define SHIFT_EQPT 8 #define CDROM 0x0005 const char *pkt_str[] = { "Direct-access device", /* word 0, bits 12-8 = 00 */ "Sequential-access device", /* word 0, bits 12-8 = 01 */ "Printer", /* word 0, bits 12-8 = 02 */ "Processor", /* word 0, bits 12-8 = 03 */ "Write-once device", /* word 0, bits 12-8 = 04 */ "CD-ROM", /* word 0, bits 12-8 = 05 */ "Scanner", /* word 0, bits 12-8 = 06 */ "Optical memory", /* word 0, bits 12-8 = 07 */ "Medium changer", /* word 0, bits 12-8 = 08 */ "Communications device", /* word 0, bits 12-8 = 09 */ "ACS-IT8 device", /* word 0, bits 12-8 = 0a */ "ACS-IT8 device", /* word 0, bits 12-8 = 0b */ "Array controller", /* word 0, bits 12-8 = 0c */ "Enclosure services", /* word 0, bits 12-8 = 0d */ "Reduced block command device", /* word 0, bits 12-8 = 0e */ "Optical card reader/writer", /* word 0, bits 12-8 = 0f */ "", /* word 0, bits 12-8 = 10 */ "", /* word 0, bits 12-8 = 11 */ "", /* word 0, bits 12-8 = 12 */ "", /* word 0, bits 12-8 = 13 */ "", /* word 0, bits 12-8 = 14 */ "", /* word 0, bits 12-8 = 15 */ "", /* word 0, bits 12-8 = 16 */ "", /* word 0, bits 12-8 = 17 */ "", /* word 0, bits 12-8 = 18 */ "", /* word 0, bits 12-8 = 19 */ "", /* word 0, bits 12-8 = 1a */ "", /* word 0, bits 12-8 = 1b */ "", /* word 0, bits 12-8 = 1c */ "", /* word 0, bits 12-8 = 1d */ "", /* word 0, bits 12-8 = 1e */ "Unknown", /* word 0, bits 12-8 = 1f */ }; const char *ata1_cfg_str[] = { /* word 0 in ATA-1 mode */ "reserved", /* bit 0 */ "hard sectored", /* bit 1 */ "soft sectored", /* bit 2 */ "not MFM encoded ", /* bit 3 */ "head switch time > 15us", /* bit 4 */ "spindle motor control option", /* bit 5 */ "fixed drive", /* bit 6 */ "removable drive", /* bit 7 */ "disk xfer rate <= 5Mbs", /* bit 8 */ "disk xfer rate > 5Mbs, <= 10Mbs", /* bit 9 */ "disk xfer rate > 5Mbs", /* bit 10 */ "rotational speed tol.", /* bit 11 */ "data strobe offset option", /* bit 12 */ "track offset option", /* bit 13 */ "format speed tolerance gap reqd", /* bit 14 */ "ATAPI" /* bit 14 */ }; /* word 1: number of logical cylinders */ #define LCYLS_MAX 0x3fff /* maximum allowable value */ /* word 2: specific configureation * (a) require SET FEATURES to spin-up * (b) require spin-up to fully reply to IDENTIFY DEVICE */ #define STBY_NID_VAL 0x37c8 /* (a) and (b) */ #define STBY_ID_VAL 0x738c /* (a) and not (b) */ #define PWRD_NID_VAL 0x8c73 /* not (a) and (b) */ #define PWRD_ID_VAL 0xc837 /* not (a) and not (b) */ /* words 47 & 59: sector_xfer_max & sector_xfer_cur */ #define SECTOR_XFER 0x00ff /* sectors xfered on r/w multiple cmds*/ #define MULTIPLE_SETTING_VALID 0x0100 /* 1=multiple sector setting is valid */ /* word 49: capabilities 0 */ #define STD_STBY 0x2000 /* 1=standard values supported (ATA); 0=vendor specific values */ #define IORDY_SUP 0x0800 /* 1=support; 0=may be supported */ #define IORDY_OFF 0x0400 /* 1=may be disabled */ #define LBA_SUP 0x0200 /* 1=Logical Block Address support */ #define DMA_SUP 0x0100 /* 1=Direct Memory Access support */ #define DMA_IL_SUP 0x8000 /* 1=interleaved DMA support (ATAPI) */ #define CMD_Q_SUP 0x4000 /* 1=command queuing support (ATAPI) */ #define OVLP_SUP 0x2000 /* 1=overlap operation support (ATAPI) */ #define SWRST_REQ 0x1000 /* 1=ATA SW reset required (ATAPI, obsolete */ /* word 50: capabilities 1 */ #define MIN_STANDBY_TIMER 0x0001 /* 1=device specific standby timer value minimum */ /* words 51 & 52: PIO & DMA cycle times */ #define MODE 0xff00 /* the mode is in the MSBs */ /* word 53: whats_valid */ #define OK_W88 0x0004 /* the ultra_dma info is valid */ #define OK_W64_70 0x0002 /* see above for word descriptions */ #define OK_W54_58 0x0001 /* current cyl, head, sector, cap. info valid */ /*word 63,88: dma_mode, ultra_dma_mode*/ #define MODE_MAX 7 /* bit definitions force udma <=7 (when * udma >=8 comes out it'll have to be * defined in a new dma_mode word!) */ /* word 64: PIO transfer modes */ #define PIO_SUP 0x00ff /* only bits 0 & 1 are used so far, */ #define PIO_MODE_MAX 8 /* but all 8 bits are defined */ /* word 75: queue_depth */ #define DEPTH_BITS 0x001f /* bits used for queue depth */ /* words 80-81: version numbers */ /* NOVAL_0 or NOVAL_1 means device does not report version */ /* word 81: minor version number */ #define MINOR_MAX 0x22 const char *minor_str[MINOR_MAX+2] = { /* word 81 value: */ "Unspecified", /* 0x0000 */ "ATA-1 X3T9.2 781D prior to revision 4", /* 0x0001 */ "ATA-1 published, ANSI X3.221-1994", /* 0x0002 */ "ATA-1 X3T9.2 781D revision 4", /* 0x0003 */ "ATA-2 published, ANSI X3.279-1996", /* 0x0004 */ "ATA-2 X3T10 948D prior to revision 2k", /* 0x0005 */ "ATA-3 X3T10 2008D revision 1", /* 0x0006 */ "ATA-2 X3T10 948D revision 2k", /* 0x0007 */ "ATA-3 X3T10 2008D revision 0", /* 0x0008 */ "ATA-2 X3T10 948D revision 3", /* 0x0009 */ "ATA-3 published, ANSI X3.298-199x", /* 0x000a */ "ATA-3 X3T10 2008D revision 6", /* 0x000b */ "ATA-3 X3T13 2008D revision 7 and 7a", /* 0x000c */ "ATA/ATAPI-4 X3T13 1153D revision 6", /* 0x000d */ "ATA/ATAPI-4 T13 1153D revision 13", /* 0x000e */ "ATA/ATAPI-4 X3T13 1153D revision 7", /* 0x000f */ "ATA/ATAPI-4 T13 1153D revision 18", /* 0x0010 */ "ATA/ATAPI-4 T13 1153D revision 15", /* 0x0011 */ "ATA/ATAPI-4 published, ANSI INCITS 317-1998", /* 0x0012 */ "ATA/ATAPI-5 T13 1321D revision 3", "ATA/ATAPI-4 T13 1153D revision 14", /* 0x0014 */ "ATA/ATAPI-5 T13 1321D revision 1", /* 0x0015 */ "ATA/ATAPI-5 published, ANSI INCITS 340-2000", /* 0x0016 */ "ATA/ATAPI-4 T13 1153D revision 17", /* 0x0017 */ "ATA/ATAPI-6 T13 1410D revision 0", /* 0x0018 */ "ATA/ATAPI-6 T13 1410D revision 3a", /* 0x0019 */ "ATA/ATAPI-7 T13 1532D revision 1", /* 0x001a */ "ATA/ATAPI-6 T13 1410D revision 2", /* 0x001b */ "ATA/ATAPI-6 T13 1410D revision 1", /* 0x001c */ "ATA/ATAPI-7 published, ANSI INCITS 397-2005", /* 0x001d */ "ATA/ATAPI-7 T13 1532D revision 0", /* 0x001e */ "Reserved", /* 0x001f */ "Reserved", /* 0x0020 */ "ATA/ATAPI-7 T13 1532D revision 4a", /* 0x0021 */ "ATA/ATAPI-6 published, ANSI INCITS 361-2002", /* 0x0022 */ "Reserved", /* 0x0023-0xfffe*/ }; const char actual_ver[MINOR_MAX+2] = { /* word 81 value: */ 0, /* 0x0000 WARNING: */ 1, /* 0x0001 WARNING: */ 1, /* 0x0002 WARNING: */ 1, /* 0x0003 WARNING: */ 2, /* 0x0004 WARNING: This array */ 2, /* 0x0005 WARNING: corresponds */ 3, /* 0x0006 WARNING: *exactly* */ 2, /* 0x0007 WARNING: to the ATA/ */ 3, /* 0x0008 WARNING: ATAPI version */ 2, /* 0x0009 WARNING: listed in */ 3, /* 0x000a WARNING: the */ 3, /* 0x000b WARNING: minor_str */ 3, /* 0x000c WARNING: array */ 4, /* 0x000d WARNING: above. */ 4, /* 0x000e WARNING: */ 4, /* 0x000f WARNING: if you change */ 4, /* 0x0010 WARNING: that one, */ 4, /* 0x0011 WARNING: change this one */ 4, /* 0x0012 WARNING: too!!! */ 5, /* 0x0013 WARNING: */ 4, /* 0x0014 WARNING: */ 5, /* 0x0015 WARNING: */ 5, /* 0x0016 WARNING: */ 4, /* 0x0017 WARNING: */ 6, /* 0x0018 WARNING: */ 6, /* 0x0019 WARNING: */ 7, /* 0x001a WARNING: */ 6, /* 0x001b WARNING: */ 6, /* 0x001c WARNING: */ 7, /* 0x001d WARNING: */ 7, /* 0x001e WARNING: */ 0, /* 0x001f WARNING: */ 0, /* 0x0020 WARNING: */ 7, /* 0x0021 WARNING: */ 6, /* 0x0022 WARNING: */ 0 /* 0x0023-0xfffe */ }; /* words 82-84: cmds/feats supported */ #define CMDS_W82 0x77ff /* word 82: defined command locations*/ #define CMDS_W83 0x3fff /* word 83: defined command locations*/ #define CMDS_W84 0x27ff /* word 84: defined command locations*/ #define SUPPORT_48_BIT 0x0400 #define NUM_CMD_FEAT_STR 48 static const char unknown[8] = "obsolete"; //static const char unknown[8] = "unknown"; #define unknown "unknown-" static const char *feat_word82_str[16] = { "obsolete 82[15]", /* word 82 bit 15: obsolete */ "NOP cmd", /* word 82 bit 14 */ "READ_BUFFER command", /* word 82 bit 13 */ "WRITE_BUFFER command", /* word 82 bit 12 */ "WRITE_VERIFY command", /* word 82 bit 11: obsolete */ "Host Protected Area feature set", /* word 82 bit 10 */ "DEVICE_RESET command", /* word 82 bit 9 */ "SERVICE interrupt", /* word 82 bit 8 */ "Release interrupt", /* word 82 bit 7 */ "Look-ahead", /* word 82 bit 6 */ "Write cache", /* word 82 bit 5 */ "PACKET command feature set", /* word 82 bit 4 */ "Power Management feature set", /* word 82 bit 3 */ "Removable Media feature set", /* word 82 bit 2 */ "Security Mode feature set", /* word 82 bit 1 */ "SMART feature set" /* word 82 bit 0 */ }; static const char *feat_word83_str[16] = { NULL, /* word 83 bit 15: !valid bit */ NULL, /* word 83 bit 14: valid bit */ "FLUSH_CACHE_EXT", /* word 83 bit 13 */ "Mandatory FLUSH_CACHE", /* word 83 bit 12 */ "Device Configuration Overlay feature set", /* word 83 bit 11 */ "48-bit Address feature set", /* word 83 bit 10 */ "Automatic Acoustic Management feature set", /* word 83 bit 9 */ "SET_MAX security extension", /* word 83 bit 8 */ "Address Offset Reserved Area Boot", /* word 83 bit 7 */ "SET_FEATURES required to spinup after power up",/* word 83 bit 6 */ "Power-Up In Standby feature set", /* word 83 bit 5 */ "Removable Media Status Notification feature set",/* word 83 bit 4 */ "Advanced Power Management feature set", /* word 83 bit 3 */ "CFA feature set", /* word 83 bit 2 */ "READ/WRITE_DMA_QUEUED", /* word 83 bit 1 */ "DOWNLOAD_MICROCODE" /* word 83 bit 0 */ }; static const char *feat_word84_str[16] = { NULL, /* word 84 bit 15: !valid bit */ NULL, /* word 84 bit 14: valid bit */ "IDLE_IMMEDIATE with UNLOAD", /* word 84 bit 13 */ "Command Completion Time Limit (CCTL)", /* word 84 bit 12 (ref: dt1696) */ "Time Limited Commands (TLC) feature set", /* word 84 bit 11 (ref: dt1696) */ "URG for WRITE_STREAM[_DMA]_EXT", /* word 84 bit 10 */ "URG for READ_STREAM[_DMA]_EXT", /* word 84 bit 9 */ "64-bit World wide name", /* word 84 bit 8 */ "WRITE_DMA_QUEUED_FUA_EXT", /* word 84 bit 7 */ "WRITE_{DMA|MULTIPLE}_FUA_EXT", /* word 84 bit 6 */ "General Purpose Logging feature set", /* word 84 bit 5 */ "Media Card Pass-Through", /* word 84 bit 4 */ "Media Card Pass Through Command feature set", /* word 84 bit 3 */ "Media serial number", /* word 84 bit 2 */ "SMART self-test", /* word 84 bit 1 */ "SMART error logging" /* word 84 bit 0 */ }; static const char *feat_3_str[16] = { NULL, /* word 119 bit 15: !valid bit */ NULL, /* word 119 bit 14: valid bit */ "unknown 119[13]", /* word 119 bit 13 */ "unknown 119[12]", /* word 119 bit 12 */ "unknown 119[11]", /* word 119 bit 11 */ "unknown 119[10]", /* word 119 bit 10 */ "unknown 119[9]", /* word 119 bit 9 */ "unknown 119[8]", /* word 119 bit 8 */ "unknown 119[7]", /* word 119 bit 7 */ "unknown 119[6]", /* word 119 bit 6 */ "Free-fall Control feature set", /* word 119 bit 5 */ "Segmented DOWNLOAD_MICROCODE", /* word 119 bit 4 */ "{READ,WRITE}_DMA_EXT_GPL commands", /* word 119 bit 3 */ "WRITE_UNCORRECTABLE_EXT command", /* word 119 bit 2 */ "Write-Read-Verify feature set", /* word 119 bit 1 */ "Disable Data Transfer After Error Detection" /* word 119 bit 0 (ref: 2014DT)*/ }; static const char *cap_sata0_str[16] = { "unknown 76[15]", /* word 76 bit 15 */ "unknown 76[14]", /* word 76 bit 14 */ "unknown 76[13]", /* word 76 bit 13 */ "unknown 76[12]", /* word 76 bit 12 */ "unknown 76[11]", /* word 76 bit 11 */ "Phy event counters", /* word 76 bit 10 */ "Host-initiated interface power management", /* word 76 bit 9 */ "Native Command Queueing (NCQ)", /* word 76 bit 8 */ "unknown 76[7]", /* word 76 bit 7 */ "unknown 76[6]", /* word 76 bit 6 */ "unknown 76[5]", /* word 76 bit 5 */ "unknown 76[4]", /* word 76 bit 4 */ "unknown 76[3]", /* word 76 bit 3 */ "SATA-II signaling speed (3.0Gb/s)", /* word 76 bit 2 */ "SATA-I signaling speed (1.5Gb/s)", /* word 76 bit 1 */ "unknown 76[0]" /* word 76 bit 0 */ }; static const char *feat_sata0_str[16] = { "unknown 78[15]", /* word 78 bit 15 */ "unknown 78[14]", /* word 78 bit 14 */ "unknown 78[13]", /* word 78 bit 13 */ "unknown 78[12]", /* word 78 bit 12 */ "unknown 78[11]", /* word 78 bit 11 */ "unknown 78[10]", /* word 78 bit 10 */ "unknown 78[9]", /* word 78 bit 9 */ "unknown 78[8]", /* word 78 bit 8 */ "unknown 78[7]", /* word 78 bit 7 */ "Software settings preservation", /* word 78 bit 6 */ "Asynchronous notification (eg. media change)", /* word 78 bit 5 */ "In-order data delivery", /* word 78 bit 4 */ "Device-initiated interface power management", /* word 78 bit 3 */ "DMA Setup Auto-Activate optimization", /* word 78 bit 2 */ "Non-Zero buffer offsets in DMA Setup FIS", /* word 78 bit 1 */ "unknown 78[0]" /* word 78 bit 0 */ }; /* words 85-87: cmds/feats enabled */ /* use cmd_feat_str[] to display what commands and features have * been enabled with words 85-87 */ #define WWN_SUP 0x100 /* 1=support; 0=not supported */ /* words 89, 90, SECU ERASE TIME */ #define ERASE_BITS 0x00ff /* word 92: master password revision */ /* NOVAL_0 or NOVAL_1 means no support for master password revision */ /* word 93: hw reset result */ #define CBLID 0x2000 /* CBLID status */ #define RST0 0x0001 /* 1=reset to device #0 */ #define DEV_DET 0x0006 /* how device num determined */ #define JUMPER_VAL 0x0002 /* device num determined by jumper */ #define CSEL_VAL 0x0004 /* device num determined by CSEL_VAL */ /* word 127: removable media status notification feature set support */ #define RM_STAT_BITS 0x0003 #define RM_STAT_SUP 0x0001 /* word 128: security */ #define SECU_ENABLED 0x0002 #define SECU_LEVEL 0x0100 /* was 0x0010 */ #define NUM_SECU_STR 6 const char *secu_str[] = { "supported", /* word 128, bit 0 */ "enabled", /* word 128, bit 1 */ "locked", /* word 128, bit 2 */ "frozen", /* word 128, bit 3 */ "expired: security count", /* word 128, bit 4 */ "supported: enhanced erase" /* word 128, bit 5 */ }; /* word 160: CFA power mode */ #define VALID_W160 0x8000 /* 1=word valid */ #define PWR_MODE_REQ 0x2000 /* 1=CFA power level 1 is NOT supported */ #define PWR_MODE_OFF 0x1000 /* 1=CFA power level 1 commands are DISABLED */ #define MAX_AMPS 0x0fff /* value = max current in milli-amperes (mA) */ /* word 206: SMART command transport (SCT) */ static const char *feat_sct_str[16] = { "unknown 206[15] (vendor specific)", /* word 206 bit 15 */ "unknown 206[14] (vendor specific)", /* word 206 bit 14 */ "unknown 206[13] (vendor specific)", /* word 206 bit 13 */ "unknown 206[12] (vendor specific)", /* word 206 bit 12 */ "unknown 206[11]", /* word 206 bit 11 */ "unknown 206[10]", /* word 206 bit 10 */ "unknown 206[9]", /* word 206 bit 9 */ "unknown 206[8]", /* word 206 bit 8 */ "unknown 206[7]", /* word 206 bit 7 */ "unknown 206[6]", /* word 206 bit 6 */ "SCT Data Tables (AC5)", /* word 206 bit 5 */ "SCT Features Control (AC4)", /* word 206 bit 4 */ "SCT Error Recovery Control (AC3)", /* word 206 bit 3 */ "SCT LBA Segment Access (AC2)", /* word 206 bit 2 */ "SCT Long Sector Access (AC1)", /* word 206 bit 1 */ "SMART Command Transport (SCT) feature set" /* word 206 bit 0 */ }; /* word 255: integrity */ #define SIG 0x00ff /* signature location */ #define SIG_VAL 0x00A5 /* signature value */ __u8 mode_loop(__u16 mode_sup, __u16 mode_sel, int cc, __u8 *have_mode); void print_ascii(__u16 *p, __u8 length); // Given a known-supported ATA major revision, // return the lowest possible supported ATA revision. // Each new revision seems to (sometimes) obsolete one // of the bits corresponding to an older revision. static __u16 min_ata_std (__u16 major) { if (major <= 4) // up to ata4, no obsolete bits return 1; if (major == 5) // ata5 obsoleted the ata1 bit return 2; if (major <= 7) // ata6,7 obsoleted the ata2 bit return 3; return 4; // ata8 obsoleted the ata3 bit } static void print_features (__u16 supported, __u16 enabled, const char *names[]) { int i; for (i = 0; i < 16; ++i) { __u16 mask = 1 << i; if ((supported & mask) && names[15 - i]) printf("\t %c\t%s\n", (enabled & mask) ? '*' : ' ', names[15 - i]); } } static int print_transport_type(__u16 val[]) { __u16 major = val[TRANSPORT_MAJOR], minor = val[TRANSPORT_MINOR]; unsigned int ttype, subtype, transport = 0; if (major == 0x0000 || major == 0xffff) { #if 0 printf("\t%-20snot reported","Transport:"); if ((val[SATA_CAP_0] && val[SATA_CAP_0] != 0xffff) || (val[SATA_SUPP_0] && val[SATA_SUPP_0] != 0xffff)) { printf(" (serial)"); } putchar('\n'); #endif return transport; } printf("\t%-20s","Transport:"); ttype = major >> 12; subtype = major & 0xfff; transport = ttype; switch (ttype) { case 0: printf("Parallel"); if (subtype & 1) printf(", ATA8-APT"); break; case 1: printf("Serial"); if (subtype & 0xf) { if (subtype & 1) printf(", ATA8-AST"); if (subtype & 2) printf(", SATA 1.0a"); if (subtype & 4) printf(", SATA II Extensions"); if (subtype & 8) printf(", SATA Rev 2.5"); } break; default: printf("0x%04x", major); break; } if (minor != 0x0000 && minor != 0xffff) { printf("; Revision: "); switch (minor) { case 0x21: printf("ATA8-AST T13 Project D1697 Revision 0b"); break; default: printf("0x%04x", minor); } } putchar('\n'); return transport; } /* our main() routine: */ void identify (__u16 *id_supplied) { __u16 val[256], ii, jj, kk; __u16 like_std = 1, std = 0, min_std = 0xffff; __u16 dev = NO_DEV, eqpt = NO_DEV; __u8 have_mode = 0, err_dma = 0; __u8 chksum = 0; __u32 ll, mm, nn; __u64 bb, bbbig; /* (:) */ int transport, is_cfa = 0, atapi_has_dmadir = 0, sdma_ok; memcpy(val, id_supplied, sizeof(val)); /* calculate checksum over all bytes */ for (ii = GEN_CONFIG; ii<=INTEGRITY; ii++) { chksum += val[ii] + (val[ii] >> 8); } /* check if we recognise the device type */ printf("\n"); if(!(val[GEN_CONFIG] & NOT_ATA)) { dev = ATA_DEV; printf("ATA device, with "); } else if(val[GEN_CONFIG]==CFA_SUPPORT_VAL1 || val[GEN_CONFIG]==CFA_SUPPORT_VAL2) { is_cfa = 1; dev = ATA_DEV; like_std = 4; printf("CompactFlash ATA device\n"); } else if(!(val[GEN_CONFIG] & NOT_ATAPI)) { dev = ATAPI_DEV; eqpt = (val[GEN_CONFIG] & EQPT_TYPE) >> SHIFT_EQPT; printf("ATAPI %s, with ", pkt_str[eqpt]); like_std = 3; } else { printf("Unknown device type:\n\tbits 15&14 of general configuration word 0 both set to 1.\n"); exit(EINVAL); } if (!is_cfa) { if(!(val[GEN_CONFIG] & MEDIA_REMOVABLE)) printf("non-"); printf("removable media\n"); } /* Info from the specific configuration word says whether or not the * ID command completed correctly. It is only defined, however in * ATA/ATAPI-5 & 6; it is reserved (value theoretically 0) in prior * standards. Since the values allowed for this word are extremely * specific, it should be safe to check it now, even though we don't * know yet what standard this device is using. */ if((val[CONFIG]==STBY_NID_VAL) || (val[CONFIG]==STBY_ID_VAL) || (val[CONFIG]==PWRD_NID_VAL) || (val[CONFIG]==PWRD_ID_VAL) ) { like_std = 5; if((val[CONFIG]==STBY_NID_VAL) || (val[CONFIG]==STBY_ID_VAL)) printf("powers-up in standby; SET FEATURES subcmd spins-up.\n"); if(((val[CONFIG]==STBY_NID_VAL) || (val[CONFIG]==PWRD_NID_VAL)) && (val[GEN_CONFIG] & INCOMPLETE)) printf("\n\tWARNING: ID response incomplete.\n\tWARNING: Following data may be incorrect.\n\n"); } /* output the model and serial numbers and the fw revision */ if(val[START_MODEL]) { printf("\t%-20s","Model Number:"); print_ascii(&val[START_MODEL], LENGTH_MODEL); } if(val[START_SERIAL]) { printf("\t%-20s","Serial Number:"); print_ascii( &val[START_SERIAL], LENGTH_SERIAL); } if(val[START_FW_REV]) { printf("\t%-20s","Firmware Revision:"); print_ascii(&val[START_FW_REV], LENGTH_FW_REV); } if(val[START_MEDIA]) { printf("\t%-20s","Media Serial Num:"); print_ascii(&val[START_MEDIA], LENGTH_MEDIA); } if(val[START_MANUF]) { printf("\t%-20s","Media Manufacturer:"); print_ascii(&val[START_MANUF], LENGTH_MANUF); } transport = print_transport_type(val); /* major & minor standards version number (Note: these words were not * defined until ATA-3 & the CDROM std uses different words.) */ printf("Standards:"); if(eqpt != CDROM) { //printf("major=%04x minor=%04x\n", val[MAJOR], val[MINOR]); const char * used = 0; if(val[MINOR] && (val[MINOR] <= MINOR_MAX)) { if(like_std < 3) like_std = 3; std = actual_ver[val[MINOR]]; if (std) used = minor_str[val[MINOR]]; } else { /* check for recent ATA-8 revision codes (not added to * actual_ver/minor_str to avoid large sparse tables) */ switch (val[MINOR]) { case 0x0027: used = "ATA-8-ACS revision 3c"; break; case 0x0033: used = "ATA-8-ACS revision 3e"; break; case 0x0042: used = "ATA-8-ACS revision 3f"; break; case 0x0052: used = "ATA-8-ACS revision 3b"; break; case 0x0107: used = "ATA-8-ACS revision 2d"; break; } if (used) std = 8; } if (used) printf("\n\tUsed: %s ", used); else if (val[MINOR] >= 0x001f) /* first "reserved" value possibly later used by ATA-8 */ printf("\n\tUsed: unknown (minor revision code 0x%04x) ", val[MINOR]); /* looks like when they up-issue the std, they obsolete one; * thus, only the newest 4 issues need be supported. * (That's what "kk" and "min_std" are all about) */ if(val[MAJOR] && (val[MAJOR] != NOVAL_1)) { printf("\n\tSupported: "); jj = val[MAJOR] << 1; kk = min_ata_std(like_std); for (ii = 14; ii > kk; ii--) { if(jj & 0x8000) { printf("%u ", ii); if (ii > like_std) { like_std = ii; kk = min_ata_std(like_std); } if (min_std > ii) min_std = ii; } jj <<= 1; } if(like_std < 3) like_std = 3; } /* Figure out what standard the device is using if it hasn't told * us. If we know the std, check if the device is using any of * the words from the next level up. It happens. */ if(like_std < std) like_std = std; if(((std == 7) || (!std && (like_std < 8))) && (val[SCT_SUPP] & 0x1)) { like_std = 8; } else if(((std == 5) || (!std && (like_std < 6))) && ( (((val[CMDS_SUPP_1] & VALID) == VALID_VAL) && ((val[CMDS_SUPP_1] & CMDS_W83) > 0x00ff)) || (((val[CMDS_SUPP_2] & VALID) == VALID_VAL) && (val[CMDS_SUPP_2] & CMDS_W84) ) ) ) { like_std = 6; } else if(((std == 4) || (!std && (like_std < 5))) && ((((val[INTEGRITY] & SIG) == SIG_VAL) && !chksum) || ((val[HWRST_RSLT] & VALID) == VALID_VAL) || (((val[CMDS_SUPP_1] & VALID) == VALID_VAL) && ((val[CMDS_SUPP_1] & CMDS_W83) > 0x001f)) ) ) { like_std = 5; } else if(((std == 3) || (!std && (like_std < 4))) && ((((val[CMDS_SUPP_1] & VALID) == VALID_VAL) && (((val[CMDS_SUPP_1] & CMDS_W83) > 0x0000) || ((val[CMDS_SUPP_0] & CMDS_W82) > 0x000f))) || ((val[CAPAB_1] & VALID) == VALID_VAL) || ((val[WHATS_VALID] & OK_W88) && val[ULTRA_DMA]) || ((val[RM_STAT] & RM_STAT_BITS) == RM_STAT_SUP) ) ) { like_std = 4; } else if(((std == 2) || (!std && (like_std < 3))) && ((val[CMDS_SUPP_1] & VALID) == VALID_VAL) ) { like_std = 3; } else if(((std == 1) || (!std && (like_std < 2))) && ((val[CAPAB_0] & (IORDY_SUP | IORDY_OFF)) || (val[WHATS_VALID] & OK_W64_70)) ) { like_std = 2; } if(!std) { printf("\n\tLikely used: %u\n",like_std); } else if(like_std > std) { printf("& some of %u\n",like_std); } else printf("\n"); } else { /* TBD: do CDROM stuff more thoroughly. For now... */ kk = 0; if(val[CDR_MINOR] == 9) { kk = 1; printf("\n\tUsed: ATAPI for CD-ROMs, SFF-8020i, r2.5"); } if(val[CDR_MAJOR] && (val[CDR_MAJOR] != NOVAL_1)) { kk = 1; printf("\n\tSupported: CD-ROM ATAPI"); jj = val[CDR_MAJOR] >> 1; for (ii = 1; ii <15; ii++) { if(jj & 0x0001) { printf("-%u ", ii); } jj >>= 1; } } if(!kk) printf("\n\tLikely used CD-ROM ATAPI-1\n"); else printf("\n"); /* the cdrom stuff is more like ATA-2 than anything else, so: */ like_std = 2; } if(min_std == 0xffff) min_std = like_std > 4 ? like_std - 3 : 1; printf("Configuration:\n"); /* more info from the general configuration word */ if((eqpt != CDROM) && (like_std == 1)) { jj = val[GEN_CONFIG] >> 1; for (ii = 1; ii < 15; ii++) { if(jj & 0x0001) printf("\t%s\n",ata1_cfg_str[ii]); jj >>=1; } } if(dev == ATAPI_DEV) { printf("\tDRQ response: "); /* Data Request (DRQ) */ switch(val[GEN_CONFIG] & DRQ_RESPONSE_TIME) { case DRQ_3MS_VAL : printf("3ms.\n"); break; case DRQ_INTR_VAL : printf("<=10ms with INTRQ\n"); break; case DRQ_50US_VAL : printf("50us.\n"); break; default : printf("unknown.\n"); break; } printf("\tPacket size: "); switch(val[GEN_CONFIG] & PKT_SIZE_SUPPORTED) { case PKT_SIZE_12_VAL : printf("12 bytes\n"); break; case PKT_SIZE_16_VAL : printf("16 bytes\n"); break; default : printf("Unknown\n"); break; } } else { /* addressing...CHS? See section 6.2 of ATA specs 4 or 5 */ ll = 0; mm = 0; bb = 0; bbbig = 0; if (val[CAPAB_0] & LBA_SUP) ll = (__u32)val[LBA_SECTS_MSB] << 16 | val[LBA_SECTS_LSB]; if ( (ll > 0x00FBFC10) && (!val[LCYLS])) { printf("\tCHS addressing not supported\n"); } else { jj = val[WHATS_VALID] & OK_W54_58; printf("\tLogical\t\tmax\tcurrent\n"); printf("\tcylinders\t%u\t%u\n",val[LCYLS],jj?val[LCYLS_CUR]:0); printf("\theads\t\t%u\t%u\n",val[LHEADS],jj?val[LHEADS_CUR]:0); printf("\tsectors/track\t%u\t%u\n",val[LSECTS],jj?val[LSECTS_CUR]:0); if(jj) bb = (__u64)val[LCYLS_CUR] * val[LHEADS_CUR] * val[LSECTS_CUR]; else bb = (__u64)val[LCYLS] * val[LHEADS] * val[LSECTS]; printf("\t--\n"); if((min_std == 1) && (val[TRACK_BYTES] || val[SECT_BYTES])) { printf("\tbytes/track: %u",val[TRACK_BYTES]); printf("\tbytes/sector: %u\n",val[SECT_BYTES]); } if(jj) { mm = (__u32)val[CAPACITY_MSB] << 16 | val[CAPACITY_LSB]; /* ATA-1 is ambiguous on ordering of words 57 & 58 */ if(like_std < 3) { nn = (__u32)val[CAPACITY_LSB] << 16 | val[CAPACITY_MSB]; /* check Endian of capacity bytes */ if(abs(mm - bb) > abs(nn - bb)) mm = nn; } printf("\tCHS current addressable sectors:%11u\n",mm); } } if (val[CAPAB_0] & LBA_SUP) { /* LBA addressing */ printf("\tLBA user addressable sectors:%11u\n",ll); if( ((val[CMDS_SUPP_1] & VALID) == VALID_VAL) && (val[CMDS_SUPP_1] & SUPPORT_48_BIT) ) { bbbig = (__u64)val[LBA_64_MSB] << 48 | (__u64)val[LBA_48_MSB] << 32 | (__u64)val[LBA_MID] << 16 | val[LBA_LSB] ; printf("\tLBA48 user addressable sectors:%11llu\n", (unsigned long long)bbbig); } } if (!bbbig) bbbig = (__u64)(ll>mm ? ll : mm); /* # 512 byte blocks */ if (!bbbig) bbbig = bb; printf("\tdevice size with M = 1024*1024: %11llu MBytes\n", (unsigned long long)(bbbig>>11)); bbbig = (bbbig<<9)/1000000; printf("\tdevice size with M = 1000*1000: %11llu MBytes ", (unsigned long long)bbbig); if(bbbig > 1000) printf("(%llu GB)\n", (unsigned long long)(bbbig/1000)); else printf("\n"); } /* hw support of commands (capabilities) */ printf("Capabilities:\n"); printf("\t"); if(dev == ATAPI_DEV) { if(eqpt != CDROM) { if(val[CAPAB_0] & CMD_Q_SUP) printf("Cmd queuing, "); } if(val[CAPAB_0] & OVLP_SUP) printf("Cmd overlap, "); } if(val[CAPAB_0] & LBA_SUP) printf("LBA, "); if(like_std != 1) { printf("IORDY"); if(!(val[CAPAB_0] & IORDY_SUP)) printf("(may be)"); if(val[CAPAB_0] & IORDY_OFF) printf("(can"); else printf("(cannot"); printf(" be disabled)"); } else { printf("IORDY not likely"); } printf("\n"); if((like_std == 1) && val[BUF_TYPE]) { kk = val[BUF_TYPE]; printf("\tBuffer type: %04x: ",kk); if (kk < 2) printf("single port, single-sector"); else printf("dual port, multi-sector"); if (kk > 2) printf(" with read caching ability"); printf("\n"); } jj = 0; if((min_std == 1) && (val[BUF_SIZE] && (val[BUF_SIZE] != NOVAL_1))) { printf("\tBuffer size: %.1fkB",(float)val[BUF_SIZE]/2); jj = 1; } if((min_std < 4) && (val[RW_LONG])) { printf("\tbytes avail on r/w long: %u",val[RW_LONG]); jj = 1; } if((eqpt != CDROM) && (like_std > 3)) { int has_queuing = 0; if (transport == 1 || (val[SATA_CAP_0] && val[SATA_CAP_0] != 0xffff)) { if (val[SATA_CAP_0] & 0x0100) has_queuing = 1; // SATA NCQ } if ((val[CMDS_SUPP_1] & VALID) == VALID_VAL && val[CMDS_SUPP_1] & 2) { has_queuing = 1; // TCQ } if (has_queuing) { printf("\tQueue depth: %u",(val[QUEUE_DEPTH] & DEPTH_BITS)+1); jj = 1; } } if(jj) printf("\n"); if(dev == ATA_DEV) { if(like_std == 1) { printf("\tCan"); if(!val[DWORD_IO]) printf("not"); printf(" perform double-word IO\n"); } else { printf("\tStandby timer values: spec'd by "); if(val[CAPAB_0] & STD_STBY) printf("Standard"); else printf("Vendor"); if((like_std > 3) && ((val[CAPAB_1] & VALID) == VALID_VAL)) { if(val[CAPAB_1] & MIN_STANDBY_TIMER) printf(", with "); else printf(", no "); printf("device specific minimum\n"); } else printf("\n"); } printf("\tR/W multiple sector transfer: "); if((like_std < 3) && !(val[SECTOR_XFER_MAX] & SECTOR_XFER)) { printf("not supported\n"); } else { printf("Max = %u\t",val[SECTOR_XFER_MAX] & SECTOR_XFER); printf("Current = "); if(val[SECTOR_XFER_CUR] & MULTIPLE_SETTING_VALID) printf("%u\n",val[SECTOR_XFER_CUR] & SECTOR_XFER); else printf("?\n"); } if((like_std > 3) && (val[CMDS_SUPP_1] & 0x0008)) { printf("\tAdvanced power management level: "); if (val[CMDS_EN_1] & 0x0008) printf("%u\n", val[ADV_PWR] & 0xff); else printf("disabled\n"); } if(like_std > 5) { if(val[ACOUSTIC]) { printf("\tRecommended acoustic management value: %u, current value: %u\n", (val[ACOUSTIC] >> 8) & 0x00ff, val[ACOUSTIC] & 0x00ff); } } } else { /* ATAPI */ if(eqpt != CDROM) { if(val[CAPAB_0] & SWRST_REQ) printf("\tATA sw reset required\n"); } if(val[PKT_REL] || val[SVC_NBSY]) { printf("\tOverlap support:"); if(val[PKT_REL]) printf(" %uus to release bus.",val[PKT_REL]); if(val[SVC_NBSY]) printf(" %uus to clear BSY after SERVICE cmd.",val[SVC_NBSY]); printf("\n"); } } /* Some SATA-ATAPI devices use a different interpretation of IDENTIFY words for DMA modes */ if (dev == ATAPI_DEV && val[62] & 0x8000) { atapi_has_dmadir = 1; sdma_ok = 0; /* word 62 has been re-purposed for non-sdma mode reporting */ printf("\tDMADIR bit required in PACKET commands\n"); } else { __u8 w62 = val[62], hi = w62 >> 8, lo = w62; if (!w62 || (lo & 0xf8)) sdma_ok = 0; else if (hi && hi != 1 && hi != 2 && hi != 4) sdma_ok = 0; else sdma_ok = 1; } printf("\tDMA: "); /* DMA stuff. Check that only one DMA mode is selected. */ if(!atapi_has_dmadir && !(val[CAPAB_0] & DMA_SUP)) { printf("not supported\n"); } else { if(val[DMA_MODE] && !val[62] && !val[MULTI_DMA]) { printf("sdma%u",(val[DMA_MODE] & MODE) >> 8); } else { if(sdma_ok) { kk = val[62] >> 8; jj = val[62]; err_dma += mode_loop(jj,kk,'s',&have_mode); } if(val[MULTI_DMA]) { kk = val[MULTI_DMA] >> 8; jj = atapi_has_dmadir ? (val[62] >> 7) & 7 : val[MULTI_DMA]; err_dma += mode_loop(jj,kk,'m',&have_mode); } if((val[WHATS_VALID] & OK_W88) && val[ULTRA_DMA]) { kk = val[ULTRA_DMA] >> 8; jj = atapi_has_dmadir ? val[62] & 0x7f : val[ULTRA_DMA]; err_dma += mode_loop(jj,kk,'u',&have_mode); } if(err_dma || !have_mode) printf("(?)"); } printf("\n"); if((dev == ATAPI_DEV) && (eqpt != CDROM) && (val[CAPAB_0] & DMA_IL_SUP)) printf("\t Interleaved DMA support\n"); if((val[WHATS_VALID] & OK_W64_70) && (val[DMA_TIME_MIN] || val[DMA_TIME_NORM])) { printf("\t Cycle time:"); if(val[DMA_TIME_MIN]) printf(" min=%uns",val[DMA_TIME_MIN]); if(val[DMA_TIME_NORM]) printf(" recommended=%uns",val[DMA_TIME_NORM]); printf("\n"); } } /* Programmed IO stuff */ printf("\tPIO: "); /* If a drive supports mode n (e.g. 3), it also supports all modes less * than n (e.g. 3, 2, 1 and 0). Print all the modes. */ if((val[WHATS_VALID] & OK_W64_70) && (val[ADV_PIO_MODES] & PIO_SUP)) { jj = ((val[ADV_PIO_MODES] & PIO_SUP) << 3) | 0x0007; for (ii = 0; ii <= PIO_MODE_MAX ; ii++) { if(jj & 0x0001) printf("pio%d ",ii); jj >>=1; } printf("\n"); } else if(((min_std < 5) || (eqpt == CDROM)) && ((val[PIO_MODE]>>8) <= 2)) { for (ii = 0; ii <= val[PIO_MODE]>>8; ii++) { printf("pio%d ",ii); } printf("\n"); } else printf("unknown\n"); if(val[WHATS_VALID] & OK_W64_70) { if(val[PIO_NO_FLOW] || val[PIO_FLOW]) { printf("\t Cycle time:"); if(val[PIO_NO_FLOW]) printf(" no flow control=%uns", val[PIO_NO_FLOW]); if(val[PIO_FLOW]) printf(" IORDY flow control=%uns", val[PIO_FLOW]); printf("\n"); } } if((val[CMDS_SUPP_1] & VALID) == VALID_VAL){ printf("Commands/features:\n\tEnabled\tSupported:\n"); print_features(val[CMDS_SUPP_0] & 0x7fff, val[CMDS_EN_0], feat_word82_str); if( (val[CMDS_SUPP_1] & VALID) == VALID_VAL) print_features(val[CMDS_SUPP_1] & 0x3fff, val[CMDS_EN_1], feat_word83_str); if( (val[CMDS_SUPP_2] & VALID) == VALID_VAL && (val[CMDS_EN_2] & VALID) == VALID_VAL) { print_features(val[CMDS_SUPP_2] & 0x3fff, val[CMDS_EN_2], feat_word84_str); if ((val[CMDS_SUPP_2] & 0x1800) == 0x1800 && val[116] && val[116] != 0xffff) printf(" (%u msec for TLC completion timer)\n", 10 * (unsigned int)(val[116])); } if( (val[CMDS_SUPP_1] & VALID) == VALID_VAL && (val[CMDS_EN_1] & 0x8000) == 0x8000 && (val[CMDS_SUPP_3] & VALID) == VALID_VAL && (val[CMDS_EN_3] & VALID) == VALID_VAL) print_features(val[CMDS_SUPP_3] & 0x3fff, val[CMDS_EN_3], feat_3_str); if (transport == 1 || (val[SATA_CAP_0] && val[SATA_CAP_0] != 0xffff)) print_features(val[SATA_CAP_0], val[SATA_CAP_0], cap_sata0_str); if (transport == 1 || (val[SATA_SUPP_0] && val[SATA_SUPP_0] != 0xffff)) print_features(val[SATA_SUPP_0], val[SATA_EN_0], feat_sata0_str); if (val[SCT_SUPP] & 0x1) print_features(val[SCT_SUPP], val[SCT_SUPP] & 0x3f, feat_sct_str); } if((val[RM_STAT] & RM_STAT_BITS) == RM_STAT_SUP) printf("\tRemovable Media Status Notification feature set supported\n"); /* security */ if((eqpt != CDROM) && (like_std > 3) && (val[SECU_STATUS] || val[ERASE_TIME] || val[ENH_ERASE_TIME])) { printf("Security: \n"); if(val[PSWD_CODE] && (val[PSWD_CODE] != NOVAL_1)) printf("\tMaster password revision code = %u\n",val[PSWD_CODE]); jj = val[SECU_STATUS]; if(jj) { for (ii = 0; ii < NUM_SECU_STR; ii++) { if(!(jj & 0x0001)) printf("\tnot\t"); else printf("\t\t"); printf("%s\n",secu_str[ii]); jj >>=1; } if(val[SECU_STATUS] & SECU_ENABLED) { printf("\tSecurity level "); if(val[SECU_STATUS] & SECU_LEVEL) printf("maximum\n"); else printf("high\n"); } } jj = val[ERASE_TIME] & ERASE_BITS; kk = val[ENH_ERASE_TIME] & ERASE_BITS; if(jj || kk) { printf("\t"); if(jj) printf("%umin for SECURITY ERASE UNIT. ", jj==ERASE_BITS ? 508 : jj<<1); if(kk) printf("%umin for ENHANCED SECURITY ERASE UNIT.", kk==ERASE_BITS ? 508 : kk<<1); printf("\n"); } } if((eqpt != CDROM) && (like_std > 3) && (val[CMDS_EN_2] & WWN_SUP)) { printf("Logical Unit WWN Device Identifier: %x%x%x%x\n", val[108], val[109], val[110], val[111]); printf("\tNAA\t\t: %x\n", (val[108] & 0xf000) >> 12); printf("\tIEEE OUI\t: %x\n", (((val[108] & 0x0fff) << 12) | ((val[109] & 0xfff0) >> 4))); printf("\tUnique ID\t: %x%x\n", (val[109] & 0x000f), ((val[110] << 16) | val[111])); } /* reset result */ if((val[HWRST_RSLT] & VALID) == VALID_VAL) { printf("HW reset results:\n"); if(val[HWRST_RSLT] & CBLID) printf("\tCBLID- above Vih\n"); else printf("\tCBLID- below Vih\n"); if(val[HWRST_RSLT] & RST0) { printf("\tDevice num = 0"); jj = val[HWRST_RSLT]; } else { printf("\tDevice num = 1"); jj = val[HWRST_RSLT] >> 8; } if((jj & DEV_DET) == JUMPER_VAL) printf(" determined by the jumper"); else if((jj & DEV_DET) == CSEL_VAL) printf(" determined by CSEL"); printf("\n"); } if (is_cfa) { unsigned int mode, max, selected; char modes[256]; modes[0] = '\0'; // CFA pio5-6: max = val[163] & 7; if (max == 1 || max == 2) { selected = (val[163] >> 6) & 7; for (mode = 1; mode <= max; ++mode) { if (mode == selected) strcat(modes, "*"); sprintf(modes + strlen(modes), "pio%u ", mode + 4); } } // CFA mdma3-4: max = (val[163] >> 3) & 7; if (max == 1 || max == 2) { selected = (val[163] >> 9) & 7; for (mode = 1; mode <= max; ++mode) { if (mode == selected) strcat(modes, "*"); sprintf(modes + strlen(modes), "mdma%u ", mode + 4); } } if (val[164] & 0x8000) { static const unsigned char io_times [4] = {255,120,100,80}; static const unsigned char mem_times[4] = {250,120,100,80}; max = val[164] & 7; if (max <= 3) printf("\t\tCFA max advanced io_udma cycle time: %uns\n", io_times[max]); max = (val[164] >> 3) & 7; if (max <= 3) printf("\t\tCFA max advanced mem_udma cycle time: %uns\n", mem_times[max]); // CFA ioport dma0-6: max = (val[164] >> 6) & 7; if (max <= 6) { selected = (val[164] >> 12) & 7; for (mode = 0; mode <= max; ++mode) { if (mode == selected) strcat(modes, "*"); sprintf(modes + strlen(modes), "io_udma%u ", mode + 4); } } // CFA memory udma0-6: max = (val[164] >> 9) & 7; if (max <= 6) { selected = (val[164] >> 12) & 7; for (mode = 0; mode <= max; ++mode) { if (mode == selected) strcat(modes, "*"); sprintf(modes + strlen(modes), "mem_udma%u ", mode + 4); } } } if (modes[0]) printf("\t *\tCFA advanced modes: %s\n", modes); if(val[CFA_PWR_MODE] & VALID_W160) { if((val[CFA_PWR_MODE] & PWR_MODE_REQ) == 0) printf(" *"); printf("\tCFA Power Level 1 "); if(val[CFA_PWR_MODE] & PWR_MODE_REQ) printf(" not supported"); if(val[CFA_PWR_MODE] & MAX_AMPS) printf(" (max %umA)", val[CFA_PWR_MODE] & MAX_AMPS); printf("\n"); } //else printf("\t\tCFA Power modes not reported\n"); if (val[162] && val[162] != 0xffff) { if (val[162] & 1) printf("\t\tKey Management (CPRM) feature set\n"); } } /* more stuff from std 5 */ if ((like_std > 4) && (eqpt != CDROM)) { if ((val[INTEGRITY] & SIG) == SIG_VAL) { printf("Checksum: %scorrect", chksum ? "in" : ""); if (chksum) printf(" (0x%02x), expected 0x%02x\n", chksum, 0x100 - chksum); putchar('\n'); } else { printf("Integrity word not set (found 0x%04x, expected 0x%02x%02x)\n", val[INTEGRITY], 0x100 - chksum, SIG_VAL); } } } __u8 mode_loop(__u16 mode_sup, __u16 mode_sel, int cc, __u8 *have_mode) { __u16 ii; __u8 err_dma = 0; for (ii = 0; ii <= MODE_MAX; ii++) { if(mode_sel & 0x0001) { printf("*%cdma%u ",cc,ii); if(*have_mode) err_dma = 1; *have_mode = 1; } else if(mode_sup & 0x0001) { printf("%cdma%u ",cc,ii); } mode_sup >>=1; mode_sel >>=1; } return err_dma; } void print_ascii(__u16 *p, __u8 length) { __u8 ii; char cl; /* find first non-space & print it */ for (ii = 0; ii< length; ii++) { if(((char) 0x00ff&((*p)>>8)) != ' ') break; if((cl = (char) 0x00ff&(*p)) != ' ') { if(cl != '\0') printf("%c",cl); p++; ii++; break; } p++; } /* print the rest */ for (; ii < length; ii++) { __u8 c; /* some older devices have NULLs */ c = (*p) >> 8; if (c) putchar(c); c = (*p); if (c) putchar(c); p++; } printf("\n"); } dc3dd-7.1.614/src/hdparm/sgio.h0000644000175000017500000001177211075206721015624 0ustar amedicoamedico/* prototypes and stuff for ATA command ioctls */ #include enum { ATA_OP_READ_PIO = 0x20, ATA_OP_READ_PIO_ONCE = 0x21, ATA_OP_READ_LONG = 0x22, ATA_OP_READ_LONG_ONCE = 0x23, ATA_OP_READ_PIO_EXT = 0x24, ATA_OP_READ_DMA_EXT = 0x25, ATA_OP_WRITE_PIO = 0x30, ATA_OP_WRITE_LONG = 0x32, ATA_OP_WRITE_LONG_ONCE = 0x33, ATA_OP_WRITE_PIO_EXT = 0x34, ATA_OP_WRITE_DMA_EXT = 0x35, ATA_OP_READ_VERIFY_ONCE = 0x41, ATA_OP_WRITE_UNC_EXT = 0x45, // lba48, no data, uses feat reg ATA_OP_STANDBYNOW2 = 0x94, ATA_OP_SETIDLE2 = 0x97, ATA_OP_CHECKPOWERMODE2 = 0x98, ATA_OP_SLEEPNOW2 = 0x99, ATA_OP_PIDENTIFY = 0xa1, ATA_OP_READ_NATIVE_MAX = 0xf8, ATA_OP_READ_NATIVE_MAX_EXT = 0x27, ATA_OP_SMART = 0xb0, ATA_OP_READ_DMA = 0xc8, ATA_OP_WRITE_DMA = 0xca, ATA_OP_DOORLOCK = 0xde, ATA_OP_DOORUNLOCK = 0xdf, ATA_OP_STANDBYNOW1 = 0xe0, ATA_OP_SETIDLE1 = 0xe3, ATA_OP_SET_MAX = 0xf9, ATA_OP_SET_MAX_EXT = 0x37, ATA_OP_CHECKPOWERMODE1 = 0xe5, ATA_OP_SLEEPNOW1 = 0xe6, ATA_OP_FLUSHCACHE = 0xe7, ATA_OP_FLUSHCACHE_EXT = 0xea, ATA_OP_IDENTIFY = 0xec, ATA_OP_SETFEATURES = 0xef, ATA_OP_SECURITY_SET_PASS = 0xf1, ATA_OP_SECURITY_UNLOCK = 0xf2, ATA_OP_SECURITY_ERASE_PREPARE = 0xf3, ATA_OP_SECURITY_ERASE_UNIT = 0xf4, ATA_OP_SECURITY_FREEZE_LOCK = 0xf5, ATA_OP_SECURITY_DISABLE = 0xf6, ATA_OP_DEVICE_CONFIG_IDENTIFY = 0xB1, }; /* * Some useful ATA register bits */ enum { ATA_USING_LBA = (1 << 6), ATA_STAT_DRQ = (1 << 3), ATA_STAT_ERR = (1 << 0), }; /* * Useful parameters for init_hdio_taskfile(): */ enum { RW_READ = 0, RW_WRITE = 1, LBA28_OK = 0, LBA48_FORCE = 1, }; /* * Definitions and structures for use with SG_IO + ATA_16: */ struct ata_lba_regs { __u8 feat; __u8 nsect; __u8 lbal; __u8 lbam; __u8 lbah; }; struct ata_tf { __u8 dev; __u8 command; __u8 error; __u8 status; __u8 is_lba48; struct ata_lba_regs lob; struct ata_lba_regs hob; }; /* * Definitions and structures for use with HDIO_DRIVE_TASKFILE: */ enum { /* * These (redundantly) specify the category of the request */ TASKFILE_CMD_REQ_NODATA = 0, /* ide: IDE_DRIVE_TASK_NO_DATA */ TASKFILE_CMD_REQ_IN = 2, /* ide: IDE_DRIVE_TASK_IN */ TASKFILE_CMD_REQ_OUT = 3, /* ide: IDE_DRIVE_TASK_OUT */ TASKFILE_CMD_REQ_RAW_OUT= 4, /* ide: IDE_DRIVE_TASK_RAW_WRITE */ /* * These specify the method of transfer (pio, dma, multi, ..) */ TASKFILE_DPHASE_NONE = 0, /* ide: TASKFILE_IN */ TASKFILE_DPHASE_PIO_IN = 1, /* ide: TASKFILE_IN */ TASKFILE_DPHASE_PIO_OUT = 4, /* ide: TASKFILE_OUT */ }; union reg_flags { unsigned all :16; struct { unsigned data : 1; unsigned feat : 1; unsigned lbal : 1; unsigned nsect : 1; unsigned lbam : 1; unsigned lbah : 1; unsigned dev : 1; unsigned command : 1; unsigned hob_data : 1; unsigned hob_feat : 1; unsigned hob_lbal : 1; unsigned hob_nsect : 1; unsigned hob_lbam : 1; unsigned hob_lbah : 1; unsigned hob_dev : 1; unsigned hob_command : 1; } b; }; struct taskfile_regs { __u8 data; __u8 feat; __u8 nsect; __u8 lbal; __u8 lbam; __u8 lbah; __u8 dev; __u8 command; }; struct hdio_taskfile { struct taskfile_regs lob; struct taskfile_regs hob; union reg_flags oflags; union reg_flags iflags; int dphase; int cmd_req; /* IDE command_type */ unsigned long obytes; unsigned long ibytes; __u16 data[0]; }; struct scsi_sg_io_hdr { int interface_id; int dxfer_direction; unsigned char cmd_len; unsigned char mx_sb_len; unsigned short iovec_count; unsigned int dxfer_len; void * dxferp; unsigned char * cmdp; void * sbp; unsigned int timeout; unsigned int flags; int pack_id; void * usr_ptr; unsigned char status; unsigned char masked_status; unsigned char msg_status; unsigned char sb_len_wr; unsigned short host_status; unsigned short driver_status; int resid; unsigned int duration; unsigned int info; }; #ifndef SG_DXFER_NONE #define SG_DXFER_NONE -1 #define SG_DXFER_TO_DEV -2 #define SG_DXFER_FROM_DEV -3 #define SG_DXFER_TO_FROM_DEV -4 #endif #define SG_READ 0 #define SG_WRITE 1 #define SG_CHECK_CONDITION 0x02 #define SG_DRIVER_SENSE 0x08 #define SG_ATA_16 0x85 #define SG_ATA_16_LEN 16 #define SG_ATA_LBA48 1 #define SG_ATA_PROTO_NON_DATA ( 3 << 1) #define SG_ATA_PROTO_PIO_IN ( 4 << 1) #define SG_ATA_PROTO_PIO_OUT ( 5 << 1) #define SG_ATA_PROTO_DMA ( 6 << 1) #define SG_ATA_PROTO_UDMA_IN (11 << 1) /* not yet supported in libata */ #define SG_ATA_PROTO_UDMA_OUT (12 << 1) /* not yet supported in libata */ void tf_init (struct ata_tf *tf, __u8 ata_op, __u64 lba, unsigned int nsect); __u64 tf_to_lba (struct ata_tf *tf); int sg16 (int fd, int rw, struct ata_tf *tf, void *data, unsigned int data_bytes, unsigned int timeout_secs); int do_drive_cmd (int fd, unsigned char *args); int do_taskfile_cmd (int fd, struct hdio_taskfile *r, unsigned int timeout_secs); int dev_has_sgio (int fd); void init_hdio_taskfile (struct hdio_taskfile *r, __u8 ata_op, int rw, int force_lba48, __u64 lba, unsigned int nsect, int data_bytes); dc3dd-7.1.614/src/hdparm/hpa_dco.h0000644000175000017500000000057411075206721016256 0ustar amedicoamedico#ifndef _HPA_DCO_H #define _HPA_DCO_H /* check_hpa_dco.c * Andrew Medico * DC3/DCCI * 19 September 2008 * * Dervied from hdparm.c by Mark Lord */ __u64 get_lba_capacity (__u16 *idw); void *get_identify_data (int fd, void *prev); void *get_dci_data (int fd, void *prev); __u64 get_dci_maximum_lba (__u16* dci); __u64 do_get_native_max_sectors (int fd, __u16 *id); #endif dc3dd-7.1.614/src/hdparm/sgio.c0000644000175000017500000002643111075206721015615 0ustar amedicoamedico/* sgio.c - by Mark Lord (C) 2007 -- freely distributable */ #include #include #include #include #include #include #include #include #include #include #include #include "sgio.h" #include "hdparm.h" #include //extern int verbose; /* * Taskfile layout for SG_ATA_16 cdb: * * LBA48: * cdb[ 3] = hob_feature * cdb[ 5] = hob_nsect * cdb[ 7] = hob_lbal * cdb[ 9] = hob_lbam * cdb[11] = hob_lbah * * LBA28/LBA48: * cdb[ 4] = feature * cdb[ 6] = nsect * cdb[ 8] = lbal * cdb[10] = lbam * cdb[12] = lbah * cdb[13] = device * cdb[14] = command * * dxfer_direction choices: * SG_DXFER_TO_DEV, SG_DXFER_FROM_DEV, SG_DXFER_NONE */ void tf_init (struct ata_tf *tf, __u8 ata_op, __u64 lba, unsigned int nsect) { const __u64 lba28_mask = 0x0fffffff; memset(tf, 0, sizeof(*tf)); tf->command = ata_op; tf->dev = ATA_USING_LBA; if (lba) { tf->lob.lbal = lba; tf->lob.lbam = lba >> 8; tf->lob.lbah = lba >> 16; if ((lba & ~lba28_mask) == 0) { tf->dev |= (lba >> 24) & 0x0f; } else { tf->hob.lbal = lba >> 24; tf->hob.lbam = lba >> 32; tf->hob.lbah = lba >> 40; tf->is_lba48 = 1; } } if (nsect) { tf->lob.nsect = nsect; if ((lba & ~lba28_mask) != 0) tf->hob.nsect = nsect >> 8; } } #ifdef SG_IO __u64 tf_to_lba (struct ata_tf *tf) { __u32 lba24, lbah; __u64 lba64; lba24 = (tf->lob.lbah << 16) | (tf->lob.lbam << 8) | (tf->lob.lbal); if (tf->is_lba48) lbah = (tf->hob.lbah << 16) | (tf->hob.lbam << 8) | (tf->hob.lbal); else lbah = (tf->dev & 0x0f); lba64 = (((__u64)lbah) << 24) | (__u64)lba24; return lba64; } enum { SG_CDB2_TLEN_NODATA = 0 << 0, SG_CDB2_TLEN_FEAT = 1 << 0, SG_CDB2_TLEN_NSECT = 2 << 0, SG_CDB2_TLEN_BYTES = 0 << 2, SG_CDB2_TLEN_SECTORS = 1 << 2, SG_CDB2_TDIR_TO_DEV = 0 << 3, SG_CDB2_TDIR_FROM_DEV = 1 << 3, SG_CDB2_CHECK_COND = 1 << 5, }; static void dump_bytes (const char *prefix, unsigned char *p, int len) { int i; if (prefix) fprintf(stderr, "%s: ", prefix); for (i = 0; i < len; ++i) fprintf(stderr, " %02x", p[i]); fprintf(stderr, "\n"); } static int bad_sense (unsigned char *sb, int len) { //if (verbose) // dump_bytes("SG_IO: bad/missing ATA_16 sense data:", sb, len); return EIO; } int sg16 (int fd, int rw, struct ata_tf *tf, void *data, unsigned int data_bytes, unsigned int timeout_secs) { unsigned char cdb[SG_ATA_16_LEN]; unsigned char sb[32], *desc; struct scsi_sg_io_hdr io_hdr; memset(&cdb, 0, sizeof(cdb)); cdb[ 0] = SG_ATA_16; cdb[ 1] = data ? (rw ? SG_ATA_PROTO_PIO_OUT : SG_ATA_PROTO_PIO_IN) : SG_ATA_PROTO_NON_DATA; #if 0 if (data_bytes && (data_bytes % 512) == 0) { cdb[1] = SG_ATA_PROTO_DMA; } #endif cdb[ 2] = SG_CDB2_CHECK_COND; if (data) { cdb[2] |= SG_CDB2_TLEN_NSECT | SG_CDB2_TLEN_SECTORS; cdb[2] |= rw ? SG_CDB2_TDIR_TO_DEV : SG_CDB2_TDIR_FROM_DEV; } cdb[ 4] = tf->lob.feat; cdb[ 6] = tf->lob.nsect; cdb[ 8] = tf->lob.lbal; cdb[10] = tf->lob.lbam; cdb[12] = tf->lob.lbah; cdb[13] = tf->dev; cdb[14] = tf->command; if (tf->is_lba48) { cdb[ 1] |= SG_ATA_LBA48; cdb[ 3] = tf->hob.feat; cdb[ 5] = tf->hob.nsect; cdb[ 7] = tf->hob.lbal; cdb[ 9] = tf->hob.lbam; cdb[11] = tf->hob.lbah; } memset(&sb, 0, sizeof(sb)); memset(&io_hdr, 0, sizeof(struct scsi_sg_io_hdr)); io_hdr.interface_id = 'S'; io_hdr.cmd_len = SG_ATA_16_LEN; io_hdr.mx_sb_len = sizeof(sb); io_hdr.dxfer_direction = data ? (rw ? SG_DXFER_TO_DEV : SG_DXFER_FROM_DEV) : SG_DXFER_NONE; io_hdr.dxfer_len = data ? data_bytes : 0; io_hdr.dxferp = data; io_hdr.cmdp = cdb; io_hdr.sbp = sb; io_hdr.pack_id = tf_to_lba(tf); io_hdr.timeout = (timeout_secs ? timeout_secs : 5) * 1000; /* msecs */ //if (verbose) // dump_bytes("outgoing cdb", cdb, sizeof(cdb)); if (ioctl(fd, SG_IO, &io_hdr) == -1) { //if (verbose) // perror("ioctl(fd,SG_IO)"); return -1; /* SG_IO not supported */ } //if (verbose) // fprintf(stderr, "SG_IO: ATA_16 status=0x%x, host_status=0x%x, driver_status=0x%x\n", // io_hdr.status, io_hdr.host_status, io_hdr.driver_status); if (io_hdr.host_status || io_hdr.driver_status != SG_DRIVER_SENSE || (io_hdr.status && io_hdr.status != SG_CHECK_CONDITION)) { errno = EIO; return -1; } //if (verbose) // fprintf(stderr, "SG_IO: sb[] = {%02x %02x %02x %02x %02x %02x %02x %02x}\n", // sb[0], sb[1], sb[2], sb[3], sb[4], sb[5], sb[6], sb[7]); if (sb[0] != 0x72 || sb[7] < 14) return bad_sense(sb, sizeof(sb)); desc = sb + 8; //if (verbose) // fprintf(stderr, "SG_IO: desc[] = {%02x %02x .. }\n", desc[0], desc[1]); if (desc[0] != 9 || desc[1] < 12) return bad_sense(sb, sizeof(sb)); tf->is_lba48 = desc[ 2] & 1; tf->error = desc[ 3]; tf->lob.nsect = desc[ 5]; tf->lob.lbal = desc[ 7]; tf->lob.lbam = desc[ 9]; tf->lob.lbah = desc[11]; tf->dev = desc[12]; tf->status = desc[13]; if (tf->is_lba48) { tf->hob.nsect = desc[ 4]; tf->hob.lbal = desc[ 6]; tf->hob.lbam = desc[ 8]; tf->hob.lbah = desc[10]; } //if (verbose) // fprintf(stderr, " ATA_16 tf->status=0x%02x tf->error=0x%02x\n", tf->status, tf->error); #if 0 //FIXME: we have to check this somewhere !! if (tf->status & (ATA_STAT_ERR | ATA_STAT_DRQ)) { errno = EIO; return -1; } #endif return 0; } #endif /* SG_IO */ int do_drive_cmd (int fd, unsigned char *args) { #ifdef SG_IO struct ata_tf tf; void *data = NULL; unsigned int data_bytes = 0; int rc; if (args == NULL) goto use_legacy_ioctl; /* * Reformat and try to issue via SG_IO: */ if (args[3]) { data_bytes = args[3] * 512; data = args + 4; } tf_init(&tf, args[0], 0, args[1]); tf.lob.feat = args[2]; if (tf.command == ATA_OP_SMART) { tf.lob.nsect = args[3]; tf.lob.lbal = args[1]; tf.lob.lbam = 0x4f; tf.lob.lbah = 0xc2; } rc = sg16(fd, SG_READ, &tf, data, data_bytes, 0); if (rc) { if (rc == -1) goto use_legacy_ioctl; errno = rc; rc = -1; } else if (tf.status & (ATA_STAT_ERR | ATA_STAT_DRQ)) { //if (verbose) // fprintf(stderr, "I/O error, ata_op=0x%02x ata_status=0x%02x ata_error=0x%02x\n", // tf.command, tf.status, tf.error); errno = EIO; rc = -1; } args[0] = tf.status; args[1] = tf.error; args[2] = tf.lob.nsect; return rc; use_legacy_ioctl: #endif /* SG_IO */ //if (verbose) // fprintf(stderr, "Trying legacy HDIO_DRIVE_CMD\n"); return ioctl(fd, HDIO_DRIVE_CMD, args); } int do_taskfile_cmd (int fd, struct hdio_taskfile *r, unsigned int timeout_secs) { int rc; #ifdef SG_IO struct ata_tf tf; void *data = NULL; unsigned int data_bytes = 0; int rw = SG_READ; /* * Reformat and try to issue via SG_IO: */ tf_init(&tf, 0, 0, 0); if (r->oflags.b.feat) tf.lob.feat = r->lob.feat; if (r->oflags.b.lbal) tf.lob.lbal = r->lob.lbal; if (r->oflags.b.nsect) tf.lob.nsect = r->lob.nsect; if (r->oflags.b.lbam) tf.lob.lbam = r->lob.lbam; if (r->oflags.b.lbah) tf.lob.lbah = r->lob.lbah; if (r->oflags.b.dev) tf.dev = r->lob.dev; if (r->oflags.b.command) tf.command = r->lob.command; if ((r->oflags.all >> 8) || (r->iflags.all >> 8)) { tf.is_lba48 = 1; if (r->oflags.b.hob_feat) tf.hob.feat = r->hob.feat; if (r->oflags.b.hob_lbal) tf.hob.lbal = r->hob.lbal; if (r->oflags.b.hob_nsect) tf.hob.nsect = r->hob.nsect; if (r->oflags.b.hob_lbam) tf.hob.lbam = r->hob.lbam; if (r->oflags.b.hob_lbah) tf.hob.lbah = r->hob.lbah; } switch (r->cmd_req) { case TASKFILE_CMD_REQ_OUT: case TASKFILE_CMD_REQ_RAW_OUT: data_bytes = r->obytes; data = r->data; rw = SG_WRITE; break; case TASKFILE_CMD_REQ_IN: data_bytes = r->ibytes; data = r->data; break; } rc = sg16(fd, rw, &tf, data, data_bytes, timeout_secs); if (rc) { if (rc == -1) goto use_legacy_ioctl; errno = rc; rc = -1; } else if (tf.status & (ATA_STAT_ERR | ATA_STAT_DRQ)) { //if (verbose) // fprintf(stderr, "I/O error, ata_op=0x%02x ata_status=0x%02x ata_error=0x%02x\n", // tf.command, tf.status, tf.error); errno = EIO; rc = -1; } if (r->iflags.b.feat) r->lob.feat = tf.error; if (r->iflags.b.lbal) r->lob.lbal = tf.lob.lbal; if (r->iflags.b.nsect) r->lob.nsect = tf.lob.nsect; if (r->iflags.b.lbam) r->lob.lbam = tf.lob.lbam; if (r->iflags.b.lbah) r->lob.lbah = tf.lob.lbah; if (r->iflags.b.dev) r->lob.dev = tf.dev; if (r->iflags.b.command) r->lob.command = tf.status; if (r->iflags.b.hob_feat) r->hob.feat = tf.hob.feat; if (r->iflags.b.hob_lbal) r->hob.lbal = tf.hob.lbal; if (r->iflags.b.hob_nsect) r->hob.nsect = tf.hob.nsect; if (r->iflags.b.hob_lbam) r->hob.lbam = tf.hob.lbam; if (r->iflags.b.hob_lbah) r->hob.lbah = tf.hob.lbah; return rc; use_legacy_ioctl: #else timeout_secs = 0; /* keep compiler happy */ #endif /* SG_IO */ //if (verbose) // fprintf(stderr, "trying legacy HDIO_DRIVE_TASKFILE\n"); errno = 0; rc = ioctl(fd, HDIO_DRIVE_TASKFILE, r); //if (verbose && ((r->iflags.all >> 8) || (r->iflags.all >> 8))) { // int err = errno; // fprintf(stderr, "rc=%d, errno=%d, returned ATA registers: ", rc, err); // if (r->iflags.b.feat) fprintf(stderr, " er=%02x", r->lob.feat); // if (r->iflags.b.nsect) fprintf(stderr, " ns=%02x", r->lob.nsect); // if (r->iflags.b.lbal) fprintf(stderr, " ll=%02x", r->lob.lbal); // if (r->iflags.b.lbam) fprintf(stderr, " lm=%02x", r->lob.lbam); // if (r->iflags.b.lbah) fprintf(stderr, " lh=%02x", r->lob.lbah); // if (r->iflags.b.dev) fprintf(stderr, " dh=%02x", r->lob.dev); // if (r->iflags.b.command) fprintf(stderr, " st=%02x", r->lob.command); // if (r->iflags.b.hob_feat) fprintf(stderr, " err=%02x", r->hob.feat); // if (r->iflags.b.hob_nsect) fprintf(stderr, " err=%02x", r->hob.nsect); // if (r->iflags.b.hob_lbal) fprintf(stderr, " err=%02x", r->hob.lbal); // if (r->iflags.b.hob_lbam) fprintf(stderr, " err=%02x", r->hob.lbam); // if (r->iflags.b.hob_lbah) fprintf(stderr, " err=%02x", r->hob.lbah); // fprintf(stderr, "\n"); // errno = err; //} if (rc == -1 && errno == EINVAL) { fprintf(stderr, "The running kernel lacks CONFIG_IDE_TASK_IOCTL support for this device.\n"); errno = EINVAL; } return rc; } void init_hdio_taskfile (struct hdio_taskfile *r, __u8 ata_op, int rw, int force_lba48, __u64 lba, unsigned int nsect, int data_bytes) { const __u64 lba28_mask = 0x0fffffff; memset(r, 0, sizeof(struct hdio_taskfile) + data_bytes); if (!data_bytes) { r->dphase = TASKFILE_DPHASE_NONE; r->cmd_req = TASKFILE_CMD_REQ_NODATA; } else if (rw == RW_WRITE) { r->dphase = TASKFILE_DPHASE_PIO_OUT; r->cmd_req = TASKFILE_CMD_REQ_RAW_OUT; r->obytes = data_bytes; } else { /* rw == RW_READ */ r->dphase = TASKFILE_DPHASE_PIO_IN; r->cmd_req = TASKFILE_CMD_REQ_IN; r->ibytes = data_bytes; } r->lob.command = ata_op; r->oflags.b.command = 1; r->oflags.b.dev = 1; r->oflags.b.lbal = 1; r->oflags.b.lbam = 1; r->oflags.b.lbah = 1; r->oflags.b.nsect = 1; r->iflags.b.command = 1; r->iflags.b.feat = 1; r->lob.nsect = nsect; r->lob.lbal = lba; r->lob.lbam = lba >> 8; r->lob.lbah = lba >> 16; r->lob.dev = ATA_USING_LBA; if ((lba & ~lba28_mask) == 0 && nsect <= 256 && !force_lba48) { r->lob.dev |= (lba >> 24) & 0x0f; } else { r->hob.nsect = nsect >> 8; r->hob.lbal = lba >> 24; r->hob.lbam = lba >> 32; r->hob.lbah = lba >> 40; r->oflags.b.hob_nsect = 1; r->oflags.b.hob_lbal = 1; r->oflags.b.hob_lbam = 1; r->oflags.b.hob_lbah = 1; } } dc3dd-7.1.614/Makefile.maint0000644000175000017500000005702411023311746015214 0ustar amedicoamedico# -*-Makefile-*- # This Makefile fragment is shared between the coreutils, # CPPI, Bison, and Autoconf. ## Copyright (C) 2001-2008 Free Software Foundation, Inc. ## ## This program is free software: you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 3 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . # This is reported not to work with make-3.79.1 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) ME := Makefile.maint # Do not save the original name or timestamp in the .tar.gz file. # Use --rsyncable if available. gzip_rsyncable := \ $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null && echo --rsyncable) GZIP_ENV = '--no-name --best $(gzip_rsyncable)' CVS = cvs GIT = git VC = $(GIT) VC-tag = git-tag -s -m '$(VERSION)' CVS_LIST = build-aux/vc-list-files CVS_LIST_EXCEPT = \ $(CVS_LIST) | if test -f .x-$@; then grep -vEf .x-$@; else grep -v ChangeLog; fi ifeq ($(origin prev_version_file), undefined) prev_version_file = .prev-version endif PREV_VERSION := $(shell cat $(prev_version_file)) VERSION_REGEXP = $(subst .,\.,$(VERSION)) ifeq ($(VC),$(GIT)) this-vc-tag = v$(VERSION) this-vc-tag-regexp = v$(VERSION_REGEXP) else tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]') tag-this-version = $(subst .,_,$(VERSION)) this-vc-tag = $(tag-package)-$(tag-this-version) this-vc-tag-regexp = $(this-vc-tag) endif my_distdir = $(PACKAGE)-$(VERSION) # Old releases are stored here. # Used for diffs and xdeltas. release_archive_dir ?= ../release # Prevent programs like 'sort' from considering distinct strings to be equal. # Doing it here saves us from having to set LC_ALL elsewhere in this file. export LC_ALL = C ## --------------- ## ## Sanity checks. ## ## --------------- ## # FIXME: add a check to prohibit definition in src/*.c of symbols defined # in system.h. E.g. today I removed from tail.c a useless definition of # ENOSYS. It was useless because system.h ensures it's defined. # Collect the names of rules starting with `sc_'. syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(ME)) .PHONY: $(syntax-check-rules) # Checks that don't require cvs. # Run `changelog-check' last, as previous test may reveal problems requiring # new ChangeLog entries. local-checks-available = \ po-check copyright-check m4-check author_mark_check \ changelog-check patch-check strftime-check $(syntax-check-rules) \ makefile_path_separator_check \ makefile-check check-AUTHORS .PHONY: $(local-checks-available) local-check := $(filter-out $(local-checks-to-skip), $(local-checks-available)) syntax-check: $(local-check) # @grep -nE '# *include <(limits|std(def|arg|bool))\.h>' \ # $$(find -type f -name '*.[chly]') && \ # { echo '$(ME): found conditional include' 1>&2; \ # exit 1; } || : # grep -nE '^# *include <(string|stdlib)\.h>' \ # $(srcdir)/{lib,src}/*.[chy] && \ # { echo '$(ME): FIXME' 1>&2; \ # exit 1; } || : # FIXME: don't allow `#include .strings\.h' anywhere sc_cast_of_argument_to_free: @grep -nE '\&2; \ exit 1; } || : sc_cast_of_x_alloc_return_value: @grep -nE '\*\) *x(m|c|re)alloc\>' $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): don'\''t cast x*alloc return value' 1>&2; \ exit 1; } || : sc_cast_of_alloca_return_value: @grep -nE '\*\) *alloca\>' $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): don'\''t cast alloca return value' 1>&2; \ exit 1; } || : sc_space_tab: @grep -n '[ ] ' $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \ 1>&2; exit 1; } || : # Don't use *scanf or the old ato* functions in `real' code. # They provide no error checking mechanism. # Instead, use strto* functions. sc_prohibit_atoi_atof: @grep -nE '\<([fs]?scanf|ato([filq]|ll))\>' $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): do not use *scan''f, ato''f, ato''i, ato''l, ato''ll, ato''q, or ss''canf' \ 1>&2; exit 1; } || : # Use STREQ rather than comparing strcmp == 0, or != 0. sc_prohibit_strcmp: @grep -nE '! *str''cmp \(|\&2; exit 1; } || : # Using EXIT_SUCCESS as the first argument to error is misleading, # since when that parameter is 0, error does not exit. Use `0' instead. sc_error_exit_success: @grep -nF 'error (EXIT_SUCCESS,' \ $$(find -type f -name '*.[chly]') && \ { echo '$(ME): found error (EXIT_SUCCESS' 1>&2; \ exit 1; } || : sc_file_system: @grep -ni 'file''system' $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): found use of "file''system";' \ 'rewrite to use "file system"' 1>&2; \ exit 1; } || : sc_no_have_config_h: @grep -n 'HAVE''_CONFIG_H' $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): found use of HAVE''_CONFIG_H; remove' \ 1>&2; exit 1; } || : # Nearly all .c files must include . sc_require_config_h: @if $(CVS_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \ grep -L '^# *include ' \ $$($(CVS_LIST_EXCEPT) | grep '\.c$$') \ | grep . && \ { echo '$(ME): the above files do not include ' \ 1>&2; exit 1; } || :; \ else :; \ fi # Prohibit the inclusion of assert.h without an actual use of assert. sc_prohibit_assert_without_use: @if $(CVS_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \ files=$$(grep -l '# *include ' \ $$($(CVS_LIST_EXCEPT) | grep '\.c$$')) && \ grep -L '\ but don't use it" \ 1>&2; exit 1; } || :; \ else :; \ fi # Don't include quotearg.h unless you use one of its functions. sc_prohibit_quotearg_without_use: @if $(CVS_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \ files=$$(grep -l '# *include "quotearg\.h"' \ $$($(CVS_LIST_EXCEPT) | grep '\.c$$')) && \ grep -LE '\&2; exit 1; } || :; \ else :; \ fi # Don't include quote.h unless you use one of its functions. sc_prohibit_quote_without_use: @if $(CVS_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \ files=$$(grep -l '# *include "quote\.h"' \ $$($(CVS_LIST_EXCEPT) | grep '\.c$$')) && \ grep -LE '\&2; exit 1; } || :; \ else :; \ fi sc_obsolete_symbols: @grep -nE '\<(HAVE''_FCNTL_H|O''_NDELAY)\>' \ $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): do not use HAVE''_FCNTL_H or O''_NDELAY' \ 1>&2; exit 1; } || : # FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ # Each nonempty line must start with a year number, or a TAB. sc_changelog: @grep -n '^[^12 ]' $$(find . -maxdepth 2 -name ChangeLog) && \ { echo '$(ME): found unexpected prefix in a ChangeLog' 1>&2; \ exit 1; } || : # Ensure that dd's definition of LONGEST_SYMBOL stays in sync # with the strings from the two affected variables. dd_c = $(srcdir)/src/dd.c sc_dd_max_sym_length: ifneq ($(wildcard $(dd_c)),) @len=$$( (sed -n '/conversions\[\] =$$/,/^};/p' $(dd_c);\ sed -n '/flags\[\] =$$/,/^};/p' $(dd_c) ) \ |sed -n '/"/s/^[^"]*"\([^"]*\)".*/\1/p' \ | wc --max-line-length); \ max=$$(sed -n '/^#define LONGEST_SYMBOL /s///p' $(dd_c) \ |tr -d '"' | wc --max-line-length); \ if test "$$len" = "$$max"; then :; else \ echo 'dd.c: LONGEST_SYMBOL is not longest' 1>&2; \ exit 1; \ fi endif # Many m4 macros names once began with `jm_'. # On 2004-04-13, they were all changed to start with gl_ instead. # Make sure that none are inadvertently reintroduced. sc_prohibit_jm_in_m4: @grep -nE 'jm_[A-Z]' \ $$($(CVS_LIST) m4 |grep '\.m4$$'; echo /dev/null) && \ { echo '$(ME): do not use jm_ in m4 macro names' \ 1>&2; exit 1; } || : sc_root_tests: @if test -d tests \ && grep check-root tests/Makefile.am>/dev/null 2>&1; then \ t1=sc-root.expected; t2=sc-root.actual; \ grep -nl '^PRIV_CHECK_ARG=require-root' \ $$($(CVS_LIST) tests) |sed s,tests,., |sort > $$t1; \ sed -n 's, cd \([^ ]*\) .*MAKE..check TESTS=\(.*\),./\1/\2,p' \ $(srcdir)/tests/Makefile.am |sort > $$t2; \ diff -u $$t1 $$t2 || diff=1; \ rm -f $$t1 $$t2; \ test "$$diff" \ && { echo 'tests/Makefile.am: missing check-root action'>&2; \ exit 1; } || :; \ fi headers_with_interesting_macro_defs = \ exit.h \ fcntl_.h \ fnmatch_.h \ intprops.h \ inttypes_.h \ lchown.h \ openat.h \ stat-macros.h \ stdint_.h # Create a list of regular expressions matching the names # of macros that are guaranteed by parts of gnulib to be defined. .re-defmac: @(cd $(srcdir)/lib; \ for f in $(headers_with_interesting_macro_defs); do \ test -f $$f && \ sed -n '/^# *define \([^_ (][^ (]*\)[ (].*/s//\1/p' $$f; \ done; \ ) | sort -u \ | grep -Ev 'ATTRIBUTE_NORETURN|SIZE_MAX' \ | sed 's/^/^# *define /' \ > $@-t @mv $@-t $@ # Don't define macros that we already get from gnulib header files. sc_always_defined_macros: .re-defmac @if test -f $(srcdir)/src/system.h; then \ trap 'rc=$$?; rm -f .re-defmac; exit $$rc' 0 1 2 3 15; \ grep -f .re-defmac $$($(CVS_LIST)) \ && { echo '$(ME): define the above via some gnulib .h file' \ 1>&2; exit 1; } || :; \ fi # Create a list of regular expressions matching the names # of files included from system.h. Exclude a couple. .re-list: @sed -n '/^# *include /s///p' $(srcdir)/src/system.h \ | grep -Ev 'sys/(param|file)\.h' \ | sed 's/ .*//;;s/^["<]/^# *include [<"]/;s/\.h[">]$$/\\.h[">]/' \ > $@-t @mv $@-t $@ # Files in src/ should not include directly any of # the headers already included via system.h. sc_system_h_headers: .re-list @if test -f $(srcdir)/src/system.h; then \ trap 'rc=$$?; rm -f .re-list; exit $$rc' 0 1 2 3 15; \ grep -nE -f .re-list \ $$($(CVS_LIST) src | \ grep -Ev '((copy|system)\.h|parse-gram\.c)$$') \ && { echo '$(ME): the above are already included via system.h'\ 1>&2; exit 1; } || :; \ fi sc_sun_os_names: @grep -nEi \ 'solaris[^[:alnum:]]*2\.(7|8|9|[1-9][0-9])|sunos[^[:alnum:]][6-9]' \ $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): found misuse of Sun OS version numbers' 1>&2; \ exit 1; } || : sc_the_the: @grep -ni '\' $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): found use of "the ''the";' 1>&2; \ exit 1; } || : sc_tight_scope: $(MAKE) -C src $@ sc_trailing_blank: @grep -n '[ ]$$' $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): found trailing blank(s)' \ 1>&2; exit 1; } || : # Match lines like the following, but where there is only one space # between the options and the description: # -D, --all-repeated[=delimit-method] print all duplicate lines\n longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? sc_two_space_separator_in_usage: @grep -nE '^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ $$($(CVS_LIST_EXCEPT)) && \ { echo "$(ME): help2man requires at least two spaces between"; \ echo "$(ME): an option and its description"; \ 1>&2; exit 1; } || : # Look for diagnostics that aren't marked for translation. # This won't find any for which error's format string is on a separate line. sc_unmarked_diagnostics: @grep -nE \ '\&2; \ exit 1; } || : # Avoid useless parentheses like those in this example: # #if defined (SYMBOL) || defined (SYM2) sc_useless_cpp_parens: @grep -n '^# *if .*defined *(' $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): found useless parentheses in cpp directive' \ 1>&2; exit 1; } || : # Require the latest GPL. sc_GPL_version: @grep -n 'either ''version [^3]' $$($(CVS_LIST_EXCEPT)) && \ { echo '$(ME): GPL vN, N!=3' 1>&2; exit 1; } || : # Ensure that the c99-to-c89 patch applies cleanly. patch-check: rm -rf src-c89 $@.1 $@.2 cp -a src src-c89 (cd src-c89; patch -p1 -V never --fuzz=0) < src/c99-to-c89.diff \ > $@.1 2>&1 if test "$$REGEN_PATCH" = yes; then \ diff -upr src src-c89 | sed 's,src-c89/,src/,' \ | grep -v '^Only in' > new-diff || : ; fi grep -v '^patching file ' $@.1 > $@.2 || : msg=ok; test -s $@.2 && msg='fuzzy patch' || : ; \ rm -f src-c89/*.o || msg='rm failed'; \ $(MAKE) -C src-c89 CFLAGS='-Wdeclaration-after-statement -Werror' \ || msg='compile failure with extra options'; \ test "$$msg" = ok && rm -rf src-c89 $@.1 $@.2 || echo "$$msg" 1>&2; \ test "$$msg" = ok # Ensure that date's --help output stays in sync with the info # documentation for GNU strftime. The only exception is %N, # which date accepts but GNU strftime does not. extract_char = sed 's/^[^%][^%]*%\(.\).*/\1/' strftime-check: if test -f $(srcdir)/src/date.c; then \ grep '^ %. ' $(srcdir)/src/date.c | sort \ | $(extract_char) > $@-src; \ { echo N; \ info libc date calendar format | grep '^ `%.'\' \ | $(extract_char); } | sort > $@-info; \ diff -u $@-src $@-info || exit 1; \ rm -f $@-src $@-info; \ fi check-AUTHORS: $(MAKE) -C src $@ # Ensure that we use only the standard $(VAR) notation, # not @...@ in Makefile.am, now that we can rely on automake # to emit a definition for each substituted variable. makefile-check: grep -nE '@[A-Z_0-9]+@' `find . -name Makefile.am` \ && { echo 'Makefile.maint: use $$(...), not @...@' 1>&2; exit 1; } || : news-date-check: NEWS today=`date +%Y-%m-%d`; \ if head NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \ >/dev/null; then \ :; \ else \ echo "version or today's date is not in NEWS" 1>&2; \ exit 1; \ fi changelog-check: if head ChangeLog | grep 'Version $(VERSION_REGEXP)\.$$' \ >/dev/null; then \ :; \ else \ echo "$(VERSION) not in ChangeLog" 1>&2; \ exit 1; \ fi m4-check: @grep -n 'AC_DEFUN([^[]' m4/*.m4 \ && { echo 'Makefile.maint: quote the first arg to AC_DEFUN' 1>&2; \ exit 1; } || : # Verify that all source files using _() are listed in po/POTFILES.in. # FIXME: don't hard-code file names below; use a more general mechanism. po-check: if test -f po/POTFILES.in; then \ grep -E -v '^(#|$$)' po/POTFILES.in \ | grep -v '^src/false\.c$$' | sort > $@-1; \ files=; \ for file in $$($(CVS_LIST_EXCEPT)) lib/*.[ch]; do \ case $$file in \ djgpp/* | man/*) continue;; \ */c99-to-c89.diff) continue;; \ esac; \ case $$file in \ *.[ch]) \ base=`expr " $$file" : ' \(.*\)\..'`; \ { test -f $$base.l || test -f $$base.y; } && continue;; \ esac; \ files="$$files $$file"; \ done; \ grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files \ | sort -u > $@-2; \ diff -u $@-1 $@-2 || exit 1; \ rm -f $@-1 $@-2; \ fi # In a definition of #define AUTHORS "... and ..." where the RHS contains # the English word `and', the string must be marked with `N_ (...)' so that # gettext recognizes it as a string requiring translation. author_mark_check: @grep -n '^# *define AUTHORS "[^"]* and ' src/*.c |grep -v ' N_ (' && \ { echo 'Makefile.maint: enclose the above strings in N_ (...)' 1>&2; \ exit 1; } || : # Sometimes it is useful to change the PATH environment variable # in Makefiles. When doing so, it's better not to use the Unix-centric # path separator of `:', but rather the automake-provided `@PATH_SEPARATOR@'. # It'd be better to use `find -print0 ...|xargs -0 ...', but less portable, # and there probably aren't many projects with so many Makefile.am files # that we'd have to worry about limits on command line length. msg = 'Makefile.maint: Do not use `:'\'' above; use @PATH_SEPARATOR@ instead' makefile_path_separator_check: @grep -n 'PATH=.*:' `find $(srcdir) -name Makefile.am` \ && { echo $(msg) 1>&2; exit 1; } || : # Check that `make alpha' will not fail at the end of the process. writable-files: if test -d $(release_archive_dir); then :; else \ mkdir $(release_archive_dir); \ fi for file in $(distdir).tar.gz $(xd-delta) \ $(release_archive_dir)/$(distdir).tar.gz \ $(release_archive_dir)/$(xd-delta); do \ test -e $$file || continue; \ test -w $$file \ || { echo ERROR: $$file is not writable; fail=1; }; \ done; \ test "$$fail" && exit 1 || : v_etc_file = lib/version-etc.c sample-test = tests/sample-test texi = doc/$(PACKAGE).texi # Make sure that the copyright date in $(v_etc_file) is up to date. # Do the same for the $(sample-test) and the main doc/.texi file. copyright-check: @if test -f $(v_etc_file); then \ grep 'enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' $(v_etc_file) \ >/dev/null \ || { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \ exit 1; }; \ fi @if test -f $(sample-test); then \ grep '# Copyright (C) '$$(date +%Y)' Free' $(sample-test) \ >/dev/null \ || { echo 'out of date copyright in $(sample-test); update it' 1>&2; \ exit 1; }; \ fi @if test -f $(texi); then \ grep 'Copyright @copyright{} .*'$$(date +%Y)' Free' $(texi) \ >/dev/null \ || { echo 'out of date copyright in $(texi); update it' 1>&2; \ exit 1; }; \ fi vc-diff-check: $(VC) diff > vc-diffs || : if test -s vc-diffs; then \ cat vc-diffs; \ echo "Some files are locally modified:" 1>&2; \ exit 1; \ else \ rm vc-diffs; \ fi cvs-check: vc-diff-check maintainer-distcheck: $(MAKE) distcheck $(MAKE) my-distcheck # Don't make a distribution if checks fail. # Also, make sure the NEWS file is up-to-date. vc-dist: $(local-check) cvs-check maintainer-distcheck $(MAKE) dist # Use this to make sure we don't run these programs when building # from a virgin tgz file, below. null_AM_MAKEFLAGS = \ ACLOCAL=false \ AUTOCONF=false \ AUTOMAKE=false \ AUTOHEADER=false \ MAKEINFO=false built_programs = $$(cd src && MAKEFLAGS= $(MAKE) -s built_programs.list) warn_cflags = -Dlint -O -Werror -Wall -Wformat -Wshadow -Wpointer-arith bin=bin-$$$$ write_loser = printf '\#!%s\necho $$0: bad path 1>&2; exit 1\n' '$(SHELL)' # Use -Wformat -Werror to detect format-string/arg-list mismatches. # Also, check for shadowing problems with -Wshadow, and for pointer # arithmetic problems with -Wpointer-arith. # These CFLAGS are pretty strict. If you build this target, you probably # have to have a recent version of gcc and glibc headers. # The for-loop below ensures that there is a bin/ directory full of all # of the programs under test (except the few that are required for basic # Makefile rules), all symlinked to the just-built "false" program. # This is to ensure that if ever a test neglects to make PATH include # the build srcdir, these always-failing programs will run. # Otherwise, it is too easy to test the wrong programs. # Note that "false" itself is a symlink to true, so it too will malfunction. TMPDIR ?= /tmp t=$(TMPDIR)/$(PACKAGE)/test my-distcheck: $(local-check) $(release_archive_dir)/$(prev-tgz) check -rm -rf $(t) mkdir -p $(t) GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz cd $(t)/$(distdir) \ && ./configure --disable-nls \ && $(MAKE) CFLAGS='$(warn_cflags)' \ AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)' \ && $(MAKE) dvi \ && mkdir $(bin) \ && ($(write_loser)) > $(bin)/loser \ && chmod a+x $(bin)/loser \ && for i in $(built_programs); do \ case $$i in \ rm|expr|basename|echo|sort|ls|tr);; \ cat|dirname|mv|wc);; \ *) ln $(bin)/loser $(bin)/$$i;; \ esac; \ done \ && ln -sf ../src/true $(bin)/false \ && PATH=`pwd`/$(bin):$$PATH $(MAKE) -C tests check \ && $(MAKE) -C gnulib-tests check \ && rm -rf $(bin) \ && $(MAKE) distclean (cd $(t) && mv $(distdir) $(distdir).old \ && $(AMTAR) -zxf - ) < $(distdir).tar.gz diff -ur $(t)/$(distdir).old $(t)/$(distdir) if test -f $(srcdir)/src/c99-to-c89.diff; then \ cd $(t)/$(distdir) \ && (cd src && patch -V never --fuzz=0 $$md5_tmp; \ md5sum -c $$md5_tmp < $$tarz prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz # FIXME: stop distributing xdelta files in 2008, unless someone speaks up. # So far, not one person has said they'd miss this. xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta rel-files = $(xd-delta) $(DIST_ARCHIVES) gnulib-version = $$(cd $(gnulib_dir) && git describe) # Approximate the date of last gnulib "update" by the ChangeLog file's # mtime, and provide that date in the announcement. announcement: NEWS ChangeLog $(rel-files) @cl_date=$$(stat --printf @%Y $(gnulib_dir)/ChangeLog); \ utc_date=$$(date -u --date $$cl_date '+%Y-%m-%d %T %z'); \ ./build-aux/announce-gen \ --release-type=$(RELEASE_TYPE) \ --package=$(PACKAGE) \ --prev=$(PREV_VERSION) \ --curr=$(VERSION) \ --gpg-key-id=$(gpg_key_ID) \ --news=NEWS \ --bootstrap-tools=autoconf,automake,bison,gnulib \ --gnulib-version=$(gnulib-version) \ $(addprefix --url-dir=, $(url_dir_list)) ## ---------------- ## ## Updating files. ## ## ---------------- ## ftp-gnu = ftp://ftp.gnu.org/gnu www-gnu = http://www.gnu.org # Use mv, if you don't have/want move-if-change. move_if_change ?= move-if-change emit_upload_commands: @echo ===================================== @echo ===================================== @echo "$(srcdir)/build-aux/gnupload $(GNUPLOADFLAGS) \\" @echo " --to $(gnu_rel_host):$(PACKAGE) \\" @echo " $(rel-files)" @echo '# send the /tmp/announcement e-mail' @echo ===================================== @echo ===================================== $(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz xdelta delta -9 $^ $@ || : .PHONY: alpha beta major alpha beta major: $(local-check) writable-files test $@ = major \ && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \ || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\ || : $(MAKE) vc-dist $(MAKE) news-date-check changelog-check $(MAKE) $(xd-delta) $(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir) ln $(rel-files) $(release_archive_dir) chmod a-w $(rel-files) $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@ echo $(VERSION) > $(prev_version_file) $(VC) commit -m \ '$(prev_version_file): Record previous version: $(VERSION).' \ $(prev_version_file)